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