]> git.openstreetmap.org Git - nominatim.git/commitdiff
ICU: better letter identification in normalization
authorSarah Hoffmann <lonvia@denofr.de>
Thu, 28 Apr 2022 15:20:56 +0000 (17:20 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Thu, 28 Apr 2022 16:23:17 +0000 (18:23 +0200)
The Letter class does not include non-spacing marks that can also
have a consonant or vowel meaning, especially in Indian languages.
Use the alnum propoerty instead which includes them all. Also
include the vowel-canceling Virama, which is not a letter by itself
but changes the transliteration.

settings/icu_tokenizer.yaml

index bebd49e924bcf08fa3da5cbb04c5cf4d3c486533..cd9c0d6dd56974888c9e12fdf834b51a5b55b22e 100644 (file)
@@ -8,8 +8,8 @@ normalization:
     - "ª > a"
     - "º > o"
     - "[[:Punctuation:][:Symbol:]\u02bc]  > ' '"
-    - "ß > 'ss'" # German szet is unimbigiously equal to double ss
-    - "[^[:Letter:] [:Number:] [:Space:]] >"
+    - "ß > 'ss'" # German szet is unambiguously equal to double ss
+    - "[^[:alnum:] [:Canonical_Combining_Class=Virama:] [:Space:]] >"
     - "[:Lm:] >"
     - ":: [[:Number:]] Latin ()"
     - ":: [[:Number:]] Ascii ();"