]> git.lyx.org Git - features.git/commitdiff
In mathmode, treat nonascii chars with diacritical marks as an input method
authorEnrico Forestieri <forenr@lyx.org>
Fri, 26 Sep 2008 15:53:15 +0000 (15:53 +0000)
committerEnrico Forestieri <forenr@lyx.org>
Fri, 26 Sep 2008 15:53:15 +0000 (15:53 +0000)
for entering math accents, such that an umlauted A is translated as \ddot{A},
for example.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26577 a592a061-630c-0410-9148-cb99ea01b6c8

lib/unicodesymbols
src/Buffer.cpp
src/Encoding.cpp
src/Encoding.h
src/LaTeXFeatures.cpp
src/insets/Inset.h
src/mathed/InsetMathChar.cpp
src/mathed/InsetMathHull.cpp
src/mathed/InsetMathHull.h
src/output_latex.cpp

index 3372bdaae2ebadc53ffc9e81f76aa256d7b0072c..18635a41291419ae76d60cb72b444dbaf72854fb 100644 (file)
@@ -29,6 +29,7 @@
 # Known flags:
 # - combining This is a combining char that will get combined with a base char
 # - force     Always output replacement command
+# - mathalpha This character is considered as a math variable in mathmode
 
 0x00a0 "~"                        "" "" # NO-BREAK SPACE
 0x00a1 "\\textexclamdown"         "" "" # INVERTED EXCLAMATION MARK
 0x00bd "\\textonehalf"            "textcomp" "" # 1/2 FRACTION
 0x00be "\\textthreequarters"      "textcomp" "" # 3/4 FRACTION
 0x00bf "\\textquestiondown"       "" "" # INVERTED QUESTION MARK
-0x00c0 "\\`{A}"                   "" "" # LATIN CAPITAL LETTER A WITH GRAVE
-0x00c1 "\\'{A}"                   "" "" # LATIN CAPITAL LETTER A WITH ACUTE
-0x00c2 "\\^{A}"                   "" "" # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-0x00c3 "\\~{A}"                   "" "" # LATIN CAPITAL LETTER A WITH TILDE
-0x00c4 "\\\"{A}"                  "" "" # LATIN CAPITAL LETTER A WITH DIAERESIS
-0x00c5 "\\r{A}"                   "" "" # LATIN CAPITAL LETTER A WITH RING ABOVE
+0x00c0 "\\`{A}"                   "" "mathalpha" "\\grave{A}" # LATIN CAPITAL LETTER A WITH GRAVE
+0x00c1 "\\'{A}"                   "" "mathalpha" "\\acute{A}" # LATIN CAPITAL LETTER A WITH ACUTE
+0x00c2 "\\^{A}"                   "" "mathalpha" "\\hat{A}" # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0x00c3 "\\~{A}"                   "" "mathalpha" "\\tilde{A}" # LATIN CAPITAL LETTER A WITH TILDE
+0x00c4 "\\\"{A}"                  "" "mathalpha" "\\ddot{A}" # LATIN CAPITAL LETTER A WITH DIAERESIS
+0x00c5 "\\r{A}"                   "" "mathalpha" "\\mathring{A}" # LATIN CAPITAL LETTER A WITH RING ABOVE
 0x00c6 "\\AE"                     "" "" # LATIN CAPITAL LETTER AE
-0x00c7 "\\c{C}"                   "" "" # LATIN CAPITAL LETTER C WITH CEDILLA
-0x00c8 "\\`{E}"                   "" "" # LATIN CAPITAL LETTER E WITH GRAVE
-0x00c9 "\\'{E}"                   "" "" # LATIN CAPITAL LETTER E WITH ACUTE
-0x00ca "\\^{E}"                   "" "" # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0x00cb "\\\"{E}"                  "" "" # LATIN CAPITAL LETTER E WITH DIAERESIS
-0x00cc "\\`{I}"                   "" "" # LATIN CAPITAL LETTER I WITH GRAVE
-0x00cd "\\'{I}"                   "" "" # LATIN CAPITAL LETTER I WITH ACUTE
-0x00ce "\\^{I}"                   "" "" # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-0x00cf "\\\"{I}"                  "" "" # LATIN CAPITAL LETTER I WITH DIAERESIS
-0x00d0 "\\DH"                     "" "" # LATIN CAPITAL LETTER ETH
-0x00d1 "\\~{N}"                   "" "" # LATIN CAPITAL LETTER N WITH TILDE
-0x00d2 "\\`{O}"                   "" "" # LATIN CAPITAL LETTER O WITH GRAVE
-0x00d3 "\\'{O}"                   "" "" # LATIN CAPITAL LETTER O WITH ACUTE
-0x00d4 "\\^{O}"                   "" "" # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-0x00d5 "\\~{O}"                   "" "" # LATIN CAPITAL LETTER O WITH TILDE
-0x00d6 "\\\"{O}"                  "" "" # LATIN CAPITAL LETTER O WITH DIAERESIS
+0x00c7 "\\c{C}"                   "" "mathalpha" "\\cedilla{C}" "accents,cedilla" # LATIN CAPITAL LETTER C WITH CEDILLA
+0x00c8 "\\`{E}"                   "" "mathalpha" "\\grave{E}" # LATIN CAPITAL LETTER E WITH GRAVE
+0x00c9 "\\'{E}"                   "" "mathalpha" "\\acute{E}" # LATIN CAPITAL LETTER E WITH ACUTE
+0x00ca "\\^{E}"                   "" "mathalpha" "\\hat{E}" # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0x00cb "\\\"{E}"                  "" "mathalpha" "\\ddot{E}" # LATIN CAPITAL LETTER E WITH DIAERESIS
+0x00cc "\\`{I}"                   "" "mathalpha" "\\grave{I}" # LATIN CAPITAL LETTER I WITH GRAVE
+0x00cd "\\'{I}"                   "" "mathalpha" "\\acute{I}" # LATIN CAPITAL LETTER I WITH ACUTE
+0x00ce "\\^{I}"                   "" "mathalpha" "\\hat{I}" # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0x00cf "\\\"{I}"                  "" "mathalpha" "\\ddot{I}" # LATIN CAPITAL LETTER I WITH DIAERESIS
+0x00d0 "\\DH"                     "" "mathalpha" "\\mkern2mu\\rule[0.75ex]{0.75ex}{0.06ex}\\mkern-8mu D" # LATIN CAPITAL LETTER ETH
+0x00d1 "\\~{N}"                   "" "mathalpha" "\\tilde{N}" # LATIN CAPITAL LETTER N WITH TILDE
+0x00d2 "\\`{O}"                   "" "mathalpha" "\\grave{O}" # LATIN CAPITAL LETTER O WITH GRAVE
+0x00d3 "\\'{O}"                   "" "mathalpha" "\\acute{O}" # LATIN CAPITAL LETTER O WITH ACUTE
+0x00d4 "\\^{O}"                   "" "mathalpha" "\\hat{O}" # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0x00d5 "\\~{O}"                   "" "mathalpha" "\\tilde{O}" # LATIN CAPITAL LETTER O WITH TILDE
+0x00d6 "\\\"{O}"                  "" "mathalpha" "\\ddot{O}" # LATIN CAPITAL LETTER O WITH DIAERESIS
 0x00d7 "\\texttimes"              "textcomp" "force" "\\times" # × MULTIPLICATION SIGN
-0x00d8 "\\O"                      "" "" # LATIN CAPITAL LETTER O WITH STROKE
-0x00d9 "\\`{U}"                   "" "" # LATIN CAPITAL LETTER U WITH GRAVE
-0x00da "\\'{U}"                   "" "" # LATIN CAPITAL LETTER U WITH ACUTE
-0x00db "\\^{U}"                   "" "" # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-0x00dc "\\\"{U}"                  "" "" # LATIN CAPITAL LETTER U WITH DIAERESIS
-0x00dd "\\'{Y}"                   "" "" # LATIN CAPITAL LETTER Y WITH ACUTE
+0x00d8 "\\O"                      "" "mathalpha" "\slashed{O}" "slashed" # LATIN CAPITAL LETTER O WITH STROKE
+0x00d9 "\\`{U}"                   "" "mathalpha" "\\grave{U}" # LATIN CAPITAL LETTER U WITH GRAVE
+0x00da "\\'{U}"                   "" "mathalpha" "\\acute{U}" # LATIN CAPITAL LETTER U WITH ACUTE
+0x00db "\\^{U}"                   "" "mathalpha" "\\hat{U}" # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0x00dc "\\\"{U}"                  "" "mathalpha" "\\ddot{U}" # LATIN CAPITAL LETTER U WITH DIAERESIS
+0x00dd "\\'{Y}"                   "" "mathalpha" "\\acute{Y}" # LATIN CAPITAL LETTER Y WITH ACUTE
 0x00de "\\TH"                     "" "" # LATIN CAPITAL LETTER THORN
 0x00df "\\ss"                     "" "" # LATIN SMALL LETTER SHARP S
-0x00e0 "\\`{a}"                   "" "" # LATIN SMALL LETTER A WITH GRAVE
-0x00e1 "\\'{a}"                   "" "" # LATIN SMALL LETTER A WITH ACUTE
-0x00e2 "\\^{a}"                   "" "" # LATIN SMALL LETTER A WITH CIRCUMFLEX
-0x00e3 "\\~{a}"                   "" "" # LATIN SMALL LETTER A WITH TILDE
-0x00e4 "\\\"{a}"                  "" "" # LATIN SMALL LETTER A WITH DIAERESIS
-0x00e5 "\\r{a}"                   "" "" # LATIN SMALL LETTER A WITH RING ABOVE
+0x00e0 "\\`{a}"                   "" "mathalpha" "\\grave{a}" # LATIN SMALL LETTER A WITH GRAVE
+0x00e1 "\\'{a}"                   "" "mathalpha" "\\acute{a}" # LATIN SMALL LETTER A WITH ACUTE
+0x00e2 "\\^{a}"                   "" "mathalpha" "\\hat{a}" # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x00e3 "\\~{a}"                   "" "mathalpha" "\\tilde{a}" # LATIN SMALL LETTER A WITH TILDE
+0x00e4 "\\\"{a}"                  "" "mathalpha" "\\ddot{a}" # LATIN SMALL LETTER A WITH DIAERESIS
+0x00e5 "\\r{a}"                   "" "mathalpha" "\\mathring{a}" # LATIN SMALL LETTER A WITH RING ABOVE
 0x00e6 "\\ae"                     "" "" # LATIN SMALL LETTER AE
-0x00e7 "\\c{c}"                   "" "" # LATIN SMALL LETTER C WITH CEDILLA
-0x00e8 "\\`{e}"                   "" "" # LATIN SMALL LETTER E WITH GRAVE
-0x00e9 "\\'{e}"                   "" "" # LATIN SMALL LETTER E WITH ACUTE
-0x00ea "\\^{e}"                   "" "" # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0x00eb "\\\"{e}"                  "" "" # LATIN SMALL LETTER E WITH DIAERESIS
-0x00ec "\\`{\\i}"                 "" "" # LATIN SMALL LETTER I WITH GRAVE
-0x00ed "\\'{\\i}"                 "" "" # LATIN SMALL LETTER I WITH ACUTE
-0x00ee "\\^{\\i}"                 "" "" # LATIN SMALL LETTER I WITH CIRCUMFLEX
-0x00ef "\\\"{\\i}"                "" "" # LATIN SMALL LETTER I WITH DIAERESIS
+0x00e7 "\\c{c}"                   "" "mathalpha" "\\cedilla{c}" "accents,cedilla" # LATIN SMALL LETTER C WITH CEDILLA
+0x00e8 "\\`{e}"                   "" "mathalpha" "\\grave{e}" # LATIN SMALL LETTER E WITH GRAVE
+0x00e9 "\\'{e}"                   "" "mathalpha" "\\acute{e}" # LATIN SMALL LETTER E WITH ACUTE
+0x00ea "\\^{e}"                   "" "mathalpha" "\\hat{e}" # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x00eb "\\\"{e}"                  "" "mathalpha" "\\ddot{e}" # LATIN SMALL LETTER E WITH DIAERESIS
+0x00ec "\\`{\\i}"                 "" "mathalpha" "\\grave{\\imath}" # LATIN SMALL LETTER I WITH GRAVE
+0x00ed "\\'{\\i}"                 "" "mathalpha" "\\acute{\\imath}" # LATIN SMALL LETTER I WITH ACUTE
+0x00ee "\\^{\\i}"                 "" "mathalpha" "\\hat{\\imath}" # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x00ef "\\\"{\\i}"                "" "mathalpha" "\\ddot{\\imath}" # LATIN SMALL LETTER I WITH DIAERESIS
 0x00f0 "\\dh"                     "" "" # LATIN SMALL LETTER ETH
-0x00f1 "\\~{n}"                   "" "" # LATIN SMALL LETTER N WITH TILDE
-0x00f2 "\\`{o}"                   "" "" # LATIN SMALL LETTER O WITH GRAVE
-0x00f3 "\\'{o}"                   "" "" # LATIN SMALL LETTER O WITH ACUTE
-0x00f4 "\\^{o}"                   "" "" # LATIN SMALL LETTER O WITH CIRCUMFLEX
-0x00f5 "\\~{o}"                   "" "" # LATIN SMALL LETTER O WITH TILDE
-0x00f6 "\\\"{o}"                  "" "" # LATIN SMALL LETTER O WITH DIAERESIS
+0x00f1 "\\~{n}"                   "" "mathalpha" "\\tilde{n}" # LATIN SMALL LETTER N WITH TILDE
+0x00f2 "\\`{o}"                   "" "mathalpha" "\\grave{o}" # LATIN SMALL LETTER O WITH GRAVE
+0x00f3 "\\'{o}"                   "" "mathalpha" "\\acute{o}" # LATIN SMALL LETTER O WITH ACUTE
+0x00f4 "\\^{o}"                   "" "mathalpha" "\\hat{o}" # LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x00f5 "\\~{o}"                   "" "mathalpha" "\\tilde{o}" # LATIN SMALL LETTER O WITH TILDE
+0x00f6 "\\\"{o}"                  "" "mathalpha" "\\ddot{o}" # LATIN SMALL LETTER O WITH DIAERESIS
 0x00f7 "\\textdiv"                "textcomp" "force" "\\div" # ÷ DIVISION SIGN
