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
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
|
==================================================
== PXbase バンドル v0.5 <2010/06/15> ==
== by「ZR」(八登 崇之/Takayuki YATO)==
== <zrbabbler@yahoo.co.jp> ==
==================================================
(This file is encoded in UTF-8,)
-----------------------------------------------------
pxcjkcat パッケージ (v0.4a) -- 和文文字カテゴリ操作
-----------------------------------------------------
■ 対応環境
upLaTeX2e (v0.11 以降)
■ 読込
\usepackage[<オプション>]{pxcjkcat}
オプションとして以下のものが指定できる。
ccv1
「モード CCV」を 1 (upTeX v0.11~0.28 と互換)とする。
ccv2
「モード CCV」を 2 (upTeX v0.29 以降と互換)とする。
※「モード CCV」については後で詳述する。
\cjkcategorymode で有効なモード値
kcatcode がモードに従って設定される。これ以外の場合は、パッケージ
読込時の kcatcode の変更はない。
■ 機能
\cjkcategory{<ブロック>,...}{<カテゴリ>}
<ブロック> で表される文字ブロック(複数指定が可能)の kcatcode を
<カテゴリ> に変更する。<ブロック> は「ブロック ID (後述)」または
「ASCII 以外の文字」で指定され、後者の場合はその文字の属するブロック
を指す。<カテゴリ> は以下に示す様に「カテゴリ ID」または数値で指定
する。この変更は局所的(グルーピングに従う)である。
- noncjk (15): 欧文扱い
- kanji [または han] (16): 漢字扱い
- kana (17): 仮名扱い
- cjk (18): 「その他の和文」扱い
- hangul (19): ハングル扱い
ブロック ID の一覧および各々のカテゴリの意味については後掲。
\cjkcategorymode{<モード>}
全てのブロックの kcatcode の一括設定を行う。モードには以下のものが
ある。後に揚げるものほど noncjk であるブロックが増える。各モードで
の具体的な設定値については「各モードでの kcatcode の値」の節を参照。
- forcecjk : upTeX の既定の設定と同じ。(ただし「文字分類バージョン」
による小さい差異がある。詳細については「文字分類バージョン」の節を
参照。) ASCII 文字のみ noncjk で他のブロックは全て和文扱い(noncjk
以外; 具体的な値は後述)。和文フォントの中の Unicode 値の割当がある
全ての文字を和文文字として直接用いることができる。
- prefercjk : 和文扱いのブロックとして、forcecjk のものに加えて、
Adobe の定める CJK 文字集合(Adobe-Japan1, Adobe-GB1, Adobe-CNS1,
Adobe-Korea1)の何れかと共通部分をもつ文字ブロックのみを加えて
(具体的な値は forcecjk と同じ)、残りを noncjk に設定する。
- prefercjkvar : prefercjk とほぼ同じで、違いは grek, grek1, cyrl
の 3 つ(結果的にギリシャ・キリル文字の全て)が noncjk であること。
- prefernoncjk : 以下に掲げる「必要最低限」のブロックを除き、全てを
noncjk にする。
* kanji: 漢字・部首・注音字母: hani, haniA, haniB, haniC, hani1,
hani2, cjk01, cjk02, cjk03, cjk05, cjk06, bopo, bopo1.
* kana: ひらがな・カタカナ: hira, kana, kana1.
* cjk: CJK 記号の一部・全角/半角互換形・彝文字: cjk04, cjk08,
cjk07, cjk09, cjk10, cjk11, cjk12, cjk13, sym15, yiii, yiii1.
* hangul: ハングル完成形・ハングル字母: hang, hang1, hang2, hangA,
hangB.
※モード CCV が 2 の場合、cjk12 の再分割の中の cjk1b, cjk1c は
kana に変更される。
■ kcatcode の値の意味
upTeX (v0.11~) では Unicode 文字を複数の文字ブロックに分類し、各文字
ブロック毎に kcatcode と呼ばれるパラメタを持たせている。(文字ブロック
の分類は Unicode 文字ブロックとほぼ一致する。) これはそのブロックに
属する文字が入力ソース中に現れた時の upTeX の字句解析の動作を規定する。
なお以下では、入力文字コードが UTF-8 であると仮定する。また文字が属する
ブロックの kcatcode のことを単にその文字の kcatcode と呼ぶ。
(1) ある文字の kcatcode が 15 (noncjk) である場合、その文字は和文文字
として扱われず、UTF-8 表現のバイト列とみなされる。字句解析の結果は
それらのバイトの catcode の値に依存する。例えば、文字 α(U+03B1) の
kcatcode が 15 の状態で α がソースに現れたら、欧文 TeX において
^^8e^^b1 というバイト列が現れた時と同じ結果になる。ここで inputenc
で utf8 (または utf8x) を指定してあれば、inputenc における「文字 α」
の処理に回るはずである。
(2) ある文字の kcatcode が 15 以外である場合、その文字は 1 つの文字と
して扱われ、次の catcode をもつ文字と同様に字句解析される。
- kcatcode が 18 (cjk) → catcode 12 と同様
- kcatcode が 16, 17, 19 → catcode 11 と同様
そして、コントロールシーケンスの一部でないと判断された場合は、それ
は指定された kcatcode を保持する和文文字トークンとなる。
(3) kcatcode が 16, 17, 18 の和文文字トークンの直後の改行文字は無視
される(pTeX の和文と同じ)。kcatcode が 19 の和文文字トークンの直後
の改行文字は空白トークンとなる(欧文と同じ)。これはハングルかななる
文書の組版に好都合だからである。
補足:
- ASCII 文字は常に欧文 TeX と同じ扱いになる。従って、ASCII ブロック
(latn) の kcatcode 指定は意味をもたない。
- kcatcode を表す upTeX のプリミティブは \kcatcode<数値> で、これは
その数値を符号位置とする文字が属するブロックの kcatcode を指し示す
レジスタを表す。
■ 文字分類バージョン
upTeX での文字ブロックの分割(および各ブロックの kcatcode 値の既定値)は
改版時に変更され、これが互換性の問題を起こす可能性がある。
a. Unicode の改版での文字ブロックの追加に追随する為の変更。
b. 複数の文字種が混在する 1 つの Unicode 文字ブロックに対し、その中
で文字種により処理を変えたいとする要望に応えるための Unicode 文字
ブロックの再分割。例えば v0.29 の改版では Halfwidth and Fullwidth
Forms (ブロックID cjk12)が「再分割」されている。
本パッケージでは、ブロックの分割の互換性について以下の方針を採る。
- a のタイプの変更は「ある版の upTeX で未対応の文字ブロックの文字は
その版では決して使われない」ことを仮定すれば互換性を損なうことが
ない。従って、これに対しては特に対策を行わない。
- b のタイプの変更(「再分割」と呼ぶ)は、既存のソースの動作を変更
することになるので、これに対しては互換性の為の対策を行う。
- ブロック ID を用いたブロック指定については、その対象文字集合が
upTeX の版により変わらないようにする。
- モード指定(\cjkcategorymode)を行う場合は、それによる kcatcode の
設定値が upTeX の版により変わらないようにする。(ただし、その版に
対応する Unicode の版で追加された文字を除く。)
- パッケージを読み込むだけでは kcatcode への変更は一切行われない。
従って、この場合の設定値は当然 upTeX の版に依存する。
具体的な対応をこれから述べる。まず、文字ブロックの「再分割」の違いを
「文字分類バージョン(CCV;Character Category Version)」と呼ぶことに
する。現状では次のものが存在する。
CCV 1 : upTeX v0.11 での定義
CCV 2 : upTeX v0.29 での定義
その上で、分割の変更について、以下のように対応する。ここでは CCV 2 に
おける cjk12 の再分割を例にする。
- cjk12 の再分割に関しては、再分割後のブロックに新たに ID を与える
(cjk1a, cjk1b, cjk1c)。cjk12 も引き続き使用可能である。CCV が 2
以降の upTeX で cjk12 の kcatcode を変更する場合には、内部では
cjk1a~cjk1c を同時に変更する動作を行う。当然ながら CCV 1 の upTeX
では cjk1a~cjk1c の指定は使えない。
CCV 2 では分割が変更されただけでなく、cjk1b と cjk1c の kcatcode の
既定値が 18(cjk) から 17(kana) に変更される。本パッケージでのモード
設定における kcatcode の設定値は upTeX の既定値を基礎としていて、特に
forcecjk は既定値と全く同じ設定としている。既定値の変更については以下
のように対応する。
- パッケージオプションにおいて、「モード設定の際の設定値の基礎とする
CCV」(これを「モード CCV」と呼ぶ)を指定できるようにする。すなわち
'ccvN' (N=1~2) でモード CCV が N になる。
- forcecjk の設定値は CCV が「モード CCV」である upTeX の既定値と
一致する。それ以外のモードの設定値もそれに応じて変わる。
- モード CCV の既定値は 1 とする。従って、*モード設定を使用した場合*
は、kcatcode の設定値は用いる upTeX の CCV に依存しない。
- モード設定オプション無しでパッケージを読み込んだだけの場合は、
kcatcode の設定は何も変更されない。従ってこの場合の設定値は用いる
upTeX の CCV に依存する。
例として次の場合を考える。
[upTeX の CCV が 1]
(1a) \usepackage{pxcjkcat}
(1b) \usepackage[forcecjk]{pxcjkcat}
(1c) \usepackage[ccv1,forcecjk]{pxcjkcat}
[upTeX の CCV が 2]
(2a) \usepackage{pxcjkcat}
(2b) \usepackage[forcecjk]{pxcjkcat}
(2c) \usepackage[ccv1,forcecjk]{pxcjkcat}
(2d) \usepackage[ccv2,forcecjk]{pxcjkcat}
(1a)(1b)(1c)(2b)(2c) は CCV 1 の既定値、(2a)(2d) は CCV 2 の既定値と
同じ値に設定される。
最後の注意点として、\cjkcategory でブロック指定に「文字」を使った場合
は単純にその文字の属する文字ブロックとみなされ、その動作は用いる upTeX
の CCV に依存し、モード CCV とは無関係である。
■ Unicode ブロック ID 一覧
文字分類バージョン(CCV) 1 でのブロック。ただし [2] の注釈を付したもの
は CCV 2 の upTeX で追加されたブロックである(先述の通り、Unicode 文字
ブロック追加による変更に関しては CCV は関知しない)。CCV 1 の upTeX で
は、例えば nkoo の範囲は実際には U+07C0~08FF となる。
ID Unicode 範囲 名称
latn 0000 .. 007F Basic Latin
latn1 0080 .. 00FF Latin-1 Supplement
latnA 0100 .. 017F Latin Extended-A
latnB 0180 .. 024F Latin Extended-B
latn2 0250 .. 02AF IPA Extensions
sym01 02B0 .. 02FF Spacing Modifier Letters
sym02 0300 .. 036F Combining Diacritical Marks
grek 0370 .. 03FF Greek and Coptic
cyrl 0400 .. 04FF Cyrillic
cyrl1 0500 .. 052F Cyrillic Supplement
armn 0530 .. 058F Armenian
hebr 0590 .. 05FF Hebrew
arab 0600 .. 06FF Arabic
syrc 0700 .. 074F Syriac
arab1 0750 .. 077F Arabic Supplement
thaa 0780 .. 07BF Thaana
nkoo 07C0 .. 07FF NKo
samr [2] 0800 .. 08FF Samaritan
deva 0900 .. 097F Devanagari
beng 0980 .. 09FF Bengali
guru 0A00 .. 0A7F Gurmukhi
gujr 0A80 .. 0AFF Gujarati
orya 0B00 .. 0B7F Oriya
taml 0B80 .. 0BFF Tamil
telu 0C00 .. 0C7F Telugu
knda 0C80 .. 0CFF Kannada
mlym 0D00 .. 0D7F Malayalam
sinh 0D80 .. 0DFF Sinhala
thai 0E00 .. 0E7F Thai
laoo 0E80 .. 0EFF Lao
tibt 0F00 .. 0FFF Tibetan
mymr 1000 .. 109F Myanmar
geor 10A0 .. 10FF Georgian
hang1 1100 .. 11FF Hangul Jamo
ethi 1200 .. 137F Ethiopic
ethi1 1380 .. 139F Ethiopic Supplement
cher 13A0 .. 13FF Cherokee
cans 1400 .. 167F Unified Canadian Aboriginal Syllabics
ogam 1680 .. 169F Ogham
runr 16A0 .. 16FF Runic
tglg 1700 .. 171F Tagalog
hano 1720 .. 173F Hanunoo
buhd 1740 .. 175F Buhid
tagb 1760 .. 177F Tagbanwa
khmr 1780 .. 17FF Khmer
mong 1800 .. 187F Mongolian
cans1 [2] 1880 .. 18FF Unified Canadian Aboriginal Syllabics
Extended
limb 1900 .. 194F Limbu
tale 1950 .. 197F Tai Le
talu 1980 .. 19DF New Tai Lue
khmr1 19E0 .. 19FF Khmer Symbols
bugi 1A00 .. 1A1F Buginese
lana [2] 1A20 .. 1AFF Tai Tham
bali 1B00 .. 1B7F Balinese
sund [2] 1B80 .. 1BFF Sundanese
lepc [2] 1C00 .. 1C4F Lepcha
olck [2] 1C50 .. 1CCF Ol Chiki
sym38 [2] 1CD0 .. 1CFF Vedic Extensions
latn4 1D00 .. 1D7F Phonetic Extensions
latn5 1D80 .. 1DBF Phonetic Extensions Supplement
sym03 1DC0 .. 1DFF Combining Diacritical Marks Supplement
latn3 1E00 .. 1EFF Latin Extended Additional
grek1 1F00 .. 1FFF Greek Extended
sym04 2000 .. 206F General Punctuation
sym05 2070 .. 209F Superscripts and Subscripts
sym06 20A0 .. 20CF Currency Symbols
sym07 20D0 .. 20FF Combining Diacritical Marks for Symbols
sym08 2100 .. 214F Letterlike Symbols
sym09 2150 .. 218F Number Forms
sym10 2190 .. 21FF Arrows
sym11 2200 .. 22FF Mathematical Operators
sym12 2300 .. 23FF Miscellaneous Technical
sym13 2400 .. 243F Control Pictures
sym14 2440 .. 245F Optical Character Recognition
sym15 2460 .. 24FF Enclosed Alphanumerics
sym16 2500 .. 257F Box Drawing
sym17 2580 .. 259F Block Elements
sym18 25A0 .. 25FF Geometric Shapes
sym19 2600 .. 26FF Miscellaneous Symbols
sym20 2700 .. 27BF Dingbats
sym21 27C0 .. 27EF Miscellaneous Mathematical Symbols-A
sym22 27F0 .. 27FF Supplemental Arrows-A
brai 2800 .. 28FF Braille Patterns
sym23 2900 .. 297F Supplemental Arrows-B
sym24 2980 .. 29FF Miscellaneous Mathematical Symbols-B
sym25 2A00 .. 2AFF Supplemental Mathematical Operators
sym26 2B00 .. 2BFF Miscellaneous Symbols and Arrows
glag 2C00 .. 2C5F Glagolitic
latnC 2C60 .. 2C7F Latin Extended-C
copt 2C80 .. 2CFF Coptic
geor1 2D00 .. 2D2F Georgian Supplement
tfng 2D30 .. 2D7F Tifinagh
ethi2 2D80 .. 2DDF Ethiopic Extended
cyrlA [2] 2DE0 .. 2DFF Cyrillic Extended-A
sym27 2E00 .. 2E7F Supplemental Punctuation
cjk01 2E80 .. 2EFF CJK Radicals Supplement
cjk02 2F00 .. 2FEF Kangxi Radicals
cjk03 2FF0 .. 2FFF Ideographic Description Characters
cjk04 3000 .. 303F CJK Symbols and Punctuation
hira 3040 .. 309F Hiragana
kana 30A0 .. 30FF Katakana
bopo 3100 .. 312F Bopomofo
hang2 3130 .. 318F Hangul Compatibility Jamo
cjk05 3190 .. 319F Kanbun
bopo1 31A0 .. 31BF Bopomofo Extended
cjk06 31C0 .. 31EF CJK Strokes
kana1 31F0 .. 31FF Katakana Phonetic Extensions
cjk07 3200 .. 32FF Enclosed CJK Letters and Months
cjk08 3300 .. 33FF CJK Compatibility
haniA 3400 .. 4DBF CJK Unified Ideographs Extension A
sym28 4DC0 .. 4DFF Yijing Hexagram Symbols
hani 4E00 .. 9FFF CJK Unified Ideographs
yiii A000 .. A48F Yi Syllables
yiii1 A490 .. A4CF Yi Radicals
lisu [2] A4D0 .. A4FF Lisu
vaii [2] A500 .. A63F Vai
cyrlB [2] A640 .. A69F Cyrillic Extended-B
bamu [2] A6A0 .. A6FF Bamum
sym29 A700 .. A71F Modifier Tone Letters
latnD A720 .. A7FF Latin Extended-D
sylo A800 .. A82F Syloti Nagri
sym39 [2] A830 .. A83F Common Indic Number Forms
phag A840 .. AB7F Phags-pa
saur [2] A880 .. A8DF Saurashtra
deva1 [2] A8E0 .. A8FF Devanagari Extended
kali [2] A900 .. A92F Kayah Li
rjng [2] A930 .. A95F Rejang
hangA [2] A960 .. A97F Hangul Jamo Extended-A
java [2] A980 .. A9FF Javanese
cham [2] AA00 .. AA5F Cham
mymrA [2] AA60 .. AA7F Myanmar Extended-A
tavt [2] AA80 .. ABBF Tai Viet
mtei [2] ABC0 .. ABFF Meetei Mayek
hang AC00 .. D7AF Hangul Syllables
hangB [2] D7B0 .. D7FF Hangul Jamo Extended-B
spc01 D800 .. DB7F High Surrogates
spc02 DB80 .. DBFF High Private Use Surrogates
spc03 DC00 .. DFFF Low Surrogates
spc04 E000 .. F8FF Private Use Area
hani1 F900 .. FAFF CJK Compatibility Ideographs
latn6 FB00 .. FB4F Alphabetic Presentation Forms
arab2 FB50 .. FDFF Arabic Presentation Forms-A
spc05 FE00 .. FE0F Variation Selectors
cjk09 FE10 .. FE1F Vertical Forms
sym30 FE20 .. FE2F Combining Half Marks
cjk10 FE30 .. FE4F CJK Compatibility Forms
cjk11 FE50 .. FE6F Small Form Variants
arab3 FE70 .. FEFF Arabic Presentation Forms-B
cjk12 FF00 .. FFEF Halfwidth and Fullwidth Forms
spc06 FFF0 .. FFFF Specials
linb 10000 .. 1007F Linear B Syllabary
linb1 10080 .. 100FF Linear B Ideograms
sym31 10100 .. 1013F Aegean Numbers
grek2 10140 .. 1018F Ancient Greek Numbers
sym40 [2] 10190 .. 101CF Ancient Symbols
sym41 [2] 101D0 .. 1027F Phaistos Disc
lyci [2] 10280 .. 1029F Lycian
cari [2] 102A0 .. 102FF Carian
ital 10300 .. 1032F Old Italic
goth 10330 .. 1037F Gothic
ugar 10380 .. 1039F Ugaritic
xpeo 103A0 .. 103FF Old Persian
dsrt 10400 .. 1044F Deseret
shaw 10450 .. 1047F Shavian
osma 10480 .. 107FF Osmanya
cprt 10800 .. 1083F Cypriot Syllabary
armi [2] 10840 .. 108FF Imperial Aramaic
phnx 10900 .. 1091F Phoenician
lydi [2] 10920 .. 109FF Lydian
khar 10A00 .. 10A5F Kharoshthi
sarb [2] 10A60 .. 10AFF Old South Arabian
avst [2] 10B00 .. 10B3F Avestan
prti [2] 10B40 .. 10B5F Inscriptional Parthian
phli [2] 10B60 .. 10BFF Inscriptional Pahlavi
orkh [2] 10C00 .. 10E5F Old Turkic
sym42 [2] 10E60 .. 1107F Rumi Numeral Symbols
kthi [2] 11080 .. 11FFF Kaithi
xsux 12000 .. 123FF Cuneiform
xsux1 12400 .. 12FFF Cuneiform Numbers and Punctuation
egyp [2] 13000 .. 1CFFF Egyptian Hieroglyphs
sym32 1D000 .. 1D0FF Byzantine Musical Symbols
sym33 1D100 .. 1D1FF Musical Symbols
sym34 1D200 .. 1D2FF Ancient Greek Musical Notation
sym35 1D300 .. 1D35F Tai Xuan Jing Symbols
sym36 1D360 .. 1D3FF Counting Rod Numerals
sym37 1D400 .. 1EFFF Mathematical Alphanumeric Symbols
sym43 [2] 1F000 .. 1F02F Mahjong Tiles
sym44 [2] 1F030 .. 1F0FF Domino Tiles
sym45 [2] 1F100 .. 1F1FF Enclosed Alphanumeric Supplement
cjk13 [2] 1F200 .. 1FFFF Enclosed Ideographic Supplement
haniB 20000 .. 2A6FF CJK Unified Ideographs Extension B
haniC [2] 2A700 .. 2F7FF CJK Unified Ideographs Extension C
hani2 2F800 .. 2FFFF CJK Compatibility Ideographs Supplement
spc07 E0000 .. E00FF Tags
spc08 E0100 .. EFFFF Variation Selectors Supplement
spc09 F0000 .. FFFFF Supplementary Private Use Area-A
spc10 100000 .. 10FFFF Supplementary Private Use Area-B
※ ID の命名規則
- Unicode ブロック名にスクリプト(用字系)の名前が含まれるものは、それ
に対する ISO 15924 のコードを用いた。単一のスクリプトのブロックが
複数ある場合は、名前が "Extended-A, B, ..." のものは A, B, ... を、
それ以外のものは 1, 2, ... (一部符号値順でない)を末尾に付加した。
"Arabic" → arab ; "Latin Extended-C" → latnC
なお、Hiragana は hira だが Katakana は kana であることに注意。
- それ以外は、CJK 関係(cjk)、特殊用途(spc)、それ以外(sym)の 3 つに
恣意的に分類して、2 桁の番号を付けた。この番号は基本的に符号値の
順とするが、後から追加されたブロックはそうならない。
CCV 2 では以下の変更がある。
- cjk12 (Halfwidth and Fullwidth Forms) が次の 3 つに分割される。
* cjk1b : U+FF10..U+FF19, U+FF21..U+FF3A, U+FF41..U+FF5A
すなわち ASCII 英数字の全角互換形。
* cjk1c : U+FF66..U+FF6F, U+FF71..U+FF9D
すなわちカタカナの半角互換形。句読点等の記号は含まない。
* cjk1a : cjk12 から cjk1b, cjk1c を除いた残り。
cjk12 の指定も使用可能である。
■ 各モードでの kcatcode の値
モード CCV が 1 の場合。
記号 fc pc pcv pnc JIS CID 名称
latn X - - - * Basic Latin
latn1 O - - X * * Latin-1 Supplement
latnA O - - X * Latin Extended-A
latnB O - - X * Latin Extended-B
latn2 O - - X * IPA Extensions
sym01 O - - X * Spacing Modifier Letters
sym02 O - - X * Combining Diacritical Marks
grek O - X - * * Greek and Coptic
cyrl O - X - * * Cyrillic
hang1 H - - - + Hangul Jamo
latn3 O - - X * Latin Extended Additional
grek1 O - X - * Greek Extended
sym04 O - - X * * General Punctuation
sym05 O - - X * Superscripts and Subscripts
sym06 O - - X * Currency Symbols
sym07 O - - X * Combining Diacritical Marks for Symbols
sym08 O - - X * * Letterlike Symbols
sym09 O - - X * Number Forms
sym10 O - - X * * Arrows
sym11 O - - X * * Mathematical Operators
sym12 O - - X * * Miscellaneous Technical
sym13 O - - X * Control Pictures
sym15 O - - - * Enclosed Alphanumerics
sym16 O - - X * * Box Drawing
sym17 O - - X * Block Elements
sym18 O - - X * * Geometric Shapes
sym19 O - - X * * Miscellaneous Symbols
sym20 O - - X * Dingbats
sym23 O - - X * Supplemental Arrows-B
sym24 O - - X * Miscellaneous Mathematical Symbols-B
sym26 O - - X * Miscellaneous Symbols and Arrows
cjk01 I - - - * CJK Radicals Supplement
cjk02 I - - - * Kangxi Radicals
cjk03 I - - - + Ideographic Description Characters
cjk04 O - - - * * CJK Symbols and Punctuation
hira K - - - * * Hiragana
kana K - - - * * Katakana
bopo I - - - + Bopomofo
hang2 H - - - + Hangul Compatibility Jamo
cjk05 I - - - * Kanbun
bopo1 I - - - + Bopomofo Extended
cjk06 I - - - + CJK Strokes
kana1 K - - - * Katakana Phonetic Extensions
cjk07 O - - - * Enclosed CJK Letters and Months
cjk08 O - - - * CJK Compatibility
haniA I - - - * CJK Unified Ideographs Extension A
hani I - - - * * CJK Unified Ideographs
yiii O - - - + Yi Syllables
yiii1 O - - - + Yi Radicals
hangA H - - - Hangul Jamo Extended-B
hang H - - - + Hangul Syllables
hangB H - - - Hangul Jamo Extended-B
spc04 O - - X * Private Use Area
hani1 I - - - * CJK Compatibility Ideographs
latn6 O - - X * Alphabetic Presentation Forms
cjk09 O - - - * Vertical Forms
cjk10 O - - - * CJK Compatibility Forms
cjk11 O - - - + Small Form Variants
cjk12 O - - - * * Halfwidth and Fullwidth Forms
cjk13 O - - - Enclosed Ideographic Supplement
haniB I - - - * CJK Unified Ideographs Extension B
haniC I - - - CJK Unified Ideographs Extension C
hani2 I - - - * CJK Compatibility Ideographs Supplement
O X - - (その他のブロック)
all, prc, pc1, pnc の欄はそれぞれ forcecjk, prefercjk, prefercjkvar,
prefernoncjk モードでの kcatcode の値。値の意味: X=noncjk(15),
I=kanji(16), K=kana(17), O=cjk(18), H=hangul(19)。JIS 欄の * はその
ブロック内の文字に JIS X 0208 に含まれるものがあることを示す。また CID
欄の * は Adobe-Japan1 に、+ は Adobe-GB1, Adobe-CNS1, Adobe-Korea1 に
含まれるものがあることを示す。
モード CCV が 2 の場合、cjk12 の再分割について以下のようになる。
記号 fc pc pcv pnc JIS CID
cjk1a O - - - * * cjk12 で cjk1b, cjk1c 以外
cjk1b K - - - * * ASCII 英数字の全角互換形
cjk1c K - - - * * カタカナの半角互換形(記号は含まず)
※ upTeX の CCV が 2 でモード CCV 指定が 1 の場合は cjk1a~cjk1c の
設定値は cjk12 のものに従う。
■ 更新履歴
README ファイルを参照。
# EOF
|