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.
