diff options
author | vimboss <devnull@localhost> | 2005-04-23 20:52:00 +0000 |
---|---|---|
committer | vimboss <devnull@localhost> | 2005-04-23 20:52:00 +0000 |
commit | 1510acf78bb5624b706be34a229524821b32e31b (patch) | |
tree | 90fae818982fa882007e8c077c30c61a08bfeb38 | |
parent | dc76cdff0d2c55c11b0e1cbbfa848b9f7df6524b (diff) | |
download | vim-1510acf78bb5624b706be34a229524821b32e31b.tar.gz |
updated for version 7.0070
-rw-r--r-- | Filelist | 2 | ||||
-rw-r--r-- | runtime/doc/eval.txt | 11 | ||||
-rw-r--r-- | runtime/doc/spell.txt | 50 | ||||
-rw-r--r-- | runtime/doc/tags | 6 | ||||
-rw-r--r-- | runtime/lang/menu_sv_se.latin1.vim | 18 | ||||
-rw-r--r-- | runtime/spell/en.latin1.spl | bin | 1103511 -> 1103766 bytes | |||
-rwxr-xr-x | src/auto/configure | 9 | ||||
-rw-r--r-- | src/charset.c | 405 | ||||
-rw-r--r-- | src/config.h.in | 2 | ||||
-rw-r--r-- | src/configure.in | 5 | ||||
-rw-r--r-- | src/option.c | 28 | ||||
-rw-r--r-- | src/proto/spell.pro | 1 | ||||
-rw-r--r-- | src/screen.c | 5 | ||||
-rw-r--r-- | src/spell/Makefile | 93 | ||||
-rw-r--r-- | src/spell/en_GB.diff | 2268 | ||||
-rw-r--r-- | src/spell/en_US.diff | 102 | ||||
-rw-r--r-- | src/spell/fr_FR.diff | 11 | ||||
-rw-r--r-- | src/spell/nl_NL.diff | 153 | ||||
-rw-r--r-- | src/spell/pl_PL.diff | 10 | ||||
-rw-r--r-- | src/version.h | 4 |
20 files changed, 3091 insertions, 92 deletions
@@ -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 diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index a0e446fc..d9020a74 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -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()* diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt index 0f359a4c..906e5cc9 100644 --- a/runtime/doc/spell.txt +++ b/runtime/doc/spell.txt @@ -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: diff --git a/runtime/doc/tags b/runtime/doc/tags index f9c52519..d86423ab 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -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* diff --git a/runtime/lang/menu_sv_se.latin1.vim b/runtime/lang/menu_sv_se.latin1.vim index abeb562a..e436d948 100644 --- a/runtime/lang/menu_sv_se.latin1.vim +++ b/runtime/lang/menu_sv_se.latin1.vim @@ -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äge 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äxla\ radbrytning\ vid\ ord<ta 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äng\ alla\ veck<Tab>zM 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 diff --git a/runtime/spell/en.latin1.spl b/runtime/spell/en.latin1.spl Binary files differindex d9640c73..78de0c61 100644 --- a/runtime/spell/en.latin1.spl +++ b/runtime/spell/en.latin1.spl diff --git a/src/auto/configure b/src/auto/configure index f22fee3d..2d36fa83 100755 --- a/src/auto/configure +++ b/src/auto/configure @@ -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 @@ -10989,6 +10989,7 @@ fi + for ac_header in stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \ termcap.h fcntl.h sgtty.h sys/ioctl.h sys/time.h termio.h \ iconv.h langinfo.h unistd.h stropts.h errno.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 @@ -13372,12 +13373,14 @@ fi + for ac_func in bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \ getpwnam getpwuid getrlimit gettimeofday getwd lstat memcmp \ 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 diff --git a/src/charset.c b/src/charset.c index a82a7264..00a5326c 100644 --- a/src/charset.c +++ b/src/charset.c @@ -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 diff --git a/src/config.h.in b/src/config.h.in index f9159aa5..0ecc7b1e 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -180,6 +180,7 @@ #undef HAVE_TGETENT #undef HAVE_TOWLOWER #undef HAVE_TOWUPPER +#undef HAVE_ISWUPPER #undef HAVE_USLEEP #undef HAVE_UTIME #undef HAVE_BIND_TEXTDOMAIN_CODESET @@ -224,6 +225,7 @@ #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 diff --git a/src/configure.in b/src/configure.in index fb8e3305..af18d880 100644 --- a/src/configure.in +++ b/src/configure.in @@ -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) diff --git a/src/option.c b/src/option.c index cf5e9b40..ee33df95 100644 --- a/src/option.c +++ b/src/option.c @@ -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); diff --git a/src/proto/spell.pro b/src/proto/spell.pro index 5f91f423..e56eb929 100644 --- a/src/proto/spell.pro +++ b/src/proto/spell.pro @@ -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 : */ diff --git a/src/screen.c b/src/screen.c index b2e11812..58fb4d02 100644 --- a/src/screen.c +++ b/src/screen.c @@ -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 index 00000000..ff5b7544 --- /dev/null +++ b/src/spell/Makefile @@ -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 index 00000000..7f7ec13d --- /dev/null +++ b/src/spell/en_GB.diff @@ -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 index 00000000..be26dfa6 --- /dev/null +++ b/src/spell/en_US.diff @@ -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 index 00000000..0c955dea --- /dev/null +++ b/src/spell/fr_FR.diff @@ -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 index 00000000..cdc3146f --- /dev/null +++ b/src/spell/nl_NL.diff @@ -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 index 00000000..56de6e1e --- /dev/null +++ b/src/spell/pl_PL.diff @@ -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 ¡¢£¥¦¨©ª«¬®¯±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ + diff --git a/src/version.h b/src/version.h index 757f981f..d1565c93 100644 --- a/src/version.h +++ b/src/version.h @@ -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 " |