在Qt官网上,Qt for Embedded Linux Fonts模块已经说的很清楚了,搞了好多天
Qt for Embedded Linux Fonts
Qt for Embedded Linux uses the
FreeType 2 font engine to produce font output. The formats supported depends on the locally installed version of the
FreeType library. In addition,
Qt for Embedded Linux supports the Qt Prerendered Font formats (
QPF and
QPF2):
light-weight non-scalable font formats
specific to
Qt for Embedded Linux. QPF2 is the native format of
Qt for Embedded Linux. QPF is the legacy format used by Qt/Embedded 2.x and 3.x. Several of the formats may be rendered using anti-aliasing for improved readability.
QPF是一个轻量不可缩放的字体库格式。
When
Qt for Embedded Linux applications run, they look for fonts in Qt's
lib/fonts/ directory.
Qt for Embedded Linux will automatically detect prerendered fonts and TrueType fonts. For compatibility, it will also read the legacy
lib/fonts/fontdir file.
当程序运行的时候,会自动查找字库
Nokia provides support for the legacy QPF format for compatibility reasons. QPF is based on the internal font engine data structure of Qt/Embedded versions 2 and 3.
Note that the file name describes the font, for example
helvetica_120_50.qpf is 12 point Helvetica while
helvetica_120_50i.qpf is 12 point Helvetica
italic.
120对应12号,字号*10;
The Legacy fontdir File
For compatibility reasons
Qt for Embedded Linux supports the
fontdir file, if present. The file defines additional fonts available to the application, and has the following format:
name file renderer italic weight size flags
Field |
Description |
name
The name of the font format, e.g.,
Helvetica,
Times, etc.
file
The name of the file containing the font, e.g.,
helvR0810.bdf,
verdana.ttf, etc.
renderer
Specifies the font engine that should be used to render the font, currently only the
FreeType font engine (
FT) is supported.
italic
Specifies whether the font is italic or not; the accepted values are
y or
n.
weight
Specifies the font's weight:
50 is normal,
75 is bold, etc.
size
Specifies the font size, i.e., point size * 10. For example, a value of 120 means 12pt. A value of 0 means that the font is scalable.
flags
The following flag is supported:
All other flags are ignored.
为了兼容多种字体,可以通过设置fontdir文件来完成
例如:
simhei_10 simhei_ms.ttf FT n 50 100 su
simhei_11 simhei_ms.ttf FT n 50 110 su
simhei_12 simhei_ms.ttf FT n 50 120 su
simhei_13 simhei_ms.ttf FT n 50 130 su
simhei_14 simhei_ms.ttf FT n 50 140 su
simhei_15 simhei_ms.ttf FT n 50 150 su
simhei_16 simhei_ms.ttf FT n 50 160 su
QFont font;
font.setpointsize(10);
font.setfamliy("simhei_10");
qApp->setfont(font);
Qt:官网:http://doc.qt.digia.com/4.6/qt-embedded-fonts.html#the-legacy-file