Arabic invoices that print correctly
Mirroring the page is the easy half.
Nothing is corrupted. The text is being reordered as it is drawn.
Rule 1 — isolate every Latin and numeric string
Each is a left-to-right island. Isolate it explicitly.
Rule 2 — mirror the whole document, not the text
Set direction once on the container and let the layout flip.
Rule 3 — embed a font with a real Arabic cut
Embed the font. Do not rely on the server's installed fonts.
Rule 4 — Arabic needs different typographic settings
- More line height: roughly 1.6–1.8.
- No italics, no letter-spacing.
- Use size and colour for hierarchy, not bold.
Rule 5 — decide the bilingual structure deliberately
Side by side for short fields, stacked blocks for paragraphs.
Test with the ugliest data you have, not the demo invoice.
One compliance warning
Redesign around the mandated fields, never through them.
Want your invoice redesigned properly?
Four to ten hours, reviewed against the compliance requirements.