Flutter: [Fatal Error] Невозможно использовать пользовательские шрифты - PullRequest
0 голосов
/ 04 февраля 2020

Я не получил никакой ошибки при нормальной работе флаттера, но apk вылетает со следующей ошибкой:

E/flutter (18669): [ERROR:flutter/third_party/txt/src/minikin/FontFamily.cpp(184)] Could not get cmap table size!
E/flutter (18669):
F/flutter (18669): [FATAL:flutter/third_party/txt/src/minikin/FontCollection.cpp(95)] nTypefaces == 0

Я перепробовал все решения, которые я нашел в Интернете:

  • pubspe c .yaml имеют uses-material-design: true
  • Шрифт не может быть поврежден при загрузке с GoogleFonts
  • Я также пробовал другие шрифты, все выдают ту же ошибку
  • Я проверил свой код и не думал, что допустил какую-либо ошибку, ссылаясь на шрифт
  • Пробная очистка флаттера несколько раз

pubspe c .yaml фрагмент:

 fonts:
    - family: Open Sans
      fonts:
        - asset: Open Sans/OpenSans-Regular.ttf

main.dart фрагмент:

theme: ThemeData(
          primarySwatch: MaterialColor(0xFF8c7ae6, primarySwatch),
          primaryColor: Color(0xFF8c7ae6),
          brightness: Brightness.light,
          fontFamily: 'Open Sans', // using font
          textTheme: TextTheme(button: TextStyle(fontWeight: FontWeight.w400)),
          appBarTheme: AppBarTheme(
              brightness: Brightness.light,
              iconTheme: IconThemeData(color: Color(0xFF8c7ae6))),
          primaryColorLight: Color(0xFF9c88ff)),

Файл шрифта находится в папке с именем «Open Sans» на уровне проекта.

Ответы [ 3 ]

0 голосов
/ 23 февраля 2020

Убрать пробел между «Open Sans», чтобы он был «OpenSans» везде.

0 голосов
/ 25 февраля 2020

Недавно я снова столкнулся с этой ошибкой со своим коллегой, все еще не уверенный, что именно это исправляет ... Но она была исправлена ​​для коллеги после переустановки fltter sdk [что могло бы иметь смысл из-за файла cpp ] и для меня после обновления моей флаттерной версии ..

(Это с учетом того, что вы уже попробовали ответ Flut0101, кстати, так как это была общая проблема)

0 голосов
/ 04 февраля 2020

Вы можете использовать google_fonts пакет, чтобы получить все шрифты, доступные в Google Fonts .

Добавить пакет google_fonts в ваш пабспи c зависимостей.

dependencies:
  flutter:
    sdk: flutter
  google_fonts:

Импорт пакета шрифтов Google в main.dart

Для использования GoogleFonts

ThemeData(
    textTheme: GoogleFonts.openSansTextTheme(
      Theme.of(context).textTheme,
    ),
  )
...