changeset 24159:67f80db6c62e

(tibetan-vertical-stacking): If the arg FIRST is a composite character, decompose it at first.
author Kenichi Handa <handa@m17n.org>
date Sun, 24 Jan 1999 04:25:14 +0000
parents 7d0dbc0a2f03
children ab814ec4995e
files lisp/language/tibet-util.el
diffstat 1 files changed, 9 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/language/tibet-util.el	Sat Jan 23 22:09:19 1999 +0000
+++ b/lisp/language/tibet-util.el	Sun Jan 24 04:25:14 1999 +0000
@@ -194,9 +194,15 @@
 (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.