Как мне использовать шрифт Awesome в качестве пользовательского шрифта в SwiftUI?

#swift #macos #swiftui #custom-font

#swift #macos #swiftui #пользовательский шрифт

Вопрос:

Я следовал ряду руководств по добавлению пользовательского шрифта в мой пакет SwiftUI. Я должен выполнить следующие шаги:

  • Добавить Font Awesome 5 Free Solid-900.otf в мой проект.
  • Убедился, что шрифт скопирован и добавлен в цель
  • Добавлены имена файлов шрифтов в Fonts provided by application массив в Info.plist
  • Пытался получить имя шрифта
  • Перепробовал большое количество перестановок и комбинаций для имени шрифта.

Я попробовал следующее:

 Text(Text("u{f071} Danger Will Robinson").font(.custom("Font Awesome 5 Free Regular", size: 20))
  

который должен выдавать мне значок предупреждения, но все, что я получаю, это знак вопроса.

Есть ли хитрость в использовании шрифта Awesome таким образом?

Я знаю, что доступно несколько пакетов, но я пытаюсь узнать больше о самом процессе, и я не вижу, что это должно быть слишком сложно.

Ответ №1:

Хорошо, я разобрался.

  • Для macOS Info.plist ключ: Application fonts resource path , а не как указано выше.
  • Следующий трюк — получить имя шрифта.

Один из способов — установить шрифт, а затем проверить FontBook. Имя PostScript — это то имя, которое мне нужно.

Другой способ — запустить следующий код:

 let fontManager = NSFontManager.shared
let fonts = fontManager.availableFonts
for name in fonts {
    print(name)
}
  

Вот что происходит, когда все учебные пособия предназначены для iOS, а не для macOS.