]> code.delx.au - gnu-emacs/commitdiff
Setup categories for Indian characters.
authorKenichi Handa <handa@m17n.org>
Sun, 23 Mar 2003 02:22:11 +0000 (02:22 +0000)
committerKenichi Handa <handa@m17n.org>
Sun, 23 Mar 2003 02:22:11 +0000 (02:22 +0000)
lisp/international/characters.el

index 2dc47b7861cc009bc1e609177c50ea4ec17647b0..68a1fa9ead18947c6f42f15f59c81fa507e70e8e 100644 (file)
     (modify-category-entry (decode-char 'ucs c) ?i)
     (setq c (1+ c))))
 
-;;; Commented out since the categories appear not to be used anywhere
-;;; and word syntax is the default.
-;; (let ((deflist                              ;
-;;     '(;; chars      syntax  category
-;;       ("\e(5!"#\e(B"  "w"     ?7) ; vowel-modifying diacritical mark
-;;                                 ; chandrabindu, anuswar, visarga
-;;       ("\e(5$\e(B-\e(52\e(B"    "w"     ?1) ; base (independent) vowel
-;;       ("\e(53\e(B-\e(5X\e(B"    "w"     ?0) ; consonant
-;;       ("\e(5Z\e(B-\e(5g\e(B"    "w"     ?8) ; matra
-;;       ("\e(5q\e(B-\e(5z\e(B"    "w"     ?6) ; digit
-;;       ))
-;;       elm chars len syntax category to ch i)
-;;   (while deflist
-;;     (setq elm (car deflist))
-;;     (setq chars (car elm)
-;;       len (length chars)
-;;       syntax (nth 1 elm)
-;;       category (nth 2 elm)
-;;       i 0)
-;;     (while (< i len)
-;;       (if (= (aref chars i) ?-)
-;;       (setq i (1+ i)
-;;             to (aref chars i))
-;;     (setq ch (aref chars i)
-;;           to ch))
-;;       (while (<= ch to)
-;;     (modify-syntax-entry ch syntax)
-;;     (modify-category-entry ch category)
-;;     (setq ch (1+ ch)))
-;;       (setq i (1+ i)))
-;;     (setq deflist (cdr deflist))))
-
+(let ((l '(;; RANGE   CATEGORY         MEANINGS
+          (#x01 #x03 ?7)               ; vowel modifier
+          (#x05 #x14 ?1)               ; base vowel
+          (#x15 #x39 ?0)               ; consonants
+          (#x3e #x4d ?8)               ; vowel modifier
+          (#x51 #x54 ?4)               ; stress/tone mark
+          (#x58 #x5f ?0)               ; consonants
+          (#x60 #x61 ?1)               ; base vowel
+          (#x62 #x63 ?8)               ; vowel modifier
+          (#x66 #x6f ?6)               ; digits
+          )))
+  (dolist (elt1 '(#x900 #x980 #xa00 #xa80 #xb00 #xb80 #xc00 #xc80 #xd00))
+    (dolist (elt2 l)
+      (let* ((from (car elt2))
+            (counts (1+ (- (nth 1 elt2) from)))
+            (category (nth 2 elt2)))
+       (dotimes (i counts)
+         (modify-category-entry (decode-char 'ucs (+ elt1 from i)) 
+                                category))))))
 
 ;; Japanese character set (JISX0201-kana, JISX0201-roman, JISX0208, JISX0212)