diff options
Diffstat (limited to 'runtime/spell')
-rw-r--r-- | runtime/spell/fr/main.aap | 58 |
1 files changed, 53 insertions, 5 deletions
diff --git a/runtime/spell/fr/main.aap b/runtime/spell/fr/main.aap index faf3e01e70..b207b6e662 100644 --- a/runtime/spell/fr/main.aap +++ b/runtime/spell/fr/main.aap @@ -11,11 +11,26 @@ FILES = fr_FR.aff fr_FR.dic all: $SPELLDIR/fr.latin1.spl $SPELLDIR/fr.utf-8.spl ../README_fr.txt +# The spell file is iso-8859-15, but Vim normally uses "latin1" for this. +# This is OK for the utf-8 files, but for latin1 we need to avoid the "oe" +# character. When unpacking we create four files: +# fr_FR_latin1.aff modified file +# fr_FR_latin1.dic modified file +# fr_FR_iso15.aff original file (after applying diff) +# fr_FR_iso15.dic original file (after applying diff) +# Just before using the dictionary files, the right ones are copied to +# fr_FR.aff +# fr_FR.dic + $SPELLDIR/fr.latin1.spl : $FILES - :sys env LANG=fr_FR.ISO8859-1 + :copy {force} fr_FR_latin1.aff fr_FR.aff + :copy {force} fr_FR_latin1.dic fr_FR.dic + :sys env LANG=fr_FR.ISO8859-15 $VIM -u NONE -e -c "mkspell! $SPELLDIR/fr fr_FR" -c q $SPELLDIR/fr.utf-8.spl : $FILES + :copy {force} fr_FR_iso15.aff fr_FR.aff + :copy {force} fr_FR_iso15.dic fr_FR.dic :sys env LANG=fr_FR.UTF-8 $VIM -u NONE -e -c "mkspell! $SPELLDIR/fr fr_FR" -c q @@ -23,10 +38,13 @@ $SPELLDIR/fr.utf-8.spl : $FILES :cat $source >!$target # -# Fetching the files from OpenOffice.org. +# Used to fetch the files from OpenOffice.org. Those are old. +# Later versions are elsewhere. # -OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries -:attr {fetch = $OODIR/%file%} fr_FR.zip +#OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries +ZIPFILE = http://dico.savant.free.fr/_download/fr_FR_1-1-6.zip + +:attr {fetch = $ZIPFILE} fr_FR.zip # 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. @@ -42,15 +60,45 @@ fr_FR.aff fr_FR.dic: {buildcheck=} @if os.path.exists('fr_FR.diff'): :sys patch <fr_FR.diff + # Keep the unmodified files (after diff) for ISO-8859-15. + :copy fr_FR.aff fr_FR_iso15.aff + :copy fr_FR.dic fr_FR_iso15.dic + # For the latin1 .dic file change all the "oe" characters to the two + # characters "oe". + :sys $VIM -u NONE -e -c "set enc=latin1" + -c "e fr_FR.dic" + -c "%s/½/oe/g" + -c "w! fr_FR_latin1.dic" + -c q + # For the latin1 .aff file delete all the "oe" and "OE" characters and + # delete the REP lines with those characters. + :sys $VIM -u NONE -e -c "set enc=latin1" + -c "e fr_FR.aff" + -c "%s/½//g" + -c "%s/¼//g" + -c "%g/REP.*oe/d" + -c "w! fr_FR_latin1.aff" + -c q + # Generate diff files, so that others can get the OpenOffice files and apply # the diffs to get the Vim versions. - +# This uses the iso-8859-15 files. diff: :assertpkg diff + :copy {force} fr_FR_iso15.aff fr_FR.aff + :copy {force} fr_FR_iso15.dic fr_FR.dic :sys {force} diff -a -C 1 fr_FR.orig.aff fr_FR.aff >fr_FR.diff :sys {force} diff -a -C 1 fr_FR.orig.dic fr_FR.dic >>fr_FR.diff +# Delete all the unpacked and generated files, including the "orig" files. +clean: + :delete {force} fr_FR.zip fr_FR.aff fr_FR.dic + fr_FR.aff.orig fr_FR.dic.orig + fr_FR.orig.aff fr_FR.orig.dic + fr_FR_latin1.aff fr_FR_latin1.dic + fr_FR_iso15.aff fr_FR_iso15.dic + README_fr_FR.txt # Check for updated OpenOffice spell files. When there are changes the # ".new.aff" and ".new.dic" files are left behind for manual inspection. |