Multilingual PDFs: Font Embedding Pitfalls
Multilingual PDFs break when the fonts are not embedded. You get boxes where characters should be, the wrong script, and print failures. Embed the fonts and test the export on a machine that does not have them installed.
By Rehan Baqir
A multilingual PDF shows boxes, broken joining, or the wrong script when the font for that text is not inside the file. Word's own PDF export can embed fonts if that option is on. The browser Word to PDF tool on this site does not. It writes the extracted text in Helvetica. Defaults vary, and a file that looks fine on your Mac can fail on a Windows laptop that does not have Nastaliq or the CJK face you used. One font rarely covers every script. Subsetting a full CJK or multi-weight Nastaliq family can add 3 to 10 MB even on a short document, and Compress PDF shrinks images, not those vector outlines. Test on a phone or a clean machine before you send the file.
A proposal that mixes English, Urdu, and simplified Chinese can lose the Urdu on a client's Windows laptop: hollow rectangles, while the Chinese survives. That happens when Noto is embedded for CJK and someone assumes "Arial Unicode" will cover Nastaliq.
These files fail quietly. Embedding is not automatic, even when the preview on your own machine looks finished.
How PDF fonts work
A PDF stores text as glyph references, plus optional embedded font programs. A viewer renders with:
- The embedded font, which is reliable
- A system substitute, which is unreliable across scripts
- Failure, which looks like tofu: □□□
Scripts with the highest risk
| Script | Common pitfall | | --- | --- | | Arabic / Urdu | Joining forms need the correct OpenType features | | Devanagari (Hindi) | Missing matras when the font is wrong | | CJK | GB versus Big5 legacy encodings | | Thai | Combining-mark spacing | | Emoji | Color glyph layers get dropped |
One font rarely covers everything. Stack a font per script in the source document.
Embedding checklist
- [ ] Export setting: embed all fonts, or ISO 19005 PDF/A if you are archiving
- [ ] The license allows embedding (some desktop fonts forbid it)
- [ ] The subset includes every diacritic you used
- [ ] Bold and italic are separate embedded faces, not faux bold
- [ ] No "standard 14" PDF fonts for non-Latin text. Times will not save Urdu.
The longer walkthrough is Embedding Fonts When Exporting Word to PDF.
Word, InDesign, Google Docs
Word: Options, then Save, then embed fonts in the file. Export the PDF with the setting aimed at printing.
InDesign: preflight font embedding, and export to a PDF/X standard when the job needs it.
Google Docs: the font list is limited. A complex script may need a finish in Word or InDesign.
Use Word to PDF and check the output.
Web fonts in generated PDFs
A headless Chrome PDF printed from HTML needs the @font-face fonts loaded before print. If you do not wait, the PDF gets the fallback fonts.
File size trade-offs
A full CJK subset adds megabytes. Run Compress PDF only after you have confirmed the glyphs. For a scanned multilingual document, see OCR Before Compression.
Accessibility
A tagged PDF can set a lang attribute per block. See PDF Accessibility Basics. A screen reader then picks a voice for that language.
Legal and government filings
Some courts require PDF/A with embedded fonts only. Run a preflight tool before you upload.
Legal PDF Page Numbering is a different problem with the same filing deadline. Test the packet in the portal preview, fonts included.
Student submissions
Student Assignment PDF: a bilingual essay still needs proof that the fonts are embedded.
Right-to-left (RTL) layout
Arabic and Urdu need RTL paragraph direction in the source. Embedding the font does not repair an LTR layout whose glyphs no longer join. Test bidirectional text that mixes numbers and Latin, which is common on invoices.
Font subsetting and file size
A CJK document can reach 20 MB or more from subsetting alone. Consider a split by chapter or by language section. Run Compress PDF after you have verified the subset.
Google Noto family strategy
Noto Sans, Noto Nastaliq Urdu, and Noto Sans CJK as a stack cover many scripts. Confirm the license allows embedding in a commercial PDF you send to clients.
Worked example: exporting a bilingual English and Urdu invoice to PDF
- Set paragraph direction. Keep the English item-description column left to right (LTR). Set the Urdu translation column explicitly to right to left (RTL), using
Noto Nastaliq UrduorJameel Noori Nastaleeq. - Embed fonts and keep the OpenType ligature tables. Export with Word's native Save As PDF, with font embedding enabled, or with an InDesign PDF export. A generic print driver can strip the contextual glyph-joining tables.
- Cold-device test. Open the PDF on a phone, or on a clean Windows VM that does not have your Urdu font installed. Connected letters should join. Isolated characters or
□□□tofu boxes mean the embed failed.
Limitations
Subsetting a full CJK (Chinese, Japanese, Korean) or multi-weight Nastaliq font family can add 3 to 10 MB to a PDF even for a short document. Glyph outlines are vector paths, not raster photos. Compress PDF shrinks embedded images. It does not shrink the font subsets.
Conclusion
Embed a licensed font for each script. Open the PDF on a machine that is not yours.
Tofu boxes mean someone assumed the fonts travel with the file. They travel only when they are embedded. Open the Urdu on Windows before the client does.
Frequently Asked Questions
Common questions answered to help you get the most from this tool.