[Base-utils][ACR-1122] Add new enumeration error values 01/163501/7 accepted/tizen/unified/20180109.172804 submit/tizen/20180109.014418
authorLukasz Pik <lu.pik@samsung.com>
Thu, 7 Dec 2017 08:05:28 +0000 (09:05 +0100)
committerhyunjee Kim <hj0426.kim@samsung.com>
Tue, 9 Jan 2018 00:23:38 +0000 (00:23 +0000)
Change-Id: I5e27dfc0076fd6d07d32ad37e4b807e1722280f4
Signed-off-by: Lukasz Pik <lu.pik@samsung.com>
src/include/utils_i18n_types.h
src/utils_i18n_private.c

index d7b761c..e74f9cb 100644 (file)
@@ -85,6 +85,71 @@ typedef enum {
        I18N_ERROR_UNASSIGNED                                   = TIZEN_ERROR_UTILITY_ICU | 0x1F,         /**< Unassigned code points are found. @if MOBILE (Since 2.3.1) @endif*/
        I18N_WARNING_SORT_KEY_TOO_SHORT                 = TIZEN_ERROR_UTILITY_ICU | 0x20,         /**< Number of levels requested in getBound is higher than the number of levels in the sort key. @if MOBILE (Since 2.3.1) @endif*/
        I18N_ERROR_UNKNOWN                                              = TIZEN_ERROR_UNKNOWN,                            /**< Unknown error. @if MOBILE (Since 2.3.1) @endif*/
+
+       /** Errors connected with transliteration text from one format to another */
+       I18N_ERROR_BAD_VARIABLE_DEFINITION          = TIZEN_ERROR_UTILITY_ICU | 0x1000,     /**< Missing '$' or duplicate variable name. (Since 5.0)*/
+       I18N_ERROR_MALFORMED_RULE                   = TIZEN_ERROR_UTILITY_ICU | 0x1001,     /**< Elements of a rule are misplaced. (Since 5.0)*/
+       I18N_ERROR_MALFORMED_UNICODE_ESCAPE         = TIZEN_ERROR_UTILITY_ICU | 0x1002,     /**< A Unicode escape pattern is invalid. (Since 5.0)*/
+       I18N_ERROR_MALFORMED_VARIABLE_DEFINITION    = TIZEN_ERROR_UTILITY_ICU | 0x1003,     /**< A variable definition is invalid. (Since 5.0)*/
+       I18N_ERROR_MALFORMED_VARIABLE_REFERENCE     = TIZEN_ERROR_UTILITY_ICU | 0x1004,     /**< A variable reference is invalid. (Since 5.0)*/
+       I18N_ERROR_MISPLACED_ANCHOR_START           = TIZEN_ERROR_UTILITY_ICU | 0x1005,     /**< A start anchor appears at an illegal position. (Since 5.0)*/
+       I18N_ERROR_MISPLACED_CURSOR_OFFSET          = TIZEN_ERROR_UTILITY_ICU | 0x1006,     /**< A cursor offset occurs at an illegal position. (Since 5.0)*/
+       I18N_ERROR_MISPLACED_QUANTIFIER             = TIZEN_ERROR_UTILITY_ICU | 0x1007,     /**< A quantifier appears after a segment close delimiter. (Since 5.0)*/
+       I18N_ERROR_MISSING_OPERATOR                 = TIZEN_ERROR_UTILITY_ICU | 0x1008,     /**< A rule contains no operator. (Since 5.0)*/
+       I18N_ERROR_MULTIPLE_ANTE_CONTEXTS           = TIZEN_ERROR_UTILITY_ICU | 0x1009,     /**< More than one ante context. (Since 5.0)*/
+       I18N_ERROR_MULTIPLE_CURSORS                 = TIZEN_ERROR_UTILITY_ICU | 0x100A,     /**< More than one cursor. (Since 5.0)*/
+       I18N_ERROR_MULTIPLE_POST_CONTEXTS           = TIZEN_ERROR_UTILITY_ICU | 0x100B,     /**< More than one post context. (Since 5.0)*/
+       I18N_ERROR_TRAILING_BACKSLASH               = TIZEN_ERROR_UTILITY_ICU | 0x100C,     /**< A dangling backslash. (Since 5.0)*/
+       I18N_ERROR_UNDEFINED_SEGMENT_REFERENCE      = TIZEN_ERROR_UTILITY_ICU | 0x100D,     /**< A segment reference does not correspond to a defined segment. (Since 5.0)*/
+       I18N_ERROR_UNDEFINED_VARIABLE               = TIZEN_ERROR_UTILITY_ICU | 0x100E,     /**< A variable reference does not correspond to a defined variable. (Since 5.0)*/
+       I18N_ERROR_UNQUOTED_SPECIAL                 = TIZEN_ERROR_UTILITY_ICU | 0x100F,     /**< A special character was not quoted or escaped. (Since 5.0)*/
+       I18N_ERROR_UNTERMINATED_QUOTE               = TIZEN_ERROR_UTILITY_ICU | 0x1010,     /**< A closing single quote is missing. (Since 5.0)*/
+       I18N_ERROR_RULE_MASK                        = TIZEN_ERROR_UTILITY_ICU | 0x1011,     /**< A rule is hidden by an earlier more general rule. (Since 5.0)*/
+       I18N_ERROR_MISPLACED_COMPOUND_FILTER        = TIZEN_ERROR_UTILITY_ICU | 0x1012,     /**< A compound filter is in an invalid location. (Since 5.0)*/
+       I18N_ERROR_MULTIPLE_COMPOUND_FILTERS        = TIZEN_ERROR_UTILITY_ICU | 0x1013,     /**< More than one compound filter. (Since 5.0)*/
+       I18N_ERROR_INVALID_RBT_SYNTAX               = TIZEN_ERROR_UTILITY_ICU | 0X1014,     /**< A "::id" rule was passed to the Rule Based Transliterator parser. (Since 5.0)*/
+       I18N_ERROR_MALFORMED_PRAGMA                 = TIZEN_ERROR_UTILITY_ICU | 0x1015,     /**< A 'use' pragma is invalid. (Since 5.0)*/
+       I18N_ERROR_UNCLOSED_SEGMENT                 = TIZEN_ERROR_UTILITY_ICU | 0x1016,     /**< A closing ')' is missing. (Since 5.0)*/
+       I18N_ERROR_VARIABLE_RANGE_EXHAUSTED         = TIZEN_ERROR_UTILITY_ICU | 0x1017,     /**< Too many stand-ins generated for the given variable range. (Since 5.0)*/
+       I18N_ERROR_VARIABLE_RANGE_OVERLAP           = TIZEN_ERROR_UTILITY_ICU | 0x1018,     /**< The variable range overlaps characters used in rules. (Since 5.0)*/
+       I18N_ERROR_ILLEGAL_CHARACTER                = TIZEN_ERROR_UTILITY_ICU | 0x1019,     /**< A special character is outside its allowed context. (Since 5.0)*/
+       I18N_ERROR_INTERNAL_TRANSLITERATOR          = TIZEN_ERROR_UTILITY_ICU | 0x101A,     /**< Internal transliterator system error. (Since 5.0)*/
+       I18N_ERROR_INVALID_ID                       = TIZEN_ERROR_UTILITY_ICU | 0x101B,     /**< A "::id" rule specifies an unknown transliterator. (Since 5.0)*/
+       I18N_ERROR_INVALID_FUNCTION                 = TIZEN_ERROR_UTILITY_ICU | 0x101C,     /**< A "&fn()" rule specifies an unknown transliterator. (Since 5.0)*/
+
+       /** Errors connected with formatting API */
+       I18N_ERROR_UNEXPECTED_TOKEN                 = TIZEN_ERROR_UTILITY_ICU | 0x2000,     /**< Syntax error in format pattern. (Since 5.0)*/
+       I18N_ERROR_MULTIPLE_DECIMAL_SEPARATORS      = TIZEN_ERROR_UTILITY_ICU | 0x2001,     /**< More than one decimal separator in number pattern. (Since 5.0)*/
+       I18N_ERROR_MULTIPLE_EXPONENTIAL_SYMBOLS     = TIZEN_ERROR_UTILITY_ICU | 0x2002,     /**< More than one exponent symbol in number pattern. (Since 5.0)*/
+       I18N_ERROR_MALFORMED_EXPONENTIAL_PATTERN    = TIZEN_ERROR_UTILITY_ICU | 0x2003,     /**< Grouping symbol in exponent pattern. (Since 5.0)*/
+       I18N_ERROR_MULTIPLE_PERCENT_SYMBOLS         = TIZEN_ERROR_UTILITY_ICU | 0x2004,     /**< More than one percent symbol in number pattern. (Since 5.0)*/
+       I18N_ERROR_MULTIPLE_PERMILL_SYMBOLS         = TIZEN_ERROR_UTILITY_ICU | 0x2005,     /**< More than one permill symbol in number pattern. (Since 5.0)*/
+       I18N_ERROR_MULTIPLE_PAD_SPECIFIERS          = TIZEN_ERROR_UTILITY_ICU | 0x2006,     /**< More than one pad symbol in number pattern. (Since 5.0)*/
+       I18N_ERROR_PATTERN_SYNTAX                   = TIZEN_ERROR_UTILITY_ICU | 0x2007,     /**< Syntax error in format pattern. (Since 5.0)*/
+       I18N_ERROR_ILLEGAL_PAD_POSITION             = TIZEN_ERROR_UTILITY_ICU | 0x2008,     /**< Pad symbol misplaced in number pattern. (Since 5.0)*/
+       I18N_ERROR_UNMATCHED_BRACES                 = TIZEN_ERROR_UTILITY_ICU | 0x2009,     /**< Braces do not match in message pattern. (Since 5.0)*/
+       I18N_ERROR_ARGUMENT_TYPE_MISMATCH           = TIZEN_ERROR_UTILITY_ICU | 0x200A,     /**< Argument name and argument index mismatch in format functions. (Since 5.0)*/
+       I18N_ERROR_DUPLICATE_KEYWORD                = TIZEN_ERROR_UTILITY_ICU | 0x200B,     /**< Duplicate keyword in PluralFormat. (Since 5.0)*/
+       I18N_ERROR_UNDEFINED_KEYWORD                = TIZEN_ERROR_UTILITY_ICU | 0x200C,     /**< Undefined Plural keyword. (Since 5.0)*/
+       I18N_ERROR_DEFAULT_KEYWORD_MISSING          = TIZEN_ERROR_UTILITY_ICU | 0x200D,     /**< Missing DEFAULT rule in plural rules. (Since 5.0)*/
+       I18N_ERROR_DECIMAL_NUMBER_SYNTAX            = TIZEN_ERROR_UTILITY_ICU | 0x200E,     /**< Decimal number syntax error. (Since 5.0)*/
+       I18N_ERROR_INEXACT_FORMAT                   = TIZEN_ERROR_UTILITY_ICU | 0x200F,     /**< Cannot format a number exactly and rounding mode is unnecessary. (Since 5.0)*/
+
+       /** Errors connected with Ubrk module */
+       I18N_ERROR_UBRK_INTERNAL                    = TIZEN_ERROR_UTILITY_ICU | 0x3000,     /**< An internal ICU error (bug) was detected. (Since 5.0)*/
+       I18N_ERROR_UBRK_HEX_DIGITS_EXPECTED         = TIZEN_ERROR_UTILITY_ICU | 0x3001,     /**< Hex digits expected as part of a escaped char in a rule. (Since 5.0)*/
+       I18N_ERROR_UBRK_SEMICOLON_EXPECTED          = TIZEN_ERROR_UTILITY_ICU | 0x3002,     /**< Missing ';' at the end of a RBBI rule. (Since 5.0)*/
+       I18N_ERROR_UBRK_RULE_SYNTAX                 = TIZEN_ERROR_UTILITY_ICU | 0x3003,     /**< Syntax error in RBBI rule. (Since 5.0)*/
+       I18N_ERROR_UBRK_UNCLOSED_SET                = TIZEN_ERROR_UTILITY_ICU | 0x3004,     /**< UnicodeSet witing an RBBI rule missing a closing ']'. (Since 5.0)*/
+       I18N_ERROR_UBRK_ASSIGN_ERROR                = TIZEN_ERROR_UTILITY_ICU | 0x3005,     /**< Syntax error in RBBI rule assignment statement. (Since 5.0)*/
+       I18N_ERROR_UBRK_VARIABLE_REDEFINITION       = TIZEN_ERROR_UTILITY_ICU | 0x3006,     /**< RBBI rule $Variable redefined. (Since 5.0)*/
+       I18N_ERROR_UBRK_MISMATCHED_PAREN            = TIZEN_ERROR_UTILITY_ICU | 0x3007,     /**< Mis-matched parentheses in an RBBI rule. (Since 5.0)*/
+       I18N_ERROR_UBRK_NEW_LINE_IN_QUOTED_STRING   = TIZEN_ERROR_UTILITY_ICU | 0x3008,     /**< Missing closing quote in an RBBI rule. (Since 5.0)*/
+       I18N_ERROR_UBRK_UNDEFINED_VARIABLE          = TIZEN_ERROR_UTILITY_ICU | 0x3009,     /**< Use of an undefined $Variable in an RBBI rule. (Since 5.0)*/
+       I18N_ERROR_UBRK_INIT                        = TIZEN_ERROR_UTILITY_ICU | 0x300A,     /**< Initialization failure. Probable missing ICU Data. (Since 5.0)*/
+       I18N_ERROR_UBRK_RULE_EMPTY_SET              = TIZEN_ERROR_UTILITY_ICU | 0x300B,     /**< Rule contains an empty Unicode Set. (Since 5.0)*/
+       I18N_ERROR_UBRK_UNRECOGNIZED_OPTION         = TIZEN_ERROR_UTILITY_ICU | 0x300C,     /**< Option in RBBI rules not recognized. (Since 5.0)*/
+       I18N_ERROR_UBRK_MALFORMED_RULE_TAG          = TIZEN_ERROR_UTILITY_ICU | 0x300D,     /**< The {nnn} tag on a rule is malformed. (Since 5.0)*/
 }
 i18n_error_code_e;
 
