[10] MULE はいくつかの私用終端バイトを使っていました。 >>16
- [19]
chinese-sisheng
("SiSheng (PinYin/ZhuYin)",
Emacs 20+;
Mule 2.3: sisheng_cwnn
>>65;
XEmacs: sisheng
,
ltr) - 94集合 3/0 ★ - [69]
lc-thai
(TIS 620, Mule 2.3 (廃止)) - 94集合 3/1 - [26]
lao
("Lao" U+0E81
- U+0EDF
,
Emacs 20+, XEmacs UTF-2000) - 94集合 3/1 ★ - [23]
arabic-digit
("Arabic digit",
Mule 2.3: MuleArabic-0
>>65 = lc-arb0
,
ltr) - 94集合 3/2 - [24]
arabic-1-column
("Arabic 1-column",
Mule 2.3: MuleArabic-1
>>65 = lc-arb1
,
rtl) - 94集合 3/3 - [25]
arabic-2-column
("Arabic 2-column",
Mule 2.3: MuleArabic-2
>>65 = lc-arb2
,
rtl) - 94集合 3/4 - [27]
indian-is13194
("Indian IS 13194 (DEV)",
Emacs 20+) - 94集合 3/5 ★ - [20]
ipa
("IPA",
Mule 2.3: MuleIPA
>>65;
Emacs 20+,
XEmacs,
ltr) - 96集合 3/0 ★ - [21]
vietnamese-viscii-lower
("VISCII lower-case",
Mule 2.3: VISCII1.1
>>65;
Emacs 20+,
XEmacs) - 96集合 3/1 ★ - [22]
vietnamese-viscii-upper
("VISCII upper-case",
Mule 2.3: VISCII1.1
>>65;
Emacs 20+;
XEmacs) - 96集合 3/2 ★ - [99]
mule-ucs-unicode-multichar
- 96集合 3/14 - [17]
chinese-big5-1
("Big5 (Level-1) A141-C67F",
Mule 2.3: lc-big5-1
,
Emacs 20+;
XEmacs) - 942集合 3/0 ★ - [18]
chinese-big5-2
("Big5 (Level-2) C940-FEFE",
Mule 2.3: lc-big5-2
,
Emacs 20+;
XEmacs) - 942集合 3/1 ★ - [71]
lc-ethio
(Mule 2.3, 廃止) - 942集合 3/2 - [36]
ethiopic
("Ethiopic characters",
Emacs 20+;
XEmacs) - 942集合 3/3 ★ - [30]
indian-2-column
("Indian 2 Column",
Emacs 20+) - 942集合 3/5 - [29]
indian-1-column
("Indian 1 Column",
Emacs 20+) - 942集合 3/6 - [31]
tibetan
("Tibetan 2 column",
Emacs 20+) - 942集合 3/7 - [32]
tibetan-1-column
("Tibetan 1 column",
Emacs 20+) - 942集合 3/8 - [72]
mojikyo-2022-1
(XEmacs UTF-2000, 廃止) - 943集合 3/10 - [81]
mojikyo-2022-2
(XEmacs UTF-2000, 廃止) - 943集合 3/11- [82] おそらく予約されただけで未実装のまま廃止
- [73]
thai-xtis
(XEmacs) - 942集合 3/15 - [74]
bitmap
(BITMAP-MULE) - 962集合 3/0 - [35]
mule-unicode-0100-24ff
("Unicode subset (U+0100..U+24FF)",
Mule-UCS; Emacs 21+) -
962集合 3/1 - [33]
mule-unicode-2500-33ff
("Unicode subset (U+2500..U+33FF)",
Mule-UCS; Emacs 21+) -
962集合 3/2 - [34]
mule-unicode-e000-ffff
("Unicode subset (U+E000+FFFF)",
Mule-UCS; Emacs 21+) -
962集合 3/3 - [75]
lc-arb3
(Mule 2.3) - 962集合 3/3 - [76]
lc-arb4
(Mule 2.3) - 962集合 3/4 - [77]
cgreek
(cgreek) - 962集合 3/4 - [28]
indian-glyph
("Indian glyph") - 962集合 3/4 - [43] 文字合成を表現する制御機能
3/0 - 3/4
私用制御機能
[100] ★ 印のあるものは Mule-UCS に Unicode との変換表があります。
[63]
このうち Big5 の2つは X の ctext でも
Emacs
との互換性のためとして BIG5-E0
, BIG5-E1
の名前で実装されています。
>>16
[64] lao
は X の ctext で
extended segment の mulelao-1
として実装されています。
終端バイトは使っていません。
extended segment
[70]
lc-thai
と lao
は同じ終端バイトを使いまわしています。
lc-thai
は TIS 620 であるとされ、
公式な終端バイトが割り当てられたために Fp は廃止されたようです。
タイ文字とラオス文字の違いがある非互換変更のように見えますが、
両者は親類関係にあり
lao
は TIS 620 のタイ文字をラオス文字に置き換えたものなので、
まったくの非互換でもありません。
[79]
Mule (GNU Emacs, XEmacs) は elisp
で文字集合やその終端バイトを定義できます。
Mule 本体は私用終端バイトの符号化図形集合をその利用例のように説明していました
>>65。
Mule 本体以外の追加で利用するパッケージで文字集合を定義したものが実際にありましたし、
公開されていたもの以外にも私的な利用例はあったかもしれません。
[80]
そのように完全な中央管理ではなかったため (および旧 Mule,
GNU Emacs,
XEmacs
と複数系統の実装が存在したため) に一部で私用終端バイトの衝突が起きています。
[37] Mule内部コードも参照。
[83] なお Mule 独自の図形文字集合と Unicode の対照表は
Mule-UCS に入っています。
[7] ISO-2022-JP-MS は ESC $ ( ? を EUDC に割り当てています。
[46]
VT
では94集合
3/0 - 3/9,
3/12 - 3/14,
2/2 3/1,
2/5 3/5,
2/5 3/6,
2/5 3/13
が使われています。
VT
[95]
VT
では、
ESC
2/8 3/1,
ESC
2/9 3/1,
ESC
2/9 4/2
が指示とは違う意味で使われることがありました。
VT, 指示シーケンス
[98]
>>95 それと同時に
ESC
2/8 3/1
が G0 に、
ESC
2/9 4/2
が G1
に ASCII
を指示するとされます。 >>97
4/2 は ASCII ですが、
3/1
は VT では独自の集合のはずです。
しかも
ESC
2/9 3/1
は指示とはされていません。
本当にこの通りの実装だったのでしょうか。謎です。
[40]
VT
では告知シーケンス相当の私用終端バイト
3/6,
3/7
が使われています。
VT
[42]
VT
では
3F 型の私用制御機能
3/3 - 3/9, 3/15
が使われています。
VT
[44]
ctext
では
3F 型の私用制御機能の中間バイトと
3/0 - 3/1
が使われています。
ctext
[45]
VT
では
DOCS
3/0, 3/4, 3/8
が使われています。
3/8 は異なる2種が知られています。
VT
[54]
Tektronix 4014
では
ESC
3/8 - 3/11 が使われていました。
VT, 私用制御機能
[55]
Digital Ansi-Compliant Print Protocol Lev 2 Program. Ref. Man. - PPLV2PMB.PDF, , http://sup.xenya.si/sup/info/digital/MDS/jun99/Cd3/PRINTER/PPLV2PMB.PDF#page=162
- 94集合
- 3/0 DEC Special Graphics
- 3/4 DEC Dutch
- 3/5 DEC Finnish
- 3/6 DEC Norwegian/Danish
- 3/7 DEC Swedish
- 3/9 DEC French-Canadian
- 3/12 User Preference Supplemental
- User Preference Supplemental character set
は互換性のため
DEC Supplemental character set
に設定されている。
- 3/13 DEC Swiss
- 3/14 DEC Technical
- 2/2 3/4 DEC Hebrew Supplemental
- 2/5 3/0 DEC 8-Bit Turkish Supplemental
- 2/5 3/2 DEC 7-Bit Turkish
- 2/5 3/4 Legal
- 2/5 3/5 DEC Supplemental
- 2/5 3/6 DEC Portuguese
- 2/5 3/13 DEC 7-Bit Hebrew
- 2/2 3/15 DEC Greek Supplemental
- 96集合
- 3/12 User Preference Supplemental
- User Preference Supplemental character set
は互換性のため
DEC Supplemental character set (94集合)
に設定されている。
VT, DECの文字コードも参照
[89] SCS—Select Character Set, https://vt100.net/docs/vt510-rm/SCS.html
- [90] 94集合
- 0 DEC Special Graphic
- 5 Finnish NRCS
- 6 Norwegian/Danish NRCS
- 7 Swedish NRCS
- 9 French Canadian NRCS
- < User-preferred Supplemental
- = Swiss NRCS
- > DEC Technical Character Set
- " 4 DEC Hebrew
- " > Greek NRCS
- " ? DEC Greek
- % 0 DEC Turkish
- % 2 Turkish NRCS
- % 3 SCS NRCS
- % 5 DEC Supplemental
- % 6 Portuguese NRCS
- % = Hebrew NRCS
- & 4 DEC Cyrillic
- & 5 Russian NRCS
- [91] 96集合
- < User-preferred Supplemental
[93] contra/memo.txt at master · akinomyoga/contra · GitHub, https://github.com/akinomyoga/contra/blob/master/memo.txt#L1313
RLogin は private 94 charsets の "1" として DEC_TCS を実装しているが、
然し一方で https://vt100.net/docs/vt510-rm/SCS.html によると、DEC_TCS は "<" である。
[57] 次のものは、 ISO-IR に登録された終端バイトも私用の文字集合に
「fall back」するとされます。
>>55
(指示されたビット組合せは必ずしも互換ではない)
- 4/3 → DEC Finnish
- 5/1 → DEC French Canadian
- 4/5 → DEC Norwegian/Danish
- 4/8 → DEC Swedish
[92] >>89 では >>57 の4種に加えて 6/0 も Norwegian/Danish NRCS。
[96]
大韓民国版 DOS >>94
- ESC $ ) 1 = ハングル入力モード
- ESC ( 2 = 英語入力モード
[56] DEC漢字関係:
[61] libmoe: DOCS
[84] ecma35lib: DOCS
,
IRR
も参照。
[85] ISO/IEC 2022 は IRR
の Fp
を明確には規定していませんが、一部で使われています。
Fp
[78]
早稲田国際化多言語処理環境が
ISO 2022
ベースだったらしいのですが、
ISO-IR
にない文字いろいろに対応していたというのでもしかすると
Fp
を使っていたのかもしれませんが、ほとんど情報がなく不明です。
[102]
skf はドキュメントで
vi) 携帯電話絵文字などの関係で、IANA と無関係の私用コードセットが幾つか定義されてお
り、呼び出し可能である。
としています。 >>101 具体的には明記されていませんが、
skf_2.00.17.tar.xz
のソースコード in_code_table.c
によると、
/* ESC-$-? : shorten multibyte sequence */
/* following set is not iso-2022 compliant, but can't distinguish */
{'G',1,128,vodafone_p1_uni_byte,COD_MB,NULL,L_JP,NULL,
"Vodafone picture page1",NULL},
{'E',1,128,vodafone_p2_uni_byte,COD_MB,NULL,L_JP,NULL,
"Vodafone picture page2",NULL},
{'F',1,128,vodafone_p3_uni_byte,COD_MB,NULL,L_JP,NULL,
"Vodafone picture page3",NULL},
{'O',1,128,vodafone_p4_uni_byte,COD_MB,NULL,L_JP,NULL,
"Vodafone picture page4",NULL},
{'P',1,128,vodafone_p5_uni_byte,COD_MB,NULL,L_JP,NULL,
"Vodafone picture page5",NULL},
{'Q',1,128,vodafone_p6_uni_byte,COD_MB,NULL,L_JP,NULL,
"Vodafone picture page6",NULL},
{'b',2,ISOMB_CODE_END,cp932_uni_byte,COD_MB,NULL,M_JP,NULL,
NULL,"MS cp932"}, /* cp932 as documented */
{'i',2,ISOMB_CODE_END,cp943_uni_byte,COD_MB,NULL,M_JP,NULL,
NULL,"IBM cp943"}, /* cp943: OS/2 and AS/400 */
{'j',2,ISOMB_CODE_END,cp932w_uni_byte,COD_MB,NULL,M_JP,NULL,
NULL,"MS cp932w"}, /* cp932 + wchar compatibility */
{'B',2,ISOMB_CODE_END,cp932_uni_byte,COD_MB,NULL,M_JP,NULL,
NULL,"MS cp932-DMY"}, /* cp932-JIS dummy entry */
/* ESC-$-F : private sequence (F < '@') */
{0x38,4,0,NULL,(COD_PRIV | COD_MB | COD_MB_4),NULL,
L_NU,NULL,NULL,NULL}, /* arib graphic1 */
{0x39,4,0,NULL,(COD_PRIV | COD_MB | COD_MB_4),NULL,
L_NU,NULL,NULL,NULL}, /* arib graphic2 */
{0x3a,4,0,NULL,(COD_PRIV | COD_MB | COD_MB_4),NULL,
L_NU,NULL,NULL,NULL}, /* arib kanjiadd */
{0x3f,2,0,NULL,(COD_PRIV | COD_MB | COD_MB_4),NULL,
L_NU,NULL,NULL,NULL}, /* iso-2022-jp-ms */
が定義されています。