Issuing certificates in Arabic and other right-to-left languages

Right-to-left text does not simply flow the other way. Half the problems appear only after the PDF is generated.
Issuing certificates in Arabic, Hebrew, Urdu or Persian is not a matter of translating the labels. Right-to-left scripts change how text is shaped, ordered and laid out, and most of the failures appear only once a PDF has been generated: which is to say, after a learner has already received it.
The three problems, in order of how often they bite
1. The font does not contain the glyphs. The commonest failure by far. A template using a Latin-only typeface renders Arabic as empty boxes, or silently substitutes a fallback that looks nothing like the rest of the design. Before anything else, confirm the font embedded in your template actually covers the script.
2. Text is not shaped. Arabic letters change form depending on position within a word, and adjacent letters join. A renderer that draws characters individually produces text that is technically correct and completely unreadable to a native speaker. This is the failure most likely to survive review by a team that does not read the language.
3. Mixed direction breaks ordering. A certificate almost always mixes scripts, an Arabic name beside a Latin course code, or a date in Western numerals. Without proper bidirectional handling, the segments render in the wrong order, and a certificate number can appear reversed.
Layout, not just text
Once the text renders, the layout needs attention.
- Alignment flips. Right-to-left content aligns right. A centred design mostly survives; a left-aligned one looks broken.
- Line length differs. Arabic translations of the same phrase are frequently shorter than English, occasionally much longer. Fixed-width fields that fit English will overflow or look sparse.
- Vertical metrics differ. Arabic scripts need more line height than Latin at the same point size. Tight leading causes diacritics to collide with the line above.
- The QR code does not flip. A QR is not directional. If your layout mirrors for RTL, make sure the code is positioned deliberately rather than mirrored into an odd corner.
Names deserve particular care
The recipient's name is the one field that must be right. Decide explicitly whether to print it in the original script, in Latin transliteration, or both: and be consistent, because a name that appears one way on the certificate and another on the verification page looks like a mismatch to a verifier.
Where the certificate will be presented internationally, printing both is usually safest: the original script for the holder, transliteration for a reader who cannot read it.
A pre-flight checklist
- Issue one test certificate with a real Arabic name, not placeholder text.
- Have a native reader confirm the letters join correctly and read naturally.
- Check a mixed-direction line, an Arabic name next to a Latin certificate number.
- Confirm the longest plausible name does not overflow its field.
- Open the verification page and check the name renders identically there.
- Scan the QR from a printed copy, not just on screen.
The reason to do this before the first batch rather than after is simple: a certificate with mangled text is not a cosmetic problem to the person whose name is on it. It reads as carelessness about them specifically, and reissuing does not fully undo that.
