This is an automated email from the ASF dual-hosted git repository.

mseidel pushed a commit to branch AOO42X
in repository https://gitbox.apache.org/repos/asf/openoffice.git


The following commit(s) were added to refs/heads/AOO42X by this push:
     new 5c2ce19888 Use UTF-8 encoding, cleanup
5c2ce19888 is described below

commit 5c2ce198886614a771bc84f41e1d3aeba803f9fa
Author: mseidel <msei...@apache.org>
AuthorDate: Sun Feb 16 22:56:35 2025 +0100

    Use UTF-8 encoding, cleanup
    
    (cherry picked from commit 29d7882dfd44bedddaf81c3b4e2999e0ea40948d)
---
 main/basic/source/comp/scanner.cxx | 220 ++++++++++++++++++-------------------
 main/basic/source/sbx/sbxscan.cxx  | 180 +++++++++++++++---------------
 2 files changed, 199 insertions(+), 201 deletions(-)

diff --git a/main/basic/source/comp/scanner.cxx 
b/main/basic/source/comp/scanner.cxx
index 39e73eac96..6e712bd367 100644
--- a/main/basic/source/comp/scanner.cxx
+++ b/main/basic/source/comp/scanner.cxx
@@ -1,5 +1,5 @@
 /**************************************************************
- * 
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -7,20 +7,18 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *   http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
- * 
+ *
  *************************************************************/
 
-
-
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_basic.hxx"
 
@@ -31,7 +29,7 @@
 #if defined UNX
 #include <stdlib.h>
 #else
-#include <math.h>   // atof()
+#include <math.h> // atof()
 #endif
 #include <rtl/math.hxx>
 #include <vcl/svapp.hxx>
@@ -53,15 +51,15 @@ SbiScanner::SbiScanner( const ::rtl::OUString& rBuf, 
StarBASIC* p ) : aBuf( rBuf
        nLine    = 0;
        nCol1    = 0;
        nCol2    = 0;
-       nCol     = 0;
+       nCol     = 0;
        bError   =
        bAbort   =
        bSpaces  =
        bNumber  =
        bSymbol  =
        bUsedForHilite =
-       bCompatible = 
-       bVBASupportOn = 
+       bCompatible =
+       bVBASupportOn =
        bPrevLineExtentsComment = sal_False;
        bHash    =
        bErrors  = sal_True;
@@ -84,11 +82,11 @@ void SbiScanner::UnlockColumn()
 
 void SbiScanner::GenError( SbError code )
 {
-    if( GetSbData()->bBlockCompilerError )
-    {
-        bAbort = sal_True;
-        return;
-    }
+       if( GetSbData()->bBlockCompilerError )
+       {
+               bAbort = sal_True;
+               return;
+       }
        if( !bError && bErrors )
        {
                sal_Bool bRes = sal_True;
@@ -97,7 +95,7 @@ void SbiScanner::GenError( SbError code )
                if( pBasic )
                {
                        // Falls EXPECTED oder UNEXPECTED kommen sollte, 
bezieht es sich
-                       // immer auf das letzte Token, also die Col1 uebernehmen
+                       // immer auf das letzte Token, also die Col1 übernehmen
                        sal_uInt16 nc = nColLock ? nSavedCol1 : nCol1;
                        switch( code )
                        {
@@ -118,7 +116,7 @@ void SbiScanner::GenError( SbError code )
                nErrors++;
 }
 
-// Falls sofort ein Doppelpunkt folgt, wird sal_True zurueckgeliefert.
+// Falls sofort ein Doppelpunkt folgt, wird sal_True zurückgeliefert.
 // Wird von SbiTokenizer::MayBeLabel() verwendet, um einen Label zu erkennen
 
 sal_Bool SbiScanner::DoesColonFollow()
@@ -144,7 +142,7 @@ static SbxDataType GetSuffixType( sal_Unicode c )
        return SbxVARIANT;
 }
 
-// Einlesen des naechsten Symbols in die Variablen aSym, nVal und eType
+// Einlesen des nächsten Symbols in die Variablen aSym, nVal und eType
 // Returnwert ist sal_False bei EOF oder Fehlern
 #define BUF_SIZE 80
 
@@ -153,14 +151,14 @@ namespace {
 /** Returns true, if the passed character is a white space character. */
 inline bool lclIsWhitespace( sal_Unicode cChar )
 {
-    return (cChar == ' ') || (cChar == '\t') || (cChar == '\f');
+       return (cChar == ' ') || (cChar == '\t') || (cChar == '\f');
 }
 
 } // namespace
 
 sal_Bool SbiScanner::NextSym()
 {
-       // Fuer den EOLN-Fall merken
+       // Für den EOLN-Fall merken
        sal_uInt16 nOldLine = nLine;
        sal_uInt16 nOldCol1 = nCol1;
        sal_uInt16 nOldCol2 = nCol2;
@@ -183,20 +181,20 @@ sal_Bool SbiScanner::NextSym()
                p2 += n;
                while( ( n < nLen ) && ( *p2 != '\n' ) && ( *p2 != '\r' ) )
                        p2++, n++;
-        // #163944# ignore trailing whitespace
-        sal_Int32 nCopyEndPos = n;
-        while( (nBufPos < nCopyEndPos) && lclIsWhitespace( aBuf[ nCopyEndPos - 
1 ] ) )
-            --nCopyEndPos;
+               // #163944# ignore trailing whitespace
+               sal_Int32 nCopyEndPos = n;
+               while( (nBufPos < nCopyEndPos) && lclIsWhitespace( aBuf[ 
nCopyEndPos - 1 ] ) )
+                       --nCopyEndPos;
                aLine = aBuf.copy( nBufPos, nCopyEndPos - nBufPos );
                if( n < nLen )
-        {
-                   if( *p2 == '\r' && *( p2+1 ) == '\n' )
-                           n += 2;
-                   else
-                           n++;
-        }
+               {
+                       if( *p2 == '\r' && *( p2+1 ) == '\n' )
+                               n += 2;
+                       else
+                               n++;
+               }
                nBufPos = n;
-        pLine = aLine.getStr();
+               pLine = aLine.getStr();
                nOldLine = ++nLine;
                nCol = nCol1 = nCol2 = nOldCol1 = nOldCol2 = 0;
                nColLock = 0;
@@ -223,7 +221,7 @@ sal_Bool SbiScanner::NextSym()
        }
 
        // Symbol? Dann Zeichen kopieren.
-    if( BasicSimpleCharClass::isAlpha( *pLine, bCompatible ) || *pLine == '_' )
+       if( BasicSimpleCharClass::isAlpha( *pLine, bCompatible ) || *pLine == 
'_' )
        {
                // Wenn nach '_' nichts kommt, ist es ein Zeilenabschluss!
                if(     *pLine == '_' && !*(pLine+1) )
@@ -314,8 +312,8 @@ sal_Bool SbiScanner::NextSym()
                                {
                                        pLine++; nCol++; continue;
                                }
-//              if( toupper( *pLine ) == 'D' )
-//                  eScanType = SbxDOUBLE;
+//                             if( toupper( *pLine ) == 'D' )
+//                                     eScanType = SbxDOUBLE;
                                *p++ = 'E'; pLine++; nCol++;
                                // Vorzeichen hinter Exponent?
                                if( *pLine == '+' )
@@ -339,7 +337,7 @@ sal_Bool SbiScanner::NextSym()
                        GenError( SbERR_BAD_CHAR_IN_NUMBER );   }
 
                // #57844 Lokalisierte Funktion benutzen
-           nVal = rtl_math_uStringToDouble( buf, buf+(p-buf), '.', ',', NULL, 
NULL );
+               nVal = rtl_math_uStringToDouble( buf, buf+(p-buf), '.', ',', 
NULL, NULL );
                // ALT: nVal = atof( buf );
 
                ndig = ndig - comma;
@@ -353,12 +351,12 @@ sal_Bool SbiScanner::NextSym()
                }
                if( bBufOverflow )
                        GenError( SbERR_MATH_OVERFLOW );
-               // zu viele Zahlen fuer SINGLE?
-//      if (ndig > 15 || ncdig > 6)
-//          eScanType = SbxDOUBLE;
-//      else
-//      if( nVal > SbxMAXSNG || nVal < SbxMINSNG )
-//          eScanType = SbxDOUBLE;
+               // zu viele Zahlen für SINGLE?
+//             if (ndig > 15 || ncdig > 6)
+//                     eScanType = SbxDOUBLE;
+//             else
+//             if( nVal > SbxMAXSNG || nVal < SbxMINSNG )
+//                     eScanType = SbxDOUBLE;
 
                // Typkennung?
                SbxDataType t = GetSuffixType( *pLine );
@@ -399,7 +397,7 @@ sal_Bool SbiScanner::NextSym()
                while( BasicSimpleCharClass::isAlphaNumeric( *pLine & 0xFF, 
bCompatible ) )
                {
                        sal_Unicode ch = sal::static_int_cast< sal_Unicode >(
-                toupper( *pLine & 0xFF ) );
+                               toupper( *pLine & 0xFF ) );
                        pLine++; nCol++;
                        // AB 4.1.1996: Buffer voll, leer weiter scannen
                        if( (p-buf) == (BUF_SIZE-1) )
@@ -448,7 +446,7 @@ sal_Bool SbiScanner::NextSym()
                                if( *pLine != cSep || cSep == ']' ) break;
                        } else aError = cSep, GenError( SbERR_EXPECTED );
                }
