Gimp2.8 Vertical Text Writing



これは何か

Gimp2.8.6で縦書きを機能を追加するためのパッチファイルです。pangoで縦書きします。 

怪しいこと

用語

Gimpを縦書き可能にするパッチ(2013-07-15)

http://reddog.s35.xrea.com/software/gimp-vertical-text.tar.gz

どうやって使うのか

cd src
tar jxvf gimp-2.8.6.tar.bz2
tar xvf gimp-vertical-text.patch.tar.gz
cp gimp-vertical-text/stock-text-dir-ttb-24.png gimp-2.8.6/themes/Default/images
cd gimp-2.8.6
patch -p1 < ../gimp-vertical-text/gimp-vertical-text-20130715.patch

configure
make

動作環境

Gimp 2.8.6?

Pangoの不具合1

gravity=east(縦書き)設定にしていても、マークアップ付けすると、そのマークアップ以後から次の改行の出現までgravity=south(横書き)となってしまう。これはなぜか知らんが、速度を稼ぐためかしらんが、 マークアップのパース処理で以前の値を参照したりなんやかんやしてるところでgravityの値が飛んでいってしまうという問題だったので、その処理をやめるだけでなおるみたい。pango-view(1.30.1)で不具合の再現方法。

pango-view --gravity=east --gravity-hint=strong --markup -t "<b>あ</b>いうえお"

Pangoの不具合2

約物だけのテキストの場合、gravity=east(縦書き)設定にしていると、gravity=north状態になる見える。しかし、何か文字を付け加えることで、正しく文字が回転するようになる。これはどうやらscriptオプションとかいう文字種の判定が絡んでいるようだ。例えば"【"だとPANGO_SCRIPT_COMMONと判定されているが、"【あ"の場合はPANGO_SCRIPT_HIRAGANAとなり、"【a"の場合はPANGO_SCRIPT_LATINとなっているようだった。そしてPANGO_SCRIPT_COMMONだと縦書き用メトリクスを取得できず横書き用メトリクスを取得し、それをさらにgravity=eastにより反時計回りに90度回転させるために、このように見えるのだった。なんかharfbuzzが怪しい。しかしharfbuzzまで調べる時間がなかったので、縦書き時のscriptをPANGO_SCRIPT_COMMONからPANGO_SCRIPT_HAN(漢字)に書き換える処理を追加してやって一応期待通りに動くようだ。本来はharfbuzzのパッチを作るべきだった。pango-viewで不具合の再現方法。

pango-view --gravity=east --gravity-hint=strong -t "【"

Pangoの不具合解消パッチ

http://reddog.s35.xrea.com/software/pango-vertical-text-bug-markedup-and-script-common-fix-20130721.patch
上記二つの不具合を暫定的に回避するパッチ。
なお、pangoはlinuxではGUIの文字描画の基礎なので、パッチ当てるのに失敗しても自己責任でおねがいします。

Windows

 Gimp2.8 Vertical Text Writing Test on Windows

GIMP2.9.4 Win32 Binary

コメントをどーぞ



CategorySoft CategoryGimp CategoryGimpPlugin  


Attach file: filegimp-vertical-text-win-sample.png 594 download [Information] filegimp-vertical-text-patch-bug2.png 521 download [Information] filegimp-vertical-text-patch-bug1.png 405 download [Information] filegimp-vertical-text-patch.png 541 download [Information]

|New|Edit|Freeze|Diff|Backup|Upload|Copy|Rename|
Last-modified: 2017-01-16 (Mon) 17:31:48 (133d)
HTML convert time: 0.018 sec.