Bug 10431 - Spanish Zebra character sorting file
authorTomas Cohen Arazi <tomascohen@gmail.com>
Tue, 11 Jun 2013 13:46:36 +0000 (10:46 -0300)
committerGalen Charlton <gmc@esilibrary.com>
Fri, 5 Jul 2013 13:55:49 +0000 (06:55 -0700)
This patch provides a definition file for Spanish (es) character
sorting in Zebra. It is based on the ideas from Hugo Agud <hagud@orex.es>
and Pablo Bianchi <pablo.bianchi@gmail.com>.

Makefile.PL is fixed to notice the existence of the 'es' language. The
docs for koha-create are touched too.

To test:
Tarball
=======
- Go through the install process, choosing 'es' for the Zebra's language step
- Koha should work as usual.
- Running this should show the lang definition is properly set.
$ grep -R "lang_defs/es" /etc/koha/*
(stuff like zebradb/zebra-biblios-dom.cfg:profilePath:...etc/koha/zebra/lang_defs/es... should show)
- This file should be present:
 /etc/koha/zebradb/lang_defs/es/sort-string-utf.chr

Packages
========
- Build your own package, it shouldn't break the packaging
- Try the new package, using koha-create to set an instance using --lang 'es'

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>

Makefile.PL
debian/scripts/koha-create
etc/zebradb/lang_defs/es/sort-string-utf.chr [new file with mode: 0644]

index 22ce8da..d02a944 100644 (file)
@@ -477,7 +477,7 @@ my %valid_config_values = (
   'AUTH_INDEX_MODE' => { 'grs1' => 1, 'dom' => 1 },
   'BIB_INDEX_MODE'  => { 'grs1' => 1, 'dom' => 1 },
   'ZEBRA_MARC_FORMAT' => { 'marc21' => 1, 'normarc' => 1, 'unimarc' => 1 }, # FIXME should generate from contents of distributation
-  'ZEBRA_LANGUAGE'    => { 'en' => 1, 'fr' => 1, 'nb' => 1 }, # FIXME should generate from contents of distribution
+  'ZEBRA_LANGUAGE'    => { 'en' => 1, 'es' => 1, 'fr' => 1, 'nb' => 1 }, # FIXME should generate from contents of distribution
   'ZEBRA_TOKENIZER' => { chr => 1, icu => 1 },
   'RUN_DATABASE_TESTS' => { 'yes' => 1, 'no' => 1 },
   'USE_MEMCACHED'      => { 'yes' => 1, 'no' => 1 },
index 5bedbf8..830c747 100755 (executable)
@@ -21,7 +21,7 @@ set -e
 
 usage="Usage: $0 [--create-db|--request-db|--populate-db|--use-db] \
     [--marcflavor marc21|normarc|unimarc] \
-    [--zebralang en|nb|fr] \
+    [--zebralang en|nb|fr|es] \
     [--defaultsql /path/to/some.sql] \
     [--configfile /path/to/config] [--passwdfile /path/to/passwd] \
     [--database database] [--adminuser n] instancename"
diff --git a/etc/zebradb/lang_defs/es/sort-string-utf.chr b/etc/zebradb/lang_defs/es/sort-string-utf.chr
new file mode 100644 (file)
index 0000000..aa295cb
--- /dev/null
@@ -0,0 +1,42 @@
+# Koha's Zebra character map file for spanish
+#
+encoding utf-8
+# Character sort order definition
+lowercase {0-9}{a-y}üzæäøöå
+uppercase {0-9}{A-Y}ÜZÆÄØÖÅ
+
+# Breaking characters
+space {\001-\040}!"#$%&'\()*+,-./:;<=>?@\[\\]^_`\{|}~
+
+# Characters to be considered equivalent for searching purposes.
+equivalent uü
+
+# Supplemental mappings
+map (&auml;)        a
+map (&aelig;)       æ
+map (&oslash;)      ø
+map (&aring;)       a
+map (&ouml;)        o
+map (&Auml;)        A
+map (&Aelig;)       Æ
+map (&Oslash;)      Ø
+map (&Aring;)       A
+map (&Ouml;)        O
+
+map âàáäÂÀÂÄ        a
+map êèéëÊÈÉË        e
+map îïíÎÏ           i
+map ôöóÔÖ           o
+map ûùüÛÜÙ          u
+map çÇ              c
+map ñ               n
+
+map (^El\s)         @
+map (^En\s)         @
+map (^La\s)         @
+map (^Los\s)        @
+map (^Las\s)        @
+map (^Un\s)         @
+map (^Unos\s)       @
+map (^Una\s)        @
+map (^Unas\s)       @