How does BuildVu handle fonts?

When creating PDF files, authors may choose which fonts to embed inside the PDF file.

Most PDF files contain embedded fonts because it ensures a consistent appearance across platforms, though it is also common to avoid embedding common fonts such as Times New Roman because it reduces the PDF filesize.

Some font licenses are permissive (such as SIL Open Font License), whilst other licenses are more restrictive. There is no reliable way to tell programmatically what license a font has. Many font licenses pre-date the internet, which means there is often no clear answer as to what is or is not allowed.

BuildVu handles fonts differently depending on which Text Mode is used.

In shapetext_nonselectable modes, BuildVu displays a flattened version of the fonts which avoids writing out any font files. Text selection not possible in this mode.

In shapetext_selectable modes, BuildVu displays a flattened version of the fonts in addition to writing out a license-safe version of the fonts which is used for text selection purposes. The license-safe version of the fonts contains only width information.

In realtext modes, BuildVu writes out any embedded font files as part of the conversion.

When PDF files use fonts that are not embedded, BuildVu will use one of the following open-source fallback fonts: Liberation Serif, Liberation Sans, Noto Sans Condensed, Noto Sans Symbols2, Tex Gyre Cursor, GNU Unifont, Anton.

When embedded fonts are shared by multiple pages in the PDF file, BuildVu will only write out a single copy of the font.

If BuildVu writes out multiple font files with similar names it is because the PDF file stores different versions of the font with the same name or because the font maps multiple glyphs onto the same extraction value (which requires a new copy of the font).