-0x00f8 "\\o"                      "" "" # LATIN SMALL LETTER O WITH STROKE
-0x00f9 "\\`{u}"                   "" "" # LATIN SMALL LETTER U WITH GRAVE
-0x00fa "\\'{u}"                   "" "" # LATIN SMALL LETTER U WITH ACUTE
-0x00fb "\\^{u}"                   "" "" # LATIN SMALL LETTER U WITH CIRCUMFLEX
-0x00fc "\\\"{u}"                  "" "" # LATIN SMALL LETTER U WITH DIAERESIS
-0x00fd "\\'{y}"                   "" "" # LATIN SMALL LETTER Y WITH ACUTE
+0x00f8 "\\o"                      "" "mathalpha" "\\slashed{o}" "slashed" # LATIN SMALL LETTER O WITH STROKE
+0x00f9 "\\`{u}"                   "" "mathalpha" "\\grave{u}" # LATIN SMALL LETTER U WITH GRAVE
+0x00fa "\\'{u}"                   "" "mathalpha" "\\acute{u}" # LATIN SMALL LETTER U WITH ACUTE
+0x00fb "\\^{u}"                   "" "mathalpha" "\\hat{u}" # LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x00fc "\\\"{u}"                  "" "mathalpha" "\\ddot{u}" # LATIN SMALL LETTER U WITH DIAERESIS
+0x00fd "\\'{y}"                   "" "mathalpha" "\\acute{y}" # LATIN SMALL LETTER Y WITH ACUTE
 0x00fe "\\th"                     "" "" # LATIN SMALL LETTER THORN
-0x00ff "\\\"{y}"                  "" "" # LATIN SMALL LETTER Y WITH DIAERESIS
-0x0100 "\\={A}"                   "" "" # LATIN CAPITAL LETTER A WITH MACRON
-0x0101 "\\={a}"                   "" "" # LATIN SMALL LETTER A WITH MACRON
-0x0102 "\\u{A}"                   "" "" # LATIN CAPITAL LETTER A WITH BREVE
-0x0103 "\\u{a}"                   "" "" # LATIN SMALL LETTER A WITH BREVE
-0x0104 "\\k{A}"                   "" "" # LATIN CAPITAL LETTER A WITH OGONEK
-0x0105 "\\k{a}"                   "" "" # LATIN SMALL LETTER A WITH OGONEK
-0x0106 "\\'{C}"                   "" "" # LATIN CAPITAL LETTER C WITH ACUTE
-0x0107 "\\'{c}"                   "" "" # LATIN SMALL LETTER C WITH ACUTE
-0x0108 "\\^{C}"                   "" "" # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-0x0109 "\\^{c}"                   "" "" # LATIN SMALL LETTER C WITH CIRCUMFLEX
-0x010a "\\.{C}"                   "" "" # LATIN CAPITAL LETTER C WITH DOT ABOVE
-0x010b "\\.{c}"                   "" "" # LATIN SMALL LETTER C WITH DOT ABOVE
-0x010c "\\v{C}"                   "" "" # LATIN CAPITAL LETTER C WITH CARON
-0x010d "\\v{c}"                   "" "" # LATIN SMALL LETTER C WITH CARON
-0x010e "\\v{D}"                   "" "" # LATIN CAPITAL LETTER D WITH CARON
-0x010f "\\v{d}"                   "" "" # LATIN SMALL LETTER D WITH CARON
-0x0110 "\\DJ"                     "" "" # LATIN CAPITAL LETTER D WITH STROKE
-0x0111 "\\dj"                     "" "" # LATIN SMALL LETTER D WITH STROKE
-0x0112 "\\={E}"                   "" "" # LATIN CAPITAL LETTER E WITH MACRON
-0x0113 "\\={e}"                   "" "" # LATIN SMALL LETTER E WITH MACRON
-0x0114 "\\u{E}"                   "" "" # LATIN CAPITAL LETTER E WITH BREVE
-0x0115 "\\u{e}"                   "" "" # LATIN SMALL LETTER E WITH BREVE
-0x0116 "\\.{E}"                   "" "" # LATIN CAPITAL LETTER E WITH DOT ABOVE
-0x0117 "\\.{e}"                   "" "" # LATIN SMALL LETTER E WITH DOT ABOVE
-0x0118 "\\k{E}"                   "" "" # LATIN CAPITAL LETTER E WITH OGONEK
-0x0119 "\\k{e}"                   "" "" # LATIN SMALL LETTER E WITH OGONEK
-0x011a "\\v{E}"                   "" "" # LATIN CAPITAL LETTER E WITH CARON
-0x011b "\\v{e}"                   "" "" # LATIN SMALL LETTER E WITH CARON
-0x011c "\\^{G}"                   "" "" # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-0x011d "\\^{g}"                   "" "" # LATIN SMALL LETTER G WITH CIRCUMFLEX
-0x011e "\\u{G}"                   "" "" # LATIN CAPITAL LETTER G WITH BREVE
-0x011f "\\u{g}"                   "" "" # LATIN SMALL LETTER G WITH BREVE
-0x0120 "\\.{G}"                   "" "" # LATIN CAPITAL LETTER G WITH DOT ABOVE
-0x0121 "\\.{g}"                   "" "" # LATIN SMALL LETTER G WITH DOT ABOVE
-0x0122 "\\c{G}"                   "" "" # LATIN CAPITAL LETTER G WITH CEDILLA
-0x0123 "\\c{g}"                   "" "" # LATIN SMALL LETTER G WITH CEDILLA
-0x0124 "\\^{H}"                   "" "" # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-0x0125 "\\^{h}"                   "" "" # LATIN SMALL LETTER H WITH CIRCUMFLEX
+0x00ff "\\\"{y}"                  "" "mathalpha" "\\ddot{y}" # LATIN SMALL LETTER Y WITH DIAERESIS
+0x0100 "\\={A}"                   "" "mathalpha" "\\bar{A}" # LATIN CAPITAL LETTER A WITH MACRON
+0x0101 "\\={a}"                   "" "mathalpha" "\\bar{a}" # LATIN SMALL LETTER A WITH MACRON
+0x0102 "\\u{A}"                   "" "mathalpha" "\\breve{A}" # LATIN CAPITAL LETTER A WITH BREVE
+0x0103 "\\u{a}"                   "" "mathalpha" "\\breve{a}" # LATIN SMALL LETTER A WITH BREVE
+0x0104 "\\k{A}"                   "" "mathalpha" "\\ogonek{A}" "accents,tipasymb,ogonek" # LATIN CAPITAL LETTER A WITH OGONEK
+0x0105 "\\k{a}"                   "" "mathalpha" "\\ogonek{a}" "accents,tipasymb,ogonek" # LATIN SMALL LETTER A WITH OGONEK
+0x0106 "\\'{C}"                   "" "mathalpha" "\\acute{C}" # LATIN CAPITAL LETTER C WITH ACUTE
+0x0107 "\\'{c}"                   "" "mathalpha" "\\acute{c}" # LATIN SMALL LETTER C WITH ACUTE
+0x0108 "\\^{C}"                   "" "mathalpha" "\\hat{C}" # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+0x0109 "\\^{c}"                   "" "mathalpha" "\\hat{c}" # LATIN SMALL LETTER C WITH CIRCUMFLEX
+0x010a "\\.{C}"                   "" "mathalpha" "\\dot{C}" # LATIN CAPITAL LETTER C WITH DOT ABOVE
+0x010b "\\.{c}"                   "" "mathalpha" "\\dot{c}" # LATIN SMALL LETTER C WITH DOT ABOVE
+0x010c "\\v{C}"                   "" "mathalpha" "\\check{C}" # LATIN CAPITAL LETTER C WITH CARON
+0x010d "\\v{c}"                   "" "mathalpha" "\\check{c}" # LATIN SMALL LETTER C WITH CARON
+0x010e "\\v{D}"                   "" "mathalpha" "\\check{D}" # LATIN CAPITAL LETTER D WITH CARON
+0x010f "\\v{d}"                   "" "mathalpha" "\\check{d}" # LATIN SMALL LETTER D WITH CARON
+0x0110 "\\DJ"                     "" "mathalpha" "\\mkern2mu\\rule[0.75ex]{0.75ex}{0.06ex}\\mkern-8mu D" # LATIN CAPITAL LETTER D WITH STROKE
+0x0111 "\\dj"                     "" "mathalpha" "\\mkern3mu\\mathchar'26\\mkern-12mu d" # LATIN SMALL LETTER D WITH STROKE
+0x0112 "\\={E}"                   "" "mathalpha" "\\bar{E}" # LATIN CAPITAL LETTER E WITH MACRON
+0x0113 "\\={e}"                   "" "mathalpha" "\\bar{e}" # LATIN SMALL LETTER E WITH MACRON
+0x0114 "\\u{E}"                   "" "mathalpha" "\\breve{E}" # LATIN CAPITAL LETTER E WITH BREVE
+0x0115 "\\u{e}"                   "" "mathalpha" "\\breve{e}" # LATIN SMALL LETTER E WITH BREVE
+0x0116 "\\.{E}"                   "" "mathalpha" "\\dot{E}" # LATIN CAPITAL LETTER E WITH DOT ABOVE
+0x0117 "\\.{e}"                   "" "mathalpha" "\\dot{e}" # LATIN SMALL LETTER E WITH DOT ABOVE
+0x0118 "\\k{E}"                   "" "mathalpha" "\\ogonek{E}" "accents,tipasymb,ogonek" # LATIN CAPITAL LETTER E WITH OGONEK
+0x0119 "\\k{e}"                   "" "mathalpha" "\\ogonek{e}" "accents,tipasymb,ogonek" # LATIN SMALL LETTER E WITH OGONEK
+0x011a "\\v{E}"                   "" "mathalpha" "\\check{E}" # LATIN CAPITAL LETTER E WITH CARON
+0x011b "\\v{e}"                   "" "mathalpha" "\\check{e}" # LATIN SMALL LETTER E WITH CARON
+0x011c "\\^{G}"                   "" "mathalpha" "\\hat{G}" # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+0x011d "\\^{g}"                   "" "mathalpha" "\\hat{g}" # LATIN SMALL LETTER G WITH CIRCUMFLEX
+0x011e "\\u{G}"                   "" "mathalpha" "\\breve{G}" # LATIN CAPITAL LETTER G WITH BREVE
+0x011f "\\u{g}"                   "" "mathalpha" "\\breve{g}" # LATIN SMALL LETTER G WITH BREVE
+0x0120 "\\.{G}"                   "" "mathalpha" "\\dot{G}" # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0x0121 "\\.{g}"                   "" "mathalpha" "\\dot{g}" # LATIN SMALL LETTER G WITH DOT ABOVE
+0x0122 "\\c{G}"                   "" "mathalpha" "\\cedilla{G}" "accents,cedilla" # LATIN CAPITAL LETTER G WITH CEDILLA
+0x0123 "\\accent96 g"             "" "mathalpha" "\\mathaccent96 g" # LATIN SMALL LETTER G WITH CEDILLA
+0x0124 "\\^{H}"                   "" "mathalpha" "\\hat{H}" # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0x0125 "\\^{h}"                   "" "mathalpha" "\\hat{h}" # LATIN SMALL LETTER H WITH CIRCUMFLEX
 #0x0126 ""                         "" "" # LATIN CAPITAL LETTER H WITH STROKE
 #0x0127 ""                         "" "" # LATIN SMALL LETTER H WITH STROKE
-0x0128 "\\~{I}"                   "" "" # LATIN CAPITAL LETTER I WITH TILDE
-0x0129 "\\~{\\i}"                 "" "" # LATIN SMALL LETTER I WITH TILDE
-0x012a "\\={I}"                   "" "" # LATIN CAPITAL LETTER I WITH MACRON
-0x012b "\\={\\i}"                 "" "" # LATIN SMALL LETTER I WITH MACRON
-0x012c "\\u{I}"                   "" "" # LATIN CAPITAL LETTER I WITH BREVE
-0x012d "\\u{\\i}"                 "" "" # LATIN SMALL LETTER I WITH BREVE
-0x012e "\\k{I}"                   "" "" # LATIN CAPITAL LETTER I WITH OGONEK
-0x012f "\\k{i}"                   "" "" # LATIN SMALL LETTER I WITH OGONEK
-0x0130 "\\.{I}"                   "" "" # LATIN CAPITAL LETTER I WITH DOT ABOVE
-0x0131 "\\i"                      "" "" # LATIN SMALL LETTER DOTLESS I
-0x0132 "IJ"                         "" "" # LATIN CAPITAL LIGATURE IJ
-0x0133 "ij"                         "" "" # LATIN SMALL LIGATURE IJ
-0x0134 "\\^{J}"                   "" "" # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-0x0135 "\\^{\\j}"                 "" "" # LATIN SMALL LETTER J WITH CIRCUMFLEX
-0x0136 "\\c{K}"                   "" "" # LATIN CAPITAL LETTER K WITH CEDILLA
-0x0137 "\\c{k}"                   "" "" # LATIN SMALL LETTER K WITH CEDILLA
+0x0128 "\\~{I}"                   "" "mathalpha" "\\tilde{I}" # LATIN CAPITAL LETTER I WITH TILDE
+0x0129 "\\~{\\i}"                 "" "mathalpha" "\\tilde{\\imath}" # LATIN SMALL LETTER I WITH TILDE
+0x012a "\\={I}"                   "" "mathalpha" "\\bar{I}" # LATIN CAPITAL LETTER I WITH MACRON
+0x012b "\\={\\i}"                 "" "mathalpha" "\\bar{\\imath}" # LATIN SMALL LETTER I WITH MACRON
+0x012c "\\u{I}"                   "" "mathalpha" "\\breve{I}" # LATIN CAPITAL LETTER I WITH BREVE
+0x012d "\\u{\\i}"                 "" "mathalpha" "\\breve{\\imath}" # LATIN SMALL LETTER I WITH BREVE
+0x012e "\\k{I}"                   "" "mathalpha" "\\ogonek{I}" "accents,tipasymb,ogonek" # LATIN CAPITAL LETTER I WITH OGONEK
+0x012f "\\k{i}"                   "" "mathalpha" "\\ogonek{i}" "accents,tipasymb,ogonek" # LATIN SMALL LETTER I WITH OGONEK
+0x0130 "\\.{I}"                   "" "mathalpha" "\\dot{I}" # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0x0131 "\\i"                      "" "mathalpha" "\\imath" # LATIN SMALL LETTER DOTLESS I
+0x0132 "IJ"                       "" "mathalpha" "IJ" # LATIN CAPITAL LIGATURE IJ
+0x0133 "ij"                       "" "mathalpha" "ij" # LATIN SMALL LIGATURE IJ
+0x0134 "\\^{J}"                   "" "mathalpha" "\\hat{J}" # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+0x0135 "\\^{\\j}"                 "" "mathalpha" "\\hat{\\jmath}" # LATIN SMALL LETTER J WITH CIRCUMFLEX
+0x0136 "\\c{K}"                   "" "mathalpha" "\\cedilla{K}" "accents,cedilla" # LATIN CAPITAL LETTER K WITH CEDILLA
+0x0137 "\\c{k}"                   "" "mathalpha" "\\cedilla{k}" "accents,cedilla" # LATIN SMALL LETTER K WITH CEDILLA
 #0x0138 ""                         "" "" # LATIN SMALL LETTER KRA
