結論を言えば、急に何メガも大きくなった件は簡単なメソッドを追加する事で解決した(update stream にアップ済)。具体的には終了時に StrikeFontSet allSubInstancesDo: [:sf | sf reset]. のような物を実行するだけでよい。これは、太線やイタリック等の派生フォントを削除するスクリプトだ。元々そういった派生フォントはイメージ保存時に削除する決まりになっていたのだが、どういったわけか多言語文字を処理する StrikeFontSet ではそうなっていなかった。
さらにサイズ問題を追及するかどうかは考えどころ。次の MessageTally の結果を見てみよう。
Nihongo 7 (開発者版) 25M -> 22.5M Array 2098 87010 4450692 17.6 String 5513 86238 4163310 16.5 CompiledMethod 10695 51709 3276606 13.0 ByteArray 3571 505 3151093 12.5 Bitmap 3618 648 2273916 9.0 Association 647 86762 1041144 4.1 Symbol 3746 39249 972640 3.9 MethodChangeRecord 406 39959 799180 3.2 ClassChangeRecord 2852 11988 767232 3.0 Nihongo 7 (Plugin 版) 16.9M -> 14.8M Array 2005 49974 3664348 20.6 ByteArray 3233 437 2757807 15.5 Bitmap 3516 301 2745200 15.5 CompiledMethod 10362 40442 2294490 12.9 String 5369 62766 1730580 9.7 Symbol 3617 33889 837227 4.7 MethodDictionary 1745 3426 510904 2.9 ShortPointArray 322 3186 457956 2.6 Association 608 32946 395352 2.2 Nihongo 6.1 (開発者版相当) 14.3M ByteArray 3451 391 3793568 22.7 Array 1521 50342 3053208 18.3 Bitmap 3259 478 2308232 13.8 CompiledMethod 9822 35016 2081553 12.5 String 4544 63606 1376474 8.3 MultiString 7633 12730 999120 6.0 Symbol 3721 28471 707042 4.2 MethodDictionary 1826 2992 404584 2.4
Plugin 版だけ見ればわりといい線いってるかな。ただ、Array の数は Plugin 版でもそれなりに多いし、何となく気になります。