layoutがずれる
pangoはアルファベットに続く空白ないし単独の空白と漢字とかひらがなに続く空白の幅を変えているようだ。 文字幅の取得は一文字ずつ行うことにしている。
http://git.sourceforge.jp/view?p=fukui-no-namari/fukui-no-namari.git;a=commit;h=5d7b33ac71d436ee1863cd7139891a355571679a
この場合、空白の幅は常に単独の時の幅をpangoは返すことになる。この値はwrapやselectionで使う。
一方、文字の表示は数文字の文字列を一度にdrawする。この場合はアルファベットに続く空白と漢字に続く空白で 幅が異なる。こうして、wrapとselectionの計算と表示がずれてしまう。
一文字ずつ表示しよう。
一文字ずつだと遅い
CでWidgetを実装すれば一文字ずつでも遅くない。
状況
pangoはアルファベットに続く空白ないし単独の空白と漢字とかひらがなに続く空白の幅を変えているようだ。 文字幅の取得は一文字ずつ行うことにしている。
commit
http://git.sourceforge.jp/view?p=fukui-no-namari/fukui-no-namari.git;a=commit;h=5d7b33ac71d436ee1863cd7139891a355571679a
この場合、空白の幅は常に単独の時の幅をpangoは返すことになる。この値はwrapやselectionで使う。
一方、文字の表示は数文字の文字列を一度にdrawする。この場合はアルファベットに続く空白と漢字に続く空白で 幅が異なる。こうして、wrapとselectionの計算と表示がずれてしまう。
対策
一文字ずつ表示しよう。