summaryrefslogtreecommitdiff
path: root/starmath
diff options
context:
space:
mode:
Diffstat (limited to 'starmath')
-rw-r--r--starmath/source/ooxmlimport.cxx22
1 files changed, 17 insertions, 5 deletions
diff --git a/starmath/source/ooxmlimport.cxx b/starmath/source/ooxmlimport.cxx
index e3a48ca93a65..648f80895ebc 100644
--- a/starmath/source/ooxmlimport.cxx
+++ b/starmath/source/ooxmlimport.cxx
@@ -570,11 +570,21 @@ OUString SmOoxmlImport::handleNary()
OUString SmOoxmlImport::handleR()
{
stream.ensureOpeningTag( M_TOKEN( r ));
- if( XmlStream::Tag rPr = stream.checkOpeningTag( OOX_TOKEN( doc, rPr )))
- { // TODO
-// stream.checkOpeningTag( OOX_TOKEN( doc, rFonts ));
-// stream.ensureClosingTag( OOX_TOKEN( doc, rFonts ));
- stream.ensureClosingTag( OOX_TOKEN( doc, rPr ));
+ bool normal = false;
+ bool literal = false;
+ if( XmlStream::Tag rPr = stream.checkOpeningTag( M_TOKEN( rPr )))
+ {
+ if( XmlStream::Tag litTag = stream.checkOpeningTag( M_TOKEN( lit )))
+ {
+ literal = litTag.attribute( M_TOKEN( val ), true );
+ stream.ensureClosingTag( M_TOKEN( lit ));
+ }
+ if( XmlStream::Tag norTag = stream.checkOpeningTag( M_TOKEN( nor )))
+ {
+ normal = norTag.attribute( M_TOKEN( val ), true );
+ stream.ensureClosingTag( M_TOKEN( nor ));
+ }
+ stream.ensureClosingTag( M_TOKEN( rPr ));
}
OUString text;
while( !stream.atEnd() && stream.currentToken() != CLOSING( stream.currentToken()))
@@ -597,6 +607,8 @@ OUString SmOoxmlImport::handleR()
}
}
stream.ensureClosingTag( M_TOKEN( r ));
+ if( normal || literal )
+ text = "\"" + text + "\"";
return text.replaceAll("{", "\\{").replaceAll("}", "\\}");
}