diff options
Diffstat (limited to 'runtime/spell/th/main.aap')
-rw-r--r-- | runtime/spell/th/main.aap | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/runtime/spell/th/main.aap b/runtime/spell/th/main.aap new file mode 100644 index 0000000..e2ec660 --- /dev/null +++ b/runtime/spell/th/main.aap @@ -0,0 +1,66 @@ +# Aap recipe for Thai Vim spell files. + +# Use a freshly compiled Vim if it exists. +@if os.path.exists('../../../src/vim'): + VIM = ../../../src/vim +@else: + :progsearch VIM vim + +SPELLDIR = .. +FILES = th.aff th.dic + +all: $SPELLDIR/th.utf-8.spl ../README_th.txt + +$SPELLDIR/th.utf-8.spl : $FILES + :sys $VIM -u NONE -e -c "set enc=utf-8" + -c "mkspell! $SPELLDIR/th th" -c q + +../README_th.txt: README_th.txt + :copy $source $target + +# +# Fetching the files from http://sesrc.th.net +# +HTTPDIR = http://seasrc.th.net/dict +ZIPNAME = th_18057.zip +FNAME = TH_18057.TXT + +:attr {fetch = $HTTPDIR/%file%} $ZIPNAME + +# The files don't depend on the .zip file so that we can delete it. +# Only download the zip file if the targets don't exist. +# This is a bit tricky, since the file name includes the date. +# +# We get a plain list of Thai words and make the .dic file from that. The .aff +# file is made from scratch. +th.aff th.dic: {buildcheck=} + :assertpkg unzip iconv + :fetch $ZIPNAME + :sys unzip $ZIPNAME + :sys {force} iconv -c -f TIS-620 -t UTF-8 <$FNAME >th.dic + :delete $ZIPNAME $FNAME + + :delete {force} th.aff + :touch {force} th.aff + @if not os.path.exists('th.orig.aff'): + :touch {force} th.orig.aff + @if not os.path.exists('th.orig.dic'): + :copy th.dic th.orig.dic + @if os.path.exists('th.diff'): + :sys patch <th.diff + + +# Generate diff files, so that others can get the OpenOffice files and apply +# the diffs to get the Vim versions. + +diff: + :assertpkg diff + :sys {force} diff -N -a -C 1 th.orig.aff th.aff >th.diff + :sys {force} diff -a -C 1 th.orig.dic th.dic >>th.diff + + +# Check for updated spell files. When there are changes the +# ".new.aff" and ".new.dic" files are left behind for manual inspection. + +check: + :print Sorry, not supported. |