-0x0139 "\\'{L}"                   "" "" # LATIN CAPITAL LETTER L WITH ACUTE
-0x013a "\\'{l}"                   "" "" # LATIN SMALL LETTER L WITH ACUTE
-0x013b "\\c{L}"                   "" "" # LATIN CAPITAL LETTER L WITH CEDILLA
-0x013c "\\c{l}"                   "" "" # LATIN SMALL LETTER L WITH CEDILLA
-0x013d "\\v{L}"                   "" "" # LATIN CAPITAL LETTER L WITH CARON
-0x013e "\\v{l}"                   "" "" # LATIN SMALL LETTER L WITH CARON
+0x0139 "\\'{L}"                   "" "mathalpha" "\\acute{L}" # LATIN CAPITAL LETTER L WITH ACUTE
+0x013a "\\'{l}"                   "" "mathalpha" "\\acute{l}" # LATIN SMALL LETTER L WITH ACUTE
+0x013b "\\c{L}"                   "" "mathalpha" "\\cedilla{L}" "accents,cedilla" # LATIN CAPITAL LETTER L WITH CEDILLA
+0x013c "\\c{l}"                   "" "mathalpha" "\\cedilla{l}" "accents,cedilla" # LATIN SMALL LETTER L WITH CEDILLA
+0x013d "\\v{L}"                   "" "mathalpha" "L\\mkern-7mu\\mathchar19" # LATIN CAPITAL LETTER L WITH CARON
+0x013e "\\v{l}"                   "" "mathalpha" "l\\mkern-5mu\\mathchar19" # LATIN SMALL LETTER L WITH CARON
 #0x013f ""                         "" "" # LATIN CAPITAL LETTER L WITH MIDDLE DOT
 #0x0140 ""                         "" "" # LATIN SMALL LETTER L WITH MIDDLE DOT
-0x0141 "\\L"                      "" "" # LATIN CAPITAL LETTER L WITH STROKE
-0x0142 "\\l"                      "" "" # LATIN SMALL LETTER L WITH STROKE
-0x0143 "\\'{N}"                   "" "" # LATIN CAPITAL LETTER N WITH ACUTE
-0x0144 "\\'{n}"                   "" "" # LATIN SMALL LETTER N WITH ACUTE
-0x0145 "\\c{N}"                   "" "" # LATIN CAPITAL LETTER N WITH CEDILLA
-0x0146 "\\c{n}"                   "" "" # LATIN SMALL LETTER N WITH CEDILLA
-0x0147 "\\v{N}"                   "" "" # LATIN CAPITAL LETTER N WITH CARON
-0x0148 "\\v{n}"                   "" "" # LATIN SMALL LETTER N WITH CARON
+0x0141 "\\L"                      "" "mathalpha" "\\mkern2mu\\mathchar'40\\mkern-7mu L" # LATIN CAPITAL LETTER L WITH STROKE
+0x0142 "\\l"                      "" "mathalpha" "\\mathchar'40\\mkern-5mu l" # LATIN SMALL LETTER L WITH STROKE
+0x0143 "\\'{N}"                   "" "mathalpha" "\\acute{N}" # LATIN CAPITAL LETTER N WITH ACUTE
+0x0144 "\\'{n}"                   "" "mathalpha" "\\acute{n}" # LATIN SMALL LETTER N WITH ACUTE
+0x0145 "\\c{N}"                   "" "mathalpha" "\\cedilla{N}" "accents,cedilla" # LATIN CAPITAL LETTER N WITH CEDILLA
+0x0146 "\\c{n}"                   "" "mathalpha" "\\cedilla{n}" "accents,cedilla" # LATIN SMALL LETTER N WITH CEDILLA
+0x0147 "\\v{N}"                   "" "mathalpha" "\\check{N}" # LATIN CAPITAL LETTER N WITH CARON
+0x0148 "\\v{n}"                   "" "mathalpha" "\\check{n}" # LATIN SMALL LETTER N WITH CARON
 #0x0149 ""                         "" "" # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
 0x014a "\\NG"                     "" "" # LATIN CAPITAL LETTER ENG
 0x014b "\\ng"                     "" "" # LATIN SMALL LETTER ENG
-0x014c "\\={O}"                   "" "" # LATIN CAPITAL LETTER O WITH MACRON
-0x014d "\\={o}"                   "" "" # LATIN SMALL LETTER O WITH MACRON
-0x014e "\\u{O}"                   "" "" # LATIN CAPITAL LETTER O WITH BREVE
-0x014f "\\u{o}"                   "" "" # LATIN SMALL LETTER O WITH BREVE
-0x0150 "\\H{O}"                   "" "" # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0x0151 "\\H{o}"                   "" "" # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0x014c "\\={O}"                   "" "mathalpha" "\\bar{O}" # LATIN CAPITAL LETTER O WITH MACRON
+0x014d "\\={o}"                   "" "mathalpha" "\\bar{o}" # LATIN SMALL LETTER O WITH MACRON
+0x014e "\\u{O}"                   "" "mathalpha" "\\breve{O}" # LATIN CAPITAL LETTER O WITH BREVE
+0x014f "\\u{o}"                   "" "mathalpha" "\\breve{o}" # LATIN SMALL LETTER O WITH BREVE
+0x0150 "\\H{O}"                   "" "mathalpha" "\\dacute{O}" "dacute" # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0x0151 "\\H{o}"                   "" "mathalpha" "\\dacute{o}" "dacute" # LATIN SMALL LETTER O WITH DOUBLE ACUTE
 0x0152 "\\OE"                     "" "" # LATIN CAPITAL LIGATURE OE
 0x0153 "\\oe"                     "" "" # LATIN SMALL LIGATURE OE
-0x0154 "\\'{R}"                   "" "" # LATIN CAPITAL LETTER R WITH ACUTE
-0x0155 "\\'{r}"                   "" "" # LATIN SMALL LETTER R WITH ACUTE
-0x0156 "\\c{R}"                   "" "" # LATIN CAPITAL LETTER R WITH CEDILLA
-0x0157 "\\c{r}"                   "" "" # LATIN SMALL LETTER R WITH CEDILLA
-0x0158 "\\v{R}"                   "" "" # LATIN CAPITAL LETTER R WITH CARON
-0x0159 "\\v{r}"                   "" "" # LATIN SMALL LETTER R WITH CARON
-0x015a "\\'{S}"                   "" "" # LATIN CAPITAL LETTER S WITH ACUTE
-0x015b "\\'{s}"                   "" "" # LATIN SMALL LETTER S WITH ACUTE
-0x015c "\\^{S}"                   "" "" # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-0x015d "\\^{s}"                   "" "" # LATIN SMALL LETTER S WITH CIRCUMFLEX
-0x015e "\\c{S}"                   "" "" # LATIN CAPITAL LETTER S WITH CEDILLA
-0x015f "\\c{s}"                   "" "" # LATIN SMALL LETTER S WITH CEDILLA
-0x0160 "\\v{S}"                   "" "" # LATIN CAPITAL LETTER S WITH CARON
-0x0161 "\\v{s}"                   "" "" # LATIN SMALL LETTER S WITH CARON
-0x0162 "\\c{T}"                   "" "" # LATIN CAPITAL LETTER T WITH CEDILLA
-0x0163 "\\c{t}"                   "" "" # LATIN SMALL LETTER T WITH CEDILLA
-0x0164 "\\v{T}"                   "" "" # LATIN CAPITAL LETTER T WITH CARON
-0x0165 "\\v{t}"                   "" "" # LATIN SMALL LETTER T WITH CARON
+0x0154 "\\'{R}"                   "" "mathalpha" "\\acute{R}" # LATIN CAPITAL LETTER R WITH ACUTE
+0x0155 "\\'{r}"                   "" "mathalpha" "\\acute{r}" # LATIN SMALL LETTER R WITH ACUTE
+0x0156 "\\c{R}"                   "" "mathalpha" "\\cedilla{R}" "accents,cedilla" # LATIN CAPITAL LETTER R WITH CEDILLA
+0x0157 "\\c{r}"                   "" "mathalpha" "\\cedilla{r}" "accents,cedilla" # LATIN SMALL LETTER R WITH CEDILLA
+0x0158 "\\v{R}"                   "" "mathalpha" "\\check{R}" # LATIN CAPITAL LETTER R WITH CARON
+0x0159 "\\v{r}"                   "" "mathalpha" "\\check{r}" # LATIN SMALL LETTER R WITH CARON
+0x015a "\\'{S}"                   "" "mathalpha" "\\acute{S}" # LATIN CAPITAL LETTER S WITH ACUTE
+0x015b "\\'{s}"                   "" "mathalpha" "\\acute{s}" # LATIN SMALL LETTER S WITH ACUTE
+0x015c "\\^{S}"                   "" "mathalpha" "\\hat{S}" # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+0x015d "\\^{s}"                   "" "mathalpha" "\\hat{s}" # LATIN SMALL LETTER S WITH CIRCUMFLEX
+0x015e "\\c{S}"                   "" "mathalpha" "\\cedilla{S}" "accents,cedilla" # LATIN CAPITAL LETTER S WITH CEDILLA
+0x015f "\\c{s}"                   "" "mathalpha" "\\cedilla{s}" "accents,cedilla" # LATIN SMALL LETTER S WITH CEDILLA
+0x0160 "\\v{S}"                   "" "mathalpha" "\\check{S}" # LATIN CAPITAL LETTER S WITH CARON
+0x0161 "\\v{s}"                   "" "mathalpha" "\\check{s}" # LATIN SMALL LETTER S WITH CARON
+0x0162 "\\c{T}"                   "" "mathalpha" "\\cedilla{T}" "accents,cedilla" # LATIN CAPITAL LETTER T WITH CEDILLA
+0x0163 "\\c{t}"                   "" "mathalpha" "\\cedilla{t}" "accents,cedilla" # LATIN SMALL LETTER T WITH CEDILLA
+0x0164 "\\v{T}"                   "" "mathalpha" "\\check{T}" # LATIN CAPITAL LETTER T WITH CARON
+0x0165 "\\v{t}"                   "" "mathalpha" "t\\mkern-5mu\\mathchar19" # LATIN SMALL LETTER T WITH CARON
 #0x0166 ""                         "" "" # LATIN CAPITAL LETTER T WITH STROKE
 #0x0167 ""                         "" "" # LATIN SMALL LETTER T WITH STROKE
-0x0168 "\\~{U}"                   "" "" # LATIN CAPITAL LETTER U WITH TILDE
-0x0169 "\\~{u}"                   "" "" # LATIN SMALL LETTER U WITH TILDE
-0x016a "\\={U}"                   "" "" # LATIN CAPITAL LETTER U WITH MACRON
-0x016b "\\={u}"                   "" "" # LATIN SMALL LETTER U WITH MACRON
-0x016c "\\u{U}"                   "" "" # LATIN CAPITAL LETTER U WITH BREVE
-0x016d "\\u{u}"                   "" "" # LATIN SMALL LETTER U WITH BREVE
-0x016e "\\r{U}"                   "" "" # LATIN CAPITAL LETTER U WITH RING ABOVE
-0x016f "\\r{u}"                   "" "" # LATIN SMALL LETTER U WITH RING ABOVE
-0x0170 "\\H{U}"                   "" "" # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0x0171 "\\H{u}"                   "" "" # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0x0172 "\\k{U}"                   "" "" # LATIN CAPITAL LETTER U WITH OGONEK
-0x0173 "\\k{u}"                   "" "" # LATIN SMALL LETTER U WITH OGONEK
-0x0174 "\\^{W}"                   "" "" # LATIN CAPITAL LETTER W WITH CIRCUMFLEX
-0x0175 "\\^{w}"                   "" "" # LATIN SMALL LETTER W WITH CIRCUMFLEX
-0x0176 "\\^{Y}"                   "" "" # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
-0x0177 "\\^{y}"                   "" "" # LATIN SMALL LETTER Y WITH CIRCUMFLEX
-0x0178 "\\\"{Y}"                  "" "" # LATIN CAPITAL LETTER Y WITH DIAERESIS
-0x0179 "\\'{Z}"                   "" "" # LATIN CAPITAL LETTER Z WITH ACUTE
-0x017a "\\'{z}"                   "" "" # LATIN SMALL LETTER Z WITH ACUTE
-0x017b "\\.{Z}"                   "" "" # LATIN CAPITAL LETTER Z WITH DOT ABOVE
-0x017c "\\.{z}"                   "" "" # LATIN SMALL LETTER Z WITH DOT ABOVE
-0x017d "\\v{Z}"                   "" "" # LATIN CAPITAL LETTER Z WITH CARON
-0x017e "\\v{z}"                   "" "" # LATIN SMALL LETTER Z WITH CARON
+0x0168 "\\~{U}"                   "" "mathalpha" "\\tilde{U}" # LATIN CAPITAL LETTER U WITH TILDE
+0x0169 "\\~{u}"                   "" "mathalpha" "\\tilde{u}" # LATIN SMALL LETTER U WITH TILDE
+0x016a "\\={U}"                   "" "mathalpha" "\\bar{U}" # LATIN CAPITAL LETTER U WITH MACRON
+0x016b "\\={u}"                   "" "mathalpha" "\\bar{u}" # LATIN SMALL LETTER U WITH MACRON
+0x016c "\\u{U}"                   "" "mathalpha" "\\breve{U}" # LATIN CAPITAL LETTER U WITH BREVE
+0x016d "\\u{u}"                   "" "mathalpha" "\\breve{u}" # LATIN SMALL LETTER U WITH BREVE
+0x016e "\\r{U}"                   "" "mathalpha" "\\mathring{U}" # LATIN CAPITAL LETTER U WITH RING ABOVE
+0x016f "\\r{u}"                   "" "mathalpha" "\\mathring{u}" # LATIN SMALL LETTER U WITH RING ABOVE
+0x0170 "\\H{U}"                   "" "mathalpha" "\\dacute{U}" "dacute" # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0x0171 "\\H{u}"                   "" "mathalpha" "\\dacute{u}" "dacute" # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0x0172 "\\k{U}"                   "" "mathalpha" "\\ogonek{U}" "accents,tipasymb,ogonek" # LATIN CAPITAL LETTER U WITH OGONEK
+0x0173 "\\k{u}"                   "" "mathalpha" "\\ogonek{u}" "accents,tipasymb,ogonek" # LATIN SMALL LETTER U WITH OGONEK
+0x0174 "\\^{W}"                   "" "mathalpha" "\\hat{W}" # LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+0x0175 "\\^{w}"                   "" "mathalpha" "\\hat{w}" # LATIN SMALL LETTER W WITH CIRCUMFLEX
+0x0176 "\\^{Y}"                   "" "mathalpha" "\\hat{Y}" # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+0x0177 "\\^{y}"                   "" "mathalpha" "\\hat{y}" # LATIN SMALL LETTER Y WITH CIRCUMFLEX
+0x0178 "\\\"{Y}"                  "" "mathalpha" "\\ddot{Y}" # LATIN CAPITAL LETTER Y WITH DIAERESIS
+0x0179 "\\'{Z}"                   "" "mathalpha" "\\acute{Z}" # LATIN CAPITAL LETTER Z WITH ACUTE
+0x017a "\\'{z}"                   "" "mathalpha" "\\acute{z}" # LATIN SMALL LETTER Z WITH ACUTE
+0x017b "\\.{Z}"                   "" "mathalpha" "\\dot{Z}" # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0x017c "\\.{z}"                   "" "mathalpha" "\\dot{z}" # LATIN SMALL LETTER Z WITH DOT ABOVE
+0x017d "\\v{Z}"                   "" "mathalpha" "\\check{Z}" # LATIN CAPITAL LETTER Z WITH CARON
+0x017e "\\v{z}"                   "" "mathalpha" "\\check{z}" # LATIN SMALL LETTER Z WITH CARON
 #0x017f ""                         "" "" # LATIN SMALL LETTER LONG S
 #
 # Latin Extended-B
 #0x01ca ""                         "" "" # LATIN CAPITAL LETTER NJ
 #0x01cb ""                         "" "" # LATIN CAPITAL LETTER N WITH SMALL LETTER J
 #0x01cc ""                         "" "" # LATIN SMALL LETTER NJ
