Hardware guide
Receipt printer not printing Arabic? Why it happens and how to fix it
A receipt printer prints Arabic as question marks or broken letters when the software sends text the printer's built-in font cannot draw. Arabic letters must also join and run right to left, which a printer's text mode does not handle. The fix is to send the receipt as a picture, or to print through the printer's Windows driver.
Why does a receipt printer print Arabic as question marks?
A thermal receipt printer has its own fonts built in. When software prints text, it sends character codes, and the printer looks each code up in the character table that is selected at that moment, called the code page. If that table has no Arabic letters, or the software sends codes from a different table, each Arabic letter comes out as a question mark or as a random symbol.
That is why the same printer can print English perfectly and Arabic as nonsense: the English letters are in every table, and the Arabic ones are not.
Why is Arabic harder than other languages on a receipt printer?
- An Arabic letter changes shape with its position: the same letter has one form at the start of a word, another in the middle, another at the end, and another standing alone.
- Letters join their neighbours, and some pairs, such as lam and alef, combine into one shape.
- Arabic runs right to left, while numbers and Latin words inside it run left to right, so each line has to be put in order before it is printed.
- Some printers do carry an Arabic code page, but a code page holds letters, not the rules for joining and ordering them. Software that sends Arabic as plain codes can still print separate or reversed letters.
What are the ways to print Arabic correctly?
| Method | How it works | What to watch |
|---|---|---|
| Print the receipt as a picture | The software draws the whole receipt, with Arabic joined and ordered by a proper text engine, and sends it to the printer as an image | The picture must be exactly as wide as the printer prints, and it is more data, so it is slow over a serial cable |
| Print through the Windows driver | A browser or a program prints a page, and the printer's Windows driver turns it into dots | It depends on the maker's driver, and the margins and paper size must be set for a narrow roll |
| The printer's Arabic code page | The software joins and orders the text itself, then sends codes from the printer's Arabic table | Only some models have one, each model differs, and it is hard to get right |
How does PointLit print Arabic receipts?
PointLit uses the first two methods. From version 0.8.0, the PointLit Windows app prints the whole receipt as one picture when the receipt printer is connected as Printer installed in Windows and a Paper roll is chosen on that till. The picture is drawn exactly as wide as that till's printer prints, so Arabic product names, your logo and the bill's barcode come out as the Receipt preview shows them. The till's other slips, such as the refund slip and the Z report, print the same way.
In a web browser, PointLit prints through the print dialog and the printer's Windows driver, so Arabic prints there too. Barcode labels always print as pictures, and on-screen and emailed receipts are fully Arabic. The help article on 58 and 80 mm receipt printers covers the setup step by step.
What should you check when Arabic prints wrong in PointLit?
| What you see | Why | What to do |
|---|---|---|
| Question marks instead of Arabic | The till is on a version older than 0.8.0 | Install the latest PointLit Windows app from the Downloads page |
| Question marks instead of Arabic, on a new version | No Paper roll is chosen on this till yet | Open Settings, then Printer, and choose 58 mm, 80 mm or Custom under Paper roll |
| Question marks, with the printer on a COM port | A printer on a serial port gets text, because a picture is too slow over a serial cable | Install the printer in Windows with the maker's driver, then choose Printer installed in Windows |
| Garbled symbols, even in English, on a serial printer | The baud rate does not match the printer | Open Advanced and change the Baud rate: some printers ship set to 38400 instead of 9600 |
| The right side of the receipt is cut off | The width chosen on the till is wider than the printer prints | Press Print a width check, then choose Custom with the number the ruler shows, or 58 mm |
| A shared printer refuses the receipt | The computer the printer is plugged into uses a Microsoft or generic driver | Install the maker's own driver on that computer and share the printer again |
Which receipt printer should you buy for Arabic receipts?
The hardware page lists the devices PointLit works with. For Arabic receipts, look for these points.
- A 58 or 80 mm thermal receipt printer that Windows can install with the maker's own driver. 80 mm leaves room for long Arabic product names, sizes and colours.
- A USB connection, or a printer shared from another computer in the shop, rather than a serial port, so the PointLit Windows app can send the receipt as a picture.
- A cash drawer that plugs into the printer, because the drawer opens through the printer.
- Before you buy, print a test receipt with an Arabic product name, or send the printer's make and model to support@pointlit.com.
Questions and answers
- Do I need a printer with Arabic support?
- Not with the PointLit Windows app from version 0.8.0 and a printer installed in Windows. The receipt reaches the printer as a picture, so the printer's own fonts are not used for the text, and Arabic prints as the Receipt preview shows it.
- Why does Arabic print from the browser but not from the Windows app?
- In the browser, the printer's Windows driver draws the page. The Windows app prints the receipt as text, with Arabic as question marks, in three cases: a version older than 0.8.0, no Paper roll chosen on that till, or a printer on a serial port.
- Is printing a picture slower?
- A receipt picture is about 100 KB. Over a serial cable at the usual 9,600 baud that takes more than a minute and a half, so PointLit sends text to serial printers and pictures to printers installed in Windows.
- Do barcode labels have the same problem?
- No. PointLit draws every label as a picture, so Arabic product names print correctly on labels from the Windows app and from the browser.
- Can I change the font size on the receipt?
- Yes. Open Manage, then Business, and under Receipt template choose the Font size and the Font weight. Sizes other than Normal print on tills from version 0.8.0 with the printer installed in Windows; other tills print Normal size.
Print Arabic receipts your customers can read
Registration is closed for now. Leave your details and we will tell you the moment it opens.
Request early access