LINE株式会社とヤフー株式会社(現 LINEヤフー株式会社) の合併に伴い、既存のYahoo!プレミアムで提供していた特典に加え、新たにLINEの特典まで利用できる月額会員制サービス「LYPプレミアム」の提供を開始しました。このLYPプレミアムの機能の一つとして、LINEの表示フォントを自分好みのフォントに変更できる「会員限定フォント」機能が追加されました。この機能を実装するにあたり、以下のように大きく3つの要件があります。
- フォントリストをユーザーに表示する。
- ユーザーが選択したフォントを動的にダウンロードする。
- ダウンロードしたフォントをアプリ全体に適用する。
この記事では、上記の中で2と3の要件を実装する過程で、行ったことを紹介します。
Androidでフォントを適用する方法
Androidでフォントを適用する方法を知るには、まず、以下の3つの用語の定義と違いを知る必要があります。
- フォントファイル:文字を画面に表現するための情報(style,weight,size)をまとめたファイル
- font-family:styleとweightによってどのようなフォントに見えるかを定義したフォント集合
- Typeface:フォントをメモリに読み込み、システムリソースとして適用できるクラス
上記の用語を使って前述の要件を再定義すると、「サーバーからフォントファイルを動的にダウンロードし」、それを「Typefaceクラスに読み込んでビューに適用」することといえます。
次にAndroidでフォントを適用する静的な方法と、動的な方法について説明します。