falt (OpenType)[15]
フォント機能
falt
は
Final Glyph on Line Alternates
とされます。
>>14
[16] 文章の justification の補助のため、 行の最後のグリフを、 特にこの目的で設計された代替形に置換します。 >>14
[17] アラビア文字では、行の最後のグリフの代替形を用意しておくと良い justification ができます。 例えば long tailed Yeh-with-tail をいくらか長いか短い tail のものに置換します。 >>14
[18]
GSUB lookupType 1
で行の最後のグリフ (孤立形や語末形)
を置換することが推奨されます。
>>14
他の GSUB や GPOS が禁止されているわけではありません。
[19]
falt は利用者の好み次第で既定で有効にも無効にもできます。
>>14
[21] 文章が justify されるときに行の最後のグリフに適用できます。 justification algorithm によって特定することもできますし、 利用者が直接制御することもできます。 >>14
[23] 連なりに他のフォント機能が適用されてから最後に適用する必要があります。 >>14
[20]
JSTF 表の justification extension や shrinkage modifications
とともに実装することができます。
>>14
[22]
falt によって行長は変化することがあり、
line-breaking and justification algorithms はこれを考慮するべきです。
>>14
jalt (OpenType)[25]
フォント機能
jalt
は
Justification Alternates
とされます。
>>24
[26] 文章の justification を、 グリフを justification のために特別に設計された代替形によって置換することで、 改善するものであります。 >>24
[32] cursive script で使うことができます。 >>24 アラビア文字での利用などが想定されているようです。 例えばラテン文字の筆記体などでも使いようがありそうなものですが、 そうした利用が認められるのかどうかは仕様書の文言上明確になっていません。
[27]
GSUB lookupType 1
で語頭形, 語中形, 語末形, 孤立形をそれらの代替形に置換することが推奨されます。
>>24
他の GSUB や GPOS が禁止されているわけではありません。
[33]
init, medi, fina, isol
は、 jalt より前に呼ばれる必要があります。
>>24
これが仕様書において誰に対する要件なのかあまり明確ではありませんが、
おそらくフォントがそのように lookup を配置するべきということになるのでしょう。
[28]
JSTF 表の justification extension や shrinkage modifications
とともに実装することができます。
>>24
[29]
jalt は利用者の好み次第で既定で有効にも無効にもできます。
>>24
[30] justification algorithm によってまたは直接の利用者の制御によて justify される文章に適用されるというのが推奨される用法です。 >>24
[31]
jalt は行長に影響することがあります。これは改行と
justification algorithm において考慮するべきです。
>>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
[8] 一般の段落では、最終行では伸ばし処理を行わず、それ以前の行では行う。
[10] ルビ文字列では親文字列との関係もあって特殊。
[12]
Chrome は justify のための空白の挿入がおかしいよなあ。
」の前に挿入するとか、)と。の間に挿入するとか、
、の前に挿入するとか、みっともない表示になりがち。
[13]
>>12 不要なら空白を入れないけど、必要なら入れてもいい、みたいなケースを指定したくてもできない。
/ の前後とか。 ZWSP 入れてみたけど効かなかった。