我有一个 Qt 4.8 应用程序,它的前端 UI 都是通过 QDeclarativeView 中的 QML 完成的。
在应用程序的(原始)Linux 版本上,它通过指定在 QML 中的文本项目中使用了几种字体
font.family: "ReykjavikOne OT AGauge"
或者
font.family: "ReykjavikOne OT CGauge"
并且这些按预期工作(CGauge 是一种胖而粗体的版本)。
但是,在 Mac 端口上,这两个似乎都回退到一些丑陋的默认回退无字体。但是使用
font.family: "ReykjavikOne OT"
确实得到了“AGauge”。
在 Linux 系统上,fc-list | grep ReykjavikOne
得到我
/usr/share/fonts/opentype/ReykjavikOneCGaugeItalic.otf: ReykjavikOne OT,ReykjavikOne OT CGaugeItalic:style=CGaugeItalic
/usr/share/fonts/opentype/ReykjavikOneCGauge.otf: ReykjavikOne OT,ReykjavikOne OT CGauge:style=CGauge
/usr/share/fonts/opentype/ReykjavikOneAGauge.otf: ReykjavikOne OT,ReykjavikOne OT AGauge:style=AGauge
/usr/share/fonts/opentype/ReykjavikOneAGaugeItalic.otf: ReykjavikOne OT,ReykjavikOne OT AGaugeItalic:style=AGaugeItalic
在 Mac 上,FontBook 将 4 种样式显示为单个“ReykjavikOne OT”条目下的子项。CGauge 字体似乎完全可以在 Mac 上的其他应用程序中使用,所以我假设这是 Qt/QML 特有的问题。
似乎没有任何 QML 文本/字体机制(至少,我无法发现),我可以通过它选择样式名称为“CGauge”的字体样式。乱用粗体/字体粗细似乎让我得到了一个更大胆的 AGauge 或默认字体。
QML RichText 内容也是如此。<style></style>
包含元素的文本font-family: 'ReykjavikOne OT CGauge'
在 Linux 上工作正常,但在 Mac 上它恢复为备用字体,并且'ReykjavikOne OT'
是最好的,获得 AGauge。(添加 afont-weight: bold;
确实会得到一个粗体的 AGauge,但 CGauge 明显更胖)。
Mac 和 Linux (Debian/Wheezy) 系统都从相同的 .otf 文件安装字体。
我最大的希望是解决这个问题并让字体的 CGauge 样式按预期显示在 Mac 上?(注意,在字体和 Mac 方面我是新手)。