主にAndroid向けに合成フォントを作ってみました。
Robotoは残しつつ日本語表示を変えたい人向け
root化したAndroid端末向けにシステムフォントをKoruriに変更するMagiskモジュールをすでに公開しています。
ただ、KoruriはOpen SansとM+ FONTSの合成フォントのため、「g」が二階建てのg・メガネgと呼ばれる形状になっているなど少しクセがある部分がありました。
また、Roboto + Noto Sans CJKと比べるとフォントの高さが高いようで行間が開いたような表示になります。
Koruri フォントに置き変える Magisk モジュールをv20.2+向けに更新しました【要root】 – AndroPlus
好みの問題なのでどちらが良いというものではないですが選択肢はあった方が良いということで、Androidのシステムフォントとして馴染みのあるRobotoと合わせたフォント、Mejiroを作成することにしました。
Koruriのフォークのようなものなので、青い小鳥→碧→緑という連想でメジロと名付けています。
Mejiro – Japanese composite font of M+ FONTS and Roboto
Mejiroの特徴
MejiroはRobotoフォントとM+ 1pを合成しているため、Robotoフォントを置換した際に発生する「ロック画面の時計のコロンが文字化けする」問題は発生しません。
また、OnePlusスマートフォンに搭載されているOxygenOS 11以降で使用されるコロンにも対応させています。
AndroidでRobotoフォントを置換するとロック画面のコロンが豆腐になる原因 – AndroPlus
また、Android環境だけでなくWindows環境でも綺麗な表示ができるようにヒンティング (gridfit) を無効化しています。
Windowsではヒンティング情報を使ってフォント表示を調整しようとするのですが、特にHiDPI環境では逆にその調整のせいでギザギザな汚らしい表示になってしまいます。(Visual Studio Codeなどで顕著です)
ヒンティング情報はAndroidやLinux、macOSなどでは基本的に無視されており、高解像度なディスプレイが当たり前となった現代ではもはや不要でしょう。
MejiroはApache License v2.0 でライセンスされており、商用を含む利用や再配布、埋め込み、改変などを自由にできます。
Mplus 1と組み合わせたバージョンのMcMejiroも配布しています。
McMejiro – Mplus 1 と Roboto を掛け合わせた日本語フォント
Magiskモジュール版
Magiskにてroot化したAndroidスマートフォン向けに、Mejiroに置換するMagiskモジュールを公開しています。
なお、AOSP Modsとはそのままでは併用できません。
AOSP Modsのフォント変更機能の仕様がおかしいことが原因なので、root権限を使えるファイル管理アプリで/data/adb/modules/AOSPMods/system/etc/fonts.xml
を消して再起動してください。
MIUIの日本語フォントとしての利用も
また、Xiaomiスマートフォンに搭載されているMIUI グローバル版・中国版のテーマストアでも配信しています。
MIUIではzFont 3など特殊なアプリを使わないと好きなフォントに変更できませんが、その場合はフォントファイルを含むテーマを自動生成する形になるため、壁紙が勝手に戻ってしまうなど不具合が発生してしまいます。
公式に配布されているフォントを使う方法であれば、そのような問題は発生しません。
テーマストアではどう考えても権利者でない人が再配布禁止フォントを配布してしまっているものがいくつもありますが、Mejiroは私が登録したものなのでライセンス的にもクリーンです。
追加設定→地域にてインドなどに設定すると、フォント変更するオプションがテーマストアに出てきます。
テーマアプリの検索ボックスに「Mejiro」もしくは「McMejiro」(または「日語」「Japanese」など) と入れて検索すると出てきます。
中国版テーマストアのアプリが入った状態では中国版のテーマしか表示されず、中国版テーマストアでは日本語フォントが登録・更新拒否されるようになってしまったので「McMejiro」しか出てきません。
Xiaomi側のフォントレンダリングがおかしいのか「Mejiro」だと小さい文字がかすれることがあるので、「McMejiro」のほうがおすすめです。
もしくは、Activity Launcherなどで「font」と検索すれば直接起動できます。
MIUIのテーマストアでMejiroを適用した場合システムUIなどほとんどの箇所は日本語フォントに変更できますが、Chromeなどブラウザ内ではページ側のフォント指定が優先されるためNoto Sans CJK / Mi Sansでの表示のままとなります。
非rootの限界ではありますが、設定のフィードバックから要望しておくと改善してくれるかもしれません。
【追記】フィードバックを読んでもらえたようで、MIUI 13の最近のビルドからはブラウザでもテーマの日本語フォントが反映されるようになりました!ただし古い機種には古い仕様のMIUIが配布されるため、バージョンアップしても変わらないことがあります。
中国版MIUIでもちゃんとした日本語フォントで使えるようになるので、かなり使いやすくなると思います。
OPPOテーマストアでの配布も
2021/08/31よりOPPOテーマストア (ColorOS・OxygenOS) でもMejiroの配信を開始しました。
グローバル版・日本版でもテーマストアでMejiroを探すだけで適用できます。
なお、Playストアなど一部アプリでは反映されないことがあるようです。Chromeなどブラウザアプリでは反映されます。
中国版OPPO Find X3のテーマストアでは残念ながら公開できませんでした (中国の身分証があれば公開できるので協力者募集中です)。
グローバル版のテーマストアをインストールしてしまえば無理矢理使うことができます。
テーマストアはcom.heytap.themestore / com.nearme.themespaceの2種類があるようですが、OPPO Find X3の中国版ColorOSの場合はcom.heytap.themestoreでした。
設定からテーマストアの更新をアンインストールすればインストールでき、設定アプリでOPPOアカウントにログインしてからテーマストアを開けば適用できます。
インストールできない場合は、APKを置いているフォルダでコマンドプロンプトを開いてadb install -r -d [ファイル名].apk
を実行してみてください。
OPPOアカウントに新規登録・ログインできない場合は、こちらのサイトでアカウントを作成してからログインし直してみてください。
OxygenOS 12以降ではColorOS for OnePlus、realmeも同じテーマストアを利用しています。
丸みのある日本語フォントを使いたい、という方はぜひMejiroを使ってみてください。
Mejiro – Japanese composite font of M+ FONTS and Roboto
Mejiroが役に立った場合は、GitHub Sponsorsにて支援していただけると幸いです。