diff options
author | Luke Dixon <6b8b4567@gmail.com> | 2010-11-23 10:36:18 +0000 |
---|---|---|
committer | Jonas Finnemann Jensen <jopsen@gmail.com> | 2010-11-24 12:19:51 +0100 |
commit | e6f69c3c0961649f33ce25faede5b4f184658e29 (patch) | |
tree | b7807d01d447272727b8262e77394c5add63a875 /starmath/source/visitors.cxx | |
parent | 3a71b8d8f78ca470115f8c5ec29a51c2ab7fcc1c (diff) |
Fix Greek characters, stacks and subs/sups for operators.
Diffstat (limited to 'starmath/source/visitors.cxx')
-rw-r--r-- | starmath/source/visitors.cxx | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/starmath/source/visitors.cxx b/starmath/source/visitors.cxx index 25998fc22b5e..3b9bdef2f9e2 100644 --- a/starmath/source/visitors.cxx +++ b/starmath/source/visitors.cxx @@ -2174,7 +2174,7 @@ void SmNodeToTextVisitor::Visit( SmTableNode* pNode ) LineToText( it.Current( ) ); if( it.Next( ) ) { Separate( ); - Append( "## " ); + Append( "# " ); }else break; } @@ -2242,33 +2242,39 @@ void SmNodeToTextVisitor::Visit( SmOperNode* pNode ) SmNode* pChild; if( ( pChild = pSubSup->GetSubSup( LSUP ) ) ) { Separate( ); - Append( "lsup " ); + Append( "lsup { " ); LineToText( pChild ); + Append( "} "); } if( ( pChild = pSubSup->GetSubSup( LSUB ) ) ) { Separate( ); - Append( "lsub " ); + Append( "lsub { " ); LineToText( pChild ); + Append( "} "); } if( ( pChild = pSubSup->GetSubSup( RSUP ) ) ) { Separate( ); - Append( "rsup " ); + Append( "rsup { " ); LineToText( pChild ); + Append( "} "); } if( ( pChild = pSubSup->GetSubSup( RSUB ) ) ) { Separate( ); - Append( "rsub " ); + Append( "rsub { " ); LineToText( pChild ); + Append( "} "); } if( ( pChild = pSubSup->GetSubSup( CSUP ) ) ) { Separate( ); - Append( "csup " ); + Append( "csup { " ); LineToText( pChild ); + Append( "} "); } if( ( pChild = pSubSup->GetSubSup( CSUB ) ) ) { Separate( ); - Append( "csub " ); + Append( "csub { " ); LineToText( pChild ); + Append( "} "); } } LineToText( pNode->GetSubNode( 1 ) ); @@ -2492,7 +2498,6 @@ void SmNodeToTextVisitor::Visit( SmTextNode* pNode ) void SmNodeToTextVisitor::Visit( SmSpecialNode* pNode ) { - Append( "%" ); Append( pNode->GetToken( ).aText ); } @@ -2530,13 +2535,18 @@ void SmNodeToTextVisitor::Visit( SmLineNode* pNode ) void SmNodeToTextVisitor::Visit( SmExpressionNode* pNode ) { - Append( "{ " ); + USHORT nSize = pNode->GetNumSubNodes(); + if (nSize > 1) { + Append( "{ " ); + } SmNodeIterator it( pNode ); while( it.Next( ) ) { it->Accept( this ); Separate( ); } - Append( "}" ); + if (nSize > 1) { + Append( "} " ); + } } void SmNodeToTextVisitor::Visit( SmPolyLineNode* ) |