#include "MetricsInfo.h"
#include "Dimension.h"
-#include "Encoding.h"
+#include "BufferEncodings.h"
#include "LaTeXFeatures.h"
#include "TextPainter.h"
void InsetMathChar::validate(LaTeXFeatures & features) const
{
- if (char_ >= 0x80)
- encodings.validate(char_, features, true);
+ if (!isASCII(char_))
+ BufferEncodings::validate(char_, features, true);
}
case '<': entity = "<"; break;
case '>': entity = ">"; break;
case '&': entity = "&"; break;
- case ' ':
- if (!ms.inText())
- break;
- entity = " ";
- break;
+ case ' ': {
+ ms << from_ascii(" ");
+ return;
+ }
default: break;
}
ms << from_ascii(entity);
return;
}
-
+
if (!entity.empty()) {
ms << "<mo>" << from_ascii(entity) << "</mo>";
return;
}
char const * type =
- (isalpha(char_) || Encodings::isMathAlpha(char_))
+ (isAlphaASCII(char_) || Encodings::isMathAlpha(char_))
? "mi" : "mo";
// we don't use MTag and ETag because we do not want the spacing
ms << "<" << type << ">" << char_type(char_) << "</" << type << ">";
case '<': entity = "<"; break;
case '>': entity = ">"; break;
case '&': entity = "&"; break;
+ case ' ': entity = " "; break;
default: break;
}
}
if (have_entity) {
+ // an operator, so give some space
ms << ' ' << from_ascii(entity) << ' ';
return;
}
- if (isalpha(char_) || Encodings::isMathAlpha(char_))
+ if (isAlphaASCII(char_) || Encodings::isMathAlpha(char_))
// we don't use MTag and ETag because we do not want the spacing
ms << MTag("i") << char_type(char_) << ETag("i");
else