-               // If VBA Interop then doen't eat the [] chars  
+               // If VBA Interop then doesn't eat the [] chars
                if ( cSep == ']' && bVBASupportOn )
                        aSym = aLine.copy( n - 1, nCol - n  + 1);
                else
@@ -457,14 +455,14 @@ sal_Bool SbiScanner::NextSym()
                String s( cSep );
                s += cSep;
                sal_uInt16 nIdx = 0;
-               do 
+               do
                {
                        nIdx = aSym.Search( s, nIdx );
                        if( nIdx == STRING_NOTFOUND )
                                break;
                        aSym.Erase( nIdx, 1 );
                        nIdx++;
-               } 
+               }
                while( true );
                if( cSep != ']' )
                        eScanType = ( cSep == '#' ) ? SbxDATE : SbxSTRING;
@@ -510,15 +508,15 @@ PrevLineCommentLbl:
 eoln:
        if( nCol && *--pLine == '_' )
        {
-               pLine = NULL; 
+               pLine = NULL;
                bool bRes = NextSym();
                if( bVBASupportOn && aSym.GetBuffer()[0] == '.' )
                {
                        // object _
                        //    .Method
                        // ^^^  <- spaces is legal in MSO VBA
-                       OSL_TRACE("*** resetting bSpaces***"); 
-                       bSpaces = sal_False; 
+                       OSL_TRACE("*** resetting bSpaces***");
+                       bSpaces = sal_False;
                }
                return bRes;
        }
@@ -541,68 +539,68 @@ LetterTable::LetterTable( void )
        for( int i = 0 ; i < 256 ; ++i )
                IsLetterTab[i] = false;
 
