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.cxx50
1 files changed, 50 insertions, 0 deletions
diff --git a/starmath/source/ooxmlimport.cxx b/starmath/source/ooxmlimport.cxx
index f2ef21be8d98..dcdeab202fb0 100644
--- a/starmath/source/ooxmlimport.cxx
+++ b/starmath/source/ooxmlimport.cxx
@@ -133,6 +133,18 @@ OUString SmOoxmlImport::readOMathArg()
case OPENING( M_TOKEN( rad )):
ret += handleRad();
break;
+ case OPENING( M_TOKEN( sPre )):
+ ret += handleSpre();
+ break;
+ case OPENING( M_TOKEN( sSub )):
+ ret += handleSsub();
+ break;
+ case OPENING( M_TOKEN( sSubSup )):
+ ret += handleSsubsup();
+ break;
+ case OPENING( M_TOKEN( sSup )):
+ ret += handleSsup();
+ break;
default:
stream.handleUnexpectedTag();
break;
@@ -551,4 +563,42 @@ OUString SmOoxmlImport::handleRad()
return STR( "nroot {" ) + deg + STR( "}{" ) + e + STR( "}" );
}
+OUString SmOoxmlImport::handleSpre()
+{
+ stream.ensureOpeningTag( M_TOKEN( sPre ));
+ OUString sub = readOMathArgInElement( M_TOKEN( sub ));
+ OUString sup = readOMathArgInElement( M_TOKEN( sup ));
+ OUString e = readOMathArgInElement( M_TOKEN( e ));
+ stream.ensureClosingTag( M_TOKEN( sPre ));
+ return STR( "{" ) + e + STR( "} lsub {" ) + sub + STR( "} lsup {" ) + sup + STR( "}" );
+}
+
+OUString SmOoxmlImport::handleSsub()
+{
+ stream.ensureOpeningTag( M_TOKEN( sSub ));
+ OUString e = readOMathArgInElement( M_TOKEN( e ));
+ OUString sub = readOMathArgInElement( M_TOKEN( sub ));
+ stream.ensureClosingTag( M_TOKEN( sSub ));
+ return STR( "{" ) + e + STR( "} rsub {" ) + sub + STR( "}" );
+}
+
+OUString SmOoxmlImport::handleSsubsup()
+{
+ stream.ensureOpeningTag( M_TOKEN( sSubSup ));
+ OUString e = readOMathArgInElement( M_TOKEN( e ));
+ OUString sub = readOMathArgInElement( M_TOKEN( sub ));
+ OUString sup = readOMathArgInElement( M_TOKEN( sup ));
+ stream.ensureClosingTag( M_TOKEN( sSubSup ));
+ return STR( "{" ) + e + STR( "} rsub {" ) + sub + STR( "} rsup {" ) + sup + STR( "}" );
+}
+
+OUString SmOoxmlImport::handleSsup()
+{
+ stream.ensureOpeningTag( M_TOKEN( sSup ));
+ OUString e = readOMathArgInElement( M_TOKEN( e ));
+ OUString sup = readOMathArgInElement( M_TOKEN( sup ));
+ stream.ensureClosingTag( M_TOKEN( sSup ));
+ return STR( "{" ) + e + STR( "} ^ {" ) + sup + STR( "}" );
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */