打印泰语
Print Thai language
我有一个使用 ESC/POS 将收据打印到收据打印机的应用程序。它需要支持泰语。
当我尝试打印泰语时,一些字符被分开,就像这张照片:
这是我的代码:
printMSG = Command.ESC + "t" + Command.DecimalToCharString(27);
port.Write(printMSG);
var enc = Encoding.GetEncoding("windows-874");
string content = "ข้าวผัดอินโดนีเซียกับเครื่องเทศแบบดั้ง";
byte[] bytes = enc.GetBytes(content);
port.Write(bytes, 0, bytes.Length);
我不知道。请帮我。会是一个生命的救星。
泰语被称为三通语言。
即分别打印顶线、中线和底线。
例如รื่有顶部和中间字符,你必须在每一行打印它们,从你的图片来看,这些字符打印在底部,因此作为顶部行。
再比如ดั้,有双顶字符,需要在代码页中查找字符。
还有其他底部字符,这些字符将打印在顶部,因此作为底部行。
做一些测试,你会得到它。
使用命令模式打印需要硬件的支持(在我的例子中是 Star Micronics)。我 运行 遇到了同样的问题,只能通过将整个内容光栅化为位图然后打印整个位图来解决它。
这是我在上面的评论中描述的图片。
我写了一个简单的 For..Next 循环来打印泰语代码页中的字符。
从我的图片中,我突出显示了代码页中的双字符和泰文字符的字符号。
此外,第三个打印输出显示我的代码打印出泰语句子,每个泰语句子三行。第一句和第三句共三行。
我有一个使用 ESC/POS 将收据打印到收据打印机的应用程序。它需要支持泰语。
当我尝试打印泰语时,一些字符被分开,就像这张照片:
这是我的代码:
printMSG = Command.ESC + "t" + Command.DecimalToCharString(27);
port.Write(printMSG);
var enc = Encoding.GetEncoding("windows-874");
string content = "ข้าวผัดอินโดนีเซียกับเครื่องเทศแบบดั้ง";
byte[] bytes = enc.GetBytes(content);
port.Write(bytes, 0, bytes.Length);
我不知道。请帮我。会是一个生命的救星。
泰语被称为三通语言。 即分别打印顶线、中线和底线。
例如รื่有顶部和中间字符,你必须在每一行打印它们,从你的图片来看,这些字符打印在底部,因此作为顶部行。
再比如ดั้,有双顶字符,需要在代码页中查找字符。
还有其他底部字符,这些字符将打印在顶部,因此作为底部行。
做一些测试,你会得到它。
使用命令模式打印需要硬件的支持(在我的例子中是 Star Micronics)。我 运行 遇到了同样的问题,只能通过将整个内容光栅化为位图然后打印整个位图来解决它。
这是我在上面的评论中描述的图片。 我写了一个简单的 For..Next 循环来打印泰语代码页中的字符。 从我的图片中,我突出显示了代码页中的双字符和泰文字符的字符号。
此外,第三个打印输出显示我的代码打印出泰语句子,每个泰语句子三行。第一句和第三句共三行。