Votre hypothèse est correcte. iOS nécessite que vous identifiiez une police en fonction de son nom Postscript (ou nom complet), qui n'est pas toujours identique au nom de fichier de la police .
Vous pouvez obtenir le nom PostScript en utilisant FontBook (comme indiqué sur la réponse acceptée ici), mais il existe d'autres moyens.
À partir de XCode, vous pouvez extraire le nom PostScript des polices installées du projet via UIFont
. Il suffit de lancer ceci pour imprimer les noms PostScript de vos polices de projet installées:
En Objective-C ( source ):
for (NSString *fontFamilyName in [UIFont familyNames]) {
for (NSString *fontName in [UIFont fontNamesForFamilyName:fontFamilyName]) {
NSLog(@"Family: %@ Font: %@", fontFamilyName, fontName);
}
}
Ou Swift 3.0 ( source )
for familyName in UIFont.familyNames {
for fontName in UIFont.fontNames(forFamilyName: familyName ) {
print("\(familyName) : \(fontName)")
}
}
Ou depuis le terminal , depuis le répertoire dans lequel vous avez vos fichiers de polices, vous pouvez exécuter ce script pour imprimer tous les noms PostScript des polices dans le répertoire actuel (utilise l' fc-scan
utilitaire de fontconfig qui est probablement déjà installé) ( source ):
for file in "$arg"*.{ttf,otf}; do fc-scan --format "%{postscriptname}\n" $file; done
Voici une capture d'écran de la commande ci-dessus s'exécutant sur mon ~/Library/Fonts
répertoire:
Le script ci-dessus parcourt tous les fichiers .ttf
et .otf
dans le répertoire en cours, puis affiche le nom PostScript de chaque police que vous pouvez utiliser pour référencer le fichier de police dans XCode ou ailleurs.
Si vous souhaitez obtenir des informations supplémentaires avec des informations supplémentaires (PostScriptName, Nom du fichier) et des codes de couleur, vous pouvez exécuter ce script alternatif:
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
C’est un peu plus rapide que le code copier-coller dans votre fichier AppDelegate.m pour imprimer les noms à chaque fois que vous souhaitez ajouter un nouveau fichier de police, ce qui est la méthode populaire. Il est également plus rapide que d’ouvrir la police dans FontBook inspecter le nom PostScript.
CONSEIL UTILE: Si vous appelez le script ci-dessus dans votre terminal de manière à ne taper qu'une seule commande pour obtenir tous les noms de police PostScript de tous les fichiers du répertoire en cours, vous gagnerez du temps dans votre processus de développement. ayez ce script pratique prêt à utiliser quand vous en avez besoin.
J'espère que cela t'aides!