-       IsLetterTab[0xC0] = true;       // � , CAPITAL LETTER A WITH GRAVE 
ACCENT
-       IsLetterTab[0xC1] = true;       // � , CAPITAL LETTER A WITH ACUTE 
ACCENT
-       IsLetterTab[0xC2] = true;       // � , CAPITAL LETTER A WITH CIRCUMFLEX 
ACCENT
-       IsLetterTab[0xC3] = true;       // � , CAPITAL LETTER A WITH TILDE
-       IsLetterTab[0xC4] = true;       // � , CAPITAL LETTER A WITH DIAERESIS
-       IsLetterTab[0xC5] = true;       // � , CAPITAL LETTER A WITH RING ABOVE
-       IsLetterTab[0xC6] = true;       // � , CAPITAL LIGATURE AE
-       IsLetterTab[0xC7] = true;       // � , CAPITAL LETTER C WITH CEDILLA
-       IsLetterTab[0xC8] = true;       // � , CAPITAL LETTER E WITH GRAVE 
ACCENT
-       IsLetterTab[0xC9] = true;       // � , CAPITAL LETTER E WITH ACUTE 
ACCENT
-       IsLetterTab[0xCA] = true;       // � , CAPITAL LETTER E WITH CIRCUMFLEX 
ACCENT
-       IsLetterTab[0xCB] = true;       // � , CAPITAL LETTER E WITH DIAERESIS
-       IsLetterTab[0xCC] = true;       // � , CAPITAL LETTER I WITH GRAVE 
ACCENT
-       IsLetterTab[0xCD] = true;       // � , CAPITAL LETTER I WITH ACUTE 
ACCENT
-       IsLetterTab[0xCE] = true;       // � , CAPITAL LETTER I WITH CIRCUMFLEX 
ACCENT
-       IsLetterTab[0xCF] = true;       // � , CAPITAL LETTER I WITH DIAERESIS
-       IsLetterTab[0xD0] = true;       // � , CAPITAL LETTER ETH
-       IsLetterTab[0xD1] = true;       // � , CAPITAL LETTER N WITH TILDE
-       IsLetterTab[0xD2] = true;       // � , CAPITAL LETTER O WITH GRAVE 
ACCENT
-       IsLetterTab[0xD3] = true;       // � , CAPITAL LETTER O WITH ACUTE 
ACCENT
-       IsLetterTab[0xD4] = true;       // � , CAPITAL LETTER O WITH CIRCUMFLEX 
ACCENT
-       IsLetterTab[0xD5] = true;       // � , CAPITAL LETTER O WITH TILDE
-       IsLetterTab[0xD6] = true;       // � , CAPITAL LETTER O WITH DIAERESIS
-       IsLetterTab[0xD8] = true;       // � , CAPITAL LETTER O WITH STROKE
-       IsLetterTab[0xD9] = true;       // � , CAPITAL LETTER U WITH GRAVE 
ACCENT
-       IsLetterTab[0xDA] = true;       // � , CAPITAL LETTER U WITH ACUTE 
ACCENT
-       IsLetterTab[0xDB] = true;       // � , CAPITAL LETTER U WITH CIRCUMFLEX 
ACCENT
-       IsLetterTab[0xDC] = true;       // � , CAPITAL LETTER U WITH DIAERESIS
-       IsLetterTab[0xDD] = true;       // � , CAPITAL LETTER Y WITH ACUTE 
ACCENT
-       IsLetterTab[0xDE] = true;       // � , CAPITAL LETTER THORN
-       IsLetterTab[0xDF] = true;       // � , SMALL LETTER SHARP S
-       IsLetterTab[0xE0] = true;       // � , SMALL LETTER A WITH GRAVE ACCENT
-       IsLetterTab[0xE1] = true;       // � , SMALL LETTER A WITH ACUTE ACCENT
-       IsLetterTab[0xE2] = true;       // � , SMALL LETTER A WITH CIRCUMFLEX 
ACCENT
-       IsLetterTab[0xE3] = true;       // � , SMALL LETTER A WITH TILDE
-       IsLetterTab[0xE4] = true;       // � , SMALL LETTER A WITH DIAERESIS
-       IsLetterTab[0xE5] = true;       // � , SMALL LETTER A WITH RING ABOVE
-       IsLetterTab[0xE6] = true;       // � , SMALL LIGATURE AE
-       IsLetterTab[0xE7] = true;       // � , SMALL LETTER C WITH CEDILLA
-       IsLetterTab[0xE8] = true;       // � , SMALL LETTER E WITH GRAVE ACCENT
-       IsLetterTab[0xE9] = true;       // � , SMALL LETTER E WITH ACUTE ACCENT
-       IsLetterTab[0xEA] = true;       // � , SMALL LETTER E WITH CIRCUMFLEX 
ACCENT
-       IsLetterTab[0xEB] = true;       // � , SMALL LETTER E WITH DIAERESIS
-       IsLetterTab[0xEC] = true;       // � , SMALL LETTER I WITH GRAVE ACCENT
-       IsLetterTab[0xED] = true;       // � , SMALL LETTER I WITH ACUTE ACCENT
-       IsLetterTab[0xEE] = true;       // � , SMALL LETTER I WITH CIRCUMFLEX 
ACCENT
-       IsLetterTab[0xEF] = true;       // � , SMALL LETTER I WITH DIAERESIS
-       IsLetterTab[0xF0] = true;       // � , SMALL LETTER ETH
-       IsLetterTab[0xF1] = true;       // � , SMALL LETTER N WITH TILDE
-       IsLetterTab[0xF2] = true;       // � , SMALL LETTER O WITH GRAVE ACCENT
-       IsLetterTab[0xF3] = true;       // � , SMALL LETTER O WITH ACUTE ACCENT
-       IsLetterTab[0xF4] = true;       // � , SMALL LETTER O WITH CIRCUMFLEX 
ACCENT
-       IsLetterTab[0xF5] = true;       // � , SMALL LETTER O WITH TILDE
-       IsLetterTab[0xF6] = true;       // � , SMALL LETTER O WITH DIAERESIS
-       IsLetterTab[0xF8] = true;       // � , SMALL LETTER O WITH OBLIQUE BAR
-       IsLetterTab[0xF9] = true;       // � , SMALL LETTER U WITH GRAVE ACCENT
-       IsLetterTab[0xFA] = true;       // � , SMALL LETTER U WITH ACUTE ACCENT
-       IsLetterTab[0xFB] = true;       // � , SMALL LETTER U WITH CIRCUMFLEX 
ACCENT
-       IsLetterTab[0xFC] = true;       // � , SMALL LETTER U WITH DIAERESIS
-       IsLetterTab[0xFD] = true;       // � , SMALL LETTER Y WITH ACUTE ACCENT
-       IsLetterTab[0xFE] = true;       // � , SMALL LETTER THORN
-       IsLetterTab[0xFF] = true;       // � , SMALL LETTER Y WITH DIAERESIS
+       IsLetterTab[0xC0] = true;       // À , CAPITAL LETTER A WITH GRAVE 
ACCENT
+       IsLetterTab[0xC1] = true;       // Á , CAPITAL LETTER A WITH ACUTE 
ACCENT
+       IsLetterTab[0xC2] = true;       // Â , CAPITAL LETTER A WITH CIRCUMFLEX 
ACCENT
+       IsLetterTab[0xC3] = true;       // Ã , CAPITAL LETTER A WITH TILDE
+       IsLetterTab[0xC4] = true;       // Ä , CAPITAL LETTER A WITH DIAERESIS
+       IsLetterTab[0xC5] = true;       // Å , CAPITAL LETTER A WITH RING ABOVE
+       IsLetterTab[0xC6] = true;       // Æ , CAPITAL LIGATURE AE
+       IsLetterTab[0xC7] = true;       // Ç , CAPITAL LETTER C WITH CEDILLA
+       IsLetterTab[0xC8] = true;       // È , CAPITAL LETTER E WITH GRAVE 
ACCENT
+       IsLetterTab[0xC9] = true;       // É , CAPITAL LETTER E WITH ACUTE 
ACCENT
+       IsLetterTab[0xCA] = true;       // Ê , CAPITAL LETTER E WITH CIRCUMFLEX 
ACCENT
+       IsLetterTab[0xCB] = true;       // Ë , CAPITAL LETTER E WITH DIAERESIS
+       IsLetterTab[0xCC] = true;       // Ì , CAPITAL LETTER I WITH GRAVE 
ACCENT
+       IsLetterTab[0xCD] = true;       // Í , CAPITAL LETTER I WITH ACUTE 
ACCENT
+       IsLetterTab[0xCE] = true;       // Î , CAPITAL LETTER I WITH CIRCUMFLEX 
ACCENT
+       IsLetterTab[0xCF] = true;       // Ï , CAPITAL LETTER I WITH DIAERESIS
+       IsLetterTab[0xD0] = true;       // Ð , CAPITAL LETTER ETH
+       IsLetterTab[0xD1] = true;       // Ñ , CAPITAL LETTER N WITH TILDE
+       IsLetterTab[0xD2] = true;       // Ò , CAPITAL LETTER O WITH GRAVE 
ACCENT
+       IsLetterTab[0xD3] = true;       // Ó , CAPITAL LETTER O WITH ACUTE 
ACCENT
+       IsLetterTab[0xD4] = true;       // Ô , CAPITAL LETTER O WITH CIRCUMFLEX 
ACCENT
+       IsLetterTab[0xD5] = true;       // Õ , CAPITAL LETTER O WITH TILDE
+       IsLetterTab[0xD6] = true;       // Ö , CAPITAL LETTER O WITH DIAERESIS
+       IsLetterTab[0xD8] = true;       // Ø , CAPITAL LETTER O WITH STROKE
+       IsLetterTab[0xD9] = true;       // Ù , CAPITAL LETTER U WITH GRAVE 
ACCENT
+       IsLetterTab[0xDA] = true;       // Ú , CAPITAL LETTER U WITH ACUTE 
ACCENT
+       IsLetterTab[0xDB] = true;       // Û , CAPITAL LETTER U WITH CIRCUMFLEX 
ACCENT
+       IsLetterTab[0xDC] = true;       // Ü , CAPITAL LETTER U WITH DIAERESIS
+       IsLetterTab[0xDD] = true;       // Ý , CAPITAL LETTER Y WITH ACUTE 
ACCENT
+       IsLetterTab[0xDE] = true;       // Þ , CAPITAL LETTER THORN
+       IsLetterTab[0xDF] = true;       // ß , SMALL LETTER SHARP S
+       IsLetterTab[0xE0] = true;       // à , SMALL LETTER A WITH GRAVE ACCENT
+       IsLetterTab[0xE1] = true;       // á , SMALL LETTER A WITH ACUTE ACCENT
+       IsLetterTab[0xE2] = true;       // â , SMALL LETTER A WITH CIRCUMFLEX 
ACCENT
+       IsLetterTab[0xE3] = true;       // ã , SMALL LETTER A WITH TILDE
+       IsLetterTab[0xE4] = true;       // ä , SMALL LETTER A WITH DIAERESIS
+       IsLetterTab[0xE5] = true;       // å , SMALL LETTER A WITH RING ABOVE
+       IsLetterTab[0xE6] = true;       // æ , SMALL LIGATURE AE
+       IsLetterTab[0xE7] = true;       // ç , SMALL LETTER C WITH CEDILLA
+       IsLetterTab[0xE8] = true;       // è , SMALL LETTER E WITH GRAVE ACCENT
+       IsLetterTab[0xE9] = true;       // é , SMALL LETTER E WITH ACUTE ACCENT
+       IsLetterTab[0xEA] = true;       // ê , SMALL LETTER E WITH CIRCUMFLEX 
ACCENT
+       IsLetterTab[0xEB] = true;       // ë , SMALL LETTER E WITH DIAERESIS
+       IsLetterTab[0xEC] = true;       // ì , SMALL LETTER I WITH GRAVE ACCENT
+       IsLetterTab[0xED] = true;       // í , SMALL LETTER I WITH ACUTE ACCENT
+       IsLetterTab[0xEE] = true;       // î , SMALL LETTER I WITH CIRCUMFLEX 
ACCENT
+       IsLetterTab[0xEF] = true;       // ï , SMALL LETTER I WITH DIAERESIS
+       IsLetterTab[0xF0] = true;       // ð , SMALL LETTER ETH
+       IsLetterTab[0xF1] = true;       // ñ , SMALL LETTER N WITH TILDE
+       IsLetterTab[0xF2] = true;       // ò , SMALL LETTER O WITH GRAVE ACCENT
+       IsLetterTab[0xF3] = true;       // ó , SMALL LETTER O WITH ACUTE ACCENT
+       IsLetterTab[0xF4] = true;       // ô , SMALL LETTER O WITH CIRCUMFLEX 
ACCENT
+       IsLetterTab[0xF5] = true;       // õ , SMALL LETTER O WITH TILDE
+       IsLetterTab[0xF6] = true;       // ö , SMALL LETTER O WITH DIAERESIS
+       IsLetterTab[0xF8] = true;       // ø , SMALL LETTER O WITH OBLIQUE BAR
+       IsLetterTab[0xF9] = true;       // ù , SMALL LETTER U WITH GRAVE ACCENT
+       IsLetterTab[0xFA] = true;       // ú , SMALL LETTER U WITH ACUTE ACCENT
+       IsLetterTab[0xFB] = true;       // û , SMALL LETTER U WITH CIRCUMFLEX 
ACCENT
+       IsLetterTab[0xFC] = true;       // ü , SMALL LETTER U WITH DIAERESIS
+       IsLetterTab[0xFD] = true;       // ý , SMALL LETTER Y WITH ACUTE ACCENT
+       IsLetterTab[0xFE] = true;       // þ , SMALL LETTER THORN
+       IsLetterTab[0xFF] = true;       // ÿ , SMALL LETTER Y WITH DIAERESIS
 }
 
 bool LetterTable::isLetterUnicode( sal_Unicode c )
