Il tuo presupposto è corretto. iOS richiede che tu identifichi un font in base al nome Postscript (o Fullname), che non è sempre uguale al nome file effettivo del font .
Puoi ottenere il nome PostScript usando FontBook (come mostrato nella risposta accettata qui), ma ci sono altri modi.
Dall'interno di XCode, è possibile estrarre il nome PostScript dai caratteri installati del progetto tramite UIFont
. Basta eseguirlo per stampare i nomi PostScript dei caratteri di progetto installati:
In Objective-C ( fonte ):
for (NSString *fontFamilyName in [UIFont familyNames]) {
for (NSString *fontName in [UIFont fontNamesForFamilyName:fontFamilyName]) {
NSLog(@"Family: %@ Font: %@", fontFamilyName, fontName);
}
}
O Swift 3.0 ( fonte )
for familyName in UIFont.familyNames {
for fontName in UIFont.fontNames(forFamilyName: familyName ) {
print("\(familyName) : \(fontName)")
}
}
O dal terminale , dall'interno della directory in cui sono presenti i file dei caratteri, è possibile eseguire questo script per stampare tutti i nomi PostScript dei caratteri all'interno della directory corrente (utilizza l' fc-scan
utilità di fontconfig che è già installata) ( fonte ):
for file in "$arg"*.{ttf,otf}; do fc-scan --format "%{postscriptname}\n" $file; done
Ecco uno screenshot del comando sopra in esecuzione sulla mia ~/Library/Fonts
directory:
Lo script sopra verrà eseguito attraverso tutti i file .ttf
e .otf
nella directory corrente, quindi stamperà il Nome PostScript per ciascun font che è possibile utilizzare per fare riferimento al file di font in XCode o altrove.
Se vuoi divertirti con alcune informazioni aggiuntive (PostScriptName, Nome file) e alcuni codici colore, puoi eseguire questo script alternativo:
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
Questo è un po 'più veloce del codice copia-incolla all'interno del tuo file AppDelegate.m per stampare i nomi ogni volta che vuoi aggiungere un nuovo file di font, che è il metodo popolare, ed è anche più veloce dell'apertura del Font in FontBook a ispezionare il nome PostScript.
SUGGERIMENTO UTILE: se alias lo script sopra nel terminale in modo che tutto ciò che devi fare è digitare un singolo comando per ottenere tutti i nomi dei caratteri PostScript per tutti i file nella directory corrente, risparmierai tempo nel flusso di lavoro di sviluppo e avere questo pratico script pronto per l'uso quando ne hai bisogno.
Spero che sia di aiuto!