diff src/composite.h @ 91173:d073992bc6f3

(COMPOSITION_METHOD): Handle COMPOSITION_WITH_GLYPH_STRING.
author Kenichi Handa <handa@m17n.org>
date Mon, 03 Dec 2007 14:39:51 +0000
parents 424b655804ca
children bef5150c5492
line wrap: on
line diff
--- a/src/composite.h	Mon Dec 03 13:54:06 2007 +0000
+++ b/src/composite.h	Mon Dec 03 14:39:51 2007 +0000
@@ -92,9 +92,13 @@
    : (composition_temp = XCDR (XCAR (prop)),				\
       (NILP (composition_temp)						\
        ? COMPOSITION_RELATIVE						\
-       : ((INTEGERP (composition_temp) || STRINGP (composition_temp))	\
-	  ? COMPOSITION_WITH_ALTCHARS					\
-	  : COMPOSITION_WITH_RULE_ALTCHARS))))
+       : (INTEGERP (composition_temp) || STRINGP (composition_temp))	\
+       ? COMPOSITION_WITH_ALTCHARS					\
+       : (VECTORP (composition_temp)					\
+	  && ASIZE (composition_temp) >= 2				\
+	  && VECTORP (AREF (composition_temp, 0)))			\
+       ? COMPOSITION_WITH_GLYPH_STRING					\
+       : COMPOSITION_WITH_RULE_ALTCHARS)))
 
 /* Return 1 if the composition is valid.  It is valid if length of
    the composition equals to (END - START).  */