(=>>daikanwa): New coded-charset for XEmacs CHISE.
[chise/xemacs-chise.git.1] / lisp / mule / mule-conf.el
1 ;;; mule-conf.el --- configure multilingual environment
2
3 ;; Copyright (C) 1995,1999 Electrotechnical Laboratory, JAPAN.
4 ;; Licensed to the Free Software Foundation.
5 ;; Copyright (C) 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 2008,
6 ;;   2009, 2010 MORIOKA Tomohiko
7
8 ;; Keywords: mule, multilingual, character set, coding system
9
10 ;; This file is part of XEmacs.
11
12 ;; XEmacs is free software; you can redistribute it and/or modify
13 ;; it under the terms of the GNU General Public License as published by
14 ;; the Free Software Foundation; either version 2, or (at your option)
15 ;; any later version.
16
17 ;; XEmacs is distributed in the hope that it will be useful,
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20 ;; GNU General Public License for more details.
21
22 ;; You should have received a copy of the GNU General Public License
23 ;; along with XEmacs; see the file COPYING.  If not, write to the
24 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
25 ;; Boston, MA 02111-1307, USA.
26
27 ;;; Code:
28
29 (cond
30  ((featurep 'utf-2000)
31   (make-charset
32    '=jis-x0208@1978
33    "JIS X 0208:1978, unchanged part."
34    '(registry "jisx0208\\.1978"
35               dimension 2
36               chars 94
37               mother =jis-x0208
38               =>iso-ir 42
39               final ?@
40               graphic 0
41               partial t))
42   (make-charset
43    '=jis-x0208@1978/-4pr
44    "JIS X 0208:1978, 1st - 3rd impressions."
45    '(registry "jisx0208\\.1978"
46               dimension 2
47               chars 94
48               mother =jis-x0208@1978
49               =>iso-ir 42
50               final ?@
51               graphic 0
52               partial t))
53   (make-charset
54    '=jis-x0208@1978/1pr
55    "JIS X 0208:1978, 1st impression."
56    '(iso-ir 42
57             registry "jisx0208\\.1978"
58             dimension 2
59             chars 94
60             mother =jis-x0208@1978/-4pr
61             final ?@
62             graphic 0))
63   (make-charset
64    '=jis-x0208@1978/-4X
65    "JIS X 0208:1978, index before the 4th impression."
66    '(registry "jisx0208\\.1978"
67               dimension 2
68               chars 94
69               mother =jis-x0208@1978
70               =>iso-ir 42
71               ;; final ?@
72               graphic 0
73               partial t))
74   (make-charset
75    '=jis-x0208@1978/1er-pr
76    "JIS X 0208:1978, fixed by errata [Nov 1978]."
77    '(registry "jisx0208\\.1978"
78               dimension 2
79               chars 94
80               mother =jis-x0208@1978
81               =>iso-ir 42
82               ;; final ?@
83               graphic 0
84               partial t))
85   (make-charset
86    '=jis-x0208@1978/2-pr
87    "JIS X 0208:1978, 2nd impression or later."
88    '(registry "jisx0208\\.1978"
89               dimension 2
90               chars 94
91               mother =jis-x0208@1978/1er-pr
92               =>iso-ir 42
93               ;; final ?@
94               graphic 0
95               partial t))
96   (make-charset
97    '=jis-x0208@1978/4er
98    "JIS X 0208:1978, replaced by errata of 4th impression."
99    '(registry "jisx0208\\.1978"
100               dimension 2
101               chars 94
102               mother =jis-x0208@1978/2-pr
103               =>iso-ir 42
104               ;; final ?@
105               graphic 0
106               partial t))
107   (make-charset
108    '=jis-x0208@1978/4-pr
109    "JIS X 0208:1978, 4th impression or later."
110    '(registry "jisx0208\\.1978"
111               dimension 2
112               chars 94
113               mother =jis-x0208@1978/2-pr
114               =>iso-ir 42
115               ;; final ?@
116               graphic 0
117               partial t))
118   (make-charset
119    '=jis-x0208@1978/5pr
120    "JIS X 0208:1978, 5th impression."
121    '(registry "jisx0208\\.1978"
122               dimension 2
123               chars 94
124               mother =jis-x0208@1978/4-pr
125               =>iso-ir 42
126               ;; final ?@
127               graphic 0
128               partial t))
129   (define-charset-alias '=jis-x0208@1978/i1 '=jis-x0208@1978/1pr)
130   (define-charset-alias '=jis-x0208@1978/i-4 '=jis-x0208@1978/-4pr)
131   (define-charset-alias '=jis-x0208@1978/i4- '=jis-x0208@1978/4-pr)
132   )
133  (t
134   (make-charset
135    '=jis-x0208@1978
136    "JIS X0208:1978 Japanese Kanji (so called \"old JIS\")."
137    '(iso-ir 42
138             registry "jisx0208\\.1978"
139             dimension 2
140             chars 94
141             mother =jis-x0208
142             final ?@
143             graphic 0))
144   ))
145
146 (define-charset-alias '=jis-x0208-1978          '=jis-x0208@1978)
147 (define-charset-alias 'japanese-jisx0208-1978   '=jis-x0208@1978)
148 (define-charset-alias 'chinese-gb2312           '=gb2312)
149 (define-charset-alias '=jis-x0208-1983          '=jis-x0208@1983)
150 (define-charset-alias 'japanese-jisx0208        '=jis-x0208@1983)
151 (define-charset-alias 'korean-ksc5601           '=ks-x1001)
152 (define-charset-alias 'japanese-jisx0212        '=jis-x0212)
153 (define-charset-alias 'chinese-cns11643-1       '=cns11643-1)
154 (define-charset-alias 'chinese-cns11643-2       '=cns11643-2)
155 (define-charset-alias 'chinese-gb12345          '=gb12345)
156 (define-charset-alias 'chinese-big5             '=big5)
157
158 ;; PinYin-ZhuYin
159 (make-charset 'sisheng "PinYin-ZhuYin"
160               '(registry "sisheng_cwnn\\|OMRON_UDC_ZH"
161                 dimension 1
162                 chars 94
163                 final ?0
164                 graphic 0
165                 ))
166
167 ;; Lao script.
168 ;; ISO10646's 0x0E80..0x0EDF are mapped to 0x20..0x7F.
169 (make-charset 'lao "Lao script"
170               '(registry "MuleLao-1"
171                 dimension 1
172                 chars 94
173                 final ?1
174                 graphic 1))
175
176 ;; IPA (International Phonetic Alphabet)
177 (make-charset 'ipa "International Phonetic Alphabet"
178               '(registry "MuleIPA"
179                 dimension 1
180                 chars 96
181                 final ?0
182                 graphic 1))
183
184 ;; Ethiopic
185 (make-charset 'ethiopic "Ethiopic"
186               '(registry "Ethio"
187                 dimension 2
188                 chars 94
189                 final ?3
190                 graphic 0
191                 ))
192
193 ;; ISO-IR-165 (CCITT Extended GB)
194 ;;    It is based on CCITT Recommendation T.101, includes GB 2312-80 +
195 ;;    GB 8565-88 table A4 + 293 characters.
196 (if (featurep 'utf-2000)
197     (progn
198       (make-charset '=iso-ir165
199                     "ISO-IR-165 (CCITT Extended GB; Chinese simplified)"
200                     '(iso-ir 165
201                              dimension 2
202                              chars 94
203                              mother =gb2312
204                              final ?E
205                              registry "isoir165"
206                              graphic 0))
207       (define-charset-alias 'chinese-isoir165 '=iso-ir165))
208   (make-charset 'chinese-isoir165
209                 "ISO-IR-165 (CCITT Extended GB; Chinese simplified)"
210                 '(iso-ir 165
211                          dimension 2
212                          chars 94
213                          final ?E
214                          registry "isoir165"
215                          graphic 0)))
216
217 ;; CNS11643 Plane3 thru Plane7
218 ;; These represent more and more obscure Chinese characters.
219 ;; By the time you get to Plane 7, we're talking about characters
220 ;; that appear once in some ancient manuscript and whose meaning
221 ;; is unknown.
222
223 (flet
224     ((make-chinese-cns11643-charset
225       (name iso-ir plane final)
226       (make-charset
227        name (concat "CNS 11643 Plane " plane " (Chinese traditional)")
228        `(iso-ir ,iso-ir
229          registry 
230          ,(concat "CNS11643[.-]\\(.*[.-]\\)?" plane "$")
231          dimension 2
232          chars 94
233          final ,final
234          graphic 0))
235       ))
236   (make-chinese-cns11643-charset '=cns11643-3 183 "3" ?I)
237   (make-chinese-cns11643-charset '=cns11643-4 184 "4" ?J)
238   (make-chinese-cns11643-charset '=cns11643-5 185 "5" ?K)
239   (make-chinese-cns11643-charset '=cns11643-6 186 "6" ?L)
240   (make-chinese-cns11643-charset '=cns11643-7 187 "7" ?M)
241   (define-charset-alias 'chinese-cns11643-3     '=cns11643-3)
242   (define-charset-alias 'chinese-cns11643-4     '=cns11643-4)
243   (define-charset-alias 'chinese-cns11643-5     '=cns11643-5)
244   (define-charset-alias 'chinese-cns11643-6     '=cns11643-6)
245   (define-charset-alias 'chinese-cns11643-7     '=cns11643-7)
246   )
247
248 ;; JIS X 0213:2000
249 (cond
250  ((featurep 'utf-2000)
251   (make-charset
252    '=jis-x0213-1
253    "JIS X 0213 Plain 1 (unchanged part)"
254    '(registry "jisx0213\\(\\.[0-9]+\\)?-1"
255               dimension 2
256               chars 94
257               =>iso-ir 228
258               final ?O
259               graphic 0
260               partial t))
261
262   (make-charset
263    '=jis-x0213-1@2000
264    "JIS X 0213:2000 Plain 1"
265    '(iso-ir 228
266             registry "jisx0213\\(\\.2000\\)-1"
267             dimension 2
268             chars 94
269             mother =jis-x0213-1
270             final ?O
271             graphic 0))
272   (make-charset
273    '=jis-x0213-2
274    "JIS X 0213 Plain 2"
275    '(iso-ir 229
276             registry "jisx0213\\(\\.\\(2000\\|2004\\)\\)?-2"
277             dimension 2
278             chars 94
279             final ?P
280             graphic 0))
281
282   (make-charset
283    '=jis-x0213-1@2004
284    "JIS X 0213:2004 Plain 1"
285    '(iso-ir 233
286             registry "jisx0213\\(\\.2004\\)-1"
287             dimension 2
288             chars 94
289             mother =jis-x0213-1
290             final ?Q
291             graphic 0))
292
293   (define-charset-alias 'japanese-jisx0213-1 '=jis-x0213-1@2000)
294   (define-charset-alias 'japanese-jisx0213-2 '=jis-x0213-2)
295   (define-charset-alias '=jis-x0213-1-2000 '=jis-x0213-1@2000)
296   (define-charset-alias '=jis-x0213-2-2000 '=jis-x0213-2)
297   )
298  (t
299   (make-charset
300    'japanese-jisx0213-1
301    "JIS X 0213:2000 Plain 1"
302    '(registry "jisx0213\\(\\.2000\\)-1"
303               dimension 2
304               chars 94
305               final ?O
306               graphic 0))
307   (make-charset
308    'japanese-jisx0213-2
309    "JIS X 0213:2000 Plain 2"
310    '(registry "jisx0213\\(\\.2000\\)-2"
311               dimension 2
312               chars 94
313               final ?P
314               graphic 0))
315   ))
316
317 (when (featurep 'utf-2000)
318   (define-charset-alias 'ucs '=ucs)
319   (define-charset-alias '=jis-x0208-1990 '=jis-x0208@1990)
320   (define-charset-alias 'japanese-jisx0208-1990 '=jis-x0208@1990)
321
322   (make-charset
323    '=>>jis-x0208
324    "JIS X 0208 abstract glyphs (unchanged part)."
325    '(registry "jisx0208\\.1990"
326               dimension 2
327               chars 94
328               mother =jis-x0208
329               =>iso-ir 168
330               ;; final ?B
331               graphic 0))
332   (make-charset
333    '=>>jis-x0208@1978
334    "JIS X 0208:1978 abstract glyphs (unchanged part)."
335    '(registry "jisx0208\\.1978"
336               dimension 2
337               chars 94
338               mother =>>jis-x0208
339               =>iso-ir 42
340               ;; final ?@
341               graphic 0))
342
343   (make-charset
344    '=>>jis-x0213-1
345    "JIS X 0213 Plain 1 abstract glyphs (unchanged part)"
346    '(registry "jisx0213\\(\\.[0-9]+\\)?-1"
347               dimension 2
348               chars 94
349               mother =jis-x0213-1
350               =>iso-ir 228
351               ;; final ?O
352               graphic 0
353               ;; partial t
354               ))
355   (make-charset
356    '=>>jis-x0213-1@2000
357    "JIS X 0213:2000 Plain 1 abstract glyphs"
358    '(registry "jisx0213\\(\\.2000\\)-1"
359               dimension 2
360               chars 94
361               mother =>>jis-x0213-1
362               =>iso-ir 228
363               ;; final ?O
364               graphic 0
365               ;; partial t
366               ))
367   (make-charset
368    '=>>jis-x0213-2
369    "JIS X 0213 Plain 2 abstract glyphs"
370    '(registry "jisx0213\\(\\.\\(2000\\|2004\\)\\)?-2"
371               dimension 2
372               chars 94
373               mother =jis-x0213-2
374               =>iso-ir 229
375               ;; final ?P
376               graphic 0))
377   (make-charset
378    '=>>jis-x0213-1@2004
379    "JIS X 0213:2004 Plain 1 abstract glyphs"
380    '(registry "jisx0213\\(\\.2004\\)-1"
381               dimension 2
382               chars 94
383               mother =>>jis-x0213-1
384               =>iso-ir 233
385               ;; final ?Q
386               graphic 0
387               ;; partial t
388               ))
389
390   (make-charset
391    '=>jis-x0208
392    "JIS X 0208 based on the unchanged unification rules."
393    '(registry "jisx0208\\.1990"
394               dimension 2
395               chars 94
396               mother =>>jis-x0208
397               =>iso-ir 168
398               ;; final ?B
399               graphic 0))
400   (define-charset-alias '<=>jis-x0208 '=>jis-x0208)
401   (make-charset
402    '=>jis-x0208@1997
403    "JIS X 0208 based on the unification rule of 1997 edition."
404    '(registry "jisx0208\\.1990"
405               dimension 2
406               chars 94
407               mother =>jis-x0208
408               =>iso-ir 168
409               ;; final ?B
410               graphic 0))
411   (define-charset-alias '<=>jis-x0208@1997 '=>jis-x0208@1997)
412   (define-charset-alias '  =jis-x0208@1997 '=>jis-x0208@1997)
413
414   (make-charset
415    '=>jis-x0213-1
416    "JIS X 0213 Plain 1 abstract characters (unchanged part)"
417    '(registry "jisx0213\\(\\.[0-9]+\\)?-1"
418               dimension 2
419               chars 94
420               mother =>>jis-x0213-1
421               =>iso-ir 228
422               ;; final ?O
423               graphic 0
424               ;; partial t
425               ))
426   (define-charset-alias '<=>jis-x0213-1 '=>jis-x0213-1)
427   (make-charset
428    '=>jis-x0213-1@2000
429    "JIS X 0213:2000 Plain 1 abstract characters"
430    '(registry "jisx0213\\(\\.2000\\)-1"
431               dimension 2
432               chars 94
433               mother =>jis-x0213-1
434               =>iso-ir 228
435               ;; final ?O
436               graphic 0
437               ;; partial t
438               ))
439   (define-charset-alias '<=>jis-x0213-1@2000 '=>jis-x0213-1@2000)
440   (make-charset
441    '=>jis-x0213-1@2004
442    "JIS X 0213:2004 Plain 1 abstract characters"
443    '(registry "jisx0213\\(\\.2004\\)-1"
444               dimension 2
445               chars 94
446               mother =>jis-x0213-1
447               =>iso-ir 233
448               ;; final ?Q
449               graphic 0
450               ;; partial t
451               ))
452   (define-charset-alias '<=>jis-x0213-1@2004 '=>jis-x0213-1@2004)
453   (make-charset
454    '=>jis-x0213-2
455    "JIS X 0213 Plain 2 abstract characters"
456    '(registry "jisx0213\\(\\.\\(2000\\|2004\\)\\)?-2"
457               dimension 2
458               chars 94
459               mother =>>jis-x0213-2
460               =>iso-ir 229
461               ;; final ?P
462               graphic 0))
463
464   (make-charset '=big5-cdp
465                 "Big5 with CDP extension"
466                 '(long-name     "Big5-CDP"
467                   chars         256
468                   dimension     2
469                   columns       2
470                   graphic       2
471                   direction     l2r
472                   registry      "big5\\.cdp-0"
473                   mother        chinese-big5
474                   min-code      #x8140
475                   max-code      #x8DFE))
476   (define-charset-alias 'chinese-big5-cdp '=big5-cdp)
477
478   (make-charset '=>>big5-cdp
479                 "Abstract glyphs of Big5-CDP"
480                 '(long-name     "Big5-CDP glyphs"
481                   chars         256
482                   dimension     2
483                   columns       2
484                   graphic       2
485                   direction     l2r
486                   registry      "big5\\.cdp-0"
487                   mother        =big5-cdp))
488
489   (make-charset '=>big5-cdp
490                 "Big5-CDP abstract characters"
491                 '(long-name     "Big5-CDP abstract characters"
492                   chars         256
493                   dimension     2
494                   columns       2
495                   graphic       2
496                   direction     l2r
497                   registry      "big5\\.cdp-0"
498                   mother        =>>big5-cdp))
499
500   (make-charset '=gt
501                 "GT 2000"
502                 `(long-name     "GT"
503                   chars         256
504                   dimension     3
505                   columns       2
506                   graphic       2
507                   direction     l2r
508                   registry      ""
509                   min-code      ,(lsh #x6100 16)
510                   max-code      ,(+ (lsh #x6100 16) 67547)
511                   code-offset   ,(lsh #x6100 16)))
512   (define-charset-alias 'ideograph-gt '=gt)
513   (make-charset '=>>gt
514                 "GT 2000 abstract glyphs"
515                 '(long-name     "GT abstract glyphs"
516                   chars         256
517                   dimension     3
518                   columns       2
519                   graphic       2
520                   direction     l2r
521                   mother        =gt))
522   (define-charset-alias '<=>gt '=>>gt)
523   (define-charset-alias '<==>gt '=>>gt)
524   (make-charset '=>gt
525                 "GT 2000 abstract characters"
526                 '(long-name     "abstract GT characters"
527                   chars         256
528                   dimension     3
529                   columns       2
530                   graphic       2
531                   direction     l2r
532                   mother        =>>gt))
533   (make-charset '=gt-k
534                 "Ideographic components of GT"
535                 `(long-name     "GT components"
536                   chars         256
537                   dimension     2
538                   columns       2
539                   graphic       2
540                   direction     l2r
541                   registry      ""
542                   min-code      ,(lsh #x6110 16)
543                   max-code      ,(+ (lsh #x6110 16) 17090)
544                   code-offset   ,(lsh #x6110 16)))
545   (define-charset-alias 'ideograph-gt-k '=gt-k)
546   (make-charset '=>>gt-k
547                 "abstract glyphs of GT-K"
548                 '(long-name     "GT-K abstract glyphs"
549                   chars         256
550                   dimension     2
551                   columns       2
552                   graphic       2
553                   direction     l2r
554                   mother        =gt-k))
555   (let ((i 1))
556     (while (<= i 11)
557       (make-charset
558        (intern (format "=gt-pj-%d" i))
559        (format "GT 2000 (pseudo JIS encoding) part %d" i)
560        `(long-name ,(format "GT PJ %d" i)
561                    chars 94
562                    dimension 2
563                    columns 2
564                    graphic 0
565                    direction l2r
566                    registry ,(format "\\(GTpj-%d\\|jisx0208\\.GT-%d\\)$" i i)))
567       (define-charset-alias
568         (intern (format "ideograph-gt-pj-%d" i))
569         (intern (format "=gt-pj-%d" i)))
570       (setq i (1+ i))))
571   (make-charset
572    '=gt-pj-k1
573    "Ideographic parts of GT (pseudo JIS encoding) part 1"
574    '(long-name "GT K1"
575                chars 94
576                dimension 2
577                columns 2
578                graphic 0
579                direction l2r
580                registry "\\(GTKpj-1\\|jisx0208\\.GTK-1\\)$"))
581   (define-charset-alias 'ideograph-gt-pj-k1 '=gt-pj-k1)
582   (make-charset
583    '=gt-pj-k2
584    "Ideographic parts of GT (pseudo JIS encoding) part 2"
585    '(long-name "GT K2"
586                chars 94
587                dimension 2
588                columns 2
589                graphic 0
590                direction l2r
591                registry "\\(GTKpj-2\\|jisx0208\\.GTK-2\\)$"))
592   (define-charset-alias 'ideograph-gt-pj-k2 '=gt-pj-k2)
593
594   (make-charset '=daikanwa
595                 "Daikanwa dictionary (unchanged part)"
596                 `(long-name     "Daikanwa"
597                   chars         256
598                   dimension     2
599                   columns       2
600                   graphic       2
601                   direction     l2r
602                   registry      "Daikanwa\\(\\.[0-9]+\\)?-3"
603                   min-code      #xE00000
604                   max-code      ,(+ #xE00000 50100)
605                   code-offset   #xE00000))
606   (define-charset-alias 'ideograph-daikanwa '=daikanwa)
607
608   (make-charset '=daikanwa@rev1
609                 "Daikanwa dictionary (revised version)"
610                 `(long-name     "Daikanwa Rev."
611                   chars         256
612                   dimension     2
613                   columns       2
614                   graphic       2
615                   direction     l2r
616                   registry      "Daikanwa\\(\\.[0-9]+\\)?-2"
617                   mother        =daikanwa
618                   ))
619   (define-charset-alias 'ideograph-daikanwa-2 '=daikanwa@rev1)
620   (define-charset-alias '=daikanwa-rev1 '=daikanwa@rev1)
621
622   (make-charset '=daikanwa@rev2
623                 "Daikanwa dictionary (revised version 2)"
624                 `(long-name     "Daikanwa"
625                   chars         256
626                   dimension     2
627                   columns       2
628                   graphic       2
629                   direction     l2r
630                   registry      "Daikanwa\\(\\.[0-9]+\\)?-3"
631                   mother        =daikanwa
632                   min-code      1
633                   max-code      49964
634                   ;; min-code   #xE00000
635                   ;; max-code   ,(+ #xE00000 50100)
636                   ;; code-offset        #xE00000
637                   ))
638   (define-charset-alias '=daikanwa-rev2 '=daikanwa@rev2)
639
640   (make-charset '=>>daikanwa
641                 "Daikanwa abstract glyphs"
642                 '(long-name     "Daikanwa glyphs"
643                   chars         256
644                   dimension     2
645                   columns       2
646                   graphic       2
647                   direction     l2r
648                   registry      "Daikanwa\\(\\.[0-9]+\\)?-3"
649                   mother        =daikanwa))
650
651   (make-charset '=>daikanwa
652                 "Daikanwa abstract characters"
653                 '(long-name     "abstract Daikanwa"
654                   chars         256
655                   dimension     2
656                   columns       2
657                   graphic       2
658                   direction     l2r
659                   registry      "Daikanwa\\(\\.[0-9]+\\)?-3"
660                   mother        =>>daikanwa))
661
662   (make-charset '=shinjigen
663                 "Kadokawa ShinJigen dictionary (common parts)"
664                 `(long-name     "Shinjigen common parts"
665                   chars         256
666                   dimension     2
667                   columns       2
668                   graphic       2
669                   direction     l2r
670                   registry      "Shinjigen\\(\\.[0-9]+\\)?-*"))
671
672   (make-charset '=shinjigen@1ed
673                 "Kadokawa ShinJigen dictionary (the first edition)"
674                 `(long-name     "Shinjigen-1"
675                   chars         256
676                   dimension     2
677                   columns       2
678                   graphic       2
679                   direction     l2r
680                   mother        =shinjigen
681                   registry      "Shinjigen\\(\\.[0-9]+\\)?-1"))
682   (define-charset-alias 'shinjigen-1 '=shinjigen@1ed)
683
684   (make-charset '=shinjigen@1ed/24pr
685                 "Kadokawa ShinJigen dictionary (the 24th impression)"
686                 `(long-name     "Shinjigen-1 24pr"
687                   chars         256
688                   dimension     2
689                   columns       2
690                   graphic       2
691                   direction     l2r
692                   mother        =shinjigen@1ed))
693
694   (make-charset '=shinjigen@rev
695                 "Kadokawa ShinJigen dictionary (the revised edition)"
696                 `(long-name     "Shinjigen-2"
697                   chars         256
698                   dimension     2
699                   columns       2
700                   graphic       2
701                   direction     l2r
702                   mother        =shinjigen
703                   registry      "Shinjigen\\(\\.[0-9]+\\)?-2"))
704   (define-charset-alias 'shinjigen-2 '=shinjigen@rev)
705   (make-charset '=shinjigen/+p@rev
706                 "ShinJigen (the second edition) number with '"
707                 `(long-name     "Shinjigen-2 with '"
708                   chars         256
709                   dimension     2
710                   columns       2
711                   graphic       2
712                   direction     l2r))
713   (define-charset-alias 'shinjigen-2-p '=shinjigen/+p@rev)
714
715   (make-charset '=big5-pua
716                 "Big5 with private used area"
717                 '(long-name     "Big5-PUA"
718                   chars         256
719                   dimension     2
720                   columns       2
721                   graphic       2
722                   direction     l2r
723                   mother        chinese-big5
724                   registry      "Big5\\.ETEN"))
725   (define-charset-alias 'chinese-big5-pua '=big5-pua)
726   (make-charset '=big5-eten
727                 "Big5 ETEN"
728                 '(long-name     "Big5-ETEN"
729                   chars         256
730                   dimension     2
731                   columns       2
732                   graphic       2
733                   direction     l2r
734                   mother        chinese-big5
735                   min-code      #x8140
736                   max-code      #xFEFE
737                   registry      "Big5\\.ETEN"))
738   (define-charset-alias 'chinese-big5-eten '=big5-eten)
739   (make-charset 'chinese-big5-eten-a
740                 "Big5 ETEN (#xF9D6 .. #xF9FE)"
741                 '(long-name     "Big5-ETEN-a"
742                   chars         256
743                   dimension     2
744                   columns       2
745                   graphic       2
746                   direction     l2r
747                   mother        chinese-big5
748                   min-code      #xF9D6
749                   max-code      #xF9FE
750                   registry      "Big5\\.ETEN"))
751   (make-charset 'chinese-big5-eten-b
752                 "Big5 ETEN (#xC6A1 .. #xC8FE)"
753                 '(long-name     "Big5-ETEN-b"
754                   chars         256
755                   dimension     2
756                   columns       2
757                   graphic       2
758                   direction     l2r
759                   mother        chinese-big5
760                   min-code      #xC6A1
761                   max-code      #xC8FE
762                   registry      "Big5\\.ETEN"))
763
764   (let* ((i 1)
765          (hzk-min (+ (lsh #x6200 16) 65536))
766          (hzk-max (+ hzk-min 65535)))
767     (while (<= i 12)
768       (make-charset
769        (intern (format "=hanziku-%d" i))
770        (format "HANZIKU (pseudo BIG5 encoding) part %d" i)
771        `(long-name ,(format "HANZIKU-%d" i)
772                    chars 256
773                    dimension 2
774                    columns 2
775                    graphic 2
776                    direction l2r
777                    registry ,(format "hanziku-%d$" i i)
778                    min-code ,hzk-min
779                    max-code ,hzk-max
780                    code-offset ,hzk-min))
781       (define-charset-alias
782         (intern (format "ideograph-hanziku-%d" i))
783         (intern (format "=hanziku-%d" i)))
784       (setq hzk-min (1+ hzk-max)
785             hzk-max (+ hzk-min 65535))
786       (setq i (1+ i))))
787
788   (make-charset '=cbeta "CBETA private characters"
789                 '(long-name     "CBETA PUA"
790                   chars         256
791                   dimension     2
792                   registry      "cbeta-0"
793                   graphic       2
794                   min-code      #xE20000
795                   max-code      #xE2FFFF
796                   code-offset   #xE20000
797                   columns       2
798                   direction     l2r))
799   (define-charset-alias 'ideograph-cbeta '=cbeta)
800
801   (make-charset '=zinbun-oracle
802                 "Oracle Bones Script"
803                 `(long-name     "Oracle Bones Script in Zinbun, Kyoto Univ."
804                   chars         256
805                   dimension     2
806                   registry      "zob1968-0"
807                   graphic       2
808                   min-code      #xE70000
809                   max-code      ,(+ #xE70000 8192)
810                   code-offset   #xE70000
811                   columns       2
812                   direction     l2r))
813
814   (make-charset '=>zinbun-oracle
815                 "Abstract Oracle Bones"
816                 '(long-name     "Abstract characters of Zinbun Oracle Bones."
817                   chars         256
818                   dimension     2
819                   mother        =zinbun-oracle
820                   registry      "zob1968-0"
821                   graphic       2
822                   columns       2
823                   direction     l2r))
824
825   (make-charset '=jef-china3
826                 "JEF + CHINA3 private characters"
827                 '(long-name     "JEF + CHINA3"
828                   chars         256
829                   dimension     2
830                   columns       2
831                   graphic       2
832                   direction     l2r
833                   registry      "china3jef-0"
834                   min-code      #xE80000
835                   max-code      #xE8FFFF
836                   code-offset   #xE80000))
837   (define-charset-alias 'china3-jef '=jef-china3)
838
839   (make-charset '=ruimoku-v6
840                 "private characters used in RUIMOKU Version.6"
841                 `(long-name     "RUI6"
842                   chars         256
843                   dimension     2
844                   columns       2
845                   graphic       2
846                   direction     l2r
847                   registry      "rui6-0"
848                   ;; mother     ucs
849                   min-code      #xE90000 ; #xE000
850                   max-code      #xE908FF ; #xE8FF
851                   code-offset   ,(- #xE90000 #xE000)))
852
853   (make-charset '==>ucs@bucs
854                 "Basic Subset of Coded Character Sets (BUCS)"
855                 '(long-name     "BUCS abstract characters"
856                   chars         256
857                   dimension     3
858                   columns       2
859                   graphic       2
860                   direction     l2r
861                   =>iso-ir      177
862                   mother        =ucs))
863
864   (make-charset '=>ucs@iso
865                 "Abstract characters of ISO/IEC 10646 representatives"
866                 '(long-name     "UCS characters for ISO"
867                   chars         256
868                   dimension     3
869                   columns       2
870                   graphic       2
871                   direction     l2r
872                   =>iso-ir      177
873                   mother        =ucs))
874   (make-charset '=>ucs@unicode
875                 "Abstract characters of Unicode representatives"
876                 '(long-name     "UCS characters for Unicode"
877                   chars         256
878                   dimension     3
879                   columns       2
880                   graphic       2
881                   direction     l2r
882                   =>iso-ir      177
883                   mother        =>ucs@iso))
884
885   (make-charset '=>>ucs@iso
886                 "Representative abstract glyphs of ISO/IEC 10646"
887                 '(long-name     "UCS glyphs for UCS"
888                   chars         256
889                   dimension     3
890                   columns       2
891                   graphic       2
892                   direction     l2r
893                   =>iso-ir      177
894                   mother        =>ucs@iso))
895   (make-charset '=>>ucs@unicode
896                 "Representative abstract glyphs of Unicode"
897                 '(long-name     "Unicode abstract glyphs"
898                   chars         256
899                   dimension     3
900                   columns       2
901                   graphic       2
902                   direction     l2r
903                   =>iso-ir      177
904                   mother        =>>ucs@iso))
905   (make-charset '=>>ucs@jis
906                 "UCS Representative glyphs for JIS X0208/0212/0213"
907                 '(long-name     "UCS glyphs for JIS"
908                   chars         256
909                   dimension     3
910                   columns       2
911                   graphic       2
912                   direction     l2r
913                   =>iso-ir      177
914                   mother        =>>ucs@unicode))
915   (make-charset '=>>ucs@jis/1990
916                 "UCS Representative glyphs for JIS X 0208/0212:1990"
917                 '(long-name     "UCS glyphs for JIS:1990"
918                   chars         256
919                   dimension     3
920                   columns       2
921                   graphic       2
922                   direction     l2r
923                   =>iso-ir      177
924                   mother        =>>ucs@jis))
925   (make-charset '=>>ucs@jis/2000
926                 "UCS Representative glyphs for JIS X 0213:2000"
927                 '(long-name     "UCS glyphs for JIS:2000"
928                   chars         256
929                   dimension     3
930                   columns       2
931                   graphic       2
932                   direction     l2r
933                   =>iso-ir      177
934                   mother        =>>ucs@jis))
935   (make-charset '=>>ucs@jis/2004
936                 "UCS Representative glyphs for JIS X 0213:2004"
937                 '(long-name     "UCS glyphs for JIS:2004"
938                   chars         256
939                   dimension     3
940                   columns       2
941                   graphic       2
942                   direction     l2r
943                   =>iso-ir      177
944                   mother        =>>ucs@jis))
945   (make-charset '=>>ucs@cns
946                 "UCS Representative glyphs for CNS 11643 sources"
947                 '(long-name     "UCS glyphs for CNS"
948                   chars         256
949                   dimension     3
950                   columns       2
951                   graphic       2
952                   direction     l2r
953                   =>iso-ir      177
954                   mother        =>>ucs@unicode))
955
956   (make-charset '=ucs@iso
957                 "ISO/IEC 10646 for its representative glyphs"
958                 '(long-name     "UCS for ISO"
959                   chars         256
960                   dimension     3
961                   columns       2
962                   graphic       2
963                   direction     l2r
964                   =>iso-ir      177
965                   mother        =>>ucs@iso))
966   (make-charset '=ucs@unicode
967                 "Unicode for its representative glyphs"
968                 '(long-name     "UCS for Unicode"
969                   chars         256
970                   dimension     3
971                   columns       2
972                   graphic       2
973                   direction     l2r
974                   =>iso-ir      177
975                   mother        =ucs@iso))
976   (make-charset '=ucs@gb
977                 "ISO/IEC 10646 for GB"
978                 '(long-name     "UCS for GB"
979                   chars         256
980                   dimension     3
981                   columns       2
982                   graphic       2
983                   direction     l2r
984                   =>iso-ir      177
985                   mother        =ucs@unicode))
986   (define-charset-alias 'ucs-gb '=ucs@gb)
987   (make-charset '=ucs@gb/fw
988                 "ISO/IEC 10646 for GB with fullwidth"
989                 '(long-name     "UCS for GB-fullwidth"
990                   chars         256
991                   dimension     3
992                   columns       2
993                   graphic       2
994                   direction     l2r
995                   =>iso-ir      177
996                   mother        =ucs@gb))
997   (make-charset '=ucs-bmp@gb
998                 "ISO/IEC 10646 BMP for GB"
999                 '(long-name     "BMP for GB"
1000                   chars         256
1001                   dimension     3
1002                   columns       2
1003                   graphic       2
1004                   direction     l2r
1005                   mother        =ucs@gb
1006                   min-code      #x0000
1007                   max-code      #xFFFF))
1008   (make-charset '=ucs@cns
1009                 "ISO/IEC 10646 for CNS 11643"
1010                 '(long-name     "UCS for CNS"
1011                   chars         256
1012                   dimension     3
1013                   columns       2
1014                   graphic       2
1015                   direction     l2r
1016                   =>iso-ir      177
1017                   mother        =ucs@unicode))
1018   (define-charset-alias 'ucs-cns '=ucs@cns)
1019   (make-charset '=ucs@cns/fw
1020                 "ISO/IEC 10646 for CNS 11643 with fullwidth"
1021                 '(long-name     "UCS for CNS-fullwidth"
1022                   chars         256
1023                   dimension     3
1024                   columns       2
1025                   graphic       2
1026                   direction     l2r
1027                   =>iso-ir      177
1028                   mother        =ucs@cns))
1029   (make-charset '=ucs-bmp@cns
1030                 "ISO/IEC 10646 BMP for CNS"
1031                 '(long-name     "BMP for CNS"
1032                   chars         256
1033                   dimension     3
1034                   columns       2
1035                   graphic       2
1036                   direction     l2r
1037                   mother        =ucs@cns
1038                   min-code      #x0000
1039                   max-code      #xFFFF))
1040   (make-charset '=ucs@jis
1041                 "ISO/IEC 10646 for JIS X0208/0212/0213"
1042                 '(long-name     "UCS for JIS"
1043                   chars         256
1044                   dimension     3
1045                   columns       2
1046                   graphic       2
1047                   direction     l2r
1048                   =>iso-ir      177
1049                   mother        =ucs@unicode))
1050   (define-charset-alias 'ucs-jis '=ucs@jis)
1051   (make-charset '=ucs@jis/fw
1052                 "ISO/IEC 10646 for JIS X0208/0212/0213 with fullwidth"
1053                 '(long-name     "UCS for JIS-fullwidth"
1054                   chars         256
1055                   dimension     3
1056                   columns       2
1057                   graphic       2
1058                   direction     l2r
1059                   =>iso-ir      177
1060                   mother        =ucs@jis))
1061   (make-charset '=ucs-bmp@jis
1062                 "ISO/IEC 10646 BMP for JIS"
1063                 '(long-name     "BMP for JIS"
1064                   chars         256
1065                   dimension     3
1066                   columns       2
1067                   graphic       2
1068                   direction     l2r
1069                   mother        =ucs@jis
1070                   min-code      #x0000
1071                   max-code      #xFFFF))
1072   (make-charset '=ucs@jis/1990
1073                 "ISO/IEC 10646 for JIS X 0208/0212:1990"
1074                 '(long-name     "UCS for JIS:1990"
1075                   chars         256
1076                   dimension     3
1077                   columns       2
1078                   graphic       2
1079                   direction     l2r
1080                   =>iso-ir      177
1081                   mother        =ucs@jis))
1082   (define-charset-alias '=ucs@jis-1990 '=ucs@jis/1990)
1083   (define-charset-alias '=ucs-jis-1990 '=ucs@jis/1990)
1084   (make-charset '=ucs@jis/2000
1085                 "ISO/IEC 10646 for JIS X 0213:2000"
1086                 '(long-name     "UCS for JIS:2000"
1087                   chars         256
1088                   dimension     3
1089                   columns       2
1090                   graphic       2
1091                   direction     l2r
1092                   =>iso-ir      177
1093                   mother        =ucs@jis))
1094   (define-charset-alias '=ucs@jis-2000 '=ucs@jis/2000)
1095   (define-charset-alias '=ucs-jis-2000 '=ucs@jis/2000)
1096   (make-charset '=ucs@jis/2004
1097                 "ISO/IEC 10646 for JIS X 0213:2004"
1098                 '(long-name     "UCS for JIS:2004"
1099                   chars         256
1100                   dimension     3
1101                   columns       2
1102                   graphic       2
1103                   direction     l2r
1104                   =>iso-ir      177
1105                   mother        =ucs@jis))
1106   (make-charset '=ucs@JP
1107                 "UCS for common glyphs used in Japan"
1108                 '(long-name     "UCS for Japan"
1109                   chars         256
1110                   dimension     3
1111                   columns       2
1112                   graphic       2
1113                   direction     l2r
1114                   =>iso-ir      177
1115                   mother        =ucs@jis/2004))
1116   (define-charset-alias '=ucs@jp '=ucs@JP)
1117   (make-charset '=ucs@ks
1118                 "ISO/IEC 10646 for Korean Standards"
1119                 '(long-name     "UCS for KS"
1120                   chars         256
1121                   dimension     3
1122                   columns       2
1123                   graphic       2
1124                   direction     l2r
1125                   =>iso-ir      177
1126                   mother        =ucs@unicode))
1127   (define-charset-alias 'ucs-ks '=ucs@ks)
1128   (make-charset '=ucs-bmp@ks
1129                 "ISO/IEC 10646 BMP for KS"
1130                 '(long-name     "BMP for KS"
1131                   chars         256
1132                   dimension     3
1133                   columns       2
1134                   graphic       2
1135                   direction     l2r
1136                   mother        =ucs@ks
1137                   min-code      #x0000
1138                   max-code      #xFFFF))
1139   (make-charset '=ucs@cns11643
1140                 "ISO/IEC 10646 for CNS based on www.cns11643.gov.tw"
1141                 '(long-name     "UCS for CNS11643"
1142                   chars         256
1143                   dimension     3
1144                   columns       2
1145                   graphic       2
1146                   direction     l2r
1147                   =>iso-ir      177
1148                   mother        =ucs@cns))
1149   (make-charset '=ucs@big5
1150                 "ISO/IEC 10646 for Big5"
1151                 '(long-name     "UCS for Big5"
1152                   chars         256
1153                   dimension     3
1154                   columns       2
1155                   graphic       2
1156                   direction     l2r
1157                   =>iso-ir      177
1158                   mother        =>>ucs@unicode))
1159   (define-charset-alias 'ucs-big5 '=ucs@big5)
1160   (make-charset '=ucs@big5/cns11643
1161                 "ISO/IEC 10646 for Big5 based on www.cns11643.gov.tw"
1162                 '(long-name     "UCS for Big5@CNS11643"
1163                   chars         256
1164                   dimension     3
1165                   columns       2
1166                   graphic       2
1167                   direction     l2r
1168                   =>iso-ir      177
1169                   mother        =ucs@big5))
1170
1171   (make-charset
1172    '=ucs-radicals
1173    "CJK Radicals of UCS"
1174    '(long-name "UCS-Radicals"
1175                chars 256
1176                dimension 2
1177                columns 2
1178                graphic 2
1179                direction l2r
1180                registry "-zhRadicals-.*-ucs-0"
1181                mother ucs-bmp
1182                min-code #x2E00 max-code #x2FFF))
1183   (make-charset
1184    '=ucs-radicals@unicode
1185    "CJK Radicals of UCS"
1186    '(long-name "UCS-Radicals"
1187                chars 256
1188                dimension 2
1189                columns 2
1190                graphic 2
1191                direction l2r
1192                registry "-zhRadicals-.*-ucs-0"
1193                mother =ucs@unicode
1194                min-code #x2E00 max-code #x2FFF))
1195   (make-charset
1196    '=ucs-hangul
1197    "Hangul Syllables of UCS"
1198    '(long-name "UCS-Hangul-Syllables"
1199                chars 256
1200                dimension 2
1201                columns 2
1202                graphic 2
1203                direction l2r
1204                registry "-Hangul-.*-ucs-0"
1205                mother =ucs
1206                min-code #xAC00 max-code #xD7AF))
1207   (make-charset
1208    '=ucs-bmp-cjk
1209    "CJK Characters in BMP of UCS"
1210    '(long-name "UCS-BMP-CJK"
1211                chars 256
1212                dimension 2
1213                columns 2
1214                graphic 2
1215                direction l2r
1216                registry "-zh-.*-ucs-0"
1217                mother ucs-bmp
1218                min-code #x2E00
1219                max-code #x9FA5
1220                ;; max-code #xA4CF
1221                ))
1222   (make-charset
1223    '=ucs-bmp-cjk@unicode
1224    "CJK Characters in BMP of Unicode"
1225    '(long-name "Unicode-BMP-CJK"
1226                chars 256
1227                dimension 2
1228                columns 2
1229                graphic 2
1230                direction l2r
1231                registry "-zh-.*-ucs-0"
1232                mother =ucs@unicode
1233                min-code #x2E00
1234                max-code #x9FA5
1235                ;; max-code #xA4CF
1236                ))
1237   (make-charset
1238    '==>ucs-bmp-cjk@bucs
1239    "CJK Characters in BMP of BUCS"
1240    '(long-name "BUCS-BMP-CJK"
1241                chars 256
1242                dimension 2
1243                columns 2
1244                graphic 2
1245                direction l2r
1246                registry "-zh-.*-ucs-0"
1247                mother ==>ucs@bucs
1248                min-code #x2E00
1249                max-code #x9FA5
1250                ;; max-code #xA4CF
1251                ))
1252   (make-charset
1253    '=ucs-sip-ext-b
1254    "CJK Ideographs Extension B"
1255    '(long-name "UCS CJK Ext-B"
1256                chars 256
1257                dimension 2
1258                columns 2
1259                graphic 2
1260                direction l2r
1261                registry "\\(iso10646\\|ucs02\\)-2$"
1262                mother ucs
1263                min-code #x20000 max-code #x2A6D6
1264                code-offset #x20000))
1265   (make-charset
1266    '=ucs-sip-ext-b@iso
1267    "CJK Ideographs Extension B (ISO/IEC 10646-2)"
1268    '(long-name "UCS CJK Ext-B"
1269                chars 256
1270                dimension 2
1271                columns 2
1272                graphic 2
1273                direction l2r
1274                registry "\\(iso10646\\|ucs02\\)-2$"
1275                mother =ucs@iso
1276                min-code #x20000 max-code #x2A6D6
1277                code-offset #x20000))
1278
1279   (make-charset
1280    '=adobe-japan1-base
1281    "Adobe-Japan1 Character Collection for CID-Keyed Fonts"
1282    `(long-name "Adobe-Japan1"
1283                chars 256
1284                dimension 2
1285                columns 2
1286                graphic 2
1287                direction l2r
1288                registry "AdobeJapan1-[0-6]$"
1289                min-code ,(lsh #x6300 16)
1290                max-code ,(+ (lsh #x6300 16) 23057)
1291                code-offset      ,(lsh #x6300 16)))
1292   (make-charset
1293    '=adobe-japan1-0
1294    "Adobe-Japan1-0 Character Collection for CID-Keyed Fonts"
1295    '(long-name "Adobe-Japan1-0"
1296                chars 256
1297                dimension 2
1298                columns 2
1299                graphic 2
1300                direction l2r
1301                mother =adobe-japan1-base
1302                min-code 0
1303                max-code 8283
1304                registry "AdobeJapan1-0$"))
1305   (make-charset
1306    '=adobe-japan1-1
1307    "Adobe-Japan1-1 Character Collection for CID-Keyed Fonts"
1308    '(long-name "Adobe-Japan1-1"
1309                chars 256
1310                dimension 2
1311                columns 2
1312                graphic 2
1313                direction l2r
1314                mother =adobe-japan1-0
1315                min-code 0
1316                max-code 8358
1317                registry "AdobeJapan1-1$"))
1318   (make-charset
1319    '=adobe-japan1-2
1320    "Adobe-Japan1-2 Character Collection for CID-Keyed Fonts"
1321    '(long-name "Adobe-Japan1-2"
1322                chars 256
1323                dimension 2
1324                columns 2
1325                graphic 2
1326                direction l2r
1327                mother =adobe-japan1-1
1328                min-code 0
1329                max-code 8719
1330                registry "AdobeJapan1-2$"))
1331   (make-charset
1332    '=adobe-japan1-3
1333    "Adobe-Japan1-3 Character Collection for CID-Keyed Fonts"
1334    '(long-name "Adobe-Japan1-3"
1335                chars 256
1336                dimension 2
1337                columns 2
1338                graphic 2
1339                direction l2r
1340                mother =adobe-japan1-2
1341                min-code 0
1342                max-code 9353
1343                registry "AdobeJapan1-3$"))
1344   (make-charset
1345    '=adobe-japan1-4
1346    "Adobe-Japan1-4 Character Collection for CID-Keyed Fonts"
1347    '(long-name "Adobe-Japan1-4"
1348                chars 256
1349                dimension 2
1350                columns 2
1351                graphic 2
1352                direction l2r
1353                mother =adobe-japan1-3
1354                min-code 0
1355                max-code 15443
1356                registry "AdobeJapan1-4$"))
1357   (make-charset
1358    '=adobe-japan1-5
1359    "Adobe-Japan1-5 Character Collection for CID-Keyed Fonts"
1360    '(long-name "Adobe-Japan1-5"
1361                chars 256
1362                dimension 2
1363                columns 2
1364                graphic 2
1365                direction l2r
1366                mother =adobe-japan1-4
1367                min-code 0
1368                max-code 20316
1369                registry "AdobeJapan1-5$"))
1370   (make-charset
1371    '=adobe-japan1-6
1372    "Adobe-Japan1-6 Character Collection for CID-Keyed Fonts"
1373    '(long-name "Adobe-Japan1-6"
1374                chars 256
1375                dimension 2
1376                columns 2
1377                graphic 2
1378                direction l2r
1379                mother =adobe-japan1-5
1380                min-code 0
1381                max-code 23057
1382                registry "AdobeJapan1-6$"))
1383   )
1384
1385 ;;; mule-conf.el ends here