2019年2月1日金曜日

macOSアプリでバンドルリソースにある書体を反映させる

環境:
macOS10.13.6, XCode10.1

問題:
macOSアプリで、書体データをバンドルしカスタムフォントとして利用する(アプリのみで利用し、Font Bookなどで書体インストールはせずに使う)

解決(以下、書体名:Test, 書体ファイル:test.otfを反映させる例):
1.Build PhaseのCopy Bundle Resourcesから、test.otfを追加
2.info.plistにFonts provided by applicationを追加し、フォント名"Test"を追加
3.info.plistにApplication fonts resource pathを追加し、フォントファイル名"test.otf"を追加
4.NSFontのfontWithNameで書体名を指定して使用する

※Font Bookで書体がmacOSにインストールされている場合は、2までの設定で動作する。
※Font Bookで書体がmacOSにインストールされていない場合は、3の設定が必要
※Font Bookで書体がmacOSにインストールされていない場合は、IB上では反映できない

参考:
https://stackoverflow.com/questions/27680893/how-to-use-custom-fonts-in-a-mac-application

0 件のコメント: