Flutter 在Flatter应用程序中添加自定义字体的混乱
我知道如何在应用程序中添加自定义字体。但是在重量和风格上的混淆 例如 如果我在应用程序和我应用程序的资产文件夹中添加Flutter 在Flatter应用程序中添加自定义字体的混乱,flutter,dart,fonts,Flutter,Dart,Fonts,我知道如何在应用程序中添加自定义字体。但是在重量和风格上的混淆 例如 如果我在应用程序和我应用程序的资产文件夹中添加Montserrat字体,那么它只有Montserrat Regular.ttf,所以我在pubspec.yaml文件中编写 fonts: - family: Montserrat fonts: - asset: asset/fonts/Montserrat-Regular.ttf 在文本小部件中,我使用了所有3个普通、粗体和斜体,并且工作正
Montserrat
字体,那么它只有Montserrat Regular.ttf
,所以我在pubspec.yaml文件中编写
fonts:
- family: Montserrat
fonts:
- asset: asset/fonts/Montserrat-Regular.ttf
在文本
小部件中,我使用了所有3个普通、粗体和斜体,并且工作正常
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'This is normal font',
style: TextStyle(
fontFamily: 'Montserrat',
),
),
SizedBox(height: 10),
Text(
'This is bold font',
style: TextStyle(
fontFamily: 'Montserrat',
fontWeight: FontWeight.bold
),
),
SizedBox(height: 10),
Text(
'This is italic font',
style: TextStyle(
fontFamily: 'Montserrat',
fontStyle: FontStyle.italic
),
),
],
)
Raleway Italic.ttf和RobotoMono Bold.ttf????他们应该只在asset中添加常规的字体,我想这样行吗
还有我上面代码中的其他内容。如果我设定
- 第一个文本“fontWeight:fontWeight.w300”
- 2st文本“fontWeight:fontWeight.w500”
- 第一个文本“fontWeight:fontWeight.w600”
- 2st文本“fontWeight:fontWeight.w900”
为什么,有人会解释我 如果您的字体具有变体(不同于斜体或粗体/中文本的字体),则可以在同一字体系列中定义它们:
fonts:
- family: Roboto
fonts:
- asset: assets/fonts/roboto/Roboto-Black.ttf
weight: 900
- asset: assets/fonts/roboto/Roboto-BlackItalic.ttf
style: italic
weight: 900
- asset: assets/fonts/roboto/Roboto-Bold.ttf
weight: 700
- asset: assets/fonts/roboto/Roboto-BoldItalic.ttf
style: italic
weight: 700
- asset: assets/fonts/roboto/Roboto-Italic.ttf
style: italic
- asset: assets/fonts/roboto/Roboto-Light.ttf
weight: 300
- asset: assets/fonts/roboto/Roboto-LightItalic.ttf
style: italic
weight: 300
- asset: assets/fonts/roboto/Roboto-Medium.ttf
weight: 500
- asset: assets/fonts/roboto/Roboto-MediumItalic.ttf
style: italic
weight: 500
- asset: assets/fonts/roboto/Roboto-Regular.ttf
- asset: assets/fonts/roboto/Roboto-Thin.ttf
weight: 100
- asset: assets/fonts/roboto/Roboto-ThinItalic.ttf
style: italic
weight: 100
在我的机器人示例中:
如果使用字体系列Roboto和具有默认权重的文本,则将使用Roboto-Regular.ttf
但是如果您使用斜体样式,它将使用Roboto-italic.ttf
我有粗体、中体、细体和每种斜体的变体
它使字体比软件设计的字体更加精美
在pubspec.yaml
文件中,您有字体
,可以有一个或多个子-系列
,可以有一个或多个子字体
(对于与css字体系列中的工作方式完全相同的变体:Arial、Helvetica、sans serif;
)
字体
可以有一个或多个-asset
的子项,它可以有权重
和/或样式
作为子项,也可以没有子项。我有同样的问题。flatter甚至不需要斜体.otf来呈现斜体样式的文本。这很令人困惑。所以我花了一些时间做了一个小实验:
蒙特塞拉特48pt超轻标准颤振生成斜体文本
V.S.蒙特塞拉特48磅超轻斜体.otf文本
他们看起来不一样!结果表明,颤振可以自动生成一些“斜体风格”的文字,无论它目前有什么字体。但这看起来不一定与designer创建的真正的斜体字体文件相同。如果我想使用Roboto瘦字体,那么我应该制作另一个家族资产吗?like-font:-系列:Roboto字体:-资产:资产/字体/Roboto/Roboto-Black.ttf-系列:robototothin字体:-资产:资产/字体/Roboto/Roboto-Thin.ttf
fonts:
- family: Roboto
fonts:
- asset: assets/fonts/roboto/Roboto-Black.ttf
weight: 900
- asset: assets/fonts/roboto/Roboto-BlackItalic.ttf
style: italic
weight: 900
- asset: assets/fonts/roboto/Roboto-Bold.ttf
weight: 700
- asset: assets/fonts/roboto/Roboto-BoldItalic.ttf
style: italic
weight: 700
- asset: assets/fonts/roboto/Roboto-Italic.ttf
style: italic
- asset: assets/fonts/roboto/Roboto-Light.ttf
weight: 300
- asset: assets/fonts/roboto/Roboto-LightItalic.ttf
style: italic
weight: 300
- asset: assets/fonts/roboto/Roboto-Medium.ttf
weight: 500
- asset: assets/fonts/roboto/Roboto-MediumItalic.ttf
style: italic
weight: 500
- asset: assets/fonts/roboto/Roboto-Regular.ttf
- asset: assets/fonts/roboto/Roboto-Thin.ttf
weight: 100
- asset: assets/fonts/roboto/Roboto-ThinItalic.ttf
style: italic
weight: 100