/
419.txt
268 lines (201 loc) · 10.1 KB
/
419.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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
* 仕様書
[REFS[
- [30] [CITE[[[The Unicode Standard]], Version 13.0 - ch23.pdf]], [TIME[2020-03-09T17:53:52.000Z]], [TIME[2020-12-22T08:47:43.938Z]] <https://www.unicode.org/versions/latest/ch23.pdf#G19053>
]REFS]
* 意味
[31]
[[Unicode文字]]は、
いろいろな[[グリフ]]によって[RUBYB[表現][represent]]され得ます。
ときにテキスト処理において[[文字]]を表現するのに使う[[グリフ]]の[[集合]]を制限したり、
変更したりする必要が生じることがあります。
[SRC[>>30]]
[32]
通常それは[[リッチテキスト]]文書で[[フォント]]や[[スタイル]]を選ぶことで示します。
しかし特殊な状況では、
そうした通常の[RUBYB[見た目][appearance]]の範囲との[RUBYB[違い][variation]]を、
[[平文]]で書式付きテキストを交換するのが不可能か不便であるとしても、
同じ[[文書]]に並べて表現する必要があったりもします。
[SRC[>>30]]
[EG[
[33]
例えば[[モンゴル文字]]を使う[[言語]]では、
特定の[RUBYB[テキスト的な目的][textual purpose]]のため「[RUBYB[汎用][generic]]」の[[グリフ]]群の範囲では不適切と考えられるときに、
特定の[RUBYB[異体][variant]]のグリフ群の範囲が必要となる場合があります。
[SRC[>>30]]
]EG]
[34]
そこで[[異体選択子]]は特定の[[文字]]の表現に使う[[グリフ]]の[[集合]]に対して制限を指定する仕組みを提供するのであります。
[SRC[>>30]]
[35]
加えて、
[[異体選択子]]は、
[[CJK漢字]]や[[モンゴル文字]]におけるような、
[RUBYB[本質的][essentially]]に[RUBYB[同じ][same]][RUBYB[[[意味]]][semantics]]を持ちながら[RUBYB[実質的][substantially]]に違った[[グリフ]]の範囲を持った、
[RUBYB[[[異体]]][variant]]を指定する仕組みを提供するのであります。
[SRC[>>30]]
[36]
つまるところ、
[[異体選択子]]は、
[[Unicode]]
が過剰に[RUBYB[[[統合]]][unify]]して
1つの[[文字][Unicode文字]]として扱っているものを、
より細かく区別して扱うための救済措置的に使えるものとなっています。
[37]
[[Unicode文字]]が必ずしも一般に認識される
「[[文字]]」
の範囲と一致しない [SEE[ [[Unicode文字]] ]]
のと同じように、
[[異体選択子]]が扱うものは一般にいう「[[異体字]]」
と必ずしも同じではありません。
* 異体字セレクター文字
[REFS[
- [7] [CODE[Variation_Selector]]
の一覧 <https://chars.suikawiki.org/set/%24unicode%3AVariation_Selector>
]REFS]
[8] [[蒙古文字]]専用:
[CODE[U+180B]] [CODE(charname)@en[FVS1]],
[CODE[U+180C]] [CODE(charname)@en[FVS2]],
[CODE[U+180D]] [CODE(charname)@en[FVS3]]
[26] 汎用:
[CODE[U+FE00]] [CODE(charname)@en[VS1]] - [CODE[U+FE0F]],
[CODE[U+E0100]] - [CODE[U+E01EF]] [CODE(charname)@en[VS256]]
* 異体列
[39]
[DFN[[RUBY[異体列][いたいれつ][variation sequence]]]]は、
1つの[[基底文字]]または
[[spacing mark]] ([CODE[[[General_Category]]=[[Mc]]]])
に、
1つの[[異体選択子文字]]を続けたものです。
これを[[基底文字]]または [[spacing mark]]
の[DFN[[RUBY[異体][いたい][variant]]]]といいます。
[SRC[>>30]]
[FIG(railroad)[ [38] [[異体列]]
= |
== [[基底文字]]
== [CODE[Mc]]
= [[異体選択子]]
]FIG]
;; [40]
[[基底文字]]が使われることが多く、
[[spacing mark]]
があまりありません [SRC[>>30]]。
そこで
[CITE[The Unicode Standard]]
は、
簡潔のため[[基底文字]]のみ記述するが
[[spacing mark]]
も同様である
[SRC[>>30]]、
というやや曖昧な規定の方法を採っています。
[41]
[[異体列]]において[[異体選択子]]は[[基底文字]]または
[[spacing mark]]
の[RUBYB[見た目][appearance]]に影響します。
[SRC[>>30]]
[42]
この見た目の変化は、
後に続く[[文字]]、
とりわけ同じ[[基底文字]]または [[spacing mark]]
に[[適用]]される[[結合文字]]にも[RUBYB[視覚的][visual]]な影響を与えることがあります。
[SRC[>>30]]
[EG[
[43]
[[基底文字]]の[RUBYB[図形][shape]]の変化に合わせて、
[[結合マーク]]の図形や位置も変化するべきです。
[[基底文字]]の[[色]]の変化に合わせて、
[[結合マーク]]の[[色]]も変化するべきです。
[[基底文字]]の [[advance width]]
が変化すれば、
次の [[spacing文字]]の位置も変化します。
[SRC[>>30]]
]EG]
* IVS
[REFS[
- [19] [CITE[UTS #37: Unicode Ideographic Variation Database]]
([TIME[2011-11-08 13:41:57 +09:00]] 版)
<http://www.unicode.org/reports/tr37/>
- [21] [CITE@en-us[Ideographic Variation Database]]
([TIME[2015-05-08 11:34:52 +09:00]] 版)
<http://www.unicode.org/ivd/>
]REFS]
* 数字
[29]
本来[[算用数字]]を表す[[符号位置]]の表示形を[[アラビア文字の数字]]に切り替える、
[[numeric shape selector format characters]]
があります。
* 続け字
[28]
[[続け字]]、[[合字]]に関係した異体グリフの選択には他の仕組みがあります。
[SEE[ [[続け字]]、[[合字]] ]]
* このウィキでの用例
[SEE[ [[Unicodeにない文字]] ]]
* メモ
[20] [CITE@ja[プレスリリース「ISO/IEC 10646の規定に基づく漢字字形データベースへの登録」 | IPSJ/ITSCJ]]
([[一般社団法人 情報処理学会 情報規格調査会]] 著, [TIME[2015-07-27 13:35:00 +09:00]] 版)
<https://www.itscj.ipsj.or.jp/oshirase/2014/06/pr_140610_sc2.html>
[1] [CITE[ホーム]]
([TIME[2011-04-17 18:08:45 +09:00]] 版)
<http://ivstpc.jp/default.aspx>
[2] [CITE[人名などの異体字もデータ交換可能に、MSなどが「IVS技術促進協議会」発足 -INTERNET Watch]]
([TIME[2011-04-17 18:09:18 +09:00]] 版)
<http://internet.watch.impress.co.jp/docs/news/20101206_412176.html>
[3] [CITE@ja-JP[『Unicode IVS Add-in for Microsoft Office』を提供]]
( ([TIME[2012-11-09 12:20:42 +09:00]] 版))
<http://www.microsoft.com/japan/presspass/detail.aspx?newsid=4219>
[4] [CITE[Issue 383580 - chromium - UVS (SV or IVS) is not supported even with a UVS-capable font - An open-source project to help move the web forward. - Google Project Hosting]]
([TIME[2015-10-18 22:28:50 +09:00]] 版)
<https://code.google.com/p/chromium/issues/detail?id=383580>
[5] [CITE@ja-jp[新異体字セレクター作成計画 ‐ 未来情報産業]]
( ([[未来情報産業株式会社]] 著, [TIME[2010-12-04 23:55:56 +09:00]] 版))
<http://www.mirai-ii.co.jp/data/ivs/>
[6] >>1 [CITE[404 Not Found]] ([TIME[2016-05-30 18:11:56 +09:00]]) <http://ivstpc.jp/>
いつの間にか消滅
[9] [CITE@ja-jp[異体字セレクター ‐ 通信用語の基礎知識]]
([TIME[2016-07-12 11:03:45 +09:00]])
<http://www.wdic.org/w/WDIC/%E7%95%B0%E4%BD%93%E5%AD%97%E3%82%BB%E3%83%AC%E3%82%AF%E3%82%BF%E3%83%BC>
[10] [CITE@ja[異体字について | 文字情報基盤整備事業]]
([TIME[2016-07-12 11:33:24 +09:00]])
<http://mojikiban.ipa.go.jp/2527.html>
[11] [CITE[Emoji Variation Sequences]]
([TIME[2016-06-15 08:30:11 +09:00]])
<http://www.unicode.org/emoji/charts/emoji-variants.html>
[12] [CITE@ja[AbemaPrime【公式】さんのツイート: "【今夜 #アベプラ】①沖縄県東村高江で米軍大型ヘリが着陸し炎上②プレイバック総選挙!05年「郵政解散」を小泉元総理に罷免された島村元農水大臣に聞く︎③元郵便局員が語る郵政民営化の実情@8bit_HORIJUN @shigekixs▷https://t.co/NdXJ5e0onb https://t.co/F5S046u1CO"]]
([TIME[2017-10-11 19:38:28 +09:00]])
<https://twitter.com/Abema_Prime/status/918056947902922752>
[13] >>12 ③の直前に [CODE[U+FF0E]]
[FIG(quote)[
[FIGCAPTION[
[14] [CITE@en[Character Description Language - Wenlin Guide]]
([TIME[2017-04-12 00:30:51 +09:00]])
<http://guide.wenlininstitute.org/wenlin4.3/Character_Description_Language>
]FIGCAPTION]
> Wenlin Variation Sequences depend on Wenlin CDL font support: Wenlin uses a whole plane of Private-Use Area (PUA) characters (U+F0000..U+FFFFD), to define its own Private-Use Variation Selectors (PVS). Wenlin uses these PVS to define Wenlin’s own Private Variation Sequences, used to manage glyph variation in the CDL Database.
]FIG]
[FIG(quote)[
[FIGCAPTION[
[15] ([TIME[2018-02-19 16:28:14 +09:00]])
<ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/APPLE/CORPCHAR.TXT>
[TIME[2005-04-05T01:04:12.000Z]], [TIME[2020-11-13T11:39:33.292Z]] <https://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/CORPCHAR.TXT>
]FIGCAPTION]
> transcoding hint: variant tag
]FIG]
- [17] [TIME[2019-05-21T17:54:48.000Z]], [TIME[2020-10-20T12:09:55.568Z]] <https://www.unicode.org/Public/UCD/latest/ucd/StandardizedVariants.txt>
- [18] [CITE@en-us[UAX #44: Unicode Character Database]], [TIME[2020-03-06T22:23:11.000Z]], [TIME[2020-10-20T12:10:39.430Z]] <http://www.unicode.org/reports/tr44/#StandardizedVariants>
[16] [[SAPV]]
[22] [CITE@en-us[Standardized Variants]]
([TIME[2015-05-26T21:39:32.000Z]], [TIME[2020-10-24T05:50:46.389Z]])
<http://unicode.org/Public/8.0.0/ucd/StandardizedVariants.html>
[23] [CITE@en-us[Standardized Variants]]
([TIME[2016-04-07T23:12:19.000Z]], [TIME[2020-10-24T05:50:56.522Z]])
<http://unicode.org/Public/9.0.0/ucd/StandardizedVariants.html>
[24] ([TIME[2019-05-21T17:54:48.000Z]], [TIME[2020-10-24T05:51:21.649Z]])
<https://www.unicode.org/Public/UCD/latest/ucd/StandardizedVariants.txt>
[25] [[朝刊太郎]]
[FIG(quote)[
[FIGCAPTION[
[27] [CITE@ja[文字コード技術部会 | 一般社団法人 文字情報技術促進協議会]]
([TIME[2020-11-15T08:09:43.000Z]], [TIME[2020-11-15T08:10:41.559Z]])
<https://moji.or.jp/wg/code/>
]FIGCAPTION]
> 現在、文字コード技術部会では、このIVSを含む文字列のコレーションを可能にする技術的な方法について調査と検討を進めています。最終的には何らかの実現可能な方法を提案し、課題の解決につなげたいと考えています。
]FIG]