updated for version 7.0070
authorBram Moolenaar <Bram@vim.org>
Sat, 23 Apr 2005 20:52:00 +0000 (20:52 +0000)
committerBram Moolenaar <Bram@vim.org>
Sat, 23 Apr 2005 20:52:00 +0000 (20:52 +0000)
20 files changed:
Filelist
runtime/doc/eval.txt
runtime/doc/spell.txt
runtime/doc/tags
runtime/lang/menu_sv_se.latin1.vim
runtime/spell/en.latin1.spl
src/auto/configure
src/charset.c
src/config.h.in
src/configure.in
src/option.c
src/proto/spell.pro
src/screen.c
src/spell/Makefile [new file with mode: 0644]
src/spell/en_GB.diff [new file with mode: 0644]
src/spell/en_US.diff [new file with mode: 0644]
src/spell/fr_FR.diff [new file with mode: 0644]
src/spell/nl_NL.diff [new file with mode: 0644]
src/spell/pl_PL.diff [new file with mode: 0644]
src/version.h

index 870b893b4a3ef16c4b5cde6a65d7115f26541cae..a4575c1cccbe9d61c976f20aab2e469da7be6c7d 100644 (file)
--- a/Filelist
+++ b/Filelist
@@ -122,6 +122,8 @@ SRC_ALL2 =  \
                src/proto/undo.pro \
                src/proto/version.pro \
                src/proto/window.pro \
+               src/spell/*.diff \
+               src/spell/Makefile \
 
 
 # source files for Unix only
index a0e446fcbea0aecca004dbe6e405a22d0b117e15..d9020a741adcb2db0b742aff8ced24355620531e 100644 (file)
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Apr 04
+*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Apr 22
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -338,6 +338,10 @@ Functions that are useful with a List: >
        :let s = string(list)           " String representation of list
        :call map(list, '">> " . v:val')  " prepend ">> " to each item
 
+Don't forget that a combination of features can make things simple.  For
+example, to add up all the numbers in a list: >
+       :exe 'let sum = ' . join(nrlist, '+')
+
 
 1.4 Dictionaries ~
                                                *Dictionaries* *Dictionary*
@@ -3719,7 +3723,10 @@ split({expr} [, {pattern}])                              *split()*
                it makes the function work a bit faster.
                To split a string in individual characters: >
                        :for c in split(mystring, '\zs')
-<              The opposite function is |join()|.
+<              If you want to keep the separator you can also use '\zs': >
+                       :echo split('abc:def:ghi', ':\zs')
+<                      ['abc:', 'def:', 'ghi'] ~
+               The opposite function is |join()|.
 
 
 strftime({format} [, {time}])                          *strftime()*
index 0f359a4c080e47f5feaaaf5db85935f59c1feb67..906e5cc983ca2a56d95391949d86a59960066fe1 100644 (file)
@@ -1,4 +1,4 @@
-*spell.txt*    For Vim version 7.0aa.  Last change: 2005 Apr 20
+*spell.txt*    For Vim version 7.0aa.  Last change: 2005 Apr 23
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -160,16 +160,19 @@ procedure is recommended:
 1. Obtain the xx_YY.aff and xx_YY.dic files from Myspell.
 2. Make a copy of these files to xx_YY.orig.aff and xx_YY.orig.dic.
 3. Change the xx_YY.aff and xx_YY.dic files to remove bad words, add missing
-   words, etc.
-4. Use |:mkspell| to generate the Vim spell file and try it out.
+   words, define word characters with FOL/LOW/UPP, etc.  The distributed
+   "src/spell/*.diff" files can be used.
+4. Set 'encoding' to the desired encoding and use |:mkspell| to generate the
+   Vim spell file.
+5. Try out the spell file with ":set spell spelllang=xx_YY".
 
 When the Myspell files are updated you can merge the differences:
-5. Obtain the new Myspell files as xx_YY.new.aff and xx_UU.new.dic.
-6. Use Vimdiff to see what changed: >
+1. Obtain the new Myspell files as xx_YY.new.aff and xx_UU.new.dic.
+2. Use Vimdiff to see what changed: >
        vimdiff xx_YY.orig.dic xx_YY.new.dic
-7. Take over the changes you like in xx_YY.dic.
+3. Take over the changes you like in xx_YY.dic.
    You may also need to change xx_YY.aff.
-8. Rename xx_YY.new.dic to xx_YY.orig.dic and xx_YY.new.aff to xx_YY.new.aff.
+4. Rename xx_YY.new.dic to xx_YY.orig.dic and xx_YY.new.aff to xx_YY.new.aff.
 
 ==============================================================================
 9. Spell file format                                   *spell-file-format*
@@ -272,5 +275,38 @@ Performance hint: Although using affixes reduces the number of words, it
 reduces the speed.  It's a good idea to put all the often used words in the
 word list with the affixes prepended/appended.
 
+                                                       *spell-affix-chars*
+The affix file should define the word characters when using an 8-bit encoding
+(as specified with ENC).  This is because the system where ":mkspell" is used
+may not support a locale with this encoding and isalpha() won't work.  For
+example when using "cp1250" on Unix.
+
+                                                       *E761* *E762*
+Three lines in the affix file are needed.  Simplistic example:
+
+       FOL  áëñáëñ
+       LOW  áëñáëñ
+       UPP  áëñÁËÑ
+
+All three lines must have exactly the same number of characters.
+
+The "FOL" line specifies the case-folded characters.  These are used to
+compare words while ignoring case.  For most encodings this is identical to
+the lower case line.
+
+The "LOW" line specifies the characters in lower-case.  Mostly it's equal to
+the "FOL" line.
+
+The "UPP" line specifies the characters with upper-case.  That is, a character
+is upper-case where it's different from the character at the same position in
+"FOL".
+
+ASCII characters should be omitted, Vim always handles these in the same way.
+When the encoding is UTF-8 no word characters need to be specified.
+
+                                                       *E763*
+All spell files for the same encoding must use the same word characters,
+otherwise they can't be combined without errors.
+
 
  vim:tw=78:sw=4:ts=8:ft=help:norl:
index f9c52519efe63ef664982b41497c4afc8c89f9a2..d86423aba3b9249ee33ad3bec8a576b4fa34559c 100644 (file)
@@ -3697,6 +3697,9 @@ E758      spell.txt       /*E758*
 E759   spell.txt       /*E759*
 E76    pattern.txt     /*E76*
 E760   spell.txt       /*E760*
+E761   spell.txt       /*E761*
+E762   spell.txt       /*E762*
+E763   spell.txt       /*E763*
 E77    message.txt     /*E77*
 E78    motion.txt      /*E78*
 E79    message.txt     /*E79*
@@ -4218,6 +4221,7 @@ blockwise-operators       visual.txt      /*blockwise-operators*
 blockwise-register     change.txt      /*blockwise-register*
 blockwise-visual       visual.txt      /*blockwise-visual*
 book   intro.txt       /*book*
+bookmark       usr_03.txt      /*bookmark*
 boolean        options.txt     /*boolean*
 break-finally  eval.txt        /*break-finally*
 browse()       eval.txt        /*browse()*
@@ -5113,7 +5117,6 @@ hebrew    hebrew.txt      /*hebrew*
 hebrew.txt     hebrew.txt      /*hebrew.txt*
 help   various.txt     /*help*
 help-context   help.txt        /*help-context*
-help-tags      tags    1
 help-translated        various.txt     /*help-translated*
 help-xterm-window      various.txt     /*help-xterm-window*
 help.txt       help.txt        /*help.txt*
@@ -6230,6 +6233,7 @@ spec_chglog_release_info  pi_spec.txt     /*spec_chglog_release_info*
 special-buffers        windows.txt     /*special-buffers*
 speed-up       tips.txt        /*speed-up*
 spell  spell.txt       /*spell*
+spell-affix-chars      spell.txt       /*spell-affix-chars*
 spell-affix-mbyte      spell.txt       /*spell-affix-mbyte*
 spell-affix-vim        spell.txt       /*spell-affix-vim*
 spell-file-format      spell.txt       /*spell-file-format*
index abeb562a29c4468b3f6823fc00077fb4da7c29f0..e436d948c23283ec39eabbf3b7f81b33cc860217 100644 (file)
@@ -1,6 +1,6 @@
 " Menu Translations:    Swedish
-" Maintainer:          Johan Svedberg <johan@svedberg.pp.se>
-" Last Change:         2004 May 16
+" Maintainer:          Johan Svedberg <johan@svedberg.com>
+" Last Change:         2005 April 23
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
@@ -17,12 +17,13 @@ endif
 " Help menu
 menutrans &Help                        &Hjälp
 menutrans &Overview<Tab><F1>   &Översikt<Tab><F1>
-menutrans &How-to\ links       &Hur-göra-länkar
 menutrans &User\ Manual                &Användarmanual
-"menutrans &GUI                        &GUI
+menutrans &How-to\ links       &Hur-göra-länkar
+menutrans &Find\.\.\.          &Sök\.\.\.
 menutrans &Credits             &Tack
 menutrans Co&pying             &Kopieringsrättigheter
-menutrans &Find\.\.\.          &Sök\.\.\.
+menutrans &Sponsor/Register    &Sponsra/Registrering
+menutrans O&rphans             F&örälderlösa
 menutrans &Version             &Version
 menutrans &About               &Om
 
@@ -50,7 +51,7 @@ menutrans &Copy<Tab>"+y                       &Kopiera<Tab>"+y
 menutrans &Paste<Tab>"+gP              Klistra &in<Tab>"+gP
 menutrans Put\ &Before<Tab>[p          Sätt\ in\ &före<Tab>[p
 menutrans Put\ &After<Tab>]p           Sätt\ in\ &efter<Tab>]p
-menutrans &Select\ all<Tab>ggVG                &Markera\ allt<Tab>ggVG
+menutrans &Select\ All<Tab>ggVG                &Markera\ allt<Tab>ggVG
 menutrans &Find\.\.\.                  &Sök\.\.\.
 menutrans &Find<Tab>/                  &Sök<Tab>/
 menutrans Find\ and\ Rep&lace\.\.\.    Sök\ och\ ersätt\.\.\.
@@ -75,6 +76,7 @@ menutrans Insert\ mode                        Infogningsl
 menutrans Block\ and\ Insert           Block\ och\ infogning
 menutrans Always                       Alltid
 menutrans Toggle\ Insert\ &Mode<Tab>:set\ im!  Växla\ infogningsläge<Tab>:set\ im!
+menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp!        Växla\ Vi-kompatibelitet<Tab>:set\ cp!
 menutrans Search\ &Path\.\.\.          Sökväg\.\.\.
 menutrans Ta&g\ Files\.\.\.            Taggfiler\.\.\.
 menutrans Toggle\ &Toolbar             Växla\ verktygsrad
@@ -91,6 +93,8 @@ menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr!      V
 menutrans Toggle\ &expand-tab<Tab>:set\ et!            Växla\ tab-expandering<Tab>:set\ et!
 menutrans Toggle\ &auto-indent<Tab>:set\ ai!           Växla\ auto-indentering<Tab>:set\ ai!
 menutrans Toggle\ &C-indenting<Tab>:set\ cin!          Växla\ C-indentering<Tab>:set\ cin!
+menutrans &Shiftwidth                                  &Shiftbredd
+menutrans Soft\ &Tabstop                               Mjuka\ &Tabbstopp
 menutrans Te&xt\ Width\.\.\.                           Textbredd\.\.\.
 menutrans &File\ Format\.\.\.                          Filformat\.\.\.
 
@@ -123,7 +127,7 @@ menutrans &Close\ all\ folds<Tab>zM St
 menutrans O&pen\ more\ folds<Tab>zr    Öppna\ mer\ veck<Tab>zr
 menutrans &Open\ all\ folds<Tab>zR     Öppna\ mer\ veck<Tab>zR
 menutrans Fold\ Met&hod                        Veckmetod
-menutrans M&anual                      Manual
+menutrans M&anual                      Manuell
 menutrans I&ndent                      Indentering
 menutrans E&xpression                  Uttryck
 menutrans S&yntax                      Syntax
index d9640c73bdd0f9c8a40f8496ccd6abca400384b7..78de0c617a650bed09afad39d98fb54434409544 100644 (file)
Binary files a/runtime/spell/en.latin1.spl and b/runtime/spell/en.latin1.spl differ
index f22fee3d80859224f5eee990f42692c3a50bf800..2d36fa835e8de7b8eb77694cb2948175811e09a3 100755 (executable)
@@ -4629,7 +4629,7 @@ fi
   if test "X$vi_cv_path_ruby" != "X"; then
     echo "$as_me:$LINENO: checking Ruby version" >&5
 echo $ECHO_N "checking Ruby version... $ECHO_C" >&6
-    if $vi_cv_path_ruby -e 'RUBY_VERSION >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then
+    if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then
       echo "$as_me:$LINENO: result: OK" >&5
 echo "${ECHO_T}OK" >&6
       echo "$as_me:$LINENO: checking Ruby header files" >&5
@@ -10987,6 +10987,7 @@ fi
 
 
 
+
 
 
 for ac_header in stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \
@@ -10996,7 +10997,7 @@ for ac_header in stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \
        sys/stream.h sys/ptem.h termios.h libc.h sys/statfs.h \
        poll.h sys/poll.h pwd.h utime.h sys/param.h libintl.h \
        libgen.h util/debug.h util/msg18n.h frame.h \
-       sys/acl.h sys/access.h sys/sysctl.h sys/sysinfo.h wchar.h
+       sys/acl.h sys/access.h sys/sysctl.h sys/sysinfo.h wchar.h wctype.h
 do
 as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
 if eval "test \"\${$as_ac_Header+set}\" = set"; then
@@ -13370,6 +13371,7 @@ fi
 
 
 
+
 
 
 for ac_func in bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \
@@ -13377,7 +13379,8 @@ for ac_func in bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \
        memset nanosleep opendir putenv qsort readlink select setenv \
        setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
        sigvec snprintf strcasecmp strerror strftime stricmp strncasecmp \
-       strnicmp strpbrk strtol tgetent towlower towupper usleep utime utimes
+       strnicmp strpbrk strtol tgetent towlower towupper iswupper \
+       usleep utime utimes
 do
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
 echo "$as_me:$LINENO: checking for $ac_func" >&5
index a82a7264ba76e498554320d042210778bcdad8b5..00a5326c8919f5b146153bca8ff3056ce02179a6 100644 (file)
@@ -915,97 +915,280 @@ vim_iswordc_buf(p, buf)
     return (GET_CHARTAB(buf, *p) != 0);
 }
 
-static char spell_chartab[256];
+/*
+ * The tables used for spelling.  These are only used for the first 256
+ * characters.
+ */
+typedef struct spelltab_S
+{
+    char_u  st_isw[256];       /* flags: is word char */
+    char_u  st_isu[256];       /* flags: is uppercase char */
+    char_u  st_fold[256];      /* chars: folded case */
+} spelltab_T;
+
+static spelltab_T   spelltab;
+static int         did_set_spelltab;
+
+#define SPELL_ISWORD   1
+#define SPELL_ISUPPER  2
+
+static void clear_spell_chartab __ARGS((spelltab_T *sp));
+static int set_spell_finish __ARGS((spelltab_T *new_st));
+
+/*
+ * Init the chartab used for spelling for ASCII.
+ * EBCDIC is not supported!
+ */
+    static void
+clear_spell_chartab(sp)
+    spelltab_T *sp;
+{
+    int            i;
+
+    /* Init everything to FALSE. */
+    vim_memset(sp->st_isw, FALSE, sizeof(sp->st_isw));
+    vim_memset(sp->st_isu, FALSE, sizeof(sp->st_isu));
+    for (i = 0; i < 256; ++i)
+       sp->st_fold[i] = i;
+
+    /* We include digits.  A word shouldn't start with a digit, but handling
+     * that is done separately. */
+    for (i = '0'; i <= '9'; ++i)
+       sp->st_isw[i] = TRUE;
+    for (i = 'A'; i <= 'Z'; ++i)
+    {
+       sp->st_isw[i] = TRUE;
+       sp->st_isu[i] = TRUE;
+       sp->st_fold[i] = i + 0x20;
+    }
+    for (i = 'a'; i <= 'z'; ++i)
+       sp->st_isw[i] = TRUE;
+}
 
 /*
  * Init the chartab used for spelling.  Only depends on 'encoding'.
- * Called once while starting up and when 'encoding' was changed.
- * Unfortunately, we can't use isalpha() here, since the current locale may
- * differ from 'encoding'.
+ * Called once while starting up and when 'encoding' changes.
+ * The default is to use isalpha(), but the spell file should define the word
+ * characters to make it possible that 'encoding' differs from the current
+ * locale.
  */
     void
 init_spell_chartab()
 {
     int            i;
 
-    /* ASCII is always the same, no matter what 'encoding' is used.
-     * EBCDIC is not supported! */
-    for (i = 0; i < '0'; ++i)
-       spell_chartab[i] = FALSE;
-    /* We include numbers.  A word shouldn't start with a number, but handling
-     * that is done separately. */
-    for ( ; i <= '9'; ++i)
-       spell_chartab[i] = TRUE;
-    for ( ; i < 'A'; ++i)
-       spell_chartab[i] = FALSE;
-    for ( ; i <= 'Z'; ++i)
-       spell_chartab[i] = TRUE;
-    for ( ; i < 'a'; ++i)
-       spell_chartab[i] = FALSE;
-    for ( ; i <= 'z'; ++i)
-       spell_chartab[i] = TRUE;
+    did_set_spelltab = FALSE;
+    clear_spell_chartab(&spelltab);
+
 #ifdef FEAT_MBYTE
     if (enc_dbcs)
     {
        /* DBCS: assume double-wide characters are word characters. */
-       for ( ; i <= 255; ++i)
+       for (i = 128; i <= 255; ++i)
            if (MB_BYTE2LEN(i) == 2)
-               spell_chartab[i] = TRUE;
-           else
-               spell_chartab[i] = FALSE;
+               spelltab.st_isw[i] = TRUE;
     }
-    else if (STRCMP(p_enc, "cp850") == 0)
+    else
 #endif
-#if defined(MSDOS) || defined(FEAT_MBYTE)
     {
-       /* cp850, MS-DOS */
-       for ( ; i < 128; ++i)
-           spell_chartab[i] = FALSE;
-       for ( ; i <= 0x9a; ++i)
-           spell_chartab[i] = TRUE;
-       for ( ; i < 0xa0; ++i)
-           spell_chartab[i] = FALSE;
-       for ( ; i <= 0xa5; ++i)
-           spell_chartab[i] = TRUE;
-       for ( ; i <= 255; ++i)
-           spell_chartab[i] = FALSE;
+       /* Rough guess: use isalpha() for characters above 128. */
+       for (i = 128; i < 256; ++i)
+       {
+           spelltab.st_isw[i] = isalpha(i);
+           if (isupper(i))
+           {
+               spelltab.st_isu[i] = TRUE;
+               spelltab.st_fold[i] = tolower(i);
+           }
+       }
     }
+}
+
+static char *e_affform = N_("E761: Format error in affix file FOL, LOW or UPP");
+static char *e_affrange = N_("E762: Character in FOL, LOW or UPP is out of range");
+
+/*
+ * Set the spell character tables from strings in the affix file.
+ */
+    int
+set_spell_chartab(fol, low, upp)
+    char_u     *fol;
+    char_u     *low;
+    char_u     *upp;
+{
+    /* We build the new tables here first, so that we can compare with the
+     * previous one. */
+    spelltab_T new_st;
+    char_u     *pf = fol, *pl = low, *pu = upp;
+    int                f, l, u;
+
+    clear_spell_chartab(&new_st);
+
+    while (*pf != NUL)
+    {
+       if (*pl == NUL || *pu == NUL)
+       {
+           EMSG(_(e_affform));
+           return FAIL;
+       }
+#ifdef FEAT_MBYTE
+       f = mb_ptr2char_adv(&pf);
+       l = mb_ptr2char_adv(&pl);
+       u = mb_ptr2char_adv(&pu);
+#else
+       f = *pf++;
+       l = *pl++;
+       u = *pu++;
 #endif
+       /* Every character that appears is a word character. */
+       if (f < 256)
+           new_st.st_isw[f] = TRUE;
+       if (l < 256)
+           new_st.st_isw[l] = TRUE;
+       if (u < 256)
+           new_st.st_isw[u] = TRUE;
+
+       /* if "LOW" and "FOL" are not the same the "LOW" char needs
+        * case-folding */
+       if (l < 256 && l != f)
+       {
+           if (f >= 256)
+           {
+               EMSG(_(e_affrange));
+               return FAIL;
+           }
+           new_st.st_fold[l] = f;
+       }
+
+       /* if "UPP" and "FOL" are not the same the "UPP" char needs
+        * case-folding and it's upper case. */
+       if (u < 256 && u != f)
+       {
+           if (f >= 256)
+           {
+               EMSG(_(e_affrange));
+               return FAIL;
+           }
+           new_st.st_fold[u] = f;
+           new_st.st_isu[u] = TRUE;
+       }
+    }
+
+    if (*pl != NUL || *pu != NUL)
+    {
+       EMSG(_(e_affform));
+       return FAIL;
+    }
+
+    return set_spell_finish(&new_st);
+}
+
+/*
+ * Set the spell character tables from strings in the .spl file.
+ */
+    int
+set_spell_charflags(flags, cnt, upp)
+    char_u     *flags;
+    int                cnt;
+    char_u     *upp;
+{
+    /* We build the new tables here first, so that we can compare with the
+     * previous one. */
+    spelltab_T new_st;
+    int                i;
+    char_u     *p = upp;
+
+    clear_spell_chartab(&new_st);
+
+    for (i = 0; i < cnt; ++i)
+    {
+       new_st.st_isw[i + 128] = (flags[i] & SPELL_ISWORD) != 0;
+       new_st.st_isu[i + 128] = (flags[i] & SPELL_ISUPPER) != 0;
+
+       if (*p == NUL)
+           return FAIL;
 #ifdef FEAT_MBYTE
-    else if (STRCMP(p_enc, "iso-8859-2") == 0)
+       new_st.st_fold[i + 128] = mb_ptr2char_adv(&p);
+#else
+       new_st.st_fold[i + 128] = *p++;
+#endif
+    }
+
+    return set_spell_finish(&new_st);
+}
+
+    static int
+set_spell_finish(new_st)
+    spelltab_T *new_st;
+{
+    int                i;
+
+    if (did_set_spelltab)
     {
-       /* latin2 */
-       for ( ; i <= 0xa0; ++i)
-           spell_chartab[i] = FALSE;
-       for ( ; i <= 255; ++i)
-           spell_chartab[i] = TRUE;
-       spell_chartab[0xa4] = FALSE;        /* currency sign */
-       spell_chartab[0xa7] = FALSE;        /* paragraph sign */
-       spell_chartab[0xad] = FALSE;        /* dash */
-       spell_chartab[0xb0] = FALSE;        /* degrees */
-       spell_chartab[0xf7] = FALSE;        /* divide-by */
+       /* check that it's the same table */
+       for (i = 0; i < 256; ++i)
+       {
+           if (spelltab.st_isw[i] != new_st->st_isw[i]
+                   || spelltab.st_isu[i] != new_st->st_isu[i]
+                   || spelltab.st_fold[i] != new_st->st_fold[i])
+           {
+               EMSG(_("E763: Word characters differ between spell files"));
+               return FAIL;
+           }
+       }
     }
     else
-#endif
-#if defined(FEAT_MBYTE) || !defined(MSDOS)
     {
-       /* Rough guess: anything we don't recognize assumes word characters
-        * like latin1. */
-       for ( ; i < 0xc0; ++i)
-           spell_chartab[i] = FALSE;
-       for ( ; i <= 255; ++i)
-           spell_chartab[i] = TRUE;
-# ifdef FEAT_MBYTE
-       if (STRCMP(p_enc, "latin1") == 0)
-# endif
-           spell_chartab[0xf7] = FALSE;            /* divide-by */
+       /* copy the new spelltab into the one being used */
+       spelltab = *new_st;
+       did_set_spelltab = TRUE;
     }
-#endif
+
+    return OK;
+}
+
+#if defined(FEAT_MBYTE) || defined(PROTO)
+/*
+ * Write the current tables into the .spl file.
+ */
+    void
+write_spell_chartab(fd)
+    FILE       *fd;
+{
+    char_u     charbuf[256 * 4];
+    int                len = 0;
+    int                flags;
+    int                i;
+
+    if (!did_set_spelltab)
+    {
+       /* No character table specified, write zero counts. */
+       fputc(0, fd);
+       fputc(0, fd);
+       fputc(0, fd);
+       return;
+    }
+
+    fputc(128, fd);                                /* <charflagslen> */
+    for (i = 128; i < 256; ++i)
+    {
+       flags = 0;
+       if (spelltab.st_isw[i])
+           flags |= SPELL_ISWORD;
+       if (spelltab.st_isu[i])
+           flags |= SPELL_ISUPPER;
+       fputc(flags, fd);                           /* <charflags> */
+
+       len += mb_char2bytes(spelltab.st_fold[i], charbuf + len);
+    }
+
+    put_bytes(fd, (long_u)len, 2);                 /* <fcharlen> */
+    fwrite(charbuf, (size_t)len, (size_t)1, fd);    /* <fchars> */
 }
