(Q_same): New variable.
authortomo <tomo>
Sun, 14 Mar 2004 13:17:55 +0000 (13:17 +0000)
committertomo <tomo>
Sun, 14 Mar 2004 13:17:55 +0000 (13:17 +0000)
(Q_same_of): New variable.
(Fput_char_attribute): Convert char-refs in value of `{->|<-}same' to
characters and put reverse links.
(Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs' for
`{->|<-}same'.
(syms_of_chartab): Add new symbols `{->|<-}same'.

src/chartab.c

index 82b3f21..1443f3f 100644 (file)
@@ -1144,6 +1144,8 @@ Lisp_Object Q_subsumptive;
 Lisp_Object Q_subsumptive_from;
 Lisp_Object Q_component;
 Lisp_Object Q_component_of;
+Lisp_Object Q_same;
+Lisp_Object Q_same_of;
 Lisp_Object Qto_ucs;
 Lisp_Object Q_ucs_unified;
 Lisp_Object Qcompat;
@@ -3495,6 +3497,8 @@ Store CHARACTER's ATTRIBUTE with VALUE.
            EQ (attribute, Q_identical_from) ||
            EQ (attribute, Q_component) ||
            EQ (attribute, Q_component_of) ||
+           EQ (attribute, Q_same) ||
+           EQ (attribute, Q_same_of) ||
            !NILP (Fstring_match (build_string ("^<-simplified[^*]*$"),
                                  Fsymbol_name (attribute),
                                  Qnil, Qnil)) )
@@ -3521,6 +3525,10 @@ Store CHARACTER's ATTRIBUTE with VALUE.
        rev_feature = Q_component_of;
       else if (EQ (attribute, Q_component_of))
        rev_feature = Q_component;
+      else if (EQ (attribute, Q_same))
+       rev_feature = Q_same_of;
+      else if (EQ (attribute, Q_same_of))
+       rev_feature = Q_same;
       else
        {
          Lisp_String* name = symbol_name (XSYMBOL (attribute));
@@ -3805,6 +3813,8 @@ Save values of ATTRIBUTE into database file.
       if ( EQ (attribute, Qideographic_structure)
           || EQ (attribute, Q_identical)
           || EQ (attribute, Q_identical_from)
+          || EQ (attribute, Q_same)
+          || EQ (attribute, Q_same_of)
           || !NILP (Fstring_match
                     (build_string ("^\\(<-\\|->\\)simplified[^*]*$"),
                      Fsymbol_name (attribute),
@@ -4586,6 +4596,8 @@ syms_of_chartab (void)
   defsymbol (&Q_identical_from,                "<-identical");
   defsymbol (&Q_component,             "->ideographic-component-forms");
   defsymbol (&Q_component_of,          "<-ideographic-component-forms");
+  defsymbol (&Q_same,                  "->same");
+  defsymbol (&Q_same_of,               "<-same");
   defsymbol (&Qcomposition,            "composition");
   defsymbol (&Q_decomposition,         "->decomposition");
   defsymbol (&Qcompat,                 "compat");