3Dアクセレートを有効にすると表示がおかNo.32508
konekoneko さん 13/08/06 01:31
 
wikipediaのアラビア語の文章を張り付けたところ、以下の条件で日本語とアラビア
語が重なってしまいました
また、以下の条件を満たした場合、どういうわけか知りませんが、アラビア語が独立
系で表示されてしまいます

OS:Windows8
VGA:RADEON HD5770
秀丸:8.31
条件:3Dアクセレーションを有効にする

[ ]
RE:32508 3Dアクセレートを有効にすると表No.32510
秀まるお2 さん 13/08/06 09:59
 
 バグでお手数かけてすみません。今テストしてみたんですが、たしかにアラビ
ア語が少し左にずれて描画されてるようで、アラビア語の左側に日本語の文字と
かがあると、それと少し重なってしまうようです。

 なぜずれるのか原因を調べてなんとか修正させていただきます。

 それとついでにコメントしてしまいますと、秀丸エディタ自体はアラビア語の
ような、右から左に文字が流れていくようなタイプの言語にはうまく対応してな
い所があって、例えばメモ帳とかみたいに右矢印キーを押して左方向にカーソル
を移動させるようなことが実現出来てないです。これは、すみませんが対応が難
しいので制限事項とさせていただくしか無いです。あと、アラビア語の文字の途
中を範囲選択した時に表示が乱れたりしますが、それもすみませんが対応が難し
いので、これまた制限事項ということでお願いします。

[ ]
RE:32508 3Dアクセレートを有効にすると表No.32511
秀まるお2 さん 13/08/06 10:03
 
 追加ですみません。

> また、以下の条件を満たした場合、どういうわけか知りませんが、アラビア語が独立
> 系で表示されてしまいます

 これも理解しました。

 なんとか直せないかトライしてみます。

[ ]
RE:32511 3Dアクセレートを有効にすると表No.32514
秀まるお2 さん 13/08/06 18:36
 
 文字が重なってしまうバグと「独立系で表示されてしまう」のバグはなんとか
直せました。

 他に、一応仕様というか、制限のつもりの点をあらかじめ書かせていただきま
すと…

 まず1点ですが、文字ピッチ(文字の横幅)の計算が、現状では1文字毎に描
画した際の幅で計算する仕組みなっていて、それのせいで、例えばアラビア語の
単語が1つあると、その単語の右側にけっこう大きな余白が付いたような形で描
画されてしまいます。(3Dグラフィックスアクセラレータを使う設定の場合で、
今回のバグを直したバージョンだと)

 これは、すみませんが内部的な仕組み的に「文字それぞれ幅が固定である」っ
て前提で処理してるので、直すのが非常に難しいです。

 「3Dグラフィックス…」をOFFにしている場合、Windowsが文字を横に広げて描
画してくれるので、結果として変な余白が発生することは無いですが、「3D…」
がONの場合はそういう描画が出来ないので、余白が出来てしまいます。

 それと、アラビア語の文章が自動折り返しされると、その分割された単語が正
しい形では描画されなくなります。これは禁則処理の方で対応しないといけない
話になります。アラビア語の単語も普通の英単語と同じように、半角空白区切り
じゃない所では基本的に分割したらダメってルールでよければ対応可能ではあり
ますが、とりあえずは制限にしたい所です。

 とりあえず連絡いただいたバグ修正だけさせていただきつつ、いくつか制限が
あることはご了承お願いしたいです。

 バグ修正の方は、次の秀丸エディタβ版の方にて対応させていただきます。


---------------------------------------------------------------------
 アラビア語の他に、ヘブライ語にも対応しました。U+0590〜U+06FFの範囲の文
字が右から左に流れるという前提の処理を入れました。

[ ]
RE:32514 3Dアクセレートを有効にすると表No.32518
秀まるお2 さん 13/08/07 10:41
 
 追加ですみません。次のβ版にて修正させていただきますが、フォントが
FixedSysまたはTerminalの場合はやはり直らないです。

 FixedSys/Terminalは、「3Dグラフィックス…」のオプションをOFFにしてもア
ラビア語は出ないようだし、そもそもこのフォントでは"右から左方向に流れる"
タイプの言語が使われることは想定外になってるんだと思います。

 Windows7のメモ帳だと、FixedSysは選択出来ないみたいだし…

 ということで、これも制限ということでお願いします。

[ ]