Qt normally uses
fontconfig
to provide access to system fonts. If
fontconfig
is not available, e.g. in dedicated embedded systems where space is at a premium, Qt will fall back to using
QBasicFontDatabase
. In this case, Qt applications will look for fonts in Qt's
lib/fonts/
directory. Qt will automatically detect prerendered fonts and TrueType fonts.
Qt uses the FreeType 2 font engine to produce font output. The formats supported depends on the locally installed version of the FreeType library. When using QBasicFontDatabase, Qt also supports the Qt Prerendered Font format ( QPF2 ), a light-weight non-scalable font formats. QPF2 is the native format of Qt for Embedded Linux 4.x.
All supported fonts use the Unicode character encoding. Most fonts available today do, but they usually don't contain all the Unicode characters. A complete 16-point Unicode font uses over 1 MB of memory.
FreeType 2 library can support the following font formats:
It is possible to add modules to the FreeType 2 font engine to support other types of font files. For more information, see the font engine's own website: http://freetype.sourceforge.net/freetype2/index.html .
Glyphs rendered using FreeType are shared efficiently between applications, reducing memory requirements and speeding up text rendering.
The Qt Prerendered Font (QPF2) is an architecture-independent, light-weight and non-scalable font format.
Qt comes with the cross-platform
makeqpf
tool, included in the
tools
directory, which allows generation of QPF2 files from system fonts.
QPF2 supports anti-aliasing and complex writing systems, using information from the corresponding TrueType font, if present on the system. The format is designed to be mapped directly to memory. The same format is used to share glyphs from non-prerendered fonts between applications.