2013年10月3日木曜日

Lazarus 付属の SynEdit の 文字幅のバグ

Lazarus の SynEdit には文字幅が2文字分でなければならないのに、1文字扱いになってしまう文字があり、それらの文字を使うと隣接する文字が問題の文字にめり込みます。

日本語では、 「」等の括弧や、★や■ 等の記号がその影響をうけているのを確認しており、私用のエディタにおいても、そのうち対策せねばなるまいと、気にしていました。
例えば、「テスト」等と書くと、「が隠れて見えなくなってしまいます。

調べてみると、既に対策してくださっている方がいらっしゃるようです。

以下にポストされています。
http://www.cnblogs.com/stevenlaz/p/3166464.htm

記事中の2つのファイルが必要です。
SynEditTextDoubleWidthChars.pas
SynEditTextDoubleWidthChars2.pas

これらを (Lazarusディレクトリ)\components\synedit に配置します。

元々の SynEditTextDoubleWidthChars.pas は SynEditTextDoubleWidthChars.old 等にリネームして退避しておくとよいでしょう。

あとは、コンパイルしなおせば解決します。


before: after:

なんと ””が、直っていませんね・・・。
やはり一筋縄ではいかなそうです。

Thanks.

0 件のコメント:

コメントを投稿