#author("2018-07-01T01:30:37+09:00","","")
#author("2018-08-20T15:49:31+09:00","default:ir004961","ir004961")
#meta(keywords,GIMP,テキスト,縦書き,pango);

#ref(gimp-vertical-text-patch.png,center,100%,Gimp2.8 Vertical Text Writing)
#clear

#contents
~
~
**これは何か [#w0414773]
Gimp2.8.6で縦書きを機能を追加するためのパッチファイルです。pangoで縦書きします。 

※このパッチはGimp2.10.6より本家に取り込まれました。


**怪しいこと [#i0408452]
-LinuxとWindowsで動作確認。%%OSXなにそれおいしいの%%

-テキストツールにて文字列中の一部のスタイルを変更すると、それに続く文字列の縦回転が解除されてしまう。pangoのバグ。→ [[Pangoの不具合1>#pango-problem1]]へ
#ref(gimp-vertical-text-patch-bug1.png,left,100%,Gimp2.8 Vertical Text Writing Bug1)
#clear

-約物を最初に一文字入力すると、縦回転しない。続けて文字を入力していくと縦回転するのだが、「「みたいに約物を連続して入力しても縦回転してくれない。→ [[Pangoの不具合2>#pango-problem2]]へ
#ref(gimp-vertical-text-patch-bug2.png,left,100%,Gimp2.8 Vertical Text Writing Bug2)
#clear

-パスに沿ってテキストを変形がうまくできない。そもそもこの機能はX方向に伸びた文字をY方向にうにょうにょワープさせるようなものみたいなので、ちょっと今の段階では座標が反対なので期待した通りには動かない。(仕様)。

**用語 [#nd4deb5e]
-''TTB''とは Top To Bottom (上から下に書く)という意味です。

**Gimpを縦書き可能にするパッチ(2013-07-15) [#lcab2306]
http://reddog.s35.xrea.com/software/gimp-vertical-text.tar.gz

**どうやって使うのか [#g1ee3a65]
 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

**動作環境 [#n313dbfa]
Gimp 2.8.6?

**Pangoの不具合1 &aname(pango-problem1); [#a32daa61]
gravity=east(縦書き)設定にしていても、マークアップ付けすると、そのマークアップ以後から次の改行の出現までgravity=south(横書き)となってしまう。これはなぜか知らんが、速度を稼ぐためかしらんが、 マークアップのパース処理で以前の値を参照したりなんやかんやしてるところでgravityの値が飛んでいってしまうという問題だったので、その処理をやめるだけでなおるみたい。pango-view(1.30.1)で不具合の再現方法。
 pango-view --gravity=east --gravity-hint=strong --markup -t "<b>あ</b>いうえお"

**Pangoの不具合2 &aname(pango-problem1); [#yba6aa30]
約物だけのテキストの場合、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の不具合解消パッチ [#l9147fe6]
http://reddog.s35.xrea.com/software/pango-vertical-text-bug-markedup-and-script-common-fix-20130721.patch ~
上記二つの不具合を暫定的に回避するパッチ。~
なお、pangoはlinuxではGUIの文字描画の基礎なので、パッチ当てるのに失敗しても自己責任でおねがいします。~

**Windows [#w70db681]
#ref(gimp-vertical-text-win-sample.png,left,50%, Gimp2.8 Vertical Text Writing Test on Windows)
[[GIMP2.9.4 Win32 Binary]]
#clear

**コメントをどーぞ [#ibbae75e]
- Hello! Would you be interested to rebase your code over GIMP master code so that we include into GIMP itself? See: https://gitlab.gnome.org/GNOME/gimp/issues/641 -- Jehan &new{2018-06-12 (Tue) 05:17:23};
- いるなら日本語も話せる。だけどけっこう下手です。 -- Jehan &new{2018-06-12 (Tue) 05:24:57};
-- There is no reason to refuse your proposal. Use it freely. And my E-Mail address is &ref(http://reddog.s35.xrea.com/img/gmail.png,left,nolink);. Thanks! -- reddog &new{2018-06-14 (木) 07:35:36};
-- With this patch, I could not successfully implement the function to display Japanese input method in vertical format. However, since the text tool of GIMP 2.10 has an inline input method, so I am expecting that this problem can be solved. -- reddog &new{2018-06-14 (木) 07:53:03};
- Can you rebase your patch? come in gitlab and lets talk -- vertis &new{2018-07-01 (Sun) 01:30:37};

#comment


----
[[CategorySoft]] [[CategoryGimp]] [[CategoryGimpPlugin]]
 

|New|Edit|Diff|History|Attach|Copy|Rename|
HTML convert time: 0.002 sec.