Mercurial > emacs
comparison lisp/international/characters.el @ 88752:1aeb58b4f1e1
Fix the last change.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Wed, 12 Jun 2002 00:16:54 +0000 |
parents | a5f3605a5bb8 |
children | 45b498250bfb |
comparison
equal
deleted
inserted
replaced
88751:809b6bfe4dfa | 88752:1aeb58b4f1e1 |
---|---|
116 (setq charsets (cdr charsets)))) | 116 (setq charsets (cdr charsets)))) |
117 (modify-category-entry '(#x600 . #x6ff) ?b) | 117 (modify-category-entry '(#x600 . #x6ff) ?b) |
118 (modify-category-entry '(#xfb50 . #xfdff) ?b) | 118 (modify-category-entry '(#xfb50 . #xfdff) ?b) |
119 (modify-category-entry '(#xfe70 . #xfefe) ?b) | 119 (modify-category-entry '(#xfe70 . #xfefe) ?b) |
120 | 120 |
121 ;; Chinese characters (Unicode) | |
122 (modify-category-entry '(#x3400 . #x9FAF) ?C) | |
123 (modify-category-entry '(#x3400 . #x9FAF) ?c) | |
124 (modify-category-entry '(#x3400 . #x9FAF) ?|) | |
125 (modify-category-entry '(#xF900 . #xFAFF) ?C) | |
126 (modify-category-entry '(#xF900 . #xFAFF) ?c) | |
127 (modify-category-entry '(#xF900 . #xFAFF) ?|) | |
128 | |
121 ;; Chinese character set (GB2312) | 129 ;; Chinese character set (GB2312) |
122 | 130 |
123 (modify-syntax-entry (cons (make-char 'chinese-gb2312 33 33) | 131 (map-charset-chars #'modify-syntax-entry 'chinese-gb2312 "_" #x2121 #x217E) |
124 (make-char 'chinese-gb2312 33 126)) | 132 (map-charset-chars #'modify-syntax-entry 'chinese-gb2312 "_" #x2221 #x227E) |
125 "_") | 133 (map-charset-chars #'modify-syntax-entry 'chinese-gb2312 "_" #x2921 #x297E) |
126 (modify-syntax-entry (cons (make-char 'chinese-gb2312 34 33) | |
127 (make-char 'chinese-gb2312 34 126)) | |
128 "_") | |
129 (modify-syntax-entry (cons (make-char 'chinese-gb2312 41 33) | |
130 (make-char 'chinese-gb2312 41 126)) | |
131 "_") | |
132 (modify-category-entry (cons (make-char 'chinese-gb2312 35 33) | |
133 (make-char 'chinese-gb2312 35 126)) | |
134 ?A) | |
135 (modify-category-entry (cons (make-char 'chinese-gb2312 36 33) | |
136 (make-char 'chinese-gb2312 36 126)) | |
137 ?H) | |
138 (modify-category-entry (cons (make-char 'chinese-gb2312 37 33) | |
139 (make-char 'chinese-gb2312 37 126)) | |
140 ?K) | |
141 (modify-category-entry (cons (make-char 'chinese-gb2312 38 33) | |
142 (make-char 'chinese-gb2312 38 126)) | |
143 ?G) | |
144 (modify-category-entry (cons (make-char 'chinese-gb2312 39 33) | |
145 (make-char 'chinese-gb2312 39 126)) | |
146 ?Y) | |
147 (modify-syntax-entry ?\〔 "(〕") | 134 (modify-syntax-entry ?\〔 "(〕") |
148 (modify-syntax-entry ?\〈 "(〉") | 135 (modify-syntax-entry ?\〈 "(〉") |
149 (modify-syntax-entry ?\《 "(》") | 136 (modify-syntax-entry ?\《 "(》") |
150 (modify-syntax-entry ?\「 "(」") | 137 (modify-syntax-entry ?\「 "(」") |
151 (modify-syntax-entry ?\『 "(』") | 138 (modify-syntax-entry ?\『 "(』") |
159 (modify-syntax-entry ?\〗 ")〖") | 146 (modify-syntax-entry ?\〗 ")〖") |
160 (modify-syntax-entry ?\】 ")【") | 147 (modify-syntax-entry ?\】 ")【") |
161 | 148 |
162 (map-charset-chars #'modify-category-entry 'chinese-gb2312 ?c) | 149 (map-charset-chars #'modify-category-entry 'chinese-gb2312 ?c) |
163 (map-charset-chars #'modify-category-entry 'chinese-gb2312 ?|) | 150 (map-charset-chars #'modify-category-entry 'chinese-gb2312 ?|) |
164 (let ((row 48)) | 151 (map-charset-chars #'modify-category-entry 'chinese-gb2312 ?A #x2321 #x237E) |
165 (while (< row 127) | 152 (map-charset-chars #'modify-category-entry 'chinese-gb2312 ?H #x2421 #x247E) |
166 (modify-category-entry (cons (make-char 'chinese-gb2312 row 33) | 153 (map-charset-chars #'modify-category-entry 'chinese-gb2312 ?K #x2521 #x257E) |
167 (make-char 'chinese-gb2312 row 126)) | 154 (map-charset-chars #'modify-category-entry 'chinese-gb2312 ?G #x2621 #x267E) |
168 ?C) | 155 (map-charset-chars #'modify-category-entry 'chinese-gb2312 ?Y #x2721 #x277E) |
169 (setq row (1+ row)))) | 156 (map-charset-chars #'modify-category-entry 'chinese-gb2312 ?C #x3021 #x7E7E) |
170 | 157 |
171 ;; Chinese character set (BIG5) | 158 ;; Chinese character set (BIG5) |
172 | 159 |
173 (map-charset-chars #'modify-category-entry 'chinese-big5-1 ?c) | 160 (map-charset-chars #'modify-category-entry 'chinese-big5-1 ?c) |
174 (map-charset-chars #'modify-category-entry 'chinese-big5-2 ?c) | 161 (map-charset-chars #'modify-category-entry 'chinese-big5-2 ?c) |
300 (map-charset-chars #'modify-category-entry 'indian-2-column ?i) | 287 (map-charset-chars #'modify-category-entry 'indian-2-column ?i) |
301 | 288 |
302 | 289 |
303 ;; Japanese character set (JISX0201-kana, JISX0201-roman, JISX0208, JISX0212) | 290 ;; Japanese character set (JISX0201-kana, JISX0201-roman, JISX0208, JISX0212) |
304 | 291 |
305 (map-charset-chars | 292 (map-charset-chars #'modify-category-entry 'katakana-jisx0201 ?k) |
306 #'(lambda (char ignore) | 293 |
307 (if (consp char) | 294 (map-charset-chars #'modify-category-entry 'latin-jisx0201 ?r) |
308 (let ((from (car char)) | 295 |
309 (to (car char))) | |
310 (while (<= from to) | |
311 (modify-category-entry from ?k) | |
312 (setq from (1+ from)))) | |
313 (modify-category-entry char ?k))) | |
314 'katakana-jisx0201) | |
315 | |
316 (map-charset-chars | |
317 #'(lambda (char ignore) | |
318 (if (consp char) | |
319 (let ((from (car char)) | |
320 (to (cdr char))) | |
321 (while (<= from to) | |
322 (modify-category-entry from ?r) | |
323 (setq from (1+ from)))) | |
324 (modify-category-entry char ?r))) | |
325 'latin-jisx0201) | |
326 (dolist (l '(katakana-jisx0201 japanese-jisx0208 japanese-jisx0212)) | 296 (dolist (l '(katakana-jisx0201 japanese-jisx0208 japanese-jisx0212)) |
327 (map-charset-chars | 297 (map-charset-chars #'modify-category-entry l ?j) |
328 #'(lambda (char ignore) | 298 (map-charset-chars #'modify-category-entry l ?\|)) |
329 (if (consp char) | |
330 (let ((from (car char)) | |
331 (to (cdr char))) | |
332 (while (<= from to) | |
333 (modify-category-entry from ?j) | |
334 (modify-category-entry from ?\|) | |
335 (setq from (1+ from)))) | |
336 (modify-category-entry char ?j) | |
337 (modify-category-entry char ?\|))) | |
338 l)) | |
339 | 299 |
340 ;; Unicode equivalents of JISX0201-kana | 300 ;; Unicode equivalents of JISX0201-kana |
341 (let ((c #xff61)) | 301 (let ((range '(#xff61 . #xff9f))) |
342 (while (<= c #xff9f) | 302 (modify-category-entry range ?k) |
343 (modify-category-entry c ?k) | 303 (modify-category-entry range ?j) |
344 (modify-category-entry c ?j) | 304 (modify-category-entry range ?\|)) |
345 (modify-category-entry c ?\|) | |
346 (setq c (1+ c)))) | |
347 | 305 |
348 ;; Katakana block | 306 ;; Katakana block |
349 (let ((c #x30a0)) | 307 (let ((range '(#x30a0 . #x30ff))) |
350 (while (<= c #x30ff) | 308 ;; ?K is double width, ?k isn't specified |
351 ;; ?K is double width, ?k isn't specified | 309 (modify-category-entry range ?K) |
352 (modify-category-entry c ?K) | 310 (modify-category-entry range ?\|)) |
353 (modify-category-entry c ?\|) | |
354 (setq c (1+ c)))) | |
355 | 311 |
356 ;; Hiragana block | 312 ;; Hiragana block |
357 (let ((c #x3040)) | 313 (let ((range '(#x3040 . #x309f))) |
358 (while (<= c #x309f) | 314 ;; ?H is actually defined to be double width |
359 ;; ?H is actually defined to be double width | 315 ;;(modify-category-entry range ?H) |
360 (modify-category-entry c ?H) | 316 ;;(modify-category-entry range ?\|) |
361 (modify-category-entry c ?\|) | 317 ) |
362 (setq c (1+ c)))) | |
363 | 318 |
364 ;; JISX0208 | 319 ;; JISX0208 |
365 (modify-syntax-entry (cons (decode-char 'japanese-jisx0208 #x2121) | 320 (map-charset-chars #'modify-syntax-entry 'japanese-jisx0208 "_" #x2121 #x227E) |
366 (decode-char 'japanese-jisx0208 #x227E)) "_") | 321 (map-charset-chars #'modify-syntax-entry 'japanese-jisx0208 "_" #x2821 #x287E) |
367 (modify-syntax-entry (cons (decode-char 'japanese-jisx0208 #x2821) | 322 (let ((chars '(?ー ?゛ ?゜ ?ヽ ?ヾ ?ゝ ?ゞ ?〃 ?仝 ?々 ?〆 ?〇))) |
368 (decode-char 'japanese-jisx0208 #x287E)) "_") | |
369 (let ((chars '(? ? ? ? ? ? ? ? ? ? ? ?))) | |
370 (dolist (elt chars) | 323 (dolist (elt chars) |
371 (modify-syntax-entry (car chars) "w"))) | 324 (modify-syntax-entry (car chars) "w"))) |
372 (modify-syntax-entry ?\ "(") | 325 (modify-syntax-entry ?\( "()") |
373 (modify-syntax-entry ?\ "(") | 326 (modify-syntax-entry ?\[ "(]") |
374 (modify-syntax-entry ?\ "(") | 327 (modify-syntax-entry ?\{ "(}") |
375 (modify-syntax-entry ?\ "(") | 328 (modify-syntax-entry ?\「 "(」") |
376 (modify-syntax-entry ?\ "(") | 329 (modify-syntax-entry ?\『 "(』") |
377 (modify-syntax-entry ?\ ")") | 330 (modify-syntax-entry ?\) ")(") |
378 (modify-syntax-entry ?\ ")") | 331 (modify-syntax-entry ?\] ")[") |
379 (modify-syntax-entry ?\ ")") | 332 (modify-syntax-entry ?\} "){") |
380 (modify-syntax-entry ?\ ")") | 333 (modify-syntax-entry ?\」 ")「") |
381 (modify-syntax-entry ?\ ")") | 334 (modify-syntax-entry ?\』 ")『") |
382 | 335 |
383 (modify-category-entry (cons (decode-char 'japanese-jisx0208 #x2321) | 336 (map-charset-chars #'modify-category-entry 'japanese-jisx0208 ?A #x2321 #x237E) |
384 (decode-char 'japanese-jisx0208 #x237E)) ?A) | 337 (map-charset-chars #'modify-category-entry 'japanese-jisx0208 ?H #x2421 #x247E) |
385 (modify-category-entry (cons (decode-char 'japanese-jisx0208 #x2421) | 338 (map-charset-chars #'modify-category-entry 'japanese-jisx0208 ?K #x2521 #x257E) |
386 (decode-char 'japanese-jisx0208 #x247E)) ?H) | 339 (map-charset-chars #'modify-category-entry 'japanese-jisx0208 ?G #x2621 #x267E) |
387 (modify-category-entry (cons (decode-char 'japanese-jisx0208 #x2521) | 340 (map-charset-chars #'modify-category-entry 'japanese-jisx0208 ?Y #x2721 #x277E) |
388 (decode-char 'japanese-jisx0208 #x257E)) ?K) | 341 (map-charset-chars #'modify-category-entry 'japanese-jisx0208 ?C #x3021 #x7E7E) |
389 (modify-category-entry (cons (decode-char 'japanese-jisx0208 #x2621) | 342 (modify-category-entry ?ー ?K) |
390 (decode-char 'japanese-jisx0208 #x267E)) ?G) | 343 (let ((chars '(?゛ ?゜))) |
391 (modify-category-entry (cons (decode-char 'japanese-jisx0208 #x2721) | |
392 (decode-char 'japanese-jisx0208 #x277E)) ?Y) | |
393 (modify-category-entry (cons (decode-char 'japanese-jisx0208 #x3021) | |
394 (decode-char 'japanese-jisx0208 #x7E7E)) ?C) | |
395 (modify-category-entry ? ?K) | |
396 (let ((chars '(? ?))) | |
397 (while chars | 344 (while chars |
398 (modify-category-entry (car chars) ?K) | 345 (modify-category-entry (car chars) ?K) |
399 (modify-category-entry (car chars) ?H) | 346 (modify-category-entry (car chars) ?H) |
400 (setq chars (cdr chars)))) | 347 (setq chars (cdr chars)))) |
401 (let ((chars '(? ? ? ? ? ? ? ? ?))) | 348 (let ((chars '(?ヽ ?ヾ ?ゝ ?ゞ ?〃 ?仝 ?々 ?〆 ?〇))) |
402 (while chars | 349 (while chars |
403 (modify-category-entry (car chars) ?C) | 350 (modify-category-entry (car chars) ?C) |
404 (setq chars (cdr chars)))) | 351 (setq chars (cdr chars)))) |
405 | 352 |
406 ;; JISX0212 | 353 ;; JISX0212 |
407 | 354 |
408 (modify-syntax-entry (cons (make-char 'japanese-jisx0212 33 33) | 355 (map-charset-chars #'modify-syntax-entry 'japanese-jisx0212 "_" #x2121 #x237E) |
409 (make-char 'japanese-jisx0212 33 126)) | |
410 "_") | |
411 (modify-syntax-entry (cons (make-char 'japanese-jisx0212 34 33) | |
412 (make-char 'japanese-jisx0212 34 126)) | |
413 "_") | |
414 (modify-syntax-entry (cons (make-char 'japanese-jisx0212 35 33) | |
415 (make-char 'japanese-jisx0212 35 126)) | |
416 "_") | |
417 | |
418 (modify-syntax-entry (cons (decode-char 'japanese-jisx0212 #x2121) | |
419 (decode-char 'japanese-jisx0212 #x237E)) | |
420 "_") | |
421 | 356 |
422 ;; JISX0201-Kana | 357 ;; JISX0201-Kana |
423 | 358 |
424 (let ((chars '(?。 ?、 ?・))) | 359 (let ((chars '(?。 ?、 ?・))) |
425 (while chars | 360 (while chars |
430 (modify-syntax-entry ?\」 "(「") | 365 (modify-syntax-entry ?\」 "(「") |
431 | 366 |
432 ;; Korean character set (KSC5601) | 367 ;; Korean character set (KSC5601) |
433 | 368 |
434 (map-charset-chars #'modify-category-entry 'korean-ksc5601 ?h) | 369 (map-charset-chars #'modify-category-entry 'korean-ksc5601 ?h) |
435 (modify-syntax-entry (cons (make-char 'korean-ksc5601 33 33) | 370 |
436 (make-char 'korean-ksc5601 33 126)) | 371 (map-charset-chars #'modify-syntax-entry 'korean-ksc5601 "_" #x2121 #x227E) |
437 "_") | 372 (map-charset-chars #'modify-syntax-entry 'korean-ksc5601 "_" #x2621 #x297E) |
438 ;; Fixme: Giving `invalid code' because the charset has holes -- | 373 (map-charset-chars #'modify-category-entry 'korean-ksc5601 ?A #x2321 #x237E) |
439 ;; presumably map should be used just for unification. | 374 (map-charset-chars #'modify-category-entry 'korean-ksc5601 ?G #x2521 #x257E) |
440 ;; (modify-syntax-entry (cons (make-char 'korean-ksc5601 34 33) | 375 (map-charset-chars #'modify-category-entry 'korean-ksc5601 ?H #x2A21 #x2A7E) |
441 ;; (make-char 'korean-ksc5601 34 126)) | 376 (map-charset-chars #'modify-category-entry 'korean-ksc5601 ?K #x2B21 #x2B7E) |
442 ;; "_") | 377 (map-charset-chars #'modify-category-entry 'korean-ksc5601 ?Y #x2C21 #x2C7E) |
443 ;; (modify-syntax-entry (cons (make-char 'korean-ksc5601 38 33) | |
444 ;; (make-char 'korean-ksc5601 38 126)) | |
445 ;; "_") | |
446 ;; (modify-syntax-entry (cons (make-char 'korean-ksc5601 39 33) | |
447 ;; (make-char 'korean-ksc5601 39 126)) | |
448 ;; "_") | |
449 (modify-syntax-entry (cons (make-char 'korean-ksc5601 40 33) | |
450 (make-char 'korean-ksc5601 40 126)) | |
451 "_") | |
452 (modify-syntax-entry (cons (make-char 'korean-ksc5601 41 33) | |
453 (make-char 'korean-ksc5601 41 126)) | |
454 "_") | |
455 (modify-category-entry (cons (make-char 'korean-ksc5601 35 33) | |
456 (make-char 'korean-ksc5601 35 126)) | |
457 ?A) | |
458 ;; (modify-category-entry (cons (make-char 'korean-ksc5601 37 33) | |
459 ;; (make-char 'korean-ksc5601 37 126)) | |
460 ;; ?G) | |
461 ;; (modify-category-entry (cons (make-char 'korean-ksc5601 42 33) | |
462 ;; (make-char 'korean-ksc5601 42 126)) | |
463 ;; ?H) | |
464 ;; (modify-category-entry (cons (make-char 'korean-ksc5601 43 33) | |
465 ;; (make-char 'korean-ksc5601 43 126)) | |
466 ;; ?K) | |
467 ;; (modify-category-entry (cons (make-char 'korean-ksc5601 44 33) | |
468 ;; (make-char 'korean-ksc5601 44 126)) | |
469 ;; ?Y) | |
470 | 378 |
471 ;; Latin | 379 ;; Latin |
472 | 380 |
473 (modify-category-entry '(#x80 . #x024F) ?l) | 381 (modify-category-entry '(#x80 . #x024F) ?l) |
474 | 382 |