Fix typo.
[bpt/emacs.git] / lisp / language / devan-util.el
index a38cdc2..38b56f8 100644 (file)
@@ -46,7 +46,7 @@
 ;; 1. vowel
 ;;  V(A/D)?
 ;; 2. syllable : maximum of 5 consecutive consonants.  (e.g. kartsnya)
-;;  ((CH)?(CH)?(CH)?CH)?C(MA?|D|H)?
+;;  ((CH)?(CH)?(CH)?CH)?C(H|M?(A|D)?)?
 
 (defconst devanagari-consonant
   "[\e$,15U\e(B-\e$,15y68\e(B-\e$,16?\e(B]")
     (devanagari-compose-region (point-min) (point-max))
     (buffer-string)))
 
-(defun range (from to)
+(defun devanagari-post-read-conversion (len)
+  (save-excursion
+    (save-restriction
+      (let ((buffer-modified-p (buffer-modified-p)))
+       (narrow-to-region (point) (+ (point) len))
+       (devanagari-compose-region (point-min) (point-max))
+       (set-buffer-modified-p buffer-modified-p)
+       (- (point-max) (point-min))))))
+
+(defun devanagari-range (from to)
   "Make the list of the integers of range FROM to TO."
   (let (result) 
     (while (<= from to) (setq result (cons to result) to (1- to))) result))
 
-(defun regexp-of-hashtbl-keys (hashtbl)
-  "Returns the regular expression of hashtable keys."
+(defun devanagari-regexp-of-hashtbl-keys (hashtbl)
+  "Return a regular expression that matches all keys in hashtable HASHTBL."
   (let ((max-specpdl-size 1000))
     (regexp-opt
      (sort 
@@ -104,7 +113,7 @@ PATTERN regexp."
    (aset composition-function-table (decode-char 'ucs ucs)
         (list (cons devanagari-composable-pattern 
                      'devanagari-composition-function)))))
- (nconc '(#x0903) (range #x0905 #x0939) (range #x0958 #x0961)))
+ (nconc '(#x0903) (devanagari-range #x0905 #x0939) (devanagari-range #x0958 #x0961)))
 
 ;; Notes on conversion steps.
 
@@ -424,7 +433,7 @@ preferred rule from the sanskrit fonts."  )
     hash))
 
 (defvar dev-char-glyph-regexp
-  (regexp-of-hashtbl-keys dev-char-glyph-hash))
+  (devanagari-regexp-of-hashtbl-keys dev-char-glyph-hash))
 
 ;; glyph-to-glyph conversion table.
 ;; it is supposed that glyphs are ordered in 
@@ -464,7 +473,7 @@ preferred rule from the sanskrit fonts."  )
          dev-glyph-glyph)
     hash))
 (defvar dev-glyph-glyph-regexp
-  (regexp-of-hashtbl-keys dev-glyph-glyph-hash))
+  (devanagari-regexp-of-hashtbl-keys dev-glyph-glyph-hash))
 
 
 ;; yet another glyph-to-glyph conversions.
@@ -479,13 +488,13 @@ preferred rule from the sanskrit fonts."  )
          dev-glyph-glyph-2)
     hash))
 (defvar dev-glyph-glyph-2-regexp
-  (regexp-of-hashtbl-keys dev-glyph-glyph-2-hash))
+  (devanagari-regexp-of-hashtbl-keys dev-glyph-glyph-2-hash))
 
 
 (defun dev-charseq (from &optional to)
   (if (null to) (setq to from))
   (mapcar (function (lambda (x) (indian-glyph-char x 'devanagari)))
-          (range from to)))
+          (devanagari-range from to)))
 
 (defvar dev-glyph-cvn
   (append 
@@ -635,3 +644,5 @@ preferred rule from the sanskrit fonts."  )
       (compose-region from to glyph-str)))
 
 (provide 'devan-util)
+
+;;; devan-util.el ends here