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
LVL 6
townsmaAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

SandeepSr System AdministratorCommented:
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.
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.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
townsmaAuthor Commented:
This is the official solution form Epson Thailand.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.