[Top][All Lists]
[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: |
Thu, 07 Nov 2002 01:33:15 -0500 |
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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/lisp/language/tibet-util.el,
Kenichi Handa <=