我有一个用VB6编写的旧程序。 我试图让它在Windows 8.1上正常工作。
除了将希伯来语文本发送到打印机外,一切正常。 打印机打印“???”而不是希伯来字符。 很明显,这是一个编码问题,但我找不到解决它的方法。 该程序在Windows 7上运行没有任何问题!
相关代码:
Printer.Font.Charset = 177 'Hebrew encoding
Printer.Print "<text in Hebrew>"
Printer.EndDoc
如果有人有建议,我会非常感激。 谢谢!
答案 0 :(得分:1)
通常意味着使用的字体没有这些字符。 Arial有像גּוּלּ֧֧֧֯这样的东西。
object.FontName [= font]
FontName属性语法包含以下部分:
部分描述
object一个对象表达式,其值为“应用于”列表中的一个对象。
font一个字符串表达式,指定要使用的字体名称。
说明
此属性的默认值由系统确定。 Visual Basic提供的字体因系统配置,显示设备和打印设备而异。字体相关属性只能设置为存在字体的值。
通常,在使用FontSize,FontBold,FontItalic,FontStrikethru和FontUnderline属性设置大小和样式属性之前,应更改FontName。
答案 1 :(得分:1)
您可能需要将Language for non-Unicode programs
设置为希伯来语。在Win 8中,您可以像this一样进行操作。