diff lisp/international/characters.el @ 90792:e8573c9233d0

Add more cases/syntaxes from Latin characters.
author Kenichi Handa <handa@m17n.org>
date Fri, 23 Mar 2007 11:42:37 +0000
parents 52a7f3f50b89
children 3046ffe96f58
line wrap: on
line diff
--- a/lisp/international/characters.el	Fri Mar 23 05:45:00 2007 +0000
+++ b/lisp/international/characters.el	Fri Mar 23 11:42:37 2007 +0000
@@ -471,17 +471,38 @@
 
   ;; Latin Extended-A, Latin Extended-B
   (setq c #x0100)
-  (while (<= c #x0233)
-    (and (or (<= c #x012e)
-	     (and (>= c #x014a) (<= c #x0177)))
-	 (zerop (% c 2))
-	 (set-case-syntax-pair c (1+ c) tbl))
-    (and (>= c #x013a)
-	 (<= c #x0148)
-	 (zerop (% c 2))
-	 (set-case-syntax-pair (1- c) c tbl))
+  (while (<= c #x02B8)
+    (modify-category-entry c ?l)
     (setq c (1+ c)))
 
+  (let ((pair-ranges '((#x0100 . #x012F)
+		       (#x0132 . #x0137)
+		       (#x0139 . #x0148)
+		       (#x014a . #x0177)
+		       (#x0179 . #x017E)
+		       (#x0182 . #x0185)
+		       (#x0187 . #x018C)
+		       (#x0191 . #x0192)
+		       (#x0198 . #x0199)
+		       (#x01A0 . #x01A5)
+		       (#x01A7 . #x01A8)
+		       (#x01AC . #x01AD)
+		       (#x01AF . #x01B0)
+		       (#x01B3 . #x01B6)
+		       (#x01BC . #x01BD)
+		       (#x01CD . #x01DC)
+		       (#x01DE . #x01EF)
+		       (#x01F4 . #x01F5)
+		       (#x01F8 . #x021F)
+		       (#x0222 . #x0233)
+		       (#x023B . #x023C)
+		       (#x0241 . #x0242)
+		       (#x0246 . #x024F))))
+    (dolist (elt pair-ranges)
+      (let ((from (car elt)) (to (cdr elt)))
+	(while (< from to)
+	  (set-case-syntax-pair from (1+ from) tbl)
+	  (setq from (+ from 2))))))
 
   ;; In some languages, such as Turkish, U+0049 LATIN CAPITAL LETTER I
   ;; and U+0131 LATIN SMALL LETTER DOTLESS I make a case pair, and so
@@ -495,109 +516,18 @@
   ;; (set-downcase-syntax  ?İ ?i tbl)
   ;; (set-upcase-syntax    ?I ?ı tbl)
 
-  (set-case-syntax-pair ?IJ ?ij tbl)
-  (set-case-syntax-pair ?Ĵ ?ĵ tbl)
-  (set-case-syntax-pair ?Ķ ?ķ tbl)
-  (set-case-syntax-pair ?Ÿ ?ÿ tbl)
-  (set-case-syntax-pair ?Ź ?ź tbl)
-  (set-case-syntax-pair ?Ż ?ż tbl)
-  (set-case-syntax-pair ?Ž ?ž tbl)
-
-  ;; Latin Extended-B
-  (set-case-syntax-pair ?Ɓ ?ɓ tbl)
-  (set-case-syntax-pair ?Ƃ ?ƃ tbl)
-  (set-case-syntax-pair ?Ƅ ?ƅ tbl)
-  (set-case-syntax-pair ?Ɔ ?ɔ tbl)
-  (set-case-syntax-pair ?Ƈ ?ƈ tbl)
-  (set-case-syntax-pair ?Ɖ ?ɖ tbl)
-  (set-case-syntax-pair ?Ɗ ?ɗ tbl)
-  (set-case-syntax-pair ?Ƌ ?ƌ tbl)
-  (set-case-syntax-pair ?Ǝ ?ǝ tbl)
-  (set-case-syntax-pair ?Ə ?ə tbl)
-  (set-case-syntax-pair ?Ɛ ?ɛ tbl)
-  (set-case-syntax-pair ?Ƒ ?ƒ tbl)
-  (set-case-syntax-pair ?Ɠ ?ɠ tbl)
-  (set-case-syntax-pair ?Ɣ ?ɣ tbl)
-  (set-case-syntax-pair ?Ɩ ?ɩ tbl)
-  (set-case-syntax-pair ?Ɨ ?ɨ tbl)
-  (set-case-syntax-pair ?Ƙ ?ƙ tbl)
-  (set-case-syntax-pair ?Ɯ ?ɯ tbl)
-  (set-case-syntax-pair ?Ɲ ?ɲ tbl)
-  (set-case-syntax-pair ?Ɵ ?ɵ tbl)
-  (set-case-syntax-pair ?Ơ ?ơ tbl)
-  (set-case-syntax-pair ?Ƣ ?ƣ tbl)
-  (set-case-syntax-pair ?Ƥ ?ƥ tbl)
-  (set-case-syntax-pair ?Ʀ ?ʀ tbl)
-  (set-case-syntax-pair ?Ƨ ?ƨ tbl)
-  (set-case-syntax-pair ?Ʃ ?ʃ tbl)
-  (set-case-syntax-pair ?Ƭ ?ƭ tbl)
-  (set-case-syntax-pair ?Ʈ ?ʈ tbl)
-  (set-case-syntax-pair ?Ư ?ư tbl)
-  (set-case-syntax-pair ?Ʊ ?ʊ tbl)
-  (set-case-syntax-pair ?Ʋ ?ʋ tbl)
-  (set-case-syntax-pair ?Ƴ ?ƴ tbl)
-  (set-case-syntax-pair ?Ƶ ?ƶ tbl)
-  (set-case-syntax-pair ?Ʒ ?ʒ tbl)
-  (set-case-syntax-pair ?Ƹ ?ƹ tbl)
-  (set-case-syntax-pair ?Ƽ ?ƽ tbl)
   (set-case-syntax-pair ?DŽ ?dž tbl)
   (set-case-syntax-pair ?Dž ?dž tbl)
   (set-case-syntax-pair ?LJ ?lj tbl)
   (set-case-syntax-pair ?Lj ?lj tbl)
   (set-case-syntax-pair ?NJ ?nj tbl)
   (set-case-syntax-pair ?Nj ?nj tbl)
-  (set-case-syntax-pair ?Ǎ ?ǎ tbl)
-  (set-case-syntax-pair ?Ǐ ?ǐ tbl)
-  (set-case-syntax-pair ?Ǒ ?ǒ tbl)
-  (set-case-syntax-pair ?Ǔ ?ǔ tbl)
-  (set-case-syntax-pair ?Ǖ ?ǖ tbl)
-  (set-case-syntax-pair ?Ǘ ?ǘ tbl)
-  (set-case-syntax-pair ?Ǚ ?ǚ tbl)
-  (set-case-syntax-pair ?Ǜ ?ǜ tbl)
-  (set-case-syntax-pair ?Ǟ ?ǟ tbl)
-  (set-case-syntax-pair ?Ǡ ?ǡ tbl)
-  (set-case-syntax-pair ?Ǣ ?ǣ tbl)
-  (set-case-syntax-pair ?Ǥ ?ǥ tbl)
-  (set-case-syntax-pair ?Ǧ ?ǧ tbl)
-  (set-case-syntax-pair ?Ǩ ?ǩ tbl)
-  (set-case-syntax-pair ?Ǫ ?ǫ tbl)
-  (set-case-syntax-pair ?Ǭ ?ǭ tbl)
-  (set-case-syntax-pair ?Ǯ ?ǯ tbl)
+
   ;; 01F0; F; 006A 030C; # LATIN SMALL LETTER J WITH CARON
   (set-case-syntax-pair ?DZ ?dz tbl)
   (set-case-syntax-pair ?Dz ?dz tbl)
-  (set-case-syntax-pair ?Ǵ ?ǵ tbl)
   (set-case-syntax-pair ?Ƕ ?ƕ tbl)
   (set-case-syntax-pair ?Ƿ ?ƿ tbl)
-  (set-case-syntax-pair ?Ǹ ?ǹ tbl)
-  (set-case-syntax-pair ?Ǻ ?ǻ tbl)
-  (set-case-syntax-pair ?Ǽ ?ǽ tbl)
-  (set-case-syntax-pair ?Ǿ ?ǿ tbl)
-  (set-case-syntax-pair ?Ȁ ?ȁ tbl)
-  (set-case-syntax-pair ?Ȃ ?ȃ tbl)
-  (set-case-syntax-pair ?Ȅ ?ȅ tbl)
-  (set-case-syntax-pair ?Ȇ ?ȇ tbl)
-  (set-case-syntax-pair ?Ȉ ?ȉ tbl)
-  (set-case-syntax-pair ?Ȋ ?ȋ tbl)
-  (set-case-syntax-pair ?Ȍ ?ȍ tbl)
-  (set-case-syntax-pair ?Ȏ ?ȏ tbl)
-  (set-case-syntax-pair ?Ȑ ?ȑ tbl)
-  (set-case-syntax-pair ?Ȓ ?ȓ tbl)
-  (set-case-syntax-pair ?Ȕ ?ȕ tbl)
-  (set-case-syntax-pair ?Ȗ ?ȗ tbl)
-  (set-case-syntax-pair ?Ș ?ș tbl)
-  (set-case-syntax-pair ?Ț ?ț tbl)
-  (set-case-syntax-pair ?Ȝ ?ȝ tbl)
-  (set-case-syntax-pair ?Ȟ ?ȟ tbl)
-  (set-case-syntax-pair ?Ȣ ?ȣ tbl)
-  (set-case-syntax-pair ?Ȥ ?ȥ tbl)
-  (set-case-syntax-pair ?Ȧ ?ȧ tbl)
-  (set-case-syntax-pair ?Ȩ ?ȩ tbl)
-  (set-case-syntax-pair ?Ȫ ?ȫ tbl)
-  (set-case-syntax-pair ?Ȭ ?ȭ tbl)
-  (set-case-syntax-pair ?Ȯ ?ȯ tbl)
-  (set-case-syntax-pair ?Ȱ ?ȱ tbl)
-  (set-case-syntax-pair ?Ȳ ?ȳ tbl)
 
   ;; Latin Extended Additional
   (modify-category-entry '(#x1e00 . #x1ef9) ?l)