-0x01cd "\\v{A}"                   "" "" # LATIN CAPITAL LETTER A WITH CARON
-0x01ce "\\v{a}"                   "" "" # LATIN SMALL LETTER A WITH CARON
-0x01cf "\\v{I}"                   "" "" # LATIN CAPITAL LETTER I WITH CARON
-0x01d0 "\\v{\\i}"                 "" "" # LATIN SMALL LETTER I WITH CARON
-0x01d1 "\\v{O}"                   "" "" # LATIN CAPITAL LETTER O WITH CARON
-0x01d2 "\\v{o}"                   "" "" # LATIN SMALL LETTER O WITH CARON
-0x01d3 "\\v{U}"                   "" "" # LATIN CAPITAL LETTER U WITH CARON
-0x01d4 "\\v{u}"                   "" "" # LATIN SMALL LETTER U WITH CARON
+0x01cd "\\v{A}"                   "" "mathalpha" "\\check{A}" # LATIN CAPITAL LETTER A WITH CARON
+0x01ce "\\v{a}"                   "" "mathalpha" "\\check{a}" # LATIN SMALL LETTER A WITH CARON
+0x01cf "\\v{I}"                   "" "mathalpha" "\\check{I}" # LATIN CAPITAL LETTER I WITH CARON
+0x01d0 "\\v{\\i}"                 "" "mathalpha" "\\check{\\imath}" # LATIN SMALL LETTER I WITH CARON
+0x01d1 "\\v{O}"                   "" "mathalpha" "\\check{O}" # LATIN CAPITAL LETTER O WITH CARON
+0x01d2 "\\v{o}"                   "" "mathalpha" "\\check{o}" # LATIN SMALL LETTER O WITH CARON
+0x01d3 "\\v{U}"                   "" "mathalpha" "\\check{U}" # LATIN CAPITAL LETTER U WITH CARON
+0x01d4 "\\v{u}"                   "" "mathalpha" "\\check{u}" # LATIN SMALL LETTER U WITH CARON
 #0x01d5 ""                         "" "" # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
 #0x01d6 ""                         "" "" # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
 #0x01d7 ""                         "" "" # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
 0x01e3 "\\={\\ae}"                "" "" # LATIN SMALL LETTER AE WITH MACRON
 #0x01e4 ""                         "" "" # LATIN CAPITAL LETTER G WITH STROKE
 #0x01e5 ""                         "" "" # LATIN SMALL LETTER G WITH STROKE
-0x01e6 "\\v{G}"                   "" "" # LATIN CAPITAL LETTER G WITH CARON
-0x01e7 "\\v{g}"                   "" "" # LATIN SMALL LETTER G WITH CARON
-0x01e8 "\\v{K}"                   "" "" # LATIN CAPITAL LETTER K WITH CARON
-0x01e9 "\\v{k}"                   "" "" # LATIN SMALL LETTER K WITH CARON
-0x01ea "\\k{O}"                   "" "" # LATIN CAPITAL LETTER O WITH OGONEK
-0x01eb "\\k{o}"                   "" "" # LATIN SMALL LETTER O WITH OGONEK
+0x01e6 "\\v{G}"                   "" "mathalpha" "\\check{G}" # LATIN CAPITAL LETTER G WITH CARON
+0x01e7 "\\v{g}"                   "" "mathalpha" "\\check{g}" # LATIN SMALL LETTER G WITH CARON
+0x01e8 "\\v{K}"                   "" "mathalpha" "\\check{K}" # LATIN CAPITAL LETTER K WITH CARON
+0x01e9 "\\v{k}"                   "" "mathalpha" "\\check{k}" # LATIN SMALL LETTER K WITH CARON
+0x01ea "\\k{O}"                   "" "mathalpha" "\\ogonek{O}" "accents,tipasymb,ogonek" # LATIN CAPITAL LETTER O WITH OGONEK
+0x01eb "\\k{o}"                   "" "mathalpha" "\\ogonek{o}" "accents,tipasymb,ogonek" # LATIN SMALL LETTER O WITH OGONEK
 #0x01ec ""                         "" "" # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
 #0x01ed ""                         "" "" # LATIN SMALL LETTER O WITH OGONEK AND MACRON
 #0x01ee ""                         "" "" # LATIN CAPITAL LETTER EZH WITH CARON
 #0x01ef ""                         "" "" # LATIN SMALL LETTER EZH WITH CARON
-0x01f0 "\\v{\\j}"                 "" "" # LATIN SMALL LETTER J WITH CARON
-0x01ce "\\v{a}"                   "" "" # LATIN SMALL LETTER A WITH CARON
+0x01f0 "\\v{\\j}"                 "" "mathalpha" "\\check{\\jmath}" # LATIN SMALL LETTER J WITH CARON
 #0x01f1 ""                         "" "" # LATIN CAPITAL LETTER DZ
 #0x01f2 ""                         "" "" # LATIN CAPITAL LETTER D WITH SMALL LETTER Z
 #0x01f3 ""                         "" "" # LATIN SMALL LETTER DZ
-0x01f4 "\\'{G}"                   "" "" # LATIN CAPITAL LETTER G WITH ACUTE
-0x01f5 "\\'{g}"                   "" "" # LATIN SMALL LETTER G WITH ACUTE
+0x01f4 "\\'{G}"                   "" "mathalpha" "\\acute{G}" # LATIN CAPITAL LETTER G WITH ACUTE
+0x01f5 "\\'{g}"                   "" "mathalpha" "\\acute{g}" # LATIN SMALL LETTER G WITH ACUTE
 #0x01f6 ""                         "" "" # LATIN CAPITAL LETTER HWAIR
 #0x01f7 ""                         "" "" # LATIN CAPITAL LETTER WYNN
-0x01f8 "\\`{N}"                   "" "" # LATIN CAPITAL LETTER N WITH GRAVE
-0x01f9 "\\`{n}"                   "" "" # LATIN SMALL LETTER N WITH GRAVE
+0x01f8 "\\`{N}"                   "" "mathalpha" "\\grave{N}" # LATIN CAPITAL LETTER N WITH GRAVE
+0x01f9 "\\`{n}"                   "" "mathalpha" "\\grave{n}" # LATIN SMALL LETTER N WITH GRAVE
 #0x01fa ""                         "" "" # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
 #0x01fb ""                         "" "" # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
 0x01fc "\\'{\\AE}"                "" "" # LATIN CAPITAL LETTER AE WITH ACUTE
 0x01fd "\\'{\\ae}"                "" "" # LATIN SMALL LETTER AE WITH ACUTE
 #0x01fe ""                         "" "" # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
 #0x01ff ""                         "" "" # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-0x0200 "\\textdoublegrave{A}"     "tipa" "" # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
-0x0201 "\\textdoublegrave{a}"     "tipa" "" # LATIN SMALL LETTER A WITH DOUBLE GRAVE
-0x0202 "\\textroundcap{A}"        "tipa" "" # LATIN CAPITAL LETTER A WITH INVERTED BREVE
-0x0203 "\\textroundcap{a}"        "tipa" "" # LATIN SMALL LETTER A WITH INVERTED BREVE
-0x0204 "\\textdoublegrave{E}"     "tipa" "" # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
-0x0205 "\\textdoublegrave{e}"     "tipa" "" # LATIN SMALL LETTER E WITH DOUBLE GRAVE
-0x0206 "\\textroundcap{E}"        "tipa" "" # LATIN CAPITAL LETTER E WITH INVERTED BREVE
-0x0207 "\\textroundcap{e}"        "tipa" "" # LATIN SMALL LETTER E WITH INVERTED BREVE
-0x0208 "\\textdoublegrave{I}"     "tipa" "" # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
-0x0209 "\\textdoublegrave{\\i}"   "tipa" "" # LATIN SMALL LETTER I WITH DOUBLE GRAVE
-0x020a "\\textroundcap{I}"        "tipa" "" # LATIN CAPITAL LETTER I WITH INVERTED BREVE
-0x020b "\\textroundcap{\\i}"      "tipa" "" # LATIN SMALL LETTER I WITH INVERTED BREVE
-0x020c "\\textdoublegrave{O}"     "tipa" "" # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
-0x020d "\\textdoublegrave{o}"     "tipa" "" # LATIN SMALL LETTER O WITH DOUBLE GRAVE
-0x020e "\\textroundcap{O}"        "tipa" "" # LATIN CAPITAL LETTER O WITH INVERTED BREVE
-0x020f "\\textroundcap{o}"        "tipa" "" # LATIN SMALL LETTER O WITH INVERTED BREVE
-0x0210 "\\textdoublegrave{R}"     "tipa" "" # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
-0x0211 "\\textdoublegrave{r}"     "tipa" "" # LATIN SMALL LETTER R WITH DOUBLE GRAVE
-0x0212 "\\textroundcap{R}"        "tipa" "" # LATIN CAPITAL LETTER R WITH INVERTED BREVE
-0x0213 "\\textroundcap{r}"        "tipa" "" # LATIN SMALL LETTER R WITH INVERTED BREVE
-0x0214 "\\textdoublegrave{U}"     "tipa" "" # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
-0x0215 "\\textdoublegrave{u}"     "tipa" "" # LATIN SMALL LETTER U WITH DOUBLE GRAVE
-0x0216 "\\textroundcap{U}"        "tipa" "" # LATIN CAPITAL LETTER U WITH INVERTED BREVE
-0x0217 "\\textroundcap{u}"        "tipa" "" # LATIN SMALL LETTER U WITH INVERTED BREVE
+0x0200 "\\textdoublegrave{A}"     "tipa" "mathalpha" "\\dgrave{A}" "tipasymb,dgrave" # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
+0x0201 "\\textdoublegrave{a}"     "tipa" "mathalpha" "\\dgrave{a}" "tipasymb,dgrave" # LATIN SMALL LETTER A WITH DOUBLE GRAVE
+0x0202 "\\textroundcap{A}"        "tipa" "mathalpha" "\\rcap{A}" "tipasymb,rcap" # LATIN CAPITAL LETTER A WITH INVERTED BREVE
+0x0203 "\\textroundcap{a}"        "tipa" "mathalpha" "\\rcap{a}" "tipasymb,rcap" # LATIN SMALL LETTER A WITH INVERTED BREVE
+0x0204 "\\textdoublegrave{E}"     "tipa" "mathalpha" "\\dgrave{E}" "tipasymb,dgrave" # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
+0x0205 "\\textdoublegrave{e}"     "tipa" "mathalpha" "\\dgrave{e}" "tipasymb,dgrave" # LATIN SMALL LETTER E WITH DOUBLE GRAVE
+0x0206 "\\textroundcap{E}"        "tipa" "mathalpha" "\\rcap{E}" "tipasymb,rcap" # LATIN CAPITAL LETTER E WITH INVERTED BREVE
+0x0207 "\\textroundcap{e}"        "tipa" "mathalpha" "\\rcap{e}" "tipasymb,rcap" # LATIN SMALL LETTER E WITH INVERTED BREVE
+0x0208 "\\textdoublegrave{I}"     "tipa" "mathalpha" "\\dgrave{I}" "tipasymb,dgrave" # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
+0x0209 "\\textdoublegrave{\\i}"   "tipa" "mathalpha" "\\dgrave{\\imath}" "tipasymb,dgrave" # LATIN SMALL LETTER I WITH DOUBLE GRAVE
+0x020a "\\textroundcap{I}"        "tipa" "mathalpha" "\\rcap{I}" "tipasymb,rcap" # LATIN CAPITAL LETTER I WITH INVERTED BREVE
+0x020b "\\textroundcap{\\i}"      "tipa" "mathalpha" "\\rcap{\\imath}" "tipasymb,rcap" # LATIN SMALL LETTER I WITH INVERTED BREVE
+0x020c "\\textdoublegrave{O}"     "tipa" "mathalpha" "\\dgrave{O}" "tipasymb,dgrave" # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
+0x020d "\\textdoublegrave{o}"     "tipa" "mathalpha" "\\dgrave{o}" "tipasymb,dgrave" # LATIN SMALL LETTER O WITH DOUBLE GRAVE
+0x020e "\\textroundcap{O}"        "tipa" "mathalpha" "\\rcap{O}" "tipasymb,rcap" # LATIN CAPITAL LETTER O WITH INVERTED BREVE
+0x020f "\\textroundcap{o}"        "tipa" "mathalpha" "\\rcap{o}" "tipasymb,rcap" # LATIN SMALL LETTER O WITH INVERTED BREVE
+0x0210 "\\textdoublegrave{R}"     "tipa" "mathalpha" "\\dgrave{R}" "tipasymb,dgrave" # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
+0x0211 "\\textdoublegrave{r}"     "tipa" "mathalpha" "\\dgrave{r}" "tipasymb,dgrave" # LATIN SMALL LETTER R WITH DOUBLE GRAVE
+0x0212 "\\textroundcap{R}"        "tipa" "mathalpha" "\\rcap{R}" "tipasymb,rcap" # LATIN CAPITAL LETTER R WITH INVERTED BREVE
+0x0213 "\\textroundcap{r}"        "tipa" "mathalpha" "\\rcap{r}" "tipasymb,rcap" # LATIN SMALL LETTER R WITH INVERTED BREVE
+0x0214 "\\textdoublegrave{U}"     "tipa" "mathalpha" "\\dgrave{U}" "tipasymb,dgrave" # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
+0x0215 "\\textdoublegrave{u}"     "tipa" "mathalpha" "\\dgrave{u}" "tipasymb,dgrave" # LATIN SMALL LETTER U WITH DOUBLE GRAVE
+0x0216 "\\textroundcap{U}"        "tipa" "mathalpha" "\\rcap{U}" "tipasymb,rcap" # LATIN CAPITAL LETTER U WITH INVERTED BREVE
+0x0217 "\\textroundcap{u}"        "tipa" "mathalpha" "\\rcap{u}" "tipasymb,rcap" # LATIN SMALL LETTER U WITH INVERTED BREVE
 #0x0218 ""                         "" "" # LATIN CAPITAL LETTER S WITH COMMA BELOW
 #0x0219 ""                         "" "" # LATIN SMALL LETTER S WITH COMMA BELOW
 #0x021a ""                         "" "" # LATIN CAPITAL LETTER T WITH COMMA BELOW
 #0x021b ""                         "" "" # LATIN SMALL LETTER T WITH COMMA BELOW
 #0x021c ""                         "" "" # LATIN CAPITAL LETTER YOGH
 #0x021d ""                         "" "" # LATIN SMALL LETTER YOGH
