aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2002-03-01 02:06:19 +0000
committerKenichi Handa2002-03-01 02:06:19 +0000
commit55bd52ea72a8ac065e9beba6080ee9214cf7b582 (patch)
treedf722957a2471a6af46cbef84d6bb6bd83b10e10
parent2494c91bdb78889e446db8c226613ab050239cba (diff)
downloademacs-55bd52ea72a8ac065e9beba6080ee9214cf7b582.tar.gz
emacs-55bd52ea72a8ac065e9beba6080ee9214cf7b582.zip
Adjusted for the deletion of generic characters.
-rw-r--r--lisp/international/characters.el288
1 files changed, 168 insertions, 120 deletions
diff --git a/lisp/international/characters.el b/lisp/international/characters.el
index f9260f965ab..64b6e6abd34 100644
--- a/lisp/international/characters.el
+++ b/lisp/international/characters.el
@@ -3,6 +3,9 @@
3;; Copyright (C) 1995, 1997 Electrotechnical Laboratory, JAPAN. 3;; Copyright (C) 1995, 1997 Electrotechnical Laboratory, JAPAN.
4;; Licensed to the Free Software Foundation. 4;; Licensed to the Free Software Foundation.
5;; Copyright (C) 2001 Free Software Foundation, Inc. 5;; Copyright (C) 2001 Free Software Foundation, Inc.
6;; Copyright (C) 2001, 2002
7;; National Institute of Advanced Industrial Science and Technology (AIST)
8;; Registration Number H13PRO009
6 9
7;; Keywords: multibyte character, character set, syntax, category 10;; Keywords: multibyte character, character set, syntax, category
8 11
@@ -112,7 +115,16 @@
112 arabic-2-column))) 115 arabic-2-column)))
113 (while charsets 116 (while charsets
114;; (modify-syntax-entry (make-char (car charsets)) "w") 117;; (modify-syntax-entry (make-char (car charsets)) "w")
115 (modify-category-entry (make-char (car charsets)) ?b) 118 (map-charset-chars
119 #'(lambda (char ignore)
120 (if (consp char)
121 (let ((from (car char))
122 (to (cdr char)))
123 (while (<= from to)
124 (modify-category-entry from ?b)
125 (setq from (1+ from))))
126 (modify-category-entry char ?b)))
127 (car charsets))
116 (setq charsets (cdr charsets)))) 128 (setq charsets (cdr charsets))))
117(let ((ch #x600)) 129(let ((ch #x600))
118 (while (<= ch #x6ff) 130 (while (<= ch #x6ff)
@@ -130,9 +142,9 @@
130;; Chinese character set (GB2312) 142;; Chinese character set (GB2312)
131 143
132;; (modify-syntax-entry (make-char 'chinese-gb2312) "w") 144;; (modify-syntax-entry (make-char 'chinese-gb2312) "w")
133(modify-syntax-entry (make-char 'chinese-gb2312 33) "_") 145;; (modify-syntax-entry (make-char 'chinese-gb2312 33) "_")
134(modify-syntax-entry (make-char 'chinese-gb2312 34) "_") 146;; (modify-syntax-entry (make-char 'chinese-gb2312 34) "_")
135(modify-syntax-entry (make-char 'chinese-gb2312 41) "_") 147;; (modify-syntax-entry (make-char 'chinese-gb2312 41) "_")
136(modify-syntax-entry ?\$A!2(B "($A!3(B") 148(modify-syntax-entry ?\$A!2(B "($A!3(B")
137(modify-syntax-entry ?\$A!4(B "($A!5(B") 149(modify-syntax-entry ?\$A!4(B "($A!5(B")
138(modify-syntax-entry ?\$A!6(B "($A!7(B") 150(modify-syntax-entry ?\$A!6(B "($A!7(B")
@@ -163,58 +175,56 @@
163(modify-syntax-entry ?\$,2=W(B ")$,2=V(B") 175(modify-syntax-entry ?\$,2=W(B ")$,2=V(B")
164(modify-syntax-entry ?\$,2=Q(B ")$,2=P(B") 176(modify-syntax-entry ?\$,2=Q(B ")$,2=P(B")
165 177
166(modify-category-entry (make-char 'chinese-gb2312) ?c) 178;; (modify-category-entry (make-char 'chinese-gb2312) ?c)
167(modify-category-entry (make-char 'chinese-gb2312) ?\|) 179;; (modify-category-entry (make-char 'chinese-gb2312) ?\|)
168(modify-category-entry (make-char 'chinese-gb2312 35) ?A) 180;; (modify-category-entry (make-char 'chinese-gb2312 35) ?A)
169(modify-category-entry (make-char 'chinese-gb2312 36) ?H) 181;; (modify-category-entry (make-char 'chinese-gb2312 36) ?H)
170(modify-category-entry (make-char 'chinese-gb2312 37) ?K) 182;; (modify-category-entry (make-char 'chinese-gb2312 37) ?K)
171(modify-category-entry (make-char 'chinese-gb2312 38) ?G) 183;; (modify-category-entry (make-char 'chinese-gb2312 38) ?G)
172(modify-category-entry (make-char 'chinese-gb2312 39) ?Y) 184;; (modify-category-entry (make-char 'chinese-gb2312 39) ?Y)
173(let ((row 48)) 185;; (let ((row 48))
174 (while (< row 127) 186;; (while (< row 127)
175 (modify-category-entry (make-char 'chinese-gb2312 row) ?C) 187;; (modify-category-entry (make-char 'chinese-gb2312 row) ?C)
176 (setq row (1+ row)))) 188;; (setq row (1+ row))))
177 189
178;; Chinese character set (BIG5) 190;; Chinese character set (BIG5)
179 191
180(let ((generic-big5-1-char (make-char 'chinese-big5-1)) 192;; (let ((generic-big5-1-char (make-char 'chinese-big5-1))
181 (generic-big5-2-char (make-char 'chinese-big5-2))) 193;; (generic-big5-2-char (make-char 'chinese-big5-2)))
182;; (modify-syntax-entry generic-big5-1-char "w") 194;; (modify-syntax-entry generic-big5-1-char "w")
183;; (modify-syntax-entry generic-big5-2-char "w") 195;; (modify-syntax-entry generic-big5-2-char "w")
184 196
185 (modify-category-entry generic-big5-1-char ?c) 197;; (modify-category-entry generic-big5-1-char ?c)
186 (modify-category-entry generic-big5-2-char ?c) 198;; (modify-category-entry generic-big5-2-char ?c)
187 199
188 (modify-category-entry generic-big5-1-char ?C) 200;; (modify-category-entry generic-big5-1-char ?C)
189 (modify-category-entry generic-big5-2-char ?C) 201;; (modify-category-entry generic-big5-2-char ?C)
190 202
191 (modify-category-entry generic-big5-1-char ?\|) 203;; (modify-category-entry generic-big5-1-char ?\|)
192 (modify-category-entry generic-big5-2-char ?\|)) 204;; (modify-category-entry generic-big5-2-char ?\|))
193 205
194 206
195;; Chinese character set (CNS11643) 207;; Chinese character set (CNS11643)
196 208
197(let ((cns-list '(chinese-cns11643-1 209;; (let ((cns-list '(chinese-cns11643-1
198 chinese-cns11643-2 210;; chinese-cns11643-2
199 chinese-cns11643-3 211;; chinese-cns11643-3
200 chinese-cns11643-4 212;; chinese-cns11643-4
201 chinese-cns11643-5 213;; chinese-cns11643-5
202 chinese-cns11643-6 214;; chinese-cns11643-6
203 chinese-cns11643-7)) 215;; chinese-cns11643-7))
204 generic-char) 216;; generic-char)
205 (while cns-list 217;; (while cns-list
206 (setq generic-char (make-char (car cns-list))) 218;; (setq generic-char (make-char (car cns-list)))
207;; (modify-syntax-entry generic-char "w") 219;; (modify-syntax-entry generic-char "w")
208 (modify-category-entry generic-char ?c) 220;; (modify-category-entry generic-char ?c)
209 (modify-category-entry generic-char ?C) 221;; (modify-category-entry generic-char ?C)
210 (modify-category-entry generic-char ?|) 222;; (modify-category-entry generic-char ?|)
211 (setq cns-list (cdr cns-list)))) 223;; (setq cns-list (cdr cns-list))))
212 224
213;; Cyrillic character set (ISO-8859-5) 225;; Cyrillic character set (ISO-8859-5)
214 226
215(modify-category-entry (make-char 'cyrillic-iso8859-5) ?y) 227(modify-syntax-entry (decode-char 'iso-8859-5 160) " ")
216
217(modify-syntax-entry (make-char 'cyrillic-iso8859-5 160) " ")
218(modify-syntax-entry ?,L-(B ".") 228(modify-syntax-entry ?,L-(B ".")
219(modify-syntax-entry ?,Lp(B ".") 229(modify-syntax-entry ?,Lp(B ".")
220(modify-syntax-entry ?,L}(B ".") 230(modify-syntax-entry ?,L}(B ".")
@@ -354,7 +364,7 @@
354 364
355;; Ethiopic character set 365;; Ethiopic character set
356 366
357(modify-category-entry (make-char 'ethiopic) ?e) 367;; (modify-category-entry (make-char 'ethiopic) ?e)
358;; (modify-syntax-entry (make-char 'ethiopic) "w") 368;; (modify-syntax-entry (make-char 'ethiopic) "w")
359(dotimes (i (1+ (- #x137c #x1200))) 369(dotimes (i (1+ (- #x137c #x1200)))
360 (modify-category-entry (decode-char 'ucs (+ #x1200 i)) ?e)) 370 (modify-category-entry (decode-char 'ucs (+ #x1200 i)) ?e))
@@ -367,7 +377,7 @@
367 377
368;; Greek character set (ISO-8859-7) 378;; Greek character set (ISO-8859-7)
369 379
370(modify-category-entry (make-char 'greek-iso8859-7) ?g) 380;; (modify-category-entry (make-char 'greek-iso8859-7) ?g)
371(let ((c #x370)) 381(let ((c #x370))
372 (while (<= c #x3ff) 382 (while (<= c #x3ff)
373 (modify-category-entry (decode-char 'ucs c) ?g) 383 (modify-category-entry (decode-char 'ucs c) ?g)
@@ -378,9 +388,9 @@
378;; (modify-syntax-entry (make-char 'greek-iso8859-7 c) "w") 388;; (modify-syntax-entry (make-char 'greek-iso8859-7 c) "w")
379;; (setq c (1+ c)))) 389;; (setq c (1+ c))))
380;; (modify-syntax-entry (make-char 'greek-iso8859-7 160) "w") ; NBSP 390;; (modify-syntax-entry (make-char 'greek-iso8859-7 160) "w") ; NBSP
381(modify-syntax-entry ?,F7(B ".") 391;; (modify-syntax-entry ?,F7(B ".")
382(modify-syntax-entry ?,F;(B ".") 392;; (modify-syntax-entry ?,F;(B ".")
383(modify-syntax-entry ?,F=(B ".") 393;; (modify-syntax-entry ?,F=(B ".")
384(let ((tbl (standard-case-table))) 394(let ((tbl (standard-case-table)))
385 ;; Fixme: non-letter syntax copied from latin-1, but that's dubious 395 ;; Fixme: non-letter syntax copied from latin-1, but that's dubious
386 ;; in several cases. 396 ;; in several cases.
@@ -468,14 +478,14 @@
468 478
469;; Hebrew character set (ISO-8859-8) 479;; Hebrew character set (ISO-8859-8)
470 480
471(modify-category-entry (make-char 'hebrew-iso8859-8) ?w) 481;; (modify-category-entry (make-char 'hebrew-iso8859-8) ?w)
472(let ((c #x591)) 482(let ((c #x591))
473 (while (<= c #x5f4) 483 (while (<= c #x5f4)
474 (modify-category-entry (decode-char 'ucs c) ?w) 484 (modify-category-entry (decode-char 'ucs c) ?w)
475 (setq c (1+ c)))) 485 (setq c (1+ c))))
476 486
477(modify-syntax-entry (make-char 'hebrew-iso8859-8 208) ".") ; PASEQ 487;; (modify-syntax-entry (make-char 'hebrew-iso8859-8 208) ".") ; PASEQ
478(modify-syntax-entry (make-char 'hebrew-iso8859-8 211) ".") ; SOF PASUQ 488;; (modify-syntax-entry (make-char 'hebrew-iso8859-8 211) ".") ; SOF PASUQ
479(modify-syntax-entry (decode-char 'ucs #x5be) ".") ; MAQAF 489(modify-syntax-entry (decode-char 'ucs #x5be) ".") ; MAQAF
480(modify-syntax-entry (decode-char 'ucs #x5c0) ".") ; PASEQ 490(modify-syntax-entry (decode-char 'ucs #x5c0) ".") ; PASEQ
481(modify-syntax-entry (decode-char 'ucs #x5c3) ".") ; SOF PASUQ 491(modify-syntax-entry (decode-char 'ucs #x5c3) ".") ; SOF PASUQ
@@ -490,9 +500,9 @@
490 500
491;; Indian character set (IS 13194 and other Emacs original Indian charsets) 501;; Indian character set (IS 13194 and other Emacs original Indian charsets)
492 502
493(modify-category-entry (make-char 'indian-is13194) ?i) 503;; (modify-category-entry (make-char 'indian-is13194) ?i)
494(modify-category-entry (make-char 'indian-2-column) ?I) 504;; (modify-category-entry (make-char 'indian-2-column) ?I)
495(modify-category-entry (make-char 'indian-glyph) ?I) 505;; (modify-category-entry (make-char 'indian-glyph) ?I)
496;; Unicode Devanagari block 506;; Unicode Devanagari block
497(let ((c #x901)) 507(let ((c #x901))
498 (while (<= c #x970) 508 (while (<= c #x970)
@@ -534,14 +544,40 @@
534 544
535;; Japanese character set (JISX0201-kana, JISX0201-roman, JISX0208, JISX0212) 545;; Japanese character set (JISX0201-kana, JISX0201-roman, JISX0208, JISX0212)
536 546
537(modify-category-entry (make-char 'katakana-jisx0201) ?k) 547(map-charset-chars
538(modify-category-entry (make-char 'katakana-jisx0201) ?j) 548 #'(lambda (char ignore)
539(modify-category-entry (make-char 'latin-jisx0201) ?r) 549 (if (consp char)
540(modify-category-entry (make-char 'japanese-jisx0208) ?j) 550 (let ((from (car char))
541(modify-category-entry (make-char 'japanese-jisx0212) ?j) 551 (to (car char)))
542(modify-category-entry (make-char 'katakana-jisx0201) ?\|) 552 (while (<= from to)
543(modify-category-entry (make-char 'japanese-jisx0208) ?\|) 553 (modify-category-entry from ?k)
544(modify-category-entry (make-char 'japanese-jisx0212) ?\|) 554 (setq from (1+ from))))
555 (modify-category-entry char ?k)))
556 'katakana-jisx0201)
557
558(map-charset-chars
559 #'(lambda (char ignore)
560 (if (consp char)
561 (let ((from (car char))
562 (to (cdr char)))
563 (while (<= from to)
564 (modify-category-entry from ?r)
565 (setq from (1+ from))))
566 (modify-category-entry char ?r)))
567 'latin-jisx0201)
568(dolist (l '(katakana-jisx0201 japanese-jisx0208 japanese-jisx0212))
569 (map-charset-chars
570 #'(lambda (char ignore)
571 (if (consp char)
572 (let ((from (car char))
573 (to (cdr char)))
574 (while (<= from to)
575 (modify-category-entry from ?j)
576 (modify-category-entry from ?\|)
577 (setq from (1+ from))))
578 (modify-category-entry char ?j)
579 (modify-category-entry char ?\|)))
580 l))
545 581
546;; Unicode equivalents of JISX0201-kana 582;; Unicode equivalents of JISX0201-kana
547(let ((c #xff61)) 583(let ((c #xff61))
@@ -571,13 +607,18 @@
571 607
572;; JISX0208 608;; JISX0208
573;; (modify-syntax-entry (make-char 'japanese-jisx0208) "w") 609;; (modify-syntax-entry (make-char 'japanese-jisx0208) "w")
574(modify-syntax-entry (make-char 'japanese-jisx0208 33) "_") 610;; (modify-syntax-entry (make-char 'japanese-jisx0208 33) "_")
575(modify-syntax-entry (make-char 'japanese-jisx0208 34) "_") 611;; (modify-syntax-entry (make-char 'japanese-jisx0208 34) "_")
576(modify-syntax-entry (make-char 'japanese-jisx0208 40) "_") 612;; (modify-syntax-entry (make-char 'japanese-jisx0208 40) "_")
577;; (let ((chars '(?$B!<(B ?$B!+(B ?$B!,(B ?$B!3(B ?$B!4(B ?$B!5(B ?$B!6(B ?$B!7(B ?$B!8(B ?$B!9(B ?$B!:(B ?$B!;(B))) 613;; (let ((chars '(?$B!<(B ?$B!+(B ?$B!,(B ?$B!3(B ?$B!4(B ?$B!5(B ?$B!6(B ?$B!7(B ?$B!8(B ?$B!9(B ?$B!:(B ?$B!;(B)))
578;; (while chars 614;; (while chars
579;; (modify-syntax-entry (car chars) "w") 615;; (modify-syntax-entry (car chars) "w")
580;; (setq chars (cdr chars)))) 616;; (setq chars (cdr chars))))
617
618(modify-syntax-entry (cons (decode-char 'japanese-jisx0208 #x2121)
619 (decode-char 'japanese-jisx0208 #x227E)) "_")
620(modify-syntax-entry (cons (decode-char 'japanese-jisx0208 #x2821)
621 (decode-char 'japanese-jisx0208 #x287E)) "_")
581(modify-syntax-entry ?\$B!J(B "($B!K(B") 622(modify-syntax-entry ?\$B!J(B "($B!K(B")
582(modify-syntax-entry ?\$B!N(B "($B!O(B") 623(modify-syntax-entry ?\$B!N(B "($B!O(B")
583(modify-syntax-entry ?\$B!P(B "($B!Q(B") 624(modify-syntax-entry ?\$B!P(B "($B!Q(B")
@@ -589,15 +630,15 @@
589(modify-syntax-entry ?\$B!W(B ")$B!V(B") 630(modify-syntax-entry ?\$B!W(B ")$B!V(B")
590(modify-syntax-entry ?\$B!Y(B ")$B!X(B") 631(modify-syntax-entry ?\$B!Y(B ")$B!X(B")
591 632
592(modify-category-entry (make-char 'japanese-jisx0208 35) ?A) 633;; (modify-category-entry (make-char 'japanese-jisx0208 35) ?A)
593(modify-category-entry (make-char 'japanese-jisx0208 36) ?H) 634;; (modify-category-entry (make-char 'japanese-jisx0208 36) ?H)
594(modify-category-entry (make-char 'japanese-jisx0208 37) ?K) 635;; (modify-category-entry (make-char 'japanese-jisx0208 37) ?K)
595(modify-category-entry (make-char 'japanese-jisx0208 38) ?G) 636;; (modify-category-entry (make-char 'japanese-jisx0208 38) ?G)
596(modify-category-entry (make-char 'japanese-jisx0208 39) ?Y) 637;; (modify-category-entry (make-char 'japanese-jisx0208 39) ?Y)
597(let ((row 48)) 638;; (let ((row 48))
598 (while (< row 127) 639;; (while (< row 127)
599 (modify-category-entry (make-char 'japanese-jisx0208 row) ?C) 640;; (modify-category-entry (make-char 'japanese-jisx0208 row) ?C)
600 (setq row (1+ row)))) 641;; (setq row (1+ row))))
601(modify-category-entry ?$B!<(B ?K) 642(modify-category-entry ?$B!<(B ?K)
602(let ((chars '(?$B!+(B ?$B!,(B))) 643(let ((chars '(?$B!+(B ?$B!,(B)))
603 (while chars 644 (while chars
@@ -611,11 +652,13 @@
611 652
612;; JISX0212 653;; JISX0212
613;; (modify-syntax-entry (make-char 'japanese-jisx0212) "w") 654;; (modify-syntax-entry (make-char 'japanese-jisx0212) "w")
614(modify-syntax-entry (make-char 'japanese-jisx0212 33) "_") 655;; (modify-syntax-entry (make-char 'japanese-jisx0212 33) "_")
615(modify-syntax-entry (make-char 'japanese-jisx0212 34) "_") 656;; (modify-syntax-entry (make-char 'japanese-jisx0212 34) "_")
616(modify-syntax-entry (make-char 'japanese-jisx0212 35) "_") 657;; (modify-syntax-entry (make-char 'japanese-jisx0212 35) "_")
617 658
618(modify-category-entry (make-char 'japanese-jisx0212 ) ?C) 659(modify-syntax-entry (cons (decode-char 'japanese-jisx0212 #x2121)
660 (decode-char 'japanese-jisx0212 #x237E))
661 "_")
619 662
620;; JISX0201-Kana 663;; JISX0201-Kana
621;; (modify-syntax-entry (make-char 'katakana-jisx0201) "w") 664;; (modify-syntax-entry (make-char 'katakana-jisx0201) "w")
@@ -632,41 +675,41 @@
632;; Korean character set (KSC5601) 675;; Korean character set (KSC5601)
633 676
634;; (modify-syntax-entry (make-char 'korean-ksc5601) "w") 677;; (modify-syntax-entry (make-char 'korean-ksc5601) "w")
635(modify-syntax-entry (make-char 'korean-ksc5601 33) "_") 678;; (modify-syntax-entry (make-char 'korean-ksc5601 33) "_")
636(modify-syntax-entry (make-char 'korean-ksc5601 34) "_") 679;; (modify-syntax-entry (make-char 'korean-ksc5601 34) "_")
637(modify-syntax-entry (make-char 'korean-ksc5601 38) "_") 680;; (modify-syntax-entry (make-char 'korean-ksc5601 38) "_")
638(modify-syntax-entry (make-char 'korean-ksc5601 39) "_") 681;; (modify-syntax-entry (make-char 'korean-ksc5601 39) "_")
639(modify-syntax-entry (make-char 'korean-ksc5601 40) "_") 682;; (modify-syntax-entry (make-char 'korean-ksc5601 40) "_")
640(modify-syntax-entry (make-char 'korean-ksc5601 41) "_") 683;; (modify-syntax-entry (make-char 'korean-ksc5601 41) "_")
641 684
642(modify-category-entry (make-char 'korean-ksc5601) ?h) 685;; (modify-category-entry (make-char 'korean-ksc5601) ?h)
643(modify-category-entry (make-char 'korean-ksc5601 35) ?A) 686;; (modify-category-entry (make-char 'korean-ksc5601 35) ?A)
644(modify-category-entry (make-char 'korean-ksc5601 37) ?G) 687;; (modify-category-entry (make-char 'korean-ksc5601 37) ?G)
645(modify-category-entry (make-char 'korean-ksc5601 42) ?H) 688;; (modify-category-entry (make-char 'korean-ksc5601 42) ?H)
646(modify-category-entry (make-char 'korean-ksc5601 43) ?K) 689;; (modify-category-entry (make-char 'korean-ksc5601 43) ?K)
647(modify-category-entry (make-char 'korean-ksc5601 44) ?Y) 690;; (modify-category-entry (make-char 'korean-ksc5601 44) ?Y)
648 691
649;; Latin character set (latin-1,2,3,4,5,8,9) 692;; Latin character set (latin-1,2,3,4,5,8,9)
650 693
651(modify-category-entry (make-char 'latin-iso8859-1) ?l) 694;; (modify-category-entry (make-char 'latin-iso8859-1) ?l)
652(modify-category-entry (make-char 'latin-iso8859-2) ?l) 695;; (modify-category-entry (make-char 'latin-iso8859-2) ?l)
653(modify-category-entry (make-char 'latin-iso8859-3) ?l) 696;; (modify-category-entry (make-char 'latin-iso8859-3) ?l)
654(modify-category-entry (make-char 'latin-iso8859-4) ?l) 697;; (modify-category-entry (make-char 'latin-iso8859-4) ?l)
655(modify-category-entry (make-char 'latin-iso8859-9) ?l) 698;; (modify-category-entry (make-char 'latin-iso8859-9) ?l)
656(modify-category-entry (make-char 'latin-iso8859-14) ?l) 699;; (modify-category-entry (make-char 'latin-iso8859-14) ?l)
657(modify-category-entry (make-char 'latin-iso8859-15) ?l) 700;; (modify-category-entry (make-char 'latin-iso8859-15) ?l)
658 701
659(modify-category-entry (make-char 'latin-iso8859-1 160) ?\ ) 702;; (modify-category-entry (make-char 'latin-iso8859-1 160) ?\ )
660(modify-category-entry (make-char 'latin-iso8859-2 160) ?\ ) 703;; (modify-category-entry (make-char 'latin-iso8859-2 160) ?\ )
661(modify-category-entry (make-char 'latin-iso8859-3 160) ?\ ) 704;; (modify-category-entry (make-char 'latin-iso8859-3 160) ?\ )
662(modify-category-entry (make-char 'latin-iso8859-4 160) ?\ ) 705;; (modify-category-entry (make-char 'latin-iso8859-4 160) ?\ )
663(modify-category-entry (make-char 'latin-iso8859-9 160) ?\ ) 706;; (modify-category-entry (make-char 'latin-iso8859-9 160) ?\ )
664(modify-category-entry (make-char 'latin-iso8859-14 160) ?\ ) 707;; (modify-category-entry (make-char 'latin-iso8859-14 160) ?\ )
665(modify-category-entry (make-char 'latin-iso8859-15 160) ?\ ) 708;; (modify-category-entry (make-char 'latin-iso8859-15 160) ?\ )
666 709
667;; Lao character set 710;; Lao character set
668 711
669(modify-category-entry (make-char 'lao) ?o) 712;; (modify-category-entry (make-char 'lao) ?o)
670(dotimes (i (1+ (- #xeff #xe80))) 713(dotimes (i (1+ (- #xeff #xe80)))
671 (modify-category-entry (decode-char 'ucs (+ i #xe80)) ?o)) 714 (modify-category-entry (decode-char 'ucs (+ i #xe80)) ?o))
672 715
@@ -713,7 +756,7 @@
713 756
714;; Thai character set (TIS620) 757;; Thai character set (TIS620)
715 758
716(modify-category-entry (make-char 'thai-tis620) ?t) 759;; (modify-category-entry (make-char 'thai-tis620) ?t)
717(dotimes (i (1+ (- #xe7f #xe00))) 760(dotimes (i (1+ (- #xe7f #xe00)))
718 (modify-category-entry (decode-char 'ucs (+ i #xe00)) ?t)) 761 (modify-category-entry (decode-char 'ucs (+ i #xe00)) ?t))
719 762
@@ -758,8 +801,8 @@
758 801
759;; Tibetan character set 802;; Tibetan character set
760 803
761(modify-category-entry (make-char 'tibetan) ?q) 804;; (modify-category-entry (make-char 'tibetan) ?q)
762(modify-category-entry (make-char 'tibetan-1-column) ?q) 805;; (modify-category-entry (make-char 'tibetan-1-column) ?q)
763(dotimes (i (1+ (- #xfff #xf00))) 806(dotimes (i (1+ (- #xfff #xf00)))
764 (modify-category-entry (decode-char 'ucs (+ i #xf00)) ?q)) 807 (modify-category-entry (decode-char 'ucs (+ i #xf00)) ?q))
765 808
@@ -815,22 +858,23 @@
815 858
816;; Vietnamese character set 859;; Vietnamese character set
817 860
818(let ((lower (make-char 'vietnamese-viscii-lower)) 861;; (let ((lower (make-char 'vietnamese-viscii-lower))
819 (upper (make-char 'vietnamese-viscii-upper))) 862;; (upper (make-char 'vietnamese-viscii-upper)))
820;; (modify-syntax-entry lower "w") 863;; (modify-syntax-entry lower "w")
821;; (modify-syntax-entry upper "w") 864;; (modify-syntax-entry upper "w")
822 (modify-category-entry lower ?v) 865;; (modify-category-entry lower ?v)
823 (modify-category-entry upper ?v) 866;; (modify-category-entry upper ?v)
824 (modify-category-entry lower ?l) ; To make a word with 867;; (modify-category-entry lower ?l) ; To make a word with
825 (modify-category-entry upper ?l) ; latin characters. 868;; (modify-category-entry upper ?l) ; latin characters.
826 ) 869;; )
827 870
828(let ((tbl (standard-case-table)) 871(let ((tbl (standard-case-table))
829 (i 32)) 872 (i 32))
830 (while (< i 128) 873 (while (< i 128)
831 (set-case-syntax-pair (make-char 'vietnamese-viscii-upper i) 874 (let ((char (decode-char 'vietnamese-viscii-upper i)))
832 (make-char 'vietnamese-viscii-lower i) 875 (if char
833 tbl) 876 (set-case-syntax-pair char (decode-char 'vietnamese-viscii-lower i)
877 tbl)))
834 (setq i (1+ i)))) 878 (setq i (1+ i))))
835 879
836;; Unicode (mule-unicode-0100-24ff) 880;; Unicode (mule-unicode-0100-24ff)
@@ -1166,7 +1210,6 @@
1166 (vietnamese-viscii-upper . vietnamese-viscii) 1210 (vietnamese-viscii-upper . vietnamese-viscii)
1167 (arabic-digit . iso-2022-7bit) 1211 (arabic-digit . iso-2022-7bit)
1168 (arabic-1-column . iso-2022-7bit) 1212 (arabic-1-column . iso-2022-7bit)
1169 (ascii-right-to-left . iso-2022-7bit)
1170 (lao . lao) 1213 (lao . lao)
1171 (arabic-2-column . iso-2022-7bit) 1214 (arabic-2-column . iso-2022-7bit)
1172 (indian-is13194 . devanagari) 1215 (indian-is13194 . devanagari)
@@ -1194,9 +1237,14 @@
1194 japanese-jisx0208 japanese-jisx0212 1237 japanese-jisx0208 japanese-jisx0212
1195 chinese-gb2312 chinese-big5-1 chinese-big5-2))) 1238 chinese-gb2312 chinese-big5-1 chinese-big5-2)))
1196 (while l 1239 (while l
1197 (aset auto-fill-chars (make-char (car l)) t) 1240 ;;(aset auto-fill-chars (make-char (car l)) t)
1198 (put-charset-property (car l) 'nospace-between-words t) 1241 (put-charset-property (car l) 'nospace-between-words t)
1199 (setq l (cdr l)))) 1242 (setq l (cdr l))))
1243
1244
1245(set-char-table-range printable-chars '(0 . 31) nil)
1246(set-char-table-range printable-chars '(127 . 159) nil)
1247
1200 1248
1201;;; Local Variables: 1249;;; Local Variables:
1202;;; coding: iso-2022-7bit 1250;;; coding: iso-2022-7bit