#ifndef _QIHTMLWriter_h_ #define _QIHTMLWriter_h_ #include static const char *SPECIAL_CHARS_HTML [] = { "ℜ", "C", "∪", "∞", "
" }; class QIHTMLWriter : public QIWriter { public: inline QIHTMLWriter() {} inline virtual ~QIHTMLWriter(){} inline string formatBeginDoc (void) { string result; result += "\n"; result += " \n"; result += " \n"; result += " "; return result; } /** A slight modification to convert "\n"'s into HTML
*/ inline string formatDefault (string rawText) { stringstream ss; unsigned short k; for (k = 0; k < rawText.length(); k++) { if (rawText[k] == '\n') { ss << "
"; } else ss << rawText[k]; } return ss.str(); } inline string formatSection (string sectionName) { return "
" + formatDefault(sectionName) + "
\n"; } inline string formatSubsection (string subsectionName) { return "
" + formatDefault(subsectionName) + "
\n"; } inline string formatMath (string expr) { return "" + formatDefault(expr) + ""; } inline string formatInfo (string information) { return "" + formatDefault(information) + ""; } inline string formatExponent (string exponent) { return "" + formatDefault(exponent) + ""; } inline string formatSpecial (SpecialChar id) { return SPECIAL_CHARS_HTML[id]; } inline string formatEndDoc (void) { string result; result += " \n"; result += ""; return result; } }; #endif