From: Kenichi Handa Date: Sun, 24 Jan 1999 04:25:14 +0000 (+0000) Subject: (tibetan-vertical-stacking): If the arg X-Git-Tag: emacs-20.4~790 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1d5021c352f9a5e7856e58f7edc8a93c2a2ed521;p=emacs.git (tibetan-vertical-stacking): If the arg FIRST is a composite character, decompose it at first. --- diff --git a/lisp/language/tibet-util.el b/lisp/language/tibet-util.el index e26f3779382..df2a0261212 100644 --- a/lisp/language/tibet-util.el +++ b/lisp/language/tibet-util.el @@ -194,9 +194,15 @@ Returns non-nil, if CH contains vowel/vowel modifiers." (defun tibetan-vertical-stacking (first second upward) "Return a vertically stacked composite char consisting of FIRST and SECOND. If UPWARD is non-nil, then SECOND is put above FIRST." - (if upward - (compose-chars first '(tc . bc) second) - (compose-chars first '(bc . tc) second))) + (let (l rule) + (if (cmpcharp first) + (setq l (decompose-composite-char first 'list t)) + (setq l (list first))) + (if upward + (setq rule (list '(tc . bc))) + (setq rule (list '(bc . tc)))) + (setq l (append l rule (list second))) + (apply 'compose-chars l))) ;;; This function makes a composite char from a string. ;;; Note that this function returns a string, not a char.