diff options
Diffstat (limited to 'runtime/spell/README.txt')
-rw-r--r-- | runtime/spell/README.txt | 116 |
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. |