PDFs usually embed a subset of a font — only the characters that document actually uses. If you type a character that was never in the original, there is no glyph available to draw it. At that point an editor either substitutes a different font, which changes how the text looks, or tells you. Most substitute silently.
Why this happens
A full typeface can carry thousands of glyphs. A three-page invoice might use eighty of them. So almost every PDF generator embeds a subset: just the characters on the page, and nothing else. It is the right call — it is why PDFs are small enough to email — and it is invisible until the moment you try to edit.
Then it bites. You retype a client’s name and it now contains an é the document never had. You add a currency symbol that was not in the original. There is simply no glyph in the file for that character, and no amount of clever code conjures one from a subset that does not contain it.
This is the moment that separates editors. The tempting move is to substitute — quietly swap in a font that has the character and hope the difference is small enough to pass. Sometimes it is. Often you get one line in a slightly different typeface, sitting inside an otherwise perfect document, and you do not notice until a client does.
How Online PDF Edits handles it
When every character of your new text already has a glyph in the document’s embedded font, we reuse that font. Your text is drawn with the same glyphs, at the same size, from the same font object — so it is not "close to matching", it is the same font, and the edit stays an incremental append.
When a character is missing, we do not guess. We subset and embed a metric-similar fallback and tell you which font was substituted, so the decision is visible and yours. An edit that silently looks wrong is worse than one that says something — you only find the first kind after you have sent the document.
The specifics
| Font used for your new text | The document’s own embedded font, whenever the glyphs exist |
|---|---|
| When a glyph is missing | A matching fallback is embedded and named in the response |
| Silent substitution | Never — the substitution is always reported |
| Private-use glyph handling | F000-offset (PUA) codes normalised back to real Unicode |
Limitations
- A fallback font is metric-similar, not identical. Where one is used, the substituted run can differ subtly from the original typeface — which is exactly why we name it rather than hide it.
- An edit that needs a fallback is saved as a full re-serialise, not an incremental append, because a new font object has to be attached to the page.
- Right-to-left text and complex scripts are handled conservatively; this editor targets left-to-right runs.
Don’t take our word for any of this. Edit the sample invoice, export it, then select the line you changed and copy it — you should get your new wording, not the old. Compare the export against the original and see what moved.
Every claim in this reference is written from the code that implements it, and every number is measured rather than estimated. The parts you can verify without trusting us are the ones we put in front of you.