Qt/Embeded 字体格式支持说明及对比
Qt/Embeded 支持四种字体格式:
当 Qt/嵌入式应用程序运行时,它们查找名为$QTDIR/lib/fonts/fontdiror/usr/local/qt-embedded/lib/fonts/fontdir的文件。此文件定义应用程序可用的字体。
TrueType (TTF)-可伸缩字体技术,现在已经成为 MS-Windows 和 Apple Macintosh 的标准,并在 X11上流行起来。
Postscript Type1(PFA/PFB)-打印机经常使用的可伸缩字体,在 X11上也很流行。这些在功能上类似于 TTF 字体,在本文中不作进一步讨论。
位图分布格式字体(BDF)-不可缩放字体的标准格式。作为标准 X11发行版的一部分,提供了大量的 BDF 字体——其中大部分可以与 Qt/Embeded 一起使用。
Qt 预渲染字体(QPF)——一种轻量级的、不可伸缩的、特定于 Qt/嵌入式的字体格式。
支持每种字体格式(QPF
除外,QPF 总是启用的) ,可以通过使用 Qt/嵌入式功能定义独立地启用或禁用 Qt/嵌入式功能定义支持从任何字体编写 QPF
字体文件,因此你可以最初启用 TTF 和 BDF 格式,保存所需的字体和大小的 QPF 文件,然后删除 TTF 和 BDF 支持。
使用 TTF 字体,只有在绘图或度量操作中首次使用时,才会呈现给定点大小的字体中的每个字符。使用 BDF 字体时,所有字符都会呈现。使用 QPF 字体,字符的存储格式与 Qt 在绘制时使用的格式相同。
例如,包含 ASCII 字符的10点 Times 字体在以 QPF 格式存储时使用约1300字节。
利用 QPF 格式的结构化方式,Qt/嵌入式内存映射数据,而不是读取和解析数据。这进一步降低了 RAM 消耗。
可伸缩字体每种字体使用较大的内存量,但是如果每种字体需要很多不同大小的字体,这些字体可以节省内存。
TTF、 PFA 和 QPF 字体可以呈现为平滑的抗锯齿字体,从而提供更好的可读性,特别是在低分辨率设备上。平滑字体和非平滑字体的区别如下所示(您可能需要将显示更改为低分辨率才能看到区别)。
在 Qt/Embeded 2.2.1中,平滑字体使用的内存是非平滑字体的8倍。这个乘法器将减少到可配置的2或4(即。4级和16级阴影,而不是当前过多的256级阴影)。