Bug 11927 - Add greek chr lang_def file
authorFridolin Somers <fridolin.somers@biblibre.com>
Thu, 4 Dec 2014 13:16:58 +0000 (14:16 +0100)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Wed, 21 Jan 2015 13:59:04 +0000 (10:59 -0300)
Add the sort-string-utf.chr for sorting Greek catalog (it can also contain latin records).

Developped in collaboration with Giannis Kourmoulis <ikourmou@lib.auth.gr>

Test plan :
- Install using "gr" in "Primary language for Zebra indexing"
- Index a greek catalog
- Sort by title and check sorting is correct

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
etc/zebradb/lang_defs/gr/sort-string-utf.chr [new file with mode: 0644]

diff --git a/etc/zebradb/lang_defs/gr/sort-string-utf.chr b/etc/zebradb/lang_defs/gr/sort-string-utf.chr
new file mode 100644 (file)
index 0000000..6b7f37b
--- /dev/null
@@ -0,0 +1,319 @@
+# Generic character map for Latin and Greek characters.
+
+# Define the basic value-set. *Beware* of changing this without re-indexing
+# your databases.
+encoding utf-8
+
+# basic character set
+lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψω
+uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
+
+# Breaking characters
+space {\001-\040}!"#$%&'\()*+,-./:;<=>?@\[\\]^_`\{|}~’{\x88-\x89}{\x98-\x9C}¡¿«»
+
+# Characters to be considered equivalent
+equivalent aáàãåâăąȧǎȁȃ
+equivalent Æӕä(ae)
+equivalent ā(aa)
+equivalent iíìîịĩĭįǐȉȋ
+equivalent ï(ie)
+equivalent ī(ii)
+equivalent uúùûũŭųűǔȕȗ
+equivalent ü(ue)
+equivalent ū(uu)
+equivalent eéèêẽĕęėěȅȇ
+equivalent ëē(ee)
+equivalent oóòõôŏǫȯőǒȍȏ
+equivalent Œœöø(oe)
+equivalent ō(oo)
+equivalent αάΑΆ(α΄)(Α΄)
+equivalent εέΕΈ(ε΄)(Ε΄)
+equivalent ιίϊΙΊΪ(ι΄)(Ι΄)
+equivalent ηήΗΉ(η΄)(Η΄)
+equivalent οόΟΌ(ο΄)(Ο΄)
+equivalent υύϋΥΎΫ(υ΄)(Υ΄)
+equivalent ωώΩΏ(ω΄)(Ω΄)
+equivalent Σσς
+
+# Supplemental mappings
+# mapping diacritics to plain ASCII
+# A
+map ā                 a
+map Ā                 a
+map á                 a
+map Á                 a
+map à                 a
+map À                 a
+map ã                 a
+map Ã                 a
+map å                 a
+map Å                 a
+map â                 a
+map Â                 a
+map ä                 a
+map Ä                 a
+map ă                 a
+map Ă                 a
+map ą                 a
+map Ą                 a
+map ȧ                 a
+map Ȧ                 a
+map ǎ                 a
+map Ǎ                 a
+map ȁ                 a
+map Ȁ                 a
+map ȃ                 a
+map Ȃ                 a
+map ⱥ                        a
+map Ⱥ                 a
+# AE
+map ӕ                 (ae)
+map Ӕ                 (ae)
+# I
+map ī                 i
+map Ī                 i
+map ï                 i
+map Ï                 i
+map î                 i
+map Î                 i
+map í                 i
+map Í                 i
+map ì                 i
+map Ì                 i
+map ị                        i
+map Ị                        i
+map ĩ                 i
+map Ĩ                 i
+map ĭ                 i
+map Ĭ                 i
+map į                 i
+map Į                 i
+map ǐ                 i
+map Ǐ                 i
+map ȉ                 i
+map Ȉ                 i
+map ȋ                 i
+map Ȋ                 i
+map ɨ                 i
+map Ɨ                 i
+# U
+map ū                 u
+map Ū                 u
+map ü                 u
+map Ü                 u
+map ù                 u
+map Ù                 u
+map ú                 u
+map Ú                 u
+map û                 u
+map Û                 u
+map ũ                 u
+map Ũ                 u
+map ŭ                 u
+map Ŭ                 u
+map ų                 u
+map Ų                 u
+map ű                 u
+map Ű                 u
+map ǔ                 u
+map Ǔ                 u
+map ȕ                 u
+map Ȕ                 u
+map ȗ                 u
+map Ȗ                 u
+map ʉ                 u
+map Ʉ                 u
+map ů                        u
+map Ů                 u
+# E
+map ê                 e
+map Ê                 e
+map ë                 e
+map Ë                 e
+map é                 e
+map É                 e
+map è                 e
+map È                 e
+map ē                 e
+map Ē                 e
+map ẽ                        e
+map Ẽ                        e
+map ĕ                 e
+map Ĕ                 e
+map ę                 e
+map Ę                 e
+map ė                 e
+map Ė                 e
+map ě                 e
+map Ě                 e
+map ȅ                 e
+map Ȅ                 e
+map ȇ                 e
+map Ȇ                 e
+map ɇ                 e
+map Ɇ                 e
+# O
+map ô                 o
+map Ô                 o
+map ó                 o
+map Ó                 o
+map ò                 o
+map Ò                 o
+map ö                 o
+map Ö                 o
+map õ                 o
+map Õ                 o
+map ø                 o
+map Ø                 o
+map ō                 o
+map Ō                 o
+map ǒ                 o
+map Ǒ                 o
+map ŏ                 o
+map Ŏ                 o
+map ǫ                 o
+map Ǫ                 o
+map ȯ                 o
+map Ȯ                 o
+map ő                 o
+map Ő                 o
+map ȍ                 o
+map Ȍ                 o
+map ȏ                 o
+map Ȏ                 o
+map Œ                 (oe)
+map œ                 (oe)
+# R
+map ṛ                        r
+map Ṛ                        r
+map r̥                        r
+map R̥                        r
+map ṝ                        r
+map Ṝ                        r
+map ř                 r
+map Ř                 r
+map ṟ                        r
+map ɍ                 r
+map Ɍ                 r
+# L
+map ḷ                        l
+map Ḷ                        l
+map ḹ                        l
+map Ḹ                        l
+map ḻ                        l
+map Ḻ                        l
+map ł                 l
+map Ł                 l
+# N
+map ṅ                        n
+map Ṅ                        n
+map ñ                 n
+map Ñ                 n
+map ǹ                 n
+map Ǹ                 n
+map ń                 n
+map Ń                 n
+map ṉ                        n
+map Ṉ                        n
+map ṇ                        n
+map Ṇ                        n
+# T
+map ṭ                        t
+map Ṭ                        t
+map ŧ                 t
+map Ŧ                 t
+# D
+map ḍ                        d
+map Ḍ                        d
+map đ                 d
+map Đ                 d
+# S
+map ś                 s
+map Ś                 s
+map ṣ                        s
+map Ṣ                        s
+map ş                 s
+map Ş                 s
+map š                 s
+map Š                 s
+map ṡ                        s
+map Ṡ                        s
+# M
+map ṁ                        m
+map Ṁ                        m
+map ṃ                        m
+map Ṃ                        m
+# H
+map ḥ                        h
+map Ḥ                        h
+map ẖ                        h
+map ħ                 h
+map Ħ                 h
+# Z
+map ź                 z
+map Ź                 z
+map ẓ                        z
+map Ẓ                        z
+map ż                 z
+map Ż                 z
+map ƶ                 z
+map Ƶ                 z
+#C
+map ç                 c
+map Ç                 c
+map ć                 c
+map Ć                 c
+map č                 c
+map Č                 c
+map ȼ                 c
+map Ȼ                 c
+map Ċ                 c
+map ċ                 c
+map Ĉ                 c
+map ĉ                 c
+# G
+map ǥ                 g
+map Ǥ                 g
+map ġ                 g
+map Ġ                 g
+map ǧ                 g
+map Ǧ                 g
+map ğ                 g
+map Ğ                 g
+# K
+map ḵ                        k
+map Ḵ                        k
+map Ḱ                        k
+map ḱ                        k
+# Y
+map ý                 y
+map Ý                 y
+map ɏ                 y
+map Ɏ                 y
+
+## mapping diacritics to plain on greek characters
+map ά                 α
+map Ά                 α
+map έ                 ε
+map Έ                 ε
+map ί                 ι
+map Ί                 ι
+map ή                 η
+map Ή                 η
+map ό                 ο
+map Ό                 ο
+map ύ                 υ
+map Ύ                 υ
+map ώ                 ω
+map Ώ                 ω
+map Σ                 σ
+map ς                 σ
+
+# Remove prefixes
+map (^ὁ\s)           @
+map (^ἡ\s)           @
+map (^τό\s)          @
+map (^τώ\s)          @
+map (^οἱ\s)         @
+map (^αἱ\s)         @
+map (^τά\s)          @