-0x021e "\\v{H}"                   "" "" # LATIN CAPITAL LETTER H WITH CARON
-0x021f "\\v{h}"                   "" "" # LATIN SMALL LETTER H WITH CARON
+0x021e "\\v{H}"                   "" "mathalpha" "\\check{H}" # LATIN CAPITAL LETTER H WITH CARON
+0x021f "\\v{h}"                   "" "mathalpha" "\\check{h}" # LATIN SMALL LETTER H WITH CARON
 #0x0220 ""                         "" "" # LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
 #0x0222 ""                         "" "" # LATIN CAPITAL LETTER OU
 #0x0223 ""                         "" "" # LATIN SMALL LETTER OU
 #0x0224 ""                         "" "" # LATIN CAPITAL LETTER Z WITH HOOK
 #0x0225 ""                         "" "" # LATIN SMALL LETTER Z WITH HOOK
-0x0226 "\\.{A}"                   "" "" # LATIN CAPITAL LETTER A WITH DOT ABOVE
-0x0227 "\\.{a}"                   "" "" # LATIN SMALL LETTER A WITH DOT ABOVE
-0x0228 "\\c{E}"                   "" "" # LATIN CAPITAL LETTER E WITH CEDILLA
-0x0229 "\\c{e}"                   "" "" # LATIN SMALL LETTER E WITH CEDILLA
+0x0226 "\\.{A}"                   "" "mathalpha" "\\dot{A}" # LATIN CAPITAL LETTER A WITH DOT ABOVE
+0x0227 "\\.{a}"                   "" "mathalpha" "\\dot{a}" # LATIN SMALL LETTER A WITH DOT ABOVE
+0x0228 "\\c{E}"                   "" "mathalpha" "\\cedilla{E}" "accents,cedilla" # LATIN CAPITAL LETTER E WITH CEDILLA
+0x0229 "\\c{e}"                   "" "mathalpha" "\\cedilla{e}" "accents,cedilla" # LATIN SMALL LETTER E WITH CEDILLA
 #0x022a ""                         "" "" # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
 #0x022b ""                         "" "" # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
 #0x022c ""                         "" "" # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
 #0x022d ""                         "" "" # LATIN SMALL LETTER O WITH TILDE AND MACRON
-0x022e "\\.{O}"                   "" "" # LATIN CAPITAL LETTER O WITH DOT ABOVE
-0x022f "\\.{o}"                   "" "" # LATIN SMALL LETTER O WITH DOT ABOVE
+0x022e "\\.{O}"                   "" "mathalpha" "\\dot{O}" # LATIN CAPITAL LETTER O WITH DOT ABOVE
+0x022f "\\.{o}"                   "" "mathalpha" "\\dot{o}" # LATIN SMALL LETTER O WITH DOT ABOVE
 #0x0230 ""                         "" "" # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
 #0x0231 ""                         "" "" # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
-0x0232 "\\={Y}"                   "" "" # LATIN CAPITAL LETTER Y WITH MACRON
-0x0233 "\\={y}"                   "" "" # LATIN SMALL LETTER Y WITH MACRON
+0x0232 "\\={Y}"                   "" "mathalpha" "\\bar{Y}" # LATIN CAPITAL LETTER Y WITH MACRON
+0x0233 "\\={y}"                   "" "mathalpha" "\\bar{y}" # LATIN SMALL LETTER Y WITH MACRON
 #0x0234 ""                         "" "" # LATIN SMALL LETTER L WITH CURL
 0x0235 "\\textctn"                "tipa" "" # LATIN SMALL LETTER N WITH CURL
 0x0236 "\\textctt"                "tipa" "" # LATIN SMALL LETTER T WITH CURL
-0x0237 "\\j"                      "" "" # LATIN SMALL LETTER DOTLESS J
+0x0237 "\\j"                      "" "mathalpha" "\\jmath" # LATIN SMALL LETTER DOTLESS J
 0x0238 "\\textdblig"              "tipx" "" # LATIN SMALL LETTER DB DIGRAPH
 0x0239 "\\textqplig"              "tipx" "" # LATIN SMALL LETTER QP DIGRAPH
 #
 #
 # Latin Extended Additional
 #
-0x1e00 "\\textsubring{A}"         "tipa" "" # LATIN CAPITAL LETTER A WITH RING BELOW
-0x1e01 "\\textsubring{a}"         "tipa" "" # LATIN SMALL LETTER A WITH RING BELOW
-0x1e02 "\\.{B}"                   "" "" # LATIN CAPITAL LETTER B WITH DOT ABOVE
-0x1e03 "\\.{b}"                   "" "" # LATIN SMALL LETTER B WITH DOT ABOVE
-0x1e04 "\\d{B}"                   "" "" # LATIN CAPITAL LETTER B WITH DOT BELOW
-0x1e05 "\\d{b}"                   "" "" # LATIN SMALL LETTER B WITH DOT BELOW
+0x1e00 "\\textsubring{A}"         "tipa" "mathalpha" "\\subring{A}" "accents,subring" # LATIN CAPITAL LETTER A WITH RING BELOW
+0x1e01 "\\textsubring{a}"         "tipa" "mathalpha" "\\subring{a}" "accents,subring" # LATIN SMALL LETTER A WITH RING BELOW
+0x1e02 "\\.{B}"                   "" "mathalpha" "\\dot{B}" # LATIN CAPITAL LETTER B WITH DOT ABOVE
+0x1e03 "\\.{b}"                   "" "mathalpha" "\\dot{b}" # LATIN SMALL LETTER B WITH DOT ABOVE
+0x1e04 "\\d{B}"                   "" "mathalpha" "\\subdot{B}" "accents,subdot" # LATIN CAPITAL LETTER B WITH DOT BELOW
+0x1e05 "\\d{b}"                   "" "mathalpha" "\\subdot{b}" "accents,subdot" # LATIN SMALL LETTER B WITH DOT BELOW
 #0x1e06 ""                         "" "" # LATIN CAPITAL LETTER B WITH LINE BELOW
 #0x1e07 ""                         "" "" # LATIN SMALL LETTER B WITH LINE BELOW
 #0x1e08 ""                         "" "" # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
 #0x1e09 ""                         "" "" # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
-0x1e0a "\\.{D}"                   "" "" # LATIN CAPITAL LETTER D WITH DOT ABOVE
-0x1e0b "\\.{d}"                   "" "" # LATIN SMALL LETTER D WITH DOT ABOVE
-0x1e0c "\\d{D}"                   "" "" # LATIN CAPITAL LETTER D WITH DOT BELOW
-0x1e0d "\\d{d}"                   "" "" # LATIN SMALL LETTER D WITH DOT BELOW
+0x1e0a "\\.{D}"                   "" "mathalpha" "\\dot{D}" # LATIN CAPITAL LETTER D WITH DOT ABOVE
+0x1e0b "\\.{d}"                   "" "mathalpha" "\\dot{d}" # LATIN SMALL LETTER D WITH DOT ABOVE
+0x1e0c "\\d{D}"                   "" "mathalpha" "\\subdot{D}" "accents,subdot" # LATIN CAPITAL LETTER D WITH DOT BELOW
+0x1e0d "\\d{d}"                   "" "mathalpha" "\\subdot{d}" "accents,subdot" # LATIN SMALL LETTER D WITH DOT BELOW
 #0x1e0e ""                         "" "" # LATIN CAPITAL LETTER D WITH LINE BELOW
 #0x1e0f ""                         "" "" # LATIN SMALL LETTER D WITH LINE BELOW
-0x1e10 "\\c{D}"                   "" "" # LATIN CAPITAL LETTER D WITH CEDILLA
-0x1e11 "\\c{d}"                   "" "" # LATIN SMALL LETTER D WITH CEDILLA
-0x1e12 "\\textsubcircum{D}"       "tipa" "" # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
-0x1e13 "\\textsubcircum{d}"       "tipa" "" # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
+0x1e10 "\\c{D}"                   "" "mathalpha" "\\cedilla{D}" "accents,cedilla" # LATIN CAPITAL LETTER D WITH CEDILLA
+0x1e11 "\\c{d}"                   "" "mathalpha" "\\cedilla{d}" "accents,cedilla" # LATIN SMALL LETTER D WITH CEDILLA
+0x1e12 "\\textsubcircum{D}"       "tipa" "mathalpha" "\\subhat{D}" "accents,subhat" # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
+0x1e13 "\\textsubcircum{d}"       "tipa" "mathalpha" "\\subhat{d}" "accents,subhat" # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
 #0x1e14 ""                         "" "" # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
 #0x1e15 ""                         "" "" # LATIN SMALL LETTER E WITH MACRON AND GRAVE
 #0x1e16 ""                         "" "" # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
 #0x1e17 ""                         "" "" # LATIN SMALL LETTER E WITH MACRON AND ACUTE
-0x1e18 "\\textsubcircum{E}"       "tipa" "" # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
-0x1e19 "\\textsubcircum{e}"       "tipa" "" # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
-0x1e1a "\\textsubtilde{E}"        "tipa" "" # LATIN CAPITAL LETTER E WITH TILDE BELOW
-0x1e1b "\\textsubtilde{e}"        "tipa" "" # LATIN SMALL LETTER E WITH TILDE BELOW
+0x1e18 "\\textsubcircum{E}"       "tipa" "mathalpha" "\\subhat{E}" "accents,subhat" # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
+0x1e19 "\\textsubcircum{e}"       "tipa" "mathalpha" "\\subhat{e}" "accents,subhat" # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
+0x1e1a "\\textsubtilde{E}"        "tipa" "mathalpha" "\\subtilde{E}" "accents,subtilde" # LATIN CAPITAL LETTER E WITH TILDE BELOW
+0x1e1b "\\textsubtilde{e}"        "tipa" "mathalpha" "\\subtilde{e}" "accents,subtilde" # LATIN SMALL LETTER E WITH TILDE BELOW
 #0x1e1c ""                         "" "" # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
 #0x1e1d ""                         "" "" # LATIN SMALL LETTER E WITH CEDILLA AND BREVE
-0x1e1e "\\.{F}"                   "" "" # LATIN CAPITAL LETTER F WITH DOT ABOVE
-0x1e1f "\\.{f}"                   "" "" # LATIN SMALL LETTER F WITH DOT ABOVE
+0x1e1e "\\.{F}"                   "" "mathalpha" "\\dot{F}" # LATIN CAPITAL LETTER F WITH DOT ABOVE
+0x1e1f "\\.{f}"                   "" "mathalpha" "\\dot{f}" # LATIN SMALL LETTER F WITH DOT ABOVE
 #0x1e20 ""                         "" "" # LATIN CAPITAL LETTER G WITH MACRON
 #0x1e21 ""                         "" "" # LATIN SMALL LETTER G WITH MACRON
-0x1e22 "\\.{H}"                   "" "" # LATIN CAPITAL LETTER H WITH DOT ABOVE
-0x1e23 "\\.{h}"                   "" "" # LATIN SMALL LETTER H WITH DOT ABOVE
-0x1e24 "\\d{H}"                   "" "" # LATIN CAPITAL LETTER H WITH DOT BELOW
-0x1e25 "\\d{h}"                   "" "" # LATIN SMALL LETTER H WITH DOT BELOW
-0x1e26 "\\\"{H}"                  "" "" # LATIN CAPITAL LETTER H WITH DIAERESIS
-0x1e27 "\\\"{h}"                  "" "" # LATIN SMALL LETTER H WITH DIAERESIS
-0x1e28 "\\c{H}"                   "" "" # LATIN CAPITAL LETTER H WITH CEDILLA
-0x1e29 "\\c{h}"                   "" "" # LATIN SMALL LETTER H WITH CEDILLA
+0x1e22 "\\.{H}"                   "" "mathalpha" "\\dot{H}" # LATIN CAPITAL LETTER H WITH DOT ABOVE
+0x1e23 "\\.{h}"                   "" "mathalpha" "\\dot{h}" # LATIN SMALL LETTER H WITH DOT ABOVE
+0x1e24 "\\d{H}"                   "" "mathalpha" "\\subdot{H}" "accents,subdot" # LATIN CAPITAL LETTER H WITH DOT BELOW
+0x1e25 "\\d{h}"                   "" "mathalpha" "\\subdot{h}" "accents,subdot" # LATIN SMALL LETTER H WITH DOT BELOW
+0x1e26 "\\\"{H}"                  "" "mathalpha" "\\ddot{H}" # LATIN CAPITAL LETTER H WITH DIAERESIS
+0x1e27 "\\\"{h}"                  "" "mathalpha" "\\ddot{h}" # LATIN SMALL LETTER H WITH DIAERESIS
+0x1e28 "\\c{H}"                   "" "mathalpha" "\\cedilla{H}" "accents,cedilla" # LATIN CAPITAL LETTER H WITH CEDILLA
+0x1e29 "\\c{h}"                   "" "mathalpha" "\\cedilla{h}" "accents,cedilla" # LATIN SMALL LETTER H WITH CEDILLA
 #0x1e2a ""                         "" "" # LATIN CAPITAL LETTER H WITH BREVE BELOW
 #0x1e2b ""                         "" "" # LATIN SMALL LETTER H WITH BREVE BELOW
-0x1e2c "\\textsubtilde{I}"        "tipa" "" # LATIN CAPITAL LETTER I WITH TILDE BELOW
-0x1e2d "\\textsubtilde{i}"        "tipa" "" # LATIN SMALL LETTER I WITH TILDE BELOW
+0x1e2c "\\textsubtilde{I}"        "tipa" "mathalpha" "\\subtilde{I}" "accents,subtilde" # LATIN CAPITAL LETTER I WITH TILDE BELOW
+0x1e2d "\\textsubtilde{i}"        "tipa" "mathalpha" "\\subtilde{i}" "accents,subtilde" # LATIN SMALL LETTER I WITH TILDE BELOW
 #0x1e2e ""                         "" "" # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
 #0x1e2f ""                         "" "" # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
