[Libreoffice-commits] core.git: include/sfx2 sfx2/source sw/source

Palenik Mihály palenik.mihaly at gmail.com
Tue Aug 6 02:05:05 PDT 2013


 include/sfx2/sfxhtml.hxx           |    2 
 sfx2/source/bastyp/sfxhtml.cxx     |    2 
 sw/source/filter/html/htmlcss1.cxx |  171 +++++++++++++++++--------------------
 sw/source/filter/html/htmlctxt.cxx |    8 -
 sw/source/filter/html/htmlfly.hxx  |    4 
 sw/source/filter/html/htmlgrin.cxx |   16 +--
 sw/source/filter/html/htmlsect.cxx |    5 -
 sw/source/filter/html/htmltab.cxx  |    2 
 sw/source/filter/html/parcss1.cxx  |  114 ++++++++++++------------
 sw/source/filter/html/parcss1.hxx  |   16 +--
 sw/source/filter/html/svxcss1.cxx  |   55 +++++------
 sw/source/filter/html/svxcss1.hxx  |   36 +++----
 sw/source/filter/html/swcss1.hxx   |   18 +--
 sw/source/filter/html/swhtml.cxx   |   12 +-
 sw/source/filter/html/swhtml.hxx   |    4 
 15 files changed, 230 insertions(+), 235 deletions(-)

New commits:
commit af8390dd6fd280ed3ac5178c93707958d7ea4bbd
Author: Palenik Mihály <palenik.mihaly at gmail.com>
Date:   Thu Jul 25 15:15:25 2013 +0200

    Change String to OUString in some class.
    
    I changed String class to OUString class in the following:
    SwHTMLPosFlyFrm, CSS1Parser, SvxCSS1Parser, SwCSS1Parser classes,
    CSS1PropEntry struct and htmlctxt.cxx file.
    
    Change-Id: I5d474a62c28ff3ee3848abb414acdf1b69492278
    Reviewed-on: https://gerrit.libreoffice.org/5234
    Tested-by: LibreOffice gerrit bot <gerrit at libreoffice.org>
    Reviewed-by: Miklos Vajna <vmiklos at suse.cz>

diff --git a/include/sfx2/sfxhtml.hxx b/include/sfx2/sfxhtml.hxx
index 7569afe..1c93b5d 100644
--- a/include/sfx2/sfxhtml.hxx
+++ b/include/sfx2/sfxhtml.hxx
@@ -84,7 +84,7 @@ protected:
 
     // End of an asynchronous file download. Returns TRUE if the download
     // was successful. The read file is then passed into String.
-    sal_Bool FinishFileDownload( String& rStr );
+    sal_Bool FinishFileDownload( OUString& rStr );
 
     // Returns TRUE if a file was downloaded and if FileDownloadFinished
     // has not yet been called
diff --git a/sfx2/source/bastyp/sfxhtml.cxx b/sfx2/source/bastyp/sfxhtml.cxx
index e45fcc1..76cb25a 100644
--- a/sfx2/source/bastyp/sfxhtml.cxx
+++ b/sfx2/source/bastyp/sfxhtml.cxx
@@ -234,7 +234,7 @@ void SfxHTMLParser::StartFileDownload(const OUString& rURL)
     pDLMedium->DownLoad();
 }
 
-sal_Bool SfxHTMLParser::FinishFileDownload( String& rStr )
+sal_Bool SfxHTMLParser::FinishFileDownload( OUString& rStr )
 {
     sal_Bool bOK = pDLMedium && pDLMedium->GetErrorCode()==0;
     if( bOK )
diff --git a/sw/source/filter/html/htmlcss1.cxx b/sw/source/filter/html/htmlcss1.cxx
index 0706c67..7086555 100644
--- a/sw/source/filter/html/htmlcss1.cxx
+++ b/sw/source/filter/html/htmlcss1.cxx
@@ -101,7 +101,7 @@ void SwCSS1Parser::ChgPageDesc( const SwPageDesc *pPageDesc,
     OSL_ENSURE( i<nPageDescs, "Seitenvorlage nicht gefunden" );
 }
 
-SwCSS1Parser::SwCSS1Parser( SwDoc *pD, sal_uInt32 aFHeights[7], const String& rBaseURL, sal_Bool bNewDoc ) :
+SwCSS1Parser::SwCSS1Parser( SwDoc *pD, sal_uInt32 aFHeights[7], const OUString& rBaseURL, sal_Bool bNewDoc ) :
     SvxCSS1Parser( pD->GetAttrPool(), rBaseURL, MM50/2,
                    (sal_uInt16*)&aItemIds, sizeof(aItemIds) / sizeof(sal_uInt16) ),
     pDoc( pD ),
@@ -241,9 +241,9 @@ void SwCSS1Parser::SetLinkCharFmts()
         bBodyVLinkSet |= bColorSet;
     }
 
-    String sTmp( OUString(OOO_STRING_SVTOOLS_HTML_anchor) );
-    sTmp.Append( ':' );
-    sTmp.AppendAscii( sCSS1_link );
+    OUString sTmp = OUString( OOO_STRING_SVTOOLS_HTML_anchor ) + ":" +
+                        OUString( sCSS1_link, sizeof(sCSS1_link), RTL_TEXTENCODING_ASCII_US );
+
     pStyleEntry = GetTag( sTmp );
     if( pStyleEntry )
     {
@@ -256,9 +256,9 @@ void SwCSS1Parser::SetLinkCharFmts()
         bBodyLinkSet |= bColorSet;
     }
 
-    sTmp.AssignAscii( OOO_STRING_SVTOOLS_HTML_anchor );
-    sTmp.Assign( ':' );
-    sTmp.AppendAscii( sCSS1_visited );
+    sTmp = OUString( OOO_STRING_SVTOOLS_HTML_anchor ) + ":" +
+            OUString( sCSS1_visited, sizeof(sCSS1_visited) ,RTL_TEXTENCODING_ASCII_US );
+
     pStyleEntry = GetTag( sTmp );
     if( pStyleEntry )
     {
@@ -346,16 +346,16 @@ void SwCSS1Parser::SetTableTxtColl( sal_Bool bHeader )
             "Aufruf von SetTableTxtColl unnoetig" );
 
     sal_uInt16 nPoolId;
-    String sTag;
+    OUString sTag;
     if( bHeader )
     {
         nPoolId = RES_POOLCOLL_TABLE_HDLN;
-        sTag.AssignAscii( OOO_STRING_SVTOOLS_HTML_tableheader );
+        sTag = OOO_STRING_SVTOOLS_HTML_tableheader;
     }
     else
     {
         nPoolId = RES_POOLCOLL_TABLE;
-        sTag.AssignAscii( OOO_STRING_SVTOOLS_HTML_tabledata );
+        sTag = OOO_STRING_SVTOOLS_HTML_tabledata;
     }
 
     SwTxtFmtColl *pColl = 0;
@@ -369,9 +369,7 @@ void SwCSS1Parser::SetTableTxtColl( sal_Bool bHeader )
                          pStyleEntry->GetPropertyInfo(), this );
     }
 
-    String sTmp( sTag );
-    sTmp.Append( ' ' );
-    sTmp.AppendAscii( OOO_STRING_SVTOOLS_HTML_parabreak );
+    OUString sTmp = sTag + " " + OOO_STRING_SVTOOLS_HTML_parabreak;
     pStyleEntry = GetTag( sTmp );
     if( pStyleEntry )
     {
@@ -574,14 +572,14 @@ const SvxBrushItem& SwCSS1Parser::GetPageDescBackground() const
         ->GetMaster().GetBackground();
 }
 
