Fonts in Reports
Overview
Fonts can be a challenge to support primarily due to licensing requirements. Running on a desktop during development, the rendering engine can utilize any font installed on the local machine. Both MacOS and Windows systems include a variety of licensed fonts and even more are installed with Microsoft Office. These fonts are free to use and fully supported by the rendering engine. But because production reports will be generally rendered from a container based on Linux, these fonts are not available. If a report template references a font that is not available on the system that renders the report, an error will occur. The renderer will also report an error if a symbol is included in a report that is not available in the font specified. Be sure that the font you select supports all characters and glyphs that your report includes.
Supported Fonts
The following fonts are fully supported by the rendering engine in development and production systems:
Microsoft TrueType core fonts
- Andale Mono
- Arial Black
- Arial (Bold, Italic, Bold Italic)
- Comic Sans MS (Bold)
- Courier New (Bold, Italic, Bold Italic)
- Georgia (Bold, Italic, Bold Italic)
- Impact
- Times New Roman (Bold, Italic, Bold Italic)
- Trebuchet (Bold, Italic, Bold Italic)
- Verdana (Bold, Italic, Bold Italic)
- Webdings
Google Fonts
- Cormorant Garamond (Light, Medium, Semibold)
- Cormorant (Light)
- Fira Sans (Black, ExtraBold, ExtraLight, Light, Medium, SemiBold, Thin)
- Inter
- Karla
- Lato (Black, ExtraBold, ExtraLight, Light, Medium, SemiBold, Thin)
- Libre Baskerville
- Lora
- Manrope (ExtraLight)
- Material Design Icons
- Merriweather (Black, Light)
- Open Sans
- Roboto (Black, Light, Medium, Thin)
- Rubik (Light)
- Source Sans Pro (Black, ExtraLight, Light, SemiBold)
- Source Serif Pro (Black, ExtraLight, Light, SemiBold)
- Work Sans
Other Supported Fonts
Custom Fonts
Any TTF font can be supported by the rendering engine. Custom fonts can be supported in two ways:
Embedding Fonts in the Application
To install a custom font in the app, copy the font files to the /JackHenry.Reports/PDF/QuestPDF/CustomFonts folder. The custom font will be embedded within the application and available on any system where the rendering engine runs.
Embedding Fonts in the Container
A second option is to install the font in the container image by adding the font to the Dockerfile. The reporting engine containers share a single base image, so it is best to add the fonts there. Simply copy your TTF fonts to the devops/docker/fonts folder and they will be installed automatically when the image is built.
Open Source Font Library
Google maintains a large collection of fonts that are free to use, even commercially. You can browse and download the fonts at https://fonts.google.com/.