首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Linux嵌入式设备Qt上显示汉字

如何在Linux嵌入式设备Qt上显示汉字
EN

Stack Overflow用户
提问于 2016-10-03 21:08:14
回答 3查看 2.2K关注 0票数 0

我有一个用Qt/QML编写的嵌入式Linux上运行的软件。我使用的字体系列,让我们称之为SomeFontFamily.otf。这个字体系列不支持汉字,因此当我想显示中文文本时,我得到的是空方格。如果我在我的桌面Linux上运行相同的软件,我的中文文本会得到相同的结果,但是如果我在我的.font文件夹中添加了一个字体家族支持中文的home目录,那么它就会显示这些字符。所以我想我可以在嵌入式设备上做同样的事情,在我的home目录中添加一个home文件夹,字体是对的,但不幸的是,它没有工作。然后,我在嵌入式设备上找到了关于Qt字体的文档。它说我应该把我的字体放在lib/fonts目录下,因为Qt会在嵌入式设备上搜索它。我试过了,但不幸的是没有成功。有人有类似的问题吗?为了记录在案,这与翻译无关。我只想能在英文文本中显示汉字。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-10-05 14:27:19

我的最后一个解决方案实际上是为QFont创建一个包装类,并在构造函数中为我设置的字体添加QFont::insertSubstitution(...)。然后将其公开给QML,并将其用作默认字体。就像一种魅力。

请注意:如果您已经将字体绑定到资源文件(.qrc)中,则必须使用QFontDatabase::addApplicationFont添加这些字体。

票数 0
EN

Stack Overflow用户

发布于 2016-10-04 07:49:51

嵌入式QT版本通常缺乏特性,那些想要在不检查依赖项存在的情况下打开依赖项的人就禁用了这些特性。

要使字体替换工作,需要启用fontconfig的生成。为了获得复杂的文本支持(任何比拉丁文符号更多的练习),您需要harfbuzz,更新的版本(Harfbuzz Ng)越好。

票数 2
EN

Stack Overflow用户

发布于 2016-10-04 07:56:38

我用自己的FontConfig解决了阿拉伯语的问题。您必须使用FontConfig字体Qt嵌入启用它

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39840442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档