Click here to Skip to main content
13,504,533 members
Click here to Skip to main content
Add your own
alternative version


23 bookmarked
Posted 27 May 2002

Arabic Fast Print on Receipt Printers

, 28 May 2002
Rate this:
Please Sign up or sign in to vote.
Allows Arabic POS system developers to work the easiest way on thier receipt printers.

The main screen of the demo program.


This control is designed for those Arabic developers who are developing systems with receipt printers and want to print Arabic/English characters. This component does not use the graphic mode drivers supplied by the printer manufacturers.

It's fully tested over Citizen CBM series, and under testing on Epson TM series.

The control uses ESC commands which is the most common among several manufacturers of receipt printers.


We developed a POS software, and one of the problems we faced was how to print Arabic characters on the receipt printer without using the Windows drivers, and to print Arabic/English at the same line, and considering the language orientation. All this should be faster than that by the Windows graphic drivers.

So, we solved this problem. We developed a VC++ code and solved the problem in a genius way. And for other developers, we made an ActiveX control to deal with the receipt printers.


The main features:

The developer can use the character set(s) downloaded into the printer, but how to avoid that headache?

  1. It's ActiveX control, can be embedded into any other development language.
  2. It uses the common ESC commands for the printers, so it can work with many printer brands.
  3. It works, even if the desired language character set is not downloaded into the printer ROM. We printed Arabic on a Citizen receipt printer in CBM printers center in Japan where: No Arabic character set on the printer, no windows OS supporting Arabic!!
  4. It's not just Arabic, it can print any other language characters. First, we download the characters into the ActiveX. Besides English.
  5. It's not required that the Windows operating system support that language at all. We print Arabic characters using Citizen receipt printers & Epson on Citizen Japan Ltd. on Windows computer with JP Languages!
  6. It's so easy to use, all the user has to do:
    1. Insert the ActiveX in to his program.
    2. Control.Open (The COM port used here / LPT port).
    3. Choose the Character Mode (32 International characters, or extended 79 characters for Arabic figures).
    4. Load characters (once the control is open).
    5. Choose the language to print and print whatever you want.
    6. User can: print empty line, change orientation, skip line(s), print with/out line feeds, ...

    And at the end of program, just do close the control.

Sample code:

// The activeX control name is: PrnX for example
void InitPrn (CString pComPort)
    PrnX.OpenPort (pComPort);
    PrnX.Reset(); //Rest the printer

    //1 = 79 Figures(extended mode for Citizin CBM printers and similars)
    //2 = 32 Figures(restricted mode for Epson & 32
    //       International characters only)
    PrnX.SetChMode (1);

    //Initialize the printer status & buffer

    //Load the international characters into the printer


void PrintText (CString pText, short pAllignment)
     // Left, Center, Right PrnX.SetAllignment (pAllignment);

     //vLines = Number of empty lines after the print operation. Can be Zero
     short vLines = 2;  

     // Print now as you want.
     // pText may be " any local/english text here
     // -arabic version here- " PrnX.CBMPrint (pText, vLines);

     //And can use PrnX.FeedLine(vLines) also

     //And can do PrnX.CutSheet() to cut the paper if the printer support it

void ClosePrnPort ()

It's so simple, and very small in size.

If any one wants a demo, we are happy to send the demo version immediately. (Arabic characters exist now, other languages upon request.)


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Tarek Eslim
Palestinian Territory (Occupied) Palestinian Territory (Occupied)
No Biography provided

You may also be interested in...


Comments and Discussions

QuestionArabic Fast Printing in Receipt Printers Pin
Member 1290163512-Dec-16 22:34
memberMember 1290163512-Dec-16 22:34 
GeneralWarning: Commercial demo - Not quite the CodeProject way! Pin
Member 1240989722-Mar-16 6:28
memberMember 1240989722-Mar-16 6:28 
GeneralRe: Warning: Commercial demo - Not quite the CodeProject way! Pin
Member 1147905031-Mar-16 5:26
memberMember 1147905031-Mar-16 5:26 
GeneralRe: Warning: Commercial demo - Not quite the CodeProject way! Pin
TheOtherCritic14-Apr-16 1:40
memberTheOtherCritic14-Apr-16 1:40 
Questionhow to print to usb printer Pin
tsalim31-Aug-14 20:05
membertsalim31-Aug-14 20:05 
QuestionArabic Fast Print on Receipt Printers Pin
Member 104927082-Jan-14 2:47
memberMember 104927082-Jan-14 2:47 
GeneralBaud Rate Pin
mikeeball15-Feb-11 2:19
membermikeeball15-Feb-11 2:19 
QuestionArticle Source Code Pin
CDRom19-Oct-07 8:47
memberCDRom19-Oct-07 8:47 
QuestionEpson TM-T88 Compatible Pin
lukejarvis4-Sep-07 20:19
memberlukejarvis4-Sep-07 20:19 
QuestionCan you help me to assign a character table on my EPSON TM-U210A? Pin
dima_sergei@tut.by14-Oct-04 2:16
memberdima_sergei@tut.by14-Oct-04 2:16 
QuestionHow can I add a ESC command? Pin
Jason648828-Mar-04 18:51
memberJason648828-Mar-04 18:51 
QuestionThe control is not working even with written code??? Pin
Mohammed Elian9-Dec-03 23:49
memberMohammed Elian9-Dec-03 23:49 
Generalarabic support Pin
Anonymous15-Oct-03 20:18
sussAnonymous15-Oct-03 20:18 
Generalcorrupt file Pin
salem18-Nov-02 2:16
susssalem18-Nov-02 2:16 
GeneralRe: corrupt file Pin
Tarek Eslim19-Nov-02 2:53
memberTarek Eslim19-Nov-02 2:53 
General7elwaaa... Pin
Anonymous22-Sep-02 9:45
sussAnonymous22-Sep-02 9:45 
GeneralRe: 7elwaaa... Pin
Anonymous5-Mar-03 5:05
sussAnonymous5-Mar-03 5:05 
Generalquestionable approach Pin
Claudius Mokler28-May-02 21:26
memberClaudius Mokler28-May-02 21:26 
GeneralRe: questionable approach Pin
Anonymous29-May-02 7:35
memberAnonymous29-May-02 7:35 
GeneralRe: questionable approach Pin
Paul Belikian8-Jun-02 12:45
memberPaul Belikian8-Jun-02 12:45 
GeneralBad link... Pin
jack Mesic28-May-02 14:53
memberjack Mesic28-May-02 14:53 
GeneralRe: Bad link... Pin
Tarek Eslim29-May-02 3:09
memberTarek Eslim29-May-02 3:09 
GeneralRe: Bad link... Pin
BABABIKHIAL14-Nov-08 20:16
memberBABABIKHIAL14-Nov-08 20:16 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.180417.1 | Last Updated 29 May 2002
Article Copyright 2002 by Tarek Eslim
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid