2e1e7de065f8bde0f62a36a1766528a41839373c
[chise/xemacs-chise.git] / 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/4-pr
87    "JIS X 0208:1978, 4th 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   (define-charset-alias '=jis-x0208@1978/i1 '=jis-x0208@1978/1pr)
97   (define-charset-alias '=jis-x0208@1978/i-4 '=jis-x0208@1978/-4pr)
98   (define-charset-alias '=jis-x0208@1978/i4- '=jis-x0208@1978/4-pr)
99   )
100  (t
101   (make-charset
102    '=jis-x0208@1978
103    "JIS X0208:1978 Japanese Kanji (so called \"old JIS\")."
104    '(iso-ir 42
105             registry "jisx0208\\.1978"
106             dimension 2
107             chars 94
108             mother =jis-x0208
109             final ?@
110             graphic 0))
111   ))
112
113 (define-charset-alias '=jis-x0208-1978          '=jis-x0208@1978)
114 (define-charset-alias 'japanese-jisx0208-1978   '=jis-x0208@1978)
115 (define-charset-alias 'chinese-gb2312           '=gb2312)
116 (define-charset-alias '=jis-x0208-1983          '=jis-x0208@1983)
117 (define-charset-alias 'japanese-jisx0208        '=jis-x0208@1983)
118 (define-charset-alias 'korean-ksc5601           '=ks-x1001)
119 (define-charset-alias 'japanese-jisx0212        '=jis-x0212)
120 (define-charset-alias 'chinese-cns11643-1       '=cns11643-1)
121 (define-charset-alias 'chinese-cns11643-2       '=cns11643-2)
122 (define-charset-alias 'chinese-gb12345          '=gb12345)
123 (define-charset-alias 'chinese-big5             '=big5)
124
125 ;; PinYin-ZhuYin
126 (make-charset 'sisheng "PinYin-ZhuYin"
127               '(registry "sisheng_cwnn\\|OMRON_UDC_ZH"
128                 dimension 1
129                 chars 94
130                 final ?0
131                 graphic 0
132                 ))
133
134 ;; Lao script.
135 ;; ISO10646's 0x0E80..0x0EDF are mapped to 0x20..0x7F.
136 (make-charset 'lao "Lao script"
137               '(registry "MuleLao-1"
138                 dimension 1
139                 chars 94
140                 final ?1
141                 graphic 1))
142
143 ;; IPA (International Phonetic Alphabet)
144 (make-charset 'ipa "International Phonetic Alphabet"
145               '(registry "MuleIPA"
146                 dimension 1
147                 chars 96
148                 final ?0
149                 graphic 1))
150
151 ;; Ethiopic
152 (make-charset 'ethiopic "Ethiopic"
153               '(registry "Ethio"
154                 dimension 2
155                 chars 94
156                 final ?3
157                 graphic 0
158                 ))
159
160 ;; ISO-IR-165 (CCITT Extended GB)
161 ;;    It is based on CCITT Recommendation T.101, includes GB 2312-80 +
162 ;;    GB 8565-88 table A4 + 293 characters.
163 (if (featurep 'utf-2000)
164     (progn
165       (make-charset '=iso-ir165
166                     "ISO-IR-165 (CCITT Extended GB; Chinese simplified)"
167                     '(iso-ir 165
168                              dimension 2
169                              chars 94
170                              mother =gb2312
171                              final ?E
172                              registry "isoir165"
173                              graphic 0))
174       (define-charset-alias 'chinese-isoir165 '=iso-ir165))
175   (make-charset 'chinese-isoir165
176                 "ISO-IR-165 (CCITT Extended GB; Chinese simplified)"
177                 '(iso-ir 165
178                          dimension 2
179                          chars 94
180                          final ?E
181                          registry "isoir165"
182                          graphic 0)))
183
184 ;; CNS11643 Plane3 thru Plane7
185 ;; These represent more and more obscure Chinese characters.
186 ;; By the time you get to Plane 7, we're talking about characters
187 ;; that appear once in some ancient manuscript and whose meaning
188 ;; is unknown.
189
190 (flet
191     ((make-chinese-cns11643-charset
192       (name iso-ir plane final)
193       (make-charset
194        name (concat "CNS 11643 Plane " plane " (Chinese traditional)")
195        `(iso-ir ,iso-ir
196          registry 
197          ,(concat "CNS11643[.-]\\(.*[.-]\\)?" plane "$")
198          dimension 2
199          chars 94
200          final ,final
201          graphic 0))
202       ))
203   (make-chinese-cns11643-charset '=cns11643-3 183 "3" ?I)
204   (make-chinese-cns11643-charset '=cns11643-4 184 "4" ?J)
205   (make-chinese-cns11643-charset '=cns11643-5 185 "5" ?K)
206   (make-chinese-cns11643-charset '=cns11643-6 186 "6" ?L)
207   (make-chinese-cns11643-charset '=cns11643-7 187 "7" ?M)
208   (define-charset-alias 'chinese-cns11643-3     '=cns11643-3)
209   (define-charset-alias 'chinese-cns11643-4     '=cns11643-4)
210   (define-charset-alias 'chinese-cns11643-5     '=cns11643-5)
211   (define-charset-alias 'chinese-cns11643-6     '=cns11643-6)
212   (define-charset-alias 'chinese-cns11643-7     '=cns11643-7)
213   )
214
215 ;; JIS X 0213:2000
216 (cond
217  ((featurep 'utf-2000)
218   (make-charset
219    '=jis-x0213-1
220    "JIS X 0213 Plain 1 (unchanged part)"
221    '(registry "jisx0213\\(\\.[0-9]+\\)?-1"
222               dimension 2
223               chars 94
224               =>iso-ir 228
225               final ?O
226               graphic 0
227               partial t))
228
229   (make-charset
230    '=jis-x0213-1@2000
231    "JIS X 0213:2000 Plain 1"
232    '(iso-ir 228
233             registry "jisx0213\\(\\.2000\\)-1"
234             dimension 2
235             chars 94
236             mother =jis-x0213-1
237             final ?O
238             graphic 0))
239   (make-charset
240    '=jis-x0213-2
241    "JIS X 0213 Plain 2"
242    '(iso-ir 229
243             registry "jisx0213\\(\\.\\(2000\\|2004\\)\\)?-2"
244             dimension 2
245             chars 94
246             final ?P
247             graphic 0))
248
249   (make-charset
250    '=jis-x0213-1@2004
251    "JIS X 0213:2004 Plain 1"
252    '(iso-ir 233
253             registry "jisx0213\\(\\.2004\\)-1"
254             dimension 2
255             chars 94
256             mother =jis-x0213-1
257             final ?Q
258             graphic 0))
259
260   (define-charset-alias 'japanese-jisx0213-1 '=jis-x0213-1@2000)
261   (define-charset-alias 'japanese-jisx0213-2 '=jis-x0213-2)
262   (define-charset-alias '=jis-x0213-1-2000 '=jis-x0213-1@2000)
263   (define-charset-alias '=jis-x0213-2-2000 '=jis-x0213-2)
264   )
265  (t
266   (make-charset
267    'japanese-jisx0213-1
268    "JIS X 0213:2000 Plain 1"
269    '(registry "jisx0213\\(\\.2000\\)-1"
270               dimension 2
271               chars 94
272               final ?O
273               graphic 0))
274   (make-charset
275    'japanese-jisx0213-2
276    "JIS X 0213:2000 Plain 2"
277    '(registry "jisx0213\\(\\.2000\\)-2"
278               dimension 2
279               chars 94
280               final ?P
281               graphic 0))
282   ))
283
284 (when (featurep 'utf-2000)
285   (define-charset-alias 'ucs '=ucs)
286   (define-charset-alias '=jis-x0208-1990 '=jis-x0208@1990)
287   (define-charset-alias 'japanese-jisx0208-1990 '=jis-x0208@1990)
288
289   (make-charset
290    '=>>jis-x0208
291    "JIS X 0208 abstract glyphs (unchanged part)."
292    '(registry "jisx0208\\.1990"
293               dimension 2
294               chars 94
295               mother =jis-x0208
296               =>iso-ir 168
297               ;; final ?B
298               graphic 0))
299   (make-charset
300    '=>>jis-x0208@1978
301    "JIS X 0208:1978 abstract glyphs (unchanged part)."
302    '(registry "jisx0208\\.1978"
303               dimension 2
304               chars 94
305               mother =>>jis-x0208
306               =>iso-ir 42
307               ;; final ?@
308               graphic 0))
309
310   (make-charset
311    '=>>jis-x0213-1
312    "JIS X 0213 Plain 1 abstract glyphs (unchanged part)"
313    '(registry "jisx0213\\(\\.[0-9]+\\)?-1"
314               dimension 2
315               chars 94
316               mother =jis-x0213-1
317               =>iso-ir 228
318               ;; final ?O
319               graphic 0
320               ;; partial t
321               ))
322   (make-charset
323    '=>>jis-x0213-1@2000
324    "JIS X 0213:2000 Plain 1 abstract glyphs"
325    '(registry "jisx0213\\(\\.2000\\)-1"
326               dimension 2
327               chars 94
328               mother =>>jis-x0213-1
329               =>iso-ir 228
330               ;; final ?O
331               graphic 0
332               ;; partial t
333               ))
334   (make-charset
335    '=>>jis-x0213-2
336    "JIS X 0213 Plain 2 abstract glyphs"
337    '(registry "jisx0213\\(\\.\\(2000\\|2004\\)\\)?-2"
338               dimension 2
339               chars 94
340               mother =jis-x0213-2
341               =>iso-ir 229
342               ;; final ?P
343               graphic 0))
344   (make-charset
345    '=>>jis-x0213-1@2004
346    "JIS X 0213:2004 Plain 1 abstract glyphs"
347    '(registry "jisx0213\\(\\.2004\\)-1"
348               dimension 2
349               chars 94
350               mother =>>jis-x0213-1
351               =>iso-ir 233
352               ;; final ?Q
353               graphic 0
354               ;; partial t
355               ))
356
357   (make-charset
358    '=>jis-x0208
359    "JIS X 0208 based on the unchanged unification rules."
360    '(registry "jisx0208\\.1990"
361               dimension 2
362               chars 94
363               mother =>>jis-x0208
364               =>iso-ir 168
365               ;; final ?B
366               graphic 0))
367   (define-charset-alias '<=>jis-x0208 '=>jis-x0208)
368   (make-charset
369    '=>jis-x0208@1997
370    "JIS X 0208 based on the unification rule of 1997 edition."
371    '(registry "jisx0208\\.1990"
372               dimension 2
373               chars 94
374               mother =>jis-x0208
375               =>iso-ir 168
376               ;; final ?B
377               graphic 0))
378   (define-charset-alias '<=>jis-x0208@1997 '=>jis-x0208@1997)
379   (define-charset-alias '  =jis-x0208@1997 '=>jis-x0208@1997)
380
381   (make-charset
382    '=>jis-x0213-1
383    "JIS X 0213 Plain 1 abstract characters (unchanged part)"
384    '(registry "jisx0213\\(\\.[0-9]+\\)?-1"
385               dimension 2
386               chars 94
387               mother =>>jis-x0213-1
388               =>iso-ir 228
389               ;; final ?O
390               graphic 0
391               ;; partial t
392               ))
393   (define-charset-alias '<=>jis-x0213-1 '=>jis-x0213-1)
394   (make-charset
395    '=>jis-x0213-1@2000
396    "JIS X 0213:2000 Plain 1 abstract characters"
397    '(registry "jisx0213\\(\\.2000\\)-1"
398               dimension 2
399               chars 94
400               mother =>jis-x0213-1
401               =>iso-ir 228
402               ;; final ?O
403               graphic 0
404               ;; partial t
405               ))
406   (define-charset-alias '<=>jis-x0213-1@2000 '=>jis-x0213-1@2000)
407   (make-charset
408    '=>jis-x0213-1@2004
409    "JIS X 0213:2004 Plain 1 abstract characters"
410    '(registry "jisx0213\\(\\.2004\\)-1"
411               dimension 2
412               chars 94
413               mother =>jis-x0213-1
414               =>iso-ir 233
415               ;; final ?Q
416               graphic 0
417               ;; partial t
418               ))
419   (define-charset-alias '<=>jis-x0213-1@2004 '=>jis-x0213-1@2004)
420   (make-charset
421    '=>jis-x0213-2
422    "JIS X 0213 Plain 2 abstract characters"
423    '(registry "jisx0213\\(\\.\\(2000\\|2004\\)\\)?-2"
424               dimension 2
425               chars 94
426               mother =>>jis-x0213-2
427               =>iso-ir 229
428               ;; final ?P
429               graphic 0))
430
431   (make-charset '=big5-cdp
432                 "Big5 with CDP extension"
433                 '(long-name     "Big5-CDP"
434                   chars         256
435                   dimension     2
436                   columns       2
437                   graphic       2
438                   direction     l2r
439                   registry      "big5\\.cdp-0"
440                   mother        chinese-big5
441                   min-code      #x8140
442                   max-code      #x8DFE))
443   (define-charset-alias 'chinese-big5-cdp '=big5-cdp)
444
445   (make-charset '=gt
446                 "GT 2000"
447                 `(long-name     "GT"
448                   chars         256
449                   dimension     3
450                   columns       2
451                   graphic       2
452                   direction     l2r
453                   registry      ""
454                   min-code      ,(lsh #x6100 16)
455                   max-code      ,(+ (lsh #x6100 16) 67547)
456                   code-offset   ,(lsh #x6100 16)))
457   (define-charset-alias 'ideograph-gt '=gt)
458   (make-charset '=>>gt
459                 "GT 2000 abstract glyphs"
460                 `(long-name     "abstract GT glyphs"
461                   chars         256
462                   dimension     3
463                   columns       2
464                   graphic       2
465                   direction     l2r
466                   mother        =gt))
467   (define-charset-alias '<=>gt '=>>gt)
468   (define-charset-alias '<==>gt '=>>gt)
469   (make-charset '=>gt
470                 "GT 2000 abstract characters"
471                 `(long-name     "abstract GT characters"
472                   chars         256
473                   dimension     3
474                   columns       2
475                   graphic       2
476                   direction     l2r
477                   mother        =>>gt))
478   (make-charset '=gt-k
479                 "Ideographic components of GT"
480                 `(long-name     "GT components"
481                   chars         256
482                   dimension     2
483                   columns       2
484                   graphic       2
485                   direction     l2r
486                   registry      ""
487                   min-code      ,(lsh #x6110 16)
488                   max-code      ,(+ (lsh #x6110 16) 17090)
489                   code-offset   ,(lsh #x6110 16)))
490   (define-charset-alias 'ideograph-gt-k '=gt-k)
491   (let ((i 1))
492     (while (<= i 11)
493       (make-charset
494        (intern (format "=gt-pj-%d" i))
495        (format "GT 2000 (pseudo JIS encoding) part %d" i)
496        `(long-name ,(format "GT PJ %d" i)
497                    chars 94
498                    dimension 2
499                    columns 2
500                    graphic 0
501                    direction l2r
502                    registry ,(format "\\(GTpj-%d\\|jisx0208\\.GT-%d\\)$" i i)))
503       (define-charset-alias
504         (intern (format "ideograph-gt-pj-%d" i))
505         (intern (format "=gt-pj-%d" i)))
506       (setq i (1+ i))))
507   (make-charset
508    '=gt-pj-k1
509    "Ideographic parts of GT (pseudo JIS encoding) part 1"
510    '(long-name "GT K1"
511                chars 94
512                dimension 2
513                columns 2
514                graphic 0
515                direction l2r
516                registry "\\(GTKpj-1\\|jisx0208\\.GTK-1\\)$"))
517   (define-charset-alias 'ideograph-gt-pj-k1 '=gt-pj-k1)
518   (make-charset
519    '=gt-pj-k2
520    "Ideographic parts of GT (pseudo JIS encoding) part 2"
521    '(long-name "GT K2"
522                chars 94
523                dimension 2
524                columns 2
525                graphic 0
526                direction l2r
527                registry "\\(GTKpj-2\\|jisx0208\\.GTK-2\\)$"))
528   (define-charset-alias 'ideograph-gt-pj-k2 '=gt-pj-k2)
529
530   (make-charset '=daikanwa
531                 "Daikanwa dictionary (revised version 2)"
532                 `(long-name     "Daikanwa"
533                   chars         256
534                   dimension     2
535                   columns       2
536                   graphic       2
537                   direction     l2r
538                   registry      "Daikanwa\\(\\.[0-9]+\\)?-3"
539                   min-code      #xE00000
540                   max-code      ,(+ #xE00000 50100)
541                   code-offset   #xE00000))
542   (define-charset-alias 'ideograph-daikanwa '=daikanwa)
543
544   (make-charset '=daikanwa@rev1
545                 "Daikanwa dictionary (revised version)"
546                 `(long-name     "Daikanwa Rev."
547                   chars         256
548                   dimension     2
549                   columns       2
550                   graphic       2
551                   direction     l2r
552                   registry      "Daikanwa\\(\\.[0-9]+\\)?-2"
553                   mother        =daikanwa
554                   ))
555   (define-charset-alias 'ideograph-daikanwa-2 '=daikanwa@rev1)
556   (define-charset-alias '=daikanwa-rev1 '=daikanwa@rev1)
557
558   (make-charset '=daikanwa@rev2
559                 "Daikanwa dictionary (revised version 2)"
560                 `(long-name     "Daikanwa"
561                   chars         256
562                   dimension     2
563                   columns       2
564                   graphic       2
565                   direction     l2r
566                   registry      "Daikanwa\\(\\.[0-9]+\\)?-3"
567                   mother        =daikanwa
568                   min-code      1
569                   max-code      49964
570                   ;; min-code   #xE00000
571                   ;; max-code   ,(+ #xE00000 50100)
572                   ;; code-offset        #xE00000
573                   ))
574   (define-charset-alias '=daikanwa-rev2 '=daikanwa@rev2)
575
576   (make-charset '=shinjigen
577                 "Kadokawa ShinJigen dictionary (common parts)"
578                 `(long-name     "Shinjigen common parts"
579                   chars         256
580                   dimension     2
581                   columns       2
582                   graphic       2
583                   direction     l2r
584                   registry      "Shinjigen\\(\\.[0-9]+\\)?-*"))
585
586   (make-charset '=shinjigen@1ed
587                 "Kadokawa ShinJigen dictionary (the first edition)"
588                 `(long-name     "Shinjigen-1"
589                   chars         256
590                   dimension     2
591                   columns       2
592                   graphic       2
593                   direction     l2r
594                   mother        =shinjigen
595                   registry      "Shinjigen\\(\\.[0-9]+\\)?-1"))
596   (define-charset-alias 'shinjigen-1 '=shinjigen@1ed)
597
598   (make-charset '=shinjigen@1ed/24pr
599                 "Kadokawa ShinJigen dictionary (the 24th impression)"
600                 `(long-name     "Shinjigen-1 24pr"
601                   chars         256
602                   dimension     2
603                   columns       2
604                   graphic       2
605                   direction     l2r
606                   mother        =shinjigen@1ed))
607
608   (make-charset '=shinjigen@rev
609                 "Kadokawa ShinJigen dictionary (the revised edition)"
610                 `(long-name     "Shinjigen-2"
611                   chars         256
612                   dimension     2
613                   columns       2
614                   graphic       2
615                   direction     l2r
616                   mother        =shinjigen
617                   registry      "Shinjigen\\(\\.[0-9]+\\)?-2"))
618   (define-charset-alias 'shinjigen-2 '=shinjigen@rev)
619   (make-charset '=shinjigen/+p@rev
620                 "ShinJigen (the second edition) number with '"
621                 `(long-name     "Shinjigen-2 with '"
622                   chars         256
623                   dimension     2
624                   columns       2
625                   graphic       2
626                   direction     l2r))
627   (define-charset-alias 'shinjigen-2-p '=shinjigen/+p@rev)
628
629   (make-charset '=big5-pua
630                 "Big5 with private used area"
631                 '(long-name     "Big5-PUA"
632                   chars         256
633                   dimension     2
634                   columns       2
635                   graphic       2
636                   direction     l2r
637                   mother        chinese-big5
638                   registry      "Big5\\.ETEN"))
639   (define-charset-alias 'chinese-big5-pua '=big5-pua)
640   (make-charset '=big5-eten
641                 "Big5 ETEN"
642                 '(long-name     "Big5-ETEN"
643                   chars         256
644                   dimension     2
645                   columns       2
646                   graphic       2
647                   direction     l2r
648                   mother        chinese-big5
649                   min-code      #x8140
650                   max-code      #xFEFE
651                   registry      "Big5\\.ETEN"))
652   (define-charset-alias 'chinese-big5-eten '=big5-eten)
653   (make-charset 'chinese-big5-eten-a
654                 "Big5 ETEN (#xF9D6 .. #xF9FE)"
655                 '(long-name     "Big5-ETEN-a"
656                   chars         256
657                   dimension     2
658                   columns       2
659                   graphic       2
660                   direction     l2r
661                   mother        chinese-big5
662                   min-code      #xF9D6
663                   max-code      #xF9FE
664                   registry      "Big5\\.ETEN"))
665   (make-charset 'chinese-big5-eten-b
666                 "Big5 ETEN (#xC6A1 .. #xC8FE)"
667                 '(long-name     "Big5-ETEN-b"
668                   chars         256
669                   dimension     2
670                   columns       2
671                   graphic       2
672                   direction     l2r
673                   mother        chinese-big5
674                   min-code      #xC6A1
675                   max-code      #xC8FE
676                   registry      "Big5\\.ETEN"))
677
678   (let* ((i 1)
679          (hzk-min (+ (lsh #x6200 16) 65536))
680          (hzk-max (+ hzk-min 65535)))
681     (while (<= i 12)
682       (make-charset
683        (intern (format "=hanziku-%d" i))
684        (format "HANZIKU (pseudo BIG5 encoding) part %d" i)
685        `(long-name ,(format "HANZIKU-%d" i)
686                    chars 256
687                    dimension 2
688                    columns 2
689                    graphic 2
690                    direction l2r
691                    registry ,(format "hanziku-%d$" i i)
692                    min-code ,hzk-min
693                    max-code ,hzk-max
694                    code-offset ,hzk-min))
695       (define-charset-alias
696         (intern (format "ideograph-hanziku-%d" i))
697         (intern (format "=hanziku-%d" i)))
698       (setq hzk-min (1+ hzk-max)
699             hzk-max (+ hzk-min 65535))
700       (setq i (1+ i))))
701
702   (make-charset '=cbeta "CBETA private characters"
703                 '(long-name     "CBETA PUA"
704                   chars         256
705                   dimension     2
706                   registry      "cbeta-0"
707                   graphic       2
708                   min-code      #xE20000
709                   max-code      #xE2FFFF
710                   code-offset   #xE20000
711                   columns       2
712                   direction     l2r))
713   (define-charset-alias 'ideograph-cbeta '=cbeta)
714
715   (make-charset '=zinbun-oracle
716                 "Oracle Bones Script"
717                 `(long-name     "Oracle Bones Script in Zinbun, Kyoto Univ."
718                   chars         256
719                   dimension     2
720                   registry      "zob1968-0"
721                   graphic       2
722                   min-code      #xE70000
723                   max-code      ,(+ #xE70000 8192)
724                   code-offset   #xE70000
725                   columns       2
726                   direction     l2r))
727
728   (make-charset '=>zinbun-oracle
729                 "Abstract Oracle Bones"
730                 '(long-name     "Abstract characters of Zinbun Oracle Bones."
731                   chars         256
732                   dimension     2
733                   mother        =zinbun-oracle
734                   registry      "zob1968-0"
735                   graphic       2
736                   columns       2
737                   direction     l2r))
738
739   (make-charset '=jef-china3
740                 "JEF + CHINA3 private characters"
741                 '(long-name     "JEF + CHINA3"
742                   chars         256
743                   dimension     2
744                   columns       2
745                   graphic       2
746                   direction     l2r
747                   registry      "china3jef-0"
748                   min-code      #xE80000
749                   max-code      #xE8FFFF
750                   code-offset   #xE80000))
751   (define-charset-alias 'china3-jef '=jef-china3)
752
753   (make-charset '=ruimoku-v6
754                 "private characters used in RUIMOKU Version.6"
755                 `(long-name     "RUI6"
756                   chars         256
757                   dimension     2
758                   columns       2
759                   graphic       2
760                   direction     l2r
761                   registry      "rui6-0"
762                   ;; mother     ucs
763                   min-code      #xE90000 ; #xE000
764                   max-code      #xE908FF ; #xE8FF
765                   code-offset   ,(- #xE90000 #xE000)))
766
767   (make-charset '=ucs@iso
768                 "ISO/IEC 10646 for its representative glyphs"
769                 '(long-name     "UCS for ISO"
770                   chars         256
771                   dimension     3
772                   columns       2
773                   graphic       2
774                   direction     l2r
775                   =>iso-ir      177
776                   mother        =ucs))
777   (make-charset '=ucs@unicode
778                 "Unicode for its representative glyphs"
779                 '(long-name     "UCS for Unicode"
780                   chars         256
781                   dimension     3
782                   columns       2
783                   graphic       2
784                   direction     l2r
785                   =>iso-ir      177
786                   mother        =ucs@iso))
787   (make-charset '=ucs@gb
788                 "ISO/IEC 10646 for GB"
789                 '(long-name     "UCS for GB"
790                   chars         256
791                   dimension     3
792                   columns       2
793                   graphic       2
794                   direction     l2r
795                   =>iso-ir      177
796                   mother        =ucs@unicode))
797   (define-charset-alias 'ucs-gb '=ucs@gb)
798   (make-charset '=ucs@gb/fw
799                 "ISO/IEC 10646 for GB with fullwidth"
800                 '(long-name     "UCS for GB-fullwidth"
801                   chars         256
802                   dimension     3
803                   columns       2
804                   graphic       2
805                   direction     l2r
806                   =>iso-ir      177
807                   mother        =ucs@gb))
808   (make-charset '=ucs-bmp@gb
809                 "ISO/IEC 10646 BMP for GB"
810                 '(long-name     "BMP for GB"
811                   chars         256
812                   dimension     3
813                   columns       2
814                   graphic       2
815                   direction     l2r
816                   mother        =ucs@gb
817                   min-code      #x0000
818                   max-code      #xFFFF))
819   (make-charset '=ucs@cns
820                 "ISO/IEC 10646 for CNS 11643"
821                 '(long-name     "UCS for CNS"
822                   chars         256
823                   dimension     3
824                   columns       2
825                   graphic       2
826                   direction     l2r
827                   =>iso-ir      177
828                   mother        =ucs@unicode))
829   (define-charset-alias 'ucs-cns '=ucs@cns)
830   (make-charset '=ucs@cns/fw
831                 "ISO/IEC 10646 for CNS 11643 with fullwidth"
832                 '(long-name     "UCS for CNS-fullwidth"
833                   chars         256
834                   dimension     3
835                   columns       2
836                   graphic       2
837                   direction     l2r
838                   =>iso-ir      177
839                   mother        =ucs@cns))
840   (make-charset '=ucs-bmp@cns
841                 "ISO/IEC 10646 BMP for CNS"
842                 '(long-name     "BMP for CNS"
843                   chars         256
844                   dimension     3
845                   columns       2
846                   graphic       2
847                   direction     l2r
848                   mother        =ucs@cns
849                   min-code      #x0000
850                   max-code      #xFFFF))
851   (make-charset '=ucs@jis
852                 "ISO/IEC 10646 for JIS X0208/0212/0213"
853                 '(long-name     "UCS for JIS"
854                   chars         256
855                   dimension     3
856                   columns       2
857                   graphic       2
858                   direction     l2r
859                   =>iso-ir      177
860                   mother        =ucs@unicode))
861   (define-charset-alias 'ucs-jis '=ucs@jis)
862   (make-charset '=ucs@jis/fw
863                 "ISO/IEC 10646 for JIS X0208/0212/0213 with fullwidth"
864                 '(long-name     "UCS for JIS-fullwidth"
865                   chars         256
866                   dimension     3
867                   columns       2
868                   graphic       2
869                   direction     l2r
870                   =>iso-ir      177
871                   mother        =ucs@jis))
872   (make-charset '=ucs-bmp@jis
873                 "ISO/IEC 10646 BMP for JIS"
874                 '(long-name     "BMP for JIS"
875                   chars         256
876                   dimension     3
877                   columns       2
878                   graphic       2
879                   direction     l2r
880                   mother        =ucs@jis
881                   min-code      #x0000
882                   max-code      #xFFFF))
883   (make-charset '=ucs@jis/1990
884                 "ISO/IEC 10646 for JIS X 0208/0212:1990"
885                 '(long-name     "UCS for JIS:1990"
886                   chars         256
887                   dimension     3
888                   columns       2
889                   graphic       2
890                   direction     l2r
891                   =>iso-ir      177
892                   mother        ucs-jis))
893   (define-charset-alias '=ucs@jis-1990 '=ucs@jis/1990)
894   (define-charset-alias '=ucs-jis-1990 '=ucs@jis/1990)
895   (make-charset '=ucs@jis/2000
896                 "ISO/IEC 10646 for JIS X 0213:2000"
897                 '(long-name     "UCS for JIS:2000"
898                   chars         256
899                   dimension     3
900                   columns       2
901                   graphic       2
902                   direction     l2r
903                   =>iso-ir      177
904                   mother        ucs-jis))
905   (define-charset-alias '=ucs@jis-2000 '=ucs@jis/2000)
906   (define-charset-alias '=ucs-jis-2000 '=ucs@jis/2000)
907   (make-charset '=ucs@jis/2004
908                 "ISO/IEC 10646 for JIS X 0213:2004"
909                 '(long-name     "UCS for JIS:2004"
910                   chars         256
911                   dimension     3
912                   columns       2
913                   graphic       2
914                   direction     l2r
915                   =>iso-ir      177
916                   mother        ucs-jis))
917   (make-charset '=ucs@JP
918                 "UCS for common glyphs used in Japan"
919                 '(long-name     "UCS for Japan"
920                   chars         256
921                   dimension     3
922                   columns       2
923                   graphic       2
924                   direction     l2r
925                   =>iso-ir      177
926                   mother        =ucs@jis/2004))
927   (define-charset-alias '=ucs@jp '=ucs@JP)
928   (make-charset '=ucs@ks
929                 "ISO/IEC 10646 for Korean Standards"
930                 '(long-name     "UCS for KS"
931                   chars         256
932                   dimension     3
933                   columns       2
934                   graphic       2
935                   direction     l2r
936                   =>iso-ir      177
937                   mother        =ucs@unicode))
938   (define-charset-alias 'ucs-ks '=ucs@ks)
939   (make-charset '=ucs-bmp@ks
940                 "ISO/IEC 10646 BMP for KS"
941                 '(long-name     "BMP for KS"
942                   chars         256
943                   dimension     3
944                   columns       2
945                   graphic       2
946                   direction     l2r
947                   mother        =ucs@ks
948                   min-code      #x0000
949                   max-code      #xFFFF))
950   (make-charset '=ucs@big5
951                 "ISO/IEC 10646 for Big5"
952                 '(long-name     "UCS for Big5"
953                   chars         256
954                   dimension     3
955                   columns       2
956                   graphic       2
957                   direction     l2r
958                   =>iso-ir      177
959                   mother        =ucs@unicode))
960   (define-charset-alias 'ucs-big5 '=ucs@big5)
961   (make-charset '=ucs@big5/cns11643
962                 "ISO/IEC 10646 for Big5 based on www.cns11643.gov.tw"
963                 '(long-name     "UCS for Big5@CNS11643"
964                   chars         256
965                   dimension     3
966                   columns       2
967                   graphic       2
968                   direction     l2r
969                   =>iso-ir      177
970                   mother        =ucs@big5))
971   (make-charset '=ucs@cns11643
972                 "ISO/IEC 10646 for CNS based on www.cns11643.gov.tw"
973                 '(long-name     "UCS for CNS11643"
974                   chars         256
975                   dimension     3
976                   columns       2
977                   graphic       2
978                   direction     l2r
979                   =>iso-ir      177
980                   mother        =ucs@cns))
981   
982   (make-charset
983    '=ucs-radicals
984    "CJK Radicals of UCS"
985    '(long-name "UCS-Radicals"
986                chars 256
987                dimension 2
988                columns 2
989                graphic 2
990                direction l2r
991                registry "-zhRadicals-.*-ucs-0"
992                mother ucs-bmp
993                min-code #x2E00 max-code #x2FFF))
994   (make-charset
995    '=ucs-radicals@unicode
996    "CJK Radicals of UCS"
997    '(long-name "UCS-Radicals"
998                chars 256
999                dimension 2
1000                columns 2
1001                graphic 2
1002                direction l2r
1003                registry "-zhRadicals-.*-ucs-0"
1004                mother =ucs@unicode
1005                min-code #x2E00 max-code #x2FFF))
1006   (make-charset
1007    '=ucs-hangul
1008    "Hangul Syllables of UCS"
1009    '(long-name "UCS-Hangul-Syllables"
1010                chars 256
1011                dimension 2
1012                columns 2
1013                graphic 2
1014                direction l2r
1015                registry "-Hangul-.*-ucs-0"
1016                mother =ucs
1017                min-code #xAC00 max-code #xD7AF))
1018   (make-charset
1019    '=ucs-bmp-cjk
1020    "CJK Characters in BMP of UCS"
1021    '(long-name "UCS-BMP-CJK"
1022                chars 256
1023                dimension 2
1024                columns 2
1025                graphic 2
1026                direction l2r
1027                registry "-zh-.*-ucs-0"
1028                mother ucs-bmp
1029                min-code #x2E00
1030                max-code #x9FA5
1031                ;; max-code #xA4CF
1032                ))
1033   (make-charset
1034    '=ucs-bmp-cjk@unicode
1035    "CJK Characters in BMP of Unicode"
1036    '(long-name "Unicode-BMP-CJK"
1037                chars 256
1038                dimension 2
1039                columns 2
1040                graphic 2
1041                direction l2r
1042                registry "-zh-.*-ucs-0"
1043                mother =ucs@unicode
1044                min-code #x2E00
1045                max-code #x9FA5
1046                ;; max-code #xA4CF
1047                ))
1048   (make-charset
1049    '=ucs-sip-ext-b
1050    "CJK Ideographs Extension B"
1051    '(long-name "UCS CJK Ext-B"
1052                chars 256
1053                dimension 2
1054                columns 2
1055                graphic 2
1056                direction l2r
1057                registry "\\(iso10646\\|ucs02\\)-2$"
1058                mother ucs
1059                min-code #x20000 max-code #x2A6D6
1060                code-offset #x20000))
1061   (make-charset
1062    '=ucs-sip-ext-b@iso
1063    "CJK Ideographs Extension B (ISO/IEC 10646-2)"
1064    '(long-name "UCS CJK Ext-B"
1065                chars 256
1066                dimension 2
1067                columns 2
1068                graphic 2
1069                direction l2r
1070                registry "\\(iso10646\\|ucs02\\)-2$"
1071                mother =ucs@iso
1072                min-code #x20000 max-code #x2A6D6
1073                code-offset #x20000))
1074
1075   (make-charset
1076    '=adobe-japan1-0
1077    "Adobe-Japan1-0 Character Collection for CID-Keyed Fonts"
1078    '(long-name "Adobe-Japan1-0"
1079                chars 256
1080                dimension 2
1081                columns 2
1082                graphic 2
1083                direction l2r
1084                registry "AdobeJapan1-0$"))
1085   (make-charset
1086    '=adobe-japan1-1
1087    "Adobe-Japan1-1 Character Collection for CID-Keyed Fonts"
1088    '(long-name "Adobe-Japan1-1"
1089                chars 256
1090                dimension 2
1091                columns 2
1092                graphic 2
1093                direction l2r
1094                mother =adobe-japan1-0
1095                registry "AdobeJapan1-1$"))
1096   (make-charset
1097    '=adobe-japan1-2
1098    "Adobe-Japan1-2 Character Collection for CID-Keyed Fonts"
1099    '(long-name "Adobe-Japan1-2"
1100                chars 256
1101                dimension 2
1102                columns 2
1103                graphic 2
1104                direction l2r
1105                mother =adobe-japan1-1
1106                registry "AdobeJapan1-2$"))
1107   (make-charset
1108    '=adobe-japan1-3
1109    "Adobe-Japan1-3 Character Collection for CID-Keyed Fonts"
1110    '(long-name "Adobe-Japan1-3"
1111                chars 256
1112                dimension 2
1113                columns 2
1114                graphic 2
1115                direction l2r
1116                mother =adobe-japan1-2
1117                registry "AdobeJapan1-3$"))
1118   (make-charset
1119    '=adobe-japan1-4
1120    "Adobe-Japan1-4 Character Collection for CID-Keyed Fonts"
1121    '(long-name "Adobe-Japan1-4"
1122                chars 256
1123                dimension 2
1124                columns 2
1125                graphic 2
1126                direction l2r
1127                mother =adobe-japan1-3
1128                registry "AdobeJapan1-4$"))
1129   (make-charset
1130    '=adobe-japan1-5
1131    "Adobe-Japan1-5 Character Collection for CID-Keyed Fonts"
1132    '(long-name "Adobe-Japan1-5"
1133                chars 256
1134                dimension 2
1135                columns 2
1136                graphic 2
1137                direction l2r
1138                mother =adobe-japan1-4
1139                registry "AdobeJapan1-5$"))
1140   (make-charset
1141    '=adobe-japan1-6
1142    "Adobe-Japan1-6 Character Collection for CID-Keyed Fonts"
1143    '(long-name "Adobe-Japan1-6"
1144                chars 256
1145                dimension 2
1146                columns 2
1147                graphic 2
1148                direction l2r
1149                mother =adobe-japan1-5
1150                registry "AdobeJapan1-6$"))
1151   )
1152
1153 ;;; mule-conf.el ends here