1

我的设置:

  • 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 调试,但不是从启动
  • 为什么这个额外的字体会神奇地修复它?
4

0 回答 0