嵌入式Linux字体Qt
Qt通常使用fontconfig
来提供访问系统字体的功能。如果fontconfig
不可用,例如在空间有限的专业嵌入式系统中,Qt将回退到使用QBasicFontDatabase
。在这种情况下,Qt应用程序将在Qt的lib/fonts/
目录中查找字体。Qt将自动检测预渲染字体和TrueType字体。
Qt使用FreeType 2字体引擎生成字体输出。支持的格式取决于本地安装的FreeType库的版本。当使用QBasicFontDatabase时,Qt还支持Qt预渲染字体格式(QPF2),一种轻量级不可缩放的字体格式。QPF2是Qt for Embedded Linux 4.x的本地格式。
所有支持的字体都使用Unicode字符编码。大多数今天可用的字体确实这样做了,但它们通常不包含所有的Unicode字符。一个完整的16点Unicode字体需要超过1MB的内存。
FreeType格式
FreeType 2库可以支持以下字体格式:
- TrueType (TTF)
- PostScript Type 1 (PFA/PFB)
- 位图分布格式 (BDF)
- CID键入的Type 1
- 紧凑字体格式 (CFF)
- OpenType字体
- 基于SFNT的位图字体
- 便携式编译格式 (PCF)
- Microsoft Windows字体文件格式 (Windows FNT)
- 便携式字体资源 (PFR)
- 类型42(有限支持)
可以向FreeType 2字体引擎添加模块以支持其他类型的字体文件。有关更多信息,请参阅字体引擎的官方网站:http://freetype.sourceforge.net/freetype2/index.html。
使用FreeType渲染的字体在应用程序之间高效共享,从而减少内存需求并加快文本渲染速度。
Qt预渲染字体(QPF2)
Qt预渲染字体(QPF2)是一种架构无关、轻量级且不可缩放的字体格式。
Qt附带跨平台的makeqpf工具,位于tools
目录中,该工具可从系统字体生成QPF2文件。
QPF2支持抗锯齿和复杂的书写系统,使用来自相应TrueType字体的信息(如果系统上有),格式设计为直接映射到内存中。相同的格式用于在应用程序之间共享非预渲染字体中的字型。
© 2024 Qt公司有限公司。本文件中包含的内容的版权属于其各自的所有者。本文件中提供的文档受免费软件基金会发布的《GNU自由文档许可证》(版本1.3)的条款许可。GNU自由文档许可证版本1.3。Qt及其相关标志是芬兰及/或其他国家Qt公司有限公司的商标。所有其他商标均为各自所有者的财产。