和田研フォントキットの統計(1)

 敵を知り、己を知らば百戦危うからず。なにかを為そうとするときは、その対象についてよく知っておくに越したことは無い。というわけで、いろいろな性質を調べてみることにする。
 まず、全文字数は12239。Zipfの法則により、よく使われる文字はせいぜい2000〜3000文字程度だとは思うが、これほどたくさんの文字があるということは知っておいて良い。覚悟のために。
 次に、漢字の組み立て方について調べる。和田研フォントキットでは、漢字は段階的に作られる。まず、エレメントという一番小さな単位があり、これは基本的には一画に対応する。点、右ハライ、左ハライ、などなど。それを組合せてプリミティブという単位が作られ、さらにプリミティブを組み合わせて漢字ができる。
 今回はこのプリミティブの組み合わせ方について調べる。プリミティブは基本的にはふたつを組み合わせて新しい組合せデータを作るのだが、そうでない場合も存在する。
 適当なコードを書いて調べてみたところによると、多いものから順に

  • yoko 8832
  • tate 3812
  • tare 501
  • kamae 450
  • nyou 386
  • kashira 65
  • xscale 62
  • yscale 28
  • kamae2 23
  • nocenter 2
  • xlimit 1
  • changexunit 1

 という順番になった。次に引数の数をタイプ毎に分類すると、

  • yoko 3:146 2:8686
  • tate 6:1 5:7 4:65 3:364 2:3375
  • tare 2:501
  • nyou 2:386
  • kamae2 3:23
  • kashira 1:65
  • kamae 2:450

 という結果になった。(自明なものは省いてある。)この事より、yokoは最大でも3つまでしか同時にjointしない事がわかる。一方、縦は6つまで同時にjointする可能性がある。さらに、他のタイプは引数の数が決まっているので、複雑な場合はyokoとtateのみであるという事もわかる。とりあえずyokoについて調べる。
 yokoで3つを同時にjointする場合、最も左側に来るのは38種類。2つをjointする場合、左側に来るもの(要するに偏だ)は774種類。tateの場合は 6:2 5:6 4:24 3:97 2:831となった。kamaeは62種類、kashiraは20種類、kamae2は18種類、nyouは40種類、tareは20種類。