pango-view と OTF font features
Pango の pango-view(1)
で OTF font features を使う試み。
% pango-view --output 出力ファイル --font 'フォント' --text "..."
これで Pango でのレンダリング結果が保存される。 (画面表示もされる。)
% pango-view --output jis8903_render001.svg --font '機械彫刻用標準書体 24' --text '機械彫刻用標準書体' % pango-view --output jis8903_render002.svg --font '機械彫刻用 標準書体 24' --text 'きけんです。'
'機械彫刻用標準書体'
'きけんです。'
出力ファイルは、png といったラスター画像の他、 svg、pdf、ps といったベクタ画像でも出力可能。 よって、Adobe Illustrator や inkscape などに取り込んで 使うことも出来そう。
ところで --markup
オプションを使うことで、
所謂 Pango Markup が使える。
% pango-view --output jis8903_render003.svg --font '機械彫刻用標準書体 24' --markup --text '<span color="#ff0000">きけん</span>です。'
--markup --text '<span color="#ff0000">きけん</span>です。'
OTF には font feature があってタイポグラフィのオプション機能を持っている
(ただし、フォントファイル自体が対応している場合に限る)。
これは Pango Markup の font_features
<span> attributes の指定で実現できる。
書式は CSS3 と同様であるとあるが、CSS3 の当該規格が途中で変わっているとかいう
歴史的事情があるので若干異なるところがあるかもしれない(詳細未調査)。
機械彫刻用標準書体フォントは、いくつかのスタイルセットが用意されている。
スタイルセット06 ("ss06" on
) で
変体かな
「き(支)」および「す(春)」を表示してみる。
% pango-view --output jis8903_render004.svg --font '機械彫刻用標準書体 24' --markup --text '<span font_features=""ss06" on">きけんです。</span>'
'<span font_features=""ss06" on">きけんです。</span>'
その他文字の間隔を弄る font feature もあるがこれも、 Pango は正しくレンダリングしている模様。すごい。
% pango-view --output jis8903_render005.svg --font '機械彫刻用標準書体 24' --markup --text 'です。<span font_features="ss11 on">です。</span><span font_features="ss12 on">です。</span>'
'です。<span font_features="ss11 on">です。</span><span font_features="ss12 on">です。</span>'
スタイルセット | 内容 | 収録字種 |
---|---|---|
11 | JIS どおりの濁点・半濁点(仮想ボディ正方形) | 濁音・半濁音の仮名 |
12 | JIS どおりの濁点・半濁点(仮想ボディ拡大) |
参考文献
- 機械彫刻用標準書体フォント
- Text Attribute Markup: Pango Reference Manual, Pango Reference Manual
- font-feature-settings - CSS, MDN
- 地獄のジェネレータ: Ruby Advent Calendar jp: 2010の24日目, 株式会社クリアコード ククログ, 2010-12-24