justification

justification

フォント機能 falt (OpenType)

[15] フォント機能 falt は Final Glyph on Line Alternates とされます。 >>14

[16] 文章 (text) の justification の補助のため、 の最後のグリフを、 特にこの目的で設計された代替形に置換します。 >>14

[17] アラビア文字では、行の最後のグリフの代替形を用意しておくと良い justification ができます。 例えば long tailed Yeh-with-tail をいくらか長いか短い tail のものに置換します。 >>14

[18] GSUB lookupType 1 で行の最後のグリフ (孤立形語末形) を置換することが推奨 (recommended) されます。 >>14 他の GSUBGPOS が禁止されているわけではありません。

[19] falt利用者好み (preference) 次第で既定で有効にも無効にもできます。 >>14

[21] 文章が justify されるときに行の最後のグリフに適用できます。 justification algorithm によって特定することもできますし、 利用者が直接制御することもできます。 >>14

[23] 連なりに他のフォント機能が適用されてから最後に適用する必要があります。 >>14

[20] JSTF の justification extension や shrinkage modifications とともに実装することができます。 >>14

[22] falt によって行長は変化することがあり、 line-breaking and justification algorithms はこれを考慮するべきです (should) >>14

フォント機能 jalt (OpenType)

[25] フォント機能 jalt は Justification Alternates とされます。 >>24

[26] 文章 (text) justification を、 グリフjustification のために特別に設計された代替形によって置換することで、 改善するものであります。 >>24

[32] cursive script で使うことができます。 >>24 アラビア文字での利用などが想定されているようです。 例えばラテン文字筆記体などでも使いようがありそうなものですが、 そうした利用が認められるのかどうかは仕様書の文言上明確になっていません。

[27] GSUB lookupType 1語頭形, 語中形, 語末形, 孤立形をそれらの代替形に置換することが推奨 (recommended) されます。 >>24 他の GSUBGPOS が禁止されているわけではありません。

[33] init, medi, fina, isol は、 jalt より前に呼ばれる必要があります。 >>24 これが仕様書において誰に対する要件なのかあまり明確ではありませんが、 おそらくフォントがそのように lookup を配置するべきということになるのでしょう。

[28] JSTF の justification extension や shrinkage modifications とともに実装することができます。 >>24

[29] jalt利用者好み (preference) 次第で既定で有効にも無効にもできます。 >>24

[30] justification algorithm によってまたは直接の利用者の制御によて justify される文章に適用されるというのが推奨 (recommended) される用法です。 >>24

[31] jalt行長に影響することがあります。これは改行 (line-breaking) と justification algorithm において考慮するべきです (should) >>24

メモ

[7] JIS X 4051-1995 3.15 行の調整処理

[11] JIS X 4051:2004 4.19 行の調整処理

[1] 日本語組版処理の要件(日本語版) ( (Japanese Layout Task Force 著, 版)) http://www.w3.org/TR/jlreq/ja/#d3e857

[2] 日本語組版処理の要件(日本語版) ( (Japanese Layout Task Force 著, 版)) http://www.w3.org/TR/jlreq/ja/#ja-subheading2_7_3

[3] 日本語組版処理の要件(日本語版) ( (Japanese Layout Task Force 著, 版)) http://www.w3.org/TR/jlreq/ja/#term.even-inter-character-spacing

[4] Techniques for WCAG 2.0 ( ( 版)) http://www.w3.org/TR/2014/NOTE-WCAG20-TECHS-20140311/complete.html#F88

[5] ZWSP

[6] JSTF

[8] 一般の段落では、最終行では伸ばし処理を行わず、それ以前の行では行う。

[9] 割注では最終行でも行い得る。

[10] ルビ文字列では親文字列との関係もあって特殊。 ルビ

[12] Chrome は justify のための空白の挿入がおかしいよなあ。 の前に挿入するとか、)の間に挿入するとか、 の前に挿入するとか、みっともない表示になりがち。

[13] >>12 不要なら空白を入れないけど、必要なら入れてもいい、みたいなケースを指定したくてもできない。 / の前後とか。 ZWSP 入れてみたけど効かなかった。