+#endif
 
 /*
- * Return TRUE if "p" points to a word character.
- * This only depends on 'encoding', not on 'iskeyword'.
+ * Return TRUE if "p" points to a word character for spelling.
  */
     int
 spell_iswordc(p)
@@ -1015,9 +1198,103 @@ spell_iswordc(p)
     if (has_mbyte && MB_BYTE2LEN(*p) > 1)
        return mb_get_class(p) >= 2;
 # endif
-    return spell_chartab[*p];
+    return spelltab.st_isw[*p];
+}
+
+/*
+ * Return TRUE if "c" is an upper-case character for spelling.
+ */
+    int
+spell_isupper(c)
+    int                c;
+{
+# ifdef FEAT_MBYTE
+    if (enc_utf8)
+    {
+       /* For Unicode we can call utf_isupper(), but don't do that for ASCII,
+        * because we don't want to use 'casemap' here. */
+       if (c >= 128)
+           return utf_isupper(c);
+    }
+    else if (has_mbyte && c > 256)
+    {
+       /* For characters above 255 we don't have something specfied.
+        * Fall back to locale-dependent iswupper().  If not available
+        * simply return FALSE. */
+#  ifdef HAVE_ISWUPPER
+       return iswupper(c);
+#  else
+       return FALSE;
+#  endif
+    }
+# endif
+    return spelltab.st_isu[c];
 }
+
+/*
+ * case-fold "p[len]" into "buf[buflen]".  Used for spell checking.
+ * Returns FAIL when something wrong.
+ */
+    int
+spell_casefold(p, len, buf, buflen)
+    char_u     *p;
+    int                len;
+    char_u     *buf;
+    int                buflen;
+{
+    int                i;
+
+    if (len >= buflen)
+    {
+       buf[0] = NUL;
+       return FAIL;            /* result will not fit */
+    }
+
+#ifdef FEAT_MBYTE
+    if (has_mbyte)
+    {
+       int     c;
+       int     outi = 0;
+
+       /* Fold one character at a time. */
+       for (i = 0; i < len; i += mb_ptr2len_check(p + i))
+       {
+           c = mb_ptr2char(p + i);
+           if (enc_utf8)
+               /* For Unicode case folding is always the same, no need to use
+                * the table from the spell file. */
+               c = utf_fold(c);
+           else if (c < 256)
+               /* Use the table from the spell file. */
+               c = spelltab.st_fold[c];
+# ifdef HAVE_TOWLOWER
+           else
+               /* We don't know what to do, fall back to towlower(), it
+                * depends on the current locale. */
+               c = towlower(c);
+# endif
+           if (outi + MB_MAXBYTES > buflen)
+           {
+               buf[outi] = NUL;
+               return FAIL;
+           }
+           outi += mb_char2bytes(c, buf + outi);
+       }
+       buf[outi] = NUL;
+    }
+    else
 #endif
+    {
+       /* Be quick for non-multibyte encodings. */
+       for (i = 0; i < len; ++i)
+           buf[i] = spelltab.st_fold[p[i]];
+       buf[i] = NUL;
+    }
+
+    return OK;
+}
+
+#endif /* FEAT_SYN_HL */
 
 /*
  * return TRUE if 'c' is a valid file-name character
index f9159aa547efdba0cfb695cb21cbb5a5a3bf3d68..0ecc7b1ec57b2ce43fd1fb89ab50dfa64b04304c 100644 (file)
 #undef HAVE_TGETENT
 #undef HAVE_TOWLOWER
 #undef HAVE_TOWUPPER
+#undef HAVE_ISWUPPER
 #undef HAVE_USLEEP
 #undef HAVE_UTIME
 #undef HAVE_BIND_TEXTDOMAIN_CODESET
 #undef HAVE_SYS_TIME_H
 #undef HAVE_SYS_UTSNAME_H
 #undef HAVE_WCHAR_H
+#undef HAVE_WCTYPE_H
 #undef HAVE_TERMCAP_H
 #undef HAVE_TERMIOS_H
 #undef HAVE_TERMIO_H
index fb8e33059454c1532ac9e18519c8fe9f07e6f3b1..af18d880de876d7f698ef65288b986ed9f8f2cdc 100644 (file)
@@ -2245,7 +2245,7 @@ AC_CHECK_HEADERS(stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \
        sys/stream.h sys/ptem.h termios.h libc.h sys/statfs.h \
        poll.h sys/poll.h pwd.h utime.h sys/param.h libintl.h \
        libgen.h util/debug.h util/msg18n.h frame.h \
-       sys/acl.h sys/access.h sys/sysctl.h sys/sysinfo.h wchar.h)
+       sys/acl.h sys/access.h sys/sysctl.h sys/sysinfo.h wchar.h wctype.h)
 
 dnl pthread_np.h may exist but can only be used after including pthread.h
 AC_MSG_CHECKING([for pthread_np.h])
@@ -2637,7 +2637,8 @@ AC_CHECK_FUNCS(bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \
        memset nanosleep opendir putenv qsort readlink select setenv \
        setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
        sigvec snprintf strcasecmp strerror strftime stricmp strncasecmp \
-       strnicmp strpbrk strtol tgetent towlower towupper usleep utime utimes)
+       strnicmp strpbrk strtol tgetent towlower towupper iswupper \
+       usleep utime utimes)
 
 dnl fstatfs() can take 2 to 4 arguments, try to use st_blksize if possible
 AC_MSG_CHECKING(for st_blksize)
index cf5e9b407a73148408c7348aecd519d478c89c1f..ee33df95ea8e7e146aab104c0d4eaccf1d20dd0b 100644 (file)
@@ -5658,10 +5658,20 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf,
 #endif
 
 #ifdef FEAT_SYN_HL
-    /* When 'spelllang' is set, load the wordlists. */
+    /* When 'spelllang' is set and there is a window for this buffer in which
+     * 'spell' is set load the wordlists. */
     else if (varp == &(curbuf->b_p_spl))
     {
-       errmsg = did_set_spelllang(curbuf);
+       win_T       *wp;
+
+       FOR_ALL_WINDOWS(wp)
+           if (wp->w_buffer == curbuf && wp->w_p_spell)
+           {
+               errmsg = did_set_spelllang(curbuf);
+# ifdef FEAT_WINDOWS
+               break;
+# endif
+           }
     }
 #endif
 
@@ -6636,6 +6646,19 @@ set_bool_option(opt_idx, varp, value, opt_flags)
     }
 #endif
 
+#ifdef FEAT_SYN_HL
+    /* 'spell' */
+    else if ((int *)varp == &curwin->w_p_spell)
+    {
+       if (curwin->w_p_spell)
+       {
+           char_u      *errmsg = did_set_spelllang(curbuf);
+           if (errmsg != NULL)
+               EMSG(_(errmsg));
+       }
+    }
+#endif
+
 #ifdef FEAT_FKMAP
     else if ((int *)varp == &p_altkeymap)
     {
@@ -8586,7 +8609,6 @@ buf_copy_options(buf, flags)
            /* Don't copy 'syntax', it must be set */
            buf->b_p_syn = empty_option;
            buf->b_p_spl = vim_strsave(p_spl);
-           did_set_spelllang(buf);
 #endif
 #if defined(FEAT_CINDENT) && defined(FEAT_EVAL)
            buf->b_p_inde = vim_strsave(p_inde);
index 5f91f4235a12515181f069a86870f06f9d5104bc..e56eb929341a4dfaab3c3a79eeed1a1f89b5e78a 100644 (file)
@@ -3,5 +3,6 @@ int spell_check __ARGS((win_T *wp, char_u *line, char_u *ptr, int *attrp));
 int spell_move_to __ARGS((int dir, int allwords));
 char_u *did_set_spelllang __ARGS((buf_T *buf));
 void spell_reload __ARGS((void));
+void put_bytes __ARGS((FILE *fd, long_u nr, int len));
 void ex_mkspell __ARGS((exarg_T *eap));
 /* vim: set ft=c : */
index b2e11812753a150bc27dd0bc6365a4a1f1c5c532..58fb4d029c36331d31418044c11bb76c5d14cfbd 100644 (file)
@@ -2603,7 +2603,10 @@ win_line(wp, lnum, startrow, endrow)
        }
     }
 