index 17d0a08..37f5a26 100644 (file)
@@ -125,6 +125,183 @@ int _i18n_error_mapping(int err)
        case U_IDNA_UNASSIGNED_ERROR:
                return I18N_ERROR_UNASSIGNED;
 
+       case U_BAD_VARIABLE_DEFINITION:
+               return I18N_ERROR_BAD_VARIABLE_DEFINITION;
+
+       case U_MALFORMED_RULE:
+               return I18N_ERROR_MALFORMED_RULE;
+
+       case U_MALFORMED_UNICODE_ESCAPE:
+               return I18N_ERROR_MALFORMED_UNICODE_ESCAPE;
+
+       case U_MALFORMED_VARIABLE_DEFINITION:
+               return I18N_ERROR_MALFORMED_VARIABLE_DEFINITION;
+
+       case U_MALFORMED_VARIABLE_REFERENCE:
+               return I18N_ERROR_MALFORMED_VARIABLE_REFERENCE;
+
+       case U_MISPLACED_ANCHOR_START:
+               return I18N_ERROR_MISPLACED_ANCHOR_START;
+
+       case U_MISPLACED_CURSOR_OFFSET:
+               return I18N_ERROR_MISPLACED_CURSOR_OFFSET;
+
+       case U_MISPLACED_QUANTIFIER:
+               return I18N_ERROR_MISPLACED_QUANTIFIER;
+
+       case U_MISSING_OPERATOR:
+               return I18N_ERROR_MISSING_OPERATOR;
+
+       case U_MULTIPLE_ANTE_CONTEXTS:
+               return I18N_ERROR_MULTIPLE_ANTE_CONTEXTS;
+
+       case U_MULTIPLE_CURSORS:
+               return I18N_ERROR_MULTIPLE_CURSORS;
+
+       case U_MULTIPLE_POST_CONTEXTS:
+               return I18N_ERROR_MULTIPLE_POST_CONTEXTS;
+
+       case U_TRAILING_BACKSLASH:
+               return I18N_ERROR_TRAILING_BACKSLASH;
+
+       case U_UNDEFINED_SEGMENT_REFERENCE:
+               return I18N_ERROR_UNDEFINED_SEGMENT_REFERENCE;
+
+       case U_UNDEFINED_VARIABLE:
+               return I18N_ERROR_UNDEFINED_VARIABLE;
+
+       case U_UNQUOTED_SPECIAL:
+               return I18N_ERROR_UNQUOTED_SPECIAL;
+
+       case U_UNTERMINATED_QUOTE:
+               return I18N_ERROR_UNTERMINATED_QUOTE;
+
+       case U_RULE_MASK_ERROR:
+               return I18N_ERROR_RULE_MASK;
+
+       case U_MISPLACED_COMPOUND_FILTER:
+               return I18N_ERROR_MISPLACED_COMPOUND_FILTER;
+
+       case U_MULTIPLE_COMPOUND_FILTERS:
+               return I18N_ERROR_MULTIPLE_COMPOUND_FILTERS;
+
+       case U_INVALID_RBT_SYNTAX:
+               return I18N_ERROR_INVALID_RBT_SYNTAX;
+
+       case U_MALFORMED_PRAGMA:
+               return I18N_ERROR_MALFORMED_PRAGMA;
+
+       case U_UNCLOSED_SEGMENT:
+               return I18N_ERROR_UNCLOSED_SEGMENT;
+
+       case U_VARIABLE_RANGE_EXHAUSTED:
+               return I18N_ERROR_VARIABLE_RANGE_EXHAUSTED;
+
+       case U_VARIABLE_RANGE_OVERLAP:
+               return I18N_ERROR_VARIABLE_RANGE_OVERLAP;
+
+       case U_ILLEGAL_CHARACTER:
+               return I18N_ERROR_ILLEGAL_CHARACTER;
+
+       case U_INTERNAL_TRANSLITERATOR_ERROR:
+               return I18N_ERROR_INTERNAL_TRANSLITERATOR;
+
+       case U_INVALID_ID:
+               return I18N_ERROR_INVALID_ID;
+
+       case U_INVALID_FUNCTION:
+               return I18N_ERROR_INVALID_FUNCTION;
+
+       case U_UNEXPECTED_TOKEN:
+               return I18N_ERROR_UNEXPECTED_TOKEN;
+
+       case U_MULTIPLE_DECIMAL_SEPARATORS:
+               return I18N_ERROR_MULTIPLE_DECIMAL_SEPARATORS;
+
+       case U_MULTIPLE_EXPONENTIAL_SYMBOLS:
+               return I18N_ERROR_MULTIPLE_EXPONENTIAL_SYMBOLS;
+
+       case U_MALFORMED_EXPONENTIAL_PATTERN:
+               return I18N_ERROR_MALFORMED_EXPONENTIAL_PATTERN;
+
+       case U_MULTIPLE_PERCENT_SYMBOLS:
+               return I18N_ERROR_MULTIPLE_PERCENT_SYMBOLS;
+
+       case U_MULTIPLE_PERMILL_SYMBOLS:
+               return I18N_ERROR_MULTIPLE_PERMILL_SYMBOLS;
+
+       case U_MULTIPLE_PAD_SPECIFIERS:
+               return I18N_ERROR_MULTIPLE_PAD_SPECIFIERS;
+
+       case U_PATTERN_SYNTAX_ERROR:
+               return I18N_ERROR_PATTERN_SYNTAX;
+
+       case U_ILLEGAL_PAD_POSITION:
+               return I18N_ERROR_ILLEGAL_PAD_POSITION;
+
+       case U_UNMATCHED_BRACES:
+               return I18N_ERROR_UNMATCHED_BRACES;
+
+       case U_ARGUMENT_TYPE_MISMATCH:
+               return I18N_ERROR_ARGUMENT_TYPE_MISMATCH;
+
+       case U_DUPLICATE_KEYWORD:
+               return I18N_ERROR_DUPLICATE_KEYWORD;
+
+       case U_UNDEFINED_KEYWORD:
+               return I18N_ERROR_UNDEFINED_KEYWORD;
+
+       case U_DEFAULT_KEYWORD_MISSING:
+               return I18N_ERROR_DEFAULT_KEYWORD_MISSING;
+
+       case U_DECIMAL_NUMBER_SYNTAX_ERROR:
+               return I18N_ERROR_DECIMAL_NUMBER_SYNTAX;
+
+       case U_FORMAT_INEXACT_ERROR:
+               return I18N_ERROR_INEXACT_FORMAT;
+
+       case U_BRK_INTERNAL_ERROR:
+               return I18N_ERROR_UBRK_INTERNAL;
+
+       case U_BRK_HEX_DIGITS_EXPECTED:
+               return I18N_ERROR_UBRK_HEX_DIGITS_EXPECTED;
+
+       case U_BRK_SEMICOLON_EXPECTED:
+               return I18N_ERROR_UBRK_SEMICOLON_EXPECTED;
+
+       case U_BRK_RULE_SYNTAX:
+               return I18N_ERROR_UBRK_RULE_SYNTAX;
+
+       case U_BRK_UNCLOSED_SET:
+               return I18N_ERROR_UBRK_UNCLOSED_SET;
+
+       case U_BRK_ASSIGN_ERROR:
+               return I18N_ERROR_UBRK_ASSIGN_ERROR;
+
+       case U_BRK_VARIABLE_REDFINITION:
+               return I18N_ERROR_UBRK_VARIABLE_REDEFINITION;
+
+       case U_BRK_MISMATCHED_PAREN:
+               return I18N_ERROR_UBRK_MISMATCHED_PAREN;
+
+       case U_BRK_NEW_LINE_IN_QUOTED_STRING:
+               return I18N_ERROR_UBRK_NEW_LINE_IN_QUOTED_STRING;
+
+       case U_BRK_UNDEFINED_VARIABLE:
+               return I18N_ERROR_UBRK_UNDEFINED_VARIABLE;
+
+       case U_BRK_INIT_ERROR:
+               return I18N_ERROR_UBRK_INIT;
+
+       case U_BRK_RULE_EMPTY_SET:
+               return I18N_ERROR_UBRK_RULE_EMPTY_SET;
+
+       case U_BRK_UNRECOGNIZED_OPTION:
+               return I18N_ERROR_UBRK_UNRECOGNIZED_OPTION;
+
+       case U_BRK_MALFORMED_RULE_TAG:
+               return I18N_ERROR_UBRK_MALFORMED_RULE_TAG;
+
        default:
                return I18N_ERROR_UNKNOWN;
        }
