我正试图在颤振中使用具有多重粗细的家庭字体。但是,当我使用粗体为粗体(w700)和粗体(w800)的字体样式时,它不起作用。仅在 semibold / medium(w600)
之前有效这是我的字体资源文件夹结构:
myapp\assets\fonts\unisans\unisans_Bold.ttf
myapp\assets\fonts\unisans\unisans_Heavy.ttf
myapp\assets\fonts\unisans\unisans_Reguler.ttf
myapp\assets\fonts\unisans\unisans_Semibold.ttf
pubspec.yaml中定义的字体:
fonts:
- family: Unisans
fonts:
- asset: assets/fonts/unisans/unisans_Reguler.ttf
- asset: assets/fonts/unisans/unisans_Semibold.ttf
weight: 600
- asset: assets/fonts/unisans/unisans_Bold.ttf
weight: 700
- asset: assets/fonts/unisans/unisans_Heavy.ttf
weight: 800
然后像这样颤抖地称呼他们:
Text(
"Halo",
style: TextStyle(
color: Theme.of(context).primaryColor,
fontFamily: "Unisans",
fontWeight: FontWeight.w800,
fontSize: 30),
)
我也尝试了FontWeight.w700,但仍然没有应用。它仅适用于 reguler 和 w600 样式。
颤动是否不能处理多种粗细字体,或者取决于字体?
答案 0 :(得分:0)
我突然发现了问题。非常琐碎的问题。这是因为每种字体都有不同的“字体名称”。例如:Unisans-Bold具有字体名称(UnisansBold)而不是Unisans。 Unisans-Heavy具有字体名称(UnisansHeavy)而不是Unisans。在颤动中,要使粗细样式起作用,所有字体文件必须具有相同的字体名称。在Windows OS中打开字体文件时,我会检查字体名称。但是我仍然很好奇,即使我们在pubspec.yaml上声明了它,为什么还要慌张地考虑它。