// ******************************************************************************* // * // * Copyright (C) 1997-2001, International Business Machines // * Corporation and others. All Rights Reserved. // * // ******************************************************************************* el { Version { "1.0.1" } AmPmMarkers { "\u03C0\u03BC", "\u03BC\u03BC", } CollationElements { Version { "2.0" } Override { "FALSE" } Normalize { "TRUE" } Sequence { "[normalization on]" } } Countries { GR { "\u0395\u03BB\u03BB\u03AC\u03B4\u03B1" } } DateTimeElements { "2", "1", } DateTimePatterns { "h:mm:ss a z", "h:mm:ss a z", "h:mm:ss a", "h:mm a", "EEEE, d MMMM yyyy", "d MMMM yyyy", "d MMM yyyy", "d/M/yyyy", "{1} {0}", } DayAbbreviations { "\u039A\u03C5\u03C1", "\u0394\u03B5\u03C5", "\u03A4\u03C1\u03B9", "\u03A4\u03B5\u03C4", "\u03A0\u03B5\u03BC", "\u03A0\u03B1\u03C1", "\u03A3\u03B1\u03B2", } DayNames { "\u039A\u03C5\u03C1\u03B9\u03B1\u03BA\u03AE", "\u0394\u03B5\u03C5\u03C4\u03AD\u03C1\u03B1", "\u03A4\u03C1\u03AF\u03C4\u03B7", "\u03A4\u03B5\u03C4\u03AC\u03C1\u03C4\u03B7", "\u03A0\u03AD\u03BC\u03C0\u03C4\u03B7", "\u03A0\u03B1\u03C1\u03B1\u03C3\u03BA\u03B5\u03C5\u03AE", "\u03A3\u03AC\u03B2\u03B2\u03B1\u03C4\u03BF", } Languages { el { "\u03B5\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC" } } LocaleID { "08" } LocaleString { "el" } MonthAbbreviations { "\u0399\u03B1\u03BD", "\u03A6\u03B5\u03B2", "\u039C\u03B1\u03C1", "\u0391\u03C0\u03C1", "\u039C\u03B1\u03CA", "\u0399\u03BF\u03C5\u03BD", "\u0399\u03BF\u03C5\u03BB", "\u0391\u03C5\u03B3", "\u03A3\u03B5\u03C0", "\u039F\u03BA\u03C4", "\u039D\u03BF\u03B5", "\u0394\u03B5\u03BA", "", } MonthNames { "\u0399\u03B1\u03BD\u03BF\u03C5\u03AC\u03C1\u03B9\u03BF\u03C2", "\u03A6\u03B5\u03B2\u03C1\u03BF\u03C5\u03AC\u03C1\u03B9\u03BF\u03C2", "\u039C\u03AC\u03C1\u03C4\u03B9\u03BF\u03C2", "\u0391\u03C0\u03C1\u03AF\u03BB\u03B9\u03BF\u03C2", "\u039C\u03AC\u03CA\u03BF\u03C2", "\u0399\u03BF\u03CD\u03BD\u03B9\u03BF\u03C2", "\u0399\u03BF\u03CD\u03BB\u03B9\u03BF\u03C2", "\u0391\u03CD\u03B3\u03BF\u03C5\u03C3\u03C4\u03BF\u03C2", "\u03A3\u03B5\u03C0\u03C4\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2", "\u039F\u03BA\u03C4\u03CE\u03B2\u03C1\u03B9\u03BF\u03C2", "\u039D\u03BF\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2", "\u0394\u03B5\u03BA\u03AD\u03BC\u03B2\u03C1\u03B9\u03BF\u03C2", "", } NumberElements { ",", ".", ";", "%", "0", "#", "-", "E", "\u2030", "\u221E", "\uFFFD", } ShortLanguage { "ell" } localPatternChars { "GanjkHmsSEDFwWxhKzAe" } zoneStrings { { "Africa/Casablanca", "GMT", "GMT", "GMT", "GMT", } } LocaleScript{ "Grek" // ISO 15924 Name } //------------------------------------------------------------ // Rule Based Number Format Support //------------------------------------------------------------ /* * 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? // I'm also missing the word for zero. Can someone clue me in? SpelloutRules { "zero (incomplete data); \u03ad\u03bd\u03b1; \u03b4\u03cd\u03bf; \u03b4\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\u03b4\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\u03b9\u03cc\u03c1\u03b9\u03bf[ >>];\n" "1,000,000,000: << \u03b4\u03b9\u03c3\u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03b9\u03cc\u03c1\u03b9\u03bf[ >>];\n" "1,000,000,000,000: =#,##0=" } */ TransliterateLATIN { "UNGEGN", // Rules are predicated on running NFD first, and NFC afterwards // MINIMAL FILTER GENERATED FOR: Greek-Latin/UNGEGN // WARNING: need to add accents to both filters ### ":: [\u0301\u0304\u0306\u0308;\u00B5\u00B7\u00C0\u00C2\u00C8\u00CA\u00CC\u00CE\u00D2\u00D4\u00D9\u00DB\u00E0\u00E2\u00E8\u00EA\u00EC\u00EE\u00F2\u00F4\u00F9\u00FB\u0108-\u0109\u011C-\u011D\u0124-\u0125\u0134-\u0135\u015C-\u015D\u0174-\u0177\u01DB-\u01DC\u01F8-\u01F9\u0300\u0302\u0313-\u0314\u0340\u0342-\u0343\u0345\u037A\u037E\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03CE\u03D0-\u03D6\u03F0-\u03F5\u0400\u040D\u0450\u045D\u1E14-\u1E15\u1E50-\u1E51\u1E80-\u1E81\u1E90-\u1E91\u1EA4-\u1EAD\u1EB0-\u1EB1\u1EBE-\u1EC7\u1ED0-\u1ED9\u1EDC-\u1EDD\u1EEA-\u1EEB\u1EF2-\u1EF3\u1F00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC1-\u1FC4\u1FC6-\u1FCD\u1FCF-\u1FD3\u1FD6-\u1FDB\u1FDD\u1FDF-\u1FED\u1FF2-\u1FF4\u1FF6-\u1FFC\u2126] ;" // ":: [\\u0000-\\u007F \\u00B7 [:Greek:] [:nonspacing mark:]] ;" "::NFD (NFC) ; " // For modern Greek. // Useful variables "$lower = [[:latin:][:greek:] & [:Ll:]] ; " "$upper = [[:latin:][:greek:] & [:Lu:]] ; " "$accent = [:M:] ; " "$macron = \u0304 ;" "$ddot = \u0308 ;" "$lcgvowel = [\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9] ; " "$ucgvowel = [\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9] ; " "$gvowel = [$lcgvowel $ucgvowel] ; " "$lcgvowelC = [$lcgvowel $accent] ; " "$evowel = [aeiouyAEIOUY];" "$vowel = [ $evowel $gvowel] ; " "$beforeLower = $accent * $lower ; " "$gammaLike = [\u0393\u039a\u039e\u03a7\u03b3\u03ba\u03be\u03c7\u03f0] ; " "$egammaLike = [GKXCgkxc] ; " "$smooth = \u0313 ; " "$rough = \u0314 ; " "$iotasub = \u0345 ; " "$softener = [\u03b2\u0392\u03b3\u0393\u03b4\u0394\u03b6\u0396\u03bb\u039b\u03bc\u039c\u03bd\u039d\u03c1\u03a1$gvowel] ;" "$under = \u0331;" "$caron = \u030C;" "$afterLetter = [:L:] [\\'[:M:]]* ;" "$beforeLetter = [\\'[:M:]]* [:L:] ;" // Fix punctuation "\\; <> \\? ;" "\u00b7 <> \\: ;" // Fix any ancient characters that creep in "\u0342 > \u0301 ;" "\u0302 > \u0301 ;" "\u0300 > \u0301 ;" "$smooth > ;" "$rough > ;" "$iotasub > ;" "\u037A > ;" // need to have these up here so the rules don't mask "\u03b7 <> i $under ;" "\u0397 <> I $under ;" "\u03a8 } $beforeLower <> Ps ; " "\u03a8 <> PS ; " "\u03c8 <> ps ; " "\u03c9 <> o $under ;" "\u03a9 <> O $under;" // at begining or end of word, convert mp to b "[^[:L:][:M:]] { \u03bc\u03c0 > b ; " "\u03bc\u03c0 } [^[:L:][:M:]] > b ; " "[^[:L:][:M:]] { [\u039c\u03bc][\u03a0\u03c0] > B ; " "[\u039c\u03bc][\u03a0\u03c0] } [^[:L:][:M:]] > B ;" "\u03bc\u03c0 < b ; " "\u039c\u03c0 < B } $beforeLower ; " "\u039c\u03a0 < B ; " // handle diphthongs ending with upsilon "$vowel { \u03c5 } $softener <> v $under ; " "$vowel { \u03c5 } <> f $under; " "\u03c5 <> y ; " "$vowel { \u03a5 } $softener <> V $under ; " "$vowel { \u03a5 <> U $under ; " "\u03a5 <> Y ; " // NORMAL "\u03b1 <> a ; " "\u0391 <> A ; " "\u03b2 <> v ; " "\u0392 <> V ; " "\u03b3 } $gammaLike <> n } $egammaLike ; " "\u03b3 <> g ; " "\u0393 } $gammaLike <> N } $egammaLike ; " "\u0393 <> G ; " "\u03b4 <> d ; " "\u0394 <> D ; " "\u03b5 <> e ; " "\u0395 <> E ; " "\u03b6 <> z ; " "\u0396 <> Z ; " "\u03b8 <> th ; " "\u0398 } $beforeLower <> Th ; " "\u0398 <> TH ; " "\u03b9 <> i ; " "\u0399 <> I ; " "\u03ba <> k ;" "\u039a <> K ; " "\u03bb <> l ; " "\u039b <> L ; " "\u03bc <> m ; " "\u039c <> M ; " "\u03bd } $gammaLike > n\\' ; " "\u03bd <> n ; " "\u039d } $gammaLike <> N\\' ; " "\u039d <> N ; " "\u03be <> x ; " "\u039e <> X ; " "\u03bf <> o ; " "\u039f <> O ; " "\u03c0 <> p ; " "\u03a0 <> P ; " "\u03c1 <> r ; " "\u03a1 <> R ; " "[Pp] { } \u03c2 > \\' ; " "[Pp] { } \u03c3 > \\' ;" // Caron means exception // before a letter, initial "\u03c2 } $beforeLetter <> s $under } $beforeLetter;" "\u03c3 } $beforeLetter <> s } $beforeLetter;" // otherwise, after a letter = final "$afterLetter { \u03c3 <> $afterLetter { s $under;" "$afterLetter { \u03c2 <> $afterLetter { s ;" // otherwise (isolated) = initial "\u03c2 <> s $under;" "\u03c3 <> s ;" "[Pp] { \u03a3 <> \\'S ; " "\u03a3 <> S ; " "\u03c4 <> t ; " "\u03a4 <> T ; " "\u03c6 <> f ; " "\u03a6 <> F ;" "\u03c7 <> ch ; " "\u03a7 } $beforeLower <> Ch ; " "\u03a7 <> CH ; " // Completeness for ASCII // "$ignore = [[:Mark:]''] * ;" "| ch < h ;" "| k < c ;" "| i < j ;" "| k < q ;" "| b < u } $vowel ;" "| b < w } $vowel ;" "| y < u ;" "| y < w ;" "| Ch < H ;" "| K < C ;" "| I < J ;" "| K < Q ;" "| B < W } $vowel ;" "| B < U } $vowel ;" "| Y < W ;" "| Y < U ;" // Completeness for Greek "\u03d0 > | \u03b2 ;" "\u03d1 > | \u03b8 ;" "\u03d2 > | \u03a5 ;" "\u03d5 > | \u03c6 ;" "\u03d6 > | \u03c0 ;" "\u03f0 > | \u03ba ;" "\u03f1 > | \u03c1 ;" "\u03f2 > | \u03c3 ;" "\u03f3 > j ;" "\u03f4 > | \u0398 ;" "\u03f5 > | \u03b5 ;" "\u00B5 > | \u03BC ; " // delete any trailing ' marks used for roundtripping " < [\u03a0\u03c0] { \\' } [Ss] ;" " < [\u039d\u03bd] { \\' } $egammaLike ;" "::NFC (NFD) ; " // MINIMAL FILTER GENERATED FOR: Latin-Greek/UNGEGN BACKWARD ":: ( [\u0301\u0304\u0306\u0308':?A-Za-z\u00C0-\u00C5\u00C7-\u00CF\u00D1-\u00D6\u00D9-\u00DD\u00E0-\u00E5\u00E7-\u00EF\u00F1-\u00F6\u00F9-\u00FD\u00FF-\u010F\u0112-\u0125\u0128-\u0130\u0134-\u0137\u0139-\u013E\u0143-\u0148\u014C-\u0151\u0154-\u0165\u0168-\u017E\u01A0-\u01A1\u01AF-\u01B0\u01CD-\u01DC\u01DE-\u01E1\u01E6-\u01ED\u01F0\u01F4-\u01F5\u01F8-\u01FB\u0200-\u021B\u021E-\u021F\u0226-\u0233\u0331\u1E00-\u1E99\u1EA0-\u1EF9\u212A-\u212B] ) ;" // ":: ([\\u0000-\\u007F [:Latin:] [:nonspacing mark:]]) ;" } }