Lisp_Object Qcomposition;
Lisp_Object Qmap_decomposition;
+Lisp_Object Qto_decomposition_at_compat;
Lisp_Object Q_canonical;
-Lisp_Object Q_compatibility_of;
+Lisp_Object Q_compat_of;
Lisp_Object Q_decomposition;
Lisp_Object Q_identical;
Lisp_Object Q_identical_from;
Fsetcdr (ret, character);
}
else if (EQ (base, Qcompat))
- return Q_compatibility_of;
+ return Q_compat_of;
}
+ else if (EQ (XCAR (value), Qcompat))
+ return Qto_decomposition_at_compat;
}
else
{
EQ (attribute, Q_decomposition) )
{
attribute = put_char_composition (character, value);
- if (EQ (attribute, Q_compatibility_of))
+ if ( EQ (attribute, Q_compat_of) ||
+ EQ (attribute, Qto_decomposition_at_compat) )
value = XCDR (value);
}
else if (EQ (attribute, Qto_ucs))
EQ (attribute, Q_identical) ||
EQ (attribute, Q_identical_from) ||
EQ (attribute, Q_canonical) ||
- EQ (attribute, Q_compatibility_of) ||
+ EQ (attribute, Q_compat_of) ||
EQ (attribute, Q_component) ||
EQ (attribute, Q_component_of) ||
!NILP (Fstring_match
(build_string ("^\\(<-\\|->\\)\\("
"canonical"
- "\\|compatibility"
+ "\\|compat"
"\\|fullwidth\\|halfwidth"
"\\|simplified\\|vulgar\\|wrong"
"\\|same\\|original\\|ancient"
UNGCPRO;
}
#if 1
- else if (EQ (attribute, Qideographic_structure))
+ else if ( EQ (attribute, Qideographic_structure) ||
+ !NILP (Fstring_match
+ (build_string ("^=>decomposition\\(\\|@[^*]+\\)$"),
+ Fsymbol_name (attribute),
+ Qnil, Qnil)) )
value = Fcopy_sequence (Fchar_refs_simplify_char_specs (value));
#endif
return put_char_attribute (character, attribute, value);
EQ (attribute, Q_identical) ||
EQ (attribute, Q_identical_from) ||
EQ (attribute, Q_canonical) ||
- EQ (attribute, Q_compatibility_of) ||
+ EQ (attribute, Q_compat_of) ||
!NILP (Fstring_match
(build_string ("^\\(<-\\|->\\)\\(simplified"
"\\|same\\|vulgar\\|wrong"
defsymbol (&Q_component_of, "<-ideographic-component-forms");
defsymbol (&Qcomposition, "composition");
defsymbol (&Qmap_decomposition, "=decomposition");
+ defsymbol (&Qto_decomposition_at_compat, "=>decomposition@compat");
defsymbol (&Q_canonical, "->canonical");
- defsymbol (&Q_compatibility_of, "<-compatibility");
+ defsymbol (&Q_compat_of, "<-compat");
defsymbol (&Q_decomposition, "->decomposition");
defsymbol (&Qcompat, "compat");
defsymbol (&Qisolated, "isolated");