Flutter: у Courier нет ошибки поддержки Unicode

#android-studio #flutter #dart #fonts

#android-studio #flutter #dart #шрифты

Вопрос:

Я пытаюсь использовать семейство шрифтов NunitoSans, и мне приходится модифицировать уже существующее приложение. Вот как выглядит файл pubspec.yaml с точки зрения шрифта:

     flutter:
  fonts:
    - family: NunitoSans
      fonts:
        - asset: fonts/NunitoSans-Regular.ttf
          weight: 600
        - asset: fonts/NunitoSans-ExtraLight.ttf
          weight: 100
        - asset: fonts/NunitoSans-Light.ttf
          weight: 200
        - asset: fonts/NunitoSans-SemiBold.ttf
          weight: 700
        - asset: fonts/NunitoSans-Bold.ttf
          weight: 800
        - asset: fonts/NunitoSans-ExtraBold.ttf
          weight: 900
    - family: OverpassMono
      fonts:
        - asset: fonts/OverpassMono-Regular.ttf
          weight: 600
        - asset: fonts/OverpassMono-Light.ttf
          weight: 100
    - family: AppIcons
      fonts:
        - asset: fonts/AppIcons.ttf
          weight: 500
    

  assets:
    - assets/QR.svg
    - assets/welcome_animation.flr
    - assets/send_animation.flr
  

И вот как я пытаюсь использовать шрифт. Если я добавляю что-либо, кроме fonts / NunitoSans-Regualar.ttf, я получаю сообщение об ошибке, что этот шрифт отсутствует в нужном месте.

 final font1 = await rootBundle.load('fonts/NunitoSans-Regular.ttf');

final font2 = await rootBundle.load('fonts/NunitoSans-Regular.ttf');
  

Приветствуется любая помощь. Это моя полная ошибка (ссылка мне не помогла, извините):

 Courier has no Unicode support see https://github.com/DavBfr/dart_pdf/wiki/Fonts-Management

 The font is not in my assets, its like this:
  

каталог

Комментарии:

1. Поскольку Courier не указан ни в одном из выбранных вами шрифтов, он должен использоваться, когда запрошенный шрифт не найден.

2. есть какие-нибудь идеи о том, как найти требуемый шрифт?

3. Просто убедитесь, что он установлен в вашей системе.

4. он установлен, поэтому я не могу понять, почему я не могу получить к нему доступ

Ответ №1:

   fonts:
- family: Montserrat
  fonts:
    - asset: assets/fonts/Montserrat-Regular.ttf
- family: MontserratMedium
  fonts:
    - asset: assets/fonts/MontserratMedium-Medium.ttf    
- family: MontserratLight
  fonts:
    - asset: assets/fonts/MontserratLight-Light.otf    
- family: OpenSans  
  fonts:
    - asset: assets/fonts/OpenSans-Regular.ttf
- family: Palatino
  fonts:
    - asset: assets/fonts/Palatino-Italic.ttf
  

При использовании виджета, подобного этому

  TextStyle(
fontFamily: 'Montserrat',
color: Colors.white,
fontSize: 28,
fontWeight: FontWeight.w100,
//fontStyle: FontStyle.normal,
letterSpacing: 2,
);

TextStyle(
fontFamily: 'MontserratMedium',
color: Colors.white,
fontSize: 17,
letterSpacing: 0,
);
  

Комментарии:

1. мне нужно использовать его как final font1 = await rootBundle.load(‘шрифты / NunitoSans-Regular.ttf’); Не могу изменить эту часть