OS XにインストールされているTTFフォントのPostScript名を取得するにはどうすればよいですか?


16

X-Code開発プロジェクトに追加したTTFフォントがMacにインストールされています。私の人生では、アプリケーションで動作させることはできませんが、間違ったフォント名を使用しているためだと思います。

Font Bookまたは他のツールを使用して、フォントメタデータからPostscriptフォント名を取得するにはどうすればよいですか?

Postscript nameがと異なる可能性があるという予感がありますFont nameが、確認する必要があります。

回答:


24

Font Bookアプリケーションを開きます。(アプリケーションフォルダーにある必要があります。)

Postscript名が必要なフォントを選択します。

[ プレビュー ]メニューから[ フォント情報表示 ]を選択します。(または+を使用)。i

スクリーンショット:fontbookフォント情報


7

あなたの仮定は正しいです。iOSでは、Postscript名(またはフルネーム)に基づいてフォントを識別する必要がありますが、これは常にフォントの実際のFilenameと同じではありません

FontBookを使用してPostScript名を取得できます(ここで受け入れられている回答を参照)が、他の方法もあります。

XCodeの内部から直接、を介してプロジェクトのインストール済みフォントからPostScript名を抽出できますUIFont。これを実行するだけで、インストールされているプロジェクトフォントのPostScript名を印刷できます。

Objective-C ソース):

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

またはSwift 3.0ソース

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

または、ターミナルから、フォントファイルがあるディレクトリ内から、このスクリプトを実行して、現在のディレクトリ内のフォントのすべてのPostScript名を印刷できます(すでにインストールされているfontconfigfc-scanユーティリティを使用します)(ソース):

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

~/Library/Fontsディレクトリで実行されている上記のコマンドのスクリーンショットは次のとおりです。

ここに画像の説明を入力してください

上記のスクリプトは、現在のディレクトリ内のすべてのファイル.ttf.otfファイルを実行し、XCodeまたは他の場所でフォントファイルを参照するために使用できる各フォントのPostScript名を出力します。

いくつかの追加情報(PostScriptName、Filename)といくつかのカラーコーディングに興味がある場合は、次の代替スクリプトを実行できます。

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

ここに画像の説明を入力してください

これは、新しいフォントファイルを追加するたびに名前を印刷するAppDelegate.mファイル内にコードをコピーアンドペーストするよりも少し高速です。これは一般的な方法であり、FontBookのFontを開くよりも高速です。 PostScript名を調べます。

便利なヒント:上記のスクリプトを端末でエイリアス化して、1つのコマンドを入力するだけで、現在のディレクトリ内のすべてのファイルのすべてのPostScriptフォント名を取得する場合、開発ワークフローの時間を節約し、この便利なスクリプトは、必要なときにすぐに使用できます。

お役に立てれば!


2

私は他の人と共有すべきだと思ったわずかに異なるユースケースに出くわしました:

購入してダウンロードしたフォントファイルは、アプリの使用のみに制限されています。私は通常、受け入れられた答えのように、PostScript名を取得するためにFontBookを使用します。ただし、アプリの使用制限のため、フォントをFontBookにインポートできませんでした。

私のために働いたのは、フォントファイルを右クリックして「情報を見る」を選択することでした。「一般」タブの下の「フルネーム」フィールドの値は、私にとってはうまくいき、PostScript名のように見えます。PostScript名を確実に知っている他のいくつかのフォントファイルでこれを確認しました。

簡単で、別のアプリを開く必要はありません。


0

FontDropを使用できます

フォントファイルから情報を抽出できるすばらしいオンラインツール

フォントファイルをドロップ可能な領域にドロップします。

ここに画像の説明を入力してください

少しスクロールして、「データ」タブを選択します。

ここに画像の説明を入力してください

フォントのポストスクリプト名は、プロパティ名「postScriptName」の下にあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.