- docstring command(1, c);
- if (c < 0x80 || Encodings::latexMathChar(c, command)) {
- if (in_lyxmathsym) {
+ bool termination = false;
+ if (isASCII(c) ||
+ Encodings::latexMathChar(c, mathmode, os.encoding(), command, termination)) {
+ if (os.textMode()) {
+ if (in_forced_mode) {
+ // we were inside \lyxmathsym
+ os << '}';
+ os.textMode(false);
+ in_forced_mode = false;
+ }
+ if (!isASCII(c) && os.textMode()) {
+ os << "\\ensuremath{";
+ os.textMode(false);
+ in_forced_mode = true;
+ }
+ } else if (isASCII(c) && in_forced_mode) {
+ // we were inside \ensuremath