Printing Urdu on a thermal receipt printer
Published , updated
Thermal printers cannot print Urdu as text. Their built in character set holds Latin letters, digits and a few line drawing symbols, and nothing else. Send Urdu to one as text and it prints a row of question marks or empty boxes, one for every character it could not match.
The way around it is to stop sending text. Urdu is rendered into a small image first, and the image is sent to the printer as raster data. The printer is not asked to understand Urdu at all. It is asked to darken dots, which is the only thing it ever really does.
Why this matters at the counter
The person who benefits is in the kitchen, not at the till. A cook reading
Chicken Karahi off a ticket is translating in their head on every order. A cook
reading چکن کڑاہی is not.
That is why this belongs on the kitchen ticket specifically. The customer receipt stays in English, where the numbers are what matter and both languages read the same.
What it looks like in practice
A kitchen ticket with both scripts on it:
- 2Chicken Karahiچکن کڑاہی
- 4Rotiروٹی
- 2Chaiچائے
The English is text. The Urdu beside it is an image, placed in its own column. On paper you cannot tell the difference, which is the point.
What you have to do
Enter the Urdu name for an item once, when the menu is set up. Items without an Urdu name print in English only, so there is no half finished state and nothing breaks if you only translate the twenty items that actually get shouted across a kitchen.
Nothing else changes. The printer does not need special firmware, an Urdu font or a particular brand. Any standard 58mm or 80mm thermal printer will do it, because the printer is only ever receiving dots.
The honest limits
Images print slower than text. On a long ticket you will notice a fraction of a second more. That is the whole cost.
Urdu also does not appear anywhere else. Not on the customer receipt, not in the admin panel, not on the online menu. The kitchen ticket is the one place it earns its keep, and spreading it further would be work with nothing behind it.
Questions
Can a thermal printer print Urdu?
A thermal printer cannot print Urdu from its built in character set, because that set holds Latin letters and line drawing symbols only. Urdu prints correctly when it is sent to the printer as an image instead of as text.
Why does Urdu come out as question marks or boxes?
Question marks and boxes mean the printer received Urdu as text and had no character to match. The printer substitutes a placeholder for every character it does not hold, which is why the whole line looks wrong rather than part of it.
Should the customer receipt be in Urdu too?
The customer receipt is usually clearer in English, because prices and totals read the same way in both languages. Urdu earns its place on the kitchen ticket, where the person reading it is cooking rather than checking a total.
Ask about your own shop
Every shop is set up by hand, so the first step is a conversation. If this will not fit what you do, we will tell you.