Comment obtenir le nom PostScript d'une police TTF installée sous OS X?

12

J'ai une police TTF installée sur mon Mac que j'ai ajoutée à un projet de développement X-Code. Pour ma vie, je ne peux pas le faire fonctionner avec mon application, mais je pense que c'est parce que j'utilise le mauvais nom de police.

À l'aide de Font Book ou de tout autre outil, comment puis-je obtenir le nom de police PostScript à partir des méta-données de police?

J'ai l'intuition que le Postscript namepourrait être différent du Font name, mais je dois vérifier.

RLH
la source

Réponses:

17

Ouvrez l' application Livre de polices . (Cela devrait être dans votre dossier Applications .)

Sélectionnez la police pour laquelle vous avez besoin du nom PostScript.

Sélectionnez Afficher les informations sur la police dans le menu Aperçu . (Ou utilisez + i).

capture d'écran: fontbook font info

Tom Gewecke
la source
7

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-scanutilitaire 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/Fontsrépertoire:

entrez la description de l'image ici

Le script ci-dessus parcourt tous les fichiers .ttfet .otfdans 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

entrez la description de l'image ici

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!

radiovisuel
la source