菜鸟教程小白 发表于 2022-12-13 07:24:22

ios - 字体无法在 iOS 上加载,但在 Android 上可以正常加载


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

<p>但是,当我在 iPhone 和/或模拟器上对其进行测试时,根本没有加载任何字体。他们似乎只是默认回到 Arial 或其他东西。此外,只有 .otf 文件在 Windows 上运行良好。 .ttf 文件默认返回 Arial,字符偏移 2 个字符(因此单词“ok”将是“qm”)</p>

<p>这到底是怎么回事?
字体位于:
“qrc:/fnt/res/fnt/MuseoSans_500.otf”
"qrc:/fnt/res/fnt/museo100-regular.ttf"</p>

<p>我正在使用它来加载字体:</p>

<pre><code>FontLoader {
    id: museosans500
    source: &#34;qrc:/fnt/res/fnt/MuseoSans_500.otf&#34;
}

FontLoader {
    id: museo100
    source: &#34;qrc:/fnt/res/fnt/museo100-regular.ttf&#34;
}
</code></pre>

<p>访问字体时,我将 font.family 设置为 museosans500.name 和 museo100.name。就像我说的,它们在 Android 上运行良好。但两者都不能在 iOS 上运行,而且只有其中一个可以在 Windows 上运行。</p>

<p>我正在使用 Qt Creator 3.4.0 和 Qt 5.4.1。</p>

<p>非常感谢任何帮助!</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>所以我没有为 Windows 解决它,但这是一个适用于 iOS 和 Android 的应用程序。
基本上我通过 main.cpp 加载字体而不是:</p>

<pre><code>int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    // Load custom fonts
    if(QFontDatabase::addApplicationFont(QStringLiteral(&#34;:/fnt/res/fnt/MuseoSans_500.otf&#34;)) == -1)
      qDebug() &lt;&lt; &#34;Failed to load font Museo Sans 500&#34;;
    if(QFontDatabase::addApplicationFont(QStringLiteral(&#34;:/fnt/res/fnt/museo100-regular.ttf&#34;)) == -1)
      qDebug() &lt;&lt; &#34;Failed to load font Museo 100&#34;;

    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral(&#34;qrc:/res/qml/LoadScreen.qml&#34;)));

    return app.exec();
}
</code></pre>

<p>最初这实际上不起作用。但那是因为我将 font.family 设置为“Museo Sans 500”和“Museo 100”,因为当我要求提供可用字体系列的完整列表时,Windows 会在控制台中打印。</p>

<p>当我在 Android、Mac 和 iOS 中打印出字体系列列表时,我实际上分别得到了“Museo Sans”和“Museo”。将 font.family 更改为这些字符串效果很好。</p>

<p>很遗憾,我还没有找到适用于 Windows 的解决方案,但就像我说过的那样,这对我来说并不重要。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 字体无法在 iOS 上加载,但在 Android 上可以正常加载,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/30475729/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/30475729/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 字体无法在 iOS 上加载,但在 Android 上可以正常加载