iPhone OS 3.2でサポートされたカスタムフォントを試す

Pocket

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/

開発の手順は以下の通り。

  1. フォントをリソースに追加する
  2. プロパティリストファイルにUIAppFontsキーを追加する。Value Type は Array で。
  3. Array Itemを追加し、フォントファイル名を拡張子付きで指定する(ipaexm.ttf)
  4. コードからフォント名を設定する以下は配置したUILabelのフォントを変更する例です。
    [myLabel setFont: [UIFont fontWithName:@"IPAexMincho" size:60]];

    ここで指定する文字列はフォントファイル名ではありません。Font Bookでフォントを開いたときにウィンドウタイトルに表示される名前です。あるいは、Finderでファイル情報を表示したときのフルネーム項目に相当する文字列です。

実行サンプルはこのようになります。
上段がデフォルトのHelveticaフォント、下段がIPAex明朝フォントです。

3 thoughts on “iPhone OS 3.2でサポートされたカスタムフォントを試す

  1. カエル より:

    エントリーを参考にさせてもらいつつ試したのですが、現在のFontBookで表示すると
    フォント名が「IPAex明朝」と表示され、それを入力してもフォントの変更ができませんでした。
    「IPAexMincho」を指定するとフォントの変更は出来ました。
    いろいろ試してもフォントの変更が出来るフォント名を調べる事ができず、
    最終的にバイナリエディタでフォントを覗いてそれっぽい名前を指定してみたりして解決しました。

  2. calmscape より:

    >カエルさま
    情報ありがとうございます。
    確かに最近のFontBookでは表示されませんね。
    FontBookのメニュー「プレビュー>フォント情報を表示」とすると出てくるPostScript名がfontWithNameメソッドで指定するフォント名になります。
    一度Macにフォントをインストールする必要がありますが、この方法でも確認できますので以後お試しください。
    近日中に記事を修正しておきます。

  3. calmscape より:

    内容を更新した記事を新たにポストしましたのでそちらをご覧ください。
    http://develop.calmscape.net/dev/295/

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です