-sal_uInt16 SwCSS1Parser::GetScriptFromClass( String& rClass,
+sal_uInt16 SwCSS1Parser::GetScriptFromClass( OUString& rClass,
                                       sal_Bool bSubClassOnly )
 {
     sal_uInt16 nScriptFlags = CSS1_SCRIPT_ALL;
-    xub_StrLen nLen = rClass.Len();
-    xub_StrLen nPos = nLen > 4 ? rClass.SearchBackward( '-' ) : STRING_NOTFOUND;
+    sal_Int32 nLen = rClass.getLength();
+    sal_Int32 nPos = nLen > 4 ? rClass.lastIndexOf( '-' ) : -1;
 
-    if( STRING_NOTFOUND == nPos )
+    if( nPos == -1 )
     {
         if( bSubClassOnly )
             return nScriptFlags;
@@ -596,17 +594,17 @@ sal_uInt16 SwCSS1Parser::GetScriptFromClass( String& rClass,
     switch( nLen )
     {
     case 3:
-        if( rClass.EqualsIgnoreCaseAscii( "cjk", nPos, 3 ) )
+        if( rClass.matchIgnoreAsciiCaseAsciiL( "cjk", 3, nPos ) )
         {
             nScriptFlags = CSS1_SCRIPT_CJK;
         }
-        else if( rClass.EqualsIgnoreCaseAscii( "ctl", nPos, 3 ) )
+        else if( rClass.matchIgnoreAsciiCaseAsciiL( "ctl", 3, nPos ) )
         {
             nScriptFlags = CSS1_SCRIPT_CTL;
         }
         break;
     case 7:
-        if( rClass.EqualsIgnoreCaseAscii( "western", nPos, 7 ) )
+        if( rClass.matchIgnoreAsciiCaseAsciiL( "western", 7, nPos ) )
         {
             nScriptFlags = CSS1_SCRIPT_WESTERN;
         }
@@ -616,11 +614,11 @@ sal_uInt16 SwCSS1Parser::GetScriptFromClass( String& rClass,
     {
         if( nPos )
         {
-            rClass.Erase( nPos-1 );
+            rClass = rClass.copy( 0, nPos-1 );
         }
         else
         {
-            rClass.Erase();
+            rClass = "";
         }
     }
 
@@ -628,30 +626,30 @@ sal_uInt16 SwCSS1Parser::GetScriptFromClass( String& rClass,
 }
 
 static CSS1SelectorType GetTokenAndClass( const CSS1Selector *pSelector,
-                              String& rToken, String& rClass,
+                              OUString& rToken, OUString& rClass,
                               sal_uInt16& rScriptFlags )
 {
     rToken = pSelector->GetString();
-    rClass.Erase();
+    rClass = "";
     rScriptFlags = CSS1_SCRIPT_ALL;
 
     CSS1SelectorType eType = pSelector->GetType();
     if( CSS1_SELTYPE_ELEM_CLASS==eType  )
     {
-        xub_StrLen nPos = rToken.Search( '.' );
-        OSL_ENSURE( nPos != STRING_NOTFOUND, "kein Punkt in Class-Selektor???" );
-        if( nPos != STRING_NOTFOUND )
+        sal_Int32 nPos = rToken.indexOf( '.' );
+        OSL_ENSURE( nPos >= 0, "kein Punkt in Class-Selektor???" );
+        if( nPos >= 0 )
         {
-            rClass = rToken.Copy( nPos+1 );
-            rToken.Erase( nPos );
+            rClass = rToken.copy( nPos+1 );
+            rToken = rToken.copy( 0, nPos );
 
             rScriptFlags = SwCSS1Parser::GetScriptFromClass( rClass, sal_False );
-            if( !rClass.Len() )
+            if( rClass.isEmpty() )
                 eType = CSS1_SELTYPE_ELEMENT;
         }
     }
 
-    rToken.ToUpperAscii();
+    rToken = rToken.toAsciiUpperCase();
     return eType;
 }
 
@@ -723,7 +721,7 @@ sal_Bool SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector,
     }
     else if( CSS1_SELTYPE_CLASS==eSelType && !pNext )
     {
-        String aClass( pSelector->GetString() );
+        OUString aClass( pSelector->GetString() );
         sal_uInt16 nScript = GetScriptFromClass( aClass );
         if( CSS1_SCRIPT_ALL != nScript )
         {
@@ -744,7 +742,7 @@ sal_Bool SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector,
              pNext->GetString().EqualsIgnoreCaseAscii(sCSS1_right) ||
              pNext->GetString().EqualsIgnoreCaseAscii(sCSS1_first)) ) )
         {
-            String aName;
+            OUString aName;
             if( pNext )
                 aName = pNext->GetString();
             InsertPage( aName,
@@ -758,7 +756,8 @@ sal_Bool SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector,
         return sal_True;
 
     // Token und Class zu dem Selektor holen
-    String aToken2, aClass;
+    OUString aToken2;
+    OUString aClass;
     sal_uInt16 nScript;
     eSelType = GetTokenAndClass( pSelector, aToken2, aClass, nScript );
     int nToken2 = GetHTMLToken( aToken2 );
@@ -782,20 +781,19 @@ sal_Bool SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector,
             {
                 // vielleicht A:visited oder A:link
 
-                String aPseudo( pNext->GetString() );
-                aPseudo.ToLowerAscii();
-
+                OUString aPseudo( pNext->GetString() );
+                aPseudo = aPseudo.toAsciiLowerCase();
                 sal_Bool bInsert = sal_False;
-                switch( aPseudo.GetChar( 0 ))
+                switch( aPseudo[0] )
                 {
                     case 'l':
-                        if( aPseudo.EqualsAscii(sCSS1_link) )
+                        if( aPseudo.equalsAscii( sCSS1_link ) )
                         {
                             bInsert = sal_True;
                         }
                         break;
                     case 'v':
-                        if( aPseudo.EqualsAscii(sCSS1_visited) )
+                        if( aPseudo.equalsAscii( sCSS1_visited ) )
                         {
                             bInsert = sal_True;
                         }
@@ -803,8 +801,7 @@ sal_Bool SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector,
                 }
                 if( bInsert )
                 {
-                    String sTmp( aToken2 );
-                    (sTmp += ':') += aPseudo;
+                    OUString sTmp = aToken2 + ":" + aPseudo;
                     if( CSS1_SCRIPT_ALL != nScript )
                     {
                         SfxItemSet aScriptItemSet( rItemSet );
@@ -860,13 +857,13 @@ sal_Bool SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector,
         }
     }
     else if( CSS1_SELTYPE_ELEM_CLASS==eSelType &&  HTML_ANCHOR_ON==nToken2 &&
-             !pNext && aClass.Len() >= 9 &&
-             ('s' == aClass.GetChar(0) || 'S' == aClass.GetChar(0)) )
+             !pNext && aClass.getLength() >= 9 &&
+             ('s' == aClass[0] || 'S' == aClass[0]) )
     {
         sal_uInt16 nPoolFmtId = 0;
-        if( aClass.EqualsIgnoreCaseAscii(OOO_STRING_SVTOOLS_HTML_sdendnote_sym) )
+        if( aClass.equalsIgnoreAsciiCaseAscii(OOO_STRING_SVTOOLS_HTML_sdendnote_sym) )
             nPoolFmtId = RES_POOLCHR_ENDNOTE;
-        else if( aClass.EqualsIgnoreCaseAscii(OOO_STRING_SVTOOLS_HTML_sdfootnote_sym) )
+        else if( aClass.equalsIgnoreAsciiCaseAscii(OOO_STRING_SVTOOLS_HTML_sdfootnote_sym) )
             nPoolFmtId = RES_POOLCHR_FOOTNOTE;
         if( nPoolFmtId )
         {
@@ -909,12 +906,12 @@ sal_Bool SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector,
         nPoolCollId = RES_POOLCOLL_HEADLINE6;
         break;
     case HTML_PARABREAK_ON:
-        if( aClass.Len() >= 9 &&
-            ('s' == aClass.GetChar(0) || 'S' == aClass.GetChar(0)) )
+        if( aClass.getLength() >= 9 &&
+            ('s' == aClass[0] || 'S' == aClass[0]) )
         {
-            if( aClass.EqualsIgnoreCaseAscii(OOO_STRING_SVTOOLS_HTML_sdendnote) )
+            if( aClass.equalsIgnoreAsciiCaseAscii(OOO_STRING_SVTOOLS_HTML_sdendnote) )
                 nPoolCollId = RES_POOLCOLL_ENDNOTE;
-            else if( aClass.EqualsIgnoreCaseAscii(OOO_STRING_SVTOOLS_HTML_sdfootnote) )
+            else if( aClass.equalsIgnoreAsciiCaseAscii(OOO_STRING_SVTOOLS_HTML_sdfootnote) )
                 nPoolCollId = RES_POOLCOLL_FOOTNOTE;
 
             if( nPoolCollId )
@@ -954,7 +951,7 @@ sal_Bool SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector,
                   CSS1_SELTYPE_ELEM_CLASS==eNextType) )
         {
             // nicht TH und TD, aber TH P und TD P
-            String aSubToken, aSubClass;
+            OUString aSubToken, aSubClass;
             GetTokenAndClass( pNext, aSubToken, aSubClass, nScript );
             if( HTML_PARABREAK_ON == GetHTMLToken( aSubToken ) )
             {
@@ -962,7 +959,7 @@ sal_Bool SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector,
                 pNext = pNext->GetNext();
                 eNextType = pNext ? pNext->GetType() : CSS1_SELTYPE_ELEMENT;
 
-                if( aClass.Len() || pNext )
+                if( !aClass.isEmpty() || pNext )
                 {
                     nPoolCollId = static_cast< sal_uInt16 >(
                         HTML_TABLEHEADER_ON == nToken2 ? RES_POOLCOLL_TABLE_HDLN
@@ -970,9 +967,7 @@ sal_Bool SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector,
                 }
                 else
                 {
-                    String sTmp( aToken2 );
-                    sTmp += ' ';
-                    sTmp.AppendAscii( OOO_STRING_SVTOOLS_HTML_parabreak );
+                    OUString sTmp = aToken2 + " " + OOO_STRING_SVTOOLS_HTML_parabreak;
 
                     if( CSS1_SCRIPT_ALL == nScript )
                     {
@@ -1008,9 +1003,9 @@ sal_Bool SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector,
             // Die Vorlage Suchen bzw. Anlegen
             SwTxtFmtColl *pColl = GetTxtFmtColl( nPoolCollId, aEmptyStr );
             SwTxtFmtColl* pParentColl = 0;
-            if( aClass.Len() )
+            if( !aClass.isEmpty() )
             {
-                String aName( pColl->GetName() );
+                OUString aName( pColl->GetName() );
                 AddClassName( aName, aClass );
 
                 pParentColl = pColl;
@@ -1104,9 +1099,9 @@ sal_Bool SwCSS1Parser::StyleParsed( const CSS1Selector *pSelector,
     if( pCFmt )
     {
         SwCharFmt *pParentCFmt = 0;
-        if( aClass.Len() )
+        if( !aClass.isEmpty() )
         {
-            String aName( pCFmt->GetName() );
+            OUString aName( pCFmt->GetName() );
             AddClassName( aName, aClass );
             pParentCFmt = pCFmt;
 
@@ -1156,7 +1151,7 @@ const FontList *SwCSS1Parser::GetFontList() const
 }
 
 
-SwCharFmt* SwCSS1Parser::GetChrFmt( sal_uInt16 nToken2, const String& rClass ) const
+SwCharFmt* SwCSS1Parser::GetChrFmt( sal_uInt16 nToken2, const OUString& rClass ) const
 {
     // die entsprechende Vorlage suchen
     sal_uInt16 nPoolId = 0;
@@ -1195,7 +1190,7 @@ SwCharFmt* SwCSS1Parser::GetChrFmt( sal_uInt16 nToken2, const String& rClass ) c
     }
     else
     {
-        String sCName( OUString::createFromAscii(sName) );
+        OUString sCName( OUString::createFromAscii(sName) );
         pCFmt = pDoc->FindCharFmtByName( sCName );
         if( !pCFmt )
         {
@@ -1208,11 +1203,11 @@ SwCharFmt* SwCSS1Parser::GetChrFmt( sal_uInt16 nToken2, const String& rClass ) c
 
     // Wenn es eine Klasse gibt, die Klassen-Vorlage suchen aber nicht
     // neu anlegen.
-    String aClass( rClass );
+    OUString aClass( rClass );
     GetScriptFromClass( aClass, sal_False );
-    if( aClass.Len() )
+    if( !aClass.isEmpty() )
     {
-        String aTmp( pCFmt->GetName() );
+        OUString aTmp( pCFmt->GetName() );
         AddClassName( aTmp, aClass );
         SwCharFmt *pClassCFmt = pDoc->FindCharFmtByName( aTmp );
         if( pClassCFmt )
@@ -1273,21 +1268,21 @@ SwCharFmt *SwCSS1Parser::GetCharFmtFromPool( sal_uInt16 nPoolId ) const
 }
 
 SwTxtFmtColl *SwCSS1Parser::GetTxtFmtColl( sal_uInt16 nTxtColl,
-                                           const String& rClass )
+                                           const OUString& rClass )
 {
     SwTxtFmtColl* pColl = 0;
 
-    String aClass( rClass );
+    OUString aClass( rClass );
     GetScriptFromClass( aClass, sal_False );
-    if( RES_POOLCOLL_TEXT == nTxtColl && aClass.Len() >= 9 &&
-        ('s' == aClass.GetChar(0) || 'S' == aClass.GetChar(0) ) )
+    if( RES_POOLCOLL_TEXT == nTxtColl && aClass.getLength() >= 9 &&
+        ('s' == aClass[0] || 'S' == aClass[0] ) )
     {
-        if( aClass.EqualsIgnoreCaseAscii(OOO_STRING_SVTOOLS_HTML_sdendnote) )
+        if( aClass.equalsIgnoreAsciiCaseAscii(OOO_STRING_SVTOOLS_HTML_sdendnote) )
         {
             nTxtColl = RES_POOLCOLL_ENDNOTE;
             aClass = aEmptyStr;
         }
-        else if( aClass.EqualsIgnoreCaseAscii(OOO_STRING_SVTOOLS_HTML_sdfootnote) )
+        else if( aClass.equalsIgnoreAsciiCaseAscii(OOO_STRING_SVTOOLS_HTML_sdfootnote) )
         {
             nTxtColl = RES_POOLCOLL_FOOTNOTE;
             aClass = aEmptyStr;
@@ -1305,9 +1300,9 @@ SwTxtFmtColl *SwCSS1Parser::GetTxtFmtColl( sal_uInt16 nTxtColl,
     }
 
     OSL_ENSURE( pColl, "Keine Absatz-Vorlage???" );
-    if( aClass.Len() )
+    if( !aClass.isEmpty() )
     {
-        String aTmp( pColl->GetName() );
+        OUString aTmp( pColl->GetName() );
         AddClassName( aTmp, aClass );
         SwTxtFmtColl* pClassColl = pDoc->FindTxtFmtCollByName( aTmp );
 
@@ -1483,11 +1478,11 @@ sal_Bool SwCSS1Parser::MayBePositioned( const SvxCSS1PropertyInfo& rPropInfo,
 
 
 
-void SwCSS1Parser::AddClassName( String& rFmtName, const String& rClass )
+void SwCSS1Parser::AddClassName( OUString& rFmtName, const OUString& rClass )
 {
-    OSL_ENSURE( rClass.Len(), "Style-Klasse ohne Laenge?" );
+    OSL_ENSURE( !rClass.isEmpty(), "Style-Klasse ohne Laenge?" );
 
-    (rFmtName += '.') += rClass;
+    rFmtName += "." + rClass;
 }
 
 
@@ -1537,7 +1532,7 @@ void SwCSS1Parser::FillDropCap( SwFmtDrop& rDrop,
     if( rItemSet.Count() )
     {
         SwCharFmt *pCFmt = 0;
-        String aName;
+        OUString aName;
         if( pName )
         {
             aName = *pName;
@@ -1548,10 +1543,8 @@ void SwCSS1Parser::FillDropCap( SwFmtDrop& rDrop,
         {
             do
             {
-                aName.AssignAscii( sCSS1_first_letter );
-                aName.Append( ' ' );
-                aName.Append(
-                    OUString::number( (sal_Int32)(++nDropCapCnt) ) );
+                aName = OUString( sCSS1_first_letter, sizeof(sCSS1_first_letter) ,RTL_TEXTENCODING_ASCII_US ) +
+                        " " + OUString::number( (sal_Int32)(++nDropCapCnt) );
             }
             while( pDoc->FindCharFmtByName(aName) );
         }
@@ -1724,7 +1717,7 @@ void SwHTMLParser::EndStyle()
 }
 
 sal_Bool SwHTMLParser::FileDownload( const String& rURL,
-                                 String& rStr )
+                                 OUString& rStr )
 {
     // View wegschmeissen (wegen Reschedule)
     ViewShell *pOldVSh = CallEndAction();
@@ -1745,8 +1738,8 @@ sal_Bool SwHTMLParser::FileDownload( const String& rURL,
                         ? (xub_StrLen)aStream.Tell()
                         : STRING_MAXLEN;
 
-        rStr = String( (const sal_Char *)aStream.GetData(), nLen,
-                       GetSrcEncoding() );
+        rStr = OUString( (const sal_Char *)aStream.GetData(), nLen
+                            , GetSrcEncoding() );
     }
 
 
@@ -1829,7 +1822,7 @@ void SwHTMLParser::InsertLink()
             else
             {
                 // File synchron holen
-                String sSource;
+                OUString sSource;
                 if( FileDownload( sHRef, sSource ) )
                     pCSS1Parser->ParseStyleSheet( sSource );
             }
@@ -1838,13 +1831,13 @@ void SwHTMLParser::InsertLink()
 
     if( bFinishDownload )
     {
-        String sSource;
-        if( FinishFileDownload(sSource) && sSource.Len() )
+        OUString sSource;
+        if( FinishFileDownload( sSource ) && !sSource.isEmpty() )
             pCSS1Parser->ParseStyleSheet( sSource );
     }
 }
 
-sal_Bool SwCSS1Parser::ParseStyleSheet( const String& rIn )
+sal_Bool SwCSS1Parser::ParseStyleSheet( const OUString& rIn )
 {
     if( !SvxCSS1Parser::ParseStyleSheet( rIn ) )
         return sal_False;
@@ -1908,7 +1901,7 @@ sal_Bool SwHTMLParser::ParseStyleOptions( const String &rStyle,
 
     if( rClass.Len() )
     {
-        String aClass( rClass );
+        OUString aClass( rClass );
         SwCSS1Parser::GetScriptFromClass( aClass );
         const SvxCSS1MapEntry *pClass = pCSS1Parser->GetClass( aClass );
         if( pClass )
@@ -2254,7 +2247,7 @@ void SwHTMLParser::GetULSpaceFromContext( sal_uInt16& nUpper,
                                           sal_uInt16& nLower ) const
 {
     sal_uInt16 nDfltColl = 0;
-    String aDfltClass;
+    OUString aDfltClass;
 
     sal_uInt16 nPos = aContexts.size();
     while( nPos > nContextStAttrMin )
diff --git a/sw/source/filter/html/htmlctxt.cxx b/sw/source/filter/html/htmlctxt.cxx
index 870a7c4..6e40751 100644
--- a/sw/source/filter/html/htmlctxt.cxx
+++ b/sw/source/filter/html/htmlctxt.cxx
@@ -137,10 +137,10 @@ void SwHTMLParser::SplitAttrTab( const SwPosition& rNewPos )
         aParaAttrs.clear();
 
     const SwNodeIndex* pOldEndPara = &pPam->GetPoint()->nNode;
-    xub_StrLen nOldEndCnt = pPam->GetPoint()->nContent.GetIndex();
+    sal_Int32 nOldEndCnt = pPam->GetPoint()->nContent.GetIndex();
 
     const SwNodeIndex& rNewSttPara = rNewPos.nNode;
-    xub_StrLen nNewSttCnt = rNewPos.nContent.GetIndex();
+    sal_Int32 nNewSttCnt = rNewPos.nContent.GetIndex();
 
     sal_Bool bMoveBack = sal_False;
 
@@ -461,13 +461,13 @@ sal_Bool SwHTMLParser::DoPositioning( SfxItemSet &rItemSet,
     return bRet;
 }
 
-sal_Bool SwHTMLParser::CreateContainer( const String& rClass,
+sal_Bool SwHTMLParser::CreateContainer( const OUString& rClass,
                                     SfxItemSet &rItemSet,
                                     SvxCSS1PropertyInfo &rPropInfo,
                                     _HTMLAttrContext *pContext )
 {
     sal_Bool bRet = sal_False;
-    if( rClass.EqualsIgnoreCaseAscii(sCSS1_class_abs_pos) &&
+    if( rClass.equalsIgnoreAsciiCaseAscii(sCSS1_class_abs_pos) &&
         pCSS1Parser->MayBePositioned( rPropInfo ) )
     {
         // Container-Klasse
diff --git a/sw/source/filter/html/htmlfly.hxx b/sw/source/filter/html/htmlfly.hxx
index 1854ace..ca79237 100644
--- a/sw/source/filter/html/htmlfly.hxx
+++ b/sw/source/filter/html/htmlfly.hxx
@@ -89,7 +89,7 @@ class SwHTMLPosFlyFrm
     const SdrObject     *pSdrObject;    // ggf. Sdr-Objekt
     SwNodeIndex         *pNdIdx;        // Node-Index
     sal_uInt32              nOrdNum;        // Aus SwPosFlyFrm
-    xub_StrLen          nCntntIdx;      // seine Position im Content
+    sal_Int32          nCntntIdx;      // seine Position im Content
     sal_uInt8               nOutputMode;    // Ausgabe-Infos
 
 public:
@@ -105,7 +105,7 @@ public:
 
     const SwNodeIndex& GetNdIndex() const { return *pNdIdx; }
 
-    xub_StrLen GetCntntIndex() const    { return nCntntIdx; }
+    sal_Int32 GetCntntIndex() const    { return nCntntIdx; }
 
     sal_uInt8 GetOutMode() const { return nOutputMode; }
 
diff --git a/sw/source/filter/html/htmlgrin.cxx b/sw/source/filter/html/htmlgrin.cxx
index cb4480c..d61ecae 100644
--- a/sw/source/filter/html/htmlgrin.cxx
+++ b/sw/source/filter/html/htmlgrin.cxx
@@ -1144,18 +1144,18 @@ ANCHOR_SETEVENT:
 
     sal_Bool bEnAnchor = sal_False, bFtnAnchor = sal_False, bFtnEnSymbol = sal_False;
     String aFtnName;
-    String aStrippedClass( aClass );
+    OUString aStrippedClass( aClass );
     SwCSS1Parser::GetScriptFromClass( aStrippedClass, sal_False );
-    if( aStrippedClass.Len() >=9  && bHasHRef && sHRef.Len() > 1 &&
-        ('s' == aStrippedClass.GetChar(0) || 'S' == aStrippedClass.GetChar(0)) &&
-        ('d' == aStrippedClass.GetChar(1) || 'D' == aStrippedClass.GetChar(1)) )
+    if( aStrippedClass.getLength() >=9  && bHasHRef && sHRef.Len() > 1 &&
+        ('s' == aStrippedClass[0] || 'S' == aStrippedClass[0]) &&
+        ('d' == aStrippedClass[1] || 'D' == aStrippedClass[1]) )
     {
-        if( aStrippedClass.EqualsIgnoreCaseAscii( OOO_STRING_SVTOOLS_HTML_sdendnote_anc ) )
+        if( aStrippedClass.equalsIgnoreAsciiCaseAscii( OOO_STRING_SVTOOLS_HTML_sdendnote_anc ) )
             bEnAnchor = sal_True;
-        else if( aStrippedClass.EqualsIgnoreCaseAscii( OOO_STRING_SVTOOLS_HTML_sdfootnote_anc ) )
+        else if( aStrippedClass.equalsIgnoreAsciiCaseAscii( OOO_STRING_SVTOOLS_HTML_sdfootnote_anc ) )
             bFtnAnchor = sal_True;
-        else if( aStrippedClass.EqualsIgnoreCaseAscii( OOO_STRING_SVTOOLS_HTML_sdendnote_sym ) ||
-                 aStrippedClass.EqualsIgnoreCaseAscii( OOO_STRING_SVTOOLS_HTML_sdfootnote_sym ) )
+        else if( aStrippedClass.equalsIgnoreAsciiCaseAscii( OOO_STRING_SVTOOLS_HTML_sdendnote_sym ) ||
+                 aStrippedClass.equalsIgnoreAsciiCaseAscii( OOO_STRING_SVTOOLS_HTML_sdfootnote_sym ) )
             bFtnEnSymbol = sal_True;
         if( bEnAnchor || bFtnAnchor || bFtnEnSymbol )
         {
diff --git a/sw/source/filter/html/htmlsect.cxx b/sw/source/filter/html/htmlsect.cxx
index b9e76da..ceb0d80 100644
--- a/sw/source/filter/html/htmlsect.cxx
+++ b/sw/source/filter/html/htmlsect.cxx
@@ -64,7 +64,8 @@ using namespace ::com::sun::star;
 
 void SwHTMLParser::NewDivision( int nToken )
 {
-    String aId, aHRef, aStyle, aClass, aLang, aDir;
+    String aId, aHRef, aStyle, aLang, aDir;
+    OUString aClass;
     SvxAdjust eAdjust = HTML_CENTER_ON==nToken ? SVX_ADJUST_CENTER
                                                : SVX_ADJUST_END;
 
@@ -134,7 +135,7 @@ void SwHTMLParser::NewDivision( int nToken )
                 NewMultiCol( aPropInfo.nColumnCount );
                 return;
             }
-            bPositioned = HTML_DIVISION_ON == nToken && aClass.Len() &&
+            bPositioned = HTML_DIVISION_ON == nToken && !aClass.isEmpty() &&
                           CreateContainer( aClass, aItemSet, aPropInfo,
                                            pCntxt );
             if( !bPositioned )
diff --git a/sw/source/filter/html/htmltab.cxx b/sw/source/filter/html/htmltab.cxx
index b0b96f2..e0198ae 100644
--- a/sw/source/filter/html/htmltab.cxx
+++ b/sw/source/filter/html/htmltab.cxx
@@ -2997,7 +2997,7 @@ SvxBrushItem* SwHTMLParser::CreateBrushItem( const Color *pColor,
 
         if( rClass.Len() )
         {
-            String aClass( rClass );
+            OUString aClass( rClass );
             SwCSS1Parser::GetScriptFromClass( aClass );
             const SvxCSS1MapEntry *pClass = pCSS1Parser->GetClass( aClass );
             if( pClass )
diff --git a/sw/source/filter/html/parcss1.cxx b/sw/source/filter/html/parcss1.cxx
index 8455ab1..dbee105 100644
--- a/sw/source/filter/html/parcss1.cxx
+++ b/sw/source/filter/html/parcss1.cxx
@@ -38,9 +38,9 @@
 #ifdef LOOP_CHECK
 
 #define LOOP_CHECK_DECL \
-    xub_StrLen nOldInPos = STRING_MAXLEN;
+    sal_Int32 nOldInPos = SAL_MAX_INT32;
 #define LOOP_CHECK_RESTART \
-    nOldInPos = STRING_MAXLEN;
+    nOldInPos = SAL_MAX_INT32;
 #define LOOP_CHECK_CHECK( where ) \
     OSL_ENSURE( nOldInPos!=nInPos || cNextCh==(sal_Unicode)EOF, where );    \
     if( nOldInPos==nInPos && cNextCh!=(sal_Unicode)EOF )                    \
@@ -60,7 +60,7 @@
 const sal_Int32 MAX_LEN = 1024;
 
 
-void CSS1Parser::InitRead( const String& rIn )
+void CSS1Parser::InitRead( const OUString& rIn )
 {
     nlLineNr = 0;
     nlLinePos = 0;
@@ -78,13 +78,13 @@ void CSS1Parser::InitRead( const String& rIn )
 
 sal_Unicode CSS1Parser::GetNextChar()
 {
-    if( nInPos >= aIn.Len() )
+    if( nInPos >= aIn.getLength() )
     {
         bEOF = sal_True;
         return (sal_Unicode)EOF;
     }
 
-    sal_Unicode c = aIn.GetChar( nInPos );
+    sal_Unicode c = aIn[nInPos];
     nInPos++;
 
     if( c == '\n' )
@@ -109,7 +109,7 @@ sal_Unicode CSS1Parser::GetNextChar()
 CSS1Token CSS1Parser::GetNextToken()
 {
     CSS1Token nRet = CSS1_NULL;
-    aToken.Erase();
+    aToken = "";
 
     do {
         // Merken, ob davor White-Space gelesen wurde
@@ -156,20 +156,20 @@ CSS1Token CSS1Parser::GetNextToken()
                     } while( (comphelper::string::isalnumAscii(cNextCh) ||
                              '-' == cNextCh) && !IsEOF() );
 
-                    aToken += String(sTmpBuffer.makeStringAndClear());
+                    aToken += sTmpBuffer.makeStringAndClear();
 
                     // und schauen, ob wir ihn kennen
-                    switch( aToken.GetChar(0) )
+                    switch( aToken[0] )
                     {
                     case 'i':
                     case 'I':
-                        if( aToken.EqualsIgnoreCaseAscii(sCSS1_import) )
+                        if( aToken.equalsIgnoreAsciiCaseAscii( sCSS1_import ) )
                             nRet = CSS1_IMPORT_SYM;
                         break;
 // /Feature: PrintExt
                     case 'p':
                     case 'P':
-                        if( aToken.EqualsIgnoreCaseAscii(sCSS1_page) )
+                        if( aToken.equalsIgnoreAsciiCaseAscii( sCSS1_page ) )
                             nRet = CSS1_PAGE_SYM;
                         break;
 // /Feature: PrintExt
@@ -180,7 +180,7 @@ CSS1Token CSS1Parser::GetNextToken()
                     // Blocks ignorieren
                     if( CSS1_NULL==nRet )
                     {
-                        aToken.Erase();
+                        aToken = "";
                         sal_uInt16 nBlockLvl = 0;
                         sal_Unicode cQuoteCh = 0;
                         sal_Bool bDone = sal_False, bEscape = sal_False;
@@ -252,10 +252,10 @@ CSS1Token CSS1Parser::GetNextToken()
                     } while( (comphelper::string::isalnumAscii(cNextCh) ||
                              '-' == cNextCh) && !IsEOF() );
 
-                    aToken += String(sTmpBuffer.makeStringAndClear());
+                    aToken += sTmpBuffer.makeStringAndClear();
 
-                    if( ('i'==aToken.GetChar(0) || 'I'==aToken.GetChar(0)) &&
-                        aToken.EqualsIgnoreCaseAscii(sCSS1_important) )
+                    if( ( 'i'==aToken[0] || 'I'==aToken[0] ) &&
+                        aToken.equalsIgnoreAsciiCaseAscii( sCSS1_important ) )
                     {
                         // '!' 'important'
                         nRet = CSS1_IMPORTANT_SYM;
@@ -290,7 +290,7 @@ CSS1Token CSS1Parser::GetNextToken()
                     cNextCh = GetNextChar();
                 } while( cQuoteChar != cNextCh && !IsEOF() );
 
-                aToken += String(sTmpBuffer.makeStringAndClear());
+                aToken += sTmpBuffer.toString();
 
                 nRet = CSS1_STRING;
             }
@@ -308,7 +308,7 @@ CSS1Token CSS1Parser::GetNextToken()
         case '9': // NUMBER | PERCENTAGE | LENGTH
             {
                 // die aktuelle Position retten
-                xub_StrLen nInPosSave = nInPos;
+                sal_Size nInPosSave = nInPos;
                 sal_Unicode cNextChSave = cNextCh;
                 sal_uInt32 nlLineNrSave = nlLineNr;
                 sal_uInt32 nlLinePosSave = nlLinePos;
@@ -328,7 +328,7 @@ CSS1Token CSS1Parser::GetNextToken()
                 if( sTmpBuffer.getLength()==6 )
                 {
                     // wir haben eine hexadezimale Farbe gefunden
-                    aToken += String(sTmpBuffer.makeStringAndClear());
+                    aToken += sTmpBuffer.makeStringAndClear();
                     nRet = CSS1_HEXCOLOR;
                     bNextCh = sal_False;
 
@@ -350,8 +350,8 @@ CSS1Token CSS1Parser::GetNextToken()
                 } while( (('0'<=cNextCh && '9'>=cNextCh) || '.'==cNextCh) &&
                          !IsEOF() );
 
-                aToken += String(sTmpBuffer.makeStringAndClear());
-                nValue = OUString(aToken).toDouble();
+                aToken += sTmpBuffer.makeStringAndClear();
+                nValue = aToken.toDouble();
 
                 // White Space ueberlesen
                 while( ( ' ' == cNextCh ||
@@ -381,14 +381,14 @@ CSS1Token CSS1Parser::GetNextToken()
                 case 'M': // LENGTH mm | LENGTH IDENT
                     {
                         // die aktuelle Position retten
-                        xub_StrLen nInPosOld = nInPos;
+                        sal_Int32 nInPosOld = nInPos;
                         sal_Unicode cNextChOld = cNextCh;
                         sal_uLong nlLineNrOld  = nlLineNr;
                         sal_uLong nlLinePosOld = nlLinePos;
                         sal_Bool bEOFOld = bEOF;
 
                         // den naechsten Identifer scannen
-                        String aIdent;
+                        OUString aIdent;
                         OUStringBuffer sTmpBuffer2( 64L );
                         do {
                             sTmpBuffer2.append( cNextCh );
@@ -396,7 +396,7 @@ CSS1Token CSS1Parser::GetNextToken()
                         } while( (comphelper::string::isalnumAscii(cNextCh) ||
                                  '-' == cNextCh) && !IsEOF() );
 
-                        aIdent += String(sTmpBuffer2.makeStringAndClear());
+                        aIdent += sTmpBuffer2.makeStringAndClear();
 
                         // Ist es eine Einheit?
                         const sal_Char *pCmp1 = 0, *pCmp2 = 0, *pCmp3 = 0;
@@ -404,7 +404,7 @@ CSS1Token CSS1Parser::GetNextToken()
                         CSS1Token nToken1 = CSS1_LENGTH,
                                   nToken2 = CSS1_LENGTH,
                                   nToken3 = CSS1_LENGTH;
-                        switch( aIdent.GetChar(0) )
+                        switch( aIdent[0] )
                         {
                         case 'c':
                         case 'C':
@@ -444,19 +444,19 @@ CSS1Token CSS1Parser::GetNextToken()
 
                         double nScale = 0.0;
                         OSL_ENSURE( pCmp1, "Wo kommt das erste Zeichen her?" );
-                        if( aIdent.EqualsIgnoreCaseAscii(pCmp1) )
+                        if( aIdent.equalsIgnoreAsciiCaseAscii( pCmp1 ) )
                         {
                             nScale = nScale1;
                             nRet = nToken1;
                         }
                         else if( pCmp2 &&
-                                 aIdent.EqualsIgnoreCaseAscii(pCmp2) )
+                                 aIdent.equalsIgnoreAsciiCaseAscii( pCmp2 ) )
                         {
                             nScale = nScale2;
                             nRet = nToken2;
                         }
                         else if( pCmp3 &&
-                                 aIdent.EqualsIgnoreCaseAscii(pCmp3) )
+                                 aIdent.equalsIgnoreAsciiCaseAscii( pCmp3 ) )
                         {
                             nScale =  1.; // nScale3
                             nRet = nToken3;
@@ -532,7 +532,7 @@ CSS1Token CSS1Parser::GetNextToken()
                 ('A'<=cNextCh && 'F'>=cNextCh) )
             {
                 // die aktuelle Position retten
-                xub_StrLen nInPosSave = nInPos;
+                sal_Int32 nInPosSave = nInPos;
                 sal_Unicode cNextChSave = cNextCh;
                 sal_uLong nlLineNrSave = nlLineNr;
                 sal_uLong nlLinePosSave = nlLinePos;
@@ -552,7 +552,7 @@ CSS1Token CSS1Parser::GetNextToken()
                 if( sTmpBuffer.getLength()==6 || sTmpBuffer.getLength()==3 )
                 {
                     // wir haben eine hexadezimale Farbe gefunden
-                    aToken += String(sTmpBuffer.makeStringAndClear());
+                    aToken += sTmpBuffer.makeStringAndClear();
                     nRet = CSS1_HEXCOLOR;
                     bNextCh = sal_False;
 
@@ -609,7 +609,7 @@ CSS1Token CSS1Parser::GetNextToken()
                 } while( (comphelper::string::isalnumAscii(cNextCh) ||
                            '-' == cNextCh) && !IsEOF() );
 
-                aToken += String(sTmpBuffer.makeStringAndClear());
+                aToken += sTmpBuffer.makeStringAndClear();
 
                 if( bHexColor && sTmpBuffer.getLength()==6 )
                 {
@@ -619,10 +619,10 @@ CSS1Token CSS1Parser::GetNextToken()
                     break;
                 }
                 if( '('==cNextCh &&
-                    ( (('u'==aToken.GetChar(0) || 'U'==aToken.GetChar(0)) &&
-                       aToken.EqualsIgnoreCaseAscii(sCSS1_url)) ||
-                      (('r'==aToken.GetChar(0) || 'R'==aToken.GetChar(0)) &&
-                       aToken.EqualsIgnoreCaseAscii(sCSS1_rgb)) ) )
+                    ( (('u'==aToken[0] || 'U'==aToken[0]) &&
+                       aToken.equalsIgnoreAsciiCaseAscii( sCSS1_url )) ||
+                      (('r'==aToken[0] || 'R'==aToken[0]) &&
+                       aToken.equalsIgnoreAsciiCaseAscii( sCSS1_rgb )) ) )
                 {
                     sal_uInt16 nNestCnt = 0;
                     OUStringBuffer sTmpBuffer2( 64L );
@@ -636,9 +636,9 @@ CSS1Token CSS1Parser::GetNextToken()
                         cNextCh = GetNextChar();
                     } while( (nNestCnt>1 || ')'!=cNextCh) && !IsEOF() );
                     sTmpBuffer2.append( cNextCh );
-                    aToken += String(sTmpBuffer2.makeStringAndClear());
+                    aToken += sTmpBuffer2.makeStringAndClear();
                     bNextCh = sal_True;
-                    nRet = 'u'==aToken.GetChar(0) || 'U'==aToken.GetChar(0)
+                    nRet = 'u'==aToken[0] || 'U'==aToken[0]
                                 ? CSS1_URL
                                 : CSS1_RGB;
                 }
@@ -779,7 +779,7 @@ void CSS1Parser::ParseRule()
     nToken = GetNextToken();
 
     // declaration
-    String aProperty;
+    OUString aProperty;
     CSS1Expression *pExpr = ParseDeclaration( aProperty );
     if( !pExpr )
         return;
@@ -859,7 +859,7 @@ CSS1Selector *CSS1Parser::ParseSelector()
                 // element_name [ DOT_WO_WS class ]?
 
                 // element_name
-                String aElement = aToken;
+                OUString aElement = aToken;
                 CSS1SelectorType eType = CSS1_SELTYPE_ELEMENT;
                 nToken = GetNextToken();
 
@@ -871,7 +871,7 @@ CSS1Selector *CSS1Parser::ParseSelector()
                     // class
                     if( CSS1_IDENT == nToken )
                     {
-                        (aElement += '.') += aToken;
+                        aElement += "." + aToken;
                         eType = CSS1_SELTYPE_ELEM_CLASS;
                     }
                     else
@@ -1005,7 +1005,7 @@ CSS1Selector *CSS1Parser::ParseSelector()
 //
 // das Vorzeichen wird nur fuer numerische Werte (ausser PERCENTAGE)
 // beruecksichtigt und wird auf nValue angewendet!
-CSS1Expression *CSS1Parser::ParseDeclaration( String& rProperty )
+CSS1Expression *CSS1Parser::ParseDeclaration( OUString& rProperty )
 {
     CSS1Expression *pRoot = 0, *pLast = 0;
 
@@ -1132,29 +1132,29 @@ CSS1Parser::~CSS1Parser()
 }
 
 
-sal_Bool CSS1Parser::ParseStyleSheet( const String& rIn )
+sal_Bool CSS1Parser::ParseStyleSheet( const OUString& rIn )
 {
-    String aTmp( rIn );
+    OUString aTmp( rIn );
 
     sal_Unicode c;
-    while( aTmp.Len() &&
-           ( ' '==(c=aTmp.GetChar(0)) || '\t'==c || '\r'==c || '\n'==c ) )
-        aTmp.Erase( 0, 1 );
+    while( !aTmp.isEmpty() &&
+           ( ' '==(c=aTmp[0]) || '\t'==c || '\r'==c || '\n'==c ) )
+        aTmp = aTmp.copy( 1, aTmp.getLength() - 1 );
 
-    while( aTmp.Len() && ( ' '==(c=aTmp.GetChar( aTmp.Len()-1))
+    while( !aTmp.isEmpty() && ( ' '==(c=aTmp[aTmp.getLength()-1])
            || '\t'==c || '\r'==c || '\n'==c ) )
-        aTmp.Erase( aTmp.Len()-1 );
+        aTmp = aTmp.copy( 0, aTmp.getLength()-1 );
 
     // SGML-Kommentare entfernen
-    if( aTmp.Len() >= 4 &&
-        aTmp.CompareToAscii("<!--",4) == COMPARE_EQUAL )
-        aTmp.Erase( 0, 4 );
+    if( aTmp.getLength() >= 4 &&
+        aTmp.startsWith( "<!--" ) )
+        aTmp = aTmp.copy( 4, aTmp.getLength() - 4 );
 
-    if( aTmp.Len() >=3 &&
-        aTmp.Copy(aTmp.Len()-3).CompareToAscii("-->") == COMPARE_EQUAL )
-        aTmp.Erase( aTmp.Len()-3 );
+    if( aTmp.getLength() >=3 &&
+        aTmp.endsWith("-->") )
+        aTmp = aTmp.copy( 0, aTmp.getLength() - 3 );
 
-    if( !aTmp.Len() )
+    if( aTmp.isEmpty() )
         return sal_True;
 
     InitRead( aTmp );
@@ -1165,9 +1165,9 @@ sal_Bool CSS1Parser::ParseStyleSheet( const String& rIn )
 }
 
 
-sal_Bool CSS1Parser::ParseStyleOption( const String& rIn )
+sal_Bool CSS1Parser::ParseStyleOption( const OUString& rIn )
 {
-    if( !rIn.Len() )
+    if( rIn.isEmpty() )
         return sal_True;
 
     InitRead( rIn );
@@ -1178,7 +1178,7 @@ sal_Bool CSS1Parser::ParseStyleOption( const String& rIn )
         nToken = GetNextToken();
     }
 
-    String aProperty;
+    OUString aProperty;
     CSS1Expression *pExpr = ParseDeclaration( aProperty );
     if( !pExpr )
     {
@@ -1218,7 +1218,7 @@ bool CSS1Parser::SelectorParsed( CSS1Selector* /* pSelector */, bool /*bFirst*/
     return true;
 }
 
-sal_Bool CSS1Parser::DeclarationParsed( const String& /*rProperty*/,
+sal_Bool CSS1Parser::DeclarationParsed( const OUString& /*rProperty*/,
                                     const CSS1Expression * /* pExpr */ )
 {
     // Deklaration loeschen
diff --git a/sw/source/filter/html/parcss1.hxx b/sw/source/filter/html/parcss1.hxx
index 2082019..f1d3528 100644
--- a/sw/source/filter/html/parcss1.hxx
+++ b/sw/source/filter/html/parcss1.hxx
@@ -191,7 +191,7 @@ class CSS1Parser
 
     sal_Unicode cNextCh;                // naechstes Zeichen
 
-    xub_StrLen nInPos;                  // aktuelle Position im Input-String
+    sal_Int32 nInPos;                  // aktuelle Position im Input-String
 
     sal_uInt32 nlLineNr;                    // akt. Zeilen Nummer
     sal_uInt32 nlLinePos;               // akt. Spalten Nummer
@@ -201,11 +201,11 @@ class CSS1Parser
     CSS1ParserState eState;         // der akteulle Zustand der Parsers
     CSS1Token nToken;               // das aktuelle Token
 
-    String aIn;                     // der zu parsende String
-    String aToken;                  // das Token als String
+    OUString aIn;                     // der zu parsende String
+    OUString aToken;                  // das Token als String
 
     // Parsen vorbereiten
-    void InitRead( const String& rIn );
+    void InitRead( const OUString& rIn );
 
     // das naechste Zeichen holen
     sal_Unicode GetNextChar();
@@ -225,7 +225,7 @@ class CSS1Parser
     // Parsen von Teilen der Grammatik
     void ParseRule();
     CSS1Selector *ParseSelector();
-    CSS1Expression *ParseDeclaration( String& rProperty );
+    CSS1Expression *ParseDeclaration( OUString& rProperty );
 
 protected:
 
@@ -234,11 +234,11 @@ protected:
     // Den Inhalt eines HTML-Style-Elements parsen.
     // Fuer jeden Selektor und jede Deklaration wird
     // SelectorParsed() bzw. DeclarationParsed() aufgerufen.
-    sal_Bool ParseStyleSheet( const String& rIn );
+    sal_Bool ParseStyleSheet( const OUString& rIn );
 
     // Den Inhalt einer HTML-Style-Option parsen.
     // F�r jede Deklaration wird DeclarationParsed() aufgerufen.
-    sal_Bool ParseStyleOption( const String& rIn );
+    sal_Bool ParseStyleOption( const OUString& rIn );
 
     // Diese Methode wird aufgerufen, wenn ein Selektor geparsed wurde
     // Wenn 'bFirst' gesetzt ist, beginnt mit dem Selektor eine neue
@@ -250,7 +250,7 @@ protected:
     // Diese Methode wird fuer jede geparsete Property aufgerufen. Wird
     // sal_True zurueckgegeben wird der Selektor geloscht, sonst nicht.
     // Die Implementierung dieser Methode gibt nur sal_True zuruck.
-    virtual sal_Bool DeclarationParsed( const String& rProperty,
+    virtual sal_Bool DeclarationParsed( const OUString& rProperty,
                                     const CSS1Expression *pExpr );
 
 public:
diff --git a/sw/source/filter/html/svxcss1.cxx b/sw/source/filter/html/svxcss1.cxx
index feeec80..b16349e 100644
--- a/sw/source/filter/html/svxcss1.cxx
+++ b/sw/source/filter/html/svxcss1.cxx
@@ -703,7 +703,7 @@ bool SvxCSS1Parser::SelectorParsed( CSS1Selector *pSelector, bool bFirst )
 }
 
 
-sal_Bool SvxCSS1Parser::DeclarationParsed( const String& rProperty,
+sal_Bool SvxCSS1Parser::DeclarationParsed( const OUString& rProperty,
                                        const CSS1Expression *pExpr )
 {
     OSL_ENSURE( pExpr, "DeclarationParsed() without Expression" );
@@ -717,7 +717,7 @@ sal_Bool SvxCSS1Parser::DeclarationParsed( const String& rProperty,
 }
 
 
-SvxCSS1Parser::SvxCSS1Parser( SfxItemPool& rPool, const String& rBaseURL, sal_uInt16 nMinFixLineSp,
+SvxCSS1Parser::SvxCSS1Parser( SfxItemPool& rPool, const OUString& rBaseURL, sal_uInt16 nMinFixLineSp,
                               sal_uInt16 *pWhichIds, sal_uInt16 nWhichIds ) :
     CSS1Parser(),
     sBaseURL( rBaseURL ),
@@ -785,67 +785,67 @@ SvxCSS1Parser::~SvxCSS1Parser()
     delete pSearchEntry;
 }
 
-void SvxCSS1Parser::InsertId( const String& rId,
+void SvxCSS1Parser::InsertId( const OUString& rId,
                               const SfxItemSet& rItemSet,
                               const SvxCSS1PropertyInfo& rProp )
 {
     InsertMapEntry( rId, rItemSet, rProp, aIds );
 }
 
-const SvxCSS1MapEntry* SvxCSS1Parser::GetId( const String& rId ) const
+const SvxCSS1MapEntry* SvxCSS1Parser::GetId( const OUString& rId ) const
 {
     CSS1Map::const_iterator itr = aIds.find(rId);
     return itr == aIds.end() ? NULL : itr->second;
 }
 
-void SvxCSS1Parser::InsertClass( const String& rClass,
+void SvxCSS1Parser::InsertClass( const OUString& rClass,
                                  const SfxItemSet& rItemSet,
                                  const SvxCSS1PropertyInfo& rProp )
 {
     InsertMapEntry( rClass, rItemSet, rProp, aClasses );
 }
 
-const SvxCSS1MapEntry* SvxCSS1Parser::GetClass( const String& rClass ) const
+const SvxCSS1MapEntry* SvxCSS1Parser::GetClass( const OUString& rClass ) const
 {
     CSS1Map::const_iterator itr = aClasses.find(rClass);
     return itr == aClasses.end() ? NULL : itr->second;
 }
 
-void SvxCSS1Parser::InsertPage( const String& rPage,
+void SvxCSS1Parser::InsertPage( const OUString& rPage,
                                 sal_Bool bPseudo,
                                 const SfxItemSet& rItemSet,
                                 const SvxCSS1PropertyInfo& rProp )
 {
-    String aKey( rPage );
+    OUString aKey( rPage );
     if( bPseudo )
-        aKey.Insert( ':', 0 );
+        aKey = ":" + aKey;
     InsertMapEntry( aKey, rItemSet, rProp, aPages );
 }
 
-SvxCSS1MapEntry* SvxCSS1Parser::GetPage( const String& rPage, bool bPseudo )
+SvxCSS1MapEntry* SvxCSS1Parser::GetPage( const OUString& rPage, bool bPseudo )
 {
-    String aKey( rPage );
+    OUString aKey( rPage );
     if( bPseudo )
-        aKey.Insert( ':', 0 );
+        aKey = ":" + aKey;
 
     CSS1Map::iterator itr = aPages.find(aKey);
     return itr == aPages.end() ? NULL : itr->second;
 }
 
-void SvxCSS1Parser::InsertTag( const String& rTag,
+void SvxCSS1Parser::InsertTag( const OUString& rTag,
                                const SfxItemSet& rItemSet,
                                const SvxCSS1PropertyInfo& rProp )
 {
     InsertMapEntry( rTag, rItemSet, rProp, aTags );
 }
 
-SvxCSS1MapEntry* SvxCSS1Parser::GetTag( const String& rTag )
+SvxCSS1MapEntry* SvxCSS1Parser::GetTag( const OUString& rTag )
 {
     CSS1Map::iterator itr = aTags.find(rTag);
     return itr == aTags.end() ? NULL : itr->second;
 }
 
-sal_Bool SvxCSS1Parser::ParseStyleSheet( const String& rIn )
+sal_Bool SvxCSS1Parser::ParseStyleSheet( const OUString& rIn )
 {
     pItemSet = pSheetItemSet;
     pPropInfo = pSheetPropInfo;
@@ -868,7 +868,7 @@ sal_Bool SvxCSS1Parser::ParseStyleSheet( const String& rIn )
     return bSuccess;
 }
 
-sal_Bool SvxCSS1Parser::ParseStyleOption( const String& rIn,
+sal_Bool SvxCSS1Parser::ParseStyleOption( const OUString& rIn,
                                       SfxItemSet& rItemSet,
                                       SvxCSS1PropertyInfo& rPropInfo )
 {
@@ -886,13 +886,13 @@ sal_Bool SvxCSS1Parser::ParseStyleOption( const String& rIn,
 
 
 sal_Bool SvxCSS1Parser::GetEnum( const CSS1PropertyEnum *pPropTable,
-                          const String &rValue, sal_uInt16& rEnum )
+                          const OUString &rValue, sal_uInt16& rEnum )
 {
-    String aValue( rValue );
-    aValue.ToLowerAscii();
+    OUString aValue( rValue.toAsciiLowerCase() );
+
     while( pPropTable->pName )
     {
-        if( !rValue.EqualsIgnoreCaseAscii( pPropTable->pName ) )
+        if( !rValue.equalsIgnoreAsciiCaseAscii( pPropTable->pName ) )
             pPropTable++;
         else
             break;
@@ -941,7 +941,7 @@ const FontList *SvxCSS1Parser::GetFontList() const
         return 0;
 }
 
-void SvxCSS1Parser::InsertMapEntry( const String& rKey,
+void SvxCSS1Parser::InsertMapEntry( const OUString& rKey,
                                     const SfxItemSet& rItemSet,
                                     const SvxCSS1PropertyInfo& rProp,
                                     CSS1Map& rMap )
@@ -3122,7 +3122,7 @@ struct CSS1PropEntry
     union
     {
         const sal_Char  *sName;
-        String          *pName;
+        OUString          *pName;
     };
     FnParseCSS1Prop pFunc;
 };
@@ -3204,16 +3204,16 @@ static int SAL_CALL CSS1PropEntryCompare( const void *pFirst, const void *pSecon
             nRet = strcmp( ((CSS1PropEntry*)pFirst)->sName ,
                     ((CSS1PropEntry*)pSecond)->sName );
         else
-            nRet = -1 * ((CSS1PropEntry*)pSecond)->pName->CompareToAscii(
+            nRet = -1 * ((CSS1PropEntry*)pSecond)->pName->compareToAscii(
                             ((CSS1PropEntry*)pFirst)->sName );
     }
     else
     {
         if( ((CSS1PropEntry*)pSecond)->pFunc )
-            nRet = ((CSS1PropEntry*)pFirst)->pName->CompareToAscii(
+            nRet = ((CSS1PropEntry*)pFirst)->pName->compareToAscii(
                         ((CSS1PropEntry*)pSecond)->sName );
         else
-            nRet = ((CSS1PropEntry*)pFirst)->pName->CompareTo(
+            nRet = ((CSS1PropEntry*)pFirst)->pName->compareTo(
                         *((CSS1PropEntry*)pSecond)->pName );
     }
 
@@ -3221,7 +3221,7 @@ static int SAL_CALL CSS1PropEntryCompare( const void *pFirst, const void *pSecon
 }
 }
 
-void SvxCSS1Parser::ParseProperty( const String& rProperty,
+void SvxCSS1Parser::ParseProperty( const OUString& rProperty,
                                    const CSS1Expression *pExpr )
 {
     OSL_ENSURE( pItemSet, "DeclarationParsed() without ItemSet" );
@@ -3235,8 +3235,7 @@ void SvxCSS1Parser::ParseProperty( const String& rProperty,
         bSortedPropFns = sal_True;
     }
 
-    String aTmp( rProperty );
-    aTmp.ToLowerAscii();
+    OUString aTmp( rProperty.toAsciiLowerCase() );
 
     CSS1PropEntry aSrch;
     aSrch.pName = &aTmp;
diff --git a/sw/source/filter/html/svxcss1.hxx b/sw/source/filter/html/svxcss1.hxx
index 91af20a..9ec2a94 100644
--- a/sw/source/filter/html/svxcss1.hxx
+++ b/sw/source/filter/html/svxcss1.hxx
@@ -204,7 +204,7 @@ inline sal_Bool operator<( const SvxCSS1MapEntry& rE1,  const SvxCSS1MapEntry& r
 class SvxCSS1Parser : public CSS1Parser
 {
     typedef ::boost::ptr_vector<CSS1Selector> CSS1Selectors;
-    typedef ::boost::ptr_map<String, SvxCSS1MapEntry> CSS1Map;
+    typedef ::boost::ptr_map<OUString, SvxCSS1MapEntry> CSS1Map;
     CSS1Selectors aSelectors;   // Liste der "offenen" Selectoren
 
     CSS1Map aIds;
@@ -212,7 +212,7 @@ class SvxCSS1Parser : public CSS1Parser
     CSS1Map aPages;
     CSS1Map aTags;
 
-    String sBaseURL;
+    OUString sBaseURL;
 
     SfxItemSet *pSheetItemSet;  // der Item-Set fuer Style-Sheets
     SfxItemSet *pItemSet;       // der aktuelle Item-Set
@@ -228,7 +228,7 @@ class SvxCSS1Parser : public CSS1Parser
 
     sal_Bool bIgnoreFontFamily;
 
-    void ParseProperty( const String& rProperty,
+    void ParseProperty( const OUString& rProperty,
                         const CSS1Expression *pExpr );
 
     std::vector<sal_uInt16> aWhichMap;        // Which-Map des Parser
@@ -260,14 +260,14 @@ protected:
     // Diese Methode wird fuer jede geparste Property aufgerufen
     // sie fuegt das Item in den ItemSet 'pItemSet' ein
     // Sie sollte in abgeleiteten Parsern nicht mehr ueberladen werden!
-    virtual sal_Bool DeclarationParsed( const String& rProperty,
+    virtual sal_Bool DeclarationParsed( const OUString& rProperty,
                                     const CSS1Expression *pExpr );
 
 public:
 
 
     SvxCSS1Parser( SfxItemPool& rPool,
-                    const String& rBaseURL,
+                    const OUString& rBaseURL,
                    sal_uInt16 nMinFixLineSp,
                    sal_uInt16 *pWhichIds=0, sal_uInt16 nWhichIds=0 );
     virtual ~SvxCSS1Parser();
@@ -277,16 +277,16 @@ public:
 
     // Parsen eines Style-Sheets. Fuer jeden gefundenen Selektor
     // wird StyleParsed mit dem entsprechenem Item-Set aufgerufen
-    virtual sal_Bool ParseStyleSheet( const String& rIn );
+    virtual sal_Bool ParseStyleSheet( const OUString& rIn );
 
     // Parsen einer Style-Option. Hier wird einfach nur der Item-Set
     // gefuellt.
-    sal_Bool ParseStyleOption( const String& rIn, SfxItemSet& rItemSet,
+    sal_Bool ParseStyleOption( const OUString& rIn, SfxItemSet& rItemSet,
                            SvxCSS1PropertyInfo& rPropInfo );
 
     // Umwandeln eines Strings in den Wert eines Enums
     static sal_Bool GetEnum( const CSS1PropertyEnum *pPropTable,
-                         const String& rValue, sal_uInt16 &rEnum );
+                         const OUString& rValue, sal_uInt16 &rEnum );
 
     // Pixel in Twips wandeln
     static void PixelToTwip( long &nWidth, long &nHeight );
@@ -298,29 +298,29 @@ public:
 
     const sal_uInt16 *GetWhichMap() const { return &aWhichMap[0]; }
 
-    void InsertMapEntry( const String& rKey, const SfxItemSet& rItemSet,
+    void InsertMapEntry( const OUString& rKey, const SfxItemSet& rItemSet,
                          const SvxCSS1PropertyInfo& rProp, CSS1Map& rMap );
 
-    void InsertId( const String& rId, const SfxItemSet& rItemSet,
+    void InsertId( const OUString& rId, const SfxItemSet& rItemSet,
                    const SvxCSS1PropertyInfo& rProp );
 
-    const SvxCSS1MapEntry* GetId( const String& rId ) const;
+    const SvxCSS1MapEntry* GetId( const OUString& rId ) const;
 
-    void InsertClass( const String& rClass, const SfxItemSet& rItemSet,
+    void InsertClass( const OUString& rClass, const SfxItemSet& rItemSet,
                       const SvxCSS1PropertyInfo& rProp );
 
-    const SvxCSS1MapEntry* GetClass( const String& rClass ) const;
+    const SvxCSS1MapEntry* GetClass( const OUString& rClass ) const;
 
-    void InsertPage( const String& rPage, sal_Bool bPseudo,
+    void InsertPage( const OUString& rPage, sal_Bool bPseudo,
                             const SfxItemSet& rItemSet,
                             const SvxCSS1PropertyInfo& rProp );
 
-    SvxCSS1MapEntry* GetPage( const String& rPage, bool bPseudo );
+    SvxCSS1MapEntry* GetPage( const OUString& rPage, bool bPseudo );
 
-    void InsertTag( const String& rTag, const SfxItemSet& rItemSet,
+    void InsertTag( const OUString& rTag, const SfxItemSet& rItemSet,
                       const SvxCSS1PropertyInfo& rProp );
 
-    SvxCSS1MapEntry* GetTag( const String& rTag );
+    SvxCSS1MapEntry* GetTag( const OUString& rTag );
 
     void MergeStyles( const SfxItemSet& rSrcSet,
                       const SvxCSS1PropertyInfo& rSrcInfo,
@@ -337,7 +337,7 @@ public:
     bool IsSetCJKProps() const { return (nScriptFlags & CSS1_SCRIPT_CJK) != 0; }
     bool IsSetCTLProps() const { return (nScriptFlags & CSS1_SCRIPT_CTL) != 0; }
 
-    const String& GetBaseURL() const { return sBaseURL;}
+    const OUString& GetBaseURL() const { return sBaseURL;}
 
 };
 
diff --git a/sw/source/filter/html/swcss1.hxx b/sw/source/filter/html/swcss1.hxx
index 3857128..d45ae37 100644
--- a/sw/source/filter/html/swcss1.hxx
+++ b/sw/source/filter/html/swcss1.hxx
@@ -76,10 +76,10 @@ protected:
     using CSS1Parser::ParseStyleSheet;
 
 public:
-    SwCSS1Parser( SwDoc *pDoc, sal_uInt32 aFHeight[7], const String& rBaseURL, sal_Bool bNewDoc );
+    SwCSS1Parser( SwDoc *pDoc, sal_uInt32 aFHeight[7], const OUString& rBaseURL, sal_Bool bNewDoc );
     virtual ~SwCSS1Parser();
 
-    virtual sal_Bool ParseStyleSheet( const String& rIn );
+    virtual sal_Bool ParseStyleSheet( const OUString& rIn );
 
     // Die Font-Hoehe fuer eine bestimmte Font-Groesse (0-6) ermitteln
     virtual sal_uInt32 GetFontHeight( sal_uInt16 nSize ) const;
@@ -89,10 +89,10 @@ public:
 
     // das Zeichen-Format zu einem Token und einer ggf leeren Klasse
     // ermitteln
-    SwCharFmt* GetChrFmt( sal_uInt16 nToken, const String& rClass ) const;
+    SwCharFmt* GetChrFmt( sal_uInt16 nToken, const OUString& rClass ) const;
 
     // eine TextFmtColl zu einer Pool-Id ermitteln
-    SwTxtFmtColl *GetTxtFmtColl( sal_uInt16 nTxtColl, const String& rClass );
+    SwTxtFmtColl *GetTxtFmtColl( sal_uInt16 nTxtColl, const OUString& rClass );
 
     // This methods do the same as the one of SwDoc, but change the
     // encoding if required.
@@ -130,14 +130,14 @@ public:
                       const SvxCSS1PropertyInfo& rPropInfo );
 
 
-    static void AddClassName( String& rFmtName, const String& rClass );
+    static void AddClassName( OUString& rFmtName, const OUString& rClass );
 
-    static inline void AddFirstLetterExt( String& rFmtName );
+    static inline void AddFirstLetterExt( OUString& rFmtName );
 
     static sal_Bool MayBePositioned( const SvxCSS1PropertyInfo& rPropInfo,
                                  sal_Bool bAutoWidth=sal_False );
 
-    static sal_uInt16 GetScriptFromClass( String& rClass,
+    static sal_uInt16 GetScriptFromClass( OUString& rClass,
                                       sal_Bool bSubClassOnly = sal_True );
 
     sal_Bool IsBodyBGColorSet() const { return bBodyBGColorSet; }
@@ -166,9 +166,9 @@ public:
 };
 
 
-inline void SwCSS1Parser::AddFirstLetterExt( String& rFmtName )
+inline void SwCSS1Parser::AddFirstLetterExt( OUString& rFmtName )
 {
-    rFmtName.AppendAscii( ".FL", 3 );   // first letter
+    rFmtName += ".FL";   // first letter
 }
 
 inline const SwPageDesc* SwCSS1Parser::GetFirstPageDesc( sal_Bool bCreate )
diff --git a/sw/source/filter/html/swhtml.cxx b/sw/source/filter/html/swhtml.cxx
index 76a2d17..5d63e08 100644
--- a/sw/source/filter/html/swhtml.cxx
+++ b/sw/source/filter/html/swhtml.cxx
@@ -3428,7 +3428,8 @@ void SwHTMLParser::InsertAttrs( _HTMLAttrs& rAttrs )
 
 void SwHTMLParser::NewStdAttr( int nToken )
 {
-    String aId, aStyle, aClass, aLang, aDir;
+    String aId, aStyle, aLang, aDir;
+    OUString aClass;
 
     const HTMLOptions& rHTMLOptions = GetOptions();
     for (size_t i = rHTMLOptions.size(); i; )
@@ -3465,7 +3466,7 @@ void SwHTMLParser::NewStdAttr( int nToken )
 
         if( ParseStyleOptions( aStyle, aId, aClass, aItemSet, aPropInfo, &aLang, &aDir ) )
         {
-            if( HTML_SPAN_ON != nToken || !aClass.Len() ||
+            if( HTML_SPAN_ON != nToken || aClass.isEmpty() ||
                 !CreateContainer( aClass, aItemSet, aPropInfo, pCntxt ) )
                 DoPositioning( aItemSet, aPropInfo, pCntxt );
             InsertAttrs( aItemSet, aPropInfo, pCntxt, sal_True );
@@ -4557,7 +4558,7 @@ void SwHTMLParser::SetTxtCollAttrs( _HTMLAttrContext *pContext )
     SwTxtFmtColl *pCollToSet = 0;   // die zu setzende Vorlage
     SfxItemSet *pItemSet = 0;       // der Set fuer harte Attrs
     sal_uInt16 nTopColl = pContext ? pContext->GetTxtFmtColl() : 0;
-    const String& rTopClass = pContext ? pContext->GetClass() : aEmptyStr;
+    const OUString& rTopClass = pContext ? pContext->GetClass() : aEmptyStr;
     sal_uInt16 nDfltColl = RES_POOLCOLL_TEXT;
 
     sal_Bool bInPRE=sal_False;                          // etwas Kontext Info
@@ -4778,7 +4779,8 @@ void SwHTMLParser::SetTxtCollAttrs( _HTMLAttrContext *pContext )
 
 void SwHTMLParser::NewCharFmt( int nToken )
 {
-    String aId, aStyle, aClass, aLang, aDir;
+    String aId, aStyle, aLang, aDir;
+    OUString aClass;
 
     const HTMLOptions& rHTMLOptions = GetOptions();
     for (size_t i = rHTMLOptions.size(); i; )
@@ -4820,7 +4822,7 @@ void SwHTMLParser::NewCharFmt( int nToken )
 
         if( ParseStyleOptions( aStyle, aId, aEmptyStr, aItemSet, aPropInfo, &aLang, &aDir ) )
         {
-            OSL_ENSURE( !aClass.Len() || !pCSS1Parser->GetClass( aClass ),
+            OSL_ENSURE( aClass.isEmpty() || !pCSS1Parser->GetClass( aClass ),
                     "Class wird nicht beruecksichtigt" );
             DoPositioning( aItemSet, aPropInfo, pCntxt );
             InsertAttrs( aItemSet, aPropInfo, pCntxt, sal_True );
diff --git a/sw/source/filter/html/swhtml.hxx b/sw/source/filter/html/swhtml.hxx
index 11193f7..7f59049 100644
--- a/sw/source/filter/html/swhtml.hxx
+++ b/sw/source/filter/html/swhtml.hxx
@@ -521,7 +521,7 @@ class SwHTMLParser : public SfxHTMLParser, public SwClient
     sal_Bool DoPositioning( SfxItemSet &rItemSet,
                         SvxCSS1PropertyInfo &rPropInfo,
                         _HTMLAttrContext *pContext );
-    sal_Bool CreateContainer( const String& rClass, SfxItemSet &rItemSet,
+    sal_Bool CreateContainer( const OUString& rClass, SfxItemSet &rItemSet,
                           SvxCSS1PropertyInfo &rPropInfo,
                           _HTMLAttrContext *pContext );
     sal_Bool EndSection( sal_Bool bLFStripped=sal_False );
@@ -849,7 +849,7 @@ private:
 
     void ParseMoreMetaOptions();
 
-    sal_Bool FileDownload( const String& rURL, String& rStr );
+    sal_Bool FileDownload( const String& rURL, OUString& rStr );
     void InsertLink();
 
     void InsertIDOption();


More information about the Libreoffice-commits mailing list