如何让 QML FontLoader 在启动时加载 UTF-8

问题描述

我的设置:

  • Qt 5.9.4
  • buildroot Linux 系统
  • 瑞芯微 rk3288 处理器
  • /etc/init.d 中的引导脚本

我有一些 qml 来显示一些 utf8 字符

// roboto font
FontLoader {
    id: roboto
    source: "qrc:/fonts/Roboto-Regular.ttf"
}

Text {
    text: "The temperature is: \u2103"
    font.pixelSize: 24
    font.family: roboto.name
}

当我从命令行 (UART) 运行应用程序时,字体会正确呈现。 当我重新启动并让我的应用程序从启动脚本运行时。 utf-8 字符未正确呈现。

我尝试了各种组合:

  • 字体在文件系统上
  • 字体在文件系统的不同位置
  • 不同的字体(montserrat、Avenir 等)。
  • 根据加载器状态显示字体 == FontLoader.Ready

所有结果都相同。 我偶然偶然发现了这个解决方案:

// japanese font
FontLoader {
    id: jpFont
    source: "qrc:/fonts/NotoSansJP-Regular.otf"
}

// roboto font
FontLoader {
    id: roboto
    source: "qrc:/fonts/Roboto-Regular.ttf"
}

Text {
    text: "The temperature is: \u2103"
    font.pixelSize: 24
    font.family: roboto.name
}

这有效。我什至没有使用文字体,但它似乎让 Roboto 开始正常工作。

  • 为什么我的字体加载 utf8 调试,而不是从启动
  • 为什么这个额外的字体会神奇地修复它?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)