Solved

How to Print Thai Characters using OPOS

Posted on 2014-01-07
4
803 Views
Last Modified: 2014-01-14
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
Comment
Question by:townsma
  • 2
  • 2
4 Comments
 
LVL 12

Expert Comment

by:Sandeep
ID: 39765365
0
 
LVL 12

Expert Comment

by:Sandeep
ID: 39765385
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
 
LVL 6

Accepted Solution

by:
townsma earned 0 total points
ID: 39770189
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
 
LVL 6

Author Closing Comment

by:townsma
ID: 39778801
This is the official solution form Epson Thailand.
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

In my previous article (http://www.experts-exchange.com/Programming/Languages/.NET/.NET_Framework_3.x/A_4362-Serialization-in-NET-1.html) we saw the basics of serialization and how types/objects can be serialized to Binary format. In this blog we wi…
Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now