浏览代码

Merge pull request #1510 from LucasXu0/fix_1488

fix: [Bug] Inconsistent font weights #1488
Nathan.fooo 2 年之前
父节点
当前提交
fff4af53e2

+ 1 - 1
frontend/app_flowy/lib/startup/tasks/app_widget.dart

@@ -82,7 +82,7 @@ class ApplicationWidget extends StatelessWidget {
         builder: (context, state) => MaterialApp(
           builder: overlayManagerBuilder(),
           debugShowCheckedModeBanner: false,
-          theme: state.theme.themeData,
+          theme: state.theme.getThemeData(state.locale),
           localizationsDelegates: context.localizationDelegates +
               [AppFlowyEditorLocalizations.delegate],
           supportedLocales: context.supportedLocales,

+ 16 - 3
frontend/app_flowy/packages/flowy_infra/lib/theme.dart

@@ -155,13 +155,26 @@ class AppTheme {
     }
   }
 
-  ThemeData get themeData {
-    final textTheme = TextStyles(font: font, color: shader1);
+  ThemeData getThemeData(Locale locale) {
+    // Poppins and SF Mono are not well supported in some languages, so use the
+    // built-in font for the following languages.
+    final useBuiltInFontLanguages = [
+      const Locale('zh', 'CN'),
+      const Locale('zh', 'TW'),
+    ];
+    TextStyles textTheme;
+    if (useBuiltInFontLanguages.contains(locale)) {
+      textTheme = TextStyles(font: '', color: shader1);
+    } else {
+      textTheme = TextStyles(font: font, color: shader1);
+    }
     return ThemeData(
       brightness: brightness,
       textTheme: textTheme.generateTextTheme(),
       textSelectionTheme: TextSelectionThemeData(
-          cursorColor: main2, selectionHandleColor: main2),
+        cursorColor: main2,
+        selectionHandleColor: main2,
+      ),
       primaryIconTheme: IconThemeData(color: hover),
       iconTheme: IconThemeData(color: shader1),
       scrollbarTheme: ScrollbarThemeData(