-    if (wp->w_p_spell && *wp->w_buffer->b_p_spl != NUL)
+    if (wp->w_p_spell
+           && *wp->w_buffer->b_p_spl != NUL
+           && wp->w_buffer->b_langp.ga_len > 0
+           && *(char **)(wp->w_buffer->b_langp.ga_data) != NULL)
     {
        /* Prepare for spell checking. */
        has_spell = TRUE;
diff --git a/src/spell/Makefile b/src/spell/Makefile
new file mode 100644 (file)
index 0000000..ff5b754
--- /dev/null
@@ -0,0 +1,93 @@
+# Makefile for Vim spell files.
+
+SPELLDIR = ../../runtime/spell
+VIM     = ../vim
+
+all: en
+       
+en: $(SPELLDIR)/en.latin1.spl \
+       $(SPELLDIR)/en.utf-8.spl \
+       $(SPELLDIR)/en.ascii.spl
+
+pl: $(SPELLDIR)/pl.iso-8859-2.spl \
+       $(SPELLDIR)/pl.utf-8.spl
+
+nl: $(SPELLDIR)/nl.latin1.spl \
+       $(SPELLDIR)/nl.utf-8.spl
+
+fr: $(SPELLDIR)/fr.latin1.spl \
+       $(SPELLDIR)/fr.utf-8.spl
+
+diff:
+       -diff -a -C 1 en_US.orig.aff en_US.aff >en_US.diff
+       -diff -a -C 1 en_US.orig.dic en_US.dic >>en_US.diff
+       -diff -a -C 1 en_AU.orig.aff en_AU.aff >en_AU.diff
+       -diff -a -C 1 en_AU.orig.dic en_AU.dic >>en_AU.diff
+       -diff -a -C 1 en_CA.orig.aff en_CA.aff >en_CA.diff
+       -diff -a -C 1 en_CA.orig.dic en_CA.dic >>en_CA.diff
+       -diff -a -C 1 en_GB.orig.aff en_GB.aff >en_GB.diff
+       -diff -a -C 1 en_GB.orig.dic en_GB.dic >>en_GB.diff
+       -diff -a -C 1 en_NZ.orig.aff en_NZ.aff >en_NZ.diff
+       -diff -a -C 1 en_NZ.orig.dic en_NZ.dic >>en_NZ.diff
+       
+       -diff -a -C 1 nl_NL.orig.aff nl_NL.aff >nl_NL.diff
+       -diff -a -C 1 nl_NL.orig.dic nl_NL.dic >>nl_NL.diff
+       
+       -diff -a -C 1 pl_PL.orig.aff pl_PL.aff >pl_PL.diff
+       -diff -a -C 1 pl_PL.orig.dic pl_PL.dic >>pl_PL.diff
+       
+       -diff -a -C 1 fr_FR.orig.aff fr_FR.aff >fr_FR.diff
+       -diff -a -C 1 fr_FR.orig.dic fr_FR.dic >>fr_FR.diff
+
+$(SPELLDIR)/en.latin1.spl : $(VIM) \
+                       en_US.aff en_US.dic \
+                       en_AU.aff en_AU.dic \
+                       en_CA.aff en_CA.dic \
+                       en_GB.aff en_GB.dic \
+                       en_NZ.aff en_NZ.dic
+       env LANG=en_US.ISO8859-1 \
+               $(VIM) -e -c "mkspell! $(SPELLDIR)/en en_US en_AU en_CA en_GB \
+                       en_NZ" -c q
+
+$(SPELLDIR)/en.utf-8.spl : $(VIM) \
+                       en_US.aff en_US.dic \
+                       en_AU.aff en_AU.dic \
+                       en_CA.aff en_CA.dic \
+                       en_GB.aff en_GB.dic \
+                       en_NZ.aff en_NZ.dic
+       env LANG=en_US.UTF-8 \
+               $(VIM) -e -c "mkspell! $(SPELLDIR)/en en_US en_AU en_CA en_GB \
+                       en_NZ" -c q
+
+$(SPELLDIR)/en.ascii.spl : $(VIM) \
+                       en_US.aff en_US.dic \
+                       en_AU.aff en_AU.dic \
+                       en_CA.aff en_CA.dic \
+                       en_GB.aff en_GB.dic \
+                       en_NZ.aff en_NZ.dic
+       $(VIM) -e -c "mkspell! -ascii $(SPELLDIR)/en en_US en_AU en_CA en_GB \
+                       en_NZ" -c q
+
+$(SPELLDIR)/pl.iso-8859-2.spl : $(VIM) \
+                       pl_PL.aff pl_PL.dic
+       env LANG=pl_PL.ISO8859-2 $(VIM) -e -c "mkspell! $(SPELLDIR)/pl pl_PL" -c q
+
+$(SPELLDIR)/pl.utf-8.spl : $(VIM) \
+                       pl_PL.aff pl_PL.dic
+       env LANG=pl_PL.UTF-8 $(VIM) -e -c "mkspell! $(SPELLDIR)/pl pl_PL" -c q
+
+$(SPELLDIR)/nl.latin1.spl : $(VIM) \
+                       nl_NL.aff nl_NL.dic
+       env LANG=nl_NL.ISO8859-1 $(VIM) -e -c "mkspell! $(SPELLDIR)/nl nl_NL" -c q
+
+$(SPELLDIR)/nl.utf-8.spl : $(VIM) \
+                       nl_NL.aff nl_NL.dic
+       env LANG=nl_NL.UTF-8 $(VIM) -e -c "mkspell! $(SPELLDIR)/nl nl_NL" -c q
+
+$(SPELLDIR)/fr.latin1.spl : $(VIM) \
+                       fr_FR.aff fr_FR.dic
+       env LANG=fr_FR.ISO8859-1 $(VIM) -e -c "mkspell! $(SPELLDIR)/fr fr_FR" -c q
+
+$(SPELLDIR)/fr.utf-8.spl : $(VIM) \
+                       fr_FR.aff fr_FR.dic
+       env LANG=fr_FR.UTF-8 $(VIM) -e -c "mkspell! $(SPELLDIR)/fr fr_FR" -c q
diff --git a/src/spell/en_GB.diff b/src/spell/en_GB.diff
new file mode 100644 (file)
index 0000000..7f7ec13
--- /dev/null
@@ -0,0 +1,2268 @@
+*** en_GB.orig.aff     Fri Apr 15 13:20:36 2005
+--- en_GB.aff  Sat Apr 23 19:57:46 2005
+***************
+*** 7,9 ****
+  SET ISO8859-1
+! TRY esiaénrtolcdugmphbyfvkw-'.zqjxSNRTLCGDMPHBEAUYOFIVKWöâôZQJXÅçèîêàïüäñ 
+  REP 24
+--- 7,14 ----
+  SET ISO8859-1
+! TRY esiaénrtolcdugmphbyfvkw-'.zqjxSNRTLCGDMPHBEAUYOFIVKWöâôZQJXÅçèîêàïüäñ
+! 
+! FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
+! LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
+! UPP  ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
+! 
+  REP 24
+***************
+*** 34,53 ****
+  PFX A Y 2
+! PFX A 0 re [^e] 
+! PFX A 0 re- e 
+  PFX a Y 1
+! PFX a 0 mis . 
+  PFX I Y 4
+! PFX I 0 il l 
+! PFX I 0 ir r 
+! PFX I 0 im [bmp] 
+! PFX I 0 in [^blmpr] 
+  PFX c Y 1
+! PFX c 0 over . 
+  PFX U Y 1
+! PFX U 0 un . 
+  PFX C Y 2
+! PFX C 0 de [^e] 
+! PFX C 0 de- e 
+  PFX E Y 1
+! PFX E 0 dis . 
+  PFX F Y 5
+--- 39,58 ----
+  PFX A Y 2
+! PFX A 0 re [^e]
+! PFX A 0 re- e
+  PFX a Y 1
+! PFX a 0 mis .
+  PFX I Y 4
+! PFX I 0 il l
+! PFX I 0 ir r
+! PFX I 0 im [bmp]
+! PFX I 0 in [^blmpr]
+  PFX c Y 1
+! PFX c 0 over .
+  PFX U Y 1
+! PFX U 0 un .
+  PFX C Y 2
+! PFX C 0 de [^e]
+! PFX C 0 de- e
+  PFX E Y 1
+! PFX E 0 dis .
+  PFX F Y 5
+***************
+*** 57,451 ****
+  PFX F 0 col l
+! PFX F 0 con [^abehilmopru]. 
+  PFX K Y 1
+! PFX K 0 pre . 
+  PFX e Y 1
+! PFX e 0 out . 
+  PFX f Y 2
+! PFX f 0 under [^r] 
+! PFX f 0 under- r 
+  PFX O Y 1
+! PFX O 0 non- . 
+  PFX 4 Y 1
+! PFX 4 0 trans . 
+  SFX V Y 15
+! SFX V 0 tive [aio] 
+! SFX V b ptive b 
+! SFX V d sive d 
+! SFX V be ptive be 
+! SFX V e tive ce 
+! SFX V de sive de 
+! SFX V ke cative ke 
+! SFX V e ptive me 
+! SFX V e ive [st]e 
+! SFX V e ative [^bcdkmst]e 
+! SFX V 0 lative [aeiou]l 
+! SFX V 0 ative [^aeiou]l 
+! SFX V 0 ive [st] 
+! SFX V y icative y 
+! SFX V 0 ative [^abdeilosty] 
+  SFX v Y 15
+! SFX v 0 tively [aio] 
+! SFX v b ptively b 
+! SFX v d sively d 
+! SFX v be ptively be 
+! SFX v e tively ce 
+! SFX v de sively de 
+! SFX v ke catively ke 
+! SFX v e ptively me 
+! SFX v e ively [st]e 
+! SFX v e atively [^bcdkmst]e 
+! SFX v 0 latively [aeiou]l 
+! SFX v 0 atively [^aeiou]l 
+! SFX v 0 ively [st] 
+! SFX v y icatively y 
+! SFX v 0 atively [^abdeilosty] 
+  SFX u Y 15
+! SFX u 0 tiveness [aio] 
+! SFX u b ptiveness b 
+! SFX u d siveness d 
+! SFX u be ptiveness be 
+! SFX u e tiveness ce 
+! SFX u de siveness de 
+! SFX u ke cativeness ke 
+! SFX u e ptiveness me 
+! SFX u e iveness [st]e 
+! SFX u e ativeness [^bcdkmst]e 
+! SFX u 0 lativeness [aeiou]l 
+! SFX u 0 ativeness [^aeiou]l 
+! SFX u 0 iveness [st] 
+! SFX u y icativeness y 
+! SFX u 0 ativeness [^abdeilosty] 
+  SFX N Y 26
+! SFX N b ption b 
+! SFX N d sion d 
+! SFX N be ption be 
+! SFX N e tion ce 
+! SFX N de sion de 
+! SFX N ke cation ke 
+! SFX N e ption ume 
+! SFX N e mation [^u]me 
+! SFX N e ion [^o]se 
+! SFX N e ition ose 
+! SFX N e ation [iou]te 
+! SFX N e ion [^iou]te 
+! SFX N e ation [^bcdkmst]e 
+! SFX N el ulsion el 
+! SFX N 0 lation [aiou]l 
+! SFX N 0 ation [^aeiou]l 
+! SFX N 0 mation [aeiou]m 
+! SFX N 0 ation [^aeiou]m 
+! SFX N er ration er 
+! SFX N 0 ation [^e]r 
+! SFX N 0 ion [sx] 
+! SFX N t ssion mit 
+! SFX N 0 ion [^m]it 
+! SFX N 0 ation [^i]t 
+! SFX N y ication y 
+! SFX N 0 ation [^bdelmrstxy] 
+  SFX n Y 28
+! SFX n 0 tion a 
+! SFX n e tion ce 
+! SFX n ke cation ke 
+! SFX n e ation [iou]te 
+! SFX n e ion [^iou]te 
+! SFX n e ation [^ckt]e 
+! SFX n el ulsion el 
+! SFX n 0 lation [aiou]l 
+! SFX n 0 ation [^aeiou]l 
+! SFX n er ration er 
+! SFX n 0 ation [^e]r 
+! SFX n y ation py 
+! SFX n y ication [^p]y 
+! SFX n 0 ation [^aelry] 
+! SFX n 0 tions a 
+! SFX n e tions ce 
+! SFX n ke cations ke 
+! SFX n e ations [iou]te 
+! SFX n e ions [^iou]te 
+! SFX n e ations [^ckt]e 
+! SFX n el ulsions el 
+! SFX n 0 lations [aiou]l 
+! SFX n 0 ations [^aeiou]l 
+! SFX n er rations er 
+! SFX n 0 ations [^e]r 
+! SFX n y ations py 
+! SFX n y ications [^p]y 
+! SFX n 0 ations [^aelry] 
+  SFX X Y 26
+! SFX X b ptions b 
+! SFX X d sions d 
+! SFX X be ptions be 
+! SFX X e tions ce 
+! SFX X ke cations ke 
+! SFX X de sions de 
+! SFX X e ptions ume 
+! SFX X e mations [^u]me 
+! SFX X e ions [^o]se 
+! SFX X e itions ose 
+! SFX X e ations [iou]te 
+! SFX X e ions [^iou]te 
+! SFX X e ations [^bcdkmst]e 
+! SFX X el ulsions el 
+! SFX X 0 lations [aiou]l 
+! SFX X 0 ations [^aeiou]l 
+! SFX X 0 mations [aeiou]m 
+! SFX X 0 ations [^aeiou]m 
+! SFX X er rations er 
+! SFX X 0 ations [^e]r 
+! SFX X 0 ions [sx] 
+! SFX X t ssions mit 
+! SFX X 0 ions [^m]it 
+! SFX X 0 ations [^i]t 
+! SFX X y ications y 
+! SFX X 0 ations [^bdelmrstxy] 
+  SFX x Y 40
+! SFX x b ptional b 
+! SFX x d sional d 
+! SFX x be ptional be 
+! SFX x e tional ce 
+! SFX x ke cational ke 
+! SFX x de sional de 
+! SFX x e ional [^o]se 
+! SFX x e itional ose 
+! SFX x e ional te 
+! SFX x e ational [^bcdkst]e 
+! SFX x el ulsional el 
+! SFX x 0 lational [aiou]l 
+! SFX x 0 ational [^aeiou]l 
+! SFX x er rational er 
+! SFX x 0 ational [^e]r 
+! SFX x 0 ional [sx] 
+! SFX x 0 ional [^n]t 
+! SFX x 0 ational nt 
+! SFX x y icational y 
+! SFX x 0 ational [^bdelrstxy] 
+! SFX x b ptionally b 
+! SFX x d sionally d 
+! SFX x be ptionally be 
+! SFX x e tionally ce 
+! SFX x ke cationally ke 
+! SFX x de sionally de 
+! SFX x e ionally [^o]se 
+! SFX x e itionally ose 
+! SFX x e ionally te 
+! SFX x e ationally [^bcdkst]e 
+! SFX x el ulsionally el 
+! SFX x 0 lationally [aiou]l 
+! SFX x 0 ationally [^aeiou]l 
+! SFX x er rationally er 
+! SFX x 0 ationally [^e]r 
+! SFX x 0 ionally [sx] 
+! SFX x 0 ionally [^n]t 
+! SFX x 0 ationally nt 
+! SFX x y icationally y 
+! SFX x 0 ationally [^bdelrstxy] 
+  SFX H N 13
+! SFX H y ieth y 
+! SFX H ree ird ree 
+! SFX H ve fth ve 
+! SFX H e th [^ev]e 
+! SFX H 0 h t 
+! SFX H 0 th [^ety] 
+! SFX H y ieths y 
+! SFX H ree irds ree 
+! SFX H ve fths ve 
+! SFX H e ths [^ev]e 
+! SFX H 0 hs t 
+! SFX H 0 ths [^ety] 
+! SFX H 0 fold . 
+  SFX Y Y 9
+! SFX Y 0 ally ic 
+! SFX Y 0 ly [^i]c 
+! SFX Y e y [^aeiou]le 
+! SFX Y 0 ly [aeiou]le 
+! SFX Y 0 ly [^l]e 
+! SFX Y 0 y [^aeiou]l 
+! SFX Y y ily [^aeiou]y 
+! SFX Y 0 ly [aeiou][ly] 
+! SFX Y 0 ly [^cely] 
+  SFX G Y 24
+! SFX G e ing [^eioy]e 
+! SFX G 0 ing [eoy]e 
+! SFX G ie ying ie 
+! SFX G 0 bing [^aeio][aeiou]b 
+! SFX G 0 king [^aeio][aeiou]c 
+! SFX G 0 ding [^aeio][aeiou]d 
+! SFX G 0 fing [^aeio][aeiou]f 
+! SFX G 0 ging [^aeio][aeiou]g 
+! SFX G 0 king [^aeio][aeiou]k 
+! SFX G 0 ling [^aeio][eiou]l 
+! SFX G 0 ing [aeio][eiou]l 
+! SFX G 0 ling [^aeo]al 
+! SFX G 0 ing [aeo]al 
+! SFX G 0 ming [^aeio][aeiou]m 
+! SFX G 0 ning [^aeio][aeiou]n 
+! SFX G 0 ping [^aeio][aeiou]p 
+! SFX G 0 ring [^aeio][aeiou]r 
+! SFX G 0 sing [^aeio][aeiou]s 
+! SFX G 0 ting [^aeio][aeiou]t 
+! SFX G 0 ving [^aeio][aeiou]v 
+! SFX G 0 zing [^aeio][aeiou]z 
+! SFX G 0 ing [aeio][aeiou][bcdfgkmnprstvz] 
+! SFX G 0 ing [^aeiou][bcdfgklmnprstvz] 
+! SFX G 0 ing [^ebcdfgklmnprstvz] 
+  SFX J Y 25
+! SFX J e ings [^eioy]e 
+! SFX J 0 ings [eoy]e 
+! SFX J ie yings ie 
+! SFX J 0 bings [^aeio][aeiou]b 
+! SFX J 0 king [^aeio][aeiou]c 
+! SFX J 0 dings [^aeio][aeiou]d 
+! SFX J 0 fings [^aeio][aeiou]f 
+! SFX J 0 gings [^aeio][aeiou]g 
+! SFX J 0 kings [^aeio][aeiou]k 
+! SFX J 0 lings [^aeio][eiou]l 
+! SFX J 0 ings [aeio][eiou]l 
+! SFX J 0 lings [^aeo]al 
+! SFX J 0 ings [aeo]al 
+! SFX J 0 mings [^aeio][aeiou]m 
+! SFX J 0 nings [^aeio][aiou]n 
+! SFX J 0 pings [^aeio][aeiou]p 
+! SFX J 0 rings [^aeio][aiou]r 
+! SFX J 0 sings [^aeio][aeiou]s 
+! SFX J 0 tings [^aeio][aiou]t 
+! SFX J 0 vings [^aeio][aeiou]v 
+! SFX J 0 zings [^aeio][aeiou]z 
+! SFX J 0 ings [^aeio]e[nrt] 
+! SFX J 0 ings [aeio][aeiou][bcdfgkmnprstvz] 
+! SFX J 0 ings [^aeiou][bcdfgklmnprstvz] 
+! SFX J 0 ings [^ebcdfgklmnprstvz] 
+  SFX k Y 8
+! SFX k e ingly [^eioy]e 
+! SFX k 0 ingly [eoy]e 
+! SFX k ie yingly ie 
+! SFX k 0 kingly [^aeio][aeiou]c 
+! SFX k 0 lingly [^aeio][aeiou]l 
+! SFX k 0 ingly [aeio][aeiou][cl] 
+! SFX k 0 ingly [^aeiou][cl] 
+! SFX k 0 ingly [^ecl] 
+  SFX D Y 25
+! SFX D 0 d [^e]e 
+! SFX D e d ee 
+! SFX D 0 bed [^aeio][aeiou]b 
+! SFX D 0 ked [^aeio][aeiou]c 
+! SFX D 0 ded [^aeio][aeiou]d 
+! SFX D 0 fed [^aeio][aeiou]f 
+! SFX D 0 ged [^aeio][aeiou]g 
+! SFX D 0 ked [^aeio][aeiou]k 
+! SFX D 0 led [^aeio][eiou]l 
+! SFX D 0 ed [aeio][eiou]l 
+! SFX D 0 led [^aeo]al 
+! SFX D 0 ed [aeo]al 
+! SFX D 0 med [^aeio][aeiou]m 
+! SFX D 0 ned [^aeio][aeiou]n 
+! SFX D 0 ped [^aeio][aeiou]p 
+! SFX D 0 red [^aeio][aeiou]r 
+! SFX D 0 sed [^aeio][aeiou]s 
+! SFX D 0 ted [^aeio][aeiou]t 
+! SFX D 0 ved [^aeio][aeiou]v 
+! SFX D 0 zed [^aeio][aeiou]z 
+! SFX D y ied [^aeiou]y 
+! SFX D 0 ed [aeiou]y 
+! SFX D 0 ed [aeio][aeiou][bcdfgkmnprstvz] 
+! SFX D 0 ed [^aeiou][bcdfgklmnprstvz] 
+! SFX D 0 ed [^ebcdfgklmnprstvyz] 
+  SFX d Y 16
+! SFX d 0 d e 
+! SFX d 0 ked [^aeio][aeiou]c 
+! SFX d 0 led [^aeio][aeiou]l 
+! SFX d y ied [^aeiou]y 
+! SFX d 0 ed [aeiou]y 
+! SFX d 0 ed [aeio][aeiou][cl] 
+! SFX d 0 ed [^aeiou][cl] 
+! SFX d 0 ed [^ecly] 
+! SFX d e ing [^eioy]e 
+! SFX d 0 ing [eoy]e 
+! SFX d ie ying ie 
+! SFX d 0 king [^aeio][aeiou]c 
+! SFX d 0 ling [^aeio][aeiou]l 
+! SFX d 0 ing [aeio][aeiou][cl] 
+! SFX d 0 ing [^aeiou][cl] 
+! SFX d 0 ing [^ecl] 
+  SFX h Y 22
+! SFX h 0 dly e 
+! SFX h 0 bedly [^aeio][aeiou]b 
+! SFX h 0 kedly [^aeio][aeiou]c 
+! SFX h 0 dedly [^aeio][aeiou]d 
+! SFX h 0 fedly [^aeio][aeiou]f 
+! SFX h 0 gedly [^aeio][aeiou]g 
+! SFX h 0 kedly [^aeio][aeiou]k 
+! SFX h 0 ledly [^aeio][aeiou]l 
+! SFX h 0 medly [^aeio][aeiou]m 
+! SFX h 0 nedly [^aeio][aiou]n 
+! SFX h 0 pedly [^aeio][aeiou]p 
+! SFX h 0 redly [^aeio][aiou]r 
+! SFX h 0 sedly [^aeio][aeiou]s 
+! SFX h 0 tedly [^aeio][aiou]t 
+! SFX h 0 vedly [^aeio][aeiou]v 
+! SFX h 0 zedly [^aeio][aeiou]z 
+! SFX h 0 edly [^aeio]e[nrt] 
+! SFX h y iedly [^aeiou]y 
+! SFX h 0 edly [aeiou]y 
+! SFX h 0 edly [aeio][aeiou][bcdfgklmnprstvz] 
+! SFX h 0 edly [^aeiou][bcdfgklmnprstvz] 
+! SFX h 0 edly [^ebcdfgklmnprstvyz] 
+  SFX i Y 22
+! SFX i 0 dness e 
+! SFX i 0 bedness [^aeio][aeiou]b 
+! SFX i 0 kedness [^aeio][aeiou]c 
+! SFX i 0 dedness [^aeio][aeiou]d 
+! SFX i 0 fedness [^aeio][aeiou]f 
+! SFX i 0 gedness [^aeio][aeiou]g 
+! SFX i 0 kedness [^aeio][aeiou]k 
+! SFX i 0 ledness [^aeio][aeiou]l 
+! SFX i 0 medness [^aeio][aeiou]m 
+! SFX i 0 nedness [^aeio][aiou]n 
+! SFX i 0 pedness [^aeio][aeiou]p 
+! SFX i 0 redness [^aeio][aiou]r 
+! SFX i 0 sedness [^aeio][aeiou]s 
+! SFX i 0 tedness [^aeio][aiou]t 
+! SFX i 0 vedness [^aeio][aeiou]v 
+! SFX i 0 zedness [^aeio][aeiou]z 
+! SFX i 0 edness [^aeio]e[nrt] 
+! SFX i y iedness [^aeiou]y 
+! SFX i 0 edness [aeiou]y 
+! SFX i 0 edness [aeio][aeiou][bcdfgklmnprstvz] 
+! SFX i 0 edness [^aeiou][bcdfgklmnprstvz] 
+! SFX i 0 edness [^ebcdfgklmnprstvyz] 
+  SFX T Y 42
+! SFX T 0 r e 
+  SFX T 0 st e
+! SFX T 0 ber [^aeio][aeiou]b 
+  SFX T 0 best [^aeio][aeiou]b
+! SFX T 0 ker [^aeio][aeiou]c 
+  SFX T 0 kest [^aeio][aeiou]c
+! SFX T 0 der [^aeio][aeiou]d 
+  SFX T 0 dest [^aeio][aeiou]d
+! SFX T 0 fer [^aeio][aeiou]f 
+  SFX T 0 fest [^aeio][aeiou]f
+! SFX T 0 ger [^aeio][aeiou]g 
+  SFX T 0 gest [^aeio][aeiou]g
+! SFX T 0 ker [^aeio][aeiou]k 
+  SFX T 0 kest [^aeio][aeiou]k
+! SFX T 0 ler [^aeio][aeiou]l 
+  SFX T 0 lest [^aeio][aeiou]l
+! SFX T 0 mer [^aeio][aeiou]m 
+  SFX T 0 mest [^aeio][aeiou]m
+! SFX T 0 ner [^aeio][aeiou]n 
+  SFX T 0 nest [^aeio][aeiou]n
+! SFX T 0 per [^aeio][aeiou]p 
+  SFX T 0 pest [^aeio][aeiou]p
+! SFX T 0 rer [^aeio][aeiou]r 
+  SFX T 0 rest [^aeio][aeiou]r
+! SFX T 0 ser [^aeio][aeiou]s 
+  SFX T 0 sest [^aeio][aeiou]s
+! SFX T 0 ter [^aeio][aeiou]t 
+  SFX T 0 test [^aeio][aeiou]t
+! SFX T 0 ver [^aeio][aeiou]v 
+  SFX T 0 vest [^aeio][aeiou]v
+! SFX T 0 zer [^aeio][aeiou]z 
+  SFX T 0 zest [^aeio][aeiou]z
+! SFX T y ier [^aeiou]y 
+  SFX T y iest [^aeiou]y
+! SFX T 0 er [aeiou]y 
+  SFX T 0 est [aeiou]y
+--- 62,456 ----
+  PFX F 0 col l
+! PFX F 0 con [^abehilmopru].
+  PFX K Y 1
+! PFX K 0 pre .
+  PFX e Y 1
+! PFX e 0 out .
+  PFX f Y 2
+! PFX f 0 under [^r]
+! PFX f 0 under- r
+  PFX O Y 1
+! PFX O 0 non- .
+  PFX 4 Y 1
+! PFX 4 0 trans .
+  SFX V Y 15
+! SFX V 0 tive [aio]
+! SFX V b ptive b
+! SFX V d sive d
+! SFX V be ptive be
+! SFX V e tive ce
+! SFX V de sive de
+! SFX V ke cative ke
+! SFX V e ptive me
+! SFX V e ive [st]e
+! SFX V e ative [^bcdkmst]e
+! SFX V 0 lative [aeiou]l
+! SFX V 0 ative [^aeiou]l
+! SFX V 0 ive [st]
+! SFX V y icative y
+! SFX V 0 ative [^abdeilosty]
+  SFX v Y 15
+! SFX v 0 tively [aio]
+! SFX v b ptively b
+! SFX v d sively d
+! SFX v be ptively be
+! SFX v e tively ce
+! SFX v de sively de
+! SFX v ke catively ke
+! SFX v e ptively me
+! SFX v e ively [st]e
+! SFX v e atively [^bcdkmst]e
+! SFX v 0 latively [aeiou]l
+! SFX v 0 atively [^aeiou]l
+! SFX v 0 ively [st]
+! SFX v y icatively y
+! SFX v 0 atively [^abdeilosty]
+  SFX u Y 15
+! SFX u 0 tiveness [aio]
+! SFX u b ptiveness b
+! SFX u d siveness d
+! SFX u be ptiveness be
+! SFX u e tiveness ce
+! SFX u de siveness de
+! SFX u ke cativeness ke
+! SFX u e ptiveness me
+! SFX u e iveness [st]e
+! SFX u e ativeness [^bcdkmst]e
+! SFX u 0 lativeness [aeiou]l
+! SFX u 0 ativeness [^aeiou]l
+! SFX u 0 iveness [st]
+! SFX u y icativeness y
+! SFX u 0 ativeness [^abdeilosty]
+  SFX N Y 26
+! SFX N b ption b
+! SFX N d sion d
+! SFX N be ption be
+! SFX N e tion ce
+! SFX N de sion de
+! SFX N ke cation ke
+! SFX N e ption ume
+! SFX N e mation [^u]me
+! SFX N e ion [^o]se
+! SFX N e ition ose
+! SFX N e ation [iou]te
+! SFX N e ion [^iou]te
+! SFX N e ation [^bcdkmst]e
+! SFX N el ulsion el
+! SFX N 0 lation [aiou]l
+! SFX N 0 ation [^aeiou]l
+! SFX N 0 mation [aeiou]m
+! SFX N 0 ation [^aeiou]m
+! SFX N er ration er
+! SFX N 0 ation [^e]r
+! SFX N 0 ion [sx]
+! SFX N t ssion mit
+! SFX N 0 ion [^m]it
+! SFX N 0 ation [^i]t
+! SFX N y ication y
+! SFX N 0 ation [^bdelmrstxy]
+  SFX n Y 28
+! SFX n 0 tion a
+! SFX n e tion ce
+! SFX n ke cation ke
+! SFX n e ation [iou]te
+! SFX n e ion [^iou]te
+! SFX n e ation [^ckt]e
+! SFX n el ulsion el
+! SFX n 0 lation [aiou]l
+! SFX n 0 ation [^aeiou]l
+! SFX n er ration er
+! SFX n 0 ation [^e]r
+! SFX n y ation py
+! SFX n y ication [^p]y
+! SFX n 0 ation [^aelry]
+! SFX n 0 tions a
+! SFX n e tions ce
+! SFX n ke cations ke
+! SFX n e ations [iou]te
+! SFX n e ions [^iou]te
+! SFX n e ations [^ckt]e
+! SFX n el ulsions el
+! SFX n 0 lations [aiou]l
+! SFX n 0 ations [^aeiou]l
+! SFX n er rations er
+! SFX n 0 ations [^e]r
+! SFX n y ations py
+! SFX n y ications [^p]y
+! SFX n 0 ations [^aelry]
+  SFX X Y 26
+! SFX X b ptions b
+! SFX X d sions d
+! SFX X be ptions be
+! SFX X e tions ce
+! SFX X ke cations ke
+! SFX X de sions de
+! SFX X e ptions ume
+! SFX X e mations [^u]me
+! SFX X e ions [^o]se
+! SFX X e itions ose
+! SFX X e ations [iou]te
+! SFX X e ions [^iou]te
+! SFX X e ations [^bcdkmst]e
+! SFX X el ulsions el
+! SFX X 0 lations [aiou]l
+! SFX X 0 ations [^aeiou]l
+! SFX X 0 mations [aeiou]m
+! SFX X 0 ations [^aeiou]m
+! SFX X er rations er
+! SFX X 0 ations [^e]r
+! SFX X 0 ions [sx]
+! SFX X t ssions mit
+! SFX X 0 ions [^m]it
+! SFX X 0 ations [^i]t
+! SFX X y ications y
+! SFX X 0 ations [^bdelmrstxy]
+  SFX x Y 40
+! SFX x b ptional b
+! SFX x d sional d
+! SFX x be ptional be
+! SFX x e tional ce
+! SFX x ke cational ke
+! SFX x de sional de
+! SFX x e ional [^o]se
+! SFX x e itional ose
+! SFX x e ional te
+! SFX x e ational [^bcdkst]e
+! SFX x el ulsional el
+! SFX x 0 lational [aiou]l
+! SFX x 0 ational [^aeiou]l
+! SFX x er rational er
+! SFX x 0 ational [^e]r
+! SFX x 0 ional [sx]
+! SFX x 0 ional [^n]t
+! SFX x 0 ational nt
+! SFX x y icational y
+! SFX x 0 ational [^bdelrstxy]
+! SFX x b ptionally b
+! SFX x d sionally d
+! SFX x be ptionally be
+! SFX x e tionally ce
+! SFX x ke cationally ke
+! SFX x de sionally de
+! SFX x e ionally [^o]se
+! SFX x e itionally ose
+! SFX x e ionally te
+! SFX x e ationally [^bcdkst]e
+! SFX x el ulsionally el
+! SFX x 0 lationally [aiou]l
+! SFX x 0 ationally [^aeiou]l
+! SFX x er rationally er
+! SFX x 0 ationally [^e]r
+! SFX x 0 ionally [sx]
+! SFX x 0 ionally [^n]t
+! SFX x 0 ationally nt
+! SFX x y icationally y
+! SFX x 0 ationally [^bdelrstxy]
+  SFX H N 13
+! SFX H y ieth y
+! SFX H ree ird ree
+! SFX H ve fth ve
+! SFX H e th [^ev]e
+! SFX H 0 h t
+! SFX H 0 th [^ety]
+! SFX H y ieths y
+! SFX H ree irds ree
+! SFX H ve fths ve
+! SFX H e ths [^ev]e
+! SFX H 0 hs t
+! SFX H 0 ths [^ety]
+! SFX H 0 fold .
+  SFX Y Y 9
+! SFX Y 0 ally ic
+! SFX Y 0 ly [^i]c
+! SFX Y e y [^aeiou]le
+! SFX Y 0 ly [aeiou]le
+! SFX Y 0 ly [^l]e
+! SFX Y 0 y [^aeiou]l
+! SFX Y y ily [^aeiou]y
+! SFX Y 0 ly [aeiou][ly]
+! SFX Y 0 ly [^cely]
+  SFX G Y 24
+! SFX G e ing [^eioy]e
+! SFX G 0 ing [eoy]e
+! SFX G ie ying ie
+! SFX G 0 bing [^aeio][aeiou]b
+! SFX G 0 king [^aeio][aeiou]c
+! SFX G 0 ding [^aeio][aeiou]d
+! SFX G 0 fing [^aeio][aeiou]f
+! SFX G 0 ging [^aeio][aeiou]g
+! SFX G 0 king [^aeio][aeiou]k
+! SFX G 0 ling [^aeio][eiou]l
+! SFX G 0 ing [aeio][eiou]l
+! SFX G 0 ling [^aeo]al
+! SFX G 0 ing [aeo]al
+! SFX G 0 ming [^aeio][aeiou]m
+! SFX G 0 ning [^aeio][aeiou]n
+! SFX G 0 ping [^aeio][aeiou]p
+! SFX G 0 ring [^aeio][aeiou]r
+! SFX G 0 sing [^aeio][aeiou]s
+! SFX G 0 ting [^aeio][aeiou]t
+! SFX G 0 ving [^aeio][aeiou]v
+! SFX G 0 zing [^aeio][aeiou]z
+! SFX G 0 ing [aeio][aeiou][bcdfgkmnprstvz]
+! SFX G 0 ing [^aeiou][bcdfgklmnprstvz]
+! SFX G 0 ing [^ebcdfgklmnprstvz]
+  SFX J Y 25
+! SFX J e ings [^eioy]e
+! SFX J 0 ings [eoy]e
+! SFX J ie yings ie
+! SFX J 0 bings [^aeio][aeiou]b
+! SFX J 0 king [^aeio][aeiou]c
+! SFX J 0 dings [^aeio][aeiou]d
+! SFX J 0 fings [^aeio][aeiou]f
+! SFX J 0 gings [^aeio][aeiou]g
+! SFX J 0 kings [^aeio][aeiou]k
+! SFX J 0 lings [^aeio][eiou]l
+! SFX J 0 ings [aeio][eiou]l
+! SFX J 0 lings [^aeo]al
+! SFX J 0 ings [aeo]al
+! SFX J 0 mings [^aeio][aeiou]m
+! SFX J 0 nings [^aeio][aiou]n
+! SFX J 0 pings [^aeio][aeiou]p
+! SFX J 0 rings [^aeio][aiou]r
+! SFX J 0 sings [^aeio][aeiou]s
+! SFX J 0 tings [^aeio][aiou]t
+! SFX J 0 vings [^aeio][aeiou]v
+! SFX J 0 zings [^aeio][aeiou]z
+! SFX J 0 ings [^aeio]e[nrt]
+! SFX J 0 ings [aeio][aeiou][bcdfgkmnprstvz]
+! SFX J 0 ings [^aeiou][bcdfgklmnprstvz]
+! SFX J 0 ings [^ebcdfgklmnprstvz]
+  SFX k Y 8
+! SFX k e ingly [^eioy]e
+! SFX k 0 ingly [eoy]e
+! SFX k ie yingly ie
+! SFX k 0 kingly [^aeio][aeiou]c
+! SFX k 0 lingly [^aeio][aeiou]l
+! SFX k 0 ingly [aeio][aeiou][cl]
+! SFX k 0 ingly [^aeiou][cl]
+! SFX k 0 ingly [^ecl]
+  SFX D Y 25
+! SFX D 0 d [^e]e
+! SFX D e d ee
+! SFX D 0 bed [^aeio][aeiou]b
+! SFX D 0 ked [^aeio][aeiou]c
+! SFX D 0 ded [^aeio][aeiou]d
+! SFX D 0 fed [^aeio][aeiou]f
+! SFX D 0 ged [^aeio][aeiou]g
+! SFX D 0 ked [^aeio][aeiou]k
+! SFX D 0 led [^aeio][eiou]l
+! SFX D 0 ed [aeio][eiou]l
+! SFX D 0 led [^aeo]al
+! SFX D 0 ed [aeo]al
+! SFX D 0 med [^aeio][aeiou]m
+! SFX D 0 ned [^aeio][aeiou]n
+! SFX D 0 ped [^aeio][aeiou]p
+! SFX D 0 red [^aeio][aeiou]r
+! SFX D 0 sed [^aeio][aeiou]s
+! SFX D 0 ted [^aeio][aeiou]t
+! SFX D 0 ved [^aeio][aeiou]v
+! SFX D 0 zed [^aeio][aeiou]z
+! SFX D y ied [^aeiou]y
+! SFX D 0 ed [aeiou]y
+! SFX D 0 ed [aeio][aeiou][bcdfgkmnprstvz]
+! SFX D 0 ed [^aeiou][bcdfgklmnprstvz]
+! SFX D 0 ed [^ebcdfgklmnprstvyz]
+  SFX d Y 16
+! SFX d 0 d e
+! SFX d 0 ked [^aeio][aeiou]c
+! SFX d 0 led [^aeio][aeiou]l
+! SFX d y ied [^aeiou]y
+! SFX d 0 ed [aeiou]y
+! SFX d 0 ed [aeio][aeiou][cl]
+! SFX d 0 ed [^aeiou][cl]
+! SFX d 0 ed [^ecly]
+! SFX d e ing [^eioy]e
+! SFX d 0 ing [eoy]e
+! SFX d ie ying ie
+! SFX d 0 king [^aeio][aeiou]c
+! SFX d 0 ling [^aeio][aeiou]l
+! SFX d 0 ing [aeio][aeiou][cl]
+! SFX d 0 ing [^aeiou][cl]
+! SFX d 0 ing [^ecl]
+  SFX h Y 22
+! SFX h 0 dly e
+! SFX h 0 bedly [^aeio][aeiou]b
+! SFX h 0 kedly [^aeio][aeiou]c
+! SFX h 0 dedly [^aeio][aeiou]d
+! SFX h 0 fedly [^aeio][aeiou]f
+! SFX h 0 gedly [^aeio][aeiou]g
+! SFX h 0 kedly [^aeio][aeiou]k
+! SFX h 0 ledly [^aeio][aeiou]l
+! SFX h 0 medly [^aeio][aeiou]m
+! SFX h 0 nedly [^aeio][aiou]n
+! SFX h 0 pedly [^aeio][aeiou]p
+! SFX h 0 redly [^aeio][aiou]r
+! SFX h 0 sedly [^aeio][aeiou]s
+! SFX h 0 tedly [^aeio][aiou]t
+! SFX h 0 vedly [^aeio][aeiou]v
+! SFX h 0 zedly [^aeio][aeiou]z
+! SFX h 0 edly [^aeio]e[nrt]
+! SFX h y iedly [^aeiou]y
+! SFX h 0 edly [aeiou]y
+! SFX h 0 edly [aeio][aeiou][bcdfgklmnprstvz]
+! SFX h 0 edly [^aeiou][bcdfgklmnprstvz]
+! SFX h 0 edly [^ebcdfgklmnprstvyz]
+  SFX i Y 22
+! SFX i 0 dness e
+! SFX i 0 bedness [^aeio][aeiou]b
+! SFX i 0 kedness [^aeio][aeiou]c
+! SFX i 0 dedness [^aeio][aeiou]d
+! SFX i 0 fedness [^aeio][aeiou]f
+! SFX i 0 gedness [^aeio][aeiou]g
+! SFX i 0 kedness [^aeio][aeiou]k
+! SFX i 0 ledness [^aeio][aeiou]l
+! SFX i 0 medness [^aeio][aeiou]m
+! SFX i 0 nedness [^aeio][aiou]n
+! SFX i 0 pedness [^aeio][aeiou]p
+! SFX i 0 redness [^aeio][aiou]r
+! SFX i 0 sedness [^aeio][aeiou]s
+! SFX i 0 tedness [^aeio][aiou]t
+! SFX i 0 vedness [^aeio][aeiou]v
+! SFX i 0 zedness [^aeio][aeiou]z
+! SFX i 0 edness [^aeio]e[nrt]
+! SFX i y iedness [^aeiou]y
+! SFX i 0 edness [aeiou]y
+! SFX i 0 edness [aeio][aeiou][bcdfgklmnprstvz]
+! SFX i 0 edness [^aeiou][bcdfgklmnprstvz]
+! SFX i 0 edness [^ebcdfgklmnprstvyz]
+  SFX T Y 42
+! SFX T 0 r e
+  SFX T 0 st e
+! SFX T 0 ber [^aeio][aeiou]b
+  SFX T 0 best [^aeio][aeiou]b
+! SFX T 0 ker [^aeio][aeiou]c
+  SFX T 0 kest [^aeio][aeiou]c
+! SFX T 0 der [^aeio][aeiou]d
+  SFX T 0 dest [^aeio][aeiou]d
+! SFX T 0 fer [^aeio][aeiou]f
+  SFX T 0 fest [^aeio][aeiou]f
+! SFX T 0 ger [^aeio][aeiou]g
+  SFX T 0 gest [^aeio][aeiou]g
+! SFX T 0 ker [^aeio][aeiou]k
+  SFX T 0 kest [^aeio][aeiou]k
+! SFX T 0 ler [^aeio][aeiou]l
+  SFX T 0 lest [^aeio][aeiou]l
+! SFX T 0 mer [^aeio][aeiou]m
+  SFX T 0 mest [^aeio][aeiou]m
+! SFX T 0 ner [^aeio][aeiou]n
+  SFX T 0 nest [^aeio][aeiou]n
+! SFX T 0 per [^aeio][aeiou]p
+  SFX T 0 pest [^aeio][aeiou]p
+! SFX T 0 rer [^aeio][aeiou]r
+  SFX T 0 rest [^aeio][aeiou]r
+! SFX T 0 ser [^aeio][aeiou]s
+  SFX T 0 sest [^aeio][aeiou]s
+! SFX T 0 ter [^aeio][aeiou]t
+  SFX T 0 test [^aeio][aeiou]t
+! SFX T 0 ver [^aeio][aeiou]v
+  SFX T 0 vest [^aeio][aeiou]v
+! SFX T 0 zer [^aeio][aeiou]z
+  SFX T 0 zest [^aeio][aeiou]z
+! SFX T y ier [^aeiou]y
+  SFX T y iest [^aeiou]y
+! SFX T 0 er [aeiou]y
+  SFX T 0 est [aeiou]y
+***************
+*** 458,1143 ****
+  SFX R Y 72
+! SFX R 0 r e 
+! SFX R 0 rs e 
+! SFX R 0 ber [^aeio][aeiou]b 
+! SFX R 0 bers [^aeio][aeiou]b 
+! SFX R 0 ker [^aeio][aeiou]c 
+! SFX R 0 kers [^aeio][aeiou]c 
+! SFX R 0 der [^aeio][aeiou]d 
+! SFX R 0 ders [^aeio][aeiou]d 
+! SFX R 0 fer [^aeio][aeiou]f 
+! SFX R 0 fers [^aeio][aeiou]f 
+! SFX R 0 ger [^aeio][aeiou]g 
+! SFX R 0 gers [^aeio][aeiou]g 
+! SFX R 0 ker [^aeio][aeiou]k 
+! SFX R 0 kers [^aeio][aeiou]k 
+! SFX R 0 ler [^aeio][eiou]l 
+! SFX R 0 er [aeio][eiou]l 
+! SFX R 0 ler [^aeo]al 
+! SFX R 0 er [aeo]al 
+! SFX R 0 lers [^aeio][eiou]l 
+! SFX R 0 ers [aeio][eiou]l 
+! SFX R 0 lers [^aeo]al 
+! SFX R 0 ers [aeo]al 
+! SFX R 0 mer [^aeio][aeiou]m 
+! SFX R 0 mers [^aeio][aeiou]m 
+! SFX R 0 ner [^aeio][aeiou]n 
+! SFX R 0 ners [^aeio][aeiou]n 
+! SFX R 0 per [^aeio][aeiou]p 
+! SFX R 0 pers [^aeio][aeiou]p 
+! SFX R 0 rer [^aeio][aeiou]r 
+! SFX R 0 rers [^aeio][aeiou]r 
+! SFX R 0 ser [^aeio][aeiou]s 
+! SFX R 0 sers [^aeio][aeiou]s 
+! SFX R 0 ter [^aeio][aeiou]t 
+! SFX R 0 ters [^aeio][aeiou]t 
+! SFX R 0 ver [^aeio][aeiou]v 
+! SFX R 0 vers [^aeio][aeiou]v 
+! SFX R 0 zer [^aeio][aeiou]z 
+! SFX R 0 zers [^aeio][aeiou]z 
+! SFX R y ier [^aeiou]y 
+! SFX R y iers [^aeiou]y 
+! SFX R 0 er [aeiou]y 
+! SFX R 0 ers [aeiou]y 
+! SFX R 0 er [aeio][aeiou][bcdfgkmnprstvz] 
+! SFX R 0 ers [aeio][aeiou][bcdfgkmnprstvz] 
+! SFX R 0 er [^aeiou][bcdfgklmnprstvz] 
+! SFX R 0 ers [^aeiou][bcdfgklmnprstvz] 
+! SFX R 0 er [^ebcdfgklmnprstvyz] 
+! SFX R 0 ers [^ebcdfgklmnprstvyz] 
+! SFX R 0 r's e 
+! SFX R 0 ber's [^aeio][aeiou]b 
+! SFX R 0 ker's [^aeio][aeiou]c 
+! SFX R 0 der's [^aeio][aeiou]d 
+! SFX R 0 fer's [^aeio][aeiou]f 
+! SFX R 0 ger's [^aeio][aeiou]g 
+! SFX R 0 ker's [^aeio][aeiou]k 
+! SFX R 0 ler's [^aeio][eiou]l 
+! SFX R 0 er's [aeio][eiou]l 
+! SFX R 0 ler's [^aeo]al 
+! SFX R 0 er's [aeo]al 
+! SFX R 0 mer's [^aeio][aeiou]m 
+! SFX R 0 ner's [^aeio][aeiou]n 
+! SFX R 0 per's [^aeio][aeiou]p 
+! SFX R 0 rer's [^aeio][aeiou]r 
+! SFX R 0 ser's [^aeio][aeiou]s 
+! SFX R 0 ter's [^aeio][aeiou]t 
+! SFX R 0 ver's [^aeio][aeiou]v 
+! SFX R 0 zer's [^aeio][aeiou]z 
+! SFX R y ier's [^aeiou]y 
+! SFX R 0 er's [aeiou]y 
+! SFX R 0 er's [aeio][aeiou][bcdfgkmnprstvz] 
+! SFX R 0 er's [^aeiou][bcdfgklmnprstvz] 
+! SFX R 0 er's [^ebcdfgklmnprstvyz] 
+  SFX r Y 24
+! SFX r 0 r e 
+! SFX r 0 ler [^aeio][aeiou]l 
+! SFX r 0 ker [^aeio][aeiou]c 
+! SFX r y ier [^aeiou]y 
+! SFX r 0 er [aeiou]y 
+! SFX r 0 er [aeio][aeiou][cl] 
+! SFX r 0 er [^aeiou][cl] 
+! SFX r 0 er [^ecly] 
+! SFX r 0 rs e 
+! SFX r 0 lers [^aeio][aeiou]l 
+! SFX r 0 kers [^aeio][aeiou]c 
+! SFX r y iers [^aeiou]y 
+! SFX r 0 ers [aeiou]y 
+! SFX r 0 ers [aeio][aeiou][cl] 
+! SFX r 0 ers [^aeiou][cl] 
+! SFX r 0 ers [^ecly] 
+! SFX r 0 r's e 
+! SFX r 0 ler's [^aeio][aeiou]l 
+! SFX r 0 ker's [^aeio][aeiou]c 
+! SFX r y ier's [^aeiou]y 
+! SFX r 0 er's [aeiou]y 
+! SFX r 0 er's [aeio][aeiou][cl] 
+! SFX r 0 er's [^aeiou][cl] 
+! SFX r 0 er's [^ecly] 
+  SFX S Y 9
+! SFX S y ies [^aeiou]y 
+! SFX S 0 s [aeiou]y 
+! SFX S 0 es [sxz] 
+! SFX S 0 es [cs]h 
+! SFX S 0 s [^cs]h 
+! SFX S 0 s [ae]u 
+! SFX S 0 x [ae]u 
+! SFX S 0 s [^ae]u 
+  SFX S 0 s [^hsuxyz]
+  SFX P Y 6
+! SFX P y iness [^aeiou]y 
+! SFX P 0 ness [aeiou]y 
+! SFX P 0 ness [^y] 
+! SFX P y iness's [^aeiou]y 
+! SFX P 0 ness's [aeiou]y 
+! SFX P 0 ness's [^y] 
+  SFX m Y 20
+! SFX m 0 sman [bdknmt] 
+! SFX m 0 sman [aeiou][bdklmnt]e 
+! SFX m 0 man [^aeiou][bdklmnt]e 
+! SFX m 0 man [^bdklmnt]e 
+! SFX m 0 man [^bdeknmt] 
+! SFX m 0 smen [bdknmt] 
+! SFX m 0 smen [aeiou][bdklmnt]e 
+! SFX m 0 men [^aeiou][bdklmnt]e 
+! SFX m 0 men [^bdklmnt]e 
+! SFX m 0 men [^bdeknmt] 
+! SFX m 0 sman's [bdknmt] 
+! SFX m 0 sman's [aeiou][bdklmnt]e 
+! SFX m 0 man's [^aeiou][bdklmnt]e 
+! SFX m 0 man's [^bdklmnt]e 
+! SFX m 0 man's [^bdeknmt] 
+! SFX m 0 smen's [bdknmt] 
+! SFX m 0 smen's [aeiou][bdklmnt]e 
+! SFX m 0 men's [^aeiou][bdklmnt]e 
+! SFX m 0 men's [^bdklmnt]e 
+! SFX m 0 men's [^bdeknmt] 
+  SFX 5 Y 15
+! SFX 5 0 swoman [bdknmt] 
+! SFX 5 0 swoman [aeiou][bdklmnt]e 
+! SFX 5 0 woman [^aeiou][bdklmnt]e 
+! SFX 5 0 woman [^bdklmnt]e 
+! SFX 5 0 woman [^bdeknmt] 
+! SFX 5 0 swomen [bdknmt] 
+! SFX 5 0 swomen [aeiou][bdklmnt]e 
+! SFX 5 0 women [^aeiou][bdklmnt]e 
+! SFX 5 0 women [^bdklmnt]e 
+! SFX 5 0 women [^bdeknmt] 
+! SFX 5 0 swoman's [bdknmt] 
+! SFX 5 0 swoman's [aeiou][bdklmnt]e 
+! SFX 5 0 woman's [^aeiou][bdklmnt]e 
+! SFX 5 0 woman's [^bdklmnt]e 
+! SFX 5 0 woman's [^bdeknmt] 
+  SFX 6 Y 3
+! SFX 6 y iful [^aeiou]y 
+! SFX 6 0 ful [aeiou]y 
+! SFX 6 0 ful [^y] 
+  SFX j Y 3
+! SFX j y ifully [^aeiou]y 
+! SFX j 0 fully [aeiou]y 
+! SFX j 0 fully [^y] 
+  SFX p Y 5
+! SFX p y iless [^aeiou]y 
+! SFX p 0 less [aeiou]y 
+! SFX p 0 ess ll 
+! SFX p 0 less [^l]l 
+! SFX p 0 less [^ly] 
+  SFX Q Y 88
+! SFX Q 0 tise a 
+! SFX Q e ise [^l]e 
+! SFX Q le ilise [^aeiou]le 
+! SFX Q e ise [aeiou]le 
+! SFX Q um ise um 
+! SFX Q 0 ise [^u]m 
+! SFX Q s se is 
+! SFX Q 0 ise [^i]s 
+! SFX Q y ise [^aeiou]y 
+! SFX Q 0 ise [aeiou]y 
+! SFX Q 0 ise [^aemsy] 
+! SFX Q 0 tises a 
+! SFX Q e ises [^l]e 
+! SFX Q le ilises [^aeiou]le 
+! SFX Q e ises [aeiou]le 
+! SFX Q um ises um 
+! SFX Q 0 ises [^u]m 
+! SFX Q s ses is 
+! SFX Q 0 ises [^i]s 
+! SFX Q y ises [^aeiou]y 
+! SFX Q 0 ises [aeiou]y 
+! SFX Q 0 ises [^aemsy] 
+! SFX Q 0 tised a 
+! SFX Q e ised [^l]e 
+! SFX Q le ilised [^aeiou]le 
+! SFX Q e ised [aeiou]le 
+! SFX Q um ised um 
+! SFX Q 0 ised [^u]m 
+! SFX Q s sed is 
+! SFX Q 0 ised [^i]s 
+! SFX Q y ised [^aeiou]y 
+! SFX Q 0 ised [aeiou]y 
+! SFX Q 0 ised [^aemsy] 
+! SFX Q 0 tising a 
+! SFX Q e ising [^l]e 
+! SFX Q le ilising [^aeiou]le 
+! SFX Q e ising [aeiou]le 
+! SFX Q um ising um 
+! SFX Q 0 ising [^u]m 
+! SFX Q s sing is 
+! SFX Q 0 ising [^i]s 
+! SFX Q y ising [^aeiou]y 
+! SFX Q 0 ising [aeiou]y 
+! SFX Q 0 ising [^aemsy] 
+! SFX Q 0 tize a 
+! SFX Q e ize [^l]e 
+! SFX Q le ilize [^aeiou]le 
+! SFX Q e ize [aeiou]le 
+! SFX Q um ize um 
+! SFX Q 0 ize [^u]m 
+! SFX Q s ze is 
+! SFX Q 0 ize [^i]s 
+! SFX Q y ize [^aeiou]y 
+! SFX Q 0 ize [aeiou]y 
+! SFX Q 0 ize [^aemsy] 
+! SFX Q 0 tizes a 
+! SFX Q e izes [^l]e 
+! SFX Q le ilizes [^aeiou]le 
+! SFX Q e izes [aeiou]le 
+! SFX Q um izes um 
+! SFX Q 0 izes [^u]m 
+! SFX Q s zes is 
+! SFX Q 0 izes [^i]s 
+! SFX Q y izes [^aeiou]y 
+! SFX Q 0 izes [aeiou]y 
+! SFX Q 0 izes [^aemsy] 
+! SFX Q 0 tized a 
+! SFX Q e ized [^l]e 
+! SFX Q le ilized [^aeiou]le 
+! SFX Q e ized [aeiou]le 
+! SFX Q um ized um 
+! SFX Q 0 ized [^u]m 
+! SFX Q s zed is 
+! SFX Q 0 ized [^i]s 
+! SFX Q y ized [^aeiou]y 
+! SFX Q 0 ized [aeiou]y 
+! SFX Q 0 ized [^aemsy] 
+! SFX Q 0 tizing a 
+! SFX Q e izing [^l]e 
+! SFX Q le ilizing [^aeiou]le 
+! SFX Q e izing [aeiou]le 
+! SFX Q um izing um 
+! SFX Q 0 izing [^u]m 
+! SFX Q s zing is 
+! SFX Q 0 izing [^i]s 
+! SFX Q y izing [^aeiou]y 
+! SFX Q 0 izing [aeiou]y 
+! SFX Q 0 izing [^aemsy] 
+  SFX q Y 44
+! SFX q 0 tisation a 
+! SFX q e isation [^l]e 
+! SFX q le ilisation [^aeiou]le 
+! SFX q e isation [aeiou]le 
+! SFX q um isation um 
+! SFX q 0 isation [^u]m 
+! SFX q s sation is 
+! SFX q 0 isation [^i]s 
+! SFX q y isation [^aeiou]y 
+! SFX q 0 isation [aeiou]y 
+! SFX q 0 isation [^aemsy] 
+! SFX q 0 tisations a 
+! SFX q e isations [^l]e 
+! SFX q le ilisations [^aeiou]le 
+! SFX q e isations [aeiou]le 
+! SFX q um isations um 
+! SFX q 0 isations [^u]m 
+! SFX q s sations is 
+! SFX q 0 isations [^i]s 
+! SFX q y isations [^aeiou]y 
+! SFX q 0 isations [aeiou]y 
+! SFX q 0 isations [^aemsy] 
+! SFX q 0 tization a 
+! SFX q e ization [^l]e 
+! SFX q le ilization [^aeiou]le 
+! SFX q e ization [aeiou]le 
+! SFX q um ization um 
+! SFX q 0 ization [^u]m 
+! SFX q s zation is 
+! SFX q 0 ization [^i]s 
+! SFX q y ization [^aeiou]y 
+! SFX q 0 ization [aeiou]y 
+! SFX q 0 ization [^aemsy] 
+! SFX q 0 tizations a 
+! SFX q e izations [^l]e 
+! SFX q le ilizations [^aeiou]le 
+! SFX q e izations [aeiou]le 
+! SFX q um izations um 
+! SFX q 0 izations [^u]m 
+! SFX q s zations is 
+! SFX q 0 izations [^i]s 
+! SFX q y izations [^aeiou]y 
+! SFX q 0 izations [aeiou]y 
+! SFX q 0 izations [^aemsy] 
+  SFX s Y 66
+! SFX s 0 tiser a 
+! SFX s e iser [^l]e 
+! SFX s le iliser [^aeiou]le 
+! SFX s e iser [aeiou]le 
+! SFX s um iser um 
+! SFX s 0 iser [^u]m 
+! SFX s s ser is 
+! SFX s 0 iser [^i]s 
+! SFX s y iser [^aeiou]y 
+! SFX s 0 iser [aeiou]y 
+! SFX s 0 iser [^aemsy] 
+! SFX s 0 tisers a 
+! SFX s e isers [^l]e 
+! SFX s le ilisers [^aeiou]le 
+! SFX s e isers [aeiou]le 
+! SFX s um isers um 
+! SFX s 0 isers [^u]m 
+! SFX s s sers is 
+! SFX s 0 isers [^i]s 
+! SFX s y isers [^aeiou]y 
+! SFX s 0 isers [aeiou]y 
+! SFX s 0 isers [^aemsy] 
+! SFX s 0 tiser's a 
+! SFX s e iser's [^l]e 
+! SFX s le iliser's [^aeiou]le 
+! SFX s e iser's [aeiou]le 
+! SFX s um iser's um 
+! SFX s 0 iser's [^u]m 
+! SFX s s ser's is 
+! SFX s 0 iser's [^i]s 
+! SFX s y iser's [^aeiou]y 
+! SFX s 0 iser's [aeiou]y 
+! SFX s 0 iser's [^aemsy] 
+! SFX s 0 tizer a 
+! SFX s e izer [^l]e 
+! SFX s le ilizer [^aeiou]le 
+! SFX s e izer [aeiou]le 
+! SFX s um izer um 
+! SFX s 0 izer [^u]m 
+! SFX s s zer is 
+! SFX s 0 izer [^i]s 
+! SFX s y izer [^aeiou]y 
+! SFX s 0 izer [aeiou]y 
+! SFX s 0 izer [^aemsy] 
+! SFX s 0 tizers a 
+! SFX s e izers [^l]e 
+! SFX s le ilizers [^aeiou]le 
+! SFX s e izers [aeiou]le 
+! SFX s um izers um 
+! SFX s 0 izers [^u]m 
+! SFX s s zers is 
+! SFX s 0 izers [^i]s 
+! SFX s y izers [^aeiou]y 
+! SFX s 0 izers [aeiou]y 
+! SFX s 0 izers [^aemsy] 
+! SFX s 0 tizer's a 
+! SFX s e izer's [^l]e 
+! SFX s le ilizer's [^aeiou]le 
+! SFX s e izer's [aeiou]le 
+! SFX s um izer's um 
+! SFX s 0 izer's [^u]m 
+! SFX s s zer's is 
+! SFX s 0 izer's [^i]s 
+! SFX s y izer's [^aeiou]y 
+! SFX s 0 izer's [aeiou]y 
+! SFX s 0 izer's [^aemsy] 
+  SFX t Y 44
+! SFX t 0 tisable a 
+! SFX t e isable [^l]e 
+! SFX t le ilisable [^aeiou]le 
+! SFX t e isable [aeiou]le 
+! SFX t um isable um 
+! SFX t 0 isable [^u]m 
+! SFX t s sable is 
+! SFX t 0 isable [^i]s 
+! SFX t y isable [^aeiou]y 
+! SFX t 0 isable [aeiou]y 
+! SFX t 0 isable [^aemsy] 
+! SFX t 0 tizable a 
+! SFX t e izable [^l]e 
+! SFX t le ilizable [^aeiou]le 
+! SFX t e izable [aeiou]le 
+! SFX t um izable um 
+! SFX t 0 izable [^u]m 
+! SFX t s zable is 
+! SFX t 0 izable [^i]s 
+! SFX t y izable [^aeiou]y 
+! SFX t 0 izable [aeiou]y 
+! SFX t 0 izable [^aemsy] 
+! SFX t 0 tisability a 
+! SFX t e isability [^l]e 
+! SFX t le ilisability [^aeiou]le 
+! SFX t e isability [aeiou]le 
+! SFX t um isability um 
+! SFX t 0 isability [^u]m 
+! SFX t s sability is 
+! SFX t 0 isability [^i]s 
+! SFX t y isability [^aeiou]y 
+! SFX t 0 isability [aeiou]y 
+! SFX t 0 isability [^aemsy] 
+! SFX t 0 tizability a 
+! SFX t e izability [^l]e 
+! SFX t le ilizability [^aeiou]le 
+! SFX t e izability [aeiou]le 
+! SFX t um izability um 
+! SFX t 0 izability [^u]m 
+! SFX t s zability is 
+! SFX t 0 izability [^i]s 
+! SFX t y izability [^aeiou]y 
+! SFX t 0 izability [aeiou]y 
+! SFX t 0 izability [^aemsy] 
+  SFX M Y 1
+! SFX M 0 's . 
+  SFX B Y 48
+! SFX B e able [^acegilotu]e 
+! SFX B 0 able [acegilou]e 
+! SFX B te ble ate 
+! SFX B e able [^a]te 
+! SFX B 0 bable [^aeio][aeiou]b 
+! SFX B 0 kable [^aeio][aeiou]c 
+! SFX B 0 dable [^aeio][aeiou]d 
+! SFX B 0 fable [^aeio][aeiou]f 
+! SFX B 0 gable [^aeio][aeiou]g 
+! SFX B 0 kable [^aeio][aeiou]k 
+! SFX B 0 lable [^aeio][aeiou]l 
+! SFX B 0 mable [^aeio][aeiou]m 
+! SFX B 0 nable [^aeio][aeiou]n 
+! SFX B 0 pable [^aeio][aeiou]p 
+! SFX B 0 rable [^aeio][aeiou]r 
+! SFX B 0 sable [^aeio][aeiou]s 
+! SFX B 0 table [^aeio][aeiou]t 
+! SFX B 0 vable [^aeio][aeiou]v 
+! SFX B 0 zable [^aeio][aeiou]z 
+! SFX B 0 able [aeio][aeiou][bcdfgklmnprstvz] 
+! SFX B 0 able [^aeiou][bcdfgklmnprstvz] 
+! SFX B y iable [^aeiou]y 
+! SFX B 0 able [aeiou]y 
+! SFX B 0 able [^ebcdfgklmnprstvzy] 
+! SFX B e ability [^acegilotu]e 
+! SFX B 0 ability [acegilou]e 
+! SFX B te bility ate 
+! SFX B e ability [^a]te 
+! SFX B 0 bability [^aeio][aeiou]b 
+! SFX B 0 kability [^aeio][aeiou]c 
+! SFX B 0 dability [^aeio][aeiou]d 
+! SFX B 0 fability [^aeio][aeiou]f 
+! SFX B 0 gability [^aeio][aeiou]g 
+! SFX B 0 kability [^aeio][aeiou]k 
+! SFX B 0 lability [^aeio][aeiou]l 
+! SFX B 0 mability [^aeio][aeiou]m 
+! SFX B 0 nability [^aeio][aeiou]n 
+! SFX B 0 pability [^aeio][aeiou]p 
+! SFX B 0 rability [^aeio][aeiou]r 
+! SFX B 0 sability [^aeio][aeiou]s 
+! SFX B 0 tability [^aeio][aeiou]t 
+! SFX B 0 vability [^aeio][aeiou]v 
+! SFX B 0 zability [^aeio][aeiou]z 
+! SFX B 0 ability [aeio][aeiou][bcdfgklmnprstvz] 
+! SFX B 0 ability [^aeiou][bcdfgklmnprstvz] 
+! SFX B y iability [^aeiou]y 
+! SFX B 0 ability [aeiou]y 
+! SFX B 0 ability [^ebcdfgklmnprstvzy] 
+  SFX 7 Y 9
+! SFX 7 e able [acegilou]e 
+! SFX 7 0 able [^acegilou]e 
+! SFX 7 0 kable [^aeio][aeiou]c 
+! SFX 7 0 lable [^aeio][aeiou]l 
+! SFX 7 0 able [aeio][aeiou][cl] 
+! SFX 7 0 able [^aeiou][cl] 
+! SFX 7 y iable [^aeiou]y 
+! SFX 7 0 able [aeiou]y 
+! SFX 7 0 able [^cely] 
+  SFX g Y 9
+! SFX g e ability [^acegilou]e 
+! SFX g 0 ability [acegilou]e 
+! SFX g 0 kability [^aeio][aeiou]c 
+! SFX g 0 lability [^aeio][aeiou]l 
+! SFX g 0 ability [aeio][aeiou][cl] 
+! SFX g 0 ability [^aeiou][cl] 
+! SFX g y iability [^aeiou]y 
+! SFX g 0 ability [aeiou]y 
+! SFX g 0 ability [^cely] 
+  SFX l Y 9
+! SFX l e ably [^acegilou]e 
+! SFX l 0 ably [acegilou]e 
+! SFX l 0 kably [^aeio][aeiou]c 
+! SFX l 0 lably [^aeio][aeiou]l 
+! SFX l 0 ably [aeio][aeiou][cl] 
+! SFX l 0 ably [^aeiou][cl] 
+! SFX l y iably [^aeiou]y 
+! SFX l 0 ably [aeiou]y 
+! SFX l 0 ably [^cely] 
+  SFX b Y 3
+! SFX b e ible [^aeiou]e 
+! SFX b 0 ible [aeiou]e 
+! SFX b 0 ible [^e] 
+  SFX L Y 12
+! SFX L 0 ament m 
+! SFX L y iment [^aeiou]y 
+! SFX L 0 ment [aeiou]y 
+! SFX L 0 ment [^my] 
+! SFX L 0 aments m 
+! SFX L y iments [^aeiou]y 
+! SFX L 0 ments [aeiou]y 
+! SFX L 0 ments [^my] 
+! SFX L 0 ament's m 
+! SFX L y iment's [^aeiou]y 
+! SFX L 0 ment's [aeiou]y 
+! SFX L 0 ment's [^my] 
+  SFX Z Y 22
+! SFX Z e y [^aeiouy]e 
+! SFX Z 0 y [aeiouy]e 
+! SFX Z 0 ey [aiouy] 
+! SFX Z 0 by [^aeio][aeiou]b 
+! SFX Z 0 ky [^aeio][aeiou]c 
+! SFX Z 0 dy [^aeio][aeiou]d 
+! SFX Z 0 fy [^aeio][aeiou]f 
+! SFX Z 0 gy [^aeio][aeiou]g 
+! SFX Z 0 ky [^aeio][aeiou]k 
+! SFX Z 0 ly [^aeio][aeiou]l 
+! SFX Z 0 my [^aeio][aeiou]m 
+! SFX Z 0 ny [^aeio][aiou]n 
+! SFX Z 0 py [^aeio][aeiou]p 
+! SFX Z 0 ry [^aeio][aiou]r 
+! SFX Z 0 sy [^aeio][aeiou]s 
+! SFX Z 0 ty [^aeio][aiou]t 
+! SFX Z 0 vy [^aeio][aeiou]v 
+! SFX Z 0 zy [^aeio][aeiou]z 
+! SFX Z 0 y [^aeio]e[nrt] 
+! SFX Z 0 y [aeio][aeiou][bcdfgklmnprstvz] 
+! SFX Z 0 y [^aeiou][bcdfgklmnprstvz] 
+! SFX Z 0 y [^aebcdfgiklmnoprstuvyz] 
+  SFX 2 Y 21
+! SFX 2 e iness [^aeiouy]e 
+! SFX 2 0 iness [aeiouy]e 
+! SFX 2 0 biness [^aeio][aeiou]b 
+! SFX 2 0 kiness [^aeio][aeiou]c 
+! SFX 2 0 diness [^aeio][aeiou]d 
+! SFX 2 0 finess [^aeio][aeiou]f 
+! SFX 2 0 giness [^aeio][aeiou]g 
+! SFX 2 0 kiness [^aeio][aeiou]k 
+! SFX 2 0 liness [^aeio][aeiou]l 
+! SFX 2 0 miness [^aeio][aeiou]m 
+! SFX 2 0 niness [^aeio][aiou]n 
+! SFX 2 0 piness [^aeio][aeiou]p 
+! SFX 2 0 riness [^aeio][aiou]r 
+! SFX 2 0 siness [^aeio][aeiou]s 
+! SFX 2 0 tiness [^aeio][aiou]t 
+! SFX 2 0 viness [^aeio][aeiou]v 
+! SFX 2 0 ziness [^aeio][aeiou]z 
+! SFX 2 0 iness [^aeio]e[nrt] 
+! SFX 2 0 iness [aeio][aeiou][bcdfgklmnprstvz] 
+! SFX 2 0 iness [^aeiou][bcdfgklmnprstvz] 
+! SFX 2 0 iness [^ebcdfgklmnprstvz] 
+  SFX z Y 24
+! SFX z e ily [^aeiouy]e 
+! SFX z 0 ily [aeiouy]e 
+! SFX z 0 ily [aiou]y 
+! SFX z ey ily ey 
+! SFX z y ily [^aeiou]y 
+! SFX z 0 bily [^aeio][aeiou]b 
+! SFX z 0 kily [^aeio][aeiou]c 
+! SFX z 0 dily [^aeio][aeiou]d 
+! SFX z 0 fily [^aeio][aeiou]f 
+! SFX z 0 gily [^aeio][aeiou]g 
+! SFX z 0 kily [^aeio][aeiou]k 
+! SFX z 0 lily [^aeio][aeiou]l 
+! SFX z 0 mily [^aeio][aeiou]m 
+! SFX z 0 nily [^aeio][aiou]n 
+! SFX z 0 pily [^aeio][aeiou]p 
+! SFX z 0 rily [^aeio][aiou]r 
+! SFX z 0 sily [^aeio][aeiou]s 
+! SFX z 0 tily [^aeio][aiou]t 
+! SFX z 0 vily [^aeio][aeiou]v 
+! SFX z 0 zily [^aeio][aeiou]z 
+! SFX z 0 ily [^aeio]e[nrt] 
+! SFX z 0 ily [aeio][aeiou][bcdfgklmnprstvyz] 
+! SFX z 0 ily [^aeiou][bcdfgklmnprstvyz] 
+! SFX z 0 ily [^ebcdfgklmnprstvyz] 
+  SFX y Y 15
+! SFX y e ory te 
+! SFX y e atory [mr]e 
+! SFX y e ary se 
+! SFX y 0 ry [^mrst]e 
+! SFX y 0 ory [^aeous]t 
+! SFX y 0 ry [aeous]t 
+! SFX y 0 ery h 
+! SFX y 0 atory [^i]m 
+! SFX y im matory im 
+! SFX y 0 ory s 
+! SFX y 0 ary ion 
+! SFX y 0 ry [^i]on 
+! SFX y 0 nery [aiu]n 
+! SFX y 0 ry [^aiou]n 
+! SFX y 0 ry [^ehmstn] 
+  SFX O Y 12
+! SFX O 0 l a 
+! SFX O e al [^bcgv]e 
+! SFX O e ial [bcgv]e 
+! SFX O 0 ial [bcrx] 
+! SFX O um al um 
+! SFX O 0 al [^u]m 
+! SFX O y al ty 
+! SFX O y ial [^t]y 
+! SFX O 0 ual [px]t 
+! SFX O 0 tal [iu]t 
+! SFX O 0 al [^ipux]t 
+! SFX O 0 al [^aebcrtxmy] 
+  SFX o Y 12
+! SFZ o 0 lly a 
+! SFX o e ally [^bcgv]e 
+! SFX o e ially [bcgv]e 
+! SFX o 0 ially [bcrx] 
+! SFX o um ally um 
+! SFX o 0 ally [^u]m 
+! SFX o y ally ty 
+! SFX o y ially [^t]y 
+! SFX o 0 ually [px]t 
+! SFX o 0 tally [iu]t 
+! SFX o 0 ally [^ipux]t 
+! SFX o 0 ally [^aebcrtxmy] 
+  SFX W Y 21
+! SFX W ce tific ce 
+! SFX W e atic me 
+! SFX W se tic se 
+! SFX W le ic ble 
+! SFX W e ic [^b]le 
+! SFX W e ic [^clms]e 
+! SFX W 0 lic [ay]l 
+! SFX W 0 ic [^ay]l 
+! SFX W us ic us 
+! SFX W 0 tic [^u]s 
+! SFX W er ric er 
+! SFX W 0 ic [^e]r 
+! SFX W 0 atic [aeiou]m 
+! SFX W 0 ic [^aeiou]m 
+! SFX W 0 tic ma 
+! SFX W a ic [^m]a 
+! SFX W y etic thy 
+! SFX W y ic [^t]hy 
+! SFX W y tic sy 
+! SFX W y ic [^hs]y 
+! SFX W 0 ic [^aelmrsy] 
+  SFX w Y 9
+! SFX w e ical e 
+! SFX w er rical er 
+! SFX w 0 ical [^e]r 
+! SFX w 0 atical [aeiou]m 
+! SFX w 0 ical [^aeiou]m 
+! SFX w 0 tical ma 
+! SFX w a ical [^m]a 
+! SFX w y ical y 
+! SFX w 0 ical [^aemry] 
+  SFX 1 Y 9
+! SFX 1 e ically e 
+! SFX 1 er rically er 
+! SFX 1 0 ically [^e]r 
+! SFX 1 0 atically [aeiou]m 
+! SFX 1 0 ically [^aeiou]m 
+! SFX 1 0 tically ma 
+! SFX 1 a ically [^m]a 
+! SFX 1 y ically y 
+! SFX 1 0 ically [^aemry] 
+  SFX 3 Y 21
+! SFX 3 e ist [^aceiou]e 
+! SFX 3 ce tist ce 
+! SFX 3 0 ist [aeiou]e 
+! SFX 3 y ist [^aeioubp]y 
+! SFX 3 0 ist [aeioubp]y 
+! SFX 3 o ist o 
+! SFX 3 0 ists [^eoy] 
+! SFX 3 e ists [^aceiou]e 
+! SFX 3 ce tists ce 
+! SFX 3 0 ists [aeiou]e 
+! SFX 3 y ists [^aeioubp]y 
+! SFX 3 0 ists [aeioubp]y 
+! SFX 3 o ists o 
+! SFX 3 0 ists [^eoy] 
+! SFX 3 e ist's [^aceiou]e 
+! SFX 3 ce tist's ce 
+! SFX 3 0 ist's [aeiou]e 
+! SFX 3 y ist's [^aeioubp]y 
+! SFX 3 0 ist's [aeioubp]y 
+! SFX 3 o ist's o 
+! SFX 3 0 ist's [^eoy] 
+--- 463,1148 ----
+  SFX R Y 72
+! SFX R 0 r e
+! SFX R 0 rs e
+! SFX R 0 ber [^aeio][aeiou]b
+! SFX R 0 bers [^aeio][aeiou]b
+! SFX R 0 ker [^aeio][aeiou]c
+! SFX R 0 kers [^aeio][aeiou]c
+! SFX R 0 der [^aeio][aeiou]d
+! SFX R 0 ders [^aeio][aeiou]d
+! SFX R 0 fer [^aeio][aeiou]f
+! SFX R 0 fers [^aeio][aeiou]f
+! SFX R 0 ger [^aeio][aeiou]g
+! SFX R 0 gers [^aeio][aeiou]g
+! SFX R 0 ker [^aeio][aeiou]k
+! SFX R 0 kers [^aeio][aeiou]k
+! SFX R 0 ler [^aeio][eiou]l
+! SFX R 0 er [aeio][eiou]l
+! SFX R 0 ler [^aeo]al
+! SFX R 0 er [aeo]al
+! SFX R 0 lers [^aeio][eiou]l
+! SFX R 0 ers [aeio][eiou]l
+! SFX R 0 lers [^aeo]al
+! SFX R 0 ers [aeo]al
+! SFX R 0 mer [^aeio][aeiou]m
+! SFX R 0 mers [^aeio][aeiou]m
+! SFX R 0 ner [^aeio][aeiou]n
+! SFX R 0 ners [^aeio][aeiou]n
+! SFX R 0 per [^aeio][aeiou]p
+! SFX R 0 pers [^aeio][aeiou]p
+! SFX R 0 rer [^aeio][aeiou]r
+! SFX R 0 rers [^aeio][aeiou]r
+! SFX R 0 ser [^aeio][aeiou]s
+! SFX R 0 sers [^aeio][aeiou]s
+! SFX R 0 ter [^aeio][aeiou]t
+! SFX R 0 ters [^aeio][aeiou]t
+! SFX R 0 ver [^aeio][aeiou]v
+! SFX R 0 vers [^aeio][aeiou]v
+! SFX R 0 zer [^aeio][aeiou]z
+! SFX R 0 zers [^aeio][aeiou]z
+! SFX R y ier [^aeiou]y
+! SFX R y iers [^aeiou]y
+! SFX R 0 er [aeiou]y
+! SFX R 0 ers [aeiou]y
+! SFX R 0 er [aeio][aeiou][bcdfgkmnprstvz]
+! SFX R 0 ers [aeio][aeiou][bcdfgkmnprstvz]
+! SFX R 0 er [^aeiou][bcdfgklmnprstvz]
+! SFX R 0 ers [^aeiou][bcdfgklmnprstvz]
+! SFX R 0 er [^ebcdfgklmnprstvyz]
+! SFX R 0 ers [^ebcdfgklmnprstvyz]
+! SFX R 0 r's e
+! SFX R 0 ber's [^aeio][aeiou]b
+! SFX R 0 ker's [^aeio][aeiou]c
+! SFX R 0 der's [^aeio][aeiou]d
+! SFX R 0 fer's [^aeio][aeiou]f
+! SFX R 0 ger's [^aeio][aeiou]g
+! SFX R 0 ker's [^aeio][aeiou]k
+! SFX R 0 ler's [^aeio][eiou]l
+! SFX R 0 er's [aeio][eiou]l
+! SFX R 0 ler's [^aeo]al
+! SFX R 0 er's [aeo]al
+! SFX R 0 mer's [^aeio][aeiou]m
+! SFX R 0 ner's [^aeio][aeiou]n
+! SFX R 0 per's [^aeio][aeiou]p
+! SFX R 0 rer's [^aeio][aeiou]r
+! SFX R 0 ser's [^aeio][aeiou]s
+! SFX R 0 ter's [^aeio][aeiou]t
+! SFX R 0 ver's [^aeio][aeiou]v
+! SFX R 0 zer's [^aeio][aeiou]z
+! SFX R y ier's [^aeiou]y
+! SFX R 0 er's [aeiou]y
+! SFX R 0 er's [aeio][aeiou][bcdfgkmnprstvz]
+! SFX R 0 er's [^aeiou][bcdfgklmnprstvz]
+! SFX R 0 er's [^ebcdfgklmnprstvyz]
+  SFX r Y 24
+! SFX r 0 r e
+! SFX r 0 ler [^aeio][aeiou]l
+! SFX r 0 ker [^aeio][aeiou]c
+! SFX r y ier [^aeiou]y
+! SFX r 0 er [aeiou]y
+! SFX r 0 er [aeio][aeiou][cl]
+! SFX r 0 er [^aeiou][cl]
+! SFX r 0 er [^ecly]
+! SFX r 0 rs e
+! SFX r 0 lers [^aeio][aeiou]l
+! SFX r 0 kers [^aeio][aeiou]c
+! SFX r y iers [^aeiou]y
+! SFX r 0 ers [aeiou]y
+! SFX r 0 ers [aeio][aeiou][cl]
+! SFX r 0 ers [^aeiou][cl]
+! SFX r 0 ers [^ecly]
+! SFX r 0 r's e
+! SFX r 0 ler's [^aeio][aeiou]l
+! SFX r 0 ker's [^aeio][aeiou]c
+! SFX r y ier's [^aeiou]y
+! SFX r 0 er's [aeiou]y
+! SFX r 0 er's [aeio][aeiou][cl]
+! SFX r 0 er's [^aeiou][cl]
+! SFX r 0 er's [^ecly]
+  SFX S Y 9
+! SFX S y ies [^aeiou]y
+! SFX S 0 s [aeiou]y
+! SFX S 0 es [sxz]
+! SFX S 0 es [cs]h
+! SFX S 0 s [^cs]h
+! SFX S 0 s [ae]u
+! SFX S 0 x [ae]u
+! SFX S 0 s [^ae]u
+  SFX S 0 s [^hsuxyz]
+  SFX P Y 6
+! SFX P y iness [^aeiou]y
+! SFX P 0 ness [aeiou]y
+! SFX P 0 ness [^y]
+! SFX P y iness's [^aeiou]y
+! SFX P 0 ness's [aeiou]y
+! SFX P 0 ness's [^y]
+  SFX m Y 20
+! SFX m 0 sman [bdknmt]
+! SFX m 0 sman [aeiou][bdklmnt]e
+! SFX m 0 man [^aeiou][bdklmnt]e
+! SFX m 0 man [^bdklmnt]e
+! SFX m 0 man [^bdeknmt]
+! SFX m 0 smen [bdknmt]
+! SFX m 0 smen [aeiou][bdklmnt]e
+! SFX m 0 men [^aeiou][bdklmnt]e
+! SFX m 0 men [^bdklmnt]e
+! SFX m 0 men [^bdeknmt]
+! SFX m 0 sman's [bdknmt]
+! SFX m 0 sman's [aeiou][bdklmnt]e
+! SFX m 0 man's [^aeiou][bdklmnt]e
+! SFX m 0 man's [^bdklmnt]e
+! SFX m 0 man's [^bdeknmt]
+! SFX m 0 smen's [bdknmt]
+! SFX m 0 smen's [aeiou][bdklmnt]e
+! SFX m 0 men's [^aeiou][bdklmnt]e
+! SFX m 0 men's [^bdklmnt]e
+! SFX m 0 men's [^bdeknmt]
+  SFX 5 Y 15
+! SFX 5 0 swoman [bdknmt]
+! SFX 5 0 swoman [aeiou][bdklmnt]e
+! SFX 5 0 woman [^aeiou][bdklmnt]e
+! SFX 5 0 woman [^bdklmnt]e
+! SFX 5 0 woman [^bdeknmt]
+! SFX 5 0 swomen [bdknmt]
+! SFX 5 0 swomen [aeiou][bdklmnt]e
+! SFX 5 0 women [^aeiou][bdklmnt]e
+! SFX 5 0 women [^bdklmnt]e
+! SFX 5 0 women [^bdeknmt]
+! SFX 5 0 swoman's [bdknmt]
+! SFX 5 0 swoman's [aeiou][bdklmnt]e
+! SFX 5 0 woman's [^aeiou][bdklmnt]e
+! SFX 5 0 woman's [^bdklmnt]e
+! SFX 5 0 woman's [^bdeknmt]
+  SFX 6 Y 3
+! SFX 6 y iful [^aeiou]y
+! SFX 6 0 ful [aeiou]y
+! SFX 6 0 ful [^y]
+  SFX j Y 3
+! SFX j y ifully [^aeiou]y
+! SFX j 0 fully [aeiou]y
+! SFX j 0 fully [^y]
+  SFX p Y 5
+! SFX p y iless [^aeiou]y
+! SFX p 0 less [aeiou]y
+! SFX p 0 ess ll
+! SFX p 0 less [^l]l
+! SFX p 0 less [^ly]
+  SFX Q Y 88
+! SFX Q 0 tise a
+! SFX Q e ise [^l]e
+! SFX Q le ilise [^aeiou]le
+! SFX Q e ise [aeiou]le
+! SFX Q um ise um
+! SFX Q 0 ise [^u]m
+! SFX Q s se is
+! SFX Q 0 ise [^i]s
+! SFX Q y ise [^aeiou]y
+! SFX Q 0 ise [aeiou]y
+! SFX Q 0 ise [^aemsy]
+! SFX Q 0 tises a
+! SFX Q e ises [^l]e
+! SFX Q le ilises [^aeiou]le
+! SFX Q e ises [aeiou]le
+! SFX Q um ises um
+! SFX Q 0 ises [^u]m
+! SFX Q s ses is
+! SFX Q 0 ises [^i]s
+! SFX Q y ises [^aeiou]y
+! SFX Q 0 ises [aeiou]y
+! SFX Q 0 ises [^aemsy]
+! SFX Q 0 tised a
+! SFX Q e ised [^l]e
+! SFX Q le ilised [^aeiou]le
+! SFX Q e ised [aeiou]le
+! SFX Q um ised um
+! SFX Q 0 ised [^u]m
+! SFX Q s sed is
+! SFX Q 0 ised [^i]s
+! SFX Q y ised [^aeiou]y
+! SFX Q 0 ised [aeiou]y
+! SFX Q 0 ised [^aemsy]
+! SFX Q 0 tising a
+! SFX Q e ising [^l]e
+! SFX Q le ilising [^aeiou]le
+! SFX Q e ising [aeiou]le
+! SFX Q um ising um
+! SFX Q 0 ising [^u]m
+! SFX Q s sing is
+! SFX Q 0 ising [^i]s
+! SFX Q y ising [^aeiou]y
+! SFX Q 0 ising [aeiou]y
+! SFX Q 0 ising [^aemsy]
+! SFX Q 0 tize a
+! SFX Q e ize [^l]e
+! SFX Q le ilize [^aeiou]le
+! SFX Q e ize [aeiou]le
+! SFX Q um ize um
+! SFX Q 0 ize [^u]m
+! SFX Q s ze is
+! SFX Q 0 ize [^i]s
+! SFX Q y ize [^aeiou]y
+! SFX Q 0 ize [aeiou]y
+! SFX Q 0 ize [^aemsy]
+! SFX Q 0 tizes a
+! SFX Q e izes [^l]e
+! SFX Q le ilizes [^aeiou]le
+! SFX Q e izes [aeiou]le
+! SFX Q um izes um
+! SFX Q 0 izes [^u]m
+! SFX Q s zes is
+! SFX Q 0 izes [^i]s
+! SFX Q y izes [^aeiou]y
+! SFX Q 0 izes [aeiou]y
+! SFX Q 0 izes [^aemsy]
+! SFX Q 0 tized a
+! SFX Q e ized [^l]e
+! SFX Q le ilized [^aeiou]le
+! SFX Q e ized [aeiou]le
+! SFX Q um ized um
+! SFX Q 0 ized [^u]m
+! SFX Q s zed is
+! SFX Q 0 ized [^i]s
+! SFX Q y ized [^aeiou]y
+! SFX Q 0 ized [aeiou]y
+! SFX Q 0 ized [^aemsy]
+! SFX Q 0 tizing a
+! SFX Q e izing [^l]e
+! SFX Q le ilizing [^aeiou]le
+! SFX Q e izing [aeiou]le
+! SFX Q um izing um
+! SFX Q 0 izing [^u]m
+! SFX Q s zing is
+! SFX Q 0 izing [^i]s
+! SFX Q y izing [^aeiou]y
+! SFX Q 0 izing [aeiou]y
+! SFX Q 0 izing [^aemsy]
+  SFX q Y 44
+! SFX q 0 tisation a
+! SFX q e isation [^l]e
+! SFX q le ilisation [^aeiou]le
+! SFX q e isation [aeiou]le
+! SFX q um isation um
+! SFX q 0 isation [^u]m
+! SFX q s sation is
+! SFX q 0 isation [^i]s
+! SFX q y isation [^aeiou]y
+! SFX q 0 isation [aeiou]y
+! SFX q 0 isation [^aemsy]
+! SFX q 0 tisations a
+! SFX q e isations [^l]e
+! SFX q le ilisations [^aeiou]le
+! SFX q e isations [aeiou]le
+! SFX q um isations um
+! SFX q 0 isations [^u]m
+! SFX q s sations is
+! SFX q 0 isations [^i]s
+! SFX q y isations [^aeiou]y
+! SFX q 0 isations [aeiou]y
+! SFX q 0 isations [^aemsy]
+! SFX q 0 tization a
+! SFX q e ization [^l]e
+! SFX q le ilization [^aeiou]le
+! SFX q e ization [aeiou]le
+! SFX q um ization um
+! SFX q 0 ization [^u]m
+! SFX q s zation is
+! SFX q 0 ization [^i]s
+! SFX q y ization [^aeiou]y
+! SFX q 0 ization [aeiou]y
+! SFX q 0 ization [^aemsy]
+! SFX q 0 tizations a
+! SFX q e izations [^l]e
+! SFX q le ilizations [^aeiou]le
+! SFX q e izations [aeiou]le
+! SFX q um izations um
+! SFX q 0 izations [^u]m
+! SFX q s zations is
+! SFX q 0 izations [^i]s
+! SFX q y izations [^aeiou]y
+! SFX q 0 izations [aeiou]y
+! SFX q 0 izations [^aemsy]
+  SFX s Y 66
+! SFX s 0 tiser a
+! SFX s e iser [^l]e
+! SFX s le iliser [^aeiou]le
+! SFX s e iser [aeiou]le
+! SFX s um iser um
+! SFX s 0 iser [^u]m
+! SFX s s ser is
+! SFX s 0 iser [^i]s
+! SFX s y iser [^aeiou]y
+! SFX s 0 iser [aeiou]y
+! SFX s 0 iser [^aemsy]
+! SFX s 0 tisers a
+! SFX s e isers [^l]e
+! SFX s le ilisers [^aeiou]le
+! SFX s e isers [aeiou]le
+! SFX s um isers um
+! SFX s 0 isers [^u]m
+! SFX s s sers is
+! SFX s 0 isers [^i]s
+! SFX s y isers [^aeiou]y
+! SFX s 0 isers [aeiou]y
+! SFX s 0 isers [^aemsy]
+! SFX s 0 tiser's a
+! SFX s e iser's [^l]e
+! SFX s le iliser's [^aeiou]le
+! SFX s e iser's [aeiou]le
+! SFX s um iser's um
+! SFX s 0 iser's [^u]m
+! SFX s s ser's is
+! SFX s 0 iser's [^i]s
+! SFX s y iser's [^aeiou]y
+! SFX s 0 iser's [aeiou]y
+! SFX s 0 iser's [^aemsy]
+! SFX s 0 tizer a
+! SFX s e izer [^l]e
+! SFX s le ilizer [^aeiou]le
+! SFX s e izer [aeiou]le
+! SFX s um izer um
+! SFX s 0 izer [^u]m
+! SFX s s zer is
+! SFX s 0 izer [^i]s
+! SFX s y izer [^aeiou]y
+! SFX s 0 izer [aeiou]y
+! SFX s 0 izer [^aemsy]
+! SFX s 0 tizers a
+! SFX s e izers [^l]e
+! SFX s le ilizers [^aeiou]le
+! SFX s e izers [aeiou]le
+! SFX s um izers um
+! SFX s 0 izers [^u]m
+! SFX s s zers is
+! SFX s 0 izers [^i]s
+! SFX s y izers [^aeiou]y
+! SFX s 0 izers [aeiou]y
+! SFX s 0 izers [^aemsy]
+! SFX s 0 tizer's a
+! SFX s e izer's [^l]e
+! SFX s le ilizer's [^aeiou]le
+! SFX s e izer's [aeiou]le
+! SFX s um izer's um
+! SFX s 0 izer's [^u]m
+! SFX s s zer's is
+! SFX s 0 izer's [^i]s
+! SFX s y izer's [^aeiou]y
+! SFX s 0 izer's [aeiou]y
+! SFX s 0 izer's [^aemsy]
+  SFX t Y 44
+! SFX t 0 tisable a
+! SFX t e isable [^l]e
+! SFX t le ilisable [^aeiou]le
+! SFX t e isable [aeiou]le
+! SFX t um isable um
+! SFX t 0 isable [^u]m
+! SFX t s sable is
+! SFX t 0 isable [^i]s
+! SFX t y isable [^aeiou]y
+! SFX t 0 isable [aeiou]y
+! SFX t 0 isable [^aemsy]
+! SFX t 0 tizable a
+! SFX t e izable [^l]e
+! SFX t le ilizable [^aeiou]le
+! SFX t e izable [aeiou]le
+! SFX t um izable um
+! SFX t 0 izable [^u]m
+! SFX t s zable is
+! SFX t 0 izable [^i]s
+! SFX t y izable [^aeiou]y
+! SFX t 0 izable [aeiou]y
+! SFX t 0 izable [^aemsy]
+! SFX t 0 tisability a
+! SFX t e isability [^l]e
+! SFX t le ilisability [^aeiou]le
+! SFX t e isability [aeiou]le
+! SFX t um isability um
+! SFX t 0 isability [^u]m
+! SFX t s sability is
+! SFX t 0 isability [^i]s
+! SFX t y isability [^aeiou]y
+! SFX t 0 isability [aeiou]y
+! SFX t 0 isability [^aemsy]
+! SFX t 0 tizability a
+! SFX t e izability [^l]e
+! SFX t le ilizability [^aeiou]le
+! SFX t e izability [aeiou]le
+! SFX t um izability um
+! SFX t 0 izability [^u]m
+! SFX t s zability is
+! SFX t 0 izability [^i]s
+! SFX t y izability [^aeiou]y
+! SFX t 0 izability [aeiou]y
+! SFX t 0 izability [^aemsy]
+  SFX M Y 1
+! SFX M 0 's .
+  SFX B Y 48
+! SFX B e able [^acegilotu]e
+! SFX B 0 able [acegilou]e
+! SFX B te ble ate
+! SFX B e able [^a]te
+! SFX B 0 bable [^aeio][aeiou]b
+! SFX B 0 kable [^aeio][aeiou]c
+! SFX B 0 dable [^aeio][aeiou]d
+! SFX B 0 fable [^aeio][aeiou]f
+! SFX B 0 gable [^aeio][aeiou]g
+! SFX B 0 kable [^aeio][aeiou]k
+! SFX B 0 lable [^aeio][aeiou]l
+! SFX B 0 mable [^aeio][aeiou]m
+! SFX B 0 nable [^aeio][aeiou]n
+! SFX B 0 pable [^aeio][aeiou]p
+! SFX B 0 rable [^aeio][aeiou]r
+! SFX B 0 sable [^aeio][aeiou]s
+! SFX B 0 table [^aeio][aeiou]t
+! SFX B 0 vable [^aeio][aeiou]v
+! SFX B 0 zable [^aeio][aeiou]z
+! SFX B 0 able [aeio][aeiou][bcdfgklmnprstvz]
+! SFX B 0 able [^aeiou][bcdfgklmnprstvz]
+! SFX B y iable [^aeiou]y
+! SFX B 0 able [aeiou]y
+! SFX B 0 able [^ebcdfgklmnprstvzy]
+! SFX B e ability [^acegilotu]e
+! SFX B 0 ability [acegilou]e
+! SFX B te bility ate
+! SFX B e ability [^a]te
+! SFX B 0 bability [^aeio][aeiou]b
+! SFX B 0 kability [^aeio][aeiou]c
+! SFX B 0 dability [^aeio][aeiou]d
+! SFX B 0 fability [^aeio][aeiou]f
+! SFX B 0 gability [^aeio][aeiou]g
+! SFX B 0 kability [^aeio][aeiou]k
+! SFX B 0 lability [^aeio][aeiou]l
+! SFX B 0 mability [^aeio][aeiou]m
+! SFX B 0 nability [^aeio][aeiou]n
+! SFX B 0 pability [^aeio][aeiou]p
+! SFX B 0 rability [^aeio][aeiou]r
+! SFX B 0 sability [^aeio][aeiou]s
+! SFX B 0 tability [^aeio][aeiou]t
+! SFX B 0 vability [^aeio][aeiou]v
+! SFX B 0 zability [^aeio][aeiou]z
+! SFX B 0 ability [aeio][aeiou][bcdfgklmnprstvz]
+! SFX B 0 ability [^aeiou][bcdfgklmnprstvz]
+! SFX B y iability [^aeiou]y
+! SFX B 0 ability [aeiou]y
+! SFX B 0 ability [^ebcdfgklmnprstvzy]
+  SFX 7 Y 9
+! SFX 7 e able [acegilou]e
+! SFX 7 0 able [^acegilou]e
+! SFX 7 0 kable [^aeio][aeiou]c
+! SFX 7 0 lable [^aeio][aeiou]l
+! SFX 7 0 able [aeio][aeiou][cl]
+! SFX 7 0 able [^aeiou][cl]
+! SFX 7 y iable [^aeiou]y
+! SFX 7 0 able [aeiou]y
+! SFX 7 0 able [^cely]
+  SFX g Y 9
+! SFX g e ability [^acegilou]e
+! SFX g 0 ability [acegilou]e
+! SFX g 0 kability [^aeio][aeiou]c
+! SFX g 0 lability [^aeio][aeiou]l
+! SFX g 0 ability [aeio][aeiou][cl]
+! SFX g 0 ability [^aeiou][cl]
+! SFX g y iability [^aeiou]y
+! SFX g 0 ability [aeiou]y
+! SFX g 0 ability [^cely]
+  SFX l Y 9
+! SFX l e ably [^acegilou]e
+! SFX l 0 ably [acegilou]e
+! SFX l 0 kably [^aeio][aeiou]c
+! SFX l 0 lably [^aeio][aeiou]l
+! SFX l 0 ably [aeio][aeiou][cl]
+! SFX l 0 ably [^aeiou][cl]
+! SFX l y iably [^aeiou]y
+! SFX l 0 ably [aeiou]y
+! SFX l 0 ably [^cely]
+  SFX b Y 3
+! SFX b e ible [^aeiou]e
+! SFX b 0 ible [aeiou]e
+! SFX b 0 ible [^e]
+  SFX L Y 12
+! SFX L 0 ament m
+! SFX L y iment [^aeiou]y
+! SFX L 0 ment [aeiou]y
+! SFX L 0 ment [^my]
+! SFX L 0 aments m
+! SFX L y iments [^aeiou]y
+! SFX L 0 ments [aeiou]y
+! SFX L 0 ments [^my]
+! SFX L 0 ament's m
+! SFX L y iment's [^aeiou]y
+! SFX L 0 ment's [aeiou]y
+! SFX L 0 ment's [^my]
+  SFX Z Y 22
+! SFX Z e y [^aeiouy]e
+! SFX Z 0 y [aeiouy]e
+! SFX Z 0 ey [aiouy]
+! SFX Z 0 by [^aeio][aeiou]b
+! SFX Z 0 ky [^aeio][aeiou]c
+! SFX Z 0 dy [^aeio][aeiou]d
+! SFX Z 0 fy [^aeio][aeiou]f
+! SFX Z 0 gy [^aeio][aeiou]g
+! SFX Z 0 ky [^aeio][aeiou]k
+! SFX Z 0 ly [^aeio][aeiou]l
+! SFX Z 0 my [^aeio][aeiou]m
+! SFX Z 0 ny [^aeio][aiou]n
+! SFX Z 0 py [^aeio][aeiou]p
+! SFX Z 0 ry [^aeio][aiou]r
+! SFX Z 0 sy [^aeio][aeiou]s
+! SFX Z 0 ty [^aeio][aiou]t
+! SFX Z 0 vy [^aeio][aeiou]v
+! SFX Z 0 zy [^aeio][aeiou]z
+! SFX Z 0 y [^aeio]e[nrt]
+! SFX Z 0 y [aeio][aeiou][bcdfgklmnprstvz]
+! SFX Z 0 y [^aeiou][bcdfgklmnprstvz]
+! SFX Z 0 y [^aebcdfgiklmnoprstuvyz]
+  SFX 2 Y 21
+! SFX 2 e iness [^aeiouy]e
+! SFX 2 0 iness [aeiouy]e
+! SFX 2 0 biness [^aeio][aeiou]b
+! SFX 2 0 kiness [^aeio][aeiou]c
+! SFX 2 0 diness [^aeio][aeiou]d
+! SFX 2 0 finess [^aeio][aeiou]f
+! SFX 2 0 giness [^aeio][aeiou]g
+! SFX 2 0 kiness [^aeio][aeiou]k
+! SFX 2 0 liness [^aeio][aeiou]l
+! SFX 2 0 miness [^aeio][aeiou]m
+! SFX 2 0 niness [^aeio][aiou]n
+! SFX 2 0 piness [^aeio][aeiou]p
+! SFX 2 0 riness [^aeio][aiou]r
+! SFX 2 0 siness [^aeio][aeiou]s
+! SFX 2 0 tiness [^aeio][aiou]t
+! SFX 2 0 viness [^aeio][aeiou]v
+! SFX 2 0 ziness [^aeio][aeiou]z
+! SFX 2 0 iness [^aeio]e[nrt]
+! SFX 2 0 iness [aeio][aeiou][bcdfgklmnprstvz]
+! SFX 2 0 iness [^aeiou][bcdfgklmnprstvz]
+! SFX 2 0 iness [^ebcdfgklmnprstvz]
+  SFX z Y 24
+! SFX z e ily [^aeiouy]e
+! SFX z 0 ily [aeiouy]e
+! SFX z 0 ily [aiou]y
+! SFX z ey ily ey
+! SFX z y ily [^aeiou]y
+! SFX z 0 bily [^aeio][aeiou]b
+! SFX z 0 kily [^aeio][aeiou]c
+! SFX z 0 dily [^aeio][aeiou]d
+! SFX z 0 fily [^aeio][aeiou]f
+! SFX z 0 gily [^aeio][aeiou]g
+! SFX z 0 kily [^aeio][aeiou]k
+! SFX z 0 lily [^aeio][aeiou]l
+! SFX z 0 mily [^aeio][aeiou]m
+! SFX z 0 nily [^aeio][aiou]n
+! SFX z 0 pily [^aeio][aeiou]p
+! SFX z 0 rily [^aeio][aiou]r
+! SFX z 0 sily [^aeio][aeiou]s
+! SFX z 0 tily [^aeio][aiou]t
+! SFX z 0 vily [^aeio][aeiou]v
+! SFX z 0 zily [^aeio][aeiou]z
+! SFX z 0 ily [^aeio]e[nrt]
+! SFX z 0 ily [aeio][aeiou][bcdfgklmnprstvyz]
+! SFX z 0 ily [^aeiou][bcdfgklmnprstvyz]
+! SFX z 0 ily [^ebcdfgklmnprstvyz]
+  SFX y Y 15
+! SFX y e ory te
+! SFX y e atory [mr]e
+! SFX y e ary se
+! SFX y 0 ry [^mrst]e
+! SFX y 0 ory [^aeous]t
+! SFX y 0 ry [aeous]t
+! SFX y 0 ery h
+! SFX y 0 atory [^i]m
+! SFX y im matory im
+! SFX y 0 ory s
+! SFX y 0 ary ion
+! SFX y 0 ry [^i]on
+! SFX y 0 nery [aiu]n
+! SFX y 0 ry [^aiou]n
+! SFX y 0 ry [^ehmstn]
+  SFX O Y 12
+! SFX O 0 l a
+! SFX O e al [^bcgv]e
+! SFX O e ial [bcgv]e
+! SFX O 0 ial [bcrx]
+! SFX O um al um
+! SFX O 0 al [^u]m
+! SFX O y al ty
+! SFX O y ial [^t]y
+! SFX O 0 ual [px]t
+! SFX O 0 tal [iu]t
+! SFX O 0 al [^ipux]t
+! SFX O 0 al [^aebcrtxmy]
+  SFX o Y 12
+! SFX o 0 lly a
+! SFX o e ally [^bcgv]e
+! SFX o e ially [bcgv]e
+! SFX o 0 ially [bcrx]
+! SFX o um ally um
+! SFX o 0 ally [^u]m
+! SFX o y ally ty
+! SFX o y ially [^t]y
+! SFX o 0 ually [px]t
+! SFX o 0 tally [iu]t
+! SFX o 0 ally [^ipux]t
+! SFX o 0 ally [^aebcrtxmy]
+  SFX W Y 21
+! SFX W ce tific ce
+! SFX W e atic me
+! SFX W se tic se
+! SFX W le ic ble
+! SFX W e ic [^b]le
+! SFX W e ic [^clms]e
+! SFX W 0 lic [ay]l
+! SFX W 0 ic [^ay]l
+! SFX W us ic us
+! SFX W 0 tic [^u]s
+! SFX W er ric er
+! SFX W 0 ic [^e]r
+! SFX W 0 atic [aeiou]m
+! SFX W 0 ic [^aeiou]m
+! SFX W 0 tic ma
+! SFX W a ic [^m]a
+! SFX W y etic thy
+! SFX W y ic [^t]hy
+! SFX W y tic sy
+! SFX W y ic [^hs]y
+! SFX W 0 ic [^aelmrsy]
+  SFX w Y 9
+! SFX w e ical e
+! SFX w er rical er
+! SFX w 0 ical [^e]r
+! SFX w 0 atical [aeiou]m
+! SFX w 0 ical [^aeiou]m
+! SFX w 0 tical ma
+! SFX w a ical [^m]a
+! SFX w y ical y
+! SFX w 0 ical [^aemry]
+  SFX 1 Y 9
+! SFX 1 e ically e
+! SFX 1 er rically er
+! SFX 1 0 ically [^e]r
+! SFX 1 0 atically [aeiou]m
+! SFX 1 0 ically [^aeiou]m
+! SFX 1 0 tically ma
+! SFX 1 a ically [^m]a
+! SFX 1 y ically y
+! SFX 1 0 ically [^aemry]
+  SFX 3 Y 21
+! SFX 3 e ist [^aceiou]e
+! SFX 3 ce tist ce
+! SFX 3 0 ist [aeiou]e
+! SFX 3 y ist [^aeioubp]y
+! SFX 3 0 ist [aeioubp]y
+! SFX 3 o ist o
+! SFX 3 0 ists [^eoy]
+! SFX 3 e ists [^aceiou]e
+! SFX 3 ce tists ce
+! SFX 3 0 ists [aeiou]e
+! SFX 3 y ists [^aeioubp]y
+! SFX 3 0 ists [aeioubp]y
+! SFX 3 o ists o
+! SFX 3 0 ists [^eoy]
+! SFX 3 e ist's [^aceiou]e
+! SFX 3 ce tist's ce
+! SFX 3 0 ist's [aeiou]e
+! SFX 3 y ist's [^aeioubp]y
+! SFX 3 0 ist's [aeioubp]y
+! SFX 3 o ist's o
+! SFX 3 0 ist's [^eoy]
+*** en_GB.orig.dic     Sun Apr 17 18:08:50 2005
+--- en_GB.dic  Tue Apr 19 22:20:16 2005
+***************
+*** 7048,7050 ****
+  régime/SM
+! s/ok7
+  Saab/M
+--- 7048,7050 ----
+  régime/SM
+! singly
+  Saab/M
+***************
+*** 19303,19304 ****
+--- 19303,19305 ----
+  Brampton/M
++ Bram/M
+  brand/MRDGSZ
+***************
+*** 23632,23633 ****
+--- 23633,23635 ----
+  Moog
++ Moolenaar/M
+  moonlight/GRDSM
+***************
+*** 27223,27225 ****
+  Villiers
+! vim/M
+  Vinci/M
+--- 27225,27227 ----
+  Villiers
+! Vim/M
+  Vinci/M
+***************
+*** 31409,31411 ****
+  hob/MDGZS
+! hobbit
+  Hobbs
+--- 31411,31413 ----
+  hob/MDGZS
+! hobbit/MS
+  Hobbs
diff --git a/src/spell/en_US.diff b/src/spell/en_US.diff
new file mode 100644 (file)
index 0000000..be26dfa
--- /dev/null
@@ -0,0 +1,102 @@
+*** en_US.orig.aff     Fri Apr 15 13:20:36 2005
+--- en_US.aff  Sat Apr 23 19:57:52 2005
+***************
+*** 3,4 ****
+--- 3,8 ----
+  
++ FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
++ LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
++ UPP  ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
++ 
+  PFX A Y 1
+***************
+*** 30,33 ****
+  SFX N   e     ion        e
+! SFX N   y     ication    y 
+! SFX N   0     en         [^ey] 
+  
+--- 34,37 ----
+  SFX N   e     ion        e
+! SFX N   y     ication    y
+! SFX N   0     en         [^ey]
+  
+***************
+*** 40,42 ****
+  SFX H   y     ieth       y
+! SFX H   0     th         [^y] 
+  
+--- 44,46 ----
+  SFX H   y     ieth       y
+! SFX H   0     th         [^y]
+  
+***************
+*** 47,49 ****
+  SFX G   e     ing        e
+! SFX G   0     ing        [^e] 
+  
+--- 51,53 ----
+  SFX G   e     ing        e
+! SFX G   0     ing        [^e]
+  
+*** en_US.orig.dic     Fri Apr 15 13:20:36 2005
+--- en_US.dic  Tue Apr 19 23:08:36 2005
+***************
+*** 16911,16912 ****
+--- 16911,16913 ----
+  dusty/RPT
++ Farsi
+  Dutch/M
+***************
+*** 25963,25965 ****
+  hobbing
+! hobbit
+  hobbler/M
+--- 25964,25966 ----
+  hobbing
+! hobbit/MS
+  hobbler/M
+***************
+*** 36605,36606 ****
+--- 36606,36608 ----
+  Moog
++ Moolenaar/M
+  moo/GSD
+***************
+*** 38871,38873 ****
+  NSF
+! n/T
+  NT
+--- 38873,38875 ----
+  NSF
+! n
+  NT
+***************
+*** 46507,46509 ****
+  Renault/MS
+- rend
+  renderer/M
+--- 46509,46510 ----
+***************
+*** 48085,48087 ****
+  Ryun/M
+- S
+  SA
+--- 48086,48087 ----
+***************
+*** 54450,54452 ****
+  swung
+! s/XJBG
+  sybarite/MS
+--- 54450,54452 ----
+  swung
+! sings
+  sybarite/MS
+***************
+*** 59538,59540 ****
+  vi/MDR
+! vim/MS
+  vinaigrette/MS
+--- 59538,59540 ----
+  vi/MDR
+! Vim/MS
+  vinaigrette/MS
diff --git a/src/spell/fr_FR.diff b/src/spell/fr_FR.diff
new file mode 100644 (file)
index 0000000..0c955de
--- /dev/null
@@ -0,0 +1,11 @@
+*** fr_FR.orig.aff     Sun Apr 14 17:18:22 2002
+--- fr_FR.aff  Sat Apr 23 19:57:26 2005
+***************
+*** 3,4 ****
+--- 3,8 ----
+  
++ FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
++ LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
++ UPP  ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
++ 
+  PFX A Y 10
diff --git a/src/spell/nl_NL.diff b/src/spell/nl_NL.diff
new file mode 100644 (file)
index 0000000..cdc3146
--- /dev/null
@@ -0,0 +1,153 @@
+*** nl_NL.orig.aff     Wed Apr 20 11:48:16 2005
+--- nl_NL.aff  Sat Apr 23 16:48:27 2005
+***************
+*** 3,4 ****
+--- 3,8 ----
+  
++ FOL  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
++ LOW  àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
++ UPP  ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
++ 
+  NOSPLITSUGS
+***************
+*** 33,52 ****
+  SFX J N 18
+! SFX J 0 tje [aeiou][aeiou] 
+! SFX J 0 tjes [aeiou][aeiou] 
+! SFX J 0 atje [^aeiou]a 
+! SFX J 0 atjes [^aeiou]a 
+! SFX J 0 etje [^aeiou]i 
+! SFX J 0 etjes [^aeiou]i 
+  SFX J 0 'tje [^aeiou]y
+! SFX J 0 'tjes [^aeiou]y 
+  SFX J 0 otje [^aeiou]o
+! SFX J 0 otjes [^aeiou]o 
+  SFX J 0 utje [^aeiou]u
+! SFX J 0 utjes [^aeiou]u 
+! SFX J 0 tje [aeiou][lnrw] 
+! SFX J 0 tjes [aeiou][lnrw] 
+! SFX J 0 pje [aeiou][m] 
+! SFX J 0 pjes [aeiou][m] 
+! SFX J 0 je [aeiou][bcdfgkpt] 
+! SFX J 0 jes [aeiou][bcdfgkpt] 
+  
+--- 37,56 ----
+  SFX J N 18
+! SFX J 0 tje [aeiou][aeiou]
+! SFX J 0 tjes [aeiou][aeiou]
+! SFX J 0 atje [^aeiou]a
+! SFX J 0 atjes [^aeiou]a
+! SFX J 0 etje [^aeiou]i
+! SFX J 0 etjes [^aeiou]i
+  SFX J 0 'tje [^aeiou]y
+! SFX J 0 'tjes [^aeiou]y
+  SFX J 0 otje [^aeiou]o
+! SFX J 0 otjes [^aeiou]o
+  SFX J 0 utje [^aeiou]u
+! SFX J 0 utjes [^aeiou]u
+! SFX J 0 tje [aeiou][lnrw]
+! SFX J 0 tjes [aeiou][lnrw]
+! SFX J 0 pje [aeiou][m]
+! SFX J 0 pjes [aeiou][m]
+! SFX J 0 je [aeiou][bcdfgkpt]
+! SFX J 0 jes [aeiou][bcdfgkpt]
+  
+***************
+*** 253,255 ****
+  REP ubi ibu
+! REP croc krok 
+  REP ten than
+--- 257,259 ----
+  REP ubi ibu
+! REP croc krok
+  REP ten than
+***************
+*** 288,290 ****
+  REP capucino cappuccino
+! REP celcius Celsius 
+  REP kado cadeau
+--- 292,294 ----
+  REP capucino cappuccino
+! REP celcius Celsius
+  REP kado cadeau
+***************
+*** 294,300 ****
+  REP committee comité
+! REP komitee comité 
+! REP komittee comité 
+! REP kommitee comité 
+  REP kommittee comité
+! REP kwis quiz 
+  REP kwissen quizzen
+--- 298,304 ----
+  REP committee comité
+! REP komitee comité
+! REP komittee comité
+! REP kommitee comité
+  REP kommittee comité
+! REP kwis quiz
+  REP kwissen quizzen
+***************
+*** 302,304 ****
+  REP copy kopij
+! REP pitoresque pittoreske 
+  REP reikweite reikwijdte
+--- 306,308 ----
+  REP copy kopij
+! REP pitoresque pittoreske
+  REP reikweite reikwijdte
+***************
+*** 314,319 ****
+  REP klup club
+! REP wiskid whizzkid 
+! REP kontakt contact 
+! REP kontekst context 
+! REP korrekt correct 
+  REP kritikus criticus
+--- 318,323 ----
+  REP klup club
+! REP wiskid whizzkid
+! REP kontakt contact
+! REP kontekst context
+! REP korrekt correct
+  REP kritikus criticus
+*** nl_NL.orig.dic     Tue Apr 19 21:03:15 2005
+--- nl_NL.dic  Wed Apr 20 18:47:07 2005
+***************
+*** 91,93 ****
+  Athene
+- Athene
+  Atjees/E
+--- 91,92 ----
+***************
+*** 216,217 ****
+--- 215,218 ----
+  Brussels/E
++ BTW
++ B.T.W.
+  Budel
+***************
+*** 325,326 ****
+--- 326,328 ----
+  Duurstede
++ DVD
+  Dwingeloo
+***************
+*** 813,814 ****
+--- 815,817 ----
+  Montfort
++ Moolenaar/X
+  Moordrecht
+***************
+*** 46300,46301 ****
+--- 46303,46305 ----
+  informaticus
++ informatie/S
+  informatie-uitwisseling
+***************
+*** 60206,60207 ****
+--- 60210,60213 ----
+  löss
++ m.a.w.
++ m.b.t.
+  ma/JW
diff --git a/src/spell/pl_PL.diff b/src/spell/pl_PL.diff
new file mode 100644 (file)
index 0000000..56de6e1
--- /dev/null
@@ -0,0 +1,10 @@
+*** pl_PL.orig.aff     Wed Mar 30 06:50:02 2005
+--- pl_PL.aff  Sat Apr 23 20:11:15 2005
+***************
+*** 3,4 ****
+--- 3,7 ----
+  
++ FOL ±¢³µ¶¨¹º»¼¾¿±²³´µ¶·¸¹º»¼½¾¿àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
++ LOW ±¢³µ¶¨¹º»¼¾¿±²³´µ¶·¸¹º»¼½¾¿àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
++ UPP ¡¢£¥¦¨©ª«¬®¯±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ
+  
index 757f981ffb578f0c778a5e2d9ae70f45cc7306ec..d1565c9316b3f03daaf25c3129d00724f52ea1b8 100644 (file)
@@ -36,5 +36,5 @@
 #define VIM_VERSION_NODOT      "vim70aa"
 #define VIM_VERSION_SHORT      "7.0aa"
 #define VIM_VERSION_MEDIUM     "7.0aa ALPHA"
-#define VIM_VERSION_LONG       "VIM - Vi IMproved 7.0aa ALPHA (2005 Apr 20)"
-#define VIM_VERSION_LONG_DATE  "VIM - Vi IMproved 7.0aa ALPHA (2005 Apr 20, compiled "
+#define VIM_VERSION_LONG       "VIM - Vi IMproved 7.0aa ALPHA (2005 Apr 23)"
+#define VIM_VERSION_LONG_DATE  "VIM - Vi IMproved 7.0aa ALPHA (2005 Apr 23, compiled "