]> git.eshelyaron.com Git - emacs.git/commitdiff
(thai-compose-string): New function.
authorKenichi Handa <handa@m17n.org>
Tue, 5 Jan 1999 04:07:10 +0000 (04:07 +0000)
committerKenichi Handa <handa@m17n.org>
Tue, 5 Jan 1999 04:07:10 +0000 (04:07 +0000)
lisp/language/thai-util.el

index cce6f12696b45c43ffbc42f986312c43ebc6c602..2c891d0d992dea3e6e9a1e7b78e092080d8d0416 100644 (file)
@@ -163,6 +163,25 @@ positions (integers or markers) specifying the region."
            (compose-region (match-beginning 0) (match-end 0)))
        (set-category-table current-ctbl)))))
 
+;;;###autoload
+(defun thai-compose-string (string)
+  "Compose Thai characters in STRING and return the resulting string."
+  (let ((current-ctbl (category-table)))
+    (set-category-table thai-category-table)
+    (unwind-protect
+       (let ((idx 0)
+             (new ""))
+         (while (string-match "\\c+\\c-+" string idx)
+           (if (< idx (match-beginning 0))
+               (setq new
+                     (concat new (substring string idx (match-beginning 0)))))
+           (setq new (concat new (compose-string (match-string 0 string))))
+           (setq idx (match-end 0)))
+         (if (< idx (length string))
+             (setq new (concat new (substring string idx))))
+         new)
+      (set-category-table current-ctbl))))
+      
 ;;;###autoload
 (defun thai-compose-buffer ()
   "Compose Thai characters in the current buffer."