iOSでフォントを使用するには、フォントのフルネーム(PostScript名)に基づいてフォントをロードする必要があります。これは、フォントの実際のファイル名とは異なる場合があります(通常は異なります)。
フォントファイル「Arial-regular.ttf」の名前を「foo.ttf」に変更することを想像してみてください。名前を変更したばかりのフォントファイルに含まれているフォントは、引き続き「Arial-regular」です。
このスレッドですでにフォント名を取得するための優れたプログラムによる方法がいくつかありますが、コマンドラインを使用した別のアプローチがあります。
MacまたはLinuxを使用している場合は、カスタムフォントがあるディレクトリのコマンドラインからこのスクリプトを実行するだけです(おそらくすでにインストールされているfontconfigのfc-scan
ユーティリティを使用しますが、そうでない場合は自作でインストールできます:) :brew install fontconfig
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でフォントを開くよりも高速です。 PostScript名を調べます。
役立つヒント:ターミナルで上記のスクリプトにエイリアスを設定して、現在のディレクトリ内のすべてのファイルのすべてのPostScriptフォント名を取得するために1つのコマンドを入力するだけの場合(私の関数が呼び出されるfontnames
ので、すべての作業を行う必要があります)はfontnames
、フォントを含むディレクトリ内のターミナルで入力すると、PostScript名が自動的に出力されるため、開発ワークフローの時間を節約し、この便利なスクリプトを必要なときにすぐに使用できるようになります。
お役に立てれば!