diff --git a/extensions/spellcheck/hunspell/Makefile.in b/extensions/spellcheck/hunspell/Makefile.in new file mode 100644 index 00000000000..e03e9115350 --- /dev/null +++ b/extensions/spellcheck/hunspell/Makefile.in @@ -0,0 +1,47 @@ +# ****** BEGIN LICENSE BLOCK ****** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Initial Developers of the Original Code are Kevin Hendricks (MySpell) +# and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers +# are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. +# +# Contributor(s): David Einstein (deinst@world.std.com) +# László Németh (nemethl@gyorsposta.hu) +# Ryan VanderMeulen (ryanvm@gmail.com) +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# and other provisions required by the GPL or the LGPL. If you do not delete +# the provisions above, a recipient may use your version of this file under +# the terms of any one of the MPL, the GPL or the LGPL. +# +# ****** END LICENSE BLOCK ****** + +DEPTH = ../../.. +topsrcdir = @top_srcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +include $(DEPTH)/config/autoconf.mk + +MODULE = hunspell +DIRS = src + +include $(topsrcdir)/config/rules.mk + diff --git a/extensions/spellcheck/hunspell/src/Makefile.in b/extensions/spellcheck/hunspell/src/Makefile.in new file mode 100644 index 00000000000..d4ffd86c89e --- /dev/null +++ b/extensions/spellcheck/hunspell/src/Makefile.in @@ -0,0 +1,76 @@ +# ****** BEGIN LICENSE BLOCK ****** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Initial Developers of the Original Code are Kevin Hendricks (MySpell) +# and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers +# are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. +# +# Contributor(s): David Einstein (deinst@world.std.com) +# László Németh (nemethl@gyorsposta.hu) +# Ryan VanderMeulen (ryanvm@gmail.com) +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# and other provisions required by the GPL or the LGPL. If you do not delete +# the provisions above, a recipient may use your version of this file under +# the terms of any one of the MPL, the GPL or the LGPL. +# +# ****** END LICENSE BLOCK ****** + +DEPTH = ../../../.. +topsrcdir = @top_srcdir@ +srcdir = @srcdir@ +VPATH = @srcdir@ + +include $(DEPTH)/config/autoconf.mk + +MODULE = hunspell +LIBRARY_NAME = hunspell_s +FORCE_STATIC_LIB = 1 +LIBXUL_LIBRARY = 1 + +REQUIRES = xpcom \ + string \ + uconv \ + unicharutil \ + spellchecker \ + xulapp \ + $(NULL) + +CPPSRCS = affentry.cpp \ + affixmgr.cpp \ + hashmgr.cpp \ + suggestmgr.cpp \ + csutil.cpp \ + hunspell.cpp \ + mozHunspell.cpp \ + $(NULL) + +ifdef MOZ_XUL_APP +CPPSRCS += mozHunspellDirProvider.cpp +endif + +EXTRA_DSO_LDOPTS = \ + $(LIBS_DIR) \ + $(XPCOM_LIBS) \ + $(NSPR_LIBS) \ + $(MOZ_UNICHARUTIL_LIBS) \ + $(NULL) + +include $(topsrcdir)/config/rules.mk diff --git a/extensions/spellcheck/hunspell/src/README.hunspell b/extensions/spellcheck/hunspell/src/README.hunspell new file mode 100644 index 00000000000..b2f37565050 --- /dev/null +++ b/extensions/spellcheck/hunspell/src/README.hunspell @@ -0,0 +1,59 @@ +******* BEGIN LICENSE BLOCK ******* +* Version: MPL 1.1/GPL 2.0/LGPL 2.1 +* +* The contents of this file are subject to the Mozilla Public License Version +* 1.1 (the "License"); you may not use this file except in compliance with +* the License. You may obtain a copy of the License at +* http://www.mozilla.org/MPL/ +* +* Software distributed under the License is distributed on an "AS IS" basis, +* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +* for the specific language governing rights and limitations under the +* License. +* +* The Initial Developers of the Original Code are Kevin Hendricks (MySpell) +* and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers +* are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. +* +* Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) +* László Németh (nemethl@gyorsposta.hu) +* David Einstein (deinst@world.std.com) +* Ryan VanderMeulen (ryanvm@gmail.com) +* +* Alternatively, the contents of this file may be used under the terms of +* either the GNU General Public License Version 2 or later (the "GPL"), or +* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +* in which case the provisions of the GPL or the LGPL are applicable instead +* of those above. If you wish to allow use of your version of this file only +* under the terms of either the GPL or the LGPL, and not to allow others to +* use your version of this file under the terms of the MPL, indicate your +* decision by deleting the provisions above and replace them with the notice +* and other provisions required by the GPL or the LGPL. If you do not delete +* the provisions above, a recipient may use your version of this file under +* the terms of any one of the MPL, the GPL or the LGPL. +* +******* END LICENSE BLOCK ******* + +Hunspell Version: 1.1.6 + +Hunspell Author: László Németh +MySpell Author: Kevin Hendricks & David Einstein + +Hunspell is a spell checker and morphological analyser library. Hunspell +is based on OpenOffice.org's Myspell. Documentation, tests, and examples +are available at http://hunspell.sourceforge.net. + +A special thanks and credit goes to Geoff Kuenning, the creator of Ispell. +MySpell's affix algorithms were based on those of Ispell, which should be +noted is copyright Geoff Kuenning et.al. and now available under a BSD-style +license. For more information on Ispell and affix compression in general, +please see: http://lasr.cs.ucla.edu/geoff/ispell.html (Ispell homepage) + +An almost complete rewrite of MySpell for use by the Mozilla project was +developed by David Einstein. David was a significant help in improving MySpell. + +Special thanks also goes to László Németh, who is the author of the Hungarian +dictionary and who developed and contributed the code to support compound words +in MySpell and fixed numerous problems with the encoding case conversion tables +along with rewriting MySpell as Hunspell and ensuring compatibility with the +Mozilla codebase. diff --git a/extensions/spellcheck/hunspell/src/affentry.cpp b/extensions/spellcheck/hunspell/src/affentry.cpp new file mode 100644 index 00000000000..42f114e1ba4 --- /dev/null +++ b/extensions/spellcheck/hunspell/src/affentry.cpp @@ -0,0 +1,923 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) + * László Németh (nemethl@gyorsposta.hu) + * David Einstein (deinst@world.std.com) + * Davide Prina + * Giuseppe Modugno + * Gianluca Turconi + * Simon Brouwer + * Noll Janos + * Biro Arpad + * Goldman Eleonora + * Sarlos Tamas + * Bencsath Boldizsar + * Halacsy Peter + * Dvornik Laszlo + * Gefferth Andras + * Nagy Viktor + * Varga Daniel + * Chris Halls + * Rene Engelhard + * Bram Moolenaar + * Dafydd Jones + * Harri Pitkanen + * Andras Timar + * Tor Lillqvist + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#ifndef MOZILLA_CLIENT +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif + +#include "affentry.hxx" +#include "csutil.hxx" + +#ifndef MOZILLA_CLIENT +#ifndef W32 +using namespace std; +#endif +#endif + + +PfxEntry::PfxEntry(AffixMgr* pmgr, affentry* dp) +{ + // register affix manager + pmyMgr = pmgr; + + // set up its intial values + + aflag = dp->aflag; // flag + strip = dp->strip; // string to strip + appnd = dp->appnd; // string to append + stripl = dp->stripl; // length of strip string + appndl = dp->appndl; // length of append string + numconds = dp->numconds; // number of conditions to match + opts = dp->opts; // cross product flag + // then copy over all of the conditions + memcpy(&conds.base[0],&dp->conds.base[0],SETSIZE*sizeof(conds.base[0])); + next = NULL; + nextne = NULL; + nexteq = NULL; +#ifdef HUNSPELL_EXPERIMENTAL + morphcode = dp->morphcode; +#endif + contclass = dp->contclass; + contclasslen = dp->contclasslen; +} + + +PfxEntry::~PfxEntry() +{ + aflag = 0; + if (appnd) free(appnd); + if (strip) free(strip); + pmyMgr = NULL; + appnd = NULL; + strip = NULL; + if (opts & aeUTF8) { + for (int i = 0; i < 8; i++) { + if (conds.utf8.wchars[i]) free(conds.utf8.wchars[i]); + } + } +#ifdef HUNSPELL_EXPERIMENTAL + if (morphcode && !(opts & aeALIASM)) free(morphcode); +#endif + if (contclass && !(opts & aeALIASF)) free(contclass); +} + +// add prefix to this word assuming conditions hold +char * PfxEntry::add(const char * word, int len) +{ + char tword[MAXWORDUTF8LEN + 4]; + + if ((len > stripl) && (len >= numconds) && test_condition(word) && + (!stripl || (strncmp(word, strip, stripl) == 0)) && + ((MAXWORDUTF8LEN + 4) > (len + appndl - stripl))) { + /* we have a match so add prefix */ + char * pp = tword; + if (appndl) { + strcpy(tword,appnd); + pp += appndl; + } + strcpy(pp, (word + stripl)); + return mystrdup(tword); + } + return NULL; +} + + +inline int PfxEntry::test_condition(const char * st) +{ + int cond; + unsigned char * cp = (unsigned char *)st; + if (!(opts & aeUTF8)) { // 256-character codepage + for (cond = 0; cond < numconds; cond++) { + if ((conds.base[*cp++] & (1 << cond)) == 0) return 0; + } + } else { // UTF-8 encoding + unsigned short wc; + for (cond = 0; cond < numconds; cond++) { + // a simple 7-bit ASCII character in UTF-8 + if ((*cp >> 7) == 0) { + // also check limit (end of word) + if ((!*cp) || ((conds.utf8.ascii[*cp++] & (1 << cond)) == 0)) return 0; + // UTF-8 multibyte character + } else { + // not dot wildcard in rule + if (!conds.utf8.all[cond]) { + if (conds.utf8.neg[cond]) { + u8_u16((w_char *) &wc, 1, (char *) cp); + if (conds.utf8.wchars[cond] && + flag_bsearch((unsigned short *)conds.utf8.wchars[cond], + wc, (short) conds.utf8.wlen[cond])) return 0; + } else { + if (!conds.utf8.wchars[cond]) return 0; + u8_u16((w_char *) &wc, 1, (char *) cp); + if (!flag_bsearch((unsigned short *)conds.utf8.wchars[cond], + wc, (short)conds.utf8.wlen[cond])) return 0; + } + } + // jump to next UTF-8 character + for(cp++; (*cp & 0xc0) == 0x80; cp++); + } + } + } + return 1; +} + + +// check if this prefix entry matches +struct hentry * PfxEntry::checkword(const char * word, int len, char in_compound, const FLAG needflag) +{ + int tmpl; // length of tmpword + struct hentry * he; // hash entry of root word or NULL + char tmpword[MAXWORDUTF8LEN + 4]; + + // on entry prefix is 0 length or already matches the beginning of the word. + // So if the remaining root word has positive length + // and if there are enough chars in root word and added back strip chars + // to meet the number of characters conditions, then test it + + tmpl = len - appndl; + + if ((tmpl > 0) && (tmpl + stripl >= numconds)) { + + // generate new root word by removing prefix and adding + // back any characters that would have been stripped + + if (stripl) strcpy (tmpword, strip); + strcpy ((tmpword + stripl), (word + appndl)); + + // now make sure all of the conditions on characters + // are met. Please see the appendix at the end of + // this file for more info on exactly what is being + // tested + + // if all conditions are met then check if resulting + // root word in the dictionary + + if (test_condition(tmpword)) { + tmpl += stripl; + if ((he = pmyMgr->lookup(tmpword)) != NULL) { + do { + if (TESTAFF(he->astr, aflag, he->alen) && + // forbid single prefixes with pseudoroot flag + ! TESTAFF(contclass, pmyMgr->get_pseudoroot(), contclasslen) && + // needflag + ((!needflag) || TESTAFF(he->astr, needflag, he->alen) || + (contclass && TESTAFF(contclass, needflag, contclasslen)))) + return he; + he = he->next_homonym; // check homonyms + } while (he); + } + + // prefix matched but no root word was found + // if aeXPRODUCT is allowed, try again but now + // ross checked combined with a suffix + + //if ((opts & aeXPRODUCT) && in_compound) { + if ((opts & aeXPRODUCT)) { + he = pmyMgr->suffix_check(tmpword, tmpl, aeXPRODUCT, (AffEntry *)this, NULL, + 0, NULL, FLAG_NULL, needflag, in_compound); + if (he) return he; + } + } + } + return NULL; +} + +// check if this prefix entry matches +struct hentry * PfxEntry::check_twosfx(const char * word, int len, + char in_compound, const FLAG needflag) +{ + int tmpl; // length of tmpword + struct hentry * he; // hash entry of root word or NULL + char tmpword[MAXWORDUTF8LEN + 4]; + + // on entry prefix is 0 length or already matches the beginning of the word. + // So if the remaining root word has positive length + // and if there are enough chars in root word and added back strip chars + // to meet the number of characters conditions, then test it + + tmpl = len - appndl; + + if ((tmpl > 0) && (tmpl + stripl >= numconds)) { + + // generate new root word by removing prefix and adding + // back any characters that would have been stripped + + if (stripl) strcpy (tmpword, strip); + strcpy ((tmpword + stripl), (word + appndl)); + + // now make sure all of the conditions on characters + // are met. Please see the appendix at the end of + // this file for more info on exactly what is being + // tested + + // if all conditions are met then check if resulting + // root word in the dictionary + + if (test_condition(tmpword)) { + tmpl += stripl; + + // prefix matched but no root word was found + // if aeXPRODUCT is allowed, try again but now + // cross checked combined with a suffix + + if ((opts & aeXPRODUCT) && (in_compound != IN_CPD_BEGIN)) { + he = pmyMgr->suffix_check_twosfx(tmpword, tmpl, aeXPRODUCT, (AffEntry *)this, needflag); + if (he) return he; + } + } + } + return NULL; +} + +#ifdef HUNSPELL_EXPERIMENTAL +// check if this prefix entry matches +char * PfxEntry::check_twosfx_morph(const char * word, int len, + char in_compound, const FLAG needflag) +{ + int tmpl; // length of tmpword + char tmpword[MAXWORDUTF8LEN + 4]; + + // on entry prefix is 0 length or already matches the beginning of the word. + // So if the remaining root word has positive length + // and if there are enough chars in root word and added back strip chars + // to meet the number of characters conditions, then test it + + tmpl = len - appndl; + + if ((tmpl > 0) && (tmpl + stripl >= numconds)) { + + // generate new root word by removing prefix and adding + // back any characters that would have been stripped + + if (stripl) strcpy (tmpword, strip); + strcpy ((tmpword + stripl), (word + appndl)); + + // now make sure all of the conditions on characters + // are met. Please see the appendix at the end of + // this file for more info on exactly what is being + // tested + + // if all conditions are met then check if resulting + // root word in the dictionary + + if (test_condition(tmpword)) { + tmpl += stripl; + + // prefix matched but no root word was found + // if aeXPRODUCT is allowed, try again but now + // ross checked combined with a suffix + + if ((opts & aeXPRODUCT) && (in_compound != IN_CPD_BEGIN)) { + return pmyMgr->suffix_check_twosfx_morph(tmpword, tmpl, + aeXPRODUCT, (AffEntry *)this, needflag); + } + } + } + return NULL; +} + +// check if this prefix entry matches +char * PfxEntry::check_morph(const char * word, int len, char in_compound, const FLAG needflag) +{ + int tmpl; // length of tmpword + struct hentry * he; // hash entry of root word or NULL + char tmpword[MAXWORDUTF8LEN + 4]; + char result[MAXLNLEN]; + char * st; + + *result = '\0'; + + // on entry prefix is 0 length or already matches the beginning of the word. + // So if the remaining root word has positive length + // and if there are enough chars in root word and added back strip chars + // to meet the number of characters conditions, then test it + + tmpl = len - appndl; + + if ((tmpl > 0) && (tmpl + stripl >= numconds)) { + + // generate new root word by removing prefix and adding + // back any characters that would have been stripped + + if (stripl) strcpy (tmpword, strip); + strcpy ((tmpword + stripl), (word + appndl)); + + // now make sure all of the conditions on characters + // are met. Please see the appendix at the end of + // this file for more info on exactly what is being + // tested + + // if all conditions are met then check if resulting + // root word in the dictionary + + if (test_condition(tmpword)) { + tmpl += stripl; + if ((he = pmyMgr->lookup(tmpword)) != NULL) { + do { + if (TESTAFF(he->astr, aflag, he->alen) && + // forbid single prefixes with pseudoroot flag + ! TESTAFF(contclass, pmyMgr->get_pseudoroot(), contclasslen) && + // needflag + ((!needflag) || TESTAFF(he->astr, needflag, he->alen) || + (contclass && TESTAFF(contclass, needflag, contclasslen)))) { + if (morphcode) strcat(result, morphcode); else strcat(result,getKey()); + if (he->description) { + if ((*(he->description)=='[')||(*(he->description)=='<')) strcat(result,he->word); + strcat(result,he->description); + } + strcat(result, "\n"); + } + he = he->next_homonym; + } while (he); + } + + // prefix matched but no root word was found + // if aeXPRODUCT is allowed, try again but now + // ross checked combined with a suffix + + if ((opts & aeXPRODUCT) && (in_compound != IN_CPD_BEGIN)) { + st = pmyMgr->suffix_check_morph(tmpword, tmpl, aeXPRODUCT, (AffEntry *)this, + FLAG_NULL, needflag); + if (st) { + strcat(result, st); + free(st); + } + } + } + } + + if (*result) return mystrdup(result); + return NULL; +} +#endif // END OF HUNSPELL_EXPERIMENTAL CODE + +SfxEntry::SfxEntry(AffixMgr * pmgr, affentry* dp) +{ + // register affix manager + pmyMgr = pmgr; + + // set up its intial values + aflag = dp->aflag; // char flag + strip = dp->strip; // string to strip + appnd = dp->appnd; // string to append + stripl = dp->stripl; // length of strip string + appndl = dp->appndl; // length of append string + numconds = dp->numconds; // number of conditions to match + opts = dp->opts; // cross product flag + + // then copy over all of the conditions + memcpy(&conds.base[0],&dp->conds.base[0],SETSIZE*sizeof(conds.base[0])); + + rappnd = myrevstrdup(appnd); + +#ifdef HUNSPELL_EXPERIMENTAL + morphcode = dp->morphcode; +#endif + contclass = dp->contclass; + contclasslen = dp->contclasslen; +} + + +SfxEntry::~SfxEntry() +{ + aflag = 0; + if (appnd) free(appnd); + if (rappnd) free(rappnd); + if (strip) free(strip); + pmyMgr = NULL; + appnd = NULL; + strip = NULL; + if (opts & aeUTF8) { + for (int i = 0; i < 8; i++) { + if (conds.utf8.wchars[i]) free(conds.utf8.wchars[i]); + } + } +#ifdef HUNSPELL_EXPERIMENTAL + if (morphcode && !(opts & aeALIASM)) free(morphcode); +#endif + if (contclass && !(opts & aeALIASF)) free(contclass); +} + +// add suffix to this word assuming conditions hold +char * SfxEntry::add(const char * word, int len) +{ + char tword[MAXWORDUTF8LEN + 4]; + + /* make sure all conditions match */ + if ((len > stripl) && (len >= numconds) && test_condition(word + len, word) && + (!stripl || (strcmp(word + len - stripl, strip) == 0)) && + ((MAXWORDUTF8LEN + 4) > (len + appndl - stripl))) { + /* we have a match so add suffix */ + strcpy(tword,word); + if (appndl) { + strcpy(tword + len - stripl, appnd); + } else { + *(tword + len - stripl) = '\0'; + } + return mystrdup(tword); + } + return NULL; +} + + +inline int SfxEntry::test_condition(const char * st, const char * beg) +{ + int cond; + unsigned char * cp = (unsigned char *) st; + if (!(opts & aeUTF8)) { // 256-character codepage + // Domolki affix algorithm + for (cond = numconds; --cond >= 0; ) { + if ((conds.base[*--cp] & (1 << cond)) == 0) return 0; + } + } else { // UTF-8 encoding + unsigned short wc; + for (cond = numconds; --cond >= 0; ) { + // go to next character position and check limit + if ((char *) --cp < beg) return 0; + // a simple 7-bit ASCII character in UTF-8 + if ((*cp >> 7) == 0) { + if ((conds.utf8.ascii[*cp] & (1 << cond)) == 0) return 0; + // UTF-8 multibyte character + } else { + // go to first character of UTF-8 multibyte character + for (; (*cp & 0xc0) == 0x80; cp--); + // not dot wildcard in rule + if (!conds.utf8.all[cond]) { + if (conds.utf8.neg[cond]) { + u8_u16((w_char *) &wc, 1, (char *) cp); + if (conds.utf8.wchars[cond] && + flag_bsearch((unsigned short *)conds.utf8.wchars[cond], + wc, (short) conds.utf8.wlen[cond])) return 0; + } else { + if (!conds.utf8.wchars[cond]) return 0; + u8_u16((w_char *) &wc, 1, (char *) cp); + if (!flag_bsearch((unsigned short *)conds.utf8.wchars[cond], + wc, (short)conds.utf8.wlen[cond])) return 0; + } + } + } + } + } + return 1; +} + + + +// see if this suffix is present in the word +struct hentry * SfxEntry::checkword(const char * word, int len, int optflags, + AffEntry* ppfx, char ** wlst, int maxSug, int * ns, const FLAG cclass, const FLAG needflag, + const FLAG badflag) +{ + int tmpl; // length of tmpword + struct hentry * he; // hash entry pointer + unsigned char * cp; + char tmpword[MAXWORDUTF8LEN + 4]; + PfxEntry* ep = (PfxEntry *) ppfx; + + // if this suffix is being cross checked with a prefix + // but it does not support cross products skip it + + if (((optflags & aeXPRODUCT) != 0) && ((opts & aeXPRODUCT) == 0)) + return NULL; + + // upon entry suffix is 0 length or already matches the end of the word. + // So if the remaining root word has positive length + // and if there are enough chars in root word and added back strip chars + // to meet the number of characters conditions, then test it + + tmpl = len - appndl; + // the second condition is not enough for UTF-8 strings + // it checked in test_condition() + + if ((tmpl > 0) && (tmpl + stripl >= numconds)) { + + // generate new root word by removing suffix and adding + // back any characters that would have been stripped or + // or null terminating the shorter string + + strcpy (tmpword, word); + cp = (unsigned char *)(tmpword + tmpl); + if (stripl) { + strcpy ((char *)cp, strip); + tmpl += stripl; + cp = (unsigned char *)(tmpword + tmpl); + } else *cp = '\0'; + + // now make sure all of the conditions on characters + // are met. Please see the appendix at the end of + // this file for more info on exactly what is being // tested + + // if all conditions are met then check if resulting + // root word in the dictionary + + if (test_condition((char *) cp, (char *) tmpword)) { + +#ifdef SZOSZABLYA_POSSIBLE_ROOTS + fprintf(stdout,"%s %s %c\n", word, tmpword, aflag); +#endif + if ((he = pmyMgr->lookup(tmpword)) != NULL) { + do { + // check conditional suffix (enabled by prefix) + if ((TESTAFF(he->astr, aflag, he->alen) || (ep && ep->getCont() && + TESTAFF(ep->getCont(), aflag, ep->getContLen()))) && + (((optflags & aeXPRODUCT) == 0) || + TESTAFF(he->astr, ep->getFlag(), he->alen) || + // enabled by prefix + ((contclass) && TESTAFF(contclass, ep->getFlag(), contclasslen)) + ) && + // handle cont. class + ((!cclass) || + ((contclass) && TESTAFF(contclass, cclass, contclasslen)) + ) && + // check only in compound homonyms (bad flags) + (!badflag || !TESTAFF(he->astr, badflag, he->alen) + ) && + // handle required flag + ((!needflag) || + (TESTAFF(he->astr, needflag, he->alen) || + ((contclass) && TESTAFF(contclass, needflag, contclasslen))) + ) + ) return he; + he = he->next_homonym; // check homonyms + } while (he); + + // obsolote stemming code (used only by the + // experimental SuffixMgr:suggest_pos_stems) + // store resulting root in wlst + } else if (wlst && (*ns < maxSug)) { + int cwrd = 1; + for (int k=0; k < *ns; k++) + if (strcmp(tmpword, wlst[k]) == 0) cwrd = 0; + if (cwrd) { + wlst[*ns] = mystrdup(tmpword); + if (wlst[*ns] == NULL) { + for (int j=0; j<*ns; j++) free(wlst[j]); + *ns = -1; + return NULL; + } + (*ns)++; + } + } + } + } + return NULL; +} + +// see if two-level suffix is present in the word +struct hentry * SfxEntry::check_twosfx(const char * word, int len, int optflags, + AffEntry* ppfx, const FLAG needflag) +{ + int tmpl; // length of tmpword + struct hentry * he; // hash entry pointer + unsigned char * cp; + char tmpword[MAXWORDUTF8LEN + 4]; + PfxEntry* ep = (PfxEntry *) ppfx; + + + // if this suffix is being cross checked with a prefix + // but it does not support cross products skip it + + if ((optflags & aeXPRODUCT) != 0 && (opts & aeXPRODUCT) == 0) + return NULL; + + // upon entry suffix is 0 length or already matches the end of the word. + // So if the remaining root word has positive length + // and if there are enough chars in root word and added back strip chars + // to meet the number of characters conditions, then test it + + tmpl = len - appndl; + + if ((tmpl > 0) && (tmpl + stripl >= numconds)) { + + // generate new root word by removing suffix and adding + // back any characters that would have been stripped or + // or null terminating the shorter string + + strcpy (tmpword, word); + cp = (unsigned char *)(tmpword + tmpl); + if (stripl) { + strcpy ((char *)cp, strip); + tmpl += stripl; + cp = (unsigned char *)(tmpword + tmpl); + } else *cp = '\0'; + + // now make sure all of the conditions on characters + // are met. Please see the appendix at the end of + // this file for more info on exactly what is being + // tested + + // if all conditions are met then recall suffix_check + + if (test_condition((char *) cp, (char *) tmpword)) { + if (ppfx) { + // handle conditional suffix + if ((contclass) && TESTAFF(contclass, ep->getFlag(), contclasslen)) + he = pmyMgr->suffix_check(tmpword, tmpl, 0, NULL, NULL, 0, NULL, (FLAG) aflag, needflag); + else + he = pmyMgr->suffix_check(tmpword, tmpl, optflags, ppfx, NULL, 0, NULL, (FLAG) aflag, needflag); + } else { + he = pmyMgr->suffix_check(tmpword, tmpl, 0, NULL, NULL, 0, NULL, (FLAG) aflag, needflag); + } + if (he) return he; + } + } + return NULL; +} + +#ifdef HUNSPELL_EXPERIMENTAL +// see if two-level suffix is present in the word +char * SfxEntry::check_twosfx_morph(const char * word, int len, int optflags, + AffEntry* ppfx, const FLAG needflag) +{ + int tmpl; // length of tmpword + unsigned char * cp; + char tmpword[MAXWORDUTF8LEN + 4]; + PfxEntry* ep = (PfxEntry *) ppfx; + char * st; + + char result[MAXLNLEN]; + + *result = '\0'; + + // if this suffix is being cross checked with a prefix + // but it does not support cross products skip it + + if ((optflags & aeXPRODUCT) != 0 && (opts & aeXPRODUCT) == 0) + return NULL; + + // upon entry suffix is 0 length or already matches the end of the word. + // So if the remaining root word has positive length + // and if there are enough chars in root word and added back strip chars + // to meet the number of characters conditions, then test it + + tmpl = len - appndl; + + if ((tmpl > 0) && (tmpl + stripl >= numconds)) { + + // generate new root word by removing suffix and adding + // back any characters that would have been stripped or + // or null terminating the shorter string + + strcpy (tmpword, word); + cp = (unsigned char *)(tmpword + tmpl); + if (stripl) { + strcpy ((char *)cp, strip); + tmpl += stripl; + cp = (unsigned char *)(tmpword + tmpl); + } else *cp = '\0'; + + // now make sure all of the conditions on characters + // are met. Please see the appendix at the end of + // this file for more info on exactly what is being + // tested + + // if all conditions are met then recall suffix_check + + if (test_condition((char *) cp, (char *) tmpword)) { + if (ppfx) { + // handle conditional suffix + if ((contclass) && TESTAFF(contclass, ep->getFlag(), contclasslen)) { + st = pmyMgr->suffix_check_morph(tmpword, tmpl, 0, NULL, aflag, needflag); + if (st) { + if (((PfxEntry *) ppfx)->getMorph()) { + strcat(result, ((PfxEntry *) ppfx)->getMorph()); + } + strcat(result,st); + free(st); + mychomp(result); + } + } else { + st = pmyMgr->suffix_check_morph(tmpword, tmpl, optflags, ppfx, aflag, needflag); + if (st) { + strcat(result, st); + free(st); + mychomp(result); + } + } + } else { + st = pmyMgr->suffix_check_morph(tmpword, tmpl, 0, NULL, aflag, needflag); + if (st) { + strcat(result, st); + free(st); + mychomp(result); + } + } + if (*result) return mystrdup(result); + } + } + return NULL; +} +#endif // END OF HUNSPELL_EXPERIMENTAL CODE + +// get next homonym with same affix +struct hentry * SfxEntry::get_next_homonym(struct hentry * he, int optflags, AffEntry* ppfx, + const FLAG cclass, const FLAG needflag) +{ + PfxEntry* ep = (PfxEntry *) ppfx; + + while (he->next_homonym) { + he = he->next_homonym; + if ((TESTAFF(he->astr, aflag, he->alen) || (ep && ep->getCont() && TESTAFF(ep->getCont(), aflag, ep->getContLen()))) && + ((optflags & aeXPRODUCT) == 0 || + TESTAFF(he->astr, ep->getFlag(), he->alen) || + // handle conditional suffix + ((contclass) && TESTAFF(contclass, ep->getFlag(), contclasslen)) + ) && + // handle cont. class + ((!cclass) || + ((contclass) && TESTAFF(contclass, cclass, contclasslen)) + ) && + // handle required flag + ((!needflag) || + (TESTAFF(he->astr, needflag, he->alen) || + ((contclass) && TESTAFF(contclass, needflag, contclasslen))) + ) + ) return he; + } + return NULL; +} + + +#if 0 + +Appendix: Understanding Affix Code + + +An affix is either a prefix or a suffix attached to root words to make +other words. + +Basically a Prefix or a Suffix is set of AffEntry objects +which store information about the prefix or suffix along +with supporting routines to check if a word has a particular +prefix or suffix or a combination. + +The structure affentry is defined as follows: + +struct affentry +{ + unsigned short aflag; // ID used to represent the affix + char * strip; // string to strip before adding affix + char * appnd; // the affix string to add + unsigned char stripl; // length of the strip string + unsigned char appndl; // length of the affix string + char numconds; // the number of conditions that must be met + char opts; // flag: aeXPRODUCT- combine both prefix and suffix + char conds[SETSIZE]; // array which encodes the conditions to be met +}; + + +Here is a suffix borrowed from the en_US.aff file. This file +is whitespace delimited. + +SFX D Y 4 +SFX D 0 e d +SFX D y ied [^aeiou]y +SFX D 0 ed [^ey] +SFX D 0 ed [aeiou]y + +This information can be interpreted as follows: + +In the first line has 4 fields + +Field +----- +1 SFX - indicates this is a suffix +2 D - is the name of the character flag which represents this suffix +3 Y - indicates it can be combined with prefixes (cross product) +4 4 - indicates that sequence of 4 affentry structures are needed to + properly store the affix information + +The remaining lines describe the unique information for the 4 SfxEntry +objects that make up this affix. Each line can be interpreted +as follows: (note fields 1 and 2 are as a check against line 1 info) + +Field +----- +1 SFX - indicates this is a suffix +2 D - is the name of the character flag for this affix +3 y - the string of chars to strip off before adding affix + (a 0 here indicates the NULL string) +4 ied - the string of affix characters to add +5 [^aeiou]y - the conditions which must be met before the affix + can be applied + +Field 5 is interesting. Since this is a suffix, field 5 tells us that +there are 2 conditions that must be met. The first condition is that +the next to the last character in the word must *NOT* be any of the +following "a", "e", "i", "o" or "u". The second condition is that +the last character of the word must end in "y". + +So how can we encode this information concisely and be able to +test for both conditions in a fast manner? The answer is found +but studying the wonderful ispell code of Geoff Kuenning, et.al. +(now available under a normal BSD license). + +If we set up a conds array of 256 bytes indexed (0 to 255) and access it +using a character (cast to an unsigned char) of a string, we have 8 bits +of information we can store about that character. Specifically we +could use each bit to say if that character is allowed in any of the +last (or first for prefixes) 8 characters of the word. + +Basically, each character at one end of the word (up to the number +of conditions) is used to index into the conds array and the resulting +value found there says whether the that character is valid for a +specific character position in the word. + +For prefixes, it does this by setting bit 0 if that char is valid +in the first position, bit 1 if valid in the second position, and so on. + +If a bit is not set, then that char is not valid for that postion in the +word. + +If working with suffixes bit 0 is used for the character closest +to the front, bit 1 for the next character towards the end, ..., +with bit numconds-1 representing the last char at the end of the string. + +Note: since entries in the conds[] are 8 bits, only 8 conditions +(read that only 8 character positions) can be examined at one +end of a word (the beginning for prefixes and the end for suffixes. + +So to make this clearer, lets encode the conds array values for the +first two affentries for the suffix D described earlier. + + + For the first affentry: + numconds = 1 (only examine the last character) + + conds['e'] = (1 << 0) (the word must end in an E) + all others are all 0 + + For the second affentry: + numconds = 2 (only examine the last two characters) + + conds[X] = conds[X] | (1 << 0) (aeiou are not allowed) + where X is all characters *but* a, e, i, o, or u + + + conds['y'] = (1 << 1) (the last char must be a y) + all other bits for all other entries in the conds array are zero + + +#endif + diff --git a/extensions/spellcheck/hunspell/src/affentry.hxx b/extensions/spellcheck/hunspell/src/affentry.hxx new file mode 100644 index 00000000000..f0a2a941636 --- /dev/null +++ b/extensions/spellcheck/hunspell/src/affentry.hxx @@ -0,0 +1,187 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) + * László Németh (nemethl@gyorsposta.hu) + * David Einstein (deinst@world.std.com) + * Davide Prina + * Giuseppe Modugno + * Gianluca Turconi + * Simon Brouwer + * Noll Janos + * Biro Arpad + * Goldman Eleonora + * Sarlos Tamas + * Bencsath Boldizsar + * Halacsy Peter + * Dvornik Laszlo + * Gefferth Andras + * Nagy Viktor + * Varga Daniel + * Chris Halls + * Rene Engelhard + * Bram Moolenaar + * Dafydd Jones + * Harri Pitkanen + * Andras Timar + * Tor Lillqvist + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#ifndef _AFFIX_HXX_ +#define _AFFIX_HXX_ + +#include "atypes.hxx" +#include "baseaffix.hxx" +#include "affixmgr.hxx" + +/* A Prefix Entry */ + +class PfxEntry : public AffEntry +{ + AffixMgr* pmyMgr; + + PfxEntry * next; + PfxEntry * nexteq; + PfxEntry * nextne; + PfxEntry * flgnxt; + +public: + + PfxEntry(AffixMgr* pmgr, affentry* dp ); + ~PfxEntry(); + + inline bool allowCross() { return ((opts & aeXPRODUCT) != 0); } + struct hentry * checkword(const char * word, int len, char in_compound, + const FLAG needflag = FLAG_NULL); + + struct hentry * check_twosfx(const char * word, int len, char in_compound, const FLAG needflag = NULL); + + char * check_morph(const char * word, int len, char in_compound, + const FLAG needflag = FLAG_NULL); + + char * check_twosfx_morph(const char * word, int len, + char in_compound, const FLAG needflag = FLAG_NULL); + + inline FLAG getFlag() { return aflag; } + inline const char * getKey() { return appnd; } + char * add(const char * word, int len); + + inline short getKeyLen() { return appndl; } + + inline const char * getMorph() { return morphcode; } + + inline const unsigned short * getCont() { return contclass; } + inline short getContLen() { return contclasslen; } + + inline PfxEntry * getNext() { return next; } + inline PfxEntry * getNextNE() { return nextne; } + inline PfxEntry * getNextEQ() { return nexteq; } + inline PfxEntry * getFlgNxt() { return flgnxt; } + + inline void setNext(PfxEntry * ptr) { next = ptr; } + inline void setNextNE(PfxEntry * ptr) { nextne = ptr; } + inline void setNextEQ(PfxEntry * ptr) { nexteq = ptr; } + inline void setFlgNxt(PfxEntry * ptr) { flgnxt = ptr; } + + inline int test_condition(const char * st); +}; + + + + +/* A Suffix Entry */ + +class SfxEntry : public AffEntry +{ + AffixMgr* pmyMgr; + char * rappnd; + + SfxEntry * next; + SfxEntry * nexteq; + SfxEntry * nextne; + SfxEntry * flgnxt; + + SfxEntry * l_morph; + SfxEntry * r_morph; + SfxEntry * eq_morph; + +public: + + SfxEntry(AffixMgr* pmgr, affentry* dp ); + ~SfxEntry(); + + inline bool allowCross() { return ((opts & aeXPRODUCT) != 0); } + struct hentry * checkword(const char * word, int len, int optflags, + AffEntry* ppfx, char ** wlst, int maxSug, int * ns, +// const FLAG cclass = FLAG_NULL, const FLAG needflag = FLAG_NULL, char in_compound=IN_CPD_NOT); + const FLAG cclass = FLAG_NULL, const FLAG needflag = FLAG_NULL, const FLAG badflag = 0); + + struct hentry * check_twosfx(const char * word, int len, int optflags, AffEntry* ppfx, const FLAG needflag = NULL); + + char * check_twosfx_morph(const char * word, int len, int optflags, + AffEntry* ppfx, const FLAG needflag = FLAG_NULL); + struct hentry * get_next_homonym(struct hentry * he); + struct hentry * get_next_homonym(struct hentry * word, int optflags, AffEntry* ppfx, + const FLAG cclass, const FLAG needflag); + + + inline FLAG getFlag() { return aflag; } + inline const char * getKey() { return rappnd; } + char * add(const char * word, int len); + + + inline const char * getMorph() { return morphcode; } + + inline const unsigned short * getCont() { return contclass; } + inline short getContLen() { return contclasslen; } + inline const char * getAffix() { return appnd; } + + inline short getKeyLen() { return appndl; } + + inline SfxEntry * getNext() { return next; } + inline SfxEntry * getNextNE() { return nextne; } + inline SfxEntry * getNextEQ() { return nexteq; } + + inline SfxEntry * getLM() { return l_morph; } + inline SfxEntry * getRM() { return r_morph; } + inline SfxEntry * getEQM() { return eq_morph; } + inline SfxEntry * getFlgNxt() { return flgnxt; } + + inline void setNext(SfxEntry * ptr) { next = ptr; } + inline void setNextNE(SfxEntry * ptr) { nextne = ptr; } + inline void setNextEQ(SfxEntry * ptr) { nexteq = ptr; } + inline void setFlgNxt(SfxEntry * ptr) { flgnxt = ptr; } + + inline int test_condition(const char * st, const char * begin); +}; + +#endif + + diff --git a/extensions/spellcheck/hunspell/src/affixmgr.cpp b/extensions/spellcheck/hunspell/src/affixmgr.cpp new file mode 100644 index 00000000000..c5953b7012b --- /dev/null +++ b/extensions/spellcheck/hunspell/src/affixmgr.cpp @@ -0,0 +1,4003 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) + * László Németh (nemethl@gyorsposta.hu) + * David Einstein (deinst@world.std.com) + * Davide Prina + * Giuseppe Modugno + * Gianluca Turconi + * Simon Brouwer + * Noll Janos + * Biro Arpad + * Goldman Eleonora + * Sarlos Tamas + * Bencsath Boldizsar + * Halacsy Peter + * Dvornik Laszlo + * Gefferth Andras + * Nagy Viktor + * Varga Daniel + * Chris Halls + * Rene Engelhard + * Bram Moolenaar + * Dafydd Jones + * Harri Pitkanen + * Andras Timar + * Tor Lillqvist + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#ifndef MOZILLA_CLIENT +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif + +#include "affixmgr.hxx" +#include "affentry.hxx" +#include "langnum.hxx" + +#include "csutil.hxx" + +#ifndef MOZILLA_CLIENT +#ifndef W32 +using namespace std; +#endif +#endif + +AffixMgr::AffixMgr(const char * affpath, HashMgr* ptr) +{ + // register hash manager and load affix data from aff file + pHMgr = ptr; + trystring = NULL; + encoding=NULL; + utf8 = 0; + complexprefixes = 0; + maptable = NULL; + nummap = 0; + breaktable = NULL; + numbreak = 0; + reptable = NULL; + numrep = 0; + checkcpdtable = NULL; + numcheckcpd = 0; + defcpdtable = NULL; + numdefcpd = 0; + compoundflag = FLAG_NULL; // permits word in compound forms + compoundbegin = FLAG_NULL; // may be first word in compound forms + compoundmiddle = FLAG_NULL; // may be middle word in compound forms + compoundend = FLAG_NULL; // may be last word in compound forms + compoundroot = FLAG_NULL; // compound word signing flag + compoundpermitflag = FLAG_NULL; // compound permitting flag for suffixed word + compoundforbidflag = FLAG_NULL; // compound fordidden flag for suffixed word + checkcompounddup = 0; // forbid double words in compounds + checkcompoundrep = 0; // forbid bad compounds (may be non compound word with a REP substitution) + checkcompoundcase = 0; // forbid upper and lowercase combinations at word bounds + checkcompoundtriple = 0; // forbid compounds with triple letters + forbiddenword = FLAG_NULL; // forbidden word signing flag + nosuggest = FLAG_NULL; // don't suggest words signed with NOSUGGEST flag + lang = NULL; // language + langnum = 0; // language code (see http://l10n.openoffice.org/languages.html) + pseudoroot = FLAG_NULL; // forbidden root, allowed only with suffixes + cpdwordmax = -1; // default: unlimited wordcount in compound words + cpdmin = -1; // undefined + cpdmaxsyllable = 0; // default: unlimited syllablecount in compound words + cpdvowels=NULL; // vowels (for calculating of Hungarian compounding limit, O(n) search! XXX) + cpdvowels_utf16=NULL; // vowels for UTF-8 encoding (bsearch instead of O(n) search) + cpdvowels_utf16_len=0; // vowels + pfxappnd=NULL; // previous prefix for counting the syllables of prefix BUG + sfxappnd=NULL; // previous suffix for counting a special syllables BUG + cpdsyllablenum=NULL; // syllable count incrementing flag + checknum=0; // checking numbers, and word with numbers + wordchars=NULL; // letters + spec. word characters + wordchars_utf16=NULL; // letters + spec. word characters + wordchars_utf16_len=0; // letters + spec. word characters + ignorechars=NULL; // letters + spec. word characters + ignorechars_utf16=NULL; // letters + spec. word characters + ignorechars_utf16_len=0; // letters + spec. word characters + version=NULL; // affix and dictionary file version string + havecontclass=0; // flags of possible continuing classes (double affix) + // LEMMA_PRESENT: not put root into the morphological output. Lemma presents + // in morhological description in dictionary file. It's often combined with PSEUDOROOT. + lemma_present = FLAG_NULL; + circumfix = FLAG_NULL; + onlyincompound = FLAG_NULL; + flag_mode = FLAG_CHAR; // default one-character flags in affix and dic file + maxngramsugs = -1; // undefined + nosplitsugs = 0; + sugswithdots = 0; + keepcase = 0; + checksharps = 0; + + derived = NULL; // XXX not threadsafe variable for experimental stemming + sfx = NULL; + pfx = NULL; + + for (int i=0; i < SETSIZE; i++) { + pStart[i] = NULL; + sStart[i] = NULL; + pFlag[i] = NULL; + sFlag[i] = NULL; + } + + for (int j=0; j < CONTSIZE; j++) { + contclasses[j] = 0; + } + + if (parse_file(affpath)) { + HUNSPELL_WARNING(stderr, "Failure loading aff file %s\n",affpath); + } + + if (cpdmin == -1) cpdmin = MINCPDLEN; + +} + + +AffixMgr::~AffixMgr() +{ + + // pass through linked prefix entries and clean up + for (int i=0; i < SETSIZE ;i++) { + pFlag[i] = NULL; + PfxEntry * ptr = (PfxEntry *)pStart[i]; + PfxEntry * nptr = NULL; + while (ptr) { + nptr = ptr->getNext(); + delete(ptr); + ptr = nptr; + nptr = NULL; + } + } + + // pass through linked suffix entries and clean up + for (int j=0; j < SETSIZE ; j++) { + sFlag[j] = NULL; + SfxEntry * ptr = (SfxEntry *)sStart[j]; + SfxEntry * nptr = NULL; + while (ptr) { + nptr = ptr->getNext(); + delete(ptr); + ptr = nptr; + nptr = NULL; + } + sStart[j] = NULL; + } + + if (trystring) free(trystring); + trystring=NULL; + if (encoding) free(encoding); + encoding=NULL; + if (maptable) { + for (int j=0; j < nummap; j++) { + if (maptable[j].set) free(maptable[j].set); + if (maptable[j].set_utf16) free(maptable[j].set_utf16); + maptable[j].set = NULL; + maptable[j].len = 0; + } + free(maptable); + maptable = NULL; + } + nummap = 0; + if (breaktable) { + for (int j=0; j < numbreak; j++) { + if (breaktable[j]) free(breaktable[j]); + breaktable[j] = NULL; + } + free(breaktable); + breaktable = NULL; + } + numbreak = 0; + if (reptable) { + for (int j=0; j < numrep; j++) { + free(reptable[j].pattern); + free(reptable[j].pattern2); + reptable[j].pattern = NULL; + reptable[j].pattern2 = NULL; + } + free(reptable); + reptable = NULL; + } + if (defcpdtable) { + for (int j=0; j < numdefcpd; j++) { + free(defcpdtable[j].def); + defcpdtable[j].def = NULL; + } + free(defcpdtable); + defcpdtable = NULL; + } + numrep = 0; + if (checkcpdtable) { + for (int j=0; j < numcheckcpd; j++) { + free(checkcpdtable[j].pattern); + free(checkcpdtable[j].pattern2); + checkcpdtable[j].pattern = NULL; + checkcpdtable[j].pattern2 = NULL; + } + free(checkcpdtable); + checkcpdtable = NULL; + } + numcheckcpd = 0; + FREE_FLAG(compoundflag); + FREE_FLAG(compoundbegin); + FREE_FLAG(compoundmiddle); + FREE_FLAG(compoundend); + FREE_FLAG(compoundpermitflag); + FREE_FLAG(compoundforbidflag); + FREE_FLAG(compoundroot); + FREE_FLAG(forbiddenword); + FREE_FLAG(nosuggest); + FREE_FLAG(pseudoroot); + FREE_FLAG(lemma_present); + FREE_FLAG(circumfix); + FREE_FLAG(onlyincompound); + + cpdwordmax = 0; + pHMgr = NULL; + cpdmin = 0; + cpdmaxsyllable = 0; + if (cpdvowels) free(cpdvowels); + if (cpdvowels_utf16) free(cpdvowels_utf16); + if (cpdsyllablenum) free(cpdsyllablenum); + free_utf_tbl(); + if (lang) free(lang); + if (wordchars) free(wordchars); + if (wordchars_utf16) free(wordchars_utf16); + if (ignorechars) free(ignorechars); + if (ignorechars_utf16) free(ignorechars_utf16); + if (version) free(version); + if (derived) free(derived); + checknum=0; +} + + +// read in aff file and build up prefix and suffix entry objects +int AffixMgr::parse_file(const char * affpath) +{ + + // io buffers + char line[MAXLNLEN+1]; + + // affix type + char ft; + + // checking flag duplication + char dupflags[CONTSIZE]; + char dupflags_ini = 1; + + // first line indicator for removing byte order mark + int firstline = 1; + + // open the affix file + FILE * afflst; + afflst = fopen(affpath,"r"); + if (!afflst) { + HUNSPELL_WARNING(stderr, "error: could not open affix description file %s\n",affpath); + return 1; + } + + // step one is to parse the affix file building up the internal + // affix data structures + + + // read in each line ignoring any that do not + // start with a known line type indicator + while (fgets(line,MAXLNLEN,afflst)) { + mychomp(line); + + /* remove byte order mark */ + if (firstline) { + firstline = 0; + if (strncmp(line,"\xEF\xBB\xBF",3) == 0) { + memmove(line, line+3, strlen(line+3)+1); + HUNSPELL_WARNING(stderr, "warning: affix file begins with byte order mark: possible incompatibility with old Hunspell versions\n"); + } + } + + /* parse in the try string */ + if (strncmp(line,"TRY",3) == 0) { + if (parse_string(line, &trystring, "TRY")) { + fclose(afflst); + return 1; + } + } + + /* parse in the name of the character set used by the .dict and .aff */ + if (strncmp(line,"SET",3) == 0) { + if (parse_string(line, &encoding, "SET")) { + fclose(afflst); + return 1; + } + if (strcmp(encoding, "UTF-8") == 0) { + utf8 = 1; +#ifndef OPENOFFICEORG +#ifndef MOZILLA_CLIENT + if (initialize_utf_tbl()) return 1; +#endif +#endif + } + } + + /* parse COMPLEXPREFIXES for agglutinative languages with right-to-left writing system */ + if (strncmp(line,"COMPLEXPREFIXES",15) == 0) + complexprefixes = 1; + + /* parse in the flag used by the controlled compound words */ + if (strncmp(line,"COMPOUNDFLAG",12) == 0) { + if (parse_flag(line, &compoundflag, "COMPOUNDFLAG")) { + fclose(afflst); + return 1; + } + } + + /* parse in the flag used by compound words */ + if (strncmp(line,"COMPOUNDBEGIN",13) == 0) { + if (complexprefixes) { + if (parse_flag(line, &compoundend, "COMPOUNDBEGIN")) { + fclose(afflst); + return 1; + } + } else { + if (parse_flag(line, &compoundbegin, "COMPOUNDBEGIN")) { + fclose(afflst); + return 1; + } + } + } + + /* parse in the flag used by compound words */ + if (strncmp(line,"COMPOUNDMIDDLE",14) == 0) { + if (parse_flag(line, &compoundmiddle, "COMPOUNDMIDDLE")) { + fclose(afflst); + return 1; + } + } + /* parse in the flag used by compound words */ + if (strncmp(line,"COMPOUNDEND",11) == 0) { + if (complexprefixes) { + if (parse_flag(line, &compoundbegin, "COMPOUNDEND")) { + fclose(afflst); + return 1; + } + } else { + if (parse_flag(line, &compoundend, "COMPOUNDEND")) { + fclose(afflst); + return 1; + } + } + } + + /* parse in the data used by compound_check() method */ + if (strncmp(line,"COMPOUNDWORDMAX",15) == 0) { + if (parse_num(line, &cpdwordmax, "COMPOUNDWORDMAX")) { + fclose(afflst); + return 1; + } + } + + /* parse in the flag sign compounds in dictionary */ + if (strncmp(line,"COMPOUNDROOT",12) == 0) { + if (parse_flag(line, &compoundroot, "COMPOUNDROOT")) { + fclose(afflst); + return 1; + } + } + + /* parse in the flag used by compound_check() method */ + if (strncmp(line,"COMPOUNDPERMITFLAG",18) == 0) { + if (parse_flag(line, &compoundpermitflag, "COMPOUNDPERMITFLAG")) { + fclose(afflst); + return 1; + } + } + + /* parse in the flag used by compound_check() method */ + if (strncmp(line,"COMPOUNDFORBIDFLAG",18) == 0) { + if (parse_flag(line, &compoundforbidflag, "COMPOUNDFORBIDFLAG")) { + fclose(afflst); + return 1; + } + } + + if (strncmp(line,"CHECKCOMPOUNDDUP",16) == 0) { + checkcompounddup = 1; + } + + if (strncmp(line,"CHECKCOMPOUNDREP",16) == 0) { + checkcompoundrep = 1; + } + + if (strncmp(line,"CHECKCOMPOUNDTRIPLE",19) == 0) { + checkcompoundtriple = 1; + } + + if (strncmp(line,"CHECKCOMPOUNDCASE",17) == 0) { + checkcompoundcase = 1; + } + + if (strncmp(line,"NOSUGGEST",9) == 0) { + if (parse_flag(line, &nosuggest, "NOSUGGEST")) { + fclose(afflst); + return 1; + } + } + + /* parse in the flag used by forbidden words */ + if (strncmp(line,"FORBIDDENWORD",13) == 0) { + if (parse_flag(line, &forbiddenword, "FORBIDDENWORD")) { + fclose(afflst); + return 1; + } + } + + /* parse in the flag used by forbidden words */ + if (strncmp(line,"LEMMA_PRESENT",13) == 0) { + if (parse_flag(line, &lemma_present, "LEMMA_PRESENT")) { + fclose(afflst); + return 1; + } + } + + /* parse in the flag used by circumfixes */ + if (strncmp(line,"CIRCUMFIX",9) == 0) { + if (parse_flag(line, &circumfix, "CIRCUMFIX")) { + fclose(afflst); + return 1; + } + } + + /* parse in the flag used by fogemorphemes */ + if (strncmp(line,"ONLYINCOMPOUND",14) == 0) { + if (parse_flag(line, &onlyincompound, "ONLYINCOMPOUND")) { + fclose(afflst); + return 1; + } + } + + /* parse in the flag used by `pseudoroots' */ + if (strncmp(line,"PSEUDOROOT",10) == 0) { + if (parse_flag(line, &pseudoroot, "PSEUDOROOT")) { + fclose(afflst); + return 1; + } + } + + /* parse in the flag used by `pseudoroots' */ + if (strncmp(line,"NEEDAFFIX",9) == 0) { + if (parse_flag(line, &pseudoroot, "NEEDAFFIX")) { + fclose(afflst); + return 1; + } + } + + /* parse in the minimal length for words in compounds */ + if (strncmp(line,"COMPOUNDMIN",11) == 0) { + if (parse_num(line, &cpdmin, "COMPOUNDMIN")) { + fclose(afflst); + return 1; + } + if (cpdmin < 1) cpdmin = 1; + } + + /* parse in the max. words and syllables in compounds */ + if (strncmp(line,"COMPOUNDSYLLABLE",16) == 0) { + if (parse_cpdsyllable(line)) { + fclose(afflst); + return 1; + } + } + + /* parse in the flag used by compound_check() method */ + if (strncmp(line,"SYLLABLENUM",11) == 0) { + if (parse_string(line, &cpdsyllablenum, "SYLLABLENUM")) { + fclose(afflst); + return 1; + } + } + + /* parse in the flag used by the controlled compound words */ + if (strncmp(line,"CHECKNUM",8) == 0) { + checknum=1; + } + + /* parse in the extra word characters */ + if (strncmp(line,"WORDCHARS",9) == 0) { + if (parse_array(line, &wordchars, &wordchars_utf16, &wordchars_utf16_len, "WORDCHARS", utf8)) { + fclose(afflst); + return 1; + } + } + + /* parse in the ignored characters (for example, Arabic optional diacretics charachters */ + if (strncmp(line,"IGNORE",6) == 0) { + if (parse_array(line, &ignorechars, &ignorechars_utf16, &ignorechars_utf16_len, "IGNORE", utf8)) { + fclose(afflst); + return 1; + } + } + + /* parse in the typical fault correcting table */ + if (strncmp(line,"REP",3) == 0) { + if (parse_reptable(line, afflst)) { + fclose(afflst); + return 1; + } + } + + /* parse in the checkcompoundpattern table */ + if (strncmp(line,"CHECKCOMPOUNDPATTERN",20) == 0) { + if (parse_checkcpdtable(line, afflst)) { + fclose(afflst); + return 1; + } + } + + /* parse in the defcompound table */ + if (strncmp(line,"COMPOUNDRULE",12) == 0) { + if (parse_defcpdtable(line, afflst)) { + fclose(afflst); + return 1; + } + } + + /* parse in the related character map table */ + if (strncmp(line,"MAP",3) == 0) { + if (parse_maptable(line, afflst)) { + fclose(afflst); + return 1; + } + } + + /* parse in the word breakpoints table */ + if (strncmp(line,"BREAK",5) == 0) { + if (parse_breaktable(line, afflst)) { + fclose(afflst); + return 1; + } + } + + /* parse in the language for language specific codes */ + if (strncmp(line,"LANG",4) == 0) { + if (parse_string(line, &lang, "LANG")) { + fclose(afflst); + return 1; + } + langnum = get_lang_num(lang); + } + + if (strncmp(line,"VERSION",7) == 0) { + if (parse_string(line, &version, "VERSION")) { + fclose(afflst); + return 1; + } + } + + if (strncmp(line,"MAXNGRAMSUGS",12) == 0) { + if (parse_num(line, &maxngramsugs, "MAXNGRAMSUGS")) { + fclose(afflst); + return 1; + } + } + + if (strncmp(line,"NOSPLITSUGS",11) == 0) { + nosplitsugs=1; + } + + if (strncmp(line,"SUGSWITHDOTS",12) == 0) { + sugswithdots=1; + } + + /* parse in the flag used by forbidden words */ + if (strncmp(line,"KEEPCASE",8) == 0) { + if (parse_flag(line, &keepcase, "KEEPCASE")) { + fclose(afflst); + return 1; + } + } + + if (strncmp(line,"CHECKSHARPS",11) == 0) { + checksharps=1; + } + + /* parse this affix: P - prefix, S - suffix */ + ft = ' '; + if (strncmp(line,"PFX",3) == 0) ft = complexprefixes ? 'S' : 'P'; + if (strncmp(line,"SFX",3) == 0) ft = complexprefixes ? 'P' : 'S'; + if (ft != ' ') { + if (dupflags_ini) { + for (int i = 0; i < CONTSIZE; i++) dupflags[i] = 0; + dupflags_ini = 0; + } + if (parse_affix(line, ft, afflst, dupflags)) { + fclose(afflst); + process_pfx_tree_to_list(); + process_sfx_tree_to_list(); + return 1; + } + } + + } + fclose(afflst); + + // convert affix trees to sorted list + process_pfx_tree_to_list(); + process_sfx_tree_to_list(); + + // now we can speed up performance greatly taking advantage of the + // relationship between the affixes and the idea of "subsets". + + // View each prefix as a potential leading subset of another and view + // each suffix (reversed) as a potential trailing subset of another. + + // To illustrate this relationship if we know the prefix "ab" is found in the + // word to examine, only prefixes that "ab" is a leading subset of need be examined. + // Furthermore is "ab" is not present then none of the prefixes that "ab" is + // is a subset need be examined. + // The same argument goes for suffix string that are reversed. + + // Then to top this off why not examine the first char of the word to quickly + // limit the set of prefixes to examine (i.e. the prefixes to examine must + // be leading supersets of the first character of the word (if they exist) + + // To take advantage of this "subset" relationship, we need to add two links + // from entry. One to take next if the current prefix is found (call it nexteq) + // and one to take next if the current prefix is not found (call it nextne). + + // Since we have built ordered lists, all that remains is to properly intialize + // the nextne and nexteq pointers that relate them + + process_pfx_order(); + process_sfx_order(); + + /* get encoding for CHECKCOMPOUNDCASE */ + char * enc = get_encoding(); + csconv = get_current_cs(enc); + free(enc); + enc = NULL; + + // temporary BREAK definition for German dash handling (OOo issue 64400) + if ((langnum == LANG_de) && (!breaktable)) { + breaktable = (char **) malloc(sizeof(char *)); + if (!breaktable) return 1; + breaktable[0] = mystrdup("-"); + numbreak = 1; + } + return 0; +} + + +// we want to be able to quickly access prefix information +// both by prefix flag, and sorted by prefix string itself +// so we need to set up two indexes + +int AffixMgr::build_pfxtree(AffEntry* pfxptr) +{ + PfxEntry * ptr; + PfxEntry * pptr; + PfxEntry * ep = (PfxEntry*) pfxptr; + + // get the right starting points + const char * key = ep->getKey(); + const unsigned char flg = (unsigned char) (ep->getFlag() & 0x00FF); + + // first index by flag which must exist + ptr = (PfxEntry*)pFlag[flg]; + ep->setFlgNxt(ptr); + pFlag[flg] = (AffEntry *) ep; + + + // handle the special case of null affix string + if (strlen(key) == 0) { + // always inset them at head of list at element 0 + ptr = (PfxEntry*)pStart[0]; + ep->setNext(ptr); + pStart[0] = (AffEntry*)ep; + return 0; + } + + // now handle the normal case + ep->setNextEQ(NULL); + ep->setNextNE(NULL); + + unsigned char sp = *((const unsigned char *)key); + ptr = (PfxEntry*)pStart[sp]; + + // handle the first insert + if (!ptr) { + pStart[sp] = (AffEntry*)ep; + return 0; + } + + + // otherwise use binary tree insertion so that a sorted + // list can easily be generated later + pptr = NULL; + for (;;) { + pptr = ptr; + if (strcmp(ep->getKey(), ptr->getKey() ) <= 0) { + ptr = ptr->getNextEQ(); + if (!ptr) { + pptr->setNextEQ(ep); + break; + } + } else { + ptr = ptr->getNextNE(); + if (!ptr) { + pptr->setNextNE(ep); + break; + } + } + } + return 0; +} + +// we want to be able to quickly access suffix information +// both by suffix flag, and sorted by the reverse of the +// suffix string itself; so we need to set up two indexes +int AffixMgr::build_sfxtree(AffEntry* sfxptr) +{ + SfxEntry * ptr; + SfxEntry * pptr; + SfxEntry * ep = (SfxEntry *) sfxptr; + + /* get the right starting point */ + const char * key = ep->getKey(); + const unsigned char flg = (unsigned char) (ep->getFlag() & 0x00FF); + + // first index by flag which must exist + ptr = (SfxEntry*)sFlag[flg]; + ep->setFlgNxt(ptr); + sFlag[flg] = (AffEntry *) ep; + + // next index by affix string + + // handle the special case of null affix string + if (strlen(key) == 0) { + // always inset them at head of list at element 0 + ptr = (SfxEntry*)sStart[0]; + ep->setNext(ptr); + sStart[0] = (AffEntry*)ep; + return 0; + } + + // now handle the normal case + ep->setNextEQ(NULL); + ep->setNextNE(NULL); + + unsigned char sp = *((const unsigned char *)key); + ptr = (SfxEntry*)sStart[sp]; + + // handle the first insert + if (!ptr) { + sStart[sp] = (AffEntry*)ep; + return 0; + } + + // otherwise use binary tree insertion so that a sorted + // list can easily be generated later + pptr = NULL; + for (;;) { + pptr = ptr; + if (strcmp(ep->getKey(), ptr->getKey() ) <= 0) { + ptr = ptr->getNextEQ(); + if (!ptr) { + pptr->setNextEQ(ep); + break; + } + } else { + ptr = ptr->getNextNE(); + if (!ptr) { + pptr->setNextNE(ep); + break; + } + } + } + return 0; +} + +// convert from binary tree to sorted list +int AffixMgr::process_pfx_tree_to_list() +{ + for (int i=1; i< SETSIZE; i++) { + pStart[i] = process_pfx_in_order(pStart[i],NULL); + } + return 0; +} + + +AffEntry* AffixMgr::process_pfx_in_order(AffEntry* ptr, AffEntry* nptr) +{ + if (ptr) { + nptr = process_pfx_in_order(((PfxEntry*) ptr)->getNextNE(), nptr); + ((PfxEntry*) ptr)->setNext((PfxEntry*) nptr); + nptr = process_pfx_in_order(((PfxEntry*) ptr)->getNextEQ(), ptr); + } + return nptr; +} + + +// convert from binary tree to sorted list +int AffixMgr:: process_sfx_tree_to_list() +{ + for (int i=1; i< SETSIZE; i++) { + sStart[i] = process_sfx_in_order(sStart[i],NULL); + } + return 0; +} + +AffEntry* AffixMgr::process_sfx_in_order(AffEntry* ptr, AffEntry* nptr) +{ + if (ptr) { + nptr = process_sfx_in_order(((SfxEntry*) ptr)->getNextNE(), nptr); + ((SfxEntry*) ptr)->setNext((SfxEntry*) nptr); + nptr = process_sfx_in_order(((SfxEntry*) ptr)->getNextEQ(), ptr); + } + return nptr; +} + + +// reinitialize the PfxEntry links NextEQ and NextNE to speed searching +// using the idea of leading subsets this time +int AffixMgr::process_pfx_order() +{ + PfxEntry* ptr; + + // loop through each prefix list starting point + for (int i=1; i < SETSIZE; i++) { + + ptr = (PfxEntry*)pStart[i]; + + // look through the remainder of the list + // and find next entry with affix that + // the current one is not a subset of + // mark that as destination for NextNE + // use next in list that you are a subset + // of as NextEQ + + for (; ptr != NULL; ptr = ptr->getNext()) { + + PfxEntry * nptr = ptr->getNext(); + for (; nptr != NULL; nptr = nptr->getNext()) { + if (! isSubset( ptr->getKey() , nptr->getKey() )) break; + } + ptr->setNextNE(nptr); + ptr->setNextEQ(NULL); + if ((ptr->getNext()) && isSubset(ptr->getKey() , (ptr->getNext())->getKey())) + ptr->setNextEQ(ptr->getNext()); + } + + // now clean up by adding smart search termination strings: + // if you are already a superset of the previous prefix + // but not a subset of the next, search can end here + // so set NextNE properly + + ptr = (PfxEntry *) pStart[i]; + for (; ptr != NULL; ptr = ptr->getNext()) { + PfxEntry * nptr = ptr->getNext(); + PfxEntry * mptr = NULL; + for (; nptr != NULL; nptr = nptr->getNext()) { + if (! isSubset(ptr->getKey(),nptr->getKey())) break; + mptr = nptr; + } + if (mptr) mptr->setNextNE(NULL); + } + } + return 0; +} + +// initialize the SfxEntry links NextEQ and NextNE to speed searching +// using the idea of leading subsets this time +int AffixMgr::process_sfx_order() +{ + SfxEntry* ptr; + + // loop through each prefix list starting point + for (int i=1; i < SETSIZE; i++) { + + ptr = (SfxEntry *) sStart[i]; + + // look through the remainder of the list + // and find next entry with affix that + // the current one is not a subset of + // mark that as destination for NextNE + // use next in list that you are a subset + // of as NextEQ + + for (; ptr != NULL; ptr = ptr->getNext()) { + SfxEntry * nptr = ptr->getNext(); + for (; nptr != NULL; nptr = nptr->getNext()) { + if (! isSubset(ptr->getKey(),nptr->getKey())) break; + } + ptr->setNextNE(nptr); + ptr->setNextEQ(NULL); + if ((ptr->getNext()) && isSubset(ptr->getKey(),(ptr->getNext())->getKey())) + ptr->setNextEQ(ptr->getNext()); + } + + + // now clean up by adding smart search termination strings: + // if you are already a superset of the previous suffix + // but not a subset of the next, search can end here + // so set NextNE properly + + ptr = (SfxEntry *) sStart[i]; + for (; ptr != NULL; ptr = ptr->getNext()) { + SfxEntry * nptr = ptr->getNext(); + SfxEntry * mptr = NULL; + for (; nptr != NULL; nptr = nptr->getNext()) { + if (! isSubset(ptr->getKey(),nptr->getKey())) break; + mptr = nptr; + } + if (mptr) mptr->setNextNE(NULL); + } + } + return 0; +} + + + +// takes aff file condition string and creates the +// conds array - please see the appendix at the end of the +// file affentry.cxx which describes what is going on here +// in much more detail + +int AffixMgr::encodeit(struct affentry * ptr, char * cs) +{ + unsigned char c; + int i, j, k; + unsigned char mbr[MAXLNLEN]; + w_char wmbr[MAXLNLEN]; + w_char * wpos = wmbr; + + // now clear the conditions array */ + for (i=0;iconds.base[i] = (unsigned char) 0; + + // now parse the string to create the conds array */ + int nc = strlen(cs); + unsigned char neg = 0; // complement indicator + int grp = 0; // group indicator + unsigned char n = 0; // number of conditions + int ec = 0; // end condition indicator + int nm = 0; // number of member in group + + // if no condition just return + if (strcmp(cs,".")==0) { + ptr->numconds = 0; + return 0; + } + + i = 0; + while (i < nc) { + c = *((unsigned char *)(cs + i)); + + // start group indicator + if (c == '[') { + grp = 1; + c = 0; + } + + // complement flag + if ((grp == 1) && (c == '^')) { + neg = 1; + c = 0; + } + + // end goup indicator + if (c == ']') { + ec = 1; + c = 0; + } + + // add character of group to list + if ((grp == 1) && (c != 0)) { + *(mbr + nm) = c; + nm++; + c = 0; + } + + // end of condition + if (c != 0) { + ec = 1; + } + + if (ec) { + if (!utf8) { + if (grp == 1) { + if (neg == 0) { + // set the proper bits in the condition array vals for those chars + for (j=0;jconds.base[k] = ptr->conds.base[k] | ((unsigned char)1 << n); + } + } else { + // complement so set all of them and then unset indicated ones + for (j=0;jconds.base[j] = ptr->conds.base[j] | ((unsigned char)1 << n); + for (j=0;jconds.base[k] = ptr->conds.base[k] & ~((unsigned char)1 << n); + } + } + neg = 0; + grp = 0; + nm = 0; + } else { + // not a group so just set the proper bit for this char + // but first handle special case of . inside condition + if (c == '.') { + // wild card character so set them all + for (j=0;jconds.base[j] = ptr->conds.base[j] | ((unsigned char)1 << n); + } else { + ptr->conds.base[(unsigned int) c] = ptr->conds.base[(unsigned int)c] | ((unsigned char)1 << n); + } + } + n++; + ec = 0; + } else { // UTF-8 character set + if (grp == 1) { + ptr->conds.utf8.neg[n] = neg; + if (neg == 0) { + // set the proper bits in the condition array vals for those chars + for (j=0;j> 7) { + u8_u16(wpos, 1, (char *) mbr + j); + wpos++; + if ((k & 0xe0) == 0xe0) j+=2; else j++; // 3-byte UTF-8 character + } else { + ptr->conds.utf8.ascii[k] = ptr->conds.utf8.ascii[k] | ((unsigned char)1 << n); + } + } + } else { // neg == 1 + // complement so set all of them and then unset indicated ones + for (j=0;j<(SETSIZE/2);j++) ptr->conds.utf8.ascii[j] = ptr->conds.utf8.ascii[j] | ((unsigned char)1 << n); + for (j=0;j> 7) { + u8_u16(wpos, 1, (char *) mbr + j); + wpos++; + if ((k & 0xe0) == 0xe0) j+=2; else j++; // 3-byte UTF-8 character + } else { + ptr->conds.utf8.ascii[k] = ptr->conds.utf8.ascii[k] & ~((unsigned char)1 << n); + } + } + } + neg = 0; + grp = 0; + nm = 0; + ptr->conds.utf8.wlen[n] = wpos - wmbr; + if ((wpos - wmbr) != 0) { + ptr->conds.utf8.wchars[n] = (w_char *) malloc(sizeof(w_char) * (wpos - wmbr)); + if (!ptr->conds.utf8.wchars[n]) return 1; + memcpy(ptr->conds.utf8.wchars[n], wmbr, sizeof(w_char) * (wpos - wmbr)); + flag_qsort((unsigned short *) ptr->conds.utf8.wchars[n], 0, ptr->conds.utf8.wlen[n]); + wpos = wmbr; + } + } else { // grp == 0 + // is UTF-8 character? + if (c >> 7) { + ptr->conds.utf8.wchars[n] = (w_char *) malloc(sizeof(w_char)); + if (!ptr->conds.utf8.wchars[n]) return 1; + ptr->conds.utf8.wlen[n] = 1; + u8_u16(ptr->conds.utf8.wchars[n], 1, cs + i); + if ((c & 0xe0) == 0xe0) i+=2; else i++; // 3-byte UFT-8 character + } else { + ptr->conds.utf8.wchars[n] = NULL; + // not a group so just set the proper bit for this char + // but first handle special case of . inside condition + if (c == '.') { + ptr->conds.utf8.all[n] = 1; + // wild card character so set them all + for (j=0;j<(SETSIZE/2);j++) ptr->conds.utf8.ascii[j] = ptr->conds.utf8.ascii[j] | ((unsigned char)1 << n); + } else { + ptr->conds.utf8.all[n] = 0; + ptr->conds.utf8.ascii[(unsigned int) c] = ptr->conds.utf8.ascii[(unsigned int)c] | ((unsigned char)1 << n); + } + } + neg = 0; + } + n++; + ec = 0; + neg = 0; + } + } + + i++; + } + ptr->numconds = n; + return 0; +} + + // return 1 if s1 is a leading subset of s2 +/* inline int AffixMgr::isSubset(const char * s1, const char * s2) + { + while ((*s1 == *s2) && *s1) { + s1++; + s2++; + } + return (*s1 == '\0'); + } +*/ + + // return 1 if s1 is a leading subset of s2 (dots are for infixes) +inline int AffixMgr::isSubset(const char * s1, const char * s2) + { + while (((*s1 == *s2) || (*s1 == '.')) && (*s1 != '\0')) { + s1++; + s2++; + } + return (*s1 == '\0'); + } + + +// check word for prefixes +struct hentry * AffixMgr::prefix_check(const char * word, int len, char in_compound, + const FLAG needflag) +{ + struct hentry * rv= NULL; + + pfx = NULL; + pfxappnd = NULL; + sfxappnd = NULL; + + // first handle the special case of 0 length prefixes + PfxEntry * pe = (PfxEntry *) pStart[0]; + while (pe) { + if ( + // fogemorpheme + ((in_compound != IN_CPD_NOT) || !(pe->getCont() && + (TESTAFF(pe->getCont(), onlyincompound, pe->getContLen())))) && + // permit prefixes in compounds + ((in_compound != IN_CPD_END) || (pe->getCont() && + (TESTAFF(pe->getCont(), compoundpermitflag, pe->getContLen())))) + ) { + // check prefix + rv = pe->checkword(word, len, in_compound, needflag); + if (rv) { + pfx=(AffEntry *)pe; // BUG: pfx not stateless + return rv; + } + } + pe = pe->getNext(); + } + + // now handle the general case + unsigned char sp = *((const unsigned char *)word); + PfxEntry * pptr = (PfxEntry *)pStart[sp]; + + while (pptr) { + if (isSubset(pptr->getKey(),word)) { + if ( + // fogemorpheme + ((in_compound != IN_CPD_NOT) || !(pptr->getCont() && + (TESTAFF(pptr->getCont(), onlyincompound, pptr->getContLen())))) && + // permit prefixes in compounds + ((in_compound != IN_CPD_END) || (pptr->getCont() && + (TESTAFF(pptr->getCont(), compoundpermitflag, pptr->getContLen())))) + ) { + // check prefix + rv = pptr->checkword(word, len, in_compound, needflag); + if (rv) { + pfx=(AffEntry *)pptr; // BUG: pfx not stateless + return rv; + } + } + pptr = pptr->getNextEQ(); + } else { + pptr = pptr->getNextNE(); + } + } + + return NULL; +} + +// check word for prefixes +struct hentry * AffixMgr::prefix_check_twosfx(const char * word, int len, + char in_compound, const FLAG needflag) +{ + struct hentry * rv= NULL; + + pfx = NULL; + sfxappnd = NULL; + + // first handle the special case of 0 length prefixes + PfxEntry * pe = (PfxEntry *) pStart[0]; + + while (pe) { + rv = pe->check_twosfx(word, len, in_compound, needflag); + if (rv) return rv; + pe = pe->getNext(); + } + + // now handle the general case + unsigned char sp = *((const unsigned char *)word); + PfxEntry * pptr = (PfxEntry *)pStart[sp]; + + while (pptr) { + if (isSubset(pptr->getKey(),word)) { + rv = pptr->check_twosfx(word, len, in_compound, needflag); + if (rv) { + pfx = (AffEntry *)pptr; + return rv; + } + pptr = pptr->getNextEQ(); + } else { + pptr = pptr->getNextNE(); + } + } + + return NULL; +} + +#ifdef HUNSPELL_EXPERIMENTAL +// check word for prefixes +char * AffixMgr::prefix_check_morph(const char * word, int len, char in_compound, + const FLAG needflag) +{ + char * st; + + char result[MAXLNLEN]; + result[0] = '\0'; + + pfx = NULL; + sfxappnd = NULL; + + // first handle the special case of 0 length prefixes + PfxEntry * pe = (PfxEntry *) pStart[0]; + while (pe) { + st = pe->check_morph(word,len,in_compound, needflag); + if (st) { + strcat(result, st); + free(st); + } + // if (rv) return rv; + pe = pe->getNext(); + } + + // now handle the general case + unsigned char sp = *((const unsigned char *)word); + PfxEntry * pptr = (PfxEntry *)pStart[sp]; + + while (pptr) { + if (isSubset(pptr->getKey(),word)) { + st = pptr->check_morph(word,len,in_compound, needflag); + if (st) { + // fogemorpheme + if ((in_compound != IN_CPD_NOT) || !((pptr->getCont() && + (TESTAFF(pptr->getCont(), onlyincompound, pptr->getContLen()))))) { + strcat(result, st); + pfx = (AffEntry *)pptr; + } + free(st); + } + pptr = pptr->getNextEQ(); + } else { + pptr = pptr->getNextNE(); + } + } + + if (*result) return mystrdup(result); + return NULL; +} + + +// check word for prefixes +char * AffixMgr::prefix_check_twosfx_morph(const char * word, int len, + char in_compound, const FLAG needflag) +{ + char * st; + + char result[MAXLNLEN]; + result[0] = '\0'; + + pfx = NULL; + sfxappnd = NULL; + + // first handle the special case of 0 length prefixes + PfxEntry * pe = (PfxEntry *) pStart[0]; + while (pe) { + st = pe->check_twosfx_morph(word,len,in_compound, needflag); + if (st) { + strcat(result, st); + free(st); + } + pe = pe->getNext(); + } + + // now handle the general case + unsigned char sp = *((const unsigned char *)word); + PfxEntry * pptr = (PfxEntry *)pStart[sp]; + + while (pptr) { + if (isSubset(pptr->getKey(),word)) { + st = pptr->check_twosfx_morph(word, len, in_compound, needflag); + if (st) { + strcat(result, st); + free(st); + pfx = (AffEntry *)pptr; + } + pptr = pptr->getNextEQ(); + } else { + pptr = pptr->getNextNE(); + } + } + + if (*result) return mystrdup(result); + return NULL; +} +#endif // END OF HUNSPELL_EXPERIMENTAL CODE + + +// Is word a non compound with a REP substitution (see checkcompoundrep)? +int AffixMgr::cpdrep_check(const char * word, int wl) +{ + char candidate[MAXLNLEN]; + const char * r; + int lenr, lenp; + + if ((wl < 2) || !numrep) return 0; + + for (int i=0; i < numrep; i++ ) { + r = word; + lenr = strlen(reptable[i].pattern2); + lenp = strlen(reptable[i].pattern); + // search every occurence of the pattern in the word + while ((r=strstr(r, reptable[i].pattern)) != NULL) { + strcpy(candidate, word); + if (r-word + lenr + strlen(r+lenp) >= MAXLNLEN) break; + strcpy(candidate+(r-word),reptable[i].pattern2); + strcpy(candidate+(r-word)+lenr, r+lenp); + if (candidate_check(candidate,strlen(candidate))) return 1; + r++; // search for the next letter + } + } + return 0; +} + +// forbid compoundings when there are special patterns at word bound +int AffixMgr::cpdpat_check(const char * word, int pos) +{ + int len; + for (int i = 0; i < numcheckcpd; i++) { + if (isSubset(checkcpdtable[i].pattern2, word + pos) && + (len = strlen(checkcpdtable[i].pattern)) && (pos > len) && + (strncmp(word + pos - len, checkcpdtable[i].pattern, len) == 0)) return 1; + } + return 0; +} + +// forbid compounding with neighbouring upper and lower case characters at word bounds +int AffixMgr::cpdcase_check(const char * word, int pos) +{ + if (utf8) { + w_char u, w; + const char * p; + u8_u16(&u, 1, word + pos); + for (p = word + pos - 1; (*p & 0xc0) == 0x80; p--); + u8_u16(&w, 1, p); + unsigned short a = (u.h << 8) + u.l; + unsigned short b = (w.h << 8) + w.l; + if (((unicodetoupper(a, langnum) == a) || (unicodetoupper(b, langnum) == b))) return 1; + } else { + unsigned char a = *(word + pos - 1); + unsigned char b = *(word + pos); + if ((csconv[a].ccase || csconv[b].ccase) && (a != '-') && (b != '-')) return 1; + } + return 0; +} + +// check compound patterns +int AffixMgr::defcpd_check(hentry *** words, short wnum, hentry * rv, hentry ** def, char all) +{ + signed short btpp[MAXWORDLEN]; // metacharacter (*, ?) positions for backtracking + signed short btwp[MAXWORDLEN]; // word positions for metacharacters + int btnum[MAXWORDLEN]; // number of matched characters in metacharacter positions + short bt = 0; + int i; + int ok; + int w = 0; + if (!*words) { + w = 1; + *words = def; + } + (*words)[wnum] = rv; + + for (i = 0; i < numdefcpd; i++) { + signed short pp = 0; // pattern position + signed short wp = 0; // "words" position + int ok2; + ok = 1; + ok2 = 1; + do { + while ((pp < defcpdtable[i].len) && (wp <= wnum)) { + if (((pp+1) < defcpdtable[i].len) && + ((defcpdtable[i].def[pp+1] == '*') || (defcpdtable[i].def[pp+1] == '?'))) { + int wend = (defcpdtable[i].def[pp+1] == '?') ? wp : wnum; + ok2 = 1; + pp+=2; + btpp[bt] = pp; + btwp[bt] = wp; + while (wp <= wend) { + if (!(*words)[wp]->alen || + !TESTAFF((*words)[wp]->astr, defcpdtable[i].def[pp-2], (*words)[wp]->alen)) { + ok2 = 0; + break; + } + wp++; + } + if (wp <= wnum) ok2 = 0; + btnum[bt] = wp - btwp[bt]; + if (btnum[bt] > 0) bt++; + if (ok2) break; + } else { + ok2 = 1; + if (!(*words)[wp] || !(*words)[wp]->alen || + !TESTAFF((*words)[wp]->astr, defcpdtable[i].def[pp], (*words)[wp]->alen)) { + ok = 0; + break; + } + pp++; + wp++; + if ((defcpdtable[i].len == pp) && !(wp > wnum)) ok = 0; + } + } + if (ok && ok2) { + int r = pp; + while ((defcpdtable[i].len > r) && ((r+1) < defcpdtable[i].len) && + ((defcpdtable[i].def[r+1] == '*') || (defcpdtable[i].def[r+1] == '?'))) r+=2; + if (defcpdtable[i].len <= r) return 1; + } + // backtrack + if (bt) do { + ok = 1; + btnum[bt - 1]--; + pp = btpp[bt - 1]; + wp = btwp[bt - 1] + btnum[bt - 1]; + } while ((btnum[bt - 1] < 0) && --bt); + } while (bt); + + if (ok && ok2 && (!all || (defcpdtable[i].len <= pp))) return 1; + // check zero ending + while (ok && ok2 && (defcpdtable[i].len > pp) && ((pp+1) < defcpdtable[i].len) && + ((defcpdtable[i].def[pp+1] == '*') || (defcpdtable[i].def[pp+1] == '?'))) pp+=2; + if (ok && ok2 && (defcpdtable[i].len <= pp)) return 1; + } + (*words)[wnum] = NULL; + if (w) *words = NULL; + return 0; +} + +inline int AffixMgr::candidate_check(const char * word, int len) +{ + struct hentry * rv=NULL; + + rv = lookup(word); + if (rv) return 1; + +// rv = prefix_check(word,len,1); +// if (rv) return 1; + + rv = affix_check(word,len); + if (rv) return 1; + return 0; +} + +// calculate number of syllable for compound-checking +short AffixMgr::get_syllable(const char * word, int wlen) +{ + if (cpdmaxsyllable==0) return 0; + + short num=0; + + if (!utf8) { + for (int i=0; i= cmax) return NULL; + } + + + ch = st[i]; + st[i] = '\0'; + + sfx = NULL; + pfx = NULL; + + // FIRST WORD + + rv = lookup(st); // perhaps without prefix + + // search homonym with compound flag + while ((rv) && !hu_mov_rule && + ((pseudoroot && TESTAFF(rv->astr, pseudoroot, rv->alen)) || + !((compoundflag && !words && TESTAFF(rv->astr, compoundflag, rv->alen)) || + (compoundbegin && !wordnum && + TESTAFF(rv->astr, compoundbegin, rv->alen)) || + (compoundmiddle && wordnum && !words && + TESTAFF(rv->astr, compoundmiddle, rv->alen)) || + (numdefcpd && + ((!words && !wordnum && defcpd_check(&words, wnum, rv, (hentry **) &rwords, 0)) || + (words && defcpd_check(&words, wnum, rv, (hentry **) &rwords, 0)))) + ))) { + rv = rv->next_homonym; + } + + if (!rv) { + if (compoundflag && + !(rv = prefix_check(st, i, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN, compoundflag))) { + if ((rv = suffix_check(st, i, 0, NULL, NULL, 0, NULL, + FLAG_NULL, compoundflag, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN)) && !hu_mov_rule && + ((SfxEntry*)sfx)->getCont() && + ((compoundforbidflag && TESTAFF(((SfxEntry*)sfx)->getCont(), compoundforbidflag, + ((SfxEntry*)sfx)->getContLen())) || (compoundend && + TESTAFF(((SfxEntry*)sfx)->getCont(), compoundend, + ((SfxEntry*)sfx)->getContLen())))) { + rv = NULL; + } + } + if (rv || + (((wordnum == 0) && compoundbegin && + ((rv = suffix_check(st, i, 0, NULL, NULL, 0, NULL, FLAG_NULL, compoundbegin, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN)) || + (rv = prefix_check(st, i, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN, compoundbegin)))) || + ((wordnum > 0) && compoundmiddle && + ((rv = suffix_check(st, i, 0, NULL, NULL, 0, NULL, FLAG_NULL, compoundmiddle, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN)) || + (rv = prefix_check(st, i, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN, compoundmiddle))))) + ) checked_prefix = 1; + // else check forbiddenwords and pseudoroot + } else if (rv->astr && (TESTAFF(rv->astr, forbiddenword, rv->alen) || + TESTAFF(rv->astr, pseudoroot, rv->alen) || + (is_sug && nosuggest && TESTAFF(rv->astr, nosuggest, rv->alen)) + )) { + st[i] = ch; + continue; + } + + // check non_compound flag in suffix and prefix + if ((rv) && !hu_mov_rule && + ((pfx && ((PfxEntry*)pfx)->getCont() && + TESTAFF(((PfxEntry*)pfx)->getCont(), compoundforbidflag, + ((PfxEntry*)pfx)->getContLen())) || + (sfx && ((SfxEntry*)sfx)->getCont() && + TESTAFF(((SfxEntry*)sfx)->getCont(), compoundforbidflag, + ((SfxEntry*)sfx)->getContLen())))) { + rv = NULL; + } + + // check compoundend flag in suffix and prefix + if ((rv) && !checked_prefix && compoundend && !hu_mov_rule && + ((pfx && ((PfxEntry*)pfx)->getCont() && + TESTAFF(((PfxEntry*)pfx)->getCont(), compoundend, + ((PfxEntry*)pfx)->getContLen())) || + (sfx && ((SfxEntry*)sfx)->getCont() && + TESTAFF(((SfxEntry*)sfx)->getCont(), compoundend, + ((SfxEntry*)sfx)->getContLen())))) { + rv = NULL; + } + + // check compoundmiddle flag in suffix and prefix + if ((rv) && !checked_prefix && (wordnum==0) && compoundmiddle && !hu_mov_rule && + ((pfx && ((PfxEntry*)pfx)->getCont() && + TESTAFF(((PfxEntry*)pfx)->getCont(), compoundmiddle, + ((PfxEntry*)pfx)->getContLen())) || + (sfx && ((SfxEntry*)sfx)->getCont() && + TESTAFF(((SfxEntry*)sfx)->getCont(), compoundmiddle, + ((SfxEntry*)sfx)->getContLen())))) { + rv = NULL; + } + + // check forbiddenwords + if ((rv) && (rv->astr) && (TESTAFF(rv->astr, forbiddenword, rv->alen) || + (is_sug && nosuggest && TESTAFF(rv->astr, nosuggest, rv->alen)))) { + return NULL; + } + + // increment word number, if the second root has a compoundroot flag + if ((rv) && compoundroot && + (TESTAFF(rv->astr, compoundroot, rv->alen))) { + wordnum++; + } + + // first word is acceptable in compound words? + if (((rv) && + ( checked_prefix || (words && words[wnum]) || + (compoundflag && TESTAFF(rv->astr, compoundflag, rv->alen)) || + ((oldwordnum == 0) && compoundbegin && TESTAFF(rv->astr, compoundbegin, rv->alen)) || + ((oldwordnum > 0) && compoundmiddle && TESTAFF(rv->astr, compoundmiddle, rv->alen))// || +// (numdefcpd && ) + +// LANG_hu section: spec. Hungarian rule + || ((langnum == LANG_hu) && hu_mov_rule && ( + TESTAFF(rv->astr, 'F', rv->alen) || // XXX hardwired Hungarian dictionary codes + TESTAFF(rv->astr, 'G', rv->alen) || + TESTAFF(rv->astr, 'H', rv->alen) + ) + ) +// END of LANG_hu section + ) + && ! (( checkcompoundtriple && // test triple letters + (word[i-1]==word[i]) && ( + ((i>1) && (word[i-1]==word[i-2])) || + ((word[i-1]==word[i+1])) // may be word[i+1] == '\0' + ) + ) || + ( + // test CHECKCOMPOUNDPATTERN + numcheckcpd && cpdpat_check(word, i) + ) || + ( + checkcompoundcase && cpdcase_check(word, i) + )) + ) +// LANG_hu section: spec. Hungarian rule + || ((!rv) && (langnum == LANG_hu) && hu_mov_rule && (rv = affix_check(st,i)) && + (sfx && ((SfxEntry*)sfx)->getCont() && ( // XXX hardwired Hungarian dic. codes + TESTAFF(((SfxEntry*)sfx)->getCont(), (unsigned short) 'x', ((SfxEntry*)sfx)->getContLen()) || + TESTAFF(((SfxEntry*)sfx)->getCont(), (unsigned short) '%', ((SfxEntry*)sfx)->getContLen()) + ) + ) + ) +// END of LANG_hu section + ) { + +// LANG_hu section: spec. Hungarian rule + if (langnum == LANG_hu) { + // calculate syllable number of the word + numsyllable += get_syllable(st, i); + + // + 1 word, if syllable number of the prefix > 1 (hungarian convention) + if (pfx && (get_syllable(((PfxEntry *)pfx)->getKey(),strlen(((PfxEntry *)pfx)->getKey())) > 1)) wordnum++; + } +// END of LANG_hu section + +#ifdef HUNSTEM + if (cmpdstem) cmpdstem[*cmpdstemnum - 1] = i; +#endif + + // NEXT WORD(S) + rv_first = rv; + rv = lookup((word+i)); // perhaps without prefix + + // search homonym with compound flag + while ((rv) && ((pseudoroot && TESTAFF(rv->astr, pseudoroot, rv->alen)) || + !((compoundflag && !words && TESTAFF(rv->astr, compoundflag, rv->alen)) || + (compoundend && !words && TESTAFF(rv->astr, compoundend, rv->alen)) || + (numdefcpd && words && defcpd_check(&words, wnum + 1, rv, NULL,1))))) { + rv = rv->next_homonym; + } + + if (rv && words && words[wnum + 1]) return rv; + + oldnumsyllable2 = numsyllable; + oldwordnum2 = wordnum; + +// LANG_hu section: spec. Hungarian rule, XXX hardwired dictionary code + if ((rv) && (langnum == LANG_hu) && (TESTAFF(rv->astr, 'I', rv->alen)) && !(TESTAFF(rv->astr, 'J', rv->alen))) { + numsyllable--; + } +// END of LANG_hu section + + // increment word number, if the second root has a compoundroot flag + if ((rv) && (compoundroot) && + (TESTAFF(rv->astr, compoundroot, rv->alen))) { + wordnum++; + } + + // check forbiddenwords + if ((rv) && (rv->astr) && (TESTAFF(rv->astr, forbiddenword, rv->alen) || + (is_sug && nosuggest && TESTAFF(rv->astr, nosuggest, rv->alen)))) return NULL; + + // second word is acceptable, as a root? + // hungarian conventions: compounding is acceptable, + // when compound forms consist of 2 words, or if more, + // then the syllable number of root words must be 6, or lesser. + + if ((rv) && ( + (compoundflag && TESTAFF(rv->astr, compoundflag, rv->alen)) || + (compoundend && TESTAFF(rv->astr, compoundend, rv->alen)) + ) + && ( + ((cpdwordmax==-1) || (wordnum+1word,rv->wlen)<=cpdmaxsyllable)) + ) + && ( + (!checkcompounddup || (rv != rv_first)) + ) + ) + { + // forbid compound word, if it is a non compound word with typical fault + if (checkcompoundrep && cpdrep_check(word,len)) return NULL; + return rv; + } + + numsyllable = oldnumsyllable2 ; + wordnum = oldwordnum2; + + // perhaps second word has prefix or/and suffix + sfx = NULL; + sfxflag = FLAG_NULL; + rv = (compoundflag) ? affix_check((word+i),strlen(word+i), compoundflag, IN_CPD_END) : NULL; + if (!rv && compoundend) { + sfx = NULL; + pfx = NULL; + rv = affix_check((word+i),strlen(word+i), compoundend, IN_CPD_END); + } + + if (!rv && numdefcpd && words) { + rv = affix_check((word+i),strlen(word+i), 0, IN_CPD_END); + if (rv && defcpd_check(&words, wnum + 1, rv, NULL, 1)) return rv; + } + + // check non_compound flag in suffix and prefix + if ((rv) && + ((pfx && ((PfxEntry*)pfx)->getCont() && + TESTAFF(((PfxEntry*)pfx)->getCont(), compoundforbidflag, + ((PfxEntry*)pfx)->getContLen())) || + (sfx && ((SfxEntry*)sfx)->getCont() && + TESTAFF(((SfxEntry*)sfx)->getCont(), compoundforbidflag, + ((SfxEntry*)sfx)->getContLen())))) { + rv = NULL; + } + + // check forbiddenwords + if ((rv) && (rv->astr) && (TESTAFF(rv->astr, forbiddenword, rv->alen) || + (is_sug && nosuggest && TESTAFF(rv->astr, nosuggest, rv->alen)))) return NULL; + + // pfxappnd = prefix of word+i, or NULL + // calculate syllable number of prefix. + // hungarian convention: when syllable number of prefix is more, + // than 1, the prefix+word counts as two words. + + if (langnum == LANG_hu) { + // calculate syllable number of the word + numsyllable += get_syllable(word + i, strlen(word + i)); + + // - affix syllable num. + // XXX only second suffix (inflections, not derivations) + if (sfxappnd) { + char * tmp = myrevstrdup(sfxappnd); + numsyllable -= get_syllable(tmp, strlen(tmp)); + free(tmp); + } + + // + 1 word, if syllable number of the prefix > 1 (hungarian convention) + if (pfx && (get_syllable(((PfxEntry *)pfx)->getKey(),strlen(((PfxEntry *)pfx)->getKey())) > 1)) wordnum++; + + // increment syllable num, if last word has a SYLLABLENUM flag + // and the suffix is beginning `s' + + if (cpdsyllablenum) { + switch (sfxflag) { + case 'c': { numsyllable+=2; break; } + case 'J': { numsyllable += 1; break; } + case 'I': { if (TESTAFF(rv->astr, 'J', rv->alen)) numsyllable += 1; break; } + } + } + } + + // increment word number, if the second word has a compoundroot flag + if ((rv) && (compoundroot) && + (TESTAFF(rv->astr, compoundroot, rv->alen))) { + wordnum++; + } + + // second word is acceptable, as a word with prefix or/and suffix? + // hungarian conventions: compounding is acceptable, + // when compound forms consist 2 word, otherwise + // the syllable number of root words is 6, or lesser. + if ((rv) && + ( + ((cpdwordmax == -1) || (wordnum + 1 < cpdwordmax)) || + ((cpdmaxsyllable == 0) || + (numsyllable <= cpdmaxsyllable)) + ) + && ( + (!checkcompounddup || (rv != rv_first)) + )) { + // forbid compound word, if it is a non compound word with typical fault + if (checkcompoundrep && cpdrep_check(word, len)) return NULL; + return rv; + } + + numsyllable = oldnumsyllable2; + wordnum = oldwordnum2; +#ifdef HUNSTEM + if (cmpdstemnum) oldcmpdstemnum = *cmpdstemnum; +#endif + // perhaps second word is a compound word (recursive call) + if (wordnum < maxwordnum) { + rv = compound_check((word+i),strlen(word+i), wordnum+1, + numsyllable, maxwordnum, wnum + 1, words, + 0, cmpdstemnum, cmpdstem, is_sug); + } else { + rv=NULL; + } + if (rv) { + // forbid compound word, if it is a non compound word with typical fault + if (checkcompoundrep && cpdrep_check(word, len)) return NULL; + return rv; + } else { +#ifdef HUNSTEM + if (cmpdstemnum) *cmpdstemnum = oldcmpdstemnum; +#endif + } + } + st[i] = ch; + wordnum = oldwordnum; + numsyllable = oldnumsyllable; + } + + return NULL; +} + +#ifdef HUNSPELL_EXPERIMENTAL +// check if compound word is correctly spelled +// hu_mov_rule = spec. Hungarian rule (XXX) +int AffixMgr::compound_check_morph(const char * word, int len, + short wordnum, short numsyllable, short maxwordnum, short wnum, hentry ** words, + char hu_mov_rule = 0, char ** result = NULL, char * partresult = NULL) +{ + int i; + short oldnumsyllable, oldnumsyllable2, oldwordnum, oldwordnum2; + int ok = 0; + + struct hentry * rv = NULL; + struct hentry * rv_first; + struct hentry * rwords[MAXWORDLEN]; // buffer for COMPOUND pattern checking + char st [MAXWORDUTF8LEN + 4]; + char ch; + + int checked_prefix; + char presult[MAXLNLEN]; + + int cmin; + int cmax; + + if (utf8) { + for (cmin = 0, i = 0; (i < cpdmin) && word[cmin]; i++) { + cmin++; + for (; (word[cmin] & 0xc0) == 0x80; cmin++); + } + for (cmax = len, i = 0; (i < (cpdmin - 1)) && cmax; i++) { + cmax--; + for (; (word[cmax] & 0xc0) == 0x80; cmax--); + } + } else { + cmin = cpdmin; + cmax = len - cpdmin + 1; + } + + strcpy(st, word); + + for (i = cmin; i < cmax; i++) { + oldnumsyllable = numsyllable; + oldwordnum = wordnum; + checked_prefix = 0; + + // go to end of the UTF-8 character + if (utf8) { + for (; (st[i] & 0xc0) == 0x80; i++); + if (i >= cmax) return 0; + } + + ch = st[i]; + st[i] = '\0'; + sfx = NULL; + + // FIRST WORD + *presult = '\0'; + if (partresult) strcat(presult, partresult); + + rv = lookup(st); // perhaps without prefix + + // search homonym with compound flag + while ((rv) && !hu_mov_rule && + ((pseudoroot && TESTAFF(rv->astr, pseudoroot, rv->alen)) || + !((compoundflag && !words && TESTAFF(rv->astr, compoundflag, rv->alen)) || + (compoundbegin && !wordnum && + TESTAFF(rv->astr, compoundbegin, rv->alen)) || + (compoundmiddle && wordnum && !words && + TESTAFF(rv->astr, compoundmiddle, rv->alen)) || + (numdefcpd && + ((!words && !wordnum && defcpd_check(&words, wnum, rv, (hentry **) &rwords, 0)) || + (words && defcpd_check(&words, wnum, rv, (hentry **) &rwords, 0)))) + ))) { + rv = rv->next_homonym; + } + + if (rv) { + if (rv->description) { + if ((!rv->astr) || !TESTAFF(rv->astr, lemma_present, rv->alen)) + strcat(presult, st); + strcat(presult, rv->description); + } + } + + if (!rv) { + if (compoundflag && + !(rv = prefix_check(st, i, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN, compoundflag))) { + if ((rv = suffix_check(st, i, 0, NULL, NULL, 0, NULL, + FLAG_NULL, compoundflag, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN)) && !hu_mov_rule && + ((SfxEntry*)sfx)->getCont() && + ((compoundforbidflag && TESTAFF(((SfxEntry*)sfx)->getCont(), compoundforbidflag, + ((SfxEntry*)sfx)->getContLen())) || (compoundend && + TESTAFF(((SfxEntry*)sfx)->getCont(), compoundend, + ((SfxEntry*)sfx)->getContLen())))) { + rv = NULL; + } + } + + if (rv || + (((wordnum == 0) && compoundbegin && + ((rv = suffix_check(st, i, 0, NULL, NULL, 0, NULL, FLAG_NULL, compoundbegin, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN)) || + (rv = prefix_check(st, i, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN, compoundbegin)))) || + ((wordnum > 0) && compoundmiddle && + ((rv = suffix_check(st, i, 0, NULL, NULL, 0, NULL, FLAG_NULL, compoundmiddle, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN)) || + (rv = prefix_check(st, i, hu_mov_rule ? IN_CPD_OTHER : IN_CPD_BEGIN, compoundmiddle))))) + ) { + //char * p = prefix_check_morph(st, i, 0, compound); + char * p = NULL; + if (compoundflag) p = affix_check_morph(st, i, compoundflag); + if (!p || (*p == '\0')) { + if ((wordnum == 0) && compoundbegin) { + p = affix_check_morph(st, i, compoundbegin); + } else if ((wordnum > 0) && compoundmiddle) { + p = affix_check_morph(st, i, compoundmiddle); + } + } + if (*p != '\0') { + line_uniq(p); + if (strchr(p, '\n')) { + strcat(presult, "("); + strcat(presult, line_join(p, '|')); + strcat(presult, ")"); + } else { + strcat(presult, p); + } + } + if (presult[strlen(presult) - 1] == '\n') { + presult[strlen(presult) - 1] = '\0'; + } + checked_prefix = 1; + //strcat(presult, "+"); + } + // else check forbiddenwords + } else if (rv->astr && (TESTAFF(rv->astr, forbiddenword, rv->alen) || + TESTAFF(rv->astr, pseudoroot, rv->alen))) { + st[i] = ch; + continue; + } + + // check non_compound flag in suffix and prefix + if ((rv) && !hu_mov_rule && + ((pfx && ((PfxEntry*)pfx)->getCont() && + TESTAFF(((PfxEntry*)pfx)->getCont(), compoundforbidflag, + ((PfxEntry*)pfx)->getContLen())) || + (sfx && ((SfxEntry*)sfx)->getCont() && + TESTAFF(((SfxEntry*)sfx)->getCont(), compoundforbidflag, + ((SfxEntry*)sfx)->getContLen())))) { + continue; + } + + // check compoundend flag in suffix and prefix + if ((rv) && !checked_prefix && compoundend && !hu_mov_rule && + ((pfx && ((PfxEntry*)pfx)->getCont() && + TESTAFF(((PfxEntry*)pfx)->getCont(), compoundend, + ((PfxEntry*)pfx)->getContLen())) || + (sfx && ((SfxEntry*)sfx)->getCont() && + TESTAFF(((SfxEntry*)sfx)->getCont(), compoundend, + ((SfxEntry*)sfx)->getContLen())))) { + continue; + } + + // check compoundmiddle flag in suffix and prefix + if ((rv) && !checked_prefix && (wordnum==0) && compoundmiddle && !hu_mov_rule && + ((pfx && ((PfxEntry*)pfx)->getCont() && + TESTAFF(((PfxEntry*)pfx)->getCont(), compoundmiddle, + ((PfxEntry*)pfx)->getContLen())) || + (sfx && ((SfxEntry*)sfx)->getCont() && + TESTAFF(((SfxEntry*)sfx)->getCont(), compoundmiddle, + ((SfxEntry*)sfx)->getContLen())))) { + rv = NULL; + } + + // check forbiddenwords + if ((rv) && (rv->astr) && TESTAFF(rv->astr, forbiddenword, rv->alen)) continue; + + // increment word number, if the second root has a compoundroot flag + if ((rv) && (compoundroot) && + (TESTAFF(rv->astr, compoundroot, rv->alen))) { + wordnum++; + } + + // first word is acceptable in compound words? + if (((rv) && + ( checked_prefix || (words && words[wnum]) || + (compoundflag && TESTAFF(rv->astr, compoundflag, rv->alen)) || + ((oldwordnum == 0) && compoundbegin && TESTAFF(rv->astr, compoundbegin, rv->alen)) || + ((oldwordnum > 0) && compoundmiddle && TESTAFF(rv->astr, compoundmiddle, rv->alen)) +// LANG_hu section: spec. Hungarian rule + || ((langnum == LANG_hu) && // hu_mov_rule + hu_mov_rule && ( + TESTAFF(rv->astr, 'F', rv->alen) || + TESTAFF(rv->astr, 'G', rv->alen) || + TESTAFF(rv->astr, 'H', rv->alen) + ) + ) +// END of LANG_hu section + ) + && ! (( checkcompoundtriple && // test triple letters + (word[i-1]==word[i]) && ( + ((i>1) && (word[i-1]==word[i-2])) || + ((word[i-1]==word[i+1])) // may be word[i+1] == '\0' + ) + ) || + ( + // test CHECKCOMPOUNDPATTERN + numcheckcpd && cpdpat_check(word, i) + ) || + ( + checkcompoundcase && cpdcase_check(word, i) + )) + ) +// LANG_hu section: spec. Hungarian rule + || ((!rv) && (langnum == LANG_hu) && hu_mov_rule && (rv = affix_check(st,i)) && + (sfx && ((SfxEntry*)sfx)->getCont() && ( + TESTAFF(((SfxEntry*)sfx)->getCont(), (unsigned short) 'x', ((SfxEntry*)sfx)->getContLen()) || + TESTAFF(((SfxEntry*)sfx)->getCont(), (unsigned short) '%', ((SfxEntry*)sfx)->getContLen()) + ) + ) + ) +// END of LANG_hu section + ) { + +// LANG_hu section: spec. Hungarian rule + if (langnum == LANG_hu) { + // calculate syllable number of the word + numsyllable += get_syllable(st, i); + + // + 1 word, if syllable number of the prefix > 1 (hungarian convention) + if (pfx && (get_syllable(((PfxEntry *)pfx)->getKey(),strlen(((PfxEntry *)pfx)->getKey())) > 1)) wordnum++; + } +// END of LANG_hu section + + // NEXT WORD(S) + rv_first = rv; + rv = lookup((word+i)); // perhaps without prefix + + // search homonym with compound flag + while ((rv) && ((pseudoroot && TESTAFF(rv->astr, pseudoroot, rv->alen)) || + !((compoundflag && !words && TESTAFF(rv->astr, compoundflag, rv->alen)) || + (compoundend && !words && TESTAFF(rv->astr, compoundend, rv->alen)) || + (numdefcpd && defcpd_check(&words, wnum + 1, rv, NULL,1))))) { + rv = rv->next_homonym; + } + + if (rv && words && words[wnum + 1]) { + strcat(*result, presult); + if (complexprefixes && rv->description) strcat(*result, rv->description); + if (rv->description && ((!rv->astr) || + !TESTAFF(rv->astr, lemma_present, rv->alen))) + strcat(*result, rv->word); + if (!complexprefixes && rv->description) strcat(*result, rv->description); + strcat(*result, "\n"); + ok = 1; + return 0; + } + + oldnumsyllable2 = numsyllable; + oldwordnum2 = wordnum; + +// LANG_hu section: spec. Hungarian rule + if ((rv) && (langnum == LANG_hu) && (TESTAFF(rv->astr, 'I', rv->alen)) && !(TESTAFF(rv->astr, 'J', rv->alen))) { + numsyllable--; + } +// END of LANG_hu section + // increment word number, if the second root has a compoundroot flag + if ((rv) && (compoundroot) && + (TESTAFF(rv->astr, compoundroot, rv->alen))) { + wordnum++; + } + + // check forbiddenwords + if ((rv) && (rv->astr) && TESTAFF(rv->astr, forbiddenword, rv->alen)) { + st[i] = ch; + continue; + } + + // second word is acceptable, as a root? + // hungarian conventions: compounding is acceptable, + // when compound forms consist of 2 words, or if more, + // then the syllable number of root words must be 6, or lesser. + if ((rv) && ( + (compoundflag && TESTAFF(rv->astr, compoundflag, rv->alen)) || + (compoundend && TESTAFF(rv->astr, compoundend, rv->alen)) + ) + && ( + ((cpdwordmax==-1) || (wordnum+1word,rv->wlen)<=cpdmaxsyllable)) + ) + && ( + (!checkcompounddup || (rv != rv_first)) + ) + ) + { + // bad compound word + strcat(*result, presult); + + if (rv->description) { + if (complexprefixes) strcat(*result, rv->description); + if ((!rv->astr) || !TESTAFF(rv->astr, lemma_present, rv->alen)) + strcat(*result, rv->word); + if (!complexprefixes) strcat(*result, rv->description); + } + strcat(*result, "\n"); + ok = 1; + } + + numsyllable = oldnumsyllable2 ; + wordnum = oldwordnum2; + + // perhaps second word has prefix or/and suffix + sfx = NULL; + sfxflag = FLAG_NULL; + + if (compoundflag) rv = affix_check((word+i),strlen(word+i), compoundflag); else rv = NULL; + + if (!rv && compoundend) { + sfx = NULL; + pfx = NULL; + rv = affix_check((word+i),strlen(word+i), compoundend); + } + + if (!rv && numdefcpd && words) { + rv = affix_check((word+i),strlen(word+i), 0, IN_CPD_END); + if (rv && words && defcpd_check(&words, wnum + 1, rv, NULL, 1)) { + char * m = NULL; + if (compoundflag) m = affix_check_morph((word+i),strlen(word+i), compoundflag); + if ((!m || *m == '\0') && compoundend) + m = affix_check_morph((word+i),strlen(word+i), compoundend); + strcat(*result, presult); + if (m) { + line_uniq(m); + if (strchr(m, '\n')) { + strcat(*result, "("); + strcat(*result, line_join(m, '|')); + strcat(*result, ")"); + } else { + strcat(*result, m); + } + free(m); + } + strcat(*result, "\n"); + ok = 1; + } + } + + // check non_compound flag in suffix and prefix + if ((rv) && + ((pfx && ((PfxEntry*)pfx)->getCont() && + TESTAFF(((PfxEntry*)pfx)->getCont(), compoundforbidflag, + ((PfxEntry*)pfx)->getContLen())) || + (sfx && ((SfxEntry*)sfx)->getCont() && + TESTAFF(((SfxEntry*)sfx)->getCont(), compoundforbidflag, + ((SfxEntry*)sfx)->getContLen())))) { + rv = NULL; + } + + // check forbiddenwords + if ((rv) && (rv->astr) && (TESTAFF(rv->astr,forbiddenword,rv->alen)) + && (! TESTAFF(rv->astr, pseudoroot, rv->alen))) { + st[i] = ch; + continue; + } + + if (langnum == LANG_hu) { + // calculate syllable number of the word + numsyllable += get_syllable(word + i, strlen(word + i)); + + // - affix syllable num. + // XXX only second suffix (inflections, not derivations) + if (sfxappnd) { + char * tmp = myrevstrdup(sfxappnd); + numsyllable -= get_syllable(tmp, strlen(tmp)); + free(tmp); + } + + // + 1 word, if syllable number of the prefix > 1 (hungarian convention) + if (pfx && (get_syllable(((PfxEntry *)pfx)->getKey(),strlen(((PfxEntry *)pfx)->getKey())) > 1)) wordnum++; + + // increment syllable num, if last word has a SYLLABLENUM flag + // and the suffix is beginning `s' + + if (cpdsyllablenum) { + switch (sfxflag) { + case 'c': { numsyllable+=2; break; } + case 'J': { numsyllable += 1; break; } + case 'I': { if (rv && TESTAFF(rv->astr, 'J', rv->alen)) numsyllable += 1; break; } + } + } + } + + // increment word number, if the second word has a compoundroot flag + if ((rv) && (compoundroot) && + (TESTAFF(rv->astr, compoundroot, rv->alen))) { + wordnum++; + } + // second word is acceptable, as a word with prefix or/and suffix? + // hungarian conventions: compounding is acceptable, + // when compound forms consist 2 word, otherwise + // the syllable number of root words is 6, or lesser. + if ((rv) && + ( + ((cpdwordmax==-1) || (wordnum+1 0) && *s1 && (*s1 == *end_of_s2)) { + s1++; + end_of_s2--; + len--; + } + return (*s1 == '\0'); + } + */ + +inline int AffixMgr::isRevSubset(const char * s1, const char * end_of_s2, int len) + { + while ((len > 0) && (*s1 != '\0') && ((*s1 == *end_of_s2) || (*s1 == '.'))) { + s1++; + end_of_s2--; + len--; + } + return (*s1 == '\0'); + } + +// check word for suffixes + +struct hentry * AffixMgr::suffix_check (const char * word, int len, + int sfxopts, AffEntry * ppfx, char ** wlst, int maxSug, int * ns, + const FLAG cclass, const FLAG needflag, char in_compound) +{ + struct hentry * rv = NULL; + char result[MAXLNLEN]; + + PfxEntry* ep = (PfxEntry *) ppfx; + + // first handle the special case of 0 length suffixes + SfxEntry * se = (SfxEntry *) sStart[0]; + + while (se) { + if (!cclass || se->getCont()) { + // suffixes are not allowed in beginning of compounds + if ((((in_compound != IN_CPD_BEGIN)) || // && !cclass + // except when signed with compoundpermitflag flag + (se->getCont() && compoundpermitflag && + TESTAFF(se->getCont(),compoundpermitflag,se->getContLen()))) && (!circumfix || + // no circumfix flag in prefix and suffix + ((!ppfx || !(ep->getCont()) || !TESTAFF(ep->getCont(), + circumfix, ep->getContLen())) && + (!se->getCont() || !(TESTAFF(se->getCont(),circumfix,se->getContLen())))) || + // circumfix flag in prefix AND suffix + ((ppfx && (ep->getCont()) && TESTAFF(ep->getCont(), + circumfix, ep->getContLen())) && + (se->getCont() && (TESTAFF(se->getCont(),circumfix,se->getContLen()))))) && + // fogemorpheme + (in_compound || + !((se->getCont() && (TESTAFF(se->getCont(), onlyincompound, se->getContLen()))))) && + // pseudoroot on prefix or first suffix + (cclass || + !(se->getCont() && TESTAFF(se->getCont(), pseudoroot, se->getContLen())) || + (ppfx && !((ep->getCont()) && + TESTAFF(ep->getCont(), pseudoroot, + ep->getContLen()))) + ) + ) { + rv = se->checkword(word,len, sfxopts, ppfx, wlst, maxSug, ns, (FLAG) cclass, + needflag, (in_compound ? 0 : onlyincompound)); + if (rv) { + sfx=(AffEntry *)se; // BUG: sfx not stateless + return rv; + } + } + } + se = se->getNext(); + } + + // now handle the general case + unsigned char sp = *((const unsigned char *)(word + len - 1)); + SfxEntry * sptr = (SfxEntry *) sStart[sp]; + + while (sptr) { + if (isRevSubset(sptr->getKey(), word + len - 1, len) + ) { + // suffixes are not allowed in beginning of compounds + if ((((in_compound != IN_CPD_BEGIN)) || // && !cclass + // except when signed with compoundpermitflag flag + (sptr->getCont() && compoundpermitflag && + TESTAFF(sptr->getCont(),compoundpermitflag,sptr->getContLen()))) && (!circumfix || + // no circumfix flag in prefix and suffix + ((!ppfx || !(ep->getCont()) || !TESTAFF(ep->getCont(), + circumfix, ep->getContLen())) && + (!sptr->getCont() || !(TESTAFF(sptr->getCont(),circumfix,sptr->getContLen())))) || + // circumfix flag in prefix AND suffix + ((ppfx && (ep->getCont()) && TESTAFF(ep->getCont(), + circumfix, ep->getContLen())) && + (sptr->getCont() && (TESTAFF(sptr->getCont(),circumfix,sptr->getContLen()))))) && + // fogemorpheme + (in_compound || + !((sptr->getCont() && (TESTAFF(sptr->getCont(), onlyincompound, sptr->getContLen()))))) && + // pseudoroot on prefix or first suffix + (cclass || + !(sptr->getCont() && TESTAFF(sptr->getCont(), pseudoroot, sptr->getContLen())) || + (ppfx && !((ep->getCont()) && + TESTAFF(ep->getCont(), pseudoroot, + ep->getContLen()))) + ) + ) { + rv = sptr->checkword(word,len, sfxopts, ppfx, wlst, + maxSug, ns, cclass, needflag, (in_compound ? 0 : onlyincompound)); + if (rv) { + sfx=(AffEntry *)sptr; // BUG: sfx not stateless + sfxflag = sptr->getFlag(); // BUG: sfxflag not stateless + if (!sptr->getCont()) sfxappnd=sptr->getKey(); // BUG: sfxappnd not stateless + if (cclass || sptr->getCont()) { + if (!derived) { + derived = mystrdup(word); + } else { + strcpy(result, derived); // XXX check size + strcat(result, "\n"); + strcat(result, word); + free(derived); + derived = mystrdup(result); + } + } + return rv; + } + } + sptr = sptr->getNextEQ(); + } else { + sptr = sptr->getNextNE(); + } + } + + return NULL; +} + +// check word for two-level suffixes + +struct hentry * AffixMgr::suffix_check_twosfx(const char * word, int len, + int sfxopts, AffEntry * ppfx, const FLAG needflag) +{ + struct hentry * rv = NULL; + + // first handle the special case of 0 length suffixes + SfxEntry * se = (SfxEntry *) sStart[0]; + while (se) { + if (contclasses[se->getFlag()]) + { + rv = se->check_twosfx(word,len, sfxopts, ppfx, needflag); + if (rv) return rv; + } + se = se->getNext(); + } + + // now handle the general case + unsigned char sp = *((const unsigned char *)(word + len - 1)); + SfxEntry * sptr = (SfxEntry *) sStart[sp]; + + while (sptr) { + if (isRevSubset(sptr->getKey(), word + len - 1, len)) { + if (contclasses[sptr->getFlag()]) + { + rv = sptr->check_twosfx(word,len, sfxopts, ppfx, needflag); + if (rv) { + sfxflag = sptr->getFlag(); // BUG: sfxflag not stateless + if (!sptr->getCont()) sfxappnd=sptr->getKey(); // BUG: sfxappnd not stateless + return rv; + } + } + sptr = sptr->getNextEQ(); + } else { + sptr = sptr->getNextNE(); + } + } + + return NULL; +} + +#ifdef HUNSPELL_EXPERIMENTAL +char * AffixMgr::suffix_check_twosfx_morph(const char * word, int len, + int sfxopts, AffEntry * ppfx, const FLAG needflag) +{ + char result[MAXLNLEN]; + char result2[MAXLNLEN]; + char result3[MAXLNLEN]; + + char * st; + + result[0] = '\0'; + result2[0] = '\0'; + result3[0] = '\0'; + + // first handle the special case of 0 length suffixes + SfxEntry * se = (SfxEntry *) sStart[0]; + while (se) { + if (contclasses[se->getFlag()]) + { + st = se->check_twosfx_morph(word,len, sfxopts, ppfx, needflag); + if (st) { + if (ppfx) { + if (((PfxEntry *) ppfx)->getMorph()) strcat(result, ((PfxEntry *) ppfx)->getMorph()); + } + strcat(result, st); + free(st); + if (se->getMorph()) strcat(result, se->getMorph()); + strcat(result, "\n"); + } + } + se = se->getNext(); + } + + // now handle the general case + unsigned char sp = *((const unsigned char *)(word + len - 1)); + SfxEntry * sptr = (SfxEntry *) sStart[sp]; + + while (sptr) { + if (isRevSubset(sptr->getKey(), word + len - 1, len)) { + if (contclasses[sptr->getFlag()]) + { + st = sptr->check_twosfx_morph(word,len, sfxopts, ppfx, needflag); + if (st) { + sfxflag = sptr->getFlag(); // BUG: sfxflag not stateless + if (!sptr->getCont()) sfxappnd=sptr->getKey(); // BUG: sfxappnd not stateless + strcpy(result2, st); + free(st); + + result3[0] = '\0'; +#ifdef DEBUG + unsigned short flag = sptr->getFlag(); + if (flag_mode == FLAG_NUM) { + sprintf(result3, "<%d>", sptr->getKey()); + } else if (flag_mode == FLAG_LONG) { + sprintf(result3, "<%c%c>", flag >> 8, (flag << 8) >>8); + } else sprintf(result3, "<%c>", flag); + strcat(result3, ":"); +#endif + if (sptr->getMorph()) strcat(result3, sptr->getMorph()); + strlinecat(result2, result3); + strcat(result2, "\n"); + strcat(result, result2); + } + } + sptr = sptr->getNextEQ(); + } else { + sptr = sptr->getNextNE(); + } + } + if (result) return mystrdup(result); + return NULL; +} + +char * AffixMgr::suffix_check_morph(const char * word, int len, + int sfxopts, AffEntry * ppfx, const FLAG cclass, const FLAG needflag, char in_compound) +{ + char result[MAXLNLEN]; + + struct hentry * rv = NULL; + + result[0] = '\0'; + + PfxEntry* ep = (PfxEntry *) ppfx; + + // first handle the special case of 0 length suffixes + SfxEntry * se = (SfxEntry *) sStart[0]; + while (se) { + if (!cclass || se->getCont()) { + // suffixes are not allowed in beginning of compounds + if (((((in_compound != IN_CPD_BEGIN)) || // && !cclass + // except when signed with compoundpermitflag flag + (se->getCont() && compoundpermitflag && + TESTAFF(se->getCont(),compoundpermitflag,se->getContLen()))) && (!circumfix || + // no circumfix flag in prefix and suffix + ((!ppfx || !(ep->getCont()) || !TESTAFF(ep->getCont(), + circumfix, ep->getContLen())) && + (!se->getCont() || !(TESTAFF(se->getCont(),circumfix,se->getContLen())))) || + // circumfix flag in prefix AND suffix + ((ppfx && (ep->getCont()) && TESTAFF(ep->getCont(), + circumfix, ep->getContLen())) && + (se->getCont() && (TESTAFF(se->getCont(),circumfix,se->getContLen()))))) && + // fogemorpheme + (in_compound || + !((se->getCont() && (TESTAFF(se->getCont(), onlyincompound, se->getContLen()))))) && + // pseudoroot on prefix or first suffix + (cclass || + !(se->getCont() && TESTAFF(se->getCont(), pseudoroot, se->getContLen())) || + (ppfx && !((ep->getCont()) && + TESTAFF(ep->getCont(), pseudoroot, + ep->getContLen()))) + ) + )) + rv = se->checkword(word,len, sfxopts, ppfx, NULL, 0, 0, cclass, needflag); + while (rv) { + if (ppfx) { + if (((PfxEntry *) ppfx)->getMorph()) strcat(result, ((PfxEntry *) ppfx)->getMorph()); + } + if (complexprefixes && rv->description) strcat(result, rv->description); + if (rv->description && ((!rv->astr) || + !TESTAFF(rv->astr, lemma_present, rv->alen))) + strcat(result, rv->word); + if (!complexprefixes && rv->description) strcat(result, rv->description); + if (se->getMorph()) strcat(result, se->getMorph()); + strcat(result, "\n"); + rv = se->get_next_homonym(rv, sfxopts, ppfx, cclass, needflag); + } + } + se = se->getNext(); + } + + // now handle the general case + unsigned char sp = *((const unsigned char *)(word + len - 1)); + SfxEntry * sptr = (SfxEntry *) sStart[sp]; + + while (sptr) { + if (isRevSubset(sptr->getKey(), word + len - 1, len) + ) { + // suffixes are not allowed in beginning of compounds + if (((((in_compound != IN_CPD_BEGIN)) || // && !cclass + // except when signed with compoundpermitflag flag + (sptr->getCont() && compoundpermitflag && + TESTAFF(sptr->getCont(),compoundpermitflag,sptr->getContLen()))) && (!circumfix || + // no circumfix flag in prefix and suffix + ((!ppfx || !(ep->getCont()) || !TESTAFF(ep->getCont(), + circumfix, ep->getContLen())) && + (!sptr->getCont() || !(TESTAFF(sptr->getCont(),circumfix,sptr->getContLen())))) || + // circumfix flag in prefix AND suffix + ((ppfx && (ep->getCont()) && TESTAFF(ep->getCont(), + circumfix, ep->getContLen())) && + (sptr->getCont() && (TESTAFF(sptr->getCont(),circumfix,sptr->getContLen()))))) && + // fogemorpheme + (in_compound || + !((sptr->getCont() && (TESTAFF(sptr->getCont(), onlyincompound, sptr->getContLen()))))) && + // pseudoroot on first suffix + (cclass || !(sptr->getCont() && + TESTAFF(sptr->getCont(), pseudoroot, sptr->getContLen()))) + )) rv = sptr->checkword(word,len, sfxopts, ppfx, NULL, 0, 0, cclass, needflag); + while (rv) { + if (ppfx) { + if (((PfxEntry *) ppfx)->getMorph()) strcat(result, ((PfxEntry *) ppfx)->getMorph()); + } + if (complexprefixes && rv->description) strcat(result, rv->description); + if (rv->description && ((!rv->astr) || + !TESTAFF(rv->astr, lemma_present, rv->alen))) strcat(result, rv->word); + if (!complexprefixes && rv->description) strcat(result, rv->description); +#ifdef DEBUG + unsigned short flag = sptr->getFlag(); + if (flag_mode == FLAG_NUM) { + sprintf(result, "<%d>", sptr->getKey()); + } else if (flag_mode == FLAG_LONG) { + sprintf(result, "<%c%c>", flag >> 8, (flag << 8) >>8); + } else sprintf(result, "<%c>", flag); + strcat(result, ":"); +#endif + + if (sptr->getMorph()) strcat(result, sptr->getMorph()); + strcat(result, "\n"); + rv = sptr->get_next_homonym(rv, sfxopts, ppfx, cclass, needflag); + } + sptr = sptr->getNextEQ(); + } else { + sptr = sptr->getNextNE(); + } + } + + if (*result) return mystrdup(result); + return NULL; +} +#endif // END OF HUNSPELL_EXPERIMENTAL CODE + + +// check if word with affixes is correctly spelled +struct hentry * AffixMgr::affix_check (const char * word, int len, const FLAG needflag, char in_compound) +{ + struct hentry * rv= NULL; + if (derived) free(derived); + derived = NULL; + + // check all prefixes (also crossed with suffixes if allowed) + rv = prefix_check(word, len, in_compound, needflag); + if (rv) return rv; + + // if still not found check all suffixes + rv = suffix_check(word, len, 0, NULL, NULL, 0, NULL, FLAG_NULL, needflag, in_compound); + + if (havecontclass) { + sfx = NULL; + pfx = NULL; + if (rv) return rv; + // if still not found check all two-level suffixes + rv = suffix_check_twosfx(word, len, 0, NULL, needflag); + if (rv) return rv; + // if still not found check all two-level suffixes + rv = prefix_check_twosfx(word, len, IN_CPD_NOT, needflag); + } + return rv; +} + +#ifdef HUNSPELL_EXPERIMENTAL +// check if word with affixes is correctly spelled +char * AffixMgr::affix_check_morph(const char * word, int len, const FLAG needflag, char in_compound) +{ + char result[MAXLNLEN]; + char * st = NULL; + + *result = '\0'; + + // check all prefixes (also crossed with suffixes if allowed) + st = prefix_check_morph(word, len, in_compound); + if (st) { + strcat(result, st); + free(st); + } + + // if still not found check all suffixes + st = suffix_check_morph(word, len, 0, NULL, '\0', needflag, in_compound); + if (st) { + strcat(result, st); + free(st); + } + + if (havecontclass) { + sfx = NULL; + pfx = NULL; + // if still not found check all two-level suffixes + st = suffix_check_twosfx_morph(word, len, 0, NULL, needflag); + if (st) { + strcat(result, st); + free(st); + } + + // if still not found check all two-level suffixes + st = prefix_check_twosfx_morph(word, len, IN_CPD_NOT, needflag); + if (st) { + strcat(result, st); + free(st); + } + } + + return mystrdup(result); +} +#endif // END OF HUNSPELL_EXPERIMENTAL CODE + + +int AffixMgr::expand_rootword(struct guessword * wlst, int maxn, const char * ts, + int wl, const unsigned short * ap, unsigned short al, char * bad, int badl) +{ + + int nh=0; + + // first add root word to list + if ((nh < maxn) && !(al && ((pseudoroot && TESTAFF(ap, pseudoroot, al)) || + (onlyincompound && TESTAFF(ap, onlyincompound, al))))) { + wlst[nh].word = mystrdup(ts); + wlst[nh].allow = (1 == 0); + nh++; + } + + // handle suffixes + for (int i = 0; i < al; i++) { + unsigned short c = (unsigned short) ap[i]; + SfxEntry * sptr = (SfxEntry *)sFlag[c]; + while (sptr) { + if (!sptr->getKeyLen() || ((badl > sptr->getKeyLen()) && + (strcmp(sptr->getAffix(), bad + badl - sptr->getKeyLen()) == 0)) && + // check pseudoroot flag + !(sptr->getCont() && ((pseudoroot && + TESTAFF(sptr->getCont(), pseudoroot, sptr->getContLen())) || + (circumfix && + TESTAFF(sptr->getCont(), circumfix, sptr->getContLen())) || + (onlyincompound && + TESTAFF(sptr->getCont(), onlyincompound, sptr->getContLen())))) + ) { + char * newword = sptr->add(ts, wl); + if (newword) { + if (nh < maxn) { + wlst[nh].word = newword; + wlst[nh].allow = sptr->allowCross(); + nh++; + } else { + free(newword); + } + } + } + sptr = (SfxEntry *)sptr ->getFlgNxt(); + } + } + + int n = nh; + + // handle cross products of prefixes and suffixes + for (int j=1;jallowCross() && (!cptr->getKeyLen() || ((badl > cptr->getKeyLen()) && + (strncmp(cptr->getKey(), bad, cptr->getKeyLen()) == 0)))) { + int l1 = strlen(wlst[j].word); + char * newword = cptr->add(wlst[j].word, l1); + if (newword) { + if (nh < maxn) { + wlst[nh].word = newword; + wlst[nh].allow = cptr->allowCross(); + nh++; + } else { + free(newword); + } + } + } + cptr = (PfxEntry *)cptr ->getFlgNxt(); + } + } + } + + + // now handle pure prefixes + for (int m = 0; m < al; m ++) { + unsigned short c = (unsigned short) ap[m]; + PfxEntry * ptr = (PfxEntry *) pFlag[c]; + while (ptr) { + if (!ptr->getKeyLen() || ((badl > ptr->getKeyLen()) && + (strncmp(ptr->getKey(), bad, ptr->getKeyLen()) == 0)) && + // check pseudoroot flag + !(ptr->getCont() && ((pseudoroot && + TESTAFF(ptr->getCont(), pseudoroot, ptr->getContLen())) || + (circumfix && + TESTAFF(ptr->getCont(), circumfix, ptr->getContLen())) || + (onlyincompound && + TESTAFF(ptr->getCont(), onlyincompound, ptr->getContLen())))) + ) { + char * newword = ptr->add(ts, wl); + if (newword) { + if (nh < maxn) { + wlst[nh].word = newword; + wlst[nh].allow = ptr->allowCross(); + nh++; + } else { + free(newword); + } + } + } + ptr = (PfxEntry *)ptr ->getFlgNxt(); + } + } + + return nh; +} + + + +// return length of replacing table +int AffixMgr::get_numrep() +{ + return numrep; +} + +// return replacing table +struct replentry * AffixMgr::get_reptable() +{ + if (! reptable ) return NULL; + return reptable; +} + +// return length of character map table +int AffixMgr::get_nummap() +{ + return nummap; +} + +// return character map table +struct mapentry * AffixMgr::get_maptable() +{ + if (! maptable ) return NULL; + return maptable; +} + +// return length of word break table +int AffixMgr::get_numbreak() +{ + return numbreak; +} + +// return character map table +char ** AffixMgr::get_breaktable() +{ + if (! breaktable ) return NULL; + return breaktable; +} + +// return text encoding of dictionary +char * AffixMgr::get_encoding() +{ + if (! encoding ) { + encoding = mystrdup("ISO8859-1"); + } + return mystrdup(encoding); +} + +// return text encoding of dictionary +int AffixMgr::get_langnum() +{ + return langnum; +} + +// return double prefix option +int AffixMgr::get_complexprefixes() +{ + return complexprefixes; +} + +FLAG AffixMgr::get_keepcase() +{ + return keepcase; +} + +int AffixMgr::get_checksharps() +{ + return checksharps; +} + +// return the preferred ignore string for suggestions +char * AffixMgr::get_ignore() +{ + if (!ignorechars) return NULL; + return mystrdup(ignorechars); +} + +// return the preferred ignore string for suggestions +unsigned short * AffixMgr::get_ignore_utf16(int * len) +{ + *len = ignorechars_utf16_len; + return ignorechars_utf16; +} + +// return the preferred try string for suggestions +char * AffixMgr::get_try_string() +{ + if (! trystring ) return NULL; + return mystrdup(trystring); +} + +// return the preferred try string for suggestions +const char * AffixMgr::get_wordchars() +{ + return wordchars; +} + +unsigned short * AffixMgr::get_wordchars_utf16(int * len) +{ + *len = wordchars_utf16_len; + return wordchars_utf16; +} + +// is there compounding? +int AffixMgr::get_compound() +{ + return compoundflag || compoundbegin || numdefcpd; +} + +// return the compound words control flag +FLAG AffixMgr::get_compoundflag() +{ + return compoundflag; +} + +// return the forbidden words control flag +FLAG AffixMgr::get_forbiddenword() +{ + return forbiddenword; +} + +// return the forbidden words control flag +FLAG AffixMgr::get_nosuggest() +{ + return nosuggest; +} + +// return the forbidden words flag modify flag +FLAG AffixMgr::get_pseudoroot() +{ + return pseudoroot; +} + +// return the onlyincompound flag +FLAG AffixMgr::get_onlyincompound() +{ + return onlyincompound; +} + +// return the compound word signal flag +FLAG AffixMgr::get_compoundroot() +{ + return compoundroot; +} + +// return the compound begin signal flag +FLAG AffixMgr::get_compoundbegin() +{ + return compoundbegin; +} + +// return the value of checknum +int AffixMgr::get_checknum() +{ + return checknum; +} + +// return the value of prefix +const char * AffixMgr::get_prefix() +{ + if (pfx) return ((PfxEntry *)pfx)->getKey(); + return NULL; +} + +// return the value of suffix +const char * AffixMgr::get_suffix() +{ + return sfxappnd; +} + +// return the value of derived form (base word with first suffix). +const char * AffixMgr::get_derived() +{ + return derived; +} + +// return the value of suffix +const char * AffixMgr::get_version() +{ + return version; +} + +// return lemma_present flag +FLAG AffixMgr::get_lemma_present() +{ + return lemma_present; +} + +// utility method to look up root words in hash table +struct hentry * AffixMgr::lookup(const char * word) +{ + if (! pHMgr) return NULL; + return pHMgr->lookup(word); +} + +// return the value of suffix +const int AffixMgr::have_contclass() +{ + return havecontclass; +} + +// return utf8 +int AffixMgr::get_utf8() +{ + return utf8; +} + +// return nosplitsugs +int AffixMgr::get_maxngramsugs(void) +{ + return maxngramsugs; +} + +// return nosplitsugs +int AffixMgr::get_nosplitsugs(void) +{ + return nosplitsugs; +} + +// return sugswithdots +int AffixMgr::get_sugswithdots(void) +{ + return sugswithdots; +} + +/* parse flag */ +int AffixMgr::parse_flag(char * line, unsigned short * out, const char * name) { + char * s = NULL; + if (*out != FLAG_NULL) { + HUNSPELL_WARNING(stderr, "error: duplicate %s line\n", name); + return 1; + } + if (parse_string(line, &s, name)) return 1; + *out = pHMgr->decode_flag(s); + free(s); + return 0; +} + +/* parse num */ +int AffixMgr::parse_num(char * line, int * out, const char * name) { + char * s = NULL; + if (*out != -1) { + HUNSPELL_WARNING(stderr, "error: duplicate %s line\n", name); + return 1; + } + if (parse_string(line, &s, name)) return 1; + *out = atoi(s); + free(s); + return 0; +} + +/* parse in the max syllablecount of compound words and */ +int AffixMgr::parse_cpdsyllable(char * line) +{ + char * tp = line; + char * piece; + int i = 0; + int np = 0; + w_char w[MAXWORDLEN]; + piece = mystrsep(&tp, 0); + while (piece) { + if (*piece != '\0') { + switch(i) { + case 0: { np++; break; } + case 1: { cpdmaxsyllable = atoi(piece); np++; break; } + case 2: { + if (!utf8) { + cpdvowels = mystrdup(piece); + } else { + int n = u8_u16(w, MAXWORDLEN, piece); + if (n > 0) { + flag_qsort((unsigned short *) w, 0, n); + cpdvowels_utf16 = (w_char *) malloc(n * sizeof(w_char)); + if (!cpdvowels_utf16) return 1; + memcpy(cpdvowels_utf16, w, n * sizeof(w_char)); + } + cpdvowels_utf16_len = n; + } + np++; + break; + } + default: break; + } + i++; + } + free(piece); + piece = mystrsep(&tp, 0); + } + if (np < 2) { + HUNSPELL_WARNING(stderr, "error: missing compoundsyllable information\n"); + return 1; + } + if (np == 2) cpdvowels = mystrdup("aeiouAEIOU"); + return 0; +} + +/* parse in the typical fault correcting table */ +int AffixMgr::parse_reptable(char * line, FILE * af) +{ + if (numrep != 0) { + HUNSPELL_WARNING(stderr, "error: duplicate REP tables used\n"); + return 1; + } + char * tp = line; + char * piece; + int i = 0; + int np = 0; + piece = mystrsep(&tp, 0); + while (piece) { + if (*piece != '\0') { + switch(i) { + case 0: { np++; break; } + case 1: { + numrep = atoi(piece); + if (numrep < 1) { + HUNSPELL_WARNING(stderr, "incorrect number of entries in replacement table\n"); + free(piece); + return 1; + } + reptable = (replentry *) malloc(numrep * sizeof(struct replentry)); + if (!reptable) return 1; + np++; + break; + } + default: break; + } + i++; + } + free(piece); + piece = mystrsep(&tp, 0); + } + if (np != 2) { + HUNSPELL_WARNING(stderr, "error: missing replacement table information\n"); + return 1; + } + + /* now parse the numrep lines to read in the remainder of the table */ + char * nl = line; + for (int j=0; j < numrep; j++) { + if (!fgets(nl,MAXLNLEN,af)) return 1; + mychomp(nl); + tp = nl; + i = 0; + reptable[j].pattern = NULL; + reptable[j].pattern2 = NULL; + piece = mystrsep(&tp, 0); + while (piece) { + if (*piece != '\0') { + switch(i) { + case 0: { + if (strncmp(piece,"REP",3) != 0) { + HUNSPELL_WARNING(stderr, "error: replacement table is corrupt\n"); + numrep = 0; + free(piece); + return 1; + } + break; + } + case 1: { reptable[j].pattern = mystrrep(mystrdup(piece),"_"," "); break; } + case 2: { reptable[j].pattern2 = mystrrep(mystrdup(piece),"_"," "); break; } + default: break; + } + i++; + } + free(piece); + piece = mystrsep(&tp, 0); + } + if ((!(reptable[j].pattern)) || (!(reptable[j].pattern2))) { + HUNSPELL_WARNING(stderr, "error: replacement table is corrupt\n"); + numrep = 0; + return 1; + } + } + return 0; +} + +/* parse in the checkcompoundpattern table */ +int AffixMgr::parse_checkcpdtable(char * line, FILE * af) +{ + if (numcheckcpd != 0) { + HUNSPELL_WARNING(stderr, "error: duplicate compound pattern tables used\n"); + return 1; + } + char * tp = line; + char * piece; + int i = 0; + int np = 0; + piece = mystrsep(&tp, 0); + while (piece) { + if (*piece != '\0') { + switch(i) { + case 0: { np++; break; } + case 1: { + numcheckcpd = atoi(piece); + if (numcheckcpd < 1) { + HUNSPELL_WARNING(stderr, "incorrect number of entries in compound pattern table\n"); + free(piece); + return 1; + } + checkcpdtable = (replentry *) malloc(numcheckcpd * sizeof(struct replentry)); + if (!checkcpdtable) return 1; + np++; + break; + } + default: break; + } + i++; + } + free(piece); + piece = mystrsep(&tp, 0); + } + if (np != 2) { + HUNSPELL_WARNING(stderr, "error: missing compound pattern table information\n"); + return 1; + } + + /* now parse the numcheckcpd lines to read in the remainder of the table */ + char * nl = line; + for (int j=0; j < numcheckcpd; j++) { + if (!fgets(nl,MAXLNLEN,af)) return 1; + mychomp(nl); + tp = nl; + i = 0; + checkcpdtable[j].pattern = NULL; + checkcpdtable[j].pattern2 = NULL; + piece = mystrsep(&tp, 0); + while (piece) { + if (*piece != '\0') { + switch(i) { + case 0: { + if (strncmp(piece,"CHECKCOMPOUNDPATTERN",20) != 0) { + HUNSPELL_WARNING(stderr, "error: compound pattern table is corrupt\n"); + numcheckcpd = 0; + free(piece); + return 1; + } + break; + } + case 1: { checkcpdtable[j].pattern = mystrdup(piece); break; } + case 2: { checkcpdtable[j].pattern2 = mystrdup(piece); break; } + default: break; + } + i++; + } + free(piece); + piece = mystrsep(&tp, 0); + } + if ((!(checkcpdtable[j].pattern)) || (!(checkcpdtable[j].pattern2))) { + HUNSPELL_WARNING(stderr, "error: compound pattern table is corrupt\n"); + numcheckcpd = 0; + return 1; + } + } + return 0; +} + +/* parse in the compound rule table */ +int AffixMgr::parse_defcpdtable(char * line, FILE * af) +{ + if (numdefcpd != 0) { + HUNSPELL_WARNING(stderr, "error: duplicate compound rule tables used\n"); + return 1; + } + char * tp = line; + char * piece; + int i = 0; + int np = 0; + piece = mystrsep(&tp, 0); + while (piece) { + if (*piece != '\0') { + switch(i) { + case 0: { np++; break; } + case 1: { + numdefcpd = atoi(piece); + if (numdefcpd < 1) { + HUNSPELL_WARNING(stderr, "incorrect number of entries in compound rule table\n"); + free(piece); + return 1; + } + defcpdtable = (flagentry *) malloc(numdefcpd * sizeof(flagentry)); + if (!defcpdtable) return 1; + np++; + break; + } + default: break; + } + i++; + } + free(piece); + piece = mystrsep(&tp, 0); + } + if (np != 2) { + HUNSPELL_WARNING(stderr, "error: missing compound rule table information\n"); + return 1; + } + + /* now parse the numdefcpd lines to read in the remainder of the table */ + char * nl = line; + for (int j=0; j < numdefcpd; j++) { + if (!fgets(nl,MAXLNLEN,af)) return 1; + mychomp(nl); + tp = nl; + i = 0; + defcpdtable[j].def = NULL; + piece = mystrsep(&tp, 0); + while (piece) { + if (*piece != '\0') { + switch(i) { + case 0: { + if (strncmp(piece, "COMPOUNDRULE", 12) != 0) { + HUNSPELL_WARNING(stderr, "error: compound rule table is corrupt\n"); + free(piece); + numdefcpd = 0; + return 1; + } + break; + } + case 1: { + defcpdtable[j].len = + pHMgr->decode_flags(&(defcpdtable[j].def), piece); + break; + } + default: break; + } + i++; + } + free(piece); + piece = mystrsep(&tp, 0); + } + if (!defcpdtable[j].len) { + HUNSPELL_WARNING(stderr, "error: compound rule table is corrupt\n"); + numdefcpd = 0; + return 1; + } + } + return 0; +} + + +/* parse in the character map table */ +int AffixMgr::parse_maptable(char * line, FILE * af) +{ + if (nummap != 0) { + HUNSPELL_WARNING(stderr, "error: duplicate MAP tables used\n"); + return 1; + } + char * tp = line; + char * piece; + int i = 0; + int np = 0; + piece = mystrsep(&tp, 0); + while (piece) { + if (*piece != '\0') { + switch(i) { + case 0: { np++; break; } + case 1: { + nummap = atoi(piece); + if (nummap < 1) { + HUNSPELL_WARNING(stderr, "incorrect number of entries in map table\n"); + free(piece); + return 1; + } + maptable = (mapentry *) malloc(nummap * sizeof(struct mapentry)); + if (!maptable) return 1; + np++; + break; + } + default: break; + } + i++; + } + free(piece); + piece = mystrsep(&tp, 0); + } + if (np != 2) { + HUNSPELL_WARNING(stderr, "error: missing map table information\n"); + return 1; + } + + /* now parse the nummap lines to read in the remainder of the table */ + char * nl = line; + for (int j=0; j < nummap; j++) { + if (!fgets(nl,MAXLNLEN,af)) return 1; + mychomp(nl); + tp = nl; + i = 0; + maptable[j].set = NULL; + maptable[j].len = 0; + piece = mystrsep(&tp, 0); + while (piece) { + if (*piece != '\0') { + switch(i) { + case 0: { + if (strncmp(piece,"MAP",3) != 0) { + HUNSPELL_WARNING(stderr, "error: map table is corrupt\n"); + nummap = 0; + free(piece); + return 1; + } + break; + } + case 1: { + maptable[j].len = 0; + maptable[j].set = NULL; + maptable[j].set_utf16 = NULL; + if (!utf8) { + maptable[j].set = mystrdup(piece); + maptable[j].len = strlen(maptable[j].set); + } else { + w_char w[MAXWORDLEN]; + int n = u8_u16(w, MAXWORDLEN, piece); + if (n > 0) { + flag_qsort((unsigned short *) w, 0, n); + maptable[j].set_utf16 = (w_char *) malloc(n * sizeof(w_char)); + if (!maptable[j].set_utf16) return 1; + memcpy(maptable[j].set_utf16, w, n * sizeof(w_char)); + } + maptable[j].len = n; + } + break; } + default: break; + } + i++; + } + free(piece); + piece = mystrsep(&tp, 0); + } + if ((!(maptable[j].set || maptable[j].set_utf16)) || (!(maptable[j].len))) { + HUNSPELL_WARNING(stderr, "error: map table is corrupt\n"); + nummap = 0; + return 1; + } + } + return 0; +} + +/* parse in the word breakpoint table */ +int AffixMgr::parse_breaktable(char * line, FILE * af) +{ + if (numbreak != 0) { + HUNSPELL_WARNING(stderr, "error: duplicate word breakpoint tables used\n"); + return 1; + } + char * tp = line; + char * piece; + int i = 0; + int np = 0; + piece = mystrsep(&tp, 0); + while (piece) { + if (*piece != '\0') { + switch(i) { + case 0: { np++; break; } + case 1: { + numbreak = atoi(piece); + if (numbreak < 1) { + HUNSPELL_WARNING(stderr, "incorrect number of entries in BREAK table\n"); + free(piece); + return 1; + } + breaktable = (char **) malloc(numbreak * sizeof(char *)); + if (!breaktable) return 1; + np++; + break; + } + default: break; + } + i++; + } + free(piece); + piece = mystrsep(&tp, 0); + } + if (np != 2) { + HUNSPELL_WARNING(stderr, "error: missing word breakpoint table information\n"); + return 1; + } + + /* now parse the numbreak lines to read in the remainder of the table */ + char * nl = line; + for (int j=0; j < numbreak; j++) { + if (!fgets(nl,MAXLNLEN,af)) return 1; + mychomp(nl); + tp = nl; + i = 0; + piece = mystrsep(&tp, 0); + while (piece) { + if (*piece != '\0') { + switch(i) { + case 0: { + if (strncmp(piece,"BREAK",5) != 0) { + HUNSPELL_WARNING(stderr, "error: BREAK table is corrupt\n"); + free(piece); + numbreak = 0; + return 1; + } + break; + } + case 1: { + breaktable[j] = mystrdup(piece); + break; + } + default: break; + } + i++; + } + free(piece); + piece = mystrsep(&tp, 0); + } + if (!breaktable) { + HUNSPELL_WARNING(stderr, "error: BREAK table is corrupt\n"); + numbreak = 0; + return 1; + } + } + return 0; +} + +int AffixMgr::parse_affix(char * line, const char at, FILE * af, char * dupflags) +{ + int numents = 0; // number of affentry structures to parse + + unsigned short aflag = 0; // affix char identifier + + char ff=0; + struct affentry * ptr= NULL; + struct affentry * nptr= NULL; + + char * tp = line; + char * nl = line; + char * piece; + int i = 0; + + // checking lines with bad syntax +#ifdef DEBUG + int basefieldnum = 0; +#endif + + // split affix header line into pieces + + int np = 0; + piece = mystrsep(&tp, 0); + while (piece) { + if (*piece != '\0') { + switch(i) { + // piece 1 - is type of affix + case 0: { np++; break; } + + // piece 2 - is affix char + case 1: { + np++; + aflag = pHMgr->decode_flag(piece); + if (((at == 'S') && (dupflags[aflag] & dupSFX)) || + ((at == 'P') && (dupflags[aflag] & dupPFX))) { + HUNSPELL_WARNING(stderr, "error: duplicate affix flag %s in line %s\n", piece, nl); + // return 1; XXX permissive mode for bad dictionaries + } + dupflags[aflag] += ((at == 'S') ? dupSFX : dupPFX); + break; + } + // piece 3 - is cross product indicator + case 2: { np++; if (*piece == 'Y') ff = aeXPRODUCT; break; } + + // piece 4 - is number of affentries + case 3: { + np++; + numents = atoi(piece); + if (numents == 0) { + char * err = pHMgr->encode_flag(aflag); + HUNSPELL_WARNING(stderr, "error: affix %s header has incorrect entry count in line %s\n", + err, nl); + free(err); + return 1; + } + ptr = (struct affentry *) malloc(numents * sizeof(struct affentry)); + if (!ptr) return 1; + ptr->opts = ff; + if (utf8) ptr->opts += aeUTF8; + if (pHMgr->is_aliasf()) ptr->opts += aeALIASF; +#ifdef HUNSPELL_EXPERIMENTAL + if (pHMgr->is_aliasm()) ptr->opts += aeALIASM; +#endif + ptr->aflag = aflag; + } + + default: break; + } + i++; + } + free(piece); + piece = mystrsep(&tp, 0); + } + // check to make sure we parsed enough pieces + if (np != 4) { + char * err = pHMgr->encode_flag(aflag); + HUNSPELL_WARNING(stderr, "error: affix %s header has insufficient data in line %s\n", err, nl); + free(err); + free(ptr); + return 1; + } + + // store away ptr to first affentry + nptr = ptr; + + // now parse numents affentries for this affix + for (int j=0; j < numents; j++) { + if (!fgets(nl,MAXLNLEN,af)) return 1; + mychomp(nl); + tp = nl; + i = 0; + np = 0; + + // split line into pieces + piece = mystrsep(&tp, 0); + while (piece) { + if (*piece != '\0') { + switch(i) { + // piece 1 - is type + case 0: { + np++; + if (nptr != ptr) nptr->opts = ptr->opts; + break; + } + + // piece 2 - is affix char + case 1: { + np++; + if (pHMgr->decode_flag(piece) != aflag) { + char * err = pHMgr->encode_flag(aflag); + HUNSPELL_WARNING(stderr, "error: affix %s is corrupt near line %s\n", err, nl); + HUNSPELL_WARNING(stderr, "error: possible incorrect count\n"); + free(err); + free(piece); + return 1; + } + + if (nptr != ptr) nptr->aflag = ptr->aflag; + break; + } + + // piece 3 - is string to strip or 0 for null + case 2: { + np++; + if (complexprefixes) { + if (utf8) reverseword_utf(piece); else reverseword(piece); + } + nptr->strip = mystrdup(piece); + nptr->stripl = (unsigned char) strlen(nptr->strip); + if (strcmp(nptr->strip,"0") == 0) { + free(nptr->strip); + nptr->strip=mystrdup(""); + nptr->stripl = 0; + } + break; + } + + // piece 4 - is affix string or 0 for null + case 3: { + char * dash; +#ifdef HUNSPELL_EXPERIMENTAL + nptr->morphcode = NULL; +#endif + nptr->contclass = NULL; + nptr->contclasslen = 0; + np++; + dash = strchr(piece, '/'); + if (dash) { + *dash = '\0'; + + if (ignorechars) { + if (utf8) { + remove_ignored_chars_utf(piece, ignorechars_utf16, ignorechars_utf16_len); + } else { + remove_ignored_chars(piece,ignorechars); + } + } + + if (complexprefixes) { + if (utf8) reverseword_utf(piece); else reverseword(piece); + } + nptr->appnd = mystrdup(piece); + + if (pHMgr->is_aliasf()) { + int index = atoi(dash + 1); + nptr->contclasslen = (unsigned short) pHMgr->get_aliasf(index, &(nptr->contclass)); + } else { + nptr->contclasslen = (unsigned short) pHMgr->decode_flags(&(nptr->contclass), dash + 1); + flag_qsort(nptr->contclass, 0, nptr->contclasslen); + } + *dash = '/'; + + havecontclass = 1; + for (unsigned short _i = 0; _i < nptr->contclasslen; _i++) { + contclasses[(nptr->contclass)[_i]] = 1; + } + } else { + if (ignorechars) { + if (utf8) { + remove_ignored_chars_utf(piece, ignorechars_utf16, ignorechars_utf16_len); + } else { + remove_ignored_chars(piece,ignorechars); + } + } + + if (complexprefixes) { + if (utf8) reverseword_utf(piece); else reverseword(piece); + } + nptr->appnd = mystrdup(piece); + } + + nptr->appndl = (unsigned char) strlen(nptr->appnd); + if (strcmp(nptr->appnd,"0") == 0) { + free(nptr->appnd); + nptr->appnd=mystrdup(""); + nptr->appndl = 0; + } + break; + } + + // piece 5 - is the conditions descriptions + case 4: { + np++; + if (complexprefixes) { + int neg = 0; + if (utf8) reverseword_utf(piece); else reverseword(piece); + // reverse condition + for (char * k = piece + strlen(piece) - 1; k >= piece; k--) { + switch(*k) { + case '[': { + if (neg) *(k+1) = '['; else *k = ']'; + break; + } + case ']': { + *k = '['; + if (neg) *(k+1) = '^'; + neg = 0; + break; + } + case '^': { + if (*(k+1) == ']') neg = 1; else *(k+1) = *k; + break; + } + default: { + if (neg) *(k+1) = *k; + } + } + } + } + if (nptr->stripl && (strcmp(piece, ".") != 0) && + redundant_condition(at, nptr->strip, nptr->stripl, piece, nl)) + strcpy(piece, "."); + if (encodeit(nptr,piece)) return 1; + break; + } + +#ifdef HUNSPELL_EXPERIMENTAL + case 5: { + np++; + if (pHMgr->is_aliasm()) { + int index = atoi(piece); + nptr->morphcode = pHMgr->get_aliasm(index); + } else { + if (complexprefixes) { + if (utf8) reverseword_utf(piece); else reverseword(piece); + } + nptr->morphcode = mystrdup(piece); + } + break; + } +#endif + + default: break; + } + i++; + } + free(piece); + piece = mystrsep(&tp, 0); + } + // check to make sure we parsed enough pieces + if (np < 4) { + char * err = pHMgr->encode_flag(aflag); + HUNSPELL_WARNING(stderr, "error: affix %s is corrupt near line %s\n", err, nl); + free(err); + free(ptr); + return 1; + } + +#ifdef DEBUG +#ifdef HUNSPELL_EXPERIMENTAL + // detect unnecessary fields, excepting comments + if (basefieldnum) { + int fieldnum = !(nptr->morphcode) ? 5 : ((*(nptr->morphcode)=='#') ? 5 : 6); + if (fieldnum != basefieldnum) + HUNSPELL_WARNING(stderr, "warning: bad field number:\n%s\n", nl); + } else { + basefieldnum = !(nptr->morphcode) ? 5 : ((*(nptr->morphcode)=='#') ? 5 : 6); + } +#endif +#endif + nptr++; + } + + // now create SfxEntry or PfxEntry objects and use links to + // build an ordered (sorted by affix string) list + nptr = ptr; + for (int k = 0; k < numents; k++) { + if (at == 'P') { + PfxEntry * pfxptr = new PfxEntry(this,nptr); + build_pfxtree((AffEntry *)pfxptr); + } else { + SfxEntry * sfxptr = new SfxEntry(this,nptr); + build_sfxtree((AffEntry *)sfxptr); + } + nptr++; + } + free(ptr); + return 0; +} + +int AffixMgr::redundant_condition(char ft, char * strip, int stripl, const char * cond, char * line) { + int condl = strlen(cond); + int i; + int j; + int neg; + int in; + if (ft == 'P') { // prefix + if (strncmp(strip, cond, condl) == 0) return 1; + if (utf8) { + } else { + for (i = 0, j = 0; (i < stripl) && (j < condl); i++, j++) { + if (cond[j] != '[') { + if (cond[j] != strip[i]) { + HUNSPELL_WARNING(stderr, "warning: incompatible stripping characters and condition:\n%s\n", line); + } + } else { + neg = (cond[j+1] == '^') ? 1 : 0; + in = 0; + do { + j++; + if (strip[i] == cond[j]) in = 1; + } while ((j < (condl - 1)) && (cond[j] != ']')); + if (j == (condl - 1) && (cond[j] != ']')) { + HUNSPELL_WARNING(stderr, "error: missing ] in condition:\n%s\n", line); + return 0; + } + if ((!neg && !in) || (neg && in)) { + HUNSPELL_WARNING(stderr, "warning: incompatible stripping characters and condition:\n%s\n", line); + return 0; + } + } + } + if (j >= condl) return 1; + } + } else { // suffix + if ((stripl >= condl) && strcmp(strip + stripl - condl, cond) == 0) return 1; + if (utf8) { + } else { + for (i = stripl - 1, j = condl - 1; (i >= 0) && (j >= 0); i--, j--) { + if (cond[j] != ']') { + if (cond[j] != strip[i]) { + HUNSPELL_WARNING(stderr, "warning: incompatible stripping characters and condition:\n%s\n", line); + } + } else { + in = 0; + do { + j--; + if (strip[i] == cond[j]) in = 1; + } while ((j > 0) && (cond[j] != '[')); + if ((j == 0) && (cond[j] != '[')) { + HUNSPELL_WARNING(stderr, "error: missing ] in condition:\n%s\n", line); + return 0; + } + neg = (cond[j+1] == '^') ? 1 : 0; + if ((!neg && !in) || (neg && in)) { + HUNSPELL_WARNING(stderr, "warning: incompatible stripping characters and condition:\n%s\n", line); + return 0; + } + } + } + if (j < 0) return 1; + } + } + return 0; +} diff --git a/extensions/spellcheck/hunspell/src/affixmgr.hxx b/extensions/spellcheck/hunspell/src/affixmgr.hxx new file mode 100644 index 00000000000..e7c64faa399 --- /dev/null +++ b/extensions/spellcheck/hunspell/src/affixmgr.hxx @@ -0,0 +1,265 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) + * László Németh (nemethl@gyorsposta.hu) + * David Einstein (deinst@world.std.com) + * Davide Prina + * Giuseppe Modugno + * Gianluca Turconi + * Simon Brouwer + * Noll Janos + * Biro Arpad + * Goldman Eleonora + * Sarlos Tamas + * Bencsath Boldizsar + * Halacsy Peter + * Dvornik Laszlo + * Gefferth Andras + * Nagy Viktor + * Varga Daniel + * Chris Halls + * Rene Engelhard + * Bram Moolenaar + * Dafydd Jones + * Harri Pitkanen + * Andras Timar + * Tor Lillqvist + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#ifndef _AFFIXMGR_HXX_ +#define _AFFIXMGR_HXX_ + +#ifdef MOZILLA_CLIENT +#ifdef __SUNPRO_CC // for SunONE Studio compiler +using namespace std; +#endif +#include +#else +#include +#endif + +#include "atypes.hxx" +#include "baseaffix.hxx" +#include "hashmgr.hxx" + +// check flag duplication +#define dupSFX (1 << 0) +#define dupPFX (1 << 1) + +class AffixMgr +{ + + AffEntry * pStart[SETSIZE]; + AffEntry * sStart[SETSIZE]; + AffEntry * pFlag[CONTSIZE]; + AffEntry * sFlag[CONTSIZE]; + HashMgr * pHMgr; + char * trystring; + char * encoding; + struct cs_info * csconv; + int utf8; + int complexprefixes; + FLAG compoundflag; + FLAG compoundbegin; + FLAG compoundmiddle; + FLAG compoundend; + FLAG compoundroot; + FLAG compoundforbidflag; + FLAG compoundpermitflag; + int checkcompounddup; + int checkcompoundrep; + int checkcompoundcase; + int checkcompoundtriple; + FLAG forbiddenword; + FLAG nosuggest; + FLAG pseudoroot; + int cpdmin; + int numrep; + replentry * reptable; + int nummap; + mapentry * maptable; + int numbreak; + char ** breaktable; + int numcheckcpd; + replentry * checkcpdtable; + int numdefcpd; + flagentry * defcpdtable; + int maxngramsugs; + int nosplitsugs; + int sugswithdots; + int cpdwordmax; + int cpdmaxsyllable; + char * cpdvowels; + w_char * cpdvowels_utf16; + int cpdvowels_utf16_len; + char * cpdsyllablenum; + const char * pfxappnd; // BUG: not stateless + const char * sfxappnd; // BUG: not stateless + FLAG sfxflag; // BUG: not stateless + char * derived; // BUG: not stateless + AffEntry * sfx; // BUG: not stateless + AffEntry * pfx; // BUG: not stateless + int checknum; + char * wordchars; + unsigned short * wordchars_utf16; + int wordchars_utf16_len; + char * ignorechars; + unsigned short * ignorechars_utf16; + int ignorechars_utf16_len; + char * version; + char * lang; + int langnum; + FLAG lemma_present; + FLAG circumfix; + FLAG onlyincompound; + FLAG keepcase; + int checksharps; + + int havecontclass; // boolean variable + char contclasses[CONTSIZE]; // flags of possible continuing classes (twofold affix) + flag flag_mode; + +public: + + AffixMgr(const char * affpath, HashMgr * ptr); + ~AffixMgr(); + struct hentry * affix_check(const char * word, int len, + const unsigned short needflag = (unsigned short) 0, char in_compound = IN_CPD_NOT); + struct hentry * prefix_check(const char * word, int len, + char in_compound, const FLAG needflag = FLAG_NULL); + inline int isSubset(const char * s1, const char * s2); + struct hentry * prefix_check_twosfx(const char * word, int len, + char in_compound, const FLAG needflag = FLAG_NULL); + inline int isRevSubset(const char * s1, const char * end_of_s2, int len); + struct hentry * suffix_check(const char * word, int len, int sfxopts, AffEntry* ppfx, + char ** wlst, int maxSug, int * ns, const FLAG cclass = FLAG_NULL, + const FLAG needflag = FLAG_NULL, char in_compound = IN_CPD_NOT); + struct hentry * suffix_check_twosfx(const char * word, int len, + int sfxopts, AffEntry* ppfx, const FLAG needflag = FLAG_NULL); + + char * affix_check_morph(const char * word, int len, + const FLAG needflag = FLAG_NULL, char in_compound = IN_CPD_NOT); + char * prefix_check_morph(const char * word, int len, + char in_compound, const FLAG needflag = FLAG_NULL); + char * suffix_check_morph (const char * word, int len, int sfxopts, AffEntry * ppfx, + const FLAG cclass = FLAG_NULL, const FLAG needflag = FLAG_NULL, char in_compound = IN_CPD_NOT); + + char * prefix_check_twosfx_morph(const char * word, int len, + char in_compound, const FLAG needflag = FLAG_NULL); + char * suffix_check_twosfx_morph(const char * word, int len, + int sfxopts, AffEntry * ppfx, const FLAG needflag = FLAG_NULL); + + int expand_rootword(struct guessword * wlst, int maxn, const char * ts, + int wl, const unsigned short * ap, unsigned short al, char * bad, int); + + short get_syllable (const char * word, int wlen); + int cpdrep_check(const char * word, int len); + int cpdpat_check(const char * word, int len); + int defcpd_check(hentry *** words, short wnum, hentry * rv, hentry ** rwords, char all); + int cpdcase_check(const char * word, int len); + inline int candidate_check(const char * word, int len); + struct hentry * compound_check(const char * word, int len, + short wordnum, short numsyllable, short maxwordnum, short wnum, hentry ** words, + char hu_mov_rule, int * cmpdstemnum, int * cmpdstem, char is_sug); + + int compound_check_morph(const char * word, int len, + short wordnum, short numsyllable, short maxwordnum, short wnum, hentry ** words, + char hu_mov_rule, char ** result, char * partresult); + + struct hentry * lookup(const char * word); + int get_numrep(); + struct replentry * get_reptable(); + int get_nummap(); + struct mapentry * get_maptable(); + int get_numbreak(); + char ** get_breaktable(); + char * get_encoding(); + int get_langnum(); + char * get_try_string(); + const char * get_wordchars(); + unsigned short * get_wordchars_utf16(int * len); + char * get_ignore(); + unsigned short * get_ignore_utf16(int * len); + int get_compound(); + FLAG get_compoundflag(); + FLAG get_compoundbegin(); + FLAG get_forbiddenword(); + FLAG get_nosuggest(); +// FLAG get_circumfix(); + FLAG get_pseudoroot(); + FLAG get_onlyincompound(); + FLAG get_compoundroot(); + FLAG get_lemma_present(); + int get_checknum(); + char * get_possible_root(); + const char * get_prefix(); + const char * get_suffix(); + const char * get_derived(); + const char * get_version(); + const int have_contclass(); + int get_utf8(); + int get_complexprefixes(); + char * get_suffixed(char ); + int get_maxngramsugs(); + int get_nosplitsugs(); + int get_sugswithdots(void); + FLAG get_keepcase(void); + int get_checksharps(void); + +private: + int parse_file(const char * affpath); +// int parse_string(char * line, char ** out, const char * name); + int parse_flag(char * line, unsigned short * out, const char * name); + int parse_num(char * line, int * out, const char * name); +// int parse_array(char * line, char ** out, unsigned short ** out_utf16, +// int * out_utf16_len, const char * name); + int parse_cpdsyllable(char * line); + int parse_reptable(char * line, FILE * af); + int parse_maptable(char * line, FILE * af); + int parse_breaktable(char * line, FILE * af); + int parse_checkcpdtable(char * line, FILE * af); + int parse_defcpdtable(char * line, FILE * af); + int parse_affix(char * line, const char at, FILE * af, char * dupflags); + + int encodeit(struct affentry * ptr, char * cs); + int build_pfxtree(AffEntry* pfxptr); + int build_sfxtree(AffEntry* sfxptr); + int process_pfx_order(); + int process_sfx_order(); + AffEntry * process_pfx_in_order(AffEntry * ptr, AffEntry * nptr); + AffEntry * process_sfx_in_order(AffEntry * ptr, AffEntry * nptr); + int process_pfx_tree_to_list(); + int process_sfx_tree_to_list(); + int redundant_condition(char, char * strip, int stripl, const char * cond, char *); +}; + +#endif + diff --git a/extensions/spellcheck/hunspell/src/atypes.hxx b/extensions/spellcheck/hunspell/src/atypes.hxx new file mode 100644 index 00000000000..3fec614a0df --- /dev/null +++ b/extensions/spellcheck/hunspell/src/atypes.hxx @@ -0,0 +1,157 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) + * László Németh (nemethl@gyorsposta.hu) + * David Einstein (deinst@world.std.com) + * Davide Prina + * Giuseppe Modugno + * Gianluca Turconi + * Simon Brouwer + * Noll Janos + * Biro Arpad + * Goldman Eleonora + * Sarlos Tamas + * Bencsath Boldizsar + * Halacsy Peter + * Dvornik Laszlo + * Gefferth Andras + * Nagy Viktor + * Varga Daniel + * Chris Halls + * Rene Engelhard + * Bram Moolenaar + * Dafydd Jones + * Harri Pitkanen + * Andras Timar + * Tor Lillqvist + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#ifndef _ATYPES_HXX_ +#define _ATYPES_HXX_ + +#ifndef HUNSPELL_WARNING +#ifdef HUNSPELL_WARNING_ON +#define HUNSPELL_WARNING fprintf +#else +#define HUNSPELL_WARNING +#endif +#endif + +// HUNSTEM def. +#define HUNSTEM + +#include "csutil.hxx" +#include "hashmgr.hxx" + +#define SETSIZE 256 +#define CONTSIZE 65536 +#define MAXWORDLEN 100 +#define MAXWORDUTF8LEN (MAXWORDLEN * 4) + +// affentry options +#define aeXPRODUCT (1 << 0) +#define aeUTF8 (1 << 1) +#define aeALIASF (1 << 2) +#define aeALIASM (1 << 3) +#define aeINFIX (1 << 4) + +// compound options +#define IN_CPD_NOT 0 +#define IN_CPD_BEGIN 1 +#define IN_CPD_END 2 +#define IN_CPD_OTHER 3 + +#define MAXLNLEN 8192 * 4 + +#define MINCPDLEN 3 +#define MAXCOMPOUND 10 + +#define MAXACC 1000 + +#define FLAG unsigned short +#define FLAG_NULL 0x00 +#define FREE_FLAG(a) a = 0 + +#define TESTAFF( a, b , c ) flag_bsearch((unsigned short *) a, (unsigned short) b, c) + +struct affentry +{ + char * strip; + char * appnd; + unsigned char stripl; + unsigned char appndl; + char numconds; + char opts; + unsigned short aflag; + union { + char base[SETSIZE]; + struct { + char ascii[SETSIZE/2]; + char neg[8]; + char all[8]; + w_char * wchars[8]; + int wlen[8]; + } utf8; + } conds; +#ifdef HUNSPELL_EXPERIMENTAL + char * morphcode; +#endif + unsigned short * contclass; + short contclasslen; +}; + +struct replentry { + char * pattern; + char * pattern2; +}; + +struct mapentry { + char * set; + w_char * set_utf16; + int len; +}; + +struct flagentry { + FLAG * def; + int len; +}; + +struct guessword { + char * word; + bool allow; +}; + +#endif + + + + + diff --git a/extensions/spellcheck/hunspell/src/baseaffix.hxx b/extensions/spellcheck/hunspell/src/baseaffix.hxx new file mode 100644 index 00000000000..5027c3821d3 --- /dev/null +++ b/extensions/spellcheck/hunspell/src/baseaffix.hxx @@ -0,0 +1,87 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) + * László Németh (nemethl@gyorsposta.hu) + * David Einstein (deinst@world.std.com) + * Davide Prina + * Giuseppe Modugno + * Gianluca Turconi + * Simon Brouwer + * Noll Janos + * Biro Arpad + * Goldman Eleonora + * Sarlos Tamas + * Bencsath Boldizsar + * Halacsy Peter + * Dvornik Laszlo + * Gefferth Andras + * Nagy Viktor + * Varga Daniel + * Chris Halls + * Rene Engelhard + * Bram Moolenaar + * Dafydd Jones + * Harri Pitkanen + * Andras Timar + * Tor Lillqvist + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#ifndef _BASEAFF_HXX_ +#define _BASEAFF_HXX_ + +class AffEntry +{ +public: + +protected: + char * appnd; + char * strip; + unsigned char appndl; + unsigned char stripl; + char numconds; + char opts; + unsigned short aflag; + union { + char base[SETSIZE]; + struct { + char ascii[SETSIZE/2]; + char neg[8]; + char all[8]; + w_char * wchars[8]; + int wlen[8]; + } utf8; + } conds; + char * morphcode; + unsigned short * contclass; + short contclasslen; +}; + +#endif diff --git a/extensions/spellcheck/hunspell/src/csutil.cpp b/extensions/spellcheck/hunspell/src/csutil.cpp new file mode 100644 index 00000000000..a7167d2da80 --- /dev/null +++ b/extensions/spellcheck/hunspell/src/csutil.cpp @@ -0,0 +1,5396 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) + * László Németh (nemethl@gyorsposta.hu) + * David Einstein (deinst@world.std.com) + * Davide Prina + * Giuseppe Modugno + * Gianluca Turconi + * Simon Brouwer + * Noll Janos + * Biro Arpad + * Goldman Eleonora + * Sarlos Tamas + * Bencsath Boldizsar + * Halacsy Peter + * Dvornik Laszlo + * Gefferth Andras + * Nagy Viktor + * Varga Daniel + * Chris Halls + * Rene Engelhard + * Bram Moolenaar + * Dafydd Jones + * Harri Pitkanen + * Andras Timar + * Tor Lillqvist + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#ifndef MOZILLA_CLIENT +#include +#include +#include +#else +#include +#include +#include +#endif + +#include "csutil.hxx" +#include "atypes.hxx" +#include "langnum.hxx" + +#ifdef OPENOFFICEORG +# include +#else +# ifndef MOZILLA_CLIENT +# include "utf_info.cxx" +# define UTF_LST_LEN (sizeof(utf_lst) / (sizeof(unicode_info))) +# endif +#endif + +#ifdef MOZILLA_CLIENT +#include "nsCOMPtr.h" +#include "nsServiceManagerUtils.h" +#include "nsIUnicodeEncoder.h" +#include "nsIUnicodeDecoder.h" +#include "nsICaseConversion.h" +#include "nsICharsetConverterManager.h" +#include "nsUnicharUtilCIID.h" +#include "nsUnicharUtils.h" + +static NS_DEFINE_CID(kCharsetConverterManagerCID, NS_ICHARSETCONVERTERMANAGER_CID); +static NS_DEFINE_CID(kUnicharUtilCID, NS_UNICHARUTIL_CID); +#endif + +#ifdef MOZILLA_CLIENT +#ifdef __SUNPRO_CC // for SunONE Studio compiler +using namespace std; +#endif +#else +#ifndef W32 +using namespace std; +#endif +#endif + +struct unicode_info2 * utf_tbl = NULL; +int utf_tbl_count = 0; // utf_tbl can be used by multiple Hunspell instances + +/* only UTF-16 (BMP) implementation */ +char * u16_u8(char * dest, int size, const w_char * src, int srclen) { + char * u8 = dest; + char * u8_max = u8 + size; + const w_char * u2 = src; + const w_char * u2_max = src + srclen; + while ((u2 < u2_max) && (u8 < u8_max)) { + if (u2->h) { // > 0xFF + // XXX 4-byte haven't implemented yet. + if (u2->h >= 0x08) { // >= 0x800 (3-byte UTF-8 character) + *u8 = 0xe0 + (u2->h >> 4); + u8++; + if (u8 < u8_max) { + *u8 = 0x80 + ((u2->h & 0xf) << 2) + (u2->l >> 6); + u8++; + if (u8 < u8_max) { + *u8 = 0x80 + (u2->l & 0x3f); + u8++; + } + } + } else { // < 0x800 (2-byte UTF-8 character) + *u8 = 0xc0 + (u2->h << 2) + (u2->l >> 6); + u8++; + if (u8 < u8_max) { + *u8 = 0x80 + (u2->l & 0x3f); + u8++; + } + } + } else { // <= 0xFF + if (u2->l & 0x80) { // >0x80 (2-byte UTF-8 character) + *u8 = 0xc0 + (u2->l >> 6); + u8++; + if (u8 < u8_max) { + *u8 = 0x80 + (u2->l & 0x3f); + u8++; + } + } else { // < 0x80 (1-byte UTF-8 character) + *u8 = u2->l; + u8++; + } + } + u2++; + } + *u8 = '\0'; + return dest; +} + + +/* only UTF-16 (BMP) implementation */ +int u8_u16(w_char * dest, int size, const char * src) { + const char * u8 = src; + w_char * u2 = dest; + w_char * u2_max = u2 + size; + + while (*u8 && (u2 < u2_max)) { + switch ((*u8) & 0xf0) { + case 0x00: + case 0x10: + case 0x20: + case 0x30: + case 0x40: + case 0x50: + case 0x60: + case 0x70: { + u2->h = 0; + u2->l = *u8; + break; + } + case 0x80: + case 0x90: + case 0xa0: + case 0xb0: { + HUNSPELL_WARNING(stderr, "UTF-8 encoding error. Unexpected continuation bytes in %d. character position\n%s\n", u8 - src, src); + u2->h = 0xff; + u2->l = 0xfd; + break; + } + case 0xc0: + case 0xd0: { // 2-byte UTF-8 codes + if ((*(u8+1) & 0xc0) == 0x80) { + u2->h = (*u8 & 0x1f) >> 2; + u2->l = (*u8 << 6) + (*(u8+1) & 0x3f); + u8++; + } else { + HUNSPELL_WARNING(stderr, "UTF-8 encoding error. Missing continuation byte in %d. character position:\n%s\n", u8 - src, src); + u2->h = 0xff; + u2->l = 0xfd; + } + break; + } + case 0xe0: { // 3-byte UTF-8 codes + if ((*(u8+1) & 0xc0) == 0x80) { + u2->h = ((*u8 & 0x0f) << 4) + ((*(u8+1) & 0x3f) >> 2); + u8++; + if ((*(u8+1) & 0xc0) == 0x80) { + u2->l = (*u8 << 6) + (*(u8+1) & 0x3f); + u8++; + } else { + HUNSPELL_WARNING(stderr, "UTF-8 encoding error. Missing continuation byte in %d. character position:\n%s\n", u8 - src, src); + u2->h = 0xff; + u2->l = 0xfd; + } + } else { + HUNSPELL_WARNING(stderr, "UTF-8 encoding error. Missing continuation byte in %d. character position:\n%s\n", u8 - src, src); + u2->h = 0xff; + u2->l = 0xfd; + } + break; + } + case 0xf0: { // 4 or more byte UTF-8 codes + HUNSPELL_WARNING(stderr, "This UTF-8 encoding can't convert to UTF-16:\n%s\n", src); + u2->h = 0xff; + u2->l = 0xfd; + return -1; + } + } + u8++; + u2++; + } + return u2 - dest; +} + +void flag_qsort(unsigned short flags[], int begin, int end) { + unsigned short reg; + if (end > begin) { + unsigned short pivot = flags[begin]; + int l = begin + 1; + int r = end; + while(l < r) { + if (flags[l] <= pivot) { + l++; + } else { + r--; + reg = flags[l]; + flags[l] = flags[r]; + flags[r] = reg; + } + } + l--; + reg = flags[begin]; + flags[begin] = flags[l]; + flags[l] = reg; + + flag_qsort(flags, begin, l); + flag_qsort(flags, r, end); + } + } + +int flag_bsearch(unsigned short flags[], unsigned short flag, int length) { + int mid; + int left = 0; + int right = length - 1; + while (left <= right) { + mid = (left + right) / 2; + if (flags[mid] == flag) return 1; + if (flag < flags[mid]) right = mid - 1; + else left = mid + 1; + } + return 0; +} + + // strip strings into token based on single char delimiter + // acts like strsep() but only uses a delim char and not + // a delim string + // default delimiter: white space characters + + char * mystrsep(char ** stringp, const char delim) + { + char * rv = NULL; + char * mp = *stringp; + int n = strlen(mp); + if (n > 0) { + char * dp; + if (delim) { + dp = (char *)memchr(mp,(int)((unsigned char)delim),n); + } else { + // don't use isspace() here, the string can be in some random charset + // that's way different than the locale's + for (dp = mp; (*dp && *dp != ' ' && *dp != '\t'); dp++); + if (!*dp) dp = NULL; + } + if (dp) { + *stringp = dp+1; + int nc = (int)((unsigned long)dp - (unsigned long)mp); + rv = (char *) malloc(nc+1); + memcpy(rv,mp,nc); + *(rv+nc) = '\0'; + return rv; + } else { + rv = (char *) malloc(n+1); + memcpy(rv, mp, n); + *(rv+n) = '\0'; + *stringp = mp + n; + return rv; + } + } + return NULL; + } + + + // replaces strdup with ansi version + char * mystrdup(const char * s) + { + char * d = NULL; + if (s) { + int sl = strlen(s); + d = (char *) malloc(((sl+1) * sizeof(char))); + if (d) memcpy(d,s,((sl+1)*sizeof(char))); + } + return d; + } + + + // remove cross-platform text line end characters + void mychomp(char * s) + { + int k = strlen(s); + if ((k > 0) && ((*(s+k-1)=='\r') || (*(s+k-1)=='\n'))) *(s+k-1) = '\0'; + if ((k > 1) && (*(s+k-2) == '\r')) *(s+k-2) = '\0'; + } + + + // does an ansi strdup of the reverse of a string + char * myrevstrdup(const char * s) + { + char * d = NULL; + if (s) { + int sl = strlen(s); + d = (char *) malloc((sl+1) * sizeof(char)); + if (d) { + const char * p = s + sl - 1; + char * q = d; + while (p >= s) *q++ = *p--; + *q = '\0'; + } + } + return d; + } + +#ifdef HUNSPELL_EXPERIMENTAL + // append s to ends of every lines in text + void strlinecat(char * dest, const char * s) + { + char * dup = mystrdup(dest); + char * source = dup; + int len = strlen(s); + while (*source) { + if (*source == '\n') { + strncpy(dest, s, len); + dest += len; + } + *dest = *source; + source++; dest++; + } + strcpy(dest, s); + free(dup); + } + +// break text to lines +// return number of lines +int line_tok(const char * text, char *** lines) { + int linenum = 0; + char * dup = mystrdup(text); + char * p = strchr(dup, '\n'); + while (p) { + linenum++; + *p = '\0'; + p++; + p = strchr(p, '\n'); + } + *lines = (char **) calloc(linenum + 1, sizeof(char *)); + if (!(*lines)) return -1; + + p = dup; + for (int i = 0; i < linenum + 1; i++) { + (*lines)[i] = mystrdup(p); + p += strlen(p) + 1; + } + free(dup); + return linenum; +} + +// uniq line in place +char * line_uniq(char * text) { + char ** lines; + int linenum = line_tok(text, &lines); + int i; + strcpy(text, lines[0]); + for ( i = 1; i<=linenum; i++ ) { + int dup = 0; + for (int j = 0; j < i; j++) { + if (strcmp(lines[i], lines[j]) == 0) dup = 1; + } + if (!dup) { + if ((i > 1) || (*(lines[0]) != '\0')) strcat(text, "\n"); + strcat(text, lines[i]); + } + } + for ( i = 0; i<=linenum; i++ ) { + if (lines[i]) free(lines[i]); + } + if (lines) free(lines); + return text; +} + +// change \n to char c +char * line_join(char * text, char c) { + char * p; + for (p = text; *p; p++) if (*p == '\n') *p = c; + return text; +} + +// leave only last {[^}]*} substring for handling zero morphemes +char * delete_zeros(char * morphout) { + char * p = morphout; + char * q = p; + char * q2 = NULL; + int suffix = 0; + + for (;*p && *(p+1);) { + switch (*p) { + case '{': + q2 = q; + q--; + break; + case '}': + if (q2) { + suffix = 1; + q--; + } + break; + default: + if (suffix) { + q = q2; + } + suffix = 0; + *q = *p; + } + p++; + q++; + } + *q = '\0'; + return morphout; +} +#endif // END OF HUNSPELL_EXPERIMENTAL CODE + +char * mystrrep(char * word, const char * pat, const char * rep) { + char * pos = strstr(word, pat); + if (pos) { + int replen = strlen(rep); + int patlen = strlen(pat); + if (replen < patlen) { + char * end = word + strlen(word); + char * next = pos + replen; + char * prev = pos + strlen(pat); + for (; prev < end; *next = *prev, prev++, next++); + *next = '\0'; + } else if (replen > patlen) { + char * end = pos + patlen; + char * next = word + strlen(word) + replen - patlen; + char * prev = next - replen + patlen; + for (; prev >= end; *next = *prev, prev--, next--); + } + strncpy(pos, rep, replen); + } + return word; +} + + // reverse word + int reverseword(char * word) { + char r; + for (char * dest = word + strlen(word) - 1; word < dest; word++, dest--) { + r=*word; + *word = *dest; + *dest = r; + } + return 0; + } + + // reverse word (error: 1) + int reverseword_utf(char * word) { + w_char w[MAXWORDLEN]; + w_char * p; + w_char r; + int l = u8_u16(w, MAXWORDLEN, word); + if (l == -1) return 1; + p = w; + for (w_char * dest = w + l - 1; p < dest; p++, dest--) { + r=*p; + *p = *dest; + *dest = r; + } + u16_u8(word, MAXWORDUTF8LEN, w, l); + return 0; + } + + // convert null terminated string to all caps + void mkallcap(char * p, const struct cs_info * csconv) + { + while (*p != '\0') { + *p = csconv[((unsigned char) *p)].cupper; + p++; + } + } + + // convert null terminated string to all little + void mkallsmall(char * p, const struct cs_info * csconv) + { + while (*p != '\0') { + *p = csconv[((unsigned char) *p)].clower; + p++; + } + } + +void mkallsmall_utf(w_char * u, int nc, int langnum) { + for (int i = 0; i < nc; i++) { + unsigned short idx = (u[i].h << 8) + u[i].l; + if (idx != unicodetolower(idx, langnum)) { + u[i].h = (unsigned char) (unicodetolower(idx, langnum) >> 8); + u[i].l = (unsigned char) (unicodetolower(idx, langnum) & 0x00FF); + } + } +} + +void mkallcap_utf(w_char * u, int nc, int langnum) { + for (int i = 0; i < nc; i++) { + unsigned short idx = (u[i].h << 8) + u[i].l; + if (idx != unicodetoupper(idx, langnum)) { + u[i].h = (unsigned char) (unicodetoupper(idx, langnum) >> 8); + u[i].l = (unsigned char) (unicodetoupper(idx, langnum) & 0x00FF); + } + } +} + + // convert null terminated string to have intial capital + void mkinitcap(char * p, const struct cs_info * csconv) + { + if (*p != '\0') *p = csconv[((unsigned char)*p)].cupper; + } + +#ifndef MOZILLA_CLIENT + // convert null terminated string to all caps using encoding + void enmkallcap(char * d, const char * p, const char * encoding) + + { + struct cs_info * csconv = get_current_cs(encoding); + while (*p != '\0') { + *d++ = csconv[((unsigned char) *p)].cupper; + p++; + } + *d = '\0'; + } + + // convert null terminated string to all little using encoding + void enmkallsmall(char * d, const char * p, const char * encoding) + { + struct cs_info * csconv = get_current_cs(encoding); + while (*p != '\0') { + *d++ = csconv[((unsigned char) *p)].clower; + p++; + } + *d = '\0'; + } + + // convert null terminated string to have intial capital using encoding + void enmkinitcap(char * d, const char * p, const char * encoding) + { + struct cs_info * csconv = get_current_cs(encoding); + memcpy(d,p,(strlen(p)+1)); + if (*p != '\0') *d= csconv[((unsigned char)*p)].cupper; + } + +// these are simple character mappings for the +// encodings supported +// supplying isupper, tolower, and toupper + +struct cs_info iso1_tbl[] = { +{ 0x00, 0x00, 0x00 }, +{ 0x00, 0x01, 0x01 }, +{ 0x00, 0x02, 0x02 }, +{ 0x00, 0x03, 0x03 }, +{ 0x00, 0x04, 0x04 }, +{ 0x00, 0x05, 0x05 }, +{ 0x00, 0x06, 0x06 }, +{ 0x00, 0x07, 0x07 }, +{ 0x00, 0x08, 0x08 }, +{ 0x00, 0x09, 0x09 }, +{ 0x00, 0x0a, 0x0a }, +{ 0x00, 0x0b, 0x0b }, +{ 0x00, 0x0c, 0x0c }, +{ 0x00, 0x0d, 0x0d }, +{ 0x00, 0x0e, 0x0e }, +{ 0x00, 0x0f, 0x0f }, +{ 0x00, 0x10, 0x10 }, +{ 0x00, 0x11, 0x11 }, +{ 0x00, 0x12, 0x12 }, +{ 0x00, 0x13, 0x13 }, +{ 0x00, 0x14, 0x14 }, +{ 0x00, 0x15, 0x15 }, +{ 0x00, 0x16, 0x16 }, +{ 0x00, 0x17, 0x17 }, +{ 0x00, 0x18, 0x18 }, +{ 0x00, 0x19, 0x19 }, +{ 0x00, 0x1a, 0x1a }, +{ 0x00, 0x1b, 0x1b }, +{ 0x00, 0x1c, 0x1c }, +{ 0x00, 0x1d, 0x1d }, +{ 0x00, 0x1e, 0x1e }, +{ 0x00, 0x1f, 0x1f }, +{ 0x00, 0x20, 0x20 }, +{ 0x00, 0x21, 0x21 }, +{ 0x00, 0x22, 0x22 }, +{ 0x00, 0x23, 0x23 }, +{ 0x00, 0x24, 0x24 }, +{ 0x00, 0x25, 0x25 }, +{ 0x00, 0x26, 0x26 }, +{ 0x00, 0x27, 0x27 }, +{ 0x00, 0x28, 0x28 }, +{ 0x00, 0x29, 0x29 }, +{ 0x00, 0x2a, 0x2a }, +{ 0x00, 0x2b, 0x2b }, +{ 0x00, 0x2c, 0x2c }, +{ 0x00, 0x2d, 0x2d }, +{ 0x00, 0x2e, 0x2e }, +{ 0x00, 0x2f, 0x2f }, +{ 0x00, 0x30, 0x30 }, +{ 0x00, 0x31, 0x31 }, +{ 0x00, 0x32, 0x32 }, +{ 0x00, 0x33, 0x33 }, +{ 0x00, 0x34, 0x34 }, +{ 0x00, 0x35, 0x35 }, +{ 0x00, 0x36, 0x36 }, +{ 0x00, 0x37, 0x37 }, +{ 0x00, 0x38, 0x38 }, +{ 0x00, 0x39, 0x39 }, +{ 0x00, 0x3a, 0x3a }, +{ 0x00, 0x3b, 0x3b }, +{ 0x00, 0x3c, 0x3c }, +{ 0x00, 0x3d, 0x3d }, +{ 0x00, 0x3e, 0x3e }, +{ 0x00, 0x3f, 0x3f }, +{ 0x00, 0x40, 0x40 }, +{ 0x01, 0x61, 0x41 }, +{ 0x01, 0x62, 0x42 }, +{ 0x01, 0x63, 0x43 }, +{ 0x01, 0x64, 0x44 }, +{ 0x01, 0x65, 0x45 }, +{ 0x01, 0x66, 0x46 }, +{ 0x01, 0x67, 0x47 }, +{ 0x01, 0x68, 0x48 }, +{ 0x01, 0x69, 0x49 }, +{ 0x01, 0x6a, 0x4a }, +{ 0x01, 0x6b, 0x4b }, +{ 0x01, 0x6c, 0x4c }, +{ 0x01, 0x6d, 0x4d }, +{ 0x01, 0x6e, 0x4e }, +{ 0x01, 0x6f, 0x4f }, +{ 0x01, 0x70, 0x50 }, +{ 0x01, 0x71, 0x51 }, +{ 0x01, 0x72, 0x52 }, +{ 0x01, 0x73, 0x53 }, +{ 0x01, 0x74, 0x54 }, +{ 0x01, 0x75, 0x55 }, +{ 0x01, 0x76, 0x56 }, +{ 0x01, 0x77, 0x57 }, +{ 0x01, 0x78, 0x58 }, +{ 0x01, 0x79, 0x59 }, +{ 0x01, 0x7a, 0x5a }, +{ 0x00, 0x5b, 0x5b }, +{ 0x00, 0x5c, 0x5c }, +{ 0x00, 0x5d, 0x5d }, +{ 0x00, 0x5e, 0x5e }, +{ 0x00, 0x5f, 0x5f }, +{ 0x00, 0x60, 0x60 }, +{ 0x00, 0x61, 0x41 }, +{ 0x00, 0x62, 0x42 }, +{ 0x00, 0x63, 0x43 }, +{ 0x00, 0x64, 0x44 }, +{ 0x00, 0x65, 0x45 }, +{ 0x00, 0x66, 0x46 }, +{ 0x00, 0x67, 0x47 }, +{ 0x00, 0x68, 0x48 }, +{ 0x00, 0x69, 0x49 }, +{ 0x00, 0x6a, 0x4a }, +{ 0x00, 0x6b, 0x4b }, +{ 0x00, 0x6c, 0x4c }, +{ 0x00, 0x6d, 0x4d }, +{ 0x00, 0x6e, 0x4e }, +{ 0x00, 0x6f, 0x4f }, +{ 0x00, 0x70, 0x50 }, +{ 0x00, 0x71, 0x51 }, +{ 0x00, 0x72, 0x52 }, +{ 0x00, 0x73, 0x53 }, +{ 0x00, 0x74, 0x54 }, +{ 0x00, 0x75, 0x55 }, +{ 0x00, 0x76, 0x56 }, +{ 0x00, 0x77, 0x57 }, +{ 0x00, 0x78, 0x58 }, +{ 0x00, 0x79, 0x59 }, +{ 0x00, 0x7a, 0x5a }, +{ 0x00, 0x7b, 0x7b }, +{ 0x00, 0x7c, 0x7c }, +{ 0x00, 0x7d, 0x7d }, +{ 0x00, 0x7e, 0x7e }, +{ 0x00, 0x7f, 0x7f }, +{ 0x00, 0x80, 0x80 }, +{ 0x00, 0x81, 0x81 }, +{ 0x00, 0x82, 0x82 }, +{ 0x00, 0x83, 0x83 }, +{ 0x00, 0x84, 0x84 }, +{ 0x00, 0x85, 0x85 }, +{ 0x00, 0x86, 0x86 }, +{ 0x00, 0x87, 0x87 }, +{ 0x00, 0x88, 0x88 }, +{ 0x00, 0x89, 0x89 }, +{ 0x00, 0x8a, 0x8a }, +{ 0x00, 0x8b, 0x8b }, +{ 0x00, 0x8c, 0x8c }, +{ 0x00, 0x8d, 0x8d }, +{ 0x00, 0x8e, 0x8e }, +{ 0x00, 0x8f, 0x8f }, +{ 0x00, 0x90, 0x90 }, +{ 0x00, 0x91, 0x91 }, +{ 0x00, 0x92, 0x92 }, +{ 0x00, 0x93, 0x93 }, +{ 0x00, 0x94, 0x94 }, +{ 0x00, 0x95, 0x95 }, +{ 0x00, 0x96, 0x96 }, +{ 0x00, 0x97, 0x97 }, +{ 0x00, 0x98, 0x98 }, +{ 0x00, 0x99, 0x99 }, +{ 0x00, 0x9a, 0x9a }, +{ 0x00, 0x9b, 0x9b }, +{ 0x00, 0x9c, 0x9c }, +{ 0x00, 0x9d, 0x9d }, +{ 0x00, 0x9e, 0x9e }, +{ 0x00, 0x9f, 0x9f }, +{ 0x00, 0xa0, 0xa0 }, +{ 0x00, 0xa1, 0xa1 }, +{ 0x00, 0xa2, 0xa2 }, +{ 0x00, 0xa3, 0xa3 }, +{ 0x00, 0xa4, 0xa4 }, +{ 0x00, 0xa5, 0xa5 }, +{ 0x00, 0xa6, 0xa6 }, +{ 0x00, 0xa7, 0xa7 }, +{ 0x00, 0xa8, 0xa8 }, +{ 0x00, 0xa9, 0xa9 }, +{ 0x00, 0xaa, 0xaa }, +{ 0x00, 0xab, 0xab }, +{ 0x00, 0xac, 0xac }, +{ 0x00, 0xad, 0xad }, +{ 0x00, 0xae, 0xae }, +{ 0x00, 0xaf, 0xaf }, +{ 0x00, 0xb0, 0xb0 }, +{ 0x00, 0xb1, 0xb1 }, +{ 0x00, 0xb2, 0xb2 }, +{ 0x00, 0xb3, 0xb3 }, +{ 0x00, 0xb4, 0xb4 }, +{ 0x00, 0xb5, 0xb5 }, +{ 0x00, 0xb6, 0xb6 }, +{ 0x00, 0xb7, 0xb7 }, +{ 0x00, 0xb8, 0xb8 }, +{ 0x00, 0xb9, 0xb9 }, +{ 0x00, 0xba, 0xba }, +{ 0x00, 0xbb, 0xbb }, +{ 0x00, 0xbc, 0xbc }, +{ 0x00, 0xbd, 0xbd }, +{ 0x00, 0xbe, 0xbe }, +{ 0x00, 0xbf, 0xbf }, +{ 0x01, 0xe0, 0xc0 }, +{ 0x01, 0xe1, 0xc1 }, +{ 0x01, 0xe2, 0xc2 }, +{ 0x01, 0xe3, 0xc3 }, +{ 0x01, 0xe4, 0xc4 }, +{ 0x01, 0xe5, 0xc5 }, +{ 0x01, 0xe6, 0xc6 }, +{ 0x01, 0xe7, 0xc7 }, +{ 0x01, 0xe8, 0xc8 }, +{ 0x01, 0xe9, 0xc9 }, +{ 0x01, 0xea, 0xca }, +{ 0x01, 0xeb, 0xcb }, +{ 0x01, 0xec, 0xcc }, +{ 0x01, 0xed, 0xcd }, +{ 0x01, 0xee, 0xce }, +{ 0x01, 0xef, 0xcf }, +{ 0x01, 0xf0, 0xd0 }, +{ 0x01, 0xf1, 0xd1 }, +{ 0x01, 0xf2, 0xd2 }, +{ 0x01, 0xf3, 0xd3 }, +{ 0x01, 0xf4, 0xd4 }, +{ 0x01, 0xf5, 0xd5 }, +{ 0x01, 0xf6, 0xd6 }, +{ 0x00, 0xd7, 0xd7 }, +{ 0x01, 0xf8, 0xd8 }, +{ 0x01, 0xf9, 0xd9 }, +{ 0x01, 0xfa, 0xda }, +{ 0x01, 0xfb, 0xdb }, +{ 0x01, 0xfc, 0xdc }, +{ 0x01, 0xfd, 0xdd }, +{ 0x01, 0xfe, 0xde }, +{ 0x00, 0xdf, 0xdf }, +{ 0x00, 0xe0, 0xc0 }, +{ 0x00, 0xe1, 0xc1 }, +{ 0x00, 0xe2, 0xc2 }, +{ 0x00, 0xe3, 0xc3 }, +{ 0x00, 0xe4, 0xc4 }, +{ 0x00, 0xe5, 0xc5 }, +{ 0x00, 0xe6, 0xc6 }, +{ 0x00, 0xe7, 0xc7 }, +{ 0x00, 0xe8, 0xc8 }, +{ 0x00, 0xe9, 0xc9 }, +{ 0x00, 0xea, 0xca }, +{ 0x00, 0xeb, 0xcb }, +{ 0x00, 0xec, 0xcc }, +{ 0x00, 0xed, 0xcd }, +{ 0x00, 0xee, 0xce }, +{ 0x00, 0xef, 0xcf }, +{ 0x00, 0xf0, 0xd0 }, +{ 0x00, 0xf1, 0xd1 }, +{ 0x00, 0xf2, 0xd2 }, +{ 0x00, 0xf3, 0xd3 }, +{ 0x00, 0xf4, 0xd4 }, +{ 0x00, 0xf5, 0xd5 }, +{ 0x00, 0xf6, 0xd6 }, +{ 0x00, 0xf7, 0xf7 }, +{ 0x00, 0xf8, 0xd8 }, +{ 0x00, 0xf9, 0xd9 }, +{ 0x00, 0xfa, 0xda }, +{ 0x00, 0xfb, 0xdb }, +{ 0x00, 0xfc, 0xdc }, +{ 0x00, 0xfd, 0xdd }, +{ 0x00, 0xfe, 0xde }, +{ 0x00, 0xff, 0xff }, +}; + + +struct cs_info iso2_tbl[] = { +{ 0x00, 0x00, 0x00 }, +{ 0x00, 0x01, 0x01 }, +{ 0x00, 0x02, 0x02 }, +{ 0x00, 0x03, 0x03 }, +{ 0x00, 0x04, 0x04 }, +{ 0x00, 0x05, 0x05 }, +{ 0x00, 0x06, 0x06 }, +{ 0x00, 0x07, 0x07 }, +{ 0x00, 0x08, 0x08 }, +{ 0x00, 0x09, 0x09 }, +{ 0x00, 0x0a, 0x0a }, +{ 0x00, 0x0b, 0x0b }, +{ 0x00, 0x0c, 0x0c }, +{ 0x00, 0x0d, 0x0d }, +{ 0x00, 0x0e, 0x0e }, +{ 0x00, 0x0f, 0x0f }, +{ 0x00, 0x10, 0x10 }, +{ 0x00, 0x11, 0x11 }, +{ 0x00, 0x12, 0x12 }, +{ 0x00, 0x13, 0x13 }, +{ 0x00, 0x14, 0x14 }, +{ 0x00, 0x15, 0x15 }, +{ 0x00, 0x16, 0x16 }, +{ 0x00, 0x17, 0x17 }, +{ 0x00, 0x18, 0x18 }, +{ 0x00, 0x19, 0x19 }, +{ 0x00, 0x1a, 0x1a }, +{ 0x00, 0x1b, 0x1b }, +{ 0x00, 0x1c, 0x1c }, +{ 0x00, 0x1d, 0x1d }, +{ 0x00, 0x1e, 0x1e }, +{ 0x00, 0x1f, 0x1f }, +{ 0x00, 0x20, 0x20 }, +{ 0x00, 0x21, 0x21 }, +{ 0x00, 0x22, 0x22 }, +{ 0x00, 0x23, 0x23 }, +{ 0x00, 0x24, 0x24 }, +{ 0x00, 0x25, 0x25 }, +{ 0x00, 0x26, 0x26 }, +{ 0x00, 0x27, 0x27 }, +{ 0x00, 0x28, 0x28 }, +{ 0x00, 0x29, 0x29 }, +{ 0x00, 0x2a, 0x2a }, +{ 0x00, 0x2b, 0x2b }, +{ 0x00, 0x2c, 0x2c }, +{ 0x00, 0x2d, 0x2d }, +{ 0x00, 0x2e, 0x2e }, +{ 0x00, 0x2f, 0x2f }, +{ 0x00, 0x30, 0x30 }, +{ 0x00, 0x31, 0x31 }, +{ 0x00, 0x32, 0x32 }, +{ 0x00, 0x33, 0x33 }, +{ 0x00, 0x34, 0x34 }, +{ 0x00, 0x35, 0x35 }, +{ 0x00, 0x36, 0x36 }, +{ 0x00, 0x37, 0x37 }, +{ 0x00, 0x38, 0x38 }, +{ 0x00, 0x39, 0x39 }, +{ 0x00, 0x3a, 0x3a }, +{ 0x00, 0x3b, 0x3b }, +{ 0x00, 0x3c, 0x3c }, +{ 0x00, 0x3d, 0x3d }, +{ 0x00, 0x3e, 0x3e }, +{ 0x00, 0x3f, 0x3f }, +{ 0x00, 0x40, 0x40 }, +{ 0x01, 0x61, 0x41 }, +{ 0x01, 0x62, 0x42 }, +{ 0x01, 0x63, 0x43 }, +{ 0x01, 0x64, 0x44 }, +{ 0x01, 0x65, 0x45 }, +{ 0x01, 0x66, 0x46 }, +{ 0x01, 0x67, 0x47 }, +{ 0x01, 0x68, 0x48 }, +{ 0x01, 0x69, 0x49 }, +{ 0x01, 0x6a, 0x4a }, +{ 0x01, 0x6b, 0x4b }, +{ 0x01, 0x6c, 0x4c }, +{ 0x01, 0x6d, 0x4d }, +{ 0x01, 0x6e, 0x4e }, +{ 0x01, 0x6f, 0x4f }, +{ 0x01, 0x70, 0x50 }, +{ 0x01, 0x71, 0x51 }, +{ 0x01, 0x72, 0x52 }, +{ 0x01, 0x73, 0x53 }, +{ 0x01, 0x74, 0x54 }, +{ 0x01, 0x75, 0x55 }, +{ 0x01, 0x76, 0x56 }, +{ 0x01, 0x77, 0x57 }, +{ 0x01, 0x78, 0x58 }, +{ 0x01, 0x79, 0x59 }, +{ 0x01, 0x7a, 0x5a }, +{ 0x00, 0x5b, 0x5b }, +{ 0x00, 0x5c, 0x5c }, +{ 0x00, 0x5d, 0x5d }, +{ 0x00, 0x5e, 0x5e }, +{ 0x00, 0x5f, 0x5f }, +{ 0x00, 0x60, 0x60 }, +{ 0x00, 0x61, 0x41 }, +{ 0x00, 0x62, 0x42 }, +{ 0x00, 0x63, 0x43 }, +{ 0x00, 0x64, 0x44 }, +{ 0x00, 0x65, 0x45 }, +{ 0x00, 0x66, 0x46 }, +{ 0x00, 0x67, 0x47 }, +{ 0x00, 0x68, 0x48 }, +{ 0x00, 0x69, 0x49 }, +{ 0x00, 0x6a, 0x4a }, +{ 0x00, 0x6b, 0x4b }, +{ 0x00, 0x6c, 0x4c }, +{ 0x00, 0x6d, 0x4d }, +{ 0x00, 0x6e, 0x4e }, +{ 0x00, 0x6f, 0x4f }, +{ 0x00, 0x70, 0x50 }, +{ 0x00, 0x71, 0x51 }, +{ 0x00, 0x72, 0x52 }, +{ 0x00, 0x73, 0x53 }, +{ 0x00, 0x74, 0x54 }, +{ 0x00, 0x75, 0x55 }, +{ 0x00, 0x76, 0x56 }, +{ 0x00, 0x77, 0x57 }, +{ 0x00, 0x78, 0x58 }, +{ 0x00, 0x79, 0x59 }, +{ 0x00, 0x7a, 0x5a }, +{ 0x00, 0x7b, 0x7b }, +{ 0x00, 0x7c, 0x7c }, +{ 0x00, 0x7d, 0x7d }, +{ 0x00, 0x7e, 0x7e }, +{ 0x00, 0x7f, 0x7f }, +{ 0x00, 0x80, 0x80 }, +{ 0x00, 0x81, 0x81 }, +{ 0x00, 0x82, 0x82 }, +{ 0x00, 0x83, 0x83 }, +{ 0x00, 0x84, 0x84 }, +{ 0x00, 0x85, 0x85 }, +{ 0x00, 0x86, 0x86 }, +{ 0x00, 0x87, 0x87 }, +{ 0x00, 0x88, 0x88 }, +{ 0x00, 0x89, 0x89 }, +{ 0x00, 0x8a, 0x8a }, +{ 0x00, 0x8b, 0x8b }, +{ 0x00, 0x8c, 0x8c }, +{ 0x00, 0x8d, 0x8d }, +{ 0x00, 0x8e, 0x8e }, +{ 0x00, 0x8f, 0x8f }, +{ 0x00, 0x90, 0x90 }, +{ 0x00, 0x91, 0x91 }, +{ 0x00, 0x92, 0x92 }, +{ 0x00, 0x93, 0x93 }, +{ 0x00, 0x94, 0x94 }, +{ 0x00, 0x95, 0x95 }, +{ 0x00, 0x96, 0x96 }, +{ 0x00, 0x97, 0x97 }, +{ 0x00, 0x98, 0x98 }, +{ 0x00, 0x99, 0x99 }, +{ 0x00, 0x9a, 0x9a }, +{ 0x00, 0x9b, 0x9b }, +{ 0x00, 0x9c, 0x9c }, +{ 0x00, 0x9d, 0x9d }, +{ 0x00, 0x9e, 0x9e }, +{ 0x00, 0x9f, 0x9f }, +{ 0x00, 0xa0, 0xa0 }, +{ 0x01, 0xb1, 0xa1 }, +{ 0x00, 0xa2, 0xa2 }, +{ 0x01, 0xb3, 0xa3 }, +{ 0x00, 0xa4, 0xa4 }, +{ 0x01, 0xb5, 0xa5 }, +{ 0x01, 0xb6, 0xa6 }, +{ 0x00, 0xa7, 0xa7 }, +{ 0x00, 0xa8, 0xa8 }, +{ 0x01, 0xb9, 0xa9 }, +{ 0x01, 0xba, 0xaa }, +{ 0x01, 0xbb, 0xab }, +{ 0x01, 0xbc, 0xac }, +{ 0x00, 0xad, 0xad }, +{ 0x01, 0xbe, 0xae }, +{ 0x01, 0xbf, 0xaf }, +{ 0x00, 0xb0, 0xb0 }, +{ 0x00, 0xb1, 0xa1 }, +{ 0x00, 0xb2, 0xb2 }, +{ 0x00, 0xb3, 0xa3 }, +{ 0x00, 0xb4, 0xb4 }, +{ 0x00, 0xb5, 0xa5 }, +{ 0x00, 0xb6, 0xa6 }, +{ 0x00, 0xb7, 0xb7 }, +{ 0x00, 0xb8, 0xb8 }, +{ 0x00, 0xb9, 0xa9 }, +{ 0x00, 0xba, 0xaa }, +{ 0x00, 0xbb, 0xab }, +{ 0x00, 0xbc, 0xac }, +{ 0x00, 0xbd, 0xbd }, +{ 0x00, 0xbe, 0xae }, +{ 0x00, 0xbf, 0xaf }, +{ 0x01, 0xe0, 0xc0 }, +{ 0x01, 0xe1, 0xc1 }, +{ 0x01, 0xe2, 0xc2 }, +{ 0x01, 0xe3, 0xc3 }, +{ 0x01, 0xe4, 0xc4 }, +{ 0x01, 0xe5, 0xc5 }, +{ 0x01, 0xe6, 0xc6 }, +{ 0x01, 0xe7, 0xc7 }, +{ 0x01, 0xe8, 0xc8 }, +{ 0x01, 0xe9, 0xc9 }, +{ 0x01, 0xea, 0xca }, +{ 0x01, 0xeb, 0xcb }, +{ 0x01, 0xec, 0xcc }, +{ 0x01, 0xed, 0xcd }, +{ 0x01, 0xee, 0xce }, +{ 0x01, 0xef, 0xcf }, +{ 0x01, 0xf0, 0xd0 }, +{ 0x01, 0xf1, 0xd1 }, +{ 0x01, 0xf2, 0xd2 }, +{ 0x01, 0xf3, 0xd3 }, +{ 0x01, 0xf4, 0xd4 }, +{ 0x01, 0xf5, 0xd5 }, +{ 0x01, 0xf6, 0xd6 }, +{ 0x00, 0xd7, 0xd7 }, +{ 0x01, 0xf8, 0xd8 }, +{ 0x01, 0xf9, 0xd9 }, +{ 0x01, 0xfa, 0xda }, +{ 0x01, 0xfb, 0xdb }, +{ 0x01, 0xfc, 0xdc }, +{ 0x01, 0xfd, 0xdd }, +{ 0x01, 0xfe, 0xde }, +{ 0x00, 0xdf, 0xdf }, +{ 0x00, 0xe0, 0xc0 }, +{ 0x00, 0xe1, 0xc1 }, +{ 0x00, 0xe2, 0xc2 }, +{ 0x00, 0xe3, 0xc3 }, +{ 0x00, 0xe4, 0xc4 }, +{ 0x00, 0xe5, 0xc5 }, +{ 0x00, 0xe6, 0xc6 }, +{ 0x00, 0xe7, 0xc7 }, +{ 0x00, 0xe8, 0xc8 }, +{ 0x00, 0xe9, 0xc9 }, +{ 0x00, 0xea, 0xca }, +{ 0x00, 0xeb, 0xcb }, +{ 0x00, 0xec, 0xcc }, +{ 0x00, 0xed, 0xcd }, +{ 0x00, 0xee, 0xce }, +{ 0x00, 0xef, 0xcf }, +{ 0x00, 0xf0, 0xd0 }, +{ 0x00, 0xf1, 0xd1 }, +{ 0x00, 0xf2, 0xd2 }, +{ 0x00, 0xf3, 0xd3 }, +{ 0x00, 0xf4, 0xd4 }, +{ 0x00, 0xf5, 0xd5 }, +{ 0x00, 0xf6, 0xd6 }, +{ 0x00, 0xf7, 0xf7 }, +{ 0x00, 0xf8, 0xd8 }, +{ 0x00, 0xf9, 0xd9 }, +{ 0x00, 0xfa, 0xda }, +{ 0x00, 0xfb, 0xdb }, +{ 0x00, 0xfc, 0xdc }, +{ 0x00, 0xfd, 0xdd }, +{ 0x00, 0xfe, 0xde }, +{ 0x00, 0xff, 0xff }, +}; + + +struct cs_info iso3_tbl[] = { +{ 0x00, 0x00, 0x00 }, +{ 0x00, 0x01, 0x01 }, +{ 0x00, 0x02, 0x02 }, +{ 0x00, 0x03, 0x03 }, +{ 0x00, 0x04, 0x04 }, +{ 0x00, 0x05, 0x05 }, +{ 0x00, 0x06, 0x06 }, +{ 0x00, 0x07, 0x07 }, +{ 0x00, 0x08, 0x08 }, +{ 0x00, 0x09, 0x09 }, +{ 0x00, 0x0a, 0x0a }, +{ 0x00, 0x0b, 0x0b }, +{ 0x00, 0x0c, 0x0c }, +{ 0x00, 0x0d, 0x0d }, +{ 0x00, 0x0e, 0x0e }, +{ 0x00, 0x0f, 0x0f }, +{ 0x00, 0x10, 0x10 }, +{ 0x00, 0x11, 0x11 }, +{ 0x00, 0x12, 0x12 }, +{ 0x00, 0x13, 0x13 }, +{ 0x00, 0x14, 0x14 }, +{ 0x00, 0x15, 0x15 }, +{ 0x00, 0x16, 0x16 }, +{ 0x00, 0x17, 0x17 }, +{ 0x00, 0x18, 0x18 }, +{ 0x00, 0x19, 0x19 }, +{ 0x00, 0x1a, 0x1a }, +{ 0x00, 0x1b, 0x1b }, +{ 0x00, 0x1c, 0x1c }, +{ 0x00, 0x1d, 0x1d }, +{ 0x00, 0x1e, 0x1e }, +{ 0x00, 0x1f, 0x1f }, +{ 0x00, 0x20, 0x20 }, +{ 0x00, 0x21, 0x21 }, +{ 0x00, 0x22, 0x22 }, +{ 0x00, 0x23, 0x23 }, +{ 0x00, 0x24, 0x24 }, +{ 0x00, 0x25, 0x25 }, +{ 0x00, 0x26, 0x26 }, +{ 0x00, 0x27, 0x27 }, +{ 0x00, 0x28, 0x28 }, +{ 0x00, 0x29, 0x29 }, +{ 0x00, 0x2a, 0x2a }, +{ 0x00, 0x2b, 0x2b }, +{ 0x00, 0x2c, 0x2c }, +{ 0x00, 0x2d, 0x2d }, +{ 0x00, 0x2e, 0x2e }, +{ 0x00, 0x2f, 0x2f }, +{ 0x00, 0x30, 0x30 }, +{ 0x00, 0x31, 0x31 }, +{ 0x00, 0x32, 0x32 }, +{ 0x00, 0x33, 0x33 }, +{ 0x00, 0x34, 0x34 }, +{ 0x00, 0x35, 0x35 }, +{ 0x00, 0x36, 0x36 }, +{ 0x00, 0x37, 0x37 }, +{ 0x00, 0x38, 0x38 }, +{ 0x00, 0x39, 0x39 }, +{ 0x00, 0x3a, 0x3a }, +{ 0x00, 0x3b, 0x3b }, +{ 0x00, 0x3c, 0x3c }, +{ 0x00, 0x3d, 0x3d }, +{ 0x00, 0x3e, 0x3e }, +{ 0x00, 0x3f, 0x3f }, +{ 0x00, 0x40, 0x40 }, +{ 0x01, 0x61, 0x41 }, +{ 0x01, 0x62, 0x42 }, +{ 0x01, 0x63, 0x43 }, +{ 0x01, 0x64, 0x44 }, +{ 0x01, 0x65, 0x45 }, +{ 0x01, 0x66, 0x46 }, +{ 0x01, 0x67, 0x47 }, +{ 0x01, 0x68, 0x48 }, +{ 0x01, 0x69, 0x49 }, +{ 0x01, 0x6a, 0x4a }, +{ 0x01, 0x6b, 0x4b }, +{ 0x01, 0x6c, 0x4c }, +{ 0x01, 0x6d, 0x4d }, +{ 0x01, 0x6e, 0x4e }, +{ 0x01, 0x6f, 0x4f }, +{ 0x01, 0x70, 0x50 }, +{ 0x01, 0x71, 0x51 }, +{ 0x01, 0x72, 0x52 }, +{ 0x01, 0x73, 0x53 }, +{ 0x01, 0x74, 0x54 }, +{ 0x01, 0x75, 0x55 }, +{ 0x01, 0x76, 0x56 }, +{ 0x01, 0x77, 0x57 }, +{ 0x01, 0x78, 0x58 }, +{ 0x01, 0x79, 0x59 }, +{ 0x01, 0x7a, 0x5a }, +{ 0x00, 0x5b, 0x5b }, +{ 0x00, 0x5c, 0x5c }, +{ 0x00, 0x5d, 0x5d }, +{ 0x00, 0x5e, 0x5e }, +{ 0x00, 0x5f, 0x5f }, +{ 0x00, 0x60, 0x60 }, +{ 0x00, 0x61, 0x41 }, +{ 0x00, 0x62, 0x42 }, +{ 0x00, 0x63, 0x43 }, +{ 0x00, 0x64, 0x44 }, +{ 0x00, 0x65, 0x45 }, +{ 0x00, 0x66, 0x46 }, +{ 0x00, 0x67, 0x47 }, +{ 0x00, 0x68, 0x48 }, +{ 0x00, 0x69, 0x49 }, +{ 0x00, 0x6a, 0x4a }, +{ 0x00, 0x6b, 0x4b }, +{ 0x00, 0x6c, 0x4c }, +{ 0x00, 0x6d, 0x4d }, +{ 0x00, 0x6e, 0x4e }, +{ 0x00, 0x6f, 0x4f }, +{ 0x00, 0x70, 0x50 }, +{ 0x00, 0x71, 0x51 }, +{ 0x00, 0x72, 0x52 }, +{ 0x00, 0x73, 0x53 }, +{ 0x00, 0x74, 0x54 }, +{ 0x00, 0x75, 0x55 }, +{ 0x00, 0x76, 0x56 }, +{ 0x00, 0x77, 0x57 }, +{ 0x00, 0x78, 0x58 }, +{ 0x00, 0x79, 0x59 }, +{ 0x00, 0x7a, 0x5a }, +{ 0x00, 0x7b, 0x7b }, +{ 0x00, 0x7c, 0x7c }, +{ 0x00, 0x7d, 0x7d }, +{ 0x00, 0x7e, 0x7e }, +{ 0x00, 0x7f, 0x7f }, +{ 0x00, 0x80, 0x80 }, +{ 0x00, 0x81, 0x81 }, +{ 0x00, 0x82, 0x82 }, +{ 0x00, 0x83, 0x83 }, +{ 0x00, 0x84, 0x84 }, +{ 0x00, 0x85, 0x85 }, +{ 0x00, 0x86, 0x86 }, +{ 0x00, 0x87, 0x87 }, +{ 0x00, 0x88, 0x88 }, +{ 0x00, 0x89, 0x89 }, +{ 0x00, 0x8a, 0x8a }, +{ 0x00, 0x8b, 0x8b }, +{ 0x00, 0x8c, 0x8c }, +{ 0x00, 0x8d, 0x8d }, +{ 0x00, 0x8e, 0x8e }, +{ 0x00, 0x8f, 0x8f }, +{ 0x00, 0x90, 0x90 }, +{ 0x00, 0x91, 0x91 }, +{ 0x00, 0x92, 0x92 }, +{ 0x00, 0x93, 0x93 }, +{ 0x00, 0x94, 0x94 }, +{ 0x00, 0x95, 0x95 }, +{ 0x00, 0x96, 0x96 }, +{ 0x00, 0x97, 0x97 }, +{ 0x00, 0x98, 0x98 }, +{ 0x00, 0x99, 0x99 }, +{ 0x00, 0x9a, 0x9a }, +{ 0x00, 0x9b, 0x9b }, +{ 0x00, 0x9c, 0x9c }, +{ 0x00, 0x9d, 0x9d }, +{ 0x00, 0x9e, 0x9e }, +{ 0x00, 0x9f, 0x9f }, +{ 0x00, 0xa0, 0xa0 }, +{ 0x01, 0xb1, 0xa1 }, +{ 0x00, 0xa2, 0xa2 }, +{ 0x00, 0xa3, 0xa3 }, +{ 0x00, 0xa4, 0xa4 }, +{ 0x00, 0xa5, 0xa5 }, +{ 0x01, 0xb6, 0xa6 }, +{ 0x00, 0xa7, 0xa7 }, +{ 0x00, 0xa8, 0xa8 }, +{ 0x01, 0x69, 0xa9 }, +{ 0x01, 0xba, 0xaa }, +{ 0x01, 0xbb, 0xab }, +{ 0x01, 0xbc, 0xac }, +{ 0x00, 0xad, 0xad }, +{ 0x00, 0xae, 0xae }, +{ 0x01, 0xbf, 0xaf }, +{ 0x00, 0xb0, 0xb0 }, +{ 0x00, 0xb1, 0xa1 }, +{ 0x00, 0xb2, 0xb2 }, +{ 0x00, 0xb3, 0xb3 }, +{ 0x00, 0xb4, 0xb4 }, +{ 0x00, 0xb5, 0xb5 }, +{ 0x00, 0xb6, 0xa6 }, +{ 0x00, 0xb7, 0xb7 }, +{ 0x00, 0xb8, 0xb8 }, +{ 0x00, 0xb9, 0x49 }, +{ 0x00, 0xba, 0xaa }, +{ 0x00, 0xbb, 0xab }, +{ 0x00, 0xbc, 0xac }, +{ 0x00, 0xbd, 0xbd }, +{ 0x00, 0xbe, 0xbe }, +{ 0x00, 0xbf, 0xaf }, +{ 0x01, 0xe0, 0xc0 }, +{ 0x01, 0xe1, 0xc1 }, +{ 0x01, 0xe2, 0xc2 }, +{ 0x00, 0xc3, 0xc3 }, +{ 0x01, 0xe4, 0xc4 }, +{ 0x01, 0xe5, 0xc5 }, +{ 0x01, 0xe6, 0xc6 }, +{ 0x01, 0xe7, 0xc7 }, +{ 0x01, 0xe8, 0xc8 }, +{ 0x01, 0xe9, 0xc9 }, +{ 0x01, 0xea, 0xca }, +{ 0x01, 0xeb, 0xcb }, +{ 0x01, 0xec, 0xcc }, +{ 0x01, 0xed, 0xcd }, +{ 0x01, 0xee, 0xce }, +{ 0x01, 0xef, 0xcf }, +{ 0x00, 0xd0, 0xd0 }, +{ 0x01, 0xf1, 0xd1 }, +{ 0x01, 0xf2, 0xd2 }, +{ 0x01, 0xf3, 0xd3 }, +{ 0x01, 0xf4, 0xd4 }, +{ 0x01, 0xf5, 0xd5 }, +{ 0x01, 0xf6, 0xd6 }, +{ 0x00, 0xd7, 0xd7 }, +{ 0x01, 0xf8, 0xd8 }, +{ 0x01, 0xf9, 0xd9 }, +{ 0x01, 0xfa, 0xda }, +{ 0x01, 0xfb, 0xdb }, +{ 0x01, 0xfc, 0xdc }, +{ 0x01, 0xfd, 0xdd }, +{ 0x01, 0xfe, 0xde }, +{ 0x00, 0xdf, 0xdf }, +{ 0x00, 0xe0, 0xc0 }, +{ 0x00, 0xe1, 0xc1 }, +{ 0x00, 0xe2, 0xc2 }, +{ 0x00, 0xe3, 0xe3 }, +{ 0x00, 0xe4, 0xc4 }, +{ 0x00, 0xe5, 0xc5 }, +{ 0x00, 0xe6, 0xc6 }, +{ 0x00, 0xe7, 0xc7 }, +{ 0x00, 0xe8, 0xc8 }, +{ 0x00, 0xe9, 0xc9 }, +{ 0x00, 0xea, 0xca }, +{ 0x00, 0xeb, 0xcb }, +{ 0x00, 0xec, 0xcc }, +{ 0x00, 0xed, 0xcd }, +{ 0x00, 0xee, 0xce }, +{ 0x00, 0xef, 0xcf }, +{ 0x00, 0xf0, 0xf0 }, +{ 0x00, 0xf1, 0xd1 }, +{ 0x00, 0xf2, 0xd2 }, +{ 0x00, 0xf3, 0xd3 }, +{ 0x00, 0xf4, 0xd4 }, +{ 0x00, 0xf5, 0xd5 }, +{ 0x00, 0xf6, 0xd6 }, +{ 0x00, 0xf7, 0xf7 }, +{ 0x00, 0xf8, 0xd8 }, +{ 0x00, 0xf9, 0xd9 }, +{ 0x00, 0xfa, 0xda }, +{ 0x00, 0xfb, 0xdb }, +{ 0x00, 0xfc, 0xdc }, +{ 0x00, 0xfd, 0xdd }, +{ 0x00, 0xfe, 0xde }, +{ 0x00, 0xff, 0xff }, +}; + +struct cs_info iso4_tbl[] = { +{ 0x00, 0x00, 0x00 }, +{ 0x00, 0x01, 0x01 }, +{ 0x00, 0x02, 0x02 }, +{ 0x00, 0x03, 0x03 }, +{ 0x00, 0x04, 0x04 }, +{ 0x00, 0x05, 0x05 }, +{ 0x00, 0x06, 0x06 }, +{ 0x00, 0x07, 0x07 }, +{ 0x00, 0x08, 0x08 }, +{ 0x00, 0x09, 0x09 }, +{ 0x00, 0x0a, 0x0a }, +{ 0x00, 0x0b, 0x0b }, +{ 0x00, 0x0c, 0x0c }, +{ 0x00, 0x0d, 0x0d }, +{ 0x00, 0x0e, 0x0e }, +{ 0x00, 0x0f, 0x0f }, +{ 0x00, 0x10, 0x10 }, +{ 0x00, 0x11, 0x11 }, +{ 0x00, 0x12, 0x12 }, +{ 0x00, 0x13, 0x13 }, +{ 0x00, 0x14, 0x14 }, +{ 0x00, 0x15, 0x15 }, +{ 0x00, 0x16, 0x16 }, +{ 0x00, 0x17, 0x17 }, +{ 0x00, 0x18, 0x18 }, +{ 0x00, 0x19, 0x19 }, +{ 0x00, 0x1a, 0x1a }, +{ 0x00, 0x1b, 0x1b }, +{ 0x00, 0x1c, 0x1c }, +{ 0x00, 0x1d, 0x1d }, +{ 0x00, 0x1e, 0x1e }, +{ 0x00, 0x1f, 0x1f }, +{ 0x00, 0x20, 0x20 }, +{ 0x00, 0x21, 0x21 }, +{ 0x00, 0x22, 0x22 }, +{ 0x00, 0x23, 0x23 }, +{ 0x00, 0x24, 0x24 }, +{ 0x00, 0x25, 0x25 }, +{ 0x00, 0x26, 0x26 }, +{ 0x00, 0x27, 0x27 }, +{ 0x00, 0x28, 0x28 }, +{ 0x00, 0x29, 0x29 }, +{ 0x00, 0x2a, 0x2a }, +{ 0x00, 0x2b, 0x2b }, +{ 0x00, 0x2c, 0x2c }, +{ 0x00, 0x2d, 0x2d }, +{ 0x00, 0x2e, 0x2e }, +{ 0x00, 0x2f, 0x2f }, +{ 0x00, 0x30, 0x30 }, +{ 0x00, 0x31, 0x31 }, +{ 0x00, 0x32, 0x32 }, +{ 0x00, 0x33, 0x33 }, +{ 0x00, 0x34, 0x34 }, +{ 0x00, 0x35, 0x35 }, +{ 0x00, 0x36, 0x36 }, +{ 0x00, 0x37, 0x37 }, +{ 0x00, 0x38, 0x38 }, +{ 0x00, 0x39, 0x39 }, +{ 0x00, 0x3a, 0x3a }, +{ 0x00, 0x3b, 0x3b }, +{ 0x00, 0x3c, 0x3c }, +{ 0x00, 0x3d, 0x3d }, +{ 0x00, 0x3e, 0x3e }, +{ 0x00, 0x3f, 0x3f }, +{ 0x00, 0x40, 0x40 }, +{ 0x01, 0x61, 0x41 }, +{ 0x01, 0x62, 0x42 }, +{ 0x01, 0x63, 0x43 }, +{ 0x01, 0x64, 0x44 }, +{ 0x01, 0x65, 0x45 }, +{ 0x01, 0x66, 0x46 }, +{ 0x01, 0x67, 0x47 }, +{ 0x01, 0x68, 0x48 }, +{ 0x01, 0x69, 0x49 }, +{ 0x01, 0x6a, 0x4a }, +{ 0x01, 0x6b, 0x4b }, +{ 0x01, 0x6c, 0x4c }, +{ 0x01, 0x6d, 0x4d }, +{ 0x01, 0x6e, 0x4e }, +{ 0x01, 0x6f, 0x4f }, +{ 0x01, 0x70, 0x50 }, +{ 0x01, 0x71, 0x51 }, +{ 0x01, 0x72, 0x52 }, +{ 0x01, 0x73, 0x53 }, +{ 0x01, 0x74, 0x54 }, +{ 0x01, 0x75, 0x55 }, +{ 0x01, 0x76, 0x56 }, +{ 0x01, 0x77, 0x57 }, +{ 0x01, 0x78, 0x58 }, +{ 0x01, 0x79, 0x59 }, +{ 0x01, 0x7a, 0x5a }, +{ 0x00, 0x5b, 0x5b }, +{ 0x00, 0x5c, 0x5c }, +{ 0x00, 0x5d, 0x5d }, +{ 0x00, 0x5e, 0x5e }, +{ 0x00, 0x5f, 0x5f }, +{ 0x00, 0x60, 0x60 }, +{ 0x00, 0x61, 0x41 }, +{ 0x00, 0x62, 0x42 }, +{ 0x00, 0x63, 0x43 }, +{ 0x00, 0x64, 0x44 }, +{ 0x00, 0x65, 0x45 }, +{ 0x00, 0x66, 0x46 }, +{ 0x00, 0x67, 0x47 }, +{ 0x00, 0x68, 0x48 }, +{ 0x00, 0x69, 0x49 }, +{ 0x00, 0x6a, 0x4a }, +{ 0x00, 0x6b, 0x4b }, +{ 0x00, 0x6c, 0x4c }, +{ 0x00, 0x6d, 0x4d }, +{ 0x00, 0x6e, 0x4e }, +{ 0x00, 0x6f, 0x4f }, +{ 0x00, 0x70, 0x50 }, +{ 0x00, 0x71, 0x51 }, +{ 0x00, 0x72, 0x52 }, +{ 0x00, 0x73, 0x53 }, +{ 0x00, 0x74, 0x54 }, +{ 0x00, 0x75, 0x55 }, +{ 0x00, 0x76, 0x56 }, +{ 0x00, 0x77, 0x57 }, +{ 0x00, 0x78, 0x58 }, +{ 0x00, 0x79, 0x59 }, +{ 0x00, 0x7a, 0x5a }, +{ 0x00, 0x7b, 0x7b }, +{ 0x00, 0x7c, 0x7c }, +{ 0x00, 0x7d, 0x7d }, +{ 0x00, 0x7e, 0x7e }, +{ 0x00, 0x7f, 0x7f }, +{ 0x00, 0x80, 0x80 }, +{ 0x00, 0x81, 0x81 }, +{ 0x00, 0x82, 0x82 }, +{ 0x00, 0x83, 0x83 }, +{ 0x00, 0x84, 0x84 }, +{ 0x00, 0x85, 0x85 }, +{ 0x00, 0x86, 0x86 }, +{ 0x00, 0x87, 0x87 }, +{ 0x00, 0x88, 0x88 }, +{ 0x00, 0x89, 0x89 }, +{ 0x00, 0x8a, 0x8a }, +{ 0x00, 0x8b, 0x8b }, +{ 0x00, 0x8c, 0x8c }, +{ 0x00, 0x8d, 0x8d }, +{ 0x00, 0x8e, 0x8e }, +{ 0x00, 0x8f, 0x8f }, +{ 0x00, 0x90, 0x90 }, +{ 0x00, 0x91, 0x91 }, +{ 0x00, 0x92, 0x92 }, +{ 0x00, 0x93, 0x93 }, +{ 0x00, 0x94, 0x94 }, +{ 0x00, 0x95, 0x95 }, +{ 0x00, 0x96, 0x96 }, +{ 0x00, 0x97, 0x97 }, +{ 0x00, 0x98, 0x98 }, +{ 0x00, 0x99, 0x99 }, +{ 0x00, 0x9a, 0x9a }, +{ 0x00, 0x9b, 0x9b }, +{ 0x00, 0x9c, 0x9c }, +{ 0x00, 0x9d, 0x9d }, +{ 0x00, 0x9e, 0x9e }, +{ 0x00, 0x9f, 0x9f }, +{ 0x00, 0xa0, 0xa0 }, +{ 0x01, 0xb1, 0xa1 }, +{ 0x00, 0xa2, 0xa2 }, +{ 0x01, 0xb3, 0xa3 }, +{ 0x00, 0xa4, 0xa4 }, +{ 0x01, 0xb5, 0xa5 }, +{ 0x01, 0xb6, 0xa6 }, +{ 0x00, 0xa7, 0xa7 }, +{ 0x00, 0xa8, 0xa8 }, +{ 0x01, 0xb9, 0xa9 }, +{ 0x01, 0xba, 0xaa }, +{ 0x01, 0xbb, 0xab }, +{ 0x01, 0xbc, 0xac }, +{ 0x00, 0xad, 0xad }, +{ 0x01, 0xbe, 0xae }, +{ 0x00, 0xaf, 0xaf }, +{ 0x00, 0xb0, 0xb0 }, +{ 0x00, 0xb1, 0xa1 }, +{ 0x00, 0xb2, 0xb2 }, +{ 0x00, 0xb3, 0xa3 }, +{ 0x00, 0xb4, 0xb4 }, +{ 0x00, 0xb5, 0xa5 }, +{ 0x00, 0xb6, 0xa6 }, +{ 0x00, 0xb7, 0xb7 }, +{ 0x00, 0xb8, 0xb8 }, +{ 0x00, 0xb9, 0xa9 }, +{ 0x00, 0xba, 0xaa }, +{ 0x00, 0xbb, 0xab }, +{ 0x00, 0xbc, 0xac }, +{ 0x00, 0xbd, 0xbd }, +{ 0x00, 0xbe, 0xae }, +{ 0x00, 0xbf, 0xbf }, +{ 0x01, 0xe0, 0xc0 }, +{ 0x01, 0xe1, 0xc1 }, +{ 0x01, 0xe2, 0xc2 }, +{ 0x01, 0xe3, 0xc3 }, +{ 0x01, 0xe4, 0xc4 }, +{ 0x01, 0xe5, 0xc5 }, +{ 0x01, 0xe6, 0xc6 }, +{ 0x01, 0xe7, 0xc7 }, +{ 0x01, 0xe8, 0xc8 }, +{ 0x01, 0xe9, 0xc9 }, +{ 0x01, 0xea, 0xca }, +{ 0x01, 0xeb, 0xcb }, +{ 0x01, 0xec, 0xcc }, +{ 0x01, 0xed, 0xcd }, +{ 0x01, 0xee, 0xce }, +{ 0x01, 0xef, 0xcf }, +{ 0x01, 0xf0, 0xd0 }, +{ 0x01, 0xf1, 0xd1 }, +{ 0x01, 0xf2, 0xd2 }, +{ 0x01, 0xf3, 0xd3 }, +{ 0x01, 0xf4, 0xd4 }, +{ 0x01, 0xf5, 0xd5 }, +{ 0x01, 0xf6, 0xd6 }, +{ 0x00, 0xd7, 0xd7 }, +{ 0x01, 0xf8, 0xd8 }, +{ 0x01, 0xf9, 0xd9 }, +{ 0x01, 0xfa, 0xda }, +{ 0x01, 0xfb, 0xdb }, +{ 0x01, 0xfc, 0xdc }, +{ 0x01, 0xfd, 0xdd }, +{ 0x01, 0xfe, 0xde }, +{ 0x00, 0xdf, 0xdf }, +{ 0x00, 0xe0, 0xc0 }, +{ 0x00, 0xe1, 0xc1 }, +{ 0x00, 0xe2, 0xc2 }, +{ 0x00, 0xe3, 0xc3 }, +{ 0x00, 0xe4, 0xc4 }, +{ 0x00, 0xe5, 0xc5 }, +{ 0x00, 0xe6, 0xc6 }, +{ 0x00, 0xe7, 0xc7 }, +{ 0x00, 0xe8, 0xc8 }, +{ 0x00, 0xe9, 0xc9 }, +{ 0x00, 0xea, 0xca }, +{ 0x00, 0xeb, 0xcb }, +{ 0x00, 0xec, 0xcc }, +{ 0x00, 0xed, 0xcd }, +{ 0x00, 0xee, 0xce }, +{ 0x00, 0xef, 0xcf }, +{ 0x00, 0xf0, 0xd0 }, +{ 0x00, 0xf1, 0xd1 }, +{ 0x00, 0xf2, 0xd2 }, +{ 0x00, 0xf3, 0xd3 }, +{ 0x00, 0xf4, 0xd4 }, +{ 0x00, 0xf5, 0xd5 }, +{ 0x00, 0xf6, 0xd6 }, +{ 0x00, 0xf7, 0xf7 }, +{ 0x00, 0xf8, 0xd8 }, +{ 0x00, 0xf9, 0xd9 }, +{ 0x00, 0xfa, 0xda }, +{ 0x00, 0xfb, 0xdb }, +{ 0x00, 0xfc, 0xdc }, +{ 0x00, 0xfd, 0xdd }, +{ 0x00, 0xfe, 0xde }, +{ 0x00, 0xff, 0xff }, +}; + +struct cs_info iso5_tbl[] = { +{ 0x00, 0x00, 0x00 }, +{ 0x00, 0x01, 0x01 }, +{ 0x00, 0x02, 0x02 }, +{ 0x00, 0x03, 0x03 }, +{ 0x00, 0x04, 0x04 }, +{ 0x00, 0x05, 0x05 }, +{ 0x00, 0x06, 0x06 }, +{ 0x00, 0x07, 0x07 }, +{ 0x00, 0x08, 0x08 }, +{ 0x00, 0x09, 0x09 }, +{ 0x00, 0x0a, 0x0a }, +{ 0x00, 0x0b, 0x0b }, +{ 0x00, 0x0c, 0x0c }, +{ 0x00, 0x0d, 0x0d }, +{ 0x00, 0x0e, 0x0e }, +{ 0x00, 0x0f, 0x0f }, +{ 0x00, 0x10, 0x10 }, +{ 0x00, 0x11, 0x11 }, +{ 0x00, 0x12, 0x12 }, +{ 0x00, 0x13, 0x13 }, +{ 0x00, 0x14, 0x14 }, +{ 0x00, 0x15, 0x15 }, +{ 0x00, 0x16, 0x16 }, +{ 0x00, 0x17, 0x17 }, +{ 0x00, 0x18, 0x18 }, +{ 0x00, 0x19, 0x19 }, +{ 0x00, 0x1a, 0x1a }, +{ 0x00, 0x1b, 0x1b }, +{ 0x00, 0x1c, 0x1c }, +{ 0x00, 0x1d, 0x1d }, +{ 0x00, 0x1e, 0x1e }, +{ 0x00, 0x1f, 0x1f }, +{ 0x00, 0x20, 0x20 }, +{ 0x00, 0x21, 0x21 }, +{ 0x00, 0x22, 0x22 }, +{ 0x00, 0x23, 0x23 }, +{ 0x00, 0x24, 0x24 }, +{ 0x00, 0x25, 0x25 }, +{ 0x00, 0x26, 0x26 }, +{ 0x00, 0x27, 0x27 }, +{ 0x00, 0x28, 0x28 }, +{ 0x00, 0x29, 0x29 }, +{ 0x00, 0x2a, 0x2a }, +{ 0x00, 0x2b, 0x2b }, +{ 0x00, 0x2c, 0x2c }, +{ 0x00, 0x2d, 0x2d }, +{ 0x00, 0x2e, 0x2e }, +{ 0x00, 0x2f, 0x2f }, +{ 0x00, 0x30, 0x30 }, +{ 0x00, 0x31, 0x31 }, +{ 0x00, 0x32, 0x32 }, +{ 0x00, 0x33, 0x33 }, +{ 0x00, 0x34, 0x34 }, +{ 0x00, 0x35, 0x35 }, +{ 0x00, 0x36, 0x36 }, +{ 0x00, 0x37, 0x37 }, +{ 0x00, 0x38, 0x38 }, +{ 0x00, 0x39, 0x39 }, +{ 0x00, 0x3a, 0x3a }, +{ 0x00, 0x3b, 0x3b }, +{ 0x00, 0x3c, 0x3c }, +{ 0x00, 0x3d, 0x3d }, +{ 0x00, 0x3e, 0x3e }, +{ 0x00, 0x3f, 0x3f }, +{ 0x00, 0x40, 0x40 }, +{ 0x01, 0x61, 0x41 }, +{ 0x01, 0x62, 0x42 }, +{ 0x01, 0x63, 0x43 }, +{ 0x01, 0x64, 0x44 }, +{ 0x01, 0x65, 0x45 }, +{ 0x01, 0x66, 0x46 }, +{ 0x01, 0x67, 0x47 }, +{ 0x01, 0x68, 0x48 }, +{ 0x01, 0x69, 0x49 }, +{ 0x01, 0x6a, 0x4a }, +{ 0x01, 0x6b, 0x4b }, +{ 0x01, 0x6c, 0x4c }, +{ 0x01, 0x6d, 0x4d }, +{ 0x01, 0x6e, 0x4e }, +{ 0x01, 0x6f, 0x4f }, +{ 0x01, 0x70, 0x50 }, +{ 0x01, 0x71, 0x51 }, +{ 0x01, 0x72, 0x52 }, +{ 0x01, 0x73, 0x53 }, +{ 0x01, 0x74, 0x54 }, +{ 0x01, 0x75, 0x55 }, +{ 0x01, 0x76, 0x56 }, +{ 0x01, 0x77, 0x57 }, +{ 0x01, 0x78, 0x58 }, +{ 0x01, 0x79, 0x59 }, +{ 0x01, 0x7a, 0x5a }, +{ 0x00, 0x5b, 0x5b }, +{ 0x00, 0x5c, 0x5c }, +{ 0x00, 0x5d, 0x5d }, +{ 0x00, 0x5e, 0x5e }, +{ 0x00, 0x5f, 0x5f }, +{ 0x00, 0x60, 0x60 }, +{ 0x00, 0x61, 0x41 }, +{ 0x00, 0x62, 0x42 }, +{ 0x00, 0x63, 0x43 }, +{ 0x00, 0x64, 0x44 }, +{ 0x00, 0x65, 0x45 }, +{ 0x00, 0x66, 0x46 }, +{ 0x00, 0x67, 0x47 }, +{ 0x00, 0x68, 0x48 }, +{ 0x00, 0x69, 0x49 }, +{ 0x00, 0x6a, 0x4a }, +{ 0x00, 0x6b, 0x4b }, +{ 0x00, 0x6c, 0x4c }, +{ 0x00, 0x6d, 0x4d }, +{ 0x00, 0x6e, 0x4e }, +{ 0x00, 0x6f, 0x4f }, +{ 0x00, 0x70, 0x50 }, +{ 0x00, 0x71, 0x51 }, +{ 0x00, 0x72, 0x52 }, +{ 0x00, 0x73, 0x53 }, +{ 0x00, 0x74, 0x54 }, +{ 0x00, 0x75, 0x55 }, +{ 0x00, 0x76, 0x56 }, +{ 0x00, 0x77, 0x57 }, +{ 0x00, 0x78, 0x58 }, +{ 0x00, 0x79, 0x59 }, +{ 0x00, 0x7a, 0x5a }, +{ 0x00, 0x7b, 0x7b }, +{ 0x00, 0x7c, 0x7c }, +{ 0x00, 0x7d, 0x7d }, +{ 0x00, 0x7e, 0x7e }, +{ 0x00, 0x7f, 0x7f }, +{ 0x00, 0x80, 0x80 }, +{ 0x00, 0x81, 0x81 }, +{ 0x00, 0x82, 0x82 }, +{ 0x00, 0x83, 0x83 }, +{ 0x00, 0x84, 0x84 }, +{ 0x00, 0x85, 0x85 }, +{ 0x00, 0x86, 0x86 }, +{ 0x00, 0x87, 0x87 }, +{ 0x00, 0x88, 0x88 }, +{ 0x00, 0x89, 0x89 }, +{ 0x00, 0x8a, 0x8a }, +{ 0x00, 0x8b, 0x8b }, +{ 0x00, 0x8c, 0x8c }, +{ 0x00, 0x8d, 0x8d }, +{ 0x00, 0x8e, 0x8e }, +{ 0x00, 0x8f, 0x8f }, +{ 0x00, 0x90, 0x90 }, +{ 0x00, 0x91, 0x91 }, +{ 0x00, 0x92, 0x92 }, +{ 0x00, 0x93, 0x93 }, +{ 0x00, 0x94, 0x94 }, +{ 0x00, 0x95, 0x95 }, +{ 0x00, 0x96, 0x96 }, +{ 0x00, 0x97, 0x97 }, +{ 0x00, 0x98, 0x98 }, +{ 0x00, 0x99, 0x99 }, +{ 0x00, 0x9a, 0x9a }, +{ 0x00, 0x9b, 0x9b }, +{ 0x00, 0x9c, 0x9c }, +{ 0x00, 0x9d, 0x9d }, +{ 0x00, 0x9e, 0x9e }, +{ 0x00, 0x9f, 0x9f }, +{ 0x00, 0xa0, 0xa0 }, +{ 0x01, 0xf1, 0xa1 }, +{ 0x01, 0xf2, 0xa2 }, +{ 0x01, 0xf3, 0xa3 }, +{ 0x01, 0xf4, 0xa4 }, +{ 0x01, 0xf5, 0xa5 }, +{ 0x01, 0xf6, 0xa6 }, +{ 0x01, 0xf7, 0xa7 }, +{ 0x01, 0xf8, 0xa8 }, +{ 0x01, 0xf9, 0xa9 }, +{ 0x01, 0xfa, 0xaa }, +{ 0x01, 0xfb, 0xab }, +{ 0x01, 0xfc, 0xac }, +{ 0x00, 0xad, 0xad }, +{ 0x01, 0xfe, 0xae }, +{ 0x01, 0xff, 0xaf }, +{ 0x01, 0xd0, 0xb0 }, +{ 0x01, 0xd1, 0xb1 }, +{ 0x01, 0xd2, 0xb2 }, +{ 0x01, 0xd3, 0xb3 }, +{ 0x01, 0xd4, 0xb4 }, +{ 0x01, 0xd5, 0xb5 }, +{ 0x01, 0xd6, 0xb6 }, +{ 0x01, 0xd7, 0xb7 }, +{ 0x01, 0xd8, 0xb8 }, +{ 0x01, 0xd9, 0xb9 }, +{ 0x01, 0xda, 0xba }, +{ 0x01, 0xdb, 0xbb }, +{ 0x01, 0xdc, 0xbc }, +{ 0x01, 0xdd, 0xbd }, +{ 0x01, 0xde, 0xbe }, +{ 0x01, 0xdf, 0xbf }, +{ 0x01, 0xe0, 0xc0 }, +{ 0x01, 0xe1, 0xc1 }, +{ 0x01, 0xe2, 0xc2 }, +{ 0x01, 0xe3, 0xc3 }, +{ 0x01, 0xe4, 0xc4 }, +{ 0x01, 0xe5, 0xc5 }, +{ 0x01, 0xe6, 0xc6 }, +{ 0x01, 0xe7, 0xc7 }, +{ 0x01, 0xe8, 0xc8 }, +{ 0x01, 0xe9, 0xc9 }, +{ 0x01, 0xea, 0xca }, +{ 0x01, 0xeb, 0xcb }, +{ 0x01, 0xec, 0xcc }, +{ 0x01, 0xed, 0xcd }, +{ 0x01, 0xee, 0xce }, +{ 0x01, 0xef, 0xcf }, +{ 0x00, 0xd0, 0xb0 }, +{ 0x00, 0xd1, 0xb1 }, +{ 0x00, 0xd2, 0xb2 }, +{ 0x00, 0xd3, 0xb3 }, +{ 0x00, 0xd4, 0xb4 }, +{ 0x00, 0xd5, 0xb5 }, +{ 0x00, 0xd6, 0xb6 }, +{ 0x00, 0xd7, 0xb7 }, +{ 0x00, 0xd8, 0xb8 }, +{ 0x00, 0xd9, 0xb9 }, +{ 0x00, 0xda, 0xba }, +{ 0x00, 0xdb, 0xbb }, +{ 0x00, 0xdc, 0xbc }, +{ 0x00, 0xdd, 0xbd }, +{ 0x00, 0xde, 0xbe }, +{ 0x00, 0xdf, 0xbf }, +{ 0x00, 0xe0, 0xc0 }, +{ 0x00, 0xe1, 0xc1 }, +{ 0x00, 0xe2, 0xc2 }, +{ 0x00, 0xe3, 0xc3 }, +{ 0x00, 0xe4, 0xc4 }, +{ 0x00, 0xe5, 0xc5 }, +{ 0x00, 0xe6, 0xc6 }, +{ 0x00, 0xe7, 0xc7 }, +{ 0x00, 0xe8, 0xc8 }, +{ 0x00, 0xe9, 0xc9 }, +{ 0x00, 0xea, 0xca }, +{ 0x00, 0xeb, 0xcb }, +{ 0x00, 0xec, 0xcc }, +{ 0x00, 0xed, 0xcd }, +{ 0x00, 0xee, 0xce }, +{ 0x00, 0xef, 0xcf }, +{ 0x00, 0xf0, 0xf0 }, +{ 0x00, 0xf1, 0xa1 }, +{ 0x00, 0xf2, 0xa2 }, +{ 0x00, 0xf3, 0xa3 }, +{ 0x00, 0xf4, 0xa4 }, +{ 0x00, 0xf5, 0xa5 }, +{ 0x00, 0xf6, 0xa6 }, +{ 0x00, 0xf7, 0xa7 }, +{ 0x00, 0xf8, 0xa8 }, +{ 0x00, 0xf9, 0xa9 }, +{ 0x00, 0xfa, 0xaa }, +{ 0x00, 0xfb, 0xab }, +{ 0x00, 0xfc, 0xac }, +{ 0x00, 0xfd, 0xfd }, +{ 0x00, 0xfe, 0xae }, +{ 0x00, 0xff, 0xaf }, +}; + +struct cs_info iso6_tbl[] = { +{ 0x00, 0x00, 0x00 }, +{ 0x00, 0x01, 0x01 }, +{ 0x00, 0x02, 0x02 }, +{ 0x00, 0x03, 0x03 }, +{ 0x00, 0x04, 0x04 }, +{ 0x00, 0x05, 0x05 }, +{ 0x00, 0x06, 0x06 }, +{ 0x00, 0x07, 0x07 }, +{ 0x00, 0x08, 0x08 }, +{ 0x00, 0x09, 0x09 }, +{ 0x00, 0x0a, 0x0a }, +{ 0x00, 0x0b, 0x0b }, +{ 0x00, 0x0c, 0x0c }, +{ 0x00, 0x0d, 0x0d }, +{ 0x00, 0x0e, 0x0e }, +{ 0x00, 0x0f, 0x0f }, +{ 0x00, 0x10, 0x10 }, +{ 0x00, 0x11, 0x11 }, +{ 0x00, 0x12, 0x12 }, +{ 0x00, 0x13, 0x13 }, +{ 0x00, 0x14, 0x14 }, +{ 0x00, 0x15, 0x15 }, +{ 0x00, 0x16, 0x16 }, +{ 0x00, 0x17, 0x17 }, +{ 0x00, 0x18, 0x18 }, +{ 0x00, 0x19, 0x19 }, +{ 0x00, 0x1a, 0x1a }, +{ 0x00, 0x1b, 0x1b }, +{ 0x00, 0x1c, 0x1c }, +{ 0x00, 0x1d, 0x1d }, +{ 0x00, 0x1e, 0x1e }, +{ 0x00, 0x1f, 0x1f }, +{ 0x00, 0x20, 0x20 }, +{ 0x00, 0x21, 0x21 }, +{ 0x00, 0x22, 0x22 }, +{ 0x00, 0x23, 0x23 }, +{ 0x00, 0x24, 0x24 }, +{ 0x00, 0x25, 0x25 }, +{ 0x00, 0x26, 0x26 }, +{ 0x00, 0x27, 0x27 }, +{ 0x00, 0x28, 0x28 }, +{ 0x00, 0x29, 0x29 }, +{ 0x00, 0x2a, 0x2a }, +{ 0x00, 0x2b, 0x2b }, +{ 0x00, 0x2c, 0x2c }, +{ 0x00, 0x2d, 0x2d }, +{ 0x00, 0x2e, 0x2e }, +{ 0x00, 0x2f, 0x2f }, +{ 0x00, 0x30, 0x30 }, +{ 0x00, 0x31, 0x31 }, +{ 0x00, 0x32, 0x32 }, +{ 0x00, 0x33, 0x33 }, +{ 0x00, 0x34, 0x34 }, +{ 0x00, 0x35, 0x35 }, +{ 0x00, 0x36, 0x36 }, +{ 0x00, 0x37, 0x37 }, +{ 0x00, 0x38, 0x38 }, +{ 0x00, 0x39, 0x39 }, +{ 0x00, 0x3a, 0x3a }, +{ 0x00, 0x3b, 0x3b }, +{ 0x00, 0x3c, 0x3c }, +{ 0x00, 0x3d, 0x3d }, +{ 0x00, 0x3e, 0x3e }, +{ 0x00, 0x3f, 0x3f }, +{ 0x00, 0x40, 0x40 }, +{ 0x01, 0x61, 0x41 }, +{ 0x01, 0x62, 0x42 }, +{ 0x01, 0x63, 0x43 }, +{ 0x01, 0x64, 0x44 }, +{ 0x01, 0x65, 0x45 }, +{ 0x01, 0x66, 0x46 }, +{ 0x01, 0x67, 0x47 }, +{ 0x01, 0x68, 0x48 }, +{ 0x01, 0x69, 0x49 }, +{ 0x01, 0x6a, 0x4a }, +{ 0x01, 0x6b, 0x4b }, +{ 0x01, 0x6c, 0x4c }, +{ 0x01, 0x6d, 0x4d }, +{ 0x01, 0x6e, 0x4e }, +{ 0x01, 0x6f, 0x4f }, +{ 0x01, 0x70, 0x50 }, +{ 0x01, 0x71, 0x51 }, +{ 0x01, 0x72, 0x52 }, +{ 0x01, 0x73, 0x53 }, +{ 0x01, 0x74, 0x54 }, +{ 0x01, 0x75, 0x55 }, +{ 0x01, 0x76, 0x56 }, +{ 0x01, 0x77, 0x57 }, +{ 0x01, 0x78, 0x58 }, +{ 0x01, 0x79, 0x59 }, +{ 0x01, 0x7a, 0x5a }, +{ 0x00, 0x5b, 0x5b }, +{ 0x00, 0x5c, 0x5c }, +{ 0x00, 0x5d, 0x5d }, +{ 0x00, 0x5e, 0x5e }, +{ 0x00, 0x5f, 0x5f }, +{ 0x00, 0x60, 0x60 }, +{ 0x00, 0x61, 0x41 }, +{ 0x00, 0x62, 0x42 }, +{ 0x00, 0x63, 0x43 }, +{ 0x00, 0x64, 0x44 }, +{ 0x00, 0x65, 0x45 }, +{ 0x00, 0x66, 0x46 }, +{ 0x00, 0x67, 0x47 }, +{ 0x00, 0x68, 0x48 }, +{ 0x00, 0x69, 0x49 }, +{ 0x00, 0x6a, 0x4a }, +{ 0x00, 0x6b, 0x4b }, +{ 0x00, 0x6c, 0x4c }, +{ 0x00, 0x6d, 0x4d }, +{ 0x00, 0x6e, 0x4e }, +{ 0x00, 0x6f, 0x4f }, +{ 0x00, 0x70, 0x50 }, +{ 0x00, 0x71, 0x51 }, +{ 0x00, 0x72, 0x52 }, +{ 0x00, 0x73, 0x53 }, +{ 0x00, 0x74, 0x54 }, +{ 0x00, 0x75, 0x55 }, +{ 0x00, 0x76, 0x56 }, +{ 0x00, 0x77, 0x57 }, +{ 0x00, 0x78, 0x58 }, +{ 0x00, 0x79, 0x59 }, +{ 0x00, 0x7a, 0x5a }, +{ 0x00, 0x7b, 0x7b }, +{ 0x00, 0x7c, 0x7c }, +{ 0x00, 0x7d, 0x7d }, +{ 0x00, 0x7e, 0x7e }, +{ 0x00, 0x7f, 0x7f }, +{ 0x00, 0x80, 0x80 }, +{ 0x00, 0x81, 0x81 }, +{ 0x00, 0x82, 0x82 }, +{ 0x00, 0x83, 0x83 }, +{ 0x00, 0x84, 0x84 }, +{ 0x00, 0x85, 0x85 }, +{ 0x00, 0x86, 0x86 }, +{ 0x00, 0x87, 0x87 }, +{ 0x00, 0x88, 0x88 }, +{ 0x00, 0x89, 0x89 }, +{ 0x00, 0x8a, 0x8a }, +{ 0x00, 0x8b, 0x8b }, +{ 0x00, 0x8c, 0x8c }, +{ 0x00, 0x8d, 0x8d }, +{ 0x00, 0x8e, 0x8e }, +{ 0x00, 0x8f, 0x8f }, +{ 0x00, 0x90, 0x90 }, +{ 0x00, 0x91, 0x91 }, +{ 0x00, 0x92, 0x92 }, +{ 0x00, 0x93, 0x93 }, +{ 0x00, 0x94, 0x94 }, +{ 0x00, 0x95, 0x95 }, +{ 0x00, 0x96, 0x96 }, +{ 0x00, 0x97, 0x97 }, +{ 0x00, 0x98, 0x98 }, +{ 0x00, 0x99, 0x99 }, +{ 0x00, 0x9a, 0x9a }, +{ 0x00, 0x9b, 0x9b }, +{ 0x00, 0x9c, 0x9c }, +{ 0x00, 0x9d, 0x9d }, +{ 0x00, 0x9e, 0x9e }, +{ 0x00, 0x9f, 0x9f }, +{ 0x00, 0xa0, 0xa0 }, +{ 0x00, 0xa1, 0xa1 }, +{ 0x00, 0xa2, 0xa2 }, +{ 0x00, 0xa3, 0xa3 }, +{ 0x00, 0xa4, 0xa4 }, +{ 0x00, 0xa5, 0xa5 }, +{ 0x00, 0xa6, 0xa6 }, +{ 0x00, 0xa7, 0xa7 }, +{ 0x00, 0xa8, 0xa8 }, +{ 0x00, 0xa9, 0xa9 }, +{ 0x00, 0xaa, 0xaa }, +{ 0x00, 0xab, 0xab }, +{ 0x00, 0xac, 0xac }, +{ 0x00, 0xad, 0xad }, +{ 0x00, 0xae, 0xae }, +{ 0x00, 0xaf, 0xaf }, +{ 0x00, 0xb0, 0xb0 }, +{ 0x00, 0xb1, 0xb1 }, +{ 0x00, 0xb2, 0xb2 }, +{ 0x00, 0xb3, 0xb3 }, +{ 0x00, 0xb4, 0xb4 }, +{ 0x00, 0xb5, 0xb5 }, +{ 0x00, 0xb6, 0xb6 }, +{ 0x00, 0xb7, 0xb7 }, +{ 0x00, 0xb8, 0xb8 }, +{ 0x00, 0xb9, 0xb9 }, +{ 0x00, 0xba, 0xba }, +{ 0x00, 0xbb, 0xbb }, +{ 0x00, 0xbc, 0xbc }, +{ 0x00, 0xbd, 0xbd }, +{ 0x00, 0xbe, 0xbe }, +{ 0x00, 0xbf, 0xbf }, +{ 0x00, 0xc0, 0xc0 }, +{ 0x00, 0xc1, 0xc1 }, +{ 0x00, 0xc2, 0xc2 }, +{ 0x00, 0xc3, 0xc3 }, +{ 0x00, 0xc4, 0xc4 }, +{ 0x00, 0xc5, 0xc5 }, +{ 0x00, 0xc6, 0xc6 }, +{ 0x00, 0xc7, 0xc7 }, +{ 0x00, 0xc8, 0xc8 }, +{ 0x00, 0xc9, 0xc9 }, +{ 0x00, 0xca, 0xca }, +{ 0x00, 0xcb, 0xcb }, +{ 0x00, 0xcc, 0xcc }, +{ 0x00, 0xcd, 0xcd }, +{ 0x00, 0xce, 0xce }, +{ 0x00, 0xcf, 0xcf }, +{ 0x00, 0xd0, 0xd0 }, +{ 0x00, 0xd1, 0xd1 }, +{ 0x00, 0xd2, 0xd2 }, +{ 0x00, 0xd3, 0xd3 }, +{ 0x00, 0xd4, 0xd4 }, +{ 0x00, 0xd5, 0xd5 }, +{ 0x00, 0xd6, 0xd6 }, +{ 0x00, 0xd7, 0xd7 }, +{ 0x00, 0xd8, 0xd8 }, +{ 0x00, 0xd9, 0xd9 }, +{ 0x00, 0xda, 0xda }, +{ 0x00, 0xdb, 0xdb }, +{ 0x00, 0xdc, 0xdc }, +{ 0x00, 0xdd, 0xdd }, +{ 0x00, 0xde, 0xde }, +{ 0x00, 0xdf, 0xdf }, +{ 0x00, 0xe0, 0xe0 }, +{ 0x00, 0xe1, 0xe1 }, +{ 0x00, 0xe2, 0xe2 }, +{ 0x00, 0xe3, 0xe3 }, +{ 0x00, 0xe4, 0xe4 }, +{ 0x00, 0xe5, 0xe5 }, +{ 0x00, 0xe6, 0xe6 }, +{ 0x00, 0xe7, 0xe7 }, +{ 0x00, 0xe8, 0xe8 }, +{ 0x00, 0xe9, 0xe9 }, +{ 0x00, 0xea, 0xea }, +{ 0x00, 0xeb, 0xeb }, +{ 0x00, 0xec, 0xec }, +{ 0x00, 0xed, 0xed }, +{ 0x00, 0xee, 0xee }, +{ 0x00, 0xef, 0xef }, +{ 0x00, 0xf0, 0xf0 }, +{ 0x00, 0xf1, 0xf1 }, +{ 0x00, 0xf2, 0xf2 }, +{ 0x00, 0xf3, 0xf3 }, +{ 0x00, 0xf4, 0xf4 }, +{ 0x00, 0xf5, 0xf5 }, +{ 0x00, 0xf6, 0xf6 }, +{ 0x00, 0xf7, 0xf7 }, +{ 0x00, 0xf8, 0xf8 }, +{ 0x00, 0xf9, 0xf9 }, +{ 0x00, 0xfa, 0xfa }, +{ 0x00, 0xfb, 0xfb }, +{ 0x00, 0xfc, 0xfc }, +{ 0x00, 0xfd, 0xfd }, +{ 0x00, 0xfe, 0xfe }, +{ 0x00, 0xff, 0xff }, +}; + +struct cs_info iso7_tbl[] = { +{ 0x00, 0x00, 0x00 }, +{ 0x00, 0x01, 0x01 }, +{ 0x00, 0x02, 0x02 }, +{ 0x00, 0x03, 0x03 }, +{ 0x00, 0x04, 0x04 }, +{ 0x00, 0x05, 0x05 }, +{ 0x00, 0x06, 0x06 }, +{ 0x00, 0x07, 0x07 }, +{ 0x00, 0x08, 0x08 }, +{ 0x00, 0x09, 0x09 }, +{ 0x00, 0x0a, 0x0a }, +{ 0x00, 0x0b, 0x0b }, +{ 0x00, 0x0c, 0x0c }, +{ 0x00, 0x0d, 0x0d }, +{ 0x00, 0x0e, 0x0e }, +{ 0x00, 0x0f, 0x0f }, +{ 0x00, 0x10, 0x10 }, +{ 0x00, 0x11, 0x11 }, +{ 0x00, 0x12, 0x12 }, +{ 0x00, 0x13, 0x13 }, +{ 0x00, 0x14, 0x14 }, +{ 0x00, 0x15, 0x15 }, +{ 0x00, 0x16, 0x16 }, +{ 0x00, 0x17, 0x17 }, +{ 0x00, 0x18, 0x18 }, +{ 0x00, 0x19, 0x19 }, +{ 0x00, 0x1a, 0x1a }, +{ 0x00, 0x1b, 0x1b }, +{ 0x00, 0x1c, 0x1c }, +{ 0x00, 0x1d, 0x1d }, +{ 0x00, 0x1e, 0x1e }, +{ 0x00, 0x1f, 0x1f }, +{ 0x00, 0x20, 0x20 }, +{ 0x00, 0x21, 0x21 }, +{ 0x00, 0x22, 0x22 }, +{ 0x00, 0x23, 0x23 }, +{ 0x00, 0x24, 0x24 }, +{ 0x00, 0x25, 0x25 }, +{ 0x00, 0x26, 0x26 }, +{ 0x00, 0x27, 0x27 }, +{ 0x00, 0x28, 0x28 }, +{ 0x00, 0x29, 0x29 }, +{ 0x00, 0x2a, 0x2a }, +{ 0x00, 0x2b, 0x2b }, +{ 0x00, 0x2c, 0x2c }, +{ 0x00, 0x2d, 0x2d }, +{ 0x00, 0x2e, 0x2e }, +{ 0x00, 0x2f, 0x2f }, +{ 0x00, 0x30, 0x30 }, +{ 0x00, 0x31, 0x31 }, +{ 0x00, 0x32, 0x32 }, +{ 0x00, 0x33, 0x33 }, +{ 0x00, 0x34, 0x34 }, +{ 0x00, 0x35, 0x35 }, +{ 0x00, 0x36, 0x36 }, +{ 0x00, 0x37, 0x37 }, +{ 0x00, 0x38, 0x38 }, +{ 0x00, 0x39, 0x39 }, +{ 0x00, 0x3a, 0x3a }, +{ 0x00, 0x3b, 0x3b }, +{ 0x00, 0x3c, 0x3c }, +{ 0x00, 0x3d, 0x3d }, +{ 0x00, 0x3e, 0x3e }, +{ 0x00, 0x3f, 0x3f }, +{ 0x00, 0x40, 0x40 }, +{ 0x01, 0x61, 0x41 }, +{ 0x01, 0x62, 0x42 }, +{ 0x01, 0x63, 0x43 }, +{ 0x01, 0x64, 0x44 }, +{ 0x01, 0x65, 0x45 }, +{ 0x01, 0x66, 0x46 }, +{ 0x01, 0x67, 0x47 }, +{ 0x01, 0x68, 0x48 }, +{ 0x01, 0x69, 0x49 }, +{ 0x01, 0x6a, 0x4a }, +{ 0x01, 0x6b, 0x4b }, +{ 0x01, 0x6c, 0x4c }, +{ 0x01, 0x6d, 0x4d }, +{ 0x01, 0x6e, 0x4e }, +{ 0x01, 0x6f, 0x4f }, +{ 0x01, 0x70, 0x50 }, +{ 0x01, 0x71, 0x51 }, +{ 0x01, 0x72, 0x52 }, +{ 0x01, 0x73, 0x53 }, +{ 0x01, 0x74, 0x54 }, +{ 0x01, 0x75, 0x55 }, +{ 0x01, 0x76, 0x56 }, +{ 0x01, 0x77, 0x57 }, +{ 0x01, 0x78, 0x58 }, +{ 0x01, 0x79, 0x59 }, +{ 0x01, 0x7a, 0x5a }, +{ 0x00, 0x5b, 0x5b }, +{ 0x00, 0x5c, 0x5c }, +{ 0x00, 0x5d, 0x5d }, +{ 0x00, 0x5e, 0x5e }, +{ 0x00, 0x5f, 0x5f }, +{ 0x00, 0x60, 0x60 }, +{ 0x00, 0x61, 0x41 }, +{ 0x00, 0x62, 0x42 }, +{ 0x00, 0x63, 0x43 }, +{ 0x00, 0x64, 0x44 }, +{ 0x00, 0x65, 0x45 }, +{ 0x00, 0x66, 0x46 }, +{ 0x00, 0x67, 0x47 }, +{ 0x00, 0x68, 0x48 }, +{ 0x00, 0x69, 0x49 }, +{ 0x00, 0x6a, 0x4a }, +{ 0x00, 0x6b, 0x4b }, +{ 0x00, 0x6c, 0x4c }, +{ 0x00, 0x6d, 0x4d }, +{ 0x00, 0x6e, 0x4e }, +{ 0x00, 0x6f, 0x4f }, +{ 0x00, 0x70, 0x50 }, +{ 0x00, 0x71, 0x51 }, +{ 0x00, 0x72, 0x52 }, +{ 0x00, 0x73, 0x53 }, +{ 0x00, 0x74, 0x54 }, +{ 0x00, 0x75, 0x55 }, +{ 0x00, 0x76, 0x56 }, +{ 0x00, 0x77, 0x57 }, +{ 0x00, 0x78, 0x58 }, +{ 0x00, 0x79, 0x59 }, +{ 0x00, 0x7a, 0x5a }, +{ 0x00, 0x7b, 0x7b }, +{ 0x00, 0x7c, 0x7c }, +{ 0x00, 0x7d, 0x7d }, +{ 0x00, 0x7e, 0x7e }, +{ 0x00, 0x7f, 0x7f }, +{ 0x00, 0x80, 0x80 }, +{ 0x00, 0x81, 0x81 }, +{ 0x00, 0x82, 0x82 }, +{ 0x00, 0x83, 0x83 }, +{ 0x00, 0x84, 0x84 }, +{ 0x00, 0x85, 0x85 }, +{ 0x00, 0x86, 0x86 }, +{ 0x00, 0x87, 0x87 }, +{ 0x00, 0x88, 0x88 }, +{ 0x00, 0x89, 0x89 }, +{ 0x00, 0x8a, 0x8a }, +{ 0x00, 0x8b, 0x8b }, +{ 0x00, 0x8c, 0x8c }, +{ 0x00, 0x8d, 0x8d }, +{ 0x00, 0x8e, 0x8e }, +{ 0x00, 0x8f, 0x8f }, +{ 0x00, 0x90, 0x90 }, +{ 0x00, 0x91, 0x91 }, +{ 0x00, 0x92, 0x92 }, +{ 0x00, 0x93, 0x93 }, +{ 0x00, 0x94, 0x94 }, +{ 0x00, 0x95, 0x95 }, +{ 0x00, 0x96, 0x96 }, +{ 0x00, 0x97, 0x97 }, +{ 0x00, 0x98, 0x98 }, +{ 0x00, 0x99, 0x99 }, +{ 0x00, 0x9a, 0x9a }, +{ 0x00, 0x9b, 0x9b }, +{ 0x00, 0x9c, 0x9c }, +{ 0x00, 0x9d, 0x9d }, +{ 0x00, 0x9e, 0x9e }, +{ 0x00, 0x9f, 0x9f }, +{ 0x00, 0xa0, 0xa0 }, +{ 0x00, 0xa1, 0xa1 }, +{ 0x00, 0xa2, 0xa2 }, +{ 0x00, 0xa3, 0xa3 }, +{ 0x00, 0xa4, 0xa4 }, +{ 0x00, 0xa5, 0xa5 }, +{ 0x00, 0xa6, 0xa6 }, +{ 0x00, 0xa7, 0xa7 }, +{ 0x00, 0xa8, 0xa8 }, +{ 0x00, 0xa9, 0xa9 }, +{ 0x00, 0xaa, 0xaa }, +{ 0x00, 0xab, 0xab }, +{ 0x00, 0xac, 0xac }, +{ 0x00, 0xad, 0xad }, +{ 0x00, 0xae, 0xae }, +{ 0x00, 0xaf, 0xaf }, +{ 0x00, 0xb0, 0xb0 }, +{ 0x00, 0xb1, 0xb1 }, +{ 0x00, 0xb2, 0xb2 }, +{ 0x00, 0xb3, 0xb3 }, +{ 0x00, 0xb4, 0xb4 }, +{ 0x00, 0xb5, 0xb5 }, +{ 0x01, 0xdc, 0xb6 }, +{ 0x00, 0xb7, 0xb7 }, +{ 0x01, 0xdd, 0xb8 }, +{ 0x01, 0xde, 0xb9 }, +{ 0x01, 0xdf, 0xba }, +{ 0x00, 0xbb, 0xbb }, +{ 0x01, 0xfc, 0xbc }, +{ 0x00, 0xbd, 0xbd }, +{ 0x01, 0xfd, 0xbe }, +{ 0x01, 0xfe, 0xbf }, +{ 0x00, 0xc0, 0xc0 }, +{ 0x01, 0xe1, 0xc1 }, +{ 0x01, 0xe2, 0xc2 }, +{ 0x01, 0xe3, 0xc3 }, +{ 0x01, 0xe4, 0xc4 }, +{ 0x01, 0xe5, 0xc5 }, +{ 0x01, 0xe6, 0xc6 }, +{ 0x01, 0xe7, 0xc7 }, +{ 0x01, 0xe8, 0xc8 }, +{ 0x01, 0xe9, 0xc9 }, +{ 0x01, 0xea, 0xca }, +{ 0x01, 0xeb, 0xcb }, +{ 0x01, 0xec, 0xcc }, +{ 0x01, 0xed, 0xcd }, +{ 0x01, 0xee, 0xce }, +{ 0x01, 0xef, 0xcf }, +{ 0x01, 0xf0, 0xd0 }, +{ 0x01, 0xf1, 0xd1 }, +{ 0x00, 0xd2, 0xd2 }, +{ 0x01, 0xf3, 0xd3 }, +{ 0x01, 0xf4, 0xd4 }, +{ 0x01, 0xf5, 0xd5 }, +{ 0x01, 0xf6, 0xd6 }, +{ 0x01, 0xf7, 0xd7 }, +{ 0x01, 0xf8, 0xd8 }, +{ 0x01, 0xf9, 0xd9 }, +{ 0x01, 0xfa, 0xda }, +{ 0x01, 0xfb, 0xdb }, +{ 0x00, 0xdc, 0xb6 }, +{ 0x00, 0xdd, 0xb8 }, +{ 0x00, 0xde, 0xb9 }, +{ 0x00, 0xdf, 0xba }, +{ 0x00, 0xe0, 0xe0 }, +{ 0x00, 0xe1, 0xc1 }, +{ 0x00, 0xe2, 0xc2 }, +{ 0x00, 0xe3, 0xc3 }, +{ 0x00, 0xe4, 0xc4 }, +{ 0x00, 0xe5, 0xc5 }, +{ 0x00, 0xe6, 0xc6 }, +{ 0x00, 0xe7, 0xc7 }, +{ 0x00, 0xe8, 0xc8 }, +{ 0x00, 0xe9, 0xc9 }, +{ 0x00, 0xea, 0xca }, +{ 0x00, 0xeb, 0xcb }, +{ 0x00, 0xec, 0xcc }, +{ 0x00, 0xed, 0xcd }, +{ 0x00, 0xee, 0xce }, +{ 0x00, 0xef, 0xcf }, +{ 0x00, 0xf0, 0xd0 }, +{ 0x00, 0xf1, 0xd1 }, +{ 0x00, 0xf2, 0xd3 }, +{ 0x00, 0xf3, 0xd3 }, +{ 0x00, 0xf4, 0xd4 }, +{ 0x00, 0xf5, 0xd5 }, +{ 0x00, 0xf6, 0xd6 }, +{ 0x00, 0xf7, 0xd7 }, +{ 0x00, 0xf8, 0xd8 }, +{ 0x00, 0xf9, 0xd9 }, +{ 0x00, 0xfa, 0xda }, +{ 0x00, 0xfb, 0xdb }, +{ 0x00, 0xfc, 0xbc }, +{ 0x00, 0xfd, 0xbe }, +{ 0x00, 0xfe, 0xbf }, +{ 0x00, 0xff, 0xff }, +}; + +struct cs_info iso8_tbl[] = { +{ 0x00, 0x00, 0x00 }, +{ 0x00, 0x01, 0x01 }, +{ 0x00, 0x02, 0x02 }, +{ 0x00, 0x03, 0x03 }, +{ 0x00, 0x04, 0x04 }, +{ 0x00, 0x05, 0x05 }, +{ 0x00, 0x06, 0x06 }, +{ 0x00, 0x07, 0x07 }, +{ 0x00, 0x08, 0x08 }, +{ 0x00, 0x09, 0x09 }, +{ 0x00, 0x0a, 0x0a }, +{ 0x00, 0x0b, 0x0b }, +{ 0x00, 0x0c, 0x0c }, +{ 0x00, 0x0d, 0x0d }, +{ 0x00, 0x0e, 0x0e }, +{ 0x00, 0x0f, 0x0f }, +{ 0x00, 0x10, 0x10 }, +{ 0x00, 0x11, 0x11 }, +{ 0x00, 0x12, 0x12 }, +{ 0x00, 0x13, 0x13 }, +{ 0x00, 0x14, 0x14 }, +{ 0x00, 0x15, 0x15 }, +{ 0x00, 0x16, 0x16 }, +{ 0x00, 0x17, 0x17 }, +{ 0x00, 0x18, 0x18 }, +{ 0x00, 0x19, 0x19 }, +{ 0x00, 0x1a, 0x1a }, +{ 0x00, 0x1b, 0x1b }, +{ 0x00, 0x1c, 0x1c }, +{ 0x00, 0x1d, 0x1d }, +{ 0x00, 0x1e, 0x1e }, +{ 0x00, 0x1f, 0x1f }, +{ 0x00, 0x20, 0x20 }, +{ 0x00, 0x21, 0x21 }, +{ 0x00, 0x22, 0x22 }, +{ 0x00, 0x23, 0x23 }, +{ 0x00, 0x24, 0x24 }, +{ 0x00, 0x25, 0x25 }, +{ 0x00, 0x26, 0x26 }, +{ 0x00, 0x27, 0x27 }, +{ 0x00, 0x28, 0x28 }, +{ 0x00, 0x29, 0x29 }, +{ 0x00, 0x2a, 0x2a }, +{ 0x00, 0x2b, 0x2b }, +{ 0x00, 0x2c, 0x2c }, +{ 0x00, 0x2d, 0x2d }, +{ 0x00, 0x2e, 0x2e }, +{ 0x00, 0x2f, 0x2f }, +{ 0x00, 0x30, 0x30 }, +{ 0x00, 0x31, 0x31 }, +{ 0x00, 0x32, 0x32 }, +{ 0x00, 0x33, 0x33 }, +{ 0x00, 0x34, 0x34 }, +{ 0x00, 0x35, 0x35 }, +{ 0x00, 0x36, 0x36 }, +{ 0x00, 0x37, 0x37 }, +{ 0x00, 0x38, 0x38 }, +{ 0x00, 0x39, 0x39 }, +{ 0x00, 0x3a, 0x3a }, +{ 0x00, 0x3b, 0x3b }, +{ 0x00, 0x3c, 0x3c }, +{ 0x00, 0x3d, 0x3d }, +{ 0x00, 0x3e, 0x3e }, +{ 0x00, 0x3f, 0x3f }, +{ 0x00, 0x40, 0x40 }, +{ 0x01, 0x61, 0x41 }, +{ 0x01, 0x62, 0x42 }, +{ 0x01, 0x63, 0x43 }, +{ 0x01, 0x64, 0x44 }, +{ 0x01, 0x65, 0x45 }, +{ 0x01, 0x66, 0x46 }, +{ 0x01, 0x67, 0x47 }, +{ 0x01, 0x68, 0x48 }, +{ 0x01, 0x69, 0x49 }, +{ 0x01, 0x6a, 0x4a }, +{ 0x01, 0x6b, 0x4b }, +{ 0x01, 0x6c, 0x4c }, +{ 0x01, 0x6d, 0x4d }, +{ 0x01, 0x6e, 0x4e }, +{ 0x01, 0x6f, 0x4f }, +{ 0x01, 0x70, 0x50 }, +{ 0x01, 0x71, 0x51 }, +{ 0x01, 0x72, 0x52 }, +{ 0x01, 0x73, 0x53 }, +{ 0x01, 0x74, 0x54 }, +{ 0x01, 0x75, 0x55 }, +{ 0x01, 0x76, 0x56 }, +{ 0x01, 0x77, 0x57 }, +{ 0x01, 0x78, 0x58 }, +{ 0x01, 0x79, 0x59 }, +{ 0x01, 0x7a, 0x5a }, +{ 0x00, 0x5b, 0x5b }, +{ 0x00, 0x5c, 0x5c }, +{ 0x00, 0x5d, 0x5d }, +{ 0x00, 0x5e, 0x5e }, +{ 0x00, 0x5f, 0x5f }, +{ 0x00, 0x60, 0x60 }, +{ 0x00, 0x61, 0x41 }, +{ 0x00, 0x62, 0x42 }, +{ 0x00, 0x63, 0x43 }, +{ 0x00, 0x64, 0x44 }, +{ 0x00, 0x65, 0x45 }, +{ 0x00, 0x66, 0x46 }, +{ 0x00, 0x67, 0x47 }, +{ 0x00, 0x68, 0x48 }, +{ 0x00, 0x69, 0x49 }, +{ 0x00, 0x6a, 0x4a }, +{ 0x00, 0x6b, 0x4b }, +{ 0x00, 0x6c, 0x4c }, +{ 0x00, 0x6d, 0x4d }, +{ 0x00, 0x6e, 0x4e }, +{ 0x00, 0x6f, 0x4f }, +{ 0x00, 0x70, 0x50 }, +{ 0x00, 0x71, 0x51 }, +{ 0x00, 0x72, 0x52 }, +{ 0x00, 0x73, 0x53 }, +{ 0x00, 0x74, 0x54 }, +{ 0x00, 0x75, 0x55 }, +{ 0x00, 0x76, 0x56 }, +{ 0x00, 0x77, 0x57 }, +{ 0x00, 0x78, 0x58 }, +{ 0x00, 0x79, 0x59 }, +{ 0x00, 0x7a, 0x5a }, +{ 0x00, 0x7b, 0x7b }, +{ 0x00, 0x7c, 0x7c }, +{ 0x00, 0x7d, 0x7d }, +{ 0x00, 0x7e, 0x7e }, +{ 0x00, 0x7f, 0x7f }, +{ 0x00, 0x80, 0x80 }, +{ 0x00, 0x81, 0x81 }, +{ 0x00, 0x82, 0x82 }, +{ 0x00, 0x83, 0x83 }, +{ 0x00, 0x84, 0x84 }, +{ 0x00, 0x85, 0x85 }, +{ 0x00, 0x86, 0x86 }, +{ 0x00, 0x87, 0x87 }, +{ 0x00, 0x88, 0x88 }, +{ 0x00, 0x89, 0x89 }, +{ 0x00, 0x8a, 0x8a }, +{ 0x00, 0x8b, 0x8b }, +{ 0x00, 0x8c, 0x8c }, +{ 0x00, 0x8d, 0x8d }, +{ 0x00, 0x8e, 0x8e }, +{ 0x00, 0x8f, 0x8f }, +{ 0x00, 0x90, 0x90 }, +{ 0x00, 0x91, 0x91 }, +{ 0x00, 0x92, 0x92 }, +{ 0x00, 0x93, 0x93 }, +{ 0x00, 0x94, 0x94 }, +{ 0x00, 0x95, 0x95 }, +{ 0x00, 0x96, 0x96 }, +{ 0x00, 0x97, 0x97 }, +{ 0x00, 0x98, 0x98 }, +{ 0x00, 0x99, 0x99 }, +{ 0x00, 0x9a, 0x9a }, +{ 0x00, 0x9b, 0x9b }, +{ 0x00, 0x9c, 0x9c }, +{ 0x00, 0x9d, 0x9d }, +{ 0x00, 0x9e, 0x9e }, +{ 0x00, 0x9f, 0x9f }, +{ 0x00, 0xa0, 0xa0 }, +{ 0x00, 0xa1, 0xa1 }, +{ 0x00, 0xa2, 0xa2 }, +{ 0x00, 0xa3, 0xa3 }, +{ 0x00, 0xa4, 0xa4 }, +{ 0x00, 0xa5, 0xa5 }, +{ 0x00, 0xa6, 0xa6 }, +{ 0x00, 0xa7, 0xa7 }, +{ 0x00, 0xa8, 0xa8 }, +{ 0x00, 0xa9, 0xa9 }, +{ 0x00, 0xaa, 0xaa }, +{ 0x00, 0xab, 0xab }, +{ 0x00, 0xac, 0xac }, +{ 0x00, 0xad, 0xad }, +{ 0x00, 0xae, 0xae }, +{ 0x00, 0xaf, 0xaf }, +{ 0x00, 0xb0, 0xb0 }, +{ 0x00, 0xb1, 0xb1 }, +{ 0x00, 0xb2, 0xb2 }, +{ 0x00, 0xb3, 0xb3 }, +{ 0x00, 0xb4, 0xb4 }, +{ 0x00, 0xb5, 0xb5 }, +{ 0x00, 0xb6, 0xb6 }, +{ 0x00, 0xb7, 0xb7 }, +{ 0x00, 0xb8, 0xb8 }, +{ 0x00, 0xb9, 0xb9 }, +{ 0x00, 0xba, 0xba }, +{ 0x00, 0xbb, 0xbb }, +{ 0x00, 0xbc, 0xbc }, +{ 0x00, 0xbd, 0xbd }, +{ 0x00, 0xbe, 0xbe }, +{ 0x00, 0xbf, 0xbf }, +{ 0x00, 0xc0, 0xc0 }, +{ 0x00, 0xc1, 0xc1 }, +{ 0x00, 0xc2, 0xc2 }, +{ 0x00, 0xc3, 0xc3 }, +{ 0x00, 0xc4, 0xc4 }, +{ 0x00, 0xc5, 0xc5 }, +{ 0x00, 0xc6, 0xc6 }, +{ 0x00, 0xc7, 0xc7 }, +{ 0x00, 0xc8, 0xc8 }, +{ 0x00, 0xc9, 0xc9 }, +{ 0x00, 0xca, 0xca }, +{ 0x00, 0xcb, 0xcb }, +{ 0x00, 0xcc, 0xcc }, +{ 0x00, 0xcd, 0xcd }, +{ 0x00, 0xce, 0xce }, +{ 0x00, 0xcf, 0xcf }, +{ 0x00, 0xd0, 0xd0 }, +{ 0x00, 0xd1, 0xd1 }, +{ 0x00, 0xd2, 0xd2 }, +{ 0x00, 0xd3, 0xd3 }, +{ 0x00, 0xd4, 0xd4 }, +{ 0x00, 0xd5, 0xd5 }, +{ 0x00, 0xd6, 0xd6 }, +{ 0x00, 0xd7, 0xd7 }, +{ 0x00, 0xd8, 0xd8 }, +{ 0x00, 0xd9, 0xd9 }, +{ 0x00, 0xda, 0xda }, +{ 0x00, 0xdb, 0xdb }, +{ 0x00, 0xdc, 0xdc }, +{ 0x00, 0xdd, 0xdd }, +{ 0x00, 0xde, 0xde }, +{ 0x00, 0xdf, 0xdf }, +{ 0x00, 0xe0, 0xe0 }, +{ 0x00, 0xe1, 0xe1 }, +{ 0x00, 0xe2, 0xe2 }, +{ 0x00, 0xe3, 0xe3 }, +{ 0x00, 0xe4, 0xe4 }, +{ 0x00, 0xe5, 0xe5 }, +{ 0x00, 0xe6, 0xe6 }, +{ 0x00, 0xe7, 0xe7 }, +{ 0x00, 0xe8, 0xe8 }, +{ 0x00, 0xe9, 0xe9 }, +{ 0x00, 0xea, 0xea }, +{ 0x00, 0xeb, 0xeb }, +{ 0x00, 0xec, 0xec }, +{ 0x00, 0xed, 0xed }, +{ 0x00, 0xee, 0xee }, +{ 0x00, 0xef, 0xef }, +{ 0x00, 0xf0, 0xf0 }, +{ 0x00, 0xf1, 0xf1 }, +{ 0x00, 0xf2, 0xf2 }, +{ 0x00, 0xf3, 0xf3 }, +{ 0x00, 0xf4, 0xf4 }, +{ 0x00, 0xf5, 0xf5 }, +{ 0x00, 0xf6, 0xf6 }, +{ 0x00, 0xf7, 0xf7 }, +{ 0x00, 0xf8, 0xf8 }, +{ 0x00, 0xf9, 0xf9 }, +{ 0x00, 0xfa, 0xfa }, +{ 0x00, 0xfb, 0xfb }, +{ 0x00, 0xfc, 0xfc }, +{ 0x00, 0xfd, 0xfd }, +{ 0x00, 0xfe, 0xfe }, +{ 0x00, 0xff, 0xff }, +}; + +struct cs_info iso9_tbl[] = { +{ 0x00, 0x00, 0x00 }, +{ 0x00, 0x01, 0x01 }, +{ 0x00, 0x02, 0x02 }, +{ 0x00, 0x03, 0x03 }, +{ 0x00, 0x04, 0x04 }, +{ 0x00, 0x05, 0x05 }, +{ 0x00, 0x06, 0x06 }, +{ 0x00, 0x07, 0x07 }, +{ 0x00, 0x08, 0x08 }, +{ 0x00, 0x09, 0x09 }, +{ 0x00, 0x0a, 0x0a }, +{ 0x00, 0x0b, 0x0b }, +{ 0x00, 0x0c, 0x0c }, +{ 0x00, 0x0d, 0x0d }, +{ 0x00, 0x0e, 0x0e }, +{ 0x00, 0x0f, 0x0f }, +{ 0x00, 0x10, 0x10 }, +{ 0x00, 0x11, 0x11 }, +{ 0x00, 0x12, 0x12 }, +{ 0x00, 0x13, 0x13 }, +{ 0x00, 0x14, 0x14 }, +{ 0x00, 0x15, 0x15 }, +{ 0x00, 0x16, 0x16 }, +{ 0x00, 0x17, 0x17 }, +{ 0x00, 0x18, 0x18 }, +{ 0x00, 0x19, 0x19 }, +{ 0x00, 0x1a, 0x1a }, +{ 0x00, 0x1b, 0x1b }, +{ 0x00, 0x1c, 0x1c }, +{ 0x00, 0x1d, 0x1d }, +{ 0x00, 0x1e, 0x1e }, +{ 0x00, 0x1f, 0x1f }, +{ 0x00, 0x20, 0x20 }, +{ 0x00, 0x21, 0x21 }, +{ 0x00, 0x22, 0x22 }, +{ 0x00, 0x23, 0x23 }, +{ 0x00, 0x24, 0x24 }, +{ 0x00, 0x25, 0x25 }, +{ 0x00, 0x26, 0x26 }, +{ 0x00, 0x27, 0x27 }, +{ 0x00, 0x28, 0x28 }, +{ 0x00, 0x29, 0x29 }, +{ 0x00, 0x2a, 0x2a }, +{ 0x00, 0x2b, 0x2b }, +{ 0x00, 0x2c, 0x2c }, +{ 0x00, 0x2d, 0x2d }, +{ 0x00, 0x2e, 0x2e }, +{ 0x00, 0x2f, 0x2f }, +{ 0x00, 0x30, 0x30 }, +{ 0x00, 0x31, 0x31 }, +{ 0x00, 0x32, 0x32 }, +{ 0x00, 0x33, 0x33 }, +{ 0x00, 0x34, 0x34 }, +{ 0x00, 0x35, 0x35 }, +{ 0x00, 0x36, 0x36 }, +{ 0x00, 0x37, 0x37 }, +{ 0x00, 0x38, 0x38 }, +{ 0x00, 0x39, 0x39 }, +{ 0x00, 0x3a, 0x3a }, +{ 0x00, 0x3b, 0x3b }, +{ 0x00, 0x3c, 0x3c }, +{ 0x00, 0x3d, 0x3d }, +{ 0x00, 0x3e, 0x3e }, +{ 0x00, 0x3f, 0x3f }, +{ 0x00, 0x40, 0x40 }, +{ 0x01, 0x61, 0x41 }, +{ 0x01, 0x62, 0x42 }, +{ 0x01, 0x63, 0x43 }, +{ 0x01, 0x64, 0x44 }, +{ 0x01, 0x65, 0x45 }, +{ 0x01, 0x66, 0x46 }, +{ 0x01, 0x67, 0x47 }, +{ 0x01, 0x68, 0x48 }, +{ 0x01, 0xfd, 0x49 }, +{ 0x01, 0x6a, 0x4a }, +{ 0x01, 0x6b, 0x4b }, +{ 0x01, 0x6c, 0x4c }, +{ 0x01, 0x6d, 0x4d }, +{ 0x01, 0x6e, 0x4e }, +{ 0x01, 0x6f, 0x4f }, +{ 0x01, 0x70, 0x50 }, +{ 0x01, 0x71, 0x51 }, +{ 0x01, 0x72, 0x52 }, +{ 0x01, 0x73, 0x53 }, +{ 0x01, 0x74, 0x54 }, +{ 0x01, 0x75, 0x55 }, +{ 0x01, 0x76, 0x56 }, +{ 0x01, 0x77, 0x57 }, +{ 0x01, 0x78, 0x58 }, +{ 0x01, 0x79, 0x59 }, +{ 0x01, 0x7a, 0x5a }, +{ 0x00, 0x5b, 0x5b }, +{ 0x00, 0x5c, 0x5c }, +{ 0x00, 0x5d, 0x5d }, +{ 0x00, 0x5e, 0x5e }, +{ 0x00, 0x5f, 0x5f }, +{ 0x00, 0x60, 0x60 }, +{ 0x00, 0x61, 0x41 }, +{ 0x00, 0x62, 0x42 }, +{ 0x00, 0x63, 0x43 }, +{ 0x00, 0x64, 0x44 }, +{ 0x00, 0x65, 0x45 }, +{ 0x00, 0x66, 0x46 }, +{ 0x00, 0x67, 0x47 }, +{ 0x00, 0x68, 0x48 }, +{ 0x00, 0x69, 0xdd }, +{ 0x00, 0x6a, 0x4a }, +{ 0x00, 0x6b, 0x4b }, +{ 0x00, 0x6c, 0x4c }, +{ 0x00, 0x6d, 0x4d }, +{ 0x00, 0x6e, 0x4e }, +{ 0x00, 0x6f, 0x4f }, +{ 0x00, 0x70, 0x50 }, +{ 0x00, 0x71, 0x51 }, +{ 0x00, 0x72, 0x52 }, +{ 0x00, 0x73, 0x53 }, +{ 0x00, 0x74, 0x54 }, +{ 0x00, 0x75, 0x55 }, +{ 0x00, 0x76, 0x56 }, +{ 0x00, 0x77, 0x57 }, +{ 0x00, 0x78, 0x58 }, +{ 0x00, 0x79, 0x59 }, +{ 0x00, 0x7a, 0x5a }, +{ 0x00, 0x7b, 0x7b }, +{ 0x00, 0x7c, 0x7c }, +{ 0x00, 0x7d, 0x7d }, +{ 0x00, 0x7e, 0x7e }, +{ 0x00, 0x7f, 0x7f }, +{ 0x00, 0x80, 0x80 }, +{ 0x00, 0x81, 0x81 }, +{ 0x00, 0x82, 0x82 }, +{ 0x00, 0x83, 0x83 }, +{ 0x00, 0x84, 0x84 }, +{ 0x00, 0x85, 0x85 }, +{ 0x00, 0x86, 0x86 }, +{ 0x00, 0x87, 0x87 }, +{ 0x00, 0x88, 0x88 }, +{ 0x00, 0x89, 0x89 }, +{ 0x00, 0x8a, 0x8a }, +{ 0x00, 0x8b, 0x8b }, +{ 0x00, 0x8c, 0x8c }, +{ 0x00, 0x8d, 0x8d }, +{ 0x00, 0x8e, 0x8e }, +{ 0x00, 0x8f, 0x8f }, +{ 0x00, 0x90, 0x90 }, +{ 0x00, 0x91, 0x91 }, +{ 0x00, 0x92, 0x92 }, +{ 0x00, 0x93, 0x93 }, +{ 0x00, 0x94, 0x94 }, +{ 0x00, 0x95, 0x95 }, +{ 0x00, 0x96, 0x96 }, +{ 0x00, 0x97, 0x97 }, +{ 0x00, 0x98, 0x98 }, +{ 0x00, 0x99, 0x99 }, +{ 0x00, 0x9a, 0x9a }, +{ 0x00, 0x9b, 0x9b }, +{ 0x00, 0x9c, 0x9c }, +{ 0x00, 0x9d, 0x9d }, +{ 0x00, 0x9e, 0x9e }, +{ 0x00, 0x9f, 0x9f }, +{ 0x00, 0xa0, 0xa0 }, +{ 0x00, 0xa1, 0xa1 }, +{ 0x00, 0xa2, 0xa2 }, +{ 0x00, 0xa3, 0xa3 }, +{ 0x00, 0xa4, 0xa4 }, +{ 0x00, 0xa5, 0xa5 }, +{ 0x00, 0xa6, 0xa6 }, +{ 0x00, 0xa7, 0xa7 }, +{ 0x00, 0xa8, 0xa8 }, +{ 0x00, 0xa9, 0xa9 }, +{ 0x00, 0xaa, 0xaa }, +{ 0x00, 0xab, 0xab }, +{ 0x00, 0xac, 0xac }, +{ 0x00, 0xad, 0xad }, +{ 0x00, 0xae, 0xae }, +{ 0x00, 0xaf, 0xaf }, +{ 0x00, 0xb0, 0xb0 }, +{ 0x00, 0xb1, 0xb1 }, +{ 0x00, 0xb2, 0xb2 }, +{ 0x00, 0xb3, 0xb3 }, +{ 0x00, 0xb4, 0xb4 }, +{ 0x00, 0xb5, 0xb5 }, +{ 0x00, 0xb6, 0xb6 }, +{ 0x00, 0xb7, 0xb7 }, +{ 0x00, 0xb8, 0xb8 }, +{ 0x00, 0xb9, 0xb9 }, +{ 0x00, 0xba, 0xba }, +{ 0x00, 0xbb, 0xbb }, +{ 0x00, 0xbc, 0xbc }, +{ 0x00, 0xbd, 0xbd }, +{ 0x00, 0xbe, 0xbe }, +{ 0x00, 0xbf, 0xbf }, +{ 0x01, 0xe0, 0xc0 }, +{ 0x01, 0xe1, 0xc1 }, +{ 0x01, 0xe2, 0xc2 }, +{ 0x01, 0xe3, 0xc3 }, +{ 0x01, 0xe4, 0xc4 }, +{ 0x01, 0xe5, 0xc5 }, +{ 0x01, 0xe6, 0xc6 }, +{ 0x01, 0xe7, 0xc7 }, +{ 0x01, 0xe8, 0xc8 }, +{ 0x01, 0xe9, 0xc9 }, +{ 0x01, 0xea, 0xca }, +{ 0x01, 0xeb, 0xcb }, +{ 0x01, 0xec, 0xcc }, +{ 0x01, 0xed, 0xcd }, +{ 0x01, 0xee, 0xce }, +{ 0x01, 0xef, 0xcf }, +{ 0x01, 0xf0, 0xd0 }, +{ 0x01, 0xf1, 0xd1 }, +{ 0x01, 0xf2, 0xd2 }, +{ 0x01, 0xf3, 0xd3 }, +{ 0x01, 0xf4, 0xd4 }, +{ 0x01, 0xf5, 0xd5 }, +{ 0x01, 0xf6, 0xd6 }, +{ 0x00, 0xd7, 0xd7 }, +{ 0x01, 0xf8, 0xd8 }, +{ 0x01, 0xf9, 0xd9 }, +{ 0x01, 0xfa, 0xda }, +{ 0x01, 0xfb, 0xdb }, +{ 0x01, 0xfc, 0xdc }, +{ 0x01, 0x69, 0xdd }, +{ 0x01, 0xfe, 0xde }, +{ 0x00, 0xdf, 0xdf }, +{ 0x00, 0xe0, 0xc0 }, +{ 0x00, 0xe1, 0xc1 }, +{ 0x00, 0xe2, 0xc2 }, +{ 0x00, 0xe3, 0xc3 }, +{ 0x00, 0xe4, 0xc4 }, +{ 0x00, 0xe5, 0xc5 }, +{ 0x00, 0xe6, 0xc6 }, +{ 0x00, 0xe7, 0xc7 }, +{ 0x00, 0xe8, 0xc8 }, +{ 0x00, 0xe9, 0xc9 }, +{ 0x00, 0xea, 0xca }, +{ 0x00, 0xeb, 0xcb }, +{ 0x00, 0xec, 0xcc }, +{ 0x00, 0xed, 0xcd }, +{ 0x00, 0xee, 0xce }, +{ 0x00, 0xef, 0xcf }, +{ 0x00, 0xf0, 0xd0 }, +{ 0x00, 0xf1, 0xd1 }, +{ 0x00, 0xf2, 0xd2 }, +{ 0x00, 0xf3, 0xd3 }, +{ 0x00, 0xf4, 0xd4 }, +{ 0x00, 0xf5, 0xd5 }, +{ 0x00, 0xf6, 0xd6 }, +{ 0x00, 0xf7, 0xf7 }, +{ 0x00, 0xf8, 0xd8 }, +{ 0x00, 0xf9, 0xd9 }, +{ 0x00, 0xfa, 0xda }, +{ 0x00, 0xfb, 0xdb }, +{ 0x00, 0xfc, 0xdc }, +{ 0x00, 0xfd, 0x49 }, +{ 0x00, 0xfe, 0xde }, +{ 0x00, 0xff, 0xff }, +}; + +struct cs_info iso10_tbl[] = { +{ 0x00, 0x00, 0x00 }, +{ 0x00, 0x01, 0x01 }, +{ 0x00, 0x02, 0x02 }, +{ 0x00, 0x03, 0x03 }, +{ 0x00, 0x04, 0x04 }, +{ 0x00, 0x05, 0x05 }, +{ 0x00, 0x06, 0x06 }, +{ 0x00, 0x07, 0x07 }, +{ 0x00, 0x08, 0x08 }, +{ 0x00, 0x09, 0x09 }, +{ 0x00, 0x0a, 0x0a }, +{ 0x00, 0x0b, 0x0b }, +{ 0x00, 0x0c, 0x0c }, +{ 0x00, 0x0d, 0x0d }, +{ 0x00, 0x0e, 0x0e }, +{ 0x00, 0x0f, 0x0f }, +{ 0x00, 0x10, 0x10 }, +{ 0x00, 0x11, 0x11 }, +{ 0x00, 0x12, 0x12 }, +{ 0x00, 0x13, 0x13 }, +{ 0x00, 0x14, 0x14 }, +{ 0x00, 0x15, 0x15 }, +{ 0x00, 0x16, 0x16 }, +{ 0x00, 0x17, 0x17 }, +{ 0x00, 0x18, 0x18 }, +{ 0x00, 0x19, 0x19 }, +{ 0x00, 0x1a, 0x1a }, +{ 0x00, 0x1b, 0x1b }, +{ 0x00, 0x1c, 0x1c }, +{ 0x00, 0x1d, 0x1d }, +{ 0x00, 0x1e, 0x1e }, +{ 0x00, 0x1f, 0x1f }, +{ 0x00, 0x20, 0x20 }, +{ 0x00, 0x21, 0x21 }, +{ 0x00, 0x22, 0x22 }, +{ 0x00, 0x23, 0x23 }, +{ 0x00, 0x24, 0x24 }, +{ 0x00, 0x25, 0x25 }, +{ 0x00, 0x26, 0x26 }, +{ 0x00, 0x27, 0x27 }, +{ 0x00, 0x28, 0x28 }, +{ 0x00, 0x29, 0x29 }, +{ 0x00, 0x2a, 0x2a }, +{ 0x00, 0x2b, 0x2b }, +{ 0x00, 0x2c, 0x2c }, +{ 0x00, 0x2d, 0x2d }, +{ 0x00, 0x2e, 0x2e }, +{ 0x00, 0x2f, 0x2f }, +{ 0x00, 0x30, 0x30 }, +{ 0x00, 0x31, 0x31 }, +{ 0x00, 0x32, 0x32 }, +{ 0x00, 0x33, 0x33 }, +{ 0x00, 0x34, 0x34 }, +{ 0x00, 0x35, 0x35 }, +{ 0x00, 0x36, 0x36 }, +{ 0x00, 0x37, 0x37 }, +{ 0x00, 0x38, 0x38 }, +{ 0x00, 0x39, 0x39 }, +{ 0x00, 0x3a, 0x3a }, +{ 0x00, 0x3b, 0x3b }, +{ 0x00, 0x3c, 0x3c }, +{ 0x00, 0x3d, 0x3d }, +{ 0x00, 0x3e, 0x3e }, +{ 0x00, 0x3f, 0x3f }, +{ 0x00, 0x40, 0x40 }, +{ 0x01, 0x61, 0x41 }, +{ 0x01, 0x62, 0x42 }, +{ 0x01, 0x63, 0x43 }, +{ 0x01, 0x64, 0x44 }, +{ 0x01, 0x65, 0x45 }, +{ 0x01, 0x66, 0x46 }, +{ 0x01, 0x67, 0x47 }, +{ 0x01, 0x68, 0x48 }, +{ 0x01, 0x69, 0x49 }, +{ 0x01, 0x6a, 0x4a }, +{ 0x01, 0x6b, 0x4b }, +{ 0x01, 0x6c, 0x4c }, +{ 0x01, 0x6d, 0x4d }, +{ 0x01, 0x6e, 0x4e }, +{ 0x01, 0x6f, 0x4f }, +{ 0x01, 0x70, 0x50 }, +{ 0x01, 0x71, 0x51 }, +{ 0x01, 0x72, 0x52 }, +{ 0x01, 0x73, 0x53 }, +{ 0x01, 0x74, 0x54 }, +{ 0x01, 0x75, 0x55 }, +{ 0x01, 0x76, 0x56 }, +{ 0x01, 0x77, 0x57 }, +{ 0x01, 0x78, 0x58 }, +{ 0x01, 0x79, 0x59 }, +{ 0x01, 0x7a, 0x5a }, +{ 0x00, 0x5b, 0x5b }, +{ 0x00, 0x5c, 0x5c }, +{ 0x00, 0x5d, 0x5d }, +{ 0x00, 0x5e, 0x5e }, +{ 0x00, 0x5f, 0x5f }, +{ 0x00, 0x60, 0x60 }, +{ 0x00, 0x61, 0x41 }, +{ 0x00, 0x62, 0x42 }, +{ 0x00, 0x63, 0x43 }, +{ 0x00, 0x64, 0x44 }, +{ 0x00, 0x65, 0x45 }, +{ 0x00, 0x66, 0x46 }, +{ 0x00, 0x67, 0x47 }, +{ 0x00, 0x68, 0x48 }, +{ 0x00, 0x69, 0x49 }, +{ 0x00, 0x6a, 0x4a }, +{ 0x00, 0x6b, 0x4b }, +{ 0x00, 0x6c, 0x4c }, +{ 0x00, 0x6d, 0x4d }, +{ 0x00, 0x6e, 0x4e }, +{ 0x00, 0x6f, 0x4f }, +{ 0x00, 0x70, 0x50 }, +{ 0x00, 0x71, 0x51 }, +{ 0x00, 0x72, 0x52 }, +{ 0x00, 0x73, 0x53 }, +{ 0x00, 0x74, 0x54 }, +{ 0x00, 0x75, 0x55 }, +{ 0x00, 0x76, 0x56 }, +{ 0x00, 0x77, 0x57 }, +{ 0x00, 0x78, 0x58 }, +{ 0x00, 0x79, 0x59 }, +{ 0x00, 0x7a, 0x5a }, +{ 0x00, 0x7b, 0x7b }, +{ 0x00, 0x7c, 0x7c }, +{ 0x00, 0x7d, 0x7d }, +{ 0x00, 0x7e, 0x7e }, +{ 0x00, 0x7f, 0x7f }, +{ 0x00, 0x80, 0x80 }, +{ 0x00, 0x81, 0x81 }, +{ 0x00, 0x82, 0x82 }, +{ 0x00, 0x83, 0x83 }, +{ 0x00, 0x84, 0x84 }, +{ 0x00, 0x85, 0x85 }, +{ 0x00, 0x86, 0x86 }, +{ 0x00, 0x87, 0x87 }, +{ 0x00, 0x88, 0x88 }, +{ 0x00, 0x89, 0x89 }, +{ 0x00, 0x8a, 0x8a }, +{ 0x00, 0x8b, 0x8b }, +{ 0x00, 0x8c, 0x8c }, +{ 0x00, 0x8d, 0x8d }, +{ 0x00, 0x8e, 0x8e }, +{ 0x00, 0x8f, 0x8f }, +{ 0x00, 0x90, 0x90 }, +{ 0x00, 0x91, 0x91 }, +{ 0x00, 0x92, 0x92 }, +{ 0x00, 0x93, 0x93 }, +{ 0x00, 0x94, 0x94 }, +{ 0x00, 0x95, 0x95 }, +{ 0x00, 0x96, 0x96 }, +{ 0x00, 0x97, 0x97 }, +{ 0x00, 0x98, 0x98 }, +{ 0x00, 0x99, 0x99 }, +{ 0x00, 0x9a, 0x9a }, +{ 0x00, 0x9b, 0x9b }, +{ 0x00, 0x9c, 0x9c }, +{ 0x00, 0x9d, 0x9d }, +{ 0x00, 0x9e, 0x9e }, +{ 0x00, 0x9f, 0x9f }, +{ 0x00, 0xa0, 0xa0 }, +{ 0x00, 0xa1, 0xa1 }, +{ 0x00, 0xa2, 0xa2 }, +{ 0x00, 0xa3, 0xa3 }, +{ 0x00, 0xa4, 0xa4 }, +{ 0x00, 0xa5, 0xa5 }, +{ 0x00, 0xa6, 0xa6 }, +{ 0x00, 0xa7, 0xa7 }, +{ 0x00, 0xa8, 0xa8 }, +{ 0x00, 0xa9, 0xa9 }, +{ 0x00, 0xaa, 0xaa }, +{ 0x00, 0xab, 0xab }, +{ 0x00, 0xac, 0xac }, +{ 0x00, 0xad, 0xad }, +{ 0x00, 0xae, 0xae }, +{ 0x00, 0xaf, 0xaf }, +{ 0x00, 0xb0, 0xb0 }, +{ 0x00, 0xb1, 0xb1 }, +{ 0x00, 0xb2, 0xb2 }, +{ 0x00, 0xb3, 0xb3 }, +{ 0x00, 0xb4, 0xb4 }, +{ 0x00, 0xb5, 0xb5 }, +{ 0x00, 0xb6, 0xb6 }, +{ 0x00, 0xb7, 0xb7 }, +{ 0x00, 0xb8, 0xb8 }, +{ 0x00, 0xb9, 0xb9 }, +{ 0x00, 0xba, 0xba }, +{ 0x00, 0xbb, 0xbb }, +{ 0x00, 0xbc, 0xbc }, +{ 0x00, 0xbd, 0xbd }, +{ 0x00, 0xbe, 0xbe }, +{ 0x00, 0xbf, 0xbf }, +{ 0x00, 0xc0, 0xc0 }, +{ 0x00, 0xc1, 0xc1 }, +{ 0x00, 0xc2, 0xc2 }, +{ 0x00, 0xc3, 0xc3 }, +{ 0x00, 0xc4, 0xc4 }, +{ 0x00, 0xc5, 0xc5 }, +{ 0x00, 0xc6, 0xc6 }, +{ 0x00, 0xc7, 0xc7 }, +{ 0x00, 0xc8, 0xc8 }, +{ 0x00, 0xc9, 0xc9 }, +{ 0x00, 0xca, 0xca }, +{ 0x00, 0xcb, 0xcb }, +{ 0x00, 0xcc, 0xcc }, +{ 0x00, 0xcd, 0xcd }, +{ 0x00, 0xce, 0xce }, +{ 0x00, 0xcf, 0xcf }, +{ 0x00, 0xd0, 0xd0 }, +{ 0x00, 0xd1, 0xd1 }, +{ 0x00, 0xd2, 0xd2 }, +{ 0x00, 0xd3, 0xd3 }, +{ 0x00, 0xd4, 0xd4 }, +{ 0x00, 0xd5, 0xd5 }, +{ 0x00, 0xd6, 0xd6 }, +{ 0x00, 0xd7, 0xd7 }, +{ 0x00, 0xd8, 0xd8 }, +{ 0x00, 0xd9, 0xd9 }, +{ 0x00, 0xda, 0xda }, +{ 0x00, 0xdb, 0xdb }, +{ 0x00, 0xdc, 0xdc }, +{ 0x00, 0xdd, 0xdd }, +{ 0x00, 0xde, 0xde }, +{ 0x00, 0xdf, 0xdf }, +{ 0x00, 0xe0, 0xe0 }, +{ 0x00, 0xe1, 0xe1 }, +{ 0x00, 0xe2, 0xe2 }, +{ 0x00, 0xe3, 0xe3 }, +{ 0x00, 0xe4, 0xe4 }, +{ 0x00, 0xe5, 0xe5 }, +{ 0x00, 0xe6, 0xe6 }, +{ 0x00, 0xe7, 0xe7 }, +{ 0x00, 0xe8, 0xe8 }, +{ 0x00, 0xe9, 0xe9 }, +{ 0x00, 0xea, 0xea }, +{ 0x00, 0xeb, 0xeb }, +{ 0x00, 0xec, 0xec }, +{ 0x00, 0xed, 0xed }, +{ 0x00, 0xee, 0xee }, +{ 0x00, 0xef, 0xef }, +{ 0x00, 0xf0, 0xf0 }, +{ 0x00, 0xf1, 0xf1 }, +{ 0x00, 0xf2, 0xf2 }, +{ 0x00, 0xf3, 0xf3 }, +{ 0x00, 0xf4, 0xf4 }, +{ 0x00, 0xf5, 0xf5 }, +{ 0x00, 0xf6, 0xf6 }, +{ 0x00, 0xf7, 0xf7 }, +{ 0x00, 0xf8, 0xf8 }, +{ 0x00, 0xf9, 0xf9 }, +{ 0x00, 0xfa, 0xfa }, +{ 0x00, 0xfb, 0xfb }, +{ 0x00, 0xfc, 0xfc }, +{ 0x00, 0xfd, 0xfd }, +{ 0x00, 0xfe, 0xfe }, +{ 0x00, 0xff, 0xff }, +}; + +struct cs_info koi8r_tbl[] = { +{ 0x00, 0x00, 0x00 }, +{ 0x00, 0x01, 0x01 }, +{ 0x00, 0x02, 0x02 }, +{ 0x00, 0x03, 0x03 }, +{ 0x00, 0x04, 0x04 }, +{ 0x00, 0x05, 0x05 }, +{ 0x00, 0x06, 0x06 }, +{ 0x00, 0x07, 0x07 }, +{ 0x00, 0x08, 0x08 }, +{ 0x00, 0x09, 0x09 }, +{ 0x00, 0x0a, 0x0a }, +{ 0x00, 0x0b, 0x0b }, +{ 0x00, 0x0c, 0x0c }, +{ 0x00, 0x0d, 0x0d }, +{ 0x00, 0x0e, 0x0e }, +{ 0x00, 0x0f, 0x0f }, +{ 0x00, 0x10, 0x10 }, +{ 0x00, 0x11, 0x11 }, +{ 0x00, 0x12, 0x12 }, +{ 0x00, 0x13, 0x13 }, +{ 0x00, 0x14, 0x14 }, +{ 0x00, 0x15, 0x15 }, +{ 0x00, 0x16, 0x16 }, +{ 0x00, 0x17, 0x17 }, +{ 0x00, 0x18, 0x18 }, +{ 0x00, 0x19, 0x19 }, +{ 0x00, 0x1a, 0x1a }, +{ 0x00, 0x1b, 0x1b }, +{ 0x00, 0x1c, 0x1c }, +{ 0x00, 0x1d, 0x1d }, +{ 0x00, 0x1e, 0x1e }, +{ 0x00, 0x1f, 0x1f }, +{ 0x00, 0x20, 0x20 }, +{ 0x00, 0x21, 0x21 }, +{ 0x00, 0x22, 0x22 }, +{ 0x00, 0x23, 0x23 }, +{ 0x00, 0x24, 0x24 }, +{ 0x00, 0x25, 0x25 }, +{ 0x00, 0x26, 0x26 }, +{ 0x00, 0x27, 0x27 }, +{ 0x00, 0x28, 0x28 }, +{ 0x00, 0x29, 0x29 }, +{ 0x00, 0x2a, 0x2a }, +{ 0x00, 0x2b, 0x2b }, +{ 0x00, 0x2c, 0x2c }, +{ 0x00, 0x2d, 0x2d }, +{ 0x00, 0x2e, 0x2e }, +{ 0x00, 0x2f, 0x2f }, +{ 0x00, 0x30, 0x30 }, +{ 0x00, 0x31, 0x31 }, +{ 0x00, 0x32, 0x32 }, +{ 0x00, 0x33, 0x33 }, +{ 0x00, 0x34, 0x34 }, +{ 0x00, 0x35, 0x35 }, +{ 0x00, 0x36, 0x36 }, +{ 0x00, 0x37, 0x37 }, +{ 0x00, 0x38, 0x38 }, +{ 0x00, 0x39, 0x39 }, +{ 0x00, 0x3a, 0x3a }, +{ 0x00, 0x3b, 0x3b }, +{ 0x00, 0x3c, 0x3c }, +{ 0x00, 0x3d, 0x3d }, +{ 0x00, 0x3e, 0x3e }, +{ 0x00, 0x3f, 0x3f }, +{ 0x00, 0x40, 0x40 }, +{ 0x01, 0x61, 0x41 }, +{ 0x01, 0x62, 0x42 }, +{ 0x01, 0x63, 0x43 }, +{ 0x01, 0x64, 0x44 }, +{ 0x01, 0x65, 0x45 }, +{ 0x01, 0x66, 0x46 }, +{ 0x01, 0x67, 0x47 }, +{ 0x01, 0x68, 0x48 }, +{ 0x01, 0x69, 0x49 }, +{ 0x01, 0x6a, 0x4a }, +{ 0x01, 0x6b, 0x4b }, +{ 0x01, 0x6c, 0x4c }, +{ 0x01, 0x6d, 0x4d }, +{ 0x01, 0x6e, 0x4e }, +{ 0x01, 0x6f, 0x4f }, +{ 0x01, 0x70, 0x50 }, +{ 0x01, 0x71, 0x51 }, +{ 0x01, 0x72, 0x52 }, +{ 0x01, 0x73, 0x53 }, +{ 0x01, 0x74, 0x54 }, +{ 0x01, 0x75, 0x55 }, +{ 0x01, 0x76, 0x56 }, +{ 0x01, 0x77, 0x57 }, +{ 0x01, 0x78, 0x58 }, +{ 0x01, 0x79, 0x59 }, +{ 0x01, 0x7a, 0x5a }, +{ 0x00, 0x5b, 0x5b }, +{ 0x00, 0x5c, 0x5c }, +{ 0x00, 0x5d, 0x5d }, +{ 0x00, 0x5e, 0x5e }, +{ 0x00, 0x5f, 0x5f }, +{ 0x00, 0x60, 0x60 }, +{ 0x00, 0x61, 0x41 }, +{ 0x00, 0x62, 0x42 }, +{ 0x00, 0x63, 0x43 }, +{ 0x00, 0x64, 0x44 }, +{ 0x00, 0x65, 0x45 }, +{ 0x00, 0x66, 0x46 }, +{ 0x00, 0x67, 0x47 }, +{ 0x00, 0x68, 0x48 }, +{ 0x00, 0x69, 0x49 }, +{ 0x00, 0x6a, 0x4a }, +{ 0x00, 0x6b, 0x4b }, +{ 0x00, 0x6c, 0x4c }, +{ 0x00, 0x6d, 0x4d }, +{ 0x00, 0x6e, 0x4e }, +{ 0x00, 0x6f, 0x4f }, +{ 0x00, 0x70, 0x50 }, +{ 0x00, 0x71, 0x51 }, +{ 0x00, 0x72, 0x52 }, +{ 0x00, 0x73, 0x53 }, +{ 0x00, 0x74, 0x54 }, +{ 0x00, 0x75, 0x55 }, +{ 0x00, 0x76, 0x56 }, +{ 0x00, 0x77, 0x57 }, +{ 0x00, 0x78, 0x58 }, +{ 0x00, 0x79, 0x59 }, +{ 0x00, 0x7a, 0x5a }, +{ 0x00, 0x7b, 0x7b }, +{ 0x00, 0x7c, 0x7c }, +{ 0x00, 0x7d, 0x7d }, +{ 0x00, 0x7e, 0x7e }, +{ 0x00, 0x7f, 0x7f }, +{ 0x00, 0x80, 0x80 }, +{ 0x00, 0x81, 0x81 }, +{ 0x00, 0x82, 0x82 }, +{ 0x00, 0x83, 0x83 }, +{ 0x00, 0x84, 0x84 }, +{ 0x00, 0x85, 0x85 }, +{ 0x00, 0x86, 0x86 }, +{ 0x00, 0x87, 0x87 }, +{ 0x00, 0x88, 0x88 }, +{ 0x00, 0x89, 0x89 }, +{ 0x00, 0x8a, 0x8a }, +{ 0x00, 0x8b, 0x8b }, +{ 0x00, 0x8c, 0x8c }, +{ 0x00, 0x8d, 0x8d }, +{ 0x00, 0x8e, 0x8e }, +{ 0x00, 0x8f, 0x8f }, +{ 0x00, 0x90, 0x90 }, +{ 0x00, 0x91, 0x91 }, +{ 0x00, 0x92, 0x92 }, +{ 0x00, 0x93, 0x93 }, +{ 0x00, 0x94, 0x94 }, +{ 0x00, 0x95, 0x95 }, +{ 0x00, 0x96, 0x96 }, +{ 0x00, 0x97, 0x97 }, +{ 0x00, 0x98, 0x98 }, +{ 0x00, 0x99, 0x99 }, +{ 0x00, 0x9a, 0x9a }, +{ 0x00, 0x9b, 0x9b }, +{ 0x00, 0x9c, 0x9c }, +{ 0x00, 0x9d, 0x9d }, +{ 0x00, 0x9e, 0x9e }, +{ 0x00, 0x9f, 0x9f }, +{ 0x00, 0xa0, 0xa0 }, +{ 0x00, 0xa1, 0xa1 }, +{ 0x00, 0xa2, 0xa2 }, +{ 0x00, 0xa3, 0xb3 }, +{ 0x00, 0xa4, 0xa4 }, +{ 0x00, 0xa5, 0xa5 }, +{ 0x00, 0xa6, 0xa6 }, +{ 0x00, 0xa7, 0xa7 }, +{ 0x00, 0xa8, 0xa8 }, +{ 0x00, 0xa9, 0xa9 }, +{ 0x00, 0xaa, 0xaa }, +{ 0x00, 0xab, 0xab }, +{ 0x00, 0xac, 0xac }, +{ 0x00, 0xad, 0xad }, +{ 0x00, 0xae, 0xae }, +{ 0x00, 0xaf, 0xaf }, +{ 0x00, 0xb0, 0xb0 }, +{ 0x00, 0xb1, 0xb1 }, +{ 0x00, 0xb2, 0xb2 }, +{ 0x01, 0xa3, 0xb3 }, +{ 0x00, 0xb4, 0xb4 }, +{ 0x00, 0xb5, 0xb5 }, +{ 0x00, 0xb6, 0xb6 }, +{ 0x00, 0xb7, 0xb7 }, +{ 0x00, 0xb8, 0xb8 }, +{ 0x00, 0xb9, 0xb9 }, +{ 0x00, 0xba, 0xba }, +{ 0x00, 0xbb, 0xbb }, +{ 0x00, 0xbc, 0xbc }, +{ 0x00, 0xbd, 0xbd }, +{ 0x00, 0xbe, 0xbe }, +{ 0x00, 0xbf, 0xbf }, +{ 0x00, 0xc0, 0xe0 }, +{ 0x00, 0xc1, 0xe1 }, +{ 0x00, 0xc2, 0xe2 }, +{ 0x00, 0xc3, 0xe3 }, +{ 0x00, 0xc4, 0xe4 }, +{ 0x00, 0xc5, 0xe5 }, +{ 0x00, 0xc6, 0xe6 }, +{ 0x00, 0xc7, 0xe7 }, +{ 0x00, 0xc8, 0xe8 }, +{ 0x00, 0xc9, 0xe9 }, +{ 0x00, 0xca, 0xea }, +{ 0x00, 0xcb, 0xeb }, +{ 0x00, 0xcc, 0xec }, +{ 0x00, 0xcd, 0xed }, +{ 0x00, 0xce, 0xee }, +{ 0x00, 0xcf, 0xef }, +{ 0x00, 0xd0, 0xf0 }, +{ 0x00, 0xd1, 0xf1 }, +{ 0x00, 0xd2, 0xf2 }, +{ 0x00, 0xd3, 0xf3 }, +{ 0x00, 0xd4, 0xf4 }, +{ 0x00, 0xd5, 0xf5 }, +{ 0x00, 0xd6, 0xf6 }, +{ 0x00, 0xd7, 0xf7 }, +{ 0x00, 0xd8, 0xf8 }, +{ 0x00, 0xd9, 0xf9 }, +{ 0x00, 0xda, 0xfa }, +{ 0x00, 0xdb, 0xfb }, +{ 0x00, 0xdc, 0xfc }, +{ 0x00, 0xdd, 0xfd }, +{ 0x00, 0xde, 0xfe }, +{ 0x00, 0xdf, 0xff }, +{ 0x01, 0xc0, 0xe0 }, +{ 0x01, 0xc1, 0xe1 }, +{ 0x01, 0xc2, 0xe2 }, +{ 0x01, 0xc3, 0xe3 }, +{ 0x01, 0xc4, 0xe4 }, +{ 0x01, 0xc5, 0xe5 }, +{ 0x01, 0xc6, 0xe6 }, +{ 0x01, 0xc7, 0xe7 }, +{ 0x01, 0xc8, 0xe8 }, +{ 0x01, 0xc9, 0xe9 }, +{ 0x01, 0xca, 0xea }, +{ 0x01, 0xcb, 0xeb }, +{ 0x01, 0xcc, 0xec }, +{ 0x01, 0xcd, 0xed }, +{ 0x01, 0xce, 0xee }, +{ 0x01, 0xcf, 0xef }, +{ 0x01, 0xd0, 0xf0 }, +{ 0x01, 0xd1, 0xf1 }, +{ 0x01, 0xd2, 0xf2 }, +{ 0x01, 0xd3, 0xf3 }, +{ 0x01, 0xd4, 0xf4 }, +{ 0x01, 0xd5, 0xf5 }, +{ 0x01, 0xd6, 0xf6 }, +{ 0x01, 0xd7, 0xf7 }, +{ 0x01, 0xd8, 0xf8 }, +{ 0x01, 0xd9, 0xf9 }, +{ 0x01, 0xda, 0xfa }, +{ 0x01, 0xdb, 0xfb }, +{ 0x01, 0xdc, 0xfc }, +{ 0x01, 0xdd, 0xfd }, +{ 0x01, 0xde, 0xfe }, +{ 0x01, 0xdf, 0xff }, +}; + +struct cs_info koi8u_tbl[] = { +{ 0x00, 0x00, 0x00 }, +{ 0x00, 0x01, 0x01 }, +{ 0x00, 0x02, 0x02 }, +{ 0x00, 0x03, 0x03 }, +{ 0x00, 0x04, 0x04 }, +{ 0x00, 0x05, 0x05 }, +{ 0x00, 0x06, 0x06 }, +{ 0x00, 0x07, 0x07 }, +{ 0x00, 0x08, 0x08 }, +{ 0x00, 0x09, 0x09 }, +{ 0x00, 0x0a, 0x0a }, +{ 0x00, 0x0b, 0x0b }, +{ 0x00, 0x0c, 0x0c }, +{ 0x00, 0x0d, 0x0d }, +{ 0x00, 0x0e, 0x0e }, +{ 0x00, 0x0f, 0x0f }, +{ 0x00, 0x10, 0x10 }, +{ 0x00, 0x11, 0x11 }, +{ 0x00, 0x12, 0x12 }, +{ 0x00, 0x13, 0x13 }, +{ 0x00, 0x14, 0x14 }, +{ 0x00, 0x15, 0x15 }, +{ 0x00, 0x16, 0x16 }, +{ 0x00, 0x17, 0x17 }, +{ 0x00, 0x18, 0x18 }, +{ 0x00, 0x19, 0x19 }, +{ 0x00, 0x1a, 0x1a }, +{ 0x00, 0x1b, 0x1b }, +{ 0x00, 0x1c, 0x1c }, +{ 0x00, 0x1d, 0x1d }, +{ 0x00, 0x1e, 0x1e }, +{ 0x00, 0x1f, 0x1f }, +{ 0x00, 0x20, 0x20 }, +{ 0x00, 0x21, 0x21 }, +{ 0x00, 0x22, 0x22 }, +{ 0x00, 0x23, 0x23 }, +{ 0x00, 0x24, 0x24 }, +{ 0x00, 0x25, 0x25 }, +{ 0x00, 0x26, 0x26 }, +{ 0x00, 0x27, 0x27 }, +{ 0x00, 0x28, 0x28 }, +{ 0x00, 0x29, 0x29 }, +{ 0x00, 0x2a, 0x2a }, +{ 0x00, 0x2b, 0x2b }, +{ 0x00, 0x2c, 0x2c }, +{ 0x00, 0x2d, 0x2d }, +{ 0x00, 0x2e, 0x2e }, +{ 0x00, 0x2f, 0x2f }, +{ 0x00, 0x30, 0x30 }, +{ 0x00, 0x31, 0x31 }, +{ 0x00, 0x32, 0x32 }, +{ 0x00, 0x33, 0x33 }, +{ 0x00, 0x34, 0x34 }, +{ 0x00, 0x35, 0x35 }, +{ 0x00, 0x36, 0x36 }, +{ 0x00, 0x37, 0x37 }, +{ 0x00, 0x38, 0x38 }, +{ 0x00, 0x39, 0x39 }, +{ 0x00, 0x3a, 0x3a }, +{ 0x00, 0x3b, 0x3b }, +{ 0x00, 0x3c, 0x3c }, +{ 0x00, 0x3d, 0x3d }, +{ 0x00, 0x3e, 0x3e }, +{ 0x00, 0x3f, 0x3f }, +{ 0x00, 0x40, 0x40 }, +{ 0x01, 0x61, 0x41 }, +{ 0x01, 0x62, 0x42 }, +{ 0x01, 0x63, 0x43 }, +{ 0x01, 0x64, 0x44 }, +{ 0x01, 0x65, 0x45 }, +{ 0x01, 0x66, 0x46 }, +{ 0x01, 0x67, 0x47 }, +{ 0x01, 0x68, 0x48 }, +{ 0x01, 0x69, 0x49 }, +{ 0x01, 0x6a, 0x4a }, +{ 0x01, 0x6b, 0x4b }, +{ 0x01, 0x6c, 0x4c }, +{ 0x01, 0x6d, 0x4d }, +{ 0x01, 0x6e, 0x4e }, +{ 0x01, 0x6f, 0x4f }, +{ 0x01, 0x70, 0x50 }, +{ 0x01, 0x71, 0x51 }, +{ 0x01, 0x72, 0x52 }, +{ 0x01, 0x73, 0x53 }, +{ 0x01, 0x74, 0x54 }, +{ 0x01, 0x75, 0x55 }, +{ 0x01, 0x76, 0x56 }, +{ 0x01, 0x77, 0x57 }, +{ 0x01, 0x78, 0x58 }, +{ 0x01, 0x79, 0x59 }, +{ 0x01, 0x7a, 0x5a }, +{ 0x00, 0x5b, 0x5b }, +{ 0x00, 0x5c, 0x5c }, +{ 0x00, 0x5d, 0x5d }, +{ 0x00, 0x5e, 0x5e }, +{ 0x00, 0x5f, 0x5f }, +{ 0x00, 0x60, 0x60 }, +{ 0x00, 0x61, 0x41 }, +{ 0x00, 0x62, 0x42 }, +{ 0x00, 0x63, 0x43 }, +{ 0x00, 0x64, 0x44 }, +{ 0x00, 0x65, 0x45 }, +{ 0x00, 0x66, 0x46 }, +{ 0x00, 0x67, 0x47 }, +{ 0x00, 0x68, 0x48 }, +{ 0x00, 0x69, 0x49 }, +{ 0x00, 0x6a, 0x4a }, +{ 0x00, 0x6b, 0x4b }, +{ 0x00, 0x6c, 0x4c }, +{ 0x00, 0x6d, 0x4d }, +{ 0x00, 0x6e, 0x4e }, +{ 0x00, 0x6f, 0x4f }, +{ 0x00, 0x70, 0x50 }, +{ 0x00, 0x71, 0x51 }, +{ 0x00, 0x72, 0x52 }, +{ 0x00, 0x73, 0x53 }, +{ 0x00, 0x74, 0x54 }, +{ 0x00, 0x75, 0x55 }, +{ 0x00, 0x76, 0x56 }, +{ 0x00, 0x77, 0x57 }, +{ 0x00, 0x78, 0x58 }, +{ 0x00, 0x79, 0x59 }, +{ 0x00, 0x7a, 0x5a }, +{ 0x00, 0x7b, 0x7b }, +{ 0x00, 0x7c, 0x7c }, +{ 0x00, 0x7d, 0x7d }, +{ 0x00, 0x7e, 0x7e }, +{ 0x00, 0x7f, 0x7f }, +{ 0x00, 0x80, 0x80 }, +{ 0x00, 0x81, 0x81 }, +{ 0x00, 0x82, 0x82 }, +{ 0x00, 0x83, 0x83 }, +{ 0x00, 0x84, 0x84 }, +{ 0x00, 0x85, 0x85 }, +{ 0x00, 0x86, 0x86 }, +{ 0x00, 0x87, 0x87 }, +{ 0x00, 0x88, 0x88 }, +{ 0x00, 0x89, 0x89 }, +{ 0x00, 0x8a, 0x8a }, +{ 0x00, 0x8b, 0x8b }, +{ 0x00, 0x8c, 0x8c }, +{ 0x00, 0x8d, 0x8d }, +{ 0x00, 0x8e, 0x8e }, +{ 0x00, 0x8f, 0x8f }, +{ 0x00, 0x90, 0x90 }, +{ 0x00, 0x91, 0x91 }, +{ 0x00, 0x92, 0x92 }, +{ 0x00, 0x93, 0x93 }, +{ 0x00, 0x94, 0x94 }, +{ 0x00, 0x95, 0x95 }, +{ 0x00, 0x96, 0x96 }, +{ 0x00, 0x97, 0x97 }, +{ 0x00, 0x98, 0x98 }, +{ 0x00, 0x99, 0x99 }, +{ 0x00, 0x9a, 0x9a }, +{ 0x00, 0x9b, 0x9b }, +{ 0x00, 0x9c, 0x9c }, +{ 0x00, 0x9d, 0x9d }, +{ 0x00, 0x9e, 0x9e }, +{ 0x00, 0x9f, 0x9f }, +{ 0x00, 0xa0, 0xa0 }, +{ 0x00, 0xa1, 0xa1 }, +{ 0x00, 0xa2, 0xa2 }, +{ 0x00, 0xa3, 0xb3 }, +{ 0x00, 0xa4, 0xb4 }, /* ie */ +{ 0x00, 0xa5, 0xa5 }, +{ 0x00, 0xa6, 0xb6 }, /* i */ +{ 0x00, 0xa7, 0xb7 }, /* ii */ +{ 0x00, 0xa8, 0xa8 }, +{ 0x00, 0xa9, 0xa9 }, +{ 0x00, 0xaa, 0xaa }, +{ 0x00, 0xab, 0xab }, +{ 0x00, 0xac, 0xac }, +{ 0x00, 0xad, 0xbd }, /* g'' */ +{ 0x00, 0xae, 0xae }, +{ 0x00, 0xaf, 0xaf }, +{ 0x00, 0xb0, 0xb0 }, +{ 0x00, 0xb1, 0xb1 }, +{ 0x00, 0xb2, 0xb2 }, +{ 0x01, 0xa3, 0xb3 }, +{ 0x00, 0xb4, 0xb4 }, /* IE */ +{ 0x00, 0xb5, 0xb5 }, +{ 0x00, 0xb6, 0xb6 }, /* I */ +{ 0x00, 0xb7, 0xb7 }, /* II */ +{ 0x00, 0xb8, 0xb8 }, +{ 0x00, 0xb9, 0xb9 }, +{ 0x00, 0xba, 0xba }, +{ 0x00, 0xbb, 0xbb }, +{ 0x00, 0xbc, 0xbc }, +{ 0x00, 0xbd, 0xbd }, +{ 0x00, 0xbe, 0xbe }, +{ 0x00, 0xbf, 0xbf }, +{ 0x00, 0xc0, 0xe0 }, +{ 0x00, 0xc1, 0xe1 }, +{ 0x00, 0xc2, 0xe2 }, +{ 0x00, 0xc3, 0xe3 }, +{ 0x00, 0xc4, 0xe4 }, +{ 0x00, 0xc5, 0xe5 }, +{ 0x00, 0xc6, 0xe6 }, +{ 0x00, 0xc7, 0xe7 }, +{ 0x00, 0xc8, 0xe8 }, +{ 0x00, 0xc9, 0xe9 }, +{ 0x00, 0xca, 0xea }, +{ 0x00, 0xcb, 0xeb }, +{ 0x00, 0xcc, 0xec }, +{ 0x00, 0xcd, 0xed }, +{ 0x00, 0xce, 0xee }, +{ 0x00, 0xcf, 0xef }, +{ 0x00, 0xd0, 0xf0 }, +{ 0x00, 0xd1, 0xf1 }, +{ 0x00, 0xd2, 0xf2 }, +{ 0x00, 0xd3, 0xf3 }, +{ 0x00, 0xd4, 0xf4 }, +{ 0x00, 0xd5, 0xf5 }, +{ 0x00, 0xd6, 0xf6 }, +{ 0x00, 0xd7, 0xf7 }, +{ 0x00, 0xd8, 0xf8 }, +{ 0x00, 0xd9, 0xf9 }, +{ 0x00, 0xda, 0xfa }, +{ 0x00, 0xdb, 0xfb }, +{ 0x00, 0xdc, 0xfc }, +{ 0x00, 0xdd, 0xfd }, +{ 0x00, 0xde, 0xfe }, +{ 0x00, 0xdf, 0xff }, +{ 0x01, 0xc0, 0xe0 }, +{ 0x01, 0xc1, 0xe1 }, +{ 0x01, 0xc2, 0xe2 }, +{ 0x01, 0xc3, 0xe3 }, +{ 0x01, 0xc4, 0xe4 }, +{ 0x01, 0xc5, 0xe5 }, +{ 0x01, 0xc6, 0xe6 }, +{ 0x01, 0xc7, 0xe7 }, +{ 0x01, 0xc8, 0xe8 }, +{ 0x01, 0xc9, 0xe9 }, +{ 0x01, 0xca, 0xea }, +{ 0x01, 0xcb, 0xeb }, +{ 0x01, 0xcc, 0xec }, +{ 0x01, 0xcd, 0xed }, +{ 0x01, 0xce, 0xee }, +{ 0x01, 0xcf, 0xef }, +{ 0x01, 0xd0, 0xf0 }, +{ 0x01, 0xd1, 0xf1 }, +{ 0x01, 0xd2, 0xf2 }, +{ 0x01, 0xd3, 0xf3 }, +{ 0x01, 0xd4, 0xf4 }, +{ 0x01, 0xd5, 0xf5 }, +{ 0x01, 0xd6, 0xf6 }, +{ 0x01, 0xd7, 0xf7 }, +{ 0x01, 0xd8, 0xf8 }, +{ 0x01, 0xd9, 0xf9 }, +{ 0x01, 0xda, 0xfa }, +{ 0x01, 0xdb, 0xfb }, +{ 0x01, 0xdc, 0xfc }, +{ 0x01, 0xdd, 0xfd }, +{ 0x01, 0xde, 0xfe }, +{ 0x01, 0xdf, 0xff }, +}; + +struct cs_info cp1251_tbl[] = { +{ 0x00, 0x00, 0x00 }, +{ 0x00, 0x01, 0x01 }, +{ 0x00, 0x02, 0x02 }, +{ 0x00, 0x03, 0x03 }, +{ 0x00, 0x04, 0x04 }, +{ 0x00, 0x05, 0x05 }, +{ 0x00, 0x06, 0x06 }, +{ 0x00, 0x07, 0x07 }, +{ 0x00, 0x08, 0x08 }, +{ 0x00, 0x09, 0x09 }, +{ 0x00, 0x0a, 0x0a }, +{ 0x00, 0x0b, 0x0b }, +{ 0x00, 0x0c, 0x0c }, +{ 0x00, 0x0d, 0x0d }, +{ 0x00, 0x0e, 0x0e }, +{ 0x00, 0x0f, 0x0f }, +{ 0x00, 0x10, 0x10 }, +{ 0x00, 0x11, 0x11 }, +{ 0x00, 0x12, 0x12 }, +{ 0x00, 0x13, 0x13 }, +{ 0x00, 0x14, 0x14 }, +{ 0x00, 0x15, 0x15 }, +{ 0x00, 0x16, 0x16 }, +{ 0x00, 0x17, 0x17 }, +{ 0x00, 0x18, 0x18 }, +{ 0x00, 0x19, 0x19 }, +{ 0x00, 0x1a, 0x1a }, +{ 0x00, 0x1b, 0x1b }, +{ 0x00, 0x1c, 0x1c }, +{ 0x00, 0x1d, 0x1d }, +{ 0x00, 0x1e, 0x1e }, +{ 0x00, 0x1f, 0x1f }, +{ 0x00, 0x20, 0x20 }, +{ 0x00, 0x21, 0x21 }, +{ 0x00, 0x22, 0x22 }, +{ 0x00, 0x23, 0x23 }, +{ 0x00, 0x24, 0x24 }, +{ 0x00, 0x25, 0x25 }, +{ 0x00, 0x26, 0x26 }, +{ 0x00, 0x27, 0x27 }, +{ 0x00, 0x28, 0x28 }, +{ 0x00, 0x29, 0x29 }, +{ 0x00, 0x2a, 0x2a }, +{ 0x00, 0x2b, 0x2b }, +{ 0x00, 0x2c, 0x2c }, +{ 0x00, 0x2d, 0x2d }, +{ 0x00, 0x2e, 0x2e }, +{ 0x00, 0x2f, 0x2f }, +{ 0x00, 0x30, 0x30 }, +{ 0x00, 0x31, 0x31 }, +{ 0x00, 0x32, 0x32 }, +{ 0x00, 0x33, 0x33 }, +{ 0x00, 0x34, 0x34 }, +{ 0x00, 0x35, 0x35 }, +{ 0x00, 0x36, 0x36 }, +{ 0x00, 0x37, 0x37 }, +{ 0x00, 0x38, 0x38 }, +{ 0x00, 0x39, 0x39 }, +{ 0x00, 0x3a, 0x3a }, +{ 0x00, 0x3b, 0x3b }, +{ 0x00, 0x3c, 0x3c }, +{ 0x00, 0x3d, 0x3d }, +{ 0x00, 0x3e, 0x3e }, +{ 0x00, 0x3f, 0x3f }, +{ 0x00, 0x40, 0x40 }, +{ 0x01, 0x61, 0x41 }, +{ 0x01, 0x62, 0x42 }, +{ 0x01, 0x63, 0x43 }, +{ 0x01, 0x64, 0x44 }, +{ 0x01, 0x65, 0x45 }, +{ 0x01, 0x66, 0x46 }, +{ 0x01, 0x67, 0x47 }, +{ 0x01, 0x68, 0x48 }, +{ 0x01, 0x69, 0x49 }, +{ 0x01, 0x6a, 0x4a }, +{ 0x01, 0x6b, 0x4b }, +{ 0x01, 0x6c, 0x4c }, +{ 0x01, 0x6d, 0x4d }, +{ 0x01, 0x6e, 0x4e }, +{ 0x01, 0x6f, 0x4f }, +{ 0x01, 0x70, 0x50 }, +{ 0x01, 0x71, 0x51 }, +{ 0x01, 0x72, 0x52 }, +{ 0x01, 0x73, 0x53 }, +{ 0x01, 0x74, 0x54 }, +{ 0x01, 0x75, 0x55 }, +{ 0x01, 0x76, 0x56 }, +{ 0x01, 0x77, 0x57 }, +{ 0x01, 0x78, 0x58 }, +{ 0x01, 0x79, 0x59 }, +{ 0x01, 0x7a, 0x5a }, +{ 0x00, 0x5b, 0x5b }, +{ 0x00, 0x5c, 0x5c }, +{ 0x00, 0x5d, 0x5d }, +{ 0x00, 0x5e, 0x5e }, +{ 0x00, 0x5f, 0x5f }, +{ 0x00, 0x60, 0x60 }, +{ 0x00, 0x61, 0x41 }, +{ 0x00, 0x62, 0x42 }, +{ 0x00, 0x63, 0x43 }, +{ 0x00, 0x64, 0x44 }, +{ 0x00, 0x65, 0x45 }, +{ 0x00, 0x66, 0x46 }, +{ 0x00, 0x67, 0x47 }, +{ 0x00, 0x68, 0x48 }, +{ 0x00, 0x69, 0x49 }, +{ 0x00, 0x6a, 0x4a }, +{ 0x00, 0x6b, 0x4b }, +{ 0x00, 0x6c, 0x4c }, +{ 0x00, 0x6d, 0x4d }, +{ 0x00, 0x6e, 0x4e }, +{ 0x00, 0x6f, 0x4f }, +{ 0x00, 0x70, 0x50 }, +{ 0x00, 0x71, 0x51 }, +{ 0x00, 0x72, 0x52 }, +{ 0x00, 0x73, 0x53 }, +{ 0x00, 0x74, 0x54 }, +{ 0x00, 0x75, 0x55 }, +{ 0x00, 0x76, 0x56 }, +{ 0x00, 0x77, 0x57 }, +{ 0x00, 0x78, 0x58 }, +{ 0x00, 0x79, 0x59 }, +{ 0x00, 0x7a, 0x5a }, +{ 0x00, 0x7b, 0x7b }, +{ 0x00, 0x7c, 0x7c }, +{ 0x00, 0x7d, 0x7d }, +{ 0x00, 0x7e, 0x7e }, +{ 0x00, 0x7f, 0x7f }, +{ 0x01, 0x90, 0x80 }, +{ 0x01, 0x83, 0x81 }, +{ 0x00, 0x82, 0x82 }, +{ 0x00, 0x83, 0x81 }, +{ 0x00, 0x84, 0x84 }, +{ 0x00, 0x85, 0x85 }, +{ 0x00, 0x86, 0x86 }, +{ 0x00, 0x87, 0x87 }, +{ 0x00, 0x88, 0x88 }, +{ 0x00, 0x89, 0x89 }, +{ 0x01, 0x9a, 0x8a }, +{ 0x00, 0x8b, 0x8b }, +{ 0x01, 0x9c, 0x8c }, +{ 0x01, 0x9d, 0x8d }, +{ 0x01, 0x9e, 0x8e }, +{ 0x01, 0x9f, 0x8f }, +{ 0x00, 0x90, 0x80 }, +{ 0x00, 0x91, 0x91 }, +{ 0x00, 0x92, 0x92 }, +{ 0x00, 0x93, 0x93 }, +{ 0x00, 0x94, 0x94 }, +{ 0x00, 0x95, 0x95 }, +{ 0x00, 0x96, 0x96 }, +{ 0x00, 0x97, 0x97 }, +{ 0x00, 0x98, 0x98 }, +{ 0x00, 0x99, 0x99 }, +{ 0x00, 0x9a, 0x8a }, +{ 0x00, 0x9b, 0x9b }, +{ 0x00, 0x9c, 0x8c }, +{ 0x00, 0x9d, 0x8d }, +{ 0x00, 0x9e, 0x8e }, +{ 0x00, 0x9f, 0x8f }, +{ 0x00, 0xa0, 0xa0 }, +{ 0x01, 0xa2, 0xa1 }, +{ 0x00, 0xa2, 0xa1 }, +{ 0x01, 0xbc, 0xa3 }, +{ 0x00, 0xa4, 0xa4 }, +{ 0x01, 0xb4, 0xa5 }, +{ 0x00, 0xa6, 0xa6 }, +{ 0x00, 0xa7, 0xa7 }, +{ 0x01, 0xb8, 0xa8 }, +{ 0x00, 0xa9, 0xa9 }, +{ 0x01, 0xba, 0xaa }, +{ 0x00, 0xab, 0xab }, +{ 0x00, 0xac, 0xac }, +{ 0x00, 0xad, 0xad }, +{ 0x00, 0xae, 0xae }, +{ 0x01, 0xbf, 0xaf }, +{ 0x00, 0xb0, 0xb0 }, +{ 0x00, 0xb1, 0xb1 }, +{ 0x01, 0xb3, 0xb2 }, +{ 0x00, 0xb3, 0xb2 }, +{ 0x00, 0xb4, 0xa5 }, +{ 0x00, 0xb5, 0xb5 }, +{ 0x00, 0xb6, 0xb6 }, +{ 0x00, 0xb7, 0xb7 }, +{ 0x00, 0xb8, 0xa8 }, +{ 0x00, 0xb9, 0xb9 }, +{ 0x00, 0xba, 0xaa }, +{ 0x00, 0xbb, 0xbb }, +{ 0x00, 0xbc, 0xa3 }, +{ 0x01, 0xbe, 0xbd }, +{ 0x00, 0xbe, 0xbd }, +{ 0x00, 0xbf, 0xaf }, +{ 0x01, 0xe0, 0xc0 }, +{ 0x01, 0xe1, 0xc1 }, +{ 0x01, 0xe2, 0xc2 }, +{ 0x01, 0xe3, 0xc3 }, +{ 0x01, 0xe4, 0xc4 }, +{ 0x01, 0xe5, 0xc5 }, +{ 0x01, 0xe6, 0xc6 }, +{ 0x01, 0xe7, 0xc7 }, +{ 0x01, 0xe8, 0xc8 }, +{ 0x01, 0xe9, 0xc9 }, +{ 0x01, 0xea, 0xca }, +{ 0x01, 0xeb, 0xcb }, +{ 0x01, 0xec, 0xcc }, +{ 0x01, 0xed, 0xcd }, +{ 0x01, 0xee, 0xce }, +{ 0x01, 0xef, 0xcf }, +{ 0x01, 0xf0, 0xd0 }, +{ 0x01, 0xf1, 0xd1 }, +{ 0x01, 0xf2, 0xd2 }, +{ 0x01, 0xf3, 0xd3 }, +{ 0x01, 0xf4, 0xd4 }, +{ 0x01, 0xf5, 0xd5 }, +{ 0x01, 0xf6, 0xd6 }, +{ 0x01, 0xf7, 0xd7 }, +{ 0x01, 0xf8, 0xd8 }, +{ 0x01, 0xf9, 0xd9 }, +{ 0x01, 0xfa, 0xda }, +{ 0x01, 0xfb, 0xdb }, +{ 0x01, 0xfc, 0xdc }, +{ 0x01, 0xfd, 0xdd }, +{ 0x01, 0xfe, 0xde }, +{ 0x01, 0xff, 0xdf }, +{ 0x00, 0xe0, 0xc0 }, +{ 0x00, 0xe1, 0xc1 }, +{ 0x00, 0xe2, 0xc2 }, +{ 0x00, 0xe3, 0xc3 }, +{ 0x00, 0xe4, 0xc4 }, +{ 0x00, 0xe5, 0xc5 }, +{ 0x00, 0xe6, 0xc6 }, +{ 0x00, 0xe7, 0xc7 }, +{ 0x00, 0xe8, 0xc8 }, +{ 0x00, 0xe9, 0xc9 }, +{ 0x00, 0xea, 0xca }, +{ 0x00, 0xeb, 0xcb }, +{ 0x00, 0xec, 0xcc }, +{ 0x00, 0xed, 0xcd }, +{ 0x00, 0xee, 0xce }, +{ 0x00, 0xef, 0xcf }, +{ 0x00, 0xf0, 0xd0 }, +{ 0x00, 0xf1, 0xd1 }, +{ 0x00, 0xf2, 0xd2 }, +{ 0x00, 0xf3, 0xd3 }, +{ 0x00, 0xf4, 0xd4 }, +{ 0x00, 0xf5, 0xd5 }, +{ 0x00, 0xf6, 0xd6 }, +{ 0x00, 0xf7, 0xd7 }, +{ 0x00, 0xf8, 0xd8 }, +{ 0x00, 0xf9, 0xd9 }, +{ 0x00, 0xfa, 0xda }, +{ 0x00, 0xfb, 0xdb }, +{ 0x00, 0xfc, 0xdc }, +{ 0x00, 0xfd, 0xdd }, +{ 0x00, 0xfe, 0xde }, +{ 0x00, 0xff, 0xdf }, +}; + +struct cs_info iso13_tbl[] = { +{ 0x00, 0x00, 0x00 }, +{ 0x00, 0x01, 0x01 }, +{ 0x00, 0x02, 0x02 }, +{ 0x00, 0x03, 0x03 }, +{ 0x00, 0x04, 0x04 }, +{ 0x00, 0x05, 0x05 }, +{ 0x00, 0x06, 0x06 }, +{ 0x00, 0x07, 0x07 }, +{ 0x00, 0x08, 0x08 }, +{ 0x00, 0x09, 0x09 }, +{ 0x00, 0x0A, 0x0A }, +{ 0x00, 0x0B, 0x0B }, +{ 0x00, 0x0C, 0x0C }, +{ 0x00, 0x0D, 0x0D }, +{ 0x00, 0x0E, 0x0E }, +{ 0x00, 0x0F, 0x0F }, +{ 0x00, 0x10, 0x10 }, +{ 0x00, 0x11, 0x11 }, +{ 0x00, 0x12, 0x12 }, +{ 0x00, 0x13, 0x13 }, +{ 0x00, 0x14, 0x14 }, +{ 0x00, 0x15, 0x15 }, +{ 0x00, 0x16, 0x16 }, +{ 0x00, 0x17, 0x17 }, +{ 0x00, 0x18, 0x18 }, +{ 0x00, 0x19, 0x19 }, +{ 0x00, 0x1A, 0x1A }, +{ 0x00, 0x1B, 0x1B }, +{ 0x00, 0x1C, 0x1C }, +{ 0x00, 0x1D, 0x1D }, +{ 0x00, 0x1E, 0x1E }, +{ 0x00, 0x1F, 0x1F }, +{ 0x00, 0x20, 0x20 }, +{ 0x00, 0x21, 0x21 }, +{ 0x00, 0x22, 0x22 }, +{ 0x00, 0x23, 0x23 }, +{ 0x00, 0x24, 0x24 }, +{ 0x00, 0x25, 0x25 }, +{ 0x00, 0x26, 0x26 }, +{ 0x00, 0x27, 0x27 }, +{ 0x00, 0x28, 0x28 }, +{ 0x00, 0x29, 0x29 }, +{ 0x00, 0x2A, 0x2A }, +{ 0x00, 0x2B, 0x2B }, +{ 0x00, 0x2C, 0x2C }, +{ 0x00, 0x2D, 0x2D }, +{ 0x00, 0x2E, 0x2E }, +{ 0x00, 0x2F, 0x2F }, +{ 0x00, 0x30, 0x30 }, +{ 0x00, 0x31, 0x31 }, +{ 0x00, 0x32, 0x32 }, +{ 0x00, 0x33, 0x33 }, +{ 0x00, 0x34, 0x34 }, +{ 0x00, 0x35, 0x35 }, +{ 0x00, 0x36, 0x36 }, +{ 0x00, 0x37, 0x37 }, +{ 0x00, 0x38, 0x38 }, +{ 0x00, 0x39, 0x39 }, +{ 0x00, 0x3A, 0x3A }, +{ 0x00, 0x3B, 0x3B }, +{ 0x00, 0x3C, 0x3C }, +{ 0x00, 0x3D, 0x3D }, +{ 0x00, 0x3E, 0x3E }, +{ 0x00, 0x3F, 0x3F }, +{ 0x00, 0x40, 0x40 }, +{ 0x01, 0x61, 0x41 }, +{ 0x01, 0x62, 0x42 }, +{ 0x01, 0x63, 0x43 }, +{ 0x01, 0x64, 0x44 }, +{ 0x01, 0x65, 0x45 }, +{ 0x01, 0x66, 0x46 }, +{ 0x01, 0x67, 0x47 }, +{ 0x01, 0x68, 0x48 }, +{ 0x01, 0x69, 0x49 }, +{ 0x01, 0x6A, 0x4A }, +{ 0x01, 0x6B, 0x4B }, +{ 0x01, 0x6C, 0x4C }, +{ 0x01, 0x6D, 0x4D }, +{ 0x01, 0x6E, 0x4E }, +{ 0x01, 0x6F, 0x4F }, +{ 0x01, 0x70, 0x50 }, +{ 0x01, 0x71, 0x51 }, +{ 0x01, 0x72, 0x52 }, +{ 0x01, 0x73, 0x53 }, +{ 0x01, 0x74, 0x54 }, +{ 0x01, 0x75, 0x55 }, +{ 0x01, 0x76, 0x56 }, +{ 0x01, 0x77, 0x57 }, +{ 0x01, 0x78, 0x58 }, +{ 0x01, 0x79, 0x59 }, +{ 0x01, 0x7A, 0x5A }, +{ 0x00, 0x5B, 0x5B }, +{ 0x00, 0x5C, 0x5C }, +{ 0x00, 0x5D, 0x5D }, +{ 0x00, 0x5E, 0x5E }, +{ 0x00, 0x5F, 0x5F }, +{ 0x00, 0x60, 0x60 }, +{ 0x00, 0x61, 0x41 }, +{ 0x00, 0x62, 0x42 }, +{ 0x00, 0x63, 0x43 }, +{ 0x00, 0x64, 0x44 }, +{ 0x00, 0x65, 0x45 }, +{ 0x00, 0x66, 0x46 }, +{ 0x00, 0x67, 0x47 }, +{ 0x00, 0x68, 0x48 }, +{ 0x00, 0x69, 0x49 }, +{ 0x00, 0x6A, 0x4A }, +{ 0x00, 0x6B, 0x4B }, +{ 0x00, 0x6C, 0x4C }, +{ 0x00, 0x6D, 0x4D }, +{ 0x00, 0x6E, 0x4E }, +{ 0x00, 0x6F, 0x4F }, +{ 0x00, 0x70, 0x50 }, +{ 0x00, 0x71, 0x51 }, +{ 0x00, 0x72, 0x52 }, +{ 0x00, 0x73, 0x53 }, +{ 0x00, 0x74, 0x54 }, +{ 0x00, 0x75, 0x55 }, +{ 0x00, 0x76, 0x56 }, +{ 0x00, 0x77, 0x57 }, +{ 0x00, 0x78, 0x58 }, +{ 0x00, 0x79, 0x59 }, +{ 0x00, 0x7A, 0x5A }, +{ 0x00, 0x7B, 0x7B }, +{ 0x00, 0x7C, 0x7C }, +{ 0x00, 0x7D, 0x7D }, +{ 0x00, 0x7E, 0x7E }, +{ 0x00, 0x7F, 0x7F }, +{ 0x00, 0x80, 0x80 }, +{ 0x00, 0x81, 0x81 }, +{ 0x00, 0x82, 0x82 }, +{ 0x00, 0x83, 0x83 }, +{ 0x00, 0x84, 0x84 }, +{ 0x00, 0x85, 0x85 }, +{ 0x00, 0x86, 0x86 }, +{ 0x00, 0x87, 0x87 }, +{ 0x00, 0x88, 0x88 }, +{ 0x00, 0x89, 0x89 }, +{ 0x00, 0x8A, 0x8A }, +{ 0x00, 0x8B, 0x8B }, +{ 0x00, 0x8C, 0x8C }, +{ 0x00, 0x8D, 0x8D }, +{ 0x00, 0x8E, 0x8E }, +{ 0x00, 0x8F, 0x8F }, +{ 0x00, 0x90, 0x90 }, +{ 0x00, 0x91, 0x91 }, +{ 0x00, 0x92, 0x92 }, +{ 0x00, 0x93, 0x93 }, +{ 0x00, 0x94, 0x94 }, +{ 0x00, 0x95, 0x95 }, +{ 0x00, 0x96, 0x96 }, +{ 0x00, 0x97, 0x97 }, +{ 0x00, 0x98, 0x98 }, +{ 0x00, 0x99, 0x99 }, +{ 0x00, 0x9A, 0x9A }, +{ 0x00, 0x9B, 0x9B }, +{ 0x00, 0x9C, 0x9C }, +{ 0x00, 0x9D, 0x9D }, +{ 0x00, 0x9E, 0x9E }, +{ 0x00, 0x9F, 0x9F }, +{ 0x00, 0xA0, 0xA0 }, +{ 0x00, 0xA1, 0xA1 }, +{ 0x00, 0xA2, 0xA2 }, +{ 0x00, 0xA3, 0xA3 }, +{ 0x00, 0xA4, 0xA4 }, +{ 0x00, 0xA5, 0xA5 }, +{ 0x00, 0xA6, 0xA6 }, +{ 0x00, 0xA7, 0xA7 }, +{ 0x01, 0xB8, 0xA8 }, +{ 0x00, 0xA9, 0xA9 }, +{ 0x01, 0xBA, 0xAA }, +{ 0x00, 0xAB, 0xAB }, +{ 0x00, 0xAC, 0xAC }, +{ 0x00, 0xAD, 0xAD }, +{ 0x00, 0xAE, 0xAE }, +{ 0x01, 0xBF, 0xAF }, +{ 0x00, 0xB0, 0xB0 }, +{ 0x00, 0xB1, 0xB1 }, +{ 0x00, 0xB2, 0xB2 }, +{ 0x00, 0xB3, 0xB3 }, +{ 0x00, 0xB4, 0xB4 }, +{ 0x00, 0xB5, 0xB5 }, +{ 0x00, 0xB6, 0xB6 }, +{ 0x00, 0xB7, 0xB7 }, +{ 0x00, 0xB8, 0xA8 }, +{ 0x00, 0xB9, 0xB9 }, +{ 0x00, 0xBA, 0xAA }, +{ 0x00, 0xBB, 0xBB }, +{ 0x00, 0xBC, 0xBC }, +{ 0x00, 0xBD, 0xBD }, +{ 0x00, 0xBE, 0xBE }, +{ 0x00, 0xBF, 0xAF }, +{ 0x01, 0xE0, 0xC0 }, +{ 0x01, 0xE1, 0xC1 }, +{ 0x01, 0xE2, 0xC2 }, +{ 0x01, 0xE3, 0xC3 }, +{ 0x01, 0xE4, 0xC4 }, +{ 0x01, 0xE5, 0xC5 }, +{ 0x01, 0xE6, 0xC6 }, +{ 0x01, 0xE7, 0xC7 }, +{ 0x01, 0xE8, 0xC8 }, +{ 0x01, 0xE9, 0xC9 }, +{ 0x01, 0xEA, 0xCA }, +{ 0x01, 0xEB, 0xCB }, +{ 0x01, 0xEC, 0xCC }, +{ 0x01, 0xED, 0xCD }, +{ 0x01, 0xEE, 0xCE }, +{ 0x01, 0xEF, 0xCF }, +{ 0x01, 0xF0, 0xD0 }, +{ 0x01, 0xF1, 0xD1 }, +{ 0x01, 0xF2, 0xD2 }, +{ 0x01, 0xF3, 0xD3 }, +{ 0x01, 0xF4, 0xD4 }, +{ 0x01, 0xF5, 0xD5 }, +{ 0x01, 0xF6, 0xD6 }, +{ 0x00, 0xD7, 0xD7 }, +{ 0x01, 0xF8, 0xD8 }, +{ 0x01, 0xF9, 0xD9 }, +{ 0x01, 0xFA, 0xDA }, +{ 0x01, 0xFB, 0xDB }, +{ 0x01, 0xFC, 0xDC }, +{ 0x01, 0xFD, 0xDD }, +{ 0x01, 0xFE, 0xDE }, +{ 0x00, 0xDF, 0xDF }, +{ 0x00, 0xE0, 0xC0 }, +{ 0x00, 0xE1, 0xC1 }, +{ 0x00, 0xE2, 0xC2 }, +{ 0x00, 0xE3, 0xC3 }, +{ 0x00, 0xE4, 0xC4 }, +{ 0x00, 0xE5, 0xC5 }, +{ 0x00, 0xE6, 0xC6 }, +{ 0x00, 0xE7, 0xC7 }, +{ 0x00, 0xE8, 0xC8 }, +{ 0x00, 0xE9, 0xC9 }, +{ 0x00, 0xEA, 0xCA }, +{ 0x00, 0xEB, 0xCB }, +{ 0x00, 0xEC, 0xCC }, +{ 0x00, 0xED, 0xCD }, +{ 0x00, 0xEE, 0xCE }, +{ 0x00, 0xEF, 0xCF }, +{ 0x00, 0xF0, 0xD0 }, +{ 0x00, 0xF1, 0xD1 }, +{ 0x00, 0xF2, 0xD2 }, +{ 0x00, 0xF3, 0xD3 }, +{ 0x00, 0xF4, 0xD4 }, +{ 0x00, 0xF5, 0xD5 }, +{ 0x00, 0xF6, 0xD6 }, +{ 0x00, 0xF7, 0xF7 }, +{ 0x00, 0xF8, 0xD8 }, +{ 0x00, 0xF9, 0xD9 }, +{ 0x00, 0xFA, 0xDA }, +{ 0x00, 0xFB, 0xDB }, +{ 0x00, 0xFC, 0xDC }, +{ 0x00, 0xFD, 0xDD }, +{ 0x00, 0xFE, 0xDE }, +{ 0x00, 0xFF, 0xFF }, +}; + + +struct cs_info iso14_tbl[] = { +{ 0x00, 0x00, 0x00 }, +{ 0x00, 0x01, 0x01 }, +{ 0x00, 0x02, 0x02 }, +{ 0x00, 0x03, 0x03 }, +{ 0x00, 0x04, 0x04 }, +{ 0x00, 0x05, 0x05 }, +{ 0x00, 0x06, 0x06 }, +{ 0x00, 0x07, 0x07 }, +{ 0x00, 0x08, 0x08 }, +{ 0x00, 0x09, 0x09 }, +{ 0x00, 0x0a, 0x0a }, +{ 0x00, 0x0b, 0x0b }, +{ 0x00, 0x0c, 0x0c }, +{ 0x00, 0x0d, 0x0d }, +{ 0x00, 0x0e, 0x0e }, +{ 0x00, 0x0f, 0x0f }, +{ 0x00, 0x10, 0x10 }, +{ 0x00, 0x11, 0x11 }, +{ 0x00, 0x12, 0x12 }, +{ 0x00, 0x13, 0x13 }, +{ 0x00, 0x14, 0x14 }, +{ 0x00, 0x15, 0x15 }, +{ 0x00, 0x16, 0x16 }, +{ 0x00, 0x17, 0x17 }, +{ 0x00, 0x18, 0x18 }, +{ 0x00, 0x19, 0x19 }, +{ 0x00, 0x1a, 0x1a }, +{ 0x00, 0x1b, 0x1b }, +{ 0x00, 0x1c, 0x1c }, +{ 0x00, 0x1d, 0x1d }, +{ 0x00, 0x1e, 0x1e }, +{ 0x00, 0x1f, 0x1f }, +{ 0x00, 0x20, 0x20 }, +{ 0x00, 0x21, 0x21 }, +{ 0x00, 0x22, 0x22 }, +{ 0x00, 0x23, 0x23 }, +{ 0x00, 0x24, 0x24 }, +{ 0x00, 0x25, 0x25 }, +{ 0x00, 0x26, 0x26 }, +{ 0x00, 0x27, 0x27 }, +{ 0x00, 0x28, 0x28 }, +{ 0x00, 0x29, 0x29 }, +{ 0x00, 0x2a, 0x2a }, +{ 0x00, 0x2b, 0x2b }, +{ 0x00, 0x2c, 0x2c }, +{ 0x00, 0x2d, 0x2d }, +{ 0x00, 0x2e, 0x2e }, +{ 0x00, 0x2f, 0x2f }, +{ 0x00, 0x30, 0x30 }, +{ 0x00, 0x31, 0x31 }, +{ 0x00, 0x32, 0x32 }, +{ 0x00, 0x33, 0x33 }, +{ 0x00, 0x34, 0x34 }, +{ 0x00, 0x35, 0x35 }, +{ 0x00, 0x36, 0x36 }, +{ 0x00, 0x37, 0x37 }, +{ 0x00, 0x38, 0x38 }, +{ 0x00, 0x39, 0x39 }, +{ 0x00, 0x3a, 0x3a }, +{ 0x00, 0x3b, 0x3b }, +{ 0x00, 0x3c, 0x3c }, +{ 0x00, 0x3d, 0x3d }, +{ 0x00, 0x3e, 0x3e }, +{ 0x00, 0x3f, 0x3f }, +{ 0x00, 0x40, 0x40 }, +{ 0x01, 0x61, 0x41 }, +{ 0x01, 0x62, 0x42 }, +{ 0x01, 0x63, 0x43 }, +{ 0x01, 0x64, 0x44 }, +{ 0x01, 0x65, 0x45 }, +{ 0x01, 0x66, 0x46 }, +{ 0x01, 0x67, 0x47 }, +{ 0x01, 0x68, 0x48 }, +{ 0x01, 0x69, 0x49 }, +{ 0x01, 0x6a, 0x4a }, +{ 0x01, 0x6b, 0x4b }, +{ 0x01, 0x6c, 0x4c }, +{ 0x01, 0x6d, 0x4d }, +{ 0x01, 0x6e, 0x4e }, +{ 0x01, 0x6f, 0x4f }, +{ 0x01, 0x70, 0x50 }, +{ 0x01, 0x71, 0x51 }, +{ 0x01, 0x72, 0x52 }, +{ 0x01, 0x73, 0x53 }, +{ 0x01, 0x74, 0x54 }, +{ 0x01, 0x75, 0x55 }, +{ 0x01, 0x76, 0x56 }, +{ 0x01, 0x77, 0x57 }, +{ 0x01, 0x78, 0x58 }, +{ 0x01, 0x79, 0x59 }, +{ 0x01, 0x7a, 0x5a }, +{ 0x00, 0x5b, 0x5b }, +{ 0x00, 0x5c, 0x5c }, +{ 0x00, 0x5d, 0x5d }, +{ 0x00, 0x5e, 0x5e }, +{ 0x00, 0x5f, 0x5f }, +{ 0x00, 0x60, 0x60 }, +{ 0x00, 0x61, 0x41 }, +{ 0x00, 0x62, 0x42 }, +{ 0x00, 0x63, 0x43 }, +{ 0x00, 0x64, 0x44 }, +{ 0x00, 0x65, 0x45 }, +{ 0x00, 0x66, 0x46 }, +{ 0x00, 0x67, 0x47 }, +{ 0x00, 0x68, 0x48 }, +{ 0x00, 0x69, 0x49 }, +{ 0x00, 0x6a, 0x4a }, +{ 0x00, 0x6b, 0x4b }, +{ 0x00, 0x6c, 0x4c }, +{ 0x00, 0x6d, 0x4d }, +{ 0x00, 0x6e, 0x4e }, +{ 0x00, 0x6f, 0x4f }, +{ 0x00, 0x70, 0x50 }, +{ 0x00, 0x71, 0x51 }, +{ 0x00, 0x72, 0x52 }, +{ 0x00, 0x73, 0x53 }, +{ 0x00, 0x74, 0x54 }, +{ 0x00, 0x75, 0x55 }, +{ 0x00, 0x76, 0x56 }, +{ 0x00, 0x77, 0x57 }, +{ 0x00, 0x78, 0x58 }, +{ 0x00, 0x79, 0x59 }, +{ 0x00, 0x7a, 0x5a }, +{ 0x00, 0x7b, 0x7b }, +{ 0x00, 0x7c, 0x7c }, +{ 0x00, 0x7d, 0x7d }, +{ 0x00, 0x7e, 0x7e }, +{ 0x00, 0x7f, 0x7f }, +{ 0x00, 0x80, 0x80 }, +{ 0x00, 0x81, 0x81 }, +{ 0x00, 0x82, 0x82 }, +{ 0x00, 0x83, 0x83 }, +{ 0x00, 0x84, 0x84 }, +{ 0x00, 0x85, 0x85 }, +{ 0x00, 0x86, 0x86 }, +{ 0x00, 0x87, 0x87 }, +{ 0x00, 0x88, 0x88 }, +{ 0x00, 0x89, 0x89 }, +{ 0x00, 0x8a, 0x8a }, +{ 0x00, 0x8b, 0x8b }, +{ 0x00, 0x8c, 0x8c }, +{ 0x00, 0x8d, 0x8d }, +{ 0x00, 0x8e, 0x8e }, +{ 0x00, 0x8f, 0x8f }, +{ 0x00, 0x90, 0x90 }, +{ 0x00, 0x91, 0x91 }, +{ 0x00, 0x92, 0x92 }, +{ 0x00, 0x93, 0x93 }, +{ 0x00, 0x94, 0x94 }, +{ 0x00, 0x95, 0x95 }, +{ 0x00, 0x96, 0x96 }, +{ 0x00, 0x97, 0x97 }, +{ 0x00, 0x98, 0x98 }, +{ 0x00, 0x99, 0x99 }, +{ 0x00, 0x9a, 0x9a }, +{ 0x00, 0x9b, 0x9b }, +{ 0x00, 0x9c, 0x9c }, +{ 0x00, 0x9d, 0x9d }, +{ 0x00, 0x9e, 0x9e }, +{ 0x00, 0x9f, 0x9f }, +{ 0x00, 0xa0, 0xa0 }, +{ 0x01, 0xa2, 0xa1 }, +{ 0x00, 0xa2, 0xa1 }, +{ 0x00, 0xa3, 0xa3 }, +{ 0x01, 0xa5, 0xa4 }, +{ 0x00, 0xa5, 0xa4 }, +{ 0x01, 0xa6, 0xab }, +{ 0x00, 0xa7, 0xa7 }, +{ 0x01, 0xb8, 0xa8 }, +{ 0x00, 0xa9, 0xa9 }, +{ 0x01, 0xba, 0xaa }, +{ 0x00, 0xab, 0xa6 }, +{ 0x01, 0xbc, 0xac }, +{ 0x00, 0xad, 0xad }, +{ 0x00, 0xae, 0xae }, +{ 0x01, 0xff, 0xaf }, +{ 0x01, 0xb1, 0xb0 }, +{ 0x00, 0xb1, 0xb0 }, +{ 0x01, 0xb3, 0xb2 }, +{ 0x00, 0xb3, 0xb2 }, +{ 0x01, 0xb5, 0xb4 }, +{ 0x00, 0xb5, 0xb4 }, +{ 0x00, 0xb6, 0xb6 }, +{ 0x01, 0xb9, 0xb7 }, +{ 0x00, 0xb8, 0xa8 }, +{ 0x00, 0xb9, 0xb6 }, +{ 0x00, 0xba, 0xaa }, +{ 0x01, 0xbf, 0xbb }, +{ 0x00, 0xbc, 0xac }, +{ 0x01, 0xbe, 0xbd }, +{ 0x00, 0xbe, 0xbd }, +{ 0x00, 0xbf, 0xbb }, +{ 0x01, 0xe0, 0xc0 }, +{ 0x01, 0xe1, 0xc1 }, +{ 0x01, 0xe2, 0xc2 }, +{ 0x01, 0xe3, 0xc3 }, +{ 0x01, 0xe4, 0xc4 }, +{ 0x01, 0xe5, 0xc5 }, +{ 0x01, 0xe6, 0xc6 }, +{ 0x01, 0xe7, 0xc7 }, +{ 0x01, 0xe8, 0xc8 }, +{ 0x01, 0xe9, 0xc9 }, +{ 0x01, 0xea, 0xca }, +{ 0x01, 0xeb, 0xcb }, +{ 0x01, 0xec, 0xcc }, +{ 0x01, 0xed, 0xcd }, +{ 0x01, 0xee, 0xce }, +{ 0x01, 0xef, 0xcf }, +{ 0x01, 0xf0, 0xd0 }, +{ 0x01, 0xf1, 0xd1 }, +{ 0x01, 0xf2, 0xd2 }, +{ 0x01, 0xf3, 0xd3 }, +{ 0x01, 0xf4, 0xd4 }, +{ 0x01, 0xf5, 0xd5 }, +{ 0x01, 0xf6, 0xd6 }, +{ 0x01, 0xf7, 0xd7 }, +{ 0x01, 0xf8, 0xd8 }, +{ 0x01, 0xf9, 0xd9 }, +{ 0x01, 0xfa, 0xda }, +{ 0x01, 0xfb, 0xdb }, +{ 0x01, 0xfc, 0xdc }, +{ 0x01, 0xfd, 0xdd }, +{ 0x01, 0xfe, 0xde }, +{ 0x00, 0xdf, 0xdf }, +{ 0x00, 0xe0, 0xc0 }, +{ 0x00, 0xe1, 0xc1 }, +{ 0x00, 0xe2, 0xc2 }, +{ 0x00, 0xe3, 0xc3 }, +{ 0x00, 0xe4, 0xc4 }, +{ 0x00, 0xe5, 0xc5 }, +{ 0x00, 0xe6, 0xc6 }, +{ 0x00, 0xe7, 0xc7 }, +{ 0x00, 0xe8, 0xc8 }, +{ 0x00, 0xe9, 0xc9 }, +{ 0x00, 0xea, 0xca }, +{ 0x00, 0xeb, 0xcb }, +{ 0x00, 0xec, 0xcc }, +{ 0x00, 0xed, 0xcd }, +{ 0x00, 0xee, 0xce }, +{ 0x00, 0xef, 0xcf }, +{ 0x00, 0xf0, 0xd0 }, +{ 0x00, 0xf1, 0xd1 }, +{ 0x00, 0xf2, 0xd2 }, +{ 0x00, 0xf3, 0xd3 }, +{ 0x00, 0xf4, 0xd4 }, +{ 0x00, 0xf5, 0xd5 }, +{ 0x00, 0xf6, 0xd6 }, +{ 0x00, 0xf7, 0xd7 }, +{ 0x00, 0xf8, 0xd8 }, +{ 0x00, 0xf9, 0xd9 }, +{ 0x00, 0xfa, 0xda }, +{ 0x00, 0xfb, 0xdb }, +{ 0x00, 0xfc, 0xdc }, +{ 0x00, 0xfd, 0xdd }, +{ 0x00, 0xfe, 0xde }, +{ 0x00, 0xff, 0xff }, +}; + +struct cs_info iso15_tbl[] = { +{ 0x00, 0x00, 0x00 }, +{ 0x00, 0x01, 0x01 }, +{ 0x00, 0x02, 0x02 }, +{ 0x00, 0x03, 0x03 }, +{ 0x00, 0x04, 0x04 }, +{ 0x00, 0x05, 0x05 }, +{ 0x00, 0x06, 0x06 }, +{ 0x00, 0x07, 0x07 }, +{ 0x00, 0x08, 0x08 }, +{ 0x00, 0x09, 0x09 }, +{ 0x00, 0x0a, 0x0a }, +{ 0x00, 0x0b, 0x0b }, +{ 0x00, 0x0c, 0x0c }, +{ 0x00, 0x0d, 0x0d }, +{ 0x00, 0x0e, 0x0e }, +{ 0x00, 0x0f, 0x0f }, +{ 0x00, 0x10, 0x10 }, +{ 0x00, 0x11, 0x11 }, +{ 0x00, 0x12, 0x12 }, +{ 0x00, 0x13, 0x13 }, +{ 0x00, 0x14, 0x14 }, +{ 0x00, 0x15, 0x15 }, +{ 0x00, 0x16, 0x16 }, +{ 0x00, 0x17, 0x17 }, +{ 0x00, 0x18, 0x18 }, +{ 0x00, 0x19, 0x19 }, +{ 0x00, 0x1a, 0x1a }, +{ 0x00, 0x1b, 0x1b }, +{ 0x00, 0x1c, 0x1c }, +{ 0x00, 0x1d, 0x1d }, +{ 0x00, 0x1e, 0x1e }, +{ 0x00, 0x1f, 0x1f }, +{ 0x00, 0x20, 0x20 }, +{ 0x00, 0x21, 0x21 }, +{ 0x00, 0x22, 0x22 }, +{ 0x00, 0x23, 0x23 }, +{ 0x00, 0x24, 0x24 }, +{ 0x00, 0x25, 0x25 }, +{ 0x00, 0x26, 0x26 }, +{ 0x00, 0x27, 0x27 }, +{ 0x00, 0x28, 0x28 }, +{ 0x00, 0x29, 0x29 }, +{ 0x00, 0x2a, 0x2a }, +{ 0x00, 0x2b, 0x2b }, +{ 0x00, 0x2c, 0x2c }, +{ 0x00, 0x2d, 0x2d }, +{ 0x00, 0x2e, 0x2e }, +{ 0x00, 0x2f, 0x2f }, +{ 0x00, 0x30, 0x30 }, +{ 0x00, 0x31, 0x31 }, +{ 0x00, 0x32, 0x32 }, +{ 0x00, 0x33, 0x33 }, +{ 0x00, 0x34, 0x34 }, +{ 0x00, 0x35, 0x35 }, +{ 0x00, 0x36, 0x36 }, +{ 0x00, 0x37, 0x37 }, +{ 0x00, 0x38, 0x38 }, +{ 0x00, 0x39, 0x39 }, +{ 0x00, 0x3a, 0x3a }, +{ 0x00, 0x3b, 0x3b }, +{ 0x00, 0x3c, 0x3c }, +{ 0x00, 0x3d, 0x3d }, +{ 0x00, 0x3e, 0x3e }, +{ 0x00, 0x3f, 0x3f }, +{ 0x00, 0x40, 0x40 }, +{ 0x01, 0x61, 0x41 }, +{ 0x01, 0x62, 0x42 }, +{ 0x01, 0x63, 0x43 }, +{ 0x01, 0x64, 0x44 }, +{ 0x01, 0x65, 0x45 }, +{ 0x01, 0x66, 0x46 }, +{ 0x01, 0x67, 0x47 }, +{ 0x01, 0x68, 0x48 }, +{ 0x01, 0x69, 0x49 }, +{ 0x01, 0x6a, 0x4a }, +{ 0x01, 0x6b, 0x4b }, +{ 0x01, 0x6c, 0x4c }, +{ 0x01, 0x6d, 0x4d }, +{ 0x01, 0x6e, 0x4e }, +{ 0x01, 0x6f, 0x4f }, +{ 0x01, 0x70, 0x50 }, +{ 0x01, 0x71, 0x51 }, +{ 0x01, 0x72, 0x52 }, +{ 0x01, 0x73, 0x53 }, +{ 0x01, 0x74, 0x54 }, +{ 0x01, 0x75, 0x55 }, +{ 0x01, 0x76, 0x56 }, +{ 0x01, 0x77, 0x57 }, +{ 0x01, 0x78, 0x58 }, +{ 0x01, 0x79, 0x59 }, +{ 0x01, 0x7a, 0x5a }, +{ 0x00, 0x5b, 0x5b }, +{ 0x00, 0x5c, 0x5c }, +{ 0x00, 0x5d, 0x5d }, +{ 0x00, 0x5e, 0x5e }, +{ 0x00, 0x5f, 0x5f }, +{ 0x00, 0x60, 0x60 }, +{ 0x00, 0x61, 0x41 }, +{ 0x00, 0x62, 0x42 }, +{ 0x00, 0x63, 0x43 }, +{ 0x00, 0x64, 0x44 }, +{ 0x00, 0x65, 0x45 }, +{ 0x00, 0x66, 0x46 }, +{ 0x00, 0x67, 0x47 }, +{ 0x00, 0x68, 0x48 }, +{ 0x00, 0x69, 0x49 }, +{ 0x00, 0x6a, 0x4a }, +{ 0x00, 0x6b, 0x4b }, +{ 0x00, 0x6c, 0x4c }, +{ 0x00, 0x6d, 0x4d }, +{ 0x00, 0x6e, 0x4e }, +{ 0x00, 0x6f, 0x4f }, +{ 0x00, 0x70, 0x50 }, +{ 0x00, 0x71, 0x51 }, +{ 0x00, 0x72, 0x52 }, +{ 0x00, 0x73, 0x53 }, +{ 0x00, 0x74, 0x54 }, +{ 0x00, 0x75, 0x55 }, +{ 0x00, 0x76, 0x56 }, +{ 0x00, 0x77, 0x57 }, +{ 0x00, 0x78, 0x58 }, +{ 0x00, 0x79, 0x59 }, +{ 0x00, 0x7a, 0x5a }, +{ 0x00, 0x7b, 0x7b }, +{ 0x00, 0x7c, 0x7c }, +{ 0x00, 0x7d, 0x7d }, +{ 0x00, 0x7e, 0x7e }, +{ 0x00, 0x7f, 0x7f }, +{ 0x00, 0x80, 0x80 }, +{ 0x00, 0x81, 0x81 }, +{ 0x00, 0x82, 0x82 }, +{ 0x00, 0x83, 0x83 }, +{ 0x00, 0x84, 0x84 }, +{ 0x00, 0x85, 0x85 }, +{ 0x00, 0x86, 0x86 }, +{ 0x00, 0x87, 0x87 }, +{ 0x00, 0x88, 0x88 }, +{ 0x00, 0x89, 0x89 }, +{ 0x00, 0x8a, 0x8a }, +{ 0x00, 0x8b, 0x8b }, +{ 0x00, 0x8c, 0x8c }, +{ 0x00, 0x8d, 0x8d }, +{ 0x00, 0x8e, 0x8e }, +{ 0x00, 0x8f, 0x8f }, +{ 0x00, 0x90, 0x90 }, +{ 0x00, 0x91, 0x91 }, +{ 0x00, 0x92, 0x92 }, +{ 0x00, 0x93, 0x93 }, +{ 0x00, 0x94, 0x94 }, +{ 0x00, 0x95, 0x95 }, +{ 0x00, 0x96, 0x96 }, +{ 0x00, 0x97, 0x97 }, +{ 0x00, 0x98, 0x98 }, +{ 0x00, 0x99, 0x99 }, +{ 0x00, 0x9a, 0x9a }, +{ 0x00, 0x9b, 0x9b }, +{ 0x00, 0x9c, 0x9c }, +{ 0x00, 0x9d, 0x9d }, +{ 0x00, 0x9e, 0x9e }, +{ 0x00, 0x9f, 0x9f }, +{ 0x00, 0xa0, 0xa0 }, +{ 0x00, 0xa1, 0xa1 }, +{ 0x00, 0xa2, 0xa2 }, +{ 0x00, 0xa3, 0xa3 }, +{ 0x00, 0xa4, 0xa4 }, +{ 0x00, 0xa5, 0xa5 }, +{ 0x01, 0xa8, 0xa6 }, +{ 0x00, 0xa7, 0xa7 }, +{ 0x00, 0xa8, 0xa6 }, +{ 0x00, 0xa9, 0xa9 }, +{ 0x00, 0xaa, 0xaa }, +{ 0x00, 0xab, 0xab }, +{ 0x00, 0xac, 0xac }, +{ 0x00, 0xad, 0xad }, +{ 0x00, 0xae, 0xae }, +{ 0x00, 0xaf, 0xaf }, +{ 0x00, 0xb0, 0xb0 }, +{ 0x00, 0xb1, 0xb1 }, +{ 0x00, 0xb2, 0xb2 }, +{ 0x00, 0xb3, 0xb3 }, +{ 0x01, 0xb8, 0xb4 }, +{ 0x00, 0xb5, 0xb5 }, +{ 0x00, 0xb6, 0xb6 }, +{ 0x00, 0xb7, 0xb7 }, +{ 0x00, 0xb8, 0xb4 }, +{ 0x00, 0xb9, 0xb9 }, +{ 0x00, 0xba, 0xba }, +{ 0x00, 0xbb, 0xbb }, +{ 0x01, 0xbd, 0xbc }, +{ 0x00, 0xbd, 0xbc }, +{ 0x01, 0xff, 0xbe }, +{ 0x00, 0xbf, 0xbf }, +{ 0x01, 0xe0, 0xc0 }, +{ 0x01, 0xe1, 0xc1 }, +{ 0x01, 0xe2, 0xc2 }, +{ 0x01, 0xe3, 0xc3 }, +{ 0x01, 0xe4, 0xc4 }, +{ 0x01, 0xe5, 0xc5 }, +{ 0x01, 0xe6, 0xc6 }, +{ 0x01, 0xe7, 0xc7 }, +{ 0x01, 0xe8, 0xc8 }, +{ 0x01, 0xe9, 0xc9 }, +{ 0x01, 0xea, 0xca }, +{ 0x01, 0xeb, 0xcb }, +{ 0x01, 0xec, 0xcc }, +{ 0x01, 0xed, 0xcd }, +{ 0x01, 0xee, 0xce }, +{ 0x01, 0xef, 0xcf }, +{ 0x01, 0xf0, 0xd0 }, +{ 0x01, 0xf1, 0xd1 }, +{ 0x01, 0xf2, 0xd2 }, +{ 0x01, 0xf3, 0xd3 }, +{ 0x01, 0xf4, 0xd4 }, +{ 0x01, 0xf5, 0xd5 }, +{ 0x01, 0xf6, 0xd6 }, +{ 0x00, 0xd7, 0xd7 }, +{ 0x01, 0xf8, 0xd8 }, +{ 0x01, 0xf9, 0xd9 }, +{ 0x01, 0xfa, 0xda }, +{ 0x01, 0xfb, 0xdb }, +{ 0x01, 0xfc, 0xdc }, +{ 0x01, 0xfd, 0xdd }, +{ 0x01, 0xfe, 0xde }, +{ 0x00, 0xdf, 0xdf }, +{ 0x00, 0xe0, 0xc0 }, +{ 0x00, 0xe1, 0xc1 }, +{ 0x00, 0xe2, 0xc2 }, +{ 0x00, 0xe3, 0xc3 }, +{ 0x00, 0xe4, 0xc4 }, +{ 0x00, 0xe5, 0xc5 }, +{ 0x00, 0xe6, 0xc6 }, +{ 0x00, 0xe7, 0xc7 }, +{ 0x00, 0xe8, 0xc8 }, +{ 0x00, 0xe9, 0xc9 }, +{ 0x00, 0xea, 0xca }, +{ 0x00, 0xeb, 0xcb }, +{ 0x00, 0xec, 0xcc }, +{ 0x00, 0xed, 0xcd }, +{ 0x00, 0xee, 0xce }, +{ 0x00, 0xef, 0xcf }, +{ 0x00, 0xf0, 0xd0 }, +{ 0x00, 0xf1, 0xd1 }, +{ 0x00, 0xf2, 0xd2 }, +{ 0x00, 0xf3, 0xd3 }, +{ 0x00, 0xf4, 0xd4 }, +{ 0x00, 0xf5, 0xd5 }, +{ 0x00, 0xf6, 0xd6 }, +{ 0x00, 0xf7, 0xf7 }, +{ 0x00, 0xf8, 0xd8 }, +{ 0x00, 0xf9, 0xd9 }, +{ 0x00, 0xfa, 0xda }, +{ 0x00, 0xfb, 0xdb }, +{ 0x00, 0xfc, 0xdc }, +{ 0x00, 0xfd, 0xdd }, +{ 0x00, 0xfe, 0xde }, +{ 0x00, 0xff, 0xbe }, +}; + +struct cs_info iscii_devanagari_tbl[] = { +{ 0x00, 0x00, 0x00 }, +{ 0x00, 0x01, 0x01 }, +{ 0x00, 0x02, 0x02 }, +{ 0x00, 0x03, 0x03 }, +{ 0x00, 0x04, 0x04 }, +{ 0x00, 0x05, 0x05 }, +{ 0x00, 0x06, 0x06 }, +{ 0x00, 0x07, 0x07 }, +{ 0x00, 0x08, 0x08 }, +{ 0x00, 0x09, 0x09 }, +{ 0x00, 0x0a, 0x0a }, +{ 0x00, 0x0b, 0x0b }, +{ 0x00, 0x0c, 0x0c }, +{ 0x00, 0x0d, 0x0d }, +{ 0x00, 0x0e, 0x0e }, +{ 0x00, 0x0f, 0x0f }, +{ 0x00, 0x10, 0x10 }, +{ 0x00, 0x11, 0x11 }, +{ 0x00, 0x12, 0x12 }, +{ 0x00, 0x13, 0x13 }, +{ 0x00, 0x14, 0x14 }, +{ 0x00, 0x15, 0x15 }, +{ 0x00, 0x16, 0x16 }, +{ 0x00, 0x17, 0x17 }, +{ 0x00, 0x18, 0x18 }, +{ 0x00, 0x19, 0x19 }, +{ 0x00, 0x1a, 0x1a }, +{ 0x00, 0x1b, 0x1b }, +{ 0x00, 0x1c, 0x1c }, +{ 0x00, 0x1d, 0x1d }, +{ 0x00, 0x1e, 0x1e }, +{ 0x00, 0x1f, 0x1f }, +{ 0x00, 0x20, 0x20 }, +{ 0x00, 0x21, 0x21 }, +{ 0x00, 0x22, 0x22 }, +{ 0x00, 0x23, 0x23 }, +{ 0x00, 0x24, 0x24 }, +{ 0x00, 0x25, 0x25 }, +{ 0x00, 0x26, 0x26 }, +{ 0x00, 0x27, 0x27 }, +{ 0x00, 0x28, 0x28 }, +{ 0x00, 0x29, 0x29 }, +{ 0x00, 0x2a, 0x2a }, +{ 0x00, 0x2b, 0x2b }, +{ 0x00, 0x2c, 0x2c }, +{ 0x00, 0x2d, 0x2d }, +{ 0x00, 0x2e, 0x2e }, +{ 0x00, 0x2f, 0x2f }, +{ 0x00, 0x30, 0x30 }, +{ 0x00, 0x31, 0x31 }, +{ 0x00, 0x32, 0x32 }, +{ 0x00, 0x33, 0x33 }, +{ 0x00, 0x34, 0x34 }, +{ 0x00, 0x35, 0x35 }, +{ 0x00, 0x36, 0x36 }, +{ 0x00, 0x37, 0x37 }, +{ 0x00, 0x38, 0x38 }, +{ 0x00, 0x39, 0x39 }, +{ 0x00, 0x3a, 0x3a }, +{ 0x00, 0x3b, 0x3b }, +{ 0x00, 0x3c, 0x3c }, +{ 0x00, 0x3d, 0x3d }, +{ 0x00, 0x3e, 0x3e }, +{ 0x00, 0x3f, 0x3f }, +{ 0x00, 0x40, 0x40 }, +{ 0x01, 0x61, 0x41 }, +{ 0x01, 0x62, 0x42 }, +{ 0x01, 0x63, 0x43 }, +{ 0x01, 0x64, 0x44 }, +{ 0x01, 0x65, 0x45 }, +{ 0x01, 0x66, 0x46 }, +{ 0x01, 0x67, 0x47 }, +{ 0x01, 0x68, 0x48 }, +{ 0x01, 0x69, 0x49 }, +{ 0x01, 0x6a, 0x4a }, +{ 0x01, 0x6b, 0x4b }, +{ 0x01, 0x6c, 0x4c }, +{ 0x01, 0x6d, 0x4d }, +{ 0x01, 0x6e, 0x4e }, +{ 0x01, 0x6f, 0x4f }, +{ 0x01, 0x70, 0x50 }, +{ 0x01, 0x71, 0x51 }, +{ 0x01, 0x72, 0x52 }, +{ 0x01, 0x73, 0x53 }, +{ 0x01, 0x74, 0x54 }, +{ 0x01, 0x75, 0x55 }, +{ 0x01, 0x76, 0x56 }, +{ 0x01, 0x77, 0x57 }, +{ 0x01, 0x78, 0x58 }, +{ 0x01, 0x79, 0x59 }, +{ 0x01, 0x7a, 0x5a }, +{ 0x00, 0x5b, 0x5b }, +{ 0x00, 0x5c, 0x5c }, +{ 0x00, 0x5d, 0x5d }, +{ 0x00, 0x5e, 0x5e }, +{ 0x00, 0x5f, 0x5f }, +{ 0x00, 0x60, 0x60 }, +{ 0x00, 0x61, 0x41 }, +{ 0x00, 0x62, 0x42 }, +{ 0x00, 0x63, 0x43 }, +{ 0x00, 0x64, 0x44 }, +{ 0x00, 0x65, 0x45 }, +{ 0x00, 0x66, 0x46 }, +{ 0x00, 0x67, 0x47 }, +{ 0x00, 0x68, 0x48 }, +{ 0x00, 0x69, 0x49 }, +{ 0x00, 0x6a, 0x4a }, +{ 0x00, 0x6b, 0x4b }, +{ 0x00, 0x6c, 0x4c }, +{ 0x00, 0x6d, 0x4d }, +{ 0x00, 0x6e, 0x4e }, +{ 0x00, 0x6f, 0x4f }, +{ 0x00, 0x70, 0x50 }, +{ 0x00, 0x71, 0x51 }, +{ 0x00, 0x72, 0x52 }, +{ 0x00, 0x73, 0x53 }, +{ 0x00, 0x74, 0x54 }, +{ 0x00, 0x75, 0x55 }, +{ 0x00, 0x76, 0x56 }, +{ 0x00, 0x77, 0x57 }, +{ 0x00, 0x78, 0x58 }, +{ 0x00, 0x79, 0x59 }, +{ 0x00, 0x7a, 0x5a }, +{ 0x00, 0x7b, 0x7b }, +{ 0x00, 0x7c, 0x7c }, +{ 0x00, 0x7d, 0x7d }, +{ 0x00, 0x7e, 0x7e }, +{ 0x00, 0x7f, 0x7f }, +{ 0x00, 0x80, 0x80 }, +{ 0x00, 0x81, 0x81 }, +{ 0x00, 0x82, 0x82 }, +{ 0x00, 0x83, 0x83 }, +{ 0x00, 0x84, 0x84 }, +{ 0x00, 0x85, 0x85 }, +{ 0x00, 0x86, 0x86 }, +{ 0x00, 0x87, 0x87 }, +{ 0x00, 0x88, 0x88 }, +{ 0x00, 0x89, 0x89 }, +{ 0x00, 0x8a, 0x8a }, +{ 0x00, 0x8b, 0x8b }, +{ 0x00, 0x8c, 0x8c }, +{ 0x00, 0x8d, 0x8d }, +{ 0x00, 0x8e, 0x8e }, +{ 0x00, 0x8f, 0x8f }, +{ 0x00, 0x90, 0x90 }, +{ 0x00, 0x91, 0x91 }, +{ 0x00, 0x92, 0x92 }, +{ 0x00, 0x93, 0x93 }, +{ 0x00, 0x94, 0x94 }, +{ 0x00, 0x95, 0x95 }, +{ 0x00, 0x96, 0x96 }, +{ 0x00, 0x97, 0x97 }, +{ 0x00, 0x98, 0x98 }, +{ 0x00, 0x99, 0x99 }, +{ 0x00, 0x9a, 0x9a }, +{ 0x00, 0x9b, 0x9b }, +{ 0x00, 0x9c, 0x9c }, +{ 0x00, 0x9d, 0x9d }, +{ 0x00, 0x9e, 0x9e }, +{ 0x00, 0x9f, 0x9f }, +{ 0x00, 0xa0, 0xa0 }, +{ 0x00, 0xa1, 0xa1 }, +{ 0x00, 0xa2, 0xa2 }, +{ 0x00, 0xa3, 0xa3 }, +{ 0x00, 0xa4, 0xa4 }, +{ 0x00, 0xa5, 0xa5 }, +{ 0x00, 0xa6, 0xa6 }, +{ 0x00, 0xa7, 0xa7 }, +{ 0x00, 0xa8, 0xa8 }, +{ 0x00, 0xa9, 0xa9 }, +{ 0x00, 0xaa, 0xaa }, +{ 0x00, 0xab, 0xab }, +{ 0x00, 0xac, 0xac }, +{ 0x00, 0xad, 0xad }, +{ 0x00, 0xae, 0xae }, +{ 0x00, 0xaf, 0xaf }, +{ 0x00, 0xb0, 0xb0 }, +{ 0x00, 0xb1, 0xb1 }, +{ 0x00, 0xb2, 0xb2 }, +{ 0x00, 0xb3, 0xb3 }, +{ 0x00, 0xb4, 0xb4 }, +{ 0x00, 0xb5, 0xb5 }, +{ 0x00, 0xb6, 0xb6 }, +{ 0x00, 0xb7, 0xb7 }, +{ 0x00, 0xb8, 0xb8 }, +{ 0x00, 0xb9, 0xb9 }, +{ 0x00, 0xba, 0xba }, +{ 0x00, 0xbb, 0xbb }, +{ 0x00, 0xbc, 0xbc }, +{ 0x00, 0xbd, 0xbd }, +{ 0x00, 0xbe, 0xbe }, +{ 0x00, 0xbf, 0xbf }, +{ 0x00, 0xc0, 0xc0 }, +{ 0x00, 0xc1, 0xc1 }, +{ 0x00, 0xc2, 0xc2 }, +{ 0x00, 0xc3, 0xc3 }, +{ 0x00, 0xc4, 0xc4 }, +{ 0x00, 0xc5, 0xc5 }, +{ 0x00, 0xc6, 0xc6 }, +{ 0x00, 0xc7, 0xc7 }, +{ 0x00, 0xc8, 0xc8 }, +{ 0x00, 0xc9, 0xc9 }, +{ 0x00, 0xca, 0xca }, +{ 0x00, 0xcb, 0xcb }, +{ 0x00, 0xcc, 0xcc }, +{ 0x00, 0xcd, 0xcd }, +{ 0x00, 0xce, 0xce }, +{ 0x00, 0xcf, 0xcf }, +{ 0x00, 0xd0, 0xd0 }, +{ 0x00, 0xd1, 0xd1 }, +{ 0x00, 0xd2, 0xd2 }, +{ 0x00, 0xd3, 0xd3 }, +{ 0x00, 0xd4, 0xd4 }, +{ 0x00, 0xd5, 0xd5 }, +{ 0x00, 0xd6, 0xd6 }, +{ 0x00, 0xd7, 0xd7 }, +{ 0x00, 0xd8, 0xd8 }, +{ 0x00, 0xd9, 0xd9 }, +{ 0x00, 0xda, 0xda }, +{ 0x00, 0xdb, 0xdb }, +{ 0x00, 0xdc, 0xdc }, +{ 0x00, 0xdd, 0xdd }, +{ 0x00, 0xde, 0xde }, +{ 0x00, 0xdf, 0xdf }, +{ 0x00, 0xe0, 0xe0 }, +{ 0x00, 0xe1, 0xe1 }, +{ 0x00, 0xe2, 0xe2 }, +{ 0x00, 0xe3, 0xe3 }, +{ 0x00, 0xe4, 0xe4 }, +{ 0x00, 0xe5, 0xe5 }, +{ 0x00, 0xe6, 0xe6 }, +{ 0x00, 0xe7, 0xe7 }, +{ 0x00, 0xe8, 0xe8 }, +{ 0x00, 0xe9, 0xe9 }, +{ 0x00, 0xea, 0xea }, +{ 0x00, 0xeb, 0xeb }, +{ 0x00, 0xec, 0xec }, +{ 0x00, 0xed, 0xed }, +{ 0x00, 0xee, 0xee }, +{ 0x00, 0xef, 0xef }, +{ 0x00, 0xf0, 0xf0 }, +{ 0x00, 0xf1, 0xf1 }, +{ 0x00, 0xf2, 0xf2 }, +{ 0x00, 0xf3, 0xf3 }, +{ 0x00, 0xf4, 0xf4 }, +{ 0x00, 0xf5, 0xf5 }, +{ 0x00, 0xf6, 0xf6 }, +{ 0x00, 0xf7, 0xf7 }, +{ 0x00, 0xf8, 0xf8 }, +{ 0x00, 0xf9, 0xf9 }, +{ 0x00, 0xfa, 0xfa }, +{ 0x00, 0xfb, 0xfb }, +{ 0x00, 0xfc, 0xfc }, +{ 0x00, 0xfd, 0xfd }, +{ 0x00, 0xfe, 0xfe }, +{ 0x00, 0xff, 0xff }, +}; + +struct enc_entry encds[] = { +{"ISO8859-1",iso1_tbl}, +{"ISO8859-2",iso2_tbl}, +{"ISO8859-3",iso3_tbl}, +{"ISO8859-4",iso4_tbl}, +{"ISO8859-5",iso5_tbl}, +{"ISO8859-6",iso6_tbl}, +{"ISO8859-7",iso7_tbl}, +{"ISO8859-8",iso8_tbl}, +{"ISO8859-9",iso9_tbl}, +{"ISO8859-10",iso10_tbl}, +{"KOI8-R",koi8r_tbl}, +{"KOI8-U",koi8u_tbl}, +{"microsoft-cp1251",cp1251_tbl}, +{"ISO8859-13", iso13_tbl}, +{"ISO8859-14", iso14_tbl}, +{"ISO8859-15", iso15_tbl}, +{"ISCII-DEVANAGARI", iscii_devanagari_tbl}, +}; + +struct cs_info * get_current_cs(const char * es) { + struct cs_info * ccs = encds[0].cs_table; + int n = sizeof(encds) / sizeof(encds[0]); + for (int i = 0; i < n; i++) { + if (strcmp(es,encds[i].enc_name) == 0) { + ccs = encds[i].cs_table; + } + } + return ccs; +} +#else +// XXX This function was rewritten for mozilla. Instead of storing the +// conversion tables static in this file, create them when needed +// with help the mozilla backend. +struct cs_info * get_current_cs(const char * es) { + struct cs_info *ccs; + + nsCOMPtr encoder; + nsCOMPtr decoder; + nsCOMPtr caseConv; + + nsresult rv; + nsCOMPtr ccm = do_GetService(kCharsetConverterManagerCID, &rv); + if (NS_FAILED(rv)) + return nsnull; + + rv = ccm->GetUnicodeEncoder(es, getter_AddRefs(encoder)); + if (encoder && NS_SUCCEEDED(rv)) + encoder->SetOutputErrorBehavior(encoder->kOnError_Replace, nsnull, '?'); + if (NS_FAILED(rv)) + return nsnull; + rv = ccm->GetUnicodeDecoder(es, getter_AddRefs(decoder)); + + caseConv = do_GetService(kUnicharUtilCID, &rv); + if (NS_FAILED(rv)) + return nsnull; + + ccs = (struct cs_info *) malloc(256 * sizeof(cs_info)); + + PRInt32 charLength = 256; + PRInt32 uniLength = 512; + char *source = (char *)malloc(charLength * sizeof(char)); + PRUnichar *uni = (PRUnichar *)malloc(uniLength * sizeof(PRUnichar)); + char *lower = (char *)malloc(charLength * sizeof(char)); + char *upper = (char *)malloc(charLength * sizeof(char)); + + // Create a long string of all chars. + unsigned int i; + for (i = 0x00; i <= 0xff ; ++i) { + source[i] = i; + } + + // Convert this long string to unicode + rv = decoder->Convert(source, &charLength, uni, &uniLength); + + // Do case conversion stuff, and convert back. + caseConv->ToUpper(uni, uni, uniLength); + encoder->Convert(uni, &uniLength, upper, &charLength); + + uniLength = 512; + charLength = 256; + rv = decoder->Convert(source, &charLength, uni, &uniLength); + caseConv->ToLower(uni, uni, uniLength); + encoder->Convert(uni, &uniLength, lower, &charLength); + + // Store + for (i = 0x00; i <= 0xff ; ++i) { + ccs[i].cupper = upper[i]; + ccs[i].clower = lower[i]; + + if (ccs[i].clower != (unsigned char)i) + ccs[i].ccase = true; + else + ccs[i].ccase = false; + + } + + free(source); + free(uni); + free(lower); + free(upper); + + return ccs; +} +#endif + +// primitive isalpha() replacement for tokenization +char * get_casechars(const char * enc) { + struct cs_info * csconv = get_current_cs(enc); + char expw[MAXLNLEN]; + char * p = expw; + for (int i = 0; i <= 255; i++) { + if ((csconv[i].cupper != csconv[i].clower)) { + *p = (char) i; + p++; + } + } + *p = '\0'; +#ifdef MOZILLA_CLIENT + delete csconv; +#endif + return mystrdup(expw); +} + + + +struct lang_map lang2enc[] = { +{"ar", "UTF-8", LANG_ar}, +{"az", "UTF-8", LANG_az}, +{"bg", "microsoft-cp1251", LANG_bg}, +{"ca", "ISO8859-1", LANG_ca}, +{"cs", "ISO8859-2", LANG_cs}, +{"da", "ISO8859-1", LANG_da}, +{"de", "ISO8859-1", LANG_de}, +{"el", "ISO8859-7", LANG_el}, +{"en", "ISO8859-1", LANG_en}, +{"es", "ISO8859-1", LANG_es}, +{"eu", "ISO8859-1", LANG_eu}, +{"gl", "ISO8859-1", LANG_gl}, +{"fr", "ISO8859-15", LANG_fr}, +{"hr", "ISO8859-2", LANG_hr}, +{"hu", "ISO8859-2", LANG_hu}, +{"it", "ISO8859-1", LANG_it}, +{"la", "ISO8859-1", LANG_la}, +{"lv", "ISO8859-13", LANG_lv}, +{"nl", "ISO8859-1", LANG_nl}, +{"pl", "ISO8859-2", LANG_pl}, +{"pt", "ISO8859-1", LANG_pt}, +{"sv", "ISO8859-1", LANG_sv}, +{"tr", "UTF-8", LANG_tr}, +{"ru", "KOI8-R", LANG_ru}, +{"uk", "KOI8-U", LANG_uk} +}; + + +const char * get_default_enc(const char * lang) { + int n = sizeof(lang2enc) / sizeof(lang2enc[0]); + for (int i = 0; i < n; i++) { + if (strcmp(lang,lang2enc[i].lang) == 0) { + return lang2enc[i].def_enc; + } + } + return NULL; +} + +int get_lang_num(const char * lang) { + int n = sizeof(lang2enc) / sizeof(lang2enc[0]); + for (int i = 0; i < n; i++) { + if (strncmp(lang,lang2enc[i].lang,2) == 0) { + return lang2enc[i].num; + } + } + return LANG_xx; +} + +#ifndef OPENOFFICEORG +#ifndef MOZILLA_CLIENT +int initialize_utf_tbl() { + utf_tbl_count++; + if (utf_tbl) return 0; + utf_tbl = (unicode_info2 *) malloc(CONTSIZE * sizeof(unicode_info2)); + if (utf_tbl) { + int j; + for (j = 0; j < CONTSIZE; j++) { + utf_tbl[j].cletter = 0; + utf_tbl[j].clower = (unsigned short) j; + utf_tbl[j].cupper = (unsigned short) j; + } + for (j = 0; j < UTF_LST_LEN; j++) { + utf_tbl[utf_lst[j].c].cletter = 1; + utf_tbl[utf_lst[j].c].clower = utf_lst[j].clower; + utf_tbl[utf_lst[j].c].cupper = utf_lst[j].cupper; + } + } else return 1; + return 0; +} +#endif +#endif + +void free_utf_tbl() { + if (utf_tbl_count > 0) utf_tbl--; + if (utf_tbl && (utf_tbl_count == 0)) { + free(utf_tbl); + utf_tbl = NULL; + } +} + +#ifdef MOZILLA_CLIENT +static nsCOMPtr& getcaseConv() +{ + nsresult rv; + static nsCOMPtr caseConv = do_GetService(kUnicharUtilCID, &rv); + return caseConv; +} +#endif + +unsigned short unicodetoupper(unsigned short c, int langnum) +{ + // In Azeri and Turkish, I and i dictinct letters: + // There are a dotless lower case i pair of upper `I', + // and an upper I with dot pair of lower `i'. + if (c == 0x0069 && ((langnum == LANG_az) || (langnum == LANG_tr))) + return 0x0130; +#ifdef OPENOFFICEORG + return u_toupper(c); +#else +#ifdef MOZILLA_CLIENT + unsigned short ret(c); + getcaseConv()->ToUpper(c, &ret); + return ret; +#else + return (utf_tbl) ? utf_tbl[c].cupper : c; +#endif +#endif +} + +unsigned short unicodetolower(unsigned short c, int langnum) +{ + // In Azeri and Turkish, I and i dictinct letters: + // There are a dotless lower case i pair of upper `I', + // and an upper I with dot pair of lower `i'. + if (c == 0x0049 && ((langnum == LANG_az) || (langnum == LANG_tr))) + return 0x0131; +#ifdef OPENOFFICEORG + return u_tolower(c); +#else +#ifdef MOZILLA_CLIENT + unsigned short ret(c); + getcaseConv()->ToLower(c, &ret); + return ret; +#else + return (utf_tbl) ? utf_tbl[c].clower : c; +#endif +#endif +} + +int unicodeisalpha(unsigned short c) +{ +#ifdef OPENOFFICEORG + return u_isalpha(c); +#else + return (utf_tbl) ? utf_tbl[c].cletter : 0; +#endif +} + +/* get type of capitalization */ +int get_captype(char * word, int nl, cs_info * csconv) { + // now determine the capitalization type of the first nl letters + int ncap = 0; + int nneutral = 0; + int firstcap = 0; + + for (char * q = word; *q != '\0'; q++) { + if (csconv[*((unsigned char *)q)].ccase) ncap++; + if (csconv[*((unsigned char *)q)].cupper == csconv[*((unsigned char *)q)].clower) nneutral++; + } + if (ncap) { + firstcap = csconv[*((unsigned char *) word)].ccase; + } + + // now finally set the captype + if (ncap == 0) { + return NOCAP; + } else if ((ncap == 1) && firstcap) { + return INITCAP; + } else if ((ncap == nl) || ((ncap + nneutral) == nl)) { + return ALLCAP; + } else if ((ncap > 1) && firstcap) { + return HUHINITCAP; + } + return HUHCAP; +} + +int get_captype_utf8(char * q, int nl, int langnum) { + // now determine the capitalization type of the first nl letters + int ncap = 0; + int nneutral = 0; + int firstcap = 0; + w_char dest_utf[MAXWORDLEN]; + unsigned short idx; + nl = u8_u16(dest_utf, MAXWORDLEN, (const char *) q); + // don't check too long words + if (nl >= MAXWORDLEN) return 0; + // big Unicode character (non BMP area) + if (nl == -1) return NOCAP; + for (int i = 0; i < nl; i++) { + idx = (dest_utf[i].h << 8) + dest_utf[i].l; + if (idx != unicodetolower(idx, langnum)) ncap++; + if (unicodetoupper(idx, langnum) == unicodetolower(idx, langnum)) nneutral++; + } + if (ncap) { + idx = (dest_utf[0].h << 8) + dest_utf[0].l; + firstcap = (idx != unicodetolower(idx, langnum)); + } + + // now finally set the captype + if (ncap == 0) { + return NOCAP; + } else if ((ncap == 1) && firstcap) { + return INITCAP; + } else if ((ncap == nl) || ((ncap + nneutral) == nl)) { + return ALLCAP; + } else if ((ncap > 1) && firstcap) { + return HUHINITCAP; + } + return HUHCAP; +} + + +// strip all ignored characters in the string +void remove_ignored_chars_utf(char * word, unsigned short ignored_chars[], int ignored_len) +{ + w_char w[MAXWORDLEN]; + w_char w2[MAXWORDLEN]; + int i; + int j; + int len = u8_u16(w, MAXWORDLEN, word); + for (i = 0, j = 0; i < len; i++) { + if (!flag_bsearch(ignored_chars, ((unsigned short *) w)[i], ignored_len)) { + w2[j] = w[i]; + j++; + } + } + if (j < i) u16_u8(word, MAXWORDUTF8LEN, w2, j); +} + +// strip all ignored characters in the string +void remove_ignored_chars(char * word, char * ignored_chars) +{ + for (char * p = word; *p != '\0'; p++) { + if (!strchr(ignored_chars, *p)) { + *word = *p; + word++; + } + } + *word = '\0'; +} + +int parse_string(char * line, char ** out, const char * name) +{ + char * tp = line; + char * piece; + int i = 0; + int np = 0; + if (*out) { + HUNSPELL_WARNING(stderr, "error: duplicate %s line\n", name); + return 1; + } + piece = mystrsep(&tp, 0); + while (piece) { + if (*piece != '\0') { + switch(i) { + case 0: { np++; break; } + case 1: { + *out = mystrdup(piece); + np++; + break; + } + default: break; + } + i++; + } + free(piece); + piece = mystrsep(&tp, 0); + } + if (np != 2) { + HUNSPELL_WARNING(stderr, "error: missing %s information\n", name); + return 1; + } + return 0; +} + +int parse_array(char * line, char ** out, + unsigned short ** out_utf16, int * out_utf16_len, const char * name, int utf8) { + if (parse_string(line, out, name)) return 1; + if (utf8) { + w_char w[MAXWORDLEN]; + int n = u8_u16(w, MAXWORDLEN, *out); + if (n > 0) { + flag_qsort((unsigned short *) w, 0, n); + *out_utf16 = (unsigned short *) malloc(n * sizeof(unsigned short)); + if (!*out_utf16) return 1; + memcpy(*out_utf16, w, n * sizeof(unsigned short)); + } + *out_utf16_len = n; + } + return 0; +} diff --git a/extensions/spellcheck/hunspell/src/csutil.hxx b/extensions/spellcheck/hunspell/src/csutil.hxx new file mode 100644 index 00000000000..fe5006a5f40 --- /dev/null +++ b/extensions/spellcheck/hunspell/src/csutil.hxx @@ -0,0 +1,215 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) + * László Németh (nemethl@gyorsposta.hu) + * David Einstein (deinst@world.std.com) + * Davide Prina + * Giuseppe Modugno + * Gianluca Turconi + * Simon Brouwer + * Noll Janos + * Biro Arpad + * Goldman Eleonora + * Sarlos Tamas + * Bencsath Boldizsar + * Halacsy Peter + * Dvornik Laszlo + * Gefferth Andras + * Nagy Viktor + * Varga Daniel + * Chris Halls + * Rene Engelhard + * Bram Moolenaar + * Dafydd Jones + * Harri Pitkanen + * Andras Timar + * Tor Lillqvist + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#ifndef __CSUTILHXX__ +#define __CSUTILHXX__ + +// First some base level utility routines + +#define NOCAP 0 +#define INITCAP 1 +#define ALLCAP 2 +#define HUHCAP 3 +#define HUHINITCAP 4 + +#define ONLYUPCASEFLAG 65535 + +typedef struct { + unsigned char l; + unsigned char h; +} w_char; + +// convert UTF-16 characters to UTF-8 +char * u16_u8(char * dest, int size, const w_char * src, int srclen); + +// convert UTF-8 characters to UTF-16 +int u8_u16(w_char * dest, int size, const char * src); + +// sort 2-byte vector +void flag_qsort(unsigned short flags[], int begin, int end); + +// binary search in 2-byte vector +int flag_bsearch(unsigned short flags[], unsigned short flag, int right); + +// remove end of line char(s) +void mychomp(char * s); + +// duplicate string +char * mystrdup(const char * s); + +// duplicate reverse of string +char * myrevstrdup(const char * s); + +// parse into tokens with char delimiter +char * mystrsep(char ** sptr, const char delim); +// parse into tokens with char delimiter +char * mystrsep2(char ** sptr, const char delim); + +// parse into tokens with char delimiter +char * mystrrep(char *, const char *, const char *); + +// append s to ends of every lines in text +void strlinecat(char * lines, const char * s); + +// tokenize into lines with new line + int line_tok(const char * text, char *** lines); + +// tokenize into lines with new line and uniq in place + char * line_uniq(char * text); + +// change \n to c in place + char * line_join(char * text, char c); + +// leave only last {[^}]*} pattern in string + char * delete_zeros(char * morphout); + +// reverse word + int reverseword(char *); + +// reverse word + int reverseword_utf(char *); + +// character encoding information +struct cs_info { + unsigned char ccase; + unsigned char clower; + unsigned char cupper; +}; + +// Unicode character encoding information +struct unicode_info { + unsigned short c; + unsigned short cupper; + unsigned short clower; +}; + +struct unicode_info2 { + char cletter; + unsigned short cupper; + unsigned short clower; +}; + +int initialize_utf_tbl(); +void free_utf_tbl(); +unsigned short unicodetoupper(unsigned short c, int langnum); +unsigned short unicodetolower(unsigned short c, int langnum); +int unicodeisalpha(unsigned short c); + +struct enc_entry { + const char * enc_name; + struct cs_info * cs_table; +}; + +// language to encoding default map + +struct lang_map { + const char * lang; + const char * def_enc; + int num; +}; + +struct cs_info * get_current_cs(const char * es); + +const char * get_default_enc(const char * lang); + +// get language identifiers of language codes +int get_lang_num(const char * lang); + +// get characters of the given 8bit encoding with lower- and uppercase forms +char * get_casechars(const char * enc); + +// convert null terminated string to all caps using encoding +void enmkallcap(char * d, const char * p, const char * encoding); + +// convert null terminated string to all little using encoding +void enmkallsmall(char * d, const char * p, const char * encoding); + +// convert null terminated string to have intial capital using encoding +void enmkinitcap(char * d, const char * p, const char * encoding); + +// convert null terminated string to all caps +void mkallcap(char * p, const struct cs_info * csconv); + +// convert null terminated string to all little +void mkallsmall(char * p, const struct cs_info * csconv); + +// convert null terminated string to have intial capital +void mkinitcap(char * p, const struct cs_info * csconv); + +// convert first nc characters of UTF-8 string to little +void mkallsmall_utf(w_char * u, int nc, int langnum); + +// convert first nc characters of UTF-8 string to capital +void mkallcap_utf(w_char * u, int nc, int langnum); + +// get type of capitalization +int get_captype(char * q, int nl, cs_info *); + +// get type of capitalization (UTF-8) +int get_captype_utf8(char * q, int nl, int langnum); + +// strip all ignored characters in the string +void remove_ignored_chars_utf(char * word, unsigned short ignored_chars[], int ignored_len); + +// strip all ignored characters in the string +void remove_ignored_chars(char * word, char * ignored_chars); + +int parse_string(char * line, char ** out, const char * name); + +int parse_array(char * line, char ** out, + unsigned short ** out_utf16, int * out_utf16_len, const char * name, int utf8); + +#endif diff --git a/extensions/spellcheck/hunspell/src/hashmgr.cpp b/extensions/spellcheck/hunspell/src/hashmgr.cpp new file mode 100644 index 00000000000..7ae7b58fab1 --- /dev/null +++ b/extensions/spellcheck/hunspell/src/hashmgr.cpp @@ -0,0 +1,915 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) + * László Németh (nemethl@gyorsposta.hu) + * David Einstein (deinst@world.std.com) + * Davide Prina + * Giuseppe Modugno + * Gianluca Turconi + * Simon Brouwer + * Noll Janos + * Biro Arpad + * Goldman Eleonora + * Sarlos Tamas + * Bencsath Boldizsar + * Halacsy Peter + * Dvornik Laszlo + * Gefferth Andras + * Nagy Viktor + * Varga Daniel + * Chris Halls + * Rene Engelhard + * Bram Moolenaar + * Dafydd Jones + * Harri Pitkanen + * Andras Timar + * Tor Lillqvist + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#ifndef MOZILLA_CLIENT +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif + +#include "hashmgr.hxx" +#include "csutil.hxx" +#include "atypes.hxx" + +#ifdef MOZILLA_CLIENT +#ifdef __SUNPRO_CC // for SunONE Studio compiler +using namespace std; +#endif +#else +#ifndef W32 +using namespace std; +#endif +#endif + +// build a hash table from a munched word list + +HashMgr::HashMgr(const char * tpath, const char * apath) +{ + tablesize = 0; + tableptr = NULL; + flag_mode = FLAG_CHAR; + complexprefixes = 0; + utf8 = 0; + langnum = 0; + lang = NULL; + enc = NULL; + csconv = 0; + ignorechars = NULL; + ignorechars_utf16 = NULL; + ignorechars_utf16_len = 0; + numaliasf = 0; + aliasf = NULL; + numaliasm = 0; + aliasm = NULL; + forbiddenword = FLAG_NULL; // forbidden word signing flag + load_config(apath); + int ec = load_tables(tpath); + if (ec) { + /* error condition - what should we do here */ + HUNSPELL_WARNING(stderr, "Hash Manager Error : %d\n",ec); + if (tableptr) { + free(tableptr); + } + tablesize = 0; + } +} + + +HashMgr::~HashMgr() +{ + if (tableptr) { + // now pass through hash table freeing up everything + // go through column by column of the table + for (int i=0; i < tablesize; i++) { + struct hentry * pt = &tableptr[i]; + struct hentry * nt = NULL; + if (pt) { + if (pt->astr && !aliasf) free(pt->astr); + if (pt->word) free(pt->word); +#ifdef HUNSPELL_EXPERIMENTAL + if (pt->description && !aliasm) free(pt->description); +#endif + pt = pt->next; + } + while(pt) { + nt = pt->next; + if (pt->astr && !aliasf) free(pt->astr); + if (pt->word) free(pt->word); +#ifdef HUNSPELL_EXPERIMENTAL + if (pt->description && !aliasm) free(pt->description); +#endif + free(pt); + pt = nt; + } + } + free(tableptr); + } + tablesize = 0; + + if (aliasf) { + for (int j = 0; j < (numaliasf); j++) free(aliasf[j]); + free(aliasf); + aliasf = NULL; + if (aliasflen) { + free(aliasflen); + aliasflen = NULL; + } + } + if (aliasm) { + for (int j = 0; j < (numaliasm); j++) free(aliasm[j]); + free(aliasm); + aliasm = NULL; + } + + if (enc) free(enc); + if (lang) free(lang); + + if (ignorechars) free(ignorechars); + if (ignorechars_utf16) free(ignorechars_utf16); +} + +// lookup a root word in the hashtable + +struct hentry * HashMgr::lookup(const char *word) const +{ + struct hentry * dp; + if (tableptr) { + dp = &tableptr[hash(word)]; + if (dp->word == NULL) return NULL; + for ( ; dp != NULL; dp = dp->next) { + if (strcmp(word,dp->word) == 0) return dp; + } + } + return NULL; +} + +// add a word to the hash table (private) + +int HashMgr::add_word(const char * word, int wl, unsigned short * aff, + int al, const char * desc, bool onlyupcase) +{ + char * st = mystrdup(word); + bool upcasehomonym = false; + if (wl && !st) return 1; + if (ignorechars != NULL) { + if (utf8) { + remove_ignored_chars_utf(st, ignorechars_utf16, ignorechars_utf16_len); + } else { + remove_ignored_chars(st, ignorechars); + } + } + if (complexprefixes) { + if (utf8) reverseword_utf(st); else reverseword(st); + } + int i = hash(st); + struct hentry * dp = &tableptr[i]; + if (dp->word == NULL) { + dp->wlen = (short) wl; + dp->alen = (short) al; + dp->word = st; + dp->astr = aff; + dp->next = NULL; + dp->next_homonym = NULL; +#ifdef HUNSPELL_EXPERIMENTAL + if (aliasm) { + dp->description = (desc) ? get_aliasm(atoi(desc)) : mystrdup(desc); + } else { + dp->description = mystrdup(desc); + if (desc && !dp->description) return 1; + if (dp->description && complexprefixes) { + if (utf8) reverseword_utf(dp->description); else reverseword(dp->description); + } + } +#endif + } else { + struct hentry* hp = (struct hentry *) malloc (sizeof(struct hentry)); + if (!hp) return 1; + hp->wlen = (short) wl; + hp->alen = (short) al; + hp->word = st; + hp->astr = aff; + hp->next = NULL; + hp->next_homonym = NULL; +#ifdef HUNSPELL_EXPERIMENTAL + if (aliasm) { + hp->description = (desc) ? get_aliasm(atoi(desc)) : mystrdup(desc); + } else { + hp->description = mystrdup(desc); + if (desc && !hp->description) return 1; + if (dp->description && complexprefixes) { + if (utf8) reverseword_utf(hp->description); else reverseword(hp->description); + } + } +#endif + while (dp->next != NULL) { + if ((!dp->next_homonym) && (strcmp(hp->word, dp->word) == 0)) { + // remove hidden onlyupcase homonym + if (!onlyupcase) { + if ((dp->astr) && TESTAFF(dp->astr, ONLYUPCASEFLAG, dp->alen)) { + free(dp->astr); + dp->astr = hp->astr; + free(hp->word); + free(hp); + return 0; + } else { + dp->next_homonym = hp; + } + } else { + upcasehomonym = true; + } + } + dp=dp->next; + } + if (strcmp(hp->word, dp->word) == 0) { + // remove hidden onlyupcase homonym + if (!onlyupcase) { + if ((dp->astr) && TESTAFF(dp->astr, ONLYUPCASEFLAG, dp->alen)) { + free(dp->astr); + dp->astr = hp->astr; + free(hp->word); + free(hp); + return 0; + } else { + dp->next_homonym = hp; + } + } else { + upcasehomonym = true; + } + } + if (!upcasehomonym) { + dp->next = hp; + } else { + // remove hidden onlyupcase homonym + free(hp->word); + if (hp->astr) free(hp->astr); + free(hp); + } + } + return 0; +} + +// add a custom dic. word to the hash table (public) +int HashMgr::put_word(const char * word, int wl, char * aff) +{ + unsigned short * flags; + int al = 0; + if (aff) { + al = decode_flags(&flags, aff); + flag_qsort(flags, 0, al); + } else { + flags = NULL; + } + add_word(word, wl, flags, al, NULL, false); + return 0; +} + +int HashMgr::put_word_pattern(const char * word, int wl, const char * pattern) +{ + unsigned short * flags; + struct hentry * dp = lookup(pattern); + if (!dp || !dp->astr) return 1; + flags = (unsigned short *) malloc (dp->alen * sizeof(short)); + memcpy((void *) flags, (void *) dp->astr, dp->alen * sizeof(short)); + add_word(word, wl, flags, dp->alen, NULL, false); + return 0; +} + +// walk the hash table entry by entry - null at end +struct hentry * HashMgr::walk_hashtable(int &col, struct hentry * hp) const +{ + //reset to start + if ((col < 0) || (hp == NULL)) { + col = -1; + hp = NULL; + } + + if (hp && hp->next != NULL) { + hp = hp->next; + } else { + col++; + hp = (col < tablesize) ? &tableptr[col] : NULL; + // search for next non-blank column entry + while (hp && (hp->word == NULL)) { + col ++; + hp = (col < tablesize) ? &tableptr[col] : NULL; + } + if (col < tablesize) return hp; + hp = NULL; + col = -1; + } + return hp; +} + +// load a munched word list and build a hash table on the fly +int HashMgr::load_tables(const char * tpath) +{ + int wl, al; + char * ap; + char * dp; + unsigned short * flags; + int captype; + + // raw dictionary - munched file + FILE * rawdict = fopen(tpath, "r"); + if (rawdict == NULL) return 1; + + // first read the first line of file to get hash table size */ + char ts[MAXDELEN]; + if (! fgets(ts, MAXDELEN-1,rawdict)) { + HUNSPELL_WARNING(stderr, "error: empty dic file\n"); + fclose(rawdict); + return 2; + } + mychomp(ts); + + /* remove byte order mark */ + if (strncmp(ts,"\xEF\xBB\xBF",3) == 0) { + memmove(ts, ts+3, strlen(ts+3)+1); + HUNSPELL_WARNING(stderr, "warning: dic file begins with byte order mark: possible incompatibility with old Hunspell versions\n"); + } + + if ((*ts < '1') || (*ts > '9')) HUNSPELL_WARNING(stderr, "error - missing word count in dictionary file\n"); + tablesize = atoi(ts); + if (!tablesize) { + fclose(rawdict); + return 4; + } + tablesize = tablesize + 5 + USERWORD; + if ((tablesize %2) == 0) tablesize++; + + // allocate the hash table + tableptr = (struct hentry *) calloc(tablesize, sizeof(struct hentry)); + if (! tableptr) { + fclose(rawdict); + return 3; + } + for (int i=0; i OPENOFFICE.ORG + // CIA's -> CIA'S + captype = utf8 ? get_captype_utf8(ts, wl, langnum) : get_captype(ts, wl, csconv); + if (((captype == HUHCAP) || (captype == HUHINITCAP) || + ((captype == ALLCAP) && (flags != NULL))) && + !((flags != NULL) && TESTAFF(flags, forbiddenword, al))) { + unsigned short * flags2 = (unsigned short *) malloc (sizeof(unsigned short *)* (al + 1)); + memcpy(flags2, flags, al * sizeof(unsigned short *)); + flags2[al] = ONLYUPCASEFLAG; + if (utf8) { + char st[MAXDELEN]; + w_char w[MAXDELEN]; + int wlen = u8_u16(w, MAXDELEN, ts); + mkallsmall_utf(w, wlen, langnum); + mkallcap_utf(w, 1, langnum); + u16_u8(st, MAXDELEN, w, wlen); + if (add_word(st,wl,flags2,al+1,dp, true)) { + fclose(rawdict); + return 5; + } + } else { + mkallsmall(ts, csconv); + mkinitcap(ts, csconv); + if (add_word(ts,wl,flags2,al+1,dp, true)) { + fclose(rawdict); + return 5; + } + } + } + } + + fclose(rawdict); + return 0; +} + + +// the hash function is a simple load and rotate +// algorithm borrowed + +int HashMgr::hash(const char * word) const +{ + long hv = 0; + for (int i=0; i < 4 && *word != 0; i++) + hv = (hv << 8) | (*word++); + while (*word != 0) { + ROTATE(hv,ROTATE_LEN); + hv ^= (*word++); + } + return (unsigned long) hv % tablesize; +} + +int HashMgr::decode_flags(unsigned short ** result, char * flags) { + int len; + switch (flag_mode) { + case FLAG_LONG: { // two-character flags (1x2yZz -> 1x 2y Zz) + len = strlen(flags); + if (len%2 == 1) HUNSPELL_WARNING(stderr, "error: length of FLAG_LONG flagvector is odd: %s\n", flags); + len = len/2; + *result = (unsigned short *) malloc(len * sizeof(short)); + for (int i = 0; i < len; i++) { + (*result)[i] = (((unsigned short) flags[i * 2]) << 8) + (unsigned short) flags[i * 2 + 1]; + } + break; + } + case FLAG_NUM: { // decimal numbers separated by comma (4521,23,233 -> 4521 23 233) + len = 1; + char * src = flags; + unsigned short * dest; + char * p; + for (p = flags; *p; p++) { + if (*p == ',') len++; + } + *result = (unsigned short *) malloc(len * sizeof(short)); + dest = *result; + for (p = flags; *p; p++) { + if (*p == ',') { + *dest = (unsigned short) atoi(src); + if (*dest == 0) HUNSPELL_WARNING(stderr, "error: 0 is wrong flag id\n"); + src = p + 1; + dest++; + } + } + *dest = (unsigned short) atoi(src); + if (*dest == 0) HUNSPELL_WARNING(stderr, "error: 0 is wrong flag id\n"); + break; + } + case FLAG_UNI: { // UTF-8 characters + w_char w[MAXDELEN/2]; + len = u8_u16(w, MAXDELEN/2, flags); + *result = (unsigned short *) malloc(len * sizeof(short)); + memcpy(*result, w, len * sizeof(short)); + break; + } + default: { // Ispell's one-character flags (erfg -> e r f g) + unsigned short * dest; + len = strlen(flags); + *result = (unsigned short *) malloc(len * sizeof(short)); + dest = *result; + for (unsigned char * p = (unsigned char *) flags; *p; p++) { + *dest = (unsigned short) *p; + dest++; + } + } + } + return len; +} + +unsigned short HashMgr::decode_flag(const char * f) { + unsigned short s = 0; + switch (flag_mode) { + case FLAG_LONG: + s = ((unsigned short) f[0] << 8) + (unsigned short) f[1]; + break; + case FLAG_NUM: + s = (unsigned short) atoi(f); + break; + case FLAG_UNI: + u8_u16((w_char *) &s, 1, f); + break; + default: + s = (unsigned short) *((unsigned char *)f); + } + if (!s) HUNSPELL_WARNING(stderr, "error: 0 is wrong flag id\n"); + return s; +} + +char * HashMgr::encode_flag(unsigned short f) { + unsigned char ch[10]; + if (f==0) return mystrdup("(NULL)"); + if (flag_mode == FLAG_LONG) { + ch[0] = (unsigned char) (f >> 8); + ch[1] = (unsigned char) (f - ((f >> 8) << 8)); + ch[2] = '\0'; + } else if (flag_mode == FLAG_NUM) { + sprintf((char *) ch, "%d", f); + } else if (flag_mode == FLAG_UNI) { + u16_u8((char *) &ch, 10, (w_char *) &f, 1); + } else { + ch[0] = (unsigned char) (f); + ch[1] = '\0'; + } + return mystrdup((char *) ch); +} + +// read in aff file and set flag mode +int HashMgr::load_config(const char * affpath) +{ + int firstline = 1; + + // io buffers + char line[MAXDELEN+1]; + + // open the affix file + FILE * afflst; + afflst = fopen(affpath,"r"); + if (!afflst) { + HUNSPELL_WARNING(stderr, "Error - could not open affix description file %s\n",affpath); + return 1; + } + + // read in each line ignoring any that do not + // start with a known line type indicator + + while (fgets(line,MAXDELEN,afflst)) { + mychomp(line); + + /* remove byte order mark */ + if (firstline) { + firstline = 0; + if (strncmp(line,"\xEF\xBB\xBF",3) == 0) memmove(line, line+3, strlen(line+3)+1); + } + + /* parse in the try string */ + if ((strncmp(line,"FLAG",4) == 0) && isspace(line[4])) { + if (flag_mode != FLAG_CHAR) { + HUNSPELL_WARNING(stderr, "error: duplicate FLAG parameter\n"); + } + if (strstr(line, "long")) flag_mode = FLAG_LONG; + if (strstr(line, "num")) flag_mode = FLAG_NUM; + if (strstr(line, "UTF-8")) flag_mode = FLAG_UNI; + if (flag_mode == FLAG_CHAR) { + HUNSPELL_WARNING(stderr, "error: FLAG need `num', `long' or `UTF-8' parameter: %s\n", line); + } + } + if (strncmp(line,"FORBIDDENWORD",13) == 0) { + char * st = NULL; + if (parse_string(line, &st, "FORBIDDENWORD")) { + fclose(afflst); + return 1; + } + forbiddenword = decode_flag(st); + free(st); + } + if (strncmp(line, "SET", 3) == 0) { + if (parse_string(line, &enc, "SET")) { + fclose(afflst); + return 1; + } + if (strcmp(enc, "UTF-8") == 0) { + utf8 = 1; +#ifndef OPENOFFICEORG +#ifndef MOZILLA_CLIENT + initialize_utf_tbl(); +#endif +#endif + } else csconv = get_current_cs(enc); + } + if (strncmp(line, "LANG", 4) == 0) { + if (parse_string(line, &lang, "LANG")) { + fclose(afflst); + return 1; + } + langnum = get_lang_num(lang); + } + + /* parse in the ignored characters (for example, Arabic optional diacritics characters */ + if (strncmp(line,"IGNORE",6) == 0) { + if (parse_array(line, &ignorechars, &ignorechars_utf16, &ignorechars_utf16_len, "IGNORE", utf8)) { + fclose(afflst); + return 1; + } + } + + if ((strncmp(line,"AF",2) == 0) && isspace(line[2])) { + if (parse_aliasf(line, afflst)) { + fclose(afflst); + return 1; + } + } + +#ifdef HUNSPELL_EXPERIMENTAL + if ((strncmp(line,"AM",2) == 0) && isspace(line[2])) { + if (parse_aliasm(line, afflst)) { + fclose(afflst); + return 1; + } + } +#endif + if (strncmp(line,"COMPLEXPREFIXES",15) == 0) complexprefixes = 1; + if (((strncmp(line,"SFX",3) == 0) || (strncmp(line,"PFX",3) == 0)) && isspace(line[3])) break; + } + if (csconv == NULL) csconv = get_current_cs("ISO8859-1"); + fclose(afflst); + return 0; +} + +/* parse in the ALIAS table */ +int HashMgr::parse_aliasf(char * line, FILE * af) +{ + if (numaliasf != 0) { + HUNSPELL_WARNING(stderr, "error: duplicate AF (alias for flag vector) tables used\n"); + return 1; + } + char * tp = line; + char * piece; + int i = 0; + int np = 0; + piece = mystrsep(&tp, 0); + while (piece) { + if (*piece != '\0') { + switch(i) { + case 0: { np++; break; } + case 1: { + numaliasf = atoi(piece); + if (numaliasf < 1) { + numaliasf = 0; + aliasf = NULL; + aliasflen = NULL; + HUNSPELL_WARNING(stderr, "incorrect number of entries in AF table\n"); + free(piece); + return 1; + } + aliasf = (unsigned short **) malloc(numaliasf * sizeof(unsigned short *)); + aliasflen = (unsigned short *) malloc(numaliasf * sizeof(short)); + if (!aliasf || !aliasflen) { + numaliasf = 0; + if (aliasf) free(aliasf); + if (aliasflen) free(aliasflen); + aliasf = NULL; + aliasflen = NULL; + return 1; + } + np++; + break; + } + default: break; + } + i++; + } + free(piece); + piece = mystrsep(&tp, 0); + } + if (np != 2) { + numaliasf = 0; + free(aliasf); + free(aliasflen); + aliasf = NULL; + aliasflen = NULL; + HUNSPELL_WARNING(stderr, "error: missing AF table information\n"); + return 1; + } + + /* now parse the numaliasf lines to read in the remainder of the table */ + char * nl = line; + for (int j=0; j < numaliasf; j++) { + if (!fgets(nl,MAXDELEN,af)) return 1; + mychomp(nl); + tp = nl; + i = 0; + aliasf[j] = NULL; + aliasflen[j] = 0; + piece = mystrsep(&tp, 0); + while (piece) { + if (*piece != '\0') { + switch(i) { + case 0: { + if (strncmp(piece,"AF",2) != 0) { + numaliasf = 0; + free(aliasf); + free(aliasflen); + aliasf = NULL; + aliasflen = NULL; + HUNSPELL_WARNING(stderr, "error: AF table is corrupt\n"); + free(piece); + return 1; + } + break; + } + case 1: { + aliasflen[j] = (unsigned short) decode_flags(&(aliasf[j]), piece); + flag_qsort(aliasf[j], 0, aliasflen[j]); + break; + } + default: break; + } + i++; + } + free(piece); + piece = mystrsep(&tp, 0); + } + if (!aliasf[j]) { + free(aliasf); + free(aliasflen); + aliasf = NULL; + aliasflen = NULL; + numaliasf = 0; + HUNSPELL_WARNING(stderr, "error: AF table is corrupt\n"); + return 1; + } + } + return 0; +} + +int HashMgr::is_aliasf() { + return (aliasf != NULL); +} + +int HashMgr::get_aliasf(int index, unsigned short ** fvec) { + if ((index > 0) && (index <= numaliasf)) { + *fvec = aliasf[index - 1]; + return aliasflen[index - 1]; + } + HUNSPELL_WARNING(stderr, "error: bad flag alias index: %d\n", index); + *fvec = NULL; + return 0; +} + +#ifdef HUNSPELL_EXPERIMENTAL +/* parse morph alias definitions */ +int HashMgr::parse_aliasm(char * line, FILE * af) +{ + if (numaliasm != 0) { + HUNSPELL_WARNING(stderr, "error: duplicate AM (aliases for morphological descriptions) tables used\n"); + return 1; + } + char * tp = line; + char * piece; + int i = 0; + int np = 0; + piece = mystrsep(&tp, 0); + while (piece) { + if (*piece != '\0') { + switch(i) { + case 0: { np++; break; } + case 1: { + numaliasm = atoi(piece); + if (numaliasm < 1) { + HUNSPELL_WARNING(stderr, "incorrect number of entries in AM table\n"); + free(piece); + return 1; + } + aliasm = (char **) malloc(numaliasm * sizeof(char *)); + if (!aliasm) { + numaliasm = 0; + return 1; + } + np++; + break; + } + default: break; + } + i++; + } + free(piece); + piece = mystrsep(&tp, 0); + } + if (np != 2) { + numaliasm = 0; + free(aliasm); + aliasm = NULL; + HUNSPELL_WARNING(stderr, "error: missing AM alias information\n"); + return 1; + } + + /* now parse the numaliasm lines to read in the remainder of the table */ + char * nl = line; + for (int j=0; j < numaliasm; j++) { + if (!fgets(nl,MAXDELEN,af)) return 1; + mychomp(nl); + tp = nl; + i = 0; + aliasm[j] = NULL; + piece = mystrsep(&tp, 0); + while (piece) { + if (*piece != '\0') { + switch(i) { + case 0: { + if (strncmp(piece,"AM",2) != 0) { + HUNSPELL_WARNING(stderr, "error: AM table is corrupt\n"); + free(piece); + numaliasm = 0; + free(aliasm); + aliasm = NULL; + return 1; + } + break; + } + case 1: { + if (complexprefixes) { + if (utf8) reverseword_utf(piece); + else reverseword(piece); + } + aliasm[j] = mystrdup(piece); + break; } + default: break; + } + i++; + } + free(piece); + piece = mystrsep(&tp, 0); + } + if (!aliasm[j]) { + numaliasm = 0; + free(aliasm); + aliasm = NULL; + HUNSPELL_WARNING(stderr, "error: map table is corrupt\n"); + return 1; + } + } + return 0; +} + +int HashMgr::is_aliasm() { + return (aliasm != NULL); +} + +char * HashMgr::get_aliasm(int index) { + if ((index > 0) && (index <= numaliasm)) return aliasm[index - 1]; + HUNSPELL_WARNING(stderr, "error: bad morph. alias index: %d\n", index); + return NULL; +} +#endif diff --git a/extensions/spellcheck/hunspell/src/hashmgr.hxx b/extensions/spellcheck/hunspell/src/hashmgr.hxx new file mode 100644 index 00000000000..70d5cf57553 --- /dev/null +++ b/extensions/spellcheck/hunspell/src/hashmgr.hxx @@ -0,0 +1,121 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) + * László Németh (nemethl@gyorsposta.hu) + * David Einstein (deinst@world.std.com) + * Davide Prina + * Giuseppe Modugno + * Gianluca Turconi + * Simon Brouwer + * Noll Janos + * Biro Arpad + * Goldman Eleonora + * Sarlos Tamas + * Bencsath Boldizsar + * Halacsy Peter + * Dvornik Laszlo + * Gefferth Andras + * Nagy Viktor + * Varga Daniel + * Chris Halls + * Rene Engelhard + * Bram Moolenaar + * Dafydd Jones + * Harri Pitkanen + * Andras Timar + * Tor Lillqvist + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#ifndef _HASHMGR_HXX_ +#define _HASHMGR_HXX_ + +#include +#include "htypes.hxx" + +enum flag { FLAG_CHAR, FLAG_LONG, FLAG_NUM, FLAG_UNI }; + +class HashMgr +{ + int tablesize; + struct hentry * tableptr; + int userword; + flag flag_mode; + int complexprefixes; + int utf8; + unsigned short forbiddenword; + int langnum; + char * enc; + char * lang; + struct cs_info * csconv; + char * ignorechars; + unsigned short * ignorechars_utf16; + int ignorechars_utf16_len; + int numaliasf; // flag vector `compression' with aliases + unsigned short ** aliasf; + unsigned short * aliasflen; + int numaliasm; // morphological desciption `compression' with aliases + char ** aliasm; + + +public: + HashMgr(const char * tpath, const char * apath); + ~HashMgr(); + + struct hentry * lookup(const char *) const; + int hash(const char *) const; + struct hentry * walk_hashtable(int & col, struct hentry * hp) const; + + int put_word(const char * word, int wl, char * ap); + int put_word_pattern(const char * word, int wl, const char * pattern); + int decode_flags(unsigned short ** result, char * flags); + unsigned short decode_flag(const char * flag); + char * encode_flag(unsigned short flag); + int is_aliasf(); + int get_aliasf(int index, unsigned short ** fvec); +#ifdef HUNSPELL_EXPERIMENTAL + int is_aliasm(); + char * get_aliasm(int index); +#endif + + +private: + int load_tables(const char * tpath); + int add_word(const char * word, int wl, unsigned short * ap, int al, + const char * desc, bool onlyupcase); + int load_config(const char * affpath); + int parse_aliasf(char * line, FILE * af); +#ifdef HUNSPELL_EXPERIMENTAL + int parse_aliasm(char * line, FILE * af); +#endif + +}; + +#endif diff --git a/extensions/spellcheck/hunspell/src/htypes.hxx b/extensions/spellcheck/hunspell/src/htypes.hxx new file mode 100644 index 00000000000..7c07fe48971 --- /dev/null +++ b/extensions/spellcheck/hunspell/src/htypes.hxx @@ -0,0 +1,84 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) + * László Németh (nemethl@gyorsposta.hu) + * David Einstein (deinst@world.std.com) + * Davide Prina + * Giuseppe Modugno + * Gianluca Turconi + * Simon Brouwer + * Noll Janos + * Biro Arpad + * Goldman Eleonora + * Sarlos Tamas + * Bencsath Boldizsar + * Halacsy Peter + * Dvornik Laszlo + * Gefferth Andras + * Nagy Viktor + * Varga Daniel + * Chris Halls + * Rene Engelhard + * Bram Moolenaar + * Dafydd Jones + * Harri Pitkanen + * Andras Timar + * Tor Lillqvist + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#ifndef _HTYPES_HXX_ +#define _HTYPES_HXX_ + +#define MAXDELEN 8192 + +#define ROTATE_LEN 5 + +#define ROTATE(v,q) \ + (v) = ((v) << (q)) | (((v) >> (32 - q)) & ((1 << (q))-1)); + +// approx. number of user defined words +#define USERWORD 1000 + +struct hentry +{ + short wlen; + short alen; + char wbeg[2]; + char * word; + unsigned short * astr; + struct hentry * next; + struct hentry * next_homonym; +#ifdef HUNSPELL_EXPERIMENTAL + char * description; +#endif +}; + +#endif diff --git a/extensions/spellcheck/hunspell/src/hunspell.cpp b/extensions/spellcheck/hunspell/src/hunspell.cpp new file mode 100644 index 00000000000..58480772cac --- /dev/null +++ b/extensions/spellcheck/hunspell/src/hunspell.cpp @@ -0,0 +1,1805 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) + * László Németh (nemethl@gyorsposta.hu) + * David Einstein (deinst@world.std.com) + * Davide Prina + * Giuseppe Modugno + * Gianluca Turconi + * Simon Brouwer + * Noll Janos + * Biro Arpad + * Goldman Eleonora + * Sarlos Tamas + * Bencsath Boldizsar + * Halacsy Peter + * Dvornik Laszlo + * Gefferth Andras + * Nagy Viktor + * Varga Daniel + * Chris Halls + * Rene Engelhard + * Bram Moolenaar + * Dafydd Jones + * Harri Pitkanen + * Andras Timar + * Tor Lillqvist + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#ifndef MOZILLA_CLIENT +#include +#include +#include +#else +#include +#include +#include +#endif + +#include "hunspell.hxx" +#include "hunspell.h" + +#ifndef MOZILLA_CLIENT +#ifndef W32 +using namespace std; +#endif +#endif + +Hunspell::Hunspell(const char * affpath, const char * dpath) +{ + encoding = NULL; + csconv = NULL; + utf8 = 0; + complexprefixes = 0; + + /* first set up the hash manager */ + pHMgr = new HashMgr(dpath, affpath); + + /* next set up the affix manager */ + /* it needs access to the hash manager lookup methods */ + pAMgr = new AffixMgr(affpath,pHMgr); + + /* get the preferred try string and the dictionary */ + /* encoding from the Affix Manager for that dictionary */ + char * try_string = pAMgr->get_try_string(); + encoding = pAMgr->get_encoding(); + csconv = get_current_cs(encoding); + langnum = pAMgr->get_langnum(); + utf8 = pAMgr->get_utf8(); + complexprefixes = pAMgr->get_complexprefixes(); + wordbreak = pAMgr->get_breaktable(); + + /* and finally set up the suggestion manager */ + pSMgr = new SuggestMgr(try_string, MAXSUGGESTION, pAMgr); + if (try_string) free(try_string); + +} + +Hunspell::~Hunspell() +{ + if (pSMgr) delete pSMgr; + if (pAMgr) delete pAMgr; + if (pHMgr) delete pHMgr; + pSMgr = NULL; + pAMgr = NULL; + pHMgr = NULL; +#ifdef MOZILLA_CLIENT + delete csconv; +#endif + csconv= NULL; + if (encoding) free(encoding); + encoding = NULL; +} + + +// make a copy of src at destination while removing all leading +// blanks and removing any trailing periods after recording +// their presence with the abbreviation flag +// also since already going through character by character, +// set the capitalization type +// return the length of the "cleaned" (and UTF-8 encoded) word + +int Hunspell::cleanword2(char * dest, const char * src, + w_char * dest_utf, int * nc, int * pcaptype, int * pabbrev) +{ + unsigned char * p = (unsigned char *) dest; + const unsigned char * q = (const unsigned char * ) src; + int firstcap = 0; + + // first skip over any leading blanks + while ((*q != '\0') && (*q == ' ')) q++; + + // now strip off any trailing periods (recording their presence) + *pabbrev = 0; + int nl = strlen((const char *)q); + while ((nl > 0) && (*(q+nl-1)=='.')) { + nl--; + (*pabbrev)++; + } + + // if no characters are left it can't be capitalized + if (nl <= 0) { + *pcaptype = NOCAP; + *p = '\0'; + return 0; + } + + strncpy(dest, (char *) q, nl); + *(dest + nl) = '\0'; + nl = strlen(dest); + if (utf8) { + *nc = u8_u16(dest_utf, MAXWORDLEN, (const char *) q); + // don't check too long words + if (*nc >= MAXWORDLEN) return 0; + if (*nc == -1) { // big Unicode character (non BMP area) + *pcaptype = NOCAP; + return nl; + } + *pcaptype = get_captype_utf8(dest, nl, langnum); + } else { + *pcaptype = get_captype(dest, nl, csconv); + *nc = nl; + } + return nl; +} + +#ifdef HUNSPELL_EXPERIMENTAL +int Hunspell::cleanword(char * dest, const char * src, + int * pcaptype, int * pabbrev) +{ + unsigned char * p = (unsigned char *) dest; + const unsigned char * q = (const unsigned char * ) src; + int firstcap = 0; + + // first skip over any leading blanks + while ((*q != '\0') && (*q == ' ')) q++; + + // now strip off any trailing periods (recording their presence) + *pabbrev = 0; + int nl = strlen((const char *)q); + while ((nl > 0) && (*(q+nl-1)=='.')) { + nl--; + (*pabbrev)++; + } + + // if no characters are left it can't be capitalized + if (nl <= 0) { + *pcaptype = NOCAP; + *p = '\0'; + return 0; + } + + // now determine the capitalization type of the first nl letters + int ncap = 0; + int nneutral = 0; + int nc = 0; + + if (!utf8) { + while (nl > 0) { + nc++; + if (csconv[(*q)].ccase) ncap++; + if (csconv[(*q)].cupper == csconv[(*q)].clower) nneutral++; + *p++ = *q++; + nl--; + } + // remember to terminate the destination string + *p = '\0'; + firstcap = csconv[(unsigned char)(*dest)].ccase; + } else { + unsigned short idx; + w_char t[MAXWORDLEN]; + nc = u8_u16(t, MAXWORDLEN, src); + for (int i = 0; i < nc; i++) { + idx = (t[i].h << 8) + t[i].l; + if (idx != unicodetolower(idx, langnum)) ncap++; + if (unicodetoupper(idx, langnum) == unicodetolower(idx, langnum)) nneutral++; + } + u16_u8(dest, MAXWORDUTF8LEN, t, nc); + if (ncap) { + idx = (t[0].h << 8) + t[0].l; + firstcap = (idx != unicodetolower(idx, langnum)); + } + } + + // now finally set the captype + if (ncap == 0) { + *pcaptype = NOCAP; + } else if ((ncap == 1) && firstcap) { + *pcaptype = INITCAP; + } else if ((ncap == nc) || ((ncap + nneutral) == nc)){ + *pcaptype = ALLCAP; + } else if ((ncap > 1) && firstcap) { + *pcaptype = HUHINITCAP; + } else { + *pcaptype = HUHCAP; + } + return strlen(dest); +} +#endif + +void Hunspell::mkallcap(char * p) +{ + if (utf8) { + w_char u[MAXWORDLEN]; + int nc = u8_u16(u, MAXWORDLEN, p); + unsigned short idx; + for (int i = 0; i < nc; i++) { + idx = (u[i].h << 8) + u[i].l; + if (idx != unicodetoupper(idx, langnum)) { + u[i].h = (unsigned char) (unicodetoupper(idx, langnum) >> 8); + u[i].l = (unsigned char) (unicodetoupper(idx, langnum) & 0x00FF); + } + } + u16_u8(p, MAXWORDUTF8LEN, u, nc); + } else { + while (*p != '\0') { + *p = csconv[((unsigned char) *p)].cupper; + p++; + } + } +} + +int Hunspell::mkallcap2(char * p, w_char * u, int nc) +{ + if (utf8) { + unsigned short idx; + for (int i = 0; i < nc; i++) { + idx = (u[i].h << 8) + u[i].l; + if (idx != unicodetoupper(idx, langnum)) { + u[i].h = (unsigned char) (unicodetoupper(idx, langnum) >> 8); + u[i].l = (unsigned char) (unicodetoupper(idx, langnum) & 0x00FF); + } + } + u16_u8(p, MAXWORDUTF8LEN, u, nc); + return strlen(p); + } else { + while (*p != '\0') { + *p = csconv[((unsigned char) *p)].cupper; + p++; + } + } + return nc; +} + + +void Hunspell::mkallsmall(char * p) +{ + while (*p != '\0') { + *p = csconv[((unsigned char) *p)].clower; + p++; + } +} + +int Hunspell::mkallsmall2(char * p, w_char * u, int nc) +{ + if (utf8) { + unsigned short idx; + for (int i = 0; i < nc; i++) { + idx = (u[i].h << 8) + u[i].l; + if (idx != unicodetolower(idx, langnum)) { + u[i].h = (unsigned char) (unicodetolower(idx, langnum) >> 8); + u[i].l = (unsigned char) (unicodetolower(idx, langnum) & 0x00FF); + } + } + u16_u8(p, MAXWORDUTF8LEN, u, nc); + return strlen(p); + } else { + while (*p != '\0') { + *p = csconv[((unsigned char) *p)].clower; + p++; + } + } + return nc; +} + +// convert UTF-8 sharp S codes to latin 1 +char * Hunspell::sharps_u8_l1(char * dest, char * source) { + char * p = dest; + *p = *source; + for (p++, source++; *(source - 1); p++, source++) { + *p = *source; + if (*source == '\x9F') *--p = '\xDF'; + } + return dest; +} + +// recursive search for right ss - sharp s permutations +hentry * Hunspell::spellsharps(char * base, char * pos, int n, + int repnum, char * tmp, int * info, char **root) { + pos = strstr(pos, "ss"); + if (pos && (n < MAXSHARPS)) { + *pos = '\xC3'; + *(pos + 1) = '\x9F'; + hentry * h = spellsharps(base, pos + 2, n + 1, repnum + 1, tmp, info, root); + if (h) return h; + *pos = 's'; + *(pos + 1) = 's'; + h = spellsharps(base, pos + 2, n + 1, repnum, tmp, info, root); + if (h) return h; + } else if (repnum > 0) { + if (utf8) return checkword(base, info, root); + return checkword(sharps_u8_l1(tmp, base), info, root); + } + return NULL; +} + +int Hunspell::is_keepcase(const hentry * rv) { + return pAMgr && rv->astr && pAMgr->get_keepcase() && + TESTAFF(rv->astr, pAMgr->get_keepcase(), rv->alen); +} + +/* insert a word to beginning of the suggestion array and return ns */ +int Hunspell::insert_sug(char ***slst, char * word, int ns) { + if (ns == MAXSUGGESTION) { + ns--; + free((*slst)[ns]); + } + for (int k = ns; k > 0; k--) (*slst)[k] = (*slst)[k - 1]; + (*slst)[0] = mystrdup(word); + return ns + 1; +} + +int Hunspell::spell(const char * word, int * info, char ** root) +{ + struct hentry * rv=NULL; + // need larger vector. For example, Turkish capital letter I converted a + // 2-byte UTF-8 character (dotless i) by mkallsmall. + char cw[MAXWORDUTF8LEN + 4]; + char wspace[MAXWORDUTF8LEN + 4]; + w_char unicw[MAXWORDLEN + 1]; + int nc = strlen(word); + int wl2 = 0; + if (utf8) { + if (nc >= MAXWORDUTF8LEN) return 0; + } else { + if (nc >= MAXWORDLEN) return 0; + } + int captype = 0; + int abbv = 0; + int wl = cleanword2(cw, word, unicw, &nc, &captype, &abbv); + int info2 = 0; + if (wl == 0) return 1; + if (root) *root = NULL; + + // allow numbers with dots and commas (but forbid double separators: "..", ",," etc.) + enum { NBEGIN, NNUM, NSEP }; + int nstate = NBEGIN; + int i; + + for (i = 0; (i < wl); i++) { + if ((cw[i] <= '9') && (cw[i] >= '0')) { + nstate = NNUM; + } else if ((cw[i] == ',') || (cw[i] == '.') || (cw[i] == '-')) { + if ((nstate == NSEP) || (i == 0)) break; + nstate = NSEP; + } else break; + } + if ((i == wl) && (nstate == NNUM)) return 1; + if (!info) info = &info2; else *info = 0; + + // LANG_hu section: number(s) + (percent or degree) with suffixes + if (langnum == LANG_hu) { + if ((nstate == NNUM) && ((cw[i] == '%') || ((!utf8 && (cw[i] == '\xB0')) || + (utf8 && (strncmp(cw + i, "\xC2\xB0", 2)==0)))) + && checkword(cw + i, info, root)) return 1; + } + // END of LANG_hu section + + switch(captype) { + case HUHCAP: + case HUHINITCAP: + case NOCAP: { + rv = checkword(cw, info, root); + if ((abbv) && !(rv)) { + memcpy(wspace,cw,wl); + *(wspace+wl) = '.'; + *(wspace+wl+1) = '\0'; + rv = checkword(wspace, info, root); + } + break; + } + case ALLCAP: { + rv = checkword(cw, info, root); + if (rv) break; + if (abbv) { + memcpy(wspace,cw,wl); + *(wspace+wl) = '.'; + *(wspace+wl+1) = '\0'; + rv = checkword(wspace, info, root); + if (rv) break; + } + // spec. prefix handling for Italian, etc. (SANT'ELIA -> Sant'+Elia) + if (pAMgr && strchr(cw, '\'')) { + wl = mkallsmall2(cw, unicw, nc); + char * apostrophe = strchr(cw, '\''); + if (utf8) { + w_char tmpword[MAXWORDLEN]; + *apostrophe = '\0'; + wl2 = u8_u16(tmpword, MAXWORDLEN, cw); + *apostrophe = '\''; + if (wl2 < nc) { + mkinitcap2(apostrophe + 1, unicw + wl2 + 1, nc - wl2 - 1); + rv = checkword(cw, info, root); + if (rv) break; + } + } else { + mkinitcap2(apostrophe + 1, unicw, nc); + rv = checkword(cw, info, root); + if (rv) break; + } + mkinitcap2(cw, unicw, nc); + rv = checkword(cw, info, root); + if (rv) break; + } + if (pAMgr && pAMgr->get_checksharps() && strstr(cw, "SS")) { + char tmpword[MAXWORDUTF8LEN]; + wl = mkallsmall2(cw, unicw, nc); + memcpy(wspace,cw,(wl+1)); + rv = spellsharps(wspace, wspace, 0, 0, tmpword, info, root); + if (!rv) { + wl2 = mkinitcap2(cw, unicw, nc); + rv = spellsharps(cw, cw, 0, 0, tmpword, info, root); + } + if ((abbv) && !(rv)) { + *(wspace+wl) = '.'; + *(wspace+wl+1) = '\0'; + rv = spellsharps(wspace, wspace, 0, 0, tmpword, info, root); + if (!rv) { + memcpy(wspace, cw, wl2); + *(wspace+wl2) = '.'; + *(wspace+wl2+1) = '\0'; + rv = spellsharps(wspace, wspace, 0, 0, tmpword, info, root); + } + } + if (rv) break; + } + } + case INITCAP: { + wl = mkallsmall2(cw, unicw, nc); + memcpy(wspace,cw,(wl+1)); + wl2 = mkinitcap2(cw, unicw, nc); + if (captype == INITCAP) *info += SPELL_INITCAP; + rv = checkword(cw, info, root); + if (captype == INITCAP) *info -= SPELL_INITCAP; + // forbid bad capitalization + // (for example, ijs -> Ijs instead of IJs in Dutch) + // use explicit forms in dic: Ijs/F (F = FORBIDDENWORD flag) + if (*info & SPELL_FORBIDDEN) { + rv = NULL; + break; + } + if (rv && is_keepcase(rv) && (captype == ALLCAP)) rv = NULL; + if (rv) break; + rv = checkword(wspace, info, root); + if (abbv && !rv) { + *(wspace+wl) = '.'; + *(wspace+wl+1) = '\0'; + rv = checkword(wspace, info, root); + if (!rv) { + memcpy(wspace, cw, wl2); + *(wspace+wl2) = '.'; + *(wspace+wl2+1) = '\0'; + if (captype == INITCAP) *info += SPELL_INITCAP; + rv = checkword(wspace, info, root); + if (captype == INITCAP) *info -= SPELL_INITCAP; + if (rv && is_keepcase(rv) && (captype == ALLCAP)) rv = NULL; + break; + } + } + if (rv && is_keepcase(rv) && + ((captype == ALLCAP) || + // if CHECKSHARPS: KEEPCASE words with \xDF are allowed + // in INITCAP form, too. + !(pAMgr->get_checksharps() && + ((utf8 && strstr(wspace, "\xC3\x9F")) || + (!utf8 && strchr(wspace, '\xDF')))))) rv = NULL; + break; + } + } + + // check ONLYUPCASE and return +// if (rv && !((captype==INITCAP) && (rv->astr) && (pAMgr) && +// TESTAFF(rv->astr, ONLYUPCASEFLAG, rv->alen))) { +// return 1; +// } + if (rv) return 1; + + // recursive breaking at break points (not good for morphological analysis) + if (wordbreak) { + char * s; + char r; + int corr = 0; + // German words beginning with "-" are not accepted + if (langnum == LANG_de) corr = 1; + for (int j = 0; j < pAMgr->get_numbreak(); j++) { + s=(char *) strstr(cw + corr, wordbreak[j]); + if (s) { + r = *s; + *s = '\0'; + // examine 2 sides of the break point + if (spell(cw) && spell(s + strlen(wordbreak[j]))) { + *s = r; + return 1; + } + *s = r; + } + } + } + + // LANG_hu: compoundings with dashes and n-dashes XXX deprecated! + if (langnum == LANG_hu) { + int n; + // compound word with dash (HU) I18n + char * dash; + int result = 0; + // n-dash + dash = (char *) strstr(cw,"\xE2\x80\x93"); + if (dash && !wordbreak) { + *dash = '\0'; + // examine 2 sides of the dash + if (spell(cw) && spell(dash + 3)) { + *dash = '\xE2'; + return 1; + } + *dash = '\xE2'; + } + dash = (char *) strchr(cw,'-'); + if (dash) { + *dash='\0'; + // examine 2 sides of the dash + if (dash[1] == '\0') { // base word ending with dash + if (spell(cw)) return 1; + } else { + // first word ending with dash: word- + char r2 = *(dash + 1); + dash[0]='-'; + dash[1]='\0'; + result = spell(cw); + dash[1] = r2; + dash[0]='\0'; + if (result && spell(dash+1) && ((strlen(dash+1) > 1) || (dash[1] == 'e') || + ((dash[1] > '0') && (dash[1] < '9')))) return 1; + } + // affixed number in correct word + if (result && (dash > cw) && (((*(dash-1)<='9') && (*(dash-1)>='0')) || (*(dash-1)>='.'))) { + *dash='-'; + n = 1; + if (*(dash - n) == '.') n++; + // search first not a number character to left from dash + while (((dash - n)>=cw) && ((*(dash - n)=='0') || (n < 3)) && (n < 6)) { + n++; + } + if ((dash - n) < cw) n--; + // numbers: deprecated + for(; n >= 1; n--) { + if ((*(dash - n) >= '0') && (*(dash - n) <= '9') && + checkword(dash - n, info, root)) return 1; + } + } + } + } + return 0; +} + +struct hentry * Hunspell::checkword(const char * w, int * info, char ** root) +{ + struct hentry * he = NULL; + int len; + char w2[MAXWORDUTF8LEN]; + const char * word; + + char * ignoredchars = pAMgr->get_ignore(); + if (ignoredchars != NULL) { + strcpy(w2, w); + if (utf8) { + int ignoredchars_utf16_len; + unsigned short * ignoredchars_utf16 = pAMgr->get_ignore_utf16(&ignoredchars_utf16_len); + remove_ignored_chars_utf(w2, ignoredchars_utf16, ignoredchars_utf16_len); + } else { + remove_ignored_chars(w2,ignoredchars); + } + word = w2; + } else word = w; + + // word reversing wrapper for complex prefixes + if (complexprefixes) { + if (word != w2) { + strcpy(w2, word); + word = w2; + } + if (utf8) reverseword_utf(w2); else reverseword(w2); + } + + // look word in hash table + if (pHMgr) he = pHMgr->lookup(word); + + // check forbidden and onlyincompound words + if ((he) && (he->astr) && (pAMgr) && TESTAFF(he->astr, pAMgr->get_forbiddenword(), he->alen)) { + if (info) *info += SPELL_FORBIDDEN; + // LANG_hu section: set dash information for suggestions + if (langnum == LANG_hu) { + if (pAMgr->get_compoundflag() && + TESTAFF(he->astr, pAMgr->get_compoundflag(), he->alen)) { + if (info) *info += SPELL_COMPOUND; + } + } + return NULL; + } + + // he = next not pseudoroot, onlyincompound homonym or onlyupcase word + while (he && (he->astr) && + ((pAMgr->get_pseudoroot() && TESTAFF(he->astr, pAMgr->get_pseudoroot(), he->alen)) || + (pAMgr->get_onlyincompound() && TESTAFF(he->astr, pAMgr->get_onlyincompound(), he->alen)) || + (info && (*info & SPELL_INITCAP) && TESTAFF(he->astr, ONLYUPCASEFLAG, he->alen)) + )) he = he->next_homonym; + + // check with affixes + if (!he && pAMgr) { + // try stripping off affixes */ + len = strlen(word); + he = pAMgr->affix_check(word, len, 0); + + // check compound restriction and onlyupcase + if (he && he->astr && ( + (pAMgr->get_onlyincompound() && + TESTAFF(he->astr, pAMgr->get_onlyincompound(), he->alen)) || + (info && (*info & SPELL_INITCAP) && + TESTAFF(he->astr, ONLYUPCASEFLAG, he->alen)))) { + he = NULL; + } + + if (he) { + if ((he->astr) && (pAMgr) && TESTAFF(he->astr, pAMgr->get_forbiddenword(), he->alen)) { + if (info) *info += SPELL_FORBIDDEN; + return NULL; + } + if (root) { + *root = mystrdup(he->word); + if (complexprefixes) { + if (utf8) reverseword_utf(*root); else reverseword(*root); + } + } + // try check compound word + } else if (pAMgr->get_compound()) { + he = pAMgr->compound_check(word, len, + 0,0,100,0,NULL,0,NULL,NULL,0); + // LANG_hu section: `moving rule' with last dash + if ((!he) && (langnum == LANG_hu) && (word[len-1]=='-')) { + char * dup = mystrdup(word); + dup[len-1] = '\0'; + he = pAMgr->compound_check(dup, len-1, + -5,0,100,0,NULL,1,NULL,NULL,0); + free(dup); + } + // end of LANG speficic region + if (he) { + if (root) { + *root = mystrdup(he->word); + if (complexprefixes) { + if (utf8) reverseword_utf(*root); else reverseword(*root); + } + } + if (info) *info += SPELL_COMPOUND; + } + } + + } + + return he; +} + +int Hunspell::suggest(char*** slst, const char * word) +{ + char cw[MAXWORDUTF8LEN + 4]; + char wspace[MAXWORDUTF8LEN + 4]; + if (! pSMgr) return 0; + w_char unicw[MAXWORDLEN + 1]; + int nc = strlen(word); + if (utf8) { + if (nc >= MAXWORDUTF8LEN) return 0; + } else { + if (nc >= MAXWORDLEN) return 0; + } + int captype = 0; + int abbv = 0; + int wl = cleanword2(cw, word, unicw, &nc, &captype, &abbv); + if (wl == 0) return 0; + int ns = 0; + *slst = NULL; + int capwords = 0; + int ngramsugs = 0; + + switch(captype) { + case NOCAP: { + ns = pSMgr->suggest(slst, cw, ns); + break; + } + + case INITCAP: { + capwords = 1; + ns = pSMgr->suggest(slst, cw, ns); + if (ns == -1) break; + memcpy(wspace,cw,(wl+1)); + mkallsmall2(wspace, unicw, nc); + ns = pSMgr->suggest(slst, wspace, ns); + break; + } + case HUHINITCAP: + capwords = 1; + case HUHCAP: { + ns = pSMgr->suggest(slst, cw, ns); + if (ns != -1) { + int prevns; + // something.The -> something. The + char * dot = strchr(cw, '.'); + if (dot && (dot > cw)) { + int captype = utf8 ? get_captype_utf8(dot+1, strlen(dot+1), langnum) : + get_captype(dot+1, strlen(dot+1), csconv); + if (captype == INITCAP) { + char * st = mystrdup(cw); + st = (char *) realloc(st, wl + 1); + st[(dot - cw) + 1] = ' '; + strcpy(st + (dot - cw) + 2, dot + 1); + ns = insert_sug(slst, st, ns); + } + } + if (captype == HUHINITCAP) { + // TheOpenOffice.org -> The OpenOffice.org + memcpy(wspace,cw,(wl+1)); + mkinitsmall2(wspace, unicw, nc); + ns = pSMgr->suggest(slst, wspace, ns); + } + memcpy(wspace,cw,(wl+1)); + mkallsmall2(wspace, unicw, nc); + if (spell(wspace)) ns = insert_sug(slst, wspace, ns); + prevns = ns; + ns = pSMgr->suggest(slst, wspace, ns); + if (captype == HUHINITCAP) { + mkinitcap2(wspace, unicw, nc); + if (spell(wspace)) ns = insert_sug(slst, wspace, ns); + ns = pSMgr->suggest(slst, wspace, ns); + } + // aNew -> "a New" (instead of "a new") + for (int j = prevns; j < ns; j++) { + char * space = strchr((*slst)[j],' '); + if (space) { + int slen = strlen(space + 1); + // different case after space (need capitalisation) + if ((slen < wl) && strcmp(cw + wl - slen, space + 1)) { + w_char w[MAXWORDLEN + 1]; + int wc = 0; + char * r = (*slst)[j]; + if (utf8) wc = u8_u16(w, MAXWORDLEN, space + 1); + mkinitcap2(space + 1, w, wc); + // set as first suggestion + for (int k = j; k > 0; k--) (*slst)[k] = (*slst)[k - 1]; + (*slst)[0] = r; + } + } + } + } + break; + } + + case ALLCAP: { + memcpy(wspace, cw, (wl+1)); + mkallsmall2(wspace, unicw, nc); + ns = pSMgr->suggest(slst, wspace, ns); + if (ns == -1) break; + if (pAMgr && pAMgr->get_keepcase() && spell(wspace)) + ns = insert_sug(slst, wspace, ns); + mkinitcap2(wspace, unicw, nc); + ns = pSMgr->suggest(slst, wspace, ns); + for (int j=0; j < ns; j++) { + mkallcap((*slst)[j]); + if (pAMgr && pAMgr->get_checksharps()) { + char * pos; + if (utf8) { + pos = strstr((*slst)[j], "\xC3\x9F"); + while (pos) { + *pos = 'S'; + *(pos+1) = 'S'; + pos = strstr(pos+2, "\xC3\x9F"); + } + } else { + pos = strchr((*slst)[j], '\xDF'); + while (pos) { + (*slst)[j] = (char *) realloc((*slst)[j], strlen((*slst)[j]) + 2); + mystrrep((*slst)[j], "\xDF", "SS"); + pos = strchr((*slst)[j], '\xDF'); + } + } + } + } + break; + } + } + + // LANG_hu section: replace '-' with ' ' in Hungarian + if (langnum == LANG_hu) { + for (int j=0; j < ns; j++) { + char * pos = strchr((*slst)[j],'-'); + if (pos) { + int info; + char w[MAXWORDUTF8LEN]; + *pos = '\0'; + strcpy(w, (*slst)[j]); + strcat(w, pos + 1); + spell(w, &info, NULL); + if ((info & SPELL_COMPOUND) && (info & SPELL_FORBIDDEN)) { + *pos = ' '; + } else *pos = '-'; + } + } + } + // END OF LANG_hu section + + // try ngram approach since found nothing + if ((ns == 0) && pAMgr && (pAMgr->get_maxngramsugs() != 0)) { + ngramsugs = 1; + switch(captype) { + case NOCAP: { + ns = pSMgr->ngsuggest(*slst, cw, pHMgr); + break; + } + case HUHCAP: { + memcpy(wspace,cw,(wl+1)); + mkallsmall2(wspace, unicw, nc); + ns = pSMgr->ngsuggest(*slst, wspace, pHMgr); + break; + } + case INITCAP: { + capwords = 1; + memcpy(wspace,cw,(wl+1)); + mkallsmall2(wspace, unicw, nc); + ns = pSMgr->ngsuggest(*slst, wspace, pHMgr); + break; + } + case ALLCAP: { + memcpy(wspace,cw,(wl+1)); + mkallsmall2(wspace, unicw, nc); + ns = pSMgr->ngsuggest(*slst, wspace, pHMgr); + for (int j=0; j < ns; j++) + mkallcap((*slst)[j]); + break; + } + } + } + + // word reversing wrapper for complex prefixes + if (complexprefixes) { + for (int j = 0; j < ns; j++) { + if (utf8) reverseword_utf((*slst)[j]); else reverseword((*slst)[j]); + } + } + + // capitalize + if (capwords) for (int j=0; j < ns; j++) { + mkinitcap((*slst)[j]); + } + + // expand suggestions with dot(s) + if (abbv && pAMgr && pAMgr->get_sugswithdots()) { + for (int j = 0; j < ns; j++) { + (*slst)[j] = (char *) realloc((*slst)[j], strlen((*slst)[j]) + 1 + abbv); + strcat((*slst)[j], word + strlen(word) - abbv); + } + } + + // remove bad capitalized and forbidden forms + if (pAMgr->get_keepcase() || pAMgr->get_forbiddenword()) { + switch (captype) { + case INITCAP: + case ALLCAP: { + int l = 0; + for (int j=0; j < ns; j++) { + if (!strchr((*slst)[j],' ') && !spell((*slst)[j])) { + char s[MAXSWUTF8L]; + w_char w[MAXSWL]; + int len; + if (utf8) { + len = u8_u16(w, MAXSWL, (*slst)[j]); + } else { + strcpy(s, (*slst)[j]); + len = strlen(s); + } + mkallsmall2(s, w, len); + free((*slst)[j]); + if (spell(s)) { + (*slst)[l] = mystrdup(s); + l++; + } else { + mkinitcap2(s, w, len); + if (spell(s)) { + (*slst)[l] = mystrdup(s); + l++; + } + } + } else { + (*slst)[l] = (*slst)[j]; + l++; + } + } + ns = l; + } + } + } + + // remove duplications + int l = 0; + for (int j = 0; j < ns; j++) { + (*slst)[l] = (*slst)[j]; + for (int k = 0; k < l; k++) { + if (strcmp((*slst)[k], (*slst)[j]) == 0) { + free((*slst)[j]); + l--; + } + } + l++; + } + return l; +} + +char * Hunspell::get_dic_encoding() +{ + return encoding; +} + +#ifdef HUNSPELL_EXPERIMENTAL +// XXX need UTF-8 support +int Hunspell::suggest_auto(char*** slst, const char * word) +{ + char cw[MAXWORDUTF8LEN + 4]; + char wspace[MAXWORDUTF8LEN + 4]; + if (! pSMgr) return 0; + int wl = strlen(word); + if (utf8) { + if (wl >= MAXWORDUTF8LEN) return 0; + } else { + if (wl >= MAXWORDLEN) return 0; + } + int captype = 0; + int abbv = 0; + wl = cleanword(cw, word, &captype, &abbv); + if (wl == 0) return 0; + int ns = 0; + *slst = NULL; // HU, nsug in pSMgr->suggest + + switch(captype) { + case NOCAP: { + ns = pSMgr->suggest_auto(slst, cw, ns); + if (ns>0) break; + break; + } + + case INITCAP: { + memcpy(wspace,cw,(wl+1)); + mkallsmall(wspace); + ns = pSMgr->suggest_auto(slst, wspace, ns); + for (int j=0; j < ns; j++) + mkinitcap((*slst)[j]); + ns = pSMgr->suggest_auto(slst, cw, ns); + break; + + } + + case HUHCAP: { + ns = pSMgr->suggest_auto(slst, cw, ns); + if (ns == 0) { + memcpy(wspace,cw,(wl+1)); + mkallsmall(wspace); + ns = pSMgr->suggest_auto(slst, wspace, ns); + } + break; + } + + case ALLCAP: { + memcpy(wspace,cw,(wl+1)); + mkallsmall(wspace); + ns = pSMgr->suggest_auto(slst, wspace, ns); + + mkinitcap(wspace); + ns = pSMgr->suggest_auto(slst, wspace, ns); + + for (int j=0; j < ns; j++) + mkallcap((*slst)[j]); + break; + } + } + + // word reversing wrapper for complex prefixes + if (complexprefixes) { + for (int j = 0; j < ns; j++) { + if (utf8) reverseword_utf((*slst)[j]); else reverseword((*slst)[j]); + } + } + + // expand suggestions with dot(s) + if (abbv && pAMgr && pAMgr->get_sugswithdots()) { + for (int j = 0; j < ns; j++) { + (*slst)[j] = (char *) realloc((*slst)[j], strlen((*slst)[j]) + 1 + abbv); + strcat((*slst)[j], word + strlen(word) - abbv); + } + } + + // LANG_hu section: replace '-' with ' ' in Hungarian + if (langnum == LANG_hu) { + for (int j=0; j < ns; j++) { + char * pos = strchr((*slst)[j],'-'); + if (pos) { + int info; + char w[MAXWORDUTF8LEN]; + *pos = '\0'; + strcpy(w, (*slst)[j]); + strcat(w, pos + 1); + spell(w, &info, NULL); + if ((info & SPELL_COMPOUND) && (info & SPELL_FORBIDDEN)) { + *pos = ' '; + } else *pos = '-'; + } + } + } + // END OF LANG_hu section + return ns; +} + +// XXX need UTF-8 support +int Hunspell::stem(char*** slst, const char * word) +{ + char cw[MAXWORDUTF8LEN + 4]; + char wspace[MAXWORDUTF8LEN + 4]; + if (! pSMgr) return 0; + int wl = strlen(word); + if (utf8) { + if (wl >= MAXWORDUTF8LEN) return 0; + } else { + if (wl >= MAXWORDLEN) return 0; + } + int captype = 0; + int abbv = 0; + wl = cleanword(cw, word, &captype, &abbv); + if (wl == 0) return 0; + + int ns = 0; + + *slst = NULL; // HU, nsug in pSMgr->suggest + + switch(captype) { + case HUHCAP: + case NOCAP: { + ns = pSMgr->suggest_stems(slst, cw, ns); + + if ((abbv) && (ns == 0)) { + memcpy(wspace,cw,wl); + *(wspace+wl) = '.'; + *(wspace+wl+1) = '\0'; + ns = pSMgr->suggest_stems(slst, wspace, ns); + } + + break; + } + + case INITCAP: { + + ns = pSMgr->suggest_stems(slst, cw, ns); + + if (ns == 0) { + memcpy(wspace,cw,(wl+1)); + mkallsmall(wspace); + ns = pSMgr->suggest_stems(slst, wspace, ns); + + } + + if ((abbv) && (ns == 0)) { + memcpy(wspace,cw,wl); + mkallsmall(wspace); + *(wspace+wl) = '.'; + *(wspace+wl+1) = '\0'; + ns = pSMgr->suggest_stems(slst, wspace, ns); + } + + break; + + } + + case ALLCAP: { + ns = pSMgr->suggest_stems(slst, cw, ns); + if (ns != 0) break; + + memcpy(wspace,cw,(wl+1)); + mkallsmall(wspace); + ns = pSMgr->suggest_stems(slst, wspace, ns); + + if (ns == 0) { + mkinitcap(wspace); + ns = pSMgr->suggest_stems(slst, wspace, ns); + } + + if ((abbv) && (ns == 0)) { + memcpy(wspace,cw,wl); + mkallsmall(wspace); + *(wspace+wl) = '.'; + *(wspace+wl+1) = '\0'; + ns = pSMgr->suggest_stems(slst, wspace, ns); + } + + + break; + } + } + + return ns; +} + +int Hunspell::suggest_pos_stems(char*** slst, const char * word) +{ + char cw[MAXWORDUTF8LEN + 4]; + char wspace[MAXWORDUTF8LEN + 4]; + if (! pSMgr) return 0; + int wl = strlen(word); + if (utf8) { + if (wl >= MAXWORDUTF8LEN) return 0; + } else { + if (wl >= MAXWORDLEN) return 0; + } + int captype = 0; + int abbv = 0; + wl = cleanword(cw, word, &captype, &abbv); + if (wl == 0) return 0; + + int ns = 0; // ns=0 = normalized input + + *slst = NULL; // HU, nsug in pSMgr->suggest + + switch(captype) { + case HUHCAP: + case NOCAP: { + ns = pSMgr->suggest_pos_stems(slst, cw, ns); + + if ((abbv) && (ns == 0)) { + memcpy(wspace,cw,wl); + *(wspace+wl) = '.'; + *(wspace+wl+1) = '\0'; + ns = pSMgr->suggest_pos_stems(slst, wspace, ns); + } + + break; + } + + case INITCAP: { + + ns = pSMgr->suggest_pos_stems(slst, cw, ns); + + if (ns == 0 || ((*slst)[0][0] == '#')) { + memcpy(wspace,cw,(wl+1)); + mkallsmall(wspace); + ns = pSMgr->suggest_pos_stems(slst, wspace, ns); + } + + break; + + } + + case ALLCAP: { + ns = pSMgr->suggest_pos_stems(slst, cw, ns); + if (ns != 0) break; + + memcpy(wspace,cw,(wl+1)); + mkallsmall(wspace); + ns = pSMgr->suggest_pos_stems(slst, wspace, ns); + + if (ns == 0) { + mkinitcap(wspace); + ns = pSMgr->suggest_pos_stems(slst, wspace, ns); + } + break; + } + } + + return ns; +} +#endif // END OF HUNSPELL_EXPERIMENTAL CODE + +const char * Hunspell::get_wordchars() +{ + return pAMgr->get_wordchars(); +} + +unsigned short * Hunspell::get_wordchars_utf16(int * len) +{ + return pAMgr->get_wordchars_utf16(len); +} + +void Hunspell::mkinitcap(char * p) +{ + if (!utf8) { + if (*p != '\0') *p = csconv[((unsigned char)*p)].cupper; + } else { + int len; + w_char u[MAXWORDLEN]; + len = u8_u16(u, MAXWORDLEN, p); + unsigned short i = unicodetoupper((u[0].h << 8) + u[0].l, langnum); + u[0].h = (unsigned char) (i >> 8); + u[0].l = (unsigned char) (i & 0x00FF); + u16_u8(p, MAXWORDUTF8LEN, u, len); + } +} + +int Hunspell::mkinitcap2(char * p, w_char * u, int nc) +{ + if (!utf8) { + if (*p != '\0') *p = csconv[((unsigned char)*p)].cupper; + } else if (nc > 0) { + unsigned short i = unicodetoupper((u[0].h << 8) + u[0].l, langnum); + u[0].h = (unsigned char) (i >> 8); + u[0].l = (unsigned char) (i & 0x00FF); + u16_u8(p, MAXWORDUTF8LEN, u, nc); + return strlen(p); + } + return nc; +} + +int Hunspell::mkinitsmall2(char * p, w_char * u, int nc) +{ + if (!utf8) { + if (*p != '\0') *p = csconv[((unsigned char)*p)].clower; + } else if (nc > 0) { + unsigned short i = unicodetolower((u[0].h << 8) + u[0].l, langnum); + u[0].h = (unsigned char) (i >> 8); + u[0].l = (unsigned char) (i & 0x00FF); + u16_u8(p, MAXWORDUTF8LEN, u, nc); + return strlen(p); + } + return nc; +} + +int Hunspell::put_word(const char * word) +{ + if (pHMgr) { + return pHMgr->put_word(word, strlen(word), NULL); + } + return 0; +} + +int Hunspell::put_word_pattern(const char * word, const char * pattern) +{ + if (pHMgr) { + return pHMgr->put_word_pattern(word, strlen(word), pattern); + } + return 0; +} + +const char * Hunspell::get_version() +{ + return pAMgr->get_version(); +} + +/* + +struct cs_info * Hunspell::get_csconv() +{ + return csconv; +} + +int utf16_isalpha(unsigned short c) { + return unicodeisalpha(c); +} +*/ +#ifdef HUNSPELL_EXPERIMENTAL +// XXX need UTF-8 support +char * Hunspell::morph(const char * word) +{ + char cw[MAXWORDUTF8LEN + 4]; + char wspace[MAXWORDUTF8LEN + 4]; + if (! pSMgr) return 0; + int wl = strlen(word); + if (utf8) { + if (wl >= MAXWORDUTF8LEN) return 0; + } else { + if (wl >= MAXWORDLEN) return 0; + } + int captype = 0; + int abbv = 0; + wl = cleanword(cw, word, &captype, &abbv); + if (wl == 0) { + if (abbv) { + for (wl = 0; wl < abbv; wl++) cw[wl] = '.'; + cw[wl] = '\0'; + abbv = 0; + } else return 0; + } + + char result[MAXLNLEN]; + char * st = NULL; + + *result = '\0'; + + int n = 0; + int n2 = 0; + int n3 = 0; + + // test numbers + // LANG_hu section: set dash information for suggestions + if (langnum == LANG_hu) { + while ((n < wl) && + (((cw[n] <= '9') && (cw[n] >= '0')) || (((cw[n] == '.') || (cw[n] == ',')) && (n > 0)))) { + n++; + if ((cw[n] == '.') || (cw[n] == ',')) { + if (((n2 == 0) && (n > 3)) || + ((n2 > 0) && ((cw[n-1] == '.') || (cw[n-1] == ',')))) break; + n2++; + n3 = n; + } + } + + if ((n == wl) && (n3 > 0) && (n - n3 > 3)) return NULL; + if ((n == wl) || ((n>0) && ((cw[n]=='%') || (cw[n]=='\xB0')) && checkword(cw+n, NULL, NULL))) { + strcat(result, cw); + result[n - 1] = '\0'; + if (n == wl) { + st = pSMgr->suggest_morph(cw + n - 1); + if (st) { + strcat(result, st); + free(st); + } + } else { + char sign = cw[n]; + cw[n] = '\0'; + st = pSMgr->suggest_morph(cw + n - 1); + if (st) { + strcat(result, st); + free(st); + } + strcat(result, "+"); // XXX SPEC. MORPHCODE + cw[n] = sign; + st = pSMgr->suggest_morph(cw + n); + if (st) { + strcat(result, st); + free(st); + } + } + return mystrdup(result); + } + } + // END OF LANG_hu section + + switch(captype) { + case NOCAP: { + st = pSMgr->suggest_morph(cw); + if (st) { + strcat(result, st); + free(st); + } + if (abbv) { + memcpy(wspace,cw,wl); + *(wspace+wl) = '.'; + *(wspace+wl+1) = '\0'; + st = pSMgr->suggest_morph(wspace); + if (st) { + if (*result) strcat(result, "\n"); + strcat(result, st); + free(st); + } + } + break; + } + case INITCAP: { + memcpy(wspace,cw,(wl+1)); + mkallsmall(wspace); + st = pSMgr->suggest_morph(wspace); + if (st) { + strcat(result, st); + free(st); + } + st = pSMgr->suggest_morph(cw); + if (st) { + if (*result) strcat(result, "\n"); + strcat(result, st); + free(st); + } + if (abbv) { + memcpy(wspace,cw,wl); + *(wspace+wl) = '.'; + *(wspace+wl+1) = '\0'; + mkallsmall(wspace); + st = pSMgr->suggest_morph(wspace); + if (st) { + if (*result) strcat(result, "\n"); + strcat(result, st); + free(st); + } + mkinitcap(wspace); + st = pSMgr->suggest_morph(wspace); + if (st) { + if (*result) strcat(result, "\n"); + strcat(result, st); + free(st); + } + } + break; + } + case HUHCAP: { + st = pSMgr->suggest_morph(cw); + if (st) { + strcat(result, st); + free(st); + } +#if 0 + memcpy(wspace,cw,(wl+1)); + mkallsmall(wspace); + st = pSMgr->suggest_morph(wspace); + if (st) { + if (*result) strcat(result, "\n"); + strcat(result, st); + free(st); + } +#endif + break; + } + case ALLCAP: { + memcpy(wspace,cw,(wl+1)); + st = pSMgr->suggest_morph(wspace); + if (st) { + strcat(result, st); + free(st); + } + mkallsmall(wspace); + st = pSMgr->suggest_morph(wspace); + if (st) { + if (*result) strcat(result, "\n"); + strcat(result, st); + free(st); + } + mkinitcap(wspace); + st = pSMgr->suggest_morph(wspace); + if (st) { + if (*result) strcat(result, "\n"); + strcat(result, st); + free(st); + } + if (abbv) { + memcpy(wspace,cw,(wl+1)); + *(wspace+wl) = '.'; + *(wspace+wl+1) = '\0'; + if (*result) strcat(result, "\n"); + st = pSMgr->suggest_morph(wspace); + if (st) { + strcat(result, st); + free(st); + } + mkallsmall(wspace); + st = pSMgr->suggest_morph(wspace); + if (st) { + if (*result) strcat(result, "\n"); + strcat(result, st); + free(st); + } + mkinitcap(wspace); + st = pSMgr->suggest_morph(wspace); + if (st) { + if (*result) strcat(result, "\n"); + strcat(result, st); + free(st); + } + } + break; + } + } + + if (result && (*result)) { + // word reversing wrapper for complex prefixes + if (complexprefixes) { + if (utf8) reverseword_utf(result); else reverseword(result); + } + return mystrdup(result); + } + + // compound word with dash (HU) I18n + char * dash = NULL; + int nresult = 0; + // LANG_hu section: set dash information for suggestions + if (langnum == LANG_hu) dash = (char *) strchr(cw,'-'); + if ((langnum == LANG_hu) && dash) { + *dash='\0'; + // examine 2 sides of the dash + if (dash[1] == '\0') { // base word ending with dash + if (spell(cw)) return pSMgr->suggest_morph(cw); + } else if ((dash[1] == 'e') && (dash[2] == '\0')) { // XXX (HU) -e hat. + if (spell(cw) && (spell("-e"))) { + st = pSMgr->suggest_morph(cw); + if (st) { + strcat(result, st); + free(st); + } + strcat(result,"+"); // XXX spec. separator in MORPHCODE + st = pSMgr->suggest_morph("-e"); + if (st) { + strcat(result, st); + free(st); + } + return mystrdup(result); + } + } else { + // first word ending with dash: word- XXX ??? + char r2 = *(dash + 1); + dash[0]='-'; + dash[1]='\0'; + nresult = spell(cw); + dash[1] = r2; + dash[0]='\0'; + if (nresult && spell(dash+1) && ((strlen(dash+1) > 1) || + ((dash[1] > '0') && (dash[1] < '9')))) { + st = morph(cw); + if (st) { + strcat(result, st); + free(st); + strcat(result,"+"); // XXX spec. separator in MORPHCODE + } + st = morph(dash+1); + if (st) { + strcat(result, st); + free(st); + } + return mystrdup(result); + } + } + // affixed number in correct word + if (nresult && (dash > cw) && (((*(dash-1)<='9') && + (*(dash-1)>='0')) || (*(dash-1)=='.'))) { + *dash='-'; + n = 1; + if (*(dash - n) == '.') n++; + // search first not a number character to left from dash + while (((dash - n)>=cw) && ((*(dash - n)=='0') || (n < 3)) && (n < 6)) { + n++; + } + if ((dash - n) < cw) n--; + // numbers: valami1000000-hoz + // examine 100000-hoz, 10000-hoz 1000-hoz, 10-hoz, + // 56-hoz, 6-hoz + for(; n >= 1; n--) { + if ((*(dash - n) >= '0') && (*(dash - n) <= '9') && checkword(dash - n, NULL, NULL)) { + strcat(result, cw); + result[dash - cw - n] = '\0'; + st = pSMgr->suggest_morph(dash - n); + if (st) { + strcat(result, st); + free(st); + } + return mystrdup(result); + } + } + } + } + return NULL; +} + +// XXX need UTF-8 support +char * Hunspell::morph_with_correction(const char * word) +{ + char cw[MAXWORDUTF8LEN + 4]; + char wspace[MAXWORDUTF8LEN + 4]; + if (! pSMgr) return 0; + int wl = strlen(word); + if (utf8) { + if (wl >= MAXWORDUTF8LEN) return 0; + } else { + if (wl >= MAXWORDLEN) return 0; + } + int captype = 0; + int abbv = 0; + wl = cleanword(cw, word, &captype, &abbv); + if (wl == 0) return 0; + + char result[MAXLNLEN]; + char * st = NULL; + + *result = '\0'; + + + switch(captype) { + case NOCAP: { + st = pSMgr->suggest_morph_for_spelling_error(cw); + if (st) { + strcat(result, st); + free(st); + } + if (abbv) { + memcpy(wspace,cw,wl); + *(wspace+wl) = '.'; + *(wspace+wl+1) = '\0'; + st = pSMgr->suggest_morph_for_spelling_error(wspace); + if (st) { + if (*result) strcat(result, "\n"); + strcat(result, st); + free(st); + } + } + break; + } + case INITCAP: { + memcpy(wspace,cw,(wl+1)); + mkallsmall(wspace); + st = pSMgr->suggest_morph_for_spelling_error(wspace); + if (st) { + strcat(result, st); + free(st); + } + st = pSMgr->suggest_morph_for_spelling_error(cw); + if (st) { + if (*result) strcat(result, "\n"); + strcat(result, st); + free(st); + } + if (abbv) { + memcpy(wspace,cw,wl); + *(wspace+wl) = '.'; + *(wspace+wl+1) = '\0'; + mkallsmall(wspace); + st = pSMgr->suggest_morph_for_spelling_error(wspace); + if (st) { + if (*result) strcat(result, "\n"); + strcat(result, st); + free(st); + } + mkinitcap(wspace); + st = pSMgr->suggest_morph_for_spelling_error(wspace); + if (st) { + if (*result) strcat(result, "\n"); + strcat(result, st); + free(st); + } + } + break; + } + case HUHCAP: { + st = pSMgr->suggest_morph_for_spelling_error(cw); + if (st) { + strcat(result, st); + free(st); + } + memcpy(wspace,cw,(wl+1)); + mkallsmall(wspace); + st = pSMgr->suggest_morph_for_spelling_error(wspace); + if (st) { + if (*result) strcat(result, "\n"); + strcat(result, st); + free(st); + } + break; + } + case ALLCAP: { + memcpy(wspace,cw,(wl+1)); + st = pSMgr->suggest_morph_for_spelling_error(wspace); + if (st) { + strcat(result, st); + free(st); + } + mkallsmall(wspace); + st = pSMgr->suggest_morph_for_spelling_error(wspace); + if (st) { + if (*result) strcat(result, "\n"); + strcat(result, st); + free(st); + } + mkinitcap(wspace); + st = pSMgr->suggest_morph_for_spelling_error(wspace); + if (st) { + if (*result) strcat(result, "\n"); + strcat(result, st); + free(st); + } + if (abbv) { + memcpy(wspace,cw,(wl+1)); + *(wspace+wl) = '.'; + *(wspace+wl+1) = '\0'; + if (*result) strcat(result, "\n"); + st = pSMgr->suggest_morph_for_spelling_error(wspace); + if (st) { + strcat(result, st); + free(st); + } + mkallsmall(wspace); + st = pSMgr->suggest_morph_for_spelling_error(wspace); + if (st) { + if (*result) strcat(result, "\n"); + strcat(result, st); + free(st); + } + mkinitcap(wspace); + st = pSMgr->suggest_morph_for_spelling_error(wspace); + if (st) { + if (*result) strcat(result, "\n"); + strcat(result, st); + free(st); + } + } + break; + } + } + + if (result) return mystrdup(result); + return NULL; +} + +/* analyze word + * return line count + * XXX need a better data structure for morphological analysis */ +int Hunspell::analyze(char ***out, const char *word) { + int n = 0; + if (!word) return 0; + char * m = morph(word); + if(!m) return 0; + if (!out) return line_tok(m, out); + + // without memory allocation + /* BUG missing buffer size checking */ + int i, p; + for(p = 0, i = 0; m[i]; i++) { + if(m[i] == '\n' || !m[i+1]) { + n++; + strncpy((*out)[n++], m + p, i - p + 1); + if (m[i] == '\n') (*out)[n++][i - p] = '\0'; + if(!m[i+1]) break; + p = i + 1; + } + } + free(m); + return n; +} + +#endif // END OF HUNSPELL_EXPERIMENTAL CODE + +Hunhandle *Hunspell_create(const char * affpath, const char * dpath) +{ + return (Hunhandle*)(new Hunspell(affpath, dpath)); +} + +void Hunspell_destroy(Hunhandle *pHunspell) +{ + delete (Hunspell*)(pHunspell); +} + +int Hunspell_spell(Hunhandle *pHunspell, const char *word) +{ + return ((Hunspell*)pHunspell)->spell(word); +} + +char *Hunspell_get_dic_encoding(Hunhandle *pHunspell) +{ + return ((Hunspell*)pHunspell)->get_dic_encoding(); +} + +int Hunspell_suggest(Hunhandle *pHunspell, char*** slst, const char * word) +{ + return ((Hunspell*)pHunspell)->suggest(slst, word); +} + diff --git a/extensions/spellcheck/hunspell/src/hunspell.h b/extensions/spellcheck/hunspell/src/hunspell.h new file mode 100644 index 00000000000..d9c15555620 --- /dev/null +++ b/extensions/spellcheck/hunspell/src/hunspell.h @@ -0,0 +1,89 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) + * László Németh (nemethl@gyorsposta.hu) + * David Einstein (deinst@world.std.com) + * Davide Prina + * Giuseppe Modugno + * Gianluca Turconi + * Simon Brouwer + * Noll Janos + * Biro Arpad + * Goldman Eleonora + * Sarlos Tamas + * Bencsath Boldizsar + * Halacsy Peter + * Dvornik Laszlo + * Gefferth Andras + * Nagy Viktor + * Varga Daniel + * Chris Halls + * Rene Engelhard + * Bram Moolenaar + * Dafydd Jones + * Harri Pitkanen + * Andras Timar + * Tor Lillqvist + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#ifndef _MYSPELLMGR_H_ +#define _MYSPELLMGR_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct Hunhandle Hunhandle; + +Hunhandle *Hunspell_create(const char * affpath, const char * dpath); +void Hunspell_destroy(Hunhandle *pHunspell); + +/* spell(word) - spellcheck word + * output: 0 = bad word, not 0 = good word + */ +int Hunspell_spell(Hunhandle *pHunspell, const char *); + +char *Hunspell_get_dic_encoding(Hunhandle *pHunspell); + +/* suggest(suggestions, word) - search suggestions + * input: pointer to an array of strings pointer and the (bad) word + * array of strings pointer (here *slst) may not be initialized + * output: number of suggestions in string array, and suggestions in + * a newly allocated array of strings (*slts will be NULL when number + * of suggestion equals 0.) + */ +int Hunspell_suggest(Hunhandle *pHunspell, char*** slst, const char * word); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/extensions/spellcheck/hunspell/src/hunspell.hxx b/extensions/spellcheck/hunspell/src/hunspell.hxx new file mode 100644 index 00000000000..279528b78cb --- /dev/null +++ b/extensions/spellcheck/hunspell/src/hunspell.hxx @@ -0,0 +1,190 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) + * László Németh (nemethl@gyorsposta.hu) + * David Einstein (deinst@world.std.com) + * Davide Prina + * Giuseppe Modugno + * Gianluca Turconi + * Simon Brouwer + * Noll Janos + * Biro Arpad + * Goldman Eleonora + * Sarlos Tamas + * Bencsath Boldizsar + * Halacsy Peter + * Dvornik Laszlo + * Gefferth Andras + * Nagy Viktor + * Varga Daniel + * Chris Halls + * Rene Engelhard + * Bram Moolenaar + * Dafydd Jones + * Harri Pitkanen + * Andras Timar + * Tor Lillqvist + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#include "hashmgr.hxx" +#include "affixmgr.hxx" +#include "suggestmgr.hxx" +#include "csutil.hxx" +#include "langnum.hxx" + +#define SPELL_COMPOUND (1 << 0) +#define SPELL_FORBIDDEN (1 << 1) +#define SPELL_ALLCAP (1 << 2) +#define SPELL_NOCAP (1 << 3) +#define SPELL_INITCAP (1 << 4) + +#define MAXSUGGESTION 15 +#define MAXSHARPS 5 + +#ifdef W32 +#define DLLTEST2_API __declspec(dllexport) +#endif + +#ifndef _MYSPELLMGR_HXX_ +#define _MYSPELLMGR_HXX_ + +#ifdef W32 +class DLLTEST2_API Hunspell +#else +class Hunspell +#endif +{ + AffixMgr* pAMgr; + HashMgr* pHMgr; + SuggestMgr* pSMgr; + char * encoding; + struct cs_info * csconv; + int langnum; + int utf8; + int complexprefixes; + char** wordbreak; + +public: + + /* Hunspell(aff, dic) - constructor of Hunspell class + * input: path of affix file and dictionary file + */ + + Hunspell(const char * affpath, const char * dpath); + + ~Hunspell(); + + /* spell(word) - spellcheck word + * output: 0 = bad word, not 0 = good word + * + * plus output: + * info: information bit array, fields: + * SPELL_COMPOUND = a compound word + * SPELL_FORBIDDEN = an explicit forbidden word + * root: root (stem), when input is a word with affix(es) + */ + + int spell(const char * word, int * info = NULL, char ** root = NULL); + + /* suggest(suggestions, word) - search suggestions + * input: pointer to an array of strings pointer and the (bad) word + * array of strings pointer (here *slst) may not be initialized + * output: number of suggestions in string array, and suggestions in + * a newly allocated array of strings (*slts will be NULL when number + * of suggestion equals 0.) + */ + + int suggest(char*** slst, const char * word); + char * get_dic_encoding(); + + /* handling custom dictionary */ + + int put_word(const char * word); + + /* pattern is a sample dictionary word + * put word into custom dictionary with affix flags of pattern word + */ + + int put_word_pattern(const char * word, const char * pattern); + + /* other */ + + /* get extra word characters definied in affix file for tokenization */ + const char * get_wordchars(); + unsigned short * get_wordchars_utf16(int * len); + +// struct cs_info * get_csconv(); +// int utf16_isalpha(unsigned short c); + const char * get_version(); + + /* experimental functions */ + +#ifdef HUNSPELL_EXPERIMENTAL + /* suffix is an affix flag string, similarly in dictionary files */ + + int put_word_suffix(const char * word, const char * suffix); + + /* morphological analysis */ + + char * morph(const char * word); + int analyze(char*** out, const char *word); + + char * morph_with_correction(const char * word); + + /* stemmer function */ + + int stem(char*** slst, const char * word); + + /* spec. suggestions */ + int suggest_auto(char*** slst, const char * word); + int suggest_pos_stems(char*** slst, const char * word); + char * get_possible_root(); +#endif + +private: + int cleanword(char *, const char *, int * pcaptype, int * pabbrev); + int cleanword2(char *, const char *, w_char *, int * w_len, int * pcaptype, int * pabbrev); + void mkinitcap(char *); + int mkinitcap2(char * p, w_char * u, int nc); + int mkinitsmall2(char * p, w_char * u, int nc); + void mkallcap(char *); + int mkallcap2(char * p, w_char * u, int nc); + void mkallsmall(char *); + int mkallsmall2(char * p, w_char * u, int nc); + struct hentry * checkword(const char *, int * info, char **root); + char * sharps_u8_l1(char * dest, char * source); + hentry * spellsharps(char * base, char *, int, int, char * tmp, int * info, char **root); + int is_keepcase(const hentry * rv); + int insert_sug(char ***slst, char * word, int ns); + +}; + +#endif diff --git a/extensions/spellcheck/hunspell/src/langnum.hxx b/extensions/spellcheck/hunspell/src/langnum.hxx new file mode 100644 index 00000000000..7056dbc99d2 --- /dev/null +++ b/extensions/spellcheck/hunspell/src/langnum.hxx @@ -0,0 +1,94 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) + * László Németh (nemethl@gyorsposta.hu) + * David Einstein (deinst@world.std.com) + * Davide Prina + * Giuseppe Modugno + * Gianluca Turconi + * Simon Brouwer + * Noll Janos + * Biro Arpad + * Goldman Eleonora + * Sarlos Tamas + * Bencsath Boldizsar + * Halacsy Peter + * Dvornik Laszlo + * Gefferth Andras + * Nagy Viktor + * Varga Daniel + * Chris Halls + * Rene Engelhard + * Bram Moolenaar + * Dafydd Jones + * Harri Pitkanen + * Andras Timar + * Tor Lillqvist + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#ifndef _LANGNUM_HXX_ +#define _LANGNUM_HXX_ + +/* + language numbers for language specific codes + see http://l10n.openoffice.org/languages.html +*/ + +enum { +LANG_ar=96, +LANG_az=100, // custom number +LANG_bg=41, +LANG_ca=37, +LANG_cs=42, +LANG_da=45, +LANG_de=49, +LANG_el=30, +LANG_en=01, +LANG_es=34, +LANG_eu=10, +LANG_fr=02, +LANG_gl=38, +LANG_hr=78, +LANG_hu=36, +LANG_it=39, +LANG_la=99, // custom number +LANG_lv=101, // custom number +LANG_nl=31, +LANG_pl=48, +LANG_pt=03, +LANG_ru=07, +LANG_sv=50, +LANG_tr=90, +LANG_uk=80, +LANG_xx=999 +}; + +#endif diff --git a/extensions/spellcheck/hunspell/src/mozHunspell.cpp b/extensions/spellcheck/hunspell/src/mozHunspell.cpp new file mode 100644 index 00000000000..4605b108eb8 --- /dev/null +++ b/extensions/spellcheck/hunspell/src/mozHunspell.cpp @@ -0,0 +1,491 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) + * László Németh (nemethl@gyorsposta.hu) + * David Einstein (deinst@world.std.com) + * Michiel van Leeuwen (mvl@exedo.nl) + * Caolan McNamara (cmc@openoffice.org) + * Davide Prina + * Giuseppe Modugno + * Gianluca Turconi + * Simon Brouwer + * Noll Janos + * Biro Arpad + * Goldman Eleonora + * Sarlos Tamas + * Bencsath Boldizsar + * Halacsy Peter + * Dvornik Laszlo + * Gefferth Andras + * Nagy Viktor + * Varga Daniel + * Chris Halls + * Rene Engelhard + * Bram Moolenaar + * Dafydd Jones + * Harri Pitkanen + * Andras Timar + * Tor Lillqvist + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#include "mozHunspell.h" +#include "nsReadableUtils.h" +#include "nsXPIDLString.h" +#include "nsIObserverService.h" +#include "nsISimpleEnumerator.h" +#include "nsIDirectoryEnumerator.h" +#include "nsIFile.h" +#include "nsDirectoryServiceUtils.h" +#include "nsDirectoryServiceDefs.h" +#include "mozISpellI18NManager.h" +#include "nsICharsetConverterManager.h" +#include "nsUnicharUtilCIID.h" +#include "nsUnicharUtils.h" +#include "nsCRT.h" +#include + +static NS_DEFINE_CID(kCharsetConverterManagerCID, NS_ICHARSETCONVERTERMANAGER_CID); +static NS_DEFINE_CID(kUnicharUtilCID, NS_UNICHARUTIL_CID); + +NS_IMPL_ISUPPORTS3(mozHunspell, + mozISpellCheckingEngine, + nsIObserver, + nsISupportsWeakReference) + +nsresult +mozHunspell::Init() +{ + if (!mDictionaries.Init()) + return NS_ERROR_OUT_OF_MEMORY; + + LoadDictionaryList(); + + nsCOMPtr obs = + do_GetService("@mozilla.org/observer-service;1"); + if (obs) { + obs->AddObserver(this, "profile-do-change", PR_TRUE); + } + + return NS_OK; +} + +mozHunspell::~mozHunspell() +{ + mPersonalDictionary = nsnull; + delete mHunspell; +} + +/* attribute wstring dictionary; */ +NS_IMETHODIMP mozHunspell::GetDictionary(PRUnichar **aDictionary) +{ + NS_ENSURE_ARG_POINTER(aDictionary); + + if (mDictionary.IsEmpty()) + return NS_ERROR_NOT_INITIALIZED; + + *aDictionary = ToNewUnicode(mDictionary); + return *aDictionary ? NS_OK : NS_ERROR_OUT_OF_MEMORY; +} + +/* set the Dictionary. + * This also Loads the dictionary and initializes the converter using the dictionaries converter + */ +NS_IMETHODIMP mozHunspell::SetDictionary(const PRUnichar *aDictionary) +{ + NS_ENSURE_ARG_POINTER(aDictionary); + + if (mDictionary.Equals(aDictionary)) + return NS_OK; + + nsIFile* affFile = mDictionaries.GetWeak(nsDependentString(aDictionary)); + if (!affFile) + return NS_ERROR_FILE_NOT_FOUND; + + nsCAutoString dictFileName, affFileName; + + // XXX This isn't really good. nsIFile->NativePath isn't safe for all + // character sets on Windows. + // A better way would be to QI to nsILocalFile, and get a filehandle + // from there. Only problem is that hunspell wants a path + + nsresult rv = affFile->GetNativePath(affFileName); + NS_ENSURE_SUCCESS(rv, rv); + + dictFileName = affFileName; + PRInt32 dotPos = dictFileName.RFindChar('.'); + if (dotPos == -1) + return NS_ERROR_FAILURE; + + dictFileName.SetLength(dotPos); + dictFileName.AppendLiteral(".dic"); + + // SetDictionary can be called multiple times, so we might have a + // valid mHunspell instance which needs cleaned up. + delete mHunspell; + + mDictionary = aDictionary; + + mHunspell = new Hunspell(affFileName.get(), + dictFileName.get()); + if (!mHunspell) + return NS_ERROR_OUT_OF_MEMORY; + + nsCOMPtr ccm = + do_GetService(NS_CHARSETCONVERTERMANAGER_CONTRACTID, &rv); + NS_ENSURE_SUCCESS(rv, rv); + + rv = ccm->GetUnicodeDecoder(mHunspell->get_dic_encoding(), + getter_AddRefs(mDecoder)); + NS_ENSURE_SUCCESS(rv, rv); + + rv = ccm->GetUnicodeEncoder(mHunspell->get_dic_encoding(), + getter_AddRefs(mEncoder)); + NS_ENSURE_SUCCESS(rv, rv); + + + if (mEncoder) + mEncoder->SetOutputErrorBehavior(mEncoder->kOnError_Signal, nsnull, '?'); + + PRInt32 pos = mDictionary.FindChar('-'); + if (pos == -1) + pos = mDictionary.FindChar('_'); + + if (pos == -1) + mLanguage.Assign(mDictionary); + else + mLanguage = Substring(mDictionary, 0, pos); + + return NS_OK; +} + +/* readonly attribute wstring language; */ +NS_IMETHODIMP mozHunspell::GetLanguage(PRUnichar **aLanguage) +{ + NS_ENSURE_ARG_POINTER(aLanguage); + + if (mDictionary.IsEmpty()) + return NS_ERROR_NOT_INITIALIZED; + + *aLanguage = ToNewUnicode(mLanguage); + return *aLanguage ? NS_OK : NS_ERROR_OUT_OF_MEMORY; +} + +/* readonly attribute boolean providesPersonalDictionary; */ +NS_IMETHODIMP mozHunspell::GetProvidesPersonalDictionary(PRBool *aProvidesPersonalDictionary) +{ + NS_ENSURE_ARG_POINTER(aProvidesPersonalDictionary); + + *aProvidesPersonalDictionary = PR_FALSE; + return NS_OK; +} + +/* readonly attribute boolean providesWordUtils; */ +NS_IMETHODIMP mozHunspell::GetProvidesWordUtils(PRBool *aProvidesWordUtils) +{ + NS_ENSURE_ARG_POINTER(aProvidesWordUtils); + + *aProvidesWordUtils = PR_FALSE; + return NS_OK; +} + +/* readonly attribute wstring name; */ +NS_IMETHODIMP mozHunspell::GetName(PRUnichar * *aName) +{ + return NS_ERROR_NOT_IMPLEMENTED; +} + +/* readonly attribute wstring copyright; */ +NS_IMETHODIMP mozHunspell::GetCopyright(PRUnichar * *aCopyright) +{ + return NS_ERROR_NOT_IMPLEMENTED; +} + +/* attribute mozIPersonalDictionary personalDictionary; */ +NS_IMETHODIMP mozHunspell::GetPersonalDictionary(mozIPersonalDictionary * *aPersonalDictionary) +{ + *aPersonalDictionary = mPersonalDictionary; + NS_IF_ADDREF(*aPersonalDictionary); + return NS_OK; +} + +NS_IMETHODIMP mozHunspell::SetPersonalDictionary(mozIPersonalDictionary * aPersonalDictionary) +{ + mPersonalDictionary = aPersonalDictionary; + return NS_OK; +} + +struct AppendNewStruct +{ + PRUnichar **dics; + PRUint32 count; + PRBool failed; +}; + +static PLDHashOperator +AppendNewString(const nsAString& aString, nsIFile* aFile, void* aClosure) +{ + AppendNewStruct *ans = (AppendNewStruct*) aClosure; + ans->dics[ans->count] = ToNewUnicode(aString); + if (!ans->dics[ans->count]) { + ans->failed = PR_TRUE; + return PL_DHASH_STOP; + } + + ++ans->count; + return PL_DHASH_NEXT; +} + +/* void GetDictionaryList ([array, size_is (count)] out wstring dictionaries, out PRUint32 count); */ +NS_IMETHODIMP mozHunspell::GetDictionaryList(PRUnichar ***aDictionaries, + PRUint32 *aCount) +{ + if (!aDictionaries || !aCount) + return NS_ERROR_NULL_POINTER; + + AppendNewStruct ans = { + (PRUnichar**) NS_Alloc(sizeof(PRUnichar*) * mDictionaries.Count()), + 0, + PR_FALSE + }; + + // This pointer is used during enumeration + mDictionaries.EnumerateRead(AppendNewString, &ans); + + if (ans.failed) { + while (ans.count) { + --ans.count; + NS_Free(ans.dics[ans.count]); + } + NS_Free(ans.dics); + return NS_ERROR_OUT_OF_MEMORY; + } + + *aDictionaries = ans.dics; + *aCount = ans.count; + + return NS_OK; +} + +void +mozHunspell::LoadDictionaryList() +{ + mDictionaries.Clear(); + + nsresult rv; + + nsCOMPtr dirSvc = + do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID); + if (!dirSvc) + return; + + nsCOMPtr dictDir; + rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY, + NS_GET_IID(nsIFile), getter_AddRefs(dictDir)); + if (NS_FAILED(rv)) { + // default to appdir/dictionaries + rv = dirSvc->Get(NS_XPCOM_CURRENT_PROCESS_DIR, + NS_GET_IID(nsIFile), getter_AddRefs(dictDir)); + if (NS_FAILED(rv)) + return; + + dictDir->AppendNative(NS_LITERAL_CSTRING("dictionaries")); + } + + LoadDictionariesFromDir(dictDir); + + nsCOMPtr dictDirs; + rv = dirSvc->Get(DICTIONARY_SEARCH_DIRECTORY_LIST, + NS_GET_IID(nsISimpleEnumerator), getter_AddRefs(dictDirs)); + if (NS_FAILED(rv)) + return; + + PRBool hasMore; + while (NS_SUCCEEDED(dictDirs->HasMoreElements(&hasMore)) && hasMore) { + nsCOMPtr elem; + dictDirs->GetNext(getter_AddRefs(elem)); + + dictDir = do_QueryInterface(elem); + if (dictDir) + LoadDictionariesFromDir(dictDir); + } +} + +void +mozHunspell::LoadDictionariesFromDir(nsIFile* aDir) +{ + nsresult rv; + + PRBool check = PR_FALSE; + rv = aDir->Exists(&check); + if (NS_FAILED(rv) || !check) + return; + + rv = aDir->IsDirectory(&check); + if (NS_FAILED(rv) || !check) + return; + + nsCOMPtr e; + rv = aDir->GetDirectoryEntries(getter_AddRefs(e)); + if (NS_FAILED(rv)) + return; + + nsCOMPtr files(do_QueryInterface(e)); + if (!files) + return; + + nsCOMPtr file; + while (NS_SUCCEEDED(files->GetNextFile(getter_AddRefs(file))) && file) { + nsAutoString leafName; + file->GetLeafName(leafName); + if (!StringEndsWith(leafName, NS_LITERAL_STRING(".dic"))) + continue; + + nsAutoString dict(leafName); + dict.SetLength(dict.Length() - 4); // magic length of ".dic" + + // check for the presence of the .aff file + leafName = dict; + leafName.AppendLiteral(".aff"); + file->SetLeafName(leafName); + rv = file->Exists(&check); + if (NS_FAILED(rv) || !check) + continue; + +#ifdef DEBUG_bsmedberg + printf("Adding dictionary: %s\n", NS_ConvertUTF16toUTF8(dict).get()); +#endif + + mDictionaries.Put(dict, file); + } +} + +nsresult mozHunspell::ConvertCharset(const PRUnichar* aStr, char ** aDst) +{ + NS_ENSURE_ARG_POINTER(aDst); + NS_ENSURE_TRUE(mEncoder, NS_ERROR_NULL_POINTER); + + PRInt32 outLength; + PRInt32 inLength = nsCRT::strlen(aStr); + nsresult rv = mEncoder->GetMaxLength(aStr, inLength, &outLength); + NS_ENSURE_SUCCESS(rv, rv); + + *aDst = (char *) nsMemory::Alloc(sizeof(char) * (outLength+1)); + NS_ENSURE_TRUE(*aDst, NS_ERROR_OUT_OF_MEMORY); + + rv = mEncoder->Convert(aStr, &inLength, *aDst, &outLength); + if (NS_SUCCEEDED(rv)) + (*aDst)[outLength] = '\0'; + + return rv; +} + +/* boolean Check (in wstring word); */ +NS_IMETHODIMP mozHunspell::Check(const PRUnichar *aWord, PRBool *aResult) +{ + NS_ENSURE_ARG_POINTER(aWord); + NS_ENSURE_ARG_POINTER(aResult); + NS_ENSURE_TRUE(mHunspell, NS_ERROR_FAILURE); + + nsXPIDLCString charsetWord; + nsresult rv = ConvertCharset(aWord, getter_Copies(charsetWord)); + NS_ENSURE_SUCCESS(rv, rv); + + *aResult = mHunspell->spell(charsetWord); + + + if (!*aResult && mPersonalDictionary) + rv = mPersonalDictionary->Check(aWord, mLanguage.get(), aResult); + + return rv; +} + +/* void Suggest (in wstring word, [array, size_is (count)] out wstring suggestions, out PRUint32 count); */ +NS_IMETHODIMP mozHunspell::Suggest(const PRUnichar *aWord, PRUnichar ***aSuggestions, PRUint32 *aSuggestionCount) +{ + NS_ENSURE_ARG_POINTER(aSuggestions); + NS_ENSURE_ARG_POINTER(aSuggestionCount); + NS_ENSURE_TRUE(mHunspell, NS_ERROR_FAILURE); + + nsresult rv; + *aSuggestionCount = 0; + + nsXPIDLCString charsetWord; + rv = ConvertCharset(aWord, getter_Copies(charsetWord)); + NS_ENSURE_SUCCESS(rv, rv); + + char ** wlst; + *aSuggestionCount = mHunspell->suggest(&wlst, charsetWord); + + if (*aSuggestionCount) { + *aSuggestions = (PRUnichar **)nsMemory::Alloc(*aSuggestionCount * sizeof(PRUnichar *)); + if (*aSuggestions) { + PRUint32 index = 0; + for (index = 0; index < *aSuggestionCount && NS_SUCCEEDED(rv); ++index) { + // Convert the suggestion to utf16 + PRInt32 inLength = nsCRT::strlen(wlst[index]); + PRInt32 outLength; + rv = mDecoder->GetMaxLength(wlst[index], inLength, &outLength); + if (NS_SUCCEEDED(rv)) + { + (*aSuggestions)[index] = (PRUnichar *) nsMemory::Alloc(sizeof(PRUnichar) * (outLength+1)); + if ((*aSuggestions)[index]) + { + rv = mDecoder->Convert(wlst[index], &inLength, (*aSuggestions)[index], &outLength); + if (NS_SUCCEEDED(rv)) + (*aSuggestions)[index][outLength] = 0; + } + else + rv = NS_ERROR_OUT_OF_MEMORY; + } + } + + if (NS_FAILED(rv)) + NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY(index, *aSuggestions); // free the PRUnichar strings up to the point at which the error occurred + } + else // if (*aSuggestions) + rv = NS_ERROR_OUT_OF_MEMORY; + } + + NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY(*aSuggestionCount, wlst); + return rv; +} + +NS_IMETHODIMP +mozHunspell::Observe(nsISupports* aSubj, const char *aTopic, + const PRUnichar *aData) +{ + NS_ASSERTION(!strcmp(aTopic, "profile-do-change"), + "Unexpected observer topic"); + + LoadDictionaryList(); + + return NS_OK; +} diff --git a/extensions/spellcheck/hunspell/src/mozHunspell.h b/extensions/spellcheck/hunspell/src/mozHunspell.h new file mode 100644 index 00000000000..3be8453d600 --- /dev/null +++ b/extensions/spellcheck/hunspell/src/mozHunspell.h @@ -0,0 +1,113 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) + * László Németh (nemethl@gyorsposta.hu) + * David Einstein (deinst@world.std.com) + * Michiel van Leeuwen (mvl@exedo.nl) + * Caolan McNamara (cmc@openoffice.org) + * Davide Prina + * Giuseppe Modugno + * Gianluca Turconi + * Simon Brouwer + * Noll Janos + * Biro Arpad + * Goldman Eleonora + * Sarlos Tamas + * Bencsath Boldizsar + * Halacsy Peter + * Dvornik Laszlo + * Gefferth Andras + * Nagy Viktor + * Varga Daniel + * Chris Halls + * Rene Engelhard + * Bram Moolenaar + * Dafydd Jones + * Harri Pitkanen + * Andras Timar + * Tor Lillqvist + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#ifndef mozHunspell_h__ +#define mozHunspell_h__ + +#include "hunspell.hxx" +#include "mozISpellCheckingEngine.h" +#include "mozIPersonalDictionary.h" +#include "nsString.h" +#include "nsCOMPtr.h" +#include "nsIObserver.h" +#include "nsIUnicodeEncoder.h" +#include "nsIUnicodeDecoder.h" +#include "nsInterfaceHashtable.h" +#include "nsWeakReference.h" + +#define MOZ_HUNSPELL_CONTRACTID "@mozilla.org/spellchecker/hunspell;1" +#define MOZ_HUNSPELL_CID \ +/* 56c778e4-1bee-45f3-a689-886692a97fe7 */ \ +{ 0x56c778e4, 0x1bee, 0x45f3, \ + { 0xa6, 0x89, 0x88, 0x66, 0x92, 0xa9, 0x7f, 0xe7 } } + +class mozHunspell : public mozISpellCheckingEngine, + public nsIObserver, + public nsSupportsWeakReference +{ +public: + NS_DECL_ISUPPORTS + NS_DECL_MOZISPELLCHECKINGENGINE + NS_DECL_NSIOBSERVER + + mozHunspell() : mHunspell(nsnull) { } + virtual ~mozHunspell(); + + nsresult Init(); + + void LoadDictionaryList(); + void LoadDictionariesFromDir(nsIFile* aDir); + + // helper method for converting a word to the charset of the dictionary + nsresult ConvertCharset(const PRUnichar* aStr, char ** aDst); + +protected: + + nsCOMPtr mPersonalDictionary; + nsCOMPtr mEncoder; + nsCOMPtr mDecoder; + + // Hashtable matches dictionary name to .aff file + nsInterfaceHashtable mDictionaries; + nsString mDictionary; + nsString mLanguage; + + Hunspell *mHunspell; +}; + +#endif diff --git a/extensions/spellcheck/hunspell/src/mozHunspellDirProvider.cpp b/extensions/spellcheck/hunspell/src/mozHunspellDirProvider.cpp new file mode 100644 index 00000000000..6ddf39c5cd3 --- /dev/null +++ b/extensions/spellcheck/hunspell/src/mozHunspellDirProvider.cpp @@ -0,0 +1,178 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Benjamin Smedberg (benjamin@smedbergs.us) (Original Code) + * László Németh (nemethl@gyorsposta.hu) + * Ryan VanderMeulen (ryanvm@gmail.com) + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#include "mozHunspellDirProvider.h" +#include "nsXULAppAPI.h" +#include "nsString.h" + +#include "mozISpellCheckingEngine.h" +#include "nsICategoryManager.h" + +NS_IMPL_ISUPPORTS2(mozHunspellDirProvider, + nsIDirectoryServiceProvider, + nsIDirectoryServiceProvider2) + +NS_IMETHODIMP +mozHunspellDirProvider::GetFile(const char *aKey, PRBool *aPersist, + nsIFile* *aResult) +{ + return NS_ERROR_FAILURE; +} + +NS_IMETHODIMP +mozHunspellDirProvider::GetFiles(const char *aKey, + nsISimpleEnumerator* *aResult) +{ + if (strcmp(aKey, DICTIONARY_SEARCH_DIRECTORY_LIST) != 0) { + return NS_ERROR_FAILURE; + } + + nsCOMPtr dirSvc = + do_GetService(NS_DIRECTORY_SERVICE_CONTRACTID); + if (!dirSvc) + return NS_ERROR_FAILURE; + + nsCOMPtr list; + nsresult rv = dirSvc->Get(XRE_EXTENSIONS_DIR_LIST, + NS_GET_IID(nsISimpleEnumerator), + getter_AddRefs(list)); + if (NS_FAILED(rv)) + return rv; + + nsCOMPtr e = new AppendingEnumerator(list); + if (!e) + return NS_ERROR_OUT_OF_MEMORY; + + *aResult = nsnull; + e.swap(*aResult); + return NS_SUCCESS_AGGREGATE_RESULT; +} + +NS_IMPL_ISUPPORTS1(mozHunspellDirProvider::AppendingEnumerator, + nsISimpleEnumerator) + +NS_IMETHODIMP +mozHunspellDirProvider::AppendingEnumerator::HasMoreElements(PRBool *aResult) +{ + *aResult = mNext ? PR_TRUE : PR_FALSE; + return NS_OK; +} + +NS_IMETHODIMP +mozHunspellDirProvider::AppendingEnumerator::GetNext(nsISupports* *aResult) +{ + if (aResult) + NS_ADDREF(*aResult = mNext); + + mNext = nsnull; + + nsresult rv; + + // Ignore all errors + + PRBool more; + while (NS_SUCCEEDED(mBase->HasMoreElements(&more)) && more) { + nsCOMPtr nextbasesupp; + mBase->GetNext(getter_AddRefs(nextbasesupp)); + + nsCOMPtr nextbase(do_QueryInterface(nextbasesupp)); + if (!nextbase) + continue; + + nextbase->Clone(getter_AddRefs(mNext)); + if (!mNext) + continue; + + mNext->AppendNative(NS_LITERAL_CSTRING("dictionaries")); + + PRBool exists; + rv = mNext->Exists(&exists); + if (NS_SUCCEEDED(rv) && exists) + break; + + mNext = nsnull; + } + + return NS_OK; +} + +mozHunspellDirProvider::AppendingEnumerator::AppendingEnumerator + (nsISimpleEnumerator* aBase) : + mBase(aBase) +{ + // Initialize mNext to begin + GetNext(nsnull); +} + +NS_METHOD +mozHunspellDirProvider::Register(nsIComponentManager* aCompMgr, + nsIFile* aPath, const char *aLoaderStr, + const char *aType, + const nsModuleComponentInfo *aInfo) +{ + nsresult rv; + + nsCOMPtr catMan = + do_GetService(NS_CATEGORYMANAGER_CONTRACTID); + if (!catMan) + return NS_ERROR_FAILURE; + + rv = catMan->AddCategoryEntry(XPCOM_DIRECTORY_PROVIDER_CATEGORY, + "spellcheck-directory-provider", + kContractID, PR_TRUE, PR_TRUE, nsnull); + return rv; +} + +NS_METHOD +mozHunspellDirProvider::Unregister(nsIComponentManager* aCompMgr, + nsIFile* aPath, + const char *aLoaderStr, + const nsModuleComponentInfo *aInfo) +{ + nsresult rv; + + nsCOMPtr catMan = + do_GetService(NS_CATEGORYMANAGER_CONTRACTID); + if (!catMan) + return NS_ERROR_FAILURE; + + rv = catMan->DeleteCategoryEntry(XPCOM_DIRECTORY_PROVIDER_CATEGORY, + "spellcheck-directory-provider", + PR_TRUE); + return rv; +} + +char const *const +mozHunspellDirProvider::kContractID = "@mozilla.org/spellcheck/dir-provider;1"; diff --git a/extensions/spellcheck/hunspell/src/mozHunspellDirProvider.h b/extensions/spellcheck/hunspell/src/mozHunspellDirProvider.h new file mode 100644 index 00000000000..705939786de --- /dev/null +++ b/extensions/spellcheck/hunspell/src/mozHunspellDirProvider.h @@ -0,0 +1,81 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Benjamin Smedberg (benjamin@smedbergs.us) (Original Code) + * László Németh (nemethl@gyorsposta.hu) + * Ryan VanderMeulen (ryanvm@gmail.com) + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#ifndef mozHunspellDirProvider_h__ +#define mozHunspellDirProvider_h__ + +#include "nsIDirectoryService.h" +#include "nsIGenericFactory.h" +#include "nsISimpleEnumerator.h" + +class mozHunspellDirProvider : + public nsIDirectoryServiceProvider2 +{ +public: + NS_DECL_ISUPPORTS + NS_DECL_NSIDIRECTORYSERVICEPROVIDER + NS_DECL_NSIDIRECTORYSERVICEPROVIDER2 + + static NS_METHOD Register(nsIComponentManager* aCompMgr, + nsIFile* aPath, const char *aLoaderStr, + const char *aType, + const nsModuleComponentInfo *aInfo); + + static NS_METHOD Unregister(nsIComponentManager* aCompMgr, + nsIFile* aPath, const char *aLoaderStr, + const nsModuleComponentInfo *aInfo); + + static char const *const kContractID; + +private: + class AppendingEnumerator : public nsISimpleEnumerator + { + public: + NS_DECL_ISUPPORTS + NS_DECL_NSISIMPLEENUMERATOR + + AppendingEnumerator(nsISimpleEnumerator* aBase); + + private: + nsCOMPtr mBase; + nsCOMPtr mNext; + }; +}; + +#define HUNSPELLDIRPROVIDER_CID \ +{ 0x64d6174c, 0x1496, 0x4ffd, \ + { 0x87, 0xf2, 0xda, 0x26, 0x70, 0xf8, 0x89, 0x34 } } + +#endif // mozHunspellDirProvider diff --git a/extensions/spellcheck/hunspell/src/suggestmgr.cpp b/extensions/spellcheck/hunspell/src/suggestmgr.cpp new file mode 100644 index 00000000000..6c0d5605a69 --- /dev/null +++ b/extensions/spellcheck/hunspell/src/suggestmgr.cpp @@ -0,0 +1,1716 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) + * László Németh (nemethl@gyorsposta.hu) + * David Einstein (deinst@world.std.com) + * Davide Prina + * Giuseppe Modugno + * Gianluca Turconi + * Simon Brouwer + * Noll Janos + * Biro Arpad + * Goldman Eleonora + * Sarlos Tamas + * Bencsath Boldizsar + * Halacsy Peter + * Dvornik Laszlo + * Gefferth Andras + * Nagy Viktor + * Varga Daniel + * Chris Halls + * Rene Engelhard + * Bram Moolenaar + * Dafydd Jones + * Harri Pitkanen + * Andras Timar + * Tor Lillqvist + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#ifndef MOZILLA_CLIENT +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif + +#include "suggestmgr.hxx" + +#ifndef MOZILLA_CLIENT +#ifndef W32 +using namespace std; +#endif +#endif + + +SuggestMgr::SuggestMgr(const char * tryme, int maxn, + AffixMgr * aptr) +{ + + // register affix manager and check in string of chars to + // try when building candidate suggestions + pAMgr = aptr; + + ctryl = 0; + ctry = NULL; + ctry_utf = NULL; + + maxSug = maxn; + nosplitsugs = 0; + maxngramsugs = MAXNGRAMSUGS; + + utf8 = 0; + complexprefixes = 0; + + if (pAMgr) { + char * enc = pAMgr->get_encoding(); + csconv = get_current_cs(enc); + free(enc); + nosplitsugs = pAMgr->get_nosplitsugs(); + if (pAMgr->get_maxngramsugs() >= 0) maxngramsugs = pAMgr->get_maxngramsugs(); + utf8 = pAMgr->get_utf8(); + complexprefixes = pAMgr->get_complexprefixes(); + } + + if (tryme) { + if (utf8) { + w_char t[MAXSWL]; + ctryl = u8_u16(t, MAXSWL, tryme); + ctry_utf = (w_char *) malloc(ctryl * sizeof(w_char)); + memcpy(ctry_utf, t, ctryl * sizeof(w_char)); + } else { + ctry = mystrdup(tryme); + ctryl = strlen(ctry); + } + } +} + + +SuggestMgr::~SuggestMgr() +{ + pAMgr = NULL; + if (ctry) free(ctry); + ctry = NULL; + if (ctry_utf) free(ctry_utf); + ctry_utf = NULL; + ctryl = 0; + maxSug = 0; +} + +int SuggestMgr::testsug(char** wlst, const char * candidate, int wl, int ns, int cpdsuggest, + int * timer, time_t * timelimit) { + int cwrd = 1; + if (ns == maxSug) return maxSug; + for (int k=0; k < ns; k++) { + if (strcmp(candidate,wlst[k]) == 0) cwrd = 0; + } + if ((cwrd) && checkword(candidate, wl, cpdsuggest, timer, timelimit)) { + wlst[ns] = mystrdup(candidate); + if (wlst[ns] == NULL) { + for (int j=0; j HTML) + if ((nsug < maxSug) && (nsug > -1)) { + nsug = (utf8) ? capchars_utf(wlst, word_utf, wl, nsug, cpdsuggest) : + capchars(wlst, word, nsug, cpdsuggest); + } + + // perhaps we made a typical fault of spelling + if ((nsug < maxSug) && (nsug > -1)) + nsug = replchars(wlst, word, nsug, cpdsuggest); + + // perhaps we made chose the wrong char from a related set + if ((nsug < maxSug) && (nsug > -1) && (cpdsuggest == 0)) { + nsug = mapchars(wlst, word, nsug); + } + + // did we swap the order of chars by mistake + if ((nsug < maxSug) && (nsug > -1)) { + nsug = (utf8) ? swapchar_utf(wlst, word_utf, wl, nsug, cpdsuggest) : + swapchar(wlst, word, nsug, cpdsuggest); + } + + // did we swap the order of non adjacent chars by mistake + if ((nsug < maxSug) && (nsug > -1)) { + nsug = (utf8) ? longswapchar_utf(wlst, word_utf, wl, nsug, cpdsuggest) : + longswapchar(wlst, word, nsug, cpdsuggest); + } + + // did we forgot a char + if ((nsug < maxSug) && (nsug > -1)) { + nsug = (utf8) ? forgotchar_utf(wlst, word_utf, wl, nsug, cpdsuggest) : + forgotchar(wlst, word, nsug, cpdsuggest); + } + + // did we move a char + if ((nsug < maxSug) && (nsug > -1)) { + nsug = (utf8) ? movechar_utf(wlst, word_utf, wl, nsug, cpdsuggest) : + movechar(wlst, word, nsug, cpdsuggest); + } + + // did we add a char that should not be there + if ((nsug < maxSug) && (nsug > -1)) { + nsug = (utf8) ? extrachar_utf(wlst, word_utf, wl, nsug, cpdsuggest) : + extrachar(wlst, word, nsug, cpdsuggest); + } + + // did we just hit the wrong key in place of a good char + if ((nsug < maxSug) && (nsug > -1)) { + nsug = (utf8) ? badchar_utf(wlst, word_utf, wl, nsug, cpdsuggest) : + badchar(wlst, word, nsug, cpdsuggest); + } + + // did we double two characters + if ((nsug < maxSug) && (nsug > -1)) { + nsug = (utf8) ? doubletwochars_utf(wlst, word_utf, wl, nsug, cpdsuggest) : + doubletwochars(wlst, word, nsug, cpdsuggest); + } + + + // only suggest compound words when no other suggestion + if ((cpdsuggest==0) && (nsug>0)) nocompoundtwowords=1; + + // perhaps we forgot to hit space and two words ran together + if ((!nosplitsugs) && (nsug < maxSug) && (nsug > -1)) { + nsug = twowords(wlst, word, nsug, cpdsuggest); + } + + } // repeating ``for'' statement compounding support + + if (nsug < 0) { + // we ran out of memory - we should free up as much as possible + for (int i = 0; i < maxSug; i++) + if (wlst[i] != NULL) free(wlst[i]); + free(wlst); + wlst = NULL; + } + + *slst = wlst; + return nsug; +} + +// generate suggestions for a word with typical mistake +// pass in address of array of char * pointers +#ifdef HUNSPELL_EXPERIMENTAL +int SuggestMgr::suggest_auto(char*** slst, const char * w, int nsug) +{ + int nocompoundtwowords = 0; + char ** wlst; + + char w2[MAXWORDUTF8LEN]; + const char * word = w; + + // word reversing wrapper for complex prefixes + if (complexprefixes) { + strcpy(w2, w); + if (utf8) reverseword_utf(w2); else reverseword(w2); + word = w2; + } + + if (*slst) { + wlst = *slst; + } else { + wlst = (char **) malloc(maxSug * sizeof(char *)); + if (wlst == NULL) return -1; + } + + for (int cpdsuggest=0; (cpdsuggest<2) && (nocompoundtwowords==0); cpdsuggest++) { + + // perhaps we made a typical fault of spelling + if ((nsug < maxSug) && (nsug > -1)) + nsug = replchars(wlst, word, nsug, cpdsuggest); + + // perhaps we made chose the wrong char from a related set + if ((nsug < maxSug) && (nsug > -1) && (cpdsuggest == 0)) + nsug = mapchars(wlst, word, nsug); + + if ((cpdsuggest==0) && (nsug>0)) nocompoundtwowords=1; + + // perhaps we forgot to hit space and two words ran together + + if ((nsug < maxSug) && (nsug > -1) && check_forbidden(word, strlen(word))) { + nsug = twowords(wlst, word, nsug, cpdsuggest); + } + + } // repeating ``for'' statement compounding support + + if (nsug < 0) { + for (int i=0;i HTML) +int SuggestMgr::capchars_utf(char ** wlst, const w_char * word, int wl, int ns, int cpdsuggest) +{ + char candidate[MAXSWUTF8L]; + w_char candidate_utf[MAXSWL]; + memcpy(candidate_utf, word, wl * sizeof(w_char)); + mkallcap_utf(candidate_utf, wl, pAMgr->get_langnum()); + u16_u8(candidate, MAXSWUTF8L, candidate_utf, wl); + return testsug(wlst, candidate, strlen(candidate), ns, cpdsuggest, NULL, NULL); +} + +// suggestions for an uppercase word (html -> HTML) +int SuggestMgr::capchars(char** wlst, const char * word, int ns, int cpdsuggest) +{ + char candidate[MAXSWUTF8L]; + strcpy(candidate, word); + mkallcap(candidate, csconv); + return testsug(wlst, candidate, strlen(candidate), ns, cpdsuggest, NULL, NULL); +} + +// suggestions for when chose the wrong char out of a related set +int SuggestMgr::mapchars(char** wlst, const char * word, int ns) +{ + time_t timelimit; + int timer; + + int wl = strlen(word); + if (wl < 2 || ! pAMgr) return ns; + + int nummap = pAMgr->get_nummap(); + struct mapentry* maptable = pAMgr->get_maptable(); + if (maptable==NULL) return ns; + + timelimit = time(NULL); + timer = MINTIMER; + if (utf8) { + w_char w[MAXSWL]; + int len = u8_u16(w, MAXSWL, word); + ns = map_related_utf(w, len, 0, wlst, ns, maptable, nummap, &timer, &timelimit); + } else ns = map_related(word, 0, wlst, ns, maptable, nummap, &timer, &timelimit); + return ns; +} + +int SuggestMgr::map_related(const char * word, int i, char** wlst, int ns, + const mapentry* maptable, int nummap, int * timer, time_t * timelimit) +{ + char c = *(word + i); + if (c == 0) { + int cwrd = 1; + int wl = strlen(word); + for (int m=0; m < ns; m++) + if (strcmp(word,wlst[m]) == 0) cwrd = 0; + if ((cwrd) && (checkword(word, wl, 0, timer, timelimit) || + checkword(word, wl, 1, timer, timelimit))) { + if (ns < maxSug) { + wlst[ns] = mystrdup(word); + if (wlst[ns] == NULL) return -1; + ns++; + } + } + return ns; + } + int in_map = 0; + for (int j = 0; j < nummap; j++) { + if (strchr(maptable[j].set,c) != 0) { + in_map = 1; + char * newword = mystrdup(word); + for (int k = 0; k < maptable[j].len; k++) { + *(newword + i) = *(maptable[j].set + k); + ns = map_related(newword, (i+1), wlst, ns, maptable, nummap, timer, timelimit); + if (!(*timelimit)) return ns; + } + free(newword); + } + } + if (!in_map) { + i++; + ns = map_related(word, i, wlst, ns, maptable, nummap, timer, timelimit); + } + return ns; +} + +int SuggestMgr::map_related_utf(w_char * word, int len, int i, char** wlst, int ns, + const mapentry* maptable, int nummap, int * timer, time_t * timelimit) +{ + if (i == len) { + int cwrd = 1; + int wl; + char s[MAXSWUTF8L]; + u16_u8(s, MAXSWUTF8L, word, len); + wl = strlen(s); + for (int m=0; m < ns; m++) + if (strcmp(s,wlst[m]) == 0) cwrd = 0; + if ((cwrd) && (checkword(s, wl, 0, timer, timelimit) || + checkword(s, wl, 1, timer, timelimit))) { + if (ns < maxSug) { + wlst[ns] = mystrdup(s); + if (wlst[ns] == NULL) return -1; + ns++; + } + } + return ns; + } + int in_map = 0; + unsigned short c = *((unsigned short *) word + i); + for (int j = 0; j < nummap; j++) { + if (flag_bsearch((unsigned short *) maptable[j].set_utf16, c, maptable[j].len)) { + in_map = 1; + for (int k = 0; k < maptable[j].len; k++) { + *(word + i) = *(maptable[j].set_utf16 + k); + ns = map_related_utf(word, len, i + 1, wlst, ns, maptable, nummap, timer, timelimit); + if (!(*timelimit)) return ns; + } + *((unsigned short *) word + i) = c; + } + } + if (!in_map) { + i++; + ns = map_related_utf(word, len, i, wlst, ns, maptable, nummap, timer, timelimit); + } + return ns; +} + + + +// suggestions for a typical fault of spelling, that +// differs with more, than 1 letter from the right form. +int SuggestMgr::replchars(char** wlst, const char * word, int ns, int cpdsuggest) +{ + char candidate[MAXSWUTF8L]; + const char * r; + int lenr, lenp; + int wl = strlen(word); + if (wl < 2 || ! pAMgr) return ns; + int numrep = pAMgr->get_numrep(); + struct replentry* reptable = pAMgr->get_reptable(); + if (reptable==NULL) return ns; + for (int i=0; i < numrep; i++ ) { + r = word; + lenr = strlen(reptable[i].pattern2); + lenp = strlen(reptable[i].pattern); + // search every occurence of the pattern in the word + while ((r=strstr(r, reptable[i].pattern)) != NULL) { + strcpy(candidate, word); + if (r-word + lenr + strlen(r+lenp) >= MAXSWUTF8L) break; + strcpy(candidate+(r-word),reptable[i].pattern2); + strcpy(candidate+(r-word)+lenr, r+lenp); + ns = testsug(wlst, candidate, wl-lenp+lenr, ns, cpdsuggest, NULL, NULL); + if (ns == -1) return -1; + r++; // search for the next letter + } + } + return ns; +} + +// perhaps we doubled two characters (pattern aba -> ababa, for example vacation -> vacacation) +int SuggestMgr::doubletwochars(char** wlst, const char * word, int ns, int cpdsuggest) +{ + char candidate[MAXSWUTF8L]; + int state=0; + int wl = strlen(word); + if (wl < 5 || ! pAMgr) return ns; + for (int i=2; i < wl; i++ ) { + if (word[i]==word[i-2]) { + state++; + if (state==3) { + strcpy(candidate,word); + strcpy(candidate+i-1,word+i+1); + ns = testsug(wlst, candidate, wl-2, ns, cpdsuggest, NULL, NULL); + if (ns == -1) return -1; + state=0; + } + } else { + state=0; + } + } + return ns; +} + +// perhaps we doubled two characters (pattern aba -> ababa, for example vacation -> vacacation) +int SuggestMgr::doubletwochars_utf(char ** wlst, const w_char * word, int wl, int ns, int cpdsuggest) +{ + w_char tmpc; + w_char candidate_utf[MAXSWL]; + char candidate[MAXSWUTF8L]; + int state=0; + if (wl < 5 || ! pAMgr) return ns; + for (int i=2; i < wl; i++) { + if ((word[i].l==word[i-2].l) && (word[i].h==word[i-2].h)) { + state++; + if (state==3) { + memcpy(candidate_utf, word, (i - 1) * sizeof(w_char)); + memcpy(candidate_utf+i-1, word+i+1, (wl-i-1) * sizeof(w_char)); + u16_u8(candidate, MAXSWUTF8L, candidate_utf, wl-2); + ns = testsug(wlst, candidate, strlen(candidate), ns, cpdsuggest, NULL, NULL); + if (ns == -1) return -1; + state=0; + } + } else { + state=0; + } + } + return ns; +} + +// error is wrong char in place of correct one +int SuggestMgr::badchar(char ** wlst, const char * word, int ns, int cpdsuggest) +{ + char tmpc; + char candidate[MAXSWUTF8L]; + time_t timelimit = time(NULL); + int timer = MINTIMER; + int wl = strlen(word); + strcpy(candidate, word); + // swap out each char one by one and try all the tryme + // chars in its place to see if that makes a good word + for (int i=0; i < wl; i++) { + tmpc = candidate[i]; + for (int j=0; j < ctryl; j++) { + if (ctry[j] == tmpc) continue; + candidate[i] = ctry[j]; + ns = testsug(wlst, candidate, wl, ns, cpdsuggest, &timer, &timelimit); + if (ns == -1) return -1; + if (!timelimit) return ns; + candidate[i] = tmpc; + } + } + return ns; +} + +// error is wrong char in place of correct one +int SuggestMgr::badchar_utf(char ** wlst, const w_char * word, int wl, int ns, int cpdsuggest) +{ + w_char tmpc; + w_char candidate_utf[MAXSWL]; + char candidate[MAXSWUTF8L]; + time_t timelimit = time(NULL); + int timer = MINTIMER; + memcpy(candidate_utf, word, wl * sizeof(w_char)); + // swap out each char one by one and try all the tryme + // chars in its place to see if that makes a good word + for (int i=0; i < wl; i++) { + tmpc = candidate_utf[i]; + for (int j=0; j < ctryl; j++) { + if ((ctry_utf[j].l == tmpc.l) && (ctry_utf[j].h == tmpc.h)) continue; + candidate_utf[i] = ctry_utf[j]; + u16_u8(candidate, MAXSWUTF8L, candidate_utf, wl); + ns = testsug(wlst, candidate, strlen(candidate), ns, cpdsuggest, &timer, &timelimit); + if (ns == -1) return -1; + if (!timelimit) return ns; + candidate_utf[i] = tmpc; + } + } + return ns; +} + +// error is word has an extra letter it does not need +int SuggestMgr::extrachar_utf(char** wlst, const w_char * word, int wl, int ns, int cpdsuggest) +{ + char candidate[MAXSWUTF8L]; + w_char candidate_utf[MAXSWL]; + const w_char * p; + w_char * r; + if (wl < 2) return ns; + // try omitting one char of word at a time + memcpy(candidate_utf, word + 1, (wl - 1) * sizeof(w_char)); + for (p = word, r = candidate_utf; p < word + wl; ) { + u16_u8(candidate, MAXSWUTF8L, candidate_utf, wl - 1); + ns = testsug(wlst, candidate, strlen(candidate), ns, cpdsuggest, NULL, NULL); + if (ns == -1) return -1; + *r++ = *p++; + } + return ns; +} + +// error is word has an extra letter it does not need +int SuggestMgr::extrachar(char** wlst, const char * word, int ns, int cpdsuggest) +{ + char candidate[MAXSWUTF8L]; + const char * p; + char * r; + int wl = strlen(word); + if (wl < 2) return ns; + // try omitting one char of word at a time + strcpy (candidate, word + 1); + for (p = word, r = candidate; *p != 0; ) { + ns = testsug(wlst, candidate, wl-1, ns, cpdsuggest, NULL, NULL); + if (ns == -1) return -1; + *r++ = *p++; + } + return ns; +} + + +// error is missing a letter it needs +int SuggestMgr::forgotchar(char ** wlst, const char * word, int ns, int cpdsuggest) +{ + char candidate[MAXSWUTF8L]; + const char * p; + char * q; + int cwrd; + time_t timelimit = time(NULL); + int timer = MINTIMER; + int wl = strlen(word); + // try inserting a tryme character before every letter + strcpy(candidate + 1, word); + for (p = word, q = candidate; *p != 0; ) { + for (int i = 0; i < ctryl; i++) { + *q = ctry[i]; + ns = testsug(wlst, candidate, wl+1, ns, cpdsuggest, &timer, &timelimit); + if (ns == -1) return -1; + if (!timelimit) return ns; + } + *q++ = *p++; + } + // now try adding one to end */ + for (int i = 0; i < ctryl; i++) { + *q = ctry[i]; + ns = testsug(wlst, candidate, wl+1, ns, cpdsuggest, NULL, NULL); + if (ns == -1) return -1; + } + return ns; +} + +// error is missing a letter it needs +int SuggestMgr::forgotchar_utf(char ** wlst, const w_char * word, int wl, int ns, int cpdsuggest) +{ + w_char candidate_utf[MAXSWL]; + char candidate[MAXSWUTF8L]; + const w_char * p; + w_char * q; + int cwrd; + time_t timelimit = time(NULL); + int timer = MINTIMER; + // try inserting a tryme character before every letter + memcpy (candidate_utf + 1, word, wl * sizeof(w_char)); + for (p = word, q = candidate_utf; p < (word + wl); ) { + for (int i = 0; i < ctryl; i++) { + *q = ctry_utf[i]; + cwrd = 1; + u16_u8(candidate, MAXSWUTF8L, candidate_utf, wl + 1); + ns = testsug(wlst, candidate, strlen(candidate), ns, cpdsuggest, &timer, &timelimit); + if (ns == -1) return -1; + if (!timelimit) return ns; + } + *q++ = *p++; + } + // now try adding one to end */ + for (int i = 0; i < ctryl; i++) { + *q = ctry_utf[i]; + cwrd = 1; + u16_u8(candidate, MAXSWUTF8L, candidate_utf, wl + 1); + ns = testsug(wlst, candidate, strlen(candidate), ns, cpdsuggest, NULL, NULL); + if (ns == -1) return -1; + } + return ns; +} + + +/* error is should have been two words */ +int SuggestMgr::twowords(char ** wlst, const char * word, int ns, int cpdsuggest) +{ + char candidate[MAXSWUTF8L]; + char * p; + int c1, c2; + int forbidden = 0; + int cwrd; + + int wl=strlen(word); + if (wl < 3) return ns; + + if (pAMgr->get_langnum() == LANG_hu) forbidden = check_forbidden(word, wl); + + strcpy(candidate + 1, word); + + // split the string into two pieces after every char + // if both pieces are good words make them a suggestion + for (p = candidate + 1; p[1] != '\0'; p++) { + p[-1] = *p; + // go to end of the UTF-8 character + while (utf8 && ((p[1] & 0xc0) == 0x80)) { + p++; + p[-1] = *p; + } + *p = '\0'; + c1 = checkword(candidate,strlen(candidate), cpdsuggest, NULL, NULL); + if (c1) { + c2 = checkword((p+1),strlen(p+1), cpdsuggest, NULL, NULL); + if (c2) { + *p = ' '; + + // spec. Hungarian code (need a better compound word support) + if ((pAMgr->get_langnum() == LANG_hu) && !forbidden && + // if 3 repeating letter, use - instead of space + (((p[-1] == p[1]) && (((p>candidate+1) && (p[-1] == p[-2])) || (p[-1] == p[2]))) || + // or multiple compounding, with more, than 6 syllables + ((c1 == 3) && (c2 >= 2)))) *p = '-'; + + cwrd = 1; + for (int k=0; k < ns; k++) + if (strcmp(candidate,wlst[k]) == 0) cwrd = 0; + if (ns < maxSug) { + if (cwrd) { + wlst[ns] = mystrdup(candidate); + if (wlst[ns] == NULL) return -1; + ns++; + } + } else return ns; + } + } + } + return ns; +} + + +// error is adjacent letter were swapped +int SuggestMgr::swapchar(char ** wlst, const char * word, int ns, int cpdsuggest) +{ + char candidate[MAXSWUTF8L]; + char * p; + char tmpc; + int wl=strlen(word); + // try swapping adjacent chars one by one + strcpy(candidate, word); + for (p = candidate; p[1] != 0; p++) { + tmpc = *p; + *p = p[1]; + p[1] = tmpc; + ns = testsug(wlst, candidate, wl, ns, cpdsuggest, NULL, NULL); + if (ns == -1) return -1; + p[1] = *p; + *p = tmpc; + } + return ns; +} + +// error is adjacent letter were swapped +int SuggestMgr::swapchar_utf(char ** wlst, const w_char * word, int wl, int ns, int cpdsuggest) +{ + w_char candidate_utf[MAXSWL]; + char candidate[MAXSWUTF8L]; + w_char * p; + w_char tmpc; + // try swapping adjacent chars one by one + memcpy (candidate_utf, word, wl * sizeof(w_char)); + for (p = candidate_utf; p < (candidate_utf + wl - 1); p++) { + tmpc = *p; + *p = p[1]; + p[1] = tmpc; + u16_u8(candidate, MAXSWUTF8L, candidate_utf, wl); + ns = testsug(wlst, candidate, strlen(candidate), ns, cpdsuggest, NULL, NULL); + if (ns == -1) return -1; + p[1] = *p; + *p = tmpc; + } + return ns; +} + +// error is not adjacent letter were swapped +int SuggestMgr::longswapchar(char ** wlst, const char * word, int ns, int cpdsuggest) +{ + char candidate[MAXSWUTF8L]; + char * p; + char * q; + char tmpc; + int wl=strlen(word); + // try swapping not adjacent chars one by one + strcpy(candidate, word); + for (p = candidate; *p != 0; p++) { + for (q = candidate; *q != 0; q++) { + if (abs(p-q) > 1) { + tmpc = *p; + *p = *q; + *q = tmpc; + ns = testsug(wlst, candidate, wl, ns, cpdsuggest, NULL, NULL); + if (ns == -1) return -1; + *q = *p; + *p = tmpc; + } + } + } + return ns; +} + + +// error is adjacent letter were swapped +int SuggestMgr::longswapchar_utf(char ** wlst, const w_char * word, int wl, int ns, int cpdsuggest) +{ + w_char candidate_utf[MAXSWL]; + char candidate[MAXSWUTF8L]; + w_char * p; + w_char * q; + w_char tmpc; + // try swapping not adjacent chars + memcpy (candidate_utf, word, wl * sizeof(w_char)); + for (p = candidate_utf; p < (candidate_utf + wl); p++) { + for (q = candidate_utf; q < (candidate_utf + wl); q++) { + if (abs(p-q) > 1) { + tmpc = *p; + *p = *q; + *q = tmpc; + ns = testsug(wlst, candidate, strlen(candidate), ns, cpdsuggest, NULL, NULL); + if (ns == -1) return -1; + *q = *p; + *p = tmpc; + } + } + } + return ns; +} + +// error is a letter was moved +int SuggestMgr::movechar(char ** wlst, const char * word, int ns, int cpdsuggest) +{ + char candidate[MAXSWUTF8L]; + char * p; + char * q; + char tmpc; + + int wl=strlen(word); + // try moving a char + strcpy(candidate, word); + for (p = candidate; *p != 0; p++) { + for (q = p + 1; (*q != 0) && ((q - p) < 10); q++) { + tmpc = *(q-1); + *(q-1) = *q; + *q = tmpc; + if ((q-p) < 2) continue; // omit swap char + ns = testsug(wlst, candidate, wl, ns, cpdsuggest, NULL, NULL); + if (ns == -1) return -1; + } + strcpy(candidate, word); + } + for (p = candidate + wl - 1; p > candidate; p--) { + for (q = p - 1; (q >= candidate) && ((p - q) < 10); q--) { + tmpc = *(q+1); + *(q+1) = *q; + *q = tmpc; + if ((p-q) < 2) continue; // omit swap char + ns = testsug(wlst, candidate, wl, ns, cpdsuggest, NULL, NULL); + if (ns == -1) return -1; + } + strcpy(candidate, word); + } + return ns; +} + +// error is a letter was moved +int SuggestMgr::movechar_utf(char ** wlst, const w_char * word, int wl, int ns, int cpdsuggest) +{ + w_char candidate_utf[MAXSWL]; + char candidate[MAXSWUTF8L]; + w_char * p; + w_char * q; + w_char tmpc; + // try moving a char + memcpy (candidate_utf, word, wl * sizeof(w_char)); + for (p = candidate_utf; p < (candidate_utf + wl); p++) { + for (q = p + 1; (q < (candidate_utf + wl)) && ((q - p) < 10); q++) { + tmpc = *(q-1); + *(q-1) = *q; + *q = tmpc; + if ((q-p) < 2) continue; // omit swap char + u16_u8(candidate, MAXSWUTF8L, candidate_utf, wl); + ns = testsug(wlst, candidate, strlen(candidate), ns, cpdsuggest, NULL, NULL); + if (ns == -1) return -1; + } + memcpy (candidate_utf, word, wl * sizeof(w_char)); + } + for (p = candidate_utf + wl - 1; p > candidate_utf; p--) { + for (q = p - 1; (q >= candidate_utf) && ((p - q) < 10); q--) { + tmpc = *(q+1); + *(q+1) = *q; + *q = tmpc; + if ((p-q) < 2) continue; // omit swap char + u16_u8(candidate, MAXSWUTF8L, candidate_utf, wl); + ns = testsug(wlst, candidate, strlen(candidate), ns, cpdsuggest, NULL, NULL); + if (ns == -1) return -1; + } + memcpy (candidate_utf, word, wl * sizeof(w_char)); + } + return ns; +} + +// generate a set of suggestions for very poorly spelled words +int SuggestMgr::ngsuggest(char** wlst, char * w, HashMgr* pHMgr) +{ + + int i, j; + int lval; + int sc; + int lp; + int nonbmp = 0; + + if (!pHMgr) return 0; + + // exhaustively search through all root words + // keeping track of the MAX_ROOTS most similar root words + struct hentry * roots[MAX_ROOTS]; + int scores[MAX_ROOTS]; + for (i = 0; i < MAX_ROOTS; i++) { + roots[i] = NULL; + scores[i] = -100 * i; + } + lp = MAX_ROOTS - 1; + + char w2[MAXWORDUTF8LEN]; + char * word = w; + + // word reversing wrapper for complex prefixes + if (complexprefixes) { + strcpy(w2, w); + if (utf8) reverseword_utf(w2); else reverseword(w2); + word = w2; + } + + char mw[MAXSWUTF8L]; + w_char u8[MAXSWL]; + int nc = strlen(word); + int n = (utf8) ? u8_u16(u8, MAXSWL, word) : nc; + + // set character based ngram suggestion for words with non-BMP Unicode characters + if (n == -1) { + utf8 = 0; + n = nc; + nonbmp = 1; + } + + struct hentry* hp = NULL; + int col = -1; + while ((hp = pHMgr->walk_hashtable(col, hp))) { + if ((hp->astr) && (pAMgr) && + (TESTAFF(hp->astr, pAMgr->get_forbiddenword(), hp->alen) || + TESTAFF(hp->astr, ONLYUPCASEFLAG, hp->alen) || + TESTAFF(hp->astr, pAMgr->get_nosuggest(), hp->alen) || + TESTAFF(hp->astr, pAMgr->get_onlyincompound(), hp->alen))) continue; + sc = ngram(3, word, hp->word, NGRAM_LONGER_WORSE); + if (sc > scores[lp]) { + scores[lp] = sc; + roots[lp] = hp; + lval = sc; + for (j=0; j < MAX_ROOTS; j++) + if (scores[j] < lval) { + lp = j; + lval = scores[j]; + } + } + } + + // find minimum threshhold for a passable suggestion + // mangle original word three differnt ways + // and score them to generate a minimum acceptable score + int thresh = 0; + for (int sp = 1; sp < 4; sp++) { + if (utf8) { + for (int k=sp; k < n; k+=4) *((unsigned short *) u8 + k) = '*'; + u16_u8(mw, MAXSWUTF8L, u8, n); + thresh = thresh + ngram(n, word, mw, NGRAM_ANY_MISMATCH); + } else { + strcpy(mw, word); + for (int k=sp; k < n; k+=4) *(mw + k) = '*'; + thresh = thresh + ngram(n, word, mw, NGRAM_ANY_MISMATCH); + } + } + thresh = thresh / 3; + thresh--; + + // now expand affixes on each of these root words and + // and use length adjusted ngram scores to select + // possible suggestions + char * guess[MAX_GUESS]; + int gscore[MAX_GUESS]; + for(i=0;iexpand_rootword(glst, MAX_WORDS, rp->word, rp->wlen, + rp->astr, rp->alen, word, nc); + + for (int k = 0; k < nw ; k++) { + sc = ngram(n, word, glst[k].word, NGRAM_ANY_MISMATCH); + if ((sc > thresh)) { + if (sc > gscore[lp]) { + if (guess[lp]) free (guess[lp]); + gscore[lp] = sc; + guess[lp] = glst[k].word; + lval = sc; + for (j=0; j < MAX_GUESS; j++) + if (gscore[j] < lval) { + lp = j; + lval = gscore[j]; + } + } else free (glst[k].word); + } else free(glst[k].word); + } + } + } + free(glst); + + // now we are done generating guesses + // sort in order of decreasing score + + bubblesort(&guess[0], &gscore[0], MAX_GUESS); + + // weight suggestions with a similarity index, based on + // the longest common subsequent algorithm and resort + + int is_swap; + for (i=0; i < MAX_GUESS; i++) { + if (guess[i]) { + // lowering guess[i] + char gl[MAXSWUTF8L]; + int len; + if (utf8) { + w_char _w[MAXSWL]; + len = u8_u16(_w, MAXSWL, guess[i]); + mkallsmall_utf(_w, len, pAMgr->get_langnum()); + u16_u8(gl, MAXSWUTF8L, _w, len); + } else { + strcpy(gl, guess[i]); + mkallsmall(gl, csconv); + len = strlen(guess[i]); + } + + int _lcs = lcslen(word, gl); + + // same characters with different casing + if ((n == len) && (n == _lcs)) { + gscore[i] += 2000; + break; + } + + // heuristic weigthing of ngram scores + gscore[i] += + // length of longest common subsequent minus lenght difference + 2 * _lcs - abs((int) (n - len)) + + // weight equal first letter + equalfirstletter(word, gl) + + // weight equal character positions + ((_lcs == commoncharacterpositions(word, gl, &is_swap)) ? 1: 0) + + // swap character (not neighboring) + ((is_swap) ? 1000 : 0); + } + } + + bubblesort(&guess[0], &gscore[0], MAX_GUESS); + + // copy over + + int ns = 0; + int same = 0; + for (i=0; i < MAX_GUESS; i++) { + if (guess[i]) { + if ((ns < maxngramsugs) && (ns < maxSug) && (!same || (gscore[i] > 1000))) { + int unique = 1; + // we have excellent suggestion(s) + if (gscore[i] > 1000) same = 1; + for (j=0; j < ns; j++) + // don't suggest previous suggestions or a previous suggestion with prefixes or affixes + if (strstr(guess[i], wlst[j]) || + // check forbidden words + !checkword(guess[i], strlen(guess[i]), 0, NULL, NULL)) unique = 0; + if (unique) wlst[ns++] = guess[i]; else free(guess[i]); + } else free(guess[i]); + } + } + + if (nonbmp) utf8 = 1; + return ns; +} + + +// see if a candidate suggestion is spelled correctly +// needs to check both root words and words with affixes + +// obsolote MySpell-HU modifications: +// return value 2 and 3 marks compounding with hyphen (-) +// `3' marks roots without suffix +int SuggestMgr::checkword(const char * word, int len, int cpdsuggest, int * timer, time_t * timelimit) +{ + struct hentry * rv=NULL; + int nosuffix = 0; + + // check time limit + if (timer) { + (*timer)--; + if (!(*timer) && timelimit) { + if (time(NULL) > *timelimit) { + *timelimit = 0; + return 0; + } + *timer = MAXPLUSTIMER; + } + } + + if (pAMgr) { + if (cpdsuggest==1) { + if (pAMgr->get_compound()) { + rv = pAMgr->compound_check(word,len,0,0,0,0,NULL,0,NULL,NULL,1); + if (rv) return 3; // XXX obsolote categorisation + } + return 0; + } + + rv = pAMgr->lookup(word); + + if (rv) { + if ((rv->astr) && (TESTAFF(rv->astr,pAMgr->get_forbiddenword(),rv->alen) + || TESTAFF(rv->astr,pAMgr->get_nosuggest(),rv->alen))) return 0; + while (rv) { + if (rv->astr && (TESTAFF(rv->astr,pAMgr->get_pseudoroot(),rv->alen) || + TESTAFF(rv->astr, ONLYUPCASEFLAG, rv->alen) || + TESTAFF(rv->astr,pAMgr->get_onlyincompound(),rv->alen))) { + rv = rv->next_homonym; + } else break; + } + } else rv = pAMgr->prefix_check(word, len, 0); // only prefix, and prefix + suffix XXX + + if (rv) { + nosuffix=1; + } else { + rv = pAMgr->suffix_check(word, len, 0, NULL, NULL, 0, NULL); // only suffix + } + + if (!rv && pAMgr->have_contclass()) { + rv = pAMgr->suffix_check_twosfx(word, len, 0, NULL, FLAG_NULL); + if (!rv) rv = pAMgr->prefix_check_twosfx(word, len, 1, FLAG_NULL); + } + + // check forbidden words + if ((rv) && (rv->astr) && (TESTAFF(rv->astr,pAMgr->get_forbiddenword(),rv->alen) || + TESTAFF(rv->astr, ONLYUPCASEFLAG, rv->alen) || + TESTAFF(rv->astr,pAMgr->get_nosuggest(),rv->alen) || + TESTAFF(rv->astr,pAMgr->get_onlyincompound(),rv->alen))) return 0; + + if (rv) { // XXX obsolote + if ((pAMgr->get_compoundflag()) && + TESTAFF(rv->astr, pAMgr->get_compoundflag(), rv->alen)) return 2 + nosuffix; + return 1; + } + } + return 0; +} + +int SuggestMgr::check_forbidden(const char * word, int len) +{ + struct hentry * rv = NULL; + + if (pAMgr) { + rv = pAMgr->lookup(word); + if (rv && rv->astr && (TESTAFF(rv->astr,pAMgr->get_pseudoroot(),rv->alen) || + TESTAFF(rv->astr,pAMgr->get_onlyincompound(),rv->alen))) rv = NULL; + if (!(pAMgr->prefix_check(word,len,1))) + rv = pAMgr->suffix_check(word,len, 0, NULL, NULL, 0, NULL); // prefix+suffix, suffix + // check forbidden words + if ((rv) && (rv->astr) && TESTAFF(rv->astr,pAMgr->get_forbiddenword(),rv->alen)) return 1; + } + return 0; +} + +#ifdef HUNSPELL_EXPERIMENTAL +// suggest stems, XXX experimental code +int SuggestMgr::suggest_stems(char*** slst, const char * w, int nsug) +{ + char buf[MAXSWUTF8L]; + char ** wlst; + int prevnsug = nsug; + + char w2[MAXWORDUTF8LEN]; + const char * word = w; + + // word reversing wrapper for complex prefixes + if (complexprefixes) { + strcpy(w2, w); + if (utf8) reverseword_utf(w2); else reverseword(w2); + word = w2; + } + + if (*slst) { + wlst = *slst; + } else { + wlst = (char **) calloc(maxSug, sizeof(char *)); + if (wlst == NULL) return -1; + } + // perhaps there are a fix stem in the dictionary + if ((nsug < maxSug) && (nsug > -1)) { + + nsug = fixstems(wlst, word, nsug); + if (nsug == prevnsug) { + char * s = mystrdup(word); + char * p = s + strlen(s); + while ((*p != '-') && (p != s)) p--; + if (*p == '-') { + *p = '\0'; + nsug = fixstems(wlst, s, nsug); + if ((nsug == prevnsug) && (nsug < maxSug) && (nsug >= 0)) { + char * t; + buf[0] = '\0'; + for (t = s; (t[0] != '\0') && ((t[0] >= '0') || (t[0] <= '9')); t++); // is a number? + if (*t != '\0') strcpy(buf, "# "); + strcat(buf, s); + wlst[nsug] = mystrdup(buf); + if (wlst[nsug] == NULL) return -1; + nsug++; + } + p++; + nsug = fixstems(wlst, p, nsug); + } + + free(s); + } + } + + if (nsug < 0) { + for (int i=0;ilookup(word); + if (rv) { + dicstem = 0; + } else { + // try stripping off affixes + rv = pAMgr->affix_check(word, wl); + + // else try check compound word + if (!rv && pAMgr->get_compound()) { + rv = pAMgr->compound_check(word, wl, + 0, 0, 100, 0, NULL, 0, &cmpdstemnum, cmpdstem,1); + + if (rv) { + dicstem = 2; + for (int j = 0; j < cmpdstemnum; j++) { + cpdindex += cmpdstem[j]; + } + if(! (pAMgr->lookup(word + cpdindex))) + pAMgr->affix_check(word + cpdindex, wl - cpdindex); // for prefix + } + } + + + if (pAMgr->get_prefix()) { + strcpy(prefix, pAMgr->get_prefix()); + } + + // XXX obsolete, will be a general solution for stemming + if ((prefix) && (strncmp(prefix, "leg", 3)==0)) prefix[0] = '\0'; // (HU) + } + + } + + + + if ((rv) && (ns < maxSug)) { + + // check fixstem flag and not_valid_stem flag + // first word + if ((ns < maxSug) && (dicstem < 2)) { + strcpy(buf, prefix); + if ((dicstem > 0) && pAMgr->get_derived()) { + // XXX obsolote + if (strlen(prefix) == 1) { + strcat(buf, (pAMgr->get_derived()) + 1); + } else { + strcat(buf, pAMgr->get_derived()); + } + } else { + // special stem in affix description + const char * wordchars = pAMgr->get_wordchars(); + if (rv->description && + (strchr(wordchars, *(rv->description)))) { + char * desc = (rv->description) + 1; + while (strchr(wordchars, *desc)) desc++; + strncat(buf, rv->description, desc - (rv->description)); + } else { + strcat(buf, rv->word); + } + } + wlst[ns] = mystrdup(buf); + if (wlst[ns] == NULL) return -1; + ns++; + } + + if (dicstem == 2) { + + // compound stem + +// if (rv->astr && (strchr(rv->astr, '0') == NULL)) { + if (rv->astr) { + strcpy(buf, word); + buf[cpdindex] = '\0'; + if (prefix) strcat(buf, prefix); + if (pAMgr->get_derived()) { + strcat(buf, pAMgr->get_derived()); + } else { + // special stem in affix description + const char * wordchars = pAMgr->get_wordchars(); + if (rv->description && + (strchr(wordchars, *(rv->description)))) { + char * desc = (rv->description) + 1; + while (strchr(wordchars, *desc)) desc++; + strncat(buf, rv->description, desc - (rv->description)); + } else { + strcat(buf, rv->word); + } + } + if (ns < maxSug) { + wlst[ns] = mystrdup(buf); + if (wlst[ns] == NULL) return -1; + ns++; + } + } + } + } + return ns; +} + +// suggest possible stems +int SuggestMgr::suggest_pos_stems(char*** slst, const char * w, int nsug) +{ + char ** wlst; + + struct hentry * rv = NULL; + + char w2[MAXSWUTF8L]; + const char * word = w; + + // word reversing wrapper for complex prefixes + if (complexprefixes) { + strcpy(w2, w); + if (utf8) reverseword_utf(w2); else reverseword(w2); + word = w2; + } + + int wl = strlen(word); + + + if (*slst) { + wlst = *slst; + } else { + wlst = (char **) calloc(maxSug, sizeof(char *)); + if (wlst == NULL) return -1; + } + + rv = pAMgr->suffix_check(word, wl, 0, NULL, wlst, maxSug, &nsug); + + // delete dash from end of word + if (nsug > 0) { + for (int j=0; j < nsug; j++) { + if (wlst[j][strlen(wlst[j]) - 1] == '-') wlst[j][strlen(wlst[j]) - 1] = '\0'; + } + } + + *slst = wlst; + return nsug; +} + + +char * SuggestMgr::suggest_morph(const char * w) +{ + char result[MAXLNLEN]; + char * r = (char *) result; + char * st; + + struct hentry * rv = NULL; + + *result = '\0'; + + if (! pAMgr) return NULL; + + char w2[MAXSWUTF8L]; + const char * word = w; + + // word reversing wrapper for complex prefixes + if (complexprefixes) { + strcpy(w2, w); + if (utf8) reverseword_utf(w2); else reverseword(w2); + word = w2; + } + + rv = pAMgr->lookup(word); + + while (rv) { + if ((!rv->astr) || !(TESTAFF(rv->astr, pAMgr->get_forbiddenword(), rv->alen) || + TESTAFF(rv->astr, pAMgr->get_pseudoroot(), rv->alen) || + TESTAFF(rv->astr,pAMgr->get_onlyincompound(),rv->alen))) { + if (rv->description && ((!rv->astr) || + !TESTAFF(rv->astr, pAMgr->get_lemma_present(), rv->alen))) + strcat(result, word); + if (rv->description) strcat(result, rv->description); + strcat(result, "\n"); + } + rv = rv->next_homonym; + } + + st = pAMgr->affix_check_morph(word,strlen(word)); + if (st) { + strcat(result, st); + free(st); + } + + if (pAMgr->get_compound() && (*result == '\0')) + pAMgr->compound_check_morph(word, strlen(word), + 0, 0, 100, 0,NULL, 0, &r, NULL); + + return (*result) ? mystrdup(line_uniq(delete_zeros(result))) : NULL; +} + +char * SuggestMgr::suggest_morph_for_spelling_error(const char * word) +{ + char * p = NULL; + char ** wlst = (char **) calloc(maxSug, sizeof(char *)); + // we will use only the first suggestion + for (int i = 0; i < maxSug - 1; i++) wlst[i] = ""; + int ns = suggest(&wlst, word, maxSug - 1); + if (ns == maxSug) { + p = suggest_morph(wlst[maxSug - 1]); + free(wlst[maxSug - 1]); + } + if (wlst) free(wlst); + return p; +} +#endif // END OF HUNSPELL_EXPERIMENTAL CODE + + +// generate an n-gram score comparing s1 and s2 +int SuggestMgr::ngram(int n, char * s1, const char * s2, int uselen) +{ + int nscore = 0; + int ns; + int l1; + int l2; + + if (utf8) { + w_char su1[MAXSWL]; + w_char su2[MAXSWL]; + l1 = u8_u16(su1, MAXSWL, s1); + l2 = u8_u16(su2, MAXSWL, s2); + if (!l2 || (l1==-1) || (l2==-1)) return 0; + // lowering dictionary word + mkallsmall_utf(su2, l2, pAMgr->get_langnum()); + for (int j = 1; j <= n; j++) { + ns = 0; + for (int i = 0; i <= (l1-j); i++) { + for (int l = 0; l <= (l2-j); l++) { + int k; + for (k = 0; (k < j); k++) { + w_char * c1 = su1 + i + k; + w_char * c2 = su2 + l + k; + if ((c1->l != c2->l) || (c1->h != c2->h)) break; + } + if (k == j) { + ns++; + break; + } + } + } + nscore = nscore + ns; + if (ns < 2) break; + } + } else { + char t[MAXSWUTF8L]; + l1 = strlen(s1); + l2 = strlen(s2); + if (!l2) return 0; + strcpy(t, s2); + mkallsmall(t, csconv); + for (int j = 1; j <= n; j++) { + ns = 0; + for (int i = 0; i <= (l1-j); i++) { + char c = *(s1 + i + j); + *(s1 + i + j) = '\0'; + if (strstr(t,(s1+i))) ns++; + *(s1 + i + j ) = c; + } + nscore = nscore + ns; + if (ns < 2) break; + } + } + + ns = 0; + if (uselen == NGRAM_LONGER_WORSE) ns = (l2-l1)-2; + if (uselen == NGRAM_ANY_MISMATCH) ns = abs(l2-l1)-2; + ns = (nscore - ((ns > 0) ? ns : 0)); + return ns; +} + +int SuggestMgr::equalfirstletter(char * s1, const char * s2) { + if (utf8) { + w_char su1[MAXSWL]; + w_char su2[MAXSWL]; + // decapitalize dictionary word + if (complexprefixes) { + int l1 = u8_u16(su1, MAXSWL, s1); + int l2 = u8_u16(su2, MAXSWL, s2); + if (*((short *)su1+l1-1) == *((short *)su2+l2-1)) return 1; + } else { + u8_u16(su1, 1, s1); + u8_u16(su2, 1, s2); + if (*((short *)su1) == *((short *)su2)) return 1; + } + } else { + if (complexprefixes) { + int l1 = strlen(s1); + int l2 = strlen(s2); + if (*(s2+l1-1) == *(s2+l2-1)) return 1; + } else { + if (*s1 == *s2) return 1; + } + } + return 0; +} + +int SuggestMgr::commoncharacterpositions(char * s1, const char * s2, int * is_swap) { + int num = 0; + int diff = 0; + int diffpos[2]; + *is_swap = 0; + if (utf8) { + w_char su1[MAXSWL]; + w_char su2[MAXSWL]; + int l1 = u8_u16(su1, MAXSWL, s1); + int l2 = u8_u16(su2, MAXSWL, s2); + // decapitalize dictionary word + if (complexprefixes) { + mkallsmall_utf(su2+l2-1, 1, pAMgr->get_langnum()); + } else { + mkallsmall_utf(su2, 1, pAMgr->get_langnum()); + } + for (int i = 0; (i < l1) && (i < l2); i++) { + if (((short *) su1)[i] == ((short *) su2)[i]) { + num++; + } else { + if (diff < 2) diffpos[diff] = i; + diff++; + } + } + if ((diff == 2) && (l1 == l2) && + (((short *) su1)[diffpos[0]] == ((short *) su2)[diffpos[1]]) && + (((short *) su1)[diffpos[1]] == ((short *) su2)[diffpos[0]])) *is_swap = 1; + } else { + int i; + char t[MAXSWUTF8L]; + strcpy(t, s2); + // decapitalize dictionary word + if (complexprefixes) { + int l2 = strlen(t); + *(t+l2-1) = csconv[((unsigned char)*(t+l2-1))].clower; + } else { + mkallsmall(t, csconv); + } + for (i = 0; (*(s1+i) != 0) && (*(t+i) != 0); i++) { + if (*(s1+i) == *(t+i)) { + num++; + } else { + if (diff < 2) diffpos[diff] = i; + diff++; + } + } + if ((diff == 2) && (*(s1+i) == 0) && (*(t+i) == 0) && + (*(s1+diffpos[0]) == *(t+diffpos[1])) && + (*(s1+diffpos[1]) == *(t+diffpos[0]))) *is_swap = 1; + } + return num; +} + +int SuggestMgr::mystrlen(const char * word) { + if (utf8) { + w_char w[MAXSWL]; + return u8_u16(w, MAXSWL, word); + } else return strlen(word); +} + +// sort in decreasing order of score +void SuggestMgr::bubblesort(char** rword, int* rsc, int n ) +{ + int m = 1; + while (m < n) { + int j = m; + while (j > 0) { + if (rsc[j-1] < rsc[j]) { + int sctmp = rsc[j-1]; + char * wdtmp = rword[j-1]; + rsc[j-1] = rsc[j]; + rword[j-1] = rword[j]; + rsc[j] = sctmp; + rword[j] = wdtmp; + j--; + } else break; + } + m++; + } + return; +} + +// longest common subsequence +void SuggestMgr::lcs(const char * s, const char * s2, int * l1, int * l2, char ** result) { + int n, m; + w_char su[MAXSWL]; + w_char su2[MAXSWL]; + char * b; + char * c; + int i; + int j; + if (utf8) { + m = u8_u16(su, MAXSWL, s); + n = u8_u16(su2, MAXSWL, s2); + } else { + m = strlen(s); + n = strlen(s2); + } + c = (char *) malloc((m + 1) * (n + 1)); + b = (char *) malloc((m + 1) * (n + 1)); + for (i = 1; i <= m; i++) c[i*(n+1)] = 0; + for (j = 0; j <= n; j++) c[j] = 0; + for (i = 1; i <= m; i++) { + for (j = 1; j <= n; j++) { + if ((utf8) && (*((short *) su+i-1) == *((short *)su2+j-1)) + || (!utf8) && ((*(s+i-1)) == (*(s2+j-1)))) { + c[i*(n+1) + j] = c[(i-1)*(n+1) + j-1]+1; + b[i*(n+1) + j] = LCS_UPLEFT; + } else if (c[(i-1)*(n+1) + j] >= c[i*(n+1) + j-1]) { + c[i*(n+1) + j] = c[(i-1)*(n+1) + j]; + b[i*(n+1) + j] = LCS_UP; + } else { + c[i*(n+1) + j] = c[i*(n+1) + j-1]; + b[i*(n+1) + j] = LCS_LEFT; + } + } + } + *result = b; + free(c); + *l1 = m; + *l2 = n; +} + +int SuggestMgr::lcslen(const char * s, const char* s2) { + int m; + int n; + int i; + int j; + char * result; + int len = 0; + lcs(s, s2, &m, &n, &result); + i = m; + j = n; + while ((i != 0) && (j != 0)) { + if (result[i*(n+1) + j] == LCS_UPLEFT) { + len++; + i--; + j--; + } else if (result[i*(n+1) + j] == LCS_UP) { + i--; + } else j--; + } + if (result) free(result); + return len; +} diff --git a/extensions/spellcheck/hunspell/src/suggestmgr.hxx b/extensions/spellcheck/hunspell/src/suggestmgr.hxx new file mode 100644 index 00000000000..2fa72236047 --- /dev/null +++ b/extensions/spellcheck/hunspell/src/suggestmgr.hxx @@ -0,0 +1,151 @@ +/******* BEGIN LICENSE BLOCK ******* + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Initial Developers of the Original Code are Kevin Hendricks (MySpell) + * and Laszlo Nemeth (Hunspell). Portions created by the Initial Developers + * are Copyright (C) 2002-2005 the Initial Developers. All Rights Reserved. + * + * Contributor(s): Kevin Hendricks (kevin.hendricks@sympatico.ca) + * László Németh (nemethl@gyorsposta.hu) + * David Einstein (deinst@world.std.com) + * Davide Prina + * Giuseppe Modugno + * Gianluca Turconi + * Simon Brouwer + * Noll Janos + * Biro Arpad + * Goldman Eleonora + * Sarlos Tamas + * Bencsath Boldizsar + * Halacsy Peter + * Dvornik Laszlo + * Gefferth Andras + * Nagy Viktor + * Varga Daniel + * Chris Halls + * Rene Engelhard + * Bram Moolenaar + * Dafydd Jones + * Harri Pitkanen + * Andras Timar + * Tor Lillqvist + * + * Alternatively, the contents of this file may be used under the terms of + * either the GNU General Public License Version 2 or later (the "GPL"), or + * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + ******* END LICENSE BLOCK *******/ + +#ifndef _SUGGESTMGR_HXX_ +#define _SUGGESTMGR_HXX_ + +#define MAXSWL 100 +#define MAXSWUTF8L (MAXSWL * 4) +#define MAX_ROOTS 100 +#define MAX_WORDS 100 +#define MAX_GUESS 100 +#define MAXNGRAMSUGS 5 + +#define MINTIMER 500 +#define MAXPLUSTIMER 500 + +#define NGRAM_IGNORE_LENGTH 0 +#define NGRAM_LONGER_WORSE 1 +#define NGRAM_ANY_MISMATCH 2 + +#include "atypes.hxx" +#include "affixmgr.hxx" +#include "hashmgr.hxx" +#include "langnum.hxx" +#include + +enum { LCS_UP, LCS_LEFT, LCS_UPLEFT }; + +class SuggestMgr +{ + char * ctry; + int ctryl; + w_char * ctry_utf; + + AffixMgr* pAMgr; + int maxSug; + struct cs_info * csconv; + int utf8; + int nosplitsugs; + int maxngramsugs; + int complexprefixes; + + +public: + SuggestMgr(const char * tryme, int maxn, AffixMgr *aptr); + ~SuggestMgr(); + + int suggest(char*** slst, const char * word, int nsug); + int ngsuggest(char ** wlst, char * word, HashMgr* pHMgr); + int suggest_auto(char*** slst, const char * word, int nsug); + int suggest_stems(char*** slst, const char * word, int nsug); + int suggest_pos_stems(char*** slst, const char * word, int nsug); + + char * suggest_morph(const char * word); + char * suggest_morph_for_spelling_error(const char * word); + +private: + int testsug(char** wlst, const char * candidate, int wl, int ns, int cpdsuggest, + int * timer, time_t * timelimit); + int checkword(const char *, int, int, int *, time_t *); + int check_forbidden(const char *, int); + + int capchars(char **, const char *, int, int); + int replchars(char**, const char *, int, int); + int doubletwochars(char**, const char *, int, int); + int forgotchar(char **, const char *, int, int); + int swapchar(char **, const char *, int, int); + int longswapchar(char **, const char *, int, int); + int movechar(char **, const char *, int, int); + int extrachar(char **, const char *, int, int); + int badchar(char **, const char *, int, int); + int twowords(char **, const char *, int, int); + int fixstems(char **, const char *, int); + + int capchars_utf(char **, const w_char *, int wl, int, int); + int doubletwochars_utf(char**, const w_char *, int wl, int, int); + int forgotchar_utf(char**, const w_char *, int wl, int, int); + int extrachar_utf(char**, const w_char *, int wl, int, int); + int badchar_utf(char **, const w_char *, int wl, int, int); + int swapchar_utf(char **, const w_char *, int wl, int, int); + int longswapchar_utf(char **, const w_char *, int, int, int); + int movechar_utf(char **, const w_char *, int, int, int); + + int mapchars(char**, const char *, int); + int map_related(const char *, int, char ** wlst, int, const mapentry*, int, int *, time_t *); + int map_related_utf(w_char *, int, int, char ** wlst, int, const mapentry*, int, int *, time_t *); + int ngram(int n, char * s1, const char * s2, int uselen); + int mystrlen(const char * word); + int equalfirstletter(char * s1, const char * s2); + int commoncharacterpositions(char * s1, const char * s2, int * is_swap); + void bubblesort( char ** rwd, int * rsc, int n); + void lcs(const char * s, const char * s2, int * l1, int * l2, char ** result); + int lcslen(const char * s, const char* s2); + +}; + +#endif + diff --git a/extensions/spellcheck/locales/en-US/hunspell/README.txt b/extensions/spellcheck/locales/en-US/hunspell/README.txt new file mode 100644 index 00000000000..551d487ae84 --- /dev/null +++ b/extensions/spellcheck/locales/en-US/hunspell/README.txt @@ -0,0 +1,49 @@ +OpenOffice.org Hunspell en_US dictionary +2007-03-20 release +-- +This dictionary is based on a subset of the original +English wordlist created by Kevin Atkinson for Pspell +and Aspell and thus is covered by his original +LGPL license. The affix file is a heavily modified +version of the original english.aff file which was +released as part of Geoff Kuenning's Ispell and as +such is covered by his BSD license. + +Thanks to both authors for there wonderful work. + +ChangeLog + +2007-03-20 nemeth AT OOo + +- alot -> a_lot REP suggestion, add "a lot" +- add Mozilla words (blog, cafe, inline, online, eBay, PayPal, etc.) +- add cybercafé +- alias compression (saving 15 kB disk space + 0.8 MB memory) + +Mozilla 355178 - add scot-free +Mozilla 374411 - add Scotty +Mozilla 359305 - add archaeology, archeological, archeologist +Mozilla 358754 - add doughnut +Mozilla 254814 - add gauging, canoeing, *canoing, proactively +Issue 71718 - remove *opthalmic, *opthalmology; *opthalmologic -> ophthalmologic +Issue 68550 - *estoppal -> estoppel +Issue 69345 - add tapenade +Issue 67975 - add assistive +Issue 63541 - remove *dessicate +Issue 62599 - add toolbar + +2006-02-07 nemeth AT OOo + +Issue 48060 - add ordinal numbers with COMPOUNDRULE (1st, 11th, 101st etc.) +Issue 29112, 55498 - add NOSUGGEST flags to taboo words +Issue 56755 - add sequitor (non sequitor) +Issue 50616 - add open source words (GNOME, KDE, OOo, OpenOffice.org) +Issue 56389 - add Mozilla words (Mozilla, Firefox, Thunderbird) +Issue 29110 - add okay +Issue 58468 - add advisors +Issue 58708 - add hiragana & katakana +Issue 60240 - add arginine, histidine, monovalent, polymorphism, pyroelectric, pyroelectricity + +2005-11-01 dnaber AT OOo + +Issue 25797 - add proven, advisor, etc. diff --git a/extensions/spellcheck/locales/en-US/hunspell/en-US.aff b/extensions/spellcheck/locales/en-US/hunspell/en-US.aff new file mode 100644 index 00000000000..bf6a182b292 --- /dev/null +++ b/extensions/spellcheck/locales/en-US/hunspell/en-US.aff @@ -0,0 +1,1040 @@ +AF 837 +AF mn # 1 +AF 1n # 2 +AF pt # 3 +AF p # 4 +AF ct # 5 +AF M # 6 +AF MS # 7 +AF DGLRS # 8 +AF S # 9 +AF UY # 10 +AF DGLS # 11 +AF U # 12 +AF AU # 13 +AF A # 14 +AF DGNSX # 15 +AF SY # 16 +AF DGS # 17 +AF DY # 18 +AF Y # 19 +AF GJRS # 20 +AF EIMS # 21 +AF DGPSY # 22 +AF DGRSZ # 23 +AF DGNSVX # 24 +AF E # 25 +AF DGMS # 26 +AF DGLRSZ # 27 +AF PY # 28 +AF DGRSV # 29 +AF MS! # 30 +AF DGRS # 31 +AF MPSY # 32 +AF PRTY # 33 +AF DGRSY # 34 +AF NPRSTXY # 35 +AF ADGS # 36 +AF DGPRSTVY # 37 +AF PRSTY # 38 +AF BDGRSVZ # 39 +AF LS # 40 +AF MSU # 41 +AF P # 42 +AF IMS # 43 +AF IU # 44 +AF I # 45 +AF PSY # 46 +AF DG # 47 +AF AMS # 48 +AF DGMRSZ # 49 +AF BDGJMS # 50 +AF IY # 51 +AF DGR # 52 +AF BDGLRSZ # 53 +AF RT # 54 +AF DGNS # 55 +AF DMS # 56 +AF BDGMS # 57 +AF AI # 58 +AF ACDGINSX # 59 +AF ACIM # 60 +AF APY # 61 +AF ADGSV # 62 +AF AS # 63 +AF DGSV # 64 +AF MSY # 65 +AF BDGMRSZ # 66 +AF BDGRSZ # 67 +AF IPY # 68 +AF MSVY # 69 +AF ABDGLRS # 70 +AF DGJS # 71 +AF MN # 72 +AF MX # 73 +AF DEGMS # 74 +AF EY # 75 +AF MSV # 76 +AF DGPRSTY # 77 +AF DGJLRSZ # 78 +AF DGNSV # 79 +AF MRST # 80 +AF D # 81 +AF EM # 82 +AF EPUY # 83 +AF DEGS # 84 +AF EMS # 85 +AF MY # 86 +AF DEGNSX # 87 +AF BDGS # 88 +AF MNSV # 89 +AF RZ # 90 +AF DGJMRSZ # 91 +AF DEGNV # 92 +AF RTY # 93 +AF EP # 94 +AF BDELS # 95 +AF MRSZ # 96 +AF DGJMRSTZ # 97 +AF PRT # 98 +AF MNSX # 99 +AF DGPRSTYZ # 100 +AF BDGMRS # 101 +AF ADGLS # 102 +AF ACDGNSX # 103 +AF ACM # 104 +AF DLS # 105 +AF MRY # 106 +AF NX # 107 +AF DGNSVXY # 108 +AF BDGRZ # 109 +AF RSZ # 110 +AF DGMRS # 111 +AF BDGRST # 112 +AF BDGLRS # 113 +AF MR # 114 +AF DGNRSXZ # 115 +AF DGMSY # 116 +AF DGLRSVZ # 117 +AF AM # 118 +AF ADGRSZ # 119 +AF CS # 120 +AF DGSZ # 121 +AF N # 122 +AF IM # 123 +AF DGNPSXY # 124 +AF MNS # 125 +AF LP # 126 +AF ADEGS # 127 +AF AEMS # 128 +AF NVX # 129 +AF V # 130 +AF GMS # 131 +AF ADGNSX # 132 +AF ADEGLS # 133 +AF NPVXY # 134 +AF MU # 135 +AF DGNPSTVXY # 136 +AF DEGRS # 137 +AF IPUY # 138 +AF DGMPRSTVYZ # 139 +AF HM # 140 +AF BS # 141 +AF DS # 142 +AF AES # 143 +AF PS # 144 +AF AE # 145 +AF TV # 146 +AF EU # 147 +AF DGNPSVXY # 148 +AF BDGLS # 149 +AF DGMNRS # 150 +AF MNRSX # 151 +AF DGMRSV # 152 +AF ADEGRS # 153 +AF AEM # 154 +AF ABDGLS # 155 +AF CU # 156 +AF BDGJRS # 157 +AF AY # 158 +AF BDGLMRSZ # 159 +AF BDGSV # 160 +AF PUY # 161 +AF BDGNRSVX # 162 +AF DGMSV # 163 +AF R # 164 +AF DGM # 165 +AF GS # 166 +AF DGMPSY # 167 +AF NPXY # 168 +AF C # 169 +AF DM # 170 +AF DGJMS # 171 +AF DGMRST # 172 +AF GJRZ # 173 +AF GRZ # 174 +AF MRS # 175 +AF NPSY # 176 +AF PRST # 177 +AF BDGMRSY # 178 +AF DGJRSZ # 179 +AF DGSU # 180 +AF DGRST # 181 +AF BDGJMRSZ # 182 +AF DGSY # 183 +AF CEU # 184 +AF CDGLRS # 185 +AF CMS # 186 +AF DGJRS # 187 +AF NSX # 188 +AF ACDGKS # 189 +AF AC # 190 +AF DGLMRSZ # 191 +AF DMRSZ # 192 +AF BGJRSZ # 193 +AF JMSY # 194 +AF BGJNRSZ # 195 +AF GJS # 196 +AF MNRS # 197 +AF GJMRSZ # 198 +AF GNS # 199 +AF GNRSZ # 200 +AF KS # 201 +AF EMSU # 202 +AF DEGRSZ # 203 +AF MP # 204 +AF BGSU # 205 +AF MNR # 206 +AF GM # 207 +AF RS # 208 +AF DGJM # 209 +AF GJRSZ # 210 +AF DGJMRS # 211 +AF GT # 212 +AF DGMPS # 213 +AF GMRS # 214 +AF DGNSXY # 215 +AF HMS # 216 +AF JM # 217 +AF MPY # 218 +AF DGMN # 219 +AF NY # 220 +AF DGK # 221 +AF DGJNPRSTXY # 222 +AF DGJPRSTYZ # 223 +AF G # 224 +AF MPRST # 225 +AF DGPRST # 226 +AF GRSZ # 227 +AF RST # 228 +AF DGJMPRSTY # 229 +AF IS # 230 +AF MRZ # 231 +AF DGHS # 232 +AF AIU # 233 +AF BDGJRSZ # 234 +AF ADIU # 235 +AF PU # 236 +AF DGNRSZ # 237 +AF MNY # 238 +AF DGHMS # 239 +AF BGRSZ # 240 +AF DGJPRSTY # 241 +AF DGRZ # 242 +AF GNPRSTXY # 243 +AF RYZ # 244 +AF DGJRZ # 245 +AF HS # 246 +AF DGMY # 247 +AF MNT # 248 +AF CMS! # 249 +AF AGS # 250 +AF ! # 251 +AF S! # 252 +AF CDGRS # 253 +AF DGMRSY # 254 +AF GRS # 255 +AF GMR # 256 +AF ACS # 257 +AF DGMRY # 258 +AF DGMRZ # 259 +AF MSZ # 260 +AF IP # 261 +AF ABDGRS # 262 +AF CDGS # 263 +AF PRTU # 264 +AF CDGRSZ # 265 +AF CM # 266 +AF DGLMS # 267 +AF BDMRSZ # 268 +AF DGMNSX # 269 +AF GMN # 270 +AF DGJLMS # 271 +AF BGJLRSZ # 272 +AF FN # 273 +AF FM # 274 +AF DFGRS # 275 +AF FMS # 276 +AF B # 277 +AF F # 278 +AF ACMS # 279 +AF RSTY # 280 +AF FS # 281 +AF AFKMS # 282 +AF RTU # 283 +AF DGRSYZ # 284 +AF DGMNX # 285 +AF DMRS # 286 +AF MRSTY # 287 +AF DGJMPRSTZ # 288 +AF GMNRS # 289 +AF MPRSTY # 290 +AF DGMNS # 291 +AF DFS # 292 +AF ADGNS # 293 +AF DGNRSX # 294 +AF ADGIS # 295 +AF ACDEGKRSZ # 296 +AF ACEKM # 297 +AF DPRTUY # 298 +AF DRTU # 299 +AF DU # 300 +AF GJ # 301 +AF SU # 302 +AF MV # 303 +AF GJMS # 304 +AF DES # 305 +AF CDGJRSZ # 306 +AF DGNRSVXZ # 307 +AF NSXY # 308 +AF AIM # 309 +AF ADGSU # 310 +AF ACDGS # 311 +AF ESU # 312 +AF GIJRSZ # 313 +AF ES # 314 +AF GJLRTZ # 315 +AF EI # 316 +AF PRTUY # 317 +AF BDGRS # 318 +AF BDGNPRSTVXY # 319 +AF ACDEGS # 320 +AF CDGSU # 321 +AF DGSX # 322 +AF GNVX # 323 +AF NPRTXY # 324 +AF DGMNPRSXY # 325 +AF DV # 326 +AF ADGJS # 327 +AF ABDGS # 328 +AF L # 329 +AF IMU # 330 +AF Z # 331 +AF BRZ # 332 +AF DGMNSVX # 333 +AF DSV # 334 +AF DRZ # 335 +AF DGRV # 336 +AF PSUY # 337 +AF INPXY # 338 +AF AIMS # 339 +AF BGZ # 340 +AF KMS # 341 +AF BDGJSZ # 342 +AF DGSVY # 343 +AF BDG # 344 +AF CDGNSX # 345 +AF DGNVX # 346 +AF DEGLMS # 347 +AF DGV # 348 +AF DGRSVZ # 349 +AF DNRVXZ # 350 +AF NPX # 351 +AF DNXY # 352 +AF AEFMS # 353 +AF INSVX # 354 +AF BDGPRSTVY # 355 +AF GJMSVY # 356 +AF T # 357 +AF ACU # 358 +AF DEGMRS # 359 +AF AF # 360 +AF EPY # 361 +AF DGMRSYZ # 362 +AF NS # 363 +AF ADEGSU # 364 +AF BDGRSYZ # 365 +AF DGMS! # 366 +AF DGIRS # 367 +AF ADGKNSVX # 368 +AF AKM # 369 +AF K # 370 +AF BDEGS # 371 +AF CG # 372 +AF GMRSZ # 373 +AF BDGJMPRSTYZ # 374 +AF RTZ # 375 +AF BDGNSX # 376 +AF BDGKRSZ # 377 +AF KM # 378 +AF BIS # 379 +AF AFI # 380 +AF FSY # 381 +AF AEPY # 382 +AF DGNPRSTXYZ # 383 +AF DGNPRSTXY # 384 +AF HMN # 385 +AF DGMRSVZ # 386 +AF DGJ # 387 +AF HPRSTY # 388 +AF BMZ # 389 +AF IRTY # 390 +AF BGRZ # 391 +AF GV # 392 +AF LZ # 393 +AF DGZ # 394 +AF ADGRS # 395 +AF BDGNRSX # 396 +AF PVY # 397 +AF DGMP # 398 +AF DGX # 399 +AF FR # 400 +AF DGIS # 401 +AF ISY # 402 +AF GL # 403 +AF FU # 404 +AF BZ # 405 +AF J # 406 +AF PSU # 407 +AF BR # 408 +AF DGNPRSXY # 409 +AF INPY # 410 +AF ADGLRSZ # 411 +AF JR # 412 +AF DGMRSXZ! # 413 +AF DGNPRSVXYZ # 414 +AF ST # 415 +AF DGNPRSVXY # 416 +AF BDGJS # 417 +AF PRSYZ # 418 +AF DGLZ # 419 +AF DIM # 420 +AF DGLR # 421 +AF DGL # 422 +AF SV # 423 +AF BM # 424 +AF DGLNRSVXZ # 425 +AF DGNRSVX # 426 +AF IPVY # 427 +AF BDGR # 428 +AF ABDGNSVX # 429 +AF DGRSTYZ # 430 +AF DGJRSTZ # 431 +AF GJVX # 432 +AF AFU # 433 +AF GHJRTZ # 434 +AF DGPRSZ # 435 +AF ABDGMS # 436 +AF DGH # 437 +AF ADGMS # 438 +AF MNRSTY # 439 +AF ACFIK # 440 +AF CFI # 441 +AF FKMS # 442 +AF CI # 443 +AF MPS # 444 +AF DGMNRSZ # 445 +AF DGMPRST # 446 +AF GIS # 447 +AF DGHMSY # 448 +AF DGMNY # 449 +AF DGLMRS # 450 +AF MNX # 451 +AF DFMS # 452 +AF DGMSZ # 453 +AF DGN # 454 +AF ACDGRSZ # 455 +AF AMSU # 456 +AF DEGLS # 457 +AF DGJMRSVZ # 458 +AF DEGLRS # 459 +AF AN # 460 +AF DSUY # 461 +AF DGPRSY # 462 +AF NXY # 463 +AF ISU # 464 +AF BMS # 465 +AF BDGMNSX # 466 +AF BDGNRSVXZ # 467 +AF DIMS # 468 +AF IPSY # 469 +AF BDGMRSVZ # 470 +AF DGRSVY # 471 +AF DPRSTY # 472 +AF DGPS # 473 +AF GMNRSZ # 474 +AF DNX # 475 +AF DGNPRSTX # 476 +AF CDGMS # 477 +AF MPSU # 478 +AF DEGMRSZ # 479 +AF GMRSTY # 480 +AF DFGNSVX # 481 +AF DGPRSTZ # 482 +AF CFL # 483 +AF CFMS # 484 +AF DFGKS # 485 +AF RVZ # 486 +AF IMRSZ # 487 +AF HMRS # 488 +AF LMS # 489 +AF DEFGS # 490 +AF DGKMRSZ # 491 +AF CKMS # 492 +AF ABDGJS # 493 +AF ACDFGRS # 494 +AF CIM # 495 +AF ACIR # 496 +AF GMSZ # 497 +AF DFGIS # 498 +AF DGHJMRSZ # 499 +AF AK # 500 +AF DGJMNRZ # 501 +AF DGMPRSTY # 502 +AF GJM # 503 +AF DGJMRSY # 504 +AF BDGPRST # 505 +AF BDGJRSTZ # 506 +AF BRSZ # 507 +AF BGPRSZ # 508 +AF HT # 509 +AF ASV # 510 +AF ACFIMS # 511 +AF ACDFGIS # 512 +AF AFIS # 513 +AF SUY # 514 +AF FK # 515 +AF AGSU # 516 +AF ADGNRSZ # 517 +AF M! # 518 +AF DGJMRSZ! # 519 +AF ADGMRSZ # 520 +AF PRY # 521 +AF PRTZ # 522 +AF FIKMS # 523 +AF DGJMPRSTYZ # 524 +AF CF # 525 +AF DST # 526 +AF ACDGNSVX # 527 +AF FY # 528 +AF GHRSZ # 529 +AF GMNRST # 530 +AF GHJMRZ # 531 +AF NRZ # 532 +AF DGMPRSTYZ # 533 +AF NPRSTY # 534 +AF DGPY # 535 +AF GHRSYZ # 536 +AF PR # 537 +AF BVX # 538 +AF BDGIS # 539 +AF H # 540 +AF DGJR # 541 +AF GJNPRSTXY # 542 +AF NPRTY # 543 +AF DGJNX # 544 +AF DGHRSZ # 545 +AF GHJRSTZ # 546 +AF MNRXZ # 547 +AF MVZ # 548 +AF DRYZ # 549 +AF DGMRSTZ # 550 +AF BDEGRSZ # 551 +AF ACI # 552 +AF DGJPRSTZ # 553 +AF CDGNRSXZ # 554 +AF CDGNS # 555 +AF NPY # 556 +AF BMNSVX # 557 +AF PSVY # 558 +AF DGLRSV # 559 +AF LRZ # 560 +AF BJ # 561 +AF BDGMRZ # 562 +AF GP # 563 +AF LR # 564 +AF DGNSY # 565 +AF TZ # 566 +AF PT # 567 +AF DJRZ # 568 +AF GR # 569 +AF DGMR # 570 +AF MPRSY # 571 +AF BGSZ # 572 +AF ADEGNSX # 573 +AF EUY # 574 +AF ELST # 575 +AF DGMNPSY # 576 +AF BDGNSVX # 577 +AF ADM # 578 +AF GNSX # 579 +AF VY # 580 +AF DGJNRSXZ # 581 +AF DGJMPRS # 582 +AF ADGNSVX # 583 +AF JMR # 584 +AF ADFGS # 585 +AF DEGPSY # 586 +AF EFIMS # 587 +AF X # 588 +AF EFGIS # 589 +AF JMS # 590 +AF BGJRS # 591 +AF DGJMNSX # 592 +AF GHLM # 593 +AF DGKMS # 594 +AF DGJRSY # 595 +AF DRST # 596 +AF BDGJRZ # 597 +AF CGRSZ # 598 +AF DMSY # 599 +AF MNXY # 600 +AF AP # 601 +AF DRS # 602 +AF BPSUY # 603 +AF DGPRTY # 604 +AF BDGNS # 605 +AF DGJMNRSXZ # 606 +AF BDGHJPRSTYZ # 607 +AF GJTVX # 608 +AF DGRSUZ # 609 +AF DGJPRSYZ # 610 +AF PRYZ # 611 +AF BDGJMRSYZ # 612 +AF GMY # 613 +AF DNY # 614 +AF DLV # 615 +AF DGMPRSY # 616 +AF AKS # 617 +AF DGJMY # 618 +AF CDS # 619 +AF EGS # 620 +AF GJPRSTY # 621 +AF BDGLMRS # 622 +AF GJRSY # 623 +AF DGRT # 624 +AF BG # 625 +AF DHMS # 626 +AF DNS # 627 +AF CK # 628 +AF DEGSV # 629 +AF BGMRS # 630 +AF CKS # 631 +AF ACDGNS # 632 +AF MST # 633 +AF ACKNS # 634 +AF DGMRYZ # 635 +AF ACK # 636 +AF ACDEG # 637 +AF APS # 638 +AF ABDGRSZ # 639 +AF BDGPRSTY # 640 +AF DGJMRSYZ # 641 +AF DMSYZ # 642 +AF RSYZ # 643 +AF GMRZ # 644 +AF CY # 645 +AF CDFGS # 646 +AF CRS # 647 +AF DGJMR # 648 +AF NPSXY # 649 +AF DGLPRSTY # 650 +AF LPRSTY # 651 +AF NRT # 652 +AF NPRSTX # 653 +AF MNPSX # 654 +AF RY # 655 +AF DGJPRTYZ # 656 +AF DGNX # 657 +AF GHS # 658 +AF DGJPRSZ # 659 +AF GNRS # 660 +AF GLS # 661 +AF GSY # 662 +AF DGY # 663 +AF DGJMRSTY # 664 +AF DGJMRZ # 665 +AF MNRSZ # 666 +AF ADGMRS # 667 +AF BDGJRSVZ # 668 +AF DGMPRS # 669 +AF BDGMRSYZ # 670 +AF DMNRS # 671 +AF DGJLRS # 672 +AF ABGLS # 673 +AF DRSZ # 674 +AF NPSX # 675 +AF ADG # 676 +AF DGJMSZ # 677 +AF MRT # 678 +AF DGRS! # 679 +AF MZ # 680 +AF DGHRZ # 681 +AF AEU # 682 +AF DGJLMRSZ # 683 +AF BDEGRS # 684 +AF DGNPRSTY # 685 +AF DGMNRSX # 686 +AF ABDGMRSZ # 687 +AF CE # 688 +AF EKM # 689 +AF DEGKRSZ # 690 +AF KY # 691 +AF ADGKMS # 692 +AF ADGJRS # 693 +AF DGKRS # 694 +AF BL # 695 +AF BDGLPRSYZ # 696 +AF MNSVX # 697 +AF BDGRSV # 698 +AF AGMS # 699 +AF NPRSTVXY # 700 +AF MNVX # 701 +AF BJR # 702 +AF BDGRVZ # 703 +AF DEGSY # 704 +AF SZ # 705 +AF DGRSTZ # 706 +AF PRS # 707 +AF DGMSVY # 708 +AF GJTX # 709 +AF FIMS # 710 +AF DGPRSTUY # 711 +AF PRSTYZ # 712 +AF DGKNS # 713 +AF BGR # 714 +AF BGJRZ # 715 +AF GSZ # 716 +AF BDGMU # 717 +AF PTY # 718 +AF GJZ # 719 +AF DGRY # 720 +AF GNSVXZ # 721 +AF DGNPSX # 722 +AF BES # 723 +AF PRTVY # 724 +AF MRSVX # 725 +AF BGJ # 726 +AF DGLSZ # 727 +AF DGNRSTX # 728 +AF DGNRZ # 729 +AF DGNPRTXY # 730 +AF ADGJRSZ # 731 +AF DGJMNRSZ # 732 +AF GJTV # 733 +AF NPRTX # 734 +AF ABMS # 735 +AF DGMPRSTZ # 736 +AF IPRTY # 737 +AF GSU # 738 +AF DGRSU # 739 +AF CDGIKRS # 740 +AF CIKM # 741 +AF DFGMS # 742 +AF DGJRST # 743 +AF DGLRSYZ # 744 +AF DGRSTVY # 745 +AF DGNPRSTVXY # 746 +AF DGJSY # 747 +AF BDGPSV # 748 +AF AGRSZ # 749 +AF AEFU # 750 +AF CFM # 751 +AF AIS # 752 +AF BGJMRSZ # 753 +AF ALS # 754 +AF RT! # 755 +AF BGRS # 756 +AF IMRS # 757 +AF ACDGRS # 758 +AF BDGJRYZ # 759 +AF AG # 760 +AF DJMS # 761 +AF GJMNS # 762 +AF DGNPRTYZ # 763 +AF RU # 764 +AF AENSX # 765 +AF DGJMRSTYZ # 766 +AF ADU # 767 +AF PRSY # 768 +AF AD # 769 +AF ADFGIS # 770 +AF IK # 771 +AF DGPRSTU # 772 +AF GHRS # 773 +AF DGMNPRSTXY # 774 +AF PRTYZ # 775 +AF BDGJMSZ # 776 +AF LPSY # 777 +AF DGRYZ # 778 +AF DGMPRSZ # 779 +AF BGJX # 780 +AF MSUY # 781 +AF ACDGMRS # 782 +AF GHJRSZ # 783 +AF BDGMRSTZ # 784 +AF IPS # 785 +AF DHMRS # 786 +AF FPS # 787 +AF DFGIRS # 788 +AF BHM # 789 +AF INPRTVY # 790 +AF DGRSTV # 791 +AF CIP # 792 +AF CNVX # 793 +AF AKU # 794 +AF CFKMS # 795 +AF BCDFGRSZ # 796 +AF AFK # 797 +AF GJNX # 798 +AF AGRS # 799 +AF ADSU # 800 +AF DMRZ # 801 +AF DGIRSZ # 802 +AF AEFS # 803 +AF ABS # 804 +AF ACEFKMS # 805 +AF EFK # 806 +AF ACFKMS # 807 +AF CEFK # 808 +AF BDMS # 809 +AF EFGS # 810 +AF DP # 811 +AF BGJTX # 812 +AF GY # 813 +AF BGMS # 814 +AF GJR # 815 +AF DGRSTY # 816 +AF DGINSX # 817 +AF DFGS # 818 +AF ADFGNRSX # 819 +AF AFIMS # 820 +AF DGILS # 821 +AF AR # 822 +AF DMR # 823 +AF AFIKMS # 824 +AF KSY # 825 +AF DGIMS # 826 +AF DGHPRSTYZ # 827 +AF DGJPRS # 828 +AF DMRST # 829 +AF DGJMNRSTX # 830 +AF GRSUZ # 831 +AF RTUY # 832 +AF DMNSXY # 833 +AF MSYZ # 834 +AF PRSTU # 835 +AF ABGJRS # 836 +AF GJT # 837 +SET ISO8859-1 +TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ' +NOSUGGEST ! + +# ordinal numbers +COMPOUNDMIN 1 +# only in compounds: 1th, 2th, 3th +ONLYINCOMPOUND c +# compound rules: +# 1. [0-9]*1[0-9]th (10th, 11th, 12th, 56714th, etc.) +# 2. [0-9]*[02-9](1st|2nd|3rd|[4-9]th) (21st, 22nd, 123rd, 1234th, etc.) +COMPOUNDRULE 2 +COMPOUNDRULE n*1t +COMPOUNDRULE n*mp +WORDCHARS 0123456789 + +PFX A Y 1 +PFX A 0 re . + +PFX I Y 1 +PFX I 0 in . + +PFX U Y 1 +PFX U 0 un . + +PFX C Y 1 +PFX C 0 de . + +PFX E Y 1 +PFX E 0 dis . + +PFX F Y 1 +PFX F 0 con . + +PFX K Y 1 +PFX K 0 pro . + +SFX V N 2 +SFX V e ive e +SFX V 0 ive [^e] + +SFX N Y 3 +SFX N e ion e +SFX N y ication y +SFX N 0 en [^ey] + +SFX X Y 3 +SFX X e ions e +SFX X y ications y +SFX X 0 ens [^ey] + +SFX H N 2 +SFX H y ieth y +SFX H 0 th [^y] + +SFX Y Y 1 +SFX Y 0 ly . + +SFX G Y 2 +SFX G e ing e +SFX G 0 ing [^e] + +SFX J Y 2 +SFX J e ings e +SFX J 0 ings [^e] + +SFX D Y 4 +SFX D 0 d e +SFX D y ied [^aeiou]y +SFX D 0 ed [^ey] +SFX D 0 ed [aeiou]y + +SFX T N 4 +SFX T 0 st e +SFX T y iest [^aeiou]y +SFX T 0 est [aeiou]y +SFX T 0 est [^ey] + +SFX R Y 4 +SFX R 0 r e +SFX R y ier [^aeiou]y +SFX R 0 er [aeiou]y +SFX R 0 er [^ey] + +SFX Z Y 4 +SFX Z 0 rs e +SFX Z y iers [^aeiou]y +SFX Z 0 ers [aeiou]y +SFX Z 0 ers [^ey] + +SFX S Y 4 +SFX S y ies [^aeiou]y +SFX S 0 s [aeiou]y +SFX S 0 es [sxzh] +SFX S 0 s [^sxzhy] + +SFX P Y 3 +SFX P y iness [^aeiou]y +SFX P 0 ness [aeiou]y +SFX P 0 ness [^y] + +SFX M Y 1 +SFX M 0 's . + +SFX B Y 3 +SFX B 0 able [^aeiou] +SFX B 0 able ee +SFX B e able [^aeiou]e + +SFX L Y 1 +SFX L 0 ment . + +REP 89 +REP alot a_lot +REP a ei +REP ei a +REP a ey +REP ey a +REP ai ie +REP ie ai +REP are air +REP are ear +REP are eir +REP air are +REP air ere +REP ere air +REP ere ear +REP ere eir +REP ear are +REP ear air +REP ear ere +REP eir are +REP eir ere +REP ch te +REP te ch +REP ch ti +REP ti ch +REP ch tu +REP tu ch +REP ch s +REP s ch +REP ch k +REP k ch +REP f ph +REP ph f +REP gh f +REP f gh +REP i igh +REP igh i +REP i uy +REP uy i +REP i ee +REP ee i +REP j di +REP di j +REP j gg +REP gg j +REP j ge +REP ge j +REP s ti +REP ti s +REP s ci +REP ci s +REP k cc +REP cc k +REP k qu +REP qu k +REP kw qu +REP o eau +REP eau o +REP o ew +REP ew o +REP oo ew +REP ew oo +REP ew ui +REP ui ew +REP oo ui +REP ui oo +REP ew u +REP u ew +REP oo u +REP u oo +REP u oe +REP oe u +REP u ieu +REP ieu u +REP ue ew +REP ew ue +REP uff ough +REP oo ieu +REP ieu oo +REP ier ear +REP ear ier +REP ear air +REP air ear +REP w qu +REP qu w +REP z ss +REP ss z +REP shun tion +REP shun sion +REP shun cion diff --git a/extensions/spellcheck/locales/en-US/hunspell/en-US.dic b/extensions/spellcheck/locales/en-US/hunspell/en-US.dic new file mode 100644 index 00000000000..7c6d620dbea --- /dev/null +++ b/extensions/spellcheck/locales/en-US/hunspell/en-US.dic @@ -0,0 +1,62159 @@ +62158 +0/1 +1/2 +2/1 +3/1 +4/1 +5/1 +6/1 +7/1 +8/1 +9/1 +0th/3 +1st/4 +1th/5 +2nd/4 +2th/5 +3rd/4 +3th/5 +4th/3 +5th/3 +6th/3 +7th/3 +8th/3 +9th/3 +a +A +a +AA +AAA +Aachen/6 +aardvark/7 +Aaren/6 +Aarhus/6 +Aarika/6 +Aaron/6 +AB +aback +abacus/7 +abaft +Abagael/6 +Abagail/6 +abalone/7 +abandoner/6 +abandon/8 +abandonment/7 +abase/8 +abasement/9 +abaser/6 +abashed/10 +abashment/7 +abash/11 +abate/8 +abated/12 +abatement/7 +abater/6 +abattoir/7 +Abba/6 +Abbe/6 +abbé/9 +abbess/7 +Abbey/6 +abbey/7 +Abbie/6 +Abbi/6 +Abbot/6 +abbot/7 +Abbott/6 +abbr +abbrev +abbreviated/13 +abbreviates/14 +abbreviate/15 +abbreviating/14 +abbreviation/6 +Abbye/6 +Abby/6 +ABC/6 +Abdel/6 +abdicate/15 +abdication/6 +abdomen/7 +abdominal/16 +abduct/17 +abduction/7 +abductor/7 +Abdul/6 +ab/18 +abeam +Abelard/6 +Abel/6 +Abelson/6 +Abe/6 +Aberdeen/6 +Abernathy/6 +aberrant/16 +aberrational +aberration/7 +abet/9 +abetted +abetting +abettor/7 +Abeu/6 +abeyance/7 +abeyant +Abey/6 +abhorred +abhorrence/7 +abhorrent/19 +abhorrer/6 +abhorring +abhor/9 +abidance/7 +abide/20 +abider/6 +abiding/19 +Abidjan/6 +Abie/6 +Abigael/6 +Abigail/6 +Abigale/6 +Abilene/6 +ability/21 +abjection/7 +abjectness/7 +abject/22 +abjuration/7 +abjuratory +abjurer/6 +abjure/23 +ablate/24 +ablation/6 +ablative/16 +ablaze +abler/25 +ables/25 +ablest +able/12 +abloom +ablution/7 +Ab/6 +ABM/9 +abnegate/15 +abnegation/6 +Abner/6 +abnormality/7 +abnormal/16 +aboard +abode/26 +abolisher/6 +abolish/27 +abolishment/7 +abolitionism/7 +abolitionist/7 +abolition/7 +abominable +abominably +abominate/15 +abomination/6 +aboriginal/16 +aborigine/7 +Aborigine/7 +aborning +abortionist/7 +abortion/7 +abortiveness/6 +abortive/28 +abort/29 +Abo/30 +abound/17 +about/9 +aboveboard +aboveground +above/9 +abracadabra/9 +abrader/6 +abrade/31 +Abraham/6 +Abrahan/6 +Abra/6 +Abramo/6 +Abram/7 +Abramson/6 +Abran/6 +abrasion/7 +abrasiveness/9 +abrasive/32 +abreaction/7 +abreast +abridge/31 +abridged/12 +abridger/6 +abridgment/7 +abroad +abrogate/15 +abrogation/6 +abrogator/7 +abruptness/7 +abrupt/33 +ABS +abscess/26 +abscissa/7 +abscission/7 +absconder/6 +abscond/23 +abseil/31 +absence/7 +absenteeism/7 +absentee/7 +absentia/6 +absentmindedness/9 +absentminded/28 +absent/34 +absinthe/7 +abs/6 +absoluteness/7 +absolute/35 +absolution/6 +absolutism/7 +absolutist/7 +absolve/31 +absolver/6 +absorb/36 +absorbed/12 +absorbency/7 +absorbent/7 +absorber/7 +absorbing/19 +absorption/7 +absorptive +absorptivity/6 +abstainer/6 +abstain/23 +abstemiousness/7 +abstemious/28 +abstention/7 +abstinence/7 +abstinent/19 +abstractedness/7 +abstracted/28 +abstracter/6 +abstractionism/6 +abstractionist/7 +abstraction/7 +abstractness/7 +abstractor/7 +abstract/37 +abstruseness/7 +abstruse/33 +absurdity/7 +absurdness/7 +absurd/38 +Abuja +abundance/7 +abundant/19 +abused/25 +abuse/39 +abuser/6 +abuses/25 +abusing/25 +abusiveness/7 +abusive/28 +abut/40 +abutment/7 +abutted +abutter/7 +abutting +abuzz +abysmal/19 +abyssal +Abyssinia/6 +Abyssinian +abyss/7 +AC +acacia/7 +academe/7 +academia/7 +academical/19 +academicianship +academician/7 +academic/9 +academy/7 +Acadia/6 +acanthus/7 +Acapulco/6 +accede/17 +accelerated/12 +accelerate/24 +accelerating/19 +acceleration/6 +accelerator/7 +accelerometer/7 +accented/12 +accent/26 +accentual/19 +accentuate/15 +accentuation/6 +acceptability/41 +acceptableness/7 +acceptable/42 +acceptably/12 +acceptance/7 +acceptant +acceptation/7 +accepted/19 +accepter/6 +accepting/28 +acceptor/7 +accept/39 +accessed/14 +accessibility/43 +accessible/44 +accessibly/45 +accession/26 +accessors +accessory/7 +access/26 +accidence/6 +accidentalness/6 +accidental/46 +accident/7 +acclaimer/6 +acclaim/31 +acclamation/7 +acclimate/15 +acclimation/6 +acclimatisation +acclimatise/47 +acclimatization/48 +acclimatized/12 +acclimatize/23 +acclimatizes/14 +acclivity/7 +accolade/26 +accommodated/12 +accommodate/24 +accommodating/19 +accommodation/6 +accommodativeness/6 +accommodative/42 +accompanied/12 +accompanier/6 +accompaniment/7 +accompanist/7 +accompany/31 +accomplice/7 +accomplished/12 +accomplisher/6 +accomplishment/7 +accomplish/27 +accordance/7 +accordant/19 +accorder/6 +according/19 +accordionist/7 +accordion/7 +accord/49 +accost/17 +accountability/41 +accountableness/6 +accountable/12 +accountably/12 +accountancy/7 +accountant/7 +account/50 +accounted/12 +accounting/6 +accouter/17 +accouterments +accouterment's +accoutrement/6 +Accra/6 +accreditation/7 +accredited/12 +accredit/17 +accretion/7 +accrual/7 +accrue/17 +acct +acculturate/24 +acculturation/6 +accumulate/24 +accumulation/6 +accumulativeness/6 +accumulative/28 +accumulator/7 +accuracy/43 +accurate/51 +accurateness/7 +accursedness/7 +accursed/28 +accusal/6 +accusation/7 +accusative/9 +accusatory +accused/6 +accuser/6 +accuse/23 +accusing/19 +accustomedness/6 +accustomed/42 +accustom/17 +ac/52 +aced/6 +acerbate/17 +acerbic +acerbically +acerbity/7 +ace/7 +acetaminophen/9 +acetate/7 +acetic +acetone/7 +acetonic +acetylene/7 +Acevedo/6 +Achaean/6 +Achebe/6 +ached/14 +ache/17 +achene/7 +Achernar/6 +aches/14 +Acheson/6 +achievable/12 +achieved/13 +achieve/53 +achievement/7 +achiever/6 +Achilles +aching/19 +achoo +achromatic +achy/54 +acidic +acidification/6 +acidify/55 +acidity/7 +acidness/6 +acidoses +acidosis/6 +acid/32 +acidulous +acing/6 +Ackerman/6 +acknowledgeable +acknowledgedly +acknowledged/12 +acknowledge/23 +acknowledger/6 +acknowledgment/48 +ACLU +Ac/6 +ACM +acme/7 +acne/56 +acolyte/7 +Aconcagua/6 +aconite/7 +acorn/7 +Acosta/6 +acoustical/19 +acoustician/6 +acoustic/9 +acoustics/6 +acquaintance/7 +acquaintanceship/9 +acquainted/12 +acquaint/36 +acquiesce/17 +acquiescence/7 +acquiescent/19 +acquirable +acquire/36 +acquirement/7 +acquisition's/14 +acquisition/7 +acquisitiveness/7 +acquisitive/28 +acquit/9 +acquittal/7 +acquittance/6 +acquitted +acquitter/6 +acquitting +acreage/7 +acre/7 +acridity/7 +acridness/7 +acrid/33 +acrimoniousness/7 +acrimonious/28 +acrimony/7 +acrobatically +acrobatic/9 +acrobatics/6 +acrobat/7 +acronym/7 +acrophobia/7 +Acropolis/6 +acropolis/7 +across +acrostic/7 +Acrux/6 +acrylate/6 +acrylic/9 +ACT +Actaeon/6 +Acta/6 +ACTH +acting/9 +actinic +actinide/7 +actinium/7 +actinometer/7 +action/57 +actions/58 +action's/58 +activate/59 +activated/12 +activation/60 +activator/7 +active/61 +actively/45 +activeness/7 +actives +activism/7 +activist/7 +activities/14 +activity/43 +Acton/6 +actor/48 +actress/7 +act's +Acts +act/62 +actuality/7 +actualization/48 +actualize/17 +actualizes/14 +actual/16 +actuarial/19 +actuary/7 +actuate/15 +actuation/6 +actuator/7 +acuity/7 +acumen/7 +acupressure/9 +acupuncture/7 +acupuncturist/9 +acuteness/7 +acute/38 +acyclic +acyclically +acyclovir/9 +AD +adage/7 +adagio/9 +Adah/6 +Adair/6 +Adaline/6 +Ada/6 +adamant/16 +Adamo/6 +Adam/7 +Adamson/6 +Adana/6 +Adan/6 +adaptability/7 +adaptable/12 +adaptation/7 +adaptedness/6 +adapted/42 +adapter/6 +adapting/14 +adaption +adaptively +adaptiveness/6 +adaptive/12 +adaptivity +adapt/39 +Adara/6 +ad/63 +ADC +Adda/6 +Addams +addenda +addend/7 +addendum/6 +adder/6 +Addia/6 +addiction/7 +addictive/42 +addict/64 +Addie/6 +Addi/6 +Addison/6 +additional/19 +addition/7 +additive/65 +additivity +addle/17 +addressability +addressable/12 +addressed/14 +addressee/7 +addresser/6 +addresses/14 +address/66 +Addressograph/6 +adduce/31 +adducer/6 +adduct/64 +adduction/6 +adductor/6 +Addy/6 +add/67 +Adelaida/6 +Adelaide/6 +Adela/6 +Adelbert/6 +Adele/6 +Adelheid/6 +Adelice/6 +Adelina/6 +Adelind/6 +Adeline/6 +Adella/6 +Adelle/6 +Adel/6 +Ade/6 +Adena/6 +Adenauer/6 +adenine/7 +Aden/6 +adenoidal +adenoid/9 +adeptness/7 +adept/38 +adequacy/43 +adequate/68 +adequateness's/45 +adequateness/7 +Adey/6 +Adham/6 +Adhara/6 +adherence/7 +adherent/65 +adherer/6 +adhere/23 +adhesion/7 +adhesiveness/7 +adhesive/32 +adiabatic +adiabatically +Adiana/6 +Adidas/6 +adieu/9 +Adi/6 +Adina/6 +adiós +adipose/9 +Adirondack/7 +adj +adjacency/7 +adjacent/19 +adjectival/19 +adjective/65 +adjoin/17 +adjoint/6 +adjourn/11 +adjournment/7 +adjudge/17 +adjudicate/24 +adjudication/6 +adjudicator/7 +adjudicatory +adjunct/69 +adjuration/7 +adjure/17 +adjustable/12 +adjustably +adjust/70 +adjusted/12 +adjuster's/14 +adjuster/7 +adjustive +adjustment/48 +adjustor's +adjutant/7 +Adkins/6 +Adlai/6 +Adler/6 +adman/6 +admen +administer/71 +administrable +administrate/24 +administration/6 +administrative/19 +administrator/7 +administratrix/6 +admirableness/6 +admirable/42 +admirably +admiral/7 +admiralty/7 +Admiralty/9 +admiration/7 +admirer/6 +admire/67 +admiring/19 +admissibility/43 +admissible/45 +admissibly +admission/48 +admit/63 +admittance/7 +admitted/14 +admittedly +admitting/14 +admix/17 +admixture/7 +Adm/6 +Ad/72 +admonisher/6 +admonish/8 +admonishing/19 +admonishment/7 +admonition/7 +admonitory +adobe/7 +adolescence/7 +adolescent/65 +Adolf/6 +Adolfo/6 +Adolphe/6 +Adolph/6 +Adolpho/6 +Adolphus/6 +Ado/6 +ado/7 +Adonis/7 +adopted/13 +adopter/6 +adoption/7 +adoptive/19 +adopt/39 +adopts/14 +adorableness/7 +adorable/42 +adorably +Adora/6 +adoration/7 +adore/67 +Adoree/6 +Adore/6 +adorer/6 +adoring/19 +adorned/12 +Adorne/6 +adornment/7 +adorn/11 +ADP +Adrea/6 +adrenalin +adrenaline/7 +Adrenalin/7 +adrenal/16 +Adria/73 +Adriana/6 +Adriane/6 +Adrian/6 +Adrianna/6 +Adrianne/6 +Adriano/6 +Adriatic +Adriena/6 +Adrien/6 +Adrienne/6 +adrift +adroitness/7 +adroit/33 +ads +ad's +adsorbate/6 +adsorbent/9 +adsorb/17 +adsorption/7 +adsorptive/19 +adulate/15 +adulation/6 +adulator/7 +adulatory +adulterant/7 +adulterated/12 +adulterate/15 +adulteration/6 +adulterer/7 +adulteress/7 +adulterous/19 +adultery/7 +adulthood/7 +adult/32 +adultness/6 +adumbrate/24 +adumbration/6 +adumbrative/19 +adv +advance/27 +advancement/7 +advancer/6 +advantage/74 +advantageous/75 +advantageousness/6 +Adventist/6 +adventist/9 +adventitiousness/6 +adventitious/28 +adventive/19 +Advent/7 +advent/76 +adventurer/6 +adventuresome +adventure/49 +adventuress/7 +adventurousness/7 +adventurous/28 +adverbial/65 +adverb/7 +adversarial +adversary/7 +adverse/77 +adverseness/7 +adversity/7 +advert/17 +advertised/12 +advertise/78 +advertisement/7 +advertiser/6 +advertising/6 +advertorial/9 +advice/7 +Advil/6 +advisability/43 +advisable/45 +advisableness/6 +advisably +advisedly/45 +advised/10 +advisee/7 +advisement/7 +adviser/6 +advise/53 +advisor/9 +advisor's +advisory/9 +advocacy/7 +advocate/79 +advocation/6 +advt +adze's +adz/26 +Aegean +aegis/7 +Aelfric/6 +Aeneas +Aeneid/6 +aeolian +Aeolus/6 +aeon's +aerate/15 +aeration/6 +aerator/7 +aerialist/7 +aerial/65 +Aeriela/6 +Aeriell/6 +Aeriel/6 +aerie/80 +aeroacoustic +aerobatic/9 +aerobically +aerobic/9 +aerodrome/7 +aerodynamically +aerodynamic/9 +aerodynamics/6 +aeronautical/19 +aeronautic/9 +aeronautics/6 +aerosolize/81 +aerosol/7 +aerospace/7 +Aeschylus/6 +Aesculapius/6 +Aesop/6 +aesthete/9 +aesthetically +aestheticism/7 +aesthetics/6 +aesthetic/12 +aether/6 +aetiology/6 +AF +AFAIK +afar/9 +AFB +AFC +AFDC +affability/7 +affable/54 +affably +affair/7 +affectation/7 +affectedness/82 +affected/83 +affect/84 +affecter/6 +affecting/19 +affectionate/10 +affectioned +affection/85 +affectioning +affective/86 +afferent/16 +affiance/17 +affidavit/7 +affiliated/12 +affiliate/87 +affiliation/82 +affine +affinity/7 +affirm/36 +affirmation/48 +affirmative/16 +affix/17 +afflatus/7 +afflict/64 +affliction/7 +afflictive/19 +affluence/7 +affluent/16 +afford/88 +afforest/14 +afforestation/7 +afforested +afforesting +afforests +affray/26 +affricate/89 +affrication/6 +affricative/6 +affright +affront/26 +Afghani/7 +Afghanistan/6 +afghan/7 +Afghan/7 +aficionado/7 +afield +afire +aflame +afloat +aflutter +afoot +afore +aforementioned +aforesaid +aforethought/9 +afoul +Afr +afraid/12 +afresh +Africa/6 +African/7 +Afrikaans/6 +Afrikaner/7 +afro +Afrocentric +Afrocentrism/9 +Afro/7 +afterbirth/6 +afterbirths +afterburner/7 +aftercare/7 +aftereffect/7 +afterglow/7 +afterimage/7 +afterlife/6 +afterlives +aftermath/6 +aftermaths +aftermost +afternoon/7 +aftershave/9 +aftershock/7 +afters/6 +aftertaste/7 +afterthought/7 +afterward/9 +afterworld/7 +Afton/6 +aft/90 +Agace/6 +again +against +Agamemnon/6 +agapae +agape/9 +agar/7 +Agassiz/6 +Agata/6 +agate/7 +Agatha/6 +Agathe/6 +agave/7 +agedness/6 +aged/28 +age/91 +ageism/9 +ageist/9 +agelessness/7 +ageless/28 +agency/7 +agenda/7 +agent/48 +agented +agenting +agentive +ageratum/6 +Aggie/6 +Aggi/6 +agglomerate/24 +agglomeration/6 +agglutinate/24 +agglutination/6 +agglutinin/7 +aggrandize/11 +aggrandizement/7 +aggravate/15 +aggravating/19 +aggravation/6 +aggregated/12 +aggregate/92 +aggregately +aggregateness/6 +aggregates +aggregation/7 +aggregative/19 +aggression/7 +aggressively +aggressiveness/9 +aggressive/12 +aggressor/7 +aggrieved/19 +aggrieve/17 +Aggy/7 +aghast +agile/93 +agility/7 +agitated/19 +agitate/24 +agitation/6 +agitator/7 +agitprop/7 +Aglaia/6 +agleam +aglitter +aglow +Ag/6 +Agna/6 +Agnella/6 +Agnese/6 +Agnes/6 +Agnesse/6 +Agneta/6 +Agnew/6 +Agni/6 +Agnola/6 +agnosticism/7 +agnostic/7 +ago +agog +agonizedly/9 +agonized/19 +agonize/23 +agonizing/19 +agony/7 +agoraphobia/7 +agoraphobic/9 +Agosto/6 +Agra/6 +agrarianism/7 +agrarian/9 +agreeable/94 +agreeableness/85 +agreeably/25 +agreeing/25 +agree/95 +agreement/85 +agreer/9 +Agretha/6 +agribusiness/7 +Agricola/6 +agriculturalist/9 +agricultural/19 +agriculture/7 +agriculturist/7 +Agrippa/6 +Agrippina/6 +agrochemicals +agronomic/9 +agronomist/7 +agronomy/7 +aground +Aguascalientes/6 +ague/7 +Aguie/6 +Aguilar/6 +Aguinaldo/6 +Aguirre/6 +Aguistin/6 +Aguste/6 +Agustin/6 +ah +Ahab/6 +Aharon/6 +aha/9 +ahead +ahem/9 +Ahmadabad +Ahmad/6 +Ahmed/6 +ahoy/9 +Ahriman/6 +AI +Aida/6 +Aidan/6 +aided/12 +aide/7 +aider/6 +AIDS +aid/23 +Aigneis/6 +aigrette/7 +Aiken/6 +Aila/6 +Ailbert/6 +Ailee/6 +Aileen/6 +Aile/6 +Ailene/6 +aileron/7 +Ailey/6 +Ailina/6 +Aili/7 +ail/11 +ailment/7 +Ailsun/6 +Ailyn/6 +Aimee/6 +Aime/6 +aimer/6 +Aimil/6 +aimlessness/7 +aimless/28 +aim/23 +Aindrea/6 +Ainslee/6 +Ainsley/6 +Ainslie/6 +ain't +Ainu/6 +airbag/7 +airbase/9 +airborne +airbrush/26 +Airbus/6 +airbus/7 +aircraft/7 +aircrew/6 +airdrop/7 +airdropped +airdropping +Airedale/7 +Aires +airfare/9 +airfield/7 +airflow/7 +airfoil/7 +airframe/7 +airfreight/17 +airhead/7 +airily +airiness/7 +airing/6 +airlessness/9 +airless/42 +airlift/26 +airliner/6 +airline/96 +airlock/7 +airmail/17 +airman/6 +airmass +air/97 +airmen +airpark +airplane/7 +airplay/9 +airport/7 +airship/7 +airsickness/7 +airsick/42 +airspace/7 +airspeed/7 +airstrip/7 +airtightness/6 +airtight/42 +airtime +airwaves +airway/7 +airworthiness/7 +airworthy/98 +airy/98 +Aisha/6 +aisle/26 +aitch/7 +ajar +Ajax/6 +Ajay/6 +AK +aka +Akbar/6 +Akihito/6 +akimbo +Akim/6 +akin +Akita/6 +Akkad/6 +Akron/6 +Aksel/6 +AL +Alabama/6 +Alabaman/9 +Alabamian/7 +alabaster/7 +alack/9 +alacrity/7 +Aladdin/6 +Alaine/6 +Alain/6 +Alair/6 +Alameda/6 +Alamogordo/6 +Alamo/7 +ala/7 +Ala/7 +Alanah/6 +Alana/6 +Aland/6 +Alane/6 +alanine/6 +Alan/6 +Alanna/6 +Alano/6 +Alanson/6 +Alard/6 +Alaric/6 +Alar/6 +alarming/19 +alarmist/7 +alarm/17 +Alasdair/6 +Alaska/6 +Alaskan/9 +alas/9 +Alastair/6 +Alasteir/6 +Alaster/6 +Alayne/6 +albacore/7 +alba/6 +Alba/6 +Albania/6 +Albanian/7 +Albany/6 +albatross/7 +albedo/6 +Albee/6 +albeit +Alberich/6 +Alberik/6 +Alberio/6 +Alberta/6 +Albertan/9 +Albertina/6 +Albertine/6 +Albert/6 +Alberto/6 +Albie/6 +Albigensian +Albina/6 +albinism/7 +albino/7 +Albion/6 +Albireo/6 +alb/7 +Albrecht/6 +albumen/6 +albumin/7 +albuminous +album/99 +Albuquerque/6 +Alcatraz/6 +Alcestis/6 +alchemical +alchemist/7 +alchemy/7 +Alcibiades/6 +Alcmena/6 +Alcoa/6 +alcoholically +alcoholic/7 +alcoholism/7 +alcohol/7 +Alcott/6 +alcove/56 +Alcuin/6 +Alcyone/6 +Aldan/6 +Aldebaran/6 +aldehyde/6 +Alden/6 +Alderamin/6 +alderman/6 +aldermen +alder/7 +alderwoman +alderwomen +Aldin/6 +Aldis/6 +Aldo/6 +Aldon/6 +Aldous/6 +Aldrich/6 +Aldric/6 +Aldridge/6 +Aldrin/6 +Aldus/6 +Aldwin/6 +aleatory +Alecia/6 +Aleck/6 +Alec/6 +Aleda/6 +alee +Aleece/6 +Aleen/6 +alehouse/7 +Aleichem/6 +Alejandra/6 +Alejandrina/6 +Alejandro/6 +Alejoa/6 +Aleksandr/6 +Alembert/6 +alembic/7 +ale/76 +Alena/6 +Alene/6 +aleph/6 +Aleppo/6 +Aler/6 +alerted/19 +alertness/7 +alert/100 +Alessandra/6 +Alessandro/6 +Aleta/6 +Alethea/6 +Aleutian/9 +Aleut/7 +alewife/6 +alewives +Alexa/6 +Alexander/7 +Alexandra/6 +Alexandre/6 +Alexandria/6 +Alexandrian/9 +Alexandrina/6 +Alexandr/6 +Alexandro/7 +Alexei/6 +Alexia/6 +Alexina/6 +Alexine/6 +Alexio/6 +Alexi/7 +Alex/6 +alfalfa/7 +Alfa/6 +Alfie/6 +Alfi/6 +Alf/6 +Alfonse/6 +Alfons/6 +Alfonso/6 +Alfonzo/6 +Alford/6 +Alfreda/6 +Alfred/6 +Alfredo/6 +alfresco +Alfy/6 +algae +algaecide +algal +alga/6 +algebraic +algebraical/19 +algebraist/6 +algebra/7 +Algenib/6 +Algeria/6 +Algerian/7 +Alger/6 +Algernon/6 +Algieba/6 +Algiers/6 +alginate/7 +ALGOL +Algol/6 +Algonquian/7 +Algonquin/7 +algorithmic +algorithmically +algorithm/7 +Alhambra/6 +Alhena/6 +Alia/6 +alias/17 +alibi/26 +Alica/6 +Alicea/6 +Alice/6 +Alicia/6 +Alick/6 +Alic/6 +Alida/6 +Alidia/6 +Alie/6 +alienable/44 +alienate/15 +alienation/6 +alienist/7 +alien/101 +Alighieri/6 +alight/17 +aligned/12 +aligner/7 +align/102 +alignment/48 +Alika/6 +Alikee/6 +alikeness/6 +alike/12 +alimentary +aliment/26 +alimony/7 +Ali/7 +Alina/6 +Aline/6 +alinement's +Alioth/6 +aliquot/9 +Alisa/6 +Alisander/6 +Alisha/6 +Alison/6 +Alissa/6 +Alistair/6 +Alister/6 +Alisun/6 +aliveness/7 +alive/42 +Alix/6 +aliyah/6 +aliyahs +Aliza/6 +Alkaid/6 +alkalies +alkali/6 +alkaline +alkalinity/7 +alkalize/17 +alkaloid/7 +alkyd/9 +alkyl/6 +Allahabad/6 +Allah/6 +Alla/6 +Allan/6 +Allard/6 +allay/17 +Allayne/6 +Alleen/6 +allegation/7 +alleged/19 +allege/17 +Allegheny/7 +allegiance/7 +allegiant +allegoric +allegoricalness/6 +allegorical/28 +allegorist/7 +allegory/7 +Allegra/6 +allegretto/7 +allegri +allegro/7 +allele/7 +alleluia/9 +allemande/6 +Allendale/6 +Allende/6 +Allene/6 +Allen/6 +Allentown/6 +allergenic +allergen/7 +allergic +allergically +allergist/7 +allergy/7 +alleviate/24 +alleviation/6 +alleviator/7 +Alley/6 +alley/7 +Alleyn/6 +alleyway/7 +Allhallows +alliance/7 +Allianora/6 +Allie/6 +allier +allies/6 +alligator/26 +Alli/7 +Allina/6 +Allin/6 +Allison/6 +Allissa/6 +Allister/6 +Allistir/6 +alliterate/24 +alliteration/6 +alliterative/19 +Allix/6 +allocable/12 +allocatable +allocate/103 +allocated/12 +allocation/104 +allocative +allocator/48 +allophone/7 +allophonic +allotment/7 +allotments/14 +allotrope/6 +allotropic +allots/14 +allot/105 +allotted/14 +allotter/6 +allotting/14 +allover/9 +allowableness/6 +allowable/42 +allowably +allowance/26 +allowed/19 +allowing/25 +allow/88 +allows/25 +alloyed/12 +alloy/26 +all/9 +allspice/7 +Allstate/6 +Allsun/6 +allude/17 +allure/11 +allurement/7 +alluring/19 +allusion/7 +allusiveness/7 +allusive/28 +alluvial/9 +alluvions +alluvium/7 +Allx/6 +ally/36 +Allyce/6 +Ally/7 +Allyn/6 +Allys +Allyson/6 +alma +Almach/6 +Almaden/6 +almagest +Alma/6 +almanac/7 +Almaty/6 +Almeda/6 +Almeria/6 +Almeta/6 +almightiness/6 +Almighty/6 +almighty/42 +Almira/6 +Almire/6 +almond/7 +almoner/7 +almost +Al/106 +alms/14 +almshouse/7 +almsman/6 +alnico +Alnilam/6 +Alnitak/6 +aloe/7 +aloft +aloha/7 +Aloin/6 +Aloise/6 +Aloisia/6 +aloneness/6 +alone/42 +along +alongshore +alongside +Alon/6 +Alonso/6 +Alonzo/6 +aloofness/7 +aloof/28 +aloud +Aloysia/6 +Aloysius/6 +alpaca/7 +Alpert/6 +alphabetical/19 +alphabetic/9 +alphabetization/7 +alphabetizer/6 +alphabetize/23 +alphabet/26 +alpha/7 +alphanumerical/19 +alphanumeric/9 +Alphard/6 +Alphecca/6 +Alpheratz/6 +Alphonse/6 +Alphonso/6 +Alpine +alpine/9 +alp/7 +Alps +already +Alric/6 +alright +Alsace/6 +Alsatian/7 +also +Alsop/6 +Alston/6 +Altaic/6 +Altai/6 +Altair/6 +Alta/6 +altar/7 +altarpiece/7 +alterable/44 +alteration/7 +altercate/107 +altercation/6 +altered/12 +alternate/108 +alternation/6 +alternativeness/6 +alternative/32 +alternator/7 +alter/109 +Althea/6 +although +altimeter/7 +Altiplano/6 +altitude/7 +altogether/9 +Alton/6 +alto/7 +Altos/6 +altruism/7 +altruistic +altruistically +altruist/7 +alt/110 +ALU +Aludra/6 +Aluin/6 +Aluino/6 +alumina/7 +aluminum/7 +alumnae +alumna/6 +alumni +alumnus/7 +alum/7 +alundum +Alva/6 +Alvan/6 +Alvarado/6 +Alvarez/6 +Alvaro/6 +alveolar/19 +alveoli +alveolus/6 +Alvera/6 +Alverta/6 +Alvie/6 +Alvina/6 +Alvinia/6 +Alvin/6 +Alvira/6 +Alvis/6 +Alvy/6 +alway/9 +Alwin/6 +Alwyn/6 +Alyce/6 +Alyda/6 +Alyosha/6 +Alysa/6 +Alyse/6 +Alysia/6 +Alys/6 +Alyson/6 +Alyss +Alyssa/6 +Alzheimer/6 +AM +AMA +Amabelle/6 +Amabel/6 +Amadeus/6 +Amado/6 +amain +Amalea/6 +Amalee/6 +Amaleta/6 +amalgamate/24 +amalgamation/6 +amalgam/7 +Amalia/6 +Amalie/6 +Amalita/6 +Amalle/6 +Amanda/6 +Amandie/6 +Amandi/6 +Amandy/6 +amanuenses +amanuensis/6 +Amara/6 +amaranth/6 +amaranths +amaretto/9 +Amargo/6 +Amarillo/6 +amaryllis/7 +am/63 +amasser/6 +amass/31 +Amata/6 +amateurishness/7 +amateurish/28 +amateurism/7 +amateur/7 +Amati/6 +amatory +amazed/19 +amaze/27 +amazement/7 +amazing/19 +amazonian +Amazonian +amazon/7 +Amazon/7 +ambassadorial +ambassador/7 +ambassadorship/7 +ambassadress/7 +ambergris/7 +Amberly/6 +amber/7 +Amber/86 +ambiance/7 +ambidexterity/7 +ambidextrous/19 +ambience's +ambient/9 +ambiguity/7 +ambiguously/12 +ambiguousness/6 +ambiguous/28 +ambition/26 +ambitiousness/7 +ambitious/28 +ambit/6 +ambivalence/7 +ambivalent/19 +amble/23 +Amble/6 +ambler/6 +ambrose +Ambrose/6 +ambrosial/19 +ambrosia/7 +Ambrosi/6 +Ambrosio/6 +Ambrosius/6 +Ambros/6 +ambulance/7 +ambulant/9 +ambulate/15 +ambulation/6 +ambulatory/9 +Ambur/6 +ambuscade/111 +ambuscader/6 +ambusher/6 +ambush/49 +Amby/6 +Amdahl/6 +ameba's +Amelia/6 +Amelie/6 +Amelina/6 +Ameline/6 +ameliorate/24 +amelioration/6 +Amelita/6 +amenability/7 +amenably +amended/12 +amender/6 +amendment/7 +amen/112 +amend/113 +amends/6 +Amenhotep/6 +amenity/7 +amenorrhea/6 +Amerada/6 +Amerasian/9 +amercement/7 +amerce/11 +Americana/6 +Americanism/7 +Americanization/7 +americanized +Americanize/17 +American/7 +America/7 +americium/7 +Amerigo/6 +Amerindian/7 +Amerind/7 +Amer/6 +Amery/6 +Ameslan/6 +Ame/7 +amethystine +amethyst/7 +Amharic/6 +Amherst/6 +amiability/7 +amiableness/6 +amiable/98 +amiably +amicability/7 +amicableness/6 +amicable/42 +amicably +amide/7 +amid/9 +amidships +amidst +Amie/6 +Amiga/6 +amigo/7 +Amii/6 +Amil/6 +Ami/6 +amines +aminobenzoic +amino/6 +amir's +Amish +amiss +Amitie/6 +Amity/6 +amity/7 +Ammamaria/6 +Amman/6 +Ammerman/6 +ammeter/7 +ammo/7 +ammoniac +ammonia/7 +ammonium/6 +Am/114 +ammunition/7 +amnesiac/7 +amnesia/7 +amnesic/9 +amnesty/26 +amniocenteses +amniocentesis/6 +amnion/7 +amniotic +Amoco/6 +amoeba/7 +amoebic +amoeboid +amok/7 +among +amongst +Amontillado/6 +amontillado/7 +amorality/7 +amoral/19 +amorousness/7 +amorous/28 +amorphousness/7 +amorphous/28 +amortization/41 +amortized/12 +amortize/17 +Amory/6 +Amos +amount/49 +amour/7 +Amparo/6 +amperage/7 +Ampere/6 +ampere/7 +ampersand/7 +Ampex/6 +amphetamine/7 +amphibian/7 +amphibiousness/6 +amphibious/28 +amphibology/6 +amphitheater/7 +amphorae +amphora/6 +ampleness/6 +ample/98 +amplification/6 +amplifier/6 +amplify/115 +amplitude/7 +ampoule's +amp/116 +ampule/7 +amputate/15 +amputation/6 +amputee/7 +Amritsar/6 +ams +Amsterdam/6 +amt +Amtrak/6 +amuck's +amulet/7 +Amundsen/6 +Amur/6 +amused/19 +amuse/117 +amusement/7 +amuser/6 +amusingness/6 +amusing/28 +Amway/6 +Amye/6 +amylase/7 +amyl/6 +Amy/6 +Anabal/6 +Anabaptist/7 +Anabella/6 +Anabelle/6 +Anabel/6 +anabolic +anabolism/7 +anachronism/7 +anachronistic +anachronistically +Anacin/6 +anaconda/7 +Anacreon/6 +anaerobe/7 +anaerobic +anaerobically +anaglyph/6 +anagrammatic +anagrammatically +anagrammed +anagramming +anagram/7 +Anaheim/6 +Analects/6 +analgesia/7 +analgesic/9 +Analiese/6 +Analise/6 +Anallese/6 +Anallise/6 +analogical/19 +analogize/17 +analogousness/7 +analogous/28 +analog/7 +analogue/7 +analogy/7 +anal/19 +analysand/7 +analyses +analysis/118 +analyst/7 +analytical/19 +analyticity/9 +analytic/9 +analytics/6 +analyzable/12 +analyze/119 +analyzed/12 +analyzer/6 +Ana/6 +anamorphic +Ananias/6 +anapaest's +anapestic/9 +anapest/7 +anaphora/6 +anaphoric +anaphorically +anaplasmosis/6 +anarchic +anarchical/19 +anarchism/7 +anarchistic +anarchist/7 +anarchy/7 +Anastasia/6 +Anastasie/6 +Anastassia/6 +anastigmatic +anastomoses +anastomosis/6 +anastomotic +anathema/7 +anathematize/17 +Anatola/6 +Anatole/6 +Anatolia/6 +Anatolian +Anatollo/6 +Anatol/6 +anatomic +anatomical/16 +anatomist/7 +anatomize/17 +anatomy/7 +Anaxagoras/6 +Ancell/6 +ancestor/26 +ancestral/19 +ancestress/7 +ancestry/7 +Anchorage/6 +anchorage/7 +anchored/12 +anchorite/7 +anchoritism/6 +anchorman/6 +anchormen +anchorpeople +anchorperson/9 +anchor/26 +anchorwoman +anchorwomen +anchovy/7 +ancientness/7 +ancient/38 +ancillary/9 +an/120 +Andalusia/6 +Andalusian +Andaman +andante/9 +and/121 +Andean/6 +Andeee/6 +Andee/6 +Anderea/6 +Andersen/6 +Anders/122 +Anderson/6 +Andes +Andie/6 +Andi/6 +andiron/7 +Andonis/6 +Andorra/6 +Andover/6 +Andra/7 +Andrea/7 +Andreana/6 +Andree/6 +Andrei/6 +Andrej/6 +Andre/7 +Andrew/7 +Andrey/6 +Andria/6 +Andriana/6 +Andriette/6 +Andris +androgenic +androgen/7 +androgynous +androgyny/7 +android/7 +Andromache/6 +Andromeda/6 +Andropov/6 +Andros/6 +Andrus/6 +Andy/6 +anecdotal/19 +anecdote/7 +anechoic +anemia/7 +anemically +anemic/9 +anemometer/7 +anemometry/6 +anemone/7 +anent +aneroid +Anestassia/6 +anesthesia/7 +anesthesiologist/7 +anesthesiology/7 +anesthetically +anesthetic/7 +anesthetist/7 +anesthetization/7 +anesthetizer/6 +anesthetize/23 +Anet/6 +Anetta/6 +Anette/6 +Anett/6 +aneurysm/7 +anew +Angara/6 +Angela/6 +Angeleno/7 +Angele/7 +angelfish/7 +Angelia/6 +angelic +angelical/19 +Angelica/6 +angelica/7 +Angelico/6 +Angelika/6 +Angeli/6 +Angelina/6 +Angeline/6 +Angelique/6 +Angelita/6 +Angelle/6 +Angel/6 +angel/26 +Angelo/6 +Angelou/6 +Ange/6 +anger/26 +Angevin/6 +Angie/6 +Angil/6 +angina/7 +angiography +angioplasty/9 +angiosperm/7 +Angkor/6 +angle/91 +angler/6 +Angles +angleworm/7 +Anglia/6 +Anglicanism/7 +Anglican/7 +Anglicism/7 +Anglicization/7 +anglicize/17 +Anglicize/17 +angling/6 +Anglo/7 +Anglophile/7 +Anglophilia/6 +Anglophobe/7 +Anglophobia/6 +Angola/6 +Angolan/9 +angora/7 +Angora/7 +angrily +angriness/6 +angry/98 +angst/7 +Ĺngström/6 +angstrom/7 +Anguilla/6 +anguish/26 +angularity/7 +angular/19 +Angus/6 +Angy/6 +Anheuser/6 +anhydride/6 +anhydrite/6 +anhydrous/19 +Aniakchak/6 +Ania/6 +Anibal/6 +Anica/6 +aniline/7 +animadversion/7 +animadvert/17 +animalcule/7 +animal/32 +animated/14 +animatedly +animately/45 +animateness/123 +animates/14 +animate/124 +animating/14 +animation/48 +animator/7 +animism/7 +animistic +animist/9 +animized +animosity/7 +animus/7 +anionic/9 +anion/7 +aniseed/7 +aniseikonic +anise/7 +anisette/7 +anisotropic +anisotropy/7 +Anissa/6 +Anita/6 +Anitra/6 +Anjanette/6 +Anjela/6 +Ankara/6 +ankh/6 +ankhs +anklebone/7 +ankle/26 +anklet/7 +Annabal/6 +Annabela/6 +Annabella/6 +Annabelle/6 +Annabell/6 +Annabel/6 +Annadiana/6 +Annadiane/6 +Annalee/6 +Annaliese/6 +Annalise/6 +annalist/7 +annal/125 +Anna/6 +Annamaria/6 +Annamarie/6 +Annapolis/6 +Annapurna/6 +anneal/23 +annealer/6 +Annecorinne/6 +annelid/7 +Anneliese/6 +Annelise/6 +Anne/6 +Annemarie/6 +Annetta/6 +Annette/6 +annexation/7 +annexe/6 +annex/17 +Annice/6 +Annie/6 +annihilate/24 +annihilation/6 +annihilator/7 +Anni/7 +Annissa/6 +anniversary/7 +Ann/6 +Annmaria/6 +Annmarie/6 +Annnora/6 +Annora/6 +annotated/12 +annotate/24 +annotation/6 +annotator/7 +announced/12 +announcement/7 +announcer/6 +announce/27 +annoyance/7 +annoyer/6 +annoying/19 +annoy/23 +annualized +annual/16 +annuitant/7 +annuity/7 +annular/16 +annuli +annulled +annulling +annulment/7 +annul/40 +annulus/6 +annum +annunciate/15 +annunciation/6 +Annunciation/9 +annunciator/7 +Anny/6 +anode/7 +anodic +anodize/17 +anodyne/7 +anoint/8 +anointer/6 +anointment/7 +anomalousness/6 +anomalous/28 +anomaly/7 +anomic +anomie/6 +anon/9 +anonymity/7 +anonymousness/6 +anonymous/28 +anopheles/6 +anorak/7 +anorectic/9 +anorexia/7 +anorexic/9 +another/6 +Anouilh/6 +Ansell/6 +Ansel/6 +Anselma/6 +Anselm/6 +Anselmo/6 +Anshan/6 +ANSI/6 +Ansley/6 +ans/6 +Anson/6 +Anstice/6 +answerable/12 +answered/12 +answerer/6 +answer/66 +antacid/7 +Antaeus/6 +antagonism/7 +antagonistic +antagonistically +antagonist/7 +antagonized/12 +antagonize/23 +antagonizing/12 +Antananarivo/6 +antarctic +Antarctica/6 +Antarctic/6 +Antares +anteater/7 +antebellum +antecedence/7 +antecedent/65 +antechamber/7 +antedate/17 +antediluvian/9 +anteing +antelope/7 +ante/7 +antenatal +antennae +antenna/7 +anterior/16 +anteroom/7 +ant/26 +Anthea/6 +Anthe/6 +anthem/26 +anther/7 +Anthia/6 +Anthiathia/6 +anthill/9 +anthologist/7 +anthologize/17 +anthology/7 +Anthony/6 +anthraces +anthracite/7 +anthrax/6 +anthropic +anthropocentric +anthropogenic +anthropoid/9 +anthropological/19 +anthropologist/7 +anthropology/7 +anthropometric/9 +anthropometry/6 +anthropomorphic +anthropomorphically +anthropomorphism/7 +anthropomorphizing +anthropomorphous +antiabortion +antiabortionist/9 +antiaircraft +antibacterial/9 +antibiotic/7 +antibody/7 +anticancer +Antichrist/7 +anticipated/12 +anticipate/24 +anticipation/6 +anticipative/19 +anticipatory +anticked +anticking +anticlerical/9 +anticlimactic +anticlimactically +anticlimax/7 +anticline/7 +anticlockwise +antic/7 +anticoagulant/9 +anticoagulation/6 +anticommunism/7 +anticommunist/7 +anticompetitive +anticyclone/7 +anticyclonic +antidemocratic +antidepressant/7 +antidisestablishmentarianism/6 +antidote/26 +Antietam/6 +antifascist/7 +antiformant +antifreeze/7 +antifundamentalist/6 +antigenic +antigenicity/7 +antigen/7 +antigone +Antigone/6 +Antigua/6 +antiheroes +antihero/6 +antihistamine/7 +antihistorical +antiknock/7 +antilabor +Antillean +Antilles +antilogarithm/7 +antilogs +antimacassar/7 +antimalarial/9 +antimatter/7 +antimicrobial/9 +antimissile/9 +antimony/7 +anting/6 +Antin/6 +antinomian +antinomy/6 +antinuclear +Antioch/6 +antioxidant/7 +antiparticle/7 +Antipas/6 +antipasti +antipasto/7 +antipathetic +antipathy/7 +antipersonnel +antiperspirant/7 +antiphonal/16 +antiphon/7 +antipodal/9 +antipodean/9 +antipode/7 +Antipodes +antipollution/9 +antipoverty +antiquarianism/7 +antiquarian/7 +antiquary/7 +antiquate/55 +antiquation/6 +antique/26 +antiquity/7 +antiredeposition +antiresonance/6 +antiresonator +anti/9 +antisemitic +antisemitism/6 +antisepses +antisepsis/6 +antiseptically +antiseptic/9 +antiserum/7 +antislavery/9 +antisocial/19 +antispasmodic/9 +antisubmarine +antisymmetric +antisymmetry +antitank +antitheses +antithesis/6 +antithetic +antithetical/19 +antithyroid +antitoxin/7 +antitrust/114 +antivenin/7 +antiviral/9 +antivivisectionist/9 +antiwar +antler/56 +Antofagasta/6 +Antoine/6 +Antoinette/6 +Antonella/6 +Antone/6 +Antonetta/6 +Antonia/6 +Antonie/6 +Antonietta/6 +Antoni/6 +Antonina/6 +Antonin/6 +Antonino/6 +Antoninus/6 +Antonio/6 +Antonius/6 +Anton/7 +Antonovics/6 +Antony/6 +antonymous +antonym/7 +antral +antsy/54 +Antwan/6 +Antwerp/6 +Anubis/6 +anus/7 +anvil/26 +anxiety/7 +anxiousness/7 +anxious/28 +any +Anya/6 +anybody/9 +anyhow +Any/6 +anymore +anyone/7 +anyplace +anything/9 +anytime +anyway/9 +anywhere/9 +anywise +AOL/6 +aorta/7 +aortic +AP +apace +apache/7 +Apache/7 +Apalachicola/6 +apartheid/7 +apart/126 +apartment/7 +apartness/6 +apathetic +apathetically +apathy/7 +apatite/7 +APB +aped/14 +apelike +ape/111 +Apennines +aper/14 +aperiodic +aperiodically +aperiodicity/6 +aperitif/9 +aperture/56 +apex/7 +aphasia/7 +aphasic/9 +aphelia +aphelion/7 +aphid/7 +aphonic +aphorism/7 +aphoristic +aphoristically +aphrodisiac/7 +Aphrodite/6 +Apia/6 +apiarist/7 +apiary/7 +apical/16 +apices's +apiece +apishness/6 +apish/28 +aplenty +aplomb/7 +APO +Apocalypse/6 +apocalypse/7 +apocalyptic +apocryphalness/6 +apocryphal/28 +apocrypha/6 +Apocrypha/6 +apogee/7 +apolar +apolitical/19 +Apollinaire/6 +Apollonian +Apollo/7 +apologetically/12 +apologetic/9 +apologetics/6 +apologia/7 +apologist/7 +apologize/23 +apologizer/6 +apologizes/14 +apologizing/12 +apology/7 +apoplectic +apoplexy/7 +apostasy/7 +apostate/7 +apostatize/17 +apostleship/7 +apostle/7 +apostolic +apostrophe/7 +apostrophized +apothecary/7 +apothegm/7 +apotheoses +apotheosis/6 +apotheosized +apotheosizes +apotheosizing +Appalachia/6 +Appalachian/7 +appalling/19 +appall/17 +Appaloosa/7 +appaloosa/9 +appanage/6 +apparatus/7 +apparel/26 +apparency +apparently/45 +apparentness/6 +apparent/12 +apparition/7 +appealer/6 +appealing/10 +appeal/49 +appear/127 +appearance/128 +appearer/9 +appease/27 +appeased/12 +appeasement/7 +appeaser/6 +appellant/7 +appellate/129 +appellation/6 +appellative/86 +appendage/7 +appendectomy/7 +appendices +appendicitis/7 +appendix/7 +append/23 +appertain/17 +appetite/76 +appetizer/7 +appetizing/10 +Appia/6 +Appian/6 +applauder/6 +applaud/23 +applause/7 +applecart/6 +applejack/7 +Apple/6 +apple/7 +applesauce/7 +Appleseed/6 +Appleton/6 +applet/9 +appliance/7 +applicabilities +applicability/123 +applicable/45 +applicably +applicant/7 +applicate/130 +application/118 +applicative/19 +applicator/7 +applier/7 +appliquéd +appliqué/131 +apply/132 +appointee/7 +appoint/133 +appointer/7 +appointive +appointment/128 +Appolonia/6 +Appomattox/6 +apportion/102 +apportionment/48 +appose/17 +appositeness/7 +apposite/134 +apposition/6 +appositive/16 +appraisal/48 +appraised/14 +appraisees +appraiser/6 +appraises/14 +appraise/23 +appraising/19 +appreciable/45 +appreciably/45 +appreciated/12 +appreciate/24 +appreciation/6 +appreciativeness/123 +appreciative/68 +appreciator/7 +appreciatory +apprehend/31 +apprehender/6 +apprehensible +apprehension/7 +apprehensiveness/7 +apprehensive/28 +apprentice/26 +apprenticeship/7 +apprise/17 +apprizer/7 +apprizingly +apprizings +approachability/135 +approachable/44 +approach/67 +approacher/6 +approbate/107 +approbation/85 +appropriable +appropriated/12 +appropriately/45 +appropriateness/43 +appropriate/136 +appropriation/6 +appropriator/7 +approval/85 +approve/137 +approved/12 +approver's/25 +approver/7 +approving/75 +approx +approximate/108 +approximation/6 +approximative/19 +appurtenance/7 +appurtenant/9 +APR +apricot/7 +Aprilette/6 +April/7 +Apr/6 +apron/26 +apropos +apse/7 +apsis/6 +apter +aptest +aptitude/7 +aptness/43 +aptness's/12 +apt/138 +Apuleius/6 +aquaculture/7 +aqualung/7 +aquamarine/7 +aquanaut/7 +aquaplane/26 +aquarium/7 +Aquarius/7 +aqua/7 +aquatically +aquatic/9 +aquavit/7 +aqueduct/7 +aqueous/19 +aquiculture's +aquifer/7 +Aquila/6 +aquiline +Aquinas/6 +Aquino/6 +Aquitaine/6 +AR +Arabela/6 +Arabele/6 +Arabella/6 +Arabelle/6 +Arabel/6 +arabesque/7 +Arabia/6 +Arabian/7 +Arabic/6 +arability/7 +Arabist/7 +arable/9 +Arab/7 +Araby/6 +Araceli/6 +arachnid/7 +arachnoid/6 +arachnophobia +Arafat/6 +Araguaya/6 +Araldo/6 +Aral/6 +Ara/6 +Aramaic/6 +Aramco/6 +Arapahoes +Arapahoe's +Arapaho/7 +Ararat/6 +Araucanian/6 +Arawakan/6 +Arawak/6 +arbiter/7 +arbitrage/49 +arbitrager/6 +arbitrageur/9 +arbitrament/7 +arbitrarily +arbitrariness/7 +arbitrary/42 +arbitrate/24 +arbitration/6 +arbitrator/7 +arbor/56 +arboreal/19 +arbores +arboretum/7 +arborvitae/7 +arbutus/7 +ARC +arcade/26 +Arcadia/6 +Arcadian +arcana/6 +arcane/42 +arc/26 +archaeological/19 +archaeologist/7 +archaeology/7 +archaically +archaic/42 +Archaimbaud/6 +archaism/7 +archaist/7 +archaize/23 +archaizer/6 +Archambault/6 +archangel/7 +archbishopric/7 +archbishop/7 +archdeacon/7 +archdiocesan +archdiocese/7 +archduchess/7 +archduke/7 +Archean +archenemy/7 +archeological/19 +archeologist/7 +archeology/7 +archer/6 +Archer/6 +archery/7 +archetypal +archetype/7 +archfiend/7 +archfool +Archibald/6 +Archibaldo/6 +Archibold/6 +Archie/6 +archiepiscopal +Archimedes/6 +arching/6 +archipelago/7 +architect/7 +architectonic/9 +architectonics/6 +architectural/19 +architecture/7 +architrave/7 +archival +archive/49 +archived/12 +archivist/7 +Arch/114 +archness/7 +arch/139 +archway/7 +Archy/6 +arclike +ARCO/6 +arcsine +arctangent +Arctic/6 +arctic/9 +Arcturus/6 +Ardabil +Arda/140 +Ardath/6 +Ardeen/6 +Ardelia/6 +Ardelis/6 +Ardella/6 +Ardelle/6 +ardency/6 +Ardene/6 +Ardenia/6 +Arden/6 +ardent/19 +Ardine/6 +Ardisj/6 +Ardis/6 +Ardith/6 +ardor/7 +Ardra/6 +arduousness/7 +arduous/28 +Ardyce/6 +Ardys +Ardyth/6 +areal +area/7 +areawide +are/141 +Arel/6 +arenaceous +arena/7 +aren't +Arequipa/6 +Ares +Aretha/6 +Argentina/6 +Argentinean/9 +Argentine/7 +Argentinian/9 +argent/7 +arginine/7 +Argonaut/7 +argonaut/9 +argon/7 +Argonne/6 +Argo/7 +argosy/7 +argot/7 +arguable/44 +arguably/44 +argue/23 +arguer/6 +argumentation/7 +argumentativeness/7 +argumentative/28 +argument/7 +Argus/6 +argyle/9 +Ariadne/6 +Ariana/6 +Arianism/6 +Arianist/7 +aria/7 +Aridatha/6 +aridity/7 +aridness/6 +arid/33 +Ariela/6 +Ariella/6 +Arielle/6 +Ariel/6 +Arie/7 +Aries/9 +aright +Ari/6 +Arin/6 +Ario/6 +Ariosto/6 +arise/20 +arisen +Aristarchus/6 +Aristides +aristocracy/7 +aristocratic +aristocratically +aristocrat/7 +Aristophanes/6 +Aristotelean +Aristotelian/6 +Aristotle/6 +arithmetical/19 +arithmetician/7 +arithmetic/7 +arithmetize/142 +Arius/6 +Ariz/6 +Arizona/6 +Arizonan/9 +Arizonian/9 +Arjuna/6 +Arkansan/7 +Arkansas/6 +Arkhangelsk/6 +Ark/6 +ark/7 +Arkwright/6 +Arlana/6 +Arlan/6 +Arlee/6 +Arleen/6 +Arlena/6 +Arlene/6 +Arlen/6 +Arleta/6 +Arlette/6 +Arley/6 +Arleyne/6 +Arlie/6 +Arliene/6 +Arlina/6 +Arlinda/6 +Arline/6 +Arlington/6 +Arlin/6 +Arluene/6 +Arly/6 +Arlyne/6 +Arlyn/6 +Armada/6 +armada/7 +armadillo/7 +Armageddon/7 +Armagnac/6 +armament/143 +armament's/25 +Armand/6 +Armando/6 +Arman/6 +arm/127 +Armata/6 +armature/26 +armband/7 +armchair/7 +Armco/6 +armed/12 +Armenia/6 +Armenian/7 +armer/85 +armful/7 +armhole/7 +arming/6 +Arminius/6 +Armin/6 +armistice/7 +armless +armlet/7 +armload/6 +Armonk/6 +armored/12 +armorer/6 +armorial/9 +armory/56 +armor/49 +Armour/6 +armpit/7 +armrest/7 +arm's +Armstrong/6 +Ar/86 +army/7 +Arnaldo/6 +Arneb/6 +Arne/6 +Arney/6 +Arnhem/6 +Arnie/6 +Arni/6 +Arnold/6 +Arnoldo/6 +Arno/6 +Arnuad/6 +Arnulfo/6 +Arny/6 +aroma/7 +aromatherapist/9 +aromatherapy/9 +aromatically +aromaticity/6 +aromaticness/6 +aromatic/144 +Aron/6 +arose +around +arousal/7 +aroused/12 +arouse/17 +ARPA/6 +Arpanet/6 +ARPANET/6 +arpeggio/7 +arrack/6 +Arragon/6 +arraignment/7 +arraign/11 +arrangeable/14 +arranged/145 +arrangement/128 +arranger/6 +arranges/145 +arrange/27 +arranging/145 +arrant/19 +arras/7 +arrayer +array/74 +arrear/7 +arrest/36 +arrestee/7 +arrester/7 +arresting/19 +arrestor/7 +Arrhenius/6 +arrhythmia/7 +arrhythmic +arrhythmical +Arri/6 +arrival/7 +arriver/6 +arrive/31 +arrogance/7 +arrogant/19 +arrogate/15 +arrogation/6 +Arron/6 +arrowhead/7 +arrowroot/7 +arrow/26 +arroyo/7 +arr/146 +arsenal/7 +arsenate/6 +arsenic/7 +arsenide/6 +arsine/7 +arsonist/7 +arson/7 +Artair/6 +Artaxerxes/6 +artefact's +Arte/6 +Artemas +Artemis/6 +Artemus/6 +arterial/16 +arteriolar +arteriole/7 +arterioscleroses +arteriosclerosis/6 +artery/7 +artesian +artfulness/7 +artful/28 +Arther/6 +arthritic/9 +arthritides +arthritis/6 +arthrogram/7 +arthropod/7 +arthroscope/9 +arthroscopic +Arthurian +Arthur/6 +artichoke/7 +article/26 +articulable/45 +articular +articulated/147 +articulately/45 +articulateness/43 +articulates/45 +articulate/148 +articulation/6 +articulator/7 +articulatory +Artie/6 +artifact/7 +artificer/6 +artifice/96 +artificiality/7 +artificialness/6 +artificial/28 +artillerist +artilleryman/6 +artillerymen +artillery/7 +artiness/7 +artisan/7 +artiste/7 +artistically/45 +artistic/45 +artist/7 +artistry/7 +artlessness/7 +artless/28 +Art/6 +art/7 +artsy/54 +Artur/6 +Arturo/6 +Artus/6 +artwork/7 +Arty/6 +arty/98 +Aruba/6 +arum/7 +Arvie/6 +Arvin/6 +Arv/6 +Arvy/6 +Aryan/7 +Aryn/6 +as +As +A's +Asa/6 +Asama/6 +asap +ASAP +asbestos/7 +Ascella/6 +ascend/36 +ascendancy/7 +ascendant/16 +ascender/7 +Ascension/6 +ascension/7 +ascent/7 +ascertain/149 +ascertainment/7 +ascetically +asceticism/7 +ascetic/7 +ASCII +ascot/7 +ascribe/88 +ascription/7 +ascriptive +Ase/6 +aseptically +aseptic/9 +asexuality/7 +asexual/19 +Asgard/6 +ashame/81 +ashamed/10 +Ashanti/6 +Ashbey/6 +Ashby/6 +ashcan/7 +Ashely/6 +Asher/6 +Asheville/6 +Ashia/6 +Ashien/6 +Ashil/6 +Ashkenazim +Ashkhabad/6 +Ashla/6 +Ashland/6 +Ashlan/6 +ashlar/26 +Ashlee/6 +Ashleigh/6 +Ashlen/6 +Ashley/6 +Ashlie/6 +Ashli/6 +Ashlin/6 +Ashly/6 +ashman/6 +ash/150 +Ashmolean/6 +Ash/106 +ashore +ashram/7 +Ashton/6 +ashtray/7 +Ashurbanipal/6 +ashy/54 +Asia/6 +Asian/7 +Asiatic/7 +aside/9 +Asilomar/6 +Asimov +asinine/19 +asininity/7 +askance +ask/23 +asked/12 +asker/6 +askew/42 +ASL +aslant +asleep +Asmara/6 +asocial/9 +Asoka/6 +asparagus/7 +aspartame/9 +ASPCA +aspect/7 +Aspell/6 +aspen/6 +Aspen/6 +asperity/7 +asper/6 +aspersion/7 +asphalt/111 +asphodel/7 +asphyxia/7 +asphyxiate/15 +asphyxiation/6 +aspic/7 +Aspidiske/6 +aspidistra/7 +aspirant/7 +aspirate/15 +aspirational +aspiration/6 +aspirator/7 +aspire/31 +aspirer/6 +aspirin/7 +asplenium +asp/151 +Asquith/6 +Assad/6 +assailable/12 +assailant/7 +assail/88 +Assamese/6 +Assam/6 +assassinate/15 +assassination/6 +assassin/7 +assaulter/6 +assaultive/28 +assault/152 +assayer/6 +assay/23 +assemblage/7 +assemble/153 +assembled/12 +assembler/85 +assemblies/14 +assembly/154 +assemblyman/6 +assemblymen +Assembly/7 +assemblywoman +assemblywomen +assent/111 +assert/36 +asserter/7 +assertional +assertion/48 +assertiveness/7 +assertive/28 +assess/149 +assessed/14 +assesses/14 +assessment/48 +assessor/7 +asset/7 +asseverate/15 +asseveration/6 +asshole/30 +assiduity/7 +assiduousness/7 +assiduous/28 +assign/155 +assignation/7 +assigned/12 +assignee/7 +assigner/7 +assignment/48 +assignor/7 +assigns/156 +assimilate/24 +assimilationist/6 +assimilation/6 +Assisi/6 +assistance/7 +assistantship/7 +assistant/7 +assisted/12 +assister/6 +assist/29 +assize/26 +ass/125 +assn +assoc +associable +associated/12 +associate/87 +associateship +associational +association/82 +associative/19 +associativity/9 +associator/7 +assonance/7 +assonant/9 +assorter/6 +assort/8 +assortment/7 +asst +assuaged/12 +assuage/17 +assumability +assumer/6 +assume/157 +assuming/13 +assumption/7 +assumptive +assurance/48 +assure/36 +assuredness/6 +assured/46 +assurer/7 +assuring/158 +Assyria/6 +Assyrian/7 +Assyriology/6 +Astaire/7 +Astarte/6 +astatine/7 +aster/85 +asteria +asterisked/12 +asterisk/26 +astern +asteroidal +asteroid/7 +asthma/7 +asthmatic/9 +astigmatic/9 +astigmatism/7 +astir +astonish/11 +astonishing/19 +astonishment/7 +Aston/6 +Astoria/6 +Astor/6 +astounding/19 +astound/17 +astraddle +Astrakhan/6 +astrakhan/7 +astral/16 +Astra/6 +astray +astride +Astrid/6 +astringency/7 +astringent/16 +Astrix/6 +astrolabe/7 +astrologer/7 +astrological/19 +astrologist/6 +astrology/7 +astronautical +astronautic/9 +astronautics/6 +astronaut/7 +astronomer/7 +astronomic +astronomical/19 +astronomy/7 +astrophysical +astrophysicist/7 +astrophysics/6 +Astroturf/6 +AstroTurf/9 +Asturias/6 +astuteness/7 +astute/33 +Asunción/6 +asunder +Aswan/6 +asylum/7 +asymmetric +asymmetrical/19 +asymmetry/7 +asymptomatic +asymptomatically +asymptote/7 +asymptotically +asymptotic/19 +asynchronism/6 +asynchronous/19 +asynchrony +at +Atacama/6 +Atahualpa/6 +Atalanta/6 +Atari/6 +Atatürk/6 +atavism/7 +atavistic +atavist/7 +ataxia/7 +ataxic/9 +atelier/7 +atemporal +ate/9 +Athabasca/6 +Athabascan's +Athabaskan/7 +Athabaska's +atheism/7 +atheistic +atheist/7 +Athena/6 +Athene/6 +Athenian/7 +Athens/6 +atheroscleroses +atherosclerosis/6 +athirst +athlete/7 +athletically +athleticism/6 +athletic/9 +athletics/6 +athwart +atilt +Atkins/6 +Atkinson/6 +Atlanta/6 +Atlante/7 +atlantes +Atlantic/6 +Atlantis/6 +atlas/7 +Atlas/7 +At/6 +Atman +ATM/6 +atmosphere/56 +atmospherically +atmospheric/9 +atoll/7 +atomically +atomicity/6 +atomic/9 +atomics/6 +atomistic +atomization/7 +atomize/23 +atomizer/6 +atom/7 +atonality/7 +atonal/19 +atone/11 +atonement/7 +atop +ATP +Atreus/6 +atria +atrial +Atria/6 +atrium/6 +atrociousness/7 +atrocious/28 +atrocity/7 +atrophic +atrophy/26 +atropine/7 +Atropos/6 +Ats +attach/159 +attached/13 +attacher/6 +attaché/9 +attachment/48 +attacker/6 +attack/67 +attainabilities +attainability/135 +attainableness/6 +attainable/12 +attainably/12 +attain/36 +attainder/7 +attained/12 +attainer/7 +attainment/7 +attar/7 +attempt/36 +attempter/7 +attendance/7 +attendant/7 +attended/12 +attendee/7 +attender/6 +attend/23 +attentional +attentionality +attention/43 +attentiveness/43 +attentive/68 +attenuated/12 +attenuate/15 +attenuation/6 +attenuator/7 +attestation/7 +attested/12 +attester/6 +attest/31 +Attic +Attica/6 +attic/7 +Attila/6 +attire/17 +attitude/7 +attitudinal/19 +attitudinize/17 +Attlee/6 +attn +Attn +attorney/7 +attractant/7 +attract/160 +attraction/7 +attractivenesses +attractiveness/135 +attractive/161 +attractor/7 +attributable/12 +attribute/162 +attributed/12 +attributer/6 +attributional +attribution/6 +attributive/16 +attrition/7 +Attucks +attune/17 +atty +ATV/9 +atwitter +Atwood/6 +atypical/19 +Aube/6 +Auberge/6 +aubergine/7 +Auberon/6 +Auberta/6 +Aubert/6 +Aubine/6 +Aubree/6 +Aubrette/6 +Aubrey/6 +Aubrie/6 +Aubry/6 +auburn/7 +Auckland/6 +auctioneer/26 +auction/26 +audaciousness/7 +audacious/28 +audacity/7 +Auden/6 +audibility/43 +audible/45 +audibles +audibly/45 +Audie/6 +audience/7 +Audi/6 +audiogram/7 +audiological +audiologist/7 +audiology/7 +audiometer/7 +audiometric +audiometry/6 +audiophile/7 +audio/7 +audiotape/9 +audiovisual/9 +audited/12 +audition/26 +auditorium/7 +auditor/7 +auditory/9 +audit/163 +Audra/6 +Audre/6 +Audrey/6 +Audrie/6 +Audrye/6 +Audry/6 +Audubon/6 +Audy/6 +Auerbach/6 +Augean +auger/7 +aught/9 +Augie/6 +Aug/6 +augmentation/7 +augmentative/9 +augment/23 +augmenter/6 +augur/26 +augury/7 +Augusta/6 +Augustan/9 +Auguste/6 +Augustina/6 +Augustine/6 +Augustinian/9 +Augustin/6 +augustness/7 +Augusto/6 +August/7 +august/38 +Augustus/6 +Augy/6 +auk/7 +Au/6 +Aundrea/6 +auntie/7 +aunt/65 +aunty's +aural/19 +Aura/6 +aura/7 +Aurea/6 +Aurelea/6 +Aurelia/6 +Aurelie/6 +Aurelio/6 +Aurelius/6 +Aurel/6 +aureole/26 +aureomycin +Aureomycin/6 +Auria/6 +auric +auricle/7 +auricular +Aurie/6 +Auriga/6 +Aurilia/6 +Aurlie/6 +Auroora/6 +auroral +Aurora/6 +aurora/7 +Aurore/6 +Aurthur/6 +Auschwitz/6 +auscultate/15 +auscultation/6 +auspice/7 +auspicious/68 +auspiciousnesses +auspiciousness/123 +Aussie/7 +Austen/6 +austereness/6 +austere/33 +austerity/7 +Austina/6 +Austine/6 +Austin/7 +austral +Australasia/6 +Australasian/9 +australes +Australia/6 +Australian/7 +Australis/6 +australites +Australoid +Australopithecus/6 +Austria/6 +Austrian/7 +Austronesian +authentically +authenticated/12 +authenticate/15 +authentication/6 +authenticator/7 +authenticity/7 +authentic/44 +author/26 +authoress/9 +authorial +authoritarianism/7 +authoritarian/9 +authoritativeness/7 +authoritative/28 +authority/7 +authorization/48 +authorize/36 +authorized/12 +authorizer/7 +authorizes/12 +authorship/7 +autism/7 +autistic/9 +autobahn/7 +autobiographer/7 +autobiographic +autobiographical/19 +autobiography/7 +autoclave/26 +autocollimator/6 +autocorrelate/15 +autocorrelation/6 +autocracy/7 +autocratic +autocratically +autocrat/7 +autodial/164 +autodidact/7 +autofluorescence +autograph/165 +autographs +autoignition/6 +autoimmune +autoimmunity/9 +autoloader +automaker/9 +automata's +automate/15 +automatically +automatic/9 +automation/6 +automatism/7 +automatize/17 +automaton/7 +automobile/26 +automorphism/7 +automotive +autonavigator/7 +autonomic/9 +autonomous/19 +autonomy/7 +autopilot/7 +autopsy/26 +autoregressive +autorepeat/166 +auto/26 +autostart +autosuggestibility/6 +autotransformer/6 +autoworker/9 +autumnal/19 +Autumn/6 +autumn/7 +aux +auxiliary/9 +auxin/7 +AV +availability/41 +availableness/6 +available/12 +availably +avail/67 +availing/12 +avalanche/26 +Avalon/6 +Ava/6 +avant +avarice/7 +avariciousness/6 +avaricious/28 +avast/9 +avatar/7 +avaunt/9 +avdp +Aveline/6 +Ave/7 +avenged/12 +avenger/6 +avenge/23 +Aventine/6 +Aventino/6 +avenue/7 +average/167 +Averell/6 +Averill/6 +Averil/6 +Avernus/6 +averred +averrer +averring +Averroes/6 +averseness/6 +averse/168 +aversion/6 +avers/130 +avert/17 +Averyl/6 +Avery/6 +ave/9 +aves/169 +Avesta/6 +avg +avian/9 +aviary/7 +aviate/107 +aviation/6 +aviator/7 +aviatrices +aviatrix/7 +Avicenna/6 +Avictor/6 +avidity/7 +avid/33 +Avie/6 +Avigdor/6 +Avignon/6 +Avila/6 +avionic/9 +avionics/6 +Avior/6 +Avis +avitaminoses +avitaminosis/6 +Avivah/6 +Aviva/6 +Aviv/6 +avocado/7 +avocational +avocation/7 +Avogadro/6 +avoidable/12 +avoidably/12 +avoidance/7 +avoider/6 +avoid/67 +avoirdupois/7 +Avon/6 +avouch/17 +avowal/85 +avowed/19 +avower/6 +avow/84 +Avram/6 +Avril/6 +Avrit/6 +Avrom/6 +avuncular +av/90 +AWACS +await/17 +awake/166 +awakened/12 +awakener/6 +awakening/9 +awaken/36 +awarder/6 +award/23 +awareness/41 +aware/98 +awash +away/144 +aweigh +awe/7 +awesomeness/7 +awesome/28 +awestruck +awfuller +awfullest +awfulness/7 +awful/28 +aw/47 +awhile/9 +awkwardness/7 +awkward/33 +awl/7 +awning/170 +awn/171 +awoke +awoken +AWOL +awry/54 +ax/49 +axehead/9 +Axel/6 +Axe/6 +axeman +axial/19 +axillary +axiological/19 +axiology/6 +axiomatically +axiomatic/9 +axiomatization/7 +axiomatize/17 +axiom/7 +axion/7 +axis/7 +axle/7 +axletree/7 +Ax/6 +axolotl/7 +axon/7 +ayah/6 +ayahs +Ayala/6 +ayatollah +ayatollahs +aye/96 +Ayers +Aylmar/6 +Aylmer/6 +Aymara/6 +Aymer/6 +Ayn/6 +AZ +azalea/7 +Azania/6 +Azazel/6 +Azerbaijan/6 +azimuthal/19 +azimuth/6 +azimuths +Azores +Azov/6 +AZT +Aztecan +Aztec/7 +azure/7 +BA +Baal/7 +baa/17 +Babara/6 +Babar's +Babbage/6 +Babbette/6 +Babbie/6 +babbitt/17 +Babbitt/6 +babbler/6 +babble/23 +Babb/6 +Babcock/6 +Babel/7 +babel/9 +babe/7 +Babette/6 +Babita/6 +Babka/6 +baboon/7 +Bab/7 +babushka/7 +babyhood/7 +babyish +Babylonia/6 +Babylonian/7 +Babylon/7 +babysat +babysit/9 +babysitter/9 +babysitting +baby/172 +Bacall/6 +Bacardi/6 +baccalaureate/7 +baccarat/7 +bacchanalia +Bacchanalia/6 +bacchanalian/9 +bacchanal/7 +Bacchic +Bacchus/6 +bachelorhood/7 +bachelor/7 +Bach/6 +bacillary +bacilli +bacillus/7 +backache/7 +backarrow +backbencher/6 +backbench/90 +backbiter/6 +backbite/9 +backbitten +backbit/173 +backboard/7 +backbone/7 +backbreaking +backchaining +backcloth/6 +backdate/17 +backdrop/7 +backdropped +backdropping +backed/12 +backer/6 +backfield/7 +backfill/17 +backfire/17 +backgammon/7 +background/49 +back/91 +backhanded/19 +backhander/6 +backhand/49 +backhoe/9 +backing/6 +backlash/111 +backless +backlogged +backlogging +backlog/7 +backorder +backpacker/6 +backpack/49 +backpedal/17 +backplane/7 +backplate/7 +backrest/7 +backscatter/26 +backseat/9 +backside/7 +backslapper/7 +backslapping/6 +backslash/17 +backslider/6 +backslide/9 +backslid/174 +backspace/17 +backspin/7 +backstabber/6 +backstabbing +backstage +backstair/9 +backstitch/26 +backstop/7 +backstopped +backstopping +backstreet/6 +backstretch/7 +backstroke/26 +backtalk/9 +backtrack/23 +backup/7 +Backus/6 +backwardness/7 +backward/46 +backwash/26 +backwater/7 +backwood/9 +backwoodsman/6 +backwoodsmen +backyard/7 +baconer/6 +Bacon/6 +bacon/175 +bacterial/19 +bacteria/7 +bactericidal +bactericide/7 +bacteriologic +bacteriological +bacteriologist/7 +bacteriology/7 +bacterium/6 +Bactria/6 +badder +baddest +baddie/7 +bade +Baden/6 +badge/49 +badger/165 +badinage/26 +badland/9 +Badlands/6 +badman/6 +badmen +badminton/7 +badmouth/47 +badmouths +badness/7 +bad/176 +Baedeker/7 +Baez/6 +Baffin/6 +bafflement/7 +baffler/6 +baffle/27 +baffling/19 +bagatelle/7 +bagel/7 +bagful/7 +baggageman +baggagemen +baggage/7 +bagged/6 +bagger/7 +baggily +bagginess/7 +bagging/6 +baggy/177 +Baghdad/6 +bagpiper/6 +bagpipe/96 +Bagrodia/7 +bag/7 +baguette/7 +Baguio/6 +bah +Baha'i +Bahama/7 +Bahamanian/9 +Bahamian/7 +Baha'ullah +Bahia/6 +Bahrain/6 +bahs +Baikal/6 +Bailey/7 +bail/178 +Bailie/6 +bailiff/7 +bailiwick/7 +Baillie/6 +Bail/6 +bailout/7 +bailsman/6 +bailsmen +Baily/6 +Baird/6 +bairn/7 +baiter/6 +bait/111 +baize/26 +Baja/6 +baked/12 +bakehouse/6 +Bakelite/6 +baker/6 +Baker/6 +Bakersfield/6 +bakery/7 +bakeshop/9 +bake/179 +baking/6 +baklava/6 +baksheesh/7 +Baku/6 +Bakunin/6 +balaclava/7 +balalaika/7 +balanced/14 +balancedness +balancer/7 +balance's +balance/180 +Balanchine/6 +Balboa/6 +balboa/7 +balcony/56 +balderdash/7 +Balder/6 +baldfaced +Bald/114 +baldness/7 +bald/77 +baldric/7 +Balduin/6 +Baldwin/6 +baldy +Balearic/6 +baleen/7 +balefuller +balefullest +balefulness/7 +baleful/28 +Bale/6 +bale/49 +baler/6 +Balfour/6 +Bali/6 +Balinese +balkanization +balkanize/47 +Balkan/7 +balker/6 +balk/31 +Balkhash/6 +balkiness/6 +balky/98 +balladeer/7 +ballade/7 +balladry/7 +ballad/7 +Ballard/7 +ballast/26 +ballcock/9 +ballerina/7 +baller/6 +balletic +ballet/7 +ballfields +ballgame/9 +ball/49 +ballistic/9 +ballistics/6 +Ball/6 +balloonist/9 +balloon/49 +balloter/6 +ballot/111 +ballpark/7 +ballplayer/7 +ballpoint/7 +ballroom/7 +ballsy/54 +ballyhoo/26 +balminess/7 +balm/7 +balmy/98 +baloney/7 +balsam/26 +balsamic +balsa/7 +Balthazar/6 +Baltic/6 +Baltimore/6 +Baluchistan/6 +baluster/7 +balustrade/7 +Balzac/6 +Ba/6 +Bamako/6 +Bamberger/6 +Bambie/6 +Bambi/6 +bamboo/7 +bamboozle/17 +Bamby/6 +Banach/6 +banality/7 +banal/93 +banana/7 +Bancroft/6 +bandager/6 +bandage/111 +bandanna/7 +bandbox/7 +bandeau/6 +bandeaux +band/84 +bander/6 +banding/6 +bandit/7 +banditry/7 +bandmaster/7 +bandoleer/7 +bandpass +band's +bandsman/6 +bandsmen +bandstand/7 +bandstop +Bandung/6 +bandwagon/7 +bandwidth/6 +bandwidths +bandy/181 +banefuller +banefullest +baneful/19 +bane/7 +Bangalore/6 +banger/6 +bang/49 +bangkok +Bangkok/6 +Bangladeshi/9 +Bangladesh/6 +bangle/7 +Bangor/6 +Bangui/6 +bani +banisher/6 +banishment/7 +banish/8 +banister/7 +Banjarmasin/6 +banjoist/7 +banjo/7 +Banjul/6 +bankbook/7 +bankcard/9 +banker/6 +bank/182 +banking/6 +Bank/7 +banknote/9 +bankroll/26 +bankruptcy/7 +bankrupt/26 +Banky/6 +Ban/6 +banned/12 +Banneker/6 +banner/26 +banning/12 +Bannister/6 +bannister's +bannock/7 +banns +banqueter/6 +banquet/91 +banquette/7 +ban/26 +banshee/7 +bans/12 +bantam/7 +bantamweight/7 +banterer/6 +bantering/19 +banter/31 +Banting/6 +Bantu/7 +banyan/7 +banzai/9 +baobab/7 +Baotou/6 +baptismal/19 +baptism/7 +Baptiste/6 +baptistery/7 +baptist/7 +Baptist/7 +baptistry's +baptized/12 +baptizer/6 +baptize/23 +baptizes/12 +Barabbas/6 +Barbabas/6 +Barbabra/6 +Barbadian/9 +Barbados/6 +Barbaraanne/6 +Barbara/6 +Barbarella/6 +barbarianism/7 +barbarian/7 +barbaric +barbarically +barbarism/7 +barbarity/7 +barbarize/17 +Barbarossa/6 +barbarousness/6 +barbarous/28 +Barbary/6 +barb/49 +barbecue/111 +barbed/42 +Barbee/6 +barbell/7 +barbel/7 +Barbe/6 +barbeque's +barber/165 +barbered/12 +Barber/6 +barberry/7 +barbershop/7 +Barbette/6 +Barbey/6 +Barbie/6 +Barbi/6 +barbital/6 +barbiturate/7 +Barbour/6 +Barbra/6 +Barb/114 +Barbuda/6 +barbwire/7 +Barby/6 +barcarole/7 +Barcelona/6 +Barclay/6 +Bardeen/6 +Barde/6 +bardic +Bard/6 +bard/26 +bareback/81 +barefacedness/6 +barefaced/28 +barefoot/81 +barehanded +bareheaded +barelegged +bareness/7 +Barents/6 +bare/46 +barfly/7 +barf/183 +bargainer/6 +bargain/49 +barge/26 +bargeman/6 +bargemen +bargepole/6 +barhopped +barhopping +barhop/9 +Bari/6 +baritone/7 +barium/7 +barked/169 +barkeeper/6 +barkeep/110 +barker/6 +Barker/6 +bark/49 +Barkley/6 +barks/169 +barleycorn/7 +barley/7 +Barlow/6 +barmaid/7 +barman/6 +barmen +Bar/140 +Barnabas +Barnabe/6 +Barnaby/6 +barnacle/56 +Barnard/6 +Barnaul/6 +Barnebas/6 +Barnes +Barnett/6 +Barney/6 +barnful +barn/26 +Barnhard/6 +Barnie/6 +Barn/6 +barnsful +barnstorm/23 +barnstormer/6 +Barnum/6 +barnyard/7 +Barny/6 +Baroda/6 +barometer/7 +barometric +barometrically +baronage/7 +baroness/7 +baronetcy/7 +baronet/7 +baronial +Baron/6 +baron/7 +barony/7 +baroque/32 +barque's +Barquisimeto/6 +barracker/6 +barrack/31 +barracuda/7 +barrage/26 +Barranquilla/6 +barred/184 +barre/171 +barrel/26 +barrenness/7 +barren/177 +Barrera/6 +Barret/6 +barrette/7 +Barrett/6 +barricade/26 +Barrie/6 +barrier/7 +barring/164 +barrio/7 +Barri/7 +barrister/7 +Barr/6 +Barron/6 +barroom/7 +barrow/7 +Barry/6 +Barrymore/7 +bars/184 +barstool/7 +Barstow/6 +Bartel/6 +bartender/6 +bartend/90 +barterer/6 +barter/23 +bar/172 +Barthel/6 +Barth/6 +Bartholdi/6 +Bartholemy/6 +Bartholomeo/6 +Bartholomeus/6 +Bartholomew/6 +Bartie/6 +Bartlet/6 +Bartlett/6 +Bart/6 +Bartók/6 +Bartolemo/6 +Bartolomeo/6 +Barton/6 +Bartram/6 +Barty/6 +barycenter +barycentre's +barycentric +Bary/6 +baryon/7 +Baryram/6 +Baryshnikov/6 +basaltic +basalt/7 +basal/19 +Bascom/6 +bas/181 +baseball/7 +baseband +baseboard/7 +base/185 +baseless +baseline/7 +Basel/6 +basely +Base/6 +baseman/6 +basemen +basement/186 +baseness/7 +baseplate/6 +base's +basetting +bashfulness/7 +bashful/28 +bash/187 +Basho/6 +Basia/6 +BASIC +basically +basic/9 +Basie/6 +basilar +Basile/6 +basilica/7 +Basilio/6 +basilisk/7 +Basilius/6 +Basil/6 +basil/7 +basin/56 +basinful/9 +basis/6 +basketball/7 +basketry/7 +basket/7 +basketwork/7 +bask/17 +basophilic +Basque/7 +Basra/6 +Basseterre/6 +basset/26 +Bassett/6 +bassinet/7 +bassist/7 +Bass/6 +basso/7 +bassoonist/7 +bassoon/7 +bass/7 +basswood/7 +bastardization/7 +bastardized/12 +bastardize/17 +bastard/65 +bastardy/7 +baste/188 +baster/6 +Bastian/6 +Bastien/6 +Bastille/6 +basting/6 +bastion/170 +bast/49 +Basutoland/6 +Bataan/6 +Batavia/6 +batch/111 +bated/12 +bate/189 +bater/190 +Bates +bathe +bather/6 +bathetic +bathhouse/7 +bath/91 +bathmat/9 +Batholomew/6 +bathos/7 +bathrobe/7 +bathroom/56 +baths +Bathsheba/6 +bathtub/7 +bathwater +bathyscaphe's +bathysphere/7 +batik/26 +Batista/6 +batiste/7 +Bat/6 +batman/6 +Batman/6 +batmen +baton/7 +Batsheva/6 +batsman/6 +bat/111 +batsmen +battalion/7 +batted +batten/26 +batter/23 +battery/7 +batting/7 +battledore/7 +battledress +battlefield/7 +battlefront/7 +battle/191 +battleground/7 +Battle/6 +battlement/56 +battler/6 +battleship/7 +batty/54 +Batu/6 +batwings +bauble/7 +Baudelaire/6 +baud/6 +Baudoin/6 +Baudouin/6 +Bauer/6 +Bauhaus/6 +baulk/26 +Bausch/6 +bauxite/7 +Bavaria/6 +Bavarian/9 +bawdily +bawdiness/7 +bawd/7 +bawdy/177 +bawler/6 +bawl/31 +Baxie/6 +Bax/6 +Baxter/6 +Baxy/6 +Bayamon +Bayard/6 +bayberry/7 +Bayda/6 +Bayer/6 +Bayes +Bayesian +bay/116 +Baylor/6 +Bay/114 +bayonet/26 +Bayonne/6 +bayou/7 +Bayreuth/6 +bazaar/7 +bazillion/9 +bazooka/7 +BB +BBB +BBC +bbl +BBQ +BBS +BC +BCD +bdrm +beachcomber/7 +beachhead/7 +Beach/6 +beach/26 +beachwear/6 +beacon/26 +beading/6 +Beadle/6 +beadle/7 +bead/171 +beadsman/6 +beadworker +beady/54 +beagle/26 +beaker/6 +beak/192 +Beale/6 +Bealle/6 +Bea/6 +beam/49 +beanbag/7 +bean/49 +beanie/7 +Bean/6 +beanpole/7 +beanstalk/7 +bearable/12 +bearably/12 +beard/26 +bearded/42 +beardless +Beard/6 +Beardmore/6 +Beardsley/6 +bearer/6 +bearing/6 +bearishness/7 +bearish/28 +bearlike +Bear/6 +Bearnaise/6 +Bearnard/6 +bearskin/7 +bear/193 +Beasley/6 +beasties +beastings/6 +beastliness/7 +beastly/98 +beast/194 +beatable/12 +beatably/12 +beaten/12 +beater/6 +beatific +beatifically +beatification/6 +beatify/15 +beating/6 +beatitude/7 +Beatlemania/6 +Beatles/6 +beatnik/7 +beat/195 +Beatrice/6 +Beatrisa/6 +Beatrix/6 +Beatriz/6 +Beauchamps +Beaufort/6 +Beaujolais/6 +Beau/6 +Beaumarchais/6 +Beaumont/6 +beau/7 +Beauregard/6 +beauteousness/6 +beauteous/28 +beautician/7 +beautification/6 +beautifier/6 +beautifully/12 +beautifulness/6 +beautiful/33 +beautify/115 +beaut/7 +beauty/7 +Beauvoir/6 +beaux's +beaver/26 +Beaverton/6 +Bebe/6 +bebop/7 +becalm/17 +became +because +Becca/6 +Bechtel/6 +Becka/6 +Becker/6 +Becket/6 +Beckett/6 +beck/26 +Beckie/6 +Becki/6 +beckon/17 +Beck/114 +Becky/6 +becloud/17 +become/196 +becoming/10 +Becquerel/6 +bedaub/17 +bedazzle/11 +bedazzlement/7 +bedbug/7 +bedchamber/6 +bedclothes +bedded +bedder/7 +bedding/7 +bedeck/17 +Bede/6 +bedevil/11 +bedevilment/7 +bedfast +bedfellow/7 +Bedford/6 +bedimmed +bedimming +bedim/9 +bedizen/17 +bedlam/7 +bedlinen +bedmaker/7 +bedmate/7 +bed/7 +Bedouin/7 +bedpan/7 +bedpost/7 +bedraggle/17 +bedridden +bedrock/7 +bedroll/7 +bedroom/56 +bedsheets +bedside/7 +bedsit +bedsitter/6 +bedsore/7 +bedspread/7 +bedspring/7 +bedstead/7 +bedstraw/6 +bedtime/7 +Beebe/6 +beebread/7 +Beecher/6 +beech/197 +beechnut/7 +beechwood +beefburger/7 +beefcake/7 +beef/49 +beefiness/7 +beefsteak/7 +beefy/98 +beehive/7 +beekeeper/7 +beekeeping/7 +beeline/26 +Beelzebub/6 +Bee/6 +bee/198 +been/9 +beeper/6 +beep/49 +Beerbohm/6 +beer/6 +beermat/9 +beery/54 +beeswax/26 +Beethoven/6 +beetle/111 +Beeton/6 +beetroot/6 +beet/7 +beeves/6 +befall/199 +befell +befit/7 +befitted +befitting/19 +befogged +befogging +befog/9 +before +beforehand +befoul/17 +befriend/17 +befuddle/11 +befuddlement/7 +began +beget/9 +begetting +beggar/116 +beggarliness/6 +beggarly/42 +beggary/7 +begged +begging +Begin/6 +beginner/7 +beginning/7 +begin/9 +begone/9 +begonia/7 +begot +begotten +begrime/17 +begrudge/31 +begrudging/19 +beg/9 +beguilement/7 +beguiler/6 +beguile/27 +beguiling/19 +beguine/7 +begum/7 +begun +behalf/6 +behalves +Behan/6 +behave/31 +behavioral/19 +behaviorism/7 +behavioristic/9 +behaviorist/9 +behavior/56 +behead/17 +beheld +behemoth/6 +behemoths +behest/7 +behindhand +behind/9 +beholder/6 +behold/200 +behoofs +behoove/171 +behooving/86 +Behring/6 +Beiderbecke/6 +beige/7 +Beijing +Beilul/6 +being/6 +Beirut/6 +Beitris/6 +bejewel/17 +Bekesy/6 +Bekki/6 +be/201 +belabor/26 +Bela/6 +Belarus +belate/81 +belatedness/6 +belated/28 +Belau/6 +belay/17 +belch/17 +beleaguer/17 +Belem/6 +Belfast/6 +belfry/7 +Belgian/7 +Belgium/6 +Belg/6 +Belgrade/6 +Belia/6 +Belicia/6 +belie +belief/202 +belier/6 +believability's +believability/12 +believable/12 +believably/12 +believed/12 +believe/203 +believer/202 +believing/12 +Belinda/6 +Belita/6 +belittlement/7 +belittler/6 +belittle/8 +Belize/6 +belladonna/7 +Bella/6 +Bellamy/6 +Bellanca/6 +Bellatrix/6 +bellboy/7 +belled/14 +Belle/6 +belle/7 +belletristic +belletrist/7 +Belleville/6 +bellflower/6 +bell/26 +bellhop/7 +bellicoseness/6 +bellicose/28 +bellicosity/7 +belligerence/7 +belligerency/7 +belligerent/65 +Bellina/6 +belling/14 +Bellini/6 +Bell/6 +bellman/6 +bellmen +Bellovin/6 +bellow/17 +Bellow/6 +bellows/6 +bells/14 +bellwether/7 +Bellwood/6 +bellyacher/6 +bellyache/111 +bellybutton/7 +bellyfull +bellyful/7 +belly/26 +Bel/6 +Belmont/6 +Belmopan/6 +Beloit/6 +belong/71 +belonging/204 +Belorussian/9 +Belorussia's +belove/81 +beloved/9 +below/9 +Belshazzar/6 +belted/12 +belt/26 +belting/6 +Belton/6 +Beltran/6 +Beltsville/6 +beltway/7 +beluga/7 +Belushi/6 +Belva/6 +belvedere/6 +Belvia/6 +bely/31 +beman +Be/140 +bemire/17 +bemoan/17 +bemused/19 +bemuse/11 +bemusement/7 +Benacerraf/6 +Benares's +bencher/6 +benchmark/26 +bench/111 +bend/205 +bended +Bender/6 +bender/7 +Bendick/6 +Bendicty/6 +Bendite/6 +Bendix/6 +beneath +Benedetta/6 +Benedetto/6 +Benedick/6 +Benedicta/6 +Benedictine/7 +benediction/7 +Benedict/6 +Benedicto/6 +benedictory +Benedikta/6 +Benedikt/6 +benefaction/7 +benefactor/7 +benefactress/9 +benefice/26 +beneficence/7 +beneficent/19 +beneficialness/6 +beneficial/28 +beneficiary/7 +benefiter/6 +benefit/49 +Benelux/6 +Benet/6 +Benetta/6 +Benetton/6 +benevolence/7 +benevolentness/6 +benevolent/28 +Bengali/6 +Bengal/7 +Benghazi/6 +Bengt/6 +Beniamino/6 +benightedness/6 +benighted/28 +benignant +benignity/7 +benign/19 +Beninese +Benin/6 +Benita/6 +Benito/6 +Benjamen/6 +Benjamin/6 +Benjie/6 +Benji/6 +Benjy/6 +Ben/6 +Bennett/6 +Bennie/6 +Benni/6 +Bennington/6 +Benn/6 +Benny/6 +Benoite/6 +Benoit/6 +Benson/6 +Bentham/6 +Bentlee/6 +Bentley/7 +Bent/6 +Benton/6 +bents +bent/12 +bentwood/7 +benumb/17 +Benyamin/6 +Benzedrine/6 +benzene/7 +benzine/7 +Benz/6 +Beograd's +Beowulf/6 +bequeath/17 +bequeaths +bequest/7 +berate/17 +Berber/7 +bereave/11 +bereavement/7 +bereft +Berenice/6 +Beret/6 +beret/7 +Bergen/6 +Bergerac/6 +Berger/6 +Berget/6 +Berglund/6 +Bergman/6 +Berg/206 +berg/197 +Bergson/6 +Bergsten/6 +Bergstrom/6 +beribbon/81 +beriberi/7 +Beringer/6 +Bering/114 +Berkeley/6 +berkelium/7 +Berke/6 +Berkie/6 +Berkley/6 +Berkly/6 +Berkowitz/6 +Berkshire/7 +Berky/6 +Berk/86 +Berle/6 +Berliner/6 +Berlin/96 +Berlioz/6 +Berlitz/6 +Berman/6 +Ber/207 +berm/7 +Bermuda/7 +Bermudan/9 +Bermudian/9 +Bernadene/6 +Bernadette/6 +Bernadina/6 +Bernadine/6 +Berna/6 +Bernardina/6 +Bernardine/6 +Bernardino/6 +Bernard/6 +Bernardo/6 +Bernarr/6 +Bernays/6 +Bernbach/6 +Bernelle/6 +Berne's +Bernese +Bernete/6 +Bernetta/6 +Bernette/6 +Bernhard/6 +Bernhardt/6 +Bernice/6 +Berniece/6 +Bernie/6 +Berni/6 +Bernini/6 +Bernita/6 +Bern/6 +Bernoulli/6 +Bernstein/6 +Berny/6 +Berra/6 +Berrie/6 +Berri/6 +berrylike +Berry/6 +berry/26 +berserker/6 +berserk/208 +Berta/6 +Berte/6 +Bertha/6 +Berthe/6 +berth/209 +berths +Bertie/6 +Bertillon/6 +Berti/6 +Bertina/6 +Bertine/6 +Bert/6 +Berton/6 +Bertram/6 +Bertrand/6 +Bertrando/6 +Berty/6 +Beryle/6 +beryllium/7 +Beryl/6 +beryl/7 +Berzelius/6 +bes +beseecher/6 +beseeching/19 +beseech/210 +beseem/17 +beset/9 +besetting +beside/9 +besieger/6 +besiege/23 +besmear/17 +besmirch/17 +besom/26 +besot/9 +besotted +besotting +besought +bespangle/17 +bespatter/17 +bespeak/166 +bespectacled +bespoke +bespoken +Bess +Bessel/6 +Bessemer/6 +Bessie/6 +Bessy/6 +best/31 +bestiality/7 +bestial/19 +bestiary/7 +bestirred +bestirring +bestir/9 +Best/6 +bestowal/7 +bestow/17 +bestrew/17 +bestrewn +bestridden +bestride/166 +bestrode +bestseller/7 +bestselling +bestubble/81 +betaken +betake/166 +beta/7 +betatron/6 +betcha +Betelgeuse/6 +betel/7 +Bethanne/6 +Bethany/6 +bethel/6 +Bethe/6 +Bethena/6 +Bethesda/6 +Bethina/6 +bethink/166 +Bethlehem/6 +beth/6 +Beth/6 +bethought +Bethune +betide/17 +betimes +bet/7 +betoken/17 +betook +betrayal/7 +betrayer/6 +betray/23 +betrothal/7 +betrothed/12 +betroth/47 +betroths +Betsey/6 +Betsy/6 +Betta/6 +Betteanne/6 +Betteann/6 +Bette/6 +betterment/7 +better/11 +Bettie/6 +Betti/6 +Bettina/6 +Bettine/6 +betting +bettor/7 +Bettye/6 +Betty/7 +betweenness/6 +between/144 +betwixt +Beulah/6 +Bevan/6 +bevel/211 +beverage/7 +Beverie/6 +Beverlee/6 +Beverley/6 +Beverlie/6 +Beverly/6 +Bevin/6 +Bevon/6 +Bev's +Bevvy/6 +bevy/7 +bewail/17 +beware/17 +bewhisker/81 +bewigged +bewildered/28 +bewildering/19 +bewilder/11 +bewilderment/7 +bewitching/19 +bewitch/11 +bewitchment/7 +bey/7 +beyond/9 +bezel/7 +bf +B/212 +Bhopal/6 +Bhutanese +Bhutan/6 +Bhutto/6 +Bialystok/6 +Bianca/6 +Bianco/6 +Bianka/6 +biannual/19 +bias/213 +biased/12 +biathlon/7 +biaxial/19 +bibbed +Bibbie/6 +bibbing +Bibbye/6 +Bibby/6 +Bibi/6 +bible/7 +Bible/7 +biblical/19 +biblicists +bibliographer/7 +bibliographical/19 +bibliographic/9 +bibliography/7 +bibliophile/7 +Bib/6 +bib/7 +bibulous +bicameral +bicameralism/7 +bicarb/7 +bicarbonate/7 +bicentenary/9 +bicentennial/9 +bicep/9 +biceps/6 +bichromate/170 +bickerer/6 +bickering/6 +bicker/23 +biconcave +biconnected +biconvex +bicuspid/9 +bicycler/6 +bicycle/49 +bicyclist/7 +biddable +bidden/12 +bidder/7 +Biddie/6 +bidding/7 +Biddle/6 +Biddy/6 +biddy/7 +bider/6 +bide/9 +bidet/7 +Bidget/6 +bid/214 +bidiagonal +bidirectional/19 +bids/14 +biennial/16 +biennium/7 +Bienville/6 +Bierce/6 +bier/6 +bifocal/9 +bifurcate/215 +bifurcation/6 +bigamist/7 +bigamous +bigamy/7 +Bigelow/6 +Bigfoot +bigged +bigger +biggest +biggie/7 +bigging +biggish +bighead/7 +bigheartedness/9 +bighearted/42 +bighorn/7 +bight/26 +bigmouth/6 +bigmouths +bigness/7 +bigoted/19 +bigot/26 +bigotry/7 +big/46 +bigwig/7 +biharmonic +bijection/7 +bijective/19 +bijou/6 +bijoux +bike/49 +biker/6 +bikini/56 +Biko/6 +bilabial/9 +bilateralness/6 +bilateral/28 +bilayer/9 +Bilbao/6 +bilberry/7 +Bilbo/6 +bile/7 +bilge/26 +biliary +Bili/6 +bilinear +bilingualism/7 +bilingual/16 +biliousness/7 +bilious/42 +bilker/6 +bilk/23 +billboard/26 +biller/6 +billet/26 +billfold/7 +billiard/7 +Billie/6 +Billi/6 +billing/6 +billingsgate/7 +Billings/6 +billionaire/7 +billion/216 +billionths +bill/182 +Bill/217 +billow/26 +billowy/54 +billposters +Billye/6 +Billy/6 +billy/7 +Bil/86 +bi/6 +Bi/6 +bimbo/7 +bimetallic/9 +bimetallism/7 +Bimini/6 +bimodal +bimolecular/19 +bimonthly/9 +binary/9 +binaural/19 +binder/6 +bindery/7 +binding/218 +bindingness/6 +bind/179 +bindle/6 +binds/13 +bindweed/7 +binge/7 +bing/219 +Bingham/6 +Binghamton/6 +Bing/6 +bingo/7 +Bini/6 +Bink/6 +Binky/6 +binnacle/7 +binned +Binnie/6 +Binni/6 +binning +Binny/6 +binocular/16 +binodal +binomial/65 +bin/7 +binuclear +biochemical/16 +biochemist/7 +biochemistry/7 +biodegradability/9 +biodegradable +biodiversity/9 +bioengineering/6 +bioethics +biofeedback/7 +biographer/6 +biographic +biographical/19 +biograph/90 +biography/7 +biog/9 +Bioko/6 +biol +biological/16 +biologic/9 +biologist/7 +biology/7 +biomass/7 +biomedical +biomedicine/6 +biometric/9 +biometrics/6 +biometry/6 +biomolecule/9 +biomorph +bionically +bionic/9 +bionics/6 +biophysical/19 +biophysicist/7 +biophysic/9 +biophysics/6 +biopic/9 +biopsy/26 +biorhythm/9 +BIOS +bioscience/9 +biosphere/7 +biostatistic/9 +biosynthesized +biotechnological +biotechnologist +biotechnology/7 +biotic +biotin/7 +bipartisan +bipartisanship/7 +bipartite/220 +bipartition/6 +bipedal +biped/7 +biplane/7 +bipolar +bipolarity/7 +biracial +Birch/6 +birch/150 +birdbath/6 +birdbaths +birdbrain/56 +birdcage/7 +birder/6 +birdhouse/7 +birdieing +Birdie/6 +birdie/56 +birdlike +birdlime/26 +Bird/6 +birdseed/7 +Birdseye/6 +bird/49 +birdsong +birdtables +birdwatch/174 +birefringence/6 +birefringent +biretta/7 +Birgit/6 +Birgitta/6 +Birkenstock/6 +Birk/6 +Birmingham/6 +Biro/6 +Biron/6 +birthday/7 +birthmark/7 +birth/165 +birthplace/7 +birthrate/7 +birthright/7 +birth's/14 +births/14 +birthstone/7 +bis +Biscay/6 +Biscayne/6 +biscuit/7 +bisect/17 +bisection/7 +bisector/7 +biserial +bisexuality/7 +bisexual/65 +Bishkek +bishop/26 +Bishop/6 +bishopric/7 +Bismarck/6 +Bismark/6 +bismuth/6 +bismuths +bison/6 +bisque/7 +Bissau/6 +bistable +bistate +bistro/7 +bisyllabic +bitblt/9 +bitchily +bitchiness/7 +bitch/26 +bitchy/98 +biter/6 +bite/9 +biting/19 +bitmap/7 +bit/198 +BITNET/6 +bit's/169 +bits/169 +bitser/6 +bitted +bitten +bitterness/7 +bittern/7 +bitternut/6 +bitter/77 +bitterroot/6 +bittersweet/32 +bitting +bitty/98 +bitumen/7 +bituminous +bitwise +bivalent/9 +bivalve/56 +bivariate +bivouacked +bivouacking +bivouac/7 +biweekly/9 +biyearly +bizarreness/6 +bizarre/46 +Bizet/6 +biz/6 +bizzes +Bjorn/6 +bk +b/221 +Bk/6 +blabbed +blabber/26 +blabbermouth/6 +blabbermouths +blabbing +blab/9 +blackamoor/7 +blackball/26 +blackberry/131 +blackbirder/6 +blackbird/111 +blackboard/7 +blackbody/9 +Blackburn/6 +blackcurrant/6 +blackener/6 +blacken/52 +Blackfeet +Blackfoot/6 +blackguard/26 +blackhead/7 +blacking/6 +blackish +blackjack/26 +blackleg/6 +blacklist/111 +blackmail/49 +blackmailer/6 +Blackman/6 +Blackmer/6 +blackness/7 +blackout/7 +Blackpool/6 +Black's +black/222 +blacksmith/207 +blacksmiths +blacksnake/7 +blackspot +Blackstone/6 +blackthorn/7 +blacktop/7 +blacktopped +blacktopping +Blackwell/7 +bladder/7 +bladdernut/6 +bladderwort/6 +blade/26 +blah/165 +blahs +Blaine/6 +Blaire/6 +Blair/6 +Blakelee/6 +Blakeley/6 +Blake/6 +Blakey/6 +blame/66 +blamelessness/7 +blameless/28 +blamer/6 +blameworthiness/7 +blameworthy/42 +Blanca/6 +Blancha/6 +Blanchard/6 +blanch/31 +Blanche/6 +blancher/6 +Blanch/6 +blanc/6 +blancmange/7 +blandishment/7 +blandish/11 +blandness/7 +bland/33 +Blane/6 +Blankenship/6 +blanketing/6 +blanket/49 +blankness/7 +blank/77 +Blanton/6 +Blantyre/6 +blare/17 +blarney/26 +blasé +blasphemer/6 +blaspheme/23 +blasphemousness/6 +blasphemous/28 +blasphemy/7 +blaster/6 +blasting/6 +blastoff/7 +blast/49 +blatancy/7 +blatant/28 +blather/31 +blatting +Blatz/6 +Blavatsky/6 +Blayne/6 +blaze/49 +blazer/6 +blazing/19 +blazoner/6 +blazon/31 +bl/81 +bldg +bleach/23 +bleached/12 +bleacher/6 +bleakness/7 +bleak/38 +blear/17 +blearily +bleariness/7 +bleary/98 +bleater/6 +bleat/31 +bleeder/6 +bleed/210 +Bleeker/6 +bleep/49 +blemish/26 +blemished/12 +blench/17 +blender/6 +blend/23 +Blenheim/6 +blessedness/7 +blessed/33 +blessing/6 +bless/71 +Blevins/6 +blew +Bligh/6 +blighter/6 +blight/111 +blimey/9 +blimp/7 +blinded/12 +blinder/6 +blindfold/17 +blinding/86 +blind/223 +blindness/7 +blindside/17 +blinker/165 +blinking/12 +blink/23 +blinks/6 +Blinnie/6 +Blinni/6 +Blinny/6 +blintze/6 +blintz/7 +blip/7 +blipped +blipping +Blisse/6 +blissfulness/7 +blissful/28 +Bliss/6 +bliss/26 +blistering/19 +blister/26 +blistery +Blithe/6 +blitheness/7 +blither/224 +blithesome +blithe/33 +blitz/26 +blitzkrieg/7 +blizzard/7 +bloater/6 +bloat/23 +blobbed +blobbing +blob/7 +Bloch/6 +blockader/6 +blockade/49 +blockage/7 +blockbuster/7 +blockbusting/7 +blocker/7 +blockhead/7 +blockhouse/7 +block's +block/180 +blocky/164 +bloc/7 +Bloemfontein/6 +blog/7 +blogged +blogger/7 +blogging +blogged +bloke/7 +Blomberg/6 +Blomquist/6 +Blondelle/6 +Blondell/6 +blonde's +Blondie/6 +blondish +blondness/7 +blond/225 +Blondy/6 +bloodbath +bloodbaths +bloodcurdling +bloodhound/7 +bloodied/12 +bloodiness/7 +bloodlessness/7 +bloodless/28 +bloodletting/7 +bloodline/7 +bloodmobile/7 +bloodroot/6 +bloodshed/7 +bloodshot +blood/26 +bloodsport/9 +bloodstain/56 +bloodstock/7 +bloodstone/6 +bloodstream/7 +bloodsucker/7 +bloodsucking/9 +bloodthirstily +bloodthirstiness/7 +bloodthirsty/98 +bloodworm/6 +bloodymindedness +bloody/226 +bloomer/6 +Bloomer/6 +Bloomfield/6 +Bloomington/6 +Bloom/114 +bloom/49 +blooper/6 +bloop/23 +blossom/26 +blossomy +blotch/26 +blotchy/54 +blot/7 +blotted +blotter/7 +blotting +blotto +blouse/26 +blower/6 +blowfish/6 +blowfly/7 +blowgun/7 +blow/227 +blowing/6 +blown/12 +blowout/7 +blowpipe/7 +blowtorch/7 +blowup/7 +blowy/228 +blowzy/54 +BLT +blubber/31 +blubbery +Blucher/6 +bludgeon/26 +blueback +Bluebeard/6 +bluebell/7 +blueberry/7 +bluebill/6 +bluebird/7 +bluebonnet/7 +bluebook/6 +bluebottle/7 +bluebush +bluefish/7 +bluegill/7 +bluegrass/7 +blueing's +blueish +bluejacket/7 +bluejeans +blue/229 +blueness/7 +bluenose/7 +bluepoint/7 +blueprint/26 +bluer/6 +bluest/6 +bluestocking/7 +bluesy/54 +bluet/7 +bluffer/6 +bluffness/7 +bluff/100 +bluing/6 +bluishness/6 +bluish/42 +Blumenthal/6 +Blum/6 +blunderbuss/7 +blunderer/6 +blunder/91 +blundering/19 +bluntness/7 +blunt/77 +blurb/26 +blur/7 +blurred/19 +blurriness/9 +blurring/19 +blurry/98 +blurt/31 +blusher/6 +blushing/10 +blush/23 +blusterer/6 +blustering/19 +blusterous +bluster/23 +blustery +blvd +Blvd +Blythe/6 +BM +BMW/6 +BO +boarded +boarder/7 +boardgames +boardinghouse/7 +boarding/7 +board/230 +boardroom/7 +board's +boardwalk/7 +boar/7 +boa/7 +boaster/6 +boastfulness/7 +boastful/28 +boast/179 +boatclubs +boater/6 +boathouse/7 +boating/6 +boatload/7 +boatman/6 +boat/91 +boatmen +boatswain/7 +boatyard/7 +bobbed +Bobbee/6 +Bobbe/6 +Bobbette/6 +Bobbie/6 +Bobbi/6 +bobbing/6 +bobbin/7 +Bobbitt/6 +bobble/26 +Bobbsey/6 +Bobbye/6 +Bobby/6 +bobby/7 +bobbysoxer's +bobcat/7 +Bobette/6 +Bobina/6 +Bobine/6 +Bobinette/6 +Bob/6 +bobolink/7 +Bobrow/6 +bobsledded +bobsledder/7 +bobsledding/6 +bobsled/7 +bobsleigh/6 +bobsleighs +bobs/6 +bob/7 +bobtail/26 +bobwhite/7 +Boca/6 +Boccaccio/6 +boccie/7 +bock/17 +bockwurst +bodega/7 +Bodenheim/6 +bode/9 +Bodhidharma/6 +bodhisattva +Bodhisattva/6 +bodice/7 +bodied/6 +bodiless +bodily +boding/6 +bodkin/7 +bod/26 +bodybuilder/7 +bodybuilding/9 +body/26 +bodyguard/7 +bodying/6 +bodysuit/9 +bodyweight +bodywork/7 +Boeing/6 +Boeotia/6 +Boeotian +Boer/6 +Bogartian/6 +Bogart/6 +Bogey/6 +bogeyman/6 +bogeymen +bogey/26 +bogged +bogging +boggle/17 +boggling/19 +boggy/54 +bogie's +bog/7 +Bogotá/6 +bogus +bogyman +bogymen +bogy's +Boheme/6 +bohemianism/9 +bohemian/9 +Bohemian/7 +Bohemia/7 +Bohr/6 +Boigie/6 +boiled/13 +boiler/6 +boilermaker/7 +boilerplate/7 +boil/179 +boils/14 +Boise/6 +Bois/6 +boisterousness/7 +boisterous/28 +bola/7 +boldface/26 +boldness/7 +bold/38 +bole/7 +bolero/7 +Boleyn/6 +bolivares +Bolivar/6 +bolivar/7 +Bolivia/6 +Bolivian/9 +bollard/7 +bollix/17 +boll/26 +Bologna/6 +bologna/7 +bolometer/7 +bolo/7 +boloney's +Bolshevik/7 +Bolshevism/7 +Bolshevistic/6 +Bolshevist/7 +Bolshoi/6 +bolsterer/6 +bolster/31 +bolted/12 +bolter/6 +bolt/111 +Bolton/6 +bolts/12 +Boltzmann/6 +bolus/7 +bombardier/7 +bombard/11 +bombardment/7 +bombastic +bombastically +bombast/175 +Bombay/6 +bomber/6 +bombproof +bomb/179 +bombshell/7 +Bo/231 +bona +bonanza/7 +Bonaparte/6 +Bonaventure/6 +bonbon/7 +bondage/7 +bonder/6 +bondholder/7 +Bondie/6 +bond/91 +Bond/6 +bondman/6 +bondmen +Bondon/6 +bonds/14 +bondsman/6 +bondsmen +bondwoman/6 +bondwomen +Bondy/6 +boned/12 +bonehead/56 +boneless +Bone/6 +bone/49 +boner/6 +bonfire/7 +bong/26 +bongo/7 +Bonham/6 +bonhomie/7 +Boniface/6 +boniness/7 +Bonita/6 +bonito/7 +bonjour +bonkers +Bonnee/6 +Bonner/6 +bonneted/12 +bonnet/26 +Bonneville/6 +Bonnibelle/6 +bonnie +Bonnie/6 +Bonni/6 +Bonn/114 +Bonny/6 +bonny/54 +bonsai/7 +Bontempo/6 +bonus/7 +bony/98 +bonzes +boob/26 +booby/7 +boodle/26 +boogeyman's +boogieing +boogie/142 +boo/232 +boohoo/17 +bookbinder/6 +bookbindery/7 +bookbinding/6 +bookbind/173 +bookcase/7 +booked/12 +bookend/17 +Booker/6 +book/182 +bookie/7 +booking/6 +bookishness/6 +bookish/28 +bookkeeper/6 +bookkeep/173 +bookkeeping/6 +booklet/7 +bookmaker/7 +bookmaking/7 +bookmark/26 +bookmobile/7 +bookplate/7 +bookseller/7 +bookshelf/6 +bookshelves +bookshop/7 +bookstall/7 +bookstore/7 +bookwork/6 +bookworm/7 +Boolean +boolean/9 +Boole/6 +boom/187 +boomerang/26 +boomer/6 +boomtown/9 +boondocks +boondoggle/23 +boondoggler/6 +Boone/6 +Boonie/6 +boonies +boon/7 +Boony/6 +boorishness/7 +boorish/28 +boor/7 +boosterism +booster/6 +boost/49 +boot/36 +bootblack/7 +bootee/7 +Boote/6 +Boötes +Boothe/6 +booth/6 +Booth/6 +booths +bootie's +bootlaces +bootlegged/6 +bootlegger/7 +bootlegging/6 +bootleg/9 +Bootle/6 +bootless +Boot/6 +bootprints +boot's +bootstrapped +bootstrapping +bootstrap/7 +booty/7 +booze/49 +boozer/6 +boozy/54 +bopped +bopping +bop/9 +borate/56 +borax/7 +Bordeaux/6 +bordello/7 +Borden/6 +borderer/6 +border/211 +borderland/7 +borderline/7 +Bordie/6 +Bord/72 +Bordon/6 +Bordy/6 +Borealis/6 +Boreas/6 +boredom/7 +boreholes +borer/6 +bore/179 +Borges +Borgia/6 +Borg/6 +boric +boring/218 +Boris +Bork/6 +born/233 +Borneo/6 +borne/12 +Born/6 +Borodin/6 +boron/7 +borosilicate/6 +borough/6 +boroughs +Borroughs/6 +borrower/6 +borrowing/6 +borrow/234 +borscht/7 +borstal/7 +Boru/6 +borzoi/7 +Bosch/6 +Bose/6 +bosh/7 +Bosnia/6 +Bosnian/9 +bosom's +bosom/180 +bosomy/54 +boson/7 +Bosporus/6 +boss/111 +bossily +bossiness/7 +bossism/7 +bossy/177 +Bostitch/6 +Bostonian/7 +Boston/7 +bosun's +Boswell/7 +botanical/16 +botanic/9 +botanist/7 +botany/7 +botcher/6 +botch/23 +botfly/6 +bother/47 +bothersome +bothy/6 +both/90 +bot/9 +Botswana/6 +Botticelli/6 +bottle/49 +bottleneck/26 +bottler/6 +bottomlessness/6 +bottomless/28 +bottommost +bottom/111 +botulin/6 +botulinus/6 +botulism/7 +Boucher/6 +boudoir/7 +bouffant/9 +bougainvillea/7 +bough/170 +boughs +bought/122 +bouillabaisse/7 +bouillon/7 +boulder/26 +Boulder/6 +boulevard/7 +bouncer/6 +bounce/23 +bouncily +bouncing/19 +bouncy/98 +boundary/7 +bound/235 +boundedness/135 +bounded/236 +bounden +bounder/118 +bounders +bounding +boundlessness/7 +boundless/28 +bounds/58 +bounteousness/7 +bounteous/28 +bountifulness/7 +bountiful/28 +bounty/56 +bouquet/7 +Bourbaki/6 +bourbon/7 +Bourbon/7 +bourgeoisie/7 +bourgeois/6 +Bourke/6 +Bourne/6 +Bournemouth/6 +boutique/7 +bout/7 +boutonničre/7 +Bouvier +Bovary/6 +bovine/16 +Bowditch/6 +bowdlerization/7 +bowdlerize/31 +bowed/12 +bowel/26 +Bowell/6 +Bowen/6 +bower/165 +Bowers +Bowery/6 +Bowes +bowie +Bowie/6 +bowing/6 +bowlder's +bowlegged +bowleg/7 +bowler/6 +bowlful/9 +bowl/49 +bowline/7 +bowling/6 +bowman/6 +Bowman/6 +bowmen +bowser/6 +bowsprit/7 +bows/164 +bowstring/26 +bow/237 +bowwow/26 +boxcar/7 +box/91 +boxer/6 +boxful/6 +boxing/6 +boxlike +boxtops +boxwood/7 +boxy/98 +Boyce/6 +Boycey/6 +Boycie/6 +boycotter/6 +boycott/31 +Boyd/6 +Boyer/6 +boyfriend/7 +boyhood/7 +boyishness/7 +boyish/28 +Boyle/6 +Boy/114 +boy/175 +boyscout +boysenberry/7 +bozo/7 +bpi +bps +BR +brace/211 +braced/12 +bracelet/7 +bracer/6 +brachia +brachium/6 +bracken/7 +bracketed/12 +bracketing/6 +bracket/26 +brackishness/7 +brackish/42 +bract/7 +Bradan/6 +bradawl/6 +Bradbury/6 +Bradburys +bradded +bradding +Braddock/6 +Brade/6 +Braden/6 +Bradford/6 +Bradley/6 +Bradly/6 +Brad/238 +Bradney/6 +Bradshaw/6 +brad/7 +Bradstreet/6 +Brady/6 +brae/7 +braggadocio/7 +braggart/7 +bragged +bragger/7 +braggest +bragging +Bragg/6 +brag/9 +Brahe/6 +Brahma/7 +Brahmanism/7 +Brahman/7 +Brahmaputra/6 +Brahmin's +Brahms +braider/6 +braiding/6 +braid/187 +braille/17 +Braille/26 +Brainard/7 +braincell/9 +brainchild/6 +brainchildren +brain/26 +braininess/7 +brainlessness/6 +brainless/28 +Brain/6 +brainpower/6 +brainstorm/211 +brainstorming/6 +brainteaser/9 +brainteasing +brainwasher/6 +brainwashing/6 +brainwash/187 +brainwave/9 +brainy/98 +braise/17 +brake/26 +brakeman/6 +brakemen/6 +bramble/26 +brambling/6 +brambly/54 +Bram/6 +Brampton/6 +bra/7 +Brana/6 +branched/12 +branching/6 +branchlike +Branch/6 +branch/171 +Branchville/6 +Brandais/6 +Brandea/6 +branded/12 +Brandeis/6 +Brandel/6 +Brande/6 +Brandenburg/6 +Branden/6 +brander/165 +Brander/6 +Brandice/6 +Brandie/6 +Brandi/6 +Brandise/6 +brandish/17 +Brand/206 +Brando/6 +Brandon/6 +brand/49 +Brandt/6 +Brandtr/6 +brandy/26 +Brandy/6 +Brandyn/6 +brandywine +Braniff/6 +Bran/6 +branned +branning +Brannon/6 +bran/7 +Brantley/6 +Brant/6 +Braque/6 +brashness/7 +brash/38 +Brasilia +brasserie/7 +brass/26 +brassiere/7 +brassily +brassiness/7 +brassy/177 +Bratislava/6 +brat/7 +Brattain/6 +bratty/54 +bratwurst/7 +Braun/6 +bravadoes +bravado/6 +brave/77 +braveness/7 +bravery/7 +bravest/6 +bravo/17 +bravura/7 +brawler/6 +brawl/49 +brawniness/7 +brawn/7 +brawny/98 +brayer/6 +Bray/6 +bray/31 +braze/23 +brazenness/7 +brazen/22 +brazer/6 +brazier/7 +Brazilian/7 +Brazil/6 +Brazos/6 +Brazzaville/6 +breacher/6 +breach/49 +breadbasket/7 +breadboard/26 +breadbox/9 +breadcrumb/9 +breadfruit/7 +breadline/7 +bread/239 +breadth/6 +breadths +breadwinner/7 +breakables +breakable/12 +breakage/7 +breakaway/7 +breakdown/7 +breaker/6 +breakfaster/6 +breakfast/49 +breakfront/9 +breaking/6 +breakneck +breakout/7 +breakpoint/26 +break/240 +breakthroughs +breakthrough/7 +breakup/7 +breakwater/7 +bream/17 +Breanne/6 +Brear/6 +breastbone/7 +breastfed +breastfeed/224 +breasting/6 +breast/26 +breastplate/7 +breaststroke/7 +breastwork/7 +breathable/12 +breathalyser/9 +Breathalyzer/7 +breathe +breather/6 +breathing/6 +breathlessness/7 +breathless/28 +breaths +breathtaking/19 +breathy/54 +breath/182 +Brecht/6 +Breckenridge/6 +bred/47 +bredes +breeching/6 +breech/26 +breeder/45 +breeder's +breeding/123 +breeds/45 +breed/210 +Bree/6 +Breena/6 +breeze/26 +breezeway/7 +breezily +breeziness/7 +breezy/98 +Bremen/6 +bremsstrahlung/6 +Brena/6 +Brenda/6 +Brendan/6 +Brenden/6 +Brendin/6 +Brendis/6 +Brendon/6 +Bren/6 +Brenna/6 +Brennan/6 +Brennen/6 +Brenner/6 +Brenn/206 +Brent/6 +Brenton/6 +Bresenham/6 +Brest/6 +brethren +Bret/6 +Breton +Brett/6 +breve/7 +brevet/7 +brevetted +brevetting +breviary/7 +brevity/7 +brew/23 +brewer/6 +Brewer/6 +brewery/7 +brewing/6 +brewpub/9 +Brew/114 +Brewster/6 +Brezhnev/6 +Bria/6 +Briana/6 +Brian/6 +Brianna/6 +Brianne/6 +Briano/6 +Briant/6 +briar's +bribe/23 +briber/6 +bribery/7 +Brice/6 +brickbat/7 +brick/111 +bricklayer/7 +bricklaying/7 +brickmason/9 +brickwork/7 +brickyard/6 +bridal/9 +Bridalveil/6 +bridegroom/7 +Bride/6 +bride/7 +bridesmaid/7 +Bridewell/6 +bridgeable/12 +bridged/12 +bridgehead/7 +Bridgeport/6 +Bridger/6 +Bridges +bridge/26 +Bridget/6 +Bridgetown/6 +Bridgette/6 +Bridgett/6 +Bridgewater/6 +bridgework/7 +bridging/6 +Bridgman/6 +Bridie/6 +bridled/12 +bridle/26 +bridleway/9 +briefcase/7 +briefed/169 +briefing/6 +briefness/7 +briefs/169 +brief/241 +Brien/6 +Brier/6 +brier/7 +Brie/175 +Brietta/6 +brigade/26 +brigadier/7 +Brigadoon +brigandage/7 +brigand/7 +brigantine/7 +Brigg/7 +Brigham/6 +brightener/6 +brighten/242 +bright/243 +Bright/6 +brightness/7 +Brighton/6 +Brigida/6 +Brigid/6 +Brigit/6 +Brigitta/6 +Brigitte/6 +Brig/6 +brig/7 +brilliance/7 +brilliancy/7 +brilliantine/7 +brilliantness/6 +brilliant/46 +Brillo +Brillouin/6 +brimful +brimless +brimmed +brimming +brim/7 +brimstone/7 +Brina/6 +Brindisi/6 +brindle/56 +brine/111 +briner/6 +Briney/6 +bringer/6 +bring/227 +brininess/7 +Brinkley/6 +brinkmanship/7 +brink/7 +Brinna/6 +Brinn/6 +Briny/6 +briny/177 +brioche/7 +Brion/6 +briquet's +briquette/26 +Brisbane/6 +brisket/7 +briskness/7 +brisk/77 +bristle/26 +bristly/54 +Bristol/6 +bristol/9 +Britain/6 +Brita/6 +Britannia/6 +Britannic +Britannica/6 +britches +Briticism/7 +Britisher/6 +Britishly/6 +British/244 +Brit/7 +Britney/6 +Britni/6 +Briton/7 +Britta/6 +Brittaney/6 +Brittani/6 +Brittan/6 +Brittany/7 +Britte/6 +Britten/6 +Britteny/6 +brittleness/7 +brittle/77 +Britt/72 +Brittne/6 +Brittney/6 +Brittni/6 +Brnaba/6 +Brnaby/6 +Brno/6 +broach/31 +broacher/6 +broadband +broadcaster/6 +broadcast/210 +broadcasts/14 +broadcloth/6 +broadcloths +broaden/245 +broadleaved +broadloom/7 +broadminded/42 +broadness/9 +broadsheet/7 +broadside/26 +broadsword/7 +broad/35 +Broadway/7 +Brobdingnagian +Brobdingnag/6 +brocade/26 +broccoli/7 +brochette/7 +brochure/7 +Brockie/6 +Brock/6 +Brocky/6 +Broddie/6 +Broddy/6 +Broderick/6 +Broderic/6 +Brodie/6 +Brod/6 +Brody/6 +brogan/7 +Broglie/6 +brogue/7 +broiler/6 +broil/23 +brokenhearted/19 +brokenness/7 +broken/28 +brokerage/7 +broker/165 +broke/174 +Brok/6 +bromide/7 +bromidic +bromine/7 +bronchial +bronchi/6 +bronchiolar +bronchiole/7 +bronchiolitis +bronchitic/9 +bronchitis/7 +broncho's +bronchus/6 +broncobuster/7 +bronco/7 +bronc/9 +Bron/6 +Bronnie/6 +Bronny/6 +Bronson/6 +Bronte +brontosaur/7 +brontosaurus/7 +Bronx/6 +bronzed/6 +bronze/111 +bronzing/6 +brooch/7 +brooder/6 +broodiness/6 +brooding/19 +broodmare/7 +brood/49 +broody/98 +Brookdale/6 +Brooke/6 +Brookfield/6 +Brookhaven/6 +brooklet/7 +Brooklyn/6 +Brookmont/6 +brook/26 +brookside +Brook/7 +broom/26 +broomstick/7 +Bros +Brose/6 +bro/246 +bros/9 +brothel/7 +brother/247 +brotherhood/7 +brotherliness/7 +brotherly/42 +broths +broth/231 +brougham/7 +brought +brouhaha/7 +browbeat/199 +brow/7 +Brownell/6 +Browne/6 +Brownian/6 +Brownie/7 +brownie/80 +browning/6 +Browning/6 +brownish +Brown/207 +brownness/7 +brownout/7 +brownstone/7 +Brownsville/6 +brown/229 +browse +browser/6 +brows/23 +brr +Br/248 +Brubeck/6 +brucellosis/6 +Bruce/6 +Brucie/6 +Bruckner/6 +Bruegel/6 +Brueghel's +bruin/7 +bruised/12 +bruise/179 +bruiser/6 +Bruis/6 +bruit/17 +Brumidi/6 +Brummel/6 +brunch/26 +Brunei/6 +Brunelleschi/6 +brunet/9 +brunette/7 +Brunhilda/6 +Brunhilde/6 +Bruno/6 +Brunswick/6 +brunt/26 +brusher/6 +brushfire/7 +brushlike +brush/111 +brushoff/9 +brushwood/7 +brushwork/7 +brushy/164 +brusqueness/7 +brusque/33 +Brussels +brutality/7 +brutalization/7 +brutalized/12 +brutalizes/13 +brutalize/17 +brutal/19 +brute/111 +brutishness/7 +brutish/28 +Brutus/6 +Bruxelles/6 +Bryana/6 +Bryan/6 +Bryant/6 +Bryanty/6 +Bryce/6 +Bryna/6 +Bryn/6 +Brynna/6 +Brynne/6 +Brynner/6 +Brynn/114 +Bryon/6 +Brzezinski/6 +B's +BS +BSA +BSD +Btu +BTU +BTW +bu +bubblegum/9 +bubbler/6 +bubble/111 +bubbly/228 +Buber/6 +bub/7 +buboes +bubo/6 +bubonic +buccaneer/26 +Buchanan/6 +Bucharest/6 +Buchenwald/6 +Buchwald/6 +buckaroo/7 +buckboard/7 +bucker/6 +bucketful/7 +bucket/26 +buckeye/7 +buck/111 +buckhorn/6 +Buckie/6 +Buckingham/6 +buckled/12 +buckler/165 +buckle/49 +buckles/12 +Buckley/6 +buckling's +buckling/12 +Buck/6 +Buckner/6 +buckram/26 +bucksaw/7 +buckshot/7 +buckskin/7 +buckteeth +bucktooth/170 +buckwheat/7 +Bucky/6 +bucolically +bucolic/9 +Budapest/6 +budded +Buddha/7 +Buddhism/7 +Buddhist/7 +Buddie/6 +budding/9 +Budd/6 +buddy/26 +Buddy/6 +budge/17 +budgerigar/7 +budgetary +budgeter/6 +budget/49 +budgie/7 +budging/12 +Bud/6 +bud/7 +Budweiser/7 +Buehring/6 +Buena/6 +buffaloes +Buffalo/6 +buffalo/165 +buff/36 +buffered/12 +bufferer/6 +buffer/49 +buffet/171 +bufflehead/6 +buffoonery/7 +buffoonish +buffoon/7 +buff's +Buffy/6 +Buford/6 +bugaboo/7 +Bugatti/6 +bugbear/7 +bug/120 +bugeyed +bugged/169 +buggered +buggering +bugger/249 +buggery/6 +bugging/169 +buggy/80 +bugle/49 +bugler/6 +bug's +Buick/6 +builder/7 +building/7 +build/250 +buildup/7 +built/233 +Buiron/6 +Bujumbura/6 +Bukhara/6 +Bukharin/6 +Bulawayo/6 +Bulba/6 +bulb/26 +bulblet +bulbous +Bulfinch/6 +Bulganin/6 +Bulgaria/6 +Bulgarian/9 +bulge/26 +bulgy/54 +bulimarexia/9 +bulimia/7 +bulimic/9 +bulk/111 +bulkhead/56 +bulkiness/7 +bulky/98 +bulldogged +bulldogger +bulldogging +bulldog/7 +bulldoze/23 +bulldozer/6 +bullet/26 +bulletin/26 +bulletproof/17 +bullfighter/6 +bullfighting/6 +bullfight/198 +bullfinch/7 +bullfrog/7 +bullhead/56 +bullheadedness/7 +bullheaded/28 +bullhide +bullhorn/7 +bullied/6 +bullion/7 +bullishness/7 +bullish/28 +bull/26 +Bullock/6 +bullock/7 +bullpen/7 +bullring/7 +bullseye +bullshit/30 +bullshitted/251 +bullshitter/252 +bullshitting/251 +bullwhackers +Bullwinkle/6 +bullyboy/7 +bullying/6 +bully/172 +bulrush/7 +Bultmann/6 +bulwark/26 +bumblebee/7 +bumble/179 +bumbler/6 +bumbling/19 +Bumbry/6 +bummed/6 +bummer/7 +bummest +bumming/6 +bumper/165 +bump/23 +bumpiness/7 +bumpkin/7 +Bumppo/6 +bumptiousness/7 +bumptious/28 +bumpy/98 +bum/7 +Bunche/6 +bunch/26 +bunchy/54 +buncombe's +bunco's +Bundestag/6 +bundled/12 +bundle/111 +bundler/6 +Bundy/6 +bungalow/7 +bungee/7 +bung/26 +bunghole/7 +bungle/23 +bungler/6 +bungling/19 +Bunin/6 +bunion/7 +bunk/253 +Bunker/6 +bunker's/169 +bunker/26 +bunkhouse/7 +bunkmate/7 +bunko's +bunk's +bunkum/7 +Bunnie/6 +Bunni/6 +Bunny/6 +bunny/7 +Bunsen/7 +bun/7 +bunt/179 +bunting/6 +Buńuel/6 +Bunyan/6 +buoyancy/7 +buoyant/19 +buoy/26 +Burbank/6 +burbler/6 +burble/31 +burbs +Burch/6 +burden's +burdensomeness/6 +burdensome/28 +burden/180 +burdock/7 +bureaucracy/7 +bureaucratically +bureaucratic/12 +bureaucratization/7 +bureaucratize/17 +bureaucrat/7 +bureau/7 +burgeon/17 +burger/6 +Burger/6 +Burgess/6 +burgess/7 +burgher/6 +burgh/231 +burghs +burglarize/17 +burglarproof/17 +burglar/7 +burglary/7 +burgle/17 +burgomaster/7 +Burgoyne/6 +Burg/114 +burg/96 +Burgundian/9 +Burgundy/7 +burgundy/9 +burial/48 +buried/12 +burier/6 +Burke/6 +Burk/7 +burlap/7 +burler/6 +burlesquer/6 +burlesque/254 +burley/6 +Burlie/6 +burliness/7 +Burlingame/6 +Burlington/6 +Burl/6 +burl/111 +burly/98 +Burma/6 +Burmese +bur/65 +burnable/9 +Burnaby/6 +Burnard/6 +burned/12 +Burne/7 +burner/6 +Burnett/6 +burn/234 +burning/19 +burnisher/6 +burnish/23 +burnoose/7 +burnout/7 +Burns +Burnside/7 +burnt/28 +burp/26 +burr/111 +Burris/6 +burrito/9 +Burr/6 +burro/7 +Burroughs/6 +burrower/6 +burrow/49 +bursae +bursa/6 +Bursa/6 +bursar/7 +bursary/7 +bursitis/7 +burster/6 +burst/255 +Burtie/6 +Burt/6 +Burton/6 +Burty/6 +Burundian/9 +Burundi/6 +bury/36 +busboy/7 +busby/7 +Busch/6 +buses/14 +busgirl/9 +bus/171 +bushel/171 +Bushido/6 +bushiness/7 +bushing/6 +bush/211 +bushland +Bush/6 +bushman/6 +bushmaster/7 +bushmen +Bushnell/6 +bushwhacker/6 +bushwhacking/6 +bushwhack/23 +bushy/98 +busily +businesslike +businessman/6 +businessmen +business/7 +businesspeople +businessperson/9 +businesswoman/6 +businesswomen +busker/6 +busk/256 +buskin/7 +bus's/14 +buss/81 +bustard/7 +buster/6 +bustle/17 +bustling/19 +bust/49 +busty/54 +busybody/7 +busy/226 +busyness/7 +busywork/7 +but/257 +butane/7 +butcherer/6 +butcher/258 +butchery/7 +Butch/6 +butch/110 +butene/6 +Butler/6 +butler/26 +butted/14 +butte/7 +butterball/7 +buttercup/7 +buttered/12 +butterfat/7 +Butterfield/6 +butterfingered +butterfingers/6 +butterfly/26 +buttermilk/7 +butternut/7 +butter/259 +butterscotch/7 +buttery/228 +butting/6 +buttock/26 +buttoner/6 +buttonhole/111 +buttonholer/6 +button's +button/180 +buttonweed +buttonwood/7 +buttress/26 +butt/49 +butyl/6 +butyrate/6 +buxomness/6 +buxom/33 +Buxtehude/6 +buyback/9 +buyer/6 +buyout/9 +buy/227 +buzzard/7 +buzz/49 +buzzer/6 +buzzword/7 +buzzy +bx +bxs +byelaw's +Byelorussia's +bye/260 +Byers/6 +bygone/9 +bylaw/7 +byliner/6 +byline/111 +BYOB +bypass/26 +bypath/6 +bypaths +byplay/9 +byproduct/7 +Byram/6 +Byran/6 +Byrann/6 +Byrd/6 +byre/7 +Byrle/6 +Byrne/6 +byroad/7 +Byrom/6 +Byronic +Byronism/6 +Byron/6 +bystander/7 +byte/7 +byway/7 +byword/7 +byzantine +Byzantine/9 +Byzantium/6 +by/90 +C +ca +CA +cabala/7 +caballed +caballero/7 +caballing +cabal/7 +cabana/7 +cabaret/7 +cabbage/26 +cabbed +cabbing +cabby's +cabdriver/7 +caber/6 +Cabernet/6 +cabinetmaker/7 +cabinetmaking/7 +cabinet/7 +cabinetry/7 +cabinetwork/7 +cabin/26 +cablecast/166 +cable/26 +cablegram/7 +cabochon/7 +caboodle/7 +caboose/7 +Cabot/6 +Cabrera/6 +Cabrini/6 +cabriolet/7 +cab/175 +cabstand/7 +cacao/7 +cacciatore +cache/111 +cachepot/7 +cachet/26 +Cacilia/6 +Cacilie/6 +cackler/6 +cackle/23 +cackly +CACM +cacophonist +cacophonous +cacophony/7 +cacti +cactus/6 +CAD +cadaverous/19 +cadaver/7 +caddishness/7 +caddish/28 +Caddric/6 +caddy/26 +cadence/186 +cadenced +cadencing +cadent/169 +cadenza/7 +cadet/7 +Cadette/9 +cadge/23 +cadger/6 +Cadillac/7 +Cadiz/6 +Cad/6 +cadmium/7 +cadre/7 +cad/7 +caducei +caduceus/6 +Caedmon/6 +Caesar/7 +caesura/7 +cafe/7 +café/7 +cafeteria/7 +caffeine/7 +caffeinated +caftan/7 +caged/12 +Cage/6 +cage/49 +cager/6 +cagey/42 +cagier +cagiest +cagily +caginess/7 +Cagney/6 +Cahokia/6 +cahoot/7 +Cahra/6 +CAI +Caiaphas/6 +caiman's +Caine/6 +Cain/7 +Cairistiona/6 +cairn/56 +Cairo/6 +caisson/7 +caitiff/7 +Caitlin/6 +Caitrin/6 +cajole/27 +cajolement/7 +cajoler/6 +cajolery/7 +Cajun/7 +cake/26 +cakewalk/26 +calabash/7 +calaboose/7 +Calais/6 +calamari/9 +calamine/26 +calamitousness/6 +calamitous/28 +calamity/7 +cal/169 +calcareousness/6 +calcareous/28 +calciferous +calcification/6 +calcify/15 +calcimine/26 +calcine/17 +calcite/7 +calcium/7 +Calcomp/6 +CalComp/6 +CALCOMP/6 +calculability/123 +calculable/261 +calculate/132 +calculated/28 +calculatingly +calculating/12 +calculation/118 +calculative +calculator/7 +calculi +calculus/6 +Calcutta/6 +caldera/7 +Calder/6 +Calderon/6 +caldron's +Caldwell/6 +Caleb/6 +Caledonia/6 +Cale/6 +calendar/26 +calender/26 +calf/6 +calfskin/7 +Calgary/6 +Calhoun/6 +Caliban/6 +caliber/7 +calibrated/12 +calibrater's +calibrate/15 +calibrating/14 +calibration/6 +calibrator/7 +calicoes +calico/6 +Calida/6 +Calif/6 +California/6 +Californian/7 +californium/7 +calif's +Caligula/6 +Cali/6 +caliper/26 +caliphate/7 +caliph/6 +caliphs +calisthenic/9 +calisthenics/6 +Callaghan/6 +call/262 +Callahan/6 +calla/7 +Calla/7 +Callao/6 +callback/9 +Callean/6 +called/12 +callee/6 +caller/7 +Calley/6 +Callida/6 +Callie/6 +calligrapher/6 +calligraphic +calligraphist/7 +calligraph/90 +calligraphy/7 +Calli/6 +calling/7 +Calliope/6 +calliope/7 +callisthenics's +Callisto/6 +callosity/7 +callousness/7 +callous/22 +callowness/7 +callow/177 +callus/26 +Cally/6 +calming/19 +calmness/7 +calm/77 +Cal/86 +Caloocan/6 +caloric/9 +calorie/7 +calorific +calorimeter/7 +calorimetric +calorimetry/6 +Caltech/6 +Calumet/6 +calumet/7 +calumniate/15 +calumniation/6 +calumniator/7 +calumnious +calumny/7 +calvary/6 +Calvary/6 +calve/17 +Calvert/6 +calves/6 +Calvinism/7 +Calvinistic +Calvinist/7 +Calvin/6 +Calv/6 +calyces's +Calypso/6 +calypso/7 +calyx/7 +Ca/6 +CAM +Camacho/6 +Camala/6 +camaraderie/7 +camber/26 +cambial +cambium/7 +Cambodia/6 +Cambodian/9 +Cambrian/9 +cambric/7 +Cambridge/6 +camcorder/9 +Camden/6 +camelhair's +Camella/6 +Camellia/6 +camellia/7 +Camel/6 +Camelopardalis/6 +Camelot/6 +camel/7 +Camembert/7 +cameo/26 +camerae +cameraman/6 +cameramen +camera/7 +camerawoman +camerawomen +Cameron/6 +Cameroonian/9 +Cameroon/7 +came/122 +Camey/6 +Camila/6 +Camile/6 +Camilla/6 +Camille/6 +Cami/6 +Camino/6 +camion/6 +camisole/7 +Cam/6 +cammed +Cammie/6 +Cammi/6 +cam/7 +Cammy/6 +Camoens/6 +camomile's +camouflage/49 +camouflager/6 +campaigner/6 +campaign/49 +campanile/7 +campanological +campanologist/7 +campanology/7 +Campbell/6 +Campbellsport/6 +camper/7 +campesinos +campest +campfire/7 +campground/7 +camphor/7 +Campinas/6 +camping/9 +Campos +camp's +camp/263 +campsite/7 +campus/26 +campy/54 +Camry/6 +camshaft/7 +Camus/6 +Canaanite/7 +Canaan/6 +Canada/6 +Canadianism/7 +Canadian/9 +Canad/6 +Canaletto/6 +canalization/7 +canalize/17 +canal/26 +canapé/9 +canard/7 +Canaries +canary/7 +canasta/7 +Canaveral/6 +Canberra/6 +cancan/7 +cancelate/81 +canceled/12 +canceler/6 +cancellation/7 +cancel/23 +cancer/7 +Cancer/7 +cancerous/19 +Cancun/6 +Candace/6 +candelabra/9 +candelabrum/6 +Candice/6 +candidacy/7 +Candida/6 +candidate/7 +candidature/9 +Candide/6 +candidly/12 +candidness/7 +candid/38 +Candie/6 +Candi/7 +candle/49 +candlelight/175 +candlelit +candlepower/7 +candler/6 +candlestick/7 +Candlewick/6 +candlewick/7 +candor/7 +Candra/6 +candy/26 +Candy/6 +canebrake/7 +caner/6 +cane/7 +canine/9 +caning/6 +Canis/6 +canister/26 +cankerous +canker/26 +Can/6 +can/91 +cannabis/7 +canned +cannelloni +canner/7 +cannery/7 +Cannes +cannibalism/7 +cannibalistic +cannibalization/7 +cannibalize/17 +cannibal/7 +cannily/12 +canninesses +canniness/135 +canning/6 +cannister/7 +cannonade/26 +cannonball/26 +Cannon/6 +cannon/26 +cannot +canny/264 +canoe/56 +canoeing/9 +canoeist/7 +Canoga/6 +canonic +canonicalization +canonicalize/17 +canonical/16 +canonist/6 +canonization/7 +canonized/12 +canonize/17 +canon/7 +Canopus/6 +canopy/26 +canst +can't +cantabile/9 +Cantabrigian +cantaloupe/7 +cantankerousness/7 +cantankerous/28 +cantata/7 +cant/265 +canted/58 +canteen/7 +Canterbury/6 +canter/266 +cantered +cantering +canticle/7 +cantilever/26 +canto/7 +cantonal +Cantonese/6 +Canton/6 +cantonment/7 +canton/267 +Cantor/6 +cantor/7 +Cantrell/6 +cant's +cants/14 +Cantu/6 +Canute/6 +canvasback/7 +canvas/111 +canvasser/6 +canvass/23 +canyon/7 +CAP +capability/43 +capableness/123 +capable/261 +capabler +capablest +capably/45 +capaciousness/7 +capacious/28 +capacitance/7 +capacitate/130 +capacitive/19 +capacitor/7 +capacity/43 +caparison/26 +Capek/6 +Capella/6 +caper/165 +capeskin/7 +cape/7 +Capet/6 +Capetown/6 +Caph/6 +capillarity/7 +capillary/9 +Capistrano/6 +capitalism/7 +capitalistic +capitalistically +capitalist/7 +capitalization/48 +capitalized/13 +capitalizer/6 +capitalize/23 +capitalizes/14 +capital/65 +capita/6 +Capitan/6 +capitation/186 +Capitoline/6 +Capitol/7 +capitol/7 +capitulate/132 +capitulation/118 +caplet/9 +cap/268 +Capone/6 +capon/7 +capo/7 +Capote/6 +capped/13 +capping/6 +cappuccino/7 +Cappy/6 +Capra/6 +Caprice/6 +caprice/7 +capriciousness/7 +capricious/28 +Capricorn/7 +Capri/6 +caps/13 +capsicum/7 +capsize/17 +capstan/7 +capstone/7 +capsular +capsule/26 +capsulize/17 +captaincy/7 +captain/26 +caption/111 +captiousness/7 +captious/28 +captivate/15 +captivation/6 +captivator/7 +captive/7 +captivity/7 +Capt/6 +captor/7 +capture/36 +capturer/7 +capt/130 +Capulet/6 +Caputo/6 +Caracalla/6 +Caracas/6 +caracul's +carafe/7 +Caralie/6 +Cara/6 +caramelize/17 +caramel/7 +carapace/7 +carapaxes +carat/7 +Caravaggio/6 +caravan/111 +caravaner/6 +caravansary/7 +caravanserai's +caravel/7 +caraway/7 +carbide/7 +carbine/7 +carbohydrate/7 +carbolic +Carboloy/6 +carbonaceous +carbonate/269 +carbonation/6 +Carbondale/6 +Carbone/7 +carbonic +carboniferous +Carboniferous +carbonization/48 +carbonizer/63 +carbonizer's +carbonizes/14 +carbonize/23 +carbon/7 +carbonyl/6 +carborundum +Carborundum/7 +carboy/7 +carbuncle/56 +carbuncular +carburetor/7 +carburetter/9 +carburettor/7 +carcase/7 +carcass/7 +Carce/6 +carcinogenic +carcinogenicity/7 +carcinogen/7 +carcinoma/7 +cardamom/7 +cardboard/7 +card/137 +Cardenas/6 +carder/7 +carder's/25 +cardholders +cardiac/9 +Cardiff/6 +cardigan/7 +cardinality/7 +cardinal/65 +carding/6 +Cardin/6 +Cardiod/6 +cardiogram/7 +cardiograph/6 +cardiographs +cardioid/6 +cardiologist/7 +cardiology/7 +cardiomegaly/6 +cardiopulmonary +cardiovascular +card's +cardsharp/96 +CARE +cared/12 +careen/17 +careerism/6 +careerist/7 +career/111 +carefree +carefuller +carefullest +carefulness/7 +careful/28 +caregiver/9 +carelessness/7 +careless/28 +Care/6 +Carena/6 +Caren/6 +carer/6 +care/9 +Caresa/6 +Caressa/6 +Caresse/6 +caresser/6 +caressing/19 +caressive/19 +caress/152 +caretaker/7 +caret/7 +careworn +Carey/6 +carfare/7 +cargoes +cargo/6 +carhopped +carhopping +carhop/7 +Caria/6 +Caribbean/9 +Carib/6 +caribou/7 +caricature/26 +caricaturisation +caricaturist/7 +caricaturization +Carie/6 +caries/6 +carillonned +carillonning +carillon/7 +Caril/6 +Carilyn/6 +Cari/6 +Carina/6 +Carine/6 +caring/12 +Carin/6 +Cariotta/6 +carious +Carissa/6 +Carita/6 +Caritta/6 +carjack/179 +Carla/6 +Carlee/6 +Carleen/6 +Carlene/6 +Carlen/6 +Carletonian/6 +Carleton/6 +Carley/6 +Carlie/6 +Carlina/6 +Carline/6 +Carling/6 +Carlin/6 +Carlita/6 +Carl/270 +carload/131 +Carlo/7 +Carlota/6 +Carlotta/6 +Carlsbad/6 +Carlson/6 +Carlton/6 +Carlye/6 +Carlyle/6 +Carly/6 +Carlyn/6 +Carlynne/6 +Carlynn/6 +Carma/6 +Carmela/6 +Carmelia/6 +Carmelina/6 +Carmelita/6 +Carmella/6 +Carmelle/6 +Carmel/6 +Carmelo/6 +Carmencita/6 +Carmen/6 +Carmichael/6 +Carmina/6 +Carmine/6 +carmine/7 +Carmita/6 +Car/238 +Carmon/6 +carnage/7 +carnality/7 +carnal/19 +Carnap/6 +carnation/43 +Carnegie/6 +carnelian/7 +Carney/6 +carney's +carnival/7 +carnivore/7 +carnivorousness/7 +carnivorous/28 +Carnot/6 +Carny/6 +carny/17 +carob/7 +Carola/6 +Carolan/6 +Carolann/6 +Carolee/6 +Carole/6 +caroler/6 +Carolina/7 +Caroline/6 +Carolingian +Carolinian/9 +Carolin/6 +Caroljean/6 +Carol/6 +carol/49 +Carolus/6 +Carolyne/6 +Carolyn/6 +Carolynn/6 +Caro/6 +carom/26 +Caron/6 +carotene/7 +carotid/7 +carousal/7 +carousel/7 +carouser/6 +carouse/23 +carpal/7 +Carpathian/7 +carpel/7 +carpenter/26 +carpentering/6 +Carpenter/6 +carpentry/7 +carper/6 +carpetbagged +carpetbagger/7 +carpetbagging +carpetbag/7 +carpeting/6 +carpet/171 +carpi/6 +carping/19 +carp/49 +carpool/17 +carport/7 +carpus/6 +carrageen/6 +Carree/6 +carrel/7 +carriage/7 +carriageway/7 +Carrie/6 +carrier/6 +Carrier/6 +Carrillo/6 +Carri/6 +carrion/7 +Carrissa/6 +Carr/6 +Carroll/6 +Carrol/6 +carrot/7 +carroty/54 +carrousel's +carryall/7 +Carry/114 +carryout/9 +carryover/9 +carry/23 +carsickness/7 +carsick/42 +Carson/6 +cartage/7 +cartel/7 +carte/6 +carter/6 +Carter/6 +Cartesian +Carthage/6 +Carthaginian/9 +carthorse/7 +Cartier/6 +cartilage/7 +cartilaginous +cartload/7 +cart/49 +Cart/114 +cartographer/7 +cartographic +cartography/7 +carton/26 +cartoon/26 +cartoonist/7 +cartridge/7 +cartwheel/111 +Cartwright/6 +Carty/114 +Caruso/6 +carve/179 +carven +carver/6 +Carver/6 +carving/6 +caryatid/7 +Caryl/6 +Cary/6 +Caryn/6 +car/49 +casaba/7 +Casablanca/6 +Casals/6 +Casandra/6 +Casanova/7 +Casar/6 +casbah/6 +cascade/26 +Cascades/6 +cascara/7 +casebook/7 +case/271 +cased/12 +caseharden/17 +casein/7 +caseload/7 +Case/6 +casement/7 +caseworker/6 +casework/96 +Casey/6 +cashbook/7 +cashew/7 +cash/49 +cashier/26 +cashless +Cash/6 +cashmere/7 +Casie/6 +Casi/6 +casing/6 +casino/7 +casket/26 +cask/26 +Caspar/6 +Casper/6 +Caspian +Cass +Cassandra/7 +Cassandre/6 +Cassandry/6 +Cassatt/6 +Cassaundra/6 +cassava/7 +casserole/26 +cassette/7 +Cassey/6 +cassia/7 +Cassie/6 +Cassi/6 +cassino's +Cassiopeia/6 +Cassite/6 +Cassius/6 +cassock/56 +Cassondra/6 +cassowary/7 +Cassy/6 +Castaneda/6 +castanet/7 +castaway/7 +castellated +caste/216 +caster/6 +cast/91 +castigate/15 +castigation/6 +castigator/7 +Castile's +Castillo/6 +casting/6 +castle/26 +castoff/9 +Castor/6 +castor's +castrate/15 +castration/6 +Castries/6 +Castro/6 +casts/14 +casualness/7 +casual/46 +casualty/7 +casuistic +casuist/7 +casuistry/7 +cataclysmal +cataclysmic +cataclysm/7 +catacomb/7 +catafalque/7 +Catalan/7 +catalepsy/7 +cataleptic/9 +Catalina/6 +cataloger/6 +catalog/49 +Catalonia/6 +catalpa/7 +catalysis/6 +catalyst/7 +catalytic +catalytically +catalyze/17 +catamaran/7 +catapult/26 +cataract/7 +Catarina/6 +catarrh/6 +catarrhs +catastrophe/7 +catastrophic +catastrophically +catatonia/7 +catatonic/9 +Catawba/6 +catbird/7 +catboat/7 +catcall/26 +catchable/12 +catchall/7 +catch/272 +catcher/6 +catchment/7 +catchpenny/9 +catchphrase/9 +catchup/7 +catchword/7 +catchy/54 +catechism/7 +catechist/7 +catechize/17 +catecholamine/7 +categoric +categorical/19 +categorization/7 +categorized/13 +categorize/23 +category/7 +Cate/6 +catenate/273 +catenation/274 +catercorner +caterer/6 +cater/242 +Caterina/6 +catering/6 +Caterpillar +caterpillar/7 +caterwaul/17 +catfish/7 +catgut/7 +Catha/6 +Catharina/6 +Catharine/6 +catharses +catharsis/6 +cathartic/9 +Cathay/6 +cathedral/7 +Cathee/6 +Catherina/6 +Catherine/6 +Catherin/6 +Cather/6 +Cathe/114 +catheterize/17 +catheter/7 +Cathie/6 +Cathi/6 +Cathleen/6 +Cathlene/6 +cathode/7 +cathodic +catholicism +Catholicism/7 +catholicity/7 +catholic/7 +Catholic/9 +Cathrine/6 +Cathrin/6 +Cathryn/6 +Cathyleen/6 +Cathy/6 +Catie/6 +Catiline/6 +Cati/6 +Catina/6 +cationic +cation/7 +catkin/7 +Catlaina/6 +Catlee/6 +catlike +Catlin/6 +catnapped +catnapping +catnap/7 +catnip/7 +Cato/6 +Catrina/6 +Catriona/6 +Catskill/7 +cat/96 +catsup's +cattail/7 +catted +cattery/6 +cattily +cattiness/7 +catting +cattle/6 +cattleman/6 +cattlemen +Catt/6 +catty/177 +Catullus/6 +CATV +catwalk/7 +Caty/6 +Caucasian/9 +Caucasoid/9 +Caucasus/6 +Cauchy/6 +caucus/26 +caudal/19 +caught/12 +cauldron/7 +cauliflower/7 +caulker/6 +caulk/179 +causality/7 +causal/16 +causate/129 +causation/6 +causative/16 +cause/49 +caused/12 +causeless +causerie/7 +causer/6 +causeway/26 +caustically +causticity/7 +caustic/16 +cauterization/7 +cauterized/12 +cauterize/17 +cautionary +cautioner/6 +caution/91 +cautiousness's/45 +cautiousness/7 +cautious/68 +cavalcade/7 +cavalierness/6 +cavalier/22 +cavalryman/6 +cavalrymen +cavalry/7 +caveat/7 +caveatted +caveatting +cave/275 +caveman/6 +cavemen +Cavendish/6 +caver/6 +cavern/26 +cavernous/19 +cave's +caviar/7 +caviler/6 +cavil/179 +caving/7 +cavity/276 +cavort/17 +Cavour/6 +caw/26 +Caxton/6 +Caye/6 +Cayenne/6 +cayenne/7 +Cayla/6 +Cayman/6 +cayman/7 +cay's +cay/120 +Cayuga/6 +cayuse/7 +Caz/6 +Cazzie/6 +c/277 +CB +CBC +Cb/6 +CBS +cc +Cchaddie/6 +CCTV +CCU +CD +CDC/6 +Cd/6 +CDT +Ce +cease/263 +ceasefire/9 +ceaselessness/7 +ceaseless/28 +ceasing/12 +Ceausescu/6 +Cebuano/6 +Cebu/6 +ceca +cecal +Cecelia/6 +Cece/6 +Cecile/6 +Ceciley/6 +Cecilia/6 +Cecilio/6 +Cecilius/6 +Cecilla/6 +Cecil/6 +Cecily/6 +cecum/6 +cedar/7 +ceded/14 +cede/275 +ceder's/278 +ceder/7 +cedes/14 +cedilla/7 +ceding/14 +Ced/6 +Cedric/6 +ceilidh/6 +ceiling/56 +Ceil/6 +celandine/7 +Celanese/6 +Celebes's +celebrant/7 +celebratedness/6 +celebrated/42 +celebrate/15 +celebration/6 +celebrator/7 +celebratory +celebrity/7 +Cele/6 +Celene/6 +celerity/7 +celery/7 +Celesta/6 +celesta/7 +Celeste/6 +celestial/16 +Celestia/6 +Celestina/6 +Celestine/6 +Celestyna/6 +Celestyn/6 +Celia/6 +celibacy/7 +celibate/7 +Celie/6 +Celina/6 +Celinda/6 +Celine/6 +Celinka/6 +Celisse/6 +Celka/6 +cellarer/6 +cellar/111 +Celle/6 +cell/26 +Cellini/6 +cellist/7 +Cello/6 +cello/7 +cellophane/7 +cellphone/9 +cellular/16 +cellulite/9 +celluloid/7 +cellulose/7 +Celsius/9 +Celtic/7 +Celt/7 +cementa +cementer/6 +cementum/7 +cement/49 +cemetery/7 +cenobite/7 +cenobitic +cenotaph/6 +cenotaphs +Cenozoic +censer/7 +censored/12 +censor/26 +censorial +censoriousness/7 +censorious/28 +censorship/7 +censure/66 +censurer/6 +census/26 +centaur/7 +Centaurus/6 +centavo/7 +centenarian/7 +centenary/9 +centennial/16 +center/190 +centerboard/7 +centered +centerer/9 +centerfold/9 +centering/7 +centerline/7 +centerpiece/7 +center's +Centigrade +centigrade/9 +centigram/7 +centiliter/7 +centime/7 +centimeter/7 +centipede/7 +Centralia/6 +centralism/6 +centralist/6 +centrality/7 +centralization/279 +centralize/263 +centralizer/7 +centralizes/14 +central/280 +centrefold's +Centrex +CENTREX/6 +centric/278 +centrifugal/16 +centrifugate/72 +centrifugation/6 +centrifuge/26 +centripetal/19 +centrist/7 +centroid/7 +cent/96 +centurion/7 +century/7 +CEO +cephalic/9 +Cepheid +Cepheus/6 +ceramicist/9 +ceramic/7 +ceramist/7 +cerate/170 +Cerberus/6 +cereal/7 +cerebellar +cerebellum/7 +cerebra +cerebral/16 +cerebrate/15 +cerebration/6 +cerebrum/7 +cerement/7 +ceremonial/46 +ceremoniousness/7 +ceremoniousness's/12 +ceremonious/161 +ceremony/7 +Cerenkov/6 +Ceres/6 +Cerf/6 +cerise/7 +cerium/7 +cermet/7 +CERN/6 +certainer +certainest +certainty/41 +certain/10 +cert/281 +certifiable +certifiably +certificate/26 +certification/104 +certified/12 +certifier/6 +certify/115 +certiorari/6 +certitude/43 +cerulean/7 +Cervantes/6 +cervical +cervices/6 +cervix/6 +Cesarean +cesarean/9 +Cesare/6 +Cesar/6 +Cesaro/6 +cesium/7 +cessation/7 +cession/282 +Cessna/6 +cesspit/6 +cesspool/7 +Cesya/6 +cetacean/9 +cetera/9 +Cetus/6 +Ceylonese +Ceylon/6 +Cezanne/9 +cf +CF +CFC +Cf/6 +CFO +cg +Chablis/7 +Chaddie/6 +Chadd/6 +Chaddy/6 +Chadian/9 +Chad/6 +Chadwick/6 +chafe/31 +chafer/6 +chaffer/52 +chafferer/6 +Chaffey/6 +chaff/111 +chaffinch/7 +Chagall/6 +chagrin/26 +Chaim/6 +chainlike +chain's +chainsaw/17 +chain/180 +chairlady/6 +chairlift/7 +chairman/26 +chairmanship/7 +chairmen +chairperson/7 +chair/26 +chairwoman/6 +chairwomen +chaise/7 +chalcedony/7 +Chaldea/6 +Chaldean/6 +chalet/7 +chalice/56 +chalkboard/7 +chalk/26 +chalkiness/9 +chalkline +chalky/98 +challenged/12 +challenger/6 +challenge/23 +challenging/19 +challis/7 +Chalmers +chamberer/6 +Chamberlain/6 +chamberlain/7 +chambermaid/7 +chamberpot/9 +Chambers/6 +chamber/49 +chambray/7 +chameleon/7 +chamfer/26 +chammy's +chamois/26 +chamomile/7 +champagne/7 +champaign/6 +champ/121 +champion/26 +championship/7 +Champlain/6 +chanced/6 +chance/111 +chancellery/7 +chancellorship/7 +chancellor/7 +Chancellorsville/6 +chancel/7 +Chance/6 +chancery/7 +Chancey/6 +chanciness/9 +chancing/6 +chancre/7 +chancy/98 +Chandal/6 +Chanda/6 +chandelier/7 +Chandigarh/6 +Chandler/6 +chandler/7 +Chandragupta/6 +Chandra/6 +Chandrasekhar/6 +Chandy/6 +Chanel/6 +Chane/6 +Chaney/6 +Changchun/6 +changeabilities +changeability/135 +changeableness/7 +changeable/12 +changeably/12 +changed/12 +change/23 +changeless +changeling/6 +changeover/7 +changer/6 +changing/12 +Chang/6 +Changsha/6 +Chan/6 +Channa/6 +channeler/6 +channeling/6 +channelization/7 +channelize/17 +channellings +channel/49 +Channing/6 +chanson/7 +Chantalle/6 +Chantal/6 +chanter/6 +chanteuse/7 +chantey/7 +chanticleer/7 +Chantilly/6 +chantry/7 +chant/91 +chanty's +Chanukah's +Chao/6 +chaos/7 +chaotic +chaotically +chaparral/7 +chapbook/7 +chapeau/7 +chapel/7 +chaperonage/7 +chaperoned/12 +chaperone's +chaperon/26 +chaplaincy/7 +chaplain/7 +chaplet/7 +Chaplin/6 +Chapman/6 +chap/7 +Chappaquiddick/6 +chapped +chapping +chapter/26 +Chara +charabanc/7 +characterful +characteristically/12 +characteristic/7 +characterizable/7 +characterization/7 +characterize/67 +characterized/12 +characterizer/6 +characterless +character/26 +charade/7 +charbroil/17 +charcoal/26 +Chardonnay +chardonnay/9 +chard/7 +chargeableness/6 +chargeable/42 +charged/12 +charge/153 +charger/154 +chargers +char/166 +Charil/6 +charily +chariness/7 +Charin/6 +charioteer/26 +Chariot/6 +chariot/26 +Charis +charisma/6 +charismata +charismatically +charismatic/9 +Charissa/6 +Charisse/6 +charitablenesses +charitableness/135 +charitable/236 +charitably/12 +Charita/6 +Charity/6 +charity/7 +charlady/6 +Charla/6 +charlatanism/7 +charlatanry/7 +charlatan/7 +Charlean/6 +Charleen/6 +Charlemagne/6 +Charlena/6 +Charlene/6 +Charles/6 +Charleston/7 +Charley/6 +Charlie/6 +Charline/6 +Charlot/6 +Charlotta/6 +Charlotte/6 +Charlottesville/6 +Charlottetown/6 +Charlton/6 +Charmaine/6 +Charmain/6 +Charmane/6 +charmer/6 +Charmian/6 +Charmine/6 +charming/93 +Charmin/6 +Charmion/6 +charmless +charm/49 +Charolais +Charo/6 +Charon/6 +charred +charring +charted/12 +charter/36 +chartered/12 +charterer/7 +charter's +chartist/7 +Chartres/6 +chartreuse/7 +chartroom/9 +chart/182 +charwoman/6 +charwomen +Charybdis/6 +Charyl/6 +chary/98 +Chas +chase/23 +Chase/6 +chaser/6 +chasing/6 +Chasity/6 +chasm/7 +chassis/6 +chastely +chasteness/7 +chasten/17 +chaste/283 +chastisement/7 +chastiser/6 +chastise/27 +Chastity/6 +chastity/7 +chastity's/12 +chasuble/7 +Chateaubriand +château/6 +chateaus +châteaux +châtelaine/7 +chat/7 +Chattahoochee/6 +Chattanooga/6 +chatted +chattel/7 +chatterbox/7 +chatterer/6 +Chatterley/6 +chatter/284 +Chatterton/6 +chattily +chattiness/7 +chatting +chatty/98 +Chaucer/6 +chauffeur/26 +Chaunce/6 +Chauncey/6 +Chautauqua/6 +chauvinism/7 +chauvinistic +chauvinistically +chauvinist/7 +Chavez/6 +chaw +Chayefsky/6 +cheapen/47 +cheapish +cheapness/7 +cheapskate/7 +cheap/35 +cheater/6 +cheat/23 +Chechen/6 +Chechnya/6 +checkable/12 +checkbook/7 +checked/13 +checkerboard/7 +checker/165 +check/66 +checklist/9 +checkmate/26 +checkoff/7 +checkout/9 +checkpoint/7 +checkroom/7 +check's/14 +checks/14 +checksummed +checksumming +checksum/7 +checkup/7 +Cheddar/7 +cheddar/9 +cheekbone/7 +cheek/26 +cheekily +cheekiness/7 +cheeky/98 +cheep/26 +cheerer/6 +cheerfuller +cheerfullest +cheerfulness/7 +cheerful/28 +cheerily +cheeriness/7 +cheerio/9 +Cheerios/6 +cheerleader/7 +cheerlessness/7 +cheerless/28 +cheers/9 +cheery/98 +cheer/284 +cheeseburger/7 +cheesecake/7 +cheesecloth/6 +cheesecloths +cheeseparing/9 +cheese/26 +cheesiness/7 +cheesy/98 +cheetah/6 +cheetahs +Cheeto/6 +Cheever/6 +cheffed +cheffing +chef/7 +Chekhov/6 +chelate/285 +chelation/6 +Chelsae/6 +Chelsea/6 +Chelsey/6 +Chelsie/6 +Chelsy/6 +Chelyabinsk/6 +chem +Che/6 +chemic +chemical/65 +chemiluminescence/6 +chemiluminescent +chemise/7 +chemistry/7 +chemist/7 +chemotherapeutic/9 +chemotherapy/7 +chemurgy/7 +Chengdu +Cheng/6 +chenille/7 +Chen/6 +Cheops/6 +Chere/6 +Cherey/6 +Cherianne/6 +Cherice/6 +Cherida/6 +Cherie/6 +Cherilyn/6 +Cherilynn/6 +Cheri/6 +Cherin/6 +Cherise/6 +cherisher/6 +cherish/31 +Cherish/6 +Cheriton/6 +Cherlyn/6 +Cher/6 +Chernenko/6 +Chernobyl/6 +Cherokee/7 +cheroot/7 +Cherri/6 +Cherrita/6 +Cherry/6 +cherry/7 +chert/7 +cherubic +cherubim/9 +cherub/7 +chervil/7 +Cherye/6 +Cheryl/6 +Chery/6 +Chesapeake/6 +Cheshire/6 +Cheslie/6 +chessboard/7 +chessman/6 +chessmen +chess/7 +Chesterfield/6 +chesterfield/7 +Chester/6 +Chesterton/6 +chestful/9 +chest/286 +chestnut/7 +Cheston/6 +chesty/54 +Chet/6 +Chevalier/6 +chevalier/7 +Cheviot/6 +cheviot/9 +Chev/6 +Chevrolet/6 +chevron/56 +Chevy/6 +chewer/6 +chew/23 +chewiness/9 +chewy/98 +Cheyenne/7 +chg +chge +Chiang/6 +chianti/6 +Chianti/9 +chiaroscuro/7 +Chiarra/6 +Chiba/6 +Chicagoan/7 +Chicago/6 +Chicana/7 +chicane/26 +chicanery/7 +Chicano/7 +chichi/228 +chickadee/7 +Chickasaw/7 +chickenfeed +chicken/165 +chickenhearted +chickenpox/7 +Chickie/6 +Chick/6 +chickpea/7 +chickweed/7 +chick/99 +Chicky/6 +chicle/7 +Chic/6 +chicness/9 +Chico/6 +chicory/7 +chic/38 +chide/17 +chiding/19 +chiefdom/7 +chieftain/7 +chief/287 +chiffonier/7 +chiffon/7 +chigger/7 +chignon/7 +Chihuahua/7 +chihuahua/9 +chilblain/7 +childbearing/7 +childbirth/6 +childbirths +childcare/9 +childes +child/247 +childhood/7 +childishness/7 +childish/28 +childlessness/7 +childless/42 +childlikeness/6 +childlike/42 +childminders +childproof/17 +childrearing +children/6 +Chilean/9 +Chile/7 +chile's +chilies +chili/6 +chiller/6 +chilliness/7 +chilling/19 +chilli's +chill/288 +chillness/7 +chilly/177 +Chilton/6 +Chi/6 +chimaera's +chimaerical +Chimborazo/6 +chime/49 +Chimera/9 +chimera/7 +chimeric +chimerical +chimer/6 +Chimiques +chimney/56 +chimpanzee/7 +chimp/7 +chi/7 +Chimu/6 +Ch'in +China/6 +Chinaman/6 +Chinamen +china/7 +Chinatown/7 +chinchilla/7 +chine/7 +Chinese/6 +Ching/6 +chink/26 +chinless +Chin/6 +chinned +chinner/9 +chinning +chino/7 +Chinook/7 +chin/26 +chinstrap/9 +chintz/7 +chintzy/54 +chipboard/6 +Chipewyan/6 +Chip/6 +chipmunk/7 +chipped +Chippendale/6 +chipper/17 +Chippewa/7 +chipping/7 +chip/7 +Chiquia/6 +Chiquita/6 +chiral +Chirico/6 +chirography/7 +chiropodist/7 +chiropody/7 +chiropractic/7 +chiropractor/7 +chirp/17 +chirpy/54 +chirrup/17 +chiseler/6 +chisel/91 +Chisholm/6 +Chisinau/6 +chitchat/7 +chitchatted +chitchatting +chitinous +chitin/7 +chit/7 +Chittagong/6 +chitterlings +chivalric +chivalrously/12 +chivalrousness/7 +chivalrous/28 +chivalry/7 +chive/26 +chivvy/81 +chivying +chlamydiae +chlamydia/9 +Chloe/6 +Chloette/6 +Chlo/6 +chloral/7 +chlorate/6 +chlordane/7 +chloride/7 +chlorinated/169 +chlorinates/169 +chlorinate/15 +chlorination/6 +chlorine/7 +Chloris +chlorofluorocarbon/9 +chloroform/26 +chlorophyll/7 +chloroplast/7 +chloroquine/6 +chm +Ch/289 +chockablock +chock/111 +chocoholic/9 +chocolate/7 +chocolaty +Choctaw/7 +choiceness/6 +choice/290 +choirboy/7 +choirmaster/7 +choir/26 +chokeberry/6 +chokecherry/7 +choke/23 +choker/6 +chokes/6 +choking/19 +cholera/7 +choleric +choler/7 +cholesterol/7 +choline/6 +cholinesterase/6 +chomp/17 +Chomsky/6 +Chongqing +choose/227 +chooser/6 +choosiness/9 +choosy/98 +chophouse/7 +Chopin/6 +chopped +chopper/26 +choppily +choppiness/7 +chopping +choppy/98 +chop/9 +chopstick/7 +chorale/7 +choral/16 +chordal +chordata +chordate/7 +chording/6 +chord/26 +chorea/7 +chore/291 +choreographer/6 +choreographic +choreographically +choreographs +choreography/7 +choreograph/242 +chorines +chorion/6 +chorister/7 +choroid/9 +chortler/6 +chortle/23 +chorus/26 +chosen/12 +chose/9 +Chou/6 +chowder/26 +chow/26 +Chretien/6 +Chris/6 +chrism/7 +chrissake +Chrisse/6 +Chrissie/6 +Chrissy/6 +Christabella/6 +Christabel/6 +Christalle/6 +Christal/6 +Christa/6 +Christan/6 +Christchurch/6 +Christean/6 +Christel/6 +Christendom/7 +christened/12 +christening/7 +Christen/6 +christen/36 +Christensen/6 +Christenson/6 +Christiana/6 +Christiane/6 +Christianity/7 +Christianize/17 +Christian/7 +Christiano/6 +Christiansen/6 +Christians/122 +Christie/7 +Christi/6 +Christina/6 +Christine/6 +Christin/6 +Christlike +Christmas/7 +Christmastide/7 +Christmastime/9 +Christoffel/6 +Christoffer/6 +Christoforo/6 +Christoper/6 +Christophe/6 +Christopher/6 +Christoph/114 +Christophorus/6 +Christos/6 +Christ/125 +Christye/6 +Christyna/6 +Christy's +Chrisy/6 +chroma/6 +chromate/6 +chromatically +chromaticism/6 +chromaticness/6 +chromatic/144 +chromatics/6 +chromatin/7 +chromatogram/7 +chromatograph +chromatographic +chromatography/6 +chrome/26 +chromic +chromite/6 +chromium/7 +chromosomal +chromosome/7 +chromosphere/6 +chronically +chronicled/12 +chronicler/6 +chronicle/49 +chronic/9 +chronograph/6 +chronographs +chronography +chronological/19 +chronologist/7 +chronology/7 +chronometer/7 +chronometric +Chrotoem/6 +chrysalids +chrysalis/7 +Chrysa/6 +chrysanthemum/7 +Chrysler/6 +Chrysostom/6 +Chrystal/6 +Chrystel/6 +Chryste/6 +chubbiness/7 +chubby/98 +chub/7 +Chucho/6 +chuck/26 +chuckhole/7 +chuckle/17 +chuckling/19 +Chuck/6 +chuff/170 +chugged +chugging +chug/7 +Chukchi/6 +chukka/9 +Chumash/6 +chummed +chummily +chumminess/7 +chumming +chum/7 +chummy/177 +chumping/6 +chump/26 +Chungking's +Chung/6 +chunkiness/7 +chunk/26 +chunky/98 +chuntering +churchgoer/7 +churchgoing/7 +Churchillian +Churchill/6 +churchliness/6 +churchly/42 +churchman/6 +church/116 +churchmen +Church/7 +churchwarden/7 +churchwoman/6 +churchwomen +churchyard/7 +churlishness/7 +churlish/28 +churl/7 +churner/6 +churning/6 +churn/49 +chute/26 +chutney/7 +chutzpah/6 +chutzpahs +chutzpa/7 +Chuvash/6 +ch/146 +chyme/7 +Ci +CIA +ciao/9 +cicada/7 +cicatrice/9 +cicatrix's +Cicely/6 +Cicero/6 +cicerone/7 +ciceroni +Ciceronian +Cicily/6 +CID +cider's/169 +cider/7 +Cid/6 +Ciel/6 +cigarette/7 +cigarillo/7 +cigar/7 +cilantro/9 +cilia/6 +ciliate/292 +ciliately +cilium/6 +Cilka/6 +cinch/26 +cinchona/7 +Cincinnati/6 +cincture/26 +Cinda/6 +Cindee/6 +Cindelyn/6 +cinder/26 +Cinderella/7 +Cindie/6 +Cindi/6 +Cindra/6 +Cindy/6 +cine/6 +cinema/7 +cinematic +cinematographer/7 +cinematographic +cinematography/7 +Cinerama/6 +cinnabar/7 +Cinnamon/6 +cinnamon/7 +ciphered/169 +cipher/26 +ciphers/169 +cir +circa +circadian +Circe/6 +circler/6 +circle/111 +circlet/7 +circuital +circuit/26 +circuitousness/7 +circuitous/28 +circuitry/7 +circuity/7 +circulant +circularity/7 +circularize/17 +circularness/6 +circular/32 +circulate/293 +circulation/118 +circulations +circulative +circulatory +circumcise/294 +circumcised/12 +circumciser/6 +circumcision/6 +circumference/7 +circumferential/19 +circumflex/26 +circumlocution/7 +circumlocutory +circumnavigate/15 +circumnavigational +circumnavigation/6 +circumpolar +circumscribe/17 +circumscription/7 +circumspection/7 +circumspect/19 +circumsphere +circumstance/26 +circumstantial/16 +circumvention/7 +circumvent/88 +circus/7 +Cirillo/6 +Cirilo/6 +Ciro/6 +cirque/7 +cirrhoses +cirrhosis/6 +cirrhotic/9 +cirri/6 +cirrus/6 +Cissiee/6 +Cissy/6 +cistern/7 +citadel/7 +citations/45 +citation/48 +cit/17 +cite/295 +Citibank/6 +citified +citizenry/7 +citizenship/7 +citizen/65 +citrate/170 +citric +Citroen/6 +citronella/7 +citron/7 +citrus/7 +city/56 +cityscape/7 +citywide +civet/7 +civic/9 +civics/6 +civilian/7 +civility/43 +civilizational/7 +civilization/48 +civilizedness/6 +civilized/236 +civilize/23 +civilizer/6 +civilizes/13 +civil/10 +civvies +ck/169 +clack/17 +cladding/7 +clads +clad/12 +Claiborne/6 +Claiborn/6 +claimable +claimant/7 +claim/296 +claimed/12 +claimer/297 +Claire/6 +Clair/6 +Clairol/6 +clairvoyance/7 +clairvoyant/16 +clambake/7 +clamberer/6 +clamber/23 +clammed +clammily +clamminess/7 +clamming +clam/7 +clammy/98 +clamorer/6 +clamor/49 +clamorousness/135 +clamorous/161 +clampdown/7 +clamper/6 +clamp/111 +clamshell/7 +Clancy/6 +clandestineness/6 +clandestine/28 +clanger/6 +clangor/26 +clangorous/19 +clang/23 +clanking/19 +clank/26 +clan/7 +clannishness/7 +clannish/28 +clansman/6 +clansmen +clapboard/26 +Clapeyron/6 +clapped +clapper/26 +clapping +clap/9 +Clapton/6 +claptrap/7 +claque/7 +Clarabelle/6 +Clara/6 +Clarance/6 +Clare/6 +Claremont/6 +Clarence/6 +Clarendon/6 +Claresta/6 +Clareta/6 +claret/26 +Claretta/6 +Clarette/6 +Clarey/6 +Claribel/6 +Clarice/6 +Clarie/6 +clarification/6 +clarifier/6 +clarify/294 +Clari/6 +Clarinda/6 +Clarine/6 +clarinetist/7 +clarinet/7 +clarinettist's +clarion/26 +Clarissa/6 +Clarisse/6 +Clarita/6 +clarities +clarity/135 +Clarke/6 +Clark/6 +Clarridge/6 +Clary/6 +clasher/6 +clash/31 +clasped/6 +clasper/6 +clasp's +clasp/180 +classer/6 +class/111 +classical/19 +classicism/7 +classicist/7 +classic/9 +classics/6 +classifiable/12 +classification/104 +classificatory +classified/9 +classifier/7 +classify/103 +classiness/7 +classless/42 +classmate/7 +classroom/7 +classwork/6 +classy/98 +clatterer/6 +clattering/19 +clatter/31 +clattery +Claudelle/6 +Claudell/6 +Claude/6 +Claudetta/6 +Claudette/6 +Claudia/6 +Claudian/6 +Claudianus/6 +Claudie/6 +Claudina/6 +Claudine/6 +Claudio/6 +Claudius/6 +clausal +clause/7 +Clausen/6 +Clausewitz/6 +Clausius/6 +Claus/72 +claustrophobia/7 +claustrophobic +clave/114 +clave's/278 +clavichord/7 +clavicle/7 +clavier/7 +clawer/6 +claw/111 +Clayborne/6 +Clayborn/6 +Claybourne/6 +clayey +clayier +clayiest +Clay/6 +clay/26 +claymore/7 +Clayson/6 +Clayton/6 +Clea/6 +cleanable +cleaner/7 +cleaning/7 +cleanliness/41 +cleanly/264 +cleanness/41 +cleanse +cleanser/6 +cleans/23 +cleanup/7 +clean/298 +clearance/7 +clearcut +clearer/6 +clearheadedness/6 +clearheaded/28 +clearinghouse/9 +clearing/7 +clearly +clearness/7 +clears +clear/299 +Clearwater/6 +clearway/6 +cleat/26 +cleavage/7 +cleaver/6 +cleave/23 +Cleavland/6 +clef/7 +cleft/26 +clematis/7 +clemence +Clemenceau/6 +Clemence/6 +clemency/43 +Clemente/6 +Clementia/6 +Clementina/6 +Clementine/6 +Clementius/6 +clement/51 +Clement/7 +clements +Clemmie/6 +Clemmy/6 +Clemons +Clemson/6 +Clem/73 +clenches +clenching +clench/300 +Cleo/6 +Cleon/6 +Cleopatra/6 +Clerc/6 +clerestory/7 +clergyman/6 +clergymen +clergy/7 +clergywoman +clergywomen +clericalism/7 +clerical/16 +cleric/7 +Clerissa/6 +clerk/116 +clerkship/7 +Cletis +Cletus/6 +Cleveland/6 +Cleve/6 +cleverness/7 +clever/33 +Clevey/6 +Clevie/6 +clevis/7 +clew/26 +cl/301 +Cliburn/6 +clichéd +cliché/7 +clicker/6 +click/49 +clientčle/7 +client/7 +cliffhanger/7 +cliffhanging +Cliff/6 +Clifford/6 +cliff/7 +Clifton/6 +climacteric/7 +climactic +climate/7 +climatic +climatically +climatological/19 +climatologist/7 +climatology/7 +climax/26 +climbable/12 +climb/234 +climbdown +climbed/12 +climber/6 +clime/7 +Clim/6 +clinch/23 +clincher/6 +clinching/19 +Cline/6 +clinger/7 +clinging +cling/12 +clingy/54 +clinical/19 +clinician/7 +clinic/7 +clinker/165 +clink/23 +clinometer/43 +Clint/6 +Clinton/6 +Clio/6 +cliometrician/9 +cliometric/9 +clipboard/7 +clipped/12 +clipper/7 +clipping/7 +clip/7 +clique/26 +cliquey +cliquier +cliquiest +cliquishness/7 +cliquish/28 +clitoral +clitorides +clitoris/7 +Clive/6 +cloacae +cloaca/6 +cloakroom/7 +cloak's +cloak/180 +clobber/17 +cloche/7 +clocker/6 +clockmaker/6 +clock/91 +clockwatcher +clockwise +clockwork/7 +clodded +clodding +cloddishness/6 +cloddish/42 +clodhopper/7 +clod/7 +Cloe/6 +clogged/12 +clogging/12 +clog's +clog/302 +cloisonné +cloisonnes +cloister/26 +cloistral +Clo/6 +clomp/26 +clonal +clone/49 +clonk/17 +clopped +clopping +clop/9 +Cloris/6 +closed/12 +close/137 +closefisted +closely +closemouthed +closeness/7 +closeout/7 +closer/82 +closers +closest +closet/26 +closeup/9 +closing/9 +closured +closure/85 +closure's/45 +closuring +clothbound +clothesbrush +clotheshorse/7 +clothesline/26 +clothesman +clothesmen +clothespin/7 +clothe/180 +cloth/171 +clothier/7 +clothing/6 +Clotho/6 +cloths +Clotilda/6 +clot/7 +clotted +clotting +cloture/26 +cloudburst/7 +clouded/12 +cloudiness/7 +cloudlessness/6 +cloudless/28 +cloudscape/7 +cloud/26 +cloudy/98 +clout/26 +cloven +cloverleaf/7 +clover/6 +clove/96 +Clovis/6 +clown/26 +clownishness/7 +clownish/28 +cloy/17 +cloying/19 +clubbed/6 +clubbing/6 +clubfeet +clubfoot/170 +clubhouse/7 +club/7 +clubroom/7 +cluck/26 +clueless +clue/26 +Cluj/6 +clump/26 +clumpy/54 +clumsily +clumsiness/7 +clumsy/98 +clung +clunk/49 +clunky/33 +clustered/13 +clusters/14 +cluster/171 +clutch/17 +cluttered/12 +clutter/17 +Cl/303 +Clyde/6 +Clydesdale/6 +Cly/6 +Clytemnestra/6 +Clyve/6 +Clywd/6 +cm +Cm/6 +CMOS +cnidarian/7 +CNN +CNS +CO +coacher/6 +coachman/6 +coachmen +coach/111 +coachwork/6 +coadjutor/7 +coagulable +coagulant/7 +coagulate/15 +coagulation/6 +coagulator/9 +coaler/6 +coalesce/17 +coalescence/7 +coalescent +coalface/7 +coalfield/7 +coalitionist/7 +coalition/7 +coal/111 +coalminers +coarseness/7 +coarsen/17 +coarse/33 +coastal +coaster/6 +coastguard/7 +coastline/7 +coast/49 +coated/12 +Coates/6 +coating/6 +coat/91 +coattail/9 +coattest +coauthor/26 +coaxer/6 +coax/23 +coaxial/19 +coaxing/19 +Cobain/6 +cobalt/7 +cobbed +Cobbie/6 +cobbing +cobbler/6 +cobble/49 +cobblestone/56 +Cobb/6 +Cobby/6 +coble/6 +Cob/6 +COBOL +Cobol/6 +cobra/7 +cob/7 +cobwebbed +cobwebbing +cobwebby/54 +cobweb/7 +cocaine/7 +coca/7 +cocci/7 +coccus/6 +coccyges +coccyx/6 +Cochabamba/6 +cochineal/7 +Cochin/6 +Cochise/6 +cochleae +cochlear +cochlea/7 +Cochran/6 +cockade/7 +cockamamie +cockatoo/7 +cockatrice/7 +cockcrow/7 +cockerel/7 +cocker/6 +cockeye/170 +cockeyed/28 +cockfighting/6 +cockfight/304 +cock/111 +cockily +cockiness/7 +cocklebur/6 +cockle/26 +cockleshell/7 +Cockney +cockney/7 +cockpit/7 +cockroach/7 +cockscomb/7 +cockshies +cocksucker/252 +cocksure +cocktail/26 +cocky/98 +cocoa/7 +coco/7 +coconut/7 +cocoon/26 +Cocteau/6 +COD +coda/7 +codded +codding +coddle/31 +coddler/6 +codebook/9 +codebreak/164 +coded/13 +Codee/6 +codeine/7 +codename/81 +codependency/9 +codependent/9 +coder/266 +code's +co/305 +codes/14 +code/306 +codetermine/9 +codeword/7 +codex/6 +codfish/7 +codger/7 +codices/6 +codicil/7 +Codie/6 +codification/6 +codifier/6 +codify/115 +Codi/6 +coding/6 +codling/6 +Cod/6 +cod/91 +codpiece/7 +Cody/6 +coedited +coediting +coeditor/7 +coedits +coed/7 +coeducational +coeducation/7 +coefficient/65 +coelenterate/7 +coequal/16 +coercer/6 +coerce/307 +coercible/45 +coercion/6 +coerciveness/6 +coercive/28 +coeval/16 +coexistence/7 +coexistent +coexist/17 +coextensive/19 +cofactor/7 +coffeecake/7 +coffeecup +coffeehouse/7 +coffeemaker/9 +coffeepot/7 +coffee/7 +cofferdam/7 +coffer/26 +Coffey/6 +coffin/26 +Coffman/6 +cogency/7 +cogent/19 +cogged +cogging +cogitate/24 +cogitation/6 +cogitator/7 +cog/7 +Cognac/6 +cognac/7 +cognate/308 +cognation/6 +cognitional +cognition/48 +cognitive/16 +cognizable +cognizance/309 +cognizances/14 +cognizant/45 +cognomen/7 +cognoscente +cognoscenti +cogwheel/7 +cohabitant/7 +cohabitational +cohabitation/7 +cohabit/17 +Cohan/6 +coheir/7 +Cohen/6 +cohere/31 +coherence/43 +coherencies +coherency/45 +coherent/51 +coherer/6 +cohesion/7 +cohesiveness/7 +cohesive/28 +Cohn/6 +cohoes +coho/7 +cohort/7 +coiffed +coiffing +coiffure/26 +coif/7 +coil/310 +Coimbatore/6 +coinage's/14 +coinage/7 +coincide/17 +coincidence/7 +coincidental/19 +coincident/19 +coined/12 +coiner/6 +coin/49 +coinsurance/7 +Cointon/6 +cointreau +coital/19 +coitus/7 +coke/26 +Coke/7 +COL +COLA +colander/7 +Colan/6 +Colas +cola/7 +colatitude/7 +Colbert/6 +Colby/6 +coldblooded +coldish +coldness/7 +cold/38 +Coleen/6 +Cole/6 +Coleman/6 +Colene/6 +Coleridge/6 +coleslaw/7 +Colet/6 +Coletta/6 +Colette/6 +coleus/7 +Colfax/6 +Colgate/6 +colicky +colic/7 +coliform +Colin/6 +coliseum/7 +colitis/7 +collaborate/24 +collaboration/6 +collaborative/16 +collaborator/7 +collage/26 +collagen/6 +collapse/17 +collapsibility/6 +collapsible +collarbone/7 +collar/26 +collard/7 +collarless +collated/12 +collateral/65 +collate/24 +collation/6 +collator/7 +colleague/26 +collectedness/6 +collected/28 +collectible/9 +collection/48 +collective/16 +collectivism/7 +collectivist/7 +collectivity/7 +collectivization/7 +collectivize/17 +collector/7 +collect/36 +Colleen/6 +colleen/7 +college/7 +collegiality/9 +collegian/7 +collegiate/19 +Collen/6 +Collete/6 +Collette/6 +coll/224 +collide/17 +Collie/6 +collie/192 +collier/6 +Collier/6 +colliery/7 +collimate/169 +collimated/12 +collimates +collimating +collimation/6 +collimator/6 +collinear +collinearity/6 +Colline/6 +Collin/7 +collisional +collision/7 +collocate/15 +collocation/6 +colloidal/19 +colloid/7 +colloq +colloquialism/7 +colloquial/16 +colloquies +colloquium/7 +colloquy/6 +collude/17 +collusion/7 +collusive +collying +Colly/114 +Colman/6 +Col/86 +Cologne/6 +cologne/56 +Colo/6 +Colombia/6 +Colombian/9 +Colombo/6 +colonelcy/7 +colonel/7 +colonialism/7 +colonialist/7 +colonial/46 +colonist/7 +colonization/279 +colonize/311 +colonized/12 +colonizer/7 +colonizes/12 +Colon/6 +colonnade/56 +colon/7 +colony/7 +colophon/7 +Coloradan/9 +Coloradoan/9 +Colorado/6 +colorant/7 +coloration/85 +coloratura/7 +colorblindness/9 +colorblind/42 +colored/312 +colorer/6 +colorfastness/7 +colorfast/42 +colorfulness/7 +colorful/28 +colorimeter/7 +colorimetry +coloring/6 +colorization/9 +colorize/17 +colorizing/169 +colorlessness/7 +colorless/28 +colors/145 +color/91 +colossal/19 +Colosseum/6 +colossi +colossus/6 +colostomy/7 +colostrum/7 +col/142 +colter/6 +coltishness/6 +coltish/28 +Colt/6 +colt/175 +Coltrane/6 +Columbia/6 +Columbian +Columbine/6 +columbine/7 +Columbus/6 +columnar +columnist/7 +columnize/17 +column/56 +Colver/6 +Co/6 +comae +comaker/7 +Comanche/7 +coma/7 +comatose +combatant/7 +combativeness/7 +combative/28 +combat/163 +combed/12 +comber/6 +combinational/14 +combination/48 +combinatorial/19 +combinatoric/9 +combinator/7 +combined/13 +combiner/6 +combines/14 +combine/67 +combining/14 +combo/7 +comb/91 +Combs/6 +combusted +combustibility/7 +combustible/230 +combustion/7 +combustive +Comdex/6 +Comdr/6 +comeback/7 +comedian/7 +comedic +comedienne/7 +comedown/7 +comedy/7 +come/313 +comeliness/7 +comely/98 +comer/123 +comes/6 +comestible/7 +cometary +cometh +comet/7 +comeuppance/7 +comfit's +comfit/314 +comfortability/9 +comfortableness/7 +comfortable/12 +comfortably/12 +comforted/12 +comforter/7 +comfort/74 +comforting/75 +comfy/54 +comicality/7 +comical/19 +comic/7 +Cominform/6 +comity/7 +com/315 +comm +Com/6 +comma/7 +commandant/7 +commandeer/17 +commander/6 +commanding/19 +commandment/7 +commando/7 +command/191 +commemorate/24 +commemoration/6 +commemorative/16 +commemorator/9 +commence/102 +commencement/48 +commencer/6 +commendably +commendation/48 +commendatory/14 +commender/118 +commend/262 +commensurable/45 +commensurate/51 +commensurates +commensuration/7 +commentary/7 +commentate/17 +commentator/7 +commenter/6 +comment's +comment/180 +commerce/26 +commercialism/7 +commercialization/7 +commercialize/17 +commercial/46 +Commie +commie/7 +commingle/17 +commiserate/24 +commiseration/6 +commissariat/7 +commissar/7 +commissary/7 +commission/311 +commissioner/7 +commission's/14 +commitment/7 +commit/63 +committable +committal/118 +committals +committed/13 +committeeman/6 +committeemen +committee/7 +committeewoman/6 +committeewomen +committing/14 +commode/7 +commodes/316 +commodiousness/123 +commodious/68 +commodity/7 +commodore/7 +commonality/7 +commonalty/7 +commoner/7 +commonness/41 +commonplaceness/6 +commonplace/144 +common/317 +commonsense +commons/6 +Commons/6 +commonweal/216 +commonwealth/6 +Commonwealth/6 +commonwealths +Commonwealths +commotion/7 +communality/6 +communal/19 +commune/15 +communicability/7 +communicable/44 +communicably +communicant/7 +communicate/24 +communicational +communication/6 +communicativeness/6 +communicative/28 +communicator/7 +communion/6 +Communion/7 +communique/9 +communism/7 +Communism/9 +communistic +communist/7 +Communist/9 +communitarian/6 +community/7 +communize/17 +commutable/45 +commutate/24 +commutation/6 +commutative/19 +commutativity +commutator/7 +commute/67 +commuter/6 +Comoros +compaction/6 +compactness/7 +compactor/7 +compact/100 +companionableness/6 +companionable/42 +companionably +companion/57 +companionship/7 +companionway/7 +company/26 +Compaq/6 +comparabilities +comparability/123 +comparableness/6 +comparable/42 +comparably/45 +comparativeness/6 +comparative/46 +comparator/7 +compare/318 +comparer/6 +comparison/7 +compartmental +compartmentalization/7 +compartmentalize/17 +compartment/26 +compassionateness/6 +compassionate/22 +compassion/7 +compass/26 +compatibility/43 +compatibleness/6 +compatible/230 +compatibly/45 +compatriot/7 +compeer/26 +compellable +compelled +compelling/86 +compel/9 +compendious +compendium/7 +compensable +compensated/12 +compensate/24 +compensation/6 +compensator/6 +compensatory +compete/17 +competence/43 +competency/230 +competency's +competent/51 +competition/7 +competitiveness/7 +competitive/28 +competitor/7 +comp/183 +compilable/12 +compilation/48 +compile/311 +compiler/120 +compiler's +complacence/9 +complacency/7 +complacent/19 +complainant/7 +complainer/6 +complain/23 +complaining/10 +complaint/7 +complaisance/7 +complaisant/19 +complected +complementariness/6 +complementarity +complementary/144 +complementation/6 +complementer/6 +complement/49 +complete/319 +completed/12 +completely/45 +completeness/43 +completer/6 +completion/123 +complexional +complexion/56 +complexity/7 +complexness/6 +complex/77 +compliance/7 +compliant/19 +complicatedness/6 +complicated/28 +complicate/17 +complication/6 +complicator/7 +complicit +complicity/7 +complier/6 +complimentary/12 +complimenter/6 +compliment/49 +comply/115 +component/7 +comport/11 +comportment/7 +compose/320 +composedness/6 +composed/28 +composer/266 +composers +composite/215 +compositional/19 +composition/104 +compositions/169 +compositor/7 +compost/26 +composure/85 +compote/7 +compounded/12 +compounder/6 +compound/101 +comprehend/17 +comprehending/12 +comprehensibility/43 +comprehensibleness/123 +comprehensible/261 +comprehensibly/45 +comprehension/43 +comprehensiveness/7 +comprehensive/46 +compressed/19 +compressibility/123 +compressible/45 +compressional +compression/186 +compressive/19 +compressor/7 +compress/321 +comprise/17 +compromiser/6 +compromise/49 +compromising/10 +Compton/6 +comptroller/7 +compulsion/7 +compulsiveness/7 +compulsive/46 +compulsivity +compulsorily +compulsory/9 +compunction/7 +Compuserve/6 +CompuServe/6 +computability/6 +computable/44 +computably +computational/19 +computation/7 +computed/14 +computerese +computerization/7 +computerize/17 +computer/6 +compute/67 +computes/14 +computing/14 +comradely/42 +comradeship/7 +comrade/65 +Comte/6 +Conakry/6 +Conan/6 +Conant/6 +concatenate/322 +concaveness/7 +concave/28 +conceal/53 +concealed/12 +concealer/6 +concealing/19 +concealment/7 +conceded/19 +conceitedness/7 +conceited/28 +conceit/26 +conceivable/44 +conceivably/45 +conceive/318 +conceiver/6 +concentrate/24 +concentration/6 +concentrator/7 +concentrically +Concepción/6 +conceptional +conception/7 +concept/76 +conceptuality/6 +conceptualization/14 +conceptualizations +conceptualization's +conceptualize/31 +conceptualizing/14 +conceptual/19 +concerned/10 +concern/180 +concerted/28 +concert/84 +concertina/26 +concertize/17 +concertmaster/7 +concerto/7 +concert's +concessionaire/7 +concessional +concessionary +concession/164 +Concetta/6 +Concettina/6 +Conchita/6 +conch/165 +conchs +concierge/7 +conciliar +conciliate/323 +conciliation/48 +conciliator/7 +conciliatory/14 +conciseness/7 +concise/324 +concision/6 +conclave/9 +concluder/6 +conclude/31 +conclusion/7 +conclusive/68 +conclusiveness/43 +concocter/6 +concoction/7 +concoct/29 +concomitant/16 +concordance/7 +concordant/19 +concordat/7 +Concorde/6 +Concordia/6 +Concord/7 +concourse +concreteness/7 +concrete/325 +concretion/6 +concubinage/7 +concubine/7 +concupiscence/7 +concupiscent +concurrence/7 +concur/9 +concussion/7 +concuss/326 +condemnate/107 +condemnation/6 +condemnatory +condemner/6 +condemn/67 +condensate/99 +condensation/6 +condenser/6 +condense/121 +condensible +condescend +condescending/19 +condescension/7 +condign +condiment/7 +condition/327 +conditionals +conditional/10 +conditioned/12 +conditioner/7 +conditioning/6 +condition's +condole +condolence/7 +condominium/7 +condom/7 +condone/31 +condoner/6 +Condorcet/6 +condor/7 +condo/7 +conduce/64 +conduciveness/6 +conducive/42 +conductance/7 +conductibility/7 +conductible +conduction/7 +conductive/19 +conductivity/7 +conductor/7 +conductress/7 +conduct/130 +conduit/7 +coneflower/6 +Conestoga +coney's +confabbed +confabbing +confab/7 +confabulate/15 +confabulation/6 +confectioner/6 +confectionery/7 +confectionist +confection/49 +confect/9 +Confederacy/6 +confederacy/7 +confederate/6 +Confederate/9 +conferee/7 +conference/26 +conferrable +conferral/7 +conferred +conferrer/7 +conferring +confer/141 +confessed/19 +confessional/16 +confession/7 +confessor/7 +confetti/6 +confidante/7 +confidant/7 +confidence/7 +confidentiality/7 +confidentialness/6 +confidential/28 +confident/19 +confider/6 +confide/23 +confiding/28 +configuration/48 +configure/328 +confined/12 +confine/329 +confinement/7 +confiner/6 +confirm/36 +confirmation/48 +confirmatory +confirmedness/6 +confirmed/28 +confiscate/15 +confiscation/6 +confiscator/7 +confiscatory +conflagration/7 +conflate/15 +conflation/6 +conflicting/19 +conflict/163 +confluence/7 +conformable/12 +conformal +conformance/7 +conformational/19 +conform/277 +conformer/6 +conformism/7 +conformist/7 +conformities +conformity/330 +confounded/19 +confound/164 +confrčre/7 +confrontational +confrontation/7 +confronter/6 +confront/331 +Confucianism/7 +Confucian/9 +Confucius/6 +confusedness/6 +confused/28 +confuse/332 +confusing/19 +confutation/7 +confute/31 +confuter/6 +conga/165 +congeal/11 +congealment/7 +congeniality/135 +congenial/12 +congeries/6 +conger/7 +congestion/7 +congest/64 +conglomerate/333 +conglomeration/6 +Cong/6 +Congolese +Congo/6 +congrats +congratulate/15 +congratulation/6 +congratulatory +congregate/15 +congregational +Congregational +congregationalism/7 +congregationalist/7 +Congregationalist/9 +congregation/6 +congressional/19 +congressman/6 +congressmen +Congress/7 +congress/26 +congresspeople +congressperson/9 +congresswoman/6 +congresswomen +Congreve/6 +congruence/123 +congruences +congruency/6 +congruential +congruent/51 +congruity/43 +congruousness/123 +congruous/68 +conicalness/6 +conical/46 +conic/9 +conics/6 +conifer/7 +coniferous +conjectural/19 +conjecture/111 +conjecturer/6 +conjoint +conjugacy +conjugal/19 +conjugate/148 +conjugation/6 +conjunct/334 +conjunctiva/7 +conjunctive/16 +conjunctivitis/7 +conjuration/7 +conjurer/6 +conjure/23 +conjuring/6 +conker/6 +conk/335 +Conley/6 +Con/6 +conman +connect/127 +connectedly/25 +connectedness/82 +connected/12 +connectible +Connecticut/6 +connection/154 +connectionless +connections/25 +connective/65 +connectivity/7 +connector/7 +Connelly/6 +Conner/6 +Connery/6 +connexion/7 +Conney/6 +conn/336 +Connie/6 +Conni/6 +conniption/7 +connivance/7 +conniver/6 +connive/23 +connoisseur/7 +Connor/7 +connotative/19 +Conn/114 +connubial/19 +Conny/6 +conquerable/12 +conquered/13 +conqueror/7 +conquer/67 +conquers/14 +conquest/48 +conquistador/7 +Conrade/6 +Conrad/6 +Conrado/6 +Conrail/6 +Conroy/6 +Consalve/6 +consanguineous/19 +consanguinity/7 +conscienceless +conscientiousness/7 +conscientious/28 +conscionable/12 +consciousness/41 +conscious/337 +conscription/7 +consecrated/13 +consecrates/14 +consecrate/24 +consecrating/14 +consecration/48 +consecutiveness/6 +consecutive/28 +consensus/7 +consenter/6 +consenting/19 +consent/23 +consequence +consequentiality/9 +consequential/51 +consequentialness/6 +consequently/45 +consequent/46 +conservancy/7 +conservationism +conservationist/7 +conservation/7 +conservatism/7 +conservativeness/6 +Conservative/9 +conservative/46 +conservator/7 +conservatory/7 +con/131 +considerable/45 +considerables +considerably/45 +considerateness/43 +considerate/338 +consideration/339 +considered/12 +considerer/6 +consider/36 +considering/9 +consign/36 +consignee/7 +consignment/7 +consist/17 +consistence/9 +consistency/43 +consistent/51 +consistory/7 +consolable/45 +Consolata/6 +consolation/7 +consolation's/25 +consolatory +consoled/12 +consoler/6 +console/340 +consolidated/13 +consolidate/15 +consolidates/14 +consolidation/6 +consolidator/7 +consoling/19 +consommé/9 +consonance/123 +consonances +consonantal +consonant/65 +consortia +consortium/6 +conspectus/7 +conspicuousness/43 +conspicuous/68 +conspiracy/7 +conspiratorial/19 +conspirator/7 +constable +Constable/6 +constabulary/7 +constance +Constance/6 +Constancia/6 +constancy/43 +Constancy/6 +Constanta/6 +Constantia/6 +Constantina/6 +Constantine/6 +Constantin/6 +Constantino/6 +Constantinople/6 +constant/51 +constants +constellation/7 +consternate/15 +consternation/6 +constipate/15 +constipation/6 +constituency/7 +constituent/65 +constituted/14 +constitute/24 +constitutes/14 +constituting/14 +Constitution +constitutionality's +constitutionality/302 +constitutionally/12 +constitutional/16 +constitution/48 +constitutive/19 +constrain +constrainedly +constrained/12 +constraint/7 +constriction/7 +constrictor/7 +constrict/64 +construable +construct/62 +constructibility +constructible/14 +constructional/19 +constructionist/7 +construction/48 +constructions/169 +constructiveness/7 +constructive/28 +constructor/7 +construe/17 +Consuela/6 +Consuelo/6 +consular/9 +consulate/7 +consul/341 +consulship/7 +consultancy/9 +consultant/7 +consultation/7 +consultative +consulted/14 +consulter/6 +consult/29 +consumable/9 +consumed/19 +consume/342 +consumerism/7 +consumerist/9 +consumer/6 +consuming/19 +consummate/343 +consummated/12 +consumption/7 +consumptive/16 +cont +contact/344 +contacted/14 +contact's/14 +contacts/14 +contagion/7 +contagiousness/7 +contagious/28 +containerization/7 +containerize/17 +container/6 +containment/7 +contain/53 +contaminant/7 +contaminated/13 +contaminates/14 +contaminate/345 +contaminating/14 +contamination/266 +contaminative +contaminator/7 +contd +cont'd +contemn/17 +contemplate/346 +contemplation/6 +contemplativeness/6 +contemplative/46 +contemporaneity/7 +contemporaneousness/6 +contemporaneous/28 +contemptibleness/6 +contemptible/42 +contemptibly +contempt/6 +contemptuousness/7 +contemptuous/28 +contentedly/25 +contentedness/7 +contented/28 +content/347 +contention/7 +contentiousness/7 +contentious/28 +contently +contentment/314 +contentment's +conterminous/19 +contestable/45 +contestant/7 +contested/12 +contextualize/17 +contiguity/7 +contiguousness/6 +contiguous/28 +continence/43 +Continental/9 +continental/16 +continent/51 +Continent/6 +continents +continent's +contingency/7 +contingent/65 +continua +continuable +continual/19 +continuance/85 +continuant/6 +continuation/85 +continue/84 +continuer/6 +continuity/85 +continuousness/6 +continuous/75 +continuum/6 +contortionist/7 +contortion/7 +contort/348 +contour +contraband/7 +contrabass/6 +contraception/7 +contraceptive/9 +contract/47 +contractible +contractile +contractual/19 +contradict/17 +contradiction/7 +contradictorily +contradictoriness/6 +contradictory/144 +contradistinction/7 +contraflow/9 +contrail/6 +contraindicate/24 +contraindication/6 +contralto/7 +contrapositive/9 +contraption/7 +contrapuntal/19 +contrariety/7 +contrarily +contrariness/7 +contrariwise +contrary/144 +contra/9 +contrasting/19 +contrastive/19 +contrast/349 +contravene/31 +contravener/6 +contravention/7 +Contreras/6 +contretemps/6 +contribute/350 +contribution/6 +contributive/19 +contributorily +contributor/7 +contributory/9 +contriteness/6 +contrite/351 +contrition/6 +contrivance/7 +contriver/6 +contrive/23 +control/120 +controllability/6 +controllable/44 +controllably/12 +controlled/156 +controller/7 +controlling/169 +control's +controversialists +controversial/10 +controversy/7 +controvert/17 +controvertible/45 +contumacious/19 +contumacy/7 +contumelious +contumely/7 +contuse/15 +contusion/6 +conundrum/7 +conurbation/7 +convalesce/17 +convalescence/7 +convalescent/9 +convect/64 +convectional +convection/7 +convector +convene/36 +convener/7 +convenience/43 +convenient/51 +conventicle/7 +conventionalism/6 +conventionalist/6 +conventionality/41 +conventionalize/17 +conventional/10 +convention/118 +conventions +convergence/7 +convergent +conversant/19 +conversationalist/7 +conversational/19 +conversation/7 +conversazione/6 +converse/19 +conversion/118 +conversioning +converted/12 +converter/7 +convert/36 +convertibility's/45 +convertibility/7 +convertibleness/6 +convertible/144 +convexity/7 +convex/19 +conveyance/49 +conveyancer/6 +conveyancing/6 +convey/88 +conveyor/7 +conviction/7 +convict/64 +convinced/12 +convincer/6 +convince/23 +convincingness/6 +convincing/161 +conviviality/7 +convivial/19 +convoke/17 +convolute/352 +convolution/6 +convolve/169 +convolved +convolves +convolving +convoy/26 +convulse/24 +convulsion/6 +convulsiveness/6 +convulsive/28 +Conway/6 +cony/7 +coo/17 +cookbook/7 +cooked/13 +Cooke/6 +cooker/6 +cookery/7 +cook/91 +Cookie/6 +cookie/7 +cooking/6 +Cook/6 +cookout/7 +cooks/14 +cookware/7 +cooky's +coolant/7 +cooled/12 +cooler/6 +Cooley/6 +coolheaded +Coolidge/6 +coolie/7 +coolness/7 +cool/223 +coon/30 +coonskin/7 +cooperage/7 +cooperate/24 +cooperation/6 +cooperativeness/7 +cooperative/46 +cooperator/7 +cooper/165 +Cooper/6 +coop/49 +Coop/114 +coordinated/12 +coordinateness/6 +coordinate/148 +coordination/6 +coordinator/7 +Coors/6 +cootie/7 +coot/7 +copay/9 +Copeland/6 +Copenhagen/6 +coper/6 +Copernican +Copernicus/6 +cope/9 +copied/14 +copier/6 +copies/14 +copilot/7 +coping/6 +copiousness/7 +copious/28 +coplanar +Copland/6 +Copley/6 +copolymer/7 +copora +copped +Copperfield/6 +copperhead/7 +copper/26 +copperplate/7 +coppersmith/6 +coppersmiths +coppery +coppice's +copping +Coppola/6 +copra/7 +coprolite/6 +coprophagous +copse/6 +cops/17 +cop/211 +copter/7 +Coptic/6 +copula/7 +copulate/24 +copulation/6 +copulative/9 +copybook/7 +copycat/7 +copycatted +copycatting +copyist/7 +copy/66 +copyrighter/6 +copyright/49 +copywriter/7 +coquetry/7 +coquette/26 +coquettish/19 +Corabella/6 +Corabelle/6 +Corabel/6 +coracle/7 +Coralie/6 +Coraline/6 +coralline +Coral/6 +coral/7 +Coralyn/6 +Cora/6 +corbel/171 +Corbet/6 +Corbett/6 +Corbie/6 +Corbin/6 +Corby/6 +cordage/7 +corded/145 +Cordelia/6 +Cordelie/6 +Cordell/6 +corder/118 +Cordey/6 +cord/353 +cordiality/7 +cordialness/6 +cordial/46 +Cordie/6 +cordillera/7 +Cordilleras +Cordi/6 +cording/118 +cordite/7 +cordless +Cord/6 +Cordoba +cordon/26 +cordovan/7 +Cordula/6 +corduroy/26 +Cordy/6 +cored/14 +Coreen/6 +Corella/6 +core/49 +Corenda/6 +Corene/6 +corer/6 +corespondent/7 +Coretta/6 +Corette/6 +Corey/6 +Corfu/6 +corgi/7 +coriander/7 +Corie/6 +Corilla/6 +Cori/6 +Corina/6 +Corine/6 +coring/6 +Corinna/6 +Corinne/6 +Corinthian/9 +Corinthians/6 +Corinth/6 +Coriolanus/6 +Coriolis/6 +Corissa/6 +Coriss/6 +corked/12 +corker/6 +cork/49 +Cork/6 +corkscrew/26 +corks/12 +Corliss/6 +Corly/6 +Cormack/6 +corm/7 +cormorant/7 +Cornall/6 +cornball/7 +cornbread/9 +corncob/7 +corncrake/6 +corneal +cornea/7 +Corneille/6 +Cornela/6 +Cornelia/6 +Cornelius/6 +Cornelle/6 +Cornell/6 +corner/165 +cornerstone/7 +cornet/7 +Corney/6 +cornfield/7 +cornflake/9 +cornflour/6 +cornflower/7 +corn/49 +cornice/26 +Cornie/6 +cornily +corniness/9 +Cornish/9 +cornmeal/9 +cornrow/17 +cornstalk/7 +cornstarch/7 +cornucopia/7 +Cornwallis/6 +Cornwall/6 +Corny/6 +corny/98 +corolla/7 +corollary/7 +Coronado/6 +coronal/7 +coronary/9 +corona/7 +coronate/107 +coronation/6 +coroner/7 +coronet/56 +Corot/6 +coroutine/7 +Corp +corporal/65 +corpora/7 +corporate/354 +corporately +corporation/123 +corporatism/6 +corporatist +corporeality/7 +corporeal/51 +corporealness/6 +corp/9 +corpse/6 +corpsman/6 +corpsmen +corps/7 +corpulence/7 +corpulentness/9 +corpulent/28 +corpuscle/7 +corpuscular +corpus/6 +corr +corralled +corralling +corral/7 +correctable/12 +correct/355 +corrected/12 +correctional +correction/7 +corrective/46 +correctly/45 +correctness/43 +corrector/7 +Correggio/6 +correlated/12 +correlate/24 +correlation/6 +correlative/16 +Correna/6 +correspond/17 +correspondence/7 +correspondent/7 +corresponding/19 +Correy/6 +Corrianne/6 +corridor/7 +Corrie/6 +corrigenda +corrigendum/6 +corrigible/45 +Corri/6 +Corrina/6 +Corrine/6 +Corrinne/6 +corroborated/12 +corroborate/24 +corroboration/6 +corroborative/19 +corroborator/7 +corroboratory +corrode/17 +corrodible +corrosion/7 +corrosiveness/6 +corrosive/46 +corrugate/15 +corrugation/6 +corrupt/37 +corrupted/12 +corrupter/6 +corruptibility/43 +corruptible/45 +corruption/123 +corruptions +corruptive/19 +corruptness/7 +Corry/6 +corsage/7 +corsair/7 +corset/26 +Corsica/6 +Corsican/9 +cortčge/7 +Cortes/9 +cortex/6 +Cortez's +cortical/19 +cortices +corticosteroid/7 +Cortie/6 +cortisone/7 +Cortland/6 +Cort/6 +Cortney/6 +Corty/6 +corundum/7 +coruscate/15 +coruscation/6 +Corvallis/6 +corvette/7 +Corvus/6 +Cory/6 +Cos +Cosby/6 +Cosetta/6 +Cosette/6 +cos/17 +cosignatory/7 +cosign/23 +cosily +Cosimo/6 +cosine/7 +cosiness/7 +Cosme/6 +cosmetically +cosmetician/7 +cosmetic/7 +cosmetologist/7 +cosmetology/7 +cosmic +cosmical/19 +cosmogonist/7 +cosmogony/7 +cosmological/19 +cosmologist/7 +cosmology/7 +Cosmo/6 +cosmonaut/7 +cosmopolitanism/7 +cosmopolitan/7 +cosmos/7 +cosponsor/17 +cossack/9 +Cossack/7 +cosset/17 +Costa/6 +Costanza/6 +costarred +costarring +costar/9 +Costello/6 +costiveness/6 +costive/28 +costless +costliness/7 +costly/98 +cost/356 +Costner/6 +costumer/6 +costume/49 +cotangent/7 +Cote/6 +cote/7 +coterie/7 +coterminous/19 +cotillion/7 +Cotonou/6 +Cotopaxi/6 +cot/26 +cottager/6 +cottage/49 +cottar's +cotted +cotter/56 +cotton/26 +Cotton/6 +cottonmouth/6 +cottonmouths +cottonseed/7 +cottontail/7 +cottonwood/7 +cottony +cotyledon/7 +couching/6 +couch/26 +cougar/7 +cougher/6 +cough/52 +coughs +couldn't +could/357 +could've +coulée/7 +Coulomb/6 +coulomb/7 +councilman/6 +councilmen +councilor/7 +councilperson/9 +council/7 +councilwoman/6 +councilwomen +counsel/26 +counsellings +counselor/7 +countability/25 +countable/12 +countably/12 +countdown/7 +counted/12 +count/153 +countenance/84 +countenancer/6 +countenance's +counteract/64 +counteraction/7 +counterargument/7 +counterattack/111 +counterbalance/26 +counterclaim/26 +counterclockwise +counterculture/7 +countercyclical +counterespionage/7 +counterexample/9 +counterfeiter/6 +counterfeit/23 +counterflow +counterfoil/7 +counterforce/6 +counter/26 +counterinsurgency/7 +counterintelligence/7 +counterintuitive +countermand/17 +counterman/6 +countermeasure/7 +countermen +counteroffensive/7 +counteroffer/7 +counterpane/7 +counterpart/7 +counterpoint/26 +counterpoise/26 +counterproductive +counterproposal/6 +counterrevolutionary/7 +counterrevolution/7 +counter's/25 +counters/25 +countersignature/7 +countersign/17 +countersink/166 +counterspy/7 +counterstrike +countersunk +countertenor/7 +countervail/17 +counterweight/26 +countess/7 +countless/19 +countrify/81 +countryman/6 +countrymen +country/7 +countryside/7 +countrywide +countrywoman/6 +countrywomen +county/7 +coup/36 +coupe/7 +Couperin/6 +couple/358 +coupled/156 +coupler/169 +couplers +coupler's +couple's +couples/156 +couplet/7 +coupling's/169 +coupling/7 +coupon/7 +coup's +courage/7 +courageously +courageousness/7 +courageous/12 +courages/25 +Courbet/6 +courgette/7 +courier/26 +course/359 +courser's/25 +courser/7 +course's/360 +courses/360 +coursework +coursing/6 +Courtenay/6 +courteousness/82 +courteousnesses +courteous/361 +courtesan/7 +courtesied +courtesy/85 +courtesying +court/362 +courthouse/7 +courtier/7 +courtliness/7 +courtly/98 +Court/6 +Courtnay/6 +Courtney/6 +courtroom/7 +courtship/7 +courtyard/7 +couscous/7 +cousinly/12 +cousin/65 +Cousteau/6 +couture/7 +couturier/7 +covalent/19 +covariance/7 +covariant/9 +covariate/363 +covary +cove/49 +covenanted/12 +covenanter/6 +covenant/111 +coven/7 +Covent/6 +Coventry/7 +coverable/25 +cover/364 +coverage/7 +coverall/56 +coverer/154 +covering/7 +coverlet/7 +coversheet +covers/6 +covertness/7 +covert/46 +coveter/6 +coveting/19 +covetousness/7 +covetous/28 +covet/31 +covey/7 +covington +cowardice/7 +cowardliness/7 +cowardly/42 +Coward/6 +coward/65 +cowbell/7 +cowbird/7 +cowboy/7 +cowcatcher/7 +cowed/19 +cowering/19 +cower/242 +cowgirl/7 +cowhand/9 +cowherd/7 +cowhide/26 +Cowley/6 +cowlick/7 +cowling/6 +cowl/26 +cowman/6 +cow/49 +cowmen +coworker/7 +Cowper/6 +cowpoke/7 +cowpony +cowpox/7 +cowpuncher/6 +cowpunch/90 +cowrie/7 +cowshed/7 +cowslip/7 +coxcomb/7 +Cox/6 +cox/26 +coxswain/26 +coy/263 +coyer +coyest +coyly +Coy/6 +coyness/7 +coyote/7 +coypu/7 +cozenage/7 +cozen/17 +cozily +coziness/7 +Cozmo/6 +Cozumel/6 +cozy/226 +CPA +cpd +CPI +cpl +Cpl +CPO +CPR +cps +CPU/7 +crabapple +crabbedness/6 +crabbed/28 +Crabbe/6 +crabber/7 +crabbily +crabbiness/9 +crabbing/6 +crabby/98 +crabgrass/9 +crablike +crab/7 +crackable/12 +crackdown/7 +crackerjack/9 +cracker/6 +crackle/71 +crackling/6 +crackly/54 +crackpot/7 +crackup/9 +crack/365 +cradler/6 +cradle/111 +cradling/6 +craftily +craftiness/7 +Craft/6 +craft/111 +craftsman/6 +craftsmanship/7 +craftsmen +craftspeople +craftspersons +craftswoman +craftswomen +crafty/98 +Craggie/6 +cragginess/7 +Craggy/6 +craggy/98 +crag/7 +Craig/6 +Cramer/6 +crammed +crammer/6 +cramming +cramper/6 +cramp/111 +crampon/7 +cram/9 +Cranach/6 +cranberry/7 +Crandall/6 +crane/26 +cranelike +Crane/6 +Cranford/6 +cranial +cranium/7 +crankcase/7 +crankily +crankiness/7 +crank/172 +crankshaft/7 +cranky/98 +Cranmer/6 +cranny/26 +Cranston/6 +crape/7 +crapped +crappie/6 +crapping +crappy/228 +crapshooter/7 +crap/366 +crasher/6 +crashing/19 +crash/23 +crassness/7 +crass/33 +crate/49 +crater/165 +Crater/6 +cravat/7 +cravatted +cravatting +crave/187 +cravenness/7 +craven/22 +craver/6 +craving/6 +crawdad/9 +crawfish's +Crawford/6 +crawler/6 +crawl/23 +crawlspace/9 +crawlway +crawly/228 +craw/65 +crayfish/26 +Crayola/6 +crayon/26 +Cray/7 +craze/26 +crazily +craziness/7 +crazy/177 +creakily +creakiness/7 +creak/17 +creaky/98 +creamer/6 +creamery/7 +creamily +creaminess/7 +cream/49 +creamy/98 +creased/156 +crease/367 +crease's +creases/169 +creasing/169 +created/12 +create/368 +creationism/7 +creationist/7 +Creation/6 +creation/369 +creativeness/7 +creative/28 +creativities +creativity/370 +creativity's +Creator/6 +creator/7 +creatureliness/6 +creaturely/42 +creature/65 +crčche/7 +credence/7 +credent +credential/26 +credenza/7 +credibility/43 +credible/45 +credibly/45 +creditability/6 +creditableness/6 +creditable/42 +creditably/25 +credited/12 +credit/371 +creditor/7 +credit's +creditworthiness +credo/7 +credulity/43 +credulous/51 +credulousness/7 +creedal +creed/169 +creeds +creed's +creekside +creek/7 +Creek/7 +creel/26 +Cree/56 +creeper/6 +creepily +creepiness/7 +creep/227 +creepy/177 +Creigh/6 +Creight/6 +Creighton/6 +cremate/15 +cremation/6 +crematoria +crematorium/7 +crematory/9 +creme/9 +crenelate/15 +crenelation/6 +Creole/7 +creole/7 +Creon/6 +creosote/26 +crepe/26 +crept +crescendoed +crescendoing +crescendo/186 +crescent/7 +cress/9 +crestfallenness/6 +crestfallen/28 +cresting/6 +crestless +crest/26 +Crestview/6 +cretaceous +Cretaceously/6 +Cretaceous/19 +Cretan/9 +Crete/6 +cretinism/7 +cretin/7 +cretinous +cretonne/7 +crevasse/26 +crevice/7 +crew/26 +crewel/7 +crewelwork/7 +crewman/6 +crewmen +cribbage/7 +cribbed +cribber/7 +cribbing/6 +crib/7 +Crichton/6 +cricketer/6 +cricket/49 +crick/26 +Crick/6 +cried/169 +crier/266 +cries/169 +Crimea/6 +Crimean +crime/26 +criminality/7 +criminalization/169 +criminalize/372 +criminal/65 +criminologist/7 +criminology/7 +crimper/6 +crimp/31 +crimson/26 +cringer/6 +cringe/31 +crinkle/17 +crinkly/228 +Crin/6 +crinoline/7 +cripple/49 +crippler/6 +crippling/19 +Crisco/6 +crises +crisis/6 +Cris/6 +crisper/6 +crispiness/7 +crispness/7 +crisp/77 +crispy/98 +criss +crisscross/17 +Crissie/6 +Crissy/6 +Cristabel/6 +Cristal/6 +Crista/6 +Cristen/6 +Cristian/6 +Cristiano/6 +Cristie/6 +Cristi/6 +Cristina/6 +Cristine/6 +Cristin/6 +Cristionna/6 +Cristobal/6 +Cristy/6 +criteria +criterion/6 +criticality +critically/12 +criticalness/6 +critical/28 +criticism/7 +criticized/12 +criticize/23 +criticizer/6 +criticizes/14 +criticizingly/9 +criticizing/10 +critic/7 +critique/26 +critter/7 +Cr/6 +croaker/6 +croak/23 +croaky/54 +Croatia/6 +Croatian/9 +Croat/7 +Croce/6 +crocheter/6 +crochet/179 +crockery/7 +Crockett/6 +Crockpot/6 +crock/111 +crocodile/7 +crocus/7 +Croesus/7 +crofter/6 +croft/373 +croissant/7 +Croix/6 +Cromwellian +Cromwell/6 +crone/7 +Cronin/6 +Cronkite/6 +Cronus/6 +crony/7 +crookedness/7 +crooked/33 +Crookes/6 +crookneck/7 +crook/26 +crooner/6 +croon/23 +cropland/7 +crop/7 +cropped +cropper/7 +cropping +croquet/26 +croquette/7 +Crosby/6 +crosier/7 +crossarm +crossbarred +crossbarring +crossbar/7 +crossbeam/7 +crossbones +crossbowman/6 +crossbowmen +crossbow/7 +crossbred/9 +crossbreed/166 +crosscheck/17 +crosscurrent/7 +crosscut/7 +crosscutting +crossed/13 +crosses/13 +crossfire/7 +crosshatch/17 +crossing/6 +Cross/6 +crossness/7 +crossover/7 +crosspatch/7 +crosspiece/7 +crosspoint +crossproduct/9 +crossroad/131 +crossroads/6 +crosstalk/6 +crosstown +crosswalk/7 +crossway/6 +crosswind/7 +crosswise +crossword/7 +cross/374 +crotchetiness/6 +crotchet/7 +crotchety/42 +crotchless +crotch/56 +crouch/17 +croupier/6 +croup/26 +croupy/375 +croűton/7 +crowbait +crowbarred +crowbarring +crowbar/7 +crowdedness/6 +crowded/42 +crowd/111 +crowfeet +crowfoot/6 +crow/26 +Crowley/6 +crowned/12 +crowner/6 +crown/211 +crozier's +CRT/9 +crucial/19 +crucible/7 +crucifiable +crucifixion/7 +Crucifixion/7 +crucifix/7 +cruciform/9 +crucify/55 +crudded +crudding +cruddy/54 +crudeness/7 +crude/46 +crudités +crudity/7 +crud/80 +cruelness/7 +cruelty/7 +cruel/38 +cruet/7 +cruft +crufty +Cruikshank/6 +cruise/23 +cruiser/6 +cruller/7 +crumb/116 +crumble/71 +crumbliness/7 +crumbly/177 +crumby/54 +crumminess/9 +crummy/177 +crump +crumpet/7 +crumple/17 +crunch/23 +crunchiness/7 +crunchy/98 +crupper/7 +crusade/49 +crusader/6 +cruse/7 +crushable/12 +crusher/6 +crushing/19 +crushproof +crush/67 +Crusoe/6 +crustacean/7 +crustal +crust/26 +crustily +crustiness/7 +crusty/177 +crutch/26 +Crux/6 +crux/7 +Cruz/6 +crybaby/7 +cry/179 +cryogenic/9 +cryogenics/6 +cryostat/6 +cryosurgery/7 +cryptanalysis/6 +cryptanalyst/6 +cryptanalytic +crypt/120 +cryptic +cryptically +cryptogram/7 +cryptographer/7 +cryptographic +cryptographically +cryptography/7 +cryptologic +cryptological +cryptologist/6 +cryptology/6 +Cryptozoic/6 +crypt's +crystalline/9 +crystallite/7 +crystallization/48 +crystallized/13 +crystallizes/14 +crystallize/23 +crystallizing/14 +crystallographer/7 +crystallographic +crystallography/6 +Crystal/6 +crystal/7 +Crysta/6 +Crystie/6 +Cs +C's +cs/145 +cs's +CST +ct +CT +Cthrine/6 +Ct/6 +ctn +ctr +Cuba/6 +Cuban/9 +cubbed +cubbing +cubbyhole/7 +cuber/6 +cube/7 +cubical/19 +cubicle/7 +cubic/16 +cubism/7 +cubist/7 +cubit/7 +cub/49 +cuboid +Cuchulain/6 +cuckold/26 +cuckoldry/7 +cuckoo/26 +cucumber/7 +cuddle/17 +cuddly/98 +cu/47 +cudgel/171 +cud/7 +cue/7 +cuff/26 +Cuisinart/6 +cuisine/7 +Culbertson/6 +culinary +Cullan/6 +cull/31 +cullender's +Cullen/6 +culler/6 +Culley/6 +Cullie/6 +Cullin/6 +Cull/72 +Cully/6 +culminate/15 +culmination/6 +culotte/9 +culpability/7 +culpable/45 +culpableness/6 +culpably +culpa/7 +culprit/7 +cultism/7 +cultist/7 +cultivable +cultivated/12 +cultivate/376 +cultivation/6 +cultivator/7 +cult/7 +cultural/19 +cultured/12 +culture/26 +Culver/7 +culvert/7 +Cu/6 +cumber/17 +Cumberland/6 +cumbersomeness/7 +cumbersome/28 +cumbrous +cumin/7 +cummerbund/7 +Cummings +cumquat's +cum/9 +cumulate/24 +cumulation/6 +cumulative/19 +cumuli +cumulonimbi +cumulonimbus/6 +cumulus/6 +Cunard/6 +cuneiform/9 +cunnilingus/7 +Cunningham/6 +cunningness/6 +cunning/38 +cunt/30 +cupboard/7 +cupcake/7 +Cupertino/6 +cupful/7 +cupidinously +cupidity/7 +Cupid/6 +cupid/9 +cup/7 +cupola/26 +cupped +cupping/6 +cupric +cuprous +curability/7 +curable/261 +curableness/123 +curably/45 +Curacao/6 +curacy/7 +curare/7 +curate/163 +curative/16 +curatorial +curator/341 +curbing/6 +curbside +curb/171 +curbstone/7 +Curcio/6 +curdle/17 +curd/26 +cured/12 +cure/377 +curer/378 +curettage/7 +curfew/7 +curfs +curiae +curia/6 +cur/379 +Curie/6 +curie/7 +curiosity/7 +curio/7 +curiousness/7 +curious/33 +Curitiba/6 +curium/7 +curler/7 +curlew/7 +curlicue/26 +curliness/7 +curling/6 +curl/180 +curlycue's +curly/98 +curmudgeon/65 +Curran/6 +currant/7 +curred/380 +currency's +currency/281 +current/381 +currently/14 +currentness/6 +Currey/6 +curricle/6 +curricula +curricular +curriculum/6 +Currie/6 +currier/6 +Currier/6 +curring/380 +Curr/6 +currycomb/26 +Curry/114 +curry/111 +cur's +curs/62 +curse/14 +cursedness/6 +cursed/33 +curse's +cursive/382 +cursiveness/82 +cursives +cursor/26 +cursorily +cursoriness/7 +cursory/42 +curtailer/6 +curtail/8 +curtailment/7 +curtain/26 +Curtice/6 +Curtis/6 +Curt/6 +curtness/7 +curtsey's +curtsy/26 +curt/33 +curvaceousness/9 +curvaceous/28 +curvature/7 +curved/14 +curved's +curve/26 +curvilinearity/6 +curvilinear/19 +curving/6 +curvy/54 +cushion/26 +Cushman/6 +cushy/54 +cuspid/7 +cuspidor/7 +cusp/7 +cussedness/6 +cussed/28 +cuss/137 +cusses/278 +cussing/278 +cuss's +custard/7 +Custer/6 +custodial +custodianship/7 +custodian/7 +custody/7 +customarily +customariness/6 +customary/144 +customer/6 +customhouse/9 +customization/7 +customize/67 +custom/96 +cutaneous/19 +cutaway/7 +cutback/7 +cuteness/7 +cute/46 +cutesy/54 +cuticle/7 +cutlass/7 +cutler/7 +cutlery/7 +cutlet/7 +cut/80 +cutoff/7 +cutout/7 +cutter/7 +cutthroat/7 +cutting/65 +cuttlebone/7 +cuttlefish/7 +cuttle/6 +cutup/7 +cutworm/7 +Cuvier/6 +Cuzco/6 +CV +cw +cwt +Cyanamid/6 +cyanate/6 +cyanic +cyanide/26 +cyan/7 +cyanogen/6 +Cybele/6 +cybercafe/7 +cybercafé/7 +cybernetic/9 +cybernetics/6 +cyberpunk/9 +cyberspace/9 +Cybill/6 +Cybil/6 +Cyb/6 +cyborg/9 +Cyclades +cyclamen/7 +cycle/36 +cycler +cycle's +cycleway/9 +cyclic +cyclical/16 +cycling/6 +cyclist/7 +cyclohexanol +cycloidal +cycloid/7 +cyclometer/7 +cyclone/7 +cyclonic +cyclopean +cyclopedia/7 +cyclopes +Cyclopes +cyclops +Cyclops/6 +cyclotron/7 +cyder/7 +cygnet/7 +Cygnus/6 +cylinder/26 +cylindric +cylindrical/19 +Cy/6 +cymbalist/7 +cymbal/7 +Cymbre/6 +Cynde/6 +Cyndia/6 +Cyndie/6 +Cyndi/6 +Cyndy/6 +cynical/10 +cynicism/7 +cynic/7 +cynosure/7 +Cynthea/6 +Cynthia/6 +Cynthie/6 +Cynthy/6 +cypher/26 +cypreses +cypress/7 +Cyprian +Cypriot/7 +Cyprus/6 +Cyrano/6 +Cyrille/6 +Cyrillic +Cyrill/6 +Cyrillus/6 +Cyril/6 +Cyrus/6 +cystic +cyst/7 +cytochemistry/6 +cytochrome/6 +cytologist/7 +cytology/7 +cytolysis/6 +cytoplasmic +cytoplasm/7 +cytosine/7 +cytotoxic +CZ +czarevitch/6 +czarina/7 +czarism/6 +czarist/9 +czarship +czar/7 +Czech +Czechoslovakia/6 +Czechoslovakian/9 +Czechoslovak/9 +Czechs +Czerniak/6 +Czerny/6 +D +DA +dabbed +dabber/7 +dabbing +dabbler/6 +dabble/23 +dab/9 +Dacca's +dace/7 +Dacey/6 +dacha/7 +Dachau/6 +dachshund/7 +Dacia/6 +Dacie/6 +Dacron/7 +dactylic/9 +dactyl/7 +Dacy/6 +Dadaism/6 +dadaism/9 +Dadaist/6 +dadaist/9 +Dada/6 +daddy/7 +Dade/6 +dado/165 +dadoes +dad/7 +Daedalus/6 +Dael/6 +daemonic +daemon/7 +Daffie/6 +Daffi/6 +daffiness/9 +daffodil/7 +Daffy/6 +daffy/98 +daftness/7 +daft/33 +DAG +dagger/26 +Dag/6 +Dagmar/6 +Dagny/6 +Daguerre/6 +daguerreotype/26 +Dagwood/6 +Dahlia/6 +dahlia/7 +Dahl/6 +Dahomey/6 +Daile/6 +dailiness/7 +daily/144 +Daimler/6 +daintily +daintiness/7 +dainty/177 +daiquiri/7 +dairying/6 +dairyland +dairymaid/7 +dairyman/6 +dairymen +dairy/304 +dairywoman/6 +dairywomen +Daisey/6 +Daisie/6 +Daisi/6 +dais/7 +Daisy/6 +daisy/7 +Dakar/6 +Dakotan +Dakota/7 +Dale/6 +Dalenna/6 +dale/216 +daleth/6 +Daley/6 +Dalhousie/6 +Dalia/6 +Dalian/6 +Dalila/6 +Dali/7 +Dallas/6 +dalliance/7 +dallier/6 +Dalli/7 +Dall/6 +Dallon/6 +dally/23 +Dal/6 +Dalmatia/6 +dalmatian/9 +Dalmatian/7 +Daloris/6 +Dalston/6 +Dalt/6 +Dalton/6 +Daly/6 +damageable +damaged/12 +damage/49 +damager/6 +damaging/19 +Damara/6 +Damaris/6 +Damascus/6 +damask/26 +dame/7 +Dame/125 +Damian/6 +Damiano/6 +Damien/6 +Damion/6 +Damita/6 +dam/56 +dammed +damming +dammit/9 +damnably +damnation/7 +damnedest/7 +damned/54 +damn/318 +damning/19 +Damocles/6 +Damon/6 +damped/12 +dampener/6 +dampen/242 +damper/6 +dampness/7 +damp/383 +damselfly/7 +damsel/7 +damson/7 +Danaë +Dana/6 +Danbury/6 +dancelike +dancer/6 +dance/179 +dandelion/7 +dander/26 +dandify/17 +dandily +dandle/17 +dandruff/7 +dandy/80 +Danelaw/6 +Danella/6 +Danell/6 +Dane/7 +Danette/6 +danger/165 +Dangerfield/6 +dangerousness/6 +dangerous/28 +dangler/6 +dangle/23 +dangling/19 +dang/23 +Danial/6 +Dania/6 +Danica/6 +Danice/6 +Daniela/6 +Daniele/6 +Daniella/6 +Danielle/6 +Daniel/7 +Danielson/6 +Danie/6 +Danika/6 +Danila/6 +Dani/6 +Danish +danish/9 +Danita/6 +Danit/6 +dankness/7 +dank/33 +Danna/6 +Dannel/6 +Dannie/6 +Danni/6 +Dannye/6 +Danny/6 +danseuse/7 +Dan/7 +Dante/6 +Danton/6 +Danube/6 +Danubian +Danville/6 +Danya/6 +Danyelle/6 +Danyette/6 +Danzig/6 +Daphene/6 +Daphna/6 +Daphne/6 +dapperness/6 +dapper/38 +dapple/17 +Dara/6 +Darbee/6 +Darbie/6 +Darb/6 +Darby/6 +Darcee/6 +Darcey/6 +Darcie/6 +Darci/6 +D'Arcy +Darcy/6 +Darda/6 +Dardanelles +daredevil/7 +daredevilry/9 +Dareen/6 +Darelle/6 +Darell/6 +Dare/6 +Daren/6 +darer/6 +daresay +dare/179 +d'Arezzo +Daria/6 +Darice/6 +Darill/6 +Dari/6 +daringness/6 +daring/28 +Darin/6 +Dario/6 +Darius/6 +Darjeeling/6 +darkener/6 +darken/242 +dark/384 +darkish +darkly/54 +darkness/7 +darkroom/7 +Darla/6 +Darleen/6 +Darlene/6 +Darline/6 +Darling/6 +darlingness/6 +Darlington/6 +darling/32 +Darlleen/6 +Dar/385 +Darnall/6 +darned/54 +Darnell/6 +darner/6 +darn/23 +darning/6 +Darn/6 +Daron/6 +DARPA/6 +Darrelle/6 +Darrell/6 +Darrel/6 +Darren/6 +Darrick/6 +Darrin/6 +Darrow/6 +Darryl/6 +Darsey/6 +Darsie/6 +d'art +dartboard/7 +darter/6 +Darth/6 +Dartmouth/6 +dart/49 +Darvon/6 +Darwinian/9 +Darwinism/7 +Darwinist/7 +Darwin/6 +Darya/6 +Daryle/6 +Daryl/6 +Daryn/6 +Dasha/6 +dashboard/7 +dasher/6 +dash/23 +dashiki/7 +dashing/19 +Dasie/6 +Dasi/6 +dastardliness/7 +dastardly/42 +dastard/65 +Dasya/6 +DAT +database/26 +datafile +datagram/7 +data/6 +Datamation/6 +Datamedia/6 +dataset/9 +datedly +datedness +date/386 +dated/12 +dateless +dateline/26 +dater/6 +Datha/6 +dative/9 +Datsun/6 +datum/7 +dauber/6 +daub/23 +Daugherty/6 +daughter/65 +Daumier/6 +Daune/6 +daunt/17 +daunted/12 +daunting/19 +dauntlessness/7 +dauntless/28 +dauphin/7 +Davao/6 +Daveen/6 +Dave/6 +Daven/6 +Davenport/6 +davenport/7 +Daveta/6 +Davey/6 +Davida/6 +Davidde/6 +Davide/6 +David/7 +Davidson/6 +Davie/6 +Davina/6 +Davine/6 +Davinich/6 +Davin/6 +Davis/6 +Davita/6 +davit/7 +Dav/72 +Davon/6 +Davy/7 +dawdler/6 +dawdle/23 +Dawes/6 +Dawna/6 +dawn/26 +Dawn/6 +Dawson/6 +daybed/9 +daybreak/7 +daycare/9 +daydreamer/6 +daydream/49 +Dayle/6 +daylight/26 +Day/6 +Dayna/6 +daysack +day/7 +daytime/7 +Dayton/6 +dazed/28 +daze/17 +dazzler/6 +dazzle/179 +dazzling/19 +db +DB +dbl +dB/6 +DBMS +DC +DD +Ddene/6 +DDS +DDT +DE +deacon/26 +deaconess/7 +deadbeat/7 +deadbolt/9 +deadener/6 +deadening/86 +deaden/52 +deadhead/7 +deadline/26 +deadliness/7 +deadlock/26 +deadly/98 +deadness/6 +deadpanned +deadpanner +deadpanning +deadpan/9 +dead/324 +deadwood/7 +deafening/86 +deafen/387 +deafness/7 +deaf/324 +dealer/6 +dealership/7 +dealing/6 +deallocator +deal/210 +dealt +Deana/6 +dean/165 +Deandre/6 +Deane/6 +deanery/7 +Dean/6 +Deanna/6 +Deanne/6 +Deann/6 +deanship/7 +Dearborn/6 +dearness/7 +dearth/6 +dearths +dear/388 +deary/7 +deassign +deathbed/7 +deathblow/7 +deathless/19 +deathlike +deathly/54 +death/86 +deaths +deathtrap/7 +deathward +deathwatch/7 +debacle/7 +debarkation/7 +debark/224 +debar/329 +debarment/7 +debarring +debaser/6 +debatable/12 +debate/389 +debater/6 +debauchedness/6 +debauched/28 +debauchee/7 +debaucher/6 +debauchery/7 +debauch/31 +Debbie/6 +Debbi/6 +Debby/6 +Debee/6 +debenture/7 +Debera/6 +Debian/6 +debilitate/15 +debilitation/6 +debility/7 +Debi/6 +debit/47 +deb/7 +Deb/7 +debonairness/7 +debonair/28 +Deborah/6 +Debora/6 +Debor/6 +debouch/17 +Debra/6 +debrief/301 +debris/6 +debtor/7 +debt/7 +Debussy/6 +débutante/7 +debut/165 +decade/7 +decadency/9 +decadent/16 +decaffeinate/17 +decaf/9 +decagon/7 +Decalogue/6 +decal/7 +decamp/329 +decampment/7 +decapitate/17 +decapitator/7 +decathlon/7 +Decatur/6 +decay/52 +Decca/6 +Deccan/6 +decease/6 +decedent/7 +deceitfulness/7 +deceitful/28 +deceit/7 +deceived/12 +deceiver/6 +deceives/12 +deceive/23 +deceivingly +deceiving/12 +decelerate/15 +deceleration/6 +decelerator/7 +December/7 +decency/43 +decennial/16 +decent/390 +deception/7 +deceptiveness/7 +deceptive/28 +decertify/122 +dechlorinate/122 +decibel/7 +decidability/12 +decidable/12 +decidedness/6 +decided/28 +decide/318 +deciduousness/6 +deciduous/28 +decile/7 +deciliter/7 +decimal/65 +decimate/15 +decimation/6 +decimeter/7 +decipherable/44 +decipher/391 +decipherer/6 +decisional +decisioned +decisioning +decision/43 +decisive/68 +decisiveness/43 +deckchair +decker/6 +Decker/6 +deck/211 +deckhand/9 +decking/6 +Deck/114 +declamation/7 +declamatory +declarable +declaration/7 +declaration's/14 +declarative/16 +declarator/7 +declaratory +declare/36 +declared/12 +declarer/7 +declension/7 +declination/7 +decliner/6 +decline/23 +declivity/7 +Dec/6 +DEC/6 +DECNET +DECnet/6 +deco +décolletage/9 +décolleté +decolletes +decolorising +decomposability/6 +decomposable/44 +decompose/277 +decompress/164 +decongestant/9 +deconstruction +deconvolution +decorated/13 +decorate/24 +decorates/14 +decorating/14 +decoration/48 +decorativeness/6 +decorative/28 +decorator/7 +decorousness/7 +decorousness's/45 +decorous/68 +decor/9 +decorticate/55 +decortication/6 +decorum/7 +decoupage/26 +decouple/224 +decoy/6 +decrease +decreasing/19 +decreeing +decree/175 +decremental +decrement/26 +decrepit +decrepitude/7 +decriminalization/9 +decriminalize/142 +decry/224 +decrypt/47 +decryption +DECstation/6 +DECsystem/6 +DECtape/6 +decustomised +Dedekind/6 +Dede/6 +dedicate/36 +dedicated/19 +dedication/7 +dedicative +dedicator/7 +dedicatory +Dedie/6 +Dedra/6 +deduce/31 +deducible +deductibility/6 +deductible/9 +deduction/7 +deductive/19 +deduct/392 +Deeanne/6 +Deeann/6 +deeded +Deedee/6 +deeding +deed/230 +deed's +deejay/26 +Dee/6 +deem/36 +deemphasis +Deena/6 +deepen/47 +deepish +deepness/7 +deep/35 +Deerdre/6 +Deere/6 +deerskin/7 +deer/7 +deerstalker/7 +deerstalking/6 +Deeyn/6 +deface/393 +defacement/7 +defaecate +defalcate/15 +defalcation/6 +defamation/7 +defamatory +defamer/6 +defame/90 +defaulter/6 +default/90 +defeated/12 +defeater/6 +defeatism/7 +defeatist/7 +defeat/394 +defecate/15 +defecation/6 +defection/7 +defectiveness/7 +defective/46 +defect/163 +defector/7 +defendant/7 +defended/12 +defenestrate/17 +defenselessness/7 +defenseless/28 +defenses/12 +defense/163 +defensibility/6 +defensible/45 +defensibly/45 +defensiveness/7 +defensive/46 +deference/7 +deferential/19 +deferent/9 +deferrable +deferral/7 +deferred +deferrer/7 +deferring +deffer +defiance/7 +defiant/19 +defibrillator/6 +deficiency/7 +deficient/16 +deficit/7 +defier/6 +defile/329 +defilement/7 +definable/44 +definably/45 +define/395 +defined/12 +definer/7 +definite/68 +definiteness/43 +definitional +definition/48 +definitiveness/6 +definitive/46 +defis +deflate/396 +deflationary +deflation/6 +deflect/64 +deflected/12 +deflection/7 +deflector/7 +defocus +defocussing +Defoe/6 +defog +defogger/9 +defoliant/7 +defoliator/7 +deformational +deform/277 +deformed/12 +deformity/7 +defrauder/6 +defraud/242 +defrayal/7 +defroster/6 +defrost/90 +deftness/7 +deft/33 +defunct/9 +defying/19 +defy/52 +def/331 +deg +Degas/6 +degassing +degauss/47 +degeneracy/7 +degenerateness/6 +degenerate/28 +degrade/277 +degradedness/6 +degraded/28 +degrading/19 +degrease +degree/7 +degum +Dehlia/6 +dehumanize +dehydrator/7 +deicer/6 +deice/90 +deictic +Deidre/6 +deification/6 +deify/15 +deign/17 +Deimos/6 +Deina/6 +Deirdre/7 +deistic +deist/7 +Deity/6 +deity/7 +deja +deject/17 +dejectedness/6 +dejected/28 +dejection/7 +Dejesus/6 +DeKalb/6 +DeKastere/6 +Delacroix/6 +Delacruz/6 +Delainey/6 +Dela/6 +Delaney/6 +Delano/6 +Delawarean/7 +Delaware/7 +delay/81 +delayer/224 +Delbert/6 +Delcina/6 +Delcine/6 +delectableness/6 +delectable/144 +delectably +delectation/7 +delegable +Deleon/6 +deleted/12 +deleteriousness/6 +deleterious/28 +delete/396 +deletion/6 +delfs +Delft/6 +delft/7 +delftware/9 +Delgado/6 +Delhi/6 +Delia/6 +deliberateness/7 +deliberate/397 +deliberativeness/6 +deliberative/28 +Delibes/6 +delicacy/43 +delicate/68 +delicatenesses +delicateness/123 +delicates +delicatessen/7 +deliciousness/7 +delicious/46 +delicti +delightedness/6 +delighted/28 +delightfulness/6 +delightful/28 +Delilah/6 +Delilahs +Delila/6 +Delinda/6 +delineate/24 +delineation/6 +delinquency/7 +delinquent/65 +deliquesce/17 +deliquescent +deliriousness/7 +delirious/28 +delirium/7 +deli/7 +Delius/6 +deliverables +deliverable/12 +deliver/36 +deliverance/7 +delivered/12 +deliverer/7 +delivery/118 +deliverymen/6 +Della/6 +Dell/6 +dell/7 +Dellwood/6 +Delly/6 +Delmar/6 +Delmarva/6 +Delmer/6 +Delmonico +Delmore/6 +Delmor/6 +Del/86 +Delora/6 +Delores/6 +Deloria/6 +Deloris/6 +Delphic +Delphi/6 +Delphine/6 +Delphinia/6 +delphinium/7 +Delphinus/6 +Delta/6 +delta/7 +deltoid/7 +deluder/6 +delude/31 +deluding/19 +deluge/17 +delusional +delusion/7 +delusiveness/6 +delusive/28 +deluxe +delve/23 +delver/6 +demagnify/122 +demagogic +demagogue/26 +demagoguery/7 +demagogy/7 +demander/6 +demand/31 +demandingly +demanding/12 +demarcate/15 +demarcation/6 +Demavend/6 +demean/17 +demeanor/7 +dementedness/6 +demented/28 +dementia/7 +Demerol/6 +demesne/7 +Demeter/6 +Demetra/6 +Demetre/6 +Demetria/6 +Demetri/7 +Demetrius/6 +demigod/7 +demijohn/7 +demimondaine/7 +demimonde/7 +demineralization/7 +Deming/6 +demise/165 +demit +demitasse/7 +demitted +demitting +Dem/207 +democracy/7 +Democratic +democratically/12 +democratic/12 +democratization/7 +democratize/31 +democratizes/12 +Democrat/7 +democrat/7 +Democritus/6 +démodé +demo/398 +demographer/7 +demographical/19 +demographic/9 +demography/7 +demolisher/6 +demolish/31 +demolition/7 +demonetization/9 +demoniacal/19 +demoniac/9 +demonic +demonology/6 +demon/7 +demonstrable/45 +demonstrableness/6 +demonstrably/45 +demonstrate/24 +demonstration/6 +demonstrativenesses +demonstrativeness/135 +demonstratives +demonstrative/161 +demonstrator/7 +demoralization/6 +demoralizer/6 +demoralizing/19 +DeMorgan/6 +Demosthenes/6 +demote/399 +demotic/9 +Demott/6 +demount/277 +Dempsey/6 +demulcent/9 +demultiplex +demureness/7 +demure/28 +demurral/7 +demurred +demurrer/7 +demurring +demur/228 +demythologization/6 +demythologize/164 +den +Dena/6 +dendrite/7 +Deneb/6 +Denebola/6 +Deneen/6 +Dene/6 +Deng/6 +dengue/7 +deniable/12 +denial/7 +Denice/6 +denier/6 +denigrate/24 +denigration/6 +denim/7 +Denise/6 +Deni/7 +denizen/26 +Den/6 +De/72 +Denmark/6 +Denna/6 +denned +Dennet/6 +Denney/6 +Dennie/6 +Denni/7 +denning +Dennison/6 +Denny/6 +denominate/130 +denominational/19 +denote/277 +denouement/7 +denounce/27 +denouncement/7 +denouncer/6 +dense/400 +densely +denseness/7 +densitometer/7 +densitometric +densitometry/6 +density/7 +dens/54 +dental/16 +dentifrice/7 +dentine's +dentin/7 +dent/401 +dentistry/7 +dentist/7 +dentition/7 +dent's +denture/43 +denuclearize/17 +denudation/7 +denude/47 +denuder/6 +denunciate/24 +denunciation/6 +Denver/6 +denying/19 +Deny/6 +Denys +Denyse/6 +deny/23 +deodorant/7 +deodorization/7 +deodorize/23 +deodorizer/6 +Deon/6 +Deonne/6 +deoxyribonucleic +depart/329 +departmentalization/7 +departmentalize/17 +departmental/19 +department/7 +departure/7 +dependability/7 +dependableness/6 +dependable/42 +dependably +Dependant/7 +depend/277 +dependence/43 +dependency/7 +dependent/402 +dependent's +depicted/12 +depicter/6 +depiction/7 +depict/31 +depilatory/9 +deplete/24 +depletion/6 +deplorableness/6 +deplorable/42 +deplorably +deplorer/6 +deplore/318 +deploring/19 +deployable +deploy/102 +deployment/48 +depolarize +deponent/9 +deportation/7 +deportee/7 +deport/403 +deportment/7 +depose +deposit/36 +depositary/6 +deposition/14 +depositor/48 +depository/7 +depravedness/6 +depraved/28 +deprave/31 +depraver/6 +depravity/7 +deprecate/15 +deprecating/19 +deprecation/6 +deprecatory +depreciable +depreciate/24 +depreciating/19 +depreciation/6 +depreciative/19 +depressant/9 +depressible +depression/7 +depressive/16 +depressor/7 +depress/130 +deprive/17 +depth/6 +depths +Dept/6 +deputation/7 +depute/17 +deputize/17 +deputy/7 +dequeue +derail/329 +dérailleur/7 +derailment/7 +derange/329 +derangement/7 +Derbyshire/6 +derby/7 +Derby/7 +dereference/331 +Derek/6 +dereliction/7 +derelict/9 +Derick/6 +deride/81 +deriding/19 +derision/7 +derisiveness/7 +derisive/28 +derisory +derivable/12 +derivate/129 +derivation/6 +derivativeness/6 +derivative/32 +derive/277 +derived/12 +Derk/6 +Der/6 +dermal +dermatitides +dermatitis/7 +dermatological +dermatologist/7 +dermatology/7 +dermis/7 +Dermot/6 +derogate/24 +derogation/6 +derogatorily +derogatory +Derrek/6 +Derrick/6 +derrick/26 +Derrida/6 +derričre/9 +Derrik/6 +Derril/6 +derringer/7 +Derron/6 +Derry/6 +dervish/7 +Derward/6 +Derwin/6 +Des +desalinate/15 +desalination/6 +desalinization/7 +desalinize/17 +desalt/224 +descant/6 +Descartes/6 +descendant/7 +descended/404 +descendent's +descender/6 +descending/278 +descends/278 +descend/23 +descent +describable/45 +describe/405 +description/7 +descriptiveness/7 +descriptive/46 +descriptor/7 +descry/17 +Desdemona/6 +desecrater/6 +desecrate/294 +desecration/6 +deserter/6 +desertification +desertion/7 +desert/49 +deservedness/6 +deserved/10 +deserve/406 +deserving/19 +déshabillé's +desiccant/9 +desiccate/15 +desiccation/6 +desiccator/7 +desiderata +desideratum/6 +designable +design/36 +designate/24 +designational +designation/6 +designator/7 +designed/19 +designer/6 +designing/12 +Desi/6 +desirabilia +desirability's +desirability/302 +desirableness/7 +desirableness's/12 +desirable/407 +desirably/12 +Desirae/6 +desire/408 +desired/12 +Desiree/6 +desirer/6 +Desiri/6 +desirousness/6 +desirous/28 +desist/17 +desk/7 +desktop/9 +Desmond/6 +Desmund/6 +desolateness/7 +desolate/409 +desolater/6 +desolating/19 +desolation/6 +desorption/6 +despairer/6 +despairing/19 +despair/31 +desperadoes +desperado/6 +desperateness/7 +desperate/168 +desperation/6 +despicable +despicably +despiser/6 +despise/31 +despoil/329 +despoilment/7 +despond +despondence/9 +despondency/7 +despondent/19 +despotic +despotically +despotism/7 +dessert/7 +d'Estaing +destinate/107 +destination/6 +destine/17 +destiny/7 +destituteness/6 +destitute/351 +destitution/6 +destroy/67 +destroyer/6 +destructibility/43 +destructible/45 +destruction/7 +destructiveness/7 +destructive/28 +destructor/6 +destruct/64 +desuetude/7 +desultorily +desultoriness/6 +desultory/42 +detachedness/6 +detached/28 +detacher/6 +detach/113 +detachment/7 +detailedness/6 +detailed/28 +detainee/9 +detainer/6 +detain/8 +detainment/7 +d'etat +detectability/12 +detectable/12 +detectably/12 +detect/160 +detected/12 +detection/7 +detective/7 +detector/7 +détente +detentes +detention/7 +detergency/6 +detergent/7 +deteriorate/24 +deterioration/6 +determent/7 +determinability/6 +determinable/261 +determinableness/123 +determinacy/45 +determinant/7 +determinateness/123 +determinate/410 +determination/123 +determinativeness/6 +determinative/42 +determinedly +determinedness/6 +determined/12 +determine/36 +determiner/7 +determinism/7 +determinism's/45 +deterministically +deterministic/45 +deterred/12 +deterrence/7 +deterrent/65 +deterring +detersive/9 +deter/40 +deters/130 +detestableness/6 +detestable/42 +detestably +detestation/7 +dethrone/329 +dethronement/7 +detonable +detonated/12 +detonate/24 +detonation/6 +detonator/7 +detour/224 +detoxification/6 +detoxify/15 +detox/17 +detract/348 +detractive/19 +d'etre +detribalize/17 +detrimental/16 +detriment/7 +detritus/6 +Detroit/6 +deuced/19 +deuce/26 +deus +deuterium/7 +deuteron/6 +Deuteronomy/6 +Deutsch/6 +Deva/6 +Devanagari/6 +Devan/6 +devastate/24 +devastating/19 +devastation/6 +devastator/7 +develop/411 +developed/12 +developer/118 +developmental/19 +development/48 +deviance/7 +deviancy/9 +deviant/65 +deviated/12 +deviate/15 +deviating/12 +deviation/6 +devilishness/7 +devilish/28 +devilment/7 +devilry/7 +devil/267 +deviltry/7 +Devi/6 +Devina/6 +Devin/6 +Devinne/6 +deviousness/7 +devious/28 +devise/412 +deviser/6 +Devland/6 +Devlen/6 +Devlin/6 +Dev/6 +devoice +devolution/7 +devolve/17 +Devondra/6 +Devonian +Devon/6 +Devonna/6 +Devonne/6 +Devonshire/6 +Devora/6 +devoted/19 +devotee/7 +devote/107 +devotional/16 +devotion/6 +devourer/6 +devour/23 +devoutness/7 +devout/33 +Devy/6 +Dewain/6 +dewar +Dewar/6 +Dewayne/6 +dewberry/7 +dewclaw/7 +dewdrop/7 +Dewey/6 +Dewie/6 +dewiness/7 +Dewitt/6 +dewlap/7 +Dew/6 +dew/26 +dewy/98 +Dexedrine/6 +dexes/45 +Dex/6 +dexter +dexterity/7 +Dexter/6 +dexterousness/7 +dexterous/28 +dextrose/7 +DH +Dhaka +Dhaulagiri/6 +dhoti/7 +dhow/7 +DI +diabase/6 +diabetes/6 +diabetic/9 +diabolic +diabolicalness/6 +diabolical/28 +diabolism/6 +diachronic/42 +diacritical/16 +diacritic/7 +diadem/26 +diaereses +diaeresis/6 +Diaghilev/6 +diagnometer/7 +diagnosable/12 +diagnose/88 +diagnosed/12 +diagnosis/6 +diagnostically +diagnostician/7 +diagnostic/7 +diagnostics/6 +diagonalize/88 +diagonal/16 +diagrammable +diagrammatic +diagrammaticality +diagrammatically +diagrammed +diagrammer/7 +diagramming +diagram/7 +Diahann/6 +dialectal/19 +dialectical/19 +dialectic/7 +dialect/7 +dialed/14 +dialer/6 +dialing/6 +dial/91 +dialogged +dialogging +dialog/7 +dials/14 +dialysis/6 +dialyzed/12 +dialyzes +diam +diamagnetic +diameter/7 +diametric +diametrical/19 +diamondback/7 +diamond/26 +Diana/6 +Diandra/6 +Diane/6 +Dianemarie/6 +Dian/6 +Dianna/6 +Dianne/6 +Diann/6 +Diannne/6 +diapason/7 +diaper/26 +diaphanousness/6 +diaphanous/28 +diaphragmatic +diaphragm/7 +diarist/7 +Diarmid/6 +diarrheal +diarrhea/7 +diary/7 +diaspora +Diaspora/7 +diastase/7 +diastole/7 +diastolic +diathermy/7 +diathesis/6 +diatomic +diatom/7 +diatonic +diatribe/7 +Diaz's +dibble/26 +dibs +DiCaprio/6 +dice/31 +dicer/6 +dicey +dichloride/6 +dichotomization/6 +dichotomize/17 +dichotomous/28 +dichotomy/7 +dicier +diciest +dicing/6 +Dickensian/9 +dickens/6 +Dickens/6 +dicker/47 +Dickerson/6 +dickey/7 +dick/413 +Dickie/6 +dickier +dickiest +Dickinson/6 +Dickson/6 +Dick/73 +Dicky/6 +dicky's +dicotyledonous +dicotyledon/7 +dicta/6 +Dictaphone/7 +dictate/15 +dictation/6 +dictatorialness/6 +dictatorial/28 +dictator/7 +dictatorship/7 +dictionary/7 +diction/7 +dictum/6 +didactically +didactic/9 +didactics/6 +did/13 +diddler/6 +diddle/23 +Diderot/6 +Didi/6 +didn't +didoes +dido/6 +Dido/6 +didst +die/142 +Diefenbaker/6 +Diego/6 +dieing +dielectric/7 +diem +Diem/6 +Diena/6 +Dierdre/6 +diereses +dieresis/6 +diesel/26 +Diesel's +dies's +dies/12 +dietary/9 +dieter/6 +Dieter/6 +dietetic/9 +dietetics/6 +diethylaminoethyl +diethylstilbestrol/6 +dietitian/7 +diet/49 +Dietrich/6 +Dietz/6 +difference/26 +difference's/45 +differences/45 +differentiability +differentiable +differential/65 +differentiated/12 +differentiate/15 +differentiation/6 +differentiator/7 +differentness +different/51 +differ/23 +difficile +difficult/19 +difficulty/7 +diffidence/7 +diffident/19 +diffract/17 +diffraction/7 +diffractometer/7 +diffuseness/7 +diffuse/414 +diffuser/6 +diffusible +diffusional +diffusion/6 +diffusiveness/6 +diffusive/28 +diffusivity/6 +digerati +digested/44 +digester/6 +digestibility/7 +digestible/45 +digestifs +digestion/43 +digestive/46 +digest/29 +digger/7 +digging/9 +digitalis/6 +digitalization/7 +digitalized +digitalizes +digitalizing +digital/16 +digitization/6 +digitizer/6 +digitize/23 +digit/7 +dignified/12 +dignify/17 +dignitary/7 +dignity/43 +digram +digraph/6 +digraphs +digress/64 +digression/7 +digressiveness/6 +digressive/28 +dig/415 +dihedral +Dijkstra/6 +Dijon/6 +dike/111 +diker/6 +diktat/7 +Dilan/6 +dilapidate/15 +dilapidation/6 +dilatation/7 +dilated/28 +dilate/24 +dilation/6 +dilatoriness/6 +dilator/7 +dilatory/42 +Dilbert/6 +dilemma/7 +dilettante/7 +dilettantish +dilettantism/7 +diligence/7 +diligentness/6 +diligent/28 +dilithium +Dillard/6 +Dillie/6 +Dillinger/6 +dilling/164 +dillis +Dill/6 +Dillon/6 +dill/26 +dillydally/17 +Dilly/6 +dilly/7 +dilogarithm +diluent +diluted/12 +diluteness/6 +dilute/416 +dilution/6 +Di/6 +DiMaggio/6 +dimensionality/6 +dimensional/19 +dimensionless +dimension/26 +dimer/6 +dime/7 +dimethylglyoxime +dimethyl/6 +diminished/12 +diminish/417 +diminuendo/7 +diminution/7 +diminutiveness/6 +diminutive/46 +Dimitri/6 +Dimitry/6 +dimity/7 +dimmed/12 +dimmer/7 +dimmest +dimming +dimness/7 +dimorphism/6 +dimple/26 +dimply/54 +dim/418 +dimwit/7 +dimwitted +Dinah/6 +Dina/6 +dinar/7 +diner/6 +dine/9 +dinette/7 +dingbat/7 +ding/47 +dinghy/7 +dingily +dinginess/7 +dingle/7 +dingoes +dingo/7 +dingus/7 +dingy/177 +dinky/228 +din/49 +dinned +dinner/7 +dinnertime/9 +dinnerware/7 +Dinnie/6 +dinning +Dinny/6 +Dino/6 +dinosaur/7 +dint/26 +diocesan/9 +diocese/7 +Diocletian/6 +diode/7 +Diogenes/6 +Dione/6 +Dionisio/6 +Dionis/6 +Dion/6 +Dionne/6 +Dionysian +Dionysus/6 +Diophantine/6 +diopter/7 +diorama/7 +Dior/6 +dioxalate +dioxide/7 +dioxin/9 +diphtheria/7 +diphthong/7 +diplexers +diploid/9 +diplomacy/7 +diploma/26 +diplomata +diplomatically +diplomatic/9 +diplomatics/6 +diplomatist/7 +diplomat/7 +dipodic +dipody/6 +dipole/7 +dipped +Dipper/6 +dipper/7 +dipping/9 +dippy/54 +dip/9 +dipsomaniac/7 +dipsomania/7 +dipstick/7 +dipterous +diptych/6 +diptychs +Dir +Dirac/6 +directed/233 +directionality +directional/16 +direction/43 +directions/14 +directive/7 +directivity/6 +directly/45 +directness/43 +director/48 +directorate/7 +directorial +directorship/7 +directory/7 +direct/37 +directrix/7 +directs/58 +direful/19 +direness/6 +dire/33 +dirge/26 +Dirichlet/6 +dirigible/9 +dirk/26 +Dirk/6 +dirndl/7 +dirtily +dirtiness/7 +dirt/7 +dirty/226 +Dis +disable/419 +disablement/7 +disabler/6 +disabuse +disadvantaged/42 +disagreeable/9 +disallow/81 +disambiguate/15 +disappointed/19 +disappointing/19 +disarming/19 +disarrange/329 +disastrous/19 +disband/329 +disbandment/7 +disbar/329 +disbarment/7 +disbarring +disbelieving/19 +disbursal/9 +disburse/8 +disbursement/7 +disburser/6 +discerner/6 +discernibility +discernible/45 +discernibly +discerning/19 +discernment/7 +discern/8 +disc/165 +discharged/12 +disciple/26 +discipleship/7 +disciplinarian/7 +disciplinary +disciplined/12 +discipline/420 +discipliner/6 +disciplines +disciplining +disclosed/12 +discography/7 +discolored/204 +discoloreds/12 +discolor/224 +discombobulate/15 +discomfit/47 +discomfiture/7 +disco/207 +discommode/47 +disconcerting/19 +disconnectedness/9 +disconnected/42 +disconnecter/6 +disconnect/164 +disconsolate/220 +discordance/7 +discordant/19 +discord/224 +discorporate/81 +discotheque/7 +discount/277 +discourage/421 +discouragement/7 +discouraging/19 +discoverable/45 +discover/36 +discovered/12 +discoverer/9 +discovery/48 +discreetly/45 +discreetness's/45 +discreetness/7 +discreet/33 +discrepancy/7 +discrepant/19 +discreteness/7 +discrete/168 +discretionary +discretion/43 +discretization +discretized +discriminable +discriminant/7 +discriminated/12 +discriminate/24 +discriminating/51 +discrimination/123 +discriminator/7 +discriminatory +discursiveness/9 +discussant/7 +discussed/13 +discusser/6 +discussion/7 +discus/7 +disdainfulness/6 +disdainful/28 +disdain/26 +disease/224 +disembowelment/7 +disembowel/11 +disengage/329 +disfigure/329 +disfigurement/7 +disfranchise/329 +disfranchisement/7 +disgorge +disgrace/164 +disgracer/6 +disgruntle/11 +disgruntlement/7 +disguised/10 +disguise/164 +disguiser/6 +disgust +disgusted/19 +disgustful/19 +disgusting/19 +dishabille/7 +disharmonious +dishcloth/6 +dishcloths +dishevel/11 +dishevelment/7 +dish/47 +dishonest +dishonored/12 +dishpan/7 +dishrag/7 +dishtowel/7 +dishwasher/7 +dishwater/7 +disillusion/422 +disillusionment/7 +disinfectant/7 +disinherit +disinterestedness/7 +disinterested/42 +disinvest/329 +disjoin +disjointedness/9 +disjunctive/16 +disjunct/423 +disk/81 +diskette/9 +dislike/224 +dislodge/403 +dislodgement/6 +dismalness/6 +dismal/38 +dismantle/329 +dismantlement/7 +dismay/81 +dismayed/12 +dismaying/19 +dis/424 +dismember/403 +dismemberment/7 +dismissive/19 +dismiss/90 +Disneyland/6 +Disney/6 +disoblige/224 +disorderedness/6 +disordered/28 +disorderliness/6 +disorderly/42 +disorder/19 +disorganize +disorganized/12 +disparagement/7 +disparager/6 +disparage/8 +disparaging/19 +disparateness/6 +disparate/46 +dispatch/331 +dispelled +dispelling +dispel/9 +dispensable/45 +dispensary/7 +dispensate/107 +dispensation/6 +dispenser/6 +dispense/67 +dispersal/7 +dispersant/6 +dispersed/19 +disperser/6 +disperse/425 +dispersible +dispersion/6 +dispersiveness/6 +dispersive/28 +dispirit/17 +displace/329 +display/36 +displayed/12 +displeased/19 +displease/224 +displeasure +disport +disposable/9 +disposal/7 +dispose/401 +dispositional +disposition/43 +disproportional +disproportionate/122 +disproportionation/6 +disprove/277 +disputable/45 +disputably/45 +disputant/7 +disputation/7 +disputatious/19 +disputed/12 +disputer/6 +dispute/67 +disquieting/19 +disquiet/6 +disquisition/7 +Disraeli/6 +disregardful +disrepair/6 +disreputableness/6 +disreputable/42 +disrepute/6 +disrespect +disrupted/12 +disrupter/6 +disrupt/29 +disruption/7 +disruptive/28 +disruptor/6 +dissatisfy +dissect/47 +dissed +dissembler/6 +dissemble/23 +disseminate/15 +dissemination/6 +dissension/7 +dissenter/6 +dissent/23 +dissertation/7 +disservice +disses +dissever +dissidence/7 +dissident/7 +dissimilar/9 +dissing +dissipatedly +dissipatedness/6 +dissipated/12 +dissipater/6 +dissipate/426 +dissipation/6 +dissociable/45 +dissociate/24 +dissociated/12 +dissociation/6 +dissociative/19 +dissoluble/45 +dissoluteness/7 +dissolute/28 +dissolve/36 +dissolved/12 +dissonance/7 +dissonant/19 +dissuade/31 +dissuader/6 +dissuasive +dist +distaff/7 +distal/19 +distance/26 +distantness/6 +distant/28 +distaste +distemper +distend +distension +distention/7 +distillate/99 +distillation/6 +distillery/7 +distincter +distinctest +distinction/7 +distinctiveness/7 +distinctive/28 +distinct/427 +distinctness/43 +distinguishable/45 +distinguishably/45 +distinguish/318 +distinguished/12 +distinguisher/6 +distort/428 +distorted/12 +distorter/6 +distortion/7 +distract/47 +distractedness/6 +distracted/28 +distracting/19 +distrait +distraught/19 +distress +distressful +distressing/19 +distribute/429 +distributed/12 +distributer +distributional +distribution/118 +distributiveness/6 +distributive/46 +distributivity +distributorship/6 +distributor/7 +district/36 +district's +distrust/224 +disturbance/7 +disturbed/12 +disturber/6 +disturbing/19 +disturb/23 +disulfide/6 +disuse/6 +disyllable/6 +Dita/6 +ditcher/6 +ditch/111 +dither/23 +ditsy/54 +ditto/26 +ditty/26 +Ditzel/6 +ditz/9 +diuresis/6 +diuretic/9 +diurnal/16 +divalent/9 +diva/7 +divan/7 +dived/6 +divergence/7 +divergent/19 +diverge/17 +diver/6 +diverseness/7 +diverse/168 +diversification/6 +diversifier/6 +diversify/294 +diversionary +diversion/6 +diversity/7 +divert/17 +diverticulitis/7 +divertimento/6 +dive/9 +divestiture/7 +divest/11 +divestment/9 +dividable +divide/36 +divided/12 +dividend/7 +divider/7 +divination/7 +diviner/6 +divine/430 +divinity/7 +divisibility/43 +divisible/45 +divisional +division/7 +divisiveness/7 +divisive/28 +divisor/7 +divorcée/7 +divorce/267 +divorcement/7 +divot/7 +div/431 +divulge/17 +divvy/26 +Dixiecrat/7 +dixieland +Dixieland/7 +Dixie/6 +Dix/6 +Dixon/6 +dizzily +dizziness/7 +dizzying/19 +dizzy/226 +DJ +Djakarta's +djellabah's +djellaba/9 +d/432 +Djibouti/6 +DMD +Dmitri/6 +DMZ +DNA +Dnepropetrovsk/6 +Dnepr's +Dnieper's +Dniester/6 +Dniren/6 +DOA +doable +DOB +Dobbin/6 +dobbin/7 +Doberman +Dobro/6 +docent/7 +docile/19 +docility/7 +docker/6 +docket/26 +dock/49 +dockland/7 +dockside/6 +dockworker/9 +dockyard/7 +doc/7 +Doctor +doctoral +doctorate/7 +doctor/26 +Doctorow/6 +doctrinaire/9 +doctrinal/19 +doctrine/7 +docudrama/9 +documentary/7 +documentation/7 +documented/12 +document/49 +DOD +dodder/17 +dodecahedra +dodecahedral +dodecahedron/6 +Dode/6 +dodge/23 +Dodge/6 +dodgem/9 +dodger/6 +Dodgson/6 +Dodie/6 +Dodi/6 +Dodington/6 +Dodoma/6 +dodo/7 +Dodson/6 +Dody/6 +DOE +Doe/6 +doe/7 +doer/135 +does/13 +doeskin/7 +doesn't +d'oeuvre +doff/17 +dogcart/7 +dogcatcher/7 +dogeared +Doge/6 +doge/7 +dogfight/131 +dogfish/7 +dogfought +doggedness/7 +dogged/28 +doggerel/7 +dogging +doggone/181 +doggy/80 +doghouse/7 +dogie/7 +doglegged +doglegging +dogleg/7 +dogma/7 +dogmatically/12 +dogmatic/9 +dogmatics/6 +dogmatism/7 +dogmatist/7 +dogsbody/6 +dog/7 +dogtooth/6 +Dogtown/6 +dogtrot/7 +dogtrotted +dogtrotting +dogwood/7 +dogy's +Doha/6 +doh's +doily/7 +doing/135 +Dolby/7 +doldrum/9 +doldrums/6 +doled/278 +dolefuller +dolefullest +dolefulness/7 +doleful/28 +Dole/6 +dole/26 +doles/278 +Dolf/6 +doling/278 +dollar/7 +Dolley/6 +Dollie/6 +Dolli/6 +Doll/6 +doll/26 +dollop/26 +Dolly/6 +dolly/26 +dolmen/7 +dolomite/7 +dolomitic +Dolores/6 +Dolorita/7 +dolorous/19 +dolor/7 +dolphin/7 +Dolph/6 +doltishness/7 +doltish/28 +dolt/7 +domain/7 +dome/26 +Domenic/6 +Domenico/6 +Domeniga/6 +Domesday/6 +domestically +domesticate/15 +domesticated/12 +domestication/6 +domesticity/7 +domestic/9 +domicile/26 +domiciliary +dominance/7 +dominant/16 +dominate/24 +domination/6 +dominator/6 +dominatrices +dominatrix +domineer/17 +domineeringness/6 +domineering/28 +Dominga/6 +Domingo/6 +Dominguez/6 +Dominica/6 +Dominican/7 +Dominick/6 +Dominic/6 +Dominik/6 +Domini/6 +dominion/7 +Dominique/6 +dominoes +domino/6 +Domitian/6 +Dom/6 +Donahue/6 +Donald/6 +Donaldson/6 +Donall/6 +Donal/6 +Donalt/6 +Dona/6 +dona/7 +Donatello/6 +donate/24 +donation/6 +donative/6 +Donaugh/6 +Donavon/6 +done/433 +Donella/6 +Donelle/6 +Donetsk/6 +Donetta/6 +dong/26 +dongle/9 +Donia/6 +Donica/6 +Donielle/6 +Donizetti/6 +donkey/7 +Donna/6 +Donnamarie/6 +donned +Donnell/6 +Donnelly/6 +Donne/6 +Donner/6 +Donnie/6 +Donni/6 +donning +donnishness/6 +donnish/28 +Donn/114 +donnybrook/7 +Donny/6 +donor/7 +Donovan/6 +don/9 +Don/7 +don't +donut/7 +donutted +donutting +doodad/7 +doodlebug/7 +doodler/6 +doodle/23 +doohickey/7 +Dooley/6 +Doolittle/6 +doom/26 +doomsday/7 +Doonesbury/6 +doorbell/7 +door/26 +doorhandles +doorkeeper/6 +doorkeep/90 +doorknob/7 +doorman/6 +doormat/7 +doormen +doornail/6 +doorplate/7 +doors/45 +doorstep/7 +doorstepped +doorstepping +doorstop/7 +doorway/7 +dooryard/7 +dopamine +dopant/6 +dopa/7 +dope/49 +doper/6 +dopey +dopier +dopiest +dopiness/9 +Doppler/6 +Dorado/6 +Doralia/6 +Doralin/6 +Doralyn/6 +Doralynne/6 +Doralynn/6 +Dora/6 +Dorcas +Dorchester/6 +Doreen/6 +Dorelia/6 +Dorella/6 +Dorelle/6 +Doré/6 +Dorena/6 +Dorene/6 +Doretta/6 +Dorette/6 +Dorey/6 +Doria/6 +Dorian/6 +Doric +Dorice/6 +Dorie/6 +Dori/7 +Dorine/6 +Dorisa/6 +Dorise/6 +Dorita/6 +dork/9 +dorky/54 +dormancy/7 +dormant/9 +dormer/6 +dormice +dormitory/7 +dorm/96 +dormouse/6 +Dorolice/6 +Dorolisa/6 +Doro/6 +Dorotea/6 +Doroteya/6 +Dorothea/6 +Dorothee/6 +Dorothy/6 +Dorree/6 +Dorrie/6 +Dorri/7 +Dorry/6 +dorsal/16 +Dorsey/6 +Dorthea/6 +Dorthy/6 +Dortmund/6 +Dory/6 +dory/7 +DOS +dosage/7 +dose/6 +dos/17 +Dosi/6 +dosimeter/7 +dosimetry/6 +dossier/7 +dost +Dostoevsky/6 +DOT +dotage/7 +dotard/7 +doter/6 +dote/9 +Doti/6 +doting/19 +Dot/6 +dot/91 +Dotson/6 +dotted +Dottie/6 +Dotti/6 +dottiness/6 +dotting +Dotty/6 +dotty/98 +do/434 +Douala/6 +Douay/6 +Doubleday/6 +doubled/13 +double/435 +doubleheader/7 +doubleness/6 +doubler/6 +doubles/6 +doublespeak/9 +doublethink/6 +doublet/7 +doubleton/6 +doubling/14 +doubloon/7 +doubly +doubt/436 +doubted/12 +doubter/7 +doubtfulness/7 +doubtful/28 +doubting/19 +doubtlessness/6 +doubtless/28 +douche/26 +Dougherty/6 +dough/6 +doughnut/7 +doughs +doughty/54 +doughy/54 +Dougie/6 +Douglas/6 +Douglass +Doug/6 +Dougy/6 +dourness/7 +Douro/6 +dour/33 +douser/6 +douse/31 +dovecote/7 +Dover/6 +dove/175 +dovetail/26 +dovish +Dov/114 +dowager/7 +dowdily +dowdiness/7 +dowdy/177 +dowel/26 +dower/26 +Dow/6 +downbeat/7 +downcast/9 +downdraft/6 +downer/6 +Downey/6 +downfall/125 +downgrade/17 +down/23 +downheartedness/7 +downhearted/28 +downhill/208 +downland +download/17 +downpipes +downplay/17 +downpour/7 +downrange +downrightness/6 +downright/28 +downriver +Downs +downscale/17 +downside/9 +downsize/17 +downslope +downspout/7 +downstage/9 +downstairs +downstate/208 +downstream +downswing/7 +downtime/7 +downtowner/6 +downtown/175 +downtrend/6 +downtrodden +downturn/7 +downwardness/6 +downward/46 +downwind +downy/54 +dowry/7 +dowse/23 +dowser/6 +doxology/7 +doyenne/7 +doyen/7 +Doyle/6 +Doy/6 +doze +dozen/437 +dozenths +dozer/6 +doz/294 +dozy +DP +DPs +dpt +DPT +drabbed +drabber +drabbest +drabbing +drabness/7 +drab/46 +drachma/7 +Draco/6 +draconian +Draconian +Dracula/6 +draft/438 +draftee/7 +drafter/7 +draftily +draftiness/7 +drafting/9 +draftsman/6 +draftsmanship/7 +draftsmen +draftsperson +draftswoman +draftswomen +drafty/98 +dragged +dragger/6 +dragging/19 +draggy/54 +drag/7 +dragnet/7 +dragonfly/7 +dragonhead/6 +dragon/7 +dragoon/26 +drainage/7 +drainboard/7 +drained/12 +drainer/6 +drainpipe/7 +drain/49 +Drake/6 +drake/7 +Dramamine/7 +drama/7 +dramatically/12 +dramatical/19 +dramatic/9 +dramatics/6 +dramatist/7 +dramatization/7 +dramatized/12 +dramatizer/6 +dramatize/23 +dramaturgy/6 +Drambuie/6 +drammed +dramming +dram/7 +drank +Drano/6 +draper/6 +drapery/7 +drape/23 +drastic +drastically +drat/9 +dratted +dratting +Dravidian/6 +drawable +draw/250 +drawback/7 +drawbridge/7 +drawer/7 +drawing/7 +drawler/6 +drawling/19 +drawl/31 +drawly +drawn/58 +drawnly +drawnness +drawstring/7 +dray/26 +dreadfulness/7 +dreadful/46 +dreadlocks +dreadnought/7 +dread/31 +dreamboat/7 +dreamed/12 +dreamer/6 +dreamily +dreaminess/7 +dreaming/19 +dreamland/7 +dreamlessness/6 +dreamless/28 +dreamlike +dream/49 +dreamworld/9 +dreamy/98 +drearily +dreariness/7 +drear/9 +dreary/177 +Dreddy/6 +dredge/49 +dredger/6 +Dredi/6 +dreg/7 +Dreiser/6 +Dre/6 +drencher/6 +drench/31 +Dresden/6 +dress/395 +dressage/7 +dressed/12 +dresser/7 +dresser's/14 +dresses/12 +dressiness/7 +dressing/7 +dressmaker/7 +dressmaking/7 +dressy/98 +drew/14 +Drew/6 +Drexel/6 +Dreyfus/6 +Dreyfuss +dribble/23 +dribbler/6 +driblet/7 +drib/7 +dried/12 +drier/6 +drifter/6 +drifting/19 +drift/23 +driftwood/7 +driller/6 +drilling/6 +drillmaster/7 +drill/49 +drinkable/9 +drink/240 +drinker/6 +dripped +dripping/7 +drippy/54 +drip/7 +driveler/6 +drivel/23 +driven/42 +driver/6 +drive/193 +driveway/7 +drizzle/26 +drizzling/19 +drizzly/54 +Dr/6 +drogue/7 +drollery/7 +drollness/7 +droll/226 +drolly +dromedary/7 +Drona/6 +drone/111 +droning/19 +drool/31 +droopiness/7 +drooping/19 +droop/17 +droopy/98 +drophead +dropkick/9 +droplet/7 +dropout/7 +dropped +dropper/7 +dropping/7 +dropsical +drop/7 +dropsy/7 +drosophila/6 +dross/7 +drought/7 +drover/6 +drove/23 +drowner/6 +drown/187 +drowse/17 +drowsily +drowsiness/7 +drowsy/98 +drubbed +drubber/7 +drubbing/7 +drub/9 +Drucie/6 +Drucill/6 +Druci/6 +Drucy/6 +drudge/111 +drudger/6 +drudgery/7 +drudging/19 +Drud/6 +drugged +druggie/228 +drugging +druggist/7 +Drugi/6 +drugless +drug/7 +drugstore/7 +druidism/7 +druid/7 +Druid's +Dru/6 +drumbeat/131 +drumhead/6 +drumlin/7 +drummed +drummer/7 +drumming +Drummond/6 +drum/7 +drumstick/7 +drunkard/7 +drunkenness/7 +drunken/28 +drunk/439 +drupe/7 +Drury/6 +Drusie/6 +Drusilla/6 +Drusi/6 +Drusy/6 +druthers +dryad/7 +Dryden/6 +dryer/7 +dry/430 +dryish +dryness/7 +drys +drystone +drywall/17 +D's +d's/14 +Dshubba/6 +DST +DTP +dualism/7 +dualistic +dualist/6 +duality/7 +dual/16 +Duane/6 +Dubai/6 +dubbed +dubber/9 +dubbing/6 +dubbin/7 +Dubcek/6 +Dubhe/6 +dubiety/7 +dubiousness/7 +dubious/28 +Dublin/6 +Dubrovnik/6 +dub/9 +Dubuque/6 +ducal +ducat/7 +duce/440 +duce's +Duchamp/6 +duchess/7 +duchy/7 +duckbill/7 +ducker/6 +duck/111 +duckling/7 +duckpins +duckpond +duckweed/7 +ducky/80 +ducted/441 +ductile/45 +ductility/7 +ducting/278 +duct/442 +ductless +duct's/14 +ducts/443 +ductwork/6 +dudder +dude/7 +dudgeon/7 +dud/26 +Dudley/6 +Dud/6 +duelist/7 +duel/91 +dueness/6 +duenna/7 +due/444 +duet/7 +duetted +duetting +duffel/6 +duffer/6 +duff/49 +Duffie/6 +Duff/6 +Duffy/6 +Dugald/6 +dugout/7 +dug/9 +duh +DUI +Duisburg/6 +dukedom/7 +duke/26 +Duke/6 +Dukey/6 +Dukie/6 +Duky/6 +Dulcea/6 +Dulce/6 +dulcet/16 +Dulcia/6 +Dulciana/6 +Dulcie/6 +dulcify +Dulci/6 +dulcimer/7 +Dulcinea/6 +Dulcine/6 +Dulcy/6 +dullard/7 +Dulles/6 +dullness/7 +dull/226 +dully +dulness's +Dulsea/6 +Duluth/6 +duly/12 +Du/6 +Dumas +dumbbell/7 +dumbfound/31 +dumbness/7 +Dumbo/6 +dumb/77 +dumbstruck +dumbwaiter/7 +dumdum/7 +dummy/26 +Dumont/6 +dumper/135 +dumpiness/7 +dumpling/7 +dump/23 +dumpster/9 +Dumpster/9 +Dumpty/6 +dumpy/177 +Dunant/6 +Dunbar/6 +Duncan/6 +dunce/7 +Dunc/6 +Dundee/6 +dunderhead/7 +Dunedin/6 +dune/7 +dungaree/7 +dungeon/26 +dunghill/7 +dung/26 +Dunham/6 +dunker/6 +dunk/31 +Dunkirk/6 +Dunlap/6 +Dun/6 +dunned +Dunne/6 +dunner +dunnest +dunning +Dunn/6 +dunno/6 +dun/9 +Dunstan/6 +duodecimal/9 +duodena +duodenal +duodenum/6 +duologue/6 +duo/7 +duopolist +duopoly/6 +dupe/445 +duper/6 +dupion/6 +duple +duplexer/6 +duplex/111 +duplicability/6 +duplicable +duplicate/132 +duplication/118 +duplicative +duplicator/7 +duplicitous +duplicity/7 +Dupont/7 +DuPont/7 +durability/7 +durableness/6 +durable/144 +durably +Duracell/6 +durance/7 +Durand/6 +Duran/6 +Durante/6 +Durant/6 +durational +duration/7 +Durban/6 +Dürer/6 +duress/7 +Durex/6 +Durham/7 +during +Durkee/6 +Durkheim/6 +Dur/6 +Durocher/6 +durst +durum/7 +Durward/6 +Duse/6 +Dusenberg/6 +Dusenbury/6 +Dushanbe/6 +dusk/26 +duskiness/7 +dusky/98 +Düsseldorf +dustbin/7 +dustcart/6 +dustcover +duster/6 +dustily +dustiness/7 +dusting/6 +Dustin/6 +dustless +dustman/6 +dustmen +dust/49 +dustpan/7 +Dusty/6 +dusty/98 +Dutch/6 +Dutchman/6 +Dutchmen +dutch/7 +Dutchwoman +Dutchwomen +duteous/19 +dutiable +dutifulness/9 +dutiful/161 +duty/7 +Duvalier/6 +duvet/7 +duxes +Dvina/6 +Dvorák/6 +Dwain/6 +dwarfish +dwarfism/7 +dwarf/446 +Dwayne/6 +dweeb/9 +dweller/7 +dwell/447 +dwelling/7 +dwelt/45 +DWI +Dwight/6 +dwindle/17 +dyadic +dyad/7 +Dyana/6 +Dyane/6 +Dyan/6 +Dyanna/6 +Dyanne/6 +Dyann/6 +dybbukim +dybbuk/7 +dyed/14 +dyeing/6 +dye/91 +dyer/6 +Dyer/6 +dyes/14 +dyestuff/7 +dying/13 +Dyke/6 +dyke's +Dylan/6 +Dy/6 +Dynah/6 +Dyna/6 +dynamical/19 +dynamic/9 +dynamics/6 +dynamism/7 +dynamiter/6 +dynamite/49 +dynamized +dynamo/7 +dynastic +dynasty/7 +dyne/6 +dysentery/7 +dysfunctional +dysfunction/7 +dyslectic/9 +dyslexia/7 +dyslexically +dyslexic/9 +dyspepsia/7 +dyspeptic/9 +dysprosium/7 +dystopia/6 +dystrophy/6 +dz +Dzerzhinsky/6 +E +ea +each +Eachelle/6 +Eada/6 +Eadie/6 +Eadith/6 +Eadmund/6 +eagerness/7 +eager/290 +eagle/26 +eaglet/7 +Eakins/6 +Ealasaid/6 +Eal/6 +Eamon/6 +earache/7 +eardrum/7 +earful/7 +ear/448 +Earhart/6 +earing/6 +earldom/7 +Earle/6 +Earlene/6 +Earlie/6 +Earline/6 +earliness/7 +Earl/6 +earl/7 +earlobe/9 +Early/6 +early/177 +earmark/71 +earmuff/7 +earned/12 +earner/6 +Earnestine/6 +Earnest/6 +earnestness/7 +earnest/46 +earn/431 +earning/6 +earphone/7 +earpieces +earplug/7 +Earp/6 +earring/7 +earshot/7 +earsplitting +Eartha/6 +earthbound +earthed/12 +earthenware/7 +earthiness/7 +earthliness/6 +earthling/7 +earthly/98 +earth/449 +earthmen +earthmover/6 +earthmoving +earthquake/26 +earthshaking +earths/12 +earthward/9 +earthwork/7 +earthworm/7 +earthy/98 +Earvin/6 +earwax/7 +earwigged +earwigging +earwig/7 +eased/25 +ease/450 +easel/7 +easement/7 +easer/6 +ease's/147 +eases/147 +easies +easily/12 +easiness/41 +easing/6 +eastbound +easterly/9 +Easter/6 +easterner/6 +Easterner/6 +easternmost +Eastern/90 +eastern/90 +easter/19 +east/214 +Easthampton/6 +easting/6 +Eastland/6 +Eastman/6 +eastward/9 +Eastwick/6 +Eastwood/6 +East/96 +easygoingness/6 +easygoing/42 +easy/264 +eatables +eatable/12 +eaten/12 +eater/6 +eatery/7 +eating/6 +Eaton/6 +eat/195 +eavesdropped +eavesdropper/7 +eavesdropping +eavesdrop/9 +eave/7 +eBay/6 +Eba/6 +Ebba/6 +ebb/17 +EBCDIC +Ebeneezer/6 +Ebeneser/6 +Ebenezer/6 +Eben/6 +Eberhard/6 +Eberto/6 +Eb/72 +Ebola +Ebonee/6 +Ebonics +Ebony/6 +ebony/7 +Ebro/6 +ebullience/7 +ebullient/19 +ebullition/7 +EC +eccentrically +eccentricity/7 +eccentric/7 +eccl +Eccles +Ecclesiastes/6 +ecclesiastical/19 +ecclesiastic/7 +ECG +echelon/26 +echinoderm/7 +echo/165 +echoed/14 +echoes/14 +echoic +echolocation/7 +éclair/7 +éclat/7 +eclectically +eclecticism/7 +eclectic/9 +eclipse/26 +ecliptic/7 +eclogue/7 +ecocide/7 +ecol +Ecole/6 +ecologic +ecological/19 +ecologist/7 +ecology/7 +Eco/6 +econ +Econometrica/6 +econometricians +econometric/9 +econometrics/6 +economical/10 +economic/9 +economics/6 +economist/7 +economization +economize/23 +economizer/6 +economizing/12 +economy/7 +ecosystem/7 +ecru/7 +ecstasy/7 +Ecstasy/9 +ecstatically +ecstatic/9 +ectoplasm/6 +Ecuadoran/9 +Ecuadorean/9 +Ecuadorian/9 +Ecuador/6 +ecumenical/19 +ecumenicism/7 +ecumenicist/7 +ecumenic/7 +ecumenics/6 +ecumenism/7 +ecumenist/7 +eczema/7 +Eda/6 +Edam/7 +Edan/6 +ed/257 +Edda/6 +Eddie/6 +Eddi/6 +Edd/6 +Eddy/6 +eddy/26 +Edee/6 +Edeline/6 +edelweiss/7 +Ede/6 +edema/7 +edematous +eden +Eden/6 +Edgard/6 +Edgardo/6 +Edgar/6 +edge/91 +edgeless +edger/6 +Edgerton/6 +Edgewater/6 +edgewise +Edgewood/6 +edgily +edginess/7 +edging/6 +edgy/98 +edibility/7 +edibleness/7 +edible/144 +edict/7 +Edie/6 +edification/6 +edifice/7 +edifier/6 +edifying/12 +edify/115 +Edik/6 +Edi/140 +Edinburgh/6 +Edin/6 +Edison/6 +editable +Edita/6 +edited/44 +Editha/6 +Edithe/6 +Edith/6 +edition/7 +editorialist/6 +editorialize/31 +editorializer/6 +editorial/16 +editor/7 +editorship/7 +edit/36 +Ediva/6 +Edlin/6 +Edmond/6 +Edmon/6 +Edmonton/6 +Edmund/6 +Edna/6 +Edouard/6 +EDP +eds +Edsel/6 +Edsger/6 +EDT +Eduard/6 +Eduardo/6 +educability/7 +educable/9 +educated/28 +educate/132 +educationalists +educational/19 +education/118 +educationists +educative +educator/7 +educ/344 +educe/9 +eduction/6 +Eduino/6 +edutainment/9 +Edvard/6 +Edwardian +Edwardo/6 +Edward/7 +Edwina/6 +Edwin/6 +Ed/451 +Edy/6 +Edythe/6 +Edyth/6 +EEC +EEG +eek/9 +eelgrass/6 +eel/7 +e'en +EEO +EEOC +e'er +eerie/54 +eerily +eeriness/7 +Eeyore/6 +effaceable/45 +effacement/7 +effacer/6 +efface/8 +effectiveness/43 +effectives +effective/68 +effector/7 +effect/163 +effectual/68 +effectualness/123 +effectuate/55 +effectuation/6 +effeminacy/7 +effeminate/16 +effendi/7 +efferent/16 +effervesce/17 +effervescence/7 +effervescent/19 +effeteness/7 +effete/28 +efficacious/68 +efficaciousness/123 +efficacy/43 +efficiency/43 +efficient/402 +Effie/6 +effigy/7 +effloresce +efflorescence/7 +efflorescent +effluence/7 +effluent/7 +effluvia +effluvium/6 +effluxion +efflux/6 +effortlessness/7 +effortless/28 +effort/7 +effrontery/7 +effulgence/7 +effulgent +effuse/24 +effusion/6 +effusiveness/7 +effusive/28 +EFL +e/452 +Efrain/6 +Efrem/6 +Efren/6 +EFT +egad +egalitarian/45 +egalitarianism/7 +egalitarians +EGA/6 +Egan/6 +Egbert/6 +Egerton/6 +eggbeater/7 +eggcup/7 +egger/6 +egg/111 +eggheaded/42 +egghead/56 +eggnog/7 +eggplant/7 +eggshell/7 +egis's +eglantine/7 +egocentrically +egocentricity/7 +egocentric/9 +egoism/7 +egoistic +egoistical/19 +egoist/7 +egomaniac/7 +egomania/7 +Egon/6 +Egor/6 +ego/7 +egotism/7 +egotistic +egotistical/19 +egotist/7 +egregiousness/7 +egregious/28 +egress/26 +egret/7 +Egyptian/9 +Egypt/6 +Egyptology/6 +eh +Ehrlich/6 +Eichmann/6 +eiderdown/7 +eider/7 +eidetic +Eiffel/6 +eigenfunction/7 +eigenstate/9 +eigenvalue/7 +eigenvector/7 +eighteen/216 +eighteenths +eightfold +eighth/7 +eighths +eightieths +eightpence +eight/7 +eighty/216 +Eileen/6 +Eilis/6 +Eimile/6 +Einsteinian +einsteinium/7 +Einstein/7 +Eire/6 +Eirena/6 +Eisenhower/6 +Eisenstein/6 +Eisner/6 +eisteddfod/6 +either +ejaculate/15 +ejaculation/6 +ejaculatory +ejecta +ejection/7 +ejector/7 +eject/64 +Ekaterina/6 +Ekberg/6 +eked/14 +eke/17 +EKG +Ekstrom/6 +Ektachrome/6 +elaborateness/7 +elaborate/148 +elaboration/6 +elaborators +Elaina/6 +Elaine/6 +Elana/6 +eland/7 +Elane/6 +élan/6 +Elanor/6 +elans +elapse/17 +el/63 +elastically/45 +elasticated +elasticity/7 +elasticize/17 +elastic/9 +elastodynamics +elastomer/6 +elatedness/6 +elated/28 +elater/6 +elate/294 +elation/6 +Elayne/6 +Elba/7 +Elbe/6 +Elberta/6 +Elbertina/6 +Elbertine/6 +Elbert/6 +elbow/26 +elbowroom/7 +Elbrus/6 +Elden/6 +elderberry/7 +elderflower +elderliness/6 +elderly/144 +elder/16 +eldest +Eldin/6 +Eldon/6 +Eldorado's +Eldredge/6 +Eldridge/6 +Eleanora/6 +Eleanore/6 +Eleanor/6 +Eleazar/6 +electable/12 +elect/36 +elected/12 +electioneer/17 +election/48 +electiveness/6 +elective/46 +electoral/19 +electorate/7 +elector/7 +Electra/6 +electress/6 +electricalness/6 +electrical/28 +electrician/7 +electricity/7 +electric/9 +electrification/6 +electrifier/6 +electrify/115 +electrocardiogram/7 +electrocardiograph/6 +electrocardiographs +electrocardiography/7 +electrochemical/19 +electrocute/15 +electrocution/6 +electrode/7 +electrodynamics/6 +electrodynamic/16 +electroencephalogram/7 +electroencephalographic +electroencephalograph/6 +electroencephalographs +electroencephalography/7 +electrologist/7 +electroluminescent +electrolysis/6 +electrolyte/7 +electrolytic +electrolytically +electrolyze/17 +electro/6 +electromagnetic +electromagnetically +electromagnetism/7 +electromagnet/7 +electromechanical +electromechanics +electromotive +electromyograph +electromyographic +electromyographically +electromyography/6 +electronegative +electronically +electronic/9 +electronics/6 +electron/7 +electrophoresis/6 +electrophorus/6 +electroplate/17 +electroscope/7 +electroscopic +electroshock/26 +electrostatic/9 +electrostatics/6 +electrotherapist/6 +electrotype/453 +electroweak +eleemosynary +Eleen/6 +elegance/43 +elegant/51 +elegiacal +elegiac/9 +elegy/7 +elem +elemental/16 +elementarily +elementariness/6 +elementary/42 +element/7 +Elena/6 +Elene/6 +Eleni/6 +Elenore/6 +Eleonora/6 +Eleonore/6 +elephantiases +elephantiasis/6 +elephantine +elephant/7 +elevated/9 +elevate/15 +elevation/6 +elevator/7 +eleven/140 +elevens/9 +elevenths +elev/107 +Elfie/6 +elfin/9 +elfish +elf/6 +Elfreda/6 +Elfrida/6 +Elfrieda/6 +Elga/6 +Elgar/6 +Elianora/6 +Elianore/6 +Elia/7 +Elicia/6 +elicitation/7 +elicit/17 +elide/17 +Elie/6 +eligibility/43 +eligible/230 +Elihu/6 +Elijah/6 +Eli/6 +eliminate/108 +elimination/6 +eliminator/7 +Elinore/6 +Elinor/6 +Eliot/6 +Elisabeth/6 +Elisabet/6 +Elisabetta/6 +Elisa/6 +Elise/6 +Eliseo/6 +Elisha/6 +elision/7 +Elissa/6 +Elita/6 +elite/444 +elitism/7 +elitist/7 +elixir/7 +Elizabethan/9 +Elizabeth/6 +Elizabet/6 +Eliza/6 +Elka/6 +Elke/6 +Elkhart/6 +elk/7 +Elladine/6 +Ella/6 +Ellary/6 +Elle/6 +Ellene/6 +Ellen/6 +Ellerey/6 +Ellery/6 +Ellesmere/6 +Ellette/6 +Ellie/6 +Ellington/6 +Elliot/6 +Elliott/6 +ellipse/7 +ellipsis/6 +ellipsoidal +ellipsoid/7 +ellipsometer/7 +ellipsometry +elliptic +elliptical/16 +ellipticity/6 +Elli/7 +Ellison/6 +Ellissa/6 +ell/7 +Ellswerth/6 +Ellsworth/6 +Ellwood/6 +Elly/6 +Ellyn/6 +Ellynn/6 +Elma/6 +Elmer/6 +Elmhurst/6 +Elmira/6 +elm/175 +Elmo/6 +Elmore/6 +Elmsford/6 +El/86 +Elna/140 +Elnar/6 +Elnath/6 +Elnora/6 +Elnore/6 +elocutionary +elocutionist/7 +elocution/7 +elodea/9 +Elohim/6 +Eloisa/6 +Eloise/6 +elongate/15 +elongation/6 +Elonore/6 +elopement/7 +eloper/6 +elope/8 +eloquence/7 +eloquent/51 +Elora/6 +Eloy/6 +Elroy/6 +els +Elsa/6 +Elsbeth/6 +else/6 +Else/6 +Elset/6 +elsewhere +Elsey/6 +Elsie/6 +Elsi/6 +Elsinore/6 +Elspeth/6 +Elston/6 +Elsworth/6 +Elsy/6 +Eltanin/6 +Elton/6 +eluate/7 +elucidate/24 +elucidation/6 +elude/17 +elusiveness/7 +elusive/28 +elute/454 +elution/6 +Elva/6 +elven +Elvera/6 +elver/7 +elves/6 +Elvia/6 +Elvina/6 +Elvin/6 +Elvira/6 +elvish +Elvis/6 +Elvyn/6 +Elwin/6 +Elwira/6 +Elwood/6 +Elwyn/6 +Ely/6 +Elyn/6 +Elysée/6 +Elysees +Elyse/6 +Elysha/6 +Elysia/6 +elysian +Elysian +Elysium/7 +Elyssa/6 +EM +emaciate/15 +emaciation/6 +emacs/6 +Emacs/6 +email/26 +Emalee/6 +Emalia/6 +Ema/6 +emanate/24 +emanation/6 +emancipate/15 +emancipation/6 +emancipator/7 +Emanuele/6 +Emanuel/6 +emasculate/15 +emasculation/6 +embalmer/6 +embalm/23 +embank/11 +embankment/7 +embarcadero +embargoes +embargo/165 +embark/127 +embarkation/85 +embarrassedly +embarrassed/12 +embarrassing/19 +embarrassment/7 +embarrass/11 +embassy/7 +embattle/17 +embeddable +embedded +embedder +embedding/7 +embed/9 +embellished/12 +embellisher/6 +embellish/8 +embellishment/7 +ember/7 +embezzle/27 +embezzlement/7 +embezzler/6 +embitter/11 +embitterment/7 +emblazon/11 +emblazonment/7 +emblematic +emblem/26 +embodier/6 +embodiment/85 +embody/127 +embolden/17 +embolism/7 +embosom +embosser/6 +emboss/23 +embouchure/7 +embower/17 +embraceable +embracer/6 +embrace/29 +embracing/19 +embrasure/7 +embrittle +embrocation/7 +embroiderer/6 +embroider/23 +embroidery/7 +embroilment/7 +embroil/11 +embryologist/7 +embryology/7 +embryonic +embryo/7 +emceeing +emcee/56 +Emelda/6 +Emelen/6 +Emelia/6 +Emelina/6 +Emeline/6 +Emelita/6 +Emelyne/6 +emendation/7 +emend/318 +emerald/7 +Emera/6 +emerge/36 +emergence/48 +emergency/7 +emergent/9 +emerita +emeritae +emeriti +emeritus +Emerson/6 +Emery/6 +emery/26 +emetic/9 +emf/9 +emigrant/7 +emigrate/15 +emigration/6 +émigré/9 +Emilee/6 +Emile/6 +Emilia/6 +Emilie/6 +Emili/6 +Emiline/6 +Emilio/6 +Emil/6 +Emily/6 +eminence/7 +Eminence/7 +eminent/19 +emirate/7 +emir/7 +emissary/7 +emission/48 +emissivity/7 +emit/9 +emittance/6 +emitted +emitter/7 +emitting +Emlen/6 +Emlyn/6 +Emlynne/6 +Emlynn/6 +em/6 +Em/6 +Emmalee/6 +Emmaline/6 +Emmalyn/6 +Emmalynne/6 +Emmalynn/6 +Emma/6 +Emmanuel/6 +Emmeline/6 +Emmerich/6 +Emmery/6 +Emmet/6 +Emmett/6 +Emmey/6 +Emmie/6 +Emmi/6 +Emmit/6 +Emmott/6 +Emmye/6 +Emmy/7 +Emogene/6 +emollient/9 +emolument/7 +Emory/6 +emote/24 +emotionalism/7 +emotionality/6 +emotionalize/17 +emotional/10 +emotionless +emotion/6 +emotive/19 +empaneled +empaneling +empath +empathetic +empathetical/19 +empathic +empathize/17 +empathy/7 +emperor/7 +emphases +emphasis/6 +emphasize/455 +emphatically/12 +emphatic/12 +emphysema/7 +emphysematous +empire/7 +empirical/19 +empiricism/7 +empiricist/7 +empiric/7 +emplace/329 +emplacement/7 +employability/135 +employable/302 +employed/12 +employee/7 +employer/7 +employ/102 +employment/456 +emporium/7 +empower/11 +empowerment/7 +empress/7 +emptier/6 +emptily +emptiness/7 +empty/226 +empyrean/7 +ems/169 +EMT +emulate/24 +emulation/6 +emulative/19 +emulator/7 +emulsification/6 +emulsifier/6 +emulsify/115 +emulsion/7 +emu/7 +Emylee/6 +Emyle/6 +enabler/6 +enable/23 +enactment/48 +enact/102 +enameler/6 +enamelware/7 +enamel/91 +enamor/17 +en/424 +enc +encamp/11 +encampment/7 +encapsulate/15 +encapsulation/6 +encase/11 +encasement/7 +encephalitic +encephalitides +encephalitis/6 +encephalographic +encephalopathy/6 +enchain/17 +enchanter/7 +enchant/457 +enchanting/19 +enchantment/85 +enchantress/7 +enchilada/7 +encipherer/6 +encipher/31 +encircle/11 +encirclement/7 +encl +enclave/26 +enclosed/12 +enclose/17 +enclosure/7 +encoder/6 +encode/179 +encomium/7 +encompass/17 +encore/17 +encounter/17 +encouragement/7 +encourager/6 +encourage/8 +encouraging/19 +encroacher/6 +encroach/8 +encroachment/7 +encrustation/7 +encrust/17 +encrypt/17 +encrypted/12 +encryption/7 +encumbered/12 +encumber/84 +encumbrancer/6 +encumbrance/175 +ency +encyclical/7 +encyclopaedia's +encyclopedia/7 +encyclopedic +encyst/11 +encystment/7 +endanger/11 +endangerment/7 +endear/11 +endearing/19 +endearment/7 +endeavored/12 +endeavorer/6 +endeavor/49 +endemically +endemicity +endemic/9 +ender/6 +endgame/6 +Endicott/6 +ending/6 +endive/7 +endlessness/7 +endless/28 +endmost +endnote/7 +endocrine/9 +endocrinologist/7 +endocrinology/7 +endogamous +endogamy/6 +endogenous/19 +endomorphism/7 +endorse/27 +endorsement/7 +endorser/6 +endoscope/7 +endoscopic +endoscopy/7 +endosperm/6 +endothelial +endothermic +endow/11 +endowment/7 +endpoint/7 +endue/17 +endungeoned +endurable/12 +endurably/12 +endurance/7 +endure/88 +enduringness/6 +enduring/28 +endways +Endymion/6 +end/458 +ENE +enema/7 +enemy/7 +energetically +energetic/9 +energetics/6 +energized/12 +energizer/6 +energize/23 +energy/7 +enervate/24 +enervation/6 +enfeeble/11 +enfeeblement/7 +enfilade/26 +enfold/17 +enforceability/6 +enforceable/12 +enforced/19 +enforce/27 +enforcement/7 +enforcer/6 +enforcible/12 +enfranchise/459 +enfranchisement/85 +enfranchiser/6 +engage/127 +engagement/85 +engaging/19 +Engelbert/6 +Engel/7 +engender/17 +engineer/171 +engineering/86 +engine/26 +England/6 +england/90 +Englebert/6 +Englewood/6 +English/111 +Englishman/6 +Englishmen +Englishwoman/6 +Englishwomen +Eng/6 +engorge/11 +engorgement/7 +Engracia/6 +engram/7 +engraver/6 +engrave/179 +engraving/6 +engrossed/19 +engrosser/6 +engross/8 +engrossing/19 +engrossment/7 +engulf/11 +engulfment/7 +enhanceable +enhance/27 +enhancement/7 +enhancer/6 +enharmonic +Enid/6 +Enif/6 +enigma/7 +enigmatic +enigmatically +Eniwetok/6 +enjambement's +enjambment/7 +enjoinder +enjoin/17 +enjoyability +enjoyableness/6 +enjoyable/42 +enjoyably +enjoy/149 +enjoyment/7 +Enkidu/6 +enlargeable +enlarge/27 +enlargement/7 +enlarger/6 +enlightened/12 +enlighten/11 +enlightening/12 +enlightenment/7 +enlistee/7 +enlister/6 +enlistment/48 +enlist/102 +enliven/11 +enlivenment/7 +enmesh/11 +enmeshment/7 +enmity/7 +Ennis/6 +ennoble/8 +ennoblement/7 +ennobler/6 +ennui/7 +Enoch/6 +enormity/7 +enormousness/7 +enormous/28 +Enos +enough +enoughs +enplane/17 +enqueue/142 +enquirer/9 +enquiringly +enrage/17 +enrapture/17 +Enrica/6 +enricher/6 +Enrichetta/6 +enrich/8 +enrichment/7 +Enrico/6 +Enrika/6 +Enrique/6 +Enriqueta/6 +enrobed +enrollee/7 +enroll/11 +enrollment/7 +ens +ensconce/17 +ensemble/7 +enshrine/11 +enshrinement/7 +enshroud/17 +ensign/7 +ensilage/26 +enslavement/7 +enslaver/6 +enslave/27 +ensnare/11 +ensnarement/7 +Ensolite/6 +ensue/17 +ensurer/6 +ensure/23 +entailer/6 +entailment/7 +entail/8 +entangle/459 +entanglement/85 +entangler/82 +entente/7 +enter/36 +entered/12 +enterer/6 +enteritides +enteritis/7 +enterprise/214 +Enterprise/6 +enterpriser/6 +enterprising/19 +entertainer/6 +entertaining/19 +entertainment/7 +entertain/27 +enthalpy/7 +enthrall/11 +enthrallment/7 +enthrone/11 +enthronement/7 +enthuse/17 +enthusiasm/7 +enthusiastically/12 +enthusiastic/12 +enthusiast/7 +enticement/7 +entice/78 +enticing/19 +entire/16 +entirety/7 +entitle/11 +entitlement/7 +entity/7 +entomb/11 +entombment/7 +entomological +entomologist/9 +entomology/7 +entourage/7 +entr'acte/9 +entrails +entrainer/6 +entrain/8 +entrancement/7 +entrance/267 +entranceway/6 +entrancing/19 +entrant/7 +entrapment/7 +entrapped +entrapping +entrap/40 +entreating/19 +entreat/17 +entreaty/7 +entrée/9 +entrench/11 +entrenchment/7 +entrepreneurial +entrepreneur/7 +entrepreneurship/6 +entropic +entropy/7 +entrust/17 +entry/48 +entryway/7 +entwine/17 +enumerable +enumerate/460 +enumerated/12 +enumerates +enumerating +enumeration's/14 +enumeration/7 +enumerative +enumerator/7 +enunciable +enunciated/12 +enunciate/15 +enunciation/6 +enureses +enuresis/6 +envelope/7 +enveloper/6 +envelopment/7 +envelop/27 +envenom/17 +enviableness/6 +enviable/12 +enviably +envied/12 +envier/6 +enviousness/7 +envious/28 +environ/11 +environmentalism/7 +environmentalist/7 +environmental/19 +environment/7 +envisage/17 +envision/17 +envoy/7 +envying/19 +envy/111 +enzymatic +enzymatically +enzyme/7 +enzymology/6 +Eocene +EOE +eohippus/6 +Eolanda/6 +Eolande/6 +eolian +eon/7 +EPA +epaulet/7 +épée/9 +ephedrine/7 +ephemeral/16 +ephemera/7 +ephemerids +ephemeris/6 +Ephesian/9 +Ephesians/6 +Ephesus/6 +Ephraim/6 +Ephrayim/6 +Ephrem/6 +epically +epicenter/7 +epic/7 +Epictetus/6 +Epicurean +epicurean/9 +epicure/7 +Epicurus/6 +epicycle/7 +epicyclic +epicyclical/19 +epicycloid/6 +epidemically +epidemic/7 +epidemiological/19 +epidemiologist/7 +epidemiology/7 +epidermal +epidermic +epidermis/7 +epidural +epigenetic +epiglottis/7 +epigrammatic +epigram/7 +epigrapher/6 +epigraph/114 +epigraphs +epigraphy/7 +epilepsy/7 +epileptic/9 +epilogue/26 +Epimethius/6 +epinephrine/7 +epiphany/7 +Epiphany/7 +epiphenomena +episcopacy/7 +episcopalian +Episcopalian/9 +Episcopal/9 +episcopal/19 +episcopate/7 +episode/7 +episodic +episodically +epistemic +epistemological/19 +epistemology/6 +epistle/175 +Epistle/7 +epistolary/9 +epistolatory +epitaph/165 +epitaphs +epitaxial/19 +epitaxy/6 +epithelial +epithelium/7 +epithet/7 +epitome/7 +epitomized/12 +epitomizer/6 +epitomize/23 +epochal/19 +epoch/6 +epochs +eponymous +epoxy/17 +epsilon/7 +Epsom/6 +Epstein/6 +equability/7 +equableness/6 +equable/42 +equably +equaling +equality/43 +equalization/7 +equalize/179 +equalized/12 +equalizer/6 +equalizes/12 +equal/461 +equanimity/7 +equate/376 +equation/6 +equatorial/9 +equator/7 +equerry/7 +equestrianism/7 +equestrian/9 +equestrienne/7 +equiangular +equidistant/19 +equilateral/9 +equilibrate/55 +equilibration/6 +equilibrium/85 +equine/9 +equinoctial/9 +equinox/7 +equipage/7 +equipartition/6 +equip/63 +equipment/7 +equipoise/26 +equipotent +equipped/13 +equipping/14 +equiproportional +equiproportionality +equiproportionate +equitable/45 +equitableness/6 +equitably/45 +equitation/7 +equity/43 +equiv +equivalence/26 +equivalent/16 +equivocalness/7 +equivocal/10 +equivocate/15 +equivocation/6 +equivocator/7 +Equuleus/6 +ER +ERA +eradicable/45 +eradicate/24 +eradication/6 +eradicator/7 +era/7 +Eran/6 +erase/122 +eraser/6 +erasion/6 +Erasmus/6 +eras/67 +Erastus/6 +erasure/7 +Erato/6 +Eratosthenes/6 +erbium/7 +Erda/6 +ere +Erebus/6 +erect/462 +erectile +erection/7 +erectness/7 +erector/7 +Erek/6 +erelong +eremite/7 +Erena/6 +ergo +ergodic +ergodicity/6 +ergonomically +ergonomics/6 +ergonomic/12 +ergophobia +ergosterol/7 +ergot/7 +erg/7 +Erhard/6 +Erhart/6 +Erica/6 +Ericha/6 +Erich/6 +Ericka/6 +Erick/6 +Erickson/6 +Eric/6 +Ericson's +Ericsson's +Eridanus/6 +Erie/7 +Erika/6 +Erik/6 +Erikson/6 +Erina/6 +Erin/6 +Erinna/6 +Erinn/6 +eris +Eris +Eritrea/6 +Erlang/6 +Erlenmeyer/6 +Erl/6 +Er/6 +Erma/6 +Ermanno/6 +Ermengarde/6 +Ermentrude/6 +Ermina/6 +ermine/56 +Erminia/6 +Erminie/6 +Ermin/6 +Ernaline/6 +Erna/6 +Ernesta/6 +Ernestine/6 +Ernest/6 +Ernesto/6 +Ernestus/6 +Ernie/6 +Ernst/6 +Erny/6 +erode/17 +erodible +erogenous +erosible +erosional +erosion/7 +erosiveness/6 +erosive/42 +Eros/7 +erotically +erotica/6 +eroticism/7 +erotic/9 +errancy/7 +errand/7 +errantry/6 +errant/16 +errata/7 +erratically +erratic/9 +erratum/7 +err/17 +Errick/6 +erring/10 +Erroll/6 +Errol/6 +erroneousness/6 +erroneous/28 +error/7 +ersatz/9 +Erse/6 +Erskine/6 +erst +erstwhile +Ertha/6 +eructation/7 +eruct/17 +erudite/463 +erudition/6 +erupt/64 +eruption/7 +eruptive/16 +Ervin/6 +ErvIn/6 +Erv/6 +Erwin/6 +Eryn/6 +erysipelas/7 +erythrocyte/7 +es +e's +Es +E's +Esau/6 +escadrille/6 +escalate/345 +escalation/266 +escalator/7 +escallop/26 +escapable/45 +escapade/7 +escapee/7 +escape/113 +escapement/7 +escaper/6 +escapism/7 +escapist/9 +escapology +escarole/7 +escarpment/7 +eschatology/6 +Escherichia/6 +Escher/6 +eschew/17 +Escondido/6 +escort/26 +escritoire/7 +escrow/26 +escudo/7 +escutcheon/7 +Esdras/6 +ESE +Eskimo/7 +ESL +Esma/6 +Esmaria/6 +Esmark/6 +Esme/6 +Esmeralda/6 +esophageal +esophagi +esophagus/6 +esoteric +esoterica +esoterically +esp +ESP +espadrille/7 +Espagnol/6 +espalier/26 +especial/19 +Esperanto/6 +Esperanza/6 +Espinoza/6 +espionage/7 +esplanade/7 +Esp/6 +Esposito/6 +espousal/7 +espouser/6 +espouse/31 +espresso/7 +esprit/7 +espy/17 +Esq/6 +esquire/26 +Esquire/9 +Esra/6 +Essa/6 +essayer/6 +essayist/7 +essay/49 +essence/7 +Essene/7 +Essen/6 +essentialist/6 +essentially +essentialness/6 +essential/464 +Essequibo/6 +Essex/6 +Essie/6 +Essy/6 +EST +established/12 +establisher/6 +establish/133 +establishment/128 +Establishment/7 +Esta/6 +estate/26 +Esteban/6 +esteem/84 +Estela/6 +Estele/6 +Estella/6 +Estelle/6 +Estell/6 +Estel/6 +Esterházy/6 +ester/6 +Ester/6 +Estes +Estevan/6 +Esther/6 +esthete's +esthetically +esthetic's +esthetics's +estimable/45 +estimableness/6 +estimate/24 +estimating/14 +estimation/6 +estimator/7 +Estonia/6 +Estonian/9 +estoppel +Estrada/6 +estrange/8 +estrangement/7 +estranger/6 +Estrella/6 +Estrellita/6 +estrogen/7 +estrous +estrus/7 +est/90 +estuarine +estuary/7 +et +ET +ETA +Etan/6 +eta/7 +etc +etcetera/7 +etcher/6 +etch/179 +etching/6 +ETD +eternalness/7 +eternal/46 +eternity/7 +ethane/7 +Ethan/6 +ethanol/7 +Ethelbert/6 +Ethelda/6 +Ethelind/6 +Etheline/6 +Ethelin/6 +Ethel/6 +Ethelred/6 +Ethelyn/6 +Ethe/6 +etherealness/6 +ethereal/28 +etherized +Ethernet/7 +ether/7 +ethically/12 +ethicalness/6 +ethical/46 +ethicist/9 +ethic/7 +Ethiopia/6 +Ethiopian/9 +ethnically +ethnicity/7 +ethnic/9 +ethnocentric +ethnocentrism/7 +ethnographers +ethnographic +ethnography/6 +ethnological +ethnologist/7 +ethnology/7 +ethnomethodology +ethological +ethologist/7 +ethology/7 +ethos/7 +ethylene/7 +Ethyl/6 +ethyl/7 +Etienne/6 +etiologic +etiological +etiology/7 +etiquette/7 +Etna/6 +Etruria/6 +Etruscan/7 +Etta/6 +Ettie/6 +Etti/6 +Ettore/6 +Etty/6 +étude/7 +etymological/19 +etymologist/7 +etymology/7 +EU +eucalypti +eucalyptus/7 +Eucharistic +Eucharist/7 +euchre/26 +euclidean +Euclid/6 +Eudora/6 +Euell/6 +Eugene/6 +Eugenia/6 +eugenically +eugenicist/7 +eugenic/9 +eugenics/6 +Eugenie/6 +Eugenio/6 +Eugenius/6 +Eugen/6 +Eugine/6 +Eulalie/6 +Eula/6 +Eulerian/6 +Euler/6 +eulogistic +eulogist/7 +eulogized/12 +eulogize/23 +eulogizer/6 +eulogy/7 +Eu/6 +Eumenides +Eunice/6 +eunuch/6 +eunuchs +Euphemia/6 +euphemism/7 +euphemistic +euphemistically +euphemist/6 +euphonious/19 +euphonium/6 +euphony/7 +euphoria/7 +euphoric +euphorically +Euphrates/6 +Eurasia/6 +Eurasian/9 +eureka/9 +Euripides/6 +Eur/6 +Eurodollar/7 +Europa/6 +Europeanization/7 +Europeanized +European/7 +Europe/6 +europium/7 +Eurydice/6 +Eustace/6 +Eustachian/6 +Eustacia/6 +eutectic +Euterpe/6 +euthanasia/7 +euthenics/6 +evacuate/24 +evacuation/6 +evacuee/7 +evader/6 +evade/67 +Evaleen/6 +evaluable +evaluate/132 +evaluated/12 +evaluational +evaluation/118 +evaluative +evaluator/7 +Eva/6 +evanescence/7 +evanescent +Evangelia/6 +evangelic +evangelicalism/7 +Evangelical/9 +evangelical/16 +Evangelina/6 +Evangeline/6 +Evangelin/6 +evangelism/7 +evangelistic +evangelist/7 +Evangelist/7 +evangelize/17 +Evania/6 +Evan/7 +Evanne/6 +Evanston/6 +Evansville/6 +evaporate/24 +evaporation/6 +evaporative/19 +evaporator/7 +evasion/7 +evasiveness/7 +evasive/28 +Eveleen/6 +Evelina/6 +Eveline/6 +Evelin/6 +Evelyn/6 +Eve/6 +evened +evener/6 +evenhanded/28 +evening/7 +Evenki/6 +Even/6 +evenness/41 +even/317 +evens +evensong/7 +eventfulness/7 +eventful/10 +eventide/7 +event/131 +eventuality/7 +eventual/19 +eventuate/17 +Everard/6 +Eveready/6 +Evered/6 +Everest/6 +Everette/6 +Everett/6 +everglade/7 +Everglades +evergreen/9 +Everhart/6 +everlastingness/6 +everlasting/46 +everliving +evermore +EverReady/6 +eve/175 +ever/357 +every +everybody/6 +everydayness/6 +everyday/42 +everyman +everyone/7 +everyplace +everything +everywhere +eve's/14 +eves/14 +Evey/6 +evict/17 +eviction/7 +evidence/26 +evidential/19 +evident/16 +Evie/6 +evildoer/7 +evildoing/7 +evilness/7 +evil/38 +evince/17 +Evin/6 +eviscerate/15 +evisceration/6 +Evita/6 +Ev/72 +evocable +evocate/129 +evocation/6 +evocativeness/6 +evocative/28 +evoke/17 +evolute/99 +evolutionarily +evolutionary +evolutionist/7 +evolution/6 +evolve/17 +Evonne/6 +Evvie/6 +Evvy/6 +Evy/6 +Evyn/6 +Ewan/6 +Eward/6 +Ewart/6 +Ewell/6 +ewe/96 +Ewen/6 +ewer/6 +Ewing/6 +exacerbate/15 +exacerbation/6 +exacter/6 +exactingness/6 +exacting/28 +exaction/7 +exactitude/43 +exactly/45 +exactness/43 +exact/77 +exaggerate/24 +exaggerated/28 +exaggeration/6 +exaggerative/19 +exaggerator/7 +exaltation/7 +exalted/19 +exalter/6 +exalt/23 +examen/6 +examination/63 +examination's +examine/67 +examined/13 +examinees +examiner/6 +examines/14 +examining/14 +exam/125 +example/26 +exampled/12 +exasperate/15 +exasperated/19 +exasperating/19 +exasperation/6 +Excalibur/6 +excavate/15 +excavation/6 +excavator/7 +Excedrin/6 +exceeder/6 +exceeding/19 +exceed/31 +excelled +excellence/7 +excellency/7 +Excellency/7 +excellent/19 +excelling +excel/9 +excelsior/9 +except/64 +exceptionable/12 +exceptionalness/6 +exceptional/10 +exception/465 +excerpter/6 +excerpt/111 +excess/163 +excessiveness/6 +excessive/28 +exchangeable +exchange/23 +exchanger/6 +exchequer/7 +Exchequer/7 +excise/466 +excision/6 +excitability/7 +excitableness/6 +excitable/42 +excitably +excitation/7 +excitatory +excited/19 +excitement/7 +exciter/6 +excite/53 +excitingly +exciting/12 +exciton/6 +exclaimer/6 +exclaim/23 +exclamation/7 +exclamatory +exclude/31 +excluder/6 +exclusionary +exclusioner/6 +exclusion/96 +exclusiveness/7 +exclusive/46 +exclusivity/7 +excommunicate/24 +excommunication/6 +excoriate/15 +excoriation/6 +excremental +excrement/7 +excrescence/7 +excrescent +excreta +excrete/294 +excreter/6 +excretion/6 +excretory/9 +excruciate/55 +excruciating/19 +excruciation/6 +exculpate/15 +exculpation/6 +exculpatory +excursionist/7 +excursion/7 +excursiveness/7 +excursive/28 +excursus/7 +excusable/261 +excusableness/123 +excusably/45 +excuse/318 +excused/12 +excuser/6 +exec/7 +execrableness/6 +execrable/42 +execrably +execrate/24 +execration/6 +executable/7 +execute/467 +executer/6 +executional +executioner/6 +execution/231 +executive/7 +executor/7 +executrices +executrix/6 +exegeses +exegesis/6 +exegete/6 +exegetical +exegetic/9 +exemplariness/6 +exemplar/7 +exemplary/42 +exemplification/6 +exemplifier/6 +exemplify/115 +exemption/7 +exempt/17 +exerciser/6 +exercise/67 +exertion/7 +exert/17 +Exeter/6 +exeunt +exhalation/7 +exhale/17 +exhausted/19 +exhauster/6 +exhaustible/45 +exhausting/19 +exhaustion/7 +exhaustiveness/7 +exhaustive/28 +exhaust/29 +exhibitioner/6 +exhibitionism/7 +exhibitionist/7 +exhibition/96 +exhibitor/7 +exhibit/64 +exhilarate/24 +exhilarating/19 +exhilaration/6 +exhortation/7 +exhort/31 +exhorter/6 +exhumation/7 +exhume/31 +exhumer/6 +exigence/9 +exigency/7 +exigent/16 +exiguity/7 +exiguous +exile/26 +existence/7 +existent/45 +existentialism/7 +existentialistic +existentialist/7 +existential/19 +existents +exist/17 +exit/26 +exobiology/7 +exocrine +Exodus/6 +exodus/7 +exogamous +exogamy/6 +exogenous/19 +exonerate/24 +exoneration/6 +exorbitance/7 +exorbitant/19 +exorcise/17 +exorcism/7 +exorcist/7 +exorcizer/6 +exoskeleton/7 +exosphere/7 +exothermic +exothermically +exotica +exotically +exoticism/7 +exoticness/6 +exotic/144 +exp +expandability/6 +expand/67 +expanded/12 +expander/6 +expanse/333 +expansible +expansionary +expansionism/7 +expansionist/7 +expansion/6 +expansiveness/9 +expansive/28 +expatiate/15 +expatiation/6 +expatriate/15 +expatriation/6 +expectancy/7 +expectant/16 +expectational +expectation/7 +expected/161 +expecting/19 +expectorant/9 +expectorate/15 +expectoration/6 +expect/88 +expedience/230 +expediency/43 +expedients +expedient/51 +expediter/6 +expedite/115 +expeditionary +expedition/6 +expeditiousness/7 +expeditious/28 +expeditor's +expellable +expelled +expelling +expel/9 +expendable/9 +expended/12 +expender/6 +expenditure/7 +expend/318 +expense/163 +expensive/68 +expensiveness/43 +experienced/12 +experience/468 +experiencing +experiential/19 +experimentalism/6 +experimentalist/7 +experimental/19 +experimentation/7 +experimenter/6 +experiment/49 +experted +experting +expertise/7 +expertize/47 +expertnesses +expertness/123 +expert/469 +expert's +expiable/45 +expiate/15 +expiation/6 +expiatory +expiration/7 +expired/12 +expire/17 +expiry/7 +explainable/44 +explain/36 +explained/12 +explainer/7 +explanation/7 +explanatory +expletive/7 +explicable/45 +explicate/24 +explication/6 +explicative/19 +explicitness/7 +explicit/46 +explode/23 +exploded/12 +exploder/6 +exploitation/7 +exploitative +exploited/12 +exploiter/6 +exploit/470 +exploration/7 +exploratory +explore/67 +explored/12 +explorer/6 +explosion/7 +explosiveness/7 +explosive/46 +expo/7 +exponential/16 +exponentiate/15 +exponentiation/6 +exponent/7 +exportability +exportable +export/36 +exportation/7 +exporter/7 +export's +expose +exposed/12 +exposer/6 +exposit/81 +exposition/7 +expositor/7 +expository +expos/23 +expostulate/15 +expostulation/6 +exposure/7 +expounder/6 +expound/23 +expressed/12 +expresser/6 +express/471 +expressibility/45 +expressible/45 +expressibly/45 +expressionism/7 +expressionistic +expressionist/9 +expressionless/28 +expression/7 +expressive/68 +expressiveness/7 +expressiveness's/45 +expressway/7 +expropriate/15 +expropriation/6 +expropriator/7 +expulsion/7 +expunge/31 +expunger/6 +expurgated/12 +expurgate/15 +expurgation/6 +exquisiteness/7 +exquisite/46 +ex/9 +ext +extant +extemporaneousness/7 +extemporaneous/28 +extempore/9 +extemporization/7 +extemporizer/6 +extemporize/23 +extendability/6 +extendedly +extendedness/6 +extended/12 +extender/6 +extendibility/6 +extendibles +extend/23 +extensibility/6 +extensible/45 +extensional/19 +extension/7 +extensiveness/7 +extensive/28 +extensor/7 +extent/7 +extenuate/15 +extenuation/6 +exterior/65 +exterminate/15 +extermination/6 +exterminator/7 +externalities +externalization/7 +externalize/17 +external/16 +extern/6 +extinct/64 +extinction/7 +extinguishable/45 +extinguish/67 +extinguisher/6 +extirpate/24 +extirpation/6 +extolled +extoller/6 +extolling +extol/9 +extort/29 +extorter/6 +extortionate/19 +extortioner/6 +extortionist/7 +extortion/96 +extracellular/19 +extract/160 +extraction/7 +extractive/19 +extractor/7 +extracurricular/9 +extradite/376 +extradition/6 +extragalactic +extralegal/19 +extramarital +extramural +extraneousness/6 +extraneous/28 +extraordinarily +extraordinariness/6 +extraordinary/144 +extrapolate/24 +extrapolation/6 +extra/9 +extrasensory +extraterrestrial/9 +extraterritorial +extraterritoriality/7 +extravagance/7 +extravagant/19 +extravaganza/7 +extravehicular +extravert's +extrema +extremal +extreme/472 +extremeness/7 +extremism/7 +extremist/7 +extremity/7 +extricable/45 +extricate/15 +extrication/6 +extrinsic +extrinsically +extroversion/7 +extrovert/26 +extrude/31 +extruder/6 +extrusion/7 +extrusive +exuberance/7 +exuberant/19 +exudate/451 +exudation/6 +exude/17 +exultant/19 +exultation/7 +exult/17 +exulting/19 +exurban +exurbanite/7 +exurbia/7 +exurb/7 +Exxon/6 +Eyck/6 +Eyde/6 +Eydie/6 +eyeball/26 +eyebrow/7 +eyed/42 +eyedropper/7 +eyeful/7 +eye/49 +eyeglass/7 +eyelash/7 +eyeless +eyelet/26 +eyelid/7 +eyeliner/7 +eyeopener/7 +eyeopening +eyepiece/7 +eyer/6 +eyeshadow +eyesight/7 +eyesore/7 +eyestrain/7 +eyeteeth +eyetooth/6 +eyewash/7 +eyewitness/7 +Eyre/6 +eyrie's +Eysenck/6 +Ezechiel/6 +Ezekiel/6 +Ezequiel/6 +Eziechiele/6 +Ezmeralda/6 +Ezra/6 +Ezri/6 +F +FAA +Fabe/114 +Fabergé/6 +Faber/6 +Fabiano/6 +Fabian/9 +Fabien/6 +Fabio/6 +fable/111 +fabler/6 +fabricate/15 +fabrication/6 +fabricator/7 +fabric/7 +fabulists +fabulousness/6 +fabulous/28 +facade/26 +face/311 +facecloth +facecloths +faceless/42 +faceplate/6 +facer/266 +face's +facetiousness/7 +facetious/28 +facet/26 +facial/16 +facileness/6 +facile/28 +facilitate/24 +facilitation/6 +facilitator/7 +facilitatory +facility/7 +facing/7 +facsimileing +facsimile/56 +factional +factionalism/7 +faction/7 +factiousness/6 +factious/28 +factitious +fact/7 +facto +factoid/9 +factorial/7 +factoring/14 +factoring's +factorisable +factorization/7 +factorize/17 +factor/171 +factory/7 +factotum/7 +factuality/6 +factualness/6 +factual/28 +faculty/7 +faddish +faddist/7 +fadedly +faded/12 +fadeout +fader/6 +fade/9 +fading's +fading/12 +fad/49 +Fae/6 +faerie/7 +Faeroe/6 +faery's +Fafnir/6 +fagged +fagging +faggoting's +Fagin/6 +fag/7 +fagoting/6 +fagot/171 +Fahd/6 +Fahrenheit/9 +faďence/9 +failing's +failing/10 +fail/71 +faille/7 +failsafe +failure/7 +Faina/6 +fain/181 +fainter/6 +fainthearted +faintness/7 +faint/77 +Fairbanks +Fairchild/6 +faired +Fairfax/6 +Fairfield/6 +fairgoer/9 +fairground/7 +fairing/7 +fairish +Fairleigh/6 +fairless +Fairlie/6 +Fair/6 +Fairmont/6 +fairness's +fairness/302 +Fairport/6 +fairs +fair/317 +Fairview/6 +fairway/7 +fairyland/7 +fairy/7 +fairytale +Faisalabad +Faisal/6 +faithed +faithfulness/41 +faithfuls +faithful/161 +faithing +faithlessness/7 +faithless/28 +Faith/6 +faiths +faith's +faith/12 +fajitas +faker/6 +fake/23 +fakir/7 +falafel +falconer/6 +falconry/7 +falcon/96 +Falito/6 +Falkland/7 +Falk/6 +Falkner/6 +fallaciousness/6 +fallacious/28 +fallacy/7 +faller/6 +fallibility/43 +fallible/45 +fallibleness/7 +fallibly/45 +falloff/9 +Fallon/6 +fallopian +Fallopian/6 +fallout/7 +fallowness/6 +fallow/473 +fall/474 +falsehood/7 +falseness/7 +false/33 +falsetto/7 +falsie/7 +falsifiability/6 +falsifiable/12 +falsification/6 +falsifier/6 +falsify/115 +falsity/7 +Falstaff/6 +falterer/6 +faltering/10 +falter/187 +Falwell/6 +fa/6 +famed/169 +fame/26 +fames/169 +familial +familiarity/41 +familiarization/7 +familiarized/12 +familiarizer/6 +familiarize/23 +familiarizing/19 +familiarly/12 +familiarness/6 +familiar/46 +family/7 +famine/7 +faming/169 +famish/17 +famously/45 +famousness/6 +famous/28 +fanaticalness/6 +fanatical/28 +fanaticism/7 +fanatic/7 +Fanchette/6 +Fanchon/6 +fancied +Fancie/6 +fancier/7 +fanciest +fancifulness/7 +fanciful/28 +fancily +fanciness/7 +fancying +fancy/230 +Fancy/6 +fancywork/7 +fandango/7 +Fanechka/6 +fanfare/7 +fanfold/6 +fang/56 +fangled +Fania/6 +fanlight/7 +Fan/6 +fanned +Fannie/6 +Fanni/6 +fanning +fanny/7 +Fanny/7 +fanout +fan/7 +fantail/7 +fantasia/7 +fantasist/6 +fantasize/31 +fantastical/19 +fantastic/9 +fantasy/26 +Fanya/6 +fanzine/9 +FAQ/7 +Faraday/6 +farad/7 +Farah/6 +Fara/6 +Farand/6 +faraway +Farber/6 +farce/26 +farcical/19 +fare/7 +farer/6 +farewell/26 +farfetchedness/6 +far/52 +Fargo/6 +Farica/6 +farinaceous +farina/7 +Farkas/6 +Farlay/6 +Farlee/6 +Farleigh/6 +Farley/6 +Farlie/6 +Farly/6 +farmer/6 +Farmer/6 +farmhand/9 +farmhouse/7 +farming/6 +Farmington/6 +farmland/7 +farm/91 +farmstead/7 +farmworker/9 +Far/86 +farmyard/7 +faro/7 +farragoes +farrago/6 +Farragut/6 +Farrah/6 +Farrakhan/6 +Farra/6 +Farrand/6 +Farrell/6 +Farrel/6 +farrier/7 +Farris/6 +Farr/6 +farrow/26 +farseeing +farsightedness/7 +farsighted/28 +farther +farthermost +farthest +farthing/7 +fart/366 +fas +fascia/7 +fascicle/56 +fasciculate/475 +fasciculation/6 +fascinate/15 +fascinating/19 +fascination/6 +fascism/7 +Fascism's +fascistic +Fascist's +fascist/7 +fashionableness/6 +fashionable/144 +fashionably/12 +fashion/36 +fashioner/7 +fashion's +Fassbinder/6 +fastback/7 +fastball/9 +fasten/310 +fastener/7 +fastening/7 +fast/476 +fastidiousness/7 +fastidious/28 +fastness/7 +fatalism/7 +fatalistic +fatalistically +fatalist/7 +fatality/7 +fatal/16 +fatback/7 +fatefulness/7 +fateful/28 +fate/7 +Fates +fatheaded/42 +fathead/56 +father/116 +fathered/12 +fatherhood/7 +fatherland/7 +fatherless +fatherliness/6 +fatherly/42 +Father/7 +fathomable/12 +fathomless +fathom/57 +fatigued/12 +fatigue/26 +fatiguing/19 +Fatima/6 +fatness/7 +fat/167 +fatso/6 +fatted +fattener/6 +fatten/179 +fatter +fattest/6 +fattiness/7 +fatting +fatty/177 +fatuity/7 +fatuousness/7 +fatuous/28 +fatwa/7 +faucet/7 +Faulknerian +Faulkner/6 +fault/477 +faultfinder/7 +faultfinding/7 +faultily +faultiness/7 +faultlessness/7 +faultless/28 +faulty/98 +fauna/7 +Faunie/6 +Faun/6 +faun/7 +Fauntleroy/6 +Faustian +Faustina/6 +Faustine/6 +Faustino/6 +Faust/6 +Faustus/6 +fauvism/9 +favorableness/135 +favorable/478 +favorably/12 +favoredness/6 +favored's/12 +favored/32 +favorer/82 +favor/479 +favoring/65 +favorings/12 +favorite/41 +favoritism/7 +favors/14 +Fawkes/6 +Fawne/6 +fawner/6 +fawn/49 +Fawnia/6 +fawning/19 +Fawn/6 +fax/26 +Fax/6 +Faydra/6 +Faye/6 +Fayette/6 +Fayetteville/6 +Fayina/6 +Fay/6 +fay/111 +Fayre/6 +Faythe/6 +Fayth/6 +faze/17 +FBI +FCC +FD +FDA +FDIC +FDR/6 +fealty/7 +fearfuller +fearfullest +fearfulness/7 +fearful/28 +fearlessness/7 +fearless/28 +fear/111 +fearsomeness/6 +fearsome/28 +feasibility/7 +feasibleness/6 +feasible/44 +feasibly/12 +feaster/6 +feast/111 +feater/169 +featherbed +featherbedding/7 +featherbrain/170 +feathered/12 +feathering/6 +featherless +featherlight +Featherman/6 +feathertop +featherweight/7 +feathery/54 +feather/49 +feat/480 +feats/169 +featureless +feature/26 +Feb/6 +febrile +February/7 +fecal +feces +fecklessness/6 +feckless/28 +fecundability +fecundate/15 +fecundation/6 +fecund/45 +fecundity/7 +federalism/7 +Federalist +federalist/7 +federalization/7 +federalize/17 +Federal/9 +federal/16 +federated/12 +federate/481 +federation/274 +federative/19 +Federica/6 +Federico/6 +FedEx/6 +Fedora/6 +fedora/7 +feds +Fed/7 +fed/12 +feebleness/7 +feeble/98 +feebly +feedback/7 +feedbag/7 +feeder/6 +feed/210 +feeding/6 +feedlot/7 +feedstock +feedstuffs +feeing +feeler/6 +feel/210 +feelingly/12 +feeling/218 +feelingness/6 +Fee/6 +fee/56 +feet/6 +feigned/12 +feigner/6 +feign/31 +feint/26 +feisty/54 +Felder/6 +Feldman/6 +feldspar/7 +Felecia/6 +Felicdad/6 +Felice/6 +Felicia/6 +Felicio/6 +felicitate/15 +felicitation/6 +felicitous/51 +felicitousness/6 +felicity/43 +Felicity/6 +Felicle/6 +Felic/6 +Felike/6 +Feliks/6 +feline/16 +Felipa/6 +Felipe/6 +Felisha/6 +Felita/6 +Felix/6 +Feliza/6 +Felizio/6 +fella/9 +fellatio/7 +felled/14 +feller/6 +felling/14 +Fellini/6 +fellness/6 +fellowman +fellowmen +fellow/116 +fellowshipped +fellowshipping +fellowship/7 +fell/482 +feloniousness/6 +felonious/28 +felon/7 +felony/7 +felt/17 +felting/6 +Fe/6 +female/444 +femaleness/7 +feminineness/6 +feminine/46 +femininity/7 +feminism/7 +feminist/7 +femme/7 +femoral +fem/9 +femur/7 +fenced/12 +fencepost/6 +fencer/6 +fence/91 +fencing/6 +fender/266 +fend/265 +Fenelia/6 +fenestration/186 +Fenian/6 +fenland/6 +fen/7 +fennel/7 +Fenwick/6 +Feodora/6 +Feodor/6 +feral +Ferber/6 +Ferdie/6 +Ferdinanda/6 +Ferdinande/6 +Ferdinand/6 +Ferdinando/6 +Ferd/6 +Ferdy/6 +fer/483 +Fergus/6 +Ferguson/6 +Ferlinghetti/6 +Fermat/6 +fermentation/7 +fermented +fermenter +ferment/484 +fermenting +Fermi/6 +fermion/7 +fermium/7 +Fernanda/6 +Fernande/6 +Fernandez/6 +Fernandina/6 +Fernando/6 +Ferne/6 +fernery/6 +Fern/6 +fern/7 +ferny/54 +ferociousness/7 +ferocious/28 +ferocity/7 +Ferrari/6 +Ferraro/6 +Ferreira/6 +Ferrell/6 +Ferrel/6 +Ferrer/6 +ferreter/6 +ferret/111 +ferric +ferris +Ferris +ferrite/6 +ferro +ferroelectric +ferromagnetic +ferromagnet/6 +ferrous +ferrule/26 +ferryboat/7 +ferryman/6 +ferrymen +ferry/26 +fertileness/6 +fertile/28 +fertility/43 +fertilization/48 +fertilized/12 +fertilizer/6 +fertilizes/14 +fertilize/23 +ferule/26 +fervency/7 +fervent/19 +fervidness/6 +fervid/28 +fervor/7 +fess/485 +Fess/6 +fess's +festal/9 +fester/47 +festival/7 +festiveness/7 +festive/28 +festivity/7 +festoon/26 +fest/486 +fetal +feta/7 +fetcher/6 +fetching/19 +fetch/23 +feted +fęte/7 +fetich's +fetidness/7 +fetid/28 +feting +fetishism/7 +fetishistic +fetishist/7 +fetish/7 +fetlock/7 +fetter's +fetter/180 +fettle/17 +fettling/6 +fettuccine/9 +fetus/7 +feudalism/7 +feudalistic +feudal/19 +feudatory/6 +feud/26 +feverishness/7 +feverish/28 +fever/26 +fewness/7 +few/177 +Fey/6 +Feynman/6 +fey/54 +fez/6 +Fez/6 +fezzes +ff +FHA +fiancée/9 +fiancé/7 +Fianna/6 +Fiann/6 +fiascoes +fiasco/6 +Fiat/6 +fiat/7 +fibbed +fibber/7 +fibbing +fiberboard/7 +fiber/170 +fiberfill/9 +Fiberglas/6 +fiberglass/26 +Fibonacci/6 +fibrillate/15 +fibrillation/6 +fibril/7 +fibrin/7 +fibroblast/7 +fibroid/9 +fibroses +fibrosis/6 +fibrousness/6 +fibrous/28 +fib/96 +fibulae +fibula/6 +fibular +FICA +fices +fiche/7 +Fichte/6 +fichu/7 +fickleness/7 +fickle/98 +ficos +fictionalization/7 +fictionalize/17 +fictional/19 +fiction/7 +fictitiousness/6 +fictitious/28 +fictive/19 +ficus +fiddle/91 +fiddler/6 +fiddlestick/7 +fiddly +fide/278 +Fidela/6 +Fidelia/6 +Fidelio/6 +fidelity/43 +Fidelity/6 +Fidel/6 +fidget/17 +fidgety +Fidole/6 +Fido/6 +fiducial/19 +fiduciary/7 +fiefdom/9 +fief/7 +fielded +fielder/123 +fielding +Fielding/6 +Field/131 +fieldstone/6 +fieldworker/6 +fieldwork/96 +field/487 +fiendishness/6 +fiendish/28 +fiend/7 +fierceness/7 +fierce/33 +fierily +fieriness/7 +fiery/98 +fie/9 +fies/169 +fiesta/7 +fife/49 +fifer/6 +Fifi/6 +Fifine/6 +FIFO +fifteen/488 +fifteenths +fifths +fifth/19 +fiftieths +fifty/216 +Figaro/6 +figged +figging +fightback +fighter/43 +fighting/230 +fight/210 +figment/7 +fig/489 +Figueroa/6 +figural +figuration/276 +figurativeness/6 +figurative/28 +figure/490 +figurehead/7 +figurer/7 +figure's +figurine/7 +figuring/9 +Fijian/7 +Fiji/6 +filamentary +filament/7 +filamentous +Filberte/6 +Filbert/6 +filbert/7 +Filberto/6 +filch/17 +filed/190 +file/491 +filename/7 +filer/492 +files/190 +filet's +filial/10 +Filia/6 +filibusterer/6 +filibuster/49 +Filide/6 +filigreeing +filigree/56 +filing/190 +filings +Filipino/7 +Filip/6 +Filippa/6 +Filippo/6 +fill/493 +filled/12 +filler/7 +filleting/6 +fillet/26 +filling/6 +fillip/26 +Fillmore/6 +filly/7 +filmdom/6 +Filmer/6 +filminess/7 +filming/6 +filmmaker/9 +Filmore/6 +film/26 +filmstrip/7 +filmy/98 +Filofax/9 +filtered/12 +filterer/6 +filter/66 +filthily +filthiness/7 +filth/6 +filths +filthy/226 +filtrated/45 +filtrate/269 +filtrates/45 +filtrating/45 +filtration/43 +finagler/6 +finagle/23 +finale/7 +finalist/7 +finality/7 +finalization/7 +finalize/17 +final/16 +Fina/6 +financed/14 +finance/171 +finances/14 +financial/19 +financier/26 +financing/14 +Finch/6 +finch/7 +findable/12 +find/193 +finder/6 +finding/6 +Findlay/6 +Findley/6 +fine/494 +finely +fineness/7 +finery/48 +fine's +finespun +finesse/26 +fingerboard/7 +fingerer/6 +fingering/6 +fingerless +fingerling/6 +fingernail/7 +fingerprint/26 +finger/211 +fingertip/7 +finial/7 +finical +finickiness/9 +finicky/98 +fining/6 +finished/13 +finisher/6 +finishes/14 +finish/179 +finis/7 +finite/469 +finitely/169 +finiteness/495 +fink/26 +Finland/6 +Finlay/6 +Finley/6 +Fin/6 +Finnbogadottir/6 +finned +Finnegan/6 +finner +finning +Finnish +Finn/7 +finny/54 +fin/172 +Fiona/6 +Fionna/6 +Fionnula/6 +fiord's +Fiorello/6 +Fiorenze/6 +Fiori/6 +f/496 +firearm/7 +fireball/7 +fireboat/6 +firebomb/26 +firebox/7 +firebrand/7 +firebreak/7 +firebrick/7 +firebug/7 +firecracker/7 +firedamp/7 +fired/12 +firefight/210 +firefly/7 +Firefox/6 +fireguard/6 +firehouse/7 +firelight/497 +fireman/6 +firemen +fire/7 +fireplace/7 +fireplug/7 +firepower/7 +fireproof/17 +firer/6 +firesafe +fireside/7 +Firestone/6 +firestorm/7 +firetrap/7 +firetruck/9 +firewall/9 +firewater/7 +firewood/7 +firework/7 +firing/6 +firkin/6 +firmament/7 +firmer +firmest +firm/498 +firmly/45 +firmness/7 +firm's +firmware/7 +firring +firstborn/9 +firsthand +first/16 +firth/6 +firths +fir/499 +fiscal/16 +Fischbein/6 +Fischer/6 +fishbowl/7 +fishcake/9 +fisher/6 +Fisher/6 +fisherman/6 +fishermen/6 +fishery/7 +fishhook/7 +fishily +fishiness/7 +fishing/6 +fish/91 +Fishkill/6 +fishmeal +fishmonger/7 +fishnet/7 +fishpond/7 +fishtail/26 +fishtanks +fishwife/6 +fishwives +fishy/98 +Fiske/6 +Fisk/6 +fissile +fissionable/9 +fission/57 +fissure/26 +fistfight/7 +fistful/7 +fisticuff/7 +fist/26 +fistula/7 +fistulous +Fitchburg/6 +Fitch/6 +fitfulness/7 +fitful/28 +fitments +fitness/41 +fits/500 +fit's/370 +fitted/13 +fitter/7 +fittest +fitting/13 +fittingly +fittingness/6 +fittings +fit/337 +Fitzgerald/6 +Fitz/6 +Fitzpatrick/6 +Fitzroy/6 +fivefold +five/175 +fiver/6 +fixable +fixate/24 +fixatifs +fixation/6 +fixative/9 +fixedness/6 +fixed/28 +fixer/7 +fixes/45 +fixing/7 +fixity/7 +fixture/7 +fix/180 +Fizeau/6 +fizzer/6 +fizzle/17 +fizz/31 +fizzy/54 +fjord/7 +FL +flabbergast/17 +flabbergasting/19 +flabbily +flabbiness/7 +flabby/98 +flab/7 +flaccidity/7 +flaccid/19 +flack/26 +flagella/6 +flagellate/15 +flagellation/6 +flagellum/6 +flagged +flaggingly/12 +flagging/65 +flagman/6 +flagmen +flag/7 +flagon/7 +flagpole/7 +flagrance/7 +flagrancy/7 +flagrant/19 +flagship/7 +flagstaff/7 +flagstone/7 +flail/26 +flair/7 +flaker/6 +flake/7 +flakiness/7 +flak/111 +flaky/98 +Fla/6 +flambé/81 +flambeing +flambes +flamboyance/7 +flamboyancy/7 +flamboyant/16 +flamenco/7 +flamen/6 +flameproof/17 +flamer/123 +flame's +flame/367 +flamethrower/7 +flamingo/7 +flaming/19 +flammability/43 +flammable/230 +flam/501 +Flanagan/6 +Flanders/6 +flange/26 +flanker/6 +flank/49 +flan/7 +flannel/26 +flannelet/7 +flannelette's +flapjack/7 +flap/7 +flapped +flapper/7 +flapping +flaps/6 +flare/17 +flareup/9 +flaring/19 +flashback/7 +flashbulb/7 +flashcard/9 +flashcube/7 +flasher/6 +flashgun/9 +flashily +flashiness/7 +flashing/6 +flash/91 +flashlight/7 +flashy/98 +flask/7 +flatbed/9 +flatboat/7 +flatcar/7 +flatfeet +flatfish/7 +flatfoot/26 +flathead/6 +flatiron/7 +flatland/208 +flatmate/6 +flat/32 +flatness/7 +flatted +flattener/6 +flatten/31 +flatter/23 +flatterer/6 +flattering/10 +flattery/7 +flattest/6 +flatting +flattish +Flatt/6 +flattop/7 +flatulence/7 +flatulent/19 +flatus/7 +flatware/7 +flatworm/7 +Flaubert/6 +flaunting/19 +flaunt/17 +flautist/7 +flavored/12 +flavorer/6 +flavorful +flavoring/6 +flavorless +flavor/91 +flavorsome +flaw/26 +flawlessness/7 +flawless/28 +flax/125 +flaxseed/6 +flayer/6 +flay/23 +fleabag/7 +fleabites +flea/7 +fleawort/6 +fleck/111 +Fledermaus/6 +fledged/12 +fledge/17 +fledgling/7 +fleecer/6 +fleece/49 +fleeciness/7 +fleecy/98 +fleeing +flee/208 +fleetingly/6 +fleetingness/7 +fleeting/28 +fleet/502 +fleetness/7 +Fleischer/6 +Fleischman/6 +Fleisher/6 +Fleming/6 +Flemished/6 +Flemish/26 +Flemishing/6 +Flem/503 +Flemming/6 +flesher/6 +fleshiness/6 +flesh/504 +fleshless +fleshly/54 +fleshpot/7 +fleshy/98 +fletch/187 +fletcher/6 +Fletcher/6 +fletching/6 +Fletch/114 +Fleurette/6 +Fleur/6 +flew/9 +flews/6 +flexed/45 +flexibility/43 +flexible/45 +flexibly/45 +flexitime's +flex/438 +flextime/9 +flexural +flexure/6 +fl/387 +flibbertigibbet/7 +flicker/47 +flickering/19 +flickery +flick/23 +flier/6 +flight/26 +flightiness/7 +flightless +flightpath +flighty/98 +flimflammed +flimflamming +flimflam/7 +flimsily +flimsiness/7 +flimsy/177 +flincher/6 +flinch/31 +flinching/12 +flinger/6 +fling/256 +Flin/6 +Flinn/6 +flintiness/6 +flintless +flintlock/7 +Flint/6 +flint/26 +Flintstones +flinty/98 +flipflop +flippable +flippancy/7 +flippant/19 +flipped +flipper/7 +flippest +flipping +flip/9 +flirtation/7 +flirtatiousness/7 +flirtatious/28 +flirt/31 +flit/9 +flitted +flitting +floater/6 +float/179 +floaty +flocculate/55 +flocculation/6 +flock/171 +floe/7 +flogged +flogger/7 +flogging/7 +flog/9 +Flo/6 +floodgate/7 +floodlight/26 +floodlit +floodplain/9 +flood/111 +floodwater/7 +floorboard/7 +floorer/6 +flooring/6 +floor/211 +floorspace +floorwalker/7 +floozy/7 +flophouse/7 +flop/7 +flopped +flopper/6 +floppily +floppiness/7 +flopping +floppy/225 +floral/16 +Flora/6 +Florance/6 +flora/7 +Florella/6 +Florence/6 +Florencia/6 +Florentia/6 +Florentine/9 +Florenza/6 +florescence/43 +florescent/45 +Flore/7 +floret/7 +Florette/6 +Floria/6 +Florian/6 +Florida/6 +Floridan/9 +Floridian/9 +floridness/7 +florid/28 +Florie/6 +Florina/6 +Florinda/6 +Florine/6 +florin/7 +Flori/7 +florist/7 +Flor/6 +Florrie/6 +Florri/6 +Florry/6 +Flory/6 +floss/26 +Flossie/6 +Flossi/6 +Flossy/6 +flossy/228 +flotation/7 +flotilla/7 +flotsam/7 +flounce/17 +flouncing/6 +flouncy/54 +flounder/17 +flourisher/6 +flourish/31 +flourishing/19 +flour/26 +floury/54 +flouter/6 +flout/23 +flowchart/166 +flowed +flowerbed/7 +flower/263 +flowerer/6 +floweriness/7 +flowerless +flowerpot/7 +flower's +Flowers +flowery/98 +flowing/19 +flow/447 +flown +flowstone +Floyd/6 +Flss/6 +flt +flubbed +flubbing +flub/9 +fluctuate/15 +fluctuation/6 +fluency/7 +fluently +fluent/281 +flue/7 +fluffiness/7 +fluff/26 +fluffy/98 +fluidity/7 +fluidized +fluid/32 +fluidness/6 +fluke/26 +fluky/54 +flume/26 +flummox/17 +flu/7 +flung +flunkey's +flunk/31 +flunky/7 +fluoresce/31 +fluorescence/7 +fluorescent/9 +fluoridate/15 +fluoridation/6 +fluoride/7 +fluorimetric +fluorinated +fluorine/7 +fluorite/7 +fluorocarbon/7 +fluoroscope/26 +fluoroscopic +flurry/26 +flushness/6 +flush/505 +fluster/17 +fluter/6 +flute/211 +fluting/6 +flutist/7 +flutter/31 +flutterer/6 +fluttery +fluxed/14 +fluxes/14 +flux/43 +fluxing +flyaway +flyblown +flyby/6 +flybys +flycatcher/7 +flyer's +fly/506 +flyleaf/6 +flyleaves +Flynn/6 +flyover/7 +flypaper/7 +flysheet/9 +flyspeck/26 +flyswatter/9 +flyway/7 +flyweight/7 +flywheel/7 +FM +Fm/6 +FNMA/6 +foal/26 +foaminess/7 +foam/111 +foamy/98 +fobbed +fobbing +fob/7 +focal/278 +focally +Foch/6 +foci's +focused/13 +focussed +focuser/6 +focuses/14 +focus/101 +fodder/26 +foe/7 +foetid +FOFL +fogbound +fogged/169 +foggily +fogginess/7 +fogging/169 +foggy/98 +foghorn/7 +fogs/169 +fog/7 +fogyish +fogy/7 +foible/7 +foil/17 +foist/17 +Fokker/6 +foldaway/9 +folded/13 +folder/6 +foldout/7 +fold/179 +folds/13 +Foley/6 +foliage/56 +foliate/345 +foliation/266 +folio/26 +folklike +folklore/7 +folkloric +folklorist/7 +folk/7 +folksiness/7 +folksinger/9 +folksinging/9 +folksong/9 +folksy/98 +folktale/9 +folkway/9 +foll +follicle/7 +follicular +follower/6 +follow/234 +followup's +folly/7 +Folsom +fol/19 +Fomalhaut/6 +fomentation/7 +fomenter/6 +foment/31 +Fonda/6 +fondant/7 +fondle/31 +fondler/6 +fondness/7 +fond/502 +fondue/7 +Fons +Fonsie/6 +Fontainebleau/6 +Fontaine/6 +Fontana/6 +fontanelle's +fontanel/7 +font/7 +Fonzie/6 +Fonz/6 +foodie/9 +food/7 +foodstuff/7 +foolery/7 +foolhardily +foolhardiness/7 +foolhardy/98 +foolishness/7 +foolish/33 +fool/26 +foolproof +foolscap/7 +footage/7 +football/49 +footbridge/7 +Foote/6 +footer/6 +footfall/7 +foothill/7 +foothold/7 +footing/6 +footless +footlights +footling +footlocker/7 +footloose +footman/6 +footmarks +footmen +footnote/26 +footpad/7 +footpath/6 +footpaths +footplate/6 +footprint/7 +footrace/9 +footrest/7 +footsie/7 +foot/91 +footsore +footstep/7 +footstool/7 +footwear/6 +footwork/7 +fop/7 +fopped +foppery/7 +fopping +foppishness/7 +foppish/28 +forage/49 +forager/6 +forayer/6 +foray/111 +forbade +forbearance/7 +forbearer/6 +forbear/214 +Forbes/6 +forbidden +forbiddingness/6 +forbidding/46 +forbid/9 +forbore +forborne +forced/19 +forcefield/7 +forcefulness/7 +forceful/28 +forceps/6 +forcer/6 +force/111 +forcibleness/6 +forcible/42 +forcibly +fordable/12 +Fordham/6 +Ford/6 +ford/57 +forearm/26 +forebear/7 +forebode/71 +forebodingness/6 +foreboding/218 +forecaster/6 +forecastle/7 +forecast/227 +foreclose/17 +foreclosure/7 +forecourt/7 +foredoom/17 +forefather/7 +forefeet +forefinger/7 +forefoot/6 +forefront/7 +foregoer/6 +foregoing/9 +foregone +foregos +foreground/26 +forehand/9 +forehead/7 +foreigner/6 +foreignness/7 +foreign/418 +foreknew +foreknow/166 +foreknowledge/7 +foreknown +foreleg/7 +forelimb/7 +forelock/26 +foreman/6 +Foreman/6 +foremast/7 +foremen +foremost +forename/56 +forenoon/7 +forensically +forensic/9 +forensics/6 +foreordain/17 +forepart/7 +forepaws +forepeople +foreperson/9 +foreplay/7 +forequarter/7 +forerunner/7 +fore/9 +foresail/7 +foresaw +foreseeable/12 +foreseeing +foreseen/12 +foreseer/6 +foresee/507 +foreshadow/17 +foreshore/6 +foreshorten/17 +foresightedness/7 +foresighted/28 +foresight/56 +foreskin/7 +forestaller/6 +forestall/8 +forestallment/6 +forestation/186 +forestations/14 +forest/311 +Forester/6 +forester/7 +forestland/9 +Forest/114 +forestry/7 +forest's +foretaste/26 +foreteller/6 +foretell/255 +forethought/7 +foretold +forevermore +forever/144 +forewarner/6 +forewarn/187 +forewent +forewoman/6 +forewomen +foreword/7 +forfeiter/6 +forfeiture/7 +forfeit/49 +forfend/17 +forgather/17 +forgave +forged/14 +forge/458 +forger/6 +forgery/7 +forges/14 +forgetfulness/7 +forgetful/28 +forget/423 +forgettable/12 +forgettably/12 +forgetting +forging/6 +forgivable/12 +forgivably/12 +forgiven +forgiveness/7 +forgiver/6 +forgive/508 +forgivingly +forgivingness/6 +forgiving/236 +forgoer/6 +forgoes +forgone +forgo/227 +forgot +forgotten/12 +for/509 +forkful/9 +fork/111 +forklift/26 +forlornness/6 +forlorn/33 +formability/118 +formaldehyde/7 +formalin/6 +formalism/7 +formalistic +formalist/7 +formality/43 +formal/51 +formalization/7 +formalized/12 +formalizer/6 +formalizes/45 +formalize/23 +formalness/6 +formals +formant/43 +format/510 +formate/269 +formation/511 +formatively/45 +formativeness/123 +formative/46 +format's +formatted/13 +formatter/14 +formatters +formatter's +formatting/14 +form/512 +formed/12 +former/513 +formerly +formfitting +formic +Formica/7 +formidableness/6 +formidable/42 +formidably +formlessness/7 +formless/28 +Formosa/6 +Formosan +form's +formulaic +formula/7 +formulate/132 +formulated/12 +formulation/118 +formulator/7 +fornicate/15 +fornication/6 +fornicator/7 +Forrester/6 +Forrest/114 +forsaken +forsake/166 +forsook +forsooth +Forster/6 +forswear/166 +forswore +forsworn +forsythia/7 +Fortaleza/6 +forte/7 +forthcome/301 +forthcoming/12 +FORTH/6 +forthrightness/7 +forthright/46 +forthwith +fortieths +fortification/7 +fortified/12 +fortifier/7 +fortify/36 +fortiori +fortissimo/9 +fortitude/7 +fortnightly/9 +fortnight/65 +FORTRAN +Fortran/6 +fortress/26 +fort/7 +fortuitousness/7 +fortuitous/28 +fortuity/7 +fortunateness/6 +fortunate/514 +fortune/26 +fortuneteller/7 +fortunetelling/7 +forty/488 +forum/7 +forwarder/6 +forwarding/6 +forwardness/7 +forward/100 +forwent +fossiliferous +fossilization/7 +fossilized/12 +fossilize/17 +fossil/7 +Foss/6 +fosterer/6 +Foster/6 +foster/31 +Foucault/6 +fought +foulard/7 +foulmouth/81 +foulness/7 +fouls/6 +foul/77 +foundational +foundation/7 +founded/404 +founder/165 +founder's/278 +founding/278 +foundling/7 +found/23 +foundry/7 +founds/515 +fountainhead/7 +fountain/26 +fount/7 +fourfold +Fourier/6 +fourpence/6 +fourpenny +fourposter/7 +fourscore/9 +four/216 +foursome/7 +foursquare +fourteener/6 +fourteen/488 +fourteenths +Fourth +fourths +Fourths +fourth/19 +fovea/6 +fowler/6 +Fowler/6 +fowling/6 +fowl/111 +foxfire/7 +foxglove/7 +Foxhall/6 +foxhole/7 +foxhound/7 +foxily +foxiness/7 +foxing/6 +fox/26 +Fox/7 +foxtail/6 +foxtrot/7 +foxtrotted +foxtrotting +foxy/98 +foyer/7 +FPO +fps +fr +fracas/7 +fractal/7 +fractional/19 +fractionate/454 +fractionation/6 +fractioned +fractioning +fraction/339 +fractiousness/7 +fractious/28 +fracture/26 +fragile/19 +fragility/7 +fragmentarily +fragmentariness/6 +fragmentary/42 +fragmentation/7 +fragment/26 +Fragonard/6 +fragrance/7 +fragrant/19 +frailness/7 +frail/38 +frailty/7 +framed/12 +framer/6 +frame/91 +framework/7 +framing/6 +Francaise/6 +France/7 +Francene/6 +Francesca/6 +Francesco/6 +franchisee/9 +franchise/84 +franchiser/7 +franchise's +Franchot/6 +Francie/6 +Francine/6 +Francis +Francisca/6 +Franciscan/7 +Francisco/6 +Franciska/6 +Franciskus/6 +francium/7 +Francklin/6 +Francklyn/6 +Franck/6 +Francoise/6 +Francois/6 +Franco/6 +francophone/6 +franc/7 +Francyne/6 +frangibility/7 +frangible +Frankel/6 +Frankenstein/7 +franker/6 +Frankford/6 +Frankfort/6 +Frankfurter/6 +frankfurter/7 +Frankfurt/114 +Frankie/6 +frankincense/7 +Frankish/6 +franklin/6 +Franklin/6 +Franklyn/6 +frankness/7 +frank/77 +Frank/7 +Franky/6 +Fran/7 +Frannie/6 +Franni/6 +Franny/6 +Fransisco/6 +frantically +franticness/6 +frantic/28 +Frants/6 +Franzen/6 +Franz/72 +frappé +frappeed +frappeing +frappes +Frasco/6 +Fraser/6 +Frasier/6 +Frasquito/6 +fraternal/19 +fraternity/276 +fraternization/7 +fraternize/23 +fraternizer/6 +fraternizing/12 +frat/7 +fratricidal +fratricide/7 +fraud/120 +fraud's +fraudsters +fraudulence/9 +fraudulent/28 +fraught/17 +Fraulein/9 +Frau/72 +fray/263 +Frayda/6 +Frayne/6 +fray's +Fraze/114 +Frazer/6 +Frazier/6 +frazzle/17 +freakishness/7 +freakish/28 +freak/26 +freaky/54 +freckle/26 +freckly/54 +Freda/6 +Freddie/6 +Freddi/6 +Freddy/6 +Fredek/6 +Fredelia/6 +Frederica/6 +Frederich/6 +Fredericka/6 +Frederick/7 +Frederic/6 +Frederico/6 +Fredericton/6 +Frederigo/6 +Frederik/6 +Frederique/6 +Fredholm/6 +Fredia/6 +Fredi/6 +Fred/6 +Fredra/6 +Fredrick/6 +Fredrickson/6 +Fredric/6 +Fredrika/6 +freebase/17 +freebie/7 +freebooter/6 +freeboot/90 +freeborn +freedman/6 +Freedman/6 +freedmen +freedom/7 +freehand/81 +freehanded/19 +freeholder/6 +freehold/96 +freeing/9 +freelance/49 +Freeland/6 +freeloader/6 +freeload/23 +Free/6 +freeman/6 +Freeman/6 +freemasonry/6 +Freemasonry/7 +Freemason/7 +freemen +Freemon/6 +freeness/6 +Freeport/6 +freestanding +freestone/7 +freestyle/7 +freethinker/7 +freethinking/9 +Freetown/6 +freeway/7 +freewheeler/6 +freewheeling/42 +freewheel/49 +freewill +free/472 +freezable +freezer/7 +freeze/516 +freezing/9 +Freida/6 +freighter/6 +freight/49 +Fremont/6 +Frenchman/6 +French/26 +Frenchmen +Frenchwoman/6 +Frenchwomen +frenetically +frenetic/9 +frenzied/19 +frenzy/26 +freon/9 +Freon/7 +freq +frequency/43 +frequented/12 +frequenter/7 +frequentest +frequenting +frequent/51 +frequentness/6 +frequents +fresco/165 +frescoes +fresh/517 +freshener/6 +freshen/23 +fresher/118 +freshest +freshet/7 +freshly +freshman/6 +freshmen +freshness/7 +freshwater/7 +Fresnel/6 +Fresno/6 +fretboard +fretfulness/7 +fretful/28 +fret/9 +fretsaw/9 +fretted +fretting +fretwork/7 +Freudian/9 +Freud/6 +Freya/6 +Frey/6 +friableness/6 +friable/42 +friary/7 +friar/65 +fricasseeing +fricassee/56 +frication/6 +fricative/7 +Frick/6 +frictional/19 +frictionless/19 +friction/7 +Friday/7 +fridge/7 +fried/14 +Frieda/6 +Friedan/6 +friedcake/7 +Friederike/6 +Friedman/6 +Friedrich/6 +Friedrick/6 +friendlessness/6 +friendless/42 +friendlies +friendlily +friendliness/41 +friendly/264 +friend/116 +friendship/7 +frier's +fries/6 +frieze/26 +frigate/7 +Frigga/6 +frigged +frigging/9 +frighten/47 +frightening/19 +frightfulness/7 +frightful/28 +fright/269 +Frigidaire/6 +frigidity/7 +frigidness/7 +frigid/28 +frig/9 +frill/26 +frilly/228 +Fri/6 +fringe/401 +fringe's +frippery/7 +Frisbee/7 +Frisco/6 +Frisian/7 +frisker/6 +friskily +friskiness/7 +frisk/31 +frisky/98 +frisson/6 +Frito/6 +fritterer/6 +fritter/31 +Fritz/6 +fritz/7 +frivolity/7 +frivolousness/7 +frivolous/28 +frizz/183 +frizzle/17 +frizzly/54 +frizzy/54 +Fr/170 +Frobisher/6 +frocking/6 +frock's +frock/321 +frogged +frogging +frogman/6 +frogmarched +frogmen +frog/7 +fro/246 +Froissart/6 +frolicked +frolicker/7 +frolicking +frolic/7 +frolicsome +from +Fromm/6 +frond/7 +frontage/7 +frontal/16 +Frontenac/6 +front/275 +frontier/7 +frontiersman/6 +frontiersmen +frontispiece/7 +frontrunner's +front's +frontward/9 +frosh/6 +Frostbelt/6 +frostbite/7 +frostbit/224 +frostbiting/6 +frostbitten +frost/263 +frosteds +frosted/12 +frostily +frostiness/7 +frosting/7 +Frost/6 +frost's +frosty/98 +froth/165 +frothiness/7 +froths +frothy/98 +froufrou/7 +frowardness/7 +froward/42 +frowner/6 +frowning/19 +frown/31 +frowzily +frowziness/7 +frowzy/98 +frozenness/6 +frozen/28 +froze/13 +fructify/17 +fructose/7 +Fruehauf/6 +frugality/7 +frugal/19 +fruitcake/7 +fruiterer/6 +fruiter/114 +fruitfuller +fruitfullest +fruitfulness/7 +fruitful/161 +fruit/111 +fruitiness/7 +fruition/7 +fruitlessness/7 +fruitless/28 +fruity/98 +frumpish +frump/7 +frumpy/54 +Frunze/6 +frustrater/6 +frustrate/294 +frustrating/19 +frustration/6 +frustum/7 +Frye/6 +fryer/7 +Fry/6 +fry/55 +F's +f's/500 +FSLIC +ft/169 +FTC +FTP +ftp +fuchsia/7 +Fuchs/6 +fucker/518 +fuck/519 +FUD +fuddle/17 +fudge/26 +fuel/36 +fueler/7 +fuel's +Fuentes/6 +fugal +Fugger/6 +fugitiveness/6 +fugitive/32 +fugue/26 +fuhrer/9 +Fuji/6 +Fujitsu/6 +Fujiyama +Fukuoka/6 +Fulani/6 +Fulbright/6 +fulcrum/7 +fulfilled/12 +fulfiller/6 +fulfill/8 +fulfillment/7 +fullback/131 +fuller/165 +Fuller/6 +Fullerton/6 +fullish +fullness/7 +full/482 +fullstops +fullword/7 +fully +fulminate/15 +fulmination/6 +fulness's +fulsomeness/7 +fulsome/28 +Fulton/6 +Fulvia/6 +fumble/23 +fumbler/6 +fumbling/19 +fume/17 +fumigant/7 +fumigate/15 +fumigation/6 +fumigator/7 +fuming/19 +fumy/54 +Funafuti +functionalism/6 +functionalist/7 +functionality/9 +functional/16 +functionary/7 +function/26 +functor/7 +fundamentalism/7 +fundamentalist/7 +fundamental/16 +fund/520 +funded/12 +fundholders +fundholding +funding/9 +Fundy/6 +funeral/7 +funerary +funereal/19 +funfair/6 +fungal/9 +fungible/6 +fungicidal +fungicide/7 +fungi/6 +fungoid/9 +fungous +fungus/6 +funicular/7 +funk/26 +funkiness/9 +funky/98 +fun/7 +funned +funnel/26 +funner +funnest +funnily/12 +funniness/7 +funning +funny/177 +furbelow/26 +furbisher/6 +furbish/395 +furiousness/6 +furious/521 +furlong/7 +furlough/165 +furloughs +furl/180 +furn +furnace/26 +furnished/12 +furnisher/7 +furnish/36 +furnishing/7 +furniture/7 +furore/7 +furor/7 +fur/444 +furred +furrier/6 +furriness/7 +furring/7 +furrow/26 +furry/522 +furtherance/7 +furtherer/6 +furthermore +furthermost +further/181 +furthest +furtiveness/7 +furtive/28 +fury/7 +furze/7 +fusebox/9 +fusee/7 +fuse/512 +fuselage/7 +fuse's/14 +Fushun/6 +fusibility/7 +fusible/45 +fusiform +fusilier/7 +fusillade/26 +fusion/523 +fussbudget/7 +fusser/6 +fussily +fussiness/7 +fusspot/7 +fuss/111 +fussy/98 +fustian/7 +fustiness/7 +fusty/98 +fut +futileness/6 +futile/28 +futility/7 +futon/9 +future/7 +futurism/7 +futuristic/9 +futurist/9 +futurity/7 +futurologist/9 +futurology/7 +futz/17 +fuze's +Fuzhou/6 +Fuzzbuster/6 +fuzzily +fuzziness/7 +fuzz/26 +fuzzy/98 +fwd +FWD +fwy +FY +FYI +GA +gabardine/7 +gabbed +Gabbey/6 +Gabbie/6 +Gabbi/6 +gabbiness/9 +gabbing +gabble/17 +Gabby/6 +gabby/98 +Gabe/6 +gaberdine's +Gabey/6 +gabfest/7 +Gabie/6 +Gabi/6 +gable/111 +Gable/6 +Gabonese +Gabon/6 +Gaborone/6 +Gabriela/6 +Gabriele/6 +Gabriella/6 +Gabrielle/6 +Gabriellia/6 +Gabriell/6 +Gabriello/6 +Gabriel/6 +Gabrila/6 +gab/9 +Gaby/6 +Gacrux/6 +gadabout/7 +gadded +gadder/7 +gadding +gadfly/7 +gadgetry/7 +gadget/7 +gadolinium/7 +gad/9 +Gadsden/6 +Gaea/6 +Gaelan/6 +Gaelic/6 +Gael/7 +Gae/6 +gaffe/7 +gaffer/6 +gaff/49 +gaga +Gagarin/6 +gag/31 +Gage/6 +gager/6 +gage/7 +gagged +gagging +gaggle/17 +gagwriter/9 +gaiety/7 +Gaile/6 +Gail/6 +gaily +gain/36 +gainer/7 +Gaines/6 +Gainesville/6 +gainfulness/6 +gainful/28 +gaining/9 +gainly/12 +gainsaid +gainsayer/6 +gainsay/227 +Gainsborough/6 +gaiter/6 +gait/49 +Gaithersburg/6 +galactic +Galahad/7 +Galapagos/6 +gal/63 +gala/7 +Galatea/6 +Galatia/6 +Galatians/6 +Galaxy/6 +galaxy/7 +Galbraith/6 +Galbreath/6 +gale/63 +Gale/6 +galen +galena/7 +galenite/6 +Galen/6 +gale's +Galibi/6 +Galilean/7 +Galilee/6 +Galileo/6 +Galina/6 +Gallagher/6 +gallanted +gallanting +gallantry/7 +gallants +gallant/10 +Gallard/6 +gallbladder/7 +Gallegos/6 +galleon/7 +galleria/9 +gallery/26 +galley/7 +Gallic +Gallicism/7 +gallimaufry/7 +galling/19 +gallium/7 +gallivant/17 +Gall/6 +gallonage/6 +gallon/7 +galloper/6 +gallop/23 +Galloway/6 +gallows/6 +gall/26 +gallstone/7 +Gallup/6 +Gal/72 +Galois/6 +galoot/7 +galore/9 +galosh/26 +gal's +Galsworthy/6 +galumph/47 +galumphs +galvanic +Galvani/6 +galvanism/7 +galvanization/7 +galvanize/17 +Galvan/6 +galvanometer/7 +galvanometric +Galven/6 +Galveston/6 +Galvin/6 +Ga/6 +Gamaliel/6 +Gama/6 +Gambia/6 +Gambian/9 +gambit/7 +gamble/23 +Gamble/6 +gambler/6 +gambol/17 +gamecock/7 +gamekeeper/7 +gameness/7 +game/524 +gamesmanship/7 +gamesmen +gamester/6 +gamest/90 +gamete/7 +gametic +gamine/7 +gaminess/7 +gaming/6 +gamin/7 +gamma/7 +gammon/26 +Gamow/6 +gamut/7 +gamy/98 +gander/26 +Gandhian +Gandhi/6 +gangbusters +ganger/6 +Ganges/6 +gang/111 +gangland/7 +ganglia/6 +gangling +ganglionic +ganglion/6 +gangplank/7 +gangrene/26 +gangrenous +gangster/7 +Gangtok/6 +gangway/7 +Gan/6 +gannet/7 +Gannie/6 +Gannon/6 +Ganny/6 +gantlet/26 +Gantry/6 +gantry/7 +Ganymede/6 +GAO +gaoler/6 +gaol/49 +gaper/6 +gape/9 +gaping/19 +gapped +gapping +gap/211 +garage/26 +Garald/6 +garbageman/6 +garbage/26 +garbanzo/7 +garb/26 +garbler/6 +garble/31 +Garbo/6 +Garcia/6 +garçon/7 +gardener/6 +Gardener/6 +gardenia/7 +gardening/6 +garden/49 +Gardie/6 +Gardiner/6 +Gard/6 +Gardner/6 +Gardy/6 +Garek/6 +Gare/140 +Gareth/6 +Garey/6 +Garfield/6 +garfish/7 +Garfunkel/6 +Gargantua/6 +gargantuan +gargle/17 +gargoyle/56 +Garibaldi/6 +Garik/6 +garishness/7 +garish/28 +Garland/6 +garland/26 +garlicked +garlicking +garlicky +garlic/7 +garment/26 +Gar/140 +Garner/6 +garner/17 +Garnet/6 +garnet/7 +Garnette/6 +Garnett/6 +garnish/11 +garnisheeing +garnishee/56 +garnishment/7 +Garold/6 +garote's +garotte's +Garrard/6 +garred +Garrek/6 +Garreth/6 +Garret/6 +garret/7 +Garrett/6 +Garrick/6 +Garrik/6 +garring +Garrison/6 +garrison/26 +garroter/6 +garrote/49 +Garrot/6 +garrotte's +Garrott/6 +garrulity/7 +garrulousness/7 +garrulous/28 +Garry/6 +gar/489 +garter/26 +Garth/6 +Garvey/6 +Garvin/6 +Garv/6 +Garvy/6 +Garwin/6 +Garwood/6 +Gary/6 +Garza/6 +gasbag/7 +Gascony/6 +gaseousness/6 +gaseous/28 +gases/169 +gas/525 +gash/172 +gasification/6 +gasifier/6 +gasify/115 +gasket/7 +gaslight/56 +gasohol/9 +gasoline/7 +gasometer/6 +Gaspard/6 +Gaspar/6 +Gasparo/6 +gasper/6 +Gasper/6 +gasp/23 +gasping/19 +gas's +gassed/169 +Gasser/6 +gasser/7 +Gasset/6 +gassiness/6 +gassing/7 +gassy/98 +Gaston/6 +gastric +gastritides +gastritis/7 +gastroenteritides +gastroenteritis/6 +gastrointestinal +gastronome/7 +gastronomic +gastronomical/19 +gastronomy/7 +gastropod/7 +gasworks/6 +gateau/7 +gateaux +gatecrash/23 +gatehouse/7 +gatekeeper/7 +gate/26 +gatepost/7 +Gates +gateway/7 +gathered/58 +gatherer/6 +gathering/6 +gather/179 +gathers/14 +Gatlinburg/6 +Gatling/6 +Gatorade/6 +gator/7 +Gatsby/6 +Gatun/6 +gaucheness/7 +gaucherie/7 +gauche/33 +gaucho/7 +gaudily +gaudiness/7 +gaudy/177 +gauge/131 +gaugeable +gauger/6 +Gauguin/6 +Gaulish/6 +Gaulle/6 +Gaul/7 +Gaultiero/6 +gauntlet/26 +Gauntley/6 +gauntness/7 +gaunt/77 +gauss/169 +gausses +Gaussian +Gauss/6 +gauss's +Gautama/6 +Gauthier/6 +Gautier/6 +gauze/26 +gauziness/7 +gauzy/98 +Gavan/6 +gave +gavel/26 +Gaven/6 +Gavin/6 +Gav/72 +gavotte/26 +Gavra/6 +Gavrielle/6 +Gawain/6 +Gawen/6 +gawkily +gawkiness/7 +gawk/111 +gawky/177 +Gayel/6 +Gayelord/6 +Gaye/6 +gayety's +Gayla/6 +Gayleen/6 +Gaylene/6 +Gayler/6 +Gayle/114 +Gaylord/6 +Gaylor/6 +Gay/6 +gayness/7 +Gaynor/6 +gay/177 +Gaza/6 +gazebo/7 +gaze/23 +gazelle/7 +gazer/6 +gazetteer/26 +gazette/26 +Gaziantep/6 +gazillion/9 +gazpacho/7 +GB +G/277 +Gdansk/6 +Gd/6 +GDP +Gearalt/6 +Gearard/6 +gearbox/7 +gear/171 +gearing/6 +gearshift/7 +gearstick +gearwheel/7 +Geary/6 +gecko/7 +GED +geegaw's +geeing +geek/7 +geeky/54 +geese/6 +geest/6 +gee/526 +geezer/7 +Gehenna/6 +Gehrig/6 +Geiger/6 +Geigy/6 +geisha/6 +gelatinousness/6 +gelatinous/28 +gelatin/7 +gelcap +gelding/6 +geld/71 +gelid +gelignite/7 +gelled +gelling +gel/465 +Gelya/6 +Ge/6 +GE/6 +Gemini/7 +gemlike +Gemma/6 +gemmed +gemming +gem/7 +gemological +gemologist/7 +gemology/7 +gemstone/7 +gen +Gena/6 +Genaro/6 +gendarme/7 +gender/26 +genderless +genealogical/19 +genealogist/7 +genealogy/7 +Gene/6 +gene/7 +generalissimo/7 +generalist/7 +generality/7 +generalizable/7 +generalization/7 +generalized/12 +generalize/67 +generalizer/6 +general/32 +generalness/6 +generalship/7 +genera/6 +generate/527 +generational +generation/104 +generative/158 +generators/14 +generator/7 +generically +generic/144 +generosity/7 +generously/12 +generousness/7 +generous/28 +Genesco/6 +genesis/6 +Genesis/6 +genes/9 +genetically +geneticist/7 +genetic/9 +genetics/6 +Genet/6 +Geneva/6 +Genevieve/6 +Genevra/6 +Genghis/6 +geniality/276 +genially/278 +genialness/6 +genial/28 +Genia/6 +genies/370 +genie/7 +genii/6 +genitalia +genitals +genital/528 +genitive/7 +genitourinary +genius/7 +Gen/6 +Genna/6 +Gennie/6 +Gennifer/6 +Genni/6 +Genny/6 +Genoa/7 +genocidal +genocide/7 +Geno/6 +genome/7 +genotype/7 +Genovera/6 +genre/7 +gent/48 +genteelness/7 +genteel/33 +gentian/7 +gentile/9 +Gentile's +gentility/7 +gentlefolk/9 +gentlemanliness/6 +gentlemanly/12 +gentleman/86 +gentlemen +gentleness/7 +gentle/226 +gentlewoman/6 +gentlewomen/6 +gently +Gentoo/6 +gentrification/6 +gentrify/15 +Gentry/6 +gentry/7 +genuflect/17 +genuflection/7 +genuineness/7 +genuine/28 +genus +Genvieve/6 +geocentric +geocentrically +geocentricism +geochemical/19 +geochemistry/7 +geochronology/6 +geodesic/9 +geode/7 +geodesy/7 +geodetic/9 +Geoff/6 +Geoffrey/6 +Geoffry/6 +geog +geographer/7 +geographic +geographical/19 +geography/7 +geologic +geological/19 +geologist/7 +geology/7 +geom +Geo/6 +geomagnetic +geomagnetically +geomagnetism/7 +geometer/7 +geometrical/19 +geometrician/6 +geometric/9 +geometry/7 +geomorphological +geomorphology/6 +geophysical/19 +geophysicist/7 +geophysics/6 +geopolitical/19 +geopolitic/9 +geopolitics/6 +Georas/6 +Geordie/6 +Georgeanna/6 +Georgeanne/6 +Georgena/6 +George/7 +Georgeta/6 +Georgetown/6 +Georgetta/6 +Georgette/6 +Georgia/6 +Georgiana/6 +Georgianna/6 +Georgianne/6 +Georgian/9 +Georgie/6 +Georgi/6 +Georgina/6 +Georgine/6 +Georg/6 +Georgy/6 +geostationary +geosynchronous +geosyncline/7 +geothermal +geothermic +Geralda/6 +Geraldine/6 +Gerald/6 +geranium/7 +Gerard/6 +Gerardo/6 +Gerber/6 +gerbil/7 +Gerda/6 +Gerek/6 +Gerhardine/6 +Gerhard/6 +Gerhardt/6 +Gerianna/6 +Gerianne/6 +geriatric/9 +geriatrics/6 +Gerick/6 +Gerik/6 +Geri/6 +Geritol/6 +Gerladina/6 +Ger/6 +Germaine/6 +Germain/6 +Germana/6 +germane +Germania/6 +Germanic/6 +germanium/7 +germanized +German/7 +Germantown/6 +Germany/6 +Germayne/6 +germen/6 +germicidal +germicide/7 +germinal/19 +germinated/12 +germinate/24 +germination/6 +germinative/19 +germ/125 +Gerome/6 +Geronimo/6 +gerontocracy/6 +gerontological +gerontologist/7 +gerontology/7 +Gerrard/6 +Gerrie/6 +Gerrilee/6 +Gerri/6 +Gerry/6 +gerrymander/17 +Gershwin/7 +Gerta/6 +Gertie/6 +Gerti/6 +Gert/6 +Gertruda/6 +Gertrude/6 +Gertrudis/6 +Gertrud/6 +Gerty/6 +gerundive/6 +gerund/76 +Gery/6 +gestalt/6 +gestapo/9 +Gestapo/7 +gestate/15 +gestational +gestation/6 +gesticulate/24 +gesticulation/6 +gesticulative/19 +gestural +gesture/26 +gesundheit +getaway/7 +Gethsemane/6 +get/9 +getter/56 +getting +Getty/6 +Gettysburg/6 +getup/7 +gewgaw/7 +Gewürztraminer +geyser/26 +Ghanaian/7 +Ghana/6 +Ghanian's +ghastliness/7 +ghastly/98 +ghat/7 +Ghats/6 +Ghent/6 +Gherardo/6 +gherkin/7 +ghetto/26 +ghettoize/17 +Ghibelline/6 +ghostlike +ghostliness/7 +ghostly/98 +ghost/116 +ghostwrite/227 +ghostwritten +ghostwrote +ghoulishness/7 +ghoulish/28 +ghoul/7 +GHQ +GI +Giacinta/6 +Giacobo/6 +Giacometti/6 +Giacomo/6 +Giacopo/6 +Giana/6 +Gianina/6 +Gian/6 +Gianna/6 +Gianni/6 +Giannini/6 +giantess/7 +giantkiller +giant/7 +Giauque/6 +Giavani/6 +gibber/17 +gibberish/7 +gibbet/26 +Gibbie/6 +Gibb/7 +Gibbon/6 +gibbon/7 +gibbousness/6 +gibbous/28 +Gibby/6 +gibe/31 +giber/6 +giblet/7 +Gib/6 +Gibraltar/7 +Gibson/6 +giddap +giddily +giddiness/7 +Giddings/6 +giddy/226 +Gide/6 +Gideon/7 +Gielgud/6 +Gienah/6 +Giffard/6 +Giffer/6 +Giffie/6 +Gifford/6 +Giff/114 +Giffy/6 +giftedness/6 +gifted/28 +gift/26 +gigabyte/9 +gigacycle/7 +gigahertz/6 +gigantically +giganticness/6 +gigantic/42 +gigavolt +gigawatt/6 +gigged +gigging +giggler/6 +giggle/23 +giggling/19 +giggly/54 +Gigi/6 +gig/7 +GIGO +gigolo/7 +gila +Gila/6 +Gilberta/6 +Gilberte/6 +Gilbertina/6 +Gilbertine/6 +gilbert/6 +Gilbert/6 +Gilberto/6 +Gilbertson/6 +Gilburt/6 +Gilchrist/6 +Gilda/6 +gilder/6 +gilding/6 +gild/179 +Gilead/6 +Gilemette/6 +Giles +Gilgamesh/6 +Gilkson/6 +Gillan/6 +Gilles +Gillespie/6 +Gillette/6 +Gilliam/6 +Gillian/6 +Gillie/6 +Gilligan/6 +Gilli/6 +Gill/6 +gill/111 +Gilly/6 +Gilmore/6 +Gil/86 +gilt/9 +gimbaled +gimbals +Gimbel/6 +gimcrackery/7 +gimcrack/9 +gimlet/26 +gimme/9 +gimmick/26 +gimmickry/7 +gimmicky +gimp/26 +gimpy/54 +Gina/6 +Ginelle/6 +Ginevra/6 +gingerbread/7 +gingerliness/6 +gingerly/42 +Ginger/6 +ginger/116 +gingersnap/7 +gingery +gingham/7 +gingivitis/7 +Gingrich/6 +ginkgoes +ginkgo/6 +ginmill +gin/7 +ginned +Ginnie/6 +Ginnifer/6 +Ginni/6 +ginning +Ginny/6 +Gino/6 +Ginsberg/6 +Ginsburg/6 +ginseng/7 +Gioconda/6 +Giordano/6 +Giorgia/6 +Giorgi/6 +Giorgio/6 +Giorgione/6 +Giotto/6 +Giovanna/6 +Giovanni/6 +Gipsy's +giraffe/7 +Giralda/6 +Giraldo/6 +Giraud/6 +Giraudoux/6 +girded/12 +girder/6 +girdle/111 +girdler/6 +gird/23 +girlfriend/7 +girlhood/7 +girlie/6 +girlishness/7 +girlish/28 +girl/7 +giro/6 +girt/17 +girth/165 +girths +Gisela/6 +Giselbert/6 +Gisele/6 +Gisella/6 +Giselle/6 +Gish/6 +gist/7 +git/6 +Giuditta/6 +Giulia/6 +Giuliano/6 +Giulietta/6 +Giulio/6 +Giuseppe/6 +Giustina/6 +Giustino/6 +Giusto/6 +giveaway/7 +giveback/9 +give/529 +given/144 +giver/6 +giving/19 +Giza/6 +Gizela/6 +gizmo's +gizzard/7 +Gk/6 +glacé/17 +glacial/19 +glaciate/15 +glaciation/6 +glacier/7 +glaciological +glaciologist/6 +glaciology/6 +gladded +gladden/17 +gladder +gladdest +gladding +gladdy +glade/7 +gladiatorial +gladiator/7 +Gladi/6 +gladiola/7 +gladioli +gladiolus/6 +gladly/54 +Glad/6 +gladness/7 +gladsome/54 +Gladstone/7 +Gladys +glad/46 +glamor/26 +glamorization/7 +glamorizer/6 +glamorize/23 +glamorousness/6 +glamorous/28 +glance/71 +glancing/19 +glanders/6 +glandes +glandular/19 +gland/260 +glans/6 +glare/17 +glaringness/6 +glaring/28 +Glaser/6 +Glasgow/6 +glasnost/9 +glassblower/9 +glassblowing/7 +glassful/7 +glass/26 +glasshouse/7 +glassily +glassiness/7 +glassless +Glass/6 +glassware/7 +glasswort/6 +glassy/177 +Glastonbury/6 +Glaswegian/9 +glaucoma/7 +glaucous +glazed/12 +glazer/6 +glaze/179 +glazier/7 +glazing/6 +gleam/26 +gleaner/6 +gleaning/6 +glean/179 +Gleason/6 +Gleda/6 +gleed/6 +glee/56 +gleefulness/7 +gleeful/28 +gleeing +Glendale/6 +Glenda/6 +Glenden/6 +Glendon/6 +Glenine/6 +Glen/6 +Glenna/6 +Glennie/6 +Glennis/6 +Glenn/6 +glen/7 +glibber +glibbest +glibness/7 +glib/28 +glide/179 +glider/6 +glim/6 +glimmer/71 +glimmering/6 +glimpse/49 +glimpser/6 +glint/17 +glissandi +glissando/6 +glisten/17 +glister/17 +glitch/7 +glitter/71 +glittering/19 +glittery +glitz/17 +glitzy/54 +gloaming/7 +gloater/6 +gloating/19 +gloat/31 +globalism/9 +globalist/9 +global/16 +globe/7 +globetrotter/7 +glob/26 +globularity/6 +globularness/6 +globular/28 +globule/7 +globulin/7 +glockenspiel/7 +glommed +gloom/26 +gloomily +gloominess/7 +gloomy/98 +glop/7 +glopped +glopping +gloppy/54 +Gloria/6 +Gloriana/6 +Gloriane/6 +glorification/6 +glorifier/6 +glorify/115 +Glori/6 +glorious/68 +gloriousness/123 +Glory/6 +glory/26 +glossary/7 +gloss/26 +glossily +glossiness/7 +glossolalia/7 +glossy/177 +glottal +glottalization/6 +glottis/7 +Gloucester/6 +gloveless +glover/6 +Glover/6 +glove/49 +glower/47 +glow/49 +glowing/19 +glowworm/7 +glucose/7 +glue/49 +glued/12 +gluer/6 +gluey +gluier +gluiest +glummer +glummest +glumness/7 +glum/46 +gluon/6 +glutamate/6 +gluten/6 +glutenous +glutinousness/6 +glutinous/28 +glut/99 +glutted +glutting +glutton/7 +gluttonous/19 +gluttony/7 +glyceride/6 +glycerinate/170 +glycerine's +glycerin/7 +glycerolized/169 +glycerol/7 +glycine/6 +glycogen/7 +glycol/7 +Glynda/6 +Glynis/6 +Glyn/6 +Glynnis/6 +Glynn/6 +glyph/6 +glyphs +gm +GM +GMT +gnarl/26 +gnash/17 +gnat/7 +gnawer/6 +gnaw/187 +gnawing/6 +gneiss/7 +Gnni/6 +gnomelike +GNOME/6 +gnome/7 +gnomic +gnomish +gnomonic +gnosticism +Gnosticism/6 +gnostic/370 +Gnostic/6 +GNP +gnu/7 +goad/26 +goalie/7 +goalkeeper/7 +goalkeeping/6 +goalless +goal/26 +goalmouth/6 +goalpost/9 +goalscorer +goalscoring +goaltender/7 +Goa/6 +goatee/7 +goatherd/7 +goat/7 +goatskin/7 +gobbed +gobbet/7 +gobbing +gobbledegook's +gobbledygook/9 +gobbler/6 +gobble/23 +Gobi/6 +goblet/7 +goblin/7 +gob/7 +Godard/6 +Godart/6 +godchild/6 +godchildren +goddammit +goddamn/166 +Goddard/6 +Goddart/6 +goddaughter/7 +godded +goddess/7 +godding +Gödel/6 +godfather/26 +godforsaken +Godfree/6 +Godfrey/6 +Godfry/6 +godhead/9 +godhood/7 +Godiva/6 +godlessness/7 +godless/42 +godlikeness/6 +godlike/42 +godliness/41 +godly/264 +God/6 +godmother/7 +Godot/6 +godparent/7 +godsend/7 +god/65 +godson/7 +Godspeed/9 +Godthaab/6 +Godunov/6 +Godwin/6 +Godzilla/6 +Goebbels/6 +Goering/6 +goer/207 +goes +Goethals/6 +Goethe/6 +gofer/7 +Goff/6 +goggler/6 +goggle/23 +Gogh/6 +Gog/6 +Gogol/6 +Goiania/6 +going/6 +goiter/7 +Golan/6 +Golconda/6 +Golda/6 +Goldarina/6 +Goldberg/6 +goldbricker/6 +goldbrick/49 +Golden/6 +goldenness/6 +goldenrod/7 +goldenseal/6 +golden/33 +goldfinch/7 +goldfish/7 +Goldia/6 +Goldie/6 +Goldilocks/6 +Goldi/6 +Goldina/6 +Golding/6 +Goldman/6 +goldmine/9 +gold/530 +goldsmith/6 +Goldsmith/6 +goldsmiths +Goldstein/6 +Goldwater/6 +Goldwyn/6 +Goldy/6 +Goleta/6 +golfer/6 +golf/49 +Golgotha/6 +Goliath/6 +Goliaths +golly/9 +Gomez/6 +Gomorrah/6 +Gompers/6 +go/531 +gonadal +gonad/7 +gondola/7 +gondolier/7 +Gondwanaland/6 +goner/6 +gone/532 +gong/26 +gonion/6 +gonna +gonorrheal +gonorrhea/7 +Gonzales/6 +Gonzalez/6 +Gonzalo/6 +Goober/6 +goober/7 +goodbye/7 +goodhearted +goodie's +goodish +goodly/54 +Good/6 +Goodman/6 +goodness/7 +goodnight +Goodrich/6 +good/46 +goodwill/7 +Goodwin/6 +Goodyear/6 +goody/7 +gooey +goofiness/7 +goof/26 +goofy/98 +Google/6 +gooier +gooiest +gook/7 +goo/7 +goon/7 +goop/7 +gooseberry/7 +goosebumps +goose/6 +goos/17 +GOP +Gopher +gopher/7 +Goran/6 +Goraud/6 +Gorbachev +Gordan/6 +Gorden/6 +Gordian/6 +Gordie/6 +Gordimer/6 +Gordon/6 +Gordy/6 +gore/26 +Gore/6 +Goren/6 +Gorey/6 +Gorgas +gorged/25 +gorge/111 +gorgeousness/7 +gorgeous/28 +gorger/82 +gorges/25 +gorging/25 +Gorgon/6 +gorgon/9 +Gorgonzola/6 +Gorham/6 +gorilla/7 +gorily +goriness/7 +goring/6 +Gorky/6 +gormandizer/6 +gormandize/23 +gormless +gorp/9 +gorse/7 +gory/98 +gos +goshawk/7 +gosh/9 +gosling/6 +gospeler/6 +gospel/96 +Gospel/7 +gossamer/7 +gossipy +gossip/49 +gotcha/7 +Göteborg/6 +Gotham/6 +Gothart/6 +Gothicism/6 +Gothic/9 +Goth/6 +Goths +got/44 +goto +GOTO/7 +gotta +gotten/12 +Gottfried/6 +Goucher/6 +Gouda/7 +gouge/23 +gouger/6 +goulash/7 +Gould/6 +Gounod/6 +gourde/7 +gourd/7 +gourmand/7 +gourmet/7 +gout/7 +gouty/54 +governable/12 +governance/7 +governed/12 +governess/7 +govern/149 +governmental/19 +government/7 +Governor +governor/7 +governorship/7 +gov/9 +govt +gown/26 +Goya/6 +GP +GPA +GPO +GPSS +gr +grabbed +grabber/7 +grabbing/9 +grab/9 +Gracchus/6 +grace/74 +graceful/83 +gracefuller +gracefullest +gracefulness/85 +Graceland/6 +gracelessness/7 +graceless/28 +Grace/6 +Gracia/6 +Graciela/6 +Gracie/6 +graciousness/7 +gracious/10 +grackle/7 +gradate/15 +gradation/186 +grade/311 +graded/12 +Gradeigh/6 +gradely +grader/266 +grade's +Gradey/6 +gradient/175 +grad/91 +gradualism/7 +gradualist/7 +gradualness/7 +gradual/46 +graduand/7 +graduate/269 +graduation/6 +Grady/6 +Graehme/6 +Graeme/6 +Graffias/6 +graffiti +graffito/6 +Graff/6 +grafter/6 +grafting/6 +graft/49 +Grafton/6 +Grahame/6 +Graham/6 +graham/7 +Graig/6 +grail/9 +Grail/7 +grainer/6 +grain/401 +graininess/7 +graining/6 +grain's +grainy/98 +gram/341 +Gram/6 +grammarian/7 +grammar/7 +grammaticality/6 +grammaticalness/6 +grammatical/10 +grammatic/370 +gramme/7 +Grammy/9 +gramophone/7 +Grampians +grampus/7 +Granada/6 +granary/7 +grandam/7 +grandaunt/7 +grandchild/6 +grandchildren +granddaddy/7 +granddad/7 +granddaughter/7 +grandee/7 +grandeur/7 +grandfather/116 +grandiloquence/7 +grandiloquent/19 +grandiose/28 +grandiosity/7 +grandkid/7 +grandma/7 +grandmaster/7 +grandmother/65 +grandnephew/7 +grandness/7 +grandniece/7 +grandpa/7 +grandparent/7 +grandson/7 +grandstander/6 +grandstand/111 +grand/38 +granduncle/7 +Grange/114 +grange/175 +Granger/6 +granite/7 +granitic +Gran/6 +Grannie/6 +Granny/6 +granny/7 +granola/9 +grantee/7 +granter/6 +Grantham/6 +Granthem/6 +Grantley/6 +Grant/6 +grantor's +grant/49 +grantsmanship/9 +granularity/7 +granular/19 +granulate/24 +granulation/6 +granule/7 +granulocytic +Granville/6 +grapefruit/7 +grape/26 +grapeshot/6 +grapevine/7 +grapheme/6 +graph/165 +graphical/19 +graphicness/6 +graphic/144 +graphics/6 +graphite/7 +graphologist/7 +graphology/7 +graphs +grapnel/7 +grapple/31 +grappler/6 +grappling/6 +grasper/6 +graspingness/6 +grasping/28 +grasp/318 +grass/453 +grasshopper/7 +grassland/7 +Grass/6 +grassroots +grassy/54 +Grata/6 +gratefuller +gratefullest +gratefulness/41 +grateful/161 +grater/6 +grates/45 +grate/179 +Gratia/6 +Gratiana/6 +graticule/6 +gratification/6 +gratified/12 +gratifying/19 +gratify/15 +grating/86 +gratis +gratitude/43 +gratuitousness/7 +gratuitous/28 +gratuity/7 +gravamen/7 +gravedigger/7 +gravel/116 +graven +graveness/7 +graver/6 +graveside/9 +Graves/6 +grave/533 +gravestone/7 +graveyard/7 +gravidness/6 +gravid/28 +gravimeter/7 +gravimetric +gravitas +gravitate/24 +gravitational/19 +gravitation/6 +graviton/7 +gravity/7 +gravy/7 +graybeard/7 +Grayce/6 +grayish +Gray/6 +grayness/9 +gray/77 +Grayson/6 +graze/23 +grazer/6 +Grazia/6 +grazing/6 +grease/49 +greasepaint/7 +greaseproof +greaser/6 +greasily +greasiness/7 +greasy/98 +greatcoat/56 +greaten/47 +greathearted +greatness/7 +great/534 +grebe/7 +Grecian/9 +Greece/6 +greed/169 +greedily +greediness/7 +greeds +greed's +greedy/98 +Greek/7 +Greeley/6 +greenback/7 +greenbelt/9 +Greenberg/6 +Greenblatt/6 +Greenbriar/6 +Greene/6 +greenery/7 +Greenfeld/6 +greenfield +Greenfield/6 +greenfly/6 +greengage/7 +greengrocer/7 +greengrocery/6 +greenhorn/7 +greenhouse/7 +greening/6 +greenish/42 +Greenland/6 +Green/6 +greenmail/17 +greenness/7 +Greenpeace/6 +greenroom/7 +Greensboro/6 +Greensleeves/6 +Greensville/6 +greensward/7 +green/502 +Greentree/6 +Greenville/6 +Greenwich/6 +greenwood/7 +Greer/6 +greeter/6 +greeting/6 +greets/14 +greet/179 +gregariousness/7 +gregarious/28 +Gregg/6 +Greggory/6 +Greg/6 +Gregoire/6 +Gregoor/6 +Gregorian +Gregorio/6 +Gregorius/6 +Gregor/6 +Gregory/6 +gremlin/7 +Grenada/6 +grenade/7 +Grenadian/9 +grenadier/7 +Grenadines +grenadine/7 +Grendel/6 +Grenier/6 +Grenoble/6 +Grenville/6 +Gresham/6 +Gretal/6 +Greta/6 +Gretchen/6 +Gretel/6 +Grete/6 +Grethel/6 +Gretna/6 +Gretta/6 +Gretzky/6 +grew/14 +greybeard/6 +greyhound/7 +Grey/6 +greyness/6 +gridded +griddlecake/7 +griddle/26 +gridiron/26 +gridlock/17 +grids/14 +grid/131 +grief/7 +Grieg/6 +Grier/6 +grievance/7 +griever/6 +grieve/23 +grieving/19 +grievousness/7 +grievous/28 +Griffie/6 +Griffin/6 +griffin/7 +Griffith/6 +Griff/6 +griffon's +Griffy/6 +griller/6 +grille/7 +grill/31 +grillwork/6 +grimace/111 +grimacer/6 +Grimaldi/6 +grime/7 +Grimes +griminess/7 +grimmer +grimmest +Grimm/6 +grimness/7 +grim/535 +grimy/98 +Grinch/6 +grind/250 +grinder/7 +grinding/16 +grindstone/7 +gringo/7 +grinned +grinner/6 +grinning/19 +grin/9 +griper/6 +gripe/9 +grippe/49 +gripper/6 +gripping/19 +grip/49 +Griselda/6 +grisliness/7 +grisly/98 +Gris/6 +Grissel/6 +gristle/7 +gristliness/6 +gristly/98 +gristmill/7 +grist/65 +Griswold/6 +grit/7 +gritted +gritter/7 +grittiness/7 +gritting +gritty/98 +Griz/6 +grizzle/17 +grizzling/6 +grizzly/228 +Gr/6 +groaner/6 +groan/49 +groat/7 +grocer/7 +grocery/7 +groggily +grogginess/7 +groggy/98 +grog/7 +groin/26 +grokked +grokking +grok/9 +grommet/26 +Gromyko/6 +groofs +groomer/6 +groom/49 +groomsman/6 +groomsmen +Groot/6 +groover/6 +groove/111 +groovy/54 +groper/6 +grope/179 +Gropius/6 +grosbeak/7 +grosgrain/7 +Gross +Grosset/6 +gross/77 +Grossman/6 +grossness/7 +Grosvenor/6 +Grosz/6 +grotesqueness/7 +grotesque/46 +Grotius/6 +Groton/6 +grottoes +grotto/6 +grouch/17 +grouchily +grouchiness/7 +grouchy/98 +groundbreaking/9 +grounded/12 +grounder/6 +groundhog/7 +ground/91 +groundlessness/6 +groundless/28 +groundnut/7 +groundsheet/6 +groundskeepers +groundsman/6 +groundswell/9 +groundwater/9 +groundwork/7 +grouped/14 +grouper/6 +groupie/7 +grouping/6 +groups/14 +group/91 +grouse/49 +grouser/6 +grouter/6 +grout/111 +groveler/6 +grovelike +groveling/19 +grovel/23 +Grover/6 +Grove/114 +grove/96 +grower/6 +grow/536 +growing/45 +growingly +growler/6 +growling/19 +growl/23 +growly/537 +grown/58 +grownup/7 +grows/14 +growth/309 +growths/58 +grubbed +grubber/7 +grubbily +grubbiness/7 +grubbing +grubby/98 +grub/7 +grubstake/26 +grudge/211 +grudger/6 +grudging/19 +grueling/19 +gruel/171 +gruesomeness/7 +gruesome/33 +gruffness/7 +gruff/77 +grumble/179 +grumbler/6 +grumbling/19 +Grumman/6 +grumpily +grumpiness/7 +grump/26 +grumpy/98 +Grundy/6 +Grünewald/6 +grunge/9 +grungy/54 +grunion/7 +grunter/6 +grunt/31 +Grusky/6 +Grus/6 +Gruyčre +Gruyeres +gryphon's +g's +G's +gs/14 +GSA +gt +GU +guacamole/7 +Guadalajara/6 +Guadalcanal/6 +Guadalquivir/6 +Guadalupe/6 +Guadeloupe/6 +Guallatiri/6 +Gualterio/6 +Guamanian/7 +Guam/6 +Guangzhou +guanine/7 +guano/7 +Guantanamo/6 +Guarani/6 +guarani/7 +guaranteeing +guarantee/192 +guarantor/7 +guaranty/26 +guardedness/135 +guarded/161 +guarder/6 +guardhouse/7 +Guardia/6 +guardianship/7 +guardian/7 +guardrail/7 +guard/23 +guardroom/7 +guardsman/6 +guardsmen +Guarnieri/6 +Guatemala/6 +Guatemalan/9 +guava/7 +Guayaquil/6 +gubernatorial +Gucci/6 +gudgeon/6 +Guelph/6 +Guendolen/6 +Guenevere/6 +Guenna/6 +Guenther/6 +guernsey/9 +Guernsey/7 +Guerra/6 +Guerrero/6 +guerrilla/7 +guessable/12 +guess/67 +guessed/12 +guesser/6 +guesstimate/26 +guesswork/7 +guest/26 +Guevara/6 +guffaw/26 +guff/7 +Guggenheim/6 +Guglielma/6 +Guglielmo/6 +Guhleman/6 +GUI +Guiana/6 +guidance/7 +guidebook/7 +guided/12 +guide/23 +guideline/7 +guidepost/7 +guider/6 +Guido/6 +Guilbert/6 +guilder/6 +guildhall/7 +guild/96 +guileful +guilelessness/7 +guileless/28 +guile/26 +Guillaume/6 +Guillema/6 +Guillemette/6 +guillemot/7 +Guillermo/6 +guillotine/26 +guiltily +guiltiness/7 +guiltlessness/6 +guiltless/28 +guilt/7 +guilty/98 +Gui/6 +Guinea/6 +Guinean/9 +guinea/7 +Guinevere/6 +Guinna/6 +Guinness/6 +guise's +guise/84 +guitarist/7 +guitar/7 +Guiyang +Guizot/6 +Gujarati/6 +Gujarat/6 +Gujranwala/6 +gulag/9 +gulch/7 +gulden/7 +gulf/26 +Gullah/6 +gullet/7 +gulley's +gullibility/7 +gullible +Gulliver/6 +gull/26 +gully/26 +gulp/23 +gumboil/7 +gumbo/7 +gumboots +gumdrop/7 +gummed +gumminess/6 +gumming/169 +gum/7 +gummy/98 +gumption/7 +gumshoeing +gumshoe/56 +gumtree/7 +Gunar/6 +gunboat/7 +Gunderson/6 +gunfighter/6 +gunfight/373 +gunfire/7 +gunflint/6 +gunfought +Gunilla/6 +gunk/7 +gunky/54 +Gun/6 +gunman/6 +gunmen +gunmetal/7 +gun/7 +Gunnar/6 +gunned +gunnel's +Gunner/6 +gunner/7 +gunnery/7 +gunning/6 +gunnysack/7 +gunny/7 +gunpoint/7 +gunpowder/7 +gunrunner/7 +gunrunning/7 +gunship/9 +gunshot/7 +gunslinger/6 +gunsling/174 +gunsmith/6 +gunsmiths +Guntar/6 +Gunter/6 +Gunther/6 +gunwale/7 +Guofeng/6 +guppy/7 +Gupta/6 +gurgle/17 +Gurkha/6 +gurney/9 +guru/7 +Gusella/6 +gusher/6 +gush/23 +gushy/54 +Gus/6 +Guss +gusset/26 +Gussie/6 +Gussi/6 +gussy/17 +Gussy/6 +Gustaf/6 +Gustafson/6 +Gusta/6 +gustatory +Gustave/6 +Gustav/6 +Gustavo/6 +Gustavus/6 +gusted/25 +Gustie/6 +gustily +Gusti/6 +gustiness/6 +gusting/25 +gust/26 +gustoes +gusto/6 +gusts/25 +Gusty/6 +gusty/98 +Gutenberg/6 +Guthrey/6 +Guthrie/6 +Guthry/6 +Gutierrez/6 +gutlessness/9 +gutless/42 +gutser/6 +gutsiness/6 +gut/7 +guts/164 +gutsy/98 +gutted +gutter/26 +guttering/6 +guttersnipe/6 +gutting +gutturalness/6 +guttural/46 +gutty/80 +Guyana/6 +Guyanese +Guy/6 +guy/49 +Guzman/6 +guzzle/23 +guzzler/6 +g/538 +Gwalior/6 +Gwendolen/6 +Gwendoline/6 +Gwendolin/6 +Gwendolyn/6 +Gweneth/6 +Gwenette/6 +Gwen/6 +Gwenneth/6 +Gwennie/6 +Gwenni/6 +Gwenny/6 +Gwenora/6 +Gwenore/6 +Gwyneth/6 +Gwyn/6 +Gwynne/6 +gymkhana/7 +gym/7 +gymnasia's +gymnasium/7 +gymnastically +gymnastic/9 +gymnastics/6 +gymnast/7 +gymnosperm/7 +gynecologic +gynecological/7 +gynecologist/7 +gynecology/7 +gypped +gypper/9 +gypping +gyp/9 +gypsite +gypster/9 +gypsum/7 +gypsy/26 +Gypsy/7 +gyrate/15 +gyration/6 +gyrator/7 +gyrfalcon/7 +gyrocompass/6 +gyro/7 +gyroscope/7 +gyroscopic +gyve/17 +H +Haag/6 +Haas/6 +Habakkuk/6 +habeas +haberdasher/7 +haberdashery/7 +Haber/6 +Haberman/6 +Habib/6 +habiliment/7 +habitability/7 +habitableness/6 +habitable/42 +habitant/43 +habitation/123 +habitations +habitat/7 +habit/539 +habit's +habitualness/7 +habitual/46 +habituate/15 +habituation/6 +habitué/7 +hacienda/7 +hacker/6 +Hackett/6 +hack/234 +hackler/6 +hackle/111 +hackney/26 +hacksaw/26 +hackwork/9 +Hadamard/6 +Hadar/6 +Haddad/6 +haddock/7 +hades +Hades +had/47 +hadji's +hadj's +Hadlee/6 +Hadleigh/6 +Hadley/6 +Had/6 +hadn't +Hadria/6 +Hadrian/6 +hadron/7 +hadst +haemoglobin's +haemophilia's +haemorrhage's +Hafiz/6 +hafnium/7 +haft/26 +Hagan/6 +Hagar/6 +Hagen/6 +Hager/6 +Haggai/6 +haggardness/7 +haggard/46 +hagged +hagging +haggish +haggis/7 +haggler/6 +haggle/23 +Hagiographa/6 +hagiographer/7 +hagiography/7 +hag/125 +Hagstrom/6 +Hague/6 +ha/540 +hahnium/9 +Hahn/6 +Haifa/6 +haiku/6 +Hailee/6 +hailer/6 +Hailey/6 +hail/111 +hailstone/7 +hailstorm/7 +Haily/6 +Haiphong/6 +hairball/7 +hairbreadth/6 +hairbreadths +hairbrush/7 +haircare +haircloth/6 +haircloths +haircut/7 +haircutting +hairdo/7 +hairdresser/7 +hairdressing/7 +hairdryer/9 +hairiness/7 +hairlessness/6 +hairless/42 +hairlike +hairline/7 +hairnet/7 +hairpiece/7 +hairpin/7 +hairsbreadth +hairsbreadths +hair/56 +hairsplitter/7 +hairsplitting/7 +hairspray +hairspring/7 +hairstyle/131 +hairstylist/9 +hairy/98 +Haitian/9 +Haiti/6 +hajjes +hajji/7 +hajj/6 +Hakeem/6 +hake/7 +Hakim/6 +Hakka/6 +Hakluyt/6 +halalled +halalling +halal/9 +halberd/7 +halcyon/9 +Haldane/6 +Haleakala/6 +Haleigh/6 +hale/367 +Hale/6 +haler/123 +halest +Halette/6 +Haley/6 +halfback/7 +halfbreed +halfheartedness/7 +halfhearted/28 +halfpence/9 +halfpenny/7 +halfpennyworth +half/204 +halftime/9 +halftone/7 +halfway +halfword/7 +halibut/7 +halide/7 +Halie/6 +Halifax/6 +Hali/6 +Halimeda/6 +halite/7 +halitoses +halitosis/6 +hallelujah +hallelujahs +Halley/6 +halliard's +Hallie/6 +Halli/6 +Hallinan/6 +Hall/6 +Hallmark/6 +hallmark/26 +hallo/17 +halloo's +Halloween/7 +hallowing +hallows +hallow/300 +hall/175 +Hallsy/6 +hallucinate/24 +hallucination/6 +hallucinatory +hallucinogenic/9 +hallucinogen/7 +hallway/7 +Hally/6 +halocarbon +halogenated +halogen/7 +halon +halo/26 +Halpern/6 +Halsey/6 +Hal/65 +Halsy/6 +halter/165 +halt/91 +halting/19 +halve/121 +halves/6 +halyard/7 +Ha/6 +Hamal/6 +Haman/6 +hamburger/6 +Hamburg/7 +hamburg/96 +Hamel/6 +Hamey/6 +Hamhung/6 +Hamid/6 +Hamilcar/6 +Hamil/6 +Hamiltonian/7 +Hamilton/6 +Hamish/6 +Hamitic/6 +Hamlen/6 +Hamlet/6 +hamlet/7 +Hamlin/6 +Ham/6 +Hammad/6 +Hammarskjold/6 +hammed +hammerer/6 +hammerhead/7 +hammering/6 +hammerless +hammerlock/7 +Hammerstein/6 +hammertoe/7 +hammer/49 +Hammett/6 +hamming +hammock/7 +Hammond/6 +Hammurabi/6 +hammy/54 +Hamnet/6 +hampered/12 +hamper/17 +Hampshire/6 +Hampton/6 +ham/7 +hamster/7 +hamstring/131 +hamstrung +Hamsun/6 +Hana/6 +Hanan/6 +Hancock/6 +handbagged +handbagging +handbag/7 +handball/7 +handbarrow/7 +handbasin +handbill/7 +handbook/7 +handbrake/6 +handcar/7 +handcart/7 +handclasp/7 +handcraft/26 +handcuff/17 +handcuffs/6 +handedness/6 +handed/28 +Handel/6 +hander/9 +handful/7 +handgun/7 +handhold/6 +handicapped +handicapper/7 +handicapping +handicap/7 +handicraftsman/6 +handicraftsmen +handicraft/175 +handily/12 +handiness/7 +handiwork/7 +handkerchief/7 +handleable +handlebar/7 +handle/49 +handler/6 +handless +handling/6 +handmade +handmaiden/6 +handmaid/99 +handout/7 +handover +handpick/17 +handrail/7 +hand's +handsaw/7 +handset/7 +handshake/214 +handshaker/6 +handshaking/6 +handsomely/12 +handsomeness/7 +handsome/33 +handspike/7 +handspring/7 +handstand/7 +hand/180 +handwork/7 +handwoven +handwrite/196 +handwriting/6 +handwritten +Handy/6 +handyman/6 +handymen +handy/283 +Haney/6 +hangar/26 +hangdog/9 +hanged/14 +hanger/6 +hang/234 +hanging/6 +hangman/6 +hangmen +hangnail/7 +hangout/7 +hangover/7 +hangs/14 +Hangul/6 +hangup/9 +Hangzhou +Hankel/6 +hankerer/6 +hanker/541 +hankering/6 +hank/49 +hankie/7 +Hank/6 +hanky's +Hannah/6 +Hanna/6 +Hannibal/6 +Hannie/6 +Hanni/7 +Hanny/6 +Hanoi/6 +Hanoverian +Hanover/6 +Hansel/6 +Hansen/6 +Hansiain/6 +Han/7 +Hans/122 +hansom/7 +Hanson/6 +Hanuka/9 +Hanukkah/6 +Hanukkahs +Hapgood/6 +haphazardness/7 +haphazard/46 +haplessness/7 +hapless/28 +haploid/9 +happed +happening/6 +happen/71 +happenstance/7 +happily/12 +happiness/41 +happing +Happy/6 +happy/264 +Hapsburg/6 +hap/65 +Harald/6 +harangue/31 +haranguer/6 +Harare +harasser/6 +harass/27 +harassment/7 +Harbert/6 +harbinger/26 +Harbin/6 +harborer/6 +harbor/49 +Harcourt/6 +hardback/7 +hardball/7 +hardboard/7 +hardboiled +hardbound +hardcore/7 +hardcover/7 +hardened/12 +hardener/6 +hardening/6 +harden/242 +hardhat/9 +hardheadedness/7 +hardheaded/28 +hardheartedness/7 +hardhearted/28 +hardihood/7 +hardily +hardiness/7 +Harding/6 +Hardin/6 +hardliner/9 +hardness/7 +hardscrabble +hardshell +hardship/7 +hardstand/9 +hardtack/7 +hardtop/7 +hardware/7 +hardwire/17 +hardwood/7 +hardworking +Hardy/6 +hard/542 +hardy/177 +harebell/7 +harebrained +harelip/7 +harelipped +hare/26 +harem/7 +Hargreaves/6 +hark/17 +Harland/6 +Harlan/6 +Harlem/6 +Harlene/6 +Harlen/6 +Harlequin +harlequin/7 +Harley/6 +Harlie/6 +Harli/6 +Harlin/6 +harlotry/7 +harlot/7 +Harlow/6 +Harman/6 +harmed/12 +harmer/6 +harmfulness/7 +harmful/28 +harmlessness/7 +harmless/28 +harm/111 +Harmonia/6 +harmonically +harmonica/7 +harmonic/9 +harmonics/6 +Harmonie/6 +harmonious/68 +harmoniousness/7 +harmoniousness's/45 +harmonium/7 +harmonization/14 +harmonizations +harmonization's +harmonized/12 +harmonizer/6 +harmonizes/13 +harmonize/23 +Harmon/6 +harmony/85 +Harmony/6 +harness/111 +harnessed/12 +harnesser/6 +harnesses/12 +Harold/6 +Haroun/6 +harper/6 +Harper/6 +harping/6 +harpist/7 +harp/91 +Harp/114 +harpooner/6 +harpoon/49 +harpsichordist/7 +harpsichord/7 +harpy/7 +Harpy/7 +Harrell/6 +harridan/7 +Harrie/6 +harrier/6 +Harriet/6 +Harrietta/6 +Harriette/6 +Harriett/6 +Harrington/6 +Harriot/6 +Harriott/6 +Harrisburg/6 +Harri/7 +Harrisonburg/6 +Harrison/6 +harrower/6 +harrow/111 +harrumph/17 +Harry/6 +harry/23 +harshen/47 +harshness/7 +harsh/543 +Harte/6 +Hartford/6 +Hartley/6 +Hartline/6 +Hart/6 +Hartman/6 +hart/7 +Hartwell/6 +Harvard/6 +harvested/12 +harvester/6 +harvestman/6 +harvest/49 +Harvey/7 +Harv/6 +Harwell/6 +Harwilll/6 +has +Hasbro/6 +hash/36 +Hasheem/6 +hasher/6 +Hashim/6 +hashing/6 +hashish/7 +hash's +Hasidim +Haskell/6 +Haskel/6 +Haskins/6 +Haslett/6 +hasn't +hasp/26 +hassle/111 +hassock/7 +haste/7 +hastener/6 +hasten/52 +hast/544 +Hastie/6 +hastily +hastiness/7 +Hastings/6 +Hasty/6 +hasty/98 +hatchback/7 +hatcheck/9 +hatched/12 +hatcher/6 +hatchery/7 +hatchet/26 +hatching/6 +hatch/187 +Hatchure/6 +hatchway/7 +hatefulness/7 +hateful/28 +hater/6 +hate/9 +Hatfield/6 +Hathaway/6 +hatless +hat/49 +hatred/7 +hatstands +hatted +Hatteras/6 +hatter/7 +Hattie/6 +Hatti/6 +hatting +Hatty/6 +hauberk/7 +Haugen/6 +haughtily +haughtiness/7 +haughty/98 +haulage/7 +hauler/6 +haul/23 +haunch/26 +haunter/6 +haunting/19 +haunt/179 +Hauptmann/6 +Hausa/6 +Hausdorff/6 +Hauser/6 +hauteur/7 +Havana/7 +Havarti +Havel/6 +haven/26 +Haven/6 +haven't +haver/224 +haversack/7 +have/227 +havocked +havocking +havoc/7 +Haw +Hawaiian/9 +Hawaii/6 +hawker/6 +hawk/49 +Hawking +hawking/6 +Hawkins/6 +hawkishness/9 +hawkish/42 +Hawley/6 +haw/26 +hawser/6 +haws/90 +Hawthorne/6 +hawthorn/7 +haycock/7 +Hayden/6 +Haydn/6 +Haydon/6 +Hayes +hayfield/7 +hay/111 +Hayley/6 +hayloft/7 +haymow/7 +Haynes +hayrick/7 +hayride/7 +hayseed/7 +Hay/7 +haystack/7 +haywain +Hayward/6 +haywire/7 +Haywood/6 +Hayyim/6 +hazard/26 +hazardousness/6 +hazardous/28 +haze/91 +Hazel/6 +hazel/7 +hazelnut/7 +Haze/6 +hazer/6 +hazily +haziness/7 +hazing/6 +Hazlett/6 +Hazlitt/6 +hazy/98 +HBO/6 +hdqrs +HDTV +headache/7 +headband/7 +headboard/7 +headcount +headdress/7 +header/6 +headfirst +headgear/7 +headhunter/6 +headhunting/6 +headhunt/91 +headily +headiness/9 +heading/6 +headlamp/9 +headland/7 +headlessness/6 +headless/42 +headlight/7 +headline/49 +headliner/6 +headlock/7 +headlong +Head/6 +headman/6 +headmaster/7 +headmastership/6 +headmen +headmistress/7 +headphone/7 +headpiece/7 +headpin/7 +headquarter/17 +headrest/7 +headroom/7 +headscarf/6 +headset/7 +headship/7 +headshrinker/7 +head/91 +headsman/6 +headsmen +headstall/7 +headstand/7 +headstock/6 +headstone/7 +headstrong +headwaiter/7 +headwall/9 +headwater/9 +headway/7 +headwind/7 +headword/7 +heady/98 +heal/545 +healed/12 +healer/6 +Heall/6 +healthfully +healthfulness/7 +healthful/12 +healthily/12 +healthiness/41 +health/6 +healths +healthy/264 +heap/26 +heard/13 +hearer/6 +hearing/118 +hearken/17 +hearsay/7 +hearse/6 +hears/36 +Hearst/6 +heartache/7 +heartbeat/7 +heartbreak/131 +heartbreaking/19 +heartbroke +heartbroken +heartburning/6 +heartburn/131 +hearted/19 +hearten/84 +heartening/75 +heartfelt +hearth/6 +hearthrug +hearths +hearthstone/7 +heartily +heartiness/7 +heartland/7 +heartlessness/7 +heartless/28 +heartrending/19 +heartsickness/7 +heartsick/42 +heart/269 +heartstrings +heartthrob/7 +heartwarming +Heartwood/6 +heartwood/7 +hearty/177 +hear/546 +heatedly +heated/13 +heater/6 +heathendom/7 +heathenish/19 +heathenism/7 +heathen/6 +heather/6 +Heather/6 +heathery +Heathkit/6 +heathland +Heathman/6 +Heath/114 +heath/547 +heaths +heatproof +heats/14 +heat/182 +heatstroke/7 +heatwave +heave/23 +heavenliness/6 +heavenly/98 +heaven/65 +heavenward/9 +heaver/6 +heaves/6 +heavily +heaviness/7 +Heaviside/6 +heavyhearted +heavyset +heavy/177 +heavyweight/7 +Hebe/6 +hebephrenic +Hebert/6 +Heb/6 +Hebraic +Hebraism/7 +Hebrew/7 +Hebrides/6 +Hecate/6 +hecatomb/6 +heckler/6 +heckle/23 +heck/9 +hectare/7 +hectically +hectic/9 +hectogram/7 +hectometer/7 +Hector/6 +hector/17 +Hecuba/6 +he'd +Heda/6 +Hedda/6 +Heddie/6 +Heddi/6 +hedge/49 +hedgehog/7 +hedgehopped +hedgehopping +hedgehop/9 +hedger/6 +hedgerow/7 +hedging/19 +Hedi/6 +hedonism/7 +hedonistic +hedonist/7 +Hedvige/6 +Hedvig/6 +Hedwiga/6 +Hedwig/6 +Hedy/6 +heeded/12 +heedfulness/6 +heedful/28 +heeding/12 +heedlessness/7 +heedless/28 +heed/26 +heehaw/17 +heeler/6 +heeling/6 +heelless +heel/49 +Heep/6 +Hefner/6 +heft/17 +heftily +heftiness/7 +hefty/98 +Hegelian +Hegel/6 +hegemonic +hegemony/7 +Hegira/6 +hegira/9 +Heida/6 +Heidegger/6 +Heidelberg/6 +Heidie/6 +Heidi/6 +heifer/7 +Heifetz/6 +heighten/47 +height/99 +Heimlich/6 +Heindrick/6 +Heineken/6 +Heine/6 +Heinlein/6 +heinousness/7 +heinous/28 +Heinrich/6 +Heinrick/6 +Heinrik/6 +Heinze/6 +Heinz/6 +heiress/7 +heirloom/7 +heir/26 +Heisenberg/6 +Heiser/6 +heister/6 +heist/111 +Hejira's +Helaina/6 +Helaine/6 +held +Helena/6 +Helene/6 +Helenka/6 +Helen/6 +Helga/6 +Helge/6 +helical/19 +helices/6 +helicon/6 +Helicon/6 +helicopter/26 +heliocentric +heliography/6 +Heliopolis/6 +Helios/6 +heliosphere +heliotrope/7 +heliport/7 +helium/7 +helix/6 +he'll +hellbender/6 +hellbent +hellcat/7 +hellebore/7 +Hellene/7 +Hellenic +Hellenism/7 +Hellenistic +Hellenist/7 +Hellenization/6 +Hellenize +heller/6 +Heller/6 +Hellespont/6 +hellfire/6 +hell/111 +hellhole/7 +Helli/6 +hellion/7 +hellishness/7 +hellish/28 +Hellman/6 +hello/131 +Hell's +helluva +helmed +helmet/26 +Helmholtz/6 +helming +helms +helm's +helmsman/6 +helmsmen +helm/12 +Helmut/6 +Héloise/6 +helot/9 +helper/6 +helpfulness/7 +helpful/10 +help/179 +helping/6 +helplessness/7 +helpless/28 +helpline/9 +helpmate/7 +helpmeet's +Helsa/6 +Helsinki/6 +helve/26 +Helvetian/9 +Helvetius/6 +Helyn/6 +He/6 +hematite/7 +hematologic +hematological +hematologist/7 +hematology/7 +heme/7 +Hemingway/6 +hemisphere/56 +hemispheric +hemispherical +hemline/7 +hemlock/7 +hemmed +hemmer/7 +hemming +hem/7 +hemoglobin/7 +hemolytic +hemophiliac/7 +hemophilia/7 +hemorrhage/26 +hemorrhagic +hemorrhoid/7 +hemostat/7 +hemp/125 +h/85 +hemstitch/26 +henceforth +henceforward +hence/9 +Hench/6 +henchman/6 +henchmen +Henderson/6 +Hendrick/7 +Hendrickson/6 +Hendrika/6 +Hendrik/6 +Hendrix/6 +henge/6 +Henka/6 +Henley/6 +hen/7 +henna/26 +Hennessey/6 +henning +henpeck/17 +Henrie/6 +Henrieta/6 +Henrietta/6 +Henriette/6 +Henrik/6 +Henri/6 +Henryetta/6 +henry/6 +Henry/6 +Hensley/6 +Henson/6 +heparin/7 +hepatic/9 +hepatitides +hepatitis/6 +Hepburn/6 +Hephaestus/6 +Hephzibah/6 +hepper +heppest +Hepplewhite +hep/9 +heptagonal +heptagon/7 +heptane/6 +heptathlon/9 +her +Heracles/6 +Heraclitus/6 +heralded/12 +heraldic +herald/26 +heraldry/7 +Hera/6 +herbaceous +herbage/7 +herbalism +herbalist/7 +herbal/9 +Herbart/6 +Herbert/6 +herbicidal +herbicide/7 +Herbie/6 +herbivore/7 +herbivorous/19 +Herb/6 +herb/7 +Herby/6 +Herc/6 +Herculaneum/6 +herculean +Herculean +Hercule/7 +Herculie/6 +herder/6 +Herder/6 +herd/49 +herdsman/6 +herdsmen +hereabout/9 +hereafter/9 +hereby +hereditary +heredity/7 +Hereford/7 +herein +hereinafter +here/230 +hereof +hereon +here's +heres/6 +heresy/7 +heretical +heretic/7 +hereto +heretofore +hereunder +hereunto +hereupon +herewith +Heriberto/6 +heritable +heritage/7 +heritor/123 +Herkimer/6 +Herman/6 +Hermann/6 +hermaphrodite/7 +hermaphroditic +Hermaphroditus/6 +hermeneutic/9 +hermeneutics/6 +Hermes +hermetical/19 +hermetic/9 +Hermia/6 +Hermie/6 +Hermina/6 +Hermine/6 +Herminia/6 +Hermione/6 +hermitage/7 +Hermite/6 +hermitian +hermit/7 +Hermon/6 +Hermosa/6 +Hermosillo/6 +Hermy/6 +Hernandez/6 +Hernando/6 +hernial +hernia/7 +herniate/15 +Herod/6 +Herodotus/6 +heroes +heroically +heroics +heroic/12 +heroine/7 +heroin/7 +heroism/7 +Herold/6 +hero/6 +heron/7 +herpes/6 +herpetologist/7 +herpetology/7 +Herrera/6 +Herrick/6 +herringbone/26 +Herring/6 +herring/7 +Herrington/6 +Herr/207 +Herschel/6 +Hersch/6 +herself +Hersey/6 +Hershel/6 +Hershey/6 +Hersh/6 +Herta/6 +Hertha/6 +hertz/6 +Hertz/6 +Hertzog/6 +Hertzsprung/6 +Herve/6 +Hervey/6 +Herzegovina/6 +Herzl/6 +hes +Hesiod/6 +hesitance/9 +hesitancy/7 +hesitantly +hesitant/12 +hesitater/6 +hesitate/294 +hesitating/10 +hesitation/6 +Hesperus/6 +Hesse/6 +Hessian/7 +Hess/6 +Hester/6 +Hesther/6 +Hestia/6 +Heston/6 +heterodox +heterodoxy/7 +heterodyne +heterogamous +heterogamy/6 +heterogeneity/7 +heterogeneousness/6 +heterogeneous/28 +heterosexuality/7 +heterosexual/65 +heterostructure +heterozygous +Hettie/6 +Hetti/6 +Hetty/6 +Heublein/6 +heuristically +heuristic/7 +Heusen/6 +Heuser/6 +he/548 +hew/23 +Hewe/6 +hewer/6 +Hewet/6 +Hewett/6 +Hewie/6 +Hewitt/6 +Hewlett/6 +Hew/6 +hexachloride/6 +hexadecimal/16 +hexafluoride/6 +hexagonal/19 +hexagon/7 +hexagram/7 +hexameter/7 +hex/31 +hexer/6 +hey +heyday/7 +Heyerdahl/6 +Heywood/6 +Hezekiah/6 +hf +HF +Hf/6 +Hg/6 +hgt +hgwy +HHS +HI +Hialeah/6 +hiatus/7 +Hiawatha/6 +hibachi/7 +hibernate/15 +hibernation/6 +hibernator/7 +Hibernia/6 +Hibernian/9 +hibiscus/7 +hiccup/26 +hickey/7 +Hickey/7 +Hickman/6 +Hickok/6 +hickory/7 +hick/7 +Hicks/6 +hi/81 +hidden/12 +hideaway/7 +hidebound +hideousness/7 +hideous/28 +hideout/7 +hider/6 +hide/9 +hiding/6 +hid/245 +hieing +hierarchal +hierarchic +hierarchical/19 +hierarchy/7 +hieratic +hieroglyph +hieroglyphic/9 +hieroglyphics/6 +hieroglyphs +Hieronymus/6 +hie/9 +hifalutin +Higashiosaka +Higgins/6 +highball/26 +highborn +highboy/7 +highbrow/7 +highchair/7 +highfalutin +Highfield/6 +highhandedness/7 +highhanded/28 +highish +Highlander/7 +Highlands +highland/96 +highlight/49 +Highness/6 +highness/7 +highpoint +high/33 +highroad/7 +highs +hight +hightail/17 +highwayman/6 +highwaymen +highway/7 +hijacker/6 +hijack/179 +hiker/6 +hike/23 +Hilario/6 +hilariousness/7 +hilarious/28 +hilarity/7 +Hilarius/6 +Hilary/6 +Hilbert/6 +Hildagarde/6 +Hildagard/6 +Hilda/6 +Hildebrand/6 +Hildegaard/6 +Hildegarde/6 +Hilde/6 +Hildy/6 +Hillard/6 +Hillary/6 +hillbilly/7 +Hillcrest/6 +Hillel/6 +hiller/6 +Hillery/6 +hill/111 +Hilliard/6 +Hilliary/6 +Hillie/6 +Hillier/6 +hilliness/7 +Hill/6 +hillman +hillmen +hillock/7 +Hillsboro/6 +Hillsdale/6 +hillside/7 +hilltop/7 +hillwalking +Hillyer/6 +Hilly/114 +hilly/98 +hilt/26 +Hilton/6 +Hi/6 +Himalaya/7 +Himalayan/9 +Himmler/6 +him/9 +himself +Hinayana/6 +Hinda/6 +Hindemith/6 +Hindenburg/6 +hindered/12 +hinderer/6 +hinder/52 +Hindi/6 +hindmost +hindquarter/7 +hindrance/7 +hind/110 +hindsight/7 +Hinduism/7 +Hindu/7 +Hindustani/7 +Hindustan/6 +Hines/6 +hinger +hinge's +hinge/180 +Hinkle/6 +Hinsdale/6 +hinterland/7 +hinter/6 +hint/49 +Hinton/6 +Hinze/6 +hipbone/7 +hipness/9 +Hipparchus/6 +hipped +hipper +hippest +hippie/80 +hipping/6 +Hippocrates/6 +Hippocratic +hippodrome/7 +hippo/7 +hippopotamus/7 +hip/444 +hippy's +hipster/7 +hiragana +Hiram/6 +hire/36 +hireling/7 +hirer/7 +Hirey/6 +hiring/9 +Hirohito/6 +Hiroshi/6 +Hiroshima/6 +Hirsch/6 +hirsuteness/7 +hirsute/42 +his +Hispanic/7 +Hispaniola/6 +hiss/211 +hisser/6 +hissing/6 +Hiss/6 +histamine/7 +histidine/7 +histochemic +histochemical +histochemistry/6 +histogram/7 +histological +histologist/7 +histology/7 +historian/7 +historic +historicalness/6 +historical/28 +historicism/6 +historicist/6 +historicity/7 +historiographer/7 +historiography/7 +history/7 +histrionically +histrionic/9 +histrionics/6 +hist/17 +Hitachi/6 +Hitchcock/6 +hitcher/7 +hitchhike/23 +hitch/180 +hither +hitherto +Hitler/7 +hitless +hit/7 +hittable +hitter/7 +hitting +Hittite/7 +HIV +hive/26 +h'm +HM +HMO +Hmong +HMS +hoarder/6 +hoarding/6 +hoard/91 +hoarfrost/7 +hoariness/7 +hoar/6 +hoarseness/7 +hoarse/33 +hoary/98 +hoaxer/6 +hoax/49 +Hobard/6 +Hobart/6 +hobbed +Hobbes/6 +hobbing +hobbit +hobbler/6 +hobble/23 +Hobbs/6 +hobbyhorse/7 +hobbyist/7 +hobby/7 +Hobday/6 +Hobey/6 +hobgoblin/7 +Hobie/6 +hobnail/26 +hobnobbed +hobnobbing +hobnob/9 +Hoboken/6 +hobo/26 +hob/7 +hoc +hocker/6 +hockey/7 +hock/111 +Hockney/6 +hockshop/7 +hodge/7 +Hodge/7 +hodgepodge/7 +Hodgkin/6 +ho/549 +hod/7 +Hoebart/6 +hoecake/7 +hoedown/7 +hoeing +hoer/6 +hoe/7 +Hoffa/6 +Hoff/6 +Hoffman/6 +Hofstadter/6 +Hogan/6 +hogan/7 +Hogarth/6 +hogback/7 +hogged +hogger +hogging +hoggish/19 +hogshead/7 +hog/7 +hogtie/142 +hogtying +hogwash/7 +Hohenlohe/6 +Hohenstaufen/6 +Hohenzollern/6 +Hohhot/6 +hoister/6 +hoist/31 +hoke/17 +hokey/98 +hokier +hokiest +Hokkaido/6 +hokum/7 +Hokusai/6 +Holbein/6 +Holbrook/6 +Holcomb/6 +holdall/7 +Holden/6 +holder/6 +Holder/6 +holding/230 +holding's +hold/195 +holdout/7 +holdover/7 +holdup/7 +hole/26 +holey +holiday/111 +Holiday/6 +holidaymaker/9 +holier/12 +Holiness/7 +holiness/41 +holistic +holistically +hollandaise +Hollandaise/6 +Hollander/6 +Holland/96 +holler/17 +Hollerith/6 +Holley/6 +Hollie/6 +Holli/7 +Hollister/6 +Holloway/6 +hollowness/7 +hollow/77 +hollowware/6 +Hollyanne/6 +hollyhock/7 +Holly/6 +holly/7 +Hollywood/6 +Holman/6 +Holmes +holmium/7 +Holm/6 +Holocaust +holocaust/7 +Holocene +hologram/7 +holograph/165 +holographic +holographs +holography/7 +Holstein/7 +holster/26 +Holst/6 +Holt/6 +Holyoke/6 +holy/177 +holystone/7 +Holzman/6 +Ho/6 +homage/111 +homager/6 +hombre/7 +homburg/7 +homebody/7 +homebound +homeboy/9 +homebuilder/9 +homebuilding +homebuilt +homecoming/7 +home/362 +homegrown +homeland/7 +homelessness/7 +homeless/42 +homelike +homeliness/7 +homely/98 +homemade +homemake/173 +homemaker/6 +homemaking/6 +homeomorphic +homeomorphism/7 +homeomorph/6 +homeopath +homeopathic +homeopaths +homeopathy/7 +homeostases +homeostasis/6 +homeostatic +homeowner/9 +homeownership +homepage +Homere/6 +homer/165 +Homeric +homerists +Homer/6 +homeroom/7 +Homerus/6 +homeschooling/9 +homesickness/7 +homesick/42 +homespun/9 +homesteader/6 +homestead/49 +homestretch/7 +hometown/7 +homeward +homeworker/6 +homework/96 +homeyness/7 +homey/144 +homicidal/19 +homicide/7 +homier +homiest +homiletic/9 +homily/7 +hominess's +homing/6 +hominid/7 +hominy/7 +Hom/114 +homogamy/6 +homogenate/7 +homogeneity/43 +homogeneous/28 +homogenization/7 +homogenize/23 +homogenizer/6 +homograph/6 +homographs +homological +homologous +homologue/6 +homology/7 +homomorphic +homomorphism/7 +homonym/7 +homophobia/9 +homophobic +homophone/7 +homopolymers +homosexuality/7 +homosexual/65 +homo/7 +homotopy +homozygous/19 +honcho/17 +Honda/6 +Hondo/6 +Honduran/9 +Honduras/6 +Honecker/6 +hone/7 +honestly/25 +honest/93 +honesty/85 +honeybee/7 +honeycomb/26 +honeydew/7 +honey/26 +honeylocust +Honey/6 +honeymooner/6 +honeymoon/49 +honeysuckle/7 +Honeywell/6 +hong/6 +Honiara/6 +honker/6 +honk/49 +honky/7 +Hon/6 +hon/550 +Honolulu/6 +honorableness/7 +honorable/444 +honorables/12 +honorablies/12 +honorably/147 +honorarily +honorarium/7 +honorary/9 +honored/12 +honoree/9 +honor/551 +honorer/82 +Honoria/6 +honorific/9 +Honor/6 +honor's +honors/14 +Honshu/6 +hooch/7 +hoodedness/6 +hooded/42 +hoodlum/7 +Hood/6 +hood/26 +hoodoo/26 +hoodwinker/6 +hoodwink/31 +hooey/7 +hoof/111 +hoofer/6 +hoofmark/9 +hookah/6 +hookahs +hookedness/6 +hooked/42 +Hooke/114 +hooker/6 +Hooker/6 +hookey's +hook/49 +hooks/12 +hookup/7 +hookworm/7 +hooky/80 +hooliganism/7 +hooligan/7 +hooper/6 +Hooper/6 +hoopla/7 +hoop/111 +hooray/26 +hoosegow/7 +Hoosier/7 +hootch's +hootenanny/7 +hooter/6 +hoot/49 +Hoover/7 +hooves/6 +hoped/12 +hopefulness/7 +hopeful/46 +hopelessness/7 +hopeless/28 +Hope/6 +hoper/6 +hope/7 +Hopewell/6 +Hopi/7 +Hopkinsian/6 +Hopkins/6 +hopped +Hopper/6 +hopper/7 +hopping/6 +hoppled +hopples +hopscotch/26 +hop/111 +Horace/6 +Horacio/6 +Horatia/6 +Horatio/6 +Horatius/6 +horde/26 +horehound/7 +horizon/7 +horizontal/16 +Hormel/6 +hormonal/19 +hormone/7 +Hormuz/6 +hornbeam/6 +hornblende/7 +Hornblower/6 +hornedness/6 +horned/42 +Horne/6 +hornet/7 +horn/111 +horniness/6 +hornless +hornlike +Horn/6 +hornpipe/7 +horny/98 +horologic +horological +horologist/7 +horology/7 +horoscope/7 +Horowitz/6 +horrendous/19 +horribleness/7 +horrible/144 +horribly +horridness/6 +horrid/28 +horrific +horrifically +horrify/17 +horrifying/19 +horror/7 +hors/322 +horseback/7 +horsedom +horseflesh/6 +horsefly/7 +horsehair/7 +horsehide/7 +horselaugh/6 +horselaughs +horseless +horselike +horsely +horseman/6 +horsemanship/7 +horsemen +horseplayer/6 +horseplay/175 +horsepower/7 +horseradish/7 +horse's +horseshoeing +horseshoe/286 +horseshoer/6 +horsetail/7 +horse/180 +horsewhipped +horsewhipping +horsewhip/7 +horsewoman/6 +horsewomen +horsey +horsier +horsiest +horsing/6 +Horst/6 +hortatory +Horten/6 +Hortense/6 +Hortensia/6 +horticultural +horticulture/7 +horticulturist/7 +Hort/72 +Horton/6 +Horus/6 +hosanna/17 +Hosea/6 +hose/6 +hosepipe +hos/17 +hosier/7 +hosiery/7 +hosp +hospice/7 +hospitable/45 +hospitably/45 +hospitality/7 +hospitality's/45 +hospitalization/7 +hospitalize/17 +hospital/7 +hostage/7 +hosteler/6 +hostelry/7 +hostel/49 +hostess/26 +hostile/16 +hostility/7 +hostler/7 +Host/7 +host/116 +hotbed/7 +hotblooded +hotbox/7 +hotcake/9 +hotchpotch/6 +hotelier/7 +hotelman/6 +hotel/7 +hotfoot/17 +hothead/56 +hotheadedness/7 +hotheaded/28 +hothouse/26 +hotness/7 +hotplate/7 +hotpot/6 +hot/46 +hotrod +hotshot/9 +hotted +Hottentot/7 +hotter +hottest +hotting +Houdaille/6 +Houdini/6 +hough/6 +hounder/6 +hounding/6 +hound/111 +hourglass/7 +houri/7 +hourly/9 +hour/65 +house/36 +houseboat/7 +housebound +houseboy/7 +housebreaker/6 +housebreaking/6 +housebreak/210 +housebroke +housebroken +housebuilding +housecleaning/6 +houseclean/71 +housecoat/7 +housefly/7 +houseful/7 +householder/6 +household/96 +househusband/9 +housekeeper/6 +housekeeping/6 +housekeep/173 +houselights +House/6 +housemaid/7 +houseman/6 +housemen +housemother/7 +housemoving +houseparent/7 +houseplant/9 +houser +house's +housetop/7 +housewares +housewarming/7 +housewifeliness/6 +housewifely/42 +housewife/86 +housewives +houseworker/6 +housework/96 +housing/7 +Housman/6 +Houston/6 +Houyhnhnm/6 +HOV +hovel/26 +hovercraft/6 +hoverer/6 +hover/52 +hove/90 +Howard/6 +howbeit +howdah/6 +howdahs +howdy/17 +Howell/7 +Howe/6 +however +Howey/6 +Howie/6 +howitzer/7 +howler/6 +howl/49 +Howrah/6 +how/7 +howsoever +hoyden/26 +hoydenish +Hoyle/7 +hoy/6 +Hoyt/6 +hp +HP +HQ +hr +HR +HRH +Hrothgar/6 +hrs +h's +H's +HS +HST +ht +HTML +Hts/6 +http +https +Huang/6 +huarache/7 +hubba +Hubbard/6 +Hubble/6 +hubbub/7 +hubby/7 +hubcap/7 +Huber/6 +Hube/114 +Hubert/6 +Huberto/6 +Hubey/6 +Hubie/6 +hub/7 +hubris/7 +huckleberry/7 +Huck/6 +huckster/26 +HUD +Huddersfield/6 +huddler/6 +huddle/111 +Hudson/6 +hue/56 +Huerta/6 +Huey/6 +huffily +huffiness/7 +Huff/6 +Huffman/6 +huff/26 +huffy/98 +hugeness/7 +huge/28 +hugged +hugger +hugging/9 +Huggins +Hughie/6 +Hugh/7 +Hugibert/6 +Hugo/6 +hug/228 +Huguenot/7 +Hugues/6 +huh +huhs +Hui/6 +Huitzilopitchli/6 +hula/26 +Hulda/6 +hulk/26 +hullabaloo/7 +huller/6 +hulling/6 +Hull/6 +hull/49 +hullo/26 +humane/51 +humaneness/7 +humaner +humanest +human/68 +humanism/7 +humanistic +humanist/7 +humanitarianism/7 +humanitarian/9 +humanity/43 +humanization/186 +humanized/169 +humanizer/6 +humanize/23 +humanizes/552 +humanizing/169 +humankind/6 +humannesses +humanness/123 +humanoid/9 +humans +Humbert/6 +Humberto/6 +humbleness/7 +humble/553 +humbly +Humboldt/6 +humbugged +humbugging +humbug/7 +humdinger/7 +humdrum/9 +Hume/6 +humeral/9 +humeri +humerus/6 +Humfrey/6 +Humfrid/6 +Humfried/6 +humidification/266 +humidifier/266 +humidify/554 +humidistat/6 +humidity/7 +humidor/7 +humid/19 +humiliate/15 +humiliating/19 +humiliation/6 +humility/7 +hummed +Hummel/6 +hummer/7 +humming +hummingbird/7 +hummock/26 +hummocky +hummus/9 +humongous +humored/12 +humorist/7 +humorlessness/7 +humorless/28 +humorousness/7 +humorous/28 +humor/49 +humpback/56 +hump/26 +humph/47 +Humphrey/7 +humphs +Humpty/6 +hum/9 +humus/7 +Humvee +hunchback/56 +hunch/26 +hundredfold/9 +hundred/488 +hundredths +hundredweight/7 +Hunfredo/6 +hung/14 +Hungarian/7 +Hungary/6 +hunger/26 +Hung/6 +hungover +hungrily +hungriness/7 +hungry/98 +hunker/47 +hunky/228 +hunk/96 +Hun/7 +hunter/6 +Hunter/6 +hunt/179 +hunting/6 +Huntington/6 +Huntlee/6 +Huntley/6 +Hunt/114 +huntress/7 +huntsman/6 +huntsmen +Huntsville/6 +hurdle/91 +hurdler/6 +hurl/179 +Hurlee/6 +Hurleigh/6 +hurler/6 +Hurley/6 +hurling/6 +Huron/7 +hurray/17 +hurricane/7 +hurriedness/6 +hurried/10 +hurry/31 +Hurst/6 +hurter/6 +hurtfulness/7 +hurtful/28 +hurting/19 +hurtle/17 +hurts +hurt/12 +Hurwitz/6 +Hus +Husain's +husbander/6 +husband/254 +husbandman/6 +husbandmen +husbandry/7 +Husein/6 +hush/17 +husker/6 +huskily +huskiness/7 +husking/6 +husk/49 +husky/177 +hussar/7 +Hussein/6 +Husserl/6 +hussy/7 +hustings/6 +hustler/6 +hustle/23 +Huston/6 +Hutchins/6 +Hutchinson/6 +Hutchison/6 +hutch/26 +hut/7 +hutted +hutting +Hutton/6 +Hutu/6 +Huxley/6 +Huygens/6 +huzzah/47 +huzzahs +hwy +Hyacintha/6 +Hyacinthe/6 +Hyacinthia/6 +Hyacinthie/6 +hyacinth/6 +Hyacinth/6 +hyacinths +Hyades +hyaena's +Hyannis/6 +Hyatt/6 +hybridism/7 +hybridization/9 +hybridize/17 +hybrid/7 +Hyde/6 +Hyderabad/6 +Hydra/6 +hydra/7 +hydrangea/7 +hydrant/7 +hydrate/345 +hydrate's +hydration/266 +hydraulically +hydraulicked +hydraulicking +hydraulic/9 +hydraulics/6 +hydrazine/6 +hydride/7 +hydrocarbon/7 +hydrocephali +hydrocephalus/7 +hydrochemistry +hydrochloric +hydrochloride/6 +hydrodynamical +hydrodynamic/9 +hydrodynamics/6 +hydroelectric +hydroelectrically +hydroelectricity/7 +hydrofluoric +hydrofoil/7 +hydrogenate/555 +hydrogenate's +hydrogenation/266 +hydrogenations +hydrogen/7 +hydrogenous +hydrological/19 +hydrologist/7 +hydrology/7 +hydrolysis/6 +hydrolyzed/12 +hydrolyze/17 +hydromagnetic +hydromechanics/6 +hydrometer/7 +hydrometry/7 +hydrophilic +hydrophobia/7 +hydrophobic +hydrophone/7 +hydroplane/26 +hydroponic/9 +hydroponics/6 +hydro/7 +hydrosphere/7 +hydrostatic/9 +hydrostatics/6 +hydrotherapy/7 +hydrothermal/19 +hydrous +hydroxide/7 +hydroxy +hydroxylate/122 +hydroxyl/7 +hydroxyzine/6 +hyena/7 +hygiene/7 +hygienically +hygienic/9 +hygienics/6 +hygienist/7 +hygrometer/7 +hygroscopic +hying +Hy/6 +Hyman/6 +hymeneal/9 +Hymen/6 +hymen/7 +Hymie/6 +hymnal/7 +hymnbook/9 +hymn/26 +Hynda/6 +hype/49 +hyperactive/9 +hyperactivity/7 +hyperbola/7 +hyperbole/7 +hyperbolic +hyperbolically +hyperboloidal +hyperboloid/7 +hypercellularity +hypercritical/19 +hypercube/7 +hyperemia/6 +hyperemic +hyperfine +hypergamous/19 +hypergamy/6 +hyperglycemia/7 +hyperinflation +Hyperion/6 +hypermarket/7 +hypermedia/9 +hyperplane/7 +hyperplasia/6 +hypersensitiveness/7 +hypersensitive/42 +hypersensitivity/7 +hypersonic +hyperspace/6 +hypersphere/6 +hypertension/7 +hypertensive/9 +hypertext/7 +hyperthyroid +hyperthyroidism/7 +hypertrophy/26 +hypervelocity +hyperventilate/15 +hyperventilation/6 +hyphenated/12 +hyphenate/15 +hyphenation/6 +hyphen/26 +hypnoses +hypnosis/6 +hypnotherapy/7 +hypnotically +hypnotic/9 +hypnotism/7 +hypnotist/7 +hypnotize/17 +hypoactive +hypoallergenic +hypocellularity +hypochondriac/7 +hypochondria/7 +hypocrisy/7 +hypocrite/7 +hypocritical/19 +hypodermic/9 +hypo/26 +hypoglycemia/7 +hypoglycemic/9 +hypophyseal +hypophysectomized +hypotenuse/7 +hypothalami +hypothalamic +hypothalamically +hypothalamus/6 +hypothermia/7 +hypotheses +hypothesis/6 +hypothesizer/6 +hypothesize/23 +hypothetic +hypothetical/19 +hypothyroid +hypothyroidism/7 +hypoxia/6 +hyssop/7 +hysterectomy/7 +hysteresis/6 +hysteria/7 +hysterical/10 +hysteric/7 +Hyundai/6 +Hz +i +I +IA +Iaccoca/6 +Iago/6 +Iain/6 +Ia/6 +iambi +iambic/9 +iamb/7 +iambus/7 +Ian/6 +Ianthe/6 +Ibadan/6 +Ibbie/6 +Ibby/6 +Iberia/6 +Iberian/7 +Ibero/6 +ibex/7 +ibid +ibidem +ibis/7 +IBM/6 +Ibo/6 +Ibrahim/6 +Ibsen/6 +ibuprofen/9 +Icarus/6 +ICBM/9 +ICC +iceberg/7 +iceboat/7 +icebound +icebox/7 +icebreaker/7 +icecap/7 +ice/263 +Icelander/6 +Icelandic +Iceland/231 +Ice/6 +iceman/6 +icemen +icepack +icepick/9 +ice's +Ichabod/6 +ichneumon/6 +ichthyologist/7 +ichthyology/7 +icicle/7 +icily +iciness/7 +icing/7 +icky/54 +iconic +icon/7 +iconoclasm/7 +iconoclastic +iconoclast/7 +iconography/7 +icosahedra +icosahedral +icosahedron/6 +ictus/7 +ICU +icy/98 +I'd +ID +Idahoan/9 +Idahoes +Idaho/7 +Idalia/6 +Idalina/6 +Idaline/6 +Ida/6 +idealism/7 +idealistic +idealistically +idealist/7 +idealization/7 +idealized/12 +idealize/23 +idealizer/6 +ideal/65 +idealogical +idea/7 +ideate/363 +ideation/6 +Idelle/6 +Idell/6 +idem +idempotent/9 +identicalness/6 +identical/28 +identifiability +identifiable/12 +identifiably +identification/6 +identified/12 +identifier/6 +identify/115 +identity/7 +ideogram/7 +ideographic +ideograph/6 +ideographs +ideological/19 +ideologist/7 +ideologue/9 +ideology/7 +ides +Idette/6 +idiocy/7 +idiolect/6 +idiomatically +idiomatic/42 +idiom/7 +idiopathic +idiosyncrasy/7 +idiosyncratic +idiosyncratically +idiotic +idiotically +idiot/7 +idleness/7 +idle/482 +idler/6 +id/86 +idolater/7 +idolatress/9 +idolatrous +idolatry/7 +idolization/7 +idolized/12 +idolizer/6 +idolize/23 +idol/7 +ids +IDs +idyllic +idyllically +idyll/7 +IE +IEEE +Ieyasu/6 +if +iffiness/9 +iffy/98 +Ifni/6 +ifs +Iggie/6 +Iggy/6 +igloo/7 +Ignace/6 +Ignacio/6 +Ignacius/6 +Ignatius/6 +Ignazio/6 +Ignaz/6 +igneous +ignitable +ignite/36 +igniter/6 +ignition/7 +ignobleness/6 +ignoble/42 +ignobly +ignominious/19 +ignominy/7 +ignoramus/7 +ignorance/7 +ignorantness/6 +ignorant/46 +ignorer/6 +ignore/318 +Igor/6 +iguana/7 +Iguassu/6 +ii +iii +Ijsselmeer/6 +Ike/6 +Ikey/6 +Ikhnaton/6 +ikon's +IL +Ilaire/6 +Ila/6 +Ilario/6 +ilea +Ileana/6 +Ileane/6 +ileitides +ileitis/6 +Ilene/6 +ileum/6 +ilia +iliac +Iliad/7 +Ilise/6 +ilium/6 +Ilka/6 +ilk/7 +I'll +Illa/6 +illegality/7 +illegal/16 +illegibility/7 +illegible +illegibly +illegitimacy/7 +illegitimate/183 +illiberality/7 +illiberal/19 +illicitness/7 +illicit/28 +illimitableness/6 +illimitable/42 +Illinoisan/7 +Illinois/6 +illiquid +illiteracy/7 +illiterateness/6 +illiterate/46 +Ill/6 +illness/7 +illogicality/7 +illogicalness/6 +illogical/28 +illogic/6 +ill/144 +illume/47 +illuminate/24 +Illuminati +illuminatingly +illuminating/12 +illumination/6 +illumine/88 +illusionary +illusion/314 +illusionist/7 +illusion's +illusiveness/6 +illusive/28 +illusoriness/6 +illusory/42 +illustrated/12 +illustrate/24 +illustration/6 +illustrative/19 +illustrator/7 +illustriousness/7 +illustrious/28 +illus/130 +illy +Ilona/6 +Ilsa/6 +Ilse/6 +Ilysa/6 +Ilyse/6 +Ilyssa/6 +Ilyushin/6 +I'm +image/26 +Imagen/6 +imagery/7 +imaginableness +imaginable/12 +imaginably/12 +imaginariness/6 +imaginary/144 +imagination/7 +imaginativeness/6 +imaginative/10 +imagined/12 +imaginer/6 +imagine/157 +imagoes +imago/6 +imam/7 +imbalance/56 +imbecile/65 +imbecilic +imbecility/7 +imbiber/6 +imbibe/23 +imbrication/7 +Imbrium/6 +imbroglio/7 +imbruing +imbue/17 +Imelda/6 +IMF +IMHO +imitable/45 +imitate/24 +imitation/6 +imitativeness/7 +imitative/28 +imitator/7 +immaculateness/7 +immaculate/28 +immanence/9 +immanency/7 +immanent/19 +Immanuel/6 +immateriality/7 +immaterialness/7 +immaterial/28 +immatureness/6 +immature/46 +immaturity/7 +immeasurableness/6 +immeasurable/42 +immeasurably +immediacy/7 +immediateness/7 +immediate/28 +immemorial/19 +immenseness/6 +immense/33 +immensity/7 +immerse/294 +immersible +immersion/6 +immigrant/7 +immigrate/15 +immigration/6 +imminence/7 +imminentness/6 +imminent/28 +immobile +immobility/7 +immobilization/7 +immobilize/31 +immoderateness/6 +immoderate/556 +immoderation/6 +immodest/19 +immodesty/7 +immolate/15 +immolation/6 +immorality/7 +immoral/19 +immortality/7 +immortalized/12 +immortalize/17 +immortal/16 +immovability/7 +immovableness/6 +immovable/144 +immovably +immune/9 +immunity/7 +immunization/7 +immunize/17 +immunoassay/6 +immunodeficiency/9 +immunodeficient +immunologic +immunological/19 +immunologist/7 +immunology/7 +immure/17 +immutability/7 +immutableness/6 +immutable/42 +immutably +IMNSHO +IMO +Imogene/6 +Imogen/6 +Imojean/6 +impaction/7 +impactor/7 +impact/152 +impaired/12 +impairer/6 +impair/8 +impairment/7 +impala/7 +impale/8 +impalement/7 +impaler/6 +impalpable +impalpably +impanel/17 +impartation/6 +impart/17 +impartiality/7 +impartial/19 +impassableness/6 +impassable/42 +impassably +impasse/557 +impassibility/7 +impassible +impassibly +impassion/47 +impassioned/12 +impassiveness/7 +impassive/28 +impassivity/7 +impasto/7 +impatience/7 +impatiens/6 +impatient/19 +impeachable/12 +impeach/53 +impeacher/6 +impeachment/7 +impeccability/7 +impeccable/9 +impeccably +impecuniousness/7 +impecunious/28 +impedance/7 +impeded/12 +impeder/6 +impede/9 +imped/52 +impedimenta +impediment/7 +impelled +impeller/7 +impelling +impel/9 +impend/17 +impenetrability/7 +impenetrableness/6 +impenetrable/42 +impenetrably +impenitence/7 +impenitent/16 +imperativeness/6 +imperative/46 +imperceivable +imperceptibility/7 +imperceptible +imperceptibly +imperceptive +imperf +imperfectability +imperfection/7 +imperfectness/7 +imperfect/558 +imperialism/7 +imperialistic +imperialistically +imperialist/7 +imperial/16 +imperil/11 +imperilment/7 +imperiousness/7 +imperious/28 +imperishableness/6 +imperishable/144 +imperishably +impermanence/7 +impermanent/19 +impermeability/7 +impermeableness/6 +impermeable/42 +impermeably +impermissible +impersonality/6 +impersonalized +impersonal/19 +impersonate/15 +impersonation/6 +impersonator/7 +impertinence/7 +impertinent/16 +imperturbability/7 +imperturbable +imperturbably +imperviousness/6 +impervious/28 +impetigo/7 +impetuosity/7 +impetuousness/7 +impetuous/28 +impetus/7 +impiety/7 +impinge/40 +impingement/7 +imping/47 +impiousness/7 +impious/28 +impishness/7 +impish/28 +implacability/7 +implacableness/6 +implacable/42 +implacably +implantation/7 +implant/318 +implanter/6 +implausibility/7 +implausible +implausibly +implementability +implementable/12 +implementation/14 +implementations +implementation's +implemented/13 +implementer/6 +implementing/14 +implementor/7 +implement/66 +implicant/7 +implicate/64 +implication/6 +implicative/28 +implicitness/7 +implicit/28 +implied/19 +implode/17 +implore/17 +imploring/19 +implosion/7 +implosive/9 +imply/15 +impoliteness/7 +impolite/28 +impoliticness/6 +impolitic/28 +imponderableness/6 +imponderable/144 +importance/7 +important/19 +importation/7 +importer/6 +importing/14 +import/67 +importunateness/6 +importunate/22 +importuner/6 +importune/284 +importunity/7 +imposable +impose/36 +imposer/7 +imposingly +imposing/12 +imposition/7 +impossibility/7 +impossibleness/6 +impossible/144 +impossibly +imposter's +impostor/7 +impost/26 +imposture/7 +impotence/7 +impotency/9 +impotent/16 +impound/17 +impoundments +impoverisher/6 +impoverish/8 +impoverishment/7 +impracticableness/6 +impracticable/42 +impracticably +impracticality/7 +impracticalness/6 +impractical/28 +imprecate/15 +imprecation/6 +impreciseness/7 +imprecise/168 +imprecision/6 +impregnability/7 +impregnableness/6 +impregnable/42 +impregnably +impregnate/15 +impregnation/6 +impresario/7 +impress/559 +impressed/12 +impresser/6 +impressibility/7 +impressible +impressionability/7 +impressionableness/6 +impressionable/42 +impression/465 +impressionism/7 +impressionistic +impressionist/7 +impressiveness/7 +impressive/28 +impressment/6 +imprimatur/7 +imprinter/6 +imprinting/6 +imprint/49 +imprison/11 +imprisonment/7 +improbability/7 +improbableness/6 +improbable/42 +improbably +impromptu/9 +improperness/6 +improper/28 +impropitious +impropriety/7 +improved/12 +improvement/7 +improver/6 +improve/113 +improvidence/7 +improvident/19 +improvisational +improvisation/7 +improvisatory +improviser/6 +improvise/23 +imprudence/7 +imprudent/19 +imp/254 +impudence/7 +impudent/19 +impugner/6 +impugn/67 +impulse/333 +impulsion/6 +impulsiveness/7 +impulsive/28 +impunity/7 +impureness/6 +impure/33 +impurity/7 +imputation/7 +impute/88 +Imus/6 +IN +inaction +inactive +inadequate/9 +inadvertence/7 +inadvertent/19 +inalienability/7 +inalienably +inalterableness/6 +inalterable/42 +Ina/6 +inamorata/7 +inane/38 +inanimateness/9 +inanimate/42 +inanity/7 +inappeasable +inappropriate/42 +inarticulate/42 +in/63 +inasmuch +inaugural/9 +inaugurate/15 +inauguration/6 +inauthenticity +inbound/224 +inbred/9 +inbreed/301 +incalculableness/6 +incalculably +incandescence/7 +incandescent/16 +incant +incantation/7 +incantatory +incapable/9 +incapacitate/55 +incapacitation/6 +incarcerate/15 +incarceration/6 +incarnadine/17 +incarnate/132 +incarnation/118 +Inca/7 +incendiary/9 +incense/26 +incentive/85 +incentively +incept/64 +inception/7 +inceptive/19 +inceptor/6 +incessant/19 +incest/7 +incestuousness/7 +incestuous/28 +inch/26 +inchoate/17 +Inchon/6 +inchworm/7 +incidence/7 +incidental/16 +incident/7 +incinerate/15 +incineration/6 +incinerator/7 +incipience/7 +incipiency/6 +incipient/19 +incise/24 +incision/6 +incisiveness/7 +incisive/28 +incisor/7 +incitement/7 +inciter/6 +incite/560 +incl +inclination/85 +incline/84 +incliner/6 +inclining/6 +include/17 +inclusion/7 +inclusiveness/7 +inclusive/28 +Inc/6 +incognito/9 +incoherency/6 +income/6 +incommode/47 +incommunicado +incomparable +incompetent/7 +incomplete/42 +inconceivability/7 +inconceivableness/6 +inconceivable/42 +incondensable +incongruousness/9 +inconsiderableness/6 +inconsiderable/42 +inconsistence +inconsolableness/6 +inconsolable/42 +inconsolably +incontestability/7 +incontestably +incontrovertibly +inconvenience/47 +inconvertibility +inconvertible +incorporable +incorporated/147 +incorporate/132 +incorrect/42 +incorrigibility/7 +incorrigibleness/6 +incorrigible/144 +incorrigibly +incorruptible/9 +incorruptibly +increase/561 +increaser/6 +increasing/19 +incredibleness/6 +incredible/42 +incremental/19 +incrementation +increment/26 +incriminate/15 +incrimination/6 +incriminatory +incrustation/7 +inc/357 +incubate/24 +incubation/6 +incubator/7 +incubus/7 +inculcate/15 +inculcation/6 +inculpate/17 +incumbency/7 +incumbent/9 +incunabula +incunabulum +incurable/9 +incurious +incursion/7 +ind +indebtedness/7 +indebted/42 +indefatigableness/6 +indefatigable/42 +indefatigably +indefeasible +indefeasibly +indefinableness/6 +indefinable/144 +indefinite/9 +indelible +indelibly +indemnification/6 +indemnify/15 +indemnity/7 +indentation/7 +indented/12 +indenter/6 +indention/7 +indent/164 +indenture/47 +Independence/6 +indescribableness/6 +indescribable/144 +indescribably +indestructibleness/6 +indestructible/42 +indestructibly +indeterminably +indeterminacy/7 +indeterminism +indexation/9 +indexer/6 +index/562 +India/6 +Indiana/6 +Indianan/9 +Indianapolis/6 +Indianian/9 +Indian/7 +indicant/7 +indicate/24 +indication/6 +indicative/16 +indicator/7 +indices's +indicter/6 +indictment/7 +indict/113 +indifference +indigence/7 +indigenousness/6 +indigenous/28 +indigent/16 +indigestible/9 +indignant/19 +indignation/7 +indigo/7 +Indira/6 +indirect/563 +indiscreet/42 +indiscriminateness/6 +indiscriminate/28 +indispensability/7 +indispensableness/6 +indispensable/144 +indispensably +indisputableness/6 +indisputable/42 +indissolubleness/6 +indissoluble/42 +indissolubly +indistinguishableness/6 +indistinguishable/42 +indite/17 +indium/7 +individualism/7 +individualistic +individualistically +individualist/7 +individuality/7 +individualization/7 +individualize/23 +individualized/12 +individualizer/6 +individualizes/12 +individualizing/19 +individual/65 +individuate/15 +individuation/6 +indivisibleness/6 +indivisible/144 +indivisibly +Ind/6 +Indochina/6 +Indochinese +indoctrinate/15 +indoctrination/6 +indoctrinator/7 +indolence/7 +indolent/19 +indomitableness/6 +indomitable/42 +indomitably +Indonesia/6 +Indonesian/9 +indoor +Indore/6 +Indra/6 +indubitableness/6 +indubitable/42 +indubitably +inducement/7 +inducer/6 +induce/27 +inducible +inductance/7 +inductee/7 +induct/392 +induction/7 +inductiveness/6 +inductive/28 +inductor/7 +indulge/31 +indulgence/26 +indulgent/19 +indulger/6 +Indus/6 +industrialism/7 +industrialist/7 +industrialization/7 +industrialized/12 +industrialize/17 +industrial/16 +industriousness/7 +industrious/28 +industry/7 +Indy/7 +inebriate/15 +inebriation/6 +inedible +ineducable +ineffability/7 +ineffableness/6 +ineffable/42 +ineffably +inelastic +ineligibly +ineluctable +ineluctably +ineptitude/7 +ineptness/7 +inept/28 +inequivalent +inerrant +inertial/19 +inertia/7 +inertness/7 +inert/46 +Ines +inescapably +Inesita/6 +Inessa/6 +inestimably +inevitability/7 +inevitableness/6 +inevitable/42 +inevitably +inexact/42 +inexhaustibleness/6 +inexhaustible/42 +inexhaustibly +inexorability/6 +inexorableness/6 +inexorable/42 +inexorably +inexpedience/6 +inexplicableness/6 +inexplicable/42 +inexplicably +inexplicit +inexpressibility/6 +inexpressibleness/6 +inexpressible/144 +inextricably +Inez/6 +infamous +infamy/7 +infancy/6 +infanticide/7 +infantile +infant/7 +infantryman/6 +infantrymen +infantry/7 +infarction/7 +infarct/7 +infatuate/15 +infatuation/6 +infauna +infected/12 +infecter +infect/127 +infection/128 +infectiousness/7 +infectious/28 +infective +infer/277 +inference/214 +inferential/19 +inferiority/7 +inferior/65 +infernal/19 +inferno/7 +inferred +inferring +infertile +infestation/7 +infester/6 +infest/31 +infidel/7 +infighting/6 +infill/207 +infiltrate/130 +infiltrator/7 +infinitesimal/16 +infinite/130 +infinitival +infinitive/65 +infinitude/7 +infinitum +infinity/7 +infirmary/7 +infirmity/7 +infix/6 +inflammableness/6 +inflammable/42 +inflammation/7 +inflammatory +inflatable/7 +inflate/396 +inflater/6 +inflationary +inflation/85 +inflect/64 +inflectional/19 +inflection/7 +inflexibleness/6 +inflexible/42 +inflexion/7 +inflict/29 +inflicter/6 +infliction/7 +inflow/6 +influenced/12 +influencer/6 +influence/111 +influent +influential/16 +influenza/7 +infomercial/9 +Informatica/6 +informatics +informational +information/314 +informativeness/9 +informative/10 +informatory +informed/12 +informer/6 +info/7 +infotainment/9 +infra +infrared/7 +infrasonic +infrastructural +infrastructure/7 +infrequence/9 +infringe/564 +infringement/7 +infringer/6 +infuriate/565 +infuriating/19 +infuriation/6 +infuser/6 +infuse/90 +infusibleness/6 +infusible/42 +inf/566 +Ingaberg/6 +Ingaborg/6 +Inga/6 +Ingamar/6 +Ingar/6 +Ingeberg/6 +Ingeborg/6 +Ingelbert/6 +Ingemar/6 +ingeniousness/7 +ingenious/28 +ingénue/9 +ingenuity/7 +ingenuous/75 +ingenuousness/7 +Inger/6 +Inge/114 +Ingersoll/6 +ingest/64 +ingestible +ingestion/7 +Inglebert/6 +inglenook/7 +Inglewood/6 +Inglis/6 +Ingmar/6 +ingoing +ingot/26 +ingrained/19 +Ingra/6 +Ingram/6 +ingrate/6 +ingratiate/15 +ingratiating/19 +ingratiation/6 +ingredient/7 +Ingres/6 +ingression/6 +ingress/7 +Ingrid/6 +Ingrim/6 +ingrown/42 +inguinal +Ingunna/6 +inhabitable/12 +inhabitance +inhabited/12 +inhabiter/6 +inhabit/164 +inhalant/9 +inhalation/7 +inhalator/7 +inhale/331 +inhere/47 +inherent/19 +inheritableness/6 +inheritable/42 +inheritance/85 +inherit/88 +inherited/25 +inheriting/25 +inheritor/9 +inheritress/7 +inheritrix/7 +inherits/25 +inhibit/64 +inhibited/12 +inhibiter's +inhibition/7 +inhibitor/7 +inhibitory +inhomogeneous +inhospitableness/6 +inhospitable/42 +inhospitality +Inigo/6 +inimical/19 +inimitableness/6 +inimitable/42 +inimitably +inion +iniquitousness/6 +iniquitous/28 +iniquity/7 +initialer/6 +initial/462 +initialization/14 +initializations +initialization's +initialize/36 +initialized/12 +initializer/9 +initiates +initiate/300 +initiating +initiation/7 +initiative/7 +initiator/7 +initiatory +injectable/12 +inject/160 +injection/7 +injector/7 +injunctive +injured/12 +injurer/6 +injure/23 +injuriousness/6 +injurious/28 +inkblot/7 +inker/6 +inkiness/7 +inkling/7 +inkstand/7 +inkwell/7 +inky/567 +ink/568 +inland +inlander/6 +inlay/569 +inletting +inline/81 +inly/224 +inmost +Inna/6 +innards +innateness/7 +innate/28 +innermost/9 +innersole/9 +innerspring +innervate/15 +innervation/6 +inner/19 +inning/6 +Innis/6 +innkeeper/7 +innocence/7 +Innocent/6 +innocent/280 +innocuousness/7 +innocuous/28 +innovate/24 +innovation/6 +innovative/42 +innovator/7 +innovatory +Innsbruck/6 +innuendo/26 +innumerability/6 +innumerableness/6 +innumerable/42 +innumerably +innumerate +inn/179 +inoculate/36 +inoculation/7 +inoculative +inoffensive/42 +Inonu/6 +inopportuneness/6 +inopportune/42 +inordinateness/6 +inordinate/28 +inorganic +inpatient +In/204 +input/570 +inquirer/6 +inquire/90 +inquiring/19 +inquiry/7 +inquisitional +inquisition/7 +Inquisition/7 +inquisitiveness/7 +inquisitive/28 +inquisitorial/19 +inquisitor/7 +INRI +inrush/6 +ins +INS +insalubrious +insanitary +insatiability/7 +insatiableness/6 +insatiable/42 +insatiably +inscribe/331 +inscription/7 +inscrutability/7 +inscrutableness/7 +inscrutable/42 +inscrutably +inseam +insecticidal +insecticide/7 +insectivore/7 +insectivorous +insecureness/6 +insecure/42 +inseminate/15 +insemination/6 +insensateness/6 +insensate/42 +insensible/42 +insentient +inseparable/9 +insert/36 +inserter/6 +insertion/48 +insetting +inshore +insider/6 +inside/331 +insidiousness/7 +insidious/28 +insightful/19 +insigne's +insignia/7 +insignificant +insinuate/24 +insinuating/19 +insinuation/6 +insinuator/7 +insipidity/7 +insipid/19 +insistence/7 +insistent/19 +insisting/19 +insist/17 +insociable +insofar +insole/6 +insolence/7 +insolent/16 +insolubleness/6 +insoluble/42 +insolubly +insomniac/9 +insomnia/7 +insomuch +insouciance/7 +insouciant/19 +inspect/36 +inspection/7 +inspective +inspectorate/7 +inspector/7 +inspirational/19 +inspiration/7 +inspired/12 +inspire/164 +inspirer/6 +inspiring/12 +inspirit/47 +Inst +installable +install/395 +installation/7 +installer/7 +installment/7 +instance/47 +instantaneousness/6 +instantaneous/28 +instantiated/12 +instantiate/15 +instantiation/6 +instant/571 +instate/36 +inst/277 +instead +instigate/24 +instigation/6 +instigator/7 +instillation/7 +instinctive/19 +instinctual +instinct/76 +instituter/6 +institutes/6 +institute/307 +institutionalism/6 +institutionalist/6 +institutionalization/7 +institutionalize/17 +institutional/19 +institution/118 +institutor's +instr +instruct/64 +instructed/12 +instructional +instruction/7 +instructiveness/6 +instructive/28 +instructor/7 +instrumentalist/7 +instrumentality/7 +instrumental/16 +instrumentation/7 +instrument/26 +insubordinate +insubstantial +insufferable +insufferably +insularity/7 +insular/16 +insulate/15 +insulated/12 +insulation/6 +insulator/7 +insulin/7 +insult/31 +insulter/6 +insulting/19 +insuperable +insuperably +insupportableness/6 +insupportable/42 +insurance/7 +insurance's/14 +insure/572 +insured/9 +insurer/6 +insurgence/7 +insurgency/7 +insurgent/7 +insurmountably +insurrectionist/7 +insurrection/7 +intactness/6 +intact/42 +intaglio/26 +intake/6 +intangible/6 +integer/7 +integrability/6 +integrable +integral/65 +integrand/7 +integrate/573 +integration/154 +integrative/25 +integrator/7 +integrity/7 +integument/7 +intellective/19 +intellect/76 +intellectualism/7 +intellectuality/6 +intellectualize/17 +intellectualness/6 +intellectual/46 +intelligence/175 +intelligencer/6 +intelligentsia/7 +intelligent/10 +intelligibilities +intelligibility/135 +intelligibleness/135 +intelligible/236 +intelligibly/12 +Intel/6 +Intelsat/6 +intemperate/42 +intendant/7 +intendedness/6 +intended/46 +intender/6 +intensification/6 +intensifier/6 +intensify/115 +intensional/19 +intensiveness/7 +intensive/46 +intentionality/6 +intentional/10 +intention/56 +intentness/7 +intent/28 +interaction/7 +interactive/28 +interactivity +interact/64 +interaxial +interbank +interbred +interbreed/166 +intercalate/79 +intercalation/6 +intercase +intercaste +interceder/6 +intercede/31 +intercensal +intercept/17 +interception/7 +interceptor/7 +intercession/7 +intercessor/7 +intercessory +interchangeability/6 +interchangeableness/6 +interchangeable/42 +interchangeably +interchange/187 +interchanger/6 +intercity +interclass +intercohort +intercollegiate +intercommunicate/15 +intercommunication/6 +intercom/7 +interconnectedness/6 +interconnected/42 +interconnect/17 +interconnection/7 +interconnectivity +intercontinental +interconversion/6 +intercorrelated +intercourse/7 +Interdata/6 +interdenominational +interdepartmental/19 +interdependence/7 +interdependency/7 +interdependent/19 +interdiction/7 +interdict/163 +interdisciplinary +interested/574 +interest/74 +interestingly/12 +interestingness/6 +interesting/28 +inter/575 +interface/111 +interfacing/6 +interfaith +interference/7 +interferer/6 +interfere/31 +interfering/19 +interferometer/7 +interferometric +interferometry/6 +interferon/7 +interfile/17 +intergalactic +intergenerational +intergeneration/6 +interglacial +intergovernmental +intergroup +interim/9 +interindex +interindustry +interior/65 +interj +interject/17 +interjectional +interjection/7 +interlace/17 +interlard/17 +interlayer/224 +interleave/17 +interleukin/9 +interlibrary +interlinear/9 +interline/71 +interlingual +interlingua/6 +interlining/6 +interlink/17 +interlisp/6 +interlobular +interlocker/6 +interlock/31 +interlocutor/7 +interlocutory +interlope/23 +interloper/6 +interlude/26 +intermarriage/7 +intermarry/17 +intermediary/7 +intermediateness/6 +intermediate/576 +intermediation/6 +interment/85 +intermeshed +intermetrics +intermezzi +intermezzo/7 +interminably +intermingle/17 +intermission/7 +intermittent/19 +intermix/31 +intermodule +intermolecular/19 +internalization/7 +internalize/17 +internal/16 +Internationale/6 +internationalism/7 +internationalist/7 +internationality/6 +internationalization/7 +internationalize/17 +international/16 +internecine +internee/7 +interne's +internet/6 +INTERNET/6 +internetwork +internist/7 +intern/329 +internment/7 +internship/7 +internuclear +interocular +interoffice +interoperability +interpenetrates +interpersonal/19 +interplanetary +interplay/26 +interpol +interpolate/577 +interpolation/6 +Interpol/6 +interpose/31 +interposer/6 +interposition/7 +interpretable/12 +interpret/36 +interpretation/48 +interpretative/19 +interpreted/12 +interpreter/7 +interpretive/19 +interpretor/9 +interprocess +interprocessor +interquartile +interracial +interred/25 +interregional +interregnum/7 +interrelatedness/6 +interrelated/28 +interrelate/15 +interrelation/6 +interrelationship/7 +interring/25 +interrogate/24 +interrogation/6 +interrogative/16 +interrogator/7 +interrogatory/9 +interrupted/12 +interrupter/6 +interruptibility +interruptible +interruption/7 +interrupt/349 +interscholastic +intersect/17 +intersection/7 +intersession/7 +interspecies +intersperse/15 +interspersion/6 +interstage +interstate/9 +interstellar +interstice/7 +interstitial/16 +intersurvey +intertask +intertwine/17 +interurban/9 +interval/7 +intervene/31 +intervener/6 +intervenor/6 +interventionism/7 +interventionist/9 +intervention/7 +interview/578 +interviewed/12 +interviewee/7 +interviewer/7 +interviewing +interviews +intervocalic +interweave/166 +interwove +interwoven +intestacy/7 +intestinal/19 +intestine/7 +inti +intifada +intimacy/7 +intimal +intimateness/6 +intimater/6 +intimate/409 +intimation/6 +intimidate/15 +intimidating/19 +intimidation/6 +into +intolerableness/6 +intolerable/42 +intolerant/144 +intonate/107 +intonation/6 +intoxicant/7 +intoxicate/15 +intoxicated/19 +intoxication/6 +intra +intracellular +intracity +intraclass +intracohort +intractability/6 +intractableness/6 +intractable/42 +intradepartmental +intrafamily +intragenerational +intraindustry +intraline +intrametropolitan +intramural/19 +intramuscular/19 +intranasal +intransigence/7 +intransigent/16 +intransitive/9 +intraoffice +intraprocess +intrapulmonary +intraregional +intrasectoral +intrastate +intratissue +intrauterine +intravenous/16 +intrepidity/7 +intrepidness/6 +intrepid/28 +intricacy/7 +intricateness/6 +intricate/28 +intrigue/23 +intriguer/6 +intriguing/19 +intrinsically +intrinsic/9 +introduce/36 +introducer/6 +introduction/48 +introductory +introit/7 +introject/142 +intro/9 +introspection/7 +introspectiveness/6 +introspective/28 +introspect/64 +introversion/7 +introvert/26 +intruder/6 +intrude/23 +intrusion/7 +intrusiveness/7 +intrusive/46 +intubate/55 +intubation/6 +intuit/160 +intuitionist/6 +intuitiveness/7 +intuitive/28 +int/90 +Inuit/7 +inundate/579 +inundation/6 +inure/17 +invader/6 +invade/23 +invalid/26 +invalidism/7 +invariable/42 +invariant/6 +invasion/7 +invasive/42 +invectiveness/6 +invective/32 +inveigh/52 +inveigher/6 +inveighs +inveigle/23 +inveigler/6 +invent/36 +invented/12 +invention/48 +inventiveness/7 +inventive/28 +inventor/7 +inventory/26 +Inverness/6 +inverse/580 +inverter/6 +invertible +invert/23 +invest/102 +investigate/24 +investigation/118 +investigator/7 +investigatory +investiture/7 +investment/143 +investment's/14 +investor/7 +inveteracy/7 +inveterate/19 +inviability +invidiousness/7 +invidious/28 +invigilate/47 +invigilator/7 +invigorate/293 +invigorating/19 +invigoration/118 +invigorations +invincibility/7 +invincibleness/6 +invincible/42 +invincibly +inviolability/7 +inviolably +inviolateness/6 +inviolate/28 +inviscid +invisibleness/6 +invisible/9 +invitational/9 +invitation/7 +invited/12 +invitee/9 +inviter/6 +invite/31 +inviting/19 +invocable +invocate +invoked/14 +invoke/67 +invoker/6 +invokes/14 +involuntariness/9 +involuntary/42 +involute/463 +involution/6 +involutorial +involvedly +involved/12 +involve/8 +involvement/7 +involver/6 +invulnerability/6 +invulnerableness/6 +inwardness/6 +inward/28 +ioctl +iodate/219 +iodation/6 +iodide/7 +iodinate/454 +iodine/7 +iodize/17 +Iolande/6 +Iolanthe/6 +Io/6 +Iona/6 +Ionesco/6 +Ionian/6 +ionic/9 +Ionic/9 +ionization's +ionization/302 +ionized/156 +ionize/581 +ionizer's +ionizer/302 +ionizes/12 +ionizing/12 +ionosphere/7 +ionospheric +ion's/45 +ion/41 +Iorgo/7 +Iormina/6 +Iosep/6 +iota/7 +IOU +Iowan/9 +Iowa/7 +IPA +ipecac/7 +Iphigenia/6 +ipso +Ipswich/6 +IQ +Iqbal/6 +Iquitos/6 +Ira/6 +Iranian/7 +Iran/6 +Iraqi/7 +Iraq/6 +IRA/9 +irascibility/7 +irascible +irascibly +irateness/9 +irate/33 +ireful +Ireland/6 +ire/26 +Irena/6 +Irene/6 +irenic/9 +iridescence/7 +iridescent/19 +irides/6 +iridium/7 +irids +Irina/6 +Iris +iris/26 +Irishman/6 +Irishmen +Irish/164 +Irishwoman/6 +Irishwomen +Irita/6 +irk/17 +irksomeness/7 +irksome/28 +Irkutsk/6 +Ir/6 +Irma/6 +ironclad/9 +iron/582 +ironer/6 +ironic +ironicalness/6 +ironical/28 +ironing/6 +ironmonger/6 +ironmongery/6 +ironside/7 +ironstone/7 +ironware/7 +ironwood/7 +ironworker/6 +ironwork/175 +irony/7 +Iroquoian/7 +Iroquois/6 +irradiate/24 +irradiation/6 +irrationality/7 +irrationalness/6 +irrational/46 +Irrawaddy/6 +irreclaimable +irreconcilability/7 +irreconcilableness/6 +irreconcilable/144 +irreconcilably +irrecoverableness/6 +irrecoverable/42 +irrecoverably +irredeemable/9 +irredeemably +irredentism/6 +irredentist/6 +irreducibility/6 +irreducible +irreducibly +irreflexive +irrefutable +irrefutably +irregardless +irregularity/7 +irregular/16 +irrelevance/7 +irrelevancy/7 +irrelevant/19 +irreligious +irremediableness/6 +irremediable/42 +irremediably +irremovable +irreparableness/6 +irreparable/42 +irreparably +irreplaceable/42 +irrepressible +irrepressibly +irreproachableness/6 +irreproachable/42 +irreproachably +irreproducibility +irreproducible +irresistibility/6 +irresistibleness/6 +irresistible/42 +irresistibly +irresoluteness/7 +irresolute/168 +irresolution/6 +irresolvable +irrespective/19 +irresponsibility/7 +irresponsibleness/6 +irresponsible/144 +irresponsibly +irretrievable +irretrievably +irreverence/7 +irreverent/19 +irreversible +irreversibly +irrevocableness/6 +irrevocable/42 +irrevocably +irrigable +irrigate/15 +irrigation/6 +irritability/7 +irritableness/6 +irritable/42 +irritably +irritant/9 +irritate/24 +irritated/19 +irritating/19 +irritation/6 +irrupt/64 +irruption/7 +IRS +Irtish/6 +Irvine/6 +Irving/6 +Irvin/6 +Irv/207 +Irwin/6 +Irwinn/6 +is +i's +Isaac/7 +Isaak/6 +Isabelita/6 +Isabella/6 +Isabelle/6 +Isabel/6 +Isacco/6 +Isac/6 +Isadora/6 +Isadore/6 +Isador/6 +Isahella/6 +Isaiah/6 +Isak/6 +Isa/6 +ISBN +Iscariot/6 +Iseabal/6 +Isfahan/6 +Isherwood/6 +Ishim/6 +Ishmael/6 +Ishtar/6 +Isiahi/6 +Isiah/6 +Isidora/6 +Isidore/6 +Isidor/6 +Isidoro/6 +Isidro/6 +isinglass/7 +Isis/6 +Islamabad/6 +Islamic/9 +Islam/7 +islander/6 +island/49 +Islandia/6 +isle/7 +islet/7 +isl/47 +Ismael/6 +ism/186 +isn't +ISO +isobaric +isobar/7 +Isobel/6 +isochronal/19 +isochronous/19 +isocline/6 +isocyanate/6 +isodine +isolate/15 +isolationism/7 +isolationistic +isolationist/7 +isolation/6 +isolator/7 +Isolde/6 +isomeric +isomerism/7 +isomer/7 +isometrically +isometric/9 +isometrics/6 +isomorphic +isomorphically +isomorphism/7 +isomorph/6 +isoperimetrical +isopleth/6 +isopleths +isosceles +isostatic +isothermal/19 +isotherm/7 +isotonic +isotope/7 +isotopic +isotropic +isotropically +isotropy/6 +Ispahan's +ispell/6 +Ispell/6 +Israeli/7 +Israelite/7 +Israel/7 +Issac/6 +Issiah/6 +Issie/6 +Issi/6 +issuable +issuance/7 +issuant +issued/14 +issue/49 +issuer/48 +issues/14 +issuing/14 +Issy/6 +Istanbul/6 +isthmian/9 +isthmus/7 +Istvan/6 +Isuzu/6 +It +IT +Itaipu/6 +ital +Italianate/17 +Italian/7 +italicization/7 +italicized/12 +italicize/17 +italic/9 +Ital/6 +Italy/6 +Itasca/6 +itch/26 +itchiness/7 +Itch/6 +itchy/98 +ITcorp/6 +ITCorp/6 +it'd +Itel/6 +itemization/7 +itemized/12 +itemize/23 +itemizer/6 +itemizes/14 +item/26 +iterate/583 +iteration/6 +iterative/158 +iterator/7 +Ithaca/6 +Ithacan +itinerant/16 +itinerary/7 +it'll +it/41 +Ito/6 +its +itself +ITT +IUD/9 +IV +Iva/6 +Ivanhoe/6 +Ivan/6 +Ivar/6 +I've +Ive/175 +Iver/6 +Ivette/6 +Ivett/6 +Ivie/6 +iv/6 +Ivonne/6 +Ivor/6 +Ivory/6 +ivory/7 +IVs +Ivy/6 +ivy/56 +ix +Izaak/6 +Izabel/6 +Izak/6 +Izanagi/6 +Izanami/6 +Izhevsk/6 +Izmir/6 +Izvestia/6 +Izzy/6 +jabbed +jabberer/6 +jabber/179 +jabbing +Jabez/6 +Jablonsky/6 +jabot/7 +jab/7 +jacaranda/7 +Jacenta/6 +Jacinda/6 +Jacinta/6 +Jacintha/6 +Jacinthe/6 +jackal/7 +jackass/7 +jackboot/56 +jackdaw/7 +Jackelyn/6 +jacketed/12 +jacket/26 +jack/111 +jackhammer/26 +Jackie/6 +Jacki/6 +jackknife/26 +jackknives +Jacklin/6 +Jacklyn/6 +Jack/6 +Jackman/6 +jackpot/7 +Jackqueline/6 +Jackquelin/6 +jackrabbit/17 +Jacksonian +Jackson/7 +Jacksonville/6 +jackstraw/7 +Jacky/6 +Jaclin/6 +Jaclyn/6 +Jacobean +Jacobian/6 +Jacobi/6 +Jacobin/6 +Jacobite/6 +Jacobo/6 +Jacobsen/6 +Jacob/7 +Jacobs/122 +Jacobson/6 +Jacobus +Jacoby/6 +jacquard/7 +Jacquard/7 +Jacqueline/6 +Jacquelin/6 +Jacquelyn/6 +Jacquelynn/6 +Jacquenetta/6 +Jacquenette/6 +Jacques/6 +Jacquetta/6 +Jacquette/6 +Jacquie/6 +Jacqui/6 +jacuzzi +Jacuzzi/9 +Jacynth/6 +Jada/6 +jadedness/7 +jaded/28 +jadeite/7 +Jade/6 +jade/26 +Jaeger/6 +Jae/6 +jaggedness/7 +jagged/33 +Jagger/6 +jaggers +jagging +jag/9 +jaguar/7 +jailbird/7 +jailbreak/7 +jailer/6 +jail/49 +Jaime/6 +Jaimie/6 +Jaine/6 +Jainism/6 +Jain/6 +Jaipur/6 +Jakarta/6 +Jake/7 +Jakie/6 +Jakob/6 +jalapeńo/9 +jalopy/7 +jalousie/7 +Jamaal/6 +Jamaica/6 +Jamaican/9 +Jamal/6 +Jamar/6 +jambalaya/7 +jamb/26 +jamboree/7 +Jamel/6 +Jame/7 +Jameson/6 +Jamestown/6 +Jamesy/6 +Jamey/6 +Jamie/6 +Jamill/6 +Jamil/6 +Jami/6 +Jamima/6 +Jamison/6 +Jammal/6 +jammed/12 +Jammie/6 +jamming/12 +jam/7 +Janacek/6 +Jana/6 +Janaya/6 +Janaye/6 +Jandy/6 +Janean/6 +Janeczka/6 +Janeen/6 +Janeiro/6 +Janek/6 +Janela/6 +Janella/6 +Janelle/6 +Janell/6 +Janel/6 +Jane/6 +Janene/6 +Janenna/6 +Janessa/6 +Janesville/6 +Janeta/6 +Janet/6 +Janetta/6 +Janette/6 +Janeva/6 +Janey/6 +jangler/6 +jangle/23 +jangly +Jania/6 +Janice/6 +Janie/6 +Janifer/6 +Janina/6 +Janine/6 +Janis/6 +janissary/7 +Janith/6 +janitorial +janitor/7 +Janka/6 +Jan/6 +Janna/6 +Jannelle/6 +Jannel/6 +Jannie/6 +Janos/6 +Janot/6 +Jansenist/6 +Jansen/6 +January/7 +Janus/6 +Jany/6 +Japanese/7 +Japan/6 +japanned +japanner +japanning +japan/7 +jape/26 +Japura/6 +Jaquelin/6 +Jaquelyn/6 +Jaquenetta/6 +Jaquenette/6 +Jaquith/6 +Jarad/6 +jardiničre/7 +Jard/6 +Jareb/6 +Jared/6 +jarful/9 +jargon/26 +Jarib/6 +Jarid/6 +Jarlsberg +jar/7 +Jarrad/6 +jarred +Jarred/6 +Jarret/6 +Jarrett/6 +Jarrid/6 +jarring/16 +Jarrod/6 +Jarvis/6 +Jase/6 +Jasen/6 +Jasmina/6 +Jasmine/6 +jasmine/7 +Jasmin/6 +Jason/6 +Jasper/6 +jasper/7 +Jastrow/6 +Jasun/6 +jato/7 +jaundice/26 +jaundiced/12 +jauntily +jauntiness/7 +jaunt/26 +jaunty/177 +Javanese +JavaScript/6 +Java/7 +javelin/26 +Javier/6 +jawbone/26 +jawbreaker/7 +jawline +jaw/26 +Jaxartes/6 +Jayapura/6 +jaybird/7 +Jaycee/7 +Jaye/6 +Jay/6 +Jaymee/6 +Jayme/6 +Jaymie/6 +Jaynell/6 +Jayne/6 +jay/7 +Jayson/6 +jaywalker/6 +jaywalk/179 +Jazmin/6 +jazziness/6 +jazzmen +jazz/26 +jazzy/98 +JCS +jct +JD +Jdavie/6 +jealousness/6 +jealous/28 +jealousy/7 +Jeana/6 +Jeanelle/6 +Jeane/6 +Jeanette/6 +Jeanie/6 +Jeanine/6 +Jean/6 +jean/7 +Jeanna/6 +Jeanne/6 +Jeannette/6 +Jeannie/6 +Jeannine/6 +Jecho/6 +Jedd/6 +Jeddy/6 +Jedediah/6 +Jedidiah/6 +Jedi/6 +Jed/6 +jeep/453 +Jeep/9 +jeerer/6 +jeering/19 +jeer/211 +Jeeves/6 +jeez +Jefferey/6 +Jeffersonian/9 +Jefferson/6 +Jeffery/6 +Jeffie/6 +Jeff/6 +Jeffrey/7 +Jeffry/6 +Jeffy/6 +jehad's +Jehanna/6 +Jehoshaphat/6 +Jehovah/6 +Jehu/6 +jejuna +jejuneness/6 +jejune/28 +jejunum/6 +Jekyll/6 +Jelene/6 +jell/17 +Jello/6 +jello's +jellybean/7 +jellyfish/7 +jellying/6 +jellylike +jellyroll/9 +jelly/26 +Jemie/6 +Jemimah/6 +Jemima/6 +Jemmie/6 +jemmy/6 +Jemmy/6 +Jena/6 +Jenda/6 +Jenelle/6 +Jenica/6 +Jeniece/6 +Jenifer/6 +Jeniffer/6 +Jenilee/6 +Jeni/6 +Jenine/6 +Jenkins/6 +Jen/6 +Jenna/6 +Jennee/6 +Jenner/6 +jennet/7 +Jennette/6 +Jennica/6 +Jennie/6 +Jennifer/6 +Jennilee/6 +Jenni/6 +Jennine/6 +Jennings/6 +Jenn/584 +Jenny/6 +jenny/7 +Jeno/6 +Jensen/6 +Jens/122 +jeopard +jeopardize/17 +jeopardy/7 +Jephthah/6 +Jerad/6 +Jerald/6 +Jeralee/6 +Jeramey/6 +Jeramie/6 +Jere/6 +Jereme/6 +jeremiad/7 +Jeremiah/6 +Jeremiahs +Jeremias/6 +Jeremie/6 +Jeremy/6 +Jericho/6 +Jeri/6 +jerker/6 +jerk/187 +jerkily +jerkiness/7 +jerkin/7 +jerkwater/9 +jerky/177 +Jermaine/6 +Jermain/6 +Jermayne/6 +Jeroboam/6 +Jerold/6 +Jerome/6 +Jeromy/6 +Jerrie/6 +Jerrilee/6 +Jerrilyn/6 +Jerri/6 +Jerrine/6 +Jerrod/6 +Jerrold/6 +Jerrome/6 +jerrybuilt +Jerrylee/6 +jerry/6 +Jerry/6 +jersey/7 +Jersey/7 +Jerusalem/6 +Jervis/6 +Jes +Jessalin/6 +Jessalyn/6 +Jessa/6 +Jessamine/6 +jessamine's +Jessamyn/6 +Jessee/6 +Jesselyn/6 +Jesse/6 +Jessey/6 +Jessica/6 +Jessie/6 +Jessika/6 +Jessi/6 +jess/6 +Jess/6 +Jessy/6 +jest/49 +jester/6 +jesting/19 +Jesuit/7 +Jesus +Jeth/6 +Jethro/6 +jetliner/7 +jet/7 +jetport/7 +jetsam/7 +jetted/6 +jetting/6 +jettison/17 +jetty/172 +jeweler/6 +jewelery/9 +jewel/49 +Jewelled/6 +Jewelle/6 +jewellery's +Jewell/170 +Jewel/6 +jewelry/7 +Jewess/7 +Jewishness/7 +Jewish/42 +Jew/7 +Jewry/7 +Jezebel/7 +j/278 +JFK/6 +jg/6 +jibbed +jibbing +jibe/9 +jib/26 +Jidda/6 +jiff/9 +jiffy/7 +jigged +jigger/26 +jigging/6 +jiggle/17 +jiggly/54 +jig/7 +jigsaw/26 +jihad/7 +Jilin +Jillana/6 +Jillane/6 +Jillayne/6 +Jilleen/6 +Jillene/6 +Jillian/6 +Jillie/6 +Jilli/6 +Jill/6 +Jilly/6 +jilt/31 +jilter/6 +Jimenez/6 +Jim/6 +Jimmie/6 +jimmy/26 +Jimmy/6 +jimsonweed/9 +Jinan +jingler/6 +jingle/31 +jingly/54 +jingoism/7 +jingoistic +jingoist/7 +jingo/6 +Jinnah/6 +jinni's +jinn/7 +Jinny/6 +jinrikisha/7 +jinx/26 +jitney/7 +jitterbugged +jitterbugger +jitterbugging +jitterbug/7 +jitter/9 +jittery/54 +jiujitsu's +Jivaro/6 +jive/26 +Joachim/6 +Joana/6 +Joane/6 +Joanie/6 +Joan/6 +Joanna/6 +Joanne/7 +Joann/6 +Joaquin/6 +jobbed +jobber/7 +jobbery/6 +jobbing/6 +Jobey/6 +jobholder/7 +Jobie/6 +Jobi/6 +Jobina/6 +joblessness/7 +jobless/42 +Jobrel/6 +job/7 +Job/7 +Jobye/6 +Joby/6 +Jobyna/6 +Jocasta/6 +Joceline/6 +Jocelin/6 +Jocelyne/6 +Jocelyn/6 +jockey/26 +jock/26 +Jock/6 +Jocko/6 +jockstrap/7 +jocoseness/7 +jocose/28 +jocosity/7 +jocularity/7 +jocular/19 +jocundity/7 +jocund/19 +Jodee/6 +jodhpurs +Jodie/6 +Jodi/6 +Jody/6 +Joeann/6 +Joela/6 +Joelie/6 +Joella/6 +Joelle/6 +Joellen/6 +Joell/72 +Joelly/6 +Joellyn/6 +Joel/86 +Joelynn/6 +Joe/6 +Joesph/6 +Joete/6 +joey/6 +Joey/6 +jogged +jogger/7 +jogging/9 +joggler/6 +joggle/31 +Jogjakarta/6 +jog/9 +Johan/6 +Johannah/6 +Johanna/6 +Johannes +Johannesburg/6 +Johann/6 +Johansen/6 +Johanson/6 +Johna/140 +Johnathan/6 +Johnath/6 +Johnathon/6 +Johnette/6 +Johnie/6 +Johnna/6 +Johnnie/6 +johnnycake/7 +Johnny/6 +johnny/7 +Johnsen/6 +john/7 +John/7 +Johns/122 +Johnson/6 +Johnston/6 +Johnstown/6 +Johny/6 +Joice/6 +join/585 +joined/12 +joiner/276 +joinery/7 +jointed/361 +jointedness/82 +joint/586 +jointer/6 +jointly/278 +joint's +jointures +joist/26 +Jojo/6 +joke/49 +joker/6 +jokey +jokier +jokiest +jokily +joking/19 +Jolee/6 +Joleen/6 +Jolene/6 +Joletta/6 +Jolie/6 +Joliet's +Joli/6 +Joline/6 +Jolla/6 +jollification/7 +jollily +jolliness/7 +jollity/7 +jolly/226 +Jolson/6 +jolt/23 +jolter/6 +Joly/6 +Jolyn/6 +Jolynn/6 +Jo/86 +Jonah/6 +Jonahs +Jonas +Jonathan/6 +Jonathon/6 +Jonell/6 +Jone/7 +Jones/9 +Jonie/6 +Joni/7 +Jon/6 +jonquil/7 +Jonson/6 +Joplin/6 +Jordain/6 +Jordana/6 +Jordanian/9 +Jordan/6 +Jordanna/6 +Jordon/6 +Jorey/6 +Jorgan/6 +Jorge/6 +Jorgensen/6 +Jorgenson/6 +Jorie/6 +Jori/6 +Jorrie/6 +Jorry/6 +Jory/6 +Joscelin/6 +Josee/6 +Josefa/6 +Josefina/6 +Josef/6 +Joseito/6 +Jose/6 +Josepha/6 +Josephina/6 +Josephine/6 +Joseph/6 +Josephs +Josephson/6 +Josephus/6 +Josey/6 +josh/23 +josher/6 +Joshia/6 +Josh/6 +Joshuah/6 +Joshua/6 +Josiah/6 +Josias/6 +Josie/6 +Josi/6 +Josselyn/6 +joss/6 +jostle/17 +Josue/6 +Josy/6 +jot/9 +jotted +jotter/7 +jotting/7 +Joule/6 +joule/7 +jounce/17 +jouncy/54 +Jourdain/6 +Jourdan/6 +journalese/7 +journal/26 +journalism/7 +journalistic +journalist/7 +journalize/23 +journalized/12 +journalizer/6 +journey/91 +journeyer/6 +journeyman/6 +journeymen +jouster/6 +joust/49 +Jovanovich/6 +Jove/6 +joviality/7 +jovial/19 +Jovian +jowl/56 +jowly/54 +Joya/6 +Joyan/6 +Joyann/6 +Joycean +Joycelin/6 +Joyce/6 +Joye/6 +joyfuller +joyfullest +joyfulness/7 +joyful/28 +joylessness/7 +joyless/28 +Joy/6 +joy/26 +Joyner/6 +joyousness/7 +joyous/28 +joyridden +joyride/198 +joyrode +joystick/9 +Jozef/6 +JP +Jpn +Jr/6 +j's +J's +Jsandye/6 +Juana/6 +Juanita/6 +Juan/6 +Juarez +Jubal/6 +jubilant/19 +jubilate/15 +jubilation/6 +jubilee/7 +Judah/6 +Judaic +Judaical +Judaism/7 +Judas/9 +juddered +juddering +Judd/6 +Judea/6 +Jude/6 +judge/36 +judger/6 +judge's +judgeship/7 +judgmental/19 +judgment/7 +judicable +judicatory/9 +judicature/7 +judicial/19 +judiciary/9 +judicious/68 +judiciousness/43 +Judie/6 +Judi/140 +Juditha/6 +Judith/6 +Jud/6 +judo/7 +Judon/6 +Judson/6 +Judye/6 +Judy/6 +jugate/278 +jugful/7 +jugged +Juggernaut/6 +juggernaut/7 +jugging +juggler/6 +juggle/23 +jugglery/7 +jug/7 +jugular/9 +juice/49 +juicer/6 +juicily +juiciness/7 +juicy/98 +Juieta/6 +jujitsu/7 +jujube/7 +juju/6 +jujutsu's +jukebox/7 +juke/166 +Julee/6 +Jule/7 +julep/7 +Julia/6 +Juliana/6 +Juliane/6 +Julian/6 +Julianna/6 +Julianne/6 +Juliann/6 +Julie/6 +julienne/17 +Julienne/6 +Julieta/6 +Juliet/6 +Julietta/6 +Juliette/6 +Juli/6 +Julina/6 +Juline/6 +Julio/6 +Julissa/6 +Julita/6 +Julius/6 +Jul/6 +Julys +July/7 +jumble/17 +jumbo/7 +jumper/6 +jump/23 +jumpily +jumpiness/7 +jumpsuit/9 +jumpy/98 +jun +junco/7 +junction/587 +juncture/276 +Juneau/6 +June/7 +Junette/6 +Jungfrau/6 +Jungian +jungle/56 +Jung/6 +Junia/6 +Junie/6 +Junina/6 +juniority/6 +junior/7 +Junior/9 +juniper/7 +junkerdom +Junker/7 +junketeer/26 +junket/26 +junk/49 +junkie/80 +junkyard/7 +Jun/6 +Juno/6 +junta/7 +Jupiter/6 +Jurassic +juridic +juridical/19 +juried +jurisdictional/19 +jurisdiction/7 +jurisprudence/7 +jurisprudent +jurisprudential/19 +juristic +jurist/7 +juror/7 +Jurua/6 +jury/43 +jurying +juryman/6 +jurymen +jurywoman/6 +jurywomen +justed +Justen/6 +juster/6 +justest +Justice/6 +justice/43 +justiciable +justifiability/6 +justifiable/12 +justifiably/12 +justification/6 +justified/13 +justifier/6 +justify/115 +Justina/6 +Justine/6 +justing +Justinian/6 +Justin/6 +Justinn/6 +Justino/6 +Justis/6 +justness/7 +justness's/12 +justs +just/161 +Justus/6 +jute/7 +Jutish +Jutland/6 +jut/9 +jutted +jutting +Juvenal/6 +juvenile/7 +juxtapose/17 +juxtaposition/7 +JV +J/588 +Jyoti/6 +Kaaba/6 +kabob/7 +kaboom +Kabuki +kabuki/7 +Kabul/6 +Kacey/6 +Kacie/6 +Kacy/6 +Kaddish/6 +kaddish/9 +Kaela/6 +kaffeeklatch +kaffeeklatsch/9 +Kafkaesque +Kafka/6 +kaftan's +Kagoshima/6 +Kahaleel/6 +Kahlil/6 +Kahlua/6 +Kahn/6 +Kaia/6 +Kaifeng/6 +Kaila/6 +Kaile/6 +Kailey/6 +Kai/6 +Kaine/6 +Kain/6 +kaiser/7 +Kaiser/7 +Kaitlin/6 +Kaitlyn/6 +Kaitlynn/6 +Kaja/6 +Kajar/6 +Kakalina/6 +Kalahari/6 +Kala/6 +Kalamazoo/6 +Kalashnikov/6 +Kalb/6 +Kaleb/6 +Kaleena/6 +kaleidescope +kaleidoscope/7 +kaleidoscopic +kaleidoscopically +Kale/6 +kale/7 +Kalgoorlie/6 +Kalie/6 +Kalila/6 +Kalil/6 +Kali/6 +Kalina/6 +Kalinda/6 +Kalindi/6 +Kalle/6 +Kalli/6 +Kally/6 +Kalmyk +Kalvin/6 +Kama/6 +Kamchatka/6 +Kamehameha/6 +Kameko/6 +Kamikaze/7 +kamikaze/7 +Kamilah/6 +Kamila/6 +Kamillah/6 +Kampala/6 +Kampuchea/6 +Kanchenjunga/6 +Kandace/6 +Kandahar/6 +Kandinsky/6 +Kandy/6 +Kane/6 +kangaroo/26 +Kania/6 +Kankakee/6 +Kan/7 +Kannada/6 +Kano/6 +Kanpur/6 +Kansan/9 +Kansas +Kantian +Kant/6 +Kanya/6 +Kaohsiung/6 +kaolinite/6 +kaolin/7 +Kaplan/6 +kapok/7 +Kaposi/6 +kappa/7 +kaput/6 +Karachi/6 +Karaganda/6 +Karakorum/6 +karakul/7 +Karalee/6 +Karalynn/6 +Kara/6 +Karamazov/6 +karaoke/9 +karate/7 +karat/7 +Karee/6 +Kareem/6 +Karel/6 +Kare/6 +Karena/6 +Karenina/6 +Karen/6 +Karia/6 +Karie/6 +Karil/6 +Karilynn/6 +Kari/6 +Karim/6 +Karina/6 +Karine/6 +Karin/6 +Kariotta/6 +Karisa/6 +Karissa/6 +Karita/6 +Karla/6 +Karlan/6 +Karlee/6 +Karleen/6 +Karlene/6 +Karlen/6 +Karlie/6 +Karlik/6 +Karlis +Karl/451 +Karloff/6 +Karlotta/6 +Karlotte/6 +Karly/6 +Karlyn/6 +karma/7 +Karmen/6 +karmic +Karna/6 +Karney/6 +Karola/6 +Karole/6 +Karolina/6 +Karoline/6 +Karol/6 +Karoly/6 +Karon/6 +Karo/86 +Karp/6 +Karrah/6 +Karrie/6 +Karroo/6 +Karry/6 +kart/7 +Karylin/6 +Karyl/6 +Kary/6 +Karyn/6 +Kasai/6 +Kasey/6 +Kashmir/7 +Kaspar/6 +Kasparov/6 +Kasper/6 +Kass +Kassandra/6 +Kassey/6 +Kassia/6 +Kassie/6 +Kassi/6 +katakana +Katalin/6 +Kata/6 +Katee/6 +Katelyn/6 +Kate/6 +Katerina/6 +Katerine/6 +Katey/6 +Katha/6 +Katharina/6 +Katharine/6 +Katharyn/6 +Kathe/6 +Katherina/6 +Katherine/6 +Katheryn/6 +Kathiawar/6 +Kathie/6 +Kathi/6 +Kathleen/6 +Kathlin/6 +Kath/6 +Kathmandu +Kathrine/6 +Kathryne/6 +Kathryn/6 +Kathye/6 +Kathy/6 +Katie/6 +Kati/6 +Katina/6 +Katine/6 +Katinka/6 +Katleen/6 +Katlin/6 +Kat/6 +Katmai/6 +Katmandu's +Katowice/6 +Katrina/6 +Katrine/6 +Katrinka/6 +Kattie/6 +Katti/6 +Katuscha/6 +Katusha/6 +Katya/6 +katydid/7 +Katy/6 +Katz/6 +Kauai/6 +Kauffman/6 +Kaufman/6 +Kaunas/6 +Kaunda/6 +Kawabata/6 +Kawasaki/6 +kayak/26 +Kaycee/6 +Kaye/6 +Kayla/6 +Kaylee/6 +Kayle/6 +Kayley/6 +Kaylil/6 +Kaylyn/6 +Kay/6 +Kayne/6 +kayo/26 +Kazakh/6 +Kazakhstan +Kazan/6 +Kazantzakis/6 +kazoo/7 +Kb +KB +KC +kcal/6 +kc/6 +KDE/6 +Keane/6 +Kean/6 +Kearney/6 +Keary/6 +Keaton/6 +Keats/6 +kebab/7 +Keck/6 +Keefe/114 +Keefer/6 +Keegan/6 +Keelby/6 +Keeley/6 +keel/111 +keelhaul/17 +Keelia/6 +Keely/6 +Keenan/6 +Keene/6 +keener/6 +keen/77 +keening/6 +Keen/6 +keenness/7 +keeper/6 +keep/210 +keeping/6 +keepsake/7 +Keewatin/6 +kegged +kegging +keg/7 +Keillor/6 +Keir/6 +Keisha/6 +Keith/6 +Kelbee/6 +Kelby/6 +Kelcey/6 +Kelcie/6 +Kelci/6 +Kelcy/6 +Kele/6 +Kelila/6 +Kellby/6 +Kellen/6 +Keller/6 +Kelley/6 +Kellia/6 +Kellie/6 +Kelli/6 +Kellina/6 +Kellogg/6 +Kellsie/6 +Kellyann/6 +Kelly/6 +kelp/453 +Kelsey/6 +Kelsi/6 +Kelsy/6 +Kelt's +Kelvin/6 +kelvin/7 +Kelwin/6 +Kemerovo/6 +Kempis/6 +Kemp/6 +Kendall/6 +Kendal/6 +Kendell/6 +Kendra/6 +Kendre/6 +Kendrick/7 +Kenilworth/6 +Ken/6 +Kenmore/6 +ken/7 +Kenna/6 +Kennan/6 +Kennecott/6 +kenned +Kennedy/6 +kennel/26 +Kenneth/6 +Kennett/6 +Kennie/6 +kenning +Kennith/6 +Kenn/6 +Kenny/6 +keno/6 +Kenon/6 +Kenosha/6 +Kensington/6 +Kent/6 +Kenton/6 +Kentuckian/9 +Kentucky/6 +Kenya/6 +Kenyan/9 +Kenyatta/6 +Kenyon/6 +Keogh/6 +Keokuk/6 +kepi/7 +Kepler/6 +kept +keratin/7 +kerbside +Kerby/6 +kerchief/26 +Kerensky/6 +Kerianne/6 +Keriann/6 +Keri/6 +Kerk/6 +Ker/6 +Kermie/6 +Kermit/6 +Kermy/6 +kerned +kernel/26 +kerning +Kern/6 +kerosene/7 +Kerouac/6 +Kerrie/6 +Kerrill/6 +Kerri/6 +Kerrin/6 +Kerr/6 +Kerry/6 +Kerstin/6 +Kerwin/6 +Kerwinn/6 +Kesley/6 +Keslie/6 +Kessiah/6 +Kessia/6 +Kessler/6 +kestrel/7 +ketch/7 +ketchup/7 +ketone/6 +ketosis/6 +Kettering/6 +Kettie/6 +Ketti/6 +kettledrum/7 +kettleful +kettle/7 +Ketty/6 +Kevan/6 +Keven/6 +Kevina/6 +Kevin/6 +Kevlar +Kev/72 +Kevon/6 +Kevorkian/6 +Kevyn/6 +Kewaskum/6 +Kewaunee/6 +Kewpie/6 +keyboardist/9 +keyboard/49 +keyclick/7 +keyhole/7 +Key/6 +Keynesian/6 +Keynes/6 +keynoter/6 +keynote/49 +keypad/7 +keypuncher/6 +keypunch/23 +keyring +key/26 +keystone/7 +keystroke/26 +keyword/7 +k/589 +kg +K/224 +KGB +Khabarovsk/6 +Khachaturian/6 +khaki/7 +Khalid/6 +Khalil/6 +Khan/6 +khan/7 +Kharkov/6 +Khartoum/6 +Khayyam/6 +Khmer/6 +Khoisan/6 +Khomeini/6 +Khorana/6 +Khrushchev/7 +Khufu/6 +Khulna/6 +Khwarizmi/6 +Khyber/6 +kHz/6 +KIA +Kiah/6 +Kial/6 +kibble/26 +kibbutzim +kibbutz/6 +kibitzer/6 +kibitz/23 +kibosh/26 +Kickapoo/6 +kickback/7 +kickball/7 +kicker/6 +kick/23 +kickoff/7 +kickstand/7 +kicky/54 +kidded +kidder/7 +kiddie/142 +kidding/86 +kiddish +Kidd/6 +kiddo/7 +kiddying +kiddy's +kidless +kid/7 +kidnaper's +kidnaping's +kidnap/590 +kidnapped +kidnapper/7 +kidnapping/9 +kidney/7 +kidskin/7 +Kieffer/6 +kielbasa/7 +kielbasi +Kiele/6 +Kiel/6 +Kienan/6 +kier/45 +Kierkegaard/6 +Kiersten/6 +Kieth/6 +Kiev/6 +Kigali/6 +Kikelia/6 +Kikuyu/6 +Kilauea/6 +Kile/6 +Kiley/6 +Kilian/6 +Kilimanjaro/6 +kill/234 +killdeer/7 +Killebrew/6 +killer/6 +Killian/6 +Killie/6 +killing/19 +killjoy/9 +Killy/6 +kiln/26 +kilobaud/6 +kilobit/9 +kilobuck +kilobyte/9 +kilocycle/7 +kilogauss/6 +kilogram/7 +kilohertz/6 +kilohm/6 +kilojoule/7 +kiloliter/7 +kilometer/7 +kilo/7 +kiloton/7 +kilovolt/7 +kilowatt/7 +kiloword +kilter/6 +kilt/49 +Ki/6 +Kimball/6 +Kimbell/6 +Kimberlee/6 +Kimberley/6 +Kimberli/6 +Kimberly/6 +Kimberlyn/6 +Kimble/6 +Kimbra/6 +Kim/6 +Kimmie/6 +Kimmi/6 +Kimmy/6 +kimono/7 +Kincaid/6 +kinda +kindergarten/7 +kindergärtner/7 +kinder/12 +kindheartedness/7 +kindhearted/28 +kindle/395 +kindler/6 +kindliness/7 +kindliness's/12 +kindling/6 +kindly/264 +kindness's +kindness/302 +kind/38 +kindred/9 +kinematic/9 +kinematics/6 +kinesics/6 +kine/7 +kinesthesis +kinesthetically +kinesthetic/9 +kinetically +kinetic/9 +kinetics/6 +kinfolk/9 +kingbird/6 +kingdom/7 +kingfisher/7 +kinglet/6 +kingliness/6 +kingly/98 +King/6 +kingpin/7 +Kingsbury/6 +king/116 +kingship/7 +Kingsley/6 +Kingsly/6 +Kingston/6 +Kingstown/6 +Kingwood/6 +kink/26 +kinkily +kinkiness/7 +kinky/98 +Kin/6 +kin/7 +Kinna/6 +Kinney/6 +Kinnickinnic/6 +Kinnie/6 +Kinny/6 +Kinsey/6 +kinsfolk/9 +Kinshasa/6 +Kinshasha/6 +kinship/7 +Kinsley/6 +kinsman/6 +kinsmen/6 +kinswoman/6 +kinswomen +kiosk/7 +Kiowa/7 +Kipling/6 +Kip/6 +kip/7 +Kippar/6 +kipped +kipper/26 +Kipper/6 +Kippie/6 +kipping +Kipp/114 +Kippy/6 +Kira/6 +Kirbee/6 +Kirbie/6 +Kirby/6 +Kirchhoff/6 +Kirchner/6 +Kirchoff/6 +Kirghistan/6 +Kirghizia/6 +Kirghiz/6 +Kiribati +Kiri/6 +Kirinyaga/6 +kirk/26 +Kirkland/6 +Kirk/6 +Kirkpatrick/6 +Kirkwood/6 +Kirov/6 +kirsch/9 +Kirsteni/6 +Kirsten/6 +Kirsti/6 +Kirstin/6 +Kirstyn/6 +Kisangani/6 +Kishinev/6 +kismet/7 +kiss/234 +Kissee/6 +kisser/6 +Kissiah/6 +Kissie/6 +Kissinger/6 +Kitakyushu/6 +kitbag's +kitchener/6 +Kitchener/6 +kitchenette/7 +kitchen/111 +kitchenware/7 +kiter/6 +kite/7 +kith/165 +kiths +Kit/6 +kit/111 +kitsch/7 +kitschy +kitted +kittenishness/6 +kittenish/28 +kitten/26 +Kittie/6 +Kitti/6 +kitting +kittiwakes +Kitty/6 +kitty/7 +Kiwanis/6 +kiwifruit/9 +kiwi/7 +Kizzee/6 +Kizzie/6 +KKK +kl +Klan/6 +Klansman/6 +Klara/6 +Klarika/6 +Klarrisa/6 +Klaus/6 +klaxon/6 +Klee/6 +Kleenex/7 +Klein/6 +Kleinrock/6 +Klemens/6 +Klement/6 +Kleon/6 +kleptomaniac/7 +kleptomania/7 +Kliment/6 +Kline/6 +Klingon/6 +Klondike/26 +kludger/6 +kludge/49 +kludgey +klutziness/9 +klutz/7 +klutzy/98 +Klux/6 +klystron/7 +km +kn +knacker/6 +knack/49 +knackwurst/7 +Knapp/6 +knapsack/7 +Knauer/6 +knavery/7 +knave/7 +knavish/19 +kneader/6 +knead/23 +kneecap/7 +kneecapped +kneecapping +knee/56 +kneeing +kneeler/6 +kneel/255 +kneepad/7 +knell/26 +knelt +Knesset/6 +knew +Kngwarreye/6 +Knickerbocker/7 +knickerbocker/9 +knickknack/7 +knick/90 +Knievel/6 +knife/26 +knighthood/7 +knightliness/7 +knightly/42 +Knight/6 +knight/116 +knish/7 +knit/13 +knits +knitted +knitter/7 +knitting/7 +knitwear/6 +knives/6 +knobbly +knobby/54 +Knobeloch/6 +knob/7 +knockabout/6 +knockdown/9 +knocker/6 +knock/179 +knockoff/9 +knockout/7 +knockwurst's +knoll/26 +Knopf/6 +Knossos/6 +knothole/7 +knot/7 +knotted +knottiness/6 +knotting/6 +knotty/98 +knowable/12 +knower/6 +know/591 +knowhow +knowingly/12 +knowing/93 +knowings/12 +knowledgeableness/6 +knowledgeable/42 +knowledgeably +knowledge/7 +Knowles +known/302 +Knox/6 +Knoxville/6 +knuckleball/164 +knuckle/26 +knuckleduster +knucklehead/7 +Knudsen/6 +Knudson/6 +knurl/17 +Knuth/6 +Knutsen/6 +Knutson/6 +KO +koala/7 +Kobayashi/6 +Kobe/6 +Kochab/6 +Koch/6 +Kodachrome/6 +Kodak/7 +Kodaly/6 +Kodiak/6 +Koenig/6 +Koenigsberg/6 +Koenraad/6 +Koestler/6 +Kohinoor/6 +Kohler/6 +Kohl/114 +kohlrabies +kohlrabi/6 +kola/7 +Kolyma/6 +Kommunizma/6 +Kong/6 +Kongo/6 +Konrad/6 +Konstance/6 +Konstantine/6 +Konstantin/6 +Konstanze/6 +kookaburra/7 +kook/26 +kookiness/9 +kooky/98 +Koo/6 +Koontz/6 +kopeck/7 +Koppers/6 +Koralle/6 +Koral/6 +Kora/6 +Koranic +Koran/7 +Kordula/6 +Korea/6 +Korean/9 +Korella/6 +Kore/6 +Koren/6 +Koressa/6 +Korey/6 +Korie/6 +Kori/6 +Kornberg/6 +Korney/6 +Korrie/6 +Korry/6 +Kort/6 +Kory/6 +Korzybski/6 +Kosciusko/6 +kosher/17 +Kossuth/6 +Kosygin/6 +Kovacs/6 +Kowalewski/6 +Kowalski/6 +Kowloon/6 +kowtow/17 +KP +kph +kraal/26 +Kraemer/6 +kraft/6 +Kraft/6 +Krakatau's +Krakatoa/6 +Krakow/6 +Kramer/6 +Krasnodar/6 +Krasnoyarsk/6 +Krause/6 +kraut/252 +Krebs/6 +Kremlin/6 +Kremlinologist/7 +Kremlinology/7 +Kresge/6 +Krieger/6 +kriegspiel/6 +krill/7 +Kringle/6 +Krisha/6 +Krishnah/6 +Krishna/6 +Kris/6 +Krispin/6 +Krissie/6 +Krissy/6 +Kristal/6 +Krista/6 +Kristan/6 +Kristel/6 +Kriste/6 +Kristen/6 +Kristian/6 +Kristie/6 +Kristien/6 +Kristi/72 +Kristina/6 +Kristine/6 +Kristin/6 +Kristofer/6 +Kristoffer/6 +Kristofor/6 +Kristoforo/6 +Kristo/7 +Kristopher/6 +Kristy/6 +Kristyn/6 +Kr/6 +Kroc/6 +Kroger/6 +króna/6 +Kronecker/6 +krone/114 +kronor +krónur +Kropotkin/6 +Krueger/6 +Kruger/6 +Krugerrand/9 +Krupp/6 +Kruse/6 +krypton/7 +Krystalle/6 +Krystal/6 +Krysta/6 +Krystle/6 +Krystyna/6 +ks +K's +KS +k's/316 +kt +Kublai/6 +Kubrick/6 +kuchen/7 +kudos/6 +kudzu/7 +Kuenning/6 +Kuhn/6 +Kuibyshev/6 +Ku/6 +Kumar/6 +kumquat/7 +Kunming/6 +Kuomintang/6 +Kurdish/6 +Kurdistan/7 +Kurd/7 +Kurosawa/6 +Kurtis/6 +Kurt/6 +kurtosis/6 +Kusch/6 +Kuwaiti/7 +Kuwait/6 +Kuznetsk/6 +Kuznets/6 +kvetch/17 +kw +kW +Kwakiutl/6 +Kwangchow's +Kwangju/6 +Kwanzaa/9 +kWh +KY +Kyla/6 +kyle/6 +Kyle/6 +Kylen/6 +Kylie/6 +Kylila/6 +Kylynn/6 +Ky/140 +Kym/6 +Kynthia/6 +Kyoto/6 +Kyrgyzstan +Kyrstin/6 +Kyushu/6 +L +LA +Laban/6 +labeled/12 +labeler/6 +label/119 +labellings/14 +label's +labial/16 +labia/6 +labile +labiodental +labium/6 +laboratory/7 +laboredness/6 +labored/218 +labored's/12 +laborer/6 +laboring/86 +laborings/12 +laboriousness/7 +laborious/28 +labor/91 +laborsaving +Labradorean/9 +Labrador/7 +lab/7 +Lab/7 +laburnum/7 +labyrinthine +labyrinth/6 +labyrinths +laced/12 +Lacee/6 +lace/7 +lacerate/24 +laceration/6 +lacer/6 +laces/12 +lacewing/7 +Lacey/6 +Lachesis/6 +lachrymal/9 +lachrymose +Lacie/6 +lacing/6 +lackadaisic +lackadaisical/19 +Lackawanna/6 +lacker/6 +lackey/26 +lack/111 +lackluster/9 +Lac/6 +laconic +laconically +lacquerer/6 +lacquer/49 +lacrosse/7 +lac/111 +lactate/269 +lactational/19 +lactation/6 +lacteal +lactic +lactose/7 +lacunae +lacuna/6 +Lacy/6 +lacy/54 +ladder/26 +laddie/7 +laded/12 +ladened +ladening +laden/12 +lade/9 +lading/6 +ladle/26 +Ladoga/6 +Ladonna/6 +lad/592 +ladybird/7 +ladybug/7 +ladyfinger/7 +ladylike/12 +ladylove/7 +Ladyship/7 +ladyship/7 +lady/7 +Lady/7 +Laetitia/6 +laetrile/9 +Lafayette/6 +Lafitte/6 +lager/165 +laggard/32 +laggardness/6 +lagged +lagging/7 +lagniappe/7 +lagoon/7 +Lagos/6 +Lagrange/6 +Lagrangian/6 +Laguerre/6 +Laguna/6 +lag/110 +Lahore/6 +laid/58 +Laidlaw/6 +lain +Laina/6 +Lainey/6 +Laird/6 +laird/7 +lair/26 +laissez +laity/7 +Laius/6 +lake/111 +Lakehurst/6 +Lakeisha/6 +laker/6 +lakeside +Lakewood/6 +Lakisha/6 +Lakshmi/6 +lallygagged +lallygagging +lallygag/9 +Lalo/6 +La/6 +Lamaism/7 +Lamarck/6 +Lamar/6 +lamasery/7 +lama/7 +Lamaze +lambada/9 +lambaste/17 +lambda/7 +lambency/7 +lambent/19 +Lambert/6 +lambkin/7 +Lamb/6 +Lamborghini/6 +lambskin/7 +lamb/111 +lambswool +lamebrain/7 +lamed/6 +lameness/7 +lamentableness/6 +lamentable/42 +lamentably +lamentation/7 +lament/88 +lamented/12 +lame/46 +la/593 +laminae +lamina/6 +laminar +laminate/15 +lamination/6 +lam/172 +lammed +lammer +lamming +Lammond/6 +Lamond/6 +Lamont/6 +L'Amour +lampblack/7 +lamplighter/6 +lamplight/96 +lampooner/6 +lampoon/111 +Lamport/6 +lamppost/7 +lamprey/7 +lamp/111 +lampshade/7 +LAN +Lanae/6 +Lanai/6 +lanai/7 +Lana/6 +Lancashire/6 +Lancaster/6 +Lancelot/6 +Lance/6 +lancer/6 +lance/49 +lancet/7 +landau/7 +lander/45 +landfall/7 +landfill/17 +landforms +landholder/6 +landhold/173 +landing/6 +Landis/6 +landlady/7 +landless +landlines +landlocked +landlord/7 +landlubber/7 +Land/6 +landmark/26 +landmass/7 +Landon/6 +landowner/7 +landownership/6 +landowning/7 +Landry/6 +Landsat +landscape/49 +landscaper/6 +lands/45 +landslide/7 +landslid/224 +landslip +landsman/6 +landsmen +land/91 +Landsteiner/6 +landward/9 +Landwehr/6 +Lane/6 +lane/7 +Lanette/6 +Laney/6 +Langeland/6 +Lange/6 +Langerhans/6 +Langford/6 +Langland/6 +Langley/6 +Lang/6 +Langmuir/6 +Langsdon/6 +Langston/6 +language/7 +languidness/7 +languid/28 +languisher/6 +languishing/19 +languish/31 +languorous/19 +languor/7 +Lanie/6 +Lani/6 +Lanita/6 +lankiness/7 +lankness/7 +lank/33 +lanky/98 +Lanna/6 +Lannie/6 +Lanni/6 +Lanny/6 +lanolin/7 +Lansing/6 +lantern/26 +lanthanide/6 +lanthanum/7 +lanyard/7 +Lanzhou +Laocoon/6 +Lao/7 +Laotian/7 +lapboard/7 +lapdog/9 +lapel/7 +lapidary/7 +lapin/7 +Laplace/6 +Lapland/231 +lapped +lappet/7 +lapping +Lapp/7 +lapsed/14 +lapse/594 +lapser/118 +lapses/14 +lapsing/14 +lap/7 +laps/31 +laptop/7 +lapwing/7 +Laraine/6 +Lara/6 +Laramie/6 +larboard/7 +larcenist/9 +larcenous +larceny/7 +larch/7 +larder/6 +lard/49 +Lardner/6 +lardy/54 +Laredo/6 +largehearted +largemouth +largeness/7 +large/38 +largess/7 +largish +largo/9 +lariat/26 +Lari/6 +Larina/6 +Larine/6 +Larisa/6 +Larissa/6 +larker/6 +lark/111 +Lark/6 +larkspur/7 +Larousse/6 +Larry/6 +Larsen/6 +Lars/72 +Larson/6 +larvae +larval +larva/6 +laryngeal/16 +larynges +laryngitides +laryngitis/6 +larynx/6 +Laryssa/6 +lasagna/9 +lasagne's +Lascaux/6 +lasciviousness/7 +lascivious/28 +lase +laser/6 +lashed/12 +lasher/6 +lashing/6 +lash/211 +Lassa/6 +Lassen/6 +Lassie/6 +lassie/7 +lassitude/7 +lassoer/6 +lasso/111 +las/227 +lass/7 +laster/6 +lastingness/6 +lasting/28 +last/595 +Laszlo/6 +Latasha/6 +Latashia/6 +latching/6 +latchkey/7 +latch's +latch/180 +latecomer/7 +lated/14 +late/500 +lately +latency/7 +lateness/7 +latent/16 +later/14 +lateral/183 +lateralization +Lateran/6 +latest/9 +LaTeX/6 +latex/7 +lathe/6 +latherer/6 +lather/570 +lathery +lathing/6 +lath/49 +Lathrop/6 +laths +Latia/6 +latices/6 +Latina/7 +Latinate +Latino/9 +Latin/175 +latish +Latisha/6 +latitude/7 +latitudinal/19 +latitudinarian/9 +latitudinary +Lat/6 +Latonya/6 +Latoya/6 +Latrena/6 +Latrina/6 +latrine/7 +Latrobe/6 +lat/596 +latter/86 +latte/208 +lattice/26 +latticework/7 +latticing/6 +Lattimer/6 +Latvia/6 +Latvian/9 +laudably +laudanum/7 +laudatory +Lauderdale/6 +lauder/6 +Lauder/6 +Laud/114 +laud/318 +lauds/6 +Laue/6 +laughableness/6 +laughable/42 +laughably +laugh/597 +laugher/6 +laughing/86 +laughingstock/7 +laughs +laughter/7 +Laughton/6 +Launce/6 +launch/36 +launcher/7 +launching/9 +launchpad/9 +laundered/12 +launderer/6 +launderette/7 +launder/179 +laundress/7 +laundrette/9 +laundromat/9 +Laundromat/7 +laundryman/6 +laundrymen +laundry/7 +laundrywoman/6 +laundrywomen +Lauraine/6 +Lauralee/6 +Laural/6 +laura/6 +Laura/6 +Laurasia/6 +laureate/55 +laureateship/7 +Lauree/6 +Laureen/6 +Laurella/6 +Laurel/6 +laurel/26 +Laure/6 +Laurena/6 +Laurence/6 +Laurene/6 +Lauren/7 +Laurentian +Laurent/6 +Lauretta/6 +Laurette/6 +Laurianne/6 +Laurice/6 +Laurie/6 +Lauri/6 +Lauritz/6 +Lauryn/6 +Lausanne/6 +lavage/7 +lavaliere/7 +Laval/6 +lava/7 +lavatory/7 +lave/17 +Lavena/6 +lavender/26 +Laverna/6 +Laverne/6 +Lavern/6 +Lavina/6 +Lavinia/6 +Lavinie/6 +lavishness/7 +lavish/77 +Lavoisier/6 +Lavonne/6 +Lawanda/6 +lawbreaker/7 +lawbreaking/7 +Lawford/6 +lawfulness/41 +lawful/161 +lawgiver/7 +lawgiving/6 +lawlessness/7 +lawless/28 +Law/6 +lawmaker/7 +lawmaking/7 +lawman/6 +lawmen +lawnmower/9 +lawn/7 +Lawrence/6 +Lawrenceville/6 +lawrencium/7 +Lawry/6 +law/26 +Lawson/6 +lawsuit/7 +Lawton/6 +lawyer/116 +laxativeness/6 +laxative/32 +laxer/14 +laxes/14 +laxity/7 +laxness/7 +lax/38 +layabout/7 +Layamon/6 +layaway/9 +lay/598 +layered/169 +layer/209 +layering/6 +layer's/443 +layette/7 +Layla/6 +Lay/6 +layman/6 +laymen +Layne/6 +Layney/6 +layoff/7 +layout/7 +layover/7 +laypeople +layperson/9 +lays/58 +Layton/6 +layup/7 +laywoman/6 +laywomen +Lazare/6 +Lazar/6 +Lazaro/6 +Lazarus/6 +laze/17 +lazily +laziness/7 +lazuli/6 +lazybones/6 +lazy/226 +lb +LBJ/6 +lbs +LC +LCD +LCM +LDC +leachate +Leach/6 +leach/17 +Leadbelly/6 +leaded/12 +leadenness/6 +leaden/535 +leaderless +leader/6 +leadership/7 +lead/581 +leadsman/6 +leadsmen +leafage/7 +leaf/26 +leafhopper/6 +leafiness/6 +leafless +leaflet/26 +leafstalk/7 +leafy/98 +leaguer/6 +league/49 +Leah/6 +leakage/7 +leaker/6 +Leakey/6 +leak/111 +leakiness/7 +leaky/98 +Lea/6 +lea/7 +Leander/6 +Leandra/6 +leaner/6 +leaning/6 +Lean/6 +Leanna/6 +Leanne/6 +leanness/7 +Leann/6 +Leanora/6 +Leanor/6 +lean/241 +leaper/6 +leapfrogged +leapfrogging +leapfrog/7 +leap/23 +Lear/6 +learnedly +learnedness/6 +learned/13 +learner/6 +learning/6 +learns/13 +learn/179 +Leary/6 +lease/395 +leaseback/7 +leaseholder/6 +leasehold/96 +leaser/118 +lease's +leash's +leash/180 +leasing/6 +leas/23 +least/9 +leastwise +leatherette/9 +leather/26 +leathern +leatherneck/7 +leathery +leaven/171 +leavened/12 +leavening/6 +Leavenworth/6 +leaver/6 +leaves/6 +leave/179 +leaving/6 +Lebanese +Lebanon/6 +Lebbie/6 +lebensraum +Lebesgue/6 +Leblanc/6 +lecher/26 +lecherousness/7 +lecherous/28 +lechery/7 +lecithin/7 +lectern/7 +lecturer/6 +lecture/49 +lectureship/7 +led +Leda/6 +Lederberg/6 +ledger/165 +ledge/96 +LED/7 +Leeanne/6 +Leeann/6 +leech/26 +Leeds/6 +leek/7 +Leelah/6 +Leela/6 +Leeland/6 +Lee/6 +lee/96 +Leena/6 +leer/47 +leeriness/7 +leering/19 +leery/98 +Leesa/6 +Leese/6 +Leeuwenhoek/6 +Leeward/6 +leeward/9 +leeway/7 +leftism/7 +leftist/7 +leftmost +leftover/7 +Left/9 +left/228 +leftward/9 +Lefty/6 +lefty/7 +legacy/7 +legalese/7 +legalism/7 +legalistic +legality/7 +legalization/7 +legalize/17 +legalized/12 +legal/16 +legate/103 +legatee/7 +legate's/169 +legation/104 +legato/7 +legendarily +legendary/9 +Legendre/6 +legend/7 +legerdemain/7 +Leger/7 +legged +legginess/7 +legging/7 +leggy/98 +leghorn/7 +Leghorn/7 +legibility/7 +legible +legibly +legionary/9 +legionnaire/7 +legion/7 +legislate/24 +legislation/6 +legislative/16 +legislator/7 +legislature/7 +legitimacy/7 +legitimate/565 +legitimation/6 +legitimatize/17 +legitimization/7 +legitimize/31 +legit/9 +legless +legman/6 +legmen +leg/7 +Lego/6 +Legra/6 +Legree/6 +legroom/7 +legstraps +legume/7 +leguminous +legwork/7 +Lehigh/6 +Lehman/6 +Leia/6 +Leibniz/6 +Leicester/7 +Leiden/6 +Leif/6 +Leigha/6 +Leigh/6 +Leighton/6 +Leilah/6 +Leila/6 +lei/7 +Leipzig/6 +Leisha/6 +leisureliness/7 +leisurely/42 +leisure/599 +leisurewear +leitmotif/7 +leitmotiv/7 +Lek/6 +Lelah/6 +Lela/6 +Leland/6 +Lelia/6 +Lemaitre/6 +Lemar/6 +Lemke/6 +Lem/6 +lemma/7 +lemme/301 +Lemmie/6 +lemming/6 +Lemmy/6 +lemonade/7 +lemon/26 +lemony +Lemuel/6 +Lemuria/6 +lemur/7 +Lena/6 +Lenard/6 +Lenci/6 +lender/6 +lend/227 +Lenee/6 +Lenette/6 +lengthener/6 +lengthen/52 +lengthily +lengthiness/7 +length/600 +lengths +lengthwise +lengthy/98 +lenience/9 +leniency/7 +lenient/16 +Leningrad/6 +Leninism/6 +Leninist +Lenin/6 +lenitive/9 +Lenka/6 +Len/6 +Le/72 +Lenna/6 +Lennard/6 +Lennie/6 +Lennon/6 +Lenny/6 +Lenoir/6 +Leno/6 +Lenora/6 +Lenore/6 +lens/91 +lent/14 +lenticular +lentil/7 +lento/9 +Lent/125 +Leodora/6 +Leoine/6 +Leola/6 +Leoline/6 +Leo/7 +Leona/6 +Leonanie/6 +Leonard/6 +Leonardo/6 +Leoncavallo/6 +Leonelle/6 +Leonel/6 +Leone/6 +Leonerd/6 +Leonhard/6 +Leonidas/6 +Leonid/6 +Leonie/6 +leonine +Leon/6 +Leonora/6 +Leonore/6 +Leonor/6 +Leontine/6 +Leontyne/6 +leopardess/7 +leopard/7 +leopardskin +Leopold/6 +Leopoldo/6 +Leopoldville/6 +Leora/6 +leotard/7 +leper/7 +Lepidus/6 +Lepke/6 +leprechaun/7 +leprosy/7 +leprous +lepta +lepton/7 +Lepus/6 +Lerner/6 +Leroi/6 +Leroy/6 +Lesa/6 +lesbianism/7 +lesbian/7 +Leshia/6 +lesion/26 +Lesley/6 +Leslie/6 +Lesli/6 +Lesly/6 +Lesotho/6 +lessee/7 +lessen/17 +Lesseps/6 +lesser +lesses +Lessie/6 +lessing +lesson/26 +lessor/7 +less/12 +Lester/6 +lest/164 +Les/19 +Lesya/6 +Leta/6 +letdown/7 +lethality/6 +lethal/16 +Letha/6 +lethargic +lethargically +lethargy/7 +Lethe/6 +Lethia/6 +Leticia/6 +Letisha/6 +let/43 +Letitia/6 +Letizia/6 +Letta/6 +letterbox/9 +lettered/12 +letterer/6 +letterhead/7 +lettering/6 +letter/91 +letterman/6 +Letterman/6 +lettermen +letterpress/7 +Lettie/6 +Letti/6 +letting/9 +lettuce/7 +Letty/6 +letup/7 +leukemia/7 +leukemic/9 +leukocyte/7 +Leupold/6 +Levant/6 +leveeing +levee/56 +leveled/12 +leveler/6 +levelheadedness/9 +levelheaded/42 +leveling/12 +levelness/7 +level/100 +leverage/26 +lever/26 +Levesque/6 +Levey/6 +Leviathan +leviathan/7 +levier/6 +Levi/7 +Levine/6 +Levin/6 +levitate/15 +levitation/6 +Leviticus/6 +Levitt/6 +levity/7 +Lev/6 +Levon/6 +Levy/6 +levy/23 +lewdness/7 +lewd/33 +Lewellyn/6 +Lewes +Lewie/6 +Lewinsky/6 +lewis/6 +Lewis/6 +Lewiss +Lew/6 +lex +lexeme/7 +lexical/19 +lexicographer/7 +lexicographic +lexicographical/19 +lexicography/7 +lexicon/7 +Lexie/6 +Lexi/7 +Lexine/6 +Lexington/6 +Lexus/6 +Lexy/6 +Leyden/6 +Leyla/6 +Lezley/6 +Lezlie/6 +lg +Lhasa/7 +Lhotse/6 +liability/48 +liable/601 +liaise/17 +liaison/7 +Lia/6 +Liam/6 +Liana/6 +Liane/6 +Lian/6 +Lianna/6 +Lianne/6 +liar/7 +libation/7 +libbed +Libbey/6 +Libbie/6 +Libbi/6 +libbing +Libby/6 +libeler/6 +libel/49 +libelous/19 +Liberace/6 +liberalism/7 +liberality/7 +liberalization/7 +liberalized/12 +liberalize/23 +liberalizer/6 +liberalness/7 +liberal/46 +liberate/345 +liberationists +liberation/266 +liberator/186 +Liberia/6 +Liberian/9 +libertarianism/6 +libertarian/7 +libertine/7 +liberty/7 +libidinal +libidinousness/6 +libidinous/28 +libido/7 +Lib/6 +lib/7 +librarian/7 +library/7 +Libra/7 +libretoes +libretos +librettist/7 +libretto/7 +Libreville/6 +Librium/6 +Libya/6 +Libyan/9 +lice/6 +licensed/13 +licensee/7 +license/101 +licenser/6 +licenses/14 +licensing/14 +licensor/6 +licentiate/7 +licentiousness/7 +licentious/28 +Licha/6 +lichee's +lichen/26 +Lichtenstein/6 +Lichter/6 +licit/19 +licked/12 +lickerish +licker/6 +lick/187 +licking/6 +licorice/7 +Lida/6 +lidded +lidding +Lidia/6 +lidless +lid/7 +lido/7 +Lieberman/6 +Liebfraumilch/6 +Liechtenstein/231 +lied/114 +lie/602 +Lief/6 +liefs/14 +lief/228 +Liege/6 +liege/208 +Lie/6 +lien/7 +lier/309 +lies/14 +Liesa/6 +lieu/7 +lieut +lieutenancy/7 +lieutenant/7 +Lieut/6 +lifeblood/7 +lifeboat/7 +lifebuoy/9 +lifeforms +lifeguard/26 +lifelessness/7 +lifeless/28 +lifelikeness/6 +lifelike/42 +lifeline/7 +lifelong +life/231 +lifer/6 +lifesaver/7 +lifesaving/9 +lifespan/9 +lifestyle/9 +lifetaking +lifetime/7 +lifework/7 +LIFO +lifter/6 +lift/49 +liftoff/7 +ligament/7 +ligand/7 +ligate/15 +ligation/6 +ligature/26 +light/311 +lighted/12 +lightener/6 +lightening/6 +lighten/23 +lighter/266 +lightered +lightering +lighters +lightest +lightface/56 +lightheaded +lightheartedness/7 +lighthearted/28 +lighthouse/7 +lighting/7 +lightly +lightness/7 +lightning/56 +lightproof +light's +lightship/7 +lightweight/9 +ligneous +lignite/7 +lignum +likability/7 +likableness/7 +likable/42 +likeability's +liked/25 +likelihood/41 +likely/264 +likeness/41 +liken/17 +liker/25 +liker's +likes/25 +likest +like/603 +likewise +liking/7 +lilac/7 +Lilah/6 +Lila/7 +Lilia/7 +Liliana/6 +Liliane/6 +Lilian/6 +Lilith/6 +Liliuokalani/6 +Lilla/6 +Lille/6 +Lillian/6 +Lillie/6 +Lilli/7 +lilliputian/9 +Lilliputian/7 +Lilliput/6 +Lilllie/6 +Lilly/6 +Lil/86 +Lilongwe/6 +lilting/28 +lilt/26 +Lilyan/6 +Lily/6 +lily/56 +Lima/6 +Limbaugh/6 +limbered/12 +limberness/7 +limber/604 +limbers/12 +limbic +limbless +Limbo +limbo/26 +limb/49 +Limburger/7 +limeade/7 +lime/26 +limekiln/6 +limelight/26 +limerick/7 +limestone/7 +limitability +limitably +limitation/186 +limit/265 +limitedly/12 +limitedness/6 +limited/46 +limiter/6 +limiting/9 +limitlessness/7 +limitless/28 +limit's +limn/17 +Limoges/6 +limo/9 +limousine/7 +limper/6 +limpet/7 +limpidity/7 +limpidness/7 +limpid/28 +limpness/7 +Limpopo/6 +limp/77 +Li/86 +limy/54 +linage/7 +Lina/6 +linchpin/7 +Linc/6 +Lincoln/7 +Linda/6 +Lindbergh/6 +Lindberg/6 +linden/7 +Lindholm/6 +Lindie/6 +Lindi/6 +Lind/6 +Lindon/6 +Lindquist/6 +Lindsay/6 +Lindsey/6 +Lindstrom/6 +Lindsy/6 +Lindy/6 +line/36 +lineage/7 +lineal/19 +Linea/6 +lineament/7 +linearity/7 +linearize/605 +linear/19 +linebacker/7 +lined/12 +linefeed +Linell/6 +lineman/6 +linemen +linen/7 +liner/7 +line's +linesman/6 +linesmen +Linet/6 +Linette/6 +lineup/9 +lingerer/6 +lingerie/7 +lingering/19 +linger/245 +lingoes +lingo/6 +lingual/16 +lingua/6 +linguine +linguini's +linguistically +linguistic/9 +linguistics/6 +linguist/7 +ling/90 +liniment/7 +lining/7 +linkable +linkage/7 +linked/14 +linker/9 +linking/9 +Link/6 +link's +linkup/9 +link/180 +Lin/6 +Linnaeus/6 +Linnea/6 +Linnell/6 +Linnet/6 +linnet/7 +Linnie/6 +Linn/6 +Linoel/6 +linoleum/7 +lino/6 +Linotype/6 +linseed/7 +lintel/7 +linter/6 +Linton/6 +lint/175 +linty/228 +Linus/6 +Linux/6 +Linwood/6 +Linzy/6 +Lionello/6 +Lionel/6 +lioness/7 +lionhearted +lionization/7 +lionizer/6 +lionize/23 +Lion/6 +lion/7 +lipase/6 +lipid/7 +lip/7 +liposuction/9 +lipped +lipper +Lippi/6 +lipping +Lippmann/6 +lippy/54 +lipread/20 +Lipschitz/6 +Lipscomb/6 +lipstick/26 +Lipton/6 +liq +liquefaction/7 +liquefier/6 +liquefy/23 +liqueur/26 +liquidate/15 +liquidation/6 +liquidator/7 +liquidity/7 +liquidizer/6 +liquidize/23 +liquidness/6 +liquid/32 +liquorice/7 +liquorish +liquor/26 +lira/6 +Lira/6 +lire +Lisabeth/6 +Lisa/6 +Lisbeth/6 +Lisbon/6 +Lise/6 +Lisetta/6 +Lisette/6 +Lisha/6 +Lishe/6 +Lisle/6 +lisle/7 +lisper/6 +lisp/49 +Lissajous/6 +Lissa/6 +Lissie/6 +Lissi/6 +Liss/6 +lissomeness/6 +lissome/42 +lissomness/6 +Lissy/6 +listed/12 +listener/6 +listen/242 +Listerine/6 +lister/6 +Lister/6 +listing/6 +list/606 +listlessness/7 +listless/28 +Liston/6 +Liszt/6 +Lita/6 +litany/7 +litchi/7 +literacy/7 +literalism/6 +literalistic +literalness/7 +literal/46 +literariness/7 +literary/42 +literate/176 +literati +literation/6 +literature/7 +liter/6 +lite/9 +litheness/7 +lithe/33 +lithesome +lithium/7 +lithograph/259 +lithographer/6 +lithographic +lithographically +lithographs +lithography/7 +lithology/6 +lithosphere/7 +lithospheric +Lithuania/6 +Lithuanian/9 +litigant/7 +litigate/15 +litigation/6 +litigator/7 +litigiousness/7 +litigious/28 +litmus/7 +litotes/6 +lit/110 +littérateur/9 +litterbug/7 +litter/49 +Little/6 +littleneck/6 +littleness/7 +little/177 +Littleton/6 +Litton/6 +littoral/9 +liturgical/19 +liturgic/9 +liturgics/6 +liturgist/7 +liturgy/7 +Liuka/6 +livability/7 +livableness/6 +livable/12 +livably +Liva/6 +lived/14 +livelihood/7 +liveliness/7 +livelong/9 +lively/98 +liveness/6 +liven/17 +liver/263 +liveried +liverish +Livermore/6 +Liverpool/6 +Liverpudlian/7 +liver's +liverwort/7 +liverwurst/7 +livery/186 +liveryman/266 +liverymen/169 +lives/14 +lives's +livestock/7 +live/607 +Livia/6 +lividness/6 +livid/28 +livingness/6 +Livingstone/6 +Livingston/6 +living/28 +Liv/6 +Livonia/6 +Livvie/6 +Livvy/6 +Livvyy/6 +Livy/6 +Lizabeth/6 +Liza/6 +lizard/7 +Lizbeth/6 +Lizette/6 +Liz/6 +Lizzie/6 +Lizzy/6 +l/608 +Ljubljana/6 +LL +llama/7 +llano/7 +LLB +ll/169 +LLD +Llewellyn/6 +Lloyd/6 +Llywellyn/6 +LNG +lo +loadable +loaded/14 +loader/135 +loading/7 +load's/14 +loads/14 +loadstar's +loadstone's +load/609 +loafer/6 +Loafer/9 +loaf/49 +loam/26 +loamy/54 +loaner/6 +loaning/6 +loan/66 +loansharking/9 +loanword/9 +loathe +loather/6 +loathing/6 +loath/610 +loathness/6 +loathsomeness/7 +loathsome/28 +loaves/6 +Lobachevsky/6 +lobar +lobbed +lobber/7 +lobbing +lobby/26 +lobbyist/7 +lobe/7 +lob/26 +lobotomist +lobotomize/17 +lobotomy/7 +lobster/26 +lobularity +lobular/19 +lobule/7 +locale/7 +localisms +locality/7 +localization/7 +localized/12 +localizer/6 +localizes/12 +localize/23 +local/183 +locatable +locate/573 +locater/6 +locational/19 +location/154 +locative/9 +locator's +Lochinvar/6 +loch/6 +lochs +loci/6 +lockable +Lockean/6 +locked/14 +Locke/6 +locker/7 +locket/7 +Lockhart/6 +Lockheed/6 +Lockian/6 +locking/9 +lockjaw/7 +Lock/6 +locknut/6 +lockout/7 +lock's +locksmithing/6 +locksmith/207 +locksmiths +lockstep/9 +lock/180 +lockup/7 +Lockwood/6 +locomotion/7 +locomotive/65 +locomotor +locomotory +loco/26 +locoweed/7 +locus/6 +locust/7 +locution/7 +lode/7 +lodestar/7 +lodestone/7 +lodged/25 +lodge/91 +Lodge/6 +lodgepole +lodger/6 +lodges/25 +lodging/6 +lodgment/6 +Lodovico/6 +Lodowick/6 +Lodz +Loeb/6 +Loella/6 +Loewe/6 +Loewi/6 +lofter/6 +loftily +loftiness/7 +loft/111 +lofty/98 +loganberry/7 +Logan/6 +logarithmic +logarithmically +logarithm/7 +logbook/7 +loge/99 +logged/12 +loggerhead/7 +logger/7 +loggia/7 +logging/7 +logicality/7 +logicalness/6 +logical/46 +logician/7 +logic/7 +login/9 +logion/6 +logistical/19 +logistic/7 +logjam/7 +LOGO +logo/7 +logotype/7 +logout +logrolling/7 +log's/370 +log/7 +logy/54 +Lohengrin/6 +loincloth/6 +loincloths +loin/7 +Loire/6 +Loise/6 +Lois/6 +loiterer/6 +loiter/179 +Loki/6 +Lola/6 +Loleta/6 +Lolita/6 +loller/6 +lollipop/7 +loll/31 +Lolly/6 +lolly/7 +Lombardi/6 +Lombard/6 +Lombardy/6 +Lomb/6 +Lome +Lona/6 +Londonderry/6 +Londoner/6 +London/231 +Lonee/6 +loneliness/7 +lonely/98 +loneness/6 +lone/611 +loner/6 +lonesomeness/7 +lonesome/46 +longboat/7 +longbow/7 +longed/370 +longeing +longer/370 +longevity/7 +Longfellow/6 +longhair/7 +longhand/7 +longhorn/7 +longing/86 +longish +longitude/7 +longitudinal/19 +long/241 +Long/6 +longness/6 +longshoreman/6 +longshoremen +longsighted +longs/370 +longstanding +Longstreet/6 +longsword +longterm +longtime +Longueuil/6 +longueur/7 +longways +longword/7 +Loni/6 +Lon/6 +Lonna/6 +Lonnard/6 +Lonnie/6 +Lonni/6 +Lonny/6 +loofah/6 +loofahs +lookahead +lookalike/9 +looker/6 +look/23 +lookout/7 +lookup/7 +looming/6 +Loomis/6 +loom/26 +loon/7 +loony/228 +looper/6 +loophole/26 +loop/111 +loopy/54 +loosed/12 +looseleaf +loosener/6 +looseness/7 +loosen/180 +loose/77 +looses/12 +loosing/6 +looter/6 +loot/49 +loper/6 +lope/9 +Lopez/6 +lopped +lopper/7 +lopping +lop/31 +lopsidedness/7 +lopsided/28 +loquaciousness/7 +loquacious/28 +loquacity/7 +Loraine/6 +Lorain/6 +Loralee/6 +Loralie/6 +Loralyn/6 +Lora/6 +Lorant/6 +lording/6 +lordliness/7 +lordly/98 +Lord/7 +lord/116 +lordship/7 +Lordship/7 +Loree/6 +Loreen/6 +Lorelei/6 +Lorelle/6 +lore/7 +Lorena/6 +Lorene/6 +Loren/7 +Lorentzian/6 +Lorentz/6 +Lorenza/6 +Lorenz/6 +Lorenzo/6 +Loretta/6 +Lorette/6 +lorgnette/7 +Loria/6 +Lorianna/6 +Lorianne/6 +Lorie/6 +Lorilee/6 +Lorilyn/6 +Lori/6 +Lorinda/6 +Lorine/6 +Lorin/6 +loris/7 +Lorita/6 +lorn +Lorna/6 +Lorne/6 +Lorraine/6 +Lorrayne/6 +Lorre/6 +Lorrie/6 +Lorri/6 +Lorrin/6 +lorryload/9 +Lorry/6 +lorry/7 +Lory/6 +Los +loser/6 +lose/193 +lossage +lossless +loss/7 +lossy/54 +lost/42 +Lothaire/6 +Lothario/7 +lotion/7 +Lot/6 +lot/7 +Lotta/6 +lotted +Lotte/6 +lotter +lottery/7 +Lottie/6 +Lotti/6 +lotting +Lott/6 +lotto/7 +Lotty/6 +lotus/7 +louden/47 +loudhailer/9 +loudly/54 +loudmouth/170 +loudmouths +loudness/7 +loudspeaker/7 +loudspeaking +loud/543 +Louella/6 +Louie/6 +Louisa/6 +Louise/6 +Louisette/6 +Louisiana/6 +Louisianan/9 +Louisianian/9 +Louis/6 +Louisville/6 +Lou/6 +lounger/6 +lounge/23 +Lourdes/6 +lour/17 +louse/263 +louse's +lousewort/6 +lousily +lousiness/7 +lousy/98 +loutishness/6 +loutish/28 +Loutitia/6 +lout/26 +louver/56 +L'Ouverture +Louvre/6 +lovableness/7 +lovable/12 +lovably +lovebird/7 +lovechild +Lovecraft/6 +love/612 +loved/12 +Lovejoy/6 +Lovelace/6 +Loveland/6 +lovelessness/6 +loveless/28 +lovelies +lovelinesses +loveliness/135 +Lovell/6 +lovelornness/6 +lovelorn/42 +lovely/264 +Love/6 +lovemaking/7 +lover/613 +lovesick +lovestruck +lovingly +lovingness/6 +loving/12 +lowborn +lowboy/7 +lowbrow/7 +lowdown/9 +Lowell/6 +Lowe/6 +lowercase/17 +lower/47 +lowermost +Lowery/6 +lowish +lowland/96 +Lowlands/6 +lowlife/7 +lowlight/7 +lowliness/7 +lowly/98 +lowness/7 +low/100 +Lowrance/6 +lox/26 +loyaler +loyalest +loyal/75 +loyalism/7 +loyalist/7 +loyalty/85 +Loyang/6 +Loydie/6 +Loyd/6 +Loy/6 +Loyola/6 +lozenge/56 +LP +LPG +LPN/9 +Lr +ls +l's +L's +LSD +ltd +Ltd/6 +Lt/6 +Luanda/6 +Luann/6 +luau/7 +lubber/65 +Lubbock/6 +lube/26 +lubricant/7 +lubricate/24 +lubrication/6 +lubricator/7 +lubricious/19 +lubricity/7 +Lubumbashi/6 +Lucais/6 +Luca/7 +Luce/6 +lucent/19 +Lucerne/6 +Lucho/6 +Lucia/7 +Luciana/6 +Lucian/6 +Luciano/6 +lucidity/7 +lucidness/7 +lucid/28 +Lucie/6 +Lucien/6 +Lucienne/6 +Lucifer/6 +Lucila/6 +Lucile/6 +Lucilia/6 +Lucille/6 +Luci/72 +Lucina/6 +Lucinda/6 +Lucine/6 +Lucio/6 +Lucita/6 +Lucite/7 +Lucius/6 +luck/26 +luckier/12 +luckily/12 +luckiness/41 +luckless +Lucknow/6 +Lucky/6 +lucky/177 +lucrativeness/7 +lucrative/28 +lucre/7 +Lucretia/6 +Lucretius/6 +lucubrate/15 +lucubration/6 +Lucy/6 +Luddite/7 +Ludhiana/6 +ludicrousness/7 +ludicrous/28 +Ludlow/6 +Ludmilla/6 +ludo/6 +Ludovico/6 +Ludovika/6 +Ludvig/6 +Ludwig/6 +Luella/6 +Luelle/6 +luff/26 +Lufthansa/6 +Luftwaffe/6 +luge/266 +Luger/6 +luggage/7 +lugged +lugger/7 +lugging +Lugosi/6 +lug/208 +lugsail/7 +lugubriousness/7 +lugubrious/28 +Luigi/6 +Luisa/6 +Luise/6 +Luis/6 +Lukas/6 +Luke/6 +lukewarmness/7 +lukewarm/28 +Lula/6 +Lulita/6 +lullaby/26 +lull/17 +lulu/6 +Lulu/6 +Lu/6 +lumbago/7 +lumbar/9 +lumberer/6 +lumbering/6 +lumberjack/7 +lumberman/6 +lumbermen +lumber/91 +lumberyard/7 +lumen/6 +Lumičre/6 +luminance/6 +luminary/7 +luminescence/7 +luminescent +luminosity/7 +luminousness/6 +luminous/28 +lummox/7 +lumper/6 +lumpiness/7 +lumpishness/6 +lumpish/28 +lump/150 +lumpy/98 +lunacy/7 +Luna/6 +lunar/9 +lunary +lunate/614 +lunatic/9 +lunation/6 +luncheonette/7 +luncheon/26 +luncher/6 +lunch/111 +lunchpack +lunchroom/7 +lunchtime/7 +Lundberg/6 +Lund/6 +Lundquist/6 +lune/6 +lunge/7 +lunger/6 +lungfish/7 +lungful +lung/111 +lunkhead/7 +Lupe/6 +lupine/7 +Lupus/6 +lupus/7 +Lura/6 +lurcher/6 +lurch/31 +lure/31 +lurer/6 +Lurette/6 +lurex +Luria/6 +luridness/7 +lurid/28 +lurker/6 +lurk/23 +Lurleen/6 +Lurlene/6 +Lurline/6 +Lusaka/6 +Lusa/6 +lusciousness/7 +luscious/28 +lushness/7 +lush/77 +Lusitania/6 +luster/165 +lustering/6 +lusterless +lustfulness/6 +lustful/28 +lustily +lustiness/7 +lust/49 +lustrousness/6 +lustrous/28 +lusty/98 +lutanist/7 +lute/26 +lutenist/7 +Lutero/6 +lutetium/7 +Lutheranism/7 +Lutheran/7 +Luther/6 +luting/6 +Lutz +Luxembourgian +Luxembourg/231 +Luxemburg's +luxe/7 +luxuriance/7 +luxuriant/19 +luxuriate/15 +luxuriation/6 +luxuriousness/7 +luxurious/28 +luxury/7 +Luz/6 +Luzon/6 +L'vov +Lyallpur/6 +lyceum/7 +lychee's +lycopodium/6 +Lycra/9 +Lycurgus/6 +Lyda/6 +Lydia/6 +Lydian/9 +Lydie/6 +Lydon/6 +lye/304 +Lyell/6 +lying/19 +Lyle/6 +Lyly/6 +Lyman/6 +Lyme/6 +lymphatic/9 +lymph/6 +lymphocyte/7 +lymphoid +lymphoma/7 +lymphs +Ly/86 +Lynchburg/6 +lyncher/6 +lynching/6 +Lynch/6 +lynch/179 +Lynda/6 +Lyndell/6 +Lyndel/6 +Lynde/6 +Lyndon/6 +Lyndsay/6 +Lyndsey/6 +Lyndsie/6 +Lyndy/6 +Lynea/6 +Lynelle/6 +Lynette/6 +Lynett/6 +Lyn/6 +Lynna/6 +Lynnea/6 +Lynnelle/6 +Lynnell/6 +Lynne/6 +Lynnet/6 +Lynnette/6 +Lynnett/6 +Lynn/6 +Lynsey/6 +lynx/7 +Lyon/7 +Lyra/6 +lyrebird/7 +lyre/7 +lyricalness/6 +lyrical/28 +lyricism/7 +lyricist/7 +lyric/9 +Lysenko/6 +lysine/6 +Lysistrata/6 +Lysol/6 +Lyssa/6 +LyX/6 +MA +Maalox/6 +ma'am +Mabelle/6 +Mabel/6 +Mable/6 +Mab/6 +macabre/19 +macadamize/17 +macadam/7 +Macao/6 +macaque/7 +macaroni/7 +macaroon/7 +Macarthur/6 +MacArthur/6 +Macaulay/6 +macaw/7 +Macbeth/6 +Maccabees/6 +Maccabeus/6 +Macdonald/6 +MacDonald/6 +MacDraw/6 +Macedonia/6 +Macedonian/9 +Macedon/6 +mace/7 +Mace/7 +macerate/15 +maceration/6 +macer/6 +Macgregor/6 +MacGregor/6 +machete/7 +Machiavellian/9 +Machiavelli/6 +machinate/15 +machination/6 +machinelike +machine/57 +machinery/7 +machinist/7 +machismo/7 +Mach/6 +macho/9 +Machs +Macias/6 +Macintosh/6 +MacIntosh/6 +macintosh's +Mackenzie/6 +MacKenzie/6 +mackerel/7 +Mackinac/6 +Mackinaw +mackinaw/7 +mackintosh/7 +mack/6 +Mack/6 +MacLeish/6 +Macmillan/6 +MacMillan/6 +Macon/7 +MacPaint/6 +macramé/9 +macrobiotic/9 +macrobiotics/6 +macrocosm/7 +macrodynamic +macroeconomic/9 +macroeconomics/6 +macromolecular +macromolecule/7 +macron/7 +macrophage/7 +macroscopic +macroscopically +macrosimulation +macro/7 +macrosocioeconomic +Mac/26 +mac/111 +Macy/6 +Madagascan/7 +Madagascar/6 +Madalena/6 +Madalyn/6 +Mada/6 +madame/6 +Madame/7 +madam/7 +madcap/9 +Maddalena/6 +madded +madden/17 +maddening/19 +Madden/6 +madder/7 +maddest +Maddie/6 +Maddi/6 +madding +Maddox/6 +Maddy/6 +made/13 +Madeira/7 +Madelaine/6 +Madeleine/6 +Madelena/6 +Madelene/6 +Madelina/6 +Madeline/6 +Madelin/6 +Madella/6 +Madelle/6 +Madel/6 +Madelon/6 +Madelyn/6 +mademoiselle/7 +Madge/6 +madhouse/7 +Madhya/6 +Madison/6 +Madlen/6 +Madlin/6 +madman/6 +madmen +madness/7 +Madonna/7 +mad/46 +Madras +madras/7 +Madrid/6 +madrigal/131 +Madsen/6 +Madurai/6 +madwoman/6 +madwomen +Mady/6 +Maegan/6 +Maelstrom/6 +maelstrom/7 +Mae/6 +maestro/7 +Maeterlinck/6 +Mafia/7 +mafia/9 +mafiosi +mafioso/6 +Mafioso/9 +MAG +magazine/26 +Magdaia/6 +Magdalena/6 +Magdalene/6 +Magdalen/6 +Magda/6 +Magellanic +Magellan/6 +magenta/7 +magged +Maggee/6 +Maggie/6 +Maggi/6 +magging +maggot/7 +maggoty/54 +Maggy/6 +magi +magical/19 +magician/7 +magicked +magicking +magic/7 +Magill/6 +Magi/6 +Maginot/6 +magisterial/19 +magistracy/7 +magistrate/7 +Mag/6 +magma/7 +magnanimity/7 +magnanimosity +magnanimous/28 +magnate/7 +magnesia/7 +magnesite/6 +magnesium/7 +magnetically +magnetic/9 +magnetics/6 +magnetism/7 +magnetite/7 +magnetizable +magnetization/279 +magnetize/263 +magnetized/12 +magnetodynamics +magnetohydrodynamical +magnetohydrodynamics/6 +magnetometer/7 +magneto/7 +magnetosphere/6 +magnetron/6 +magnet/7 +magnification/6 +magnificence/7 +magnificent/19 +magnified/12 +magnify/115 +magniloquence/7 +magniloquent +Magnitogorsk/6 +magnitude/7 +magnolia/7 +Magnum +magnum/7 +Magnuson/6 +Magog/6 +Magoo/6 +magpie/7 +Magritte/6 +Magruder/6 +mag/9 +Magsaysay/6 +Maguire/7 +Magus/6 +Magyar/7 +Mahabharata +Mahala/6 +Mahalia/6 +maharajah/6 +maharajahs +maharanee's +maharani/7 +Maharashtra/6 +maharishi/7 +mahatma/7 +Mahavira/6 +Mahayana/6 +Mahayanist +Mahdi/6 +Mahfouz/6 +Mahican/7 +mahjong's +Mahler/6 +Mahmoud/6 +Mahmud/6 +mahogany/7 +Mahomet's +mahout/7 +Maia/6 +Maible/6 +maidenhair/7 +maidenhead/7 +maidenhood/7 +maidenly/42 +maiden/86 +maidservant/7 +maid/99 +maier +Maier/6 +Maiga/6 +Maighdiln/6 +Maigret/6 +mailbag/7 +mailbox/7 +mail/182 +mailer/6 +Mailer/6 +Maillol/6 +maillot/7 +mailman/6 +mailmen +Maiman/6 +maimedness/6 +maimed/42 +maimer/6 +Maimonides/6 +Mai/114 +maim/23 +mainbrace/6 +Maine/231 +Mainer/6 +mainframe/7 +mainlander/6 +mainland/96 +mainliner/6 +mainline/23 +mainly +mainmast/7 +main/63 +mainsail/7 +mains/6 +mainspring/7 +mainstay/7 +mainstream/111 +maintainability +maintainable/12 +maintain/67 +maintained/12 +maintainer/6 +maintenance/7 +maintop/7 +maiolica's +Maire/6 +Mair/6 +Maisey/6 +Maisie/6 +maisonette/7 +Maison/6 +Maitilde/6 +maize/7 +Maj +Maje/6 +majestic +majestically +majesty/7 +Majesty/7 +majolica/7 +Majorca/6 +major/26 +majordomo/9 +majorette/7 +majority/7 +Major/6 +Majuro/6 +makable +Makarios/6 +makefile/9 +makeover/9 +Maker/6 +maker/7 +makeshift/9 +make/516 +makeup/7 +making/7 +Malabar/6 +Malabo/6 +Malacca/6 +Malachi/6 +malachite/7 +maladapt/326 +maladjust/615 +maladjustment/7 +maladministration +maladroitness/7 +maladroit/28 +malady/7 +Malagasy/6 +malaise/7 +Mala/6 +Malamud/6 +malamute/7 +Malanie/6 +malaprop +malapropism/7 +Malaprop/6 +malarial +malaria/7 +malarious +malarkey/7 +malathion/9 +Malawian/9 +Malawi/6 +Malayalam/6 +Malaya/6 +Malayan/7 +Malaysia/6 +Malaysian/9 +Malay/7 +Malchy/6 +Malcolm/6 +malcontentedness/6 +malcontented/28 +malcontent/56 +Maldive/7 +Maldivian/9 +Maldonado/6 +maledict +malediction/7 +malefaction/7 +malefactor/7 +malefic +maleficence/7 +maleficent +Male/6 +Malena/6 +maleness/7 +male/444 +malevolence/9 +malevolencies +malevolent/19 +malfeasance/7 +malfeasant +malformation/7 +malformed +malfunction/17 +Malia/6 +Malian/9 +Malibu/6 +malice/26 +maliciousness/7 +malicious/10 +malignancy/7 +malignant/16 +malign/284 +malignity/7 +Mali/6 +Malina/6 +Malinda/6 +Malinde/6 +malingerer/6 +malinger/23 +Malinowski/6 +Malissa/6 +Malissia/6 +mallard/7 +Mallarmé/6 +malleability/7 +malleableness/6 +malleable/42 +mallet/7 +Mallissa/6 +Mallorie/6 +Mallory/6 +mallow/7 +mall/26 +Mal/6 +malnourished +malnutrition/7 +malocclusion/7 +malodorous +Malone/6 +Malorie/6 +Malory/6 +malposed +malpractice/7 +Malraux/6 +Malta/6 +malted/9 +Maltese +Malthusian/9 +Malthus/6 +malting/6 +maltose/7 +maltreat/11 +maltreatment/9 +malt/26 +malty/54 +Malva/6 +Malvina/6 +Malvin/6 +Malynda/6 +mama/7 +mamba/7 +mambo/26 +Mame/6 +Mamet/6 +ma/140 +Mamie/6 +mammalian/7 +mammal/7 +mammary +mamma's +mammogram/9 +mammography/9 +Mammon's +mammon/7 +mammoth/6 +mammoths +mammy/7 +Mamore/6 +manacle/26 +manageability/9 +manageableness +manageable/12 +managed/12 +management/7 +manageress/6 +managerial/19 +manager/6 +managership/6 +manage/27 +Managua/6 +Manama/6 +mańana/6 +mananas +Manasseh/6 +manatee/7 +Manaus's +Manchester/6 +Manchu/7 +Manchuria/6 +Manchurian/9 +Mancini/6 +manciple/6 +Mancunian/7 +mandala/7 +Mandalay/6 +Manda/6 +mandamus/26 +Mandarin +mandarin/7 +mandate/26 +mandatory/9 +Mandela +Mandelbrot/6 +Mandel/6 +mandible/7 +mandibular +Mandie/6 +Mandi/6 +Mandingo/6 +mandolin/7 +mandrake/7 +mandrel/7 +mandrill/7 +Mandy/6 +mančge/17 +mane/56 +Manet/6 +maneuverability/7 +maneuverer/6 +maneuver/101 +Manfred/6 +manful/19 +manganese/7 +mange/49 +manger/6 +manginess/9 +mangler/6 +mangle/31 +mangoes +mango/6 +mangrove/7 +mangy/98 +manhandle/17 +Manhattan/7 +manhole/7 +manhood/7 +manhunt/7 +maniacal/19 +maniac/7 +mania/7 +manically +Manichean/6 +manic/9 +manicure/26 +manicurist/7 +manifestation/7 +manifesto/26 +manifest/22 +manifolder/6 +manifold/616 +manifoldness/6 +manikin/7 +Manila/7 +manila/9 +manilla's +Mani/6 +manioc/7 +manipulability +manipulable +manipulate/577 +manipulative/204 +manipulator/7 +manipulatory +Manitoba/6 +Manitoulin/6 +Manitowoc/6 +mankind/6 +Mankowski/6 +Manley/6 +manlike +manliness/7 +manliness's/12 +manly/264 +manna/7 +manned/12 +mannequin/7 +mannered/12 +mannerism/7 +mannerist/6 +mannerliness/135 +mannerly/236 +manner/599 +Mann/207 +Mannheim/6 +Mannie/6 +mannikin's +Manning/6 +manning/12 +mannishness/7 +mannish/28 +Manny/6 +Manolo/6 +Mano/6 +manometer/7 +Manon/6 +manorial +manor/7 +manpower/7 +manqué/6 +man's +mansard/7 +manservant/6 +manse/451 +Mansfield/6 +mansion/6 +manslaughter/7 +Man/7 +Manson/6 +mans/9 +manta/7 +Mantegna/6 +mantelpiece/7 +mantel/7 +mantes +mantilla/7 +mantissa/7 +mantis/7 +mantle/84 +Mantle/6 +mantle's +mantling/6 +mantra/7 +mantrap/7 +manual/65 +Manuela/6 +Manuel/6 +manufacture/179 +manufacturer/6 +manumission/7 +manumit/9 +manumitted +manumitting +manure/49 +manuscript/7 +man/514 +Manville/6 +Manx +many +Manya/6 +Maoism/7 +Maoist/9 +Mao/6 +Maori/7 +Maplecrest/6 +maple/7 +mapmaker/9 +mappable +mapped/13 +mapper/9 +mapping/7 +Mapplethorpe/6 +maps/13 +map/7 +Maputo/6 +Marabel/6 +marabou/7 +marabout's +Maracaibo/6 +maraca/7 +Mara/6 +maraschino/7 +Marathi +marathoner/6 +Marathon/6 +marathon/96 +Marat/6 +marauder/6 +maraud/23 +marbleize/17 +marble/211 +marbler/6 +marbling/6 +Marceau/6 +Marcela/6 +Marcelia/6 +Marcelino/6 +Marcella/6 +Marcelle/6 +Marcellina/6 +Marcelline/6 +Marcello/6 +Marcellus/6 +Marcel/6 +Marcelo/6 +Marchall/6 +Marchelle/6 +marcher/6 +marchioness/7 +March/7 +march/23 +Marcia/6 +Marciano/6 +Marcie/6 +Marcile/6 +Marcille/6 +Marci/6 +Marc/6 +Marconi/6 +Marco/7 +Marcotte/6 +Marcus/6 +Marcy/6 +Mardi/7 +Marduk/6 +Mareah/6 +mare/7 +Marena/6 +Maren/6 +Maressa/6 +Margalit/6 +Margalo/6 +Marga/6 +Margareta/6 +Margarete/6 +Margaretha/6 +Margarethe/6 +Margaret/6 +Margaretta/6 +Margarette/6 +margarine/7 +Margarita/6 +margarita/7 +Margarito/6 +Margaux/6 +Margeaux/6 +Marge/6 +Margery/6 +Marget/6 +Margette/6 +Margie/6 +Margi/6 +marginalia +marginality +marginalization +marginalize/17 +marginal/16 +margin/26 +Margit/6 +Margo/6 +Margot/6 +Margrethe/6 +Margret/6 +Marguerite/6 +Margy/6 +mariachi/7 +maria/6 +Maria/6 +Mariam/6 +Mariana/7 +Marian/7 +Marianna/6 +Marianne/6 +Mariann/6 +Mariano/6 +Maribelle/6 +Maribel/6 +Maribeth/6 +Maricela/6 +Marice/6 +Maridel/6 +Marieann/6 +Mariejeanne/6 +Mariele/6 +Marielle/6 +Mariellen/6 +Mariel/6 +Marie/6 +Marietta/6 +Mariette/6 +Marigold/6 +marigold/7 +Marijn/6 +Marijo/6 +marijuana/7 +Marika/6 +Marilee/6 +Marilin/6 +Marillin/6 +Marilyn/6 +marimba/7 +Mari/7 +marinade/26 +Marina/6 +marina/7 +marinara/7 +marinate/15 +marination/6 +mariner/6 +Marine/9 +marine/110 +Marin/6 +Marinna/6 +Marino/6 +Mario/6 +marionette/7 +Marion/6 +Mariquilla/6 +Marisa/6 +Mariska/6 +Marisol/6 +Marissa/6 +Maritain/6 +marital/19 +Marita/6 +maritime/164 +Maritsa/6 +Maritza/6 +Mariupol/6 +Marius/6 +Mariya/6 +Marja/6 +Marje/6 +Marjie/6 +Marji/6 +Marj/6 +marjoram/7 +Marjorie/6 +Marjory/6 +Marjy/6 +Markab/6 +markdown/7 +marked/13 +markedly +marker/6 +marketability/7 +marketable/12 +Marketa/6 +marketeer/9 +marketer/6 +market/182 +marketing/6 +marketplace/7 +mark/182 +Markham/6 +marking/6 +Markism/6 +markkaa +markka/6 +Mark/7 +Markos +Markov +Markovian +Markovitz/6 +marks/14 +marksman/6 +marksmanship/9 +marksmen +markup/7 +Markus/6 +Marla/6 +Marlane/6 +Marlboro/6 +Marlborough/6 +Marleah/6 +Marlee/6 +Marleen/6 +Marlena/6 +Marlene/6 +Marley/6 +Marlie/6 +Marline/6 +marlinespike/7 +Marlin/6 +marlin/7 +marl/26 +Marlo/6 +Marlon/6 +Marlowe/6 +Marlow/6 +Marlyn/6 +Marmaduke/6 +marmalade/7 +Marmara/6 +marmoreal +marmoset/7 +marmot/7 +Marna/6 +Marne/6 +Marney/6 +Marnia/6 +Marnie/6 +Marni/6 +maroon/31 +marquee/7 +Marquesas/6 +marque/7 +marquess/7 +marquetry/7 +Marquette/6 +Marquez/6 +marquise/6 +marquisette/7 +Marquis/6 +marquis/7 +Marquita/6 +Marrakesh/6 +marred/12 +marriageability/7 +marriageable +marriage/48 +married/302 +Marrilee/6 +marring +Marriott/6 +Marris/6 +Marrissa/6 +marrowbone/7 +marrow/26 +marry/36 +mar/9 +Marseillaise/7 +Marseilles +Marseille's +marshal/49 +Marshalled/6 +marshaller +Marshall/165 +Marshalling/6 +marshallings +Marshal/6 +Marsha/6 +marshiness/6 +marshland/7 +Marsh/6 +marshmallow/7 +marsh/7 +marshy/98 +Marsiella/6 +Mar/125 +marsupial/7 +Martainn/6 +Marta/6 +Martelle/6 +Martel/6 +marten/6 +Marten/6 +Martguerita/6 +Martha/6 +Marthe/6 +Marthena/6 +Martial +martial/19 +Martian/9 +Martica/6 +Martie/6 +Marti/6 +Martina/6 +martinet/7 +Martinez/6 +martingale/7 +martini/7 +Martinique/6 +Martin/6 +Martino/6 +martin/7 +Martinson/6 +Martita/6 +mart/269 +Mart/72 +Marty/6 +Martyn/6 +Martynne/6 +martyrdom/7 +martyr/26 +Marva/6 +marvel/17 +Marvell/6 +marvelous/28 +Marve/6 +Marven/6 +Marvin/6 +Marv/72 +Marwin/6 +Marxian/9 +Marxism/7 +Marxist/7 +Marx/6 +Marya/6 +Maryanna/6 +Maryanne/6 +Maryann/6 +Marybelle/6 +Marybeth/6 +Maryellen/6 +Maryjane/6 +Maryjo/6 +Maryland/231 +Marylee/6 +Marylinda/6 +Marylin/6 +Maryl/6 +Marylou/6 +Marylynne/6 +Mary/6 +Maryrose/6 +Marys +Marysa/6 +marzipan/7 +Masada/6 +Masai/6 +Masaryk/6 +masc +Mascagni/6 +mascara/26 +mascot/7 +masculineness/6 +masculine/46 +masculinity/7 +Masefield/6 +maser/6 +Maseru/6 +MASH +Masha/6 +Mashhad/6 +mash/91 +m/617 +masked/12 +masker/6 +mask/91 +masks/12 +masochism/7 +masochistic +masochistically +masochist/7 +masonic +Masonic +Masonite/6 +masonry/7 +mason/26 +Mason/7 +masquerader/6 +masquerade/49 +masquer/6 +masque/96 +Massachusetts/6 +massacre/111 +massager/6 +massage/111 +Massasoit/6 +Massenet/6 +masseur/7 +masseuse/7 +Massey/6 +massif/7 +Massimiliano/6 +Massimo/6 +massing/164 +massiveness/7 +massive/28 +massless +mas/110 +Mass/9 +mass/64 +mastectomy/7 +masterclass +mastered/14 +masterfulness/6 +masterful/28 +master/618 +masterliness/6 +masterly/42 +mastermind/17 +masterpiece/7 +mastership/6 +Master/7 +masterstroke/7 +masterwork/9 +mastery/7 +mast/49 +masthead/26 +masticate/15 +mastication/6 +mastic/7 +mastiff/7 +mastodon/7 +mastoid/9 +masturbate/15 +masturbation/6 +masturbatory +matador/7 +Mata/6 +matchable/12 +match/182 +matchbook/7 +matchbox/7 +matched/13 +matcher/6 +matches/14 +matchless/19 +matchlock/7 +matchmake/173 +matchmaker/6 +matchmaking/6 +matchplay +match's/14 +matchstick/7 +matchwood/7 +mated/12 +mate/43 +Matelda/6 +Mateo/6 +materialism/7 +materialistic +materialistically +materialist/7 +materiality/6 +materialization/7 +materialize/619 +materialized/14 +materializer/7 +materializes/14 +materializing +materialness/6 +material/32 +matériel/7 +mater/6 +maternal/19 +maternity/7 +mates/12 +mathematical/19 +Mathematica/6 +mathematician/7 +mathematic/9 +mathematics/6 +Mathematik/6 +Mather/6 +Mathe/114 +Mathew/7 +Mathewson/6 +Mathian/6 +Mathias +Mathieu/6 +Mathilda/6 +Mathilde/6 +Mathis +math/6 +maths +Matias/6 +Matilda/6 +Matilde/6 +matinée/9 +mating/6 +matins/6 +Matisse/7 +matriarchal +matriarch/6 +matriarchs +matriarchy/7 +matrices +matricidal +matricide/7 +matriculate/15 +matriculation/6 +matrimonial/19 +matrimony/7 +matrix/6 +matron/65 +mat/211 +Matsumoto/6 +matte/91 +Mattel/6 +Matteo/6 +matter/165 +Matterhorn/6 +Matthaeus/6 +Mattheus/6 +Matthew/7 +Matthias +Matthieu/6 +Matthiew/6 +Matthus/6 +Mattias/6 +Mattie/6 +Matti/6 +matting/6 +mattins's +Matt/6 +mattock/7 +mattress/7 +matt's +Matty/6 +maturate/24 +maturational +maturation/6 +matureness/6 +maturer/6 +mature/77 +maturity/7 +matzo/216 +matzot +Maude/6 +Maudie/6 +maudlin/19 +Maud/6 +Maugham/6 +Maui/6 +mauler/6 +maul/23 +maunder/17 +Maupassant/6 +Maura/6 +Maureene/6 +Maureen/6 +Maure/6 +Maurene/6 +Mauriac/6 +Maurice/6 +Mauricio/6 +Maurie/6 +Maurine/6 +Maurise/6 +Maurita/6 +Mauritania/6 +Mauritanian/9 +Mauritian/9 +Mauritius/6 +Maurits/6 +Maurizia/6 +Maurizio/6 +Maurois/6 +Mauro/6 +Maury/6 +Mauser/6 +mausoleum/7 +mauve/7 +maven/9 +maverick/26 +mavin's +Mavis/6 +Mavra/6 +mawkishness/7 +mawkish/28 +Mawr/6 +maw/26 +max/17 +Maxie/6 +maxillae +maxilla/6 +maxillary/9 +Maxi/6 +maximality +maximal/16 +maxima's +Maximilian/6 +Maximilianus/6 +Maximilien/6 +maximization/7 +maximizer/6 +maximize/23 +Maxim/6 +Maximo/6 +maxim/7 +maximum/65 +Maxine/6 +maxi/9 +Max/6 +Maxtor/6 +Maxwellian +maxwell/6 +Maxwell/6 +Maxy/6 +Maya/7 +Mayan/9 +Maybelle/6 +maybe/9 +mayday/9 +may/620 +Maye/6 +mayer +Mayer/6 +mayest +Mayfair/6 +Mayflower/6 +mayflower/7 +mayfly/7 +mayhap +mayhem/7 +Maynard/6 +Mayne/6 +Maynord/6 +mayn't +Mayo/6 +mayonnaise/7 +mayoral +mayoralty/7 +mayoress/7 +Mayor/6 +mayor/7 +mayorship/6 +mayo/9 +maypole/7 +Maypole/7 +Mayra/6 +May/175 +mayst +Mazama/6 +Mazarin/6 +Mazatlan/6 +Mazda/6 +mazedness/7 +mazed/28 +maze/111 +mazurka/7 +Mazzini/6 +Mb +MB +MBA +Mbabane/6 +Mbini/6 +MC +McAdam/7 +McAllister/6 +McBride/6 +McCabe/6 +McCain/6 +McCall/6 +McCarthyism/6 +McCarthy/6 +McCartney/6 +McCarty/6 +McCauley/6 +McClain/6 +McClellan/6 +McClure/6 +McCluskey/6 +McConnell/6 +McCormick/6 +McCoy/7 +McCracken/6 +McCray/6 +McCullough/6 +McDaniel/6 +McDermott/6 +McDonald/6 +McDonnell/6 +McDougall/6 +McDowell/6 +McElhaney/6 +McEnroe/6 +McFadden/6 +McFarland/6 +McGee/6 +McGill/6 +McGovern/6 +McGowan/6 +McGrath/6 +McGraw/6 +McGregor/6 +McGuffey/6 +McGuire/6 +MCI/6 +McIntosh/6 +McIntyre/6 +McKay/6 +McKee/6 +McKenzie/6 +McKesson/6 +McKinley/6 +McKinney/6 +McKnight/6 +McLanahan/6 +McLaughlin/6 +McLean/6 +McLeod/6 +McLuhan/6 +McMahon/6 +McMartin/6 +McMillan/6 +McNamara/6 +McNaughton/6 +McNeil/6 +McPherson/6 +MD +Md/6 +mdse +MDT +ME +Meade/6 +Mead/6 +meadowland +meadowlark/7 +meadow/7 +Meadows +meadowsweet/6 +mead/7 +Meagan/6 +meagerness/7 +meager/28 +Meaghan/6 +meagres +mealiness/7 +meal/26 +mealtime/7 +mealybug/9 +mealymouthed +mealy/177 +meander/71 +meaneing +meanie/7 +meaningfulness/7 +meaningful/28 +meaninglessness/7 +meaningless/28 +meaning/6 +meanness/9 +means/6 +meantime/7 +meant/12 +meanwhile/9 +Meany/6 +mean/621 +meany's +Meara/6 +measle/142 +measles/6 +measly/54 +measurable/12 +measurably +measure/622 +measured/19 +measureless +measurement/7 +measurer/6 +measures/14 +measuring/14 +meas/19 +meataxe +meatball/7 +meatiness/7 +meatless +meatloaf +meatloaves +meat/7 +meatpacking/9 +meaty/98 +Mecca/7 +mecca/9 +mechanical/16 +mechanic/7 +mechanism/7 +mechanistic +mechanistically +mechanist/6 +mechanization/7 +mechanized/12 +mechanizer/6 +mechanize/67 +mechanizes/12 +mechanochemically +Mechelle/6 +med +medalist/7 +medallion/7 +medal/26 +Medan/6 +meddle/23 +meddlesome +Medea/6 +Medellin +Medfield/6 +mediaeval's +medial/158 +medials +median/65 +media/7 +mediateness/6 +mediate/148 +mediation/48 +mediator/7 +Medicaid/7 +medical/16 +medicament/7 +Medicare/7 +medicate/24 +medication/6 +Medici/7 +medicinal/16 +medicine/26 +medico/7 +medic/7 +medievalist/7 +medieval/65 +Medina/6 +mediocre +mediocrity/7 +meditate/24 +meditation/6 +meditativeness/6 +meditative/28 +Mediterranean/7 +mediumistic +medium/7 +medley/7 +medulla/7 +Medusa/6 +meed/7 +meekness/7 +meek/33 +meerschaum/7 +meeter/6 +meetinghouse/9 +meeting/6 +meet/623 +me/224 +mega +megabit/7 +megabuck/9 +megabyte/9 +megacycle/7 +megadeath/6 +megadeaths +megahertz/6 +megalithic +megalith/6 +megaliths +megalomaniac/7 +megalomania/7 +megalopolis/7 +Megan/6 +megaphone/26 +megaton/7 +megavolt/6 +megawatt/7 +megaword/9 +Megen/6 +Meggie/6 +Meggi/6 +Meggy/6 +Meghan/6 +Meghann/6 +Meg/72 +megohm/7 +Mehetabel/6 +Meier/6 +Meighen/6 +Meiji/6 +Mei/114 +meioses +meiosis/6 +meiotic +Meir/6 +Meister/6 +Meistersinger/6 +Mejia/6 +Mekong/6 +Mela/6 +Melamie/6 +melamine/7 +melancholia/7 +melancholic/9 +melancholy/7 +Melanesia/6 +Melanesian/9 +melange/9 +Melania/6 +Melanie/6 +melanin/7 +melanoma/7 +Melantha/6 +Melany/6 +Melba/6 +Melbourne/6 +Melcher/6 +Melchior/6 +meld/17 +męlée/7 +Melendez/6 +Melesa/6 +Melessa/6 +Melicent/6 +Melina/6 +Melinda/6 +Melinde/6 +meliorate/24 +melioration/6 +Melisa/6 +Melisande/6 +Melisandra/6 +Melisenda/6 +Melisent/6 +Melissa/6 +Melisse/6 +Melita/6 +Melitta/6 +Mella/6 +Mellicent/6 +Mellie/6 +mellifluousness/7 +mellifluous/28 +Melli/6 +Mellisa/6 +Mellisent/6 +Melloney/6 +Mellon/6 +mellowness/7 +mellow/77 +Melly/6 +Mel/86 +Melodee/6 +melodically +melodic/9 +Melodie/6 +melodiousness/9 +melodious/28 +melodrama/7 +melodramatically +melodramatic/9 +Melody/6 +melody/7 +Melonie/6 +melon/7 +Melony/6 +Melosa/6 +Melpomene/6 +meltdown/9 +melter/6 +melting/19 +Melton/6 +melt/36 +Melva/6 +Melville/6 +Melvin/6 +Melvyn/6 +Me/6 +member/56 +membered/145 +members/145 +membership/7 +membrane/56 +membranous +memento/7 +Memling/6 +memoir/7 +memorabilia +memorability/7 +memorableness/6 +memorable/42 +memorably +memorandum/7 +memorialize/17 +memorialized/12 +memorial/16 +memoriam +memorization/7 +memorized/12 +memorizer/6 +memorize/23 +memorizes/14 +memoryless +memory/7 +memo/7 +Memphis/6 +menace/17 +menacing/19 +menagerie/7 +menage/9 +Menander/6 +menarche/7 +Menard/6 +Mencius/6 +Mencken/6 +mendaciousness/6 +mendacious/28 +mendacity/7 +Mendeleev/6 +mendelevium/7 +Mendelian +Mendel/6 +Mendelssohn/6 +mender/6 +Mendez/6 +mendicancy/7 +mendicant/9 +Mendie/6 +mending/6 +Mendocino/6 +Mendoza/6 +mend/179 +Mendy/6 +Menelaus/6 +Menes/6 +menfolk/9 +menhaden/6 +menial/16 +meningeal +meninges +meningitides +meningitis/6 +meninx +menisci +meniscus/6 +Menkalinan/6 +Menkar/6 +Menkent/6 +Menlo/6 +men/7 +Mennonite/7 +Menominee +menopausal +menopause/7 +menorah/6 +menorahs +Menotti/6 +Mensa/6 +Mensch/6 +mensch/9 +menservants/6 +mens/17 +menstrual +menstruate/15 +menstruation/6 +mensurable/42 +mensuration/7 +menswear/6 +mentalist/7 +mentality/7 +mental/19 +mentholated +menthol/7 +mentionable/12 +mentioned/12 +mentioner/6 +mention/67 +mentor/26 +Menuhin/6 +menu/7 +Menzies/6 +meow/17 +Mephistopheles/6 +Merak/6 +Mercado/6 +mercantile +Mercator/6 +Mercedes +mercenariness/6 +mercenary/444 +mercerize/17 +Mercer/6 +mercer/7 +merchandiser/6 +merchandise/91 +merchantability +merchantman/6 +merchantmen +merchant/57 +Mercie/6 +mercifully/12 +mercifulness/6 +merciful/28 +mercilessness/7 +merciless/28 +Merci/6 +Merck/6 +mercurial/46 +mercuric +Mercurochrome/6 +mercury/7 +Mercury/7 +Mercy/6 +mercy/7 +Meredeth/6 +Meredithe/6 +Meredith/6 +Merell/6 +meretriciousness/7 +meretricious/28 +mere/16 +merganser/7 +merger/6 +merge/23 +Meridel/6 +meridian/7 +meridional +Meridith/6 +Meriel/6 +Merilee/6 +Merill/6 +Merilyn/6 +meringue/7 +merino/7 +Meris +Merissa/6 +merited/12 +meritocracy/7 +meritocratic +meritocrats +meritoriousness/7 +meritorious/28 +merit/477 +Meriwether/6 +Merla/6 +Merle/6 +Merlina/6 +Merline/6 +merlin/6 +Merlin/6 +Merl/6 +mermaid/7 +merman/6 +mermen +Merna/6 +Merola/6 +meromorphic +Merralee/6 +Merrel/6 +Merriam/6 +Merrick/6 +Merridie/6 +Merrielle/6 +Merrie/6 +Merrilee/6 +Merrile/6 +Merrili/6 +Merrill/6 +merrily +Merrily/6 +Merrimack/6 +Merrimac/6 +merriment/7 +merriness/9 +Merritt/6 +Merry/6 +merrymaker/7 +merrymaking/7 +merry/98 +Mersey/6 +mer/624 +Merton/6 +Mervin/6 +Merv/6 +Merwin/6 +Merwyn/6 +Meryl/6 +Mesa +Mesabi/6 +mesa/7 +mescaline/7 +mescal/7 +mesdames/6 +mesdemoiselles/6 +Meshed's +meshed/12 +mesh/26 +mesmeric +mesmerism/7 +mesmerized/12 +mesmerizer/6 +mesmerize/23 +Mesolithic/6 +mesomorph/6 +mesomorphs +meson/7 +Mesopotamia/6 +Mesopotamian/9 +mesosphere/7 +mesozoic +Mesozoic +mesquite/7 +mes/9 +message/26 +messeigneurs +messenger/26 +Messerschmidt/6 +mess/26 +Messiaen/6 +messiah +Messiah/6 +messiahs +Messiahs +messianic +Messianic +messieurs/6 +messily +messiness/7 +messmate/7 +Messrs/6 +messy/98 +mestizo/7 +meta +metabolic +metabolically +metabolism/7 +metabolite/7 +metabolize/17 +metacarpal/9 +metacarpi +metacarpus/6 +metacircular +metacircularity +metalanguage/7 +metalization/7 +metalized +metallic/9 +metalliferous +metallings +metallography/6 +metalloid/6 +metallurgic +metallurgical/19 +metallurgist/9 +metallurgy/7 +metal/26 +metalsmith/7 +metalworking/6 +metalwork/198 +Meta/6 +metamathematical +metamorphic +metamorphism/7 +metamorphose/17 +metamorphosis/6 +metaphoric +metaphorical/19 +metaphor/7 +metaphosphate/6 +metaphysical/19 +metaphysic/7 +metastability/6 +metastable +metastases +metastasis/6 +metastasize/17 +metastatic +metatarsal/9 +metatarsi +metatarsus/6 +metatheses +metathesis/6 +metathesized +metathesizes +metathesizing +metavariable +metempsychoses +metempsychosis/6 +meteoric +meteorically +meteorite/7 +meteoritic/9 +meteoritics/6 +meteoroid/7 +meteorologic +meteorological +meteorologist/9 +meteorology/7 +meteor/7 +meter/165 +mete/23 +methadone/7 +methane/7 +methanol/7 +methinks +methionine/6 +methodicalness/7 +methodical/28 +methodism +Methodism/7 +methodist/7 +Methodist/7 +method/7 +methodological/19 +methodologists +methodology/7 +methought +Methuen/6 +Methuselah/6 +Methuselahs +methylated +methylene/6 +methyl/7 +meticulousness/7 +meticulous/28 +métier/9 +metonymy/6 +Metrecal/6 +metrical/19 +metricate/15 +metricize/17 +metrics/6 +metric/7 +metronome/7 +metropolis/7 +metropolitanization +metropolitan/9 +metro/7 +mets +Metternich/6 +mettle/56 +mettlesome +met/12 +Metzler/6 +Meuse/6 +mewl/17 +mew/17 +mews/7 +Mex +Mexicali/6 +Mexican/9 +Mexico/6 +Meyerbeer/6 +Meyer/7 +mezzanine/7 +mezzo/9 +MFA +mfg +mfr/9 +mg +M/625 +Mg/6 +MGM/6 +mgr +Mgr +MHz +MI +MIA +Mia/6 +Miami/7 +Miaplacidus/6 +miasmal +miasma/7 +Micaela/6 +Micah/6 +mica/7 +micelles +mice/6 +Michaela/6 +Michaelangelo/6 +Michaelina/6 +Michaeline/6 +Michaella/6 +Michaelmas/7 +Michael/7 +Michaelson/6 +Michail/6 +Michale/6 +Michal/6 +Micheal/6 +Micheil/6 +Michelangelo/6 +Michele/6 +Michelina/6 +Micheline/6 +Michelin/6 +Michelle/6 +Michell/6 +Michel/6 +Michelson/6 +Michigander/9 +Michiganite/9 +Michigan/6 +Mich/6 +Mickelson/6 +Mickey/6 +mickey/7 +Mickie/6 +Micki/6 +Mick/6 +Micky/6 +Mic/6 +Micmac/6 +micra's +microamp +microanalysis/6 +microanalytic +microbe/7 +microbial +microbicidal +microbicide/6 +microbiological +microbiologist/7 +microbiology/7 +microbrewery/9 +microchemistry/6 +microchip/9 +microcircuit/7 +microcode/17 +microcomputer/7 +microcosmic +microcosm/7 +microdensitometer +microdot/7 +microeconomic/9 +microeconomics/6 +microelectronic/9 +microelectronics/6 +microfiber/9 +microfiche/6 +microfilm/111 +microfossils +micrography/6 +microgroove/7 +microhydrodynamics +microinstruction/7 +microjoule +microlevel +microlight/9 +micromanage/11 +micromanagement/9 +micrometeorite/7 +micrometeoritic +micrometer/7 +Micronesia/6 +Micronesian/9 +micron/7 +microorganism/7 +microphone/131 +Microport/6 +microprocessing +microprocessor/7 +microprogrammed +microprogramming +microprogram/7 +micro/9 +microscope/7 +microscopic +microscopical/19 +microscopy/7 +microsecond/7 +microsimulation/9 +Microsystems +micros/6 +Microsoft/6 +microsomal +microstore +microsurgery/7 +MicroVAXes +MicroVAX/6 +microvolt/7 +microwaveable +microwave/57 +microword/9 +midair/7 +midas +Midas/6 +midband/6 +midday/7 +midden/7 +middest +middlebrow/7 +Middlebury/6 +middle/187 +middleman/6 +middlemen +middlemost +Middlesex/6 +Middleton/6 +Middletown/6 +middleweight/7 +middling/19 +middy/7 +Mideastern +Mideast/6 +midfield/114 +Midge/6 +midge/7 +midget/7 +midi/9 +midland/175 +Midland/7 +midlife +midlives +midmorn/224 +midmost/9 +midnight/65 +midpoint/7 +midrange +midrib/7 +midriff/7 +mid/9 +midscale +midsection/6 +midshipman/6 +midshipmen +midship/9 +midspan +midstream/7 +midst/7 +midsummer/7 +midterm/7 +midtown/7 +Midway/6 +midway/9 +midweek/65 +Midwesterner/6 +Midwestern/90 +Midwest/6 +midwicket +midwifery/7 +midwife/26 +midwinter/65 +midwives +midyear/7 +mien/6 +miff/17 +mightily +mightiness/7 +mightn't +might/9 +mighty/98 +mignon +mignonette/7 +Mignon/6 +Mignonne/6 +migraine/7 +migrant/7 +migrate/36 +migration/7 +migrative +migratory/9 +MIG/9 +Miguela/6 +Miguelita/6 +Miguel/6 +mikado/7 +Mikaela/6 +Mikael/6 +mike/26 +Mikel/6 +Mike/6 +Mikey/6 +Mikhail/6 +Mikkel/6 +Mikol/6 +Mikoyan/6 +milady/7 +Milagros/6 +Milanese +Milan/6 +milch/6 +mildew/26 +mildness/7 +Mildred/6 +Mildrid/6 +mild/534 +mileage/7 +Milena/6 +milepost/7 +miler/6 +mile/7 +Mile/7 +milestone/7 +Milford/6 +Milicent/6 +milieu/7 +Milissent/6 +militancy/7 +militantness/6 +militant/46 +militarily +militarism/7 +militaristic +militarist/7 +militarization/186 +militarize/263 +military +militate/17 +militiaman/6 +militiamen +militia/7 +Milka/6 +Milken/6 +milker/6 +milk/49 +milkiness/7 +milkmaid/7 +milkman/6 +milkmen +milkshake/9 +milksop/7 +milkweed/7 +milky/98 +millage/9 +Millard/6 +Millay/6 +millenarian +millenarianism/6 +millennial +millennialism +millennium/7 +millepede's +miller/6 +Miller/6 +Millet/6 +millet/7 +milliamp +milliampere/9 +milliard/7 +millibar/7 +Millicent/6 +millidegree/9 +Millie/6 +milligram/7 +millijoule/9 +Millikan/6 +milliliter/7 +Milli/6 +millimeter/7 +milliner/7 +millinery/7 +milling/6 +millionaire/7 +million/626 +millionth/6 +millionths +millipede/7 +millisecond/7 +Millisent/6 +millivoltmeter/7 +millivolt/7 +milliwatt/9 +millpond/7 +millrace/7 +mill/49 +Mill/175 +millstone/7 +millstream/7 +millwright/7 +Milly/6 +mil/96 +Mil/86 +Milne/6 +Milo/6 +Milquetoast/9 +milquetoast/7 +Miltiades/6 +Miltie/6 +Milt/6 +milt/26 +Miltonic +Milton/6 +Miltown/6 +Milty/6 +Milwaukee/6 +Milzie/6 +MIMD +mime/111 +mimeograph/26 +mimeographs +mimer/6 +mimesis/6 +mimetic +mimetically +mimicked +mimicker/7 +mimicking +mimicry/7 +mimic/9 +Mimi/6 +mi/451 +Mimosa/6 +mimosa/7 +Mina/6 +minaret/7 +minatory +mincemeat/7 +mincer/6 +mince/179 +mincing/19 +Minda/6 +Mindanao/6 +mind/119 +mindbogglingly +minded/42 +minder/6 +mindfully +mindfulness/7 +mindful/12 +mindlessness/7 +mindless/28 +Mindoro/6 +min/245 +mind's +mindset/9 +Mindy/6 +minefield/7 +mineralization/169 +mineralized/12 +mineralogical +mineralogist/7 +mineralogy/7 +mineral/7 +miner/6 +Miner/6 +Minerva/6 +mineshaft +mine/188 +minestrone/7 +minesweeper/7 +Minetta/6 +Minette/6 +mineworkers +mingle/17 +Ming/6 +Mingus/6 +miniature/26 +miniaturist/7 +miniaturization/7 +miniaturize/17 +minibike/9 +minibus/7 +minicab/6 +minicam/7 +minicomputer/7 +minidress/7 +minify/17 +minimalism/9 +minimalistic +minimalist/7 +minimality +minimal/16 +minima's +minimax/6 +minimization/7 +minimized/12 +minimizer/6 +minimize/23 +minim/7 +minimum/7 +mining/6 +minion/6 +mini/9 +miniseries +miniskirt/7 +ministerial/19 +minister/26 +ministrant/9 +ministration/7 +ministry/7 +minivan/9 +miniver/6 +minke +mink/7 +Min/114 +Minna/6 +Minnaminnie/6 +Minneapolis/6 +Minne/6 +minnesinger/7 +Minnesota/6 +Minnesotan/9 +Minnie/6 +Minni/6 +Minn/6 +Minnnie/6 +minnow/7 +Minny/6 +Minoan/9 +Minolta/6 +minor/26 +minority/7 +Minor/6 +Minos +Minotaur/6 +minotaur/9 +Minot/6 +minoxidil/9 +Minsk/6 +Minsky/6 +minster/7 +minstrel/7 +minstrelsy/7 +mintage/7 +Mintaka/6 +Minta/6 +minter/6 +mint/49 +minty/54 +minuend/7 +minuet/7 +Minuit/6 +minuscule/7 +minus/9 +minuteman +Minuteman/6 +minutemen +minuteness/7 +minute/502 +minutiae +minutia/6 +minx/7 +Miocene +MIPS +Miquela/6 +Mirabeau/6 +Mirabella/6 +Mirabelle/6 +Mirabel/6 +Mirach/6 +miracle/7 +miraculousness/6 +miraculous/28 +mirage/26 +Mira/6 +Miranda/6 +Miran/6 +Mireielle/6 +Mireille/6 +Mirella/6 +Mirelle/6 +mire/26 +Mirfak/6 +Miriam/6 +Mirilla/6 +Mir/6 +Mirna/6 +Miro +mirror/26 +mirthfulness/7 +mirthful/28 +mirthlessness/6 +mirthless/28 +mirth/6 +mirths +MIRV/17 +miry/54 +Mirzam/6 +misaddress/17 +misadventure/7 +misalign/11 +misalignment/7 +misalliance/7 +misanalysed +misanthrope/7 +misanthropic +misanthropically +misanthropist/9 +misanthropy/7 +misapplier/6 +misapply/294 +misapprehend/17 +misapprehension/7 +misappropriate/15 +misbegotten +misbehaver/6 +misbehave/31 +misbehavior/7 +misbrand/17 +misc +miscalculate/15 +miscalculation/6 +miscall/17 +miscarriage/7 +miscarry/17 +miscast/166 +miscegenation/7 +miscellanea +miscellaneous/28 +miscellany/7 +Mischa/6 +mischance/26 +mischief/26 +mischievousness/7 +mischievous/28 +miscibility/9 +miscible/169 +misclassification/6 +misclassified +misclassifying +miscode/17 +miscommunicate/627 +miscomprehended +misconceive/17 +misconception/7 +misconduct/26 +misconfiguration +misconstruction/7 +misconstrue/17 +miscopying +miscount/17 +miscreant/7 +miscue/26 +misdeal/166 +misdealt +misdeed/7 +misdemeanant/7 +misdemeanor/7 +misdiagnose/17 +misdid +misdirect/17 +misdirection/7 +misdirector/9 +misdoes +misdo/301 +misdone +miserableness/7 +miserable/144 +miserably +miser/378 +miserliness/7 +miserly/42 +misery/7 +mises/628 +misfeasance/7 +misfeature/6 +misfield +misfile/17 +misfire/17 +misfit/7 +misfitted +misfitting +misfortune/7 +misgauge/17 +misgiving/65 +misgovern/11 +misgovernment/9 +misguidance/7 +misguidedness/6 +misguided/28 +misguide/31 +misguider/6 +Misha/6 +mishandle/17 +mishap/7 +mishapped +mishapping +misheard +mishear/166 +mishitting +mishmash/7 +misidentification/6 +misidentify/55 +misinformation/7 +misinform/17 +misinterpretation/7 +misinterpreter/6 +misinterpret/23 +misjudge/17 +misjudging/19 +misjudgment/7 +Miskito +mislabel/17 +mislaid +mislay/166 +misleader/6 +mislead/20 +misleading/19 +misled +mismanage/11 +mismanagement/7 +mismatch/17 +misname/17 +misnomer/26 +misogamist/7 +misogamy/7 +misogynistic +misogynist/7 +misogynous +misogyny/7 +misperceive/142 +misplace/11 +misplacement/7 +misplay/17 +mispositioned +misprint/26 +misprision/7 +mispronounce/17 +mispronunciation/7 +misquotation/7 +misquote/17 +misreader/6 +misread/20 +misrelated +misremember/47 +misreport/17 +misrepresentation/7 +misrepresenter/6 +misrepresent/31 +misroute/142 +misrule/17 +missal/85 +misshape/17 +misshapenness/7 +misshapen/28 +Missie/6 +missile/7 +missilery/7 +mission/48 +missionary/7 +missioned +missioner/7 +missioning +missis's +Mississauga/6 +Mississippian/9 +Mississippi/6 +missive/7 +Missoula/6 +Missourian/9 +Missouri/6 +misspeak/166 +misspecification +misspecified +misspelling/6 +misspell/71 +misspend/166 +misspent +misspoke +misspoken +mis/110 +miss/629 +Miss/7 +misstate/8 +misstatement/7 +misstater/6 +misstep/7 +misstepped +misstepping +missus/7 +Missy/6 +mistakable/12 +mistake/630 +mistaken/19 +mistaker/6 +mistaking/19 +Mistassini/6 +mister/165 +Mister/7 +mistily +Misti/6 +mistime/17 +mistiness/9 +mistletoe/7 +mist/49 +mistook +mistral/7 +mistranslated +mistranslates +mistranslating +mistranslation/7 +mistreat/11 +mistreatment/7 +Mistress/7 +mistress/65 +mistrial/7 +mistruster/6 +mistrustful/19 +mistrust/31 +Misty/6 +mistype/71 +misty/98 +misunderstander/6 +misunderstanding/6 +misunderstand/210 +misunderstood +misuser/6 +misuse/111 +miswritten +Mitchael/6 +Mitchell/6 +Mitchel/6 +Mitch/6 +miterer/6 +miter/570 +mite/96 +Mitford/6 +Mithra/6 +Mithridates/6 +mitigated/12 +mitigate/24 +mitigation/6 +MIT/6 +mitoses +mitosis/6 +mitotic +MITRE/7 +Mitsubishi/6 +mitten/6 +Mitterrand/6 +mitt/99 +Mitty/6 +Mitzi/6 +mitzvahs +mixable +mix/36 +mixed/12 +mixer/7 +mixture/7 +Mizar/6 +mizzenmast/7 +mizzen/7 +Mk +mks +ml +Mlle/6 +mm +MM +MMe +Mme/7 +MN +mnemonically +mnemonics/6 +mnemonic/7 +Mnemosyne/6 +Mn/6 +MO +moan/49 +moat/26 +mobbed +mobber +mobbing +mobcap/7 +Mobile/6 +mobile/9 +mobility/7 +mobilizable +mobilization/279 +mobilize/263 +mobilized/12 +mobilizer/7 +mobilizes/14 +Mobil/6 +mob/7 +mobster/7 +Mobutu/6 +moccasin/7 +mocha/7 +mockers/6 +mockery/7 +mock/23 +mockingbird/7 +mocking/19 +mo/631 +modality/7 +modal/19 +modeled/14 +modeler/6 +modeling/6 +models/14 +model/91 +mode/7 +modem/7 +moderated/12 +moderateness/7 +moderate/124 +moderation/6 +moderator/7 +modernism/7 +modernistic +modernist/9 +modernity/7 +modernization/7 +modernized/12 +modernizer/6 +modernize/23 +modernizes/12 +modernness/7 +modern/38 +Modesta/6 +Modestia/6 +Modestine/6 +Modesto/6 +modest/93 +Modesty/6 +modesty/7 +modicum/7 +modifiability/6 +modifiableness/6 +modifiable/12 +modification/6 +modified/12 +modifier/6 +modify/115 +Modigliani/6 +modishness/7 +modish/28 +mod/228 +Modula/6 +modularity/7 +modularization +modularize/17 +modular/16 +modulate/632 +modulation/186 +modulator/279 +module/7 +moduli +modulo +modulus/6 +modus +Moe/6 +Moen/6 +Mogadiscio's +Mogadishu +mogul/7 +Mogul/7 +mohair/7 +Mohamed/6 +Mohammad/6 +Mohammedanism/7 +Mohammedan/7 +Mohammed's +Mohandas/6 +Mohandis/6 +Mohawk/7 +Mohegan/9 +Mohican's +Moho/6 +Mohorovicic/6 +Mohr/6 +moiety/7 +moil/17 +Moina/6 +Moines/6 +Moira/6 +moire/7 +Moise/7 +Moiseyev/6 +Moishe/6 +moistener/6 +moisten/242 +moistness/7 +moist/324 +moisture/7 +moisturize/23 +Mojave/6 +molal +molarity/7 +molar/7 +molasses/7 +Moldavia/6 +Moldavian/9 +moldboard/7 +molder/47 +moldiness/7 +molding/6 +mold/91 +Moldova +moldy/98 +molecularity/7 +molecular/19 +molecule/7 +molehill/7 +mole/633 +moleskin/7 +molestation/7 +molested/12 +molester/6 +molest/23 +Moliere +Molina/6 +Moline/6 +Mollee/6 +Mollie/6 +mollification/6 +mollify/15 +Molli/6 +Moll/6 +moll/7 +mollusc's +mollusk/9 +mollycoddler/6 +mollycoddle/31 +Molly/6 +molly/7 +Molnar/6 +Moloch/6 +Molokai/6 +Molotov/6 +molter/6 +molt/237 +Moluccas +molybdenite/6 +molybdenum/7 +Mombasa/6 +momenta +momentarily +momentariness/7 +momentary/42 +moment/65 +momentousness/7 +momentous/28 +momentum/7 +momma/9 +Mommy/6 +mommy/7 +Mo/72 +mom/7 +Monaco/6 +monadic +monad/7 +Monah/6 +Mona/6 +monarchic +monarchical +monarchism/7 +monarchistic +monarchist/7 +monarch/6 +monarchs +monarchy/7 +Monash/6 +monastery/7 +monastical/19 +monasticism/7 +monastic/9 +monaural/19 +Mondale/6 +Monday/7 +Mondrian/6 +Monegasque/7 +Monera/6 +monetarily +monetarism/9 +monetarist/7 +monetary +monetization/104 +monetize/311 +Monet/6 +moneybag/7 +moneychangers +moneyer/6 +moneylender/7 +moneymaker/7 +moneymaking/7 +money/286 +Monfort/6 +monger/26 +Mongolia/6 +Mongolian/9 +Mongolic/6 +mongolism/7 +mongoloid/9 +Mongoloid/9 +Mongol/7 +mongoose/7 +mongrel/7 +Monica/6 +monies/6 +Monika/6 +moniker/7 +Monique/6 +monism/7 +monist/7 +monition/7 +monitored/12 +monitor/26 +monitory/9 +monkeyshine/9 +monkey/26 +monkish +Monk/6 +monk/7 +monkshood/7 +Monmouth/6 +monochromatic +monochromator +monochrome/7 +monocle/56 +monoclinic +monoclonal/9 +monocotyledonous +monocotyledon/7 +monocular/16 +monodic +monodist/9 +monody/7 +monogamist/7 +monogamous/28 +monogamy/7 +monogrammed +monogramming +monogram/7 +monograph/26 +monographs +monolingualism +monolingual/9 +monolithic +monolithically +monolith/6 +monoliths +monologist/9 +monologue/26 +monomaniacal +monomaniac/7 +monomania/7 +monomeric +monomer/7 +monomial/7 +mono/7 +Monongahela/6 +mononuclear +mononucleoses +mononucleosis/6 +monophonic +monoplane/7 +monopole/9 +monopolistic +monopolist/7 +monopolization/7 +monopolized/12 +monopolize/23 +monopolizes/12 +monopoly/7 +monorail/7 +monostable +monosyllabic +monosyllable/7 +monotheism/7 +monotheistic +monotheist/9 +monotone/26 +monotonic +monotonically +monotonicity +monotonousness/7 +monotonous/28 +monotony/7 +monovalent +monoxide/7 +Monroe/6 +Monro/6 +Monrovia/6 +Monsanto/6 +monseigneur +monsieur/6 +Monsignori +Monsignor/7 +monsignor/9 +Mon/7 +monsoonal +monsoon/7 +monster/7 +monstrance/48 +monstrosity/7 +monstrousness/6 +monstrous/28 +montage/26 +Montague/6 +Montaigne/6 +Montana/6 +Montanan/7 +Montcalm/6 +Montclair/6 +Monte/6 +Montenegrin +Montenegro/6 +Monterey/6 +Monterrey/6 +Montesquieu/6 +Montessori/6 +Monteverdi/6 +Montevideo/6 +Montezuma +Montgomery/6 +monthly/9 +month/86 +months +Monticello/6 +Monti/6 +Mont/6 +Montmartre/6 +Montoya/6 +Montpelier/6 +Montrachet/6 +Montreal/6 +Montserrat/6 +Monty/6 +monumentality/6 +monumental/19 +monument/26 +mooch/23 +moodily +moodiness/7 +mood/7 +Moody/6 +moody/98 +Moog +moo/17 +moonbeam/7 +Mooney/6 +moon/26 +moonless +moonlight/49 +moonlighting/6 +moonlit +Moon/6 +moonscape/7 +moonshiner/6 +moonshine/96 +moonshot/7 +moonstone/7 +moonstruck +moonwalk/17 +Moore/6 +moor/171 +mooring/6 +Moorish +moorland/7 +Moor/7 +moose/6 +moot/31 +moped/7 +moper/6 +mope/9 +mopey +mopier +mopiest +mopish +mopped +moppet/7 +mopping +mop/49 +moraine/7 +morale/7 +Morales/6 +moralistic +moralistically +moralist/7 +morality/41 +moralization/120 +moralize/265 +moralled +moraller +moralling +moral/65 +Mora/6 +Moran/6 +morass/7 +moratorium/7 +Moravia/6 +Moravian +moray/7 +morbidity/7 +morbidness/9 +morbid/28 +mordancy/7 +mordant/183 +Mordecai/6 +Mord/6 +Mordred/6 +Mordy/6 +more/627 +Moreen/6 +Morehouse/6 +Moreland/6 +morel/7 +More/6 +Morena/6 +Moreno/6 +moreover +Morey/6 +Morgana/6 +Morganica/6 +Morgan/7 +Morganne/6 +morgen/6 +Morgen/6 +morgue/7 +Morgun/6 +Moria/6 +Moriarty/6 +moribundity/6 +moribund/19 +Morie/6 +Morin/6 +morion/6 +Morison/6 +Morissa/6 +Morita/6 +Moritz/6 +Morlee/6 +Morley/6 +Morly/6 +Mormonism/7 +Mormon/7 +Morna/6 +morning/86 +morn/171 +Moroccan/9 +Morocco/6 +morocco/7 +Moro/6 +moronic +moronically +Moroni/6 +moron/7 +moroseness/7 +morose/28 +morpheme/26 +morphemic/9 +Morpheus/6 +morph/387 +morphia/9 +morphine/7 +morphism/7 +morphologic +morphological/19 +morphology/7 +morphophonemic/9 +morphophonemics/6 +morphs +Morrie/6 +morris +Morris/6 +Morrison/6 +Morristown/6 +Morrow/6 +morrow/7 +Morry/6 +morsel/26 +Morse/6 +mortality/7 +mortal/16 +mortarboard/7 +mortar/26 +Morten/6 +mortgageable +mortgagee/7 +mortgage/26 +mortgagor/7 +mortice's +mortician/7 +Mortie/6 +mortification/6 +mortified/19 +mortifier/6 +mortify/294 +Mortimer/6 +mortise/26 +Mort/72 +Morton/6 +mortuary/7 +Morty/6 +Mosaic +mosaicked +mosaicking +mosaic/7 +Moscone/6 +Moscow/6 +Moseley/6 +Moselle/6 +Mose/175 +Moser/6 +mosey/17 +Moshe/6 +Moslem's +Mosley/6 +mosque/7 +mosquitoes +mosquito/6 +mos/9 +mossback/7 +Mossberg/6 +Moss/6 +moss/26 +mossy/228 +most/16 +Mosul/6 +mote/634 +motel/7 +mote's +motet/7 +mothball/26 +motherboard/7 +motherfucker/30 +motherfucking/251 +motherhood/7 +mothering/6 +motherland/7 +motherless +motherliness/7 +motherly/42 +mother/635 +moths +moth/231 +motif/7 +motile/9 +motility/7 +motional/370 +motioner/6 +motion/111 +motionlessness/9 +motionless/28 +motion's/636 +motions/370 +motivated/12 +motivate/24 +motivational/19 +motivation/6 +motivator/9 +motiveless +motive/26 +motley/9 +motlier +motliest +mot/76 +motocross/7 +motorbike/26 +motorboat/7 +motorcade/26 +motorcar/7 +motorcycle/26 +motorcyclist/7 +motor/26 +motoring/6 +motorist/7 +motorization/7 +motorize/17 +motorized/12 +motorman/6 +motormen +motormouth +motormouths +Motorola/6 +motorway/7 +Motown/6 +mottle/31 +mottler/6 +Mott/6 +mottoes +motto/6 +moue/26 +moulder/17 +moult/17 +mound/26 +mountable +mountaineering/6 +mountaineer/171 +mountainousness/6 +mountainous/28 +mountainside/7 +mountain/7 +mountaintop/7 +Mountbatten/6 +mountebank/26 +mounted/12 +mount/637 +mounter/7 +mounties +Mountie/7 +mounting/7 +Mount/6 +mounts/145 +mourner/6 +mournfuller +mournfullest +mournfulness/9 +mournful/28 +mourning/6 +mourn/179 +mouser/6 +mouse/49 +mousetrapped +mousetrapping +mousetrap/7 +mousiness/7 +mousing/6 +mousse/26 +Moussorgsky/6 +mousy/98 +Mouthe/6 +mouthful/7 +mouthiness/7 +mouth/111 +mouthorgan +mouthpiece/7 +mouths +mouthwash/7 +mouthwatering +mouthy/98 +Mouton/6 +mouton/7 +movable/638 +movableness/118 +move/639 +moved/12 +movement/7 +mover/118 +moviegoer/9 +movie/7 +moving/16 +mower/6 +Mowgli/6 +mowing/6 +mow/23 +moxie/7 +Moyer/6 +Moyna/6 +Moyra/6 +Mozambican/9 +Mozambique/6 +Mozart/6 +Mozelle/6 +Mozes/6 +Mozilla/6 +mozzarella/7 +mp +MP +mpg +mph +MPH +MRI +Mr/6 +Mrs +ms +M's +MS +MSG +Msgr/6 +m's/370 +Ms/9 +MST +MSW +mt +MT +mtg +mtge +Mt/6 +MTS +MTV +Muawiya/6 +Mubarak/6 +muchness/6 +much/144 +mucilage/7 +mucilaginous +mucker/6 +muck/111 +muckraker/6 +muckrake/49 +mucky/54 +mucosa/6 +mucous +mucus/7 +mudded +muddily +muddiness/7 +mudding +muddle/23 +muddleheaded/42 +muddlehead/56 +muddler/6 +muddy/226 +mudflat/9 +mudguard/7 +mudlarks +mud/7 +mudroom/9 +mudslide/9 +mudslinger/6 +mudslinging/6 +mudsling/173 +Mueller/6 +Muenster +muenster/7 +muesli/6 +muezzin/7 +muff/26 +Muffin/6 +muffin/7 +muffler/6 +muffle/23 +Mufi/6 +Mufinella/6 +mufti/7 +Mugabe/6 +mugged +mugger/7 +mugginess/9 +mugging/9 +muggy/98 +mugshot/9 +mug/7 +mugwump/7 +Muhammadanism/9 +Muhammadan/7 +Muhammad/6 +Muire/6 +Muir/6 +Mukden/6 +mukluk/7 +mulattoes +mulatto/6 +mulberry/7 +mulch/26 +mulct/17 +Mulder/6 +mule/26 +muleskinner/9 +muleteer/7 +mulishness/7 +mulish/28 +mullah/6 +mullahs +mullein/7 +Mullen/6 +muller/6 +Muller/6 +mullet/7 +Mulligan/6 +mulligan/7 +mulligatawny/7 +Mullikan/6 +Mullins +mullion/26 +mull/31 +Multan/6 +multi +Multibus/6 +multicellular +multichannel/6 +multicollinearity/6 +multicolor/56 +multicolumn +multicomponent +multicomputer/7 +Multics/6 +MULTICS/6 +multicultural +multiculturalism/9 +multidimensional +multidimensionality +multidisciplinary +multifaceted +multifamily +multifariousness/7 +multifarious/28 +multifigure +multiform +multifunction/81 +multilateral/19 +multilayer +multilevel/81 +multilingual +multilingualism/9 +multimedia/9 +multimegaton/6 +multimeter/6 +multimillionaire/7 +multinational/9 +multinomial/6 +multiphase +multiple/7 +multiplet/7 +multiplex/49 +multiplexor's +multipliable +multiplicand/7 +multiplication/6 +multiplicative/16 +multiplicity/7 +multiplier/6 +multiply/115 +multiprocess/224 +multiprocessor/7 +multiprogram +multiprogrammed +multiprogramming/7 +multipurpose +multiracial +multistage +multistory/9 +multisyllabic +multitasking/9 +multitude/7 +multitudinousness/6 +multitudinous/28 +multiuser +multivalent +multivalued +multivariate +multiversity/6 +multivitamin/9 +mu/6 +mumbler/6 +mumbletypeg/9 +mumble/179 +Mumford/6 +mummed +mummer/7 +mummery/7 +mummification/6 +mummify/15 +mumming +mum/7 +mummy/26 +mumps/6 +muncher/6 +Münchhausen/6 +munchies +Munch/6 +munch/23 +Muncie/6 +mundane/46 +Mundt/6 +munge/179 +Munich/6 +municipality/7 +municipal/16 +munificence/7 +munificent/19 +munition/17 +Munmro/6 +Munoz/6 +Munroe/6 +Munro/6 +mun/9 +Munsey/6 +Munson/6 +Munster/7 +Muong/6 +muon/6 +Muppet/6 +muralist/7 +mural/7 +Murasaki/6 +Murat/6 +Murchison/6 +Murcia/6 +murderer/6 +murderess/9 +murder/49 +murderousness/6 +murderous/28 +Murdoch/6 +Murdock/6 +Mureil/6 +Murial/6 +muriatic +Murielle/6 +Muriel/6 +Murillo/6 +murkily +murkiness/9 +murk/80 +murky/98 +Murmansk/6 +murmurer/6 +murmuring/12 +murmurous +murmur/91 +Murphy/6 +murrain/7 +Murray/6 +Murrow/6 +Murrumbidgee/6 +Murry/6 +Murvyn/6 +muscatel/7 +Muscat/6 +muscat/7 +musclebound +muscle/26 +Muscovite/6 +muscovite/7 +Muscovy/6 +muscularity/7 +muscular/19 +musculature/7 +muse +Muse/6 +muser/6 +musette/7 +museum/7 +mus/187 +musher/6 +mushiness/7 +mush/111 +mushroom/26 +mushy/98 +Musial/6 +musicale/7 +musicality/7 +musicals +musical/10 +musician/65 +musicianship/7 +musicked +musicking +musicological +musicologist/7 +musicology/7 +music/7 +musing/19 +Muskegon/6 +muskeg/7 +muskellunge/7 +musketeer/7 +musketry/7 +musket/7 +musk/26 +muskie/6 +muskiness/7 +muskmelon/7 +muskox/122 +muskrat/7 +musky/177 +Muslim/7 +muslin/7 +mussel/7 +Mussolini/7 +Mussorgsky/6 +muss/17 +mussy/54 +mustache/56 +mustachio/56 +mustang/7 +mustard/7 +muster/47 +mustily +mustiness/7 +mustn't +must/23 +must've +musty/98 +mutability/7 +mutableness/6 +mutable/42 +mutably +mutagen/7 +mutant/7 +mutate/24 +mutational/19 +mutation/6 +mutator/9 +muted/19 +muteness/9 +mute/640 +mutilate/15 +mutilation/6 +mutilator/7 +mutineer/26 +mutinous/19 +mutiny/26 +Mutsuhito/6 +mutterer/6 +mutter/245 +muttonchops +mutton/7 +mutt/96 +mutuality/9 +mutual/16 +muumuu/7 +muzak +Muzak/7 +Muzo/6 +muzzled/12 +muzzle/111 +muzzler/6 +MVP +MW +Myanmar +Mycah/6 +Myca/6 +Mycenaean +Mycenae/6 +Mychal/6 +mycologist/7 +mycology/7 +myelitides +myelitis/6 +Myer/7 +myers +mylar +Mylar/9 +Myles/6 +Mylo/6 +My/6 +myna/7 +Mynheer/6 +myocardial +myocardium/6 +myopia/7 +myopically +myopic/9 +Myrah/6 +Myra/6 +Myranda/6 +Myrdal/6 +myriad/9 +Myriam/6 +Myrilla/6 +Myrle/6 +Myrlene/6 +myrmidon/9 +Myrna/6 +Myron/6 +myrrh/6 +myrrhs +Myrta/6 +Myrtia/6 +Myrtice/6 +Myrtie/6 +Myrtle/6 +myrtle/7 +Myrvyn/6 +Myrwyn/6 +mys +my/9 +myself +Mysore/6 +mysteriousness/7 +mysterious/28 +mystery/26 +mystical/19 +mysticism/7 +mystic/7 +mystification/6 +mystifier/6 +mystify/345 +mystifying/19 +mystique/7 +Myst/6 +mythic +mythical/19 +myth/7 +mythographer/7 +mythography/6 +mythological/19 +mythologist/7 +mythologize/263 +mythology/7 +myths +N +NAACP +nabbed +nabbing +Nabisco/6 +nabob/7 +Nabokov/6 +nab/9 +nacelle/7 +nacho/9 +NaCl/6 +nacre/7 +nacreous +Nada/6 +Nadean/6 +Nadeen/6 +Nader/6 +Nadia/6 +Nadine/6 +nadir/7 +Nadiya/6 +Nadya/6 +Nady/6 +nae/303 +Nagasaki/6 +nagged +nagger/9 +nagging/19 +nag/7 +Nagoya/6 +Nagpur/6 +Nagy/6 +Nahuatl/7 +Nahum/6 +naiad/7 +naifs +nailbrush/7 +nailer/6 +nail/111 +Naipaul/6 +Nair/6 +Nairobi/6 +Naismith/6 +naive/38 +naiveté/7 +naivety/7 +Nakamura/6 +Nakayama/6 +nakedness/7 +naked/33 +Nakoma/6 +Nalani/6 +Na/6 +Namath/6 +nameable/12 +name/36 +namedrop +namedropping +named's +named/12 +nameless/28 +namely +nameplate/7 +namer/7 +name's +namesake/7 +Namibia/6 +Namibian/9 +naming/6 +Nam/6 +Nanak/6 +Nana/6 +Nananne/6 +Nancee/6 +Nance/6 +Nancey/6 +Nanchang/6 +Nancie/6 +Nanci/6 +Nancy/6 +Nanete/6 +Nanette/6 +Nanice/6 +Nani/6 +Nanine/6 +Nanjing +Nanking's +Nan/6 +Nannette/6 +Nannie/6 +Nanni/6 +Nanny/6 +nanny/26 +nanometer/7 +Nanon/6 +Nanook/6 +nanosecond/7 +Nansen/6 +Nantes/6 +Nantucket/6 +Naoma/6 +Naomi/6 +napalm/26 +nape/7 +Naphtali/6 +naphthalene/7 +naphtha/7 +Napier/6 +napkin/7 +Naples/6 +napless +Nap/6 +Napoleonic +napoleon/7 +Napoleon/7 +napped +napper/7 +Nappie/6 +napping +Nappy/6 +nappy/80 +nap/7 +Nara/6 +Narbonne/6 +narc/17 +narcissism/7 +narcissistic +narcissist/7 +narcissus/6 +Narcissus/6 +narcoleptic +narcoses +narcosis/6 +narcotic/7 +narcotization/9 +narcotize/17 +Nariko/6 +Nari/6 +nark's +Narmada/6 +Narragansett/6 +narrate/24 +narration/6 +narrative/65 +narratology +narrator/7 +narrowing/42 +narrowness/7 +narrow/77 +narwhal/7 +nary +nasality/7 +nasalization/7 +nasalize/17 +nasal/16 +NASA/7 +nascence/48 +nascent/14 +NASDAQ +Nash/6 +Nashua/6 +Nashville/6 +Nassau/6 +Nasser/6 +nastily +nastiness/7 +nasturtium/7 +nasty/177 +natal +Natala/6 +Natalee/6 +Natale/6 +Natalia/6 +Natalie/6 +Natalina/6 +Nataline/6 +natalist +natality/6 +Natal/6 +Natalya/6 +Nata/6 +Nataniel/6 +Natasha/6 +Natassia/6 +Natchez +natch/9 +Nate/451 +Nathalia/6 +Nathalie/6 +Nathanael/6 +Nathanial/6 +Nathaniel/6 +Nathanil/6 +Nathan/7 +nationalism/7 +nationalistic +nationalistically +nationalist/7 +nationality/7 +nationalization/7 +nationalize/263 +nationalized/13 +nationalizer/7 +national/16 +nationhood/7 +nation/7 +nationwide +nativeness/6 +native/46 +Natividad/6 +Nativity/6 +nativity/7 +Natka/6 +natl +Nat/6 +NATO/7 +natter/17 +nattily +nattiness/7 +Natty/6 +natty/98 +naturalism/7 +naturalistic +naturalist/7 +naturalization/7 +naturalized/12 +naturalize/17 +naturalness/302 +natural/161 +naturals +nature/311 +nature's +naturist +Naugahyde/9 +naughtily +naughtiness/7 +naught/7 +naughty/177 +Naur/6 +Nauru/6 +nausea/7 +nauseate/17 +nauseating/19 +nauseousness/7 +nauseous/42 +nautical/19 +nautilus/7 +Navaho's +Navajoes +Navajo/9 +naval/19 +Navarro/6 +navel/7 +nave/7 +navigability/7 +navigableness/6 +navigable/42 +navigate/15 +navigational +navigation/6 +navigator/7 +Navona/6 +Navratilova/6 +navvy/6 +Navy/9 +navy/7 +nay/7 +naysayer/9 +Nazarene/7 +Nazareth/6 +Nazi/7 +Nazism/9 +NB +NBA +NBC +Nb/6 +NBS +NC +NCAA +NCC +NCO +NCR +ND +N'Djamena +Ndjamena/6 +Nd/6 +Ne +NE +Neala/6 +Neale/6 +Neall/6 +Neal/6 +Nealon/6 +Nealson/6 +Nealy/6 +Neanderthal/9 +neap/17 +Neapolitan/7 +nearby +nearly/54 +nearness/7 +nearside/6 +nearsightedness/9 +nearsighted/28 +near/77 +neaten/47 +neath +neatness/7 +neat/35 +Neb/6 +Nebraska/6 +Nebraskan/7 +Nebr/6 +Nebuchadnezzar/7 +nebulae +nebula/6 +nebular +nebulousness/7 +nebulous/28 +necessaries +necessarily/12 +necessary/12 +necessitate/15 +necessitation/6 +necessitous +necessity/7 +neckband/6 +neckerchief/7 +neck/211 +necking/6 +necklace/26 +neckline/7 +necktie/7 +necrology/7 +necromancer/7 +necromancy/7 +necromantic +necrophiliac/9 +necrophilia/6 +necropolis/7 +necropsy/6 +necroses +necrosis/6 +necrotic +nectarine/7 +nectarous +nectar/7 +nectary/7 +Neda/6 +Nedda/6 +Neddie/6 +Neddy/6 +Nedi/6 +Ned/6 +née +needed/12 +needer/6 +needful/46 +Needham/6 +neediness/7 +needlecraft/6 +needle/49 +needlepoint/7 +needlessness/9 +needless/28 +needlewoman/6 +needlewomen +needlework/175 +needn't +need/34 +needy/98 +Neel/6 +Neely/6 +ne'er +nefariousness/7 +nefarious/28 +Nefen/6 +Nefertiti/6 +negated/12 +negater/6 +negate/426 +negation/6 +negativeness/7 +negative/22 +negativism/7 +negativity/7 +negator/7 +Negev/6 +neglecter/6 +neglectfulness/7 +neglectful/28 +neglect/31 +negligee/7 +negligence/7 +negligent/19 +negligibility/6 +negligible +negligibly +negotiability/7 +negotiable/14 +negotiant/6 +negotiate/132 +negotiation/118 +negotiator/7 +Negress/7 +negritude/7 +Negritude/9 +Negroes +negroid +Negroid/9 +Negro/6 +neg/9 +Nehemiah/6 +Nehru/6 +neighbored/12 +neighborer/6 +neighborhood/7 +neighborlinesses +neighborliness/135 +neighborly/236 +neighbor/641 +neigh/165 +neighs +Neila/6 +Neile/6 +Neilla/6 +Neille/6 +Neill/6 +Neil/7 +neither +Nelda/6 +Nelia/6 +Nelie/6 +Nelle/6 +Nellie/6 +Nelli/6 +Nell/6 +Nelly/6 +Nelsen/6 +Nels/122 +Nelson/6 +nelson/7 +nematic +nematode/7 +Nembutal/6 +nemeses +nemesis +Nemesis/6 +neoclassical +neoclassicism/7 +neoclassic/6 +neocolonialism/7 +neocortex/6 +neodymium/7 +Neogene +neolithic +Neolithic/6 +neologism/7 +neomycin/6 +neonatal/19 +neonate/7 +neon/56 +neophyte/7 +neoplasm/7 +neoplastic +neoprene/7 +Nepalese +Nepali/7 +Nepal/6 +nepenthe/7 +nephew/7 +nephrite/7 +nephritic +nephritides +nephritis/6 +nepotism/7 +nepotist/9 +Neptune/6 +neptunium/7 +nerd/9 +nerdy/54 +Nereid/6 +Nerf/6 +Nerissa/6 +Nerita/6 +Nero/6 +Neron/6 +Nerta/6 +Nerte/6 +Nertie/6 +Nerti/6 +Nert/6 +Nerty/6 +Neruda/6 +nervelessness/7 +nerveless/28 +nerve's +nerve/180 +nerviness/7 +nerving/6 +nervousness/7 +nervous/28 +nervy/98 +Nessa/6 +Nessie/6 +Nessi/6 +Nessy/6 +Nesta/6 +nester/6 +Nester/6 +Nestle/6 +nestler/6 +nestle/31 +nestling/6 +Nestorius/6 +Nestor/6 +nest/101 +netball/6 +nether +Netherlander/7 +Netherlands/6 +nethermost +netherworld/9 +Netscape/6 +net/7 +Netta/6 +Nettie/6 +Netti/6 +netting/6 +nett/187 +Nettle/6 +nettle/26 +nettlesome +Netty/6 +network/171 +Netzahualcoyotl/6 +Neumann/6 +neuralgia/7 +neuralgic +neural/19 +neurasthenia/7 +neurasthenic/9 +neuritic/9 +neuritides +neuritis/6 +neuroanatomy +neurobiology/6 +neurological/19 +neurologist/7 +neurology/7 +neuromuscular +neuronal +neurone/9 +neuron/7 +neuropathology/6 +neurophysiology/6 +neuropsychiatric +neuroses +neurosis/6 +neurosurgeon/7 +neurosurgery/7 +neurotically +neurotic/9 +neurotransmitter/9 +neuter/245 +neutralise's +neutralism/7 +neutralist/9 +neutrality/7 +neutralization/7 +neutralized/12 +neutralize/23 +neutral/46 +neutrino/7 +neutron/7 +neut/90 +Nevada/6 +Nevadan/9 +Nevadian/9 +Neva/6 +never +nevermore +nevertheless +nevi +Nevile/6 +Neville/6 +Nevil/6 +Nevin/7 +Nevis/6 +Nev/6 +Nevsa/6 +Nevsky/6 +nevus/6 +Newark/6 +newbie/9 +newborn/9 +Newbury/6 +Newburyport/6 +Newcastle/6 +newcomer/7 +newed/14 +Newell/6 +newel/7 +newer/14 +newfangled +newfound +newfoundland +Newfoundlander/6 +Newfoundland/96 +newish +newline/7 +newlywed/7 +Newman/6 +newness/7 +Newport/6 +news/14 +newsagent/7 +newsboy/7 +newscaster/6 +newscasting/6 +newscast/373 +newsdealer/7 +newsed +newses +newsflash/9 +newsgirl/9 +newsgroup/7 +newsing +newsletter/7 +NeWS/6 +newsman/6 +newsmen +newspaperman/6 +newspapermen +newspaper/26 +newspaperwoman/6 +newspaperwomen +newsprint/7 +new/77 +newsreader/7 +newsreel/7 +newsroom/9 +news's +newsstand/7 +Newsweekly/6 +newsweekly/9 +Newsweek/86 +newswire +newswoman/6 +newswomen +newsworthiness/7 +newsworthy/98 +newsy/228 +newt/7 +Newtonian +Newton/6 +newton/7 +Nexis/6 +next +nexus/7 +Neysa/6 +NF +NFC +NFL +NFS +Ngaliema/6 +Nguyen/6 +NH +NHL +niacin/7 +Niagara/6 +Niall/6 +Nial/6 +Niamey/6 +nibbed +nibbing +nibbler/6 +nibble/23 +Nibelung/6 +nib/7 +Nicaean +Nicaragua/6 +Nicaraguan/9 +Niccolo/6 +Nice/6 +Nicene +niceness/7 +nicety/7 +nice/33 +niche/26 +Nicholas +Nichole/6 +Nicholle/6 +Nichol/7 +Nicholson/6 +nichrome +nickelodeon/7 +nickel/26 +nicker/47 +Nickey/6 +nick/49 +Nickie/6 +Nicki/6 +Nicklaus/6 +Nick/6 +nicknack's +nickname/111 +nicknamer/6 +Nickolai/6 +Nickola/7 +Nickolaus/6 +Nicko/6 +Nicky/6 +Nicobar/6 +Nicodemus/6 +Nicolai/7 +Nicola/7 +Nicolea/6 +Nicole/6 +Nicolette/6 +Nicoli/7 +Nicolina/6 +Nicoline/6 +Nicolle/6 +Nicol/6 +Nico/6 +Nicosia/6 +nicotine/7 +Niebuhr/6 +niece/7 +Niel/7 +Nielsen/6 +Niels/122 +Nielson/6 +Nietzsche/6 +Nieves/6 +nifty/228 +Nigel/6 +Nigeria/6 +Nigerian/9 +Nigerien +Niger/6 +niggardliness/7 +niggardly/42 +niggard/116 +nigger/366 +niggler/6 +niggle/179 +niggling/19 +nigh/624 +nighs +nightcap/7 +nightclothes +nightclubbed +nightclubbing +nightclub/7 +nightdress/7 +nightfall/7 +nightgown/7 +nighthawk/7 +nightie/7 +Nightingale/6 +nightingale/7 +nightlife/7 +nightlong +nightmare/7 +nightmarish/19 +nightshade/7 +nightshirt/7 +night/642 +nightspot/7 +nightstand/7 +nightstick/9 +nighttime/9 +nightwear/6 +nighty's +NIH +nihilism/7 +nihilistic +nihilist/7 +Nijinsky/6 +Nikaniki/6 +Nike/6 +Niki/6 +Nikita/6 +Nikkie/6 +Nikki/6 +Nikko/6 +Nikolai/6 +Nikola/7 +Nikolaos/6 +Nikolaus/6 +Nikolayev's +Nikoletta/6 +Nikolia/6 +Nikolos/6 +Niko/7 +Nikon/6 +Nile/7 +nilled +nilling +Nil/7 +nil/65 +nilpotent +Nilsen/6 +Nils/122 +Nilson/6 +Nilsson/6 +Ni/6 +nimbi +nimbleness/7 +nimble/98 +nimbly +nimbus/170 +NIMBY +Nimitz/6 +Nimrod/7 +Nina/6 +nincompoop/7 +ninefold +nine/7 +ninepence/6 +ninepin/9 +ninepins/6 +nineteen/216 +nineteenths +ninetieths +Ninetta/6 +Ninette/6 +ninety/216 +Nineveh/6 +ninja/9 +Ninnetta/6 +Ninnette/6 +ninny/7 +Ninon/6 +Nintendo/6 +ninth +ninths +Niobe/6 +niobium/7 +nipped +nipper/26 +nippiness/9 +nipping/19 +nipple/26 +Nipponese +Nippon/6 +nippy/98 +nip/9 +Nirenberg/6 +nirvana/7 +Nirvana/9 +nisei +Nisei/7 +Nissa/6 +Nissan/6 +Nisse/6 +Nissie/6 +Nissy/6 +Nita/6 +niter/6 +nitpick/179 +nitrate/269 +nitration/6 +nitric +nitride/131 +nitriding/6 +nitrification/7 +nitrite/7 +nitrocellulose/7 +nitrogenous +nitrogen/7 +nitroglycerin/7 +nitrous +nitwit/7 +nit/96 +Niven/6 +nixer/6 +nix/31 +Nixie/6 +Nixon/6 +NJ +Nkrumah/6 +NLRB +nm +NM +no/14 +NOAA +Noach/6 +Noah/6 +Noak/6 +Noami/6 +Noam/6 +Nobelist/7 +nobelium/7 +Nobel/6 +Nobe/6 +Nobie/6 +nobility/7 +Noble/6 +nobleman/6 +noblemen +nobleness/7 +noblesse/6 +noble/177 +noblewoman +noblewomen +nob/86 +nobody/7 +Noby/6 +nocturnal/16 +nocturne/7 +nodal/19 +nodded +nodding +noddle/26 +noddy/6 +node/7 +NoDoz/6 +nod/7 +nodular +nodule/7 +Noelani/6 +Noella/6 +Noelle/6 +Noell/6 +Noellyn/6 +Noel/7 +noel/9 +Noelyn/6 +Noe/6 +Noemi/6 +noes/9 +noggin/7 +nohow +noise/26 +noiselessness/7 +noiseless/28 +noisemaker/6 +noisemake/174 +noisily +noisiness/7 +noisome +noisy/98 +Nola/6 +Nolana/6 +Noland/6 +Nolan/6 +Nolie/6 +Nollie/6 +Noll/6 +Nolly/6 +No/6 +nomadic +nomad/7 +Nome/6 +nomenclature/7 +Nomi/6 +nominalized +nominal/370 +nominally +nominals +nominate/103 +nomination/104 +nominative/16 +nominator/186 +nominee/7 +non +nonabrasive +nonabsorbent/9 +nonacademic/9 +nonacceptance/7 +nonacid/7 +nonactive +nonadaptive +nonaddictive +nonadhesive +nonadjacent +nonadjustable +nonadministrative +nonage/7 +nonagenarian/7 +nonaggression/7 +nonagricultural +Nonah/6 +nonalcoholic/9 +nonaligned +nonalignment/7 +nonallergic +Nona/6 +nonappearance/7 +nonassignable +nonathletic +nonattendance/7 +nonautomotive +nonavailability/7 +nonbasic +nonbeliever/7 +nonbelligerent/9 +nonblocking +nonbreakable +nonburnable +nonbusiness +noncaloric +noncancerous +noncarbohydrate/6 +nonce/7 +nonchalance/7 +nonchalant/28 +nonchargeable +nonclerical/9 +nonclinical +noncollectable +noncombatant/7 +noncombustible/9 +noncommercial/9 +noncommissioned +noncommittal/19 +noncom/7 +noncommunicable +noncompeting +noncompetitive +noncompliance/7 +noncomplying/9 +noncomprehending +nonconducting +nonconductor/7 +nonconforming +nonconformist/7 +nonconformity/7 +nonconsecutive +nonconservative +nonconstructive +noncontagious +noncontiguous +noncontinuous +noncontributing +noncontributory +noncontroversial +nonconvertible +noncooperation/7 +noncorroding/9 +noncorrosive +noncredit +noncriminal/9 +noncritical +noncrystalline +noncumulative +noncustodial +noncyclic +nondairy +nondecreasing +nondeductible +nondelivery/7 +nondemocratic +nondenominational +nondepartmental +nondepreciating +nondescript/16 +nondestructive/19 +nondetachable +nondeterminacy +nondeterminate/19 +nondeterminism +nondeterministic +nondeterministically +nondisciplinary +nondisclosure/7 +nondiscrimination/7 +nondiscriminatory +nondramatic +nondrinker/7 +nondrying +nondurable +noneconomic +noneducational +noneffective/9 +nonelastic +nonelectrical +nonelectric/9 +nonemergency +nonempty +nonenforceable +nonentity/7 +nonequivalence/6 +nonequivalent/9 +none/9 +nones/6 +nonessential/9 +nonesuch/7 +nonetheless +nonevent/7 +nonexchangeable +nonexclusive +nonexempt +nonexistence/7 +nonexistent +nonexplosive/9 +nonextensible +nonfactual +nonfading +nonfat +nonfatal +nonfattening +nonferrous +nonfictional +nonfiction/7 +nonflammable +nonflowering +nonfluctuating +nonflying +nonfood/6 +nonfreezing +nonfunctional +nongovernmental +nongranular +nonhazardous +nonhereditary +nonhuman +nonidentical +Nonie/6 +Noni/6 +noninclusive +nonindependent +nonindustrial +noninfectious +noninflammatory +noninflationary +noninflected +nonintellectual/9 +noninteracting +noninterchangeable +noninterference/7 +nonintervention/7 +nonintoxicating +nonintuitive +noninvasive +nonionic +nonirritating +nonjudgmental +nonjudicial +nonlegal +nonlethal +nonlinearity/7 +nonlinear/19 +nonlinguistic +nonliterary +nonliving +nonlocal +nonmagical +nonmagnetic +nonmalignant +nonmember/7 +nonmetallic +nonmetal/7 +nonmigratory +nonmilitant/9 +nonmilitary +Nonnah/6 +Nonna/6 +nonnarcotic/9 +nonnative/9 +nonnegative +nonnegotiable +nonnuclear +nonnumerical/9 +nonobjective +nonobligatory +nonobservance/7 +nonobservant +nonoccupational +nonoccurence +nonofficial +nonogenarian +nonoperational +nonoperative +nonorthogonal +nonorthogonality +nonparallel/9 +nonparametric +nonpareil/7 +nonparticipant/7 +nonparticipating +nonpartisan/9 +nonpaying +nonpayment/7 +nonperformance/7 +nonperforming +nonperishable/9 +nonperson/9 +nonperturbing +nonphysical/19 +nonplus/9 +nonplussed +nonplussing +nonpoisonous +nonpolitical +nonpolluting +nonporous +nonpracticing +nonprejudicial +nonprescription +nonprocedural/19 +nonproductive +nonprofessional/9 +nonprofit/141 +nonprogrammable +nonprogrammer +nonproliferation/7 +nonpublic +nonpunishable +nonracial +nonradioactive +nonrandom +nonreactive +nonreciprocal/9 +nonreciprocating +nonrecognition/7 +nonrecoverable +nonrecurring +nonredeemable +nonreducing +nonrefillable +nonrefundable +nonreligious +nonrenewable +nonrepresentational +nonresidential +nonresident/7 +nonresidual +nonresistance/7 +nonresistant/9 +nonrespondent/9 +nonresponse +nonrestrictive +nonreturnable/9 +nonrhythmic +nonrigid +nonsalaried +nonscheduled +nonscientific +nonscoring +nonseasonal +nonsectarian +nonsecular +nonsegregated +nonsense/7 +nonsensicalness/6 +nonsensical/28 +nonsensitive +nonsexist +nonsexual +nonsingular +nonskid +nonslip +nonsmoker/7 +nonsmoking +nonsocial +nonspeaking +nonspecialist/7 +nonspecializing +nonspecific +nonspiritual/9 +nonstaining +nonstandard +nonstarter/7 +nonstick +nonstop +nonstrategic +nonstriking +nonstructural +nonsuccessive +nonsupervisory +nonsupport/166 +nonsurgical +nonsustaining +nonsympathizer/6 +nontarnishable +nontaxable/9 +nontechnical/19 +nontenured +nonterminal/7 +nonterminating +nontermination/6 +nontheatrical +nonthinking/9 +nonthreatening +nontoxic +nontraditional +nontransferable +nontransparent +nontrivial +nontropical +nonuniform +nonunion/9 +nonuser/7 +nonvenomous +nonverbal/19 +nonveteran/7 +nonviable +nonviolence/7 +nonviolent/19 +nonvirulent +nonvocal +nonvocational +nonvolatile +nonvolunteer/9 +nonvoter/7 +nonvoting +nonwhite/7 +nonworking +nonyielding +nonzero +noodle/26 +nook/7 +noonday/7 +noon/26 +nooning/6 +noontide/7 +noontime/7 +noose/26 +nope/9 +NORAD/6 +noradrenalin +noradrenaline/6 +Norah/6 +Nora/6 +Norbert/6 +Norberto/6 +Norbie/6 +Norby/6 +Nordhoff/6 +Nordic/9 +Nordstrom/6 +Norean/6 +Noreen/6 +Norene/6 +Norfolk/6 +nor/540 +Norina/6 +Norine/6 +normalcy/7 +normality/7 +normalization/14 +normalizations +normalization's +normalized/13 +normalizes/13 +normalize/67 +normal/16 +Norma/6 +Normand/6 +Normandy/6 +Norman/7 +normativeness/6 +normative/28 +Normie/6 +norm/26 +Normy/6 +Norplant +Norrie/6 +Norri/7 +Norristown/6 +Norry/6 +Norse +Norseman/6 +Norsemen +Northampton/6 +northbound +northeastern +northeaster/86 +Northeast/7 +northeastward/9 +northeast/96 +northerly/9 +norther/86 +Northerner/6 +northernmost +northern/643 +Northfield/6 +northing/6 +northland +North/6 +northmen +north/644 +Northrop/6 +Northrup/6 +norths +Norths +Northumberland/6 +northward/9 +northwestern +northwester/86 +northwest/96 +Northwest/7 +northwestward/9 +Norton/6 +Norwalk/6 +Norway/6 +Norwegian/9 +Norwich/6 +Norw/6 +nosebag/6 +nosebleed/7 +nosecone/9 +nosedive/17 +nosed/130 +nosegay/7 +nose/6 +Nosferatu/6 +nos/17 +nosh/26 +nosily +nosiness/7 +nosing/6 +nostalgia/7 +nostalgically +nostalgic/9 +Nostradamus/6 +Nostrand/6 +nostril/7 +nostrum/7 +nosy/225 +notability/7 +notableness/6 +notable/144 +notably +notarial +notarization/9 +notarize/17 +notary/7 +notate/24 +notational/645 +notation/484 +notative/525 +notch/26 +not/428 +notebook/7 +note/646 +notedness/6 +noted/28 +notepad/9 +notepaper/7 +note's +noteworthiness/7 +noteworthy/42 +nothingness/7 +nothing/144 +noticeable/12 +noticeably +noticeboard/9 +noticed/12 +notice/26 +notifiable +notification/6 +notifier/6 +notify/115 +notional/19 +notion/7 +notoriety/9 +notoriousness/6 +notorious/28 +Notre/6 +Nottingham/6 +notwithstanding +Nouakchott/6 +nougat/7 +Noumea/6 +noun/341 +nourish/8 +nourished/12 +nourisher/6 +nourishment/7 +nous/6 +nouveau +nouvelle +novae +Novak/6 +Nova/6 +nova/7 +novelette/7 +Novelia/6 +novelist/7 +novelization/9 +novelize/17 +Novell/7 +novella/7 +novel/7 +novelty/7 +November/7 +novena/7 +novene +Novgorod/6 +novice/7 +novitiate/7 +Nov/6 +Novocaine/6 +Novocain/9 +Novokuznetsk/6 +Novosibirsk/6 +NOW +nowadays +noway/9 +Nowell/6 +nowhere/9 +nowise +now/9 +noxiousness/6 +noxious/28 +Noyce/6 +Noyes/6 +nozzle/7 +Np +NP +NRA +nroff/6 +N's +NS +n's/443 +NSF +n/357 +NT +nth +nuance/56 +nubbin/7 +nubby/54 +Nubia/6 +Nubian/6 +nubile +nub/7 +nuclear/370 +nuclease/6 +nucleated/14 +nucleate/15 +nucleation/6 +nucleic +nuclei/6 +nucleoli +nucleolus/6 +nucleon/7 +nucleotide/7 +nucleus/6 +nuclide/6 +nude/647 +nudely +nudeness/6 +nudest +nudge/31 +nudger/6 +nudism/7 +nudist/7 +nudity/7 +nugatory +Nugent/6 +nugget/7 +nuisance/7 +nuke/26 +Nukualofa +extensions/spellcheck/hunspell/src/17 +nullification/6 +nullifier/6 +nullify/115 +nullity/7 +nu/6 +numbered/13 +numberer/6 +numberless +numberplate/6 +number/648 +numbers/14 +Numbers/6 +numbing/19 +numbness/7 +numb/100 +numbskull's +numerable/443 +numeracy/230 +numeral/65 +numerate/15 +numerates/45 +numeration/6 +numerator/7 +numerical/19 +numeric/9 +numerological +numerologist/9 +numerology/7 +numerousness/6 +numerous/28 +numinous/9 +numismatic/9 +numismatics/6 +numismatist/7 +numskull/7 +Nunavut/6 +nuncio/7 +Nunez/6 +Nunki/6 +nun/7 +nunnery/7 +nuptial/9 +Nuremberg/6 +Nureyev/6 +nursemaid/7 +nurser/6 +nurseryman/6 +nurserymen +nursery/7 +nurse/91 +nursling/6 +nurturer/6 +nurture/49 +nus +nutate/55 +nutation/6 +nutcracker/6 +nutcrack/90 +nuthatch/7 +nutmeat/7 +nutmegged +nutmegging +nutmeg/7 +nut/7 +nutpick/7 +Nutrasweet/6 +nutria/7 +nutrient/7 +nutriment/7 +nutritional/19 +nutritionist/7 +nutrition/7 +nutritiousness/7 +nutritious/28 +nutritive/19 +nutshell/7 +nutted +nuttiness/7 +nutting +nutty/98 +nuzzle/23 +NV +NW +NWT +NY +Nyasa/6 +NYC +Nydia/6 +Nye/6 +Nyerere/6 +nylon/7 +nymphet/7 +nymph/6 +nympholepsy/6 +nymphomaniac/9 +nymphomania/7 +nymphs +Nyquist/6 +NYSE +Nyssa/6 +NZ +o +O +oafishness/9 +oafish/28 +oaf/7 +Oahu/6 +Oakland/6 +Oakley/6 +Oakmont/6 +oak/125 +oakum/7 +oakwood +oar/26 +oarlock/7 +oarsman/6 +oarsmen +oarswoman +oarswomen +OAS +oases +oasis/6 +oatcake/7 +oater/6 +Oates/6 +oath/6 +oaths +oatmeal/7 +oat/197 +Oaxaca/6 +ob +OB +Obadiah/6 +Obadias/6 +obbligato/9 +obduracy/9 +obdurateness/9 +obdurate/22 +Obediah/6 +obedience/85 +obedient/75 +Obed/6 +obeisance/7 +obeisant/19 +obelisk/7 +Oberlin/6 +Oberon/6 +obese +obesity/7 +obey/137 +obeyer/82 +obfuscate/294 +obfuscation/6 +obfuscatory +Obidiah/6 +Obie/6 +obi/26 +obit/175 +obituary/7 +obj +objectify/15 +objectionableness/6 +objectionable/12 +objectionably +objection/465 +objectiveness/7 +objective/46 +objectivity/7 +objector/7 +object/163 +objurgate/15 +objurgation/6 +oblate/649 +oblation/6 +obligate/215 +obligational +obligation/6 +obligatorily +obligatory +obliged/25 +obliger/6 +obliges/25 +oblige/31 +obligingness/6 +obliging/28 +oblique/22 +obliqueness/9 +obliquity/7 +obliterate/24 +obliteration/6 +obliterative/19 +oblivion/7 +obliviousness/7 +oblivious/28 +oblongness/6 +oblong/46 +obloquies +obloquy/6 +Ob/170 +obnoxiousness/7 +obnoxious/28 +oboe/7 +oboist/9 +obos +O'Brien/6 +obs +obscene/93 +obscenity/7 +obscurantism/7 +obscurantist/7 +obscuration +obscureness/6 +obscure/650 +obscurity/7 +obsequies +obsequiousness/9 +obsequious/28 +obsequy +observability/6 +observable/302 +observably +observance/7 +observantly +observants +observant/12 +observational/19 +observation/7 +observatory/7 +observed/12 +observer/6 +observe/67 +observing/19 +obsess/64 +obsessional +obsession/7 +obsessiveness/9 +obsessive/46 +obsidian/7 +obsolesce/17 +obsolescence/9 +obsolescent/19 +obsolete/22 +obsoleteness/6 +obstacle/7 +obstetrical +obstetrician/7 +obstetric/9 +obstetrics/6 +obstinacy/7 +obstinateness/6 +obstinate/28 +obstreperousness/7 +obstreperous/28 +obstructed/12 +obstructer/6 +obstructionism/7 +obstructionist/7 +obstruction/7 +obstructiveness/7 +obstructive/46 +obstruct/29 +obtainable/12 +obtainably +obtain/113 +obtainment/9 +obtrude/31 +obtruder/6 +obtrusion/9 +obtrusiveness/41 +obtrusive/161 +obtuseness/9 +obtuse/33 +obverse/16 +obviate/15 +obviousness/7 +obvious/28 +Oby/6 +ocarina/7 +O'Casey +Occam/6 +occasional/19 +occasion/171 +Occidental/9 +occidental/16 +occident/6 +Occident/7 +occipital/19 +occlude/17 +occlusion/7 +occlusive/9 +occulter/6 +occultism/7 +occult/34 +occupancy/7 +occupant/7 +occupational/19 +occupation/48 +occupied/13 +occupier/6 +occupies/14 +occupy/23 +occur/63 +occurred/14 +occurrence/7 +occurring/14 +oceanfront/7 +oceangoing +Oceania/6 +oceanic +ocean/7 +oceanographer/7 +oceanographic +oceanography/7 +oceanology/7 +oceanside +Oceanside/6 +Oceanus/6 +ocelot/7 +ocher/26 +Ochoa/6 +o'clock +O'Clock +O'Connell/6 +O'Connor/6 +Oconomowoc/6 +OCR +octagonal/19 +octagon/7 +octahedral +octahedron/6 +octal/9 +octane/7 +octant/6 +octave/7 +Octavia/6 +Octavian/6 +Octavio/6 +Octavius/6 +octavo/7 +octennial +octet/7 +octile +octillion/6 +Oct/6 +October/7 +octogenarian/7 +octopus/7 +octoroon/6 +ocular/9 +oculist/7 +OD +odalisque/7 +oddball/7 +oddity/7 +oddment/7 +oddness/7 +odd/651 +Odele/6 +Odelia/6 +Odelinda/6 +Odella/6 +Odelle/6 +Odell/6 +O'Dell/6 +ode/286 +Ode/114 +Oderberg/7 +Oder/6 +Odessa/6 +Odets/6 +Odetta/6 +Odette/6 +Odey/6 +Odie/6 +Odilia/6 +Odille/6 +Odin/6 +odiousness/7 +odious/28 +Odis/6 +odium/7 +Odo/6 +odometer/7 +Odom/6 +O'Donnell/6 +odor/56 +odoriferous +odorless +odorous/28 +ODs +O'Dwyer/6 +Ody/6 +Odysseus/6 +Odyssey/6 +odyssey/9 +OE +OED +oedipal +Oedipal/19 +Oedipus/6 +OEM/6 +OEMS +oenology/7 +oenophile/9 +o'er +O'Er +Oersted/6 +oesophagi +oeuvre/7 +Ofelia/6 +Ofella/6 +offal/7 +offbeat/7 +offcuts +Offenbach/6 +offender/6 +offend/23 +offense/76 +offensively/45 +offensiveness/43 +offensive/46 +offerer/6 +offering/6 +offer/245 +offertory/7 +offhand/81 +offhandedness/9 +offhanded/28 +officeholder/7 +officemate/9 +officer/165 +officership/9 +office/96 +officialdom/7 +officialism/7 +officially/12 +official/32 +officiant/7 +officiate/15 +officiation/6 +officiator/7 +officio +officiousness/7 +officious/28 +offing/6 +offish +offload/17 +offprint/26 +offramp +offset/7 +offsetting +offshoot/7 +offshore +offside/208 +offspring/6 +offstage/9 +off/179 +offtrack +Ofilia/6 +of/370 +often/54 +oftentimes +oft/652 +ofttimes +Ogbomosho/6 +Ogdan/6 +Ogden/6 +Ogdon/6 +Ogilvy/6 +ogive/6 +Oglethorpe/6 +ogle/23 +ogreish +ogre/7 +ogress/9 +oh +OH +O'Hara +O'Hare/6 +O'Higgins +Ohioan/9 +Ohio/6 +ohmic +ohmmeter/7 +ohm/7 +oho/9 +ohs +OHSA/6 +oilcloth/6 +oilcloths +oiler/6 +oilfield/7 +oiliness/7 +oilman/6 +oil/49 +oilmen +oilseed/7 +oilskin/7 +oily/98 +oink/17 +ointment/7 +Oise/6 +OJ +Ojibwa/7 +Okamoto/6 +okapi/7 +Okayama/6 +okay/6 +Okeechobee/6 +O'Keeffe +Okefenokee +Okhotsk/6 +Okinawa/6 +Okinawan/9 +Oklahoma/6 +Oklahoman/7 +Okla/6 +OK/165 +okra/7 +OKs +Oktoberfest +Olaf/6 +Olag/6 +Ola/6 +Olav/6 +Oldenburg/6 +olden/47 +Oldfield/6 +oldie/7 +oldish +oldness/9 +Oldsmobile/6 +oldster/7 +Olduvai/6 +old/653 +olé +oleaginous +oleander/7 +O'Leary/6 +olefin/6 +Oleg/6 +Ole/303 +Olenek/6 +Olenka/6 +Olen/6 +Olenolin/6 +oleomargarine/7 +oleo/9 +oles +olfactory +Olga/6 +Olia/6 +oligarchic +oligarchical +oligarch/6 +oligarchs +oligarchy/7 +Oligocene +oligopolistic +oligopoly/7 +Olimpia/6 +Olin/6 +olive/175 +Olive/231 +Oliver/6 +Olivero/6 +Olivette/6 +Olivetti/6 +Olivia/6 +Olivier/6 +Olivie/114 +Oliviero/6 +Oliy/6 +Ollie/6 +Olly/6 +Olmec +Olmsted/6 +Olsen/6 +Olson/6 +Olva/6 +Olvan/6 +Olwen/6 +Olympe/6 +Olympiad/7 +Olympian/9 +Olympia/7 +Olympic/9 +Olympie/6 +Olympus/6 +Omaha/7 +Oman/6 +Omar/6 +ombudsman/6 +ombudsmen +Omdurman/6 +omega/7 +omelet/7 +omelette's +omen/165 +Omero/6 +omicron/7 +ominousness/7 +ominous/28 +omission/7 +omit/9 +omitted +omitting +omnibus/7 +omni/6 +omnipotence/7 +Omnipotent +omnipotent/16 +omnipresence/7 +omnipresent/19 +omniscience/7 +omniscient/16 +omnivore/7 +omnivorousness/7 +omnivorous/28 +oms +Omsk/6 +om/107 +ON +onanism/6 +Onassis/6 +oncer/6 +once/208 +oncogene/9 +oncologist/9 +oncology/7 +oncoming/9 +Ondrea/6 +Oneal/6 +Onega/6 +Onegin/6 +Oneida/7 +O'Neil +O'Neill +oneness/7 +one/654 +oner/6 +onerousness/7 +onerous/28 +oneself +onetime +oneupmanship +Onfre/6 +Onfroi/6 +ongoing/9 +Onida/6 +onion/165 +onionskin/7 +online +onlooker/7 +onlooking +only/567 +Onofredo/6 +Ono/6 +onomatopoeia/7 +onomatopoeic +onomatopoetic +Onondaga/7 +onrush/131 +on/655 +ons +Onsager/6 +onset/7 +onsetting +onshore +onside +onslaught/7 +Ontarian/9 +Ontario/6 +Ont/6 +onto +ontogeny/7 +ontological/19 +ontology/7 +onus/7 +onward/9 +onyx/7 +oodles +ooh/47 +oohs +oolitic +Oona/6 +OOo/6 +oops/9 +Oort/6 +ooze/17 +oozy/54 +opacity/7 +opalescence/9 +opalescent/19 +Opalina/6 +Opaline/6 +Opal/6 +opal/7 +opaque/77 +opaqueness/7 +opcode/7 +OPEC +Opel/6 +opencast +opened/13 +opener/6 +openhandedness/7 +openhanded/42 +openhearted +opening/6 +openness/9 +OpenOffice.org/6 +opens/14 +openwork/7 +open/656 +operable/45 +operandi +operand/7 +operant/16 +opera/7 +operate/24 +operatically +operatic/9 +operationalization/9 +operationalize/81 +operational/19 +operation/6 +operative/261 +operatively +operativeness/123 +operatives +operator/7 +operetta/7 +ope/9 +Ophelia/6 +Ophelie/6 +Ophiuchus/6 +ophthalmic/9 +ophthalmologic +ophthalmologist/7 +ophthalmology/7 +opiate/26 +opine/15 +opinionatedness/6 +opinionated/28 +opinion/6 +opioid +opium/7 +opossum/7 +opp +Oppenheimer/6 +opponent/7 +opportune/51 +opportunism/7 +opportunistic +opportunistically +opportunist/7 +opportunity/7 +oppose/318 +opposed/12 +opposer/6 +oppositeness/6 +opposite/649 +oppositional +opposition/6 +oppress/64 +oppression/7 +oppressiveness/7 +oppressive/28 +oppressor/7 +opprobrious/19 +opprobrium/7 +Oprah/6 +ops +opt/17 +optical/19 +optician/7 +optic/9 +optics/6 +optima +optimality +optimal/19 +optimise's +optimism/7 +optimistic +optimistically +optimist/7 +optimization/7 +optimize/23 +optimized/12 +optimizer/6 +optimizes/12 +optimum/7 +optionality/6 +optional/16 +option/26 +optoelectronic +optometric +optometrist/7 +optometry/7 +opulence/7 +opulent/19 +opus/7 +op/657 +OR +oracle/26 +oracular +Oralee/6 +Oralia/6 +Oralie/6 +Oralla/6 +Oralle/6 +oral/16 +Ora/6 +orangeade/7 +Orange/6 +orange/7 +orangery/7 +orangutan/7 +Oranjestad/6 +Oran/6 +orate/15 +oration/6 +oratorical/19 +oratorio/7 +orator/7 +oratory/7 +Orazio/6 +Orbadiah/6 +orbicular +orbiculares +orbital/65 +orbit/49 +orb/26 +orchard/7 +orchestral/19 +orchestra/7 +orchestrate/15 +orchestrater's +orchestration/6 +orchestrator/6 +orchid/7 +ordainer/6 +ordainment/7 +ordain/8 +ordeal/7 +order/127 +ordered/12 +orderer +ordering/9 +orderless +orderliness/314 +orderly/144 +order's/25 +ordinal/9 +ordinance/7 +ordinarily +ordinariness/9 +ordinary/177 +ordinated +ordinate/45 +ordinates +ordinate's +ordinating +ordination/7 +ordnance/7 +Ordovician +ordure/7 +oregano/7 +Oreg/6 +Oregonian/9 +Oregon/6 +Orelee/6 +Orelia/6 +Orelie/6 +Orella/6 +Orelle/6 +Orel/6 +Oren/6 +Ore/72 +ore/125 +Oreo +Orestes +organdie's +organdy/7 +organelle/7 +organically/45 +organic/9 +organismic +organism/7 +organist/7 +organizable/41 +organizational/65 +organization/128 +organize/119 +organized/147 +organizer/118 +organizes/25 +organizing/25 +organ/7 +organometallic +organza/7 +orgasm/26 +orgasmic +orgiastic +orgy/7 +Oriana/6 +oriel/7 +orientable +Oriental/9 +oriental/16 +orientated/14 +orientate/87 +orientates/14 +orientation/128 +orienteering/6 +orienter +orient/127 +orient's +Orient/7 +orifice/7 +orig +origami/7 +originality/7 +originally +original/302 +originate/24 +origination/6 +originative/19 +originator/7 +origin/7 +Orin/6 +Orinoco/6 +oriole/7 +Orion/6 +orison/7 +Oriya/6 +Orizaba/6 +Orkney/6 +Orland/6 +Orlando/6 +Orlan/6 +Orleans +Orlick/6 +Orlon/7 +Orly/6 +ormolu/7 +or/86 +ornamental/16 +ornamentation/7 +ornament/26 +ornateness/7 +ornate/28 +orneriness/7 +ornery/98 +ornithological +ornithologist/7 +ornithology/7 +orographic/6 +orography/6 +Orono/6 +orotund +orotundity/7 +orphanage/7 +orphanhood/6 +orphan/26 +Orpheus/6 +Orphic +Orran/6 +Orren/6 +Orrin/6 +orris/7 +Orr/72 +ors +Orsa/6 +Orsola/6 +Orson/6 +Ortega/6 +Ortensia/6 +orthodontia/9 +orthodontic/9 +orthodontics/6 +orthodontist/7 +orthodoxies +orthodoxly/12 +Orthodox/9 +orthodoxy's +orthodox/16 +orthodoxy/12 +orthogonality/6 +orthogonalization/6 +orthogonalized +orthogonal/19 +orthographic +orthographically +orthography/7 +orthonormal +orthopedic/9 +orthopedics/6 +orthopedist/7 +orthophosphate/7 +orthorhombic +Ortiz/6 +Orton/6 +Orval/6 +Orville/6 +Orv/6 +Orwellian +Orwell/6 +o's +Osage/7 +Osaka/6 +Osbert/6 +Osborne/6 +Osborn/6 +Osbourne/6 +Osbourn/6 +Oscar/7 +Osceola/6 +oscillate/15 +oscillation/6 +oscillator/7 +oscillatory +oscilloscope/7 +osculate/15 +osculation/6 +Osgood/6 +OSHA +Oshawa/6 +O'Shea/6 +Oshkosh/6 +osier/7 +Osiris/6 +Oslo/6 +Os/6 +OS/6 +Osman/6 +osmium/7 +Osmond/6 +osmoses +osmosis/6 +osmotic +Osmund/6 +osprey/7 +osseous/19 +Ossie/6 +ossification/6 +ossify/15 +ostensible +ostensibly +ostentation/7 +ostentatiousness/6 +ostentatious/28 +osteoarthritides +osteoarthritis/6 +osteology/6 +osteopathic +osteopath/6 +osteopaths +osteopathy/7 +osteoporoses +osteoporosis/6 +ostracise's +ostracism/7 +ostracize/17 +Ostrander/6 +ostrich/7 +Ostrogoth/6 +Ostwald/6 +O'Sullivan/6 +Osvaldo/6 +Oswald/6 +Oswell/6 +OT +OTB +OTC +Otes +Otha/6 +Othelia/6 +Othella/6 +Othello/6 +otherness/6 +other/444 +otherwise +otherworldly/42 +otherworld/19 +Othilia/6 +Othilie/6 +Otho/6 +otiose +Otis/6 +OTOH +Ottawa/7 +otter/26 +Ottilie/6 +Otto/6 +Ottoman +ottoman/7 +Ouagadougou/6 +oubliette/7 +ouch/17 +oughtn't +ought/17 +Ouija/7 +ounce/7 +our/9 +ourself +ourselves +ouster/6 +oust/23 +outage/7 +outargue/17 +outback/175 +outbalance/17 +outbidding +outbid/9 +outboard/9 +outboast/17 +outbound/9 +outbreak/131 +outbroke +outbroken +outbuilding/7 +outburst/131 +outcast/131 +outclass/17 +outcome/7 +outcropped +outcropping/9 +outcrop/7 +outcry/26 +outdated/42 +outdid +outdistance/17 +outdoes +outdo/224 +outdone +outdoor/9 +outdoorsy +outdraw/166 +outdrawn +outdrew +outermost +outerwear/6 +outface/17 +outfall/7 +outfielder/6 +outfield/96 +outfight/166 +outfit/7 +outfitted +outfitter/7 +outfitting +outflank/17 +outflow/26 +outfought +outfox/17 +outgeneraled +outgoes +outgo/301 +outgoing/42 +outgrew +outgrip +outgrow/658 +outgrown +outgrowth/6 +outgrowths +outguess/17 +outhit/9 +outhitting +outhouse/7 +outing/6 +outlaid +outlander/6 +outlandishness/7 +outlandish/28 +outland/90 +outlast/17 +outlawry/6 +outlaw/26 +outlay/131 +outlet/7 +outliers +outline/26 +outlive/17 +outlook/26 +outlying +outmaneuver/17 +outmatch/17 +outmigration +outmoded +outness/6 +outnumber/17 +outpaced +outpatient/7 +outperform/17 +out/659 +outplacement/9 +outplay/17 +outpoint/17 +outpost/7 +outpouring/6 +outpour/503 +outproduce/17 +output/7 +outputted +outputting +outrace/17 +outrage/26 +outrageousness/6 +outrageous/28 +outran +outrank/17 +outré +outreach/17 +outrider/7 +outrigger/7 +outright/19 +outrunning +outrun/9 +outscore/17 +outsell/166 +outset/7 +outsetting +outshine/166 +outshone +outshout/17 +outsider/204 +outside/110 +outsize/9 +outskirt/7 +outsmart/17 +outsold +outsource/71 +outspend/166 +outspent +outspoke +outspokenness/7 +outspoken/28 +outspread/166 +outstanding/19 +outstate/107 +outstation/6 +outstay/17 +outstretch/17 +outstripped +outstripping +outstrip/9 +outtake/9 +outvote/17 +outwardness/6 +outward/46 +outwear/166 +outweigh/47 +outweighs +outwit/9 +outwitted +outwitting +outwore +outwork/26 +outworn +ouzo/7 +oval/32 +ovalness/6 +ova/6 +ovarian +ovary/7 +ovate/15 +ovation/165 +ovenbird/7 +oven/7 +overabundance/7 +overabundant +overachieve/23 +overact/64 +overage/9 +overaggressive +overallocation +overall/7 +overambitious +overanxious +overarching +overarm/17 +overate +overattentive +overawe/17 +overbalance/17 +overbear/166 +overbearingness/6 +overbearing/28 +overbidding +overbid/9 +overbite/7 +overblown +overboard +overbold +overbook/17 +overbore +overborne +overbought +overbuild/166 +overbuilt +overburdening/19 +overburden/17 +overbuy/166 +overcame +overcapacity/6 +overcapitalize/17 +overcareful +overcast/166 +overcasting/6 +overcautious +overcerebral +overcharge/17 +overcloud/17 +overcoating/6 +overcoat/131 +overcomer/6 +overcome/255 +overcommitment/9 +overcompensate/15 +overcompensation/6 +overcomplexity/6 +overcomplicated +overconfidence/7 +overconfident/19 +overconscientious +overconsumption/6 +overcook/17 +overcooled +overcorrection +overcritical +overcrowd/17 +overcurious +overdecorate/17 +overdependent +overdetermined +overdevelop/17 +overdid +overdoes +overdo/224 +overdone +overdose/26 +overdraft/7 +overdraw/166 +overdrawn +overdress/17 +overdrew +overdrive/131 +overdriven +overdrove +overdubbed +overdubbing +overdub/9 +overdue +overeagerness/6 +overeager/28 +overeater/6 +overeat/660 +overeducated +overemotional +overemphases +overemphasis/6 +overemphasize/23 +overenthusiastic +overestimate/15 +overestimation/6 +overexcite/17 +overexercise/17 +overexert/17 +overexertion/7 +overexploitation +overexploited +overexpose/17 +overexposure/7 +overextend/17 +overextension +overfall/6 +overfed +overfeed/166 +overfill/17 +overfishing +overflew +overflight/7 +overflow/17 +overflown +overfly/166 +overfond +overfull +overgeneralize/17 +overgenerous +overgraze/17 +overgrew +overground +overgrow/658 +overgrown +overgrowth/6 +overgrowths +overhand/17 +overhang/166 +overhasty +overhaul/187 +overhead/9 +overheard +overhearer/6 +overhear/255 +overheat/17 +overhung +overincredulous +overindulgence/7 +overindulgent +overindulge/17 +overinflated +overjoy/17 +overkill/26 +overladed +overladen +overlaid +overlain +overland/9 +overlap/7 +overlapped +overlapping +overlarge +overlay/166 +overleaf +overlie +overload/17 +overlong +overlook/17 +overlord/26 +overloud +overly/255 +overmanning +overmaster/17 +overmatching +overmodest +overmuch/9 +overnice +overnight/23 +overoptimism/7 +overoptimistic +overpaid +overparticular +overpass/26 +overpay/661 +overpayment/6 +overplay/17 +overpopulate/15 +overpopulation/6 +overpopulous +overpower/17 +overpowering/19 +overpraise/17 +overprecise +overpressure +overprice/17 +overprint/17 +overproduce/17 +overproduction/9 +overprotect/64 +overprotection/6 +overqualified +overran +overrate/17 +overreach/31 +overreaction/7 +overreact/17 +overred +overrefined +overrepresented +overridden +overrider/6 +override/255 +overripe +overrode +overrule/17 +overrunning +overrun/9 +oversample/47 +oversaturate +oversaw +oversea/9 +overseeing +overseen +overseer/6 +oversee/110 +oversell/166 +oversensitiveness/9 +oversensitive/42 +oversensitivity +oversexed +overshadow/17 +overshoe/7 +overshoot/166 +overshot/9 +oversight/7 +oversimple +oversimplification/6 +oversimplify/15 +oversize/166 +oversleep/166 +overslept +oversoftness/6 +oversoft/42 +oversold +overspecialization/7 +overspecialize/17 +overspend/166 +overspent +overspill/26 +overspread/166 +overstaffed +overstatement/7 +overstate/11 +overstay/17 +overstepped +overstepping +overstep/9 +overstimulate/17 +overstock/17 +overstraining +overstressed +overstretch/81 +overstrict +overstrike/166 +overstrung +overstuffed +oversubscribe/17 +oversubtle +oversupply/26 +oversuspicious +overtaken +overtake/227 +overtax/17 +overthrew +overthrow/166 +overthrown +overtightened +overtime/26 +overtire/17 +overtone/7 +overtook +overt/28 +overture/26 +overturn/17 +overuse/17 +overvalue/17 +overview/7 +overweening +overweight/17 +overwhelm/17 +overwhelming/19 +overwinter/17 +overwork/17 +overwrap +overwrite/166 +overwritten +overwrote +overwrought +over/662 +overzealousness/6 +overzealous/42 +Ovid/6 +oviduct/7 +oviform +oviparous +ovoid/9 +ovular +ovulate/15 +ovulatory +ovule/7 +ovum/7 +ow/663 +Owen/7 +owe/9 +owlet/7 +owl/111 +owlishness/6 +owlish/28 +owned/12 +own/84 +ownership/7 +owner/7 +oxalate/6 +oxalic +oxaloacetic +oxblood/9 +oxbow/7 +oxcart/7 +oxen/6 +oxford/7 +Oxford/7 +oxidant/7 +oxidate/129 +oxidation/6 +oxidative/19 +oxide/7 +oxidization/7 +oxidized/12 +oxidize/179 +oxidizer/6 +oxidizes/14 +ox/125 +Oxnard +Oxonian +oxtail/6 +Oxus/6 +oxyacetylene/7 +oxygenate/269 +oxygenation/6 +oxygen/7 +oxyhydroxides +oxymora +oxymoron/6 +oyster/26 +oystering/6 +oz +Ozark/7 +Oz/6 +ozone/7 +Ozymandias/6 +Ozzie/6 +Ozzy/6 +P +PA +Pablo/6 +Pablum/6 +pablum/9 +Pabst/6 +pabulum/7 +PAC +pace/49 +Pace/6 +pacemaker/7 +pacer/6 +pacesetter/7 +pacesetting +Pacheco/6 +pachyderm/7 +pachysandra/7 +pacific +pacifically +pacification/6 +Pacific/6 +pacifier/6 +pacifism/7 +pacifistic +pacifist/7 +pacify/115 +package/395 +packaged/12 +packager/9 +package's +packages/12 +packaging/7 +Packard/7 +packed/13 +packer/41 +packet/26 +pack/182 +packhorse/6 +packinghouse/9 +packing/6 +packsaddle/7 +Packston/6 +packs/13 +Packwood/6 +Paco/6 +Pacorro/6 +pact/7 +Padang/6 +padded/12 +Paddie/6 +padding/7 +paddle/49 +paddler/6 +paddock/26 +Paddy/6 +paddy/7 +Padget/6 +Padgett/6 +Padilla/6 +padlock/26 +pad/7 +Padraic/6 +Padraig/6 +padre/7 +Padrewski/6 +Padriac/6 +paean/7 +paediatrician/7 +paediatrics/6 +paedophilia's +paella/7 +paeony/6 +Paganini/6 +paganism/7 +pagan/7 +pageantry/7 +pageant/7 +pageboy/7 +paged/12 +pageful +Page/6 +page/49 +pager/6 +paginate/15 +Paglia/6 +pagoda/7 +Pahlavi/6 +paid/13 +Paige/6 +pailful/7 +Pail/6 +pail/7 +Paine/6 +painfuller +painfullest +painfulness/7 +painful/28 +pain/26 +painkiller/7 +painkilling +painlessness/9 +painless/28 +painstaking/16 +paint/119 +paintbox/6 +paintbrush/7 +painted/12 +painterly/42 +painter/86 +painting/7 +paint's +paintwork +paired/13 +pair/171 +pairs/14 +pairwise +paisley/7 +pajama/56 +Pakistani/9 +Pakistan/6 +palace/7 +paladin/7 +palaeolithic +palaeontologists +palaeontology/6 +palanquin/7 +palatability/6 +palatableness/6 +palatable/42 +palatalization/7 +palatalize/17 +palatal/16 +palate/465 +palatial/19 +palatinate/7 +Palatine +palatine/9 +palaver/26 +paleface/7 +Palembang/6 +paleness/9 +Paleocene +Paleogene +paleographer/7 +paleography/7 +paleolithic +Paleolithic +paleontologist/9 +paleontology/7 +Paleozoic +Palermo/6 +pale/46 +Palestine/6 +Palestinian/9 +Palestrina/6 +palette/7 +Paley/6 +palfrey/7 +palimony/9 +palimpsest/7 +palindrome/7 +palindromic +paling/6 +palisade/26 +Palisades/6 +palish +Palladio/6 +palladium/7 +pallbearer/7 +palletized +pallet/26 +pall/26 +palliate/24 +palliation/6 +palliative/16 +pallidness/7 +pallid/28 +Pall/6 +pallor/7 +palmate +palmer/6 +Palmer/6 +Palmerston/6 +palmetto/7 +palm/111 +palmist/7 +palmistry/7 +Palm/114 +Palmolive/6 +palmtop/9 +Palmyra/6 +palmy/54 +Palo/6 +Paloma/6 +Palomar/6 +palomino/7 +palpable +palpably +palpate/15 +palpation/6 +palpitate/15 +palpitation/6 +pal/664 +palsy/26 +paltriness/7 +paltry/98 +paludal +Pa/6 +Pamela/6 +Pamelina/6 +Pamella/6 +pa/140 +Pamirs +Pam/6 +Pammie/6 +Pammi/6 +Pammy/6 +pampas/6 +pamperer/6 +pamper/31 +Pampers +pamphleteer/26 +pamphlet/7 +panacea/7 +panache/7 +Panama/7 +Panamanian/9 +panama/9 +pancake/26 +Panchito/6 +Pancho/6 +panchromatic +pancreas/7 +pancreatic +panda/7 +pandemic/9 +pandemonium/7 +pander/23 +Pandora/6 +panegyric/7 +pane/341 +paneling/6 +panelist/7 +panelization +panelized +panel/171 +Pangaea/6 +pang/26 +pangolin/6 +panhandle/49 +panicked +panicking +panicky/54 +panic/7 +panier's +panjandrum/6 +Pankhurst/6 +Pan/6 +Panmunjom/6 +panned +pannier/7 +panning +panoply/56 +panorama/7 +panoramic +panpipes +Pansie/6 +pan/56 +Pansy/6 +pansy/7 +Pantagruel/6 +Pantaloon/6 +pantaloons +pant/17 +pantheism/7 +pantheistic +pantheist/9 +pantheon/7 +panther/7 +pantie/7 +pantiled +pantograph/6 +pantomime/26 +pantomimic +pantomimist/7 +pantry/7 +pantsuit/7 +pantyhose +pantyliner +pantywaist/7 +Panza/6 +Paola/6 +Paoli/6 +Paolina/6 +Paolo/6 +papacy/7 +Papagena/6 +Papageno/6 +papal/19 +papa/7 +paparazzi +papaw/7 +papaya/7 +paperback/26 +paperboard/7 +paperboy/7 +paperer/6 +papergirl/7 +paper/665 +paperhanger/7 +paperhanging/7 +paperiness/6 +paperless +paperweight/7 +paperwork/7 +papery/42 +papillae +papilla/6 +papillary +papist/7 +papoose/7 +Pappas/6 +papped +papping +pappy/228 +paprika/7 +pap/666 +papyri +papyrus/6 +Paquito/6 +parable/26 +parabola/7 +parabolic +paraboloidal/6 +paraboloid/7 +Paracelsus/6 +paracetamol/6 +parachuter/6 +parachute/111 +parachutist/7 +Paraclete/6 +parader/6 +parade/49 +paradigmatic +paradigm/7 +paradisaic +paradisaical +Paradise/6 +paradise/7 +paradoxic +paradoxicalness/6 +paradoxical/28 +paradox/7 +paraffin/26 +paragon/26 +paragrapher/6 +paragraph/570 +paragraphs +Paraguayan/9 +Paraguay/6 +parakeet/7 +paralegal/9 +paralinguistic +parallax/7 +parallel/17 +paralleled/12 +parallelepiped/7 +parallelism/7 +parallelization/7 +parallelize/23 +parallelogram/7 +paralysis/6 +paralytically +paralytic/9 +paralyzedly/9 +paralyzed/19 +paralyzer/6 +paralyze/23 +paralyzingly/9 +paralyzing/19 +paramagnetic +paramagnet/6 +Paramaribo/6 +paramecia +paramecium/6 +paramedical/9 +paramedic/7 +parameterization/7 +parameterize/88 +parameterized/12 +parameterless +parameter/7 +parametric +parametrically +parametrization +parametrize/142 +paramilitary/9 +paramount/9 +paramour/7 +para/7 +Paramus/6 +Paraná +paranoiac/9 +paranoia/7 +paranoid/9 +paranormal/16 +parapet/56 +paraphernalia +paraphrase/111 +paraphraser/6 +paraplegia/7 +paraplegic/9 +paraprofessional/7 +parapsychologist/9 +parapsychology/7 +paraquat/9 +parasite/7 +parasitically +parasitic/9 +parasitism/7 +parasitologist/6 +parasitology/6 +parasol/7 +parasympathetic/9 +parathion/7 +parathyroid/9 +paratrooper/6 +paratroop/110 +paratyphoid/9 +parboil/17 +parceled/12 +parceling/6 +parcel/26 +Parcheesi/6 +parch/11 +parchment/7 +PARC/6 +pardonableness/6 +pardonable/12 +pardonably/12 +pardoner/6 +pardon/67 +paregoric/7 +parentage/7 +parental/19 +parenteral +parentheses +parenthesis/6 +parenthesize/17 +parenthetic +parenthetical/19 +parenthood/7 +parent/171 +pare/9 +paresis/6 +pares/9 +Pareto/6 +parfait/7 +pariah/6 +pariahs +parietal/9 +parimutuel/9 +paring/6 +parishioner/7 +parish/7 +Parisian/7 +Paris/6 +parity/85 +parka/7 +Parke/6 +Parker/6 +Parkersburg/6 +park/91 +Parkhouse/6 +parking/6 +Parkinson/6 +parkish +parkland/6 +parklike +Parkman +Park/175 +parkway/7 +parlance/7 +parlay/17 +parley/26 +parliamentarian/7 +parliamentary/12 +parliament/7 +Parliament/7 +parlor/7 +parlous +Parmesan/9 +parmigiana +Parnassus/7 +Parnell/6 +parochialism/7 +parochiality +parochial/19 +parodied/12 +parodist/7 +parody/26 +parolee/7 +parole/26 +paroxysmal +paroxysm/7 +parquetry/7 +parquet/26 +parrakeet's +parred +parricidal +parricide/7 +parring +Parrish/6 +Parr/6 +Parrnell/6 +parrot/26 +parrotlike +parry/17 +Parry/6 +parse +parsec/7 +parsed/12 +Parsee's +parser/6 +Parsifal/6 +parsimonious/19 +parsimony/7 +pars/179 +parsley/7 +parsnip/7 +parsonage/7 +parson/7 +Parsons/6 +partaken +partaker/6 +partake/227 +part/263 +parterre/7 +parter/9 +parthenogeneses +parthenogenesis/6 +Parthenon/6 +Parthia/6 +partiality/7 +partial/16 +participant/7 +participate/24 +participation/6 +participator/9 +participatory +participial/19 +participle/7 +particleboard/9 +particle/7 +particolored +particularistic +particularity/7 +particularization/7 +particularize/17 +particular/16 +particulate/9 +parting/7 +partisanship/7 +partisan/7 +partition/667 +partitioned/12 +partitioner/6 +partitive/9 +partizan's +partly +partner/26 +partnership/7 +partook +partridge/7 +part's +parturition/7 +partway +party/111 +parvenu/7 +par/182 +Pasadena/6 +PASCAL +Pascale/6 +Pascal/6 +pascal/7 +paschal/9 +pasha/7 +Paso/6 +Pasquale/6 +pas/9 +passably +passage/26 +passageway/7 +Passaic/6 +passband +passbook/7 +passel/7 +passé/6 +passenger/65 +passerby +passer/6 +passersby +passim +passing/19 +passionated +passionate/361 +passionateness/82 +passionates +passionating +passioned +passionflower/7 +passioning +passionless +passion/85 +Passion/7 +passivated +passiveness/9 +passive/46 +passivity/9 +pass/668 +passkey/7 +passmark +passover +Passover/7 +passport/7 +password/56 +pasta/7 +pasteboard/7 +pasted/13 +pastel/7 +paste/7 +Pasternak/6 +pastern/7 +pasteup +pasteurization/7 +pasteurized/12 +pasteurizer/6 +pasteurize/23 +Pasteur/6 +pastiche/7 +pastille/7 +pastime/7 +pastiness/7 +pastoralization/6 +pastoral/46 +pastorate/7 +pastor/26 +past/669 +pastrami/7 +pastry/7 +past's/14 +pasts/14 +pasturage/7 +pasture/111 +pasturer/6 +pasty/177 +Patagonia/6 +Patagonian/9 +patch/137 +patcher/82 +patchily +patchiness/9 +patch's +patchwork/96 +patchy/98 +patellae +patella/7 +Patel/6 +Pate/6 +paten/6 +Paten/6 +patentee/7 +patent/670 +paterfamilias/7 +pater/6 +paternalism/7 +paternalist +paternalistic +paternal/19 +paternity/7 +paternoster/7 +Paterson/6 +pate/7 +pathetic +pathetically +pathfinder/7 +pathless/42 +path/6 +pathname/7 +pathogenesis/6 +pathogenic +pathogen/7 +pathologic +pathological/19 +pathologist/7 +pathology/7 +pathos/7 +paths +pathway/7 +Patience/6 +patience/7 +patient/287 +patient's/45 +patients/45 +patina/7 +patine +Patin/6 +patio/7 +Pat/72 +pat/671 +Patna/6 +patois/6 +Paton/6 +patresfamilias +patriarchal +patriarchate/7 +patriarch/6 +patriarchs +patriarchy/7 +Patrica/6 +Patrice/6 +Patricia/6 +patrician/7 +patricide/7 +Patricio/6 +Patrick/6 +Patric/6 +patrimonial +patrimony/7 +patriotically +patriotic/12 +patriotism/7 +patriot/7 +patristic/9 +Patrizia/6 +Patrizio/6 +Patrizius/6 +patrolled +patrolling +patrolman/6 +patrolmen +patrol/7 +patrolwoman +patrolwomen +patronage/7 +patroness/9 +patronization +patronized/12 +patronize/179 +patronizer/6 +patronizes/14 +patronizing's/12 +patronizing/86 +patronymically +patronymic/9 +patron/65 +patroon/7 +patsy/7 +Patsy/7 +patted +Patten/6 +patten/7 +patterer/6 +pattern/26 +patternless +patter/187 +Patterson/6 +Pattie/6 +Patti/6 +patting +Pattin/6 +Patton/6 +Patty/6 +patty/7 +paucity/7 +Paula/6 +Paule/6 +Pauletta/6 +Paulette/6 +Paulie/6 +Pauli/6 +Paulina/6 +Pauline +Pauling/6 +Paulita/6 +Paul/207 +Paulo/6 +Paulsen/6 +Paulson/6 +Paulus/6 +Pauly/6 +paunch/26 +paunchiness/6 +paunchy/98 +pauperism/7 +pauperize/17 +pauper/26 +pause/17 +Pavarotti +paved/13 +pave/672 +Pavel/6 +pavement/26 +paver/6 +paves/14 +Pavia/6 +pavilion/26 +paving/14 +paving's +Pavla/6 +Pavlova/7 +Pavlovian +Pavlov/6 +pawl/7 +paw/26 +pawnbroker/7 +pawnbroking/9 +Pawnee/7 +pawner/6 +pawn/111 +pawnshop/7 +pawpaw's +Pawtucket/6 +paxes +Paxon/6 +Paxton/6 +payable/9 +pay/673 +payback/9 +paycheck/7 +payday/7 +payed +payee/7 +payer/7 +payload/7 +paymaster/7 +payment/48 +Payne/7 +PayPal/6 +payoff/7 +payola/7 +payout/9 +payroll/7 +payslip/9 +Payson/6 +Payton/6 +Paz/6 +Pb/6 +PBS +PBX +PCB +PC/6 +PCP +PCs +pct +pd +PD +Pd/6 +PDP +PDQ +PDT +PE +Peabody/6 +peaceableness/6 +peaceable/42 +peaceably +peacefuller +peacefullest +peacefulness/9 +peaceful/28 +peace/26 +peacekeeping/9 +Peace/6 +peacemaker/7 +peacemaking/7 +peacetime/7 +peach/26 +Peachtree/6 +peachy/54 +peacock/26 +Peadar/6 +peafowl/7 +peahen/7 +peaked/42 +peakiness/6 +peak/26 +peaky/42 +pealed/14 +Peale/6 +peal/26 +peals/14 +pea/7 +peanut/7 +Pearce/6 +Pearla/6 +Pearle/6 +pearler/6 +Pearlie/6 +Pearline/6 +Pearl/6 +pearl/111 +pearly/228 +Pearson/6 +pear/65 +peartrees +Peary/6 +peasanthood +peasantry/7 +peasant/7 +peashooter/7 +peats/14 +peat/7 +peaty/54 +pebble/26 +pebbling/6 +pebbly/54 +Pebrook/6 +pecan/7 +peccadilloes +peccadillo/6 +peccary/7 +Pechora/6 +pecker/6 +peck/49 +Peckinpah/6 +Peck/6 +Pecos/6 +pectic +pectin/7 +pectoral/9 +peculate/15 +peculator/9 +peculiarity/7 +peculiar/16 +pecuniary +pedagogical/19 +pedagogic/9 +pedagogics/6 +pedagogue/26 +pedagogy/7 +pedal/111 +pedantic +pedantically +pedantry/7 +pedant/7 +peddler/6 +peddle/23 +pederast/7 +pederasty/7 +Peder/6 +pedestal/26 +pedestrianization +pedestrianize/17 +pedestrian/7 +pediatrician/7 +pediatric/9 +pedicab/7 +pedicure/26 +pedicurist/7 +pedigree/56 +pediment/56 +pedlar's +pedometer/7 +pedophile/9 +pedophilia +Pedro/6 +peduncle/7 +peeing +peekaboo/7 +peek/17 +peeler/6 +peeling/6 +Peel/6 +peel/179 +peen/26 +peeper/6 +peephole/7 +peep/23 +peepshow/7 +peepy +peerage/7 +peer/165 +peeress/7 +peerlessness/6 +peerless/28 +peeve/453 +peevers/6 +peevishness/7 +peevish/28 +peewee/9 +pee/674 +Pegasus/7 +pegboard/7 +Pegeen/6 +pegged +Peggie/6 +Peggi/6 +pegging +Peggy/6 +Peg/6 +peg/7 +peignoir/7 +Pei/6 +Peiping/6 +Peirce/6 +pejoration/7 +pejorative/16 +peke/7 +Pekinese's +pekingese +Pekingese/7 +Peking/7 +pekoe/7 +pelagic +Pelee/6 +Pele/6 +pelf/7 +Pelham/6 +pelican/7 +pellagra/7 +pellet/26 +pellucid +Peloponnese/6 +pelter/6 +pelt/31 +pelvic/9 +pelvis/7 +Pembroke/6 +pemmican/7 +penalization/7 +penalized/12 +penalize/17 +penalty/7 +penal/19 +Pena/6 +penance/26 +pence/6 +penchant/7 +pencil/171 +pendant/7 +pend/263 +pendent/120 +Penderecki/6 +Pendleton/6 +pendulous +pendulum/7 +Penelopa/6 +Penelope/6 +penetrability/7 +penetrable +penetrate/24 +penetrating/19 +penetration/6 +penetrativeness/6 +penetrative/28 +penetrator/7 +penguin/7 +penicillin/7 +penile +peninsular +peninsula/7 +penis/7 +penitence/7 +penitential/16 +penitentiary/7 +penitent/16 +penknife/6 +penknives +penlight/7 +pen/6 +Pen/6 +penman/6 +penmanship/7 +penmen +Penna +pennant/7 +penned +Penney/6 +Pennie/6 +penniless +Penni/6 +penning +Pennington/6 +pennis +Penn/6 +pennon/7 +Pennsylvania/6 +Pennsylvanian/9 +Penny/6 +penny/7 +pennyweight/7 +pennyworth/6 +penologist/7 +penology/7 +Penrod/6 +Pensacola/6 +pensioner/6 +pension/66 +pensiveness/9 +pensive/28 +pens/130 +pentacle/7 +pentagonal/16 +Pentagon/6 +pentagon/7 +pentagram/7 +pentameter/7 +pent/63 +Pentateuch/6 +pentathlete/9 +pentathlon/7 +pentatonic +pentecostal +Pentecostalism/9 +Pentecostal/9 +Pentecost/7 +penthouse/26 +Pentium/6 +penuche/7 +penultimate/16 +penumbrae +penumbra/7 +penuriousness/7 +penurious/28 +penury/7 +peonage/7 +peon/7 +peony/7 +people/26 +Peoria/6 +Pepe/6 +Pepillo/6 +Pepi/6 +Pepin/6 +Pepita/6 +Pepito/6 +pepped +peppercorn/7 +pepperer/6 +peppergrass/6 +peppermint/7 +pepperoni/9 +pepper/111 +peppery +peppiness/7 +pepping +peppy/98 +Pepsico/6 +PepsiCo/6 +Pepsi/6 +pepsin/7 +pep/7 +peptic/9 +peptidase/7 +peptide/7 +peptizing +Pepys/6 +Pequot/6 +peradventure/9 +perambulate/15 +perambulation/6 +perambulator/7 +percale/7 +perceivably +perceive/67 +perceived/12 +perceiver/6 +percentage/7 +percentile/7 +percent/7 +perceptible +perceptibly +perceptional +perception/7 +perceptiveness/7 +perceptive/28 +perceptual/19 +percept/76 +Perceval/6 +perchance +perch/26 +perchlorate/6 +perchlorination +percipience/7 +percipient/9 +Percival/6 +percolate/15 +percolation/6 +percolator/7 +percuss/64 +percussionist/7 +percussion/48 +percussiveness/6 +percussive/28 +percutaneous/19 +Percy/6 +perdition/7 +perdurable +peregrinate/15 +peregrination/6 +peregrine/9 +Perelman/6 +peremptorily +peremptory/42 +perennial/16 +pčres +perestroika/9 +Perez/6 +perfecta/9 +perfect/37 +perfecter/6 +perfectibility/7 +perfectible +perfectionism/7 +perfectionist/7 +perfection/7 +perfectiveness/6 +perfective/28 +perfectness/7 +perfidiousness/6 +perfidious/28 +perfidy/7 +perforated/12 +perforate/15 +perforation/6 +perforce +performance/7 +performed/12 +performer/6 +perform/67 +perfumer/6 +perfumery/7 +perfume/49 +perfunctorily +perfunctoriness/6 +perfunctory/42 +perfused +perfusion/6 +Pergamon/6 +pergola/7 +perhaps/9 +Peria/6 +pericardia +pericardium/6 +Perice/6 +Periclean +Pericles/6 +perigee/7 +perihelia +perihelion/6 +peril/26 +Perilla/6 +perilousness/6 +perilous/28 +Peri/6 +perimeter/7 +perinatal +perinea +perineum/6 +periodic +periodical/65 +periodicity/7 +period/7 +periodontal/19 +periodontics/6 +periodontist/9 +peripatetic/9 +peripheral/16 +periphery/7 +periphrases +periphrasis/6 +periphrastic +periscope/26 +perishable/7 +perish/67 +perishing/19 +peristalses +peristalsis/6 +peristaltic +peristyle/7 +peritoneal +peritoneum/7 +peritonitis/7 +periwigged +periwigging +periwig/7 +periwinkle/7 +perjurer/6 +perjure/23 +perjury/7 +per/370 +perk/17 +perkily +perkiness/9 +Perkin/7 +perky/98 +Perla/6 +Perle/6 +Perl/6 +permafrost/7 +permalloy/6 +Permalloy/6 +permanence/7 +permanency/7 +permanentness/6 +permanent/46 +permeability/7 +permeableness/6 +permeable/42 +permeate/24 +Permian +permissibility/6 +permissibleness/6 +permissible/42 +permissibly +permission/7 +permissiveness/7 +permissive/28 +permit/7 +permitted +permitting +Perm/6 +perm/26 +permutation/7 +permute/17 +Pernell/6 +perniciousness/7 +pernicious/28 +Pernod/6 +Peron/6 +peroration/7 +Perot/6 +peroxidase/6 +peroxide/26 +perpend/47 +perpendicularity/7 +perpendicular/16 +perpetrate/15 +perpetration/6 +perpetrator/7 +perpetual/16 +perpetuate/15 +perpetuation/6 +perpetuity/7 +perplex/17 +perplexed/19 +perplexity/7 +perquisite/7 +Perren/6 +Perri/6 +Perrine/6 +Perry/114 +persecute/24 +persecution/6 +persecutor/7 +persecutory +Perseid/6 +Persephone/6 +Perseus/6 +perseverance/7 +persevere/17 +persevering/19 +Pershing/6 +Persia/6 +Persian/9 +persiflage/7 +persimmon/7 +Persis/6 +persist/31 +persistence/7 +persistent/19 +persnickety +personableness/6 +personable/42 +personae +personage/7 +personality/7 +personalization/186 +personalize/263 +personalized/12 +personalty/7 +personal/16 +persona/6 +person/465 +personification/6 +personifier/6 +personify/294 +personnel/7 +person's/12 +persons/12 +perspective/65 +perspex +perspicaciousness/6 +perspicacious/28 +perspicacity/9 +perspicuity/7 +perspicuousness/6 +perspicuous/28 +perspiration/7 +perspire/17 +persuaded/12 +persuader/6 +persuade/67 +persuasion/7 +persuasively +persuasiveness/7 +persuasive/12 +pertain/17 +Perth/6 +pertinaciousness/6 +pertinacious/28 +pertinacity/7 +pertinence/9 +pertinent/16 +pertness/7 +perturbation/7 +perturbed/12 +perturb/17 +pertussis/7 +pert/38 +peruke/7 +Peru/6 +perusal/7 +peruser/6 +peruse/23 +Peruvian/9 +pervade/17 +pervasion/6 +pervasiveness/7 +pervasive/28 +perverseness/7 +perverse/134 +perversion/6 +perversity/7 +pervert/31 +perverted/28 +perverter/6 +perviousness +peseta/7 +Peshawar/6 +peskily +peskiness/9 +pesky/98 +peso/7 +pessimal/19 +pessimism/7 +pessimistic +pessimistically +pessimist/7 +pester/47 +pesticide/7 +pestiferous +pestilence/7 +pestilential/19 +pestilent/19 +pestle/26 +pesto/9 +pest/96 +PET +Pétain/6 +petal/56 +Peta/6 +petard/7 +petcock/7 +Pete/6 +peter/47 +Peter/6 +Petersburg/6 +Petersen/6 +Peters/122 +Peterson/6 +Peterus/6 +Petey/6 +pethidine/6 +petiole/7 +petiteness/6 +petite/675 +petitioner/6 +petition/259 +petition's/14 +petitions/14 +petits +Petkiewicz/6 +Pet/231 +Petra/6 +Petrarch/6 +petrel/7 +petri +petrifaction/7 +petrify/55 +Petrina/6 +Petr/6 +petrochemical/7 +petrodollar/7 +petroglyph/6 +petrolatum/7 +petroleum/7 +petrolled +petrolling +petrol/7 +petrologist/7 +petrology/7 +Petronella/6 +Petronia/6 +Petronilla/6 +Petronille/6 +pet/96 +petted +petter/7 +Pettibone/6 +petticoat/56 +pettifogged +pettifogger/7 +pettifogging +pettifog/9 +pettily +pettiness/9 +petting +pettis +pettishness/6 +pettish/28 +Petty/6 +petty/177 +petulance/7 +petulant/19 +Petunia/6 +petunia/7 +Peugeot/6 +Pewaukee/6 +pewee/7 +pewit/7 +pew/7 +pewter/175 +peyote/7 +Peyter/6 +Peyton/6 +pf +Pfc +PFC +pfennig/7 +Pfizer/6 +pg +PG +Phaedra/6 +Phaethon/6 +phaeton/7 +phage/6 +phagocyte/7 +Phaidra/6 +phalanger/7 +phalanges +phalanx/7 +phalli +phallic +phallus/6 +Phanerozoic +phantasmagoria/7 +phantasmal +phantasm/7 +phantasy's +phantom/7 +pharaoh +Pharaoh/6 +pharaohs +Pharaohs +pharisaic +Pharisaic +Pharisaical +pharisee/9 +Pharisee/7 +pharmaceutical/16 +pharmaceutic/9 +pharmaceutics/6 +pharmacist/7 +pharmacological/19 +pharmacologist/7 +pharmacology/7 +pharmacopoeia/7 +pharmacy/7 +pharyngeal/9 +pharynges +pharyngitides +pharyngitis/6 +pharynx/6 +phase/49 +phaseout/9 +PhD +pheasant/7 +Phebe/6 +Phedra/6 +Phekda/6 +Phelia/6 +Phelps/6 +phenacetin/7 +phenobarbital/7 +phenolic +phenol/7 +phenolphthalein/6 +phenomenal/19 +phenomena/7 +phenomenological/19 +phenomenology/7 +phenomenon/7 +phenotype/7 +phenylalanine/6 +phenyl/6 +pheromone/7 +phew/9 +phialled +phialling +phial/7 +Phidias/6 +Philadelphia/6 +philanderer/6 +philander/23 +philanthropic +philanthropically +philanthropist/7 +philanthropy/7 +philatelic +philatelist/7 +philately/7 +Philbert/6 +Philco/6 +philharmonic/9 +Philipa/6 +Philip/6 +Philippa/6 +Philippe/6 +Philippians/6 +philippic/7 +Philippine/7 +Philis/6 +philistine/9 +Philistine/7 +philistinism/9 +Phillida/6 +Phillie/6 +Phillipa/6 +Phillipe/6 +Phillip/7 +Phillipp/6 +Phillis/6 +Philly/7 +Phil/86 +philodendron/7 +philological/19 +philologist/7 +philology/7 +Philomena/6 +philosopher/7 +philosophic +philosophical/19 +philosophized/12 +philosophizer/6 +philosophizes/12 +philosophize/23 +philosophy/7 +philter/26 +philtre/26 +Phineas/6 +Phip/6 +Phipps/6 +phisher/7 +phishing +phi/7 +phlebitides +phlebitis/6 +phlegmatic +phlegmatically +phlegm/7 +phloem/7 +phlox/6 +pH/6 +Ph/6 +phobia/7 +phobic/9 +Phobos/6 +Phoebe/6 +phoebe/7 +Phoenicia/6 +Phoenician/7 +Phoenix/6 +phoenix/7 +phone/26 +phoneme/7 +phonemically +phonemic/9 +phonemics/6 +phonetically +phonetician/7 +phonetic/9 +phonetics/6 +phonically +phonic/9 +phonics/6 +phoniness/7 +phonographer/6 +phonographic +phonograph/114 +phonographs +phonologic +phonological/19 +phonologist/7 +phonology/7 +phonon/6 +phony/226 +phooey/9 +phosphatase/6 +phosphate/7 +phosphide/6 +phosphine/7 +phosphoresce +phosphorescence/7 +phosphorescent/19 +phosphoric +phosphor/7 +phosphorous +phosphorus/7 +photocell/7 +photochemical/19 +photochemistry/6 +photocopier/6 +photocopy/49 +photoelectric +photoelectrically +photoelectronic +photoelectrons +photoengraver/6 +photoengrave/179 +photoengraving/6 +photofinishing/7 +photogenic +photogenically +photograph/676 +photographer/7 +photographic +photographically +photograph's +photographs/14 +photography/7 +photojournalism/7 +photojournalist/7 +photoluminescence/6 +photolysis/6 +photolytic +photometer/7 +photometric +photometrically +photometry/6 +photomicrograph/6 +photomicrography/6 +photomultiplier/6 +photon/7 +photorealism +photosensitive +photo/26 +photosphere/6 +photostatic +Photostat/7 +Photostatted +Photostatting +photosyntheses +photosynthesis/6 +photosynthesize/17 +photosynthetic +phototypesetter +phototypesetting/6 +phrasal +phrase/36 +phrasebook +phrasemaking +phraseology/7 +phrase's +phrasing/7 +phrenological/19 +phrenologist/7 +phrenology/7 +phylactery/7 +phylae +phyla/6 +Phylis/6 +Phyllida/6 +Phyllis/6 +Phyllys/6 +phylogeny/7 +phylum/6 +Phylys/6 +phys +physicality/6 +physical/46 +physician/7 +physicist/7 +physicked +physicking +physic/7 +physiochemical +physiognomy/7 +physiography/7 +physiologic +physiological/19 +physiologist/7 +physiology/7 +physiotherapist/7 +physiotherapy/7 +physique/56 +phytoplankton/6 +Piaf/6 +Piaget/6 +Pia/6 +pianism/6 +pianissimo/9 +pianistic +pianist/7 +pianoforte/7 +pianola +Pianola/6 +piano/7 +piaster/7 +piazza/7 +pibroch/6 +pibrochs +picador/7 +picaresque/9 +pica/7 +Picasso/6 +picayune/9 +Piccadilly/6 +piccalilli/7 +piccolo/7 +pickaback's +pickaxe's +pickax/26 +pickerel/7 +Pickering/6 +picker/207 +picketer/6 +picket/49 +Pickett/6 +Pickford/6 +pick/179 +pickle/26 +Pickman/6 +pickoff/9 +pickpocket/131 +pickup/7 +Pickwick/6 +picky/54 +picnicked +picnicker/7 +picnicking +picnic/7 +picofarad/7 +picojoule +picoseconds +picot/26 +Pict/6 +pictograph/6 +pictographs +pictorialness/6 +pictorial/46 +picture/26 +picturesqueness/7 +picturesque/28 +piddle/17 +piddly +pidgin/7 +piebald/9 +piece/111 +piecemeal +piecer/6 +piecewise +pieceworker/6 +piecework/96 +piedmont +Piedmont/6 +pieing +pie/7 +Pierce/6 +piercer/6 +pierce/179 +piercing/19 +Pierette/6 +pier/6 +Pier/6 +Pierre/6 +Pierrette/6 +Pierrot/6 +Pierson/6 +Pieter/6 +Pietra/6 +Pietrek/6 +Pietro/6 +piety/7 +piezoelectric +piezoelectricity/6 +piffle/26 +pigeon/26 +pigeonhole/26 +pigged +piggery/6 +pigging +piggishness/7 +piggish/28 +piggyback/26 +Piggy/6 +piggy/80 +pigheadedness/9 +pigheaded/28 +piglet/7 +pigmentation/7 +pigment/26 +pig/489 +Pigmy's +pigpen/7 +pigroot +pigskin/7 +pigsty/7 +pigswill/6 +pigtail/56 +Pike/6 +pike/49 +piker/6 +pikestaff/7 +pilaf/7 +pilaster/7 +Pilate/6 +pilau's +pilchard/7 +Pilcomayo/6 +pile/677 +pileup/7 +pilferage/7 +pilferer/6 +pilfer/23 +Pilgrim +pilgrimage/26 +pilgrim/7 +piling/6 +pillage/23 +pillar/26 +pillbox/7 +pill/26 +pillion/26 +pillory/26 +pillowcase/7 +pillow/26 +pillowslip/9 +Pillsbury/6 +pilot/26 +pilothouse/7 +piloting/6 +pimento/7 +pimiento/7 +pimpernel/7 +pimp/116 +pimple/56 +pimplike +pimply/678 +PIN +pinafore/7 +pińata/9 +Pinatubo/6 +pinball/7 +Pincas/6 +pincer/17 +Pinchas/6 +pincher/6 +pinch/31 +pincushion/7 +Pincus/6 +Pindar/6 +pineapple/7 +pined/14 +Pinehurst/6 +pine/269 +pines/14 +pinfeather/7 +ping/570 +pinheaded/42 +pinhead/56 +pinhole/7 +pining/14 +pinion/165 +Pinkerton/6 +pinkeye/7 +pink/502 +pinkie/7 +pinkish/42 +pinkness/9 +pinko/7 +pinky's +pinnacle/26 +pinnate +pinned/12 +pinning/9 +Pinocchio/6 +Pinochet/6 +pinochle/7 +pińon/9 +pinpoint/17 +pinprick/26 +pin's +pinsetter/7 +Pinsky/6 +pinstripe/56 +pintail/7 +Pinter/6 +pint/175 +pinto/9 +pinup/7 +pin/302 +pinwheel/26 +pinyin +Pinyin +piny/54 +pioneer/26 +pion/6 +Piotr/6 +piousness/7 +pious/28 +pipeline/26 +pipe/7 +piper/6 +Piper/6 +Pipestone/6 +pipet's +pipette/26 +pipework +piping/86 +pipit/7 +pip/91 +Pip/114 +Pippa/6 +pipped +pipping +pippin/7 +Pippo/6 +Pippy/6 +pipsqueak/7 +piquancy/7 +piquantness/6 +piquant/28 +pique/26 +piracy/7 +Piraeus/6 +Pirandello/6 +piranha/7 +pirate/26 +piratical/19 +pirogi +pirogies +pirouette/26 +pis +Pisa/6 +piscatorial +Pisces/6 +Pisistratus/6 +pismire/7 +Pissaro/6 +piss/679 +pistachio/7 +piste/7 +pistillate +pistil/7 +pistoleers +pistole/6 +pistol/26 +piston/7 +pitapat/9 +pitapatted +pitapatting +pita/7 +Pitcairn/6 +pitchblende/7 +pitcher/6 +pitchfork/26 +pitching/6 +pitchman/6 +pitchmen +pitch/23 +pitchstone/6 +piteousness/7 +piteous/28 +pitfall/7 +pithily +pithiness/7 +pith/26 +piths +pithy/98 +pitiableness/6 +pitiable/42 +pitiably +pitier/6 +pitifuller +pitifullest +pitifulness/6 +pitiful/28 +pitilessness/7 +pitiless/28 +pitman/6 +pit/7 +Pitney/6 +piton/7 +pittance/7 +pitted +pitting +Pittman/6 +Pittsburgh/680 +Pittsfield/6 +Pitt/7 +Pittston/6 +pituitary/7 +pitying/19 +pity/49 +Pius/6 +pivotal/19 +pivot/26 +pivoting/6 +pix/17 +pixel/7 +pixie/7 +pixiness +pixmap/7 +Pizarro/6 +pizazz/9 +pi/681 +pizza/7 +pizzeria/7 +pizzicati +pizzicato +pj's +PJ's +pk +pkg +pkt +pkwy +Pkwy +pl +placard/26 +placate/426 +placatory +placeable/14 +placebo/7 +placed/682 +place/683 +placeholder/9 +placekick/17 +placeless/19 +placement/128 +placental/9 +placenta/7 +placer/82 +places/145 +placidity/7 +placidness/6 +placid/28 +placing/145 +placket/7 +plagiarism/7 +plagiarist/7 +plagiarize/23 +plagiary/7 +plagued/12 +plague/111 +plaguer/6 +plaice/6 +plaid/26 +plainclothes +plainclothesman +plainclothesmen +Plainfield/6 +plainness/7 +plainsman/6 +plainsmen +plainsong/7 +plainspoken +plain/77 +plaintiff/7 +plaintiveness/6 +plaintive/28 +plaint/76 +Plainview/6 +plaiting/6 +plait/111 +planar +planarity +Planck/6 +plan/49 +planeload +planer/6 +plane's +plane/263 +planetarium/7 +planetary +planetesimal/6 +planet/7 +planetoid/7 +plangency/9 +plangent +planking/6 +plank/171 +plankton/7 +planned/12 +planner/7 +planning +Plano +planoconcave +planoconvex +Plantagenet/6 +plantain/7 +plantar +plantation/7 +planter/7 +planting/9 +plantlike +plant's +plant/36 +plaque/7 +plash/26 +plasma/7 +plasmid/9 +plasm/6 +plasterboard/7 +plasterer/6 +plastering/6 +plaster/49 +plasterwork/6 +plastically +plasticine +Plasticine/6 +plasticity/7 +plasticize/17 +plastic/65 +plateau/26 +plateful/9 +platelet/7 +platen/6 +plater/6 +plate/7 +platform/26 +Plath/6 +plating/6 +platinize/17 +platinum/7 +platitude/7 +platitudinous/19 +plat/581 +Plato/6 +platonic +Platonic +Platonism/6 +Platonist +platoon/26 +platted +Platte/6 +platter/7 +Platteville/6 +platting +platypus/7 +platys +platy/54 +plaudit/7 +plausibility/9 +plausible/42 +plausibly +Plautus/6 +playability/12 +playable/12 +playacting/6 +playact/71 +playback/7 +playbill/7 +Playboy/6 +playboy/7 +play/684 +played/14 +player's/25 +player/7 +playfellow/9 +playfulness/7 +playful/28 +playgirl/7 +playgoer/7 +playground/7 +playgroup/9 +playhouse/7 +playing/9 +playmate/7 +playoff/9 +playpen/7 +playroom/7 +plays/14 +Playtex/6 +plaything/7 +playtime/7 +playwright/7 +playwriting/6 +plaza/7 +pleader/118 +pleading/86 +plead/179 +pleasanter +pleasantest +pleasantness/41 +pleasantry/7 +pleasant/161 +pleased/147 +pleaser/6 +pleases/25 +please/19 +pleasingness/6 +pleasing/28 +plea/7 +pleas/187 +pleasurableness/6 +pleasurable/42 +pleasurably +pleasureful +pleasure/57 +pleasure's/25 +pleasures/25 +pleater/6 +pleat/111 +plebeian/16 +plebe/7 +plebiscite/7 +plectra +plectrum/7 +pledger/6 +pledge/111 +Pleiads +Pleistocene +plenary/9 +plenipotentiary/9 +plenitude/7 +plenteousness/6 +plenteous/28 +plentifulness/6 +plentiful/28 +plenty/7 +plenum/6 +pleonasm/7 +plethora/7 +pleurae +pleural +pleura/6 +pleurisy/7 +Plexiglas/7 +plexus/7 +pliability/7 +pliableness/6 +pliable/42 +pliancy/7 +pliantness/6 +pliant/28 +plication/118 +plier/118 +plight/111 +plimsolls +plinker/6 +plink/31 +plinth/6 +plinths +Pliny/6 +Pliocene/9 +PLO +plodded +plodder/7 +plodding/16 +plod/9 +plopped +plopping +plop/7 +plosive +plot/7 +plotted/14 +plotter/26 +plotting +plover/7 +plowed/12 +plower/6 +plowman/6 +plowmen +plow/49 +plowshare/7 +ploy's +ploy/263 +plucker/6 +pluckily +pluckiness/7 +pluck/31 +plucky/98 +pluggable +plugged/13 +plugging/13 +plughole +plug's +plug/302 +plumage/56 +plumbago/6 +plumbed/12 +plumber/6 +plumbing/6 +plumb/91 +plume/7 +plummer +plummest +plummet/17 +plummy +plumper/6 +plumpness/9 +plump/685 +plum/26 +plumy/54 +plunder/23 +plunger/6 +plunge/23 +plunker/6 +plunk/23 +pluperfect/9 +pluralism/7 +pluralistic +pluralist/9 +plurality/7 +pluralization/7 +pluralize/23 +pluralizer/6 +plural/16 +plushness/7 +plush/290 +plushy/98 +plus/9 +plussed +plussing +Plutarch/6 +plutocracy/7 +plutocratic +plutocrat/7 +Pluto/6 +plutonium/7 +pluvial/9 +ply/517 +Plymouth/6 +plywood/7 +pm +PM +Pm/6 +PMS +pneumatically +pneumatic/9 +pneumatics/6 +pneumonia/7 +PO +poacher/6 +poach/23 +Pocahontas/6 +pocketbook/7 +pocketful/7 +pocketing/6 +pocketknife/6 +pocketknives +pocket/111 +pock/26 +pockmark/26 +Pocono/7 +podcast/214 +podded +podding +podge/90 +Podgorica/6 +podiatrist/7 +podiatry/7 +podium/7 +pod/7 +Podunk/6 +Poe/6 +poem/7 +poesy/26 +poetaster/7 +poetess/7 +poetically +poeticalness +poetical/12 +poetic/9 +poetics/6 +poet/7 +poetry/7 +pogo +Pogo/6 +pogrom/26 +poignancy/7 +poignant/19 +Poincaré/6 +poinciana/7 +Poindexter/6 +poinsettia/7 +pointblank +pointedness/6 +pointed/28 +pointer/6 +pointillism/7 +pointillist/7 +pointing/6 +pointlessness/7 +pointless/28 +point/49 +pointy/54 +poise/6 +pois/17 +poi/7 +poisoner/6 +poisoning/6 +poisonous/28 +poison/91 +Poisson/6 +poke/23 +Pokemon/6 +pokerface/81 +poker/6 +poky/228 +Poland/6 +Polanski/6 +polarimeter/7 +polarimetry +polariscope/6 +Polaris/6 +polarity/7 +polarization/186 +polarized/156 +polarize/23 +polarizes/169 +polarizing/169 +polarogram/7 +polarograph +polarography/6 +Polaroid/7 +polar/9 +polecat/7 +polemical/19 +polemicist/9 +polemic/9 +polemics/6 +pole/7 +Pole/7 +poler/6 +polestar/9 +poleward/9 +pol/111 +policeman/6 +policemen/6 +police/26 +policewoman/6 +policewomen +policyholder/7 +policymaker/9 +policymaking +policy/7 +poliomyelitides +poliomyelitis/6 +polio/7 +Polish +polished/12 +polisher/6 +polish/179 +polis/6 +Politburo/6 +politburo/9 +politeness/7 +polite/33 +politesse/7 +politically +political/12 +politician/7 +politicization/9 +politicize/263 +politicked +politicking/7 +politico/7 +politic/9 +politics/6 +polity/7 +polka/26 +Polk/6 +pollack/7 +Pollard/6 +polled/12 +pollen/165 +pollinate/15 +pollination/6 +pollinator/7 +polliwog/7 +poll/686 +pollock's +Pollock/7 +pollster/7 +pollutant/7 +polluted/12 +polluter/6 +pollute/307 +pollution/6 +Pollux/6 +Pollyanna/6 +Polly/6 +pollywog's +Pol/86 +Polo/6 +polo/7 +polonaise/7 +polonium/7 +poltergeist/7 +poltroon/7 +polyandrous +polyandry/7 +polyatomic +polybutene/7 +polycarbonate +polychemicals +polychrome +polyclinic/7 +polycrystalline +polyelectrolytes +polyester/7 +polyether/9 +polyethylene/7 +polygamist/7 +polygamous/19 +polygamy/7 +polyglot/9 +polygonal/19 +polygon/7 +polygraph/165 +polygraphs +polygynous +polyhedral +polyhedron/7 +Polyhymnia/6 +polyisobutylene +polyisocyanates +polymath/6 +polymaths +polymerase/9 +polymeric +polymerization/7 +polymerize/17 +polymer/7 +polymorphic +polymorphism/7 +polymorph/6 +polymyositis +Polynesia/6 +Polynesian/9 +polynomial/65 +Polyphemus/6 +polyphonic +polyphony/7 +polyphosphate/9 +polyp/7 +polypropylene/7 +polystyrene/7 +polysyllabic +polysyllable/7 +polytechnic/7 +polytheism/7 +polytheistic +polytheist/7 +polythene/6 +polytonal/19 +polytopes +polyunsaturated +polyurethane/7 +polyvinyl/7 +Po/6 +pomade/26 +pomander/7 +pomegranate/7 +Pomerania/6 +Pomeranian +pommel/26 +Pomona/6 +Pompadour/6 +pompadour/56 +pompano/7 +Pompeian/9 +Pompeii/6 +Pompey/6 +pompom/7 +pompon's +pomposity/7 +pompousness/9 +pompous/28 +pomp/7 +ponce/6 +Ponce/6 +Ponchartrain/6 +poncho/7 +ponderer/6 +ponderousness/7 +ponderous/28 +ponder/242 +pond/49 +pone/7 +pongee/7 +poniard/26 +pons/6 +Pontchartrain/6 +Pontiac/6 +Pontianak/6 +pontiff/7 +pontifical/16 +pontificate/15 +pontoon/26 +pony/26 +ponytail/7 +pooch/26 +poodle/7 +poof/7 +pooh/47 +Pooh/6 +poohs +Poole/6 +pool/26 +poolroom/7 +poolside +Poona/6 +poop/26 +poorboy +poorhouse/7 +poorness/7 +poor/33 +popcorn/7 +Popek/7 +pope/7 +Pope/7 +Popeye/6 +popgun/7 +popinjay/7 +poplar/7 +poplin/7 +Popocatepetl/6 +popover/7 +poppa/7 +popped +Popper/6 +popper/7 +poppet/6 +popping +Poppins/6 +poppycock/7 +Poppy/6 +poppy/56 +poppyseed +Popsicle/7 +pop/7 +populace/7 +popularism +popularity/41 +popularization/7 +popularize/14 +popularized +popularizer/7 +popularizes/12 +popularizing +popular/16 +populate/345 +populated/13 +populates/14 +populating/14 +population/266 +populism/9 +populist/7 +populousness/7 +populous/28 +porcelain/7 +porch/7 +porcine +porcupine/7 +pore/23 +Porfirio/6 +porgy/7 +poring/19 +porker/6 +porky/228 +pork/96 +pornographer/7 +pornographic +pornographically +pornography/7 +porno/9 +porn/9 +porosity/7 +porousness/7 +porous/28 +porphyritic +porphyry/7 +porpoise/26 +porridge/7 +Porrima/6 +porringer/7 +Porsche/6 +portability/9 +portables +portable/12 +portably +port/687 +portage/48 +portaged +portaging +portal/7 +portamento/6 +portcullis/7 +ported/688 +Porte/6 +portend/17 +portentousness/6 +portentous/28 +portent/7 +porterage/6 +porter/165 +porterhouse/7 +Porter/6 +porter's/14 +portfolio/7 +porthole/7 +Portia/6 +porticoes +portico/6 +Portie/6 +portičre/7 +porting/25 +portion/594 +Portland/6 +portliness/7 +portly/98 +portmanteau/7 +Port/114 +Pôrto/6 +portraitist/7 +portrait/7 +portraiture/7 +portrayal/7 +portrayer/6 +portray/31 +ports/688 +Portsmouth/6 +Portugal/6 +Portuguese/6 +portulaca/7 +Porty/6 +posed/190 +Poseidon/6 +poser/689 +poses/190 +poseur/7 +pose/690 +posh/181 +posing/190 +positifs +positionable +positional/691 +position/692 +position's/688 +positions/688 +positiveness/9 +positive/38 +positivism/6 +positivist/9 +positivity +positron/7 +posit/263 +Posner/6 +posse/6 +possess/127 +possessed/28 +possession/128 +possessional +possessiveness/7 +possessive/32 +possessor/7 +possibility/7 +possible/228 +possibly +poss/9 +possum/7 +postage/7 +postal/9 +post/693 +postbag/6 +postbox/7 +postcard/7 +postcode/7 +postcondition/9 +postconsonantal +postdate/17 +postdoctoral +posteriori +posterior/16 +posterity/7 +poster/7 +postfix/17 +postgraduate/7 +posthaste/9 +posthumousness/6 +posthumous/28 +posthypnotic +postilion/7 +postindustrial +posting/6 +postlude/7 +Post/6 +postman/6 +postmarital +postmark/26 +postmaster/7 +postmen +postmeridian +postmistress/7 +postmodern +postmodernist +postmortem/9 +postnasal +postnatal +postoperative/19 +postorder +postpaid +postpartum +postpone/8 +postponement/9 +postpositions +postprandial +post's +postscript/7 +postsecondary +postulate/15 +postulation/6 +postural +posture/111 +posturer/6 +postvocalic +postwar +posy/7 +potability/7 +potableness/6 +potable/144 +potage/6 +potash/7 +potassium/7 +potatoes +potato/6 +potbelly/56 +potboiler/6 +potboil/90 +pot/186 +Potemkin/6 +potency/7 +potentate/7 +potentiality/7 +potential/16 +potentiating +potentiometer/7 +potent/16 +potful/7 +pothead/7 +potherb/7 +pother/26 +potholder/7 +pothole/26 +potholing/6 +pothook/7 +potion/7 +potlatch/7 +potluck/7 +Potomac/6 +potpie/7 +potpourri/7 +Potsdam/6 +potsherd/7 +potshot/9 +pottage/7 +Pottawatomie/6 +potted +Potter/6 +potter/111 +pottery/7 +potting +Potts/6 +potty/228 +pouch/26 +Poughkeepsie/6 +Poul/6 +poulterer/7 +poultice/26 +poultry/7 +pounce/17 +poundage/7 +pounder/7 +pound/694 +Pound/6 +pour/17 +pourer's +Poussin/7 +pouter/6 +pout/23 +poverty/7 +POW +powderpuff +powder/111 +powdery +Powell/6 +powerboat/7 +powerfulness/6 +powerful/28 +power/165 +powerhouse/7 +powerlessness/7 +powerless/28 +PowerPoint/6 +Powers +Powhatan/6 +pow/90 +powwow/26 +pox/26 +Poznan/6 +pp +PP +ppm +ppr +PPS +pr +PR +practicability/9 +practicable/42 +practicably +practicality/7 +practicalness/6 +practical/46 +practice/101 +practiced/12 +practicer/6 +practicum/7 +practitioner/7 +Pradesh/6 +Prado/6 +Praetorian +praetorian/9 +praetor/7 +pragmatical/19 +pragmatic/9 +pragmatics/6 +pragmatism/7 +pragmatist/7 +Prague/6 +Praia +prairie/7 +praise/84 +praiser/9 +praise's +praiseworthiness/7 +praiseworthy/42 +praising/19 +Prakrit/6 +praline/7 +pram/7 +prancer/6 +prance/23 +prancing/19 +prank/26 +prankster/7 +praseodymium/7 +Pratchett/6 +prate/23 +prater/6 +pratfall/7 +prating/19 +prattle/23 +prattler/6 +prattling/19 +Pratt/6 +Prattville/6 +Pravda/6 +prawn/26 +praxes +praxis/6 +Praxiteles/6 +pray/23 +prayerbook +prayerfulness/6 +prayerful/28 +prayer/6 +PRC +preach/78 +preacher/6 +preaching/19 +preachment/7 +preachy/54 +preadolescence/9 +Preakness/6 +preallocate/15 +preallocation/6 +preallocator/9 +preamble/26 +preamp +preamplifier/6 +prearrange/11 +prearrangement/7 +preassign/17 +preauthorize +prebendary/6 +Precambrian +precancel/17 +precancerous +precariousness/7 +precarious/28 +precautionary +precaution/26 +precede/17 +precedence/7 +precedented/12 +precedent/56 +preceptive/19 +preceptor/7 +precept/76 +precess/17 +precession/6 +precinct/7 +preciosity/7 +preciousness/9 +precious/46 +precipice/7 +precipitable +precipitant/9 +precipitateness/6 +precipitate/148 +precipitation/6 +precipitousness/6 +precipitous/28 +preciseness/7 +precise/35 +precision/6 +précis/165 +preclude/17 +preclusion/9 +precociousness/7 +precocious/28 +precocity/7 +precode/81 +precognition/7 +precognitive +precollege/6 +precolonial +precomputed +preconceive/17 +preconception/7 +precondition/26 +preconscious +precook/17 +precursor/7 +precursory +precut +predate/15 +predation/186 +predator/7 +predatory +predecease/17 +predecessor/7 +predeclared +predecline +predefine/17 +predefinition/7 +predesignate/17 +predestination/7 +predestine/17 +predetermination/7 +predeterminer/6 +predetermine/23 +predicable/9 +predicament/7 +predicate/24 +predication/6 +predicator +predictability/41 +predictable/12 +predictably/12 +predict/160 +predicted/12 +prediction/7 +predictive/19 +predictor/7 +predigest/17 +predilect +predilection/7 +predispose/17 +predisposition/7 +predoctoral +predominance/7 +predominant/19 +predominate/565 +predomination/6 +preemie/7 +preeminence/7 +preeminent/19 +preemployment/6 +preempt/64 +preemption/7 +preemptive/19 +preemptor/6 +preener/6 +preen/31 +preexist/17 +preexistence/7 +preexistent +prefabbed +prefabbing +prefab/7 +prefabricate/15 +prefabrication/6 +preface/111 +prefacer/6 +prefatory +prefect/7 +prefecture/7 +preferableness/6 +preferable/42 +preferably +prefer/695 +preference/7 +preferential/19 +preferment/7 +preferred +preferring +prefiguration/6 +prefigure/17 +prefix/26 +preflight/26 +preform/17 +pref/90 +pregnancy/7 +pregnant/19 +preheat/17 +prehensile +prehistoric +prehistorical/19 +prehistory/7 +preindustrial +preinitialize/17 +preinterview/6 +preisolated +prejudge/31 +prejudger/6 +prejudgment/7 +prejudiced/12 +prejudice/26 +prejudicial/28 +prekindergarten/7 +prelacy/7 +prelate/7 +preliminarily +preliminary/9 +preliterate/9 +preloaded +prelude/111 +preluder/6 +premarital/19 +premarket +prematureness/6 +premature/46 +prematurity/6 +premedical +premeditated/19 +premeditate/24 +premeditation/6 +premed/9 +premenstrual +premiere/7 +premier/26 +premiership/7 +Preminger/6 +premise/26 +premiss's +premium/7 +premix/17 +premolar/9 +premonition/7 +premonitory +prenatal/19 +Pren/6 +Prenticed/6 +Prentice/165 +Prenticing/6 +Prentiss/6 +Prent/6 +prenuptial +preoccupation/7 +preoccupy/17 +preoperative +preordain/11 +prepackage/17 +prepaid +preparation/7 +preparative/65 +preparatory +preparedly +preparedness/41 +prepared/236 +prepare/23 +prepay/661 +prepayment/7 +prepender/9 +prepends +preplanned +preponderance/7 +preponderant/19 +preponderate/565 +prepositional/19 +preposition/26 +prepossess/17 +prepossessing/12 +prepossession/7 +preposterousness/6 +preposterous/28 +prepped +prepping +preppy/228 +preprepared +preprint/26 +preprocessed +preprocessing +preprocessor/9 +preproduction +preprogrammed +prep/7 +prepubescence/9 +prepubescent/9 +prepublication/6 +prepuce/7 +prequel/9 +preradiation +prerecord/17 +preregister/17 +preregistration/7 +prerequisite/7 +prerogative/56 +Pres +presage/111 +presager/6 +presbyopia/7 +presbyterian +Presbyterianism/9 +Presbyterian/9 +presbyter/7 +presbytery/7 +preschool/110 +prescience/7 +prescient/19 +Prescott/6 +prescribed/12 +prescriber/6 +prescribe/31 +prescription/7 +prescriptive/19 +prescript/76 +preselect/17 +presence/7 +presentableness/6 +presentable/42 +presentably/14 +presentational/14 +presentation/48 +presented/14 +presenter/14 +presentiment/7 +presentment/7 +presents/14 +present/696 +preservationist/9 +preservation/7 +preservative/7 +preserve/67 +preserved/12 +preserver/6 +preset/9 +presetting +preshrank +preshrink/166 +preshrunk +preside/31 +presidency/7 +presidential/19 +president/7 +presider/6 +presidia +presidium/6 +Presley/6 +presoaks +presort/17 +pres/9 +press/311 +pressed/12 +presser/7 +pressingly/169 +pressing/16 +pressman/6 +pressmen +pressure/26 +pressurization/7 +pressurize/23 +pressurized/12 +prestidigitate/107 +prestidigitation/6 +prestidigitatorial +prestidigitator/6 +prestige/7 +prestigious/28 +Preston/6 +presto/9 +presumably +presume/318 +presumer/6 +presuming/19 +presumption/7 +presumptive/19 +presumptuousness/7 +presumptuous/28 +presuppose/17 +presupposition/9 +pretax +preteen/9 +pretended/19 +pretender/6 +pretending/12 +pretend/23 +pretense/697 +pretension/165 +pretentiousness/9 +pretentious/161 +preterite's +preterit/7 +preternatural/19 +pretest/17 +pretext/26 +Pretoria/6 +pretreated +pretreatment/9 +pretrial +prettify/17 +prettily +prettiness/7 +pretty/226 +pretzel/7 +prevailing/19 +prevail/17 +prevalence/7 +prevalent/16 +prevaricate/15 +prevaricator/7 +preventable/12 +preventably +preventative/9 +prevent/698 +preventer/6 +prevention/7 +preventiveness/6 +preventive/46 +preview/49 +previous/19 +prevision/26 +prewar +prexes +preyer's +prey/26 +Priam/6 +priapic +Pribilof/6 +price/36 +priced/12 +priceless +Price/6 +pricer/7 +price's +pricey +pricier +priciest +pricker/6 +pricking/6 +prickle/26 +prickliness/9 +prickly/98 +prick/284 +prideful/19 +pride/26 +prier/6 +priestess/7 +priesthood/7 +Priestley/6 +priestliness/7 +priestly/98 +priest/116 +prigged +prigging +priggishness/9 +priggish/218 +prig/7 +primacy/7 +primal +primarily +primary/7 +primate/7 +primed/12 +primely/6 +primeness/6 +prime/46 +primer/6 +Prime's +primeval/19 +priming/6 +primitiveness/7 +primitive/46 +primitivism/6 +primmed +primmer +primmest +primming +primness/7 +primogenitor/7 +primogeniture/7 +primordial/16 +primp/17 +primrose/26 +prim/610 +princedom/7 +princeliness/7 +princely/98 +Prince/6 +prince/65 +princess/7 +Princeton/6 +principality/7 +principal/16 +Principe/6 +Principia/6 +principled/12 +principle/26 +printable/12 +printably +print/395 +printed/12 +printer/118 +printers +printing/7 +printmaker/6 +printmake/174 +printmaking/6 +printout/9 +Prinz/6 +prioress/7 +priori +prioritize/179 +priority/7 +prior/16 +priory/7 +Pris +Prisca/6 +Priscella/6 +Priscilla/6 +prised +prise/699 +prismatic +prism/7 +prison/49 +prisoner/6 +Prissie/6 +prissily +prissiness/7 +prissy/177 +pristine/19 +prithee/9 +privacy/7 +privateer/26 +privateness/6 +private/700 +privation/186 +privative/19 +privatization/9 +privatize/17 +privet/7 +privileged/12 +privilege/26 +privily +privy/80 +prized/14 +prize/49 +prizefighter/6 +prizefighting/6 +prizefight/198 +prizewinner/9 +prizewinning +Pr/72 +PRO +proactive/19 +probabilist +probabilistic +probabilistically +probability/7 +probable/9 +probably +probated/14 +probate/701 +probates/14 +probating/14 +probational +probationary/9 +probationer/6 +probation/231 +probation's/14 +probative/14 +prober/6 +probity/7 +problematical/10 +problematic/9 +problem/7 +proboscis/7 +prob/702 +procaine/7 +procedural/16 +procedure/7 +proceeder/6 +proceeding/6 +proceed/187 +process/57 +processed/13 +processes/14 +processional/16 +procession/47 +processor/7 +proclamation/7 +proclivity/7 +proconsular +procrastinate/15 +procrastination/6 +procrastinator/7 +procreational +procreatory +procrustean +Procrustean +Procrustes/6 +proctor/26 +proctorial +procurable/12 +procure/329 +procurement/7 +Procyon/6 +prodded +prodding +prodigality/9 +prodigal/16 +prodigiousness/6 +prodigious/28 +prodigy/7 +prod/9 +produce/119 +producer/118 +producible/14 +production/48 +productively/13 +productiveness/7 +productive/28 +productivities +productivity/14 +productivity's +productize/23 +product/130 +Prof +profanation/9 +profaneness/7 +profane/462 +profanity/7 +professed/19 +professionalism/7 +professionalize/17 +professional/514 +profession/7 +professorial/19 +professorship/7 +professor/7 +proffer/17 +proficiency/7 +proficient/16 +profitability/7 +profitableness/135 +profitable/236 +profitably/12 +profiteer/26 +profiterole/7 +profit/109 +profitless +profligacy/9 +profligate/16 +proforma/9 +profoundity +profoundness/7 +profound/33 +prof/9 +profundity/7 +profuseness/7 +profuse/28 +progenitor/7 +progeny/6 +progesterone/7 +prognathous +prognoses +prognosis/6 +prognosticate/24 +prognostication/6 +prognosticator/9 +prognostic/9 +program/257 +programed +programing +programmability +programmable/9 +programmed/190 +programmer/48 +programming/190 +programmings +progression/7 +progressiveness/7 +progressive/46 +progressivism +progress/163 +prohibiter/6 +prohibitionist/7 +prohibition/7 +Prohibition/7 +prohibitiveness/6 +prohibitive/28 +prohibitory +prohibit/29 +projected/13 +projectile/7 +projectionist/7 +projection/7 +projective/19 +project/163 +projector/7 +Prokofieff/6 +Prokofiev/6 +prolegomena +proletarianization/6 +proletarianized +proletarian/9 +proletariat/7 +proliferate/24 +proliferation/6 +prolifically +prolific/42 +prolixity/7 +prolix/19 +prologize +prologue/26 +prologuize +prolongate/15 +prolongation/6 +prolonger/6 +prolong/224 +promenade/49 +promenader/6 +Promethean +Prometheus/6 +promethium/7 +prominence/7 +prominent/19 +promiscuity/7 +promiscuousness/6 +promiscuous/28 +promise/47 +promising/10 +promissory +promontory/7 +promote/703 +promoter/6 +promotiveness/6 +promotive/42 +prompted/12 +prompter/6 +promptitude/7 +promptness/7 +prompt/223 +pro/7 +promulgate/15 +promulgation/6 +promulgator/7 +pron +proneness/7 +prone/28 +pronghorn/7 +prong/26 +pronominalization +pronominalize +pronounceable/12 +pronouncedly +pronounced/12 +pronounce/8 +pronouncement/7 +pronouncer/6 +pronto +pronunciation/7 +proofed/14 +proofer +proofing/6 +proofreader/6 +proofread/227 +proof/128 +propaganda/7 +propagandistic +propagandist/7 +propagandize/17 +propagated/12 +propagate/24 +propagation/6 +propagator/7 +propellant/7 +propelled +propeller/7 +propelling +propel/9 +propensity/7 +properness/6 +proper/33 +propertied/12 +property/56 +prophecy/7 +prophesier/6 +prophesy/23 +prophetess/9 +prophetic +prophetical/19 +prophet/7 +prophylactic/9 +prophylaxes +prophylaxis/6 +propinquity/7 +propionate/6 +propitiate/15 +propitiatory +propitiousness/6 +propitious/28 +proponent/7 +proportionality/6 +proportional/16 +proportionate/704 +proportioner/6 +proportion/74 +proportionment/6 +proposal/7 +propped +propping +proprietary/9 +proprietorial +proprietorship/7 +proprietor/7 +proprietress/7 +propriety/7 +proprioception +proprioceptive +prop/705 +propulsion/7 +propulsive +propylene/6 +prorogation/7 +prorogue +prosaic +prosaically +proscenium/7 +prosciutti +prosciutto/7 +proscription/7 +proscriptive +pros/31 +prosecute/376 +prosecution/6 +prosecutor/7 +proselyte/26 +proselytism/7 +proselytize/23 +prose/6 +proser/6 +Proserpine/6 +prosodic/9 +prosody/7 +prospect/163 +prospection/7 +prospectiveness/6 +prospective/46 +prospector/7 +prospectus/7 +prosper/17 +prosperity/7 +prosperousness/6 +prosperous/28 +prostate +prostheses +prosthesis/6 +prosthetic/9 +prosthetics/6 +prostitute/269 +prostitution/6 +prostrate/15 +prostration/6 +prosy/54 +protactinium/7 +protagonist/7 +Protagoras/6 +protean/9 +protease/6 +protect/64 +protected/10 +protectionism/7 +protectionist/7 +protection/7 +protectiveness/9 +protective/46 +protectorate/7 +protector/7 +protégées +protégé/7 +protein/7 +proteolysis/6 +proteolytic +Proterozoic/6 +protestantism +Protestantism/7 +protestant/9 +Protestant/7 +protestation/7 +protest/224 +protesting/19 +Proteus/6 +protocol/26 +protoplasmic +protoplasm/7 +prototype/26 +prototypic +prototypical/19 +protozoa +protozoan/7 +protozoic +protozoon's +protract/47 +protrude/17 +protrusile +protrusion/7 +protrusive/28 +protuberance/9 +protuberant +Proudhon/6 +proud/93 +Proust/6 +provabilities +provability's +provability/12 +provableness/6 +provable/42 +provably +prov/109 +proved/12 +proven/12 +prove/127 +provenance/7 +Provençal +Provencals +Provence/6 +provender/17 +provenience/7 +provenly +proverb/47 +proverbial/19 +Proverbs/6 +prover/6 +provide/67 +provided/12 +providence/7 +Providence/7 +providential/19 +provident/19 +provider/6 +province/7 +provincialism/7 +provincial/16 +provisional/16 +provisioner/6 +provision/164 +proviso/7 +provocateur/9 +provocativeness/7 +provocative/42 +provoked/12 +provoke/23 +provoking/19 +provolone/7 +Provo/6 +provost/7 +prowess/7 +prowler/6 +prowl/23 +prow/80 +proximal/19 +proximateness/6 +proximate/28 +proximity/7 +Proxmire/6 +proxy/7 +Prozac +prude/7 +Prudence/6 +prudence/7 +Prudential/6 +prudential/16 +prudent/19 +prudery/7 +Prudi/6 +prudishness/7 +prudish/28 +Prudy/6 +Prue/6 +Pruitt/6 +Pru/6 +prune/49 +pruner/6 +prurience/7 +prurient/19 +Prussia/6 +Prussian/9 +prussic +Prut/6 +Pryce/6 +pry/706 +pryer's +prying/19 +P's +PS +p's/14 +psalmist/7 +psalm/26 +Psalms/6 +psalter +Psalter/7 +psaltery/7 +psephologist/6 +pseudonymous +pseudonym/7 +pseudopod +pseudo/9 +pseudoscience/9 +pshaw/17 +psi/9 +psittacoses +psittacosis/6 +psoriases +psoriasis/6 +psst/9 +PST +psychedelically +psychedelic/9 +psyche/6 +Psyche/6 +psychiatric +psychiatrist/7 +psychiatry/7 +psychical/19 +psychic/7 +psychoacoustic/9 +psychoacoustics/6 +psychoactive +psychoanalysis/6 +psychoanalyst/9 +psychoanalytic +psychoanalytical +psychoanalyze/17 +psychobabble/9 +psychobiology/6 +psychocultural +psychodrama/7 +psychogenic +psychokinesis/6 +psycholinguistic/9 +psycholinguistics/6 +psycholinguists +psychological/19 +psychologist/7 +psychology/7 +psychometric/9 +psychometrics/6 +psychometry/6 +psychoneuroses +psychoneurosis/6 +psychopathic/9 +psychopath/6 +psychopathology/6 +psychopaths +psychopathy/7 +psychophysical/19 +psychophysic/9 +psychophysics/6 +psychophysiology/6 +psychosis/6 +psycho/7 +psychosocial/19 +psychosomatic/9 +psychosomatics/6 +psychos/9 +psychotherapeutic/9 +psychotherapist/7 +psychotherapy/7 +psychotically +psychotic/9 +psychotropic/9 +psychs +psych/17 +PT +PTA +Ptah/6 +ptarmigan/7 +pt/169 +pterodactyl/7 +Pt/6 +PTO +Ptolemaic +Ptolemaists +Ptolemy/7 +ptomaine/7 +Pu +pubbed +pubbing +pubertal +puberty/7 +pubes +pubescence/9 +pubescent +pubic +pubis/6 +publican/48 +publication/48 +publicist/7 +publicity/7 +publicized/12 +publicize/17 +publicness/6 +publics/14 +public/46 +publishable/12 +published/13 +publisher/48 +publishes/14 +publishing/6 +publish/234 +pub/7 +Puccini/6 +puce/7 +pucker/47 +Puckett/6 +puck/49 +puckishness/9 +puckish/28 +Puck/6 +pudding/7 +puddle/211 +puddler/6 +puddling/6 +puddly +pudenda +pudendum/6 +pudginess/7 +pudgy/98 +Puebla/6 +Pueblo/7 +pueblo/7 +puerile/19 +puerility/7 +puerperal +puers +Puerto/6 +puffball/7 +puffer/6 +puffery/6 +puffiness/9 +puffin/7 +Puff/6 +puff/49 +puffy/98 +Puget/6 +pugged +pugging +Pugh/6 +pugilism/7 +pugilistic +pugilist/9 +pug/7 +pugnaciousness/7 +pugnacious/28 +pugnacity/7 +puissant/19 +puke/17 +pukka +Pulaski/7 +pulchritude/7 +pulchritudinous/6 +pule/17 +Pulitzer/7 +pullback/9 +pull/179 +pullet/7 +pulley/7 +Pullman/7 +pullout/9 +pullover/7 +pulmonary +pulpiness/9 +pulpit/7 +pulp/111 +pulpwood/7 +pulpy/98 +pulsar/7 +pulsate/15 +pulsation/6 +pulse/36 +pulser +pulse's +pulverable +pulverization/7 +pulverized/12 +pulverize/23 +pulverizer/6 +pulverizes/13 +puma/7 +pumice/26 +pummel/17 +pumpernickel/7 +pump/49 +pumping/6 +pumpkin/7 +punchbowl/6 +punched/12 +puncheon/7 +puncher/6 +punch/234 +punchline/9 +Punch/6 +punchy/54 +punctilio/7 +punctiliousness/7 +punctilious/28 +punctualities +punctuality/135 +punctualness/6 +punctual/28 +punctuate/15 +punctuational +punctuation/6 +puncture/26 +punditry/9 +pundit/7 +pungency/7 +pungent/19 +Punic +puniness/7 +punished/12 +punisher/6 +punishment/7 +punish/113 +punitiveness/6 +punitive/28 +Punjabi/6 +Punjab/6 +punk/80 +punky/707 +pun/7 +punned +punning +punster/7 +punter/6 +punt/49 +puny/98 +pupae +pupal +pupa/6 +pupate/55 +pupillage/6 +pupil/7 +pup/7 +pupped +puppeteer/7 +puppetry/7 +puppet/7 +pupping +puppy/26 +puppyish +purblind +Purcell/6 +purchasable +purchase/36 +purchaser/7 +purdah/6 +purdahs +Purdue/6 +purebred/9 +puree/56 +pureeing +pureness/7 +pure/604 +purgation/6 +purgative/7 +purgatorial +purgatory/7 +purge/23 +purger/6 +purify/115 +Purim/7 +Purina/6 +purine/7 +purism/7 +puristic +purist/7 +puritanic +puritanical/19 +Puritanism/7 +puritanism/9 +puritan/7 +Puritan/7 +purity/7 +purlieu/7 +purl/26 +purloin/31 +purloiner/6 +purple/172 +purplish +purport/23 +purported/19 +purposefulness/9 +purposeful/28 +purposelessness/6 +purposeless/28 +purpose/708 +purposiveness/6 +purposive/28 +purr/17 +purring/19 +purse/49 +purser/6 +pursuance/7 +pursuant +pursuer/6 +pursue/23 +pursuit/7 +purulence/7 +purulent +Purus +purveyance/7 +purvey/17 +purveyor/7 +purview/7 +Pusan/6 +Pusey/6 +pushbutton/9 +pushcart/7 +pushchair/7 +pushdown +push/67 +pusher/6 +pushily +pushiness/7 +Pushkin/6 +pushover/7 +Pushtu/6 +pushy/98 +pusillanimity/7 +pusillanimous/19 +pus/7 +puss/9 +pussycat/9 +pussyfoot/17 +pussy/80 +pustular +pustule/7 +putative/19 +Putin/6 +put/230 +Putnam/6 +Putnem/6 +putout/9 +putrefaction/7 +putrefactive +putrefy/17 +putrescence/7 +putrescent +putridity/6 +putridness/6 +putrid/28 +putsch/9 +putted/45 +puttee/7 +putter/259 +putting/45 +putt/49 +puttying/6 +putty/26 +puzzle/78 +puzzlement/7 +puzzler/6 +PVC +pvt +Pvt/6 +PW +PX +p/709 +Pygmalion/6 +pygmy/7 +Pygmy/7 +Pyhrric/6 +pyknotic +Pyle/6 +pylon/7 +pylori +pyloric +pylorus/6 +Pym/6 +Pynchon/6 +Pyongyang/6 +pyorrhea/7 +Pyotr/6 +pyramidal/19 +pyramid/26 +pyre/7 +Pyrenees +Pyrex/7 +pyridine/6 +pyrimidine/7 +pyrite/7 +pyroelectric +pyroelectricity/7 +pyrolysis/6 +pyrolyze/175 +pyromaniac/7 +pyromania/7 +pyrometer/7 +pyrometry/6 +pyrophosphate/6 +pyrotechnical +pyrotechnic/9 +pyrotechnics/6 +pyroxene/6 +pyroxenite/6 +Pyrrhic +Pythagoras/6 +Pythagorean/9 +Pythias +Python/6 +python/7 +pyx/26 +q +Q +QA +Qaddafi/6 +Qantas/6 +Qatar/6 +QB +QC +QED +Qingdao +Qiqihar/6 +QM +Qom/6 +qr +q's +Q's +qt +qty +qua +Quaalude/6 +quackery/7 +quackish +quack/17 +quadded +quadding +quadrangle/7 +quadrangular/6 +quadrant/7 +quadraphonic/9 +quadrapole +quadratical/19 +quadratic/7 +quadrature/7 +quadrennial/16 +quadrennium/7 +quadric +quadriceps/7 +quadrilateral/9 +quadrille/269 +quadrillion/140 +quadripartite/220 +quadriplegia/7 +quadriplegic/7 +quadrivia +quadrivium/6 +quadrupedal +quadruped/7 +quadruple/17 +quadruplet/7 +quadruplicate/17 +quadruply/107 +quadrupole +quad/7 +quadword/7 +quaffer/6 +quaff/31 +quagmire/26 +quahog/7 +quail/26 +quaintness/7 +quaint/33 +quake/23 +Quakeress/6 +Quakerism/9 +Quaker/7 +quaky/54 +qualification/82 +qualified/10 +qualifier/7 +qualify/87 +qualitative/19 +quality/7 +qualmish +qualm/7 +quandary/7 +quangos +quanta/6 +Quantico/6 +quantifiable/12 +quantified/12 +quantifier/6 +quantify/115 +quantile/9 +quantitativeness/6 +quantitative/28 +quantity/7 +quantization/7 +quantizer/6 +quantize/23 +quantum/6 +quarantine/26 +quark/7 +quarreler/6 +quarrellings +quarrelsomeness/7 +quarrelsome/28 +quarrel/49 +quarrier/6 +quarryman/6 +quarrymen +quarry/111 +quarterback/26 +quarterdeck/7 +quarterer/6 +quarterfinal/7 +quartering/6 +quarterly/9 +quartermaster/7 +quarter/258 +quarterstaff/6 +quarterstaves +quartet/7 +quartic/9 +quartile/7 +quarto/7 +quart/96 +quartzite/6 +quartz/7 +quasar/7 +quash/17 +quasi +quasilinear +Quasimodo/6 +Quaternary +quaternary/9 +quaternion/7 +quatrain/7 +quaver/17 +quavering/19 +quavery +Quayle/6 +quayside/6 +quay/7 +queasily +queasiness/7 +queasy/98 +Quebec/6 +Quechua/6 +Queenie/6 +queenly/54 +queen/116 +Queensland/6 +Queen/7 +queerness/9 +queer/77 +queller/6 +quell/31 +Que/6 +quenchable/12 +quenched/12 +quencher/6 +quench/67 +quenchless +Quentin/6 +Quent/6 +Querida/6 +quern/6 +querulousness/9 +querulous/28 +query/111 +quested/14 +quester/63 +quester's +quest/710 +questing +questionableness/6 +questionable/42 +questionably/12 +questioned/13 +questioner/6 +questioning/10 +questionnaire/7 +question/182 +quests/14 +Quetzalcoatl/6 +queued/169 +queue/49 +queuer/6 +queues/169 +queuing/169 +Quezon/6 +quibble/23 +quibbler/6 +quiche/7 +quicken/52 +quickie/7 +quicklime/7 +quickness/7 +quick/35 +quicksand/7 +quicksilver/26 +quickstep/7 +quid/7 +quiesce/81 +quiescence/7 +quiescent/28 +quieted/25 +quieten/17 +quieter/25 +quieter's +quieting/25 +quietly/25 +quietness/7 +quiets/25 +quietude/21 +quietus/7 +quiet/711 +Quillan/6 +quill/26 +Quill/6 +quilter/6 +quilting/6 +quilt/91 +quincentenary/6 +quince/7 +Quincey/6 +quincy/6 +Quincy/6 +quinine/7 +Quinlan/6 +Quinn/6 +quinquennial/19 +quinsy/7 +Quinta/6 +Quintana/6 +quintessence/7 +quintessential/19 +quintet/7 +quintic +quintile/7 +Quintilian/6 +Quintilla/6 +quintillion/140 +quintillionth/6 +Quintina/6 +Quintin/6 +Quint/6 +quint/7 +Quinton/6 +quintuple/17 +quintuplet/7 +Quintus/6 +quip/7 +quipped +quipper +quipping +quipster/7 +quired/58 +quire/26 +quires/58 +Quirinal/6 +quiring/58 +quirkiness/7 +quirk/26 +quirky/98 +quirt/26 +Quisling/6 +quisling/7 +quitclaim/26 +quit/17 +quite/36 +Quito/6 +quittance/7 +quitter/7 +quitting +quiver/17 +quivering/19 +quivery +Quixote/6 +quixotic +quixotically +Quixotism/6 +quiz/6 +quizzed +quizzer/7 +quizzes +quizzical/19 +quizzing +quo/540 +quoin/26 +quoit/26 +quondam +quonset +Quonset +quorate/45 +quorum/7 +quotability/9 +quota/7 +quotation/7 +quoter/6 +quote/180 +quot/428 +quotidian/9 +quotient/7 +qwerty +qwertys +Rabat/6 +rabbet/26 +Rabbi/6 +rabbi/7 +rabbinate/7 +rabbinic +rabbinical/19 +rabbiter/6 +rabbit/111 +rabble/111 +rabbler/6 +Rabelaisian +Rabelais/6 +rabidness/7 +rabid/28 +rabies +Rabi/6 +Rabin/6 +rabis +Rab/6 +raccoon/7 +racecourse/7 +racegoers +racehorse/7 +raceme/7 +race/91 +racer/6 +racetrack/175 +raceway/7 +Rachael/6 +Rachele/6 +Rachelle/6 +Rachel/6 +Rachmaninoff/6 +racialism/7 +racialist/7 +racial/19 +racily +Racine/6 +raciness/7 +racism/9 +racist/7 +racketeer/171 +racket/26 +rackety +rack/111 +raconteur/7 +racoon's +racquetball/9 +racquet's +racy/98 +radarscope/7 +radar/7 +Radcliffe/6 +radded +radder +raddest +Raddie/6 +radding +Raddy/6 +radial/16 +radiance/7 +radian/7 +radiant/16 +radiate/108 +radiation/6 +radiative/19 +radiator/7 +radicalism/7 +radicalization/9 +radicalize/17 +radicalness/6 +radical/46 +radices's +radii/6 +radioactive/19 +radioactivity/7 +radioastronomical +radioastronomy +radiocarbon/7 +radiochemical/19 +radiochemistry/6 +radiogalaxy/9 +radiogram/7 +radiographer/7 +radiographic +radiography/7 +radioisotope/7 +radiologic +radiological/19 +radiologist/7 +radiology/7 +radioman/6 +radiomen +radiometer/7 +radiometric +radiometry/7 +radionics +radionuclide/6 +radiopasteurization +radiophone/7 +radiophysics +radioscopy/7 +radio/26 +radiosonde/7 +radiosterilization +radiosterilized +radiotelegraph +radiotelegraphs +radiotelegraphy/7 +radiotelephone/7 +radiotherapist/7 +radiotherapy/7 +radish/7 +radium/7 +radius/6 +radix/7 +Rad/6 +radon/7 +rad/9 +Raeann/6 +Rae/6 +RAF +Rafaela/6 +Rafaelia/6 +Rafaelita/6 +Rafaellle/6 +Rafaello/6 +Rafael/6 +Rafa/6 +Rafe/6 +Raffaello/6 +Raffarty/6 +Rafferty/6 +raffia/7 +raffishness/7 +raffish/28 +raffle/26 +Raff/6 +Rafi/6 +Raf/6 +rafter/170 +raft/49 +raga/7 +ragamuffin/7 +ragbag/7 +rage/7 +raggedness/7 +ragged/33 +raggedy/54 +ragging +rag/26 +raging/19 +raglan/7 +Ragnar/6 +Ragnarök +ragout/26 +ragtag/7 +ragtime/7 +ragweed/7 +ragwort/6 +Rahal/6 +rah/47 +Rahel/6 +rahs +raider/6 +raid/49 +railbird/9 +rail/263 +railer/7 +railhead/7 +railing/7 +raillery/7 +railroader/6 +railroading/6 +railroad/91 +rail's +railwaymen +railway/7 +raiment/7 +Raimondo/6 +Raimund/6 +Raimundo/6 +Raina/6 +rainbow/7 +raincloud/9 +raincoat/7 +raindrop/7 +Raine/114 +Rainer/6 +rainfall/7 +rainforest's +rain/26 +Rainier/6 +rainless +rainmaker/7 +rainmaking/7 +rainproof/17 +rainstorm/7 +rainwater/7 +rainy/54 +raise/23 +raiser/6 +raising/6 +raisin/7 +rajah/6 +rajahs +Rajive/6 +raj/6 +Rakel/6 +rake/111 +raker/6 +rakishness/7 +rakish/28 +Raleigh/6 +Ralf/6 +Ralina/6 +rally/17 +Ralph/6 +Ralston/6 +Ra/6 +Ramada/6 +Ramadan/7 +Ramakrishna/6 +Rama/6 +Raman/6 +Ramayana/6 +ramble/179 +rambler/6 +rambling/19 +Rambo/6 +rambunctiousness/9 +rambunctious/28 +ramekin/7 +ramie/7 +ramification/6 +ramify/15 +Ramirez/6 +Ramiro/6 +ramjet/7 +Ram/6 +rammed +ramming +Ramo/7 +Ramona/6 +Ramonda/6 +Ramon/6 +rampage/17 +rampancy/9 +rampant/19 +rampart/26 +ramp/26 +ramrodded +ramrodding +ramrod/7 +RAM/9 +Ramsay/6 +Ramses/6 +Ramsey/6 +ramshackle +ram/7 +rams/9 +ran/14 +Rana/6 +Rancell/6 +Rance/6 +rancher/6 +rancho/7 +ranch/91 +rancidity/7 +rancidness/7 +rancid/42 +rancorous/19 +rancor/7 +Randall/6 +Randal/6 +Randa/6 +Randee/6 +Randell/6 +Randene/6 +Randie/6 +Randi/6 +randiness/9 +Rand/6 +rand/26 +Randolf/6 +Randolph/6 +randomization/7 +randomize/31 +randomness/7 +random/46 +Randy/6 +randy/177 +Ranee/6 +ranee/7 +ranged/169 +rangeland/9 +ranger/6 +ranges/169 +range/7 +rang/242 +ranginess/9 +ranging/169 +Rangoon/6 +rangy/98 +Rania/6 +Ranice/6 +Ranier/6 +Rani/114 +Ranique/6 +rani's +ranked/12 +ranker/6 +rank/524 +Rankine/6 +ranking/6 +Rankin/6 +rankle/17 +rankness/7 +Ranna/6 +ransacker/6 +ransack/31 +Ransell/6 +ransomer/6 +Ransom/6 +ransom/49 +ranter/6 +rant/179 +ranting/19 +Raoul/6 +rapaciousness/7 +rapacious/28 +rapacity/7 +rapeseed/6 +rape/7 +Raphaela/6 +Raphael/6 +rapidity/7 +rapidness/9 +rapid/38 +rapier/7 +rapine/7 +rapist/7 +rap/49 +rapped +rappelled +rappelling +rappel/9 +rapper/7 +rapping/6 +rapporteur/7 +rapport/7 +rapprochement/7 +rapscallion/7 +raptness/9 +rapture/26 +rapturousness/6 +rapturous/28 +rapt/28 +Rapunzel/6 +Raquela/6 +Raquel/6 +rarebit/7 +rarefaction/7 +rarefy/17 +rareness/7 +rare/77 +rarity/7 +Rasalgethi/6 +Rasalhague/6 +rascal/65 +rasher/6 +rashness/9 +rash/712 +Rasia/6 +Rasla/6 +Rasmussen/6 +raspberry/7 +rasper/6 +rasping/19 +rasp/211 +Rasputin/6 +raspy/54 +Rastaban/6 +Rastafarian/6 +raster/7 +Rastus/6 +ratchet/26 +rateable +rated/12 +rate/713 +ratepayer/7 +rater/6 +rate's +Ratfor/6 +rather +Rather/6 +rathskeller/7 +ratifier/6 +ratify/115 +rating/6 +ratiocinate/24 +ratiocination/6 +ratio/7 +rationale/7 +rationalism/7 +rationalistic +rationalist/9 +rationality/7 +rationalization/7 +rationalizer/6 +rationalize/23 +rationalness/6 +rational/46 +ration/26 +Ratliff/6 +ratlike +ratline/7 +rat/182 +rattail +rattan/7 +ratted +ratter/7 +ratting +rattlebrain/56 +rattle/179 +rattlesnake/7 +rattletrap/7 +rattling/19 +rattly/54 +rattrap/7 +ratty/54 +raucousness/7 +raucous/28 +Raul/6 +raunchily +raunchiness/9 +raunchy/98 +ravage/23 +ravager/6 +raveling/9 +Ravel/6 +ravel/180 +raven/211 +Raven/6 +ravenous/28 +raver/6 +rave/179 +Ravid/6 +Ravi/6 +ravine/26 +ravioli/7 +ravisher/6 +ravishing/19 +ravish/27 +ravishment/7 +Raviv/6 +Rawalpindi/6 +rawboned +rawhide/26 +Rawley/6 +Rawlings/6 +Rawlins/6 +Rawlinson/6 +rawness/7 +raw/38 +Rawson/6 +Rayburn/6 +Raychel/6 +Raye/6 +ray/26 +Rayleigh/6 +Ray/6 +Raymond/6 +Raymondville/6 +Raymund/6 +Raymundo/6 +Rayna/6 +Raynard/6 +Raynell/6 +Rayner/6 +Raynor/6 +rayon/7 +Rayshell/6 +Raytheon/6 +raze/31 +razer/6 +razorback/7 +razorblades +razor/26 +razz/17 +razzmatazz/9 +Rb +RBI/9 +RC +RCA +rcpt +RCS +rd +RD +RDA +Rd/6 +reabbreviate +reachability +reachable/12 +reachably +reached/12 +reacher/6 +reach/714 +reacquisition +reactant/7 +reacted/12 +reaction +reactionary/7 +reactivity +readability/7 +readable/42 +readably +readdress/224 +Reade/6 +reader/6 +readership/7 +Read/207 +readied +readies +readily +readinesses +readiness/135 +reading/6 +Reading/6 +read/715 +readopt/224 +readout/7 +reads/14 +readying +ready/264 +Reagan/6 +Reagen/6 +realisms +realism's +realism/12 +realistically/12 +realistic/12 +realist/7 +reality/41 +realizability/7 +realizableness/6 +realizable/444 +realizably/9 +realization/7 +realized/12 +realize/234 +realizer/6 +realizes/12 +realizing/86 +realm/6 +realness/9 +realpolitik/7 +real/177 +realtor's +Realtor/9 +realty/7 +Rea/6 +reamer/6 +ream/259 +Reamonn/6 +reanimate +reaper/6 +reappraise/224 +reap/716 +rear/111 +rearguard/7 +rearmost +rearrange/329 +rearward/9 +reasonableness/41 +reasonable/236 +reasonably/12 +Reasoner/6 +reasoner/7 +reasoning/7 +reasonless +reasons +reason/717 +reassess/403 +reassuringly/12 +reattach/661 +reawakening/6 +Reba/6 +rebate/6 +Rebbecca/6 +Rebeca/6 +Rebecca's +Rebecka/6 +Rebekah/6 +Rebeka/6 +Rebekkah/6 +rebeller +rebellion/7 +rebelliousness/7 +rebellious/28 +rebel/7 +Rebe/6 +rebid +rebidding +rebind/224 +rebirth +reboil/224 +rebook +reboot/90 +rebound/224 +rebroadcast/207 +rebuke/31 +rebuking/19 +rebus +rebuttal/7 +rebutting +rec +recalcitrance/7 +recalcitrant/9 +recalibrate/122 +recantation/9 +recant/224 +recap +recappable +recapping +recast/224 +recd +rec'd +recede +receipt/26 +receivable/9 +received/12 +receiver/6 +receivership/7 +receive/67 +recency/6 +recension/6 +recentness/7 +recent/718 +receptacle/7 +receptionist/7 +reception/7 +receptiveness/9 +receptive/28 +receptivity/9 +receptor/7 +recessional/9 +recessionary +recessiveness/6 +recessive/46 +recess/163 +rechargeable +recheck/224 +recherché +recherches +recidivism/7 +recidivist/7 +Recife/6 +recipe/7 +recipiency +recipient/7 +reciprocal/16 +reciprocate/24 +reciprocation/6 +reciprocity/7 +recitalist/9 +recital/7 +recitative/7 +reciter/6 +recite/90 +recked +recking +recklessness/9 +reckless/28 +reckoner/6 +reckoning/6 +reckon/187 +reclaim/277 +reclamation/7 +recliner/6 +recline/23 +recluse/89 +reclusion/6 +recode/224 +recognizability +recognizable/12 +recognizably +recognize/67 +recognizedly/9 +recognized/12 +recognizer/6 +recognizingly/9 +recognizing/10 +recoilless +recoinage +recolor/47 +recombinant +recombine +recommended/12 +recompense/17 +recompute/277 +reconciled/12 +reconciler/6 +reconcile/318 +reconditeness/6 +recondite/28 +reconfigurability +reconfigure/164 +reconnaissance/7 +reconnect/164 +reconnoiter/17 +reconquer/224 +reconsecrate +reconstitute +reconstructed/12 +Reconstruction/6 +reconsult/224 +recontact/224 +recontaminate/122 +recontribute +recook/224 +recopy/224 +recorded/13 +records/14 +record/719 +recourse +recoverability +recoverable/12 +recover/277 +recovery/7 +recreant/9 +recreational +recriminate/24 +recrimination/6 +recriminatory +recross/224 +recrudesce/17 +recrudescence/7 +recrudescent +recruiter/6 +recruitment/7 +recruit/191 +recrystallize +rectal/19 +rectangle/7 +rectangular/19 +recta's +rectifiable +rectification/6 +rectifier/6 +rectify/115 +rectilinear/19 +rectitude/7 +recto/7 +rector/7 +rectory/7 +rectum/7 +recumbent/19 +recuperate/24 +recuperation/6 +recur +recurrence/7 +recurrent +recurse/107 +recursion/6 +recusant/6 +recuse +recyclable/9 +recycle/405 +redact/17 +redaction/7 +redactor/7 +redbird/7 +redbreast/7 +redbrick/6 +redbud/6 +redcap/7 +redcoat/7 +redcurrant/6 +redden/17 +redder +reddest +redding +reddish/42 +Redd/6 +redeclaration +redecorate +redeemable/12 +redeem/332 +redeemed/12 +redeemer/6 +Redeemer/6 +redemptioner/6 +redemption/175 +redemptive +redeposit/6 +redetermination +Redford/6 +Redgrave/6 +redhead/286 +Redhook/6 +redial/224 +redirect/224 +redirection +redlining/9 +Redmond/6 +redneck/56 +redness/7 +redo/224 +redolence/7 +redolent +Redondo/6 +redouble/9 +redoubtably +redound/17 +red/46 +redshift/9 +redskin/7 +Redstone/6 +reduced/12 +reducer/6 +reduce/23 +reducibility/6 +reducible +reducibly +reductionism/6 +reductionist/9 +reduction/7 +reduct/130 +redundancy/7 +redundant/19 +redwood/7 +redye +redyeing +Reeba/6 +Reebok/6 +Reece/6 +reecho/224 +reed/570 +reediness/7 +reeding/6 +Reed/6 +Reedville/6 +reedy/98 +reefer/6 +reef/49 +reeker/6 +reek/255 +reeler/6 +reel's +reel/180 +Ree/56 +Reena/6 +reenforcement +reentrant +Reese/6 +reestimate/6 +Reeta/6 +Reeva/6 +reeve/224 +Reeves +reexamine +refection/7 +refectory/7 +refer/277 +refereed/12 +refereeing +referee/56 +reference/253 +referenced/12 +reference's +referencing/12 +referendum/7 +referentiality +referential/86 +referent/7 +referral/7 +referred +referrer/9 +referring +reffed +reffing +refile +refinance +refined/12 +refine/393 +refinement/7 +refinish/224 +refit +reflectance/6 +reflected/12 +reflectional +reflection/7 +reflectiveness/6 +reflective/28 +reflectivity/6 +reflector/7 +reflect/64 +reflexion/7 +reflexiveness/6 +reflexive/46 +reflexivity/6 +reflex/580 +reflooring +refluent +reflux/224 +refocus/224 +refold/224 +reforestation +reforge/224 +reformatory/7 +reform/277 +reformed/12 +reformer/6 +reformism/6 +reformist/9 +refract/64 +refractiveness/6 +refractive/28 +refractometer/7 +refractoriness/6 +refractory/144 +refrain/17 +refreshed/12 +refreshing/19 +refresh/695 +refreshment/7 +refrigerant/7 +refrigerated/12 +refrigerate/15 +refrigeration/6 +refrigerator/7 +refrozen +refry/166 +refugee/7 +refuge/26 +Refugio/6 +refulgence/7 +refulgent +refund/277 +refunder/6 +refurbish/329 +refurbishment/9 +refusal/7 +refuse/164 +refuser/6 +refutation/7 +refute/67 +refuter/6 +ref/705 +reg +regale/329 +regalement/9 +regal/720 +regalia/6 +Regan/6 +regard/84 +regardless/28 +regather/224 +regatta/7 +regency/7 +regeneracy/7 +regenerately +regenerateness/6 +regenerate/12 +Regen/6 +reggae/7 +Reggie/6 +Reggi/7 +Reggy/6 +regicide/7 +regime/7 +regimen/7 +regimental/9 +regimentation/7 +regiment/26 +Reginae +Reginald/6 +Regina/6 +Reginauld/6 +Regine/6 +regionalism/7 +regional/16 +region/7 +Regis/6 +register's +register/180 +registrable +registrant/7 +registrar/7 +registration/118 +registrations +registry/7 +Reg/72 +regnant +Regor/6 +regress/64 +regression/7 +regressiveness/6 +regressive/28 +regressors +regretfulness/6 +regretful/28 +regret/9 +regrettable +regrettably +regretted +regretting +reground +regroup/224 +regrow/224 +regularity/7 +regularization/7 +regularize/17 +regular/16 +regulate/345 +regulated/12 +regulation/6 +regulative +regulator/7 +regulatory +Regulus/6 +regurgitate/15 +regurgitation/6 +rehabbed +rehabbing +rehabilitate/24 +rehabilitation/6 +rehab/9 +rehang/224 +rehear/301 +rehearsal/7 +rehearse +rehearsed/12 +rehearser/6 +rehears/164 +reheat/224 +reheating/6 +Rehnquist +rehydrate +Reichenberg/6 +Reich/6 +Reichstags +Reichstag's +Reidar/6 +Reider/6 +Reid/114 +reign/26 +Reiko/6 +Reilly/6 +reimburse/149 +reimbursement/7 +Reinald/6 +Reinaldo/7 +Reina/6 +reindeer/6 +Reine/6 +reinforced/12 +reinforce/8 +reinforcement/7 +reinforcer/6 +rein/165 +Reinhard/6 +Reinhardt/6 +Reinhold/6 +Reinold/6 +reinstate/329 +reinstatement/7 +reinsurance +Reinwald/6 +reissue +REIT +reiterative/144 +rejecter/6 +rejecting/19 +rejection/7 +rejector/7 +reject/29 +rejigger +rejoice/187 +rejoicing/19 +rejoinder/7 +rejuvenate/15 +rejuvenatory +relapse +relatedly +relatedness/7 +related/12 +relater/6 +relate/721 +relational/19 +relation/6 +relationship/7 +relativeness/6 +relative/46 +relativism/6 +relativistic +relativistically +relativist/7 +relativity/7 +relator's +relaxant/7 +relaxation/7 +relaxedness/6 +relaxed/28 +relax/394 +relaxing/19 +relay/165 +relearn/224 +releasable/12 +release/277 +released/12 +relenting/12 +relentlessness/7 +relentless/28 +relent/17 +relevance/7 +relevancy/7 +relevant/19 +reliability/41 +reliables +reliable/12 +reliably/12 +reliance/7 +reliant/19 +relicense/164 +relic/7 +relict/169 +relict's +relief/6 +relievedly +relieved/12 +reliever/6 +relieve/23 +religionists +religion/7 +religiosity/6 +religiousness/7 +religious/28 +relink/224 +relinquish/11 +relinquishment/7 +reliquary/7 +relish/17 +relive/625 +reload/569 +relocate/277 +reluctance/7 +reluctant/19 +rel/130 +rely/47 +rem +Re/6 +remade/9 +remainder/26 +remain/47 +remake/6 +remand/17 +remap +remapping +remarkableness/9 +remarkable/12 +remarkably +remark/625 +remarked/12 +Remarque/6 +rematch/224 +Rembrandt/6 +remeasure/81 +remediableness/6 +remediable/42 +remedy/26 +remembered/12 +rememberer/6 +remember/569 +remembrance/175 +remembrancer/6 +Remington/6 +reminisce/17 +reminiscence/7 +reminiscent/19 +remissness/7 +remiss/28 +remit/9 +remittance/7 +remitted +remitting/12 +Rem/6 +remnant/7 +remodel/224 +remolding +remonstrant/7 +remonstrate/24 +remonstration/6 +remonstrative/19 +remorsefulness/6 +remorseful/28 +remorselessness/7 +remorseless/28 +remorse/7 +remoteness/7 +remote/33 +remoulds +removal/7 +REM/9 +remunerated/12 +remunerate/24 +remuneration/6 +remunerativeness/6 +remunerative/28 +Remus/6 +Remy/6 +Renado/6 +Renae/6 +renaissance/9 +Renaissance/7 +renal +Renaldo/6 +Rena/6 +Renard/6 +Renascence/7 +Renata/6 +Renate/6 +Renato/6 +renaturation +Renaud/6 +Renault/7 +rend +renderer/6 +render/541 +rendering/6 +rendezvous/26 +rendition/26 +rend/227 +Renee/6 +renegade/26 +renege/23 +reneger/6 +Renelle/6 +Renell/6 +Rene/6 +renewal/7 +renew/625 +renewer/6 +Renie/6 +rennet/7 +Rennie/6 +rennin/7 +Renoir/6 +Reno/6 +renounce/8 +renouncement/7 +renouncer/6 +renovate/15 +renovation/6 +renovator/7 +renown/26 +Rensselaer/6 +rentaller +rental/7 +renter/6 +rent/49 +renumber/224 +renumeration +renunciate/129 +renunciation/6 +Renville/6 +reoccupy/224 +reopen/224 +reorganized/12 +repack/224 +repairable/12 +repair/391 +repairer/6 +repairman/6 +repairmen +repairs/25 +repaper +reparable +reparation/7 +reparteeing +repartee/56 +repartition/331 +repast/224 +repatriate/15 +repave +repealer/6 +repeal/569 +repeatability/6 +repeatable/12 +repeatably +repeated/19 +repeater/6 +repeat/597 +repelled +repellent/16 +repelling/19 +repel/9 +repentance/7 +repentant/16 +repent/52 +repertoire/7 +repertory/7 +repetition +repetitiousness/9 +repetitious/28 +repetitiveness/7 +repetitive/28 +repine/164 +repiner/6 +replace/564 +replay/207 +replenish/8 +replenishment/9 +repleteness/7 +replete/722 +repletion/6 +replica/7 +replicate/64 +replicator/9 +replug +reply/588 +Rep/6 +repopulate +reported/19 +reportorial/19 +reposeful +repose/6 +repository/7 +reprehend/17 +reprehensibility/7 +reprehensibleness/6 +reprehensible/42 +reprehensibly +reprehension/7 +representable/12 +representational/19 +representativeness/6 +Representative/9 +representative/32 +representativity +represented/12 +represent/625 +repression/7 +repressiveness/6 +repressive/28 +repress/130 +reprieve/17 +reprimand/26 +reprint/6 +reprisal/7 +reproacher/6 +reproachfulness/6 +reproachful/28 +reproach/318 +reproaching/19 +reprobate/122 +reprocess/224 +reproducibility/7 +reproducible/9 +reproducibly +reproductive/9 +reproof/224 +reprove/164 +reproving/19 +rep/9 +reptile/7 +reptilian/9 +Republicanism/9 +republicanism/7 +Republican/9 +republic/6 +republish/224 +repudiate/15 +repudiation/6 +repudiator/9 +repugnance/7 +repugnant/19 +repulse/129 +repulsion/6 +repulsiveness/7 +repulsive/28 +reputability/7 +reputably/25 +reputation/7 +reputed/19 +repute/723 +reputing +requested/12 +request/224 +Requiem/7 +requiem/7 +require/564 +requirement/7 +requisiteness/6 +requisite/675 +requisitioner/6 +requisition/570 +requital/7 +requited/12 +requiter/6 +requite/90 +reread/224 +rerecord/224 +rerouteing +rerunning +res/169 +rescale +rescind/31 +rescission/7 +rescue/23 +reseal/625 +research/424 +reselect/224 +resemblant +resemble/17 +resend/224 +resent/11 +resentfulness/7 +resentful/28 +resentment/7 +reserpine/7 +reservation/7 +reservednesses +reservedness/135 +reserved/161 +reservist/7 +reservoir/7 +reset/52 +resettle/329 +reshipping +reshow/224 +reshuffle/6 +reside/224 +residence/7 +residency/7 +residential/19 +resident/7 +resider/6 +residua +residual/16 +residuary +residue/7 +residuum/6 +resignation/7 +resigned/28 +resilience/7 +resiliency/9 +resilient/19 +resin/81 +resinlike +resinous +resiny +resistance/7 +Resistance/7 +resistantly +resistants +resistant/12 +resisted/12 +resistible +resistibly +resisting/12 +resistiveness/6 +resistive/28 +resistivity/6 +resistless +resistor/7 +resist/349 +resize/224 +resold +resole/224 +resoluble +resoluteness/7 +resolute/724 +resolvability/6 +resolvable/12 +resolved/12 +resolvent +resonance/7 +resonant/16 +resonate/17 +resonator/7 +resorption/7 +resort/164 +resound/224 +resourcefulness/7 +resourceful/28 +resp +respectability/7 +respectable/144 +respectably +respect/470 +respected/25 +respectful/75 +respectfulness/7 +respecting/25 +respectiveness/6 +respective/28 +respect's/25 +respects/25 +respell/224 +respiration/7 +respirator/7 +respiratory/6 +resplendence/7 +resplendent/19 +respondent/7 +respond/23 +responser/6 +response/725 +responsibility/7 +responsibleness/6 +responsible/42 +responsibly +responsiveness/41 +responsive/161 +respray/224 +restart/277 +restate/329 +restaurant/7 +restaurateur/7 +rest/152 +rested/12 +rester/6 +restfuller +restfullest +restfulness/7 +restful/28 +restitution/7 +restiveness/7 +restive/28 +restlessness/7 +restless/28 +restorability +Restoration/6 +restoration/7 +restorative/46 +restorer/6 +restore/331 +restrained/10 +restraint/7 +restrict/64 +restricted/10 +restriction/7 +restrictively +restrictiveness/7 +restrictives +restrictive/12 +restroom/7 +restructurability +restructure +rest's/12 +rests/12 +restudy/6 +restyle +resubstitute +resultant/16 +result/26 +resume/88 +resumption/7 +resurface +resurgence/7 +resurgent +resurrect/17 +resurrection/7 +resurvey/224 +resuscitate/24 +resuscitation/6 +resuscitator/7 +retail/331 +retainer/6 +retain/27 +retake +retaliate/24 +retaliation/6 +retaliatory +Reta/6 +retardant/7 +retardation/7 +retarder/6 +retard/23 +retch/17 +retention/7 +retentiveness/9 +retentive/28 +retentivity/6 +retest/224 +Retha/6 +rethought +reticence/9 +reticent/19 +reticle/7 +reticular +reticulate/215 +reticulation/6 +reticule/7 +reticulum/6 +retinal/9 +retina/7 +retinue/7 +retiredness/6 +retiree/7 +retire/329 +retirement/7 +retiring/28 +retort/47 +retract/47 +retractile +retrench/329 +retrenchment/7 +retributed +retribution/7 +retributive +retrieval/7 +retriever/6 +retrieve/67 +retroactive/19 +retrofire/26 +retrofit/9 +retrofitted +retrofitting +retroflection +retroflex/81 +retroflexion/6 +retrogradations +retrograde/183 +retrogression/7 +retrogressive/19 +retrogress/64 +retrorocket/7 +retro/7 +retrospection/7 +retrospective/16 +retrospect/163 +retrovirus/9 +retrovision +retry/224 +retsina/7 +returnable/9 +returned/12 +returnee/7 +retype +Reube/6 +Reuben/6 +Reub/72 +Reunion/6 +reuse/277 +Reuters +Reuther/6 +reutilization +Reuven/6 +Reva/6 +revanchist +revealed/12 +revealingly +revealing/12 +reveal/726 +reveille/7 +revelation/7 +Revelation/7 +revelatory +revelry/7 +revel/179 +revenge/111 +revenger/6 +revenuer/6 +revenue/90 +reverberant +reverberate/24 +reverberation/6 +revere/17 +Revere/6 +reverencer/6 +reverence/111 +Reverend +reverend/7 +reverential/19 +reverent/19 +reverie/7 +reversal/7 +reverser/6 +reverse/19 +reversibility/6 +reversible/9 +reversibly +reversioner/6 +reversion/164 +revers/6 +reverter/6 +revertible +revert/29 +revet/329 +revetment/7 +review/224 +revile/727 +revilement/7 +reviler/6 +revise/332 +revised/12 +revisionary +revisionism/7 +revisionist/7 +revitalize/90 +revivalism/7 +revivalist/7 +revival/7 +reviver/6 +revive/31 +revivification/6 +revivify/588 +Revkah/6 +Revlon/6 +Rev/6 +revocable +revoke/23 +revolter/6 +revolt/52 +revolting/19 +revolutionariness/6 +revolutionary/444 +revolutionist/7 +revolutionize/23 +revolutionizer/6 +revolution/7 +revolve/234 +revolver/6 +revue/7 +revulsion/7 +revved +revving +rev/680 +rewarded/12 +rewarding/19 +rewarm/224 +reweave +rewedding +reweigh/224 +rewind/714 +rewire/224 +rework/224 +rexes +Rex/6 +Reyes +Reykjavik/6 +re/86 +Rey/6 +Reynaldo/6 +Reyna/6 +Reynard/6 +Reynold/7 +rezone +Rf +RF +RFC +RFD +R/224 +rhapsodic +rhapsodical +rhapsodize/17 +rhapsody/7 +Rhea/6 +rhea/7 +Rheba/6 +Rhee/6 +Rheims/6 +Rheinholdt/6 +Rhenish +rhenium/7 +rheology/6 +rheostat/7 +rhesus/9 +Rheta/6 +rhetorical/28 +rhetorician/7 +rhetoric/7 +Rhetta/6 +Rhett/6 +rheumatically +rheumatic/9 +rheumatics/6 +rheumatism/7 +rheumatoid +rheum/7 +rheumy/54 +Rhiamon/6 +Rhianna/6 +Rhiannon/6 +Rhianon/6 +Rhinelander/6 +Rhineland/114 +Rhine/6 +rhinestone/7 +rhinitides +rhinitis/6 +rhinoceros/7 +rhino/7 +rhinotracheitis +rhizome/7 +Rh/6 +Rhoda/6 +Rhodes +Rhodesia/6 +Rhodesian/9 +Rhodia/6 +Rhodie/6 +rhodium/7 +rhododendron/7 +rhodolite/6 +rhodonite/6 +Rhody/6 +rhombic +rhomboidal +rhomboid/7 +rhombus/7 +rho/7 +Rhona/6 +Rhonda/6 +Rhone +rhubarb/7 +rhyme/49 +rhymester/7 +Rhys/6 +rhythmical/19 +rhythmic/9 +rhythmics/6 +rhythm/7 +RI +rial/7 +Riane/6 +Riannon/6 +Rianon/6 +ribaldry/7 +ribald/9 +ribbed +Ribbentrop/6 +ribber/9 +ribbing/6 +ribbon/26 +ribcage +rib/7 +riboflavin/7 +ribonucleic +ribosomal +ribosome/7 +Rica/6 +Rican/7 +Ricard/6 +Ricardo/6 +Ricca/6 +Riccardo/6 +rice/49 +Rice/6 +ricer/6 +Richard/7 +Richardo/6 +Richardson/6 +Richart/6 +Richelieu/6 +richen/47 +Richey/6 +Richfield/6 +Richie/6 +Richland/6 +Rich/6 +Richmond/6 +Richmound/6 +richness/7 +Richter/6 +Richthofen/6 +Richy/6 +rich/534 +Rici/6 +Rickard/6 +Rickenbacker/6 +Rickenbaugh/6 +Rickert/6 +rickets/6 +rickety/54 +Rickey/6 +rick/26 +Rickie/6 +Ricki/6 +Rick/6 +Rickover/6 +rickrack/7 +rickshaw/7 +Ricky/6 +Ric/6 +ricochet/17 +Rico/6 +Ricoriki/6 +ricotta/7 +riddance/7 +ridden +ridding +riddle/111 +Riddle/6 +ride/598 +Ride/6 +rider/266 +riderless +ridership/9 +ridge/26 +Ridgefield/6 +ridgepole/7 +Ridgway/6 +ridgy/54 +ridicule/111 +ridiculer/6 +ridiculousness/7 +ridiculous/28 +riding/6 +rid/193 +Riemann/6 +Riesling/7 +rife/54 +riff/26 +riffle/17 +riffraff/7 +rifled/12 +rifle/49 +rifleman/6 +riflemen +rifler/6 +rifling/6 +rift/26 +Riga/6 +rigamarole's +rigatoni/6 +Rigel/6 +rigged +rigger/7 +rigging/7 +Riggs/6 +righteousnesses/12 +righteousness/7 +righteous/161 +rightfulness/7 +rightful/28 +rightism/7 +rightist/9 +rightmost +rightness/7 +Right/9 +right/685 +rightsize/17 +rights/6 +rightward/9 +rigidify/9 +rigidity/9 +rigidness/9 +rigid/28 +rigmarole/7 +rig/7 +Rigoberto/6 +Rigoletto/6 +rigor/7 +rigorousness/9 +rigorous/28 +Riki/6 +Rikki/6 +Rik/6 +rile/17 +Riley/6 +Rilke/6 +rill/26 +Rimbaud/6 +rime/7 +rimer/6 +rim/111 +rimless +rimmed +rimming +Rinaldo/6 +Rina/6 +rind/26 +Rinehart/6 +ringer/6 +ring/665 +ringing/19 +ringleader/7 +ringlet/7 +ringlike +Ringling/6 +Ring/6 +ringmaster/7 +Ringo/6 +ringside/96 +ringworm/7 +rink/111 +rinse/31 +Riobard/6 +Rio/7 +Riordan/6 +rioter/6 +riotousness/6 +riotous/28 +riot/91 +RIP +riparian/9 +ripcord/7 +ripened/12 +ripenesses +ripeness/135 +ripen/52 +ripe/46 +riper/12 +ripest/12 +Ripley/6 +Rip/6 +rip/728 +ripoff/9 +riposte/26 +ripped +ripper/7 +ripping +rippler/6 +ripple/111 +ripply/54 +ripsaw/26 +riptide/7 +Risa/6 +RISC +risen +riser/6 +rise/210 +risibility/7 +risible/9 +rising/6 +risker/6 +risk/111 +riskily +riskiness/7 +risky/98 +risotto/7 +risqué +rissole/6 +Ritalin +Rita/6 +Ritchie/6 +rite/56 +Ritter/6 +ritualism/7 +ritualistic +ritualistically +ritualized +ritual/65 +Ritz/6 +ritzy/54 +rivaled/12 +Rivalee/6 +rivalry/7 +rival/26 +Riva/7 +rive/253 +Rivera/6 +riverbank/7 +riverbed/9 +riverboat/9 +river/266 +riverfront +riverine +Rivers +Riverside/6 +riverside/9 +Riverview/6 +riveter/6 +rivet/49 +riveting/19 +Riviera/7 +Rivi/6 +Rivkah/6 +rivulet/7 +Rivy/6 +riv/729 +Riyadh/6 +riyal/7 +rm +RMS +RN +RNA +Rn/6 +roach/26 +Roach/6 +roadbed/7 +roadblock/26 +roadhouse/7 +roadie/9 +roadkill/9 +road/43 +roadrunner/7 +roadshow/9 +roadside/9 +roadsigns +roadster/7 +roadsweepers +roadway/7 +roadwork/7 +roadworthy +roam/23 +Roana/6 +Roanna/6 +Roanne/6 +Roanoke/6 +roan/9 +roar/179 +roarer/6 +roaring/357 +Roarke/6 +roaster/6 +roast/179 +robbed +robber/7 +Robbert/6 +robbery/7 +Robbie/6 +Robbi/6 +robbing +Robbin/7 +Robb/6 +Robby/6 +Robbyn/6 +robe/84 +Robena/6 +Robenia/6 +Robers/6 +Roberson/6 +Roberta/6 +Robert/7 +Roberto/6 +Robertson/7 +robe's +Robeson/6 +Robespierre/6 +Robina/6 +Robinet/6 +Robinetta/6 +Robinette/6 +Robinett/6 +Robinia/6 +Robin/6 +robin/7 +Robinson/6 +Robinsonville/6 +Robles/6 +Rob/680 +robotic/9 +robotism +robotize/17 +robot/7 +rob/17 +Robson/6 +Robt/6 +robustness/7 +robust/33 +Roby/6 +Robyn/6 +Rocco/6 +Rocha/6 +Rochambeau/6 +Rochella/6 +Rochelle/6 +Rochell/6 +Roche/6 +Rochester/6 +Rochette/6 +Roch/6 +rockabilly/7 +rockabye +Rockaway/7 +rockbound +Rockefeller/6 +rocker/6 +rocketry/7 +rocket/26 +Rockey/6 +rockfall/9 +Rockford/6 +rock/49 +Rockie/6 +rockiness/7 +Rockland/6 +Rock/6 +Rockne/6 +Rockville/6 +Rockwell/6 +Rocky/7 +rocky/177 +rococo/7 +Roda/6 +rodded +Roddenberry/6 +rodder +Roddie/6 +rodding +Rodd/6 +Roddy/6 +rodent/7 +rodeo/26 +Roderich/6 +Roderick/6 +Roderic/6 +Roderigo/6 +rode/9 +Rodger/6 +Rodge/231 +Rodie/6 +Rodi/6 +Rodina/6 +Rodin/6 +Rod/6 +Rodney/6 +Rodolfo/6 +Rodolphe/6 +Rodolph/6 +Rodrick/6 +Rodrigo/6 +Rodriguez/6 +Rodrique/6 +Rodriquez/6 +rod/26 +roebuck/7 +Roentgen's +roentgen/7 +roe/7 +ROFL +Rogelio/6 +roger/17 +Rogerio/6 +Roger/6 +Roget/6 +Rog/231 +rogued/370 +rogue/26 +roguery/7 +rogues/370 +roguing/370 +roguishness/7 +roguish/28 +roil/17 +Roi/7 +roisterer/6 +roister/23 +Rojas/6 +Roland/6 +Rolando/6 +Roldan/6 +role/7 +Roley/6 +Rolfe/6 +Rolf/6 +Rolland/6 +rollback/7 +rolled/14 +Rollerblade/9 +rollerskating +roller/7 +rollick/17 +rollicking/19 +Rollie/6 +rolling/9 +Rollin/7 +Rollo/6 +rollover/9 +roll/180 +Rolodex +Rolph/6 +Rolvaag/6 +ROM +romaine/7 +Romain/6 +Roma/6 +romancer/6 +romance/49 +Romanesque/9 +Romania/6 +Romanian/7 +Romano/7 +Romanov/6 +roman/9 +Romansh/6 +Romans/6 +Roman/7 +romantically/12 +romanticism/7 +Romanticism/9 +romanticist/9 +romanticize/17 +romantic/7 +Romany/7 +Romeo/7 +romeo/9 +Romero/6 +Rome/7 +Rommel/6 +Romney/6 +Romola/6 +Romona/6 +Romonda/6 +romper/6 +romp/23 +Rom/7 +Romulus/6 +Romy/6 +Ronalda/6 +Ronald/6 +Rona/6 +Ronda/6 +rondo/7 +Ronica/6 +Ron/6 +Ronna/6 +Ronnica/6 +Ronnie/6 +Ronni/6 +Ronny/6 +Ronstadt/6 +Rontgen +Roobbie/6 +rood/7 +roof/91 +roofer/6 +roofgarden +roofing/6 +roofless +rooftop/9 +rookery/7 +rook/26 +rookie/80 +roomer/6 +roomette/7 +roomful/7 +roominess/7 +roommate/7 +room/49 +roomy/177 +Rooney/6 +Rooseveltian +Roosevelt/6 +rooster/6 +roost/49 +rooted/42 +rooter/6 +rootlessness/6 +rootless/42 +rootlet/7 +Root/6 +root/49 +rootstock/6 +rope/49 +roper/6 +roping/6 +Roquefort/7 +Roquemore/6 +Rora/6 +Rorie/6 +Rori/6 +Rorke/6 +Rorschach +Rory/6 +Rosabella/6 +Rosabelle/6 +Rosabel/6 +Rosaleen/6 +Rosales/6 +Rosalia/6 +Rosalie/6 +Rosalinda/6 +Rosalinde/6 +Rosalind/6 +Rosaline/6 +Rosalynd/6 +Rosalyn/6 +Rosa/6 +Rosamond/6 +Rosamund/6 +Rosana/6 +Rosanna/6 +Rosanne/6 +Rosario/6 +rosary/7 +Roscoe/6 +Rosco/6 +Roseanna/6 +Roseanne/6 +Roseann/6 +roseate/19 +Roseau +rosebud/7 +rosebush/7 +Rosecrans/6 +Roseland/6 +Roselia/6 +Roseline/6 +Roselin/6 +Rosella/6 +Roselle/6 +Rose/6 +Rosemaria/6 +Rosemarie/6 +Rosemary/6 +rosemary/7 +rose/26 +Rosemonde/6 +Rosenberg/6 +Rosenblum/6 +Rosendo/6 +Rosene/6 +Rosen/6 +Rosenthal/6 +Rosenzweig/6 +Rosetta/6 +Rosette/6 +rosette/26 +rosewater +rosewood/7 +Roshelle/6 +Rosicrucian/6 +Rosie/6 +rosily +Rosina/6 +rosiness/7 +rosin/26 +Rosita/6 +Roslyn/6 +Rosmunda/6 +Ros/122 +Ross +Rossetti/6 +Rossie/6 +Rossi/6 +Rossini/6 +Rossy/6 +Rostand/6 +roster/26 +Rostov/6 +rostra's +rostrum/7 +Roswell/6 +Rosy/6 +rosy/98 +rota/7 +Rotarian/7 +rotary/9 +rotated/12 +rotate/24 +rotational/19 +rotation/6 +rotative/19 +rotator/7 +rotatory +ROTC +rote/7 +rotgut/7 +Roth/6 +Rothschild/6 +rotisserie/7 +rotogravure/7 +rotor/7 +rototill/90 +rot/17 +rotted +rottenness/9 +rotten/38 +Rotterdam/6 +rotter/6 +rotting +rotunda/7 +rotundity/9 +rotundness/9 +rotund/22 +Rouault/6 +roué/7 +rouge/26 +roughage/7 +roughen/47 +rougher/6 +roughhouse/26 +roughish +roughneck/26 +roughness/7 +roughs +roughshod +rough/730 +roulette/26 +roundabout/444 +roundedness/6 +rounded/42 +roundelay/7 +roundels +rounder/6 +roundhead/81 +roundheadedness/6 +roundheaded/42 +roundhouse/7 +roundish +roundness/7 +roundoff +roundup/7 +roundworm/7 +round/100 +Rourke/6 +rouse/31 +rouser/6 +Rousseau/6 +roustabout/7 +roust/17 +route/731 +router/6 +route's +rout/91 +routine/65 +routing/6 +routinize/17 +Rouvin/6 +rover/6 +Rover/6 +rove/179 +roving/6 +Rowan/6 +rowboat/7 +rowdily +rowdiness/7 +rowdyism/7 +rowdy/177 +rowel/26 +Rowe/6 +Rowena/6 +rowen/6 +Rowen/6 +rower/6 +Rowland/6 +Rowley/6 +Row/72 +Rowney/6 +row/732 +Roxana/6 +Roxane/6 +Roxanna/6 +Roxanne/6 +Roxie/6 +Roxi/6 +Roxine/6 +Roxy/6 +royalist/7 +Royall/6 +Royal/6 +royal/16 +royalty/7 +Royce/6 +Roy/6 +Rozalie/6 +Rozalin/6 +Rozamond/6 +Rozanna/6 +Rozanne/6 +Rozele/6 +Rozella/6 +Rozelle/6 +Roze/6 +Rozina/6 +Roz/6 +RP +rpm +RPM +rps +RR +Rriocard/6 +rs +r's +R's +RSFSR +RSI +RSV +RSVP +RSX +rt +rte +Rte +RTFM +r/733 +Rubaiyat/6 +rubato/7 +rubbed +rubberize/17 +rubberneck/49 +rubber/26 +rubbery/54 +rubbing/6 +rubbish/26 +rubbishy +rubble/26 +rubdown/7 +rubella/7 +Rube/6 +Ruben/7 +rube/7 +Rubetta/6 +Rubia/6 +Rubicon/7 +rubicund +rubidium/7 +Rubie/6 +Rubik/6 +Rubi/6 +Rubina/6 +Rubin/6 +Rubinstein/6 +ruble/7 +rubout +rubric/7 +rub/9 +Ruby/6 +ruby/172 +Ruchbah/6 +ruck/6 +rucksack/7 +ruckus/7 +ruction/7 +rudderless +rudder/7 +Ruddie/6 +ruddiness/7 +Rudd/6 +Ruddy/6 +ruddy/226 +rudeness/7 +rude/33 +Rudie/6 +Rudiger/6 +rudimentariness/6 +rudimentary/42 +rudiment/7 +Rudolf/6 +Rudolfo/6 +Rudolph/6 +Rudyard/6 +Rudy/6 +ruefulness/9 +rueful/28 +rue/17 +Rufe/6 +ruff/116 +ruffian/116 +ruffled/12 +ruffler/6 +ruffle/31 +ruffly/54 +Rufus/6 +Rugby's +rugby/7 +ruggedness/9 +rugged/33 +Ruggiero/6 +rugging +rug/7 +Ruhr/6 +ruination/7 +ruiner/6 +ruin/111 +ruinousness/6 +ruinous/28 +Ruiz/6 +rulebook/9 +ruled/12 +rule/91 +ruler/165 +ruling/6 +Rumanian's +Rumania's +rumba/26 +rumble/187 +rumbler/6 +rumbustious +rumen/6 +Rumford/6 +Ru/140 +ruminant/65 +ruminate/24 +ruminative/19 +rummage/31 +rummager/6 +Rummel/6 +rummer +rummest +rummy/80 +rumored/12 +rumorer/6 +rumormonger/26 +rumor/49 +Rumpelstiltskin/6 +rump/116 +rumple/17 +rumply/54 +rumpus/7 +rum/99 +runabout/7 +runaround/9 +run/63 +runaway/9 +rundown/7 +rune/7 +Runge/6 +rung/7 +runic +runlet/7 +runnable +runnel/7 +runner/7 +running/9 +Runnymede/6 +runny/54 +runoff/7 +runtime +runtiness/6 +runt/7 +runty/98 +runway/7 +Runyon/6 +rupee/7 +Ruperta/6 +Rupert/6 +Ruperto/6 +rupiah/6 +rupiahs +Ruppert/6 +Ruprecht/6 +rupture/26 +rurality/6 +rural/19 +Rurik/6 +ruse/7 +Rushdie/6 +rush/23 +rusher/6 +rushes/45 +rushing/6 +Rush/6 +Rushmore/6 +rushy/54 +Ruskin/6 +rusk/7 +Russell/6 +Russel/6 +russet/56 +russetting +Russia/6 +Russian/7 +Russo/6 +Russ/9 +Rustbelt/6 +rustically +rusticate/17 +rustication/6 +rusticity/9 +rustic/9 +Rustie/6 +rustiness/7 +Rustin/6 +rustler/6 +rustle/23 +rust/26 +rustproof/17 +Rusty/6 +rusty/734 +rutabaga/7 +Rutger/7 +Ruthanne/6 +Ruthann/6 +Ruthe/6 +ruthenium/7 +rutherfordium/7 +Rutherford/6 +Ruthie/6 +Ruthi/6 +ruthlessness/7 +ruthless/28 +Ruth/6 +Ruthy/6 +Rutland/6 +Rutledge/6 +rut/7 +rutted +Rutter/6 +Ruttger/6 +rutting +rutty/54 +Ruy/6 +RV +RVs +Rwandan/9 +Rwanda/7 +Rwy/6 +Rx/6 +Ryan/6 +Ryann/6 +Rycca/6 +Rydberg/6 +Ryder/6 +rye/7 +Ryley/6 +Ry/6 +Ryon/6 +Ryukyu/6 +Ryun/6 +S +SA +Saab/6 +Saar/6 +Saba/6 +sabbath +Sabbath/6 +Sabbaths +sabbatical/9 +sabered/12 +saber/26 +Sabik/6 +Sabina/6 +Sabine/6 +Sabin/6 +sable/26 +sabotage/26 +saboteur/7 +sabot/7 +Sabra/6 +sabra/7 +Sabrina/6 +SAC +Sacajawea/6 +saccharides +saccharine +saccharin/7 +Sacco/6 +sacerdotal +Sacha/6 +sachem/7 +sachet/7 +Sachs/6 +sackcloth/6 +sackcloths +sacker/6 +sackful/7 +sack/211 +sacking/6 +sacral +sacra/329 +sacramental/9 +sacrament/26 +Sacramento/6 +sacredness/9 +sacred/28 +sacrificer/6 +sacrifice/49 +sacrificial/19 +sacrilege/7 +sacrilegious/19 +sacristan/7 +sacristy/7 +sacroiliac/9 +sacrosanctness/7 +sacrosanct/42 +sacrum/6 +sac/7 +Sada/6 +Sadat/6 +Saddam/6 +sadden/17 +sadder +saddest +saddlebag/7 +saddler/6 +saddle's +saddle/180 +Sadducee/6 +Sadella/6 +Sade/6 +sades +Sadie/6 +sadism/7 +sadistic +sadistically +sadist/7 +sadness/7 +sadomasochism/7 +sadomasochistic +sadomasochist/9 +sad/28 +Sadr/6 +Sadye/6 +safari/26 +safeguard/26 +safekeeping/7 +safeness/7 +safeness's/12 +safes +safety/26 +safe/317 +safflower/7 +saffron/7 +sagaciousness/6 +sagacious/28 +sagacity/7 +saga/7 +Sagan/6 +sagebrush/7 +sage/32 +sagged +sagger +sagging +saggy/54 +Saginaw/6 +Sagittarius/7 +sago/7 +sag/228 +saguaro/7 +Sahara/6 +Saharan/6 +Sahel +sahib/7 +Saidee/6 +saids +said/12 +Saigon/6 +sailboard/17 +sailboat/373 +sailcloth/6 +sailcloths +sailer/6 +sailfish/7 +sail/211 +sailing/6 +sailor/65 +sailplane/26 +sainthood/7 +saintlike +saintliness/7 +saintly/98 +saint/116 +Saiph/6 +saith +saiths +Sakai/6 +sake/175 +saker/6 +Sakhalin/6 +Sakharov/6 +Saki/6 +saki's +salaam/26 +salable/12 +salaciousness/7 +salacious/28 +salacity/7 +Saladin/6 +Salado/6 +salad/7 +Salaidh/6 +salamander/7 +salami/7 +salary/26 +Salas/6 +Salazar/6 +saleability/6 +sale/735 +Saleem/6 +Salem/6 +Salerno/6 +salesclerk/7 +salesgirl/7 +saleslady/9 +salesman/6 +salesmanship/7 +salesmen +salespeople/6 +salesperson/7 +salesroom/6 +saleswoman +saleswomen +salience/7 +saliency +salient/16 +Salim/6 +Salina/7 +saline/9 +salinger +Salinger/6 +salinity/7 +Salisbury/6 +Salish/6 +saliva/7 +salivary +salivate/15 +salivation/6 +Salk/6 +Sallee/6 +Salle/6 +Sallie/6 +Salli/6 +sallowness/7 +sallow/226 +Sallust/6 +Sallyanne/6 +Sallyann/6 +sally/26 +Sally/6 +salmonellae +salmonella/6 +Salmon/6 +salmon/7 +Sal/86 +Saloma/6 +Salome/6 +Salomi/6 +Salomo/6 +Salomone/6 +Salomon/6 +Salonika/6 +salon/7 +saloonkeeper +saloon/7 +salsa/7 +salsify/6 +SALT +saltcellar/7 +salted/156 +salter/6 +salt/736 +saltine/7 +saltiness/7 +saltness/6 +Salton/6 +saltpeter/7 +salts/169 +saltshaker/9 +saltwater +salty/177 +salubriousness/6 +salubrious/28 +salubrity/6 +salutariness/6 +salutary/42 +salutation/7 +salutatory/9 +saluter/6 +salute/31 +Salvadoran/9 +Salvadorian/9 +Salvador/6 +salvageable +salvage/111 +salvager/6 +salvation/7 +Salvatore/6 +salve/49 +salver/6 +Salvidor/6 +salvo/26 +Salween/6 +Salyut/6 +Salz/6 +SAM +Samantha/6 +Samara/6 +Samaria/6 +Samaritan/7 +samarium/7 +Samarkand/6 +samba/26 +sameness/7 +same/144 +Sam/6 +Sammie/6 +Sammy/6 +Samoa +Samoan/9 +Samoset/6 +samovar/7 +Samoyed/6 +sampan/7 +sampler/6 +sample/91 +sampling/6 +Sampson/6 +Samsonite/6 +Samson/6 +Samuele/6 +Samuel/7 +Samuelson/6 +samurai/6 +San'a +Sana/6 +sanatorium/7 +Sanborn/6 +Sanchez/6 +Sancho/6 +sanctification/6 +sanctifier/6 +sanctify/294 +sanctimoniousness/7 +sanctimonious/28 +sanctimony/7 +sanctioned/12 +sanction/26 +sanctity/7 +sanctuary/7 +sanctum/7 +sandal/26 +sandalwood/7 +sandbagged +sandbagging +sandbag/7 +sandbank/7 +sandbar/9 +sandblaster/6 +sandblast/49 +sandbox/7 +Sandburg/6 +sandcastle/9 +Sande/6 +Sanderling/6 +sander/6 +Sander/6 +Sanderson/6 +sandhill +sandhog/7 +Sandia/6 +Sandie/6 +Sandi/6 +sandiness/9 +Sandinista +sandlot/7 +sandlotter/9 +sandman/6 +sandmen +Sand/231 +Sandor/6 +Sandoval/6 +sandpaper/26 +sandpile +sandpiper/7 +sandpit/6 +Sandra/6 +Sandro/6 +sand/49 +sandstone/7 +sandstorm/7 +Sandusky/6 +sandwich/26 +Sandye/6 +Sandy/6 +sandy/98 +saned +sane/737 +saneness/7 +saneness's/45 +sanes +Sanford/6 +Sanforized +Sanger/6 +sangfroid/9 +sangria/7 +Sang/114 +sang/9 +sanguinary +sanguined +sanguine/278 +sanguinely +sanguineness/6 +sanguineous/278 +sanguines +sanguining +Sanhedrin/6 +saning +sanitarian/9 +sanitarium/7 +sanitary/9 +sanitate/107 +sanitation/6 +sanitizer/6 +sanitize/23 +sanity/43 +sank +Sankara/6 +San/6 +sans +sanserif +Sanskritic +Sanskritize/6 +Sanskrit/6 +Sansone/6 +Sanson/6 +Santa/6 +Santana/6 +Santayana/6 +Santeria +Santiago/6 +Santo/7 +sapience/7 +sapient +sapless +sapling/7 +sap/7 +sapped +sapper/7 +Sapphira/6 +Sapphire/6 +sapphire/7 +Sappho/6 +sappiness/7 +sapping +Sapporo/6 +sappy/98 +saprophyte/7 +saprophytic +sapsucker/7 +sapwood/7 +Saraann/6 +Saracen/7 +Saragossa/6 +Sarah/6 +Sarajane/6 +Sarajevo/6 +Sara/6 +Saran/6 +saran/7 +sarape's +Sarasota/6 +Saratoga/6 +Saratov/6 +Sarawak/6 +sarcasm/7 +sarcastic +sarcastically +sarcoma/7 +sarcophagi +sarcophagus/6 +sardine/26 +Sardinia/6 +sardonic +sardonically +Saree/6 +Sarena/6 +Sarene/6 +Sarette/6 +Sargasso/6 +Sarge/6 +Sargent/6 +sarge/7 +Sargon/6 +Sari/6 +sari/7 +Sarina/6 +Sarine/6 +Sarita/6 +Sarnoff/6 +sarong/7 +Saroyan/6 +sarsaparilla/7 +Sarto/6 +sartorial/19 +sartorius/6 +Sartre/6 +Sascha/6 +SASE +Sasha/6 +sashay/17 +Sashenka/6 +sash/26 +Saskatchewan/6 +Saskatoon/6 +Sask/6 +sassafras/7 +sass/26 +Sassoon/6 +sassy/228 +SAT +satanic +satanical/19 +Satanism/6 +satanism/9 +Satanist/6 +satanist/9 +Satan/6 +satchel/7 +sat/47 +sateen/7 +satellite/26 +sate/9 +satiable/45 +satiate/15 +satiation/6 +satiety/7 +satin/26 +satinwood/7 +satiny +satire/7 +satiric +satirical/19 +satirist/7 +satirize/17 +satirizes/12 +satisfaction/85 +satisfactorily/12 +satisfactoriness/135 +satisfactory/236 +satisfiability/12 +satisfiable/12 +satisfied/147 +satisfier/6 +satisfies/25 +satisfy/23 +satisfying/147 +satisfyingly +Sat/6 +satori/7 +satrap/7 +saturated/358 +saturater/6 +saturates/14 +saturate/294 +saturation/6 +Saturday/7 +saturnalia +Saturnalia/6 +saturnine/19 +Saturn/6 +Satyanarayanan/6 +satyriases +satyriasis/6 +satyric +satyr/7 +sauce/49 +saucepan/7 +saucer/6 +saucily +sauciness/9 +saucy/98 +Saudi/9 +Saud/6 +Saudra/6 +sauerkraut/7 +Saukville/6 +Saul/6 +Sault/6 +sauna/26 +Sauncho/6 +Saunder/7 +Saunderson/6 +Saundra/6 +saunter/31 +saurian/9 +sauropod/7 +sausage/7 +Saussure/6 +sauté/17 +Sauternes/6 +Sauveur/6 +savage/100 +Savage/6 +savageness/7 +savagery/7 +Savannah/6 +savanna/7 +savant/7 +saved/12 +saveloy/6 +saver/6 +save/234 +Savina/6 +Savior/6 +savior/7 +Saviour/6 +Savonarola/6 +savored/12 +savorer/6 +savorier +savoriest +savoriness/9 +savoringly/9 +savoring/19 +savor/49 +savory/478 +Savoyard/6 +Savoy/6 +savoy/7 +savvy/181 +sawbones/6 +sawbuck/7 +sawdust/26 +sawer/6 +sawfly/7 +sawhorse/7 +Saw/6 +sawmill/7 +saw/111 +sawtooth +Sawyere/6 +Sawyer/6 +sawyer/7 +Saxe/6 +saxifrage/7 +Sax/6 +sax/7 +Saxon/7 +Saxony/6 +saxophone/7 +saxophonist/7 +Saxton/6 +Sayer/6 +sayer/7 +sayest +saying/7 +Sayre/7 +says/6 +say/738 +Say/231 +SBA +Sb/6 +SC +scabbard/26 +scabbed +scabbiness/7 +scabbing +scabby/98 +scabies/6 +scabrousness/6 +scabrous/28 +scab/7 +scad/7 +scaffolding/6 +scaffold/171 +scalability +Scala/6 +scalar/7 +scalawag/7 +scald/187 +scaled/13 +scale/182 +scaleless +scalene +scaler/6 +scales/14 +scaliness/7 +scaling/14 +scallion/7 +scalloper/6 +scallop/111 +scalloping/6 +scalpel/7 +scalper/6 +scalp/49 +scalping/6 +scaly/98 +scammed +scamming +scamper/47 +scampi/6 +scamp/49 +scam/7 +Scan +scan/63 +scandal/26 +scandalized/12 +scandalize/17 +scandalmonger/7 +scandalousness/6 +scandalous/28 +Scandinavia/6 +Scandinavian/9 +scandium/7 +scanned/14 +scanner/7 +scanning/14 +scansion/7 +scant/253 +scantest +scantily +scantiness/7 +scantly +scantness/7 +scanty/177 +scapegoat/26 +scapegrace/7 +scape/6 +scapulae +scapula/6 +scapular/9 +scarab/7 +Scaramouch/6 +Scarborough/6 +scarceness/7 +scarce/33 +scarcity/7 +scar/111 +scarecrow/7 +scaremongering/6 +scaremonger/131 +scarer/6 +scare/9 +scarface +Scarface/6 +scarf/26 +scarification/6 +scarify/294 +scarily +scariness/9 +scarlatina/7 +Scarlatti/6 +Scarlet/6 +scarlet/26 +Scarlett/6 +scarp/26 +scarred +scarring +scarves/6 +scary/98 +scathe/47 +scathed/12 +scathing/19 +scatological +scatology/7 +scat/9 +scatted +scatterbrain/56 +scatter/179 +scatterer/6 +scattergun +scattering/86 +scatting +scavenge/23 +scavenger/6 +SCCS +scenario/7 +scenarist/7 +scene/26 +scenery/7 +scenically +scenic/9 +scented/12 +scent/26 +scentless +scent's/169 +scents/169 +scepter/26 +scepters/12 +sceptically +sch +Schaefer/6 +Schaeffer/6 +Schafer/6 +Schaffner/6 +Schantz/6 +Schapiro/6 +Scheat/6 +Schedar/6 +schedule/395 +scheduled/12 +scheduler/7 +schedule's +Scheherazade/6 +Scheherezade/6 +Schelling/6 +schema/6 +schemata +schematically +schematic/9 +scheme/91 +schemer/6 +schemta +Schenectady/6 +scherzo/7 +Schick/6 +Schiller/6 +schilling/7 +schismatic/9 +schism/7 +schist/7 +schizoid/9 +schizomycetes +schizophrenia/7 +schizophrenically +schizophrenic/9 +schizo/9 +schlemiel/7 +schlepped +schlepping +schlep/9 +Schlesinger/6 +Schliemann/6 +Schlitz/6 +schlock/7 +schlocky/54 +Schloss/6 +schmaltz/7 +schmaltzy/54 +Schmidt/6 +Schmitt/6 +schmoes +schmo/6 +schmooze/17 +schmuck/7 +Schnabel/6 +schnapps/6 +schnauzer/7 +Schneider/6 +schnitzel/7 +schnook/7 +schnoz/9 +schnozzle/7 +Schoenberg/6 +Schofield/6 +scholarship/7 +scholar/65 +scholastically +scholastic/9 +schoolbag/7 +schoolbook/7 +schoolboy/7 +schoolchild/6 +schoolchildren +schooldays +schooled/12 +schoolfellow/9 +schoolfriend +schoolgirlish +schoolgirl/7 +schoolhouse/7 +schooling/6 +schoolmarmish +schoolmarm/7 +schoolmaster/26 +schoolmate/7 +schoolmistress/7 +schoolroom/7 +schoolteacher/7 +schoolwork/7 +schoolyard/7 +school/91 +schooner/7 +Schopenhauer/6 +Schottky/6 +Schrieffer/6 +Schrödinger/6 +Schroeder/6 +Schroedinger/6 +Schubert/6 +Schultz/6 +Schulz/6 +Schumacher/6 +Schuman/6 +Schumann/6 +schussboomer/9 +schuss/26 +Schuster/6 +Schuyler/6 +Schuylkill/6 +Schwab/6 +Schwartzkopf/6 +Schwartz/6 +Schwarzenegger/6 +schwa/7 +Schweitzer/6 +Schweppes/6 +Schwinger/6 +Schwinn/6 +sci +sciatica/7 +sciatic/9 +science/276 +scientifically/12 +scientific/12 +scientist/7 +Scientology/6 +scimitar/7 +scintilla/7 +scintillate/15 +scintillation/6 +scintillator/7 +scion/7 +Scipio/6 +scissor/17 +scleroses +sclerosis/6 +sclerotic/9 +Sc/6 +scoffer/6 +scofflaw/7 +scoff/23 +scolder/6 +scold/187 +scolioses +scoliosis/6 +scollop's +sconce/26 +scone/7 +scooper/6 +scoop/111 +scooter/6 +scoot/23 +scope/26 +Scopes/6 +scops +scorbutic +scorcher/6 +scorching/19 +scorch/23 +scoreboard/7 +scorecard/7 +scored/6 +scorekeeper/7 +scoreless +scoreline +score/91 +scorner/6 +scornfulness/6 +scornful/28 +scorn/49 +scorpion/7 +Scorpio/7 +Scorpius/6 +Scorsese/6 +Scotchgard/6 +Scotchman/6 +Scotchmen +scotch/26 +scotchs +Scotch/9 +Scotchwoman +Scotchwomen +scot-free +Scotia/6 +Scotian/6 +Scotland/6 +Scot/7 +Scotsman/6 +Scotsmen +Scotswoman +Scotswomen +Scottie/7 +Scotti/6 +Scottish +Scott/6 +Scottsdale/6 +Scotty/6 +scoundrel/65 +scourer/6 +scourge/111 +scourger/6 +scouring/6 +scour/23 +scouter/6 +scouting/6 +scoutmaster/7 +Scout's +scout/211 +scow/26 +scowler/6 +scowl/31 +scrabble/23 +scrabbler/6 +Scrabble/7 +scragged +scragging +scraggly/54 +scraggy/54 +scrag/7 +scrambler/7 +scrambler's/12 +scramble/739 +scrammed +scramming +scram/9 +Scranton/6 +scrapbook/7 +scraper/6 +scrape/9 +scrapheap/7 +scrapped +scrapper/7 +scrapping +scrappy/54 +scrap/91 +scrapyard/9 +scratched/12 +scratcher/6 +scratches/6 +scratchily +scratchiness/9 +scratch/179 +scratchy/98 +scrawler/6 +scrawl/31 +scrawly/54 +scrawniness/7 +scrawny/98 +screamer/6 +screaming/19 +scream/23 +screecher/6 +screech/111 +screechy/54 +screed/7 +scree/56 +screened/12 +screening/6 +screenplay/7 +screen/211 +screenwriter/7 +screwball/7 +screwdriver/7 +screwer/6 +screw/180 +screwiness/9 +screw's +screwup +screwworm/7 +screwy/98 +Scriabin/6 +scribal +scribble/179 +scribbler/6 +scribe/740 +scriber/741 +scribe's +Scribner/7 +scrimmager/6 +scrimmage/111 +scrimp/17 +scrimshaw/26 +scrim/7 +Scripps/6 +scrip/7 +scripted/12 +script/742 +scriptural/19 +scripture/7 +Scripture/7 +scriptwriter/7 +scriptwriting/6 +scrivener/6 +scriven/90 +scrod/6 +scrofula/7 +scrofulous +scrollbar/7 +scroll/57 +Scrooge/7 +scrooge/26 +scrota +scrotal +scrotum/6 +scrounge/23 +scroungy/54 +scrubbed +scrubber/7 +scrubbing +scrubby/54 +scrub/9 +scruffily +scruffiness/9 +scruff/7 +scruffy/98 +Scruggs/6 +scrummage/207 +scrum/7 +scrumptious/19 +scrunch/17 +scrunchy/9 +scruple/26 +scrupulosity/7 +scrupulousness's +scrupulousness/302 +scrupulous/161 +scrutable/45 +scrutinized/12 +scrutinizer/6 +scrutinize/23 +scrutinizingly/9 +scrutinizing/10 +scrutiny/7 +SCSI +scuba/26 +scudded +scudding +Scud/6 +scud/9 +scuff/17 +scuffle/17 +sculler/6 +scullery/7 +Sculley/6 +scullion/7 +scull/49 +sculptor/7 +sculptress/7 +sculpt/17 +sculptural/19 +sculpture/26 +scumbag/9 +scummed +scumming +scum/7 +scummy/54 +scupper/26 +scurf/7 +scurfy/54 +scurrility/7 +scurrilousness/7 +scurrilous/28 +scurry/71 +scurvily +scurviness/6 +scurvy/177 +scutcheon/7 +scuttlebutt/7 +scuttle/26 +scuzzy/54 +Scylla/6 +scythe/26 +Scythia/6 +SD +SDI +SE +seabed/9 +seabird/9 +seaboard/7 +Seaborg/6 +seaborne +Seabrook/6 +seacoast/7 +seafare/173 +seafarer/6 +seafood/7 +seafront/7 +Seagate/6 +seagoing +Seagram/6 +seagull/9 +seahorse/9 +sealant/7 +sealed/13 +sealer/6 +seal/49 +sealskin/7 +seals/13 +seamail +seamanship/7 +seaman/86 +seamer/6 +seaminess/6 +seamlessness/6 +seamless/28 +SeaMonkey/6 +seam/150 +seams/45 +seamstress/7 +Seamus/6 +sea/65 +seamy/98 +Seana/6 +séance/7 +Sean/6 +seaplane/7 +seaport/7 +seaquake/6 +Seaquarium/6 +searcher/118 +searching/16 +searchlight/7 +search/119 +sear/743 +searing/19 +Sears/6 +seascape/7 +seashell/7 +seashore/7 +seasickness/7 +seasick/42 +seaside/7 +seasonableness/6 +seasonable/236 +seasonably/12 +seasonality +seasonal/19 +seasoned/12 +seasoner/6 +seasoning/6 +season/612 +seatbelt +seated/14 +seater/6 +seating/7 +SEATO +seat's +Seattle/6 +seat/180 +seawall/9 +seaward/9 +seawater/9 +seaway/7 +seaweed/7 +seaworthinesses +seaworthiness/135 +seaworthy/98 +sebaceous +Sebastian/6 +Sebastiano/6 +Sebastien/6 +seborrhea/7 +SEC +secant/7 +secede/31 +secessionist/7 +secession/7 +secludedness/6 +secluded/28 +seclude/17 +seclusion/7 +seclusive +Seconal +secondarily +secondary/144 +seconder/6 +secondhand +second/744 +secrecy/7 +secretarial +secretariat/7 +secretaryship/7 +secretary/7 +secrete/188 +secretion/6 +secretiveness/9 +secretive/28 +secretory +secret/745 +sec/9 +sectarianism/7 +sectarian/9 +sectary/7 +sectionalism/7 +sectionalized +sectional/16 +section/128 +sectioned +sectioning +sect/43 +sectoral +sectored +sector/85 +sectoring +sects/25 +secularism/7 +secularist/7 +secularity/6 +secularization/7 +secularized/12 +secularize/17 +secular/16 +secured/12 +securely/45 +secure/241 +security/43 +secy +sec'y +sedan/7 +sedateness/7 +sedate/746 +sedation/6 +sedative/9 +sedentary +Seder/7 +sedge/7 +Sedgwick/6 +sedgy/54 +sedimentary +sedimentation/7 +sediment/26 +sedition/7 +seditiousness/6 +seditious/28 +seducer/6 +seduce/23 +seduction/7 +seductiveness/7 +seductive/28 +seductress/7 +sedulous/19 +Seebeck/6 +seed/36 +seedbed/7 +seedcase/7 +seeded/12 +seeder/7 +seediness/7 +seeding/9 +seedless +seedling/7 +seedpod/9 +seed's +seedy/98 +seeings +seeing's +seeing/12 +seeker/6 +seek/227 +seeking/19 +Seeley/6 +See/6 +seem/747 +seeming/19 +seemliness's +seemliness/302 +seemly/264 +seen/12 +seepage/7 +seep/17 +seer/7 +seersucker/7 +sees +seesaw/26 +seethe/71 +see/12 +segmental/19 +segmentation/7 +segmented/12 +segment/26 +Segovia/6 +segregant +segregated/12 +segregate/345 +segregation/266 +segregationist/7 +segregative +Segre/6 +segue/142 +segueing +Segundo/6 +Se/540 +Seidel/6 +seigneur/7 +seignior/7 +Seiko/6 +seine/49 +Seine/6 +seiner/6 +Seinfeld/6 +seismic +seismically +seismographer/6 +seismographic +seismographs +seismography/7 +seismograph/231 +seismologic +seismological +seismologist/7 +seismology/7 +seismometer/9 +seize/234 +seizer/6 +seizing/6 +seizin/7 +seizor/7 +seizure/7 +Seka/6 +Sela/6 +Selassie/6 +Selby/6 +seldom +selected/358 +selectional +selection/7 +selectiveness/6 +selective/28 +selectivity/7 +selectman/6 +selectmen +selectness/7 +selector/7 +select/748 +Selectric/6 +selects/14 +Selena/6 +selenate/6 +Selene/6 +selenite/6 +selenium/7 +selenographer/7 +selenography/7 +Selestina/6 +Seleucid/6 +Seleucus/6 +self/213 +selfishness/302 +selfish/161 +selflessness/7 +selfless/28 +selfness/6 +Selfridge/6 +selfsameness/6 +selfsame/42 +Selia/6 +Selie/6 +Selig/6 +Selim/6 +Selina/6 +Selinda/6 +Seline/6 +Seljuk/6 +Selkirk/6 +Sella/6 +sell/749 +seller/118 +Sellers/6 +Selle/680 +sellout/7 +Selma/6 +seltzer/9 +selvage/26 +selves/6 +Selznick/6 +semantical/19 +semanticist/7 +semantic/9 +semantics/6 +semaphore/26 +Semarang/6 +semblance/128 +semen/7 +semester/7 +semiannual/19 +semiarid +semiautomated +semiautomatic/9 +semicircle/7 +semicircular +semicolon/7 +semiconductor/7 +semiconscious +semidefinite +semidetached +semidrying/6 +semifinalist/7 +semifinal/7 +semilogarithmic +semimonthly/9 +seminal/19 +seminarian/7 +seminar/7 +seminary/7 +Seminole/7 +semiofficial +semioticians +semiotic/9 +semiotics/6 +semipermanent/19 +semipermeable +semiprecious +semiprivate +semiprofessional/16 +semipublic +semiquantitative/19 +Semiramis/6 +semiretired +semisecret +semiskilled +semi/7 +semisolid/9 +semistructured +semisweet +Semite/7 +Semitic/7 +semitic/9 +semitone/7 +semitrailer/7 +semitrance +semitransparent +semitropical +semivowel/7 +semiweekly/9 +semiyearly +semolina/7 +sempiternal +sempstress/7 +Semtex +sen +Sen +Sena/6 +senate/7 +Senate/7 +senatorial +senator/7 +Sendai/6 +sender/6 +sends/14 +send/227 +Seneca/7 +Senegalese +Senegal/6 +senescence/7 +senescent +senile/16 +senility/7 +seniority/7 +senior/7 +Senior/9 +Sennacherib/6 +senna/7 +Sennett/6 +Seńora/6 +senora/9 +senorita/9 +senor/7 +sensately/45 +sensate/463 +sensationalism/7 +sensationalist/9 +sensationalize/17 +sensational/19 +sensation/6 +sens/17 +senselessness/7 +senseless/28 +sense/6 +sensibility/43 +sensibleness/7 +sensible/177 +sensibly/45 +sensitiveness/7 +sensitiveness's/45 +sensitives +sensitive/68 +sensitivity/43 +sensitization/186 +sensitized/12 +sensitizers +sensitize/263 +sensor/7 +sensory +sensualist/7 +sensuality/7 +sensual/528 +sensuousness/9 +sensuous/28 +Sensurround/6 +sentence/26 +sentential/19 +sententious/19 +sentience/43 +sentient/16 +sentimentalism/7 +sentimentalist/7 +sentimentality/7 +sentimentalization/7 +sentimentalize/23 +sentimentalizes/12 +sentimental/19 +sentiment/7 +sentinel/26 +sentry/7 +sent/750 +Seoul/6 +sepal/7 +separability/43 +separableness/123 +separable/261 +separably/45 +separateness/7 +separates/6 +separate/148 +separation/6 +separatism/7 +separatist/7 +separator/7 +Sephardi/6 +Sephira/6 +sepia/7 +Sepoy/6 +sepses +sepsis/6 +septa/6 +septate/122 +September/7 +septennial/19 +septet/7 +septicemia/7 +septicemic +septic/9 +septillion/6 +sept/6 +Sept/6 +septuagenarian/7 +Septuagint/7 +septum/6 +sepulcher/26 +sepulchers/13 +sepulchral/19 +seq +sequel/7 +sequenced/14 +sequence/91 +sequencer/6 +sequence's/278 +sequences/278 +sequent/278 +sequentiality/274 +sequentialize/17 +sequential/528 +sequester/17 +sequestrate/15 +sequestration/6 +sequin/26 +sequitur +Sequoia/6 +sequoia/7 +Sequoya/6 +Serafin/6 +seraglio/7 +serape/9 +seraphic +seraphically +seraphim's +seraph/6 +seraphs +sera's +Serbia/6 +Serbian/9 +Serb/7 +Serbo/6 +serenade/111 +serenader/6 +Serena/6 +serendipitous/19 +serendipity/7 +serene/77 +Serene/6 +sereneness/7 +Serengeti/6 +serenity/7 +sere/181 +serfdom/7 +serf/7 +Sergeant/6 +sergeant/7 +serge/26 +Sergei/6 +Serge/6 +Sergent/6 +Sergio/6 +serialization/7 +serialize/17 +serial/65 +series/6 +serif/56 +serigraph/6 +serigraphs +seriousness/7 +serious/28 +sermonize/17 +sermon/26 +serological/19 +serology/7 +serons +serous +Serpens/6 +serpent/26 +serpentine/662 +Serra/6 +Serrano/6 +serrate/15 +serration/6 +serried +serum/7 +servant/26 +serve/494 +served/12 +server/751 +servers +serviceability/7 +serviceableness/6 +serviceable/42 +serviced/12 +serviceman/6 +servicemen +service/111 +service's/25 +services/25 +servicewoman +servicewomen +serviette/7 +servilely +servileness/6 +serviles +servile/12 +servility/7 +serving/7 +servitor/7 +servitude/7 +servomechanism/7 +servomotor/7 +servo/9 +sesame/7 +sesquicentennial/9 +sessile +session/7 +setback/9 +Seth/6 +Set/6 +Seton/6 +set's +setscrew/7 +set/752 +settable/14 +sett/753 +settee/7 +setter/6 +setting/63 +setting's +settle/310 +settlement/48 +settler/7 +settling/9 +setup/7 +Seumas/6 +Seurat/6 +Seuss/6 +Sevastopol/6 +sevenfold +sevenpence +seven/216 +seventeen/216 +seventeenths +sevenths +seventieths +seventy/216 +severalfold +severalty/6 +several/16 +severance/7 +severed/25 +severeness/7 +severe/28 +severing/25 +severity/7 +Severn/6 +severs/25 +sever/181 +Severus/6 +Seville/6 +sewage/7 +Seward/6 +sewerage/7 +sewer/26 +sewing/7 +sewn +sew/36 +sexagenarian/7 +sex/26 +sexily +sexiness/7 +sexism/7 +sexist/7 +sexless +sexologist/7 +sexology/7 +sexpot/7 +Sextans/6 +sextant/7 +sextet/7 +sextillion/6 +Sexton/6 +sexton/7 +sextuple/165 +sextuplet/7 +sexuality/7 +sexualized +sexual/19 +sexy/98 +Seychelles +Seyfert +Seymour/6 +sf +SF +Sgt +shabbily +shabbiness/7 +shabby/98 +shack/26 +shackler/6 +shackle's +Shackleton/6 +shackle/180 +shad/211 +shaded/12 +shadeless +shade/7 +shadily +shadiness/7 +shading/6 +shadowbox/17 +shadower/6 +shadow/111 +shadowiness/6 +Shadow/6 +shadowy/98 +shady/98 +Shae/6 +Shafer/6 +Shaffer/6 +shafting/6 +shaft/26 +shagged +shagginess/7 +shagging +shaggy/98 +shag/7 +shah/6 +shahs +Shaina/6 +Shaine/6 +shakable/12 +shakably/12 +shakeable +shakedown/9 +shaken/12 +shakeout/7 +shaker/6 +Shaker/9 +Shakespearean/9 +Shakespeare/6 +Shakespearian +shake/240 +shakeup/9 +shakily +shakiness/9 +shaking/6 +shaky/98 +shale/7 +shall +shallot/7 +shallowness/7 +shallow/77 +Shalna/6 +Shalne/6 +shalom +Shalom/6 +shalt +shamanic +shaman/7 +shamble/17 +shambles/6 +shamefaced/19 +shamefulness/9 +shameful/28 +shamelessness/7 +shameless/28 +shame/7 +sham/26 +shammed +shammer +shamming +shammy's +shampoo/49 +shampooer/6 +shamrock/7 +Shamus/6 +Shana/6 +Shanan/6 +Shanda/6 +Shandee/6 +Shandeigh/6 +Shandie/6 +Shandra/6 +shandy/6 +Shandy/6 +Shane/6 +Shanghai/207 +Shanghaiing/6 +shanghai/17 +Shanie/6 +Shani/6 +shank/26 +Shannah/6 +Shanna/6 +Shannan/6 +Shannen/6 +Shannon/6 +Shanon/6 +shan't +Shanta/6 +Shantee/6 +shantis +Shantung/6 +shantung/7 +shanty/7 +shantytown/7 +shape/395 +shaped/12 +shapelessness/7 +shapeless/28 +shapeliness/9 +shapely/98 +shaper/9 +shape's +Shapiro/6 +sharable/12 +Sharai/6 +Shara/6 +shard/7 +shareable +sharecropped +sharecropper/7 +sharecropping +sharecrop/9 +share/66 +shared/12 +shareholder/7 +shareholding/9 +sharer/6 +shareware/9 +Shari'a +Sharia/6 +sharia/7 +Shari/6 +Sharity/6 +shark/26 +sharkskin/7 +Sharla/6 +Sharleen/6 +Sharlene/6 +Sharline/6 +Sharl/6 +Sharona/6 +Sharon/6 +Sharpe/6 +sharpen/36 +sharpened/12 +sharpener/9 +sharper/6 +sharpie/7 +Sharp/6 +sharpness/7 +sharp/383 +sharpshooter/6 +sharpshooting/6 +sharpshoot/173 +sharpy's +Sharron/6 +Sharyl/6 +Shasta/6 +shat +shatter/17 +shattering/19 +shatterproof +Shaughn/6 +Shaula/6 +Shauna/6 +Shaun/6 +shave/179 +shaved/12 +shaver/6 +Shavian +shaving/6 +Shavuot/6 +Shawano/6 +shawl/26 +shaw/6 +Shaw/6 +Shawna/6 +Shawnee/7 +Shawn/6 +Shaylah/6 +Shayla/6 +Shaylyn/6 +Shaylynn/6 +Shay/6 +shay/7 +Shayna/6 +Shayne/6 +Shcharansky/6 +sh/602 +sheaf/26 +Shea/6 +shearer/6 +shear/23 +sheather/6 +sheathe/180 +sheath/211 +sheathing/6 +sheaths +sheave/17 +sheaves/6 +Sheba/6 +shebang/7 +Shebeli/6 +Sheboygan/6 +she'd +shedding +Shedir/6 +sheds +shed's +shed/12 +Sheelagh/6 +Sheelah/6 +Sheela/6 +Sheena/6 +sheen/26 +sheeny/80 +sheepdog/7 +sheepfold/7 +sheepherder/7 +sheepishness/7 +sheepish/28 +sheep/6 +sheepskin/7 +Sheeree/6 +sheerness/9 +sheer/77 +sheeting/6 +sheetlike +sheet/211 +Sheetrock +Sheffielder/6 +Sheffield/231 +Sheffie/6 +Sheff/6 +Sheffy/6 +sheikdom/7 +sheikh's +sheik/7 +Sheilah/6 +Sheila/6 +shekel/7 +Shelagh/6 +Shela/6 +Shelba/6 +Shelbi/6 +Shelby/6 +Shelden/6 +Sheldon/6 +shelf/26 +Shelia/6 +she'll +shellacked +shellacking/7 +shellac/9 +shelled/12 +Shelley/6 +shellfire/7 +shellfish/7 +Shellie/6 +Shelli/6 +Shell/6 +shell/111 +Shelly/6 +Shel/86 +shelter/111 +sheltered/12 +shelterer/6 +Shelton/6 +shelve/187 +shelver/6 +shelves/6 +shelving/6 +she/6 +Shem/6 +Shena/6 +Shenandoah/6 +shenanigan/7 +Shenyang/6 +Sheol/6 +Shepard/6 +shepherd/26 +shepherdess/9 +Shepherd/6 +Shep/6 +Sheppard/6 +Shepperd/6 +Sheratan/6 +Sheraton/6 +sherbet/7 +sherd's +Sheree/6 +Sheridan/6 +Sherie/6 +sheriff/7 +Sherill/6 +Sherilyn/6 +Sheri/6 +Sherline/6 +Sherlocke/6 +sherlock/6 +Sherlock/6 +Sher/6 +Sherman/6 +Shermie/6 +Sherm/6 +Shermy/6 +Sherpa/7 +Sherrie/6 +Sherri/6 +Sherry/6 +sherry/7 +Sherwin/6 +Sherwood/6 +Sherwynd/6 +Sherye/6 +Sheryl/6 +Shetland/9 +Shevardnadze/6 +shew/17 +shewn +shh +shiatsu/9 +shibboleth/6 +shibboleths +shielded/12 +shielder/6 +shield/111 +Shields/6 +shiftily +shiftiness/7 +shiftlessness/9 +shiftless/28 +shift/23 +shifty/98 +Shi'ite +Shiite/7 +Shijiazhuang +Shikoku/6 +shill/71 +shillelagh/6 +shillelaghs +shilling/6 +Shillong/6 +Shiloh/6 +shimmed +shimmer/17 +shimmery +shimming +shimmy/26 +shim/7 +Shina/6 +shinbone/7 +shindig/7 +shiner/6 +shine/9 +shingle/111 +shingler/6 +shinguard +shininess/7 +shining/19 +shinned +shinning +shinny/26 +shin/49 +shinsplints +Shintoism/9 +Shintoist/7 +Shinto/7 +shiny/98 +shipboard/7 +shipborne +shipbuilder/6 +shipbuild/173 +shipload/7 +shipman/6 +shipmate/7 +shipmen +shipment/48 +shipowner/7 +shippable +shipped/14 +shipper/7 +shipping/7 +ship's +shipshape +ship/754 +shipwreck/26 +shipwright/7 +shipyard/7 +Shiraz/6 +shire/7 +shirker/6 +shirk/23 +Shirlee/6 +Shirleen/6 +Shirlene/6 +Shirley/6 +Shirline/6 +Shirl/6 +Shir/6 +shirr/71 +shirtfront/9 +shirting/6 +shirt/171 +shirtless +shirtmake/164 +shirtmaker/6 +shirtsleeve/7 +shirttail/9 +shirtwaist/7 +shit/252 +shitting/251 +shitty/755 +Shiva/6 +shiverer/6 +shiver/52 +shivery +shiv/96 +shivved +shivving +shlemiel's +Shmuel/6 +shoal/172 +shoat/7 +shocker/6 +shocking/19 +Shockley/6 +shockproof +shock/23 +shoddily +shoddiness/7 +shoddy/177 +shod/12 +shoehorn/26 +shoeing +shoelace/7 +shoemaker/6 +shoemake/90 +shoe/7 +shoer's +shoeshine/7 +shoestring/7 +shoetree/7 +shogunate/7 +shogun/7 +Shoji/6 +Sholom/6 +shone +shoo/17 +shoofly +shook/7 +shooter/6 +shootout/7 +shoot/210 +shopkeeper/6 +shopkeep/174 +shoplifter/6 +shoplifting/6 +shoplift/23 +shop/7 +shopped/6 +shopper/6 +shoppe/179 +shopping/6 +shoptalk/7 +shopworn +shorebird/9 +shore/211 +shoreline/7 +Shorewood/6 +shoring/6 +shortage/7 +shortbread/7 +shortcake/7 +shortchange/17 +shortcoming/7 +shortcrust +shortcut/7 +shortcutting +shortener/6 +shortening/6 +shorten/541 +shortfall/7 +shorthand/56 +Shorthorn/6 +shorthorn/7 +shortie's +shortish +shortlist/47 +Short/6 +shortness/7 +short/384 +shortsightedness/9 +shortsighted/28 +shortstop/7 +shortwave/7 +shorty/7 +Shoshana/6 +Shoshanna/6 +Shoshone/7 +Shostakovitch/6 +shotgunned +shotgunner +shotgunning +shotgun/7 +shot/7 +shotted +shotting +shoulder/165 +shouldn't +should/375 +shout/49 +shove/31 +shoveler/6 +shovelful/7 +shovel/49 +shover/6 +showbiz +showbizzes +showboat/26 +showcase/26 +showdown/7 +shower/165 +showery/54 +show/179 +showgirl/7 +showily +showiness/7 +showing/6 +showman/6 +showmanship/7 +showmen +shown +showoff/9 +showpiece/7 +showplace/7 +showroom/7 +showy/98 +shpt +shrank +shrapnel/7 +shredded +shredder/7 +shredding +shred/7 +Shreveport/6 +shrewdness/7 +shrewd/33 +shrew/26 +shrewishness/6 +shrewish/28 +shrieker/6 +shriek/49 +shrift/7 +shrike/7 +shrill/226 +shrillness/7 +shrilly +shrimp/26 +shrine/26 +shrinkage/7 +shrinker/6 +shrinking/12 +shrink/756 +shrivel/17 +shriven +shrive/31 +Shropshire/6 +shroud/26 +shrubbed +shrubbery/7 +shrubbing +shrubby/54 +shrub/7 +shrugged +shrugging +shrug/9 +shrunk/122 +shtick/9 +shucker/6 +shuck/111 +shucks/9 +shudder/17 +shuddery +shuffleboard/7 +shuffled/14 +shuffle/23 +shuffles/14 +shuffling/14 +Shulman/6 +Shu/6 +shunned +shunning +shun/9 +shunter/6 +shunt/31 +Shurlocke/6 +Shurlock/6 +Shurwood/6 +shush/17 +shutdown/7 +shuteye/7 +shutoff/6 +shutout/7 +shut/9 +shutterbug/9 +shutter/26 +shuttering/6 +shutting +shuttlecock/26 +shuttle/26 +shy/430 +shyer +shyest +Shylockian/6 +Shylock/6 +shyness/7 +shyster/7 +Siamese/6 +Siam/6 +Siana/6 +Sianna/6 +Sian's +Sibbie/6 +Sibby/6 +Sibeal/6 +Sibelius/6 +Sibella/6 +Sibelle/6 +Sibel/6 +Siberia/6 +Siberian/9 +sibilance/6 +sibilancy/6 +sibilant/16 +Sibilla/6 +Sibley/6 +sibling/7 +Sib/6 +Sibylla/6 +Sibylle/6 +sibylline +Sibyl/6 +sibyl/7 +Siciliana/6 +Sicilian/9 +Sicily/6 +sickbay/6 +sickbed/9 +sickener/6 +sickening/19 +sicken/541 +sicker/19 +sick/384 +sickie/7 +sickish/28 +sickle/26 +sickliness/6 +sickly/226 +sickness/7 +sicko/9 +sickout/9 +sickroom/7 +sic/9 +sidearm/9 +sideband/7 +sidebar/7 +sideboard/7 +sideburns +sidecar/7 +sided/14 +sidedness +side/757 +sidekick/7 +sidelight/7 +sideline/111 +sidelong +sideman/6 +sidemen +sidepiece/9 +sidereal +sider/360 +sides/14 +sidesaddle/7 +sideshow/7 +sidesplitting +sidestepped +sidestepping +sidestep/9 +sidestroke/26 +sideswipe/26 +sidetrack/17 +sidewalk/7 +sidewall/7 +sidewards +sideway/7 +sidewinder/7 +siding/7 +sidle/17 +Sid/6 +Sidnee/6 +Sidney/6 +Sidoney/6 +Sidonia/6 +Sidonnie/6 +SIDS +siege/26 +Siegel/6 +Siegfried/6 +Sieglinda/6 +Siegmund/6 +Siemens/6 +Siena/6 +sienna/7 +Sierpinski/6 +sierra/7 +siesta/7 +sieve/453 +Siffre/6 +sifted/13 +sifter/6 +sift/179 +Sigfrid/6 +Sigfried/6 +SIGGRAPH/6 +sigh/52 +sigher/6 +sighs +sighted/42 +sighter/6 +sighting/9 +sight/43 +sightless/19 +sightliness/135 +sightly/264 +sightread +sightseeing/9 +sightsee/90 +Sigismond/6 +Sigismondo/6 +Sigismund/6 +Sigismundo/6 +Sig/6 +sigma/7 +sigmoid +Sigmund/6 +signal/14 +signaled +signaler/9 +signaling +signalization/9 +signalize/17 +signally +signalman/6 +signalmen +signals +signal's +signatory/7 +signature/7 +signboard/7 +signed/404 +signer/120 +signet/26 +sign/758 +significance/43 +significantly/45 +significant/16 +signification/6 +signify/294 +signing/9 +Signora/6 +signora/7 +signore/6 +signori +signories +signorina/7 +signorine +Signor/6 +signor/276 +signpost/26 +sign's +signs/278 +Sigrid/6 +Sigurd/6 +Sigvard/6 +Sihanouk/6 +Sikhism/7 +Sikh/7 +Sikhs +Sikkimese +Sikkim/6 +Sikorsky/6 +silage/26 +Silas/6 +Sileas/6 +siled +Sile/6 +silence/49 +silencer/6 +silentness/6 +silent/38 +Silesia/6 +silhouette/26 +silica/7 +silicate/7 +siliceous +silicide/6 +silicone/7 +silicon/7 +silicoses +silicosis/6 +silken/47 +silk/269 +silkily +silkiness/7 +silkscreen/7 +silkworm/7 +silky/177 +silliness/7 +sill/7 +silly/177 +silo/131 +siltation/6 +silt/26 +siltstone/6 +silty/54 +Silurian/9 +Silvain/6 +Silva/6 +Silvana/6 +Silvan/6 +Silvano/6 +Silvanus/6 +silverer/6 +silverfish/7 +Silverman/6 +silver/254 +silversmith/6 +silversmiths +Silverstein/6 +silverware/7 +silvery/98 +Silvester/6 +Silvia/6 +Silvie/6 +Silvio/6 +Si/6 +SIMD +Simenon/6 +Simeon/6 +simian/9 +similar/75 +similarity/85 +simile/7 +similitude/85 +Simla/6 +simmer/17 +Simmonds/6 +Simmons/6 +Simmonsville/6 +Sim/7 +Simms/6 +Simona/6 +Simone/6 +Simonette/6 +simonize/17 +Simon/6 +Simonne/6 +simony/7 +simpatico +simper/17 +simpleminded/28 +simpleness/9 +simple/226 +simpleton/7 +simplex/9 +simplicity/7 +simplified/12 +simplify/115 +simplistic +simplistically +simply +Simpson/6 +simulacrum/6 +Simula/6 +SIMULA/6 +simulate/87 +simulation/82 +simulative +simulator/85 +simulcast/17 +simultaneity/7 +simultaneousness/6 +simultaneous/28 +Sinai/6 +Sinatra/6 +since +sincere/51 +sincereness/6 +sincerer +sincerest +sincerity/43 +Sinclair/6 +Sinclare/6 +Sindbad/6 +Sindee/6 +Sindhi/6 +sinecure/7 +sinecurist/6 +sine/7 +sinew/26 +sinewy +sinfulness/7 +sinful/28 +Singaporean/9 +Singapore/6 +sing/759 +Singborg/6 +singeing +singer/6 +Singer/6 +singe/9 +singing/19 +singlehanded/19 +singleness/7 +single/473 +Singleton/6 +singleton/7 +singletree/7 +singlet/7 +singsong/26 +singularity/7 +singularization/6 +singular/16 +Sinhalese/6 +sinisterness/6 +sinister/28 +sinistral/19 +sinkable/12 +sinker/6 +sink/67 +sinkhole/7 +Sinkiang/6 +sinking/6 +sinlessness/6 +sinless/28 +sin/699 +sinned +sinner/7 +sinning +sinter/170 +sinuosity/7 +sinuousities +sinuousness/6 +sinuous/28 +sinusitis/7 +sinus/7 +sinusoidal/19 +sinusoid/7 +Siobhan/6 +Siouxie/6 +Sioux/6 +siphon/26 +siphons/12 +sipped +sipper/7 +sipping +sip/9 +sired/169 +sire/7 +siren/6 +sires/169 +siring/169 +Sirius/6 +sirloin/7 +Sir/7 +sirocco/7 +sirred +sirring +sirup's +sir/269 +sisal/7 +Sisely/6 +Sisile/6 +sis/9 +Sissie/6 +sissified +Sissy/6 +sissy/80 +sister/116 +sisterhood/7 +sisterliness/7 +sisterly/42 +sister's/14 +Sistine +Sisyphean +Sisyphus/6 +sit/760 +sitarist/7 +sitar/7 +sitcom/7 +site/761 +sits +sitter/7 +sitting/7 +situate/15 +situational/19 +situationist +situation/6 +situ/9 +situs/6 +Siusan/6 +Siva/6 +Siward/6 +sixfold +sixgun +six/488 +sixpence/7 +sixpenny +sixshooter +sixteen/488 +sixteenths +sixths +sixth/19 +sixtieths +sixty/216 +sizableness/6 +sizable/42 +sized/13 +size/182 +sizer/6 +sizes/14 +sizing/6 +sizzler/6 +sizzle/31 +SJ +Sjaelland/6 +SK +ska/9 +skateboard/91 +skater/6 +skate/7 +skat/665 +skedaddle/17 +skeet/175 +skein/26 +skeletal/19 +skeleton/7 +Skell/6 +Skelly/6 +skeptical/19 +skepticism/7 +skeptic/7 +sketchbook/7 +sketcher/6 +sketchily +sketchiness/7 +sketch/49 +sketchpad +sketchy/98 +skew/435 +skewer/165 +skewing/6 +skewness/6 +skidded +skidding +skid/9 +skiff/26 +skiing/6 +skilfully +skill/26 +skilled/12 +skillet/7 +skillfulnesses +skillfulness/135 +skillful/161 +skilling/6 +skimmed +skimmer/7 +skimming/7 +ski/762 +skimp/17 +skimpily +skimpiness/7 +skimpy/98 +skim/7 +skincare +skindive/224 +skinflint/7 +skinhead/7 +skinless +skinned +Skinner/6 +skinner/7 +skinniness/7 +skinning +skinny/177 +skin/7 +skintight +Skip/6 +skipped +Skipper/6 +skipper/26 +Skippie/6 +skipping +Skipp/114 +Skippy/6 +skip/9 +Skipton/6 +skirmisher/6 +skirmish/49 +skirter/6 +skirting/6 +skirt/111 +skit/26 +skitter/17 +skittishness/7 +skittish/28 +skittle/7 +skivvy/26 +skoal/17 +Skopje/6 +skulduggery/7 +skulker/6 +skulk/23 +skullcap/7 +skullduggery's +skull/56 +skunk/26 +skycap/7 +skydiver/7 +skydiving/7 +Skye/6 +skyhook +skyjacker/6 +skyjack/179 +Skylab/6 +skylarker/6 +skylark/111 +Skylar/6 +Skyler/6 +skylight/7 +skyline/7 +Sky/6 +sky/49 +skyrocket/26 +skyscraper/6 +skyscrape/90 +skyward/9 +skywave +skyway/6 +skywriter/7 +skywriting/7 +slabbed +slabbing +slab/7 +slacken/47 +slacker/6 +slackness/7 +Slackware/6 +slack/383 +Slade/6 +slagged +slagging +slag/7 +slain +slake/17 +slaked/12 +slalom/26 +slammed +slammer/9 +slamming +slam/9 +slander/49 +slanderousness/6 +slanderous/28 +slang/26 +slangy/54 +slanting/19 +slant/17 +slantwise +slapdash/9 +slaphappy/54 +slap/7 +slapped +slapper +slapping +slapstick/7 +slash/23 +slashing/19 +slater/6 +Slater/6 +slate/7 +slather/26 +slating/6 +slat/49 +slatted +slattern/65 +slatting +slaughterer/6 +slaughterhouse/7 +slaughter/91 +slave/49 +slaveholder/7 +slaver/165 +slavery/7 +Slavic/6 +slavishness/7 +slavish/28 +Slav/7 +Slavonic/6 +slaw/7 +slay/227 +sleaze/9 +sleazily +sleaziness/7 +sleazy/98 +sledded +sledder/9 +sledding +sledgehammer/26 +sledge/26 +sled/7 +sleekness/9 +sleek/77 +sleeper/6 +sleepily +sleepiness/7 +sleeping/6 +sleeplessness/7 +sleepless/28 +sleepover/9 +sleep/373 +sleepwalker/6 +sleepwalk/179 +sleepwear/6 +sleepyhead/7 +sleepy/98 +sleet/26 +sleety/54 +sleeveless +sleeve/26 +sleeving/6 +sleigh/165 +sleighs +sleight/7 +sleken/47 +slenderize/17 +slenderness/7 +slender/33 +slept +Slesinger/6 +sleuth/165 +sleuths +slew/17 +slice/49 +sliced/12 +slicer/6 +slicker/6 +slickness/7 +slick/100 +slider/6 +slide/9 +slid/242 +slight/77 +slighter/6 +slighting/19 +slightness/9 +slime/7 +sliminess/9 +slimline +slimmed +slimmer/9 +slimmest +slimming/9 +slimness/9 +slim/22 +slimy/98 +sling/214 +slingshot/7 +slings/12 +slink/166 +slinky/54 +slipcase/7 +slipcover/26 +slipknot/7 +slippage/7 +slipped +slipper/26 +slipperiness/9 +slippery/98 +slipping +slipshod +slip/7 +slipstream/26 +slipway/7 +slither/17 +slithery +slit/7 +slitted +slitter/9 +slitting +sliver/26 +slivery +Sloane/6 +Sloan/6 +slobber/17 +slobbery +slob/7 +Slocum/6 +sloe/7 +sloganeer/207 +slogan/7 +slogged +slogging +slog/9 +sloop/7 +slop/23 +sloped/12 +slope/9 +slopped +sloppily +sloppiness/7 +slopping +sloppy/98 +slosh/26 +slothfulness/7 +slothful/28 +sloth/165 +sloths +slot/7 +slotted +slotting +slouch/23 +sloucher/6 +slouchy/54 +slough/165 +sloughs +Slovakia/6 +Slovakian/9 +Slovak/9 +Slovene/9 +Slovenia/6 +Slovenian/9 +slovenliness/7 +slovenly/98 +sloven/65 +slowcoaches +slowdown/7 +slowish +slowness/7 +slow/77 +slowpoke/7 +SLR +sludge/26 +sludgy/54 +slue/26 +sluggard/7 +slugged +slugger/7 +slugging +sluggishness/7 +sluggish/28 +slug/7 +sluice/26 +slumberer/6 +slumber/111 +slumberous +slumlord/7 +slummed +slummer +slumming +slum/7 +slummy/54 +slump/17 +slung/12 +slunk +slur/7 +slurp/17 +slurred +slurried/6 +slurring +slurrying/6 +slurry/26 +slushiness/7 +slush/26 +slushy/98 +slut/7 +sluttish +slutty/54 +Sly/6 +slyness/7 +sly/93 +smacker/6 +smack/49 +smallholders +smallholding/7 +smallish +Small/6 +smallness/9 +smallpox/7 +small/226 +smalltalk +smalltime +Smallwood/6 +smarmy/54 +smarten/47 +smartness/9 +smartypants +smart/384 +smasher/6 +smash/23 +smashing/19 +smashup/9 +smattering/7 +smearer/6 +smear/31 +smeary/54 +smeller/6 +smelliness/7 +smell/318 +smelly/98 +smelter/6 +smelt/23 +Smetana/6 +smidgen/7 +smilax/7 +smile/111 +smiley/6 +smilies +smiling/10 +smirch/17 +smirk/26 +Smirnoff/6 +smite/255 +smiter/6 +smith/165 +smithereens +Smithfield/6 +Smith/6 +smiths +Smithsonian/6 +Smithson/6 +Smithtown/6 +smithy/7 +smitten +Smitty/6 +Sm/6 +smocking/6 +smock/171 +smoggy/54 +smog/7 +smoke/182 +smokehouse/7 +smokeless +smoker/6 +smokescreen/9 +smokestack/7 +Smokey/6 +smokiness/9 +smoking/6 +smoky/177 +smoldering/19 +smolder/17 +Smolensk/6 +Smollett/6 +smooch/17 +smoothen/47 +smoother/6 +smoothie/7 +smoothness/7 +smooths +smooth/763 +smörgĺsbord/7 +smote +smother/17 +SMSA/7 +SMTP +Smucker/6 +smudge/17 +smudginess/6 +smudgy/98 +smugged +smugger +smuggest +smugging +smuggle/179 +smuggler/6 +smugness/7 +smug/46 +smut/7 +Smuts/6 +smutted +smuttiness/7 +smutting +smutty/98 +Smyrna/6 +snack/26 +snaffle/26 +snafu/26 +snagged +snagging +snag/7 +snail/26 +Snake +snakebird/6 +snakebite/7 +snake/26 +snakelike +snakeroot/6 +snaky/54 +snapback/6 +snapdragon/7 +snapped/12 +snapper/7 +snappily +snappiness/7 +snapping/12 +snappishness/7 +snappish/28 +snappy/98 +snapshot/7 +snapshotted +snapshotting +snap/302 +snare/111 +snarer/6 +snarf/71 +snarler/6 +snarling/19 +snarl/180 +snarly/54 +snatch/23 +snatcher/6 +snazzily +snazzy/54 +Snead/6 +sneaker/170 +sneakily +sneakiness/7 +sneaking/19 +sneak/23 +sneaky/98 +Sneed/6 +sneerer/6 +sneer/211 +sneering/19 +sneeze/31 +Snell/6 +snicker/570 +snick/231 +snideness/6 +Snider/6 +snide/38 +sniffer/6 +sniff/23 +sniffle/31 +sniffler/6 +sniffles/6 +snifter/26 +snigger's +sniper/6 +snipe/7 +snipped +snipper/7 +snippet/7 +snipping +snippy/54 +snip/23 +snitch/17 +snit/7 +sniveler/6 +snivel/179 +Sn/6 +snobbery/7 +snobbishness/9 +snobbish/28 +snobby/54 +snob/7 +Snodgrass/6 +snood/26 +snooker/165 +snook/96 +snooper/6 +snoop/23 +Snoopy/6 +snoopy/54 +snootily +snootiness/7 +snoot/26 +snooty/98 +snooze/17 +snore/23 +snorkel/49 +snorter/6 +snort/23 +snot/7 +snotted +snottily +snottiness/7 +snotting +snotty/98 +snout/26 +snowball/26 +snowbank/7 +Snowbelt/7 +snowbird/7 +snowblower/9 +snowboard/179 +snowbound +snowcapped +snowdrift/7 +snowdrop/7 +snowfall/7 +snowfield/7 +snowflake/7 +snow/26 +snowily +snowiness/7 +Snow/6 +snowman/6 +snowmen +snowmobile/111 +snowplough/6 +snowploughs +snowplow/26 +snowshed +snowshoeing +snowshoe/175 +snowshoer/6 +snowstorm/7 +snowsuit/9 +snowy/98 +snubbed +snubber +snubbing +snub/144 +snuffbox/7 +snuffer/6 +snuff/284 +snuffle/31 +snuffler/6 +snuffly/54 +snugged +snugger +snuggest +snugging +snuggle/17 +snuggly +snugness/7 +snug/46 +Snyder/6 +so +SO +soaker/6 +soak/187 +soapbox/26 +soapiness/9 +soap/111 +soapstone/7 +soapsud/9 +soapy/98 +soar/187 +soarer/6 +soaring/19 +sobbed +sobbing/19 +soberer/6 +soberness/7 +sober/604 +sobriety/43 +sobriquet/7 +sob/110 +Soc +soccer/7 +sociabilities +sociability/123 +sociable/9 +sociably/44 +socialism/7 +socialistic +socialist/7 +socialite/7 +sociality/6 +socialization/7 +socialized/12 +socializer/6 +socialize/31 +socially/12 +social/16 +societal/19 +society/7 +socio +sociobiology/6 +sociocultural/19 +sociodemographic +socioeconomically +socioeconomic/9 +sociolinguistics/6 +sociological/86 +sociologist/7 +sociology/7 +sociometric +sociometry/6 +sociopath/6 +sociopaths +socket/26 +sock/26 +Socorro/6 +Socrates/6 +Socratic/9 +soc/9 +soda/7 +sodded +sodden/22 +soddenness/6 +sodding +Soddy/6 +sodium/7 +sod/7 +sodomite/7 +sodomize/17 +Sodom/6 +sodomy/7 +soever +sofa/7 +Sofia/6 +Sofie/6 +softball/7 +softbound +softener/6 +soften/242 +softhearted +softie's +softness/7 +soft/35 +software/7 +softwood/7 +softy/7 +soggily +sogginess/9 +soggy/98 +Soho/6 +soigné +soiled/12 +soil/26 +soirée/7 +sojourn/49 +solace/111 +solacer/6 +solaria +solarium/6 +solar/9 +solder/49 +soldier/116 +soldiery/7 +sold/764 +solecism/7 +soled/360 +solemness +solemnify/17 +solemnity/7 +solemnization/7 +solemnize/17 +solemnness/7 +solemn/33 +solenoid/7 +soler/278 +soles/380 +sole/46 +sol/111 +solicitation/9 +solicited/12 +solicitor/7 +solicitousness/9 +solicitous/28 +solicit/17 +solicitude/7 +solidarity/7 +solidi +solidification/6 +solidify/15 +solidity/9 +solidness/7 +solid/38 +solidus/6 +soliloquies +soliloquize/17 +soliloquy/6 +soling/72 +solipsism/7 +solipsist/9 +Solis/6 +solitaire/7 +solitary/144 +solitude/7 +Sollie/6 +Solly/6 +Sol/86 +solo/26 +soloist/7 +Solomon/7 +Solon/6 +Soloviev/6 +solstice/7 +solubility/43 +soluble/230 +solute/765 +solute's +solution/154 +solvable/44 +solvating +solve/639 +solved/147 +solvency/43 +solvent/230 +solvently +solvent's +solver/154 +solves/25 +solving/25 +Solzhenitsyn/6 +Somalia/6 +Somalian/9 +Somali/7 +soma/6 +somatic +somberness/7 +somber/28 +sombre +sombrero/7 +somebody'll +somebody/7 +someday +somehow +someone'll +someone/7 +someplace/6 +somersault/26 +Somerset/6 +somerset/9 +somersetted +somersetting +Somerville/6 +something/9 +sometime/9 +someway/9 +somewhat/9 +somewhere/9 +some/331 +sommelier/7 +Somme/6 +somnambulism/7 +somnambulist/7 +somnolence/7 +somnolent/19 +Somoza/6 +sonar/7 +sonata/7 +sonatina/7 +Sondheim/6 +Sondra/6 +Sonenberg/6 +songbag +songbird/7 +songbook/9 +songfest/7 +songfulness/6 +songful/28 +Songhai/6 +Songhua/6 +song/7 +songster/7 +songstress/7 +songwriter/7 +songwriting +Sonia/6 +sonic/9 +Sonja/6 +Son/6 +sonnet/26 +Sonnie/6 +Sonni/6 +Sonnnie/6 +Sonny/6 +sonny/7 +Sonoma/6 +Sonora/6 +sonority/9 +sonorousness/7 +sonorous/28 +son/65 +Sontag/6 +sonuvabitch +Sonya/6 +Sony/6 +soonish +soon/54 +soothe +soother/6 +sooth/766 +soothingness/6 +soothing/28 +sooths +soothsayer/6 +soothsay/173 +soot/26 +sooty/54 +SOP +Sophey/6 +Sophia/7 +Sophie/6 +Sophi/6 +sophism/7 +sophister/6 +sophistical +sophisticatedly +sophisticated/12 +sophisticate/15 +sophistication/135 +sophistic/9 +sophist/175 +sophistry/7 +Sophoclean +Sophocles/6 +sophomore/7 +sophomoric +Sophronia/6 +soporifically +soporific/7 +sopped +sopping/9 +soppy/54 +soprano/7 +sop/7 +Sopwith/6 +sorbet/7 +Sorbonne/6 +sorcerer/7 +sorceress/9 +sorcery/7 +Sorcha/6 +sordidness/7 +sordid/28 +sorehead/7 +soreness/9 +Sorensen/6 +Sorenson/6 +sore/77 +sorghum/7 +sorority/7 +sorrel/7 +Sorrentine/6 +sorrily +sorriness/7 +sorrower/6 +sorrowfulness/7 +sorrowful/28 +sorrow/111 +sorry/177 +sorta +sortable +sorted/12 +sorter/7 +sort/585 +sortieing +sortie/56 +sort's +sos +SOS +Sosa/6 +Sosanna/6 +Soto/6 +sot/7 +sottish +soubriquet's +soufflé/7 +sough/47 +soughs +sought/12 +soulfulness/7 +soulful/28 +soulless/19 +soul/56 +sound/767 +soundboard/7 +sounders +sounder's +sounder/12 +soundest +sounding/158 +soundings +sounding's +soundless/19 +soundly/12 +soundness/41 +soundproof/17 +soundproofing/6 +sound's +sounds/14 +soundtrack/7 +soupçon/7 +soup/26 +Souphanouvong/6 +soupy/54 +source/438 +sourceless +sourdough +sourdoughs +sourish +sourness/7 +sourpuss/7 +sour/77 +Sousa/6 +sousaphone/7 +sous/17 +souse +sou/216 +Southampton/6 +southbound +southeastern +southeaster/86 +Southeast/7 +southeast/96 +southeastward/9 +southerly/9 +souther/86 +southerner/6 +Southerner/7 +southernisms +southernmost +southern/418 +Southey/6 +Southfield/6 +southing/6 +southland/6 +South/6 +southpaw/7 +south/570 +souths +Souths +southward/9 +southwestern +southwester/86 +Southwest/7 +southwest/96 +southwestward/9 +souvenir/7 +sou'wester +sovereignty/7 +sovereign/65 +soviet/7 +Soviet/9 +sow/36 +sowbelly/6 +sowens/6 +sower/142 +Soweto/6 +sown/14 +sox's +soybean/7 +Soyinka/6 +soy/7 +Soyuz/6 +Spaatz/6 +spacecraft/7 +space/91 +spaceflight/9 +spaceman/6 +spacemen +spaceport/7 +spacer/6 +spaceship/7 +spacesuit/7 +spacewalk/26 +Spacewar/6 +spacewoman +spacewomen +spacey +spacial +spacier +spaciest +spaciness +spacing/6 +spaciousness/7 +spacious/28 +Spackle +spade/111 +spadeful/7 +spader/6 +spadework/7 +spadices +spadix/6 +Spafford/6 +spaghetti/7 +Spahn/6 +Spain/6 +spake +Spalding/6 +spam/7 +spammer/7 +spamming +spa/7 +Span +spandex/7 +spandrels +spangle/26 +Spanglish/9 +Spaniard/7 +spanielled +spanielling +spaniel/7 +Spanish/6 +spanker/6 +spanking/6 +spank/187 +span/7 +spanned/12 +spanner/7 +spanning +SPARC/6 +SPARCstation/6 +spar/172 +spareness/7 +spare/46 +spareribs +sparer/6 +sparing/10 +sparker/6 +sparkle/23 +sparkler/6 +Sparkman/6 +Sparks +spark/111 +sparky/54 +sparling/7 +sparred +sparrer +sparring/12 +sparrow/7 +sparseness/9 +sparse/28 +sparsity/9 +spars/54 +Spartacus/6 +Sparta/6 +spartan +Spartan/9 +spasm/26 +spasmodic +spasmodically +spastic/9 +spate/7 +spathe/7 +spatiality/6 +spatial/19 +spat/7 +spatted +spatter/17 +spatterdock/6 +spatting +spatula/7 +spavin/56 +spawner/6 +spawn/111 +spay/17 +SPCA +speakable/12 +speakeasy/7 +speaker/6 +Speaker's +speakership/6 +speaking/12 +speak/193 +spearer/6 +spearfish/26 +spearhead/26 +spearmint/7 +spear/111 +Spears +spec'd +specialism/7 +specialist/7 +specialization/7 +specialized/12 +specialize/23 +specializing/12 +special/768 +specialty/7 +specie/7 +specif +specifiability +specifiable +specifiably +specifically +specification/7 +specificity/9 +specific/144 +specified/12 +specifier/7 +specifies +specify/769 +specifying +specimen/7 +spec'ing +speciousness/7 +specious/28 +speck/26 +speckle/26 +spec/7 +spectacle/56 +spectacular/16 +spectator/7 +specter/56 +specter's/14 +spectralness/6 +spectral/28 +spectra/6 +spectrogram/7 +spectrographically +spectrograph/6 +spectrography/6 +spectrometer/7 +spectrometric +spectrometry/6 +spectrophotometer/7 +spectrophotometric +spectrophotometry/6 +spectroscope/7 +spectroscopic +spectroscopically +spectroscopy/7 +spectrum/6 +specularity +specular/19 +speculate/24 +speculation/6 +speculative/19 +speculator/7 +sped +speech/26 +speechlessness/7 +speechless/28 +speedboat/214 +speedboating/6 +speeder/6 +speedily +speediness/7 +speedometer/7 +speed/198 +speedster/7 +speedup/7 +speedway/7 +speedwell/7 +speedy/98 +speer/6 +speleological +speleologist/9 +speleology/7 +spellbinder/6 +spellbind/227 +spellbound +spelldown/7 +spelled/14 +speller/6 +spelling/6 +spell/179 +spells/14 +spelunker/7 +spelunking/9 +Spencerian +Spencer/6 +Spence/114 +spender/6 +spend/193 +spendthrift/7 +Spenglerian +Spengler/6 +Spense/114 +Spenserian +Spenser/6 +spent/12 +spermatophyte/6 +spermatozoa +spermatozoon/6 +spermicidal +spermicide/7 +sperm/7 +Sperry/6 +spew/179 +spewer/6 +SPF +sphagnum/7 +sphere/26 +spherical/19 +spheric/9 +spherics/6 +spheroidal/19 +spheroid/7 +spherule/7 +sphincter/7 +Sphinx/6 +sphinx/7 +Spica/6 +spic/165 +spicebush/6 +spice/7 +spicily +spiciness/7 +spicule/7 +spicy/98 +spider/7 +spiderweb/9 +spiderwort/6 +spidery/54 +Spiegel/6 +Spielberg/6 +spiel/26 +spier/6 +spiffy/181 +spigot/7 +spike/111 +Spike/6 +spiker/6 +spikiness/7 +spiky/98 +spillage/7 +Spillane/6 +spillover/7 +spill/31 +spillway/7 +spinach/7 +spinal/16 +spindle/211 +spindly/54 +spinelessness/6 +spineless/28 +spine/7 +spinet/7 +spininess/6 +spinnability/6 +spinnaker/7 +spinneret/7 +spinner/7 +spinning/7 +Spinoza/6 +spin/9 +spinsterhood/7 +spinsterish +spinster/7 +spiny/98 +spiracle/7 +spiraea's +spiral/183 +spire/770 +spirea/7 +spire's +spiritedness/6 +spirited/28 +spirit/26 +spiritless +spirits/45 +spiritualism/7 +spiritualistic +spiritualist/7 +spirituality/7 +spiritual/46 +spirituous +spirochete/7 +Spiro/6 +spiry/54 +spitball/7 +spite/311 +spitefuller +spitefullest +spitefulness/7 +spiteful/28 +spite's/14 +spitfire/7 +spit/17 +spitted +spitting +spittle/7 +spittoon/7 +Spitz/6 +splashdown/7 +splasher/6 +splash/23 +splashily +splashiness/7 +splashy/98 +splat/7 +splatted +splatter/17 +splatting +splayfeet +splayfoot/170 +splay/17 +spleen/7 +splendidness/6 +splendid/33 +splendorous +splendor/7 +splenetic/9 +splicer/6 +splice/179 +spline/56 +splinter/165 +splintery +splint/49 +splits/6 +split/7 +splittable +splitter/7 +splitting/9 +splodge/7 +splotch/26 +splotchy/54 +splurge/26 +splutterer/6 +splutter/31 +Sp/6 +Spock/6 +spoilables +spoilage/7 +spoil/265 +spoiled/12 +spoiler/266 +spoilsport/7 +Spokane/6 +spoke/17 +spoken/12 +spokeshave/7 +spokesman/6 +spokesmen +spokespeople +spokesperson/9 +spokeswoman/6 +spokeswomen +spoliation/186 +spongecake +sponge/49 +sponger/6 +sponginess/9 +spongy/98 +sponsor/26 +sponsorship/9 +spontaneity/7 +spontaneousness/6 +spontaneous/28 +spoof/26 +spookiness/7 +spook/26 +spooky/98 +spool/49 +spoonbill/7 +spoonerism/7 +spoonful/7 +spoon/26 +spoor/26 +sporadically +sporadic/19 +spore/26 +sporran/7 +sportiness/7 +sporting/19 +sportiveness/6 +sportive/28 +sportscast/373 +sportsmanlike/12 +sportsman/86 +sportsmanship/7 +sportsmen +sportswear/6 +sportswoman/6 +sportswomen +sportswriter/9 +sport/152 +sporty/98 +Sposato/6 +spotlessness/7 +spotless/28 +spotlight/26 +spotlit +spot/186 +spotted/12 +spotter/7 +spottily +spottiness/7 +spotting/6 +spotty/98 +spousal/7 +spouse/26 +spouter/6 +spout/31 +sprain/17 +sprang/9 +sprat/7 +sprawl/17 +sprayed/13 +sprayer/6 +spray/49 +sprays/14 +spreadeagled +spreader/6 +spread/193 +spreadsheet/9 +spreeing +spree/56 +sprigged +sprigging +sprightliness/7 +sprightly/98 +sprig/7 +springboard/7 +springbok/7 +springeing +springer/6 +Springfield/6 +springily +springiness/7 +springing/6 +springlike +spring/227 +Springsteen/6 +springtime/7 +springy/98 +sprinkle/179 +sprinkler/170 +sprinkling/6 +Sprint/6 +sprint/49 +sprite/7 +spritz/23 +sprocket/26 +sprocketed/12 +Sproul/6 +sprout/17 +spruce/502 +spruceness/7 +sprue/6 +sprung/12 +spryness/9 +spry/93 +SPSS +spudded +spudding +spud/7 +Spuds/6 +spume/26 +spumone's +spumoni/9 +spumy/54 +spun +spunk/26 +spunky/228 +spurge/7 +spuriousness/7 +spurious/28 +spur/7 +spurn/31 +spurred +spurring +spurt/17 +sputa +Sputnik +sputnik/7 +sputter/31 +sputum/6 +spy/111 +spyglass/7 +sq +sqq +sqrt +squabbed +squabber +squabbest +squabbing +squabbler/6 +squabble/23 +squab/7 +squadded +squadding +squadron/26 +squad/7 +squalidness/7 +squalid/33 +squaller/6 +squall/111 +squally/54 +squalor/7 +squamous/19 +squander/31 +Squanto +square/502 +squareness/7 +squarer/6 +Squaresville/6 +squarish +squash/31 +squashiness/6 +squashy/98 +squatness/7 +squat/46 +squatted +squatter/26 +squattest +squatting +squawker/6 +squawk/49 +squaw/7 +squeaker/6 +squeakily +squeakiness/9 +squeak/49 +squeaky/98 +squealer/6 +squeal/49 +squeamishness/7 +squeamish/28 +squeegee/56 +squeegeeing +squeeze/67 +squeezer/6 +squelcher/6 +squelch/31 +squelchy/54 +squibbed +Squibb/207 +squibbing +Squibbing/6 +squib/7 +squidded +squidding +squid/7 +squiggle/26 +squiggly/54 +squinter/6 +squint/181 +squinting/19 +squirehood +squire/26 +squirm/17 +squirmy/54 +squirrel/116 +squirter/6 +squirt/31 +squish/17 +squishy/98 +Sr +Srinagar/6 +SRO +S's +SS +SSA +SSE +ssh +s's/771 +SSS +SST +SSW +ST +stabbed +stabber/9 +stabbing/9 +stability/43 +stabilizability +stabilization/120 +stabilization's +stabilize/263 +stabilizer/7 +stableman/6 +stablemate +stablemen +stableness/135 +stable/446 +stabler/12 +stable's/278 +stables/278 +stablest/12 +stabling/6 +stably/12 +stab/16 +staccato/9 +Stacee/6 +Stace/6 +Stacey/6 +Stacia/6 +Stacie/6 +Staci/6 +stackable +stacker/6 +stack's +stack/180 +Stacy/6 +stadias +stadia's +stadium/7 +Stael/6 +Stafani/6 +staff/36 +Staffard/6 +staffer/7 +Stafford/6 +Staffordshire/6 +staffroom +staff's +Staford/6 +stag/91 +stagecoach/7 +stagecraft/7 +stagehand/7 +stager/6 +stage/7 +stagestruck +stagflation/7 +stagged +staggerer/6 +stagger/187 +staggering/19 +staggers/6 +stagging +staginess/6 +staging/6 +stagnancy/7 +stagnant/19 +stagnate/15 +stagnation/6 +stagy/98 +Stahl/6 +staidness/7 +staid/33 +stained/12 +stainer/6 +stainless/16 +stain/31 +staircase/7 +stair/7 +stairway/7 +stairwell/7 +stake/26 +stakeholder/9 +stakeout/7 +stalactite/7 +stalag/6 +stalagmite/7 +stalemate/26 +staleness/7 +stale/77 +Staley/6 +Stalingrad/6 +Stalinist +Stalin/7 +stalker/6 +stalk/91 +stall/171 +stalled/45 +stallholders +stallion/7 +Stallone/6 +stalls/45 +stalwartness/6 +stalwart/46 +Sta/6 +stamen/7 +Stamford/6 +stamina/7 +staminate +stammer/23 +stammerer/6 +stammering/19 +stampede/111 +stampeder/6 +stamped/12 +stamper/6 +stamp/179 +stance/43 +stancher/6 +stanch/181 +stanchion/26 +standalone +standardization/48 +standardized/12 +standardize/23 +standardizer/6 +standardizes/14 +standard/65 +standby +standbys +standee/7 +Standford/6 +standing/6 +Standish/6 +standoffish +standoff/7 +standout/7 +standpipe/7 +standpoint/7 +stand/210 +standstill/7 +Stanfield/6 +Stanford/6 +Stanislas/6 +Stanislaus/6 +Stanislavsky/6 +Stanislaw/6 +stank/9 +Stanleigh/6 +Stanley/6 +Stanly/6 +stannic +stannous +Stanton/6 +Stanwood/6 +Stan/65 +stanza/7 +staph/6 +staphs +staphylococcal +staphylococci +staphylococcus/6 +stapled/12 +stapler/6 +Stapleton/6 +staple/49 +starboard/26 +starchily +starchiness/7 +starch/26 +starchy/98 +stardom/7 +star/49 +stardust/7 +stare/9 +starfish/7 +Stargate/6 +stargaze/23 +staring/12 +Starkey/6 +Stark/6 +starkness/7 +stark/77 +Starla/6 +Starlene/6 +starless +starlet/7 +starlight/7 +starling/7 +Starlin/6 +starlit +Star/6 +starred +starring +Starr/6 +starry/54 +starship +starstruck +start/395 +starter/7 +startle/17 +startling/28 +startup/7 +starvation/7 +starveling/6 +starver/6 +starve/31 +stash/17 +stasis/6 +stat/29 +statecraft/7 +stated/12 +statehood/7 +statehouse/9 +Statehouse's +state/295 +statelessness/7 +stateless/42 +stateliness/7 +stately/98 +statement/48 +Staten/6 +stater/6 +stateroom/7 +stateside +state's/370 +states/370 +statesmanlike +statesman/86 +statesmanship/7 +statesmen +stateswoman +stateswomen +statewide +statical/19 +static/9 +statics/6 +stationarity +stationary/9 +stationer/6 +stationery/7 +stationmaster/6 +station/49 +statistical/19 +statistician/7 +statistic/7 +Statler/6 +stator/7 +statuary/7 +statue/56 +statuesque/28 +statuette/7 +stature/7 +status/7 +statute/7 +statutorily +statutory/42 +Stauffer/6 +staunchness/9 +staunch/77 +stave/165 +Stavro/7 +stay/23 +stayer/6 +std +STD +stdio +steadfastness/7 +steadfast/28 +steadily/12 +steadiness's +steadiness/302 +steading/6 +stead/26 +steady/772 +steakhouse/7 +steak/7 +stealer/6 +stealing/6 +steal/773 +stealthily +stealthiness/7 +stealth/6 +stealths +stealthy/98 +steamboat/7 +steamer/165 +steamfitter/9 +steamfitting/9 +steamily +steaminess/7 +steamroller/165 +steamroll/23 +steam/91 +steamship/7 +steamy/177 +Stearne/6 +Stearn/7 +steed/7 +Steele/6 +steeliness/7 +steelmaker/6 +steel/453 +steelworker/6 +steelwork/96 +steelyard/7 +steely/177 +Steen/6 +steepen/47 +steeper/6 +steeplebush/6 +steeplechase/26 +steeplejack/7 +steeple/7 +steepness/9 +steep/384 +steerage/7 +steerer/6 +steer/157 +steersman/6 +steersmen +steeves +Stefa/6 +Stefania/6 +Stefanie/6 +Stefan/6 +Stefano/6 +Steffane/6 +Steffen/6 +Steffie/6 +Steffi/6 +stegosauri +stegosaurus/9 +Steinbeck/7 +Steinberg/6 +Steinem/6 +Steiner/6 +Steinmetz/6 +Stein/114 +stein/49 +Steinway/6 +Stella/6 +stellar +stellated +Ste/6 +stemless +stemmed/12 +stemming +stem/7 +stemware/7 +stench/26 +stenciler/6 +stencil/49 +stencillings +Stendhal/6 +Stendler/6 +Stengel/6 +stenographer/7 +stenographic +stenography/7 +steno/7 +stenotype/6 +stentorian +stepbrother/7 +stepchild/6 +stepchildren +stepdaughter/7 +stepfather/7 +Stepha/6 +Stephana/6 +Stephanie/6 +Stephani/6 +Stephan/6 +Stephannie/6 +Stephanus/6 +Stephenie/6 +Stephen/7 +Stephenson/6 +Stephie/6 +Stephi/6 +Stephine/6 +stepladder/7 +step/43 +stepmother/7 +stepparent/7 +stepper/6 +steppe/49 +steppingstone/9 +stepsister/7 +stepson/7 +stepwise +stereographic +stereography/6 +stereo/26 +stereophonic +stereoscope/7 +stereoscopic +stereoscopically +stereoscopy/6 +stereotype/49 +stereotypic +stereotypical/19 +sterile +sterility/7 +sterilization/7 +sterilized/12 +sterilize/23 +sterilizes/14 +Sterling/6 +sterling/32 +sterlingness/6 +sternal +Sternberg/6 +Sterne/6 +Stern/6 +sternness/9 +Sterno +stern/77 +sternum/7 +steroidal +steroid/7 +stertorous +Stesha/6 +stethoscope/7 +stet/7 +stetson/7 +Stetson/7 +stetted +stetting +Steuben/6 +Stevana/6 +stevedore/26 +Steve/6 +Stevena/6 +Steven/7 +Stevenson/6 +Stevie/6 +Stevy/6 +steward/26 +stewardess/7 +Steward/6 +stewardship/7 +Stewart/6 +stew/26 +st/726 +sticker/6 +stickily +stickiness/7 +stickleback/7 +stickle/242 +stickler/6 +stick/49 +stickpin/7 +stickup/7 +sticky/226 +Stieglitz/6 +stiffen/245 +stiff/384 +stiffness/7 +stifle/187 +stifler/6 +stifling/19 +stigma/7 +stigmata +stigmatic/9 +stigmatization/169 +stigmatizations +stigmatization's +stigmatize/17 +stigmatized/12 +stile/26 +stiletto/26 +stillbirth/6 +stillbirths +stillborn/9 +stiller/123 +stillest +Stillman/6 +Stillmann/6 +stillness/7 +still/367 +Stillwell/6 +stilted/28 +stilt/26 +Stilton/7 +Stimson/6 +stimulant/7 +stimulated/12 +stimulate/24 +stimulation/6 +stimulative/9 +stimulator/6 +stimulatory +stimuli/6 +stimulus/7 +Stine/6 +stinger/6 +sting/174 +stingily +stinginess/7 +stinging/19 +stingray/7 +stingy/98 +stinkbug/9 +stinker/6 +stink/210 +stinking/19 +stinkpot/6 +Stinky/6 +stinky/54 +stinter/6 +stinting/12 +stint/211 +stipendiary +stipend/7 +stipple/187 +stippler/6 +stipulate/15 +stipulation/6 +Stirling/6 +stirred/12 +stirrer/7 +stirring/16 +stirrup/7 +stir/9 +stitch/36 +stitcher/6 +stitchery/9 +stitching/7 +stitch's +St/6 +stoat/7 +stochastic +stochastically +stochasticity +stockade/26 +stockbreeder/7 +stockbroker/7 +stockbroking/9 +stocker/7 +Stockhausen/6 +stockholder/7 +Stockholm/6 +stockily +stockiness/7 +stockinet's +stockinette/9 +stocking/56 +stockist/7 +stockpile/31 +stockpiler/6 +stockpot/7 +stockroom/7 +stock's +stock/36 +stocktaking/7 +Stockton/6 +stockyard/7 +stocky/98 +Stoddard/6 +stodge/6 +stodgily +stodginess/9 +stodgy/98 +stogy/7 +stoical/19 +stoichiometric +stoichiometry/6 +stoicism/7 +Stoicism/7 +stoic/7 +Stoic/7 +stoke/23 +stoker/6 +stokes/6 +Stokes/6 +STOL +stole/56 +stolen +stolidity/9 +stolidness/9 +stolid/33 +stolon/7 +stomachache/7 +stomacher/6 +stomach/49 +stomachs +stomp/17 +stonecutter/7 +stone/111 +Stonehenge/6 +stoneless +Stone/6 +stonemason/7 +stoner/6 +stonewall/17 +stoneware/7 +stonewashed +stonework/7 +stonewort/6 +stonily +stoniness/7 +stony/98 +stood +stooge/26 +stool/26 +stoop/17 +stopcock/7 +stopgap/7 +stoplight/7 +stopover/7 +stoppable/12 +stoppage/7 +Stoppard/6 +stopped/12 +stopper/26 +stopping/6 +stopple/26 +stop's +stops/6 +stop/302 +stopwatch/7 +storage/7 +store/395 +storefront/7 +storehouse/7 +storekeeper/6 +storekeep/90 +storeroom/7 +store's +stork/7 +stormbound +stormer/6 +Stormie/6 +stormily +Stormi/6 +storminess/9 +Storm/6 +storm/49 +stormtroopers +Stormy/6 +stormy/98 +storyboard/26 +storybook/7 +story/26 +storyline +storyteller/7 +storytelling/7 +Stouffer/6 +stoup/7 +stouten/47 +stouthearted +Stout/6 +stoutness/7 +stout/534 +stove/111 +stovepipe/7 +stover/6 +stowage/7 +stowaway/7 +Stowe/6 +stow/17 +Strabo/6 +straddler/6 +straddle/23 +Stradivari/7 +Stradivarius/6 +strafe/31 +strafer/6 +straggle/23 +straggly/54 +straightaway/9 +straightedge/7 +straightener/6 +straighten/242 +straightforwardness/7 +straightforward/46 +straightjacket's +straightness/7 +straight/384 +straightway/9 +strain/119 +strained/404 +strainer/118 +straining/278 +strains/278 +straiten/47 +straitjacket/26 +straitlaced +straitness/6 +strait/774 +stranded/42 +strand/31 +strangeness/7 +strange/775 +stranger/165 +stranglehold/7 +strangle/179 +strangles/6 +strangulate/15 +strangulation/6 +strapless/9 +strapped/12 +strapping/9 +strap's +strap/302 +Strasbourg/6 +stratagem/7 +strata/7 +strategical/19 +strategic/9 +strategics/6 +strategist/7 +strategy/7 +Stratford/6 +strati +stratification/6 +stratified/12 +stratify/15 +stratigraphic +stratigraphical +stratigraphy/6 +stratosphere/7 +stratospheric +stratospherically +stratum/6 +stratus/6 +Strauss +Stravinsky/6 +strawberry/7 +strawflower/7 +straw/26 +strayer/6 +stray/111 +streak/49 +streaker/6 +streaky/54 +streamed/12 +streamer/6 +stream/49 +streaming/6 +streamline/111 +streetcar/7 +streetlight/7 +street/260 +streetwalker/7 +streetwise +Streisand/6 +strengthen/36 +strengthener/7 +strength/451 +strengths +strenuousness/7 +strenuous/28 +strep/7 +streptococcal +streptococci +streptococcus/6 +streptomycin/7 +stress/26 +stressed/12 +stressful/28 +stretchability/6 +stretchable/12 +stretch/67 +stretcher/165 +stretchy/98 +strew/232 +strewn +striae +stria/6 +striate/15 +striated/12 +striation/6 +stricken +Strickland/6 +strict/360 +stricter +strictest +strictly +strictness/9 +stricture/7 +stridden +stridency/9 +strident/19 +strider/6 +stride/214 +strife/7 +strikebreaker/6 +strikebreaking/6 +strikebreak/174 +strikeout/9 +striker/6 +strike/210 +striking/19 +Strindberg/6 +stringed +stringency/9 +stringent/19 +stringer/7 +stringiness/7 +stringing/6 +string's +string/250 +stringy/98 +striper/6 +stripe/7 +strip/111 +stripling/6 +stripped/12 +stripper/7 +stripping +stripteaser/6 +striptease/49 +stripy/54 +strive/20 +striven +striver/6 +strobe/26 +stroboscope/7 +stroboscopic +strode +stroke/49 +stroking/6 +stroller/6 +stroll/23 +Stromberg/6 +Stromboli/6 +Strom/6 +strongbow +strongbox/7 +Strongheart/6 +stronghold/7 +strongish +Strong/6 +strongman/6 +strongmen +strongroom/7 +strong/93 +strontium/7 +strophe/7 +strophic +stropped +stropping +strop/7 +strove +struck +structuralism/6 +structuralist/7 +structural/19 +structured/13 +structureless +structures/14 +structure/111 +structuring/14 +strudel/7 +struggle/31 +struggler/6 +strummed +strumming +strumpet/26 +strum/9 +strung/13 +strut/9 +strutted +strutter/6 +strutting +strychnine/7 +Stuart/7 +stubbed/6 +stubbing +Stubblefield/7 +stubble/7 +stubbly/54 +stubbornness/7 +stubborn/77 +stubby/228 +stub/7 +stuccoes +stucco/165 +stuck/12 +studbook/7 +studded +studding/7 +Studebaker/6 +studentship/7 +student/7 +studiedness/6 +studied/28 +studier/7 +studio/7 +studiousness/7 +studious/28 +stud/7 +study/36 +stuffily +stuffiness/7 +stuffing/6 +stuff/187 +stuffy/98 +stultify/15 +Stu/6 +stumble/23 +stumbling/19 +stumpage/6 +stumper/6 +stump/111 +stumpy/54 +stung +stunk +stunned +stunner/6 +stunning/19 +stun/9 +stunted/42 +stunt/26 +stupefaction/7 +stupefy/17 +stupendousness/6 +stupendous/28 +stupidity/7 +stupidness/6 +stupid/38 +stupor/7 +sturdily +sturdiness/7 +sturdy/177 +sturgeon/7 +Sturm/6 +stutter/23 +Stuttgart/6 +Stuyvesant/6 +sty/26 +Stygian +styled/14 +style/49 +styles/14 +styli +styling/14 +stylishness/9 +stylish/28 +stylistically +stylistic/9 +stylist/7 +stylites +stylization/7 +stylize/17 +stylos +stylus/7 +stymieing +stymie/142 +stymy's +styptic/9 +styrene/7 +Styrofoam/9 +Styx/6 +suable +Suarez/6 +suasion/85 +suaveness/9 +suave/33 +suavity/7 +subaltern/7 +subarctic/9 +subareas +Subaru/6 +subassembly/6 +subatomic/9 +subbasement/7 +subbed +subbing +subbranch/9 +subcaste/6 +subcategorizing +subcategory/7 +subchain +subclassifications +subclass/7 +subclauses +subcommand/9 +subcommittee/7 +subcompact/9 +subcomponent/7 +subcomputation/7 +subconcept +subconsciousness/7 +subconscious/46 +subconstituent +subcontinental +subcontinent/7 +subcontractor/7 +subcontract/26 +subcultural +subculture/26 +subcutaneous/19 +subdirectory/9 +subdistrict/6 +subdivide/31 +subdivision/7 +subdued/19 +subdue/31 +subduer/6 +subexpression/7 +subfamily/7 +subfield/7 +subfile/7 +subfreezing +subgoal/7 +subgraph +subgraphs +subgroup/131 +subharmonic/9 +subheading/6 +subhead/304 +subhuman/9 +subindex/6 +subinterval/7 +subj +subject/163 +subjection/7 +subjectiveness/6 +subjective/46 +subjectivist/9 +subjectivity/7 +subjoin/17 +subjugate/15 +subjugation/6 +subjunctive/9 +sublayer +sublease/26 +sublet/9 +subletting +sublimate/15 +sublimation/6 +sublime/77 +sublimeness/6 +sublimer/6 +subliminal/19 +sublimity/7 +sublist/7 +subliterary +sublunary +submachine +submarginal +submarine/49 +submariner/6 +submerge/17 +submergence/7 +submerse/15 +submersible/9 +submersion/6 +submicroscopic +submission/48 +submissiveness/7 +submissive/28 +submit/63 +submittable +submittal +submitted/14 +submitter/9 +submitting/14 +submode/9 +submodule/7 +sub/7 +subnational +subnet/7 +subnetwork/7 +subnormal/16 +suboptimal +suborbital +suborder/7 +subordinately/45 +subordinates/45 +subordinate/148 +subordination/43 +subordinator +subornation/7 +suborn/17 +subpage +subparagraph/6 +subpart/7 +subplot/7 +subpoena/26 +subpopulation/7 +subproblem/7 +subprocess/7 +subprofessional/9 +subprogram/7 +subproject +subproof/7 +subquestion/7 +subrange/7 +subregional/19 +subregion/7 +subrogation/6 +subroutine/7 +subsample/7 +subschema/7 +subscribe/36 +subscriber/7 +subscripted/12 +subscription/7 +subscript/17 +subsection/7 +subsegment/7 +subsentence +subsequence/7 +subsequent/46 +subservience/7 +subservient/16 +subset/7 +subsidence/7 +subside/17 +subsidiarity +subsidiary/7 +subsidization/7 +subsidized/12 +subsidizer/6 +subsidize/23 +subsidy/7 +subsistence/7 +subsistent +subsist/17 +subsocietal +subsoil/111 +subsonic +subspace/7 +subspecies/6 +substance/7 +substandard +substantially/44 +substantialness/6 +substantial/46 +substantiated/12 +substantiate/24 +substantiation/276 +substantiveness/6 +substantive/32 +substantivity +substation/7 +substerilization +substitutability +substituted/12 +substitute/162 +substitutionary +substitution/6 +substitutive/19 +substrata +substrate/7 +substratum/6 +substring/9 +substructure/7 +subsume/17 +subsurface/9 +subsystem/7 +subtable/9 +subtask/7 +subteen/7 +subtenancy/7 +subtenant/7 +subtend/142 +subterfuge/7 +subterranean/16 +subtest +subtext/7 +subtitle/26 +subtleness/6 +subtle/98 +subtlety/7 +subtly/12 +subtopic/7 +subtotal/26 +subtracter/6 +subtraction/7 +subtract/349 +subtrahend/7 +subtree/7 +subtropical +subtropic/9 +subtype/7 +subunit/7 +suburbanite/7 +suburbanization/7 +suburbanized +suburbanizing +suburban/9 +suburbia/7 +suburb/7 +subvention/7 +subversion/7 +subversiveness/7 +subversive/46 +subverter/6 +subvert/31 +subway/26 +subzero +succeeder/6 +succeed/31 +successfulness/6 +successful/10 +succession/7 +successiveness/6 +successive/28 +success/76 +successor/7 +successorship +succinctness/7 +succinct/33 +succored/12 +succorer/6 +succor/49 +succotash/7 +succubus/6 +succulence/7 +succulency/7 +succulent/9 +succumb/17 +such +suchlike +sucker/165 +suck/67 +suckle/71 +suckling/6 +Sucre/6 +sucrose/7 +suction/26 +Sudanese/6 +Sudanic/6 +Sudan/6 +suddenness/7 +sudden/46 +Sudetenland/6 +sud/9 +suds/31 +sudsy/54 +sued/47 +suede/7 +Suellen/6 +Sue/6 +suer/6 +suet/7 +Suetonius/6 +suety +sue/23 +Suez/6 +sufferance/7 +sufferer/6 +suffering/6 +suffer/179 +suffice/31 +sufficiency/43 +sufficient/51 +suffixation/9 +suffixed/12 +suffix/111 +suffocate/24 +suffocating/19 +Suffolk/6 +suffragan/9 +suffrage/7 +suffragette/7 +suffragist/7 +suffuse/24 +suffusion/6 +Sufi/6 +Sufism/6 +sugarcane/9 +sugarcoat/17 +sugarless +sugarplum/7 +sugar/171 +sugary/54 +suggest/349 +suggester/6 +suggestibility/7 +suggestible +suggestion/7 +suggestiveness/7 +suggestive/28 +sugillate +Suharto/6 +suicidal/19 +suicide/26 +Sui/6 +suitability/302 +suitableness/9 +suitable/42 +suitably/12 +suitcase/7 +suited/12 +suite/7 +suiting/6 +suit/776 +suitor/7 +Sukarno/6 +Sukey/6 +Suki/6 +sukiyaki/7 +Sukkoth's +Sukkot/9 +Sula/6 +Sulawesi/6 +Suleiman/6 +sulfaquinoxaline +sulfa/9 +sulfate/26 +sulfide/9 +sulfite/6 +sulfonamide/7 +sulfur/26 +sulfuric +sulfurousness/6 +sulfurous/28 +sulk/17 +sulkily +sulkiness/9 +sulky/177 +Sulla/6 +sullenness/7 +sullen/33 +sullied/12 +Sullivan/6 +sully/17 +Sully/6 +sulphate/7 +sulphide/7 +sulphuric +sultana/7 +sultanate/7 +sultan/7 +sultrily +sultriness/7 +sultry/98 +Sulzberger/6 +sumach's +sumac/7 +Sumatra/6 +Sumatran/9 +sumer/278 +Sumeria/6 +Sumerian/6 +summability/6 +summable +summand/7 +summarily +summarization/7 +summarized/12 +summarize/23 +summarizer/6 +summary/7 +summation/276 +summed +Summerdale/6 +summerhouse/7 +summer/26 +Summer/7 +summertime/7 +summery/54 +summing +summit/26 +summitry/7 +summoner/6 +summon/179 +summons/26 +sum/175 +Sumner/6 +sumo/7 +sump/7 +sumptuousness/7 +sumptuous/28 +Sumter/6 +Sun +sunbaked +sunbathe +sunbather/6 +sunbathing/6 +sunbaths +sunbath/23 +sunbeam/7 +Sunbelt/6 +sunblock/9 +sunbonnet/7 +Sunbird/6 +sunburn/26 +sunburst/7 +suncream +sundae/7 +Sundanese/6 +Sundas +Sunday/7 +sunder/17 +sundial/7 +sundowner/6 +sundown/49 +sundris +sundry/9 +sunfish/7 +sunflower/7 +sunglass/7 +Sung/6 +sung/12 +sunk/363 +sunlamp/9 +sunless +sunlight/7 +sunlit +sun/7 +sunned +Sunni/7 +sunniness/7 +sunning +Sunnite/7 +Sunny/6 +sunny/177 +Sunnyvale/6 +sunrise/131 +sunroof/9 +sunscreen/9 +sunset/7 +sunsetting +sunshade/7 +Sunshine/6 +sunshine/7 +sunshiny +sunspot/7 +sunstroke/7 +suntanned +suntanning +suntan/7 +sunup/7 +superabundance/7 +superabundant +superannuate/15 +superannuation/6 +superbness/6 +superb/33 +supercargoes +supercargo/6 +supercharger/6 +supercharge/23 +superciliousness/7 +supercilious/28 +supercity/9 +superclass/6 +supercomputer/7 +supercomputing +superconcept +superconducting +superconductivity/7 +superconductor/7 +supercooled +supercooling +supercritical +superdense +super/47 +superego/7 +supererogation/7 +supererogatory +superficiality/9 +superficial/46 +superfine +superfix/6 +superfluity/7 +superfluousness/9 +superfluous/28 +superheat/81 +superheroes +superhero/7 +superhighway/7 +superhumanness/6 +superhuman/28 +superimpose/17 +superimposition/7 +superintendence/9 +superintendency/7 +superintendent/7 +superintend/17 +superiority/7 +Superior/6 +superior/65 +superlativeness/6 +superlative/46 +superlunary +supermachine +superman/6 +Superman/6 +supermarket/7 +supermen +supermodel +supermom/9 +supernal +supernatant +supernaturalism/6 +supernaturalness/6 +supernatural/46 +supernormal/19 +supernovae +supernova/7 +supernumerary/9 +superordinate +superpose/88 +superposition/7 +superpower/7 +superpredicate +supersaturate/15 +supersaturation/6 +superscribe/17 +superscript/17 +superscription/7 +superseder/6 +supersede/31 +supersensitiveness/6 +supersensitive/42 +superset/7 +supersonically +supersonic/9 +supersonics/6 +superstar/7 +superstition/7 +superstitious/28 +superstore/9 +superstructural +superstructure/7 +supertanker/7 +supertitle/26 +superuser/7 +supervene/17 +supervention/9 +supervised/12 +supervise/15 +supervision/6 +supervisor/7 +supervisory +superwoman/6 +superwomen +supineness/6 +supine/46 +supper/165 +supplanter/6 +supplant/31 +supplemental/9 +supplementary/9 +supplementation/9 +supplementer/6 +supplement/111 +suppleness/7 +supple/777 +suppliant/9 +supplicant/7 +supplicate/15 +supplication/6 +supplier/118 +suppl/624 +supply/520 +supportability/6 +supportable/44 +supported/12 +supporter/6 +supporting/19 +supportive/19 +support/39 +supposed/19 +suppose/157 +supposition/7 +suppository/7 +suppressant/9 +suppressed/12 +suppressible/45 +suppression/7 +suppressive/42 +suppressor/9 +suppress/64 +suppurate/15 +suppuration/6 +supp/778 +supra +supranational +supranationalism/6 +suprasegmental +supremacist/7 +supremacy/7 +supremal +supremeness/6 +supreme/38 +supremo/6 +sup/110 +supt +Supt/6 +Surabaya/6 +Surat/6 +surcease/26 +surcharge/26 +surcingle/26 +surd/6 +sured/45 +surefire +surefooted +surely +sureness/7 +sureness's/12 +sure/236 +surer/45 +surest +surety/7 +surfaced/13 +surface/779 +surfacer/48 +surfaces/14 +surfacing/14 +surfactant/7 +surfboard/26 +surfeit/111 +surfer/6 +surfing/6 +surf/91 +surged/14 +surge/116 +surgeon/7 +surgery/7 +surges/14 +surgical/19 +Suriname +Surinamese +Surinam's +surliness/7 +surly/98 +surmiser/6 +surmise/31 +surmountable/44 +surmount/88 +surname/26 +surpassed/12 +surpass/17 +surpassing/19 +surplice/7 +surplus/7 +surplussed +surplussing +surprised/12 +surprise/211 +surpriser/6 +surprising/10 +surrealism/7 +surrealistic +surrealistically +surrealist/9 +surreality +surreal/9 +surrender/31 +surrenderer/6 +surreptitiousness/9 +surreptitious/28 +surrey/7 +surrogacy/9 +surrogate/291 +surrogation/6 +surrounding/6 +surround/71 +surtax/26 +surveillance/7 +surveillant +surveyed/14 +surveying/6 +survey/71 +surveyor/7 +surveys/14 +survivability/6 +survivable/12 +survivalist/9 +survival/7 +survive/318 +survivor/7 +survivorship/6 +Surya/6 +Sus +Susana/6 +Susanetta/6 +Susan/6 +Susannah/6 +Susanna/6 +Susanne/6 +Susann/6 +susceptibilities +susceptibility/123 +susceptible/45 +Susette/6 +SUSE/6 +sushi/7 +Susie/6 +Susi/6 +suspected/12 +suspecter/6 +suspect/31 +suspecting/12 +suspend/23 +suspended/13 +suspender/6 +suspenseful +suspense/697 +suspension/118 +suspensive/19 +suspensor/6 +suspicion/26 +suspiciousness/6 +suspicious/28 +Susquehanna/6 +Sussex/6 +sustainability +sustainable/12 +sustain/113 +sustainer/6 +sustainment/6 +sustenance/7 +Susy/6 +Sutherland/6 +Sutherlan/6 +sutler/7 +Sutton/6 +suture/26 +SUV +Suva/6 +Suwanee/6 +Suzanna/6 +Suzanne/6 +Suzann/6 +suzerain/7 +suzerainty/7 +Suzette/6 +Suzhou/6 +Suzie/6 +Suzi/6 +Suzuki/6 +Suzy/6 +Svalbard/6 +svelte/33 +Svend/6 +Svengali +Sven/6 +Sverdlovsk/6 +Svetlana/6 +SW +swabbed +swabbing +swabby/9 +Swabian/7 +swab/7 +swaddle/17 +swagged +swagger/31 +swagging +swag/131 +Swahili/7 +swain/7 +SWAK +swallower/6 +swallow/31 +swallowtail/7 +swam +swami/7 +swamper/6 +swampland/7 +swamp/111 +swampy/98 +Swanee/6 +swankily +swankiness/7 +swank/181 +swanky/177 +swanlike +swan/7 +swanned +swanning +Swansea/6 +Swanson/6 +swappable/12 +swapped +swapper/7 +swapping +swap/9 +sward/26 +swarmer/6 +swarm/111 +swarthiness/6 +Swarthmore/6 +swarthy/98 +swart/42 +Swartz/6 +swashbuckler/7 +swashbuckling/9 +swash/31 +swastika/7 +SWAT +swatch/7 +swathe +swather/6 +swaths +swath/211 +swat/9 +swatted +swatter/26 +swatting +swayback/142 +sway/31 +swayer/6 +Swaziland/6 +Swazi/7 +swearer/6 +swear/227 +swearword/7 +sweatband/7 +sweater/6 +sweatily +sweatiness/6 +sweatpants +sweat/373 +sweatshirt/9 +sweatshop/7 +sweaty/98 +Swedenborg/6 +Sweden/6 +swede/7 +Swede/7 +Swedish +Swed/72 +Sweeney/7 +sweeper/6 +sweepingness/6 +sweeping/28 +sweep/193 +sweeps/6 +sweepstakes +sweepstake's +sweetbread/7 +sweetbrier/7 +sweetcorn +sweetened/12 +sweetener/6 +sweetening/6 +sweeten/245 +sweetheart/7 +sweetie/7 +sweeting/6 +sweetish/19 +Sweet/6 +sweetmeat/7 +sweetness/7 +sweetshop +sweet/243 +swellhead/142 +swelling/6 +swell/743 +swelter/71 +sweltering/19 +Swen/6 +Swenson/6 +swept +sweptback +swerve/17 +swerving/12 +swifter/6 +swift/77 +Swift/6 +swiftness/7 +swigged +swigging +swig/7 +swill/17 +swimmer/7 +swimming/65 +swim/9 +swimsuit/7 +Swinburne/6 +swindle/23 +swindler/6 +swineherd/7 +swine/7 +swingeing +swinger/6 +swinging/19 +swing/193 +swingy/164 +swinishness/6 +swinish/28 +Swink/6 +swipe/17 +swirling/19 +swirl/31 +swirly/54 +swish/31 +swishy/164 +swiss +Swiss/9 +switchback/26 +switchblade/7 +switchboard/7 +switcher/6 +switch/182 +switchgear +switchman/6 +switchmen/6 +switchover/6 +Switzerland/6 +Switzer/6 +Switz/114 +swivel/26 +swizzle/570 +swob's +swollen +swoon/31 +swooning/19 +swoop/31 +swoosh/17 +swop's +sword/26 +swordfish/7 +swordplayer/6 +swordplay/175 +swordsman/6 +swordsmanship/7 +swordsmen +swordtail/6 +swore +sworn +swot/9 +swum +swung +s/780 +sybarite/7 +sybaritic +Sybila/6 +Sybilla/6 +Sybille/6 +Sybil/6 +Sybyl/6 +sycamore/7 +sycophancy/9 +sycophantic +sycophantically +sycophant/65 +Sydelle/6 +Sydel/6 +Syd/6 +Sydney/6 +Sykes/6 +Sylas/6 +syllabicate/15 +syllabication/6 +syllabicity +syllabic/9 +syllabification/6 +syllabify/15 +syllabi's +syllable/26 +syllabub/6 +syllabus/7 +syllabusss +syllogism/7 +syllogistic +Sylow/6 +sylphic +sylphlike +sylph/6 +sylphs +Sylvania/6 +Sylvan/6 +sylvan/9 +Sylvester/6 +Sylvia/6 +Sylvie/6 +Syman/6 +symbiont/6 +symbioses +symbiosis/6 +symbiotic +symbol/26 +symbolical/19 +symbolics/6 +symbolic/7 +symbolism/7 +symbolist/7 +symbolization/48 +symbolized/12 +symbolize/23 +symbolizes/14 +Symington/6 +symmetric +symmetrically/12 +symmetricalness/6 +symmetrical/28 +symmetrization/6 +symmetrizing +symmetry/7 +Symon/6 +sympathetically/12 +sympathetic/9 +sympathized/12 +sympathizer/6 +sympathize/179 +sympathizing/781 +sympathy/7 +symphonic +symphonists +symphony/7 +symposium/7 +symptomatic +symptomatically +symptomatology/6 +symptom/7 +syn +synagogal +synagogue/7 +synapse/26 +synaptic +synchronism/6 +synchronization's +synchronization/63 +synchronize/311 +synchronized/12 +synchronizer/7 +synchronousness/6 +synchronous/28 +synchrony +synchrotron/6 +syncopate/24 +syncopation/6 +syncope/7 +sync/17 +syndicalist +syndicate/269 +syndic/7 +syndrome/7 +synergism/7 +synergistic +synergy/7 +synfuel/9 +Synge/6 +synod/7 +synonymic +synonymous/19 +synonym/7 +synonymy/7 +synopses +synopsis/6 +synopsized +synopsizes +synopsizing +synoptic/9 +syntactical/19 +syntactics/6 +syntactic/16 +syntax/7 +syntheses +synthesis/6 +synthesized/12 +synthesize/23 +synthesizer/6 +synthesizes/14 +synthetically +synthetic/9 +syphilis/7 +syphilitic/9 +syphilized +syphilizing +Syracuse/6 +Syriac/6 +Syria/6 +Syrian/7 +syringe/26 +syrup/26 +syrupy +sys +systematical/19 +systematics/6 +systematic/144 +systematization/7 +systematized/12 +systematizer/6 +systematize/23 +systematizing/12 +systemically +systemic/9 +systemization/7 +system/7 +systole/7 +systolic +Szilard/6 +Szymborska/6 +TA +Tabasco/7 +Tabatha/6 +Tabbatha/6 +tabbed +Tabbie/6 +Tabbi/6 +tabbing +Tabbitha/6 +Tabb/6 +tabbouleh +tabboulehs +tabby/17 +Tabby/6 +Taber/6 +Tabernacle/9 +tabernacle/26 +Tabina/6 +Tabitha/6 +tabla/7 +tableau/6 +tableaux +tablecloth/6 +tablecloths +table/26 +tableland/7 +tablespoonful/7 +tablespoon/7 +tablet/26 +tabletop/7 +tableware/7 +tabling/6 +tabloid/7 +Tab/114 +taboo/26 +Tabor/6 +tabor/26 +Tabriz/7 +tab/7 +tabula +tabular/19 +tabulate/15 +tabulation/6 +tabulator/7 +tachometer/7 +tachometry +tachycardia/7 +tachyon/7 +tacitness/7 +taciturnity/7 +taciturn/19 +Tacitus/6 +tacit/28 +tacker/6 +tack/49 +tackiness/7 +tackler/6 +tackle/49 +tackling/6 +tacky/177 +Tacoma/6 +taco/7 +tact/276 +tactfulness/9 +tactful/28 +tactical/19 +tactician/7 +tactic/7 +tactile/19 +tactility/9 +tactlessness/7 +tactless/28 +tactual/19 +Taddeo/6 +Taddeusz/6 +Tadd/6 +Tadeas/6 +Tadeo/6 +Tades +Tadio/6 +Tad/6 +tadpole/7 +tad/7 +Tadzhikistan's +Tadzhikstan/6 +Taegu/6 +Taejon/6 +taffeta/7 +taffrail/7 +Taffy/6 +taffy/7 +Taft/6 +Tagalog/7 +tagged/12 +tagger/9 +tagging +Tagore/6 +tag/7 +Tagus/6 +Tahitian/9 +Tahiti/6 +Tahoe/6 +Taichung/6 +taiga/7 +tailback/7 +tail/782 +tailcoat/9 +tailer/118 +tailgate/111 +tailgater/6 +tailing/7 +taillessness/6 +tailless/42 +taillight/7 +tailor/50 +Tailor/6 +tailpipe/7 +tailspin/7 +tailwind/7 +Tainan/6 +Taine/6 +taint/17 +tainted/12 +Taipei/6 +Taite/6 +Tait/6 +Taiwanese +Taiwan/6 +Taiyuan/6 +Tajikistan +takeaway/9 +taken/14 +takeoff/7 +takeout/9 +takeover/7 +taker/6 +take/783 +takes/58 +taking/58 +Taklamakan/6 +Talbert/6 +Talbot/6 +talcked +talcking +talc/7 +talcum/9 +talebearer/7 +talented/6 +talentless +talent/56 +taler/6 +tale/197 +tali +Talia/6 +Taliesin/6 +talion/6 +talismanic +talisman/7 +talkativeness/7 +talkative/28 +talker/6 +talk/23 +talkie/6 +talky/228 +Talladega/6 +Tallahassee/6 +Tallahatchie/6 +Tallahoosa/6 +tallboy/7 +Tallchief/6 +Talley/6 +Talleyrand/6 +Tallia/6 +Tallie/6 +Tallinn/6 +tallish +tallness/7 +Tallou/6 +tallow/26 +tallowy +tall/98 +Tallulah/6 +tally/23 +tallyho/26 +Tally/6 +Talmudic +Talmudist/7 +Talmud/7 +talon/56 +talus/7 +Talyah/6 +Talya/6 +Ta/6 +tamable/6 +tamale/7 +tamarack/7 +Tamarah/6 +Tamara/6 +tamarind/7 +Tamar/6 +Tamarra/6 +Tamas +tambourine/7 +tamed/12 +Tameka/6 +tameness/9 +Tamera/6 +Tamerlane/6 +tame/46 +Tamika/6 +Tamiko/6 +Tamil/7 +Tami/6 +Tam/6 +Tamma/6 +Tammany/6 +Tammara/6 +tam/784 +Tammie/6 +Tammi/6 +Tammy/6 +Tampa/6 +Tampax/6 +tampered/12 +tamperer/6 +tamper/242 +tampon/26 +tamp/23 +Tamqrah/6 +Tamra/6 +tanager/7 +Tanaka/6 +Tana/6 +Tananarive/6 +tanbark/7 +Tancred/6 +tandem/7 +Tandie/6 +Tandi/6 +tandoori/9 +Tandy/6 +Taney/6 +T'ang +Tanganyika/6 +tangelo/7 +tangency/6 +tangential/19 +tangent/7 +tangerine/7 +tang/116 +tangibility/43 +tangible/785 +tangibleness's/45 +tangibleness/7 +tangibly/45 +Tangier/6 +tangle's +tangle/180 +tango/26 +Tangshan/6 +tangy/228 +Tanhya/6 +Tania/6 +Tani/6 +Tanisha/6 +Tanitansy/6 +tankard/7 +tanker/6 +tankful/7 +tank/49 +Tan/6 +tan/7 +tanned/12 +Tannenbaum/6 +Tanner/6 +tanner/7 +tannery/7 +tannest +Tanney/6 +Tannhäuser/6 +Tannie/6 +tanning/7 +tannin/7 +Tann/114 +Tanny/6 +Tansy/6 +tansy/7 +tantalization/7 +tantalized/12 +tantalize/23 +tantalizingly/9 +tantalizingness/9 +tantalizing/28 +tantalum/7 +Tantalus/6 +tantamount +tantra/9 +tantrum/7 +Tanya/6 +Tanzania/6 +Tanzanian/9 +taoism +Taoism/7 +Taoist/7 +taoist/9 +Tao/6 +tao/9 +Tapdance/6 +taped/12 +tapeline/9 +taperer/6 +taper/52 +tape/7 +tapestry/26 +tapeworm/7 +tapioca/7 +tapir/7 +tap/91 +tapped/12 +tapper/7 +tappet/7 +tapping/6 +taproom/7 +taproot/7 +taps/6 +Tarah/6 +Tara/6 +tarantella/7 +tarantula/7 +Tarawa/6 +Tarazed/6 +Tarbell/6 +tardily +tardiness/9 +tardy/177 +tare/7 +target/26 +tar/26 +tariff/26 +Tarim/6 +Tarkington/6 +tarmacked +tarmacking +tarmac/9 +tarnished/12 +tarnish/17 +tarn/7 +taro/7 +tarot/7 +tarpapered +tarpaulin/7 +tarp/7 +tarpon/7 +tarragon/7 +Tarrah/6 +Tarra/6 +Tarrance/6 +tarred/6 +tarring/6 +tarry/181 +Tarrytown/6 +tarsal/9 +tarsi +tarsus/6 +tartan/7 +tartaric +Tartar's +tartar/7 +Tartary/6 +tartness/7 +tart/502 +Tartuffe/6 +Taryn/6 +Tarzan/6 +Tasha/6 +Tashkent/6 +Tasia/6 +task/26 +taskmaster/7 +taskmistress/7 +Tasmania/6 +Tasmanian/9 +tassellings +tassel/26 +Tass/6 +tasted/147 +tastefulness/85 +tasteful/361 +taste/91 +tastelessness/7 +tasteless/28 +taster/6 +taste's/25 +tastes/25 +tastily +tastiness/7 +tasting/25 +tasty/98 +tatami/7 +Tatar/7 +Tate/6 +tater/6 +Tatiana/6 +Tatiania/6 +tat/110 +tatted +tatterdemalion/7 +tattered/6 +tatter/17 +tatting/7 +tattler/6 +tattle/23 +tattletale/7 +tattooer/6 +tattooist/7 +tattoo/49 +tatty/164 +Tatum/6 +taught/13 +taunter/6 +taunting/19 +taunt/23 +taupe/7 +Taurus/7 +tau/7 +tauten/47 +tautness/9 +tautological/19 +tautologous +tautology/7 +taut/384 +taverner/6 +tavern/175 +tawdrily +tawdriness/7 +tawdry/177 +Tawney/6 +Tawnya/6 +tawny/225 +Tawsha/6 +taxable/9 +taxably +taxation/7 +taxed/12 +taxicab/7 +taxidermist/7 +taxidermy/7 +taxi/26 +taximeter/7 +taxing/19 +taxiway/7 +taxonomic +taxonomically +taxonomist/7 +taxonomy/7 +taxpayer/7 +taxpaying/6 +tax/182 +Taylor/7 +Tb +TB +TBA +Tbilisi/6 +tbs +tbsp +Tchaikovsky/6 +Tc/6 +TCP +TD +TDD +Te +teabag/9 +teacake/7 +teacart/6 +teachable/42 +teach/250 +teacher/7 +teaching/7 +teacloth +teacupful/7 +teacup/7 +Teador/6 +teahouse/7 +teakettle/7 +teak/7 +teakwood/6 +tealeaves +teal/7 +tea/26 +teammate/7 +team/111 +teamster/7 +teamwork/7 +teapot/7 +tearaway +teardrop/7 +tearer/6 +tearfulness/6 +tearful/28 +teargas/9 +teargassed +teargassing +tearjerker/9 +tearoom/7 +tear/111 +teary/54 +Teasdale/6 +tease/201 +teasel/26 +teaser/6 +teashop/7 +teasing/19 +teaspoonful/7 +teaspoon/7 +teas/23 +teatime/7 +teat/56 +tech/81 +technetium/7 +technicality/7 +technicalness/6 +technical/46 +technician/7 +Technicolor/7 +Technion/6 +technique/7 +technocracy/7 +technocratic +technocrat/9 +technological/19 +technologist/7 +technology/7 +technophobia +technophobic +techs +tectonically +tectonic/9 +tectonics/6 +Tecumseh/6 +Tedda/6 +Teddie/6 +Teddi/6 +Tedd/6 +Teddy/6 +teddy/7 +Tedie/6 +Tedi/6 +tediousness/7 +tedious/28 +tedium/7 +Ted/6 +Tedman/6 +Tedmund/6 +Tedra/6 +tee/786 +teeing +teem/17 +teemingness/6 +teeming/28 +teenager/6 +teenage/90 +Teena/6 +teen/208 +teenybopper/7 +teeny/54 +teepee's +teeshirt/9 +teeter/17 +teethe +teether/6 +teething/6 +teethmarks +teeth/211 +teetotaler/6 +teetotalism/7 +teetotal/23 +TEFL +Teflon/7 +Tegucigalpa/6 +Teheran's +Tehran +TEirtza/6 +tektite/7 +Tektronix/6 +telecast/227 +telecommunicate/107 +telecommunication/6 +telecommute/179 +telecoms +teleconference/171 +Teledyne/6 +Telefunken/6 +telegenic +telegrammed +telegramming +telegram/7 +telegraphic +telegraphically +telegraphist/7 +telegraph/259 +telegraphs +telegraphy/7 +telekineses +telekinesis/6 +telekinetic +Telemachus/6 +Telemann/6 +telemarketer/9 +telemarketing/9 +telemeter/26 +telemetric +telemetry/7 +teleological/19 +teleology/6 +telepathic +telepathically +telepathy/7 +telephone/49 +telephonic +telephonist/7 +telephony/7 +telephotography/7 +telephoto/9 +teleprinter/7 +teleprocessing/9 +teleprompter +TelePrompter/6 +TelePrompTer/9 +telescope/26 +telescopic +telescopically +teletext/9 +telethon/7 +teletype/7 +Teletype/7 +teletypewriter/7 +televangelism/9 +televangelist/9 +televise/15 +television/6 +televisor/7 +televisual +telex/26 +Telex/6 +tell/250 +Teller/6 +teller/26 +telling/16 +Tell/114 +telltale/7 +tellurium/7 +telly/7 +Telnet/6 +TELNET/6 +telnet/9 +telomeric +tel/16 +Telugu/6 +temblor/7 +temerity/7 +Tempe/6 +temperamental/19 +temperament/7 +temperance/43 +tempera/489 +temperately/45 +temperateness's/45 +temperateness/7 +temperate/22 +temperature/7 +tempered/147 +temper/570 +tempering/25 +temper's/25 +tempers/25 +tempest/26 +tempestuousness/7 +tempestuous/28 +template/281 +template's +Temple/6 +Templeman/6 +temple/56 +Templeton/6 +Temp/6 +tempoes +tempo/7 +temporal/16 +temporarily +temporarinesses +temporariness/274 +temporary/787 +temporize/179 +temporizer/6 +temporizings/12 +temporizing/86 +temp/550 +temptation/7 +tempted +tempter/9 +tempt/281 +tempting/16 +temptress/7 +tempura/7 +tenabilities +tenability/135 +tenableness/6 +tenable/42 +tenably +tenaciousness/9 +tenacious/28 +tenacity/9 +tenancy/7 +tenanted/12 +tenant/26 +tenantry/7 +tench/6 +tended/147 +tendency/7 +tendentiousness/7 +tendentious/28 +tendered +tenderer +tenderest +tenderfoot/7 +tender/281 +tenderheartedness/7 +tenderhearted/28 +tendering +tenderizer/6 +tenderize/23 +tenderloin/7 +tenderly +tenderness/7 +tending/25 +tendinitis/9 +tend/788 +tendon/7 +tendril/7 +tends/25 +tenebrous +tenement/7 +tenet/7 +Tenex/6 +TENEX/6 +tenfold/9 +ten/789 +Tenneco/6 +tenner +Tennessean/9 +Tennessee/6 +Tenney/6 +tennis/7 +Tenn/6 +Tennyson/6 +Tenochtitlan/6 +tenon/26 +tenor/7 +tenpin/7 +tense/790 +tenseness's/45 +tenseness/7 +tensile +tensional/45 +tension/111 +tensionless +tensions/25 +tension's/45 +tensity/43 +tensorial +tensor/7 +tenspot +tens/791 +tentacle/56 +tentativeness/9 +tentative/46 +tented/404 +tenterhook/7 +tenter/6 +tent/710 +tenths +tenth/16 +tenting/278 +tenuity/9 +tenuousness/7 +tenuous/28 +tenure/56 +Teodoor/6 +Teodora/6 +Teodorico/6 +Teodor/6 +Teodoro/6 +tepee/7 +tepidity/9 +tepidness/9 +tepid/28 +tequila/7 +Tera/6 +teratogenic +teratology/7 +terbium/7 +tercel/6 +tercentenary/9 +tercentennial/9 +Terence/6 +Terencio/6 +Teresa/6 +Terese/6 +Tereshkova/6 +Teresina/6 +Teresita/6 +Teressa/6 +Teriann/6 +Teri/6 +Terkel/6 +termagant/7 +termcap +termer/6 +terminable/792 +terminableness/495 +terminal/65 +terminate/793 +terminated/12 +terminates +terminating +termination/266 +terminative/645 +terminator/7 +termini +terminological/19 +terminology/7 +terminus/6 +termite/7 +term/254 +ternary/9 +tern/401 +tern's +terpsichorean +Terpsichore/6 +terrace/26 +terracing/6 +terracotta +terrain/7 +Terra/6 +terramycin +Terrance/6 +Terran/6 +terrapin/7 +terrarium/7 +terrazzo/7 +Terrell/6 +Terrel/6 +Terre/6 +Terrence/6 +terrestrial/65 +terribleness/7 +terrible/42 +terribly +Terrie/6 +terrier/6 +terrifically +terrific/19 +terrify/17 +terrifying/19 +Terrijo/6 +Terrill/6 +Terri/6 +terrine/6 +territoriality/6 +Territorial/7 +territorial/16 +Territory's +territory/7 +terrorism/7 +terroristic +terrorist/7 +terrorized/12 +terrorizer/6 +terrorize/23 +terror/7 +terr/9 +terrycloth +Terrye/6 +Terry/6 +terry/96 +terseness/7 +terse/33 +Tersina/6 +tertian +Tertiary +tertiary/9 +Terza/6 +TESL +Tesla/6 +TESOL +Tessa/6 +tessellate/15 +tessellation/6 +tesseral +Tessie/6 +Tessi/6 +Tess/6 +Tessy/6 +testability/6 +testable/12 +testamentary +testament/7 +testate/230 +testator/7 +testatrices +testatrix +testbed/9 +testcard +tested/794 +tester/795 +testes/6 +testicle/7 +testicular +testifier/6 +testify/23 +testily +testimonial/7 +testimony/7 +testiness/9 +testing/9 +testis/6 +testosterone/7 +test/796 +tests/500 +test's/797 +testy/98 +tetanus/7 +tetchy/54 +tether/26 +tethered/12 +Tethys/6 +Tetons +tetrachloride/6 +tetracycline/7 +tetrafluoride +tetragonal/19 +tetrahalides +tetrahedral/19 +tetrahedron/7 +tetrameron +tetrameter/7 +tetra/7 +tetrasodium +tetravalent +Teutonic +Teuton/7 +Texaco/6 +Texan/9 +Texas/7 +Tex/6 +TeX/6 +textbook/7 +text/276 +textile/7 +Textron/6 +textual/528 +textural/19 +textured/12 +texture/26 +T/224 +Thacher/6 +Thackeray/6 +Thaddeus/6 +Thaddus/6 +Thadeus/6 +Thad/6 +Thailand/6 +Thaine/6 +Thain/6 +Thai/9 +thalami +thalamus/6 +Thales/6 +Thalia/6 +thalidomide/7 +thallium/7 +thallophyte/6 +Thames +than +Thane/6 +thane/7 +Thanh/6 +thanker/6 +thankfuller +thankfullest +thankfulness/7 +thankful/28 +thanklessness/7 +thankless/28 +thanksgiving/7 +Thanksgiving/9 +thank/31 +Thant/6 +Thar/6 +Thatcher/6 +thatching/6 +thatch/91 +Thatch/114 +that'd +that'll +that/7 +thaumaturge/6 +thaw/17 +Thaxter/6 +Thayer/6 +Thayne/6 +THC +the +Theadora/6 +Thea/6 +theatergoer/7 +theatergoing/7 +theater/7 +theatricality/7 +theatrical/16 +theatric/9 +theatrics/6 +Thebault/6 +Thebes +Theda/6 +Thedrick/6 +Thedric/6 +thee/142 +theeing +theft/7 +Theiler/6 +their/7 +theism/7 +theistic +theist/7 +Thekla/6 +Thelma/6 +themas +thematically +thematics +thematic/12 +theme/7 +them/47 +Themistocles/6 +themselves +thence +thenceforth +thenceforward/9 +Theobald/6 +theocracy/7 +theocratic +Theocritus/6 +theodolite/7 +Theodora/6 +Theodore/6 +Theodoric/6 +Theodor/6 +Theodosia/6 +Theodosian +Theodosius/6 +theologian/7 +theological/19 +theologists +theology/7 +Theo/6 +theorem/7 +theoretical/19 +theoretician/7 +theoretic/9 +theoretics/6 +theorist/7 +theorization/7 +theorize/23 +theory/7 +theosophic +theosophical +theosophist/7 +Theosophy +theosophy/7 +therapeutically +therapeutic/9 +therapeutics/6 +therapist/7 +therapy/7 +Theravada/6 +thereabout/9 +thereafter +thereat +thereby +there'd +therefor +therefore +therefrom +therein +there'll +there/7 +thereof +thereon +Theresa/6 +Therese/6 +Theresina/6 +Theresita/6 +Theressa/6 +thereto +theretofore +thereunder +thereunto +thereupon +therewith +Therine/6 +thermal/16 +thermionic/9 +thermionics/6 +thermistor/7 +therm/7 +thermocouple/7 +thermodynamical/19 +thermodynamic/9 +thermodynamics/6 +thermoelastic +thermoelectric +thermoformed +thermoforming +thermogravimetric +thermoluminescence/6 +thermometer/7 +thermometric +thermometry/6 +thermonuclear +thermopile/6 +thermoplastic/9 +thermopower +thermo/9 +thermosetting +thermos/9 +Thermos/7 +thermostable +thermostatically +thermostatic/9 +thermostatics/6 +thermostat/7 +thermostatted +thermostatting +Theron/6 +thesauri +thesaurus/7 +these/9 +Theseus/6 +thesis/6 +thespian/9 +Thespian/9 +Thespis/6 +Thessalonian +Thessaloníki/6 +Thessaly/6 +theta/7 +thew/7 +they +they'd +they'll +they're +they've +th/798 +Thia/6 +thiamine/7 +Thibaud/6 +Thibaut/6 +thickener/6 +thickening/6 +thicken/245 +thicket/56 +thickheaded/6 +thickish +thickness/7 +thickset/9 +thick/35 +thief/6 +Thiensville/6 +Thieu/6 +thievery/7 +thieve/71 +thievishness/6 +thievish/42 +thighbone/7 +thigh/170 +thighs +thimble/26 +thimbleful/7 +Thimbu/6 +Thimphu +thine +thingamabob/7 +thingamajig/7 +thing/204 +thinkableness/6 +thinkable/12 +thinkably/12 +think/799 +thinker/7 +thinkingly/12 +thinking/32 +thinned +thinner/7 +thinness/7 +thinnest +thinning +thinnish +thin/38 +thiocyanate/6 +thiouracil/6 +third/183 +thirster/6 +thirst/111 +thirstily +thirstiness/9 +thirsty/98 +thirteen/216 +thirteenths +thirtieths +thirty/216 +this +this'll +thistledown/7 +thistle/7 +thither +Th/6 +tho +thole/26 +Thomasa/6 +Thomasina/6 +Thomasine/6 +Thomasin/6 +Thoma/7 +Thomism/6 +Thomistic +Thom/6 +Thompson/6 +Thomson/6 +thong/56 +thoracic +thorax/7 +Thorazine +Thoreau/6 +thoriate/81 +Thorin/6 +thorium/7 +Thor/6 +Thornburg/6 +Thorndike/6 +Thornie/6 +thorniness/9 +Thorn/6 +thorn/26 +Thornton/6 +Thorny/6 +thorny/98 +thoroughbred/9 +thoroughfare/7 +thoroughgoing +thoroughness/7 +thorough/33 +Thorpe/6 +Thorstein/6 +Thorsten/6 +Thorvald/6 +those +Thoth/6 +thou/17 +though +thoughtfully +thoughtfulness/9 +thoughtful/12 +thoughtlessness/7 +thoughtless/28 +thought/7 +thousandfold +thousand/216 +thousandths +Thrace/6 +Thracian/6 +thralldom/9 +thrall/26 +thrash/179 +thrasher/6 +thrashing/6 +threadbare/42 +threader/6 +threading/14 +threadlike +thread/49 +thready/54 +threatener/6 +threaten/541 +threatening/19 +threat/269 +threefold +three/7 +threepence/6 +threepenny +threescore/9 +threesome/7 +threnody/7 +thresh/23 +thresher/6 +threshold/26 +threw +thrice +thriftily +thriftiness/9 +thriftless +thrift/7 +thrifty/98 +thriller/6 +thrilling/19 +thrill/49 +thriver/6 +thrive/187 +thriving/19 +throatily +throatiness/7 +throat/26 +throaty/98 +throbbed +throbbing +throb/9 +throeing +throe/56 +thrombi +thromboses +thrombosis/6 +thrombotic +thrombus/6 +Throneberry/6 +throne/263 +throne's +throng/26 +throttle/49 +throttler/6 +throughout +throughput/7 +throughway's +through/19 +throwaway/7 +throwback/7 +thrower/6 +thrown +throwout +throw/227 +thrummed +thrumming +thrum/9 +thrush/7 +thruster/6 +thrust/227 +Thruway/7 +thruway/7 +Thunderbird/6 +Thu +Thucydides/6 +thudded +thudding +thud/7 +thuggee/6 +thuggery/7 +thuggish +thug/7 +Thule/6 +thulium/7 +thumbnail/7 +thumbscrew/7 +thumb/26 +thumbtack/26 +thump/111 +Thunderbird/6 +thunderbolt/7 +thunderclap/7 +thundercloud/7 +thunderer/6 +thunderhead/7 +thundering/19 +thunderous/19 +thundershower/7 +thunderstorm/7 +thunderstruck +thundery +thunder/91 +thunk +Thurber/6 +Thurman/6 +Thur/7 +Thursday/7 +Thurstan/6 +Thurston/6 +thus/19 +thwack/23 +thwacker/6 +thwarter/6 +thwart/34 +thy +thyme/7 +thymine/7 +thymus/7 +thyratron/6 +thyristor/7 +thyroglobulin +thyroidal +thyroid/9 +thyronine +thyrotoxic +thyrotrophic +thyrotrophin +thyrotropic +thyrotropin/6 +thyroxine/6 +thyself +Tia/6 +Tianjin +tiara/7 +Tiberius/6 +Tiber/6 +Tibetan/9 +Tibet/6 +tibiae +tibial +tibia/6 +Tibold/6 +Tiburon/6 +ticker/6 +ticket/26 +tick/91 +ticking/6 +tickler/6 +tickle/23 +ticklishness/7 +ticklish/28 +ticktacktoe/9 +ticktock/26 +tic/7 +Ticonderoga/6 +tidal/19 +tidbit/7 +tiddlywinks/6 +tide/71 +tideland/7 +tidewater/7 +tideway/7 +tidily/12 +tidiness/41 +tidying/6 +tidy/772 +tie/800 +tieback/7 +Tiebold/6 +Tiebout/6 +tiebreaker/7 +Tieck/6 +Tiena/6 +Tienanmen/6 +Tientsin's +tier/165 +Tierney/6 +Tiertza/6 +Tiffanie/6 +Tiffani/6 +tiffany/6 +Tiffany/6 +tiff/26 +Tiffie/6 +Tiffi/6 +Tiff/6 +Tiffy/6 +tigerish +tiger/7 +tightener/6 +tighten/245 +tightfisted +tightness/7 +tightrope/7 +tight/35 +tightwad/7 +tigress/7 +Tigris/6 +Tijuana/6 +tike's +Tilda/6 +tilde/7 +Tildie/6 +Tildi/6 +Tildy/6 +tile/91 +tiled/147 +Tiler/6 +tiles/12 +tiling/6 +tillable +tillage/7 +till/203 +tiller/165 +tiller's/25 +Tillich/6 +Tillie/6 +Tillman/6 +Tilly/6 +tilth/6 +tilt/23 +Ti/6 +timber/26 +timbering/6 +timberland/7 +timberline/9 +timbrel/7 +timbre/7 +Timbuktu/6 +ti/801 +timebase +time/641 +timekeeper/7 +timekeeping/7 +timelessness/9 +timeless/28 +timeliness/41 +timely/264 +timeout/9 +timepiece/7 +timer/6 +timescale/9 +timeserver/7 +timeserving/9 +timeshare/17 +timespan +timestamped +timestamps +timetable/26 +timeworn +Timex/6 +timezone/9 +timidity/7 +timidness/7 +timid/33 +Timi/6 +timing/6 +Timmie/6 +Timmi/6 +Tim/7 +Timmy/6 +Timofei/6 +Timon/6 +timorousness/7 +timorous/28 +Timoteo/6 +Timothea/6 +Timothee/6 +Timotheus/6 +Timothy/6 +timothy/7 +timpani +timpanist/9 +Timur/6 +Tina/6 +tincture/26 +tinderbox/7 +tinder/7 +Tine/6 +tine/7 +tinfoil/7 +tingeing +tinge/9 +ting/247 +tingle/17 +tingling/19 +tingly/54 +Ting/6 +tinily +tininess/7 +tinker/49 +Tinkertoy +tinkle/17 +tinkling/6 +tinkly +tin/26 +tinned +tinner/6 +tinnily +tinniness/7 +tinning/6 +tinnitus/7 +tinny/177 +tinplate/9 +tinsel/116 +Tinseltown/6 +tinsmith/6 +tinsmiths +tinter/6 +tintinnabulation/7 +Tintoretto/6 +tint/101 +tintype/7 +tinware/7 +tiny/98 +Tioga/6 +Tiphanie/6 +Tiphani/6 +Tiphany/6 +tipi's +tip/7 +tipoff +Tippecanoe/6 +tipped +Tipperary/6 +tipper/7 +tippet/7 +tipping +tippler/6 +tipple/23 +tippy/164 +tipsily +tipsiness/7 +tipster/7 +tipsy/98 +tiptoeing +tiptoe/142 +tiptop/9 +tirade/7 +Tirana's +Tirane +tired/61 +tireder +tiredest +tiredness/9 +tirelessness/7 +tireless/28 +tire/171 +tires/14 +Tiresias/6 +tiresomeness/9 +tiresome/28 +tiring/13 +Tirolean/9 +Tirol/6 +tiro's +Tirrell/6 +tis +Tisha/6 +Tish/6 +tissue/26 +titanate/6 +Titania/6 +titanic +titanically +Titanic/6 +titanium/7 +titan/7 +Titan/7 +titbit's +titer/6 +tither/6 +tithe/49 +tithing/6 +Titian/6 +titian/9 +Titicaca/6 +titillate/24 +titillating/19 +titillation/6 +titivate/15 +titivation/6 +titled/13 +title/111 +titleholder/7 +titling/14 +titmice +titmouse/6 +tit/96 +Tito/7 +titrate/55 +titration/6 +titted +titter/17 +titting +tittle/26 +titular/16 +Titus/6 +tizzy/7 +TKO +Tlaloc/6 +TLC +Tlingit/6 +Tl/6 +TM +Tm/6 +tn +TN +tnpk +TNT +toad/7 +toadstool/7 +toady/26 +toadyism/6 +toaster/6 +toastmaster/7 +toastmistress/9 +toast/49 +toasty/228 +tobacconist/7 +tobacco/7 +tobaggon/7 +Tobago/6 +Tobe/6 +Tobey/6 +Tobiah/6 +Tobias/6 +Tobie/6 +Tobi/6 +Tobin/6 +Tobit/6 +toboggan/49 +Tobye/6 +Toby/6 +Tocantins/6 +toccata/6 +Tocqueville +tocsin/7 +to/81 +today'll +today/7 +Toddie/6 +toddler/6 +toddle/23 +Todd/6 +Toddy/6 +toddy/7 +Tod/6 +toecap/7 +toeclip/9 +TOEFL +toehold/7 +toeing +toe/7 +toenail/26 +toffee/7 +tofu/9 +toga/56 +toge +togetherness/7 +together/42 +togged +togging +toggle/26 +Togolese/6 +Togo/6 +tog/131 +Toiboid/6 +toilet/26 +toiletry/7 +toilette/7 +toil/49 +toilsomeness/6 +toilsome/28 +Toinette/6 +Tojo/6 +tokamak +Tokay/6 +toke/17 +tokenism/7 +tokenized +token/26 +Tokugawa/6 +Tokyoite/7 +Tokyo/6 +Toland/6 +told/13 +Toledo/7 +tole/26 +tolerability/123 +tolerable/45 +tolerably/45 +tolerance/43 +tolerant/51 +tolerate/24 +toleration/6 +Tolkien +tollbooth/6 +tollbooths +toll/17 +Tolley/6 +tollgate/7 +tollhouse/6 +tollway/9 +Tolstoy/6 +toluene/7 +Tolyatti/6 +tomahawk/26 +Tomasina/6 +Tomasine/6 +Toma/7 +Tomaso/6 +tomatoes +tomato/6 +Tombaugh/6 +tomb/26 +Tombigbee/6 +tomblike +tombola/6 +tomboyish +tomboy/7 +tombstone/7 +tomcat/7 +tomcatted +tomcatting +Tome/6 +tome/7 +tomfoolery/7 +tomfool/6 +Tomi/6 +Tomkin/6 +Tomlin/6 +Tom/6 +tommed +Tommie/6 +Tommi/6 +tomming +tommy/6 +Tommy/6 +tomographic +tomography/7 +tomorrow/7 +Tompkins/6 +Tomsk/6 +tom/7 +tomtit/7 +tonality/7 +tonal/19 +tonearm/9 +tone/802 +tonelessness/6 +toneless/28 +toner/123 +tone's +Tonga/6 +Tongan/7 +tong/31 +tongueless +tongue/26 +tonguing/6 +Tonia/6 +tonic/7 +Tonie/6 +tonight/7 +Toni/6 +Tonio/6 +tonk/7 +tonnage/7 +tonne/7 +Tonnie/6 +tonsillectomy/7 +tonsillitis/7 +tonsil/7 +ton/341 +tonsorial +tonsure/26 +Tonto/6 +Tonya/6 +Tonye/6 +Tony/6 +tony/54 +toodle +too/540 +took/14 +tool/36 +toolbar/7 +toolbox/7 +tooler/7 +tooling/6 +toolkit/7 +toolmaker/6 +toolmake/174 +toolmaking/6 +tool's +toolsmith +Toomey/6 +tooter/6 +toot/23 +toothache/7 +toothbrush/131 +tooth/165 +toothily +toothless +toothmarks +toothpaste/7 +toothpick/7 +tooths +toothsome +toothy/54 +tootle/31 +tootsie +Tootsie/6 +toots/6 +tootsy/7 +topaz/7 +topcoat/7 +topdressing/9 +Topeka/6 +toper/6 +topflight +topgallant/6 +topiary/9 +topicality/7 +topical/19 +topic/7 +topknot/7 +topless +topmast/7 +topmost +topnotch/164 +topocentric +topographer/7 +topographic +topographical/19 +topography/7 +topological/19 +topologist/7 +topology/7 +topped +topper/7 +topping/7 +topple/17 +topsail/7 +topside/175 +top/111 +topsoil/26 +topspin/7 +Topsy/6 +toque/7 +Torah/6 +Torahs +torchbearer/7 +torchlight/9 +torch/26 +toreador/7 +Tore/6 +tore/9 +Torey/6 +Torie/6 +tori/6 +Tori/6 +Torin/6 +torment/17 +tormenting/19 +tormentor/7 +torn +tornadoes +tornado/6 +toroidal/19 +toroid/7 +Toronto/6 +torpedoes +torpedo/165 +torpidity/9 +torpid/16 +torpor/7 +Torquemada/6 +torque/49 +Torrance/6 +Torre/7 +torrence +Torrence/6 +Torrens/6 +torrential +torrent/7 +Torrey/6 +Torricelli/6 +torridity/7 +torridness/7 +torrid/33 +Torrie/6 +Torrin/6 +Torr/73 +Torry/6 +torsional/19 +torsion/309 +torsions +torsi's +tor/489 +torso/7 +tors/9 +tort/803 +tortellini/7 +torte/7 +torten +tortilla/7 +tortoiseshell/7 +tortoise/7 +Tortola/6 +tortoni/7 +tort's +Tortuga/6 +tortuousness/7 +tortuous/28 +torture/23 +torturous +torus/7 +Tory/7 +Tosca/6 +Toscanini/6 +Toshiba/6 +toss/23 +tossup/7 +totaler/6 +totalistic +totalitarianism/7 +totalitarian/9 +totality/7 +totalizator/9 +totalizing +total/362 +totemic +totem/7 +toter/6 +tote/9 +toting/6 +tot/111 +Toto/6 +totted +totterer/6 +tottering/19 +totter/23 +totting +toucan/7 +touchable/12 +touch/36 +touchdown/7 +touché +touched/12 +toucher/6 +touchily +touchiness/7 +touching/16 +touchline/6 +touchscreen +touchstone/7 +touchy/98 +toughen/242 +toughener/6 +toughness/7 +toughs +tough/730 +Toulouse/6 +toupee/7 +toured/525 +tourer/6 +tour/49 +touring/278 +tourism/7 +touristic +tourist/7 +touristy +tourmaline/7 +tournament/7 +tourney/26 +tourniquet/7 +tour's/525 +tours/525 +tousle/17 +touter/6 +tout/31 +Tova/6 +Tove/6 +towardliness/6 +towardly/42 +towards +toward/10 +towboat/7 +tow/23 +towelette/9 +towel/171 +toweling/6 +tower/165 +towering/19 +towhead/56 +towhee/7 +towline/7 +towner/6 +Townes +Towney/6 +townhouse/9 +Townie/6 +townie/9 +Townley/6 +Town/6 +Townsend/6 +townsfolk +township/7 +townsman/6 +townsmen +townspeople/6 +town/175 +townswoman/6 +townswomen +Towny/6 +towpath/6 +towpaths +towrope/7 +Towsley/6 +toxemia/7 +toxicity/7 +toxicological +toxicologist/7 +toxicology/7 +toxic/9 +toxin/7 +toyer/6 +toymaker +toy/111 +Toynbee/6 +Toyoda/6 +Toyota/6 +toyshop +tr +traceability/6 +traceableness/6 +traceable/42 +trace/36 +traceback/7 +traced/12 +Tracee/6 +traceless/19 +Trace/6 +tracepoint/7 +tracer/7 +tracery/56 +trace's +Tracey/6 +tracheae +tracheal/6 +trachea/6 +tracheotomy/7 +Tracie/6 +Traci/6 +tracing/7 +trackage +trackball/9 +trackbed +tracked/12 +tracker/6 +trackless +tracksuit/7 +track/49 +tractability/230 +tractable/45 +tractably/45 +tract/804 +Tractarians +traction/805 +tractive/806 +tractor/807 +tract's +tracts/808 +Tracy/6 +trademark/26 +trader/6 +tradesman/6 +tradesmen +tradespeople +tradespersons +trade/49 +tradeswoman/6 +tradeswomen +traditionalism/7 +traditionalistic +traditionalist/7 +traditionalized +traditionally +traditional/12 +tradition/7 +traduce/23 +Trafalgar/6 +trafficked +trafficker/7 +trafficking/9 +traffic/7 +tragedian/7 +tragedienne/7 +tragedy/7 +tragically +tragicomedy/7 +tragicomic +tragic/9 +trailblazer/7 +trailblazing/9 +trailer/165 +trails/278 +trailside +trail/179 +trainable +train/36 +trained/12 +trainee/7 +traineeships +trainer/7 +training/7 +trainman/6 +trainmen +trainspotter/9 +traipse/17 +trait/7 +traitorous/19 +traitor/7 +Trajan/6 +trajectory/7 +trammed +trammeled/12 +trammel/17 +tramming +tram/7 +trample/23 +trampler/6 +trampoline/26 +tramp/23 +tramway/6 +trance/26 +tranche/7 +Tran/6 +tranquility/9 +tranquilized/12 +tranquilize/179 +tranquilizer/6 +tranquilizes/14 +tranquilizing/86 +tranquillize/23 +tranquillizer/6 +tranquilness/6 +tranquil/33 +transact/17 +transactional +transaction/7 +transactor/7 +transalpine +transaminase +transatlantic +Transcaucasia/6 +transceiver/7 +transcendence/7 +transcendentalism/7 +transcendentalist/7 +transcendental/16 +transcendent/19 +transcend/17 +transconductance +transcontinental +transcribe/23 +transcriber/6 +transcription/7 +transcript/7 +transcultural +transducer/7 +transduction/6 +transect/17 +transept/7 +transferability/6 +transferal/7 +transfer/809 +transferee/6 +transference/7 +transferor/7 +transferral/7 +transferred +transferrer/7 +transferring +transfiguration/7 +transfigure/17 +transfinite/19 +transfix/17 +transformational +transformation/7 +transform/67 +transformed/12 +transformer/6 +transfuse/376 +transfusion/6 +transgression/7 +transgressor/9 +transgress/64 +trans/45 +transience/7 +transiency/9 +transient/16 +transistorize/17 +transistor/7 +Transite/6 +transitional/19 +transition/26 +transitivenesses +transitiveness/123 +transitive/68 +transitivity/7 +transitoriness/6 +transitory/42 +transit/163 +transl +translatability/6 +translatable/12 +translated/13 +translate/577 +translational +translation/6 +translator/7 +transliterate/15 +translucence/7 +translucency/7 +translucent/19 +transmigrate/15 +transmissible +transmission/48 +transmissive +transmit/63 +transmittable +transmittal/7 +transmittance/7 +transmitted/14 +transmitter/7 +transmitting/14 +transmogrification/6 +transmogrify/15 +transmutation/7 +transmute/88 +transnational/9 +transoceanic +transom/7 +transonic +transpacific +transparency/7 +transparentness/6 +transparent/28 +transpiration/7 +transpire/17 +transplantation/9 +transplant/318 +transpolar +transponder/7 +transportability +transportable/12 +transportation/7 +transport/67 +transpose/88 +transposed/12 +transposition/7 +Transputer/6 +transsexualism/7 +transsexual/7 +transship/40 +transshipment/7 +transshipped +transshipping +transubstantiation/7 +Transvaal/6 +transversal/86 +transverse/183 +transvestism/7 +transvestite/7 +transvestitism +Transylvania/6 +trapdoor/9 +trapeze/26 +trapezium/7 +trapezoidal +trapezoid/7 +trap/7 +trappable/12 +trapped +trapper/7 +trapping/9 +Trappist/7 +trapshooting/7 +trashcan/7 +trashiness/7 +trash/111 +trashy/98 +Trastevere/6 +trauma/7 +traumatic +traumatically +traumatize/17 +travail/26 +traveled/12 +traveler/6 +travelog's +travelogue/9 +travel/179 +Traver/7 +traversal/7 +traverse/318 +traverser/6 +travertine/6 +travesty/26 +Travis/6 +Travus/6 +trawler/6 +trawl/49 +tray/7 +treacherousness/7 +treacherous/28 +treachery/7 +treacle/26 +treacly +treader/6 +treadle/26 +treadmill/7 +tread/36 +Treadwell/6 +treas +treason/465 +treasonous +treasure/49 +treasurer/6 +treasurership +treasury/7 +Treasury/7 +treatable +treated/12 +treater/9 +treatise/7 +treatment/7 +treat's +treat/395 +treaty/7 +treble/17 +Treblinka/6 +treeing +treeless +treelike +tree/56 +treetop/7 +trefoil/7 +Trefor/6 +trekked +trekker/7 +Trekkie/6 +trekking +trek/7 +trellis/26 +Tremaine/6 +Tremain/6 +trematode/7 +Tremayne/6 +tremble/187 +trembler/6 +trembles/6 +trembly +tremendousness/6 +tremendous/28 +tremolo/7 +tremor/7 +tremulousness/7 +tremulous/28 +trenchancy/7 +trenchant/19 +trencherman/6 +trenchermen +trencher/7 +trench/36 +trench's +trendily +trendiness/9 +trend/26 +trendy/177 +Trenna/6 +Trent/6 +Trenton/6 +trepanned +trepidation/7 +Tresa/6 +Trescha/6 +trespasser/6 +trespass/23 +Tressa/6 +tressed/25 +tresses/25 +tressing/25 +tress/26 +trestle/7 +Trevar/6 +Trevelyan/6 +Trever/6 +Trevino/6 +Trevor/6 +Trev/114 +Trey/6 +trey/7 +triableness/6 +triable/42 +triadic +triad/7 +triage/26 +trial/48 +trialization +trialled +trialling +triamcinolone +triangle/7 +triangulable +triangularization/9 +triangular/19 +triangulate/215 +triangulation/6 +Triangulum/6 +Trianon/6 +Triassic +triathlon/9 +triatomic +tribalism/7 +tribal/19 +tribe/7 +tribesman/6 +tribesmen +tribeswoman +tribeswomen +tribulate/107 +tribulation/6 +tribunal/7 +tribune/7 +tributary/7 +tribute/810 +tribute's +trice/26 +tricentennial/9 +triceps/7 +triceratops/6 +trichinae +trichina/6 +trichinoses +trichinosis/6 +trichloroacetic +trichloroethane +trichotomy/6 +trichromatic +Tricia/6 +trickery/7 +trick/111 +trickily +trickiness/7 +trickle/17 +trickster/7 +tricky/98 +tricolor/56 +tricycle/26 +trident/7 +tridiagonal +tried/13 +triennial/16 +trier/63 +trier's +tries/14 +Trieste/6 +triffid/9 +trifle/91 +trifler/6 +trifluoride/6 +trifocals +trigged +trigger/26 +triggest +trigging +triglyceride/7 +trigonal/19 +trigonometric +trigonometrical +trigonometry/7 +trigram/9 +trig/9 +trihedral +trike/26 +trilateral/9 +trilby/7 +trilingual +trillion/216 +trillionth/6 +trillionths +trillium/7 +trill/111 +trilobite/7 +trilogy/7 +trimaran/7 +Trimble/6 +trimer/6 +trimester/7 +trimmed/12 +trimmer/7 +trimmest +trimming/7 +trimness/9 +trimodal +trimonthly +trim/768 +Trimurti/6 +Trina/6 +Trinidad/6 +trinitarian/9 +trinitrotoluene/7 +trinity/7 +Trinity/7 +trinketer/6 +trinket/111 +triode/7 +trio/7 +trioxide/6 +tripartite/122 +tripartition/6 +tripe/7 +triphenylarsine +triphenylphosphine +triphenylstibine +triphosphopyridine +triple/17 +triplet/7 +triplex/9 +triplicate/17 +triplication/6 +triply/55 +Trip/6 +tripodal +tripod/7 +tripoli/6 +Tripoli/6 +tripolyphosphate +tripos/7 +tripped +Trippe/6 +tripper/7 +tripping/19 +Tripp/6 +trip/65 +triptych/6 +triptychs +tripwire/7 +trireme/7 +Tris +trisect/17 +trisection/9 +trisector +Trisha/6 +Trish/6 +trisodium +Trista/6 +Tristam/6 +Tristan/6 +tristate +trisyllable/6 +tritely/278 +triteness/281 +trite/38 +tritium/7 +triton/6 +Triton/6 +triumphal +triumphalism +triumphant/19 +triumph/165 +triumphs +triumvirate/7 +triumvir/7 +triune +trivalent +trivet/7 +trivia +triviality/7 +trivialization/7 +trivialize/17 +trivial/19 +trivium/6 +Trixie/6 +Trixi/6 +Trix/6 +Trixy/6 +Trobriand/6 +trochaic/9 +trochee/7 +trod/13 +trodden/13 +trodes +troff/114 +troglodyte/7 +troika/7 +Trojan/7 +troll/26 +trolled/278 +trolleybus/9 +trolley/26 +trolling/278 +trollish +Trollope/6 +trollop/26 +trolly's +trombone/7 +trombonist/7 +tromp/17 +Trondheim/6 +trooper/6 +troopship/7 +troop/49 +trope/7 +Tropez/6 +trophic +trophy/26 +tropical/16 +tropic/7 +tropism/7 +tropocollagen +troposphere/7 +tropospheric +troth/165 +troths +trot/9 +Trotsky/6 +trotted +trotter/7 +trotting +troubadour/7 +troubled/12 +trouble/111 +troublemaker/7 +troubler/6 +troubleshooter/6 +troubleshoot/23 +troubleshot +troublesomeness/6 +troublesome/28 +trough/6 +troughs +trounce/23 +trouncer/6 +troupe/49 +trouper/6 +trouser/26 +trousseau/6 +trousseaux +Troutman/6 +trout/7 +trove/7 +troweler/6 +trowel/49 +trow/17 +Troyes +Troy/6 +troy/9 +Trstram/6 +truancy/7 +truant/26 +truce/26 +Truckee/6 +trucker/6 +trucking/6 +truckle/17 +truckload/7 +truck/91 +truculence/7 +truculent/19 +Truda/6 +Trudeau/6 +Trude/6 +Trudey/6 +trudge/31 +Trudie/6 +Trudi/6 +Trudy/6 +true/226 +truelove/7 +Trueman/6 +trueness/6 +truer/12 +truest/12 +truffle/7 +truism/7 +Trujillo/6 +Trula/6 +truly/12 +Trumaine/6 +Truman/6 +Trumann/6 +Trumbull/6 +trump/26 +trumpery/7 +trumpeter/6 +trumpet/49 +Trump/6 +truncate/15 +truncation/6 +truncheon/26 +trundle/23 +trundler/6 +trunk/26 +trunnion/7 +trusser/6 +trussing/6 +truss/31 +trusted/147 +trusteeing +trustee/56 +trusteeship/7 +truster/6 +trustful/75 +trustfulness/7 +trustiness/6 +trusting/19 +trust/111 +trusts/25 +trustworthier +trustworthiest +trustworthiness/7 +trustworthy/236 +trusty/225 +Truth +truthfulness/302 +truthful/161 +truths/12 +truth/135 +TRW +trying/19 +try/179 +tryout/7 +trypsin/6 +tryst/26 +ts +T's +tsarevich +tsarina's +tsarism/6 +tsarist +tsetse/9 +Tsimshian/6 +Tsiolkovsky/6 +Tsitsihar/6 +tsp +tsunami/7 +Tsunematsu/6 +Tswana/6 +TTL +tty/6 +ttys +Tuamotu/6 +Tuareg/6 +tubae +tubal +tuba/7 +tubbed +tubbing +tubby/54 +tubeless +tubercle/7 +tubercular/9 +tuberculin/7 +tuberculoses +tuberculosis/6 +tuberculous +tuber/6 +tuberose/7 +tuberous +tube/7 +tubing/6 +tub/91 +Tubman/6 +tubular/19 +tubule/7 +tucker/165 +Tucker/6 +tuck/23 +Tuckie/6 +Tuck/114 +Tucky/6 +Tucson/6 +Tucuman/6 +Tudor/7 +Tue/9 +Tuesday/7 +tufter/6 +tuft/49 +tufting/6 +tugboat/7 +tugged +tugging +tug/9 +tuition/43 +Tulane/6 +tularemia/9 +tulip/7 +tulle/7 +Tulley/6 +Tull/6 +Tully/6 +Tulsa/6 +tum +tumbledown +tumbler/6 +tumbleweed/7 +tumble/179 +tumbrel/7 +tumescence/9 +tumescent +tumidity/7 +tumid/19 +tummy/7 +tumor/56 +tumorous +Tums/6 +tumult/26 +tumultuousness/6 +tumultuous/28 +tumulus/6 +tunableness/6 +tunable/42 +tuna/7 +tundra/7 +tun/234 +tune/263 +tunefulness/7 +tuneful/28 +tuneless/19 +tuner/6 +tune's +tuneup/9 +tung +tungstate/6 +tungsten/7 +Tunguska/6 +Tungus/6 +tunic/7 +tuning/14 +tuning's +Tunisia/6 +Tunisian/9 +Tunis/6 +tunned +tunneler/6 +tunnel/91 +tunning +tunny/7 +tupelo/6 +Tupi/6 +tuple/7 +tuppence/6 +Tupperware +Tupungato/6 +turban/56 +turbid +turbidity/7 +turbinate/142 +turbine/7 +turbocharged +turbocharger/7 +turbofan/7 +turbojet/7 +turboprop/7 +turbo/7 +turbot/7 +turbulence/7 +turbulent/19 +turd/7 +tureen/7 +turf/26 +turfy/54 +Turgenev/6 +turgidity/7 +turgidness/6 +turgid/28 +Turing/6 +Turin/6 +Turkestan/6 +Turkey/6 +turkey/7 +Turkic/7 +Turkish +Turkmenistan/6 +turk/9 +Turk/7 +turmeric/7 +turmoil/26 +turnabout/7 +turnaround/7 +turn/639 +turnbuckle/7 +turncoat/7 +turned/12 +turner/6 +Turner/6 +turning/7 +turnip/26 +turnkey/7 +turnoff/7 +turnout/7 +turnover/7 +turnpike/7 +turnround/7 +turnstile/7 +turnstone/6 +turntable/7 +turpentine/26 +Turpin/6 +turpitude/7 +turquoise/7 +turret/56 +turtleback/7 +turtledove/7 +turtleneck/56 +turtle/26 +turves's +turvy +Tuscaloosa/6 +Tuscan +Tuscany/6 +Tuscarora/6 +Tuscon/6 +tush/17 +Tuskegee/6 +tusker/6 +tusk/49 +tussle/17 +tussock/7 +tussocky +Tussuad/6 +Tutankhamen/6 +tutelage/7 +tutelary/9 +Tut/6 +tutored/12 +tutorial/7 +tutor/26 +tutorship/9 +tut/9 +Tutsi +tutted +tutting +tutti/9 +Tuttle/6 +tutu/7 +Tuvalu +tuxedo/56 +tux/9 +TVA +TV/6 +TVs +twaddle/49 +twaddler/6 +Twain/6 +twain/9 +TWA/6 +twang/26 +twangy/54 +twas +tweak/31 +tweediness/6 +Tweedledee/6 +Tweedledum/6 +Tweed/6 +twee/811 +tweed/7 +tweedy/98 +tween +tweeter/6 +tweet/23 +tweezer/6 +tweeze/242 +twelfth +twelfths +twelvemonth/6 +twelvemonths +twelve/7 +twentieths +twenty/216 +twerp/7 +twice/164 +twiddle/31 +twiddler/6 +twiddly/54 +twigged +twigging +twiggy/54 +twig/7 +Twila/6 +twilight/7 +twilit +twill/17 +twiner/6 +twine/7 +twinge/26 +Twinkie +twinkler/6 +twinkle/31 +twinkling/6 +twinkly +twinned +twinning +twin/49 +twirler/6 +twirling/19 +twirl/23 +twirly/54 +twisted/12 +twister/6 +twists/12 +twist/23 +twisty +twitch/31 +twitchy/54 +twit/9 +twitted +twitterer/6 +twitter/31 +twittery +twitting +twixt +twofer/7 +twofold/9 +two/7 +twopence/7 +twopenny/9 +twosome/7 +twp +Twp +TWX +Twyla/6 +TX +t/812 +Tybalt/6 +Tybie/6 +Tybi/6 +tycoon/7 +tyeing +Tye/6 +tying/13 +tyke/7 +Tylenol/6 +Tyler/6 +Ty/6 +Tymon/6 +Tymothy/6 +tympani +tympanist/7 +tympanum/7 +Tynan/6 +Tyndale/6 +Tyndall/6 +Tyne/6 +typeahead +typecast/166 +typed/13 +typedef/9 +typeface/7 +typeless +type/211 +types/14 +typescript/7 +typeset/9 +typesetter/7 +typesetting/7 +typewriter/6 +typewrite/210 +typewriting/6 +typewritten +typewrote +typhoid/7 +Typhon/6 +typhoon/7 +typhus/7 +typicality/7 +typically +typicalness/6 +typical/12 +typification/6 +typify/15 +typing/14 +typist/7 +typographer/7 +typographic +typographical/19 +typography/7 +typological/19 +typology/7 +typo/7 +tyrannic +tyrannicalness/6 +tyrannical/28 +tyrannicide/6 +tyrannizer/6 +tyrannize/179 +tyrannizing/86 +tyrannosaur/7 +tyrannosaurus/9 +tyrannous +tyranny/7 +tyrant/7 +Tyree/6 +tyreo +Tyrolean/9 +Tyrol's +Tyrone/6 +tyrosine/6 +tyro/7 +Tyrus/6 +Tyson/6 +tzarina's +tzar's +Tzeltal/6 +u +U +UAR +UART +UAW +Ubangi/6 +ubiquitous/28 +ubiquity/9 +Ubuntu/6 +Ucayali/6 +Uccello/6 +UCLA/6 +Udale/6 +Udall/6 +udder/7 +Udell/6 +Ufa/6 +ufologist/9 +ufology/7 +UFO/9 +Uganda/6 +Ugandan/9 +ugh +ughs +uglification +ugliness/7 +uglis +ugly/226 +Ugo/6 +uh +UHF +Uighur +Ujungpandang/6 +UK +ukase/7 +Ukraine/6 +Ukrainian/9 +ukulele/7 +UL +Ula/6 +Ulberto/6 +ulcerate/24 +ulceration/6 +ulcer/26 +ulcerous +Ulick/6 +Ulises/6 +Ulla/6 +Ullman/6 +ulnae +ulna/6 +ulnar +Ulrica/6 +Ulrich/6 +Ulrick/6 +Ulric/6 +Ulrika/6 +Ulrikaumeko/6 +Ulrike/6 +Ulster/6 +ulster/7 +ult +ulterior/19 +ultimas +ultimate/22 +ultimateness/6 +ultimatum/7 +ultimo +ultracentrifugally +ultracentrifugation +ultracentrifuge/6 +ultraconservative/9 +ultrafast +ultrahigh +ultralight/9 +ultramarine/7 +ultramodern +ultramontane +ultra/9 +ultrashort +ultrasonically +ultrasonic/9 +ultrasonics/6 +ultrasound/7 +ultrastructure/6 +Ultrasuede +ultraviolet/7 +Ultrix/6 +ULTRIX/6 +ululate/15 +ululation/6 +Ulyanovsk/6 +Ulysses/6 +um +umbel/7 +umber/26 +Umberto/6 +umbilical/9 +umbilici +umbilicus/6 +umbrage/26 +umbrageous +umbra/7 +umbrella/26 +Umbriel/6 +Umeko/6 +umiak/7 +umlaut/26 +umpire/26 +ump/26 +umpteen/540 +UN +unabated/19 +unabridged/9 +unacceptability +unacceptable +unaccepted +unaccommodating +unaccountability +unaccustomed/19 +unadapted +unadulterated/19 +unadventurous +unalienability +unalterableness/6 +unalterable/42 +unalterably +Una/6 +unambiguity +unambiguous +unambitious +unamused +unanimity/7 +unanimous/19 +unanticipated/19 +unapologetic +unapologizing/6 +unappeasable +unappeasably +unappreciative +unary +unassailableness/6 +unassailable/42 +unassertive +unassumingness/6 +unassuming/28 +unauthorized/28 +unavailing/28 +unaware/46 +unbalanced/42 +unbar +unbarring +unbecoming/42 +unbeknown +unbelieving/19 +unbiased/42 +unbid +unbind/224 +unblessed +unblinking/19 +unbodied +unbolt/224 +unbreakability +unbred +unbroken +unbuckle +unbudging/19 +unburnt +uncap +uncapping +uncatalogued +uncauterized/7 +unceasing/19 +uncelebrated +uncertain/42 +unchallengeable +unchangingness/6 +unchanging/28 +uncharacteristic +uncharismatic +unchastity +unchristian +uncial/9 +uncivilized/19 +unclassified +uncle/56 +unclouded/19 +uncodable +uncollected +uncoloredness/6 +uncolored/28 +uncombable +uncommunicative +uncompetitive +uncomplicated +uncomprehending/19 +uncompromisable +unconcerned/42 +unconcern/6 +unconfirmed +unconfused +unconscionableness/6 +unconscionable/42 +unconscionably +unconstitutional +unconsumed +uncontentious +uncontrollability +unconvertible +uncool +uncooperative +uncork/224 +uncouple/224 +uncouthness/6 +uncouth/28 +uncreate/130 +uncritical +uncross/625 +uncrowded +unction/123 +unctions +unctuousness/7 +unctuous/28 +uncustomary +uncut +undated/45 +undaunted/19 +undeceive +undecided/9 +undedicated +undefinability +undefinedness/6 +undefined/42 +undelete +undeliverability +undeniableness/6 +undeniable/42 +undeniably +undependable +underachiever/6 +underachieve/23 +underact/17 +underadjusting +underage/9 +underarm/17 +underbedding +underbelly/7 +underbidding +underbid/9 +underbracing +underbrush/26 +undercarriage/7 +undercharge/17 +underclassman +underclassmen +underclass/9 +underclothes +underclothing/7 +undercoating/6 +undercoat/171 +underconsumption/6 +undercooked +undercount/9 +undercover +undercurrent/7 +undercut/9 +undercutting +underdeveloped +underdevelopment/7 +underdog/7 +underdone +undereducated +underemphasis +underemployed +underemployment/7 +underenumerated +underenumeration +underestimate/15 +underexploited +underexpose/17 +underexposure/7 +underfed +underfeed/166 +underfloor +underflow/26 +underfoot +underfund/47 +underfur/7 +undergarment/7 +undergirding +undergoes +undergo/224 +undergone +undergrad/7 +undergraduate/7 +underground/175 +undergrowth/6 +undergrowths +underhand/81 +underhandedness/7 +underhanded/28 +underheat +underinvestment +underlaid +underlain/9 +underlay/166 +underlie +underline/71 +underling/7 +underlip/7 +underloaded +underly/166 +undermanned +undermentioned +undermine/17 +undermost +underneath +underneaths +undernourished +undernourishment/7 +underpaid +underpants +underpart/7 +underpass/7 +underpay/661 +underpayment/7 +underperformed +underpinned +underpinning/7 +underpin/9 +underplay/17 +underpopulated +underpopulation/6 +underpowered +underpricing +underprivileged +underproduction/7 +underrate/17 +underregistration/6 +underreported +underreporting +underrepresentation/6 +underrepresented +underscore/17 +undersealed +undersea/9 +undersecretary/7 +undersell/166 +undersexed +undershirt/7 +undershoot/166 +undershorts +undershot +underside/7 +undersigned/6 +undersign/17 +undersized +undersizes +undersizing +underskirt/7 +undersold +underspecification +underspecified +underspend/224 +understaffed +understandability/6 +understandably +understanding/86 +understand/591 +understate/11 +understatement/7 +understocked +understood +understrength +understructure/7 +understudy/26 +undertaken +undertaker/6 +undertake/210 +undertaking/6 +underthings +undertone/7 +undertook +undertow/7 +underused +underusing +underutilization/6 +underutilized +undervaluation/9 +undervalue/17 +underwater/9 +underway +underwear/6 +underweight/9 +underwent +underwhelm/17 +underwood/6 +Underwood/6 +underworld/7 +underwrite/227 +underwriter/6 +underwritten +underwrote +under/19 +undeserving +undesigned +undeviating/19 +undialyzed/7 +undiplomatic +undiscerning +undiscriminating +undo/301 +undoubted/19 +undramatic +undramatized/7 +undress/224 +undrinkability +undrinkable +undroppable +undue +undulant +undulate/15 +undulation/6 +unearthliness/9 +unearthly/42 +unearth/813 +unease +uneconomic +uneducated +unemployed/9 +unencroachable +unending/19 +unendurable/42 +unenergized/7 +unenforced +unenterprising +UNESCO +unethical +uneulogized/7 +unexacting +unexceptionably +unexcited +unexpectedness/7 +unfading/19 +unfailingness/6 +unfailing/42 +unfamiliar +unfashionable +unfathomably +unfavored +unfeeling +unfeigned/19 +unfelt +unfeminine +unfertile +unfetchable +unflagging +unflappability/9 +unflappable +unflappably +unflinching/19 +unfold/403 +unfoldment/6 +unforced +unforgeable +unfossilized/7 +unfraternizing/7 +unfrozen +unfulfillable +unfunny +unfussy +ungainliness/7 +ungainly/98 +Ungava/6 +ungenerous +ungentle +unglamorous +ungrammaticality +ungrudging +unguent/7 +ungulate/7 +unharmonious +unharness/224 +unhistorical +unholy/567 +unhook/47 +unhydrolyzed/7 +unhygienic +Unibus/6 +unicameral +UNICEF +unicellular +Unicode/6 +unicorn/7 +unicycle/26 +unicyclist/7 +unideal +unidimensional +unidiomatic +unidirectionality +unidirectional/19 +unidolized/7 +unifiable +unification/118 +unifier/7 +unifilar +uniformity/7 +uniformness/6 +uniform/502 +unify/132 +unilateralism/6 +unilateralist +unilateral/19 +unimodal +unimpeachably +unimportance +unimportant +unimpressive +unindustrialized/7 +uninhibited/28 +uninominal +uninsured +uninstall/814 +uninstaller/7 +unintellectual +unintended +uninteresting +uninterruptedness/6 +uninterrupted/28 +unintuitive +uninviting +union/128 +unionism/7 +unionist/7 +Unionist/7 +unionize +Union/7 +UniPlus/6 +unipolar +uniprocessor/7 +uniqueness/9 +unique/38 +Uniroyal/6 +unisex/9 +UniSoft/6 +unison/7 +Unisys/6 +unitarianism/6 +Unitarianism/7 +unitarian/7 +Unitarian/7 +unitary +unite/127 +united/19 +uniter/6 +unitize/17 +unit/336 +unity/85 +univ +Univac/6 +univalent/9 +univalve/7 +univariate +universalism/6 +universalistic +universality/7 +universalize/23 +universalizer/6 +universal/46 +universe/7 +university/7 +Unix/6 +UNIX/6 +unjam +unkempt +unkind/567 +unkink +unknightly +unknowable/9 +unknowing +unlabored +unlace/224 +unlearn/224 +unlikeable +unlikeliness/9 +unlimber/224 +unlimited +unlit +unliterary +unloose/224 +unlucky/567 +unmagnetized/7 +unmanageably +unmannered/19 +unmask/224 +unmeaning +unmeasured +unmeetable +unmelodious +unmemorable +unmemorialized/7 +unmentionable/9 +unmerciful +unmeritorious +unmethodical +unmineralized/7 +unmissable +unmistakably +unmitigated/28 +unmnemonic +unmobilized/7 +unmoral +unmount/277 +unmovable +unmoving +unnaturalness/6 +unnavigable +unnerving/19 +unobliging +unoffensive +unofficial +unorganized/28 +unorthodox +unpack/224 +unpaintable +unpalatability +unpalatable +unpartizan +unpatronizing +unpeople +unperceptive +unperson +unperturbed/19 +unphysical +unpick/224 +unpicturesque +unpinning +unpleasing +unploughed +unpolarized/7 +unpopular +unpractical +unprecedented/19 +unpredictable/9 +unpreemphasized +unpremeditated +unpretentiousness/6 +unprincipled/42 +unproblematic +unproductive +unpropitious +unprovable +unproven +unprovocative +unpunctual +unquestionable +unraisable +unravellings +unreadability +unread/277 +unreal +unrealizable +unreasoning/19 +unreceptive +unrecordable +unreflective +unrelenting/19 +unremitting/19 +unrepeatability +unrepeated +unrepentant +unreported +unrepresentative +unreproducible +unrest/224 +unrestrained/42 +unrewarding +unriddle +unripe/42 +unromantic +unruliness/7 +unruly/98 +unsaleable +unsanitary +unsavored/28 +unsavoriness/6 +unseal/625 +unsearchable +unseasonal +unseeing/19 +unseen/9 +unselfconsciousness/6 +unselfconscious/42 +unselfishness/6 +unsellable +unsentimental +unset +unsettledness/6 +unsettled/42 +unsettling/19 +unshapely +unshaven +unshorn +unsighted +unsightliness/9 +unskilful +unsociability +unsociable/42 +unsocial +unsound/567 +unspeakably +unspecific +unspectacular +unspoilt +unspoke +unsporting +unstable/42 +unstigmatized/7 +unstilted +unstinting/19 +unstopping +unstrapping +unstudied +unstuffy +unsubdued +unsubstantial +unsubtle +unsubscribe/81 +unsuitable +unsuspecting/19 +unswerving/19 +unsymmetrical +unsympathetic +unsystematic +unsystematized/19 +untactful +untalented +untaxing +unteach/277 +untellable +untenable +unthinking +until/224 +untiring/19 +unto +untouchable/7 +untowardness/6 +untoward/42 +untraceable +untrue +untruthfulness/6 +untwist/224 +Unukalhai/6 +unusualness/6 +unutterable +unutterably +unvocalized/7 +unvulcanized/7 +unwaivering +unwarrantable +unwarrantably +unwashed/144 +unwearable +unwearied/19 +unwed +unwedge +unwelcome +unwell/6 +unwieldiness/7 +unwieldy/98 +unwind/277 +unwomanly +unworkable/9 +unworried +unwrap +unwrapping +unyielding/19 +unyoke +unzip +up +Upanishads +uparrow +upbeat/7 +upbraid/31 +upbringing/6 +upbring/301 +UPC +upchuck/17 +upcome/224 +upcountry/9 +updatability +updater/6 +update/31 +Updike/6 +updraft/7 +upend/17 +upfield +upfront +upgradeable +upgrade/71 +upheaval/7 +upheld +uphill/9 +upholder/6 +uphold/227 +upholster/36 +upholsterer/7 +upholstery/7 +UPI +upkeep/7 +uplander/6 +upland/175 +uplifter/6 +uplift/187 +upload/17 +upmarket +upon +upped +uppercase/17 +upperclassman/6 +upperclassmen +uppercut/9 +uppercutting +uppermost +upper/9 +upping +uppish +uppity +upraise/17 +uprated +uprating +uprear/17 +upright/22 +uprightness/9 +uprise/815 +uprising/6 +upriver/9 +uproariousness/6 +uproarious/28 +uproar/7 +uproot/31 +uprooter/6 +ups +UPS +upscale/17 +upset/9 +upsetting/7 +upshot/7 +upside/7 +upsilon/7 +upslope +upstage/31 +upstairs +upstandingness/6 +upstanding/42 +upstart/26 +upstate/208 +upstream/17 +upstroke/7 +upsurge/17 +upswing/131 +upswung +uptake/7 +upthrust/131 +uptight +uptime +Upton/6 +uptown/208 +uptrend/6 +upturn/17 +upwardness/6 +upward/46 +upwelling +upwind/9 +uracil/7 +Ural/7 +Urania/6 +uranium/7 +Uranus/6 +uranyl/6 +Urbain/6 +Urbana/6 +urbane/19 +urbanism/6 +urbanite/7 +urbanity/7 +urbanization/7 +urbanize/17 +Urban/6 +urbanologist/9 +urbanology/9 +Urbano/6 +urban/54 +Urbanus/6 +urchin/7 +Urdu/6 +urea/7 +uremia/7 +uremic +ureter/7 +urethane/7 +urethrae +urethral +urethra/6 +urethritis/6 +Urey/6 +urge/187 +urgency/7 +urgent/19 +urger/6 +Uriah/6 +uric +Uriel/6 +urinal/7 +urinalyses +urinalysis/6 +urinary/7 +urinate/15 +urination/6 +urine/7 +Uri/7 +URL +Ur/6 +urning/6 +urn/26 +urogenital +urological +urologist/9 +urology/7 +Urquhart/6 +Ursala/6 +Ursa/6 +ursine +Ursola/6 +Urson/6 +Ursula/6 +Ursulina/6 +Ursuline/6 +urticaria/7 +Uruguayan/9 +Uruguay/6 +Urumqi +US +USA +usability/9 +usable/12 +usably/12 +USAF +usage/7 +USART +USCG +USC/6 +USDA +us/67 +used/12 +use/127 +usefulness/7 +useful/28 +uselessness/7 +useless/28 +Usenet/6 +Usenix/6 +user/6 +USG/6 +usherette/7 +usher/26 +USIA +USMC +USN +USO +USP +USPS +USS +USSR +Ustinov/6 +usu +usuals +usual/161 +usurer/7 +usuriousness/6 +usurious/28 +usurpation/7 +usurper/6 +usurp/23 +usury/7 +UT +Utahan/7 +Utah/6 +Uta/6 +Ute/6 +utensil/7 +uteri +uterine +uterus/6 +Utica/6 +utile/45 +utilitarianism/7 +utilitarian/9 +utility/7 +utilization/7 +utilization's/14 +utilize/23 +utilizer/6 +utilizes/14 +utmost/9 +Utopia/7 +utopianism/6 +utopian's +Utopian/9 +utopia/9 +Utrecht/6 +Utrillo/6 +utterance/7 +uttered/12 +utterer/6 +uttermost/9 +utter/816 +uucp/6 +UV +uvula/7 +uvular/9 +uxorious +Uzbekistan +Uzbek/6 +Uzi/6 +V +VA +vacancy/7 +vacantness/6 +vacant/28 +vacate/15 +vacationist/7 +vacationland +vacation/259 +vaccinate/15 +vaccination/6 +vaccine/7 +vaccinial +vaccinia/6 +Vachel/6 +vacillate/15 +vacillating/19 +vacillation/6 +vacillator/7 +Vaclav/6 +vacua's +vacuity/7 +vacuo +vacuolated/12 +vacuolate/55 +vacuole/7 +vacuolization/7 +vacuousness/7 +vacuous/28 +vacuum/26 +Vader/6 +Vaduz/6 +vagabondage/7 +vagabond/26 +vagarious +vagary/7 +vaginae +vaginal/19 +vagina/6 +vagrancy/7 +vagrant/65 +vagueing +vagueness/7 +vague/472 +Vail/6 +vaingloriousness/6 +vainglorious/28 +vainglory/7 +vain/33 +val +valance/26 +Valaree/6 +Valaria/6 +Valarie/6 +Valdemar/6 +Valdez/6 +Valeda/6 +valediction/7 +valedictorian/7 +valedictory/7 +Vale/6 +valence/7 +Valencia/7 +valency/7 +Valene/6 +Valenka/6 +Valentia/6 +Valentijn/6 +Valentina/6 +Valentine/6 +valentine/7 +Valentin/6 +Valentino/6 +Valenzuela/6 +Valera/6 +Valeria/6 +Valerian/6 +Valerie/6 +Valerye/6 +Valéry/6 +vale/7 +valet/26 +valetudinarianism/7 +valetudinarian/7 +Valhalla/6 +valiance/9 +valiantness/6 +valiant/46 +Valida/6 +validated/13 +validate/817 +validates/14 +validation/309 +validity/43 +validnesses +validness/123 +valid/68 +Valina/6 +valise/7 +Valium/9 +Valkyrie/7 +Vallejo +Valle/6 +Valletta/6 +valley/7 +Vallie/6 +Valli/6 +Vally/6 +Valma/6 +Val/86 +Valois/6 +valor/7 +valorous/19 +Valparaiso/6 +Valry/6 +valuable/261 +valuableness/123 +valuables +valuably/45 +valuate/15 +valuation/279 +valuator/7 +value/311 +valued/12 +valuelessness/6 +valueless/42 +valuer/7 +value's +values/25 +valve/26 +valveless +valvular +Va/6 +vamoose/17 +vamp/36 +vamper +vampire/26 +vamp's +vanadium/7 +Vance/6 +Vancouver/6 +vandalism/7 +vandalize/17 +vandal/7 +Vandal/7 +Vanda/6 +Vandenberg/6 +Vanderbilt/6 +Vanderburgh/6 +Vanderpoel/6 +Vandyke/7 +vane/7 +Vanessa/6 +Vang/6 +vanguard/7 +Vania/6 +vanilla/7 +vanisher/6 +vanish/187 +vanishing/19 +vanity/7 +Van/6 +Vanna/6 +vanned +Vannie/6 +Vanni/6 +vanning +Vanny/6 +vanquisher/6 +vanquish/23 +van/56 +vantage/7 +Vanuatu +Vanya/6 +Vanzetti/6 +vapidity/7 +vapidness/7 +vapid/28 +vaporer/6 +vaporing/86 +vaporisation +vaporise/17 +vaporization/48 +vaporize/23 +vaporizer/6 +vapor/91 +vaporous +vapory +vaquero/7 +VAR +Varanasi/6 +Varese/6 +Vargas/6 +variability/43 +variableness/123 +variable/444 +variables/45 +variably/45 +variance/45 +variances +variance's +Varian/6 +variant/402 +variate/269 +variational +variation/6 +varicolored/7 +varicose/9 +variedly +varied/12 +variegate/15 +variegation/6 +varier/6 +varietal/9 +variety/7 +various/28 +varistor/6 +Varityping/6 +varlet/7 +varmint/7 +varnished/12 +varnisher/6 +varnish/49 +var/9 +varsity/7 +varying/10 +vary/187 +vascular +vasectomy/7 +Vaseline/26 +vase/7 +Vasili/7 +Vasily/6 +vasomotor +Vasquez/6 +vassalage/7 +vassal/26 +Vassar/6 +Vassili/6 +Vassily/6 +vastness/7 +vast/38 +v/510 +VAT +Vatican/6 +vat/7 +vatted +vatting +vaudeville/7 +vaudevillian/7 +Vaudois +Vaughan/6 +Vaughn/6 +vaulter/6 +vaulting/6 +vault/91 +vaunter/6 +vaunt/31 +VAXes +Vax/6 +VAX/6 +Vazquez/6 +vb +VCR +VD +VDT +VDU +vealed/14 +vealer/118 +veal/111 +veals/14 +Veblen/6 +vectorial +vectorization +vectorized +vectorizing +vector's/278 +vector/26 +Veda/7 +Vedanta/6 +veejay/9 +veep/9 +veer/17 +veering/19 +vegan/7 +Vega/7 +Vegemite/6 +veges +vegetable/7 +vegetarianism/7 +vegetarian/7 +vegetate/24 +vegetation/6 +vegetative/28 +vegged +veggie/9 +vegging +veg/6 +vehemence/7 +vehemency/9 +vehement/19 +vehicle/7 +vehicular +veiling/135 +veil's +veil/180 +vein/111 +veining/6 +vela/6 +Vela/6 +velarize/17 +velar/9 +Velásquez/6 +Velázquez +Velcro/7 +veld/7 +veldt's +Velez/6 +Vella/6 +vellum/7 +Velma/6 +velocipede/7 +velocity/7 +velor/9 +velour's +velum/6 +Velveeta/6 +velveteen/7 +velvet/26 +Velvet/6 +velvety/54 +venality/7 +venal/19 +venation/7 +vend/17 +vender's/370 +vendetta/7 +vendible/9 +vendor/7 +veneerer/6 +veneer/111 +veneering/6 +venerability/9 +venerable/42 +venerate/15 +veneration/6 +venereal +venetian +Venetian/7 +Venezuela/6 +Venezuelan/9 +vengeance/7 +vengeful/61 +vengefulness/118 +venialness/6 +venial/28 +Venice/6 +venireman/6 +veniremen +venison/7 +Venita/6 +Venn/6 +venomousness/6 +venomous/28 +venom/26 +venous/19 +venter/6 +ventilated/12 +ventilate/24 +ventilation/6 +ventilator/7 +vent/498 +ventral/16 +ventricle/7 +ventricular +ventriloquies +ventriloquism/7 +ventriloquist/7 +ventriloquy +vent's/278 +Ventura/6 +venture/179 +venturesomeness/7 +venturesome/28 +venturi/9 +venturousness/7 +venturous/28 +venue/48 +Venusian/9 +Venus/9 +veraciousness/6 +veracious/28 +veracities +veracity/123 +Veracruz/6 +Veradis +Vera/6 +verandahed +veranda/56 +verbalization/7 +verbalized/12 +verbalizer/6 +verbalize/23 +verballed +verballing +verbal/16 +verbatim +verbena/7 +verbiage/7 +verb/341 +verbose/28 +verbosity/7 +verboten +verdant/19 +Verde/6 +Verderer/6 +verdict/7 +verdigris/26 +Verdi/6 +verdure/56 +Vere/6 +Verena/6 +Verene/6 +verge/818 +Verge/6 +verger/7 +verge's +Vergil's +veridical/19 +Veriee/6 +verifiability/6 +verifiableness/6 +verifiable/12 +verification/9 +verified/12 +verifier/7 +verify/36 +Verile/6 +verily +Verina/6 +Verine/6 +verisimilitude/7 +veritableness/6 +veritable/42 +veritably +verity/7 +Verlag/6 +Verlaine/6 +Verla/6 +Vermeer/6 +vermicelli/7 +vermiculite/7 +vermiform +vermilion/7 +vermin/6 +verminous +Vermonter/6 +Vermont/231 +vermouth/6 +vermouths +vernacular/16 +vernal/19 +Verna/6 +Verne/6 +Vernen/6 +Verney/6 +Vernice/6 +vernier/7 +Vern/72 +Vernon/6 +Vernor/6 +Verona/6 +Veronese/6 +Veronica/6 +veronica/7 +Veronika/6 +Veronike/6 +Veronique/6 +verrucae +verruca/7 +versa +Versailles/6 +Versatec/6 +versatileness/6 +versatile/28 +versatility/7 +versed/44 +verse's +verses/45 +verse/819 +versicle/6 +versification/6 +versifier/6 +versify/115 +versing/45 +version/820 +verso/7 +versus +vertebrae +vertebral/19 +vertebra/6 +vertebrate/43 +vertebration/6 +vertex/7 +vertical/46 +vertices's +vertiginous +vertigoes +vertigo/6 +verve/7 +very/54 +Vesalius/6 +vesicle/7 +vesicular/19 +vesiculate/17 +Vespasian/6 +vesper/7 +Vespucci/6 +vessel/7 +vestal/16 +Vesta/6 +vest/821 +vestibular +vestibule/56 +vestige/7 +vestigial/19 +vesting/7 +vestment/43 +vestryman/6 +vestrymen +vestry/7 +vest's +vesture/26 +Vesuvius/6 +vetch/7 +veteran/7 +veterinarian/7 +veterinary/9 +veter/6 +veto/165 +vetoes +vet/175 +vetted +vetting/14 +Vevay/6 +vexation/7 +vexatiousness/6 +vexatious/28 +vexed/19 +vex/818 +VF +VFW +VG +VGA +vhf +VHF +VHS +VI +via +viability/7 +viable/45 +viably +viaduct/7 +Viagra/6 +vial/26 +viand/7 +vibe/9 +vibraharp/7 +vibrancy/7 +vibrant/16 +vibraphone/7 +vibraphonist/7 +vibrate/15 +vibrational/19 +vibration/6 +vibrato/7 +vibrator/7 +vibratory +vibrio/6 +vibrionic +viburnum/7 +vicarage/7 +vicariousness/7 +vicarious/28 +vicar/7 +vice/186 +viced +vicegerent/7 +vicennial +Vicente/6 +viceregal +viceroy/7 +Vichy/6 +vichyssoise/7 +vicing +vicinity/7 +viciousness/9 +vicious/28 +vicissitude/7 +Vickers/6 +Vickie/6 +Vicki/6 +Vicksburg/6 +Vicky/6 +Vick/680 +Vic/6 +victimization/7 +victimized/12 +victimizer/6 +victimize/23 +victim/7 +Victoir/6 +Victoria/6 +Victorianism/9 +Victorian/9 +victoriousness/6 +victorious/28 +Victor/6 +victor/7 +victory/7 +Victrola/7 +victualer/6 +victual/23 +vicuńa/9 +Vidal/6 +Vida/6 +videlicet +videocassette/9 +videoconferencing +videodisc/9 +videodisk/7 +video/26 +videophone/7 +videotape/26 +Vidovic/6 +Vidovik/6 +Vienna/6 +Viennese/6 +Vientiane/6 +vier/6 +vie/9 +Vietcong/6 +Viet/6 +Vietminh/6 +Vietnamese/6 +Vietnam/6 +viewed/14 +viewer/63 +viewer's +viewfinder/7 +viewgraph/7 +viewing/6 +viewless/19 +view/182 +viewpoint/7 +views/14 +vigesimal +vigilance/7 +vigilante/7 +vigilantism/7 +vigilantist +vigilant/19 +vigil/7 +vignette/111 +vignetter/6 +vignetting/6 +vignettist/7 +vigor/7 +vigorousness/6 +vigorous/28 +vii +viii +Vijayawada/6 +Viki/6 +Viking/7 +viking/9 +Vikki/6 +Vikky/6 +Vikram/6 +Vila +vile/822 +vilely +vileness/7 +vilest +Vilhelmina/6 +vilification/6 +vilifier/6 +vilify/294 +villager/6 +village/96 +villainousness/6 +villainous/28 +villain/7 +villainy/7 +Villa/6 +villa/7 +Villarreal/6 +ville +villeinage/7 +villein/7 +villi +Villon/6 +villus/6 +Vilma/6 +Vilnius/6 +Vilyui/6 +Vi/6 +vi/823 +vim/7 +vinaigrette/7 +Vina/6 +Vince/6 +Vincent/7 +Vincenty/6 +Vincenz/6 +vincible/45 +Vinci/6 +Vindemiatrix/6 +vindicate/24 +vindication/6 +vindicator/7 +vindictiveness/7 +vindictive/28 +vinegar/26 +vinegary +vine/26 +vineyard/7 +Vinita/6 +Vin/6 +Vinnie/6 +Vinni/6 +Vinny/6 +vino/7 +vinous +Vinson/6 +vintage/111 +vintager/6 +vintner/7 +vinyl/7 +violable/45 +Viola/6 +Violante/6 +viola/7 +violate/24 +violator/7 +Viole/6 +violence/7 +violent/19 +Violet/6 +violet/7 +Violetta/6 +Violette/6 +violinist/7 +violin/7 +violist/7 +viol/465 +violoncellist/9 +violoncello/7 +viper/7 +viperous +VIP/9 +viragoes +virago/6 +viral/19 +vireo/7 +Virge/6 +Virgie/6 +Virgilio/6 +Virgil/6 +virginal/16 +Virgina/6 +Virginia/6 +Virginian/9 +Virginie/6 +virginity/7 +virgin/7 +Virgo/7 +virgule/7 +virile +virility/7 +virologist/9 +virology/7 +virtual/19 +virtue/7 +virtuosity/7 +virtuosoes +virtuoso/7 +virtuousness/7 +virtuous/28 +virulence/7 +virulent/19 +virus/7 +visage/56 +Visakhapatnam's +Visa/6 +visa/26 +Visayans +viscera +visceral/19 +viscid/19 +viscoelastic +viscoelasticity +viscometer/7 +viscose/7 +viscosity/7 +viscountcy/7 +viscountess/7 +viscount/7 +viscousness/6 +viscous/28 +viscus/6 +vise/103 +viselike +vise's +Vishnu/6 +visibility/43 +visible/261 +visibly/45 +Visigoth/6 +Visigoths +visionariness/6 +visionary/144 +vision/594 +vision's/14 +visitable/12 +visitant/7 +visitation/7 +visited/12 +visit/36 +visitor/7 +vis/163 +visor/26 +VISTA +vista/26 +Vistula/6 +visualization/48 +visualized/12 +visualizer/6 +visualizes/14 +visualize/23 +visual/16 +vitae +vitality/7 +vitalization/48 +vitalize/311 +vital/16 +vita/6 +Vita/6 +vitamin/7 +Vite/6 +Vitia/6 +vitiate/15 +vitiation/6 +viticulture/7 +viticulturist/9 +Vitim/6 +Vito/6 +Vitoria/6 +vitreous/46 +vitrifaction/9 +vitrification/6 +vitrify/15 +vitrine/7 +vitriolic +vitriol/26 +vitro +vittles +Vittoria/6 +Vittorio/6 +vituperate/24 +vituperation/6 +vituperative/19 +Vitus/6 +vivace/9 +vivaciousness/7 +vivacious/28 +vivacity/7 +viva/17 +Vivaldi +Viva/6 +vivaria +vivarium/7 +vivaxes +Vivekananda/6 +vive/331 +Vivia/6 +Viviana/6 +Vivian/6 +Vivianna/6 +Vivianne/6 +vividness/7 +vivid/33 +Vivie/6 +Viviene/6 +Vivien/6 +Vivienne/6 +vivifier +vivify/293 +Vivi/72 +viviparous +vivisect/17 +vivisectional +vivisectionist/7 +vivisection/7 +Viviyan/6 +Viv/6 +vivo +Vivyan/6 +Vivyanne/6 +vixenish/19 +vixen/7 +viz +vizier/7 +vizor's +VJ +Vladamir/6 +Vladimir/6 +Vladivostok/6 +Vlad/6 +VLF +VLSI +VMS/6 +VOA +vocable/7 +vocab/9 +vocabularian +vocabularianism +vocabulary/7 +vocalic/9 +vocalise's +vocalism/6 +vocalist/7 +vocalization/7 +vocalized/12 +vocalizer/6 +vocalize/23 +vocal/16 +vocation/824 +vocational/19 +vocative/825 +vociferate/15 +vociferation/6 +vociferousness/7 +vociferous/28 +vocoded +vocoder +vodka/7 +voe/9 +Vogel/6 +vogue/111 +vogueing +voguish +voiceband +voiced/156 +voice/826 +voicelessness/7 +voiceless/28 +voicer/9 +voices/169 +voicing/169 +voidable +void/169 +voided +voider/6 +voiding +voidness/6 +voids +voilŕ +voile/7 +volar +volatileness/6 +volatile/144 +volatility/7 +volatilization/7 +volatilize/17 +volcanically +volcanic/9 +volcanism/6 +volcanoes +volcano/6 +vole/7 +Volga/6 +Volgograd/6 +vol/17 +volitionality +volitional/19 +volition/7 +Volkswagen/7 +volleyball/7 +volleyer/6 +volley/111 +Vol/6 +Volstead/6 +voltage/7 +voltaic +Voltaire/6 +Volta/6 +volt/48 +Volterra/6 +voltmeter/7 +volubility/9 +voluble/42 +volubly +volume/26 +volumetric +volumetrically +voluminousness/7 +voluminous/28 +voluntarily/45 +voluntariness/123 +voluntarism/7 +voluntary/144 +volunteer/26 +voluptuary/7 +voluptuousness/9 +voluptuous/28 +volute/9 +Volvo/6 +vomit/31 +Vonda/6 +Von/6 +Vonnegut/6 +Vonnie/6 +Vonni/6 +Vonny/6 +voodoo/26 +voodooism/9 +voraciousness/7 +voracious/28 +voracity/7 +Voronezh/6 +Vorster/6 +vortex/7 +vortices's +vorticity/6 +votary/7 +vote/263 +voter/7 +vote's +votive/28 +voucher/165 +vouchsafe/17 +vouch/23 +vowelled +vowelling +vowel/7 +vower/6 +vow/111 +voyage/91 +voyager/6 +voyageur/7 +voyeurism/7 +voyeuristic +voyeur/7 +VP +vs +V's +VT +Vt/6 +VTOL +vulcanization/7 +vulcanized/12 +vulcanize/17 +Vulcan/6 +vulgarian/7 +vulgarism/7 +vulgarity/7 +vulgarization/9 +vulgarize/23 +vulgar/280 +Vulgate/7 +Vulg/6 +vulnerability/230 +vulnerable/261 +vulnerably/45 +vulpine +vulturelike +vulture/7 +vulturous +vulvae +vulva/6 +vying +Vyky/6 +WA +Waals +Wabash/6 +WAC +Wacke/6 +wackes +wackiness/7 +wacko/7 +wacky/98 +Waco/6 +Wac/9 +wadded +wadding/7 +waddle/31 +Wade/6 +wader/6 +wade/9 +wadi/7 +wad/49 +Wadsworth/6 +wafer/26 +waffle/49 +Wafs +wafter/6 +waft/31 +wag/23 +waged/12 +wager/259 +wage/7 +wagged +waggery/7 +wagging +waggishness/7 +waggish/28 +waggle/17 +waggly +Wagnerian +Wagner/6 +wagoner/6 +wagon/49 +wagtail/7 +Wahl/6 +waif/26 +Waikiki/6 +wailer/6 +wail/23 +wain/26 +Wain/6 +wainscot/71 +Wainwright/6 +wainwright/7 +waistband/7 +waistcoat/26 +waister/6 +waist/111 +waistline/7 +Waite/6 +waiter/165 +Waiter/6 +wait/179 +Wait/114 +waitpeople +waitperson/9 +waitress/26 +waiver/424 +waive/23 +Wakefield/6 +wakefulness/7 +wakeful/28 +Wake/6 +wake/211 +waken/111 +waker/6 +wakeup +Waksman/6 +Walbridge/6 +Walcott/6 +Waldemar/6 +Walden/6 +Waldensian +Waldheim/6 +Wald/72 +Waldo/6 +Waldon/6 +Waldorf/6 +wale/111 +Wales +Walesa/6 +Walford/6 +Walgreen/6 +waling/6 +walkabout/6 +walkaway/7 +walker/6 +Walker/6 +walk/234 +walkie +Walkman/9 +walkout/7 +walkover/7 +walkway/7 +wallaby/7 +Wallace/6 +Wallache/6 +wallah/6 +Wallas/6 +wallboard/7 +Wallenstein/6 +Waller/6 +wallet/7 +walleye/56 +wallflower/7 +Wallie/6 +Wallis +Walliw/6 +Walloon/7 +walloper/6 +walloping/6 +wallop/187 +wallower/6 +wallow/31 +wallpaper/26 +wall/111 +Wall/175 +Wally/6 +wally/9 +walnut/7 +Walpole/6 +Walpurgisnacht +walrus/7 +Walsh/6 +Walter/6 +Walther/6 +Walton/6 +waltzer/6 +Walt/231 +waltz/49 +Walworth/6 +Waly/6 +wampum/7 +Wanamaker/6 +Wanda/6 +wanderer/6 +wander/245 +wanderlust/7 +Wandie/6 +Wandis/6 +wand/96 +wane/9 +Waneta/6 +wangler/6 +wangle/23 +Wang/6 +Wanids/6 +Wankel/6 +wanna +wannabe/9 +wanned +wanner +wanness/9 +wannest +wanning +wan/22 +Wansee/6 +Wansley/6 +wanted/12 +wanter/6 +want/187 +wantonness/9 +wanton/462 +wapiti/7 +warble/23 +warbler/6 +warbonnet/9 +ward/667 +Warde/6 +warden/26 +Warden/6 +warder/26 +Ward/72 +wardrobe/26 +wardroom/7 +wardship/6 +wards/45 +warehouseman/6 +warehouse/111 +Ware/207 +ware/7 +warfare/7 +Warfield/6 +war/26 +warhead/7 +Warhol/6 +warhorse/7 +warily/12 +warinesses/12 +wariness/7 +Waring/6 +warless +warlike +warlock/7 +warlord/7 +warmblooded +warmed/14 +warmer/6 +warmheartedness/7 +warmhearted/28 +warmish +warmness/7 +warmongering/6 +warmonger/304 +warms/14 +warmth/6 +warmths +warm/827 +warned/12 +warner/6 +Warner/6 +warn/187 +warning/86 +Warnock/6 +warpaint +warpath/6 +warpaths +warper/6 +warplane/7 +warp/111 +warranted/12 +warranter/6 +warrant/111 +warranty/26 +warred/6 +warrener/6 +Warren/6 +warren/96 +warring/6 +warrior/7 +Warsaw/6 +wars/169 +warship/7 +warthog/9 +wartime/7 +wart/56 +warty/54 +Warwick/6 +wary/264 +Wasatch/6 +washable/9 +wash/36 +washbasin/7 +washboard/7 +washbowl/7 +Washburn/6 +washcloth/6 +washcloths +washday/6 +washed/12 +washer/26 +washerwoman/6 +washerwomen +washing/7 +Washingtonian/9 +Washington/6 +Wash/6 +Washoe/6 +washout/7 +washrag/7 +washroom/7 +washstand/7 +washtub/7 +washy/54 +wasn't +WASP +waspishness/7 +waspish/28 +Wasp's +wasp/7 +was/9 +wassail/26 +Wasserman/6 +Wassermann/6 +wastage/7 +wastebasket/7 +wastefulness/9 +wasteful/28 +wasteland/7 +wastepaper/7 +waster/47 +waste/9 +wastewater +wast/23 +wasting/19 +wastrel/7 +Watanabe/6 +watchable/12 +watchband/7 +watchdogged +watchdogging +watchdog/7 +watched/12 +watcher/6 +watchfulness/7 +watchful/28 +watch/234 +watchmake/173 +watchmaker/6 +watchman/6 +watchmen +watchpoints +watchtower/7 +watchword/7 +waterbird/9 +waterborne +Waterbury/6 +watercolor/26 +watercolorist/7 +watercourse/7 +watercraft/6 +watercress/7 +waterer/6 +waterfall/7 +waterfowl/6 +waterfront/7 +Watergate/6 +waterhole/9 +Waterhouse/6 +wateriness/7 +watering/6 +water/211 +waterless +waterlily/9 +waterline/9 +waterlogged +waterloo +Waterloo/7 +waterman/6 +watermark/26 +watermelon/7 +watermill/9 +waterproof/828 +watershed/7 +waterside/175 +watersider/6 +Waters/6 +waterspout/7 +watertightness/6 +watertight/42 +Watertown/6 +waterway/7 +waterwheel/9 +waterworks/6 +watery/98 +Watkins +WATS +Watson/6 +wattage/7 +Watteau/6 +Wattenberg/6 +Watterson/6 +wattle/26 +Watt/7 +watt/80 +Watusi/6 +Wat/680 +Waugh/6 +Waukesha/6 +Waunona/6 +Waupaca/6 +Waupun/6 +Wausau/6 +Wauwatosa/6 +waveband/7 +waveform/7 +wavefront/7 +waveguide/7 +Waveland/6 +wavelength/6 +wavelengths +wavelet/7 +wavelike +wavenumber +waver/242 +wavering/10 +Waverley/6 +Waverly/6 +Wave/9 +wave/23 +wavily +waviness/7 +wavy/177 +waxer/6 +waxiness/7 +wax/445 +waxwing/7 +waxwork/7 +waxy/98 +wayfarer/7 +wayfaring/9 +waylaid +Wayland/6 +Waylan/6 +waylayer/6 +waylay/227 +wayleave/7 +Waylen/6 +Waylin/6 +Waylon/6 +Way/6 +waymarked +way/7 +Wayne/6 +Waynesboro/6 +wayside/7 +waywardness/9 +wayward/28 +WC +we +weakener/6 +weaken/242 +weakfish/7 +weakish +weakliness/6 +weakling/7 +weakly/98 +weakness/7 +weak/324 +weal/216 +wealthiness/7 +wealth/6 +wealths +wealthy/98 +weaner/6 +weanling/6 +wean/31 +weapon/26 +weaponless +weaponry/7 +wearable/9 +wearer/6 +wearied/12 +wearily +weariness/7 +wearing/19 +wearisomeness/6 +wearisome/28 +wear/193 +wearying/19 +weary/226 +weasel/116 +weatherbeaten +weathercock/26 +weatherer/6 +Weatherford/6 +weathering/6 +weatherize/17 +weatherman/6 +weather/504 +weathermen +weatherperson/9 +weatherproof/473 +weatherstripped +weatherstripping/9 +weatherstrip/9 +weaver/6 +Weaver/6 +weaves/14 +weave/23 +weaving/14 +webbed +Webber/6 +webbing/7 +Webb/114 +weber/6 +Weber/6 +Webern/6 +webfeet +webfoot/6 +Web/114 +webmaster/7 +webmistress/7 +website/9 +web/175 +Webster/7 +Websterville/6 +we'd +wedded/14 +Weddell/6 +wedder +wedding/7 +wedge/26 +wedgie/228 +Wedgwood/6 +wedlock/7 +Wed/6 +Wednesday/7 +wed/63 +weeder/6 +weediness/6 +weedkiller/6 +weedless +wee/596 +weed/49 +weedy/98 +weeing +weekday/7 +weekender/6 +weekend/111 +weekly/9 +weeknight/7 +Weeks/6 +week/65 +weenie/6 +ween/17 +weeny/80 +weeper/6 +weep/179 +weepy/228 +weevil/7 +weft/26 +Wehr/6 +Weibull/6 +Weidar/6 +Weider/6 +Weidman/6 +Weierstrass/6 +weighed/13 +weigher/6 +weigh/541 +weighs/14 +weighted/12 +weighter/6 +weightily +weightiness/7 +weighting/6 +weight/211 +weightlessness/7 +weightless/28 +weightlifter/9 +weightlifting/7 +weighty/98 +Weill/6 +Wei/6 +Weinberg/6 +Weiner/6 +Weinstein/6 +weirdie/7 +weirdness/7 +weirdo/7 +weird/77 +weir/26 +Weisenheimer/6 +Weiss/6 +Weissman/6 +Weissmuller/6 +Weizmann/6 +Welbie/6 +Welby/6 +Welcher/6 +Welches +welcomeness/6 +welcome/462 +welcoming/12 +welder/6 +Weldon/6 +weld/234 +Weldwood/6 +welfare/7 +welkin/7 +we'll +Welland/6 +wellbeing/6 +Weller/6 +Wellesley/6 +Welles/6 +wellhead/7 +Wellington/7 +wellington/9 +Wellman/6 +wellness/7 +well/473 +Wells/6 +wellspring/7 +Wellsville/6 +Welmers/6 +Welsh +welsher/6 +Welshman/6 +Welshmen +welsh/23 +Welshwoman/6 +Welshwomen +welter/47 +welterweight/7 +welt/49 +wencher/6 +wench/111 +Wendall/6 +Wenda/6 +wend/17 +Wendeline/6 +Wendell/6 +Wendel/6 +Wendie/6 +Wendi/6 +Wendye/6 +Wendy/6 +wen/6 +Wenonah/6 +Wenona/6 +went +Wentworth/6 +wept/12 +were +we're +weren't +werewolf/6 +werewolves +Werner/6 +Wernher/6 +Werther/6 +werwolf's +Wes +Wesleyan +Wesley/6 +Wessex/6 +Wesson/6 +westbound +Westbrooke/6 +Westbrook/6 +Westchester/6 +wester/663 +westerly/9 +westerner/6 +westernization/7 +westernize/17 +westernmost +Western/110 +western/110 +Westfield/6 +Westhampton/6 +Westinghouse/6 +westing/6 +Westleigh/6 +Westley/6 +Westminster/6 +Westmore/6 +West/7 +Weston/6 +Westphalia/6 +Westport/6 +west/111 +westward/9 +Westwood/6 +wetback/7 +wetland/9 +wetness/7 +wet/46 +wettable +wetter/9 +wettest +wetting +we've +Weyden/6 +Weyerhauser/6 +Weylin/6 +Wezen/6 +WFF +whacker/6 +whack/23 +whaleboat/7 +whalebone/7 +whale/49 +Whalen/6 +whaler/6 +whaling/6 +whammed +whamming/6 +wham/7 +whammy/9 +wharf/26 +Wharton/6 +wharves +whatchamacallit/7 +what'd +whatever +what/7 +whatnot/7 +what're +whatsoever +wheal/7 +wheatgerm +Wheaties/6 +Wheatland/6 +wheat/99 +Wheaton/6 +Wheatstone/6 +wheedle/23 +wheelbarrow/26 +wheelbase/7 +wheelchair/7 +wheeler/6 +Wheeler/6 +wheelhouse/7 +wheelie/7 +wheeling/6 +Wheeling/6 +Wheelock/6 +wheel/91 +wheelwright/7 +whee/9 +wheeze/17 +wheezily +wheeziness/7 +wheezy/98 +Whelan/6 +whelk/56 +Wheller/6 +whelm/17 +whelp/26 +whence/9 +whenever +when/9 +whensoever +whereabout/9 +whereas/9 +whereat +whereby +where'd +wherefore/7 +wherein +where/7 +whereof +whereon +where're +wheresoever +whereto +whereupon +wherever +wherewith +wherewithal/7 +wherry/26 +whether +whet/9 +whetstone/7 +whetted +whetting +whew/17 +whey/7 +which +whichever +whiff/26 +whiffle/31 +whiffler/6 +whiffletree/7 +whig/9 +Whig/7 +while/17 +whilom +whilst +whimmed +whimming +whimper/17 +whimsey's +whimsicality/7 +whimsical/28 +whim/7 +whimsy/829 +whine/49 +whining/19 +whinny/181 +whiny/54 +whipcord/7 +whiplash/26 +Whippany/6 +whipped +whipper/7 +whippersnapper/7 +whippet/7 +whipping/7 +Whipple/6 +whippletree/7 +whippoorwill/7 +whipsaw/26 +whips/6 +whip/7 +whirligig/7 +whirlpool/7 +whirl/31 +whirlwind/7 +whirlybird/7 +whirly/7 +whirred +whirring +whir/16 +whisker/170 +whiskery +whiskey/7 +whisk/23 +whisperer/6 +whisper/179 +whispering/86 +whist/26 +whistleable +whistle/23 +whistler/6 +Whistler/6 +whistling/6 +Whitaker/6 +Whitby/6 +Whitcomb/6 +whitebait/6 +whitecap/7 +whiteface/6 +Whitefield/6 +whitefish/7 +Whitehall/6 +Whitehead/6 +whitehead/9 +Whitehorse/6 +Whiteleaf/6 +Whiteley/6 +White/7 +whitener/6 +whiteness/7 +whitening/6 +whiten/245 +whiteout/9 +white/46 +whitespace +whitetail/9 +whitewall/7 +whitewash/111 +whitewater +Whitewater/6 +whitey/7 +Whitfield/6 +whither/17 +whitier +whitiest +whiting/6 +whitish +Whitley/6 +Whitlock/6 +Whit/6 +Whitman/6 +Whitney/6 +whit/830 +Whitsunday/7 +Whittaker/6 +whitter +Whittier +whittle/179 +whittler/6 +whiz +whizkid +whizzbang/9 +whizzed +whizzes +whizzing +WHO +whoa/9 +who'd +whodunit/7 +whoever +wholegrain +wholeheartedness/7 +wholehearted/28 +wholemeal +wholeness/9 +wholesale/49 +wholesaler/6 +wholesomeness/41 +wholesome/161 +whole/144 +wholewheat +who'll +wholly +whom +who/6 +whomever +whomsoever +whoopee/9 +whooper/6 +whoop/23 +whoosh/26 +whop +whopper/7 +whopping/9 +who're +whorehouse/7 +whoreish +whore/26 +whorish +whorl/56 +whose +whoso +whosoever +who've +why +whys +WI +Wiatt/6 +Wichita/6 +wickedness/7 +wicked/33 +wicker/6 +wickerwork/7 +wicketkeeper/7 +wicket/7 +wick/49 +wicking/6 +widemouthed +widener/6 +wideness/9 +widen/23 +wide/38 +widespread +widgeon's +widget/7 +widower/6 +widowhood/9 +widow/49 +width/6 +widths +widthwise +Wieland/6 +wielder/6 +wield/23 +Wiemar/6 +wiener/7 +wienie/7 +Wier/6 +Wiesel/6 +wife/116 +wifeless +wifely/98 +wigeon/7 +wigged +wigging/6 +Wiggins +wiggler/6 +wiggle/23 +wiggly/54 +wight/26 +wiglet/9 +wigmaker +wig/7 +Wigner/6 +wigwagged +wigwagging +wigwag/9 +wigwam/7 +Wilberforce/6 +Wilbert/6 +Wilbur/6 +Wilburn/6 +Wilburt/6 +Wilcox/6 +Wilda/6 +wildcat/7 +wildcatted +wildcatter/7 +wildcatting +wildebeest/7 +Wilde/114 +Wilden/6 +Wilder/6 +wilderness/7 +wilder/42 +wildfire/7 +wildflower/9 +wildfowl/6 +wilding/6 +wildlife/6 +wildness/7 +Wildon/6 +wild/77 +wile/26 +Wileen/6 +Wilek/6 +Wiley/6 +Wilford/6 +Wilfred/6 +Wilfredo/6 +Wilfrid/6 +wilfulness's +Wilhelmina/6 +Wilhelmine/6 +Wilhelm/6 +Wilie/6 +wilily +wiliness/7 +Wilkerson/6 +Wilkes/6 +Wilkins/6 +Wilkinson/6 +Willabella/6 +Willa/6 +Willamette/6 +Willamina/6 +Willard/6 +Willcox/6 +Willdon/6 +willed/12 +Willem/6 +Willemstad/6 +willer/6 +Willetta/6 +Willette/6 +Willey/6 +willfulness/9 +willful/28 +Williamsburg/6 +William/7 +Williamson/6 +Willied/6 +Willie/6 +willies +Willi/7 +willinger +willingest +willingness's +willingness/302 +willing/161 +Willisson/6 +williwaw/7 +Will/6 +Willoughby/6 +willower/6 +Willow/6 +willow/111 +willowy/54 +willpower/7 +will/187 +Willy/56 +Willyt/6 +Wilma/6 +Wilmar/6 +Wilmer/6 +Wilmette/6 +Wilmington/6 +Wilona/6 +Wilone/6 +Wilow/6 +Wilshire/6 +Wilsonian +Wilson/6 +wilt/17 +Wilt/6 +Wilton/6 +wily/98 +Wimbledon/6 +wimp/26 +wimpish +wimple/26 +wimpy/54 +wince/17 +Winchell/6 +wincher/6 +winchester/6 +Winchester/7 +winch/111 +windbag/7 +windblown +windbreak/96 +windburn/26 +winded +winder/135 +windfall/7 +windflower/7 +Windham/6 +Windhoek/6 +windily +windiness/7 +winding/7 +windjammer/7 +windlass/26 +windless/28 +windmill/26 +window/26 +windowless +windowpane/7 +Windows +windowsill/7 +windpipe/7 +windproof +windrow/26 +wind's +winds/14 +windscreen/7 +windshield/7 +windsock/7 +Windsor/7 +windstorm/7 +windsurf/179 +windswept +windup/7 +wind/831 +Windward/6 +windward/16 +Windy/6 +windy/98 +wineglass/7 +winegrower/7 +Winehead/6 +winemake +winemaster +wine/7 +winery/7 +Winesap/6 +wineskin/6 +Winfield/6 +Winfred/6 +Winfrey/6 +wingback/6 +wingding/7 +wingeing +winger/6 +wing/259 +wingless +winglike +wingman +wingmen +wingspan/7 +wingspread/7 +wingtip/9 +Winifield/6 +Winifred/6 +Wini/6 +winker/6 +wink/23 +winking/12 +Winkle/6 +winkle/26 +winless +Win/6 +winnable +Winnah/6 +Winna/6 +Winnebago/6 +Winne/6 +winner/7 +Winnetka/6 +Winnie/6 +Winnifred/6 +Winni/6 +winning/16 +Winnipeg/6 +Winn/6 +winnow/23 +Winny/6 +Winograd/6 +wino/7 +Winonah/6 +Winona/6 +Winooski/6 +Winsborough/6 +Winsett/6 +Winslow/6 +winsomeness/7 +winsome/33 +Winston/6 +winterer/6 +wintergreen/7 +winterize/17 +Winters +winter/254 +wintertime/7 +Winthrop/6 +wintriness/6 +wintry/98 +winy/54 +win/23 +wipe/23 +wiper/6 +wirehair/7 +wireless/26 +wireman/6 +wiremen +wirer/6 +wire's +wires/14 +wiretap/7 +wiretapped +wiretapper/7 +wiretapping +wire/767 +wiriness/9 +wiring/7 +wiry/98 +Wisc +Wisconsinite/7 +Wisconsin/6 +wisdoms +wisdom/135 +wiseacre/7 +wisecrack/111 +wised +wisely/54 +Wise/6 +wiseness +wisenheimer/6 +Wisenheimer/6 +wises +wise/832 +wishbone/7 +wishfulness/6 +wishful/28 +wish/23 +wishy +wising +Wis/6 +wisp/26 +wispy/54 +wist/17 +wisteria/7 +wistfulness/7 +wistful/28 +witchcraft/7 +witchdoctor/9 +witchery/7 +witch/26 +withal +withdrawal/7 +withdrawer/6 +withdrawnness/6 +withdrawn/42 +withdraw/255 +withdrew +withe/6 +wither/387 +withering/19 +Witherspoon/6 +with/23 +withheld +withholder/6 +withhold/210 +within/9 +without/9 +withs +withstand/166 +withstood +witlessness/7 +witless/28 +Wit/6 +witness/26 +witnessed/12 +wit/444 +witted +witter/224 +Wittgenstein/6 +witticism/7 +Wittie/6 +wittily +wittiness/7 +wittings +witting/10 +Witt/6 +Witty/6 +witty/98 +Witwatersrand/6 +wive/17 +wives/6 +wizard/65 +wizardry/7 +wizen/81 +wiz's +wk/19 +Wm/6 +WNW +woad/7 +wobble/31 +wobbler/6 +wobbliness/9 +wobbly/177 +Wodehouse/6 +woebegone/42 +woefuller +woefullest +woefulness/7 +woeful/28 +woe/444 +woke +wok/125 +Wolcott/6 +wold/7 +Wolfe/6 +wolfer/6 +Wolff/6 +Wolfgang/6 +wolfhound/7 +Wolfie/6 +wolfishness/6 +wolfish/28 +Wolf/6 +wolfram/7 +wolf/111 +Wolfy/6 +Wollongong/6 +Wollstonecraft/6 +Wolsey/6 +Wolverhampton/6 +wolverine/7 +Wolverton/6 +wolves/6 +woman/116 +womanhood/7 +womanish +womanized/12 +womanizer/6 +womanize/23 +womanizes/12 +womankind/6 +womanlike +womanliness/7 +womanly/98 +wombat/7 +womb/56 +womenfolk/7 +women/7 +wonderer/6 +wonderfulness/7 +wonderful/28 +wonder/450 +wondering/19 +wonderland/7 +wonderment/7 +wondrousness/6 +wondrous/28 +Wong/6 +wonk/9 +wonky/54 +wonned +wonning +won/166 +won't +wontedness/135 +wonted/161 +wont/26 +Woodard/6 +Woodberry/6 +woodbine/7 +woodblock/9 +Woodbury/6 +woodcarver/9 +woodcarving/7 +woodchopper/7 +woodchuck/7 +woodcock/7 +woodcraft/7 +woodcut/7 +woodcutter/7 +woodcutting/7 +woodenness/7 +wooden/33 +woodgrain/224 +woodhen +Woodhull/6 +Woodie/6 +woodiness/7 +woodland/175 +Woodlawn/6 +woodlice +woodlot/9 +woodlouse/6 +woodman/6 +Woodman/6 +woodmen +woodpecker/7 +woodpile/7 +Woodrow/6 +woodruff/6 +woo/23 +woodshedded +woodshedding +woodshed/7 +woodside +Wood/7 +woodsman/6 +woodsmen +wood/291 +woodsmoke +woods/164 +Woodstock/6 +woodsy/98 +Woodward/7 +woodwind/9 +woodworker/6 +woodworking/6 +woodwork/198 +woodworm/6 +woodyard +Woody/6 +woody/177 +woofer/6 +woof/49 +Woolf/6 +woolgatherer/6 +woolgathering/6 +woolgather/815 +woolliness/7 +woolly/177 +Woolongong/6 +wool/833 +Woolworth/6 +Woonsocket/6 +Wooster/6 +Wooten/6 +woozily +wooziness/7 +woozy/98 +wop/30 +Worcestershire/6 +Worcester/7 +wordage/7 +word/327 +wordbook/7 +Worden/6 +wordily +wordiness/7 +wording/118 +wordless/19 +wordplay/7 +word's +Wordsworth/6 +wordy/98 +wore +workability's +workability/12 +workableness/6 +workable/12 +workably +workaday +workaholic/9 +workaround/7 +workbench/7 +workbook/7 +workday/7 +worked/14 +worker/6 +workfare/9 +workforce/9 +work/182 +workhorse/7 +workhouse/7 +working/6 +workingman/6 +workingmen +workingwoman/6 +workingwomen +workload/7 +workmanlike +Workman/6 +workman/86 +workmanship/7 +workmate/9 +workmen/6 +workout/7 +workpiece/7 +workplace/7 +workroom/7 +works/14 +worksheet/9 +workshop/7 +workspace/9 +workstation/7 +worktable/7 +worktop/9 +workup/9 +workweek/7 +worldlier +worldliest +worldliness/41 +worldly/236 +worldwide +world/834 +wormer/6 +wormhole/7 +worm/111 +Worms/6 +wormwood/7 +wormy/54 +worn/12 +worried/19 +worrier/6 +worriment/7 +worrisome/28 +worrying/19 +worrywart/7 +worry/23 +worsen/17 +worse/208 +worshiper/6 +worshipfulness/6 +worshipful/28 +worship/23 +worsted/7 +worst/17 +worth/47 +worthily/12 +worthinesses/12 +worthiness/7 +Worthington/6 +worthlessness/7 +worthless/28 +Worth/6 +worths +worthwhile/42 +Worthy/6 +worthy/835 +wort/7 +wost +wot +Wotan/6 +wouldn't +would/9 +wouldst +would've +wound/13 +wounded/12 +wounder +wounding +wounds +wound's +wove/14 +woven/13 +wovens +wow/17 +Wozniak/6 +WP +wpm +wrack/26 +wraith/6 +wraiths +Wrangell/6 +wrangle/23 +wrangler/6 +wraparound/9 +wrap/7 +wrapped/12 +wrapper/7 +wrapping/7 +wraps/12 +wrasse/7 +wrathful/28 +wrath/165 +wraths +wreak/17 +wreathe +wreath/26 +wreaths +wreckage/7 +wrecker/6 +wreck/23 +wrenching/19 +wrench/26 +wren/7 +Wren/7 +Wrennie/6 +wrester/6 +wrestle/179 +wrestler/6 +wrestling/6 +wrest/31 +wretchedness/7 +wretched/33 +wretch/56 +wriggle/23 +wriggler/6 +wriggly/54 +Wright/6 +wright/7 +Wrigley/6 +wringer/6 +wring/227 +wrinkled/12 +wrinkle/26 +wrinkly/228 +wristband/7 +wrist/7 +wristwatch/7 +writable/12 +write/836 +writer/118 +writeup +writhe/17 +writing/6 +writ/753 +written/13 +Wroclaw +wrongdoer/7 +wrongdoing/7 +wronger/6 +wrongfulness/7 +wrongful/28 +wrongheadedness/7 +wrongheaded/28 +wrongness/7 +wrong/77 +Wronskian/6 +wrote/14 +wroth +wrought/45 +wrung +wry/183 +wryer +wryest +wryness/7 +W's +WSW +wt +W/357 +Wuhan/6 +Wu/6 +Wurlitzer/6 +wurst/7 +wuss/9 +wussy/228 +WV +WW +WWI +WWII +WWW +w/608 +WY +Wyatan/6 +Wyatt/6 +Wycherley/6 +Wycliffe/6 +Wye/140 +Wyeth/6 +Wylie/6 +Wylma/6 +Wyman/6 +Wyndham/6 +Wyn/6 +Wynne/6 +Wynnie/6 +Wynn/6 +Wynny/6 +Wyo/6 +Wyomingite/7 +Wyoming/6 +WYSIWYG +x +X +Xanadu +Xanthippe/6 +Xanthus/6 +Xaviera/6 +Xavier/6 +Xebec/6 +Xe/6 +XEmacs/6 +Xenakis/6 +Xena/6 +Xenia/6 +Xenix/6 +xenon/7 +xenophobe/7 +xenophobia/7 +xenophobic +Xenophon/6 +Xenos +xerographic +xerography/7 +xerox/17 +Xerox/26 +Xerxes/6 +Xever/6 +Xhosa/6 +Xi'an +Xian/9 +Xiaoping/6 +xii +xiii +xi/6 +Ximenes/6 +Ximenez/6 +Ximian/7 +Xingu/6 +xis +xiv +xix +XL +Xmas/7 +XML +Xochipilli/6 +XOR +X's +XS +xterm/6 +Xuzhou/6 +xv +xvi +xvii +xviii +xx +XXL +xylem/7 +xylene/6 +Xylia/6 +Xylina/6 +xylophone/7 +xylophonist/9 +Xymenes/6 +Y +ya +yacc/6 +Yacc/6 +yachting/6 +yachtsman +yachtsmen +yachtswoman/6 +yachtswomen +yacht/677 +yack's +Yagi/6 +yahoo/7 +Yahweh/6 +Yakima/6 +yakked +yakking +yak/7 +Yakut/6 +Yakutsk/6 +Yale/6 +Yalies/6 +y'all +Yalonda/6 +Yalow/6 +Yalta/6 +Yalu/6 +Yamaha/6 +yammer/23 +Yamoussoukro +yam/7 +Yanaton/6 +Yance/6 +Yancey/6 +Yancy/6 +Yang/6 +Yangon +yang/9 +Yangtze/6 +Yankee/7 +yank/17 +Yank/7 +Yaounde/6 +yapped +yapping +yap/9 +Yaqui/6 +yardage/7 +yardarm/7 +Yardley/6 +Yard/6 +yardman/6 +yardmaster/9 +yardmen +yard/26 +yardstick/7 +yarmulke/7 +yarn/26 +Yaroslavl/6 +yarrow/7 +Yasmeen/6 +Yasmin/6 +Yates +yaw/17 +yawl/26 +yawner/6 +yawn/23 +yawning/19 +Yb/6 +yd +Yeager/6 +yeah +yeahs +yearbook/7 +yearling/6 +yearlong +yearly/9 +yearner/6 +yearning/86 +yearn/187 +year/65 +yea/9 +yeastiness/6 +yeast/26 +yeasty/98 +Yeats/6 +yecch +yegg/7 +Yehudi/6 +Yehudit/6 +Yekaterinburg/6 +Yelena/6 +yell/31 +yellowhammers +yellowish +Yellowknife/6 +yellowness/7 +Yellowstone/6 +yellow/446 +yellowy +yelper/6 +yelp/31 +Yeltsin +Yemeni/9 +Yemenite/7 +Yemen/6 +Yenisei/6 +yenned +yenning +yen/7 +Yentl/6 +yeomanry/7 +yeoman/86 +yeomen +yep/9 +Yerevan/6 +Yerkes/6 +Yesenia/6 +yeshiva/7 +yes/9 +yessed +yessing +yesterday/7 +yesteryear/7 +yet +ye/357 +yeti/7 +Yetta/6 +Yettie/6 +Yetty/6 +Yevette/6 +Yevtushenko/6 +yew/7 +y/278 +Yggdrasil/6 +Yiddish/6 +yielded/12 +yielding/12 +yield/187 +yikes +yin/9 +yipe/9 +yipped +yippee/9 +yipping +yip/9 +YMCA +YMHA +Ymir/6 +YMMV +Ynes/6 +Ynez/6 +yo +Yoda/6 +yodeler/6 +yodel/23 +Yoder/6 +yoga/7 +yoghurt's +yogi/7 +yogurt/7 +yoke/26 +yoked/12 +yokel/7 +yokes/12 +yoking/12 +Yoknapatawpha/6 +Yokohama/6 +Yoko/6 +Yolanda/6 +Yolande/6 +Yolane/6 +Yolanthe/6 +yolk/56 +yon +yonder +Yong/6 +Yonkers/6 +yore/7 +Yorgo/7 +Yorick/6 +Yorke/6 +Yorker/6 +yorker/7 +Yorkshire/7 +Yorktown/6 +York/96 +Yoruba/6 +Yosemite/6 +Yoshiko/6 +Yoshi/6 +Yost/6 +you'd +you'll +youngish +Young/6 +youngster/7 +Youngstown/6 +young/33 +you're +your/7 +yourself +yourselves +you/246 +youthfulness/7 +youthful/28 +youths +youth/7 +you've +Yovonnda/6 +yow +yowl/17 +Ypres/6 +Ypsilanti/6 +yr +yrs +Y's +Ysabel/6 +YT +ytterbium/7 +yttrium/7 +yuan/6 +Yuba/6 +Yucatan +yucca/7 +yuck/17 +yucky/54 +Yugo/6 +Yugoslavia/6 +Yugoslavian/9 +Yugoslav/6 +Yuh/6 +Yuki/6 +yukked +yukking +Yukon/6 +yuk/9 +yule/7 +Yule/7 +yuletide/7 +Yuletide/9 +Yul/6 +Yulma/6 +yum +Yuma/6 +yummy/228 +Yunnan/6 +yuppie/7 +yup/9 +Yurik/6 +Yuri/6 +yurt/7 +Yves/6 +Yvette/6 +Yvon/6 +Yvonne/6 +Yvor/6 +YWCA +YWHA +Zabrina/6 +Zaccaria/6 +Zachariah/6 +Zacharia/7 +Zacharie/6 +Zachary/6 +Zacherie/6 +Zachery/6 +Zach/6 +Zackariah/6 +Zack/6 +zagging +Zagreb/6 +zag/9 +Zahara/6 +Zaire/6 +Zairian/9 +Zak/6 +Zambezi/6 +Zambia/6 +Zambian/9 +Zamboni +Zamenhof/6 +Zamora/6 +Zandra/6 +Zane/6 +Zaneta/6 +zaniness/7 +Zan/6 +Zanuck/6 +zany/226 +Zanzibar/6 +Zapata/6 +Zaporozhye/6 +Zappa/6 +zapped +zapper/9 +zapping +zap/9 +Zarah/6 +Zara/6 +Zared/6 +Zaria/6 +Zarla/6 +Zealand/6 +zeal/7 +zealot/7 +zealotry/7 +zealousness/7 +zealous/28 +Zea/6 +Zebadiah/6 +Zebedee/6 +Zeb/6 +zebra/7 +Zebulen/6 +Zebulon/6 +zebu/7 +Zechariah/6 +Zedekiah/6 +Zed/6 +Zedong/6 +zed/7 +Zeffirelli/6 +Zeiss/6 +zeitgeist/9 +Zeke/6 +Zelda/6 +Zelig/6 +Zellerbach/6 +Zelma/6 +Zena/6 +Zenger/6 +Zenia/6 +zenith/6 +zeniths +Zen/6 +Zennist/6 +Zeno/6 +Zephaniah/6 +zephyr/7 +Zephyrus/6 +Zeppelin's +zeppelin/7 +Zerk/6 +zeroed/6 +zeroing/6 +zero/239 +zestfulness/7 +zestful/28 +zest/26 +zesty/54 +zeta/7 +zeugma/6 +Zeus/6 +Zhdanov/6 +Zhengzhou +Zhivago/6 +Zhukov/6 +Zia/6 +Zibo/6 +Ziegfeld/7 +Ziegler/6 +zig +zigged +zigging +Ziggy/6 +zigzagged +zigzagger +zigzagging +zigzag/7 +zilch/9 +zillion/7 +Zilvia/6 +Zimbabwean/9 +Zimbabwe/6 +Zimmerman/6 +zincked +zincking +zinc/7 +zing/259 +zingy/54 +zinnia/7 +Zionism/7 +Zionist/7 +Zion/7 +zip/7 +zipped/12 +zipper/26 +zipping/12 +zippy/54 +zips/12 +zirconium/7 +zircon/7 +Zita/6 +Zitella/6 +zither/7 +zit/9 +zloty/7 +Zn/6 +zodiacal +zodiac/7 +Zoe/6 +Zola/6 +Zollie/6 +Zolly/6 +Zomba/6 +zombie/7 +zombi's +zonal/19 +Zonda/6 +Zondra/6 +zoned/14 +zone/504 +zones/14 +zoning/14 +zonked +Zonnya/6 +zookeepers +zoological/19 +zoologist/7 +zoology/7 +zoom/17 +zoophyte/7 +zoophytic +zoo/7 +Zorah/6 +Zora/6 +Zorana/6 +Zorina/6 +Zorine/6 +Zorn/6 +Zoroaster/6 +Zoroastrianism/7 +Zoroastrian/9 +Zorro/6 +Zosma/6 +zounds/9 +Zr/6 +Zs +Zsazsa/6 +Zsigmondy/6 +z/837 +Zubenelgenubi/6 +Zubeneschamali/6 +zucchini/7 +Zukor/6 +Zulema/6 +Zululand/6 +Zulu/7 +Zuni/9 +Zürich/6 +Zuzana/6 +zwieback/7 +Zwingli/6 +Zworykin/6 +Z/588 +zydeco/9 +zygote/7 +zygotic +zymurgy/9