Reformatted.
[chise/xemacs-chise.git.1] / lisp / utf-2000 / maps-conf.el
1 (require 'read-maps)
2
3 (dolist (file '("J90-to-UCS.txt" "JSP-to-UCS.txt"
4                 "JX1-to-UCS.txt" "JX2-to-UCS.txt"
5                 "K0-to-UCS.txt"
6                 "G0-to-UCS.txt"
7                 "C2-to-UCS.txt"
8                 "C3-to-UCS.txt" "C4-to-UCS.txt"
9                 "C5-to-UCS.txt" "C6-to-UCS.txt"
10                 "B-to-UCS.txt" "JC3-to-UCS.txt"))
11   (mapping-table-read-file (expand-file-name file "../etc/char-data/")))
12
13 (ucs-compat-read-file "../etc/char-data/UCS-compat.txt")
14
15 (jp-jouyou-read-file "../etc/char-data/jp-jouyou.txt")
16
17 (let ((ucs #xE000)
18       big5 chr
19       ret)
20   (while (<= ucs #xF848)
21     (setq chr (decode-char 'ucs ucs))
22     (when (setq big5 (get-char-attribute chr '=big5-pua))
23       (when (setq chr (decode-char '=big5-cdp big5))
24         (unless (get-char-attribute chr '=big5-cdp)
25           (put-char-attribute chr '=big5-cdp big5))))
26     (setq ucs (1+ ucs))))
27
28
29 (map-char-attribute
30  (lambda (c v)
31    (unless (memq v '(#x5C37 #x5C52 #x3521 #x5D62 #x5F4A
32                      #x5F5B #x6062 #x4849 #x6173 #x306B
33                      #x6328 #x6352 #x6362 #x6471 #x6524
34                      #x6530 #x6549 #x6628 #x4356 #x665C
35                      #x665D #x6661 #x6660 #x6663 #x4F38
36                      #x666B #x4C2E #x6724 #x3D58 #x682B
37                      #x427B #x4978 #x694A #x303A #x6A44
38                      #x6B43 #x6B78 #x6C2E #x6C57 #x6D36
39                      #x6D3A #x3D34 #x4A56 #x3063 #x3D3F
40                      #x6E60 #x6F52 #x6F5C #x3458 #x4262
41                      #x4E59 #x6F58 #x7051 #x7056 #x375B
42                      #x7123 #x712A #x3142 #x3B41 #x7149
43                      #x7165 #x7227 #x7233 #x733B #x4E6F
44                      #x7366 #x7367 #x7368 #x736C #x5423
45                      #x342A #x3476 #x5877 #x592D #x5A61
46                      #x3522 #x334C #x657D #x657E #x6621
47                      #x335C #x6D7D #x507C #x417C #x5371
48                      #x3766 #x3E7D #x555D #x5739 #x5831
49                      #x3F78 #x5973 #x5A33 #x5970 #x5A49
50                      #x3F22 #x6026 #x4D32 #x612E #x4D63
51                      #x4E57 #x316A #x4A43 #x723C #x6A64
52                      #x6B36 #x6E43 #x3D36 #x6E44 #x3C60
53                      #x6E45 #x6E46 #x6E48 #x6E4B #x6E4A
54                      #x6E4F #x6E52 #x6E51 #x4830 #x6E54
55                      #x6E55 #x395A #x724D #x737D #x3973
56                      #x5379 #x5879 #x3D5D #x3C21 #x4C60
57                      #x5267 #x722F #x3C39 #x3848 #x5578
58                      #x4742 #x6950 #x697C #x6A24 #x5350
59                      #x3326 #x5575 #x5A4B #x3647 #x343F
60                      #x4337 #x492D #x3F6C #x6E4D #x4F3F
61                      #x353D #x4324 #x475B #x6E47 #x4371
62                      #x3F5D #x6E49 #x4D6F #x3C72 #x3D37
63                      #x6E4C #x3B44 #x734E #x5567 #x545A))
64      (put-char-attribute (decode-char 'japanese-jisx0208-1990 v)
65                          '=gt-pj-1 v))
66    nil)
67  '=gt-pj-1)
68
69 (let ((default-coded-charset-priority-list
70         '(=gt-pj-1
71           =gt-pj-2
72           =gt-pj-3
73           =gt-pj-4
74           =gt-pj-5
75           =gt-pj-6
76           =gt-pj-7
77           =gt-pj-8
78           =gt-pj-9
79           =gt-pj-10
80           =gt-pj-11
81           =gt-pj-k1
82           =gt-pj-k2))
83       (i 1)
84       chr ret)
85   (while (<= i 12000)
86     (when (and (setq ret (decode-char '=gt-k i))
87                (setq ret (split-char ret))
88                (memq (car ret) default-coded-charset-priority-list))
89       (when (setq chr (apply (function make-char) ret))
90         (put-char-attribute chr '=gt-k i)))
91     (setq i (1+ i))))
92
93 (let (gt)
94   (dolist (ccs '(=gt-pj-1
95                  =gt-pj-2
96                  =gt-pj-3
97                  =gt-pj-4
98                  =gt-pj-5
99                  =gt-pj-6
100                  =gt-pj-7
101                  =gt-pj-8
102                  =gt-pj-9
103                  =gt-pj-10
104                  =gt-pj-11))
105     (map-char-attribute
106      (lambda (c v)
107        (when (setq gt (encode-char c '=gt))
108          (put-char-attribute c '=gt gt)
109          (put-char-attribute (decode-char ccs v) '=gt gt))
110        nil)
111      ccs)))
112
113 ;; (let (ret)
114 ;;   (dolist (feature
115 ;;            (let (dest)
116 ;;              (dolist (feature (char-attribute-list))
117 ;;                (when (string-match "\\*sources\\($\\|@[^\\*]+$\\)"
118 ;;                                    (symbol-name feature))
119 ;;                  (setq dest (cons feature dest))))
120 ;;              dest))
121 ;;     (map-char-attribute
122 ;;      (lambda (c v)
123 ;;        (when (setq ret (memq 'shinjigen-1 v))
124 ;;          (setcar ret 'shinjigen@1ed))
125 ;;        (when (setq ret (memq 'shinjigen-2 v))
126 ;;          (setcar ret 'shinjigen@rev))
127 ;;        nil)
128 ;;      feature)))
129
130 (map-char-attribute
131  (lambda (c v)
132    (when (eq (encode-char c '=shinjigen@rev) v)
133      (put-char-attribute c '=shinjigen v)
134      (remove-char-attribute c '=shinjigen@1ed)
135      (remove-char-attribute c '=shinjigen@rev)
136      )
137    nil)
138  '=shinjigen@1ed)
139
140 (let (ret)
141   (dolist (feature
142            (let (dest)
143              (dolist (feature (char-attribute-list))
144                (when (string-match "\\*sources\\($\\|@[^\\*]+$\\)"
145                                    (symbol-name feature))
146                  (setq dest (cons feature dest))))
147              dest))
148     (map-char-attribute
149      (lambda (c v)
150        (cond ((setq ret (memq 'shinjigen@1ed v))
151               (when (memq 'shinjigen@rev ret)
152                 (setcar ret 'shinjigen)
153                 (delq 'shinjigen@rev ret)
154                 ))
155              ((setq ret (memq 'shinjigen@rev v))
156               (when (memq 'shinjigen@1ed ret)
157                 (setcar ret 'shinjigen)
158                 (delq 'shinjigen@1ed ret)
159                 )))
160        nil)
161      feature)))