summaryrefslogtreecommitdiff
path: root/starmath/source/ooxmlimport.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'starmath/source/ooxmlimport.cxx')
-rw-r--r--starmath/source/ooxmlimport.cxx27
1 files changed, 27 insertions, 0 deletions
diff --git a/starmath/source/ooxmlimport.cxx b/starmath/source/ooxmlimport.cxx
index 3f884e5123fe..6b4e7e20dae5 100644
--- a/starmath/source/ooxmlimport.cxx
+++ b/starmath/source/ooxmlimport.cxx
@@ -131,6 +131,9 @@ OUString SmOoxmlImport::readOMathArg()
case OPENING( M_TOKEN( r )):
ret += handleR();
break;
+ case OPENING( M_TOKEN( rad )):
+ ret += handleRad();
+ break;
default:
stream.handleUnexpectedTag();
break;
@@ -538,4 +541,28 @@ OUString SmOoxmlImport::handleR()
return text;
}
+OUString SmOoxmlImport::handleRad()
+{
+ stream.ensureOpeningTag( M_TOKEN( rad ));
+ bool degHide = false;
+ if( stream.checkOpeningTag( M_TOKEN( radPr )))
+ {
+ if( XmlStream::Tag degHideTag = stream.checkOpeningTag( M_TOKEN( degHide )))
+ {
+ degHide = degHideTag.attribute( M_TOKEN( val ), degHide );
+ stream.ensureClosingTag( M_TOKEN( degHide ));
+ }
+ stream.ensureClosingTag( M_TOKEN( radPr ));
+ }
+ stream.ensureOpeningTag( M_TOKEN( deg ));
+ OUString deg = readOMathArg();
+ stream.ensureClosingTag( M_TOKEN( deg ));
+ OUString e = handleE();
+ stream.ensureClosingTag( M_TOKEN( rad ));
+ if( degHide )
+ return STR( "sqrt {" ) + e + STR( "}" );
+ else
+ return STR( "nroot {" ) + deg + STR( "}{" ) + e + STR( "}" );
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */