Windows 8.1上的VB6程序无法使用Printer.Print打印希伯来语

时间:2014-07-25 07:54:26

标签: encoding printing vb6 windows-8.1

我有一个用VB6编写的旧程序。 我试图让它在Windows 8.1上正常工作。

除了将希伯来语文本发送到打印机外,一切正常。 打印机打印“???”而不是希伯来字符。 很明显,这是一个编码问题,但我找不到解决它的方法。 该程序在Windows 7上运行没有任何问题!

相关代码:

Printer.Font.Charset = 177 'Hebrew encoding
Printer.Print "<text in Hebrew>"
Printer.EndDoc

如果有人有建议,我会非常感激。 谢谢!

2 个答案:

答案 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一样进行操作。