@@ -614,3 +612,5 @@ bool LetterTable::isLetterUnicode( sal_Unicode c )
        bool bRet = pCharClass->isLetter( aStr, 0 );
        return bRet;
 }
+
+/* vim: set noet sw=4 ts=4: */
diff --git a/main/basic/source/sbx/sbxscan.cxx 
b/main/basic/source/sbx/sbxscan.cxx
index 170c35af87..97e5ff181c 100644
--- a/main/basic/source/sbx/sbxscan.cxx
+++ b/main/basic/source/sbx/sbxscan.cxx
@@ -1,5 +1,5 @@
 /**************************************************************
- * 
+ *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -7,20 +7,18 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *   http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.
- * 
+ *
  *************************************************************/
 
-
-
 // MARKER(update_precomp.py): autogen include statement, do not remove
 #include "precompiled_basic.hxx"
 #include <tools/errcode.hxx>
@@ -54,16 +52,16 @@
 
 void ImpGetIntntlSep( sal_Unicode& rcDecimalSep, sal_Unicode& rcThousandSep )
 {
-    SvtSysLocale aSysLocale;
-    const LocaleDataWrapper& rData = aSysLocale.GetLocaleData();
+       SvtSysLocale aSysLocale;
+       const LocaleDataWrapper& rData = aSysLocale.GetLocaleData();
        rcDecimalSep = rData.getNumDecimalSep().GetBuffer()[0];
        rcThousandSep = rData.getNumThousandSep().GetBuffer()[0];
 }
 
 // Scannen eines Strings nach BASIC-Konventionen
