;; (char-to-string (indian-to-devanagari ?\e(5$\e(B))
;; "\e$(5!$\e(B"
-(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 (sref chars i))
- (setq ch (sref chars i)
- to ch))
- (while (<= ch to)
- (modify-syntax-entry ch syntax)
- (modify-category-entry ch category)
- (setq ch (1+ ch)))
- (setq i (+ i (char-bytes to))))
- (setq deflist (cdr deflist))))
-
-
;;; ITRANS
;;
;; ITRANS is one of the most popular method to exchange indian scripts