summaryrefslogtreecommitdiff
path: root/src/modules/filters/utf8transliterator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/filters/utf8transliterator.cpp')
-rw-r--r--src/modules/filters/utf8transliterator.cpp126
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 {