- // remove possible \inputencoding entries
- while (regex_replace(result, result, "\\\\inputencoding\\{[^\\}]*}", ""))
+ // Remove fontsizes
+ static vector <string> fontssizes = { "footnotesize", "tiny", "scriptsize", "small", "large", "Large", "LARGE", "huge", "Huge"};
+ for (size_t i = 0; i < fontssizes.size(); i++) {
+ int f;
+ int firstpos = 0;
+ while ((f = result.find("{\\" + fontssizes[i], firstpos)) >= 0) {
+ if (f >= 0) {
+ firstpos = f;
+ size_t ssize = fontssizes[i].size() + 2;
+ int ic = findclosing(result, f + 1, result.length());
+
+ if ((result[f+ssize] == '{') && (result[f+ssize+1] == '}')) {
+ ssize += 2;
+ }
+ if (ic > 0) {
+ result = result.substr(0, f) + result.substr(f+ssize, ic-f-ssize) + result.substr(ic+1);
+ }
+ else {
+ result = result.substr(0, f) + result.substr(f+ssize);
+ }
+ }
+ }
+ }
+ // remove possible disturbing macros
+ while (regex_replace(result, result, "\\\\(inputencoding\\{[^\\}]*}|noindent )", ""))