• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1079
  • Last Modified:

How to Print Thai Characters using OPOS

I am using the Microsoft Point of Service option to allow our POS application to print to OPOS compatible printers.  And generally it works well.  However, we have a customer that wishes to print Thai characters.

The printer I purchased for them is the Asian variant of the TM-U220A.  According to the specifications. this have the Thai character set built in.  However, when I send Thai characters, they do not print I get the ? unknown character printed instead.

I am using the Epson OPOS.Net ADK, and it also says I can print in Thai, but when I check the printer settings, the list of code pages does not include the Thai one.

All the documentation tells me this should work, but it doesn't.  Can anyone help?

Thanks
0
townsma
Asked:
townsma
  • 2
  • 2
1 Solution
 
SandeepSr System AdministratorCommented:
0
 
SandeepSr System AdministratorCommented:
Please also make sure you have got the correct set of drivers installed for your Printer on the PC. Also make sure there is regional language installed on your Machine from where you are giving the print command. In Control Panel->Regional Settings you will get Language option.
0
 
townsmaAuthor Commented:
Thanks for the feedback, but actually POS printers are text printers.  The regional settings in Windows has no impact on what they print.

I finally managed to get hold of someone in Epson Thailand, as I guessed this is a problem other Thai developers would have.

It turns out the solution is quite complex, and to make matters worse the only documentation on how the resolve it, is only available in Thai.

For other that may also come across this problem, the solution is as follows.

As your request is “Thai printing with OPOS.NET”

So, please use this command:
Chr(27) & Chr(116) & Chr(21) & Chr(&HBE) & Chr(&HD4) & Chr(&HC1) & Chr(&HBE) & Chr(&HEC) & Chr(&HE4) & Chr(&HB7) & Chr(&HC2)

Or how : Programming .Net
1.      To define the language Generally, it is defined as follows: Code table.
                Chr(27) & Chr(116) & Chr(20) : KU42 (¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿)
                Chr(27) & Chr(116) & Chr(21) : TIS11 (¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿.988)
                Chr(27) & Chr(116) & Chr(26) : TIS18 (¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿.¿¿¿¿¿¿)
      2.    Programming. NET Code table only if required to type in Thailand will not be available.
The print job can not be printed out as Thailand. But turns out to be a mark ???  Instead, as show
                           
3.      Please insert below source code for convert to Binary ( Remind : Insert behind code table refer step 1)
           Chr(&HBE) & Chr(&HD4) & Chr(&HC1) & Chr(&HBE) & Chr(&HEC) & Chr(&HE4) & Chr(&HB7) & Chr(&HC2)
               
                    4.  Result are can print Thai
                                             
I have not actually got this going yet, but this is what I received from Epson.

In addition to this you have to realign the characters, as in Thai, vowels are stacked on top of other letters.  Meaning a three pass system is required to printer the upper row of vowels, then the main row of characters, then the lower row, again I have been sent some Thai instructions on how to do this, but I have not worked them out yet.

If anyone want a copy please send me a private message and I will send the all the material I have.
0
 
townsmaAuthor Commented:
This is the official solution form Epson Thailand.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now