emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/language/tibet-util.el


From: Kenichi Handa
Subject: [Emacs-diffs] Changes to emacs/lisp/language/tibet-util.el
Date: Tue, 07 May 2002 21:50:08 -0400

Index: emacs/lisp/language/tibet-util.el
diff -c emacs/lisp/language/tibet-util.el:1.29 
emacs/lisp/language/tibet-util.el:1.30
*** emacs/lisp/language/tibet-util.el:1.29      Tue Apr 30 13:24:04 2002
--- emacs/lisp/language/tibet-util.el   Tue May  7 21:50:08 2002
***************
*** 367,372 ****
--- 367,430 ----
      ;; Should return nil as annotations.
      nil))
  
+ 
+ ;;;
+ ;;; Unicode-related definitions.
+ ;;; 
+ 
+ (defvar tibetan-canonicalize-for-unicode-alist
+   '(("$(7"Q(B" . "")        ;; remove vowel a
+     ("$(7"T(B" . "$(7"R"S(B") ;; decompose vowels whose use is 
``discouraged'' in Unicode 3.0
+     ("$(7"V(B" . "$(7"R"U(B")
+     ("$(7"W(B" . "$(7#C"a(B")
+     ("$(7"X(B" . "$(7#C"R"a(B")
+     ("$(7"Y(B" . "$(7#D"a(B")
+     ("$(7"Z(B" . "$(7#D"R"a(B")
+     ("$(7"b(B" . "$(7"R"a(B"))
+   "Rules for canonicalizing Tibetan vowels for Unicode.")
+ 
+ (defvar tibetan-canonicalize-for-unicode-regexp
+   "[$(7"Q"T"V"W"X"Y"Z"b(B]"
+   "Regexp for Tibetan vowels to be canonicalized in Unicode.")
+ 
+ (defun tibetan-canonicalize-for-unicode-region (from to)
+   (save-restriction
+     (narrow-to-region from to)
+     (goto-char from)
+     (while (re-search-forward tibetan-canonicalize-for-unicode-regexp nil t)
+       (let (
+           ;;(from (match-beginning 0))
+           ;;(to (match-end 0))
+           (canonical-form
+            (cdr (assoc (match-string 0)
+                        tibetan-canonicalize-for-unicode-alist))))
+       ;;(goto-char from)
+       ;;(delete-region from to)
+       ;;(insert canonical-form)
+       (replace-match canonical-form)
+       ))))
+ 
+ (defvar tibetan-strict-unicode t
+   "*Flag to control Tibetan canonicalizing for Unicode.
+ 
+ If non-nil, the vowel a is removed and composite vowels are decomposed
+ before writing buffer in Unicode.  See also
+ `tibetan-canonicalize-for-unicode-regexp' and
+ `tibetan-canonicalize-for-unicode-alist'.")
+ 
+ ;;;###autoload
+ (defun tibetan-pre-write-canonicalize-for-unicode (from to)
+   (let ((old-buf (current-buffer))
+       (strict-unicode tibetan-strict-unicode))
+     (set-buffer (generate-new-buffer " *temp*"))
+     (if (stringp from)
+       (insert from)
+       (insert-buffer-substring old-buf from to))
+     (if strict-unicode
+       (tibetan-canonicalize-for-unicode-region (point-min) (point-max)))
+     ;; Should return nil as annotations.
+     nil))
+ 
  (provide 'tibet-util)
  
  ;;; tibet-util.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]