gpt4 book ai didi

c++ - Qt : Unable to load TTF file

转载 作者:可可西里 更新时间:2023-11-01 18:37:14 29 4
gpt4 key购买 nike

我有一个在 OpenSuse 11.4 中开发的 Qt 嵌入式应用程序,我需要在其中加载 TTF 字体文件。然而,当我调用 int QFontDatabase::addApplicationFont() 函数时,它返回 -1

阅读文档后,我发现目前不支持在没有 fontconfig 的情况下在 Unix/X11 平台上添加应用程序字体。

我通过 YaST 检查了我是否安装了 fontconfig,它已经安装了 - 但我不认为它是相关的,因为我使用的是 qt 嵌入式库。我在想我必须让 fontconfig 支持 qt 嵌入式库,但我该怎么做呢?

fontconfig 是否支持 qt-embedded?谁能告诉我这是怎么回事?

最佳答案

您可以使用 QPA 或 Qt Platform Abstraction (以前称为 Lighthouse )。您需要创建一个公开自定义 QPlatformFontDatabase 的 QPlatformIntegration 实现(可以作为插件制作或直接使用)。这里的技巧是重用 Qt 的大部分现有 QFontconfigDatabase 实现(它只是 QBasicUnixFontDatabase 的子类)。

这正是我们用于 PhantomJS 的技术这样它就可以工作headlessly (没有 X11)在 Linux 上同时仍然利用 Fontconfig (因此也是 FreeType )用于文本渲染。

不幸的是,我认为 Qt 4.5 太旧了,无法运行 Lighthouse。要么移动到官方支持 QPA 的 4.8,要么尝试向后移植 Lighthouse。

关于c++ - Qt : Unable to load TTF file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7077528/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com