Exception Code.

iPhone、Macと読書が大好き。iPhone・Mac・書評を中心に好きな事を書いていました。今は『ほーくブログ』でブログを書いています。

[XCode]iPhoneに入っていないフォント(カスタムフォント)を使えるようにする方法と注意点

      2013/09/06

スクリーンショット 2012 12 14 1 03

iPhoneは結構いろんなフォントが使えますが、「オリジナルのフォントを使いたい!」という方もいるはず。

僕もとある事情でiPhoneに入っていないフォントを使うことになったのですが、ここで予想外の落とし穴があり、文字通りハマッてしまったので注意点をここに記しておこうと思います。

カスタムフォントをXCodeで使えるようにする

今回はフリーフォントの「たぬき油性マジック」というフォントを使います。

参考
TrueType形式のフリーフォント「たぬき油性マジック」を公開しました。: たぬきフォント

フォントを使いたいプロジェクトにドラッグしてコピーします。

スクリーンショット 2012 12 12 23 24

僕は「Resources」というグループを作成して、そこに入れました。

スクリーンショット 2012 12 12 23 24

このままでは使用できないので、「.plist」ファイル(Supporting Files内)を開き、右クリック→AddRowを選択。

Keyは「Fonts provided by application」を選択し、Item0のValueに追加したフォントのファイル名(ttf含む)を入力します。今回は「TanukiMagic.ttf」です。

スクリーンショット 2012 12 12 23 36

 んで、フォントを変えたいテキストにフォントを指定してやります。

lblCustomFont.font = [UIFont fontWithName:@"Tanuki-Permanent-Marker" size:30];

こんな感じです。

名前を間違えるとフォントが変わらない

ここで注意して欲しいのが、フォント名の部分。ずっと追加したファイル名の拡張子(ttf)抜きだと思ってハマっていました。

Macでフォントファイルをインストールして、フォントを選択した後にcommand+Iをキーボードで押した時に出てくる「PostScript名」を入力してやらねばなりません。

Font Book

特に日本語フォントは想像できない名前だったりするので気をつけましょう。

 - 開発/プログラム

  関連記事

デスマーチを止める!システム開発の成功に「設計」と「テスト」は欠かせない

「デスマーチ」という、IT業界で名の知れた用語があります。 商品知識のない営業が …

bloggerXcode-icon-375x375-75.png
[XCode]Title set but using a system Identifierなる警告が出たときの対処法

最近iPhoneアプリ開発を始めた@hawk_aです。 StoryBoardを使 …

bloggerXcode-icon-375x375-75.png
[XCode]gitでcommitしたファイル(リモートリポジトリ)を巻き戻す方法

結構前からgitを実験的に導入してcommitやpushをしています。とうとう先 …

bloggerXcode-icon-375x375-75.png
[XCode]UISplitViewControllerからUIViewController SplitViewから1つのビューに遷移させる方法

昨日に引き続き。 [XCode4.4]UIViewController→UISp …

bloggerXcode-icon-375x375-75.png
[XCode]NSNotificationってなに?って人もとりあえずこれだけは知っておくべき

異なるクラス間で通知や変数を渡したりできる便利なNSNotificationです …

プログラミングができるだけではプロジェクトは成功しない

プログラマーなのに最近は電話対応で1日が終わる僕です。いろんな所でうめき声ととも …

bloggerXcode-icon-375x375-75.png
[XCode 4.3]Text Fieldの入力が終わったら次のText Fieldにソフトウェアキーボードでカーソルを移動させて最後にボタンを押す方法

XCodeをしこしこやっております。ほーく(@hawk_a)です。 プログラムの …

bloggerXcode-icon-375x375-75.png
[XCode]ARC使用中にエラー「EXC_BAD_ACCESS」「respondsToSelector」が出た場合の対処法

なんでも、このエラーは解放済み(ゾンビ)のインスタンスにアクセスした時に出るエラ …

bloggerXcode-icon-375x375-75.png
[XCode]親子関係じゃないView間で値の受け渡しをする方法

@hawk_a 親子じゃないときは、Appdelegateに変数書いてそれを参照 …

bloggerXcode-icon-375x375-75.png
[XCode]UINavigationBarにUIBarButtonItemでボタンを追加する方法

アプリ開発には欠かせないナビゲーションバー。 UINavigationBarにボ …