-0x1e30 "\\'{K}"                   "" "" # LATIN CAPITAL LETTER K WITH ACUTE
-0x1e31 "\\'{k}"                   "" "" # LATIN SMALL LETTER K WITH ACUTE
-0x1e32 "\\d{K}"                   "" "" # LATIN CAPITAL LETTER K WITH DOT BELOW
-0x1e33 "\\d{k}"                   "" "" # LATIN SMALL LETTER K WITH DOT BELOW
+0x1e30 "\\'{K}"                   "" "mathalpha" "\\acute{K}" # LATIN CAPITAL LETTER K WITH ACUTE
+0x1e31 "\\'{k}"                   "" "mathalpha" "\\acute{k}" # LATIN SMALL LETTER K WITH ACUTE
+0x1e32 "\\d{K}"                   "" "mathalpha" "\\subdot{K}" "accents,subdot" # LATIN CAPITAL LETTER K WITH DOT BELOW
+0x1e33 "\\d{k}"                   "" "mathalpha" "\\subdot{k}" "accents,subdot" # LATIN SMALL LETTER K WITH DOT BELOW
 #0x1e34 ""                         "" "" # LATIN CAPITAL LETTER K WITH LINE BELOW
 #0x1e35 ""                         "" "" # LATIN SMALL LETTER K WITH LINE BELOW
-0x1e36 "\\d{L}"                   "" "" # LATIN CAPITAL LETTER L WITH DOT BELOW
-0x1e37 "\\d{l}"                   "" "" # LATIN SMALL LETTER L WITH DOT BELOW
+0x1e36 "\\d{L}"                   "" "mathalpha" "\\subdot{L}" "accents,subdot" # LATIN CAPITAL LETTER L WITH DOT BELOW
+0x1e37 "\\d{l}"                   "" "mathalpha" "\\subdot{l}" "accents,subdot" # LATIN SMALL LETTER L WITH DOT BELOW
 #0x1e38 ""                         "" "" # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
 #0x1e39 ""                         "" "" # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
 #0x1e3a ""                         "" "" # LATIN CAPITAL LETTER L WITH LINE BELOW
 #0x1e3b ""                         "" "" # LATIN SMALL LETTER L WITH LINE BELOW
-0x1e3c "\\textsubcircum{L}"       "tipa" "" # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
-0x1e3d "\\textsubcircum{l}"       "tipa" "" # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
-0x1e3e "\\'{M}"                   "" "" # LATIN CAPITAL LETTER M WITH ACUTE
-0x1e3f "\\'{m}"                   "" "" # LATIN SMALL LETTER M WITH ACUTE
-0x1e40 "\\.{M}"                   "" "" # LATIN CAPITAL LETTER M WITH DOT ABOVE
-0x1e41 "\\.{m}"                   "" "" # LATIN SMALL LETTER M WITH DOT ABOVE
-0x1e42 "\\d{M}"                   "" "" # LATIN CAPITAL LETTER M WITH DOT BELOW
-0x1e43 "\\d{m}"                   "" "" # LATIN SMALL LETTER M WITH DOT BELOW
-0x1e44 "\\.{N}"                   "" "" # LATIN CAPITAL LETTER N WITH DOT ABOVE
-0x1e45 "\\.{n}"                   "" "" # LATIN SMALL LETTER N WITH DOT ABOVE
-0x1e46 "\\d{N}"                   "" "" # LATIN CAPITAL LETTER N WITH DOT BELOW
-0x1e47 "\\d{n}"                   "" "" # LATIN SMALL LETTER N WITH DOT BELOW
+0x1e3c "\\textsubcircum{L}"       "tipa" "mathalpha" "\\subhat{L}" "accents,subhat" # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
+0x1e3d "\\textsubcircum{l}"       "tipa" "mathalpha" "\\subhat{l}" "accents,subhat" # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
+0x1e3e "\\'{M}"                   "" "mathalpha" "\\acute{M}" # LATIN CAPITAL LETTER M WITH ACUTE
+0x1e3f "\\'{m}"                   "" "mathalpha" "\\acute{m}" # LATIN SMALL LETTER M WITH ACUTE
+0x1e40 "\\.{M}"                   "" "mathalpha" "\\dot{M}" # LATIN CAPITAL LETTER M WITH DOT ABOVE
+0x1e41 "\\.{m}"                   "" "mathalpha" "\\dot{m}" # LATIN SMALL LETTER M WITH DOT ABOVE
+0x1e42 "\\d{M}"                   "" "mathalpha" "\\subdot{M}" "accents,subdot" # LATIN CAPITAL LETTER M WITH DOT BELOW
+0x1e43 "\\d{m}"                   "" "mathalpha" "\\subdot{m}" "accents,subdot" # LATIN SMALL LETTER M WITH DOT BELOW
+0x1e44 "\\.{N}"                   "" "mathalpha" "\\dot{N}" # LATIN CAPITAL LETTER N WITH DOT ABOVE
+0x1e45 "\\.{n}"                   "" "mathalpha" "\\dot{n}" # LATIN SMALL LETTER N WITH DOT ABOVE
+0x1e46 "\\d{N}"                   "" "mathalpha" "\\subdot{N}" "accents,subdot" # LATIN CAPITAL LETTER N WITH DOT BELOW
+0x1e47 "\\d{n}"                   "" "mathalpha" "\\subdot{n}" "accents,subdot" # LATIN SMALL LETTER N WITH DOT BELOW
 #0x1e48 ""                         "" "" # LATIN CAPITAL LETTER N WITH LINE BELOW
 #0x1e49 ""                         "" "" # LATIN SMALL LETTER N WITH LINE BELOW
-0x1e4a "\\textsubcircum{N}"       "tipa" "" # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
-0x1e4b "\\textsubcircum{n}"       "tipa" "" # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
+0x1e4a "\\textsubcircum{N}"       "tipa" "mathalpha" "\\subhat{N}" "accents,subhat" # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
+0x1e4b "\\textsubcircum{n}"       "tipa" "mathalpha" "\\subhat{n}" "accents,subhat" # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
 #0x1e4c ""                         "" "" # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
 #0x1e4d ""                         "" "" # LATIN SMALL LETTER O WITH TILDE AND ACUTE
 #0x1e4e ""                         "" "" # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
 #0x1e51 ""                         "" "" # LATIN SMALL LETTER O WITH MACRON AND GRAVE
 #0x1e52 ""                         "" "" # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
 #0x1e53 ""                         "" "" # LATIN SMALL LETTER O WITH MACRON AND ACUTE
-0x1e54 "\\'{P}"                   "" "" # LATIN CAPITAL LETTER P WITH ACUTE
-0x1e55 "\\'{p}"                   "" "" # LATIN SMALL LETTER P WITH ACUTE
-0x1e56 "\\.{P}"                   "" "" # LATIN CAPITAL LETTER P WITH DOT ABOVE
-0x1e57 "\\.{p}"                   "" "" # LATIN SMALL LETTER P WITH DOT ABOVE
-0x1e58 "\\.{R}"                   "" "" # LATIN CAPITAL LETTER R WITH DOT ABOVE
-0x1e59 "\\.{r}"                   "" "" # LATIN SMALL LETTER R WITH DOT ABOVE
-0x1e5a "\\d{R}"                   "" "" # LATIN CAPITAL LETTER R WITH DOT BELOW
-0x1e5b "\\d{r}"                   "" "" # LATIN SMALL LETTER R WITH DOT BELOW
+0x1e54 "\\'{P}"                   "" "mathalpha" "\\acute{P}" # LATIN CAPITAL LETTER P WITH ACUTE
+0x1e55 "\\'{p}"                   "" "mathalpha" "\\acute{p}" # LATIN SMALL LETTER P WITH ACUTE
+0x1e56 "\\.{P}"                   "" "mathalpha" "\\dot{P}" # LATIN CAPITAL LETTER P WITH DOT ABOVE
+0x1e57 "\\.{p}"                   "" "mathalpha" "\\dot{p}" # LATIN SMALL LETTER P WITH DOT ABOVE
+0x1e58 "\\.{R}"                   "" "mathalpha" "\\dot{R}" # LATIN CAPITAL LETTER R WITH DOT ABOVE
+0x1e59 "\\.{r}"                   "" "mathalpha" "\\dot{r}" # LATIN SMALL LETTER R WITH DOT ABOVE
+0x1e5a "\\d{R}"                   "" "mathalpha" "\\subdot{R}" "accents,subdot" # LATIN CAPITAL LETTER R WITH DOT BELOW
+0x1e5b "\\d{r}"                   "" "mathalpha" "\\subdot{r}" "accents,subdot" # LATIN SMALL LETTER R WITH DOT BELOW
 #0x1e5c ""                         "" "" # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
 #0x1e5d ""                         "" "" # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
 #0x1e5e ""                         "" "" # LATIN CAPITAL LETTER R WITH LINE BELOW
 #0x1e5f ""                         "" "" # LATIN SMALL LETTER R WITH LINE BELOW
-0x1e60 "\\.{S}"                   "" "" # LATIN CAPITAL LETTER S WITH DOT ABOVE
-0x1e61 "\\.{s}"                   "" "" # LATIN SMALL LETTER S WITH DOT ABOVE
-0x1e62 "\\d{S}"                   "" "" # LATIN CAPITAL LETTER S WITH DOT BELOW
-0x1e63 "\\d{s}"                   "" "" # LATIN SMALL LETTER S WITH DOT BELOW
+0x1e60 "\\.{S}"                   "" "mathalpha" "\\dot{S}" # LATIN CAPITAL LETTER S WITH DOT ABOVE
+0x1e61 "\\.{s}"                   "" "mathalpha" "\\dot{s}" # LATIN SMALL LETTER S WITH DOT ABOVE
+0x1e62 "\\d{S}"                   "" "mathalpha" "\\subdot{S}" "accents,subdot" # LATIN CAPITAL LETTER S WITH DOT BELOW
+0x1e63 "\\d{s}"                   "" "mathalpha" "\\subdot{s}" "accents,subdot" # LATIN SMALL LETTER S WITH DOT BELOW
 #0x1e64 ""                         "" "" # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
 #0x1e65 ""                         "" "" # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
 #0x1e66 ""                         "" "" # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
 #0x1e67 ""                         "" "" # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
 #0x1e68 ""                         "" "" # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
 #0x1e69 ""                         "" "" # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
-0x1e6a "\\.{T}"                   "" "" # LATIN CAPITAL LETTER T WITH DOT ABOVE
-0x1e6b "\\.{t}"                   "" "" # LATIN SMALL LETTER T WITH DOT ABOVE
-0x1e6c "\\d{T}"                   "" "" # LATIN CAPITAL LETTER T WITH DOT BELOW
-0x1e6d "\\d{t}"                   "" "" # LATIN SMALL LETTER T WITH DOT BELOW
+0x1e6a "\\.{T}"                   "" "mathalpha" "\\dot{T}" # LATIN CAPITAL LETTER T WITH DOT ABOVE
+0x1e6b "\\.{t}"                   "" "mathalpha" "\\dot{t}" # LATIN SMALL LETTER T WITH DOT ABOVE
+0x1e6c "\\d{T}"                   "" "mathalpha" "\\subdot{T}" "accents,subdot" # LATIN CAPITAL LETTER T WITH DOT BELOW
+0x1e6d "\\d{t}"                   "" "mathalpha" "\\subdot{t}" "accents,subdot" # LATIN SMALL LETTER T WITH DOT BELOW
 #0x1e6e ""                         "" "" # LATIN CAPITAL LETTER T WITH LINE BELOW
 #0x1e6f ""                         "" "" # LATIN SMALL LETTER T WITH LINE BELOW
-0x1e70 "\\textsubcircum{T}"       "tipa" "" # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
-0x1e71 "\\textsubcircum{t}"       "tipa" "" # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
+0x1e70 "\\textsubcircum{T}"       "tipa" "mathalpha" "\\subhat{T}" "accents,subhat" # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
+0x1e71 "\\textsubcircum{t}"       "tipa" "mathalpha" "\\subhat{t}" "accents,subhat" # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
 #0x1e72 ""                         "" "" # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
 #0x1e73 ""                         "" "" # LATIN SMALL LETTER U WITH DIAERESIS BELOW
-0x1e74 "\\textsubtilde{U}"        "tipa" "" # LATIN CAPITAL LETTER U WITH TILDE BELOW
-0x1e75 "\\textsubtilde{u}"        "tipa" "" # LATIN SMALL LETTER U WITH TILDE BELOW
-0x1e76 "\\textsubcircum{U}"       "tipa" "" # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
-0x1e77 "\\textsubcircum{u}"       "tipa" "" # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
+0x1e74 "\\textsubtilde{U}"        "tipa" "mathalpha" "\\subtilde{U}" "accents,subtilde" # LATIN CAPITAL LETTER U WITH TILDE BELOW
+0x1e75 "\\textsubtilde{u}"        "tipa" "mathalpha" "\\subtilde{u}" "accents,subtilde" # LATIN SMALL LETTER U WITH TILDE BELOW
+0x1e76 "\\textsubcircum{U}"       "tipa" "mathalpha" "\\subhat{U}" "accents,subhat" # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
+0x1e77 "\\textsubcircum{u}"       "tipa" "mathalpha" "\\subhat{u}" "accents,subhat" # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
 #0x1e78 ""                         "" "" # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
 #0x1e79 ""                         "" "" # LATIN SMALL LETTER U WITH TILDE AND ACUTE
 #0x1e7a ""                         "" "" # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
 #0x1e7b ""                         "" "" # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
