我正在学习如何在 Flutter 项目中正确使用自定义字体。我从 Google Fonts 下载了Merienda系列字体,它既有可变字体文件,也有静态字体文件。我在我的文件中声明了pubspec.yaml
以下内容:
fonts:
- family: Merienda
fonts:
- asset: assets/fonts/Merienda-Regular.ttf
除了上述字体之外,我没有使用任何其他静态字体Merienda-Regular.ttf
,也没有使用从 Google Fonts 下载的字体档案中的可变字体。
问题:虽然我只Merienda-Regular.ttf
在 pubspec.yaml 中声明了文件,但我仍然可以使用 将不同的字体粗细应用于字体或使用中的fontWeight: FontWeight.bold
不同样式。这怎么可能呢?如果是这样,那么在相应字体名称(例如)下的和 的声明是否多余或无用?fontStyle: FontStyle.italic
TextStyle
weight
style
Merienda-Bold.ttf
Merienda-ExtraBold.ttf
正如官方文档所述:
所以,不是的——它们不是多余或无用的。如果在使用自定义字体时不声明它们,您只能模拟不同粗细和样式的实际外观。
说实话,第一次尝试会有很多工作要做,而且会让人感到困惑,所以我建议直接使用Google_Fonts包。原因是您不必将其硬编码到 yaml 文件中,也不必占用不必要的空间。
欲了解更多信息,您可以阅读我提供的链接。