Load a font file (.otf, .ttf, .pfb) and associate it with an internal name. If a glyph is not found in the font file, an error will be raised (this can be configured via the Options command). You can specify fallbacks as a child element of Loadfontfile.

Child elements


Parent elements

Case, ForAll, Include, Layout, Loop, Otherwise, Until, While


features (text, optional, since version 3.9.29)

A comma separated list of OpenType features, such as +liga,-kern

filename (text)

The name (with extension) of the font file.

marginprotrusion (0 up to 100, optional)

The amount of protrusion glyphs like -, . and - stick into the right margin. Highly font dependent. Defaults to 0.

mode (optional, since version 3.9.29)

Set the shaping mode of the font. Defaults to harfbuzz.


The old and well tested font handler. Renders western scripts well, but no right-to-left or other complex scripts.


The new renderer that will eventually handle all scripts including right-to-left.

name (text)

The internal name of the font file. To be used within DefineFontfamily.

oldstylefigures (optional)

Use oldstyle figures if the font includes them. (OpenType feature »onum«)


Use oldstyle figures.


Use lining figures.

smallcaps (optional)

Use small caps glyphs when the font supplies them.


Use small caps for this font.


Don’t switch to small caps (default).

space (0 up to 100, optional)

The natural width between words. Can be stretched by 30% and shrunk by 10%. Defaults to 25. The value is a percentile of the font size.



The fonts are optionally taken from the local search path. On Windows the path %WINDIR%\Fonts (usually C:\Windows\Fonts) and on Mac OS X the paths /Library/Fonts and /System/Library/Fonts can be used as fallbacks for fonts. This can be configured with the setting fontpath.

See also

Command <DefineFontfamily>, chapter Using fonts.