Closed8

Flutter macOSでFontWeight.boldが反映されない

enoiuenoiu

TextStylefontWeightFontWeight.boldを指定しているのですが、macOSアプリでは太字になりません。
他のバージョン(Android, iOS, Web)では太字になります。
フォントをgoogle_fontsにあるもの(Webと同じ)にしても変わりませんでした。

macOS

Web

enoiuenoiu

比較したら、若干太字にはなっていた。
けどほとんど違いがわからない。

enoiuenoiu

google_fontsでのFontWeightに関するissueが上がっていた。
https://github.com/material-foundation/google-fonts-flutter/issues/35

とりあえずの解決策
https://github.com/material-foundation/google-fonts-flutter/issues/35#issuecomment-605353195

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が適用されるようになった。

enoiuenoiu

すぐに応じていただきました。ありがとうございます。

enoiuenoiu

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にクローズされました