[スレッド全体]

2015/9/21 (月) 02:40:13 もか  
Mozilla/5.0 (Windows NT 6.3; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0
[2284] Re2:プロポーショナル版の変更点について
やっぱだめかな?(判断はお任せします)
桁表示にcol(px数をルーラー幅で整数割りした物)を使うとプロポーショナルフォントでガタガタになるので、
そうなるのなら計算コストの一番安いCLogicInt+1で表示するようにしようと考えてました。
これは$xとかタグジャンプの桁表示と同じものです。
メモ帳はじめほとんどのエディタ・開発環境は1文字で1つづ表示するのが今は主流みたいですし。
今までの実装はすごく長い行の後ろ側で1文字づつの修正を繰り返すような動作のときに顕著に重いです。
表示上のタブを中途半端に含めた桁数が知りたいときはルーラーを見ればある程度は分かるかなと。
なお矩形選択時は、colとpxが表示されます。
昔のように正確でない表示もどうかと思いますし、かといって無意味に重いのもどうかと思います。
 もしいままでと同じような値にしたい場合は、タブ幅を含め文字幅固定で計算してやる必要があります。
折り返し単位で表示のときも、今までは低コストで表示するだけでしたが1レイアウト行分計算が必要になります。
レイアウト行の行頭インデントがある場合は1行目のインデント分を固定文字幅で先に計算しておく必要もありそうです。
そういえばCNativeW::GetKetaOfCharはサロゲートペアに固定で2を返す等の理由により、厳密には実際の表示幅と同じになりません。
もうちょっと改造が必要かもしれないです。
TabToSpace/SpaceToTabに似たような処理がありますが、こちらはサロゲートペアにそもそも未対応のようです。
色々な人の意見も聞いてみたいですがあんまり人いないんですよね。

[▼次のスレッド]
INCM/CMT
Cyclamen v3.81
[ut:0.010][st:0.000]