偽パッドで検証
偽パッドはエディタエンジン自体を自作したわけではなく、
OSについてくるリッチエディットをプレーンテキストモードで使い、
OS任せで描画したあとに、マークなどを加筆する形で動作している。
よって、偽パッドが折り返しでどんな処理をしているかは一切わからない。
メモ帳とかなり近い動作をしているわけだが、違う動作もいろいろあるわけで、
メモ帳ではロシア語のワードラップはしないが、リッチエディットはするらしい。
で、真魚は出来ればメモ帳準拠で行きたいが、ロシア語はワードラップしたい。
検証のため、ロシア語、abc、ロシア語っていう文字列を入力してみた。
АБВГДЕЖЗИЙКЛМНОПabcРСТУФХЦЧШЩЪЫЬЭЮЯ
この文字列のあとに半角スペースを一個入れ、Ctrl+ACVVで二倍増。
で、ウィンドウ端で折り返す設定にして、どこで折り返すかを見てみた。
意外なことに、半角スペースのところでしか折り返してくれない。
何が意外かというと、英語とロシア語の間にスペースがなかった場合に、
英語とロシア語が混ざった1単語扱いをするっていう動作が意外。
さらに、ダブルクリックによる単語セレクトをしてみると、
やはり英語とロシア語が混ざった1単語扱いになるようだ。
これならかなりシンプルな答えが出せそうだよ。
アルファベットっぽい文字のワードラップとそれ以外にワードラップの違いはない。
単語と単語の間にスペースを入れるタイプの言語では全て、
スペース以外では折り返さないっていうワードラップを適用していい気がする。
これまで、日本語メインで考えてきたから、
折り返しちゃいけない場所はどこかって事だけ見てきたが、
世界的にみると、折り返して良い場所はどこかってのが正解なんだろうな。
ま、でも日本語編集するために矛盾するような動作は実装せず、
あくまで日本語以外の文字を入力するのに、ワードラップが必要な言語のケアね。