diff options
author | Karl Hong <khong@openoffice.org> | 2002-05-30 05:59:29 +0000 |
---|---|---|
committer | Karl Hong <khong@openoffice.org> | 2002-05-30 05:59:29 +0000 |
commit | cb9cf006bcfd3c6ed3d94ace1c2dd11d800d34c5 (patch) | |
tree | b274834d76403136f6503897e0b343519b096d99 /i18npool | |
parent | 33f5991d80ce898fe8e0e420dfc39328f8e3317c (diff) |
#99499#added new transliteration for Native number formatter
Diffstat (limited to 'i18npool')
-rw-r--r-- | i18npool/inc/chartonum.hxx | 1 | ||||
-rw-r--r-- | i18npool/inc/numtochar.hxx | 5 | ||||
-rw-r--r-- | i18npool/inc/numtotext_cjk.hxx | 8 | ||||
-rw-r--r-- | i18npool/source/registerservices/registerservices.cxx | 12 | ||||
-rw-r--r-- | i18npool/source/transliteration/chartonum.cxx | 1 | ||||
-rw-r--r-- | i18npool/source/transliteration/data/numberchar.h | 24 | ||||
-rw-r--r-- | i18npool/source/transliteration/numtochar.cxx | 5 | ||||
-rw-r--r-- | i18npool/source/transliteration/numtotext_cjk.cxx | 85 |
8 files changed, 101 insertions, 40 deletions
diff --git a/i18npool/inc/chartonum.hxx b/i18npool/inc/chartonum.hxx index b407cfaf0a3b..69e528c06813 100644 --- a/i18npool/inc/chartonum.hxx +++ b/i18npool/inc/chartonum.hxx @@ -77,6 +77,7 @@ TRANSLITERATION_CHARTONUM(Upper_ko) TRANSLITERATION_CHARTONUM(Hangul_ko) TRANSLITERATION_CHARTONUM(Lower_ko) TRANSLITERATION_CHARTONUM(KanjiShort_ja_JP) +TRANSLITERATION_CHARTONUM(KanjiTraditional_ja_JP) TRANSLITERATION_CHARTONUM(Fullwidth) TRANSLITERATION_CHARTONUM(Indic_ar) TRANSLITERATION_CHARTONUM(EastIndic_ar) diff --git a/i18npool/inc/numtochar.hxx b/i18npool/inc/numtochar.hxx index 678b4243474d..b87a494e2c0d 100644 --- a/i18npool/inc/numtochar.hxx +++ b/i18npool/inc/numtochar.hxx @@ -2,9 +2,9 @@ * * $RCSfile: numtochar.hxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: bustamam $ $Date: 2002-04-04 22:32:36 $ + * last change: $Author: khong $ $Date: 2002-05-30 06:59:29 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -91,6 +91,7 @@ TRANSLITERATION_NUMTOCHAR(Upper_ko) TRANSLITERATION_NUMTOCHAR(Hangul_ko) TRANSLITERATION_NUMTOCHAR(Lower_ko) TRANSLITERATION_NUMTOCHAR(KanjiShort_ja_JP) +TRANSLITERATION_NUMTOCHAR(KanjiTraditional_ja_JP) TRANSLITERATION_NUMTOCHAR(Fullwidth) TRANSLITERATION_NUMTOCHAR(Indic_ar) TRANSLITERATION_NUMTOCHAR(EastIndic_ar) diff --git a/i18npool/inc/numtotext_cjk.hxx b/i18npool/inc/numtotext_cjk.hxx index 0db214ccecd4..98ef614a2928 100644 --- a/i18npool/inc/numtotext_cjk.hxx +++ b/i18npool/inc/numtotext_cjk.hxx @@ -2,9 +2,9 @@ * * $RCSfile: numtotext_cjk.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: khong $ $Date: 2002-03-30 09:23:22 $ + * last change: $Author: khong $ $Date: 2002-05-30 06:59:29 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -77,6 +77,8 @@ protected: sal_Int16 numberFlag; sal_Int16 bulletCount; sal_Int16 number; + sal_Int16 exponentCount; + sal_Int16 *multiplierExponent; private: sal_Bool SAL_CALL numberMaker(const sal_Unicode *str, sal_Int32 begin, sal_Int32 len, @@ -104,6 +106,8 @@ TRANSLITERATION_NUMTOTEXT_CJK ( FormalUpper_ko ) TRANSLITERATION_NUMTOTEXT_CJK ( FormalHangul_ko ) TRANSLITERATION_NUMTOTEXT_CJK ( KanjiLongModern_ja_JP ) TRANSLITERATION_NUMTOTEXT_CJK ( KanjiLongTraditional_ja_JP ) +TRANSLITERATION_NUMTOTEXT_CJK ( KanjiShortModern_ja_JP ) +TRANSLITERATION_NUMTOTEXT_CJK ( KanjiShortTraditional_ja_JP ) TRANSLITERATION_NUMTOTEXT_CJK ( AIUFullWidth_ja_JP ) TRANSLITERATION_NUMTOTEXT_CJK ( AIUHalfWidth_ja_JP ) TRANSLITERATION_NUMTOTEXT_CJK ( IROHAFullWidth_ja_JP ) diff --git a/i18npool/source/registerservices/registerservices.cxx b/i18npool/source/registerservices/registerservices.cxx index 8224494ebbb6..a1914778756d 100644 --- a/i18npool/source/registerservices/registerservices.cxx +++ b/i18npool/source/registerservices/registerservices.cxx @@ -2,9 +2,9 @@ * * $RCSfile: registerservices.cxx,v $ * - * $Revision: 1.15 $ + * $Revision: 1.16 $ * - * last change: $Author: khong $ $Date: 2002-05-24 22:38:19 $ + * last change: $Author: khong $ $Date: 2002-05-30 06:57:59 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -268,6 +268,7 @@ IMPL_CREATEINSTANCE( NumToCharLower_zh_TW ) IMPL_CREATEINSTANCE( NumToCharUpper_zh_TW ) IMPL_CREATEINSTANCE( NumToCharFullwidth ) IMPL_CREATEINSTANCE( NumToCharKanjiShort_ja_JP ) +IMPL_CREATEINSTANCE( NumToCharKanjiTraditional_ja_JP ) IMPL_CREATEINSTANCE( NumToCharHangul_ko ) IMPL_CREATEINSTANCE( NumToCharLower_ko ) IMPL_CREATEINSTANCE( NumToCharUpper_ko ) @@ -283,6 +284,7 @@ IMPL_CREATEINSTANCE( CharToNumLower_zh_TW ) IMPL_CREATEINSTANCE( CharToNumUpper_zh_TW ) IMPL_CREATEINSTANCE( CharToNumFullwidth ) IMPL_CREATEINSTANCE( CharToNumKanjiShort_ja_JP ) +IMPL_CREATEINSTANCE( CharToNumKanjiTraditional_ja_JP ) IMPL_CREATEINSTANCE( CharToNumHangul_ko ) IMPL_CREATEINSTANCE( CharToNumLower_ko ) IMPL_CREATEINSTANCE( CharToNumUpper_ko ) @@ -297,6 +299,8 @@ IMPL_CREATEINSTANCE( NumToTextLower_zh_TW ) IMPL_CREATEINSTANCE( NumToTextUpper_zh_TW ) IMPL_CREATEINSTANCE( NumToTextKanjiLongModern_ja_JP ) IMPL_CREATEINSTANCE( NumToTextKanjiLongTraditional_ja_JP ) +IMPL_CREATEINSTANCE( NumToTextKanjiShortModern_ja_JP ) +IMPL_CREATEINSTANCE( NumToTextKanjiShortTraditional_ja_JP ) IMPL_CREATEINSTANCE( NumToTextFormalHangul_ko ) IMPL_CREATEINSTANCE( NumToTextFormalLower_ko ) IMPL_CREATEINSTANCE( NumToTextFormalUpper_ko ) @@ -565,6 +569,7 @@ static const struct InstancesArray { IMPL_TRANSLITERATION_ITEM (NumToCharLower_zh_TW), IMPL_TRANSLITERATION_ITEM (NumToCharFullwidth), IMPL_TRANSLITERATION_ITEM (NumToCharKanjiShort_ja_JP), + IMPL_TRANSLITERATION_ITEM (NumToCharKanjiTraditional_ja_JP), IMPL_TRANSLITERATION_ITEM (NumToCharLower_ko), IMPL_TRANSLITERATION_ITEM (NumToCharUpper_ko), IMPL_TRANSLITERATION_ITEM (NumToCharHangul_ko), @@ -580,6 +585,7 @@ static const struct InstancesArray { IMPL_TRANSLITERATION_ITEM (CharToNumLower_zh_TW), IMPL_TRANSLITERATION_ITEM (CharToNumFullwidth), IMPL_TRANSLITERATION_ITEM (CharToNumKanjiShort_ja_JP), + IMPL_TRANSLITERATION_ITEM (CharToNumKanjiTraditional_ja_JP), IMPL_TRANSLITERATION_ITEM (CharToNumLower_ko), IMPL_TRANSLITERATION_ITEM (CharToNumUpper_ko), IMPL_TRANSLITERATION_ITEM (CharToNumHangul_ko), @@ -594,6 +600,8 @@ static const struct InstancesArray { IMPL_TRANSLITERATION_ITEM (NumToTextLower_zh_TW), IMPL_TRANSLITERATION_ITEM (NumToTextKanjiLongModern_ja_JP), IMPL_TRANSLITERATION_ITEM (NumToTextKanjiLongTraditional_ja_JP), + IMPL_TRANSLITERATION_ITEM (NumToTextKanjiShortModern_ja_JP), + IMPL_TRANSLITERATION_ITEM (NumToTextKanjiShortTraditional_ja_JP), IMPL_TRANSLITERATION_ITEM (NumToTextInformalHangul_ko), IMPL_TRANSLITERATION_ITEM (NumToTextInformalLower_ko), IMPL_TRANSLITERATION_ITEM (NumToTextInformalUpper_ko), diff --git a/i18npool/source/transliteration/chartonum.cxx b/i18npool/source/transliteration/chartonum.cxx index ea96c1423018..1bc635c8904a 100644 --- a/i18npool/source/transliteration/chartonum.cxx +++ b/i18npool/source/transliteration/chartonum.cxx @@ -113,6 +113,7 @@ TRANSLITERATION_CHARTONUM( Lower_zh_TW, Lower_zh) TRANSLITERATION_CHARTONUM( Upper_zh_CN, Upper_zh) TRANSLITERATION_CHARTONUM( Upper_zh_TW, Upper_zh_TW) TRANSLITERATION_CHARTONUM( KanjiShort_ja_JP, Modern_ja) +TRANSLITERATION_CHARTONUM( KanjiTraditional_ja_JP, Traditional_ja) TRANSLITERATION_CHARTONUM( Lower_ko, Lower_ko) TRANSLITERATION_CHARTONUM( Upper_ko, Upper_ko) TRANSLITERATION_CHARTONUM( Hangul_ko, Hangul_ko) diff --git a/i18npool/source/transliteration/data/numberchar.h b/i18npool/source/transliteration/data/numberchar.h index a87ad29fa4c7..e204f19d95d5 100644 --- a/i18npool/source/transliteration/data/numberchar.h +++ b/i18npool/source/transliteration/data/numberchar.h @@ -2,9 +2,9 @@ * * $RCSfile: numberchar.h,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: khong $ $Date: 2002-05-03 20:40:35 $ + * last change: $Author: khong $ $Date: 2002-05-30 06:56:31 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -119,8 +119,6 @@ static sal_Unicode MinusChar[] = { #define isDecimal(n) ( n == NUMBER_DECIMAL ) #define isMinus(n) ( n == NUMBER_MINUS ) -const sal_Int16 ExponentCount_CJK = 6; - const sal_Int16 Multiplier_Lower_zh = 0; const sal_Int16 Multiplier_Upper_zh = 1; const sal_Int16 Multiplier_Lower_zh_TW = 2; @@ -130,6 +128,8 @@ const sal_Int16 Multiplier_Modern_ja = 5; const sal_Int16 Multiplier_Traditional_ja = 6; const sal_Int16 Multiplier_Count = 7; +const sal_Int16 ExponentCount_CJK = 6; + static sal_Int16 MultiplierExponent_CJK[ExponentCount_CJK] = { 12, 8, 4, 3, 2, 1 }; @@ -143,6 +143,22 @@ static sal_Unicode MultiplierChar_CJK[][ExponentCount_CJK] = { 0x5146, 0x5104, 0x842C, 0x9621, 0x767E, 0x62FE, // Japanese Traditional }; +const sal_Int16 ExponentCount_short_CJK = 2; + +static sal_Int16 MultiplierExponent_short_CJK[ExponentCount_short_CJK] = { + 8, 4, +}; + +static sal_Unicode MultiplierChar_short_CJK[][ExponentCount_short_CJK] = { + 0x4EBF, 0x4E07, // S. Chinese Lower + 0x4EBF, 0x4E07, // S. Chinese Upper + 0x5104, 0x842C, // T. Chinese & Korean Lower + 0x5104, 0x842C, // T. Chinese & Korean Upper + 0xC5B5, 0xB9CC, // Korean Hangul + 0x5104, 0x4E07, // Japanese Modern + 0x5104, 0x842C, // Japanese Traditional +}; + } } } } #endif // _L10N_TRANSLITERATION_NUMTOCHAR_H_ diff --git a/i18npool/source/transliteration/numtochar.cxx b/i18npool/source/transliteration/numtochar.cxx index 08f96f5204c3..f9093dee6091 100644 --- a/i18npool/source/transliteration/numtochar.cxx +++ b/i18npool/source/transliteration/numtochar.cxx @@ -2,9 +2,9 @@ * * $RCSfile: numtochar.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: bustamam $ $Date: 2002-04-04 22:32:05 $ + * last change: $Author: khong $ $Date: 2002-05-30 06:54:40 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -102,6 +102,7 @@ TRANSLITERATION_NUMTOCHAR( Lower_zh_TW, Lower_zh ) TRANSLITERATION_NUMTOCHAR( Upper_zh_CN, Upper_zh ) TRANSLITERATION_NUMTOCHAR( Upper_zh_TW, Upper_zh_TW ) TRANSLITERATION_NUMTOCHAR( KanjiShort_ja_JP, Modern_ja ) +TRANSLITERATION_NUMTOCHAR( KanjiTraditional_ja_JP, Traditional_ja ) TRANSLITERATION_NUMTOCHAR( Lower_ko, Lower_ko ) TRANSLITERATION_NUMTOCHAR( Upper_ko, Upper_ko ) TRANSLITERATION_NUMTOCHAR( Hangul_ko, Hangul_ko ) diff --git a/i18npool/source/transliteration/numtotext_cjk.cxx b/i18npool/source/transliteration/numtotext_cjk.cxx index 9a79bd2aea72..e6e723079bce 100644 --- a/i18npool/source/transliteration/numtotext_cjk.cxx +++ b/i18npool/source/transliteration/numtotext_cjk.cxx @@ -2,9 +2,9 @@ * * $RCSfile: numtotext_cjk.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: khong $ $Date: 2002-03-30 09:24:46 $ + * last change: $Author: khong $ $Date: 2002-05-30 06:54:40 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -128,12 +128,22 @@ OUString SAL_CALL NumToText_CJK::transliterate( const OUString& inStr, sal_Int32 offset[count++] = i - len + startPos; } else { + sal_Bool notZero = sal_False; + for (sal_Int32 begin = 0, end = len % multiplierExponent[0]; + end <= len; begin = end, end += multiplierExponent[0]) { sal_Int32 _count = count; - for (sal_Int32 begin = 0, end = len % MultiplierExponent_CJK[0]; - end <= len; begin = end, end += MultiplierExponent_CJK[0]) - numberMaker(srcStr->buffer, begin, end - begin, newStr->buffer, count, + notZero |= numberMaker(srcStr->buffer, begin, end - begin, newStr->buffer, count, end == len ? 0 : multiplierChar[0], offset, i - len + startPos); - if (_count == count && ! (numberFlag & NUMBER_OMIT_ONLY_ZERO)) { + if (count > 0 && newStr->buffer[count-1] == numberChar[0]) + count--; + if (notZero && _count == count) { + if (end != len) { + newStr->buffer[count] = multiplierChar[0]; + offset[count++] = i - len + startPos; + } + } + } + if (! notZero && ! (numberFlag & NUMBER_OMIT_ONLY_ZERO)) { newStr->buffer[count] = numberChar[0]; offset[count++] = i - len + startPos; } @@ -162,8 +172,23 @@ OUString SAL_CALL NumToText_CJK::transliterate( const OUString& inStr, sal_Int32 sal_Bool SAL_CALL NumToText_CJK::numberMaker(const sal_Unicode *str, sal_Int32 begin, sal_Int32 len, sal_Unicode *dst, sal_Int32& count, sal_Unicode multiChar, Sequence< sal_Int32 >& offset, sal_Int32 startPos) { - if ( len == 1 ) { - if (str[begin] != NUMBER_ZERO) { + if ( len <= multiplierExponent[exponentCount-1] ) { + if (multiplierExponent[exponentCount-1] > 1) { + sal_Int16 i; + sal_Bool notZero = false; + for (i = 0; i < len; i++, begin++) { + if (notZero || str[begin] != NUMBER_ZERO) { + dst[count] = numberChar[str[begin] - NUMBER_ZERO]; + offset[count++] = begin + startPos; + notZero = sal_True; + } + } + if (notZero && multiChar > 0) { + dst[count] = multiChar; + offset[count++] = begin + startPos; + } + return notZero; + } else if (str[begin] != NUMBER_ZERO) { if (!(numberFlag & NUMBER_OMIT_ONE) || multiChar == 0 || str[begin] != NUMBER_ONE) { dst[count] = numberChar[str[begin] - NUMBER_ZERO]; offset[count++] = begin + startPos; @@ -172,7 +197,7 @@ sal_Bool SAL_CALL NumToText_CJK::numberMaker(const sal_Unicode *str, sal_Int32 b dst[count] = multiChar; offset[count++] = begin + startPos; } - } else if (!(numberFlag & NUMBER_OMIT_ZERO) && dst[count-1] != numberChar[0]) { + } else if (!(numberFlag & NUMBER_OMIT_ZERO) && count > 0 && dst[count-1] != numberChar[0]) { dst[count] = numberChar[0]; offset[count++] = begin + startPos; } @@ -180,17 +205,17 @@ sal_Bool SAL_CALL NumToText_CJK::numberMaker(const sal_Unicode *str, sal_Int32 b } else { sal_Bool printPower = sal_False; sal_Int16 last = 0; - for (sal_Int16 i = 1; i <= ExponentCount_CJK; i++) { - sal_Int32 tmp = len - (i == ExponentCount_CJK ? 0 : MultiplierExponent_CJK[i]); + for (sal_Int16 i = 1; i <= exponentCount; i++) { + sal_Int32 tmp = len - (i == exponentCount ? 0 : multiplierExponent[i]); if (tmp > 0) { printPower |= numberMaker(str, begin, tmp, dst, count, - (i == ExponentCount_CJK ? 0 : multiplierChar[i]), offset, startPos); + (i == exponentCount ? 0 : multiplierChar[i]), offset, startPos); begin += tmp; len -= tmp; } } if (printPower) { - if (dst[count-1] == numberChar[0]) + if (count > 0 && dst[count-1] == numberChar[0]) count--; if (multiChar > 0) { dst[count] = multiChar; @@ -201,32 +226,36 @@ sal_Bool SAL_CALL NumToText_CJK::numberMaker(const sal_Unicode *str, sal_Int32 b } } -#define TRANSLITERATION_NUMTOTEXT( name, _number, flag ) \ +#define TRANSLITERATION_NUMTOTEXT( name, _number, _short, flag ) \ NumToText##name::NumToText##name() \ { \ number = NumberChar_##_number; \ numberChar = NumberChar[NumberChar_##_number]; \ - multiplierChar = MultiplierChar_CJK[Multiplier_##_number]; \ + multiplierChar = MultiplierChar_##_short[Multiplier_##_number]; \ + exponentCount = ExponentCount_##_short; \ + multiplierExponent = MultiplierExponent_##_short; \ numberFlag = flag; \ transliterationName = "NumToText"#name; \ implementationName = "com.sun.star.i18n.Transliteration.NumToText"#name; \ } -TRANSLITERATION_NUMTOTEXT( Lower_zh_CN, Lower_zh, 0 ) -TRANSLITERATION_NUMTOTEXT( Upper_zh_CN, Upper_zh, 0 ) -TRANSLITERATION_NUMTOTEXT( Lower_zh_TW, Lower_zh, 0 ) -TRANSLITERATION_NUMTOTEXT( Upper_zh_TW, Upper_zh_TW, 0 ) +TRANSLITERATION_NUMTOTEXT( Lower_zh_CN, Lower_zh, CJK, 0 ) +TRANSLITERATION_NUMTOTEXT( Upper_zh_CN, Upper_zh, CJK, 0 ) +TRANSLITERATION_NUMTOTEXT( Lower_zh_TW, Lower_zh, CJK, 0 ) +TRANSLITERATION_NUMTOTEXT( Upper_zh_TW, Upper_zh_TW, CJK, 0 ) #define Multiplier_Lower_ko Multiplier_Upper_zh_TW #define Multiplier_Upper_ko Multiplier_Upper_zh_TW -TRANSLITERATION_NUMTOTEXT( FormalLower_ko, Lower_ko, NUMBER_OMIT_ZERO ) -TRANSLITERATION_NUMTOTEXT( FormalUpper_ko, Upper_ko, NUMBER_OMIT_ZERO ) -TRANSLITERATION_NUMTOTEXT( FormalHangul_ko, Hangul_ko, NUMBER_OMIT_ZERO ) +TRANSLITERATION_NUMTOTEXT( FormalLower_ko, Lower_ko, CJK, NUMBER_OMIT_ZERO ) +TRANSLITERATION_NUMTOTEXT( FormalUpper_ko, Upper_ko, CJK, NUMBER_OMIT_ZERO ) +TRANSLITERATION_NUMTOTEXT( FormalHangul_ko, Hangul_ko, CJK, NUMBER_OMIT_ZERO ) #define NUMBER_OMIT_ALL ( NUMBER_OMIT_ZERO|NUMBER_OMIT_ONE|NUMBER_OMIT_ONLY_ZERO ) -TRANSLITERATION_NUMTOTEXT( InformalLower_ko, Lower_ko, NUMBER_OMIT_ALL ) -TRANSLITERATION_NUMTOTEXT( InformalUpper_ko, Upper_ko, NUMBER_OMIT_ALL ) -TRANSLITERATION_NUMTOTEXT( InformalHangul_ko, Hangul_ko, NUMBER_OMIT_ALL ) -TRANSLITERATION_NUMTOTEXT( KanjiLongTraditional_ja_JP, Traditional_ja, NUMBER_OMIT_ALL ) -TRANSLITERATION_NUMTOTEXT( KanjiLongModern_ja_JP, Modern_ja, NUMBER_OMIT_ALL ) -TRANSLITERATION_NUMTOTEXT( Date_zh, Lower_zh, NUMBER_OMIT_ALL ) +TRANSLITERATION_NUMTOTEXT( InformalLower_ko, Lower_ko, CJK, NUMBER_OMIT_ALL ) +TRANSLITERATION_NUMTOTEXT( InformalUpper_ko, Upper_ko, CJK, NUMBER_OMIT_ALL ) +TRANSLITERATION_NUMTOTEXT( InformalHangul_ko, Hangul_ko, CJK, NUMBER_OMIT_ALL ) +TRANSLITERATION_NUMTOTEXT( KanjiLongTraditional_ja_JP, Traditional_ja, CJK, NUMBER_OMIT_ALL ) +TRANSLITERATION_NUMTOTEXT( KanjiLongModern_ja_JP, Modern_ja, CJK, NUMBER_OMIT_ALL ) +TRANSLITERATION_NUMTOTEXT( Date_zh, Lower_zh, CJK, NUMBER_OMIT_ALL ) +TRANSLITERATION_NUMTOTEXT( KanjiShortTraditional_ja_JP, Traditional_ja, short_CJK, NUMBER_OMIT_ALL ) +TRANSLITERATION_NUMTOTEXT( KanjiShortModern_ja_JP, Modern_ja, short_CJK, NUMBER_OMIT_ALL ) #undef TRANSLITERATION_NUMTOTEXT #define TRANSLITERATION_NUMTOTEXT( name ) \ |