From 9fd9dd913dcabc36c42ad1af891561bef1a3c0f8 Mon Sep 17 00:00:00 2001 From: Laurent Mazet Date: Mon, 15 Jun 2020 08:06:12 +0200 Subject: [PATCH] add Breton dictionary and correct dictionary checker --- dict-dists-extractor/Makefile | 75 ++++++++++++++++++++++++++--------- 1 file changed, 56 insertions(+), 19 deletions(-) diff --git a/dict-dists-extractor/Makefile b/dict-dists-extractor/Makefile index 2ebba6c..daed466 100644 --- a/dict-dists-extractor/Makefile +++ b/dict-dists-extractor/Makefile @@ -2,8 +2,8 @@ ROOT_DICT = ../public/dict -LANGS = bg ca da de en eo es fr it nl no pl pt sv uk -# to add: ar br cs cy el et eu fi? ga he hr hu hy is lv ro ru sk sl +LANGS = bg br ca da de en eo es fr it nl no pl pt sv uk +# to add: ar cs cy el et eu fi? ga he hr hu hy is lv ro ru sk sl #LANGS = af ar bg br ca cs cy da de el en eo es et eu fi fr ga he hr hu hy is it la lv ms nl no pl pt ro ru sk sl sv tr uk xk ASPDICT = https://ftp.gnu.org/gnu/aspell/dict/0index.html @@ -13,7 +13,7 @@ LOWS = $(addsuffix .low,$(LANGS)) DICTS = $(addsuffix .dict,$(LANGS)) DEPEND = Makefile -MAKEFLAGS = -s +#MAKEFLAGS = -s all: src.mk make $(addprefix check-,$(LANGS)) @@ -28,11 +28,14 @@ low: $(LOWS) src.mk: + echo Creation language table wget $(ASPDICT) -q -O - | \ awk 'BEGIN { base="'`dirname $(ASPDICT)`'" } \ // { exit }' > $@ include $(wildcard src.mk) @@ -74,6 +77,23 @@ $(ROOT_DICT)/bg.dict: bg.low $(DEPEND) sort | \ uniq > $@ +$(ROOT_DICT)/br.dict: br.low $(DEPEND) + echo Building $@ from $< + cat $< | \ + grep -v '^.$$' | \ + grep -v "[-]" | \ + grep -v "[^c]'" | \ + grep -v "'[^h]" | \ + sed -e 's/[àâ]/a/g' \ + -e 's/[éêè]/e/g' \ + -e 's/[î]/i/g' \ + -e 's/[ñ]/n/g' \ + -e 's/[ô]/o/g' \ + -e 's/[ûüù]/u/g' | \ + tr '[abcdefghijklmnopqrstuvwxyz]' '[ABCDEFGHIJKLMNOPQRSTUVWXYZ]' | \ + sort | \ + uniq > $@ + $(ROOT_DICT)/ca.dict: ca.low $(DEPEND) echo Building $@ from $< cat $< | \ @@ -90,6 +110,17 @@ $(ROOT_DICT)/ca.dict: ca.low $(DEPEND) sort | \ uniq > $@ +$(ROOT_DICT)/cs.dict: cs.low $(DEPEND) + echo Building $@ from $< + cat $< | \ + grep -v '^.$$' | \ + grep -v "['-]" | \ + tr '[a-záčďéěíňóřšťúůýž]' '[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]' | \ + sort | \ + uniq > $@ + +#perl -p -e 'tr/aábcčdďeéěfghiíjklmnňoópqrřsštťuúůvwxyýzž/AÁBCČDĎEÉĚFGHIÍJKLMNŇOÓPQRŘSŠTŤUÚŮVWXYÝZŽ/' | \ + $(ROOT_DICT)/da.dict: da.low $(DEPEND) echo Building $@ from $< cat $< | \ @@ -199,7 +230,7 @@ $(ROOT_DICT)/nl.dict: nl.low $(DEPEND) -e 's/[íïî]/i/g' \ -e 's/[ñ]/n/g' \ -e 's/[óöô]/o/g' \ - -e 's/[úüûù]/u/g' | \ + -e 's/[úüûùÜ]/u/g' | \ tr '[a-z]' '[A-Z]' | \ sort | \ uniq > $@ @@ -208,11 +239,11 @@ $(ROOT_DICT)/no.dict: no.low $(DEPEND) echo Building $@ from $< cat $< | \ grep -v '^.$$' | \ - grep -v "['-]" | \ + grep -v "[.'\"-]" | \ sed -e 's/[áäÄ]/a/g' \ -e 's/[ç]/c/g' \ -e 's/[ð]/d/g' \ - -e 's/[éëèê]/e/g' \ + -e 's/[éëèêÉ]/e/g' \ -e 's/[íì]/i/g' \ -e 's/[óöôò]/o/g' \ -e 's/[ü]/u/g' | \ @@ -276,37 +307,43 @@ CHECKER = cat $(1) | \ grep -v "^[$(2)]*$$" | egrep -v "$(3)" && exit 1 || echo "$< is correct" check-bg:$(ROOT_DICT)/bg.dict - $(call CHECKER,$<,АОЕИТНПРСВМБДКЛГЪЖЗУЧЯЙХЦШЮФЩЬ,) + $(call CHECKER,$<,АОЕИТНПРСВМБДКЛГЪЖЗУЧЯЙХЦШЮФЩЬ,~) + +check-br:$(ROOT_DICT)/br.dict + $(call CHECKER,$<,ABCDEFGHIJKLMNOPRSTUVWXYZ,C'H[A-Z]*(C'H)*) check-ca:$(ROOT_DICT)/ca.dict $(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZ,L·L[A-Z]*(L·L)*) +check-cs:$(ROOT_DICT)/cs.dict + $(call CHECKER,$<,AÁBCČDĎEÉĚFGHIÍJKLMNŇOÓPQRŘSŠTŤUÚŮVWXYÝZŽ,~) + check-da:$(ROOT_DICT)/da.dict - $(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ,) + $(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ,~) check-de:$(ROOT_DICT)/de.dict - $(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ,) + $(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ,~) check-eo:$(ROOT_DICT)/eo.dict - $(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZĈĜĤĴŜŬ,) + $(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZĈĜĤĴŜŬ,~) check-es:$(ROOT_DICT)/es.dict - $(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÑ,) + $(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÑ,~) check-no:$(ROOT_DICT)/no.dict - $(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ,) + $(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ,~) check-pl:$(ROOT_DICT)/pl.dict - $(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZŁĄĘÓŚŻĆŃŹ,) + $(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZŁĄĘÓŚŻĆŃŹ,~) -check-po:$(ROOT_DICT)/po.dict - $(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÇ,) +check-pt:$(ROOT_DICT)/pt.dict + $(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÇ,~) check-sv:$(ROOT_DICT)/sv.dict - $(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ,) + $(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ,~) check-uk:$(ROOT_DICT)/uk.dict - $(call CHECKER,$<,ОАИНВЕІТКРСДЛМУПЗЯЬБГЧХЄЇЙЖЦШЮҐФЩ',) + $(call CHECKER,$<,ОАИНВЕІТКРСДЛМУПЗЯЬБГЧХЄЇЙЖЦШЮҐФЩ',~) check-%:$(ROOT_DICT)/%.dict - $(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZ,) + $(call CHECKER,$<,ABCDEFGHIJKLMNOPQRSTUVWXYZ,~) -- 2.30.2