寒い朝

コンピュータ系のことを書きます

全漢字をカバーできるフリーフォントを探す

全言語をカバーできるフリーフォントを探すの続き。別に見れなくて困っているわけじゃないけど、カバー率がどんなだか気になったので調べた。

候補

IPAフォント独立行政法人 情報処理推進機構

  • 6.0MB(IPAPゴシック)

言わずと知れた定番日本語フリーフォント。定番すぎて空気のような存在。Ubuntuに搭載されているTakaoフォントもIPAフォントベース。

IPAexフォント(独立行政法人 情報処理推進機構

  • 5.8MB(IPAexゴシック)

日本語を固定幅、英語を可変幅にしたIPAフォント。搭載している文字は同じだと思っていたが…。

IPAmj明朝フォント(独立行政法人 情報処理推進機構

  • 44.0MB

細かい字形が違う字を搭載しているIPAフォント。地名や人名を専門的に扱う用途向けのフォントなので最強かと思われたが…。

M+ FONTS(M+ FONTS PROJECT)

  • 3.1MB(Migu 1P Regular)

こちらも定番の日本語フリーフォントIPAフォントよりもきれいなデザイン。収録文字数はIPAフォントより少ないが…。

※今回はIPAフォントとM+ FONTSの合成フォントのMiguフォントを使った。

Droid Sans Fallback(Google

  • 5.2MB(Droid Sans Fallback Full)

前回から続けて登場。Androidに搭載されているフォント。携帯端末で使うように設計されており、中国語フォントと韓国語フォントも搭載しているのに容量が小さい。日本語は中華フォントになるが今回は見なかったことにする。

Noto Sans CJK JP(Google

  • 18MB(NotoSansCJK-Regular)

前回から続けて登場。これと、Source Han Sans・源ノ角ゴシック(どちらもAdobe)は共同開発。

調査方法

対象文字

Wikipedia:表示できない文字の代替画像一覧 - Wikipedia変体仮名 - Wikipediaなどからコンピュータでの表示が難しそうな文字を選んだ。対象文字は次の通り。

  • 人名
    • 草彅 高髙 崎﨑
  • 中華フォントサンプル
    • 直花
  • 漢字
    • 塚𡋽𥝱䯂龘䨺䳇䨻㐧𩵋𠔻𠵇𠯮
  • 変体仮名
    • ゟ𛀁𛀀

また、Unicodeの異字体セレクタ(後述)を使用する文字を選んだ。対象文字は次の通り。

  • 葛芦餅邉

本来ならJIS規格やUnicodeのバージョンごとに文字を選ぶべきだった。

文字の出力方法

難しい文字はPython Pillowを用いて各フォントで対象文字を出力した。異字体セレクタPython Pillowでは使用できなかったので、HTMLに出力しFirefoxで表示した。

異字体セレクタ

ほぼ同じ漢字だけど微妙に違う字を選択するためのUnicodeの符号(0xE0100・0xE0101など)。使い方は元の文字の後に特殊な文字を続けて入力する。異字体セレクタAdobe-Japan1とHanyo-Denshiの2種類があり、互換性はない。Adobe-Japan1の方がよく使われている感じで、Wikipedia:表示できない文字の代替画像一覧 - WikipediaでもAdobe-Japan1のコードしかない。Hanyo-Denshiの方が異字体の種類が多い。

  • 葛飾区の葛
    • 0x845B
  • 葛城市の葛
    • Adobe-Japan1 … 0x845B, 0xE0100
    • Hanyo-Denshi … 0x845B, 0xE0102

」と「」のようなよくある違いは、そもそも別々の文字コードが割り当てられているので異字体セレクタは必要ない。

参考:IVD/IVSとは - IPA

結果

難しい漢字

f:id:microwaver17:20160305192403p:plain

難しい人名は全部のフォントで表示できた。これくらい表示できれば日常では困らないだろう。やはりというか、表示できる文字数はIPAmj明朝が一番多い。しかし、Noto Sans CJK JPにしか表示できない文字も1つあった。そしてM+ FONTSはなぜか変体仮名に強かった。Droid Sans Fallbackは中華フォントに目をつぶれば健闘している。IPAフォントIPAexフォントは話にならない。

異体字

f:id:microwaver17:20160305192347p:plain

よーく見ないと違いがわからない。IPAmj明朝Hanyo-DensiIPAexフォント・Noto Sans CJK JPAdobe-Japan1しか対応していない。ほかのフォントは異体字に未対応。

結論

おすすめ

IPAmj明朝 + Noto Sans CJK JP + M+ FONTS

最も多くの字を表示できる

Noto Sans CJK JP

1つのフォントで多くの漢字が表示でき、異体字もOK。デザインもいい。

用途によってはおすすめ

IPAmj明朝

どうしてもきめ細かく異体字を区別したい。

Droid Sans Fallback

省容量かつ多くの漢字を1つのフォントで。実際のパッケージにはDroid Sans Japaneseも入っているので、中華フォントにはならないと思う。

まとめ

IPAはさすがの貫禄。そしてWindowsは最初から全部見れる。Microsoftには勝てねぇ。

付録:渡辺の辺のバリエーション一覧

Adobe-Japan1

f:id:microwaver17:20160305231253p:plain f:id:microwaver17:20160305231313p:plain

Hanyo-Denshi

f:id:microwaver17:20160305231259p:plain f:id:microwaver17:20160305231320p:plain