[2] OpenType の機能では、 文字 (グリフ) の体系は用字系と言語系の2段階で識別されます。 >>1
[12] 用字系は、 関連する文字を集めたものです。 用字系は1つかいくつかの言語で使われるかもしれないものです。 >>11
[13] フォントは1つの用字系にだけ対応することもできますし、 いくつもの用字系に対応することもできます。 >>11
[14] OpenType Layout フォントにおいては、 用字系はタグで識別されます。
[20]
GSUB
表や
GPOS
表では用字系タグに
DFLT
を指定できます。
用字系特有ではない機能を定義するために使います。
>>18
[21]
応用は、
対象テキストの用字系についての用字系表が存在していない場合や、
対象テキストが特定の用字系を持たないとき (例えば記号のみ含む場合)
に、
DFLT
用字系表を使うべきです。
>>18
[24]
OpenType は、言語は用字系を使って書かれるものだから
DFLT
用字系には既定以外の言語系用の指定はあるべきではない、
としつつも、そのような指定は認められるもので、
応用もそれに対応するべきだとしています。
>>18
[4] 言語系は、 ある用字系を利用する言語の体系によって区別するものです。 用字系は言語系で細分することができます >>15。
[5] 漢字を使う日本語と中文のように、 同じ文字を使っていても異なる慣習で運用されている実態を反映するために使われています。
[27] OpenType Layout フォントにおいては、 言語系はタグで識別されます。
[16] 言語系は用字系とは違って文章処理クライアントが文字だけを見て確定させられるとは限りません。 利用者や OS が言語系を指定する必要があります。 >>15 それがない場合は文章処理クライアントは用字系ごとの既定の言語系の情報を使うことになります >>15, >>28。
[17] フォントは、 用字系や言語系やその両方に仕立てた情報を記述できます。 >>15
[6] 用字系だけが指定され言語系が指定されない状態は既定言語系とされます。
[10] これを表すために dflt
という言語系タグが使われています。
>>1
[7] 何を既定言語系にするかはフォント設計者の裁量に委ねられています。 >>1
[9] ただしどれを既定言語系に選ぶかによって既定でない言語系に対応するための lookup 等の記述が複雑になってしまうことがあります。 対応したい言語系のうちで最大公約数的な方法を使っている言語系を既定とし、 それ以外はそこからの差分で記述するのが賢いのかも知れません。 >>1
[19]
GSUB
表や
GPOS
表は、
用字系タグと言語系タグの組み合わせに対して適用されるべき機能を記述します。
[29]
JSTF
表は、
用字系タグと言語系タグの組み合わせに対して適用されるべき事項を記述します。
[26]
BASE
表は、
用字系タグと言語系タグ (と他の要素) の組み合わせに対して適用されるべき基線を記述します。
[32] これらを通して言語情報によるグリフ選択等が実現されます。
[3] IETF言語タグやUnicodeロケール識別子は言語中心の識別子なので言語の下位分類に用字系が入っていますが、 OpenType では用字系の下位分類に言語があります。
[30]
meta
表では
IETF言語タグから派生した
ScriptLangTag
が使われます。
[31]
name
表や
cmap
表には言語ID欄があって、
言語を数値識別子で指定できます。
name
表ではIETF言語タグも指定できます。
これらの表の言語指定は文字コードの指定と絡み合っています。
[1] OpenType glyph processing (part 2) - Typography | Microsoft Docs, alib-ms, https://docs.microsoft.com/ja-jp/typography/develop/processing-part2#scripts-and-language-systems
Common
であるとしても、 必ずしもDFLT
を適用するべきとは限りません。 前後の文字の用字系でまとめて処理するのが効率的なら、 そうしても構いません >>18。