i18nutil/source/utility/scripttypedetector.cxx | 10 i18nutil/source/utility/unicode.cxx | 293 +------------------------ include/i18nutil/transliteration.hxx | 80 +++--- include/i18nutil/unicode.hxx | 6 include/unotools/charclass.hxx | 6 unotools/source/i18n/charclass.cxx | 16 - unotools/source/i18n/textsearch.cxx | 2 unotools/source/ucbhelper/ucbhelper.cxx | 2 unotools/source/ucbhelper/ucblockbytes.cxx | 12 - 9 files changed, 85 insertions(+), 342 deletions(-)
New commits: commit 3c56928c9245b87feb2c32dbd200ff108089db61 Author: Noel Grandin <noel.gran...@collabora.co.uk> Date: Thu Mar 30 14:10:14 2017 +0200 use actual UNO enums in unotools Change-Id: I71ee54a5eb70f1a322cc87cd940bc63ff95366b6 Reviewed-on: https://gerrit.libreoffice.org/35906 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/include/unotools/charclass.hxx b/include/unotools/charclass.hxx index 5c050ccba2a5..20f9857d0ac0 100644 --- a/include/unotools/charclass.hxx +++ b/include/unotools/charclass.hxx @@ -22,11 +22,13 @@ #include <unotools/unotoolsdllapi.h> #include <i18nlangtag/languagetag.hxx> +#include <com/sun/star/i18n/DirectionProperty.hpp> #include <com/sun/star/i18n/KCharacterType.hpp> #include <com/sun/star/i18n/KParseTokens.hpp> #include <com/sun/star/i18n/KParseType.hpp> #include <com/sun/star/i18n/ParseResult.hpp> #include <com/sun/star/i18n/XCharacterClassification.hpp> +#include <com/sun/star/i18n/UnicodeScript.hpp> #include <osl/mutex.hxx> #include <rtl/character.hxx> @@ -147,8 +149,8 @@ public: } sal_Int16 getType( const OUString& rStr, sal_Int32 nPos ) const; - sal_Int16 getCharacterDirection( const OUString& rStr, sal_Int32 nPos ) const; - sal_Int16 getScript( const OUString& rStr, sal_Int32 nPos ) const; + css::i18n::DirectionProperty getCharacterDirection( const OUString& rStr, sal_Int32 nPos ) const; + css::i18n::UnicodeScript getScript( const OUString& rStr, sal_Int32 nPos ) const; sal_Int32 getCharacterType( const OUString& rStr, sal_Int32 nPos ) const; sal_Int32 getStringType( const OUString& rStr, sal_Int32 nPos, sal_Int32 nCount ) const; diff --git a/unotools/source/i18n/charclass.cxx b/unotools/source/i18n/charclass.cxx index 47aeffa106f5..60e5227070a9 100644 --- a/unotools/source/i18n/charclass.cxx +++ b/unotools/source/i18n/charclass.cxx @@ -321,35 +321,35 @@ sal_Int16 CharClass::getType( const OUString& rStr, sal_Int32 nPos ) const } } -sal_Int16 CharClass::getCharacterDirection( const OUString& rStr, sal_Int32 nPos ) const +css::i18n::DirectionProperty CharClass::getCharacterDirection( const OUString& rStr, sal_Int32 nPos ) const { try { if ( xCC.is() ) - return xCC->getCharacterDirection( rStr, nPos ); + return (css::i18n::DirectionProperty)xCC->getCharacterDirection( rStr, nPos ); else - return 0; + return css::i18n::DirectionProperty_LEFT_TO_RIGHT; } catch ( const Exception& ) { SAL_WARN( "unotools.i18n", "getCharacterDirection: Exception caught!" ); - return 0; + return css::i18n::DirectionProperty_LEFT_TO_RIGHT; } } -sal_Int16 CharClass::getScript( const OUString& rStr, sal_Int32 nPos ) const +css::i18n::UnicodeScript CharClass::getScript( const OUString& rStr, sal_Int32 nPos ) const { try { if ( xCC.is() ) - return xCC->getScript( rStr, nPos ); + return (css::i18n::UnicodeScript) xCC->getScript( rStr, nPos ); else - return 0; + return UnicodeScript_kBasicLatin; } catch ( const Exception& ) { SAL_WARN( "unotools.i18n", "getScript: Exception caught!" ); - return 0; + return UnicodeScript_kBasicLatin; } } diff --git a/unotools/source/i18n/textsearch.cxx b/unotools/source/i18n/textsearch.cxx index 98dc9846083b..c548619e60e5 100644 --- a/unotools/source/i18n/textsearch.cxx +++ b/unotools/source/i18n/textsearch.cxx @@ -202,7 +202,7 @@ void TextSearch::Init( const SearchParam & rParam, { case SearchParam::SearchType::Wildcard: aSOpt.AlgorithmType2 = SearchAlgorithms2::WILDCARD; - aSOpt.algorithmType = SearchAlgorithms_MAKE_FIXED_SIZE; // no old enum for that + aSOpt.algorithmType = SearchAlgorithms::SearchAlgorithms_MAKE_FIXED_SIZE; // no old enum for that aSOpt.WildcardEscapeCharacter = rParam.GetWildEscChar(); if (rParam.IsWildMatchSel()) aSOpt.searchFlag |= SearchFlags::WILD_MATCH_SELECTION; diff --git a/unotools/source/ucbhelper/ucbhelper.cxx b/unotools/source/ucbhelper/ucbhelper.cxx index 37844f2b6dd3..f9eabf948e29 100644 --- a/unotools/source/ucbhelper/ucbhelper.cxx +++ b/unotools/source/ucbhelper/ucbhelper.cxx @@ -277,7 +277,7 @@ bool utl::UCBContentHelper::MakeFolder( "unotools.ucbhelper", "UCBContentHelper::MakeFolder(" << title << ") InteractiveIOException \"" << e.Message - << "\", code " << +e.Code); + << "\", code " << + (sal_Int32)e.Code); } } catch (css::ucb::NameClashException const &) { exists = true; diff --git a/unotools/source/ucbhelper/ucblockbytes.cxx b/unotools/source/ucbhelper/ucblockbytes.cxx index d6374482e625..1aa5abaca117 100644 --- a/unotools/source/ucbhelper/ucblockbytes.cxx +++ b/unotools/source/ucbhelper/ucblockbytes.cxx @@ -267,7 +267,7 @@ public: struct Result { ResultType type; Any result; - sal_Int32 ioErrorCode; + IOErrorCode ioErrorCode; }; Result getResult(const sal_uInt32 milliSec); @@ -315,7 +315,7 @@ private: ConditionRes m_aRes; ResultType m_aResultType; - sal_Int32 m_nIOErrorCode; + IOErrorCode m_nIOErrorCode; Any m_aResult; friend class ConditionRep; @@ -457,7 +457,7 @@ Moderator::Moderator( m_aRes(m_aMutex,*this), m_aResultType(ResultType::NORESULT), - m_nIOErrorCode(0), + m_nIOErrorCode(IOErrorCode_ABORT), m_aResult(), m_aRep(m_aMutex,*this), @@ -606,9 +606,9 @@ void SAL_CALL Moderator::run() { osl_setThreadName("utl::Moderator"); - ResultType aResultType; - Any aResult; - sal_Int32 nIOErrorCode = 0; + ResultType aResultType; + Any aResult; + IOErrorCode nIOErrorCode = IOErrorCode_ABORT; try { commit 97844a113fcaf7e2a0c52203e6792c71e2389f39 Author: Noel Grandin <noel.gran...@collabora.co.uk> Date: Thu Mar 30 12:43:12 2017 +0200 use actual UNO enums in i18nutil Change-Id: I959b26471fe69c4ee8ecb7e2fd57a53e24187112 Reviewed-on: https://gerrit.libreoffice.org/35905 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/i18nutil/source/utility/scripttypedetector.cxx b/i18nutil/source/utility/scripttypedetector.cxx index 83826e308c6e..884bc304cd01 100644 --- a/i18nutil/source/utility/scripttypedetector.cxx +++ b/i18nutil/source/utility/scripttypedetector.cxx @@ -84,11 +84,11 @@ sal_Int32 ScriptTypeDetector::endOfScriptDirection( const OUString& Text, sal_In sal_Int16 ScriptTypeDetector::getCTLScriptType( const OUString& Text, sal_Int32 nPos ) { static const ScriptTypeList typeList[] = { - { UnicodeScript_kHebrew, UnicodeScript_kHebrew, CTLScriptType::CTL_HEBREW }, // 10 - { UnicodeScript_kArabic, UnicodeScript_kArabic, CTLScriptType::CTL_ARABIC }, // 11 - { UnicodeScript_kDevanagari, UnicodeScript_kDevanagari, CTLScriptType::CTL_INDIC }, // 14 - { UnicodeScript_kThai, UnicodeScript_kThai, CTLScriptType::CTL_THAI }, // 24 - { UnicodeScript_kScriptCount, UnicodeScript_kScriptCount, CTLScriptType::CTL_UNKNOWN } // 88 + { UnicodeScript_kHebrew, UnicodeScript_kHebrew, CTLScriptType::CTL_HEBREW }, // 10 + { UnicodeScript_kArabic, UnicodeScript_kArabic, CTLScriptType::CTL_ARABIC }, // 11 + { UnicodeScript_kDevanagari, UnicodeScript_kDevanagari, CTLScriptType::CTL_INDIC }, // 14 + { UnicodeScript_kThai, UnicodeScript_kThai, CTLScriptType::CTL_THAI }, // 24 + { UnicodeScript_kScriptCount, UnicodeScript_kScriptCount, CTLScriptType::CTL_UNKNOWN } // 88 }; return unicode::getUnicodeScriptType(Text[nPos], typeList); diff --git a/i18nutil/source/utility/unicode.cxx b/i18nutil/source/utility/unicode.cxx index 53fb973ca400..b2dd1d7be08b 100644 --- a/i18nutil/source/utility/unicode.cxx +++ b/i18nutil/source/utility/unicode.cxx @@ -37,299 +37,40 @@ using namespace ::com::sun::star::i18n; -static const ScriptTypeList defaultTypeList[] = { - { UnicodeScript_kBasicLatin, - UnicodeScript_kBasicLatin, - UnicodeScript_kBasicLatin }, // 0, - { UnicodeScript_kLatin1Supplement, - UnicodeScript_kLatin1Supplement, - UnicodeScript_kLatin1Supplement },// 1, - { UnicodeScript_kLatinExtendedA, - UnicodeScript_kLatinExtendedA, - UnicodeScript_kLatinExtendedA }, // 2, - { UnicodeScript_kLatinExtendedB, - UnicodeScript_kLatinExtendedB, - UnicodeScript_kLatinExtendedB }, // 3, - { UnicodeScript_kIPAExtension, - UnicodeScript_kIPAExtension, - UnicodeScript_kIPAExtension }, // 4, - { UnicodeScript_kSpacingModifier, - UnicodeScript_kSpacingModifier, - UnicodeScript_kSpacingModifier }, // 5, - { UnicodeScript_kCombiningDiacritical, - UnicodeScript_kCombiningDiacritical, - UnicodeScript_kCombiningDiacritical }, // 6, - { UnicodeScript_kGreek, - UnicodeScript_kGreek, - UnicodeScript_kGreek }, // 7, - { UnicodeScript_kCyrillic, - UnicodeScript_kCyrillic, - UnicodeScript_kCyrillic }, // 8, - { UnicodeScript_kArmenian, - UnicodeScript_kArmenian, - UnicodeScript_kArmenian }, // 9, - { UnicodeScript_kHebrew, - UnicodeScript_kHebrew, - UnicodeScript_kHebrew }, // 10, - { UnicodeScript_kArabic, - UnicodeScript_kArabic, - UnicodeScript_kArabic }, // 11, - { UnicodeScript_kSyriac, - UnicodeScript_kSyriac, - UnicodeScript_kSyriac }, // 12, - { UnicodeScript_kThaana, - UnicodeScript_kThaana, - UnicodeScript_kThaana }, // 13, - { UnicodeScript_kDevanagari, - UnicodeScript_kDevanagari, - UnicodeScript_kDevanagari }, // 14, - { UnicodeScript_kBengali, - UnicodeScript_kBengali, - UnicodeScript_kBengali }, // 15, - { UnicodeScript_kGurmukhi, - UnicodeScript_kGurmukhi, - UnicodeScript_kGurmukhi }, // 16, - { UnicodeScript_kGujarati, - UnicodeScript_kGujarati, - UnicodeScript_kGujarati }, // 17, - { UnicodeScript_kOriya, - UnicodeScript_kOriya, - UnicodeScript_kOriya }, // 18, - { UnicodeScript_kTamil, - UnicodeScript_kTamil, - UnicodeScript_kTamil }, // 19, - { UnicodeScript_kTelugu, - UnicodeScript_kTelugu, - UnicodeScript_kTelugu }, // 20, - { UnicodeScript_kKannada, - UnicodeScript_kKannada, - UnicodeScript_kKannada }, // 21, - { UnicodeScript_kMalayalam, - UnicodeScript_kMalayalam, - UnicodeScript_kMalayalam }, // 22, - { UnicodeScript_kSinhala, - UnicodeScript_kSinhala, - UnicodeScript_kSinhala }, // 23, - { UnicodeScript_kThai, - UnicodeScript_kThai, - UnicodeScript_kThai }, // 24, - { UnicodeScript_kLao, - UnicodeScript_kLao, - UnicodeScript_kLao }, // 25, - { UnicodeScript_kTibetan, - UnicodeScript_kTibetan, - UnicodeScript_kTibetan }, // 26, - { UnicodeScript_kMyanmar, - UnicodeScript_kMyanmar, - UnicodeScript_kMyanmar }, // 27, - { UnicodeScript_kGeorgian, - UnicodeScript_kGeorgian, - UnicodeScript_kGeorgian }, // 28, - { UnicodeScript_kHangulJamo, - UnicodeScript_kHangulJamo, - UnicodeScript_kHangulJamo }, // 29, - { UnicodeScript_kEthiopic, - UnicodeScript_kEthiopic, - UnicodeScript_kEthiopic }, // 30, - { UnicodeScript_kCherokee, - UnicodeScript_kCherokee, - UnicodeScript_kCherokee }, // 31, - { UnicodeScript_kUnifiedCanadianAboriginalSyllabics, - UnicodeScript_kUnifiedCanadianAboriginalSyllabics, - UnicodeScript_kUnifiedCanadianAboriginalSyllabics }, // 32, - { UnicodeScript_kOgham, - UnicodeScript_kOgham, - UnicodeScript_kOgham }, // 33, - { UnicodeScript_kRunic, - UnicodeScript_kRunic, - UnicodeScript_kRunic }, // 34, - { UnicodeScript_kKhmer, - UnicodeScript_kKhmer, - UnicodeScript_kKhmer }, // 35, - { UnicodeScript_kMongolian, - UnicodeScript_kMongolian, - UnicodeScript_kMongolian }, // 36, - { UnicodeScript_kLatinExtendedAdditional, - UnicodeScript_kLatinExtendedAdditional, - UnicodeScript_kLatinExtendedAdditional }, // 37, - { UnicodeScript_kGreekExtended, - UnicodeScript_kGreekExtended, - UnicodeScript_kGreekExtended }, // 38, - { UnicodeScript_kGeneralPunctuation, - UnicodeScript_kGeneralPunctuation, - UnicodeScript_kGeneralPunctuation }, // 39, - { UnicodeScript_kSuperSubScript, - UnicodeScript_kSuperSubScript, - UnicodeScript_kSuperSubScript }, // 40, - { UnicodeScript_kCurrencySymbolScript, - UnicodeScript_kCurrencySymbolScript, - UnicodeScript_kCurrencySymbolScript }, // 41, - { UnicodeScript_kSymbolCombiningMark, - UnicodeScript_kSymbolCombiningMark, - UnicodeScript_kSymbolCombiningMark }, // 42, - { UnicodeScript_kLetterlikeSymbol, - UnicodeScript_kLetterlikeSymbol, - UnicodeScript_kLetterlikeSymbol }, // 43, - { UnicodeScript_kNumberForm, - UnicodeScript_kNumberForm, - UnicodeScript_kNumberForm }, // 44, - { UnicodeScript_kArrow, - UnicodeScript_kArrow, - UnicodeScript_kArrow }, // 45, - { UnicodeScript_kMathOperator, - UnicodeScript_kMathOperator, - UnicodeScript_kMathOperator }, // 46, - { UnicodeScript_kMiscTechnical, - UnicodeScript_kMiscTechnical, - UnicodeScript_kMiscTechnical }, // 47, - { UnicodeScript_kControlPicture, - UnicodeScript_kControlPicture, - UnicodeScript_kControlPicture }, // 48, - { UnicodeScript_kOpticalCharacter, - UnicodeScript_kOpticalCharacter, - UnicodeScript_kOpticalCharacter }, // 49, - { UnicodeScript_kEnclosedAlphanumeric, - UnicodeScript_kEnclosedAlphanumeric, - UnicodeScript_kEnclosedAlphanumeric }, // 50, - { UnicodeScript_kBoxDrawing, - UnicodeScript_kBoxDrawing, - UnicodeScript_kBoxDrawing }, // 51, - { UnicodeScript_kBlockElement, - UnicodeScript_kBlockElement, - UnicodeScript_kBlockElement }, // 52, - { UnicodeScript_kGeometricShape, - UnicodeScript_kGeometricShape, - UnicodeScript_kGeometricShape }, // 53, - { UnicodeScript_kMiscSymbol, - UnicodeScript_kMiscSymbol, - UnicodeScript_kMiscSymbol }, // 54, - { UnicodeScript_kDingbat, - UnicodeScript_kDingbat, - UnicodeScript_kDingbat }, // 55, - { UnicodeScript_kBraillePatterns, - UnicodeScript_kBraillePatterns, - UnicodeScript_kBraillePatterns }, // 56, - { UnicodeScript_kCJKRadicalsSupplement, - UnicodeScript_kCJKRadicalsSupplement, - UnicodeScript_kCJKRadicalsSupplement }, // 57, - { UnicodeScript_kKangxiRadicals, - UnicodeScript_kKangxiRadicals, - UnicodeScript_kKangxiRadicals }, // 58, - { UnicodeScript_kIdeographicDescriptionCharacters, - UnicodeScript_kIdeographicDescriptionCharacters, - UnicodeScript_kIdeographicDescriptionCharacters }, // 59, - { UnicodeScript_kCJKSymbolPunctuation, - UnicodeScript_kCJKSymbolPunctuation, - UnicodeScript_kCJKSymbolPunctuation }, // 60, - { UnicodeScript_kHiragana, - UnicodeScript_kHiragana, - UnicodeScript_kHiragana }, // 61, - { UnicodeScript_kKatakana, - UnicodeScript_kKatakana, - UnicodeScript_kKatakana }, // 62, - { UnicodeScript_kBopomofo, - UnicodeScript_kBopomofo, - UnicodeScript_kBopomofo }, // 63, - { UnicodeScript_kHangulCompatibilityJamo, - UnicodeScript_kHangulCompatibilityJamo, - UnicodeScript_kHangulCompatibilityJamo }, // 64, - { UnicodeScript_kKanbun, - UnicodeScript_kKanbun, - UnicodeScript_kKanbun }, // 65, - { UnicodeScript_kBopomofoExtended, - UnicodeScript_kBopomofoExtended, - UnicodeScript_kBopomofoExtended }, // 66, - { UnicodeScript_kEnclosedCJKLetterMonth, - UnicodeScript_kEnclosedCJKLetterMonth, - UnicodeScript_kEnclosedCJKLetterMonth }, // 67, - { UnicodeScript_kCJKCompatibility, - UnicodeScript_kCJKCompatibility, - UnicodeScript_kCJKCompatibility }, // 68, - { UnicodeScript_k_CJKUnifiedIdeographsExtensionA, - UnicodeScript_k_CJKUnifiedIdeographsExtensionA, - UnicodeScript_k_CJKUnifiedIdeographsExtensionA }, // 69, - { UnicodeScript_kCJKUnifiedIdeograph, - UnicodeScript_kCJKUnifiedIdeograph, - UnicodeScript_kCJKUnifiedIdeograph }, // 70, - { UnicodeScript_kYiSyllables, - UnicodeScript_kYiSyllables, - UnicodeScript_kYiSyllables }, // 71, - { UnicodeScript_kYiRadicals, - UnicodeScript_kYiRadicals, - UnicodeScript_kYiRadicals }, // 72, - { UnicodeScript_kHangulSyllable, - UnicodeScript_kHangulSyllable, - UnicodeScript_kHangulSyllable }, // 73, - { UnicodeScript_kHighSurrogate, - UnicodeScript_kHighSurrogate, - UnicodeScript_kHighSurrogate }, // 74, - { UnicodeScript_kHighPrivateUseSurrogate, - UnicodeScript_kHighPrivateUseSurrogate, - UnicodeScript_kHighPrivateUseSurrogate }, // 75, - { UnicodeScript_kLowSurrogate, - UnicodeScript_kLowSurrogate, - UnicodeScript_kLowSurrogate }, // 76, - { UnicodeScript_kPrivateUse, - UnicodeScript_kPrivateUse, - UnicodeScript_kPrivateUse }, // 77, - { UnicodeScript_kCJKCompatibilityIdeograph, - UnicodeScript_kCJKCompatibilityIdeograph, - UnicodeScript_kCJKCompatibilityIdeograph }, // 78, - { UnicodeScript_kAlphabeticPresentation, - UnicodeScript_kAlphabeticPresentation, - UnicodeScript_kAlphabeticPresentation }, // 79, - { UnicodeScript_kArabicPresentationA, - UnicodeScript_kArabicPresentationA, - UnicodeScript_kArabicPresentationA }, // 80, - { UnicodeScript_kCombiningHalfMark, - UnicodeScript_kCombiningHalfMark, - UnicodeScript_kCombiningHalfMark }, // 81, - { UnicodeScript_kCJKCompatibilityForm, - UnicodeScript_kCJKCompatibilityForm, - UnicodeScript_kCJKCompatibilityForm }, // 82, - { UnicodeScript_kSmallFormVariant, - UnicodeScript_kSmallFormVariant, - UnicodeScript_kSmallFormVariant }, // 83, - { UnicodeScript_kArabicPresentationB, - UnicodeScript_kArabicPresentationB, - UnicodeScript_kArabicPresentationB }, // 84, - { UnicodeScript_kNoScript, - UnicodeScript_kNoScript, - UnicodeScript_kNoScript }, // 85, - { UnicodeScript_kHalfwidthFullwidthForm, - UnicodeScript_kHalfwidthFullwidthForm, - UnicodeScript_kHalfwidthFullwidthForm }, // 86, - { UnicodeScript_kScriptCount, - UnicodeScript_kScriptCount, - UnicodeScript_kNoScript } // 87, +struct DefaultScriptTypeList { + com::sun::star::i18n::UnicodeScript from; + com::sun::star::i18n::UnicodeScript to; + com::sun::star::i18n::UnicodeScript value; }; -sal_Int16 SAL_CALL -unicode::getUnicodeScriptType( const sal_Unicode ch, const ScriptTypeList* typeList, sal_Int16 unknownType ) { - if (!typeList) { - typeList = defaultTypeList; - unknownType = UnicodeScript_kNoScript; - } +template<class L, typename T> +T getScriptType( const sal_Unicode ch, const L* typeList, T unknownType ) { - sal_Int16 i = 0, type = typeList[0].to; - while (type < UnicodeScript_kScriptCount && ch > UnicodeScriptType[type][UnicodeScriptTypeTo]) { + sal_Int16 i = 0; + css::i18n::UnicodeScript type = typeList[0].to; + while (type < UnicodeScript_kScriptCount && ch > UnicodeScriptType[(int)type][UnicodeScriptTypeTo]) { type = typeList[++i].to; } return (type < UnicodeScript_kScriptCount && - ch >= UnicodeScriptType[typeList[i].from][UnicodeScriptTypeFrom]) ? + ch >= UnicodeScriptType[static_cast<int>(typeList[i].from)][(int)UnicodeScriptTypeFrom]) ? typeList[i].value : unknownType; } +sal_Int16 SAL_CALL +unicode::getUnicodeScriptType( const sal_Unicode ch, const ScriptTypeList* typeList, sal_Int16 unknownType ) { + return getScriptType(ch, typeList, unknownType); +} + sal_Unicode SAL_CALL unicode::getUnicodeScriptStart( UnicodeScript type) { - return UnicodeScriptType[type][UnicodeScriptTypeFrom]; + return UnicodeScriptType[(int)type][UnicodeScriptTypeFrom]; } sal_Unicode SAL_CALL unicode::getUnicodeScriptEnd( UnicodeScript type) { - return UnicodeScriptType[type][UnicodeScriptTypeTo]; + return UnicodeScriptType[(int)type][UnicodeScriptTypeTo]; } sal_Int16 SAL_CALL diff --git a/include/i18nutil/transliteration.hxx b/include/i18nutil/transliteration.hxx index b8cafa68f14f..92709690ac27 100644 --- a/include/i18nutil/transliteration.hxx +++ b/include/i18nutil/transliteration.hxx @@ -31,96 +31,96 @@ enum class TransliterationFlags { NONE = 0, /// Transliterate a string from upper case to lower case - UPPERCASE_LOWERCASE = css::i18n::TransliterationModules_UPPERCASE_LOWERCASE, + UPPERCASE_LOWERCASE = (int)css::i18n::TransliterationModules_UPPERCASE_LOWERCASE, /// Transliterate a string from lower case to upper case - LOWERCASE_UPPERCASE = css::i18n::TransliterationModules_LOWERCASE_UPPERCASE, + LOWERCASE_UPPERCASE = (int)css::i18n::TransliterationModules_LOWERCASE_UPPERCASE, /// Transliterate a string from half width character to full width character - HALFWIDTH_FULLWIDTH = css::i18n::TransliterationModules_HALFWIDTH_FULLWIDTH, + HALFWIDTH_FULLWIDTH = (int)css::i18n::TransliterationModules_HALFWIDTH_FULLWIDTH, /// Transliterate a string from full width character to half width character - FULLWIDTH_HALFWIDTH = css::i18n::TransliterationModules_FULLWIDTH_HALFWIDTH, + FULLWIDTH_HALFWIDTH = (int)css::i18n::TransliterationModules_FULLWIDTH_HALFWIDTH, /// Transliterate a Japanese string from Katakana to Hiragana - KATAKANA_HIRAGANA = css::i18n::TransliterationModules_KATAKANA_HIRAGANA, + KATAKANA_HIRAGANA = (int)css::i18n::TransliterationModules_KATAKANA_HIRAGANA, /// Transliterate a Japanese string from Hiragana to Katakana - HIRAGANA_KATAKANA = css::i18n::TransliterationModules_HIRAGANA_KATAKANA, + HIRAGANA_KATAKANA = (int)css::i18n::TransliterationModules_HIRAGANA_KATAKANA, /// Transliterate an ASCII number string to Simplified Chinese lower case number string in spellout format - NumToTextLower_zh_CN = css::i18n::TransliterationModules_NumToTextLower_zh_CN, + NumToTextLower_zh_CN = (int)css::i18n::TransliterationModules_NumToTextLower_zh_CN, /// Transliterate an ASCII number string to Simplified Chinese upper case number string in spellout format - NumToTextUpper_zh_CN = css::i18n::TransliterationModules_NumToTextUpper_zh_CN, + NumToTextUpper_zh_CN = (int)css::i18n::TransliterationModules_NumToTextUpper_zh_CN, /// Transliterate an ASCII number string to Traditional Chinese lower case number string in spellout format - NumToTextLower_zh_TW = css::i18n::TransliterationModules_NumToTextLower_zh_TW, + NumToTextLower_zh_TW = (int)css::i18n::TransliterationModules_NumToTextLower_zh_TW, /// Transliterate an ASCII number string to Traditional Chinese upper case number string in spellout format - NumToTextUpper_zh_TW = css::i18n::TransliterationModules_NumToTextUpper_zh_TW, + NumToTextUpper_zh_TW = (int)css::i18n::TransliterationModules_NumToTextUpper_zh_TW, /// Transliterate an ASCII number string to formal Korean Hangul number string in spellout format - NumToTextFormalHangul_ko = css::i18n::TransliterationModules_NumToTextFormalHangul_ko, + NumToTextFormalHangul_ko = (int)css::i18n::TransliterationModules_NumToTextFormalHangul_ko, /// Transliterate an ASCII number string to formal Korean Hanja lower case number string in spellout format - NumToTextFormalLower_ko = css::i18n::TransliterationModules_NumToTextFormalLower_ko, + NumToTextFormalLower_ko = (int)css::i18n::TransliterationModules_NumToTextFormalLower_ko, /// Transliterate an ASCII number string to formal Korean Hanja upper case number string in spellout format - NumToTextFormalUpper_ko = css::i18n::TransliterationModules_NumToTextFormalUpper_ko, + NumToTextFormalUpper_ko = (int)css::i18n::TransliterationModules_NumToTextFormalUpper_ko, /** The first character of the sentence is put in upper case */ - SENTENCE_CASE = css::i18n::TransliterationModulesExtra::SENTENCE_CASE, + SENTENCE_CASE = (int)css::i18n::TransliterationModulesExtra::SENTENCE_CASE, /** The first character of the word is put in upper case. * This one is part */ - TITLE_CASE = css::i18n::TransliterationModulesExtra::TITLE_CASE, + TITLE_CASE = (int)css::i18n::TransliterationModulesExtra::TITLE_CASE, /** All characters of the word are to change their case from small letters * to capital letters and vice versa. */ - TOGGLE_CASE = css::i18n::TransliterationModulesExtra::TOGGLE_CASE, + TOGGLE_CASE = (int)css::i18n::TransliterationModulesExtra::TOGGLE_CASE, - NON_IGNORE_MASK = css::i18n::TransliterationModules_NON_IGNORE_MASK, + NON_IGNORE_MASK = (int)css::i18n::TransliterationModules_NON_IGNORE_MASK, IGNORE_MASK = 0x7fffff00, /// Ignore case when comparing strings by transliteration service - IGNORE_CASE = css::i18n::TransliterationModules_IGNORE_CASE, + IGNORE_CASE = (int)css::i18n::TransliterationModules_IGNORE_CASE, /// Ignore Hiragana and Katakana when comparing strings by transliteration service - IGNORE_KANA = css::i18n::TransliterationModules_IGNORE_KANA, // ja_JP + IGNORE_KANA = (int)css::i18n::TransliterationModules_IGNORE_KANA, // ja_JP /// Ignore full width and half width character when comparing strings by transliteration service - IGNORE_WIDTH = css::i18n::TransliterationModules_IGNORE_WIDTH, // ja_JP + IGNORE_WIDTH = (int)css::i18n::TransliterationModules_IGNORE_WIDTH, // ja_JP /// Ignore Japanese traditional Kanji character in Japanese fuzzy search - ignoreTraditionalKanji_ja_JP = css::i18n::TransliterationModules_ignoreTraditionalKanji_ja_JP, + ignoreTraditionalKanji_ja_JP = (int)css::i18n::TransliterationModules_ignoreTraditionalKanji_ja_JP, /// Ignore Japanese traditional Katakana and Hiragana character in Japanese fuzzy search - ignoreTraditionalKana_ja_JP = css::i18n::TransliterationModules_ignoreTraditionalKana_ja_JP, + ignoreTraditionalKana_ja_JP = (int)css::i18n::TransliterationModules_ignoreTraditionalKana_ja_JP, /// Ignore dash or minus sign in Japanese fuzzy search - ignoreMinusSign_ja_JP = css::i18n::TransliterationModules_ignoreMinusSign_ja_JP, + ignoreMinusSign_ja_JP = (int)css::i18n::TransliterationModules_ignoreMinusSign_ja_JP, /// Ignore Hiragana and Katakana iteration mark in Japanese fuzzy search - ignoreIterationMark_ja_JP = css::i18n::TransliterationModules_ignoreIterationMark_ja_JP, + ignoreIterationMark_ja_JP = (int)css::i18n::TransliterationModules_ignoreIterationMark_ja_JP, /// Ignore separator punctuations in Japanese fuzzy search - ignoreSeparator_ja_JP = css::i18n::TransliterationModules_ignoreSeparator_ja_JP, + ignoreSeparator_ja_JP = (int)css::i18n::TransliterationModules_ignoreSeparator_ja_JP, /// Ignore Katakana and Hiragana Zi/Zi and Zu/Zu in Japanese fuzzy search - ignoreZiZu_ja_JP = css::i18n::TransliterationModules_ignoreZiZu_ja_JP, + ignoreZiZu_ja_JP = (int)css::i18n::TransliterationModules_ignoreZiZu_ja_JP, /// Ignore Katakana and Hiragana Ba/Gua and Ha/Fa in Japanese fuzzy search - ignoreBaFa_ja_JP = css::i18n::TransliterationModules_ignoreBaFa_ja_JP, + ignoreBaFa_ja_JP = (int)css::i18n::TransliterationModules_ignoreBaFa_ja_JP, /// Ignore Katakana and Hiragana Tsui/Tea/Ti and Dyi/Ji in Japanese fuzzy search - ignoreTiJi_ja_JP = css::i18n::TransliterationModules_ignoreTiJi_ja_JP, + ignoreTiJi_ja_JP = (int)css::i18n::TransliterationModules_ignoreTiJi_ja_JP, /// Ignore Katakana and Hiragana Hyu/Fyu and Byu/Gyu in Japanese fuzzy search - ignoreHyuByu_ja_JP = css::i18n::TransliterationModules_ignoreHyuByu_ja_JP, + ignoreHyuByu_ja_JP = (int)css::i18n::TransliterationModules_ignoreHyuByu_ja_JP, /// Ignore Katakana and Hiragana Se/Sye and Ze/Je in Japanese fuzzy search - ignoreSeZe_ja_JP = css::i18n::TransliterationModules_ignoreSeZe_ja_JP, + ignoreSeZe_ja_JP = (int)css::i18n::TransliterationModules_ignoreSeZe_ja_JP, /// Ignore Katakana YA/A which follows the character in either I or E row in Japanese fuzzy search - ignoreIandEfollowedByYa_ja_JP = css::i18n::TransliterationModules_ignoreIandEfollowedByYa_ja_JP, + ignoreIandEfollowedByYa_ja_JP = (int)css::i18n::TransliterationModules_ignoreIandEfollowedByYa_ja_JP, /// Ignore Katakana KI/KU which follows the character in SA column in Japanese fuzzy search - ignoreKiKuFollowedBySa_ja_JP = css::i18n::TransliterationModules_ignoreKiKuFollowedBySa_ja_JP, + ignoreKiKuFollowedBySa_ja_JP = (int)css::i18n::TransliterationModules_ignoreKiKuFollowedBySa_ja_JP, /// Ignore Japanese normal and small sized character in Japanese fuzzy search - ignoreSize_ja_JP = css::i18n::TransliterationModules_ignoreSize_ja_JP, + ignoreSize_ja_JP = (int)css::i18n::TransliterationModules_ignoreSize_ja_JP, /// Ignore Japanese prolonged sound mark in Japanese fuzzy search - ignoreProlongedSoundMark_ja_JP = css::i18n::TransliterationModules_ignoreProlongedSoundMark_ja_JP, + ignoreProlongedSoundMark_ja_JP = (int)css::i18n::TransliterationModules_ignoreProlongedSoundMark_ja_JP, /// Ignore middle dot in Japanese fuzzy search - ignoreMiddleDot_ja_JP = css::i18n::TransliterationModules_ignoreMiddleDot_ja_JP, + ignoreMiddleDot_ja_JP = (int)css::i18n::TransliterationModules_ignoreMiddleDot_ja_JP, /// Ignore white space characters, include space, TAB, return, etc. in Japanese fuzzy search - ignoreSpace_ja_JP = css::i18n::TransliterationModules_ignoreSpace_ja_JP, + ignoreSpace_ja_JP = (int)css::i18n::TransliterationModules_ignoreSpace_ja_JP, /// transliterate Japanese small sized character to normal sized character - smallToLarge_ja_JP = css::i18n::TransliterationModules_smallToLarge_ja_JP, + smallToLarge_ja_JP = (int)css::i18n::TransliterationModules_smallToLarge_ja_JP, /// transliterate Japanese normal sized character to small sized character - largeToSmall_ja_JP = css::i18n::TransliterationModules_largeToSmall_ja_JP, + largeToSmall_ja_JP = (int)css::i18n::TransliterationModules_largeToSmall_ja_JP, - IGNORE_DIACRITICS_CTL = css::i18n::TransliterationModulesExtra::IGNORE_DIACRITICS_CTL, - IGNORE_KASHIDA_CTL = css::i18n::TransliterationModulesExtra::IGNORE_KASHIDA_CTL + IGNORE_DIACRITICS_CTL = (int)css::i18n::TransliterationModulesExtra::IGNORE_DIACRITICS_CTL, + IGNORE_KASHIDA_CTL = (int)css::i18n::TransliterationModulesExtra::IGNORE_KASHIDA_CTL }; namespace o3tl { template<> struct typed_flags<TransliterationFlags> : is_typed_flags<TransliterationFlags, 0x7fffffff> {}; diff --git a/include/i18nutil/unicode.hxx b/include/i18nutil/unicode.hxx index ec517161f4dd..3380c69ad4c7 100644 --- a/include/i18nutil/unicode.hxx +++ b/include/i18nutil/unicode.hxx @@ -28,8 +28,8 @@ class LanguageTag; struct ScriptTypeList { - sal_Int16 from; - sal_Int16 to; + css::i18n::UnicodeScript from; + css::i18n::UnicodeScript to; sal_Int16 value; }; @@ -38,7 +38,7 @@ class I18NUTIL_DLLPUBLIC unicode public: static sal_Int16 SAL_CALL getUnicodeType( const sal_Unicode ch ); - static sal_Int16 SAL_CALL getUnicodeScriptType( const sal_Unicode ch, const ScriptTypeList *typeList = nullptr, sal_Int16 unknownType = 0 ); + static sal_Int16 SAL_CALL getUnicodeScriptType( const sal_Unicode ch, const ScriptTypeList *typeList, sal_Int16 unknownType = 0 ); static sal_Unicode SAL_CALL getUnicodeScriptStart(css::i18n::UnicodeScript type); static sal_Unicode SAL_CALL getUnicodeScriptEnd(css::i18n::UnicodeScript type); static sal_uInt8 SAL_CALL getUnicodeDirection( const sal_Unicode ch ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits