@@ -51,8 +51,9 @@ constexpr int formatConfig_reportRevisions = 0x8000;
5151constexpr int formatConfig_reportParagraphIndentation = 0x10000 ;
5252constexpr int formatConfig_includeLayoutTables = 0x20000 ;
5353constexpr int formatConfig_reportLineSpacing = 0x40000 ;
54+ constexpr int formatConfig_reportSuperscriptsAndSubscripts = 0x80000 ;
5455
55- constexpr int formatConfig_fontFlags =(formatConfig_reportFontName|formatConfig_reportFontSize|formatConfig_reportFontAttributes|formatConfig_reportColor);
56+ constexpr int formatConfig_fontFlags =(formatConfig_reportFontName|formatConfig_reportFontSize|formatConfig_reportFontAttributes|formatConfig_reportColor|formatConfig_reportSuperscriptsAndSubscripts );
5657constexpr int formatConfig_initialFormatFlags =(formatConfig_reportPage|formatConfig_reportLineNumber|formatConfig_reportTables|formatConfig_reportHeadings|formatConfig_includeLayoutTables);
5758
5859constexpr wchar_t PAGE_BREAK_VALUE = L' \x0c ' ;
@@ -625,7 +626,7 @@ void generateXMLAttribsForFormatting(IDispatch* pDispatchRange, int startOffset,
625626 if ((formatConfig&formatConfig_reportColor)&&(_com_dispatch_raw_propget (pDispatchFont,wdDISPID_FONT_COLOR,VT_I4 ,&iVal)==S_OK )) {
626627 formatAttribsStream<<L" color=\" " <<iVal<<L" \" " ;
627628 }
628- if (formatConfig&formatConfig_reportFontAttributes) {
629+ if (formatConfig&formatConfig_reportFontAttributes) {if (formatConfig&formatConfig_reportFontAttributes) {
629630 if (_com_dispatch_raw_propget (pDispatchFont,wdDISPID_FONT_BOLD,VT_I4 ,&iVal)==S_OK &&iVal) {
630631 formatAttribsStream<<L" bold=\" 1\" " ;
631632 }
@@ -635,11 +636,6 @@ void generateXMLAttribsForFormatting(IDispatch* pDispatchRange, int startOffset,
635636 if (_com_dispatch_raw_propget (pDispatchFont,wdDISPID_FONT_UNDERLINE,VT_I4 ,&iVal)==S_OK &&iVal) {
636637 formatAttribsStream<<L" underline=\" 1\" " ;
637638 }
638- if (_com_dispatch_raw_propget (pDispatchFont,wdDISPID_FONT_SUPERSCRIPT,VT_I4 ,&iVal)==S_OK &&iVal) {
639- formatAttribsStream<<L" text-position=\" super\" " ;
640- } else if (_com_dispatch_raw_propget (pDispatchFont,wdDISPID_FONT_SUBSCRIPT,VT_I4 ,&iVal)==S_OK &&iVal) {
641- formatAttribsStream<<L" text-position=\" sub\" " ;
642- }
643639 if (_com_dispatch_raw_propget (pDispatchFont,wdDISPID_FONT_STRIKETHROUGH,VT_I4 ,&iVal)==S_OK &&iVal) {
644640 formatAttribsStream<<L" strikethrough=\" 1\" " ;
645641 } else if (_com_dispatch_raw_propget (pDispatchFont,wdDISPID_FONT_DOUBLESTRIKETHROUGH,VT_I4 ,&iVal)==S_OK &&iVal) {
@@ -649,6 +645,13 @@ void generateXMLAttribsForFormatting(IDispatch* pDispatchRange, int startOffset,
649645 formatAttribsStream<<L" hidden=\" 1\" " ;
650646 }
651647 }
648+ if (formatConfig&formatConfig_reportSuperscriptsAndSubscripts) {
649+ if (_com_dispatch_raw_propget (pDispatchFont,wdDISPID_FONT_SUPERSCRIPT,VT_I4 ,&iVal)==S_OK &&iVal) {
650+ formatAttribsStream<<L" text-position=\" super\" " ;
651+ } else if (_com_dispatch_raw_propget (pDispatchFont,wdDISPID_FONT_SUBSCRIPT,VT_I4 ,&iVal)==S_OK &&iVal) {
652+ formatAttribsStream<<L" text-position=\" sub\" " ;
653+ }
654+ }
652655 }
653656 }
654657 if (formatConfig&formatConfig_reportLanguage) {
0 commit comments