Twoje założenie jest prawidłowe. iOS wymaga zidentyfikowania czcionki na podstawie jej nazwy Postscript (lub pełnej nazwy), która nie zawsze jest taka sama jak rzeczywista nazwa pliku czcionki .
Nazwę PostScript można uzyskać za pomocą FontBook (jak pokazano na zaakceptowanej odpowiedzi tutaj), ale są też inne sposoby.
Bezpośrednio z XCode można wyodrębnić nazwę PostScript z zainstalowanych czcionek projektu za pośrednictwem UIFont
. Po prostu uruchom to, aby wydrukować nazwy PostScript zainstalowanych czcionek projektu:
W celu C ( źródło ):
for (NSString *fontFamilyName in [UIFont familyNames]) {
for (NSString *fontName in [UIFont fontNamesForFamilyName:fontFamilyName]) {
NSLog(@"Family: %@ Font: %@", fontFamilyName, fontName);
}
}
Lub Swift 3.0 ( źródło )
for familyName in UIFont.familyNames {
for fontName in UIFont.fontNames(forFamilyName: familyName ) {
print("\(familyName) : \(fontName)")
}
}
Lub z terminala , z poziomu katalogu, w którym masz pliki czcionek, możesz uruchomić ten skrypt, aby wydrukować wszystkie nazwy PostScript czcionek w bieżącym katalogu (używa fc-scan
narzędzia z fontconfig, który prawdopodobnie już jest zainstalowany) ( źródło ):
for file in "$arg"*.{ttf,otf}; do fc-scan --format "%{postscriptname}\n" $file; done
Oto zrzut ekranu powyższego polecenia uruchomionego w moim ~/Library/Fonts
katalogu:
Powyższy skrypt przejdzie przez wszystkie pliki .ttf
i .otf
w bieżącym katalogu, a następnie wydrukuje nazwę PostScript dla każdej czcionki, której można użyć do odwołania się do pliku czcionki w XCode lub w innym miejscu.
Jeśli chcesz uzyskać dodatkowe informacje (PostScriptName, Nazwa pliku) i kodowanie kolorami, możesz uruchomić ten alternatywny skrypt:
for file in "$arg"*.{ttf,otf}; do
postscriptname=$(fc-scan --format "%{postscriptname}\n" $file);
printf "\033[36m PostScript Name:\033[0m %s \e[90m(%s)\033[0m\n" "$postscriptname" "$file";
done
Jest to nieco szybsze niż kopiowanie i wklejanie kodu w pliku AppDelegate.m, aby drukować nazwy za każdym razem, gdy chcesz dodać nowy plik czcionek, co jest popularną metodą, a także szybsze niż otwieranie czcionki w FontBook w sprawdź nazwę PostScript.
PRZYDATNA WSKAZÓWKA: Jeśli alias powyższego skryptu zostanie umieszczony w terminalu, aby wystarczyło tylko wpisać jedno polecenie, aby uzyskać wszystkie nazwy czcionek PostScript dla wszystkich plików w bieżącym katalogu, zaoszczędzisz czas w procesie programowania i przygotuj ten poręczny skrypt gotowy do użycia, gdy go potrzebujesz.
Mam nadzieję że to pomoże!