diff options
Diffstat (limited to 'vcl/unx/source/gdi/salcvt.cxx')
-rw-r--r-- | vcl/unx/source/gdi/salcvt.cxx | 186 |
1 files changed, 93 insertions, 93 deletions
diff --git a/vcl/unx/source/gdi/salcvt.cxx b/vcl/unx/source/gdi/salcvt.cxx index f757f3fc0ab3..ca8deb058b90 100644 --- a/vcl/unx/source/gdi/salcvt.cxx +++ b/vcl/unx/source/gdi/salcvt.cxx @@ -2,7 +2,7 @@ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * + * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite @@ -53,7 +53,7 @@ SalConverterCache::~SalConverterCache() #include <stdio.h> // <--- -rtl_UnicodeToTextConverter +rtl_UnicodeToTextConverter SalConverterCache::GetU2TConverter( rtl_TextEncoding nEncoding ) { if( rtl_isOctetTextEncoding( nEncoding ) ) @@ -61,7 +61,7 @@ SalConverterCache::GetU2TConverter( rtl_TextEncoding nEncoding ) ConverterT& rConverter( m_aConverters[ nEncoding ] ); if ( rConverter.mpU2T == NULL ) { - rConverter.mpU2T = + rConverter.mpU2T = rtl_createUnicodeToTextConverter( nEncoding ); // ---> FIXME if ( rConverter.mpU2T == NULL ) @@ -73,7 +73,7 @@ if ( rConverter.mpU2T == NULL ) return NULL; } -rtl_TextToUnicodeConverter +rtl_TextToUnicodeConverter SalConverterCache::GetT2UConverter( rtl_TextEncoding nEncoding ) { if( rtl_isOctetTextEncoding( nEncoding ) ) @@ -81,7 +81,7 @@ SalConverterCache::GetT2UConverter( rtl_TextEncoding nEncoding ) ConverterT& rConverter( m_aConverters[ nEncoding ] ); if ( rConverter.mpT2U == NULL ) { - rConverter.mpT2U = + rConverter.mpT2U = rtl_createTextToUnicodeConverter( nEncoding ); // ---> FIXME if ( rConverter.mpT2U == NULL ) @@ -107,15 +107,15 @@ SalConverterCache::IsSingleByteEncoding( rtl_TextEncoding nEncoding ) aTextEncInfo.StructSize = sizeof( aTextEncInfo ); rtl_getTextEncodingInfo( nEncoding, &aTextEncInfo ); - if ( aTextEncInfo.MinimumCharSize == aTextEncInfo.MaximumCharSize + if ( aTextEncInfo.MinimumCharSize == aTextEncInfo.MaximumCharSize && aTextEncInfo.MinimumCharSize == 1) rConverter.mbSingleByteEncoding = True; else rConverter.mbSingleByteEncoding = False; } - + return rConverter.mbSingleByteEncoding; - } + } return False; } @@ -123,7 +123,7 @@ SalConverterCache::IsSingleByteEncoding( rtl_TextEncoding nEncoding ) // code point nChar. This list has been compiled from the according // ttmap files in /usr/openwin/lib/X11/fonts/TrueType/ttmap/ Bool -SalConverterCache::EncodingHasChar( rtl_TextEncoding nEncoding, +SalConverterCache::EncodingHasChar( rtl_TextEncoding nEncoding, sal_Unicode nChar ) { Bool bMatch = False; @@ -141,120 +141,120 @@ SalConverterCache::EncodingHasChar( rtl_TextEncoding nEncoding, // handle them also like ms1252 // this is due to the fact that so many X fonts say they are iso8859-1 // but have the other glyphs anyway because they are really ms1252 - bMatch = ( /*nChar >= 0x0000 &&*/ nChar <= 0x00ff ) - || ( nChar == 0x20ac ) - || ( nChar == 0x201a ) - || ( nChar == 0x0192 ) - || ( nChar == 0x201e ) - || ( nChar == 0x2026 ) - || ( nChar == 0x2020 ) - || ( nChar == 0x2021 ) - || ( nChar == 0x02c6 ) - || ( nChar == 0x2030 ) - || ( nChar == 0x0160 ) - || ( nChar == 0x2039 ) - || ( nChar == 0x0152 ) - || ( nChar == 0x017d ) - || ( nChar == 0x2018 ) - || ( nChar == 0x2019 ) - || ( nChar == 0x201c ) - || ( nChar == 0x201d ) - || ( nChar == 0x2022 ) - || ( nChar == 0x2013 ) - || ( nChar == 0x2014 ) - || ( nChar == 0x02dc ) - || ( nChar == 0x2122 ) - || ( nChar == 0x0161 ) - || ( nChar == 0x203a ) - || ( nChar == 0x0153 ) - || ( nChar == 0x017e ) - || ( nChar == 0x0178 ) + bMatch = ( /*nChar >= 0x0000 &&*/ nChar <= 0x00ff ) + || ( nChar == 0x20ac ) + || ( nChar == 0x201a ) + || ( nChar == 0x0192 ) + || ( nChar == 0x201e ) + || ( nChar == 0x2026 ) + || ( nChar == 0x2020 ) + || ( nChar == 0x2021 ) + || ( nChar == 0x02c6 ) + || ( nChar == 0x2030 ) + || ( nChar == 0x0160 ) + || ( nChar == 0x2039 ) + || ( nChar == 0x0152 ) + || ( nChar == 0x017d ) + || ( nChar == 0x2018 ) + || ( nChar == 0x2019 ) + || ( nChar == 0x201c ) + || ( nChar == 0x201d ) + || ( nChar == 0x2022 ) + || ( nChar == 0x2013 ) + || ( nChar == 0x2014 ) + || ( nChar == 0x02dc ) + || ( nChar == 0x2122 ) + || ( nChar == 0x0161 ) + || ( nChar == 0x203a ) + || ( nChar == 0x0153 ) + || ( nChar == 0x017e ) + || ( nChar == 0x0178 ) ; break; case RTL_TEXTENCODING_ISO_8859_2: - bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) - || ( nChar >= 0x00a0 && nChar <= 0x017e ) - || ( nChar >= 0x02c7 && nChar <= 0x02dd ); + bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) + || ( nChar >= 0x00a0 && nChar <= 0x017e ) + || ( nChar >= 0x02c7 && nChar <= 0x02dd ); break; - + case RTL_TEXTENCODING_ISO_8859_4: - bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) - || ( nChar >= 0x00a0 && nChar <= 0x017e ) - || ( nChar >= 0x02c7 && nChar <= 0x02db ); + bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) + || ( nChar >= 0x00a0 && nChar <= 0x017e ) + || ( nChar >= 0x02c7 && nChar <= 0x02db ); break; case RTL_TEXTENCODING_ISO_8859_5: - bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) - || ( nChar >= 0x00a0 && nChar <= 0x00ad ) - || ( nChar >= 0x0401 && nChar <= 0x045f ) - || ( nChar == 0x2116 ); + bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) + || ( nChar >= 0x00a0 && nChar <= 0x00ad ) + || ( nChar >= 0x0401 && nChar <= 0x045f ) + || ( nChar == 0x2116 ); break; case RTL_TEXTENCODING_ISO_8859_6: - bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) - || ( nChar >= 0x0600 && nChar <= 0x06ff ) - || ( nChar >= 0xfb50 && nChar <= 0xfffe ); + bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) + || ( nChar >= 0x0600 && nChar <= 0x06ff ) + || ( nChar >= 0xfb50 && nChar <= 0xfffe ); break; case RTL_TEXTENCODING_ISO_8859_7: - bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) - || ( nChar >= 0x00a0 && nChar <= 0x00bd ) - || ( nChar == 0x02bd ) - || ( nChar >= 0x0384 && nChar <= 0x03ce ) - || ( nChar >= 0x2014 && nChar <= 0x2019 ); + bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) + || ( nChar >= 0x00a0 && nChar <= 0x00bd ) + || ( nChar == 0x02bd ) + || ( nChar >= 0x0384 && nChar <= 0x03ce ) + || ( nChar >= 0x2014 && nChar <= 0x2019 ); break; case RTL_TEXTENCODING_ISO_8859_8: - bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) - || ( nChar >= 0x00a0 && nChar <= 0x00f7 ) - || ( nChar >= 0x05d0 && nChar <= 0x05ea ) - || ( nChar == 0x2017 ); + bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) + || ( nChar >= 0x00a0 && nChar <= 0x00f7 ) + || ( nChar >= 0x05d0 && nChar <= 0x05ea ) + || ( nChar == 0x2017 ); break; case RTL_TEXTENCODING_ISO_8859_9: - bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) - || ( nChar >= 0x00a0 && nChar <= 0x015f ); + bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) + || ( nChar >= 0x00a0 && nChar <= 0x015f ); break; case RTL_TEXTENCODING_ISO_8859_13: - bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) - || ( nChar >= 0x00a0 && nChar <= 0x017e ) + bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) + || ( nChar >= 0x00a0 && nChar <= 0x017e ) || ( nChar >= 0x2019 && nChar <= 0x201e ); break; /* real case for RTL_TEXTENCODING_ISO_8859_15 case RTL_TEXTENCODING_ISO_8859_15: - bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) - || ( nChar >= 0x00a0 && nChar <= 0x00ff ) - || ( nChar >= 0x0152 && nChar <= 0x017e ) + bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) + || ( nChar >= 0x00a0 && nChar <= 0x00ff ) + || ( nChar >= 0x0152 && nChar <= 0x017e ) || ( nChar == 0x20ac ); break; */ case RTL_TEXTENCODING_JIS_X_0201: - bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) - || ( nChar >= 0xff61 && nChar <= 0xff9f ); + bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) + || ( nChar >= 0xff61 && nChar <= 0xff9f ); break; case RTL_TEXTENCODING_MS_1251: - bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) - || ( nChar >= 0x00a0 && nChar <= 0x00bb ) - || ( nChar >= 0x0401 && nChar <= 0x045f ) - || ( nChar >= 0x0490 && nChar <= 0x0491 ) - || ( nChar >= 0x2013 && nChar <= 0x203a ) - || ( nChar >= 0x2116 && nChar <= 0x2122 ); + bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) + || ( nChar >= 0x00a0 && nChar <= 0x00bb ) + || ( nChar >= 0x0401 && nChar <= 0x045f ) + || ( nChar >= 0x0490 && nChar <= 0x0491 ) + || ( nChar >= 0x2013 && nChar <= 0x203a ) + || ( nChar >= 0x2116 && nChar <= 0x2122 ); break; case RTL_TEXTENCODING_KOI8_R: - bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) - || ( nChar >= 0x00a0 && nChar <= 0x00b7 ) - || ( nChar == 0x00f7 ) - || ( nChar >= 0x0401 && nChar <= 0x0451 ) - || ( nChar >= 0x2219 && nChar <= 0x221a ) - || ( nChar >= 0x2248 && nChar <= 0x2265 ) - || ( nChar >= 0x2320 && nChar <= 0x2321 ) - || ( nChar >= 0x2500 && nChar <= 0x25a0 ); + bMatch = ( nChar >= 0x0020 && nChar <= 0x007e ) + || ( nChar >= 0x00a0 && nChar <= 0x00b7 ) + || ( nChar == 0x00f7 ) + || ( nChar >= 0x0401 && nChar <= 0x0451 ) + || ( nChar >= 0x2219 && nChar <= 0x221a ) + || ( nChar >= 0x2248 && nChar <= 0x2265 ) + || ( nChar >= 0x2320 && nChar <= 0x2321 ) + || ( nChar >= 0x2500 && nChar <= 0x25a0 ); break; case RTL_TEXTENCODING_UNICODE: @@ -268,7 +268,7 @@ SalConverterCache::EncodingHasChar( rtl_TextEncoding nEncoding, case RTL_TEXTENCODING_MS_1361: case RTL_TEXTENCODING_JIS_X_0208: - // XXX Big5 and Korean EUC contain Ascii chars, but Solaris + // XXX Big5 and Korean EUC contain Ascii chars, but Solaris // *-big5-1 and *-ksc5601.1992-3 fonts dont, in general CJK fonts // are monospaced, so dont trust them for latin chars if (nChar <= 0xFF) @@ -278,7 +278,7 @@ SalConverterCache::EncodingHasChar( rtl_TextEncoding nEncoding, } default: - // XXX really convert the unicode char into the encoding + // XXX really convert the unicode char into the encoding // and check for conversion errors, this is expensive ! rtl_UnicodeToTextConverter aConverter; rtl_UnicodeToTextContext aContext; @@ -296,27 +296,27 @@ SalConverterCache::EncodingHasChar( rtl_TextEncoding nEncoding, sal_Size nConvertedChars; sal_Size nSize; - nSize = rtl_convertUnicodeToText( aConverter, aContext, - &nChar, 1, pConversionBuffer, sizeof(pConversionBuffer), - RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR + nSize = rtl_convertUnicodeToText( aConverter, aContext, + &nChar, 1, pConversionBuffer, sizeof(pConversionBuffer), + RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR | RTL_UNICODETOTEXT_FLAGS_INVALID_ERROR, &nConversionInfo, &nConvertedChars ); rtl_destroyUnicodeToTextContext( aConverter, aContext ); bMatch = (nConvertedChars == 1) - && (nSize == 1 || nSize == 2) // XXX Fix me this is a hack + && (nSize == 1 || nSize == 2) // XXX Fix me this is a hack && ((nConversionInfo & RTL_UNICODETOTEXT_INFO_ERROR) == 0); break; } - return bMatch; + return bMatch; } // wrapper for rtl_convertUnicodeToText that handles the usual cases for // textconversion in drawtext and gettextwidth routines sal_Size -SalConverterCache::ConvertStringUTF16( const sal_Unicode *pText, int nTextLen, +SalConverterCache::ConvertStringUTF16( const sal_Unicode *pText, int nTextLen, sal_Char *pBuffer, sal_Size nBufferSize, rtl_TextEncoding nEncoding ) { rtl_UnicodeToTextConverter aConverter = GetU2TConverter(nEncoding); @@ -328,10 +328,10 @@ SalConverterCache::ConvertStringUTF16( const sal_Unicode *pText, int nTextLen, sal_uInt32 nCvtInfo; sal_Size nCvtChars; - rtl_UnicodeToTextContext aContext = + rtl_UnicodeToTextContext aContext = rtl_createUnicodeToTextContext( aConverter ); - sal_Size nSize = rtl_convertUnicodeToText( aConverter, aContext, + sal_Size nSize = rtl_convertUnicodeToText( aConverter, aContext, pText, nTextLen, pBuffer, nBufferSize, nCvtFlags, &nCvtInfo, &nCvtChars ); |