pango で縦書きとその能力
pango での縦書き
Pango の gravity 指定で縦書きが実現できる。
pango-view(1)
だと、--gravity east
オプション設定を指定すれば良い。
このとき90度傾いてレンダリングされるので、--rotate -90
も付けて文字全体を
90度回転させることで文字の進行方向を鉛直方向に変える。
余談だが gravity east
の east は東洋の東の意味ではなく方向を意味する。
よって東西南北(east/west/south/north)すべて指定できる。
縦書きと font feature
縦書き専用フォントでもそれなりに OTF font feature が動作する。
嵯峨本フォントプロトタイプの "liga" on
を設定すると、
連綿が OTF font feature の合字としてレンダリングされる。
なお、この連綿では、「と」および「か」が変体かな「と(登)」および「か(可)」となっている。
ただし、複雑なタグを使うと文字が崩れるようだ。(Pango 1.38現在)
このバグがあるせいで pango の縦書き利用の利便性が大幅に下がって残念仕様。
2018-11-04追記: 現在の pango だと、この文字崩れのバグは直っているようだ。(Pango 1.42現在)
参考文献
- 地獄のジェネレータ: Ruby Advent Calendar jp: 2010の24日目, 株式会社クリアコード ククログ, 2010-12-24
- 嵯峨本フォントプロトタイプ, 嵯峨本フォントプロジェクト, 2012