打印泰语

时间:2018-12-31 08:09:48

标签: c# escpos

我有一个使用ESC / POS将收据打印到收据打印机的应用程序。它需要支持泰语。

当我尝试打印泰语时,某些字符正像这张照片一样被分开:

photo

这是我的代码:

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); 

我不知道。请帮我。会成为救生员。

3 个答案:

答案 0 :(得分:4)

泰语称为三关语言。 这意味着分别打印顶行,中间行和底行。

例如รื่具有顶部和中间字符,您必须在每行上打印它们,而在图片中这些字符是在底部打印,因此在顶部显示。

对于另一个示例ดั้,它具有双顶字符,则需要在代码页中查找该字符。

还有其他底部字符,这些字符将打印在顶部,因此是底行。

进行一些测试,您会得到它。

答案 1 :(得分:3)

使用命令模式打印需要硬件(在我的情况下是Star Micronics)的支持。我遇到了同样的问题,只能通过将整个内容光栅化为位图,然后打印整个位图来解决。

答案 2 :(得分:1)

enter image description here

这是我上面评论中所描述的图片。 我编写了一个简单的For..Next循环,以打印出泰语代码页中的字符。 从我的图片中,我突出显示了代码页中的双字符和泰式字符的字符号。

此外,第三个打印输出显示了我的代码,打印出泰文句子,每个泰文句子三行。第一句和第三句有三行。