-0x1e7c "\\~{V}"                   "" "" # LATIN CAPITAL LETTER V WITH TILDE
-0x1e7d "\\~{v}"                   "" "" # LATIN SMALL LETTER V WITH TILDE
-0x1e7e "\\d{V}"                   "" "" # LATIN CAPITAL LETTER V WITH DOT BELOW
-0x1e7f "\\d{v}"                   "" "" # LATIN SMALL LETTER V WITH DOT BELOW
-0x1e80 "\\`{W}"                   "" "" # LATIN CAPITAL LETTER W WITH GRAVE
-0x1e81 "\\`{w}"                   "" "" # LATIN SMALL LETTER W WITH GRAVE
-0x1e82 "\\'{W}"                   "" "" # LATIN CAPITAL LETTER W WITH ACUTE
-0x1e83 "\\'{w}"                   "" "" # LATIN SMALL LETTER W WITH ACUTE
-0x1e84 "\\\"{W}"                  "" "" # LATIN CAPITAL LETTER W WITH DIAERESIS
-0x1e85 "\\\"{w}"                  "" "" # LATIN SMALL LETTER W WITH DIAERESIS
-0x1e86 "\\.{W}"                   "" "" # LATIN CAPITAL LETTER W WITH DOT ABOVE
-0x1e87 "\\.{w}"                   "" "" # LATIN SMALL LETTER W WITH DOT ABOVE
-0x1e88 "\\d{W}"                   "" "" # LATIN CAPITAL LETTER W WITH DOT BELOW
-0x1e89 "\\d{w}"                   "" "" # LATIN SMALL LETTER W WITH DOT BELOW
-0x1e8a "\\.{X}"                   "" "" # LATIN CAPITAL LETTER X WITH DOT ABOVE
-0x1e8b "\\.{x}"                   "" "" # LATIN SMALL LETTER X WITH DOT ABOVE
-0x1e8c "\\\"{X}"                  "" "" # LATIN CAPITAL LETTER X WITH DIAERESIS
-0x1e8d "\\\"{x}"                  "" "" # LATIN SMALL LETTER X WITH DIAERESIS
-0x1e8e "\\.{Y}"                   "" "" # LATIN CAPITAL LETTER Y WITH DOT ABOVE
-0x1e8f "\\.{y}"                   "" "" # LATIN SMALL LETTER Y WITH DOT ABOVE
-0x1e90 "\\^{Z}"                   "" "" # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
-0x1e91 "\\^{z}"                   "" "" # LATIN SMALL LETTER Z WITH CIRCUMFLEX
-0x1e92 "\\d{Z}"                   "" "" # LATIN CAPITAL LETTER Z WITH DOT BELOW
-0x1e93 "\\d{z}"                   "" "" # LATIN SMALL LETTER Z WITH DOT BELOW
+0x1e7c "\\~{V}"                   "" "mathalpha" "\\tilde{V}" # LATIN CAPITAL LETTER V WITH TILDE
+0x1e7d "\\~{v}"                   "" "mathalpha" "\\tilde{v}" # LATIN SMALL LETTER V WITH TILDE
+0x1e7e "\\d{V}"                   "" "mathalpha" "\\subdot{V}" "accents,subdot" # LATIN CAPITAL LETTER V WITH DOT BELOW
+0x1e7f "\\d{v}"                   "" "mathalpha" "\\subdot{v}" "accents,subdot" # LATIN SMALL LETTER V WITH DOT BELOW
+0x1e80 "\\`{W}"                   "" "mathalpha" "\\grave{W}" # LATIN CAPITAL LETTER W WITH GRAVE
+0x1e81 "\\`{w}"                   "" "mathalpha" "\\grave{w}" # LATIN SMALL LETTER W WITH GRAVE
+0x1e82 "\\'{W}"                   "" "mathalpha" "\\acute{W}" # LATIN CAPITAL LETTER W WITH ACUTE
+0x1e83 "\\'{w}"                   "" "mathalpha" "\\acute{w}" # LATIN SMALL LETTER W WITH ACUTE
+0x1e84 "\\\"{W}"                  "" "mathalpha" "\\ddot{W}" # LATIN CAPITAL LETTER W WITH DIAERESIS
+0x1e85 "\\\"{w}"                  "" "mathalpha" "\\ddot{w}" # LATIN SMALL LETTER W WITH DIAERESIS
+0x1e86 "\\.{W}"                   "" "mathalpha" "\\dot{W}" # LATIN CAPITAL LETTER W WITH DOT ABOVE
+0x1e87 "\\.{w}"                   "" "mathalpha" "\\dot{w}" # LATIN SMALL LETTER W WITH DOT ABOVE
+0x1e88 "\\d{W}"                   "" "mathalpha" "\\subdot{W}" "accents,subdot" # LATIN CAPITAL LETTER W WITH DOT BELOW
+0x1e89 "\\d{w}"                   "" "mathalpha" "\\subdot{w}" "accents,subdot" # LATIN SMALL LETTER W WITH DOT BELOW
+0x1e8a "\\.{X}"                   "" "mathalpha" "\\dot{X}" # LATIN CAPITAL LETTER X WITH DOT ABOVE
+0x1e8b "\\.{x}"                   "" "mathalpha" "\\dot{x}" # LATIN SMALL LETTER X WITH DOT ABOVE
+0x1e8c "\\\"{X}"                  "" "mathalpha" "\\ddot{X}" # LATIN CAPITAL LETTER X WITH DIAERESIS
+0x1e8d "\\\"{x}"                  "" "mathalpha" "\\ddot{x}" # LATIN SMALL LETTER X WITH DIAERESIS
+0x1e8e "\\.{Y}"                   "" "mathalpha" "\\dot{Y}" # LATIN CAPITAL LETTER Y WITH DOT ABOVE
+0x1e8f "\\.{y}"                   "" "mathalpha" "\\dot{y}" # LATIN SMALL LETTER Y WITH DOT ABOVE
+0x1e90 "\\^{Z}"                   "" "mathalpha" "\\hat{Z}" # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
+0x1e91 "\\^{z}"                   "" "mathalpha" "\\hat{z}" # LATIN SMALL LETTER Z WITH CIRCUMFLEX
+0x1e92 "\\d{Z}"                   "" "mathalpha" "\\subdot{Z}" "accents,subdot" # LATIN CAPITAL LETTER Z WITH DOT BELOW
+0x1e93 "\\d{z}"                   "" "mathalpha" "\\subdot{z}" "accents,subdot" # LATIN SMALL LETTER Z WITH DOT BELOW
 #0x1e94 ""                         "" "" # LATIN CAPITAL LETTER Z WITH LINE BELOW
 #0x1e95 ""                         "" "" # LATIN SMALL LETTER Z WITH LINE BELOW
 #0x1e96 ""                         "" "" # LATIN SMALL LETTER H WITH LINE BELOW
-0x1e97 "\\\"{t}"                  "" "" # LATIN SMALL LETTER T WITH DIAERESIS
-0x1e98 "\\r{w}"                   "" "" # LATIN SMALL LETTER W WITH RING ABOVE
-0x1e99 "\\r{y}"                   "" "" # LATIN SMALL LETTER Y WITH RING ABOVE
+0x1e97 "\\\"{t}"                  "" "mathalpha" "\\ddot{t}" # LATIN SMALL LETTER T WITH DIAERESIS
+0x1e98 "\\r{w}"                   "" "mathalpha" "\\mathring{w}" # LATIN SMALL LETTER W WITH RING ABOVE
+0x1e99 "\\r{y}"                   "" "mathalpha" "\\mathring{y}" # LATIN SMALL LETTER Y WITH RING ABOVE
 #0x1e9a ""                         "" "" # LATIN SMALL LETTER A WITH RIGHT HALF RING
 #0x1e9b ""                         "" "" # LATIN SMALL LETTER LONG S WITH DOT ABOVE
 #0x1e9e ""                         "" "" # LATIN CAPITAL LETTER SHARP S
-0x1ea0 "\\d{A}"                   "" "" # LATIN CAPITAL LETTER A WITH DOT BELOW
-0x1ea1 "\\d{a}"                   "" "" # LATIN SMALL LETTER A WITH DOT BELOW
+0x1ea0 "\\d{A}"                   "" "mathalpha" "\\subdot{A}" "accents,subdot" # LATIN CAPITAL LETTER A WITH DOT BELOW
+0x1ea1 "\\d{a}"                   "" "mathalpha" "\\subdot{a}" "accents,subdot" # LATIN SMALL LETTER A WITH DOT BELOW
 #0x1ea2 ""                         "" "" # LATIN CAPITAL LETTER A WITH HOOK ABOVE
 #0x1ea3 ""                         "" "" # LATIN SMALL LETTER A WITH HOOK ABOVE
 #0x1ea4 ""                         "" "" # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
 #0x1eb5 ""                         "" "" # LATIN SMALL LETTER A WITH BREVE AND TILDE
 #0x1eb6 ""                         "" "" # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
 #0x1eb7 ""                         "" "" # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-0x1eb8 "\\d{E}"                   "" "" # LATIN CAPITAL LETTER E WITH DOT BELOW
-0x1eb9 "\\d{e}"                   "" "" # LATIN SMALL LETTER E WITH DOT BELOW
+0x1eb8 "\\d{E}"                   "" "mathalpha" "\\subdot{E}" "accents,subdot" # LATIN CAPITAL LETTER E WITH DOT BELOW
+0x1eb9 "\\d{e}"                   "" "mathalpha" "\\subdot{e}" "accents,subdot" # LATIN SMALL LETTER E WITH DOT BELOW
 #0x1eba ""                         "" "" # LATIN CAPITAL LETTER E WITH HOOK ABOVE
 #0x1ebb ""                         "" "" # LATIN SMALL LETTER E WITH HOOK ABOVE
-0x1ebc "\\~{E}"                   "" "" # LATIN CAPITAL LETTER E WITH TILDE
-0x1ebd "\\~{e}"                   "" "" # LATIN SMALL LETTER E WITH TILDE
+0x1ebc "\\~{E}"                   "" "mathalpha" "\\tilde{E}" # LATIN CAPITAL LETTER E WITH TILDE
+0x1ebd "\\~{e}"                   "" "mathalpha" "\\tilde{e}" # LATIN SMALL LETTER E WITH TILDE
 #0x1ebe ""                         "" "" # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
 #0x1ebf ""                         "" "" # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
 #0x1ec0 ""                         "" "" # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
 #0x1ec7 ""                         "" "" # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
 #0x1ec8 ""                         "" "" # LATIN CAPITAL LETTER I WITH HOOK ABOVE
 #0x1ec9 ""                         "" "" # LATIN SMALL LETTER I WITH HOOK ABOVE
-0x1eca "\\d{I}"                   "" "" # LATIN CAPITAL LETTER I WITH DOT BELOW
-0x1ecb "\\d{i}"                   "" "" # LATIN SMALL LETTER I WITH DOT BELOW
-0x1ecc "\\d{O}"                   "" "" # LATIN CAPITAL LETTER O WITH DOT BELOW
-0x1ecd "\\d{o}"                   "" "" # LATIN SMALL LETTER O WITH DOT BELOW
+0x1eca "\\d{I}"                   "" "mathalpha" "\\subdot{I}" "accents,subdot" # LATIN CAPITAL LETTER I WITH DOT BELOW
+0x1ecb "\\d{i}"                   "" "mathalpha" "\\subdot{i}" "accents,subdot" # LATIN SMALL LETTER I WITH DOT BELOW
+0x1ecc "\\d{O}"                   "" "mathalpha" "\\subdot{O}" "accents,subdot" # LATIN CAPITAL LETTER O WITH DOT BELOW
+0x1ecd "\\d{o}"                   "" "mathalpha" "\\subdot{o}" "accents,subdot" # LATIN SMALL LETTER O WITH DOT BELOW
 #0x1ece ""                         "" "" # LATIN CAPITAL LETTER O WITH HOOK ABOVE
 #0x1ecf ""                         "" "" # LATIN SMALL LETTER O WITH HOOK ABOVE
 #0x1ed0 ""                         "" "" # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
 #0x1ee1 ""                         "" "" # LATIN SMALL LETTER O WITH HORN AND TILDE
 #0x1ee2 ""                         "" "" # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
 #0x1ee3 ""                         "" "" # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-0x1ee4 "\\d{U}"                   "" "" # LATIN CAPITAL LETTER U WITH DOT BELOW
-0x1ee5 "\\d{u}"                   "" "" # LATIN SMALL LETTER U WITH DOT BELOW
+0x1ee4 "\\d{U}"                   "" "mathalpha" "\\subdot{U}" "accents,subdot" # LATIN CAPITAL LETTER U WITH DOT BELOW
+0x1ee5 "\\d{u}"                   "" "mathalpha" "\\subdot{u}" "accents,subdot" # LATIN SMALL LETTER U WITH DOT BELOW
 #0x1ee6 ""                         "" "" # LATIN CAPITAL LETTER U WITH HOOK ABOVE
 #0x1ee7 ""                         "" "" # LATIN SMALL LETTER U WITH HOOK ABOVE
 #0x1ee8 ""                         "" "" # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
 #0x1eef ""                         "" "" # LATIN SMALL LETTER U WITH HORN AND TILDE
 #0x1ef0 ""                         "" "" # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
 #0x1ef1 ""                         "" "" # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-0x1ef2 "\\`{Y}"                   "" "" # LATIN CAPITAL LETTER Y WITH GRAVE
-0x1ef3 "\\`{y}"                   "" "" # LATIN SMALL LETTER Y WITH GRAVE
-0x1ef4 "\\d{Y}"                   "" "" # LATIN CAPITAL LETTER Y WITH DOT BELOW
-0x1ef5 "\\d{y}"                   "" "" # LATIN SMALL LETTER Y WITH DOT BELOW
+0x1ef2 "\\`{Y}"                   "" "mathalpha" "\\grave{Y}" # LATIN CAPITAL LETTER Y WITH GRAVE
+0x1ef3 "\\`{y}"                   "" "mathalpha" "\\grave{y}" # LATIN SMALL LETTER Y WITH GRAVE
+0x1ef4 "\\d{Y}"                   "" "mathalpha" "\\subdot{Y}" "accents,subdot" # LATIN CAPITAL LETTER Y WITH DOT BELOW
+0x1ef5 "\\d{y}"                   "" "mathalpha" "\\subdot{y}" "accents,subdot" # LATIN SMALL LETTER Y WITH DOT BELOW
 #0x1ef6 ""                         "" "" # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
 #0x1ef7 ""                         "" "" # LATIN SMALL LETTER Y WITH HOOK ABOVE
-0x1ef8 "\\~{Y}"                   "" "" # LATIN CAPITAL LETTER Y WITH TILDE
-0x1ef9 "\\~{y}"                   "" "" # LATIN SMALL LETTER Y WITH TILDE
+0x1ef8 "\\~{Y}"                   "" "mathalpha" "\\tilde{Y}" # LATIN CAPITAL LETTER Y WITH TILDE
+0x1ef9 "\\~{y}"                   "" "mathalpha" "\\tilde{y}" # LATIN SMALL LETTER Y WITH TILDE
 #
 # general punctuation
 #
index 161178bd561addbd719f242176562407946206dd..5617a690dcb098c1d6c909a0af625061394947c0 100644 (file)
@@ -1022,6 +1022,9 @@ void Buffer::writeLaTeXSource(odocstream & os,
 
        OutputParams runparams = runparams_in;
 
+       // Classify the unicode characters appearing in math insets
+       Encodings::initUnicodeMath(*this);
+
        // validate the buffer.
        LYXERR(Debug::LATEX, "  Validating buffer...");
        LaTeXFeatures features(*this, params(), runparams);
index 0620a149cc56816f81a4778638fd63356b22d78f..41f96420cb36d90d4773ad4d04b512c7f6d4430e 100644 (file)
@@ -14,6 +14,8 @@
 
 #include "Encoding.h"
 
+#include "Buffer.h"
+#include "InsetIterator.h"
 #include "LaTeXFeatures.h"
 #include "Lexer.h"
 #include "LyXRC.h"
@@ -254,6 +256,9 @@ CharInfoMap unicodesymbols;
 typedef std::set<char_type> CharSet;
 CharSet forced;
 
+typedef std::set<char_type> MathAlphaSet;
+MathAlphaSet mathalpha;
+
 
 /// The highest code point in UCS4 encoding (1<<20 + 1<<16)
 char_type const max_ucs4 = 0x110000;
@@ -505,6 +510,21 @@ docstring Encodings::fromLaTeXCommand(docstring const & cmd, docstring & rem)
 }
 
 
