You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by pa...@apache.org on 2013/11/07 14:53:23 UTC
[08/53] [abbrv] git commit: english analyzer namespace finished
english analyzer namespace finished
Project: http://git-wip-us.apache.org/repos/asf/lucenenet/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucenenet/commit/1102dc59
Tree: http://git-wip-us.apache.org/repos/asf/lucenenet/tree/1102dc59
Diff: http://git-wip-us.apache.org/repos/asf/lucenenet/diff/1102dc59
Branch: refs/heads/branch_4x
Commit: 1102dc596cbf6749968f337791def9253523876c
Parents: 443329f
Author: James Blair <ja...@outlook.com>
Authored: Fri Oct 25 14:55:27 2013 -0400
Committer: James Blair <ja...@outlook.com>
Committed: Fri Oct 25 14:55:27 2013 -0400
----------------------------------------------------------------------
src/contrib/Analyzers/Contrib.Analyzers.csproj | 11 +-
src/contrib/Analyzers/En/EnglishAnalyzer.cs | 71 +-
.../Analyzers/En/EnglishMinimalStemFilter.cs | 51 +-
.../En/EnglishMinimalStemFilterFactory.cs | 36 +-
.../Analyzers/En/EnglishMinimalStemmer.cs | 46 +-
.../Analyzers/En/EnglishPossessiveFilter.cs | 61 +-
.../En/EnglishPossessiveFilterFactory.cs | 37 +-
src/contrib/Analyzers/En/KStemData1.cs | 726 ++++++++-
src/contrib/Analyzers/En/KStemData2.cs | 726 ++++++++-
src/contrib/Analyzers/En/KStemData3.cs | 726 ++++++++-
src/contrib/Analyzers/En/KStemData4.cs | 727 ++++++++-
src/contrib/Analyzers/En/KStemData5.cs | 726 ++++++++-
src/contrib/Analyzers/En/KStemData6.cs | 726 ++++++++-
src/contrib/Analyzers/En/KStemData7.cs | 726 ++++++++-
src/contrib/Analyzers/En/KStemData8.cs | 625 +++++++-
src/contrib/Analyzers/En/KStemFilter.cs | 51 +-
src/contrib/Analyzers/En/KStemFilterFactory.cs | 36 +-
src/contrib/Analyzers/En/KStemmer.cs | 1479 +++++++++++++++++-
src/contrib/Analyzers/En/PorterStemFilter.cs | 73 +-
.../Analyzers/En/PorterStemFilterFactory.cs | 40 +-
src/contrib/Analyzers/En/PorterStemmer.cs | 249 ++-
.../Miscellaneous/KeywordMarkerFilter.cs | 46 +
.../Analyzers/Miscellaneous/PatternAnalyzer.cs | 1 +
.../Miscellaneous/SetKeywordMarkerFilter.cs | 40 +
src/contrib/Analyzers/Support/IAppendable.cs | 13 +
.../Analyzers/Support/StringExtensions.cs | 17 +-
src/contrib/Analyzers/Util/OpenStringBuilder.cs | 198 +++
27 files changed, 8153 insertions(+), 111 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/1102dc59/src/contrib/Analyzers/Contrib.Analyzers.csproj
----------------------------------------------------------------------
diff --git a/src/contrib/Analyzers/Contrib.Analyzers.csproj b/src/contrib/Analyzers/Contrib.Analyzers.csproj
index 7d73875..0ab53e9 100644
--- a/src/contrib/Analyzers/Contrib.Analyzers.csproj
+++ b/src/contrib/Analyzers/Contrib.Analyzers.csproj
@@ -165,6 +165,14 @@
<Compile Include="En\PorterStemFilter.cs" />
<Compile Include="En\PorterStemFilterFactory.cs" />
<Compile Include="En\PorterStemmer.cs" />
+ <Compile Include="Miscellaneous\EmptyTokenStream.cs" />
+ <Compile Include="Miscellaneous\InjectablePrefixAwareTokenFilter.cs" />
+ <Compile Include="Miscellaneous\KeywordMarkerFilter.cs" />
+ <Compile Include="Miscellaneous\PatternAnalyzer.cs" />
+ <Compile Include="Miscellaneous\PrefixAndSuffixAwareTokenFilter.cs" />
+ <Compile Include="Miscellaneous\PrefixAwareTokenStream.cs" />
+ <Compile Include="Miscellaneous\SetKeywordMarkerFilter.cs" />
+ <Compile Include="Miscellaneous\SingleTokenTokenStream.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Standard\ClassicAnalyzer.cs" />
<Compile Include="Standard\ClassicFilter.cs" />
@@ -182,6 +190,7 @@
<Compile Include="Standard\Std31\StandardTokenizerImpl31.cs" />
<Compile Include="Standard\Std34\StandardTokenizerImpl34.cs" />
<Compile Include="Support\AbstractSet.cs" />
+ <Compile Include="Support\IAppendable.cs" />
<Compile Include="Support\StringExtensions.cs" />
<Compile Include="Util\AbstractAnalysisFactory.cs" />
<Compile Include="Util\AnalysisSPILoader.cs" />
@@ -193,6 +202,7 @@
<Compile Include="Util\IMultiTermAwareComponent.cs" />
<Compile Include="Util\IResourceLoader.cs" />
<Compile Include="Util\IResourceLoaderAware.cs" />
+ <Compile Include="Util\OpenStringBuilder.cs" />
<Compile Include="Util\StopwordAnalyzerBase.cs" />
<Compile Include="Util\TokenFilterFactory.cs" />
<Compile Include="Util\TokenizerFactory.cs" />
@@ -221,7 +231,6 @@
<Folder Include="Fa\" />
<Folder Include="Fr\" />
<Folder Include="Hunspell\" />
- <Folder Include="Miscellaneous\" />
<Folder Include="NGram\" />
<Folder Include="Nl\" />
<Folder Include="Payloads\" />
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/1102dc59/src/contrib/Analyzers/En/EnglishAnalyzer.cs
----------------------------------------------------------------------
diff --git a/src/contrib/Analyzers/En/EnglishAnalyzer.cs b/src/contrib/Analyzers/En/EnglishAnalyzer.cs
index da1b4a5..6a9f92d 100644
--- a/src/contrib/Analyzers/En/EnglishAnalyzer.cs
+++ b/src/contrib/Analyzers/En/EnglishAnalyzer.cs
@@ -1,11 +1,74 @@
-using System;
-using System.Collections.Generic;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (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.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System.IO;
using System.Linq;
-using System.Text;
+using Lucene.Net.Analysis.Core;
+using Lucene.Net.Analysis.Miscellaneous;
+using Lucene.Net.Analysis.Standard;
+using Lucene.Net.Analysis.Util;
+using Lucene.Net.Util;
namespace Lucene.Net.Analysis.En
{
- class EnglishAnalyzer
+ /// <summary>
+ /// Analyzer for English
+ /// </summary>
+ public class EnglishAnalyzer : StopwordAnalyzerBase
{
+ private readonly CharArraySet stemExclusionSet;
+
+ public static CharArraySet DefaultStopSet
+ {
+ get { return DefaultSetHolder.DEFAULT_STOP_SET; }
+ }
+
+ private static class DefaultSetHolder
+ {
+ internal static readonly CharArraySet DEFAULT_STOP_SET = StandardAnalyzer.STOP_WORDS_SET;
+ }
+
+ public EnglishAnalyzer(Version matchVersion) : this(matchVersion, DefaultSetHolder.DEFAULT_STOP_SET) { }
+
+ public EnglishAnalyzer(Version matchVersion, CharArraySet stopWords) : this(matchVersion, stopWords, CharArraySet.EMPTY_SET) { }
+
+ public EnglishAnalyzer(Version matchVersion, CharArraySet stopWords, CharArraySet stemExclusionSet)
+ : base(matchVersion, stopWords)
+ {
+ this.stemExclusionSet = CharArraySet.UnmodifiableSet(CharArraySet.Copy(matchVersion, stemExclusionSet));
+ }
+
+ public override TokenStreamComponents CreateComponents(string fieldName, TextReader reader)
+ {
+ var source = new StandardTokenizer(matchVersion, reader);
+ TokenStream result = new StandardFilter(matchVersion, source);
+ // prior to this we get the classic behavior, standardfilter does it for us.
+ if (matchVersion.Value.OnOrAfter(Version.LUCENE_31))
+ {
+ result = new EnglishPossessiveFilter(matchVersion.Value, result);
+ }
+ result = new LowerCaseFilter(matchVersion.Value, result);
+ result = new StopFilter(matchVersion.Value, result, stopwords);
+ if (stemExclusionSet.Any())
+ {
+ result = new SetKeywordMarkerFilter(result, stemExclusionSet);
+ }
+ result = new PorterStemFilter(result);
+ return new TokenStreamComponents(source, result);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/1102dc59/src/contrib/Analyzers/En/EnglishMinimalStemFilter.cs
----------------------------------------------------------------------
diff --git a/src/contrib/Analyzers/En/EnglishMinimalStemFilter.cs b/src/contrib/Analyzers/En/EnglishMinimalStemFilter.cs
index c9e306b..65f2fb9 100644
--- a/src/contrib/Analyzers/En/EnglishMinimalStemFilter.cs
+++ b/src/contrib/Analyzers/En/EnglishMinimalStemFilter.cs
@@ -1,11 +1,52 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (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.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using Lucene.Net.Analysis.Tokenattributes;
namespace Lucene.Net.Analysis.En
{
- class EnglishMinimalStemFilter
+ public class EnglishMinimalStemFilter : TokenFilter
{
+ private readonly EnglishMinimalStemmer stemmer = new EnglishMinimalStemmer();
+ private readonly CharTermAttribute termAtt;
+ private readonly KeywordAttribute keywordAtt;
+
+ public EnglishMinimalStemFilter(TokenStream input)
+ : base(input)
+ {
+ termAtt = AddAttribute<CharTermAttribute>();
+ keywordAtt = AddAttribute<KeywordAttribute>();
+ }
+
+ public override bool IncrementToken()
+ {
+ if (input.IncrementToken())
+ {
+ if (!keywordAtt.IsKeyword)
+ {
+ var newLen = stemmer.Stem(termAtt.Buffer, termAtt.Length);
+ termAtt.SetLength(newLen);
+ }
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
}
}
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/1102dc59/src/contrib/Analyzers/En/EnglishMinimalStemFilterFactory.cs
----------------------------------------------------------------------
diff --git a/src/contrib/Analyzers/En/EnglishMinimalStemFilterFactory.cs b/src/contrib/Analyzers/En/EnglishMinimalStemFilterFactory.cs
index 8f0b104..0c6988a 100644
--- a/src/contrib/Analyzers/En/EnglishMinimalStemFilterFactory.cs
+++ b/src/contrib/Analyzers/En/EnglishMinimalStemFilterFactory.cs
@@ -1,11 +1,41 @@
-using System;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (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.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
using System.Collections.Generic;
using System.Linq;
-using System.Text;
+using Lucene.Net.Analysis.Util;
namespace Lucene.Net.Analysis.En
{
- class EnglishMinimalStemFilterFactory
+ public class EnglishMinimalStemFilterFactory : TokenFilterFactory
{
+ public EnglishMinimalStemFilterFactory(IDictionary<string, string> args)
+ : base(args)
+ {
+ if (args.Any())
+ {
+ throw new ArgumentException("Unknown parameters: " + args);
+ }
+ }
+
+ public override TokenStream Create(TokenStream input)
+ {
+ return new EnglishMinimalStemFilter(input);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/1102dc59/src/contrib/Analyzers/En/EnglishMinimalStemmer.cs
----------------------------------------------------------------------
diff --git a/src/contrib/Analyzers/En/EnglishMinimalStemmer.cs b/src/contrib/Analyzers/En/EnglishMinimalStemmer.cs
index 49ab934..e485c36 100644
--- a/src/contrib/Analyzers/En/EnglishMinimalStemmer.cs
+++ b/src/contrib/Analyzers/En/EnglishMinimalStemmer.cs
@@ -1,11 +1,47 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (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.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
namespace Lucene.Net.Analysis.En
{
- class EnglishMinimalStemmer
+ public class EnglishMinimalStemmer
{
+ public int Stem(char[] s, int len)
+ {
+ if (len < 3 || s[len - 1] != 's')
+ return len;
+
+ switch (s[len - 2])
+ {
+ case 'u':
+ case 's':
+ return len;
+ case 'e':
+ if (len > 3 && s[len - 3] == 'i' && s[len - 4] != 'a' && s[len - 4] != 'e')
+ {
+ s[len - 3] = 'y';
+ return len - 2;
+ }
+ if (s[len - 3] == 'i' || s[len - 3] == 'a' || s[len - 3] == 'o' || s[len - 3] == 'e')
+ return len;
+
+ return len - 1;
+ default:
+ return len - 1;
+ }
+ }
}
}
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/1102dc59/src/contrib/Analyzers/En/EnglishPossessiveFilter.cs
----------------------------------------------------------------------
diff --git a/src/contrib/Analyzers/En/EnglishPossessiveFilter.cs b/src/contrib/Analyzers/En/EnglishPossessiveFilter.cs
index 7d85b29..9abfa9c 100644
--- a/src/contrib/Analyzers/En/EnglishPossessiveFilter.cs
+++ b/src/contrib/Analyzers/En/EnglishPossessiveFilter.cs
@@ -1,11 +1,62 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (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.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using Lucene.Net.Analysis.Tokenattributes;
+using Lucene.Net.Util;
+using Version = Lucene.Net.Util.Version;
namespace Lucene.Net.Analysis.En
{
- class EnglishPossessiveFilter
+ public sealed class EnglishPossessiveFilter : TokenFilter
{
+ private readonly CharTermAttribute termAtt;
+ private Version matchVersion;
+
+ [Obsolete]
+ public EnglishPossessiveFilter(TokenStream input) : this(Version.LUCENE_35, input) { }
+
+ public EnglishPossessiveFilter(Version version, TokenStream input)
+ :base (input)
+ {
+ this.matchVersion = version;
+ termAtt = AddAttribute<CharTermAttribute>();
+ }
+
+ public override bool IncrementToken()
+ {
+ if (!input.IncrementToken())
+ {
+ return false;
+ }
+
+ var buffer = termAtt.Buffer;
+ var bufferLength = termAtt.Length;
+
+ if (bufferLength >= 2 &&
+ (buffer[bufferLength - 2] == '\'' ||
+ (matchVersion.OnOrAfter(Version.LUCENE_36) &&
+ (buffer[bufferLength - 2] == '\u2019' || buffer[bufferLength - 2] == '\uFF07'))) &&
+ (buffer[bufferLength - 1] == 's' || buffer[bufferLength - 1] == 'S'))
+ {
+ termAtt.SetLength(bufferLength - 2); // strip last two characters off
+ }
+
+ return true;
+ }
}
}
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/1102dc59/src/contrib/Analyzers/En/EnglishPossessiveFilterFactory.cs
----------------------------------------------------------------------
diff --git a/src/contrib/Analyzers/En/EnglishPossessiveFilterFactory.cs b/src/contrib/Analyzers/En/EnglishPossessiveFilterFactory.cs
index b81094f..a4c9343 100644
--- a/src/contrib/Analyzers/En/EnglishPossessiveFilterFactory.cs
+++ b/src/contrib/Analyzers/En/EnglishPossessiveFilterFactory.cs
@@ -1,11 +1,42 @@
-using System;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (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.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
using System.Collections.Generic;
using System.Linq;
-using System.Text;
+using Lucene.Net.Analysis.Util;
namespace Lucene.Net.Analysis.En
{
- class EnglishPossessiveFilterFactory
+ public class EnglishPossessiveFilterFactory : TokenFilterFactory
{
+ public EnglishPossessiveFilterFactory(IDictionary<string, string> args)
+ : base(args)
+ {
+ AssureMatchVersion();
+ if (args.Any())
+ {
+ throw new ArgumentException("Unknown parameters: " + args);
+ }
+ }
+
+ public override TokenStream Create(TokenStream input)
+ {
+ return new EnglishPossessiveFilter(luceneMatchVersion.Value, input);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/lucenenet/blob/1102dc59/src/contrib/Analyzers/En/KStemData1.cs
----------------------------------------------------------------------
diff --git a/src/contrib/Analyzers/En/KStemData1.cs b/src/contrib/Analyzers/En/KStemData1.cs
index 71fbae2..e298c62 100644
--- a/src/contrib/Analyzers/En/KStemData1.cs
+++ b/src/contrib/Analyzers/En/KStemData1.cs
@@ -1,11 +1,727 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (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.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
namespace Lucene.Net.Analysis.En
{
- class KStemData1
+ internal class KStemData1
{
+ private KStemData1() {}
+
+ protected internal static string[] Data = {
+ "aback","abacus","abandon","abandoned","abase",
+ "abash","abate","abattoir","abbess","abbey",
+ "abbot","abbreviate","abbreviation","abc","abdicate",
+ "abdomen","abduct","abed","aberrant","aberration",
+ "abet","abeyance","abhor","abhorrent","abide",
+ "abiding","abilities","ability","abject","abjure",
+ "ablative","ablaut","ablaze","able","ablution",
+ "ablutions","ably","abnegation","abnormal","abo",
+ "aboard","abode","abolish","abolition","abominable",
+ "abominate","abomination","aboriginal","aborigine","abort",
+ "abortion","abortionist","abortive","abound","about",
+ "above","aboveboard","abracadabra","abrade","abrasion",
+ "abrasive","abreast","abridge","abridgement","abridgment",
+ "abroad","abrogate","abrupt","abscess","abscond",
+ "absence","absent","absentee","absenteeism","absently",
+ "absinth","absinthe","absolute","absolutely","absolution",
+ "absolutism","absolve","absorb","absorbent","absorbing",
+ "absorption","abstain","abstemious","abstention","abstinence",
+ "abstract","abstracted","abstraction","abstruse","absurd",
+ "abundance","abundant","abuse","abusive","abut",
+ "abutment","abysmal","abyss","acacia","academic",
+ "academician","academy","accede","accelerate","acceleration",
+ "accelerator","accent","accentuate","accept","acceptable",
+ "acceptance","access","accessible","accession","accessory",
+ "accidence","accident","accidental","acclaim","acclamation",
+ "acclimatize","acclivity","accolade","accommodate","accommodating",
+ "accommodation","accommodations","accompaniment","accompanist","accompany",
+ "accomplice","accomplish","accomplished","accomplishment","accord",
+ "accordance","according","accordingly","accordion","accost",
+ "account","accountable","accountancy","accountant","accoutrements",
+ "accredit","accretion","accrue","accumulate","accumulation",
+ "accumulative","accumulator","accuracy","accurate","accursed",
+ "accusation","accusative","accuse","accused","accustom",
+ "accustomed","ace","acerbity","acetate","acetic",
+ "acetylene","ache","achieve","achievement","achoo",
+ "acid","acidify","acidity","acidulated","acidulous",
+ "acknowledge","acknowledgement","acknowledgment","acme","acne",
+ "acolyte","aconite","acorn","acoustic","acoustics",
+ "acquaint","acquaintance","acquaintanceship","acquiesce","acquiescent",
+ "acquire","acquisition","acquisitive","acquit","acquittal",
+ "acre","acreage","acrid","acrimony","acrobat",
+ "acrobatic","acrobatics","acronym","across","acrostic",
+ "act","acting","actinism","action","actionable",
+ "activate","active","activist","activity","actor",
+ "actress","acts","actual","actuality","actually",
+ "actuary","actuate","acuity","acumen","acupuncture",
+ "acute","adage","adagio","adam","adamant",
+ "adapt","adaptable","adaptation","adapter","adaptor",
+ "adc","add","addendum","adder","addict",
+ "addiction","addictive","addition","additional","additive",
+ "addle","address","addressee","adduce","adenoidal",
+ "adenoids","adept","adequate","adhere","adherence",
+ "adherent","adhesion","adhesive","adieu","adipose",
+ "adj","adjacent","adjective","adjoin","adjourn",
+ "adjudge","adjudicate","adjunct","adjure","adjust",
+ "adjutant","adman","admass","administer","administration",
+ "administrative","administrator","admirable","admiral","admiralty",
+ "admiration","admire","admirer","admissible","admission",
+ "admit","admittance","admitted","admittedly","admixture",
+ "admonish","admonition","admonitory","ado","adobe",
+ "adolescent","adopt","adoption","adoptive","adorable",
+ "adoration","adore","adorn","adornment","adrenalin",
+ "adrift","adroit","adulate","adulation","adult",
+ "adulterate","adulterer","adultery","adumbrate","adv",
+ "advance","advanced","advancement","advances","advantage",
+ "advantageous","advent","adventist","adventitious","adventure",
+ "adventurer","adventuress","adventurous","adverb","adverbial",
+ "adversary","adverse","adversity","advert","advertise",
+ "advertisement","advertising","advice","advisable","advise",
+ "advisedly","adviser","advisor","advisory","advocacy",
+ "advocate","adz","adze","aegis","aeon",
+ "aerate","aerial","aerie","aerobatic","aerobatics",
+ "aerodrome","aerodynamic","aerodynamics","aeronautics","aeroplane",
+ "aerosol","aerospace","aertex","aery","aesthete",
+ "aesthetic","aesthetics","aether","aethereal","aetiology",
+ "afar","affable","affair","affect","affectation",
+ "affected","affecting","affection","affectionate","affiance",
+ "affidavit","affiliate","affiliation","affinity","affirm",
+ "affirmative","affix","afflict","affliction","affluent",
+ "afford","afforest","affray","affricate","affront",
+ "aficionado","afield","afire","aflame","afloat",
+ "afoot","aforesaid","aforethought","afraid","afresh",
+ "afrikaans","afrikaner","afro","aft","after",
+ "afterbirth","aftercare","aftereffect","afterglow","afterlife",
+ "aftermath","afternoon","afternoons","afters","aftershave",
+ "aftertaste","afterthought","afterwards","again","against",
+ "agape","agate","age","ageing","ageless",
+ "agency","agenda","agent","agglomerate","agglutination",
+ "agglutinative","aggrandisement","aggrandizement","aggravate","aggravation",
+ "aggregate","aggregation","aggression","aggressive","aggressor",
+ "aggrieved","aggro","aghast","agile","agitate",
+ "agitation","agitator","aglow","agnostic","ago",
+ "agog","agonise","agonised","agonising","agonize",
+ "agonized","agonizing","agony","agoraphobia","agoraphobic",
+ "agrarian","agree","agreeable","agreeably","agreement",
+ "agriculture","agronomy","aground","ague","aha",
+ "ahead","ahem","ahoy","aid","ail",
+ "aileron","ailment","aim","aimless","air",
+ "airbase","airbed","airbladder","airborne","airbrake",
+ "airbrick","airbus","aircraft","aircraftman","aircrew",
+ "aircushion","airdrop","airedale","airfield","airflow",
+ "airforce","airgun","airhole","airhostess","airily",
+ "airing","airlane","airless","airletter","airlift",
+ "airline","airliner","airlock","airmail","airman",
+ "airplane","airpocket","airport","airs","airshaft",
+ "airship","airsick","airspace","airspeed","airstrip",
+ "airtight","airway","airwoman","airworthy","airy",
+ "aisle","aitch","ajar","akimbo","akin",
+ "alabaster","alack","alacrity","alarm","alarmist",
+ "alas","albatross","albeit","albino","album",
+ "albumen","alchemist","alchemy","alcohol","alcoholic",
+ "alcoholism","alcove","alder","alderman","ale",
+ "alehouse","alert","alfalfa","alfresco","algae",
+ "algebra","algorithm","alias","alibi","alien",
+ "alienate","alienation","alienist","alight","align",
+ "alignment","alike","alimentary","alimony","aline",
+ "alinement","alive","alkali","alkaline","all",
+ "allah","allay","allegation","allege","allegedly",
+ "allegiance","allegorical","allegory","allegretto","allegro",
+ "alleluia","allergic","allergy","alleviate","alley",
+ "alleyway","alliance","allied","alligator","alliteration",
+ "alliterative","allocate","allocation","allopathy","allot",
+ "allotment","allow","allowable","allowance","alloy",
+ "allspice","allude","allure","allurement","allusion",
+ "alluvial","alluvium","ally","almanac","almanack",
+ "almighty","almond","almoner","almost","alms",
+ "aloe","aloft","alone","along","alongside",
+ "aloof","alopecia","aloud","alpaca","alpenhorn",
+ "alpenstock","alpha","alphabet","alphabetical","alpine",
+ "already","alright","alsatian","also","altar",
+ "altarpiece","alter","alteration","altercation","alternate",
+ "alternative","alternator","although","altimeter","altitude",
+ "alto","altogether","altruism","altruist","alum",
+ "aluminium","alumna","alumnus","alveolar","always",
+ "alyssum","amalgam","amalgamate","amanuensis","amass",
+ "amateur","amateurish","amatory","amaze","amazing",
+ "amazon","ambassador","ambassadorial","amber","ambergris",
+ "ambidextrous","ambience","ambient","ambiguous","ambit",
+ "ambition","ambitious","ambivalent","amble","ambrosia",
+ "ambulance","ambush","ame","ameba","ameliorate",
+ "amen","amenable","amend","amendment","amends",
+ "amenity","americanise","americanism","americanize","amethyst",
+ "amiable","amicable","amid","amidships","amir",
+ "amiss","amity","ammeter","ammo","ammonia",
+ "ammonite","ammunition","amnesia","amnesty","amoeba",
+ "amoebic","amok","among","amoral","amorous",
+ "amorphous","amortise","amortize","amount","amour",
+ "amp","amperage","ampersand","amphetamine","amphibian",
+ "amphibious","amphitheater","amphitheatre","amphora","ample",
+ "amplifier","amplify","amplitude","ampoule","amputate",
+ "amputee","amuck","amulet","amuse","amusement",
+ "anachronism","anaconda","anaemia","anaemic","anaesthesia",
+ "anaesthetic","anaesthetist","anagram","anal","analgesia",
+ "analgesic","analog","analogize","analogous","analogue",
+ "analogy","analyse","analysis","analyst","analytic",
+ "anapaest","anarchic","anarchism","anarchist","anarchy",
+ "anathema","anathematize","anatomical","anatomist","anatomy",
+ "ancestor","ancestral","ancestry","anchor","anchorage",
+ "anchorite","anchovy","ancient","ancients","ancillary",
+ "and","andante","andiron","androgynous","anecdotal",
+ "anecdote","anemia","anemometer","anemone","anesthesia",
+ "anesthetise","anesthetize","anew","angel","angelica",
+ "angelus","anger","angle","anglican","anglicise",
+ "anglicism","anglicize","angling","anglophile","anglophilia",
+ "anglophobe","anglophobia","angora","angostura","angry",
+ "angst","anguish","anguished","angular","aniline",
+ "animadversion","animadvert","animal","animalcule","animalism",
+ "animate","animation","animism","animosity","animus",
+ "anis","anise","aniseed","ankle","anklet",
+ "annals","anneal","annex","annexation","annexe",
+ "annihilate","anniversary","annotate","annotation","announce",
+ "announcement","announcer","annoy","annoyance","annual",
+ "annuity","annul","annular","annunciation","anode",
+ "anodyne","anoint","anomalous","anomaly","anon",
+ "anonymity","anonymous","anopheles","anorak","anorexia",
+ "another","answer","answerable","ant","antacid",
+ "antagonism","antagonist","antagonize","antarctic","ante",
+ "anteater","antecedence","antecedent","antecedents","antechamber",
+ "antedate","antediluvian","antelope","antenatal","antenna",
+ "antepenultimate","anterior","anteroom","anthem","anther",
+ "anthill","anthology","anthracite","anthrax","anthropocentric",
+ "anthropoid","anthropologist","anthropology","anthropomorphic","anthropomorphism",
+ "anthropophagous","anthropophagy","antiaircraft","antibiotic","antibody",
+ "antic","anticipate","anticipation","anticipatory","anticlerical",
+ "anticlimax","anticlockwise","antics","anticyclone","antidote",
+ "antifreeze","antigen","antihero","antihistamine","antiknock",
+ "antilogarithm","antimacassar","antimatter","antimony","antipathetic",
+ "antipathy","antipersonnel","antipodal","antipodes","antiquarian",
+ "antiquary","antiquated","antique","antiquity","antirrhinum",
+ "antiseptic","antisocial","antithesis","antithetic","antitoxin",
+ "antler","antonym","anus","anvil","anxiety",
+ "anxious","any","anybody","anyhow","anyplace",
+ "anyroad","anything","anyway","anywhere","aorta",
+ "apace","apanage","apart","apartheid","apartment",
+ "apartments","apathetic","apathy","ape","aperient",
+ "aperitif","aperture","apex","aphasia","aphasic",
+ "aphid","aphorism","aphoristic","aphrodisiac","apiarist",
+ "apiary","apices","apiculture","apiece","apish",
+ "aplomb","apocalypse","apocalyptic","apocrypha","apocryphal",
+ "apogee","apologetic","apologetics","apologia","apologise",
+ "apologist","apologize","apology","apophthegm","apoplectic",
+ "apoplexy","apostasy","apostate","apostatise","apostatize",
+ "apostle","apostolic","apostrophe","apostrophize","apothecary",
+ "apothegm","apotheosis","appal","appall","appalling",
+ "appanage","apparatus","apparel","apparent","apparently",
+ "apparition","appeal","appealing","appear","appearance",
+ "appearances","appease","appeasement","appellant","appellate",
+ "appellation","append","appendage","appendectomy","appendicitis",
+ "appendix","appertain","appetite","appetizer","appetizing",
+ "applaud","applause","apple","applejack","appliance",
+ "applicable","applicant","application","applied","apply",
+ "appoint","appointment","appointments","apportion","apposite",
+ "apposition","appraisal","appraise","appreciable","appreciate",
+ "appreciation","appreciative","apprehend","apprehension","apprehensive",
+ "apprentice","apprenticeship","apprise","appro","approach",
+ "approachable","approbation","approbatory","appropriate","appropriation",
+ "approval","approve","approx","approximate","approximation",
+ "appurtenance","apricot","april","apron","apropos",
+ "apse","apt","aptitude","aqualung","aquamarine",
+ "aquaplane","aquarium","aquatic","aquatint","aqueduct",
+ "aqueous","aquiline","arab","arabesque","arabic",
+ "arable","arachnid","arak","arbiter","arbitrary",
+ "arbitrate","arbitration","arbitrator","arbor","arboreal",
+ "arboretum","arbour","arc","arcade","arcadia",
+ "arcane","arch","archaeology","archaic","archaism",
+ "archangel","archbishop","archbishopric","archdeacon","archdeaconry",
+ "archdiocese","archduke","archeology","archer","archery",
+ "archetype","archimandrite","archipelago","architect","architecture",
+ "archive","archway","arctic","ardent","ardor",
+ "ardour","arduous","are","area","areca",
+ "arena","argent","argon","argot","arguable",
+ "argue","argument","argumentative","aria","arid",
+ "aries","aright","arise","aristocracy","aristocrat",
+ "aristocratic","arithmetic","arithmetician","ark","arm",
+ "armada","armadillo","armament","armature","armband",
+ "armchair","armed","armful","armhole","armistice",
+ "armlet","armor","armorer","armorial","armory",
+ "armour","armoured","armourer","armoury","armpit",
+ "arms","army","aroma","aromatic","arose",
+ "around","arouse","arpeggio","arquebus","arrack",
+ "arraign","arrange","arrangement","arrant","arras",
+ "array","arrears","arrest","arrival","arrive",
+ "arrogance","arrogant","arrogate","arrow","arrowhead",
+ "arrowroot","arse","arsenal","arsenic","arson",
+ "art","artefact","arterial","arteriosclerosis","artery",
+ "artful","arthritis","artichoke","article","articles",
+ "articulate","articulated","articulateness","articulation","artifact",
+ "artifice","artificer","artificial","artillery","artisan",
+ "artist","artiste","artistic","artistry","artless",
+ "arts","arty","arum","asbestos","ascend",
+ "ascendancy","ascendant","ascendency","ascendent","ascension",
+ "ascent","ascertain","ascetic","ascribe","ascription",
+ "asepsis","aseptic","asexual","ash","ashamed",
+ "ashbin","ashcan","ashen","ashes","ashore",
+ "ashtray","ashy","aside","asinine","ask",
+ "askance","askew","aslant","asleep","asp",
+ "asparagus","aspect","aspectual","aspen","asperity",
+ "aspersion","asphalt","asphodel","asphyxia","asphyxiate",
+ "aspic","aspidistra","aspirant","aspirate","aspiration",
+ "aspire","aspirin","ass","assagai","assail",
+ "assailant","assassin","assassinate","assault","assay",
+ "assegai","assemblage","assemble","assembly","assemblyman",
+ "assent","assert","assertion","assertive","assess",
+ "assessment","assessor","asset","asseverate","assiduity",
+ "assiduous","assign","assignation","assignment","assimilate",
+ "assimilation","assist","assistance","assistant","assize",
+ "assizes","associate","association","assonance","assort",
+ "assorted","assortment","asst","assuage","assume",
+ "assumption","assurance","assure","assured","aster",
+ "asterisk","astern","asteroid","asthma","astigmatic",
+ "astigmatism","astir","astonish","astonishment","astound",
+ "astrakhan","astral","astray","astride","astringent",
+ "astrolabe","astrologer","astrology","astronaut","astronautics",
+ "astronomer","astronomical","astronomy","astrophysics","astute",
+ "asunder","asylum","asymmetric","atavism","atchoo",
+ "ate","atelier","atheism","atheist","athlete",
+ "athletic","athletics","athwart","atishoo","atlas",
+ "atmosphere","atmospheric","atmospherics","atoll","atom",
+ "atomic","atomise","atomize","atonal","atonality",
+ "atone","atop","atrocious","atrocity","atrophy",
+ "attach","attachment","attack","attain","attainder",
+ "attainment","attar","attempt","attend","attendance",
+ "attendant","attention","attentive","attenuate","attest",
+ "attestation","attested","attic","attire","attitude",
+ "attitudinise","attitudinize","attorney","attract","attraction",
+ "attractive","attributable","attribute","attribution","attributive",
+ "attrition","attune","atypical","aubergine","aubrietia",
+ "auburn","auction","auctioneer","audacious","audacity",
+ "audible","audience","audio","audiometer","audit",
+ "audition","auditor","auditorium","auditory","auger",
+ "aught","augment","augmentation","augur","augury",
+ "august","auk","aunt","aura","aural",
+ "aureole","auricle","auricular","auriferous","aurora",
+ "auscultation","auspices","auspicious","aussie","austere",
+ "austerity","australasian","autarchy","autarky","authentic",
+ "authenticate","authenticity","author","authoress","authorisation",
+ "authorise","authoritarian","authoritative","authority","authorization",
+ "authorize","authorship","autism","autistic","auto",
+ "autobahn","autobiographical","autobiography","autocracy","autocrat",
+ "autoeroticism","autograph","automat","automate","automatic",
+ "automation","automatism","automaton","automobile","autonomous",
+ "autonomy","autopsy","autostrada","autosuggestion","autumn",
+ "autumnal","auxiliary","avail","available","avalanche",
+ "avarice","avaricious","avatar","avaunt","avenge",
+ "avenue","aver","average","averse","aversion",
+ "aversive","avert","aviary","aviation","aviator",
+ "avid","avocado","avocation","avocet","avoid",
+ "avoidance","avoirdupois","avow","avowal","avowed",
+ "avuncular","await","awake","awaken","awakening",
+ "award","aware","awash","away","awe",
+ "awesome","awestruck","awful","awfully","awhile",
+ "awkward","awl","awning","awoke","awoken",
+ "awry","axe","axiom","axiomatic","axis",
+ "axle","axolotl","ayah","aye","azalea",
+ "azimuth","azure","baa","babble","babbler",
+ "babe","babel","baboo","baboon","babu",
+ "baby","babyhood","babyish","baccalaureate","baccara",
+ "baccarat","bacchanal","baccy","bachelor","bacillus",
+ "back","backache","backbench","backbite","backbone",
+ "backbreaking","backchat","backcloth","backcomb","backdate",
+ "backdrop","backer","backfire","backgammon","background",
+ "backhand","backhanded","backhander","backing","backlash",
+ "backlog","backmost","backpedal","backside","backslide",
+ "backspace","backstage","backstairs","backstay","backstroke",
+ "backtrack","backup","backward","backwards","backwash",
+ "backwater","backwoods","backwoodsman","backyard","bacon",
+ "bacteria","bacteriology","bactrian","bad","bade",
+ "badge","badger","badinage","badly","badminton",
+ "baffle","baffling","bag","bagatelle","bagful",
+ "baggage","baggy","bagpipes","bags","bah",
+ "bail","bailey","bailiff","bairn","bait",
+ "baize","bake","bakelite","baker","bakery",
+ "baksheesh","balaclava","balalaika","balance","balanced",
+ "balcony","bald","balderdash","balding","baldly",
+ "baldric","bale","baleful","balk","ball",
+ "ballad","ballade","ballast","ballcock","ballerina",
+ "ballet","ballistic","ballistics","ballocks","balloon",
+ "ballooning","balloonist","ballot","ballpoint","ballroom",
+ "balls","bally","ballyhoo","balm","balmy",
+ "baloney","balsa","balsam","balustrade","bamboo",
+ "bamboozle","ban","banal","banana","band",
+ "bandage","bandana","bandanna","bandbox","bandeau",
+ "bandit","banditry","bandmaster","bandoleer","bandolier",
+ "bandsman","bandstand","bandwagon","bandy","bane",
+ "baneful","bang","banger","bangle","banian",
+ "banish","banister","banjo","bank","bankbook",
+ "banker","banking","bankrupt","bankruptcy","banner",
+ "bannock","banns","banquet","banshee","bantam",
+ "bantamweight","banter","banyan","baobab","baptise",
+ "baptism","baptist","baptize","bar","barb",
+ "barbarian","barbaric","barbarise","barbarism","barbarize",
+ "barbarous","barbecue","barbed","barbel","barber",
+ "barbican","barbiturate","barcarole","barcarolle","bard",
+ "bare","bareback","barebacked","barefaced","barefoot",
+ "bareheaded","barelegged","barely","bargain","barge",
+ "bargee","baritone","barium","bark","barker",
+ "barley","barleycorn","barmaid","barman","barmy",
+ "barn","barnacle","barnstorm","barnyard","barograph",
+ "barometer","baron","baroness","baronet","baronetcy",
+ "baronial","barony","baroque","barque","barrack",
+ "barracks","barracuda","barrage","barred","barrel",
+ "barren","barricade","barricades","barrier","barring",
+ "barrister","barrow","bartender","barter","basalt",
+ "base","baseball","baseboard","baseless","baseline",
+ "basement","bases","bash","bashful","basic",
+ "basically","basics","basil","basilica","basilisk",
+ "basin","basis","bask","basket","basketball",
+ "basketful","basketry","basketwork","bass","basset",
+ "bassinet","bassoon","bast","bastard","bastardise",
+ "bastardize","bastardy","baste","bastinado","bastion",
+ "bat","batch","bated","bath","bathing",
+ "bathos","bathrobe","bathroom","baths","bathtub",
+ "bathysphere","batik","batiste","batman","baton",
+ "bats","batsman","battalion","batten","batter",
+ "battery","battle","battleax","battleaxe","battlefield",
+ "battlements","battleship","batty","bauble","baulk",
+ "bauxite","bawd","bawdy","bawl","bay",
+ "bayonet","bayou","bazaar","bazooka","bbc",
+ "beach","beachcomber","beachhead","beachwear","beacon",
+ "bead","beading","beadle","beady","beagle",
+ "beagling","beak","beaker","beam","bean",
+ "beanpole","beanstalk","bear","bearable","beard",
+ "bearded","bearer","bearing","bearings","bearish",
+ "bearskin","beast","beastly","beat","beaten",
+ "beater","beatific","beatification","beatify","beating",
+ "beatitude","beatitudes","beatnik","beau","beaujolais",
+ "beaut","beauteous","beautician","beautiful","beautify",
+ "beauty","beaver","bebop","becalmed","because",
+ "beck","beckon","become","becoming","bed",
+ "bedaub","bedbug","bedclothes","bedding","bedeck",
+ "bedevil","bedewed","bedfellow","bedimmed","bedlam",
+ "bedouin","bedpan","bedpost","bedraggled","bedridden",
+ "bedrock","bedroom","bedside","bedsore","bedspread",
+ "bedstead","bedtime","bee","beech","beef",
+ "beefcake","beefeater","beefsteak","beefy","beehive",
+ "beeline","been","beer","beery","beeswax",
+ "beet","beetle","beetling","beetroot","beeves",
+ "befall","befit","befitting","before","beforehand",
+ "befriend","befuddle","beg","beget","beggar",
+ "beggarly","beggary","begin","beginner","beginning",
+ "begone","begonia","begorra","begot","begotten",
+ "begrudge","beguile","begum","begun","behalf",
+ "behave","behavior","behaviorism","behaviour","behaviourism",
+ "behead","behemoth","behest","behind","behindhand",
+ "behold","beholden","behove","beige","being",
+ "belabor","belabour","belated","belay","belch",
+ "beleaguer","belfry","belie","belief","believable",
+ "believe","believer","belittle","bell","belladonna",
+ "bellboy","belle","bellflower","bellicose","belligerency",
+ "belligerent","bellow","bellows","belly","bellyache",
+ "bellyful","belong","belongings","beloved","below",
+ "belt","belted","belting","beltway","bemoan",
+ "bemused","ben","bench","bencher","bend",
+ "bended","bends","beneath","benedictine","benediction",
+ "benedictus","benefaction","benefactor","benefice","beneficent",
+ "beneficial","beneficiary","benefit","benevolence","benevolent",
+ "benighted","benign","benignity","bent","benumbed",
+ "benzedrine","benzene","benzine","bequeath","bequest",
+ "berate","bereave","bereaved","bereavement","bereft",
+ "beret","beriberi","berk","berry","berserk",
+ "berth","beryl","beseech","beseem","beset",
+ "besetting","beside","besides","besiege","besmear",
+ "besmirch","besom","besotted","besought","bespattered",
+ "bespeak","bespoke","best","bestial","bestiality",
+ "bestiary","bestir","bestow","bestrew","bestride",
+ "bet","beta","betake","betel","bethel",
+ "bethink","betide","betimes","betoken","betray",
+ "betrayal","betroth","betrothal","betrothed","better",
+ "betterment","betters","bettor","between","betwixt",
+ "bevel","beverage","bevy","bewail","beware",
+ "bewilder","bewitch","bey","beyond","bezique",
+ "bhang","bias","bib","bible","biblical",
+ "bibliographer","bibliography","bibliophile","bibulous","bicarb",
+ "bicarbonate","bicentenary","bicentennial","biceps","bicker",
+ "bicycle","bid","biddable","bidding","bide",
+ "bidet","biennial","bier","biff","bifocals",
+ "bifurcate","big","bigamist","bigamous","bigamy",
+ "bighead","bight","bigot","bigoted","bigotry",
+ "bigwig","bijou","bike","bikini","bilabial",
+ "bilateral","bilberry","bile","bilge","bilingual",
+ "bilious","bilk","bill","billboard","billet",
+ "billfold","billhook","billiard","billiards","billion",
+ "billow","billposter","billy","biltong","bimetallic",
+ "bimetallism","bimonthly","bin","binary","bind",
+ "binder","bindery","binding","bindweed","binge",
+ "bingo","binnacle","binocular","binoculars","binomial",
+ "biochemistry","biodegradable","biographer","biographical","biography",
+ "biological","biology","biomedical","bionic","biosphere",
+ "biotechnology","bipartisan","bipartite","biped","biplane",
+ "birch","bird","birdie","birdlime","birdseed",
+ "biretta","biro","birth","birthday","birthmark",
+ "birthplace","birthrate","birthright","biscuit","bisect",
+ "bisexual","bishop","bishopric","bismuth","bison",
+ "bisque","bistro","bit","bitch","bitchy",
+ "bite","biting","bitter","bittern","bitters",
+ "bittersweet","bitty","bitumen","bituminous","bivalve",
+ "bivouac","biweekly","bizarre","blab","blabber",
+ "blabbermouth","black","blackamoor","blackball","blackberry",
+ "blackbird","blackboard","blackcurrant","blacken","blackguard",
+ "blackhead","blacking","blackjack","blackleg","blacklist",
+ "blackly","blackmail","blackout","blackshirt","blacksmith",
+ "blackthorn","bladder","blade","blaeberry","blah",
+ "blame","blameless","blameworthy","blanch","blancmange",
+ "bland","blandishments","blank","blanket","blare",
+ "blarney","blaspheme","blasphemous","blasphemy","blast",
+ "blasted","blatant","blather","blaze","blazer",
+ "blazes","blazing","blazon","blazonry","bleach",
+ "bleachers","bleak","bleary","bleat","bleed",
+ "bleeder","bleeding","bleep","blemish","blench",
+ "blend","blender","bless","blessed","blessing",
+ "blether","blew","blight","blighter","blimey",
+ "blimp","blind","blinder","blinders","blindfold",
+ "blink","blinkered","blinkers","blinking","blip",
+ "bliss","blister","blistering","blithe","blithering",
+ "blitz","blizzard","bloated","bloater","blob",
+ "bloc","block","blockade","blockage","blockbuster",
+ "blockhead","blockhouse","bloke","blond","blood",
+ "bloodbath","bloodcurdling","bloodhound","bloodless","bloodletting",
+ "bloodshed","bloodshot","bloodstain","bloodstock","bloodstream",
+ "bloodsucker","bloodthirsty","bloody","bloom","bloomer",
+ "bloomers","blooming","blossom","blot","blotch",
+ "blotter","blotto","blouse","blow","blower",
+ "blowfly","blowgun","blowhard","blowhole","blowlamp",
+ "blown","blowout","blowpipe","blowsy","blowy",
+ "blowzy","blubber","bludgeon","blue","bluebag",
+ "bluebeard","bluebell","blueberry","bluebird","bluebottle",
+ "bluecoat","bluefish","bluejacket","blueprint","blues",
+ "bluestocking","bluff","blunder","blunderbuss","blunt",
+ "bluntly","blur","blurb","blurt","blush",
+ "bluster","blustery","boa","boar","board",
+ "boarder","boarding","boardinghouse","boardroom","boards",
+ "boardwalk","boast","boaster","boastful","boat",
+ "boater","boathouse","boatman","boatswain","bob",
+ "bobbin","bobby","bobcat","bobolink","bobsleigh",
+ "bobtail","bobtailed","bock","bod","bode",
+ "bodice","bodily","boding","bodkin","body",
+ "bodyguard","bodywork","boer","boffin","bog",
+ "bogey","boggle","boggy","bogie","bogus",
+ "bohemian","boil","boiler","boisterous","bold",
+ "boldface","boldfaced","bole","bolero","boll",
+ "bollard","bollocks","boloney","bolshevik","bolshevism",
+ "bolshy","bolster","bolt","bolthole","bomb",
+ "bombard","bombardier","bombardment","bombast","bomber",
+ "bombproof","bombshell","bombsight","bombsite","bonanza",
+ "bonbon","bond","bondage","bonded","bondholder",
+ "bonds","bone","boned","bonehead","boner",
+ "bonesetter","boneshaker","bonfire","bongo","bonhomie",
+ "bonito","bonkers","bonnet","bonny","bonsai",
+ "bonus","bony","bonzer","boo","boob",
+ "boobs","booby","boodle","boohoo","book",
+ "bookable","bookbindery","bookbinding","bookcase","bookend",
+ "booking","bookish","bookkeeping","booklet","bookmaker",
+ "bookmark","bookmobile","bookplate","books","bookseller",
+ "bookshop","bookstall","bookwork","bookworm","boom",
+ "boomerang","boon","boor","boost","booster",
+ "boot","bootblack","booted","bootee","booth",
+ "bootlace","bootleg","bootless","boots","bootstraps",
+ "booty","booze","boozer","boozy","bop",
+ "bopper","boracic","borage","borax","bordeaux",
+ "bordello","border","borderer","borderland","borderline",
+ "bore","borealis","borehole","borer","born",
+ "borne","boron","borough","borrow","borrowing",
+ "borscht","borshcht","borstal","borzoi","bosh",
+ "bosom","bosomy","boss","bossy","bosun",
+ "botanical","botanise","botanist","botanize","botany",
+ "botch","both","bother","botheration","bothersome",
+ "bottle","bottleful","bottleneck","bottom","bottomless",
+ "botulism","boudoir","bouffant","bougainvillaea","bougainvillea",
+ "bough","bought","bouillabaisse","bouillon","boulder",
+ "boulevard","bounce","bouncer","bouncing","bouncy",
+ "bound","boundary","bounden","bounder","boundless",
+ "bounds","bounteous","bountiful","bounty","bouquet",
+ "bourbon","bourgeois","bourgeoisie","bourn","bourne",
+ "bourse","bout","boutique","bouzouki","bovine",
+ "bovril","bovver","bow","bowdlerise","bowdlerize",
+ "bowed","bowel","bowels","bower","bowerbird",
+ "bowing","bowl","bowler","bowlful","bowline",
+ "bowling","bowls","bowman","bowser","bowshot",
+ "bowsprit","bowwow","box","boxer","boxful",
+ "boxing","boxwood","boy","boycott","boyfriend",
+ "boyhood","boyish","boys","bra","brace",
+ "bracelet","bracelets","braces","bracing","bracken",
+ "bracket","brackish","bract","bradawl","brae",
+ "brag","braggadocio","braggart","brahman","braid",
+ "braille","brain","brainchild","brainless","brainpan",
+ "brains","brainstorm","brainwash","brainwashing","brainwave",
+ "brainy","braise","brake","bramble","bran",
+ "branch","brand","brandish","brandy","brash",
+ "brass","brasserie","brassiere","brassy","brat",
+ "bravado","brave","bravo","bravura","brawl",
+ "brawn","brawny","bray","brazen","brazier",
+ "bre","breach","bread","breadbasket","breadboard",
+ "breadcrumb","breaded","breadfruit","breadline","breadth",
+ "breadthways","breadwinner","break","breakage","breakaway",
+ "breakdown","breaker","breakfast","breakneck","breakout",
+ "breakthrough","breakup","breakwater","bream","breast",
+ "breastbone","breastplate","breaststroke","breastwork","breath",
+ "breathalyse","breathalyser","breathe","breather","breathing",
+ "breathless","breathtaking","breathy","breech","breeches",
+ "breed","breeder","breeding","breeze","breezeblock",
+ "breezy","brethren","breve","brevet","breviary",
+ "brevity","brew","brewer","brewery","briar",
+ "bribe","bribery","brick","brickbat","brickfield",
+ "bricklayer","brickwork","bridal","bride","bridegroom",
+ "bridesmaid","bridge","bridgehead","bridgework","bridle",
+ "brie","brief","briefcase","briefing","briefs",
+ "brier","brig","brigade","brigadier","brigand",
+ "brigandage","brigantine","bright","brighten","brill",
+ "brilliancy","brilliant","brilliantine","brim","brimful",
+ "brimfull","brimstone","brindled","brine","bring",
+ "brink","brinkmanship","brioche","briquet","briquette",
+ "brisk","brisket","bristle","bristly","bristols",
+ "brit","britches","britisher","briton","brittle",
+ "broach","broad","broadcast","broadcasting","broadcloth",
+ "broaden","broadloom","broadminded","broadsheet","broadside",
+ "broadsword","broadways","brocade","broccoli","brochure",
+ "brogue","broil","broiler","broke","broken",
+ "broker","brolly","bromide","bromine","bronchial",
+ "bronchitis","bronco","brontosaurus","bronze","brooch",
+ "brood","broody","brook","broom","broomstick",
+ "broth","brothel","brother","brotherhood","brougham",
+ "brought","brouhaha","brow","browbeat","brown",
+ "brownie","brownstone","browse","brucellosis","bruin",
+ "bruise","bruiser","bruising","bruit","brunch",
+ "brunet","brunette","brunt","brush","brushwood",
+ "brushwork","brusque","brutal","brutalise","brutality",
+ "brutalize","brute","brutish","bubble","bubbly",
+ "buccaneer","buck","buckboard","bucked","bucket",
+ "buckle","buckler","buckram","buckshee","buckshot",
+ "buckskin","bucktooth","buckwheat","bucolic","bud",
+ "buddhism","budding","buddy","budge","budgerigar",
+ "budget","budgetary","buff","buffalo","buffer",
+ "buffet","buffoon","buffoonery","bug","bugaboo",
+ "bugbear","bugger","buggered","buggery","buggy",
+ "bughouse","bugle","bugrake","buhl","build",
+ "builder","building","buildup","bulb","bulbous",
+ "bulbul","bulge","bulk","bulkhead","bulky",
+ "bull","bulldog","bulldoze","bulldozer","bullet",
+ "bulletin","bulletproof","bullfight","bullfighting","bullfinch",
+ "bullfrog","bullheaded","bullion","bullnecked","bullock",
+ "bullring","bullshit","bully","bullyboy","bulrush",
+ "bulwark","bum","bumble","bumblebee","bumboat",
+ "bumf","bummer","bump","bumper","bumph",
+ "bumpkin","bumptious","bumpy","bun","bunch",
+ "bundle","bung","bungalow","bunghole","bungle",
+ "bunion","bunk","bunker","bunkered","bunkhouse",
+ "bunkum","bunny","bunting","buoy","buoyancy",
+ "bur","burberry","burble","burden","burdensome",
+ "burdock","bureau","bureaucracy","bureaucrat","bureaucratic",
+ "burg","burgeon","burgess","burgh","burgher",
+ "burglar","burglary","burgle","burgomaster","burgundy",
+ "burial","burlap","burlesque","burly","burn",
+ "burner","burning","burnish","burnous","burnouse",
+ "burnt","burp","burr","burro","burrow",
+ "bursar","bursary","burst","burthen","burton",
+ "bury","bus","busby","bush","bushbaby",
+ "bushed","bushel","bushwhack","bushy","business",
+ "businesslike","businessman","busk","busker","busman",
+ "bust","bustard","buster","bustle","busy",
+ "busybody","but","butane","butch","butcher",
+ "butchery","butler","butt","butter","buttercup",
+ "butterfingers","butterfly","buttermilk","butterscotch","buttery",
+ "buttock","buttocks","button","buttonhole","buttonhook",
+ "buttons","buttress","buxom","buy","buyer",
+ "buzz","buzzard","buzzer","bye","byelaw",
+ "bygone","bygones","bylaw","bypass","byplay",
+ "byre","bystander","byway","byways","byword",
+ "byzantine","cab","cabal","cabaret","cabbage",
+ "cabbie","cabby","cabdriver","caber","cabin",
+ "cabinet","cable","cablegram","caboodle","caboose",
+ "cabriolet","cacao","cache","cachet","cachou",
+ "cackle","cacophony","cactus","cad","cadaver",
+ "cadaverous","caddie","caddy","cadence","cadenza",
+ "cadet","cadge","cadi","cadmium","cadre",
+ "caerphilly","caesura","cafeteria","caffeine","caftan",
+ "cage","cagey","cahoots","caiman","caique",
+ "cairn","caisson","cajole","cake","calabash",
+ "calaboose","calamitous","calamity","calcify","calcination",
+ "calcine","calcium","calculable","calculate","calculating",
+ "calculation","calculator","calculus","caldron","calendar",
+ "calender","calends","calf","calfskin","caliber",
+ "calibrate","calibration","calibre","calico","caliper",
+ "calipers","caliph","caliphate","calisthenic","calisthenics",
+ "calk","call","calla","callboy","caller",
+ "calligraphy","calling","calliper","callipers","callisthenic",
+ "callisthenics","callous","callow","callus","calm",
+ "calomel","calorie","calorific","calumniate","calumny",
+ "calvary","calve","calves","calvinism","calypso",
+ "calyx","cam","camaraderie","camber","cambric",
+ "came","camel","camelhair","camellia","camembert",
+ "cameo","camera","cameraman","camisole","camomile",
+ "camouflage","camp","campaign","campanile","campanology",
+ "campanula","camper","campfire","campground","camphor",
+ "camphorated","campion","campsite","campus","camshaft",
+ "can","canal","canalise","canalize","canard",
+ "canary","canasta","cancan","cancel","cancellation",
+ "cancer","cancerous","candela","candelabrum","candid",
+ "candidate","candidature","candidly","candied","candle",
+ "candlelight","candlemas","candlepower","candlestick","candlewick",
+ "candor","candour","candy","candyfloss","candytuft",
+ "cane","canine","canis","canister","canker",
+ "canna","cannabis","canned","cannelloni","cannery",
+ "cannibal","cannibalise","cannibalism","cannibalize","cannon",
+ "cannonade","cannonball","cannot","canny","canoe",
+ "canon","canonical","canonicals","canonise","canonize",
+ "canoodle","canopy","canst","cant","cantab",
+ "cantabrigian","cantaloup","cantaloupe","cantankerous","cantata",
+ "canteen","canter","canticle","cantilever","canto",
+ "canton","cantonment","cantor","canvas","canvass",
+ "canyon","cap","capabilities","capability","capable",
+ "capacious","capacity","caparison","cape","caper",
+ "capillarity","capillary","capital","capitalisation","capitalise",
+ "capitalism","capitalist","capitalization","capitalize","capitals",
+ "capitation","capitol","capitulate","capitulation","capitulations",
+ "capon","capriccio","caprice","capricious","capricorn",
+ "capsicum","capsize","capstan","capsule","captain",
+ "caption","captious","captivate","captive","captivity",
+ "captor","capture","car","carafe","caramel",
+ "carapace","carat","caravan","caravanning","caravanserai",
+ "caraway","carbide","carbine","carbohydrate","carbolic",
+ "carbon","carbonated","carbonation","carboniferous","carbonise",
+ "carbonize","carborundum","carboy","carbuncle","carburetor",
+ "carburettor","carcase","carcass","carcinogen","card",
+ "cardamom","cardboard","cardiac","cardigan","cardinal",
+ "cardpunch","cards","cardsharp","care","careen",
+ "career","careerist","carefree","careful","careless",
+ "caress","caret","caretaker","careworn","cargo",
+ "caribou","caricature","caries","carillon","carious",
+ "carmelite","carmine","carnage","carnal","carnation",
+ "carnelian","carnival","carnivore","carnivorous","carob",
+ "carol","carotid","carousal","carouse","carousel",
+ "carp","carpal","carpenter","carpentry","carpet",
+ "carpetbag","carpetbagger","carpeting","carport","carpus",
+ "carriage","carriageway","carrier","carrion","carrot",
+ "carroty","carrousel","carry","carryall","carrycot",
+ "carryout","carsick","cart","cartage","cartel",
+ "carter","carthorse","cartilage","cartilaginous","cartographer",
+ "cartography","carton","cartoon","cartridge","cartwheel",
+ "carve","carver","carving","caryatid","cascade",
+ "cascara","case","casebook","casein","casework"
+ };
}
}