summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-xetex/data/rbnf
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/icu/icu-xetex/data/rbnf')
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/da.txt34
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/de.txt59
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/el.txt57
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/en.txt219
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/en_GB.txt77
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/eo.txt36
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/es.txt74
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/fa.txt39
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/fa_AF.txt39
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/fr.txt79
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/fr_BE.txt14
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/fr_CH.txt57
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/ga.txt337
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/he.txt731
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/it.txt172
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/ja.txt64
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/mt.txt193
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/nl.txt35
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/pl.txt44
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/pt.txt72
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/rbnffiles.mk55
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/rbnflocal.mk34
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/root.txt27
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/ru.txt51
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/sv.txt95
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/th.txt49
-rw-r--r--Build/source/libs/icu/icu-xetex/data/rbnf/uk.txt56
27 files changed, 2799 insertions, 0 deletions
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/da.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/da.txt
new file mode 100644
index 00000000000..5b1d300cc3e
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/da.txt
@@ -0,0 +1,34 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+da {
+ SpelloutRules {
+ "-x: minus >>;\n"
+ "nol; en; to; tre; fire; fem; seks; syv; otte; ni;\n"
+ "ti; elleve; tolv; tretten; fjorten; femten; seksten; sytten; atten; nitten;\n"
+ "20: [>>og]tvye;\n"
+ "30: [>>og]tredive;\n"
+ "40: [>>og]fyrre;\n"
+ "50: [>>og]femti;\n"
+ "60: [>>og]seksti;\n"
+ "70: [>>og]syvti;\n"
+ "80: [>>og]otteti;\n"
+ "90: [>>og]niti;\n"
+ "100: et hundrede[>>];\n"
+ "200: << hundrede[>>];\n"
+ "1000: et tusinde[ >>];\n"
+ "2000: << tusinde[ >>];\n"
+ "1,000,000: en million[ >>];\n"
+ "2,000,000: << million[ >>];\n"
+ "1,000,000,000: en milliarde[ >>];\n"
+ "2,000,000,000: << milliarde[ >>];\n"
+ "1,000,000,000,000: en billione[ >>];\n"
+ "2,000,000,000,000: << billione[ >>];\n"
+ "1,000,000,000,000,000: =#,##0=;"
+ }
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/de.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/de.txt
new file mode 100644
index 00000000000..7eef7237f66
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/de.txt
@@ -0,0 +1,59 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, 2007 International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+de {
+ // * RuleBasedNumberFormat data for German
+
+ // again, I'm not 100% sure of these rules. I think both "hundert" and
+ // "einhundert" are correct or 100, but I'm not sure which is preferable
+ // in situations where this framework is likely to be used. Also, is it
+ // really true that numbers are run together into compound words all the
+ // time?
+ SpelloutRules {
+ // 1 is "eins" when by itself, but turns into "ein" in most
+ // combinations
+ "%alt-ones:\n"
+ "-x: minus >>;\n"
+ "x.x: << komma >>;\n"
+ "null; eins; =%%main=;\n"
+ "%%main:\n"
+ // words for numbers from 0 to 12. Notice that the values
+ // from 13 to 19 can derived algorithmically, unlike in most
+ // other languages
+ "null; ein; zwei; drei; vier; f\u00fcnf; sechs; sieben; acht; neun;\n"
+ "zehn; elf; zw\u00f6lf; >>zehn;\n"
+ // rules for the multiples of 10. Notice that the ones digit
+ // goes on the front
+ "20: [>>und]zwanzig;\n"
+ "30: [>>und]drei\u00dfig;\n"
+ "40: [>>und]vierzig;\n"
+ "50: [>>und]f\u00fcnfzig;\n"
+ "60: [>>und]sechzig;\n"
+ "70: [>>und]siebzig;\n"
+ "80: [>>und]achtzig;\n"
+ "90: [>>und]neunzig;\n"
+ "100: hundert[>%alt-ones>];\n"
+ "200: <<hundert[>%alt-ones>];\n"
+ "1000: tausend[>%alt-ones>];\n"
+ "1100: tausendein[>%alt-ones>];\n"
+ "1200: tausend[>%alt-ones>];\n"
+ "2000: <<tausend[>%alt-ones>];\n"
+ "1,000,000: eine Million[ >%alt-ones>];\n"
+ "2,000,000: << Millionen[ >%alt-ones>];\n"
+ "1,000,000,000: eine Milliarde[ >%alt-ones>];\n"
+ "2,000,000,000: << Milliarden[ >%alt-ones>];\n"
+ "1,000,000,000,000: eine Billion[ >%alt-ones>];\n"
+ "2,000,000,000,000: << Billionen[ >%alt-ones>];\n"
+ "1,000,000,000,000,000: =#,##0=;"
+ "%%lenient-parse:\n"
+ "&\u0000 << ' ' << '-'\n"
+ "& ae , \u00e4 & ae , \u00c4\n"
+ "& oe , \u00f6 & oe , \u00d6\n"
+ "& ue , \u00fc & ue , \u00dc\n"
+ }
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/el.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/el.txt
new file mode 100644
index 00000000000..f54d3a5721f
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/el.txt
@@ -0,0 +1,57 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+el {
+/*
+ * omit rules for Greek until we have complete and valid data.
+
+ // * Spellout rules for Greek. Again in Greek we have to supply the words
+ // * for the multiples of 100 because they can't be derived algorithmically.
+ // * Also, the tens digit changes form when followed by a ones digit: an
+ // * accent mark disappears from the tens digit and moves to the ones digit.
+ // * Therefore, instead of using the [] notation, we actually have to use
+ // * two separate rules for each multiple of 10 to show the two forms of
+ // * the word.
+
+ // Can someone supply me with information on negatives and decimals?
+
+ SpelloutRules {
+ "\u03bc\u03b7\u03b4\u03ad\u03bd; \u03ad\u03bd\u03b1; \u03b4\u03cd\u03bf; \u03c4\u03c1\u03af\u03b1; "
+ "\u03c4\u03ad\u03c3\u03c3\u03b5\u03c1\u03b1; \u03c0\u03ad\u03bd\u03c4\u03b5; "
+ "\u03ad\u03be\u03b9; \u03b5\u03c0\u03c4\u03ac; \u03bf\u03ba\u03c4\u03ce; "
+ "\u03b5\u03bd\u03bd\u03ad\u03b1;\n"
+ "10: \u03b4\u03ad\u03ba\u03b1; "
+ "\u03ad\u03bd\u03c4\u03b5\u03ba\u03b1; \u03b4\u03ce\u03b4\u03b5\u03ba\u03b1; "
+ "\u03b4\u03b5\u03ba\u03b1>>;\n"
+ "20: \u03b5\u03af\u03ba\u03bf\u03c3\u03b9; \u03b5\u03b9\u03ba\u03bf\u03c3\u03b9>>;\n"
+ "30: \u03c4\u03c1\u03b9\u03ac\u03bd\u03c4\u03b1; \u03c4\u03c1\u03b9\u03b1\u03bd\u03c4\u03b1>>;\n"
+ "40: \u03c3\u03b1\u03c1\u03ac\u03bd\u03c4\u03b1; \u03c3\u03b1\u03c1\u03b1\u03bd\u03c4\u03b1>>;\n"
+ "50: \u03c0\u03b5\u03bd\u03ae\u03bd\u03c4\u03b1; \u03c0\u03b5\u03bd\u03b7\u03bd\u03c4\u03b1>>;\n"
+ "60: \u03b5\u03be\u03ae\u03bd\u03c4\u03b1; \u03b5\u03be\u03b7\u03bd\u03c4\u03b1>>;\n"
+ "70: \u03b5\u03b2\u03b4\u03bf\u03bc\u03ae\u03bd\u03c4\u03b1; "
+ "\u03b5\u03b2\u03b4\u03bf\u03bc\u03b7\u03bd\u03c4\u03b1>>;\n"
+ "80: \u03bf\u03b3\u03b4\u03cc\u03bd\u03c4\u03b1; \u03bf\u03b3\u03b4\u03bf\u03bd\u03c4\u03b1>>;\n"
+ "90: \u03b5\u03bd\u03bd\u03b5\u03bd\u03ae\u03bd\u03c4\u03b1; "
+ "\u03b5\u03bd\u03bd\u03b5\u03bd\u03b7\u03bd\u03c4\u03b1>>;\n"
+ "100: \u03b5\u03ba\u03b1\u03c4\u03cc[\u03bd >>];\n"
+ "200: \u03b4\u03b9\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
+ "300: \u03c4\u03c1\u03b9\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
+ "400: \u03c4\u03b5\u03c4\u03c1\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
+ "500: \u03c0\u03b5\u03bd\u03c4\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
+ "600: \u03b5\u03be\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
+ "700: \u03b5\u03c0\u03c4\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
+ "800: \u03bf\u03ba\u03c4\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
+ "900: \u03b5\u03bd\u03bd\u03b9\u03b1\u03ba\u03cc\u03c3\u03b9\u03b1[ >>];\n"
+ "1000: \u03c7\u03af\u03bb\u03b9\u03b1[ >>];\n"
+ "2000: << \u03c7\u03af\u03bb\u03b9\u03b1[ >>];\n"
+ "1,000,000: << \u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03bf[ >>];\n"
+ "1,000,000,000: << \u03b4\u03b9\u03c3\u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03bf[ >>];\n"
+ "1,000,000,000,000: =#,##0="
+ }
+*/
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/en.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/en.txt
new file mode 100644
index 00000000000..3cbcecb2825
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/en.txt
@@ -0,0 +1,219 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+en {
+
+
+ //------------------------------------------------------------
+ // Rule Based Number Format Support
+ //------------------------------------------------------------
+
+ // * Spellout rules for U.S. English. This rule set has two variants:
+ // * %simplified is a set of rules showing the simple method of spelling
+ // * out numbers in English: 289 is formatted as "two hundred eighty-nine".
+ // * %default uses a more complicated algorithm to format
+ // * numbers in a more natural way: 289 is formatted as "two hundred AND
+ // * eighty-nine" and commas are inserted between the thousands groups for
+ // * values above 100,000.
+
+ SpelloutRules {
+ // This rule set shows the normal simple formatting rules for English
+ "%simplified:\n"
+ // negative number rule. This rule is used to format negative
+ // numbers. The result of formatting the number's absolute
+ // value is placed where the >> is.
+ "-x: minus >>;\n"
+ // faction rule. This rule is used for formatting numbers
+ // with fractional parts. The result of formatting the
+ // number's integral part is substituted for the <<, and
+ // the result of formatting the number's fractional part
+ // (one digit at a time, e.g., 0.123 is "zero point one two
+ // three") replaces the >>.
+ "x.x: << point >>;\n"
+ // the rules for the values from 0 to 19 are simply the
+ // words for those numbers
+ "zero; one; two; three; four; five; six; seven; eight; nine;\n"
+ "ten; eleven; twelve; thirteen; fourteen; fifteen; sixteen;\n"
+ "seventeen; eighteen; nineteen;\n"
+ // beginning at 20, we use the >> to mark the position where
+ // the result of formatting the number's ones digit. Thus,
+ // we only need a new rule at every multiple of 10. Text in
+ // backets is omitted if the value being formatted is an
+ // even multiple of 10.
+ "20: twenty[->>];\n"
+ "30: thirty[->>];\n"
+ "40: forty[->>];\n"
+ "50: fifty[->>];\n"
+ "60: sixty[->>];\n"
+ "70: seventy[->>];\n"
+ "80: eighty[->>];\n"
+ "90: ninety[->>];\n"
+ // beginning at 100, we can use << to mark the position where
+ // the result of formatting the multiple of 100 is to be
+ // inserted. Notice also that the meaning of >> has shifted:
+ // here, it refers to both the ones place and the tens place.
+ // The meanings of the << and >> tokens depend on the base value
+ // of the rule. A rule's divisor is (usually) the highest
+ // power of 10 that is less than or equal to the rule's base
+ // value. The value being formatted is divided by the rule's
+ // divisor, and the integral quotient is used to get the text
+ // for <<, while the remainder is used to produce the text
+ // for >>. Again, text in brackets is omitted if the value
+ // being formatted is an even multiple of the rule's divisor
+ // (in this case, an even multiple of 100)
+ "100: << hundred[ >>];\n"
+ // The rules for the higher numbers work the same way as the
+ // rule for 100: Again, the << and >> tokens depend on the
+ // rule's divisor, which for all these rules is also the rule's
+ // base value. To group by thousand, we simply don't have any
+ // rules between 1,000 and 1,000,000.
+ "1000: << thousand[ >>];\n"
+ "1,000,000: << million[ >>];\n"
+ "1,000,000,000: << billion[ >>];\n"
+ "1,000,000,000,000: << trillion[ >>];\n"
+ // overflow rule. This rule specifies that values of a
+ // quadrillion or more are shown in numerals rather than words.
+ // The == token means to format (with new rules) the value
+ // being formatted by this rule and place the result where
+ // the == is. The #,##0 inside the == signs is a
+ // DecimalFormat pattern. It specifies that the value should
+ // be formatted with a DecimalFormat object, and that it
+ // should be formatted with no decimal places, at least one
+ // digit, and a thousands separator.
+ "1,000,000,000,000,000: =#,##0=;\n"
+
+ // %default is a more elaborate form of %simplified; It is basically
+ // the same, except that it introduces "and" before the ones digit
+ // when appropriate (basically, between the tens and ones digits) and
+ // separates the thousands groups with commas in values over 100,000.
+ "%default:\n"
+ // negative-number and fraction rules. These are the same
+ // as those for %simplified, but have to be stated here too
+ // because this is an entry point
+ "-x: minus >>;\n"
+ "x.x: << point >>;\n"
+ // just use %simplified for values below 100
+ "=%simplified=;\n"
+ // for values from 100 to 9,999 use %%and to decide whether or
+ // not to interpose the "and"
+ "100: << hundred[ >%%and>];\n"
+ "1000: << thousand[ >%%and>];\n"
+ // for values of 100,000 and up, use %%commas to interpose the
+ // commas in the right places (and also to interpose the "and")
+ "100,000>>: << thousand[>%%commas>];\n"
+ "1,000,000: << million[>%%commas>];\n"
+ "1,000,000,000: << billion[>%%commas>];\n"
+ "1,000,000,000,000: << trillion[>%%commas>];\n"
+ "1,000,000,000,000,000: =#,##0=;\n"
+ // if the value passed to this rule set is greater than 100, don't
+ // add the "and"; if it's less than 100, add "and" before the last
+ // digits
+ "%%and:\n"
+ "and =%default=;\n"
+ "100: =%default=;\n"
+ // this rule set is used to place the commas
+ "%%commas:\n"
+ // for values below 100, add "and" (the apostrophe at the
+ // beginning is ignored, but causes the space that follows it
+ // to be significant: this is necessary because the rules
+ // calling %%commas don't put a space before it)
+ "' and =%default=;\n"
+ // put a comma after the thousands (or whatever preceded the
+ // hundreds)
+ "100: , =%default=;\n"
+ // put a comma after the millions (or whatever precedes the
+ // thousands)
+ "1000: , <%default< thousand, >%default>;\n"
+ // and so on...
+ "1,000,000: , =%default=;"
+ // %%lenient-parse isn't really a set of number formatting rules;
+ // it's a set of collation rules. Lenient-parse mode uses a Collator
+ // object to compare fragments of the text being parsed to the text
+ // in the rules, allowing more leeway in the matching text. This set
+ // of rules tells the formatter to ignore commas when parsing (it
+ // already ignores spaces, which is why we refer to the space; it also
+ // ignores hyphens, making "twenty one" and "twenty-one" parse
+ // identically)
+ "%%lenient-parse:\n"
+ // "& ' ' , ',' ;\n"
+ " &\u0000 << ' ' << ',' << '-'; \n"
+ }
+
+
+// * This rule set adds an English ordinal abbreviation to the end of a
+// * number. For example, 2 is formatted as "2nd". Parsing doesn't work with
+// * this rule set. To parse, use DecimalFormat on the numeral.
+ OrdinalRules {
+ // this rule set formats the numeral and calls %%abbrev to
+ // supply the abbreviation
+ "%main:\n"
+ "=#,##0==%%abbrev=;\n"
+ // this rule set supplies the abbreviation
+ "%%abbrev:\n"
+ // the abbreviations. Everything from 4 to 19 ends in "th"
+ "th; st; nd; rd; th;\n"
+ // at 20, we begin repeating the cycle every 10 (13 is "13th",
+ // but 23 and 33 are "23rd" and "33rd") We do this by
+ // ignoring all bug the ones digit in selecting the abbreviation
+ "20: >>;\n"
+ // at 100, we repeat the whole cycle by considering only the
+ // tens and ones digits in picking an abbreviation
+ "100: >>;\n"
+ }
+
+// * This rule set formats a number of seconds in sexagesimal notation
+// * (i.e., hours, minutes, and seconds). %with-words formats it with
+// * words (3,740 is "1 hour, 2 minutes, 20 seconds") and %in-numerals
+// * formats it entirely in numerals (3,740 is "1:02:20").
+ DurationRules {
+ // main rule set for formatting with words
+ "%with-words:\n"
+ // take care of singular and plural forms of "second"
+ "0 seconds; 1 second; =0= seconds;\n"
+ // use %%min to format values greater than 60 seconds
+ "60/60: <%%min<[, >>];\n"
+ // use %%hr to format values greater than 3,600 seconds
+ // (the ">>>" below causes us to see the number of minutes
+ // when when there are zero minutes)
+ "3600/60: <%%hr<[, >>>];\n"
+ // this rule set takes care of the singular and plural forms
+ // of "minute"
+ "%%min:\n"
+ "0 minutes; 1 minute; =0= minutes;\n"
+ // this rule set takes care of the singular and plural forms
+ // of "hour"
+ "%%hr:\n"
+ "0 hours; 1 hour; =0= hours;\n"
+
+ // main rule set for formatting in numerals
+ "%in-numerals:\n"
+ // values below 60 seconds are shown with "sec."
+ "=0= sec.;\n"
+ // higher values are shown with colons: %%min-sec is used for
+ // values below 3,600 seconds...
+ "60: =%%min-sec=;\n"
+ // ...and %%hr-min-sec is used for values of 3,600 seconds
+ // and above
+ "3600: =%%hr-min-sec=;\n"
+ // this rule causes values of less than 10 minutes to show without
+ // a leading zero
+ "%%min-sec:\n"
+ "0: :=00=;\n"
+ "60/60: <0<>>;\n"
+ // this rule set is used for values of 3,600 or more. Minutes are always
+ // shown, and always shown with two digits
+ "%%hr-min-sec:\n"
+ "0: :=00=;\n"
+ "60/60: <00<>>;\n"
+ "3600/60: <#,##0<:>>>;\n"
+ // the lenient-parse rules allow several different characters to be used
+ // as delimiters between hours, minutes, and seconds
+ "%%lenient-parse:\n"
+ "& ':' = '.' = ' ' = '-';\n"
+ }
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/en_GB.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/en_GB.txt
new file mode 100644
index 00000000000..18a5fdfc4e7
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/en_GB.txt
@@ -0,0 +1,77 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+en_GB {
+
+ //------------------------------------------------------------
+ // Rule Based Number Format Support
+ //------------------------------------------------------------
+
+// * Spellout rules for U.K. English. U.K. English has one significant
+// * difference from U.S. English: the names for values of 1,000,000,000
+// * and higher. In American English, each successive "-illion" is 1,000
+// * times greater than the preceding one: 1,000,000,000 is "one billion"
+// * and 1,000,000,000,000 is "one trillion." In British English, each
+// * successive "-illion" is one million times greater than the one before:
+// * "one billion" is 1,000,000,000,000 (or what Americans would call a
+// * "trillion"), and "one trillion" is 1,000,000,000,000,000,000.
+// * 1,000,000,000 in British English is "one thousand million." (This
+// * value is sometimes called a "milliard," but this word seems to have
+// * fallen into disuse.)
+
+ // Could someone please correct me if I'm wrong about "milliard" falling
+ // into disuse, or have missed any other details of how large numbers
+ // are rendered. Also, could someone please provide me with information
+ // on which other English-speaking countries use which system? Right now,
+ // I'm assuming that the U.S. system is used in Canada and that all the
+ // other English-speaking countries follow the British system. Can
+ // someone out there confirm this?
+
+ SpelloutRules {
+ "%simplified:\n"
+ "-x: minus >>;\n"
+ "x.x: << point >>;\n"
+ "zero; one; two; three; four; five; six; seven; eight; nine;\n"
+ "ten; eleven; twelve; thirteen; fourteen; fifteen; sixteen;\n"
+ " seventeen; eighteen; nineteen;\n"
+ "20: twenty[->>];\n"
+ "30: thirty[->>];\n"
+ "40: forty[->>];\n"
+ "50: fifty[->>];\n"
+ "60: sixty[->>];\n"
+ "70: seventy[->>];\n"
+ "80: eighty[->>];\n"
+ "90: ninety[->>];\n"
+ "100: << hundred[ >>];\n"
+ "1000: << thousand[ >>];\n"
+ "1,000,000: << million[ >>];\n"
+ "1,000,000,000,000: << billion[ >>];\n"
+ "1,000,000,000,000,000: =#,##0=;\n"
+ "%default:\n"
+ "-x: minus >>;\n"
+ "x.x: << point >>;\n"
+ "=%simplified=;\n"
+ "100: << hundred[ >%%and>];\n"
+ "1000: << thousand[ >%%and>];\n"
+ "100,000>>: << thousand[>%%commas>];\n"
+ "1,000,000: << million[>%%commas>];\n"
+ "1,000,000,000,000: << billion[>%%commas>];\n"
+ "1,000,000,000,000,000: =#,##0=;\n"
+ "%%and:\n"
+ "and =%default=;\n"
+ "100: =%default=;\n"
+ "%%commas:\n"
+ "' and =%default=;\n"
+ "100: , =%default=;\n"
+ "1000: , <%default< thousand, >%default>;\n"
+ "1,000,000: , =%default=;"
+ "%%lenient-parse:\n"
+ "& ' ' , ',' ;\n"
+ }
+
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/eo.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/eo.txt
new file mode 100644
index 00000000000..c15edc2b68a
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/eo.txt
@@ -0,0 +1,36 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+eo {
+ //------------------------------------------------------------
+ // Rule Based Number Format Support
+ //------------------------------------------------------------
+
+// data from 'Esperanto-programita 1' courtesy of Markus Scherer
+
+ SpelloutRules {
+ "-x: minus >>;\n"
+ "x.x: << komo >>;\n"
+ "nulo; unu; du; tri; kvar; kvin; ses; sep; ok; na\u016d;\n"
+ "10: dek[ >>];\n"
+ "20: <<dek[ >>];\n"
+ "100: cent[ >>];\n"
+ "200: <<cent[ >>];\n"
+ "1000: mil[ >>];\n"
+ "2000: <<mil[ >>];\n"
+ "10000: dekmil[ >>];\n"
+ "11000>: << mil[ >>];\n"
+ "1,000,000: miliono[ >>];\n"
+ "2,000,000: << milionoj[ >>];\n"
+ "1,000,000,000: miliardo[ >>];\n"
+ "2,000,000,000: << miliardoj[ >>];\n"
+ "1,000,000,000,000: biliono[ >>];\n"
+ "2,000,000,000,000: << bilionoj[ >>];\n"
+ "1,000,000,000,000,000: =#,##0=;\n"
+ }
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/es.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/es.txt
new file mode 100644
index 00000000000..41968911e5b
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/es.txt
@@ -0,0 +1,74 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+es {
+ //------------------------------------------------------------
+ // Rule Based Number Format Support
+ //------------------------------------------------------------
+
+ // * Spellout rules for Spanish. The Spanish rules are quite similar to
+ // * the English rules, but there are some important differences:
+ // * First, we have to provide separate rules for most of the twenties
+ // * because the ones digit frequently picks up an accent mark that it
+ // * doesn't have when standing alone. Second, each multiple of 100 has
+ // * to be specified separately because the multiplier on 100 very often
+ // * changes form in the contraction: 500 is "quinientos," not
+ // * "cincocientos." In addition, the word for 100 is "cien" when
+ // * standing alone, but changes to "ciento" when followed by more digits.
+ // * There also some other differences.
+
+ // The Spanish rules are incomplete. I'm missing information on negative
+ // numbers and numbers with fractional parts. I also don't have
+ // information on numbers higher than the millions.
+
+ SpelloutRules {
+ // negative-number and fraction rules
+ "-x: menos >>;\n"
+ "x.x: << punto >>;\n"
+ // words for values from 0 to 19
+ "cero; uno; dos; tres; cuatro; cinco; seis; siete; ocho; nueve;\n"
+ "diez; once; doce; trece; catorce; quince; diecis\u00e9is;\n"
+ " diecisiete; dieciocho; diecinueve;\n"
+ // words for values from 20 to 29 (necessary because the ones digit
+ // often picks up an accent mark it doesn't have when standing alone)
+ "veinte; veintiuno; veintid\u00f3s; veintitr\u00e9s; veinticuatro;\n"
+ " veinticinco; veintis\u00e9is; veintisiete; veintiocho;\n"
+ " veintinueve;\n"
+ // words for multiples of 10 (notice that the tens digit is separated
+ // from the ones digit by the word "y".)
+ "30: treinta[ y >>];\n"
+ "40: cuarenta[ y >>];\n"
+ "50: cincuenta[ y >>];\n"
+ "60: sesenta[ y >>];\n"
+ "70: setenta[ y >>];\n"
+ "80: ochenta[ y >>];\n"
+ "90: noventa[ y >>];\n"
+ // 100 by itself is "cien," but 100 followed by something is "cineto"
+ "100: cien;\n"
+ "101: ciento >>;\n"
+ // words for multiples of 100 (must be stated because they're
+ // rarely simple concatenations)
+ "200: doscientos[ >>];\n"
+ "300: trescientos[ >>];\n"
+ "400: cuatrocientos[ >>];\n"
+ "500: quinientos[ >>];\n"
+ "600: seiscientos[ >>];\n"
+ "700: setecientos[ >>];\n"
+ "800: ochocientos[ >>];\n"
+ "900: novecientos[ >>];\n"
+ // for 1,000, the multiplier on "mil" is omitted: 2,000 is "dos mil,"
+ // but 1,000 is just "mil."
+ "1000: mil[ >>];\n"
+ "2000: << mil[ >>];\n"
+ // 1,000,000 is "un millon," not "uno millon"
+ "1,000,000: un mill\u00f3n[ >>];\n"
+ "2,000,000: << mill\u00f3n[ >>];\n"
+ // overflow rule
+ "1,000,000,000: =#,##0= (incomplete data);"
+ }
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/fa.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/fa.txt
new file mode 100644
index 00000000000..407e81df6ba
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/fa.txt
@@ -0,0 +1,39 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+fa {
+ SpelloutRules {
+ "%main:\n"
+ "-x: \u0645\u0646\u0641\u06cc >>;\n"
+ "x.x: << \u0645\u0645\u06cc\u0632 >>;\n"
+ "\u0635\u0641\u0631; \u06cc\u06a9; \u062f\u0648; \u0633\u0647; \u0686\u0647\u0627\u0631; \u067e\u0646\u062c; \u0634\u0634; \u0647\u0641\u062a; \u0647\u0634\u062a; \u0646\u0647;\n"
+ "\u062f\u0647; \u06cc\u0627\u0632\u062f\u0647; \u062f\u0648\u0627\u0632\u062f\u0647; \u0633\u06cc\u0632\u062f\u0647; \u0686\u0647\u0627\u0631\u062f\u0647; \u067e\u0627\u0646\u0632\u062f\u0647; \u0634\u0627\u0646\u0632\u062f\u0647;\n"
+ " \u0647\u0641\u062f\u0647; \u0647\u062c\u062f\u0647; \u0646\u0648\u0632\u062f\u0647;\n"
+ "20: \u0628\u06cc\u0633\u062a[ \u0648 >>];\n"
+ "30: \u0633\u06cc[ \u0648 >>];\n"
+ "40: \u0686\u0647\u0644[ \u0648 >>];\n"
+ "50: \u067e\u0646\u062c\u0627\u0647[ \u0648 >>];\n"
+ "60: \u0634\u0635\u062a[ \u0648 >>];\n"
+ "70: \u0647\u0641\u062a\u0627\u062f[ \u0648 >>];\n"
+ "80: \u0647\u0634\u062a\u0627\u062f[ \u0648 >>];\n"
+ "90: \u0646\u0648\u062f[ \u0648 >>];\n"
+ "100: \u0635\u062f[ \u0648 >>];\n"
+ "200: \u062f\u0648\u06cc\u0633\u062a[ \u0648 >>];\n"
+ "300: \u0633\u06cc\u0635\u062f[ \u0648 >>];\n"
+ "400: \u0686\u0647\u0627\u0631\u0635\u062f[ \u0648 >>];\n"
+ "500: \u067e\u0627\u0646\u0635\u062f[ \u0648 >>];\n"
+ "600: \u0634\u0634\u0635\u062f[ \u0648 >>];\n"
+ "700: \u0647\u0641\u062a\u0635\u062f[ \u0648 >>];\n"
+ "800: \u0647\u0634\u062a\u0635\u062f[ \u0648 >>];\n"
+ "900: \u0646\u0647\u0635\u062f[ \u0648 >>];\n"
+ "1000: << \u0647\u0632\u0627\u0631[ \u0648 >>];\n"
+ "1,000,000: << \u0645\u06cc\u0644\u06cc\u0648\u0646[ \u0648 >>];\n"
+ "1,000,000,000: << \u0645\u06cc\u0644\u06cc\u0627\u0631\u062f[ \u0648 >>];\n"
+ "1,000,000,000,000: =#,##0=;\n"
+ }
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/fa_AF.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/fa_AF.txt
new file mode 100644
index 00000000000..2a4e9640b9c
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/fa_AF.txt
@@ -0,0 +1,39 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+fa_AF {
+ SpelloutRules {
+ "%main:\n"
+ "-x: \u0645\u0646\u0641\u06cc >>;\n"
+ "x.x: << \u0639\u0634\u0627\u0631\u06cc\u0647 >>;\n"
+ "\u0635\u0641\u0631; \u06cc\u06a9; \u062f\u0648; \u0633\u0647; \u0686\u0647\u0627\u0631; \u067e\u0646\u062c; \u0634\u0634; \u0647\u0641\u062a; \u0647\u0634\u062a; \u0646\u0647;\n"
+ "\u062f\u0647; \u06cc\u0627\u0632\u062f\u0647; \u062f\u0648\u0627\u0632\u062f\u0647; \u0633\u06cc\u0632\u062f\u0647; \u0686\u0647\u0627\u0631\u062f\u0647; \u067e\u0627\u0646\u0632\u062f\u0647; \u0634\u0627\u0646\u0632\u062f\u0647;\n"
+ " \u0647\u0641\u062f\u0647; \u0647\u062c\u062f\u0647; \u0646\u0632\u062f\u0647;\n"
+ "20: \u0628\u06cc\u0633\u062a[ \u0648 >>];\n"
+ "30: \u0633\u06cc[ \u0648 >>];\n"
+ "40: \u0686\u0647\u0644[ \u0648 >>];\n"
+ "50: \u067e\u0646\u062c\u0627\u0647[ \u0648 >>];\n"
+ "60: \u0634\u0635\u062a[ \u0648 >>];\n"
+ "70: \u0647\u0641\u062a\u0627\u062f[ \u0648 >>];\n"
+ "80: \u0647\u0634\u062a\u0627\u062f[ \u0648 >>];\n"
+ "90: \u0646\u0648\u062f[ \u0648 >>];\n"
+ "100: \u0635\u062f[ \u0648 >>];\n"
+ "200: \u062f\u0648\u0635\u062f[ \u0648 >>];\n"
+ "300: \u0633\u0647\u200c\u0635\u062f[ \u0648 >>];\n"
+ "400: \u0686\u0647\u0627\u0631\u0635\u062f[ \u0648 >>];\n"
+ "500: \u067e\u0646\u062c\u0635\u062f[ \u0648 >>];\n"
+ "600: \u0634\u0634\u0635\u062f[ \u0648 >>];\n"
+ "700: \u0647\u0641\u062a\u0635\u062f[ \u0648 >>];\n"
+ "800: \u0647\u0634\u062a\u0635\u062f[ \u0648 >>];\n"
+ "900: \u0646\u0647\u0635\u062f[ \u0648 >>];\n"
+ "1000: << \u0647\u0632\u0627\u0631[ \u0648 >>];\n"
+ "1,000,000: << \u0645\u06cc\u0644\u06cc\u0648\u0646[ \u0648 >>];\n"
+ "1,000,000,000: << \u0645\u06cc\u0644\u06cc\u0627\u0631\u062f[ \u0648 >>];\n"
+ "1,000,000,000,000: =#,##0=;\n"
+ }
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/fr.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/fr.txt
new file mode 100644
index 00000000000..6d1fbd50686
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/fr.txt
@@ -0,0 +1,79 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+fr {
+
+ //------------------------------------------------------------
+ // Rule Based Number Format Support
+ //------------------------------------------------------------
+
+ // * Spellout rules for French. French adds some interesting quirks of its
+ // * own: 1) The word "et" is interposed between the tens and ones digits,
+ // * but only if the ones digit if 1: 20 is "vingt," and 2 is "vingt-deux,"
+ // * but 21 is "vingt-et-un." 2) There are no words for 70, 80, or 90.
+ // * "quatre-vingts" ("four twenties") is used for 80, and values proceed
+ // * by score from 60 to 99 (e.g., 73 is "soixante-treize" ["sixty-thirteen"]).
+ // * Numbers from 1,100 to 1,199 are rendered as hundreds rather than
+ // * thousands: 1,100 is "onze cents" ("eleven hundred"), rather than
+ // * "mille cent" ("one thousand one hundred")
+
+ SpelloutRules {
+ // the main rule set
+ "%main:\n"
+ "-x: moins >>;\n"
+ "x.x: << virgule >>;\n"
+ // words for numbers from 0 to 10
+ "z\u00e9ro; un; deux; trois; quatre; cinq; six; sept; huit; neuf;\n"
+ "dix; onze; douze; treize; quatorze; quinze; seize;\n"
+ " dix-sept; dix-huit; dix-neuf;\n"
+ // ords for the multiples of 10: %%alt-ones inserts "et"
+ // when needed
+ "20: vingt[->%%alt-ones>];\n"
+ "30: trente[->%%alt-ones>];\n"
+ "40: quarante[->%%alt-ones>];\n"
+ "50: cinquante[->%%alt-ones>];\n"
+ // rule for 60. The /20 causes this rule's multiplier to be
+ // 20 rather than 10, allowinhg us to recurse for all values
+ // from 60 to 79...
+ "60/20: soixante[->%%alt-ones>];\n"
+ // ...except for 71, which must be special-cased
+ "71: soixante et onze;\n"
+ // at 72, we have to repeat the rule for 60 to get us to 79
+ "72/20: soixante->%%alt-ones>;\n"
+ // at 80, we state a new rule with the phrase for 80. Since
+ // it changes form when there's a ones digit, we need a second
+ // rule at 81. This rule also includes "/20," allowing it to
+ // be used correctly for all values up to 99
+ "80: quatre-vingts; 81/20: quatre-vingt->>;\n"
+ // "cent" becomes plural when preceded by a multiplier, and
+ // the multiplier is omitted from the singular form
+ "100: cent[ >>];\n"
+ "200: << cents[ >>];\n"
+ "1000: mille[ >>];\n"
+ // values from 1,100 to 1,199 are rendered as "onze cents..."
+ // instead of "mille cent..." The > after "1000" decreases
+ // the rule's exponent, causing its multiplier to be 100 instead
+ // of 1,000. This prevents us from getting "onze cents cent
+ // vingt-deux" ("eleven hundred one hundred twenty-two").
+ "1100>: onze cents[ >>];\n"
+ // at 1,200, we go back to formating in thousands, so we
+ // repeat the rule for 1,000
+ "1200: mille >>;\n"
+ // at 2,000, the multiplier is added
+ "2000: << mille[ >>];\n"
+ "1,000,000: << million[ >>];\n"
+ "1,000,000,000: << milliard[ >>];\n"
+ "1,000,000,000,000: << billion[ >>];\n"
+ "1,000,000,000,000,000: =#,##0=;\n"
+ // %%alt-ones is used to insert "et" when the ones digit is 1
+ "%%alt-ones:\n"
+ "; et-un; =%main=;\n"
+ "%%lenient-parse:\n"
+ "&\u0000 << ' ' << ',' << '-';\n"
+ }
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/fr_BE.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/fr_BE.txt
new file mode 100644
index 00000000000..280c20e1ca7
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/fr_BE.txt
@@ -0,0 +1,14 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+fr_BE {
+ // Reuse Swiss French spellout rules. Also for French in Zaire,
+ // but we've no locale for it yet.
+
+ SpelloutRules:alias { "fr_CH" }
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/fr_CH.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/fr_CH.txt
new file mode 100644
index 00000000000..8164afde2f5
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/fr_CH.txt
@@ -0,0 +1,57 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+fr_CH {
+ //------------------------------------------------------------
+ // Rule Based Number Format Support
+ //------------------------------------------------------------
+
+// * Spellout rules for Swiss French. Swiss French differs from French French
+// * in that it does have words for 70, 80, and 90. This rule set shows them,
+// * and is simpler as a result.
+
+ // again, I'm missing information on negative numbers and decimals for
+ // these to rule sets. Also, I'm not 100% sure about Swiss French. Is
+ // this correct? Is "onze cents" commonly used for 1,100 in both France
+ // and Switzerland? Can someone fill me in on the rules for the other
+ // French-speaking countries? I've heard conflicting opinions on which
+ // version is used in Canada, and I understand there's an alternate set
+ // of words for 70, 80, and 90 that is used somewhere, but I don't know
+ // what those words are or where they're used.
+
+ SpelloutRules {
+ "%main:\n"
+ "-x: moins >>;\n"
+ "x.x: << virgule >>;\n"
+ "z\u00e9ro; un; deux; trois; quatre; cinq; six; sept; huit; neuf;\n"
+ "dix; onze; douze; treize; quatorze; quinze; seize;\n"
+ " dix-sept; dix-huit; dix-neuf;\n"
+ "20: vingt[->%%alt-ones>];\n"
+ "30: trente[->%%alt-ones>];\n"
+ "40: quarante[->%%alt-ones>];\n"
+ "50: cinquante[->%%alt-ones>];\n"
+ "60: soixante[->%%alt-ones>];\n"
+ // notice new words for 70, 80, and 90
+ "70: septante[->%%alt-ones>];\n"
+ "80: huitante[->%%alt-ones>];\n"
+ "90: nonante[->%%alt-ones>];\n"
+ "100: cent[ >>];\n"
+ "200: << cents[ >>];\n"
+ "1000: mille[ >>];\n"
+ "1100>: onze cents[ >>];\n"
+ "1200: mille >>;\n"
+ "2000: << mille[ >>];\n"
+ "1,000,000: << million[ >>];\n"
+ "1,000,000,000: << milliarde[ >>];\n"
+ "1,000,000,000,000: << billion[ >>];\n"
+ "1,000,000,000,000,000: =#,##0=;\n"
+ "%%alt-ones:\n"
+ "; et-un; =%main=;"
+ }
+
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/ga.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/ga.txt
new file mode 100644
index 00000000000..ad40a9cff92
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/ga.txt
@@ -0,0 +1,337 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+ga {
+ SpelloutRules {
+
+ // Maoluimhreacha
+ "%default:\n"
+ "-x: míneas >>;\n"
+ "x.x: << pointe >>;\n"
+ "a náid; a haon; a dó; a trí; a ceathair; a cúig;\n"
+ "a sé; a seacht; a hocht; a naoi; a deich;\n"
+ "a haon déag; a dó dhéag;\n"
+ ">> déag;\n"
+ "20: fiche[ >>];\n"
+ "30: tríocha[ >>];\n"
+ "40: daichead[ >>];\n"
+ "50: caoga[ >>];\n"
+ "60: seasca[ >>];\n"
+ "70: seachtó[ >>];\n"
+ "80: ochtó[ >>];\n"
+ "90: nócha[ >>];\n"
+ "100: <%%hundreds<[ >%%hundreds_is>];\n"
+ "1,000: <%%thousands<[, >>];\n"
+ "1,000,000: <%%millions<[, >>];\n"
+ "1,000,000,000: <%%billions<[, >>];\n"
+ "1,000,000,000,000: <%%trillions<[, >>];\n"
+ "1,000,000,000,000,000: =#,##0=;\n"
+
+ "%%cardwithnumber:"
+ " ; aon; dhá; trí; ceithre; cúig; sé; seacht; ocht; naoi; deich;\n"
+ " aon; dhá; trí; ceithre; cúig; sé; seacht; ocht; naoi;\n"
+ "20: fiche[ is >>];\n"
+ "30: tríocha[ is >>];\n"
+ "40: daichead[ is >>];\n"
+ "50: caoga[ is >>];\n"
+ "60: seasca[ is >>];\n"
+ "70: seachtó[ is >>];\n"
+ "80: ochtó[ is >>];\n"
+ "90: nócha[ is >>];\n"
+ "100: <%%hundreds<[ >%%hundreds_is>];\n"
+ "1,000: <%%thousands<[ >%%cardwithnumber>];\n"
+ "1,000,000: <%%millions<[ >%%cardwithnumber>];\n"
+ "1,000,000,000: <%%billions<[ >%%cardwithnumber>];\n"
+ "1,000,000,000,000: <%%trillions<[ >%%cardwithnumber>];\n"
+ "1,000,000,000,000,000: =#,##0=;\n"
+
+ // rules to give hundreds value
+ "%%hundreds:\n"
+ "1: céad;\n"
+ "2: <%%cardwithnumber< chéad;\n"
+ "7: <%%cardwithnumber< gcéad;\n"
+ // Put in "is" after céad when a multiple of 10
+ "%%hundreds_is:\n"
+ "0:;\n"
+ "=%default=;\n"
+ "20: is =%default=;\n"
+ "21: =%default=;\n"
+ "30: is =%default=;\n"
+ "31: =%default=;\n"
+ "40: is =%default=;\n"
+ "41: =%default=;\n"
+ "50: is =%default=;\n"
+ "51: =%default=;\n"
+ "60: is =%default=;\n"
+ "61: =%default=;\n"
+ "70: is =%default=;\n"
+ "71: =%default=;\n"
+ "80: is =%default=;\n"
+ "81: =%default=;\n"
+ "90: is =%default=;\n"
+ "91: =%default=;\n"
+
+ // rules to give thousands value
+ "%%thousands:\n"
+ "0: míle;\n"
+ "2: <%%cardwithnumber< mhíle;\n"
+ "7: <%%cardwithnumber< míle;\n"
+ "11>: <%%cardwithnumber< mhíle dhéag;\n"
+ "17>: <%%cardwithnumber< míle dhéag;\n"
+ "20>: <%%cardwithnumber< míle;\n"
+ "21>: <%%cardwithnumber< mhíle;\n"
+ "27>: <%%cardwithnumber< míle;\n"
+ "31>: <%%cardwithnumber< mhíle;\n"
+ "37>: <%%cardwithnumber< míle;\n"
+ "41>: <%%cardwithnumber< mhíle;\n"
+ "47>: <%%cardwithnumber< míle;\n"
+ "51>: <%%cardwithnumber< mhíle;\n"
+ "57>: <%%cardwithnumber< míle;\n"
+ "61>: <%%cardwithnumber< mhíle;\n"
+ "67>: <%%cardwithnumber< míle;\n"
+ "71>: <%%cardwithnumber< mhíle;\n"
+ "77>: <%%cardwithnumber< míle;\n"
+ "81>: <%%cardwithnumber< mhíle;\n"
+ "87>: <%%cardwithnumber< míle;\n"
+ "91>: <%%cardwithnumber< mhíle;\n"
+ "97>: <%%cardwithnumber< míle;\n"
+ " 100: <%%hundreds< >%%thousands_is>;\n"
+
+ // Put in "is" after míle when a multiple of 10
+ "%%thousands_is:\n"
+ "0: míle;\n"
+ "1: is =%%cardwithnumber= mhíle;\n"
+ "7: is =%%cardwithnumber= míle;\n"
+ "11>: is <%%thousands<;\n"
+ "20: is =%%thousands=;\n"
+ "21: =%%thousands=;\n"
+ "30: is =%%thousands=;\n"
+ "31: =%%thousands=;\n"
+ "40: is =%%thousands=;\n"
+ "41: =%%thousands=;\n"
+ "50: is =%%thousands=;\n"
+ "51: =%%thousands=;\n"
+ "60: is =%%thousands=;\n"
+ "61: =%%thousands=;\n"
+ "70: is =%%thousands=;\n"
+ "71: =%%thousands=;\n"
+ "80: is =%%thousands=;\n"
+ "81: =%%thousands=;\n"
+ "90: is =%%thousands=;\n"
+ "91: =%%thousands=;\n"
+
+
+ // rules to give millions value
+ "%%millions:\n"
+ "1: milliún;\n"
+ "2: <%%cardwithnumber< mhilliún;\n"
+ "7: <%%cardwithnumber< milliún;\n"
+ "11>: <%%cardwithnumber< mhilliún déag;\n"
+ "17>: <%%cardwithnumber< milliún déag;\n"
+ "20>: <%%cardwithnumber< milliún;\n"
+ "21>: <%%cardwithnumber< mhilliún;\n"
+ "27>: <%%cardwithnumber< milliún;\n"
+ "31>: <%%cardwithnumber< mhilliún;\n"
+ "37>: <%%cardwithnumber< milliún;\n"
+ "41>: <%%cardwithnumber< mhilliún;\n"
+ "47>: <%%cardwithnumber< milliún;\n"
+ "51>: <%%cardwithnumber< mhilliún;\n"
+ "57>: <%%cardwithnumber< milliún;\n"
+ "61>: <%%cardwithnumber< mhilliún;\n"
+ "67>: <%%cardwithnumber< milliún;\n"
+ "71>: <%%cardwithnumber< mhilliún;\n"
+ "77>: <%%cardwithnumber< milliún;\n"
+ "81>: <%%cardwithnumber< mhilliún;\n"
+ "87>: <%%cardwithnumber< milliún;\n"
+ "91>: <%%cardwithnumber< mhilliún;\n"
+ "97>: <%%cardwithnumber< milliún;\n"
+ " 100: <%%hundreds< >%%millions_is>;\n"
+
+ // Put in "is" after milliún when a multiple of 10
+ "%%millions_is:\n"
+ "0: milliún;\n"
+ "1: is =%%cardwithnumber= mhilliún;\n"
+ "7: is =%%cardwithnumber= milliún;\n"
+ "11>: is <%%millions<;\n"
+ "20: is =%%millions=;\n"
+ "21: =%%millions=;\n"
+ "30: is =%%millions=;\n"
+ "31: =%%millions=;\n"
+ "40: is =%%millions=;\n"
+ "41: =%%millions=;\n"
+ "50: is =%%millions=;\n"
+ "51: =%%millions=;\n"
+ "60: is =%%millions=;\n"
+ "61: =%%millions=;\n"
+ "70: is =%%millions=;\n"
+ "71: =%%millions=;\n"
+ "80: is =%%millions=;\n"
+ "81: =%%millions=;\n"
+ "90: is =%%millions=;\n"
+ "91: =%%millions=;\n"
+
+
+ // rules to give billions value
+ // to avoid ambiguity, no eclipsis or aspiration!
+ "%%billions:\n"
+ "1: billiún; <%%cardwithnumber< billiún;\n"
+ "11>: <%%cardwithnumber< billiún déag;\n"
+ "20>: <%%cardwithnumber< billiún;\n"
+ "100: <%%hundreds< >%%billions_is>;\n"
+
+ // Put in "is" after billiún when a multiple of 10
+ "%%billions_is:\n"
+ "0: billiún;\n"
+ "1: is =%%cardwithnumber= billiún;\n"
+ "7: is =%%cardwithnumber= billiún;\n"
+ "11>: is <%%billions<;\n"
+ "20: is =%%billions=;\n"
+ "21: =%%billions=;\n"
+ "30: is =%%billions=;\n"
+ "31: =%%billions=;\n"
+ "40: is =%%billions=;\n"
+ "41: =%%billions=;\n"
+ "50: is =%%billions=;\n"
+ "51: =%%billions=;\n"
+ "60: is =%%billions=;\n"
+ "61: =%%billions=;\n"
+ "70: is =%%billions=;\n"
+ "71: =%%billions=;\n"
+ "80: is =%%billions=;\n"
+ "81: =%%billions=;\n"
+ "90: is =%%billions=;\n"
+ "91: =%%billions=;\n"
+
+ // rules to give trillions value
+ "%%trillions:\n"
+ "1: milliún;\n"
+ "2: <%%cardwithnumber< thrilliún;\n"
+ "7: <%%cardwithnumber< dtrilliún;\n"
+ "11>: <%%cardwithnumber< thrilliún déag;\n"
+ "17>: <%%cardwithnumber< dtrilliún déag;\n"
+ "20>: <%%cardwithnumber< dtrilliún;\n"
+ "21>: <%%cardwithnumber< thrilliún;\n"
+ "27>: <%%cardwithnumber< dtrilliún;\n"
+ "31>: <%%cardwithnumber< thrilliún;\n"
+ "37>: <%%cardwithnumber< dtrilliún;\n"
+ "41>: <%%cardwithnumber< thrilliún;\n"
+ "47>: <%%cardwithnumber< dtrilliún;\n"
+ "51>: <%%cardwithnumber< thrilliún;\n"
+ "57>: <%%cardwithnumber< dtrilliún;\n"
+ "61>: <%%cardwithnumber< thrilliún;\n"
+ "67>: <%%cardwithnumber< dtrilliún;\n"
+ "71>: <%%cardwithnumber< thrilliún;\n"
+ "77>: <%%cardwithnumber< dtrilliún;\n"
+ "81>: <%%cardwithnumber< thrilliún;\n"
+ "87>: <%%cardwithnumber< dtrilliún;\n"
+ "91>: <%%cardwithnumber< thrilliún;\n"
+ "97>: <%%cardwithnumber< dtrilliún;\n"
+ " 100: <%%hundreds< >%%trillions_is;\n"
+
+ // Put in "is" after trilliún when a multiple of 10
+ "%%trillions_is:\n"
+ "0: trilliún;\n"
+ "1: is =%%cardwithnumber= thrilliún;\n"
+ "7: is =%%cardwithnumber= dtrilliún;\n"
+ "11>: is <%%trillions<;\n"
+ "20: is =%%trillions=;\n"
+ "21: =%%trillions=;\n"
+ "30: is =%%trillions=;\n"
+ "31: =%%trillions=;\n"
+ "40: is =%%trillions=;\n"
+ "41: =%%trillions=;\n"
+ "50: is =%%trillions=;\n"
+ "51: =%%trillions=;\n"
+ "60: is =%%trillions=;\n"
+ "61: =%%trillions=;\n"
+ "70: is =%%trillions=;\n"
+ "71: =%%trillions=;\n"
+ "80: is =%%trillions=;\n"
+ "81: =%%trillions=;\n"
+ "90: is =%%trillions=;\n"
+ "91: =%%trillions=;\n"
+
+ "%%lenient-parse:\n"
+ "& ' ' , ',' ;\n"
+ }
+
+ // This rule set formats a number of seconds in sexagesimal notation
+ // (i.e., hours, minutes, and seconds). %with-words formats it with
+ // words (3,740 is "1 uair, 2 nóiméad, 20 soicind") and %in-numerals
+ // formats it entirely in numerals (3,740 is "1:02:20").
+ // (Based on en rules)
+ DurationRules {
+ // main rule set for formatting with words
+ "%with-words:\n"
+ // seconds
+ "=0= soicind;\n"
+ // use %%min to format values greater than 60 seconds
+ "60/60: <%%min<[, >>];\n"
+ // use %%hr to format values greater than 3,600 seconds
+ // (the ">>>" below causes us to see the number of minutes
+ // when when there are zero minutes)
+ "3600/60: <%%hr<[, >>>];\n"
+ // minutes
+ "%%min:\n"
+ "=0= nóiméad;\n"
+ // hours
+ "%%hr:\n"
+ // casta -- fch. l.40 Caighdeán Oifigiúil
+ "0: =0= uair;\n"
+ "3: =0= huaire;\n"
+ "5: =0= uaire;\n"
+ "6: =0= huaire;\n"
+ "7: =0= n-uaire;\n"
+ "10: =0= n-uair;\n"
+ "11: =0= >%%uaire>;\n"
+ // Tricky bit: next rule does numbers ending in 0; see Gillam's paper
+ // where it explains minor substitutions for 101 to understand.
+ "20: =0= uair; =0= >%%uaire>;\n"
+
+ // "uaire", except after nos. ending in 1, 2 or 0 when "uair"
+ "%%uaire:\n"
+ "1: uair;\n"
+ "3: huaire;\n"
+ "5: uaire;\n"
+ "6: huaire;\n"
+ "7: n-uaire;\n"
+
+ // rules giving hh:mm:ss with all fields shown always
+ "%hms:\n"
+ "0: :=00=;\n"
+ "60/60: :<00<>>>;\n"
+ "3600/60: <#,##0<>>>;\n"
+
+ // main rule set for formatting in numerals
+ "%in-numerals:\n"
+ // values below 60 seconds are shown with "s"
+ "=0=s;\n"
+ // higher values are shown with colons: %%min-sec is used for
+ // values below 3,600 seconds...
+ "60: =%%min-sec=;\n"
+ // ...and %%hr-min-sec is used for values of 3,600 seconds
+ // and above
+ "3600: =%%hr-min-sec=;\n"
+ // this rule causes values of less than 10 minutes to show without
+ // a leading zero
+ "%%min-sec:\n"
+ "0: :=00=;\n"
+ "60/60: <0<>>;\n"
+ // this rule set is used for values of 3,600 or more. Minutes are always
+ // shown, and always shown with two digits
+ "%%hr-min-sec:\n"
+ "0: :=00=;\n"
+ "60/60: <00<>>;\n"
+ "3600/60: <#,##0<:>>>;\n"
+ // the lenient-parse rules allow several different characters to be used
+ // as delimiters between hours, minutes, and seconds
+ "%%lenient-parse:\n"
+ "& ':' = '.' = ' ' = '-';\n"
+ }
+
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/he.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/he.txt
new file mode 100644
index 00000000000..5105b9bf418
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/he.txt
@@ -0,0 +1,731 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+he {
+ //------------------------------------------------------------
+ // Rule Based Number Format Support
+ //------------------------------------------------------------
+
+ SpelloutRules {
+ "%%tunits:\n"
+ "\u05d0\u05e4\u05e1;\n"
+ "\u05d0\u05d7\u05ea;\n"
+ "\u05e9\u05ea\u05d9\u05d9\u05dd;\n"
+ "\u05e9\u05dc\u05d5\u05e9\u05ea;\n"
+ "\u05d0\u05e8\u05d1\u05e2\u05ea;\n"
+ "\u05d7\u05de\u05e9\u05ea;\n"
+ "\u05e9\u05e9\u05ea;\n"
+ "\u05e9\u05d1\u05e2\u05ea;\n"
+ "\u05e9\u05de\u05d5\u05e0\u05ea;\n"
+ "\u05ea\u05e9\u05e2\u05ea;\n"
+ "\u05e2\u05e9\u05e8\u05ea;\n"
+ "=%masculine=;\n"
+ "%%txunits:\n"
+ "\u05d5\u05d0\u05e4\u05e1;\n"
+ "\u05d5\u05d0\u05d7\u05ea;\n"
+ "\u05d5\u05e9\u05ea\u05d9\u05d9\u05dd;\n"
+ "\u05d5\u05e9\u05dc\u05d5\u05e9\u05ea;\n"
+ "\u05d5\u05d0\u05e8\u05d1\u05e2\u05ea;\n"
+ "\u05d5\u05d7\u05de\u05e9\u05ea;\n"
+ "\u05d5\u05e9\u05e9\u05ea;\n"
+ "\u05d5\u05e9\u05d1\u05e2\u05ea;\n"
+ "\u05d5\u05e9\u05de\u05d5\u05e0\u05ea;\n"
+ "\u05d5\u05ea\u05e9\u05e2\u05ea;\n"
+ "\u05d5\u05e2\u05e9\u05e8\u05ea;\n"
+ "=%%mxunits=;\n"
+ "%masculine:\n"
+ "-x: \u05de\u05d9\u05e0\u05d5\u05e1 >>;\n"
+ "x.x: <%masculine< \u05e0\u05e7\u05d5\u05d3\u05d4 >%%fraction>;\n"
+ "\u05d0\u05e4\u05e1;\n"
+ "\u05d0\u05d7\u05d3;\n"
+ "\u05e9\u05e0\u05d9\u05d9\u05dd;\n"
+ "\u05e9\u05dc\u05d5\u05e9\u05d4;\n"
+ "\u05d0\u05e8\u05d1\u05e2\u05d4;\n"
+ "\u05d7\u05de\u05d9\u05e9\u05d4;\n"
+ "\u05e9\u05d9\u05e9\u05d4;\n"
+ "\u05e9\u05d1\u05e2\u05d4;\n"
+ "\u05e9\u05de\u05d5\u05e0\u05d4;\n"
+ "\u05ea\u05e9\u05e2\u05d4;\n"
+ "\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d0\u05d7\u05d3\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05e9\u05e0\u05d9\u05dd\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05e9\u05dc\u05d5\u05e9\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d0\u05e8\u05d1\u05e2\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d7\u05de\u05d9\u05e9\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05e9\u05d9\u05e9\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05e9\u05d1\u05e2\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05e9\u05de\u05d5\u05e0\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05ea\u05e9\u05e2\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "20: \u05e2\u05e9\u05e8\u05d9\u05dd[ \u05d5>>];\n"
+ "30: \u05e9\u05dc\u05d5\u05e9\u05d9\u05dd[ \u05d5>>];\n"
+ "40: \u05d0\u05e8\u05d1\u05e2\u05d9\u05dd[ \u05d5>>];\n"
+ "50: \u05d7\u05de\u05d9\u05e9\u05d9\u05dd[ \u05d5>>];\n"
+ "60: \u05e9\u05d9\u05e9\u05d9\u05dd[ \u05d5>>];\n"
+ "70: \u05e9\u05d1\u05e2\u05d9\u05dd[ \u05d5>>];\n"
+ "80: \u05e9\u05de\u05d5\u05e0\u05d9\u05dd[ \u05d5>>];\n"
+ "90: \u05ea\u05e9\u05e2\u05d9\u05dd[ \u05d5>>];\n"
+ "100: \u05de\u05d0\u05d4[ >%%mxunits>];\n"
+ "200: \u05de\u05d0\u05ea\u05d9\u05d9\u05dd[ >%%mxunits>];\n"
+ "300: <%feminine< \u05de\u05d0\u05d5\u05ea[ >%%mxunits>];\n"
+ "1000: \u05d0\u05dc\u05e3[ >%%mxunits>];\n"
+ "2000: \u05d0\u05dc\u05e4\u05d9\u05d9\u05dd[ >%%mxunits>];\n"
+ "3000: <%%tunits< \u05d0\u05dc\u05e4\u05d9\u05dd[ >%%mxunits>];\n"
+ "11000/1000: << \u05d0\u05dc\u05e3[ >%%mxunits>];\n"
+
+ "1,000,000: \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >%%mxunits>];\n"
+ "2,000,000: \u05e9\u05e0\u05d9 \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >%%mxunits>];\n"
+ "3,000,000: << \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >%%mxunits>];\n"
+ "1,000,000,000: \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >%%mxunits>];\n"
+ "2,000,000,000: \u05e9\u05e0\u05d9 \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >%%mxunits>];\n"
+ "3,000,000,000: << \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >%%mxunits>];\n"
+ "1,000,000,000,000: \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >%%mxunits>];\n"
+ "2,000,000,000,000: \u05e9\u05e0\u05d9 \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >%%mxunits>];\n"
+ "3,000,000,000,000: << \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >%%mxunits>];\n"
+ "1,000,000,000,000,000: =#,###.##=;\n"
+ "%%fraction:\n"
+ "10: <%feminine<<;\n"
+ "100: <%feminine<<;\n"
+ "1000: <%feminine<<;\n"
+ "10,000: <%feminine<<;\n"
+ "100,000: <%feminine<<;\n"
+ "1,000,000: <%feminine<<;\n"
+ "10,000,000: <%feminine<<;\n"
+ "100,000,000: <%feminine<<;\n"
+ "1,000,000,000: <%feminine<<;\n"
+ "10,000,000,000: <#,##0<;\n"
+ "%%mxunits:\n"
+ "0:;\n"
+ "\u05d5\u05d0\u05d7\u05d3;\n"
+ "\u05d5\u05e9\u05e0\u05d9\u05d9\u05dd;\n"
+ "\u05d5\u05e9\u05dc\u05d5\u05e9\u05d4;\n"
+ "\u05d5\u05d0\u05e8\u05d1\u05e2\u05d4;\n"
+ "\u05d5\u05d7\u05de\u05d9\u05e9\u05d4;\n"
+ "\u05d5\u05e9\u05d9\u05e9\u05d4;\n"
+ "\u05d5\u05e9\u05d1\u05e2\u05d4;\n"
+ "\u05d5\u05e9\u05de\u05d5\u05e0\u05d4;\n"
+ "\u05d5\u05ea\u05e9\u05e2\u05d4;\n"
+ "\u05d5\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d5\u05d0\u05d7\u05d3\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d5\u05e9\u05e0\u05d9\u05dd\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d5\u05e9\u05dc\u05d5\u05e9\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d5\u05d0\u05e8\u05d1\u05e2\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d5\u05d7\u05de\u05d9\u05e9\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d5\u05e9\u05d9\u05e9\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d5\u05e9\u05d1\u05e2\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d5\u05e9\u05de\u05d5\u05e0\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d5\u05ea\u05e9\u05e2\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "20: \u05d5\u05e2\u05e9\u05e8\u05d9\u05dd;\n"
+ "21: \u05e2\u05e9\u05e8\u05d9\u05dd >>;\n"
+ "30: \u05d5\u05e9\u05dc\u05d5\u05e9\u05d9\u05dd;\n"
+ "31: \u05e9\u05dc\u05d5\u05e9\u05d9\u05dd >>;\n"
+ "40: \u05d5\u05d0\u05e8\u05d1\u05e2\u05d9\u05dd;\n"
+ "41: \u05d0\u05e8\u05d1\u05e2\u05d9\u05dd >>;\n"
+ "50: \u05d5\u05d7\u05de\u05d9\u05e9\u05d9\u05dd;\n"
+ "51: \u05d7\u05de\u05d9\u05e9\u05d9\u05dd >>;\n"
+ "60: \u05d5\u05e9\u05d9\u05e9\u05d9\u05dd;\n"
+ "61: \u05e9\u05d9\u05e9\u05d9\u05dd >>;\n"
+ "70: \u05d5\u05e9\u05d1\u05e2\u05d9\u05dd;\n"
+ "71: \u05e9\u05d1\u05e2\u05d9\u05dd >>;\n"
+ "80: \u05d5\u05e9\u05de\u05d5\u05e0\u05d9\u05dd;\n"
+ "81: \u05e9\u05de\u05d5\u05e0\u05d9\u05dd >>;\n"
+ "90: \u05d5\u05ea\u05e9\u05e2\u05d9\u05dd;\n"
+ "91: \u05ea\u05e9\u05e2\u05d9\u05dd >>;\n"
+ "100: \u05d5\u05de\u05d0\u05d4;\n"
+ "101: \u05de\u05d0\u05d4 >>;\n"
+ "200: \u05d5\u05de\u05d0\u05ea\u05d9\u05d9\u05dd;\n"
+ "201: \u05de\u05d0\u05ea\u05d9\u05d9\u05dd >>;\n"
+ "300: \u05d5\u05e9\u05dc\u05d5\u05e9 \u05de\u05d0\u05d5\u05ea;\n"
+ "301: \u05e9\u05dc\u05d5\u05e9 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "400: \u05d5\u05d0\u05e8\u05d1\u05e2 \u05de\u05d0\u05d5\u05ea;\n"
+ "401: \u05d0\u05e8\u05d1\u05e2 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "500: \u05d5\u05d7\u05de\u05e9 \u05de\u05d0\u05d5\u05ea;\n"
+ "501: \u05d7\u05de\u05e9 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "600: \u05d5\u05e9\u05e9 \u05de\u05d0\u05d5\u05ea;\n"
+ "601: \u05e9\u05e9 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "700: \u05d5\u05e9\u05d1\u05e2 \u05de\u05d0\u05d5\u05ea;\n"
+ "701: \u05e9\u05d1\u05e2 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "800: \u05d5\u05e9\u05de\u05d5\u05e0\u05d4 \u05de\u05d0\u05d5\u05ea;\n"
+ "801: \u05e9\u05de\u05d5\u05e0\u05d4 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "900: \u05d5\u05ea\u05e9\u05e2 \u05de\u05d0\u05d5\u05ea;\n"
+ "901: \u05ea\u05e9\u05e2 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "1000: \u05d5\u05d0\u05dc\u05e3[ >>];\n"
+ "2000: \u05d5\u05d0\u05dc\u05e4\u05d9\u05d9\u05dd[ >>];\n"
+ "3000: <%%txunits< \u05d0\u05dc\u05e4\u05d9\u05dd[ >>];\n"
+ "11000/1000: << \u05d0\u05dc\u05e3[ >>];\n"
+ "1,000,000: \u05d5\u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "2,000,000: \u05d5\u05e9\u05e0\u05d9 \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "3,000,000: << \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "1,000,000,000: \u05d5\u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >>];\n"
+ "2,000,000,000: \u05d5\u05e9\u05e0\u05d9 \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >>];\n"
+ "3,000,000,000: << \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >>];\n"
+ "1,000,000,000,000: \u05d5\u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "2,000,000,000,000: \u05d5\u05e9\u05e0\u05d9 \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "3,000,000,000,000: << \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "1,000,000,000,000,000: =#,###.##=;\n"
+ "%feminine:\n"
+ "-x: \u05de\u05d9\u05e0\u05d5\u05e1 >>;\n"
+ "x.x: <%feminine< \u05e0\u05e7\u05d5\u05d3\u05d4 >%%fraction>;\n"
+ "\u05d0\u05e4\u05e1;\n"
+ "\u05d0\u05d7\u05ea;\n"
+ "\u05e9\u05ea\u05d9\u05d9\u05dd;\n"
+ "\u05e9\u05dc\u05d5\u05e9;\n"
+ "\u05d0\u05e8\u05d1\u05e2;\n"
+ "\u05d7\u05de\u05e9;\n"
+ "\u05e9\u05e9;\n"
+ "\u05e9\u05d1\u05e2;\n"
+ "\u05e9\u05de\u05d5\u05e0\u05d4;\n"
+ "\u05ea\u05e9\u05e2;\n"
+ "\u05e2\u05e9\u05e8;\n"
+ "\u05d0\u05d7\u05ea\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05e9\u05ea\u05d9\u05dd\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05e9\u05dc\u05d5\u05e9\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d0\u05e8\u05d1\u05e2\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d7\u05de\u05e9\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05e9\u05e9\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05e9\u05d1\u05e2\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05e9\u05de\u05d5\u05e0\u05d4\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05ea\u05e9\u05e2\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "20: \u05e2\u05e9\u05e8\u05d9\u05dd[ \u05d5>>];\n"
+ "30: \u05e9\u05dc\u05d5\u05e9\u05d9\u05dd[ \u05d5>>];\n"
+ "40: \u05d0\u05e8\u05d1\u05e2\u05d9\u05dd[ \u05d5>>];\n"
+ "50: \u05d7\u05de\u05d9\u05e9\u05d9\u05dd[ \u05d5>>];\n"
+ "60: \u05e9\u05d9\u05e9\u05d9\u05dd[ \u05d5>>];\n"
+ "70: \u05e9\u05d1\u05e2\u05d9\u05dd[ \u05d5>>];\n"
+ "80: \u05e9\u05de\u05d5\u05e0\u05d9\u05dd[ \u05d5>>];\n"
+ "90: \u05ea\u05e9\u05e2\u05d9\u05dd[ \u05d5>>];\n"
+ "100: \u05de\u05d0\u05d4[ >%%fxunits>];\n"
+ "200: \u05de\u05d0\u05ea\u05d9\u05d9\u05dd[ >%%fxunits>];\n"
+ "300: << \u05de\u05d0\u05d5\u05ea[ >%%fxunits>];\n"
+ "1000: \u05d0\u05dc\u05e3[ >%%fxunits>];\n"
+ "2000: \u05d0\u05dc\u05e4\u05d9\u05d9\u05dd[ >%%fxunits>];\n"
+ "3000: <%%tunits< \u05d0\u05dc\u05e4\u05d9\u05dd[ >%%fxunits>];\n"
+ "11000/1000: <%masculine< \u05d0\u05dc\u05e3[ >%%fxunits>];\n"
+ "1,000,000: \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >%%fxunits>];\n"
+ "2,000,000: \u05e9\u05e0\u05d9 \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >%%fxunits>];\n"
+ "3,000,000: <%masculine< \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >%%fxunits>];\n"
+ "1,000,000,000: \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >%%fxunits>];\n"
+ "2,000,000,000: \u05e9\u05e0\u05d9 \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >%%fxunits>];\n"
+ "3,000,000,000: <%masculine< \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >%%fxunits>];\n"
+ "1,000,000,000,000: \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >%%fxunits>];\n"
+ "2,000,000,000,000: \u05e9\u05e0\u05d9 \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >%%fxunits>];\n"
+ "3,000,000,000,000: <%masculine< \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >%%fxunits>];\n"
+ "1,000,000,000,000,000: =#,###.##=;\n"
+ "%%fxunits:\n"
+ "0:;\n"
+ "\u05d5\u05d0\u05d7\u05ea;\n"
+ "\u05d5\u05e9\u05ea\u05d9\u05d9\u05dd;\n"
+ "\u05d5\u05e9\u05dc\u05d5\u05e9;\n"
+ "\u05d5\u05d0\u05e8\u05d1\u05e2;\n"
+ "\u05d5\u05d7\u05de\u05e9;\n"
+ "\u05d5\u05e9\u05e9;\n"
+ "\u05d5\u05e9\u05d1\u05e2;\n"
+ "\u05d5\u05e9\u05de\u05d5\u05e0\u05d4;\n"
+ "\u05d5\u05ea\u05e9\u05e2;\n"
+ "\u05d5\u05e2\u05e9\u05e8;\n"
+ "\u05d5\u05d0\u05d7\u05ea\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d5\u05e9\u05ea\u05d9\u05dd\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d5\u05e9\u05dc\u05d5\u05e9\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d5\u05d0\u05e8\u05d1\u05e2\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d5\u05d7\u05de\u05e9\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d5\u05e9\u05e9\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d5\u05e9\u05d1\u05e2\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d5\u05e9\u05de\u05d5\u05e0\u05d4\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d5\u05ea\u05e9\u05e2\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "20: \u05d5\u05e2\u05e9\u05e8\u05d9\u05dd;\n"
+ "21: \u05e2\u05e9\u05e8\u05d9\u05dd >>;\n"
+ "30: \u05d5\u05e9\u05dc\u05d5\u05e9\u05d9\u05dd;\n"
+ "31: \u05e9\u05dc\u05d5\u05e9\u05d9\u05dd >>;\n"
+ "40: \u05d5\u05d0\u05e8\u05d1\u05e2\u05d9\u05dd;\n"
+ "41: \u05d0\u05e8\u05d1\u05e2\u05d9\u05dd >>;\n"
+ "50: \u05d5\u05d7\u05de\u05d9\u05e9\u05d9\u05dd;\n"
+ "51: \u05d7\u05de\u05d9\u05e9\u05d9\u05dd >>;\n"
+ "60: \u05d5\u05e9\u05d9\u05e9\u05d9\u05dd;\n"
+ "61: \u05e9\u05d9\u05e9\u05d9\u05dd >>;\n"
+ "70: \u05d5\u05e9\u05d1\u05e2\u05d9\u05dd;\n"
+ "71: \u05e9\u05d1\u05e2\u05d9\u05dd >>;\n"
+ "80: \u05d5\u05e9\u05de\u05d5\u05e0\u05d9\u05dd;\n"
+ "81: \u05e9\u05de\u05d5\u05e0\u05d9\u05dd >>;\n"
+ "90: \u05d5\u05ea\u05e9\u05e2\u05d9\u05dd;\n"
+ "91: \u05ea\u05e9\u05e2\u05d9\u05dd >>;\n"
+ "100: \u05d5\u05de\u05d0\u05d4;\n"
+ "101: \u05de\u05d0\u05d4 >>;\n"
+ "200: \u05d5\u05de\u05d0\u05ea\u05d9\u05d9\u05dd;\n"
+ "201: \u05de\u05d0\u05ea\u05d9\u05d9\u05dd >>;\n"
+ "300: \u05d5\u05e9\u05dc\u05d5\u05e9 \u05de\u05d0\u05d5\u05ea;\n"
+ "301: \u05e9\u05dc\u05d5\u05e9 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "400: \u05d5\u05d0\u05e8\u05d1\u05e2 \u05de\u05d0\u05d5\u05ea;\n"
+ "401: \u05d0\u05e8\u05d1\u05e2 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "500: \u05d5\u05d7\u05de\u05e9 \u05de\u05d0\u05d5\u05ea;\n"
+ "501: \u05d7\u05de\u05e9 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "600: \u05d5\u05e9\u05e9 \u05de\u05d0\u05d5\u05ea;\n"
+ "601: \u05e9\u05e9 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "700: \u05d5\u05e9\u05d1\u05e2 \u05de\u05d0\u05d5\u05ea;\n"
+ "701: \u05e9\u05d1\u05e2 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "800: \u05d5\u05e9\u05de\u05d5\u05e0\u05d4 \u05de\u05d0\u05d5\u05ea;\n"
+ "801: \u05e9\u05de\u05d5\u05e0\u05d4 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "900: \u05d5\u05ea\u05e9\u05e2 \u05de\u05d0\u05d5\u05ea;\n"
+ "901: \u05ea\u05e9\u05e2 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "1000: \u05d5\u05d0\u05dc\u05e3[ >>];\n"
+ "2000: \u05d5\u05d0\u05dc\u05e4\u05d9\u05d9\u05dd[ >>];\n"
+ "3000: <%%txunits< \u05d0\u05dc\u05e4\u05d9\u05dd[ >>];\n"
+ "11000/1000: <%%mxunits< \u05d0\u05dc\u05e3[ >>];\n"
+ "1,000,000: \u05d5\u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "2,000,000: \u05d5\u05e9\u05e0\u05d9 \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "3,000,000: <%%mxunits< \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "1,000,000,000: \u05d5\u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >>];\n"
+ "2,000,000,000: \u05d5\u05e9\u05e0\u05d9 \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >>];\n"
+ "3,000,000,000: <%%mxunits< \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >>];\n"
+ "1,000,000,000,000: \u05d5\u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "2,000,000,000,000: \u05d5\u05e9\u05e0\u05d9 \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "3,000,000,000,000: <%%mxunits< \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "1,000,000,000,000,000: =#,###.##=;\n"
+
+ "%spellout_default:\n"
+ "=%feminine=;\n"
+ }
+
+ SpelloutLocalizations {
+ { "%spellout_default", "%feminine", "%masculine",
+ }
+ { "he",
+ "\u05d1\u05e8\u05d9\u05e8\u05ea \u05de\u05d7\u05d3\u05dc",
+ "\u05e6\u05d5\u05e8\u05ea \u05e0\u05e7\u05d1\u05d4", "\u05e6\u05d5\u05e8\u05ea \u05d6\u05db\u05e8",
+ }
+ { "en",
+ "Default", "Feminine", "Masculine",
+ }
+ }
+
+ OrdinalRules {
+ "%masculine_singular_indefinite:\n"
+ "-x: =%%unwieldy=;\n"
+ "=%%unwieldy=;\n"
+ "\u05e8\u05d0\u05e9\u05d5\u05df;\n"
+ "\u05e9\u05e0\u05d9;\n"
+ "\u05e9\u05dc\u05d9\u05e9\u05d9;\n"
+ "\u05e8\u05d1\u05d9\u05e2\u05d9;\n"
+ "\u05d7\u05de\u05d9\u05e9\u05d9;\n"
+ "\u05e9\u05d9\u05e9\u05d9;\n"
+ "\u05e9\u05d1\u05d9\u05e2\u05d9;\n"
+ "\u05e9\u05de\u05d9\u05e0\u05d9;\n"
+ "\u05ea\u05e9\u05d9\u05e2\u05d9;\n"
+ "\u05e2\u05e9\u05d9\u05e8\u05d9;\n"
+ "11: =%masculine=;\n"
+ "1001: =%%unwieldy=;\n"
+ "%masculine_singular_definite:\n"
+ "-x: =%%unwieldy=;\n"
+ "=%%unwieldy=;\n"
+ "\u05d4\u05e8\u05d0\u05e9\u05d5\u05df;\n"
+ "\u05d4\u05e9\u05e0\u05d9;\n"
+ "\u05d4\u05e9\u05dc\u05d9\u05e9\u05d9;\n"
+ "\u05d4\u05e8\u05d1\u05d9\u05e2\u05d9;\n"
+ "\u05d4\u05d7\u05de\u05d9\u05e9\u05d9;\n"
+ "\u05d4\u05e9\u05d9\u05e9\u05d9;\n"
+ "\u05d4\u05e9\u05d1\u05d9\u05e2\u05d9;\n"
+ "\u05d4\u05e9\u05de\u05d9\u05e0\u05d9;\n"
+ "\u05d4\u05ea\u05e9\u05d9\u05e2\u05d9;\n"
+ "\u05d4\u05e2\u05e9\u05d9\u05e8\u05d9;\n"
+ "11: \u05d4=%masculine=;\n"
+ "1001: =%%unwieldy=;\n"
+ "%masculine_plural_indefinite:\n"
+ "-x: =%%unwieldy=;\n"
+ "=%%unwieldy=;\n"
+ "\u05e8\u05d0\u05e9\u05d5\u05e0\u05d9\u05dd;\n"
+ "\u05e9\u05e0\u05d9\u05d9\u05dd;\n"
+ "\u05e9\u05dc\u05d9\u05e9\u05d9\u05d9\u05dd;\n"
+ "\u05e8\u05d1\u05d9\u05e2\u05d9\u05d9\u05dd;\n"
+ "\u05d7\u05de\u05d9\u05e9\u05d9\u05d9\u05dd;\n"
+ "\u05e9\u05d9\u05e9\u05d9\u05d9\u05dd;\n"
+ "\u05e9\u05d1\u05d9\u05e2\u05d9\u05d9\u05dd;\n"
+ "\u05e9\u05de\u05d9\u05e0\u05d9\u05d9\u05dd;\n"
+ "\u05ea\u05e9\u05d9\u05e2\u05d9\u05d9\u05dd;\n"
+ "\u05e2\u05e9\u05d9\u05e8\u05d9\u05d9\u05dd;\n"
+ "11: =%masculine=;\n"
+ "1001: =%%unwieldy=;\n"
+ "%masculine_plural_definite:\n"
+ "-x: =%%unwieldy=;\n"
+ "=%%unwieldy=;\n"
+ "\u05d4\u05e8\u05d0\u05e9\u05d5\u05e0\u05d9\u05dd;\n"
+ "\u05d4\u05e9\u05e0\u05d9\u05d9\u05dd;\n"
+ "\u05d4\u05e9\u05dc\u05d9\u05e9\u05d9\u05d9\u05dd;\n"
+ "\u05d4\u05e8\u05d1\u05d9\u05e2\u05d9\u05d9\u05dd;\n"
+ "\u05d4\u05d7\u05de\u05d9\u05e9\u05d9\u05d9\u05dd;\n"
+ "\u05d4\u05e9\u05d9\u05e9\u05d9\u05d9\u05dd;\n"
+ "\u05d4\u05e9\u05d1\u05d9\u05e2\u05d9\u05d9\u05dd;\n"
+ "\u05d4\u05e9\u05de\u05d9\u05e0\u05d9\u05d9\u05dd;\n"
+ "\u05d4\u05ea\u05e9\u05d9\u05e2\u05d9\u05d9\u05dd;\n"
+ "\u05d4\u05e2\u05e9\u05d9\u05e8\u05d9\u05d9\u05dd;\n"
+ "11: \u05d4=%masculine=;\n"
+ "1001: =%%unwieldy=;\n"
+ "%feminine_singular_indefinite:\n"
+ "-x: =%%unwieldy=;\n"
+ "=%%unwieldy=;\n"
+ "\u05e8\u05d0\u05e9\u05d5\u05e0\u05d4;\n"
+ "\u05e9\u05e0\u05d9\u05d4;\n"
+ "\u05e9\u05dc\u05d9\u05e9\u05d9\u05ea;\n"
+ "\u05e8\u05d1\u05d9\u05e2\u05d9\u05ea;\n"
+ "\u05d7\u05de\u05d9\u05e9\u05d9\u05ea;\n"
+ "\u05e9\u05d9\u05e9\u05d9\u05ea;\n"
+ "\u05e9\u05d1\u05d9\u05e2\u05d9\u05ea;\n"
+ "\u05e9\u05de\u05d9\u05e0\u05d9\u05ea;\n"
+ "\u05ea\u05e9\u05d9\u05e2\u05d9\u05ea;\n"
+ "\u05e2\u05e9\u05d9\u05e8\u05d9\u05ea;\n"
+ "11: =%feminine=;\n"
+ "1001: =%%unwieldy=;\n"
+ "%feminine_singular_definite:\n"
+ "-x: =%%unwieldy=;\n"
+ "=%%unwieldy=;\n"
+ "\u05d4\u05e8\u05d0\u05e9\u05d5\u05e0\u05d4;\n"
+ "\u05d4\u05e9\u05e0\u05d9\u05d4;\n"
+ "\u05d4\u05e9\u05dc\u05d9\u05e9\u05d9\u05ea;\n"
+ "\u05d4\u05e8\u05d1\u05d9\u05e2\u05d9\u05ea;\n"
+ "\u05d4\u05d7\u05de\u05d9\u05e9\u05d9\u05ea;\n"
+ "\u05d4\u05e9\u05d9\u05e9\u05d9\u05ea;\n"
+ "\u05d4\u05e9\u05d1\u05d9\u05e2\u05d9\u05ea;\n"
+ "\u05d4\u05e9\u05de\u05d9\u05e0\u05d9\u05ea;\n"
+ "\u05d4\u05ea\u05e9\u05d9\u05e2\u05d9\u05ea;\n"
+ "\u05d4\u05e2\u05e9\u05d9\u05e8\u05d9\u05ea;\n"
+ "11: \u05d4=%feminine=;\n"
+ "1001: =%%unwieldy=;\n"
+ "%feminine_plural_indefinite:\n"
+ "-x: =%%unwieldy=;\n"
+ "=%%unwieldy=;\n"
+ "\u05e8\u05d0\u05e9\u05d5\u05e0\u05d5\u05ea;\n"
+ "\u05e9\u05e0\u05d9\u05d5\u05ea;\n"
+ "\u05e9\u05dc\u05d9\u05e9\u05d9\u05d5\u05ea;\n"
+ "\u05e8\u05d1\u05d9\u05e2\u05d9\u05d5\u05ea;\n"
+ "\u05d7\u05de\u05d9\u05e9\u05d9\u05d5\u05ea;\n"
+ "\u05e9\u05d9\u05e9\u05d9\u05d5\u05ea;\n"
+ "\u05e9\u05d1\u05d9\u05e2\u05d9\u05d5\u05ea;\n"
+ "\u05e9\u05de\u05d9\u05e0\u05d9\u05d5\u05ea;\n"
+ "\u05ea\u05e9\u05d9\u05e2\u05d9\u05d5\u05ea;\n"
+ "\u05e2\u05e9\u05d9\u05e8\u05d9\u05d5\u05ea;\n"
+ "11: =%feminine=;\n"
+ "1001: =%%unwieldy=;\n"
+ "%feminine_plural_definite:\n"
+ "-x: =%%unwieldy=;\n"
+ "=%%unwieldy=;\n"
+ "\u05d4\u05e8\u05d0\u05e9\u05d5\u05e0\u05d5\u05ea;\n"
+ "\u05d4\u05e9\u05e0\u05d9\u05d5\u05ea;\n"
+ "\u05d4\u05e9\u05dc\u05d9\u05e9\u05d9\u05d5\u05ea;\n"
+ "\u05d4\u05e8\u05d1\u05d9\u05e2\u05d9\u05d5\u05ea;\n"
+ "\u05d4\u05d7\u05de\u05d9\u05e9\u05d9\u05d5\u05ea;\n"
+ "\u05d4\u05e9\u05d9\u05e9\u05d9\u05d5\u05ea;\n"
+ "\u05d4\u05e9\u05d1\u05d9\u05e2\u05d9\u05d5\u05ea;\n"
+ "\u05d4\u05e9\u05de\u05d9\u05e0\u05d9\u05d5\u05ea;\n"
+ "\u05d4\u05ea\u05e9\u05d9\u05e2\u05d9\u05d5\u05ea;\n"
+ "\u05d4\u05e2\u05e9\u05d9\u05e8\u05d9\u05d5\u05ea;\n"
+ "11: \u05d4=%feminine=;\n"
+ "1001: =%%unwieldy=;\n"
+ "%%unwieldy:\n"
+ "\u05de\u05e1\u05e4\u05e8 =%feminine=;\n"
+
+ "%%tunits:\n"
+ "\u05d0\u05e4\u05e1;\n"
+ "\u05d0\u05d7\u05ea;\n"
+ "\u05e9\u05ea\u05d9\u05d9\u05dd;\n"
+ "\u05e9\u05dc\u05d5\u05e9\u05ea;\n"
+ "\u05d0\u05e8\u05d1\u05e2\u05ea;\n"
+ "\u05d7\u05de\u05e9\u05ea;\n"
+ "\u05e9\u05e9\u05ea;\n"
+ "\u05e9\u05d1\u05e2\u05ea;\n"
+ "\u05e9\u05de\u05d5\u05e0\u05ea;\n"
+ "\u05ea\u05e9\u05e2\u05ea;\n"
+ "\u05e2\u05e9\u05e8\u05ea;\n"
+ "=%masculine=;\n"
+ "%%txunits:\n"
+ "\u05d5\u05d0\u05e4\u05e1;\n"
+ "\u05d5\u05d0\u05d7\u05ea;\n"
+ "\u05d5\u05e9\u05ea\u05d9\u05d9\u05dd;\n"
+ "\u05d5\u05e9\u05dc\u05d5\u05e9\u05ea;\n"
+ "\u05d5\u05d0\u05e8\u05d1\u05e2\u05ea;\n"
+ "\u05d5\u05d7\u05de\u05e9\u05ea;\n"
+ "\u05d5\u05e9\u05e9\u05ea;\n"
+ "\u05d5\u05e9\u05d1\u05e2\u05ea;\n"
+ "\u05d5\u05e9\u05de\u05d5\u05e0\u05ea;\n"
+ "\u05d5\u05ea\u05e9\u05e2\u05ea;\n"
+ "\u05d5\u05e2\u05e9\u05e8\u05ea;\n"
+ "=%%mxunits=;\n"
+ "%masculine:\n"
+ "-x: \u05de\u05d9\u05e0\u05d5\u05e1 >>;\n"
+ "x.x: <%masculine< \u05e0\u05e7\u05d5\u05d3\u05d4 >%%fraction>;\n"
+ "\u05d0\u05e4\u05e1;\n"
+ "\u05d0\u05d7\u05d3;\n"
+ "\u05e9\u05e0\u05d9\u05d9\u05dd;\n"
+ "\u05e9\u05dc\u05d5\u05e9\u05d4;\n"
+ "\u05d0\u05e8\u05d1\u05e2\u05d4;\n"
+ "\u05d7\u05de\u05d9\u05e9\u05d4;\n"
+ "\u05e9\u05d9\u05e9\u05d4;\n"
+ "\u05e9\u05d1\u05e2\u05d4;\n"
+ "\u05e9\u05de\u05d5\u05e0\u05d4;\n"
+ "\u05ea\u05e9\u05e2\u05d4;\n"
+ "\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d0\u05d7\u05d3\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05e9\u05e0\u05d9\u05dd\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05e9\u05dc\u05d5\u05e9\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d0\u05e8\u05d1\u05e2\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d7\u05de\u05d9\u05e9\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05e9\u05d9\u05e9\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05e9\u05d1\u05e2\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05e9\u05de\u05d5\u05e0\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05ea\u05e9\u05e2\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "20: \u05e2\u05e9\u05e8\u05d9\u05dd[ \u05d5>>];\n"
+ "30: \u05e9\u05dc\u05d5\u05e9\u05d9\u05dd[ \u05d5>>];\n"
+ "40: \u05d0\u05e8\u05d1\u05e2\u05d9\u05dd[ \u05d5>>];\n"
+ "50: \u05d7\u05de\u05d9\u05e9\u05d9\u05dd[ \u05d5>>];\n"
+ "60: \u05e9\u05d9\u05e9\u05d9\u05dd[ \u05d5>>];\n"
+ "70: \u05e9\u05d1\u05e2\u05d9\u05dd[ \u05d5>>];\n"
+ "80: \u05e9\u05de\u05d5\u05e0\u05d9\u05dd[ \u05d5>>];\n"
+ "90: \u05ea\u05e9\u05e2\u05d9\u05dd[ \u05d5>>];\n"
+ "100: \u05de\u05d0\u05d4[ >%%mxunits>];\n"
+ "200: \u05de\u05d0\u05ea\u05d9\u05d9\u05dd[ >%%mxunits>];\n"
+ "300: <%feminine< \u05de\u05d0\u05d5\u05ea[ >%%mxunits>];\n"
+ "1000: \u05d0\u05dc\u05e3[ >%%mxunits>];\n"
+ "2000: \u05d0\u05dc\u05e4\u05d9\u05d9\u05dd[ >%%mxunits>];\n"
+ "3000: <%%tunits< \u05d0\u05dc\u05e4\u05d9\u05dd[ >%%mxunits>];\n"
+ "11000/1000: << \u05d0\u05dc\u05e3[ >%%mxunits>];\n"
+
+ "1,000,000: \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >%%mxunits>];\n"
+ "2,000,000: \u05e9\u05e0\u05d9 \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >%%mxunits>];\n"
+ "3,000,000: << \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >%%mxunits>];\n"
+ "1,000,000,000: \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >%%mxunits>];\n"
+ "2,000,000,000: \u05e9\u05e0\u05d9 \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >%%mxunits>];\n"
+ "3,000,000,000: << \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >%%mxunits>];\n"
+ "1,000,000,000,000: \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >%%mxunits>];\n"
+ "2,000,000,000,000: \u05e9\u05e0\u05d9 \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >%%mxunits>];\n"
+ "3,000,000,000,000: << \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >%%mxunits>];\n"
+ "1,000,000,000,000,000: =#,###.##=;\n"
+ "%%fraction:\n"
+ "10: <%feminine<<;\n"
+ "100: <%feminine<<;\n"
+ "1000: <%feminine<<;\n"
+ "10,000: <%feminine<<;\n"
+ "100,000: <%feminine<<;\n"
+ "1,000,000: <%feminine<<;\n"
+ "10,000,000: <%feminine<<;\n"
+ "100,000,000: <%feminine<<;\n"
+ "1,000,000,000: <%feminine<<;\n"
+ "10,000,000,000: <#,##0<;\n"
+ "%%mxunits:\n"
+ "0:;\n"
+ "\u05d5\u05d0\u05d7\u05d3;\n"
+ "\u05d5\u05e9\u05e0\u05d9\u05d9\u05dd;\n"
+ "\u05d5\u05e9\u05dc\u05d5\u05e9\u05d4;\n"
+ "\u05d5\u05d0\u05e8\u05d1\u05e2\u05d4;\n"
+ "\u05d5\u05d7\u05de\u05d9\u05e9\u05d4;\n"
+ "\u05d5\u05e9\u05d9\u05e9\u05d4;\n"
+ "\u05d5\u05e9\u05d1\u05e2\u05d4;\n"
+ "\u05d5\u05e9\u05de\u05d5\u05e0\u05d4;\n"
+ "\u05d5\u05ea\u05e9\u05e2\u05d4;\n"
+ "\u05d5\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d5\u05d0\u05d7\u05d3\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d5\u05e9\u05e0\u05d9\u05dd\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d5\u05e9\u05dc\u05d5\u05e9\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d5\u05d0\u05e8\u05d1\u05e2\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d5\u05d7\u05de\u05d9\u05e9\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d5\u05e9\u05d9\u05e9\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d5\u05e9\u05d1\u05e2\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d5\u05e9\u05de\u05d5\u05e0\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "\u05d5\u05ea\u05e9\u05e2\u05d4\u0020\u05e2\u05e9\u05e8;\n"
+ "20: \u05d5\u05e2\u05e9\u05e8\u05d9\u05dd;\n"
+ "21: \u05e2\u05e9\u05e8\u05d9\u05dd >>;\n"
+ "30: \u05d5\u05e9\u05dc\u05d5\u05e9\u05d9\u05dd;\n"
+ "31: \u05e9\u05dc\u05d5\u05e9\u05d9\u05dd >>;\n"
+ "40: \u05d5\u05d0\u05e8\u05d1\u05e2\u05d9\u05dd;\n"
+ "41: \u05d0\u05e8\u05d1\u05e2\u05d9\u05dd >>;\n"
+ "50: \u05d5\u05d7\u05de\u05d9\u05e9\u05d9\u05dd;\n"
+ "51: \u05d7\u05de\u05d9\u05e9\u05d9\u05dd >>;\n"
+ "60: \u05d5\u05e9\u05d9\u05e9\u05d9\u05dd;\n"
+ "61: \u05e9\u05d9\u05e9\u05d9\u05dd >>;\n"
+ "70: \u05d5\u05e9\u05d1\u05e2\u05d9\u05dd;\n"
+ "71: \u05e9\u05d1\u05e2\u05d9\u05dd >>;\n"
+ "80: \u05d5\u05e9\u05de\u05d5\u05e0\u05d9\u05dd;\n"
+ "81: \u05e9\u05de\u05d5\u05e0\u05d9\u05dd >>;\n"
+ "90: \u05d5\u05ea\u05e9\u05e2\u05d9\u05dd;\n"
+ "91: \u05ea\u05e9\u05e2\u05d9\u05dd >>;\n"
+ "100: \u05d5\u05de\u05d0\u05d4;\n"
+ "101: \u05de\u05d0\u05d4 >>;\n"
+ "200: \u05d5\u05de\u05d0\u05ea\u05d9\u05d9\u05dd;\n"
+ "201: \u05de\u05d0\u05ea\u05d9\u05d9\u05dd >>;\n"
+ "300: \u05d5\u05e9\u05dc\u05d5\u05e9 \u05de\u05d0\u05d5\u05ea;\n"
+ "301: \u05e9\u05dc\u05d5\u05e9 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "400: \u05d5\u05d0\u05e8\u05d1\u05e2 \u05de\u05d0\u05d5\u05ea;\n"
+ "401: \u05d0\u05e8\u05d1\u05e2 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "500: \u05d5\u05d7\u05de\u05e9 \u05de\u05d0\u05d5\u05ea;\n"
+ "501: \u05d7\u05de\u05e9 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "600: \u05d5\u05e9\u05e9 \u05de\u05d0\u05d5\u05ea;\n"
+ "601: \u05e9\u05e9 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "700: \u05d5\u05e9\u05d1\u05e2 \u05de\u05d0\u05d5\u05ea;\n"
+ "701: \u05e9\u05d1\u05e2 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "800: \u05d5\u05e9\u05de\u05d5\u05e0\u05d4 \u05de\u05d0\u05d5\u05ea;\n"
+ "801: \u05e9\u05de\u05d5\u05e0\u05d4 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "900: \u05d5\u05ea\u05e9\u05e2 \u05de\u05d0\u05d5\u05ea;\n"
+ "901: \u05ea\u05e9\u05e2 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "1000: \u05d5\u05d0\u05dc\u05e3[ >>];\n"
+ "2000: \u05d5\u05d0\u05dc\u05e4\u05d9\u05d9\u05dd[ >>];\n"
+ "3000: <%%txunits< \u05d0\u05dc\u05e4\u05d9\u05dd[ >>];\n"
+ "11000/1000: << \u05d0\u05dc\u05e3[ >>];\n"
+ "1,000,000: \u05d5\u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "2,000,000: \u05d5\u05e9\u05e0\u05d9 \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "3,000,000: << \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "1,000,000,000: \u05d5\u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >>];\n"
+ "2,000,000,000: \u05d5\u05e9\u05e0\u05d9 \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >>];\n"
+ "3,000,000,000: << \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >>];\n"
+ "1,000,000,000,000: \u05d5\u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "2,000,000,000,000: \u05d5\u05e9\u05e0\u05d9 \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "3,000,000,000,000: << \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "1,000,000,000,000,000: =#,###.##=;\n"
+ "%feminine:\n"
+ "-x: \u05de\u05d9\u05e0\u05d5\u05e1 >>;\n"
+ "x.x: <%feminine< \u05e0\u05e7\u05d5\u05d3\u05d4 >%%fraction>;\n"
+ "\u05d0\u05e4\u05e1;\n"
+ "\u05d0\u05d7\u05ea;\n"
+ "\u05e9\u05ea\u05d9\u05d9\u05dd;\n"
+ "\u05e9\u05dc\u05d5\u05e9;\n"
+ "\u05d0\u05e8\u05d1\u05e2;\n"
+ "\u05d7\u05de\u05e9;\n"
+ "\u05e9\u05e9;\n"
+ "\u05e9\u05d1\u05e2;\n"
+ "\u05e9\u05de\u05d5\u05e0\u05d4;\n"
+ "\u05ea\u05e9\u05e2;\n"
+ "\u05e2\u05e9\u05e8;\n"
+ "\u05d0\u05d7\u05ea\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05e9\u05ea\u05d9\u05dd\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05e9\u05dc\u05d5\u05e9\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d0\u05e8\u05d1\u05e2\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d7\u05de\u05e9\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05e9\u05e9\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05e9\u05d1\u05e2\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05e9\u05de\u05d5\u05e0\u05d4\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05ea\u05e9\u05e2\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "20: \u05e2\u05e9\u05e8\u05d9\u05dd[ \u05d5>>];\n"
+ "30: \u05e9\u05dc\u05d5\u05e9\u05d9\u05dd[ \u05d5>>];\n"
+ "40: \u05d0\u05e8\u05d1\u05e2\u05d9\u05dd[ \u05d5>>];\n"
+ "50: \u05d7\u05de\u05d9\u05e9\u05d9\u05dd[ \u05d5>>];\n"
+ "60: \u05e9\u05d9\u05e9\u05d9\u05dd[ \u05d5>>];\n"
+ "70: \u05e9\u05d1\u05e2\u05d9\u05dd[ \u05d5>>];\n"
+ "80: \u05e9\u05de\u05d5\u05e0\u05d9\u05dd[ \u05d5>>];\n"
+ "90: \u05ea\u05e9\u05e2\u05d9\u05dd[ \u05d5>>];\n"
+ "100: \u05de\u05d0\u05d4[ >%%fxunits>];\n"
+ "200: \u05de\u05d0\u05ea\u05d9\u05d9\u05dd[ >%%fxunits>];\n"
+ "300: << \u05de\u05d0\u05d5\u05ea[ >%%fxunits>];\n"
+ "1000: \u05d0\u05dc\u05e3[ >%%fxunits>];\n"
+ "2000: \u05d0\u05dc\u05e4\u05d9\u05d9\u05dd[ >%%fxunits>];\n"
+ "3000: <%%tunits< \u05d0\u05dc\u05e4\u05d9\u05dd[ >%%fxunits>];\n"
+ "11000/1000: <%masculine< \u05d0\u05dc\u05e3[ >%%fxunits>];\n"
+ "1,000,000: \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >%%fxunits>];\n"
+ "2,000,000: \u05e9\u05e0\u05d9 \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >%%fxunits>];\n"
+ "3,000,000: <%masculine< \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >%%fxunits>];\n"
+ "1,000,000,000: \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >%%fxunits>];\n"
+ "2,000,000,000: \u05e9\u05e0\u05d9 \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >%%fxunits>];\n"
+ "3,000,000,000: <%masculine< \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >%%fxunits>];\n"
+ "1,000,000,000,000: \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >%%fxunits>];\n"
+ "2,000,000,000,000: \u05e9\u05e0\u05d9 \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >%%fxunits>];\n"
+ "3,000,000,000,000: <%masculine< \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >%%fxunits>];\n"
+ "1,000,000,000,000,000: =#,###.##=;\n"
+ "%%fxunits:\n"
+ "0:;\n"
+ "\u05d5\u05d0\u05d7\u05ea;\n"
+ "\u05d5\u05e9\u05ea\u05d9\u05d9\u05dd;\n"
+ "\u05d5\u05e9\u05dc\u05d5\u05e9;\n"
+ "\u05d5\u05d0\u05e8\u05d1\u05e2;\n"
+ "\u05d5\u05d7\u05de\u05e9;\n"
+ "\u05d5\u05e9\u05e9;\n"
+ "\u05d5\u05e9\u05d1\u05e2;\n"
+ "\u05d5\u05e9\u05de\u05d5\u05e0\u05d4;\n"
+ "\u05d5\u05ea\u05e9\u05e2;\n"
+ "\u05d5\u05e2\u05e9\u05e8;\n"
+ "\u05d5\u05d0\u05d7\u05ea\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d5\u05e9\u05ea\u05d9\u05dd\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d5\u05e9\u05dc\u05d5\u05e9\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d5\u05d0\u05e8\u05d1\u05e2\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d5\u05d7\u05de\u05e9\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d5\u05e9\u05e9\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d5\u05e9\u05d1\u05e2\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d5\u05e9\u05de\u05d5\u05e0\u05d4\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "\u05d5\u05ea\u05e9\u05e2\u0020\u05e2\u05e9\u05e8\u05d4;\n"
+ "20: \u05d5\u05e2\u05e9\u05e8\u05d9\u05dd;\n"
+ "21: \u05e2\u05e9\u05e8\u05d9\u05dd >>;\n"
+ "30: \u05d5\u05e9\u05dc\u05d5\u05e9\u05d9\u05dd;\n"
+ "31: \u05e9\u05dc\u05d5\u05e9\u05d9\u05dd >>;\n"
+ "40: \u05d5\u05d0\u05e8\u05d1\u05e2\u05d9\u05dd;\n"
+ "41: \u05d0\u05e8\u05d1\u05e2\u05d9\u05dd >>;\n"
+ "50: \u05d5\u05d7\u05de\u05d9\u05e9\u05d9\u05dd;\n"
+ "51: \u05d7\u05de\u05d9\u05e9\u05d9\u05dd >>;\n"
+ "60: \u05d5\u05e9\u05d9\u05e9\u05d9\u05dd;\n"
+ "61: \u05e9\u05d9\u05e9\u05d9\u05dd >>;\n"
+ "70: \u05d5\u05e9\u05d1\u05e2\u05d9\u05dd;\n"
+ "71: \u05e9\u05d1\u05e2\u05d9\u05dd >>;\n"
+ "80: \u05d5\u05e9\u05de\u05d5\u05e0\u05d9\u05dd;\n"
+ "81: \u05e9\u05de\u05d5\u05e0\u05d9\u05dd >>;\n"
+ "90: \u05d5\u05ea\u05e9\u05e2\u05d9\u05dd;\n"
+ "91: \u05ea\u05e9\u05e2\u05d9\u05dd >>;\n"
+ "100: \u05d5\u05de\u05d0\u05d4;\n"
+ "101: \u05de\u05d0\u05d4 >>;\n"
+ "200: \u05d5\u05de\u05d0\u05ea\u05d9\u05d9\u05dd;\n"
+ "201: \u05de\u05d0\u05ea\u05d9\u05d9\u05dd >>;\n"
+ "300: \u05d5\u05e9\u05dc\u05d5\u05e9 \u05de\u05d0\u05d5\u05ea;\n"
+ "301: \u05e9\u05dc\u05d5\u05e9 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "400: \u05d5\u05d0\u05e8\u05d1\u05e2 \u05de\u05d0\u05d5\u05ea;\n"
+ "401: \u05d0\u05e8\u05d1\u05e2 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "500: \u05d5\u05d7\u05de\u05e9 \u05de\u05d0\u05d5\u05ea;\n"
+ "501: \u05d7\u05de\u05e9 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "600: \u05d5\u05e9\u05e9 \u05de\u05d0\u05d5\u05ea;\n"
+ "601: \u05e9\u05e9 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "700: \u05d5\u05e9\u05d1\u05e2 \u05de\u05d0\u05d5\u05ea;\n"
+ "701: \u05e9\u05d1\u05e2 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "800: \u05d5\u05e9\u05de\u05d5\u05e0\u05d4 \u05de\u05d0\u05d5\u05ea;\n"
+ "801: \u05e9\u05de\u05d5\u05e0\u05d4 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "900: \u05d5\u05ea\u05e9\u05e2 \u05de\u05d0\u05d5\u05ea;\n"
+ "901: \u05ea\u05e9\u05e2 \u05de\u05d0\u05d5\u05ea >>;\n"
+ "1000: \u05d5\u05d0\u05dc\u05e3[ >>];\n"
+ "2000: \u05d5\u05d0\u05dc\u05e4\u05d9\u05d9\u05dd[ >>];\n"
+ "3000: <%%txunits< \u05d0\u05dc\u05e4\u05d9\u05dd[ >>];\n"
+ "11000/1000: <%%mxunits< \u05d0\u05dc\u05e3[ >>];\n"
+ "1,000,000: \u05d5\u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "2,000,000: \u05d5\u05e9\u05e0\u05d9 \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "3,000,000: <%%mxunits< \u05de\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "1,000,000,000: \u05d5\u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >>];\n"
+ "2,000,000,000: \u05d5\u05e9\u05e0\u05d9 \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >>];\n"
+ "3,000,000,000: <%%mxunits< \u05de\u05d9\u05dc\u05d9\u05e8\u05d3[ >>];\n"
+ "1,000,000,000,000: \u05d5\u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "2,000,000,000,000: \u05d5\u05e9\u05e0\u05d9 \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "3,000,000,000,000: <%%mxunits< \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df[ >>];\n"
+ "1,000,000,000,000,000: =#,###.##=;\n"
+
+ "%ordinal_default:\n"
+ "=%masculine_singular_indefinite=;\n"
+ }
+
+ OrdinalLocalizations {
+ { "%ordinal_default",
+ "%feminine_singular_definite", "%feminine_singular_indefinite",
+ "%feminine_plural_definite", "%feminine_plural_indefinite",
+ "%masculine_singular_definite", "%masculine_singular_indefinite",
+ "%masculine_plural_definite", "%masculine_plural_indefinite",
+ }
+ { "he",
+ "\u05d1\u05e8\u05d9\u05e8\u05ea \u05de\u05d7\u05d3\u05dc",
+ "\u05e0\u05e7\u05d1\u05d4 \u05d9\u05d7\u05d9\u05d3 \u05e2\u05dd \u05d4' \u05d4\u05d9\u05d3\u05d9\u05e2\u05d4",
+ "\u05e0\u05e7\u05d1\u05d4 \u05d9\u05d7\u05d9\u05d3 \u05d1\u05dc\u05d9 \u05d4' \u05d4\u05d9\u05d3\u05d9\u05e2\u05d4",
+ "\u05e0\u05e7\u05d1\u05d4 \u05e8\u05d1\u05d9\u05dd \u05e2\u05dd \u05d4' \u05d4\u05d9\u05d3\u05d9\u05e2\u05d4",
+ "\u05e0\u05e7\u05d1\u05d4 \u05e8\u05d1\u05d9\u05dd \u05d1\u05dc\u05d9 \u05d4' \u05d4\u05d9\u05d3\u05d9\u05e2\u05d4",
+ "\u05d6\u05db\u05e8 \u05d9\u05d7\u05d9\u05d3 \u05e2\u05dd \u05d4' \u05d4\u05d9\u05d3\u05d9\u05e2\u05d4",
+ "\u05d6\u05db\u05e8 \u05d9\u05d7\u05d9\u05d3 \u05d1\u05dc\u05d9 \u05d4' \u05d4\u05d9\u05d3\u05d9\u05e2\u05d4",
+ "\u05d6\u05db\u05e8 \u05e8\u05d1\u05d9\u05dd \u05e2\u05dd \u05d4' \u05d4\u05d9\u05d3\u05d9\u05e2\u05d4",
+ "\u05d6\u05db\u05e8 \u05e8\u05d1\u05d9\u05dd \u05d1\u05dc\u05d9 \u05d4' \u05d4\u05d9\u05d3\u05d9\u05e2\u05d4",
+ }
+ { "en",
+ "Default",
+ "Fem. Singular Definite", "Fem. Singular Indefinite",
+ "Fem. Plural Definite", "Fem. Plural Indefinite",
+ "Mas. Singular Definite", "Mas. Singular Indefinite",
+ "Mas. Plural Definite", "Mas. Plural Indefinite",
+ }
+ }
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/it.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/it.txt
new file mode 100644
index 00000000000..03724789ede
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/it.txt
@@ -0,0 +1,172 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, 2007 International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+it {
+ //------------------------------------------------------------
+ // Rule Based Number Format Support
+ //------------------------------------------------------------
+
+// * Spellout rules for Italian. Like German, most Italian numbers are
+// * written as single words. What makes these rules complicated is the rule
+// * that says that when a word ending in a vowel and a word beginning with
+// * a vowel are combined into a compound, the vowel is dropped from the
+// * end of the first word: 180 is "centottanta," not "centoottanta."
+// * The complexity of this rule set is to produce this behavior.
+
+// * The "no-final" stanzas are used to deal with the fact that the number
+// * three ( "tre" ) takes an accent when it is at the end of a word
+// * like 23 ( ventitr<e-accent> ), but would NOT take an accent
+// * in the context of a thousands or millions, for example,
+// * 23,000 would be ventitremila, and would not have an accent on the "tre".
+//
+ SpelloutRules {
+ // main rule set. Follows the patterns of the preceding rule sets,
+ // except that the final vowel is omitted from words ending in
+ // vowels when they are followed by another word; instead, we have
+ // separate rule sets that are identical to this one, except that
+ // all the words that don't begin with a vowel have a vowel tacked
+ // onto them at the front. A word ending in a vowel calls a
+ // substitution that will supply that vowel, unless that vowel is to
+ // be elided.
+ "%main:\n"
+ "-x: meno >>;\n"
+ "x.x: << virgola >>;\n"
+ "zero; uno; due; tre; quattro; cinque; sei; sette; otto; nove;\n"
+ "dieci; undici; dodici; tredici; quattordici; quindici; sedici;\n"
+ " diciasette; diciotto; diciannove;\n"
+ "20: venti; vent>%%with-i>;\n"
+ "30: trenta; trent>%%with-a>;\n"
+ "40: quaranta; quarant>%%with-a>;\n"
+ "50: cinquanta; cinquant>%%with-a>;\n"
+ "60: sessanta; sessant>%%with-a>;\n"
+ "70: settanta; settant>%%with-a>;\n"
+ "80: ottanta; ottant>%%with-a>;\n"
+ "90: novanta; novant>%%with-a>;\n"
+ "100: cento; cent[>%%with-o>];\n"
+ "200: <<cento; <<cent[>%%with-o>];\n"
+ "1000: mille; mille>>;\n"
+ "2000: <%%no-final<mila; <%%no-final<mil>%%with-a>;\n"
+ "100,000>>: <%%no-final<mila[ >>];\n"
+ "1,000,000: un milione; un milione >>;\n"
+ "2,000,000: << milioni[ >>];\n"
+ "1,000,000,000: un miliardo; un miliardo >>;\n"
+ "2,000,000,000: << miliardi[ >>];\n"
+ "1,000,000,000,000: =#,##0= (incomplete data);\n"
+ "%%no-final:\n"
+ "zero; uno; due; tre; quattro; cinque; sei; sette; otto; nove;\n"
+ "dieci; undici; dodici; tredici; quattordici; quindici; sedici;\n"
+ " diciasette; diciotto; diciannove;\n"
+ "20: venti; vent>%%with-i-nofinal>;\n"
+ "30: trenta; trent>%%with-a-nofinal>;\n"
+ "40: quaranta; quarant>%%with-a-nofinal>;\n"
+ "50: cinquanta; cinquant>%%with-a-nofinal>;\n"
+ "60: sessanta; sessant>%%with-a-nofinal>;\n"
+ "70: settanta; settant>%%with-a-nofinal>;\n"
+ "80: ottanta; ottant>%%with-a-nofinal>;\n"
+ "90: novanta; novant>%%with-a-nofinal>;\n"
+ "100: cento; cent[>%%with-o-nofinal>];\n"
+ "200: <<cento; <<cent[>%%with-o-nofinal>];\n"
+ "1,000: =%main=;\n"
+ "%%with-a:\n"
+ "azero; uno; adue; atr\u00E9; aquattro; acinque; asei; asette; otto; anove;\n"
+ "adieci; undici; adodici; atredici; aquattordici; aquindici; asedici;\n"
+ " adiciasette; adiciotto; adiciannove;\n"
+ "20: aventi; avent>%%with-i>;\n"
+ "30: atrenta; atrent>%%with-a>;\n"
+ "40: aquaranta; aquarant>%%with-a>;\n"
+ "50: acinquanta; acinquant>%%with-a>;\n"
+ "60: asessanta; asessant>%%with-a>;\n"
+ "70: asettanta; asettant>%%with-a>;\n"
+ "80: ottanta; ottant>%%with-a>;\n"
+ "90: anovanta; anovant>%%with-a>;\n"
+ "100: acento; acent[>%%with-o>];\n"
+ "200: <%%with-a<cento; <%%with-a<cent[>%%with-o>];\n"
+ "1000: amille; amill[>%%with-i>];\n"
+ "2000: <%%with-a<mila; <%%with-a<mil[>%%with-a>];\n"
+ "100,000: =%main=;\n"
+ "%%with-a-nofinal:\n"
+ "azero; uno; adue; atre; aquattro; acinque; asei; asette; otto; anove;\n"
+ "adieci; undici; adodici; atredici; aquattordici; aquindici; asedici;\n"
+ " adiciasette; adiciotto; adiciannove;\n"
+ "20: aventi; avent>%%with-i-nofinal>;\n"
+ "30: atrenta; atrent>%%with-a-nofinal>;\n"
+ "40: aquaranta; aquarant>%%with-a-nofinal>;\n"
+ "50: acinquanta; acinquant>%%with-a-nofinal>;\n"
+ "60: asessanta; asessant>%%with-a-nofinal>;\n"
+ "70: asettanta; asettant>%%with-a-nofinal>;\n"
+ "80: ottanta; ottant>%%with-a-nofinal>;\n"
+ "90: anovanta; anovant>%%with-a-nofinal>;\n"
+ "100: acento; acent[>%%with-o-nofinal>];\n"
+ "200: <%%with-a-nofinal<cento; <%%with-a-nofinal<cent[>%%with-o-nofinal>];\n"
+ "1,000: =%main=;\n"
+ "%%with-i:\n"
+ "izero; uno; idue; itr\u00E9; iquattro; icinque; isei; isette; otto; inove;\n"
+ "idieci; undici; idodici; itredici; iquattordici; iquindici; isedici;\n"
+ " idiciasette; idiciotto; idiciannove;\n"
+ "20: iventi; ivent>%%with-i>;\n"
+ "30: itrenta; itrent>%%with-a>;\n"
+ "40: iquaranta; iquarant>%%with-a>;\n"
+ "50: icinquanta; icinquant>%%with-a>;\n"
+ "60: isessanta; isessant>%%with-a>;\n"
+ "70: isettanta; isettant>%%with-a>;\n"
+ "80: ottanta; ottant>%%with-a>;\n"
+ "90: inovanta; inovant>%%with-a>;\n"
+ "100: icento; icent[>%%with-o>];\n"
+ "200: <%%with-i<cento; <%%with-i<cent[>%%with-o>];\n"
+ "1000: imille; imill[>%%with-i>];\n"
+ "2000: <%%with-i<mila; <%%with-i<mil[>%%with-a>];\n"
+ "100,000: =%main=;\n"
+ "%%with-i-nofinal:\n"
+ "izero; uno; idue; itre; iquattro; icinque; isei; isette; otto; inove;\n"
+ "idieci; undici; idodici; itredici; iquattordici; iquindici; isedici;\n"
+ " idiciasette; idiciotto; idiciannove;\n"
+ "20: iventi; ivent>%%with-i-nofinal>;\n"
+ "30: itrenta; itrent>%%with-a-nofinal>;\n"
+ "40: iquaranta; iquarant>%%with-a-nofinal>;\n"
+ "50: icinquanta; icinquant>%%with-a-nofinal>;\n"
+ "60: isessanta; isessant>%%with-a-nofinal>;\n"
+ "70: isettanta; isettant>%%with-a-nofinal>;\n"
+ "80: ottanta; ottant>%%with-a-nofinal>;\n"
+ "90: inovanta; inovant>%%with-a-nofinal>;\n"
+ "100: icento; icent[>%%with-o-nofinal>];\n"
+ "200: <%%with-i-nofinal<cento; <%%with-i-nofinal<cent[>%%with-o-nofinal>];\n"
+ "1,000: =%main=;\n"
+ "%%with-o:\n"
+ "ozero; uno; odue; otr\u00E9; oquattro; ocinque; osei; osette; otto; onove;\n"
+ "odieci; undici; ododici; otredici; oquattordici; oquindici; osedici;\n"
+ " odiciasette; odiciotto; odiciannove;\n"
+ "20: oventi; ovent>%%with-i>;\n"
+ "30: otrenta; otrent>%%with-a>;\n"
+ "40: oquaranta; oquarant>%%with-a>;\n"
+ "50: ocinquanta; ocinquant>%%with-a>;\n"
+ "60: osessanta; osessant>%%with-a>;\n"
+ "70: osettanta; osettant>%%with-a>;\n"
+ "80: ottanta; ottant>%%with-a>;\n"
+ "90: onovanta; onovant>%%with-a>;\n"
+ "100: ocento; ocent[>%%with-o>];\n"
+ "200: <%%with-o<cento; <%%with-o<cent[>%%with-o>];\n"
+ "1000: omille; omill[>%%with-i>];\n"
+ "2000: <%%with-o<mila; <%%with-o<mil[>%%with-a>];\n"
+ "100,000: =%main=;\n"
+ "%%with-o-nofinal:\n"
+ "ozero; uno; odue; otre; oquattro; ocinque; osei; osette; otto; onove;\n"
+ "odieci; undici; ododici; otredici; oquattordici; oquindici; osedici;\n"
+ " odiciasette; odiciotto; odiciannove;\n"
+ "20: oventi; ovent>%%with-i-nofinal>;\n"
+ "30: otrenta; otrent>%%with-a-nofinal>;\n"
+ "40: oquaranta; oquarant>%%with-a-nofinal>;\n"
+ "50: ocinquanta; ocinquant>%%with-a-nofinal>;\n"
+ "60: osessanta; osessant>%%with-a-nofinal>;\n"
+ "70: osettanta; osettant>%%with-a-nofinal>;\n"
+ "80: ottanta; ottant>%%with-a-nofinal>;\n"
+ "90: onovanta; onovant>%%with-a-nofinal>;\n"
+ "100: ocento; ocent[>%%with-o-nofinal>];\n"
+ "200: <%%with-o-nofinal<cento; <%%with-o-nofinal<cent[>%%with-o-nofinal>];\n"
+ "1,000: =%main=;\n"
+ }
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/ja.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/ja.txt
new file mode 100644
index 00000000000..cc78975ac45
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/ja.txt
@@ -0,0 +1,64 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004-2006, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+ja {
+
+ // Spellout rules for Japanese.
+ //
+ // In Japanese, there really isn't any distinction between a number written
+ // out in digits and a number written out in words. The kanji are both
+ // digits and words. This rule set provides two variants:
+ //
+ // %traditional
+ // Traditional CJK numerals for everyday usage.
+ //
+ // %financial
+ // Alternate numerals that are harder to alter than the traditional
+ // numerals to prevent fraud (e.g. changing a traditional one to a
+ // three by adding two strokes). Additionally, items that are usually
+ // dropped or shortened in the traditional form are supplied in full
+ // (e.g. 128 is 1 x 100, 2 x 10, 8 instead of just 100, 2 x 10, 8).
+ //
+ // Note that the Japanese spell out rules, although similar, are different
+ // to those for Chinese. For instance, Japanese omits powers of ten which
+ // are zero, however in Chinese they are included.
+
+ SpelloutRules {
+ "%financial:\n"
+ "-x: \u30de\u30a4\u30ca\u30b9>>;\n"
+ "x.x: <<\u70b9>>;\n"
+ "\u96f6; \u58f1; \u5f10; \u53c2; \u56db; \u4f0d; \u516d; \u4e03; \u516b; \u4e5d;\n"
+ "\u62fe; \u62fe[>>];\n"
+ "20: <<\u62fe[>>];\n"
+ "100: <<\u767e[>>];\n"
+ "1000: <<\u5343[>>];\n"
+ "10,000: <<\u842c[>>];\n"
+ "100,000,000: <<\u5104[>>];\n"
+ "1,000,000,000,000: <<\u5146[>>];\n"
+ "10,000,000,000,000,000: =#,##0=;\n"
+// "10,000,000,000,000,000: <<\u4eac[>>];\n"
+// "100,000,000,000,000,000,000: =#,##0=;"
+ "%traditional:\n"
+ "-x: \u30de\u30a4\u30ca\u30b9>>;\n"
+ "x.x: <<\u30fb>>;\n"
+ "\u3007; \u4e00; \u4e8c; \u4e09; \u56db; \u4e94; \u516d; \u4e03; \u516b; \u4e5d;\n"
+ "\u5341; \u5341[>>];\n"
+ "20: <<\u5341[>>];\n"
+ "100: \u767e[>>];\n"
+ "200: <<\u767e[>>];\n"
+ "1000: \u5343[>>];\n"
+ "2000: <<\u5343[>>];\n"
+ "10,000: <<\u4e07[>>];\n"
+ "100,000,000: <<\u5104[>>];\n"
+ "1,000,000,000,000: <<\u5146[>>];\n"
+ "10,000,000,000,000,000: =#,##0=;"
+// "10,000,000,000,000,000: <<\u4eac[>>];\n"
+// "100,000,000,000,000,000,000: =#,##0=;"
+ }
+
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/mt.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/mt.txt
new file mode 100644
index 00000000000..2a56257fdaf
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/mt.txt
@@ -0,0 +1,193 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+mt {
+// Spellout rules. Experimental.
+
+ SpelloutRules {
+ // This rule set shows the normal simple formatting rules for English
+ "%simplified:\n"
+ // negative number rule. This rule is used to format negative
+ // numbers. The result of formatting the number's absolute
+ // value is placed where the >> is.
+ "-x: minus >>;\n"
+ // faction rule. This rule is used for formatting numbers
+ // with fractional parts. The result of formatting the
+ // number's integral part is substituted for the <<, and
+ // the result of formatting the number's fractional part
+ // (one digit at a time, e.g., 0.123 is "zero punt one two
+ // three") replaces the >>.
+ "x.x: << punt >>;\n"
+ // the rules for the values from 0 to 19 are simply the
+ // words for those numbers
+ "żero; wieħed; tnejn; tlieta; erbgħa; ħamsa; sitta; sebgħa; tmienja; disgħa;\n"
+ "għaxra; ħdax; tnax; tlettax; erbatax; ħmistax; sittax;\n"
+ " sbatax; tmintax; dsatax;\n"
+ // beginning at 20, we use the >> to mark the position where
+ // the result of formatting the number's ones digit. Thus,
+ // we only need a new rule at every multiple of 10. Text in
+ // backets is omitted if the value being formatted is an
+ // even multiple of 10.
+ "20: [>> u ]għoxrin;\n"
+ "30: [>> u ]tletin;\n"
+ "40: [>> u ]erbgħin;\n"
+ "50: [>> u ]ħamsin;\n"
+ "60: [>> u ]sittin;\n"
+ "70: [>> u ]sebgħin;\n"
+ "80: [>> u ]tmenin;\n"
+ "90: [>> u ]disgħin;\n"
+ // beginning at 100, we can use << to mark the position where
+ // the result of formatting the multiple of 100 is to be
+ // inserted. Notice also that the meaning of >> has shifted:
+ // here, it refers to both the ones place and the tens place.
+ // The meanings of the << and >> tokens depend on the base value
+ // of the rule. A rule's divisor is (usually) the highest
+ // power of 10 that is less than or equal to the rule's base
+ // value. The value being formatted is divided by the rule's
+ // divisor, and the integral quotient is used to get the text
+ // for <<, while the remainder is used to produce the text
+ // for >>. Again, text in brackets is omitted if the value
+ // being formatted is an even multiple of the rule's divisor
+ // (in this case, an even multiple of 100)
+ "100: mija[ u >>];\n"
+ "200: mitejn[ u >>];\n"
+ // The rules for the higher numbers work the same way as the
+ // rule for 100: Again, the << and >> tokens depend on the
+ // rule's divisor, which for all these rules is also the rule's
+ // base value. To group by thousand, we simply don't have any
+ // rules between 1,000 and 1,000,000.
+ "1000: << elf[ u >>];\n"
+ "2000: << elfejn[ u >>];\n"
+ "3000: tliet elef [ u >>];\n"
+ "1,000,000: << miljun[ u >>];\n"
+ "1,000,000,000: << biljun[ >>];\n"
+ "1,000,000,000,000: << triljun[ >>];\n"
+ // overflow rule. This rule specifies that values of a
+ // quadrillion or more are shown in numerals rather than words.
+ // The == token means to format (with new rules) the value
+ // being formatted by this rule and place the result where
+ // the == is. The #,##0 inside the == signs is a
+ // DecimalFormat pattern. It specifies that the value should
+ // be formatted with a DecimalFormat object, and that it
+ // should be formatted with no decimal places, at least one
+ // digit, and a thousands separator.
+ "1,000,000,000,000,000: =#,##0=;\n"
+
+ // %default is a more elaborate form of %simplified; It is basically
+ // the same, except that it introduces "and" before the ones digit
+ // when appropriate (basically, between the tens and ones digits) and
+ // separates the thousands groups with commas in values over 100,000.
+ "%default:\n"
+ // negative-number and fraction rules. These are the same
+ // as those for %simplified, but have to be stated here too
+ // because this is an entry point
+ "-x: minus >>;\n"
+ "x.x: << punt >>;\n"
+ // just use %simplified for values below 100
+ "=%simplified=;\n"
+ // for values from 100 to 9,999 use %%and to decide whether or
+ // not to interpose the "and"
+ "100: mija[ >%%and>];\n"
+ "200: mitejn[ >%%and>];\n"
+ "300: tlett mija[ >%%and>];\n"
+ "400: erbgħa mija[ >%%and>];\n"
+ "500: ħames mija[ >%%and>];\n"
+ "600: sitt mija[ >%%and>];\n"
+ "700: sebgħa mija[ >%%and>];\n"
+ "800: tmin mija[ >%%and>];\n"
+ "900: disgħa mija[ >%%and>];\n"
+ "1000: << elf[ >%%and>];\n"
+ // for values of 100,000 and up, use %%commas to interpose the
+ // commas in the right places (and also to interpose the "and")
+ "100,000>>: << thousand[>%%commas>];\n"
+ "1,000,000: << million[>%%commas>];\n"
+ "1,000,000,000: << billion[>%%commas>];\n"
+ "1,000,000,000,000: << trillion[>%%commas>];\n"
+ "1,000,000,000,000,000: =#,##0=;\n"
+ // if the value passed to this rule set is greater than 100, don't
+ // add the "and"; if it's less than 100, add "and" before the last
+ // digits
+ "%%and:\n"
+ "u =%default=;\n"
+ "100: =%default=;\n"
+ // this rule set is used to place the commas
+ "%%commas:\n"
+ // for values below 100, add "and" (the apostrophe at the
+ // beginning is ignored, but causes the space that follows it
+ // to be significant: this is necessary because the rules
+ // calling %%commas don't put a space before it)
+ "' and =%default=;\n"
+ // put a comma after the thousands (or whatever preceded the
+ // hundreds)
+ "100: , =%default=;\n"
+ // put a comma after the millions (or whatever precedes the
+ // thousands)
+ "1000: , <%default< thousand, >%default>;\n"
+ // and so on...
+ "1,000,000: , =%default=;"
+ // %%lenient-parse isn't really a set of number formatting rules;
+ // it's a set of collation rules. Lenient-parse mode uses a Collator
+ // object to compare fragments of the text being parsed to the text
+ // in the rules, allowing more leeway in the matching text. This set
+ // of rules tells the formatter to ignore commas when parsing (it
+ // already ignores spaces, which is why we refer to the space; it also
+ // ignores hyphens, making "twenty one" and "twenty-one" parse
+ // identically)
+ "%%lenient-parse:\n"
+ // "& ' ' , ',' ;\n"
+ "&\u0000 << ' ' << ',' << '-'; \n"
+ }
+
+
+ DurationRules {
+ // main rule set for formatting with words
+ "%with-words:\n"
+ // take care of singular and plural forms of "second"
+ "0 sekondi; 1 sekonda; =0= sekondi;\n"
+ // use %%min to format values greater than 60 seconds
+ "60/60: <%%min<[, >>];\n"
+ // use %%hr to format values greater than 3,600 seconds
+ // (the ">>>" below causes us to see the number of minutes
+ // when when there are zero minutes)
+ "3600/60: <%%hr<[, >>>];\n"
+ // this rule set takes care of the singular and plural forms
+ // of "minute"
+ "%%min:\n"
+ "0 minuti; 1 minuta; =0= minuti;\n"
+ // this rule set takes care of the singular and plural forms
+ // of "hour"
+ "%%hr:\n"
+ "0 siegħat; 1 siegħa; =0= siegħat;\n"
+
+ // main rule set for formatting in numerals
+ "%in-numerals:\n"
+ // values below 60 seconds are shown with "sec."
+ "=0= sek.;\n"
+ // higher values are shown with colons: %%min-sec is used for
+ // values below 3,600 seconds...
+ "60: =%%min-sec=;\n"
+ // ...and %%hr-min-sec is used for values of 3,600 seconds
+ // and above
+ "3600: =%%hr-min-sec=;\n"
+ // this rule causes values of less than 10 minutes to show without
+ // a leading zero
+ "%%min-sec:\n"
+ "0: :=00=;\n"
+ "60/60: <0<>>;\n"
+ // this rule set is used for values of 3,600 or more. Minutes are always
+ // shown, and always shown with two digits
+ "%%hr-min-sec:\n"
+ "0: :=00=;\n"
+ "60/60: <00<>>;\n"
+ "3600/60: <#,##0<:>>>;\n"
+ // the lenient-parse rules allow several different characters to be used
+ // as delimiters between hours, minutes, and seconds
+ "%%lenient-parse:\n"
+ "& ':' = '.' = ' ' = '-';\n"
+ }
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/nl.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/nl.txt
new file mode 100644
index 00000000000..23afa37bf2f
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/nl.txt
@@ -0,0 +1,35 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+nl {
+ //------------------------------------------------------------
+ // Rule Based Number Format Support
+ //------------------------------------------------------------
+
+ SpelloutRules {
+ "-x: min >>;\n"
+ "x.x: << komma >>;\n"
+ "nul; een; twee; drie; vier; vijf; zes; zeven; acht; negen;\n"
+ "tien; elf; twaalf; dertien; veertien; vijftien; zestien;\n"
+ "zeventien; achtien; negentien;\n"
+ "20: [>> en ]twintig;\n"
+ "30: [>> en ]dertig;\n"
+ "40: [>> en ]veertig;\n"
+ "50: [>> en ]vijftig;\n"
+ "60: [>> en ]zestig;\n"
+ "70: [>> en ]zeventig;\n"
+ "80: [>> en ]tachtig;\n"
+ "90: [>> en ]negentig;\n"
+ "100: << honderd[ >>];\n"
+ "1000: << duizend[ >>];\n"
+ "1,000,000: << miljoen[ >>];\n"
+ "1,000,000,000: << miljard[ >>];\n"
+ "1,000,000,000,000: << biljoen[ >>];\n"
+ "1,000,000,000,000,000: =#,##0="
+ }
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/pl.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/pl.txt
new file mode 100644
index 00000000000..af8c755e29a
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/pl.txt
@@ -0,0 +1,44 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+pl {
+ SpelloutRules {
+ "-x: minus >>;\n"
+ "zero; jeden; dwa; trzy; cztery; pi\u0119\u0107;\n"
+ "sze\u015B\u0107; siedem; osiem; dziewi\u0119\u0107; dziesi\u0119\u0107;\n"
+ "jedena\u015Bcie; dwana\u015Bcie; trzyna\u015Bcie; czterna\u015Bcie; pi\u0119tna\u015Bcie;\n"
+ "szesna\u015Bcie; siedemna\u015Bcie; osiemna\u015Bcie; dziewi\u0119tna\u015Bcie;\n"
+ "20: dwadzie\u015Bcia[ >>];\n"
+ "30: trzydzie\u015Bci[ >>];\n"
+ "40: czterdzie\u015Bci[ >>];\n"
+ "50: pi\u0119\u0107dziesi\u0105t[ >>];\n"
+ "60: sze\u015B\u0107dziesi\u0105t[ >>];\n"
+ "70: siedemdziesi\u0105t[ >>];\n"
+ "80: osiemdziesi\u0105t[ >>];\n"
+ "90: dziewi\u0119\u0107dziesi\u0105t[ >>];\n"
+ "100: sto[ >>];\n"
+ "200: dwie\u015Bcie[ >>];\n"
+ "300: trzysta[ >>];\n"
+ "400: czterysta[ >>];\n"
+ "500: pi\u0119\u0107set[ >>];\n"
+ "600: sze\u015B\u0107set[ >>];\n"
+ "700: siedemset[ >>];\n"
+ "800: osiemset[ >>];\n"
+ "900: dziewi\u0119\u0107set[ >>];\n"
+ "1000: tysi\u0105c[ >>];\n"
+ "2000: << tysi\u0105cy[ >>];\n"
+ "1,000,000: milion[ >>];\n"
+ "2,000,000: << miliony[ >>];\n"
+ "1,000,000,000: bilion[ >>];\n"
+ "2,000,000,000: << biliony[ >>];\n"
+ "1,000,000,000,000: trylion[ >>];\n"
+ "2,000,000,000,000: << tryliony[ >>];\n"
+ "1,000,000,000,000,000: =#,##0=;"
+ }
+
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/pt.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/pt.txt
new file mode 100644
index 00000000000..804e846ff0c
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/pt.txt
@@ -0,0 +1,72 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004-2007, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+pt {
+ SpelloutRules {
+ "%main:\n"
+ "-x: menos >>;\n"
+ "x.x: << ponto >>;\n"
+ "zero; um; dois; tr\u00EAs; quatro; cinco; seis; sete; oito; nove;\n"
+ "dez; onze; doze; treze; catorze; quinze; dezasseis;"
+ " dezassete; dezoito; dezanove;\n"
+ "20: vinte[ e >>];\n"
+ "30: trinta[ e >>];\n"
+ "40: quarenta[ e >>];\n"
+ "50: cinquenta[ e >>];\n"
+ "60: sessenta[ e >>];\n"
+ "70: setenta[ e >>];\n"
+ "80: oitenta[ e >>];\n"
+ "90: noventa[ e >>];\n"
+ "100: cem;\n"
+ "101: cento[ e >>];\n"
+ "200: duzcentos[ e >>];\n"
+ "300: trezentos[ e >>];\n"
+ "400: quatrocentos[ e >>];\n"
+ "500: quinhentos[ e >>];\n"
+ "600: seiscentos[ e >>];\n"
+ "700: setecentos[ e >>];\n"
+ "800: oitocentos[ e >>];\n"
+ "900: novecentos[ e >>];\n"
+ "1000: mil[ >%%with-e>];\n"
+ "2000: << mil[ >%%with-e>];\n"
+ "1,000,000: um milh\u00E3o[ >%%with-e>];\n"
+ "2,000,000: << milh\u00F5es[ >%%with-e>];\n"
+ "1,000,000,000: um bilh\u00E3o[ >%%with-e>];\n"
+ "2,000,000,000: << bilh\u00F5es[ >%%with-e>];\n"
+ "1,000,000,000,000: =#,##0=;"
+ "%%with-e:\n"
+ "zero; e um; e dois; e tr\u00EAs; e quatro; e cinco; e seis; e sete; e oito; e nove;\n"
+ "e dez; e onze; e doze; e treze; e catorze; e quinze; e dezasseis;"
+ " e dezassete; e dezoito; e dezanove;\n"
+ "20: e vinte; vinte[ e >%main>];\n"
+ "30: e trinta; trinta[ e >%main>];\n"
+ "40: e quarenta; quarenta[ e >%main>];\n"
+ "50: e cinquenta; cinquenta[ e >%main>];\n"
+ "60: e sessenta; sessenta[ e >%main>];\n"
+ "70: e setenta; setenta[ e >%main>];\n"
+ "80: e oitenta; oitenta[ e >%main>];\n"
+ "90: e noventa; noventa[ e >%main>];\n"
+ "100: e cem;\n"
+ "101: cento[ e >%main>];\n"
+ "200: e duzentos; duzcentos[ e >%main>];\n"
+ "300: e trezentos; trezentos[ e >%main>];\n"
+ "400: e quatrocentos; quatrocentos[ e >%main>];\n"
+ "500: e quinhentos; quinhentos[ e >%main>];\n"
+ "600: e seiscentos; seiscentos[ e >%main>];\n"
+ "700: e setecentos; setecentos[ e >%main>];\n"
+ "800: e oitocentos; oitocentos[ e >%main>];\n"
+ "900: e novecentos; novecentos[ e >%main>];\n"
+ "1000: e mil; mil[ >%%with-e>];\n"
+ "2000: << mil[ >%%with-e>];\n"
+ "1,000,000: um milh\u00E3o[ >%%with-e>];\n"
+ "2,000,000: << milh\u00F5es[ >%%with-e>];\n"
+ "1,000,000,000: um bilh\u00E3o[ >%%with-e>];\n"
+ "2,000,000,000: << bilh\u00F5es[ >%%with-e>];\n"
+ "1,000,000,000,000: =#,##0=;"
+ }
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/rbnffiles.mk b/Build/source/libs/icu/icu-xetex/data/rbnf/rbnffiles.mk
new file mode 100644
index 00000000000..37d1b9f4143
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/rbnffiles.mk
@@ -0,0 +1,55 @@
+# * Copyright (C) 1997-2005, International Business Machines
+# * Corporation and others. All Rights Reserved.
+# A list of txt's to build
+# Note:
+#
+# If you are thinking of modifying this file, READ THIS.
+#
+# Instead of changing this file [unless you want to check it back in],
+# you should consider creating a 'reslocal.mk' file in this same directory.
+# Then, you can have your local changes remain even if you upgrade or
+# reconfigure ICU.
+#
+# Example 'rbnflocal.mk' files:
+#
+# * To add an additional locale to the list:
+# _____________________________________________________
+# | RBNF_SOURCE_LOCAL = myLocale.txt ...
+#
+# * To REPLACE the default list and only build with a few
+# locale:
+# _____________________________________________________
+# | RBNF_SOURCE = ar.txt ar_AE.txt en.txt de.txt zh.txt
+#
+#
+
+
+# This is the list of locales that are built, but not considered installed in ICU.
+# These are usually aliased locales or the root locale.
+RBNF_ALIAS_SOURCE =
+
+
+# Please try to keep this list in alphabetical order
+RBNF_SOURCE = \
+da.txt \
+de.txt \
+en.txt en_GB.txt\
+eo.txt \
+es.txt \
+fa.txt fa_AF.txt \
+fr.txt fr_BE.txt fr_CH.txt \
+ga.txt \
+he.txt \
+it.txt \
+ja.txt \
+mt.txt \
+nl.txt \
+pl.txt \
+pt.txt \
+ru.txt \
+sv.txt \
+th.txt \
+uk.txt
+
+#These are not in use yet
+# el.txt \
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/rbnflocal.mk b/Build/source/libs/icu/icu-xetex/data/rbnf/rbnflocal.mk
new file mode 100644
index 00000000000..7fea9e4184f
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/rbnflocal.mk
@@ -0,0 +1,34 @@
+# * Copyright (C) 1997-2005, International Business Machines
+# * Corporation and others. All Rights Reserved.
+# A list of txt's to build
+# Note:
+#
+# If you are thinking of modifying this file, READ THIS.
+#
+# Instead of changing this file [unless you want to check it back in],
+# you should consider creating a 'reslocal.mk' file in this same directory.
+# Then, you can have your local changes remain even if you upgrade or
+# reconfigure ICU.
+#
+# Example 'rbnflocal.mk' files:
+#
+# * To add an additional locale to the list:
+# _____________________________________________________
+# | RBNF_SOURCE_LOCAL = myLocale.txt ...
+#
+# * To REPLACE the default list and only build with a few
+# locale:
+# _____________________________________________________
+# | RBNF_SOURCE = ar.txt ar_AE.txt en.txt de.txt zh.txt
+#
+#
+
+
+# This is the list of locales that are built, but not considered installed in ICU.
+# These are usually aliased locales or the root locale.
+RBNF_ALIAS_SOURCE =
+
+
+# Please try to keep this list in alphabetical order
+RBNF_SOURCE =
+
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/root.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/root.txt
new file mode 100644
index 00000000000..fc99d237c8a
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/root.txt
@@ -0,0 +1,27 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+root {
+ //------------------------------------------------------------
+ // Rule Based Number Format Support
+ //------------------------------------------------------------
+
+ /*
+ * Default used to be English (US) rules, but now default just formats
+ * like DecimalFormat. The former default rules are now the _en rules.
+ */
+ SpelloutRules {
+ "=#,##0.######=;\n"
+ }
+ OrdinalRules {
+ "=#,##0=;\n"
+ }
+ DurationRules {
+ "=#,##0=;\n"
+ }
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/ru.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/ru.txt
new file mode 100644
index 00000000000..fd4d2241164
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/ru.txt
@@ -0,0 +1,51 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+ru {
+ //------------------------------------------------------------
+ // Rule Based Number Format Support
+ //------------------------------------------------------------
+
+// * Spellout rules for Russian.
+
+ // TODO: Can someone supply me with information on decimals?
+ // How about words for billions and trillions?
+
+ SpelloutRules {
+ "-x: \u043C\u0438\u043D\u0443\u0441 >>;\n"
+ "\u043d\u043e\u043b\u044c; \u043e\u0434\u0438\u043d; \u0434\u0432\u0430; \u0442\u0440\u0438; "
+ "\u0447\u0435\u0442\u044b\u0440\u0435; \u043f\u044f\u0442\u044C; \u0448\u0435\u0441\u0442\u044C; "
+ "\u0441\u0435\u043c\u044c; \u0432\u043e\u0441\u0435\u043c\u044c; \u0434\u0435\u0432\u044f\u0442\u044C;\n"
+ "10: \u0434\u0435\u0441\u044f\u0442\u044c; "
+ "\u043e\u0434\u0438\u043d\u043d\u0430\u0434\u0446\u0430\u0442\u044c;\n"
+ "\u0434\u0432\u0435\u043d\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
+ "\u0442\u0440\u0438\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
+ "\u0447\u0435\u0442\u044b\u0440\u043d\u0430\u0434\u0446\u0430\u0442\u044c;\n"
+ "15: \u043f\u044f\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
+ "\u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
+ "\u0441\u0435\u043c\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
+ "\u0432\u043e\u0441\u0435\u043c\u043d\u0430\u0434\u0446\u0430\u0442\u044c; "
+ "\u0434\u0435\u0432\u044f\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u044c;\n"
+ "20: \u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044c[ >>];\n"
+ "30: \u0442\u0440\u0438\u0434\u0446\u0430\u0442\u044c[ >>];\n"
+ "40: \u0441\u043e\u0440\u043e\u043a[ >>];\n"
+ "50: \u043f\u044f\u0442\u044c\u0434\u0435\u0441\u044f\u0442[ >>];\n"
+ "60: \u0448\u0435\u0441\u0442\u044c\u0434\u0435\u0441\u044f\u0442[ >>];\n"
+ "70: \u0441\u0435\u043c\u044c\u0434\u0435\u0441\u044f\u0442[ >>];\n"
+ "80: \u0432\u043e\u0441\u0435\u043c\u044c\u0434\u0435\u0441\u044f\u0442[ >>];\n"
+ "90: \u0434\u0435\u0432\u044f\u043d\u043e\u0441\u0442\u043e[ >>];\n"
+ "100: \u0441\u0442\u043e[ >>];\n"
+ "200: << \u0441\u0442\u043e[ >>];\n"
+ "1000: \u0442\u044b\u0441\u044f\u0447\u0430[ >>];\n"
+ "2000: << \u0442\u044b\u0441\u044f\u0447\u0430[ >>];\n"
+ "1,000,000: \u043c\u0438\u043b\u043b\u0438\u043e\u043d[ >>];\n"
+ "2,000,000: << \u043c\u0438\u043b\u043b\u0438\u043e\u043d[ >>];\n"
+ "1,000,000,000: =#,##0=;"
+ }
+
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/sv.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/sv.txt
new file mode 100644
index 00000000000..2a16566cb91
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/sv.txt
@@ -0,0 +1,95 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+sv {
+ //------------------------------------------------------------
+ // Rule Based Number Format Support
+ //------------------------------------------------------------
+
+ // Spellout rules for Swedish.
+ // Thanks to Kent Karlsson for cleaning up these rules.
+ // (rapport inskickad till ICU 2001-11-03; ny version inskickad till Doug Felt 2001-11-07)
+
+ SpelloutRules {
+ "%year:\n"
+ "=%neutrum=;\n"
+ "1000>: <%neutrum<hundra[\u00ad>>];\n"
+ "10,000: =%neutrum=;\n"
+ // the same as default except we change the one's digit, wish there were a better way
+ "%neutrum:\n"
+ "-x: minus >>;\n"
+ "x.x: << komma >>;\n"
+ "noll; ett; tv\u00e5; tre; fyra; fem; sex; sju; \u00e5tta; nio;\n"
+ "tio; elva; tolv; tretton; fjorton; femton; sexton; sjutton; arton; nitton;\n"
+ "20: tjugo[>>];\n"
+ "30: trettio[>>];\n"
+ "40: fyrtio[>>];\n"
+ "50: femtio[>>];\n"
+ "60: sextio[>>];\n"
+ "70: sjuttio[>>];\n"
+ "80: \u00e5ttio[>>];\n"
+ "90: nittio[>>];\n"
+ "100: <<hundra[\u00ad>>];\n"
+ "1000: ettusen[ >>];\n"
+ "2000: <%default<\u00adtusen[ >>];\n"
+ "1,000,000: en miljon[ >>];\n"
+ "2,000,000: <%default< miljoner[ >>];\n"
+ "1,000,000,000: en miljard[ >>];\n"
+ "2,000,000,000: <%default< miljarder[ >>];\n"
+ "1,000,000,000,000: en biljon[ >>];\n"
+ "2,000,000,000,000: <%default< biljoner[ >>];\n"
+ "1,000,000,000,000,000: en triljon[ >>];\n"
+ "2,000,000,000,000,000: <%default< triljoner[ >>];\n"
+ "1,000,000,000,000,000,000: =#,##0=;\n"
+ "%default:\n"
+ " -x: minus >>;\n"
+ "x.x: << komma >>;\n"
+ "noll; en; tv\u00e5; tre; fyra; fem; sex; sju; \u00e5tta; nio;\n"
+ "tio; elva; tolv; tretton; fjorton; femton; sexton; sjutton; arton; nitton;\n"
+ "20: tjugo[>>];\n"
+ "30: trettio[>>];\n"
+ "40: fyrtio[>>];\n"
+ "50: femtio[>>];\n"
+ "60: sextio[>>];\n"
+ "70: sjuttio[>>];\n"
+ "80: \u00e5ttio[>>];\n"
+ "90: nittio[>>];\n"
+ "100: etthundra[\u00ad>>];\n"
+ "200: <<hundra[\u00ad>>];\n"
+ "1000: ettusen[ >>];\n"
+ "2000: <<\u00adtusen[ >>];\n"
+ "1,000,000: en miljon[ >>];\n"
+ "2,000,000: << miljoner[ >>];\n"
+ "1,000,000,000: en miljard[ >>];\n"
+ "2,000,000,000: << miljarder[ >>];\n"
+ "1,000,000,000,000: en biljon[ >>];\n"
+ "2,000,000,000,000: << biljoner[ >>];\n"
+ "1,000,000,000,000,000: en triljon[ >>];\n"
+ "2,000,000,000,000,000: << triljoner[ >>];\n"
+ "1,000,000,000,000,000,000: =#,##0=;\n"
+/*
+ * Current (java) implementation can't handle these magnitudes
+ "1,000,000,000,000,000,000: en triljard[ >>];\n"
+ "2,000,000,000,000,000,000: << triljarder[ >>];\n"
+ * Current (c++) implmenatation can't handle these magnitudes
+ "1,000,000,000,000,000,000,000: en kvartiljon[ >>];\n"
+ "2,000,000,000,000,000,000,000: << kvartiljoner[ >>];\n"
+ "1,000,000,000,000,000,000,000,000: en kvartiljard[ >>];\n"
+ "2,000,000,000,000,000,000,000,000: << kvartiljarder[ >>];\n"
+ "1,000,000,000,000,000,000,000,000,000: en kvintiljon[ >>];\n"
+ "2,000,000,000,000,000,000,000,000,000: << kvintiljoner[ >>];\n"
+ "1,000,000,000,000,000,000,000,000,000,000: en kvintiljard[ >>];\n"
+ "2,000,000,000,000,000,000,000,000,000,000: << kvintiljarder[ >>];\n"
+ "1,000,000,000,000,000,000,000,000,000,000,000: en sextiljon[ >>];\n"
+ "2,000,000,000,000,000,000,000,000,000,000,000: << sextiljoner[ >>];\n"
+ "1,000,000,000,000,000,000,000,000,000,000,000,000: en sextiljard[ >>];\n"
+ "2,000,000,000,000,000,000,000,000,000,000,000,000: << sextiljarder[ >>];\n"
+ "1,000,000,000,000,000,000,000,000,000,000,000,000,000: =#,##0="
+*/
+ }
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/th.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/th.txt
new file mode 100644
index 00000000000..fff26cc59a9
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/th.txt
@@ -0,0 +1,49 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+th {
+ //------------------------------------------------------------
+ // Rule Based Number Format Support
+ //------------------------------------------------------------
+
+// Spellout rules for Thai. Data from Suwit Srivilairith, IBM Thailand
+
+ SpelloutRules {
+ "%default:\n"
+ "-x: \u0e25\u0e1a>>;\n"
+ "x.x: <<\u0e08\u0e38\u0e14>>>;\n"
+ "\u0e28\u0e39\u0e19\u0e22\u0e4c; \u0e2b\u0e19\u0e36\u0e48\u0e07; \u0e2a\u0e2d\u0e07; \u0e2a\u0e32\u0e21;\n"
+ "\u0e2a\u0e35\u0e48; \u0e2b\u0e49\u0e32; \u0e2b\u0e01; \u0e40\u0e08\u0e47\u0e14; \u0e41\u0e1b\u0e14;\n"
+ "\u0e40\u0e01\u0e49\u0e32; \u0e2a\u0e34\u0e1a; \u0e2a\u0e34\u0e1a\u0e40\u0e2d\u0e47\u0e14;\n"
+ "\u0e2a\u0e34\u0e1a\u0e2a\u0e2d\u0e07; \u0e2a\u0e34\u0e1a\u0e2a\u0e32\u0e21;\n"
+ "\u0e2a\u0e34\u0e1a\u0e2a\u0e35\u0e48; \u0e2a\u0e34\u0e1a\u0e2b\u0e49\u0e32;\n"
+ "\u0e2a\u0e34\u0e1a\u0e2b\u0e01; \u0e2a\u0e34\u0e1a\u0e40\u0e08\u0e47\u0e14;\n"
+ "\u0e2a\u0e34\u0e1a\u0e41\u0e1b\u0e14; \u0e2a\u0e34\u0e1a\u0e40\u0e01\u0e49\u0e32;\n"
+ "20: \u0e22\u0e35\u0e48\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
+ "30: \u0e2a\u0e32\u0e21\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
+ "40: \u0e2a\u0e35\u0e48\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
+ "50: \u0e2b\u0e49\u0e32\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
+ "60: \u0e2b\u0e01\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
+ "70: \u0e40\u0e08\u0e47\u0e14\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
+ "80: \u0e41\u0e1b\u0e14\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
+ "90: \u0e40\u0e01\u0e49\u0e32\u0e2a\u0e34\u0e1a[>%%alt-ones>];\n"
+ "100: <<\u0e23\u0e49\u0e2d\u0e22[>>];\n"
+ "1000: <<\u0e1e\u0e31\u0e19[>>];\n"
+ "10000: <<\u0e2b\u0e21\u0e37\u0e48\u0e19[>>];\n"
+ "100000: <<\u0e41\u0e2a\u0e19[>>];\n"
+ "1,000,000: <<\u0e25\u0e49\u0e32\u0e19[>>];\n"
+ "1,000,000,000: <<\u0e1e\u0e31\u0e19\u0e25\u0e49\u0e32\u0e19[>>];\n"
+ "1,000,000,000,000: <<\u0e25\u0e49\u0e32\u0e19\u0e25\u0e49\u0e32\u0e19[>>];\n"
+ "1,000,000,000,000,000: =#,##0=;\n"
+ "%%alt-ones:\n"
+ "\u0e28\u0e39\u0e19\u0e22\u0e4c;\n"
+ "\u0e40\u0e2d\u0e47\u0e14;\n"
+ "=%default=;\n"
+ }
+
+}
diff --git a/Build/source/libs/icu/icu-xetex/data/rbnf/uk.txt b/Build/source/libs/icu/icu-xetex/data/rbnf/uk.txt
new file mode 100644
index 00000000000..23dc0e80014
--- /dev/null
+++ b/Build/source/libs/icu/icu-xetex/data/rbnf/uk.txt
@@ -0,0 +1,56 @@
+// ***************************************************************************
+// *
+// * Copyright (C) 2004, International Business Machines
+// * Corporation and others. All Rights Reserved.
+// *
+// ***************************************************************************
+//
+
+uk {
+ // TODO: Can someone supply me with information on negatives and decimals?
+ // How about words for billions and trillions?
+
+ SpelloutRules {
+ "-x: \u043C\u0456\u043D\u0443\u0441 >>;\n"
+ "x.x: << \u043A\u043E\u043C\u0430 >>;\n"
+ "\u043D\u0443\u043B\u044C; \u043E\u0434\u0438\u043D; \u0434\u0432\u0430; \u0442\u0440\u0438; "
+ "\u0447\u043E\u0442\u0438\u0440\u0438; \u043F\u02bc\u044F\u0442\u044C; \u0448\u0456\u0441\u0442\u044C; "
+ "\u0441\u0456\u043C; \u0432\u0456\u0441\u0456\u043C; \u0434\u0435\u0432\u02bc\u044F\u0442\u044C;\n"
+ "10: \u0434\u0435\u0441\u044F\u0442\u044C; "
+ "\u043E\u0434\u0438\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n"
+ "\u0434\u0432\u0430\u043D\u0430\u0434\u0446\u044F\u0442\u044C; "
+ "\u0442\u0440\u0438\u043D\u0430\u0434\u0446\u044F\u0442\u044C; "
+ "\u0447\u043E\u0442\u0438\u0440\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n"
+ "15: \u043F\u02bc\u044F\u0442\u043D\u0430\u0434\u0446\u044F\u0442\u044C; "
+ "\u0448\u0456\u0441\u0442\u043D\u0430\u0434\u0446\u044F\u0442\u044C; "
+ "\u0441\u0456\u043C\u043D\u0430\u0434\u0446\u044F\u0442\u044C; "
+ "\u0432\u0456\u0441\u0456\u043C\u043D\u0430\u0434\u0446\u044F\u0442\u044C; "
+ "\u0434\u0435\u0432\u02bc\u044F\u0442\u043D\u0430\u0434\u0446\u044F\u0442\u044C;\n"
+ "20: \u0434\u0432\u0430\u0434\u0446\u044F\u0442\u044C[ >>];\n"
+ "30: \u0442\u0440\u0438\u0434\u0446\u044F\u0442\u044C[ >>];\n"
+ "40: \u0441\u043E\u0440\u043E\u043A[ >>];\n"
+ "50: \u043F\u02bc\u044F\u0442\u0434\u0435\u0441\u044F\u0442[ >>];\n"
+ "60: \u0448\u0456\u0441\u0442\u0434\u0435\u0441\u044F\u0442[ >>];\n"
+ "70: \u0441\u0456\u043C\u0434\u0435\u0441\u044F\u0442[ >>];\n"
+ "80: \u0432\u0456\u0441\u0456\u043C\u0434\u0435\u0441\u044F\u0442[ >>];\n"
+ "90: \u0434\u0435\u0432\u02bc\u044F\u043D\u043E\u0441\u0442\u043E[ >>];\n"
+ "100: \u0441\u0442\u043E[ >>];\n"
+ "200: \u0434\u0432\u0456\u0441\u0442\u0456[ >>];\n"
+ "300: \u0442\u0440\u0438\u0441\u0442\u0430[ >>];\n"
+ "400: \u0447\u043E\u0442\u0438\u0440\u0438\u0441\u0442\u0430[ >>];\n"
+ "500: \u043F\u02bc\u044F\u0442\u0441\u043E\u0442[ >>];\n"
+ "600: \u0448\u0456\u0441\u0442\u0441\u043E\u0442[ >>];\n"
+ "700: \u0441\u0456\u043C\u0441\u043E\u0442[ >>];\n"
+ "800: \u0432\u0456\u0441\u0456\u043C\u0441\u043E\u0442[ >>];\n"
+ "900: \u0434\u0435\u0432\u02bc\u044F\u0442\u0441\u043E\u0442[ >>];\n"
+ "1000: \u0442\u0438\u0441\u044F\u0447\u0430[ >>];\n"
+ "2000: << \u0442\u0438\u0441\u044F\u0447\u0456[ >>];\n"
+ "5000: << \u0442\u0438\u0441\u044F\u0447[ >>];\n"
+ "1,000,000: \u043C\u0456\u043B\u044C\u0439\u043E\u043D[ >>];\n"
+ "2,000,000: << \u043C\u0456\u043B\u044C\u0439\u043E\u043D\u0438[ >>];\n"
+ "5,000,000: << \u043C\u0456\u043B\u044C\u0439\u043E\u043D\u0456\u0432[ >>];\n"
+ "1,000,000,000: << \u043C\u0456\u043B\u044C\u044F\u0440\u0434[ >>];\n"
+ "1,000,000,000,000: << \u0442\u0440\u0456\u043B\u043B\u0456\u043E\u043D[ >>];"
+ }
+
+}