【发布时间】:2013-11-08 09:06:43
【问题描述】:
我正在尝试在 Linux 的 QML 中使用机器人细字体。我在 ubuntu 上安装了粗体、细体和浅色字体。 openoffice 等其他程序只向我展示了roboto。 如何在 qml 中使用 Roboto Thin 或 Light?
【问题讨论】:
我正在尝试在 Linux 的 QML 中使用机器人细字体。我在 ubuntu 上安装了粗体、细体和浅色字体。 openoffice 等其他程序只向我展示了roboto。 如何在 qml 中使用 Roboto Thin 或 Light?
【问题讨论】:
您可以将字体文件与您的应用程序捆绑在一起,然后使用FontLoader 组件来加载您想要的版本并在 QML 中使用它们。
这个组件也存在于QtQuick 1.0,因为它是在Qt 4.7 FontLoader 中引入的
【讨论】:
FontLoader 将解决Light Roboto 的问题,但不适用于Thin,因为它不是运动重量。如果您想使用轻量级,请记住在文本元素中调用font.weight: Font.Light。
您需要将Roboto-thin.ttf 重新打包为新字体,然后使用FontLoader 将其导入回来,(在这种情况下不需要font.weight: Font.Light 调用)
【讨论】:
AlexB 的回答是正确的,并且让我费了很长时间来挣扎为什么它不起作用。
对于那些想知道为什么他们的 Roboto-Light 字体看起来像 Roboto-Bold 的人,以下是解决方法:
FontLoader
{
id: robotoLight
source: "../fonts/Roboto/Roboto-Light.ttf"
}
Text
{
text: "This text is Roboto-Light"
font.family: robotoLight.name
font.weight: Font.Light // this is necessary or else it'll look like Roboto-Bold
}
【讨论】: