(gt-pj-1-and-jis-x0208-1990-different-code-points): Add #x5A40,
[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                 "C7-to-UCS.txt"
11                 "B-to-UCS.txt" "JC3-to-UCS.txt"))
12   (mapping-table-read-file (expand-file-name file "../etc/char-data/")))
13
14 (ucs-compat-read-file "../etc/char-data/UCS-compat.txt")
15
16 (jp-jouyou-read-file "../etc/char-data/jp-jouyou.txt")
17
18 (let ((ucs #xE000)
19       big5 chr
20       ret)
21   (while (<= ucs #xF848)
22     (setq chr (decode-char 'ucs ucs))
23     (when (setq big5 (get-char-attribute chr '=big5-pua))
24       (when (setq chr (decode-char '=big5-cdp big5))
25         (unless (get-char-attribute chr '=big5-cdp)
26           (put-char-attribute chr '=big5-cdp big5))))
27     (setq ucs (1+ ucs))))
28
29
30 (setq gt-pj-1-and-jis-x0208-1990-different-code-points
31       '(#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         #x3071 #x332A #x516A #x476D #x3675
65         #x5734 #x552D #x565A #x564B #x5B79
66         #x5C74 #x5C27 #x5B5E #x3564 #x3823
67         #x6131 #x4A4D #x632E #x635E #x3729
68         #x3951 #x6967 #x704B #x3C38 #x6B26
69         #x4749 #x4428 #x3A47 #x6E4E #x4269
70         #x4043 #x6E56 #x6132 #x5C54 #x3557
71         #x5827 #x4C68 #x505B #x514A #x5D27
72         #x5563 #x5D7A #x4575 #x5F7C #x3B38
73         #x3237 #x3B51 #x596E #x5B5B #x6640
74         #x6D75 #x4D2C #x737B #x7379 #x5E7A
75         #x3E7A #x3865 #x557B #x436B #x413B
76         #x562D #x4C28 #x562F #x5631 #x5632
77         #x5633 #x5635 #x463D #x362E #x3265
78         #x563B #x4A76 #x5638 #x5637 #x3A6A
79         #x5642 #x563D #x5647 #x5641 #x5644
80         #x5648 #x564A #x3A37 #x564F #x4568
81         #x5653 #x5652 #x5654 #x5655 #x5659
82         #x565C #x3474 #x562E #x5630 #x5639
83         #x3D54 #x5645 #x564E #x5651 #x564C
84         #x3460 #x565B #x5628 #x5726 #x5759
85         #x583E #x5833 #x5843 #x584E #x5860
86         #x585D #x4463 #x4C31 #x5351 #x6243
87         #x587A #x5921 #x4879 #x4530 #x4863
88         #x5932 #x3E35 #x4D5E #x5A2D #x4471
89         #x5939 #x3348 #x3969 #x594D #x3044
90         #x594B #x3027 #x3F36 #x405C #x5964
91         #x5962 #x5953 #x5977 #x3B35 #x4531
92         #x5A26 #x5A2B #x5A2F #x5A36 #x5A37
93         #x5A3B #x5A2C #x5A2A #x5A40 #x5A3F
94         #x5A41 #x327E #x384E #x5A43 #x5A47
95         #x5A45 #x4754 #x343A #x3B36 #x4658
96         #x3749 #x3F74 #x4528 #x4030 #x5A4C
97         #x507B #x507E #x5353 #x5A44 #x6E2B))
98
99 (map-char-attribute
100  (lambda (c v)
101    (unless (memq v gt-pj-1-and-jis-x0208-1990-different-code-points)
102      (put-char-attribute (decode-char 'japanese-jisx0208-1990 v)
103                          '=gt-pj-1 v))
104    nil)
105  '=gt-pj-1)
106
107 (let ((default-coded-charset-priority-list
108         '(=gt-pj-1
109           =gt-pj-2
110           =gt-pj-3
111           =gt-pj-4
112           =gt-pj-5
113           =gt-pj-6
114           =gt-pj-7
115           =gt-pj-8
116           =gt-pj-9
117           =gt-pj-10
118           =gt-pj-11
119           =gt-pj-k1
120           =gt-pj-k2))
121       (i 1)
122       chr ret)
123   (while (<= i 12000)
124     (when (and (setq ret (decode-char '=gt-k i))
125                (setq ret (split-char ret))
126                (memq (car ret) default-coded-charset-priority-list))
127       (when (setq chr (apply (function make-char) ret))
128         (put-char-attribute chr '=gt-k i)))
129     (setq i (1+ i))))
130
131 ;; (let (gt ret)
132 ;;   (dolist (ccs '(=gt-pj-1
133 ;;                  =gt-pj-2
134 ;;                  =gt-pj-3
135 ;;                  =gt-pj-4
136 ;;                  =gt-pj-5
137 ;;                  =gt-pj-6
138 ;;                  =gt-pj-7
139 ;;                  =gt-pj-8
140 ;;                  =gt-pj-9
141 ;;                  =gt-pj-10
142 ;;                  =gt-pj-11))
143 ;;     (map-char-attribute
144 ;;      (lambda (c v)
145 ;;        (when (setq gt (encode-char c '=gt))
146 ;;          (put-char-attribute c '=gt gt)
147 ;;          (put-char-attribute (decode-char ccs v) '=gt gt))
148 ;;        nil)
149 ;;      ccs)))
150
151 ;; (let (ret)
152 ;;   (dolist (feature
153 ;;            (let (dest)
154 ;;              (dolist (feature (char-attribute-list))
155 ;;                (when (string-match "\\*sources\\($\\|@[^\\*]+$\\)"
156 ;;                                    (symbol-name feature))
157 ;;                  (setq dest (cons feature dest))))
158 ;;              dest))
159 ;;     (map-char-attribute
160 ;;      (lambda (c v)
161 ;;        (when (setq ret (memq 'shinjigen-1 v))
162 ;;          (setcar ret 'shinjigen@1ed))
163 ;;        (when (setq ret (memq 'shinjigen-2 v))
164 ;;          (setcar ret 'shinjigen@rev))
165 ;;        nil)
166 ;;      feature)))
167
168 ;; (map-char-attribute
169 ;;  (lambda (c v)
170 ;;    (when (eq (encode-char c '=shinjigen@rev) v)
171 ;;      (put-char-attribute c '=shinjigen v)
172 ;;      (remove-char-attribute c '=shinjigen@1ed)
173 ;;      (remove-char-attribute c '=shinjigen@rev)
174 ;;      )
175 ;;    nil)
176 ;;  '=shinjigen@1ed)
177
178 ;; (let (ret)
179 ;;   (dolist (feature
180 ;;            (let (dest)
181 ;;              (dolist (feature (char-attribute-list))
182 ;;                (when (string-match "\\*sources\\($\\|@[^\\*]+$\\)"
183 ;;                                    (symbol-name feature))
184 ;;                  (setq dest (cons feature dest))))
185 ;;              dest))
186 ;;     (map-char-attribute
187 ;;      (lambda (c v)
188 ;;        (cond ((setq ret (memq 'shinjigen@1ed v))
189 ;;               (when (memq 'shinjigen@rev ret)
190 ;;                 (setcar ret 'shinjigen)
191 ;;                 (delq 'shinjigen@rev ret)
192 ;;                 ))
193 ;;              ((setq ret (memq 'shinjigen@rev v))
194 ;;               (when (memq 'shinjigen@1ed ret)
195 ;;                 (setcar ret 'shinjigen)
196 ;;                 (delq 'shinjigen@1ed ret)
197 ;;                 )))
198 ;;        nil)
199 ;;      feature)))
200
201 (dolist (ccs '(=jis-x0208 =jis-x0208@1990))
202   (map-char-attribute
203    (lambda (c v)
204      (unless (eq (encode-char c '=jis-x0213-1@2000) v)
205        (put-char-attribute c '=jis-x0213-1 v))
206      nil)
207    ccs))
208
209 (with-temp-buffer
210   (buffer-disable-undo)
211   (insert-file-contents "../etc/char-data/JX3-JX1-rep-diff.txt")
212   (goto-char (point-min))
213   (let (ku ten char code ucs)
214     (while (re-search-forward "^1-\\([0-9]+\\)-\\([0-9]+\\)[ \t]+" nil t)
215       (setq ku (string-to-number (match-string 1))
216             ten (string-to-number (match-string 2)))
217       (setq char (make-char '=jis-x0213-1@2000 (+ ku 32)(+ ten 32)))
218       (setq code (encode-char char '=jis-x0213-1@2000))
219       (put-char-attribute char '=jis-x0213-1@2000 code)
220       (remove-char-attribute char '=jis-x0213-1)
221       (remove-char-attribute char '=jis-x0213-1@2004)
222       (setq ucs (encode-char char '=ucs@jis/2000))
223       (remove-char-attribute char '=ucs@jis)
224       (remove-char-attribute char '=ucs@jis/2004)
225       (when (setq char (decode-char '=jis-x0213-1@2004 code))
226         (unless (eq (encode-char char '=ucs@jis/2004) ucs)
227           (put-char-attribute char '=ucs@jis/2004 ucs)))
228       (unless (eq code #x332A)
229         (when (setq char (decode-char '=>jis-x0208@1997 code 'defined-only))
230           (unless (eq (encode-char char '=>>jis-x0208) code)
231             (unless (eq (encode-char char '=+>jis-x0208) code)
232               (put-char-attribute char '=>jis-x0208 code)
233               (remove-char-attribute char '=>jis-x0208@1997)))))
234       )))
235
236 (map-char-attribute
237  (lambda (c v)
238    (unless (eq (encode-char c '=>jis-x0213-1) v)
239      (put-char-attribute c '=>jis-x0213-1 v))
240    nil)
241  '=>jis-x0208)
242
243 (dolist (aj1-f '(=>>>adobe-japan1 =>>adobe-japan1))
244   (map-char-attribute
245    (lambda (c v)
246      (cond
247       ((<= v 8283)
248        (remove-char-attribute c aj1-f)
249        (put-char-attribute c (intern (format "%s-0" aj1-f)) v)
250        )
251       ((<= v 8358)
252        (remove-char-attribute c aj1-f)
253        (put-char-attribute c (intern (format "%s-1" aj1-f)) v)
254        )
255       ((<= v 8719)
256        (remove-char-attribute c aj1-f)
257        (put-char-attribute c (intern (format "%s-2" aj1-f)) v)
258        )
259       ((<= v 9353)
260        (remove-char-attribute c aj1-f)
261        (put-char-attribute c (intern (format "%s-3" aj1-f)) v)
262        )
263       ((<= v 15443)
264        (remove-char-attribute c aj1-f)
265        (put-char-attribute c (intern (format "%s-4" aj1-f)) v)
266        )
267       ((<= v 20316)
268        (remove-char-attribute c aj1-f)
269        (put-char-attribute c (intern (format "%s-5" aj1-f)) v)
270        )
271       ((<= v 23057)
272        (remove-char-attribute c aj1-f)
273        (put-char-attribute c (intern (format "%s-6" aj1-f)) v)
274        ))
275      nil)
276    aj1-f))