diff options
Diffstat (limited to 'src/modules/filters/utf8transliterator.cpp')
-rw-r--r-- | src/modules/filters/utf8transliterator.cpp | 126 |
1 files changed, 69 insertions, 57 deletions
diff --git a/src/modules/filters/utf8transliterator.cpp b/src/modules/filters/utf8transliterator.cpp index d6aafe2..b5b1902 100644 --- a/src/modules/filters/utf8transliterator.cpp +++ b/src/modules/filters/utf8transliterator.cpp @@ -1,10 +1,11 @@ /****************************************************************************** * - * utf8transliterators - SWFilter descendant to transliterate between - * ICU-supported scripts. + * utf8transliterator.cpp - SWFilter descendant to transliterate between + * ICU-supported scripts * + * $Id: utf8transliterator.cpp 2908 2013-07-17 22:44:29Z chrislit $ * - * Copyright 2009 CrossWire Bible Society (http://www.crosswire.org) + * Copyright 2001-2013 CrossWire Bible Society (http://www.crosswire.org) * CrossWire Bible Society * P. O. Box 2528 * Tempe, AZ 85280-2528 @@ -41,54 +42,57 @@ SWORD_NAMESPACE_START const char UTF8Transliterator::optionstring[NUMTARGETSCRIPTS][16] = { "Off", "Latin", - // "IPA", - // "Basic Latin", - // "SBL", - // "TC", - // "Beta", - // "BGreek", - // "SERA", - // "Hugoye", - // "UNGEGN", - // "ISO", - // "ALA-LC", - // "BGN", - // "Greek", - // "Hebrew", - // "Cyrillic", - // "Arabic", - // "Syriac", - // "Katakana", - // "Hiragana", - // "Hangul", - // "Devanagari", - // "Tamil", - // "Bengali", - // "Gurmukhi", - // "Gujarati", - // "Oriya", - // "Telugu", - // "Kannada", - // "Malayalam", - // "Thai", - // "Georgian", - // "Armenian", - // "Ethiopic", - // "Gothic", - // "Ugaritic", - // "Coptic", - // "Linear B", - // "Cypriot", - // "Runic", - // "Ogham", - // "Thaana", - // "Glagolitic", - // "Cherokee", + /* + "IPA", + "Basic Latin", + "SBL", + "TC", + "Beta", + "BGreek", + "SERA", + "Hugoye", + "UNGEGN", + "ISO", + "ALA-LC", + "BGN", + "Greek", + "Hebrew", + "Cyrillic", + "Arabic", + "Syriac", + "Katakana", + "Hiragana", + "Hangul", + "Devanagari", + "Tamil", + "Bengali", + "Gurmukhi", + "Gujarati", + "Oriya", + "Telugu", + "Kannada", + "Malayalam", + "Thai", + "Georgian", + "Armenian", + "Ethiopic", + "Gothic", + "Ugaritic", + "Coptic", + "Linear B", + "Cypriot", + "Runic", + "Ogham", + "Thaana", + "Glagolitic", + "Cherokee", + */ }; const char UTF8Transliterator::optName[] = "Transliteration"; const char UTF8Transliterator::optTip[] = "Transliterates between scripts"; +#ifdef ICU_CUSTOM_RESOURCE_BUILDING SWTransMap UTF8Transliterator::transMap; #ifndef _ICUSWORD_ @@ -128,7 +132,7 @@ SWCharString::~SWCharString() { } #endif // _ICUSWORD_ - +#endif // ICU_CUSTOM_RESOURCE_BUILDING UTF8Transliterator::UTF8Transliterator() { option = 0; @@ -136,17 +140,19 @@ UTF8Transliterator::UTF8Transliterator() { for (i = 0; i < NUMTARGETSCRIPTS; i++) { options.push_back(optionstring[i]); } +#ifdef ICU_CUSTOM_RESOURCE_BUILDING #ifndef _ICUSWORD_ utf8status = U_ZERO_ERROR; Load(utf8status); #endif +#endif } UTF8Transliterator::~UTF8Transliterator() { } - +#ifdef ICU_CUSTOM_RESOURCE_BUILDING void UTF8Transliterator::Load(UErrorCode &status) { #ifndef _ICUSWORD_ @@ -299,23 +305,29 @@ bool UTF8Transliterator::checkTrans(const UnicodeString& ID, UErrorCode &status return true; #endif // _ICUSWORD_ } +#endif // ICU_CUSTOM_RESOURCE_BUILDING bool UTF8Transliterator::addTrans(const char* newTrans, SWBuf* transList) { +#ifdef ICU_CUSTOM_RESOURCE_BUILDING #ifdef _ICUSWORD_ - UErrorCode status; + UErrorCode status; if (checkTrans(UnicodeString(newTrans), status)) { #endif +#endif // ICU_CUSTOM_RESOURCE_BUILDING *transList += newTrans; - *transList += ";"; - return true; + *transList += ";"; + return true; +#ifdef ICU_CUSTOM_RESOURCE_BUILDING #ifdef _ICUSWORD_ - } - else { - return false; - } + } + else { + return false; + } #endif +#endif // ICU_CUSTOM_RESOURCE_BUILDING } + Transliterator * UTF8Transliterator::createTrans(const UnicodeString& ID, UTransDirection dir, UErrorCode &status ) { Transliterator *trans = Transliterator::createInstance(ID,UTRANS_FORWARD,status); @@ -450,7 +462,7 @@ char UTF8Transliterator::processText(SWBuf &text, const SWKey *key, const SWModu //Simple X to Latin transliterators if (scripts[SE_GREEK]) { - if (strnicmp (((SWModule*)module)->Lang(), "cop", 3)) { + if (strnicmp (((SWModule*)module)->getLanguage(), "cop", 3)) { if (option == SE_SBL) addTrans("Greek-Latin/SBL", &ID); else if (option == SE_TC) @@ -653,7 +665,7 @@ char UTF8Transliterator::processText(SWBuf &text, const SWKey *key, const SWModu } if (scripts[SE_HAN]) { - if (!strnicmp (((SWModule*)module)->Lang(), "ja", 2)) { + if (!strnicmp (((SWModule*)module)->getLanguage(), "ja", 2)) { addTrans("Kanji-Romaji", &ID); } else { |