Closed8
Flutter macOSでFontWeight.boldが反映されない
TextStyle
のfontWeight
にFontWeight.bold
を指定しているのですが、macOSアプリでは太字になりません。
他のバージョン(Android, iOS, Web)では太字になります。
フォントをgoogle_fontsにあるもの(Webと同じ)にしても変わりませんでした。
macOS
Web
比較したら、若干太字にはなっていた。
けどほとんど違いがわからない。
google_fonts
でのFontWeight
に関するissueが上がっていた。
とりあえずの解決策
fontFamily
で直接GoogleFontsを指定して、そのGogleFontsの引数としてfontWeight
を指定する。
fontFamily: GoogleFonts.encodeSansExpanded(fontWeight: FontWeight.w200).fontFamily,
String fontFamily = 'Sawarabi Gothic';
fontFamily: GoogleFonts.getFont(fontFamily, fontWeight: FontWeight.bold).fontFamily
とりあえずこれで、google_fonts
を使った際にFontWeight.bold
が適用されるようになった。
フォントを何も指定しない場合にFontWeight.bold
が適用されない問題については、GitHubで質問した。
すぐに応じていただきました。ありがとうございます。
すでに、中国語でFontWeight
がきちんと動かない問題が報告されていたらしい。
一時的な解決策として、fontFamily
にMacOSのデフォルトフォント名を指定するといいらしい。
MacOSでの日本語フォントはHiragino Sans
のようなので(参考)、それをfontFamily
に指定した。
///
class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
+ fontFamily: 'Hiragino Sans',
),
home: const MyHomePage(),
);
}
}
///
これで、FontWeight.bold
が反映された。
Before | After |
---|---|
このスクラップは2022/09/02にクローズされました