使用谷歌字体我没有问题正确显示字体权重。但是,一旦我使用自定义字体,我就会遇到麻烦。我正在使用sofia pro
字体,并将字体放入我的资产文件夹并设置pubspc.yaml
如下:
fonts:
- family: SofiaPro
fonts:
- asset: assets/fonts/SofiaProUltraLight.ttf
weight: 200
- asset: assets/fonts/SofiaProLight.ttf
weight: 300
- asset: assets/fonts/SofiaProRegular.ttf
weight: 400
- asset: assets/fonts/SofiaProMedium.ttf
weight: 500
- asset: assets/fonts/SofiaProSemiBold.ttf
weight: 600
- asset: assets/fonts/SofiaProBold.ttf
weight: 700
- asset: assets/fonts/SofiaProBlack.ttf
weight: 900
- family: SofiaProRegular
fonts:
- asset: assets/fonts/SofiaProRegular.ttf
weight: 400
然后我以两种方式引用字体 - 一次在它自己的字体系列中,没有其他权重,一次在其他权重列表中。
Container(
height: height,
child: Center(
child: Text(
"This text has weight w400",
style: TextStyle(fontFamily: 'SofiaPro', fontSize: size, fontWeight: FontWeight.w400),
)),
),
Container(
height: height,
child: Center(
child: Text(
"This text has weight w400",
style: TextStyle(fontFamily: 'SofiaProRegular', fontSize: size, fontWeight: FontWeight.w400),
)),
),
因此,唯一的区别是我所指的字体系列,但显示的文本仅针对它本身属于一个系列的字体正确显示。对于另一个我得到列表中第一个字体的权重。不知道我在这里缺少什么。