summaryrefslogtreecommitdiff
path: root/support/lualibs/lua-uca/lua-uca/lua-uca-languages.lua
diff options
context:
space:
mode:
Diffstat (limited to 'support/lualibs/lua-uca/lua-uca/lua-uca-languages.lua')
-rw-r--r--support/lualibs/lua-uca/lua-uca/lua-uca-languages.lua1014
1 files changed, 1014 insertions, 0 deletions
diff --git a/support/lualibs/lua-uca/lua-uca/lua-uca-languages.lua b/support/lualibs/lua-uca/lua-uca/lua-uca-languages.lua
index 09b7230250..73fb7e0a0d 100644
--- a/support/lualibs/lua-uca/lua-uca/lua-uca-languages.lua
+++ b/support/lualibs/lua-uca/lua-uca/lua-uca-languages.lua
@@ -1,5 +1,102 @@
local languages = {}
+languages.af = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring("&N<<<ʼn")
+ return collator_obj
+end
+
+languages.am = function(collator_obj)
+ collator_obj:reorder{ "ethiopic" }
+ return collator_obj
+end
+
+languages.ar = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{ "arabic" }
+ -- these are tailorings from "compat". standard tailorings are huge
+ tailoring "&ت<<ة<<<ﺔ<<<ﺓ"
+ tailoring "&ي<<ى<<<ﯨ<<<ﯩ<<<ﻰ<<<ﻯ<<<ﲐ<<<ﱝ"
+ return collator_obj
+end
+
+
+languages.as = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{ "bengali","devanagari","gurmukhi","gujarati","oriya","tamil","telugu","kannada","malayalam","sinhala" }
+ tailoring "&ঔ<ং<ঁ<ঃ"
+ tailoring "&ত<ৎ=ত্\u{200D}"
+ tailoring "&হ<ক্ষ"
+ return collator_obj
+end
+
+languages.az = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{ "latin", "cyrillic" }
+ tailoring "&C<ç<<<Ç"
+ tailoring "&G<ğ<<<Ğ"
+ tailoring "&i<ı<<<I"
+ tailoring "&i<<<İ"
+ tailoring "&O<ö<<<Ö"
+ tailoring "&S<ş<<<Ş"
+ tailoring "&U<ü<<<Ü"
+ tailoring "&K<q<<<Q"
+ tailoring "&E<ə<<<Ə"
+ tailoring "&H<x<<<X"
+ tailoring "&Z<w<<<W"
+ return collator_obj
+end
+
+languages.be = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder {"cyrillic"}
+ tailoring "&Е<ё<<<Ё"
+ tailoring "&у<ў<<<Ў"
+ return collator_obj
+end
+
+languages.bg = function(collator_obj)
+ collator_obj:reorder {"cyrillic"}
+ return collator_obj
+end
+
+
+languages.bn = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{ "bengali","devanagari","gurmukhi","gujarati","oriya","tamil","telugu","kannada","malayalam","sinhala" }
+ tailoring "&ঔ<ং<ঃ<ঁ"
+ return collator_obj
+end
+
+
+languages.bs = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder {"latin", "cyrillic"}
+ tailoring "&C<č<<<Č<ć<<<Ć"
+ tailoring "&D<dž<<<dž<<<Dž<<<Dž<<<DŽ<<<DŽ<đ<<<Đ"
+ tailoring "&L<lj<<<lj<<<Lj<<<Lj<<<LJ<<<LJ"
+ tailoring "&N<nj<<<nj<<<Nj<<<Nj<<<NJ<<<NJ"
+ tailoring "&S<š<<<Š"
+ tailoring "&Z<ž<<<Ž"
+ return collator_obj
+end
+
+languages.bs_cyrl = function(collator_obj)
+ collator_obj:reorder{ "cyrillic" }
+ return collator_obj
+end
+
+languages.ca = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&C<ch<<<cH<<<Ch<<<CH"
+ tailoring "&L<ll<<<l·l<<<lL<<<l·L<<<Ll<<<L·l<<<LL<<<L·L"
+ return collator_obj
+end
+
+languages.chr = function(collator_obj)
+ collator_obj:reorder {"cherokee"}
+ return collator_obj
+end
languages.cs = function(collator_obj)
@@ -13,6 +110,19 @@ languages.cs = function(collator_obj)
return collator_obj
end
+languages.cy = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&C<ch<<<Ch<<<CH"
+ tailoring "&D<dd<<<Dd<<<DD"
+ tailoring "&F<ff<<<Ff<<<FF"
+ tailoring "&G<ng<<<Ng<<<NG"
+ tailoring "&L<ll<<<Ll<<<LL"
+ tailoring "&P<ph<<<Ph<<<PH"
+ tailoring "&R<rh<<<Rh<<<RH"
+ tailoring "&T<th<<<Th<<<TH"
+ return collator_obj
+end
+
languages.da = function(collator_obj)
local tailoring = function(s) collator_obj:tailor_string(s) end
@@ -51,6 +161,538 @@ languages.de_din2 = function(collator_obj)
return collator_obj
end
+languages.dsb = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&C<č<<<Č<ć<<<Ć"
+ tailoring "&E<ě<<<Ě"
+ tailoring "&H<ch<<<cH<<<Ch<<<CH"
+ tailoring "&L<ł<<<Ł"
+ tailoring "&N<ń<<<Ń"
+ tailoring "&R<ŕ<<<Ŕ"
+ tailoring "&S<š<<<Š<ś<<<Ś"
+ tailoring "&Z<ž<<<Ž<ź<<<Ź"
+ return collator_obj
+end
+
+languages.dz = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder {"tibetan"}
+ -- tons of tailorings ommited
+ return collator_obj
+end
+
+languages.ee = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&̌<<̂"
+ tailoring "&D<dz<<<Dz<<<DZ<ɖ<<<Ɖ"
+ tailoring "&E<ɛ<<<Ɛ"
+ tailoring "&F<ƒ<<<Ƒ"
+ tailoring "&G<gb<<<Gb<<<GB<ɣ<<<Ɣ"
+ tailoring "&H<x<<<X"
+ tailoring "&K<kp<<<Kp<<<KP"
+ tailoring "&N<ny<<<Ny<<<NY<ŋ<<<Ŋ"
+ tailoring "&O<ɔ<<<Ɔ"
+ tailoring "&T<ts<<<Ts<<<TS"
+ tailoring "&V<ʋ<<<Ʋ"
+ return collator_obj
+end
+
+languages.el = function(collator_obj)
+ collator_obj:reorder {"greek"}
+ return collator_obj
+end
+
+languages.en = function(collator_obj)
+ -- default sorting
+ return collator_obj
+end
+
+languages.eo = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&C<ĉ<<<Ĉ"
+ tailoring "&G<ĝ<<<Ĝ"
+ tailoring "&H<ĥ<<<Ĥ"
+ tailoring "&J<ĵ<<<Ĵ"
+ tailoring "&S<ŝ<<<Ŝ"
+ tailoring "&U<ŭ<<<Ŭ"
+ return collator_obj
+end
+
+languages.es = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&N<ñ<<<Ñ"
+ return collator_obj
+end
+
+languages.et = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&T<š<<<Š<z<<<Z<ž<<<Ž"
+ tailoring "&X<õ<<<Õ<ä<<<Ä<ö<<<Ö<ü<<<Ü"
+ return collator_obj
+end
+
+languages.fa = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&َ<<ِ<<ُ<<ً<<ٍ<<ٌ"
+ tailoring "&ا<آ"
+ tailoring "&ا<<ٱ<ء"
+ tailoring "<<أ<<ٲ<<إ<<ٳ<<ؤ"
+ tailoring "<<یٔ<<<ىٔ<<<ئ"
+ tailoring "&ک<<*ڪګكڬڭڮ"
+ tailoring "&ۏ<ه<<ە<<ہ<<ة<<ۃ<<ۀ<<ھ"
+ tailoring "&ی<<*ىےيېۑۍێ"
+ return collator_obj
+end
+
+languages.fi = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&D\u{0335}<<đ<<<Đ"
+ tailoring "&G\u{0335}<<ǥ<<<Ǥ"
+ tailoring "&N\u{0335}<<ŋ<<<Ŋ"
+ tailoring "&T\u{0335}<<ŧ<<<Ŧ"
+ tailoring "&Y<<ü<<<Ü"
+ tailoring "&Z\u{0335}<<ʒ<<<Ʒ"
+ tailoring "&ǀ<å<<<Å<ä<<<Ä<<æ<<<Æ<ö<<<Ö<<ø<<<Ø"
+ return collator_obj
+end
+
+languages.fil = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&N<ñ<<<Ñ<ng<<<Ng<<<NG"
+ return collator_obj
+end
+
+languages.fo = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&D<<đ<<<Đ<<ð<<<Ð"
+ tailoring "&t<<<þ/h"
+ tailoring "&T<<<Þ/H"
+ tailoring "&Y<<ü<<<Ü<<ű<<<Ű"
+ tailoring "&ǀ<æ<<<Æ<<ä<<<Ä<<ę<<<Ę<ø<<<Ø<<ö<<<Ö<<ő<<<Ő<<œ<<<Œ<å<<<Å<<<aa<<<Aa<<<AA"
+end
+
+languages.fr = function(collator_obj)
+ return collator_obj
+end
+
+languages.ga = function(collator_obj)
+ return collator_obj
+end
+
+languages.gl = languages.es
+
+
+languages.gu = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{"gujarati","devanagari", "bengali", "gurmukhi","oriya","tamil","telugu","kannada","malayalam","sinhala" }
+ tailoring "&ૐ<ં<<ઁ<ઃ"
+ return collator_obj
+end
+
+languages.ha = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&B<ɓ<<<Ɓ"
+ tailoring "&D<ɗ<<<Ɗ"
+ tailoring "&K<ƙ<<<Ƙ"
+ tailoring "&S<sh<<<Sh<<<SH"
+ tailoring "&T<ts<<<Ts<<<TS"
+ tailoring "&Y<ƴ<<<ʼy<<<''y<<<Ƴ<<<ʼY<<<''Y"
+ return collator_obj
+end
+
+languages.haw = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&a<e<<<E<i<<<I<o<<<O<u<<<U"
+ tailoring "&w<ʻ"
+ return collator_obj
+end
+
+
+languages.he = function(collator_obj)
+ collator_obj:reorder{"hebrew"}
+ return collator_obj
+end
+
+languages.hr = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder {"latin", "cyrillic"}
+ tailoring "&C<č<<<Č<ć<<<Ć"
+ tailoring "&D<dž<<<dž<<<Dž<<<Dž<<<DŽ<<<DŽ<đ<<<Đ"
+ tailoring "&L<lj<<<lj<<<Lj<<<Lj<<<LJ<<<LJ"
+ tailoring "&N<nj<<<nj<<<Nj<<<Nj<<<NJ<<<NJ"
+ tailoring "&S<š<<<Š"
+ tailoring "&Z<ž<<<Ž"
+ return collator_obj
+end
+
+languages.hi = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{ "bengali","devanagari","gurmukhi","gujarati","oriya","tamil","telugu","kannada","malayalam","sinhala" }
+ tailoring "&ॐ<ं<<ँ<ः"
+ return collator_obj
+end
+
+languages.hsb = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&C<č<<<Č<ć<<<Ć"
+ tailoring "&E<ě<<<Ě"
+ tailoring "&H<ch<<<cH<<<Ch<<<CH"
+ tailoring "&L<ł<<<Ł"
+ tailoring "&R<ř<<<Ř"
+ tailoring "&S<š<<<Š"
+ tailoring "&Z<ž<<<Ž<ź<<<Ź"
+ return collator_obj
+end
+
+languages.hu = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&C<cs<<<Cs<<<CS"
+ tailoring "&D<dz<<<Dz<<<DZ"
+ tailoring "&DZ<dzs<<<Dzs<<<DZS"
+ tailoring "&G<gy<<<Gy<<<GY"
+ tailoring "&L<ly<<<Ly<<<LY"
+ tailoring "&N<ny<<<Ny<<<NY"
+ tailoring "&S<sz<<<Sz<<<SZ"
+ tailoring "&T<ty<<<Ty<<<TY"
+ tailoring "&Z<zs<<<Zs<<<ZS"
+ tailoring "&O<ö<<<Ö<<ő<<<Ő"
+ tailoring "&U<ü<<<Ü<<ű<<<Ű"
+ tailoring "&cs<<<ccs/cs"
+ tailoring "&Cs<<<Ccs/cs"
+ tailoring "&CS<<<CCS/CS"
+ tailoring "&dz<<<ddz/dz"
+ tailoring "&Dz<<<Ddz/dz"
+ tailoring "&DZ<<<DDZ/DZ"
+ tailoring "&dzs<<<ddzs/dzs"
+ tailoring "&Dzs<<<Ddzs/dzs"
+ tailoring "&DZS<<<DDZS/DZS"
+ tailoring "&gy<<<ggy/gy"
+ tailoring "&Gy<<<Ggy/gy"
+ tailoring "&GY<<<GGY/GY"
+ tailoring "&ly<<<lly/ly"
+ tailoring "&Ly<<<Lly/ly"
+ tailoring "&LY<<<LLY/LY"
+ tailoring "&ny<<<nny/ny"
+ tailoring "&Ny<<<Nny/ny"
+ tailoring "&NY<<<NNY/NY"
+ tailoring "&sz<<<ssz/sz"
+ tailoring "&Sz<<<Ssz/sz"
+ tailoring "&SZ<<<SSZ/SZ"
+ tailoring "&ty<<<tty/ty"
+ tailoring "&Ty<<<Tty/ty"
+ tailoring "&TY<<<TTY/TY"
+ tailoring "&zs<<<zzs/zs"
+ tailoring "&Zs<<<Zzs/zs"
+ tailoring "&ZS<<<ZZS/ZS"
+ return collator_obj
+end
+
+
+languages.hy = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder {"armenian"}
+ tailoring "&ք<և<<<Եւ"
+ return collator_obj
+end
+
+languages.id = function(collator_obj)
+ return collator_obj
+end
+
+languages.ig = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&B<ch<<<Ch<<<CH"
+ tailoring "&G<gb<<<Gb<<<GB<gh<<<Gh<<<GH<gw<<<Gw<<<GW"
+ tailoring "&I<ị<<<Ị"
+ tailoring "&K<kp<<<Kp<<<KP<kw<<<Kw<<<KW"
+ tailoring "&N<ṅ<<<Ṅ<nw<<<Nw<<<NW<ny<<<Ny<<<NY"
+ tailoring "&O<ọ<<<Ọ"
+ tailoring "&S<sh<<<Sh<<<SH"
+ tailoring "&U<ụ<<<Ụ"
+ return collator_obj
+end
+
+languages.is = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&b<á<<<Á"
+ tailoring "&d<<đ<<<Đ<ð<<<Ð"
+ tailoring "&f<é<<<É"
+ tailoring "&j<í<<<Í"
+ tailoring "&p<ó<<<Ó"
+ tailoring "&v<ú<<<Ú"
+ tailoring "&z<ý<<<Ý"
+ tailoring "&ǀ<æ<<<Æ<<ä<<<Ä<ö<<<Ö<<ø<<<Ø<å<<<Å"
+ return collator_obj
+end
+
+languages.it = function(collator_obj)
+ return collator_obj
+end
+
+languages.ja = function(collator_obj)
+ collator_obj:reorder{"latin", "kana", "han"}
+ -- tons of tailorings ommited
+ return collator_obj
+end
+
+languages.ka = function(collator_obj)
+ collator_obj:reorder{"georgian"}
+ return collator_obj
+end
+
+
+languages.kk = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{ "cyrillic" }
+ tailoring "&Е<ё<<<Ё"
+ tailoring "&Ұ<ү<<<Ү"
+ tailoring "&ь<і<<<І"
+ return collator_obj
+end
+
+languages.kl = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&D<<đ<<<Đ<<ð<<<Ð"
+ tailoring "&Q<<ĸ<<<K''"
+ tailoring "&t<<<þ/h"
+ tailoring "&T<<<Þ/H"
+ tailoring "&Y<<ü<<<Ü<<ű<<<Ű"
+ tailoring "&ǀ<æ<<<Æ<<ä<<<Ä<<ę<<<Ę<ø<<<Ø<<ö<<<Ö<<ő<<<Ő<<œ<<<Œ<å<<<Å"
+ return collator_obj
+end
+
+languages.km = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{ "khmer" }
+ tailoring "&។ល។<<<៘"
+ tailoring "&ៈ<<៎<<៏<<៑<<័<<ៈ<<៝<<់<<៉<<៊<<៍"
+ tailoring "&រ<ឫ<ឬ"
+ tailoring "&ល<ឭ<ឮ"
+ tailoring "&រ្ក<<ក៌"
+ tailoring "&រ្ខ<<ខ៌"
+ tailoring "&រ្គ<<គ៌"
+ tailoring "&រ្ឃ<<ឃ៌"
+ tailoring "&រ្ង<<ង៌"
+ tailoring "&រ្ច<<ច៌"
+ tailoring "&រ្ឆ<<ឆ៌"
+ tailoring "&រ្ជ<<ជ៌"
+ tailoring "&រ្ឈ<<ឈ៌"
+ tailoring "&រ្ញ<<ញ៌"
+ tailoring "&រ្ដ<<ដ៌"
+ tailoring "&រ្ឋ<<ឋ៌"
+ tailoring "&រ្ឌ<<ឌ៌"
+ tailoring "&រ្ឍ<<ឍ៌"
+ tailoring "&រ្ណ<<ណ៌"
+ tailoring "&រ្ត<<ត៌"
+ tailoring "&រ្ថ<<ថ៌"
+ tailoring "&រ្ទ<<ទ៌"
+ tailoring "&រ្ធ<<ធ៌"
+ tailoring "&រ្ន<<ន៌"
+ tailoring "&រ្ប<<ប៌"
+ tailoring "&រ្ផ<<ផ៌"
+ tailoring "&រ្ព<<ព៌"
+ tailoring "&រ្ភ<<ភ៌"
+ tailoring "&រ្ម<<ម៌"
+ tailoring "&រ្យ<<យ៌"
+ tailoring "&រ្រ<<រ៌"
+ tailoring "&រ្ឫ<<ឫ៌"
+ tailoring "&រ្ឬ<<ឬ៌"
+ tailoring "&រ្ល<<ល៌"
+ tailoring "&រ្ឭ<<ឭ៌"
+ tailoring "&រ្ឮ<<ឮ៌"
+ tailoring "&រ្វ<<វ៌"
+ tailoring "&រ្ឝ<<ឝ៌"
+ tailoring "&រ្ឞ<<ឞ៌"
+ tailoring "&រ្ស<<ស៌"
+ tailoring "&រ្ហ<<ហ៌"
+ tailoring "&រ្ឡ<<ឡ៌"
+ tailoring "&រ្អ<<អ៌=ឣ៌"
+ tailoring "&អ=ឣ"
+ tailoring "&អា=ឤ"
+ tailoring "&អិ<<ឥ"
+ tailoring "&អី<<ឦ"
+ tailoring "&អុ<<ឧ"
+ tailoring "&អូ<<ឩ"
+ tailoring "&អែ<<ឯ"
+ tailoring "&អៃ<<ឰ"
+ tailoring "&អោ<<ឱ"
+ tailoring "&អៅ<<ឳ"
+ tailoring "&ឧក<<<ឨ"
+ tailoring "&ឩវ<<<ឪ"
+ tailoring "&ឱ<<<ឲ"
+ tailoring "&ៅ<ុំ<ំ<ាំ<ះ<ិះ<ុះ<េះ<ោះ"
+ return collator_obj
+end
+
+languages.kn = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{"kannada","devanagari", "bengali", "gurmukhi","gujarati","oriya","tamil","telugu","malayalam","sinhala" }
+ tailoring "&ಔ<ಂ<ಃ<ೱ<ೲ"
+ return collator_obj
+end
+
+languages.ko = function(collator_obj)
+ -- this is pretty incomplete, there are tons of tailorings in the xml file
+ -- we will support them maybe in the future
+ collator_obj:reorder{"hangul", "han"}
+ return collator_obj
+end
+
+
+languages.kok = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{"devanagari", "bengali", "gurmukhi","gujarati","oriya","tamil","telugu","kannada","malayalam","sinhala" }
+ tailoring "&ॐ<ं<<ँ<ः"
+ tailoring "&ह<ळ"
+ tailoring "<क्ष"
+ return collator_obj
+end
+
+languages.ky = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{ "cyrillic" }
+ tailoring "&е<ё<<<Ё"
+ return collator_obj
+end
+
+languages.lb = function(collator_obj)
+ return collator_obj
+end
+
+languages.lkt = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&C<č<<<Č"
+ tailoring "&G<ǧ<<<Ǧ"
+ tailoring "&H<ȟ<<<Ȟ"
+ tailoring "&S<š<<<Š"
+ tailoring "&Z<ž<<<Ž"
+ return collator_obj
+end
+
+languages.ln = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&E<ɛ<<<Ɛ"
+ tailoring "&O<<ɔ<<<Ɔ"
+ return collator_obj
+end
+
+languages.lo = function(collator_obj)
+ collator_obj:reorder{ "lao" }
+ return collator_obj
+end
+
+languages.lt = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&̀=̇̀"
+ tailoring "&́=̇́"
+ tailoring "&̃=̇̃"
+ tailoring "&A<<ą<<<Ą"
+ tailoring "&C<č<<<Č"
+ tailoring "&E<<ę<<<Ę<<ė<<<Ė"
+ tailoring "&I<<į<<<Į<<y<<<Y"
+ tailoring "&S<š<<<Š"
+ tailoring "&U<<ų<<<Ų<<ū<<<Ū"
+ tailoring "&Z<ž<<<Ž"
+ return collator_obj
+end
+
+languages.lv = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&D<č<<<Č"
+ tailoring "&H<ģ<<<Ģ"
+ tailoring "&I<<y<<<Y"
+ tailoring "&L<ķ<<<Ķ"
+ tailoring "&M<ļ<<<Ļ"
+ tailoring "&O<ņ<<<Ņ"
+ tailoring "&S<ŗ<<<Ŗ"
+ tailoring "&T<š<<<Š"
+ tailoring "&Ʒ<ž<<<Ž"
+ return collator_obj
+end
+
+languages.mk = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{ "cyrillic" }
+ tailoring "&ԃ<ѓ<<<Ѓ"
+ tailoring "&ћ<ќ<<<Ќ"
+ return collator_obj
+end
+
+languages.ml = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{"malayalam","latin", "devanagari", "arabic","tamil", "kannada", "telugu", "bengali", "gurmukhi","gujarati","oriya","sinhala" }
+ tailoring "&ഃ<<ഽ"
+ tailoring "&\u{0D4C}<<\u{0D57}"
+ tailoring "&ക്<<ക്\u{200D}<<<ൿ"
+ tailoring "&ണ്<<ണ്\u{200D}<<<ൺ"
+ tailoring "&ന്<<ന്\u{200D}<<<ൻ"
+ tailoring "&ര്<<ര്\u{200D}<<<ർ"
+ tailoring "&ല്<<ല്\u{200D}<<<ൽ"
+ tailoring "&ള്<<ള്\u{200D}<<<ൾ"
+ tailoring "&മ്<<ം"
+ tailoring "&ന്<<<ൻ്"
+ return collator_obj
+end
+
+languages.mn = function(collator_obj)
+ collator_obj:reorder{ "cyrillic", "mongolian" }
+ return collator_obj
+end
+
+languages.mr = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{"devanagari", "bengali", "gurmukhi", "gujarati", "oriya", "tamil", "telugu", "kannada", "malayalam", "sinhala"}
+ tailoring "&ॐ<ं<<ँ<ः"
+ tailoring "&ह<ळ"
+ tailoring "<क्ष"
+ tailoring "<ज्ञ"
+ return collator_obj
+end
+
+languages.ms = function(collator_obj)
+ return collator_obj
+end
+
+languages.mt = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:uppercase_first()
+ tailoring "&c<ċ<<<Ċ"
+ tailoring "&g<ġ<<<Ġ"
+ tailoring "&h<għ<<<gĦ<<<Għ<<<GĦ"
+ tailoring "&i<ħ<<<Ħ"
+ tailoring "&z<ż<<<Ż"
+ return collator_obj
+end
+
+
+languages.my = function(collator_obj)
+ -- there are tons of tailoring in the xml file, at the moment we just reorder
+ collator_obj:reorder{ "myanmar" }
+ return collator_obj
+end
+
+languages.nb = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&D<<đ<<<Đ<<ð<<<Ð"
+ tailoring "&t<<<þ/h"
+ tailoring "&T<<<Þ/H"
+ tailoring "&Y<<ü<<<Ü<<ű<<<Ű"
+ tailoring "&ǀ<æ<<<Æ<<ä<<<Ä<<ę<<<Ę<ø<<<Ø<<ö<<<Ö<<ő<<<Ő<<œ<<<Œ<å<<<Å<<aa<<<Aa<<<AA"
+ return collator_obj
+end
+
+languages.ne = function(collator_obj)
+ collator_obj:reorder{ "devanagari" }
+ return collator_obj
+end
+
+languages.nl = function(collator_obj)
+ return collator_obj
+end
+
+--
+languages.nn = languages.nb
+
languages.no = function(collator_obj)
local tailoring = function(s) collator_obj:tailor_string(s) end
collator_obj:uppercase_first()
@@ -63,9 +705,381 @@ languages.no = function(collator_obj)
return collator_obj
end
+languages.om = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&Z<ch<<<Ch<<<CH<dh<<<Dh<<<DH<kh<<<Kh<<<KH<ny<<<Ny<<<NY<ph<<<Ph<<<PH<sh<<<Sh"
+ return collator_obj
+end
+
+languages["or"] = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{"oriya", "devanagari", "bengali", "gurmukhi", "gujarati", "tamil", "telugu", "kannada", "malayalam", "sinhala"}
+ tailoring "&ଔ<ଁ<ଂ<ଃ"
+ tailoring "&ହ<କ୍ଷ"
+ tailoring "&ଯ<<ୟ"
+ return collator_obj
+end
+
+languages.pa = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{"gurmukhi", "devanagari", "bengali", "gujarati", "oriya", "tamil", "telugu", "kannada", "malayalam", "sinhala", "arabic"}
+ tailoring "&ੱ<<ੰ<<ਂ<<ਁ<<਼"
+ tailoring "&ੜ<੍"
+ return collator_obj
+end
+
+languages.pl = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&A<ą<<<Ą"
+ tailoring "&C<ć<<<Ć"
+ tailoring "&E<ę<<<Ę"
+ tailoring "&L<ł<<<Ł"
+ tailoring "&N<ń<<<Ń"
+ tailoring "&O<ó<<<Ó"
+ tailoring "&S<ś<<<Ś"
+ tailoring "&Z<ź<<<Ź<ż<<<Ż"
+ return collator_obj
+end
+
+
+languages.ps = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{"arabic"}
+ tailoring "&َ<<ِ<<ُ<<ً<<ٍ<<ٌ"
+ tailoring "&ا<آ"
+ tailoring "&ا<<أ<<ٲ<<ٱ<<إ<<ٳ<ء"
+ tailoring "&ت<ټ<<ٹ"
+ tailoring "&ج<ځ<<حٔ"
+ tailoring "&چ<څ"
+ tailoring "&د<ډ<<ڈ"
+ tailoring "&ر<ړ<<ڑ"
+ tailoring "&ژ<ږ"
+ tailoring "&ک<<*ڪك"
+ tailoring "&ګ<<گ"
+ tailoring "&ڼ<<ڻ"
+ tailoring "&و<<ؤ<<ۇ<<ۉ"
+ tailoring "&ه<<<ۀ<<<هٔ<<*ەہھةۃ"
+ tailoring "&ی<<*ىےيېۍ<<یٔ<<<ىٔ<<<ئ"
+ tailoring "&\u{00A0}<<\u{200C}<<\u{200D}"
+ return collator_obj
+end
+
+languages.pt = function(collator_obj)
+ return collator_obj
+end
+
+languages.ro = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&A<ă<<<Ă<â<<<Â"
+ tailoring "&I<î<<<Î"
+ tailoring "&S<ş=ș<<<Ş=Ș"
+ tailoring "&T<ţ=ț<<<Ţ=Ț"
+ return collator_obj
+end
+
languages.ru = function(collator_obj)
collator_obj:reorder{ "cyrillic" }
return collator_obj
end
+
+languages.se = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&b<á<<<Á"
+ tailoring "&d<č<<<Č<ʒ<<<Ʒ<ǯ<<<Ǯ"
+ tailoring "&e<đ<<<Đ<<ð<<<Ð"
+ tailoring "&h<ǧ<<<Ǧ<ǥ<<<Ǥ"
+ tailoring "&l<ǩ<<<Ǩ"
+ tailoring "&o<ŋ<<<Ŋ<<ń<<<Ń<<ñ<<<Ñ"
+ tailoring "&t<š<<<Š"
+ tailoring "&u<ŧ<<<Ŧ<<þ<<<Þ"
+ tailoring "&y<<ü<<<Ü<<ű<<<Ű"
+ tailoring "&ǀ<ž<<<Ž<ø<<<Ø<<œ<<<Œ<æ<<<Æ<å<<<Å<<ȧ<<<Ȧ<ä<<<Ä<<ã<<<Ã<ö<<<Ö<<ő<<<Ő<<õ<<<Õ<<ô<<<Ô<<ǫ<<<Ǫ"
+ return collator_obj
+end
+
+languages.si = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{"sinhala","devanagari", "bengali", "gurmukhi", "gujarati", "oriya", "tamil", "telugu", "kannada", "malayalam"}
+ tailoring "&ඖ<ං<ඃ"
+ tailoring "&ඥ<ඤ"
+ return collator_obj
+end
+
+languages.sk = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&A<ä<<<Ä"
+ tailoring "&C<č<<<Č"
+ tailoring "&H<ch<<<cH<<<Ch<<<CH"
+ tailoring "&O<ô<<<Ô"
+ tailoring "&R<ř<<<Ř"
+ tailoring "&S<š<<<Š"
+ tailoring "&Z<ž<<<Ž"
+ return collator_obj
+end
+
+
+languages.sl = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&C<č<<<Č"
+ tailoring "&S<š<<<Š"
+ tailoring "&Z<ž<<<Ž"
+ return collator_obj
+end
+
+languages.smn = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&A<â<<<Â<<à<<<À"
+ tailoring "&C<č<<<Č"
+ tailoring "&D<đ<<<Đ"
+ tailoring "&Ŋ<<ñ<<<Ñ<<ń<<<Ń"
+ tailoring "&S<š<<<Š"
+ tailoring "&Z<ž<<<Ž<æ<<<Æ<ø<<<Ø<å<<<Å<ã<<<Ã<ä<<<Ä<á<<<Á<ö<<<Ö"
+ return collator_obj
+end
+
+languages.sq = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&D<ç<<<Ç"
+ tailoring "&E<dh<<<Dh<<<DH"
+ tailoring "&F<ë<<<Ë"
+ tailoring "&H<gj<<<Gj<<<GJ"
+ tailoring "&M<ll<<<Ll<<<LL"
+ tailoring "&O<nj<<<Nj<<<NJ"
+ tailoring "&S<rr<<<Rr<<<RR"
+ tailoring "&T<sh<<<Sh<<<SH"
+ tailoring "&U<th<<<Th<<<TH"
+ tailoring "&Y<xh<<<Xh<<<XH"
+ tailoring "&Ʒ<zh<<<Zh<<<ZH"
+ return collator_obj
+end
+
+languages.sr = function(collator_obj)
+ collator_obj:reorder{ "cyrillic" }
+ return collator_obj
+end
+
+languages.sr_latn = languages.hr
+
+languages.sv = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&D<<đ<<<Đ<<ð<<<Ð"
+ tailoring "&t<<<þ/h"
+ tailoring "&T<<<Þ/H"
+ tailoring "&v<<<V<<w<<<W"
+ tailoring "&Y<<ü<<<Ü<<ű<<<Ű"
+ tailoring "&ǀ<å<<<Å<ä<<<Ä<<æ<<<Æ<<ę<<<Ę<ö<<<Ö<<ø<<<Ø<<ő<<<Ő<<œ<<<Œ<<ô<<<Ô"
+ return collator_obj
+end
+
+languages.sw = function(collator_obj)
+ return collator_obj
+end
+
+
+languages.ta = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{"tamil", "devanagari", "bengali", "gurmukhi", "gujarati", "oriya", "telugu", "kannada", "malayalam", "sinhala"}
+ tailoring "&ஔ<ஂ<ஃ"
+ tailoring "&ஹ<க்ஷ"
+ tailoring "&க<க்"
+ tailoring "&ங<ங்"
+ tailoring "&ச<ச்"
+ tailoring "&ஞ<ஞ்"
+ tailoring "&ட<ட்"
+ tailoring "&ண<ண்"
+ tailoring "&த<த்"
+ tailoring "&ந<ந்"
+ tailoring "&ப<ப்"
+ tailoring "&ம<ம்"
+ tailoring "&ய<ய்"
+ tailoring "&ர<ர்"
+ tailoring "&ல<ல்"
+ tailoring "&வ<வ்"
+ tailoring "&ழ<ழ்"
+ tailoring "&ள<ள்"
+ tailoring "&ற<ற்"
+ tailoring "&ன<ன்"
+ tailoring "&ஜ<ஜ்"
+ tailoring "&ஶ<ஶ்"
+ tailoring "&ஷ<ஷ்"
+ tailoring "&ஸ<ஸ்"
+ tailoring "&ஹ<ஹ்"
+ tailoring "&க்ஷ<க்ஷ்"
+ return collator_obj
+end
+
+languages.te = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{"telugu", "devanagari", "bengali", "gurmukhi", "gujarati", "oriya", "tamil", "kannada", "malayalam", "sinhala"}
+ tailoring "&ఔ<ఁ<ం<ః"
+ return collator_obj
+end
+
+languages.th = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{"thai"}
+ tailoring "&๚<ฯ"
+ tailoring "&๛<ๆ"
+ tailoring "&๎<<์"
+ tailoring "&ะ<ํ"
+ tailoring "&า<<<ๅ"
+ tailoring "&าํ<<<ํา<<<ำ"
+ tailoring "&ๅํ<<<ํๅ"
+ tailoring "&ไ<ฺ"
+ return collator_obj
+end
+
+languages.tk = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&C<ç<<<Ç"
+ tailoring "&E<ä<<<Ä"
+ tailoring "&J<ž<<<Ž"
+ tailoring "&N<ň<<<Ň"
+ tailoring "&O<ö<<<Ö"
+ tailoring "&S<ş<<<Ş"
+ tailoring "&U<ü<<<Ü"
+ tailoring "&Y<ý<<<Ý"
+ return collator_obj
+end
+
+languages.to = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&n<ng<<<Ng<<<NG<<<ŋ<<<Ŋ"
+ tailoring "&z<ʻ<<<ʽ"
+ tailoring "&a<<á<<<Á<<ā<<<Ā"
+ tailoring "&e<<é<<<É<<ē<<<Ē"
+ tailoring "&i<<í<<<Í<<ī<<<Ī"
+ tailoring "&o<<ó<<<Ó<<ō<<<Ō"
+ tailoring "&u<<ú<<<Ú<<ū<<<Ū"
+ return collator_obj
+end
+
+languages.tr = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&C<ç<<<Ç"
+ tailoring "&G<ğ<<<Ğ"
+ tailoring "&i<ı<<<I"
+ tailoring "&i<<<İ"
+ tailoring "&O<ö<<<Ö"
+ tailoring "&S<ş<<<Ş"
+ tailoring "&U<ü<<<Ü"
+ return collator_obj
+end
+
+languages.ug = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{"arabic"}
+ tailoring "&ا<ە<ب"
+ tailoring "&ك<گ<ڭ<ل"
+ tailoring "&ھ<و<ۇ<ۆ<ۈ<ۋ<ې<ى<ي"
+ return collator_obj
+end
+
+languages.uk = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{"cyrillic"}
+ tailoring "&Г<ґ<<<Ґ"
+ tailoring "&ꙇ<ї<<<\u{A676}<<<Ї"
+ return collator_obj
+end
+
+languages.ur = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{"arabic"}
+ tailoring "&ا<<أ<آ<ب<بھ<پ<پھ<ت<تھ<ٹ<ٹھ<ث<ج<جھ<چ<چھ<ح<خ<د<دھ<ڈ<ڈھ<ذ<ر<رھ<ڑ<ڑھ<ز<ژ<س<ش<ص<ض<ط<ظ <ع<غ<ف<ق<ک<کھ<گ<گھ<ل<لھ<م<مھ<ن<نھ<ں<ںھ<و<<ؤ<وھ<ہ<<ۂ<ھ<ۃ<ء<ی<<ئ<یھ<ے<<ۓ"
+ tailoring "&\u{0652}<<\u{064E}<<\u{0650}<<\u{064F}<<\u{0670}<<\u{0656}<<\u{0657}<<\u{064B}<<\u{064D}<<\u{064C}<<\u{0654}<<\u{0651}<<\u{0658}<<\u{0653}"
+ tailoring "&<<<\u{0610}<<<\u{0611}<<<\u{0613}<<<\u{0612}<<<\u{0614}"
+ return collator_obj
+end
+
+languages.uz = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&[before 1]ʒ<oʻ=o‘=o''<<<Oʻ=O‘=O''"
+ tailoring "<gʻ=g‘=g''<<<Gʻ=G‘=G''"
+ tailoring "<sh<<<Sh<<<SH"
+ tailoring "<ch<<<Ch<<<CH"
+ return collator_obj
+end
+
+
+languages.vi = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&̀<<̉<<̃<<́<<̣"
+ tailoring "&a<ă<<<Ă<â<<<Â"
+ tailoring "&d<đ<<<Đ"
+ tailoring "&e<ê<<<Ê"
+ tailoring "&o<ô<<<Ô<ơ<<<Ơ"
+ tailoring "&u<ư<<<Ư"
+ return collator_obj
+end
+
+languages.vo = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&A<ä<<<Ä"
+ tailoring "&O<ö<<<Ö"
+ tailoring "&U<ü<<<Ü"
+ return collator_obj
+end
+
+languages.wae = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&á=aa"
+ tailoring "&ã=ää"
+ tailoring "&é=ee"
+ tailoring "&í=ii"
+ tailoring "&ó=oo"
+ tailoring "&õ=öö"
+ tailoring "&č=ch"
+ tailoring "&š=sch"
+ tailoring "&ú=uu"
+ tailoring "&ũ=üü"
+ return collator_obj
+end
+
+languages.wo = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&A<à<<<À"
+ tailoring "&E<é<<<É<ë<<<Ë"
+ tailoring "&N<ñ<<<Ñ<ŋ<<<Ŋ"
+ tailoring "&O<ó<<<Ó"
+ return collator_obj
+end
+
+languages.yi = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{"hebrew"}
+ tailoring "&''<<׳"
+ tailoring "&'\"'<<״"
+ tailoring "&ב<בֿ"
+ tailoring "&ו<<וּ<<וו<<וי"
+ tailoring "&י<<יִ<<יי<<ײַ"
+ tailoring "&כ<כּ"
+ tailoring "&פ<פּ"
+ tailoring "&פֿ<<<ף"
+ tailoring "&ש<שׂ"
+ tailoring "&ת<תּ"
+ return collator_obj
+end
+
+languages.yo = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ tailoring "&E<ẹ<<<Ẹ"
+ tailoring "&G<gb<<<Gb<<<GB"
+ tailoring "&O<ọ<<<Ọ"
+ tailoring "&S<ṣ<<<Ṣ"
+ return collator_obj
+end
+
+languages.zj = function(collator_obj)
+ local tailoring = function(s) collator_obj:tailor_string(s) end
+ collator_obj:reorder{"han"}
+ -- tons of tailorings ommited
+ return collator_obj
+end
+
+languages.zu = function(collator_obj)
+ return collator_obj
+end
+
return languages