summaryrefslogtreecommitdiffstats
path: root/runtime/spell/th/main.aap
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/spell/th/main.aap')
-rw-r--r--runtime/spell/th/main.aap66
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.