【发布时间】:2017-01-10 22:54:39
【问题描述】:
问题:对我的QFont 进行字距调整对我的QApplication 中显示的字体字距调整没有影响。
- 在 Qt 中,字距调整默认应用于
QFont - 尝试
QFont.setKerning(True)不成功 -
QFont.setKerning(False)对字体显示也没有影响 - 字体为 OpenType (
.otf),QFont.kerning()返回True - 在其他应用程序(例如 Microsoft Word)中调整此字体是成功的
- 其他
QFont方法,例如QFont.setLetterSpacing可以成功处理此字体 - 字体是 Idler,文件名是
Idler-Inner.otf
显然没有其他人遇到这个问题。找不到有关此主题的任何内容。
更新
这似乎与字体类型有关。我能够紧缩 ttf 字体并且无法在 Qt 中紧缩其他 otf 字体。虽然 otf>ttf 转换是某些字体的解决方案,但对于像我这样的其他字体来说,它似乎会破坏字体。
令人惊讶的是,Qt 不支持主要字体类型的字距调整。否则,我能想到的唯一解决方案是破解字体(转换为 ttx 并以不弃用的方式手动转换为 ttf)。
字体工作量太大;至少对于字体开发者来说。
【问题讨论】:
-
你想做什么?启用字距调整还是禁用它?
-
启用字距调整。
-
您的更新似乎成功了。在 TTF 中,字距调整是一个简单的表格。在 OpenType 字体中可以使用相同的字体,但此外它还支持更复杂的方案。因为这提供了对字距的更多控制,所以字体设计师更喜欢它而不是旧的“一次 2 个字符”方法。