diff options
| author | Kenichi Handa | 2002-06-12 00:16:54 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2002-06-12 00:16:54 +0000 |
| commit | 66bff5ed10d3301121d129f27ee05e9ee1177045 (patch) | |
| tree | 4a9d544a7178583856657988911d75237533dc9b | |
| parent | fd6c8fc1ab0eff71323f1233d114de37d368286e (diff) | |
| download | emacs-66bff5ed10d3301121d129f27ee05e9ee1177045.tar.gz emacs-66bff5ed10d3301121d129f27ee05e9ee1177045.zip | |
Fix the last change.
| -rw-r--r-- | lisp/international/characters.el | 226 |
1 files changed, 67 insertions, 159 deletions
diff --git a/lisp/international/characters.el b/lisp/international/characters.el index 7cc0d0ce29a..bc2ed406486 100644 --- a/lisp/international/characters.el +++ b/lisp/international/characters.el | |||
| @@ -118,32 +118,19 @@ | |||
| 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 ?\《 "(》") |
| @@ -161,12 +148,12 @@ | |||
| 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 | ||
| @@ -302,122 +289,70 @@ | |||
| 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)) | ||
| 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 | 295 | ||
| 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 | ||
| @@ -432,41 +367,14 @@ | |||
| 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 | ||