コメントするSJIS外の文字幅計算が目的だったが、やってみたら大してボトルネックにならないようだし、せっかく幅を取得してキャッシュするし、真魚はプロポーショナルフォントに対応しちゃった。仕組み上は出来そうだったので、早速作ってみた。http://mana.ikuto.com/事務所や自宅のパソコンでは遅くなったとは体感できないが、非力なマシンではどうかな。画面全体に対して、一度にたくさん字を書く瞬間が生まれる。その状態でスクロールさせた場合、たくさんの文字を別の場所に書き直すから遅い。その、文字を書かせる作業に比べれば、幅を計算する作業など遅い内には入らないだろう。少なくとも、手持ちのパソコンでは体感差はない。仕様上、どうするべきか迷っているのは、折り返しとかルーラーとか、カーソル上下移動。iとwの幅は違うので、iだけ続く行とwだけ続く行で文字数が倍くらい違う。何を持って、80文字折り返しとか判断すればいいのかと言う話。一応、フォント固有の平均幅か、数字の0の幅を使って、何文字分とか数えてる現状。タブ文字はどの幅で8文字分とか判断するかも、その方法でやってる。カーソルキーで入力位置を上下に動かしたとき、どこに動くべきかの話。iiiiiiiiiiiiiiiここにカーソルiiiiiiiiiiwwwwwここに移動1wwwwwwwwwwここに移動2wwwwwwwwwwもとの行の何文字目かで下の行に移れば2だが、直感的には1に動きたい。ルーラーは、今何文字目かではなくて、カーソルのある大体の位置にポッチを置いてみた。様々な仕様が変更されたり、バグに気がつかなかったり、問題はいくらでも出るだろう。いじってはアップデートを何度も繰り返すだろうから、バージョンが次々上がるのもウザいし、テスト版として公開しながら直していく。メモ帳に負けている部分にメスが入った形。いや、OSぐるみで文字書いてるエディタを完全に凌駕するのは無理だろうけども。