+void Encodings::initUnicodeMath(Buffer const & buffer)
+{
+       mathcmd.clear();
+       textcmd.clear();
+       mathsym.clear();
+
+       Inset & inset = buffer.inset();
+       InsetIterator it = inset_iterator_begin(inset);
+       InsetIterator const end = inset_iterator_end(inset);
+
+       for (; it != end; ++it)
+               it->initUnicodeMath();
+}
+
+
 void Encodings::validate(char_type c, LaTeXFeatures & features, bool for_mathed)
 {
        CharInfoMap::const_iterator const it = unicodesymbols.find(c);
@@ -516,19 +536,33 @@ void Encodings::validate(char_type c, LaTeXFeatures & features, bool for_mathed)
                                      (!for_mathed && !it->second.textcommand.empty());
                if (use_math) {
                        if (!it->second.mathpreamble.empty()) {
-                               if (it->second.mathfeature)
-                                       features.require(it->second.mathpreamble);
-                               else
+                               if (it->second.mathfeature) {
+                                       string feats = it->second.mathpreamble;
+                                       while (!feats.empty()) {
+                                               string feat;
+                                               feats = split(feats, feat, ',');
+                                               features.require(feat);
+                                       }
+                               } else
                                        features.addPreambleSnippet(it->second.mathpreamble);
                        }
                }
                if (use_text) {
                        if (!it->second.textpreamble.empty()) {
-                               if (it->second.textfeature)
-                                       features.require(it->second.textpreamble);
-                               else
+                               if (it->second.textfeature) {
+                                       string feats = it->second.textpreamble;
+                                       while (!feats.empty()) {
+                                               string feat;
+                                               feats = split(feats, feat, ',');
+                                               features.require(feat);
+                                       }
+                               } else
                                        features.addPreambleSnippet(it->second.textpreamble);
                        }
+                       if (for_mathed) {
+                               features.require("relsize");
+                               features.require("lyxmathsym");
+                       }
                }
        }
        if (for_mathed && isMathSym(c)) {
@@ -608,6 +642,12 @@ bool Encodings::isForced(char_type c)
 }
 
 
+bool Encodings::isMathAlpha(char_type c)
+{
+       return mathalpha.count(c);
+}
+
+
 Encoding const * Encodings::fromLyXName(string const & name) const
 {
        EncodingList::const_iterator const it = encodinglist.find(name);
@@ -677,16 +717,19 @@ void Encodings::read(FileName const & encfile, FileName const & symbolsfile)
                while (!flags.empty()) {
                        string flag;
                        flags = split(flags, flag, ',');
-                       if (flag == "combining")
+                       if (flag == "combining") {
                                info.combining = true;
-                       else if (flag == "force") {
+                       else if (flag == "force") {
                                info.force = true;
                                forced.insert(symbol);
-                       } else
+                       } else if (flag == "mathalpha") {
+                               mathalpha.insert(symbol);
+                       } else {
                                lyxerr << "Ignoring unknown flag `" << flag
                                       << "' for symbol `0x"
                                       << hex << symbol << dec
                                       << "'." << endl;
+                       }
                }
                // mathcommand and mathpreamble have been added for 1.6.0.
                // make them optional so that old files still work.
index df446805271a709b80b9da2ee3c452200882ec48..cf4d2b5a4ed96fa90e2c91f20ba9133f6ed840f0 100644 (file)
@@ -24,6 +24,7 @@ namespace lyx {
 
 namespace support { class FileName; }
 
+class Buffer;
 class LaTeXFeatures;
 
 class EncodingException : public std::exception {
@@ -182,10 +183,16 @@ public:
        static bool isKnownScriptChar(char_type const c, std::string & preamble);
        /**
         * Do we have to output this character as LaTeX command in any case?
-        * This is true if the "forced" flag is set.
+        * This is true if the "force" flag is set.
         * We need this if the inputencoding does not support a certain glyph.
         */
        static bool isForced(char_type c);
+       /**
+        * Do we have to display in italics this character when in mathmode?
+        * This is true if the "mathalpha" flag is set. We use this for
+        * accented characters that are output as math commands.
+        */
+       static bool isMathAlpha(char_type c);
        /**
         * Register \p c as a mathmode command.
         */
@@ -213,7 +220,7 @@ public:
        /**
         * Initialize mathcmd, textcmd, and mathsym sets.
         */
-       static void initMathAndTextSets() { mathcmd.clear(); textcmd.clear(); mathsym.clear(); }
+       static void initUnicodeMath(Buffer const & buffer);
        /**
         * If \p c cannot be encoded in the given \p encoding, convert
         * it to something that LaTeX can understand in mathmode.
index d1d6fdb8dcf04b0992d52e90c212c6543b3be1eb..62f1f25dd4b2608ee10ef26d44990a0983fadcbf 100644 (file)
@@ -187,26 +187,22 @@ static string const changetracking_none_def =
 
 static string const textgreek_def =
        "\\DeclareRobustCommand{\\greektext}{%\n"
-       " \\fontencoding{LGR}\\selectfont\n"
-       " \\def\\encodingdefault{LGR}}\n"
+       "  \\fontencoding{LGR}\\selectfont\\def\\encodingdefault{LGR}}\n"
        "\\DeclareRobustCommand{\\textgreek}[1]{\\leavevmode{\\greektext #1}}\n"
        "\\DeclareFontEncoding{LGR}{}{}\n";
 
 static string const textcyr_def =
        "\\DeclareRobustCommand{\\cyrtext}{%\n"
-       " \\fontencoding{T2A}\\selectfont\n"
-       " \\def\\encodingdefault{T2A}}\n"
+       "  \\fontencoding{T2A}\\selectfont\\def\\encodingdefault{T2A}}\n"
        "\\DeclareRobustCommand{\\textcyr}[1]{\\leavevmode{\\cyrtext #1}}\n"
        "\\AtBeginDocument{\\DeclareFontEncoding{T2A}{}{}}\n";
 
 static string const lyxmathsym_def =
-       "\\DeclareRobustCommand{\\lyxmathsym}[1]{%\n"
-       " \\ifmmode\\begingroup\n"
-       " \\edef\\b@ld{bold}%\n"
-       " \\def\\rmorbf##1{\\ifx\\math@version\\b@ld\\textbf{##1}\\else\\textrm{##1}\\fi}%\n"
-       " \\mathchoice{\\hbox{\\rmorbf{#1}}}{\\hbox{\\rmorbf{#1}}}%\n"
-       "  {\\hbox{\\smaller[2]\\rmorbf{#1}}}{\\hbox{\\smaller[3]\\rmorbf{#1}}}%\n"
-       " \\endgroup\\else#1\\fi}\n";
+       "\\DeclareRobustCommand{\\lyxmathsym}[1]{\\ifmmode\\begingroup\\def\\b@ld{bold}\n"
+       "  \\def\\rmorbf##1{\\ifx\\math@version\\b@ld\\textbf{##1}\\else\\textrm{##1}\\fi}\n"
+       "  \\mathchoice{\\hbox{\\rmorbf{#1}}}{\\hbox{\\rmorbf{#1}}}\n"
+       "  {\\hbox{\\smaller[2]\\rmorbf{#1}}}{\\hbox{\\smaller[3]\\rmorbf{#1}}}\n"
+       "  \\endgroup\\else#1\\fi}\n";
 
 static string const papersizedvi_def =
        "\\special{papersize=\\the\\paperwidth,\\the\\paperheight}\n";
@@ -215,6 +211,46 @@ static string const papersizepdf_def =
        "\\pdfpageheight\\paperheight\n"
        "\\pdfpagewidth\\paperwidth\n";
 
+static string const cedilla_def =
+       "\\newcommand{\\docedilla}[2]{\\underaccent{#1\\mathchar'30}{#2}}\n"
+       "\\newcommand{\\cedilla}[1]{\\mathpalette\\docedilla{#1}}\n";
+
+static string const subring_def =
+       "\\newcommand{\\dosubring}[2]{\\underaccent{#1\\mathchar'27}{#2}}\n"
+       "\\newcommand{\\subring}[1]{\\mathpalette\\dosubring{#1}}\n";
+
+static string const subdot_def =
+       "\\newcommand{\\dosubdot}[2]{\\underaccent{#1.}{#2}}\n"
+       "\\newcommand{\\subdot}[1]{\\mathpalette\\dosubdot{#1}}\n";
+
+static string const subhat_def =
+       "\\newcommand{\\dosubhat}[2]{\\underaccent{#1\\mathchar'136}{#2}}\n"
+       "\\newcommand{\\subhat}[1]{\\mathpalette\\dosubhat{#1}}\n";
+
+static string const subtilde_def =
+       "\\newcommand{\\dosubtilde}[2]{\\underaccent{#1\\mathchar'176}{#2}}\n"
+       "\\newcommand{\\subtilde}[1]{\\mathpalette\\dosubtilde{#1}}\n";
+
+static string const dacute_def =
+       "\\DeclareMathAccent{\\dacute}{\\mathalpha}{operators}{'175}\n";
+
+static string const tipasymb_def =
+       "\\DeclareFontEncoding{T3}{}{}\n"
+       "\\DeclareSymbolFont{tipasymb}{T3}{cmr}{m}{n}\n";
+
+static string const dgrave_def =
+       "\\DeclareMathAccent{\\dgrave}{\\mathord}{tipasymb}{'15}\n";
+
+static string const rcap_def =
+       "\\DeclareMathAccent{\\rcap}{\\mathord}{tipasymb}{'20}\n";
+
+static string const ogonek_def =
+       "\\newcommand{\\doogonek}[2]{\\setbox0=\\hbox{$#1#2$}\\underaccent{#1\\mkern-6mu\n"
+       "  \\ifx#2O\\hskip0.5\\wd0\\else\\ifx#2U\\hskip0.5\\wd0\\else\\hskip\\wd0\\fi\\fi\n"
+       "  \\ifx#2o\\mkern-2mu\\else\\ifx#2e\\mkern-1mu\\fi\\fi\n"
+       "  \\mathchar\"0\\hexnumber@\\symtipasymb0C}{#2}}\n"
+       "\\newcommand{\\ogonek}[1]{\\mathpalette\\doogonek{#1}}\n";
+
 /////////////////////////////////////////////////////////////////////
 //
 // LaTeXFeatures
@@ -475,7 +511,8 @@ char const * simplefeatures[] = {
        "bm",
        "pdfpages",
        "relsize",
-       "amscd"
+       "amscd",
+       "slashed"
 };
 
 int const nb_simplefeatures = sizeof(simplefeatures) / sizeof(char const *);
@@ -532,6 +569,10 @@ string const LaTeXFeatures::getPackages() const
            (params_.use_esint != BufferParams::package_off || !isRequired("esint")))
                packages << "\\usepackage{wasysym}\n";
 
+       // accents must be loaded after amsmath
+       if (mustProvide("accents"))
+               packages << "\\usepackage{accents}\n";
+
        // [x]color.sty
        if (mustProvide("color") || mustProvide("xcolor")) {
                string const package =
@@ -680,6 +721,36 @@ string const LaTeXFeatures::getMacros() const
        if (mustProvide("lyxmathsym"))
                macros << lyxmathsym_def << '\n';
 
+       if (mustProvide("cedilla"))
+               macros << cedilla_def << '\n';
+
+       if (mustProvide("subring"))
+               macros << subring_def << '\n';
+
+       if (mustProvide("subdot"))
+               macros << subdot_def << '\n';
+
+       if (mustProvide("subhat"))
+               macros << subhat_def << '\n';
+
+       if (mustProvide("subtilde"))
+               macros << subtilde_def << '\n';
+
+       if (mustProvide("dacute"))
+               macros << dacute_def << '\n';
+
+       if (mustProvide("tipasymb"))
+               macros << tipasymb_def << '\n';
+
+       if (mustProvide("dgrave"))
+               macros << dgrave_def << '\n';
+
+       if (mustProvide("rcap"))
+               macros << rcap_def << '\n';
+
+       if (mustProvide("ogonek"))
+               macros << ogonek_def << '\n';
+
        // quotes.
        if (mustProvide("quotesinglbase"))
                macros << quotesinglbase_def << '\n';
index 7d66434d739d189f1e2167f178e0f0ecb1cb8e62..350a0bb356297f9ae432d7659c0419ec541dfe2b 100644 (file)
@@ -438,6 +438,16 @@ public:
         *  defaults to empty.
         */
        virtual void addPreview(graphics::PreviewLoader &) const {}
+
+       /** Classifies the unicode characters appearing in a math inset
+        *  depending on whether they are to be translated as latex
+        *  math/text commands or used as math symbols without translation.
+        *
+        *  Only math insets have interest in this classification, so the
+        *  method defaults to empty.
+        */
+       virtual void initUnicodeMath() const {}
+
        /// Add an entry to the TocList
        /// pit is the ParConstIterator of the paragraph containing the inset
        virtual void addToToc(DocIterator const &) {}
index 6caf09aeff28e5eb4aa748fce5358223ec53848e..a4640f2d159416572d37994cc2c6f5141e453171 100644 (file)
@@ -26,6 +26,7 @@
 
 #include "support/debug.h"
 #include "support/lstrings.h"
+#include "support/textutils.h"
 
 
 namespace lyx {
@@ -41,7 +42,7 @@ static bool isBinaryOp(char_type c)
 
 static bool slanted(char_type c)
 {
-       return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z');
+       return isAlphaASCII(c) || Encodings::isMathAlpha(c);
 }
 
 
index 3ba60f22fc4f074cd48d625dde0bb50fb0fcc12d..4f90573ac5076d528c1c7981dfc1da7bb0f2909d 100644 (file)
@@ -461,6 +461,13 @@ static docstring latexString(InsetMathHull const & inset)
 }
 
 
+void InsetMathHull::initUnicodeMath() const
+{
+       // Trigger classification of the unicode symbols in this inset
+       docstring const dummy = latexString(*this);
+}
+
+
 void InsetMathHull::addPreview(graphics::PreviewLoader & ploader) const
 {
        if (RenderPreview::status() == LyXRC::PREVIEW_ON) {
index f441687b5f2e99080bde86928090d5237614ada5..e43313a9f6b91ea091a9f755acae29facf91dc94 100644 (file)
@@ -121,6 +121,8 @@ public:
        //bool insetAllowed(InsetCode code) const;
        ///
        void addPreview(graphics::PreviewLoader &) const;
+       ///
+       void initUnicodeMath() const;
 
        ///
        static int displayMargin() { return 12; }
index 0f387719b49560d0c7499cf669816cc20947165b..646e836480751b3c6323d1ea1cd8ce3888f36b2e 100644 (file)
@@ -749,8 +749,6 @@ void latexParagraphs(Buffer const & buf,
        ParagraphList::const_iterator par = paragraphs.begin();
        ParagraphList::const_iterator endpar = paragraphs.end();
 
-       Encodings::initMathAndTextSets();
-
        LASSERT(runparams.par_begin <= runparams.par_end, /**/);
        // if only part of the paragraphs will be outputed
        if (runparams.par_begin !=  runparams.par_end) {