【React Native】アプリにGoogleフォントを適用する

タイトル通り、React Native アプリにカスタムフォントを適用する方法についてです。
今回は Google フォントの「Noto-Sans-CJK-JP」を導入しました。

実装にあたり、参考になったサイトがこちらです。

リアクトネイティブ(React Native)でカスタムフォントを使う方法 – リアクトネイティブ(React Native)プロジェクトでカスタムフォントを適用して使う方法について説明します。
https://dev-yakuza.posstree.com/react-native/react-native-custom-font/

 

まず、導入したいフォントをダウンロードします。
私は下記のページから「Noto-Sans-CJK-JP」フォントをダウンロードしました。

minoryorg/Noto-Sans-CJK-JP: サブセット化済みの「Noto Sans CJK JP」(日本語フォント)のCSS付きWebフォント
https://github.com/minoryorg/Noto-Sans-CJK-JP

ダウンロードが完了したら、Android、iOS の各プロジェクトに追加していきます。

まず、Android の場合は android/app/src/main/assets/fonts ディレクトリを作成し、こちらに必要な .ttf ファイルを追加していきます。
私の場合は、下記の3ファイルを追加しました。

  • NotoSansCJKjp-Regular.ttf
  • NotoSansCJKjp-Bold.ttf
  • NotoSansCJKjp-Black.ttf

iOS の場合は、/ios/Fonts ディレクトリを作成し、ここに必要な .ttf ファイルを追加します。
次に Xcode でプロジェクトを開き、ウィンドウ左上のプロジェクトディレクトリのルートで右クリックし、「Add Files to “[プロジェクト名]”…」をクリックします。
そして、先程追加した /ios/Fonts をプロジェクトに追加するのですが、この時「Create folder references」を選択することをお忘れなく!
一度間違えて「Create groups」を選択して追加した時は、アプリが実行された直後にクラッシュしました。
上記が完了したら Info.plist を開き、下記を追加してください。

<key>UIAppFonts</key>
<array>
  ......
  <string>Fonts/NotoSansCJKjp-Regular.ttf</string>
  <string>Fonts/NotoSansCJKjp-Bold.ttf</string>
  <string>Fonts/NotoSansCJKjp-Black.ttf</string>
</array>

準備はこれで完了です。

あとは、フォントを変更したいテキストに対して fontFamily を指定すればフォントが変更されます。
サンプルコードは下記のとおりです。

const styles = StyleSheet.create({
  message: {
    fontFamily: 'NotoSansCJKjp-Regular',
  }
});

 

<Text style={styles.message}>Google フォントを適用したメッセージ</Text>

これでフォントが変更されました。

Android はフォントの追加が簡単でしたが、iOS はそれと比べると少し作業が多い印象でした。
でも、どちらも実際にやってみればそれほど難しい作業でもなかったです。
とりあえず、/ios/Fonts をプロジェクトに追加する際に「Create folder references」を選択することを忘れなければ何とかなるはずです。

 

以上、React Native のアプリに Goolge フォントを追加する方法についてでした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG