字体未在iOS上加载但在Android中加载正常

时间:2015-05-27 07:22:51

标签: ios qt fonts

我目前正在从qrc文件中加载两种字体。其中一个是.ttf,另一个是.otf。当我在Android上测试我的构建时,它们加载并正常工作(尽管加载时间相当长。)

然而,当我在我的iPhone和/或模拟器上测试它时,根本没有任何字体加载。他们似乎只是默认回Arial或其他东西。此外,只有.otf文件在Windows上正常工作。 .ttf文件默认返回Arial,字符偏移2个字符(因此单词“ok”将为“qm”)

到底是怎么回事? 字体位于: “QRC:/fnt/res/fnt/MuseoSans_500.otf” “QRC:/fnt/res/fnt/museo100-regular.ttf”

我正在使用它来加载字体:

FontLoader {
    id: museosans500
    source: "qrc:/fnt/res/fnt/MuseoSans_500.otf"
}

FontLoader {
    id: museo100
    source: "qrc:/fnt/res/fnt/museo100-regular.ttf"
}

访问字体时,我将font.family设置为museosans500.name和museo100.name。就像我说的,他们在Android上运行良好。但是它既不适用于iOS,也只适用于其中一种。

我正在使用Qt Creator 3.4.0和Qt 5.4.1。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

所以我没有为Windows解决它,但这是iOS和Android的应用程序。 基本上我通过main.cpp加载字体,而不是:

vector

最初这实际上并没有奏效。但那是因为我将font.family设置为“Museo Sans 500”和“Museo 100”,因为当我要求提供完整的可用字体系列列表时,Windows将在控制台中打印。

当我在Android,Mac和iOS中打印出字体系列列表时,我实际上分别得到了“Museo Sans”和“Museo”。将font.family更改为这些字符串工作正常。

不幸的是我还没有找到适用于Windows的解决方案,但就像我说的那样对我来说无关紧要。