-/* Return the method of composition. */
-#define COMPOSITION_METHOD(prop) \
- (COMPOSITION_REGISTERD_P (prop) \
- ? composition_table[COMPOSITION_ID (prop)]->method \
- : (composition_temp = XCDR (XCAR (prop)), \
- (NILP (composition_temp) \
- ? COMPOSITION_RELATIVE \
- : (INTEGERP (composition_temp) || STRINGP (composition_temp)) \
- ? COMPOSITION_WITH_ALTCHARS \
- : COMPOSITION_WITH_RULE_ALTCHARS)))
-
-/* Return 1 if the composition is valid. It is valid if length of
- the composition equals to (END - START). */
-#define COMPOSITION_VALID_P(start, end, prop) \
- (CONSP (prop) \
- && (COMPOSITION_REGISTERD_P (prop) \
- ? (COMPOSITION_ID (prop) >= 0 \
- && COMPOSITION_ID (prop) <= n_compositions \
- && CONSP (XCDR (prop))) \
- : (composition_temp = XCAR (prop), \
- (CONSP (composition_temp) \
- && (composition_temp = XCDR (composition_temp), \
- (NILP (composition_temp) \
- || STRINGP (composition_temp) \
- || VECTORP (composition_temp) \
- || INTEGERP (composition_temp) \
- || CONSP (composition_temp)))))) \
- && (end - start) == COMPOSITION_LENGTH (prop))
-