繁体   English   中英

Qt如何从图像创建字体?

[英]Qt how to create font from image?

我需要在Qt应用程序中为数字使用一些自定义字体,但是公司要求我使用图像作为字体,不允许使用字体文件(例如:ttf)。

字体图像如下: 在此处输入图片说明

所以我想知道是否可以将字体图像转换为QFont? 就像Qt字体生成器一样。 或其他解决方案?

开箱即用的东西都无法满足您的需求。 您需要通过以编程方式从图像中构建自己的TrueTypeFont数据来解决该公司规则,将其仅保留在内存中,然后使用addApplicationFontFromData(const QByteArray&fontData)将其加载到应用程序中。

不幸的是,我找不到执行此操作的单个库,而且TTF格式看起来非常复杂。 我建议研究这个开源项目来创建字体。 也许您可以以此为起点? http://fontforge.github.io/zh-CN/

您可能想找出贵公司告诉您不能使用自定义字体的原因。 (我刚刚记得读过QT很难将字体存储为“资源”。如果不是由于版权问题,那么您可以建议不要使用图像,而是将整个文件以基本格式的文本格式存储在源代码中-64,然后在启动时将其转换回二进制文件,然后将其作为新字体从QByteArray加载。

我想这与版权问题有关? 有许多ttf字体可完全免费地用于商业用途。 EG看看Droid Sans Mono: https : //www.google.com/fonts/specimen/Droid+Sans+Mono

否则,最好知道不允许使用ttf的原因。

可以从矢量图形创建字体。

如果每个字母都有高分辨率的高分辨率图像(如果还没有矢量图形),则可以尝试将其转换为矢量图形(SVG)。

之后,您可以使用工具将SVG转换为字体。 这很可能是QFont可以使用的ttf字体。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM