summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2017-03-30 12:43:12 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2017-03-31 06:58:26 +0000
commit97844a113fcaf7e2a0c52203e6792c71e2389f39 (patch)
tree8e2404052912959edb41d08562eef3e3c8d1bdf7
parenta5a571307fb3306b74ab46b085cde6388270a770 (diff)
use actual UNO enums in i18nutil
Change-Id: I959b26471fe69c4ee8ecb7e2fd57a53e24187112 Reviewed-on: https://gerrit.libreoffice.org/35905 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--i18nutil/source/utility/scripttypedetector.cxx10
-rw-r--r--i18nutil/source/utility/unicode.cxx293
-rw-r--r--include/i18nutil/transliteration.hxx80
-rw-r--r--include/i18nutil/unicode.hxx6
4 files changed, 65 insertions, 324 deletions
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 );