Qt 4.8中的文本呈现支持哪些字形替换功能?我正在雇用一个字体设计师来创建一个需要OpenType字形替换(GSUB)的字体,这个人想知道他可以使用哪些功能。
我指的是标准Ligatures(liga),Discretionary Ligatures(dlig),All Alternates(aalt)等功能。可以在本文末尾找到完整的(?)GSUB功能列表扫描:http://ilovetypography.com/OpenType/opentype-features.html
答案 0 :(得分:1)
我联系了OpenType邮件列表和一位Qt开发人员(江),并找出了详细信息:
通过使用“-qt-harfbuzz”配置重新编译Qt,我可以在Qt 5.3中获得扩展的OpenType功能。这实现了Harfbuzz-NG的实验支持,然后支持以下GSUB功能:CALT,CCMP,CLIG,CURS,KERN,LIGA,LOCL,MARK,MKMK,RLIG。 Qt 5.3的默认版本仅支持CCMP,LIGA和CLIG。
Windows和Linux上的Qt 4.8仍使用旧的Harfbuzz,只有少数GSUB功能(CCMP,LIGA,CLIG)。在Qt 4.8中没有实验性Harfbuzz-NG的选择。可能可以在旧的Harfbuzz源代码(Qt的一部分)中启用更多功能并重新编译Qt,但这未经验证。我现在正在测试这个。
Mac上的Qt是另一回事。它默认支持Qt 4.8和5.3中的更多GSUB功能,包括CALT。以下是Jiang的解释:“据我所知,Qt 4.8 Mac是异常值,因为它默认使用Core Text,而在Linux和Windows上使用旧的HarfBuzz.Core Text应用自己的OpenType功能集,因此结果是与旧版HarfBuzz的不同之处在于,默认情况下可能不会应用calt。“