cv99

aalt, calt (フォント機能)

仕様書

aalt

[6] aalt は、 Access All Alternates とされています。 >>5

[7] 選択された文字のすべての異体 (variation) にアクセス可能とするものです。 >>5

[11] 次のような状況が想定されています。 >>5

[19] ということで他の様々なフォント機能で利用できる別字形をみな含めることが期待されているようです。 他に適当なフォント機能がないものを含めても構わなそうです。

[20] フォント編集ソフトウェアは他のフォント機能の定義を参照してひとまとめにできるような仕組みを提供すると有用かもしれません。

[12] 既定のグリフを選択肢の1つに含めることができます (can) 。 その場合は最初の選択肢とするべきです (should) >>5

[18] 応用は最初のグリフ好ましい形 (preferred form) と想定して構いません (may) フォント開発者はその想定で並べるべきです (should) >>5

[13] 合字の構成要素のグリフの代替として合字グリフを含めるべきではありません (should not) >>5

[14] faaltfi を含めるべきではありません。 >>5 もちろん fiaalt として別字形の fi を含めるのは適当です。

[15] 同じ typographic family に属する別のフォントで同じ代替があるなら、 順序は揃えるべきです (should) >>5

[16] しかしどのようなグリフを提供するべきか一般的な規則はなく、 フォントの開発者が決められます。
[17] Adobe-Japan1Adobe-GB などでは共通して利用できる定義のリストが一般公開されています。 各項参照。

[1] 通常は GSUB lookupType 3 を使うべきです (should) >>5

[2] 代替が1つだけのときは GSUB lookupType 1 を使うことができます (could) 31 の併用もできます (could) >>5

[21] その他の lookup非推奨 (not recommended) です。 >>5 しかしフォント機能全般の通則として、推奨されない GSUBGPOS が禁止されているわけではありません。

[22] 応用は、利用者文書におけるどのグリフが代替形を持つかを利用者に示すべきです (should) >>5

[23] そして利用者が代替グリフを選択する手段を利用者に提供するべきです (should) 。 文脈内に順番に代替形を表示させることもできますし、 すべての代替形を同時に表示するパレットを提示することもできますし、 そうした手法から利用者に選択肢を提示することもできます。 代替が1つだけのときは、代替形と既定形を直接切り替えることもできます。 >>5

calt

calt

cswh

cswh

cv*

[24] フォント機能 cv01 から cv99 は Character Variant 1 から Character Variant 99 とされています。 >>5

[31] cv* は1つの文字か、大文字小文字基底文字合成済み文字のような近い関係にある文字群にのみ適用されるようなグリフ異体に使うべきです (should) >>5

[25] ある文字異体 (variation) が他の文字異体とは体系的 (systematically) には関係していないような stylistic-variant グリフを持つことがあります。 >>5

[26] また、異体がある文字とその casing pair (大文字小文字違いの文字) や関係する合成済み文字には存在するものの、 他の無関係の文字には適用できないことがあります。 >>5

[27] 場合によっては、個々の Unicode文字に別々にグリフ異体の制御を提供する必要があるかもしれません。 >>5

[28] ss*広い範囲 (broad set) Unicode文字に適用される頻用 (recurring) の stylistic variations を想定していますが、 cv* は広い範囲の Unicode文字ではなく特定の文字異体を想定しています。 >>5

[29] saltグリフ異体へのアクセスを提供するものの、 応用文字単位で制御できません。 cv* はより大きな粒度 (greater granularity) で制御できます。 >>5

[30] locl は特定の言語好まれる (preferred) ような文字異体に使いますが、 すべての関連する言語に対して特定の言語系グリフ異体を関連付けることができないかもしれません (might not be feasible) 。 例えば特定の言語の要件がフォントの開発時に知られていないかもしれません (might not) >>5 そうした場合には言語を特定しないで使える cv* が有用です。

[32] GSUB lookupType 3 や、異体が1つなら GSUB lookupType 1推奨 (recommended) されています。 >>5 他の GSUBGPOS が禁止されているわけではありません。

[33]cv* に於いて異体の数はすべてのグリフに対して同じであるべき (should) で、 順序は対応する (同じ異体の順になるよう並べる) べき (should) です。 >>5

[34] feature parameter として、 name を参照する形で、

を記述できます。また、フォント機能の適用対象となる Unicode文字を記述できます。 >>5

[39] name によって複数の言語を含められますが、 fallback として English文字列を含めるべきです (should) >>5

[40] こんなところにも謎の英語帝国主義が!? 文字の違いの説明なんてその言語以外で説明するのが難しいケースの方が多そうですが...

[41] 既定では無効とするべきです (should) 応用グリフパレットのような形でグリフ異体を表示できます (can) feature parameter が指定されていれば、利用者インターフェイスで活用できます。 >>5

[42] 合字や contextual form の obligatory substitution が必須の complex script で使われる問は、 obligatory script behavior のフォント機能より前に適用されるべきです (should) >>5

falt

falt

palt

関連

[4] 共通事項はフォント機能参照。

メモ