2017-09-20 65 views
6

Przez jakiś czas używałem czcionki Futura-Demi.otf.Załaduj czcionkę w systemie iOS 11 (lub Xcode 9)

Za pomocą poniższego kodu mógłbym potwierdzić, że ten plik zawiera wiele czcionek.

for fname in UIFont.familyNames { 
    for name in UIFont.fontNames(forFamilyName: fname) { 
     print(name) 
    } 
} 

Rodzina czcionki jest Futura i zawiera fonty, jak poniżej:

Futura-CondensedExtraBold 
Futura-Dem 
Futura-Medium 
Futura-Bold 
Futura-CondensedMedium 
Futura-MediumItalic 

Użyłem Futura-Dem czcionki z UIFont(name: "Futura-Dem", size: 21) bez żadnych problemów do tej pory. Jednak po wydaniu iOS 11 nie mogę już używać tej czcionki. Wszystkie czcionki Futura-Dem zostały zmienione na Futura-Medium nawet w aplikacji, która już istnieje w App Store.

Sprawdziłem, że czcionka jest ładowany przez UIFont(name: "Futura-Dem", size: 21)Futura-Medium czcionki i ja również, że mogę używać Futura-Dem czcionki z

let des = UIFontDescriptor(name: "Futura-Dem", size: 21) 
let font = UIFont(descriptor: des, size: 21) 

Powyższe ładunku kodowych Futura-Dem powodzeniem, ale nie mam pojęcia, dlaczego nie mogę po prostu użyj UIFont(name: "Futura-Dem", size: 21), tak jak wcześniej.

Odpowiedz

4

Miałem ten sam problem, z niestandardową czcionką Futura.

Użyłem oprogramowania Birdfont (https://birdfont.org/ *), aby zmienić nazwę czcionki na coś innego (nie zaczynając od Futury, tylko jedno słowo zaczynające się od dużej litery). I zmiana nazwy pliku, ale tak naprawdę to, co było ważne, to zmiana nazwy czcionki w meta danych czcionki.

Następnie połączyłem tę zmienioną nazwę z aplikacją na iOS i zadziałało. Nie wiem, dlaczego pojawił się problem z Futurą, ale ta sztuczka rozwiązała problem.

* Uwaga: istnieje również FontForge (http://fontforge.github.io/en-US/), jeśli z jakiegoś powodu Birdfont nie działa dla Ciebie.

Powiązane problemy