summaryrefslogtreecommitdiffstats
path: root/runtime/spell/README.txt
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 08:50:31 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 08:50:31 +0000
commitaed8ce9da277f5ecffe968b324f242c41c3b752a (patch)
treed2e538394cb7a8a7c42a4aac6ccf1a8e3256999b /runtime/spell/README.txt
parentInitial commit. (diff)
downloadvim-upstream.tar.xz
vim-upstream.zip
Adding upstream version 2:9.0.1378.upstream/2%9.0.1378upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'runtime/spell/README.txt')
-rw-r--r--runtime/spell/README.txt116
1 files changed, 116 insertions, 0 deletions
diff --git a/runtime/spell/README.txt b/runtime/spell/README.txt
new file mode 100644
index 0000000..9fc3fd1
--- /dev/null
+++ b/runtime/spell/README.txt
@@ -0,0 +1,116 @@
+The spell files included here are in Vim's special format. You can't edit
+them. See ":help spell" for more information.
+
+
+COPYRIGHT
+
+The files used as input for the spell files come from the OpenOffice.org spell
+files. Most of them go under the LGPL or a similar license.
+
+Copyright notices for specific languages are in README_??.txt. Note that the
+files for different regions are merged, both to save space and to make it
+possible to highlight words for another region different from bad words.
+
+Most of the soundslike mappings come from Aspell ??_phonet.dat files:
+ftp://ftp.gnu.org/gnu/aspell/dict/. Most go under the GPL or LGPL copyright.
+
+
+GENERATING .SPL FILES
+
+This involves downloading the files from the github server, applying a
+patch and running Vim to generate the .spl file. To do this all in one go use
+the Aap program (www.a-a-p.org). It's simple to install, it only requires
+Python (http://www.a-a-p.org/download.html)
+
+Before generating spell files, verify your system has the required locale
+support. Source the check_locales.vim script to find out. If something is
+missing, see LOCALE below.
+
+
+You can also do it manually:
+1. Fetch the right spell file from:
+ https://github.com/LibreOffice/dictionaries
+
+2. Unzip the archive:
+ unzip LL_RR.zip
+
+3. Apply the patch:
+ patch < LL_RR.diff
+
+4. If the language has multiple regions do the above for each region. E.g.,
+ for English there are five regions: US, CA, AU, NZ and GB.
+
+5. Run Vim and execute ":mkspell". Make sure you do this with the correct
+ locale, that influences the upper/lower case letters and word characters.
+ On Unix it's something like:
+ env LANG=en_US.UTF-8 vim
+ mkspell! en en_US en_AU en_CA en_GB en_NZ
+
+6. Repeat step 5 for other locales. For English you could generate a spell
+ file for latin1, utf-8 and ASCII. ASCII only makes sense for languages
+ that have very few words with non-ASCII letters.
+
+Now you understand why I prefer using the Aap recipe :-).
+
+
+MAINTAINING A LANGUAGE
+
+Every language should have a maintainer. His tasks are to track the changes
+in the spell files and make updated patches. Words that haven't been
+added/removed from the LibreOffice lists can also be handled by the patches.
+
+It is important to keep the version of the .dic and .aff files that you
+started with. When LibreOffice brings out new versions of these files you can
+find out what changed and take over these changes in your patch. When there
+are very many changes you can do it the other way around: re-apply the changes
+for Vim to the new versions of the .dic and .aff files.
+
+This procedure should work well:
+
+1. Obtain the zip archive with the .aff and .dic files. Unpack it as
+ explained above and copy (don't rename!) the .aff and .dic files to
+ .orig.aff and .orig.dic. Using the Aap recipe should work, it will make
+ the copies for you.
+
+2. Tweak the .aff and .dic files to generate the perfect .spl file. Don't
+ change too much, the OpenOffice people are not stupid. However, you may
+ want to remove obvious mistakes. And remove single-letter words that
+ aren't really words, they mess up the suggestions (English has this
+ problem). You can use the "fixdup.vim" Vim script to find duplicate words.
+
+3. Include needed parts from the aspell phonetic dictionary to the aff files. For
+ example add the relevant SAL lines to the .aff file (this is needed to make good
+ suggestions). The aspell dictionaries can be found here:
+ https://ftp.gnu.org/gnu/aspell/dict/0index.html
+
+4. Make the diff file. "aap diff" will do this for you. If a diff would be
+ too big you might consider writing a Vim script to do systematic changes.
+ Do check that someone else can reproduce building the spell file. Send the
+ result to Bram for inclusion in the distribution. Bram will generate the
+ .spl file and upload it to the ftp server (if he can't generate it you will
+ have to send him the .spl file too).
+
+5. When OpenOffice makes a new zip file available you need to update the
+ patch. "aap check" should do most of the work for you: if there are
+ changes the .new.dic and .new.aff files will appear. You can now figure
+ out the differences with .orig.dic and .orig.aff, adjust the .dic and .aff
+ files and finally move the .new.dic to .orig.dic and .new.aff to .orig.aff.
+
+6. Repeat step 5. regularly.
+
+
+LOCALE
+
+For proper spell file generation the required locale must be installed.
+Otherwise Vim doesn't know what are letters and upper-lower case differences.
+Modern systems use UTF-8, but we also generate spell files for 8-bit locales
+for users with older systems.
+
+On Ubuntu the default is to only support locales for your own language. To
+add others you need to do this:
+ sudo vim /var/lib/locales/supported.d/local
+ Add needed lines from /usr/share/i18n/SUPPORTED
+ sudo dpkg-reconfigure locales
+
+When using the check_locales.vim script, you need to exit Vim and restart it
+to pickup the newly installed locales.