Fonts

Prince supports TrueType and OpenType fonts.

Generic font families

Prince maps the CSS generic font families to the Microsoft Core Fonts as shown in the table below. The Microsoft Core Fonts are pre-installed on Windows and MacOS X systems but not on Linux systems. To use them on Linux you must install the msttcorefonts package, which is available for most Linux distributions.

Generic family Actual font
serif Times New Roman
sans-serif Arial
monospace Courier New

Redefining the generic font families

The CSS generic font families can be redefined to use different fonts by editing the fonts.css file in the Prince installation. Each font family is defined using a @font-face rule, which maps a font family to an actual font either by name or by filename.

Here is an example of mapping the generic "sans-serif" font family to the local system font called "Trebuchet MS".

fonts.css

@font-face {
    font-family: sans-serif;
    src: local("Trebuchet MS")
}

It is also possible to map the generic font families to local fonts specified by the filename of the TrueType font file. This will usually require using multiple @font-face rules, one for each TrueType font file in the font family, which usually includes four files (normal, bold, italic and bold-italic). Here is an example of mapping the generic "sans-serif" font family to the "Trebuchet MS" font using filenames, assuming that the font is installed in the usual system directory on Linux.

fonts.css

@font-face {
    font-family: sans-serif;
    font-style: normal;
    font-weight: normal;
    src: url("/usr/share/fonts/truetype/msttcorefonts/trebuc.ttf")
}

@font-face {
    font-family: sans-serif;
    font-style: normal;
    font-weight: bold;
    src: url("/usr/share/fonts/truetype/msttcorefonts/trebucbd.ttf")
}

@font-face {
    font-family: sans-serif;
    font-style: italic;
    font-weight: normal;
    src: url("/usr/share/fonts/truetype/msttcorefonts/trebucit.ttf")
}

@font-face {
    font-family: sans-serif;
    font-style: italic;
    font-weight: bold;
    src: url("/usr/share/fonts/truetype/msttcorefonts/trebucbi.ttf")
}