【发布时间】:2011-10-27 23:56:41
【问题描述】:
我有一个在 OpenSuse 11.4 中开发的 Qt 嵌入式应用程序,我需要在其中加载一个 TTF 字体文件。但是,当我调用int QFontDatabase::addApplicationFont() 函数时,它会返回-1。
阅读文档后,我发现目前不支持在没有 fontconfig 的 Unix/X11 平台上添加应用程序字体。
我通过 YaST 检查了我是否安装了 fontconfig,并且它已安装 - 但我认为这不相关,因为我使用的是 qt 嵌入式库。我想我必须让 fontconfig 支持 qt-embedded 库,但我该怎么做呢?
fontconfig 甚至支持 qt-embedded 吗?谁能告诉我发生了什么事?
【问题讨论】:
-
你能用“fc-list”命令确认你的字体实际上是由fontconfig列出的吗?
-
如果它不在列表中怎么办?下一步是什么? :)
-
在列表中找到合适的字体,或者从 yast 安装字体。您甚至可以将字体路径添加到正在运行的 X 并使用 xrdb 重新加载它。所以 man xset 和 man xrdb 会告诉你细节。
-
顺便说一句,我正在使用 4.5.3 qt 嵌入式库构建这个应用程序。而不是 OpenSuse 中预装的 QT。
-
如果不在列表中则qt无法加载!明确记录了 QT 使用 fontconfig 数据库来加载字体。我认为使用 qt-embedded 没有任何区别。
标签: c++ qt truetype opensuse fontconfig