@@ -241,6 +418,183 @@ int _i18n_error_mapping_reverse(int err)
        case I18N_WARNING_SORT_KEY_TOO_SHORT:
                return U_SORT_KEY_TOO_SHORT_WARNING;
 
+       case I18N_ERROR_BAD_VARIABLE_DEFINITION:
+               return U_BAD_VARIABLE_DEFINITION;
+
+       case I18N_ERROR_MALFORMED_RULE:
+               return U_MALFORMED_RULE;
+
+       case I18N_ERROR_MALFORMED_UNICODE_ESCAPE:
+               return U_MALFORMED_UNICODE_ESCAPE;
+
+       case I18N_ERROR_MALFORMED_VARIABLE_DEFINITION:
+               return U_MALFORMED_VARIABLE_DEFINITION;
+
+       case I18N_ERROR_MALFORMED_VARIABLE_REFERENCE:
+               return U_MALFORMED_VARIABLE_REFERENCE;
+
+       case I18N_ERROR_MISPLACED_ANCHOR_START:
+               return U_MISPLACED_ANCHOR_START;
+
+       case I18N_ERROR_MISPLACED_CURSOR_OFFSET:
+               return U_MISPLACED_CURSOR_OFFSET;
+
+       case I18N_ERROR_MISPLACED_QUANTIFIER:
+               return U_MISPLACED_QUANTIFIER;
+
+       case I18N_ERROR_MISSING_OPERATOR:
+               return U_MISSING_OPERATOR;
+
+       case I18N_ERROR_MULTIPLE_ANTE_CONTEXTS:
+               return U_MULTIPLE_ANTE_CONTEXTS;
+
+       case I18N_ERROR_MULTIPLE_CURSORS:
+               return U_MULTIPLE_CURSORS;
+
+       case I18N_ERROR_MULTIPLE_POST_CONTEXTS:
+               return U_MULTIPLE_POST_CONTEXTS;
+
+       case I18N_ERROR_TRAILING_BACKSLASH:
+               return U_TRAILING_BACKSLASH;
+
+       case I18N_ERROR_UNDEFINED_SEGMENT_REFERENCE:
+               return U_UNDEFINED_SEGMENT_REFERENCE;
+
+       case I18N_ERROR_UNDEFINED_VARIABLE:
+               return U_UNDEFINED_VARIABLE;
+
+       case I18N_ERROR_UNQUOTED_SPECIAL:
+               return U_UNQUOTED_SPECIAL;
+
+       case I18N_ERROR_UNTERMINATED_QUOTE:
+               return U_UNTERMINATED_QUOTE;
+
+       case I18N_ERROR_RULE_MASK:
+               return U_RULE_MASK_ERROR;
+
+       case I18N_ERROR_MISPLACED_COMPOUND_FILTER:
+               return U_MISPLACED_COMPOUND_FILTER;
+
+       case I18N_ERROR_MULTIPLE_COMPOUND_FILTERS:
+               return U_MULTIPLE_COMPOUND_FILTERS;
+
+       case I18N_ERROR_INVALID_RBT_SYNTAX:
+               return U_INVALID_RBT_SYNTAX;
+
+       case I18N_ERROR_MALFORMED_PRAGMA:
+               return U_MALFORMED_PRAGMA;
+
+       case I18N_ERROR_UNCLOSED_SEGMENT:
+               return U_UNCLOSED_SEGMENT;
+
+       case I18N_ERROR_VARIABLE_RANGE_EXHAUSTED:
+               return U_VARIABLE_RANGE_EXHAUSTED;
+
+       case I18N_ERROR_VARIABLE_RANGE_OVERLAP:
+               return U_VARIABLE_RANGE_OVERLAP;
+
+       case I18N_ERROR_ILLEGAL_CHARACTER:
+               return U_ILLEGAL_CHARACTER;
+
+       case I18N_ERROR_INTERNAL_TRANSLITERATOR:
+               return U_INTERNAL_TRANSLITERATOR_ERROR;
+
+       case I18N_ERROR_INVALID_ID:
+               return U_INVALID_ID;
+
+       case I18N_ERROR_INVALID_FUNCTION:
+               return U_INVALID_FUNCTION;
+
+       case I18N_ERROR_UNEXPECTED_TOKEN:
+               return U_UNEXPECTED_TOKEN;
+
+       case I18N_ERROR_MULTIPLE_DECIMAL_SEPARATORS:
+               return U_MULTIPLE_DECIMAL_SEPARATORS;
+
+       case I18N_ERROR_MULTIPLE_EXPONENTIAL_SYMBOLS:
+               return U_MULTIPLE_EXPONENTIAL_SYMBOLS;
+
+       case I18N_ERROR_MALFORMED_EXPONENTIAL_PATTERN:
+               return U_MALFORMED_EXPONENTIAL_PATTERN;
+
+       case I18N_ERROR_MULTIPLE_PERCENT_SYMBOLS:
+               return U_MULTIPLE_PERCENT_SYMBOLS;
+
+       case I18N_ERROR_MULTIPLE_PERMILL_SYMBOLS:
+               return U_MULTIPLE_PERMILL_SYMBOLS;
+
+       case I18N_ERROR_MULTIPLE_PAD_SPECIFIERS:
+               return U_MULTIPLE_PAD_SPECIFIERS;
+
+       case I18N_ERROR_PATTERN_SYNTAX:
+               return U_PATTERN_SYNTAX_ERROR;
+
+       case I18N_ERROR_ILLEGAL_PAD_POSITION:
+               return U_ILLEGAL_PAD_POSITION;
+
+       case I18N_ERROR_UNMATCHED_BRACES:
+               return U_UNMATCHED_BRACES;
+
+       case I18N_ERROR_ARGUMENT_TYPE_MISMATCH:
+               return U_ARGUMENT_TYPE_MISMATCH;
+
+       case I18N_ERROR_DUPLICATE_KEYWORD:
+               return U_DUPLICATE_KEYWORD;
+
+       case I18N_ERROR_UNDEFINED_KEYWORD:
+               return U_UNDEFINED_KEYWORD;
+
+       case I18N_ERROR_DEFAULT_KEYWORD_MISSING:
+               return U_DEFAULT_KEYWORD_MISSING;
+
+       case I18N_ERROR_DECIMAL_NUMBER_SYNTAX:
+               return U_DECIMAL_NUMBER_SYNTAX_ERROR;
+
+       case I18N_ERROR_INEXACT_FORMAT:
+               return U_FORMAT_INEXACT_ERROR;
+
+       case I18N_ERROR_UBRK_INTERNAL:
+               return U_BRK_INTERNAL_ERROR;
+
+       case I18N_ERROR_UBRK_HEX_DIGITS_EXPECTED:
+               return U_BRK_HEX_DIGITS_EXPECTED;
+
+       case I18N_ERROR_UBRK_SEMICOLON_EXPECTED:
+               return U_BRK_SEMICOLON_EXPECTED;
+
+       case I18N_ERROR_UBRK_RULE_SYNTAX:
+               return U_BRK_RULE_SYNTAX;
+
+       case I18N_ERROR_UBRK_UNCLOSED_SET:
+               return U_BRK_UNCLOSED_SET;
+
+       case I18N_ERROR_UBRK_ASSIGN_ERROR:
+               return U_BRK_ASSIGN_ERROR;
+
+       case I18N_ERROR_UBRK_VARIABLE_REDEFINITION:
+               return U_BRK_VARIABLE_REDFINITION;
+
+       case I18N_ERROR_UBRK_MISMATCHED_PAREN:
+               return U_BRK_MISMATCHED_PAREN;
+
+       case I18N_ERROR_UBRK_NEW_LINE_IN_QUOTED_STRING:
+               return U_BRK_NEW_LINE_IN_QUOTED_STRING;
+
+       case I18N_ERROR_UBRK_UNDEFINED_VARIABLE:
+               return U_BRK_UNDEFINED_VARIABLE;
+
+       case I18N_ERROR_UBRK_INIT:
+               return U_BRK_INIT_ERROR;
+
+       case I18N_ERROR_UBRK_RULE_EMPTY_SET:
+               return U_BRK_RULE_EMPTY_SET;
+
+       case I18N_ERROR_UBRK_UNRECOGNIZED_OPTION:
+               return U_BRK_UNRECOGNIZED_OPTION;
+
+       case I18N_ERROR_UBRK_MALFORMED_RULE_TAG:
+               return U_BRK_MALFORMED_RULE_TAG;
+
        default:
                return U_STANDARD_ERROR_LIMIT;
        }