-// Dies entspricht den ueblichen Konventionen, nur dass der Exponent
+// Dies entspricht den üblichen Konventionen, nur dass der Exponent
 // auch ein D sein darf, was den Datentyp auf SbxDOUBLE festlegt.
-// Die Routine versucht, den Datentyp so klein wie moeglich zu gestalten.
+// Die Routine versucht, den Datentyp so klein wie möglich zu gestalten.
 // Das ganze gibt auch noch einen Konversionsfehler, wenn der Datentyp
 // Fixed ist und das ganze nicht hineinpasst!
 
@@ -76,20 +74,20 @@ SbxError ImpScan( const ::rtl::OUString& rWSrc, double& 
nVal, SbxDataType& rType
        char cIntntlComma, cIntntl1000;
        char cNonIntntlComma = '.';
 
-    sal_Unicode cDecimalSep, cThousandSep = 0;
+       sal_Unicode cDecimalSep, cThousandSep = 0;
        if( bAllowIntntl || bOnlyIntntl )
        {
-        ImpGetIntntlSep( cDecimalSep, cThousandSep );
+               ImpGetIntntlSep( cDecimalSep, cThousandSep );
                cIntntlComma = (char)cDecimalSep;
-        cIntntl1000 = (char)cThousandSep;
+               cIntntl1000 = (char)cThousandSep;
        }
        // Sonst einfach auch auf . setzen
        else
        {
                cIntntlComma = cNonIntntlComma;
-               cIntntl1000 = cNonIntntlComma;  // Unschaedlich machen
+               cIntntl1000 = cNonIntntlComma;  // Unschädlich machen
        }
-       // Nur International -> IntnlComma uebernehmen
+       // Nur International -> IntnlComma übernehmen
        if( bOnlyIntntl )
        {
                cNonIntntlComma = cIntntlComma;
@@ -125,7 +123,7 @@ SbxError ImpScan( const ::rtl::OUString& rWSrc, double& 
nVal, SbxDataType& rType
                const char* pSearchStr = aSearchStr.GetBuffer();
                while( strchr( pSearchStr, *p ) && *p )
                {
-                       // 1000er-Trenner ueberlesen
+                       // 1000er-Trenner überlesen
                        if( bOnlyIntntl && *p == cIntntl1000 )
                        {
                                p++;
@@ -135,7 +133,7 @@ SbxError ImpScan( const ::rtl::OUString& rWSrc, double& 
nVal, SbxDataType& rType
                        // Komma oder Exponent?
                        if( *p == cNonIntntlComma || *p == cIntntlComma )
                        {
-                               // Immer '.' einfuegen, damit atof funktioniert
+                               // Immer '.' einfügen, damit atof funktioniert
                                p++;
                                if( ++comma > 1 )
                                        continue;
@@ -180,7 +178,7 @@ SbxError ImpScan( const ::rtl::OUString& rWSrc, double& 
nVal, SbxDataType& rType
 
                nVal = atof( buf );
                ndig = ndig - comma;
-               // zu viele Zahlen fuer SINGLE?
+               // zu viele Zahlen für SINGLE?
                if( ndig > 15 || ncdig > 6 )
                        eScanType = SbxDOUBLE;
 
@@ -240,7 +238,7 @@ SbxError ImpScan( const ::rtl::OUString& rWSrc, double& 
nVal, SbxDataType& rType
        return SbxERR_OK;
 }
 
-// Schnittstelle fuer CDbl im Basic
+// Schnittstelle für CDbl im Basic
 SbxError SbxValue::ScanNumIntnl( const String& rSrc, double& nVal, sal_Bool 
bSingle )
 {
        SbxDataType t;
@@ -289,10 +287,10 @@ static void myftoa( double nNum, char * pBuf, short 
nPrec, short nExpWidth,
        register int i, digit;
 
        // Komma besorgen
-    sal_Unicode cDecimalSep, cThousandSep;
-    ImpGetIntntlSep( cDecimalSep, cThousandSep );
-    if( cForceThousandSep )
-        cThousandSep = cForceThousandSep;
+       sal_Unicode cDecimalSep, cThousandSep;
+       ImpGetIntntlSep( cDecimalSep, cThousandSep );
+       if( cForceThousandSep )
+               cThousandSep = cForceThousandSep;
 
        // Exponentberechnung:
        nExp = 0;
@@ -392,10 +390,10 @@ void ImpCvtNum( double nNum, short nPrec, 
::rtl::OUString& rRes, sal_Bool bCoreS
        char *q;
        char cBuf[ 40 ], *p = cBuf;
 
-    sal_Unicode cDecimalSep, cThousandSep;
-    ImpGetIntntlSep( cDecimalSep, cThousandSep );
-    if( bCoreString )
-        cDecimalSep = '.';
+       sal_Unicode cDecimalSep, cThousandSep;
+       ImpGetIntntlSep( cDecimalSep, cThousandSep );
+       if( bCoreString )
+               cDecimalSep = '.';
 
        if( nNum < 0.0 ) {
                nNum = -nNum;
@@ -403,7 +401,7 @@ void ImpCvtNum( double nNum, short nPrec, ::rtl::OUString& 
rRes, sal_Bool bCoreS
        }
        double dMaxNumWithoutExp = (nPrec == 6) ? 1E6 : 1E14;
        myftoa( nNum, p, nPrec,( nNum &&( nNum < 1E-1 || nNum >= 
dMaxNumWithoutExp ) ) ? 4:0,
-        sal_False, sal_True, cDecimalSep );
+               sal_False, sal_True, cDecimalSep );
        // Trailing Zeroes weg:
        for( p = cBuf; *p &&( *p != 'E' ); p++ ) {}
        q = p; p--;
@@ -420,14 +418,14 @@ void ImpCvtNum( double nNum, short nPrec, 
::rtl::OUString& rRes, sal_Bool bCoreS
 
 sal_Bool ImpConvStringExt( ::rtl::OUString& rSrc, SbxDataType eTargetType )
 {
-       // Merken, ob ueberhaupt was geaendert wurde
+       // Merken, ob überhaupt was geändert wurde
        sal_Bool bChanged = sal_False;
        ::rtl::OUString aNewString;
 
-       // Nur Spezial-F�lle behandeln, als Default tun wir nichts
+       // Nur Spezial-Fälle behandeln, als Default tun wir nichts
        switch( eTargetType )
        {
-               // Bei Fliesskomma International beruecksichtigen
+               // Bei Fliesskomma International berücksichtigen
                case SbxSINGLE:
                case SbxDOUBLE:
                case SbxCURRENCY:
@@ -435,8 +433,8 @@ sal_Bool ImpConvStringExt( ::rtl::OUString& rSrc, 
SbxDataType eTargetType )
                        ::rtl::OString aBStr( ::rtl::OUStringToOString( rSrc, 
RTL_TEXTENCODING_ASCII_US ) );
 
                        // Komma besorgen
-            sal_Unicode cDecimalSep, cThousandSep;
-            ImpGetIntntlSep( cDecimalSep, cThousandSep );
+                       sal_Unicode cDecimalSep, cThousandSep;
+                       ImpGetIntntlSep( cDecimalSep, cThousandSep );
                        aNewString = rSrc;
 
                        // Ersetzen, wenn DecimalSep kein '.' (nur den ersten)
@@ -445,7 +443,7 @@ sal_Bool ImpConvStringExt( ::rtl::OUString& rSrc, 
SbxDataType eTargetType )
                                sal_Int32 nPos = aNewString.indexOf( 
cDecimalSep );
                                if( nPos != -1 )
                                {
-                    sal_Unicode* pStr = (sal_Unicode*)aNewString.getStr();
+                                       sal_Unicode* pStr = 
(sal_Unicode*)aNewString.getStr();
                                        pStr[nPos] = (sal_Unicode)'.';
                                        bChanged = sal_True;
                                }
@@ -453,7 +451,7 @@ sal_Bool ImpConvStringExt( ::rtl::OUString& rSrc, 
SbxDataType eTargetType )
                        break;
                }
 
-               // Bei sal_Bool sal_True und sal_False als String pruefen
+               // Bei sal_Bool sal_True und sal_False als String prüfen
                case SbxBOOL:
                {
                        if( rSrc.equalsIgnoreAsciiCaseAscii( "true" ) )
@@ -471,7 +469,7 @@ sal_Bool ImpConvStringExt( ::rtl::OUString& rSrc, 
SbxDataType eTargetType )
                }
                default: break;
        }
-       // String bei Aenderung uebernehmen
+       // String bei Änderung übernehmen
        if( bChanged )
                rSrc = aNewString;
        return bChanged;
@@ -480,7 +478,7 @@ sal_Bool ImpConvStringExt( ::rtl::OUString& rSrc, 
SbxDataType eTargetType )
 
 // Formatierte Zahlenausgabe
 // Der Returnwert ist die Anzahl Zeichen, die aus dem
-// Format verwendt wurden.
+// Format verwendet wurden.
 
 #ifdef _old_format_code_
 // lasse diesen Code vorl"aufig drin, zum 'abgucken'
@@ -557,7 +555,7 @@ static sal_uInt16 printfmtnum( double nNum, XubString& 
rRes, const XubString& rW
        myftoa( nNum, p, nPrec, nExpDig, bPoint, sal_False );
        nLen = strlen( cBuf );
 
-       // Ueberlauf?
+       // Überlauf?
        if( cPre ) nLen++;
        if( nLen > nWidth ) rRes += '%';
        else {
@@ -652,38 +650,38 @@ public:
 
 enum VbaFormatType
 {
-    VBA_FORMAT_TYPE_OFFSET, // standard number format
-    VBA_FORMAT_TYPE_USERDEFINED, // user defined number format
-    VBA_FORMAT_TYPE_NULL
+       VBA_FORMAT_TYPE_OFFSET, // standard number format
+       VBA_FORMAT_TYPE_USERDEFINED, // user defined number format
+       VBA_FORMAT_TYPE_NULL
 };
 
 struct VbaFormatInfo
 {
-    VbaFormatType meType; 
-    const char* mpVbaFormat; // Format string in vba
-    NfIndexTableOffset meOffset; // SvNumberFormatter format index, if meType 
= VBA_FORMAT_TYPE_OFFSET
-    const char* mpOOoFormat; // if meType = VBA_FORMAT_TYPE_USERDEFINED
+       VbaFormatType meType;
+       const char* mpVbaFormat; // Format string in vba
+       NfIndexTableOffset meOffset; // SvNumberFormatter format index, if 
meType = VBA_FORMAT_TYPE_OFFSET
+       const char* mpOOoFormat; // if meType = VBA_FORMAT_TYPE_USERDEFINED
 };
 
 #define VBA_FORMAT_OFFSET( pcUtf8, eOffset ) \
-    { VBA_FORMAT_TYPE_OFFSET, pcUtf8, eOffset, 0 }
+       { VBA_FORMAT_TYPE_OFFSET, pcUtf8, eOffset, 0 }
 
 #define VBA_FORMAT_USERDEFINED( pcUtf8, pcDefinedUtf8 ) \
-    { VBA_FORMAT_TYPE_USERDEFINED, pcUtf8, NF_NUMBER_STANDARD, pcDefinedUtf8 }
+       { VBA_FORMAT_TYPE_USERDEFINED, pcUtf8, NF_NUMBER_STANDARD, 
pcDefinedUtf8 }
 
-static VbaFormatInfo pFormatInfoTable[] = 
+static VbaFormatInfo pFormatInfoTable[] =
 {
-    VBA_FORMAT_OFFSET( "Long Date", NF_DATE_SYSTEM_LONG ),
-    VBA_FORMAT_USERDEFINED( "Medium Date", "DD-MMM-YY" ),
-    VBA_FORMAT_OFFSET( "Short Date", NF_DATE_SYSTEM_SHORT ),
-    VBA_FORMAT_USERDEFINED( "Long Time", "H:MM:SS AM/PM" ), 
-    VBA_FORMAT_OFFSET( "Medium Time", NF_TIME_HHMMAMPM ),
-    VBA_FORMAT_OFFSET( "Short Time", NF_TIME_HHMM ),
-    VBA_FORMAT_OFFSET( "ddddd", NF_DATE_SYSTEM_SHORT ),
-    VBA_FORMAT_OFFSET( "dddddd", NF_DATE_SYSTEM_LONG ),
-    VBA_FORMAT_USERDEFINED( "ttttt", "H:MM:SS AM/PM" ),
-    VBA_FORMAT_OFFSET( "ww", NF_DATE_WW ),
-    { VBA_FORMAT_TYPE_NULL, 0, NF_INDEX_TABLE_ENTRIES, 0 }
+       VBA_FORMAT_OFFSET( "Long Date", NF_DATE_SYSTEM_LONG ),
+       VBA_FORMAT_USERDEFINED( "Medium Date", "DD-MMM-YY" ),
+       VBA_FORMAT_OFFSET( "Short Date", NF_DATE_SYSTEM_SHORT ),
+       VBA_FORMAT_USERDEFINED( "Long Time", "H:MM:SS AM/PM" ),
+       VBA_FORMAT_OFFSET( "Medium Time", NF_TIME_HHMMAMPM ),
+       VBA_FORMAT_OFFSET( "Short Time", NF_TIME_HHMM ),
+       VBA_FORMAT_OFFSET( "ddddd", NF_DATE_SYSTEM_SHORT ),
+       VBA_FORMAT_OFFSET( "dddddd", NF_DATE_SYSTEM_LONG ),
+       VBA_FORMAT_USERDEFINED( "ttttt", "H:MM:SS AM/PM" ),
+       VBA_FORMAT_OFFSET( "ww", NF_DATE_WW ),
+       { VBA_FORMAT_TYPE_NULL, 0, NF_INDEX_TABLE_ENTRIES, 0 }
 };
 
 VbaFormatInfo* getFormatInfo( const String& rFmt )
@@ -694,7 +692,7 @@ VbaFormatInfo* getFormatInfo( const String& rFmt )
     {
         if( rFmt.EqualsIgnoreCaseAscii( pInfo->mpVbaFormat ) )
             break;
-        i++;    
+        i++;
     }
     return pInfo;
 }
@@ -721,30 +719,30 @@ void SbxValue::Format( XubString& rRes, const XubString* 
pFmt ) const
        double d = 0;
 
        // pflin, It is better to use SvNumberFormatter to handle the 
date/time/number format.
-       // the SvNumberFormatter output is mostly compatible with 
-       // VBA output besides the OOo-basic output
+       // the SvNumberFormatter output is mostly compatible with
+       // VBA output besides the AOO-BASIC output
        if( pFmt && !SbxBasicFormater::isBasicFormat( *pFmt ) )
        {
                String aStr = GetString();
 
-        SvtSysLocale aSysLocale;
-        const CharClass& rCharClass = aSysLocale.GetCharClass();
+               SvtSysLocale aSysLocale;
+               const CharClass& rCharClass = aSysLocale.GetCharClass();
 
                if( pFmt->EqualsIgnoreCaseAscii( VBAFORMAT_LOWERCASE ) )
                {
-            rCharClass.toLower( aStr );
-            rRes = aStr;
+                       rCharClass.toLower( aStr );
+                       rRes = aStr;
                        return;
                }
                if( pFmt->EqualsIgnoreCaseAscii( VBAFORMAT_UPPERCASE ) )
                {
-            rCharClass.toUpper( aStr );
-            rRes = aStr;
+                       rCharClass.toUpper( aStr );
+                       rRes = aStr;
                        return;
                }
 
                LanguageType eLangType = GetpApp()->GetSettings().GetLanguage();
-               com::sun::star::uno::Reference< 
com::sun::star::lang::XMultiServiceFactory > 
+               com::sun::star::uno::Reference< 
com::sun::star::lang::XMultiServiceFactory >
                        xFactory = comphelper::getProcessServiceFactory();
                SvNumberFormatter aFormatter( xFactory, eLangType );
 
@@ -756,7 +754,7 @@ void SbxValue::Format( XubString& rRes, const XubString* 
pFmt ) const
 
            sal_Bool bSuccess = aFormatter.IsNumberFormat( aStr, nIndex, 
nNumber );
 
-       // number format, use SvNumberFormatter to handle it. 
+       // number format, use SvNumberFormatter to handle it.
            if( bSuccess )
        {
                        String aFmtStr = *pFmt;
@@ -775,14 +773,14 @@ void SbxValue::Format( XubString& rRes, const XubString* 
pFmt ) const
                    aFormatter.GetOutputString( nNumber, nIndex, rRes, &pCol );
                }
            else if( aFmtStr.EqualsIgnoreCaseAscii( VBAFORMAT_GENERALDATE )
-                       || aFmtStr.EqualsIgnoreCaseAscii( VBAFORMAT_C )) 
+                       || aFmtStr.EqualsIgnoreCaseAscii( VBAFORMAT_C ))
                {
                if( nNumber <=-1.0 || nNumber >= 1.0 )
                    {
-                   // short date 
+                   // short date
                    nIndex = aFormatter.GetFormatIndex( NF_DATE_SYSTEM_SHORT, 
eLangType );
                                aFormatter.GetOutputString( nNumber, nIndex, 
rRes, &pCol );
-                
+
                        // long time
                    if( floor( nNumber ) != nNumber )
                        {
@@ -803,7 +801,7 @@ void SbxValue::Format( XubString& rRes, const XubString* 
pFmt ) const
                    }
            }
                else if( aFmtStr.EqualsIgnoreCaseAscii( VBAFORMAT_N )
-                   || aFmtStr.EqualsIgnoreCaseAscii( VBAFORMAT_NN )) 
+                   || aFmtStr.EqualsIgnoreCaseAscii( VBAFORMAT_NN ))
                {
                sal_Int32 nMin = implGetMinute( nNumber );
                    if( nMin < 10 && aFmtStr.EqualsIgnoreCaseAscii( 
VBAFORMAT_NN ) )
@@ -835,10 +833,10 @@ void SbxValue::Format( XubString& rRes, const XubString* 
pFmt ) const
                {
                    aFormatter.PutandConvertEntry( aFmtStr, nCheckPos, nType, 
nIndex, LANGUAGE_ENGLISH, eLangType );
                        aFormatter.GetOutputString( nNumber, nIndex, rRes, 
&pCol );
-               }
+                       }
 
                        return;
-           }
+               }
        }
 
        SbxDataType eType = GetType();
@@ -863,14 +861,14 @@ void SbxValue::Format( XubString& rRes, const XubString* 
pFmt ) const
                        if( eType != SbxNULL )
                                d = GetDouble();
 
-                       // #45355 weiterer Einsprungpunkt fuer isnumeric-String
+                       // #45355 weiterer Einsprungpunkt für isnumeric-String
                cvt2:
                        if( pFmt )
                        {
                                // hole die 'statischen' Daten f"ur Sbx
                                SbxAppData* pData = GetSbxData_Impl();
 
-                LanguageType eLangType = 
GetpApp()->GetSettings().GetLanguage();
+                               LanguageType eLangType = 
GetpApp()->GetSettings().GetLanguage();
                                if( pData->pBasicFormater )
                 {
                     if( pData->eBasicFormaterLangType != eLangType )
@@ -885,15 +883,15 @@ void SbxValue::Format( XubString& rRes, const XubString* 
pFmt ) const
                                // existiert, so erzeuge dieses
                                if( !pData->pBasicFormater )
                                {
-                    SvtSysLocale aSysLocale;
-                    const LocaleDataWrapper& rData = 
aSysLocale.GetLocaleData();
+                                       SvtSysLocale aSysLocale;
+                                       const LocaleDataWrapper& rData = 
aSysLocale.GetLocaleData();
                                        sal_Unicode cComma = 
rData.getNumDecimalSep().GetBuffer()[0];
                                        sal_Unicode c1000  = 
rData.getNumThousandSep().GetBuffer()[0];
                                        String aCurrencyStrg = 
rData.getCurrSymbol();
- 
+
                                        // Initialisierung des 
Basic-Formater-Hilfsobjekts:
-                                       // hole die Resourcen f"ur die 
vordefinierten Ausgaben
-                                       // des Format()-Befehls, z.B. f"ur 
"On/Off".
+                                       // hole die Ressourcen für die 
vordefinierten Ausgaben
+                                       // des Format()-Befehls, z.B. für 
"On/Off".
                                        String aOnStrg = String( 
SbxValueFormatResId(
                                                STR_BASICKEY_FORMAT_ON ) );
                                        String aOffStrg = String( 
SbxValueFormatResId(
@@ -914,10 +912,10 @@ void SbxValue::Format( XubString& rRes, const XubString* 
pFmt ) const
                                                                        
aYesStrg,aNoStrg,aTrueStrg,aFalseStrg,
                                                                        
aCurrencyStrg,aCurrencyFormatStrg );
                                }
-                               // Bem.: Aus Performance-Gr"unden wird nur EIN 
BasicFormater-
+                               // Bem.: Aus Performance-Gründen wird nur EIN 
BasicFormater-
                                //    Objekt erzeugt und 'gespeichert', dadurch 
erspart man
-                               //        sich das teure Resourcen-Laden (f"ur 
landesspezifische
-                               //    vordefinierte Ausgaben, z.B. "On/Off") 
und die st"andige
+                               //        sich das teure Ressourcen-Laden (für 
landesspezifische
+                               //    vordefinierte Ausgaben, z.B. "On/Off") 
und die ständige
                                //    String-Erzeugungs Operationen.
                                // ABER: dadurch ist dieser Code NICHT 
multithreading f"ahig !
 
@@ -937,11 +935,11 @@ void SbxValue::Format( XubString& rRes, const XubString* 
pFmt ) const
                                //old: printfmtnum( GetDouble(), rRes, *pFmt );
                        }
                        else
-            {
-                ::rtl::OUString aTmpString( rRes );
+                       {
+                               ::rtl::OUString aTmpString( rRes );
                                ImpCvtNum( GetDouble(), nComma, aTmpString );
-                rRes = aTmpString;
-            }
+                               rRes = aTmpString;
+                       }
                        break;
                case SbxSTRING:
                        if( pFmt )
@@ -966,4 +964,4 @@ void SbxValue::Format( XubString& rRes, const XubString* 
pFmt ) const
        }
 }
 
-
+/* vim: set noet sw=4 ts=4: */


Reply via email to