Notoフォント
Noto Sans CJKとは、AdobeとGoogleが共同開発したオープンソースの日本語フォント(CJKフォント)である。Adobeでの配布名は「源ノ角ゴシック」となっている。
Android 6.0以降に標準搭載されており、かつ日本語のシステムフォント(デフォルトフォント)となっている。
Windowsでいう「MS ゴシック」、Macでいう「ヒラギノ」みたいなものである。 アプリ開発などの際にフォントを明示しないと日本語はすべてこのフォントになる。
日本語
Notoフォントは世界各国の様々な言語に対応した巨大なフォント群であり、それぞれの言語ごとにttfファイルが用意されている。
そのうち日本語と中国語と韓国語に関しては「CJK」としてttfファイルではなくttcファイル(複数のttfファイルをアーカイブした形式)として提供されている。
/system/fonts/NotoSansCJK-Regular.ttc
githubあたりに転がっているttfファイルのパーサー(ライブラリ)の中にはttcファイルを読めないものもあるので注意しよう。
独自フォントが原因のレイアウト崩れ
日本国内メーカーのスマホはシステムフォントをNotoフォントではなく独自フォントに変えてあるものが多い。
これが原因で、アプリ開発時の画面レイアウトのデザインはNotoフォント前提で行われるのに対して、スマホ実機では別フォントなため字間や行間などが異なり画面レイアウトが崩れるなどの問題が発生することがある。とくにボタンなどは注意が必要で、左右に少し余裕をもったデザインにしておこないとはみ出すことがある。
システムフォントが原因のレイアウト崩れ
システムフォントはAndroidバージョンによっても異なるため、これが原因でレイアウト崩れが起きることもある。 しかも古いフォントはバッサリ削除されているので下手にシステムフォントを明示すると「フォントがない」という理由でクラッシュすることすらある。
- Android 6.0から「Notoフォント」と「Roboto」
- Android 4.0から5.xまで「モトヤフォント」と「Roboto」
- Android 3.xまで「Droid Sans Japanese」と「Droid Sans」