Index: abi/src/wp/impexp/xp/ie_exp_HTML.cpp =================================================================== RCS file: /cvsroot/abi/src/wp/impexp/xp/ie_exp_HTML.cpp,v retrieving revision 1.31 diff -u -r1.31 ie_exp_HTML.cpp --- abi/src/wp/impexp/xp/ie_exp_HTML.cpp 2000/12/19 01:35:12 1.31 +++ abi/src/wp/impexp/xp/ie_exp_HTML.cpp 2001/01/11 20:01:39 @@ -136,7 +136,7 @@ UT_Bool m_bInSection; UT_Bool m_bInBlock; UT_Bool m_bInSpan; - UT_Bool m_bWasSpace; + UT_Bool m_bNextIsSpace; const PP_AttrProp* m_pAP_Span; // Need to look up proper type, and place to stick #defines... @@ -167,7 +167,7 @@ if(m_iBlockType == BT_NORMAL) m_pie->write("
\n"); - else if(m_iBlockType == BT_HEADING1) + else if(m_iBlockType == BT_HEADING1) m_pie->write("\n"); else if(m_iBlockType == BT_HEADING2) @@ -179,7 +179,7 @@ else if(m_iBlockType == BT_BLOCKTEXT) m_pie->write("\n"); - else if(m_iBlockType == BT_PLAINTEXT) + else if(m_iBlockType == BT_PLAINTEXT) m_pie->write("\n"); // Add "catchall" for now @@ -283,9 +283,9 @@ m_iBlockType != BT_PLAINTEXT && m_iBlockType != BT_BLOCKTEXT && (pAP->getProperty((XML_Char*)"text-align", szValue)) ) { - m_pie->write(" align=\""); + m_pie->write(" style=\"text-align: "); m_pie->write((char*)szValue); - m_pie->write("\""); + m_pie->write(";\""); } } else @@ -577,7 +577,7 @@ { if (!span) { - m_pie->write("write("write(szColor); @@ -586,7 +586,7 @@ } else { - m_pie->write(" color: "); + m_pie->write("; color: #"); char szColor[16]; _convertColor(szColor,(char*)pszColor); m_pie->write(szColor); @@ -741,6 +741,16 @@ m_pie->write(buf,(pBuf-buf)); pBuf = buf; } + pData++; + if (*pData == ' ' || *pData == '\t') + { + m_bNextIsSpace = UT_TRUE; + } + else + { + m_bNextIsSpace = UT_FALSE; + } + pData--; switch (*pData) { case '<': @@ -783,7 +793,7 @@ // try to honor multiple spaces // tabs get treated as a single space // - if(m_bWasSpace) + if(m_bNextIsSpace) { *pBuf++ = '&'; *pBuf++ = 'n'; @@ -796,7 +806,6 @@ else { // just tack on a single space to the textrun - m_bWasSpace = UT_TRUE; *pBuf++ = ' '; pData++; } @@ -829,7 +838,7 @@ m_bInSection = UT_FALSE; m_bInBlock = UT_FALSE; m_bInSpan = UT_FALSE; - m_bWasSpace = UT_FALSE; + m_bNextIsSpace = UT_FALSE; m_pie->write("\n"); m_pie->write("\n");