似非ボックスシリーズのしくみ

                               ★AAの描き方教室(薀蓄・講義編)★を改変採録。
AAEv2.30から要望の高かった(?)似非ボックス切り取り、コピーがつきました。
普通のエディタの場合、ボックス切り取りやボックスコピーはAltキーを押しながらマウスで選択か、
メニューやショートカットからボックス選択開始を選んでから選択・・という感じですが、
AAEはそれとは異なります。

さて、
なぜ普通のエディタと異なるボックス選択のインターフェースなのか。
それは2ch系AAはプロポーショナルフォントで作る物であり、AAEの設定もそうなっています。
プロポーショナルフォントということは文字の幅がそれぞれ違うので、ボックス選択しようにも、
四角形がガタガタになってしまいます。
秀丸などのエディタでも、フォントを固定ピッチフォントにしないとボックス選択できませんよね。

そこで、AAEがどういう仕組みでボックス選択しているかというと、
AAをまず画像として表示してしまいます。
その後、その画像内で範囲選択し、開始X位置とY位置、終了X位置とY位置を保存し、
Y値を元にどこからどこまでの行をくりぬくか計算します。
これは単純なわり算ですね。

あとは行毎に分割し開始X位置にもっとも近い値になるまで1文字ずつドット数を計算しながら
左にシフトしていきます。
もっとも近い場所にたどり着いたら、続いて終了X位置まで再び1文字ずつ左に
シフトしながらドット数を計算していきます。

これを行数分だけ繰り返すと、プロポーショナルフォントにもかかわらず範囲選択された
なかをコピーしたり切り取りしたりできるようになるわけです。