19 votes

Comment puis-je obtenir le nom PostScript d'une police TTF installée dans OS X ?

J'ai installé sur mon Mac une police True Type que j'ai ajoutée à un projet de développement X-Code. Je n'arrive pas à la faire fonctionner avec mon application, mais je pense que c'est parce que j'utilise le mauvais nom de police.

En utilisant le Livre des polices, ou tout autre outil, comment puis-je obtenir le nom de la police Postscript à partir des métadonnées de la police ?

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

33voto

Tom Gewecke Points 1034

Ouvrez le Livre de polices application. (Il devrait se trouver dans votre Applications dossier.)

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

Sélectionnez Afficher les informations sur la police de la Prévisualisation Menu. ( Ou utilisez + i ).

screenshot:fontbook font info

Si vous ne voyez qu'un aperçu, assurez-vous de cliquer sur l'icône de l'ordinateur. i enter image description here

11voto

radiovisual Points 211

Votre hypothèse est correcte. iOS exige que vous identifiiez une police sur la base de son nom Postscript (ou Fullname), qui n'est pas toujours le même que le nom de fichier réel de la police. .

Vous pouvez obtenir le nom PostScript en utilisant FontBook (comme indiqué dans la réponse acceptée ici), mais il existe d'autres moyens.

Directement dans XCode, vous pouvez extraire le nom PostScript des polices installées du projet via UIFont . Il suffit de l'exécuter pour imprimer les noms PostScript des polices de votre projet installé :

Sur Objectif-C ( fuente ) :

for (NSString *fontFamilyName in [UIFont familyNames]) {
    for (NSString *fontName in [UIFont fontNamesForFamilyName:fontFamilyName]) {
        NSLog(@"Family: %@ Font: %@", fontFamilyName, fontName);
    }
}

Ou Swift 3.0 ( fuente )

for familyName in UIFont.familyNames {
    for fontName in UIFont.fontNames(forFamilyName: familyName ) {
        print("\(familyName) : \(fontName)")
    }
}

Ou du terminal à partir du répertoire où se trouvent vos fichiers de polices, vous pouvez exécuter ce script pour imprimer tous les noms PostScript des polices à l'intérieur du répertoire actuel (utilise l'attribut fc-scan l'utilité de fontconfig qui est probablement déjà installé) ( fuente ) :

for file in "$arg"*.{ttf,otf}; do fc-scan --format "%{postscriptname}\n" $file; done

Voici une capture d'écran de la commande ci-dessus exécutée sur mon ordinateur. ~/Library/Fonts répertoire :

enter image description here

Le script ci-dessus passera en revue tous les éléments suivants .ttf y .otf dans le répertoire courant, puis d'imprimer le fichier Nom PostScript pour chaque police, que vous pouvez utiliser pour référencer le fichier de police dans XCode ou ailleurs.

Si vous voulez être fantaisiste avec des informations supplémentaires (PostScriptName, Filename) et un code 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

enter image description here

C'est un peu plus rapide que de copier-coller du code dans votre fichier AppDelegate.m pour imprimer les noms chaque fois que vous voulez ajouter un nouveau fichier de police, ce qui est la méthode la plus courante, et c'est aussi plus rapide que d'ouvrir la police dans FontBook pour inspecter le nom PostScript.

CONSEIL UTILE : Si vous aliassez le script ci-dessus dans votre terminal de sorte que tout ce que vous devez faire est de taper une seule commande pour obtenir tous les noms de polices PostScript pour tous les fichiers dans le répertoire actuel, alors vous gagnerez du temps dans votre flux de travail de développement et vous aurez ce script pratique prêt à être utilisé quand vous en aurez besoin.

J'espère que cela vous aidera !

3voto

Rampancy Points 21

Je suis tombé sur un cas d'utilisation légèrement différent que j'ai pensé devoir partager avec d'autres :

Un fichier de police que j'ai acheté et téléchargé est limité à l'utilisation de l'application. J'utilise habituellement FontBook, comme la réponse acceptée, pour récupérer le nom PostScript. Cependant, en raison de la restriction d'utilisation de l'application, je n'ai pas pu importer la police dans FontBook.

Ce qui a fonctionné pour moi, c'est de cliquer avec le bouton droit de la souris sur le fichier de police et de sélectionner "Get Info". La valeur dans le champ "Full name" sous l'onglet General est ce qui a fonctionné pour moi et semble être le nom PostScript. J'ai vérifié cela avec quelques autres fichiers de polices dont je connaissais le nom PostScript avec certitude.

Facile et n'implique pas d'ouvrir une autre application.

1voto

PhilT Points 863

Vous pouvez utiliser FontDrop

Un merveilleux outil en ligne qui vous permet d'extraire des informations de vos fichiers de polices de caractères.

Déposez votre fichier de police dans la zone de dépôt :

enter image description here

Faites défiler un peu et sélectionnez l'onglet "Données" :

enter image description here

Vous trouverez le nom postscript de votre police sous le nom de propriété "postScriptName".

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X