カスタムフォントの追加とローカライズ設定の手順【Xcode】

はじめに

カスタムフォントの導入とローカライズ設定する機会があり、簡単だったので手順をまとめました。

フォントの追加手順

1. 使用したいフォントの追加

使用したいフォントをXcodeに追加します。(デフォルトで入っている場合は問題ないです)
私はGoogleFonts をよく利用しています。
デザイナーさんもよく使っていると聞いたのと、オープンソースのフォントを簡単に検索できて、サポートしている言語も一覧で分かるので使いやすいです。

ダウンロードしたら、zipファイルを展開して追加したいフォントの.ttfファイル (.otfファイルの場合もある)をXcodeに追加します。

Copy item if neededにチェックを入れ、Add to targetsでアプリを選択します。

Fontsディレクトリを作成してフォントファイルを追加しています。

2. info.plistにFonts provided by applicationを追加する

フォントファイルを追加したらすぐに使えると思いきや、info.plistにFonts provided by application (Array)を追加し、その子要素にitem0, item1, …キーと追加したいフォントのファイルを順番に記載する必要があります。(下記のスクショを参照)
このとき、フォントファイルの拡張子 (今回の例だと.ttf)まで記載する必要があります。

追加したフォントの使用

追加したフォントを使用してみましょう。

Storyboardで使用する場合

例えば、UILabelの設定をする場合、Attributes InspectorでFontを指定します。追加したフォントが一覧に含まれているので選択するだけで大丈夫です。

【Font】でCustom、【Family】で追加したフォント、【Style】で文字の太さを選択します。(下記スクショ参照)
Xcodeに追加したFont, Styleを選択できるはずです。

コードで使用する場合

例えば、UILabelを設定する場合、次のようにフォントを使用します。

label.font = UIFont(name: "NotoSans-Regular", size: 20)

フォントのnameには、拡張子を含まないフォント名の文字列を指定することに注意してください。

ローカライズ設定

ローカライズの設定も簡単です。

PROJECTの【info】タブにあるLocalizationを追加します。
Use Base Internationalizationにチェックが入っていることを確認してください。入っていなければチェックを入れます。これでフォントのBaseを使用できます。

次に、[+]ボタンをクリックして、ローカライズしたい国の言語を選択します。

👇今回はSpanishを選択してみました。

フォントファイルを選択して、File Inspectorで【Localize…】をクリックします。

「Base」が選択されていることを確認したらLocalizeボタンをクリックします。

対応したい言語にチェックマークを入れます。

以上でローカライズの設定は完了です。
フォントだけでなく、画像なども同様の方法でローカライズできるようなので、機会があればやってみたいと思います。

終わりに

フォントをXcodeに追加してローカライズ設定する手順をまとました。
フォントのローカライズをする機会は少ないかもしれませんが、この記事が少しでも役に立てば幸いです。

参考文献

この記事は、以下の記事を参考に書きました。