/
271.txt
120 lines (91 loc) · 3.23 KB
/
271.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
[3]
[DFN[[CODE[ScriptLangTag]]]]
は、
[[フォント]]に関連付けられた特定の[[言語][自然言語]]や[[用字系]]を表すものです。
[SRC[>>1]]
[4]
[[IETF言語タグ]]に非常によく似ており、
[[IETF言語タグ]]の規定をほぼ参照する形で定義されていますが、
[[フォント]]用に使うものということで、
[[言語]]よりも[[用字系]]に焦点が当てられています。
* 仕様書
[REFS[
- [1] [CITE@ja-jp[[[meta]] — Meta table (OpenType 1.9) - Typography | Microsoft Learn]], [[PeterCon]], [TIME[2022-12-02T14:00:26.000Z]] <https://learn.microsoft.com/ja-jp/typography/opentype/spec/meta#scriptlangtag-values>
]REFS]
* 構文
[6]
[CODE[ScriptLangTag]]
は、
省略可能な[[言語部分タグ]]、
1個の[[用字系部分タグ]]、
省略可能な[[地域部分タグ]]、
0個[[以上]]の[[異体部分タグ]]、
0個[[以上]]の[[拡張部分タグ]]、
省略可能な[[私用部分タグ]]を、
この順で
[CODE[-]]
で区切って並べたものです。
[SRC[>>1]]
[FIG(railroad)[ [7] [CODE[ScriptLangTag]]
= ?
== [[言語部分タグ]]
== [CODE[-]]
= [[用字系部分タグ]]
= ?
== [CODE[-]]
== [[地域部分タグ]]
= *
== [CODE[-]]
== [[異体部分タグ]]
= *
== [CODE[-]]
== [[拡張部分タグ]]
= ?
== [CODE[-]]
== [[私用部分タグ]]
]FIG]
[10]
派生元の本来の[[IETF言語タグ]]とは違って[[用字系部分タグ]]が必須となっています。
これは[[言語]]が主対象の[[言語タグ]]と違って、
[[フォント]]で使う [CODE[ScriptLangTag]] では[[用字系]]に主に着目するためです。
;; [11] [[言語タグ]]には[[用字系抑制]]等の規定があって、
明示する必要がないならむしろ[[用字系部分タグ]]は省略するべきとされています。
[12]
ほとんどの場合には[RUBYB[一般的][generic]]なタグを使うべきです。
[CODE[dlng]] や [CODE[slng]]
では、ほとんどの場合は[[用字系部分タグ]]だけで構成される値を使うことになります。
[SRC[>>1]]
[EG[
[14]
[CODE[Cyrl]] は[[キリル文字]]を表します。
[CODE[sr-Cyrl]] は[[セルビア語]]用[[キリル文字]]を表します。
[SRC[>>1]]
]EG]
* 文脈
[2]
[CODE[meta][meta (OpenType)]] [[表][OpenType表]]の
[CODE[dlng]]
や
[CODE[slng]]
の値として使います。
[SRC[>>1]]
* 処理
[8]
仕様に[[適合]]しない値は無視します。 [SRC[>>1]]
[9]
[[拡張部分タグ]]、[[私用部分タグ]]は無視できます。 [SRC[>>1]]
[13]
実装は[[用字系部分タグ]]以外が含まれる値も認めなければなりませんが、
[[用字系部分タグ]]のみを解釈し、他を無視しても構いません。
[SRC[>>1]]
* 語彙
[15] 各[[部分タグ]]の項を参照。
[16]
特別な値については[[用字系部分タグ]]を参照。
* 関連
[5]
[[OpenType]] は他に[[用字系タグ]]や[[言語系タグ]]を規定しています。
[CODE[ScriptLangTag]] とは構文と[[語彙]]が違っていて、
対応付けは必ずしも容易ではありません。
[17] [[OpenTypeにおける言語]]参照。
* メモ