Wie kann ich den PostScript-Namen einer in OS X installierten TTF-Schriftart abrufen?

16

Auf meinem Mac ist eine TTF-Schriftart installiert, die ich einem X-Code-Entwicklungsprojekt hinzugefügt habe. Für mein Leben kann ich es nicht mit meiner Anwendung zum Laufen bringen, aber ich denke, das liegt daran, dass ich den falschen Schriftnamen verwende.

Wie kann ich mit Font Book oder einem anderen Tool den Postscript-Schriftnamen aus den Schriftart-Metadaten abrufen?

Ich habe die Vermutung, dass das Postscript nameanders sein könnte als das Font name, aber ich muss es überprüfen.

RLH
quelle

Antworten:

24

Öffnen Sie die Font Book- Anwendung. (Es sollte sich in Ihrem Anwendungsordner befinden .)

Wählen Sie die Schriftart aus, für die Sie den Postscript-Namen benötigen.

Wählen anzeigen Font Infos aus dem Vorschau - Menü. (Oder benutze + i).

Screenshot: fontbook font info

Tom Gewecke
quelle
7

Ihre Annahme ist richtig. iOS erfordert, dass Sie eine Schriftart anhand ihres Postscript-Namens (oder vollständigen Namens) identifizieren, der nicht immer mit dem tatsächlichen Dateinamen der Schriftart übereinstimmt .

Sie können den PostScript-Namen mit FontBook abrufen (wie in der akzeptierten Antwort hier gezeigt), aber es gibt auch andere Möglichkeiten.

Direkt in XCode können Sie den PostScript-Namen aus den installierten Schriftarten des Projekts über extrahieren UIFont. Führen Sie dies einfach aus, um die PostScript-Namen Ihrer installierten Projektschriftarten zu drucken:

In Objective-C ( Quelle ):

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

Oder Swift 3.0 ( Quelle )

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

Oder Sie können dieses Skript vom Terminal aus in dem Verzeichnis ausführen, in dem Sie Ihre Schriftdateien haben, um alle PostScript-Namen der Schriftarten im aktuellen Verzeichnis zu drucken (verwendet das fc-scanDienstprogramm von fontconfig, das wahrscheinlich bereits installiert ist) ( Quelle ):

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

Hier ist ein Screenshot des obigen Befehls, der in meinem ~/Library/FontsVerzeichnis ausgeführt wird:

Geben Sie hier die Bildbeschreibung ein

Das obige Skript durchläuft alle .ttfund .otf-Dateien im aktuellen Verzeichnis und druckt dann den PostScript-Namen für jede Schriftart aus, mit der Sie auf die Schriftartdatei in XCode oder anderswo verweisen können.

Wenn Sie zusätzliche Informationen (PostScriptName, Dateiname) und eine Farbcodierung wünschen, können Sie dieses alternative Skript ausführen:

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

Geben Sie hier die Bildbeschreibung ein

Dies ist etwas schneller als das Einfügen von Code in Ihre AppDelegate.m-Datei, um die Namen jedes Mal auszudrucken, wenn Sie eine neue Schriftartdatei hinzufügen möchten. Dies ist die beliebte Methode. Außerdem ist dies schneller als das Öffnen der Schriftart in FontBook to Überprüfen Sie den PostScript-Namen.

NÜTZLICHER TIPP: Wenn Sie das obige Skript in Ihrem Terminal als Alias ​​verwenden, sodass Sie nur einen einzigen Befehl eingeben müssen, um alle PostScript-Schriftnamen für alle Dateien im aktuellen Verzeichnis abzurufen, sparen Sie Zeit in Ihrem Entwicklungsworkflow und Halten Sie dieses praktische Skript bereit, wenn Sie es benötigen.

Hoffe das hilft!

radiovisuell
quelle
2

Kam auf einen etwas anderen Anwendungsfall, den ich für andere teilen sollte:

Eine von mir gekaufte und heruntergeladene Schriftartdatei darf nur von Apps verwendet werden. Normalerweise verwende ich FontBook, wie die akzeptierte Antwort, um den PostScript-Namen zu ermitteln. Aufgrund der Einschränkung der App-Verwendung konnte ich die Schriftart jedoch nicht in FontBook importieren.

Was für mich funktioniert hat, war mit der rechten Maustaste auf die Schriftartdatei zu klicken und "Info abrufen" auszuwählen. Der Wert im Feld "Vollständiger Name" auf der Registerkarte "Allgemein" hat bei mir funktioniert und scheint der PostScript-Name zu sein. Überprüfte dies mit ein paar anderen Schriftdateien, deren PostScript-Namen ich mit Sicherheit kannte.

Einfach und ohne Öffnen einer anderen App.

Amoklauf
quelle
0

Sie können FontDrop verwenden

Ein wunderbares Online-Tool, mit dem Sie Informationen aus Ihren Schriftdateien extrahieren können

Legen Sie Ihre Schriftartdatei im ablegbaren Bereich ab:

Geben Sie hier die Bildbeschreibung ein

Scrollen Sie ein wenig und wählen Sie dann die Registerkarte "Daten":

Geben Sie hier die Bildbeschreibung ein

Sie finden den Postscript-Namen Ihrer Schriftart unter dem Eigenschaftsnamen "postScriptName".

Abdelbasset E.
quelle