[380] 
[[基底文字]]に[DFN[[RUBYB[[RUBY[異][い]][RUBY[体][たい]][RUBY[選][せん]][RUBY[択][たく]][RUBY[子][し]]][variation selector]]]]を組合せた[DFN[[RUBYB[[RUBY[異][い]][RUBY[体][たい]][RUBY[列][れつ]]][variation sequence]]]]は、
[[基底文字]]が表す[[字形]]を限定したものです。

[381] 
[DFN[IVS]] は[[漢字]]を対象としたもの、
[DFN[EVS]] は[[絵文字]]を対象としたもの、
[DFN[SVS]] はその他のものです。

* 仕様書

[REFS[
- [105] 
[CITE[[[The Unicode Standard]], Version 13.0 - ch13.pdf]], [TIME[2020-03-09T17:53:44.000Z]], [TIME[2020-12-24T07:34:13.381Z]] <https://www.unicode.org/versions/latest/ch13.pdf#G27804>
- [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>
- [68] 
[CITE[[[The Unicode Standard]], Version 13.0 - ch24.pdf]], [TIME[2020-03-09T17:53:54.000Z]], [TIME[2020-12-23T09:22:15.656Z]] <https://www.unicode.org/versions/latest/ch24.pdf#G11576>
- [17] 
<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]] <https://www.unicode.org/reports/tr44/#StandardizedVariants>
- [86] [CITE@en-us[UAX #44: Unicode Character Database]], [TIME[2020-03-06T22:23:11.000Z]], [TIME[2020-12-23T12:08:32.375Z]] <http://www.unicode.org/reports/tr44/#EmojiVariants>
- [19] [CITE[UTS #37: Unicode Ideographic Variation Database]]
([TIME[2011-11-08 13:41:57 +09:00]] 版)
<https://www.unicode.org/reports/tr37/>
- [21] [CITE@en-us[Ideographic Variation Database]]
([TIME[2015-05-08 11:34:52 +09:00]] 版)
<https://www.unicode.org/ivd/>
-- [232] [CITE[Index of /ivd/data]], [TIME[2020-12-26T12:41:14.000Z]] <https://www.unicode.org/ivd/data/>

]REFS]

* 意味

[31] 
[[Unicode文字]]は、
いろいろな[[グリフ]]によって[RUBYB[表現][represent]]され得ます。
ときにテキスト処理において[[文字]]を表現するのに使う[[グリフ]]の[[集合]]を制限したり、
変更したりする必要が生じることがあります。
[SRC[>>30]]

[32] 
通常それは[[リッチテキスト]]文書で[[フォント]]や[[スタイル]]を選ぶことで示します。
しかし特殊な状況 (※ >>382) では、
そうした通常の[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文字]]として扱っているものを、
より細かく区別して扱うための救済措置的に使えるものとなっています。

[382] 
なお [[Unicode]] のいう「特殊な状況」とは、 
[[Unicode]] の[[世界観][欧米中心主義]]で「特殊」とされるものです。
それは世界各地の一般の人々の文字生活上「特殊」とは限りません。

[EG[
[383] 
例えば少なくない[[日本人]]が、
自分の[[名前][人名]]の'''通常'''の表記のために
[[IVS]] を必要としています。

]EG]

[37] 
[[Unicode文字]]が必ずしも一般に認識される
「[[文字]]」
と一致しない [SEE[ [[Unicode文字]] ]]
のと同じように、
[[異体選択子]]が扱うものは一般にいう「[[異体字]]」
と必ずしも同じではありません。

[NOTE[

[472] 
たまに[[文字コード]]や[[漢字]]をちょっと齧ったくらいの知識の人が、
「新しい[[符号位置]]を追加しないで[[異体字セレクタ]]で[[異体字]]を表現するべきだ」
と主張することがあります。
しかしほとんどの場合この主張は誤りで、その人が思っている「異体字」
は [[Unicode]] の[[異体字セレクタ]]が表現可能な「異体字」ではありません。
意図的ではないにせよ
「今の [[Unicode]] を破壊して自分の思う新しいアーキテクチャーを採用するべきだ」
という主張になってしまっています。

なお>>90も参照。

]NOTE]

[EG[

[473] 例えば[CH[広]]と[CH[廣]]は [[Unicode]] ではまったく異なる[[符号位置]]が与えられた互いに独立した[[文字]]です。
これらの一方を他方の[[異体字選択子]]で表すことは'''できません'''。

]EG]


-*-*-

[125] 
ある[[文字]]の[DFN[[RUBYB[グリフ[RUBY[的][てき]][RUBY[部][ぶ]][RUBY[分][ぶん]][RUBY[集][しゅう]][RUBY[合][ごう]]][glyphic subset]]]]とは、
その[[文字]]の[RUBYB[表示][display]]に適切な[[グリフ]]群の[[部分集合]]です。
[SRC[>>19]]
[[符号点]]が[[文字]]を表すように、
[[異体列]]は[[グリフ的部分集合]]を表すものです。
この[[グリフ的部分集合]]という語はなぜか
[CITE[The Unicode Standard]]
ではなく
[[UTS #37]]
で定義され
[[IVS]]
の説明にしか使われていませんが、
その定義された意味は他の[[異体列]]にもそのまま通用するはずです。

[204] 
「グリフ」 (単数) ではなく「グリフ群」の[[集合]]と説明されていますが、
[[蒙古文字]]のように文脈で[[グリフ]]が変化する場合はもちろん、
[[漢字]]のような文脈変化がない場合でも、
特定[[フォント]]の特定[[グリフ]]だけを指すような限定的な指定ではなく、
もう少し広い範囲の「同じような[[グリフ]]」を指しています。
ただしその「同じような」の具体的範囲は定められていません。


[205] 
[[異体列]]の[[グリフ的部分集合]]だけでなく、
[[文字]]の[[グリフ]]群についても具体的範囲を
[[Unicode]]
は定めていません。
むしろ逆に[[異体列]]が定義されて[[代表グリフ]]が提示されることで、
[[Unicode文字]]の[[代表グリフ]]以外にもこんな字形までその
[[Unicode文字]]の範囲に含まれていたのかと知ることができます。


[137] 
ある[[文字]]に関する各[[異体列]]の[[グリフ的部分集合]]は、
[[互いに素]]とは''限りません''。
このことは [[IVS]] について明記されています [SRC[>>19]]
が、
他の[[異体列]]についても同様です。
[[IVS]]
でもそれ以外でも、
[[代表グリフ]]が同じように見えるものすら散見されます。



-*-*-

[87] 
[[異体列]]は、
元の
[[Unicode文字]]の意味的範囲に含まれる[[字形]]のうちの一部分を表す、
という立て付けで規定されています。
元の
[[Unicode文字]]と同じ意味の別の[[文字]]を指すものではありません。
従って元の
[[Unicode文字]]の範囲に含まれないと思われるような、
著しく異なるものが[[異体列]]で表されることはありません。
この設計ゆえに、[[異体選択子]]に未対応だとしても、
[[基底文字]]だけを見て処理できるということになっています。

[88] 
そのため、
[[異体]]の区別のためには、
元の[[Unicode文字]]と[[異体列]]との区別では意味がなく、
[[異体列]]と[[異体列]]との区別にしなければいけません。

[EG[
[89] 
「令」 [VAR[c]]
について
「明朝体の令」と「楷書体の令」が[[異体選択子]] [VAR[v1]], [VAR[v2]]
で区別されるとするとき、
[VAR[c]] と <[VAR[c]], [VAR[v1]]> や
[VAR[c]] と <[VAR[c]], [VAR[v2]]>
の区別では意味がなく、
<[VAR[c]], [VAR[v1]]> 
と
<[VAR[c]], [VAR[v2]]>
で区別しなければなりません。
]EG]

[NOTE[
[90] かつては、[[異体字]]のために膨大な[[符号空間]]を占用されるのはけしからんから枝番形式にしろ、
という主張をする人達もいたようです。 [[Unicode]] の[[異体選択子]]は、
微小な違いを枝番形式で「節約」することにはなりますが、
微小でない違いは別の [[Unicode文字]]を追加しないといけないのですから、
「節約」にはなりません。

[91] [[異体字]]を枝番方式で表せば、枝番部分を無視すれば簡単に曖昧検索できて便利だ、
といわれていました。[[異体選択子]]にもそれは当てはまりますが、
既に異なる[[Unicode文字]]として区別されている (または今後追加される)、
違いの大きな[[異体字]]の同一視もしないといけないので、
検索処理の効率化にはあまり貢献しません。

[390] 
[[異体列]]として登録された[[グリフ的部分集合]]と同じものを含む別の[[Unicode文字]]が後から追加されるというおかしなこともたまに起こっています。

[EG[
[391] 
例えば
[CODE[2022-09-13]]
版の [[IVD]]
[SRC[>>377]]
は 
[[Unicode]] 15
によって新しく追加された [[CJK統合漢字]]
[CODE[U+31350]]
用の [[IVS]] 
<[CODE[U+31350]], [CODE[U+E0100]]>
を追加しました。

[392] 
これは
[[Adobe-Japan1]]
の
[CODE[CID+19130]]
を表すものでしたが、
[CODE[CID+19130]]
には以前から
<[CODE[U+793A]], [CODE[U+E0100]]>
が登録されていました。

[393] 
<[CODE[U+31350]], [CODE[U+E0100]]>
と
<[CODE[U+793A]], [CODE[U+E0100]]>
は同じもの
(Duplicate Sequence)
として
[CODE[IVD_Stats.txt]]
に示されています。


]EG]


]NOTE]


[92] 
[[Unicode文字]] ⊃ [[異体列]]という構造は
[[Unicode]]
のアーキテクチャ的にはそれでいいのでしょうが、
実際の運用を思うと厄介なことも少なくありません。

例えばある文字 [VAR[c]]
の[[符号点]]がほとんどの場合その一般的な字形 [VAR[v1]]
で表示されていて、
たまに使われる異体 [VAR[v2]]
と区別したいとき、
確実に区別するなら <[VAR[c]], [VAR[v1]]>, <[VAR[c]], [VAR[v2]]>
と書き分けなければなりません。

ですが、現実的にほとんどの場合 [VAR[c]] が <[VAR[c]], [VAR[v1]]>
の意味で使われているのです。普通の人が普通の入力方法で作った文書には
[VAR[c]] と書かれているのに、それが通用しなくなるのは困りものです。



* 異体列

[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]


[107] 
[[異体選択子]]は、適用対象の直後に置きます。 [SRC[>>105]]
[[結合文字]]や
[CODE(charname)@en[ZWJ]] 
や
[CODE(charname)@en[ZWNJ]]
を間に挟むことはできません。

[110] 
[[自由異体選択子]]の古い実装は、
[CODE(charname)@en[ZWJ]]
を併用する時、
[[基底文字]]、 [CODE(charname)@en[ZWJ]], [[自由異体選択子]]の順としていました。
古い [CITE[The Unicode Standard]] でないドキュメントがこの順としていたためだといいます。
[SRC[>>105]]

;; [111] 
[CITE[The Unicode Standard]] はこのことにわざわざ言及しているのですが、
古めの実装がそうしている、
と書いているだけで、新しい実装がどうするべきか明確にしていません。
[[SVS]] でないものは無視するべきとも書いているので、
新しい実装はこの方法を採るべきではないと暗に示しているのでしょうか。
しかし古い実装がこの方法を使っていて、
この方法を使った文書が現に存在しているのだとすると、
[[後方互換性]]のためこの方法も意図通りに解釈できるべきでしょう。

[47] 
[[異体列]]には、
[[SVS]],
[[IVS]],
[[EVS]]
の3種類があります。
[SRC[>>30]]


** 被演算子

[196] 
適用対象となる[[文字]]が、
[[異体列]]の1文字目となります。
1文字目は[[基底文字]]か、
[[spacing mark]]
です。

;; [40] 
[[基底文字]]が使われることが多く、
[[spacing mark]]
があまりありません [SRC[>>30]]。
そこで
[CITE[The Unicode Standard]]
は、
簡潔のため[[基底文字]]のみ記述するが
[[spacing mark]]
も同様である
[SRC[>>30]]、
というやや曖昧な規定の方法を採っています。



[51] 
[[異体列]]の最初の[[文字]]が、
[[nonspacing combining mark]]
や[[正準分解可能文字]]になることは、ありません。
これは、
[[正規化]]文における[[異体列]]の解釈の問題を防ぐための制限です。
[SRC[>>30]]

[203] 
[[IVS]]
には更に[[互換分解可能文字]]でないこととの制約が付きます
(>>50)。

[197] 
[[異体選択子]]は必ず適用対象の直後に来るとされています。
そのため[[基底文字]]に[[結合文字]]が続く列に[[異体選択子]]を適用することはできず、
[[合成済文字]]に[[異体選択子]]を適用することもできません。

[198] 
例えば「ざ」の異体を区別したくても、「ざ」 + [[異体選択子]]とすることはできません。
「ざ」は「さ」 + [[結合文字]]の[[濁点]]と[[正準等価]]なので、
「さ」 + [[異体選択子]] + [[結合文字]]の[[濁点]]、
と表現することになります。

;; [199] 
[[変体仮名]]は現行[[仮名]] + [[異体選択子]]とすることが検討されたようですが、
[[濁音]]、[[半濁音]]が複雑になることから別の[[文字]]とされたようです。
(字源も字形も違う[[仮名]]まで現行[[仮名]]と同じ[[文字]]の[[異体]]とみなすのは濫用がすぎると思われ、
結果それで良かったのでしょうが。)

[511] 
[[結合文字]] ([[前進マーク]]を除く。) に[[異体字選択子]]を適用することはできません。

;; [512] 
例えば[[濁点]]の[[異体字]]を[[異体字選択子]]で記述することはできません。

** 異体選択子

[93] 
[[異体選択子]]の[[符号点]]は3種類あります。

- [8] 
[CODE[U+180B]] [CODE(charname)@en[MONGOLIAN FREE VARIATION SELECTOR ONE]]
([CODE(charname)@en[FVS1]]),
[CODE[U+180C]] [CODE(charname)@en[MONGOLIAN FREE VARIATION SELECTOR TWO]]
([CODE(charname)@en[FVS2]]),
[CODE[U+180D]] [CODE(charname)@en[MONGOLIAN FREE VARIATION SELECTOR THREE]]
([CODE(charname)@en[FVS3]]),
[CODE[U+180F]] [CODE(charname)@en[MONGOLIAN FREE VARIATION SELECTOR FOUR]]
([CODE(charname)@en[FVS4]])
-- [95] [[Unicode 3.0]] で追加
-- [362] [CODE(charname)@en[FVS4]] は [[Unicode 14.0]] で追加
-- [96] [[蒙古文字]]専用
-
[26] 
[CODE[U+FE00]] [CODE(charname)@en[VS1]] - [CODE[U+FE0F]] 
-- [97] [[Unicode 3.2]] で導入
-- [98] [[SVS]], [[EVS]] で使われる
- [94] 
[CODE[U+E0100]] - [CODE[U+E01EF]] [CODE(charname)@en[VS256]]
-- [99] [[Unicode 4.0]] で導入
-- [100] [[IVS]] で使われる


[REFS[
- [7] [CODE[Variation_Selector]]
の一覧 <https://chars.suikawiki.org/set/%24unicode%3AVariation_Selector>
-- [218] 
[[自由異体選択子]]
<https://chars.suikawiki.org/set/%24unicode%3Afree-variation-selectors>
-- [217] 
[[IVS]] に使われる[[異体選択子]]の一覧
<https://chars.suikawiki.org/set/%24uts37%3Avariation-selectors>
]REFS]


[101] 
兼用でもいいはずなのに、なぜか [[VS]] の種類ごとに使い分けられています。
既に種類ごとに違う方法で実装されてしまっていて、
今更兼用にもできないみたいです
[SRC[>>363]]。

[102] 
[[Unicode 4.0]] 追加分は[[第14面]]にあって、
[[UTF-8]] でも [[UTF-16]] でも4バイトで表されます
(それ以外の文字は、 [[UTF-8]] で3バイト、 [[UTF-16]] で2バイトです)。
[[Unicode 4.0]] 時点では [[BMP]] に押し込められるだけの空き領域があったはずですが...
[[SIP]] の[[漢字]]の [[IVS]] だと
[[UTF-8]] でも [[UTF-16]] でも1つ8バイトにもなってしまいます。

;; [103] 
[[Unicode]] で[[欧米]]以外の文字を使うという時点で、
バイト数的な効率が悪いことはわかりきっているので、
いまさら気にするなということかもしれませんが...

;; [104] 
それにしたって、いちばん需要が大きそうな[[漢字]]の [[IVS]]
に使う[[異体選択子]]がいちばんバイト長が大きくなる冷遇ぶりw


[138] 
違う[[基底文字]]に対して同じ[[異体選択子]]が適用可能だからといって、
それによって表される異体の関係性が同じとは限りません。
このことは [[IVS]] については明記されています [SRC[>>19]]
が、他の[[異体列]]でも同様です。

[EG[
[210] 
例えばある[[文字]]に対して [CODE[U+E0100]] が2点しんにょうを表していても、
他の[[文字]]に対して1点しんにょうを表しているかもしれませんし、
さらに他の[[文字]]に対しては[[異体列]]が定義されていないかもしれません。
]EG]

[REFS[
-
[363] 
[CITE[Proposal to add MONGOLIAN FREE VARIATION SELECTOR FOUR - 20057-mongolian-fvs4.pdf]], [TIME[2020-01-24T16:50:17.000Z]], [TIME[2022-03-13T01:26:40.964Z]] <https://www.unicode.org/L2/L2020/20057-mongolian-fvs4.pdf>
]REFS]

-*-*-

[139] 
[[IVS]]
に使える[[異体選択子]]は
[N[240]]
個あります。
[[Unicode Consortium]] 
は、
[N[240]]
[[以上]]の [[IVS]] の登録が必要となった時、
新しい[[異体選択子]]を追加する
[SRC[>>19]]
とされています。

[194] 
それがどの程度現実性があるのか不明ですが、
実装は既存の[[異体選択子]]だけと決め打ちにせず、
将来の追加も想定しておく必要があるでしょう。

[400] 
ほかに、[[私用]]の[[異体字選択子]]がいくつか使われています (>>113)。


* SVS

[48] 
[DFN[[RUBY[標準化済異体列][ひょうじゅんかずみいたいれつ][standardized variation sequence]]]]
([DFN[SVS]])
は、
[[UCD]]
の
[DFN[[CODE[StandardizedVariants.txt]]]] [SRC[>>17]]
で定義されます。
[SRC[>>30]]

[24] 
[CODE[StandardizedVariants.txt]]
にはコメントとして
[[SVS]]
をいくつかの種類に分けています [SRC[>>17]]。
それによると:

- [73] Mathematical
- [74] East Asian punctuation positional variants
- [75] Myanmar
- [76] Phags-pa
- [77] Manichaean
- [78] Mongolian
- [79] CJK compatibility ideographs

... があります。 (今後他の種類が増えることもあるでしょう。)

[80] 
Manichaean
と
Mongolian
は、
適用される
[[shaping environment]]
が、
[CODE[isolate]],
[CODE[initial]],
[CODE[medial]],
[CODE[final]]
のうち1つ[[以上]]のみに限定されるとあります。 [SRC[>>17]]

[81] 
このうち 
[CODE[Mongolian]]
だけは、
専用の[[自由異体選択子]]文字を使います。



[378] 
[[書字方向]]との関係は[[縦書き字形]]参照。

** 蒙古文字自由異体選択子

[67] 
[[蒙古文字]]の[[異体]]は、
[[SVS]]
に分類されていますが、
特別な扱いを受けています。
[[蒙古文字]]用には特別な[[異体選択子]]が3つ用意されています (>>8)
[SRC[>>105]]。
この[[異体選択子]]は[[蒙古文字]]だけに使われています。
[[蒙古文字]]には他の[[異体選択子]]は使われていません。
(この原則が将来にわたって維持されるのかは不明。)

[106] 
この[[蒙古文字]]の[DFN[[RUBY[自由異体選択子][じゆういたいせんたくし][free variation selector]]]]は、
機械的に決定できない[[グリフ]]形が必要な時
(例えば[RUBYB[[[外来語]]][foreign word]]を書く時)
に使います。
[SRC[>>105]]

[109] 
[[利用者]]は、
[[レンダリング]]システムが自動的に正しい[[グリフ]]を選択できないときのみ、
[[自由異体選択子]]を使う[RUBYB[べき][should]]です。
[SRC[>>105]]


** 数学記号


[200] 
ちなみに
[[Unicode]]
には[[数学]]用と称して太字、
フォント違いなど[[ラテン文字]]のバリエーションが大量に、
[[ASCII文字]]とは別に用意されています。
それらはなぜか[[異体列]]ではなく独立した[[文字]]となっています。
[SEE[ [[ラテン文字]] ]]

;; [201] 「数学用」という制限が守られるはずもなく、
[[フォント]]指定機能がない [[SNS]]
で装飾付きの[[英数字]]の記述のために広く使われるようになっています。

** CJK互換漢字SVS

[56] 
各[[CJK互換漢字]]用に1つずつ、計1002個の [[SVS]] が定義されています。
[SRC[>>30]]

[57] これは
[[CJK互換漢字]]の[[正規化]]の問題の対策として定義されました。
[[CJK互換漢字]]を相当する[[CJK統合漢字]]と区別したい時がありますが、
[[CJK互換漢字]]は[[CJK統合漢字]]に[[正準等価]]な[[写像]]を持つ故、
[[正規化]]によってその区別が失われてしまいます。
そこでかわりに
[[SVS]]
を使えるのです。
[SRC[>>30]]

[58] 
[[CJK互換漢字]]用 [[SVS]] は、 [[CJK互換漢字]]の[[符号点]]と一対一対応するものです。
[[IVD]] に登録された実装依存[[グリフ]]に対応付けられた [[IVS]] とは違います。
[SRC[>>30]]

[202] 
[[SVS]] と [[IVS]]
は独立した判断で別の基準で追加されたため、
同じ[[字形]]のように見える[[漢字]]が
[[SVS]]
と
[[IVS]]
とで2種類以上 (+ 元々の [[CJK互換漢字]]でもう1種類)
存在する事例が多々あります。
混乱させたくてわざとやっているのではないかと思いたくなるほどの[[重複符号化]]祭です。

-*-*-

[59] 
[[CJK互換漢字]]用の [[SVS]] は、
[[CJK互換漢字]]に[[異体選択子]]を付けたものではなく、
相当する[[CJK統合漢字]]に[[異体選択子]]を付けたものとなります。
[[CJK互換漢字]]は[[正準写像]]を持つので、
[[異体列]]に使えないのです。

[60] 
[[CJK互換漢字]]の[[正準写像]]は[[CJK統合漢字]]単体であって、
[[CJK互換漢字]]用 [[SVS]] では''ありません''。
[[SVS]] に[[正準写像]]が変更されればさほど問題は生じなかったのですが、
[[正規化]]の仕様変更は認められていないのです。

それゆえ、
[[正規化]]をおそれて
[[CJK互換漢字]]を避けるなら、
[[CJK統合漢字]] + [[異体選択子]]を使うことになりますが、
それが正しく表示されるのは適切な[[フォント]]を持っている環境のみ、
正しく処理されるのは対応した環境だけです。

[[CJK互換漢字]]をそのまま使っていれば、
[[正規化]]以外はまったく支障がなかったのが、
[[SVS]] に置き換えるとまったく使い物にならなくなってしまいますw
([[フォント]]の問題は過渡期の今だけだと思いたいですが...)

[61] 
それどころか同じ表現が [[CJK互換漢字]]と [[SVS]]
の2通りになって、しかも両者は[[正規化]]で同一視される対象ではありませんから、
検索などで新規に個別対応が必要となってしまいます。
むしろ面倒事は増えています。

[62] 
[[正規化]]は破壊的操作なので、オリジナルデータや重要なデータには使うべきではありません。
[SEE[ [[正規化]] ]]
[[正規化]]を使わない日常の用途には [[CJK互換漢字]]の [[SVS]]
は出番がなさそうです。

[428] 
[CITE[Wayback Machine]], [TIME[2023-07-25T03:56:20.000Z]] <https://web.archive.org/web/20110709094418/http://appsrv.cse.cuhk.edu.hk/~irg/irg/irg30/IRGN1468IVS_Recommendation.pdf>

[358] 
[CITE[[[IRG]] N1676 (IRG 34) - 10211-irgn1676-adj1-ivs-upd.pdf]], [TIME[2010-06-16T20:38:33.000Z]], [TIME[2022-10-06T13:55:20.097Z]] <https://unicode.org/L2/L2010/10211-irgn1676-adj1-ivs-upd.pdf#page=13>

[359] >>358 この時点の構想では当時登録済みの [CODE[Adobe-Japan1]] [[IVS]]
と重複するものは共用しようとしていたようです。

**定義済みSVSの削除

[82] 
次の2件は、
[[Unicode 3.2]]
で定義されたものの、
誤りとわかり
[[SVS]]
から削除された、
と
[CODE[StandardizedVariants.txt]]
にコメントがあります。
[SRC[>>17]]

- [CODE[#2278 FE00; with vertical stroke; # [[NEITHER LESS-THAN NOR GREATER-THAN]]]]
- [CODE[#2279 FE00; with vertical stroke; # [[NEITHER GREATER-THAN NOR LESS-THAN]]]]

[354] 
この削除された列が今後どういう扱いになるのか (再割り当てされるのか) よくわかりません。

-
[455] 
[CITE[22012r-hieroglyph-rotations.pdf]], [TIME[2022-04-25T17:18:34.000Z]], [TIME[2023-11-10T11:49:07.155Z]] <https://www.unicode.org/L2/L2022/22012r-hieroglyph-rotations.pdf>
-
[454] 
[CITE[23254-var-seq-stability.pdf]], [TIME[2023-10-24T16:28:05.000Z]], [TIME[2023-11-10T11:47:42.581Z]] <https://www.unicode.org/L2/L2023/23254-var-seq-stability.pdf>

** 未成SVS

- [484] [CITE@ja[17070-cjk-glyph-comments.pdf]], [TIME[2017-03-20T15:17:48.000Z]], [TIME[2024-11-12T09:03:31.321Z]] <https://unicode.org/L2/L2017/17070-cjk-glyph-comments.pdf>

[485] >>484 は [[CJK統合漢字]]の[[代表字形]]の誤りを [[SVS]] で区別することを提案していたが、
実現せず字形の変更のみが行われた。

** 非標準の SVS


- [482] 
[CITE@en[Ancient Sans Font | daredemotypo | FontSpace]], [TIME[2024-11-08T03:38:13.000Z]], [TIME[2024-11-08T03:41:52.267Z]] <https://www.fontspace.com/ancient-sans-font-f104175>
-- [483] [CITE@ja[Xユーザーの叛逆の人(daredemotypo)さん: 「グルン・ケマ文字は旧字体にも対応してます。異体字セレクタVS02を挿入すると表示できます。 Older forms of the Gurung Khema Script are also available. Type variation selector 2 to display them.」 / X]], [TIME[午後0:55 · 2024年11月7日][2024-11-07T03:55:56.000Z]], [TIME[2024-11-08T03:37:05.000Z]] <https://x.com/FontHangyaku/status/1854372188272607238>

[486] 
[CITE@en[BabelStone Fonts : BabelStone Roman]], [TIME[2024-12-13T04:42:38.000Z]] <https://babelstone.co.uk/Fonts/Roman.html>


* EVS

[49] 
[DFN[[RUBY[絵文字異体列][えもじいたいれつ][emoji variation sequence]]]]
([DFN[EVS]])
は、
[[UTS #51]]
[DFN[[CODE[emoji-variation-sequences.txt]]]]
で定義されます
[SRC[>>30]]。

[66] 
古い
[[Unicodeの版]]では
[[EVS]]
は
[[SVS]]
に含まれていました。
当時
[CODE[StandardizedVariants.txt]]
に記述されていた
[[EVS]]
は、現在の版では削除されているようです。


[44] 
[[数字]], 
[CODE[U+0023]] ([CODE[#]]),
[CODE[U+002A]] ([CODE[*]])
を[[基底文字]]とする[[絵文字異体列]]は、
それに対する[[結合文字]]
[CODE[U+20E3]] [CODE(charname)@en[COMBINING ENCLOSING KEYCAP]]
の[[色]]、[[サイズ]]、位置決定に影響することが想定されています。
[SRC[>>30]]


[11] [CITE[Emoji Variation Sequences]]
([TIME[2016-06-15 08:30:11 +09:00]])
<http://www.unicode.org/emoji/charts/emoji-variants.html>


[351] [TIME[2020-07-13T10:28:02.000Z]], [TIME[2021-01-11T03:46:10.790Z]] <https://standards.iso.org/iso-iec/10646/ed-6/en/emoji-variation-sequences.txt>

* IVS

[50] 
[DFN[[RUBY[表意文字的異体列][ひょういもじてきいたいれつ][ideographic variation sequence]]]]
([DFN[IVS]])
は、
2つの[[符号化文字]]の列であって、
1つ目が
[CODE[Ideographic]]
であって[[正準的分解可能]]でも[[互換的分解可能]]でも''ない''もの、
2つ目が[[異体選択子文字]]
[ [CODE[U+E0100]], [CODE[U+E01EF]] ]
であるものです。
[SRC[>>19]]

;; [124] [[異体列]]一般よりも、
1文字目が [CODE[Ideographic]]
であることと、
2文字目の範囲に制約が増えています。

[127] 
[[IVS]] には、[[異体選択子]]の通常の規則が適用されます。
[[IVS]]
は、
関連付けられた[[グリフ的部分集合]]に[[レンダリング]]を制限したいときのみ、
使うべきです。
[SRC[>>19]]

[REFS[
- [129] [CODE[Ideographic]] な文字の一覧
<https://chars.suikawiki.org/set/%24unicode%3AIdeographic>
]REFS]


** IVD

[123] 
[[IVS]]
は、
[DFN[UTS #37]]
の定める
[DFN[Ideographic Variation Database]]
([DFN[IVD]]) [SRC[>>21]]
に登録されています。
[[IVD]]
に登録された
[[IVS]]
を[DFN[[RUBY[登録済][とうろくずみ][registered]]IVS]] といい、
それ以外の
[[IVS]]
を[DFN[[RUBY[未登録済][みとうろくずみ][unregistered]]IVS]]
といいます。
[SRC[>>30]]

[208] 
[[SVS]] や [[EVS]] が
[[Unicode Consortium]]
の直轄で規定されるのに対し、
[[IVS]]
は外部で定義されたものを
[[Unicode Consortium]]
に登録するという形をとっています。

[119] 
[[UTS #37]]
によると、
[[漢字]]その他の[[表意文字]]にあっては、
[[利用者]]の需要すべてを満足する[[異体列]]の単一の[[集成]]を構築することが不可能である、
すなわち研究者、政府、出版社の要件が異なりすぎて単一の[[集成]]に収容することが困難であるゆえに、
複数の独立した[[集成]]をもって各要件を満たせるようにしたものであります。
[SRC[>>19]]

;; [121] それが不可能だと認めてしまうのなら、
[[CJK統合漢字]]がやらかしたことも間違いだったと認めてしまった方が楽なのではないかと思わんでもないw

;; [122] なぜ[[表意文字]]でだけそれが不可能で、
他の[[文字]]では可能なのか説明されてませんが、不思議ですね。

[120] 
[[IVD]] 
は、[[異体列]]を使った[[テキスト]]の[[情報交換]]を信頼できるものとするべく、
[[異体列]]に単一の定義を存在せしめるものであります。
[[IVD]] 
の目的は、
[[IVS]]
を固有の[[グリフ的部分集合]]に関連付けることです。
[[IVS]] が[[テキスト]]に現れたなら、
[[IVD]]
をチェックすればその意図する所を特定できます。
ゆえに[[登録済IVS]] は、テキスト交換に使うのに[RUBYB[適したもの][suitable]]です。
[SRC[>>19]]

[126] [[未登録済IVS]]は、テキスト交換で使うべきではありません。
[SRC[>>19]]

*** IVD の版

[145] 
[[IVD]]
は、
[[Unicode Consortium]]
の
[[Webサイト]]で公表されています [SRC[>>21]]。

[147] [[UCD]] とは別のデータベースになっていて、
[CITE[The Unicode Standard]]
とは同期せずに、
必要があるときに更新されているようです。
過去に公開された版はそのままで、
新しい版を公開されていく形になっています。
各版で完結しているので、
歴史的経緯を気にしないのであれば常に最新版だけを見ていれば済みます。

[236] 
[[IVD]]
の版は[[日付]]で命名されています。
[SRC[>>21]]

;; [148] 常に最新版を表す [[URL]] が提供されていないのが、少し使いづらい。


[239] 
一度出版された版は変更されないこととされています。
[SRC[>>21]]
しかし実際のものを見るとなぜか[[日付]]よりずっと新しい[[タイムスタンプ]]のものが紛れ込んでいます。



- [238] [DFN[[CODE[2007-12-14]]]]
<https://www.unicode.org/ivd/data/2007-12-14/>
-- [237] [CODE[Adobe-Japan1]] が追加されました。
-- [242] [[テキストファイル]]は[TIME[2012-03-02]], [TIME[2012-03-23]] 付で更新されています。
[TIME[2020-12-27T03:12:21.600Z]]
-- [241] [TIME[2007-12-19]] 付のオリジナル:
[CITE[Index of /ivd/data/2007-12-14]], [TIME[2007-12-26T06:56:45.058Z]],
[TIME[2020-12-27T03:11:27.100Z]]
<https://web.archive.org/web/20071226065605/http://www.unicode.org/ivd/data/2007-12-14/>
-- [243] 
<https://www.unicode.org/ivd/data/2007-12-14/IVD_Stats.txt>
に2件の重複の旨のコメントがあります。
- [263] [DFN[[CODE[2010-11-14]]]] <https://www.unicode.org/ivd/data/2010-11-14/>
-- [244] [CODE[Hanyo-Denshi]] が追加されました。
-- [245] [[テキストファイル]]は[TIME[2012-03-02]], [TIME[2012-03-23]] 付で更新されています。
[TIME[2020-12-27T03:12:21.600Z]]
-- [246] [TIME[2010-11-17]] 付のオリジナル:
[CITE[Index of /ivd/data/2010-11-14]], [TIME[2011-02-03T16:29:18.910Z]], [TIME[2020-12-27T03:22:34.000Z]] <https://web.archive.org/web/20110203162133/http://unicode.org/ivd/data/2010-11-14/>
- [264] [DFN[[CODE[2012-03-02]]]] <https://www.unicode.org/ivd/data/2012-03-02/>
-- [255] [CODE[Adobe-Japan1]] に追加がありました。
-- [256] [CODE[Hanyo-Denshi]] に追加がありました。
-- [259] この版から [[IVC]] 単位に分離された[[代表グリフ]]の [[PDF]] が追加されました。
-- [257] ファイルは[TIME[2012-03-02]], [TIME[2012-03-08]], [TIME[2012-03-23]],
[TIME[2012-07-02]]付で更新されています。
--- [261] 
7月2日付の更新は、
サーバー上のファイル破損を修復したものとコメントがあります:
[TIME[2012-07-02T15:00:18.000Z]], [TIME[2020-12-27T03:46:37.534Z]] <https://www.unicode.org/ivd/data/2012-03-02/IVD_Sequences.txt>
--- [262] 
3月2日付のオリジナル版は [[Internet Archive]] にもなし。
-- [260] 
<https://www.unicode.org/ivd/data/2012-03-02/IVD_Stats.txt>
に16件の重複の旨のコメントがあります (14件増)。
- [265] [DFN[[CODE[2014-05-16]]]] <https://www.unicode.org/ivd/data/2014-05-16/>
-- [272] [CODE[Moji_Joho]]
が追加されました。
-- [266] [[テキストファイル]]は[TIME[2014-05-16]]付、
[[代表グリフ]] [[PDF]] は[TIME[2015-05-07]]付で更新されています。
-- [267] この版から全体の[[代表グリフ]]の [[PDF]] が提供されなくなりました。
-- [268] [TIME[2014-05-12]]付のオリジナル:
[CITE[Index of /ivd/data/2014-05-16]], [TIME[2014-07-14T00:57:03.026Z]], [TIME[2020-12-27T04:27:42.000Z]]<https://web.archive.org/web/20140714005622/http://www.unicode.org/ivd/data/2014-05-16/>
--- [269] [[テキストファイル]]は[TIME[2014-05-16]]付。
--- [270] [CODE[Moji_Joho]] の[[代表グリフ]] [[PDF]] ファイルは不存在。
-- [271] [TIME[2015-05-07]]付更新は 
[CODE[Moji_Joho]]
の追加によるものとみられます。 [[PDF]]
ファイル内に書かれた日付はいずれも 「May 16, 2014」。
-- [292] 
<https://www.unicode.org/ivd/data/2014-05-16/IVD_Stats.txt>
に
[CODE[Hanyo-Denshi]]
と
[CODE[Moji_Joho]]
の [[IVS]] の共有の情報が追加されました。
- [280] [DFN[[CODE[2016-08-15]]]] <https://www.unicode.org/ivd/data/2016-08-15/>
-- [283] [CODE[MSARG]] が追加されました。
-- [281] [[テキストファイル]]は[TIME[2016-08-15]]付。
-- [282] [[代表グリフ]] [[PDF]] ファイルは[TIME[2016-09-11]]付。
--- [146] 
[CITE[Index of /ivd/data/2016-08-15]], [TIME[2016-08-16T09:17:58.242Z]], [TIME[2020-12-27T05:00:56.000Z]]<https://web.archive.org/web/20160816091712/http://www.unicode.org/ivd/data/2016-08-15>
によると当時は[TIME[2016-08-13]]付だったようです。
残念ながら
[[Internet Archive]] には現存しません。
- [294] [DFN[[CODE[2017-12-12]]]] <https://www.unicode.org/ivd/data/2017-12-12/>
-- [293] [CODE[Adobe-Japan1]] に追加されました。
-- [295] [CODE[Moji_Joho]] に追加されました。
-- [296] [CODE[KRName]] が追加されました。
-- [297] ファイルは[TIME[2017-12-12]]付。
-- [319] [CODE[IVD_Stats.txt]] に重複情報が6件追加。
- [315] [DFN[[CODE[2020-11-06]]]] <https://www.unicode.org/ivd/data/2020-11-06/>
-- [316] [CODE[MSARG]] に追加されました。
-- [317] ファイルは[TIME[2020-11-06]]付。
-- [318] [CODE[IVD_Stats.txt]] だけ[TIME[2020-12-17]]付。
変更されたものかどうかは
[[Internet Archive]] からは不明。
- [377] [DFN[[CODE[2022-09-13]]]]
-- [388] [CITE[Index of /ivd/data/[[2022-09-13]]]], [TIME[2022-09-20T08:19:34.000Z]] <https://www.unicode.org/ivd/data/2022-09-13/>
-- [389] [CODE[Adobe-Japan1]] に1つ追加されました。
-- [394] [CODE[IVD_Stats.txt]] に重複情報が1件追加。
-- [379] 評価: >>456


*** IVD のファイル

[149] 
[[IVD]] の[[ファイル]]
[DFN[[CODE[IVD_Collections.txt]]]],
[DFN[[CODE[IVD_Sequences.txt]]]]
は、
[[IVC]]
と
[[IVS]]
の情報を含んだ[[テキストファイル]]です。
その構造は [[UTS #37]] で説明されています [SRC[>>19]] が、
[[UCD]] 同様の [CODE[;]] 区切りの行指向データファイルです。
[SEE[ [[UCD]] ]]

[150] 
[CODE[IVD_Collections.txt]]
には、
[[Ideographic Variation Collection]]
の情報が記述されています。
[[IVC]] を表す識別子、
[[IVC]] 内の識別子の[[正規表現]]、
[[IVC]] の説明の [[Webサイト]]の [[URL]] が書かれています。
[SRC[>>19]]

[152] 
[CODE[IVD_Sequences.txt]]
には、
[[IVS]]
の情報が記述されています。
[[IVS]] の各[[文字]]の[[符号点]]、
[[IVC]] を表す識別子、
[[IVC]] 内の識別子の組が並べられています。
[SRC[>>19]]

[231] 
他に[[代表グリフ]]の一覧表の [[PDF]]
ファイルがあります。
古い版では [[IVC]] 横断の一覧表だったようですが、
新しい版では [[IVC]] ごとの一覧表になっているようです
(ファイルサイズが大きすぎるからでしょうか)。
改版のたびに変更のない [[IVC]]
の [[PDF]]
まで改訂されているようです (少なくても日付が書き換わっています)。
(意図しない[[代表グリフ]]変更が生じていないか、不安になりますね。)



** IVC

[140] 
[[IVD]] では、
[[IVS]] (とそれに関連付けられた[[グリフ的部分集合]]) は、
[RUBYB[集成][collection]]
([DFN[Ideographic Variation Sequence Collection]],
[DFN[Ideographic Variation Collection]],
[DFN[IVC]])
の[RUBYB[エントリー][entry]]という形にグループ化されます。
[SRC[>>19]]

[212] 
[[IVC]]
は0個[[以上]]の [[IVS]] と付加情報という形を採ります。
[[IVD]] は [[IVC]] の[[和集合]]という形になります。
[[IVS]] は複数の [[IVC]] に属することがあります。

[211] 
[[IVC]]
は特定の[[利用者]]コミュニティーの要件を満たす[[グリフ的部分集合]]を集めたものとなることが期待されます。
しかし
[[IVC]]
の登録は、
特定目的への[RUBYB[適当性][suitability]]を暗示するものではありません。
[[IVS]] の有用性や
[[IVC]]
全体としての有用性は、
その用途に依存します。
登録者は
[[IVC]]
の意図を説明する[RUBYB[べき][encouraged]]で、
[[利用者]]は
[[IVC]]
が自身の目的に有用かどうか評価する[RUBYB[べき][encouraged]]です。
[SRC[>>19]]

[233] 
[[IVC]]
は固定の[[集合]]ではありません。後から [[IVS]]
を追加していくことができます。
[[IVC]] に既に含んでいる [[IVS]]
の変更や削除の手続きはなく、認められていないものと思われます。

[143] 
実装は、
[[登録済IVS]] を任意の組み合わせで自由に対応でき、
複数の
[[IVC]]
であろうとも
[[IVC]]
の[[部分集合]]であろうとも構いません。
[SRC[>>19]]
つまり
[[IVC]]
は一応意味のある単位として想定されてはいるものの、
実装に対する要件を課すものとはなっていません。

[141] 
同じ[[グリフ的部分集合]]の [[IVS]] がいくつもあると実装コストが嵩み、
当該 
[[IVC]]
が実装される可能性は下がります。
そこで同じ[[グリフ的部分集合]]の [[IVS]]
を減らすため、
既存の [[IVC]] の [[IVS]] と似たものを共有することが[RUBYB[強く[[推奨]]されます][strongly encouraged]]
(が必須ではありません)。
[[IVS]] の共有は、
関係する
[[IVC]]
の登録者間相互の合意があれば実施できます。
登録官は、
[[IVS]]
の共有の可能性を登録者に警告しなければなりません。
[SRC[>>19]]

[142] 
なお [[CJK互換漢字]] の [[SVS]] (>>56)
は
[[IVC]] ではありません。

-*-*-

[213] 
[[IVC]]
は、
識別子 ([DFN[[RUBY[集成識別子][しゅうせいしきべつし][collection identifier]]]])
を持ちます。
特に言及はありませんが、
今の所他の
[[IVC]]
と重複しないものが割り当てられているようです。

[214] 
[[IVC]]
中の
[[IVS]]
は、
識別子 ([DFN[[RUBY[列識別子][れつしきべつし][sequence identifier]]]]) を持ちます。
[[列識別子]]は
[[IVC]]
内で固有の識別子です。
同じ
[[IVS]]
が別の [[IVC]]
で共有される場合、
[[IVC]]
ごとに違う識別子になることがあります。


[153] 
[[集成識別子]]と[[列識別子]]は、
[[ASCII英字]]から始まり、
[[ASCII英数字]]、
[CODE[_]],
[CODE[-]],
[CODE[+]]
のいずれかが続くような[[文字列]]です。
[SRC[>>19]]

[154] 
このうち [CODE[-]], [CODE[+]]
は既存の登録との[[後方互換性]]のために認められるものです。
[CODE[_]] に置き換えるか、または除去することで、
固有の識別子を生成できるとされます。
[SRC[>>19]]
ということは今後は追加されない想定なのでしょうか。
(既存の [[IVC]] への追加の [[IVS]] に使われることはあるかもしれません。)

[FIG(railroad)[
= [[ASCII英字]]
= |
== [[ASCII英字]]
== [CODE[_]]
== [CODE[-]]
== [CODE[+]]
]FIG]

[REFS[
- [216] 識別子の先頭に使える文字
<https://chars.suikawiki.org/set/%24uts37%3Aidentifier-start-char>
- [215] 識別子に使える文字
<https://chars.suikawiki.org/set/%24uts37%3Aidentifier-char>
]REFS]


[151] 
[[IVC]]
ごとに[[列識別子]]の[[正規表現]]が定められます。
当該
[[IVC]]
のすべての
[[IVS]]
の[[列識別子]]は、
この[[正規表現]]に一致しなければなりません。
これは 
[[Perl 5.8]] [[正規表現]]です。
[[IVC]]
登録者が定めるもので、必要となれば拡張のために変更できます。
[SRC[>>19]]

[226] 
一旦 [[IVD]] に登録された [[IVC]] の[[集成識別子]]や
[[IVS]] の[[列識別子]]を変更する手続きは用意されていません。
変更は認められないものと思われますが、明記はされていません。

*** IVC の一覧

[344] [[IVD]] には次の [[IVC]] が登録されています。

[FIG(short list)[ [343] [[IVC]]
- [CODE[Adobe-Japan1]]
- [CODE[Hanyo-Denshi]]
- [CODE[KRName]]
- [CODE[Moji_Joho]]
- [CODE[MSARG]]

]FIG]

[345] [[日本]]関係が3件、
[[大韓民国]]関係が1件、
[[中華人民共和国澳門特別行政区]]関係が1件、
[[Adobe]] 関係が2件
(重複あり) です。


*** 部分実装

[506] 
[[IVC]] は[[実装水準]]の類ではなく、部分実装が可能です (>>143)。

-*-*-

[452] 
平成時代中期以後の[[日本]]市場の多くの汎用フォントは [[JIS X 0213:2004]] 対応と称して、
[[JIS X 0213:2000]] から [[JIS X 0213:2004]] への改正で[[字形]]が変更された[[面区点位置]]の一部に相当する
(それぞれの [CODE[jp90]] 字形と [CODE[jp04]] 字形の一方または両方の) 
[[AJ1]] [[IVS]] を実装しています。
[SEE[ [[IPAex明朝]], [[AJ1]] ]]

[507] 
そのようなフォントの多くは、 [[AJ1]] のうち、
これに関係するごく一部のみを選んで実装しています。
中には [[AJ1]] の[[例示字形]]との乖離が著しい (しかし [[AJ1]] 
に[[適合性]]の規定がほとんどないので適合するのかしないのか明らかではない)
ものもあります。

[508] 
この場合の [CODE[jp90]] 字形は、必ずしも [[AJ1]] や [[JIS X 0208:1990]] 
の字形に近いものではなく、 [[JIS X 0213:2004]] 
対応と称する新しい字形に対して変更前の旧字形となっていることが多いようです。
新しいものは規格の字形に忠実なものに変更する意図で作られているのに対して、
古いものは規格の認める範囲で自由に作られているので、旧規格の字形に忠実とは限りません。

[509] 
統計データはありませんが、おそらくこの目的で利用されている [[IVS]]
が世間に流通する [[IVS]] の実利用で最も出現頻度が高いものと予想されます。
また、 [[OS]] の標準フォントなどとして最も広く普及しているものでもあります。

*** 登録機関

[172] 
[[IVD]]
の[RUBYB[[[登録機関]]][registration authority]]は、
[[Unicode Consortium]]
です。
[SRC[>>19]]

[173] 
[[登録機関]]は、
登録要求を処理する[RUBYB[登録官][registrar]] ([DFN[IVD Registrar]]) を任命します。
[SRC[>>19]]
その資格や任期、待遇、人数などは
[[UTS #37]]
には記載されていません。
[[Unicode Consortium]]
の裁量で決められているようです。

[174] 
[[登録機関]]自身が[RUBYB[登録者][registrant]]となる
[[IVC]]
であっても特殊な地位は持ちません。
[[登録機関]]が提出した 
[[IVC]]
も他の提出案と同じ登録手続きを経ます。
[SRC[>>19]]

*** 登録料

[163] 
[[登録機関]]は、
[[IVC]] や [[IVS]] の登録に於いて、
返金不能な[RUBYB[手数料][processing fee]]を課すことができます。
[SRC[>>19]]

[165] 
登録機関が提出したまたはスポンサーとなった
[[IVC]]
については、手数料は免除されます。
[SRC[>>19]]

[164] 
登録官は、
登録の出願が不完全なとき、
登録者にこれを通知し、
訂正出願を1回無償で受理します。
それ以後の訂正出願は有償となります。
[SRC[>>19]]

[219] 
具体的な価格は
[[UTS #37]]
には書かれていません。

[220] 
[[ISO/IEC 10646]]
の制定作業に関与する
[[national body]]
は登録料が免除されているらしいです。
([[SC2]] に対し免除を表明する [[Unicode Consortium]] の書簡 [SRC[>>356]]。)

;; [221] 
[CODE[Moji_Joho]]
の登録時には、
[[文字情報基盤整備事業]]
[WEAK[([[独立行政法人]]の [[IPA]] が受託した日本政府の事業)]]
が登録料支払いを迂回するため
[[JSC2]] 
[WEAK[([[SC2]] に[[日本]]の代表として参加している[[情報処理学会]]の下部組織)]]
の協力を仰いだらしいです。

[222] 
登録料を徴収している理由は不明ですが、
[[Unicode]] 
関係者や各国政府関係を除いた一般の団体や民間人が安易に登録して
[[IVS]]
が氾濫するのを防ぐ狙いがあるのでしょうか。

[223] 
既存の
[[IVC]]
が登録料を支払ったものなのか、免除されたものなのか、
外部からはよくわかりません。

[REFS[
- [356] [CITE[http://lucia.itscj.ipsj.or.jp/itscj/servlets/SecDoc20 - n3591.pdf]], [TIME[2009-04-16T00:04:52.000Z]], [TIME[2021-08-14T08:46:41.644Z]] <http://std.dkuug.dk/jtc1/sc2/wg2/docs/n3591.pdf>
]REFS]

*** 登録手続き

[207] 
[[IVS]] は、
[[UTS #37]]
の登録手続きにより、
[[IVD]]
に登録されます [SRC[>>30]]。
登録者は、
[[登録機関]]に登録要求を提出します [SRC[>>19]]。
登録手続きは登録者と登録官によって進行されます。

[175] 
登録手続きは、
[[IVC]]
の登録と
[[IVS]]
の登録の2つがあります。
まず
[[IVC]] を登録し、
次にその
[[IVC]]
に個々の [[IVS]] (に関連付ける[[グリフ的部分集合]]) を登録していきます
[SRC[>>19]]。
ただし [[IVC]] と [[IVS]]
の登録手続きは並行して開始できる [SRC[>>19]] とされていますから、
初期登録は同時に行われているようです。

[224] 
[[IVC]]
と
[[IVS]]
の登録手続きは、
次の手順を踏みます。

= [225] 登録者は、
説明の
[[Webサイト]]を用意します。
=
[177] 
登録者は、
登録希望の旨を登録官の指示する方法で公告するとともに、
[[Unicode Consortium の[[メーリングリスト]]に送信します。
説明の 
[[Webページ]]の [[URL]] を添えます。
[SRC[>>19]]
=
[178] 
そこから90日[[以上]]を評価期間とし、
登録者に対するコメントや質問を受け付けます。
登録者は、
それに返答する[RUBYB[べき][should]]です。
[SRC[>>19]]
==
[234] 
この評価期間は、
字数に基づき登録官が決定します [SRC[>>21]]。
= 
[189] 
登録者は、
評価期間終了後、
出願を提出できます。
= 
[227] 
登録官は、
完備した出願と出願費を受領したら、
[[IVD]]
に追加します。
[SRC[>>19]]





-*-*-

[166] 
登録者は、
[[IVC]]
の評価期間終了後の登録時に、
次の登録事項を提出します。
[SRC[>>19]]

- [167] 登録者の名前と[[住所]]
- [168] 代表者の名前と[[電子メールアドレス]]
- [169] [[IVC]] を説明する [[Webサイト]]の [[URL]]
- [170] [[IVC]] の[[集成識別子]]案
- [171] [[IVS]] の[[列識別子]]の[[パターン]]

[179] 
登録者は、
[[IVC]]
の評価期間終了後の登録時に、
次の事項を署名付きで声明します。
[SRC[>>19]]

- [180] 説明の [[URL]] とその [[Webサイト]]の安定性の維持を十分努力すること
- [181] [[IVC]] に登録する [[IVS]] が制約、使用料、その他の要件なしに自由に利用できること
- [182] 評価期間中に受信したすべてのコメントや質問に対応したこと

[184] 
[[IVC]]
の所有者は、
登録官への通知により、
代表者と
[[Webサイト]]の [[URL]]
をいつでも変更できます。
[[IVS]]
の[[列識別子]]の[[正規表現]]を拡張できます。
[SRC[>>19]]

[185] 
[[IVC]] の所有権は、
登録官への通知により、
移転できます。
[SRC[>>19]]

-*-*-

[187] 
[[IVS]]
の登録者は、
出願に当たり
[[IVS]] の[[列識別子]]が
[[IVC]] 中 (既に登録済みのものも含む。) の各[[基底文字]]に対して固有であることと、
[[IVC]] の[[列識別子]]の[[正規表現]]に一致すること、
を[RUBYB[確かめる][ensure]]責任を持ちます。
この要件を満たさない出願は、拒絶されます。
[SRC[>>19]]

[188] 
理想的には、
[[IVS]]
の登録者ははじめの出願の段階で、
提案する [[IVS]] の[[代表グリフ]]を含める[RUBYB[べき][should]]です。
[[IVS]]
の登録者は、
評価期間終了後の登録時に、
各 [[IVS]] に1つ[[以上]]の[[代表グリフ]]を含めなければなりません。
[SRC[>>19]]

;; [191] 
べきとなっているのは最初の出願時点で準備が整っていないことを容認する想定なのでしょうが、
それでまともな評価が出来るのでしょうか。
評価中の差し替えなども想定した規定なのかもしれませんが、
実際はどう運用されているのでしょうか。


[192] 
[[IVS]]
の登録者は、
登録手続きとは別に、
既存の [[IVC]]
の登録済の [[IVS]] に追加の[[代表グリフ]]を提供できます。
[SRC[>>19]]


-*-*-

[183] 
登録官は、
[[IVC]]
の出願を受理したら、
[[IVC]] に[[集成識別子]]を (できるだけ提案を尊重して) 割当します。
[SRC[>>19]]

[193] 
登録官は、
[[IVS]]
の出願を受理したら、
[[IVS]] に[[異体選択子]]を割当します。
[SRC[>>19]]

[230] 
登録官は出願を受理したら
[[IVD]]
に追加するとされていますが、
具体的には関係するテキストファイルを編集して情報を追加し、
[[代表グリフ]]一覧の
[[PDF]]
を作成しているようです。

-*-*-


[337] 
これまで実施された評価は 
[[Unicode Consortium]]
の
[[Webサイト]]で公表されています。

[REFS[
- [338] [CITE@en-us[Ideographic Variation Database - PRI 98]], 
[CITE[PRI 98: Combined registration of the Adobe-Japan1 collection and of sequences in that collection]],
[TIME[2011-10-25T17:46:07.000Z]], [TIME[2020-12-27T05:58:01.434Z]] <https://www.unicode.org/ivd/pri/pri98/>
- [339] [CITE@en-us[Ideographic Variation Database - PRI 108]], 
[CITE[PRI 108: Combined registration of the Adobe-Japan1 collection and of sequences in that collection]],
[TIME[2011-10-25T17:47:01.000Z]], [TIME[2020-12-27T05:59:40.609Z]] <https://www.unicode.org/ivd/pri/pri108/>
- [156] [CITE@en-us[Ideographic Variation Database - PRI 167]],
[CITE[PRI 167: Combined registration of the Hanyo-Denshi collection and of sequences in that collection]],
[TIME[2011-10-25T16:14:42.000Z]], [TIME[2020-12-25T11:32:21.536Z]] <http://www.unicode.org/ivd/pri/pri167/>
- [340] [CITE@en-us[Ideographic Variation Database - PRI 183]], 
[CITE[PRI 183: Supplementary registration of the AdobeJapan1 collection and of sequences in that collection]],
[TIME[2012-02-23T03:55:54.000Z]], [TIME[2020-12-27T06:00:54.707Z]] <https://www.unicode.org/ivd/pri/pri183/>
- [162] [CITE@en-us[Ideographic Variation Database - PRI 259]], 
[CITE[PRI 259: Combined registration of the Moji_Joho collection and of sequences in that collection]],
[TIME[2014-05-16T14:27:18.000Z]], [TIME[2020-12-25T11:41:12.377Z]] <http://www.unicode.org/ivd/pri/pri259/>
- [160] [CITE@en-us[Ideographic Variation Database - PRI 326]], 
[CITE[PRI 326: Combined registration of the MSARG collection and of sequences in that collection]],
[TIME[2020-06-07T13:49:34.000Z]], [TIME[2020-12-25T11:36:38.805Z]] <http://www.unicode.org/ivd/pri/pri326/>
- [158] [CITE@en-us[Ideographic Variation Database - PRI 349]], 
[CITE[PRI 349: Registration of additional sequences in the Adobe-Japan1 collection]],
[TIME[2017-12-12T13:24:06.000Z]], [TIME[2020-12-25T11:33:58.382Z]] <https://www.unicode.org/ivd/pri/pri349/>
- [159] [CITE@en-us[Ideographic Variation Database - PRI 351]], 
[CITE[PRI 351: Combined registration of the KRName collection and of sequences in that collection]],
[TIME[2017-12-12T13:23:25.000Z]], [TIME[2020-12-25T11:36:01.641Z]] <https://www.unicode.org/ivd/pri/pri351/>
- [157] [CITE@en-us[Ideographic Variation Database - PRI 354]], 
[CITE[PRI 354: Registration of additional sequences in the Moji_Joho collection]],
[TIME[2017-12-12T13:22:49.000Z]], [TIME[2020-12-25T11:33:06.802Z]] <https://www.unicode.org/ivd/pri/pri354/>
- [155] [CITE@en-us[PRI 418: Registration of additional sequences in the MSARG collection]], 
[CITE[PRI 418: Registration of additional sequences in the MSARG collection]],
[TIME[2020-11-06T12:59:21.000Z]], [TIME[2020-12-25T11:31:27.110Z]] <https://www.unicode.org/ivd/pri/pri418/>
- [456] 
[CITE[[[Ideographic Variation Database]] - PRI 456]], [TIME[2022-05-27T05:10:17.000Z]], [TIME[2022-08-29T05:10:03.584Z]] <https://unicode.org/ivd/pri/pri456/>
-- >>377
]REFS]

-*-*-

[439] [CITE[20140808-12.pdf]], [TIME[2023-09-13T06:42:00.000Z]] <https://warp.ndl.go.jp/info:ndljp/pid/10965918/mojikiban.ipa.go.jp/contents/2014/08/20140808-12.pdf#page=4>

>
[LEFT[
Moji_Joho コレクションの登録後に、公開レビュー期間を、2000 図形あた[BR[]]
り 30 日追加するとの方針が Unicode コンソーシアムから示された。その結[BR[]]
果残り約 48,000 のシーケンス登録には、2 年を超える公開レビューの期間が[BR[]]
必要となる可能性がある。
]LEFT]

;; [440] ここでいう「登録後」とは平成26年頃。

-*-*-

[423] 
[[IRG]] では他の[[漢字]]と[[統合]]可能なときに「ではそれは [[IVS]] で」
という処理になってるぽいですが、
それで新規追加が却下された結果 [[IVS]] が登録された事例はあまりなさそうに見えます。
[[符号位置]]の新規追加プロセスと [[IVS]] の新規登録プロセスがまったく繋がっていません。

;; [453] 
このプロセスの違いを利用(?)して、[[CJK統合漢字]]に追加拒否された文字を
[[IVD]] に押し込むという荒業が使われているようです。
[SEE[ 例えば[[注音字母]]参照 ]]

[468] 
唯一例外として、[[文字情報基盤]]事業では[[UCS]]への追加ができなかったものを後から
[[IVS]]として登録することで、ほぼ全[[MJ文字図形]]が何らかの形で [[Unicode]]
化されました。 [[Unicode]] とは別に文字図形の一覧を画定させた上での、
初めから[[符号位置]]追加と [[IVS]] 追加がセットで企画されていたプロジェクトだからこのフローが実現したのでしょう。

[469] 
それ以外は、 [[IRG]] に参加する各国代表機関にとっては
「[[CJK統合漢字]]に不足を追加する」ことが目的 (管掌業務) になっていて、
「既存の [[Unicode]] で表現できなものを表現できるようにする」
ことを目的としていないので、[[CJK統合漢字]]に新規追加できなくても既存の[[符号位置]]に[[統合]]可能なら目的を達成できたという判断なのでしょうかね。



[424] 
[[符号位置]]の追加では [[NB]] 以外からの要望でも [[Unicode Consortium]] が[[出典U]]
に取り込んで新規追加してくれますが、 [[IVC]] はそのような運用がありません。
そういうのがあれば、 [[NB]] がやる気がなくても誰かやる気がある人が必要なものをどんどん申請してくれそうなものですけどねえ。


*** 登録用 Web サイト

[176] 
[[IVC]]
の登録者は、
[[IVC]]
の意図、
原則、
その他[[利用者]]に有用なデータを説明する
[[Webページ]]を作成します。
[SRC[>>19]]

[186] 
[[IVS]]
の登録者は、
[[IVC]]
を説明する
[[Webページ]]
(から指定された[[Webページ]])
に、
提案する [[IVS]]
を提示します。
[CODE[IVD_Sequences.txt]]
形式のファイルとしますが、
[[IVS]] [[符号点]]の欄には[[基底文字]]だけを示します。
[SRC[>>19]]

;; [190] [[異体選択子]]は[[登録機関]]側で決定されるようで、
登録者が提案する時点では決められません。

[144] 
登録手続きは登録者が
[[Webサイト]]で説明を提供することを要求しています。
そして登録後も可能な限り公衆アクセスを提供し続けることが[RUBYB[強く推奨][strongly encourage]]されています。
しかしそれは保証されません。
[[利用者]]は、
説明への公衆アクセスの継続性が自身の目的に必要かどうか、
登録者がそれを提供できるかを、
注意深く評価する[RUBYB[べき][should]]です。
[SRC[>>19]]

[247] [[IVC]] の [[Webサイト]]の状況をまとめると次の通り。

- [248] [CODE[Adobe-Japan1]]
-- [310] [[AJ16]]
--- [249] 当初登録されていた [[URL]]:
<http://www.adobe.com/devnet/font/pdfs/5078.Adobe-Japan1-6.pdf>
--- [250] その[[リダイレクト]]先:
[CITE[[[Adobe Technical Note #5078]]: The Adobe-Japan1-6 Character Collection - 5078.Adobe-Japan1-6.pdf]], [TIME[2020-12-04T18:24:22.000Z]], [TIME[2020-12-27T03:25:39.824Z]] <https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5078.Adobe-Japan1-6.pdf>
-- [311] [CODE[2017-12-12]] 版で登録されている [[URL]]:
--- [312] [CITE@en[GitHub - adobe-type-tools/Adobe-Japan1: The Adobe-Japan1-7 Character Collection]], [TIME[2020-12-27T05:14:35.000Z]] <https://github.com/adobe-type-tools/Adobe-Japan1/>
- [251] [CODE[Hanyo-Denshi]]
-- [252] 登録されている [[URL]]:
<http://www.itscj.ipsj.or.jp/domestic/sc02/hanyo-denshi/20100331>
--- 消滅確認 [TIME[2020-12-27T03:27:43.500Z]]
--- [342] 提案 (>>156) されていた [[URL]]:
<http://www.itscj.ipsj.or.jp/domestic/sc02/hanyo-denshi/20100331/>
--- [253] [CITE@en[Combined registration of the [[Hanyo-Denshi]] collection and the first batch of its ideographic variation sequences]], [TIME[2020-12-27T03:27:45.000Z]], [TIME[2010-04-05T02:19:59.961Z]] <https://web.archive.org/web/20100405021926/http://www.itscj.ipsj.or.jp/domestic/sc02/hanyo-denshi/20100331/>
--- [254] 
[[Internet Archive]] によれば[TIME[西暦2010年][year:2010]]-[TIME[西暦2013年][year:2013]]の間に消滅。
--- [258] [TIME[2012-03-02]]付の [[IVD]] に追加収録があるので、
その手続時点ではまだ存在していたはず。3
-- [332] [CODE[2020-11-06]] 版で登録されている [[URL]]:
[CITE@en-us[The Hanyo-Denshi IVD Collection]], [TIME[2020-11-04T13:11:27.000Z]], [TIME[2020-12-27T05:44:50.111Z]] <https://www.unicode.org/ivd/hanyo-denshi/>
- [273] [CODE[Moji_Joho]]
-- [307] /1/
--- [298] 当初登録されていた [[URL]]: <http://mojikiban.ipa.go.jp/mjc/1/>
--- [276] [CITE[Moji_Joho collection]], [TIME[2020-12-27T04:37:59.000Z]], [TIME[2014-03-06T19:20:32.011Z]] <https://web.archive.org/web/20140306191852/http://mojikiban.ipa.go.jp/mjc/1/>
---- [277] 「2013-12-05」版。
--- [278] [CITE[Moji_Joho collection]], [TIME[2020-12-27T04:38:45.000Z]], [TIME[2016-07-18T06:56:01.074Z]] <https://web.archive.org/web/20160718065546/http://mojikiban.ipa.go.jp/mjc/1/>
---- [279] 「2014-05-16」版。
--- [274] [CITE[Moji_Joho collection]], [TIME[2019-07-29T01:05:49.000Z]], [TIME[2020-12-27T04:33:16.740Z]] <http://mojikiban.ipa.go.jp/mjc/1/>
---- [275] 「2017-12-dd」版。 [TIME[2020-12-27T04:36:38.900Z]]
-- [309] /2/
--- [341] 提案 (>>157) されていた [[URL]]。
--- [305] [CITE[Moji_Joho collection]], [TIME[2020-12-27T05:09:39.000Z]], [TIME[2017-08-18T04:23:53.187Z]] <https://web.archive.org/web/20170818042341/http://mojikiban.ipa.go.jp/mjc/2/>
---- [306] 「2017-08-09」版。
--- [303] 
[CITE[Moji_Joho collection]], [TIME[2019-07-29T01:05:50.000Z]], [TIME[2020-12-27T05:08:13.959Z]] <http://mojikiban.ipa.go.jp/mjc/2/>
---- [304] 「2017-12-dd」版。
-- [308] /
--- [299] [CODE[2017-12-12]] 版で登録されている [[URL]]:
<http://mojikiban.ipa.go.jp/mjc/>
--- [300] [CITE[Moji_Joho collection]], [TIME[2019-07-29T01:05:50.000Z]], [TIME[2020-12-27T05:07:30.024Z]] <http://mojikiban.ipa.go.jp/mjc/>
---- [301] 「2017-12-12」版。 [TIME[2020-12-27T05:07:53.00Z]]
--- [302] 変更履歴上の前の版は「2014-05-16」版。
いつからこの [[URL]] にあったのか、
[[Internet Archive]] では不明。
-- [320] / ([CODE[https:]])
--- [322] [CODE[2020-11-06]] 版で登録されている [[URL]]:
<https://mojikiban.ipa.go.jp/mjc/>
---- [323] 「2017-12-12」版。
--- [321] [CITE[Moji_Joho collection]], [TIME[2019-07-29T01:05:50.000Z]], [TIME[2020-12-27T05:33:39.078Z]] <https://mojikiban.ipa.go.jp/mjc/>
---- [408] 消滅確認 [TIME[2023-05-02T08:21:20.200Z]]
---- [409] [CITE[Moji_Joho collection]], [TIME[2023-05-02T08:21:01.000Z]], [TIME[2020-12-27T04:41:29.216Z]] <https://web.archive.org/web/20201227044123/http://mojikiban.ipa.go.jp/mjc/>
-- [410] [CODE[moji.or.jp]]
--- [411] [CODE[2022-09-13]] で登録されている [[URL]]:
<https://moji.or.jp/mojikiban/>
---- [412] 
[CITE@ja[[[文字情報基盤整備事業]] | 一般社団法人 文字情報技術促進協議会]], [TIME[2023-05-02T08:23:27.000Z]] <https://moji.or.jp/mojikiban/>
----- [413] 
[[文字情報基盤]]のトップページ。
[[IVC]] の登録事項はどこにも書かれていない。
- [284] [CODE[MSARG]]
-- [327] 2016
--- [324] 当初登録されていた [[URL]]:
<http://www.iso10646hk.net/ivd/MSARG/>
--- [285] [CITE[Registration of MSARG Collection and Sequences]], [TIME[2016-07-09T07:57:59.934Z]], [TIME[2020-12-27T04:50:02.000Z]] <https://web.archive.org/web/20160709075536/http://www.iso10646hk.net/ivd/MSARG/>
---- [286] 「2016-05-13」版。
--- [289] [CITE[Registration of MSARG Collection and Sequences]], [TIME[2016-09-20T02:57:46.539Z]],
[TIME[2020-12-27T04:53:25.000Z]]<https://web.archive.org/web/20160920025701/http://www.iso10646hk.net/ivd/MSARG/>
---- [290] 「2016-07-25」版。
--- [287] [[リダイレクト]]先: <https://www.safp.gov.mo/mscs/ivs/>
[TIME[2020-12-27T05:37:09.900Z]]
---- [288] [CITE[Registration of MSARG Collection and Sequences]],
[TIME[2020-06-10T03:40:28.000Z]], [TIME[2020-12-27T04:51:51.439Z]] <https://www.safp.gov.mo/mscs/ivs/2016/default.htm>
----- [291] 「2016-07-25」版。
-- [328] 2020
--- [325] [CODE[2020-11-06]] 版で登録されている [[URL]]:
<https://www.safp.gov.mo/mscs/ivs/>
--- [326] 
[CITE[Registration of MSARG Collection and Sequences]], [TIME[2020-06-29T15:10:15.000Z]], [TIME[2020-12-27T04:51:24.802Z]] <https://www.safp.gov.mo/mscs/ivs/>
---- [329] [CITE@EN-US[Registration of New Sequences in MSARG Collection]], [TIME[2020-06-29T15:31:57.000Z]], [TIME[2020-12-27T05:38:55.087Z]] <https://www.safp.gov.mo/mscs/ivs/2020/default.htm>
----- [330] 「2020-06-22」版。
----- [331] 変更履歴によると前の版「2020-06-08」があったが
[[Internet Archive]] に所蔵なし。
- [313] [CODE[KRName]]
-- [314] 旧:
[CITE@en[[[GitHub]] - adobe-type-tools/krname-ivd-collection: KRName IVD Collection]], [TIME[2020-12-27T05:17:12.000Z]] <https://github.com/adobe-type-tools/krname-ivd-collection/>
-- [404] [CITE@en-us[The [[KRName]] IVD Collection]], [TIME[2023-04-25T00:35:00.000Z]], [TIME[2023-05-02T08:14:00.408Z]] <https://www.unicode.org/ivd/krname/>

-*-*-

[333] 
[CODE[Hanyo-Denshi]]
は登録した[[汎用電子情報交換環境整備プログラム]]が終了して
[[Webサイト]]も消滅してしまったようです。
救済措置なのか
[[Unicode Consortium]]
の
[[Webサイト]]に紹介ページが作られました。

;;
[405] 
それなら最初から資料だけ提出させて
[[Unicode Consortium]]
でホストしてあげたほうが、と思わんでもない。

[406] 
どのような手続きでこの変更が行われたのかは謎です。


[334] 
これらの
[[Webサイト]]の情報は、登録に必要な事項はいったん登録されてしまえば
[[IVD]]
から入手可能になるので、
実装には不要で無くなっても困らないことは事実です。

[335] 
本来なら[[代表グリフ]]以外にも実装や利用に必要なはずの詳細な情報とか、
自由に利用できる参照フォントとかが提供されていてしかるべき感はありますが。
登録手続きで要求されて仕方なく作っただけにしか見えないサイトがいくつかあります。

[336] 
そういう情報が提供されないなら、開発過程の履歴を残すという歴史的意義しか残らないのですが、
([[GitHub]] を使っているサイトはともかく) どこも登録手続き中の改訂でどんどん上書きして前の版を残していないようなので、
それすら満足がいくとはいえない状況です。

[479] [CITE@en-US[「源ノ角ゴシック」バージョン 2.000 の技術的な特長について]], [TIME[2020-11-19T06:22:33.000Z]], [TIME[2024-10-18T11:59:51.265Z]] <https://ccjktype.fonts.adobe.com/2018/11/shsans-v2-technical-tidbits-ja.html>

コメント欄

>Dr. Ken Lunde says:	
>January 7, 2019 at 8:09 AM	
>
Supporting the [I[Hanyo-Denshi]] IVD Collection is a non-starter for a variety of reasons. First and foremost, other than the glyph charts for that collection, there is no longer a stable web page that describes the collection, which is one of the requirements. As the IVD Registrar, I have repeatedly asked Japan to restore its URL so that the one that is reflected in the [I[IVD_Collections.txt]] file is no longer stale. [SNIP[]]

[480] 
>>479 [[JSC2]] に消えたサイトなんとかしろと言ってもどうにもならなかったのでそうなったのか...
ほんと [[JSC2]] は仕事しないだけでなく世界中に迷惑掛けまくってばかりだなあ...

[481] しかしそれにしても消えたサイトにも復活したサイトにも [[IVD]] 以上の情報はないし、
登録手続きが終わったあとにサイトを残せという要件はないので、
これを実装しない理由に挙げるのは難癖でしかないんだよなあ。
それじゃああかんと思うのだったら手続きの方をなんとかしなよ、
被害者面してるけど手続き作る側の立場の人でしょ...

-*-*-

[415] 
[CODE[Moji_Joho]]
の[[文字情報基盤]]は[[日本政府]]傘下の [[IPA]] から民間団体に令和2年に移管されました。
[CODE[2022-09-13]]
版で登録 [[URL]] が新しいものに変更されています。

[416] 
しかしなぜか変更履歴にはそのことが書かれていません。
また、新しい [[URL]] はただの[[文字情報基盤]]のトップページで、
元々の [[IVC]] 登録用の情報は見当たらなくなっています。
どのような手続きによって変更されたのかは謎です。

;;
[417] 
[[Unicode Consortium]] 的には登録が終わったらもう中身はどうでもいいのでしょうか?

-*-*-

[407] 
[CODE[KRName]] も令和5年4月に [[GitHub]] から [[Unicode]] に移転しました。
これは [[Adobe]] から [[Unicode Consortium]] への登録者の移管と同時に行われたものです。

[414] 
[CODE[KRName]] は移転後 [[IVC]] が更新されておらず、現時点で最新の
[CODE[2022-09-13]]
は当然古い [[URL]] のままです。しかし [[IVD]] ウェブサイトのリンク集
([CODE[KRName]] 移転とほぼ同時に新設) は新しい
[[URL]] に更新されています。

[418] これらもどのような手続きによるものか謎です。


** IVS に使う基底文字の選択

[128] 
[[異体選択子]]は [[default ignorable]]
なので、
[[IVS]] に関連付けられた[[グリフ的部分集合]]は、
[[基底文字]]を単体で使った時に適切な[[グリフ]]群の[[部分集合]]である、
言い換えると [[IVS]] の[[グリフ部分集合]]が[[基底文字]]に[[統合][unify]]可能なものである必要があり、
登録者はそれを[RUBYB[確かめる][ensure]]ことが期待されます。
[CODE[Unified_Ideograph]]
の[[文字]]の場合については、
[CITE[The Unicode Standard]] の[[漢字]]の章と
[[ISO/IEC 10646]] 附属書 S の[[漢字統合規則][包摂規準]]に照らし合わせることが、
その方法の1つです。
[SRC[>>19]]

[131] 
encoded variants の数を削減するための取り組みとして、
[CODE[Unified_Ideograph]]
な[[文字]]に関する[[統合規則][包摂規準]]は、
[[IVD]] に適用される時、
次の2つの場合も含めるよう拡大されます。
[SRC[>>19]]

- [132] 異なる構造を持つ文字で、
その違いが別の[[統合漢字]]として[[符号化][符号化済文字]]するほどには重大とはみなされない場合であって、
[[符号化済文字]]の異体として関連付ける強い証拠を有するもの。
-- 例:
⿱椎十 / ⿰木隼,
⿱汨皿 / ⿰氵昷,
⿱戠火 / ⿹戠火
- [133] 同じ構造を持つ文字で、
第2 (以後) 段階の構成要素が違って通常は[[統合][unify]]可能ではない場合であって、
[[符号化済文字]]の異体として関連付ける強い証拠を有するもの。
-- 例:
⿰月㲋 / ⿰月𣬉,
⿺𠃊西 / ⿺辶西
-- [134] 
此の場合当該[[文字]]は稀にしか使われないものである[RUBYB[べき][should]]で、
登録者は[[グリフ]]図形の類似性や異体としての許容性の根拠を提示することが期待されます。


;; [135] 
[[グリフ的部分集合]]の前提を覆す例外が、
「encoded variants の数を削減」
という意味不明な理由で追加されてることが気になりますが...
通常の統合規則に漏れているのに
「別の漢字とするほど重大ではない」
ものがあるという世界観も意味不明です。

[470] 
実際の登録字形を見ると、本当にこの[[字形]]は[[基底文字]]と統合可能なのだろうか、
どの [[UCV]] によりそう判断できるのだろうか、と疑問を呈さずにはいられない[[異体列]]が数多あります。

[209] 
ある[[基底文字]]の[[異体列]]として登録された [[IVS]] の[[代表グリフ]]が、
実は別の[[基底文字]]の[[代表グリフ]]に一致する (かそちらの方がより近い)
ことが後から判明する、という事例がままあるようです。

[REFS[
- [130] [CODE[Unified_Ideograph]] な文字の一覧
<https://chars.suikawiki.org/set/%24unicode%3AUnified_Ideograph>
]REFS]

-*-*-

[350] 
[[草書体]]フォントや[[篆書体]]フォントの字形を使った登録を試みたらどうなるのか、
おもしろそうだからどこかがやってみてくれないものかw

-*-*-

- [475] [CITE@ja[L2/24-165 (CJK & Unihan Working Group Recommendations for UTC #180 Meeting) - 24165-cjk-unihan-wg-utc180.pdf]], [TIME[2024-07-11T13:54:04.000Z]], [TIME[2024-07-12T06:18:42.732Z]] <https://www.unicode.org/L2/L2024/24165-cjk-unihan-wg-utc180.pdf#page=7>

[476] >>475 [[統合分離]]に伴い従来[[IVS]]で使われていた[[字形]]と同形の新しい[[符号位置]]が追加される事例。
[[IVS]]と矛盾した追加であることを認識し、引き続き[[IVS]]を使うことが容認された上での分離。

** 未成IVCと非標準のIVS

[395] 
未登録のまま長年放置されているものがいくつか見つかっています。
再開の見込みがあるのかどうかも不明。

[FIG(middle list)[ [396] [DFN[未成IVC]]
- [[PanCJKV IVD Collection]]
- [[HKSARG Collection]]
]FIG]

[514] >>14 は[[UTCソース]]の [[IVS]] の提案。


[513] 
[[CJK互換漢字SVS]]は当初[[IVS]]として提案されていました (>>359)。

[REFS[

-
[14] [CITE[Wayback Machine]], [TIME[2023-07-25T03:48:53.000Z]] <https://web.archive.org/web/20150104014658/http://appsrv.cse.cuhk.edu.hk/~irg/irg/irg36/IRGN1757_ProposedIVDRegistration.pdf>

]REFS]

-*-*-

[401] 
[CITE[[[BabelStone]]]] [[フォント]]は [[IVD]] 登録済みの [[IVS]]
とそうでない [[IVS]] を実装しています。
未登録のものは将来登録するつもりであるものの、
変更の可能性もあると説明されています。
[SRC[>>357]]
[[ウェブページ]]上の日付から2年既に経過していますが、今のところ登録はされていません。
すぐに登録しようというスケジュール感ではなさそうです。
未登録 [[IVS]] がどの程度利用されているのかは不明です。


[371] 
[[BabelStone]] 
は標準の [[IVS]] の続きの未割当の[[異体選択子]]を使っています。
[SRC[>>357]]
独自分は追加提案する意思があると書いていますし、
変更の可能性もあるとは書かれています。
(怖くて実用できないですね...)


[426] 
[CITE[BabelStone Khitan Small Linear]]
は[[契丹小字]] + [[VS]] を使っています。
[SRC[>>425]]

[510] 
[[IVS]] 用の [[VS]] は現在の所[[漢字]]との利用のみ定められているので、
[[契丹文字]]との併用は完全に独自の用法です。


[REFS[

- [357] [CITE@en[BabelStone Fonts : [[BabelStone]] Han Variants]]
([TIME[2021-09-06T04:18:36.000Z]])
<https://www.babelstone.co.uk/Fonts/BSH_IVS.html>
- [425] [CITE@en[BabelStone Fonts : [[BabelStone Khitan Small Linear]]]], [TIME[2023-07-04T12:36:22.000Z]] <https://www.babelstone.co.uk/Fonts/KhitanLinear.html>

]REFS]


-*-*-

[402] 
[CITE[[[Nôm Na Tống]]]] [[フォント]]は [[IVD]] にない [[IVS]]
を多数実装しています。
旧版は [[IVD]] の [[IVS]] を避けていましたが、現行版は [[IVD]] の [[IVS]]
と非互換に衝突しています。
[SEE[ [[Nôm Na Tống]] ]]

[429] 
[CITE[[[常用標準漢喃表]]]]と[[漢喃復活委員会フォント]]は [[IVD]] にない [[IVS]] 
を多数実装しています。
[[IVD]] の [[IVS]] と非互換に衝突しています。
[CITE[Nôm Na Tống]]
の 
[[IVS]] とも違っています。
[SEE[ [[漢喃復活委員会フォント]] ]]


[419] 
[DFN[注音IVS字型規格]] ([DFN[Bopomofo IVS Font Specification]])
は
[CODE[U+E01E0]]
からの [[VS]]
を[[中文]][[漢字音]]の区別に使っています。
[SRC[>>420]]

[421] 
[[PanCJKV IVD Collection]]
は [CODE[U+E01E5]] から [CODE[U+E01EF]] を使っています。
[[注音IVS字型規格]]とぎりぎり衝突を回避できているのか、いないのか?

[399] [[Unicode非互換割当]]も参照。

[451] 
[[IPA明朝]]は [CODE[U+E0100]] を ([[IVD]] に存在しない [[IVS]] も含めて)
多くの[[符号位置]]で機械的に定義しているようです。
[SEE[ [[IPA明朝]] ]]


[450] >>449 の[[フォント]]は、 [CC[U+E01EA]], [CC[U+E01EB]] に独自に割り当てています。


[517] 
[[Ethiopic Variation Database]] ([[EVD]])
は
[[IVS]]
用の [[VS]] を[[エチオピア文字]]や [[PUA]] と独自に併用しています。
[SEE[ [[Ethiopic Variation Database]] ]]
(>>50 の定義に矛盾する独自の用法です。)


[REFS[
- [420] 
[CITE@en[GitHub - ButTaiwan/bpmfvs: [[注音IVS字型規格]] Bopomofo IVS Font Specification]], [TIME[2023-07-04T08:51:20.000Z]] <https://github.com/ButTaiwan/bpmfvs#%E6%B3%A8%E9%9F%B3ivs%E5%AD%97%E5%9E%8B%E8%A6%8F%E6%A0%BC-bopomofo-ivs-font-specification>
- [449] [CITE@en[ChiuKongGothic/Other/IVD_Ext.csv at main · ChiuMing-Neko/ChiuKongGothic · GitHub]], [TIME[2023-10-30T11:54:07.000Z]] <https://github.com/ChiuMing-Neko/ChiuKongGothic/blob/main/Other/IVD_Ext.csv>


]REFS]



-*-*-

[515] 
[[中華人民共和国]]で登録の準備が進められています。 [SRC[>>496]]

[BOX[

-[495] [CITE@ja[n2796-CAAPH-IVD.pdf]], [TIME[2025-02-27T12:44:00.000Z]], [TIME[2025-03-04T03:01:02.375Z]] <https://www.unicode.org/irg/docs/n2796-CAAPH-IVD.pdf>
--[496] [CITE@ja[n2796r2-CAAPH-IVD.pdf]], [TIME[2025-03-05T02:02:36.000Z]], [TIME[2025-03-05T05:36:33.307Z]] <https://www.unicode.org/irg/docs/n2796r2-CAAPH-IVD.pdf>

]BOX]


-*-*-

[422] 
[[中華民国]]でも [[IVS]] 利用を検討しているらしいですが、具体的な話にはなっていない模様です。

[458] >>422 少しずつ進んではいるようです [SRC[>>457]]。でも先は長そうな雰囲気。

[REFS[

- [457] [CITE[Activity Report from TCA - IRGN2628_TCA_ActivityReport.pdf]], [TIME[2023-10-13T20:01:28.000Z]], [TIME[2023-11-27T14:28:47.042Z]] <https://appsrv.cse.cuhk.edu.hk/~irg/irg/irg61/IRGN2628_TCA_ActivityReport.pdf>

]REFS]






** データ

[441] 
[[IVS]] についてのデータはいろいろなところにあります。

- [442] 基本情報は [[IVD]] にあります。
- [443] 多少の情報が [[Unihan]] に (やや無理のある方法で) 押し込まれてます。
- [446] [CODE[Adobe-Japan1]] [[IVS]] の情報は
[[Adobe-Japan1]] [[GitHub]] リポジトリーにあります。
- [444] [CODE[Hanyo-Denshi]] [[IVS]] の情報は
[CITE[漢字データベースプロジェクト]]
にいくらかあります。
- [445] [CODE[Moji_Joho]] [[IVS]] の情報は[[文字情報基盤]]にあります。
関係する[[CJK互換漢字SVS]]の情報もあります。
- [447] 一通りの[[字形]]や関係する情報が
[CITE[GlyphWiki]]
にあります。


* 代表グリフ

[63] 
ほとんどの
[[SVS]]
の[[代表グリフ]]は、
[[符号表]]に示されています。
[SRC[>>30]]

[69] 
[[SVS]]
は、
[[符号表]]の[[文字]]一覧の元の[[文字]]の項に、
[[swung dash]] ([CODE[~]])
で示されています。
[SRC[>>68]]

[70] 
[[SVS]]
は、
[[符号表]]の元の[[文字]]の[[ブロック]]の後に[[代表グリフ]]の一覧が付されています。
ただし
[[CJK互換漢字]]用の [[SVS]]
は、
[[CJK統合漢字]]でなく
[[CJK互換漢字]]の側に示されています。
[SRC[>>68]]

[HISTORY[
[71] 
[[Unicode]] 8.0
の時代まで、
[[CJK互換漢字]]用を''除く''
[[SVS]]
[WEAK[(後の [[EVS]] を含みます。)]]
の[[字形][代表グリフ]]は 
[[UCD]]
の
[DFN[[CODE[StandardizedVariants.html]]]] 
に収録されていました。
[[蒙古文字]]のものも含まれ、
[[語頭形]]など複数の字形例が示されたものもありました。
[SRC[>>22]]

;; [85] 
[CODE[StandardizedVariants.txt]] [SRC[>>84]]
は 
[[Unicode]] 4.0 で追加されたもので、
[[Unicode 3.2]] 時代には 
[[HTML]]
しかなかったようです。

[72] 
[[Unicode]] 9.0
でこのファイルの内容は削除され [SRC[>>23, >>18]]、
[[Unicode]] 10.0
でファイル自体も削除されました。

[REFS[
- [83] [CITE@en-us[Standardized Variants]], [TIME[2002-03-25T23:26:56.000Z]], [TIME[2020-12-23T12:02:59.224Z]] <https://www.unicode.org/Public/3.2-Update/StandardizedVariants-3.2.0.html>
- [84] [TIME[2003-02-28T02:50:29.000Z]], [TIME[2020-12-23T12:04:29.278Z]] <https://www.unicode.org/Public/4.0-Update/StandardizedVariants-4.0.0.txt>
- [22] [CITE@en-us[Standardized Variants]]
([TIME[2015-05-26T21:39:32.000Z]], [TIME[2020-10-24T05:50:46.389Z]])
<https://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]])
<https://unicode.org/Public/9.0.0/ucd/StandardizedVariants.html>
]REFS]

]HISTORY]

[64] 
[[EVS]]
の[[代表グリフ]]は、
[[絵文字表]]に示されています。
[SRC[>>30]]

[65] 
[[IVS]]
の[[代表グリフ]]は、
[[IVD]] に示された登録中にあります。
[SRC[>>30]]

-*-*-

[430] 
[[異体列]]が表す[[グリフ部分集合]]を代表するのが[[代表グリフ]]ですが、
[[グリフ部分集合]]とは[[基底文字]]が表し得る[[グリフ]]全体の[[集合]]の[[部分集合]]です。
つまり[[代表グリフ]]は[[基底文字]]をある意味代表する[[字形]]の1つともいえます。

[431] 
[[基底文字]]の[[代表字形]]は、大部分の[[Unicode文字]]には1つ、
[[CJK統合漢字]]や[[CJK互換漢字]]には1つ[[以上]]が[[符号表]]で示されています。
それら[[代表字形]]が[[異体列]]の[[代表グリフ]]に選ばれている (ような[[異体列]]が規定または登録されている)
こともあれば、そうでないこともあります。

[EG[
[432] 
[[CJK統合漢字]]の[[J字形]]と同じ[[代表グリフ]]の [[IVS]] 
が登録されていることもありますが、そうでないこともあります。

]EG]

[434] 
なお、[[フォント]]において[[異体列]]に割り当てられた[[グリフ]]に対して、
[[基底文字]]のみの列に対して割り当てられた[[グリフ]]のことを、
[[文字情報基盤]]では[DFN[[RUBYB[デフォルトグリフ][default glyph]]]]と呼んでいます
[SRC[>>433]]。

[435] 
[[フォント]]の[[デフォルトグリフ]] = [DFN[既定グリフ]]は、
同じ[[フォント]]で[[異体列]]に割り当てられたいずれかの[[グリフ]]と一致することもあれば、
どれとも一致しないこともあります。

[437] 
[[OpenType]] の場合、
[[異体列]]の[[グリフ]]が[[デフォルトグリフ]]と一致するような[[異体列]]のことを
[DFN[default UVS]]
([DFN[既定UVS]])
といい、
そうでない[[異体列]]のことを
[DFN[non-default UVS]]
([DFN[非既定UVS]])
といいます。
両者には別の[[データ構造]]が用意されています。
[SRC[>>436]]
[SEE[ [[cmap]] ]]

;; [438] この区別は必須ではないので、すべて[[非既定UVS]]用[[データ構造]]で記述することも可能です。
[[既定UVS]]を使った方が少しファイルサイズを節約できますが、
フォントファイル (特に漢字がたくさん入ったフォントファイル)
全体の大きさに比べれば微々たるものなので、
簡単さを取ってすべて[[非既定UVS]]で表す[[フォント]]も珍しくないようです。
なお、
[[既定UVS]]を使うと[[フォント]]から[[グリフ]]を探す手順が1段階増えるので[[表示処理][文字のレンダリング]]が少し遅くなりますが、
これもやはり微々たる差です。


[REFS[

- [433] 
[CITE@ja[Unicode IVS/IVDについて | 一般社団法人 文字情報技術促進協議会]], [TIME[2023-09-10T14:01:14.000Z]] <https://moji.or.jp/mojikiban/aboutivs/#defaultglyph>
- [436] 
[CITE@en-us[[[cmap]] - Character To Glyph Index Mapping Table (OpenType 1.9) - Typography | Microsoft Learn]], [[PeterCon]], [TIME[2023-09-10T14:06:41.000Z]] <https://learn.microsoft.com/en-us/typography/opentype/spec/cmap#format-14-unicode-variation-sequences>


]REFS]

* レンダリング



[41] 
[[異体列]]において[[異体選択子]]は[[基底文字]]または
[[spacing mark]]
の[RUBYB[見た目][appearance]]に影響します。
[SRC[>>30]]

[42] 
この見た目の変化は、
後に続く[[文字]]、
とりわけ同じ[[基底文字]]または [[spacing mark]]
に[[適用]]される[[結合文字]]にも[RUBYB[視覚的][visual]]な影響を与えることがあります。
[SRC[>>30]]

[EG[
[43] 
[[基底文字]]の[RUBYB[図形][shape]]の変化に合わせて、
[[結合マーク]]の図形や位置も変化するべきです。
[[基底文字]]の[[色]]の変化に合わせて、
[[結合マーク]]の[[色]]も変化するべきです。
[[基底文字]]の [[advance width]]
が変化すれば、
次の [[spacing文字]]の位置も変化します。
[SRC[>>30]]
]EG]

[384] 
[[異体列]]に対応した[[フォント]]が存在しない時、
[[基底文字]]だけの場合と同じ[[グリフ]]を表示し、
[[異体選択子]]相当の表示はしない実装が普通です。

[385] 
この実装方法のメリットは、
[[受信者]]が対応した[[異体列]]かどうかを個別に[[送信者]]が判断せずとも、
そこそこの表示が得られる点です。

[386] 
この実装方法のデメリットは、
[[送信者]]の意図しない表示になっていても[[受信者]]が気づかない可能性が高いことです。


[46] 
[[異体列]]は、
定義されたものを除き、
[RUBYB[表示][display]]上の効果を持ちません。
[[異体選択子]]によって[RUBYB[視覚的][visual]]な[RUBYB[見た目][appearance]]は変化しません。
[SRC[>>30]]
[[適合]]する[[処理]]は、
未定義のものを
[[SVS]]
として解釈してはなりません
[SRC[>>105]]。

[108] 
[[SVS]] を構成しない[[自由異体選択子]]は無視される[RUBYB[べき][should]]です。
[SRC[>>105]]

[52] 
[[異体選択子]]は、
[[結合マーク]]であり[[結合クラス]] [CODE[ccc]] = [N[0]] で、
[[default ignorable]]
です。
従って[[異体列]]に対応していない場合には、
[[異体選択子]]は[RUBYB[不可視][invisible]]で無視されるべきです。
[SRC[>>30]]
[[異体選択子]]は[RUBYB[視覚的][visual]]な[RUBYB[見た目][appearance]]を持ちません
[SRC[>>105]]。

[53] 
[[異体選択子]]が[RUBYB[可視的な見た目][visible appearance]]を与えられるモードや環境があっても構いません。
例えば「隠れたものを表示する」モードで特別な[[グリフ]]で表示しても構いませんし、
[[基底文字]]に[[下波線][下線]]を引いて現在の[[フォント]]では対応できないことを示したりできます。
[SRC[>>30]]

** OpenType フォント

[467] 
[CITE@ja[利用者:emk - [[GlyphWiki]]]], [TIME[2024-04-30T03:46:39.000Z]] <https://glyphwiki.org/wiki/User:emk#i2>

>Windows 7でIVSを認識させるには、以下の条件をすべて満たす必要があるようです。 



*** [CODE[cmap]]

[375] 
[[OpenType]] [[フォント]]は [CODE[cmap]] の [CODE[format]] = 14 
を使って[[異体列]]と[[グリフ]]の対応関係を記述しています。
[SEE[ [[cmap]] ]]

*** [CODE[GSUB]]

[376] 
[CITE[Mongolian Universal White]]

[[蒙古文字]]の[[異体字選択子]]を [CODE[cmap]] でなく [CODE[GSUB]] で実現。


* 処理

[387] 
[[結合列]],
[[書記素クラスター]]も参照。

[360] 
[[文字の表示上の処理][文字のレンダリング]]の多くは、
[[書記素クラスター]]を単位にします。
[[異体選択子]]は[[結合文字]]ですから、
[[異体列]]は[[書記素クラスター]] (の一部分) になります。
多くの処理では[[異体列]]はその[[基底文字]]単体と同じように振る舞います。

[EG[
[361] 
例えば[[縦書き字形]]に関する
[CODE[Vertical_Orientation]]
は、
多くの場合に[[書記素クラスター]]の先頭文字の
[CODE[Vertical_Orientation]]
となります。
つまり[[異体列]]が[[横書き]]と[[縦書き]]で[[字形回転]]するかどうかは、
[[異体選択子]]に関わらずに決まります。

]EG]


* 標準化

[45] 
[[異体選択子]]は、
[[文字符号化]]の一般の拡張機構を想定したものではありません。
[[基底文字]]や [[spacing mark]]
と[[異体選択子]]の組み合わせは、
[[Unicode Consortium]]
が定義するリストにあるものを除き、
[RUBYB[表示][display]]上の効果を持ちません。
[SRC[>>30]]
定義されていないものは、
将来の[[標準化]]のために予約されています [SRC[>>105]]。


[54] 
特定の[[異体列]]の[[標準化]]や[RUBYB[対応][support]]は、
[[基底文字]]単独での表現に使うことが出来る[[グリフ]]の集合を制限することにはなりません。
[[利用者]]がある[[文字]]とその特定の異体の[RUBYB[視覚的][visual]]な区別を必要としているなら、
その区別のためには[[フォント]]を使わなければなりません。
[SRC[>>30]]

[55] 
[[異体列]]が存在するからといって、
異なる[RUBYB[意味][semantics]]で同じまたは重なる[[グリフ]]の範囲の新しい[[文字]]が将来[[符号化][符号化済文字]]されることを否定するものではありません。
[SRC[>>30]]

* 安定性

[206] 
[[異体列]]は、
誤りとして廃止された事例が2件知られています (>>82)。
今後も廃止される可能性があるのかは不明です。


[136] 
登録済 [[IVS]] を使ったテキストの安定性を保証するため、
[[IVS]] と[[グリフ的部分集合]]の関連付けは恒久的なものとされます。
[[IVS]] が他の[[グリフ的部分集合]]に再割当されることはありません。
[SRC[>>19]]
恒久的ということは、変更も削除もされることはないと解釈できそうです。

[228] 
[[IVS]]
には後から追加の[[代表グリフ]]を追加することが認められています。
その条件は特に規定されていません。
ということはある時点の[[代表グリフ]]群から推測されるその[[異体列]]の解釈の幅と、
それより後の時点の[[代表グリフ]]群から推測されるその[[異体列]]の解釈の幅が変わっていることもあり得るわけです。
(削除が認められるとは書かれていないので、幅が狭まることはないとは思われます。)

[229] 
[[SVS]]、
[[EVS]]
の[[代表グリフ]]が変更されることもありそうですが不明です。
過去あったのかも不明です。
([[符号点]]の[[代表グリフ]]はたまに変更されています。)


* 非標準の用法

[367] [CITE@en[Content Credentials : C2PA Technical Specification :: C2PA Specifications]], [TIME[2026-01-15T06:08:55.000Z]], [TIME[2026-01-27T01:56:50.482Z]] <https://spec.c2pa.org/specifications/specifications/2.3/specs/C2PA_Specification.html#embedding_manifests_into_unstructured_text>

[368] >>367 [[メタデータ]]の埋め込みに濫用しています。


* 応用

[518] 
[[IVS]] は [[Unicode文字列]]ですから、
[[Unicode符号位置]]の[[列][文字列]]を制約なく使える任意の場所で使えます。

[519] 
その他に、[[応用]]独自の用法を定めているものもあります。


[520] 
[[通信用語の基礎知識V6フォーマット]]:

>
[PRE[
      文字をそのまま書くとエディターを選んでしまう可能性があるため、
      \x{e0100};のようなエスケープ表記が望ましい。
]PRE]

[REFS[

- [521] 
[TIME[2014-10-24T14:04:00.000Z]], [TIME[2025-11-05T08:06:53.915Z]] <https://www.wdic.org/file/dic6form.txt#:~:text=IVS>

]REFS]



** [CODE[<ivs>]] (朝刊太郎)

[25]
[[DTP]]
ソフトウェア
[CITE[[[朝刊太郎・改([TATE[仮称]])][朝刊太郎]]]]は、
[[ASCII文字]]を使った
[DFN[[CODE[<ivs>]]]]
タグという機能で
[[IVS]]
を文字列表現しています。


[118] 
[CITE[「[[朝刊太郎]]・改(仮称)」タグの使い方]], [TIME[2019-06-11T13:06:00.000Z]], [TIME[2020-12-24T08:24:21.588Z]] <https://www.chokantaro.com/tag/tag.html#Ivs>

>
[PRE[
辻と<ivs>辻、祇園と<ivs>祇園
兵庫の芦屋市と広島の<ivs>芦田川 
]PRE]

>
[PRE[
辻と<ivs=2>辻、祇園と<ivs=2>祇園
兵庫の芦屋市と広島の<ivs=2>芦田川
]PRE]

>異体字の枝番号を省略すると「0」番と判断されます。(実際の枝番号定義から逆算しやすいよう番号はゼロから指定します)


* 私用

[112] 
[[Unicode]]
の[[異体列]]は標準化の対象とされ、
[[私用]]の仕組みは用意されていません。

[195] 
[[私用文字]]に[[異体選択子]]を併用することも認められていません。

[113] 
それとは別に、
[[私用文字]]に独自に[[異体選択子]]的な機能を割り当てている[[応用]]もあります。

[505] 
正式な [[VS]] の[[符号位置]]の勝手な利用については、 [[IVS]] 等各項を参照。

-*-*-

[114] 
[[Apple]]
は
[CODE[U+F870]] 「transcoding hint: variant tag 16」 - 
[CODE[U+F87F]] 「transcoding hint: variant tag 1」
を定義しています。
[SRC[>>15]]

[116] 
[[Apple]] が [[Unicode]]
以前に使っていた各国用の[[文字コード]]にあって
[[Unicode]]
にない[[文字]]で、
他の
[[Unicode文字]]の[[異体]]とみなされるもののために、
[[Unicode文字]]の後に置いて使われています。

[117] 例えば
[[MacJapanese]]
の[[縦書き字形]]に使われています。



[REFS[
- [15] ([TIME[2018-02-19 16:28:14 +09:00]])
<ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/APPLE/CORPCHAR.TXT>
-- [115] 
[TIME[2005-04-05T01:04:12.000Z]], [TIME[2020-11-13T11:39:33.292Z]] <https://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/CORPCHAR.TXT>
]REFS]

-*-*-

[427] 
[[Wenlin]] は [[PUA]] に独自の[[異体字選択子]]を規定して使っています。
[SEE[ [[Wenlin Variation Sequences]] ]]

[502] [DFN[新異体字セレクター]] [SRC[>>501]]
は新規[[異体字選択子]]の追加提案ですが、未割当なので代替として [[PUA]]
を使うとしていました。

[503] 残念ながらデータファイルは [[Internet Archive]] 未所蔵です。

[REFS[

- [5] [CITE@ja-jp[新異体字セレクター作成計画 ‐ 未来情報産業]]
( ([[未来情報産業株式会社]] 著, [TIME[2010-12-04 23:55:56 +09:00]] 版))
<http://www.mirai-ii.co.jp/data/ivs/>
-- [500] 消滅確認 [TIME[2025-04-06T10:19:37.200Z]]
-- [501] 
[CITE@ja-jp[新異体字セレクター作成計画 ‐ 未来情報産業]], [[未来情報産業株式会社]], [TIME[2025-04-06T10:21:48.000Z]], [TIME[2018-08-31T11:57:19.888Z]] <https://web.archive.org/web/20180831115702/http://mirai-ii.co.jp/data/ivs/>

]REFS]

-*-*-

[504] 
[[Unicode]] に[[私用]]の [[VS]] を追加する提案が令和6年頃にありました [SRC[>>474]] が、
却下されたようです。

[REFS[

-
[474] 
[CITE@ja[Proposal to Encode a Set of 128 User-Defined Variation Selectors - 24148-n5266-uvs_proposal.pdf]], [TIME[2024-06-20T18:03:41.000Z]], [TIME[2024-06-21T06:43:28.581Z]] <https://www.unicode.org/L2/L2024/24148-n5266-uvs_proposal.pdf>

]REFS]

* 冗談ネタとして消費されてきた歴史

[499] 
[[Unicode]] の界隈では冗談なのか皮肉なのか、[[異体字]]の問題に真剣に取り組まずに謎の内輪ウケ狙いのネタにするだけして放置していた黒歴史があります。

-*-*-

[487] [CITE@ja[n2326.pdf]], [TIME[2001-04-01T09:18:08.000Z]], [TIME[2025-01-15T12:00:07.221Z]] <https://www.unicode.org/wg2/docs/n2326.pdf>

[488] >>487 [TIME[2001-04-01]] ([[4月1日]])。[CH[艹]]の[[字形]]を区別する[[異体選択子]]を提案していた。

[489] 実際に必要とされる機能を標準化することを怠り冗談として「提案」だけして放置、
悪ノリとしか思えない。

[498] 他はまあいいとしても

>FRACTAL GRASS RADICAL (grass mat radical)
>DOUBLE TEN GRASS RADICAL (Taiwan national day grass radical)

は悪ノリを通り超えて意味が不明すぎてセンスを疑うレベル。冗談にも風刺にも皮肉にも何にもなっていない、
実在するとも思えない、ただただ意味が不明。


[497] [[組み文字]]も参照。

-*-*-

[459] 
[CITE@ja[Microsoft Word - wg2n4572_gvs-proposal_20140401a.doc - n4572.pdf]], [TIME[2014-03-31T20:28:00.000Z]], [TIME[2024-04-11T05:14:31.615Z]] <https://www.unicode.org/wg2/docs/n4572.pdf>


[460] 
>>459 [TIME[2014-04-01]] ([[4月1日]])。[CH[〓]]の[[字形]]を区別する [DFN[Geta VS]]
([DFN[GVS]]) を提案していた。

[461] [[SVS]] として普通に有用そうだし実例が示されているように[[横書き字形]]と[[縦書き字形]]の区別は本来あるべきなのに、
なぜかスルーされてるのが謎。

- [462] 
[CITE@ja[n4796-CJKComplexSymbol.pdf]], [TIME[2017-05-01T18:38:03.000Z]], [TIME[2024-04-27T08:26:20.801Z]] <http://www.unicode.org/wg2/docs/n4796-CJKComplexSymbol.pdf>

[463] >>462 は[TIME[2017-04-01]] ([[4月1日]])。こちらは [[VS]] とは正反対で、
本来の [[CJK統合漢字]]なら[[統合]]対象にならない粒度まで統合する新しい概念の提案。
問題設定は真面目だし、実際解決の必要性がありそうな課題を選んでいるのに、
解決案は雑で、おそらく[[4月1日]]ならではの文書だと思われるが、
いまいちその点が伝わりにくいというか、どこにユーモアがあるのかよくわからないんだよな...

-*-*-

[464] 
というかもうはっきりいってしまうと、ギャグとして滑ってるんじゃないの、って。
(ギャグなんだとしたらね。たまたま[[4月1日]]の提案になっただけで大真面目だったら申し訳ない。
← この突っ込んでいいのか悪いのかよくわからない感じが滑ってるんよ)

[465] 
これがギャグだろうとなんだろうと、ここで紹介された統合対象になってない文字が、
なぜ現在まで [[CJK統合漢字]]に新規追加されず、
[[VS]] も登録されないまま放置されてるのか、がやっぱり謎。

[466] 
どの[[4月1日]]も、解決するべき問題を示すだけ示して、非現実的な解法を提示するだけで放置して逃げてるのがダサいというか困ったところ。


[490] 
こういうのってやるべきことはやった上でやるから冗談として楽しめるんじゃないのかね。

[492] 
>>491 は
>>487 について、
[[日本]]が[CITE[常用漢字表]]等に由来する文字の追加を提案した折のもので、
それに反感を持った[[米国]]代表団が意趣返し的に提出したのだとしている。

[493] 
もし >>492 の解釈が事実だとすると、 >>487 は冗談やユーモアと言って済まされる話ではなく、
[[Unicode]] / [[ISO/IEC 10646]] の幹部級の人々が多文化理解、文化的多様性に関して致命的なレベルの悪意を有していることになってしまうが...


[REFS[

- [491] 
[CITE[“情報化時代”に追いつけるか? 審議が進む「新常用漢字表(仮)」: 第2部 新常用漢字表と文字コード規格第4回 互換漢字をめぐる非漢字圏諸国との「波風」]], [TIME[2025-01-15T12:06:46.000Z]] <https://internet.watch.impress.co.jp/cda/jouyou/2008/07/29/20386.html>

]REFS]

* 異体列で表せないもの

[347] 
既存の
[[Unicode文字]]の細かい差は表現できますが、
似た別字やまったくの新字は表現できません。

[348] 
[[Unicode Consortium]] が標準化または登録したものしか使えません。

[349] 
[[CJK統合漢字]]には国別の[[代表グリフ]]が併記されていますが、
敢えて登録されたもの以外は表現できません。

* セキュリティー

[471] [[異体選択子]] (特に意味が未割当のもの) は、
不可視の[[文字]]として悪用されることがあります。
[SEE[ [[文字のセキュリティー]] ]]

* 関連

[29] 
[[異体選択子]]とは別に、
本来[[算用数字]]を表す[[符号位置]]の表示形を[[アラビア文字の数字]]に切り替える、
[[numeric shape selector format characters]]
があります。



[28] 
[[続け字]]、[[合字]]に関係した異体グリフの選択には他の仕組みがあります。
[SEE[ [[続け字]]、[[合字]] ]]


[16] [[SAPV]]



* このウィキでの用例

[SEE[ [[Unicodeにない文字]] ]]

* 歴史

[398] 
[[CCCII]]

[161] [CITE@en-us[L2/08-109]], [TIME[2020-12-25T11:38:30.000Z]] <https://www.unicode.org/L2/L2008/08109-ivd-update.html>


[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>


[6] >>1 [CITE[404 Not Found]] ([TIME[2016-05-30 18:11:56 +09:00]]) <http://ivstpc.jp/>
いつの間にか消滅



[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>



[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>


[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[
[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]


[235] [CITE@ja[桐ヘルプ - IVS]], [[管理工学研究所]], [TIME[2020-12-26T14:45:18.000Z]] <https://www.kthree.co.jp/kihelp/index.html?page=data/ivs&type=html>


[346] [CITE@ja[プレスリリース:超漢字検索IVS強化版 | 超漢字検索ウェブサイト]], [[パーソナルメディア株式会社]], [TIME[2013-12-04T08:22:40.000Z]], [TIME[2020-12-27T06:46:27.014Z]] <http://www.chokanji.com/ckk/press_ckkivs.html>

[352] [TIME[2020-02-28T17:40:04.000Z]], [TIME[2021-01-11T03:47:12.512Z]] <https://standards.iso.org/iso-iec/10646/ed-6/en/UCSVariants.txt>

[353] [TIME[2020-02-28T17:39:57.000Z]], [TIME[2021-01-11T03:47:52.926Z]] <https://standards.iso.org/iso-iec/10646/ed-6/en/EmojiSrc.txt>


[355] [CITE@ja[異体字セレクタを含む漢字が縦書きのウェブページでうまく表示されないときの対策|Colorless Green Webs]]
([TIME[2021-08-01T00:56:31.000Z]])
<https://we.fnshr.info/2016/02/14/variation-selector/>



[364] [CITE@en[392588 - Proper font fallback for variant selectors]], [TIME[2022-07-31T08:21:39.000Z]] <https://bugzilla.mozilla.org/show_bug.cgi?id=392588>

[365] [CITE[IPSJ-DC16102006.pdf]], [TIME[2022-07-31T08:22:46.000Z]] <https://ipsj.ixsq.nii.ac.jp/ej/index.php?action=pages_view_main&active_action=repository_action_common_download&item_id=168214&item_no=1&attribute_id=1&file_no=1&page_id=13&block_id=8>

[366] [CITE@en['''['''css-text''']''' [css-fonts] Variation selectors are underspecified · Issue #854 · w3c/csswg-drafts · GitHub]], [TIME[2022-07-31T08:23:36.000Z]] <https://github.com/w3c/csswg-drafts/issues/854>

[372] [CITE@ja[IVSとフォントの関係 - ちくちく日記]], [TIME[2022-08-14T14:06:20.000Z]] <https://chiku-chiku-nikki.hatenablog.com/entry/20110930/1317339375>

>IVS技術促進協議会セミナー「UnicodeとIVSの基礎について」

>[SNIP[]]使える文字が増えるということが、本当に便利なのかどうかをよく考えてほしい。
ある人のわがままで増えた文字が誤字であってもそれを削除する権限が行政にない。それがたまりたまってこれだけの数になって、全部そのまま符号化されている。


[373] 
現に存在する文字を「わがまま」だという。こういう考え方の人がなぜか [[IVS]] を仕切っている。

[374] 
こういう言い方をするからには相応の根拠があるのだろうな?
「わかがま」の「誤字」が「これだけの数」あると断定するからには、
相当数の文字の来歴を調査していつどんな経緯で生まれたのか判明しているはず、
その調査報告はどこにあるの?


[516] 
>>374 この団体は平成23年当時だけでなく令和の今も(組織名変わったけど)こういうスタンスでやってるっぽいことが公式サイトでたまに見えてきてますね。
なんでこんないい加減な団体に仕切らせているのか日本政府は真面目にやれよと。



[397] [CITE[Proposal to add standardized variation sequences for digits and various punctuation (L2/18-013) - 18013-svs-proposal.pdf]], [TIME[2018-01-08T21:02:01.000Z]], [TIME[2022-10-16T15:22:00.881Z]] <https://www.unicode.org/L2/L2018/18013-svs-proposal.pdf>

[448] [CITE[L2/23-212 (Proposal to add standardized variation sequences for four quotation marks) - 23212r-quotes-svs-proposal.pdf]], [TIME[2023-10-18T19:01:37.000Z]], [TIME[2023-10-23T02:46:04.651Z]] <https://www.unicode.org/L2/L2023/23212r-quotes-svs-proposal.pdf>


[403] 
[CITE@ja[IVD Registrar—異体字王さんはTwitterを使っています: 「The IVD (Ideographic Variation Database) landing page now includes a new “Registered IVD collections” section that includes useful details about the registered IVD collections. https://t.co/CfXnj9qlcA」 / Twitter]], [TIME[午前10:18 · 2023年4月24日][2023-04-24T01:18:53.000Z]], [TIME[2023-05-02T07:37:41.000Z]] <https://twitter.com/IVD_Registrar/status/1650308296124022786>

[477] 
[CITE@ja[A Letter in Support of N5266 - 24199-support-n5266.pdf]], [TIME[2024-07-23T13:08:16.000Z]], [TIME[2024-07-24T08:05:27.853Z]] <https://www.unicode.org/L2/L2024/24199-support-n5266.pdf>

[478] [CITE@ja[Recommendations to UTC #180 on Script Proposals - 24166-script-wg-rept.pdf]], [TIME[2024-07-18T16:21:13.000Z]], [TIME[2024-07-31T05:47:37.510Z]] <https://www.unicode.org/L2/L2024/24166-script-wg-rept.pdf#page=24>



[494] 
[CITE@ja[20244r-combining-mark-var.pdf]], [TIME[2020-12-22T21:27:31.000Z]], [TIME[2025-01-27T13:03:43.652Z]] <https://www.unicode.org/L2/L2020/20244r-combining-mark-var.pdf>

[369] [CITE@ja[Make sequences with multiple variation selectors in a row formally non-conformant - Google Docs - 26070-multiple-variation-selectors-non-conformant.pdf]], [TIME[2026-03-17T15:53:37.000Z]], [TIME[2026-03-18T02:35:43.939Z]] <https://www.unicode.org/L2/L2026/26070-multiple-variation-selectors-non-conformant.pdf>