(Q_superscript_of): New variable.
authortomo <tomo>
Tue, 2 Aug 2005 04:25:22 +0000 (04:25 +0000)
committertomo <tomo>
Tue, 2 Aug 2005 04:25:22 +0000 (04:25 +0000)
(put_char_composition): Return `<-decomposition@superscript' instead
of `=decomposition' for compatibility mapping to single character
tagged `super'.
(Fput_char_attribute): Convert char-specs in value of
`{<-|->}superscript[^*]*' to characters and put reverse links.
(Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs' for
`<-superscript'.
(syms_of_chartab): Add new symbol `<-superscript'.

src/chartab.c

index 0523832..63c9fe8 100644 (file)
@@ -1133,6 +1133,7 @@ Lisp_Object Qcomposition;
 Lisp_Object Qmap_decomposition;
 Lisp_Object Qto_decomposition_at_superscript;
 Lisp_Object Q_canonical;
+Lisp_Object Q_superscript_of;
 Lisp_Object Q_compat_of;
 Lisp_Object Q_decomposition;
 Lisp_Object Q_identical;
@@ -3428,6 +3429,8 @@ put_char_composition (Lisp_Object character, Lisp_Object value)
              else
                Fsetcdr (ret, character);
            }
+         else if (EQ (base, Qsuper))
+           return Q_superscript_of;
          else if (EQ (base, Qcompat))
            return Q_compat_of;
        }
@@ -3536,13 +3539,14 @@ Store CHARACTER's ATTRIBUTE with VALUE.
        EQ (attribute, Q_identical)             ||
        EQ (attribute, Q_identical_from)                ||
        EQ (attribute, Q_canonical)             ||
+       EQ (attribute, Q_superscript_of)                ||
        EQ (attribute, Q_compat_of)             ||
        EQ (attribute, Q_component)             ||
        EQ (attribute, Q_component_of)          ||
        !NILP (Fstring_match
              (build_string ("^\\(<-\\|->\\)\\("
                             "canonical"
-                            "\\|compat"
+                            "\\|superscript\\|compat"
                             "\\|fullwidth\\|halfwidth"
                             "\\|simplified\\|vulgar\\|wrong"
                             "\\|same\\|original\\|ancient"
@@ -3892,6 +3896,7 @@ Save values of ATTRIBUTE into database file.
                EQ (attribute, Q_identical)             ||
                EQ (attribute, Q_identical_from)        ||
                EQ (attribute, Q_canonical)             ||
+               EQ (attribute, Q_superscript_of)        ||
                EQ (attribute, Q_compat_of)             ||
                !NILP (Fstring_match
                       (build_string ("^\\(<-\\|->\\)\\(simplified"
@@ -4678,6 +4683,7 @@ syms_of_chartab (void)
   defsymbol (&Qto_decomposition_at_superscript,
             "=>decomposition@superscript");
   defsymbol (&Q_canonical,             "->canonical");
+  defsymbol (&Q_superscript_of,                "<-superscript");
   defsymbol (&Q_compat_of,             "<-compat");
   defsymbol (&Q_decomposition,         "->decomposition");
   defsymbol (&Qcompat,                 "compat");