iPhone OS 3.2でサポートされたカスタムフォントを試す
2013/02/01 追記
情報が古いため新しい環境で動作する記事を書きました。
> iOSアプリに独自フォントを組み込んで表示する
iPadで外部フォントを使おうというおはなし。
この機能は iPhone OS(iOS) 3.2 以降で利用できます。
ちなみに、カスタムフォントでサポートしているフォント形式は、
- PostScript Type1ベースのOpenType (拡張子 .otf)
- TrueTypeベースのOpenType (拡張子 .ttf)
のようです。ちゃんと調べてませんが。
今回は例として無償で使えるTrueTypeアウトラインベースのOpenTypeフォント「IPAexフォント(IPAex明朝)」を利用してみます。
ダウンロードはこちら> http://ossipedia.ipa.go.jp/ipafont/
開発の手順は以下の通り。
- フォントをリソースに追加する
- プロパティリストファイルにUIAppFontsキーを追加する。Value Type は Array で。
- Array Itemを追加し、フォントファイル名を拡張子付きで指定する(ipaexm.ttf)
- コードからフォント名を設定する以下は配置したUILabelのフォントを変更する例です。
[myLabel setFont: [UIFont fontWithName:@"IPAexMincho" size:60]];
ここで指定する文字列はフォントファイル名ではありません。Font Bookでフォントを開いたときにウィンドウタイトルに表示される名前です。あるいは、Finderでファイル情報を表示したときのフルネーム項目に相当する文字列です。
エントリーを参考にさせてもらいつつ試したのですが、現在のFontBookで表示すると
フォント名が「IPAex明朝」と表示され、それを入力してもフォントの変更ができませんでした。
「IPAexMincho」を指定するとフォントの変更は出来ました。
いろいろ試してもフォントの変更が出来るフォント名を調べる事ができず、
最終的にバイナリエディタでフォントを覗いてそれっぽい名前を指定してみたりして解決しました。
>カエルさま
情報ありがとうございます。
確かに最近のFontBookでは表示されませんね。
FontBookのメニュー「プレビュー>フォント情報を表示」とすると出てくるPostScript名がfontWithNameメソッドで指定するフォント名になります。
一度Macにフォントをインストールする必要がありますが、この方法でも確認できますので以後お試しください。
近日中に記事を修正しておきます。
内容を更新した記事を新たにポストしましたのでそちらをご覧ください。
http://develop.calmscape.net/dev/295/