keep rule to generate dictionnaries
authorLaurent Mazet <mazet@softndesign.org>
Wed, 27 May 2020 22:47:05 +0000 (00:47 +0200)
committerLaurent Mazet <mazet@softndesign.org>
Mon, 8 Jun 2020 05:35:25 +0000 (07:35 +0200)
dict-dists-extractor/Makefile

index 9cdb61b99be018f74369c126b9d3111fe5dc6959..ede51bf3728cd971147620507355c915313db4b1 100644 (file)
@@ -7,17 +7,67 @@ all:
 $(ROOT_DICT):
        mkdir $(ROOT_DICT)
 
-$(ROOT_DICT)/en.json: /usr/share/dict/american-english Makefile
+#sed -e 's/Ѝ/И/g' 
+$(ROOT_DICT)/bg.json: /usr/share/dict/bulgarian Makefile
+       iconv -f Windows-1251 -t utf-8 $< | \
+        grep -v '^.$$' | \
+        grep -v "['-]" | \
+               tr '[абвгдежзийклмнопрстуфхцчшщъьюя]' '[АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЬЮЯ]' | \
+        sort | \
+        uniq | \
+        awk 'BEGIN { print "[" } \
+            { print "    \"" $$0 "\"," } \
+            END { print "    \"\"\n]" }' > $@
+
+$(ROOT_DICT)/ca.json: /usr/share/dict/catalan Makefile
+       cat $< | \
+        grep -v '^.$$' | \
+        grep -v "['-]" | \
+        sed -e 's/[áàã]/a/g' \
+            -e 's/[éè]/e/g' \
+            -e 's/[ç]/c/g' \
+            -e 's/[íï]/i/g' \
+            -e 's/[ñ]/n/g' \
+            -e 's/[óöò]/o/g' \
+            -e 's/[úüù]/u/g' | \
+        tr '[a-z]' '[A-Z]' | \
+        sort | \
+        uniq | \
+        awk 'BEGIN { print "[" } \
+            { print "    \"" $$0 "\"," } \
+            END { print "    \"\"\n]" }' > $@
+
+$(ROOT_DICT)/da.json: /usr/share/dict/danish Makefile
+       cat $< | \
+        grep -v '^.$$' | \
+        grep -v "['-]" | \
+        sed -e 's/æ/Æ/g' \
+                   -e 's/ø/Ø/g' \
+                       -e 's/å/Å/g' \
+            -e 's/[áä]/a/g' \
+                       -e 's/ð/d/g' \
+            -e 's/[éëè]/e/g' \
+            -e 's/[íì]/i/g' \
+            -e 's/[óöô]/o/g' \
+            -e 's/[ü]/u/g' | \
+        tr '[a-z]' '[A-Z]' | \
+        sort | \
+        uniq | \
+        awk 'BEGIN { print "[" } \
+            { print "    \"" $$0 "\"," } \
+            END { print "    \"\"\n]" }' > $@
+
+$(ROOT_DICT)/en.json: /usr/share/dict/british-english-huge Makefile
        cat $< | \
         grep -v '^.$$' | \
         grep -v "[.'-]" | \
         sed -e 's/[áâàäå]/a/g' \
             -e 's/[ç]/c/g' \
-            -e 's/[éêè]/e/g' \
-            -e 's/[íî]/i/g' \
+            -e 's/[éêèë]/e/g' \
+            -e 's/[íîï]/i/g' \
             -e 's/[ñ]/n/g' \
-            -e 's/[óôö]/o/g' \
-            -e 's/[ûü]/u/g' | \
+            -e 's/[óôöø]/o/g' \
+            -e 's/[úûüù]/u/g' | \
         tr '[a-z]' '[A-Z]' | \
         sort | \
         uniq | \
@@ -42,5 +92,34 @@ $(ROOT_DICT)/fr.json: /usr/share/dict/french Makefile
             { print "    \"" $$0 "\"," } \
             END { print "    \"\"\n]" }' > $@
 
+$(ROOT_DICT)/nl.json: /usr/share/dict/dutch Makefile
+       cat $< | \
+        grep -v '^.$$' | \
+        grep -v "[1-9+/' .-]" | \
+        sed -e 's/[áäâà]/a/g' \
+            -e 's/[ç]/c/g' \
+            -e 's/[éëèê]/e/g' \
+            -e 's/[íïî]/i/g' \
+            -e 's/[ñ]/n/g' \
+            -e 's/[óöô]/o/g' \
+            -e 's/[úüûù]/u/g' | \
+        tr '[a-z]' '[A-Z]' | \
+        sort | \
+        uniq | \
+        awk 'BEGIN { print "[" } \
+            { print "    \"" $$0 "\"," } \
+            END { print "    \"\"\n]" }' > $@
+
+CHECKER = grep -v '^    "[A-Z]*",$$' | grep -v '\[' | grep -v '\]' | grep -v '""'
+
+check-bg:$(ROOT_DICT)/bg.json
+        cat $< | grep -v '"[АОЕИТНПРСВМБДКЛГЪЖЗУЧЯЙХЦШЮФЩЬ]*"' | grep -v '\[' | grep -v '\]' | grep -v '""' || echo "$< is correct"
+
+check-ca:$(ROOT_DICT)/ca.json
+        cat $< | $(CHECKER) | grep -v '"[A-Z]*L·L[A-Z]*"' || echo "$< is correct"
+
+check-da:$(ROOT_DICT)/da.json
+        cat $< | $(CHECKER) | grep -v '"[A-ZÆØÅ]*"' || echo "$< is correct"
+
 check-%:$(ROOT_DICT)/%.json
-       grep -v '^    "[A-Z,]*",$$' $< | grep -v '\[' | grep -v '\]' | grep -v '""' || echo "$< is correct"
+       cat $< | $(CHECKER) || echo "$< is correct"