プロポーショナルフォント対応によって、Command_RIGHTにあった「とりあえず 1だけ右に移動する」コードの意味が「1(文字)」から「1(ピクセル)」に変わっています。それによりカーソル移動が遅くなることが掲示板で報告されていますが、それだけでなく、改行文字をまたぐようにカーソルを移動するとき、改行マークの幅を無視して{半角 1文字分しか移動していなかった/1ピクセルだけしか移動していない}ことがはっきりしてしまいました。フリーカーソルモードや矩形選択状態で改行マークを右に向かって選択すると、選択表示とカーソルの位置が整合していないように見えてしまいます。
ずいぶん久しぶりにコードを見ましたし、すでにある HACKに HACKを重ねたコードになっていますが、全体に大外しはしていないだろう、どなたかの手間が減るのではないか、とパッチを投稿します。
//
// 選択描画の問題を直すつもりで CFigure_Eol.cppを
// 眺めるところから手を付けたのは秘密です。
//
パッチの動きを確認しました。よさそうだと思います。助かります^^
ただ過去のバージョンを試したところ、改行文字の表示幅は無視されてルーラーに合わせてカーソル移動しているようなので、パッチを修正しました。(dx_eol = dx_default としただけ)
3番目は、ぶら下がっている改行が折り返し線ぴったりではなくちょっとだけ前に出てくるケースへの対応です。文字が半角グリッドに並ぶことを暗黙の前提にしていたようです。