diff --git a/.gitignore b/.gitignore index 688e0431..c1eced6d 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,18 @@ __recovery/ Packages/Sydney/CBuilder/Win64/ Packages/Sydney/cpp/ +*.o +*.a +*.d + +# Dev-only scripts # +#################### +build.bat +build_verbose.bat +build_cpp.bat +build_cpp_verbose.bat +build_cpp_delphi_only.bat +build_cpp_group.bat +build_cpp_win64_test.bat +build.ps1 +check_env.bat diff --git a/Demos/FMX/.gitkeep b/Demos/FMX/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/Demos/FMX/EditApp/FMXEditApp.dpr b/Demos/FMX/EditApp/FMXEditApp.dpr new file mode 100644 index 00000000..47baa369 --- /dev/null +++ b/Demos/FMX/EditApp/FMXEditApp.dpr @@ -0,0 +1,13 @@ +program FMXEditApp; + +uses + System.StartUpCopy, + FMX.Forms, + uFMXEditAppMain in 'uFMXEditAppMain.pas' {FMXEditAppForm}, + uHighlighterProcs in '..\..\uHighlighterProcs.pas'; + +begin + Application.Initialize; + Application.CreateForm(TFMXEditAppForm, FMXEditAppForm); + Application.Run; +end. diff --git a/Demos/FMX/EditApp/FMXEditApp.dproj b/Demos/FMX/EditApp/FMXEditApp.dproj new file mode 100644 index 00000000..a7ab7500 --- /dev/null +++ b/Demos/FMX/EditApp/FMXEditApp.dproj @@ -0,0 +1,106 @@ + + + True + Application + Debug + DCC32 + FMX + FMXEditApp.dpr + Win32 + {B2C3D4E5-F6A7-8901-BCDE-F12345678901} + FMXEditApp + 20.3 + 3 + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + FMXEditApp + ..\dcu\$(Platform)\$(Config)\ + ..\bin\$(Platform)\$(Config)\ + SYN_SHARED;$(DCC_Define) + FMX;System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + ..\..\..\Source;..\..\..\Source\FMX;..\..\..\Source\Highlighters;$(DCC_UnitSearchPath) + + + Debug + System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + Debug + System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + 0 + RELEASE;$(DCC_Define) + false + 0 + + + DEBUG;$(DCC_Define) + + + + MainSource + + +
FMXEditAppForm
+ fmx +
+ + + Base + + + Cfg_1 + Base + + + Cfg_2 + Base + +
+ + + Delphi.Personality.12 + Application + + + + FMXEditApp.dpr + + + + True + True + + + +
diff --git a/Demos/FMX/EditApp/uFMXEditAppMain.fmx b/Demos/FMX/EditApp/uFMXEditAppMain.fmx new file mode 100644 index 00000000..a6fe2424 --- /dev/null +++ b/Demos/FMX/EditApp/uFMXEditAppMain.fmx @@ -0,0 +1,124 @@ +object FMXEditAppForm: TFMXEditAppForm + Left = 0 + Top = 0 + Caption = 'Untitled - SynEdit FMX' + ClientHeight = 600 + ClientWidth = 900 + FormFactor.Width = 320 + FormFactor.Height = 480 + FormFactor.Devices = [Desktop] + OnCreate = FormCreate + DesignerMasterStyle = 0 + object MenuBar1: TMenuBar + Size.Width = 900.000000000000000000 + Size.Height = 25.000000000000000000 + Size.PlatformDefault = False + object MenuFile: TMenuItem + Text = 'File' + object MenuNew: TMenuItem + Text = 'New' + ShortCut = 16462 + OnClick = MenuNewClick + end + object MenuOpen: TMenuItem + Text = 'Open...' + ShortCut = 16463 + OnClick = MenuOpenClick + end + object MenuSave: TMenuItem + Text = 'Save' + ShortCut = 16467 + OnClick = MenuSaveClick + end + object MenuSaveAs: TMenuItem + Text = 'Save As...' + OnClick = MenuSaveAsClick + end + object MenuSep1: TMenuItem + Text = '-' + end + object MenuExit: TMenuItem + Text = 'Exit' + ShortCut = 32883 + OnClick = MenuExitClick + end + end + object MenuEdit: TMenuItem + Text = 'Edit' + object MenuUndo: TMenuItem + Text = 'Undo' + ShortCut = 16474 + OnClick = MenuUndoClick + end + object MenuRedo: TMenuItem + Text = 'Redo' + ShortCut = 24666 + OnClick = MenuRedoClick + end + object MenuSep2: TMenuItem + Text = '-' + end + object MenuCut: TMenuItem + Text = 'Cut' + ShortCut = 16472 + OnClick = MenuCutClick + end + object MenuCopy: TMenuItem + Text = 'Copy' + ShortCut = 16451 + OnClick = MenuCopyClick + end + object MenuPaste: TMenuItem + Text = 'Paste' + ShortCut = 16470 + OnClick = MenuPasteClick + end + object MenuSep3: TMenuItem + Text = '-' + end + object MenuSelectAll: TMenuItem + Text = 'Select All' + ShortCut = 16449 + OnClick = MenuSelectAllClick + end + end + end + object PanelStatus: TPanel + Align = Bottom + Position.Y = 575.000000000000000000 + Size.Width = 900.000000000000000000 + Size.Height = 25.000000000000000000 + Size.PlatformDefault = False + object LabelPos: TLabel + Align = Left + Size.Width = 200.000000000000000000 + Size.Height = 25.000000000000000000 + Size.PlatformDefault = False + TextSettings.HorzAlign = Leading + Margins.Left = 8.000000000000000000 + Text = 'Ln: 1 Col: 1' + end + object LabelInsert: TLabel + Align = Left + Size.Width = 100.000000000000000000 + Size.Height = 25.000000000000000000 + Size.PlatformDefault = False + TextSettings.HorzAlign = Center + Text = 'Insert' + end + object LabelModified: TLabel + Align = Left + Size.Width = 100.000000000000000000 + Size.Height = 25.000000000000000000 + Size.PlatformDefault = False + TextSettings.HorzAlign = Center + Text = '' + end + end + object OpenDialog1: TOpenDialog + Filter = 'All Files (*.*)|*.*' + end + object SaveDialog1: TSaveDialog + Filter = 'All Files (*.*)|*.*' + end +end diff --git a/Demos/FMX/EditApp/uFMXEditAppMain.pas b/Demos/FMX/EditApp/uFMXEditAppMain.pas new file mode 100644 index 00000000..6da3b3e9 --- /dev/null +++ b/Demos/FMX/EditApp/uFMXEditAppMain.pas @@ -0,0 +1,427 @@ +{------------------------------------------------------------------------------- +SynEdit FMX - EditApp Demo + +A single-document text editor demonstrating FMX SynEdit with menus, file I/O, +clipboard operations, undo/redo, and automatic highlighter detection. +-------------------------------------------------------------------------------} + +unit uFMXEditAppMain; + +interface + +uses + System.SysUtils, System.Types, System.UITypes, System.Classes, + FMX.Types, FMX.Controls, FMX.Forms, FMX.StdCtrls, FMX.Menus, + FMX.Dialogs, FMX.Controls.Presentation, + SynEdit, + SynEditHighlighter; + +type + TFMXEditAppForm = class(TForm) + MenuBar1: TMenuBar; + MenuFile: TMenuItem; + MenuNew: TMenuItem; + MenuOpen: TMenuItem; + MenuSave: TMenuItem; + MenuSaveAs: TMenuItem; + MenuSep1: TMenuItem; + MenuExit: TMenuItem; + MenuEdit: TMenuItem; + MenuUndo: TMenuItem; + MenuRedo: TMenuItem; + MenuSep2: TMenuItem; + MenuCut: TMenuItem; + MenuCopy: TMenuItem; + MenuPaste: TMenuItem; + MenuSep3: TMenuItem; + MenuSelectAll: TMenuItem; + PanelStatus: TPanel; + LabelPos: TLabel; + LabelInsert: TLabel; + LabelModified: TLabel; + OpenDialog1: TOpenDialog; + SaveDialog1: TSaveDialog; + procedure FormCreate(Sender: TObject); + procedure MenuNewClick(Sender: TObject); + procedure MenuOpenClick(Sender: TObject); + procedure MenuSaveClick(Sender: TObject); + procedure MenuSaveAsClick(Sender: TObject); + procedure MenuExitClick(Sender: TObject); + procedure MenuUndoClick(Sender: TObject); + procedure MenuRedoClick(Sender: TObject); + procedure MenuCutClick(Sender: TObject); + procedure MenuCopyClick(Sender: TObject); + procedure MenuPasteClick(Sender: TObject); + procedure MenuSelectAllClick(Sender: TObject); + private + FEditor: TFMXSynEdit; + FFileName: string; + FHighlighters: TStringList; + procedure CreateHighlighters; + procedure EditorChange(Sender: TObject); + procedure EditorStatusChange(Sender: TObject); + procedure UpdateCaption; + procedure UpdateStatusBar; + procedure SetHighlighterForFile(const AFileName: string); + end; + +var + FMXEditAppForm: TFMXEditAppForm; + +implementation + +{$R *.fmx} + +uses + SynEditTypes, + uHighlighterProcs, + SynHighlighterDelphi, + SynHighlighterCpp, + SynHighlighterJava, + SynHighlighterPython, + SynHighlighterJScript, + SynHighlighterHtml, + SynHighlighterXML, + SynHighlighterCSS, + SynHighlighterSQL, + SynHighlighterJSON, + SynHighlighterCS, + SynHighlighterIni, + SynHighlighterBat; + +procedure TFMXEditAppForm.FormCreate(Sender: TObject); +begin + FFileName := ''; + FHighlighters := TStringList.Create; + + // Create highlighters (owned by Self so GetHighlighters can find them) + CreateHighlighters; + + // Build highlighter list for file extension mapping + GetHighlighters(Self, FHighlighters, False); + + // Build Open/Save dialog filter from highlighters + OpenDialog1.Filter := GetHighlightersFilter(FHighlighters) + + 'All Files (*.*)|*.*'; + SaveDialog1.Filter := OpenDialog1.Filter; + + // Create editor + FEditor := TFMXSynEdit.Create(Self); + FEditor.Parent := Self; + FEditor.Align := TAlignLayout.Client; + FEditor.Font.Family := 'Consolas'; + FEditor.Font.Size := 12; + FEditor.TabWidth := 2; + FEditor.OnChange := EditorChange; + FEditor.OnStatusChange := EditorStatusChange; + + UpdateCaption; + UpdateStatusBar; +end; + +procedure TFMXEditAppForm.CreateHighlighters; +var + Delphi: TSynDelphiSyn; + Cpp: TSynCppSyn; + Java: TSynJavaSyn; + Python: TSynPythonSyn; + JS: TSynJScriptSyn; + HTML: TSynHTMLSyn; + XML: TSynXMLSyn; + CSS: TSynCssSyn; + SQL: TSynSQLSyn; + JSON: TSynJSONSyn; + CS: TSynCSSyn; + Ini: TSynIniSyn; + Bat: TSynBatSyn; +begin + // Delphi + Delphi := TSynDelphiSyn.Create(Self); + Delphi.KeyAttri.Foreground := clNavy; + Delphi.KeyAttri.Style := [fsBold]; + Delphi.CommentAttri.Foreground := clGreen; + Delphi.CommentAttri.Style := [fsItalic]; + Delphi.StringAttri.Foreground := clBlue; + Delphi.NumberAttri.Foreground := clBlue; + Delphi.FloatAttri.Foreground := clBlue; + Delphi.HexAttri.Foreground := clBlue; + Delphi.CharAttri.Foreground := clBlue; + Delphi.DirectiveAttri.Foreground := clTeal; + Delphi.DirectiveAttri.Style := [fsItalic]; + + // C++ + Cpp := TSynCppSyn.Create(Self); + Cpp.KeyAttri.Foreground := clNavy; + Cpp.KeyAttri.Style := [fsBold]; + Cpp.CommentAttri.Foreground := clGreen; + Cpp.CommentAttri.Style := [fsItalic]; + Cpp.StringAttri.Foreground := clBlue; + Cpp.NumberAttri.Foreground := clBlue; + Cpp.FloatAttri.Foreground := clBlue; + Cpp.HexAttri.Foreground := clBlue; + Cpp.CharAttri.Foreground := clBlue; + Cpp.DirecAttri.Foreground := clTeal; + + // Java + Java := TSynJavaSyn.Create(Self); + Java.KeyAttri.Foreground := clNavy; + Java.KeyAttri.Style := [fsBold]; + Java.CommentAttri.Foreground := clGreen; + Java.CommentAttri.Style := [fsItalic]; + Java.DocumentAttri.Foreground := clGreen; + Java.DocumentAttri.Style := [fsItalic]; + Java.StringAttri.Foreground := clBlue; + Java.NumberAttri.Foreground := clBlue; + + // Python + Python := TSynPythonSyn.Create(Self); + Python.KeyAttri.Foreground := clNavy; + Python.KeyAttri.Style := [fsBold]; + Python.NonKeyAttri.Foreground := clTeal; + Python.SystemAttri.Foreground := clTeal; + Python.CommentAttri.Foreground := clGreen; + Python.CommentAttri.Style := [fsItalic]; + Python.DocStringAttri.Foreground := clGreen; + Python.DocStringAttri.Style := [fsItalic]; + Python.StringAttri.Foreground := clBlue; + Python.NumberAttri.Foreground := clBlue; + Python.FloatAttri.Foreground := clBlue; + Python.HexAttri.Foreground := clBlue; + Python.OctalAttri.Foreground := clBlue; + + // JavaScript + JS := TSynJScriptSyn.Create(Self); + JS.KeyAttri.Foreground := clNavy; + JS.KeyAttri.Style := [fsBold]; + JS.NonReservedKeyAttri.Foreground := clTeal; + JS.EventAttri.Foreground := clTeal; + JS.CommentAttri.Foreground := clGreen; + JS.CommentAttri.Style := [fsItalic]; + JS.StringAttri.Foreground := clBlue; + JS.NumberAttri.Foreground := clBlue; + + // HTML + HTML := TSynHTMLSyn.Create(Self); + HTML.KeyAttri.Foreground := clMaroon; + HTML.KeyAttri.Style := [fsBold]; + HTML.UndefKeyAttri.Foreground := clMaroon; + HTML.CommentAttri.Foreground := clGreen; + HTML.CommentAttri.Style := [fsItalic]; + HTML.IdentifierAttri.Foreground := clRed; + HTML.ValueAttri.Foreground := clBlue; + HTML.AndAttri.Foreground := clTeal; + + // XML + XML := TSynXMLSyn.Create(Self); + XML.ElementAttri.Foreground := clMaroon; + XML.AttributeAttri.Foreground := clRed; + XML.NamespaceAttributeAttri.Foreground := clRed; + XML.AttributeValueAttri.Foreground := clBlue; + XML.NamespaceAttributeValueAttri.Foreground := clBlue; + XML.CommentAttri.Foreground := clGreen; + XML.CommentAttri.Style := [fsItalic]; + XML.CDATAAttri.Foreground := clTeal; + XML.EntityRefAttri.Foreground := clTeal; + XML.ProcessingInstructionAttri.Foreground := clTeal; + XML.DocTypeAttri.Foreground := clNavy; + + // CSS + CSS := TSynCssSyn.Create(Self); + CSS.SelectorAttri.Foreground := clNavy; + CSS.SelectorAttri.Style := [fsBold]; + CSS.PropertyAttri.Foreground := clMaroon; + CSS.ValueAttri.Foreground := clBlue; + CSS.ColorAttri.Foreground := clBlue; + CSS.NumberAttri.Foreground := clBlue; + CSS.StringAttri.Foreground := clBlue; + CSS.CommentAttri.Foreground := clGreen; + CSS.CommentAttri.Style := [fsItalic]; + CSS.AtRuleAttri.Foreground := clTeal; + + // SQL + SQL := TSynSQLSyn.Create(Self); + SQL.KeyAttri.Foreground := clNavy; + SQL.KeyAttri.Style := [fsBold]; + SQL.CommentAttri.Foreground := clGreen; + SQL.CommentAttri.Style := [fsItalic]; + SQL.StringAttri.Foreground := clBlue; + SQL.NumberAttri.Foreground := clBlue; + SQL.DataTypeAttri.Foreground := clTeal; + SQL.DataTypeAttri.Style := [fsBold]; + SQL.FunctionAttri.Foreground := clTeal; + SQL.TableNameAttri.Foreground := clMaroon; + SQL.VariableAttri.Foreground := clMaroon; + + // JSON + JSON := TSynJSONSyn.Create(Self); + JSON.AttributeAttri.Foreground := clMaroon; + JSON.ValueAttri.Foreground := clBlue; + JSON.NumberAttri.Foreground := clBlue; + JSON.ReservedAttri.Foreground := clNavy; + JSON.ReservedAttri.Style := [fsBold]; + + // C# + CS := TSynCSSyn.Create(Self); + CS.KeyAttri.Foreground := clNavy; + CS.KeyAttri.Style := [fsBold]; + CS.CommentAttri.Foreground := clGreen; + CS.CommentAttri.Style := [fsItalic]; + CS.StringAttri.Foreground := clBlue; + CS.NumberAttri.Foreground := clBlue; + CS.DirecAttri.Foreground := clTeal; + CS.TypeAttri.Foreground := clTeal; + + // INI + Ini := TSynIniSyn.Create(Self); + Ini.SectionAttri.Foreground := clNavy; + Ini.SectionAttri.Style := [fsBold]; + Ini.KeyAttri.Foreground := clMaroon; + Ini.CommentAttri.Foreground := clGreen; + Ini.CommentAttri.Style := [fsItalic]; + Ini.StringAttri.Foreground := clBlue; + Ini.NumberAttri.Foreground := clBlue; + + // Batch + Bat := TSynBatSyn.Create(Self); + Bat.KeyAttri.Foreground := clNavy; + Bat.KeyAttri.Style := [fsBold]; + Bat.CommentAttri.Foreground := clGreen; + Bat.CommentAttri.Style := [fsItalic]; + Bat.NumberAttri.Foreground := clBlue; + Bat.VariableAttri.Foreground := clMaroon; +end; + +procedure TFMXEditAppForm.EditorChange(Sender: TObject); +begin + UpdateCaption; + UpdateStatusBar; +end; + +procedure TFMXEditAppForm.EditorStatusChange(Sender: TObject); +begin + UpdateStatusBar; +end; + +procedure TFMXEditAppForm.UpdateCaption; +var + Name: string; +begin + if FFileName <> '' then + Name := ExtractFileName(FFileName) + else + Name := 'Untitled'; + + if FEditor.Modified then + Caption := Name + '* - SynEdit FMX' + else + Caption := Name + ' - SynEdit FMX'; +end; + +procedure TFMXEditAppForm.UpdateStatusBar; +begin + LabelPos.Text := Format('Ln: %d Col: %d', [FEditor.CaretY, FEditor.CaretX]); + + if FEditor.InsertMode then + LabelInsert.Text := 'Insert' + else + LabelInsert.Text := 'Overwrite'; + + if FEditor.Modified then + LabelModified.Text := 'Modified' + else + LabelModified.Text := ''; +end; + +procedure TFMXEditAppForm.SetHighlighterForFile(const AFileName: string); +var + Ext: string; + HL: TSynCustomHighlighter; +begin + Ext := ExtractFileExt(AFileName); + HL := GetHighlighterFromFileExt(FHighlighters, Ext); + FEditor.Highlighter := HL; +end; + +// --- File menu --- + +procedure TFMXEditAppForm.MenuNewClick(Sender: TObject); +begin + FEditor.ClearAll; + FEditor.Highlighter := nil; + FFileName := ''; + UpdateCaption; + UpdateStatusBar; +end; + +procedure TFMXEditAppForm.MenuOpenClick(Sender: TObject); +begin + if OpenDialog1.Execute then + begin + FFileName := OpenDialog1.FileName; + FEditor.LoadFromFile(FFileName); + SetHighlighterForFile(FFileName); + UpdateCaption; + UpdateStatusBar; + end; +end; + +procedure TFMXEditAppForm.MenuSaveClick(Sender: TObject); +begin + if FFileName <> '' then + begin + FEditor.SaveToFile(FFileName); + UpdateCaption; + end + else + MenuSaveAsClick(Sender); +end; + +procedure TFMXEditAppForm.MenuSaveAsClick(Sender: TObject); +begin + if SaveDialog1.Execute then + begin + FFileName := SaveDialog1.FileName; + FEditor.SaveToFile(FFileName); + SetHighlighterForFile(FFileName); + UpdateCaption; + end; +end; + +procedure TFMXEditAppForm.MenuExitClick(Sender: TObject); +begin + Close; +end; + +// --- Edit menu --- + +procedure TFMXEditAppForm.MenuUndoClick(Sender: TObject); +begin + FEditor.Undo; +end; + +procedure TFMXEditAppForm.MenuRedoClick(Sender: TObject); +begin + FEditor.Redo; +end; + +procedure TFMXEditAppForm.MenuCutClick(Sender: TObject); +begin + FEditor.CutToClipboard; +end; + +procedure TFMXEditAppForm.MenuCopyClick(Sender: TObject); +begin + FEditor.CopyToClipboard; +end; + +procedure TFMXEditAppForm.MenuPasteClick(Sender: TObject); +begin + FEditor.PasteFromClipboard; +end; + +procedure TFMXEditAppForm.MenuSelectAllClick(Sender: TObject); +begin + FEditor.SelectAll; +end; + +end. diff --git a/Demos/FMX/FeaturesDemo/FMXFeaturesDemo.dpr b/Demos/FMX/FeaturesDemo/FMXFeaturesDemo.dpr new file mode 100644 index 00000000..fb8e499a --- /dev/null +++ b/Demos/FMX/FeaturesDemo/FMXFeaturesDemo.dpr @@ -0,0 +1,14 @@ +program FMXFeaturesDemo; + +uses + System.StartUpCopy, + FMX.Forms, + uFMXFeaturesMain in 'uFMXFeaturesMain.pas' {FMXFeaturesForm}, + dlgFMXSearchText in 'dlgFMXSearchText.pas' {FMXSearchTextDialog}, + dlgFMXReplaceText in 'dlgFMXReplaceText.pas' {FMXReplaceTextDialog}; + +begin + Application.Initialize; + Application.CreateForm(TFMXFeaturesForm, FMXFeaturesForm); + Application.Run; +end. diff --git a/Demos/FMX/FeaturesDemo/FMXFeaturesDemo.dproj b/Demos/FMX/FeaturesDemo/FMXFeaturesDemo.dproj new file mode 100644 index 00000000..d74809d2 --- /dev/null +++ b/Demos/FMX/FeaturesDemo/FMXFeaturesDemo.dproj @@ -0,0 +1,113 @@ + + + True + Application + Debug + DCC32 + FMX + FMXFeaturesDemo.dpr + Win32 + {C3D4E5F6-A7B8-9012-CDEF-123456789ABC} + FMXFeaturesDemo + 20.3 + 3 + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + FMXFeaturesDemo + ..\dcu\$(Platform)\$(Config)\ + ..\bin\$(Platform)\$(Config)\ + SYN_SHARED;$(DCC_Define) + FMX;System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + ..\..\..\Source;..\..\..\Source\FMX;..\..\..\Source\Highlighters;$(DCC_UnitSearchPath) + + + Debug + System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + Debug + System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + 0 + RELEASE;$(DCC_Define) + false + 0 + + + DEBUG;$(DCC_Define) + + + + MainSource + + +
FMXFeaturesForm
+ fmx +
+ +
FMXSearchTextDialog
+ fmx +
+ +
FMXReplaceTextDialog
+ fmx +
+ + Base + + + Cfg_1 + Base + + + Cfg_2 + Base + +
+ + + Delphi.Personality.12 + Application + + + + FMXFeaturesDemo.dpr + + + + True + True + + + +
diff --git a/Demos/FMX/FeaturesDemo/dlgFMXReplaceText.fmx b/Demos/FMX/FeaturesDemo/dlgFMXReplaceText.fmx new file mode 100644 index 00000000..bcc32357 --- /dev/null +++ b/Demos/FMX/FeaturesDemo/dlgFMXReplaceText.fmx @@ -0,0 +1,112 @@ +object FMXReplaceTextDialog: TFMXReplaceTextDialog + Left = 0 + Top = 0 + Caption = 'Replace Text' + ClientHeight = 240 + ClientWidth = 400 + Position = TFormPosition.ScreenCenter + object lblSearch: TLabel + Position.X = 16 + Position.Y = 16 + Size.Width = 60 + Size.Height = 22 + Text = 'Search:' + end + object edtSearch: TEdit + Position.X = 80 + Position.Y = 12 + Size.Width = 300 + Size.Height = 28 + TabOrder = 0 + end + object lblReplace: TLabel + Position.X = 16 + Position.Y = 48 + Size.Width = 60 + Size.Height = 22 + Text = 'Replace:' + end + object edtReplace: TEdit + Position.X = 80 + Position.Y = 44 + Size.Width = 300 + Size.Height = 28 + TabOrder = 1 + end + object grpOptions: TGroupBox + Position.X = 16 + Position.Y = 80 + Size.Width = 180 + Size.Height = 100 + Text = 'Options' + object cbMatchCase: TCheckBox + Position.X = 12 + Position.Y = 20 + Size.Width = 150 + Size.Height = 22 + Text = 'Match Case' + end + object cbWholeWord: TCheckBox + Position.X = 12 + Position.Y = 46 + Size.Width = 150 + Size.Height = 22 + Text = 'Whole Word' + end + object cbRegex: TCheckBox + Position.X = 12 + Position.Y = 72 + Size.Width = 150 + Size.Height = 22 + Text = 'Regular Expression' + end + end + object grpDirection: TGroupBox + Position.X = 204 + Position.Y = 80 + Size.Width = 176 + Size.Height = 100 + Text = 'Direction' + object rbForward: TRadioButton + Position.X = 12 + Position.Y = 20 + Size.Width = 150 + Size.Height = 22 + Text = 'Forward' + IsChecked = True + end + object rbBackward: TRadioButton + Position.X = 12 + Position.Y = 46 + Size.Width = 150 + Size.Height = 22 + Text = 'Backward' + end + end + object btnReplace: TButton + Position.X = 112 + Position.Y = 196 + Size.Width = 84 + Size.Height = 30 + Text = 'Replace' + Default = True + OnClick = btnReplaceClick + end + object btnReplaceAll: TButton + Position.X = 204 + Position.Y = 196 + Size.Width = 84 + Size.Height = 30 + Text = 'Replace All' + OnClick = btnReplaceAllClick + end + object btnClose: TButton + Position.X = 296 + Position.Y = 196 + Size.Width = 84 + Size.Height = 30 + Text = 'Close' + Cancel = True + OnClick = btnCloseClick + end +end diff --git a/Demos/FMX/FeaturesDemo/dlgFMXReplaceText.pas b/Demos/FMX/FeaturesDemo/dlgFMXReplaceText.pas new file mode 100644 index 00000000..623f04e5 --- /dev/null +++ b/Demos/FMX/FeaturesDemo/dlgFMXReplaceText.pas @@ -0,0 +1,99 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Replace Dialog Demo +-------------------------------------------------------------------------------} +unit dlgFMXReplaceText; + +interface + +uses + System.SysUtils, System.Types, System.UITypes, System.Classes, + FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.StdCtrls, + FMX.Edit, FMX.Layouts, FMX.Controls.Presentation, + SynEditTypes; + +type + TFMXReplaceTextDialog = class(TForm) + lblSearch: TLabel; + edtSearch: TEdit; + lblReplace: TLabel; + edtReplace: TEdit; + cbMatchCase: TCheckBox; + cbWholeWord: TCheckBox; + cbRegex: TCheckBox; + rbForward: TRadioButton; + rbBackward: TRadioButton; + btnReplace: TButton; + btnReplaceAll: TButton; + btnClose: TButton; + grpOptions: TGroupBox; + grpDirection: TGroupBox; + procedure btnReplaceClick(Sender: TObject); + procedure btnReplaceAllClick(Sender: TObject); + procedure btnCloseClick(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + private + FSearchOptions: TSynSearchOptions; + public + property SearchOptions: TSynSearchOptions read FSearchOptions; + function GetSearchText: string; + function GetReplaceText: string; + function GetOptions: TSynSearchOptions; + function IsRegex: Boolean; + end; + +implementation + +{$R *.fmx} + +procedure TFMXReplaceTextDialog.btnReplaceClick(Sender: TObject); +begin + FSearchOptions := GetOptions; + Include(FSearchOptions, ssoReplace); + ModalResult := mrOk; +end; + +procedure TFMXReplaceTextDialog.btnReplaceAllClick(Sender: TObject); +begin + FSearchOptions := GetOptions; + Include(FSearchOptions, ssoReplaceAll); + ModalResult := mrAll; +end; + +procedure TFMXReplaceTextDialog.btnCloseClick(Sender: TObject); +begin + ModalResult := mrCancel; +end; + +procedure TFMXReplaceTextDialog.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action := TCloseAction.caHide; +end; + +function TFMXReplaceTextDialog.GetSearchText: string; +begin + Result := edtSearch.Text; +end; + +function TFMXReplaceTextDialog.GetReplaceText: string; +begin + Result := edtReplace.Text; +end; + +function TFMXReplaceTextDialog.GetOptions: TSynSearchOptions; +begin + Result := []; + if cbMatchCase.IsChecked then + Include(Result, ssoMatchCase); + if cbWholeWord.IsChecked then + Include(Result, ssoWholeWord); + if rbBackward.IsChecked then + Include(Result, ssoBackwards); +end; + +function TFMXReplaceTextDialog.IsRegex: Boolean; +begin + Result := cbRegex.IsChecked; +end; + +end. diff --git a/Demos/FMX/FeaturesDemo/dlgFMXSearchText.fmx b/Demos/FMX/FeaturesDemo/dlgFMXSearchText.fmx new file mode 100644 index 00000000..7374a36a --- /dev/null +++ b/Demos/FMX/FeaturesDemo/dlgFMXSearchText.fmx @@ -0,0 +1,90 @@ +object FMXSearchTextDialog: TFMXSearchTextDialog + Left = 0 + Top = 0 + Caption = 'Find Text' + ClientHeight = 200 + ClientWidth = 400 + Position = TFormPosition.ScreenCenter + object lblSearch: TLabel + Position.X = 16 + Position.Y = 16 + Size.Width = 60 + Size.Height = 22 + Text = 'Search:' + end + object edtSearch: TEdit + Position.X = 80 + Position.Y = 12 + Size.Width = 300 + Size.Height = 28 + TabOrder = 0 + end + object grpOptions: TGroupBox + Position.X = 16 + Position.Y = 48 + Size.Width = 180 + Size.Height = 100 + Text = 'Options' + object cbMatchCase: TCheckBox + Position.X = 12 + Position.Y = 20 + Size.Width = 150 + Size.Height = 22 + Text = 'Match Case' + end + object cbWholeWord: TCheckBox + Position.X = 12 + Position.Y = 46 + Size.Width = 150 + Size.Height = 22 + Text = 'Whole Word' + end + object cbRegex: TCheckBox + Position.X = 12 + Position.Y = 72 + Size.Width = 150 + Size.Height = 22 + Text = 'Regular Expression' + end + end + object grpDirection: TGroupBox + Position.X = 204 + Position.Y = 48 + Size.Width = 176 + Size.Height = 100 + Text = 'Direction' + object rbForward: TRadioButton + Position.X = 12 + Position.Y = 20 + Size.Width = 150 + Size.Height = 22 + Text = 'Forward' + IsChecked = True + end + object rbBackward: TRadioButton + Position.X = 12 + Position.Y = 46 + Size.Width = 150 + Size.Height = 22 + Text = 'Backward' + end + end + object btnFindNext: TButton + Position.X = 200 + Position.Y = 160 + Size.Width = 90 + Size.Height = 30 + Text = 'Find Next' + Default = True + OnClick = btnFindNextClick + end + object btnClose: TButton + Position.X = 296 + Position.Y = 160 + Size.Width = 84 + Size.Height = 30 + Text = 'Close' + Cancel = True + OnClick = btnCloseClick + end +end diff --git a/Demos/FMX/FeaturesDemo/dlgFMXSearchText.pas b/Demos/FMX/FeaturesDemo/dlgFMXSearchText.pas new file mode 100644 index 00000000..cd9ca6b7 --- /dev/null +++ b/Demos/FMX/FeaturesDemo/dlgFMXSearchText.pas @@ -0,0 +1,81 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Search Dialog Demo +-------------------------------------------------------------------------------} +unit dlgFMXSearchText; + +interface + +uses + System.SysUtils, System.Types, System.UITypes, System.Classes, + FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.StdCtrls, + FMX.Edit, FMX.Layouts, FMX.Controls.Presentation, + SynEditTypes; + +type + TFMXSearchTextDialog = class(TForm) + lblSearch: TLabel; + edtSearch: TEdit; + cbMatchCase: TCheckBox; + cbWholeWord: TCheckBox; + cbRegex: TCheckBox; + rbForward: TRadioButton; + rbBackward: TRadioButton; + btnFindNext: TButton; + btnClose: TButton; + grpOptions: TGroupBox; + grpDirection: TGroupBox; + procedure btnFindNextClick(Sender: TObject); + procedure btnCloseClick(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + private + FSearchOptions: TSynSearchOptions; + public + property SearchOptions: TSynSearchOptions read FSearchOptions; + function GetSearchText: string; + function GetOptions: TSynSearchOptions; + function IsRegex: Boolean; + end; + +implementation + +{$R *.fmx} + +procedure TFMXSearchTextDialog.btnFindNextClick(Sender: TObject); +begin + FSearchOptions := GetOptions; + ModalResult := mrOk; +end; + +procedure TFMXSearchTextDialog.btnCloseClick(Sender: TObject); +begin + ModalResult := mrCancel; +end; + +procedure TFMXSearchTextDialog.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + Action := TCloseAction.caHide; +end; + +function TFMXSearchTextDialog.GetSearchText: string; +begin + Result := edtSearch.Text; +end; + +function TFMXSearchTextDialog.GetOptions: TSynSearchOptions; +begin + Result := []; + if cbMatchCase.IsChecked then + Include(Result, ssoMatchCase); + if cbWholeWord.IsChecked then + Include(Result, ssoWholeWord); + if rbBackward.IsChecked then + Include(Result, ssoBackwards); +end; + +function TFMXSearchTextDialog.IsRegex: Boolean; +begin + Result := cbRegex.IsChecked; +end; + +end. diff --git a/Demos/FMX/FeaturesDemo/uFMXFeaturesMain.fmx b/Demos/FMX/FeaturesDemo/uFMXFeaturesMain.fmx new file mode 100644 index 00000000..06232865 --- /dev/null +++ b/Demos/FMX/FeaturesDemo/uFMXFeaturesMain.fmx @@ -0,0 +1,534 @@ +object FMXFeaturesForm: TFMXFeaturesForm + Left = 0 + Top = 0 + Caption = 'SynEdit FMX - Features Demo' + ClientHeight = 700 + ClientWidth = 1100 + FormFactor.Width = 320 + FormFactor.Height = 480 + FormFactor.Devices = [Desktop] + OnCreate = FormCreate + DesignerMasterStyle = 0 + object PanelLeft: TPanel + Align = Left + Size.Width = 280.000000000000000000 + Size.Height = 700.000000000000000000 + Size.PlatformDefault = False + object ScrollBox1: TVertScrollBox + Align = Client + Size.Width = 280.000000000000000000 + Size.Height = 700.000000000000000000 + Size.PlatformDefault = False + object LabelHLCaption: TLabel + Position.X = 8.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 18.000000000000000000 + Size.PlatformDefault = False + StyledSettings = [Family, Size] + TextSettings.Font.Style = [fsBold] + Text = 'Highlighter' + end + object ComboHL: TComboBox + Position.X = 8.000000000000000000 + Position.Y = 28.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 24.000000000000000000 + Size.PlatformDefault = False + OnChange = ComboHLChange + end + object BtnLoadSample: TButton + Position.X = 8.000000000000000000 + Position.Y = 56.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 28.000000000000000000 + Size.PlatformDefault = False + Text = 'Load Sample' + OnClick = BtnLoadSampleClick + end + object LabelClipboard: TLabel + Position.X = 8.000000000000000000 + Position.Y = 96.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 18.000000000000000000 + Size.PlatformDefault = False + StyledSettings = [Family, Size] + TextSettings.Font.Style = [fsBold] + Text = 'Clipboard' + end + object BtnCut: TButton + Position.X = 8.000000000000000000 + Position.Y = 116.000000000000000000 + Size.Width = 82.000000000000000000 + Size.Height = 28.000000000000000000 + Size.PlatformDefault = False + Text = 'Cut' + OnClick = BtnCutClick + end + object BtnCopy: TButton + Position.X = 96.000000000000000000 + Position.Y = 116.000000000000000000 + Size.Width = 82.000000000000000000 + Size.Height = 28.000000000000000000 + Size.PlatformDefault = False + Text = 'Copy' + OnClick = BtnCopyClick + end + object BtnPaste: TButton + Position.X = 184.000000000000000000 + Position.Y = 116.000000000000000000 + Size.Width = 82.000000000000000000 + Size.Height = 28.000000000000000000 + Size.PlatformDefault = False + Text = 'Paste' + OnClick = BtnPasteClick + end + object BtnUndo: TButton + Position.X = 8.000000000000000000 + Position.Y = 148.000000000000000000 + Size.Width = 82.000000000000000000 + Size.Height = 28.000000000000000000 + Size.PlatformDefault = False + Text = 'Undo' + OnClick = BtnUndoClick + end + object BtnRedo: TButton + Position.X = 96.000000000000000000 + Position.Y = 148.000000000000000000 + Size.Width = 82.000000000000000000 + Size.Height = 28.000000000000000000 + Size.PlatformDefault = False + Text = 'Redo' + OnClick = BtnRedoClick + end + object BtnSelectAll: TButton + Position.X = 8.000000000000000000 + Position.Y = 180.000000000000000000 + Size.Width = 126.000000000000000000 + Size.Height = 28.000000000000000000 + Size.PlatformDefault = False + Text = 'Select All' + OnClick = BtnSelectAllClick + end + object BtnClear: TButton + Position.X = 140.000000000000000000 + Position.Y = 180.000000000000000000 + Size.Width = 126.000000000000000000 + Size.Height = 28.000000000000000000 + Size.PlatformDefault = False + Text = 'Clear' + OnClick = BtnClearClick + end + object LabelOptions: TLabel + Position.X = 8.000000000000000000 + Position.Y = 220.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 18.000000000000000000 + Size.PlatformDefault = False + StyledSettings = [Family, Size] + TextSettings.Font.Style = [fsBold] + Text = 'Options' + end + object ChkAutoIndent: TCheckBox + Position.X = 8.000000000000000000 + Position.Y = 242.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + Text = 'Auto Indent' + IsChecked = True + OnChange = ChkOptionChange + end + object ChkInsertMode: TCheckBox + Position.X = 8.000000000000000000 + Position.Y = 266.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + Text = 'Insert Mode' + IsChecked = True + OnChange = ChkInsertModeChange + end + object ChkReadOnly: TCheckBox + Position.X = 8.000000000000000000 + Position.Y = 290.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + Text = 'Read Only' + OnChange = ChkReadOnlyChange + end + object ChkTabsToSpaces: TCheckBox + Position.X = 8.000000000000000000 + Position.Y = 314.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + Text = 'Tabs to Spaces' + IsChecked = True + OnChange = ChkOptionChange + end + object ChkSmartTabs: TCheckBox + Position.X = 8.000000000000000000 + Position.Y = 338.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + Text = 'Smart Tabs' + IsChecked = True + OnChange = ChkOptionChange + end + object LabelTabWidth: TLabel + Position.X = 8.000000000000000000 + Position.Y = 366.000000000000000000 + Size.Width = 80.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + Text = 'Tab Width:' + end + object SpinTabWidth: TSpinBox + Position.X = 96.000000000000000000 + Position.Y = 364.000000000000000000 + Size.Width = 80.000000000000000000 + Size.Height = 24.000000000000000000 + Size.PlatformDefault = False + Min = 1.000000000000000000 + Max = 16.000000000000000000 + Value = 2.000000000000000000 + OnChange = SpinTabWidthChange + end + object LabelAppearance: TLabel + Position.X = 8.000000000000000000 + Position.Y = 400.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 18.000000000000000000 + Size.PlatformDefault = False + StyledSettings = [Family, Size] + TextSettings.Font.Style = [fsBold] + Text = 'Appearance' + end + object LabelRightEdge: TLabel + Position.X = 8.000000000000000000 + Position.Y = 424.000000000000000000 + Size.Width = 80.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + Text = 'Right Edge:' + end + object SpinRightEdge: TSpinBox + Position.X = 96.000000000000000000 + Position.Y = 422.000000000000000000 + Size.Width = 80.000000000000000000 + Size.Height = 24.000000000000000000 + Size.PlatformDefault = False + Max = 200.000000000000000000 + Value = 80.000000000000000000 + OnChange = SpinRightEdgeChange + end + object LabelActiveColor: TLabel + Position.X = 8.000000000000000000 + Position.Y = 454.000000000000000000 + Size.Width = 80.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + Text = 'Active Line:' + end + object ComboActiveColor: TComboColorBox + Position.X = 96.000000000000000000 + Position.Y = 452.000000000000000000 + Size.Width = 170.000000000000000000 + Size.Height = 24.000000000000000000 + Size.PlatformDefault = False + Color = claNull + OnChange = ComboActiveColorChange + end + object LabelStatus: TLabel + Position.X = 8.000000000000000000 + Position.Y = 492.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 18.000000000000000000 + Size.PlatformDefault = False + StyledSettings = [Family, Size] + TextSettings.Font.Style = [fsBold] + Text = 'Status' + end + object LabelPosInfo: TLabel + Position.X = 8.000000000000000000 + Position.Y = 514.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 18.000000000000000000 + Size.PlatformDefault = False + Text = 'Line: 1 Col: 1' + end + object LabelLinesInfo: TLabel + Position.X = 8.000000000000000000 + Position.Y = 534.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 18.000000000000000000 + Size.PlatformDefault = False + Text = 'Lines: 0 Sel: No' + end + object LabelModInfo: TLabel + Position.X = 8.000000000000000000 + Position.Y = 554.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 18.000000000000000000 + Size.PlatformDefault = False + Text = 'Modified: No' + end + object LabelCodeFolding: TLabel + Position.X = 8.000000000000000000 + Position.Y = 590.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 18.000000000000000000 + Size.PlatformDefault = False + StyledSettings = [Family, Size] + TextSettings.Font.Style = [fsBold] + Text = 'Code Folding' + end + object ChkCodeFolding: TCheckBox + Position.X = 8.000000000000000000 + Position.Y = 612.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + Text = 'Enable Code Folding' + OnChange = ChkCodeFoldingChange + end + object BtnFoldAll: TButton + Position.X = 8.000000000000000000 + Position.Y = 638.000000000000000000 + Size.Width = 126.000000000000000000 + Size.Height = 28.000000000000000000 + Size.PlatformDefault = False + Text = 'Fold All' + OnClick = BtnFoldAllClick + end + object BtnUnfoldAll: TButton + Position.X = 140.000000000000000000 + Position.Y = 638.000000000000000000 + Size.Width = 126.000000000000000000 + Size.Height = 28.000000000000000000 + Size.PlatformDefault = False + Text = 'Unfold All' + OnClick = BtnUnfoldAllClick + end + object LabelSearchReplace: TLabel + Position.X = 8.000000000000000000 + Position.Y = 690.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 18.000000000000000000 + Size.PlatformDefault = False + StyledSettings = [Family, Size] + TextSettings.Font.Style = [fsBold] + Text = 'Search / Replace' + end + object BtnSearch: TButton + Position.X = 8.000000000000000000 + Position.Y = 712.000000000000000000 + Size.Width = 126.000000000000000000 + Size.Height = 28.000000000000000000 + Size.PlatformDefault = False + Text = 'Find...' + OnClick = BtnSearchClick + end + object BtnReplace: TButton + Position.X = 140.000000000000000000 + Position.Y = 712.000000000000000000 + Size.Width = 126.000000000000000000 + Size.Height = 28.000000000000000000 + Size.PlatformDefault = False + Text = 'Replace...' + OnClick = BtnReplaceClick + end + object LabelCompletion: TLabel + Position.X = 8.000000000000000000 + Position.Y = 760.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 18.000000000000000000 + Size.PlatformDefault = False + StyledSettings = [Family, Size] + TextSettings.Font.Style = [fsBold] + Text = 'Completion' + end + object BtnCompletion: TButton + Position.X = 8.000000000000000000 + Position.Y = 782.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 28.000000000000000000 + Size.PlatformDefault = False + Text = 'Show Completion (Ctrl+Space)' + OnClick = BtnCompletionClick + end + object LabelSpellCheckCaption: TLabel + Position.X = 8.000000000000000000 + Position.Y = 830.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 18.000000000000000000 + Size.PlatformDefault = False + StyledSettings = [Family, Size] + TextSettings.Font.Style = [fsBold] + Text = 'Spell Check' + end + object ChkSpellCheck: TCheckBox + Position.X = 8.000000000000000000 + Position.Y = 852.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + Text = 'Enable Spell Check' + OnChange = ChkSpellCheckChange + end + object LabelProvider: TLabel + Position.X = 8.000000000000000000 + Position.Y = 878.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 18.000000000000000000 + Size.PlatformDefault = False + Text = 'Provider:' + end + object ComboProvider: TComboBox + Position.X = 8.000000000000000000 + Position.Y = 898.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 24.000000000000000000 + Size.PlatformDefault = False + OnChange = ComboProviderChange + end + object LabelLanguage: TLabel + Position.X = 8.000000000000000000 + Position.Y = 926.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 18.000000000000000000 + Size.PlatformDefault = False + Text = 'Language:' + end + object ComboLanguage: TComboBox + Position.X = 8.000000000000000000 + Position.Y = 946.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 24.000000000000000000 + Size.PlatformDefault = False + OnChange = ComboLanguageChange + end + object BtnCheckFile: TButton + Position.X = 8.000000000000000000 + Position.Y = 974.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 28.000000000000000000 + Size.PlatformDefault = False + Text = 'Check File' + OnClick = BtnCheckFileClick + end + object LabelSpellStatus: TLabel + Position.X = 8.000000000000000000 + Position.Y = 1006.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 18.000000000000000000 + Size.PlatformDefault = False + Text = 'Spell check: idle' + end + object LabelMacroCaption: TLabel + Position.X = 8.000000000000000000 + Position.Y = 1042.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 18.000000000000000000 + Size.PlatformDefault = False + StyledSettings = [Family, Size] + TextSettings.Font.Style = [fsBold] + Text = 'Macro Recording' + end + object BtnMacroRecord: TButton + Position.X = 8.000000000000000000 + Position.Y = 1064.000000000000000000 + Size.Width = 82.000000000000000000 + Size.Height = 28.000000000000000000 + Size.PlatformDefault = False + Text = 'Record' + OnClick = BtnMacroRecordClick + end + object BtnMacroPause: TButton + Position.X = 96.000000000000000000 + Position.Y = 1064.000000000000000000 + Size.Width = 82.000000000000000000 + Size.Height = 28.000000000000000000 + Size.PlatformDefault = False + Text = 'Pause' + OnClick = BtnMacroPauseClick + end + object BtnMacroStop: TButton + Position.X = 184.000000000000000000 + Position.Y = 1064.000000000000000000 + Size.Width = 82.000000000000000000 + Size.Height = 28.000000000000000000 + Size.PlatformDefault = False + Text = 'Stop' + OnClick = BtnMacroStopClick + end + object BtnMacroPlay: TButton + Position.X = 8.000000000000000000 + Position.Y = 1096.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 28.000000000000000000 + Size.PlatformDefault = False + Text = 'Playback (Ctrl+Shift+P)' + OnClick = BtnMacroPlayClick + end + object LabelMacroState: TLabel + Position.X = 8.000000000000000000 + Position.Y = 1128.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 18.000000000000000000 + Size.PlatformDefault = False + Text = 'Macro: Stopped' + end + object LabelPrintCaption: TLabel + Position.X = 8.000000000000000000 + Position.Y = 1164.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 18.000000000000000000 + Size.PlatformDefault = False + StyledSettings = [Family, Size] + TextSettings.Font.Style = [fsBold] + Text = 'Printing' + end + object BtnPrint: TButton + Position.X = 8.000000000000000000 + Position.Y = 1186.000000000000000000 + Size.Width = 260.000000000000000000 + Size.Height = 28.000000000000000000 + Size.PlatformDefault = False + Text = 'Print...' + OnClick = BtnPrintClick + end + end + end + object Splitter1: TSplitter + Align = Left + Cursor = crHSplit + MinSize = 200.000000000000000000 + Position.X = 280.000000000000000000 + Size.Width = 5.000000000000000000 + Size.Height = 700.000000000000000000 + Size.PlatformDefault = False + end + object MemoLog: TMemo + Align = Bottom + Position.Y = 575.000000000000000000 + Size.Width = 815.000000000000000000 + Size.Height = 125.000000000000000000 + Size.PlatformDefault = False + ReadOnly = True + TextSettings.Font.Family = 'Consolas' + TextSettings.Font.Size = 10.000000000000000000 + end + object SplitterBottom: TSplitter + Align = Bottom + Cursor = crVSplit + MinSize = 50.000000000000000000 + Position.Y = 570.000000000000000000 + Size.Width = 815.000000000000000000 + Size.Height = 5.000000000000000000 + Size.PlatformDefault = False + end +end diff --git a/Demos/FMX/FeaturesDemo/uFMXFeaturesMain.pas b/Demos/FMX/FeaturesDemo/uFMXFeaturesMain.pas new file mode 100644 index 00000000..bf80bf09 --- /dev/null +++ b/Demos/FMX/FeaturesDemo/uFMXFeaturesMain.pas @@ -0,0 +1,940 @@ +{------------------------------------------------------------------------------- +SynEdit FMX - Features Demo + +A comprehensive feature showcase demonstrating all configurable properties and +APIs of the FMX SynEdit editor: clipboard operations, editor options, appearance +settings, and status reporting. +-------------------------------------------------------------------------------} + +unit uFMXFeaturesMain; + +interface + +uses + System.SysUtils, System.Types, System.UITypes, System.Classes, + FMX.Types, FMX.Controls, FMX.Forms, FMX.StdCtrls, FMX.Layouts, + FMX.ListBox, FMX.Controls.Presentation, FMX.Memo, FMX.Edit, + FMX.SpinBox, FMX.Colors, FMX.Dialogs, + SynEdit, + SynEditTypes, + SynEditHighlighter, + FMX.SynCompletionProposal, + FMX.SynSpellCheck, + SynSpellCheckTypes, + SynSpellCheckHunspellProvider, + {$IFDEF MSWINDOWS} + SynSpellCheckWindowsProvider, + {$ENDIF} + FMX.SynEditPrint, + FMX.SynMacroRecorder, + SynMacroRecorderShared, + dlgFMXSearchText, + dlgFMXReplaceText; + +type + TFMXFeaturesForm = class(TForm) + PanelLeft: TPanel; + ScrollBox1: TVertScrollBox; + LabelHLCaption: TLabel; + ComboHL: TComboBox; + BtnLoadSample: TButton; + LabelClipboard: TLabel; + BtnCut: TButton; + BtnCopy: TButton; + BtnPaste: TButton; + BtnUndo: TButton; + BtnRedo: TButton; + BtnSelectAll: TButton; + BtnClear: TButton; + LabelOptions: TLabel; + ChkAutoIndent: TCheckBox; + ChkInsertMode: TCheckBox; + ChkReadOnly: TCheckBox; + ChkTabsToSpaces: TCheckBox; + ChkSmartTabs: TCheckBox; + LabelTabWidth: TLabel; + SpinTabWidth: TSpinBox; + LabelAppearance: TLabel; + LabelRightEdge: TLabel; + SpinRightEdge: TSpinBox; + LabelActiveColor: TLabel; + ComboActiveColor: TComboColorBox; + LabelStatus: TLabel; + LabelPosInfo: TLabel; + LabelLinesInfo: TLabel; + LabelModInfo: TLabel; + LabelCodeFolding: TLabel; + ChkCodeFolding: TCheckBox; + BtnFoldAll: TButton; + BtnUnfoldAll: TButton; + LabelSearchReplace: TLabel; + BtnSearch: TButton; + BtnReplace: TButton; + LabelCompletion: TLabel; + BtnCompletion: TButton; + LabelSpellCheckCaption: TLabel; + ChkSpellCheck: TCheckBox; + LabelProvider: TLabel; + ComboProvider: TComboBox; + LabelLanguage: TLabel; + ComboLanguage: TComboBox; + BtnCheckFile: TButton; + LabelSpellStatus: TLabel; + LabelMacroCaption: TLabel; + BtnMacroRecord: TButton; + BtnMacroPause: TButton; + BtnMacroStop: TButton; + BtnMacroPlay: TButton; + LabelMacroState: TLabel; + LabelPrintCaption: TLabel; + BtnPrint: TButton; + Splitter1: TSplitter; + MemoLog: TMemo; + SplitterBottom: TSplitter; + procedure FormCreate(Sender: TObject); + procedure ComboHLChange(Sender: TObject); + procedure BtnLoadSampleClick(Sender: TObject); + procedure BtnCutClick(Sender: TObject); + procedure BtnCopyClick(Sender: TObject); + procedure BtnPasteClick(Sender: TObject); + procedure BtnUndoClick(Sender: TObject); + procedure BtnRedoClick(Sender: TObject); + procedure BtnSelectAllClick(Sender: TObject); + procedure BtnClearClick(Sender: TObject); + procedure ChkOptionChange(Sender: TObject); + procedure ChkInsertModeChange(Sender: TObject); + procedure ChkReadOnlyChange(Sender: TObject); + procedure SpinTabWidthChange(Sender: TObject); + procedure SpinRightEdgeChange(Sender: TObject); + procedure ComboActiveColorChange(Sender: TObject); + procedure ChkCodeFoldingChange(Sender: TObject); + procedure BtnFoldAllClick(Sender: TObject); + procedure BtnUnfoldAllClick(Sender: TObject); + procedure BtnSearchClick(Sender: TObject); + procedure BtnReplaceClick(Sender: TObject); + procedure BtnCompletionClick(Sender: TObject); + procedure ChkSpellCheckChange(Sender: TObject); + procedure ComboProviderChange(Sender: TObject); + procedure ComboLanguageChange(Sender: TObject); + procedure BtnCheckFileClick(Sender: TObject); + procedure BtnMacroRecordClick(Sender: TObject); + procedure BtnMacroPauseClick(Sender: TObject); + procedure BtnMacroStopClick(Sender: TObject); + procedure BtnMacroPlayClick(Sender: TObject); + procedure BtnPrintClick(Sender: TObject); + procedure ChkWordWrapChange(Sender: TObject); + private + FEditor: TFMXSynEdit; + ChkWordWrap: TCheckBox; + FHighlighters: TList; + FUpdatingControls: Boolean; + FSearchEngine: TSynEditSearchCustom; + FRegexSearch: TSynEditSearchCustom; + FSearchDialog: TFMXSearchTextDialog; + FReplaceDialog: TFMXReplaceTextDialog; + FCompletion: TSynFMXCompletionProposal; + FSpellCheck: TSynFMXSpellCheck; + FPrintComponent: TSynFMXEditPrint; + FMacroRecorder: TFMXSynMacroRecorder; + FDictionariesPath: string; + procedure CreateHighlighters; + procedure PopulateLanguageCombo; + procedure EditorChange(Sender: TObject); + procedure EditorStatusChange(Sender: TObject); + procedure UpdateStatusLabels; + procedure LogEvent(const Msg: string); + procedure SpellCheckComplete(Sender: TObject); + procedure MacroStateChange(Sender: TObject); + end; + +var + FMXFeaturesForm: TFMXFeaturesForm; + +implementation + +{$R *.fmx} + +uses + System.IOUtils, + SynEditSearch, + SynEditRegexSearch, + SynHighlighterDelphi, + SynHighlighterCpp, + SynHighlighterJava, + SynHighlighterPython, + SynHighlighterJScript, + SynHighlighterHtml, + SynHighlighterXML, + SynHighlighterCSS, + SynHighlighterSQL, + SynHighlighterJSON, + SynHighlighterCS, + SynHighlighterIni, + SynHighlighterBat; + +procedure TFMXFeaturesForm.FormCreate(Sender: TObject); +begin + FHighlighters := TList.Create; + FUpdatingControls := False; + + // Create highlighters + CreateHighlighters; + + // Create editor programmatically in the client area + FEditor := TFMXSynEdit.Create(Self); + FEditor.Parent := Self; + FEditor.Align := TAlignLayout.Client; + FEditor.Font.Family := 'Consolas'; + FEditor.Font.Size := 12; + FEditor.TabWidth := 2; + FEditor.OnChange := EditorChange; + FEditor.OnStatusChange := EditorStatusChange; + + // Search engines + FSearchEngine := TSynEditSearch.Create(Self); + FRegexSearch := TSynEditRegexSearch.Create(Self); + FEditor.SearchEngine := FSearchEngine; + + // Completion proposal + FCompletion := TSynFMXCompletionProposal.Create(Self); + FCompletion.Editor := FEditor; + FCompletion.EndOfTokenChr := '()[]. '; + FCompletion.Options := [scoLimitToMatchedText, scoUseInsertList, + scoCompleteWithTab, scoCompleteWithEnter]; + // Populate with sample Delphi keywords + FCompletion.InsertList.AddStrings( + ['begin', 'end', 'procedure', 'function', 'var', 'const', 'type', + 'class', 'interface', 'implementation', 'uses', 'unit', 'program', + 'if', 'then', 'else', 'for', 'while', 'repeat', 'until', 'do', + 'try', 'except', 'finally', 'raise', 'with', 'case', 'of', + 'array', 'record', 'string', 'integer', 'boolean', 'True', 'False', + 'nil', 'inherited', 'override', 'virtual', 'abstract', 'property', + 'private', 'protected', 'public', 'published']); + FCompletion.ItemList.AddStrings( + ['begin', 'end', 'procedure', 'function', 'var', 'const', 'type', + 'class', 'interface', 'implementation', 'uses', 'unit', 'program', + 'if', 'then', 'else', 'for', 'while', 'repeat', 'until', 'do', + 'try', 'except', 'finally', 'raise', 'with', 'case', 'of', + 'array', 'record', 'string', 'integer', 'boolean', 'True', 'False', + 'nil', 'inherited', 'override', 'virtual', 'abstract', 'property', + 'private', 'protected', 'public', 'published']); + + // Spell check (disabled by default — matches unchecked ChkSpellCheck) + FSpellCheck := TSynFMXSpellCheck.Create(Self); + FSpellCheck.Editor := FEditor; + FSpellCheck.Enabled := False; + FSpellCheck.OnCheckComplete := SpellCheckComplete; + + // Provider / Language combos + FDictionariesPath := ExtractFilePath(ParamStr(0)) + '..\..\..\..\..\Dictionaries'; + ComboProvider.Items.Add('Hunspell (Built-in)'); + {$IFDEF MSWINDOWS} + ComboProvider.Items.Add('Windows'); + {$ENDIF} + ComboProvider.ItemIndex := 0; + PopulateLanguageCombo; + ComboLanguageChange(nil); + + // Word Wrap checkbox (programmatic - placed after code folding buttons) + ChkWordWrap := TCheckBox.Create(Self); + ChkWordWrap.Parent := ScrollBox1; + ChkWordWrap.Position.X := 8; + ChkWordWrap.Position.Y := 668; + ChkWordWrap.Size.Width := 260; + ChkWordWrap.Size.Height := 22; + ChkWordWrap.Text := 'Word Wrap'; + ChkWordWrap.OnChange := ChkWordWrapChange; + + // Macro recording + FMacroRecorder := TFMXSynMacroRecorder.Create(Self); + FMacroRecorder.Editor := FEditor; + FMacroRecorder.OnStateChange := MacroStateChange; + + // Printing + FPrintComponent := TSynFMXEditPrint.Create(Self); + + // Load first highlighter's sample + if ComboHL.Count > 0 then + begin + ComboHL.ItemIndex := 0; + ComboHLChange(nil); + BtnLoadSampleClick(nil); + end; + + UpdateStatusLabels; +end; + +procedure TFMXFeaturesForm.CreateHighlighters; + + procedure AddHL(HL: TSynCustomHighlighter); + begin + FHighlighters.Add(HL); + ComboHL.Items.Add(HL.FriendlyLanguageName); + end; + +var + Delphi: TSynDelphiSyn; + Cpp: TSynCppSyn; + Java: TSynJavaSyn; + Python: TSynPythonSyn; + JS: TSynJScriptSyn; + HTML: TSynHTMLSyn; + XML: TSynXMLSyn; + CSS: TSynCssSyn; + SQL: TSynSQLSyn; + JSON: TSynJSONSyn; + CS: TSynCSSyn; + Ini: TSynIniSyn; + Bat: TSynBatSyn; +begin + // Delphi + Delphi := TSynDelphiSyn.Create(Self); + Delphi.KeyAttri.Foreground := clNavy; + Delphi.KeyAttri.Style := [fsBold]; + Delphi.CommentAttri.Foreground := clGreen; + Delphi.CommentAttri.Style := [fsItalic]; + Delphi.StringAttri.Foreground := clBlue; + Delphi.NumberAttri.Foreground := clBlue; + Delphi.FloatAttri.Foreground := clBlue; + Delphi.HexAttri.Foreground := clBlue; + Delphi.CharAttri.Foreground := clBlue; + Delphi.DirectiveAttri.Foreground := clTeal; + Delphi.DirectiveAttri.Style := [fsItalic]; + AddHL(Delphi); + + // C++ + Cpp := TSynCppSyn.Create(Self); + Cpp.KeyAttri.Foreground := clNavy; + Cpp.KeyAttri.Style := [fsBold]; + Cpp.CommentAttri.Foreground := clGreen; + Cpp.CommentAttri.Style := [fsItalic]; + Cpp.StringAttri.Foreground := clBlue; + Cpp.NumberAttri.Foreground := clBlue; + Cpp.FloatAttri.Foreground := clBlue; + Cpp.HexAttri.Foreground := clBlue; + Cpp.CharAttri.Foreground := clBlue; + Cpp.DirecAttri.Foreground := clTeal; + AddHL(Cpp); + + // Java + Java := TSynJavaSyn.Create(Self); + Java.KeyAttri.Foreground := clNavy; + Java.KeyAttri.Style := [fsBold]; + Java.CommentAttri.Foreground := clGreen; + Java.CommentAttri.Style := [fsItalic]; + Java.DocumentAttri.Foreground := clGreen; + Java.DocumentAttri.Style := [fsItalic]; + Java.StringAttri.Foreground := clBlue; + Java.NumberAttri.Foreground := clBlue; + AddHL(Java); + + // Python + Python := TSynPythonSyn.Create(Self); + Python.KeyAttri.Foreground := clNavy; + Python.KeyAttri.Style := [fsBold]; + Python.NonKeyAttri.Foreground := clTeal; + Python.SystemAttri.Foreground := clTeal; + Python.CommentAttri.Foreground := clGreen; + Python.CommentAttri.Style := [fsItalic]; + Python.DocStringAttri.Foreground := clGreen; + Python.DocStringAttri.Style := [fsItalic]; + Python.StringAttri.Foreground := clBlue; + Python.NumberAttri.Foreground := clBlue; + Python.FloatAttri.Foreground := clBlue; + Python.HexAttri.Foreground := clBlue; + Python.OctalAttri.Foreground := clBlue; + AddHL(Python); + + // JavaScript + JS := TSynJScriptSyn.Create(Self); + JS.KeyAttri.Foreground := clNavy; + JS.KeyAttri.Style := [fsBold]; + JS.NonReservedKeyAttri.Foreground := clTeal; + JS.EventAttri.Foreground := clTeal; + JS.CommentAttri.Foreground := clGreen; + JS.CommentAttri.Style := [fsItalic]; + JS.StringAttri.Foreground := clBlue; + JS.NumberAttri.Foreground := clBlue; + AddHL(JS); + + // HTML + HTML := TSynHTMLSyn.Create(Self); + HTML.KeyAttri.Foreground := clMaroon; + HTML.KeyAttri.Style := [fsBold]; + HTML.UndefKeyAttri.Foreground := clMaroon; + HTML.CommentAttri.Foreground := clGreen; + HTML.CommentAttri.Style := [fsItalic]; + HTML.IdentifierAttri.Foreground := clRed; + HTML.ValueAttri.Foreground := clBlue; + HTML.AndAttri.Foreground := clTeal; + AddHL(HTML); + + // XML + XML := TSynXMLSyn.Create(Self); + XML.ElementAttri.Foreground := clMaroon; + XML.AttributeAttri.Foreground := clRed; + XML.NamespaceAttributeAttri.Foreground := clRed; + XML.AttributeValueAttri.Foreground := clBlue; + XML.NamespaceAttributeValueAttri.Foreground := clBlue; + XML.CommentAttri.Foreground := clGreen; + XML.CommentAttri.Style := [fsItalic]; + XML.CDATAAttri.Foreground := clTeal; + XML.EntityRefAttri.Foreground := clTeal; + XML.ProcessingInstructionAttri.Foreground := clTeal; + XML.DocTypeAttri.Foreground := clNavy; + AddHL(XML); + + // CSS + CSS := TSynCssSyn.Create(Self); + CSS.SelectorAttri.Foreground := clNavy; + CSS.SelectorAttri.Style := [fsBold]; + CSS.PropertyAttri.Foreground := clMaroon; + CSS.ValueAttri.Foreground := clBlue; + CSS.ColorAttri.Foreground := clBlue; + CSS.NumberAttri.Foreground := clBlue; + CSS.StringAttri.Foreground := clBlue; + CSS.CommentAttri.Foreground := clGreen; + CSS.CommentAttri.Style := [fsItalic]; + CSS.AtRuleAttri.Foreground := clTeal; + AddHL(CSS); + + // SQL + SQL := TSynSQLSyn.Create(Self); + SQL.KeyAttri.Foreground := clNavy; + SQL.KeyAttri.Style := [fsBold]; + SQL.CommentAttri.Foreground := clGreen; + SQL.CommentAttri.Style := [fsItalic]; + SQL.StringAttri.Foreground := clBlue; + SQL.NumberAttri.Foreground := clBlue; + SQL.DataTypeAttri.Foreground := clTeal; + SQL.DataTypeAttri.Style := [fsBold]; + SQL.FunctionAttri.Foreground := clTeal; + SQL.TableNameAttri.Foreground := clMaroon; + SQL.VariableAttri.Foreground := clMaroon; + AddHL(SQL); + + // JSON + JSON := TSynJSONSyn.Create(Self); + JSON.AttributeAttri.Foreground := clMaroon; + JSON.ValueAttri.Foreground := clBlue; + JSON.NumberAttri.Foreground := clBlue; + JSON.ReservedAttri.Foreground := clNavy; + JSON.ReservedAttri.Style := [fsBold]; + AddHL(JSON); + + // C# + CS := TSynCSSyn.Create(Self); + CS.KeyAttri.Foreground := clNavy; + CS.KeyAttri.Style := [fsBold]; + CS.CommentAttri.Foreground := clGreen; + CS.CommentAttri.Style := [fsItalic]; + CS.StringAttri.Foreground := clBlue; + CS.NumberAttri.Foreground := clBlue; + CS.DirecAttri.Foreground := clTeal; + CS.TypeAttri.Foreground := clTeal; + AddHL(CS); + + // INI + Ini := TSynIniSyn.Create(Self); + Ini.SectionAttri.Foreground := clNavy; + Ini.SectionAttri.Style := [fsBold]; + Ini.KeyAttri.Foreground := clMaroon; + Ini.CommentAttri.Foreground := clGreen; + Ini.CommentAttri.Style := [fsItalic]; + Ini.StringAttri.Foreground := clBlue; + Ini.NumberAttri.Foreground := clBlue; + AddHL(Ini); + + // Batch + Bat := TSynBatSyn.Create(Self); + Bat.KeyAttri.Foreground := clNavy; + Bat.KeyAttri.Style := [fsBold]; + Bat.CommentAttri.Foreground := clGreen; + Bat.CommentAttri.Style := [fsItalic]; + Bat.NumberAttri.Foreground := clBlue; + Bat.VariableAttri.Foreground := clMaroon; + AddHL(Bat); +end; + +// --- Highlighter --- + +procedure TFMXFeaturesForm.ComboHLChange(Sender: TObject); +var + HL: TSynCustomHighlighter; +begin + if (ComboHL.ItemIndex < 0) or (ComboHL.ItemIndex >= FHighlighters.Count) then + Exit; + HL := TSynCustomHighlighter(FHighlighters[ComboHL.ItemIndex]); + FEditor.Highlighter := HL; + LogEvent('Highlighter: ' + HL.FriendlyLanguageName); +end; + +procedure TFMXFeaturesForm.BtnLoadSampleClick(Sender: TObject); +var + HL: TSynCustomHighlighter; +begin + if (ComboHL.ItemIndex < 0) or (ComboHL.ItemIndex >= FHighlighters.Count) then + Exit; + HL := TSynCustomHighlighter(FHighlighters[ComboHL.ItemIndex]); + FEditor.Highlighter := HL; + FEditor.Text := HL.SampleSource; + LogEvent('Loaded sample: ' + HL.FriendlyLanguageName); +end; + +// --- Clipboard --- + +procedure TFMXFeaturesForm.BtnCutClick(Sender: TObject); +begin + FEditor.CutToClipboard; + LogEvent('Cut'); +end; + +procedure TFMXFeaturesForm.BtnCopyClick(Sender: TObject); +begin + FEditor.CopyToClipboard; + LogEvent('Copy'); +end; + +procedure TFMXFeaturesForm.BtnPasteClick(Sender: TObject); +begin + FEditor.PasteFromClipboard; + LogEvent('Paste'); +end; + +procedure TFMXFeaturesForm.BtnUndoClick(Sender: TObject); +begin + FEditor.Undo; + LogEvent('Undo'); +end; + +procedure TFMXFeaturesForm.BtnRedoClick(Sender: TObject); +begin + FEditor.Redo; + LogEvent('Redo'); +end; + +procedure TFMXFeaturesForm.BtnSelectAllClick(Sender: TObject); +begin + FEditor.SelectAll; + LogEvent('Select All'); +end; + +procedure TFMXFeaturesForm.BtnClearClick(Sender: TObject); +begin + FEditor.ClearAll; + LogEvent('Clear All'); +end; + +// --- Options --- + +procedure TFMXFeaturesForm.ChkOptionChange(Sender: TObject); +var + Opts: TSynEditorOptions; +begin + if FUpdatingControls then Exit; + + Opts := FEditor.Options; + + if ChkAutoIndent.IsChecked then + Include(Opts, eoAutoIndent) + else + Exclude(Opts, eoAutoIndent); + + if ChkTabsToSpaces.IsChecked then + Include(Opts, eoTabsToSpaces) + else + Exclude(Opts, eoTabsToSpaces); + + if ChkSmartTabs.IsChecked then + Include(Opts, eoSmartTabs) + else + Exclude(Opts, eoSmartTabs); + + FEditor.Options := Opts; + LogEvent('Options changed'); +end; + +procedure TFMXFeaturesForm.ChkInsertModeChange(Sender: TObject); +begin + if FUpdatingControls then Exit; + FEditor.InsertMode := ChkInsertMode.IsChecked; + LogEvent('Insert mode: ' + BoolToStr(FEditor.InsertMode, True)); +end; + +procedure TFMXFeaturesForm.ChkReadOnlyChange(Sender: TObject); +begin + if FUpdatingControls then Exit; + FEditor.ReadOnly := ChkReadOnly.IsChecked; + LogEvent('Read only: ' + BoolToStr(FEditor.ReadOnly, True)); +end; + +procedure TFMXFeaturesForm.SpinTabWidthChange(Sender: TObject); +begin + if FUpdatingControls then Exit; + FEditor.TabWidth := Round(SpinTabWidth.Value); + LogEvent('Tab width: ' + IntToStr(FEditor.TabWidth)); +end; + +// --- Appearance --- + +procedure TFMXFeaturesForm.SpinRightEdgeChange(Sender: TObject); +begin + if FUpdatingControls then Exit; + FEditor.RightEdge := Round(SpinRightEdge.Value); + LogEvent('Right edge: ' + IntToStr(FEditor.RightEdge)); +end; + +procedure TFMXFeaturesForm.ComboActiveColorChange(Sender: TObject); +begin + if FUpdatingControls then Exit; + FEditor.ActiveLineColor := ComboActiveColor.Color; + LogEvent('Active line color changed'); +end; + +// --- Status --- + +procedure TFMXFeaturesForm.EditorChange(Sender: TObject); +begin + UpdateStatusLabels; + LogEvent('Changed'); +end; + +procedure TFMXFeaturesForm.EditorStatusChange(Sender: TObject); +begin + UpdateStatusLabels; +end; + +procedure TFMXFeaturesForm.UpdateStatusLabels; +begin + LabelPosInfo.Text := Format('Line: %d Col: %d', [FEditor.CaretY, FEditor.CaretX]); + LabelLinesInfo.Text := Format('Lines: %d Sel: %s', + [FEditor.LineCount, BoolToStr(FEditor.SelAvail, True)]); + + if FEditor.Modified then + LabelModInfo.Text := 'Modified: Yes' + else + LabelModInfo.Text := 'Modified: No'; + + // Sync controls to editor state + FUpdatingControls := True; + try + ChkInsertMode.IsChecked := FEditor.InsertMode; + ChkReadOnly.IsChecked := FEditor.ReadOnly; + finally + FUpdatingControls := False; + end; +end; + +procedure TFMXFeaturesForm.LogEvent(const Msg: string); +begin + MemoLog.Lines.Add(FormatDateTime('hh:nn:ss.zzz', Now) + ' ' + Msg); + // Auto-scroll to bottom + MemoLog.GoToTextEnd; +end; + +// --- Word Wrap --- + +procedure TFMXFeaturesForm.ChkWordWrapChange(Sender: TObject); +begin + if FUpdatingControls then Exit; + FEditor.WordWrap := ChkWordWrap.IsChecked; + // Sync code folding checkbox (mutually exclusive) + if FEditor.WordWrap then + begin + FUpdatingControls := True; + try + ChkCodeFolding.IsChecked := False; + finally + FUpdatingControls := False; + end; + end; + if ChkWordWrap.IsChecked then + LogEvent('Word wrap enabled') + else + LogEvent('Word wrap disabled'); +end; + +// --- Code Folding --- + +procedure TFMXFeaturesForm.ChkCodeFoldingChange(Sender: TObject); +begin + if FUpdatingControls then Exit; + FEditor.UseCodeFolding := ChkCodeFolding.IsChecked; + // Sync word wrap checkbox (mutually exclusive) + if FEditor.UseCodeFolding then + begin + FUpdatingControls := True; + try + ChkWordWrap.IsChecked := False; + finally + FUpdatingControls := False; + end; + end; + if ChkCodeFolding.IsChecked then + LogEvent('Code folding enabled') + else + LogEvent('Code folding disabled'); +end; + +procedure TFMXFeaturesForm.BtnFoldAllClick(Sender: TObject); +begin + FEditor.CollapseAll; + LogEvent('Fold All'); +end; + +procedure TFMXFeaturesForm.BtnUnfoldAllClick(Sender: TObject); +begin + FEditor.UncollapseAll; + LogEvent('Unfold All'); +end; + +// --- Search / Replace --- + +procedure TFMXFeaturesForm.BtnSearchClick(Sender: TObject); +var + Count: Integer; +begin + if FSearchDialog = nil then + FSearchDialog := TFMXSearchTextDialog.Create(Self); + + if FSearchDialog.ShowModal = mrOk then + begin + // Swap search engine based on regex option + if FSearchDialog.IsRegex then + FEditor.SearchEngine := FRegexSearch + else + FEditor.SearchEngine := FSearchEngine; + + Count := FEditor.SearchReplace(FSearchDialog.GetSearchText, '', + FSearchDialog.SearchOptions); + if Count = 0 then + LogEvent('Search: not found') + else + LogEvent(Format('Search: %d match(es)', [Count])); + end; +end; + +procedure TFMXFeaturesForm.BtnReplaceClick(Sender: TObject); +var + Count: Integer; +begin + if FReplaceDialog = nil then + FReplaceDialog := TFMXReplaceTextDialog.Create(Self); + + if FReplaceDialog.ShowModal in [mrOk, mrAll] then + begin + // Swap search engine based on regex option + if FReplaceDialog.IsRegex then + FEditor.SearchEngine := FRegexSearch + else + FEditor.SearchEngine := FSearchEngine; + + Count := FEditor.SearchReplace(FReplaceDialog.GetSearchText, + FReplaceDialog.GetReplaceText, FReplaceDialog.SearchOptions); + if Count = 0 then + LogEvent('Replace: not found') + else + LogEvent(Format('Replace: %d replacement(s)', [Count])); + end; +end; + +// --- Completion --- + +procedure TFMXFeaturesForm.BtnCompletionClick(Sender: TObject); +begin + FCompletion.Activate; + LogEvent('Completion activated'); +end; + +// --- Spell Check --- + +procedure TFMXFeaturesForm.PopulateLanguageCombo; +var + Files: TStringDynArray; + FileName, Stem: string; + {$IFDEF MSWINDOWS} + Langs: TArray; + Lang: string; + {$ENDIF} + I: Integer; +begin + FUpdatingControls := True; + try + ComboLanguage.Items.Clear; + + if ComboProvider.ItemIndex = 0 then + begin + // Hunspell — scan for .dic files + if TDirectory.Exists(FDictionariesPath) then + begin + Files := TDirectory.GetFiles(FDictionariesPath, '*.dic'); + for FileName in Files do + begin + Stem := TPath.GetFileNameWithoutExtension(FileName); + ComboLanguage.Items.Add(Stem); + end; + end; + // Auto-select en_US + for I := 0 to ComboLanguage.Items.Count - 1 do + if ComboLanguage.Items[I] = 'en_US' then + begin + ComboLanguage.ItemIndex := I; + Break; + end; + end + {$IFDEF MSWINDOWS} + else + begin + // Windows spell checker + Langs := TSynWindowsSpellProvider.SupportedLanguages; + for Lang in Langs do + ComboLanguage.Items.Add(Lang); + // Auto-select en-US + for I := 0 to ComboLanguage.Items.Count - 1 do + if ComboLanguage.Items[I] = 'en-US' then + begin + ComboLanguage.ItemIndex := I; + Break; + end; + end; + {$ENDIF} + + // Fallback: select first if nothing matched + if (ComboLanguage.ItemIndex < 0) and (ComboLanguage.Items.Count > 0) then + ComboLanguage.ItemIndex := 0; + finally + FUpdatingControls := False; + end; +end; + +procedure TFMXFeaturesForm.ComboProviderChange(Sender: TObject); +begin + if FUpdatingControls then Exit; + PopulateLanguageCombo; + ComboLanguageChange(nil); + LogEvent('Provider: ' + ComboProvider.Items[ComboProvider.ItemIndex]); +end; + +procedure TFMXFeaturesForm.ComboLanguageChange(Sender: TObject); +var + Language: string; +begin + if FUpdatingControls then Exit; + if ComboLanguage.ItemIndex < 0 then Exit; + + Language := ComboLanguage.Items[ComboLanguage.ItemIndex]; + + if ComboProvider.ItemIndex = 0 then + FSpellCheck.Provider := TSynHunspellProvider.Create(FDictionariesPath, Language) + {$IFDEF MSWINDOWS} + else + FSpellCheck.Provider := TSynWindowsSpellProvider.Create(Language) + {$ENDIF} + ; + + LogEvent('Language: ' + Language); + + // Re-check if spell check is enabled + if FSpellCheck.Enabled then + begin + FSpellCheck.CheckFile; + LogEvent(Format('Spell check: %d error(s) found', [FSpellCheck.Errors.Count])); + end; +end; + +procedure TFMXFeaturesForm.ChkSpellCheckChange(Sender: TObject); +begin + if FUpdatingControls then Exit; + FSpellCheck.Enabled := ChkSpellCheck.IsChecked; + if ChkSpellCheck.IsChecked then + begin + FSpellCheck.CheckFile; + LogEvent('Spell check enabled'); + end + else + begin + FSpellCheck.ClearErrors; + LabelSpellStatus.Text := 'Spell check: disabled'; + LogEvent('Spell check disabled'); + end; +end; + +procedure TFMXFeaturesForm.BtnCheckFileClick(Sender: TObject); +begin + FSpellCheck.CheckFile; + LogEvent(Format('Spell check: %d error(s) found', [FSpellCheck.Errors.Count])); + if FSpellCheck.Errors.Count = 0 then + LabelSpellStatus.Text := 'Spell check: no errors' + else + LabelSpellStatus.Text := Format('Spell check: %d error(s)', + [FSpellCheck.Errors.Count]); +end; + +procedure TFMXFeaturesForm.SpellCheckComplete(Sender: TObject); +begin + if FSpellCheck.Errors.Count = 0 then + LabelSpellStatus.Text := 'Spell check: no errors' + else + LabelSpellStatus.Text := Format('Spell check: %d error(s)', + [FSpellCheck.Errors.Count]); + LogEvent(Format('Spell check complete: %d error(s)', + [FSpellCheck.Errors.Count])); +end; + +// --- Macro Recording --- + +procedure TFMXFeaturesForm.BtnMacroRecordClick(Sender: TObject); +begin + FMacroRecorder.RecordMacro(FEditor); + LogEvent('Macro: Recording started (Ctrl+Shift+R)'); +end; + +procedure TFMXFeaturesForm.BtnMacroPauseClick(Sender: TObject); +begin + if FMacroRecorder.State = msRecording then + begin + FMacroRecorder.Pause; + LogEvent('Macro: Paused'); + end + else if FMacroRecorder.State = msPaused then + begin + FMacroRecorder.Resume; + LogEvent('Macro: Resumed'); + end; +end; + +procedure TFMXFeaturesForm.BtnMacroStopClick(Sender: TObject); +begin + FMacroRecorder.Stop; + LogEvent(Format('Macro: Stopped (%d events)', [FMacroRecorder.EventCount])); +end; + +procedure TFMXFeaturesForm.BtnMacroPlayClick(Sender: TObject); +begin + if FMacroRecorder.IsEmpty then + begin + LogEvent('Macro: Nothing to play'); + Exit; + end; + FMacroRecorder.PlaybackMacro(FEditor); + LogEvent('Macro: Playback complete'); +end; + +procedure TFMXFeaturesForm.MacroStateChange(Sender: TObject); +const + StateNames: array[TSynMacroState] of string = + ('Stopped', 'Recording', 'Playing', 'Paused'); +begin + LabelMacroState.Text := 'Macro: ' + StateNames[FMacroRecorder.State]; +end; + +// --- Printing --- + +procedure TFMXFeaturesForm.BtnPrintClick(Sender: TObject); +begin + FPrintComponent.SetSynEdit(FEditor); + FPrintComponent.Print; + LogEvent('Print done'); +end; + +end. diff --git a/Demos/FMX/HighlighterDemo/FMXHighlighterDemo.dpr b/Demos/FMX/HighlighterDemo/FMXHighlighterDemo.dpr new file mode 100644 index 00000000..7d1ed741 --- /dev/null +++ b/Demos/FMX/HighlighterDemo/FMXHighlighterDemo.dpr @@ -0,0 +1,12 @@ +program FMXHighlighterDemo; + +uses + System.StartUpCopy, + FMX.Forms, + uFMXHighlighterMain in 'uFMXHighlighterMain.pas' {FMXHighlighterForm}; + +begin + Application.Initialize; + Application.CreateForm(TFMXHighlighterForm, FMXHighlighterForm); + Application.Run; +end. diff --git a/Demos/FMX/HighlighterDemo/FMXHighlighterDemo.dproj b/Demos/FMX/HighlighterDemo/FMXHighlighterDemo.dproj new file mode 100644 index 00000000..2224cb04 --- /dev/null +++ b/Demos/FMX/HighlighterDemo/FMXHighlighterDemo.dproj @@ -0,0 +1,105 @@ + + + True + Application + Debug + DCC32 + FMX + FMXHighlighterDemo.dpr + Win32 + {A1B2C3D4-E5F6-7890-ABCD-EF1234567890} + FMXHighlighterDemo + 20.3 + 3 + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + FMXHighlighterDemo + ..\dcu\$(Platform)\$(Config)\ + ..\bin\$(Platform)\$(Config)\ + SYN_SHARED;$(DCC_Define) + FMX;System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + ..\..\..\Source;..\..\..\Source\FMX;..\..\..\Source\Highlighters;$(DCC_UnitSearchPath) + + + Debug + System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + Debug + System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + 0 + RELEASE;$(DCC_Define) + false + 0 + + + DEBUG;$(DCC_Define) + + + + MainSource + + +
FMXHighlighterForm
+ fmx +
+ + Base + + + Cfg_1 + Base + + + Cfg_2 + Base + +
+ + + Delphi.Personality.12 + Application + + + + FMXHighlighterDemo.dpr + + + + True + True + + + +
diff --git a/Demos/FMX/HighlighterDemo/uFMXHighlighterMain.fmx b/Demos/FMX/HighlighterDemo/uFMXHighlighterMain.fmx new file mode 100644 index 00000000..0583b2b5 --- /dev/null +++ b/Demos/FMX/HighlighterDemo/uFMXHighlighterMain.fmx @@ -0,0 +1,34 @@ +object FMXHighlighterForm: TFMXHighlighterForm + Left = 0 + Top = 0 + Caption = 'SynEdit FMX - Highlighter Demo' + ClientHeight = 600 + ClientWidth = 900 + FormFactor.Width = 320 + FormFactor.Height = 480 + FormFactor.Devices = [Desktop] + OnCreate = FormCreate + DesignerMasterStyle = 0 + object PanelTop: TPanel + Align = Top + Size.Width = 900.000000000000000000 + Size.Height = 40.000000000000000000 + Size.PlatformDefault = False + object LabelHL: TLabel + Align = Left + StyledSettings = [Family, Size] + Size.Width = 100.000000000000000000 + Size.Height = 40.000000000000000000 + Size.PlatformDefault = False + TextSettings.HorzAlign = Center + Text = 'Highlighter:' + end + object ComboBoxHL: TComboBox + Align = Client + Size.Width = 800.000000000000000000 + Size.Height = 40.000000000000000000 + Size.PlatformDefault = False + OnChange = ComboBoxHLChange + end + end +end diff --git a/Demos/FMX/HighlighterDemo/uFMXHighlighterMain.pas b/Demos/FMX/HighlighterDemo/uFMXHighlighterMain.pas new file mode 100644 index 00000000..481a9061 --- /dev/null +++ b/Demos/FMX/HighlighterDemo/uFMXHighlighterMain.pas @@ -0,0 +1,283 @@ +{------------------------------------------------------------------------------- +SynEdit FMX - Highlighter Demo + +Demonstrates the FMX SynEdit component with various syntax highlighters. +Select a highlighter from the dropdown to see its sample source rendered. +-------------------------------------------------------------------------------} + +unit uFMXHighlighterMain; + +interface + +uses + System.SysUtils, System.Types, System.UITypes, System.Classes, + FMX.Types, FMX.Controls, FMX.Forms, FMX.StdCtrls, FMX.Layouts, + FMX.ListBox, FMX.Controls.Presentation, + SynEdit, + SynEditHighlighter; + +type + TFMXHighlighterForm = class(TForm) + PanelTop: TPanel; + LabelHL: TLabel; + ComboBoxHL: TComboBox; + procedure FormCreate(Sender: TObject); + procedure ComboBoxHLChange(Sender: TObject); + private + FEditor: TFMXSynEdit; + FHighlighters: TList; + procedure PopulateHighlighterList; + end; + +var + FMXHighlighterForm: TFMXHighlighterForm; + +implementation + +{$R *.fmx} + +uses + SynEditTypes, + SynHighlighterDelphi, + SynHighlighterCpp, + SynHighlighterJava, + SynHighlighterPython, + SynHighlighterJScript, + SynHighlighterHtml, + SynHighlighterXML, + SynHighlighterCSS, + SynHighlighterSQL, + SynHighlighterJSON, + SynHighlighterCS, + SynHighlighterIni, + SynHighlighterBat; + +procedure TFMXHighlighterForm.FormCreate(Sender: TObject); +begin + FHighlighters := TList.Create; + + // Create editor programmatically + FEditor := TFMXSynEdit.Create(Self); + FEditor.Parent := Self; + FEditor.Align := TAlignLayout.Client; + FEditor.Font.Family := 'Consolas'; + FEditor.Font.Size := 12; + FEditor.TabWidth := 2; + + PopulateHighlighterList; + + // Select first highlighter + if ComboBoxHL.Count > 0 then + begin + ComboBoxHL.ItemIndex := 0; + ComboBoxHLChange(nil); + end; +end; + +procedure TFMXHighlighterForm.PopulateHighlighterList; + + procedure AddHL(HL: TSynCustomHighlighter); + begin + FHighlighters.Add(HL); + ComboBoxHL.Items.Add(HL.FriendlyLanguageName); + end; + +var + Delphi: TSynDelphiSyn; + Cpp: TSynCppSyn; + Java: TSynJavaSyn; + Python: TSynPythonSyn; + JS: TSynJScriptSyn; + HTML: TSynHTMLSyn; + XML: TSynXMLSyn; + CSS: TSynCssSyn; + SQL: TSynSQLSyn; + JSON: TSynJSONSyn; + CS: TSynCSSyn; + Ini: TSynIniSyn; + Bat: TSynBatSyn; +begin + // Delphi + Delphi := TSynDelphiSyn.Create(Self); + Delphi.KeyAttri.Foreground := clNavy; + Delphi.KeyAttri.Style := [fsBold]; + Delphi.CommentAttri.Foreground := clGreen; + Delphi.CommentAttri.Style := [fsItalic]; + Delphi.StringAttri.Foreground := clBlue; + Delphi.NumberAttri.Foreground := clBlue; + Delphi.FloatAttri.Foreground := clBlue; + Delphi.HexAttri.Foreground := clBlue; + Delphi.CharAttri.Foreground := clBlue; + Delphi.DirectiveAttri.Foreground := clTeal; + Delphi.DirectiveAttri.Style := [fsItalic]; + AddHL(Delphi); + + // C++ + Cpp := TSynCppSyn.Create(Self); + Cpp.KeyAttri.Foreground := clNavy; + Cpp.KeyAttri.Style := [fsBold]; + Cpp.CommentAttri.Foreground := clGreen; + Cpp.CommentAttri.Style := [fsItalic]; + Cpp.StringAttri.Foreground := clBlue; + Cpp.NumberAttri.Foreground := clBlue; + Cpp.FloatAttri.Foreground := clBlue; + Cpp.HexAttri.Foreground := clBlue; + Cpp.CharAttri.Foreground := clBlue; + Cpp.DirecAttri.Foreground := clTeal; + AddHL(Cpp); + + // Java + Java := TSynJavaSyn.Create(Self); + Java.KeyAttri.Foreground := clNavy; + Java.KeyAttri.Style := [fsBold]; + Java.CommentAttri.Foreground := clGreen; + Java.CommentAttri.Style := [fsItalic]; + Java.DocumentAttri.Foreground := clGreen; + Java.DocumentAttri.Style := [fsItalic]; + Java.StringAttri.Foreground := clBlue; + Java.NumberAttri.Foreground := clBlue; + AddHL(Java); + + // Python + Python := TSynPythonSyn.Create(Self); + Python.KeyAttri.Foreground := clNavy; + Python.KeyAttri.Style := [fsBold]; + Python.NonKeyAttri.Foreground := clTeal; + Python.SystemAttri.Foreground := clTeal; + Python.CommentAttri.Foreground := clGreen; + Python.CommentAttri.Style := [fsItalic]; + Python.DocStringAttri.Foreground := clGreen; + Python.DocStringAttri.Style := [fsItalic]; + Python.StringAttri.Foreground := clBlue; + Python.NumberAttri.Foreground := clBlue; + Python.FloatAttri.Foreground := clBlue; + Python.HexAttri.Foreground := clBlue; + Python.OctalAttri.Foreground := clBlue; + AddHL(Python); + + // JavaScript + JS := TSynJScriptSyn.Create(Self); + JS.KeyAttri.Foreground := clNavy; + JS.KeyAttri.Style := [fsBold]; + JS.NonReservedKeyAttri.Foreground := clTeal; + JS.EventAttri.Foreground := clTeal; + JS.CommentAttri.Foreground := clGreen; + JS.CommentAttri.Style := [fsItalic]; + JS.StringAttri.Foreground := clBlue; + JS.NumberAttri.Foreground := clBlue; + AddHL(JS); + + // HTML + HTML := TSynHTMLSyn.Create(Self); + HTML.KeyAttri.Foreground := clMaroon; + HTML.KeyAttri.Style := [fsBold]; + HTML.UndefKeyAttri.Foreground := clMaroon; + HTML.CommentAttri.Foreground := clGreen; + HTML.CommentAttri.Style := [fsItalic]; + HTML.IdentifierAttri.Foreground := clRed; + HTML.ValueAttri.Foreground := clBlue; + HTML.AndAttri.Foreground := clTeal; + AddHL(HTML); + + // XML + XML := TSynXMLSyn.Create(Self); + XML.ElementAttri.Foreground := clMaroon; + XML.AttributeAttri.Foreground := clRed; + XML.NamespaceAttributeAttri.Foreground := clRed; + XML.AttributeValueAttri.Foreground := clBlue; + XML.NamespaceAttributeValueAttri.Foreground := clBlue; + XML.CommentAttri.Foreground := clGreen; + XML.CommentAttri.Style := [fsItalic]; + XML.CDATAAttri.Foreground := clTeal; + XML.EntityRefAttri.Foreground := clTeal; + XML.ProcessingInstructionAttri.Foreground := clTeal; + XML.DocTypeAttri.Foreground := clNavy; + AddHL(XML); + + // CSS + CSS := TSynCssSyn.Create(Self); + CSS.SelectorAttri.Foreground := clNavy; + CSS.SelectorAttri.Style := [fsBold]; + CSS.PropertyAttri.Foreground := clMaroon; + CSS.ValueAttri.Foreground := clBlue; + CSS.ColorAttri.Foreground := clBlue; + CSS.NumberAttri.Foreground := clBlue; + CSS.StringAttri.Foreground := clBlue; + CSS.CommentAttri.Foreground := clGreen; + CSS.CommentAttri.Style := [fsItalic]; + CSS.AtRuleAttri.Foreground := clTeal; + AddHL(CSS); + + // SQL + SQL := TSynSQLSyn.Create(Self); + SQL.KeyAttri.Foreground := clNavy; + SQL.KeyAttri.Style := [fsBold]; + SQL.CommentAttri.Foreground := clGreen; + SQL.CommentAttri.Style := [fsItalic]; + SQL.StringAttri.Foreground := clBlue; + SQL.NumberAttri.Foreground := clBlue; + SQL.DataTypeAttri.Foreground := clTeal; + SQL.DataTypeAttri.Style := [fsBold]; + SQL.FunctionAttri.Foreground := clTeal; + SQL.TableNameAttri.Foreground := clMaroon; + SQL.VariableAttri.Foreground := clMaroon; + AddHL(SQL); + + // JSON + JSON := TSynJSONSyn.Create(Self); + JSON.AttributeAttri.Foreground := clMaroon; + JSON.ValueAttri.Foreground := clBlue; + JSON.NumberAttri.Foreground := clBlue; + JSON.ReservedAttri.Foreground := clNavy; + JSON.ReservedAttri.Style := [fsBold]; + AddHL(JSON); + + // C# + CS := TSynCSSyn.Create(Self); + CS.KeyAttri.Foreground := clNavy; + CS.KeyAttri.Style := [fsBold]; + CS.CommentAttri.Foreground := clGreen; + CS.CommentAttri.Style := [fsItalic]; + CS.StringAttri.Foreground := clBlue; + CS.NumberAttri.Foreground := clBlue; + CS.DirecAttri.Foreground := clTeal; + CS.TypeAttri.Foreground := clTeal; + AddHL(CS); + + // INI + Ini := TSynIniSyn.Create(Self); + Ini.SectionAttri.Foreground := clNavy; + Ini.SectionAttri.Style := [fsBold]; + Ini.KeyAttri.Foreground := clMaroon; + Ini.CommentAttri.Foreground := clGreen; + Ini.CommentAttri.Style := [fsItalic]; + Ini.StringAttri.Foreground := clBlue; + Ini.NumberAttri.Foreground := clBlue; + AddHL(Ini); + + // Batch + Bat := TSynBatSyn.Create(Self); + Bat.KeyAttri.Foreground := clNavy; + Bat.KeyAttri.Style := [fsBold]; + Bat.CommentAttri.Foreground := clGreen; + Bat.CommentAttri.Style := [fsItalic]; + Bat.NumberAttri.Foreground := clBlue; + Bat.VariableAttri.Foreground := clMaroon; + AddHL(Bat); +end; + +procedure TFMXHighlighterForm.ComboBoxHLChange(Sender: TObject); +var + HL: TSynCustomHighlighter; +begin + if (ComboBoxHL.ItemIndex < 0) or + (ComboBoxHL.ItemIndex >= FHighlighters.Count) + then + Exit; + + HL := TSynCustomHighlighter(FHighlighters[ComboBoxHL.ItemIndex]); + FEditor.Highlighter := HL; + FEditor.Text := HL.SampleSource; +end; + +end. diff --git a/Demos/SynEditDemosGroup.groupproj b/Demos/SynEditDemosGroup.groupproj index 1f4e0380..23d93cc9 100644 --- a/Demos/SynEditDemosGroup.groupproj +++ b/Demos/SynEditDemosGroup.groupproj @@ -1,42 +1,42 @@ - + {C8060E47-C8E2-4651-988B-12815A27FFF5} - + - + - + - + - + - + - + - + - + - + - + - + @@ -48,112 +48,112 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/Demos/CompletionProposalDemo/CompletionProposalDemo.dpr b/Demos/VCL/CompletionProposalDemo/CompletionProposalDemo.dpr similarity index 100% rename from Demos/CompletionProposalDemo/CompletionProposalDemo.dpr rename to Demos/VCL/CompletionProposalDemo/CompletionProposalDemo.dpr diff --git a/Demos/CompletionProposalDemo/CompletionProposalDemo.dproj b/Demos/VCL/CompletionProposalDemo/CompletionProposalDemo.dproj similarity index 100% rename from Demos/CompletionProposalDemo/CompletionProposalDemo.dproj rename to Demos/VCL/CompletionProposalDemo/CompletionProposalDemo.dproj diff --git a/Demos/CompletionProposalDemo/FormMain_ctCode.dfm b/Demos/VCL/CompletionProposalDemo/FormMain_ctCode.dfm similarity index 100% rename from Demos/CompletionProposalDemo/FormMain_ctCode.dfm rename to Demos/VCL/CompletionProposalDemo/FormMain_ctCode.dfm diff --git a/Demos/CompletionProposalDemo/FormMain_ctCode.pas b/Demos/VCL/CompletionProposalDemo/FormMain_ctCode.pas similarity index 100% rename from Demos/CompletionProposalDemo/FormMain_ctCode.pas rename to Demos/VCL/CompletionProposalDemo/FormMain_ctCode.pas diff --git a/Demos/CompletionProposalDemo/FormMain_ctParams.dfm b/Demos/VCL/CompletionProposalDemo/FormMain_ctParams.dfm similarity index 100% rename from Demos/CompletionProposalDemo/FormMain_ctParams.dfm rename to Demos/VCL/CompletionProposalDemo/FormMain_ctParams.dfm diff --git a/Demos/CompletionProposalDemo/FormMain_ctParams.pas b/Demos/VCL/CompletionProposalDemo/FormMain_ctParams.pas similarity index 100% rename from Demos/CompletionProposalDemo/FormMain_ctParams.pas rename to Demos/VCL/CompletionProposalDemo/FormMain_ctParams.pas diff --git a/Demos/CompletionProposalDemo/ParamCompletionDemo.dpr b/Demos/VCL/CompletionProposalDemo/ParamCompletionDemo.dpr similarity index 100% rename from Demos/CompletionProposalDemo/ParamCompletionDemo.dpr rename to Demos/VCL/CompletionProposalDemo/ParamCompletionDemo.dpr diff --git a/Demos/CompletionProposalDemo/ParamCompletionDemo.dproj b/Demos/VCL/CompletionProposalDemo/ParamCompletionDemo.dproj similarity index 100% rename from Demos/CompletionProposalDemo/ParamCompletionDemo.dproj rename to Demos/VCL/CompletionProposalDemo/ParamCompletionDemo.dproj diff --git a/Demos/CompletionProposalDemo/sample1.png b/Demos/VCL/CompletionProposalDemo/sample1.png similarity index 100% rename from Demos/CompletionProposalDemo/sample1.png rename to Demos/VCL/CompletionProposalDemo/sample1.png diff --git a/Demos/CompletionProposalDemo/sample2.png b/Demos/VCL/CompletionProposalDemo/sample2.png similarity index 100% rename from Demos/CompletionProposalDemo/sample2.png rename to Demos/VCL/CompletionProposalDemo/sample2.png diff --git a/Demos/CompletionProposalDemo/tsyncompletionproposal.html b/Demos/VCL/CompletionProposalDemo/tsyncompletionproposal.html similarity index 100% rename from Demos/CompletionProposalDemo/tsyncompletionproposal.html rename to Demos/VCL/CompletionProposalDemo/tsyncompletionproposal.html diff --git a/Demos/EditAppDemos/EditAppDemos.bpg b/Demos/VCL/EditAppDemos/EditAppDemos.bpg similarity index 100% rename from Demos/EditAppDemos/EditAppDemos.bpg rename to Demos/VCL/EditAppDemos/EditAppDemos.bpg diff --git a/Demos/EditAppDemos/EditAppMDI.dpr b/Demos/VCL/EditAppDemos/EditAppMDI.dpr similarity index 95% rename from Demos/EditAppDemos/EditAppMDI.dpr rename to Demos/VCL/EditAppDemos/EditAppMDI.dpr index 6198c812..df58cbd7 100644 --- a/Demos/EditAppDemos/EditAppMDI.dpr +++ b/Demos/VCL/EditAppDemos/EditAppMDI.dpr @@ -36,7 +36,7 @@ uses uEditAppIntfs in 'uEditAppIntfs.pas', frmEditor in 'frmEditor.pas' {EditorForm}, dmWorkbookCommands in 'dmWorkbookCommands.pas' {CommandsDataModule: TDataModule}, - uHighlighterProcs in '..\uHighlighterProcs.pas', + uHighlighterProcs in '..\..\uHighlighterProcs.pas', dlgSearchText in '..\SearchReplaceDemo\dlgSearchText.pas' {TextSearchDialog}, dlgReplaceText in '..\SearchReplaceDemo\dlgReplaceText.pas' {TextReplaceDialog}, dlgConfirmReplace in '..\SearchReplaceDemo\dlgConfirmReplace.pas' {ConfirmReplaceDialog}; diff --git a/Demos/EditAppDemos/EditAppMDI.dproj b/Demos/VCL/EditAppDemos/EditAppMDI.dproj similarity index 97% rename from Demos/EditAppDemos/EditAppMDI.dproj rename to Demos/VCL/EditAppDemos/EditAppMDI.dproj index 037636b4..c408ae12 100644 --- a/Demos/EditAppDemos/EditAppMDI.dproj +++ b/Demos/VCL/EditAppDemos/EditAppMDI.dproj @@ -132,7 +132,7 @@
CommandsDataModule
TDataModule - +
TextSearchDialog
diff --git a/Demos/EditAppDemos/EditAppMain.dfm b/Demos/VCL/EditAppDemos/EditAppMain.dfm similarity index 100% rename from Demos/EditAppDemos/EditAppMain.dfm rename to Demos/VCL/EditAppDemos/EditAppMain.dfm diff --git a/Demos/EditAppDemos/EditAppMain.pas b/Demos/VCL/EditAppDemos/EditAppMain.pas similarity index 100% rename from Demos/EditAppDemos/EditAppMain.pas rename to Demos/VCL/EditAppDemos/EditAppMain.pas diff --git a/Demos/EditAppDemos/EditAppSDI.dpr b/Demos/VCL/EditAppDemos/EditAppSDI.dpr similarity index 95% rename from Demos/EditAppDemos/EditAppSDI.dpr rename to Demos/VCL/EditAppDemos/EditAppSDI.dpr index 524fda57..e0dca085 100644 --- a/Demos/EditAppDemos/EditAppSDI.dpr +++ b/Demos/VCL/EditAppDemos/EditAppSDI.dpr @@ -36,7 +36,7 @@ uses uEditAppIntfs in 'uEditAppIntfs.pas', frmEditor in 'frmEditor.pas' {EditorForm}, dmWorkbookCommands in 'dmWorkbookCommands.pas' {CommandsDataModule: TDataModule}, - uHighlighterProcs in '..\uHighlighterProcs.pas', + uHighlighterProcs in '..\..\uHighlighterProcs.pas', dlgSearchText in '..\SearchReplaceDemo\dlgSearchText.pas' {TextSearchDialog}, dlgReplaceText in '..\SearchReplaceDemo\dlgReplaceText.pas' {TextReplaceDialog}, dlgConfirmReplace in '..\SearchReplaceDemo\dlgConfirmReplace.pas' {ConfirmReplaceDialog}; diff --git a/Demos/EditAppDemos/EditAppSDI.dproj b/Demos/VCL/EditAppDemos/EditAppSDI.dproj similarity index 88% rename from Demos/EditAppDemos/EditAppSDI.dproj rename to Demos/VCL/EditAppDemos/EditAppSDI.dproj index 4fbda38b..d4aca9df 100644 --- a/Demos/EditAppDemos/EditAppSDI.dproj +++ b/Demos/VCL/EditAppDemos/EditAppSDI.dproj @@ -3,7 +3,7 @@ True Application Debug - ..\..\Source\Highlighters;..\..\source + ..\..\..\Source\Highlighters;..\..\..\Source;..\..\..\Source\VCL VCL EditAppSDI.dpr Win32 @@ -65,14 +65,14 @@ ..\bin\$(Platform)\$(Config)\ 00400000 Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;$(DCC_Namespace) - ..\..\Source;..\..\Source\Highlighters;$(DCC_UnitSearchPath) + ..\..\..\Source;..\..\..\Source\Highlighters;..\..\..\Source\VCL;$(DCC_UnitSearchPath) CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;CFBundleName= 1033 Debug System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - ..\..\Source\Highlighters;..\..\source + ..\..\..\Source\Highlighters;..\..\..\Source;..\..\..\Source\VCL $(BDS)\bin\default_app.manifest true CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= @@ -90,11 +90,11 @@ RELEASE;$(DCC_Define) false 0 - ..\..\Source\Highlighters;..\..\source + ..\..\..\Source\Highlighters;..\..\..\Source;..\..\..\Source\VCL PerMonitorV2 - ..\..\Source\Highlighters;..\..\source + ..\..\..\Source\Highlighters;..\..\..\Source;..\..\..\Source\VCL PerMonitorV2 @@ -105,11 +105,11 @@ true false true - ..\..\Source\Highlighters;..\..\source + ..\..\..\Source\Highlighters;..\..\..\Source;..\..\..\Source\VCL PerMonitorV2 - ..\..\Source\Highlighters;..\..\source + ..\..\..\Source\Highlighters;..\..\..\Source;..\..\..\Source\VCL PerMonitorV2 @@ -132,7 +132,7 @@
CommandsDataModule
TDataModule
- +
TextSearchDialog
diff --git a/Demos/EditAppDemos/EditAppWorkbook.dpr b/Demos/VCL/EditAppDemos/EditAppWorkbook.dpr similarity index 95% rename from Demos/EditAppDemos/EditAppWorkbook.dpr rename to Demos/VCL/EditAppDemos/EditAppWorkbook.dpr index 3e563ec7..36fcc380 100644 --- a/Demos/EditAppDemos/EditAppWorkbook.dpr +++ b/Demos/VCL/EditAppDemos/EditAppWorkbook.dpr @@ -36,7 +36,7 @@ uses uEditAppIntfs in 'uEditAppIntfs.pas', frmEditor in 'frmEditor.pas' {EditorForm}, dmWorkbookCommands in 'dmWorkbookCommands.pas' {CommandsDataModule: TDataModule}, - uHighlighterProcs in '..\uHighlighterProcs.pas', + uHighlighterProcs in '..\..\uHighlighterProcs.pas', dlgSearchText in '..\SearchReplaceDemo\dlgSearchText.pas' {TextSearchDialog}, dlgReplaceText in '..\SearchReplaceDemo\dlgReplaceText.pas' {TextReplaceDialog}, dlgConfirmReplace in '..\SearchReplaceDemo\dlgConfirmReplace.pas' {ConfirmReplaceDialog}; diff --git a/Demos/EditAppDemos/EditAppWorkbook.dproj b/Demos/VCL/EditAppDemos/EditAppWorkbook.dproj similarity index 97% rename from Demos/EditAppDemos/EditAppWorkbook.dproj rename to Demos/VCL/EditAppDemos/EditAppWorkbook.dproj index 0de8eb4f..816946d5 100644 --- a/Demos/EditAppDemos/EditAppWorkbook.dproj +++ b/Demos/VCL/EditAppDemos/EditAppWorkbook.dproj @@ -132,7 +132,7 @@
CommandsDataModule
TDataModule
- +
TextSearchDialog
diff --git a/Demos/EditAppDemos/ReadMe.txt b/Demos/VCL/EditAppDemos/ReadMe.txt similarity index 100% rename from Demos/EditAppDemos/ReadMe.txt rename to Demos/VCL/EditAppDemos/ReadMe.txt diff --git a/Demos/EditAppDemos/dmWorkbookCommands.dfm b/Demos/VCL/EditAppDemos/dmWorkbookCommands.dfm similarity index 100% rename from Demos/EditAppDemos/dmWorkbookCommands.dfm rename to Demos/VCL/EditAppDemos/dmWorkbookCommands.dfm diff --git a/Demos/EditAppDemos/dmWorkbookCommands.pas b/Demos/VCL/EditAppDemos/dmWorkbookCommands.pas similarity index 100% rename from Demos/EditAppDemos/dmWorkbookCommands.pas rename to Demos/VCL/EditAppDemos/dmWorkbookCommands.pas diff --git a/Demos/EditAppDemos/frmEditor.dfm b/Demos/VCL/EditAppDemos/frmEditor.dfm similarity index 100% rename from Demos/EditAppDemos/frmEditor.dfm rename to Demos/VCL/EditAppDemos/frmEditor.dfm diff --git a/Demos/EditAppDemos/frmEditor.pas b/Demos/VCL/EditAppDemos/frmEditor.pas similarity index 99% rename from Demos/EditAppDemos/frmEditor.pas rename to Demos/VCL/EditAppDemos/frmEditor.pas index 36b85bb4..07c9b3d0 100644 --- a/Demos/EditAppDemos/frmEditor.pas +++ b/Demos/VCL/EditAppDemos/frmEditor.pas @@ -31,7 +31,7 @@ interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Menus, uEditAppIntfs, SynEdit, SynEditTypes, SynEditMiscProcs, - SynEditMiscClasses, SynEditSearch, SynUnicode; + SynEditMiscClasses, SynEditSearch, SynUnicodeShared; type TEditorKind = (ekBorderless, ekInTabsheet, ekMDIChild); diff --git a/Demos/EditAppDemos/frmMainMDI.dfm b/Demos/VCL/EditAppDemos/frmMainMDI.dfm similarity index 100% rename from Demos/EditAppDemos/frmMainMDI.dfm rename to Demos/VCL/EditAppDemos/frmMainMDI.dfm diff --git a/Demos/EditAppDemos/frmMainMDI.pas b/Demos/VCL/EditAppDemos/frmMainMDI.pas similarity index 100% rename from Demos/EditAppDemos/frmMainMDI.pas rename to Demos/VCL/EditAppDemos/frmMainMDI.pas diff --git a/Demos/EditAppDemos/frmMainSDI.dfm b/Demos/VCL/EditAppDemos/frmMainSDI.dfm similarity index 100% rename from Demos/EditAppDemos/frmMainSDI.dfm rename to Demos/VCL/EditAppDemos/frmMainSDI.dfm diff --git a/Demos/EditAppDemos/frmMainSDI.pas b/Demos/VCL/EditAppDemos/frmMainSDI.pas similarity index 100% rename from Demos/EditAppDemos/frmMainSDI.pas rename to Demos/VCL/EditAppDemos/frmMainSDI.pas diff --git a/Demos/EditAppDemos/frmMainWorkbook.dfm b/Demos/VCL/EditAppDemos/frmMainWorkbook.dfm similarity index 100% rename from Demos/EditAppDemos/frmMainWorkbook.dfm rename to Demos/VCL/EditAppDemos/frmMainWorkbook.dfm diff --git a/Demos/EditAppDemos/frmMainWorkbook.pas b/Demos/VCL/EditAppDemos/frmMainWorkbook.pas similarity index 100% rename from Demos/EditAppDemos/frmMainWorkbook.pas rename to Demos/VCL/EditAppDemos/frmMainWorkbook.pas diff --git a/Demos/EditAppDemos/uEditAppIntfs.pas b/Demos/VCL/EditAppDemos/uEditAppIntfs.pas similarity index 100% rename from Demos/EditAppDemos/uEditAppIntfs.pas rename to Demos/VCL/EditAppDemos/uEditAppIntfs.pas diff --git a/Demos/Folding/FoldingDemo.dpr b/Demos/VCL/Folding/FoldingDemo.dpr similarity index 100% rename from Demos/Folding/FoldingDemo.dpr rename to Demos/VCL/Folding/FoldingDemo.dpr diff --git a/Demos/Folding/FoldingDemo.dproj b/Demos/VCL/Folding/FoldingDemo.dproj similarity index 100% rename from Demos/Folding/FoldingDemo.dproj rename to Demos/VCL/Folding/FoldingDemo.dproj diff --git a/Demos/Folding/FoldingDemo.res b/Demos/VCL/Folding/FoldingDemo.res similarity index 100% rename from Demos/Folding/FoldingDemo.res rename to Demos/VCL/Folding/FoldingDemo.res diff --git a/Demos/Folding/demo.cpp b/Demos/VCL/Folding/demo.cpp similarity index 100% rename from Demos/Folding/demo.cpp rename to Demos/VCL/Folding/demo.cpp diff --git a/Demos/Folding/demo.js b/Demos/VCL/Folding/demo.js similarity index 100% rename from Demos/Folding/demo.js rename to Demos/VCL/Folding/demo.js diff --git a/Demos/Folding/demo.py b/Demos/VCL/Folding/demo.py similarity index 100% rename from Demos/Folding/demo.py rename to Demos/VCL/Folding/demo.py diff --git a/Demos/Folding/uFoldingDemoForm.dfm b/Demos/VCL/Folding/uFoldingDemoForm.dfm similarity index 100% rename from Demos/Folding/uFoldingDemoForm.dfm rename to Demos/VCL/Folding/uFoldingDemoForm.dfm diff --git a/Demos/Folding/uFoldingDemoForm.pas b/Demos/VCL/Folding/uFoldingDemoForm.pas similarity index 100% rename from Demos/Folding/uFoldingDemoForm.pas rename to Demos/VCL/Folding/uFoldingDemoForm.pas diff --git a/Demos/Folding/uHighlighterProcs.pas b/Demos/VCL/Folding/uHighlighterProcs.pas similarity index 100% rename from Demos/Folding/uHighlighterProcs.pas rename to Demos/VCL/Folding/uHighlighterProcs.pas diff --git a/Demos/HighlighterDemo/HighlighterDemo.dpr b/Demos/VCL/HighlighterDemo/HighlighterDemo.dpr similarity index 100% rename from Demos/HighlighterDemo/HighlighterDemo.dpr rename to Demos/VCL/HighlighterDemo/HighlighterDemo.dpr diff --git a/Demos/HighlighterDemo/HighlighterDemo.dproj b/Demos/VCL/HighlighterDemo/HighlighterDemo.dproj similarity index 100% rename from Demos/HighlighterDemo/HighlighterDemo.dproj rename to Demos/VCL/HighlighterDemo/HighlighterDemo.dproj diff --git a/Demos/HighlighterDemo/ReadMe.txt b/Demos/VCL/HighlighterDemo/ReadMe.txt similarity index 100% rename from Demos/HighlighterDemo/ReadMe.txt rename to Demos/VCL/HighlighterDemo/ReadMe.txt diff --git a/Demos/HighlighterDemo/SynHighlighterSample.msg b/Demos/VCL/HighlighterDemo/SynHighlighterSample.msg similarity index 100% rename from Demos/HighlighterDemo/SynHighlighterSample.msg rename to Demos/VCL/HighlighterDemo/SynHighlighterSample.msg diff --git a/Demos/HighlighterDemo/SynHighlighterSample.pas b/Demos/VCL/HighlighterDemo/SynHighlighterSample.pas similarity index 99% rename from Demos/HighlighterDemo/SynHighlighterSample.pas rename to Demos/VCL/HighlighterDemo/SynHighlighterSample.pas index bb4b46a9..6ffec6ae 100644 --- a/Demos/HighlighterDemo/SynHighlighterSample.pas +++ b/Demos/VCL/HighlighterDemo/SynHighlighterSample.pas @@ -36,7 +36,7 @@ interface Graphics, SynEditTypes, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, SysUtils, Classes; diff --git a/Demos/HighlighterDemo/uHighlighterMain.dfm b/Demos/VCL/HighlighterDemo/uHighlighterMain.dfm similarity index 100% rename from Demos/HighlighterDemo/uHighlighterMain.dfm rename to Demos/VCL/HighlighterDemo/uHighlighterMain.dfm diff --git a/Demos/HighlighterDemo/uHighlighterMain.pas b/Demos/VCL/HighlighterDemo/uHighlighterMain.pas similarity index 100% rename from Demos/HighlighterDemo/uHighlighterMain.pas rename to Demos/VCL/HighlighterDemo/uHighlighterMain.pas diff --git a/Demos/MarkdownViewer/MarkdownViewerDemo.dpr b/Demos/VCL/MarkdownViewer/MarkdownViewerDemo.dpr similarity index 100% rename from Demos/MarkdownViewer/MarkdownViewerDemo.dpr rename to Demos/VCL/MarkdownViewer/MarkdownViewerDemo.dpr diff --git a/Demos/MarkdownViewer/MarkdownViewerDemo.dproj b/Demos/VCL/MarkdownViewer/MarkdownViewerDemo.dproj similarity index 100% rename from Demos/MarkdownViewer/MarkdownViewerDemo.dproj rename to Demos/VCL/MarkdownViewer/MarkdownViewerDemo.dproj diff --git a/Demos/MarkdownViewer/SynMarkdownViewer.pas b/Demos/VCL/MarkdownViewer/SynMarkdownViewer.pas similarity index 100% rename from Demos/MarkdownViewer/SynMarkdownViewer.pas rename to Demos/VCL/MarkdownViewer/SynMarkdownViewer.pas diff --git a/Demos/MarkdownViewer/frmMarkdownMain.dfm b/Demos/VCL/MarkdownViewer/frmMarkdownMain.dfm similarity index 100% rename from Demos/MarkdownViewer/frmMarkdownMain.dfm rename to Demos/VCL/MarkdownViewer/frmMarkdownMain.dfm diff --git a/Demos/MarkdownViewer/frmMarkdownMain.pas b/Demos/VCL/MarkdownViewer/frmMarkdownMain.pas similarity index 100% rename from Demos/MarkdownViewer/frmMarkdownMain.pas rename to Demos/VCL/MarkdownViewer/frmMarkdownMain.pas diff --git a/Demos/MarkdownViewer/readme.md b/Demos/VCL/MarkdownViewer/readme.md similarity index 100% rename from Demos/MarkdownViewer/readme.md rename to Demos/VCL/MarkdownViewer/readme.md diff --git a/Demos/PrintDemo/DPageSetup.dfm b/Demos/VCL/PrintDemo/DPageSetup.dfm similarity index 100% rename from Demos/PrintDemo/DPageSetup.dfm rename to Demos/VCL/PrintDemo/DPageSetup.dfm diff --git a/Demos/PrintDemo/DPageSetup.pas b/Demos/VCL/PrintDemo/DPageSetup.pas similarity index 100% rename from Demos/PrintDemo/DPageSetup.pas rename to Demos/VCL/PrintDemo/DPageSetup.pas diff --git a/Demos/PrintDemo/DTestPrintPreview.dfm b/Demos/VCL/PrintDemo/DTestPrintPreview.dfm similarity index 100% rename from Demos/PrintDemo/DTestPrintPreview.dfm rename to Demos/VCL/PrintDemo/DTestPrintPreview.dfm diff --git a/Demos/PrintDemo/DTestPrintPreview.pas b/Demos/VCL/PrintDemo/DTestPrintPreview.pas similarity index 100% rename from Demos/PrintDemo/DTestPrintPreview.pas rename to Demos/VCL/PrintDemo/DTestPrintPreview.pas diff --git a/Demos/PrintDemo/MTestPP.dfm b/Demos/VCL/PrintDemo/MTestPP.dfm similarity index 100% rename from Demos/PrintDemo/MTestPP.dfm rename to Demos/VCL/PrintDemo/MTestPP.dfm diff --git a/Demos/PrintDemo/MTestPP.pas b/Demos/VCL/PrintDemo/MTestPP.pas similarity index 100% rename from Demos/PrintDemo/MTestPP.pas rename to Demos/VCL/PrintDemo/MTestPP.pas diff --git a/Demos/PrintDemo/ReadMe.txt b/Demos/VCL/PrintDemo/ReadMe.txt similarity index 100% rename from Demos/PrintDemo/ReadMe.txt rename to Demos/VCL/PrintDemo/ReadMe.txt diff --git a/Demos/PrintDemo/TestPP.dpr b/Demos/VCL/PrintDemo/TestPP.dpr similarity index 100% rename from Demos/PrintDemo/TestPP.dpr rename to Demos/VCL/PrintDemo/TestPP.dpr diff --git a/Demos/PrintDemo/TestPP.dproj b/Demos/VCL/PrintDemo/TestPP.dproj similarity index 100% rename from Demos/PrintDemo/TestPP.dproj rename to Demos/VCL/PrintDemo/TestPP.dproj diff --git a/Demos/SearchReplaceDemo/ReadMe.txt b/Demos/VCL/SearchReplaceDemo/ReadMe.txt similarity index 100% rename from Demos/SearchReplaceDemo/ReadMe.txt rename to Demos/VCL/SearchReplaceDemo/ReadMe.txt diff --git a/Demos/SearchReplaceDemo/SearchReplaceDemo.dpr b/Demos/VCL/SearchReplaceDemo/SearchReplaceDemo.dpr similarity index 100% rename from Demos/SearchReplaceDemo/SearchReplaceDemo.dpr rename to Demos/VCL/SearchReplaceDemo/SearchReplaceDemo.dpr diff --git a/Demos/SearchReplaceDemo/SearchReplaceDemo.dproj b/Demos/VCL/SearchReplaceDemo/SearchReplaceDemo.dproj similarity index 100% rename from Demos/SearchReplaceDemo/SearchReplaceDemo.dproj rename to Demos/VCL/SearchReplaceDemo/SearchReplaceDemo.dproj diff --git a/Demos/SearchReplaceDemo/SearchReplaceMain.dfm b/Demos/VCL/SearchReplaceDemo/SearchReplaceMain.dfm similarity index 100% rename from Demos/SearchReplaceDemo/SearchReplaceMain.dfm rename to Demos/VCL/SearchReplaceDemo/SearchReplaceMain.dfm diff --git a/Demos/SearchReplaceDemo/SearchReplaceMain.pas b/Demos/VCL/SearchReplaceDemo/SearchReplaceMain.pas similarity index 99% rename from Demos/SearchReplaceDemo/SearchReplaceMain.pas rename to Demos/VCL/SearchReplaceDemo/SearchReplaceMain.pas index 7cc5b29e..c579661e 100644 --- a/Demos/SearchReplaceDemo/SearchReplaceMain.pas +++ b/Demos/VCL/SearchReplaceDemo/SearchReplaceMain.pas @@ -31,7 +31,7 @@ interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ToolWin, ImgList, ActnList, SynEdit, SynEditRegexSearch, - SynEditMiscClasses, SynEditSearch, SynUnicode, System.Actions, + SynEditMiscClasses, SynEditSearch, SynUnicodeShared, System.Actions, System.ImageList, Vcl.VirtualImageList, Vcl.BaseImageCollection, Vcl.ImageCollection, SynEditTypes; diff --git a/Demos/SearchReplaceDemo/TBMain.bmp b/Demos/VCL/SearchReplaceDemo/TBMain.bmp similarity index 100% rename from Demos/SearchReplaceDemo/TBMain.bmp rename to Demos/VCL/SearchReplaceDemo/TBMain.bmp diff --git a/Demos/SearchReplaceDemo/dlgConfirmReplace.dfm b/Demos/VCL/SearchReplaceDemo/dlgConfirmReplace.dfm similarity index 100% rename from Demos/SearchReplaceDemo/dlgConfirmReplace.dfm rename to Demos/VCL/SearchReplaceDemo/dlgConfirmReplace.dfm diff --git a/Demos/SearchReplaceDemo/dlgConfirmReplace.pas b/Demos/VCL/SearchReplaceDemo/dlgConfirmReplace.pas similarity index 100% rename from Demos/SearchReplaceDemo/dlgConfirmReplace.pas rename to Demos/VCL/SearchReplaceDemo/dlgConfirmReplace.pas diff --git a/Demos/SearchReplaceDemo/dlgReplaceText.dfm b/Demos/VCL/SearchReplaceDemo/dlgReplaceText.dfm similarity index 100% rename from Demos/SearchReplaceDemo/dlgReplaceText.dfm rename to Demos/VCL/SearchReplaceDemo/dlgReplaceText.dfm diff --git a/Demos/SearchReplaceDemo/dlgReplaceText.pas b/Demos/VCL/SearchReplaceDemo/dlgReplaceText.pas similarity index 100% rename from Demos/SearchReplaceDemo/dlgReplaceText.pas rename to Demos/VCL/SearchReplaceDemo/dlgReplaceText.pas diff --git a/Demos/SearchReplaceDemo/dlgSearchText.dfm b/Demos/VCL/SearchReplaceDemo/dlgSearchText.dfm similarity index 100% rename from Demos/SearchReplaceDemo/dlgSearchText.dfm rename to Demos/VCL/SearchReplaceDemo/dlgSearchText.dfm diff --git a/Demos/SearchReplaceDemo/dlgSearchText.pas b/Demos/VCL/SearchReplaceDemo/dlgSearchText.pas similarity index 100% rename from Demos/SearchReplaceDemo/dlgSearchText.pas rename to Demos/VCL/SearchReplaceDemo/dlgSearchText.pas diff --git a/Demos/SearchReplaceDemo/uSearchHighlighter.pas b/Demos/VCL/SearchReplaceDemo/uSearchHighlighter.pas similarity index 100% rename from Demos/SearchReplaceDemo/uSearchHighlighter.pas rename to Demos/VCL/SearchReplaceDemo/uSearchHighlighter.pas diff --git a/Demos/SimpleIDEDemo/ActionGlyphs.bmp b/Demos/VCL/SimpleIDEDemo/ActionGlyphs.bmp similarity index 100% rename from Demos/SimpleIDEDemo/ActionGlyphs.bmp rename to Demos/VCL/SimpleIDEDemo/ActionGlyphs.bmp diff --git a/Demos/SimpleIDEDemo/GutterGlyphs.bmp b/Demos/VCL/SimpleIDEDemo/GutterGlyphs.bmp similarity index 100% rename from Demos/SimpleIDEDemo/GutterGlyphs.bmp rename to Demos/VCL/SimpleIDEDemo/GutterGlyphs.bmp diff --git a/Demos/SimpleIDEDemo/ReadMe.txt b/Demos/VCL/SimpleIDEDemo/ReadMe.txt similarity index 100% rename from Demos/SimpleIDEDemo/ReadMe.txt rename to Demos/VCL/SimpleIDEDemo/ReadMe.txt diff --git a/Demos/SimpleIDEDemo/SimpleIDEDemo.dpr b/Demos/VCL/SimpleIDEDemo/SimpleIDEDemo.dpr similarity index 100% rename from Demos/SimpleIDEDemo/SimpleIDEDemo.dpr rename to Demos/VCL/SimpleIDEDemo/SimpleIDEDemo.dpr diff --git a/Demos/SimpleIDEDemo/SimpleIDEDemo.dproj b/Demos/VCL/SimpleIDEDemo/SimpleIDEDemo.dproj similarity index 86% rename from Demos/SimpleIDEDemo/SimpleIDEDemo.dproj rename to Demos/VCL/SimpleIDEDemo/SimpleIDEDemo.dproj index 8d2ec29d..8e37115e 100644 --- a/Demos/SimpleIDEDemo/SimpleIDEDemo.dproj +++ b/Demos/VCL/SimpleIDEDemo/SimpleIDEDemo.dproj @@ -3,7 +3,7 @@ True Application Debug - ..\..\Source\Highlighters;..\..\source + ..\..\..\Source;..\..\..\Source\VCL;..\..\..\Source\Highlighters VCL SimpleIDEDemo.dpr Win32 @@ -65,7 +65,7 @@ ..\bin\$(Platform)\$(Config)\ 00400000 Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;$(DCC_Namespace) - ..\..\Source;..\..\Source\Highlighters;$(DCC_UnitSearchPath) + ..\..\..\Source;..\..\..\Source\VCL;..\..\..\Source\Highlighters;$(DCC_UnitSearchPath) CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;CFBundleName= 1033 @@ -73,7 +73,7 @@ true Debug System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - ..\..\Source\Highlighters;..\..\source + ..\..\..\Source;..\..\..\Source\VCL;..\..\..\Source\Highlighters $(BDS)\bin\default_app.manifest true CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName) @@ -82,7 +82,7 @@ Debug System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) - ..\..\Source\Highlighters;..\..\source + ..\..\..\Source;..\..\..\Source\VCL;..\..\..\Source\Highlighters $(BDS)\bin\default_app.manifest true CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= @@ -92,17 +92,17 @@ RELEASE;$(DCC_Define) false 0 - ..\..\Source\Highlighters;..\..\source + ..\..\..\Source;..\..\..\Source\VCL;..\..\..\Source\Highlighters PerMonitorV2 true - ..\..\Source\Highlighters;..\..\source + ..\..\..\Source;..\..\..\Source\VCL;..\..\..\Source\Highlighters PerMonitorV2 true - ..\..\Source\Highlighters;..\..\source + ..\..\..\Source;..\..\..\Source\VCL;..\..\..\Source\Highlighters DEBUG;$(DCC_Define) @@ -110,17 +110,17 @@ true false true - ..\..\Source\Highlighters;..\..\source + ..\..\..\Source;..\..\..\Source\VCL;..\..\..\Source\Highlighters PerMonitorV2 true - ..\..\Source\Highlighters;..\..\source + ..\..\..\Source;..\..\..\Source\VCL;..\..\..\Source\Highlighters PerMonitorV2 true - ..\..\Source\Highlighters;..\..\source + ..\..\..\Source;..\..\..\Source\VCL;..\..\..\Source\Highlighters diff --git a/Demos/SimpleIDEDemo/SimpleIDEDemo.res b/Demos/VCL/SimpleIDEDemo/SimpleIDEDemo.res similarity index 89% rename from Demos/SimpleIDEDemo/SimpleIDEDemo.res rename to Demos/VCL/SimpleIDEDemo/SimpleIDEDemo.res index b5935f41..c34e9867 100644 Binary files a/Demos/SimpleIDEDemo/SimpleIDEDemo.res and b/Demos/VCL/SimpleIDEDemo/SimpleIDEDemo.res differ diff --git a/Demos/SimpleIDEDemo/SimpleIdeMain.dfm b/Demos/VCL/SimpleIDEDemo/SimpleIdeMain.dfm similarity index 94% rename from Demos/SimpleIDEDemo/SimpleIdeMain.dfm rename to Demos/VCL/SimpleIDEDemo/SimpleIdeMain.dfm index 5eda4feb..bdbca5c5 100644 --- a/Demos/SimpleIDEDemo/SimpleIdeMain.dfm +++ b/Demos/VCL/SimpleIDEDemo/SimpleIdeMain.dfm @@ -171,7 +171,6 @@ object SimpleIDEMainForm: TSimpleIDEMainForm Width = 2 end> Highlighter = SynPasSyn - ReadOnly = True ScrollbarAnnotations = <> OnSpecialLineColors = SynEditorSpecialLineColors end @@ -239,6 +238,26 @@ object SimpleIDEMainForm: TSimpleIDEMainForm OnExecute = ActionToggleBreakpointExecute OnUpdate = ActionToggleBreakpointUpdate end + object ActionMacroRecord: TAction + Category = 'Macro' + Caption = 'Record (Ctrl+Shift+R)' + ShortCut = 24658 + OnExecute = ActionMacroRecordExecute + OnUpdate = ActionMacroRecordUpdate + end + object ActionMacroStop: TAction + Category = 'Macro' + Caption = 'Stop' + OnExecute = ActionMacroStopExecute + OnUpdate = ActionMacroStopUpdate + end + object ActionMacroPlayback: TAction + Category = 'Macro' + Caption = 'Playback (Ctrl+Shift+P)' + ShortCut = 24656 + OnExecute = ActionMacroPlaybackExecute + OnUpdate = ActionMacroPlaybackUpdate + end object ActionClearAllBreakpoints: TAction Category = 'Debug' Caption = 'Clear All Breakpoints' @@ -255,6 +274,18 @@ object SimpleIDEMainForm: TSimpleIDEMainForm object MainMenu: TMainMenu Left = 36 Top = 100 + object MenuItemMacro: TMenuItem + Caption = '&Macro' + object miMacroRecord: TMenuItem + Action = ActionMacroRecord + end + object miMacroStop: TMenuItem + Action = ActionMacroStop + end + object miMacroPlayback: TMenuItem + Action = ActionMacroPlayback + end + end object MenuItemDebug: TMenuItem Caption = '&Debug' object miDebugRun: TMenuItem diff --git a/Demos/SimpleIDEDemo/SimpleIdeMain.pas b/Demos/VCL/SimpleIDEDemo/SimpleIdeMain.pas similarity index 84% rename from Demos/SimpleIDEDemo/SimpleIdeMain.pas rename to Demos/VCL/SimpleIDEDemo/SimpleIdeMain.pas index 397c25f7..0c40ffe0 100644 --- a/Demos/SimpleIDEDemo/SimpleIdeMain.pas +++ b/Demos/VCL/SimpleIDEDemo/SimpleIdeMain.pas @@ -50,6 +50,8 @@ interface SynHighlighterPas, SynEditTypes, SynEditCodeFolding, + Vcl.SynMacroRecorder, + SynMacroRecorderShared, uSimpleIDEDebugger, System.Types, Winapi.D2D1; type TSimpleIDEMainForm = class(TForm) @@ -59,6 +61,13 @@ TSimpleIDEMainForm = class(TForm) ActionDebugRun: TAction; ActionDebugStep: TAction; ActionDebugStop: TAction; + MenuItemMacro: TMenuItem; + miMacroRecord: TMenuItem; + miMacroStop: TMenuItem; + miMacroPlayback: TMenuItem; + ActionMacroRecord: TAction; + ActionMacroStop: TAction; + ActionMacroPlayback: TAction; ActionListMain: TActionList; ActionToggleBreakpoint: TAction; MainMenu: TMainMenu; @@ -106,6 +115,12 @@ TSimpleIDEMainForm = class(TForm) procedure ActionToggleBreakpointUpdate(Sender: TObject); procedure ActionClearAllBreakpointsExecute(Sender: TObject); procedure ActionClearAllBreakpointsUpdate(Sender: TObject); + procedure ActionMacroRecordExecute(Sender: TObject); + procedure ActionMacroRecordUpdate(Sender: TObject); + procedure ActionMacroStopExecute(Sender: TObject); + procedure ActionMacroStopUpdate(Sender: TObject); + procedure ActionMacroPlaybackExecute(Sender: TObject); + procedure ActionMacroPlaybackUpdate(Sender: TObject); procedure ClickDebugBand(Sender: TObject; Button: TMouseButton; X, Y, Row, Line: Integer); procedure SynEditorTSynGutterBands1MouseCursor(Sender: TObject; X, Y, Row, @@ -115,12 +130,14 @@ TSimpleIDEMainForm = class(TForm) private FCurrentLine: Integer; FDebugger: TSampleDebugger; + FMacroRecorder: TSynMacroRecorder; procedure DebuggerBreakpointChange(Sender: TObject; ALine: Integer); procedure DebuggerCurrentLineChange(Sender: TObject); procedure DebuggerStateChange(Sender: TObject; OldState, NewState: TDebuggerState); procedure DebuggerYield(Sender: TObject); procedure SetCurrentLine(ALine: Integer); + procedure MacroStateChange(Sender: TObject); end; var @@ -178,6 +195,10 @@ procedure TSimpleIDEMainForm.FormCreate(Sender: TObject); OnYield := DebuggerYield; end; TDebugSupportPlugin.Create(Self); + // Macro recorder + FMacroRecorder := TSynMacroRecorder.Create(Self); + FMacroRecorder.AddEditor(SynEditor); + FMacroRecorder.OnStateChange := MacroStateChange; Settings := TStringList.Create; try SynPasSyn.EnumUserSettings(Settings); @@ -405,5 +426,49 @@ procedure TSimpleIDEMainForm.SynEditorTSynGutterBands1PaintLines(RT: end; end; -end. +// --- Macro Recording --- + +procedure TSimpleIDEMainForm.ActionMacroRecordExecute(Sender: TObject); +begin + FMacroRecorder.RecordMacro(SynEditor); + Statusbar.SimpleText := ' Macro: Recording...'; +end; + +procedure TSimpleIDEMainForm.ActionMacroRecordUpdate(Sender: TObject); +begin + ActionMacroRecord.Enabled := FMacroRecorder.State = msStopped; +end; + +procedure TSimpleIDEMainForm.ActionMacroStopExecute(Sender: TObject); +begin + FMacroRecorder.Stop; +end; +procedure TSimpleIDEMainForm.ActionMacroStopUpdate(Sender: TObject); +begin + ActionMacroStop.Enabled := FMacroRecorder.State in [msRecording, msPaused, msPlaying]; +end; + +procedure TSimpleIDEMainForm.ActionMacroPlaybackExecute(Sender: TObject); +begin + FMacroRecorder.PlaybackMacro(SynEditor); +end; + +procedure TSimpleIDEMainForm.ActionMacroPlaybackUpdate(Sender: TObject); +begin + ActionMacroPlayback.Enabled := (FMacroRecorder.State = msStopped) and + not FMacroRecorder.IsEmpty; +end; + +procedure TSimpleIDEMainForm.MacroStateChange(Sender: TObject); +const + StateNames: array[TSynMacroState] of string = + ('Stopped', 'Recording', 'Playing', 'Paused'); +begin + Statusbar.SimpleText := ' Macro: ' + StateNames[FMacroRecorder.State]; + if FMacroRecorder.State = msStopped then + Statusbar.SimpleText := Statusbar.SimpleText + + Format(' (%d events)', [FMacroRecorder.EventCount]); +end; + +end. diff --git a/Demos/SimpleIDEDemo/uSimpleIDEDebugger.pas b/Demos/VCL/SimpleIDEDemo/uSimpleIDEDebugger.pas similarity index 100% rename from Demos/SimpleIDEDemo/uSimpleIDEDebugger.pas rename to Demos/VCL/SimpleIDEDemo/uSimpleIDEDebugger.pas diff --git a/Demos/SpellCheck/SpellCheck.dpr b/Demos/VCL/SpellCheck/SpellCheck.dpr similarity index 100% rename from Demos/SpellCheck/SpellCheck.dpr rename to Demos/VCL/SpellCheck/SpellCheck.dpr diff --git a/Demos/SpellCheck/SpellCheck.dproj b/Demos/VCL/SpellCheck/SpellCheck.dproj similarity index 100% rename from Demos/SpellCheck/SpellCheck.dproj rename to Demos/VCL/SpellCheck/SpellCheck.dproj diff --git a/Demos/SpellCheck/SpellCheck.res b/Demos/VCL/SpellCheck/SpellCheck.res similarity index 100% rename from Demos/SpellCheck/SpellCheck.res rename to Demos/VCL/SpellCheck/SpellCheck.res diff --git a/Demos/SpellCheck/SpellCheckMain.dfm b/Demos/VCL/SpellCheck/SpellCheckMain.dfm similarity index 100% rename from Demos/SpellCheck/SpellCheckMain.dfm rename to Demos/VCL/SpellCheck/SpellCheckMain.dfm diff --git a/Demos/SpellCheck/SpellCheckMain.pas b/Demos/VCL/SpellCheck/SpellCheckMain.pas similarity index 100% rename from Demos/SpellCheck/SpellCheckMain.pas rename to Demos/VCL/SpellCheck/SpellCheckMain.pas diff --git a/Demos/SpellCheck/dmSpellCheckCommands.dfm b/Demos/VCL/SpellCheck/dmSpellCheckCommands.dfm similarity index 100% rename from Demos/SpellCheck/dmSpellCheckCommands.dfm rename to Demos/VCL/SpellCheck/dmSpellCheckCommands.dfm diff --git a/Demos/SpellCheck/dmSpellCheckCommands.pas b/Demos/VCL/SpellCheck/dmSpellCheckCommands.pas similarity index 100% rename from Demos/SpellCheck/dmSpellCheckCommands.pas rename to Demos/VCL/SpellCheck/dmSpellCheckCommands.pas diff --git a/Dictionaries/en_AU.aff b/Dictionaries/en_AU.aff new file mode 100644 index 00000000..290acfe8 --- /dev/null +++ b/Dictionaries/en_AU.aff @@ -0,0 +1,209 @@ +# 2024-01-29 (Marco A.G.Pinto) +# - Fix: apostrophe handling, by adding: WORDCHARS 0123456789’ to the .aff. +# + +SET UTF-8 +TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ' +ICONV 1 +ICONV ’ ' +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 90 +REP a ei +REP ei a +REP a ey +REP ey a +REP ai ie +REP ie ai +REP alot a_lot +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 +REP size cise diff --git a/Dictionaries/en_AU.dic b/Dictionaries/en_AU.dic new file mode 100644 index 00000000..c7e8ccb7 --- /dev/null +++ b/Dictionaries/en_AU.dic @@ -0,0 +1,49824 @@ +49823 +0/nm +0th/pt +1/n1 +1st/p +1th/tc +2/nm +2nd/p +2th/tc +3/nm +3rd/p +3th/tc +4/nm +4th/pt +5/nm +5th/pt +6/nm +6th/pt +7/nm +7th/pt +8/nm +8th/pt +9/nm +9th/pt +A/SM +AA/M +AAA +AB/M +ABA +ABC/SM +ABM/SM +ABS +AC/M +ACLU/M +ACT +ACTH/M +AD/M +ADC +ADD +ADM +ADP/M +AF +AFAIK +AFB +AFC/M +AFDC +AFN +AFT +AI/SM +AIDS/M +AK +AL +AM/M +AMA +AMD/M +ANSI/S +ANZUS/M +AOL/M +AP/M +APB +APC +API +APO +APR +AR +ARC +ASAP +ASCII/SM +ASL/M +ASPCA +ATM/M +ATP/M +ATV +AV +AVI +AWACS/M +AWOL/M +AWS/M +AZ/M +AZT/M +Aachen/M +Aaliyah/M +Aaron/M +Abbas/M +Abbasid/M +Abbott/M +Abby/M +Abdul/M +Abe/M +Abel/M +Abelard/M +Abelson/M +Aberdeen/M +Abernathy/M +Abidjan/M +Abigail/M +Abilene/M +Abner/M +Aborigine/MS +Abraham/M +Abram/MS +Abrams/M +Absalom/M +Abuja/M +Abyssinia/M +Abyssinian/M +Ac/M +Acadia/M +Acapulco/M +Accenture/M +Accra/M +Acevedo/M +Achaean/M +Achebe/M +Achernar/M +Acheson/M +Achilles/M +Aconcagua/M +Acosta/M +Acropolis +Acrux/M +Actaeon/M +Acton/M +Acts/M +Acuff/M +Ada/SM +Adam/SM +Adams/M +Adan/M +Adana/M +Adar/M +Addams/M +Adderley/M +Addie/M +Addison/M +Adela/M +Adelaide/M +Adele/M +Adeline/M +Aden/M +Adenauer/M +Adhara/M +Adidas/M +Adirondack/SM +Adirondacks/M +Adkins/M +Adler/M +Adm +Admiralty +Adolf/M +Adolfo/M +Adolph/M +Adonis/MS +Adrenalin/MS +Adrian/M +Adriana/M +Adriatic/M +Adrienne/M +Advent/MS +Adventist/MS +Advil/M +Aegean/M +Aelfric/M +Aeneas/M +Aeneid/M +Aeolus/M +Aeroflot/M +Aeschylus/M +Aesculapius/M +Aesop/M +Afghan/SM +Afghani/M +Afghanistan/M +Afr +Africa/M +African/SM +Afrikaans/M +Afrikaner/SM +Afro/SM +Afrocentric +Afrocentrism/M +Ag/M +Agamemnon/M +Agana +Agassi/M +Agassiz/M +Agatha/M +Aggie/M +Aglaia/M +Agnes/M +Agnew/M +Agni/M +Agra/M +Agricola/M +Agrippa/M +Agrippina/M +Aguascalientes +Aguilar/M +Aguinaldo/M +Aguirre/M +Agustin/M +Ahab/M +Ahmad/M +Ahmadabad/M +Ahmadinejad/M +Ahmed/M +Ahriman/M +Aida/M +Aiken/M +Aileen/M +Aimee/M +Ainu/M +Airedale/MS +Aires/M +Aisha/M +Ajax/M +Akbar/M +Akhmatova/M +Akihito/M +Akita/M +Akiva/M +Akkad/M +Akron/M +Al/M +Ala/S +Alabama/M +Alabaman/MS +Alabamian/SM +Aladdin/M +Alamo/M +Alamogordo/M +Alan/M +Alana/M +Alar/M +Alaric/M +Alaska/M +Alaskan/MS +Alba/M +Albania/M +Albanian/MS +Albany/M +Albee/M +Alberio/M +Albert/M +Alberta/M +Albertan +Alberto/M +Albigensian/M +Albion/M +Albireo/M +Albuquerque/M +Albury/M +Alcatraz/M +Alcestis/M +Alcibiades/M +Alcindor/M +Alcmena/M +Alcoa/M +Alcott/M +Alcuin/M +Alcyone/M +Aldan/M +Aldebaran/M +Alden/M +Alderamin/M +Aldo/M +Aldrin/M +Alec/M +Aleichem/M +Alejandra/M +Alejandro/M +Alembert/M +Aleppo/M +Aleut/MS +Aleutian/SM +Alex/M +Alexander/MS +Alexandra/M +Alexandria/M +Alexandrian +Alexei/M +Alexis/M +Alfonso/M +Alfonzo/M +Alford/M +Alfred/M +Alfreda/M +Alfredo/M +Algenib/M +Alger/M +Algeria/M +Algerian/SM +Algieba/M +Algiers/M +Algol/M +Algonquian/SM +Algonquin/MS +Alhambra/M +Alhena/M +Ali/M +Alice/M +Alicia/M +Alighieri/M +Aline/M +Alioth/M +Alisa/M +Alisha/M +Alison/M +Alissa/M +Alistair/M +Alkaid/M +Allah/M +Allahabad/M +Allan/M +Alleghenies/M +Allegheny/SM +Allegra/M +Allen/M +Allende/M +Allentown/M +Allhallows/M +Allie/MS +Allison/M +Allstate/M +Allyson/M +Alma/M +Almach/M +Almaty/M +Almighty/M +Almohad/M +Almoravid/M +Alnilam/M +Alnitak/M +Alonzo/M +Alpert/M +Alphard/M +Alphecca/M +Alpheratz/M +Alphonse/M +Alphonso/M +Alpine/M +Alpo/M +Alps/M +Alsace/M +Alsatian/SM +Alsop/M +Alston/M +Alta/M +Altaba/M +Altai/M +Altaic/M +Altair/M +Altamira/M +Althea/M +Altiplano/M +Altman/M +Altoids/M +Alton/M +Aludra/M +Alva/M +Alvarado/M +Alvarez/M +Alvaro/M +Alvin/M +Alyce/M +Alyson/M +Alyssa/M +Alzheimer/M +Am/MNR +Amadeus/M +Amado/M +Amalia/M +Amanda/M +Amarillo/M +Amaru/M +Amaterasu/M +Amati/M +Amazon/SM +Amazonian +Amber/M +Amelia/M +Amen/M +Amenhotep/M +Amerasian/M +America/SM +American/MS +Americana/M +Americanisation/MS +Americanise/GDS +Americanism/MS +Amerind/SM +Amerindian/MS +Ameslan/M +Amgen/M +Amharic/M +Amherst/M +Amie/M +Amiga/M +Amish/M +Amman/M +Amoco/M +Amos/M +Amparo/M +Ampere/M +Amritsar/M +Amsterdam/M +Amtrak/M +Amundsen/M +Amur/M +Amway/M +Amy/M +Ana/M +Anabaptist/M +Anabel/M +Anacin/M +Anacreon/M +Anaheim/M +Analects/M +Ananias/M +Anasazi/M +Anastasia/M +Anatole/M +Anatolia/M +Anatolian/M +Anaxagoras/M +Anchorage/M +Andalusia/M +Andalusian/M +Andaman/M +Andean/M +Andersen/M +Anderson/M +Andes/M +Andorra/M +Andorran/SM +Andre/MS +Andrea/M +Andrei/M +Andres/M +Andretti/M +Andrew/SM +Andrews/M +Andrianampoinimerina/M +Android/M +Andromache/M +Andromeda/M +Andropov/M +Andy/M +Angara/M +Angel/M +Angela/M +Angeles/M +Angelia/M +Angelica/M +Angelico/M +Angelina/M +Angeline/M +Angelique/M +Angelita/M +Angelo/M +Angelou/M +Angevin/M +Angie/M +Angkor/M +Angle/MS +Anglia/M +Anglican/SM +Anglicanism/MS +Anglicism/MS +Anglicization +Anglicize +Anglo/M +Anglophile/M +Anglophobe +Angola/M +Angolan/MS +Angora/SM +Angstrom/M +Anguilla/M +Angus/M +Anhui/M +Aniakchak/M +Anibal/M +Anita/M +Ankara/M +Ann/M +Anna/M +Annabel/M +Annabelle/M +Annam/M +Annapolis/M +Annapurna/M +Anne/M +Annette/M +Annie/M +Annmarie/M +Annunciation/SM +Anouilh/M +Anselm/M +Anselmo/M +Anshan/M +Antaeus/M +Antananarivo/M +Antarctic/M +Antarctica/M +Antares/M +Anthony/M +Anthropocene +Antichrist/SM +Antietam/M +Antifa/M +Antigone/M +Antigua/M +Antillean +Antilles/M +Antioch/M +Antipas/M +Antipodes +Antofagasta/M +Antoine/M +Antoinette/M +Anton/M +Antone/M +Antonia/M +Antoninus/M +Antonio/M +Antonius/M +Antony/M +Antwan/M +Antwerp/M +Anubis/M +Anzac/M +Apache/SM +Apalachicola/M +Apatosaurus +Apennines/M +Aphrodite/M +Apia/M +Apocalypse/M +Apocrypha/M +Apollinaire/M +Apollo/SM +Apollonian/M +Apostle/M +Appalachia/M +Appalachian/SM +Appalachians/M +Appaloosa/SM +Apple/M +Appleseed/M +Appleton/M +Appomattox/M +Apr/M +April/MS +Apuleius/M +Aquafresh/M +Aquarian +Aquarius/MS +Aquila/M +Aquinas/M +Aquino/M +Aquitaine/M +Ar/M +Ara/M +Arab/SM +Arabia/M +Arabian/MS +Arabic/M +Arabist/MS +Araby/M +Araceli/M +Arafat/M +Aragon +Araguaya/M +Aral/M +Aramaic/M +Aramco/M +Arapaho/MS +Arapahoes +Ararat/M +Araucanian/M +Arawak/M +Arawakan/M +Arbitron/M +Arcadia/M +Arcadian/M +Archean/M +Archibald/M +Archie/M +Archimedes/M +Arctic/M +Arcturus/M +Ardabil +Arden/M +Arduino/M +Arequipa/M +Ares/M +Argentina/M +Argentine/M +Argentinean +Argentinian/MS +Argo/SM +Argonaut/MS +Argonne/M +Argos/M +Argus/M +Ariadne/M +Arianism/M +Ariel/M +Aries/MS +Ariosto/M +Aristarchus/M +Aristides/M +Aristophanes/M +Aristotelian/M +Aristotle/M +Arius/M +Ariz +Arizona/M +Arizonan/SM +Arizonian/MS +Arjuna/M +Ark/M +Arkansan/MS +Arkansas/M +Arkhangelsk/M +Arkwright/M +Arlene/M +Arline/M +Arlington/M +Armageddon/SM +Armagnac/M +Armand/M +Armando/M +Armani/M +Armenia/M +Armenian/SM +Armidale/M +Arminius/M +Armonk/M +Armour/M +Armstrong/M +Arneb/M +Arnhem/M +Arno/M +Arnold/M +Arnulfo/M +Aron/M +Arrhenius/M +Arron/M +Art/M +Artaxerxes/M +Artemis/M +Arthur/M +Arthurian/M +Artie/M +Arturo/M +Aruba/M +Aryan/MS +As/M +Asama/M +Ascella/M +Ascension/M +Asgard/M +Ashanti/M +Ashcroft/M +Ashe/M +Ashgabat +Ashikaga/M +Ashkenazim/M +Ashkhabad/M +Ashlee/M +Ashley/M +Ashmolean/M +Ashurbanipal/M +Asia/M +Asiago +Asian/MS +Asiatic/SM +Asimov/M +Asmara/M +Asoka/M +Aspell/M +Aspen/M +Asperger/M +Aspidiske/M +Asquith/M +Assad/M +Assam/M +Assamese/M +Assembly +Assisi/M +Assyria/M +Assyrian/SM +Astaire/M +Astana/M +Astarte/M +Aston/M +Astor/M +Astoria/M +Astrakhan/M +AstroTurf/M +Asturias/M +Asuncion/M +Aswan/M +At/SM +Atacama/M +Atahualpa/M +Atalanta/M +Atari/M +Ataturk/M +Athabasca/M +Athabaskan/SM +Athanasius +Athena/M +Athene/M +Athenian/SM +Athens/M +Atkins/M +Atkinson/M +Atlanta/M +Atlantes +Atlantic/M +Atlantis/M +Atlas/MS +Atman/M +Atonement +Atreus/M +Atria/M +Atropos/M +Attic/M +Attica/M +Attila/M +Attlee/M +Attn +Attucks/M +Atwood/M +Au/M +Aubrey/M +Auckland/M +Auden/M +Audi/M +Audion/M +Audra/M +Audrey/M +Audubon/M +Aug/M +Augean/M +Augsburg/M +August/MS +Augusta/M +Augustan/M +Augustine/M +Augustinian/MS +Augustus/M +Aurangzeb/M +Aurelia/M +Aurelio/M +Aurelius/M +Aureomycin/M +Auriga/M +Aurora/M +Auschwitz/M +Aussie/MS +Austen/M +Austerlitz/M +Austin/MS +Australasia/M +Australasian +Australia/M +Australian/SM +Australoid/M +Australopithecus/M +Austria/M +Austrian/SM +Austronesian/M +Autumn/M +Av/M +Ava/M +Avalon/M +Ave/M +Aventine/M +Avernus/M +Averroes/M +Avery/M +Avesta/M +Avicenna/M +Avignon/M +Avila/M +Avior/M +Avis/M +Avogadro/M +Avon/M +Axis +Axum/M +Ayala/M +Ayers/M +Aymara/M +Ayrshire/M +Ayurveda/M +Ayyubid/M +Azana/M +Azania/M +Azazel/M +Azerbaijan/M +Azerbaijani/MS +Azores/M +Azov/M +Aztec/SM +Aztecan/M +Aztlan/M +B/MNT +BA/M +BASIC/SM +BB/M +BBB/M +BBC/M +BBQ +BBS +BBSes +BC/M +BFF +BIA +BIOS +BITNET +BLT/SM +BM/M +BMW/M +BO +BP/M +BPOE +BR +BS/M +BSA +BSD/SM +BTU +BTW +BYOB +Ba/M +Baal/SM +Baath/M +Baathist/M +Babbage/M +Babbitt/M +Babel/MS +Babylon/MS +Babylonia/M +Babylonian/SM +Bacall/M +Bacardi/M +Bacchanalia/M +Bacchic +Bacchus/M +Bach/M +Backus/M +Bacon/M +Bactria/M +Baden/M +Badlands/M +Baedeker/MS +Baeria/M +Baeyer/M +Baez/M +Baffin/M +Baggies/M +Baghdad/M +Baguio/M +Baha'i/M +Baha'ullah/M +Bahama/SM +Bahamanian +Bahamas/M +Bahamian/MS +Bahia/M +Bahrain/M +Baidu/M +Baikal/M +Bailey/M +Baird/M +Bairnsdale/M +Bakelite/M +Baker/M +Bakersfield/M +Baku/M +Bakunin/M +Balanchine/M +Balaton/M +Balboa/M +Balder/M +Baldwin/SM +Balearic/M +Balfour/M +Bali/M +Balinese/M +Balkan/MS +Balkans/M +Balkhash/M +Ball/M +Ballarat/M +Ballard/M +Ballina/M +Balthazar/M +Baltic/M +Baltimore/M +Baluchistan/M +Balzac/M +Bamako/M +Bambi/M +Banach/M +Bancroft/M +Bandung/M +Bangalore/M +Bangkok/M +Bangladesh/M +Bangladeshi/SM +Bangor/M +Bangui/M +Banjarmasin/M +Banjul/M +Banks/M +Banneker/M +Bannister/M +Banting/M +Bantu/MS +Baotou/M +Baptist/SM +Baptiste/M +Barabbas/M +Barack/M +Barbadian/SM +Barbados/M +Barbara/M +Barbarella/M +Barbarossa/M +Barbary/M +Barber/M +Barbie/M +Barbour/M +Barbra/M +Barbuda/M +Barcelona/M +Barclay/SM +Barclays/M +Bardeen/M +Barents/M +Barker/M +Barkley/M +Barlow/M +Barnabas/M +Barnaby/M +Barnard/M +Barnaul/M +Barnes/M +Barnett/M +Barney/M +Barnum/M +Baroda/M +Barquisimeto/M +Barr/M +Barranquilla/M +Barrera/M +Barrett/M +Barrie/M +Barron/M +Barry/M +Barrymore/M +Bart/M +Barth/MS +Bartholdi/M +Bartholomew/M +Bartlett/M +Bartok/M +Barton/M +Baruch/M +Baryshnikov/M +Basel/M +Basho/M +Basie/M +Basil/M +Basque/MS +Basra/M +Bass/M +Basseterre/M +Bastille/M +Basutoland/M +Bataan/M +Bates/M +Bathsheba/M +Bathurst/M +Batista/M +Batman/M +Battle/M +Batu/M +Baudelaire/M +Baudouin/M +Baudrillard/M +Bauer/M +Bauhaus/M +Baum/M +Bavaria/M +Bavarian/M +Baxter/M +Bayamon +Bayer/M +Bayes/M +Bayesian/M +Bayeux/M +Baylor/M +Bayonne/M +Bayreuth/M +Baywatch/M +Be/MH +Beach/M +Beadle/M +Bean/M +Beard/M +Beardmore/M +Beardsley/M +Bearnaise/M +Beasley/M +Beatlemania/M +Beatles/M +Beatrice/M +Beatrix/M +Beatriz/M +Beatty/M +Beau/M +Beaufort/M +Beaujolais/M +Beaumarchais/M +Beaumont/M +Beauregard/M +Beauvoir/M +Bechtel/M +Beck/MR +Becker/M +Becket/M +Beckett/M +Beckman +Becky/M +Becquerel/M +Bede/M +Bedouin/SM +Beebe/M +Beecher/M +Beefaroni/M +Beelzebub/M +Beerbohm/M +Beethoven/M +Beeton/M +Begin/M +Behan/M +Behring/M +Beiderbecke/M +Beijing/M +Beirut/M +Bekesy/M +Bela/M +Belarus/M +Belarusian +Belau/M +Belem/M +Belfast/M +Belg +Belgian/SM +Belgium/M +Belgrade/M +Belinda/M +Belize/M +Bell/M +Bella/M +Bellamy/M +Bellatrix/M +Belleek/M +Bellini/M +Bellow/M +Belmont/M +Belmopan/M +Belorussian/MS +Belshazzar/M +Beltane/M +Belushi/M +Ben/M +Benacerraf/M +Benchley/M +Bender/M +Bendictus +Bendigo/M +Bendix/M +Benedict/M +Benedictine/MS +Benelux/M +Benet/M +Benetton/M +Bengal/SM +Bengali/M +Benghazi/M +Benin/M +Beninese/M +Benita/M +Benito/M +Benjamin/M +Bennett/M +Bennie/M +Benny/M +Benson/M +Bentham/M +Bentley/M +Benton/M +Benz/M +Benzedrine/M +Beowulf/M +Berber/SM +Berenice/M +Beretta/M +Berg/MNR +Bergen/M +Berger/M +Bergerac/M +Bergman/M +Bergson/M +Bering/M +Berkeley/M +Berkshire/SM +Berkshires/M +Berle/M +Berlin/SZMR +Berliner/M +Berlioz/M +Berlitz/M +Bermuda/SM +Bermudan/SM +Bermudian/SM +Bern/M +Bernadette/M +Bernadine/M +Bernanke/M +Bernard/M +Bernardo/M +Bernays/M +Bernbach/M +Bernese +Bernhardt/M +Bernice/M +Bernie/M +Bernini/M +Bernoulli/M +Bernstein/M +Berra/M +Berry/M +Bert/M +Berta/M +Bertelsmann/M +Bertha/M +Bertie/M +Bertillon/M +Bertram/M +Bertrand/M +Beryl/M +Berzelius/M +Bess/M +Bessel/M +Bessemer/M +Bessie/M +Best/M +Betelgeuse/M +Beth/M +Bethany/M +Bethe/M +Bethesda/M +Bethlehem/M +Bethune/M +Betsy/M +Bette/M +Bettie/M +Betty/M +Bettye/M +Beulah/M +Beveridge +Beverley/M +Beverly/M +Bharat/M +Bhopal/M +Bhutan/M +Bhutanese/M +Bhutto/M +Bi/M +Bialystok/M +Bianca/M +Bib +Bible/MS +Bic/M +Biddle/M +Biden/M +Bierce/M +BigQuery/M +Bigfoot/M +Biggles/M +Biko/M +Bilbao/M +Bilbo/M +Bill/MJ +Billie/M +Billings/M +Billy/M +Bimini/M +Biogen/M +Bioko/M +Bird/M +Birdseye/M +Birkenstock/M +Birmingham/M +Biro/M +Biscay/M +Biscayne/M +Bishkek/M +Bishop/M +Bismarck/M +Bismark/M +Bisquick/M +Bissau/M +BitTorrent/M +Bizet/M +Bjerknes/M +Bjork/M +Bk/M +BlackBerry/M +Blackbeard/M +Blackburn/M +Blackfeet/M +Blackfoot/M +Blackpool/M +Blackshirt/M +Blackstone/M +Blackwell/M +Blaine/M +Blair/M +Blake/M +Blanca/M +Blanchard/M +Blanche/M +Blankenship/M +Blantyre/M +Blatz/M +Blavatsky/M +Blenheim/M +Blevins/M +Bligh/M +Bloch/M +Blockbuster/M +Bloemfontein/M +Blondel/M +Blondie/M +Bloom/MR +Bloomer/M +Bloomfield/M +Bloomingdale/M +Bloomsbury/M +Blu +Blucher/M +Bluebeard/M +Bluetooth/M +Blvd +Blythe/M +Boadicea +Boas/M +Bob/M +Bobbi/M +Bobbie/M +Bobbitt/M +Bobby/M +Boccaccio/M +Bodhidharma/M +Bodhisattva/M +Bodleian +Boeing/M +Boeotia/M +Boeotian/M +Boer/SM +Boethius/M +Bogart/M +Bogota/M +Bohemia/M +Bohemian/SM +Bohr/M +Boise/M +Bojangles/M +Boleyn/M +Bolivar/M +Bolivia/M +Bolivian/MS +Bollywood/M +Bologna/M +Bolshevik/SM +Bolsheviki +Bolshevism/M +Bolshevist/M +Bolshoi/M +Bolton/M +Boltzmann/M +Bomaderry/M +Bombay/M +Bonaparte/M +Bonaventure/M +Bond/M +Bonhoeffer/M +Boniface/M +Bonita/M +Bonn/MR +Bonner/M +Bonneville/M +Bonnie/M +Bono/M +Booker/M +Boole/M +Boolean/M +Boone/M +Bootes/M +Booth/M +Bordeaux/M +Borden/M +Bordon/M +Boreas/M +Borg/SM +Borges/M +Borgia/M +Borglum/M +Boris/M +Bork/M +Borlaug/M +Born/M +Borneo/M +Borobudur/M +Borodin/M +Boru/M +Bosch/M +Bose/M +Bosnia/M +Bosnian +Bosporus/M +Boston/MS +Bostonian/M +Boswell/M +Botha +Botox +Botswana/M +Botticelli/M +Boulder/M +Boulez/M +Bourbaki/M +Bourbon/SM +Bournemouth/M +Bovary/M +Bowditch/M +Bowell/M +Bowen/M +Bowers/M +Bowery/M +Bowie/M +Bowman/M +Bowral/M +Boyd/M +Boyer/M +Boyle/M +Br/MT +Brad/MY +Bradbury/M +Braddock/M +Bradford/M +Bradley/M +Bradly/M +Bradshaw/M +Bradstreet/M +Brady/M +Bragg/M +Brahe/M +Brahma/MS +Brahmagupta/M +Brahman/MS +Brahmani +Brahmanism/SM +Brahmaputra/M +Brahms/M +Braille/MS +Brain/M +Brampton/M +Bran/M +Branch/M +Brandeis/M +Branden/M +Brandenburg/M +Brandi/M +Brandie/M +Brando/M +Brandon/M +Brandt/M +Brandy/M +Brant/M +Braque/M +Brasilia/M +Bratislava/M +Brattain/M +Bray/M +Brazil/M +Brazilian/MS +Brazos/M +Brazzaville/M +Breakspear/M +Breathalyzer +Brecht/M +Breckenridge/M +Bremen/M +Brenda/M +Brendan/M +Brennan/M +Brenner/M +Brent/M +Brenton/M +Brest/M +Bret/M +Breton/M +Brett/M +Brewer/M +Brewster/M +Brexit +Brezhnev/M +Brian/M +Briana/M +Brianna/M +Brice/M +Bridalveil/M +Bridgeport/M +Bridger/M +Bridges/M +Bridget/M +Bridgetown/M +Bridgett/M +Bridgette/M +Bridgman/M +Brie/SM +Brigadoon/M +Briggs/M +Brigham/M +Bright/M +Brighton/M +Brigid/M +Brigitte/M +Brillo/M +Brillouin +Brinkley/M +Brisbane/M +Bristol/M +Brit/SM +Britain/M +Britannia/M +Britannic/M +Britannica/M +Briticism/SM +British/MRZ +Britisher/M +Britney/M +Briton/MS +Britt/MN +Brittany/SM +Britten/M +Brittney/M +Brno/M +Broadway/SM +Brobdingnag/M +Brobdingnagian/M +Brock/M +Brokaw/M +Bronson/M +Bronte/M +Brontosaurus +Bronx/M +Brooke/MS +Brooklyn/M +Brooks/M +Broome/M +Bros +Brown/MG +Browne/M +Brownian/M +Brownie/S +Browning/M +Brownshirt/M +Brownsville/M +Brubeck/M +Bruce/M +Bruckner/M +Bruegel +Brummel/M +Brunei/M +Bruneian/MS +Brunelleschi/M +Brunhilde/M +Bruno/M +Brunswick/M +Brussels/M +Brut/M +Brutus/M +Bryan/M +Bryant/M +Bryce/M +Brynner/M +Bryon/M +Brzezinski/M +Btu/M +Buber/M +Buchanan/M +Bucharest/M +Buchenwald/M +Buchwald/M +Buck/M +Buckingham/M +Buckley/M +Buckner/M +Bud/M +Budapest/M +Buddha/SM +Buddhism/SM +Buddhist/SM +Buddy/M +Budweiser/M +Buffalo/M +Buffy/M +Buford/M +Bugatti/M +Bugzilla/M +Buick/M +Bujumbura/M +Bukhara/M +Bukharin/M +Bulawayo/M +Bulfinch/M +Bulganin/M +Bulgar/M +Bulgari/M +Bulgaria/M +Bulgarian/SM +Bullock/M +Bullwinkle/M +Bultmann/M +Bumppo/M +Bunbury/M +Bunche/M +Bundaberg/M +Bundesbank/M +Bundestag/M +Bunin/M +Bunker/M +Bunsen/M +Bunuel/M +Bunyan/M +Burbank/M +Burberry/M +Burch/M +Burger/M +Burgess/M +Burgoyne/M +Burgundian/M +Burgundy/SM +Burke/M +Burks/M +Burl/M +Burlington/M +Burma/M +Burmese/M +Burnett/M +Burnie/M +Burns/M +Burnside/M +Burr/M +Burris/M +Burroughs/M +Bursa/M +Burt/M +Burton/M +Burundi/M +Burundian/MS +Busch/M +Bush/M +Bushido/M +Bushnell/M +Busselton/M +Butler/M +Butterfingers/M +Buxtehude/M +Byblos/M +Byers/M +Byrd/M +Byron/M +Byronic/M +Byzantine/MS +Byzantium/M +C/SM +CA +CAD/M +CAI +CAM +CAP +CARE +CATV +CB +CBC/M +CBS/M +CCTV +CCU +CD/SM +CDC +CDT +CEO/M +CF +CFC/M +CFO +CGI +CIA/M +CID +CNN/M +CNS/M +CO/M +COBOL/SM +COD +COL +COLA +COVID +CPA/M +CPI/M +CPO +CPR/M +CPU/M +CRT/SM +CSS/M +CST/M +CT/M +CV +CVS/M +CZ +Ca/M +Cabernet/M +Cabot/M +Cabral/M +Cabrera/M +Cabrini/M +Cadette +Cadillac/M +Cadiz/M +Caedmon/M +Caerphilly/M +Caesar/SM +Cage/M +Cagney/M +Cahokia/M +Caiaphas/M +Cain/SM +Cairns/M +Cairo/M +Caitlin/M +Cajun/MS +Cal/M +Calais/M +Calcutta/M +Calder/M +Calderon/M +Caldwell/M +Caleb/M +Caledonia/M +Calgary/M +Calhoun/M +Cali/M +Caliban/M +Calif +California/M +Californian/SM +Caligula/M +Callaghan/M +Callahan/M +Callao/M +Callas/M +Callie/M +Calliope/M +Callisto/M +Caloocan/M +Calvary/M +Calvert/M +Calvin/M +Calvinism/MS +Calvinist/MS +Calvinistic +Camacho/M +Cambodia/M +Cambodian/SM +Cambrian/SM +Cambridge/M +Camden/M +Camel/M +Camelopardalis/M +Camelot/MS +Camembert/MS +Cameron/M +Cameroon/SM +Cameroonian/MS +Camilla/M +Camille/M +Camoens/M +Campanella/M +Campbell/M +Campinas/M +Campos/M +Camry/M +Camus/M +Can/M +Canaan/M +Canaanite/MS +Canad +Canada/M +Canadian/SM +Canadianism +Canaletto/M +Canaries/M +Canaveral/M +Canberra/M +Cancer/SM +Cancun/M +Candace/M +Candice/M +Candide/M +Candy/M +Cannes/M +Cannon/M +Canon/M +Canopus/M +Cantabrigian/M +Canterbury/M +Canton/M +Cantonese/M +Cantor/M +Cantrell/M +Cantu/M +Canute/M +Capablanca/M +Capek/M +Capella/M +Capet/M +Capetian/M +Capetown/M +Caph/M +Capistrano/M +Capitol/SM +Capitoline/M +Capone/M +Capote/M +Capra/M +Capri/M +Capricorn/MS +Capt +Capuchin/M +Capulet/M +Cara/M +Caracalla/M +Caracas/M +Caravaggio/M +Carboloy/M +Carboniferous/M +Carborundum/M +Cardenas/M +Cardiff/M +Cardin/M +Cardozo/M +Carey/M +Carib/MS +Caribbean/MS +Carina/M +Carissa/M +Carl/M +Carla/M +Carlene/M +Carlin/M +Carlo/MS +Carlos/M +Carlsbad/M +Carlson/M +Carlton/M +Carly/M +Carlyle/M +Carmela/M +Carmella/M +Carmelo/M +Carmen/M +Carmichael/M +Carmine/M +Carnap/M +Carnation/M +Carnegie/M +Carney/M +Carnot/M +Carol/M +Carole/M +Carolina/M +Caroline/M +Carolingian/M +Carolinian/M +Carolyn/M +Carpathian/SM +Carpathians/M +Carpenter/M +Carr/M +Carranza/M +Carrie/RM +Carrier/M +Carrillo/M +Carroll/M +Carson/M +Carter/M +Cartesian/M +Carthage/M +Carthaginian/MS +Cartier/M +Cartwright/M +Caruso/M +Carver/M +Cary/M +Casablanca/M +Casals/M +Casandra/M +Casanova/SM +Cascades/M +Case/M +Casey/M +Cash/M +Casio/M +Caspar/M +Caspian/M +Cassandra/SM +Cassatt/M +Cassidy/M +Cassie/M +Cassiopeia/M +Cassius/M +Castaneda/M +Castilian +Castillo/M +Castlereagh/M +Castor/M +Castries/M +Castro/M +Catalan/SM +Catalina/M +Catalonia/M +Catawba/M +Caterpillar/M +Cathay/M +Cather/M +Catherine/M +Cathleen/M +Catholic/MS +Catholicism/MS +Cathryn/M +Cathy/M +Catiline/M +Cato/M +Catskill/SM +Catskills/M +Catt/M +Catullus/M +Caucasian/MS +Caucasoid +Caucasus/M +Cauchy/M +Cavendish/M +Cavour/M +Caxton/M +Cayenne/M +Cayman/M +Cayuga/SM +Cayuse +Cb +Cd/M +Ce/M +Ceausescu/M +Cebu/M +Cebuano/M +Cecelia/M +Cecil/M +Cecile/M +Cecilia/M +Cecily/M +Cedric/M +Celeste/M +Celgene/M +Celia/M +Celina/M +Cellini/M +Celsius/M +Celt/SM +Celtic/SM +Cenozoic/M +Centaurus/M +Centigrade +Central +Cepheid/M +Cepheus/M +Cerberus/M +Cerenkov/M +Ceres/M +Cerf/M +Cervantes/M +Cesar/M +Cesarean/M +Cessna/M +Cetus/M +Ceylon/M +Ceylonese +Cezanne/M +Cf/M +Ch'in/M +Ch/N +Chablis/M +Chad/M +Chadian/MS +Chadwick/M +Chagall/M +Chaitanya/M +Chaitin/M +Chaldea +Chaldean/M +Challenger/M +Chalmers +Chamberlain/M +Chambers/M +Champlain/M +Champollion/M +Chan/M +Chance/M +Chancellorsville/M +Chandigarh/M +Chandler/M +Chandon/M +Chandra/M +Chandragupta/M +Chandrasekhar/M +Chanel/M +Chaney/M +Chang/M +Changchun/M +Changsha/M +Chantilly/M +Chaplin/M +Chaplinesque +Chapman/M +Chappaquiddick/M +Chapultepec/M +Charbray/M +Chardonnay/M +Charity/M +Charlemagne/M +Charlene/M +Charles/M +Charleston/MS +Charley/M +Charlie/M +Charlotte/M +Charlottetown/M +Charmaine/M +Charmin/M +Charolais/M +Charon/M +Chartism/M +Chartres/M +Charybdis/M +Chase/M +Chasity/M +Chateaubriand/M +Chattahoochee/M +Chattanooga/M +Chatterley/M +Chatterton/M +Chaucer/M +Chauncey/M +Chautauqua/M +Chavez/M +Chayefsky/M +Che/M +Chechen/M +Chechnya/M +Cheddar/M +Cheer/M +Cheerios/M +Cheetos/M +Cheever/M +Chekhov/M +Chekhovian +Chelsea/M +Chelyabinsk/M +Chen/M +Cheney/M +Chengdu/M +Chennai/M +Cheops/M +Cheri/M +Cherie/M +Chernenko/M +Chernobyl/M +Chernomyrdin/M +Cherokee/MS +Cherry/M +Cheryl/M +Chesapeake/M +Cheshire/M +Chester/M +Chesterfield/M +Chesterton/M +Chevalier/M +Cheviot/M +Chevrolet/M +Chevron/M +Chevy/M +Cheyenne/SM +Chi/M +Chianti/MS +Chiba/M +Chibcha/M +Chicago/M +Chicagoan/M +Chicana/M +Chicano/M +Chickasaw/MS +Chiclets/M +Chihuahua/MS +Chile/M +Chilean/MS +Chimborazo/M +Chimera/MS +Chimu/M +Chin/M +China/M +Chinatown/M +Chinese/M +Chinook/MS +Chipewyan/M +Chippendale/M +Chippewa/SM +Chiquita/M +Chirico/M +Chisholm/M +Chisinau/M +Chittagong/M +Chivas/M +Chloe/M +Choctaw/SM +Chomsky/M +Chongqing/M +Chopin/M +Chopra/M +Chou/M +Chretien/M +Chris/M +Chrissie/M +Chrissy/M +Christ/MS +Christa/M +Christchurch/M +Christendom/MS +Christensen/M +Christi/M +Christian/SM +Christianise +Christianity/SM +Christie/M +Christina/M +Christine/M +Christlike +Christmas/MS +Christmastide/MS +Christmastime/MS +Christoper/M +Christopher/M +Chromebook/MS +Chronicles +Chrysler/M +Chrysostom/M +Chrystal/M +Chuck/M +Chukchi/M +Chumash/M +Chung/M +Church/M +Churchill/M +Churriguera/M +Chuvash/M +Ci/M +Cicero/M +Cid/M +Cimabue/M +Cincinnati/M +Cinderella/MS +Cindy/M +CinemaScope/M +Cinerama/M +Cipro/M +Circe/M +Cisco/M +Citibank/M +Citigroup/M +Citroen/M +Cl/MV +Claiborne/M +Clair/M +Claire/M +Clairol/M +Clancy/M +Clapeyron/M +Clapton/M +Clara/M +Clare/M +Clarence/M +Clarendon/M +Clarice/M +Clarissa/M +Clark/M +Clarke/M +Claude/M +Claudette/M +Claudia/M +Claudine/M +Claudio/M +Claudius/M +Claus/M +Clausewitz/M +Clausius/M +Clay/M +Clayton/M +Clearasil/M +Clem/XM +Clemenceau/M +Clemens/M +Clement/MS +Clementine/M +Clements/M +Clemons/M +Clemson/M +Cleo/M +Cleopatra/M +Cleveland/M +Cliburn/M +Cliff/M +Clifford/M +Clifton/M +Cline/M +Clint/M +Clinton/M +Clio/M +Clive/M +Clojure/M +Clorets/M +Clorox/M +Closure/M +Clotho/M +Clouseau/M +Clovis/M +Clyde/M +Clydesdale/M +Clytemnestra/M +Cm/M +Cmdr +Co/M +Cobain/M +Cobb/M +Cochabamba/M +Cochin/M +Cochise/M +Cochran/M +Cockney/M +Cocteau/M +Cod +Cody/M +Coffey/M +Coffs +Cognac/M +Cohan/M +Cohen/M +Coimbatore/M +Cointreau/M +Coke/SM +Col/M +Colac/M +Colbert/M +Colby/M +Cole/M +Coleen/M +Coleman/M +Coleridge/M +Colette/M +Colfax/M +Colgate/M +Colin/M +Colleen/M +Collier/M +Collin/SM +Collins/M +Colo +Cologne/M +Colombia/M +Colombian/MS +Colombo/M +Colon/M +Coloradan/SM +Colorado/M +Coloradoan +Colosseum/M +Colt/M +Coltrane/M +Columbia/M +Columbine/M +Columbus/M +Com +Comanche/MS +Combs/M +Comdr +Comintern/M +Commandment +Commons/M +Commonwealth +Communion/SM +Communism +Communist/SM +Como/M +Comoran +Comoros/M +Compaq/M +Compton/M +CompuServe/M +Comte/M +Conakry/M +Conan/M +Concepcion/M +Concetta/M +Concord/SM +Concorde/M +Condillac/M +Condorcet/M +Conestoga/M +Confederacy/M +Confederate/MS +Confucian/SM +Confucianism/MS +Confucius/M +Cong/M +Congo/M +Congolese/M +Congregational +Congregationalist/MS +Congress/MS +Congressional +Congreve/M +Conley/M +Conn/MR +Connecticut/M +Connemara/M +Conner/M +Connery/M +Connie/M +Connolly/M +Connors/M +Conrad/M +Conrail/M +Conservative +Constable/M +Constance/M +Constantine/M +Constantinople/M +Constitution +Consuelo/M +Continent/M +Continental/M +Contreras/M +Conway/M +Cook/M +Cooke/M +Cooley/M +Coolidge/M +Cooper/M +Cooperstown/M +Cooranbong/M +Coors/M +Copacabana/M +Copeland/M +Copenhagen/M +Copernican/M +Copernicus/M +Copland/M +Copley/M +Copperfield/M +Coppertone/M +Coppola/M +Coptic/M +Cora/M +Cordelia/M +Cordilleras/M +Cordoba/M +Corey/M +Corfu/M +Corina/M +Corine/M +Corinne/M +Corinth/M +Corinthian/MS +Corinthians/M +Coriolanus/M +Coriolis/M +Cork +Corleone/M +Cormack/M +Corneille/M +Cornelia/M +Cornelius/M +Cornell/M +Corning/M +Cornish/MS +Cornwall/M +Cornwallis/M +Coronado/M +Corot/M +Corp +Correggio/M +Corrine/M +Corsica/M +Corsican/M +Cortes/MS +Cortland/M +Corvallis/M +Corvette/M +Corvus/M +Cory/M +Cosby/M +CosmosDB/M +Cossack/M +Costco/M +Costello/M +Costner/M +Cote/M +Cotonou/M +Cotopaxi/M +Cotswold/M +Cotton/M +Coulomb/M +Coulter/M +Couperin/M +Courbet/M +Courtney/M +Cousteau/M +Coventry/SM +Coward/M +Cowell/M +Cowley/M +Cowper/M +Cox/M +Coy/M +Coyle/M +Cozumel/M +Cpl +Cr/MT +Crabbe/M +Craft/M +Craig/M +Cranach/M +Crane/M +Cranmer/M +Crater/M +Crawford/M +Cray/M +Crayola/M +Creation/M +Creator/M +Crecy/M +Cree/DSM +Creek/SM +Creighton/M +Creole/SM +Creon/M +Cressida/M +Crest/M +Cretaceous/M +Cretan/SM +Crete/M +Crichton/M +Crick/M +Crimea/M +Crimean/M +Criollo/M +Crisco/M +Cristina/M +Croat/SM +Croatia/M +Croatian/MS +Croce/M +Crockett/M +Croesus/M +Cromwell/M +Cromwellian/M +Cronin/M +Cronkite/M +Cronus/M +Crookes/M +Crosby/M +Cross/M +Crow/SM +Crowley/M +Crucifixion/MS +Cruikshank/M +Cruise/M +Crusades's +Crusoe/M +Crux/M +Cruz/M +Cryptozoic/M +Crystal/M +Csonka/M +Ct +Ctesiphon/M +Cthulhu/M +Cu/M +Cuba/M +Cuban/SM +Cuchulain/M +Cuisinart/M +Culbertson/M +Cullen/M +Cumberland/M +Cummings/M +Cunard/M +Cunningham/M +Cupid/M +Curacao/M +Curie/M +Curitiba/M +Currier/M +Curry/RM +Curt/M +Curtis/M +Custer/M +Cuvier/M +Cuzco/M +Cybele/M +Cyclades/M +Cyclopes/M +Cyclops/M +Cygnus/M +Cymbeline/M +Cynthia/M +Cyprian/M +Cypriot/MS +Cyprus/M +Cyrano/M +Cyril/M +Cyrillic/M +Cyrus/M +Czech/M +Czechia/M +Czechoslovak +Czechoslovakia/M +Czechoslovakian/SM +Czechs +Czerny/M +D/M +DA/M +DAR +DAT/M +DBMS/M +DC/M +DD/M +DDS/M +DDT/S +DE +DEA +DEC/SD +DH +DHS +DI +DJ +DMCA +DMD/M +DMZ +DNA/M +DOA +DOB +DOD +DOE +DOS/M +DOT +DP/SM +DPT +DST +DTP +DUI +DVD/S +DVR/SM +DWI +Dachau/M +Dacron/SM +Dada/M +Dadaism/M +Daedalus/M +Daguerre/M +Dagwood/M +Dahomey/M +Daimler/M +Daisy/M +Dakar/M +Dakota/SM +Dakotan/M +Dalai +Dale/M +Daley/M +Dali/M +Dalian/M +Dallas/M +Dalmatia/M +Dalmatian/SM +Dalton/M +Damascus/M +Dame/MN +Damian/M +Damien/M +Damion/M +Damocles/M +Damon/M +Dan/M +Dana/M +Danae/M +Dane/SM +Danelaw/M +Dangerfield/M +Danial/M +Daniel/SM +Danielle/M +Daniels/M +Danish/M +Dannie/M +Danny/M +Danone/M +Dante/M +Danton/M +Danube/M +Danubian/M +Daphne/M +Darby/M +Darcy/M +Dardanelles/M +Dare/M +Daren/M +Darfur/M +Darin/M +Dario/M +Darius/M +Darjeeling/M +Darla/M +Darlene/M +Darling/M +Darnell/M +Darrel/M +Darrell/M +Darren/M +Darrin/M +Darrow/M +Darryl/M +Darth/M +Dartmoor/M +Dartmouth/M +Darvon/M +Darwin/M +Darwinian/M +Darwinism/SM +Darwinist +Daryl/M +Datamation +Daugherty/M +Daumier/M +Davao/M +Dave/M +Davenport/M +David/MS +Davidson/M +Davies/M +Davis/M +Davy/SM +Dawes/M +Dawkins +Dawn/M +Dawson/M +Day/M +Dayan +Dayton/M +DeGeneres/M +Deadhead/M +Dean/M +Deana/M +Deandre/M +Deann/M +Deanna/M +Deanne/M +Death/M +Debbie/M +Debby/M +Debian/M +Debora/M +Deborah/M +Debouillet/M +Debra/M +Debs/M +Debussy/M +Dec/M +Decalogue/M +Decatur/M +Decca/M +Deccan/M +December/SM +Decker/M +Dedekind/M +Dee/M +Deena/M +Deere/M +Defoe/M +Degas/M +Deidre/M +Deimos/M +Deirdre/M +Deity +Dejesus/M +Del/M +Delacroix/M +Delacruz/M +Delaney/M +Delano/M +Delaware/MS +Delawarean/SM +Delbert/M +Deleon/M +Delgado/M +Delhi/M +Delia/M +Delibes/M +Delicious/M +Delilah/M +Delilahs +Delius/M +Dell/M +Della/M +Delmar/M +Delmarva/M +Delmer/M +Delmonico/M +Delores/M +Deloris/M +Delphi/M +Delphic/M +Delphinus/M +Delta/M +Dem/G +Demavend/M +Demerol/M +Demeter/M +Demetrius/M +Deming/M +Democrat/SM +Democratic +Democritus/M +Demosthenes/M +Dempsey/M +Dena/M +Denali +Deneb/M +Denebola/M +Deng/M +Denis/M +Denise/M +Denmark/M +Dennis/M +Denny/M +Denver/M +Deon/M +Depp/M +Derby/M +Derek/M +Derick/M +Dermot/M +Derrick/M +Derrida/M +Descartes/M +Desdemona/M +Desiree/M +Desmond/M +Detroit/M +Deuteronomy/M +Devanagari/M +Devi/M +Devin/M +Devon/M +Devonian/M +Devonport/M +Dewar/M +Dewayne/M +Dewey/M +Dewitt/M +Dexedrine/M +Dexter/M +Dhaka/M +Dhaulagiri/M +Di/SM +DiCaprio/M +DiMaggio/M +Diaghilev/M +Dial/M +Diana/M +Diane/M +Diann/M +Dianna/M +Dianne/M +Dias +Diaspora/MS +Dick/XM +Dickens/M +Dickensian +Dickerson/M +Dickinson/M +Dickson/M +Dictaphone/SM +Diderot/M +Dido/M +Didrikson/M +Diefenbaker/M +Diego/M +Diem/M +Dietrich/M +Dijkstra/M +Dijon/M +Dilbert/MS +Dillard/M +Dillinger/M +Dillon/M +Dina/M +Dinah/M +Dino/M +Diocletian/M +Diogenes/M +Dion/M +Dionne/M +Dionysian/M +Dionysus/M +Diophantine/M +Dior/M +Dipper/M +Dir +Dirac/M +Dirichlet/M +Dirk/M +Dis/M +Disney/M +Disneyland/M +Disraeli/M +Divine/M +Diwali/M +Dix/M +Dixie/M +Dixiecrat/M +Dixieland/SM +Dixon/M +Django/M +Djibouti/M +Dmitri/M +Dnepropetrovsk/M +Dniester/M +Dobbin/M +Doberman/M +Dobro/M +Doctor +Doctorow/M +Dodge/M +Dodgson/M +Dodoma/M +Dodson/M +Doe/M +Doha/M +Dolby/M +Dole/M +Dollie/M +Dolly/M +Dolores/M +Domesday/M +Domingo/M +Dominguez/M +Dominic/M +Dominica/M +Dominican/MS +Dominick/M +Dominion +Dominique/M +Domitian/M +Don/SM +Dona/M +Donahue/M +Donald/M +Donaldson/M +Donatello/M +Donetsk/M +Donizetti/M +Donn/MR +Donna/M +Donne/M +Donnell/M +Donner/M +Donnie/M +Donny/M +Donovan/M +Dooley/M +Doolittle/M +Doonesbury/M +Doppler/M +Dora/M +Dorcas/M +Doreen/M +Dorian/M +Doric/M +Doris/M +Doritos/M +Dorothea/M +Dorothy/M +Dorset/M +Dorsey/M +Dorthy/M +Dortmund/M +Dostoevsky/M +Dot/M +Dotson/M +Douala/M +Douay/M +Doubleday/M +Doug/M +Douglas/M +Douglass/M +Douro/M +Dover/M +Dow/M +Downs/M +Downy/M +Doyle/M +Dr +Draco/M +Draconian/M +Dracula/M +Drake/M +Dramamine/SM +Drambuie/M +Drano/M +Dravidian/M +Dreiser/M +Dresden/M +Drew/M +Dreyfus/M +Dristan/M +Dropbox/M +Drouin/M +Drudge/M +Drupal/M +Dryden/M +Dschubba/M +Du +DuPont/M +Duane/M +Dubai/M +Dubbo/M +Dubcek/M +Dubhe/M +Dublin/M +Dubrovnik/M +Duchamp/M +Dudley/M +Duffy/M +Duisburg/M +Duke/M +Dulles/M +Duluth/M +Dumas/M +Dumbledore/M +Dumbo/M +Dunant/M +Dunbar/M +Duncan/M +Dundee +Dunedin/M +Dunkirk/M +Dunlap/M +Dunn/M +Dunne/M +Duracell/M +Duran/M +Durant/M +Durante/M +Durban/M +Durer/M +Durex/M +Durham/MS +Durkheim/M +Duroc/M +Durocher/M +Duse/M +Dushanbe/M +Dusseldorf/M +Dustbuster/M +Dustin/M +Dusty/M +Dutch/M +Dutchman/M +Dutchmen/M +Dutchwoman +Duvalier/M +Dvina/M +Dvorak/M +Dwayne/M +Dwight/M +Dy/M +Dyer/M +Dylan/M +DynamoDB/M +Dyson/M +Dzerzhinsky/M +Dzungaria/M +E/SM +EC +ECG/M +ECMAScript/M +EDP/M +EDT +EEC/M +EEG/M +EEO +EEOC +EFL +EFT +EKG/M +ELF/M +EM +EMT +ENE/M +EOE +EPA/M +ER +ERA +ESE/M +ESL +ESP/M +ESPN/M +ESR +EST/M +ET +ETA +ETD +EU +EULA/S +Eakins/M +Earhart/M +Earl/M +Earle/M +Earlene/M +Earline/M +Earnest/M +Earnestine/M +Earnhardt/M +Earp/M +East/SZMR +Easter/M +Eastern/R +Eastman/M +Eastwood/M +Eaton/M +Eben/M +Ebeneezer/M +Ebert/M +Ebola/M +Ebonics/M +Ebony/M +Ebro/M +Ecclesiastes/M +Echuca/M +Eco/M +Ecstasy +Ecuador/M +Ecuadoran/SM +Ecuadorean +Ecuadorian/SM +Ed/MNX +Edam/SM +Edda/M +Eddie/M +Eddington/M +Eddy/M +Eden/M +Edgar/M +Edgardo/M +Edinburgh/M +Edison/M +Edith/M +Edmond/M +Edmonton/M +Edmund/M +Edna/M +Edsel/M +Eduardo/M +Edward/SM +Edwardian/M +Edwardo/M +Edwards/M +Edwin/M +Edwina/M +Eeyore/M +Effie/M +Efrain/M +Efren/M +Eggo/M +Egypt/M +Egyptian/MS +Egyptology/M +Ehrenberg/M +Ehrlich/M +Eichmann/M +Eiffel/M +Eileen/M +Einstein/MS +Eire/M +Eisenhower/M +Eisenstein/M +Eisner/M +Elaine/M +Elam/M +Elanor/M +Elasticsearch/M +Elastoplast/M +Elba/M +Elbe/M +Elbert/M +Elbrus/M +Eldon/M +Eleanor/M +Eleazar/M +Electra/M +Elena/M +Elgar/M +Eli/M +Elias/M +Elijah/M +Elinor/M +Eliot/M +Elisa/M +Elisabeth/M +Elise/M +Eliseo/M +Elisha/M +Eliza/M +Elizabeth/M +Elizabethan/SM +Ella/M +Ellen/M +Ellesmere/M +Ellie/M +Ellington/M +Elliot/M +Elliott/M +Ellis/M +Ellison/M +Elma/M +Elmer/M +Elmo/M +Elnath/M +Elnora/M +Elohim/M +Eloise/M +Eloy/M +Elroy/M +Elsa/M +Elsie/M +Elsinore/M +Eltanin/M +Elton/M +Elul/M +Elva/M +Elvia/M +Elvin/M +Elvira/M +Elvis/M +Elway/M +Elwood/M +Elysee/M +Elysian/M +Elysium/SM +Emacs/M +Emanuel/M +Emerald/M +Emerson/M +Emery/M +Emil/M +Emile/M +Emilia/M +Emilio/M +Emily/M +Eminem/M +Eminence +Emma/M +Emmanuel/M +Emmett/M +Emmy/M +Emory/M +Encarta/M +Ender/SM +Endymion/M +Eng/M +Engels/M +England/M +English/MRS +Englishman/M +Englishmen/M +Englishwoman/M +Englishwomen/M +Enid/M +Enif/M +Eniwetok/M +Enkidu/M +Enoch/M +Enos/M +Enrico/M +Enrique/M +Enron/M +Enterprise/M +Eocene/M +Epcot/M +Ephesian/MS +Ephesus/M +Ephraim/M +Epictetus/M +Epicurean/M +Epicurus/M +Epimethius/M +Epiphany/SM +Episcopal +Episcopalian/MS +Epistle +Epsom/M +Epson/M +Epstein/M +Equuleus/M +Er/M +Erasmus/M +Erato/M +Eratosthenes/M +Erebus/M +Erector/M +Erewhon/M +Erhard/M +Eric/M +Erica/M +Erich/M +Erick/M +Ericka/M +Erickson/M +Eridanus/M +Erie/M +Erik/M +Erika/M +Erin/M +Eris/MS +Eritrea/M +Eritrean/SM +Erlang/M +Erlenmeyer/M +Erma/M +Erna/M +Ernest/M +Ernestine/M +Ernesto/M +Ernie/M +Ernst/M +Eros/MS +Errol/M +Erse/M +ErvIn/M +Erwin/M +Esau/M +Escher/M +Escherichia/M +Escondido +Eskimo/MS +Esky/SM +Esmeralda/M +Esperance/M +Esperanto/M +Esperanza/M +Espinoza/M +Esq/M +Esquire/MS +Essen/M +Essene/M +Essequibo/M +Essex/M +Essie/M +Establishment +Esteban/M +Estela/M +Estella/M +Estelle/M +Ester/M +Esterhazy/M +Estes/M +Esther/M +Estonia/M +Estonian/SM +Estrada/M +Ethan/M +Ethel/M +Ethelred/M +Ethernet/M +Ethiopia/M +Ethiopian/SM +Etna/M +Eton/M +Etruria/M +Etruscan/M +Etta/M +Eu/M +Eucharist/MS +Eucharistic +Euclid/M +Eugene/M +Eugenia/M +Eugenie/M +Eugenio/M +Eula/M +Euler/M +Eumenides/M +Eunice/M +Euphrates/M +Eur +Eurasia/M +Eurasian/MS +Euripides/M +Eurodollar/SM +Europa/M +Europe/M +European/MS +Eurydice/M +Eustachian/M +Euterpe/M +Eva/M +Evan/SM +Evangelical +Evangelina/M +Evangeline/M +Evangelist/M +Evans/M +Evansville/M +Eve/M +Evelyn/M +Evenki/M +EverReady/M +Everest/M +Everett/M +Everette/M +Everglades/M +Evert/M +Evian/M +Evita/M +Ewing/M +Excalibur/M +Excedrin/M +Excellency/SM +Exchequer +Exercycle/M +Exocet/M +Exodus/M +Exxon/M +Eyck/M +Eyre/M +Eysenck/M +Ezekiel/M +Ezra/M +F/MD +FAA +FAQ/SM +FBI/M +FCC +FD +FDA +FDIC/M +FDR/M +FHA/M +FICA/M +FIFO +FL +FM/SM +FNMA/M +FOFL +FORTRAN/M +FPO +FSF/M +FSLIC +FTC +FUD/S +FWD +FWIW +FY +FYI +Faberge/M +Fabian/MS +Facebook/M +Faeroe/M +Fafnir/M +Fagin/M +Fahd/M +Fahrenheit/M +Fairbanks/M +Faisal/M +Faisalabad/M +Faith/M +Falasha/M +Falkland/SM +Falklands/M +Fallopian/M +Falstaff/M +Falwell/M +Fannie/M +Fanny/M +Faraday/M +Fargo/M +Farley/M +Farmer/M +Farragut/M +Farrakhan/M +Farrell/M +Farrow/M +Farsi/M +Fassbinder/M +Fatah/M +Fates/M +Father/SM +Fatima/M +Fatimid/M +Faulkner/M +Faulknerian/M +Fauntleroy/M +Faust/M +Faustian/M +Faustino/M +Faustus/M +Fawkes/M +Fay/M +Faye/M +Fe/M +Feb/M +February/SM +Fed/SM +FedEx/M +Federal/MS +Federalist/M +Federico/M +Feds/M +Felecia/M +Felice/M +Felicia/M +Felicity/M +Felipe/M +Felix/M +Fellini/M +Fenian/M +Ferber/M +Ferdinand/M +Fergus/M +Ferguson/M +Ferlinghetti/M +Fermat/M +Fermi/M +Fern/M +Fernandez/M +Fernando/M +Ferrari/M +Ferraro/M +Ferrell/M +Ferris/M +Feynman/M +Fez/M +Fiat/M +Fiberglas/M +Fibonacci/M +Fichte/M +Fidel/M +Fido/M +Fielding/M +Fields/M +Figaro/M +Figueroa/M +Fiji/M +Fijian/MS +Filipino/MS +Fillmore/M +Filofax/M +Finch/M +Finland/M +Finlay/M +Finley/M +Finn/SM +Finnbogadottir/M +Finnegan/M +Finnish/M +Fiona/M +Firebase/M +Firefox/M +Firestone/M +Fischer/M +Fisher/M +Fisk/M +Fitch/M +Fitzgerald/M +Fitzpatrick/M +Fitzroy/M +Fizeau/M +Fla +Flanagan/M +Flanders/M +Flathead +Flatt/M +Flaubert/M +Fleischer/M +Fleming/M +Flemish/M +Fletcher/M +Flint/M +Flintstones/M +Flo/M +Flora/M +Florence/M +Florentine/M +Flores/M +Florida/M +Floridan/M +Floridian/SM +Florine/M +Florsheim/M +Flory/M +Flossie/M +Flowers/M +Floyd/M +Flynn/M +Fm/M +Foch/M +Fokker/M +Foley/M +Folgers/M +Folsom/M +Fomalhaut/M +Fonda/M +Foosball/M +Forbes/M +Ford/M +Foreman/M +Forest/MR +Forester/M +Formica/MS +Formosa/M +Formosan/M +Forrest/M +Forster/M +Fortaleza/M +Fosse/M +Foster/M +Fotomat/M +Foucault/M +Fourier/M +Fourneyron/M +Fourth +Fowler/M +Fox/MS +Fr/MD +Fragonard/M +Fran/M +France/SM +Frances/M +Francesca/M +Francine/M +Francis/M +Francisca/M +Franciscan/MS +Francisco/M +Franck/M +Franco/M +Francois/M +Francoise/M +Francophile +Franglais/M +Frank/SM +Frankel/M +Frankenstein/M +Frankfort/M +Frankfurt/MR +Frankfurter/M +Frankie/M +Frankish +Franklin/M +Franks/M +Franny/M +Franz/M +Fraser/M +Frau/MN +Fraulein +Frazier/M +Fred/M +Freda/M +Freddie/M +Freddy/M +Frederic/M +Frederick/M +Fredericton/M +Fredric/M +Fredrick/M +Freeman/M +Freemason/SM +Freemasonry/SM +Freetown/M +Freida/M +Fremont/M +French/MS +Frenchman/M +Frenchmen/M +Frenchwoman/M +Frenchwomen/M +Freon/M +Fresnel/M +Fresno/M +Freud/M +Freudian/M +Frey/M +Freya/M +Fri/M +Friday/SM +Frieda/M +Friedan/M +Friedman/M +Friedmann/M +Friend/SM +Frigga/M +Frigidaire/M +Frisbee/M +Frisco/M +Frisian/MS +Frito/M +Fritz/M +Frobisher/M +Frodo/M +Froissart/M +Fromm/M +Fronde/M +Frontenac/M +Frost/M +Frostbelt/M +Frunze/M +Fry/M +Frye/M +Fuchs/M +Fuentes/M +Fugger/M +Fuji/M +Fujian/M +Fujitsu/M +Fujiwara/M +Fujiyama/M +Fukuoka/M +Fukuyama/M +Fulani/M +Fulbright/M +Fuller/M +Fullerton/M +Fulton/M +Funafuti/M +Fundy/M +Furies/M +Furman/M +Furtwangler/M +Fushun/M +Fuzhou/M +Fuzzbuster/M +G'day +G/MNRB +GA +GAO +GATT/M +GB/M +GCC/M +GDP/M +GE/M +GED +GHQ/M +GHz +GI +GIF +GIGO +GM/M +GMAT +GMO +GMT/M +GNP/M +GNU/M +GOP/M +GP/M +GPA +GPO +GPS +GPU +GSA +GTE/M +GU +GUI/M +Ga/M +Gable/M +Gabon/M +Gabonese/M +Gaborone/M +Gabriel/M +Gabriela/M +Gabrielle/M +Gacrux/M +Gadsden/M +Gaea/M +Gael/SM +Gaelic/M +Gagarin/M +Gage/M +Gaia/M +Gail/M +Gaiman/M +Gaines/M +Gainsborough/M +Galahad/SM +Galapagos/M +Galatea/M +Galatia/M +Galatians/M +Galaxy +Galbraith/M +Gale/M +Galen/M +Galibi/M +Galilean/SM +Galilee/M +Galileo/M +Gall/M +Gallagher/M +Gallegos/M +Gallic/M +Gallicism/SM +Gallo/M +Galloway/M +Gallup/M +Galois/M +Galsworthy/M +Galvani/M +Galveston/M +Gama +Gamay/M +Gambia/M +Gambian/SM +Gamble/M +Gamow/M +Gandalf/M +Gandhi/M +Gandhian/M +Ganesha/M +Ganges/M +Gangtok/M +Gansu/M +Gantry/M +Ganymede/M +Gap/M +Garbo/M +Garcia/M +Gardner/M +Gareth/M +Garfield/M +Garfunkel/M +Gargantua/M +Garibaldi/M +Garland/M +Garner/M +Garrett/M +Garrick/M +Garrison/M +Garry/M +Garth/M +Garvey/M +Gary/M +Garza/M +Gascony/M +Gasser/M +Gastroenterology +Gates/M +Gatling/M +Gatorade/M +Gatsby/M +Gatun/M +Gauguin/M +Gaul/SM +Gaulish +Gauss/M +Gaussian/M +Gautama/M +Gautier/M +Gavin/M +Gawain/M +Gay/M +Gayle/M +Gaza/M +Gaziantep/M +Gd/M +Gdansk/M +Ge/M +Geelong/M +Geffen/M +Gehenna/M +Gehrig/M +Geiger/M +Gelbvieh/M +Geller/M +Gemini/MS +Gen/M +Gena/M +Genaro/M +Gene/M +Genesis/M +Genet/M +Geneva/M +Genevieve/M +Genghis/M +Genoa/SM +Gentoo/M +Gentry/M +Geo/M +Geoffrey/M +George/MS +Georgetown/M +Georgette/M +Georgia/M +Georgian/MS +Georgina/M +Ger/M +Gerald/M +Geraldine/M +Geraldton/M +Gerard/M +Gerardo/M +Gerber/M +Gere/M +Geritol/M +German/MS +Germanic/M +Germany/M +Geronimo/M +Gerry/M +Gershwin/M +Gertrude/M +Gestapo/SM +Gethsemane/M +Getty/M +Gettysburg/M +Gewurztraminer/M +Ghana/M +Ghanaian +Ghats/M +Ghazvanid/M +Ghent/M +Ghibelline/M +Giacometti/M +Giannini/M +Giauque/M +Gibbon/M +Gibbs/M +Gibraltar/MS +Gibson/M +Gide/M +Gideon/M +Gielgud/M +Gienah/M +Gil/M +Gila/M +Gilbert/M +Gilberto/M +Gilchrist/M +Gilda/M +Gilead/M +Giles/M +Gilgamesh/M +Gill/M +Gillespie/M +Gillette/M +Gilliam/M +Gillian/M +Gilligan/M +Gilman +Gilmore/M +Gina/M +Ginger/M +Gingrich/M +Ginny/M +Gino/M +Ginsberg/M +Ginsburg/M +Ginsu/M +Giorgione/M +Giotto/M +Giovanni/M +Giraudoux/M +Giselle/M +Gish/M +GitHub/M +Giuliani/M +Giuseppe/M +Giza/M +Gk +Gladstone/MS +Gladys/M +Glaser/M +Glasgow/M +Glass/M +Glastonbury/M +Glaswegian/SM +Glaxo/M +Gleason/M +Glen/M +Glenda/M +Glendale +Glenlivet/M +Glenn/M +Glenna/M +Gloria/M +Gloucester/M +Glover/M +Gnostic/M +Gnosticism/M +GnuPG +Goa/M +Gobi/M +God/M +Godard/M +Goddard/M +Godel/M +Godhead/M +Godiva/M +Godot/M +Godspeed/SM +Godthaab/M +Godunov/M +Godzilla/M +Goebbels/M +Goering/M +Goethals/M +Goethe/M +Goff/M +Gog/M +Gogol/M +Goiania/M +Golan/M +Golconda/M +Golda/M +Goldberg/M +Golden/M +Goldie/M +Goldilocks/M +Golding/M +Goldman/M +Goldsmith/M +Goldwater/M +Goldwyn/M +Golgi/M +Golgotha/M +Goliath/M +Gomez/M +Gomorrah/M +Gompers/M +Gomulka/M +Gondwanaland/M +Gonzales/M +Gonzalez/M +Gonzalo/M +Good/M +Goodall/M +Goode/M +Goodman/M +Goodrich/M +Goodwill/M +Goodwin/M +Goodyear/M +Google/M +Goolagong/M +Goolwa/M +Gopher +Gorbachev/M +Gordian/M +Gordimer/M +Gordon/M +Gore/M +Goren/M +Gorey/M +Gorgas/M +Gorgon/M +Gorgonzola/M +Gorky/M +Gospel/MS +Goteborg/M +Goth/M +Gotham/M +Gothic/MS +Goths +Gouda/SM +Goulburn/M +Gould/M +Gounod/M +Governor +Goya/M +Gr/B +Grable/M +Gracchus/M +Grace/M +Graceland/M +Gracie/M +Graciela/M +Grady/M +Graffias/M +Grafton/M +Graham/M +Grahame/M +Grail/M +Grammy/M +Grampians/M +Granada/M +Grant/M +Grass/M +Graves/M +Gray/M +Grecian/M +Greece/M +Greek/SM +Greeley/M +Green/SM +Greene/M +Greenland/M +Greenlandic +Greenpeace/M +Greensboro/M +Greensleeves/M +Greenspan/M +Greenwich/M +Greer/M +Greg/M +Gregg/M +Gregorian/M +Gregorio/M +Gregory/M +Grenada/M +Grenadian/MS +Grenadines/M +Grendel/M +Grenoble/M +Gresham/M +Greta/M +Gretchen/M +Gretel/M +Gretzky/M +Grey/M +Grieg/M +Griffin/M +Griffith/M +Grimes/M +Grimm/M +Grinch/M +Gris/M +Gromyko/M +Gropius/M +Gross/M +Grosz/M +Grotius/M +Grover/M +Grozny +Grumman/M +Grundy/M +Grunewald/M +Grus/M +Gruyere/SM +Guadalajara/M +Guadalcanal/M +Guadalquivir/M +Guadalupe/M +Guadeloupe/M +Guallatiri/M +Guam/M +Guamanian +Guangdong/M +Guangzhou/M +Guantanamo/M +Guarani/M +Guarnieri/M +Guatemala/M +Guatemalan/MS +Guayaquil/M +Gucci/M +Guelph/M +Guernsey/MS +Guerra/M +Guerrero/M +Guevara/M +Guggenheim/M +Guiana/M +Guido +Guillermo/M +Guinea/M +Guinean/MS +Guinevere/M +Guinness/M +Guiyang/M +Guizhou/M +Guizot/M +Gujarat/M +Gujarati/M +Gujranwala/M +Gullah/M +Gulliver/M +Gumbel/M +Gunther/M +Guofeng/M +Gupta/M +Gurkha/M +Gus/M +Gustav/M +Gustavo/M +Gustavus/M +Gutenberg/M +Guthrie/M +Gutierrez/M +Guy/M +Guyana/M +Guyanese/M +Guzman/M +Gwalior/M +Gwen/M +Gwendoline/M +Gwendolyn/M +Gwyn/M +Gympie/M +Gypsy/SM +H/M +HBO/M +HBase/M +HDD +HDMI +HDTV +HF/M +HHS +HI +HIV/M +HM +HMO/M +HMS +HOV +HP/M +HPV +HQ/M +HR +HRH +HS +HSBC/M +HST +HT +HTML/M +HTTP +HUD/M +Ha/M +Haas/M +Habakkuk/M +Haber/M +Hadar/M +Hades/M +Hadoop/M +Hadrian/M +Hafiz/M +Hagar/M +Haggai/M +Hagiographa/M +Hague/M +Hahn/M +Haida/SM +Haifa/M +Hainan/M +Haiphong/M +Haiti/M +Haitian/MS +Hakka/M +Hakluyt/M +Hal/SM +Haldane/M +Hale/M +Haleakala/M +Haley/M +Halifax/M +Hall/M +Halley/M +Halliburton/M +Hallie/M +Hallmark/M +Halloween/MS +Hallstatt/M +Halon/M +Hals/M +Halsey/M +Ham/M +Haman/M +Hamburg/MS +Hamhung/M +Hamilcar/M +Hamill/M +Hamilton/M +Hamiltonian/M +Hamitic/M +Hamlet/M +Hamlin/M +Hammarskjold/M +Hammerstein/M +Hammett/M +Hammond/M +Hammurabi/M +Hampshire/M +Hampton/M +Hamsun/M +Han/SM +Hancock/M +Handel/M +Handy/M +Haney/M +Hangul/M +Hangzhou/M +Hank/M +Hanna/M +Hannah/M +Hannibal/M +Hanoi/M +Hanover/M +Hanoverian/M +Hans/MN +Hansel/M +Hansen/M +Hanson/M +Hanuka +Hanukkah/M +Hanukkahs +Hapsburg/M +Harare/M +Harbin/M +Hardin/M +Harding/M +Hardy/M +Hargreaves/M +Harlan/M +Harlem/M +Harlequin/M +Harley/M +Harlow/M +Harmon/M +Harold/M +Harper/M +Harpy/SM +Harrell/M +Harriet/M +Harriett/M +Harrington/M +Harris/M +Harrisburg/M +Harrison/M +Harrods/M +Harry/M +Hart/M +Harte/M +Hartford/M +Hartline/M +Hartman/M +Harvard/M +Harvey/M +Hasbro/M +Hasidim/M +Haskell/M +Hastings/M +Hatfield/M +Hathaway/M +Hatsheput/M +Hatteras/M +Hattie/M +Hauptmann/M +Hausa/M +Hausdorff/M +Havana/MS +Havarti/M +Havel/M +Havoline/M +Haw +Hawaii/M +Hawaiian/SM +Hawking/M +Hawkins/M +Hawks +Hawthorne/M +Hay/SM +Hayden/M +Haydn/M +Hayek/M +Hayes/M +Haynes/M +Hays/M +Hayward/M +Haywood/M +Hayworth/M +Hazel/M +Hazlitt/M +He/M +Head/M +Hearst/M +Heath/MR +Heather/M +Heaviside/M +Heb +Hebe/M +Hebei/M +Hebert/M +Hebraic/M +Hebraism/SM +Hebrew/MS +Hebrews/M +Hebrides/M +Hecate/M +Hector/M +Hecuba/M +Heep/M +Hefner/M +Hegel/M +Hegelian/M +Hegira/M +Heidegger/M +Heidelberg/M +Heidi/M +Heifetz/M +Heilongjiang/M +Heimlich/M +Heine/M +Heineken/M +Heinlein/M +Heinrich/M +Heinz/M +Heisenberg/M +Heisman/M +Helen/M +Helena/M +Helene/M +Helga/M +Helicobacter +Helicon/M +Heliopolis/M +Helios/M +Hellene/SM +Hellenic/M +Hellenisation/M +Hellenise +Hellenism/MS +Hellenist +Hellenistic/M +Hellenize's +Heller/M +Hellespont/M +Hellman/M +Helmholtz/M +Heloise/M +Helsinki/M +Helvetian +Helvetius/M +Hemingway/M +Henan/M +Hench/M +Henderson/M +Hendrick/MS +Hendricks/M +Hendrix/M +Henley/M +Hennessy/M +Henri/M +Henrietta/M +Henrik/M +Henry/M +Hensley/M +Henson/M +Hepburn/M +Hephaestus/M +Hepplewhite/M +Hera/M +Heracles/M +Heraclitus/M +Herakles/M +Herbart/M +Herbert/M +Herculaneum/M +Herculean +Hercules/M +Herder/M +Hereford/SM +Herero/M +Heriberto/M +Herman/M +Hermaphroditus/M +Hermes/M +Herminia/M +Hermitage/M +Hermite/M +Hermosillo/M +Hernandez/M +Herod/M +Herodotus/M +Heroku/M +Herr/MG +Herrera/M +Herrick/M +Herring/M +Herschel/M +Hersey/M +Hershel/M +Hershey/M +Hertz/M +Hertzsprung/M +Herzegovina/M +Herzl/M +Heshvan/M +Hesiod/M +Hesperus/M +Hess/M +Hesse/M +Hessian/M +Hester/M +Heston/M +Hettie/M +Hewitt/M +Hewlett/M +Heyerdahl/M +Heywood/M +Hezbollah/M +Hezekiah/M +Hf/M +Hg/M +Hialeah/M +Hiawatha/M +Hibernia/M +Hibernian +Hickman/M +Hickok/M +Hicks/M +Hieronymus/M +Higashiosaka +Higgins/M +Highlander/SM +Highlands +Highness/M +Hilario/M +Hilary/M +Hilbert/M +Hilda/M +Hildebrand/M +Hilfiger/M +Hill/M +Hillary/M +Hillel/M +Hilton/M +Himalaya/SM +Himalayan +Himalayas/M +Himmler/M +Hinayana/M +Hindemith/M +Hindenburg/M +Hindi/M +Hindu/SM +Hinduism/SM +Hindustan/M +Hindustani/SM +Hines/M +Hinton/M +Hipparchus/M +Hippocrates/M +Hippocratic/M +Hiram/M +Hirobumi/M +Hirohito/M +Hiroshima/M +Hispanic/SM +Hispaniola/M +Hiss/M +Hitachi/M +Hitchcock/M +Hitler/MS +Hittite/SM +Hmong/M +Ho/M +Hobart/M +Hobbes/M +Hobbs/M +Hockney/M +Hodge/SM +Hodges/M +Hodgkin/M +Hoff/M +Hoffa/M +Hoffman/M +Hofstadter/M +Hogan/M +Hogarth/M +Hogwarts/M +Hohenlohe/M +Hohenstaufen/M +Hohenzollern/M +Hohhot/M +Hohokam/M +Hokkaido/M +Hokusai/M +Holbein/M +Holcomb/M +Holden/M +Holder/M +Holiday/M +Holiness +Holland/ZSMR +Hollander/M +Hollerith/M +Holley/M +Hollie/M +Hollis/M +Holloway/M +Holly/M +Hollywood/M +Holman/M +Holmes/M +Holocaust/M +Holocene/M +Holst/M +Holstein/SM +Holt/M +Homer/M +Homeric/M +Hon +Honda/M +Honduran/MS +Honduras/M +Honecker/M +Honeywell/M +Hong +Honiara/M +Honolulu/M +Honorable +Honshu/M +Hood/M +Hooke/RM +Hooker/M +Hooper/M +Hoosier/MS +Hooters/M +Hoover/MS +Hope/M +Hopewell/M +Hopi/SM +Hopkins/M +Hopper/M +Horace/M +Horacio/M +Horatio/M +Hormel/M +Hormuz/M +Horn/M +Hornblower/M +Horne/M +Horowitz/M +Horsham/M +Horthy/M +Horton/M +Horus/M +Hosea/M +Host/SM +Hotpoint/M +Hottentot/SM +Houdini/M +House/M +Housman/M +Houston/M +Houyhnhnm/M +Hovhaness/M +Howard/M +Howe/M +Howell/MS +Howells/M +Howrah +Hoyle/M +Hrothgar/M +Hts +Huang/M +Hubbard/M +Hubble/M +Hubei/M +Huber/M +Hubert/M +Huck/M +Huddersfield +Hudson/M +Huerta/M +Huey/M +Huff/M +Huffman/M +Huggins/M +Hugh/MS +Hughes/M +Hugo/M +Huguenot/MS +Hui/M +Huitzilopotchli/M +Hull/M +Humberto/M +Humboldt/M +Hume/M +Hummel/M +Hummer/M +Humphrey/SM +Humvee/M +Hun/SM +Hunan/M +Hung/M +Hungarian/SM +Hungary/M +Hunspell/M +Hunt/MR +Hunter/M +Huntington/M +Huntley/M +Huntsville/M +Hurd/M +Hurley/M +Huron/M +Hurst/M +Hus/M +Hussein/M +Husserl/M +Hussite/M +Huston/M +Hutchinson/M +Hutton/M +Hutu/M +Huxley/M +Huygens/M +Hyades/M +Hyde/M +Hyderabad/M +Hydra/M +Hymen/M +Hyperion/M +Hyundai/M +Hz/M +I'd +I'll +I'm +I've +I/M +IA +IBM/M +ICBM/SM +ICC +ICU +ID/SM +IDE +IE +IED +IEEE +IKEA/M +IL +IMF/M +IMHO +IMNSHO +IMO +IN +ING/M +INRI +INS +IOU/M +IP +IPA +IPO +IQ/M +IRA/SM +IRC +IRS/M +ISBN +ISIS +ISO/M +ISP +ISS +IT +IUD +IV/SM +IVF +Ia +Iaccoca/M +Iago/M +Ian/M +Iapetus/M +Ibadan/M +Iberia/M +Iberian/M +Ibiza/M +Iblis/M +Ibo/M +Ibsen/M +Icahn/M +Icarus/M +Ice +Iceland/MRZ +Icelander/M +Icelandic/M +Ida/M +Idaho/SM +Idahoan/MS +Idahoes +Ieyasu/M +Ignacio/M +Ignatius/M +Igor/M +Iguassu/M +Ijsselmeer/M +Ike/M +Ikhnaton/M +Ila/M +Ilene/M +Iliad/SM +Ill +Illinois/M +Illinoisan/MS +Illuminati/M +Ilyushin/M +Imelda/M +Imhotep/M +Imodium/M +Imogene/M +Imus/M +In/M +Ina/M +Inc +Inca/SM +Inchon/M +Incorporated +Ind +Independence/M +India/M +Indian/MS +Indiana/M +Indianan/SM +Indianapolis/M +Indianian +Indies/M +Indira/M +Indochina/M +Indochinese/M +Indonesia/M +Indonesian/SM +Indore/M +Indra/M +Indus/M +Indy/SM +Ines/M +Inez/M +Inge/M +Inglewood +Ingram/M +Ingres/M +Ingrid/M +Innocent/M +Innsbruck +Inonu/M +Inquisition/M +Inst +Instagram/M +Instamatic/M +Intel/M +Intelsat/M +Internationale/M +Internet/SM +Interpol/M +Inuit/MS +Inuktitut/M +Invar/M +Io/M +Ionesco/M +Ionian/MS +Ionic/SM +Iowa/SM +Iowan/MS +Iphigenia/M +Ipswich +Iqaluit/M +Iqbal/M +Iquitos/M +Ir/M +Ira/M +Iran/M +Iranian/SM +Iraq/M +Iraqi/MS +Ireland/M +Irene/M +Iris/M +Irish/MR +Irishman/M +Irishmen/M +Irishwoman/M +Irishwomen/M +Irkutsk/M +Irma/M +Iroquoian/SM +Iroquois/M +Irrawaddy/M +Irtish/M +Irvin/M +Irvine/M +Irving/M +Irwin/M +Isaac/M +Isabel/M +Isabella/M +Isabelle/M +Isaiah/M +Iscariot/M +Isfahan/M +Isherwood/M +Ishim/M +Ishmael/M +Ishtar/M +Isiah/M +Isidro/M +Isis/M +Islam/MS +Islamabad/M +Islamic/M +Islamism/M +Islamist/M +Islamophobia +Islamophobic +Ismael/M +Ismail/M +Isolde/M +Ispell/M +Israel/SM +Israeli/SM +Israelite/M +Issac/M +Issachar/M +Istanbul/M +Isuzu/M +It +Itaipu/M +Ital +Italian/SM +Italianate +Italy/M +Itasca/M +Ithaca/M +Ithacan/M +Ito/M +Iva/M +Ivan/M +Ivanhoe/M +Ives/M +Ivorian +Ivory/M +Ivy/M +Iyar/M +Izaak/M +Izanagi/M +Izanami/M +Izhevsk/M +Izmir/M +Izod/M +Izvestia/M +J/MD +JCS +JD +JFK/M +JP +JPEG +JV +Jack/M +Jackie/M +Jacklyn/M +Jackson/M +Jacksonian/M +Jacksonville/M +Jacky/M +Jaclyn/M +Jacob/SM +Jacobean/M +Jacobi/M +Jacobin/M +Jacobite/M +Jacobs/M +Jacobson/M +Jacquard/M +Jacqueline/M +Jacquelyn/M +Jacques/M +Jacuzzi/M +Jagger/M +Jagiellon/M +Jaguar/M +Jahangir/M +Jaime/M +Jain/M +Jainism/M +Jaipur/M +Jakarta/M +Jake/M +Jamaal/M +Jamaica/M +Jamaican/SM +Jamal/M +Jamar/M +Jame/SM +Jamel/M +James/M +Jamestown/M +Jami/M +Jamie/M +Jan/M +Jana/M +Janacek/M +Jane/M +Janell/M +Janelle/M +Janet/M +Janette/M +Janice/M +Janie/M +Janine/M +Janis/M +Janissary/M +Janjaweed/M +Janna/M +Jannie/M +Jansen/M +Jansenist/M +January/SM +Janus/M +Jap/SM +Japan/M +Japanese/MS +Japura/M +Jared/M +Jarlsberg/M +Jarred/M +Jarrett/M +Jarrod/M +Jarvis/M +Jasmine/M +Jason/M +Jasper/M +Jataka/M +Java/SM +JavaScript/M +Javanese/M +Javier/M +Jaxartes/M +Jay/M +Jayapura/M +Jayawardene/M +Jaycee/MS +Jaycees/M +Jayne/M +Jayson/M +Jean/M +Jeanette/M +Jeanie/M +Jeanine/M +Jeanne/M +Jeannette/M +Jeannie/M +Jeannine/M +Jed/M +Jedi/M +Jeep/M +Jeeves/M +Jeff/M +Jefferey/M +Jefferson/M +Jeffersonian/M +Jeffery/M +Jeffrey/M +Jeffry/M +Jehoshaphat/M +Jehovah/M +Jekyll/M +Jenifer/M +Jenkins/M +Jenna/M +Jenner/M +Jennie/M +Jennifer/M +Jennings/M +Jenny/M +Jensen/M +Jephthah/M +Jerald/M +Jeremiah/M +Jeremiahs +Jeremy/M +Jeri/M +Jericho/M +Jermaine/M +Jeroboam/M +Jerold/M +Jerome/M +Jerri/M +Jerrod/M +Jerrold/M +Jerry/M +Jersey/MS +Jerusalem/M +Jess/M +Jesse/M +Jessica/M +Jessie/M +Jesuit/MS +Jesus/M +Jetway/M +Jew/SM +Jewel/M +Jewell/M +Jewess/MS +Jewish/PM +Jewry/M +Jezebel/SM +Jiangsu/M +Jiangxi/M +Jidda/M +Jilin/M +Jill/M +Jillian/M +Jim/M +Jimenez/M +Jimmie/M +Jimmy/M +Jinan/M +Jinnah/M +Jinny/M +Jivaro/M +Jo/M +Joan/M +Joann/M +Joanna/M +Joanne/M +Joaquin/M +Job/SM +Jobs/M +Jocasta/M +Jocelyn/M +Jock/M +Jockey/M +Jodi/M +Jodie/M +Jody/M +Joe/M +Joel/M +Joey/M +Jogjakarta/M +Johann/M +Johanna/M +Johannes/M +Johannesburg/M +John/SM +Johnathan/M +Johnathon/M +Johnie/M +Johnnie/M +Johnny/M +Johns/M +Johnson/M +Johnston/M +Jolene/M +Jolson/M +Jon/M +Jonah/M +Jonahs +Jonas/M +Jonathan/M +Jonathon/M +Jones/M +Joni/M +Jonson/M +Joplin/M +Jordan/M +Jordanian/MS +Jorge/M +Jose/M +Josef/M +Josefa/M +Josefina/M +Joseph/M +Josephine/M +Josephs +Josephson/M +Josephus/M +Josh/M +Joshua/M +Josiah/M +Josie/M +Josue/M +Joule/M +Jove/M +Jovian/M +Joy/M +Joyce/M +Joycean/M +Joyner/M +Jpn +Jr/M +Juan/M +Juana/M +Juanita/M +Juarez/M +Jubal/M +Judaeo +Judah/M +Judaic +Judaical +Judaism/MS +Judas/MS +Judd/M +Jude/M +Judea/M +Judges +Judith/M +Judson/M +Judy/M +Juggernaut/M +Jul +Jules/M +Julia/M +Julian/M +Juliana/M +Julianne/M +Julie/M +Juliet/M +Juliette/M +Julio/M +Julius/M +Julliard/M +July/SM +Jun/M +June/SM +Juneau/M +Jung/M +Jungfrau/M +Jungian/M +Junior/SM +Junker/SM +Juno/M +Jupiter/M +Jurassic/M +Jurua/M +Justice/M +Justin/M +Justine/M +Justinian/M +Jutland/M +Juvenal/M +K/SMNGJ +KB/M +KC +KFC/M +KGB/M +KIA +KKK/M +KO/M +KP +KS +KY +Kaaba/M +Kabul/M +Kafka/M +Kafkaesque/M +Kagoshima/M +Kahlua/M +Kaifeng/M +Kaiser/MS +Kaitlin/M +Kalahari/M +Kalamazoo/M +Kalashnikov/M +Kalb/M +Kalevala/M +Kalgoorlie/M +Kali/M +Kalmyk/M +Kama/M +Kamchatka/M +Kamehameha/M +Kampala/M +Kampuchea/M +Kan/SM +Kanchenjunga/M +Kandahar/M +Kandinsky/M +Kane/M +Kannada/M +Kano/M +Kanpur/M +Kansan/MS +Kansas/M +Kant/M +Kantian/M +Kaohsiung/M +Kaposi/M +Kara/M +Karachi/M +Karaganda/M +Karakorum/M +Karamazov/M +Kareem/M +Karen/M +Karenina/M +Kari/M +Karin/M +Karina/M +Karl/M +Karla/M +Karloff/M +Karo/M +Karol/M +Karratha/M +Karroo/M +Karyn/M +Kasai/M +Kasey/M +Kashmir/SM +Kasparov/M +Kate/M +Katelyn/M +Katharine/M +Katherine/M +Katheryn/M +Kathiawar/M +Kathie/M +Kathleen/M +Kathmandu/M +Kathrine/M +Kathryn/M +Kathy/M +Katie/M +Katina/M +Katmai/M +Katowice/M +Katrina/M +Katy/M +Kauai/M +Kaufman/M +Kaunas/M +Kaunda/M +Kawabata/M +Kawasaki/M +Kay/M +Kaye/M +Kayla/M +Kazakh/M +Kazakhs +Kazakhstan/M +Kazan/M +Kazantzakis/M +Kb/M +Keaton/M +Keats/M +Keck/M +Keenan/M +Keewatin/M +Keillor/M +Keisha/M +Keith/M +Keller/M +Kelley/M +Kelli/M +Kellie/M +Kellogg/M +Kelly/M +Kelsey/M +Kelvin/M +Kemerovo/M +Kemp/M +Kempis/M +Kempsey/M +Ken/M +Kendall/M +Kendra/M +Kendrick/M +Kenmore/M +Kennan/M +Kennedy/M +Kenneth/M +Kennith/M +Kenny/M +Kent/M +Kenton/M +Kentuckian/MS +Kentucky/M +Kenya/M +Kenyan/SM +Kenyatta/M +Kenyon/M +Keogh/M +Keokuk/M +Kepler/M +Kerensky/M +Keri/M +Kermit/M +Kern/M +Kerouac/M +Kerr/M +Kerri/M +Kerry/M +Kettering/M +Keven/M +Kevin/M +Kevlar/M +Kevorkian/M +Kewpie/M +Key/M +Keynes/M +Keynesian/M +Khabarovsk/M +Khachaturian/M +Khalid/M +Khan/M +Kharkov/M +Khartoum/M +Khayyam/M +Khazar/M +Khmer/M +Khoikhoi/M +Khoisan/M +Khomeini/M +Khorana/M +Khrushchev/M +Khufu/M +Khulna/M +Khwarizmi/M +Khyber/M +Kickapoo/M +Kidd/M +Kiel/M +Kierkegaard/M +Kieth/M +Kiev/M +Kigali/M +Kikuyu/M +Kilauea/M +Kilimanjaro/M +Kilroy/M +Kim/M +Kimberley/M +Kimberly/M +King/M +Kingaroy/M +Kingston/M +Kingstown/M +Kinko's +Kinney/M +Kinsey/M +Kinshasa/M +Kiowa/MS +Kip/M +Kipling/M +Kirby/M +Kirchhoff/M +Kirchner/M +Kirghistan/M +Kirghiz/M +Kirghizia/M +Kiribati/M +Kirinyaga/M +Kirk/M +Kirkland/M +Kirkpatrick/M +Kirov/M +Kirsten/M +Kisangani/M +Kishinev/M +Kislev/M +Kissinger/M +Kit/M +Kitakyushu/M +Kitchener/M +Kitty/M +Kiwanis/M +Klan/M +Klansman/M +Klaus/M +Klee/M +Kleenex/MS +Klein/M +Klimt/M +Kline/M +Klingon/M +Klondike/MS +Kmart/M +Knapp/M +Knesset/M +Kngwarreye/M +Knickerbocker/M +Knievel/M +Knight/M +Knopf/M +Knossos/M +Knowles/M +Knox/M +Knoxville/M +Knudsen/M +Knuth/M +Knuths +Kobe/M +Koch/M +Kochab/M +Kodachrome/M +Kodak/M +Kodaly/M +Kodiak/M +Koestler/M +Kohinoor/M +Kohl/M +Koizumi/M +Kojak/M +Kolyma/M +Kommunizma/M +Kong/M +Kongo/M +Konrad/M +Koontz/M +Koppel/M +Koran/MS +Koranic +Korea/M +Korean/SM +Kornberg/M +Kory/M +Korzybski/M +Kosciusko/M +Kossuth/M +Kosygin/M +Kotlin/M +Koufax/M +Kowloon/M +Kr/M +Kraft/M +Krakatoa/M +Krakow/M +Kramer/M +Krasnodar/M +Krasnoyarsk/M +Krebs/M +Kremlin/M +Kremlinologist +Kremlinology +Kresge/M +Kringle/M +Kris/M +Krishna/M +Krishnamurti/M +Krista/M +Kristen/M +Kristi/M +Kristie/M +Kristin/M +Kristina/M +Kristine/M +Kristopher/M +Kristy/M +Kroc/M +Kroger/M +Kronecker/M +Kropotkin/M +Kruger/M +Krugerrand/M +Krupp/M +Krystal/M +Kshatriya/M +Kublai/M +Kubrick/M +Kuhn/M +Kuibyshev/M +Kulthumm/M +Kunming/M +Kuomintang/M +Kurd/M +Kurdish/M +Kurdistan/M +Kurosawa/M +Kurt/M +Kurtis/M +Kusch/M +Kutuzov/M +Kuwait/M +Kuwaiti/SM +Kuznets/M +Kuznetsk/M +Kwakiutl/M +Kwan/M +Kwangju/M +Kwanzaa/MS +Ky/MH +Kyle/M +Kyoto/M +Kyrgyzstan/M +Kyushu/M +L'Amour/M +L'Enfant +L'Oreal/M +L'Ouverture/M +L/MN +LA +LAN/M +LBJ/M +LC +LCD/M +LCM +LDC +LED/M +LG/M +LGBT +LIFO +LL +LLB/M +LLD/M +LNG +LOGO +LP/M +LPG +LPN/SM +LSAT +LSD/M +LVN +La/SM +Lab +Laban/M +Labrador/SM +Labradorean +Lacey/M +Lachesis/M +Lactobacillus +Lacy/M +Ladoga/M +Ladonna/M +Lady/M +Ladyship/MS +Lafayette/M +Lafitte/M +Lagos/M +Lagrange/M +Lagrangian/M +Lahore/M +Laius/M +Lajos/M +Lakeisha/M +Lakewood +Lakisha/M +Lakota/M +Lakshmi/M +Lamaism/SM +Lamar/M +Lamarck/M +Lamaze/M +Lamb/M +Lambert/M +Lamborghini/M +Lambrusco/M +Lamentations +Lamont/M +Lana/M +Lanai/M +Lancashire/M +Lancaster/M +Lance/M +Lancelot/M +Land/M +Landon/M +Landry/M +Landsat/M +Landsteiner/M +Lane/M +Lang/M +Langerhans/M +Langland/M +Langley/M +Langmuir/M +Lanka/M +Lankan/M +Lanny/M +Lansing/M +Lanzhou/M +Lao/SM +Laocoon/M +Laos/M +Laotian/SM +Laplace/M +Laplacian +Lapland/MR +Lapp/SM +Lara/M +Laramie/M +Lardner/M +Laredo/M +Larousse/M +Larry/M +Lars/MN +Larsen/M +Larson/M +Lascaux/M +Lassa/M +Lassen/M +Lassie/M +Lat/M +Latasha/M +Lateran/M +Latham/M +Latin/MRS +Latina +Latino/SM +Latinx +Latisha/M +Latonya/M +Latoya/M +Latrobe/M +Latvia/M +Latvian/MS +Laud/MR +Lauder/M +Laue/M +Launceston/M +Laundromat/M +Laura/M +Laurasia/M +Laurel/M +Lauren/M +Laurence/M +Laurent/M +Lauri/M +Laurie/M +Laval/M +Lavern/M +Laverne/M +Lavoisier/M +Lavonne/M +Lawanda/M +Lawrence/M +Lawson/M +Layamon/M +Layla/M +Lazaro/M +Lazarus/M +Le/SM +Lea/M +Leach/M +Leadbelly/M +Leah/M +Leakey/M +Lean/M +Leander/M +Leann/M +Leanna/M +Leanne/M +Lear/M +Learjet/M +Leary/M +Leavenworth/M +Lebanese/M +Lebanon/M +Lebesgue/M +Leblanc/M +Leda/M +Lederberg/M +Lee/M +Leeds/M +Leeuwenhoek/M +Leeward/M +Left +Legendre/M +Leger/M +Leghorn/M +Lego/M +Legree/M +Lehman/M +Leibniz/M +Leicester/SM +Leiden/M +Leif/M +Leigh/M +Leila/M +Leipzig/M +Lela/M +Leland/M +Lelia/M +Lemaitre/M +Lemuel/M +Lemuria/M +Len/M +Lena/M +Lenard/M +Lenin/M +Leningrad/M +Leninism/M +Leninist/M +Lennon/M +Lenny/M +Leno/M +Lenoir/M +Lenora/M +Lenore/M +Lent/SMN +Lenten/M +Leo/SM +Leola/M +Leon/M +Leona/M +Leonard/M +Leonardo/M +Leoncavallo/M +Leonel/M +Leonid/M +Leonidas/M +Leonor/M +Leopold/M +Leopoldo/M +Lepidus/M +Lepke/M +Lepus/M +Lerner/M +Leroy/M +Les/M +Lesa/M +Lesley/M +Leslie/M +Lesotho/M +Lesseps/M +Lessie/M +Lester/M +Lestrade/M +Leta/M +Letha/M +Lethe/M +Leticia/M +Letitia/M +Letterman/M +Levant/M +Levesque/M +Levi/SM +Leviathan/M +Levine/M +Leviticus/M +Levitt/M +Levy/M +Lew/M +Lewinsky/M +Lewis/M +Lexington/M +Lexus/M +Lhasa/MS +Lhotse/M +Li/MY +Liaoning/M +Libby/M +Liberace/M +Liberal +Liberia/M +Liberian/SM +Libra/MS +LibreOffice/M +Libreville/M +Librium/M +Libya/M +Libyan/SM +Lichtenstein/M +Lidia/M +Lie/M +Lieberman/M +Liebfraumilch/M +Liechtenstein/ZMR +Liechtensteiner/M +Liege/M +Lieut +Lila/M +Lilia/M +Lilian/M +Liliana/M +Lilith/M +Liliuokalani/M +Lille/M +Lillian/M +Lillie/M +Lilliput/M +Lilliputian/MS +Lilly/M +Lilongwe/M +Lily/M +Lima/M +Limbaugh/M +Limbo +Limburger/M +Limoges/M +Limousin/M +Limpopo/M +Lin/M +Lina/M +Lincoln/MS +Lind/M +Linda/M +Lindbergh/M +Lindsay/M +Lindsey/M +Lindy/M +Linnaeus/M +Linotype/M +Linton/M +Linus/M +Linux/MS +Linwood/M +Lionel/M +Lipizzaner/M +Lippi/M +Lippmann/M +Lipscomb/M +Lipton/M +Lisa/M +Lisbon/M +Lismore/M +Lissajous/M +Lister/M +Listerine/M +Liston/M +Liszt/M +Lithgow/M +Lithuania/M +Lithuanian/MS +Little/M +Litton/M +Liverpool/M +Liverpudlian/SM +Livia/M +Livingston/M +Livingstone/M +Livonia/M +Livy/M +Liz/M +Liza/M +Lizzie/M +Lizzy/M +Ljubljana/M +Llewellyn/M +Lloyd/M +Ln +Loafer/SM +Lobachevsky/M +Lochinvar/M +Locke/M +Lockean/M +Lockheed/M +Lockwood/M +Lodge/M +Lodz/M +Loewe/M +Loewi/M +Loews/M +Logan/M +Lohengrin/M +Loire/M +Lois/M +Loki/M +Lola/M +Lolita/M +Lollard/M +Lollobrigida/M +Lombard/M +Lombardi/M +Lombardy/M +Lome/M +Lon/M +London/MRZ +Londoner/M +Long/M +Longfellow/M +Longstreet/M +Longueuil +Lonnie/M +Lopez/M +Lora/M +Loraine/M +Lord/SM +Lordship/SM +Lorelei/M +Loren/M +Lorena/M +Lorene/M +Lorentz/M +Lorentzian +Lorenz/M +Lorenzo/M +Loretta/M +Lori/M +Lorie/M +Lorna/M +Lorraine/M +Lorre/M +Lorrie/M +Los +Lot/M +Lothario/SM +Lott/M +Lottie/M +Lou/M +Louella/M +Louie/M +Louis/M +Louisa/M +Louise/M +Louisiana/M +Louisianan/MS +Louisianian/MS +Louisville/M +Lourdes/M +Louvre/M +Love/M +Lovecraft/M +Lovelace/M +Lowe/M +Lowell/M +Lowenbrau/M +Lowery/M +Lowlands +Loyang/M +Loyd/M +Loyola/M +Lr +Lt +Ltd +Lu/M +Luanda/M +Luann/M +Lubavitcher/M +Lubbock/M +Lubumbashi/M +Lucas/M +Luce/M +Lucia/M +Lucian/M +Luciano/M +Lucien/M +Lucifer/M +Lucile/M +Lucille/M +Lucinda/M +Lucio/M +Lucite/SM +Lucius/M +Lucknow/M +Lucretia/M +Lucretius/M +Lucy/M +Luddite/MS +Ludhiana/M +Ludwig/M +Luella/M +Lufthansa/M +Luftwaffe/M +Luger/M +Lugosi/M +Luigi/M +Luis/M +Luisa/M +Luke/M +Lula/M +Lully/M +Lulu/M +Lumiere/M +Luna/M +Lupe/M +Lupercalia/M +Lupus/M +Luria/M +Lusaka/M +Lusitania/M +Luther/M +Lutheran/SM +Lutheranism/MS +Luvs/M +Luxembourg/ZMR +Luxembourger/M +Luxembourgian +Luz/M +Luzon/M +Lvov/M +LyX/M +Lyallpur +Lycra/M +Lycurgus/M +Lydia/M +Lydian/SM +Lyell/M +Lyle/M +Lyly/M +Lyman/M +Lyme/M +Lynch/M +Lynda/M +Lyndon/M +Lynette/M +Lynn/M +Lynne/M +Lynnette/M +Lyon/SM +Lyons/M +Lyra/M +Lysenko/M +Lysistrata/M +Lysol/M +M/SMGB +MA/M +MASH +MB/M +MBA/M +MC +MCI/M +MD/M +MDT +ME +MEGO/S +MFA/M +MGM/M +MHz +MI/M +MIA +MIDI/M +MIPS +MIRV +MIT/M +MM +MN +MO +MOOC +MP/M +MPEG +MRI/M +MS/M +MSG/M +MST/M +MSW +MT/M +MTV/M +MVP/M +MW +Maalox/M +Mabel/M +Mable/M +Mac/M +MacArthur/M +MacBride/M +MacDonald/M +MacLeish/M +Macao/M +Macaulay/M +Macbeth/M +Maccabees +Maccabeus/M +Mace/M +Macedon/M +Macedonia/M +Macedonian/SM +Mach/M +Machiavelli/M +Machiavellian/M +Macias/M +Macintosh/M +Mack/M +Mackay/M +Mackenzie/M +Mackinac/M +Mackinaw/M +Macmillan/M +Macon/M +Macumba/M +Macy/M +Madagascan/SM +Madagascar/M +Madam +Madden/M +Maddox/M +Madeira/SM +Madeleine/M +Madeline/M +Madelyn/M +Madge/M +Madison/M +Madonna/SM +Madras/M +Madrid/M +Madurai/M +Mae/M +Maeterlinck/M +Mafia/MS +Mafioso/M +Magdalena/M +Magdalene/M +Magellan/M +Magellanic/M +Maggie/M +Maghreb/M +Magi +Maginot/M +Magnificat +Magnitogorsk/M +Magog/M +Magoo/M +Magritte/M +Magsaysay/M +Magus +Magyar/SM +Mahabharata/M +Maharashtra/M +Mahavira/M +Mahayana/M +Mahayanist/M +Mahdi/M +Mahfouz/M +Mahican/SM +Mahler/M +Mai/M +Maidenform/M +Maigret/M +Mailer/M +Maillol/M +Maiman/M +Maimonides/M +Maine/MZR +Mainer/M +Maisie/M +Maitland/M +Maitreya/M +Maj +Majesty +Major/M +Majorca/M +Majuro/M +Makarios/M +Maker/M +Malabar/M +Malabo/M +Malacca/M +Malachi/M +Malagasy/M +Malamud/M +Malaprop/M +Malawi/M +Malawian/SM +Malay/MS +Malaya/M +Malayalam/M +Malayan/MS +Malaysia/M +Malaysian/MS +Malcolm/M +Maldive/MS +Maldives/M +Maldivian/MS +Maldonado/M +Male/M +Mali/M +Malian/SM +Malibu/M +Malinda/M +Malinowski/M +Mallarme/M +Mallomars/M +Mallory/M +Malone/M +Malory/M +Malplaquet/M +Malraux/M +Malta/M +Maltese/M +Malthus/M +Malthusian/SM +Mameluke/M +Mamet/M +Mamie/M +Mamore/M +Man/M +Managua/M +Manama/M +Manasseh/M +Manchester/M +Manchu/SM +Manchuria/M +Manchurian/M +Mancini/M +Mancunian/MS +Mandalay/M +Mandarin/M +Mandela/M +Mandelbrot/M +Mandingo/M +Mandrell/M +Mandy/M +Manet/M +Manfred/M +Manhattan/SM +Mani/M +Manichean/M +Manilas +Manilla/M +Manitoba/M +Manitoulin/M +Manley/M +Mann/GM +Mannheim/M +Manning/M +Mansfield/M +Manson/M +Mantegna/M +Mantle/M +Manuel/M +Manuela/M +Manx/M +Mao/M +Maoism/SM +Maoist/SM +Maori/MS +Mapplethorpe/M +Maputo/M +Mar/SM +Mara/M +Maracaibo/M +Marat/M +Maratha/M +Marathi/M +Marathon/M +Marc/M +Marceau/M +Marcel/M +Marcelino/M +Marcella/M +Marcelo/M +March/MS +Marci/M +Marcia/M +Marciano/M +Marcie/M +Marco/MS +Marconi/M +Marcos/M +Marcus/M +Marcuse +Marcy/M +Marduk/M +Margaret/M +Margarita/M +Margarito/M +Marge/M +Margery/M +Margie/M +Margo/M +Margot +Margret/M +Margrethe/M +Marguerite/M +Mari/SM +Maria/M +MariaDB/M +Marian/M +Mariana/SM +Marianas/M +Marianne/M +Mariano/M +Maribel/M +Maricela/M +Marie/M +Marietta/M +Marilyn/M +Marin/M +Marina/M +Marine/SM +Mario/M +Marion/M +Maris/M +Marisa/M +Marisol/M +Marissa/M +Maritain/M +Maritza/M +Mariupol +Marius/M +Marjorie/M +Marjory/M +Mark/SM +Markab/M +Markham/M +Markov/M +Marks/M +Marla/M +Marlboro/M +Marlborough/M +Marlene/M +Marley/M +Marlin/M +Marlon/M +Marlowe/M +Marmara/M +Marne/M +Maronite/M +Marple/M +Marquesas/M +Marquette/M +Marquez/M +Marquis/M +Marquita/M +Marrakesh/M +Marriott/M +Mars/MS +Marsala/M +Marseillaise/MS +Marseilles/M +Marsh/M +Marsha/M +Marshall/M +Marta/M +Martel/M +Martha/M +Martial/M +Martian/SM +Martin/M +Martina/M +Martinez/M +Martinique/M +Marty/M +Marva/M +Marvell/M +Marvin/M +Marx/M +Marxian +Marxism/SM +Marxist/SM +Mary/M +Maryann/M +Maryanne/M +Maryborough/M +Maryellen/M +Maryland/MR +Marylander/M +Marylou/M +Masada/M +Masai/M +Masaryk/M +Mascagni/M +Masefield/M +Maserati/M +Maseru/M +Mashhad/M +Mason/MS +Masonic/M +Masonite/M +Mass/MS +Massachusetts/M +Massasoit/M +Massenet/M +Massey/M +Master/S +MasterCard/M +Masters/M +Mather/M +Matheson/M +Mathew/SM +Mathews/M +Mathewson/M +Mathias/M +Mathis/M +Matilda/M +Matisse/M +Matlab/M +Matt/M +Mattel/M +Matterhorn/M +Matthew/SM +Matthews/M +Matthias/M +Mattie/M +Maud/M +Maude/M +Maugham/M +Maui/M +Maupassant/M +Maura/M +Maureen/M +Mauriac/M +Maurice/M +Mauricio/M +Maurine/M +Mauritania/M +Mauritanian/SM +Mauritian/SM +Mauritius/M +Mauro/M +Maurois/M +Mauryan/M +Mauser/M +Mavis/M +Max/M +Maximilian/M +Maxine/M +Maxwell/M +May/SMR +Maya/SM +Mayan/MS +Mayer/M +Mayfair/M +Mayflower/M +Maynard/M +Mayo/M +Maypole +Mayra/M +Mays/M +Maytag/M +Mazama/M +Mazarin/M +Mazatlan/M +Mazda/M +Mazola/M +Mazzini/M +Mb/M +Mbabane/M +Mbini/M +McAdam/M +McBride/M +McCain/M +McCall/M +McCarthy/M +McCarthyism/M +McCartney/M +McCarty/M +McClain/M +McClellan/M +McClure/M +McConnell/M +McCormick/M +McCoy/M +McCray/M +McCullough/M +McDaniel/M +McDonald/M +McDonnell/M +McDowell/M +McEnroe/M +McFadden/M +McFarland/M +McGee/M +McGovern/M +McGowan/M +McGuffey/M +McGuire/M +McIntosh/M +McIntyre/M +McJob +McKay/M +McKee/M +McKenzie/M +McKinley/M +McKinney/M +McKnight/M +McLaughlin/M +McLean/M +McLeod/M +McLuhan/M +McMahon/M +McMillan/M +McNamara/M +McNaughton/M +McNeil/M +McPherson/M +McQueen/M +McVeigh/M +Md/M +Me +Mead/M +Meade/M +Meadows/M +Meagan/M +Meany/M +Mecca/MS +Medan/M +Medea/M +Medellin/M +Media/M +Medicaid/SM +Medicare/SM +Medici/M +Medina/M +Mediterranean/MS +Medusa/M +Meg/M +Megan/M +Meghan/M +Meier/M +Meighen/M +Meiji/M +Meir/M +Mejia/M +Mekong/M +Mel/M +Melanesia/M +Melanesian/M +Melanie/M +Melba/M +Melbourne/M +Melchior/M +Melchizedek/M +Melendez/M +Melinda/M +Melisa/M +Melisande/M +Melissa/M +Mellon/M +Melody/M +Melpomene/M +Melton/M +Melva/M +Melville/M +Melvin/M +Memcached/M +Memling/M +Memphis/M +Menander/M +Mencius/M +Mencken/M +Mendel/M +Mendeleev/M +Mendelian/M +Mendelssohn/M +Mendez/M +Mendocino/M +Mendoza/M +Menelaus/M +Menelik/M +Menes/M +Mengzi +Menkalinan/M +Menkar/M +Menkent/M +Mennen/M +Mennonite/MS +Menominee/M +Menotti/M +Mensa/M +Mentholatum/M +Menuhin/M +Menzies/M +Mephisto +Mephistopheles/M +Merak/M +Mercado/M +Mercator/M +Mercedes/M +Mercer/M +Mercia/M +Merck/M +Mercurochrome/M +Mercury/SM +Meredith/M +Merino/M +Merle/M +Merlin/M +Merlot/M +Merovingian/M +Merriam/M +Merrick/M +Merrill/M +Merrimack/M +Merritt/M +Merthiolate/M +Merton/M +Mervin/M +Mesa/M +Mesabi/M +Mesmer/M +Mesolithic/M +Mesopotamia/M +Mesopotamian +Mesozoic/M +Messerschmidt/M +Messiaen/M +Messiah/M +Messiahs +Messianic +Messieurs +Metallica/M +Metamucil/M +Methodism/SM +Methodist/SM +Methuselah/M +Metternich/M +Meuse/M +Mex +Mexicali/M +Mexican/MS +Mexico/M +Meyer/MS +Meyerbeer/M +Meyers/M +Mfume/M +Mg/M +Mgr +MiG/M +Mia/M +Miami/MS +Miaplacidus/M +Micah/M +Micawber/M +Mich/M +Michael/M +Michaelmas/MS +Micheal/M +Michel/M +Michelangelo/M +Michele/M +Michelin/M +Michelle/M +Michelob/M +Michelson/M +Michigan/M +Michigander/MS +Michiganite +Mick/M +Mickey/M +Mickie/M +Micky/M +Micmac/SM +Micronesia/M +Micronesian/M +Microsoft/M +Midas/M +Middleton/M +Mideast +Mideastern +Midland/MS +Midway/M +Midwest/M +Midwestern/MR +Miguel/M +Mike/M +Mikhail/M +Mikoyan/M +Milagros/M +Milan/M +Milanese +Mildred/M +Mildura/M +Miles/M +Milford/M +Milken/M +Mill/SMR +Millard/M +Millay/M +Miller/M +Millet/M +Millicent/M +Millie/M +Millikan/M +Mills/M +Milne/M +Milo/M +Milosevic/M +Milquetoast/M +Miltiades/M +Milton/M +Miltonian +Miltonic/M +Miltown/M +Milwaukee/M +Mimi/M +Mimosa/M +Min/M +Minamoto/M +Mindanao/M +Mindoro/M +Mindy/M +Minerva/M +Ming/M +Mingus/M +Minn +Minneapolis/M +Minnelli/M +Minnesota/M +Minnesotan/SM +Minnie/M +Minoan/MS +Minolta/M +Minos/M +Minot/M +Minotaur/M +Minsk/M +Minsky/M +Mintaka/M +Minuit/M +Minuteman/M +Miocene/M +Mir/M +Mira/M +Mirabeau/M +Mirach/M +Miranda/M +Mirfak/M +Miriam/M +Miro/M +Mirzam/M +Miskito/M +Miss +Mississauga/M +Mississippi/M +Mississippian/SM +Missouri/M +Missourian/MS +Missy/M +Mistassini/M +Mister +Mistress +Misty/M +Mitch/M +Mitchel/M +Mitchell/M +Mitford/M +Mithra/M +Mithridates/M +Mitsubishi/M +Mittagong/M +Mitterrand/M +Mitty/M +Mitzi/M +Mixtec/M +Mizar/M +Mk +Mlle +Mme/S +Mn/M +Mnemosyne/M +Mo/M +Moama/M +Mobil/M +Mobile/M +Mobutu/M +Modesto/M +Modigliani/M +Moe/M +Moet/M +Mogadishu/M +Mogul/MS +Mohacs/M +Mohamed/M +Mohammad/M +Mohammedan/SM +Mohammedanism/SM +Mohave/SM +Mohawk/SM +Mohegan +Moho/M +Mohorovicic/M +Moira/M +Moises/M +Moiseyev/M +Mojave/SM +Moldavia/M +Moldavian +Moldova/M +Moldovan +Moliere/M +Molina/M +Moll/M +Mollie/M +Molly/M +Molnar/M +Moloch/M +Molokai/M +Molotov/M +Moluccas/M +Mombasa/M +Mon/SM +Mona/M +Monacan +Monaco/M +Mondale/M +Monday/SM +Mondrian/M +Monegasque/SM +Monera/M +Monet/M +MongoDB/M +Mongol/SM +Mongolia/M +Mongolian/SM +Mongolic/M +Mongoloid +Monica/M +Monique/M +Monk/M +Monmouth/M +Monongahela/M +Monroe/M +Monrovia/M +Monsanto/M +Monsieur/M +Monsignor/SM +Mont/M +Montague/M +Montaigne/M +Montana/M +Montanan/SM +Montcalm/M +Monte/M +Montenegrin/M +Montenegro/M +Monterrey/M +Montesquieu/M +Montessori/M +Monteverdi/M +Montevideo/M +Montezuma/M +Montgolfier/M +Montgomery/M +Monticello/M +Montoya/M +Montpelier/M +Montrachet/M +Montreal/M +Montserrat/M +Monty/M +Moody/M +Moog/M +Moon/M +Mooney/M +Moor/SM +Moore/M +Moorish/M +Mooroopna/M +Morales/M +Moran/M +Moravia/M +Moravian/M +Mordred/M +More/M +Moreno/M +Morgan/SM +Moriarty/M +Morin/M +Morison/M +Morisset/M +Morita/M +Morley/M +Mormon/SM +Mormonism/SM +Moro/M +Moroccan/SM +Morocco/M +Moroni/M +Morpheus/M +Morphy/M +Morris/M +Morrison/M +Morrow/M +Morse/M +Mort/M +Mortimer/M +Morton/M +Morwell/M +Mosaic/M +Moscow/M +Moseley/M +Moselle/M +Moses/M +Mosley/M +Moss/M +Mosul/M +Motorola/M +Motown/M +Motrin/M +Mott/M +Moulton/M +Mount/M +Mountbatten/M +Mountie/MS +Moussorgsky/M +Mouthe/M +Mouton/M +Mowgli/M +Mozambican/SM +Mozambique/M +Mozart/M +Mozilla/M +Mr/SM +Ms/S +Msgr +Mt +Muawiya/M +Mubarak/M +Mudgee/M +Mueller/M +Muenster/MS +Mugabe/M +Muhammad/M +Muhammadan/MS +Muhammadanism/SM +Muir/M +Mujib/M +Mulder/M +Mullen/M +Muller/M +Mulligan/M +Mullikan/M +Mullins/M +Mulroney/M +Multan/M +Multics +Mumbai/M +Mumford/M +Munch/M +Munchhausen/M +Munich/M +Munoz/M +Munro/M +Munster/M +Muppet/M +Murasaki/M +Murat/M +Murchison/M +Murcia +Murdoch/M +Muriel/M +Murillo/M +Murine/M +Murmansk/M +Murphy/M +Murray/M +Murrow/M +Murrumbidgee/M +Muscat/M +Muscovite/M +Muscovy/M +Muse/M +Musharraf/M +Musial/M +Muskogee/M +Muslim/MS +Mussolini/M +Mussorgsky/M +Muswellbrook/M +Mutsuhito/M +Muzak/M +MySQL/M +MySpace/M +Myanmar/M +Mycenae/M +Mycenaean/M +Myers/M +Mylar/MS +Myles/M +Myra/M +Myrdal/M +Myrna/M +Myron/M +Myrtle/M +Mysore/M +Myst/M +N'Djamena +N/MD +NAACP/M +NAFTA/M +NASA/M +NASCAR/M +NASDAQ/M +NATO/M +NB +NBA/M +NBC/M +NBS +NC +NCAA/M +NCO +ND +NE/M +NEH +NF +NFC +NFL/M +NH +NHL/M +NIH +NIMBY +NJ +NLRB +NM +NORAD/M +NOW +NP +NPR/M +NR +NRA +NRC +NS +NSA/M +NSC +NSF +NSFW +NT +NV +NVIDIA/M +NW/M +NWT +NY +NYC +NYSE +NZ +Na/M +Nabisco/M +Nabokov/M +Nader/M +Nadia/M +Nadine/M +Nagasaki/M +Nagoya/M +Nagpur/M +Nagy/M +Nahuatl/MS +Nahum/M +Naipaul/M +Nair/M +Nairobi/M +Naismith/M +Nam/M +Namath/M +Namibia/M +Namibian/MS +Nan/M +Nanak/M +Nanchang/M +Nancy/M +Nanette/M +Nanjing/M +Nannie/M +Nanook/M +Nansen/M +Nantes/M +Nantucket/M +Naomi/M +Naphtali/M +Napier/M +Naples/M +Napoleon/MS +Napoleonic/M +Napster/M +Narcissus/M +Narmada/M +Narnia/M +Narraganset +Narragansett/M +Nash/M +Nashua/M +Nashville/M +Nassau/M +Nasser/M +Nat/M +Natalia/M +Natalie/M +Natasha/M +Natchez/M +Nate/MN +Nathan/SM +Nathaniel/M +Nathans/M +Nation/M +Nationwide/M +Nativity/M +Naugahyde/M +Nauru/M +Nautilus/M +Navajo/SM +Navajoes +Navarre/M +Navarro/M +Navratilova/M +Navy +Nazarene/M +Nazareth/M +Nazca/M +Nazi/SM +Nazism/MS +Nb/M +Nd/M +Ndjamena/M +Ne/M +NeWS +NeWSes +Neal/M +Neanderthal/SM +Neapolitan/M +Neb +Nebr +Nebraska/M +Nebraskan/MS +Nebuchadnezzar/M +Ned/M +Nefertiti/M +Negev/M +Negress/MS +Negritude +Negro/MS +Negroes +Negroid/SM +Negros/M +Nehemiah/M +Nehru/M +Neil/M +Nelda/M +Nell/M +Nellie/M +Nelly/M +Nelsen/M +Nelson/M +Nembutal/M +Nemesis/M +Neo/M +Neogene/M +Neolithic +Nepal/M +Nepalese/M +Nepali/MS +Neptune/M +Nereid/M +Nerf/M +Nero/M +Neruda/M +Nescafe/M +Nesselrode/M +Nestle/M +Nestor/M +Nestorius/M +Netflix/M +Netherlander/SM +Netherlands/M +Netscape/M +Nettie/M +Netzahualcoyotl/M +Nev/M +Neva/M +Nevada/M +Nevadan/SM +Nevadian +Nevis/M +Nevsky/M +Newark/M +Newborough/M +Newcastle/M +Newfoundland/MRS +Newman/M +Newport/M +Newsweek/M +Newton/M +Newtonian/M +Nexis/M +Ngaliema/M +Nguyen/M +Ni/M +Niagara/M +Niamey/M +Nibelung/M +Nicaea/M +Nicaragua/M +Nicaraguan/SM +Niccolo/M +Nice/M +Nicene/M +Nichiren/M +Nicholas/M +Nichole/M +Nichols/M +Nicholson/M +Nick/M +Nickelodeon/M +Nicklaus/M +Nickolas/M +Nicobar/M +Nicodemus/M +Nicola/SM +Nicolas/M +Nicole/M +Nicosia/M +Niebuhr/M +Nielsen/M +Nietzsche/M +Nieves/M +Nigel/M +Niger/M +Nigeria/M +Nigerian/MS +Nigerien/M +Nightingale/M +Nijinsky/M +Nike/M +Nikita/M +Nikkei/M +Nikki/M +Nikolai/M +Nikon/M +Nile/M +Nimitz/M +Nimrod/M +Nina/M +Nineveh/M +Nintendo/M +Niobe/M +Nippon/M +Nipponese/M +Nirenberg/M +Nirvana/M +Nisan/M +Nisei/M +Nissan/M +Nita/M +Nivea/M +Nixon/M +Nkrumah/M +No/SM +NoDoz/M +Noah/M +Nobel/M +Nobelist/MS +Noble/M +Noe/M +Noel/SM +Noelle/M +Noemi/M +Nokia/M +Nola/M +Nolan/M +Nome/M +Nona/M +Nootka/M +Nora/M +Norbert/M +Norberto/M +Nordic/MS +Noreen/M +Norfolk/M +Noriega/M +Norma/M +Norman/MS +Normand/M +Normandy/M +Norplant/M +Norris/M +Norse/M +Norseman/M +Norsemen/M +North/M +Northampton/M +Northeast/MS +Northerner/M +Northrop/M +Northrup/M +Norths +Northwest/SM +Norton/M +Norw +Norway/M +Norwegian/SM +Norwich/M +Nosferatu/M +Nostradamus/M +Nottingham/M +Nouakchott/M +Noumea/M +Nov/M +Nova/M +Novartis/M +November/MS +Novgorod/M +Novocain/MS +Novocaine +Novokuznetsk/M +Novosibirsk/M +Nowra/M +Noxzema/M +Noyce/M +Noyes/M +Np/M +Nubia/M +Nubian/M +Nukualofa/M +Numbers/M +Nunavut/M +Nunez/M +Nunki/M +Nuremberg/M +Nureyev/M +NutraSweet/M +NyQuil/M +Nyasa/M +Nyerere/M +O'Brien/M +O'Casey/M +O'Connell/M +O'Connor/M +O'Donnell/M +O'Hara/M +O'Higgins/M +O'Keeffe/M +O'Neil/M +O'Neill/M +O'Rourke/M +O'Toole/M +O/SM +OAS/M +OB +OCR +OD/SM +OE +OED +OH +OHSA/M +OJ +OK/SMDG +OMB/M +ON +OPEC/M +OR +OS/M +OSHA/M +OSes +OT +OTB +OTC +OTOH +Oahu/M +Oakland/M +Oakley/M +Oates/M +Oaxaca/M +Ob/M +Obadiah/M +Obama/M +Obamacare +Oberlin/M +Oberon/M +Ocaml/M +Occam/M +Occident +Occidental/MS +Oceania/M +Oceanside +Oceanus/M +Ochoa/M +Oct/M +Octavia/M +Octavian/M +Octavio/M +October/SM +Odell/M +Oder/M +Odessa/M +Odets/M +Odin/M +Odis/M +Odom/M +Odysseus/M +Odyssey/M +Oedipal/M +Oedipus/M +Oersted/M +Ofelia/M +Offenbach/M +OfficeMax/M +Ogbomosho/M +Ogden/M +Ogilvy/M +Oglethorpe/M +Ohio/M +Ohioan/SM +Oise/M +Ojibwa/SM +Okayama +Okeechobee/M +Okefenokee/M +Okhotsk/M +Okinawa/M +Okinawan +Okla +Oklahoma/M +Oklahoman/M +Oktoberfest/M +Ola/M +Olaf/M +Olajuwon/M +Olav/M +Oldenburg/M +Oldfield/M +Oldsmobile/M +Olduvai/M +Olen/M +Olenek/M +Olga/M +Oligocene/M +Olin/M +Olive/MR +Oliver/M +Olivetti/M +Olivia/M +Olivier/M +Ollie/M +Olmec/M +Olmsted/M +Olsen/M +Olson/M +Olympia/SM +Olympiad/MS +Olympian/MS +Olympic/SM +Olympics/M +Olympus/M +Omaha/MS +Oman/M +Omani/MS +Omar/M +Omayyad/M +Omdurman/M +Omnipotent +Omsk/M +Onassis/M +Oneal/M +Onega/M +Onegin/M +Oneida/MS +Onion/M +Ono/M +Onondaga/MS +Onsager/M +Ont +Ontarian +Ontario/M +Oort/M +Opal/M +Opel/M +OpenOffice/M +Ophelia/M +Ophiuchus/M +Oppenheimer/M +Opposition +Oprah/M +Ora/M +Oracle/M +Oran/M +Orange/M +Oranjestad/M +Orbison/M +Ordovician/M +Ore/N +Oreg +Oregon/M +Oregonian/SM +Oreo/M +Orestes/M +Orient/M +Oriental/MS +Orientalism +Orin/M +Orinoco/M +Orion/M +Oriya/M +Orizaba/M +Orkney/M +Orlando/M +Orleans/M +Orlon/MS +Orly/M +Orpheus/M +Orphic/M +Orr/M +Orstralia +Orstralian +Orstrylia +Orstrylian +Ortega/M +Orthodox +Ortiz/M +Orval/M +Orville/M +Orwell/M +Orwellian/M +Os/M +Osage/MS +Osaka/M +Osbert/M +Osborn/M +Osborne/M +Oscar/MS +Osceola/M +Osgood/M +Oshawa/M +Oshkosh/M +Osiris/M +Oslo/M +Osman/M +Ostrogoth/M +Ostwald/M +Osvaldo/M +Oswald/M +Othello/M +Otis/M +Ottawa/SM +Otto/M +Ottoman/M +Ouagadougou/M +Ouija/MS +Ovid/M +Owen/SM +Owens/M +Oxford/SM +Oxnard/M +Oxonian/M +Oxus/M +Oxycontin/M +Oz/M +Ozark/MS +Ozarks/M +Ozymandias/M +Ozzie/M +P/MN +PA/M +PAC/M +PARC/S +PASCAL +PBS/M +PBX +PC/SM +PCB +PCMCIA +PCP/M +PD +PDF +PDQ +PDT +PE +PET/M +PFC +PG +PGP +PHP/M +PIN +PJ's +PLO/M +PM/SMDG +PMS/M +PO +POW/M +PP +PPS +PR +PRC/M +PRO +PS/M +PST/M +PT +PTA/M +PTO +PVC/M +PW +PX +Pa/M +Paar/M +Pablo/M +Pablum/M +Pabst/M +Pace/M +Pacheco/M +Pacific/M +Pacino/M +Packard/M +Padang +Paderewski/M +Padilla/M +Paganini/M +Page/M +Paglia/M +Pahlavi/M +Paige/M +Paine/M +Paiute/SM +Pakistan/M +Pakistani/SM +Palaeolithic +Palembang/M +Paleocene/M +Paleogene/M +Paleolithic's +Paleozoic/M +Palermo/M +Palestine/M +Palestinian/SM +Palestrina/M +Paley/M +Palikir/M +Palisades/M +Palladio/M +Palmer/M +Palmerston/M +Palmolive/M +Palmyra/M +Palomar/M +Pam/M +Pamela/M +Pamirs/M +Pampers/M +Pan/M +Panama/SM +Panamanian/MS +Panasonic/M +Pandora/M +Pangaea/M +Pankhurst/M +Panmunjom/M +Pansy/M +Pantagruel/M +Pantaloon/M +Pantheon/M +Panza/M +Paracelsus/M +Paraclete/M +Paradise +Paraguay/M +Paraguayan/MS +Paralympic/S +Paramaribo/M +Paramount/M +Parana/M +Parcheesi/M +Pareto/M +Paris/M +Parisian/MS +Park/SMR +Parker/M +Parkes/M +Parkinson/M +Parkinsonism +Parkman/M +Parks/M +Parliament/M +Parmenides +Parmesan/MS +Parnassus/MS +Parnell/M +Parr/M +Parrish/M +Parsifal/M +Parsons/M +Parthenon/M +Parthia/M +Pasadena/M +Pascal/SM +Pasquale/M +Passion/SM +Passover/MS +Pasternak/M +Pasteur/M +Pat/M +Patagonia/M +Patagonian/M +Pate/M +Patel/M +Paterson/M +Patna/M +Patrica/M +Patrice/M +Patricia/M +Patrick/M +Patsy/M +Patterson/M +Patti/M +Patton/M +Patty/M +Paul/GM +Paula/M +Paulette/M +Pauli/M +Pauline/M +Pauling/M +Pavarotti/M +Pavlov/M +Pavlova/M +Pavlovian/M +Pawnee/SM +PayPal/M +Payne/M +Pb/M +Pd/M +Peabody/M +Peace/M +Peale/M +Pearl/M +Pearlie/M +Pearson/M +Peary/M +Pechora/M +Peck/M +Peckinpah/M +Pecos/M +Pedro/M +Peel/M +Peg/M +Pegasus/MS +Peggy/M +Pei/M +Peiping/M +Peking/SM +Pekingese/SM +Pele/M +Pelee/M +Peloponnese/M +Pembroke/M +Pen/M +Pena/M +Penderecki/M +Penelope/M +Penn/M +Penna +Penney/M +Pennington/M +Pennsylvania/M +Pennsylvanian/MS +Penny/M +Pennzoil/M +Pensacola/M +Pentagon/M +Pentateuch/M +Pentax/M +Pentecost/SM +Pentecostal/MS +Pentecostalism +Pentium/SM +Peoria/M +Pepin/M +Pepsi/M +Pepys/M +Pequot/M +Percheron/M +Percival/M +Percy/M +Perelman/M +Perez/M +Periclean/M +Pericles/M +Perkins/M +Perl/SM +Perm/M +Permalloy/M +Permian/M +Pernod/M +Peron/M +Perot/M +Perrier/M +Perry/RM +Perseid/M +Persephone/M +Persepolis/M +Perseus/M +Pershing/M +Persia/M +Persian/SM +Perth/M +Peru/M +Peruvian/MS +Peshawar/M +Petain/M +Pete/RMZ +Peter/M +Peters/MN +Petersen/M +Peterson/M +Petra/M +Petrarch/M +Petty/M +Peugeot/M +Pfc +Pfizer/M +PhD/M +Phaedra/M +Phaethon/M +Phanerozoic/M +Pharaoh/M +Pharaohs +Pharisaic +Pharisaical +Pharisee/MS +Phekda/M +Phelps/M +Phidias/M +Phil/MY +Philadelphia/M +Philby/M +Philemon/M +Philip/MS +Philippe/M +Philippians/M +Philippine/SM +Philippines/M +Philips/M +Philistine/M +Phillip/SM +Phillipa/M +Phillips/M +Philly/M +Phipps/M +Phobos/M +Phoebe/M +Phoenicia/M +Phoenician/SM +Phoenix/M +Photostat/MS +Photostatted +Photostatting +Phrygia/M +Phyllis/M +Piaf/M +Piaget/M +Pianola/M +Picasso/M +Piccadilly/M +Pickering/M +Pickett/M +Pickford/M +Pickwick/M +Pict/M +Piedmont/M +Pierce/M +Pierre/M +Pierrot/M +Pike/M +Pilate/MS +Pilates/M +Pilcomayo/M +Pilgrim/SM +Pillsbury/M +Pinatubo/M +Pincus/M +Pindar/M +Pinkerton/M +Pinocchio/M +Pinochet/M +Pinter/M +Pinyin +Pippin/M +Piraeus/M +Pirandello/M +Pisa/M +Pisces/M +Pisistratus/M +Pissaro/M +Pitcairn/M +Pitt/SM +Pittman/M +Pitts/M +Pittsburgh/M +Pius/M +Pizarro/M +Pkwy +Pl +Planck/M +Plano +Plantagenet/M +Plasticine/M +Plataea/M +Plath/M +Plato/M +Platonic +Platonism/M +Platonist/M +Platte/M +Plautus/M +PlayStation/M +Playboy/M +Playtex/M +Pleiades/M +Pleistocene/M +Plexiglas/MS +Pliny/M +Pliocene/SM +Plutarch/M +Pluto/M +Plymouth/M +Pm/M +Po/M +Pocahontas/M +Pocono/SM +Poconos/M +Podgorica/M +Podhoretz/M +Podunk/M +Poe/M +Pogo/M +Poincare/M +Poiret/M +Poirot/M +Poisson/M +Poitier/M +Pokemon/M +Pol/MY +Poland/M +Polanski/M +Polaris/M +Polaroid/MS +Pole/SM +Polish/M +Politburo/M +Polk/M +Pollard/M +Pollock/M +Pollux/M +Polly/M +Pollyanna/M +Polo/M +Poltava/M +Polyhymnia/M +Polynesia/M +Polynesian/MS +Polyphemus/M +Pomerania/M +Pomeranian/M +Pomona/M +Pompadour/M +Pompeian +Pompeii/M +Pompey/M +Ponce/M +Pontchartrain/M +Pontiac/M +Pontianak/M +Pooh/M +Poole/M +Poona/M +Pope/M +Popeye/M +Popocatepetl/M +Popper/M +Poppins/M +Popsicle/M +Porfirio/M +Porrima/M +Porsche/M +Port/MR +Porter/M +Portia/M +Portland/M +Porto/M +Portsmouth/M +Portugal/M +Portuguese/M +Poseidon/M +Post/M +PostgreSQL/M +Potemkin/M +Potomac/M +Potsdam/M +Pottawatomie/M +Potter/M +Potts/M +Pound/M +Poussin/M +Powell/M +PowerPC/M +PowerPoint/M +Powers/M +Powhatan/M +Poznan/M +Pr/M +Prada/M +Prado/M +Praetorian/M +Prague/M +Praia/M +Prakrit/M +Pratchett/M +Pratt/M +Pravda/M +Praxiteles/M +Preakness/M +Precambrian/M +Preminger/M +Premyslid/M +Prensa/M +Prentice/M +Pres +Presbyterian/SM +Presbyterianism/MS +Prescott/M +Presley/M +Preston/M +Pretoria/M +Priam/M +Pribilof/M +Price/M +Priceline/M +Priestley/M +Prince/M +Princeton/M +Principe/M +Priscilla/M +Prius/M +Private +Procrustean/M +Procrustes/M +Procter/M +Procyon/M +Prof +Prohibition +Prokofiev/M +Promethean/M +Prometheus/M +Prophets +Proserpina/M +Proserpine/M +Protagoras/M +Proterozoic/M +Protestant/MS +Protestantism/SM +Proteus/M +Proudhon/M +Proust/M +Provencal/MS +Provence/M +Proverbs +Providence/SM +Provo/M +Prozac/MS +Prudence/M +Prudential/M +Pruitt/M +Prussia/M +Prussian/MS +Prut/M +Pryor/M +Psalms/M +Psalter/MS +Psyche/M +Pt/M +Ptah/M +Ptolemaic/M +Ptolemy/SM +Pu/M +Puccini/M +Puck/M +Puckett/M +Puebla/M +Pueblo/M +Puerto +Puget/M +Pugh/M +Pulaski/M +Pulitzer/M +Pullman/MS +Punch/M +Punic/M +Punjab/M +Punjabi/M +Purana/M +Purcell/M +Purdue/M +Purim/MS +Purina/M +Puritan/M +Puritanism/MS +Purus/M +Pusan/M +Pusey/M +Pushkin/M +Pushtu/M +Putin/M +Putnam/M +Puzo/M +Pvt +PyTorch/M +Pygmalion/M +Pygmy/SM +Pyle/M +Pym/M +Pynchon/M +Pyongyang/M +Pyotr/M +Pyrenees/M +Pyrex/MS +Pyrrhic/M +Pythagoras/M +Pythagorean/M +Pythias/M +Python/M +Q +QA +QB +QC +QED +QM +QWERTY +Qaddafi/M +Qantas/M +Qatar/M +Qatari/MS +Qingdao/M +Qinghai/M +Qiqihar/M +Qom/M +Quaalude/M +Quaker/MS +Quakerism/SM +Qualcomm/M +Quaoar/M +Quasimodo/M +Quaternary/M +Quayle/M +Que +Queanbeyan/M +Quebec/M +Quebecois/M +Quechua/M +Queen/MS +Queens/M +Queensland/M +Quentin/M +Quetzalcoatl/M +Quezon/M +Quincy/M +Quinn/M +Quintilian/M +Quinton/M +Quirinal/M +Quisling/M +Quito/M +Quixote/M +Quixotism/M +Qumran/M +Quonset/M +Quran +Quranic +R/M +RAF/M +RAM/SM +RBI +RC +RCA/M +RCMP +RD +RDA +RDS/M +REIT +REM/SM +RF +RFC/S +RFD +RI +RIF +RIP +RISC +RN/M +RNA/M +ROFL +ROM/M +ROTC/M +RP +RR +RSFSR +RSI +RSV +RSVP +RTFM +RV/SM +Ra/M +Rabat/M +Rabelais/M +Rabelaisian/M +Rabin/M +Rachael/M +Rachel/M +Rachelle/M +Rachmaninoff/M +Racine/M +Radcliffe/M +Rae/M +Rafael/M +Raffles/M +Ragnarok/M +Rainier/M +Raleigh/M +Ralph/M +Rama/M +Ramada/M +Ramadan/MS +Ramakrishna/M +Ramanujan/M +Ramayana/M +Rambo/M +Ramirez/M +Ramiro/M +Ramon/M +Ramona/M +Ramos/M +Ramsay/M +Ramses/M +Ramsey/M +Rand/M +Randal/M +Randall/M +Randell/M +Randi/M +Randolph/M +Randy/M +Rangoon/M +Rankin/M +Rankine/M +Raoul/M +Raphael/M +Rappaport/M +Rapunzel/M +Raquel/M +Rasalgethi/M +Rasalhague/M +Rasmussen/M +Rasputin/M +Rasta +Rastaban/M +Rastafarian/MS +Rastafarianism +Rather/M +Ratliff/M +Raul/M +Ravel/M +Rawalpindi/M +Ray/M +RayBan/M +Rayburn/M +Rayleigh/M +Raymond/M +Raymundo/M +Rb/M +Rd +Re/M +Reading/M +Reagan/M +Reaganomics/M +Realtor/M +Reasoner/M +Reba/M +Rebekah/M +Recife/M +Reconstruction/M +Redback/SM +Redeemer/M +Redford/M +Redgrave/M +Redis/M +Redmond/M +Redshift/M +Reebok/M +Reed/M +Reese/M +Reeves/M +Reformation/MS +Refugio/M +Reggie/M +Regina/M +Reginae/M +Reginald/M +Regor/M +Regulus/M +Rehnquist/M +Reich/M +Reichstag's +Reid/M +Reilly/M +Reinaldo/M +Reinhardt/M +Reinhold/M +Remarque/M +Rembrandt/M +Remington/M +Remus/M +Rena/M +Renaissance/SM +Renascence +Renault/M +Rene/M +Renee/M +Reno/M +Renoir/M +Rep +Representative +Republican/SM +Republicanism +Requiem/MS +Resistance +Restoration/M +Resurrection +Reuben/M +Reunion/M +Reuters/M +Reuther/M +Rev +Reva/M +Revelation/SM +Revelations/M +Revere/M +Reverend/M +Revlon/M +Rex/M +Reyes/M +Reykjavik/M +Reyna/M +Reynaldo/M +Reynolds/M +Rf/M +Rh/M +Rhea/M +Rhee/M +Rheingau/M +Rhenish/M +Rhiannon/M +Rhine/M +Rhineland/M +Rhoda/M +Rhode/S +Rhodes/M +Rhodesia/M +Rhodesian +Rhonda/M +Rhone/M +Ribbentrop/M +Ricardo/M +Rice/M +Rich/M +Richard/MS +Richards/M +Richardson/M +Richelieu/M +Richie/M +Richmond/M +Richter/M +Richthofen/M +Rick/M +Rickenbacker/M +Rickey/M +Rickie/M +Rickover/M +Ricky/M +Rico/M +Riddle/M +Ride/M +Riefenstahl/M +Riel/M +Riemann/M +Riesling/MS +Riga/M +Rigel/M +Riggs/M +Right +Rigoberto/M +Rigoletto/M +Riley/M +Rilke/M +Rimbaud/M +Ringling/M +Ringo/M +Rio/SM +Rios/M +Ripley/M +Risorgimento/M +Rita/M +Ritalin/M +Ritz/M +Rivas/M +Rivera/M +Rivers/M +Riverside +Riviera/MS +Riyadh/M +Rizal/M +Rn/M +Roach/M +Roanoke/M +Rob/M +Robbie/M +Robbin/MS +Robbins/M +Robby/M +Roberson/M +Robert/MS +Roberta/M +Roberto/M +Roberts/M +Robertson/M +Robeson/M +Robespierre/M +Robin/M +Robinson/M +Robitussin/M +Robles/M +Robson/M +Robt/M +Robyn/M +Rocco/M +Rocha/M +Rochambeau/M +Roche/M +Rochelle/M +Rochester/M +Rock/M +Rockefeller/M +Rockford/M +Rockhampton/M +Rockies/M +Rockne/M +Rockwell/M +Rocky/SM +Rod/M +Roddenberry/M +Roderick/M +Rodger/MS +Rodgers/M +Rodin/M +Rodney/M +Rodolfo/M +Rodrick/M +Rodrigo/M +Rodriguez/M +Rodriquez/M +Roeg/M +Roentgen +Rogelio/M +Roger/MS +Rogers/M +Roget/M +Rojas/M +Roku/M +Rolaids/M +Roland/M +Rolando/M +Rolex/M +Rolland/M +Rollerblade/M +Rollins/M +Rolodex/M +Rolvaag/M +Rom +Roman/MS +Romanesque/MS +Romanian/MS +Romano/M +Romanov/M +Romans/M +Romansh/M +Romanticism +Romany/SM +Rome/SM +Romeo/M +Romero/M +Rommel/M +Romney/M +Romulus/M +Ron/M +Ronald/M +Ronda/M +Ronnie/M +Ronny/M +Ronstadt/M +Rontgen +Rooney/M +Roosevelt/M +Root/M +Roquefort/SM +Rorschach/M +Rory/M +Rosa/M +Rosales/M +Rosalie/M +Rosalind/M +Rosalinda/M +Rosalyn/M +Rosanna/M +Rosanne/M +Rosario/M +Roscoe/M +Rose/M +Roseann/M +Roseau/M +Rosecrans/M +Rosella/M +Rosemarie/M +Rosemary/M +Rosenberg/M +Rosendo/M +Rosenzweig/M +Rosetta/M +Rosicrucian/M +Rosie/M +Roslyn/M +Ross/M +Rossetti/M +Rossini/M +Rostand/M +Rostov/M +Rostropovich/M +Roswell/M +Rotarian/M +Roth/M +Rothko/M +Rothschild/M +Rotterdam/M +Rottweiler/M +Rouault/M +Roumania/M +Rourke/M +Rousseau/M +Rove/RM +Rover/M +Rowe/M +Rowena/M +Rowland/M +Rowling/M +Roxanne/M +Roxie/M +Roxy/M +Roy/M +Royal/M +Royce/M +Rozelle/M +Rte +Ru/MH +Rubaiyat/M +Rubbermaid/M +Ruben/SM +Rubens/M +Rubicon/MS +Rubik/M +Rubin/M +Rubinstein/M +Ruby/M +Ruchbah/M +Rudolf/M +Rudolph/M +Rudy/M +Rudyard/M +Rufus/M +Ruhr/M +Ruiz/M +Rukeyser/M +Rumpelstiltskin/M +Rumsfeld/M +Runnymede/M +Runyon/M +Rupert/M +Rush/M +Rushdie/M +Rushmore/M +Ruskin/M +Russ/M +Russel/M +Russell/M +Russia/M +Russian/SM +Russo/M +Rustbelt/M +Rusty/M +Rutan/M +Rutgers/M +Ruth/M +Rutherford/M +Ruthie/M +Rutledge/M +Rwanda/MS +Rwandan/SM +Rwy +Rx +Ry +Ryan/M +Rydberg/M +Ryder/M +Ryukyu/M +S/MN +SA +SAC +SALT/M +SAM/M +SAP/M +SARS/M +SASE +SAT +SBA +SC/M +SCSI/M +SD +SDI +SE/M +SEATO +SEC/M +SF +SGML/M +SIDS/M +SJ +SJW +SK +SLR +SO/S +SOB/M +SOP/M +SOS/M +SOSes +SPCA +SPF +SQL +SQLite/M +SRO +SS +SSA +SSE/M +SSS +SST +SSW/M +ST +STD +STOL +SUSE/M +SUV +SVN/M +SW/M +SWAK +SWAT +Saab/M +Saar/M +Saarinen/M +Saatchi/M +Sabbath/M +Sabbaths +Sabik/M +Sabin/M +Sabina/M +Sabine/M +Sabre/M +Sabrina/M +Sacajawea/M +Sacco/M +Sachs/M +Sacramento/M +Sadat/M +Saddam/M +Sadducee/M +Sade/M +Sadie/M +Sadr/M +Safavid/M +Safeway/M +Sagan/M +Saginaw/M +Sagittarius/MS +Sahara/M +Saharan/M +Sahel/M +Saigon/M +Saiph/M +Sakai/M +Sakha/M +Sakhalin/M +Sakharov/M +Saki/M +Saks/M +Sal/MY +Saladin/M +Salado/M +Salamis/M +Salas/M +Salazar/M +Sale/M +Salem/M +Salerno/M +Salesforce/M +Salinas/M +Salinger/M +Salisbury/M +Salish/M +Salk/M +Sallie/M +Sallust/M +Sally/M +Salome/M +Salonika/M +Salton/M +Salvador/M +Salvadoran/SM +Salvadorean/MS +Salvadorian/MS +Salvatore/M +Salween/M +Salyut/M +Sam/M +Samantha/M +Samar/M +Samara/M +Samaritan/MS +Samarkand/M +Sammie/M +Sammy/M +Samoa/M +Samoan/SM +Samoset/M +Samoyed/M +Sampson/M +Samson/M +Samsonite/M +Samsung/M +Samuel/M +Samuelson/M +San'a +San/M +Sana/M +Sanchez/M +Sancho/M +Sand/ZM +Sandburg/M +Sanders/M +Sandinista/M +Sandoval/M +Sandra/M +Sandy/M +Sanford/M +Sanforized/M +Sang/MR +Sanger/M +Sanhedrin/M +Sanka/M +Sankara/M +Sanskrit/M +Santa/M +Santana/M +Santayana/M +Santeria/M +Santiago/M +Santos/M +Sappho/M +Sapporo/M +Sara/M +Saracen/MS +Saragossa/M +Sarah/M +Sarajevo/M +Saran/M +Sarasota/M +Saratov/M +Sarawak/M +Sardinia/M +Sargasso/M +Sargent/M +Sargon/M +Sarnoff/M +Saroyan/M +Sarto/M +Sartre/M +Sasha/M +Sask +Saskatchewan/M +Saskatoon/M +Sasquatch/MS +Sassanian/M +Sassoon/M +Sat/M +Satan/M +Satanism/M +Satanist/M +Saturday/MS +Saturn/M +Saturnalia/M +Saudi/MS +Saul/M +Saunders/M +Saundra/M +Saussure/M +Sauternes +Savage/M +Savannah/M +Savior/M +Savonarola/M +Savoy/M +Savoyard/M +Sawyer/M +Saxon/MS +Saxony/M +Sayers/M +Sb/M +Sc/M +Scala/M +Scan +Scandinavia/M +Scandinavian/MS +Scaramouch/M +Scarborough/M +Scarlatti/M +Scheat/M +Schedar/M +Scheherazade/M +Schelling/M +Schenectady/M +Schiaparelli/M +Schick/M +Schiller/M +Schindler/M +Schlesinger/M +Schliemann/M +Schlitz/M +Schloss/M +Schmidt/M +Schnabel/M +Schnauzer/M +Schneider/M +Schoenberg/M +Schopenhauer/M +Schrieffer/M +Schrodinger/M +Schroeder/M +Schubert/M +Schultz/M +Schulz/M +Schumann/M +Schumpeter/M +Schuyler/M +Schuylkill/M +Schwartz/M +Schwarzenegger/M +Schwarzkopf/M +Schweitzer/M +Schweppes/M +Schwinger/M +Schwinn/M +Scientologist/SM +Scientology/M +Scipio/M +Scopes/M +Scorpio/SM +Scorpius/M +Scorsese/M +Scot/SM +Scotch/MS +Scotchman/M +Scotchmen/M +Scotchwoman/M +Scotchwomen/M +Scotia/M +Scotland/M +Scotsman/M +Scotsmen/M +Scotswoman/M +Scotswomen/M +Scott/M +Scottie/SM +Scottish/M +Scottsdale/M +Scrabble/MS +Scranton/M +Scriabin/M +Scribner/M +Scripture/SM +Scrooge/M +Scruggs/M +Scud/M +Sculley/M +Scylla/M +Scythia/M +Scythian/M +Se/MH +Seaborg/M +Seagram/M +Sean/M +Sears/M +Seattle/M +Sebastian/M +Sec +Seconal/M +Secretariat/M +Secretary +Seder/MS +Sedna/M +Seebeck/M +Seeger/M +Sega/M +Segovia/M +Segre/M +Segundo/M +Segway/S +Seiko/M +Seine/M +Seinfeld/M +Sejong/M +Selassie/M +Selectric/M +Selena/M +Seleucid/M +Seleucus/M +Selim/M +Seljuk/M +Selkirk/M +Sellers/M +Selma/M +Selznick/M +Semarang/M +Seminole/MS +Semiramis/M +Semite/MS +Semitic/SM +Semtex/M +Senate/MS +Sendai/M +Seneca/MS +Senegal/M +Senegalese/M +Senghor/M +Senior/M +Sennacherib/M +Sennett/M +Sensurround/M +Seoul/M +Sep +Sephardi/M +Sepoy/M +Sept/M +September/MS +Septuagint/MS +Sequoya/M +Serb/SM +Serbia/M +Serbian/MS +Serena/M +Serengeti/M +Sergei/M +Sergio/M +Serpens/M +Serra/M +Serrano/M +Set/M +Seth/M +Seton/M +Seurat/M +Seuss/M +Sevastopol/M +Severn/M +Severus/M +Seville/M +Sevres/M +Seward/M +Sextans/M +Sexton/M +Seychelles/M +Seyfert/M +Seymour/M +Sgt +Shaanxi/M +Shackleton/M +Shaffer/M +Shah/M +Shaka/M +Shaker +Shakespeare/M +Shakespearean/M +Shana/M +Shandong/M +Shane/M +Shanghai/M +Shankara/M +Shanna/M +Shannon/M +Shantung/M +Shanxi/M +Shapiro/M +SharePoint/M +Shari'a/M +Shari/M +Sharif/M +Sharlene/M +Sharon/M +Sharp/M +Sharpe/M +Sharron/M +Shasta/M +Shaula/M +Shaun/M +Shauna/M +Shavian/M +Shavuot/M +Shaw/M +Shawn/M +Shawna/M +Shawnee/SM +Shcharansky/M +Shea/M +Sheba/M +Shebeli/M +Sheena/M +Sheetrock/M +Sheffield/M +Sheila/M +Shelby/M +Sheldon/M +Shelia/M +Shell/M +Shelley/M +Shelly/M +Shelton/M +Shenandoah/M +Shenyang/M +Sheol/M +Shepard/M +Shepherd/M +Sheppard/M +Shepparton/M +Sheratan/M +Sheraton/M +Sheree/M +Sheri/M +Sheridan/M +Sherlock/M +Sherman/M +Sherpa/M +Sherri/M +Sherrie/M +Sherry/M +Sherwood/M +Sheryl/M +Shetland/SM +Shetlands/M +Shevardnadze/M +Shevat/M +Shi'ite/M +Shields/M +Shiite/MS +Shijiazhuang/M +Shikoku/M +Shillong/M +Shiloh/M +Shinto/MS +Shintoism/MS +Shintoist/MS +Shiraz/M +Shirley/M +Shiva/M +Shockley/M +Short/M +Shorthorn/M +Shoshone/SM +Shostakovitch/M +Shrek/M +Shreveport/M +Shriner/M +Shropshire/M +Shula/M +Shylock/M +Shylockian/M +Si/M +Siam/M +Siamese/M +Sibelius/M +Siberia/M +Siberian/MS +Sibyl/M +Sichuan/M +Sicilian/SM +Sicily/M +Sid/M +Siddhartha/M +Sidney/M +Siegfried/M +Siemens/M +Sierpinski/M +Sierras +Sigismund/M +Sigmund/M +Sigurd/M +Sihanouk/M +Sikh/M +Sikhism +Sikhs +Sikkim/M +Sikkimese/M +Sikorsky/M +Silas/M +Silesia/M +Silurian/SM +Silva/M +Silvia/M +Simenon/M +Simmental/M +Simmons/M +Simon/M +Simone/M +Simpson/SM +Simpsons/M +Sims/M +Sinai/M +Sinatra/M +Sinbad/M +Sinclair/M +Sindbad/M +Sindhi/M +Singapore/M +Singaporean/SM +Singer/M +Singh/M +Singleton/M +Sinhalese/M +Sinkiang/M +Sioux/M +Sir/SM +Sirius/M +Sistine/M +Sisyphean/M +Sisyphus/M +Siva/M +Sivan/M +Sjaelland/M +Skinner/M +Skippy/M +Skopje/M +Skye/M +Skylab/M +Skype/M +Slackware/M +Slashdot/M +Slater/M +Slav/SM +Slavic/M +Slavonic/M +Slinky/M +Sloan/M +Sloane/M +Slocum/M +Slovak/SM +Slovakia/M +Slovakian +Slovene/SM +Slovenia/M +Slovenian/MS +Slurpee/M +Sm/M +Small/M +Smetana/M +Smirnoff/M +Smith/M +Smithson/M +Smithsonian/M +Smokey/M +Smolensk/M +Smollett/M +Smuts/M +Smyrna +Sn/M +Snake/M +Snapple/M +Snead/M +Snell/M +Snickers/M +Snider/M +Snoopy/M +Snow/M +Snowbelt/M +Snyder/M +Soave/M +Soc +Socorro/M +Socrates/M +Socratic/M +Soddy/M +Sodom/M +Sofia/M +Soho/M +Sol/M +Solis/M +Solomon/M +Solon/M +Solzhenitsyn/M +Somali/SM +Somalia/M +Somalian/MS +Somme/M +Somoza/M +Son/M +Sondheim/M +Sondra/M +Songhai/M +Songhua/M +Sonia/M +Sonja/M +Sonny/M +Sonora/M +Sontag/M +Sony/M +Sonya/M +Sophia/M +Sophie/M +Sophoclean/M +Sophocles/M +Sopwith/M +Sorbonne/M +Sosa/M +Soto/M +Souphanouvong/M +Sourceforge/M +Sousa/M +South/M +Southampton/M +Southeast/MS +Southerner/SM +Southey/M +Souths +Southwest/MS +Soviet/M +Soweto/M +Soyinka/M +Soyuz/M +Sp +Spaatz/M +Spackle/M +Spahn/M +Spain/M +Spam/M +Span +Spanglish +Spaniard/SM +Spanish/M +Sparks/M +Sparta/M +Spartacus/M +Spartan/MS +Spears/M +Speer/M +Spence/RM +Spencer/M +Spencerian/M +Spengler/M +Spenglerian/M +Spenser/M +Spenserian/M +Sperry/M +Sphinx/M +Spica/M +Spielberg/M +Spillane/M +Spinoza/M +Spinx/M +Spiro/M +Spirograph/M +Spitsbergen/M +Spitz/M +Spock/M +Spokane/M +Springfield/M +Springsteen/M +Sprint/M +Sprite/M +Sputnik/M +Sq +Squanto/M +Squibb/M +Sr/M +Srinagar/M +Srivijaya/M +St +Sta +Stacey/M +Staci/M +Stacie/M +Stacy/M +Stael/M +Stafford/M +StairMaster/M +Stalin/M +Stalingrad/M +Stalinist/M +Stallone/M +Stamford/M +Stan/M +Standish/M +Stanford/M +Stanislavsky/M +Stanley/M +Stanton/M +Staples/M +Starbucks/M +Stark/M +Starkey/M +Starr/M +Staten/M +States +Staubach/M +Ste +Steadicam/M +Steele/M +Stefan/M +Stefanie/M +Stein/MR +Steinbeck/M +Steinem/M +Steiner/M +Steinmetz/M +Steinway/M +Stella/M +Stendhal/M +Stengel/M +Stephan/M +Stephanie/M +Stephen/MS +Stephens/M +Stephenson/M +Sterling/M +Stern/M +Sterne/M +Sterno/M +Stetson/M +Steuben/M +Steve/M +Steven/MS +Stevens/M +Stevenson/M +Stevie/M +Stewart/M +Stieglitz/M +Stilton/SM +Stimson/M +Stine/M +Stirling/M +Stockhausen/M +Stockholm/M +Stockton/M +Stoic/SM +Stoicism/MS +Stokes/M +Stolichnaya/M +Stolypin/M +Stone/M +Stonehenge/M +Stoppard/M +Stout/M +Stowe/M +Strabo/M +Stradivari +Stradivarius/M +Strasbourg/M +Strauss/M +Stravinsky/M +Straya +Streisand/M +Strickland/M +Strindberg/M +Strine +Stromboli/M +Strong/M +Stu/M +Stuart/MS +Studebaker/M +Stuttgart/M +Stuyvesant/M +Stygian/M +Styrofoam/SM +Styron/M +Styx/M +Suarez/M +Subaru/M +Sucre/M +Sucrets/M +Sudan/M +Sudanese/M +Sudetenland/M +Sudoku/M +Sudra/M +Sue/M +Suetonius/M +Suez/M +Suffolk/M +Sufi/M +Sufism/M +Suharto/M +Sui/M +Sukarno/M +Sukkot +Sulawesi/M +Suleiman/M +Sulla/M +Sullivan/M +Sumatra/M +Sumatran/SM +Sumeria/M +Sumerian/SM +Summer/MS +Summers/M +Sumner/M +Sumter/M +Sun/SM +Sunbeam/M +Sunbelt/M +Sundanese/M +Sundas/M +Sunday/MS +Sung/M +Sunkist/M +Sunni/SM +Sunnite/MS +Sunnyvale/M +Superbowl/M +Superfund/M +Superglue/M +Superior/M +Superman/M +Supt +Surabaya/M +Surat/M +Suriname/M +Surinamese +Surya/M +Susan/M +Susana/M +Susanna/M +Susanne/M +Susie/M +Susquehanna/M +Sussex/M +Sutherland/M +Sutton/M +Suva/M +Suwanee/M +Suzanne/M +Suzette/M +Suzhou/M +Suzuki/M +Suzy/M +Svalbard/M +Sven/M +Svengali/M +Sverdlovsk +Swahili/SM +Swammerdam/M +Swanee/M +Swansea/M +Swanson/M +Swazi/SM +Swaziland/M +Swed/N +Swede/SM +Sweden/M +Swedenborg/M +Swedish/M +Sweeney/M +Sweet/M +Swift/M +Swinburne/M +Swiss/MS +Swissair/M +Switz +Switzerland/M +Sybil/M +Sydney/M +Sykes/M +Sylvester/M +Sylvia/M +Sylvie/M +Synge/M +Syracuse/M +Syria/M +Syriac/M +Syrian/MS +Szilard/M +Szymborska/M +T'ang/M +T/MDG +TA +TARP +TB/M +TBA +TD +TDD +TEFL +TELNET/S +TELNETTed +TELNETTing +TESL +TESOL +TGIF +THC +TKO/M +TLC/M +TM +TN +TNT/M +TOEFL +TQM +TV/SM +TVA +TWA/M +TWX +TX +Ta/M +Tabasco/SM +Tabatha/M +Tabernacle/MS +Tabitha/M +Tabriz/MS +Tacitus/M +Tacoma/M +Tad/M +Tadzhik/M +Taegu/M +Taejon/M +Taft/M +Tagalog/SM +Tagore/M +Tagus/M +Tahiti/M +Tahitian/MS +Tahoe/M +Taichung/M +Tainan +Taine/M +Taipei/M +Taiping/M +Taiwan/M +Taiwanese/M +Taiyuan/M +Tajikistan/M +Taklamakan/M +Talbot/M +Taliban/M +Taliesin/M +Tallahassee/M +Tallchief/M +Talley/M +Talleyrand/M +Tallinn/M +Talmud/MS +Talmudic +Talmudist +Tamara/M +Tameka/M +Tamera/M +Tamerlane/M +Tami/M +Tamika/M +Tamil/MS +Tammany/M +Tammi/M +Tammie/M +Tammuz/M +Tammy/M +Tampa/M +Tampax/M +Tamra/M +Tamworth/M +Tancred/M +Taney/M +Tanganyika/M +Tangier/MS +Tangshan/M +Tania/M +Tanisha/M +Tanner/M +Tannhauser/M +Tantalus/M +Tanya/M +Tanzania/M +Tanzanian/SM +Tao/M +Taoism/MS +Taoist/MS +Tara/M +Tarantino/M +Tarawa/M +Tarazed/M +Tarbell/M +Taree/M +Target/M +Tarim/M +Tarkenton/M +Tarkington/M +Tartary/M +Tartuffe/M +Tarzan/M +Tasha/M +Tashkent/M +Tasman/M +Tasmania/M +Tasmanian/M +Tass/M +Tassie/MS +Taswegian/SM +Tatar/MS +Tate/M +Tatum/M +Taurus/MS +Tawney/M +Taylor/M +Tb/M +Tbilisi/M +Tc/M +Tchaikovsky/M +Te/M +TeX +TeXes +Teasdale/M +Technicolor/M +Tecumseh/M +Ted/M +Teddy/M +Teflon/MS +Tegucigalpa/M +Tehran +TelePrompTer +TelePrompter/M +Telemachus/M +Telemann/M +Teletype +Tell/MR +Teller/M +Telugu/M +Tempe +Templar/M +Tenn/M +Tennessean/SM +Tennessee/M +Tennyson/M +Tennysonian +Tenochtitlan/M +TensorFlow/M +Teotihuacan/M +Terence/M +Teresa/M +Tereshkova/M +Teri/M +Terkel/M +Terpsichore/M +Terr/M +Terra/M +Terran/M +Terrance/M +Terrell/M +Terrence/M +Terri/M +Terrie/M +Terry/M +Tertiary/M +Tesla/M +Tess/M +Tessa/M +Tessie/M +Tet/M +Tethys/M +Tetons/M +Teuton/MS +Teutonic/M +Tevet/M +Tex/M +Texaco/M +Texan/MS +Texas/M +Th/M +Thackeray/M +Thad/M +Thaddeus/M +Thai/SM +Thailand/M +Thales/M +Thalia/M +Thames/M +Thanh/M +Thanksgiving/MS +Thant/M +Thar/M +Tharp/M +Thatcher/M +Thea/M +Thebes/M +Theiler/M +Thelma/M +Themistocles/M +Theocritus/M +Theodora/M +Theodore/M +Theodoric/M +Theodosius/M +Theosophy/M +Theravada/M +Theresa/M +Therese/M +Thermopylae/M +Thermos +Theron/M +Theseus/M +Thespian/M +Thespis/M +Thessalonian/SM +Thessaloniki/M +Thessaly/M +Thieu/M +Thimbu/M +Thimphu +Thomas/M +Thomism/M +Thomistic/M +Thompson/M +Thomson/M +Thor/M +Thorazine/M +Thoreau/M +Thornton/M +Thoroughbred/M +Thorpe/M +Thoth/M +Thrace/M +Thracian/M +Thu +Thucydides/M +Thule/M +Thunderbird/M +Thur/S +Thurber/M +Thurman/M +Thurmond/M +Thursday/SM +Thutmose/M +Ti/M +Tia/M +Tianjin/M +Tiber/M +Tiberius/M +Tibet/M +Tibetan/MS +Ticketmaster/M +Ticonderoga/M +Tide/M +Tienanmen/M +Tiffany/M +Tigris/M +Tijuana/M +Tillich/M +Tillman/M +Tilsit/M +Tim/M +Timbuktu/M +Timex/M +Timmy/M +Timon/M +Timothy/M +Timour/M +Timur/M +Timurid/M +Tina/M +Ting/M +Tinkerbell/M +Tinkertoy/M +Tinseltown/M +Tintoretto/M +Tippecanoe/M +Tipperary/M +Tirane +Tiresias/M +Tirol/M +Tirolean +Tisha/M +Tishri/M +Titan/SM +Titania/M +Titanic/M +Titian/M +Titicaca/M +Tito/M +Titus/M +Tl/M +Tlaloc/M +Tlingit/M +Tm/M +Tobago/M +Tobit/M +Toby/M +Tocantins/M +Tocqueville/M +Tod/M +Todd/M +Togo/M +Togolese/M +Tojo/M +Tokay/M +Tokugawa/M +Tokyo/M +Tokyoite +Toledo/MS +Tolkien/M +Tolstoy/M +Toltec/M +Tolyatti/M +Tom/M +Tomas/M +Tombaugh/M +Tomlin/M +Tommie/M +Tommy/M +Tompkins/M +Tomsk/M +Tonga/M +Tongan/MS +Toni/M +Tonia/M +Tonto/M +Tony/M +Tonya/M +Toowoomba/M +Topeka/M +Topsy/M +Torah/M +Torahs +Toronto/M +Torquemada/M +Torrance/M +Torrens/M +Torres/M +Torricelli/M +Tortola/M +Tortuga/M +Torvalds/M +Tory/SM +Tosca/M +Toscanini/M +Toshiba/M +Toto/M +Toulouse/M +Townes/M +Townsend/M +Townsville/M +Toynbee/M +Toyoda/M +Toyota/M +Tracey/M +Traci/M +Tracie/M +Tracy/M +Trafalgar/M +Trailways/M +Trajan/M +Tran/M +Transcaucasia/M +Transvaal/M +Transylvania/M +Transylvanian/M +Trappist/SM +Traralgon/M +Travis/M +Travolta/M +Treasury/SM +Treblinka/M +Trekkie/M +Trent/M +Trenton/M +Trevelyan/M +Trevino/M +Trevor/M +Trey/M +Triangulum/M +Triassic/M +Tricia/M +Trident/M +Trieste/M +Trimurti/M +Trina/M +Trinidad/M +Trinidadian/MS +Trinity/SM +Tripitaka/M +Tripoli/M +Trippe/M +Trisha/M +Tristan/M +Triton/M +Trobriand/M +Troilus/M +Trojan/MS +Trollope/M +Trondheim/M +Tropicana/M +Trotsky/M +Troy/M +Troyes +Truckee/M +Trudeau/M +Trudy/M +Truffaut/M +Trujillo/M +Truman/M +Trumbull/M +Trump/M +Truth/M +Tsimshian/M +Tsiolkovsky/M +Tsitsihar/M +Tsongkhapa/M +Tswana/M +Tu/M +Tuamotu/M +Tuareg/M +Tubman/M +Tucker/M +Tucson/M +Tucuman/M +Tudor/SM +Tue/S +Tues/M +Tuesday/MS +Tulane/M +Tull/M +Tulsa/M +Tulsidas/M +Tums/M +Tuncurry/M +Tungus/M +Tunguska/M +Tunis/M +Tunisia/M +Tunisian/MS +Tunney/M +Tupi/M +Tupperware/M +Tupungato/M +Turgenev/M +Turin/M +Turing/M +Turk/SM +Turkestan/M +Turkey/M +Turkic/MS +Turkish/M +Turkmenistan/M +Turner/M +Turpin/M +Tuscaloosa/M +Tuscan/M +Tuscany/M +Tuscarora/MS +Tuscon/M +Tuskegee/M +Tussaud/M +Tut/M +Tutankhamen/M +Tutsi/M +Tutu/M +Tuvalu/M +Tuvaluan +Twain/M +Tweed/M +Tweedledee/M +Tweedledum/M +Twila/M +Twinkies/M +Twitter/M +Twizzlers/M +Twp +Ty/M +Tycho/M +Tylenol/M +Tyler/M +Tyndale/M +Tyndall/M +Tyre/M +Tyree/M +Tyrolean +Tyrone/M +Tyson/M +U/M +UAR +UAW +UBS/M +UCLA/M +UFO/SM +UHF/M +UK/M +UL +UN/M +UNESCO/M +UNICEF/M +UNIX/M +UPC +UPI/M +UPS/M +URL/S +US/M +USA/M +USAF +USB +USCG +USDA/M +USIA +USMC +USN +USO +USP +USPS +USS +USSR/M +UT/M +UTC +UV/M +Ubangi/M +Ubuntu/M +Ucayali/M +Uccello/M +Udall/M +Ufa/M +Uganda/M +Ugandan/MS +Uighur/M +Ujungpandang/M +Ukraine/M +Ukrainian/SM +Ulladulla/M +Ulster/M +Ultrasuede/M +Ulverstone/M +Ulyanovsk/M +Ulysses/M +Umbriel/M +Underwood/M +Ungava/M +Unicode/M +Unilever/M +Union/SM +Unionist +Uniroyal/M +Unitarian/MS +Unitarianism/MS +Unitas/M +Unix/S +Unukalhai/M +Upanishads/M +Updike/M +Upjohn/M +Upton/M +Ur/M +Ural/SM +Urals/M +Urania/M +Uranus/M +Urban/M +Urdu/M +Urey/M +Uriah/M +Uriel/M +Uris/M +Urquhart/M +Ursa/M +Ursula/M +Ursuline/M +Uruguay/M +Uruguayan/MS +Urumqi/M +Usenet/MS +Ustinov/M +Ut +Utah/M +Utahan/MS +Ute/SM +Utopia/SM +Utopian/SM +Utrecht/M +Utrillo/M +Uzbek/M +Uzbekistan/M +Uzi/SM +V/M +VA +VAT/M +VAX +VAXes +VBA/M +VCR/M +VD/M +VDT +VDU +VF +VFW/M +VG +VGA +VHF/M +VHS +VI/M +VIP/SM +VISTA +VJ +VLF/M +VOA +VP +VT +VTOL +Va/M +Vader/M +Vaduz/M +Val/M +Valarie/M +Valdez/M +Valencia/SM +Valenti/M +Valentin/M +Valentine/M +Valentino/M +Valenzuela/M +Valeria/M +Valerian/M +Valerie/M +Valery/M +Valhalla/M +Valium/MS +Valkyrie/SM +Vallejo +Valletta/M +Valois/M +Valparaiso/M +Valvoline/M +Van/M +Vance/M +Vancouver/M +Vandal/MS +Vanderbilt/M +Vandyke/M +Vanessa/M +Vang/M +Vanuatu/M +Vanzetti/M +Varanasi/M +Varese/M +Vargas/M +Vaseline/SM +Vasquez/M +Vassar/M +Vatican/M +Vauban/M +Vaughan/M +Vaughn/M +Vazquez/M +Veblen/M +Veda/SM +Vedanta/M +Vega/SM +Vegas/M +Vegemite/M +Vela/M +Velasquez/M +Velazquez/M +Velcro/MS +Velez/M +Velma/M +Velveeta/M +Venetian/SM +Venezuela/M +Venezuelan/SM +Venice/M +Venn/M +Ventolin/M +Venus/MS +Venusian/M +Vera/M +Veracruz/M +Verde/M +Verdi/M +Verdun/M +Verizon/M +Verlaine/M +Vermeer/M +Vermont/ZMR +Vermonter/M +Vern/M +Verna/M +Verne/M +Vernon/M +Verona/M +Veronese/M +Veronica/M +Versailles/M +Vesalius/M +Vespasian/M +Vespucci/M +Vesta/M +Vesuvius/M +Viacom/M +Viagra/M +Vic/M +Vicente/M +Vichy/M +Vicki/M +Vickie/M +Vicksburg/M +Vicky/M +Victor/M +Victoria/M +Victorian/MS +Victorianism +Victrola/M +Vidal/M +Vienna/M +Viennese/M +Vientiane/M +Vietcong/M +Vietminh/M +Vietnam/M +Vietnamese/M +Vijayanagar/M +Vijayawada/M +Viking/MS +Vila/M +Villa/M +Villarreal/M +Villon/M +Vilma/M +Vilnius/M +Vilyui/M +Vince/M +Vincent/M +Vindemiatrix/M +Vinson/M +Viola/M +Violet/M +Virgie/M +Virgil/M +Virginia/M +Virginian/SM +Virgo/SM +Visa/M +Visayans/M +Vishnu/M +Visigoth/M +Visigoths +Vistula/M +Vitim/M +Vito/M +Vitus/M +Vivaldi/M +Vivekananda/M +Vivian/M +Vivienne/M +Vlad/M +Vladimir/M +Vladivostok/M +Vlaminck/M +Vlasic/M +VoIP +Vogue/M +Volcker/M +Voldemort/M +Volga/M +Volgograd/M +Volkswagen/M +Volstead/M +Volta/M +Voltaire/M +Volvo/M +Vonda/M +Vonnegut/M +Voronezh/M +Vorster/M +Voyager/M +Vt +Vuitton/M +Vulcan/M +Vulg +Vulgate/SM +W/MDT +WA +WAC +WASP/M +WATS/M +WC +WHO/M +WI +WMD +WNW/M +WP +WSW/M +WTO +WV +WW +WWI +WWII +WWW/M +WY +WYSIWYG +Wabash/M +Wac +Waco/M +Wade/M +Wagga/M +Wagner/M +Wagnerian/M +Wahhabi/M +Waikiki/M +Waite/M +Wake/M +Waksman/M +Wald/MN +Waldemar/M +Walden/M +Waldensian/M +Waldheim/M +Waldo/M +Waldorf/M +Wales/M +Walesa/M +Walgreen/SM +Walgreens/M +Walker/M +Walkman/M +Wall/SMR +Wallace/M +Wallenstein/M +Waller/M +Wallis/M +Walloon/M +Walls/M +Walmart/M +Walpole/M +Walpurgisnacht/M +Walsh/M +Walt/MRZ +Walter/M +Walters/M +Walton/M +Wanamaker/M +Wanda/M +Wang/M +Wangaratta/M +Wankel/M +Ward/M +Ware/MG +Warhol/M +Waring/M +Warner/M +Warragul/M +Warren/M +Warrnambool/M +Warsaw/M +Warwick/M +Wasatch/M +Wash/M +Washington/M +Washingtonian/MS +Wassermann/M +Waterbury/M +Waterford/M +Watergate/M +Waterloo/MS +Waters/M +Watkins/M +Watson/M +Watt/SM +Watteau/M +Watts/M +Watusi/M +Waugh/M +Wave +Wayne/M +Weaver/M +Web/MR +Webb/M +Weber/M +Webern/M +Webster/MS +Wed/M +Weddell/M +Wedgwood/M +Wednesday/MS +Weeks/M +Wehrmacht/M +Wei/M +Weierstrass/M +Weill/M +Weinberg/M +Weiss/M +Weissmuller/M +Weizmann/M +Weldon/M +Welland/M +Weller/M +Welles/M +Wellington/SM +Wells/M +Welsh/M +Welshman/M +Welshmen/M +Welshwoman +Wendell/M +Wendi/M +Wendy/M +Wentworth/M +Wesak/M +Wesley/M +Wesleyan/M +Wessex/M +Wesson/M +West/SM +Western/MRS +Westinghouse/M +Westminster/M +Weston/M +Westphalia/M +Westralian/SM +Weyden/M +Wezen/M +Wharton/M +Wheaties/M +Wheatstone/M +Wheeler/M +Wheeling/M +Whig/SM +Whipple/M +Whirlpool/M +Whistler/M +Whitaker/M +White/SM +Whitefield/M +Whitehall/M +Whitehead/M +Whitehorse/M +Whiteley/M +Whitfield/M +Whitley/M +Whitman/M +Whitney/M +Whitsunday/MS +Whittier/M +Whyalla/M +WiFi +Wicca/M +Wichita/M +Wiemar/M +Wiesel/M +Wiesenthal/M +Wiggins/M +Wigner/M +Wii/M +Wikileaks +Wikipedia/M +Wilberforce/M +Wilbert/M +Wilbur/M +Wilburn/M +Wilcox/M +Wilda/M +Wilde/MR +Wilder/M +Wiles/M +Wiley/M +Wilford/M +Wilfred/M +Wilfredo/M +Wilhelm/M +Wilhelmina/M +Wilkerson/M +Wilkes/M +Wilkins/M +Wilkinson/M +Will/M +Willa/M +Willamette/M +Willard/M +Willemstad/M +William/SM +Williams/M +Williamson/M +Willie/M +Willis/M +Willy/M +Wilma/M +Wilmer/M +Wilmington/M +Wilson/M +Wilsonian/M +Wilton/M +Wimbledon/M +Wimsey/M +Winchell/M +Winchester/MS +Windbreaker/M +Windex/M +Windhoek/M +Windows/M +Windsor/SM +Windward/M +Winesap/M +Winfred/M +Winfrey/M +Winifred/M +Winkle/M +Winnebago/M +Winnie/M +Winnipeg/M +Winston/M +Winters/M +Winthrop/M +Wis +Wisc +Wisconsin/M +Wisconsinite/MS +Wise/M +Witt/M +Wittgenstein/M +Witwatersrand/M +Wm/M +Wobegon/M +Wodehouse/M +Wodonga/M +Wolf/M +Wolfe/M +Wolff/M +Wolfgang/M +Wollongong/M +Wollstonecraft/M +Wolsey/M +Wolverhampton +Wonder/M +Wonderbra/M +Wong/M +Wood/SM +Woodard/M +Woodhull/M +Woodrow/M +Woods/M +Woodstock/M +Woodward/M +Woolf/M +Woolite/M +Woolongong/M +Woolworth/M +Woop +Wooster/M +Wooten/M +Worcester/SM +Worcestershire/M +WordPress/M +Wordsworth/M +Workman/M +Worms/M +Wotan/M +Wovoka/M +Wozniak/M +Wozzeck/M +Wrangell/M +Wren/M +Wright/M +Wrigley/M +Wroclaw/M +Wu/M +Wuhan/M +Wurlitzer/M +Wyatt/M +Wycherley/M +Wycliffe/M +Wyeth/M +Wylie/M +Wynn/M +Wynyard/M +Wyo +Wyoming/M +Wyomingite/SM +X/M +XEmacs/M +XL/M +XML +XS +XXL +Xamarin/M +Xanadu/M +Xanthippe/M +Xavier/M +Xe/SM +Xenakis/M +Xenia/M +Xenophon/M +Xerox/MS +Xerxes/M +Xhosa/M +Xi'an/M +Xian/SM +Xiaoping/M +Ximenes/M +Xingu/M +Xinjiang/M +Xiongnu/M +Xizang/M +Xmas/MS +Xochipilli/M +Xuzhou/M +Y/M +YMCA/M +YMHA +YMMV +YT +YWCA/M +YWHA +Yacc/M +Yahoo/M +Yahtzee/M +Yahweh/M +Yakima/M +Yakut/M +Yakutsk/M +Yale/M +Yalow/M +Yalta/M +Yalu/M +Yamagata/M +Yamaha/M +Yamoussoukro/M +Yang/M +Yangon/M +Yangtze/M +Yank/SM +Yankee/SM +Yaobang/M +Yaounde/M +Yaqui/M +Yaren +Yaroslavl/M +Yataro/M +Yates/M +Yb/M +Yeager/M +Yeats/M +Yekaterinburg/M +Yellowknife/M +Yellowstone/M +Yeltsin/M +Yemen/M +Yemeni/SM +Yemenite +Yenisei/M +Yeppoon/M +Yerevan/M +Yerkes/M +Yesenia/M +Yevtushenko/M +Yggdrasil/M +Yiddish/M +Ymir/M +Yoda/M +Yoknapatawpha/M +Yoko/M +Yokohama/M +Yolanda/M +Yong/M +Yonkers/M +York/M +Yorkie/M +Yorkshire/MS +Yorktown/M +Yoruba/M +Yosemite/M +Yossarian/M +YouTube/M +Young/M +Youngstown/M +Ypres/M +Ypsilanti/M +Yuan/M +Yucatan/M +Yugo/M +Yugoslav/MS +Yugoslavia/M +Yugoslavian/SM +Yukon/M +Yule/SM +Yuletide/MS +Yuma/SM +Yunnan/M +Yuri/M +Yves/M +Yvette/M +Yvonne/M +Z/SMNXT +Zachariah/M +Zachary/M +Zachery/M +Zagreb/M +Zaire/M +Zairian +Zambezi/M +Zambia/M +Zambian/SM +Zamboni/M +Zamenhof/M +Zamora/M +Zane/M +Zanuck/M +Zanzibar/M +Zapata/M +Zaporozhye/M +Zapotec/M +Zappa/M +Zara/M +Zarathustra/M +Zealand/M +Zebedee/M +Zechariah/M +Zedekiah/M +Zedong/M +Zeffirelli/M +Zeke/M +Zelig/M +Zelma/M +Zen/M +Zenger/M +Zeno/M +Zephaniah/M +Zephyrus/M +Zest/M +Zeus/M +Zhdanov +Zhejiang/M +Zhengzhou/M +Zhivago/M +Zhukov/M +Zibo/M +Ziegfeld/M +Ziegler/M +Ziggy/M +Zika +Zimbabwe/M +Zimbabwean/SM +Zimmerman/M +Zinfandel/M +Zion/SM +Zionism/SM +Zionist/SM +Ziploc/M +Zn/M +Zoe/M +Zola/M +Zollverein/M +Zoloft/M +Zomba/M +Zorn/M +Zoroaster/M +Zoroastrian/MS +Zoroastrianism/SM +Zorro/M +Zosma/M +Zr/M +Zsigmondy/M +Zubenelgenubi/M +Zubeneschamali/M +Zukor/M +Zulu/SM +Zululand +Zuni/M +Zurich/M +Zwingli/M +Zworykin/M +Zyrtec/M +Zyuganov/M +Zzz +a/S +aah +aardvark/SM +ab/SDY +aback +abacus/MS +abaft +abalone/SM +abandon/LSDG +abandonment/M +abase/LGDS +abasement/M +abash/GLDS +abashed/UY +abashment/M +abate/LGDS +abated/U +abatement/M +abattoir/MS +abbe/SM +abbess/MS +abbey/MS +abbot/MS +abbr +abbrev/S +abbreviate/DSGNX +abbreviation/M +abdicate/GNDSX +abdication/M +abdomen/SM +abdominal +abduct/DSG +abductee/MS +abduction/SM +abductor/MS +abeam +aberrant +aberration/MS +aberrational +abet/S +abetted +abetter/SM +abetting +abeyance/M +abhor/S +abhorred +abhorrence/M +abhorrent/Y +abhorring +abidance/M +abide/GS +abiding/Y +ability/IEMS +abject/YP +abjection/M +abjectness/M +abjuration/SM +abjuratory +abjure/ZGDRS +abjurer/M +ablate/XGNVDS +ablation/M +ablative/MS +ablaze +able/UT +abler +abloom +ablution/SM +abnegate/GNDS +abnegation/M +abnormal/Y +abnormality/SM +aboard +abode/MS +abolish/GDS +abolition/M +abolitionism/M +abolitionist/SM +abominable +abominably +abominate/DSGNX +abomination/M +aboriginal/MS +aborigine/SM +aborning +abort/GVDS +abortion/MS +abortionist/MS +abortive/Y +abound/DSG +about +above/M +aboveboard +abracadabra/M +abrade/GDS +abrasion/MS +abrasive/MYPS +abrasiveness/M +abreast +abridge/DSLG +abridgement/MS +abroad +abrogate/XGNDS +abrogation/M +abrogator/MS +abrupt/TPRY +abruptness/M +abs/M +abscess/MDSG +abscissa/SM +abscission/M +abscond/ZGSDR +absconder/M +abseil/MDSG +absence/SM +absent/DYSG +absentee/MS +absenteeism/M +absentminded/YP +absentmindedness/M +absinth/M +absinthe/M +absolute/PMYTNS +absoluteness/M +absolution/M +absolutism/M +absolutist/MS +absolve/DSG +absorb/AGDS +absorbance +absorbency/M +absorbent/SM +absorbing/Y +absorption/M +absorptive +abstain/DRZGS +abstainer/M +abstemious/PY +abstemiousness/M +abstention/MS +abstinence/M +abstinent +abstract/GSPMDY +abstracted/YP +abstractedness/M +abstraction/SM +abstractness/MS +abstruse/YP +abstruseness/M +absurd/TPRY +absurdist/MS +absurdity/SM +absurdness/M +abundance/SM +abundant/Y +abuse's +abuse/EGVDS +abuser/MS +abusive/YP +abusiveness/M +abut/SL +abutment/MS +abutted +abutting +abuzz +abysmal/Y +abyss/MS +abyssal +ac +acacia/MS +academe/M +academia/M +academic/SM +academical/Y +academician/MS +academy/SM +acanthus/MS +accede/GDS +accelerate/GNXDS +acceleration/M +accelerator/SM +accent/MDSG +accented/U +accentual +accentuate/GNDS +accentuation/M +accept/DSBG +acceptability/M +acceptableness/M +acceptably/U +acceptance/SM +acceptation/MS +accepted/U +access/MDSG +accessibility/IM +accessible/I +accessibly/I +accession/MDGS +accessorise/DSG +accessory/SM +accident/MS +accidental/SMY +acclaim/MDGS +acclamation/M +acclimate/DSGN +acclimation/M +acclimatisation/M +acclimatise/DSG +acclivity/SM +accolade/SM +accommodate/XGNDS +accommodating/Y +accommodation/M +accompanied/U +accompaniment/MS +accompanist/SM +accompany/DSG +accomplice/SM +accomplish/DSLG +accomplished/U +accomplishment/MS +accord/GMDS +accordance/M +accordant +according/Y +accordion/MS +accordionist/MS +accost/GMDS +account/MDSBG +accountability/M +accountable/U +accountancy/M +accountant/MS +accounted/U +accounting/M +accouterments's +accoutre/DSG +accoutrements +accredit/SGD +accreditation/M +accredited/U +accretion/MS +accrual/MS +accrue/GDS +acct +acculturate/DSGN +acculturation/M +accumulate/XGNVDS +accumulation/M +accumulator/MS +accuracy/IM +accurate/IY +accurateness/M +accursed/P +accursedness/M +accusation/MS +accusative/MS +accusatory +accuse/ZGDRS +accuser/M +accusing/Y +accustom/DSG +accustomed/U +ace/DSMG +acerbate/DSG +acerbic +acerbically +acerbity/M +acetaminophen/M +acetate/MS +acetic +acetone/M +acetonic +acetyl +acetylene/M +ache/DSMG +achene/MS +achievable/U +achieve/BLZGDRS +achievement/SM +achiever/M +aching/Y +achoo/M +achromatic +achy/TR +acid/SMY +acidic +acidify/GDS +acidity/M +acidosis/M +acidulous +acknowledge/DSGL +acknowledged/U +acknowledgement/MS +acme/SM +acne/M +acolyte/MS +aconite/MS +acorn/MS +acoustic/S +acoustical/Y +acoustics/M +acquaint/AGSD +acquaintance/SM +acquaintanceship/M +acquainted/U +acquiesce/DSG +acquiescence/M +acquiescent/Y +acquire/ZGBDRSL +acquirement/M +acquisition/MS +acquisitive/YP +acquisitiveness/M +acquit/S +acquittal/MS +acquitted +acquitting +acre/SM +acreage/MS +acrid/PTRY +acridity/M +acridness/M +acrimonious/YP +acrimoniousness/M +acrimony/M +acrobat/MS +acrobatic/S +acrobatically +acrobatics/M +acronym/MS +acrophobia/M +acropolis/MS +across +acrostic/SM +acrylamide +acrylic/MS +act's +act/ASDGV +acting/M +actinium/M +action/ASM +actionable +activate/ICANGSD +activation/ICAM +activator/MS +active's +active/IKY +activeness/M +actives +activism/M +activist/MS +activities +activity/IM +actor/AMS +actress/MS +actual/Y +actualisation/M +actualise/GDS +actuality/SM +actuarial +actuary/SM +actuate/GNDS +actuation/M +actuator/SM +acuity/M +acumen/M +acupressure/M +acupuncture/M +acupuncturist/SM +acute/PMYTRS +acuteness/M +acyclovir/M +acyl +ad/SM +adage/MS +adagio/MS +adamant/MY +adapt/BGVDS +adaptability/M +adaptation/MS +adaption/S +adaptor/MS +add/SDRBZG +addend/MS +addenda +addendum/M +adder/M +addict/GVMDS +addiction/SM +addition/SM +additional/Y +additive/SM +addle/GDS +address's +address/AGDS +addressable +addressed/U +addressee/SM +adduce/GDS +adenine/M +adenocarcinoma +adenoid/SM +adenoidal +adept/MYPS +adeptness/M +adequacy/IM +adequate/IY +adequateness/M +adhere/GDS +adherence/M +adherent/SM +adhesion/M +adhesive/PSM +adhesiveness/M +adiabatic +adieu/MS +adios +adipose +adj +adjacency/M +adjacent/Y +adjectival/Y +adjective/MS +adjoin/GDS +adjourn/DGLS +adjournment/SM +adjudge/GDS +adjudicate/GNVXDS +adjudication/M +adjudicator/SM +adjudicatory +adjunct/MS +adjuration/MS +adjure/GDS +adjust/AGDSL +adjustable +adjuster/SM +adjustment/AMS +adjutant/SM +adman/M +admen +admin/S +administer/DGS +administrate/XDSGNV +administration/M +administrative/Y +administrator/MS +admirably +admiral/MS +admiralty/M +admiration/M +admire/BZGDRS +admirer/M +admiring/Y +admissibility/IM +admissible/I +admissibly +admission/AM +admissions +admit/AS +admittance/M +admitted/Y +admitting/A +admix/GDS +admixture/SM +admonish/LDSG +admonishment/MS +admonition/MS +admonitory +ado/M +adobe/MS +adolescence/SM +adolescent/SM +adopt/AGVDS +adoptable +adopter/MS +adoption/SM +adorableness/M +adorably +adoration/M +adore/BZGDRS +adorer/M +adoring/Y +adorn/LGDS +adorned/U +adornment/MS +adrenal/MS +adrenalin's +adrenaline/M +adrenergic +adrift +adroit/PY +adroitness/M +adsorb/SDG +adsorbent/MS +adsorption/SM +adulate/DSGN +adulation/M +adulator/MS +adulatory +adult/MS +adulterant/MS +adulterate/GNDS +adulterated/U +adulteration/M +adulterer/SM +adulteress/MS +adulterous +adultery/SM +adulthood/M +adumbrate/GNDS +adumbration/M +adv +advance/LDSMG +advancement/SM +advantage/EDSMG +advantageous/EY +advent/SM +adventitious/Y +adventure/DRSMZG +adventurer/M +adventuresome +adventuress/MS +adventurism +adventurist/S +adventurous/YP +adventurousness/M +adverb/SM +adverbial/SMY +adversarial +adversary/SM +adverse/PRYT +adverseness/M +adversity/SM +advert/SMDG +advertise/LZGDRS +advertised/U +advertisement/MS +advertiser/M +advertising/M +advertorial/SM +advice/M +advisability/IM +advisable/I +advisably +advise/LDRSZGB +advised/UY +advisement/M +adviser/M +advisory/SM +advocacy/M +advocate/MGDS +advt +adware +adze/SM +aegis/M +aeon/SM +aerate/DSGN +aeration/M +aerator/SM +aerial/SMY +aerialist/MS +aerie/MS +aerobatic/S +aerobatics/M +aerobic/S +aerobically +aerobics/M +aerodrome/MS +aerodynamic/S +aerodynamically +aerodynamics/M +aerofoil/SM +aerogram/S +aeronautic/S +aeronautical +aeronautics/M +aeroplane/SM +aerosol/MS +aerospace/M +aery +aesthete/MS +aesthetic/S +aesthetically +aestheticism/M +aesthetics/M +aetiology/M +afar +affability/M +affable +affably +affair/MS +affect's +affect/EGDS +affectation/SM +affected/UY +affecting/Y +affection/EM +affectionate/Y +affections +afferent +affiance/GDS +affidavit/SM +affiliate's +affiliate/EGNDS +affiliated/U +affiliation/EM +affiliations +affine +affinity/SM +affirm/AGDS +affirmation/AMS +affirmative/MYS +affix/GMDS +afflatus/M +afflict/GDS +affliction/SM +affluence/M +affluent/Y +afford/GDSB +affordability +affordably +afforest/EGSD +afforestation/M +affray/MS +affront/GMDS +afghan/MS +aficionado/MS +afield +afire +aflame +afloat +aflutter +afoot +aforementioned +aforesaid +aforethought +afoul +afraid/U +afresh +aft/RZ +afterbirth/M +afterbirths +afterburner/MS +aftercare/M +aftereffect/MS +afterglow/SM +afterimage/MS +afterlife/M +afterlives +aftermarket/MS +aftermath/M +aftermaths +afternoon/MS +aftershave/SM +aftershock/SM +aftertaste/SM +afterthought/SM +afterwards +afterword/MS +aftie/MS +afto/SM +again +against +agape/M +agar/M +agate/MS +agave/M +age/DSM +ageing/SM +ageism/M +ageist/SM +ageless/YP +agelessness/M +agency/SM +agenda/SM +agenesis +agent/AMS +ageratum/M +agglomerate/DSMGNX +agglomeration/M +agglutinate/DSXGN +agglutination/M +aggrandise/GLDS +aggrandisement/M +aggravate/GNXDS +aggravating/Y +aggravation/M +aggregate/MGNDSX +aggregation/M +aggregator/SM +aggression/M +aggressive/PY +aggressiveness/M +aggressor/SM +aggrieve/DSG +aggro +aghast +agile/Y +agility/M +agitate/XGNDS +agitation/M +agitator/MS +agitprop/M +agleam +aglitter +aglow +agnostic/MS +agnosticism/M +ago +agog +agonise/GDS +agonising/Y +agonist/S +agony/SM +agoraphobia/M +agoraphobic/MS +agrarian/MS +agrarianism/M +agree/EBLDS +agreeableness/EM +agreeably/E +agreeing/E +agreement/ESM +agribusiness/MS +agricultural/Y +agriculturalist/MS +agriculture/M +agriculturist/MS +agronomic +agronomist/MS +agronomy/M +aground +ague/M +ah +aha +ahchoo +ahead +ahem +ahoy +aid/SMDG +aide/SM +aided/U +aigrette/MS +ail/SDLG +aileron/SM +ailment/SM +aim/SMDG +aimless/YP +aimlessness/M +ain't +air/SMDJG +airbag/MS +airbase/SM +airbed/S +airborne +airbrush/MDSG +airbus/MS +aircraft/M +aircraftman +aircraftmen +aircrew/S +airdrome/S +airdrop/SM +airdropped +airdropping +airfare/SM +airfield/SM +airflow/M +airfreight/M +airguns +airhead/SM +airily +airiness/M +airing/M +airless/P +airlessness/M +airletters +airlift/SGMD +airline/RSMZ +airliner/M +airlock/SM +airmail/GSMD +airman/M +airmen +airplay/M +airport/SM +airship/SM +airshow/S +airsick/P +airsickness/M +airspace/M +airspeed +airstrike/MS +airstrip/SM +airtight +airtime/M +airwaves/M +airway/MS +airwoman +airwomen +airworthiness/M +airworthy/P +airy/PTR +aisle/MS +aitch/MS +ajar +aka +akimbo +akin +alabaster/M +alack +alacrity/M +alarm/GMDS +alarming/Y +alarmist/SM +alas +alb/SM +albacore/SM +albatross/MS +albeit +albinism/M +albino/MS +album/MNS +albumen/M +albumin/M +albuminous +alchemist/SM +alchemy/M +alcohol/SM +alcoholic/MS +alcoholically +alcoholism/M +alcove/MS +alder/MS +alderman/M +aldermen +alderwoman/M +alderwomen +ale/SMV +aleatory +alehouse/SM +alembic/SM +alert/GMDYPS +alertness/M +alewife/M +alewives +alfalfa/M +alfresco +alga/M +algae +algal +algebra/SM +algebraic +algebraically +algorithm/SM +algorithmic +alias/GMDS +alibi/GMDS +alien/BGMDS +alienable/IU +alienate/DSGN +alienation/M +alienist/SM +alight/GDS +align/ALGDS +aligned/U +aligner/MS +alignment/AMS +alike/U +aliment/MDSG +alimentary +alimony/M +aliveness/M +aliyah/M +aliyahs +alkali/M +alkalies +alkaline +alkalinity/M +alkalise/DSG +alkaloid/SM +alkyd/MS +all/M +allay/GDS +allegation/MS +allege/GDS +alleged/Y +allegiance/MS +allegoric +allegorical/Y +allegorist/MS +allegory/SM +allegretto/MS +allegro/MS +allele/MS +alleluia/SM +allergen/SM +allergenic +allergic +allergically +allergist/SM +allergy/SM +alleviate/DSGN +alleviation/M +alley/MS +alleyway/SM +alliance/SM +alligator/MS +alliterate/DSXGNV +alliteration/M +alliterative/Y +allocate/ADSGN +allocation/AM +allocations +allot/LS +allotment/SM +allotted +allotting +allover +allow/EGDS +allowable/U +allowably +allowance/SM +alloy/GMDS +alloyed/U +allspice/M +allude/GDS +allure/MGLDS +allurement/MS +alluring/Y +allusion/SM +allusive/PY +allusiveness/M +alluvial/M +alluvium/SM +ally/GDSM +almanac/SM +almighty +almond/MS +almoner/SM +almost +alms/M +almshouse/MS +aloe/SM +aloft +aloha/MS +alone +along +alongshore +alongside +aloof/PY +aloofness/M +aloud +alp/SM +alpaca/MS +alpha/MS +alphabet/SM +alphabetic +alphabetical/Y +alphabetisation/SM +alphabetise/ZGDRS +alphabetiser/M +alphanumeric +alphanumerical/Y +alpine/S +already +alright +also +alt/S +altar/MS +altarpiece/SM +alter/GDBS +alterable/U +alteration/MS +altercation/SM +altered/U +alternate/DSMYGNVX +alternation/M +alternative/MYS +alternator/SM +although +altimeter/MS +altitude/MS +alto/SM +altogether +altruism/M +altruist/SM +altruistic +altruistically +alum/SM +alumina/M +aluminium/M +alumna/M +alumnae +alumni +alumnus/M +alveolar/S +always +am/N +amalgam/SM +amalgamate/XGNDS +amalgamation/M +amanuenses +amanuensis/M +amaranth/M +amaranths +amaretto/M +amaryllis/MS +amass/GDS +amateur/SM +amateurish/YP +amateurishness/M +amateurism/M +amatory +amaze/LMGDS +amazement/M +amazing/Y +amazon/MS +amazonian +ambassador/SM +ambassadorial +ambassadorship/MS +ambassadress/MS +amber/M +ambergris/M +ambidexterity/M +ambidextrous/Y +ambience/MS +ambient +ambiguity/SM +ambiguous/UY +ambit +ambition/MS +ambitious/YP +ambitiousness/M +ambivalence/M +ambivalent/Y +amble/MZGDRS +ambler/M +ambo/SM +ambrosia/M +ambrosial +ambulance/MS +ambulanceman +ambulancemen +ambulancewoman +ambulancewomen +ambulant +ambulate/DSXGN +ambulation/M +ambulatory/SM +ambuscade/MGDS +ambush/GMDS +ameliorate/GNVDS +amelioration/M +amen/B +amenability/M +amenably +amend/BLGDS +amendment/SM +amenity/SM +amerce/GLDS +amercement/SM +americium/M +amethyst/SM +amiability/M +amiable +amiably +amicability/M +amicable +amicably +amid +amide/MS +amidship/S +amidst +amigo/MS +amine/S +amino +amiss +amitriptyline +amity/M +ammeter/SM +ammo/M +ammonia/M +ammonium +ammunition/M +amnesia/M +amnesiac/MS +amnesic/SM +amnesty/GDSM +amniocenteses +amniocentesis/M +amnion/MS +amniotic +amoeba/MS +amoebae +amoebic +amok +among +amongst +amontillado/SM +amoral/Y +amorality/M +amorous/YP +amorousness/M +amorphous/PY +amorphousness/M +amortisation/MS +amortise/DSGB +amount/GMDS +amour/MS +amoxicillin +amp/SMY +amperage/M +ampere/MS +ampersand/MS +amphetamine/SM +amphibian/MS +amphibious/Y +amphitheatre/SM +amphora/M +amphorae +ampicillin +ample/TR +amplification/M +amplifier/M +amplify/NDRSXZG +amplitude/SM +ampule/MS +amputate/GNDSX +amputation/M +amputee/MS +amt +amulet/MS +amuse/LGDS +amusement/MS +amusing/Y +amygdala +amylase/M +amyloid +an/CS +anabolism/M +anachronism/SM +anachronistic +anachronistically +anaconda/SM +anaemia/M +anaemic +anaemically +anaerobe/SM +anaerobic +anaerobically +anaesthesia/M +anaesthesiologist/SM +anaesthesiology/M +anaesthetic/MS +anaesthetisation/M +anaesthetise/GDS +anaesthetist/MS +anagram/MS +anal/Y +analgesia/M +analgesic/SM +analog/MS +analogical/Y +analogise/GDS +analogous/YP +analogousness/M +analogue/SM +analogy/SM +analysable +analysand/MS +analyse/ADSG +analyser/SM +analysis/AM +analyst/SM +analytic/S +analytical/Y +anapest/SM +anapestic/MS +anarchic +anarchically +anarchism/M +anarchist/MS +anarchistic +anarchy/M +anathema/SM +anathematise/DSG +anatomic +anatomical/Y +anatomise/DSG +anatomist/SM +anatomy/SM +ancestor/SM +ancestral/Y +ancestress/MS +ancestry/SM +anchor/MDGS +anchorage/MS +anchorite/MS +anchorman/M +anchormen +anchorpeople +anchorperson/SM +anchorwoman/M +anchorwomen +anchovy/SM +ancient/SPMRYT +ancientness/M +ancillary/SM +and +andante/SM +andiron/SM +androgen/M +androgenic +androgynous +androgyny/M +android/SM +anecdotal/Y +anecdote/MS +anemometer/SM +anemone/SM +anent +aneurysm/SM +anew +angel/MS +angelfish/MS +angelic +angelica/M +angelical/Y +anger/GMDS +angina/M +angioplasty/SM +angiosperm/SM +angle/MZGDRS +angler/M +angleworm/MS +anglicise/GDS +anglicism/S +angling/M +anglophile/S +anglophone/S +angora/MS +angostura +angrily +angry/TR +angst/M +angstrom/MS +anguish/GMDS +angular +angularity/SM +angulation +anhydrous +aniline/M +anilingus +animadversion/MS +animadvert/GSD +animal/MS +animalcule/SM +animate/ADSGN +animated/Y +animation/AM +animations +animator/MS +anime/M +animism/M +animist/SM +animistic +animosity/SM +animus/M +anion/MS +anionic +anise/M +aniseed/M +anisette/M +ankh/M +ankhs +ankle/MS +anklebone/MS +anklet/MS +annalist/SM +annals/M +anneal/GDS +annelid/MS +annex/GMDS +annexation/MS +annihilate/DSGN +annihilation/M +annihilator/SM +anniversary/SM +annotate/DSXGNV +annotation/M +annotator/MS +announce/DRSLZG +announced/U +announcement/MS +announcer/M +annoy/GDS +annoyance/MS +annoying/Y +annual/MYS +annualised +annuitant/SM +annuity/SM +annul/LS +annular +annulled +annulling +annulment/SM +annulus +annunciation/SM +anode/MS +anodise/GDS +anodyne/MS +anoint/GDLS +anointment/M +anomalous/Y +anomaly/SM +anon/S +anonymity/M +anonymous/Y +anopheles/M +anorak/MS +anorectic/SM +anorexia/M +anorexic/MS +another +answer/BMDGS +answerable/U +answered/U +answerphone/S +ant/SMD +antacid/SM +antagonise/DSG +antagonism/SM +antagonist/SM +antagonistic +antagonistically +antarctic +ante/SM +anteater/MS +antebellum +antecedence/M +antecedent/SM +antechamber/SM +antedate/GDS +antediluvian +anteing +antelope/MS +antenatal +antenna/SM +antennae +anterior +anteroom/MS +anthem/MS +anther/MS +anthill/SM +anthologise/DSG +anthologist/SM +anthology/SM +anthracite/M +anthrax/M +anthropocentric +anthropoid/MS +anthropological/Y +anthropologist/SM +anthropology/M +anthropomorphic +anthropomorphically +anthropomorphise +anthropomorphism/M +anthropomorphous +anti/SM +antiabortion +antiabortionist/MS +antiaircraft +antibacterial/MS +antibiotic/MS +antibody/SM +antic/MS +anticancer +anticipate/GNXDS +anticipated/U +anticipation/M +anticipatory +anticked +anticking +anticlerical +anticlimactic +anticlimactically +anticlimax/MS +anticline/SM +anticlockwise +anticoagulant/MS +anticommunism/M +anticommunist/SM +anticyclone/SM +anticyclonic +antidemocratic +antidepressant/MS +antidote/MS +antifascist/MS +antiferromagnetic +antifreeze/M +antigen/SM +antigenic +antigenicity/M +antihero/M +antiheroes +antihistamine/SM +antiknock/M +antilabour +antilogarithm/SM +antimacassar/MS +antimalarial +antimatter/M +antimicrobial +antimissile +antimony/M +antineutrino/SM +antineutron/MS +antinuclear +antioxidant/MS +antiparticle/SM +antipasti +antipasto/MS +antipathetic +antipathy/SM +antipersonnel +antiperspirant/SM +antiphon/SM +antiphonal/MYS +antipodal/S +antipodean/MS +antipodes/M +antipollution +antipoverty +antiproton/MS +antiquarian/SM +antiquarianism/M +antiquary/SM +antiquate/GDS +antique/DSMG +antiquity/SM +antirrhinum/S +antiscience +antisemitic +antisemitism/M +antisepsis/M +antiseptic/SM +antiseptically +antiserum/MS +antislavery +antisocial/Y +antispasmodic/MS +antisubmarine +antitank +antitheses +antithesis/M +antithetic +antithetical/Y +antitoxin/MS +antitrust +antivenin/MS +antivenom +antiviral/MS +antivirus +antivivisectionist/MS +antiwar +antler/MDS +antonym/SM +antonymous +antrum +antsy/TR +anus/MS +anvil/MS +anxiety/SM +anxious/YP +anxiousness/M +any +anybody/SM +anyhow +anymore +anyone/M +anyplace +anything/SM +anytime +anyway/S +anywhere +anywise +aorta/MS +aortic +apace +apart +apartheid/M +apartment/MS +apathetic +apathetically +apathy/M +apatite/M +ape/DSMG +apelike +aperitif/MS +aperture/SM +apex/MS +aphasia/M +aphasic/MS +aphelia +aphelion/SM +aphid/MS +aphorism/MS +aphoristic +aphoristically +aphrodisiac/SM +apiarist/SM +apiary/SM +apical/Y +apiece +apish/Y +aplenty +aplomb/M +apocalypse/SM +apocalyptic +apocrypha/M +apocryphal/Y +apogee/MS +apolitical/Y +apologetic/U +apologetically +apologia/SM +apologise/GDS +apologist/MS +apology/SM +apoplectic +apoplexy/SM +apoptosis +apoptotic +apostasy/SM +apostate/SM +apostatise/GDS +apostle/MS +apostleship/M +apostolic +apostrophe/MS +apothecary/SM +apothegm/SM +apotheoses +apotheosis/M +app/SM +appal/S +appalled +appalling/Y +appaloosa/MS +apparatchik/S +apparatus/MS +apparel/MS +apparelled +apparelling +apparent/Y +apparition/SM +appeal/GMDS +appealing/UY +appear/AESDG +appearance/EAMS +appease/LZGDRS +appeasement/SM +appeaser/M +appellant/SM +appellate/XN +appellation/M +append/GDS +appendage/SM +appendectomy/SM +appendices +appendicitis/M +appendix/MS +appertain/GDS +appetiser/MS +appetising/Y +appetite/SM +applaud/ZGDRS +applauder/M +applause/M +apple/MS +applejack/M +applesauce/M +applet/MS +appliance/SM +applicability/M +applicable/I +applicably +applicant/SM +application/AM +applicator/SM +applier/MS +applique/DSM +appliqueing +apply/ANXGDS +appoint/AELSVGD +appointee/SM +appointment's/A +appointment/ESM +apportion/AGDLS +apportionment/AM +appose/GDS +apposite/YNVP +appositeness/M +apposition/M +appositive/SM +appraisal/AMS +appraise/ADSG +appraiser/MS +appreciable/I +appreciably/I +appreciate/DSXGNV +appreciated/U +appreciation/M +appreciative/Y +appreciator/MS +appreciatory +apprehend/GDS +apprehension/MS +apprehensive/YP +apprehensiveness/M +apprentice/DSMG +apprenticeship/MS +apprise/GDS +approach/GBMDS +approachable/UI +approbation/EM +approbations +appropriate/PYGNXDS +appropriated/U +appropriateness/IM +appropriation/M +appropriator/SM +approval/EM +approvals +approve/EGDS +approved/U +approving/EY +approx +approximate/DSXYGN +approximation/M +appurtenance/SM +appurtenant +apricot/MS +apron/MS +apropos +apse/SM +apt/IYPT +apter +aptitude/SM +aptness/IM +aqua/SM +aquaculture/M +aqualung/MS +aquamarine/SM +aquanaut/MS +aquaplane/MGDS +aquarium/MS +aquatic/SM +aquatically +aquatics/M +aquatint/S +aquavit/M +aqueduct/MS +aqueous +aquifer/SM +aquiline +arabesque/MS +arability/M +arachnid/MS +arachnophobia +arbiter/SM +arbitrage/MZGDRS +arbitrager/M +arbitrageur/SM +arbitrament/SM +arbitrarily +arbitrariness/M +arbitrary/P +arbitrate/GNDS +arbitration/M +arbitrator/MS +arboreal +arboretum/SM +arborvitae/SM +arbour/MS +arbutus/MS +arc/SMDG +arcade/MS +arcane +arch/PZTGVMDRSY +archaeological/Y +archaeologist/SM +archaeology/M +archaic +archaically +archaism/MS +archaist/MS +archangel/MS +archbishop/SM +archbishopric/SM +archdeacon/SM +archdiocesan +archdiocese/MS +archduchess/MS +archduke/MS +archenemy/SM +archer/M +archery/M +archetypal +archetype/MS +archfiend/MS +archiepiscopal +archipelago/MS +architect/SM +architectonic/S +architectonics/M +architectural/Y +architecture/MS +architrave/SM +archival +archive/DSMG +archivist/MS +archness/M +archway/SM +arctic/MS +ardent/Y +ardour/MS +arduous/YP +arduousness/M +are/SMB +area/SM +areal +aren't +arena/MS +argent/M +arginine +argon/M +argosy/SM +argot/MS +arguable/IU +arguably/U +argue/ZGDRS +arguer/M +argument/MS +argumentation/M +argumentative/PY +argumentativeness/M +argyle/MS +aria/SM +arid/Y +aridity/M +aright +arise/GS +arisen +aristocracy/SM +aristocrat/SM +aristocratic +aristocratically +arithmetic/M +arithmetical/Y +arithmetician/MS +ark/SM +arm's +arm/EAGDS +armada/MS +armadillo/SM +armament/AEM +armaments +armature/MS +armband/MS +armchair/MS +armed/U +armful/MS +armhole/SM +armistice/SM +armlet/MS +armload/S +armorial +armour/MDRZGS +armoured/U +armourer/M +armoury/SM +armpit/MS +armrest/SM +army/SM +aroma/MS +aromatherapist/MS +aromatherapy/M +aromatic/MS +aromatically +arose +around +arousal/M +arouse/GDS +arpeggio/MS +arr +arraign/DGSL +arraignment/SM +arrange/AESDLG +arrangement's/E +arrangement/ASM +arranger/SM +arrant +arras/MS +array/EGMDS +arrears/M +arrest/AGMDS +arrhythmia/M +arrhythmic +arrhythmical +arrival/MS +arrive/GDS +arrogance/M +arrogant/Y +arrogate/GNDS +arrogation/M +arrow/MS +arrowhead/MS +arrowroot/M +arroyo/MS +arse/DSMG +arsehole/SM! +arsenal/MS +arsenic/M +arson/M +arsonist/SM +art/SM +artefact/MS +arterial +arteriole/MS +arteriosclerosis/M +artery/SM +artful/PY +artfulness/M +arthritic/MS +arthritis/M +arthropod/MS +arthroscope/SM +arthroscopic +arthroscopy +artichoke/SM +article/MDS +articulacy/I +articular +articulate/YGNPDSX +articulateness/IM +articulation/M +artifice/RSMZ +artificer/M +artificial/Y +artificiality/M +artillery/M +artilleryman/M +artillerymen +artiness/M +artisan/MS +artist/MS +artiste/MS +artistic/I +artistically +artistry/M +artless/PY +artlessness/M +artsy/TR +artwork/MS +arty/PTR +arugula +arum/SM +arvo/SM +asap +asbestos/M +ascend/AGDS +ascendance/M +ascendancy/M +ascendant/SM +ascension/MS +ascent/MS +ascertain/GDSBL +ascertainment/M +ascetic/MS +ascetically +asceticism/M +ascot/MS +ascribe/GBDS +ascription/M +aseptic +aseptically +asexual/Y +asexuality/M +ash/MDNSG +ashamed/UY +ashcan/MS +ashlar/MS +ashore +ashram/MS +ashtray/SM +ashy/TR +aside/MS +asinine/Y +asininity/SM +ask/SDG +askance +asked/U +askew +aslant +asleep +asocial +asp/SMNX +asparagus/M +aspartame/M +aspect/MS +aspen/M +asperity/SM +aspersion/MS +asphalt/MDGS +asphodel/SM +asphyxia/M +asphyxiate/DSXGN +asphyxiation/M +aspic/MS +aspidistra/MS +aspirant/MS +aspirate/MGNDSX +aspiration/M +aspirator/SM +aspire/GDS +aspirin/MS +ass/MS +assail/GBDS +assailable/U +assailant/SM +assassin/SM +assassinate/GNXDS +assassination/M +assault/MDRGS +assay/ZGMDRS +assayer/M +assemblage/SM +assemble/AEGSD +assembler/MS +assemblies +assembly/AM +assemblyman/M +assemblymen +assemblywoman/M +assemblywomen +assent/GMDS +assert/AGVDS +assertion/AM +assertions +assertive/YP +assertiveness/M +assess/ALGDS +assessment/ASM +assessor/MS +asset/MS +asseverate/DSGN +asseveration/M +assiduity/M +assiduous/PY +assiduousness/M +assign's +assign/ALGDS +assignable +assignation/MS +assigned/U +assignee/M +assigner/MS +assignment/AMS +assignor/MS +assimilate/DSGN +assimilated/U +assimilation/M +assist/GVMDS +assistance/M +assistant/SM +assisted/U +assize/MS +assn +assoc +associate's +associate/EDSGNV +association/EM +associations +associativity +assonance/M +assonant/MS +assort/GLDS +assortative +assortment/MS +asst +assuage/GDS +assume/BGDS +assumption/SM +assumptive +assurance/ASM +assure/AGDS +assured/MYS +astatine/M +aster/EMS +asterisk/GMDS +astern +asteroid/MS +asthma/M +asthmatic/SM +asthmatically +astigmatic +astigmatism/SM +astir +astonish/DSLG +astonishing/Y +astonishment/M +astound/GDS +astounding/Y +astraddle +astrakhan/M +astral +astray +astride +astringency/M +astringent/SMY +astrolabe/SM +astrologer/SM +astrological/Y +astrologist/MS +astrology/M +astronaut/MS +astronautic/S +astronautical +astronautics/M +astronomer/SM +astronomic +astronomical/Y +astronomy/M +astrophysical +astrophysicist/MS +astrophysics/M +astute/PYTR +astuteness/M +asunder +asylum/SM +asymmetric +asymmetrical/Y +asymmetry/SM +asymptomatic +asymptotic +asymptotically +asynchronous/Y +at +atavism/M +atavist/SM +atavistic +ataxia/M +ataxic/MS +ate +atelier/SM +atheism/M +atheist/MS +atheistic +atherosclerosis/M +atherosclerotic +athirst +athlete/MS +athletic/S +athletically +athleticism +athletics/M +athwart +atilt +atishoo +atlas/MS +atmosphere/MS +atmospheric/S +atmospherically +atmospherics/M +atoll/MS +atom/SM +atomic +atomically +atomise/ZGDRS +atomiser/M +atonal/Y +atonality/M +atone/LGDS +atonement/M +atop +atria +atrial +atrioventricular +atrium/M +atrocious/PY +atrociousness/M +atrocity/SM +atrophy/DSMG +atropine/M +attach/ALGDS +attache/BM +attached/U +attachment/AM +attachments +attack/ZGMDRS +attacker/M +attain/AGDS +attainability/M +attainable/U +attainder/M +attainment/SM +attar/M +attempt's +attempt/ASDG +attend/SDRZG +attendance/SM +attendant/SM +attended/U +attendee/SM +attention/IM +attentions +attentive/IPY +attentiveness/IM +attenuate/DSGN +attenuation/M +attest/SDG +attestation/SM +attested/U +attic/SM +attire/DSMG +attitude/SM +attitudinal +attitudinise/GDS +attn +attorney/MS +attract/SGVDB +attractant/MS +attraction/MS +attractive/UY +attractiveness/M +attribute/DSMGNVBX +attributed/U +attribution/M +attributive/MYS +attrition/M +attune/DSG +atty +atwitter +atypical/Y +aubergine/S +auburn/M +auction/MDGS +auctioneer/SM +audacious/YP +audaciousness/M +audacity/M +audibility/IM +audible/MS +audibly/I +audience/MS +audio/MS +audiological +audiologist/SM +audiology/M +audiometer/SM +audiophile/SM +audiotape/SM +audiovisual/S +audiovisuals/M +audit/GMDS +audition/SMDG +auditor/MS +auditorium/SM +auditory +auger/MS +aught/MS +augment/DRZGS +augmentation/MS +augmentative +augmenter/M +augur/GMDS +augury/SM +august/PTRY +augustness/M +auk/SM +aunt/SM +auntie/SM +aura/MS +aural/Y +aureole/SM +aureus +auricle/SM +auricular +aurora/SM +auscultate/GNDSX +auscultation/M +auspice/SM +auspicious/IY +auspiciousness/M +austere/RYT +austerity/SM +austral +authentic/IU +authentically +authenticate/XGNDS +authenticated/U +authentication/M +authenticity/M +author/SMDG +authoress/MS +authorial +authorisation/SM +authorise/GDS +authorised/U +authoritarian/MS +authoritarianism/M +authoritative/YP +authoritativeness/M +authority/SM +authorship/M +autism/M +autistic +auto/MS +autobahn/SM +autobiographer/SM +autobiographic +autobiographical/Y +autobiography/SM +autoclave/MS +autocracy/SM +autocrat/SM +autocratic +autocratically +autocross +autodidact/SM +autograph/MDG +autographs +autoimmune +autoimmunity/M +automaker/SM +automate/GNDS +automatic/SM +automatically +automation/M +automatise/GDS +automatism/M +automaton/SM +automobile/DSMG +automotive +autonomic +autonomous/Y +autonomy/M +autopilot/SM +autopsy/GDSM +autosuggestion +autoworker/MS +autumn/SM +autumnal +aux +auxiliary/SM +auxin/M +av/RZ +avail/BGMDS +availability/UM +available/U +avalanche/SM +avarice/M +avaricious/Y +avast +avatar/MS +avaunt +avdp +ave +avenge/ZGDRS +avenger/M +avenue/MS +average/MYGDS +averred +averring +averse/XN +aversion/M +avert/GDS +avg +avian +aviary/SM +aviation/M +aviator/MS +aviatrices +aviatrix/MS +avid/Y +avidity/M +avionic/S +avionics/M +avitaminosis/M +avo/SM +avocado/SM +avocation/MS +avocational +avoid/SDGB +avoidable/U +avoidably/U +avoidance/M +avoidant +avoirdupois/M +avouch/DSG +avow/EDGS +avowal/ESM +avowed/Y +avuncular/Y +aw +await/GDS +awake/GS +awaken/AGDS +awakening/SM +award/GMDS +awardee/S +aware/UP +awareness/UM +awash +away +awe/DSMG +aweigh +awesome/YP +awesomeness/M +awestruck +awful/YP +awfuller +awfullest +awfulness/M +awhile +awkward/RYPT +awkwardness/M +awl/SM +awn/GJSM +awning/M +awoke +awoken +awry +axe/DSMG +axial/Y +axiom/SM +axiomatic +axiomatically +axis/M +axle/MS +axletree/SM +axolotl/SM +axon/MS +ayah/M +ayahs +ayatollah/M +ayatollahs +aye/SM +azalea/SM +azimuth/M +azimuths +azure/SM +b/KDT +baa/SMDG +babble/MZGDRS +babbler/M +babe/SM +babel/MS +baboon/MS +babushka/SM +baby/TGDRSM +babyhood/M +babyish +babysat +babysit/S +babysitter/MS +babysitting/M +baccalaureate/SM +baccarat/M +bacchanal/MS +bacchanalia/M +bacchanalian/MS +baccy +bachelor/SM +bachelorhood/M +bacillary +bacilli +bacillus/M +back/SJZGMDR +backache/MS +backbench/S +backbit +backbite/ZGRS +backbiter/M +backbitten +backboard/SM +backbone/MS +backbreaking +backchat +backcloth +backcloths +backcomb/DSG +backdate/GDS +backdoor +backdrop/MS +backer/M +backfield/SM +backfire/MGDS +backgammon/M +background/MRZS +backgrounder/M +backhand/MDRSZG +backhanded/Y +backhander/M +backhoe/MS +backing/M +backlash/MS +backless +backlog/MS +backlogged +backlogging +backpack/ZGMDRS +backpacker/M +backpacking/M +backpedal/S +backpedalled +backpedalling +backrest/SM +backroom/S +backscratching/M +backseat/SM +backside/SM +backslapper/SM +backslapping/M +backslash/MS +backslid +backslide/RSZG +backslider/M +backspace/DSMG +backspin/M +backstabber/MS +backstabbing +backstage/M +backstair/S +backstop/SM +backstopped +backstopping +backstory/S +backstreet/S +backstretch/MS +backstroke/MGDS +backtalk/M +backtrack/SDG +backup/MS +backward/PSY +backwardness/M +backwash/M +backwater/SM +backwoods/M +backwoodsman/M +backwoodsmen +backyard/SM +bacon/M +bacteria/M +bacterial +bactericidal +bactericide/SM +bacteriologic +bacteriological +bacteriologist/SM +bacteriology/M +bacterium/M +bad/MYP +badder +baddest +baddie/MS +bade +badge/MZRS +badger/GMD +badinage/M +badlands/M +badman/M +badmen +badminton/M +badmouth/GD +badmouths +badness/M +baffle/MZGDRSL +bafflement/M +baffler/M +bag/SM +bagatelle/SM +bagel/MS +bagful/MS +baggage/M +bagged +baggie/M +baggily +bagginess/M +bagging +baggy/PTRS +bagpipe/MZRS +bagpiper/M +baguette/MS +bah +baht/SM +bail/SBGMD +bailey/S +bailiff/S +bailiwick/MS +bailout/SM +bailsman/M +bailsmen +bairn/MS +bait/SGMD +baize/M +bake/DRSMZG +baked/U +baker/M +bakery/SM +bakeshop/MS +baklava/M +baksheesh/M +balaclava/MS +balalaika/MS +balance's +balance/UDSG +balboa/SM +balcony/SM +bald/STGPDRY +balderdash/M +baldfaced +baldness/M +baldric/SM +baldy/S +bale/DRSMZG +baleen/M +baleful/PY +balefulness/M +baler/M +balky/RT +ball/SGMD +ballad/SM +balladeer/MS +balladry/M +ballast/GSMD +ballcock/MS +ballerina/SM +ballet/SM +balletic +ballgame/MS +ballgirl/S +ballgown/S +ballistic/S +ballistics/M +balloon/SGMD +balloonist/MS +ballot/SMDG +ballpark/MS +ballplayer/MS +ballpoint/MS +ballroom/MS +balls/DSG +ballsy/RT +bally +ballyhoo/SMDG +balm/SM +balminess/M +balmy/RTP +baloney/M +balsa/MS +balsam/SM +balsamic +baluster/SM +balustrade/MS +bamboo/SM +bamboozle/DSG +ban/SM +banal/Y +banality/SM +banana/SM +band's +band/ESGD +bandage/DSMG +bandanna/MS +bandbox/MS +bandeau/M +bandeaux +bandit/SM +banditry/M +bandleader/S +bandmaster/SM +bandoleer/SM +bandsman/M +bandsmen +bandstand/SM +bandwagon/SM +bandwidth +bandwidths +bandy/DRSTG +bane/SM +baneful +bang/SGMDR +bangle/SM +bani +banish/GLDS +banishment/M +banister/SM +banjo/MS +banjoist/SM +bank/SZGBMDR +bankbook/SM +bankcard/SM +banker/M +banking/M +banknote/SM +bankroll/SGMD +bankrupt/SGMD +bankruptcy/SM +banned +banner/SM +banning +bannock/MS +banns/M +banquet/ZGMDRS +banqueter/M +banquette/SM +banshee/MS +bantam/SM +bantamweight/SM +banter/GSMD +bantering/Y +banyan/SM +banzai/SM +baobab/SM +bap/S +baptise/ZGDRS +baptised/U +baptiser/M +baptism/MS +baptismal +baptist/S +baptistery/SM +bar's +bar/ECUTS +barb/SZGMDR +barbacoa +barbarian/SM +barbarianism/MS +barbaric +barbarically +barbarise/DSG +barbarism/SM +barbarity/SM +barbarous/Y +barbecue/DSMG +barbel/SM +barbell/MS +barbeque/SM +barber/GMD +barberry/SM +barbershop/MS +barbie/S +barbiturate/SM +barbwire/M +barcarole/SM +bard/SM +bardic +bare/DRSPYG +bareback/D +barefaced/Y +barefoot/D +barehanded +bareheaded +barelegged +bareness/M +barf/SGMDY +barfly/SM +bargain/MDRZGS +bargainer/M +barge/MGDS +bargeman/M +bargemen +barhop/S +barhopped +barhopping +barista/MS +baritone/MS +barium/M +bark's +bark/CSGD +barkeep/ZMRS +barkeeper/M +barker/SM +barley/M +barmaid/MS +barman/M +barmen +barmy/RT +barn/SM +barnacle/MDS +barney/S +barnstorm/SDRZG +barnstormer/M +barnyard/SM +barometer/MS +barometric +barometrically +baron/MS +baronage/MS +baroness/MS +baronet/MS +baronetcy/SM +baronial +barony/SM +baroque/M +barque/SM +barrack/MDGS +barracuda/SM +barrage/MGDS +barramundi/MS +barre/MGJDS +barred/UEC +barrel/SM +barrelled +barrelling +barren/TPSMR +barrenness/M +barrette/SM +barricade/MGDS +barrier/MS +barring/ECU +barrio/SM +barrister/MS +barroom/MS +barrow/SM +bartender/SM +barter/ZGSMDR +barterer/M +baryon/SM +basal/Y +basalt/M +basaltic +base's +base/CDSLTG +baseball/SM +baseboard/MS +baseless +baseline/MS +basely +baseman/M +basemen +basement/CMS +baseness/M +baser +bash/GMDS +bashful/PY +bashfulness/M +bashing/M +basic/MS +basically +basil/M +basilica/MS +basilisk/MS +basin/MS +basinful/MS +basis/M +bask/SGD +basket/SM +basketball/MS +basketry/M +basketwork/M +basque/S +bass/MS +basset/SM +bassinet/MS +bassist/MS +basso/MS +bassoon/MS +bassoonist/SM +basswood/MS +bast/M +bastard/MS +bastardisation/MS +bastardise/GDS +bastardy/M +baste/ZGNXDRS +baster/M +bastion/M +bat/SM +batch/MDSG +bate/KACGSD +bath/ZGMDRS +bathe/M +bather/M +bathetic +bathhouse/MS +bathing/M +bathmat/MS +bathos/M +bathrobe/SM +bathroom/SM +baths +bathtub/MS +bathwater +bathyscaphe/SM +bathysphere/MS +batik/MS +batiste/M +batman/M +batmen +baton/MS +batsman/M +batsmen +battalion/SM +batted +batten/GSMD +batter/JZGSMDR +batterer/M +battery/SM +batting/M +battle/LDRSMZG +battleaxe/MS +battledore/SM +battledress +battlefield/MS +battlefront/MS +battleground/MS +battlement/SM +battler/M +battleship/SM +batty/RT +bauble/SM +baud/SM +baulk/MDGS +bauxite/M +bawd/SM +bawdily +bawdiness/M +bawdy/PRT +bawl/SGMD +bay/SMDG +bayberry/SM +bayonet/SMDG +bayou/MS +bazaar/SM +bazillion/S +bazooka/SM +bbl +bdrm +be +beach/MDSG +beachcomber/SM +beachfront +beachhead/MS +beachwear/M +beacon/SM +bead/SGMD +beading/M +beadle/SM +beady/RT +beagle/SM +beak/SZMDR +beaker/M +beam/SGMD +bean/SGMD +beanbag/MS +beanfeast/S +beanie/SM +beanpole/MS +beansprout/S +beanstalk/MS +bear/SZGBJMR +bearable/U +bearably/U +beard/MDGS +beardless +bearer/M +bearing/M +bearish/PY +bearishness/M +bearlike +bearskin/MS +beast/MS +beastliness/M +beastly/TPRM +beat/SZGBMNRJ +beatable/U +beaten/U +beater/M +beatific +beatifically +beatification/M +beatify/GXNDS +beating/M +beatitude/SM +beatnik/MS +beau/SM +beaut/MS +beauteous/Y +beautician/SM +beautification/M +beautifier/M +beautiful/Y +beautify/NDRSZG +beauty/SM +beaver/SGMD +bebop/MS +becalm/GSD +became +because +beck/SM +beckon/SGD +becloud/GDS +become/S +becoming/UY +becquerel/S +bed/SM +bedaub/GSD +bedazzle/GDSL +bedazzlement/M +bedbug/SM +bedchamber/S +bedclothes/M +bedded +bedder +bedding/M +bedeck/GSD +bedevil/LS +bedevilled +bedevilling +bedevilment/M +bedfellow/SM +bedhead/S +bedim/S +bedimmed +bedimming +bedizen/GDS +bedlam/SM +bedpan/SM +bedpost/SM +bedraggle/GDS +bedridden +bedrock/SM +bedroll/SM +bedroom/SM +bedside/SM +bedsit/S +bedsitter/S +bedsore/SM +bedspread/SM +bedstead/SM +bedtime/SM +bee/RSMZGJ +beebread/M +beech/MS +beechnut/MS +beef/SGMD +beefburger/SM +beefcake/MS +beefiness/M +beefsteak/MS +beefy/RPT +beehive/MS +beekeeper/MS +beekeeping/M +beeline/MS +been +beep/SZGMDR +beeper/M +beer/M +beery/TR +beeswax/M +beet/SM +beetle/MGDS +beetroot/S +beeves +befall/SGN +befell +befit/S +befitted +befitting/Y +befog/S +befogged +befogging +before +beforehand +befoul/DGS +befriend/SGD +befuddle/GLDS +befuddlement/M +beg/S +began +begat +beget/S +begetter/S +begetting +beggar/MDYGS +beggary/M +begged +begging +begin/S +beginner/SM +beginning/MS +begone +begonia/SM +begot +begotten +begrime/DSG +begrudge/DSG +begrudging/Y +beguile/DRSZGL +beguilement/M +beguiler/M +beguiling/Y +beguine/SM +begum/MS +begun +behalf/M +behalves +behave/GDS +behaviour/SM +behavioural/Y +behaviourism/M +behaviourist/SM +behead/DGS +beheld +behemoth/M +behemoths +behest/MS +behind/MS +behindhand +behold/NRZGS +beholder/M +behove/GDS +beige/M +being/M +bejewel/S +bejewelled +bejewelling +belabour/GSD +belated/Y +belay/GDS +belch/GMDS +beleaguer/GSD +belfry/SM +belie/DS +belief/EUM +beliefs +believable/U +believably/U +believe/EDRSZG +believer/EUMS +believing/U +belittle/LDSG +belittlement/M +bell/SGMD +belladonna/M +bellboy/SM +belle/MS +belled/A +belletrist/MS +belletristic +bellhop/SM +bellicose +bellicosity/M +belligerence/M +belligerency/M +belligerent/MYS +belling/A +bellman/M +bellmen +bellow/MDGS +bellwether/MS +belly/GDSM +bellyache/MGDS +bellybutton/SM +bellyful/MS +belong/JDGS +belonging/M +beloved/SM +below +belt/SGMD +beltway/SM +beluga/MS +belying +bemire/GDS +bemoan/DGS +bemuse/LGDS +bemused/Y +bemusement/M +bench/GMDS +benchmark/MS +bend/BSZGMR +bender/M +bendy/TR +beneath +benedictine +benediction/SM +benedictory +benefaction/SM +benefactor/MS +benefactress/MS +benefice/SM +beneficence/M +beneficent/Y +beneficial/Y +beneficiary/SM +benefit/SMDG +benevolence/SM +benevolent/Y +benighted/Y +benign/Y +benignant +benignity/M +bent/SM +bentonite +bentwood/M +benumb/DSG +benzene/M +benzine/M +benzyl +bequeath/DG +bequeaths +bequest/MS +berate/GDS +bereave/DSLG +bereavement/MS +bereft +beret/MS +berg/SM +beriberi/M +berk/S +berkelium/M +berm/SM +berry/GDSM +berrylike +berserk +berth/GMD +berths +beryl/MS +beryllium/M +beseech/ZGRS +beseecher/M +beseeching/Y +beseem/DSG +beset/S +besetting +beside/S +besiege/ZGDRS +besieger/M +besmear/DSG +besmirch/GDS +besom/MS +besot/S +besotted +besotting +besought +bespangle/DSG +bespatter/GSD +bespeak/SG +bespectacled +bespoke +bespoken +best/SGMD +bestial/Y +bestiality/M +bestiary/SM +bestir/S +bestirred +bestirring +bestow/DGS +bestowal/SM +bestrew/SDG +bestrewn +bestridden +bestride/SG +bestrode +bestseller/MS +bestselling +bet/SM +beta/SM +betake/GS +betaken +betcha +betel/M +bethink/SG +bethought +betide/GDS +betimes +betoken/GDS +betook +betray/DRZGS +betrayal/SM +betrayer/M +betroth/DG +betrothal/SM +betrothed/M +betroths +better/MDGLS +betterment/M +betting +bettor/MS +between +betwixt +bevel/MS +bevelled +bevelling/S +beverage/SM +bevvy/S +bevy/SM +bewail/DGS +beware/GDS +bewhiskered +bewigged +bewilder/LSGD +bewildering/Y +bewilderment/M +bewitch/GLDS +bewitching/Y +bewitchment/M +bey/SM +beyond +bezel/MS +bf +bhaji +bi/SMRZ +biannual/Y +bias/GMDS +biased/U +biathlon/SM +bib/SM +bible/MS +biblical +bibliographer/MS +bibliographic +bibliographical/Y +bibliography/SM +bibliophile/SM +bibulous +bicameral +bicameralism/M +bicarb/MS +bicarbonate/MS +bicentenary/SM +bicentennial/SM +bicep/MS +biceps/M +bicker/MDRZGS +bickerer/M +bickie/MS +biconcave +biconvex +bicuspid/MS +bicycle/DRSMZG +bicycler/M +bicyclist/SM +bid/SMG +biddable +bidden/U +bidder/MS +bidding/M +biddy/SM +bide/S +bidet/MS +bidirectional/Y +biennial/MYS +biennium/MS +bier/M +biff/SGD +biffo/MS +bifocal/S +bifocals/M +bifurcate/XDSGN +bifurcation/M +big/P +bigamist/SM +bigamous +bigamy/M +bigger +biggest +biggie/MS +biggish +bighead/SM +bighearted/P +bigheartedness/M +bighorn/SM +bight/MS +bigmouth/M +bigmouths +bigness/M +bigot/MDS +bigotry/SM +bigwig/MS +bijou/M +bijoux +bike/DRSMZG +biker/M +bikini/MS +bikkie/MS +bilabial/MS +bilateral/Y +bilberry/S +bile/M +bilge/MS +bilingual/SMY +bilingualism/M +bilious/P +biliousness/M +bilirubin +bilk/SZGDR +bilker/M +bill/SBJGMD +billabong/SM +billboard/MS +billet/GMDS +billfold/SM +billhook/S +billiard/S +billiards/M +billing/M +billingsgate/M +billion/MHS +billionaire/SM +billionth/M +billionths +billow/GMDS +billowy +billy/SM +billycan/S +bimbo/MS +bimetallic/SM +bimetallism/M +bimodal +bimonthly/SM +bin/SM +binary/SM +binaural +bind's +bind/AUGS +binder/MS +bindery/SM +binding/MS +bindweed/M +binge/MDS +bingle/MGDS +bingo/M +binman +binmen +binnacle/SM +binned +binning +binocular/MS +binomial/SM +bio/SM +biochemical/SMY +biochemist/MS +biochemistry/M +biodegradability/M +biodegrade/DSGB +biodiversity/M +bioethics/M +biofeedback/M +biofilm/MS +biog +biographer/SM +biographic +biographical/Y +biography/SM +biol +biologic +biological/Y +biologist/MS +biology/M +biomarker/MS +biomass/M +biomedical +bionic/S +bionically +bionics/M +biophysical +biophysicist/MS +biophysics/M +biopic/MS +biopsy/GDSM +bioreactor/S +biorhythm/MS +biosensor/S +biosphere/SM +biosynthesis +biotech +biotechnological +biotechnology/M +biotin/M +bipartisan +bipartisanship/M +bipartite +biped/MS +bipedal +biplane/MS +bipolar +bipolarity/M +biracial +birch/GMDS +bird/SZGMDR +birdbath/M +birdbaths +birdbrain/SMD +birdcage/S +birder/M +birdhouse/MS +birdie/MDS +birdieing +birdlike +birdlime/M +birdseed/M +birdsong +birdwatcher/SM +birdying +biretta/SM +birth/ZGMDR +birthday/MS +birther/M +birthmark/MS +birthplace/MS +birthrate/MS +birthright/MS +births/A +birthstone/SM +biscuit/SM +bisect/DGS +bisection/MS +bisector/SM +bisexual/MYS +bisexuality/M +bishop/MS +bishopric/SM +bismuth/M +bison/M +bisque/M +bistro/MS +bit/CSMG +bitch/GMDS +bitchily +bitchiness/M +bitchy/PRT +bitcoin/SM +bite/RSMZ +biter/M +biting/Y +bitmap/S +bitten +bitter/PMRYTS +bittern/SM +bitterness/M +bitters/M +bittersweet/MS +bitty/TR +bitumen/M +bituminous +bivalent +bivalve/SM +bivouac/MS +bivouacked +bivouacking +biweekly/SM +biyearly +biz/M +bizarre/Y +bk +bl/DG +blab/SM +blabbed +blabber/DGS +blabbermouth/M +blabbermouths +blabbing +black/PXTGMDNRYS +blackamoor/MS +blackball/SGMD +blackberry/GSM +blackbird/SM +blackboard/MS +blackcurrant/S +blacken/DG +blackface +blackguard/SM +blackhead/MS +blacking/M +blackish +blackjack/MDGS +blackleg/S +blacklist/MDSG +blackmail/MDRSZG +blackmailer/M +blackness/M +blackout/SM +blacksmith/M +blacksmiths +blacksnake/SM +blackthorn/SM +blacktop/SM +blacktopped +blacktopping +bladder/MS +blade/MDS +blag/S +blagged +blagging +blah/M +blahs/M +blame/MGDRS +blameable +blameless/YP +blamelessness/M +blameworthiness/M +blameworthy/P +blammo +blanch/GDS +blancmange/MS +bland/PTRY +blandish/DSLG +blandishment/SM +blandness/M +blank/TGPMDRYS +blanket/GMDS +blankness/M +blare/MGDS +blarney/SMDG +blase +blaspheme/ZGDRS +blasphemer/M +blasphemous/Y +blasphemy/SM +blast/ZGMDRS +blaster/M +blastoff/MS +blat/S +blatancy/SM +blatant/Y +blather/SMDG +blaze/MZGDRS +blazer/M +blazon/MDGS +bldg +bleach/MDRSZG +bleached/U +bleacher/M +bleak/TPRY +bleakness/M +blear +blearily +bleariness/M +bleary/PRT +bleat/GMDS +bleed/ZGRS +bleeder/M +bleeding/M +bleep/ZGMDRS +bleeper/M +blemish/GMDS +blemished/U +blench/DSG +blend/ZGMDRS +blender/M +bless/GDSJ +blessed/YP +blessedness/M +blessing/M +bletch +blew +blight/ZGMDRS +blimey +blimp/MS +blimpish +blind/PZTGMDRYS +blinder/M +blindfold/SMDG +blinding/Y +blindness/M +blindside/DSG +blini/MS +blink/ZGMDRS +blinker/MDG +blintz/MS +blintze/M +blip/SM +bliss/M +blissful/YP +blissfulness/M +blister/GMDS +blistering/Y +blistery +blithe/PYTR +blitheness/M +blither/G +blithesome +blitz/GMDS +blitzkrieg/MS +blivet/S +blizzard/SM +bloat/ZGDRS +bloatware +blob/SM +blobbed +blobbing +bloc/SM +block's +block/UGDS +blockade/MZGDRS +blockader/M +blockage/MS +blockbuster/SM +blockbusting/M +blockchain/MS +blocker/MS +blockhead/SM +blockhouse/MS +blog/SM +blogged +blogger/MS +blogging +bloke/MS +blokish +blond/PTMRS +blonde/MS +blondish +blondness/M +blood/GMDS +bloodbath/M +bloodbaths +bloodcurdling +bloodhound/SM +bloodily +bloodiness/M +bloodless/YP +bloodlessness/M +bloodletting/M +bloodline/SM +bloodmobile/MS +bloodshed/M +bloodshot +bloodstain/SMD +bloodstock/M +bloodstream/SM +bloodsucker/SM +bloodsucking +bloodthirstily +bloodthirstiness/M +bloodthirsty/RPT +bloody/PTGDRS +bloom/ZGMDRS +bloomer/M +bloop/ZGMDRS +blooper/M +blossom/GMDS +blossomy +blot/SM +blotch/GMDS +blotchy/TR +blotted +blotter/MS +blotting +blotto +blouse/MGDS +blow/SZGMR +blower/M +blowfly/SM +blowgun/MS +blowhard/MS +blowhole/S +blowie/M +blowjob/SM +blowlamp/S +blown +blowout/SM +blowpipe/SM +blowsy/RT +blowtorch/MS +blowup/MS +blowy/TRSM +blubber/GSMD +blubbery +bludgeon/MDGS +bludger/SM +blue/DRSPMTG +bluebell/MS +blueberry/SM +bluebird/MS +bluebonnet/SM +bluebottle/SM +bluefish/MS +bluegill/MS +bluegrass/M +blueish +bluejacket/SM +bluejeans/M +blueness/M +bluenose/MS +bluepoint/MS +blueprint/MDGS +bluestocking/SM +bluesy/RT +bluet/MS +bluey/MS +bluff/ZTGPMDRYS +bluffer/M +bluffness/M +bluing/M +bluish +blunder/MDRZGS +blunderbuss/MS +blunderer/M +blunt/PTGDRYS +bluntness/M +blur/SM +blurb/MS +blurred +blurriness/M +blurring +blurry/TRP +blurt/GDS +blush/ZGMDRS +blusher/M +bluster/MDRSZG +blusterer/M +blusterous +blustery +blvd +boa/SM +boar/SM +board/ZGMDRS +boarder/M +boarding/M +boardinghouse/MS +boardroom/MS +boardwalk/MS +boast/ZGMDRS +boaster/M +boastful/PY +boastfulness/M +boat/SZGMDR +boater/M +boathouse/MS +boating/M +boatload/S +boatman/M +boatmen +boatswain/SM +boatyard/S +bob/SM +bobbed +bobbin/MS +bobbing +bobble/MGDS +bobby/SM +bobbysoxer/SM +bobcat/MS +bobolink/SM +bobsled/SM +bobsledded +bobsledder/MS +bobsledding +bobsleigh/M +bobsleighs +bobtail/SM +bobwhite/MS +boccie/M +bock/M +bod/SMDG +bodacious +bode/S +bodega/MS +bodge/GDS +bodice/MS +bodily +bodkin/MS +body/DSM +bodybuilder/SM +bodybuilding/M +bodyguard/MS +bodysuit/SM +bodywork/M +boffin/S +boffo +bog/SM +boga +bogan/MS +bogey/GMDS +bogeyman/M +bogeymen +bogged +bogging +boggle/GDS +boggy/TR +bogie/MS +bogon +bogosity +bogus +bogyman/M +bogymen +bohemian/SM +bohemianism/M +boil/SJZGMDR +boiler/M +boilermaker/SM +boilerplate/M +boink/GDS +boisterous/YP +boisterousness/M +bola/SM +bold/PTRY +boldface/DM +boldness/M +bole/SM +bolero/MS +bolivar/MS +bolivares +boll/SM +bollard/S +bollix/GMDS +bollocking/S +bollocks +bologna/M +bolshie +bolster/GMDS +bolt's +bolt/USGD +bolthole/S +bolus/MS +bomb/SJZGMDR +bombard/GDLS +bombardier/MS +bombardment/SM +bombast/M +bombastic +bombastically +bomber/M +bombproof +bombshell/SM +bombsite/S +bonanza/MS +bonbon/MS +bonce/S +bond/SGMD +bondage/M +bondholder/MS +bonding/M +bondman/M +bondmen +bondsman/M +bondsmen +bondwoman/M +bondwomen +bone/DRSMZG +bonehead/SMD +boneless +boner/M +boneshaker/S +boneyard +bonfire/MS +bong/SGMD +bongo/MS +bonhomie/M +boniness/M +bonito/MS +bonk/SZGD +bonnet/MS +bonny/TR +bonobo/MS +bonsai/M +bonus/MS +bony/PTR +bonz/R +bonza +bonze +boo/SMDHG +boob/SGMD +booby/SM +boodle/MS +booger/S +boogeyman/M +boogeymen +boogie/MDS +boogieing +boogieman/M +boohoo/GMDS +book/SBJGMD +bookbinder/SM +bookbindery/SM +bookbinding/M +bookcase/MS +bookend/MS +bookie/MS +booking/M +bookish +bookkeeper/MS +bookkeeping/M +booklet/MS +bookmaker/SM +bookmaking/M +bookmark/SMDG +bookmobile/SM +bookplate/MS +bookseller/MS +bookshelf/M +bookshelves +bookshop/SM +bookstall/S +bookstore/MS +bookworm/SM +boolean +boom/SZGMDR +boombox/MS +boomerang/MDGS +boon/SM +boondocks/M +boondoggle/MZGDRS +boondoggler/M +boonies/M +boor/SM +boorish/PY +boorishness/MS +boost/ZGMDRS +booster/M +boot's +boot/ASGD +bootblack/SM +bootee/MS +booth/M +booths +bootlace/S +bootleg/MS +bootlegged +bootlegger/MS +bootlegging/M +bootless +bootstrap/MS +bootstrapped +bootstrapping +booty/SM +booze/MZGDRS +boozer/M +boozy/TR +bop/SM +bopped +bopping +borax/M +bordello/MS +border/GMDS +borderland/MS +borderline/MS +bore/DRSMZG +boredom/M +borehole/S +borer/M +boring/Y +born/IAU +borne +boron/M +borough/M +boroughs +borrow/SDRZGJ +borrower/M +borrowing/M +borscht/M +borstal/S +borzoi/SM +bosh/M +boshter +bosker +bosom's +bosom/US +bosomy +boss/DSGM +bossily +bossiness/M +bossism/M +bossy/RTP +bot/S +botanic +botanical/Y +botanist/SM +botany/M +botch/DRSZGM +botcher/M +both +bother/SMDG +botheration +bothered/U +bothersome +botnet/SM +bottle/DRSMZG +bottleneck/MS +bottler/M +bottom/SMDG +bottomless +botulinum +botulism/M +boudoir/SM +bouffant/SM +bougainvillea/MS +bough/M +boughs +bought +bouillabaisse/SM +bouillon/MS +boulder/SM +boules +boulevard/SM +bounce/DRSMZG +bouncer/M +bouncily +bounciness/M +bouncy/RTP +bound/ASMGD +boundary/SM +bounden +bounder/SM +boundless/PY +boundlessness/M +bounteous/YP +bounteousness/M +bountiful/YP +bountifulness/M +bounty/SM +bouquet/SM +bourbon/SM +bourgeois/M +bourgeoisie/M +boustrophedon +bout/MS +boutique/SM +boutonniere/MS +bouzouki/MS +bovine/SM +bovver +bow/ZGSMDR +bowdlerisation/MS +bowdlerise/DSG +bowed/U +bowel/SM +bower/M +bowl/MDRZGS +bowleg/SM +bowlegged +bowler/M +bowlful/SM +bowline/SM +bowling/M +bowman/M +bowmen +bowsprit/SM +bowstring/SM +bowwow/SM +box/ZGMDNRS +boxcar/SM +boxer/M +boxing/M +boxlike +boxroom/S +boxwood/M +boxy/RT +boy/SM +boycott/SGMD +boyfriend/MS +boyhood/SM +boyish/YP +boyishness/M +boysenberry/SM +bozo/MS +bpm +bps +bra/SM +brace/MZGDRS +bracelet/MS +bracer/M +bracero/MS +bracken/M +bracket/GMDS +brackish/P +brackishness/M +bract/MS +brad/SM +bradawl/S +bradycardia +brae/SM +brag/SM +braggadocio/SM +braggart/SM +bragged +bragger/MS +bragging +braid/GMDS +braiding/M +braille/M +brain/GMDS +brainchild/M +brainchildren/M +braininess/M +brainless/Y +brainpower +brainstorm/SMDG +brainstorming/M +brainteaser/SM +brainwash/DSG +brainwashing/M +brainwave/S +brainy/PTR +braise/GDS +brake/MGDS +brakeman/M +brakemen +bramble/MS +brambly +bran/M +branch/GMDS +branchlike +brand/ZGMDRS +branded/U +brander/M +brandish/DSG +brandy/GDSM +brash/PTRY +brashness/M +brass/MS +brasserie/MS +brassiere/MS +brassily +brassiness/M +brassy/PTR +brat/SM +bratty/RT +bratwurst/SM +bravado/M +brave/GPMYDTRS +braveness/M +bravery/M +bravo/SM +bravura/SM +brawl/SDRZGM +brawler/M +brawn/M +brawniness/M +brawny/RTP +bray/DGSM +braze/DRSZG +brazen/SDYGP +brazenness/M +brazer/M +brazier/SM +breach/GMDS +bread/GMDHS +breadbasket/SM +breadboard/SM +breadbox/MS +breadcrumb/MS +breadfruit/SM +breadline/MS +breadth/M +breadths +breadwinner/SM +break/BMZGRS +breakable/MS +breakage/MS +breakaway/MS +breakdown/MS +breaker/M +breakfast/MDGS +breakfront/MS +breakneck +breakout/MS +breakpoints +breakthrough/M +breakthroughs +breakup/SM +breakwater/SM +bream/MS +breast/SMDG +breastbone/MS +breastfed +breastfeed/GS +breastplate/SM +breaststroke/SM +breastwork/MS +breath/MDRSZGB +breathalyse/ZGDRS +breathe +breather/M +breathing/M +breathless/PY +breathlessness/M +breaths +breathtaking/Y +breathy/RT +bred/I +breech/MS +breed/SRZGM +breeder/M +breeding/IM +breeze/DSMG +breezeway/SM +breezily +breeziness/M +breezy/RTP +brekkie/M +brekky/SM +brethren +breve/SM +brevet/SM +brevetted +brevetting +breviary/SM +brevity/M +brew/MDRZGS +brewer/M +brewery/SM +brewpub/SM +briar/SM +bribe/DRSMZG +briber/M +bribery/M +brick/SMDG +brickbat/SM +brickie/S +bricklayer/MS +bricklaying/M +brickwork/M +brickyard/S +bridal/SM +bride/SM +bridegroom/SM +bridesmaid/MS +bridge/DSMG +bridgeable/U +bridgehead/SM +bridgework/M +bridle/DSMG +bridled/U +bridleway/S +brie/M +brief's +brief/CSDTGJ +briefcase/SM +briefer +briefing/CM +briefly +briefness/M +brig/MS +brigade/SM +brigadier/MS +brigand/SM +brigandage/M +brigantine/MS +bright/SPNRYXT +brighten/DRZG +brightener/M +brightness/M +brights/M +brill +brilliance/M +brilliancy/M +brilliant/MYS +brilliantine/M +brim/MS +brimful +brimless +brimmed +brimming +brimstone/M +brindle/DM +brine/M +bring/SRZG +bringer/M +brininess/M +brink/SM +brinkmanship/M +briny/RTP +brioche/SM +briquette/MS +brisk/SDRYTGP +brisket/SM +briskness/M +bristle/DSMG +bristly/TR +britches/M +brittle/PRMT +brittleness/M +bro/SMH +broach/MDSG +broad/SMNRYXTP +broadband/M +broadcast/AMGS +broadcaster/MS +broadcasting/M +broadcloth/M +broaden/DG +broadloom/M +broadminded +broadness/M +broadsheet/SM +broadside/MGDS +broadsword/SM +brocade/DSMG +broccoli/M +brochette/SM +brochure/MS +brogan/SM +brogue/SM +broil/SMDRZG +broiler/M +broke +broken/YP +brokenhearted/Y +brokenness/M +broker/SMDG +brokerage/MS +brolly/S +bromide/SM +bromidic +bromine/M +bronc/SM +bronchi +bronchial +bronchitic +bronchitis/M +bronchus/M +bronco/SM +broncobuster/SM +brontosaur/MS +brontosaurus/MS +bronze/DSMG +brooch/MS +brood/SMDRZG +brooder/M +broodily +brooding/MY +broodmare/MS +broody/RMPT +brook/SMDG +brooklet/SM +broom/SM +broomstick/MS +broth/MRZ +brothel/MS +brother/MY +brotherhood/MS +brotherliness/M +broths +brougham/SM +brought +brouhaha/SM +brow/MS +browbeat/SNG +brown/SMDRPTG +brownfield +brownie/MS +brownish +brownness/M +brownout/SM +brownstone/MS +browse/DRSMZG +browser/M +brr +bruin/SM +bruise/DRSMZG +bruiser/M +bruising/M +bruit/SDG +brumby/SM +brunch/MDSG +brunet/SM +brunette/MS +brunt/M +brush/MDSG +brushoff/SM +brushstroke/S +brushwood/M +brushwork/M +brusque/RPYT +brusqueness/M +brutal/Y +brutalisation/M +brutalise/GDS +brutality/SM +brute/SM +brutish/PY +brutishness/M +bu +bub/SM +bubble/DSMG +bubblegum/M +bubbly/RMT +bubo/M +buboes +buccaneer/SGMD +buck/MDGS +buckaroo/SM +buckboard/MS +bucket/SGMD +bucketful/MS +buckeye/MS +buckle's +buckle/UDSG +buckler/MS +buckram/M +bucksaw/MS +buckshot/M +buckskin/MS +buckteeth +bucktooth/MD +buckwheat/M +buckyball/SM +bucolic/MS +bucolically +bud/SM +budded +budding/S +buddy/SM +budge/DSG +budgerigar/MS +budget/SGMD +budgetary +budgie/SM +buff/AMDGS +buffalo/MDG +buffaloes +buffer/SMDG +buffet/SMDGJ +buffoon/SM +buffoonery/M +buffoonish +bug's +bug/CS +bugaboo/SM +bugbear/SM +bugged/C +bugger/SMDG +buggery +bugging/C +buggy/RSMT +bugle/DRSMZG +bugler/M +build/SMRZGJ +builder/M +building/M +buildup/SM +built/AI +builtin +bulb/MS +bulbous +bulge/DSMG +bulgy/RT +bulimarexia/M +bulimia/M +bulimic/SM +bulk/MDGS +bulkhead/MS +bulkiness/M +bulky/RTP +bull/MDGS +bulldog/SM +bulldogged +bulldogging +bulldoze/ZGDRS +bulldozer/M +bullet/SMD +bulletin/MDGS +bulletproof/SDG +bullfight/SMRZG +bullfighter/M +bullfighting/M +bullfinch/MS +bullfrog/MS +bullhead/MDS +bullheaded/PY +bullheadedness/M +bullhorn/MS +bullion/M +bullish/YP +bullishness/M +bullock/SM +bullpen/SM +bullring/MS +bullseye +bullshit/MS! +bullshitted/! +bullshitter/SM! +bullshitting/! +bullwhip/S +bully/DSMG +bulrush/MS +bulwark/MS +bum/SM +bumbag/S +bumble/DRSZG +bumblebee/SM +bumbler/M +bumf +bummed +bummer/SM +bummest +bumming +bump/MDRZGS +bumper/M +bumph +bumpiness/M +bumpkin/MS +bumptious/PY +bumptiousness/M +bumpy/PRT +bun/SM +bunch/MDSG +bunchy/RT +bunco/SMDG +bundle/DSMG +bundy/DSMG +bung/MDGS +bungalow/MS +bungee/SM +bunghole/MS +bungle/DRSMZG +bungler/M +bunion/SM +bunk's +bunk/CDGS +bunker/SM +bunkhouse/SM +bunkum/M +bunny/SM +bunt/MDGSJ +bunting/M +bunyip/SM +buoy/MDGS +buoyancy/M +buoyant/Y +bur/SMY +burble/DSMG +burbs/M +burden's +burden/USGD +burdensome +burdock/M +bureau/SM +bureaucracy/SM +bureaucrat/MS +bureaucratic +bureaucratically +bureaucratisation/M +bureaucratise/GDS +burg/MRZS +burgeon/DSG +burger/M +burgh/MRZ +burgher/M +burghs +burglar/MS +burglarise/GDS +burglarproof +burglary/SM +burgle/DSG +burgomaster/SM +burgundy/SM +burial/ASM +burl/MDS +burlap/M +burlesque/MGDS +burliness/M +burly/RPT +burn/MDRZGSB +burnable/SM +burner/M +burnish/ZGMDRS +burnisher/M +burnoose/MS +burnout/MS +burnt +burp/MDGS +burqa/SM +burr/MDGS +burrito/MS +burro/SM +burrow/SMDRZG +burrower/M +bursa/M +bursae +bursar/SM +bursary/SM +bursitis/M +burst/SMG +bury/ADSG +bus/AMS +busboy/SM +busby/SM +busgirl/MS +bush/MDSGJ +bushel/SM +bushelled +bushelling/S +bushfire/SM +bushie/M +bushiness/M +bushing/M +bushman/M +bushmaster/SM +bushmen +bushranger/MS +bushwhack/DRSZG +bushwhacker/M +bushy/RSMPT +busily +business/MS +businesslike +businessman/M +businessmen +businessperson/SM +businesswoman/M +businesswomen +busk/DRZGS +buskin/SM +busload/S +buss/MDSG +bussing/M +bust/MDRZGS +buster/M +bustle/DSMG +busty/RZT +busy/DRSTGP +busybody/SM +busyness/M +busywork/M +but/ACS +butane/M +butch/MRSZ +butcher/MDG +butchery/SM +butler/SM +butt/MDRZGS +butte/SM +butted/A +butter/MDG +butterball/MS +buttercream +buttercup/SM +butterfat/M +butterfingered +butterfingers/M +butterfly/GDSM +buttermilk/M +butternut/SM +butterscotch/M +buttery/TRSM +butting/A +buttock/SM +button's +button/USDG +buttonhole/DSMG +buttonwood/MS +buttress/MDSG +butty/S +buxom +buy/ZGSMR +buyback/SM +buyer/M +buyout/SM +buzz/MDRSZG +buzzard/MS +buzzer/M +buzzkill/SM +buzzword/SM +bx +bxs +by/M +bye/SM +bygone/SM +bylaw/SM +byline/SM +bypass/GMDS +bypath/M +bypaths +byplay/M +byproduct/MS +byre/S +byroad/SM +bystander/MS +byte/MS +byway/SM +byword/SM +byzantine +c/IES +ca +cab/SMRZ +cabal/MS +cabala's +caballero/MS +cabana/SM +cabaret/SM +cabbage/MS +cabbed +cabbing +cabby/SM +cabdriver/SM +cabin/MS +cabinet/SM +cabinetmaker/MS +cabinetmaking/M +cabinetry/M +cabinetwork/M +cable/MGDS +cablecast/GMS +cablegram/MS +cabochon/SM +caboodle/M +caboose/SM +cabriolet/SM +cabstand/SM +cacao/MS +cache/MGDS +cachepot/SM +cachet/MS +cackle/MZGDRS +cackler/M +cacophonous +cacophony/SM +cacti +cactus/M +cad/SM +cadaver/SM +cadaverous +caddie/MDS +caddish/YP +caddishness/M +caddying +cadence/DSM +cadenza/SM +cadet/MS +cadge/ZGDRS +cadger/M +cadmium/M +cadre/MS +caducei +caduceus/M +caesium/M +caesura/SM +cafe/SM +cafeteria/MS +cafetiere/S +caff/CS +caffeinated +caffeine/M +cage/DSMG +cagey +cagier +cagiest +cagily +caginess/M +cagoule/S +cahoot/MS +caiman/MS +cairn/MS +caisson/SM +caitiff/SM +cajole/ZGLDRS +cajolement/M +cajoler/M +cajolery/M +cake/DSMG +cakewalk/SM +cal +calabash/MS +calaboose/SM +calamari/SM +calamine/M +calamitous/Y +calamity/SM +calcareous +calciferous +calcification/M +calcify/GNDS +calcimine/DSMG +calcine/DSG +calcite/M +calcium/M +calculable/I +calculate/AGNVDSX +calculated/Y +calculating/Y +calculation/AM +calculator/SM +calculi +calculus/M +caldera/SM +calendar/MDGS +calf/M +calfskin/M +calibrate/GNDSX +calibration/M +calibrator/SM +calibre/SM +calico/M +calicoes +californium/M +caliper/SGMD +caliph/M +caliphate/MS +caliphs +calisthenics's +call/ASGMD +calla/MS +callable +callback/MS +called/U +caller/MS +calligrapher/SM +calligraphic +calligraphist/MS +calligraphy/M +calling/SM +calliope/MS +callisthenic/S +callosity/SM +callous/PGDSY +callousness/M +callow/RPT +callowness/M +callus/MDSG +calm/PSTGMDRY +calmness/M +caloric +calorie/MS +calorific +calumet/MS +calumniate/GNDS +calumniation/M +calumniator/MS +calumnious +calumny/SM +calve/GDS +calypso/MS +calyx/MS +cam/SM +camaraderie/M +camber/MDSG +cambial +cambium/SM +cambric/M +camcorder/SM +came +camel/MS +camelhair +camellia/MS +cameo/MS +camera/MS +cameraman/M +cameramen +camerapeople +cameraperson +camerawoman/M +camerawomen +camerawork +camiknickers +camisole/SM +camouflage/MZGDRS +camouflager/M +camp's +camp/CSGD +campaign/SMDRZG +campaigner/M +campanile/SM +campanologist/MS +campanology/M +camper/MS +campfire/SM +campground/SM +camphor/M +camping/M +campsite/SM +campus/MS +campy/TR +camshaft/SM +can't +can/SMDRZG +canal/MS +canalisation/M +canalise/GDS +canape/MS +canard/MS +canary/SM +canasta/M +cancan/MS +cancel/S +cancellation/SM +cancelled +canceller/SM +cancelling +cancellous +cancer/MS +cancerous +candelabra/SM +candelabrum/M +candid/YP +candida +candidacy/SM +candidate/MS +candidature/SM +candidness/M +candle/MZGDRS +candlelight/M +candlelit +candlepower/M +candler/M +candlestick/MS +candlewick/SM +candour/M +candy/GDSM +candyfloss +cane/SM +canebrake/MS +caner/M +canine/MS +canister/SM +canker/GMDS +cankerous +cannabis/MS +canned +cannelloni/M +cannery/SM +cannibal/SM +cannibalisation/M +cannibalise/GDS +cannibalism/M +cannibalistic +cannily/U +canniness/M +canning +cannon/GMDS +cannonade/MGDS +cannonball/SM +cannot +canny/UTR +canoe/MDS +canoeing +canoeist/SM +canola/M +canon/MS +canonical/Y +canonisation/MS +canonise/DSG +canoodle/DSG +canopy/GDSM +canst +cant's +cant/CZRDGS +cantabile +cantaloupe/SM +cantankerous/PY +cantankerousness/M +cantata/MS +canteen/MS +canter/CM +cantered +cantering +canticle/MS +cantilever/MDGS +canto/MS +canton/MLS +cantonal +cantonment/MS +cantor/MS +canvas/MGDS +canvasback/SM +canvass/MDRSZG +canvasser/M +canyon/MGS +cap/SMDRBZ +capabilities +capability/IM +capable/I +capably/I +capacious/PY +capaciousness/M +capacitance/M +capacities +capacitor/SM +capacity/IM +caparison/MDGS +cape/SM +caper/GMD +capeskin/M +capillarity/M +capillary/SM +capital/MSY +capitalisation/M +capitalise/ADSG +capitalism/M +capitalist/SM +capitalistic +capitalistically +capitation/CSM +capitol/SM +capitulate/ADSXGN +capitulation/AM +caplet/MS +capo/SM +capon/MS +capped/UA +capping/UA +cappuccino/SM +caprice/SM +capricious/PY +capriciousness/M +capsicum/SM +capsize/DSG +capstan/SM +capstone/MS +capsular +capsule/DSMG +capsulise/DSG +capt +captain/SMDG +captaincy/SM +caption/SMDG +captious/YP +captiousness/M +captivate/DSGN +captivation/M +captivator/SM +captive/SM +captivity/SM +captor/MS +capture/ADSMG +car/SMDRZG +carafe/MS +caramel/SM +caramelise/DSG +carapace/SM +carat/MS +caravan/SM +caravansary/SM +caravel/SM +caraway/SM +carbide/SM +carbine/SM +carbohydrate/SM +carbolic +carbon/MS +carbonaceous +carbonate/MGNDS +carbonation/M +carboniferous +carbonise/GDS +carborundum/M +carboy/MS +carbs +carbuncle/SM +carbuncular +carburettor/MS +carcass/MS +carcinogen/SM +carcinogenic/MS +carcinogenicity/M +carcinoma/MS +card/ESGMD +cardamom/SM +cardamon/S +cardboard/M +carder/MS +cardholder/S +cardiac +cardiae +cardies +cardigan/SM +cardinal/SMY +cardio +cardiogram/SM +cardiograph/M +cardiographs +cardiologist/MS +cardiology/M +cardiomyopathy +cardiopulmonary +cardiovascular +cardsharp/MRZS +cardsharper/M +care/SM +careen/DGS +career/MDGS +careerism +careerist/SM +carefree +careful/YP +carefuller +carefullest +carefulness/M +caregiver/SM +careless/PY +carelessness/M +carer/M +caress/MDSG +caret/MS +caretaker/MS +careworn +carfare/M +cargo/M +cargoes +carhop/MS +caribou/SM +caricature/MGDS +caricaturist/SM +caries/M +carillon/SM +caring/M +carious +carjack/JSDRZG +carjacker/M +carjacking/M +cark/SGD +carload/SM +carmaker/S +carmine/SM +carnage/M +carnal/Y +carnality/M +carnation/IMS +carnelian/MS +carnival/MS +carnivora +carnivore/SM +carnivorous/PY +carnivorousness/M +carny/SM +carob/MS +carol/MS +carolled +caroller/MS +carolling +carom/GMDS +carotene/M +carotid/SM +carousal/SM +carouse/DRSMZG +carousel/SM +carouser/M +carp/SZGMDR +carpal/MS +carpel/MS +carpenter/MDGS +carpentry/M +carper/M +carpet/MDGS +carpetbag/MS +carpetbagged +carpetbagger/MS +carpetbagging +carpeting/M +carpi +carpool/SMDG +carport/SM +carpus/M +carrel/MS +carriage/SM +carriageway/S +carrier/M +carrion/M +carrot/MS +carroty +carry/ZGDRSM +carryall/SM +carrycot/S +carryout +carryover/MS +carsick/P +carsickness/M +cart/SZGMDR +cartage/M +cartel/MS +carter/M +carthorse/SM +cartilage/SM +cartilaginous +cartload/SM +cartographer/SM +cartographic +cartography/M +carton/MS +cartoon/SMDG +cartoonist/MS +cartridge/MS +cartwheel/GMDS +carve/JZGDRS +carver/M +carvery/S +carving/M +caryatid/MS +casaba/MS +cascade/DSMG +cascara/SM +case/LDSJMG +casebook/S +cased/U +caseharden/DGS +casein/M +caseload/MS +casement/MS +casework/ZMR +caseworker/M +cash/GMDS +cashback/M +cashbook/MS +cashew/MS +cashier/GSMD +cashless +cashmere/M +casing/M +casino/MS +cask/SM +casket/MS +cassava/SM +casserole/DSMG +cassette/MS +cassia/MS +cassock/SM +cassowary/SM +cast/ASGM +castanet/MS +castaway/MS +caste/JMZRS +castellated +caster/M +castigate/DSGN +castigation/M +castigator/SM +casting/AM +castle/MGDS +castoff/SM +castor/MS +castrate/GNXDS +castration/M +casual/PMYS +casualness/M +casualty/SM +casuist/SM +casuistic +casuistry/M +cat/SM +cataclysm/MS +cataclysmal +cataclysmic +catacomb/SM +catafalque/MS +catalepsy/M +cataleptic/MS +catalogue/DRSMZG +catalogued/U +cataloguer/M +catalpa/SM +catalyse/GDS +catalysis/M +catalyst/MS +catalytic/M +catamaran/SM +catapult/GMDS +cataract/MS +catarrh/M +catastrophe/MS +catastrophic +catastrophically +catatonia/M +catatonic/SM +catbird/SM +catboat/SM +catcall/GSMD +catch/ZGJLMRS +catchall/MS +catcher/M +catchment/MS +catchpenny +catchphrase/SM +catchword/MS +catchy/RT +catechise/DSG +catechism/SM +catechist/SM +categorical/Y +categorisation/SM +categorise/GDS +category/SM +cater/ZGJDRS +catercorner +caterer/M +caterpillar/MS +caterwaul/SMDG +catfish/MS +catgut/M +catharses +catharsis/M +cathartic/SM +cathedral/SM +catheter/SM +catheterise/DSG +cathode/SM +cathodic +catholic +catholicity/M +cation/MS +catkin/MS +catlike +catnap/MS +catnapped +catnapping +catnip/M +catsuit/S +cattail/SM +catted +cattery/S +cattily +cattiness/M +catting +cattle/M +cattleman/M +cattlemen +catty/TPR +catwalk/SM +caucus/MDSG +caudal/Y +caught/U +cauldron/MS +cauliflower/SM +caulk/ZGMDRS +caulker/M +causal/Y +causality/SM +causation/M +causative +cause/MZGDRS +causeless +causer/M +causerie/SM +causeway/SM +caustic/SM +caustically +causticity/M +cauterisation/M +cauterise/GDS +caution/SMDG +cautionary +cautious/IY +cautiousness/M +cavalcade/MS +cavalier/SMY +cavalry/SM +cavalryman/M +cavalrymen +cave/DRSMZG +caveat/MS +caveman/M +cavemen +cavern/MS +cavernous/Y +caviar/M +cavil/MS +cavilled +caviller/MS +cavilling/S +caving/M +cavitation +cavity/FSM +cavort/DGS +caw/SMDG +cay/CSM +cayenne/M +cayuse/MS +cc +cease/CMGDS +ceasefire/MS +ceaseless/YP +ceaselessness/M +ceca +cecal +cecum/M +cedar/MS +cede/FAGSD +ceder/MS +cedilla/SM +ceilidh +ceilidhs +ceiling/MS +celandine/M +celeb/S +celebrant/SM +celebrate/DSGNX +celebration/M +celebrator/SM +celebratory +celebrity/SM +celeriac +celerity/M +celery/M +celesta/MS +celestial/Y +celibacy/M +celibate/MS +cell/SMD +cellar/MS +cellist/SM +cellmate/SM +cello/MS +cellophane/M +cellphone/MS +cellular/SM +cellulite/M +cellulitis +celluloid/M +cellulose/M +cement/MDRZGS +cementer/M +cementum/M +cemetery/SM +cenotaph/M +cenotaphs +censer/MS +censor/MDGS +censored/U +censorial +censorious/PY +censoriousness/M +censorship/M +censure/BDRSMZG +censurer/M +census/MDSG +cent/SM +centaur/SM +centavo/SM +centenarian/MS +centenary/SM +centennial/MYS +centigrade +centigram/SM +centilitre/MS +centime/SM +centimetre/MS +centipede/SM +central/SMY +centralisation/CM +centralise/CGDS +centraliser/MS +centralism +centralist +centrality/M +centre/MGDS +centreboard/SM +centrefold/SM +centrepiece/SM +centrifugal/Y +centrifuge/DSMG +centripetal/Y +centrism/M +centrist/MS +centurion/SM +century/SM +cephalic +ceramic/SM +ceramicist/SM +ceramics/M +ceramist/MS +cereal/MS +cerebellar +cerebellum/SM +cerebra +cerebral +cerebrate/GNDS +cerebration/M +cerebrovascular +cerebrum/MS +cerement/MS +ceremonial/SMY +ceremonious/UY +ceremoniousness/M +ceremony/SM +cerise/M +cerium/M +cermet/M +cert/S +certain/UY +certainty/USM +certifiable +certifiably +certificate/MGNXDS +certification/M +certify/DSG +certitude/IM +certitudes +cerulean/M +cervical +cervices +cervix/M +cesarean/MS +cessation/MS +cession/KAFSM +cesspit/S +cesspool/MS +cetacean/MS +ceteris +cf +cg +ch/IFVT +chad/S +chafe/GDS +chaff/GMDS +chaffinch/MS +chagrin/GSMD +chain's +chain/UGDS +chainsaw/MDGS +chair/GMDS +chairlift/MS +chairman/M +chairmanship/SM +chairmen +chairperson/SM +chairwoman/M +chairwomen +chaise/MS +chalcedony/M +chalet/MS +chalice/SM +chalk/GMDS +chalkboard/SM +chalkiness/M +chalky/PRT +challenge/DRSMZG +challenged/U +challenger/M +challis/M +chamber/SMD +chamberlain/MS +chambermaid/MS +chambray/M +chameleon/SM +chamois/M +chamomile/MS +champ/ZGMDS +champagne/MS +champion/GMDS +championship/MS +chance/MGDS +chancel/SM +chancellery/SM +chancellor/MS +chancellorship/M +chancery/SM +chanciness/M +chancre/SM +chancy/PRT +chandelier/SM +chandler/MS +change/MZGDRS +changeability/M +changeable/P +changeableness/M +changeably +changed/U +changeless/Y +changeling/SM +changeover/SM +changer/M +changing/U +channel/SM +channelisation/M +channelise/DSG +channelled +channelling +chanson/SM +chant/ZGMDRS +chanter/M +chanteuse/MS +chantey/SM +chanticleer/MS +chaos/M +chaotic +chaotically +chap/SM +chaparral/SM +chapati/S +chapatti/S +chapbook/MS +chapeau/SM +chapel/MS +chaperonage/M +chaperone/DSMG +chaperoned/U +chaplain/MS +chaplaincy/SM +chaplet/SM +chapped +chapping +chappy/S +chapter/SM +char/SM +charabanc/MS +character/MS +characterful +characterisation/SM +characterise/DSG +characteristic/SM +characteristically/U +characterless +charade/SM +charbroil/GDS +charcoal/MS +chard/M +chardonnay/SM +charge/AESDGM +chargeable/A +charged/U +charger/SM +charily +chariness/M +chariot/SM +charioteer/MS +charisma/M +charismatic/MS +charitable/P +charitableness/M +charitably/U +charity/SM +charlady/S +charlatan/SM +charlatanism/M +charlatanry/M +charlie/S +charm/ZGMDRS +charmer/M +charming/Y +charmless +charred +charring +chart/GMDS +charted/U +charter's +charter/ASGD +charterer/MS +chartreuse/M +charwoman/M +charwomen +chary/TRP +chase/MZGDRS +chaser/M +chasm/MS +chassis/M +chaste/PYTR +chasten/DGS +chasteness/M +chastise/DRSZGL +chastisement/SM +chastiser/M +chastity/M +chasuble/SM +chat/SM +chateau/SM +chateaux +chatelaine/SM +chatline/S +chatroom/M +chatted +chattel/MS +chatter/MDRZGS +chatterbox/MS +chatterer/M +chattily +chattiness/M +chatting +chatty/TPR +chauffeur/GMDS +chauvinism/M +chauvinist/SM +chauvinistic +chauvinistically +cheap/PXTNRY +cheapen/DG +cheapness/M +cheapo +cheapskate/MS +cheat/ZGMDRS +cheater/M +check/AGMDS +checkbox +checked/U +checker/MS +checkers/M +checklist/MS +checkmate/MGDS +checkoff/SM +checkout/SM +checkpoint/SM +checkroom/MS +checksum +checkup/MS +cheddar/M +cheek/GMDS +cheekbone/SM +cheekily +cheekiness/M +cheeky/TPR +cheep/GMDS +cheer/ZGMDRS +cheerer/M +cheerful/YP +cheerfuller +cheerfullest +cheerfulness/M +cheerily +cheeriness/M +cheerio/MS +cheerleader/SM +cheerless/PY +cheerlessness/M +cheery/TPR +cheese/MGDS +cheeseboard/S +cheeseburger/SM +cheesecake/SM +cheesecloth/M +cheeseparing/M +cheesiness/M +cheesy/TPR +cheetah/M +cheetahs +chef/SM +chem +chemical/SMY +chemise/MS +chemist/MS +chemistry/M +chemo/M +chemotherapeutic +chemotherapy/M +chemurgy/M +chenille/M +cheque/MZGDRS +chequebook/MS +chequer/MDG +chequerboard/MS +chequers/M +cherish/DSG +cheroot/MS +cherry/SM +chert/M +cherub/MS +cherubic +cherubim +chervil/M +chess/M +chessboard/MS +chessman/M +chessmen +chest/MDS +chesterfield/SM +chestful/SM +chestnut/SM +chesty/TR +chevalier/SM +cheviot/M +chevron/MS +chew/SZGMDR +chewer/M +chewiness/M +chewy/PTR +chg +chge +chi/SM +chiaroscuro/M +chic/PTMR +chicane/MS +chicanery/SM +chichi/MS +chick/XMNS +chickadee/SM +chicken/MDG +chickenfeed/M +chickenhearted +chickenpox/M +chickenshit/S! +chickpea/SM +chickweed/M +chicle/M +chicness/M +chicory/SM +chide/GDS +chiding/Y +chief/TMRYS +chiefdom/M +chieftain/MS +chieftainship/SM +chiffon/M +chiffonier/MS +chigger/MS +chignon/MS +chihuahua/SM +chilblain/SM +child/M +childbearing/M +childbirth/M +childbirths +childcare/M +childhood/SM +childish/YP +childishness/M +childless/P +childlessness/M +childlike +childminder/S +childminding +childproof/GSD +children/M +chill/JPZTGMDRS +chiller/M +chilli/TPMR +chilliness/M +chilling/Y +chillness/M +chilly/S +chime/MZGDRS +chimer/M +chimera/MS +chimeric +chimerical +chimney/MS +chimp/MS +chimpanzee/SM +chin/SM +china/M +chinaware/M +chinchilla/MS +chine/MS +chink/GMDS +chinless +chinned +chinning +chino/MS +chinstrap/MS +chintz/M +chintzy/RT +chinwag/S +chip/SM +chipboard +chipmunk/SM +chipolata/S +chipped +chipper/MS +chippie +chipping/S +chippy/S +chirography/M +chiropodist/MS +chiropody/M +chiropractic/SM +chiropractor/SM +chirp/GMDS +chirpily +chirpy/PTR +chirrup/GMDS +chisel/MS +chiselled +chiseller/MS +chiselling +chit/SM +chitchat/SM +chitchatted +chitchatting +chitin/M +chitinous +chitosan +chitterlings/M +chivalrous/PY +chivalrousness/M +chivalry/M +chive/MS +chivy/GDS +chlamydia/MS +chlamydiae +chloral/M +chlordane/M +chloride/MS +chlorinate/GNDS +chlorination/M +chlorine/M +chlorofluorocarbon/SM +chloroform/SGMD +chlorophyll/M +chloroplast/MS +chm +choc/S +chock/GMDS +chockablock +chocoholic/SM +chocolate/MS +chocolatey +choice/MTRS +choir/MS +choirboy/MS +choirmaster/SM +choke/MZGDRS +chokecherry/SM +choker/M +cholecystectomy +cholecystitis +choler/M +cholera/M +choleric +cholesterol/M +chomp/ZGMDRS +chook/MS +choose/ZGRS +chooser/M +choosiness/M +choosy/TPR +chop/SM +chophouse/SM +chopped +chopper/MDGS +choppily +choppiness/M +chopping +choppy/TPR +chopstick/SM +choral/MYS +chorale/MS +chord/MS +chordal +chordate/SM +chore/MS +chorea/M +choreograph/DRZG +choreographer/M +choreographic +choreographically +choreographs +choreography/M +chorister/SM +choroid/MS +chortle/MZGDRS +chortler/M +chorus/GMDS +chose +chosen +chow/SGMD +chowder/MS +chrism/M +christen/ASGD +christening/MS +christian/U +christology +chromatic +chromatically +chromatin/M +chromatography +chrome/MGDS +chromium/M +chromosomal +chromosome/MS +chronic +chronically +chronicle/DRSMZG +chronicler/M +chronograph/M +chronographs +chronological/Y +chronologist/MS +chronology/SM +chronometer/SM +chrysalis/MS +chrysanthemum/MS +chub/SM +chubbiness/M +chubby/TPR +chuck/GMDS +chuckhole/SM +chuckle/MGDS +chuffed +chug/SM +chugged +chugging +chukka/MS +chum/SM +chummed +chummily +chumminess/M +chumming +chummy/PTR +chump/MS +chunder/GDS +chunk/GMDS +chunkiness/M +chunky/PTR +chunter/DGS +church/MS +churchgoer/SM +churchgoing/M +churchman/M +churchmen +churchwarden/MS +churchwoman +churchwomen +churchyard/SM +churl/MS +churlish/PY +churlishness/M +churn/ZGMDRS +churner/M +chute/MS +chutney/MS +chutzpah/M +chyme/M +chyron/MS +ciabatta/SM +ciao/S +cicada/MS +cicatrices +cicatrix/M +cicerone/SM +ciceroni +cider's +cider/S +cigar/MS +cigarette/MS +cigarillo/MS +cilantro/M +cilia +cilium/M +cinch/GMDS +cinchona/SM +cincture/SM +cinder/GMDS +cine +cinema/MS +cinematic +cinematographer/MS +cinematographic +cinematography/M +cinnabar/M +cinnamon/M +cipher's +cipher/CGDS +cir +circa +circadian +circle/MGDS +circlet/MS +circuit/MDGS +circuital +circuitous/YP +circuitousness/M +circuitry/M +circuity/M +circular/SMY +circularise/DSG +circularity/M +circulate/ADSG +circulation/SM +circulatory +circumcise/XDSGN +circumcised/U +circumcision/M +circumference/MS +circumferential +circumflex/MS +circumlocution/MS +circumlocutory +circumnavigate/XGNDS +circumnavigation/M +circumpolar +circumscribe/GDS +circumscription/MS +circumspect/Y +circumspection/M +circumstance/MGDS +circumstantial/Y +circumvent/DSG +circumvention/M +circus/MS +cirque/MS +cirrhosis/M +cirrhotic/SM +cirri +cirrus/M +cis +cisgender +cistern/MS +cit +citadel/MS +citation/AMS +cite's +cite/IAGSD +citified +citizen/MS +citizenry/M +citizenship/M +citric +citron/MS +citronella/M +citrus/MS +city/SM +citywide +civet/MS +civic/S +civically +civics/M +civil/UY +civilian/MS +civilisation/SM +civilise/GDS +civilised/U +civility/ISM +civvies/M +ck +cl +clack/GMDS +clad/U +cladding/M +clade +claim's +claim/CKEAGDS +claimable/A +claimant/MS +claimed/U +claimer/ECSM +clairvoyance/M +clairvoyant/MS +clam/SM +clambake/MS +clamber/ZGMDRS +clamberer/M +clammed +clammily +clamminess/M +clamming +clammy/PTR +clamorous +clamour/GMDS +clamp/GMDS +clampdown/MS +clan/SM +clandestine/Y +clang/ZGMDRS +clangorous/Y +clangour/M +clank/GMDS +clannish/P +clannishness/M +clansman/M +clansmen +clanswoman +clanswomen +clap/SM +clapboard/MDGS +clapped +clapper/MS +clapperboard/S +clapping/M +claptrap/M +claque/MS +claret/MS +clarification/M +clarify/XDSNG +clarinet/SM +clarinettist/MS +clarion/MDGS +clarity/M +clash/GMDS +clasp's +clasp/UGDS +class/GMDS +classic/MS +classical/MY +classicism/M +classicist/MS +classifiable +classification/CAM +classifications +classified's +classified/U +classifieds +classifier/MS +classify/ACSDGN +classiness/M +classism +classless/P +classmate/MS +classroom/MS +classwork/M +classy/TRP +clatter/GMDS +clausal +clause/MS +claustrophobia/M +claustrophobic +clavichord/SM +clavicle/MS +clavier/MS +claw's +claw/CSGD +clay/M +clayey +clayier +clayiest +clean/BJPZTGDRYS +cleaner/M +cleaning/M +cleanliness/UM +cleanly/UTPR +cleanness/UM +cleanse/ZGDRS +cleanser/M +cleanup/MS +clear/JPTGMDRYS +clearance/SM +clearheaded +clearing/M +clearinghouse/SM +clearness/M +clearway/S +cleat/MS +cleavage/MS +cleave/ZGDRS +cleaver/M +clef/SM +cleft/MS +clematis/MS +clemency/IM +clement/Y +clementine/S +clench/GMDS +clerestory/SM +clergy/SM +clergyman/M +clergymen +clergywoman/M +clergywomen +cleric/MS +clerical/Y +clericalism/M +clerk/GMDS +clerkship/M +clever/PTRY +cleverness/M +clevis/MS +clew/SGMD +cliche/MDS +click/BZGMDRS +clickbait +clicker/M +client/MS +clientele/MS +cliff/MS +cliffhanger/SM +cliffhanging +clifftop/S +clii +climacteric/M +climactic +climate/SM +climatic +climatically +climatologist/SM +climatology/M +climax/MDSG +climb/SMDRZGB +climber/M +climbing/M +clime/SM +clinch/MDRSZG +clincher/M +cling/SMRZG +clinger/M +clingfilm +clingy/RT +clinic/SM +clinical/Y +clinician/SM +clink/SMDRZG +clinker/M +cliometric/S +cliometrician/MS +cliometrics/M +clip/SM +clipboard/MS +clipped +clipper/SM +clipping/SM +clique/SM +cliquey +cliquish/YP +cliquishness/M +clit/SM +clitoral +clitorides +clitoris/MS +clix +cloaca/M +cloacae +cloak's +cloak/USDG +cloakroom/MS +clobber/SMDG +cloche/SM +clock/SMDG +clockwise +clockwork/SM +clod/MS +cloddish +clodhopper/MS +clog's +clog/US +clogged/U +clogging/U +cloisonne/M +cloister/SMDG +cloistral +clomp/SDG +clonal +clone/DSMG +clonidine +clonk/SMDG +clop/MS +clopped +clopping +close/DRSMYTGJP +closefisted +closemouthed +closeness/M +closeout/MS +closet/SMDG +closeup/SM +closing/M +closure/ESM +clot/MS +cloth/M +clothe/UDSG +clotheshorse/MS +clothesline/SM +clothespin/SM +clothier/MS +clothing/M +cloths +clotted +clotting +cloture/SM +cloud/SMDG +cloudburst/SM +clouded/U +cloudiness/M +cloudless +cloudy/RPT +clout/SMDG +clove/RSMZ +cloven +clover/M +cloverleaf/SM +cloverleaves +clown/SMDG +clownish/YP +clownishness/M +cloy/DGS +cloying/Y +club/MS +clubbable +clubbed +clubber/S +clubbing +clubfeet +clubfoot/MD +clubhouse/SM +clubland +cluck/SMDG +clue/MGDS +clueless +clump/SMDG +clumpy/TR +clumsily +clumsiness/M +clumsy/TRP +clung +clunk/SMDRZG +clunker/M +clunky/TR +cluster/MDSG +clutch/GMDS +clutter's +clutter/UDSG +clvi +clvii +clxi +clxii +clxiv +clxix +clxvi +clxvii +cm +cnidarian/MS +co/ESD +coach/MDSG +coachload/S +coachman/M +coachmen +coachwork +coadjutor/MS +coagulant/MS +coagulate/GNDS +coagulation/M +coagulator/MS +coal/MDGS +coalesce/GDS +coalescence/M +coalescent +coalface/MS +coalfield/S +coalition/MS +coalitionist/MS +coalmine/S +coarse/RYTP +coarsen/SDG +coarseness/M +coast/SMDRZG +coastal +coaster/M +coastguard/S +coastline/MS +coat/MDGJS +coathanger/MS +coating/M +coatroom/S +coattail/SM +coauthor/MDGS +coax/DRSZG +coaxer/M +coaxial +coaxing/Y +cob/SM +cobalt/M +cobber/SMDG +cobble/DRSMZG +cobbler/M +cobblestone/SM +cobnut/S +cobra/SM +cobweb/SM +cobwebbed +cobwebby/RT +coca/M +cocaine/M +cocci/S +coccus/M +coccyges +coccyx/M +cochineal/M +cochlea/SM +cochleae +cochlear +cock/MDGS +cockade/SM +cockamamie +cockatiel/MS +cockatoo/SM +cockatrice/SM +cockchafer/S +cockcrow/SM +cockerel/SM +cockeyed +cockfight/MGS +cockfighting/M +cockily +cockiness/M +cockle/SM +cockleshell/SM +cockney/SM +cockpit/SM +cockroach/MS +cockscomb/SM +cocksucker/MS! +cocksure +cocktail/MS +cocky/RTP +coco/MS +cocoa/SM +coconut/SM +cocoon/SMDG +cod/SM +coda/MS +codded +codding +coddle/DSG +code's +code/CZGDRS +codeine/M +codependency/M +codependent/SM +coder/CM +codex/M +codfish/MS +codger/SM +codices +codicil/SM +codification/M +codifier/M +codify/XDRSNZG +codon/S +codpiece/MS +codswallop +coed/MS +coeducation/M +coeducational +coefficient/MS +coelenterate/MS +coenobite/SM +coenobitic +coenzyme +coequal/MYS +coerce/DRSZGNV +coercer/M +coercion/M +coeval/SMY +coexist/DSG +coexistence/M +coexistent +coextensive +coffee/SM +coffeecake/SM +coffeehouse/MS +coffeemaker/SM +coffeepot/MS +coffer/SM +cofferdam/MS +coffin/SMDG +cog/SM +cogency/M +cogent/Y +cogitate/DSXGNV +cogitation/M +cogitator/MS +cognac/SM +cognate/MS +cognisable +cognisance/AM +cognisant +cognition/AM +cognitional +cognitive/Y +cognomen/SM +cognoscente/M +cognoscenti +cogwheel/SM +cohabit/SGD +cohabitant/MS +cohabitation/M +coheir/SM +cohere/DSG +coherence/IM +coherency/M +coherent/IY +cohesion/M +cohesive/YP +cohesiveness/M +coho/MS +cohort/SM +coif/MS +coiffed +coiffing +coiffure/DSMG +coil's/A +coil/UADGS +coin/MDRZGS +coinage/SM +coincide/DSG +coincidence/MS +coincident +coincidental/Y +coiner/M +coinsurance/M +coir +coital +coitus/M +coke/MGDS +col/S +cola/MS +colander/SM +cold/MRYTPS +coldblooded +coldness/M +coleslaw/M +coleus/MS +coley/S +colic/M +colicky +coliseum/MS +colitis/M +coll +collaborate/DSXGNV +collaboration/M +collaborationist +collaborative/Y +collaborator/MS +collage/SM +collagen +collapse/MGDS +collapsible +collar/SMDG +collarbone/SM +collard/SM +collarless +collate/DSXGN +collateral/MY +collateralise +collation/M +collator/MS +colleague/MS +collect's +collect/ASGVD +collectable/MS +collected/U +collectedly +collection/AMS +collective/MYS +collectivisation/M +collectivise/DSG +collectivism/M +collectivist/SM +collector/MS +colleen/SM +college/SM +collegiality/M +collegian/MS +collegiate +collide/DRSZG +collie/RSMZ +collier/M +colliery/SM +collision/SM +collocate/MGNDSX +collocation/M +colloid/SM +colloidal +colloq +colloquial/Y +colloquialism/SM +colloquies +colloquium/MS +colloquy/M +collude/DSG +collusion/M +collusive +cologne/SM +colon/SM +colonel/SM +colonelcy/M +colones +colonial/SMY +colonialism/M +colonialist/MS +colonisation/ACM +colonise/CAGSD +coloniser/MS +colonist/SM +colonnade/MDS +colonoscopy/SM +colony/SM +colophon/SM +coloration/EM +coloratura/MS +colossal/Y +colossi +colossus/M +colostomy/SM +colostrum/M +colour's +colour/AEGDS +colourant/SM +colouration/EM +colourblind/P +colourblindness/M +coloured's +coloured/U +coloureds +colourfast/P +colourfastness/M +colourful/YP +colourfulness/M +colouring's +colourisation/M +colourise/DSG +colourist/S +colourless/PY +colourlessness/M +colourway/S +colt/MS +coltish +columbine/SM +column/SMD +columnar +columnist/SM +com/JL +coma/MS +comaker/SM +comatose +comb/MDRZGJS +combat/SMDGV +combatant/SM +combativeness/M +combed/U +comber/M +combination/SM +combine's +combine/ADSG +combined/U +combiner/MS +combings/M +combo/SM +combust/SGVD +combustibility/M +combustible/MS +combustion/M +come/IMZGRS +comeback/MS +comedian/MS +comedic +comedienne/MS +comedown/MS +comedy/SM +comeliness/M +comely/RPT +comer's +comestible/SM +comet/SM +comeuppance/SM +comfit's +comfit/ES +comfort/ESMDG +comfortable/P +comfortableness/M +comfortably/U +comforter/MS +comforting/Y +comfortless +comfy/RT +comic/SM +comical/Y +comicality/M +coming/M +comity/M +comm +comma/SM +command/SMDRLZG +commandant/MS +commandeer/GDS +commander/M +commandment/MS +commando/SM +commemorate/XGNVDS +commemoration/M +commemorator/MS +commence/ADSLG +commencement/AM +commencements +commend/ASDBG +commendably +commendation/AMS +commendatory +commensurable +commensurate/IY +comment/GSMD +commentary/SM +commentate/DSG +commentator/SM +commerce/M +commercial/SMY +commercialisation/M +commercialise/GDS +commercialism/M +commie/SM +commingle/DSG +commiserate/GNVDSX +commiseration/M +commissar/SM +commissariat/SM +commissary/SM +commission's +commission/ACSGD +commissionaire/S +commissioner/SM +commit/AS +commitment/MS +committal/SM +committed/AU +committee/SM +committeeman/M +committeemen +committeewoman/M +committeewomen +committer/S +committing/A +commode's +commode/EIS +commodification +commodious/Y +commodity/SM +commodore/SM +common's +common/UPRYT +commonality/S +commonalty/M +commoner/MS +commonness/UM +commonplace/MS +commons +commonsense +commonweal/MH +commonwealth/M +commonwealths +commotion/SM +communal/Y +commune/XDSMGN +communicability/M +communicable/I +communicably +communicant/MS +communicate/GNVDSX +communication/M +communicative/U +communicator/SM +communion/M +communique/SM +communism/M +communist/SM +communistic +community/SM +commutation/MS +commutative +commutativity +commutator/SM +commute/BDRSMZG +commuter/M +comorbidity +comp/MDYGS +compact/TGSMDRYP +compaction +compactness/M +compactor/SM +companion/SBM +companionably +companionship/M +companionway/MS +company/SM +comparability/M +comparable/I +comparably/I +comparative/MYS +compare/BDSG +comparison/MS +compartment/SM +compartmental +compartmentalisation/M +compartmentalise/DSG +compass/GMDS +compassion/M +compassionate/Y +compatibility/IM +compatible/IMS +compatibly/I +compatriot/MS +compeer/SM +compel/S +compelled +compelling/Y +compendious +compendium/SM +compensate/DSXGN +compensated/U +compensation/M +compensatory +compere/DSG +compete/DSG +competence/IM +competences +competencies +competency/IM +competent/IY +competition/SM +competitive/PY +competitiveness/M +competitor/SM +compilation/SM +compile/DRSZG +compiler/M +complacence/M +complacency/M +complacent/Y +complain/DRZGS +complainant/MS +complainer/M +complaint/SM +complaisance/M +complaisant/Y +complected +complement/SGMD +complementary +complete/PYTGNXDRS +completed/U +completeness/IM +completion/M +complex/MSY +complexion/MDS +complexional +complexity/SM +compliance/M +compliant/Y +complicate/GDS +complicated/Y +complication/M +complicit +complicity/M +compliment/MDGS +complimentary/U +comply/NDSXG +compo/S +component/SM +comport/LSGD +comportment/M +compose/AECGSD +composedly +composer/MS +composite/MYGNXDS +composition/CM +compositional +compositor/SM +compost/SGMD +composure/EM +compote/SM +compound/GMDBS +compounded/U +comprehend/SDG +comprehensibility/IM +comprehensible/I +comprehensibly/I +comprehension/IM +comprehensions +comprehensive/PMYS +comprehensiveness/M +compress's +compress/CGVDS +compressed/U +compressible +compression/CM +compressor/SM +comprise/GDS +compromise/MGDS +comptroller/MS +compulsion/MS +compulsive/YP +compulsiveness/M +compulsorily +compulsory/SM +compunction/SM +computation/SM +computational/Y +compute/ADSG +computer/MS +computerate +computerisation/M +computerise/GDS +computing/M +comrade/SMY +comradeship/M +con/GSM +concatenate/XDSGN +concatenation/M +concave/YP +concaveness/M +conceal/SDRZGBL +concealed/U +concealer/M +concealment/M +conceit/SMD +conceited/PY +conceitedness/M +conceivable/I +conceivably/I +conceive/DSGB +concentrate/DSMGNX +concentration/M +concentric +concentrically +concept/SM +conception/SM +conceptional +conceptual/Y +conceptualisation/SM +conceptualise/DSG +concern/UMD +concerned/UY +concerning +concerns +concert's +concert/ESDG +concerted/Y +concertgoer/S +concertina/SGMD +concertise/DSG +concertmaster/MS +concerto/SM +concessionaire/MS +concessional +concessionary +conch/M +conchie/S +conchs +concierge/MS +conciliate/DSGN +conciliation/AM +conciliator/SM +conciliatory +concise/RPYTN +conciseness/M +concision/M +conclave/SM +conclude/DSG +conclusion/MS +conclusive/IYP +conclusiveness/IM +concoct/SDG +concoction/MS +concomitant/MYS +concord/M +concordance/SM +concordant +concordat/SM +concourse/SM +concrete/DSPMYGNX +concreteness/M +concretion/M +concubinage/M +concubine/MS +concupiscence/M +concupiscent +concur/S +concurred +concurrence/SM +concurrency +concurring +concuss/V +concussion/SM +condemn/SDRZG +condemnation/MS +condemnatory +condemner/M +condensate/MNXS +condensation/M +condense/DRSZG +condenser/M +condescending/Y +condescension/M +condign +condiment/MS +condition's +condition/AGSD +conditional/SMY +conditionality +conditioned/U +conditioner/SM +conditioning/M +condo/SM +condolence/SM +condom/SM +condominium/MS +condone/DSG +condor/SM +conduce/DSGV +conduct/MDGV +conductance/M +conductibility/M +conductible +conduction/M +conductivity/M +conductor/MS +conductress/MS +conduit/SM +cone/M +coneys +confab/SM +confabbed +confabbing +confabulate/XDSGN +confabulation/M +confection/SZMR +confectioner/M +confectionery/SM +confederacy/SM +confederate/M +confer/S +conferee/SM +conference/MGS +conferrable +conferral/M +conferred +conferrer/MS +conferring +confessed/Y +confession/SM +confessional/SM +confessor/MS +confetti/M +confidant/MS +confidante/SM +confide/DRSZG +confidence/SM +confident/Y +confidential/Y +confidentiality/M +confider/M +confiding/Y +configuration/S +configure/B +confined/U +confinement/MS +confirm/ASDG +confirmation/ASM +confirmatory +confirmed/U +confiscate/DSGNX +confiscation/M +confiscator/SM +confiscatory +conflagration/MS +conflate/XDSGN +conflation/M +conflict/SGMD +confluence/MS +confluent +conform/ZB +conformable/U +conformal +conformance/M +conformism/M +conformist/SM +conformity/M +confrere/MS +confrontation/SM +confrontational +confuse/RZ +confused/Y +confusing/Y +confutation/M +confute/DSG +conga/SMDG +congeal/SLDG +congealment/M +conger/SM +congeries/M +congest/SDGV +congestion/M +conglomerate/DSXMGN +conglomeration/M +congrats/M +congratulate/XGNDS +congratulation/M +congratulatory +congregant/MS +congregate/GNDSX +congregation/M +congregational +congregationalism/M +congregationalist/MS +congress/MS +congressional +congressman/M +congressmen +congresspeople +congressperson/MS +congresswoman/M +congresswomen +congruence/M +congruent/Y +congruity/ISM +congruous +conic/SM +conical/Y +conifer/SM +coniferous +conjectural +conjecture/MGDS +conjoint +conjugal/Y +conjugate/DSXGN +conjugation/M +conjunct/VMS +conjunctiva/SM +conjunctive/SM +conjunctivitis/M +conjuration/MS +conjure/DRSZG +conjurer/M +conk/MDRZ +conman +connect/AEDVGS +connectable +connected/U +connection/EMS +connective/MS +connectivity/M +connector/MS +conned +conning +conniption/MS +connivance/M +connive/DRSZG +conniver/M +connoisseur/SM +connotative +connubial +conquer/ASDG +conquerable/U +conquered/U +conqueror/MS +conquest/AM +conquistador/SM +cons/DSG +consanguineous +consanguinity/M +conscienceless +conscientious/PY +conscientiousness/M +conscious/UYP +consciousness/UM +consciousnesses +conscription/M +consecrate/ADSGN +consecrated/U +consecration/AM +consecrations +consecutive/Y +consensual +consensus/MS +consent/SMDG +consequence/SM +consequent/Y +consequential/IY +conservancy/SM +conservation/M +conservationism/M +conservationist/SM +conservatism/M +conservative/MYS +conservatoire/S +conservator/SM +conservatory/SM +consider/AGSD +considerable/I +considerably +considerate/IPYN +considerateness/IM +consideration/AIM +considerations +considered/U +consign/ASDG +consignee/MS +consignment/MS +consist/SDG +consistence/MS +consistency/ISM +consistent/IY +consistory/SM +consolable/I +consolation/MS +consolatory +consolidate/XDSGN +consolidated/U +consolidation/M +consolidator/MS +consoling/Y +consomme/M +consonance/SM +consonant/SMY +consortia +consortium/M +conspectus/MS +conspicuous/IPY +conspicuousness/IM +conspiracy/SM +conspirator/MS +conspiratorial/Y +conspire/GD +constable/SM +constabulary/SM +constancy/IM +constant/MYS +constellation/SM +consternation/M +constipate/GNDS +constipation/M +constituency/SM +constituent/SM +constitute/ADSGNV +constitution/AM +constitutional/MYS +constitutionalism +constitutionality/UM +constitutions +constrained/U +constraint/SM +constrict/GVSD +constriction/SM +constrictor/SM +construable +construct's +construct/CADVGS +construction/CAMS +constructional +constructionist's +constructionist/CS +constructive/YP +constructiveness/M +constructor/MS +construe/GDS +consul/KSM +consular/K +consulate/SM +consulship/M +consult/GSD +consultancy/SM +consultant/MS +consultation/MS +consultative +consumable/SM +consume/BDRSZG +consumed/U +consumer/M +consumerism/M +consumerist/MS +consummate/YGNXDS +consummated/U +consumption/M +consumptive/SM +cont +contact/ASDG +contactable +contactless +contagion/MS +contagious/PY +contagiousness/M +contain/SBLDRZG +container/M +containerisation/M +containerise/DSG +containment/M +contaminant/SM +contaminate/ACDSG +contaminated/U +contamination/CM +contaminator/SM +contd +contemn/SDG +contemplate/DSGNV +contemplation/M +contemplative/SMY +contemporaneity/M +contemporaneous/Y +contempt/M +contemptible +contemptibly +contemptuous/YP +contemptuousness/M +contender/MS +content/ESLMDG +contented/EY +contentedness/M +contention/SM +contentious/YP +contentiousness/M +contently +contentment/EM +conterminous/Y +contestable/I +contestant/MS +contested/U +contextualisation +contextualise/DSG +contiguity/M +contiguous/Y +continence/IM +continent/SM +continental/SM +contingency/SM +contingent/SMY +continua +continual/Y +continuance/EMS +continuation/EMS +continue/EGDS +continuity/ESM +continuous/EY +continuum/M +contort/GD +contortion/MS +contortionist/SM +contra +contraband/M +contrabassoon/S +contraception/M +contraceptive/SM +contract/MDG +contractible +contractile +contractility +contraction/S +contractual/Y +contradict/SDG +contradiction/SM +contradictory +contradistinction/MS +contraflow/S +contrail/MS +contraindicate/GNXDS +contraindication/M +contralto/SM +contraption/SM +contrapuntal/Y +contrarian/SM +contrarianism +contrariety/M +contrarily +contrariness/M +contrariwise +contrary/PSM +contrast/MDGS +contravene/GDS +contravention/SM +contretemps/M +contribute/XGND +contribution/M +contributor/MS +contributory +contrition/M +contrivance/MS +contrive/ZGDRS +contriver/M +control's +control/CS +controllable/U +controlled/UC +controller/MS +controlling/C +controversial/Y +controversy/SM +controvert/DSG +controvertible/I +contumacious/Y +contumacy/M +contumelious +contumely/SM +contuse/XDSGN +contusion/M +conundrum/SM +conurbation/MS +convalesce/DSG +convalescence/MS +convalescent/SM +convection/M +convectional +convective +convector/S +convene/ADSG +convener/MS +convenience/IMS +convenient/IY +convent/SM +conventicle/MS +convention/SM +conventional/UY +conventionalise/GDS +conventionality/UM +conventioneer/S +convergence/MS +convergent +conversant +conversation/MS +conversational/Y +conversationalist/SM +converse/Y +convert's +convert/AGSD +converted/U +converter/SM +convertibility/M +convertible/SM +convex/Y +convexity/M +convey/SBDG +conveyance/MGS +conveyor/MS +convict/GSMD +conviction/MS +convince/GDS +convinced/U +convincing/UY +convivial/Y +conviviality/M +convoke/DSG +convoluted +convolution/MS +convoy/SMDG +convulse/GNVXDS +convulsion/M +convulsive/Y +cony/M +coo/GSMD +cooee/DSM +cooeeing +cook's +cook/ADGS +cookbook/MS +cooked/U +cooker/SM +cookery/SM +cookhouse/S +cookie/SM +cooking/M +cookout/SM +cookware/SM +cool/MDRYZTGPS +coolabah/M +coolabahs +coolant/SM +cooler/M +coolibah/M +coolibahs +coolie/SM +coolness/M +coon/MS! +coonskin/MS +coop/MDRZGS +cooper/MDG +cooperage/M +cooperate/DSGNV +cooperation/M +cooperative/PMYS +cooperativeness/M +cooperator/SM +coordinate/DSMYGN +coordinated/U +coordination/M +coordinator/MS +coot/MS +cootie/SM +cop/GJSMD +copacetic +copay/M +cope/MS +copier/SM +copilot/SM +coping/M +copious/PY +copiousness/M +copped +copper/SM +copperhead/SM +copperplate/M +coppery +copping +copra/M +copse/SM +copter/SM +copula/SM +copulate/GNVDS +copulation/M +copulative/SM +copy's +copy/ADSG +copybook/SM +copycat/MS +copycatted +copycatting +copyist/MS +copyleft +copyright/GSMD +copywriter/MS +coquetry/SM +coquette/DSMG +coquettish/Y +cor +coracle/SM +coral/SM +corbel/SM +cord/EASGDM +cordage/M +cordial/SMY +cordiality/M +cordillera/MS +cordite/M +cordless +cordon/SMDG +cordovan/M +corduroy/MS +corduroys/M +core/MZGDRS +coreligionist/S +corer/M +corespondent/MS +corgi/SM +coriander/M +cork's +cork/UDGS +corkage +corker/SM +corkscrew/SMDG +corm/MS +cormorant/SM +corn/MDRZGS +cornball/MS +cornbread/M +corncob/MS +corncrake/S +cornea/SM +corneal +corner/GMD +cornerstone/SM +cornet/SM +cornfield/S +cornflakes/M +cornflour +cornflower/SM +cornice/MS +cornily +corniness/M +cornmeal/M +cornrow/MDGS +cornstalk/SM +cornstarch/M +cornucopia/MS +corny/PRT +corolla/MS +corollary/SM +corona/SM +coronal/MS +coronary/SM +coronation/SM +coronavirus/MS +coroner/MS +coronet/MS +corp +corpora +corporal/SM +corporate/XYN +corporation/IM +corporatism +corporeal/Y +corporeality/M +corps/MS +corpse/M +corpsman/M +corpsmen +corpulence/M +corpulent +corpus/M +corpuscle/MS +corpuscular +corr +corral/SM +corralled +corralling +correct/DRYTGVSBP +corrected/U +correction/SM +correctional +corrective/SM +correctness/IM +corrector +correlate/XDSMGNV +correlated/U +correlation/M +correlational +correlative/MS +correspond/SDG +correspondence/SM +correspondent/SM +corresponding/Y +corridor/SM +corrie/S +corroborate/GNVDSX +corroborated/U +corroboration/M +corroborator/SM +corroboratory +corroboree/DSM +corroboreeing +corrode/GDS +corrosion/M +corrosive/SMY +corrugate/GNXDS +corrugation/M +corrupt/DRYPSTG +corruptibility/IM +corruptible/I +corruption/MS +corruptness/M +corsage/MS +corsair/MS +corset/SGMD +cortege/MS +cortex/M +cortical +cortices +cortisol +cortisone/M +corundum/M +coruscate/GNDS +coruscation/M +corvette/SM +cos/M +cosh/DSG +cosign/ZGSDR +cosignatory/SM +cosigner/M +cosily +cosine/SM +cosiness/M +cosmetic/SM +cosmetically +cosmetician/MS +cosmetologist/MS +cosmetology/M +cosmic +cosmically +cosmogonist/SM +cosmogony/SM +cosmological +cosmologist/SM +cosmology/SM +cosmonaut/SM +cosmopolitan/MS +cosmopolitanism/M +cosmos/MS +cosplay +cosponsor/GSMD +cosset/SGD +cossetted +cossetting +cossie/SM +cost/MDYGSJ +costar/SM +costarred +costarring +costliness/M +costly/PTR +costume/MZGDRS +costumer/M +costumiers +costumire +cosy/RSMTP +cot/SM +cotangent/MS +cote/MS +coterie/MS +coterminous +cotillion/SM +cottage/MZGRS +cottager/M +cottar/SM +cotter/SM +cotton/SGMD +cottonmouth/M +cottonmouths +cottonseed/MS +cottontail/MS +cottonwood/SM +cottony +cotyledon/MS +couch/MDSG +couchette/S +cougar/SM +cough/MDG +coughs +could +could've +couldn't +coulee/SM +coulis +coulomb/MS +council/MS +councillor/SM +councilman/M +councilmen +councilperson/SM +councilwoman/M +councilwomen +counsel/JMS +counselled +counselling +counsellor/SM +count/EASMDG +countable/U +countably +countdown/MS +counted/U +countenance's +countenance/EGDS +counter/EMS +counteract/SGVD +counteraction/MS +counterargument/S +counterattack/GMDS +counterbalance/MGDS +counterblast/S +counterclaim/GSMD +counterclockwise +counterculture/SM +countered +counterespionage/M +counterexample/S +counterfactual +counterfeit/ZGMDRS +counterfeiter/M +counterfoil/MS +countering +counterinsurgency/SM +counterintelligence/M +counterman/M +countermand/GMDS +countermeasure/SM +countermelody/S +countermen +countermove/S +counteroffensive/SM +counteroffer/SM +counterpane/SM +counterpart/SM +counterpetition +counterpoint/MDGS +counterpoise/MGDS +counterproductive +counterrevolution/SM +counterrevolutionary/SM +countersign/GSMD +countersignature/MS +countersink/GSM +counterspy/SM +counterstroke/SM +countersunk +countertenor/MS +countervail/GSD +counterweight/MS +countess/MS +countless +countrified +country/SM +countryman/M +countrymen +countryside/MS +countrywide +countrywoman/M +countrywomen +county/SM +countywide +coup's +coup/AS +coupe/SM +couple's +couple/UCGSD +couplet/MS +coupling/SM +coupon/SM +courage/M +courageous/YP +courageousness/M +courgette/S +courier/MDSG +course/EDGMS +coursebook/S +courser/MS +coursework +court/SMDYG +courteous/EY +courteousness/M +courtesan/SM +courtesy/ESM +courthouse/MS +courtier/SM +courtliness/M +courtly/PRT +courtroom/MS +courtship/MS +courtyard/MS +couscous/M +cousin/SM +couture/M +couturier/MS +covalent +covariance +covariant +cove/MS +coven/SM +covenant/MDSG +cover's +cover/AEUGDS +coverage/M +coverall/MS +covering's +coverings +coverlet/MS +covert/SPMY +covertness/M +covet/SDG +covetous/YP +covetousness/M +covey/SM +cow/ZGSMDR +coward/SMY +cowardice/M +cowardliness/M +cowbell/MS +cowbird/MS +cowboy/SM +cowcatcher/MS +cower/DG +cowgirl/MS +cowhand/MS +cowherd/MS +cowhide/MS +cowl/MGSJ +cowlick/MS +cowling/M +cowman/M +cowmen +coworker/MS +cowpat/S +cowpoke/MS +cowpox/M +cowpuncher/SM +cowrie/SM +cowshed/S +cowslip/SM +cox/GDS +coxcomb/MS +coxswain/MS +coy/TPRY +coyness/M +coyote/SM +coypu/SM +cozen/SDG +cozenage/M +cozzie/SM +cpd +cpl +cps +crab/MS +crabbed +crabber/SM +crabbily +crabbiness/M +crabbing +crabby/PRT +crabgrass/M +crablike +crabwise +crack/SMDRYZGJ +crackdown/MS +cracker/M +crackerjack/MS +crackhead/MS +crackle/DSJMG +crackling/M +crackpot/MS +crackup/SM +cradle/DSMG +craft/SMDG +craftily +craftiness/M +craftsman/M +craftsmanship/M +craftsmen +craftspeople +craftswoman/M +craftswomen +crafty/RTP +crag/MS +cragginess/M +craggy/RPT +cram/S +crammed +crammer/S +cramming +cramp/SMDG +cramping/M +crampon/SM +cranberry/SM +crane/DSMG +cranial +cranium/SM +crank/SMDG +crankcase/SM +crankily +crankiness/M +crankshaft/MS +cranky/PRT +cranny/DSM +crap/MS +crape/SM +crapped +crapper/S +crappie/RSMT +crapping +crappy +craps/M +crapshooter/MS +crash/MDSG +crass/RYTP +crassness/M +crate/DRSMZG +crater/MDG +cravat/SM +crave/DSGJ +craven/SMYP +cravenness/M +craving/M +craw/MS +crawdad/SM +crawl/SMDRZG +crawler/M +crawlspace/SM +crawly/TRSM +cray/S +crayfish/MS +crayola/S +crayon/GSMD +craze/DSMG +crazily +craziness/M +crazy/PRSMT +creak/SMDG +creakily +creakiness/M +creaky/RPT +cream/SMDRZG +creamer/M +creamery/SM +creamily +creaminess/M +creamy/RPT +crease/ICGMSD +create/KADSGNV +creation's/K +creation/ASM +creationism/SM +creationist/SM +creative/SMYP +creativeness/M +creativity/M +creator/MS +creature/SM +creche/SM +cred +credence/M +credential/SGMD +credenza/SM +credibility/IM +credible/I +credibly/I +credit/EGSBMD +creditably/E +creditor/SM +creditworthy/P +credo/SM +credulity/IM +credulous/IY +credulousness/M +creed/SM +creek/SM +creel/SM +creep/SMRZG +creeper/M +creepily +creepiness/M +creepy/TPR +cremains/M +cremate/GNDSX +cremation/M +crematoria +crematorium/MS +crematory/SM +creme/SM +crenellate/DSGNX +crenellation/M +creole/SM +creosote/MGDS +crepe/SM +crept +crepuscular +crescendo/CSM +crescent/MS +cress/M +crest/SMDG +crestfallen +crestless +cretaceous +cretin/SM +cretinism/M +cretinous +cretonne/M +crevasse/SM +crevice/MS +crew/MDGS +crewel/M +crewelwork/M +crewman/M +crewmen +crib/MS +cribbage/M +cribbed +cribber/MS +cribbing +crick/SMDG +cricket/MRSZG +cricketer/M +crier/M +crikey +crime/SM +criminal/MYS +criminalise/CGDS +criminality/M +criminologist/MS +criminology/M +crimp/SMDG +crimson/SMDG +cringe/DSMG +crinkle/DSMG +crinkly/RT +crinoline/SM +cripes +cripple/DRSMZG +crippler/M +crippleware +crippling/Y +crises +crisis/M +crisp/SMDRYTGP +crispbread/S +crispiness/M +crispness/M +crispy/PRT +crisscross/GMDS +criteria +criterion/M +critic/SM +critical/UY +criticality +criticise/ZGDRS +criticiser/M +criticism/MS +critique/MGDS +critter/SM +croak/SMDG +croaky/RT +croc/MS +crochet/SMDRZG +crocheter/M +crocheting/M +crock/SMD +crockery/M +crocodile/SM +crocus/MS +croft/SRZG +croissant/MS +crone/SM +crony/SM +cronyism/M +crook/SMDG +crooked/PTRY +crookedness/M +crookneck/SM +croon/SMDRZG +crooner/M +crop/MS +cropland/SM +cropped +cropper/MS +cropping +croquet/M +croquette/SM +cross's +cross/AUGTSD +crossbar/SM +crossbeam/MS +crossbones/M +crossbow/SM +crossbowman/M +crossbowmen +crossbred +crossbreed/SGM +crosscheck/SMDG +crosscurrent/MS +crosscut/SM +crosscutting +crosser +crossfire/MS +crosshatch/GDS +crossing/SM +crossly +crossness/M +crossover/MS +crosspatch/MS +crosspiece/SM +crossroad/MS +crossroads/M +crosstown +crosswalk/MS +crosswind/MS +crosswise +crossword/MS +crotch/MS +crotchet/SM +crotchety +crouch/GMDS +croup/M +croupier/M +croupy/ZTR +crouton/MS +crow/MDGS +crowbar/MS +crowd/SMDG +crowded/U +crowdfund/SDG +crowfeet +crowfoot/SM +crown/SMDG +crowned/U +crozier/MS +crucial/Y +crucible/SM +crucifix/MS +crucifixion/SM +cruciform/SM +crucify/DSG +crud/M +cruddy/TR +crude/RMYTP +crudeness/M +crudites/M +crudity/SM +cruel/YP +crueller +cruellest +cruelness/M +cruelty/SM +cruet/SM +cruft/SD +crufty +cruise/DRSMZG +cruiser/M +cruller/MS +crumb/SMDYG +crumble/MGDS +crumbliness/M +crumbly/TPR +crumby/TR +crumminess/M +crummy/PTR +crumpet/MS +crumple/MGDS +crunch/GMDRS +crunchiness/M +crunchy/TRP +crupper/MS +crusade/MZGDRS +crusader/M +cruse/SM +crush/MDRSZG +crusher/M +crushing/Y +crust/SMDG +crustacean/SM +crustal +crustily +crustiness/M +crusty/TRP +crutch/MS +crux/MS +cry/ZGJDRSM +crybaby/SM +cryogenic/S +cryogenics/M +cryonics +cryosurgery/M +crypt/SM +cryptanalysis +cryptic +cryptically +cryptocurrency/SM +cryptogram/SM +cryptographer/SM +cryptography/M +crystal/SM +crystalline +crystallisation/M +crystallise/ADSG +crystallographic +crystallography +ct +ctn +ctr +cu +cub/ZGSMDR +cubbyhole/MS +cube/MS +cuber/M +cubic +cubical +cubicle/MS +cubism/M +cubist/SM +cubit/SM +cuboid/S +cuckold/MDSG +cuckoldry/M +cuckoo/SM +cucumber/SM +cud/SM +cuddle/DSMG +cuddly/TR +cudgel/SM +cudgelled +cudgelling/S +cue/DSMG +cuff/MDGS +cuisine/SM +culinary +cull/MDGS +culminate/XDSGN +culmination/M +culotte/SM +culpability/M +culpable/I +culpably +culprit/SM +cult/MS +cultism/M +cultist/MS +cultivable +cultivar/SM +cultivate/BDSGN +cultivated/U +cultivation/M +cultivator/MS +cultural/Y +culture/MGDS +cultured/U +culvert/MS +cum/SM +cumber/SDG +cumbersome/P +cumbersomeness/M +cumbrous +cumin/M +cummerbund/MS +cumming +cumulative/Y +cumuli +cumulonimbi +cumulonimbus/M +cumulus/M +cuneiform/M +cunnilingus/M +cunning/MRYT +cunt/MS! +cup/SM +cupboard/SM +cupcake/MS +cupful/SM +cupid/SM +cupidity/M +cupola/SMD +cuppa/S +cupped +cupping +cupric +cur/SMY +curability/M +curacao +curacy/SM +curare/M +curate/DSMGV +curative/MS +curator/KMS +curatorial +curb/MDGS +curbing/M +curbside +curbstone/SM +curd/MS +curdle/DSG +cure's +cure/KZGBDRS +cured/U +curer/KM +curettage/M +curfew/SM +curia/M +curiae +curie/SM +curio/SM +curiosity/SM +curious/YP +curiousness/M +curium/M +curl's +curl/UDGS +curler/SM +curlew/SM +curlicue/DSMG +curliness/M +curling/M +curly/RPT +curmudgeon/MYS +currant/MS +currency/SM +current's +current/FAY +currents +curricula +curricular +curriculum/M +curry/DSMG +currycomb/SGMD +curse/DSMGV +cursed/Y +cursive's +cursive/EAY +cursor/SM +cursorily +cursoriness/M +cursory/P +curt/RYTP +curtail/GDSL +curtailment/SM +curtain/GMDS +curtness/M +curtsy/GDSM +curvaceous/P +curvaceousness/M +curvature/SM +curve/DSMG +curvy/RT +cushion/MDSG +cushy/RT +cusp/MS +cuspid/SM +cuspidor/SM +cuss's +cuss/FEGSD +cussed/PY +custard/MS +custodial +custodian/MS +custodianship/M +custody/M +custom/SZMR +customarily +customary/U +customer/M +customhouse/SM +customisation/M +customise/DSG +cut/TSMR +cutaneous +cutaway/MS +cutback/MS +cute/YP +cuteness/M +cutesy/TR +cutey/S +cuticle/MS +cutie/SM +cutlass/MS +cutler/SM +cutlery/M +cutlet/SM +cutoff/SM +cutout/SM +cutter/SM +cutthroat/SM +cutting/MYS +cuttlefish/MS +cutup/SM +cutworm/MS +cw +cwt +cyan/M +cyanide/M +cyanobacteria +cyberbully/SM +cybercafe/S +cybernetic/S +cybernetics/M +cyberpunk/SM +cybersex +cyberspace/MS +cyborg/SM +cyclamen/MS +cycle/ADSMG +cyclic +cyclical/Y +cyclist/MS +cyclometer/MS +cyclone/MS +cyclonic +cyclopedia/MS +cyclopes +cyclops/M +cyclotron/MS +cygnet/MS +cylinder/MS +cylindrical +cymbal/MS +cymbalist/MS +cynic/SM +cynical/Y +cynicism/M +cynosure/MS +cypress/MS +cyst/MS +cystic +cystitis +cytokines +cytologist/SM +cytology/M +cytoplasm/M +cytoplasmic +cytosine/M +czarina/SM +czarism +czarist/SM +d'Arezzo/M +d'Estaing/M +d/NXGJ +dB +dab/SM +dabbed +dabber/MS +dabbing +dabble/ZGDRS +dabbler/M +dace/SM +dacha/MS +dachshund/MS +dactyl/MS +dactylic/MS +dad/SM +dadaism/M +dadaist/MS +daddy/SM +dado/M +dadoes +daemon/MS +daemonic +daffiness/M +daffodil/SM +daffy/PTR +daft/PTRY +daftness/M +dag/S +dagger/MS +dago/S +dagoes +daguerreotype/DSMG +dahlia/MS +dailiness/M +daily/PSM +daintily +daintiness/M +dainty/RSMTP +daiquiri/MS +dairy/GSM +dairying/M +dairymaid/MS +dairyman/M +dairymen +dairywoman/M +dairywomen +dais/MS +daisy/SM +dale/SM +dalliance/MS +dallier/M +dally/ZGDRS +dalmatian/MS +dam/SM +damage/MGDS +damageable +damaged/U +damages/M +damask/MDGS +dame/SM +dammed +damming +dammit +damn/SBGMD +damnably +damnation/M +damned/T +damp/SPXZTGMDNRY +dampen/ZGDR +dampener/M +damper/M +dampness/M +damsel/MS +damselfly/SM +damson/MS +dance/MZGDRS +dancer/M +dancing/M +dandelion/SM +dander/M +dandify/GDS +dandle/GDS +dandruff/M +dandy/TRSM +dang/SZGDR +danger/M +dangerous/Y +dangle/ZGDRS +dangler/M +danish/MS +dank/PTRY +dankness/M +danseuse/MS +dapper/TR +dapple/MGDS +dare/DRSMZG +daredevil/MS +daredevilry/M +darer/M +daresay +daring/MY +dark/PXTMNRY +darken/ZGDR +darkener/M +darkie/S +darkness/M +darkroom/MS +darling/MS +darn/SZGMDR +darned/TR +darner/M +dart/SZGMDR +dartboard/MS +darter/M +dash/ZGMDRS +dashboard/SM +dasher/M +dashiki/MS +dashing/Y +dastard/MYS +dastardliness/M +data +database/SM +dataset/MS +datatype +date/DRSMZGV +datebook/S +dated/U +dateless +dateline/MGDS +dater/M +dateset +dative/MS +datum/M +daub/SZGMDR +dauber/M +daughter/SMY +daunt/GDS +daunting/Y +dauntless/YP +dauntlessness/M +dauphin/MS +davenport/MS +davit/MS +dawdle/ZGDRS +dawdler/M +dawn/SGMD +day/SM +daybed/MS +daybreak/M +daycare/M +daydream/MDRZGS +daydreamer/M +daylight/MS +daylights/M +daylong +daytime/M +daze/DSMG +dazed/Y +dazzle/MZGDRS +dazzler/M +dazzling/Y +db +dbl +dc +dd/SDG +dded/K +dding/K +deacon/MS +deaconess/MS +dead/XTMNRY +deadbeat/MS +deadbolt/SM +deaden/GD +deadhead/SDG +deadline/SM +deadliness/M +deadlock/GSMD +deadly/TPR +deadpan/MS +deadpanned +deadpanning +deadset +deadwood/M +deaf/PXTNR +deafen/GD +deafening/Y +deafness/M +deal/SJZGMR +dealer/M +dealership/SM +dealing/M +dealt +dean/M +deanery/SM +deanship/M +dear/SPTMRYH +dearest/S +dearness/M +dearth/M +dearths +deary/SM +death/MY +deathbed/SM +deathblow/MS +deathless/Y +deathlike +deaths +deathtrap/MS +deathwatch/MS +deaves +deb/SM +debacle/MS +debarkation/M +debarment/M +debate/BMZR +debater/M +debating/M +debauch/MDSG +debauchee/MS +debauchery/SM +debenture/MS +debilitate/DSGN +debilitation/M +debility/SM +debit/D +debonair/PY +debonairness/M +debouch/GDS +debridement +debris/M +debt/SM +debtor/MS +debugger/S +debut/GMD +debutante/SM +decade/MS +decadence/M +decadency/M +decadent/MYS +decaf/MS +decaffeinate/DSG +decagon/MS +decal/MS +decampment/M +decapitate/XGNDS +decapitator/MS +decathlete/S +decathlon/SM +decay/GD +deceased/M +decedent/MS +deceit/MS +deceitful/YP +deceitfulness/M +deceive/UGDS +deceiver/MS +deceiving/Y +decelerate/GNDS +deceleration/M +decelerator/SM +decency/ISM +decennial/SM +decent/IY +deception/MS +deceptive/YP +deceptiveness/M +decibel/MS +decidable/U +decide/BZGDRS +decided/Y +deciduous +decilitre/MS +decimal/SM +decimalisation +decimate/DSGN +decimation/M +decimetre/MS +decipherable/UI +decision/IM +decisions +decisive/IPY +decisiveness/IM +deck/SGMD +deckchair/S +deckhand/SM +deckle/S +declamation/MS +declamatory +declaration/MS +declarative +declaratory +declare/DRSZGB +declared/U +declarer/M +declension/SM +declination/M +decline/DRSMZG +decliner/M +declivity/SM +decoherence +decolletage/SM +decollete +decongestant/MS +deconstructionism +decor/MS +decorate/AGNVDS +decorating/M +decoration/AM +decorations +decorative/Y +decorator/MS +decorous/IY +decorousness/M +decorum/M +decoupage/DSMG +decoy/GMDS +decreasing/Y +decree/MDS +decreeing +decrement/GDS +decrepit +decrepitude/M +decriminalisation/M +decry/GDS +decryption +dedicate/AGDS +dedication/SM +dedicator/SM +dedicatory +deduce/GDS +deducible +deduct/GVD +deductible/SM +deduction/SM +deductive/Y +deed/GD +deejay/MS +deem/ASGD +deep/SPXTMNRY +deepen/GD +deepfake/SM +deepness/M +deer/M +deerskin/M +deerstalker/S +def/Z +defacement/M +defacer/SM +defalcate/DSXGN +defalcation/M +defamation/M +defamatory +defame/ZGDRS +defamer/M +defaulter/SM +defeat/MDRZGS +defeated/U +defeater/M +defeatism/M +defeatist/MS +defecate/GNDS +defecation/M +defect/MDGVS +defection/MS +defective/MPYS +defectiveness/M +defector/MS +defenceless/YP +defencelessness/M +defendant/SM +defended/U +defenestration/S +defensible/I +defensibly/I +defensive/MYP +defensiveness/M +deference/M +deferential/Y +deferral/MS +deferred +deferring +deffer +deffest +defiant/Y +defibrillation +defibrillator/S +deficiency/SM +deficient +deficit/SM +defilement/M +definable/IU +define/AGDS +defined/U +definer/MS +definite/IYVP +definiteness/IM +definition/AM +definitions +definitive/Y +deflate/GNDS +deflation/M +deflationary +deflect/DGVS +deflection/MS +deflector/SM +defogger/SM +defoliant/SM +defoliate/DSGN +defoliation/M +defoliator/MS +deformity/SM +defraud/DRZGS +defrauder/M +defrayal/M +defrock/DG +defroster/MS +deft/PTRY +deftness/M +defunct +defy/GDS +deg +degeneracy/M +degenerate/MV +degrade/B +degree/MS +dehydrator/SM +dehydrogenase +deicer/MS +deification/M +deify/NGDS +deign/GDS +deist/MS +deistic +deity/SM +deject/GDS +dejected/Y +dejection/M +delay/ZDR +delectable +delectably +delectation/M +delegate/GD +delete/XGNDS +deleterious +deletion/M +delft/M +delftware/M +deli/SM +deliberate/XYVP +deliberateness/M +delicacy/ISM +delicate/IY +delicateness/M +delicatessen/SM +delicious/PY +deliciousness/M +delighted/Y +delightful/Y +deliminator +delineate/GNXDS +delineation/M +delinquency/SM +delinquent/SMY +deliquesce/DSG +deliquescent +delirious/YP +deliriousness/M +delirium/SM +deliver/ADGS +deliverable/S +deliverance/M +delivered/U +deliverer/SM +dell/SM +delphinium/MS +delta/MS +delude/GDS +deluge/MGDS +delusion/MS +delusional +delusive/Y +deluxe +delve/ZGDRS +delver/M +demagogic +demagogically +demagogue/SM +demagoguery/M +demagogy/M +demand/GMDS +demanding/U +demarcate/DSGNX +demarcation/M +demean/GDS +demeanour/M +demented/Y +dementia/M +demesne/MS +demigod/MS +demigoddess/MS +demijohn/SM +demimondaine/SM +demimonde/M +demise/MGDS +demitasse/MS +demo/GMD +democracy/SM +democrat/MS +democratic/U +democratically +democratisation/M +democratise/GDS +demode +demographer/SM +demographic/SM +demographically +demographics/M +demography/M +demolish/DSG +demolition/MS +demon/MS +demonetisation/M +demoniac +demoniacal/Y +demonic +demonically +demonise/GDS +demonology/SM +demonstrability +demonstrable/I +demonstrably +demonstrate/XGNVDS +demonstration/M +demonstrative/MYSP +demonstrativeness/M +demonstrator/MS +demote/GD +demotic +demount +demulcent/SM +demur/TMRS +demure/PY +demureness/M +demurral/SM +demurred +demurrer/SM +demurring +den/M +denationalisation +denaturation +denature/DG +dendrite/SM +dengue/M +deniability +deniable/U +denial/MS +denier/M +denigrate/DSGN +denigration/M +denim/MS +denitrification +denizen/MS +denominational +denotative +denouement/MS +denounce/LDSG +denouncement/SM +dense/PYTR +denseness/M +density/SM +dent/ISGMD +dental/Y +dentifrice/SM +dentine/M +dentist/MS +dentistry/M +dentition/M +denture/IMS +denuclearise/GDS +denudation/M +denude/GDS +denunciation/SM +deny/ZGDRS +deodorant/SM +deodorisation/M +deodorise/DRSZG +deodoriser/M +departed/M +department/MS +departmental/Y +departmentalisation/M +departmentalise/GDS +departure/SM +dependability/M +dependable/U +dependably +dependence/IM +dependency/SM +dependent/IY +depict/GDS +depiction/MS +depilatory/SM +deplete/GNDS +depletion/M +deplorably +deplore/BGDS +deploy/ALGDS +deployment/AM +deployments +deponent/MS +deportation/MS +deportee/MS +deportment/M +deposit/AGMDS +depositor/MS +depository/SM +deprave/GDS +depravity/SM +deprecate/GNDS +deprecating/Y +deprecation/M +deprecatory +depreciate/DSGN +depreciation/M +depredation/SM +depressant/SM +depressing/Y +depression/SM +depressive/SM +depressor/MS +depressurisation +deprive/GDS +deprogramming +depth/M +depths +deputation/MS +depute/DSG +deputise/DSG +deputy/SM +derailleur/SM +derailment/SM +derangement/M +derby/SM +derelict/MS +dereliction/M +deride/GDS +derision/M +derisive/PY +derisiveness/M +derisory +derivation/MS +derivative/MS +derive/B +dermal +dermatitis/M +dermatological +dermatologist/SM +dermatology/M +dermis/M +derogate/DSGN +derogation/M +derogatorily +derogatory +derrick/SM +derriere/SM +derringer/SM +derv +dervish/MS +desalinate/GNDS +desalination/M +desalinisation/M +desalinise/GDS +descant/M +descend/FGDS +descendant/MS +descendent +descender +describable/I +describe/BZGDR +describer/M +description/SM +descriptive/PY +descriptiveness/M +descriptor/S +descry/GDS +desecrate/DSGN +desecration/M +deselection +desert/SDRZGM +deserter/M +desertification +desertion/SM +deserved/UY +deserving/U +desiccant/SM +desiccate/DSGN +desiccation/M +desiccator/SM +desiderata +desideratum/M +design/ASDG +designate/DSGNX +designation/M +desirability/UM +desirableness/M +desirably/U +desire/B +desired/U +desirous +desist/SDG +desk/SM +deskill/G +desktop/SM +desolate/PDSYGN +desolateness/M +desolation/M +despair/SMDG +despairing/Y +desperado/M +desperadoes +desperate/YNP +desperateness/M +desperation/M +despicable +despicably +despise/DSG +despite +despoilment/M +despondence/M +despondency/M +despondent/Y +despotic +despotically +despotism/M +dessert/SM +dessertspoon/S +dessertspoonful/S +destabilisation +destabilization's +destination/SM +destine/DSG +destiny/SM +destitute/N +destitution/M +destroy/SZGDR +destroyer/M +destruct/GVMDS +destructibility/IM +destructible/I +destruction/M +destructive/PY +destructiveness/M +desuetude/M +desultorily +desultory +detach/BLGDS +detachment/MS +detain/LGDS +detainee/MS +detainment/M +detect/SDGVB +detectable/U +detected/U +detection/M +detective/SM +detector/SM +detente/SMNX +detention/M +deter/SL +detergent/SM +deteriorate/DSGN +deterioration/M +determent/M +determinable/I +determinant/SM +determinate +determine/AGDS +determined/U +determinedly +determiner/SM +determinism/M +deterministic +deterministically +deterred/U +deterrence/M +deterrent/MS +deterring +detestably +detestation/M +dethrone/DSLG +dethronement/M +detonate/GNDSX +detonation/M +detonator/SM +detox/MDSG +detoxification/M +detoxify/DSGN +detract/GD +detriment/SM +detrimental/Y +detritus/M +deuce/SM +deuterium/M +devastate/GNDS +devastating/Y +devastation/M +devastator/MS +develop/ASGDL +developed/U +developer/SM +development/ASM +developmental/Y +deviance/M +deviancy/M +deviant/SM +deviate/DSMGNX +deviating/U +deviation/M +devil/SML +devilish/YP +devilishness/M +devilled +devilling +devilment/M +devilry/SM +deviltry/SM +devious/YP +deviousness/M +devo +devoid +devolution/M +devolve/DSG +devoted/Y +devotee/SM +devotion/MS +devotional/SM +devour/SDG +devout/PRYT +devoutness/M +dew/M +dewberry/SM +dewclaw/SM +dewdrop/SM +dewiness/M +dewlap/SM +dewy/RTP +dexterity/M +dexterous/YP +dexterousness/M +dextrose/M +dharma +dhoti/SM +dhow/MS +diabetes/M +diabetic/SM +diabolic +diabolical/Y +diacritic/MS +diacritical +diadem/SM +diaereses +diaeresis/M +diagnose/DSG +diagnosis/M +diagnostic/S +diagnostically +diagnostician/SM +diagnostics/M +diagonal/SMY +diagram/SM +diagrammatic +diagrammatically +diagrammed +diagramming +dial/AMS +dialect/SM +dialectal +dialectic/SM +dialectical +dialectics/M +dialled/A +dialling/S +dialogue/SM +dialyses +dialysis/M +diam +diamagnetic +diamagnetism +diamante +diameter/SM +diametric +diametrical/Y +diamond/SM +diamondback/MS +diapason/SM +diaper/SMDG +diaphanous +diaphragm/SM +diaphragmatic +diarist/SM +diarrhoea/M +diary/SM +diaspora/SM +diastase/M +diastole/M +diastolic +diathermy/M +diatom/SM +diatomic +diatonic +diatribe/SM +diazepam +dibble/DSMG +dibs/M +dice/GDS +dices/I +dicey +dichotomous +dichotomy/SM +dicier +diciest +dick/MRXZS +dicker/DG +dickey/SM +dickhead/S +dickybird/S +dicotyledon/MS +dicotyledonous +dict +dicta +dictate/DSMGNX +dictation/M +dictator/SM +dictatorial/Y +dictatorship/SM +diction/M +dictionary/SM +dictum/M +did/AU +didactic +didactically +diddle/DRSZG +diddler/M +diddly +diddlysquat +diddums +didgeridoo/S +didn't +dido/M +didoes +didst +die/DSM +dielectric/MS +diereses +dieresis/M +diesel/SMDG +diet/MDRZGS +dietary/SM +dieter/M +dietetic/S +dietetics/M +dietitian/MS +diff/DRZGS +differ/DG +difference/IM +differences +different/IY +differentiable +differential/SM +differentiate/DSGN +differentiated/U +differentiation/M +difficult/Y +difficulty/SM +diffidence/M +diffident/Y +diffract/GSD +diffraction/M +diffuse/DSYGNVP +diffuseness/M +diffusion/M +diffusivity +dig/SM +digerati/M +digest/SMDGV +digested/U +digestibility/M +digestible/I +digestion/IM +digestions +digestive/S +digger/SM +digging/S +diggings/M +digicam/S +digit/SM +digital/Y +digitalis/M +digitisation +digitise/GDS +dignified/U +dignify/DSG +dignitary/SM +dignity/ISM +digraph/M +digraphs +digress/GVDS +digression/MS +dike/GDS +diktat/S +dilapidated +dilapidation/M +dilatation/M +dilate/DSGN +dilation/M +dilator/SM +dilatory +dildo/S +dilemma/MS +dilettante/SM +dilettantish +dilettantism/M +diligence/M +diligent/Y +dill/MS +dilly/SM +dillybag/SM +dillydally/DSG +diluent +dilute/DSGNX +diluted/U +dilution/M +dim/PSRY +dime/MS +dimension/SM +dimensional +dimensionless +diminish/GDS +diminished/U +diminuendo/SM +diminution/SM +diminutive/SM +dimity/M +dimmed/U +dimmer/SM +dimmest +dimming +dimness/M +dimple/DSMG +dimply +dimwit/SM +dimwitted +din/ZGSMDR +dinar/SM +dine/S +diner/M +dinette/MS +ding/MDG +dingbat/MS +dinghy/SM +dingily +dinginess/M +dingle/SM +dingo/M +dingoes +dingus/MS +dingy/RPT +dink/R +dinkum +dinky/RSMT +dinned +dinner/SMDG +dinnertime/M +dinnerware/M +dinning +dinosaur/SM +dint/M +diocesan/MS +diocese/MS +diode/SM +diorama/SM +dioxide/SM +dioxin/SM +dip/SM +diphtheria/M +diphthong/SM +diploid/SM +diploma/SM +diplomacy/M +diplomat/MS +diplomata +diplomatic/U +diplomatically +diplomatist/MS +diplopia +dipole/SM +dipped +dipper/SM +dipping +dippy/RT +dipso/S +dipsomania/M +dipsomaniac/MS +dipstick/SM +dipterous +diptych/M +diptychs +dire/YTR +direct/ASDGVT +directer +direction/IM +directional +directionless +directions +directive/SM +directly +directness/IM +director/MS +directorate/SM +directorial +directorship/SM +directory/SM +direful +dirge/SM +dirigible/MS +dirk/MS +dirndl/SM +dirt/M +dirtball/S +dirtily +dirtiness/M +dirty/DRSTGP +dis/M +disable/DSGL +disablement/M +disambiguate/N +disappointing/Y +disarming/Y +disassembly +disastrous/Y +disbandment/M +disbarment/M +disbelieving/Y +disbursal/M +disburse/DSGL +disbursement/MS +disc/M +discern/LSDG +discernible/I +discernibly +discerning/Y +discernment/M +discharged/U +disciple/SM +discipleship/M +disciplinarian/SM +disciplinary +discipline/DSMG +disciplined/U +disclose/DSG +disclosed/U +disco/MG +discography/SM +discoloration/S +discolouration/S +discombobulate/DSGN +discombobulation/M +discomfit/DG +discomfiture/M +discommode/DG +disconcerting/Y +disconnected/PY +disconnectedness/M +disconsolate/Y +discordance/M +discordant/Y +discotheque/SM +discourage/LGDS +discouragement/SM +discouraging/Y +discover/ASDG +discovered/U +discoverer/MS +discovery/ASM +discreet/PRYT +discreetness/M +discrepancy/SM +discrepant +discrete/PYN +discreteness/M +discretion/IM +discretionary +discriminant +discriminate/GNDS +discriminating/U +discrimination/M +discriminator/MS +discriminatory +discursiveness/M +discus/MS +discussant/SM +discussion/SM +disdain/SMDG +disdainful/Y +disembowel/SL +disembowelled +disembowelling +disembowelment/M +disfigurement/SM +disfranchisement/M +disgorgement/M +disgruntle/LGDS +disgruntlement/M +disguise/GD +disguised/U +disgusted/Y +disgusting/Y +dish/MDSG +dishabille/M +disharmonious +dishcloth/M +dishcloths +disheartening/Y +dishevel/LS +dishevelled +dishevelling +dishevelment/M +dishpan/SM +dishrag/SM +dishtowel/MS +dishware/M +dishwasher/MS +dishwater/M +dishy +disillusion/GLD +disillusionment/M +disinfectant/MS +disinfection/M +disinterested/PY +disinterestedness/M +disjointed/YP +disjointedness/M +disjunctive +disjuncture +disk/MS +diskette/MS +dislodge/GDS +dismal/Y +dismantlement/M +dismay/SMDG +dismayed/U +dismember/LGD +dismemberment/M +dismissive/Y +disorder/Y +disorganisation/M +disparage/DSGL +disparagement/M +disparaging/Y +disparate/Y +dispatcher/MS +dispel/S +dispelled +dispelling +dispensary/SM +dispensation/MS +dispense/BZGDRS +dispenser/M +dispersal/M +disperse/GNDS +dispersion/M +dispirit/GDS +displeasure/M +disposable/SM +disposal/SM +disposed/I +disposition/ISM +dispossession/M +disproof/SM +disproportional +disprove/B +disputable/I +disputably/I +disputant/MS +disputation/SM +disputatious/Y +dispute/DRSMZGB +disputed/U +disputer/M +disquiet/GSMD +disquisition/MS +disregardful +disrepair/M +disrepute/MB +disrupt/GVSD +disruption/SM +disruptive/Y +dissect/SDG +dissed +dissemblance/M +dissemble/ZGDRS +dissembler/M +disseminate/GNDS +dissemination/M +dissension/SM +dissent/SMDRZG +dissenter/M +dissertation/SM +disses +dissidence/M +dissident/MS +dissimilar +dissimilitude/S +dissing +dissipate/GNDS +dissipation/M +dissociate/GNVDS +dissociation/M +dissoluble/I +dissolute/YNP +dissoluteness/M +dissolve/AGDS +dissolved/U +dissonance/SM +dissonant +dissuade/GDS +dissuasive +dist +distaff/SM +distal/Y +distance/DSMG +distant/Y +distaste/SM +distemper/M +distention/SM +distil/S +distillate/SMNX +distillation/M +distillery/SM +distinct/IYTVP +distincter +distinction/SM +distinctive/YP +distinctiveness/M +distinctness/IM +distinguish/GDSB +distinguishable/I +distinguished/U +distort/GDR +distortion/MS +distract/DG +distracted/Y +distraction/S +distrait +distraught +distress/DG +distressful +distressing/Y +distribute/AGNVDS +distributed/U +distribution/AM +distributional +distributions +distributive/Y +distributor's +distributor/AS +distributorship/S +district's +district/AS +disturb/ZGSDR +disturbance/SM +disturbed/U +disturber/M +disturbing/Y +disunion/M +disyllabic +ditch/MDSG +dither/SMDRZG +ditherer/M +ditransitive +ditsy +ditto/SMDG +ditty/SM +ditz/MS +diuretic/MS +diurnal/Y +div +diva/MS +divalent +divan/SM +dive/MZTGDRS +diver/M +diverge/DSG +divergence/MS +divergent +diverse/XYNP +diverseness/M +diversification/M +diversify/GNDS +diversion/M +diversionary +diversity/SM +divert/SDG +diverticulitis/M +divest/SLDG +divestiture/MS +divestment/M +divide/DRSMZGB +divided/U +dividend/MS +divider/M +divination/M +divine/DRSMYZTG +diviner/M +diving/M +divinity/SM +divisibility/IM +divisible/I +division/MS +divisional +divisive/PY +divisiveness/M +divisor/SM +divorce/DSLMG +divorcee/MS +divorcement/MS +divot/SM +divulge/GDS +divvy/DSMG +dixieland/M +dizzily +dizziness/M +dizzy/DRSPTG +djellaba/MS +do/SJMRHZG +doable +dob/S +dobbed +dobber/SM +dobbin/SM +dobbing +doberman/MS +dobro +doc/SM +docent/SM +docile/Y +docility/M +dock/MDRZGS +docket/SMDG +dockland/S +dockside +dockworker/MS +dockyard/MS +doctor/SMDG +doctoral +doctorate/MS +doctrinaire/MS +doctrinal +doctrine/MS +docudrama/SM +document/GMDS +documentary/SM +documentation/SM +documented/U +dodder/SMDG +doddery +doddle +dodge/DRSMZG +dodgem/S +dodger/M +dodgy/RT +dodo/MS +doe/SM +doer/M +does/AU +doeskin/MS +doesn't +doff/DGS +dog/SM +dogcart/SM +dogcatcher/SM +doge/MS +dogeared +dogfight/SM +dogfish/MS +dogged/PY +doggedness/M +doggerel/M +dogging +doggone/TGRS +doggy/RSMT +doghouse/SM +dogie/SM +dogleg/SM +doglegged +doglegging +doglike +dogma/SM +dogmatic +dogmatically +dogmatism/M +dogmatist/SM +dognapper +dogsbody/S +dogsled/S +dogtrot/MS +dogtrotted +dogtrotting +dogwood/MS +doily/SM +doing/USM +doldrums/M +dole's +dole/FGDS +doleful/YP +dolefulness/M +doll/MDGS +dollar/SM +dollhouse/SM +dollop/SGMD +dolly/SM +dolmen/SM +dolomite/M +dolorous/Y +dolour/M +dolphin/MS +dolt/MS +doltish/YP +doltishness/M +domain/SM +dome/MGDS +domestic/SM +domestically +domesticate/DSGN +domesticated/U +domestication/M +domesticity/M +domicile/DSMG +domiciliary +dominance/M +dominant/SMY +dominate/DSGN +domination/M +dominatrices +dominatrix/M +domineer/SGD +domineering/Y +dominion/SM +domino/M +dominoes +don't +don/SM +dona/MS +donate/DSXGN +donation/M +done/FAU +dong/MDGS +dongle/SM +donkey/SM +donned +donning +donnish +donnybrook/MS +donor/SM +donuts +doodad/SM +doodah +doodahs +doodle/DRSMZG +doodlebug/SM +doodler/M +doohickey/SM +doolally +doom/MDGS +doomsayer/MS +doomsday/M +doomster/S +doona/SM +door's +door/IS +doorbell/MS +doorjamb/S +doorkeeper/MS +doorknob/MS +doorknocker/S +doorman/M +doormat/SM +doormen +doorplate/SM +doorpost/S +doorstep/MS +doorstepped +doorstepping +doorstop/MS +doorway/SM +dooryard/MS +dopa/M +dopamine +dope/MZGDRS +doper/M +dopey +dopier +dopiest +dopiness/M +doping/M +doppelganger/S +dork/MS +dorky/RT +dorm/MRZS +dormancy/M +dormant +dormer/M +dormice +dormitory/SM +dormouse/M +dorsal/Y +dory/SM +dosage/SM +dose/MGDS +dosh +dosimeter/SM +doss/DRSZG +dosshouse/S +dossier/MS +dost +dot/ZGSMDR +dotage/M +dotard/SM +dotcom/SM +dote/S +doter/M +doting/Y +dotted +dotting +dotty/RT +double's +double/ADSG +doubleheader/MS +doublespeak/M +doublet/MS +doubloon/SM +doubly +doubt/SMDRZG +doubter/M +doubtful/PY +doubtfulness/M +doubting/Y +doubtless/Y +douche/DSMG +dough/M +doughnut/SM +doughty/RT +doughy/TR +dour/RYTP +dourness/M +douse/DSG +dove/MS +dovecot/S +dovecote/SM +dovetail/MDSG +dovish +dowager/MS +dowdily +dowdiness/M +dowdy/RSPT +dowel/SM +dowelled +dowelling +dower/SMDG +down/MDRZGS +downbeat/SM +downcast +downdrafts +downdraught/M +downer/M +downfall/SMN +downfield +downgrade/DSMG +downhearted/PY +downheartedness/M +downhill/MS +download/MDBSG +downmarket +downplay/DSG +downpour/MS +downrange +downright +downriver +downscale +downshift/SGD +downside/MS +downsize/GDS +downsizing/M +downspout/MS +downstage +downstairs/M +downstate/M +downstream +downswing/MS +downtempo +downtime/M +downtown/M +downtrend/MS +downtrodden +downturn/MS +downward/S +downwind +downy/RT +dowry/SM +dowse/DRSZG +dowser/M +doxology/SM +doyen/SM +doyenne/MS +doz/XGDNS +doze/M +dozen/MH +dozily +dozy/RTP +dpi +dpt +drab/MYSP +drabber +drabbest +drabness/M +drachma/MS +draconian +draft's +draft/ASDG +draftee/SM +drafter/SM +drafting/M +drag/MS +dragged +dragging +draggy/TR +dragnet/SM +dragon/SM +dragonfly/SM +dragoon/SMDG +dragster/S +drain/SMDRZG +drainage/M +drainboard/SM +drainer/M +drainpipe/MS +drake/SM +dram/MS +drama/SM +dramatic/S +dramatically +dramatics/M +dramatisation/MS +dramatise/DSG +dramatist/SM +drank +drape/DRSMZG +draper/M +drapery/SM +drastic +drastically +drat +dratted +draught/SM +draughtboard/S +draughtily +draughtiness/M +draughtsman/M +draughtsmanship/M +draughtsmen +draughtswoman/M +draughtswomen +draughty/PRT +draw/MRZGSJ +drawback/MS +drawbridge/MS +drawer/M +drawing/M +drawl/SMDG +drawn/A +drawstring/MS +dray/MS +dread/SMDG +dreadful/PY +dreadfulness/M +dreadlocks/M +dreadnought/MS +dream/SMDRZG +dreamboat/MS +dreamed/U +dreamer/M +dreamily +dreaminess/M +dreamland/M +dreamless +dreamlike +dreamt +dreamworld/SM +dreamy/RPT +drear +drearily +dreariness/M +dreary/RPT +dredge/DRSMZG +dredger/M +dregs/M +drench/GDS +dress/AUGSDM +dressage/M +dresser/MS +dressiness/M +dressing/SM +dressmaker/SM +dressmaking/M +dressy/TPR +drew/A +dribble/MZGDRS +dribbler/M +driblet/MS +drier/M +drift/SMDRZG +drifter/M +driftnet/S +driftwood/M +drill/SMDRZG +driller/M +drillmaster/SM +drily +drink/SMRBJZG +drinkable/U +drinker/M +drip/MS +dripped +dripping/SM +drippy/TR +drive/RSMZGJ +drivel/SM +drivelled +driveller/SM +drivelling +driven +driver/M +driveshaft/SM +driveway/MS +drizzle/MGDS +drizzly +drogue/SM +droid/S +droll/RPT +drollery/SM +drollness/M +drolly +dromedary/SM +drone/DSMG +drongo/SM +drool/SMDG +droop/GSMD +droopiness/M +droopy/TPR +drop/MS +dropkick/MS +droplet/SM +dropout/SM +dropped +dropper/SM +dropping/S +droppings/M +dropsical +dropsy/M +dross/M +drought/SM +drove/RSMZ +drover/M +drown/GSJD +drowning/M +drowse/MGDS +drowsily +drowsiness/M +drowsy/RTP +drub/S +drubbed +drubber/SM +drubbing/MS +drudge/MGDS +drudgery/M +drug/MS +drugged +druggie/SM +drugging +druggist/SM +druggy +drugstore/MS +druid/SM +druidism/M +drum/MS +drumbeat/SM +drumlin/SM +drummed +drummer/SM +drumming +drumstick/SM +drunk/STMNR +drunkard/MS +drunken/PY +drunkenness/M +drupe/SM +druthers/M +dry/ZTGDRSM +dryad/SM +dryer/SM +dryness/M +drys +drywall/M +dual +dualism/M +duality/M +dub/SM +dubbed +dubber/SM +dubbin/M +dubbing +dubiety/M +dubious/YP +dubiousness/M +ducal +ducat/SM +duchess/MS +duchy/SM +duck/MDGS +duckbill/SM +duckboards +duckling/SM +duckpins/M +duckweed/M +ducky/TRSM +duct's/K +duct/CKIFS +ductile +ductility/M +ducting +ductless +dud/GSMD +dude/MS +dudgeon/M +due/SM +duel/MS +duelled +dueller/SM +duelling/S +duellist/SM +duenna/MS +duet/MS +duff/MDRZGS +duffer/M +dug +dugout/MS +duh +duke/MS +dukedom/SM +dulcet +dulcimer/MS +dull/DRPTGS +dullard/SM +dullness/M +dully +duly/U +dumb/RYPT +dumbbell/SM +dumbfound/SDG +dumbness/M +dumbo/S +dumbstruck +dumbwaiter/SM +dumdum/MS +dummy/SM +dump/MDRZGS +dumpiness/M +dumpling/SM +dumpsite/S +dumpster/SM +dumpy/PTR +dun/SM +dunce/SM +dunderhead/MS +dune/MS +dung/MDGS +dungaree/MS +dungeon/SM +dunghill/MS +dunk/MDGS +dunned +dunner +dunnest +dunning +dunno +dunny/SM +duo/SM +duodecimal +duodena +duodenal +duodenum/M +duopoly/S +dupe/MZGDRS +duper/M +duple +duplex/MS +duplicate's +duplicate/AGNDS +duplication/AM +duplicator/MS +duplicitous +duplicity/M +durability/M +durable +durably +durance/M +duration/M +duress/M +during +durst +durum/M +dusk/M +duskiness/M +dusky/RTP +dust/MDRZGS +dustbin/SM +dustcart/S +duster/M +dustiness/M +dustless +dustman +dustmen +dustpan/SM +dustsheet/S +dusty/RTP +dutch +duteous/Y +dutiable +dutiful/YP +dutifulness/M +duty/SM +duvet/SM +dwarf/SGMD +dwarfish +dwarfism/M +dweeb/SM +dwell/SJZGR +dweller/M +dwelling/M +dwelt/I +dwindle/DSG +dyadic +dybbuk/SM +dybbukim +dye/DRSMZG +dyeing/A +dyer/M +dyestuff/M +dying/M +dyke/MGDS +dynamic/MS +dynamical/Y +dynamics/M +dynamism/M +dynamite/MZGDRS +dynamiter/M +dynamo/SM +dynastic +dynasty/SM +dysentery/M +dysfunction/MS +dysfunctional +dyslectic/SM +dyslexia/M +dyslexic/SM +dyspepsia/M +dyspeptic/MS +dysphagia +dysphoria +dysphoric +dysprosium/M +dystonia +dystopi +dystopia +dystopian +dz +e'en +e'er +e/FDST +eBay/M +eMusic/M +ea +each +eager/PTRY +eagerness/M +eagle/MS +eaglet/MS +ear/SMDY +earache/SM +earbash/ZGDRS +earbasher/M +earbud/SM +eardrum/SM +earful/SM +earl/MS +earldom/SM +earliness/M +earlobe/SM +early/RTP +earmark/SMDG +earmuff/SM +earn/DRZTGJS +earned/U +earner/M +earnest/SMYP +earnestness/M +earnings/M +earphone/MS +earpiece/S +earplug/SM +earring/SM +earshot/M +earsplitting +earth's +earth/UDYG +earthbound +earthen +earthenware/M +earthiness/M +earthling/MS +earthly/RT +earthquake/SM +earths/U +earthshaking +earthward/S +earthwork/MS +earthworm/MS +earthy/RTP +earwax/M +earwig/SM +ease/EDSM +easel/SM +easement/SM +easily/U +easiness/UM +easing +east/M +eastbound +easterly/SM +eastern/ZR +easterner/M +easternmost +eastward/S +easy/URTP +easygoing +eat/ZGBSNR +eatable/SM +eaten/U +eater/M +eatery/SM +eave/MS +eavesdrop/S +eavesdropped +eavesdropper/SM +eavesdropping +ebb/SMDG +ebony/SM +ebullience/M +ebullient/Y +ebullition/M +eccentric/SM +eccentrically +eccentricity/SM +eccl +ecclesial +ecclesiastic/SM +ecclesiastical/Y +echelon/SM +echidna +echinoderm/SM +echo's +echo/ADG +echoes/A +echoic +echolocation/M +echos +eclair/SM +eclat/M +eclectic/SM +eclectically +eclecticism/M +eclipse/DSMG +ecliptic/M +eclogue/SM +ecocide/M +ecol +ecologic +ecological/Y +ecologist/MS +ecology/M +econ +econometric/S +economic/S +economical/UY +economics/M +economise/DRSZG +economiser/M +economist/SM +economy/SM +ecosystem/MS +ecotourism/M +ecotourist/MS +ecru/M +ecstasy/SM +ecstatic +ecstatically +ecu +ecumenical/Y +ecumenicism/M +ecumenism/M +eczema/M +ed/ACSM +edamame +eddy/DSMG +edelweiss/M +edge/MZGJDRS +edger/M +edgewise +edgily +edginess/M +edging/M +edgy/RTP +edibility/M +edible/SMP +edibleness/M +edict/SM +edification/M +edifice/SM +edifier/M +edify/DRSZGN +edifying/U +edit's +edit/ADGS +editable +edited/U +edition/MS +editor/SM +editorial/SMY +editorialise/DSG +editorship/M +educ +educability/M +educable/I +educate/ADSGNV +educated/U +education/AM +educational/Y +educationalist/S +educationist/S +educations +educator/MS +educe/DSGB +edutainment/M +eek +eel/SM +eerie/RT +eerily +eeriness/M +eff/GSD +efface/DSLG +effacement/M +effect/SMDGV +effective/IPY +effectiveness/IM +effectual/IY +effectuate/DSG +effeminacy/M +effeminate/Y +effendi/SM +efferent +effervesce/GDS +effervescence/M +effervescent/Y +effete/YP +effeteness/M +efficacious/Y +efficacy/IM +efficiency/ISM +efficient/IY +effigy/SM +efflorescence/M +efflorescent +effluence/M +effluent/MS +effluvia +effluvium/M +efflux +effort/SM +effortful +effortless/YP +effortlessness/M +effrontery/M +effulgence/M +effulgent +effuse/DSGNVX +effusion/M +effusive/YP +effusiveness/M +egad +egalitarian/SM +egalitarianism/M +egg/GSMD +eggbeater/MS +eggcup/SM +egghead/SM +eggnog/M +eggplant/MS +eggshell/SM +eglantine/SM +ego/SM +egocentric/MS +egocentrically +egocentricity/M +egoism/M +egoist/SM +egoistic +egoistical/Y +egomania/M +egomaniac/MS +egotism/M +egotist/SM +egotistic +egotistical/Y +egregious/PY +egregiousness/M +egress/MS +egret/SM +eh +eider/SM +eiderdown/MS +eigenvalue/S +eigenvector/S +eight/SM +eighteen/MHS +eighteenth/M +eighteenths +eighth/M +eighths +eightieth/M +eightieths +eighty/SMH +einsteinium/M +eisteddfod/S +either +ejaculate/GNXDS +ejaculation/M +ejaculatory +eject/SDG +ejection/MS +ejector/SM +eke/DSG +elaborate/YGNDSPX +elaborateness/M +elaboration/M +elan/M +eland/SM +elapse/DSG +elastic/MS +elastically +elasticated +elasticise/DSG +elasticity/M +elate/DSGN +elated/Y +elation/M +elbow/SMDG +elbowroom/M +elder/SMY +elderberry/SM +eldercare/M +eldest +eldritch +elect's +elect/ASDGV +electable +election/AMS +electioneer/DGS +elective/MS +elector/MS +electoral/Y +electorate/MS +electric/S +electrical/Y +electrician/MS +electricity/M +electrification/M +electrifier/M +electrify/ZGNDRS +electrocardiogram/MS +electrocardiograph/M +electrocardiographs +electrocardiography/M +electrocute/DSXGN +electrocution/M +electrode/SM +electrodynamics +electroencephalogram/MS +electroencephalograph/M +electroencephalographic +electroencephalographs +electroencephalography/M +electrologist/SM +electrolysis/M +electrolyte/MS +electrolytic +electromagnet/MS +electromagnetic +electromagnetically +electromagnetism/M +electromotive +electron/MS +electronic/S +electronica/M +electronically +electronics/M +electroplate/DSG +electroscope/SM +electroscopic +electroshock/M +electrostatic/S +electrostatics/M +electrotype/MS +electroweak +eleemosynary +elegance/IM +elegant/IY +elegiac/MS +elegiacal +elegy/SM +elem +element/MS +elemental/Y +elementary +elephant/SM +elephantiasis/M +elephantine +elev +elevate/XDSGN +elevation/M +elevator/MS +eleven/SMH +elevens/S +eleventh/M +elevenths +elf/M +elfin +elfish +elicit/SDG +elicitation/M +elide/DSG +eligibility/IM +eligible +eliminate/XDSGN +elimination/M +eliminator/S +elision/MS +elite/SM +elitism/M +elitist/MS +elixir/SM +elk/SM +ell/SM +ellipse/MS +ellipsis/M +ellipsoid/SM +ellipsoidal +elliptic +elliptical/Y +elm/SM +elocution/M +elocutionary +elocutionist/SM +elodea/SM +elongate/DSGNX +elongation/M +elope/DSGL +elopement/MS +eloquence/M +eloquent/Y +else +elsewhere +elucidate/DSGNX +elucidation/M +elude/DSG +elusive/YP +elusiveness/M +elver/SM +elves +elvish +em's +em/S +emaciate/GNDS +emaciation/M +email/SMDG +emanate/XDSGN +emanation/M +emancipate/DSGN +emancipation/M +emancipator/MS +emasculate/GNDS +emasculation/M +embalm/SZGDR +embalmer/M +embank/SLGD +embankment/SM +embargo/MDG +embargoes +embark/AEGDS +embarkation/EM +embarkations +embarrass/GLDS +embarrassed/U +embarrassing/Y +embarrassment/SM +embassy/SM +embattled +embed/S +embedded +embedding +embellish/LGDS +embellishment/SM +ember/SM +embezzle/ZGLDRS +embezzlement/M +embezzler/M +embitter/GLDS +embitterment/M +emblazon/GDLS +emblazonment/M +emblem/SM +emblematic +emblematically +embodiment/EM +embody/AEGSD +embolden/DGS +embolisation +embolism/MS +emboss/DRSZG +embosser/M +embouchure/M +embower/SGD +embrace/DSMG +embraceable +embrasure/MS +embrocation/MS +embroider/SDRZG +embroiderer/M +embroidery/SM +embroil/DGLS +embroilment/M +embryo/SM +embryological +embryologist/MS +embryology/M +embryonic +emcee/DSM +emceeing +emend/SDG +emendation/MS +emerald/MS +emerge/ADSG +emergence/AM +emergency/SM +emergent +emerita +emeritus +emery/M +emetic/SM +emf/S +emigrant/SM +emigrate/DSXGN +emigration/M +emigre/SM +eminence/MS +eminent/Y +emir/MS +emirate/MS +emissary/SM +emission/SM +emit/S +emitted +emitter/MS +emitting +emo/SM +emoji/SM +emollient/MS +emolument/MS +emote/XDSGNV +emoticon/SM +emotion/M +emotional/UY +emotionalise/GDS +emotionalism/M +emotionless +emotive/Y +empathetic +empathically +empathise/DSG +empathy/M +emperor/MS +emphases +emphasis/M +emphasise/AGDS +emphatic/U +emphatically +emphysema/M +empire/SM +empiric +empirical/Y +empiricism/M +empiricist/SM +emplacement/SM +employ's +employ/ADGLS +employable/U +employee/SM +employer/SM +employment/UAM +employments +emporium/SM +empower/SDGL +empowerment/M +empress/MS +emptily +emptiness/M +empty/TGPDRSM +empyrean/M +emu/SM +emulate/DSGNVX +emulation/M +emulator/SM +emulsification/M +emulsifier/M +emulsify/NDRSZG +emulsion/MS +en/SM +enable/DRSZG +enabler/M +enact/ASLDG +enactment/ASM +enamel/SM +enamelled +enameller/SM +enamelling/S +enamelware/M +enamour/DGS +enc +encamp/LSGD +encampment/MS +encapsulate/XGNDS +encapsulation/M +encase/LDSG +encasement/M +encephalitic +encephalitis/M +enchain/DGS +enchant/ELDGS +enchanter/MS +enchanting/Y +enchantment/EM +enchantments +enchantress/MS +enchilada/SM +encipher/SGD +encircle/DSGL +encirclement/M +encl +enclave/MS +enclose/GDS +enclosed/U +enclosure/SM +encode/DRSZG +encoder/M +encomium/MS +encompass/GDS +encore/DSMG +encounter/GSMD +encourage/DSLG +encouragement/SM +encouraging/Y +encroach/GLDS +encroachment/SM +encrust/DGS +encrustation/SM +encrypt/DGS +encryption +encumber/EGSD +encumbered/U +encumbrance/MS +ency +encyclical/SM +encyclopedia/MS +encyclopedic +encyst/LSGD +encystment/M +end/GVSJMD +endanger/SGDL +endangerment/M +endear/SGLD +endearing/Y +endearment/SM +endeavour/MDSG +endemic/MS +endemically +endgame/S +ending/M +endive/SM +endless/PY +endlessness/M +endmost +endocarditis +endocrine/MS +endocrinologist/MS +endocrinology/M +endogenous/Y +endometrial +endometriosis +endometrium +endorphin/MS +endorse/LZGDRS +endorsement/MS +endorser/M +endoscope/MS +endoscopic +endoscopy/M +endothelial +endothermic +endotracheal +endow/SDLG +endowment/MS +endpoint/SM +endue/DSG +endurable/U +endurance/M +endure/DSBG +endways +enema/SM +enemy/SM +energetic +energetically +energise/ZGDRS +energiser/M +energy/SM +enervate/GNDS +enervation/M +enfeeble/GDSL +enfeeblement/M +enfilade/DSMG +enfold/SGD +enforce/LZGDRS +enforceable/U +enforced/U +enforcement/M +enforcer/M +enfranchise/EGDSL +enfranchisement/EM +engage/EADSG +engagement/EMS +engagingly +engender/SGD +engine/SM +engineer/MDGS +engineering/M +engorge/LGDS +engorgement/M +engram/SM +engrave/ZGJDRS +engraver/M +engraving/M +engross/GLDS +engrossment/M +engulf/SLGD +engulfment/M +enhance/LZGDRS +enhancement/SM +enigma/SM +enigmatic +enigmatically +enjambment/SM +enjoin/SGD +enjoy/GBLSD +enjoyably +enjoyment/SM +enlarge/LZGDRS +enlargeable +enlargement/MS +enlarger/M +enlighten/SGLD +enlightened/U +enlightenment/M +enlist/ADGSL +enlistee/SM +enlistment/AM +enlistments +enliven/SLDG +enlivenment/M +enmesh/DSGL +enmeshment/M +enmity/SM +ennoble/DSGL +ennoblement/M +ennui/M +enormity/SM +enormous/PY +enormousness/M +enough/M +enplane/DSG +enqueue/DS +enquire/DRSZG +enquiring/Y +enquiry/SM +enrage/GDS +enrapture/DSG +enrich/DSLG +enrichment/M +enrol/SL +enrolled +enrolling +enrolment/SM +ensconce/DSG +ensemble/SM +enshrine/GLDS +enshrinement/M +enshroud/DGS +ensign/MS +ensilage/M +enslave/DSGL +enslavement/M +ensnare/DSLG +ensnarement/M +ensue/DSG +ensure/ZGDRS +ensurer/M +entail/DSGL +entailment/M +entangle/EDSLG +entanglement/EM +entanglements +entente/SM +enter/ASGD +enteral +enteric +enteritis/M +enterprise/MGS +enterprising/Y +entertain/ZGDRSL +entertainer/M +entertaining/MY +entertainment/MS +enthral/SL +enthralled +enthralling +enthralment/M +enthrone/GDSL +enthronement/SM +enthuse/DSG +enthusiasm/MS +enthusiast/MS +enthusiastic/U +enthusiastically +entice/GDSL +enticement/MS +enticing/Y +entire/Y +entirety/M +entitle/DSGL +entitlement/SM +entity/SM +entomb/DSGL +entombment/M +entomological +entomologist/MS +entomology/M +entourage/SM +entr'acte +entrails/M +entrained +entrance/LDSMG +entrancement/M +entrancing/Y +entrant/SM +entrap/LS +entrapment/M +entrapped +entrapping +entreat/GSD +entreating/Y +entreaty/SM +entree/MS +entrench/DSGL +entrenchment/MS +entrepreneur/SM +entrepreneurial +entrepreneurship +entropy/M +entrust/SGD +entry/ASM +entryphone/S +entryway/MS +entwine/DSG +enumerable +enumerate/DSGNX +enumeration/M +enumerator/SM +enunciate/DSGN +enunciation/M +enuresis/M +envelop/SLDRZG +envelope/SM +enveloper/M +envelopment/M +envenom/SDG +enviable/U +enviably +envious/PY +enviousness/M +environment/MS +environmental/Y +environmentalism/M +environmentalist/SM +environs/M +envisage/GDS +envision/DGS +envoy/SM +envy/DSMG +envying/Y +enzed +enzedder/SM +enzymatic +enzyme/SM +eolian +eosinophil/S +eosinophilic +epaulette/MS +epee/MS +ephedrine/M +ephemera/M +ephemeral/Y +epic/MS +epicentre/MS +epicure/SM +epicurean/MS +epidemic/SM +epidemically +epidemiological +epidemiologist/SM +epidemiology/M +epidermal +epidermic +epidermis/MS +epidural/S +epiglottis/MS +epigram/SM +epigrammatic +epigraph/M +epigraphs +epigraphy/M +epilepsy/M +epileptic/SM +epilogue/MS +epinephrine/M +epiphany/SM +episcopacy/M +episcopal +episcopate/M +episode/SM +episodic +episodically +epistemic +epistemological +epistemology +epistle/SM +epistolary +epitaph/M +epitaphs +epithelial +epithelium/M +epithet/SM +epitome/SM +epitomise/GDS +epoch/M +epochal +epochs +eponymous +epoxy/DSMG +epsilon/SM +equability/M +equable +equably +equal/SMY +equalisation/M +equalise/ZGDRS +equaliser/M +equality/IM +equalled/U +equalling +equanimity/M +equate/DSGNBX +equation/M +equator/SM +equatorial +equerry/SM +equestrian/SM +equestrianism/M +equestrienne/SM +equidistant/Y +equilateral/SM +equilibrium/EM +equine/SM +equinoctial +equinox/MS +equip/AS +equipage/MS +equipment/M +equipoise/M +equipped/UA +equipping/A +equitable/I +equitably/I +equitation/M +equity/ISM +equiv +equivalence/MS +equivalency/SM +equivalent/MYS +equivocal/UY +equivocalness/M +equivocate/GNXDS +equivocation/M +equivocator/SM +er/C +era/SM +eradicable/I +eradicate/DSGN +eradication/M +eradicator/MS +erase/DRSBZG +eraser/M +erasure/SM +erbium/M +ere +erect/PSGDY +erectile +erection/SM +erectness/M +erector/MS +erelong +eremite/MS +erg/SM +ergo +ergonomic/S +ergonomically +ergonomics/M +ergosterol/M +ergot/M +ermine/SM +erode/DSG +erodible +erogenous +erosion/M +erosive +erotic/S +erotica/M +erotically +eroticism/M +err/GSD +errand/SM +errant/I +errata/SM +erratic +erratically +erratum/M +erroneous/Y +error/SM +ersatz/MS +erst +erstwhile +eruct/SDG +eructation/SM +erudite/YN +erudition/M +erupt/SDGV +eruption/MS +erysipelas/M +erythrocyte/SM +erythromycin +escalate/CDSGN +escalation/CM +escalations +escalator/MS +escallop/SGMD +escalope/S +escapade/MS +escape/LMGDS +escapee/MS +escapement/SM +escapism/M +escapist/MS +escapologist/S +escapology +escargot/MS +escarole/MS +escarpment/MS +eschatological +eschatology +eschew/SDG +escort/SMDG +escritoire/MS +escrow/SM +escudo/SM +escutcheon/SM +esky/SM +esophageal +esophagus's +esoteric +esoterically +esp +espadrille/MS +espalier/MDSG +especial/Y +espionage/M +esplanade/MS +espousal/M +espouse/GDS +espresso/MS +esprit/M +espy/DSG +esquire/SM +essay/SMDRZG +essayer/M +essayist/SM +essence/SM +essential/IMS +essentially +establish/AESDGL +establishment/AEM +establishments +estate/SM +esteem/ESMDG +ester/SM +estimable/I +estimate/MGNDSX +estimation/M +estimator/SM +estoppel +estrange/LDSG +estrangement/MS +estuary/SM +eta/SM +etc +etch/DRSZGJ +etcher/M +etching/M +eternal/YP +eternalness/M +eternity/SM +ethane/M +ethanol/M +ether/M +ethereal/Y +ethic/SM +ethical/UY +ethics/M +ethmoid +ethnic/SM +ethnically +ethnicity/M +ethnocentric +ethnocentrism/M +ethnographer/S +ethnographic +ethnographically +ethnography +ethnological/Y +ethnologist/SM +ethnology/M +ethological +ethologist/MS +ethology/M +ethos/M +ethyl/M +ethylene/M +etiolated +etiologic +etiological +etiologies +etiquette/M +etude/SM +etymological/Y +etymologist/SM +etymology/SM +eucalypti +eucalyptus/MS +euchre/DSMG +euclidean +eugenic/S +eugenically +eugenicist/MS +eugenics/M +eukaryote/SM +eukaryotic +eulogise/ZGDRS +eulogiser/M +eulogist/MS +eulogistic +eulogy/SM +eunuch/M +eunuchs +euphemism/SM +euphemistic +euphemistically +euphonious/Y +euphony/M +euphoria/M +euphoric +euphorically +eureka +euro/MS +europium/M +eutectic +euthanasia/M +euthanize/DSG +euthenics/M +eutrophication +evacuate/XDSGN +evacuation/M +evacuee/MS +evade/DRSZG +evader/M +evaluate/AGNVDSX +evaluation/AM +evaluator/S +evanescence/M +evanescent +evangelic +evangelical/SMY +evangelicalism/M +evangelise/GDS +evangelism/M +evangelist/MS +evangelistic +evaporate/GNDS +evaporation/M +evaporator/SM +evasion/SM +evasive/YP +evasiveness/M +eve/ASM +even/MDRYTGSJP +evenhanded/Y +evening/M +evenness/UM +evensong/M +event/SM +eventful/UY +eventfulness/M +eventide/M +eventual/Y +eventuality/SM +eventuate/GDS +ever +everglade/SM +evergreen/SM +everlasting/MYS +evermore +every +everybody/M +everyday +everyone/M +everyplace +everything/M +everywhere +evict/SDG +eviction/MS +evidence/MGDS +evident/Y +evil/MRYTSP +evildoer/SM +evildoing/M +eviller +evillest +evilness/M +evince/DSG +eviscerate/DSGN +evisceration/M +evocation/MS +evocative/Y +evoke/DSG +evolution/M +evolutionary +evolutionist/SM +evolve/DSG +ewe/RSMZ +ewer/M +ex/MS +exabyte/MS +exacerbate/GNDS +exacerbation/M +exact/SPDRYTG +exacting/Y +exaction/M +exactitude/M +exactness/IM +exaggerate/XDSGN +exaggerated/Y +exaggeration/M +exaggerator/MS +exajoule/S +exalt/SDG +exaltation/M +exam/MS +examination/AMS +examine/AGDS +examiner/MS +example/MGDS +exampled/U +exasperate/DSGN +exasperated/Y +exasperating/Y +exasperation/M +excavate/GNDSX +excavation/M +excavator/SM +exceed/GSD +exceeding/Y +excel/S +excelled +excellence/M +excellency/SM +excellent/Y +excelling +excelsior/M +except/GSD +exception/BSM +exceptionable/U +exceptional/UY +exceptionalism +excerpt/MDGS +excess/VMS +excessive/Y +exchange/DSMG +exchangeable +exchequer/SM +excise/XDSMGN +excision/M +excitability/M +excitably +excitation/M +excite/BDRSLZG +excited/Y +excitement/SM +exciter/M +exciting/Y +exciton +excl +exclaim/DGS +exclamation/SM +exclamatory +exclude/GDS +exclusion/MS +exclusionary +exclusive/PMYS +exclusiveness/M +exclusivity/M +excommunicate/GNDSX +excommunication/M +excoriate/DSGNX +excoriation/M +excrement/M +excremental +excrescence/MS +excrescent +excreta/M +excrete/XGNDS +excretion/M +excretory +excruciating/Y +exculpate/DSGN +exculpation/M +exculpatory +excursion/MS +excursionist/MS +excursive/YP +excursiveness/M +excusable/I +excusably/I +excuse/DSBMG +excused/U +exec/MS +execrable +execrably +execrate/DSGN +execration/M +execute/BXGNVDS +execution/ZMR +executioner/M +executive/SM +executor/MS +executrices +executrix/M +exegeses +exegesis/M +exegetic +exegetical +exemplar/SM +exemplary +exemplification/M +exemplify/GDSXN +exempt/SGD +exemption/SM +exercise/DRSMZG +exerciser/M +exert/SDG +exertion/MS +exeunt +exfoliate/GNDS +exhalation/MS +exhale/DSG +exhaust/GVMDS +exhaustible/I +exhaustion/M +exhaustive/YP +exhaustiveness/M +exhibit/GMDS +exhibition/MS +exhibitionism/M +exhibitionist/MS +exhibitor/SM +exhilarate/DSGN +exhilaration/M +exhort/SDG +exhortation/MS +exhumation/MS +exhume/DSG +exigence/MS +exigency/SM +exigent +exiguity/M +exiguous +exile/DSMG +exilic +exist/SDG +existence/MS +existent +existential/Y +existentialism/M +existentialist/MS +exit/MDGS +exobiology/M +exodus/MS +exogenous +exon/MS +exonerate/GNDS +exoneration/M +exoplanet/MS +exorbitance/M +exorbitant/Y +exorcise/DSG +exorcism/SM +exorcist/SM +exoskeleton/SM +exosphere/SM +exothermic +exotic/SM +exotica +exotically +exoticism/M +exp +expand/BGSD +expanse/XMNVS +expansible +expansion/M +expansionary +expansionism/M +expansionist/MS +expansive/YP +expansiveness/M +expat/S +expatiate/GNDS +expatiation/M +expatriate/DSMGN +expatriation/M +expect/GSD +expectancy/M +expectant/Y +expectation/SM +expectorant/SM +expectorate/DSGN +expectoration/M +expedience/IM +expediences +expediencies +expediency/IM +expedient/SMY +expedite/DRSZGNX +expediter/M +expedition/M +expeditionary +expeditious/PY +expeditiousness/M +expel/S +expelled +expelling +expend/GSBD +expendable/SM +expenditure/SM +expense/MS +expensive/IYP +expensiveness/IM +experience/IMD +experiences +experiencing +experiential +experiment/MDRSZG +experimental/Y +experimentation/M +experimenter/M +expert/SPMY +expertise/M +expertness/M +expiate/GNDS +expiation/M +expiatory +expiration/M +expire/DSG +expired/U +expiry/M +explain/ADGS +explainable +explained/U +explanation/MS +explanatory +expletive/MS +explicable/I +explicate/XGNDS +explication/M +explicit/PY +explicitness/M +explode/GDS +exploit/ZGBMDRS +exploitation/M +exploitative +exploited/U +exploiter/M +exploration/MS +exploratory +explore/ZGDRS +explored/U +explorer/M +explosion/SM +explosive/SPMY +explosiveness/M +expo/MS +exponent/MS +exponential/Y +exponentiation +export/BSZGMDR +exportation/M +exporter/M +expose/DSMG +exposed/U +exposition/SM +expositor/SM +expository +expostulate/GNXDS +expostulation/M +exposure/MS +expound/ZGDRS +expounder/M +express/GVMDSY +expressed/U +expressible/I +expression/SM +expressionism/M +expressionist/SM +expressionistic +expressionless/Y +expressive/PY +expressiveness/M +expressway/SM +expropriate/GNXDS +expropriation/M +expropriator/SM +expulsion/MS +expunge/GDS +expurgate/DSGNX +expurgated/U +expurgation/M +exquisite/YP +exquisiteness/M +ext +extant +extemporaneous/PY +extemporaneousness/M +extempore +extemporisation/M +extemporise/GDS +extend/SZGDRB +extender/M +extensibility +extensible +extension/SM +extensional +extensive/YP +extensiveness/M +extent/SM +extenuate/DSGN +extenuation/M +exterior/MS +exterminate/DSXGN +extermination/M +exterminator/MS +external/MYS +externalisation/MS +externalise/DSG +extinct/GDS +extinction/MS +extinguish/ZGBDRS +extinguishable/I +extinguisher/M +extirpate/GNDS +extirpation/M +extol/S +extolled +extolling +extort/SGD +extortion/MRZ +extortionate/Y +extortioner/M +extortionist/MS +extra/SM +extracellular +extract/MDGVS +extraction/SM +extractor/MS +extracurricular +extradite/GNBXDS +extradition/M +extrajudicial +extralegal +extramarital +extramural +extraneous/Y +extraordinaire +extraordinarily +extraordinary +extrapolate/XGNDS +extrapolation/M +extrasensory +extraterrestrial/MS +extraterritorial +extraterritoriality/M +extravagance/MS +extravagant/Y +extravaganza/MS +extravehicular +extreme/PMYTRS +extremeness/M +extremism/M +extremist/MS +extremity/SM +extricable/I +extricate/GNDS +extrication/M +extrinsic +extrinsically +extroversion/M +extrovert/SMD +extrude/GDS +extrusion/SM +extrusive +exuberance/M +exuberant/Y +exudation/M +exude/DSG +exult/SDG +exultant/Y +exultation/M +exurb/SM +exurban +exurbanite/SM +exurbia/M +eye/DSM +eyeball/GMDS +eyebrow/SM +eyedropper/SM +eyeful/SM +eyeglass/MS +eyeing +eyelash/MS +eyeless +eyelet/SM +eyelid/SM +eyeliner/MS +eyeopener/MS +eyeopening +eyepiece/MS +eyesight/M +eyesore/MS +eyestrain/M +eyeteeth +eyetooth/M +eyewash/M +eyewitness/MS +f/CIAVTR +fMRI +fa/M +fab +fable/DSM +fabric/SM +fabricate/DSGNX +fabrication/M +fabricator/SM +fabulous/Y +facade/SM +face's +face/ACSDG +facecloth/M +facecloths +faceless +facepalm/SDG +facet/SMDG +facetious/YP +facetiousness/M +facial/SMY +facile/Y +facilitate/GNDS +facilitation/M +facilitator/MS +facility/SM +facing/SM +facsimile/DSM +facsimileing +fact/MS +faction/SM +factional +factionalism/M +factious +factitious +factoid/SM +factor's +factor/ASDG +factorial/MS +factorisation +factorise/GDS +factory/SM +factotum/SM +factual/Y +faculty/SM +fad/GSMD +faddish/P +faddist/MS +faddy/P +fade/MS +fading/U +faecal +faeces/M +faerie/SM +faff/DGS +fag/SM +fagged +fagging +faggot/SMG +faience/M +fail/DGJS +failing/M +faille/M +failure/SM +fain/RT +faint/SMDRYTGP +fainthearted +faintness/M +fair/MRYTGJPS +fairground/MS +fairing/M +fairness/UM +fairway/SM +fairy/SM +fairyland/SM +faith/M +faithful's +faithful/UPY +faithfulness/UM +faithfuls +faithless/PY +faithlessness/M +faiths +fajita/SM +fajitas/M +fake/MZGDRS +faker/M +fakir/SM +falcon/SMRZ +falconer/M +falconry/M +fall/MNGS +fallacious/Y +fallacy/SM +fallback +fallibility/IM +fallible/P +fallibleness/M +fallibly/I +falloff/SM +fallout/M +fallow/SMDG +false/PRYT +falsehood/SM +falseness/M +falsetto/SM +falsie/SM +falsifiable +falsification/M +falsifier/M +falsify/DRSZGNX +falsity/SM +falter/GSJMD +faltering/Y +fame's +fame/D +familial +familiar/MYS +familiarisation/M +familiarise/GDS +familiarity/UM +family/SM +famine/SM +famish/DSG +famous/IY +fan/SM +fanatic/SM +fanatical/Y +fanaticism/M +fanboy/SM +fanciable +fancier/M +fanciful/YP +fancifulness/M +fancily +fanciness/M +fancy/DRSMZTGP +fancywork/M +fandango/MS +fandom +fanfare/SM +fang/MDS +fanlight/SM +fanned +fanning +fanny/SM +fantail/MS +fantasia/SM +fantasise/GDS +fantasist/S +fantastic +fantastical/Y +fantasy/DSMG +fanzine/MS +far +farad/SM +faradize/DG +faraway +farce/SM +farcical/Y +fare/MGDS +farewell/SM +farina/M +farinaceous +farm/MDRZGSJ +farmer/M +farmhand/SM +farmhouse/SM +farming/M +farmland/MS +farmstead/MS +farmyard/MS +faro/M +farrago/M +farragoes +farrier/MS +farrow/SMDG +farseeing +farsighted/P +farsightedness/M +fart/MDGS +farther +farthermost +farthest +farthing/SM +fascia/SM +fascicle/SM +fascinate/GNDSX +fascinating/Y +fascination/M +fascism/M +fascist/MS +fascistic +fashion/ZGBMDRS +fashionable/U +fashionably/U +fashioner/M +fashionista/MS +fast/MDRTGSP +fastback/SM +fastball/SM +fasten/UAGDS +fastener/SM +fastening/MS +fastidious/PY +fastidiousness/M +fastness/MS +fat/GSPMD +fatal/Y +fatalism/M +fatalist/SM +fatalistic +fatalistically +fatality/SM +fatback/M +fate/MS +fateful/YP +fatefulness/M +fathead/MDS +father/SGMDY +fatherhood/M +fatherland/MS +fatherless +fathom/SMDGB +fathomable/U +fathomless +fatigue/MDSG +fatigues/M +fatness/M +fatso/S +fatten/SDG +fatter +fattest +fattiness/M +fatty/RSMTP +fatuity/M +fatuous/YP +fatuousness/M +fatwa/SM +faucet/SM +fault/CSMDG +faultfinder/SM +faultfinding/M +faultily +faultiness/M +faultless/PY +faultlessness/M +faulty/PRT +faun/MS +fauna/SM +fauvism/M +fauvist/SM +faux +fave/S +favour/ESMDG +favourable/U +favourably/U +favourite/MS +favouritism/M +fawn/MDRZGS +fawner/M +fax/GMDS +fay/TSM +fayre +faze/GDS +fazed/U +fealty/M +fear/MDGS +fearful/YP +fearfulness/M +fearless/PY +fearlessness/M +fearsome +feasibility/M +feasible/IU +feasibly +feast/SMDRZG +feaster/M +feat/MS +feather/SGMD +featherbedding/M +featherbrained +featherless +featherweight/MS +feathery/TR +feature/DSMG +featureless +febrile +feckless/PY +fecund +fecundate/GNDS +fecundation/M +fecundity/M +fed/SM +federal/SMY +federalisation/M +federalise/GDS +federalism/M +federalist/MS +federate/FXDSGN +federation/FM +fedora/SM +fee/SM +feeble/RTP +feebleness/M +feebly +feed/MRZGSJ +feedback/M +feedbag/SM +feeder/M +feeding/M +feedlot/SM +feel/MRZGSJ +feeler/M +feelgood +feeling/MY +feet +feign/SDG +feigned/U +feint/SMDG +feisty/TR +feldspar/M +felicitate/GNXDS +felicitation/M +felicitous/Y +felicity/ISM +feline/SM +fell/MDRZTGS +fella/S +fellatio/M +fellow/SM +fellowman/M +fellowmen +fellowship/MS +felon/SM +felonious +felony/SM +felt/MDGS +fem +female/PSM +femaleness/M +feminine/SMY +femininity/M +feminise/DSG +feminism/M +feminist/SM +femoral +femur/SM +fen/SM +fence/CDSMG +fencer/SM +fencing/M +fend/CDRZGS +fender/CM +fenestration/M +fennel/M +fentanyl/M +feral +ferment/FCMS +fermentation/M +fermented +fermenting +fermium/M +fern/MS +ferny/RT +ferocious/PY +ferociousness/M +ferocity/M +ferret/GSMD +ferric +ferromagnetic +ferromagnetism +ferrous +ferrule/MS +ferry/DSMG +ferryboat/SM +ferryman/M +ferrymen +fertile/I +fertilisation/M +fertilise/DRSZG +fertilised/U +fertiliser/M +fertility/IM +ferule/SM +fervency/M +fervent/Y +fervid/Y +fervour/M +fess/FKGSD +fest/MRZVS +festal +fester/GMD +festival/SM +festive/YP +festiveness/M +festivity/SM +festoon/GMDS +feta/M +fetal +fetch/DRSZG +fetcher/M +fetching/Y +fete/MGDS +fetid/P +fetidness/M +fetish/MS +fetishism/M +fetishist/SM +fetishistic +fetlock/MS +fetter's +fetter/USGD +fettle/M +fettuccine/M +fetus/MS +feud/MDGS +feudal +feudalism/M +feudalistic +fever/SMD +feverish/YP +feverishness/M +few/TPMR +fewness/M +fey +fez/M +fezzes +ff +fiance/CM +fiancee/MS +fiances +fiasco/M +fiascoes +fiat/MS +fib/SM +fibbed +fibber/SM +fibbing +fibre/SM +fibreboard/M +fibrefill/M +fibreglass/M +fibril/SM +fibrillate/GNDS +fibrillation/M +fibrin/M +fibroid +fibrosis/M +fibrous +fibula/M +fibulae +fibular +fiche/SM +fichu/SM +fickle/RPT +fickleness/M +fiction/MS +fictional/Y +fictionalisation/SM +fictionalise/DSG +fictitious/Y +fictive +ficus/M +fiddle/DRSMZG +fiddler/M +fiddlesticks +fiddly/TR +fidelity/IM +fidget/SGMD +fidgety +fiduciary/SM +fie +fief/MS +fiefdom/MS +field/ISMRZ +fielded +fielder/IM +fielding +fieldsman +fieldsmen +fieldwork/MRZ +fieldworker/M +fiend/SM +fiendish/Y +fierce/PRYT +fierceness/M +fieriness/M +fiery/RPT +fiesta/SM +fife/MZRS +fifer/M +fifteen/MHS +fifteenth/M +fifteenths +fifth/MY +fifths +fiftieth/M +fiftieths +fifty/SMH +fig/SLM +fight/SMRZG +fightback +fighter/IMS +fighting/IM +figment/MS +figuration/FM +figurative/Y +figure's +figure/FEGSD +figurehead/SM +figurine/MS +filament/MS +filamentous +filbert/MS +filch/DSG +file's/KC +file/CAKGDS +filename/S +filer/CSM +filet +filial +filibuster/MDRSZG +filibusterer/M +filigree/DSM +filigreeing +filing's +filings +fill's +fill/AIDGS +filled/U +filler/MS +fillet/MDGS +filling/SM +fillip/MDGS +filly/SM +film/MDGS +filminess/M +filmmaker/SM +filmstrip/MS +filmy/TPR +filo +filter/MDRBSZG +filtered/U +filterer/M +filth/M +filthily +filthiness/M +filthy/RPT +filtrate's +filtrate/IGNDS +filtration/IM +fin/SMR +finagle/DRSZG +finagler/M +final/SMY +finale/MS +finalisation/M +finalise/DSG +finalist/SM +finality/M +finance's +finance/ADSG +financial/Y +financier/MS +financing/M +finch/MS +find/JMRZGS +finder/M +finding/M +findings/M +fine's/F +fine/CAFTGDS +finely +fineness/M +finery/AM +finespun +finesse/DSMG +finger/MDGSJ +fingerboard/SM +fingering/M +fingerling/SM +fingermark/S +fingernail/SM +fingerprint/SGMD +fingertip/MS +finial/MS +finical +finickiness/M +finicky/RPT +finis/MS +finish's +finish/ADSG +finished/U +finisher/MS +finite/IY +fink/MDGS +finned +finny +fir/ZGSJMDRH +fire/MS +firearm/SM +fireball/MS +firebomb/MDSJG +firebox/MS +firebrand/SM +firebreak/SM +firebrick/SM +firebug/SM +firecracker/SM +firedamp/M +firefight/MRSZG +firefighter/M +firefighting/M +firefly/SM +fireguard/S +firehouse/SM +firelight/ZMR +fireman/M +firemen +fireplace/SM +fireplug/MS +firepower/M +fireproof/DSG +firer/M +firescreen/S +fireside/MS +firestorm/MS +firetrap/MS +firetruck/MS +firewall/MS +firewater/M +firewood/M +firework/SM +firm/MDRYPTGS +firmament/SM +firmness/M +firmware/M +first/SMY +firstborn/SM +firsthand +firth/M +firths +fiscal/MYS +fish/MDRSZG +fishbowl/SM +fishcake/SM +fisher/M +fisherman/M +fishermen +fishery/SM +fishhook/SM +fishily +fishiness/M +fishing/M +fishmonger/MS +fishnet/SM +fishpond/MS +fishtail/DGS +fishwife/M +fishwives +fishy/TRP +fissile +fission/BM +fissure/SM +fist/MS +fistfight/MS +fistful/SM +fisticuffs/M +fistula/SM +fistulous/M +fit/KAMS +fitful/YP +fitfulness/M +fitly +fitment/S +fitness/UM +fitted/UA +fitter/MS +fittest +fitting/SMY +five/MZRS +fix/ZGBJMDRS +fixate/GNVDSX +fixation/M +fixative/MS +fixed/Y +fixer/M +fixings/M +fixity/M +fixture/MS +fizz/MDSG +fizzle/DSMG +fizzy/RT +fjord/SM +fl/JDG +flab/M +flabbergast/SGD +flabbily +flabbiness/M +flabby/RPT +flaccid/Y +flaccidity/M +flack/SM +flag/MS +flagella +flagellant/S +flagellate/GNDS +flagellation/M +flagellum/M +flagged +flagging/U +flagman/M +flagmen +flagon/MS +flagpole/SM +flagrance/M +flagrancy/M +flagrant/Y +flagship/SM +flagstaff/MS +flagstone/MS +flail/SGMD +flair/SM +flak/M +flake/DSMG +flakiness/M +flaky/TRP +flamage +flambe/MS +flambeed +flambeing +flamboyance/M +flamboyancy/M +flamboyant/Y +flame/DRSJMZG +flamenco/MS +flameproof/DGS +flamethrower/SM +flamingo/MS +flammability/IM +flammable/SM +flan/MS +flange/MS +flank/SZGMDR +flanker/M +flannel/SM +flannelette/M +flannelled +flannelling +flap/MS +flapjack/MS +flapped +flapper/SM +flapping +flare/DSMG +flareup/SM +flash/ZTGMDRS +flashback/SM +flashbulb/SM +flashcard/SM +flashcube/SM +flasher/M +flashgun/SM +flashily +flashiness/M +flashing/M +flashlight/MS +flashy/RTP +flask/SM +flat/MYPS +flatbed/SM +flatboat/SM +flatbread +flatcar/SM +flatfeet +flatfish/MS +flatfoot/SMD +flatiron/SM +flatland/M +flatlet/S +flatmate/S +flatness/M +flatted +flatten/SDG +flatter/SDRZG +flatterer/M +flattering/Y +flattery/M +flattest +flatting +flattish +flattop/SM +flatulence/M +flatulent +flatus/M +flatware/M +flatworm/SM +flaunt/MDSG +flaunting/Y +flautist/SM +flavour/SMDJG +flavoured/U +flavourful +flavouring/M +flavourless +flavoursome +flaw/MDGS +flawless/PY +flawlessness/M +flax/MN +flay/DGS +flea/MS +fleabag/SM +fleabite/S +fleapit/S +fleck/SGMD +fledged/U +fledgling/MS +flee/S +fleece/MZGDRS +fleecer/M +fleeciness/M +fleecy/RTP +fleeing +fleet/STGMDRYP +fleetingly/M +fleetingness/M +fleetness/M +flesh/GMDSY +fleshly/TR +fleshpot/MS +fleshy/RT +flew +flex/AMS +flexed +flexibility/IM +flexible/I +flexibly/I +flexing +flexion +flextime/M +flibbertigibbet/SM +flick/SZGMDR +flicker/GMD +flight/MS +flightiness/M +flightless +flighty/PTR +flimflam/SM +flimflammed +flimflamming +flimsily +flimsiness/M +flimsy/TRP +flinch/GMDS +fling/GM +flint/SM +flintlock/SM +flinty/TR +flip/MS +flippancy/M +flippant/Y +flipped +flipper/MS +flippest +flipping +flippy/S +flirt/SGMD +flirtation/MS +flirtatious/YP +flirtatiousness/M +flirty +flit/MS +flitted +flitting +float/SMDRZG +floater/M +flock/SMDG +flocking/M +floe/MS +flog/S +flogged +flogger/SM +flogging/MS +flood/SMDRG +floodgate/MS +floodlight/MDSG +floodlit +floodplain/MS +floodwater/MS +floor/SMDG +floorboard/MS +flooring/M +floorwalker/SM +floozy/SM +flop/MS +flophouse/MS +flopped +floppily +floppiness/M +flopping +floppy/PRSMT +flora/SM +floral +florescence/IM +florescent/I +floret/SM +florid/PY +floridness/M +florin/SM +florist/SM +floss/MDSG +flossy/RT +flotation/SM +flotilla/MS +flotsam/M +flounce/DSMG +flouncy +flounder/MDSG +flour/SMDG +flourish/GMDS +floury +flout/SMDRZG +flouter/M +flow/MDGS +flowchart/SM +flower's +flower/CSDG +flowerbed/MS +floweriness/M +flowering/S +flowerless +flowerpot/MS +flowery/PTR +flown +flt +flu/M +flub/MS +flubbed +flubbing +fluctuate/GNDSX +fluctuation/M +flue/MS +fluency/M +fluent/Y +fluff/SMDG +fluffiness/M +fluffy/RPT +fluid/SMY +fluidity/M +fluke/SM +fluky/RT +flume/SM +flummox/DSG +flung +flunk/SMDG +flunky/SM +fluoresce/DSG +fluorescence/M +fluorescent +fluoridate/GNDS +fluoridation/M +fluoride/SM +fluorine/M +fluorite/M +fluorocarbon/MS +fluoroscope/SM +fluoroscopic +fluoxetine +flurry/GDSM +flush/MDRSTG +fluster/MDSG +flute/DSMG +fluting/M +flutter/MDSG +fluttery +fluvial +flux/IMS +fluxed +fluxing +fly/TGBDSM +flyaway +flyblown +flyby/M +flybys +flycatcher/MS +flyer/SM +flying/M +flyleaf/M +flyleaves +flyover/MS +flypaper/SM +flypast/S +flysheet/S +flyspeck/GMDS +flyswatter/MS +flytrap/S +flyway/SM +flyweight/SM +flywheel/MS +foal/MDGS +foam/MDGS +foaminess/M +foamy/RTP +fob/SM +fobbed +fobbing +focal/Y +focus's +focus/ADSG +focused/U +fodder/SM +foe/SM +fog's +fog/CS +fogbound +fogey/SM +fogged/C +foggily +fogginess/M +fogging/C +foggy/RTP +foghorn/MS +fogyish +foible/SM +foil/MDGS +foist/SDG +fol +fold's +fold/AUSGD +foldaway +folder/SM +foldout/MS +foliage/M +folic +folio/SM +folk/MS +folklore/M +folkloric +folklorist/MS +folksiness/M +folksinger/SM +folksinging/M +folksy/PTR +folktale/MS +folkway/MS +foll +follicle/MS +follow/SDRZGJ +follower/M +following/M +followup/S +folly/SM +foment/SGD +fomentation/M +fond/RYTP +fondant/MS +fondle/DSG +fondness/M +fondue/SM +font/MS +fontanelle/MS +foo +foobar +food/MS +foodie/SM +foodstuff/SM +fool/MDGS +foolery/SM +foolhardily +foolhardiness/M +foolhardy/TPR +foolish/YP +foolishness/M +foolproof +foolscap/M +foot/MDRZGSJ +footage/M +football/MRZGS +footballer/M +footbridge/SM +footfall/MS +foothill/MS +foothold/MS +footie +footing/M +footless +footlights/M +footling/MS +footlocker/SM +footloose +footman/M +footmen +footnote/MGDS +footpath/M +footpaths +footplate/S +footprint/SM +footrace/MS +footrest/MS +footsie/SM +footslogging +footsore +footstep/MS +footstool/SM +footwear/M +footwork/M +footy +fop/SM +foppery/M +foppish/P +foppishness/M +for/H +fora +forage/DRSMZG +forager/M +foray/SMDG +forbade +forbear/SMG +forbearance/M +forbid/S +forbidden +forbidding/YS +forbore +forborne +force/DSMG +forced/U +forceful/PY +forcefulness/M +forceps/M +forcible +forcibly +ford/MDGSB +fore/MS +forearm/GSMD +forebear/MS +forebode/GJDS +foreboding/M +forecast/MRZGS +forecaster/M +forecastle/MS +foreclose/DSG +foreclosure/MS +forecourt/SM +foredoom/DGS +forefather/MS +forefeet +forefinger/SM +forefoot/M +forefront/SM +foregather/GDS +forego/G +foregoes +foregone +foreground/GMDS +forehand/MS +forehead/MS +foreign/ZRP +foreigner/M +foreignness/M +foreknew +foreknow/GS +foreknowledge/M +foreknown +foreleg/SM +forelimb/MS +forelock/MS +foreman/M +foremast/MS +foremen +foremost +forename/MDS +forenoon/MS +forensic/MS +forensically +forensics/M +foreordain/GSD +forepart/MS +foreperson/SM +foreplay/M +forequarter/MS +forerunner/MS +foresail/MS +foresaw +foresee/RSBZ +foreseeable/U +foreseeing +foreseen/U +foreseer/M +foreshadow/GDS +foreshore/S +foreshorten/DSG +foresight/MD +foresightedness/M +foreskin/MS +forest's +forest/ACGDS +forestall/SGD +forestation/ACM +forester/MS +forestland/M +forestry/M +foretaste/DSMG +foretell/GS +forethought/M +foretold +forever/M +forevermore +forewarn/DSG +forewent +forewoman/M +forewomen +foreword/MS +forfeit/GSMD +forfeiture/SM +forgave +forge/DRSMZGVJ +forger/M +forgery/SM +forget/S +forgetful/YP +forgetfulness/M +forgettable/U +forgetting +forging/M +forgivable/U +forgive/BRSZGP +forgiven +forgiveness/M +forgiver/M +forgiving/U +forgo/RZG +forgoer/M +forgoes +forgone +forgot +forgotten/U +fork/MDGS +forkful/SM +forklift/MS +forlorn/Y +form's +form/CAIFDGS +formal/SMY +formaldehyde/M +formalin +formalisation/M +formalise/GDS +formalism/M +formalist/MS +formalities +formality/IM +format/SMV +formation/CFASM +formatted/A +formatting/M +formed/U +former/FIAM +formerly +formfitting +formic +formidable +formidably +formless/PY +formlessness/M +formula/MS +formulae +formulaic +formulate/ADSGNX +formulated/U +formulation/AM +formulator/SM +fornicate/GNDS +fornication/M +fornicator/MS +forsake/GS +forsaken +forsook +forsooth +forswear/SG +forswore +forsworn +forsythia/SM +fort/MS +forte/SM +forthcoming/M +forthright/YP +forthrightness/M +forthwith +fortieth/M +fortieths +fortification/M +fortified/U +fortifier/M +fortify/DRSNZGX +fortissimo +fortitude/M +fortnight/MYS +fortress/MS +fortuitous/YP +fortuitousness/M +fortuity/M +fortunate/UY +fortune/MS +fortuneteller/SM +fortunetelling/M +forty/SMH +forum/SM +forward/MDRYZTGSP +forwarder/M +forwardness/M +forwent +fossa +fossick/DRSZG +fossicker/M +fossil/SM +fossilisation/M +fossilise/GDS +foster/GSD +fought +foul/MDRYTGSP +foulard/M +foulmouthed +foulness/M +found/FSDG +foundation/SM +foundational +founded/U +founder/GMDS +foundling/SM +foundry/SM +fount/SM +fountain/SM +fountainhead/MS +four/MHS +fourfold +fourposter/SM +fourscore/M +foursome/SM +foursquare +fourteen/SMH +fourteenth/M +fourteenths +fourth/MY +fourths +fowl/MDGS +fox/GMDS +foxfire/M +foxglove/SM +foxhole/MS +foxhound/SM +foxhunt/GS +foxily +foxiness/M +foxtrot/MS +foxtrotted +foxtrotting +foxy/RTP +foyer/SM +fps +fr +fracas/MS +frack/SDG +fractal/SM +fraction/ISM +fractional/Y +fractious/YP +fractiousness/M +fracture/MGDS +frag/S +fragile/RT +fragility/M +fragment/GMDS +fragmentary/M +fragmentation/M +fragrance/MS +fragrant/Y +frail/RYTP +frailness/M +frailty/SM +frame/DRSMZG +framed/U +framer/M +framework/SM +franc/SM +franchise's +franchise/EDSG +franchisee/SM +franchiser/SM +francium/M +francophone +frangibility/M +frangible +frank/SMDRYTGP +frankfurter/MS +frankincense/M +frankness/M +frantic +frantically +frappe/SM +frat/MS +fraternal/Y +fraternisation/M +fraternise/ZGDRS +fraterniser/M +fraternity/FSM +fratricidal +fratricide/MS +fraud's +fraud/S +fraudster/S +fraudulence/M +fraudulent/Y +fraught +fray's +fray/CDGS +frazzle/MGDS +freak/SMDG +freakish/YP +freakishness/M +freaky/RT +freckle/DSMG +freckly +free/YTDRS +freebase/MGDS +freebie/SM +freebooter/SM +freeborn +freedman/M +freedmen +freedom/SM +freehand +freehold/ZMRS +freeholder/M +freeing +freelance/DRSMZG +freelancer/M +freeload/SDRZG +freeloader/M +freeman/M +freemasonry +freemen +freephone +freesia/S +freestanding +freestone/SM +freestyle/SM +freethinker/SM +freethinking/M +freeware/M +freeway/MS +freewheel/DGS +freewill +freezable +freeze's +freeze/UAGS +freezer/MS +freezing's +freight/MDRZGS +freighter/M +french +frenemy/S +frenetic +frenetically +frenzied/Y +frenzy/DSM +freq +frequencies +frequency/IM +frequent/DRYSZTG +frequented/U +frequenter/M +fresco/M +frescoes +fresh/PNRYXZT +freshen/ZGDR +freshener/M +freshet/MS +freshman/M +freshmen +freshness/M +freshwater/M +fret/MS +fretful/YP +fretfulness/M +fretsaw/MS +fretted +fretting +fretwork/M +friable +friar/SM +friary/SM +fricassee/DSM +fricasseeing +fricative/SM +friction/SM +frictional +fridge/SM +friedcake/MS +friend's +friend/UGSDY +friendless +friendlies +friendliness/UM +friendly's +friendly/UPTR +friendship/MS +frieze/SM +frig/S +frigate/MS +frigged +frigging +fright/SXGMDN +frighten/DG +frightening/Y +frightful/PY +frightfulness/M +frigid/YP +frigidity/M +frigidness/M +frill/SMD +frilly/TR +fringe's +fringe/IDSG +frippery/SM +frisk/SDG +friskily +friskiness/M +frisky/TRP +frisson/S +fritter/MDSG +fritz/M +frivolity/SM +frivolous/PY +frivolousness/M +frizz/MDSYG +frizzle/MGDS +frizzy/TR +fro +frock's +frock/CUS +frog/MS +frogging/S +frogman/M +frogmarch/GDS +frogmen +frogspawn +frolic/SM +frolicked +frolicker/SM +frolicking +frolicsome +from +frond/SM +front's +front/FSDG +frontage/MS +frontal/Y +frontbench/ZRS +frontier/MS +frontiersman/M +frontiersmen +frontierswoman +frontierswomen +frontispiece/MS +frontward/S +frosh/M +frost's +frost/CSDG +frostbit +frostbite/MGS +frostbitten +frostily +frostiness/M +frosting/SM +frosty/TPR +froth/MDG +frothiness/M +froths +frothy/TPR +froufrou/M +frown/SMDG +frowzily +frowziness/M +frowzy/TPR +froze/AU +frozen/UA +fructify/DSG +fructose/M +frugal/Y +frugality/M +fruit/SMDG +fruitcake/MS +fruiterer/S +fruitful/YP +fruitfulness/M +fruitiness/M +fruition/M +fruitless/PY +fruitlessness/M +fruity/TPR +frump/SM +frumpish +frumpy/TR +frustrate/GNXDS +frustrating/Y +frustration/M +frustum/MS +fry/GDSM +fryer/SM +ft +ftp/ZGS +fuchsia/MS +fuck/SMGDRZ! +fucker/M! +fuckhead/S! +fuddle/DSMG +fudge/DSMG +fuehrer/MS +fuel's +fuel/AS +fuelled/A +fuelling/A +fug +fugal +fuggy +fugitive/MS +fugue/SM +fuhrer/SM +fulcrum/MS +fulfil/SL +fulfilled/U +fulfilling/U +fulfilment/M +full/MDRZTGSP +fullback/MS +fuller/M +fullness/M +fully +fulminate/DSXGN +fulmination/M +fulsome/PY +fulsomeness/M +fum/S +fumble/DRSMZG +fumbler/M +fumbling/Y +fume/MGDS +fumigant/MS +fumigate/GNDS +fumigation/M +fumigator/SM +fumy/RT +fun/M +function/MDGS +functional/Y +functionalism +functionalist/S +functionality/S +functionary/SM +functor +fund/AMDGS +fundamental/SMY +fundamentalism/M +fundamentalist/SM +funded/U +funding/M +fundraiser/MS +fundraising +funeral/MS +funerary +funereal/Y +funfair/S +fungal +fungi +fungible/MS +fungicidal +fungicide/MS +fungoid +fungous +fungus/M +funicular/SM +funk/MDGS +funkiness/M +funky/PRT +funnel/MS +funnelled +funnelling +funner +funnest +funnily +funniness/M +funny/TPRSM +funnyman/M +funnymen +fur/SM +furbelow/M +furbish/ADSG +furious/Y +furl's +furl/UDGS +furlong/SM +furlough/GMD +furloughs +furn +furnace/SM +furnish/ADSG +furnished/U +furnishings/M +furniture/M +furore/MS +furosemide +furphy/SM +furred +furrier/M +furriness/M +furring/M +furrow/MDSG +furry/ZTRP +further/SGD +furtherance/M +furthermore +furthermost +furthest +furtive/YP +furtiveness/M +fury/SM +furze/M +fuse's/A +fuse/CAIFGDS +fusee/SM +fuselage/SM +fusibility/M +fusible +fusilier/SM +fusillade/MS +fusion/IFKSM +fuss/MDSG +fussbudget/MS +fussily +fussiness/M +fusspot/SM +fussy/TRP +fustian/M +fustiness/M +fusty/TRP +fut +futile/Y +futility/M +futon/SM +future/MS +futurism/M +futurist/MS +futuristic +futurity/SM +futurologist/MS +futurology/M +futz/DSG +fuzz/MDSG +fuzzball/S +fuzzily +fuzziness/M +fuzzy/PTR +fwd +fwy +g'day +g/SNXVB +gab/SM +gabardine/SM +gabbed +gabbiness/M +gabbing +gabble/DSMG +gabby/RTP +gaberdine/SM +gabfest/MS +gable/DSM +gad/S +gadabout/SM +gadded +gadder/SM +gadding +gadfly/SM +gadget/SM +gadgetry/M +gadolinium/M +gaff/MDRZGS +gaffe/SM +gaffer/M +gag/SM +gaga +gagged +gagging +gaggle/SM +gaiety/M +gaily +gain's +gain/ADGS +gainer/SM +gainful/Y +gainsaid +gainsay/ZGRS +gainsayer/M +gait/MRZS +gaiter/M +gal/SM +gala/MS +galactic +galah/M +galahs +galaxy/SM +gale's +gale/AS +galena/M +gall/MDGS +gallant/SMY +gallantry/M +gallbladder/MS +galleon/SM +galleria/MS +gallery/SM +galley/SM +gallimaufry/SM +gallium/M +gallivant/GSD +gallon/SM +gallop/SMDG +gallows/M +gallstone/MS +galoot/SM +galore +galosh/MS +galumph/DG +galumphs +galvanic +galvanisation/M +galvanise/DSG +galvanism/M +galvanometer/MS +gambit/SM +gamble/DRSMZG +gambler/M +gambling/M +gambol/SM +gambolled +gambolling +game/MYTGDRSP +gamecock/MS +gamekeeper/MS +gameness/M +gamesmanship/M +gamester/MS +gamete/SM +gametic +gamin/SM +gamine/SM +gaminess/M +gaming/M +gamma/SM +gammon/M +gammy +gamut/SM +gamy/RTP +gander/SM +gang/MDGS +gangbusters/M +gangland/M +ganglia +gangling +ganglion/M +ganglionic +gangplank/SM +gangrene/DSMG +gangrenous +gangsta/S +gangster/SM +gangway/MS +ganja +gannet/SM +gantlet/MS +gantry/SM +gap/GSMD +gape/MS +gar/SLM +garage/DSMG +garb/MDGS +garbage/M +garbageman +garbanzo/SM +garble/DSG +garbo/SM +garcon/SM +garden/SZGMDR +gardener/M +gardenia/MS +gardening/M +garfish/MS +gargantuan +gargle/DSMG +gargoyle/SM +garish/PY +garishness/M +garland/MDGS +garlic/M +garlicky +garment/MS +garner/SGD +garnet/SM +garnish/GLMDS +garnishee/DSM +garnisheeing +garnishment/SM +garret/SM +garrison/MDSG +garrote/MZGDRS +garroter/M +garrulity/M +garrulous/PY +garrulousness/M +garter/SM +gas's +gas/CS +gasbag/SM +gaseous +gash/MDSG +gasholder/S +gasket/SM +gaslight/MS +gasman +gasmen +gasohol/M +gasoline/M +gasometer/S +gasp/MDGS +gassed/C +gasses +gassing/C +gassy/RT +gastric +gastritis/M +gastroenteritis/M +gastrointestinal +gastronome/S +gastronomic +gastronomical/Y +gastronomy/M +gastropod/SM +gasworks/M +gate/MGDS +gateau +gateaux +gatecrash/DRSZG +gatecrasher/M +gatehouse/SM +gatekeeper/MS +gatepost/MS +gateway/MS +gather/SJZGMDR +gatherer/M +gathering/M +gator/SM +gauche/RPYT +gaucheness/M +gaucherie/M +gaucho/SM +gaudily +gaudiness/M +gaudy/RPT +gauge/DSMG +gaunt/RPT +gauntlet/MS +gauntness/M +gauze/M +gauziness/M +gauzy/RPT +gave +gavel/SM +gavotte/MS +gawd +gawk/DGS +gawkily +gawkiness/M +gawky/RPT +gawp/DGS +gay/TSPMR +gayness/M +gaze/MZGDRS +gazebo/SM +gazelle/MS +gazer/M +gazette/MGDS +gazetteer/MS +gazillion/S +gazpacho/M +gazump/DGS +gear/MDGS +gearbox/MS +gearing/M +gearshift/MS +gearwheel/SM +gecko/SM +geddit +gee/DS +geeing +geek/MS +geeky/RT +geese +geezer/MS +geisha/M +gel/SM +gelatin/M +gelatinous +gelcap/M +geld/DJGS +gelding/M +gelid +gelignite/M +gelled +gelling +gem/SM +gemmology/M +gemological +gemologist/MS +gemstone/MS +gendarme/MS +gender/MDS +gene/MS +genealogical/Y +genealogist/MS +genealogy/SM +genera +general/SMY +generalisation/MS +generalise/GDS +generalissimo/MS +generalist/MS +generality/SM +generalship/M +generate/CAVNGSD +generation/ACM +generational +generations +generator/SM +generic/SM +generically +generosity/SM +generous/PY +generousness/M +genes/S +genesis/M +genetic/S +genetically +geneticist/MS +genetics/M +genial/FY +geniality/FM +geniculate +genie/SM +genii +genital/FY +genitalia/M +genitals/M +genitive/MS +genitourinary +genius/MS +genned +genning +genocidal +genocide/MS +genome/MS +genomics +genre/SM +gent/AMS +genteel/YP +genteelness/M +gentian/SM +gentile/SM +gentility/M +gentle/TGDRSP +gentlefolk/MS +gentlefolks/M +gentleman/MY +gentlemanly/U +gentlemen +gentleness/M +gentlewoman/M +gentlewomen +gently +gentrification/M +gentrify/DSGN +gentry/SM +genuflect/DGS +genuflection/MS +genuine/PY +genuineness/M +genus/M +geocache/DSG +geocentric +geocentrically +geochemistry/M +geode/SM +geodesic/SM +geodesy/M +geodetic +geoengineering +geog +geographer/SM +geographic +geographical/Y +geography/SM +geologic +geological/Y +geologist/MS +geology/SM +geom +geomagnetic +geomagnetism/M +geometer +geometric +geometrical/Y +geometry/SM +geophysical +geophysicist/SM +geophysics/M +geopolitical +geopolitics/M +geostationary +geosynchronous +geosyncline/MS +geothermal +geothermic +geranium/MS +gerbil/MS +geriatric/S +geriatrician/S +geriatrics/M +germ/MS +germane +germanium/M +germicidal +germicide/MS +germinal/M +germinate/GNDS +germination/M +gerontological +gerontologist/MS +gerontology/M +gerrymander/GMDS +gerrymandering/M +gerund/MS +gestalt/S +gestapo/MS +gestate/GNDS +gestation/M +gestational +gesticulate/DSGNX +gesticulation/M +gestural +gesture/MGDS +gesundheit +get/S +getaway/SM +getting +getup/M +gewgaw/SM +geyser/SM +ghastliness/M +ghastly/TPR +ghat/MS +ghee +gherkin/MS +ghetto/SM +ghettoise/GDS +ghost/SMDYG +ghostliness/M +ghostly/RTP +ghostwrite/ZGRS +ghostwriter/M +ghostwritten +ghostwrote +ghoul/SM +ghoulish/YP +ghoulishness/M +giant/SM +giantess/MS +gibber/GDS +gibberish/M +gibbet/GMDS +gibbon/MS +gibbous +giblet/SM +giddily +giddiness/M +giddy/RTP +gift/MDGS +gig/SM +gigabit/SM +gigabyte/MS +gigagram/S +gigahertz/M +gigajoule/S +gigametre/S +gigantic +gigantically +gigapascal/S +gigapixel/MS +gigawatt/SM +gigged +gigging +giggle/DRSMZG +giggler/M +giggly/RT +gigolo/SM +gild/MDRZGS +gilder/M +gilding/M +gill/MS +gillie/S +gillion/S +gilt/MS +gimbals/M +gimcrack/SM +gimcrackery/M +gimlet/GSMD +gimme/SM +gimmick/MS +gimmickry/M +gimmicky +gimp/MDGS +gimpy +gin/SM +ginger/GSMDY +gingerbread/M +gingersnap/SM +gingery +gingham/M +gingivitis/M +ginkgo/M +ginkgoes +ginned +ginning +ginormous +ginseng/M +giraffe/MS +gird/DRZGS +girder/M +girdle/DSMG +girl/MS +girlfriend/MS +girlhood/SM +girlish/YP +girlishness/M +girly +giro/S +girt/MDGS +girth/M +girths +gist/M +git/S +gite/S +give/ZGJRS +giveaway/MS +giveback/MS +given/SM +giver/M +gizmo/SM +gizzard/MS +glace/S +glaceed +glaceing +glacial/Y +glaciate/XGNDS +glaciation/M +glacier/MS +glad/MYSP +gladden/GDS +gladder +gladdest +glade/SM +gladiator/SM +gladiatorial +gladiola/SM +gladioli +gladiolus/M +gladness/M +gladsome +glam +glamorisation/M +glamorise/DSG +glamorous/Y +glamour/GMDS +glance/DSMG +gland/SM +glandes +glandular +glans/M +glare/DSMG +glaring/Y +glasnost/M +glass/MDSG +glassblower/MS +glassblowing/M +glassful/SM +glasshouse/S +glassily +glassiness/M +glassware/M +glassy/RTP +glaucoma/M +glaze/DSMG +glazier/SM +glazing/M +gleam/SMDGJ +glean/SDRZGJ +gleaner/M +gleanings/M +glee/M +gleeful/YP +gleefulness/M +glen/MS +glenohumeral +glenoid +glib/YP +glibber +glibbest +glibness/M +glide/DRSMZG +glider/M +gliding/M +glimmer/MDGJS +glimmering/M +glimpse/MGDS +glint/SMDG +glissandi +glissando/M +glisten/MDSG +glister/DSG +glitch/GMDS +glitter/MDSG +glitterati +glittery +glitz/M +glitzy/TR +gloaming/SM +gloat/SMDG +gloating/Y +glob/MDGS +global/Y +globalisation/M +globalise/GDS +globalism/M +globalist/MS +globe/SM +globetrotter/MS +globetrotting +globular +globule/MS +globulin/M +glockenspiel/SM +gloom/M +gloomily +gloominess/M +gloomy/TRP +glop/M +gloppy +glorification/M +glorify/GDSN +glorious/IY +glory/DSMG +gloss/MDSG +glossary/SM +glossily +glossiness/M +glossolalia/M +glossy/PTRSM +glottal +glottis/MS +glove/DSMG +glow/MDRZGS +glower/GMD +glowing/Y +glowworm/MS +glucagon +glucose/M +glue/MGDS +glued/U +gluey +gluier +gluiest +glum/YP +glummer +glummest +glumness/M +gluon/S +glut/MNS +gluten/M +glutenous +glutinous/Y +glutted +glutting +glutton/MS +gluttonous/Y +gluttony/M +glycerine/M +glycerol/M +glycogen/M +glycol +glyph +gm +gnarl/SMDG +gnarly/TR +gnash/MDSG +gnat/MS +gnaw/DGS +gneiss/M +gnocchi +gnome/SM +gnomic +gnomish +gnu/SM +go/JMRHZG +goad/MDGS +goal/MS +goalie/SM +goalkeeper/MS +goalkeeping/M +goalless +goalmouth +goalmouths +goalpost/MS +goalscorer/S +goaltender/MS +goat/MS +goatee/SM +goatherd/MS +goatskin/MS +gob/SM +gobbed +gobbet/SM +gobbing +gobble/DRSMZG +gobbledegook/M +gobbler/M +goblet/SM +goblin/SM +gobsmacked +gobstopper/S +god/SM +godawful +godchild/M +godchildren/M +goddammit +goddamn/D +goddaughter/MS +goddess/MS +godfather/SM +godforsaken +godhead/M +godhood/M +godless/PY +godlessness/M +godlike +godliness/UM +godly/URTP +godmother/SM +godparent/SM +godsend/SM +godson/SM +godspeed +goer/M +goes +gofer/SM +goggle/DSMG +goggles/M +going/M +goitre/SM +gold/MNS +goldbrick/ZGSMDR +goldbricker/M +golden/TR +goldenrod/M +goldfield/S +goldfinch/MS +goldfish/MS +goldmine/SM +goldsmith/M +goldsmiths +golf/MDRZGS +golfer/M +golliwog/S +golly/SM +gonad/SM +gonadal +gondola/MS +gondolier/SM +gone/ZR +goner/M +gong/MDGS +gonk/S +gonna +gonorrhoea/M +gonorrhoeal +gonzo +goo/M +goober/SM +good/MYSP +goodbye/MS +goodhearted +goodish +goodly/TR +goodness/M +goodnight +goodo +goods/M +goodwill/M +goody/SM +gooey +goof/MDGS +goofball/SM +goofiness/M +goofy/RPT +google/DSMG +googly/S +gooier +gooiest +gook/MS +goon/MS +goop/M +goose/DSMG +gooseberry/SM +goosebumps/M +goosestep/S +goosestepped +goosestepping +gopher/SM +gore/MGDS +gorge's +gorge/EDSG +gorgeous/YP +gorgeousness/M +gorgon/SM +gorilla/MS +gorily +goriness/M +gormandise/DRSZG +gormandiser/M +gormless +gorp/MS +gorse/M +gory/RTP +gosh +goshawk/MS +gosling/SM +gospel/MS +gossamer/M +gossip/MDRZGS +gossiper/M +gossipy +got +gotcha/S +goths +gotta +gotten +gouache/S +gouge/DRSMZG +gouger/M +goulash/MS +gourd/SM +gourde/MS +gourmand/SM +gourmet/SM +gout/M +gouty/TR +gov +govern/DGSBL +governable/U +governance/M +governed/U +governess/MS +government/MS +governmental +governor/SM +governorship/M +govt +gown/MDGS +gr +grab/MS +grabbed +grabber/MS +grabbing +grabby/TR +grace/EDSMG +graceful/EPY +gracefulness/EM +graceless/PY +gracelessness/M +gracious/UY +graciousness/M +grackle/MS +grad/MRZSB +gradate/XGNDS +gradation/CM +grade's +grade/CADSG +graded/U +grader/M +gradient/MS +gradual/PY +gradualism/M +gradualness/M +graduate/XMGNDS +graduation/M +graffiti +graffito/M +graft/SMDRZG +grafter/M +graham/S +grail +grain/ISMD +graininess/M +grainy/PTR +gram/KMS +grammar/MS +grammarian/SM +grammatical/UY +gramophone/MS +grampus/MS +gran/S +granary/SM +grand/SMRYPT +grandam/MS +grandaunt/MS +grandchild/M +grandchildren/M +granddad/SM +granddaddy/SM +granddaughter/SM +grandee/MS +grandeur/M +grandfather/GMDYS +grandiloquence/M +grandiloquent +grandiose/Y +grandiosity/M +grandma/MS +grandmother/MYS +grandnephew/MS +grandness/M +grandniece/MS +grandpa/MS +grandparent/MS +grandson/MS +grandstand/SGMD +granduncle/SM +grange/SM +granite/M +granitic +granny/SM +granola/M +grant/SMDRZG +grantee/MS +granter/M +grantsmanship/M +granular +granularity/M +granulate/GNDS +granulation/M +granule/MS +grape/SM +grapefruit/MS +grapeshot/M +grapevine/SM +graph/MDG +graphic/MS +graphical/Y +graphite/M +graphologist/MS +graphology/M +graphs +grapnel/MS +grapple/MGDS +grasp/SMDBG +grass/MDSG +grasshopper/MS +grassland/MS +grassroots +grassy/TR +grate/DRSMZGJ +grateful/UYP +gratefulness/UM +grater/M +gratification/M +gratify/GNXDS +gratifying/Y +gratin/S +grating/MY +gratis +gratitude/IM +gratuitous/YP +gratuitousness/M +gratuity/SM +gravamen/MS +grave/DRSMYTGP +gravedigger/SM +gravel/SMY +gravelled +gravelling +graven +graveness/M +graveside/MS +gravestone/SM +graveyard/MS +gravid +gravimeter/MS +gravitas +gravitate/GNDS +gravitation/M +gravitational +gravity/M +gravy/SM +graybeard/SM +graze/DRSMZG +grazer/M +grease/DRSMZG +greasepaint/M +greasily +greasiness/M +greasy/PTR +great/SMRYPT +greatcoat/SM +greathearted +greatness/M +grebe/SM +greed/M +greedily +greediness/M +greedy/PTR +green/GPSMDRYT +greenback/MS +greenbelt/MS +greenery/M +greenfield +greenfly/S +greengage/MS +greengrocer/SM +greenhorn/SM +greenhouse/SM +greenie/MS +greenish +greenmail/M +greenness/M +greenroom/SM +greenstone +greensward/M +greenwood/M +greet/ZGJSDR +greeter/M +greeting/M +gregarious/PY +gregariousness/M +gremlin/SM +grenade/SM +grenadier/MS +grenadine/M +grep/S +grepped +grepping +grew/A +grey/PMDRTGS +greyhound/SM +greyish +greyness/M +gribble/S +grid/MS +griddle/SM +griddlecake/SM +gridiron/SM +gridlock/SMD +grief/SM +grievance/MS +grieve/ZGDRS +griever/M +grievous/PY +grievousness/M +griffin/SM +griffon/SM +grill/SGMDJ +grille/MS +grim/DYPG +grimace/DSMG +grime/SM +griminess/M +grimmer +grimmest +grimness/M +grimy/TRP +grin/MS +grind/SZGMRJ +grinder/M +grindstone/MS +gringo/MS +grinned +grinning +grip/MDRSZG +gripe/SM +griper/M +grippe/MZGDR +gripper/M +grisliness/M +grisly/RTP +grist/MY +gristle/M +gristmill/MS +grit/MS +grits/M +gritted +gritter/SM +grittiness/M +gritting +gritty/RTP +grizzle/DSG +grizzly/TRSM +groan/SGMD +groat/SM +grocer/MS +grocery/SM +grog/M +groggily +grogginess/M +groggy/PRT +groin/SM +grok/S +grokked +grokking +grommet/SM +groom/SZGMDR +groomer/M +grooming/M +groomsman/M +groomsmen +groove/MGDS +groovy/RT +grope/DRSMZG +groper/M +grosbeak/MS +grosgrain/M +gross/PTGMDRSY +grossness/M +grotesque/SPMY +grotesqueness/M +grotto/M +grottoes +grotty/TR +grouch/GMDS +grouchily +grouchiness/M +grouchy/RTP +ground/ZGMDRJS +groundbreaking/MS +groundcloth +groundcloths +grounder/M +groundhog/MS +grounding/M +groundless/Y +groundnut/MS +groundsheet/S +groundskeeper/S +groundsman +groundsmen +groundswell/SM +groundwater/M +groundwork/M +group/JSZGMDR +grouper/M +groupie/MS +grouping/M +groupware/M +grouse/MZGDRS +grouser/M +grout/SGMD +grove/SM +grovel/GDS +grovelled +groveller/SM +grovelling +grow/AHSG +grower/MS +growing/I +growl/SZGMDR +growler/M +grown/AI +grownup/MS +growth/AM +growths +groyne/MS +grub/MS +grubbed +grubber/MS +grubbily +grubbiness/M +grubbing +grubby/TRP +grubstake/M +grudge/MGDS +grudging/Y +grue/S +gruel/M +gruelling/SY +gruesome/RYTP +gruesomeness/M +gruff/TPRY +gruffness/M +grumble/DRSMZGJ +grumbler/M +grump/SM +grumpily +grumpiness/M +grumpy/PRT +grunge/MS +grungy/RT +grunion/SM +grunt/SGMD +gt +guacamole/M +guanine/M +guano/M +guarani/MS +guarantee/MDS +guaranteeing +guarantor/MS +guaranty/GDSM +guard/SZGMDR +guarded/Y +guarder/M +guardhouse/SM +guardian/SM +guardianship/M +guardrail/SM +guardroom/SM +guardsman/M +guardsmen +guava/SM +gubernatorial +guerilla/SM +guess/ZGBMDRS +guesser/M +guesstimate/DSMG +guesswork/M +guest/SGMD +guestbook/SM +guesthouse/S +guestroom/S +guff/M +guffaw/MDGS +guidance/M +guide/DRSMZG +guidebook/SM +guided/U +guideline/SM +guidepost/SM +guider/M +guild/SZMR +guilder/M +guildhall/MS +guile/M +guileful +guileless/YP +guilelessness/M +guillemot/S +guillotine/DSMG +guilt/M +guiltily +guiltiness/M +guiltless +guilty/PRT +guinea/MS +guise/ESM +guitar/MS +guitarist/SM +gulag/SM +gulch/MS +gulden/MS +gulf/MS +gull/MDSG +gullet/MS +gullibility/M +gullible +gully/SM +gulp/MDRSZG +gulper/M +gum/SM +gumball/S +gumbo/SM +gumboil/SM +gumboot/S +gumdrop/SM +gummed +gumming +gummy/TR +gumption/M +gumshoe/MDS +gumshoeing +gun/SM +gunboat/SM +gunfight/MRZS +gunfighter/M +gunfire/M +gunge +gungy +gunk/M +gunky +gunman/M +gunmen +gunmetal/M +gunned +gunnel/MS +gunner/MS +gunnery/M +gunning +gunny/M +gunnysack/MS +gunpoint/M +gunpowder/M +gunrunner/MS +gunrunning/M +gunship/MS +gunshot/MS +gunslinger/SM +gunsmith/M +gunsmiths +gunwale/MS +guppy/SM +gurgle/MGDS +gurney/MS +guru/MS +gush/MDRSZG +gusher/M +gushing/Y +gushy/TR +gusset/MSDG +gussy/DSG +gust/EMDSG +gustatory +gustily +gusto/M +gusty/RT +gut/SM +gutful/MS +gutless/P +gutlessness/M +gutsy/RT +gutted +gutter/SMDG +guttersnipe/MS +gutting +guttural/MS +gutty/RT +guv/S +guvnor/S +guy/SGMD +guzzle/DRSZG +guzzler/M +gybe/MGDS +gym/SM +gymkhana/MS +gymnasium/MS +gymnast/MS +gymnastic/S +gymnastically +gymnastics/M +gymnosperm/SM +gymslip/S +gynaecologic +gynaecological +gynaecologist/SM +gynaecology/M +gyp/SM +gypped +gypper/SM +gypping +gypster/SM +gypsum/M +gypsy/SM +gyrate/DSGNX +gyration/M +gyrator/SM +gyrfalcon/MS +gyro/MS +gyroscope/MS +gyroscopic +gyve/MGDS +h'm +h/NRSXZGVJ +ha/SH +haberdasher/SM +haberdashery/SM +habiliment/SM +habit's +habit/ISB +habitability/M +habitat/SM +habitation/MS +habitual/YP +habitualness/M +habituate/GNDS +habituation/M +habitue/SM +hacienda/SM +hack/MDRZGS +hacker/M +hacking/M +hackish +hackle/MS +hackney/SMDG +hacksaw/SM +hacktivist/MS +hackwork/M +had +haddock/SM +hadith +hadn't +hadst +haem +haematite/M +haematologic +haematological +haematologist/MS +haematology/M +haemoglobin/M +haemophilia/M +haemophiliac/MS +haemorrhage/MGDS +haemorrhoid/S +hafnium/M +haft/MS +hag/SM +haggard/YP +haggardness/M +haggis/MS +haggish +haggle/MZGDRS +haggler/M +hagiographer/SM +hagiography/SM +hahnium/M +haiku/M +hail/MDGS +hailstone/MS +hailstorm/MS +hair/MDS +hairball/MS +hairband/S +hairbreadth/M +hairbreadths +hairbrush/MS +haircloth/M +haircut/SM +hairdo/MS +hairdresser/SM +hairdressing/M +hairdryer/MS +hairgrip/S +hairiness/M +hairless +hairlike +hairline/SM +hairnet/SM +hairpiece/MS +hairpin/SM +hairsbreadth/M +hairsbreadths +hairsplitter/SM +hairsplitting/M +hairspray/S +hairspring/MS +hairstyle/MS +hairstylist/SM +hairy/TRP +haj +hajj/M +hajjes +hajji/SM +hake/MS +halal/M +halberd/SM +halcyon +hale/ITGDRS +half/M +halfback/SM +halfhearted/PY +halfheartedness/M +halfpence +halfpenny/SM +halftime/MS +halftone/MS +halfway +halfwit/SM +halibut/SM +halite/M +halitosis/M +hall/MS +hallelujah/M +hallelujahs +hallmark/GMDS +halloo/MSG +hallow/DSG +hallowed/U +hallucinate/GNXDS +hallucination/M +hallucinatory +hallucinogen/SM +hallucinogenic/SM +hallway/SM +halo/MDGS +halogen/SM +halon +halt/MDRZGS +halter/GMD +halterneck/S +halting/Y +halve/DSG +halyard/MS +ham/SM +hamburg/SZMR +hamburger/M +hamlet/MS +hammed +hammer/MDRSJZG +hammerer/M +hammerhead/SM +hammerlock/SM +hammertoe/MS +hamming +hammock/SM +hammy/TR +hamper/GMDS +hampered/U +hamster/MS +hamstring/GSM +hamstrung +hand's +hand/UDGS +handbag/SM +handball/MS +handbarrow/SM +handbill/MS +handbook/MS +handbrake/S +handcar/SM +handcart/MS +handclasp/MS +handcraft/SMDG +handcuff/MDGS +handed/P +handful/SM +handgun/SM +handheld/MS +handhold/MS +handicap/MS +handicapped +handicapper/MS +handicapping +handicraft/MS +handily +handiness/M +handiwork/M +handkerchief/MS +handle/MZGDRS +handlebar/MS +handler/M +handmade +handmaid/XMNS +handmaiden/M +handout/SM +handover/S +handpick/GDS +handrail/MS +handsaw/SM +handset/SM +handshake/JMGS +handsome/PYTR +handsomeness/M +handspring/MS +handstand/SM +handwork/M +handwoven +handwriting/M +handwritten +handy/UTR +handyman/M +handymen +hang/MDRJZGS +hangar/MS +hangdog +hanger/M +hanging/M +hangman/M +hangmen +hangnail/MS +hangout/SM +hangover/MS +hangup/MS +hank/MRZS +hanker/GJD +hankering/M +hanky/SM +hansom/MS +hap/MY +haphazard/YP +haphazardness/M +hapless/YP +haplessness/M +haploid/MS +happen/SDGJ +happening/M +happenstance/SM +happily/U +happiness/UM +happy/URTP +haptic +harangue/MGDS +harass/LZGDRS +harasser/M +harassment/M +harbinger/SM +harbormaster/S +harbour/GMDS +hard/NRYXTP +hardback/MS +hardball/M +hardboard/M +hardbound +hardcore +hardcover/SM +harden/ZGDR +hardened/U +hardener/M +hardhat/MS +hardheaded/PY +hardheadedness/M +hardhearted/PY +hardheartedness/M +hardihood/M +hardily +hardiness/M +hardliner/MS +hardness/M +hardscrabble +hardship/SM +hardstand/SM +hardtack/M +hardtop/SM +hardware/M +hardwired +hardwood/SM +hardworking +hardy/PTR +hare/MGDS +harebell/MS +harebrained +harelip/SM +harelipped +harem/SM +haricot/S +hark/DGS +harlequin/SM +harlot/SM +harlotry/M +harm/MDGS +harmed/U +harmful/YP +harmfulness/M +harmless/PY +harmlessness/M +harmonic/SM +harmonica/MS +harmonically +harmonies +harmonious/PY +harmoniousness/M +harmonisation/M +harmonise/ZGDRS +harmoniser/M +harmonium/MS +harmony/EM +harness's +harness/UDSG +harp/MDGS +harpist/SM +harpoon/ZGSMDR +harpooner/M +harpsichord/MS +harpsichordist/SM +harpy/SM +harridan/MS +harrier/M +harrow/SMDG +harrumph/GD +harrumphs +harry/DRSZG +harsh/RYTP +harshness/M +hart/MS +harvest/SMDRZG +harvested/U +harvester/M +hash/AMDSG +hashish/M +hashtag/SM +hasn't +hasp/MS +hassle/DSMG +hassock/SM +hast/DNXG +haste/SM +hasten/DG +hastily +hastiness/M +hasty/RTP +hat/ZGSMDR +hatband/S +hatbox/MS +hatch/MDSG +hatchback/MS +hatcheck/SM +hatched/U +hatchery/SM +hatchet/SM +hatching/M +hatchway/SM +hate/MS +hateful/PY +hatefulness/M +hatemonger/MS +hater/M +hatpin/S +hatred/SM +hatstand/S +hatted +hatter/SM +hatting +hauberk/SM +haughtily +haughtiness/M +haughty/PRT +haul/MDRZGS +haulage/M +hauler/M +haulier/S +haunch/MS +haunt/SMDRZG +haunter/M +haunting/Y +hauteur/M +have/MGS +haven't +haven/SM +haversack/SM +havoc/M +haw/GSMD +hawk/MDRZGS +hawker/M +hawkish/P +hawkishness/M +hawser/SM +hawthorn/MS +hay/GSMD +haycock/SM +hayloft/SM +haymaker/S +haymaking +haymow/SM +hayrick/MS +hayride/MS +hayseed/MS +haystack/SM +haywire +hazard/SMDG +hazardous/Y +haze/MZGJDRS +hazel/SM +hazelnut/MS +hazer/M +hazily +haziness/M +hazing/M +hazmat +hazy/RTP +hdqrs +he'd +he'll +he/M +head/MDRZGJS +headache/MS +headband/MS +headbanger/S +headbanging +headboard/SM +headbutt/DSG +headcase/S +headcheese +headcount/S +headdress/MS +header/M +headfirst +headgear/M +headhunt/DRSZG +headhunter/M +headhunting/M +headily +headiness/M +heading/M +headlamp/MS +headland/MS +headless +headlight/MS +headline/MZGDRS +headliner/M +headlock/MS +headlong +headman/M +headmaster/SM +headmen +headmistress/MS +headphone/MS +headpiece/MS +headpin/SM +headquarter/SDG +headquarters/M +headrest/MS +headroom/M +headscarf +headscarves +headset/SM +headship/SM +headshrinker/SM +headsman/M +headsmen +headstall/SM +headstand/SM +headstone/SM +headstrong +headteacher/S +headwaiter/SM +headwaters/M +headway/M +headwind/SM +headword/SM +heady/RTP +heal/DRHZGS +healed/U +healer/M +health/M +healthcare +healthful/PY +healthfulness/M +healthily/U +healthiness/UM +healthy/UTRP +heap/MDGS +hear/AHGJS +heard/AU +hearer/SM +hearing/AM +hearken/SGD +hearsay/M +hearse's +hearse/AS +heart/SM +heartache/MS +heartbeat/MS +heartbreak/SMG +heartbroken +heartburn/M +hearten/ESGD +heartfelt +hearth/M +hearthrug/S +hearths +hearthstone/SM +heartily +heartiness/M +heartland/MS +heartless/PY +heartlessness/M +heartrending/Y +heartsick/P +heartsickness/M +heartstrings/M +heartthrob/MS +heartwarming +heartwood/M +hearty/RSMPT +heat's +heat/ADGS +heated/U +heatedly +heater/SM +heath/MNRX +heathen/M +heathendom/M +heathenish +heathenism/M +heather/M +heaths +heating/M +heatproof +heatstroke/M +heatwave/S +heave/DRSMZG +heaven/SMY +heavenly/TR +heavens/M +heavenward/S +heaver/M +heavily +heaviness/M +heavy/RSMTP +heavyhearted +heavyset +heavyweight/MS +heck/M +heckle/DRSMZG +heckler/M +heckling/M +hectare/SM +hectic +hectically +hectogram/SM +hectometre/MS +hector/SMDG +hedge/DRSMZG +hedgehog/MS +hedgehop/S +hedgehopped +hedgehopping +hedger/M +hedgerow/SM +hedonism/M +hedonist/MS +hedonistic +heed/MDGS +heeded/U +heedful/Y +heedless/PY +heedlessness/M +heehaw/SMDG +heel/MDGS +heelless +heft/MDGS +heftily +heftiness/M +hefty/PRT +hegemonic +hegemony/M +hegira/SM +heifer/SM +height/XSMN +heighten/DG +heinous/YP +heinousness/M +heir/MS +heiress/MS +heirloom/SM +heist/SMDG +held +helical +helices +helicopter/SGMD +heliocentric +heliotrope/SM +helipad/S +heliport/MS +helium/M +helix/M +hell/M +hellbent +hellcat/MS +hellebore/M +hellfire +hellhole/MS +hellion/MS +hellish/YP +hellishness/M +hello/SM +helluva +helm/MS +helmet/SMD +helmsman/M +helmsmen +helot/SM +help/MDRZGSJ +helper/M +helpful/UY +helpfulness/M +helping/M +helpless/PY +helplessness/M +helpline/SM +helpmate/SM +helve/SM +hem/SM +heme's +hemiplegia +hemisphere/SM +hemispheric +hemispherical +hemline/SM +hemlock/SM +hemmed +hemmer/SM +hemming +hemorrhagic +hemorrhoid's +hemostat/MS +hemp/MN +hemstitch/MDSG +hen/M +hence +henceforth +henceforward +henchman/M +henchmen +henna/SMDG +henpeck/GSD +hep +heparin/M +hepatic +hepatitis/M +hepatocyte/S +hepper +heppest +heptagon/MS +heptagonal +heptathlon/SM +herald/SMDG +heralded/U +heraldic +heraldry/M +herb/MS +herbaceous +herbage/M +herbal/S +herbalist/MS +herbicidal +herbicide/MS +herbivore/SM +herbivorous +herculean +herd/MDRZGS +herder/M +herdsman/M +herdsmen +here/M +hereabout/S +hereafter/SM +hereby +hereditary +heredity/M +herein +hereinafter +hereof +hereon +heresy/SM +heretic/SM +heretical +hereto +heretofore +hereunder +hereunto +hereupon +herewith +heritable/I +heritage/MS +hermaphrodite/SM +hermaphroditic +hermetic +hermetical/Y +hermit/SM +hermitage/MS +hermitian +hernia/SM +hernial +herniate/GNDS +herniation/M +hero/M +heroes +heroic/S +heroically +heroics/M +heroin/SM +heroine/SM +heroism/M +heron/SM +herpes/M +herpetologist/SM +herpetology/M +herring/MS +herringbone/M +herself +hertz/M +hesitance/M +hesitancy/M +hesitant/Y +hesitate/DSGNX +hesitating/UY +hesitation/M +hessian +hetero/SM +heterodox +heterodoxy/M +heterogeneity/M +heterogeneous/Y +heterosexual/MYS +heterosexuality/M +heuristic/MS +heuristically +heuristics/M +hew/ZGSDR +hewer/M +hex/GMDS +hexadecimal/S +hexagon/MS +hexagonal +hexagram/SM +hexameter/SM +hey +heyday/SM +hf +hgt +hgwy +hi/SD +hiatus/MS +hibachi/MS +hibernate/GNDS +hibernation/M +hibernator/MS +hibiscus/MS +hiccough/DG +hiccoughs +hiccup/GSMD +hick/MS +hickey/SM +hickory/SM +hid +hidden +hide/MZGJDRS +hideaway/SM +hidebound +hideous/YP +hideousness/M +hideout/MS +hider/M +hiding/M +hie/S +hieing +hierarchic +hierarchical/Y +hierarchy/SM +hieroglyph/M +hieroglyphic/MS +hieroglyphs +high/MRYZTP +highball/SM +highborn +highboy/MS +highbrow/SM +highchair/MS +highfalutin +highhanded/PY +highhandedness/M +highland/MRZS +highlander/M +highlight/SMDRZG +highlighter/M +highness/M +highroad/MS +highs +hightail/DSG +highway/MS +highwayman/M +highwaymen +hijab/SM +hijack/SJZGMDR +hijacker/M +hijacking/M +hike/MZGDRS +hiker/M +hiking/M +hilarious/PY +hilariousness/M +hilarity/M +hill/MS +hillbilly/SM +hilliness/M +hillock/MS +hillside/SM +hilltop/MS +hilly/PRT +hilt/MS +him/S +himself +hind/MRZS +hinder/GD +hindered/U +hindmost +hindquarter/MS +hindrance/SM +hindsight/M +hinge's +hinge/UDSG +hint/MDRZGS +hinter/M +hinterland/SM +hip/SPM +hipbath +hipbaths +hipbone/MS +hiphuggers +hipness/M +hipped +hipper +hippest +hipping +hippo/SM +hippocampus +hippodrome/SM +hippopotamus/MS +hippy/SM +hipster/MS +hiragana +hire's +hire/AGDS +hireling/MS +hirsute/P +hirsuteness/M +hiss/MDSG +hist +histamine/MS +histogram/MS +histologist/SM +histology/M +histopathology +historian/MS +historic +historical/Y +historicity/M +historiographer/MS +historiography/M +history/SM +histrionic/S +histrionically +histrionics/M +hit/SM +hitch's +hitch/UDSG +hitcher/MS +hitchhike/DRSMZG +hitchhiker/M +hither +hitherto +hitter/SM +hitting +hive/MGDS +hivemind/SM +hiya +hmm +ho/SMDRYZ +hoagie/MS +hoard/SZGMDRJ +hoarder/M +hoarding/M +hoarfrost/M +hoariness/M +hoarse/YTRP +hoarseness/M +hoary/TRP +hoax/MDRSZG +hoaxer/M +hob/SM +hobbit/S +hobble/MZGDRS +hobbler/M +hobby/SM +hobbyhorse/MS +hobbyist/SM +hobgoblin/MS +hobnail/SGMD +hobnob/S +hobnobbed +hobnobbing +hobo/MS +hoc +hock/MDSG +hockey/M +hockshop/MS +hod/SM +hodgepodge/SM +hoe/SM +hoecake/SM +hoedown/SM +hoeing +hoer/M +hog/SM +hogan/SM +hogback/SM +hogged +hogging +hoggish/Y +hogshead/SM +hogtie/DS +hogtying +hogwash/M +hoick/SGD +hoist/SGMD +hoke/GDS +hokey +hokier +hokiest +hokum/M +hold/MRJSZG +holdall/S +holder/M +holding/M +holdout/SM +holdover/SM +holdup/MS +hole/MGDS +holey +holiday/SMDG +holidaymaker/S +holiness/UM +holism +holistic +holistically +holler/MDGS +hollow/MDRYPSTG +hollowness/M +holly/SM +hollyhock/MS +holmium/M +holocaust/SM +hologram/MS +holograph/M +holographic +holographs +holography/M +hols +holster/SMDG +holy/URPT +homage/MS +hombre/MS +homburg/SM +home/MYZGDRS +homebody/SM +homeboy/SM +homecoming/SM +homegrown +homeland/MS +homeless/MP +homelessness/M +homelike +homeliness/M +homely/PRT +homemade +homemaker/SM +homemaking/M +homeopath/M +homeopathic +homeopaths +homeopathy/M +homeostasis/M +homeostatic +homeowner/MS +homepage/MS +homer/GMD +homeroom/MS +homeschooling/M +homesick/P +homesickness/M +homespun/M +homestead/SMDRZG +homesteader/M +homestretch/MS +hometown/MS +homeward/S +homework/MRZG +homewrecker/SM +homey/SMP +homeyness/M +homicidal +homicide/MS +homier +homiest +homiletic +homily/SM +hominid/SM +hominoid/S +hominy/M +homo/MS +homoerotic +homogeneity/M +homogeneous/Y +homogenisation/M +homogenise/DSG +homograph/M +homographs +homologous +homology +homonym/SM +homophobia/M +homophobic +homophone/MS +homosexual/SM +homosexuality/M +hon/SZTGMDR +honcho/MS +hone/MS +honer/M +honest/EYT +honester +honesty/EM +honey/SGMD +honeybee/SM +honeycomb/MDSG +honeydew/SM +honeylocust/M +honeymoon/ZGMDRS +honeymooner/M +honeypot/S +honeysuckle/SM +honk/MDRSZG +honker/M +honky/SM +honorarily +honorarium/MS +honorary +honorific/MS +honour/EMDSBG +honourableness/M +honourably/E +honouree/MS +honourer/MS +hooch/M +hood/MDSG +hoodie/MS +hoodlum/SM +hoodoo/MDSG +hoodwink/DGS +hooey/M +hoof/MDRSZG +hook's +hook/UDSG +hookah/M +hookahs +hooker/MS +hookup/MS +hookworm/MS +hooky/M +hooligan/MS +hooliganism/M +hoon/MDRSZG +hooner/M +hoop/MDSG +hoopla/M +hooray +hoosegow/SM +hoot/MDRSZG +hootenanny/SM +hooter/M +hoover/DSG +hooves +hop/SGMD +hope/MS +hopeful/PSMY +hopefulness/M +hopeless/YP +hopelessness/M +hopped +hopper/MS +hopping +hopscotch/MDSG +hora/MS +horde/DSMG +horehound/SM +horizon/SM +horizontal/SMY +hormonal +hormone/SM +horn/MDS +hornbeam +hornblende/M +hornet/MS +hornless +hornlike +hornpipe/MS +horny/TR +horologic +horological +horologist/MS +horology/M +horoscope/SM +horrendous/Y +horrible/P +horribleness/M +horribly +horrid/Y +horrific +horrifically +horrify/DSG +horrifying/Y +horror/MS +horse's +horse/UDSG +horseback/M +horsebox/S +horseflesh/M +horsefly/SM +horsehair/M +horsehide/M +horselaugh/M +horselaughs +horseless +horseman/M +horsemanship/M +horsemen +horseplay/M +horsepower/M +horseradish/MS +horseshit/! +horseshoe/DSM +horseshoeing +horsetail/SM +horsetrading +horsewhip/SM +horsewhipped +horsewhipping +horsewoman/M +horsewomen +horsey +horsier +horsiest +hortatory +horticultural +horticulturalist/S +horticulture/M +horticulturist/MS +hosanna/SM +hose/MGDS +hosepipe/S +hosier/MS +hosiery/M +hosp +hospholipase +hospice/MS +hospitable/I +hospitably/I +hospital/SM +hospitalisation/SM +hospitalise/DSG +hospitality/M +host/MDSG +hostage/MS +hostel/ZGMDRS +hosteler/M +hostelry/SM +hostess/MDSG +hostile/MYS +hostilities/M +hostility/SM +hostler/MS +hot/SYP +hotbed/MS +hotblooded +hotbox/MS +hotcake/SM +hotel/SM +hotelier/MS +hotfoot/MDGS +hothead/DSM +hotheaded/YP +hotheadedness/M +hothouse/SM +hotkey/S +hotlink/S +hotness/M +hotplate/SM +hotpot/S +hots/M +hotshot/MS +hotted +hotter +hottest +hottie/S +hotting +hound/SGMD +hour/MYS +hourglass/MS +houri/SM +house's +house/ADSG +houseboat/SM +housebound +houseboy/SM +housebreak/RSZG +housebreaker/M +housebreaking/M +housebroke +housebroken +houseclean/DSG +housecleaning/M +housecoat/SM +housefly/SM +houseful/SM +household/SMRZ +householder/M +househusband/SM +housekeeper/MS +housekeeping/M +houselights/M +housemaid/SM +houseman/M +housemaster/S +housemate/S +housemen +housemistress/S +housemother/SM +houseparent/SM +houseplant/MS +houseproud +houseroom +housetop/SM +housewares/M +housewarming/SM +housewife/MY +housewives +housework/M +housing/MS +hove +hovel/SM +hover/SGD +hoverboard/MS +hovercraft/MS +how'd +how're +how/SM +howbeit +howdah/M +howdahs +howdy +however +howitzer/SM +howl/MDRSZG +howler/M +howsoever +howzat +hoyden/MS +hoydenish +hp +hr/S +ht +huarache/SM +hub/SM +hubbub/SM +hubby/SM +hubcap/SM +hubris/M +huckleberry/SM +huckster/SGMD +hucksterism/M +huddle/DSMG +hue/DSM +huff/MDSG +huffily +huffiness/M +huffy/PRT +hug/STMR +huge/YP +hugeness/M +hugged +hugging +huh +hula/MS +hulk/MSG +hull/MDRSZG +hullabaloo/SM +huller/M +hum/SM +human/SMRYTP +humane/PY +humaneness/M +humanisation/CM +humanise/CDSG +humaniser/SM +humanism/M +humanist/SM +humanistic +humanitarian/MS +humanitarianism/M +humanities/M +humanity/ISM +humankind/M +humanness/M +humanoid/SM +humble/DRSZTGJP +humbleness/M +humbler/M +humbly +humbug/SM +humbugged +humbugging +humdinger/MS +humdrum/M +humeral +humeri +humerus/M +humid/Y +humidification/M +humidifier/CM +humidify/CZGDRS +humidity/M +humidor/SM +humiliate/DSGNX +humiliating/Y +humiliation/M +humility/M +hummed +hummer/SM +humming +hummingbird/SM +hummock/SM +hummocky +hummus/M +humongous +humoresque +humorist/MS +humorlessly +humorous/PY +humorousness/M +humour/GSMD +humourless/P +humourlessness/M +hump/MDSG +humpback/MDS +humph/DG +humphs +humus/M +hunch/MDSG +hunchback/SMD +hundred/SMH +hundredfold +hundredth/M +hundredths +hundredweight/SM +hung +hunger/SMDG +hungover +hungrily +hungriness/M +hungry/PRT +hunk/MRSZ +hunker/DG +hunky/RT +hunt/MDRSZG +hunter/M +hunting/M +huntress/MS +huntsman/M +huntsmen +hurdle/DRSMZG +hurdler/M +hurdling/M +hurl/MDRSZG +hurler/M +hurling/M +hurrah/GMD +hurrahs +hurricane/MS +hurried/UY +hurry/DSMG +hurt/MSG +hurtful/YP +hurtfulness/M +hurtle/DSG +husband/GMDS +husbandman/M +husbandmen +husbandry/M +hush/MDSG +husk/MDRSZG +husker/M +huskily +huskiness/M +husky/PRSMT +hussar/SM +hussy/SM +hustings/M +hustle/DRSMZG +hustler/M +hut/SM +hutch/MS +huzzah/MDG +huzzahs +hwy +hyacinth/M +hyacinths +hybrid/SM +hybridisation/M +hybridise/DSG +hybridism/M +hydra/SM +hydrangea/SM +hydrant/MS +hydrate's +hydrate/CGNDS +hydration/CM +hydraulic/S +hydraulically +hydraulics/M +hydro/M +hydrocarbon/MS +hydrocephalus/M +hydrochloride +hydrocortisone +hydrodynamic/S +hydrodynamics/M +hydroelectric +hydroelectrically +hydroelectricity/M +hydrofoil/MS +hydrogen/M +hydrogenate/CGDS +hydrogenation/M +hydrogenous +hydrologist/MS +hydrology/M +hydrolyse/DSG +hydrolysis/M +hydrometer/SM +hydrometry/M +hydrophilic +hydrophobia/M +hydrophobic +hydrophone/SM +hydroplane/GDSM +hydroponic/S +hydroponically +hydroponics/M +hydrosphere/M +hydrotherapy/M +hydrothermal +hydrous +hydroxide/SM +hyena/SM +hygiene/M +hygienic/U +hygienically +hygienist/MS +hygrometer/SM +hying +hymen/SM +hymeneal +hymn/MDSG +hymnal/MS +hymnbook/SM +hype/MGDRS +hyperactive +hyperactivity/M +hyperbola/SM +hyperbole/M +hyperbolic +hypercritical/Y +hypercube +hyperglycemia/M +hyperinflation +hyperlink/GSMD +hypermarket/S +hypermedia/M +hyperparathyroidism +hyperplane +hypersensitive/P +hypersensitiveness/M +hypersensitivity/SM +hyperspace/S +hypertension/M +hypertensive/SM +hypertext/M +hyperthyroid/M +hyperthyroidism/M +hypertrophy/DSMG +hyperventilate/GNDS +hyperventilation/M +hypervisor/MS +hyphen/MDSG +hyphenate/XDSMGN +hyphenation/M +hypnoses +hypnosis/M +hypnotherapist/S +hypnotherapy/M +hypnotic/SM +hypnotically +hypnotise/GDS +hypnotism/M +hypnotist/MS +hypo/MS +hypoallergenic +hypochondria/M +hypochondriac/SM +hypocrisy/SM +hypocrite/MS +hypocritical/Y +hypodermic/MS +hypoglycemia/M +hypoglycemic/SM +hypotenuse/MS +hypothalami +hypothalamus/M +hypothermia/M +hypotheses +hypothesis/MDSG +hypothesise +hypothetical/Y +hypothyroid/M +hypothyroidism/M +hyssop/M +hysterectomy/SM +hysteresis +hysteria/M +hysteric/SM +hysterical/Y +hysterics/M +i/US +iOS/M +iPad/M +iPhone/M +iPod/M +iTunes/M +iamb/MS +iambi +iambic/SM +iambus/MS +ibex/MS +ibid +ibidem +ibis/MS +ibuprofen/M +ice's +ice/CDSG +iceberg/SM +iceboat/SM +icebound +icebox/MS +icebreaker/SM +icecap/SM +iceman/M +icemen +ichthyologist/MS +ichthyology/M +icicle/SM +icily +iciness/M +icing/SM +icky/RT +icon/MS +iconic +iconoclasm/M +iconoclast/SM +iconoclastic +iconography/M +ictus/M +icy/TPR +id/SMY +idea/MS +ideal/SMY +idealisation/SM +idealise/DSG +idealism/M +idealist/SM +idealistic +idealistically +idem +idempotent +identical/Y +identifiable/U +identification/M +identified/U +identify/ZGNDRSX +identikit/S +identity/SM +ideogram/SM +ideograph/M +ideographs +ideological/Y +ideologist/SM +ideologue/MS +ideology/SM +ides/M +idiocy/SM +idiom/SM +idiomatic/U +idiomatically +idiopathic +idiosyncrasy/SM +idiosyncratic +idiosyncratically +idiot/SM +idiotic +idiotically +idle/MZTGDRSP +idleness/M +idler/M +idol/MS +idolater/SM +idolatress/MS +idolatrous +idolatry/M +idolisation/M +idolise/GDS +idyll/SM +idyllic +idyllically +if/SM +iffiness/M +iffy/RTP +igloo/SM +igneous +ignitable +ignite/AGDS +ignition/MS +ignoble +ignobly +ignominious/Y +ignominy/SM +ignoramus/MS +ignorance/M +ignorant/Y +ignore/GDS +iguana/MS +ii +iii +ilea +ileitis/M +ileum/M +ilia +ilium/M +ilk/SM +ill/SMP +illegal/MYS +illegality/SM +illegibility/M +illegible +illegibly +illegitimacy/M +illegitimate/Y +illiberal/Y +illiberality/M +illicit/YP +illicitness/M +illimitable +illiteracy/M +illiterate/MYS +illness/MS +illogical/Y +illogicality/M +illuminate/GNXDS +illuminating/Y +illumination/M +illumine/DSBG +illus/V +illusion/EMS +illusionist/SM +illusory +illustrate/GNVXDS +illustration/M +illustrative/Y +illustrator/SM +illustrious/PY +illustriousness/M +image/DSMG +imagery/M +imaginable/U +imaginably/U +imaginal +imaginary +imagination/MS +imaginative/UY +imagine/DSBJG +imago/M +imagoes +imam/MS +imbalance/DSM +imbecile/MS +imbecilic +imbecility/SM +imbibe/ZGDRS +imbiber/M +imbrication/M +imbroglio/SM +imbue/DSG +imitable/I +imitate/DSGNVX +imitation/M +imitative/PY +imitativeness/M +imitator/SM +immaculate/PY +immaculateness/M +immanence/M +immanency/M +immanent/Y +immaterial/YP +immateriality/M +immaterialness/M +immature/Y +immaturity/M +immeasurable +immeasurably +immediacies/M +immediacy/SM +immediate/PY +immediateness/M +immemorial/Y +immense/Y +immensity/SM +immerse/XDSGNV +immersible +immersion/M +immigrant/SM +immigrate/DSGN +immigration/M +imminence/M +imminent/Y +immobile +immobilisation/M +immobilise/ZGDRS +immobility/M +immoderate/Y +immodest/Y +immodesty/M +immolate/DSGN +immolation/M +immoral/Y +immorality/SM +immortal/MYS +immortalise/DSG +immortality/M +immovability/M +immovable +immovably +immune +immunisation/MS +immunise/GDS +immunity/M +immunodeficiency/M +immunodeficient +immunoglobulin/S +immunologic +immunological +immunologist/MS +immunology/M +immure/DSG +immutability/M +immutable +immutably +imp/SMR +impact/SMDG +impair/SDGL +impaired/U +impairment/MS +impala/SM +impale/DSGL +impalement/M +impalpable +impalpably +impanel/S +impanelled +impanelling +impart/SDG +impartial/Y +impartiality/M +impassably +impasse/BSMV +impassibility/M +impassible +impassibly +impassioned +impassive/YP +impassiveness/M +impassivity/M +impasto/M +impatience/MS +impatiens/M +impatient/Y +impeach/ZGBLDRS +impeachable/U +impeacher/M +impeachment/SM +impeccability/M +impeccable +impeccably +impecunious/PY +impecuniousness/M +impedance/M +impede/DSG +impeded/U +impediment/SM +impedimenta/M +impel/S +impelled +impeller/MS +impelling +impend/SDG +impenetrability/M +impenetrable +impenetrably +impenitence/M +impenitent/Y +imperative/SMY +imperceptibility/M +imperceptible +imperceptibly +imperceptive +imperf +imperfect/SMYP +imperfection/MS +imperfectness/M +imperial/MYS +imperialism/M +imperialist/SM +imperialistic +imperialistically +imperil/SL +imperilled +imperilling +imperilment/M +imperious/PY +imperiousness/M +imperishable +imperishably +impermanence/M +impermanent/Y +impermeability/M +impermeable +impermeably +impermissible +impersonal/Y +impersonate/GNXDS +impersonation/M +impersonator/SM +impertinence/MS +impertinent/Y +imperturbability/M +imperturbable +imperturbably +impervious/Y +impetigo/M +impetuosity/M +impetuous/YP +impetuousness/M +impetus/MS +impiety/SM +impinge/LDSG +impingement/M +impious/PY +impiousness/M +impish/YP +impishness/M +implacability/M +implacable +implacably +implant/BSGMD +implantation/M +implausibility/SM +implausible +implausibly +implement/GBMDRS +implementable/U +implementation/SM +implemented/U +implicate/DSG +implication/M +implicit/PY +implicitness/M +implode/DSG +implore/DSG +imploring/Y +implosion/MS +implosive +imply/XDSGN +impolite/YP +impoliteness/MS +impolitic +imponderable/MS +import/ZGBSMDR +importance/M +important/Y +importation/MS +importer/M +importunate/Y +importune/GDS +importunity/M +impose/ADSG +imposer/MS +imposing/U +imposingly +imposition/MS +impossibility/SM +impossible/S +impossibly +impost/SM +impostor/SM +imposture/MS +impotence/M +impotency/M +impotent/Y +impound/DGS +impoverish/DSLG +impoverishment/M +impracticability +impracticable +impracticably +impractical/Y +impracticality/M +imprecate/DSXGN +imprecation/M +imprecise/PYN +impreciseness/M +imprecision/M +impregnability/M +impregnable +impregnably +impregnate/GNDS +impregnation/M +impresario/SM +impress/MDSGV +impressed/U +impressibility/M +impressible +impression/BSM +impressionability/M +impressionism/M +impressionist/SM +impressionistic +impressive/PY +impressiveness/M +imprimatur/SM +imprint/MDRZGS +imprinter/M +imprison/SDLG +imprisonment/SM +improbability/SM +improbable +improbably +impromptu/SM +improper/Y +impropriety/SM +improve/GBDSL +improved/U +improvement/MS +improvidence/M +improvident/Y +improvisation/SM +improvisational +improvise/ZGDRS +improviser/M +imprudence/M +imprudent/Y +impudence/M +impudent/Y +impugn/ZGSDR +impugner/M +impulse/MGNVDS +impulsion/M +impulsive/PY +impulsiveness/M +impulsivity +impunity/M +impure/RYT +impurity/SM +imputation/SM +impute/BDSG +in/ASM +inaccuracy/S +inaction/M +inadequacy/S +inadvertence/M +inadvertent/Y +inalienability/M +inalienably +inamorata/SM +inane/RYT +inanimate/PY +inanimateness/M +inanity/SM +inappropriate/Y +inarticulate/Y +inasmuch +inaudible +inaugural/SM +inaugurate/XGNDS +inauguration/M +inboard/MS +inbound +inbox/MS +inbreed/S +inc/TGD +incalculably +incandescence/M +incandescent/Y +incantation/SM +incapacitate/GNDS +incarcerate/XDSGN +incarceration/M +incarnadine/DSG +incarnate/AXGNDS +incarnation/AM +incendiary/SM +incense/MGDS +incentive's +incentive/ES +inception/SM +incessant/Y +incest/M +incestuous/PY +incestuousness/M +inch/MDSG +inchoate +inchworm/SM +incidence/SM +incident/SM +incidental/MYS +incinerate/DSGN +incineration/M +incinerator/MS +incipience/M +incipient/Y +incise/XGNVDS +incision/M +incisive/PY +incisiveness/M +incisor/MS +incitement/MS +inciter/MS +incl +inclement +inclination/EM +inclinations +incline's +incline/EGDS +include/GDS +inclusion/MS +inclusive/YP +inclusiveness/M +incognito/MS +incombustible +incommode/GD +incommodious +incommunicado +incompatibility/S +incompetent/MS +incomplete/Y +inconceivability/M +incongruous/PY +incongruousness/M +inconsolably +inconstant/Y +incontestability/M +incontestably +incontinent +incontrovertibly +inconvenience/GD +incorporate/ADSGN +incorporated/U +incorporation/AM +incorporeal +incorrect/Y +incorrigibility/M +incorrigible +incorrigibly +incorruptibly +increasing/Y +increment/SMDG +incremental/Y +incrementalism +incrementalist/SM +incriminate/GNDS +incrimination/M +incriminatory +incrustation/SM +incubate/GNDS +incubation/M +incubator/SM +incubus/MS +inculcate/DSGN +inculcation/M +inculpate/DSG +incumbency/SM +incumbent/SM +incunabula +incunabulum/M +incur/SB +incurable/MS +incurably +incurious +incurred +incurring +incursion/MS +ind +indebted/P +indebtedness/M +indeed +indefatigable +indefatigably +indefeasible +indefeasibly +indefinably +indelible +indelibly +indemnification/M +indemnify/GDSXN +indemnity/SM +indentation/MS +indention/M +indenture/DG +independent/MS +indescribably +indestructibly +indeterminably +indeterminacy/M +indeterminate/Y +index/ZGMDRS +indexation/SM +indexer/M +indicate/XDSGNV +indication/M +indicative/SMY +indicator/MS +indict/GDSBL +indictment/SM +indie/S +indigence/M +indigenous +indigent/SMY +indignant/Y +indignation/M +indigo/M +indirect/Y +indiscipline +indiscreet/Y +indiscretion/S +indiscriminate/Y +indispensability/M +indispensable/MS +indispensably +indissolubility +indissolubly +indistinguishably +indite/GDS +indium/M +individual/MYS +individualisation/M +individualise/GDS +individualism/M +individualist/MS +individualistic +individualistically +individuality/M +individuate/DSGN +individuation/M +indivisibly +indoctrinate/GNDS +indoctrination/M +indolence/M +indolent/Y +indomitable +indomitably +indubitable +indubitably +induce/DRSZGL +inducement/SM +inducer/M +induct/DGV +inductance/M +inductee/SM +induction/MS +inductive/Y +indulge/DSG +indulgence/SM +indulgent/Y +industrial/Y +industrialisation/M +industrialise/DSG +industrialism/M +industrialist/SM +industrious/YP +industriousness/M +industry/SM +indwell/SG +inebriate/MGNDS +inebriation/M +inedible +ineffability/M +ineffable +ineffably +inelastic +ineligible/MS +ineligibly +ineluctable +ineluctably +inept/YP +ineptitude/M +ineptness/M +inequality/S +inert/YP +inertia/M +inertial +inertness/M +inescapable +inescapably +inestimably +inevitability/M +inevitable/M +inevitably +inexact/Y +inexhaustibly +inexorability +inexorable +inexorably +inexpedient +inexpert/Y +inexpiable +inexplicably +inexpressibly +inexpressive +inextricably +inf/ZT +infallible +infamy/SM +infancy/M +infant/MS +infanticide/MS +infantile +infantry/SM +infantryman/M +infantrymen +infarct/MS +infarction/M +infatuate/DSXGN +infatuation/M +infect/AESDG +infected/U +infection/ASM +infectious/PY +infectiousness/M +infelicitous +inference/SM +inferential +inferior/MS +inferiority/M +infernal/Y +inferno/MS +inferred +inferring +infest/GDS +infestation/MS +infidel/MS +infidelity/S +infiltrator/SM +infinite/MV +infinitesimal/SMY +infinitival +infinitive/MS +infinitude/M +infinity/SM +infirm +infirmary/SM +infirmity/SM +infix +inflame/DSG +inflammable +inflammation/SM +inflammatory +inflatable/SM +inflate/ADSG +inflation/EM +inflationary +inflect/SDG +inflection/MS +inflectional +inflexion/SM +inflict/SDGV +infliction/M +inflow/SM +influence/MGDS +influenced/U +influential/Y +influenza/M +info/M +infomercial/SM +inform/Z +informal/Y +informant/SM +informatics +information/EM +informational +informative/PY +informativeness/M +informed/U +infotainment/M +infra +infrared/M +infrasonic +infrastructural +infrastructure/SM +infrequence/M +infrequent/Y +infringement/MS +infuriate/GDS +infuriating/Y +infuser/SM +ingenious/PY +ingeniousness/M +ingenue/SM +ingenuity/M +ingenuous/EY +ingenuousness/M +ingest/SDG +ingestion/M +inglenook/SM +ingot/SM +ingrain/G +ingrate/SM +ingratiate/GNDS +ingratiating/Y +ingratiation/M +ingredient/MS +ingress/MS +inguinal +inhabit/DG +inhabitable/U +inhabitant/SM +inhabited/U +inhalant/SM +inhalation/MS +inhalator/MS +inhaler/SM +inharmonious +inhere/DSG +inherent/Y +inherit/EGSD +inheritance/EM +inheritances +inheritor/SM +inhibit/GSD +inhibition/SM +inhibitor/SM +inhibitory +inhuman/Y +inhumane/Y +inimical/Y +inimitably +iniquitous/Y +iniquity/SM +initial/SMY +initialisation +initialise/DSG +initialised/AU +initialism +initialled +initialling +initiate/XMGNVDS +initiated/U +initiation/M +initiative/SM +initiator/MS +initiatory +initio +inject/SDG +injection/SM +injector/SM +injunctive +injure/DRSZG +injured/U +injurer/M +injurious +ink/MD +inkblot/SM +inkiness/M +inkling/SM +inkstand/SM +inkwell/MS +inky/RTP +inland/M +inline +inmate/SM +inmost +inn/SGMRJ +innards/M +innate/PY +innateness/M +innermost +innersole/SM +innerspring +innervate/GNDS +innervation/M +inning/M +innit +innkeeper/MS +innocence/M +innocent/MYS +innocuous/PY +innocuousness/M +innovate/XDSGNV +innovation/M +innovator/MS +innovatory +innuendo/SM +innumerably +innumerate +inoculate/AGDS +inoculation/MS +inoperative +inordinate/Y +inorganic +inositol +inquire/ZGDR +inquirer/M +inquiring/Y +inquiry/SM +inquisition/MS +inquisitional +inquisitive/YP +inquisitiveness/M +inquisitor/SM +inquisitorial +inrush/MS +insane/T +insatiability/M +insatiably +inscribe/ZGDR +inscriber/M +inscription/MS +inscrutability/M +inscrutable/P +inscrutableness/M +inscrutably +inseam/SM +insecticidal +insecticide/MS +insectivore/MS +insectivorous +insecure/Y +inseminate/DSGN +insemination/M +insensate +insensible +insensitive/Y +inseparable/MS +insert's +insert/AGSD +insertion/AM +insertions +insetting +inshore +inside/RSMZ +insider/M +insidious/YP +insidiousness/M +insight/MS +insightful +insignia/M +insinuate/GNVDSX +insinuation/M +insinuator/SM +insipid/PY +insipidity/M +insist/SGD +insistence/M +insistent/Y +insisting/Y +insofar +insole/SM +insolence/M +insolent/Y +insoluble +insolubly +insolvency/S +insomnia/M +insomniac/SM +insomuch +insouciance/M +insouciant +inspect/AGDS +inspection/SM +inspector/MS +inspectorate/MS +inspiration/MS +inspirational +inspiratory +inspired/U +inspiring/U +inst +instability/S +install/UBZRSDG +installation/MS +installer/UM +instalment/MS +instance/GD +instant/MRYS +instantaneous/Y +instantiate/DSG +instar +instate/AGDS +instead +instigate/DSGN +instigation/M +instigator/MS +instil/S +instillation/M +instinct/VMS +instinctive/Y +instinctual +institute/XMZGNDRS +instituter/M +institution/M +institutional/Y +institutionalisation/M +institutionalise/DSG +instr +instruct/SDGV +instructed/U +instruction/MS +instructional +instructive/Y +instructor/MS +instrument/MDSG +instrumental/MYS +instrumentalist/SM +instrumentality/M +instrumentation/M +insubordinate +insufferable +insufferably +insula +insular +insularity/M +insulate/GNDS +insulation/M +insulator/MS +insulin/M +insult/SMDG +insulting/Y +insuperable +insuperably +insurance/SM +insure/DRSZGB +insured/SM +insurer/M +insurgence/SM +insurgency/SM +insurgent/MS +insurmountably +insurrection/SM +insurrectionist/SM +int +intact +intaglio/MS +integer/MS +integral/SMY +integrate/AEVNGSD +integration/EAM +integrator +integrity/M +integument/SM +intel/M +intellect/MS +intellectual/MYS +intellectualise/GDS +intellectualism/M +intelligence/M +intelligent/Y +intelligentsia/M +intelligibility/M +intelligible/U +intelligibly/U +intended/SM +intense/YTVR +intensification/M +intensifier/M +intensify/DRSZGN +intensity/S +intensive/MYPS +intensiveness/M +intent/SMYP +intention/MS +intentional/UY +intentness/M +inter/ESL +interact/SGVD +interaction/SM +interactive/Y +interactivity +interbred +interbreed/GS +intercede/GDS +intercept/GMDS +interception/MS +interceptor/SM +intercession/SM +intercessor/MS +intercessory +interchange/DSMG +interchangeability +interchangeable +interchangeably +intercity +intercollegiate +intercom/SM +intercommunicate/DSGN +intercommunication/M +interconnect/GDS +interconnection/SM +intercontinental +intercourse/M +intercultural +interdenominational +interdepartmental +interdependence/M +interdependent/Y +interdict/GMDS +interdiction/M +interdisciplinary +interest/ESMD +interested/U +interesting/Y +interface/MGDS +interfaith +interfere/GDS +interference/M +interferon/M +interfile/GDS +intergalactic +intergovernmental +interim/M +interior/SM +interj +interject/GDS +interjection/SM +interlace/GDS +interlard/DGS +interleave/DSG +interleukin/M +interline/GDSJ +interlinear +interlining/M +interlink/DSG +interlock/GMDS +interlocutor/SM +interlocutory +interlope/ZGDRS +interloper/M +interlude/MGDS +intermarriage/SM +intermarry/GDS +intermediary/SM +intermediate/MYS +interment/EM +interments +intermezzi +intermezzo/MS +interminably +intermingle/DSG +intermission/SM +intermittence +intermittency +intermittent/Y +intermix/GDS +intern/GDL +internal/SY +internalisation/M +internalise/GDS +international/SMY +internationalisation +internationalise/DSG +internationalism/M +internationalist/SM +internecine +internee/SM +internet +internist/MS +internment/M +internship/MS +interoffice +interoperability +interoperable +interoperate/S +interpenetrate/DSGN +interpersonal +interplanetary +interplay/M +interpolate/XDSGN +interpolation/M +interpose/GDS +interposition/M +interpret/AGVDS +interpretation/AMS +interpretative +interpreted/U +interpreter/MS +interracial +interred/E +interregnum/SM +interrelate/XDSGN +interrelation/M +interrelationship/MS +interring/E +interrogate/DSGNVX +interrogation/M +interrogative/MYS +interrogator/SM +interrogatory/SM +interrupt/ZGMDRS +interrupter/M +interruption/MS +interscholastic +intersect/GDS +intersection/SM +intersectional +intersectionality +intersession/SM +intersex +intersperse/GNDS +interspersion/M +interstate/MS +interstellar +interstice/MS +interstitial +intertwine/GDS +interurban +interval/SM +intervene/GDS +intervention/SM +interventionism/M +interventionist/SM +interview/ZGMDRS +interviewee/MS +interviewer/M +intervocalic +interwar +interweave/GS +interwove +interwoven +intestacy/M +intestate +intestinal +intestine/MS +intifada +intimacy/SM +intimate/MYGNDSX +intimation/M +intimidate/GNDS +intimidating/Y +intimidation/M +intonation/SM +intoxicant/SM +intoxicate/DSGN +intoxication/M +intracranial +intramural +intramuscular +intranet/MS +intransigence/M +intransigent/MYS +intrastate +intrauterine +intravenous/MSY +intrepid/Y +intrepidity/M +intricacy/SM +intricate/Y +intrigue/DRSMZG +intriguer/M +intriguing/Y +intrinsic +intrinsically +intro/SM +introduce/AGDS +introduction/AM +introductions +introductory +introit/SM +introspect/GVDS +introspection/M +introspective/Y +introversion/M +introvert/MDS +intrude/DRSZG +intruder/M +intrusion/SM +intrusive/YP +intrusiveness/M +intuit/SDGV +intuition/S +intuitive/PY +intuitiveness/M +inundate/XDSGN +inundation/M +inure/DSG +invade/DRSZG +invader/M +invalid/GMDYS +invalidism/M +invaluable +invaluably +invariant +invasion/MS +invasive +invective/M +inveigh/GD +inveighs +inveigle/ZGDRS +inveigler/M +invent/ASGVD +invention/AMS +inventive/PY +inventiveness/M +inventor/MS +inventory/DSMG +inverse/SMY +invert/SMDRZG +inverter/M +invest/ASDGL +investigate/GNVDSX +investigation/M +investigator/SM +investigatory +investiture/MS +investment/AEM +investor/SM +inveteracy/M +inveterate +invidious/YP +invidiousness/M +invigilate/GNDS +invigilator/S +invigorate/ADSG +invigorating/Y +invigoration/M +invincibility/M +invincibly +inviolability/M +inviolably +inviolate +invitation/SM +invitational/SM +invite/DSMG +invited/U +invitee/SM +inviting/Y +invoke/DSG +involuntariness/M +involuntary/P +involution/M +involve/LDSG +involved/U +involvement/SM +inward/SY +ioctl +iodide/SM +iodine/M +iodise/DSG +ion/USM +ionic +ionisation/UM +ionise/UDSG +ionizer/MS +ionosphere/MS +ionospheric +iota/MS +ipecac/SM +irascibility/M +irascible +irascibly +irate/YP +irateness/M +ire/M +ireful +irenic +irides +iridescence/M +iridescent/Y +iridium/M +iris/MS +irk/SGD +irksome/YP +irksomeness/M +iron/MDSG +ironclad/MS +ironic +ironical/Y +ironing/M +ironmonger/S +ironmongery +ironstone/M +ironware/M +ironwood/MS +ironwork/M +irony/SM +irradiate/DSGN +irradiation/M +irrational/SMY +irrationality/M +irreclaimable +irreconcilability/M +irreconcilable +irreconcilably +irrecoverable +irrecoverably +irredeemable +irredeemably +irreducible +irreducibly +irrefutable +irrefutably +irregular/MYS +irregularity/SM +irrelevance/MS +irrelevancy/MS +irrelevant/Y +irreligion +irreligious +irremediable +irremediably +irremovable +irreparable +irreparably +irreplaceable +irrepressible +irrepressibly +irreproachable +irreproachably +irresistible +irresistibly +irresolute/PYN +irresoluteness/M +irresolution/M +irrespective +irresponsibility/M +irresponsible +irresponsibly +irretrievable +irretrievably +irreverence/M +irreverent/Y +irreversible +irreversibly +irrevocable +irrevocably +irrigable +irrigate/DSGN +irrigation/M +irritability/M +irritable +irritably +irritant/SM +irritate/DSXGN +irritating/Y +irritation/M +irrupt/DGVS +irruption/SM +ischaemia +ischaemic +isinglass/M +isl +island/SZMR +islander/M +isle/MS +islet/SM +ism/CM +isms +isn't +isobar/MS +isobaric +isolate/DSMGN +isolation/M +isolationism/M +isolationist/SM +isomer/MS +isomeric +isomerism/M +isometric/S +isometrically +isometrics/M +isomorphic +isomorphism +isosceles +isotherm/SM +isotope/SM +isotopic +isotropic +issuance/M +issue/ADSMG +issuer/MS +isthmian +isthmus/MS +it'd +it'll +it/USM +ital +italic/SM +italicisation/M +italicise/GDS +italics/M +itch/MDSG +itchiness/M +itchy/RPT +item/MS +itemisation/M +itemise/GDS +iterate/AXGNVDS +iteration/AM +iterator/S +itinerant/SM +itinerary/SM +itself +iv/U +ivory/SM +ivy/DSM +ix +j/F +jab/SM +jabbed +jabber/SMDRZG +jabberer/M +jabbing +jabot/SM +jacaranda/MS +jack/MDGS +jackal/SM +jackaroo/SMDG +jackass/MS +jackboot/SMD +jackdaw/MS +jacket/SMD +jackhammer/MS +jackknife/MGDS +jackknives +jackpot/MS +jackrabbit/MS +jackstraw/MS +jacquard/M +jade/MGDS +jaded/PY +jadedness/M +jadeite/M +jag/SM +jagged/TPRY +jaggedness/M +jaggies +jaguar/SM +jail/MDRZGS +jailbird/SM +jailbreak/SM +jailer/M +jailhouse/S +jalapeno/MS +jalopy/SM +jalousie/MS +jam/SM +jamb/MS +jambalaya/M +jamboree/MS +jammed +jamming +jammy/RT +jangle/DRSMZG +jangler/M +janitor/SM +janitorial +japan/SM +japanned +japanning +jape/MGDS +jar/SM +jardiniere/SM +jarful/MS +jargon/M +jarred +jarring/Y +jasmine/SM +jasper/M +jato/MS +jaundice/DSMG +jaunt/SGMD +jauntily +jauntiness/M +jaunty/RPT +java/M +javelin/SM +jaw/SGMD +jawbone/DSMG +jawbreaker/MS +jawline/S +jay/SM +jaybird/SM +jaywalk/DRSZG +jaywalker/M +jaywalking/M +jazz/MDSG +jazzy/TR +jct +jealous/Y +jealousy/SM +jean/MS +jeans/M +jeep/MS +jeer/MDSG +jeering/MY +jeez +jejuna +jejune +jejunum/M +jell/DSG +jello/S +jelly/GDSM +jellybean/MS +jellyfish/MS +jellylike +jellyroll/SM +jemmy/GDS +jennet/MS +jenny/SM +jeopardise/GDS +jeopardy/M +jeremiad/MS +jerk/MDSG +jerkily +jerkin/MS +jerkiness/M +jerkwater +jerky/TRMP +jeroboam/S +jerrybuilt +jerrycan/S +jersey/MS +jest/MDRSZG +jester/M +jesting/Y +jet/SM +jetliner/SM +jetport/MS +jetsam/M +jetted +jetting +jettison/MDSG +jetty/SM +jewel/SM +jewelled +jeweller/MS +jewellery/M +jewelling +jewelries +jg +jib/SGMD +jibbed +jibbing +jibe/MS +jiff/MS +jiffy/SM +jig's +jig/AS +jigged/A +jigger's +jigger/ASDG +jigging/A +jiggle/DSMG +jiggly +jigsaw/SMDG +jihad/SM +jihadist/SM +jillaroo/SMDG +jilt/MDSG +jimmy/DSMG +jimsonweed/M +jingle/DSMG +jingly +jingoism/M +jingoist/SM +jingoistic +jink/DSG +jinn +jinni/M +jinrikisha/SM +jinx/MDSG +jitney/SM +jitterbug/MS +jitterbugged +jitterbugger/M +jitterbugging +jitters/M +jittery/RT +jive/MGDS +job/SM +jobbed +jobber/SM +jobbing +jobholder/MS +jobless/P +joblessness/M +jobshare/S +jobsworth +jobsworths +jock/MS +jockey/SGMD +jockstrap/MS +jocose/PY +jocoseness/M +jocosity/M +jocular/Y +jocularity/M +jocund/Y +jocundity/M +jodhpurs/M +joey/S +jog/SM +jogged +jogger/SM +jogging/M +joggle/DSMG +john/MS +johnny/SM +johnnycake/MS +join's +join/AFDSG +joiner/FMS +joinery/M +joint's +joint/EGSD +jointly/F +joist/SM +jojoba +joke/MZGDRS +joker/M +jokey +jokier +jokiest +joking/Y +jollification/SM +jollily +jolliness/M +jollity/M +jolly/TGPDRSM +jolt/MDRSZG +jolter/M +jonquil/SM +josh/MDRSZG +josher/M +jostle/MGDS +jot/SM +jotted +jotter/MS +jotting/MS +joule/SM +jounce/MGDS +jouncy +journal/MS +journalese/M +journalism/M +journalist/SM +journalistic +journey/ZGMDRS +journeyer/M +journeyman/M +journeymen +journo/S +joust/SZGMDR +jouster/M +jousting/M +jovial/Y +joviality/M +jowl/MS +jowly/TR +joy/SGMD +joyful/YP +joyfuller +joyfullest +joyfulness/M +joyless/PY +joylessness/M +joyous/YP +joyousness/M +joyridden +joyride/RSMZG +joyrider/M +joyriding/M +joyrode +joystick/SM +jr +jubilant/Y +jubilation/M +jubilee/SM +judder/GDS +judge's +judge/ADSG +judgement/SM +judgemental +judgeship/M +judgmentally +judicatory/SM +judicature/M +judicial/Y +judiciary/SM +judicious/IYP +judiciousness/IM +judo/M +jug/SM +jugful/MS +jugged +juggernaut/SM +jugging +juggle/MZGDRS +juggler/M +jugglery/M +jugular/SM +juice/DRSMZG +juicer/M +juicily +juiciness/M +juicy/PTR +jujitsu/M +jujube/MS +jukebox/MS +julep/SM +julienne +jumble/MGDS +jumbo/SM +jumbuck/SM +jump/MDRSZG +jumper/M +jumpily +jumpiness/M +jumpsuit/MS +jumpy/TRP +jun +junco/SM +junction/FISM +juncture/FMS +jungle/MS +junior/MS +juniper/SM +junk/MDRSZG +junker/M +junket/MDSG +junketeer/MS +junkie/MTRS +junkyard/MS +junta/SM +juridic +juridical/Y +jurisdiction/SM +jurisdictional +jurisprudence/M +jurist/MS +juristic +juror/SM +jury/ISM +juryman/M +jurymen +jurywoman/M +jurywomen +just/RYPT +justice/IMS +justifiable/U +justifiably/U +justification/M +justified/U +justify/XGDSN +justness/M +jut/SM +jute/M +jutted +jutting +juvenile/SM +juxtapose/DSG +juxtaposition/SM +k/IFGS +kHz +kW +kWh +kabbalah +kaboom +kabuki/M +kaddish/MS +kaffeeklatch/MS +kaffeeklatsch/MS +kaftan/MS +kahuna/S +kaiser/MS +kale/M +kaleidoscope/MS +kaleidoscopic +kaleidoscopically +kamikaze/MS +kana +kanga/SM +kangaroo/MS +kanji +kaolin/M +kapok/M +kappa/SM +kaput +karakul/M +karaoke/MS +karat/SM +karate/M +karma/M +karmic +kart/MS +katakana +katydid/SM +kayak/SMDG +kayaking/M +kayo/MDSG +kazoo/SM +kc +kebab/SM +kedgeree +keel/MDSG +keelhaul/DGS +keen/MDRYSTGP +keenness/M +keep/MRSZG +keeper/M +keeping/M +keepsake/MS +keg/SM +kelp/M +kelpie/SM +kelvin/SM +ken/SM +kenned +kennel/SM +kennelled +kennelling +kenning +keno/M +kepi/MS +kept +keratin/M +keratitis +kerb/MDSG +kerbside +kerchief/SM +kerfuffle/S +kernel/SM +kerosene/M +kestrel/MS +ketch/MS +ketchup/M +keto +ketogenic +ketone/S +kettle/SM +kettledrum/SM +key/SGMD +keybinding/S +keyboard/ZGSMDR +keyboarder/M +keyboardist/SM +keyhole/MS +keynote/MZGDRS +keynoter/M +keypad/SM +keypunch/ZGMDRS +keypuncher/M +keystone/MS +keystroke/SM +keyword/MS +kg +khaki/SM +khan/MS +kibble/DSMG +kibbutz/MS +kibbutzim +kibitz/ZGDRS +kibitzer/M +kibosh/M +kick/MDRSZG +kickback/SM +kickball/M +kickboxing +kicker/M +kickoff/MS +kickstand/MS +kicky/RT +kid/SM +kidded +kidder/SM +kiddie/SM +kidding +kiddish +kiddo/SM +kidnap/S +kidnapped +kidnapper/MS +kidnapping/MS +kidney/SM +kidskin/M +kielbasa/MS +kielbasi +kike/S +kill/JMDRSZG +killdeer/SM +killer/M +killing/M +killjoy/SM +kiln/MDSG +kilo/MS +kilobyte/SM +kilocoulomb/S +kilocycle/SM +kilogram/SM +kilohertz/M +kilojoule/S +kilolitre/MS +kilometre/MS +kilonewton/S +kilopascal/S +kiloton/SM +kilovolt/S +kilowatt/SM +kilt/MDRS +kilter/M +kimono/MS +kin/M +kinase +kind's +kind/UPRYT +kinda +kindergarten/MRZS +kindergartener/M +kindhearted/PY +kindheartedness/M +kindle/AGDS +kindliness/M +kindling/M +kindly/URT +kindness/UM +kindnesses +kindred/M +kinds +kine/S +kinematic/S +kinematics/M +kinetic/S +kinetically +kinetics/M +kinfolk/SM +kinfolks/M +king/MYS +kingdom/SM +kingfisher/SM +kingly/RT +kingmaker/S +kingpin/SM +kingship/M +kink/MDSG +kinkily +kinkiness/M +kinky/TPR +kinsfolk/M +kinship/M +kinsman/M +kinsmen +kinswoman/M +kinswomen +kiosk/SM +kip/SM +kipped +kipper/MDGS +kipping +kirsch/MS +kismet/M +kiss/MDRSBZG +kisser/M +kissoff/SM +kissogram/S +kit/SGMD +kitchen/SM +kitchenette/MS +kitchenware/M +kite/MS +kith/M +kitsch/M +kitschy +kitted +kitten/MS +kittenish +kitting +kitty/SM +kiwi/MS +kiwifruit/MS +kl +klaxon/S +kleptocracy +kleptomania/M +kleptomaniac/SM +kludge/GDS +kluge/DS +klutz/MS +klutziness/M +klutzy/TRP +km +kn +knack/SZMR +knacker/GD +knapsack/MS +knave/SM +knavery/M +knavish/Y +knead/SZGDR +kneader/M +knee/MDS +kneecap/SM +kneecapped +kneecapping +kneeing +kneel/SG +knell/SGMD +knelt +knew +knicker/S +knickerbockers/M +knickers/M +knickknack/MS +knife/DSMG +knight/MDYSG +knighthood/MS +knightliness/M +knish/MS +knit/MS +knitted +knitter/SM +knitting/M +knitwear/M +knives +knob/MS +knobbly +knobby/TR +knock/SZGMDR +knockabout +knockdown/SM +knocker/M +knockoff/SM +knockout/SM +knockwurst/SM +knoll/SM +knot/MS +knothole/SM +knotted +knotting +knotty/TR +know/SB +knowing/UYS +knowledge/M +knowledgeable +knowledgeably +known +knuckle/DSMG +knuckleduster/S +knucklehead/MS +knurl/SGMD +koala/SM +koan/S +kohl +kohlrabi/M +kohlrabies +kola/MS +kook/MS +kookaburra/SM +kookiness/M +kooky/TPR +kopeck/MS +korma +kosher/DSG +kowtow/GMDS +kph +kraal/SM +kraut/SM! +krill/M +krona/M +krone/RM +kronor +kronur +krypton/M +kt +kuchen/SM +kudos/M +kudzu/SM +kumquat/MS +kvetch/ZGMDRS +kvetcher/M +kw +kylie/SM +l/SDXTGJ +la/M +lab/SM +label's +label/AS +labelled/UA +labelling/A +labia +labial/SM +labile +labium/M +laboratory/SM +laborious/PY +laboriousness/M +labour/ZGSMDR +labourer/M +laboursaving +laburnum/MS +labyrinth/M +labyrinthine +labyrinths +lac/M +lace's +lace/UGDS +lacerate/DSGNX +laceration/M +lacewing/SM +lacework/M +lachrymal +lachrymose +lack/MDSG +lackadaisical/Y +lackey/SM +lacklustre +laconic +laconically +lacquer/GMDS +lacrosse/M +lactate/GNDS +lactation/M +lacteal +lactic +lactose/M +lacuna/M +lacunae +lacy/RT +lad/SGMDNJ +ladder/GSMD +laddie/SM +laddish/P +lade/S +laden/U +lading/M +ladle/DSMG +lady/SM +ladybird/SM +ladybug/MS +ladyfinger/MS +ladylike/U +ladylove/MS +ladyship/MS +laetrile/M +lag/SZMR +lager/M +laggard/MYS +lagged +lagging/M +lagniappe/SM +lagoon/SM +laid/IA +lain +lair/MS +laird/SM +laity/M +lake/MS +lakefront/S +lakeside +lam/SM +lama/MS +lamasery/SM +lamb/MDSG +lambada/MS +lambaste/GDS +lambda/SM +lambency/M +lambent/Y +lambkin/SM +lambskin/SM +lambswool +lame/MYZTGDRSP +lamebrain/MDS +lameness/M +lament/BSMDG +lamentably +lamentation/MS +lamina/M +laminae +laminar +laminate/MGNDS +lamination/M +lamington/SM +lammed +lamming +lamp/MS +lampblack/M +lamplight/MRZ +lamplighter/M +lampoon/SGMD +lamppost/SM +lamprey/MS +lampshade/SM +lanai/SM +lance/DRSMZG +lancer/M +lancet/SM +land/MDRSGJ +landau/SM +landfall/MS +landfill/MS +landholder/SM +landholding/MS +landing/M +landlady/SM +landless/M +landline/MS +landlocked +landlord/MS +landlubber/MS +landmark/MS +landmass/MS +landmine/S +landowner/MS +landownership +landowning/SM +landscape/MZGDRS +landscaper/M +landslid +landslide/MGS +landslip/S +landsman/M +landsmen +landward/S +lane/MS +language/MS +languid/PY +languidness/M +languish/DSG +languor/SM +languorous/Y +lank/RYTP +lankiness/M +lankness/M +lanky/RTP +lanolin/M +lantern/MS +lanthanum/M +lanyard/MS +lap/SM +laparoscopic +laparoscopy +laparotomy +lapboard/SM +lapdog/SM +lapel/SM +lapidary/SM +lapin/SM +lapped +lappet/SM +lapping +lapse/AKGMSD +laptop/SM +lapwing/MS +larboard/SM +larcenist/SM +larcenous +larceny/SM +larch/MS +lard/MDRSZG +larder/M +lardy/RT +large/RSPMYT +largehearted +largeness/M +largess/M +largish +largo/SM +lariat/SM +lark/MDSG +larkspur/SM +larrikin/MS +larrikinism/MS +larva/M +larvae +larval +laryngeal +larynges +laryngitis/M +larynx/M +lasagne/MS +lascivious/YP +lasciviousness/M +lase/ZGDRS +laser/M +lash/MDSGJ +lashing/M +lass/MS +lassie/SM +lassitude/M +lasso/SMDG +last/MDYSG +lasting/Y +lat/S +latch's +latch/UDSG +latchkey/SM +late/YTRP +latecomer/MS +latency/M +lateness/M +latent +lateral/MDYSG +latest/M +latex/M +lath/MDRSZG +lathe/M +lather/GMD +lathery +laths +latices +latish +latitude/MS +latitudinal +latitudinarian/MS +latrine/MS +latte/RSM +latter/MY +lattice/MDS +latticework/SM +laud/MDSGB +laudably +laudanum/M +laudatory +laugh/BMDG +laughably +laughing/MY +laughingstock/SM +laughs +laughter/M +launch/AGMDS +launcher/SM +launchpad/SM +launder/DRZGS +launderer/M +launderette/SM +laundress/MS +laundromat/MS +laundry/SM +laundryman/M +laundrymen +laundrywoman/M +laundrywomen +laureate/MS +laureateship/M +laurel/SM +lav/SGD +lava/M +lavage/M +lavaliere/SM +lavatorial +lavatory/SM +lave/S +lavender/SM +lavish/PTGDRSY +lavishness/M +law/SM +lawbreaker/SM +lawbreaking/M +lawful/UPY +lawfulness/UM +lawgiver/MS +lawless/PY +lawlessness/M +lawmaker/MS +lawmaking/M +lawman/M +lawmen +lawn/MS +lawnmower/SM +lawrencium/M +lawsuit/MS +lawyer/SM +lax/TRYP +laxative/MS +laxity/M +laxness/M +lay/AICSGM +layabout/S +layaway/M +layer/CSM +layered +layering/M +layette/MS +layman/M +laymen +layoff/SM +layout/SM +layover/MS +laypeople +layperson/MS +layup/SM +laywoman/M +laywomen +laze/MGDS +lazily +laziness/M +lazy/DRSTGP +lazybones/M +lb/S +lbw +lea/SM +leach/DSG +lead/MDNRSZG +leader/M +leaderless +leadership/SM +leading/M +leaf/MDSG +leafage/M +leafless +leaflet/GMDS +leafstalk/MS +leafy/RT +league/DSMG +leak/MDSG +leakage/MS +leakiness/M +leaky/PRT +lean/MDRSTGJP +leaning/M +leanness/M +leap/MDRSZG +leaper/M +leapfrog/MS +leapfrogged +leapfrogging +leapt +learn/AUGDS +learnability +learnable +learnedly +learner/MS +learning's +learnt/U +lease/ADSMG +leaseback/SM +leasehold/MRSZ +leaseholder/M +leaser/SM +leash's +leash/UDSG +least/M +leastwise +leather/MS +leatherette/M +leatherneck/MS +leathery +leave/DRSMZGJ +leaven/SGMD +leavened/U +leavening/M +leaver/M +leavings/M +lech/MDRSZG +lecher/M +lecherous/PY +lecherousness/M +lechery/M +lecithin/M +lectern/MS +lecture/MZGDRS +lecturer/M +lectureship/SM +ledge/RSMZ +ledger/M +lee/RSMZ +leech/MDSG +leek/MS +leer/MDG +leeriness/M +leery/RPT +leeward/SM +leeway/M +left/MRST +leftism/M +leftist/SM +leftmost +leftover/SM +leftward/S +lefty/SM +leg/SM +legacy/SM +legal/SMY +legalese/M +legalisation/M +legalise/GDS +legalism/MS +legalistic +legalistically +legality/SM +legate/CXMNS +legatee/MS +legation's/AC +legato/SM +legend/SM +legendarily +legendary +legerdemain/M +legged +legginess/M +legging/MS +leggy/RPT +leghorn/MS +legibility/M +legible +legibly +legion/SM +legionary/SM +legionnaire/SM +legislate/DSGNV +legislation/M +legislative/Y +legislator/MS +legislature/SM +legit +legitimacy/M +legitimate/DSYG +legitimatise/GDS +legitimisation/M +legitimise/DSG +legless +legman/M +legmen +legroom/SM +legume/MS +leguminous +legwarmer/S +legwork/M +lei/SM +leisure/DMY +leisureliness/M +leisurewear/M +leitmotif/MS +leitmotiv/MS +lemma/S +lemme/JG +lemming/M +lemon/SM +lemonade/SM +lemongrass +lemony +lemur/SM +lend/RSZG +lender/M +length/MNX +lengthen/GD +lengthily +lengthiness/M +lengths +lengthwise +lengthy/PRT +lenience/M +leniency/M +lenient/Y +lenitive +lens/MS +lent +lentil/MS +lento +leonine +leopard/SM +leopardess/MS +leotard/SM +leper/SM +leprechaun/MS +leprosy/M +leprous +lepta +lepton/MS +lesbian/SM +lesbianism/M +lesion/MS +less/MNRX +lessee/MS +lessen/GD +lesson/MS +lessor/MS +let/ISM +letdown/SM +lethal/Y +lethargic +lethargically +lethargy/M +letter/ZGMDRS +letterbomb/S +letterbox/S +lettered/U +letterer/M +letterhead/MS +lettering/M +letterpress/M +letting/S +lettuce/MS +letup/SM +leucine +leucotomy/S +leukaemia/M +leukemic/SM +leukocyte/MS +levee/SM +level/PSMY +levelheaded/P +levelheadedness/M +levelled +leveller/SM +levelling +levelness/M +lever/SGMD +leverage's +leverage/CDSG +leviathan/MS +levier/M +levitate/DSGN +levitation/M +levity/M +levy/DRSMZG +lewd/RYPT +lewdness/M +lexer/S +lexical +lexicographer/MS +lexicographic +lexicographical +lexicography/M +lexicon/SM +lexis +lg +liabilities +liability/AM +liable/A +liaise/GDS +liaison/MS +liar/MS +lib/M +libation/SM +libber/MS +libel/SM +libelled +libeller/SM +libelling +libellous +liberal/MYPS +liberalisation/MS +liberalise/GDS +liberalism/M +liberality/M +liberalness/M +liberate/CDSGN +liberation/CM +liberator/MS +libertarian/SM +libertine/MS +liberty/SM +libidinal +libidinous +libido/MS +librarian/MS +librarianship +library/SM +librettist/MS +libretto/SM +lice +licence/MS +license/GDS +licensed/U +licensee/MS +licentiate/SM +licentious/YP +licentiousness/M +lichen/MS +licit/Y +lick/MDJSG +licking/M +licorice/SM +lid/SM +lidded +lidless +lido/MS +lie/DSM +lied/MR +lief/RT +liege/SM +lien/MS +lieu/M +lieutenancy/M +lieutenant/MS +life/MZR +lifebelt/S +lifeblood/M +lifeboat/MS +lifebuoy/MS +lifeforms +lifeguard/SM +lifeless/YP +lifelessness/M +lifelike +lifeline/MS +lifelong +lifer/M +lifesaver/SM +lifesaving/M +lifespan/S +lifestyle/SM +lifetime/MS +lifework/MS +lift/MDRSZG +lifter/M +liftoff/SM +ligament/MS +ligate/GNDS +ligation/M +ligature/MGDS +light's/C +light/CASTGD +lighted/U +lighten/SDRZG +lightener/M +lighter/SM +lightface/MD +lightheaded +lighthearted/YP +lightheartedness/M +lighthouse/MS +lighting's +lightly +lightness/M +lightning/MDS +lightproof +lightship/MS +lightweight/SM +ligneous +lignin +lignite/M +lii +like/EMGDST +likeability/M +likeable/P +likeableness/M +likelihood/UM +likelihoods +likeliness/UM +likely/UPRT +liken/SGD +likeness/UM +likenesses +liker +likewise +liking/M +lilac/SM +lilliputian +lilly +lilo/S +lilt/MDSG +lily/SM +limb/MS +limber/UDSG +limberness/M +limbless +limbo/SM +lime/MGDS +limeade/SM +limelight/M +limerick/SM +limescale +limestone/M +limey/S +limit's +limit/CSZGDR +limitation/CM +limitations +limited/U +limiter's +limiting/S +limitless/P +limitlessness/M +limn/DSG +limo/MS +limousine/MS +limp/MDRYSPTG +limpet/MS +limpid/YP +limpidity/M +limpidness/M +limpness/M +limy/RT +linage/M +linchpin/SM +linden/MS +line/MZGDRSJ +lineage/MS +lineal/Y +lineament/SM +linear/Y +linearity/M +linebacker/MS +lined/U +linefeed +lineman/M +linemen +linen/SM +linens/M +liner/M +linesman/M +linesmen +lineup/MS +ling/M +linger/ZGJDRS +lingerer/M +lingerie/M +lingering/Y +lingo/M +lingoes +lingual +linguine/M +linguist/SM +linguistic/S +linguistically +linguistics/M +liniment/SM +lining/M +link/MDRSG +linkage/MS +linkman +linkmen +linkup/MS +linnet/MS +lino +linoleum/M +linseed/M +lint's +lint/CDG +lintel/MS +lints +linty/TR +lion/MS +lioness/MS +lionhearted +lionisation/M +lionise/GDS +lip/SM +lipid/SM +liposuction/M +lipped +lippy +lipread/GRS +lipreader/M +lipreading/M +lipstick/MDSG +liq +liquefaction/M +liquefy/DSG +liqueur/SM +liquid/MS +liquidate/XGNDS +liquidation/M +liquidator/MS +liquidise/ZGDRS +liquidiser/M +liquidity/M +liquor/MDGS +lira/M +lire +lisle/M +lisp/MDRSZG +lisper/M +lissom +list/MDNSJXG +listed/U +listen/BMDRZG +listener/M +listeria +listing/M +listless/YP +listlessness/M +lit/U +litany/SM +litchi/MS +lite +literacy/M +literal/SMYP +literalness/M +literariness/M +literary/P +literate/SMY +literati/M +literature/M +lithe/RPYT +litheness/M +lithesome +lithium/M +lithograph/MDRZG +lithographer/M +lithographic +lithographically +lithographs +lithography/M +lithosphere/SM +litigant/SM +litigate/DSGN +litigation/M +litigator/MS +litigious/P +litigiousness/M +litmus/M +litotes/M +litre/SM +litter/MDRSZG +litterateur/MS +litterbug/MS +litterer/M +little/MTRP +littleness/M +littoral/SM +liturgical/Y +liturgist/SM +liturgy/SM +livability/M +livable/U +live/ATGDSB +livelihood/SM +liveliness/M +livelong/S +lively/PRT +liven/SGD +liver's +liver/S +liveried +liverish +liverwort/MS +liverwurst/M +livery/CSM +liveryman/CM +liverymen/C +livestock/M +liveware +livid/Y +living/MS +lix/K +lizard/MS +ll +llama/SM +llano/SM +lo +load's +load/AUGSD +loadable +loader/MS +loading's +loaf/MDRSZG +loafer/M +loam/M +loamy/TR +loan/MDRSZG +loaner/M +loansharking/M +loanword/MS +loath/JZGDRS +loathe +loather/M +loathing/M +loathsome/PY +loathsomeness/M +loaves +lob/SMD +lobar +lobbed +lobber/MS +lobbing +lobby/GDSM +lobbyist/MS +lobe/MS +lobotomise/DSG +lobotomy/SM +lobster/MS +local/SMY +locale/MS +localisation/M +localise/DSG +locality/SM +locate/EAGNDS +location's/A +location/ESM +locator/MS +locavore/SM +loci +lock/MDRSBZG +locker/M +locket/MS +lockjaw/M +lockout/MS +locksmith/M +locksmiths +lockstep/M +lockup/MS +loco/S +locomotion/M +locomotive/MS +locoweed/SM +locum/S +locus/M +locust/SM +locution/MS +lode/MS +lodestar/MS +lodestone/MS +lodge/DRSJMZG +lodger/M +lodging/M +lodgings/M +loft/MDSG +loftily +loftiness/M +lofty/PRT +log/SM +loganberry/SM +logarithm/SM +logarithmic +logbook/SM +loge/MS +logged +logger/SM +loggerhead/SM +loggia/SM +logging/M +logic/M +logical/Y +logicality/M +logician/MS +login/SM +logistic/S +logistical/Y +logistics/M +logjam/SM +logo/MS +logoff/SM +logon/SM +logotype/SM +logout/SM +logrolling/M +logy/RT +loin/MS +loincloth/M +loincloths +loiter/ZGSDR +loiterer/M +loitering/M +lolcat/SM +loll/DSG +lollipop/SM +lollop/GSD +lolly/S +lollygag/S +lollygagged +lollygagging +lone/YZR +loneliness/M +lonely/PTR +loner/M +lonesome/YP +lonesomeness/M +long's +long/KDSTG +longboat/MS +longbow/MS +longer +longevity/M +longhair/MS +longhand/M +longhorn/MS +longhouse/S +longing/MYS +longish +longitude/MS +longitudinal/Y +longshoreman/M +longshoremen +longsighted +longstanding +longtime +longueur/SM +longways +loo +loofah/M +loofahs +look/MDRSZG +lookalike/MS +looker/M +lookout/MS +lookup +loom/MDSG +loon/MS +loonie/M +loony/RSMT +loop/MDSG +loophole/MS +loopy/RT +loos/NRX +loose/UDSTG +loosely +loosen/UGSD +looseness/M +loot/MDRSZG +looter/M +looting/M +lop/S +lope/MGDS +lopped +lopping +lopsided/YP +lopsidedness/M +loquacious/PY +loquaciousness/M +loquacity/M +lord/MDYSG +lordliness/M +lordly/TPR +lordship/SM +lore/M +lorgnette/SM +loris/MS +lorn +lorry/SM +lose/ZGRSJ +loser/M +losing/M +loss/MS +lossless +lost +lot/SM +lotion/SM +lottery/SM +lotto/M +lotus/MS +louche +loud/RYTP +loudhailer/SM +loudmouth/MD +loudmouths +loudness/M +loudspeaker/MS +lough +loughs +lounge/MZGDRS +lounger/M +lour/DSG +louse's +louse/CDSG +lousily +lousiness/M +lousy/TPR +lout/MS +loutish/PY +louvre/MDS +lovableness/M +lovably +love/MYZGDRSB +lovebird/SM +lovechild/M +loved/U +loveless +loveliness/M +lovelorn +lovely/RSMTP +lovemaking/M +lover/M +lovesick +lovey/S +loving/Y +low/SZTGMDRYP +lowborn +lowboy/MS +lowbrow/SM +lowdown/M +lower/GD +lowercase/M +lowermost +lowish +lowland/SZMR +lowlander/M +lowlife/SM +lowliness/M +lowly/TPR +lowness/M +lox/M +loyal/ETY +loyaler +loyalism/M +loyalist/SM +loyalties +loyalty/EM +lozenge/SM +ltd +luau/MS +lubber/MYS +lube/MGDS +lubricant/SM +lubricate/DSGN +lubrication/M +lubricator/MS +lubricious/Y +lubricity/M +lucid/PY +lucidity/M +lucidness/M +luck/MDSG +luckily/U +luckiness/UM +luckless +lucky/UPTR +lucrative/YP +lucrativeness/M +lucre/M +lucubrate/GNDS +lucubration/M +ludicrous/YP +ludicrousness/M +ludo +luff/DSG +lug/SM +luge/S +luggage/M +lugged +lugger/MS +lugging +lughole/S +lugsail/SM +lugubrious/YP +lugubriousness/M +lukewarm/YP +lukewarmness/M +lull/MDSG +lullaby/SM +lulu/S +lumbago/M +lumbar +lumber/MDRZGS +lumberer/M +lumbering/M +lumberjack/SM +lumberman/M +lumbermen +lumberyard/SM +lumen +luminary/SM +luminescence/M +luminescent +luminosity/M +luminous/Y +lummox/MS +lump/MDNSG +lumpectomy/S +lumpenproletariat +lumpiness/M +lumpish +lumpy/TRP +lunacy/SM +lunar +lunatic/SM +lunch/GMDS +lunchbox/S +luncheon/SM +luncheonette/SM +lunchroom/MS +lunchtime/MS +lung/MDSG +lunge/SM +lungfish/MS +lungful/S +lunkhead/MS +lupin/SM +lupine +lupus/M +lurch/GMDS +lure/MGDS +lurgy +lurid/PY +luridness/M +lurk/DRSZG +luscious/PY +lusciousness/M +lush/MRSYPT +lushness/M +lust/MDSG +lustful/Y +lustily +lustiness/M +lustre/M +lustreless +lustrous/Y +lusty/PTR +lutanist/SM +lute/MS +lutenist/SM +lutetium/M +lux +luxuriance/M +luxuriant/Y +luxuriate/DSGN +luxuriation/M +luxurious/PY +luxuriousness/M +luxury/SM +lvi +lvii +lxi +lxii +lxiv +lxix +lxvi +lxvii +lyceum/MS +lychgate/S +lye/MG +lying/M +lymph/M +lymphatic/SM +lymphocyte/SM +lymphoid +lymphoma/SM +lynch/JZGDRS +lyncher/M +lynching/M +lynx/MS +lyre/MS +lyrebird/MS +lyric/SM +lyrical/Y +lyricism/M +lyricist/SM +lysosomal +lysosomes +m/KAS +ma'am +ma/SM +mac/SGMD +macabre +macadam/M +macadamia/SM +macadamise/GDS +macaque/MS +macaroni/MS +macaroon/MS +macaw/SM +mace/MS +macerate/DSGN +maceration/M +mach/M +machete/SM +machinate/GNDSX +machination/M +machine/DSMGB +machinery/M +machinist/MS +machismo/M +macho/M +mackerel/SM +mackinaw/SM +mackintosh/MS +macrame/M +macro/SM +macrobiotic/S +macrobiotics/M +macrocosm/SM +macroeconomic/S +macroeconomics/M +macrology/S +macron/MS +macrophages +macroscopic +mad/SMYP +madam/SM +madame/M +madcap/MS +madden/DGS +maddening/Y +madder/MS +maddest +madding +made/AU +mademoiselle/MS +madhouse/SM +madman/M +madmen +madness/M +madras/MS +madrasa/SM +madrasah/M +madrasahs +madrassa/SM +madrigal/SM +madwoman/M +madwomen +maelstrom/SM +maestro/SM +mafia/SM +mafiosi +mafioso/M +mag/SM +magazine/SM +mage/MS +magenta/M +maggot/MS +maggoty +magi/M +magic/SM +magical/Y +magician/SM +magicked +magicking +magisterial/Y +magistracy/M +magistrate/SM +magma/M +magnanimity/M +magnanimous/Y +magnate/SM +magnesia/M +magnesium/M +magnet/MS +magnetic +magnetically +magnetisable +magnetisation/CM +magnetise/CGDS +magnetism/M +magnetite/M +magneto/SM +magnetometer/SM +magnetosphere +magnification/M +magnificence/M +magnificent/Y +magnifier/M +magnify/ZGXDRSN +magniloquence/M +magniloquent +magnitude/SM +magnolia/MS +magnon +magnum/MS +magpie/MS +magus/M +maharajah/M +maharajahs +maharani/SM +maharishi/SM +mahatma/SM +mahogany/SM +mahout/MS +maid/MNSX +maiden/MY +maidenhair/M +maidenhead/SM +maidenhood/M +maidservant/SM +mail/JMDRSZG +mailbag/SM +mailbomb/GSD +mailbox/MS +mailer/M +mailing/M +maillot/SM +mailman/M +mailmen +mailshot/S +maim/DSG +main/MYS +mainframe/SM +mainland/MS +mainline/MGDS +mainmast/MS +mainsail/MS +mainspring/MS +mainstay/MS +mainstream/SMDG +maintain/ZGBDRS +maintainability +maintainable/U +maintained/U +maintenance/M +maintop/SM +maisonette/MS +maize/SM +majestic +majestically +majesty/SM +majolica/M +major/SGMDY +majordomo/MS +majorette/MS +majoritarian/SM +majoritarianism +majority/SM +make's/A +make/UAGS +makeover/MS +maker/SM +makeshift/SM +makeup/MS +makeweight/S +making/MS +makings/M +malachite/M +maladjusted +maladjustment/M +maladministration +maladroit/PY +maladroitness/M +malady/SM +malaise/M +malamute/MS +malapropism/SM +malaria/M +malarial +malarkey/M +malathion/M +malcontent/MS +male/MPS +malediction/SM +malefaction/M +malefactor/SM +malefic +maleficence/M +maleficent +maleness/M +malevolence/M +malevolent/Y +malfeasance/M +malformation/SM +malformed +malfunction/MDSG +malice/M +malicious/PY +maliciousness/M +malign/DSG +malignancy/SM +malignant/Y +malignity/M +malinger/ZGSDR +malingerer/M +mall/MS +mallard/SM +malleability/M +malleable +mallet/MS +mallow/MS +malnourished +malnutrition/M +malocclusion/M +malodorous +malpractice/SM +malt/MDSG +malted/MS +maltose/M +maltreat/GLDS +maltreatment/M +malty/TR +malware/M +mam/S +mama/MS +mamba/SM +mambo/SGMD +mamma/M +mammal/MS +mammalian/MS +mammary +mammogram/MS +mammography/M +mammon/M +mammoth/M +mammoths +mammy/SM +man's/F +man/USY +manacle/DSMG +manage/ZGDRSL +manageability/M +manageable/U +management/MS +manager/M +manageress/S +managerial +manana/MS +manatee/SM +mandala/SM +mandamus/MS +mandarin/MS +mandate/DSMG +mandatory +mandible/MS +mandibular +mandolin/MS +mandrake/MS +mandrel/SM +mandrill/MS +mane/MDS +manege/M +manful/Y +manga/M +manganese/M +mange/DRMZ +manger/M +mangetout/S +manginess/M +mangle/MZGDRS +mango/M +mangoes +mangrove/MS +mangy/TRP +manhandle/GDS +manhole/SM +manhood/M +manhunt/SM +mania/SM +maniac/MS +maniacal/Y +manic/SM +manically +manicure/MGDS +manicurist/MS +manifest/MDYSG +manifestation/SM +manifesto/SM +manifold/GMDS +manikin/SM +manilla/M +manioc/MS +manipulable +manipulate/XGNVDS +manipulation/M +manipulative/Y +manipulator/MS +mankind/M +manky +manlike +manliness/M +manly/UTR +manna/M +manned/U +mannequin/SM +manner/MDYS +mannerism/SM +mannerly/U +manning/U +mannish/YP +mannishness/M +manoeuvrability/M +manoeuvre/DSMGBJ +manometer/SM +manor/SM +manorial +manpower/M +manque +mansard/MS +manse/SXMN +manservant/M +mansion/M +manslaughter/M +manta/SM +mantel/MS +mantelpiece/SM +mantelshelf +mantelshelves +mantilla/SM +mantis/MS +mantissa/SM +mantle's +mantle/EGDS +mantoes +mantra/MS +manual/MYS +manufacture/DRSMZG +manufacturer/M +manufacturing/M +manumission/SM +manumit/S +manumitted +manumitting +manure/MGDS +manuscript/MS +many/M +map's +map/AS +maple/SM +mapmaker/SM +mapped/A +mapper/MS +mapping/S +mar/S +marabou/MS +marabout/SM +maraca/MS +maraschino/MS +marathon/SMRZ +marathoner/M +maraud/ZGDRS +marauder/M +marble/MGDS +marbleise/GDS +marbling/M +march/ZGMDRS +marcher/M +marchioness/MS +mare/MS +margarine/M +margarita/MS +marge +margin/MS +marginal/YS +marginalia/M +marginalisation +marginalise/GDS +marginalization's +maria/M +mariachi/MS +marigold/MS +marijuana/M +marimba/SM +marina/MS +marinade/DSMG +marinara/M +marinate/DSGN +marination/M +marine/MZRS +mariner/M +marionette/MS +marital/Y +maritime +marjoram/M +mark/AMDSG +markdown/SM +marked/U +markedly +marker/MS +market/MDRZGBS +marketability/M +marketable/U +marketeer/SM +marketer/M +marketing/M +marketplace/SM +marking/SM +markka/M +markkaa +marksman/M +marksmanship/M +marksmen +markup/MS +marl/M +marlin/MS +marlinespike/SM +marmalade/M +marmoreal +marmoset/SM +marmot/MS +maroon/MDGS +marque/MS +marquee/SM +marquess/MS +marquetry/M +marquis/MS +marquise/M +marquisette/M +marred/U +marriage/ASM +marriageability/M +marriageable +married/SM +marring +marrow/MS +marry/AGDS +marsh/MS +marshal/SM +marshalled +marshalling +marshland/SM +marshmallow/SM +marshy/RT +marsupial/MS +mart/MNSX +marten/M +martensite +martial/Y +martian/S +martin/MS +martinet/MS +martingale/MS +martini/SM +martyr/MDGS +martyrdom/M +marvel/MS +marvelled +marvelling +marvellous/Y +marzipan/M +masc +mascara/GMDS +mascot/MS +masculine/SM +masculinity/M +maser/SM +mash/MDRSZG +masher/M +mashup/MS +mask's +mask/UDSG +masker/MS +masochism/M +masochist/SM +masochistic +masochistically +mason/SM +masonic +masonry/M +masque/MS +masquerade/DRSMZG +masquerader/M +mass/MDSGV +massacre/MGDS +massage/DSMG +masseur/SM +masseuse/MS +massif/MS +massive/PY +massiveness/M +mast/MDS +mastectomy/SM +master's +master/ADGS +masterclass/S +masterful/Y +masterly +mastermind/SGMD +masterpiece/MS +masterstroke/SM +masterwork/MS +mastery/M +masthead/MS +mastic/M +masticate/GNDS +mastication/M +mastiff/SM +mastitis +mastodon/SM +mastoid/SM +masturbate/GNDS +masturbation/M +masturbatory +mat/SGMDR +matador/SM +match/AMS +matchbook/SM +matchbox/MS +matched/U +matching +matchless +matchlock/SM +matchmaker/MS +matchmaking/M +matchstick/MS +matchwood/M +mate/MS +material/SMY +materialisation/M +materialise/DSG +materialism/M +materialist/SM +materialistic +materialistically +materiel/M +maternal/Y +maternity/M +matey/S +mathematical/Y +mathematician/SM +mathematics/M +maths +matinee/SM +mating/M +matins/M +matres +matriarch/M +matriarchal +matriarchs +matriarchy/SM +matrices +matricidal +matricide/MS +matriculate/DSGN +matriculation/M +matrimonial +matrimony/M +matrix/M +matron/MYS +matt/S +matte/DRSMZG +matter/MDG +matting/M +mattock/SM +mattress/MS +maturate/GNDS +maturation/M +mature/YTGDRS +maturity/SM +matzo/SMH +matzoh/M +matzohs +matzot +maudlin +maul/MDRSZG +mauler/M +maunder/SDG +mausoleum/SM +mauve/M +maven/SM +maverick/SM +maw/SM +mawkish/PY +mawkishness/M +max/GMDS +maxi/MS +maxilla/M +maxillae +maxillary +maxim/SM +maxima +maximal/Y +maximisation/M +maximise/GDS +maximum/SM +may/M +maybe/SM +mayday/MS +mayflower/MS +mayfly/SM +mayhem/M +mayn't +mayo/M +mayonnaise/M +mayor/SM +mayoral +mayoralty/M +mayoress/MS +maypole/SM +mayst +maze/MS +mazurka/MS +mdse +me/DSH +mead/M +meadow/MS +meadowlark/MS +meagre/YP +meagreness/M +meal/MS +mealiness/M +mealtime/SM +mealy/TPR +mealybug/SM +mealymouthed +mean/MRYJPSTG +meander/SMDJG +meanderings/M +meanie/M +meaning/M +meaningful/PY +meaningfulness/M +meaningless/YP +meaninglessness/M +meanness/M +meant/U +meantime/M +meanwhile/M +meany/SM +meas +measles/M +measly/RT +measurable +measurably +measure's +measure/ADSG +measured/U +measureless +measurement/MS +meat/MS +meatball/MS +meathead/MS +meatiness/M +meatless +meatloaf/M +meatloaves +meatpacking/M +meaty/TPR +mecca/SM +mechanic/MS +mechanical/Y +mechanics/M +mechanisation/M +mechanise/DSG +mechanism/SM +mechanistic +mechanistically +medal/SM +medallion/SM +medallist/SM +meddle/ZGDRS +meddler/M +meddlesome +media/SM +medial/AY +median/MS +mediate/ADSGN +mediated/U +mediation/AM +mediator/MS +medic/SM +medicaid/M +medical/SMY +medicament/M +medicare/M +medicate/GNXDS +medication/M +medicinal/Y +medicine/MS +medico/MS +medieval +medievalist/MS +mediocre +mediocrity/SM +meditate/DSGNVX +meditation/M +meditative/Y +medium/MS +medley/MS +medulla/SM +medusa +medusae +meed/M +meek/RYPT +meekness/M +meerschaum/SM +meet/MJSG +meeting/M +meetinghouse/SM +meetup/MS +meg/S +mega +megabit/SM +megabucks/M +megabyte/MS +megachurch/MS +megacycle/SM +megadeath/M +megadeaths +megagram/S +megahertz/M +megajoule/S +megalith/M +megalithic +megaliths +megalomania/M +megalomaniac/SM +megalopolis/MS +megametre/S +megapascal/S +megaphone/DSMG +megapixel/SM +megastar/S +megaton/SM +megawatt/MS +meh +meiosis/M +meiotic +melamine/M +melancholia/M +melancholic/S +melancholy/M +melange/MS +melanin/M +melanoma/SM +meld/MDSG +melee/SM +meliorate/GNVDS +melioration/M +mellifluous/PY +mellifluousness/M +mellow/PTGDRYS +mellowness/M +melodic +melodically +melodious/YP +melodiousness/M +melodrama/MS +melodramatic/S +melodramatically +melodramatics/M +melody/SM +melon/SM +melt's +melt/ADSG +meltdown/SM +member's +member/EAS +membership/SM +membrane/SM +membranous +meme/MS +memento/MS +memo/MS +memoir/MS +memorabilia/M +memorability/M +memorable/U +memorably +memorandum/MS +memorial/SM +memorialise/DSG +memorisation/M +memorise/DSG +memory/SM +memsahib/S +men/M +menace/MGDS +menacing/Y +menage/MS +menagerie/MS +mend/MDRSZG +mendacious/Y +mendacity/M +mendelevium/M +mender/M +mendicancy/M +mendicant/SM +mending/M +menfolk/MS +menfolks/M +menhaden/M +menial/MYS +meningeal +meninges +meningitis/M +meninx/M +menisci +meniscus/M +menopausal +menopause/M +menorah/M +menorahs +mensch/MS +menservants +menses/M +menstrual +menstruate/GNDS +menstruation/M +mensurable +mensuration/M +menswear/M +mental/Y +mentalist/SM +mentality/SM +menthol/M +mentholated +mention/GSMD +mentioned/U +mentor/MDSG +mentorship +menu/MS +mercantile +mercantilism/M +mercenary/SM +mercer/MS +mercerise/GDS +merchandise/MZGDRS +merchandiser/M +merchandising/M +merchant/MBS +merchantman/M +merchantmen +merciful/UY +merciless/PY +mercilessness/M +mercurial/Y +mercuric +mercury/M +mercy/SM +mere/MYTS +meretricious/YP +meretriciousness/M +merganser/MS +merge/DRSZG +merger/M +meridian/MS +meringue/MS +merino/MS +merit/CSM +merited/U +meriting +meritless +meritocracy/SM +meritocratic +meritorious/PY +meritoriousness/M +mermaid/SM +merman/M +mermen +merrily +merriment/M +merriness/M +merry/TRP +merrymaker/MS +merrymaking/M +mesa/MS +mescal/MS +mescalin +mescaline/M +mesdames +mesdemoiselles +mesh/MDSG +mesmeric +mesmerise/ZGDRS +mesmeriser/M +mesmerism/M +mesomorph/M +mesomorphs +meson/SM +mesosphere/SM +mesquite/SM +mess/MDSG +message/MGDS +messeigneurs +messenger/SM +messiah/M +messiahs +messianic +messieurs +messily +messiness/M +messmate/SM +messy/PTR +mestizo/MS +met +meta +metabolic +metabolically +metabolise/DSG +metabolism/SM +metabolite/SM +metacarpal/SM +metacarpi +metacarpus/M +metadata +metal/SM +metalanguage/MS +metalled +metallic +metallurgic +metallurgical +metallurgist/MS +metallurgy/M +metalwork/MRZG +metalworker/M +metalworking/M +metamorphic +metamorphism/M +metamorphose/GDS +metamorphosis/M +metaphor/MS +metaphoric +metaphorical/Y +metaphysical/Y +metaphysics/M +metastases +metastasis/MDSG +metastasise +metastatic +metatarsal/MS +metatarsi +metatarsus/M +metatheses +metathesis/M +mete/MZGDRS +metempsychoses +metempsychosis/M +meteor/MS +meteoric +meteorically +meteorite/SM +meteoroid/SM +meteorologic +meteorological +meteorologist/SM +meteorology/M +meter/GMD +metformin +methadone/M +methamphetamine/M +methane/M +methanol/M +methinks +method/MS +methodical/YP +methodicalness/M +methodological/Y +methodology/SM +methotrexate +methought +meths +methyl/M +meticulous/YP +meticulousness/M +metier/MS +metre/SM +metric/S +metrical/Y +metricate/GNDS +metrication/M +metricise/GDS +metro/SM +metronome/MS +metropolis/MS +metropolitan +mettle/M +mettlesome +mew/SGMD +mewl/DSG +mews/M +mezzanine/MS +mezzo/SM +mfg +mfr/S +mg +mgr +mi/MNX +miaow/SGMD +miasma/MS +mic/S +mica/M +mice +mick/S +mickey/MS +micro/SM +microaggression/SM +microbe/MS +microbial +microbiological +microbiologist/MS +microbiology/M +microbrewery/SM +microchip/MS +microcircuit/SM +microcode +microcomputer/MS +microcosm/MS +microcosmic +microdot/SM +microeconomics/M +microelectronic/S +microelectronics/M +microfiber/MS +microfiche/M +microfilm/GMDS +microfinance +microfloppies +microgroove/SM +microlight/MS +microloan/MS +micromanage/ZGDRSL +micromanagement/M +micromanager/M +micrometeorite/SM +micrometer/MS +micrometre/MS +micron/MS +microorganism/MS +microphone/SM +microplastics +microprocessor/MS +microscope/SM +microscopic +microscopical/Y +microscopy/M +microsecond/MS +microsurgery/M +microwave/DSMGB +microwaveable +mid +midair/M +midday/M +midden/MS +middle/MGS +middlebrow/SM +middleman/M +middlemen +middlemost +middleweight/MS +middy/SM +midfield/RZ +midge/SM +midget/MS +midi/MS +midland/MS +midlife/M +midmost +midnight/M +midpoint/MS +midrib/MS +midriff/MS +midsection/MS +midshipman/M +midshipmen +midships +midsize +midst/M +midstream/M +midsummer/M +midterm/MS +midtown/M +midway/MS +midweek/MS +midwife/MGDS +midwifery/SM +midwinter/M +midwives +midyear/MS +mien/M +miff/DSG +might've +might/M +mightily +mightiness/M +mightn't +mighty/TRP +mignonette/SM +migraine/MS +migrant/MS +migrate/AGDS +migration/SM +migratory +mikado/MS +mike/MGDS +mil/SZMR +milady/SM +milch +mild/MRYTP +mildew/SMDG +mildness/M +mile/MS +mileage/SM +milepost/MS +miler/M +milestone/MS +milf/MS +milieu/SM +militancy/M +militant/MYS +militarily +militarisation/CM +militarise/CDSG +militarism/M +militarist/SM +militaristic +military/M +militate/GDS +militia/SM +militiaman/M +militiamen +milk/MDRSZG +milker/M +milkiness/M +milkmaid/MS +milkman/M +milkmen +milkshake/SM +milksop/MS +milkweed/SM +milky/RTP +mill/MDRSZGJ +millage/M +millennia +millennial/M +millennium/MS +miller/M +millet/M +milliard/MS +millibar/MS +milligram/MS +millilitre/MS +millimetre/MS +milliner/MS +millinery/M +milling/M +million/HSM +millionaire/SM +millionairess/S +millionth/M +millionths +millipede/SM +millisecond/SM +millpond/SM +millrace/SM +millstone/SM +millstream/MS +millwright/SM +milometer/S +milquetoast/SM +milt/MDSG +mime/MGDS +mimeograph/GMD +mimeographs +mimetic +mimic/SM +mimicked +mimicker/SM +mimicking +mimicry/SM +mimosa/SM +min +minaret/MS +minatory +mince/DRSMZG +mincemeat/M +mincer/M +mind's +mind/ADRSZG +mindbogglingly +minded/P +mindful/YP +mindfulness/M +mindless/YP +mindlessness/M +mindset/MS +mine/MZGNDRSX +minefield/SM +miner/M +mineral/MS +mineralogical +mineralogist/MS +mineralogy/M +minestrone/M +minesweeper/SM +mingle/DSG +mingy +mini/MS +miniature/MS +miniaturisation/M +miniaturise/GDS +miniaturist/MS +minibar/S +minibike/SM +minibus/MS +minicab/S +minicam/MS +minicomputer/SM +minifloppies +minim/SM +minima +minimal/Y +minimalism/M +minimalist/MS +minimisation/M +minimise/DSG +minimum/MS +mining/M +minion/M +miniseries/M +miniskirt/MS +minister/SGMD +ministerial +ministrant/MS +ministration/MS +ministry/SM +minivan/MS +mink/MS +minnesinger/MS +minnow/SM +minor/SMDG +minority/SM +minoxidil/M +minster/MS +minstrel/SM +minstrelsy/M +mint/MDRSZG +mintage/M +minter/M +minty/RT +minuend/MS +minuet/SM +minus/MS +minuscule/MS +minute/PDRSMYTG +minuteman/M +minutemen +minuteness/M +minutia/M +minutiae +minx/MS +miracle/MS +miraculous/Y +mirage/SM +mire/MGDS +mirror/GSMD +mirth/M +mirthful/PY +mirthfulness/M +mirthless/Y +miry/RT +misaddress/DSG +misadventure/MS +misaligned +misalignment/M +misalliance/MS +misanthrope/SM +misanthropic +misanthropically +misanthropist/MS +misanthropy/M +misapplication/M +misapply/DSGNX +misapprehend/GSD +misapprehension/MS +misappropriate/XDSGN +misappropriation/M +misbegotten +misbehave/GDS +misbehaviour/M +misc +miscalculate/DSXGN +miscalculation/M +miscall/DSG +miscarriage/MS +miscarry/GDS +miscast/SG +miscegenation/M +miscellaneous/Y +miscellany/SM +mischance/SM +mischief/M +mischievous/YP +mischievousness/M +miscibility/M +miscible +misclassified +miscommunication/S +misconceive/GDS +misconception/SM +misconduct/MDGS +misconstruction/MS +misconstrue/GDS +miscount/MDSG +miscreant/SM +miscue/DSMG +misdeal/GMS +misdealt +misdeed/MS +misdemeanour/MS +misdiagnose/GDS +misdiagnosis/M +misdid +misdirect/SDG +misdirection/M +misdo/JG +misdoes +misdoing/M +misdone +miser/SBMY +miserableness/M +miserably +miserliness/M +misery/SM +misfeasance/M +misfeature/S +misfile/GDS +misfire/MGDS +misfit/SM +misfitted +misfitting +misfortune/SM +misgiving/MS +misgovern/SDGL +misgovernment/M +misguidance/M +misguide/DSG +misguided/Y +mishandle/DSG +mishap/SM +mishear/GS +misheard +mishit/S +mishitting +mishmash/MS +misidentify/GDS +misinform/DGS +misinformation/M +misinterpret/SGD +misinterpretation/SM +misjudge/LDSG +misjudgement/SM +mislabel/S +mislabelled +mislabelling +mislaid +mislay/GS +mislead/GS +misleading/Y +misled +mismanage/LGDS +mismanagement/M +mismatch/GMDS +misname/GDS +misnomer/MS +misogamist/MS +misogamy/M +misogynist/SM +misogynistic +misogynous +misogyny/M +misplace/GLDS +misplacement/M +misplay/GMDS +misprint/GMDS +misprision/M +mispronounce/DSG +mispronunciation/SM +misquotation/MS +misquote/MGDS +misread/GJS +misreading/M +misremember/GDS +misreport/MDGS +misrepresent/GDS +misrepresentation/MS +misrule/MGDS +miss's +miss/EDSGV +missal/ESM +missed/U +misshape/GDS +misshapen +missile/MS +missilery/M +mission/AMS +missionary/SM +missioner/SM +missive/MS +misspeak/GS +misspell/GDJS +misspelling/M +misspend/GS +misspent +misspoke +misspoken +misstate/GDSL +misstatement/SM +misstep/MS +missus/MS +mist's +mist/CDRSZG +mistakable/U +mistake/BMGS +mistaken/Y +mister's +mistily +mistime/GDS +mistiness/M +mistletoe/M +mistook +mistral/MS +mistranslated +mistreat/LDGS +mistreatment/M +mistress/MS +mistrial/MS +mistrust/MDSG +mistrustful/Y +misty/PRT +mistype/GS +misunderstand/SGJ +misunderstanding/M +misunderstood +misuse/DSMG +mite/MS +mitigate/DSGN +mitigated/U +mitigation/M +mitochondria +mitochondrial +mitochondrion +mitoses +mitosis/M +mitotic +mitral +mitre/DSMG +mitt/MNSX +mitten/M +mitzvah +mix/ZGMDRSB +mixed/U +mixer/M +mixture/SM +mizzen/MS +mizzenmast/SM +mkay +mks +ml +mm +mnemonic/MS +mnemonically +mo/CKHS +moan/MDRSZG +moaner/M +moat/MDS +mob's +mob/CS +mobbed/C +mobbing/C +mobile/MS +mobilisation/CM +mobilisations +mobilise/CDSG +mobiliser/MS +mobility/M +mobster/SM +moccasin/SM +mocha/SM +mock/DRSZG +mocker/M +mockery/SM +mocking/Y +mockingbird/SM +mod/STM +modal/SM +modality/S +modded +modding +mode/MS +model's +model/AS +modelled/A +modeller/MS +modelling/MS +modem/SM +moderate/MYGNPDS +moderateness/M +moderation/M +moderator/SM +modern/MYPS +modernisation/M +modernise/DRSZG +moderniser/M +modernism/M +modernist/SM +modernistic +modernity/M +modernness/M +modest/Y +modesty/M +modicum/SM +modifiable +modification/M +modified/U +modifier/M +modify/DRSXZGN +modish/YP +modishness/M +modular +modularisation +modulate/CGNDS +modulation/CM +modulations +modulator/MS +module/MS +modulo +modulus +moggie +mogul/SM +mohair/M +moi +moiety/SM +moil/MDSG +moire/SM +moist/XTPNRY +moisten/DRZG +moistener/M +moistness/M +moisture/M +moisturise/ZGDRS +moisturiser/M +molar/SM +molasses/M +moldboard/SM +moldiness/M +mole/MS +molecular +molecularity/M +molecule/SM +molehill/SM +moleskin/M +molest/DRZGS +molestation/M +molested/U +molester/M +moll/MS +mollification/M +mollify/DSNG +mollusc/SM +molluscan +molly/SM +mollycoddle/DSMG +molten +molter/MS +molybdenum/M +moment/MS +momenta +momentarily +momentariness/M +momentary/P +momentous/PY +momentousness/M +momentum/M +mommy/SM +monad +monarch/M +monarchic +monarchical +monarchism/M +monarchist/MS +monarchistic +monarchs +monarchy/SM +monastery/SM +monastic/MS +monastical/Y +monasticism/M +monaural +monetarily +monetarism/M +monetarist/MS +monetary +monetisation/C +monetise/CGDS +money/SMD +moneybag/MS +moneybox/S +moneylender/SM +moneymaker/SM +moneymaking/M +monger/MDGS +mongol/S +mongolism/M +mongoloid/MS +mongoose/MS +mongrel/SM +monies +moniker/SM +monism/M +monist/MS +monition/SM +monitor/SMDG +monitory +monk/MS +monkey/MDGS +monkeyshine/SM +monkish +monkshood/SM +mono/M +monochromatic +monochrome/MS +monocle/DSM +monoclonal +monocotyledon/SM +monocotyledonous +monocular +monodic +monodist/SM +monody/SM +monogamist/MS +monogamous/Y +monogamy/M +monogram/SM +monogrammed +monogramming +monograph/M +monographs +monolingual/MS +monolith/M +monolithic +monoliths +monologist/SM +monologue/SM +monomania/M +monomaniac/MS +monomaniacal +monomer/SM +mononucleosis/M +monophonic +monoplane/SM +monopolisation/M +monopolise/DRSZG +monopoliser/M +monopolist/SM +monopolistic +monopoly/SM +monorail/MS +monosyllabic +monosyllable/MS +monotheism/M +monotheist/SM +monotheistic +monotone/MS +monotonic +monotonically +monotonous/PY +monotonousness/M +monotony/M +monounsaturated +monoxide/MS +monseigneur/M +monsieur/M +monsignor/SM +monsoon/SM +monsoonal +monster/SM +monstrance/ASM +monstrosity/SM +monstrous/Y +montage/SM +month/MY +monthly/SM +months +monument/MS +monumental/Y +moo/SGMD +mooch/ZGMDRS +moocher/M +mood/MS +moodily +moodiness/M +moody/TPR +moon/MDSG +moonbeam/MS +moonless +moonlight/SMDRZG +moonlighter/M +moonlighting/M +moonlit +moonscape/SM +moonshine/MZRS +moonshiner/M +moonshot/MS +moonstone/MS +moonstruck +moonwalk/MS +moor/MDJSG +moorhen/S +mooring/M +moorland/MS +moose/M +moot/DSG +mop/SZGMDR +mope/MS +moped/SM +moper/M +mopey +mopier +mopiest +mopish +mopped +moppet/MS +mopping +moraine/SM +moral/SMY +morale/M +moralisation/CM +moralise/CGDS +moraliser/MS +moralism +moralist/MS +moralistic +moralistically +moralities +morality/UM +morass/MS +moratorium/SM +moray/SM +morbid/YP +morbidity/M +morbidness/M +mordancy/M +mordant/SMY +more/MS +moreish +morel/SM +moreover +mores/M +morgue/MS +moribund +morn/MJSG +morning/M +morocco/M +moron/SM +moronic +moronically +morose/YP +moroseness/M +morph/GD +morpheme/MS +morphemic +morphia/M +morphine/M +morphing/M +morphological +morphology/M +morphs +morrow/MS +morsel/MS +mortal/MYS +mortality/M +mortar/MDSG +mortarboard/SM +mortgage's +mortgage/AGDS +mortgagee/MS +mortgagor/MS +mortician/MS +mortification/M +mortify/NGDS +mortise/DSMG +mortuary/SM +mosaic/MS +mosey/SGD +mosh/DSG +mosque/MS +mosquito/M +mosquitoes +moss/MS +mossback/SM +mossie/MTRS +mossy +most/MY +mot/SM +mote's +mote/KCXSVN +motel/SM +motet/SM +moth/M +mothball/GMDS +mother/MDYSG +motherboard/SM +motherfucker/MS! +motherfucking/! +motherhood/M +motherland/MS +motherless +motherliness/M +moths +motif/SM +motile/S +motility/M +motion/KCM +motioned +motioning +motionless/YP +motionlessness/M +motivate/CDSG +motivated/U +motivation/SM +motivational +motivator/SM +motive/MS +motiveless +motley/MS +motlier +motliest +motocross/MS +motor/SGMD +motorbike/MGDS +motorboat/MS +motorcade/MS +motorcar/SM +motorcycle/DSMG +motorcyclist/MS +motorisation/M +motorise/DSG +motorist/SM +motorman/M +motormen +motormouth/M +motormouths +motorway/SM +mottle/GDS +motto/M +mottoes +moue/MS +mould/JSZGMDR +moulder/MDG +moulding/M +mouldy/TR +moult/SGMD +mound/SGMD +mount/EASGMD +mountable +mountain/SM +mountaineer/SMDG +mountaineering/M +mountainous +mountainside/SM +mountaintop/SM +mountebank/MS +mounted/U +mounter/MS +mounting/SM +mourn/SZGDR +mourned/U +mourner/M +mournful/YP +mournfulness/M +mourning/M +mouse/DRSMZG +mouser/M +mousetrap/SM +mousetrapped +mousetrapping +mousiness/M +moussaka/S +mousse/MGDS +moustache/DSM +mousy/PTR +mouth/GMD +mouthfeel +mouthful/MS +mouthiness/M +mouthpiece/MS +mouths +mouthwash/MS +mouthwatering +mouthy/PTR +mouton/M +movable/SM +move/AMZGDRSB +moved/U +movement/SM +mover/AM +movie/SM +moviegoer/SM +moving/Y +mow/SZGMDR +mower/M +moxie/M +mozzarella/M +mozzie/MS +mp +mpg +mph +mt +mtg +mtge +mu/SM +much/M +mucilage/M +mucilaginous +muck/MDSG +muckrake/DRSZG +muckraker/M +mucky/TR +mucous +mucus/M +mud/M +muddie/M +muddily +muddiness/M +muddle/MGDS +muddleheaded +muddy/PTGDRS +mudflap/S +mudflat/MS +mudguard/SM +mudpack/S +mudroom/MS +mudslide/MS +mudslinger/SM +mudslinging/M +muenster/M +muesli +muezzin/MS +muff/MDSG +muffin/MS +muffle/ZGDRS +muffler/M +mufti/SM +mug/SM +mugful/MS +mugged +mugger/MS +mugginess/M +mugging/MS +muggins +muggle/MS +muggy/PTR +mugshot/MS +mugwump/MS +mujaheddin +mukluk/MS +mulatto/M +mulattoes +mulberry/SM +mulch/GMDS +mulct/SGMD +mule/MS +muleskinner/MS +muleteer/MS +mulish/PY +mulishness/M +mull/DSG +mullah/M +mullahs +mullein/M +mullet/MS +mulligan/SM +mulligatawny/M +mullion/SMD +multi +multicellular +multichannel +multicoloured +multicultural +multiculturalism/M +multidimensional +multidisciplinary +multifaceted +multifamily +multifarious/PY +multifariousness/M +multiform +multigrain +multilateral/Y +multilayered +multilevel +multilingual +multilingualism/M +multimedia/M +multimillionaire/SM +multinational/SM +multipart +multiparty +multiplayer/M +multiple/MS +multiplex/ZGMDRS +multiplexer/M +multiplicand/MS +multiplication/M +multiplicative +multiplicity/SM +multiplier/M +multiply/NZGDRSX +multiprocessing +multiprocessor/SM +multipurpose +multiracial +multistage +multistory +multitask/GS +multitasking/M +multitude/SM +multitudinous +multivariate +multiverse/SM +multivitamin/MS +multiyear +mum/SM +mumble/MZGDRS +mumbler/M +mumbletypeg/M +mummer/MS +mummery/M +mummification/M +mummify/GNDS +mummy/SM +mumps/M +mun +munch/GDS +munchie/S +munchies/M +munchkin/SM +mundane/SY +mung/DSG +municipal/SMY +municipality/SM +munificence/M +munificent/Y +munition/MDGS +mural/SM +muralist/SM +murder/ZGMDRS +murderer/M +murderess/MS +murderous/Y +murk/MS +murkily +murkiness/M +murky/PTR +murmur/ZGJMDRS +murmurer/M +murmuring/M +murmurous +murrain/M +muscat/MS +muscatel/SM +muscle/MGDS +musclebound +muscleman +musclemen +muscly +muscular/Y +muscularity/M +musculature/M +musculoskeletal +muse/MGDSJ +musette/MS +museum/MS +mush/MDRSZG +mushiness/M +mushroom/GSMD +mushy/PTR +music/SM +musical/MYS +musicale/MS +musicality/M +musician/SMY +musicianship/M +musicological +musicologist/MS +musicology/M +musing/MY +musk/M +muskeg/MS +muskellunge/MS +musket/MS +musketeer/MS +musketry/M +muskie/M +muskiness/M +muskmelon/SM +muskox/MN +muskrat/MS +musky/PTRS +muslin/M +muss/MDSG +mussel/MS +mussy/TR +must've +must/MRSZ +mustachio/SMD +mustang/MS +mustard/M +muster/GMD +mustily +mustiness/M +mustn't +musty/PTR +mutability/M +mutably +mutagen/MS +mutagenic +mutant/MS +mutate/XGNVDS +mutation/M +mutational +mute/MYTGDRSPB +muteness/M +mutilate/DSGNX +mutilation/M +mutilator/SM +mutineer/SM +mutinous/Y +mutiny/GDSM +mutt/MS +mutter/ZGJMDRS +mutterer/M +muttering/M +mutton/M +muttonchops/M +muttony +mutual/Y +mutuality/M +muumuu/MS +muzak +muzzily +muzzle/DSMG +muzzy/P +my +mycologist/SM +mycology/M +myelitis/M +mynah/MS +myocardial +myocardium +myopia/M +myopic +myopically +myriad/SM +myrmidon/MS +myrrh/M +myrtle/SM +mys +myself +mysterious/PY +mysteriousness/M +mystery/SM +mystic/SM +mystical/Y +mysticism/M +mystification/CM +mystify/CDSGN +mystique/M +myth/M +mythic +mythical +mythological +mythologise/DSG +mythologist/SM +mythology/SM +myths +myxomatosis +n/IKTH +naan/S +nab/S +nabbed +nabbing +nabob/SM +nacelle/SM +nacho/SM +nacre/M +nacreous +nadir/SM +nae +naff/RT +nag/SM +nagged +nagger/MS +nagging +nagware +nah +naiad/SM +naif/MS +nail/MDSG +nailbrush/MS +naive/RYT +naivete/M +naivety/M +naked/PY +nakedness/M +name's +name/AGDS +nameable/U +named/U +nameless/Y +namely +nameplate/MS +namesake/SM +nana/MS +nanny/SM +nanobot/S +nanometre/S +nanosecond/SM +nanotechnology/SM +nanotube +nap/SM +napalm/MDSG +nape/MS +naphtha/M +naphthalene/M +napkin/MS +napless +napoleon/SM +napped +napper/MS +napping +nappy/TRSM +narc/MS +narcissism/M +narcissist/MS +narcissistic +narcissus/M +narcolepsy/M +narcoleptic +narcoses +narcosis/M +narcotic/SM +narcotisation/M +narcotise/GDS +nark +narky +narrate/GNVDSX +narration/M +narrative/SM +narrator/SM +narrow/PTGMDRYS +narrowness/M +narwhal/MS +nary +nasal/SMY +nasalisation/M +nasalise/DSG +nasality/M +nascence/AM +nascent/A +nastily +nastiness/M +nasturtium/SM +nasty/PTR +natal +natch +nation/MS +national/MYS +nationalisation/SM +nationalise/CDSG +nationalism/M +nationalist/SM +nationalistic +nationalistically +nationality/SM +nationhood/M +nationwide +native/MS +nativity/SM +natl +natter/GMDS +nattily +nattiness/M +natty/PTR +natural's +natural/UPY +naturalisation/M +naturalise/DSG +naturalism/M +naturalist/SM +naturalistic +naturalness/UM +naturals +nature's +nature/CS +naturism +naturist/S +naughtily +naughtiness/M +naughty/PTR +nausea/M +nauseam +nauseate/GDS +nauseating/Y +nauseous/PY +nauseousness/M +nautical/Y +nautilus/MS +naval +nave/MS +navel/SM +navigability/M +navigable +navigate/DSGN +navigation/M +navigational +navigator/MS +navvy/S +navy/SM +nay/SM +naysayer/MS +ne'er +neanderthal/MS +neap/MS +near/DRYSPTG +nearby +nearness/M +nearshore +nearside +nearsighted/YP +nearsightedness/M +neat/NRYPXT +neaten/GD +neath +neatness/M +nebula/M +nebulae +nebular +nebulous/PY +nebulousness/M +necessarily/U +necessary/SM +necessitate/DSG +necessitous +necessity/SM +neck/MDSG +neckband/S +neckerchief/MS +necking/M +necklace/MGDSJ +neckline/MS +necktie/MS +necrology/M +necromancer/SM +necromancy/M +necrophilia +necrophiliac/S +necropolis/MS +necroses +necrosis/M +necrotic +nectar/M +nectarine/MS +nee +need/MDSG +needed/U +needful/Y +neediness/M +needle/MGDS +needlepoint/M +needless/YP +needlessness/M +needlewoman/M +needlewomen +needlework/M +needn't +needy/PTR +nefarious/YP +nefariousness/M +neg +negate/DSGNVX +negation/M +negative/MYGPDS +negativeness/M +negativism/M +negativity/M +neglect/SGMD +neglectful/YP +neglectfulness/M +negligee/MS +negligence/M +negligent/Y +negligible +negligibly +negotiability/M +negotiable/A +negotiate/ADSGN +negotiation/AM +negotiations +negotiator/MS +negritude/M +negro +negroid +neigh/MDG +neighbour/SGMDY +neighbourhood/MS +neighbourliness/M +neighs +neither +nelson/SM +nematode/SM +nemeses +nemesis/M +neoclassic +neoclassical +neoclassicism/M +neocolonialism/M +neocolonialist/MS +neocon/SM +neoconservative/SM +neocortex +neodymium/M +neolithic +neologism/SM +neon/M +neonatal +neonate/MS +neophilia +neophyte/MS +neoplasm/MS +neoplastic +neoprene/M +nepenthe/M +nephew/SM +nephrite/M +nephritic +nephritis/M +nephropathy +nepotism/M +nepotist/SM +nepotistic +neptunium/M +nerd/MS +nerdy/RT +nerve's +nerve/UDSG +nerveless/YP +nervelessness/M +nerviness/M +nervous/YP +nervousness/M +nervy/TPR +nest/MDSG +nestle/GJDS +nestling/M +net/SM +netball +netbook/MS +nether +nethermost +netherworld/M +netiquette/S +netted +netter/S +netting/M +nettle/MGDS +nettlesome +network/SGMD +networking/M +neural/Y +neuralgia/M +neuralgic +neurasthenia/M +neurasthenic/MS +neuritic/MS +neuritis/M +neurological/Y +neurologist/SM +neurology/M +neuron/MS +neuronal +neuroscience +neuroses +neurosis/M +neurosurgeon/MS +neurosurgery/M +neurosurgical +neurotic/MS +neurotically +neuroticism +neurotransmitter/SM +neut +neuter/MDGS +neutral/SMY +neutralisation/M +neutralise/DRSZG +neutraliser/M +neutralism/M +neutralist/SM +neutrality/M +neutrino/SM +neutron/SM +never +nevermore +nevertheless +nevi +nevus/M +new/STMRYP +newbie/MS +newborn/SM +newcomer/SM +newel/SM +newfangled +newfound +newline/S +newlywed/SM +newness/M +news/M +newsagency/SM +newsagent/S +newsboy/SM +newscast/SMRZ +newscaster/M +newsdealer/SM +newsflash/S +newsgirl/SM +newsgroup/MS +newshound/S +newsletter/MS +newsman/M +newsmen +newspaper/MS +newspaperman/M +newspapermen +newspaperwoman/M +newspaperwomen +newspeak +newsprint/M +newsreader/S +newsreel/MS +newsroom/MS +newsstand/SM +newsweekly/SM +newswoman/M +newswomen +newsworthiness/M +newsworthy/P +newsy/TR +newt/MS +newton/MS +next/M +nexus/MS +niacin/M +nib/SM +nibble/MZGDRS +nibbler/M +nice/PYTR +niceness/M +nicety/SM +niche/SM +nick/MDRSZG +nickel/MS +nickelodeon/SM +nicker/MDG +nickle/S +nickname/DSMG +nicotine/M +niece/SM +nifedipine +niff +niffy +nifty/TR +nigga/MS! +niggard/SMY +niggardliness/M +niggaz/! +nigger/SM! +niggle/MZGDRS +niggler/M +nigh/RT +night/SMY +nightcap/SM +nightclothes/M +nightclub/SM +nightclubbed +nightclubbing +nightdress/MS +nightfall/M +nightgown/SM +nighthawk/SM +nightie/SM +nightingale/SM +nightlife/M +nightlight/S +nightlong +nightmare/SM +nightmarish +nightshade/SM +nightshirt/SM +nightspot/MS +nightstand/SM +nightstick/SM +nighttime/M +nightwatchman +nightwatchmen +nightwear/M +nihilism/M +nihilist/MS +nihilistic +nil/M +nimbi +nimble/TPR +nimbleness/M +nimbly +nimbus/M +nimby +nimrod/MS +nincompoop/SM +nine/MS +ninepin/MS +ninepins/M +nineteen/SMH +nineteenth/M +nineteenths +ninetieth/M +ninetieths +ninety/HSM +ninja/SM +ninny/SM +ninth/M +ninths +niobium/M +nip/SM +nipped +nipper/MS +nippiness/M +nipping +nipple/MS +nippy/TPR +nirvana/M +nisei/M +nit/SM +nitpick/SZGDR +nitpicker/M +nitpicking/M +nitrate/DSMGN +nitration/M +nitre/M +nitric +nitrification/M +nitrite/SM +nitro +nitrocellulose/M +nitrogen/M +nitrogenous +nitroglycerine/M +nitwit/MS +nix/GMDS +no/SM +nob/SY +nobble/GDS +nobelium/M +nobility/M +noble/RSPMT +nobleman/M +noblemen +nobleness/M +noblewoman/M +noblewomen +nobody/SM +nocturnal/Y +nocturne/MS +nod/SM +nodal +nodded +nodding +noddle/MS +noddy +node/MS +nodular +nodule/MS +noel/MS +noes +noggin/MS +nohow +noise/DSMG +noiseless/PY +noiselessness/M +noisemaker/MS +noisily +noisiness/M +noisome +noisy/PTR +nomad/SM +nomadic +nomenclature/MS +nominal/Y +nominate/ACGNVDS +nomination's/A +nomination/CSM +nominative/SM +nominator/CSM +nominee/MS +non +nonabrasive +nonabsorbent/SM +nonacademic +nonacceptance/M +nonacid +nonactive/MS +nonaddictive +nonadhesive +nonadjacent +nonadjustable +nonadministrative +nonage/MS +nonagenarian/MS +nonaggression/M +nonalcoholic +nonaligned +nonalignment/M +nonallergic +nonappearance/MS +nonassignable +nonathletic +nonattendance/M +nonautomotive +nonavailability/M +nonbasic +nonbeliever/MS +nonbelligerent/MS +nonbinding +nonbreakable +nonburnable +noncaloric +noncancerous +nonce/M +nonchalance/M +nonchalant/Y +nonchargeable +nonclerical/MS +nonclinical +noncollectable +noncom/MS +noncombat +noncombatant/MS +noncombustible +noncommercial/MS +noncommittal/Y +noncommunicable +noncompeting +noncompetitive +noncompliance/M +noncomplying +noncomprehending +nonconducting +nonconductor/MS +nonconforming +nonconformism +nonconformist/MS +nonconformity/M +nonconsecutive +nonconstructive +noncontagious +noncontinuous +noncontributing +noncontributory +noncontroversial +nonconvertible +noncooperation/M +noncorroding +noncorrosive +noncredit +noncriminal/SM +noncritical +noncrystalline +noncumulative +noncustodial +nondairy +nondeductible/M +nondelivery/SM +nondemocratic +nondenominational +nondepartmental +nondepreciating +nondescript +nondestructive +nondetachable +nondeterminism +nondeterministic +nondisciplinary +nondisclosure/M +nondiscrimination/M +nondiscriminatory +nondramatic +nondrinker/MS +nondrying +none +noneducational +noneffective +nonelastic +nonelectric +nonelectrical +nonempty +nonenforceable +nonentity/SM +nonequivalent/MS +nonessential +nonesuch/MS +nonetheless +nonevent/MS +nonexchangeable +nonexclusive +nonexempt/M +nonexistence/M +nonexistent +nonexplosive/MS +nonfactual +nonfading +nonfat +nonfatal +nonfattening +nonferrous +nonfiction/M +nonfictional +nonflammable +nonflowering +nonfluctuating +nonflying +nonfood/M +nonfreezing +nonfunctional +nong/MS +nongovernmental +nongranular +nonhazardous +nonhereditary +nonhuman +nonidentical +noninclusive +nonindependent +nonindustrial +noninfectious +noninflammatory +noninflationary +noninflected +nonintellectual/MS +noninterchangeable +noninterference/M +nonintervention/M +nonintoxicating +noninvasive +nonirritating +nonissue +nonjudgmental +nonjudicial +nonlegal +nonlethal +nonlinear +nonliterary +nonliving/M +nonmagnetic +nonmalignant +nonmember/MS +nonmetal/SM +nonmetallic +nonmigratory +nonmilitant +nonmilitary +nonnarcotic/SM +nonnative/MS +nonnegotiable +nonnuclear +nonnumerical +nonobjective +nonobligatory +nonobservance/M +nonobservant +nonoccupational +nonoccurence +nonofficial +nonoperational +nonoperative +nonparallel/MS +nonpareil/MS +nonparticipant/MS +nonparticipating +nonpartisan/SM +nonpaying +nonpayment/SM +nonperformance/M +nonperforming +nonperishable +nonperson/MS +nonphysical/Y +nonplus/S +nonplussed +nonplussing +nonpoisonous +nonpolitical +nonpolluting +nonporous +nonpracticing +nonprejudicial +nonprescription +nonproductive +nonprofessional/SM +nonprofit/SMB +nonproliferation/M +nonpublic +nonpunishable +nonracial +nonradioactive +nonrandom +nonreactive +nonreciprocal/SM +nonreciprocating +nonrecognition/M +nonrecoverable +nonrecurring +nonredeemable +nonrefillable +nonrefundable +nonreligious +nonrenewable +nonrepresentational +nonresident/MS +nonresidential +nonresidual/M +nonresistance/M +nonresistant +nonrestrictive +nonreturnable/MS +nonrhythmic +nonrigid +nonsalaried +nonscheduled +nonscientific +nonscoring +nonseasonal +nonsectarian +nonsecular +nonsegregated +nonsense/M +nonsensical/Y +nonsensitive +nonsexist +nonsexual +nonskid +nonslip +nonsmoker/SM +nonsmoking +nonsocial +nonspeaking +nonspecialist/MS +nonspecializing +nonspecific +nonspiritual/SM +nonstaining +nonstandard +nonstarter/MS +nonstick +nonstop +nonstrategic +nonstriking +nonstructural +nonsuccessive +nonsupport/GM +nonsurgical +nonsustaining +nonsympathiser/M +nontarnishable +nontaxable +nontechnical +nontenured +nontheatrical +nonthinking +nonthreatening +nontoxic +nontraditional +nontransferable +nontransparent +nontrivial +nontropical +nonuniform +nonunion +nonuser/MS +nonvenomous +nonverbal +nonviable +nonviolence/M +nonviolent/Y +nonvirulent +nonvocal +nonvocational +nonvolatile +nonvoter/MS +nonvoting +nonwhite/MS +nonworking +nonyielding +nonzero +noodle/MGDS +nook/MS +nookie +nooky +noon/M +noonday/M +noontide/M +noontime/M +noose/SM +nope +nor +nor'easter +norm/MS +normal/MY +normalcy/M +normalisation/M +normalise/DSG +normality/M +normative +north/ZMR +northbound +northeast/MRZ +northeaster/MY +northeastern +northeastward/S +norther/MY +northerly/SM +northern/ZR +northerner/M +northernmost +northward/S +northwest/ZMR +northwester/MY +northwestern +northwestward/S +nose/MGDS +nosebag/S +nosebleed/MS +nosecone/SM +nosedive/DSMG +nosegay/SM +nosh/MDRSZG +nosher/M +nosily +nosiness/M +nostalgia/M +nostalgic +nostalgically +nostril/MS +nostrum/MS +nosy/RPT +not/B +notability/SM +notable/SM +notably +notarial +notarisation +notarise/GDS +notarization's +notary/SM +notate/GDS +notation/FCSM +notch/GMDS +note's +note/FCSDG +notebook/MS +notelet/S +notepad/S +notepaper/M +noteworthiness/M +noteworthy/P +nothing/PSM +nothingness/M +notice/MGDS +noticeable/U +noticeably +noticeboard/S +noticed/U +notifiable +notification/M +notifier/M +notify/NDRSXZG +notion/MS +notional/Y +notoriety/M +notorious/Y +notwithstanding +notwork/S +nougat/MS +nought/MS +noun/KMS +nourish/DSLG +nourishment/M +nous +nova/MS +novae +novel/SM +novelette/SM +novelisation/MS +novelise/DSG +novelist/SM +novella/MS +novelty/SM +novena/MS +novenae +novice/MS +novitiate/MS +now/M +nowadays/M +noway/S +nowhere/M +nowise +nowt +noxious +nozzle/MS +nu/SM +nuance/MDS +nub/SM +nubbin/MS +nubby/TR +nubile +nuclear/K +nucleate/DSGN +nucleation/M +nuclei +nucleic +nucleoli +nucleolus/M +nucleon/SM +nucleoside +nucleotide +nucleus/M +nude/MTRS +nudge/GDSM +nudism/M +nudist/SM +nudity/M +nugatory +nugget/SM +nuggety +nuisance/MS +nuke/MGDS +null/S +nulla +nullification/M +nullify/NDSG +nullity/M +numb/ZTGPDRYS +number's +number/ASDG +numbered/U +numberless +numbness/M +numbskull/SM +numerable/I +numeracy/IM +numeral/SM +numerate/XGNDS +numeration/M +numerator/MS +numeric +numerical/Y +numerologist/MS +numerology/M +numerous/Y +numinous +numismatic/S +numismatics/M +numismatist/SM +nun/SM +nuncio/SM +nunnery/SM +nuptial/MS +nurse/MZGDRS +nurselings +nursemaid/MS +nurser/M +nursery/SM +nurseryman/M +nurserymen +nursing/M +nursling/SM +nurture/DRSMZG +nurturer/M +nut/SM +nutcase/S +nutcracker/MS +nuthatch/MS +nuthouse/S +nutmeat/SM +nutmeg/SM +nutpick/SM +nutria/SM +nutrient/MS +nutriment/MS +nutrition/M +nutritional/Y +nutritionist/SM +nutritious/YP +nutritiousness/M +nutritive +nutshell/MS +nutted +nutter/S +nuttiness/M +nutting +nutty/RTP +nuzzle/DRSMZG +nuzzler/M +nybble/S +nylon/MS +nylons/M +nymph/M +nymphet/MS +nympho/S +nymphomania/M +nymphomaniac/SM +nymphs +o +o'clock +o'er +oaf/SM +oafish/PY +oafishness/M +oak/SMN +oakum/M +oar/SGMD +oarlock/SM +oarsman/M +oarsmen +oarswoman/M +oarswomen +oases +oasis/M +oat/SMN +oatcake/SM +oath/M +oaths +oatmeal/M +oats/M +ob/S +obbligato/MS +obduracy/M +obdurate/PY +obdurateness/M +obedience/EM +obedient/EY +obeisance/SM +obeisant +obelisk/MS +obese +obesity/M +obey/EDSG +obfuscate/GNXDS +obfuscation/M +obi/SM +obit/MS +obituary/SM +obj +object/SGVMD +objectify/NGDS +objection/SMB +objectionable/U +objectionably +objective/SMYP +objectiveness/M +objectivity/M +objector/MS +objurgate/XGNDS +objurgation/M +oblate/NX +oblation/M +obligate/DSXGN +obligation/M +obligatorily +obligatory +oblige/EGDS +obliging/Y +oblique/SMYP +obliqueness/M +obliquity/M +obliterate/DSGN +obliteration/M +oblivion/M +oblivious/YP +obliviousness/M +oblong/MS +obloquy/M +obnoxious/YP +obnoxiousness/M +oboe/MS +oboist/MS +obscene/RYT +obscenity/SM +obscurantism/M +obscurantist/SM +obscure/DRSYTG +obscurity/SM +obsequies +obsequious/PY +obsequiousness/M +obsequy/M +observably +observance/MS +observant/Y +observation/SM +observational +observatory/SM +observe/DRSBZG +observed/U +observer/M +obsess/DSGV +obsession/SM +obsessional/Y +obsessive/PSMY +obsessiveness/M +obsidian/M +obsolesce/DSG +obsolescence/M +obsolescent +obsolete/GDS +obstacle/MS +obstetric/S +obstetrical +obstetrician/SM +obstetrics/M +obstinacy/M +obstinate/Y +obstreperous/YP +obstreperousness/M +obstruct/DGVS +obstructed/U +obstruction/SM +obstructionism/M +obstructionist/MS +obstructive/YP +obstructiveness/M +obtain/DBLGS +obtainable/U +obtainment/M +obtrude/DSG +obtrusion/M +obtrusive/UPY +obtrusiveness/UM +obtuse/YTRP +obtuseness/M +obverse/SM +obviate/DSGN +obviation/M +obvious/PY +obviousness/M +ocarina/MS +occasion/GMDS +occasional/Y +occidental/SM +occlude/GDS +occlusion/SM +occlusive +occult/M +occultism/M +occultist/SM +occupancy/M +occupant/SM +occupation/AM +occupational/Y +occupations +occupied/U +occupier/SM +occupy/ADSG +occur/AS +occurred/A +occurrence/SM +occurring/A +ocean/SM +oceanfront/SM +oceangoing +oceanic/M +oceanographer/SM +oceanographic +oceanography/M +oceanology/M +ocelot/MS +och +ochre/M +ocker/S +octagon/MS +octagonal +octal +octane/MS +octave/MS +octavo/MS +octet/SM +octogenarian/SM +octopus/MS +ocular/MS +oculist/SM +oculomotor +odalisque/SM +odd/STRYLP +oddball/SM +oddity/SM +oddment/SM +oddness/M +odds/M +ode/SM +odious/YP +odiousness/M +odium/M +odometer/MS +odoriferous +odorous +odour/SMD +odourless +odyssey/MS +oecus +oedema/MS +oedipal +oenology/M +oenophile/SM +oesophagi +oesophagus +oestradiol +oestrogen/MS +oestrous +oestrus/MS +oeuvre/MS +of +off/SZGDRJ +offal/M +offbeat/MS +offence/MS +offend/ZGDRS +offender/M +offensive's +offensive/IPY +offensiveness/IM +offensives +offer/JGMD +offering/M +offertory/SM +offhand +offhanded/PY +offhandedness/M +office/MZRS +officeholder/SM +officer/M +official/MYS +officialdom/M +officialese +officialism/M +officiant/SM +officiate/DSG +officiator/MS +officious/PY +officiousness/M +offing/M +offish +offline +offload/SDG +offprint/SM +offset/MS +offsetting +offshoot/MS +offshore/G +offside +offsite +offspring/M +offstage/S +offtrack +oft +often/TR +oftentimes +ofttimes +ogle/MZGDRS +ogler/M +ogre/MS +ogreish +ogress/MS +oh/M +ohm/SM +ohmmeter/MS +oho +ohs +oi +oik/S +oil/SGMD +oilcan/S +oilcloth/M +oilcloths +oilfield/S +oiliness/M +oilman +oilmen +oilskin/MS +oilskins/M +oily/RPT +oink/MDSG +ointment/SM +okapi/SM +okay/MDSG +okra/MS +old/TMNRP +oldie/SM +oldish +oldness/M +oldster/MS +ole/SMV +oleaginous +oleander/MS +oleo/M +oleomargarine/M +olfactory/SM +oligarch/M +oligarchic +oligarchical +oligarchs +oligarchy/SM +oligonucleotide/S +oligopoly/SM +olive/SM +om/SMNX +ombudsman/M +ombudsmen +omega/SM +omelette/MS +omen/M +omicron/MS +ominous/YP +ominousness/M +omission/MS +omit/S +omitted +omitting +omnibus/MS +omnipotence/M +omnipotent +omnipresence/M +omnipresent +omniscience/M +omniscient +omnivore/MS +omnivorous/PY +omnivorousness/M +on/Y +onboard +once/M +oncogene/SM +oncologist/SM +oncology/M +oncoming +one/SXMNP +oneness/M +onerous/PY +onerousness/M +oneself +onetime +ongoing +onion/M +onionskin/M +online +onlooker/SM +onlooking +onomatopoeia/M +onomatopoeic +onomatopoetic +onrush/MSG +onscreen +onset/MS +onshore +onside +onsite +onslaught/MS +onstage +onto +ontogeny/M +ontological +ontology/M +onus/MS +onward/S +onya/S +onyx/MS +oodles/M +ooh/GD +oohs +oomph +oops +ooze/MGDS +oozy/TR +op/SMDG +opacity/M +opal/MS +opalescence/M +opalescent +opaque/PYTGDRS +opaqueness/M +opcode/S +ope/S +open/ZTGJPMDRYS +opencast +opened/U +opener/M +openhanded/P +openhandedness/M +openhearted +opening/M +openness/M +openwork/M +opera/MS +operable/I +operand/S +operate/DSGNVX +operatic +operatically +operation/M +operational/Y +operative/SM +operator/SM +operetta/SM +ophthalmic +ophthalmologist/SM +ophthalmology/M +opiate/SM +opine/GNXDS +opinion/M +opinionated +opioid/SM +opium/M +opossum/MS +opp +opponent/SM +opportune/IY +opportunism/M +opportunist/SM +opportunistic +opportunistically +opportunity/SM +oppose/DSG +opposed/U +opposite/SMYNX +opposition/M +oppress/DSGV +oppression/M +oppressive/YP +oppressiveness/M +oppressor/MS +opprobrious/Y +opprobrium/M +opt/SGD +optic/MS +optical/Y +optician/SM +optics/M +optima +optimal/Y +optimisation/SM +optimise/DRSG +optimism/SM +optimist/SM +optimistic +optimistically +optimum/SM +option/SMDG +optional/Y +optometrist/MS +optometry/M +opulence/M +opulent/Y +opus/MS +or +oracle/SM +oracular +oral/MYS +orality +orange/SMP +orangeade/MS +orangery/SM +orangutan/SM +orate/GNXDS +oration/M +orator/SM +oratorical/Y +oratorio/MS +oratory/SM +orb/SM +orbicular +orbit/MDRZGS +orbital/SM +orbiter/M +orc/SM +orchard/SM +orchestra/MS +orchestral +orchestrate/DSXGN +orchestration/M +orchid/SM +ordain/SDLG +ordainment/M +ordeal/SM +order/EAMDGS +ordered/U +orderings +orderliness/EM +orderly/PSM +ordinal/SM +ordinance/SM +ordinarily +ordinariness/M +ordinary/SMP +ordinate/MNSX +ordination/M +ordnance/M +ordure/M +ore/SM +oregano/M +org +organ/MS +organdie/M +organelle/MS +organic/SM +organically/I +organisation/ASM +organisational/Y +organise/AESDG +organised/U +organiser/MS +organism/MS +organismic +organist/MS +organza/M +orgasm/SM +orgasmic +orgiastic +orgy/SM +oriel/MS +orient's +orient/AEDGS +oriental/MS +orientalist/S +orientate/EDSGN +orientation/AEM +orientations +orienteering +orifice/MS +orig +origami/M +origin/SM +original/MYS +originality/M +originate/DSGN +origination/M +originator/SM +oriole/SM +orison/SM +ormolu/M +ornament/SGMD +ornamental +ornamentation/M +ornate/YP +ornateness/M +orneriness/M +ornery/PRT +ornithological +ornithologist/MS +ornithology/M +orotund +orotundity/SM +orphan/SMDG +orphanage/MS +orris/MS +orthodontia/M +orthodontic/S +orthodontics/M +orthodontist/SM +orthodox/U +orthodoxy/SM +orthogonal +orthogonality +orthographic +orthographically +orthography/SM +orthopaedic/S +orthopaedics/M +orthopaedist/MS +orzo/M +oscillate/GNDSX +oscillation/M +oscillator/SM +oscillatory +oscilloscope/MS +osculate/DSXGN +osculation/M +osier/MS +osmium/M +osmosis/M +osmotic +osprey/SM +ossicles +ossification/M +ossify/NGDS +ostensible +ostensibly +ostentation/M +ostentatious/Y +osteoarthritis/M +osteopath/M +osteopathic +osteopaths +osteopathy/M +osteoporosis/M +ostler/S +ostracise/GDS +ostracism/M +ostrich/MS +other/MSP +otherwise +otherworldly +otiose +otter/MS +ottoman/MS +oubliette/MS +ouch +ought +oughtn't +ounce/MS +our/S +ourselves +oust/ZGDRS +ouster/M +out/SJGMDR +outage/SM +outargue/GDS +outback/MS +outbalance/DSG +outbid/S +outbidding +outboard/MS +outboast/DSG +outbound +outbox/MS +outbreak/MS +outbuilding/MS +outburst/SM +outcast/MS +outclass/DSG +outcome/MS +outcrop/MS +outcropped +outcropping/SM +outcry/SM +outdated +outdid +outdistance/GDS +outdo/G +outdoes +outdone +outdoor/S +outdoors/M +outdoorsy +outdraw/GS +outdrawn +outdrew +outercourse +outermost +outerwear/M +outface/GDS +outfall/S +outfield/SMRZ +outfielder/M +outfight/SG +outfit/SM +outfitted +outfitter/MS +outfitting +outflank/GSD +outflow/MS +outfought +outfox/GDS +outgo/MJG +outgoes +outgrew +outgrow/HGS +outgrown +outgrowth/M +outgrowths +outguess/GDS +outgun/S +outgunned +outgunning +outhit/S +outhitting +outhouse/SM +outing/M +outlaid +outlandish/PY +outlandishness/M +outlast/DSG +outlaw/SGMD +outlay/SGM +outlet/SM +outlier/S +outline/MGDS +outlive/GDS +outlook/MS +outlying +outmanoeuvre/DSG +outmatch/GDS +outmoded +outnumber/DSG +outpace/GDS +outpatient/MS +outperform/GSD +outplace/L +outplacement/M +outplay/GDS +outpoint/DGS +outpost/MS +outpouring/MS +outproduce/DSG +output/SM +outputted +outputting +outrace/GDS +outrage/MGDS +outrageous/Y +outran +outrank/GDS +outre +outreach/MDSG +outrider/MS +outrigger/SM +outright +outrun/S +outrunning +outscore/GDS +outsell/GS +outset/SM +outshine/GS +outshone +outshout/GDS +outside/MZRS +outsider/M +outsize/MS +outskirt/MS +outsmart/GDS +outsold +outsource/DSG +outsourcing/M +outspend/SG +outspent +outspoken/YP +outspokenness/M +outspread/GS +outstanding/Y +outstation/MS +outstay/DGS +outstretch/DSG +outstrip/S +outstripped +outstripping +outta +outtake/MS +outvote/GDS +outward/YS +outwear/GS +outweigh/GD +outweighs +outwit/S +outwith +outwitted +outwitting +outwore +outwork/MDRSZG +outworn +ouzo/MS +ova +oval/MS +ovarian +ovary/SM +ovate/NX +ovation/M +oven/MS +ovenbird/SM +ovenproof +ovenware +over/MYS +overabundance/M +overabundant +overachieve/ZGDRS +overachiever/M +overact/GVSD +overage/SM +overaggressive +overall/SM +overalls/M +overambitious +overanxious +overarching +overarm/GSD +overate +overattentive +overawe/DSG +overbalance/MGDS +overbear/GS +overbearing/Y +overbid/SM +overbidding +overbite/MS +overblown +overboard +overbold +overbook/DGS +overbore +overborne +overbought +overbuild/SG +overbuilt +overburden/GSD +overbuy/GS +overcame +overcapacity/M +overcapitalise/DSG +overcareful +overcast/MGS +overcautious +overcharge/DSMG +overclock/GD +overcloud/SGD +overcoat/MS +overcome/GS +overcompensate/DSGN +overcompensation/M +overconfidence/M +overconfident +overconscientious +overcook/DGS +overcritical +overcrowd/SDG +overcrowding/M +overdecorate/DSG +overdependent +overdevelop/SDG +overdid +overdo/G +overdoes +overdone +overdose/MGDS +overdraft/SM +overdraw/GS +overdrawn +overdress/GMDS +overdrew +overdrive/SM +overdub/SM +overdubbed +overdubbing +overdue +overeager +overeat/GSN +overemotional +overemphasis/GMDS +overemphasise +overenthusiastic +overestimate/MGNDS +overestimation/M +overexcite/DSG +overexercise/GDS +overexert/SDG +overexertion/M +overexpose/GDS +overexposure/M +overextend/DGS +overfed +overfeed/GS +overfill/DGS +overflew +overflight/MS +overflow/MDSG +overflown +overfly/GS +overfond +overfull +overgeneralise/DSG +overgenerous +overgraze/DSG +overgrew +overground +overgrow/HSG +overgrown +overgrowth/M +overhand/MDS +overhang/MSG +overhasty +overhaul/MDSG +overhead/MS +overhear/SG +overheard +overheat/DSG +overhung +overindulge/GDS +overindulgence/M +overindulgent +overinflated +overjoy/GSD +overkill/M +overladen +overlaid +overlain +overland +overlap/SM +overlapped +overlapping +overlarge +overlay/GSM +overleaf +overlie +overload/GMDS +overlong +overlook/GMDS +overlord/MS +overly/SG +overmanned +overmanning +overmaster/SDG +overmodest +overmuch/S +overnice +overnight/MS +overoptimism/M +overoptimistic +overpaid +overparticular +overpass/MS +overpay/GS +overplay/GDS +overpopulate/GNDS +overpopulation/M +overpower/SDG +overpowering/Y +overpraise/DSG +overprecise +overprice/DSG +overprint/SMDG +overproduce/GDS +overproduction/M +overprotect/SDGV +overqualified +overran +overrate/GDS +overreach/GDS +overreact/SDG +overreaction/SM +overrefined +overridden +override/MGS +overripe/M +overrode +overrule/GDS +overrun/SM +overrunning +oversampling +oversaw +oversea/S +oversee/RSZ +overseeing +overseen +overseer/M +oversell/GS +oversensitive/P +oversensitiveness/M +oversexed +overshadow/DSG +overshare/DSG +overshoe/MS +overshoot/GS +overshot +oversight/SM +oversimple +oversimplification/M +oversimplify/DSNGX +oversized +oversleep/GS +overslept +oversold +overspecialisation/M +overspecialise/GDS +overspend/SG +overspent +overspread/GS +overstaffed +overstate/DSLG +overstatement/MS +overstay/DSG +overstep/S +overstepped +overstepping +overstimulate/DSG +overstock/GSD +overstretch/GDS +overstrict +overstrung +overstuffed +oversubscribe/DSG +oversubtle +oversupply/GDS +oversuspicious +overt/Y +overtake/GS +overtaken +overtax/GDS +overthink/SG +overthought +overthrew +overthrow/SMG +overthrown +overtime/MS +overtire/GDS +overtone/MS +overtook +overture/MS +overturn/DSG +overuse/DSMG +overvaluation/S +overvalue/DSG +overview/MS +overweening/Y +overweight/M +overwhelm/SGD +overwhelming/Y +overwinter/SDG +overwork/GMDS +overwrite/GS +overwritten +overwrote +overwrought +overzealous +oviduct/SM +oviparous +ovoid/MS +ovular +ovulate/DSGN +ovulation/M +ovule/MS +ovum/M +ow +owe/DSG +owl/SM +owlet/MS +owlish/Y +own/ESGD +owner/MS +ownership/M +ox/MN +oxalate +oxblood/M +oxbow/MS +oxcart/SM +oxford/SM +oxidant/MS +oxidase +oxidation/M +oxidative +oxide/MS +oxidisation/M +oxidise/ZGDRS +oxidiser/M +oxtail/S +oxyacetylene/M +oxygen/M +oxygenate/DSGN +oxygenation/M +oxymora +oxymoron/M +oyster/SM +oz +ozone/M +p/NRXTGJ +pH +pa/SMH +pablum/M +pabulum/M +pace/MZGDRS +pacemaker/SM +pacer/M +pacesetter/SM +pacey +pachyderm/MS +pachysandra/MS +pacific +pacifically +pacification/M +pacifier/M +pacifism/M +pacifist/SM +pacifistic +pacify/ZGDRSN +pack's +pack/AUGSD +package's +package/AGDS +packager/SM +packaging/M +packer/MS +packet/MS +packing's +packinghouse/SM +packsaddle/MS +pact/MS +pacy/RT +pad/SM +padded +padding/M +paddle/MZGDRS +paddler/M +paddock/MDGS +paddy/SM +padlock/MDSG +padre/SM +paean/SM +paediatric/S +paediatrician/MS +paedophile/S +paedophilia +paella/MS +pagan/SM +paganism/M +page/MZGDRS +pageant/MS +pageantry/M +pageboy/SM +pager/M +paginate/DSGN +pagination/M +pagoda/MS +pah +paid/AU +pail/MS +pailful/SM +pain/MDSG +painful/PY +painfuller +painfullest +painfulness/M +painkiller/MS +painkilling +painless/PY +painlessness/M +painstaking/MY +paint/SZGJMDR +paintball +paintbox/MS +paintbrush/MS +painted/U +painter/MY +painting/M +paintwork +pair/AMDSG +paired/U +pairing/S +pairwise +paisley/SM +pal/SMY +palace/MS +paladin/SM +palaeolithic +palaeontologist/MS +palaeontology/M +palanquin/SM +palatable/U +palatal/SM +palatalisation/M +palatalise/GDS +palate/MBS +palatial/Y +palatinate/MS +palatine/MS +palaver/GSMD +palazzi +palazzo +pale/MYTGPDRSJ +paleface/MS +paleness/M +paleo +paleographer/MS +paleography/M +palette/SM +palfrey/SM +palimony/M +palimpsest/MS +palindrome/MS +palindromic +paling/M +palisade/SM +palish +pall/MDSG +palladium/M +pallbearer/MS +pallet/MS +palliate/DSGNV +palliation/M +palliative/SM +pallid/YP +pallidness/M +pallor/M +palm/MDSG +palmate +palmetto/SM +palmist/SM +palmistry/M +palmtop/SM +palmy/TR +palomino/MS +palpable +palpably +palpate/DSGN +palpation/M +palpitate/XGNDS +palpitation/M +palsy/GDSM +paltriness/M +paltry/RPT +pampas/M +pamper/DSG +pamphlet/MS +pamphleteer/MS +pan/SM +panacea/SM +panache/M +panama/MS +panatella/S +pancake/DSMG +panchromatic +pancreas/MS +pancreatic +pancreatitis +panda/SM +pandemic/SM +pandemonium/M +pander/MDRZGS +panderer/M +pane/KM +panegyric/SM +panel/SM +panelled +panelling/SM +panellist/SM +panes +pang/MS +panhandle/DRSMZG +panhandler/M +panic/SM +panicked +panicking +panicky +panned +pannier/SM +panning +panoply/SM +panorama/SM +panoramic +panpipes/M +pansy/SM +pant/MDSG +pantaloons/M +pantechnicon/S +pantheism/M +pantheist/SM +pantheistic +pantheon/SM +panther/MS +pantie/MS +panto/S +pantomime/MGDS +pantomimic +pantomimist/SM +pantry/SM +pantsuit/SM +pantyhose/M +pantyliner/M +pantywaist/SM +pap/SM +papa/MS +papacy/SM +papal +paparazzi/M +paparazzo +papaya/MS +paper/SZGMDR +paperback/SM +paperbark/S +paperboard/M +paperboy/SM +paperclip/S +paperer/M +papergirl/SM +paperhanger/SM +paperhanging/M +paperless +paperweight/MS +paperwork/M +papery +papilla/M +papillae +papillary +papist/MS +papoose/MS +pappy/SM +paprika/M +papyri +papyrus/M +par/SZGMDRBJ +para/MS +parable/MS +parabola/SM +parabolic +paracetamol/S +parachute/DSMG +parachutist/MS +parade/MZGDRS +parader/M +paradigm/SM +paradigmatic +paradisaical +paradise/SM +paradox/MS +paradoxical/Y +paraffin/M +paragliding +paragon/MS +paragraph/GMD +paragraphs +parakeet/SM +paralegal/MS +parallax/MS +parallel/SGMD +paralleled/U +parallelisation +parallelised +parallelism/MS +parallelogram/SM +paralyse/DSG +paralysing/Y +paralysis/M +paralytic/SM +paramagnetic +paramecia +paramecium/M +paramedic/MS +paramedical/MS +parameter/MS +parameterise/D +parametric +paramilitary/SM +paramount +paramountcy +paramour/SM +paranoia/M +paranoiac/MS +paranoid/SM +paranormal +parapet/MS +paraphernalia/M +paraphrase/DSMG +paraplegia/M +paraplegic/SM +paraprofessional/MS +parapsychologist/MS +parapsychology/M +paraquat/M +parasailing +parascending +parasite/SM +parasitic +parasitical/Y +parasitism/M +parasol/MS +parasympathetic/S +parathion/M +parathyroid/MS +paratroop/RZS +paratrooper/M +paratroops/M +paratyphoid/M +parboil/DSG +parcel/MS +parcelled +parcelling +parch/LGDS +parchment/SM +pardner/S +pardon/ZGMDRBS +pardonable/U +pardonably/U +pardoner/M +pare/S +paregoric/M +parent/GMDS +parentage/M +parental +parentheses +parenthesis/MDSG +parenthesise +parenthetic +parenthetical/Y +parenthood/M +parenting/M +parer/M +pares/S +paresis/M +parfait/MS +pariah/M +pariahs +paribus +parietal +parimutuel/MS +paring/M +parish/MS +parishioner/MS +parity/ESM +park/MDSG +parka/SM +parking/M +parkland +parkour +parkway/MS +parky +parlance/M +parlay/GMDS +parley/GMDS +parliament/SM +parliamentarian/SM +parliamentary +parlour/MS +parlous +parmigiana +parochial/Y +parochialism/M +parodist/SM +parody/GDSM +parole/MGDS +parolee/MS +parotid +paroxysm/SM +paroxysmal +parquet/MDSG +parquetry/M +parred +parricidal +parricide/MS +parring +parrot/GMDS +parry/GDSM +parse/DRSG +parsec/MS +parsimonious/Y +parsimony/M +parsley/M +parsnip/MS +parson/MS +parsonage/MS +part's +part/CDSG +partake/ZGRS +partaken +partaker/M +parterre/SM +parthenogenesis/M +partial/MYS +partiality/M +participant/SM +participate/DSGN +participation/M +participator/MS +participatory +participial/M +participle/MS +particle/SM +particleboard/M +particular/SMY +particularisation/M +particularise/DSG +particularity/SM +particulate/SM +parting/MS +partisan/SM +partisanship/M +partition/GMDS +partitive/MS +partly +partner/MDSG +partnership/MS +partook +partridge/SM +parturition/M +partway +party/GDSM +parvenu/MS +pascal/MS +paschal +pasha/SM +pass/M +passably +passage/MS +passageway/MS +passbook/MS +passe/DRSBXZGNV +passel/MS +passenger/SM +passer/M +passerby/M +passersby +passim +passing/MY +passion/EM +passionate/EY +passionflower/SM +passionless +passive/PMYS +passiveness/M +passivisation +passivity/M +passivize/DSG +passkey/MS +passphrase/S +passport/MS +password/MS +past/AMS +pasta/SM +paste/DSMG +pasteboard/M +pastel/MS +pastern/MS +pasteurisation/M +pasteurise/ZGDRS +pasteurised/U +pasteuriser/M +pastiche/MS +pastie +pastille/MS +pastime/MS +pastiness/M +pastor/MS +pastoral/MS +pastorate/MS +pastrami/M +pastry/SM +pasturage/M +pasture/DSMG +pastureland/M +pasty/PTRSM +pat/SM +patch/EGMDS +patchily +patchiness/M +patchouli +patchwork/SM +patchy/TPR +pate/MS +patella/MS +patellae +patent/GMDYS +paterfamilias/MS +paternal/Y +paternalism/M +paternalist/S +paternalistic +paternity/M +paternoster/MS +path/M +pathetic +pathetically +pathfinder/SM +pathless +pathogen/SM +pathogenic +pathological/Y +pathologist/SM +pathology/M +pathos/M +paths +pathway/MS +patience/M +patient/IMST +patienter +patiently +patina/MS +patinae +patio/SM +patisserie/S +patois/M +patresfamilias +patriarch/M +patriarchal +patriarchate/MS +patriarchs +patriarchy/SM +patrician/SM +patricidal +patricide/SM +patrimonial +patrimony/SM +patriot/SM +patriotic/U +patriotically +patriotism/M +patrol/MS +patrolled +patrolling +patrolman/M +patrolmen +patrolwoman/M +patrolwomen +patron/MS +patronage/MS +patroness/MS +patronise/ZGDRS +patroniser/M +patronising/Y +patronymic/SM +patronymically +patroon/SM +patsy/SM +patted +patter/MDGS +pattern/SMDG +patting +patty/SM +paucity/M +paunch/MS +paunchy/RT +pauper/MS +pauperise/DSG +pauperism/M +pause/DSMG +pave/AGDS +paved/U +pavement/MS +pavilion/SM +paving/MS +pavlova/S +paw/SGMD +pawl/MS +pawn/MDSG +pawnbroker/MS +pawnbroking/M +pawnshop/MS +pawpaw/MS +pay's +pay/ASGBL +payback/SM +paycheck/MS +payday/MS +payed +payee/SM +payer/SM +payload/SM +paymaster/SM +payment/ASM +payoff/MS +payola/M +payout/MS +payphone/S +payroll/SM +payslip/SM +paywall/SM +payware +pct +pd +pea/SM +peace/SM +peaceable +peaceably +peaceful/PY +peacefulness/M +peacekeeper/SM +peacekeeping/M +peacemaker/MS +peacemaking/M +peacetime/M +peach/MS +peachy/TR +peacock/MS +peafowl/MS +peahen/MS +peak/MDSG +peaky +peal/AMDSG +peanut/MS +pear/MYS +pearl/SGMD +pearly/RT +peasant/SM +peasantry/M +peashooter/SM +peat/M +peaty/TR +pebble/MGDS +pebbly +pecan/SM +peccadillo/M +peccadilloes +peccary/SM +peck/MDRSZG +peckish +pecs +pectic +pectin/M +pectoral/MS +pectoralis +peculate/GNDS +peculation/M +peculator/SM +peculiar/Y +peculiarity/SM +pecuniary +pedagogic +pedagogical/Y +pedagogue/SM +pedagogy/M +pedal/SM +pedalled +pedalling +pedalo/S +pedant/MS +pedantic +pedantically +pedantry/M +peddle/GDS +pederast/MS +pederasty/M +pedestal/MS +pedestrian/SM +pedestrianisation +pedestrianise/GDS +pediatrics's +pedicab/SM +pedicure/MGDS +pedicurist/MS +pedigree/MDS +pediment/MS +pedlar/MS +pedometer/MS +peduncle/MS +pee/DRSMZ +peeing +peek/MDSG +peekaboo/M +peel/MDRSJZG +peeled/U +peeler/M +peeling/M +peen/MS +peep/MDRSZG +peepbo +peeper/M +peephole/MS +peepshow/MS +peer/MDG +peerage/SM +peeress/MS +peerless +peeve/DSMG +peevish/PY +peevishness/M +peewee/MS +peewit/S +peg/SM +pegboard/MS +pegged +pegging +peignoir/SM +pejoration/M +pejorative/SMY +peke/MS +pekineses +pekingese/SM +pekoe/M +pelagic +pelf/M +pelican/MS +pellagra/M +pellet/GMDS +pellucid +pelmet/S +pelt/MDSG +pelvic +pelvis/MS +pemmican/M +pen/M +penal +penalisation/M +penalise/DSG +penalty/SM +penance/MS +pence +penchant/SM +pencil/MS +pencilled +pencilling/S +pend/CDSG +pendant/CMS +pendent/MS +pendulous +pendulum/MS +penetrability/M +penetrable +penetrate/DSGNVX +penetrating/Y +penetration/M +penfriend/S +penguin/MS +penicillin/M +penile +peninsula/SM +peninsular +penis/MS +penitence/M +penitent/SMY +penitential +penitentiary/SM +penknife/M +penknives +penlight/SM +penman/M +penmanship/M +penmen +pennant/MS +penned +penniless +penning +pennon/MS +penny/SM +pennyweight/MS +pennyworth +penologist/MS +penology/M +pension/BZGMDRS +pensioner/M +pensive/PY +pensiveness/M +pent +pentacle/MS +pentagon/MS +pentagonal +pentagram/SM +pentameter/SM +pentathlete/MS +pentathlon/MS +penthouse/SM +penuche/M +penultimate/SM +penumbra/MS +penumbrae +penurious/PY +penuriousness/M +penury/M +peon/MS +peonage/M +peony/SM +people/MGDS +pep/SM +pepped +pepper/GMDS +peppercorn/SM +peppermint/SM +pepperoni/MS +peppery +peppiness/M +pepping +peppy/TPR +pepsin/M +peptic/MS +peptide/S +peradventure/M +perambulate/XGNDS +perambulation/M +perambulator/MS +percale/MS +perceive/BGDS +perceived/U +percent/MS +percentage/SM +percentile/SM +perceptible +perceptibly +perception/SM +perceptional +perceptive/PY +perceptiveness/M +perceptual/Y +perch/GMDS +perchance +percipience/M +percipient +percolate/GNDS +percolation/M +percolator/SM +percussion/AM +percussionist/MS +percussive +perdition/M +perdurable +peregrinate/DSXGN +peregrination/M +peregrine/MS +peremptorily +peremptory +perennial/SMY +perestroika/M +perfect/PTGMDRYS +perfecta/MS +perfectibility/M +perfectible +perfection/SM +perfectionism/M +perfectionist/SM +perfectness/M +perfidious/Y +perfidy/SM +perforate/GNXDS +perforation/M +perforce +perform/SDRZG +performance/SM +performed/U +performer/M +perfume/DRSMZG +perfumer/M +perfumery/SM +perfunctorily +perfunctory +perfusion +pergola/SM +perhaps +pericardia +pericardial +pericarditis +pericardium/M +perigee/SM +perihelia +perihelion/M +peril/SM +perilled +perilling +perilous/Y +perimeter/SM +perinatal +perinea +perineum/M +period/MS +periodic +periodical/SMY +periodicity/M +periodontal +periodontics/M +periodontist/SM +peripatetic/MS +peripheral/MYS +periphery/SM +periphrases +periphrasis/M +periphrastic +periscope/SM +perish/BDRSZG +perishable/MS +peristalses +peristalsis/M +peristaltic +peristyle/SM +peritoneal +peritoneum/MS +peritonitis/M +periwig/SM +periwinkle/SM +perjure/DRSZG +perjurer/M +perjury/SM +perk/MDSG +perkily +perkiness/M +perky/TPR +perm/MDSG +permafrost/M +permanence/M +permanency/M +permanent/SMY +permeability/M +permeable +permeate/GNDS +permeation/M +permissible +permissibly +permission/MS +permissive/PY +permissiveness/M +permit/MS +permitted +permitting +permittivity +permutation/SM +permute/DSG +pernicious/YP +perniciousness/M +peroration/MS +peroxide/MGDS +perpendicular/SMY +perpendicularity/M +perpetrate/DSGN +perpetration/M +perpetrator/MS +perpetual/SMY +perpetuate/DSGN +perpetuation/M +perpetuity/M +perplex/GDS +perplexed/Y +perplexing/Y +perplexity/SM +perquisite/SM +persecute/GNXDS +persecution/M +persecutor/SM +perseverance/M +persevere/DSG +persiflage/M +persimmon/SM +persist/SGD +persistence/M +persistent/Y +persnickety +person/UMS +persona/SM +personable +personae +personage/MS +personal/MYS +personalise/CDSG +personality/SM +personalty/M +personification/M +personify/GDSNX +personnel/M +perspective/MS +perspex +perspicacious/Y +perspicacity/M +perspicuity/M +perspicuous +perspiration/M +perspire/GDS +persuade/BZGDRS +persuaded/U +persuader/M +persuasion/SM +persuasive/PY +persuasiveness/M +pert/RYPT +pertain/GSD +pertinacious/Y +pertinacity/M +pertinence/M +pertinent/Y +pertness/M +perturb/DGS +perturbation/SM +perturbed/U +pertussis/M +peruke/MS +perusal/MS +peruse/GDS +pervade/DSG +pervasive/PY +pervasiveness/M +perverse/PXYN +perverseness/M +perversion/M +perversity/M +pervert/SGMD +pervs +peseta/MS +peskily +peskiness/M +pesky/TPR +peso/MS +pessary/S +pessimal +pessimism/M +pessimist/SM +pessimistic +pessimistically +pest/MRSZ +pester/GD +pesticide/MS +pestiferous +pestilence/SM +pestilent +pestilential +pestle/MGDS +pesto/M +pet/SZMR +petabyte/MS +petajoule/S +petal/SM +petalled +petard/MS +petawatt/S +petcock/SM +peter/GMD +petiole/SM +petite/MS +petition/ZGMDRS +petitionary +petitioner/M +petrel/MS +petrifaction/M +petrify/DSG +petrochemical/SM +petrodollar/MS +petrol/M +petrolatum/M +petroleum/M +petrologist/SM +petrology/M +petted +petticoat/MS +pettifog/S +pettifogged +pettifogger/SM +pettifoggery/M +pettifogging +pettily +pettiness/M +petting/M +pettish/Y +petty/PTR +petulance/M +petulant/Y +petunia/MS +pew/SM +pewee/SM +pewit/SM +pewter/MS +peyote/M +pf +pfennig/MS +pg +phaeton/MS +phage/S +phagocyte/SM +phalanger/SM +phalanges +phalanx/MS +phalli +phallic +phallocentric +phallocentrism +phallus/M +phantasm/MS +phantasmagoria/MS +phantasmagorical +phantasmal +phantom/SM +pharaoh/M +pharaohs +pharisaic +pharisee/SM +pharmaceutic/MS +pharmaceutical/SM +pharmaceutics/M +pharmacist/MS +pharmacologic +pharmacological +pharmacologist/SM +pharmacology/M +pharmacopoeia/MS +pharmacotherapy +pharmacy/SM +pharyngeal +pharynges +pharyngitis/M +pharynx/M +phase/DSMG +phaseout/SM +phat +pheasant/MS +phenacetin/M +phenobarbital/M +phenol/M +phenom/MS +phenomena +phenomenal/Y +phenomenological +phenomenology +phenomenon/MS +phenotype +phenytoin +pheromone/MS +phew +phi/SM +phial/SM +philander/ZGDRS +philanderer/M +philandering/M +philanthropic +philanthropically +philanthropist/MS +philanthropy/SM +philatelic +philatelist/MS +philately/M +philharmonic/SM +philippic/MS +philistine/MS +philistinism/M +philodendron/SM +philological +philologist/MS +philology/M +philosopher/MS +philosophic +philosophical/Y +philosophise/DRSZG +philosophiser/M +philosophy/SM +philtre/MS +phish/ZGDR +phisher/M +phlebitis/M +phlegm/M +phlegmatic +phlegmatically +phloem/M +phlox/M +phobia/MS +phobic/MS +phoebe/MS +phoenix/MS +phone/DSMG +phonecard/S +phoneme/MS +phonemic +phonemically +phonetic/S +phonetically +phonetician/SM +phonetics/M +phoney/GMDS +phonic/S +phonically +phonics/M +phonied +phonier +phoniest +phoniness/M +phonograph/M +phonographic +phonographs +phonological/Y +phonologist/MS +phonology/M +phonon +phonying +phooey +phosphate/MS +phosphodiesterase +phosphor/MS +phosphorescence/M +phosphorescent/Y +phosphoric +phosphorous +phosphorus/M +phosphorylation +photo/SGMD +photocell/MS +photocopier/M +photocopy/DRSMZG +photoelectric +photoelectrically +photoengrave/DRSJZG +photoengraver/M +photoengraving/M +photofinishing/M +photogenic +photogenically +photograph/MDRZG +photographer/M +photographic +photographically +photographs/A +photography/M +photojournalism/M +photojournalist/SM +photometer/MS +photon/MS +photosensitive +photostat/SM +photostatic +photostatted +photostatting +photosynthesis/GMDS +photosynthesise +photosynthetic +phototropic +phototropism +phototypesetter +phototypesetting +photovoltaic +phrasal +phrase's +phrase/AGDS +phrasebook/S +phraseology/M +phrasing/MS +phreaking +phrenologist/SM +phrenology/M +phyla +phylactery/SM +phylogeny/M +phylum/M +phys +physic/SM +physical/MYS +physicality +physician/SM +physicist/SM +physicked +physicking +physics/M +physio/S +physiognomy/SM +physiography/M +physiologic +physiological/Y +physiologist/MS +physiology/M +physiotherapist/MS +physiotherapy/M +physique/MS +phytoplankton +pi/SMDRHZG +pianissimo/SM +pianist/MS +piano/SM +pianoforte/SM +pianola/S +piastre/MS +piazza/MS +pibroch/M +pibrochs +pic/SM +pica/M +picador/MS +picante +picaresque +picayune +piccalilli/M +piccolo/MS +pick/MDRSJZG +pickax/GMDS +picker/M +pickerel/MS +picket/ZGMDRS +pickings/M +pickle/MGDS +pickpocket/SM +pickup/MS +picky/PTR +picnic/MS +picnicked +picnicker/SM +picnicking +picot/SM +pictogram/S +pictograph/M +pictographs +pictorial/MYS +picture/MGDS +picturesque/PY +picturesqueness/M +piddle/MGDS +piddly +pidgin/MS +pie/SM +piebald/MS +piece/DSMG +piecemeal +piecework/MRZ +pieceworker/M +piecrust/SM +pieing +pier/M +pierce/JGDS +piercing/MY +piety/M +piezoelectric +piffle/MG +pig/SML +pigeon/MS +pigeonhole/DSMG +pigged +piggery/S +pigging +piggish/PY +piggishness/M +piggy/TRSM +piggyback/MDSG +pigheaded/PY +pigheadedness/M +piglet/MS +pigment/MDS +pigmentation/M +pigpen/MS +pigskin/MS +pigsty/SM +pigswill +pigtail/MS +pike/MZGDRS +piker/M +pikestaff/SM +pilaf/SM +pilaster/MS +pilchard/MS +pile/MGDSJ +pileup/MS +pilfer/ZGDRS +pilferage/M +pilferer/M +pilgrim/MS +pilgrimage/MS +piling/M +pill/MDSG +pillage/MZGDRS +pillager/M +pillar/MDS +pillbox/MS +pillion/MS +pillock/S +pillory/GDSM +pillow/GMDS +pillowcase/MS +pillowslip/MS +pilly/S +pilot/DGSM +pilothouse/SM +pimento/MS +pimiento/MS +pimp/GMDYS +pimpernel/MS +pimple/DSM +pimply/RT +pin/SM +pinafore/MS +pinata/MS +pinball/M +pincer/MS +pinch/GMDS +pincushion/MS +pine's +pine/AGDS +pineapple/MS +pinewood/S +piney +pinfeather/SM +ping/GMD +pinhead/SM +pinhole/SM +pinier +piniest +pinion/SMDG +pink/TGPMDRS +pinkeye/M +pinkie/SM +pinkish +pinkness/M +pinko/MS +pinnacle/SM +pinnate +pinned/U +pinning/U +pinny/S +pinochle/M +pinon/MS +pinpoint/SGMD +pinprick/MS +pinsetter/SM +pinstripe/DSM +pint/MS +pinto/MS +pinup/MS +pinwheel/GSMD +pinyin/M +pinyon/SM +pioneer/SGMD +pious/YP +piousness/M +pip/SZGMDR +pipe/MS +pipeline/SM +piper/M +pipette/SM +pipework +piping/M +pipit/MS +pipped +pippin/SM +pipping +pipsqueak/SM +piquancy/M +piquant/Y +pique/MGDS +piracy/M +piranha/SM +pirate/DSMG +piratical/Y +pirogi/M +piroshki/M +pirouette/DSMG +piscatorial +pismire/SM +piss/ZGMDRS +pissoir/S +pistachio/SM +piste/S +pistil/SM +pistillate +pistol/SM +piston/SM +pit/SM +pita/MS +pitapat/SM +pitch/MDRSZG +pitchblende/M +pitcher/M +pitchfork/MDSG +pitchman/M +pitchmen +piteous/YP +piteousness/M +pitfall/SM +pith/M +pithead/S +pithily +pithiness/M +pithy/RTP +pitiable +pitiably +pitiful/Y +pitiless/PY +pitilessness/M +piton/MS +pitta/S +pittance/MS +pitted +pitting +pituitary/SM +pity/GDSM +pitying/Y +pivot/MDGS +pivotal +pix/M +pixel/MS +pixie/MS +pizza/MS +pizzazz/M +pizzeria/SM +pizzicati +pizzicato/M +pj's +pk +pkg +pkt +pkwy +pl +placard/SMDG +placate/DSGN +placation/M +placatory +place's +place/AESDLG +placebo/SM +placed/U +placeholder/MS +placekick/MDRZGS +placekicker/M +placement/EASM +placenta/SM +placental/S +placer/SM +placid/Y +placidity/M +placings +placket/SM +plagiarise/DRSZG +plagiariser/M +plagiarism/SM +plagiarist/SM +plagiary/M +plague/DSMG +plaice +plaid/MS +plain/MRYTSP +plainchant +plainclothes +plainclothesman/M +plainclothesmen +plainness/M +plainsman/M +plainsmen +plainsong/M +plainspoken +plaint/SMV +plaintiff/SM +plaintive/Y +plait/MDGS +plan/ZMRS +planar +plane's +plane/CGDS +planeload/MS +planer/M +planet/SM +planetarium/SM +planetary +plangency/M +plangent +plank/MDGS +planking/M +plankton/M +planned/U +planner/SM +planning/S +plant/MDRZGSJ +plantain/SM +plantar +plantation/MS +planter/M +planting/M +plantlike +plaque/SM +plash/MDSG +plasma/M +plasmon +plaster/SZGMDR +plasterboard/M +plasterer/M +plastic/SM +plasticise/DSG +plasticity/M +plastique +plat/XGMDNS +plate/MS +plateau/SMDG +plateful/SM +platelet/SM +platen/M +platform/SGMD +plating/M +platinum/M +platitude/SM +platitudinous +platonic +platoon/SGMD +platted +platter/SM +platting +platy/M +platypus/MS +platys +plaudit/SM +plausibility/M +plausible +plausibly +play/AEGMDS +playable/EU +playact/SGD +playacting/M +playback/MS +playbill/MS +playbook/MS +playboy/SM +player/SM +playfellow/SM +playful/PY +playfulness/M +playgirl/MS +playgoer/MS +playground/SM +playgroup/S +playhouse/MS +playlist/MS +playmate/MS +playoff/SM +playpen/SM +playroom/SM +playschool/S +plaything/SM +playtime/M +playwright/SM +plaza/MS +plea/MS +plead/DRZGSJ +pleader/M +pleading/MY +pleasant/UTYP +pleasanter +pleasantness/UM +pleasantry/SM +please/EDSG +pleasing/YS +pleasurably +pleasure/MGDSB +pleasureful +pleat/MDGS +pleb/S +plebby +plebe/MS +plebeian/MS +plebiscite/MS +plectra +plectrum/MS +pledge/DSMG +plenary/SM +plenipotentiary/SM +plenitude/SM +plenteous +plentiful/Y +plenty/M +plenum/S +pleonasm/MS +plethora/M +pleura/M +pleurae +pleurisy/M +plexus/MS +pliability/M +pliable +pliancy/M +pliant/Y +pliers/M +plight/SMDG +plimsoll/S +plinth/M +plinths +plod/S +plodded +plodder/MS +plodding/S +plonk/DRSZG +plop/MS +plopped +plopping +plosive/S +plot/MS +plotted +plotter/SM +plotting +plough/MDG +ploughman/M +ploughmen +ploughs +ploughshare/MS +plover/SM +ploy's +ploy/S +pluck/MDSG +pluckily +pluckiness/M +plucky/RPT +plug's +plug/US +plugged/U +plugging/U +plughole/S +plugin/SM +plum/GMDS +plumage/M +plumb/MDRSZGJ +plumbed/U +plumber/M +plumbing/M +plume/MS +plummet/SGMD +plummy +plump/MDRYSTGP +plumpness/M +plumy/RT +plunder/SZGMDR +plunderer/M +plunge/DRSMZG +plunger/M +plunk/MDSG +pluperfect/SM +plural/SM +pluralisation/M +pluralise/GDS +pluralism/M +pluralist/MS +pluralistic +plurality/SM +plus/MS +plush/MRYTP +plushness/M +plushy/RT +plutocracy/SM +plutocrat/SM +plutocratic +plutonium/M +pluvial +ply/AGDSM +plywood/M +pm +pneumatic +pneumatically +pneumococcal +pneumococci +pneumococcus +pneumonia/M +poach/DRSZG +poacher/M +poaching/M +pock/GMDS +pocket/SMDG +pocketbook/SM +pocketful/SM +pocketknife/M +pocketknives +pockmark/MDGS +pod/SM +podcast/SMG +podded +podding +podiatrist/SM +podiatry/M +podium/SM +poem/MS +poesy/M +poet/MS +poetaster/MS +poetess/MS +poetic/S +poetical/Y +poetry/M +pogrom/SM +poi/M +poignancy/M +poignant/Y +poinciana/SM +poinsettia/SM +point/MDRSZG +pointblank +pointed/Y +pointer/M +pointillism/M +pointillist/SM +pointless/PY +pointlessness/M +pointy/TR +poise/MGDS +poison/SJZGMDR +poisoner/M +poisoning/M +poisonous/Y +poke/MZGDRS +poker/M +pokey/MS +pokie/MTRS +poky +pol/SGMD +polar +polarisation/CM +polarise/CDSG +polarity/SM +pole/MS +poleaxe/GDS +polecat/MS +polemic/MS +polemical/Y +polemicist/SM +polemics/M +polestar/SM +police/DSMG +policeman/M +policemen +policewoman/M +policewomen +policy/SM +policyholder/MS +policymaker/S +polio/MS +poliomyelitis/M +polish/ZGMDRS +polished/U +polisher/M +politburo/MS +polite/RYTP +politeness/M +politesse/M +politic/S +political/Y +politician/SM +politicisation/M +politicise/CDSG +politicking/M +politico/SM +politics/M +polity/SM +polka/MDSG +poll/GMDNS +pollack/MS +pollard/S +pollen/M +pollie/SM +pollinate/GNDS +pollination/M +pollinator/SM +polling/M +polliwog/SM +pollster/SM +pollutant/MS +pollute/ZGNDRS +polluted/U +polluter/M +pollution/M +polo/M +polonaise/SM +polonium/M +poltergeist/MS +poltroon/SM +poly +polyacrylamide +polyamory/S +polyandrous +polyandry/M +polyclinic/SM +polyester/MS +polyethylene/M +polygamist/MS +polygamous +polygamy/M +polyglot/SM +polygon/SM +polygonal +polygraph/GMD +polygraphs +polyhedral +polyhedron/SM +polymath/M +polymaths +polymer/SM +polymeric +polymerisation/M +polymerise/GDS +polymorphic +polymorphous +polynomial/MS +polyp/MS +polyphonic +polyphony/M +polypropylene/M +polys +polysemous +polystyrene/M +polysyllabic +polysyllable/MS +polytechnic/MS +polytheism/M +polytheist/SM +polytheistic +polythene +polyunsaturate/DS +polyurethane/MS +polyvinyl +pom/S +pomade/DSMG +pomander/SM +pomegranate/MS +pommel/SM +pommelled +pommelling +pommy/S +pomp/M +pompadour/SMD +pompano/MS +pompom/SM +pomposity/M +pompous/YP +pompousness/M +ponce/GDS +poncho/SM +poncy +pond/MS +ponder/SZGDR +ponderer/M +ponderous/YP +ponderousness/M +pone/MS +pong/GDS +pongee/M +poniard/MS +pontiff/SM +pontifical/Y +pontificate/DSMG +pontoon/SM +pony/GDSM +ponytail/MS +poo/SGD +pooch/MDSG +poodle/SM +poof/MS +poofter/S +pooh/GMD +poohs +pool/GMDS +poolroom/MS +poolside/S +poop/GMDS +poor/TRYP +poorboy/M +poorhouse/SM +poorness/M +pop/SM +popcorn/M +pope/MS +popgun/SM +popinjay/MS +poplar/SM +poplin/M +popover/SM +poppa/MS +poppadom/S +popped +popper/SM +poppet/S +popping +poppy/SM +poppycock/M +populace/MS +popular/Y +popularisation/M +popularise/DSG +popularity/UM +populate/ACGDS +populated/U +population/CM +populations +populism/M +populist/MS +populous/P +populousness/M +popup/MS +porcelain/SM +porch/MS +porcine +porcupine/SM +pore/MGDS +porgy/SM +pork/ZMR +porker/M +porky/RSMT +porn/M +porno/M +pornographer/MS +pornographic +pornographically +pornography/M +porosity/M +porous/P +porousness/M +porphyritic +porphyry/M +porpoise/MGDS +porridge/M +porringer/SM +port's/A +port/CAEGDS +portability/M +portable/MS +portage/DSMG +portal/SM +portcullis/MS +portend/SGD +portent/SM +portentous/YP +porter/ASM +porterhouse/SM +portfolio/MS +porthole/MS +portico/M +porticoes +portiere/MS +portion/KSGMD +portliness/M +portly/RPT +portmanteau/MS +portrait/MS +portraitist/SM +portraiture/M +portray/SGD +portrayal/MS +portulaca/M +pose's/A +pose/CAKEGDS +poser/EKSM +poseur/SM +posh/TR +posit/DSGV +position/CKEMS +positional/KE +positioned/K +positioning/AK +positive/MYPS +positiveness/M +positivism +positivist/S +positron/MS +poss +posse/MS +possess/AEVGSD +possession/ASM +possessive/SMYP +possessiveness/M +possessor/SM +possibility/SM +possible/SM +possibly +possum/SM +post/ZGMDRSJ +postage/M +postal +postbag/S +postbox/S +postcard/SM +postcode/S +postcolonial +postconsonantal +postdate/DSG +postdoc/MS +postdoctoral +poster/M +posterior/SM +posterity/M +postgraduate/SM +posthaste +posthumous/Y +posthypnotic +postie/S +postilion/SM +postindustrial +posting/M +postlude/SM +postman/M +postmark/SMDG +postmaster/MS +postmen +postmenopausal +postmeridian +postmistress/MS +postmodern +postmodernism/M +postmodernist/MS +postmortem/SM +postnasal +postnatal +postoperative +postpaid +postpartum +postpone/DSGL +postponement/SM +postprandial +postscript/SM +postseason/SM +postsynaptic +postulate/XDSMGN +postulation/M +postural +posture/MGJDS +posturing/M +postwar +postwoman +postwomen +posy/SM +pot/CSM +potability/M +potable/SM +potash/M +potassium/M +potato/M +potatoes +potbelly/DSM +potboiler/SM +potency/M +potent/Y +potentate/MS +potential/MYS +potentiality/SM +potentiate/GDS +potful/SM +pothead/SM +pother/SMDG +potherb/SM +potholder/MS +pothole/DRSMZG +pothook/SM +potion/SM +potluck/MS +potpie/SM +potpourri/SM +potsherd/SM +potshot/MS +pottage/M +potted +potter/GSMD +pottery/SM +potting +potty/PRSMT +pouch/MDSG +pouf/S +pouffe/S +poulterer/MS +poultice/DSMG +poultry/M +pounce/DSMG +pound's +pound/KDSG +poundage/M +pounding/SM +pour/GDSJ +pout/ZGMDRS +pouter/M +poverty/M +pow +powder/GSMD +powdery +power/MDSG +powerboat/MS +powerful/Y +powerhouse/SM +powerless/PY +powerlessness/M +powwow/SGMD +pox/MS +pp +ppm +ppr +pr +practicability/M +practicably +practical/SMY +practicality/SM +practice/SMB +practicum/SM +practise/DSG +practised/U +practitioner/SM +praetor/SM +praetorian +pragmatic/MS +pragmatical/Y +pragmatism/M +pragmatist/MS +prairie/SM +praise/EDSMG +praiseworthiness/M +praiseworthy/P +praline/SM +pram/MS +prance/DRSMZG +prancer/M +prancing/Y +prang/DSG +prank/MS +prankster/SM +praseodymium/M +prat/S +prate/MZGDRS +prater/M +pratfall/SM +prattle/DRSMZG +prattler/M +prawn/MDSG +pray/ZGDRS +prayer/M +prayerful/Y +preach/DRSZGL +preacher/M +preachment/M +preachy/RT +preadolescence/SM +preadolescent +preamble/MGDS +prearrange/LGDS +prearrangement/M +preassigned +precancel/SMDG +precancerous +precarious/PY +precariousness/M +precast +precaution/MS +precautionary +precede/DSG +precedence/M +precedent/SM +precept/SM +preceptor/SM +precinct/MS +preciosity/M +precious/YP +preciousness/M +precipice/SM +precipitant/MS +precipitate/XMYGNDS +precipitation/M +precipitous/Y +precis/M +precise/DRSYTGNP +preciseness/M +precision/M +preclude/GDS +preclusion/M +precocious/YP +precociousness/M +precocity/M +precognition/M +precognitive +precolonial +preconceive/GDS +preconception/SM +precondition/MDGS +precook/GSD +precursor/SM +precursory +predate/DSG +predator/MS +predatory +predawn +predecease/GDS +predecessor/SM +predefined +predesignate/GDS +predestination/M +predestine/DSG +predetermination/M +predetermine/ZGDRS +predeterminer/M +predicable +predicament/MS +predicate/MGNVDS +predication/M +predicative/Y +predict/BGVSD +predictability/UM +predictable/U +predictably/U +prediction/SM +predictor/MS +predigest/GDS +predilection/SM +predispose/GDS +predisposition/MS +prednisone +predominance/M +predominant/Y +predominate/YGDS +preemie/SM +preeminence/M +preeminent/Y +preempt/GVSD +preemption/M +preemptive/Y +preen/DSG +preexist/DGS +preexistence/M +pref +prefab/SM +prefabbed +prefabbing +prefabricate/DSGN +prefabrication/M +preface/DSMG +prefatory +prefect/SM +prefecture/MS +prefer/SBL +preferably +preference/MS +preferential/Y +preferment/M +preferred +preferring +prefigure/GDS +prefix/MDSG +preform/GSD +preformative +prefrontal +pregame/SM +pregnancy/SM +pregnant +preheat/GSD +prehensile +prehistorian/S +prehistoric +prehistorical/Y +prehistory/M +prehuman +preinstalled +prejudge/LGDS +prejudgement/MS +prejudice/MGDS +prejudiced/U +prejudicial +prekindergarten/SM +prelacy/M +prelate/SM +prelim/SM +preliminary/SM +preliterate +prelude/MS +premarital +premature/Y +premed/SM +premedical +premeditate/DSGN +premeditated/U +premeditation/M +premenstrual +premier/SGMD +premiere/MS +premiership/MS +premise/DSMG +premium/SM +premix/GDS +premolar/SM +premonition/MS +premonitory +prenatal/Y +prenup/SM +prenuptial +preoccupation/SM +preoccupy/DSG +preoperative +preordain/GDS +preowned +prep/MS +prepackage/DSG +prepacked +prepaid +preparation/SM +preparatory +prepare/GDS +prepared/UP +preparedness/UM +prepay/GSL +prepayment/MS +prepend +preponderance/SM +preponderant/Y +preponderate/GDS +preposition/SM +prepositional/Y +prepossess/GDS +prepossessing/U +prepossession/SM +preposterous/Y +prepped +prepping +preppy/TRSM +prepubescence/M +prepubescent/SM +prepuce/MS +prequel/MS +prerecord/GSD +preregister/SGD +preregistration/M +prerequisite/MS +prerogative/SM +pres +presage/MGDS +presbyopia/M +presbyter/SM +presbytery/SM +preschool/SZMR +preschooler/M +prescience/M +prescient/Y +prescribe/DSG +prescript/SVM +prescription/SM +prescriptive/Y +preseason/SM +presence/SM +present/LMDRYZGSB +presentably +presentation/ASM +presenter/M +presentiment/SM +presentment/SM +preservation/M +preservationist/SM +preservative/SM +preserve/BDRSMZG +preserver/M +preset/S +presetting +preshrank +preshrink/GS +preshrunk +preside/GDS +presidency/SM +president/MS +presidential +presidium/M +presort/DGS +press's +press/ACGSD +pressed/U +presser/MS +pressie/S +pressing/SMY +pressman/M +pressmen +pressure/DSMG +pressurisation/M +pressurise/CGDS +pressuriser/S +pressurizer's +prestidigitation/M +prestige/M +prestigious +presto/SM +presumably +presume/GDSB +presumption/SM +presumptive +presumptuous/YP +presumptuousness/M +presuppose/DSG +presupposition/MS +pretax +preteen/MS +pretence/SM +pretend/DRZGS +pretender/M +pretension/SM +pretentious/UY +pretentiousness/M +preterite/MS +preterm +preternatural/Y +pretest/DGS +pretext/MS +pretrial/S +prettify/GDS +prettily +prettiness/M +pretty/TGDRSMP +pretzel/MS +prev +prevail/DGS +prevalence/M +prevalent +prevaricate/DSGNX +prevarication/M +prevaricator/SM +prevent/DBSGV +preventable/U +preventative/MS +prevention/M +preventive/SM +preview/MDRSZG +previous/Y +prevision/MS +prewar +prey/GMDS +prezzie/S +priapic +price's +price/AGDS +priceless +pricey +pricier +priciest +prick/MDRYSZG +pricker/M +prickle/MGDS +prickliness/M +prickly/PRT +pride/MGDS +prideful/Y +prier/M +priest/SMY +priestess/MS +priesthood/SM +priestliness/M +priestly/RTP +prig/MS +priggish/P +priggishness/M +prim/ZGDRYP +primacy/M +primal +primarily +primary/SM +primate/MS +prime/MS +primer/M +primeval +priming/M +primitive/SPMY +primitiveness/M +primmer +primmest +primness/M +primogenitor/SM +primogeniture/M +primordial/Y +primp/DSG +primrose/SM +primula/S +prince/SMY +princedom/SM +princeliness/M +princely/PRT +princess/MS +principal/SMY +principality/SM +principle/DSM +principled/U +print/AMDSG +printable/U +printer/MS +printing/SM +printmaking +printout/SM +prion/S +prior/MS +prioress/MS +prioritisation +prioritise/DSG +priority/SM +priory/SM +prise/AGDS +prism/MS +prismatic +prison/SZMR +prisoner/M +prissily +prissiness/M +prissy/PTR +pristine +prithee +privacy/M +private/XMYTNRS +privateer/SM +privation/CSM +privatisation/SM +privatise/DSG +privet/SM +privilege/DSMG +privileged/U +privily +privy/RSMT +prize/MS +prizefight/ZGSMR +prizefighter/M +prizefighting/M +prizewinner/MS +prizewinning +pro/SM +probabilistic +probability/SM +probable/SM +probably +probate/MN +probation/ZMR +probational +probationary +probationer/M +probe/MGDSBJ +probity/M +problem/MS +problematic/U +problematical/Y +probosces +proboscis/MS +procaine/M +procedural +procedure/SM +proceed/GJDS +proceeding/M +proceeds/M +process's +process/AGDS +processable +processed/U +procession/GD +processional/MS +processor/SM +proclamation/MS +proclivity/SM +procrastinate/DSGN +procrastination/M +procrastinator/MS +procreate/V +proctor/GMDS +procurement/M +prod/MS +prodigal/MYS +prodigality/M +prodigious/Y +prodigy/SM +produce's +produce/AZGDRS +producer/AM +producible/A +production/ASM +productive/UY +productiveness/M +productivity/M +prof/MS +profanation/MS +profane/PYGDS +profaneness/M +profanity/SM +professed/Y +profession/SM +professional/MYS +professionalisation +professionalise/DSG +professionalism/M +professor/SM +professorial/Y +professorship/SM +proffer/GMDS +proficiency/M +proficient/MYS +profit/BGD +profitability/M +profitable/U +profitably/U +profiteer/MDGS +profiteering/M +profiterole/SM +profitless +profligacy/M +profligate/SMY +proforma +profound/RYTP +profoundness/M +profundity/SM +profuse/PY +profuseness/M +progenitor/SM +progeny/M +progesterone/M +progestin/S +prognathous +prognoses +prognosis/M +prognostic/MS +prognosticate/XGNDS +prognostication/M +prognosticator/MS +program/CAS +programmable/MS +programmatic +programmed/AC +programmer/MS +programming/SM +progress/MDSGV +progression/MS +progressive/PMYS +progressiveness/M +prohibit/DGVS +prohibition/SM +prohibitionist/MS +prohibitive/Y +prohibitory +project/GMDS +projectile/SM +projection/SM +projectionist/SM +projector/MS +prokaryote/MS +prokaryotic +prole/S +proletarian/MS +proletariat/M +proliferate/DSGN +proliferation/M +prolific +prolifically +prolix/Y +prolixity/M +prologue/SM +prolongation/SM +prom/M +promenade/MGDS +promethium/M +prominence/M +prominent/Y +promiscuity/M +promiscuous/Y +promise/DSMG +promising/Y +promissory +promo/M +promontory/SM +promote/DRZG +promoter/M +promotional +prompt/JPSMDRYZTG +prompted/U +prompter/M +prompting/M +promptitude/M +promptness/M +promulgate/GNDS +promulgation/M +promulgator/MS +prone/P +proneness/M +prong/MDS +pronghorn/MS +pronominal/M +pronounce/DSLG +pronounceable/U +pronouncement/SM +pronto +pronunciation/MS +proof/ADGSM +proofread/SRZG +proofreader/M +prop/MS +propaganda/M +propagandise/GDS +propagandist/MS +propagate/DSGN +propagation/M +propagator/SM +propel/S +propellant/MS +propelled +propeller/SM +propelling +propensity/SM +proper/MRYT +property/DSM +prophecy/SM +prophesier/M +prophesy/DRSMZG +prophet/SM +prophetess/MS +prophetic +prophetical/Y +prophylactic/SM +prophylaxes +prophylaxis/M +propinquity/M +propitiate/DSGN +propitiation/M +propitiatory +propitious/Y +proponent/SM +proportion/ESM +proportional/YS +proportionality +proportionate/EY +proposal/MS +propped +propping +propranolol +proprietary/SM +proprieties/M +proprietor/SM +proprietorial/Y +proprietorship/M +proprietress/MS +propriety/SM +propulsion/M +propulsive +prorate/DSG +prorogation/M +prorogue/GD +prosaic +prosaically +proscenium/SM +prosciutto/M +proscribe/DG +proscription/MS +prose/M +prosecute/DSXGN +prosecution/M +prosecutor/MS +proselyte/DSMG +proselytise/DRSZG +proselytiser/M +proselytism/M +prosocial +prosody/SM +prospect/MDGVS +prospective/Y +prospector/SM +prospectus/MS +prosper/GSD +prosperity/M +prosperous/Y +prostate/MS +prostheses +prosthesis/M +prosthetic +prostitute/MGNDS +prostitution/M +prostrate/GNXDS +prostration/M +prosy/RT +protactinium/M +protagonist/SM +protean +protect/GVSD +protected/U +protection/SM +protectionism/M +protectionist/MS +protective/PY +protectiveness/M +protector/MS +protectorate/MS +protege/SM +protegee/S +protein/SM +protestant/S +protestation/MS +protocol/MS +proton/SM +protoplasm/M +protoplasmic +prototype/MGS +prototypical +protozoa +protozoan/MS +protozoic +protract/GD +protrude/GDS +protrusile +protrusion/MS +protuberance/MS +protuberant +proud/RYT +prov/NB +provability/M +provably +prove/EAGDS +proved/U +proven/U +provenance/SM +provender/M +provenience/M +proverbial/Y +provide/DRSZG +provided/U +providence/M +provident/Y +providential/Y +provider/M +province/MS +provincial/SMY +provincialism/M +provisional/Y +proviso/SM +provocateur/S +provocative/PY +provocativeness/M +provoke/DRSZG +provoked/U +provoker/M +provoking/Y +provolone/M +provost/SM +prow/MS +prowess/M +prowl/MDRSZG +prowler/M +proximal +proximate +proximity/M +proxy/SM +prude/MS +prudence/M +prudent/Y +prudential/Y +prudery/M +prudish/YP +prudishness/M +prune/MZGDRS +pruner/M +prurience/M +prurient/Y +pry/ZTGDRSM +psalm/MS +psalmist/SM +psaltery/SM +psephologist/S +psephology +pseud/S +pseudo/S +pseudonym/SM +pseudonymous +pseudoscience/MS +pseudy +pshaw/MS +psi/SM +psittacosis/M +psoriasis/M +psst +psych/MDSG +psyche/M +psychedelia +psychedelic/SM +psychedelically +psychiatric +psychiatrist/SM +psychiatry/M +psychic/MS +psychical/Y +psycho/SM +psychoactive +psychoanalyse/DSG +psychoanalysis/M +psychoanalyst/SM +psychoanalytic +psychoanalytical/Y +psychobabble/M +psychodrama/MS +psychogenic +psychokinesis +psychokinetic +psychological/Y +psychologist/MS +psychology/SM +psychometric +psychoneuroses +psychoneurosis/M +psychopath/M +psychopathic +psychopathology +psychopaths +psychopathy/M +psychopharmacology +psychophysiology +psychos/S +psychosis/M +psychosomatic +psychotherapist/MS +psychotherapy/SM +psychotic/SM +psychotically +psychotropic/MS +psychs +pt/C +ptarmigan/MS +pterodactyl/MS +ptomaine/SM +pub/SM +pubertal +puberty/M +pubes/M +pubescence/M +pubescent +pubic +pubis/M +public/AM +publican/AMS +publication/ASM +publicise/GDS +publicist/MS +publicity/M +publicly +publish/AGDS +publishable +published/U +publisher/MS +publishing/M +puce/M +puck/ZMRS +pucker/MDG +puckish/YP +puckishness/M +pud/S +pudding/SM +puddle/DSMG +puddling/M +pudenda +pudendum/M +pudginess/M +pudgy/PRT +pueblo/SM +puerile +puerility/M +puerperal +puff/ZGMDRS +puffball/SM +puffer/M +puffin/SM +puffiness/M +puffy/PRT +pug/SM +pugilism/M +pugilist/SM +pugilistic +pugnacious/YP +pugnaciousness/M +pugnacity/M +puke/MGDS +pukka +pulchritude/M +pulchritudinous +pule/GDS +pull/ZGMDRS +pullback/MS +puller/M +pullet/SM +pulley/SM +pullout/MS +pullover/SM +pulmonary +pulp/GMDS +pulpiness/M +pulpit/SM +pulpwood/M +pulpy/RPT +pulsar/SM +pulsate/XGNDS +pulsation/M +pulse/AMGDS +pulverisation/M +pulverise/DSG +puma/MS +pumice/SM +pummel/S +pummelled +pummelling +pump/ZGMDRS +pumper/M +pumpernickel/M +pumpkin/MS +pun/SM +punch/MDRSZG +punchbag/S +puncheon/MS +puncher/M +punchline/S +punchy/TR +punctilio/M +punctilious/PY +punctiliousness/M +punctual/Y +punctuality/M +punctuate/GNDS +punctuation/M +puncture/DSMG +pundit/SM +punditry/M +pungency/M +pungent/Y +puniness/M +punish/BLGDS +punished/U +punishing/Y +punishment/MS +punitive/Y +punk/TMRS +punned +punnet/S +punning +punster/SM +punt/ZGMDRS +punter/M +puny/TRP +pup/SM +pupa/M +pupae +pupal +pupate/DSG +pupil/MS +pupped +puppet/MS +puppeteer/SM +puppetry/M +pupping +puppy/SM +purblind +purchase/DRSMZGB +purchaser/M +purdah/M +pure/PYTR +purebred/SM +puree/MDS +pureeing +pureness/M +purgative/SM +purgatorial +purgatory/SM +purge/MZGDRS +purger/M +purification/M +purifier/M +purify/NDRSZG +purine/MS +purism/M +purist/MS +puristic +puritan/SM +puritanical/Y +puritanism/M +purity/M +purl/GMDS +purlieu/SM +purloin/SGD +purple/MTRS +purplish +purport/SMDG +purported/Y +purpose/DSMYG +purposed/A +purposeful/YP +purposefulness/M +purposeless/PY +purr/GMDS +purse/MZGDRS +purser/M +pursuance/M +pursuant +pursue/ZGDRS +pursuer/M +pursuit/SM +purulence/M +purulent +purvey/DSG +purveyance/M +purveyor/SM +purview/M +pus/M +push/ZGMDRS +pushbike/S +pushcart/SM +pushchair/S +pusher/M +pushily +pushiness/M +pushover/MS +pushpin/S +pushy/TRP +pusillanimity/M +pusillanimous/Y +puss/MS +pussy/TRSM +pussycat/MS +pussyfoot/DSG +pustular +pustule/SM +put/ISM +putative +putout/MS +putrefaction/M +putrefactive +putrefy/GDS +putrescence/M +putrescent +putrid +putsch/MS +putt/ZGMDRS +putted/I +puttee/MS +putter/MDRZG +putterer/M +putting/I +putty/GDSM +putz/S +puzzle/MZGDRSL +puzzlement/M +puzzler/M +pvt +pwn/SGD +pyelonephritis +pygmy/SM +pyjama/S +pyjamas/M +pylon/SM +pylori +pyloric +pylorus/M +pyorrhoea/M +pyramid/GSMD +pyramidal +pyre/MS +pyrimidine/MS +pyrite/SM +pyrites/M +pyromania/M +pyromaniac/SM +pyrotechnic/S +pyrotechnical +pyrotechnics/M +pyruvate +python/SM +pyx/MS +pzazz +q +qr +qt/S +qty +qua +quack/GMDS +quackery/M +quad/MS +quadrangle/SM +quadrangular +quadrant/MS +quadraphonic +quadratic/MS +quadrature +quadrennial +quadrennium/MS +quadriceps/MS +quadrilateral/SM +quadrille/XMNS +quadrillion/M +quadriplegia/M +quadriplegic/SM +quadrivium/M +quadruped/MS +quadrupedal +quadruple/MGDS +quadruplet/MS +quadruplicate/MGNDS +quadruplication/M +quaff/GMDS +quagmire/SM +quahog/MS +quail/GMDS +quaint/PRYT +quaintness/M +quake/MGDS +quaky +qualification/EM +qualified/U +qualifier/SM +qualify/EGXNDS +qualitative/Y +quality/SM +qualm/MS +qualmish +quandary/SM +quango/S +quanta +quantifiable +quantification/M +quantifier/M +quantify/NDRSZG +quantisation +quantise +quantitation +quantitative/Y +quantity/SM +quantum/M +quarantine/MGDS +quark/MS +quarrel/SM +quarrelled +quarreller/MS +quarrelling +quarrelsome/P +quarrelsomeness/M +quarry/DSMG +quart/MS +quarter/SGMDY +quarterback/GMDS +quarterdeck/MS +quarterfinal/SM +quarterly/SM +quartermaster/MS +quarterstaff/M +quarterstaves +quartet/SM +quarto/MS +quartz/M +quasar/MS +quash/GDS +quasi +quatrain/MS +quaver/MDSG +quavery +quay/MS +quayside/S +queasily +queasiness/M +queasy/TPR +queen/GMDYS +queenly/RT +queer/PTGMDRYS +queerness/M +quell/GDS +quench/ZGDRSB +quenchable/U +quencher/M +quenchless +querulous/YP +querulousness/M +query/DSMG +ques +quesadilla/MS +quest/IFAMS +quested +questing +question/SMDRZGBJ +questionable/U +questionably/U +questioned/U +questioner/M +questioning/MY +questionnaire/SM +queue's +queue/CDS +queuing +quibble/DRSMZG +quibbler/M +quiche/SM +quick/MNRYXTP +quicken/DG +quickfire +quickie/SM +quicklime/M +quickness/M +quicksand/MS +quicksilver/M +quickstep/MS +quid/MS +quiescence/M +quiescent/Y +quiet/SMDNRYXTGP +quieten/DG +quietism +quietness/M +quietude/IEM +quietus/MS +quiff/S +quill/SM +quilt/SMDRZG +quilter/M +quilting/M +quin/S +quince/SM +quine/S +quinidine +quinine/M +quinoa +quinsy/M +quint/SM +quintessence/SM +quintessential/Y +quintet/SM +quintuple/MGDS +quintuplet/MS +quip/MS +quipped +quipping +quipster/SM +quire's +quire/IAS +quirk/SMDG +quirkiness/M +quirky/RTP +quirt/SM +quisling/SM +quit/S +quitclaim/MS +quite +quittance/M +quitter/SM +quitting +quiver/SMDG +quivery +quixotic +quixotically +quiz/M +quizzed +quizzer/SM +quizzes +quizzical/Y +quizzing +quo/H +quoin/SM +quoit/SMDG +quondam +quorate/I +quorum/SM +quot/B +quota/SM +quotability/M +quotation/SM +quote's +quote/UDSG +quotidian +quotient/SM +qwerty +r/S +rabbet/GMDS +rabbi/SM +rabbinate/M +rabbinic +rabbinical +rabbit/GMDS +rabble/MS +rabid/PY +rabidness/M +rabies/M +raccoon/MS +race/MZGDRS +racecourse/SM +racegoer/S +racehorse/MS +raceme/MS +racer/M +racetrack/MS +raceway/MS +racial/Y +racialism/M +racialist/MS +racily +raciness/M +racing/M +racism/M +racist/SM +rack/GMDS +racket/SMDG +racketeer/SMDG +racketeering/M +raconteur/SM +racquet/SM +racquetball/SM +racy/PRT +rad/SM +radar/SM +radarscope/SM +raddled +radial/SMY +radian/S +radiance/M +radiant/Y +radiate/DSGNX +radiation/M +radiator/SM +radical/SMY +radicalisation/M +radicalise/DSG +radicalism/M +radicchio/M +radii +radio/MDGS +radioactive/Y +radioactivity/M +radiocarbon/M +radiogram/MS +radiographer/SM +radiography/M +radioisotope/MS +radiologist/SM +radiology/M +radioman/M +radiomen +radiometer/MS +radiometric +radiometry/M +radiophone/SM +radioscopy/M +radiosonde/SM +radiosurgery +radiotelegraph/M +radiotelegraphs +radiotelegraphy/M +radiotelephone/MS +radiotherapist/MS +radiotherapy/M +radish/MS +radium/M +radius/M +radon/M +raffia/M +raffish/YP +raffishness/M +raffle/DSMG +raft/ZGMDRS +rafter/M +rafting/M +rag/SZGMDR +raga/MS +ragamuffin/MS +ragbag/M +rage/MS +rager/M +ragga +ragged/RYTP +raggedness/M +raggedy/RT +ragging +raging/Y +raglan/SM +ragout/SM +ragtag/S +ragtime/M +ragweed/M +ragwort +rah +raid/ZGMDRS +raider/M +rail's +rail/CGDS +railcard/S +railing/SM +raillery/SM +railroad/SZGMDR +railroader/M +railroading/M +railway/SM +railwayman +railwaymen +raiment/M +rain/GMDS +rainbow/SM +raincoat/SM +raindrop/SM +rainfall/SM +rainmaker/SM +rainmaking/M +rainproof +rainstorm/MS +rainwater/M +rainy/RT +raise/MZGDRS +raiser/M +raisin/SM +rajah/M +rajahs +rake/MGDS +rakish/YP +rakishness/M +rally/DSMG +ram/SM +ramble/DRSMZGJ +rambler/M +rambunctious/PY +rambunctiousness/M +ramekin/SM +ramie/M +ramification/M +ramify/DSXNG +ramjet/SM +rammed +ramming +ramp/GMS +rampage/DSMG +rampancy/M +rampant/Y +rampart/SM +ramrod/SM +ramrodded +ramrodding +ramshackle +ran/A +ranch/MDRSZG +rancher/M +ranching/M +rancid/P +rancidity/M +rancidness/M +rancorous/Y +rancour/M +rand/M +randiness/M +random/PSY +randomisation/M +randomise/DSG +randomness/MS +randy/RTP +ranee/MS +rang/ZR +range's +range/CGDS +rangefinder/S +ranger/M +ranginess/M +rangy/RTP +rank/TGJPMDRYS +ranking/M +rankle/DSG +rankness/M +ransack/SGD +ransom/SZGMDR +ransomer/M +ransomware +rant/ZGMDJRS +ranter/M +rap/SZGMDR +rapacious/PY +rapaciousness/M +rapacity/M +rape/MS +raper/M +rapeseed/M +rapid/PMRYTS +rapidity/M +rapidness/M +rapier/SM +rapine/M +rapist/SM +rapped +rappel/SM +rappelled +rappelling +rapper/SM +rapping +rapport/MS +rapporteur/S +rapprochement/SM +rapscallion/MS +rapt/YP +raptness/M +raptor/S +rapture/MS +rapturous/Y +rare/YTGPDRS +rarebit/MS +rarefaction/M +rarefy/GDS +rareness/M +rarity/SM +rascal/SMY +rash/ZTMRSYP +rasher/M +rashness/M +rasp/GMDS +raspberry/SM +raspy/RT +raster +rat/SM +ratatouille/M +ratbag/S +ratchet/GMDS +rate/JXMZGNDRS +rated/U +ratepayer/S +rater/M +rather +rathskeller/SM +ratification/M +ratifier/M +ratify/NDRSZG +rating/M +ratio/MS +ratiocinate/GNDS +ratiocination/M +ration/MDG +rational/SMY +rationale/MS +rationalisation/SM +rationalise/DSG +rationalism/M +rationalist/SM +rationalistic +rationality/M +ratlike +ratline/SM +rattan/SM +ratted +ratter/SM +ratting +rattle/DRSMZGJ +rattlebrain/SMD +rattler/M +rattlesnake/SM +rattletrap/SM +rattly +rattrap/SM +ratty/RT +raucous/YP +raucousness/M +raunchily +raunchiness/M +raunchy/TRP +ravage/DRSMZG +ravager/M +ravages/M +rave/JMZGDRS +ravel's +ravel/US +ravelled/U +ravelling/S +raven/MDSG +ravenous/Y +ravine/SM +raving/M +ravioli/SM +ravish/DRSZGL +ravisher/M +ravishing/Y +ravishment/M +raw/PTMR +rawboned +rawhide/M +rawness/M +ray/SM +rayon/M +raze/GDS +razoo/MS +razor/MS +razorback/MS +razz/GMDS +razzmatazz/M +rcpt +rd +re/DSMYTGVJ +reach/MDSGB +reachable/U +reacquire/DSG +react/V +reactance +reactant/SM +reactionary/SM +reactivity +read/ZGMRBJS +readability/SM +reader/M +readership/SM +readily +readiness/M +reading/M +readmitted +readout/SM +ready/DRSTGP +reafforestation +real/TMRYPS +realisation/SM +realise/DSBG +realised/U +realism/M +realist/SM +realistic/U +realistically/U +realities +reality/UM +realm/MS +realness/M +realpolitik/M +realty/M +ream/ZGMDRS +reamer/M +reap/ZGDRS +reaper/M +rear/GMDS +rearguard/MS +rearmost +rearward/S +reason/SMDRZGB +reasonable/UP +reasonableness/UM +reasonably/U +reasoner/M +reasoning/M +reassuring/Y +reauthorise/S +reauthorized +reauthorizing +rebate/M +rebel/MS +rebellion/MS +rebellious/YP +rebelliousness/M +rebid/S +rebidding +rebirth/M +reboil/SDG +rebuild/SG +rebuke/DSMG +rebuking/Y +rebuttal/MS +rec'd +rec/M +recalcitrance/M +recalcitrant +recant/SDG +recantation/SM +recap/MS +recapitalisation +recce/S +recd +receipt/SMDG +receivables/M +receive/DRSZGB +receiver/M +receivership/M +recent/RYTP +recentness/M +receptacle/SM +reception/MS +receptionist/SM +receptive/PY +receptiveness/M +receptivity/M +receptor/SM +recess/MDSGV +recessional/SM +recessionary +recessive/SM +recherche +recidivism/M +recidivist/SM +recipe/SM +recipient/SM +reciprocal/SMY +reciprocate/GNDS +reciprocation/M +reciprocity/M +recital/SM +recitalist/MS +recitative/MS +reciter/SM +reckless/YP +recklessness/M +reckon/SJDG +reckoning/M +reclamation/M +recline/DRSZG +recliner/M +recluse/SMV +recognisable/U +recognisably/U +recognise/DRSGB +recognised/U +recombination +recompense/DSMG +recompilation +recompile/GD +recon/S +reconcile/GDSB +reconciliation/S +recondite +reconfiguration +reconfigure/D +reconnaissance/MS +reconnoitre/GDS +reconstruct/V +reconstructed/U +recorded/U +recorder/MS +recording/MS +recoup/DG +recourse/M +recoverable/U +recovery/SM +recreant/MS +recreational +recriminate/DSGNX +recrimination/M +recriminatory +recrudesce/GDS +recrudescence/M +recrudescent +recruit/LSMDRZG +recruiter/M +recruitment/M +rectal/Y +rectangle/MS +rectangular +rectifiable +rectification/M +rectifier/M +rectify/XNDRSZG +rectilinear +rectitude/M +recto/MS +rector/SM +rectory/SM +rectum/SM +recumbent +recuperate/GNVDS +recuperation/M +recur/S +recurred +recurrence/SM +recurring +recursion/S +recuse/DSG +recyclable/SM +recycling/M +red/PSM +redact/SDG +redaction/M +redactor/SM +redbird/SM +redbreast/MS +redbrick +redcap/SM +redcoat/SM +redcurrant/S +redden/SDG +redder +reddest +reddish +redeem/RZB +redeemer/M +redemption/M +redemptive +redhead/SMD +redialling +redirection +redistrict/GD +redivide/GDS +redlining/M +redneck/SM +redness/M +redo/G +redolence/M +redolent +redoubt/SBM +redoubtably +redound/SDG +redraw/SG +redskin/SM +reduce/DRSZG +reducer/M +reducible +reductase/M +reduction/SM +reductionist +reductive +redundancy/SM +redundant/Y +redwood/SM +redye/DS +reediness/M +reedy/RTP +reef/ZGMDRS +reefer/M +reek/GMDS +reel's +reel/UGDS +reeve/G +reexport/SDG +ref/SZM +refashion/DGS +refection/M +refectory/SM +refer/B +referee/DSM +refereeing +reference/MGDS +referendum/MS +referent/SM +referential +referral/SM +referred +referrer/SM +referring +reffed +reffing +refill/BM +refined/U +refinement/SM +refiner/SM +refinery/S +refitting +reflate/XDSGN +reflationary +reflect/GVSD +reflection/MS +reflective/Y +reflectivity +reflector/MS +reflexive/SMY +reflexivity +reflexology +reforge/DSG +reform/MZ +reformat/V +reformatory/SM +reformatting +reformed/U +reformist/S +refortify/GDS +refract/SGVD +refraction/M +refractory/SM +refrain/SGMD +refresh/ZGLDRS +refresher/M +refreshing/Y +refreshment/SM +refreshments/M +refrigerant/SM +refrigerate/DSGN +refrigeration/M +refrigerator/MS +refuge/SM +refugee/SM +refulgence/M +refulgent +refund/B +refurbishment/MS +refusal/MS +refutation/MS +refute/BDRSZG +refuter/M +reg +regal/DYG +regalement/M +regalia/M +regard/ESMDG +regardless +regards/M +regather/DGS +regatta/SM +regency/SM +regeneracy/M +regenerate/V +regex/M +regexp/S +reggae/M +regicidal +regicide/MS +regime/SM +regimen/SM +regiment/MDGS +regimental +regimentation/M +region/SM +regional/Y +regionalism/MS +register/GMDS +registered/U +registrant/MS +registrar/MS +registration/SM +registry/SM +regnant +rego/MS +regress/MDSGV +regression/MS +regret/SM +regretful/Y +regrettable +regrettably +regretted +regretting +regrind/GS +reground +regroup/DGS +regular/MYS +regularisation/M +regularise/DSG +regularity/SM +regulate/CDSGNV +regulated/U +regulation/CM +regulations +regulator/MS +regulatory +regurgitate/DSGN +regurgitation/M +rehab/MS +rehabbed +rehabbing +rehabilitate/GNVDS +rehabilitation/M +rehang/SDG +rehears/GD +rehearsal/MS +rehearsed/U +rehi +rehung +reify/NDSG +reign/MDSG +reimburse/BDSGL +reimbursement/MS +rein/GD +reindeer/M +reinforce/LGDS +reinforcement/SM +reinitialise +reinstall/DG +reinstatement/M +reinsurance +reiterate/V +reject/GSMD +rejection/SM +rejoice/JGDS +rejoicing/M +rejoinder/SM +rejuvenate/DSGN +rejuvenation/M +rel +relate/DRSBXZGNV +relatedness/M +relater/M +relation/M +relational +relationship/MS +relative/MYS +relativism/M +relativist/S +relativistic +relativity/M +relax/DRSZG +relaxant/MS +relaxation/SM +relaxer/M +relay/D +release/B +released/U +relegate/GNDS +relent/SGD +relentless/PY +relentlessness/M +relevance/M +relevancy/M +relevant/Y +reliability/UM +reliable/U +reliably/U +reliance/M +reliant +relic/MS +relief/SM +relieve/ZGDRS +reliever/M +religion/SM +religiosity +religious/MYP +religiousness/M +reline/DSG +relinquish/LDSG +relinquishment/M +reliquary/SM +relish/GMDS +relist/SGD +relocate/B +reluctance/M +reluctant/Y +rely/GDS +rem/M +remain/SGD +remainder/GMDS +remand/SGD +remapping +remark/B +remarkableness/M +remarkably +remarked/U +remediable +remedy/GDSM +remember/DG +remembered/U +remembrance/MS +reminder/M +reminisce/GDS +reminiscence/MS +reminiscent/Y +remiss/PY +remissness/M +remit/S +remittance/SM +remitted +remitting/U +remix/DSG +remnant/MS +remodelling +remonstrant/SM +remonstrate/DSG +remorse/M +remorseful/Y +remorseless/PY +remorselessness/M +remote/RSMYTP +remoteness/M +remould/SDG +removal/SM +remunerate/GNVXDS +remuneration/M +renaissance/MS +renal +renascence/S +rend/GS +render/SGMDJ +rendering/M +rendezvous/GMDS +rendition/MS +renegade/DSMG +renege/DRSZG +reneger/M +renew/DSBG +renewal/MS +rennet/M +rennin/M +renounce/LDSG +renouncement/M +renovate/DSXGN +renovation/M +renovator/MS +renown/MD +rent/ZGMDRS +rental/SM +renter/M +renunciation/SM +reopen/SDG +reorg/MDSG +rep/SM +repaint/GDS +repair/BZR +repairer/M +repairman/M +repairmen +reparable +reparation/MS +reparations/M +repartee/M +repatriate/XDSMGN +repatriation/M +repeat/SMDRZGB +repeatability +repeatable/U +repeatably +repeated/Y +repeater/M +repeating/M +repel/S +repelled +repellent/SM +repelling +repent/SDG +repentance/M +repentant/Y +repercussion/S +repertoire/MS +repertory/SM +repetition/MS +repetitious/YP +repetitiousness/M +repetitive/YP +repetitiveness/M +rephotograph/DG +replaceable +replant/GSD +replenish/LGDS +replenishment/M +replete/PDSGN +repleteness/M +repletion/M +replica/SM +replicate/DSGNX +replication/M +replicator/S +reportage/M +reported/Y +reportorial +reposeful +reposition +repository/SM +reprehend/DGS +reprehensibility/M +reprehensible +reprehensibly +reprehension/M +represent/GDS +representational +representative/MS +represented/U +repression/MS +repressive/PY +reprieve/DSMG +reprimand/GSMD +reprisal/SM +reprise/M +reproach/GMDSB +reproachful/Y +reprobate/MS +reproductive +reprogramming +reproving/Y +reptile/SM +reptilian/MS +republic/S +republicanism/M +repudiate/XGNDS +repudiation/M +repudiator/MS +repugnance/M +repugnant +repulsion/M +repulsive/YP +repulsiveness/M +repurchase/GDS +reputability/M +reputably/E +reputation/MS +repute/DSMGB +reputed/Y +request/GDR +requiem/SM +require/LDG +requirement/MS +requisite/XMNS +requisition/GMD +requital/M +requite/DRSZG +requited/U +requiter/M +reread/SG +rerecord/GDS +rerunning +resale/B +resample/GDS +resat +rescind/SDG +rescission/M +rescue/DRSMZG +rescuer/M +reseal/B +resemble/DSG +resend +resent/LSDG +resentful/YP +resentfulness/M +resentment/MS +reserpine/M +reservation/MS +reserved/UY +reservedness/M +reservist/SM +reservoir/SM +resetting +reshipping +residence/SM +residency/SM +resident/MS +residential +residua +residual/MS +residue/SM +residuum/M +resignation/SM +resigned/Y +resilience/M +resiliency/M +resilient/Y +resinous +resist/SMDRZG +resistance/SM +resistant/U +resistible +resistivity +resistless +resistor/MS +resit/S +resitting +resold +resole/DSG +resolute/PY +resoluteness/M +resolve/RBM +resolved/U +resonance/SM +resonant/Y +resonate/GDS +resonator/SM +resorption/M +resound/SGD +resounding/Y +resourceful/YP +resourcefulness/M +resp +respect/ESGVMD +respectability/M +respectable +respectably +respecter/MS +respectful/EY +respectfulness/M +respective/Y +respell/SGD +respiration/M +respirator/SM +respiratory +respire/DG +resplendence/M +resplendent/Y +respond/SGD +respondent/SM +response/MS +responsibility/SM +responsible +responsibly +responsive/UYP +responsiveness/UM +rest/GVMDS +restate/GDS +restaurant/SM +restaurateur/MS +restful/YP +restfuller +restfullest +restfulness/M +restitution/M +restive/YP +restiveness/M +restless/PY +restlessness/M +restoration/SM +restorative/SM +restorer/SM +restrained/U +restraint/MS +restrict/SDGV +restricted/U +restriction/MS +restrictive/YP +restrictiveness/M +restring/SG +restroom/SM +restructuring/SM +result/GSMD +resultant/SM +resume/DSMG +resumption/MS +resupply/DSG +resurgence/MS +resurgent +resurrect/GSD +resurrection/MS +resuscitate/GNDS +resuscitation/M +resuscitator/SM +retailer/MS +retain/SDRZG +retainer/M +retake/G +retaliate/DSGNVX +retaliation/M +retaliatory +retard/SMDRZG +retardant/SM +retardation/M +retarder/M +retch/DSG +reteach/GS +retention/M +retentive/YP +retentiveness/M +rethink/SGM +rethought +reticence/M +reticent/Y +reticulated +reticulation/MS +reticulum +retina/SM +retinal +retinoblastoma +retinue/SM +retiree/SM +retirement/MS +retort/GMD +retrace/GDS +retract/DBG +retractile +retraction/S +retrain/DGS +retread/D +retrenchment/MS +retribution/MS +retributive +retrieval/SM +retrieve/DRSMZGB +retriever/M +retro/MS +retroactive/Y +retrofire/GDS +retrofit/SM +retrofitted +retrofitting +retrograde/DSG +retrogress/GVDS +retrogression/M +retrorocket/MS +retrospect/MDSGV +retrospection/M +retrospective/MYS +retrovirus/MS +retsina/M +returnable/SM +returnee/SM +rev/ZVM +revamping/M +reveal/GJSD +revealed/U +revealing/Y +reveille/M +revel/MS +revelation/SM +revelatory +revelled +reveller/SM +revelling/S +revelry/SM +revenge/MGDS +revenuer/SM +reverb +reverberate/DSGNX +reverberation/M +revere/DSG +reverence/DSMG +reverend/SM +reverent/Y +reverential/Y +reverie/MS +revers/M +reversal/SM +reverse/Y +reversibility +reversible +reversibly +revert/GSD +revertible +revetment/SM +revile/DRSLZG +revilement/M +reviler/M +reviser/MS +revision/SM +revisionism/M +revisionist/SM +revival/MS +revivalism/M +revivalist/SM +revive/DSG +revivification/M +revocable +revoke/DSG +revolt/GD +revolting/Y +revolution/SM +revolutionary/SM +revolutionise/DSG +revolutionist/SM +revolve/BZGDRS +revolver/M +revue/MS +revulsion/M +revved +revving +rewarded/U +rewarding/U +rewarm/GSD +rewash/GDS +reweave/GS +rewedding +rewind/MB +rewound +rewrite/MGS +rhapsodic +rhapsodical +rhapsodise/GDS +rhapsody/SM +rhea/MS +rhenium/M +rheostat/SM +rhesus/MS +rhetoric/M +rhetorical/Y +rhetorician/SM +rheum/M +rheumatic/MS +rheumatically +rheumatism/M +rheumatoid +rheumy +rhinestone/SM +rhinitis/M +rhino/MS +rhinoceros/MS +rhinoplasty +rhinovirus/MS +rhizome/MS +rho/SM +rhodium/M +rhododendron/SM +rhomboid/SM +rhomboidal +rhombus/MS +rhubarb/MS +rhyme/MZGDRS +rhymer/M +rhymester/MS +rhythm/SM +rhythmic +rhythmical/Y +rial/MS +rib/SM +ribald +ribaldry/M +ribbed +ribber/SM +ribbing +ribbon/SM +riboflavin/M +rice/MZGDRS +ricer/M +rich/TMRSYP +richness/M +rick/GMDS +rickets/M +rickety/RT +rickrack/M +rickshaw/MS +ricochet/GMDS +ricotta/M +rid/S +riddance/M +ridden +ridding +riddle/DSMG +ride/MZGRS +rider/M +riderless +ridership/M +ridge/MGDS +ridgepole/SM +ridgy +ridicule/MGDS +ridiculous/YP +ridiculousness/M +riding/M +rife/TR +riff/GMDS +riffle/DSMG +riffraff/M +rifle/MZGDRS +rifleman/M +riflemen +rifler/M +rifling/M +rift/GMDS +rig/SM +rigatoni/M +rigged +rigger/SM +rigging/M +right/MDRYSPTG +righteous/UP +righteously +righteousness/UM +rightful/PY +rightfulness/M +rightism/M +rightist/SM +rightmost +rightness/M +righto +rightsize/DSG +rightward/S +rigid/YP +rigidity/M +rigidness/M +rigmarole/MS +rigorous/YP +rigorousness/M +rigour/SM +rile/GDS +rill/MS +rim/SGMD +rime/MS +rimless +rimmed +rimming +rind/MS +ring/ZGMDRJ +ringer/M +ringgit/MS +ringleader/MS +ringlet/MS +ringlike +ringmaster/MS +ringside/M +ringtone/SM +ringworm/M +rink/MS +rinse/MGDS +riot/ZGMDRS +rioter/M +rioting/M +riotous/PY +rip/SXTMNR +riparian +ripcord/MS +ripe/YP +ripen/DG +ripened/U +ripeness/M +ripoff/SM +riposte/MGDS +ripped +ripper/SM +ripping +ripple/DSMG +ripply +ripsaw/SM +riptide/MS +rise/JMZGRS +risen +riser/M +risibility/M +risible +rising/M +risk/GMDS +riskily +riskiness/M +risky/RPT +risotto/MS +risque +rissole/S +rite/MS +ritual/SMY +ritualised +ritualism/M +ritualistic +ritualistically +ritzy/RT +riv/ZNR +rival/MS +rivalled/U +rivalling +rivalry/SM +rive/CGDS +river/M +riverbank/SM +riverbed/MS +riverboat/SM +riverfront +riverside/MS +rivet/MDRSZG +riveter/M +riviera/S +rivulet/MS +riyal/MS +rm +roach/GMDS +road/IMS +roadbed/SM +roadblock/MDSG +roadhouse/SM +roadie/MS +roadkill/M +roadrunner/SM +roadshow/SM +roadside/SM +roadster/SM +roadway/SM +roadwork/SM +roadworthy +roam/ZGDRS +roamer/M +roaming/M +roan/MS +roar/ZGMDRS +roarer/M +roaring/M +roast/ZGMDRSJ +roaster/M +roasting/M +rob/S +robbed +robber/MS +robbery/SM +robbing +robe's +robe/EGDS +robin/MS +robocall/SGMD +robot/MS +robotic/S +robotics/M +robotise/GDS +robust/RYPT +robustness/M +rock/ZGMDRS +rockabilly/M +rockbound +rocker/M +rockery/S +rocket/MDSG +rocketry/M +rockfall/SM +rockiness/M +rocky/TRP +rococo/M +rod/SM +rode +rodent/MS +rodeo/MS +roe/SM +roebuck/SM +roentgen/MS +roger/GDS +rogue's +rogue/KS +roguery/M +roguish/YP +roguishness/M +roil/GDS +roister/ZGDRS +roisterer/M +role/MS +roll/MDRZGJS +rollback/SM +roller/M +rollerblading +rollerskating/M +rollick/SDG +rollicking/M +rollmop/S +rollover/SM +romaine/MS +roman/M +romance/MZGDRS +romancer/M +romantic/MS +romantically +romanticise/DSG +romanticism/M +romanticist/SM +romeo/MS +romp/MDRZGS +romper/M +rondo/SM +rood/MS +roof/MDRZGS +roofer/M +roofing/M +roofless +rooftop/SM +rook/MDGS +rookery/SM +rookie/SM +room/MDRZGS +roomer/M +roomette/SM +roomful/SM +roominess/M +roommate/SM +roomy/RTP +roost/SMDRZG +rooster/M +root/MDRZGS +rooter/M +rootkit/SM +rootless/P +rootlet/SM +rope/MZGDRS +ropeable +roper/M +ropy/RT +rort/MDGS +rosary/SM +rose/MS +roseate +rosebud/SM +rosebush/MS +rosemary/M +rosette/SM +rosewater/M +rosewood/MS +rosily +rosin/SMDG +rosiness/M +roster/SM +rostrum/MS +rosy/RTP +rot/SM +rota/S +rotary/SM +rotate/DSGNX +rotation/M +rotational +rotatory +rote/M +rotgut/M +rotisserie/SM +rotogravure/MS +rotor/SM +rototiller/MS +rotted +rotten/TPRY +rottenness/M +rotter/S +rotting +rottweiler/S +rotund/P +rotunda/MS +rotundity/M +rotundness/M +rouble/SM +roue/MS +rouge/DSMG +rough/MDNRYXTGP +roughage/M +roughcast +roughen/GD +roughhouse/MGDS +roughie/M +roughneck/GMDS +roughness/M +roughs +roughshod +roughy/SM +roulette/M +round/PSMDRYZTG +roundabout/SM +roundel/S +roundelay/MS +roundhouse/SM +roundish +roundness/M +roundup/MS +roundworm/SM +rouse/DSG +roust/SDG +roustabout/SM +rout/MRZS +route's +route/ADSG +routeing +router/M +routine/MYS +routinise/GDS +roux +rove/ZGDRS +rover/M +row/SZGMDR +rowan/S +rowboat/MS +rowdily +rowdiness/M +rowdy/PRSMT +rowdyism/M +rowel/SM +rowelled +rowelling +rower/M +rowing/M +rowlock/S +royal/SMY +royalist/SM +royalties/M +royalty/SM +rpm +rps +rt +rte +rub/SM +rubato/SM +rubbed +rubber/SM +rubberise/GDS +rubberneck/MDRSZG +rubbernecker/M +rubbery +rubbing/S +rubbish/MDSG +rubbishy +rubble/M +rubdown/SM +rube/MS +rubella/M +rubicund +rubidium/M +rubric/SM +ruby/RSMT +ruched +ruck/DGS +rucksack/MS +ruckus/MS +ructions +rudder/SM +rudderless +ruddiness/M +ruddy/RTP +rude/YTRP +rudeness/M +rudiment/SM +rudimentary +rue/DSMG +rueful/PY +ruefulness/M +ruff/MDYGS +ruffian/MYS +ruffle/DSMG +ruffled/U +rug/SM +rugby/M +rugged/PTRY +ruggedness/M +rugger +rugrat/SM +ruin/MDGS +ruination/M +ruinous/Y +rule/MZGJDRS +ruler/M +ruling/M +rum/SM +rumba/SMDG +rumble/DSJMG +rumbling/M +rumbustious +ruminant/MS +ruminate/XGNVDS +rumination/M +ruminative/Y +rummage/DSMG +rummer +rummest +rummy/M +rumour/SMDG +rumourmonger/SM +rump/MYS +rumple/DSMG +rumpus/MS +run/ASM +runabout/MS +runaround/SM +runaway/MS +rundown/SM +rune/MS +rung/MS +runic +runlet/SM +runnel/SM +runner/SM +running/M +runny/RT +runoff/SM +runt/MS +runtime +runty/RT +runway/SM +rupee/SM +rupiah/M +rupiahs +rupture/MGDS +rural +ruse/MS +rush/MDRSZG +rusher/M +rushy +rusk/MS +russet/SM +rust/MDGS +rustic/SM +rustically +rusticate/GDS +rustication/M +rusticity/M +rustiness/M +rustle/DRSJMZG +rustler/M +rustproof/SDG +rusty/RPNT +rut/SM +rutabaga/SM +ruthenium/M +rutherfordium/M +ruthless/YP +ruthlessness/M +rutted +rutting +rutty/RT +rye/M +s/NYXB +sabbath/M +sabbaths +sabbatical/SM +sable/MS +sabot/MS +sabotage/DSMG +saboteur/SM +sabra/MS +sabre/MS +sac/SM +saccharin/M +saccharine +sacerdotal +sachem/SM +sachet/SM +sack/ZGMDRJS +sackcloth/M +sacker/M +sackful/MS +sacking/M +sacra +sacrament/MS +sacramental +sacred/YP +sacredness/M +sacrifice/DSMG +sacrificial/Y +sacrilege/MS +sacrilegious/Y +sacristan/MS +sacristy/SM +sacroiliac/MS +sacrosanct/P +sacrosanctness/M +sacrum/M +sad/PY +sadden/SDG +sadder +saddest +saddle's +saddle/UDSG +saddlebag/MS +saddler/S +saddlery +sades +sadhu/S +sadism/M +sadist/SM +sadistic +sadistically +sadness/M +sadomasochism/M +sadomasochist/MS +sadomasochistic +safari/SGMD +safe/MYTPRS +safeguard/SMDG +safekeeping/M +safeness/M +safety/SM +safflower/MS +saffron/MS +sag/SM +saga/MS +sagacious/Y +sagacity/M +sage/MYTRS +sagebrush/M +sagged +sagging +saggy/RT +sago/M +saguaro/MS +sahib/MS +said/U +sail/GMDSJ +sailboard/MRZGS +sailboarder/M +sailboarding/M +sailboat/MS +sailcloth/M +sailfish/MS +sailing/M +sailor/SM +sailplane/MS +saint/MDYS +sainthood/M +saintlike +saintliness/M +saintly/PRT +saith +sake/M +saki/M +salaam/SMDG +salacious/PY +salaciousness/M +salacity/M +salad/MS +salamander/SM +salami/SM +salary/DSM +sale/AMS +saleable/U +saleroom/S +salesclerk/SM +salesgirl/SM +saleslady/SM +salesman/M +salesmanship/M +salesmen +salespeople/M +salesperson/MS +salesroom/S +saleswoman/M +saleswomen +salience/M +salient/SMY +saline/SM +salinity/M +saliva/M +salivary +salivate/GNDS +salivation/M +sallow/RTP +sallowness/M +sally/DSMG +salmon/SM +salmonella/M +salmonellae +salon/MS +saloon/SM +salsa/MS +salt's +salt/CTGDS +saltbox/MS +saltcellar/SM +salted/U +salter +saltine/SM +saltiness/M +saltpetre/M +saltshaker/SM +saltwater/M +salty/RTP +salubrious/I +salutary +salutation/MS +salutatorian/MS +salutatory +salute/DSMG +salvage/DSMG +salvageable +salvation/M +salve/MZGDRS +salver/M +salvo/MS +samarium/M +samba/MDSG +same/SP +sameness/M +samey +samizdat/S +samosa/S +samovar/SM +sampan/SM +sample/DRSMZGJ +sampler/M +sampling/M +samurai/SM +sanatorium/SM +sanctification/M +sanctify/GDSN +sanctimonious/YP +sanctimoniousness/M +sanctimony/M +sanction/GSMD +sanctioned/U +sanctity/M +sanctuary/SM +sanctum/SM +sand/ZGMDRS +sandal/SM +sandalwood/M +sandbag/SM +sandbagged +sandbagger/SM +sandbagging +sandbank/MS +sandbar/SM +sandblast/ZGMDRS +sandblaster/M +sandbox/MS +sandcastle/MS +sander/M +sandgroper/SM +sandhog/SM +sandiness/M +sandlot/SM +sandlotter/MS +sandman/M +sandmen +sandpaper/GMDS +sandpiper/MS +sandpit/S +sandshoe/MS +sandstone/M +sandstorm/SM +sandwich/MDSG +sandy/RTP +sane/IYTR +saneness/M +sang/ZRS +sanger/M +sangfroid/M +sangria/M +sanguinary +sanguine/Y +sanitarian/SM +sanitarium/SM +sanitary/IU +sanitation/M +sanitise/ZGDRS +sanity/IM +sank +sans +sanserif +sap/SM +sapience/M +sapiens +sapient +sapless +sapling/MS +sapped +sapper/S +sapphire/SM +sappiness/M +sapping +sappy/PRT +saprophyte/SM +saprophytic +sapsucker/SM +sapwood/M +saran/M +sarcasm/MS +sarcastic +sarcastically +sarcoma/MS +sarcophagi +sarcophagus/M +sardine/MS +sardonic +sardonically +sarge/MS +sari/MS +sarky +sarnie/S +sarong/SM +sarsaparilla/MS +sartorial/Y +sash/MS +sashay/SGMD +sass/GMDS +sassafras/MS +sassy/RT +sat +satanic +satanical/Y +satanism/M +satanist/MS +satay +satchel/MS +sate/GDS +sateen/M +satellite/DSMG +satiable/I +satiate/GNDS +satiation/M +satiety/M +satin/M +satinwood/SM +satiny +satire/SM +satiric +satirical/Y +satirise/DSG +satirist/SM +satisfaction/EM +satisfactions +satisfactorily/U +satisfactory/U +satisfied/U +satisfy/EDSG +satisfying/U +satisfyingly +satori/M +satrap/SM +satsuma/S +saturate/DSGN +saturated/U +saturation/M +saturnine +satyr/MS +satyriasis/M +satyric +sauce/MZGDRS +saucepan/SM +saucer/M +saucily +sauciness/M +saucy/RPT +sauerkraut/M +sauna/MDSG +saunter/MDGS +saurian +sauropod/SM +sausage/MS +saute/MS +sauteed +sauteing +savage/DRSMYTGP +savageness/M +savagery/SM +savanna/MS +savant/SM +save/BJMZGDRS +saved/U +saver/M +saving/M +savings/M +saviour/MS +savour/SGMD +savouriness/M +savoury/TRSMP +savoy/MS +savvy/DRSMTG +saw/SGMD +sawbones/M +sawbuck/MS +sawdust/M +sawfly/SM +sawhorse/SM +sawmill/MS +sawyer/SM +sax/MS +saxifrage/SM +saxophone/MS +saxophonist/SM +say's +say/USG +saying/SM +scab/MS +scabbard/MS +scabbed +scabbiness/M +scabbing +scabby/PTR +scabies/M +scabrous +scad/MS +scaffold/SMG +scaffolding/M +scag/S +scagged +scalability +scalar/S +scalawag/MS +scald/MDSG +scale's +scale/CGDS +scaleless +scalene +scaliness/M +scallion/MS +scallop/GSMD +scalp/MDRSZG +scalpel/SM +scalper/M +scaly/RTP +scam/MS +scammed +scammer/S +scamming +scamp/MRSZ +scamper/GMD +scampi/M +scan/MS +scandal/SM +scandalise/DSG +scandalmonger/SM +scandalous/Y +scandium/M +scanned +scanner/SM +scanning +scansion/M +scant/CDSTG +scanter +scantily +scantiness/M +scantly +scantness/M +scanty/RSPT +scapegoat/SGMD +scapegrace/MS +scapula/M +scapulae +scapular/SM +scar/GMDS +scarab/SM +scarce/RYTP +scarceness/M +scarcity/SM +scare/MS +scarecrow/MS +scaremonger/SMG +scarf/MDSG +scarification/M +scarify/NDSG +scarily +scariness/M +scarlatina/M +scarlet/M +scarp/MDRSZG +scarper/DG +scarred +scarring +scarves +scary/RTP +scat/MS +scathing/Y +scatological +scatology/M +scatted +scatter/GJSMD +scatterbrain/SMD +scattering/M +scattershot +scatting +scatty +scavenge/ZGDRS +scavenger/M +scenario/MS +scenarist/MS +scene/MS +scenery/M +scenic +scenically +scent/CMS +scented/U +scenting +scentless +sceptic/MS +sceptical/Y +scepticism/M +sceptre/MS +sch +schadenfreude +schedule's +schedule/ADSG +scheduled/U +scheduler/S +schema +schemata +schematic/SM +schematically +schematise/GDS +scheme/DRSMZG +schemer/M +scherzo/MS +schilling/MS +schism/SM +schismatic/SM +schist/M +schistosomiasis +schizo/SM +schizoid/MS +schizophrenia/M +schizophrenic/SM +schlemiel/SM +schlep/SM +schlepped +schlepping +schlock/M +schmaltz/M +schmaltzy/TR +schmo/M +schmoes +schmooze/DRSZG +schmuck/MS +schnapps/M +schnauzer/SM +schnitzel/SM +schnook/MS +schnoz/MS +schnozzle/SM +scholar/MYS +scholarship/MS +scholastic +scholastically +scholasticism +school/SGMD +schoolbag/MS +schoolbook/SM +schoolboy/MS +schoolchild/M +schoolchildren/M +schooldays +schooled/U +schoolfellow/SM +schoolgirl/SM +schoolhouse/SM +schooling/M +schoolkid/S +schoolmarm/SM +schoolmarmish +schoolmaster/MS +schoolmate/SM +schoolmistress/MS +schoolroom/SM +schoolteacher/MS +schoolwork/M +schoolyard/SM +schooner/SM +schuss/GMDS +schussboomer/MS +schwa/MS +sci +sciatic +sciatica/M +science/FMS +scientific/U +scientifically/U +scientist/SM +scimitar/SM +scintilla/MS +scintillate/DSGN +scintillation/M +scion/MS +scissor/GDS +scleroses +sclerosis/M +sclerotic +scoff/MDRSZG +scoffer/M +scofflaw/MS +scold/MDSGJ +scolding/M +scoliosis/M +sconce/SM +scone/MS +scoop/MDSG +scoopful/MS +scoot/DRSZG +scooter/M +scope/MGDS +scorbutic +scorch/MDRSZG +scorcher/M +score/MZGDRS +scoreboard/SM +scorecard/MS +scorekeeper/MS +scoreless +scoreline/S +scorer/M +scorn/MDRSZG +scorner/M +scornful/Y +scorpion/MS +scotch/MDSG +scotchs +scoundrel/MS +scour/DRSZG +scourer/M +scourge/DSMG +scout/MDRSZG +scouting/M +scoutmaster/MS +scow/MS +scowl/MDSG +scrabble/MZGDRS +scrabbler/M +scrag/MS +scraggly/RT +scraggy/TR +scram/S +scramble's +scramble/UGDS +scrambler/MS +scrammed +scramming +scrap/MDRSZGJ +scrapbook/SM +scrape/SM +scraper/M +scrapheap/SM +scrapie +scrapped +scrapper/MS +scrapping +scrappy/TR +scrapyard/SM +scratch/GMDS +scratchcard/S +scratched/U +scratchily +scratchiness/M +scratchpad/S +scratchy/PRT +scrawl/SMDG +scrawly +scrawniness/M +scrawny/PTR +scream/SMDRZG +screamer/M +screaming/Y +scree/MDS +screech/GMDS +screechy/TR +screed/S +screen/SJMDG +screening/M +screenplay/SM +screensaver/SM +screenshot/S +screenwriter/SM +screenwriting/M +screw's +screw/UDSG +screwball/MS +screwdriver/MS +screwiness/M +screwworm/SM +screwy/PRT +scribal +scribble/MZGDRS +scribbler/M +scribe's +scribe/CKIS +scrim/MS +scrimmage/MGDS +scrimp/SDG +scrimshaw/MDGS +scrip/MS +script/FSMDG +scripted/U +scriptural +scripture/MS +scriptwriter/SM +scrivener/SM +scrod/M +scrofula/M +scrofulous +scrog/S +scroll/GSMD +scrooge/MS +scrota +scrotal +scrotum/M +scrounge/DRSZG +scrounger/M +scroungy/TR +scrub/MS +scrubbed +scrubber/SM +scrubbing +scrubby/RT +scruff/SM +scruffily +scruffiness/M +scruffy/RPT +scrum/S +scrumhalf +scrumhalves +scrummage/S +scrummed +scrumming +scrump/SGD +scrumptious/Y +scrumpy +scrunch/MDSG +scrunchy/SM +scruple/MGDS +scrupulosity/M +scrupulous/UPY +scrupulousness/UM +scrutineer/S +scrutinise/GDS +scrutiny/M +scuba/MDSG +scud/MS +scudded +scudding +scuff/MDSG +scuffle/MGDS +scull/MDRSZG +sculler/M +scullery/SM +scullion/SM +sculpt/SGD +sculptor/SM +sculptress/MS +sculptural +sculpture/DSMG +scum/MS +scumbag/MS +scummed +scumming +scummy/TR +scupper/MDGS +scurf/M +scurfy +scurrility/M +scurrilous/PY +scurrilousness/M +scurry/GDSM +scurvily +scurvy/TRM +scutcheon/SM +scuttle/MGDS +scuttlebutt/M +scuzzy/TR +scythe/DSMG +sea/SM +seabed/SM +seabird/MS +seaboard/SM +seaborne +seacoast/SM +seafarer/SM +seafaring/M +seafloor/SM +seafood/M +seafront/SM +seagoing +seagull/MS +seahorse/MS +seal's +seal/AUSDG +sealant/MS +sealer/SM +sealskin/M +seam/GMDNS +seaman/M +seamanship/M +seamless/Y +seamount/MS +seamstress/MS +seamy/RT +seance/SM +seaplane/SM +seaport/MS +sear/GMDS +search/AZGMDRS +searchable/U +searcher/AM +searching/Y +searchlight/MS +searing/Y +seascape/SM +seashell/SM +seashore/SM +seasick/P +seasickness/M +seaside/MS +season/SGMDBJ +seasonable/U +seasonably/U +seasonal/Y +seasonality +seasoned/U +seasoning/M +seat's +seat/UGDS +seating/M +seatmate/SM +seawall/MS +seaward/MS +seawater/M +seaway/SM +seaweed/MS +seaworthiness/M +seaworthy/P +sebaceous +seborrhoea/M +sebum +sec'y +sec/SM +secant/SM +secateurs +secede/DSG +secession/M +secessionist/MS +seclude/GDS +seclusion/M +seclusive +second/SLZGMDRY +secondarily +secondary/SM +seconder/M +secondhand +secondment/S +secrecy/M +secret/SGVMDY +secretarial +secretariat/MS +secretary/SM +secretaryship/M +secrete/XNS +secretion/M +secretive/PY +secretiveness/M +secretory +sect/IMS +sectarian/MS +sectarianism/M +sectary/SM +section/AESM +sectional/MS +sectionalism/M +sectioned +sectioning +sector/ESM +secular +secularisation/M +secularise/DSG +secularism/M +secularist/SM +secure/DRSYTG +secured/U +security/ISM +secy +sedan/MS +sedate/DRSYTGNVP +sedateness/M +sedation/M +sedative/SM +sedentary +sedge/M +sedgy +sediment/MS +sedimentary +sedimentation/M +sedition/M +seditious +seduce/DRSZG +seducer/M +seduction/SM +seductive/YP +seductiveness/M +seductress/MS +sedulous/Y +see/RSMZ +seed's +seed/AGDS +seedbed/MS +seedcase/MS +seeded/U +seeder/SM +seediness/M +seedless +seedling/MS +seedpod/MS +seedy/RPT +seeing/S +seek/ZGRS +seeker/M +seem/GDS +seeming/Y +seemliness/UM +seemly/URTP +seen/U +seep/GDS +seepage/M +seer/M +seersucker/M +seesaw/SMDG +seethe/DSG +segfault/S +segment/GSMD +segmentation/M +segmented/U +segregate/CDSGN +segregated/U +segregation/CM +segregationist/MS +segue/MGDS +segueing +seigneur/SM +seignior/SM +seine/MZGDRS +seiner/M +seismic +seismically +seismograph/ZMR +seismographer/M +seismographic +seismographs +seismography/M +seismologic +seismological +seismologist/MS +seismology/M +seize/GDS +seizure/MS +seldom +select/CSGVD +selection/SM +selective/Y +selectivity/M +selectman/M +selectmen +selectness/M +selector/MS +selenium/M +selenographer/MS +selenography/M +self/M +selfie/SM +selfish/UYP +selfishness/UM +selfless/PY +selflessness/M +selfsame +sell's +sell/AZGRS +seller's +selloff/MS +sellotape/DSG +sellout/MS +seltzer/MS +selvage/MS +selves +semantic/S +semantically +semanticist/MS +semantics/M +semaphore/DSMG +semblance/ASM +semen/M +semester/SM +semi/MS +semiannual/Y +semiarid +semiautomatic/MS +semibreve/S +semicircle/SM +semicircular +semicolon/MS +semiconducting +semiconductor/MS +semiconscious +semidarkness/M +semidetached +semifinal/SM +semifinalist/MS +semigloss/S +semimonthly/SM +seminal +seminar/MS +seminarian/SM +seminary/SM +semiofficial +semiotic/S +semiotics/M +semipermeable +semiprecious +semiprivate +semipro/S +semiprofessional/SM +semiquaver/S +semiretired +semiskilled +semisolid +semisweet +semitone/SM +semitrailer/MS +semitransparent +semitropical +semivowel/SM +semiweekly/SM +semiyearly +semolina/M +sempstress/MS +senate/SM +senator/MS +senatorial +send/ZGRS +sender/M +sendoff/MS +senescence/M +senescent +senile +senility/M +senior/SM +seniority/M +senna/M +senor/MS +senora/SM +senorita/SM +sensation/MS +sensational/Y +sensationalise/GDS +sensationalism/M +sensationalist/MS +sense/MGDS +senseless/PY +senselessness/M +sensibilities +sensibility/IM +sensible/P +sensibleness/M +sensibly/I +sensitisation/CM +sensitise/CDSG +sensitive/SMYP +sensitiveness/M +sensitivities +sensitivity/IM +sensor/SM +sensory +sensual/Y +sensualist/SM +sensuality/M +sensuous/YP +sensuousness/M +sent/FAU +sentence/MGDS +sententious/Y +sentience/IM +sentient/I +sentiment/SM +sentimental/Y +sentimentalisation/M +sentimentalise/GDS +sentimentalism/M +sentimentalist/MS +sentimentality/M +sentinel/MS +sentry/SM +sepal/MS +separability/IM +separable +separably/I +separate/XMYGNVDSP +separateness/M +separation/M +separatism/M +separatist/MS +separator/MS +sepia/M +sepsis/M +septa +septal +septet/SM +septic +septicaemia/M +septicaemic +septuagenarian/MS +septum/M +sepulchral +sepulchre/MGDS +seq +sequel/SM +sequence/MZGDRS +sequencing/M +sequential/FY +sequester/SDG +sequestrate/XGNDS +sequestration/M +sequin/SMD +sequinned +sequitur +sequoia/MS +seraglio/MS +serape/SM +seraph/M +seraphic +seraphs +sere/TR +serenade/MGDS +serendipitous +serendipity/M +serene/RPYT +sereneness/M +serenity/M +serf/MS +serfdom/M +serge/M +sergeant/MS +serial/SMY +serialisation/SM +serialise/GDSB +series/M +serif/MS +serigraph/M +serigraphs +serine +serious/PY +seriousness/M +sermon/SM +sermonise/GDS +serology/M +serotonin +serous +serpent/MS +serpentine/M +serrate/XND +serration/M +serried +serum/MS +servant/MS +serve's/AF +serve/FACGDS +server/SM +servery/S +service/EMS +serviceability/M +serviceable +serviced +serviceman/M +servicemen +servicewoman/M +servicewomen +servicing +serviette/MS +servile +servility/M +serving's +servings +servitor/MS +servitude/M +servo/MS +servomechanism/SM +servomotor/MS +sesame/SM +sesquicentennial/MS +session/MS +set/AISM +setback/MS +setscrew/SM +setsquare/S +sett/BJZGRS +settee/MS +setter/M +setting/M +settle's +settle/AUGDS +settlement/AM +settlements +settler/SM +setup/MS +seven/MHS +seventeen/SMH +seventeenth/M +seventeenths +seventh/M +sevenths +seventieth/M +seventieths +seventy/SMH +sever/ETGDS +several/MY +severance/SM +severe/YPR +severeness/M +severity/M +sew/ASGD +sewage/M +sewer/MS +sewerage/M +sewing/M +sewn/A +sex/GMDS +sexagenarian/SM +sexily +sexiness/M +sexism/M +sexist/MS +sexless +sexologist/SM +sexology/M +sexpot/MS +sextant/SM +sextet/MS +sexting +sexton/MS +sextuplet/SM +sexual/Y +sexuality/M +sexy/PTR +sf +sh +shabbily +shabbiness/M +shabby/PTR +shack/MDSG +shackle's +shackle/UGDS +shad/GMDSJ +shade/MS +shadily +shadiness/M +shading/M +shadow/SGMD +shadowbox/GDS +shadowy/RT +shady/RPT +shaft/MDSG +shag/MS +shagged +shagginess/M +shagging +shaggy/TPR +shah/M +shahs +shake/MZGRS +shakedown/SM +shaken/U +shakeout/MS +shaker/M +shakeup/MS +shakily +shakiness/M +shaky/RPT +shale/M +shall +shallot/MS +shallow/TPMRYS +shallowness/M +shalom +shalt +sham/GMDS +shaman/SM +shamanic +shamanism +shamanistic +shamble/MGDS +shambles/M +shambolic +shame/MS +shamefaced/Y +shameful/PY +shamefulness/M +shameless/YP +shamelessness/M +shammed +shamming +shampoo/ZGMDRS +shampooer/M +shamrock/MS +shan't +shandy/S +shanghai/DSG +shank/MS +shantung/M +shanty/SM +shantytown/SM +shape's +shape/AGDS +shaped/U +shapeless/YP +shapelessness/M +shapeliness/M +shapely/PTR +shard/MS +share/MZGDRS +shareable +sharecrop/S +sharecropped +sharecropper/MS +sharecropping +shareholder/SM +shareholding/S +sharer/M +shareware/M +sharia/M +shariah +shark/MDSG +sharkskin/M +sharp/MDNRYSPXZTG +sharpen/ADGS +sharpener/MS +sharper/M +sharpie/MS +sharpish +sharpness/M +sharpshooter/SM +sharpshooting/M +shatter/GMDS +shatterproof +shave/MZGDRSJ +shaven/U +shaver/M +shaving/M +shawl/MS +shay/MS +she'd +she'll +she/DSM +sheaf/M +shear/MDRSZG +shearer/M +sheath/JM +sheathe/UGDS +sheathing/M +sheaths +sheave/DSMG +shebang/MS +shebeen/S +shed/MS +shedding +sheen/M +sheeny/TR +sheep/M +sheepdog/MS +sheepfold/SM +sheepherder/MS +sheepish/YP +sheepishness/M +sheepskin/MS +sheer/MDRSPTG +sheerness/M +sheet/MSG +sheeting/M +sheetlike +sheikdom/MS +sheikh/M +sheikhs +sheila/S +shekel/SM +shelf/M +shell/MDRSG +shellac/MS +shellacked +shellacking/MS +shellfire/M +shellfish/MS +shelter/GMDS +shelve/GDS +shelving/M +shenanigan/SM +shepherd/SMDG +shepherdess/MS +sherbet/SM +sheriff/SM +sherry/SM +shew/GDS +shewn +shh +shiatsu/M +shibboleth/M +shibboleths +shield/MDGS +shift/GMDS +shiftily +shiftiness/M +shiftless/PY +shiftlessness/M +shifty/RPT +shiitake/SM +shill/GMDSJ +shillelagh/M +shillelaghs +shilling/M +shim/MS +shimmed +shimmer/SMDG +shimmery +shimming +shimmy/DSMG +shin/ZGMDRS +shinbone/SM +shindig/SM +shine/MS +shiner/M +shingle/DSMG +shinguard/M +shininess/M +shinned +shinning +shinny/DSG +shinsplints/M +shiny/TRP +ship's +ship/ALS +shipboard/MS +shipbuilder/SM +shipbuilding/M +shipload/SM +shipmate/SM +shipment/AM +shipments +shipowner/MS +shipped/A +shipper/SM +shipping/M +shipshape +shipwreck/GMDS +shipwright/MS +shipyard/SM +shire/MS +shirk/ZGDRS +shirker/M +shirr/GMDSJ +shirring/M +shirt/GMDS +shirtfront/SM +shirting/M +shirtless +shirtsleeve/SM +shirttail/SM +shirtwaist/MS +shirty +shit/SM! +shitfaced/! +shithead/S! +shitload/! +shitted/! +shitting/! +shitty/RT! +shiv/ZMRS +shiver/MDG +shivery +shoal/GMDS +shoat/MS +shock/ZGMDRS +shocker/M +shocking/Y +shockproof +shod/U +shoddily +shoddiness/M +shoddy/PRMT +shoe/MS +shoehorn/GMDS +shoeing +shoelace/MS +shoemaker/SM +shoeshine/SM +shoestring/SM +shoetree/MS +shogun/MS +shogunate/M +shone +shonk/MS +shonky/SM +shoo/GDS +shook +shoot/ZGMRSJ +shooter/M +shooting/M +shootout/MS +shop/MS +shopaholic/MS +shopfitter/S +shopfitting +shopfront/S +shopkeeper/MS +shoplift/DRZGS +shoplifter/M +shoplifting/M +shoppe/MZGDRS +shopper/M +shopping/M +shoptalk/M +shopworn +shore/MGDS +shorebird/SM +shoreline/MS +shoring/M +short/XTGMDNRYSP +shortage/MS +shortbread/M +shortcake/MS +shortchange/DSG +shortcoming/MS +shortcrust +shortcut/MS +shorten/JGD +shortening/M +shortfall/MS +shorthand/MD +shorthorn/MS +shortish +shortlist/DGS +shortness/M +shortsighted/PY +shortsightedness/M +shortstop/MS +shortwave/MS +shorty/SM +shot/MS +shotgun/SM +shotgunned +shotgunning +should +should've +shoulder/MDGS +shouldn't +shout/ZGMDRS +shouter/M +shove/MGDS +shovel/MS +shovelful/SM +shovelled +shovelling +show/JZGMDRS +showbiz/M +showboat/MDGS +showcase/MGDS +showdown/MS +shower/MDG +showerproof +showery +showgirl/MS +showground/S +showily +showiness/M +showing/M +showjumping +showman/M +showmanship/M +showmen +shown +showoff/SM +showpiece/SM +showplace/SM +showroom/MS +showstopper/MS +showstopping +showtime +showy/TRP +shpt +shrank +shrapnel/M +shred/MS +shredded +shredder/MS +shredding +shrew/MS +shrewd/RYPT +shrewdness/M +shrewish +shriek/MDSG +shrift/M +shrike/MS +shrill/DRSPTG +shrillness/M +shrilly +shrimp/MDRSZG +shrine/MS +shrink/MSBG +shrinkage/M +shrive/GDS +shrivel/S +shrivelled +shrivelling +shriven +shroud/GMDS +shrub/MS +shrubbery/SM +shrubby/RT +shrug/MS +shrugged +shrugging +shrunk/N +shtick/MS +shuck/GMDS +shucks/S +shudder/MDSG +shuffle/AMGDS +shuffleboard/SM +shuffler/SM +shun/S +shunned +shunning +shunt/MSDG +shush/DSG +shut/S +shutdown/SM +shuteye/M +shutoff/SM +shutout/SM +shutter/SMDG +shutterbug/MS +shutting +shuttle/DSMG +shuttlecock/GMDS +shy/TGDRSMY +shyer +shyest +shyness/M +shyster/SM +sibilant/SM +sibling/SM +sibyl/MS +sibylline +sic/S +sicced +siccing +sick/PXTGDNRYS +sickbay/S +sickbed/SM +sicken/DG +sickening/Y +sickie/MS +sickish +sickle/MS +sickly/RT +sickness/MS +sicko/MS +sickout/SM +sickroom/MS +side's +side/AGDS +sidearm/SM +sidebar/SM +sideboard/SM +sideburns/M +sidecar/SM +sidekick/SM +sidelight/MS +sideline/DSMG +sidelong +sideman/M +sidemen +sidepiece/MS +sidereal +sidesaddle/MS +sideshow/MS +sidesplitting +sidestep/MS +sidestepped +sidestepping +sidestroke/DSMG +sideswipe/DSMG +sidetrack/SMDG +sidewalk/MS +sidewall/MS +sideways +sidewinder/SM +siding/MS +sidle/MGDS +siege/MS +sienna/M +sierra/MS +siesta/MS +sieve/MGDS +sift/ZGDRS +sifted/U +sifter/M +sigh/GMD +sighs +sight/GMDYSJ +sighting/M +sightless +sightly/UTR +sightread +sightseeing/M +sightseer/MS +sigma/MS +sign's/C +sign/AFCGDS +signage/M +signal/MYS +signalisation +signalise/GDS +signalization's +signalled +signaller/MS +signalling +signalman/M +signalmen +signatory/SM +signature/MS +signboard/MS +signed/U +signer/CMS +signet/MS +significance/IM +significant/IY +signification/M +signify/XDSNG +signing's/C +signings +signor/FMS +signora/SM +signore +signori +signorina/MS +signorine +signpost/GSMD +silage/M +silence/DRSMZG +silencer/M +silent/MRYST +silhouette/DSMG +silica/M +silicate/MS +siliceous +silicon/SM +silicone/M +silicosis/M +silk/MNS +silkily +silkiness/M +silkscreen/SM +silkworm/MS +silky/TRP +sill/MS +silliness/M +silly/TRSMP +silo/MS +silt/GMDS +silty/TR +silver/GMDS +silverfish/MS +silversmith/M +silversmiths +silvertail/SMD +silverware/M +silvery +sim/SM +simian/MS +similar/Y +similarity/ESM +simile/MS +similitude/EM +simmer/GMDS +simonise +simonized +simonizes +simonizing +simony/M +simpatico +simper/GMDS +simpering/Y +simple/TRP +simpleminded +simpleness/M +simpleton/SM +simplex +simplicity/M +simplification/M +simplify/DSXNG +simplistic +simplistically +simply +simulacra +simulacrum/S +simulate/EDSGN +simulation/EM +simulations +simulator/EMS +simulcast/GMDS +simultaneity/M +simultaneous/Y +sin/ASM +since +sincere/IYT +sincerer +sincerity/IM +sine/MS +sinecure/MS +sinew/MS +sinewy +sinful/PY +sinfulness/M +sing/BZGMDRYS +singalong/S +singe/MS +singeing +singer/M +singing/M +single/PMGDS +singleness/M +singles/M +singlet/S +singleton/SM +singletree/SM +singsong/SMDG +singular/SMY +singularity/SM +sinister +sink/BZGMRS +sinkable/U +sinker/M +sinkhole/SM +sinless +sinned +sinner/MS +sinning +sinology +sinuosity/M +sinuous/Y +sinus/MS +sinusitis/M +sinusoidal +sip/SM +siphon/GMDS +sipped +sipper/SM +sipping +sir/SXMN +sire/CMGDS +siren/M +sirloin/SM +sirocco/SM +sirrah +sirree/M +sis/MS +sisal/M +sissified +sissy/RSMT +sister/ASM +sisterhood/MS +sisterliness/M +sisterly/P +sit/S +sitar/SM +sitarist/MS +sitcom/SM +site/MGDS +sitemap/SM +sitter/SM +sitting/SM +situ +situate/DSXGN +situation/M +situational +six/MSH +sixfold +sixpence/MS +sixshooter/M +sixteen/SMH +sixteenth/M +sixteenths +sixth/M +sixths +sixtieth/M +sixtieths +sixty/SMH +size's +size/AGDS +sizeable +sizer +sizing/M +sizzle/DRSMZG +ska/M +skate/MZGDRS +skateboard/MDRSZG +skateboarder/M +skateboarding/M +skater/M +skating/M +skedaddle/MGDS +skeet/ZMR +skein/MS +skeletal +skeleton/SM +skerrick/SM +sketch/MDRSZG +sketchbook/S +sketcher/M +sketchily +sketchiness/M +sketchpad/S +sketchy/RTP +skew/MDRZGS +skewbald/S +skewer/MDG +ski/SZGMDR +skibob/S +skid/MS +skidded +skidding +skidpan/S +skier/M +skiff/SM +skiffle +skiing/M +skilful/YP +skilfulness/M +skill's +skill/CSD +skilled/U +skillet/SM +skim/MS +skimmed +skimmer/SM +skimming +skimp/SDG +skimpily +skimpiness/M +skimpy/RTP +skin/MS +skincare/M +skinflint/MS +skinful +skinhead/MS +skinless +skinned +skinniness/M +skinning +skinny/RMTP +skint +skintight +skip/MS +skipped +skipper/SMDG +skipping +skirmish/ZGMDRS +skirt/SMDG +skit/MDRZGS +skite +skiter/M +skitter/GSD +skittish/YP +skittishness/M +skittle/S +skive/DRSZG +skivvy/DSMG +skoal/SM +skua/S +skulduggery/M +skulk/SDRZG +skulker/M +skull/SM +skullcap/MS +skunk/SMDG +sky/GSM +skycap/SM +skydive/DRSZG +skydiver/M +skydiving/M +skyjack/JZGSDR +skyjacker/M +skyjacking/M +skylark/SGMD +skylight/MS +skyline/SM +skyrocket/GSMD +skyscraper/SM +skyward/S +skywriter/SM +skywriting/M +slab/MS +slabbed +slabbing +slack/PXZTGMDNRYS +slacken/DG +slacker/M +slackness/M +slacks/M +slag/MS +slagged +slagging +slagheap/S +slain +slake/GDS +slalom/MSDG +slam/MS +slammed +slammer/SM +slamming +slander/MZGDRS +slanderer/M +slanderous +slang/M +slangy/RT +slant/MSDG +slanting/Y +slantwise +slap/MS +slapdash +slaphappy +slapped +slapper/S +slapping +slapstick/M +slash/MDRSZG +slasher/M +slat/MDGS +slate/SM +slather/SDG +slatted +slattern/SMY +slaughter/MDRZGS +slaughterer/M +slaughterhouse/MS +slave/DRSMZG +slaveholder/MS +slaver/MDG +slavery/M +slavish/PY +slavishness/M +slaw/M +slay/DRZGJS +slayer/M +slaying/M +sleaze/SM +sleazebag/S +sleazeball/S +sleazily +sleaziness/M +sleazy/PRT +sled/MS +sledded +sledder/SM +sledding +sledge/DSMG +sledgehammer/GSMD +sleek/SDRYTGP +sleekness/M +sleep/SMRZG +sleeper/M +sleepily +sleepiness/M +sleepless/PY +sleeplessness/M +sleepover/SM +sleepwalk/ZGSDR +sleepwalker/M +sleepwalking/M +sleepwear/M +sleepy/RPT +sleepyhead/MS +sleet/SMDG +sleety +sleeve/DSM +sleeveless +sleigh/MDG +sleighs +sleight/SM +slender/PRT +slenderise/DSG +slenderness/M +slept +sleuth/MG +sleuths +slew/MDGS +slice/DRSMZG +slicer/M +slick/SMDRYZTGP +slicker/M +slickness/M +slid +slide/RSMZG +slider/M +slideshow/MS +slight/SMDRYTGP +slightness/M +slim/PS +slime/M +sliminess/M +slimline +slimmed +slimmer/S +slimmest +slimming/M +slimness/M +slimy/RTP +sling/SMG +slingback/S +slingshot/SM +slink/SG +slinky/RT +slip/MS +slipcase/MS +slipcover/MS +slipknot/MS +slippage/MS +slipped +slipper/SM +slipperiness/M +slippery/PRT +slipping +slippy +slipshod +slipstream/SM +slipway/SM +slit/MS +slither/SGMD +slithery +slitter +slitting +sliver/GSMD +slob/MS +slobbed +slobber/MDSG +slobbery +slobbing +sloe/MS +slog/MS +slogan/SM +sloganeering +slogged +slogging +sloop/SM +slop/MDGS +slope/SM +slopped +sloppily +sloppiness/M +slopping +sloppy/PTR +slops/M +slosh/DSG +slot/MS +sloth/M +slothful/YP +slothfulness/M +sloths +slotted +slotting +slouch/ZGMDRS +sloucher/M +slouchy/TR +slough/GMD +sloughs +sloven/SMY +slovenliness/M +slovenly/PTR +slow/DRYTGSP +slowcoach/S +slowdown/SM +slowness/M +slowpoke/SM +sludge/M +sludgy/RT +slue/MGDS +slug/MS +sluggard/MS +slugged +slugger/SM +slugging +sluggish/PY +sluggishness/M +sluice/DSMG +slum/MS +slumber/GSMD +slumberous +slumdog/SM +slumlord/MS +slummed +slummer +slumming +slummy/RT +slump/SMDG +slung +slunk +slur/MS +slurp/SMDG +slurred +slurring +slurry/M +slush/M +slushiness/M +slushy/RPT +slut/MS +sluttish +slutty/RT +sly/Y +slyer +slyest +slyness/M +smack/SMDRZG +smacker/M +small/SMRTP +smallholder/S +smallholding/S +smallish +smallness/M +smallpox/M +smarmy/RT +smart/SMDNRYXTGP +smarten/DG +smartness/M +smartphone/SM +smarts/M +smartwatch/MS +smarty/SM +smartypants/M +smash/MDRSZG +smasher/M +smashup/SM +smattering/MS +smear/SMDG +smeary/RT +smell/SMDG +smelliness/M +smelly/RPT +smelt/SMDRZG +smelter/M +smidgen/MS +smilax/M +smile/DSMG +smiley/SM +smiling/Y +smirch/GMDS +smirk/SMDG +smite/SG +smith/M +smithereens/M +smiths +smithy/SM +smitten +smock/SMDG +smocking/M +smog/MS +smoggy/RT +smoke/DRSMZG +smokehouse/MS +smokeless +smoker/M +smokescreen/SM +smokestack/SM +smokey +smokiness/M +smoking/M +smoko/SM +smoky/RTP +smooch/MDSG +smoochy +smooth/PDRYTG +smoothie/MS +smoothness/M +smooths +smorgasbord/SM +smote +smother/GSMD +smoulder/GMDS +smudge/DSMG +smudgy/TR +smug/YP +smugger +smuggest +smuggle/ZGDRS +smuggler/M +smuggling/M +smugness/M +smurf/S +smut/MS +smuttiness/M +smutty/TRP +snack/SMDG +snaffle/DSMG +snafu/SM +snag/MS +snagged +snagging +snail/SMDG +snake/DSMG +snakebite/MS +snakelike +snakeskin +snaky/RT +snap's +snap/US +snapdragon/SM +snapped/U +snapper/MS +snappily +snappiness/M +snapping/U +snappish/YP +snappishness/M +snappy/TRP +snapshot/SM +snare/DSMG +snarf/SDG +snark/S +snarky/TR +snarl's +snarl/USDG +snarling/Y +snarly/TR +snatch/ZGMDRS +snatcher/M +snazzily +snazzy/TR +sneak/SMDRZG +sneaker/M +sneakily +sneakiness/M +sneaking/Y +sneaky/TRP +sneer/SJMDG +sneering/Y +sneeze/DSMG +snick/SDRZG +snicker/MDG +snide/RYT +sniff/SMDRZG +sniffer/M +sniffle/DSMG +sniffy/RT +snifter/SM +snip/MDRZGS +snipe/SM +sniper/M +snipped +snippet/SM +snipping +snippy/RT +snips/M +snit/MS +snitch/MDSG +snivel/SM +snivelled +sniveller/SM +snivelling +snob/MS +snobbery/M +snobbish/PY +snobbishness/M +snobby/RT +snog/S +snogged +snogging +snood/SM +snooker/MDSG +snoop/SMDRZG +snooper/M +snoopy/TR +snoot/SM +snootily +snootiness/M +snooty/PTR +snooze/DSMG +snore/DRSMZG +snorer/M +snorkel/ZMRS +snorkeler/M +snorkeling's +snorkelled +snorkelling +snort/SMDRZG +snorter/M +snot/MS +snottily +snottiness/M +snotty/TPR +snout/SM +snow/MDGS +snowball/GSMD +snowbank/SM +snowbird/SM +snowblower/MS +snowboard/ZGMDRS +snowboarder/M +snowboarding/M +snowbound +snowdrift/SM +snowdrop/SM +snowfall/SM +snowfield/SM +snowflake/SM +snowiness/M +snowline +snowman/M +snowmen +snowmobile/DSMG +snowplough/M +snowploughs +snowplowed +snowplowing +snowshoe/DSM +snowshoeing +snowstorm/SM +snowsuit/SM +snowy/PRT +snub/MS +snubbed +snubbing +snuff/SMDRYZG +snuffbox/MS +snuffer/M +snuffle/MGDS +snug/MYSP +snugged +snugger +snuggest +snugging +snuggle/MGDS +snugness/M +so +soak/MDGSJ +soaking/M +soap/MDGS +soapbox/MS +soapiness/M +soapstone/M +soapsuds/M +soapy/RPT +soar/MDGS +sob/SM +sobbed +sobbing/Y +sober/SDRYPTG +soberness/M +sobriety/IM +sobriquet/SM +soc +soccer/M +sociability/M +sociable/SM +sociably +social/SMY +socialisation/M +socialise/DSG +socialism/M +socialist/SM +socialistic +socialite/SM +societal +society/SM +socioeconomic +socioeconomically +sociological/Y +sociologist/SM +sociology/M +sociopath/M +sociopaths +sociopolitical +sock/MDGS +socket/SM +sockeye/SM +sod/SM +soda/MS +sodded +sodden/Y +sodding +sodium/M +sodomise/GDS +sodomite/MS +sodomy/M +soever +sofa/MS +soft/NRYXTP +softback +softball/MS +softbound +softcover +soften/DRZG +softener/M +softhearted +softness/M +software/M +softwood/SM +softy/SM +soggily +sogginess/M +soggy/RTP +soigne +soignee +soil/MDGS +soiled/U +soiree/SM +sojourn/ZGMDRS +sojourner/M +sol/SM +solace/DSMG +solar +solaria +solarium/M +sold +solder/ZGSMDR +solderer/M +soldier/MDYSG +soldiery/M +sole/FSDGM +solecism/SM +solely +solemn/PTRY +solemness/M +solemnify/DSG +solemnisation/M +solemnise/DSG +solemnity/SM +solemnness/M +solenoid/MS +solicit/GDS +solicitation/SM +solicited/U +solicitor/SM +solicitous/PY +solicitousness/M +solicitude/M +solid/PSMRYT +solidarity/M +solidi +solidification/M +solidify/DSNG +solidity/M +solidness/M +solidus/M +soliloquies +soliloquise/DSG +soliloquy/M +solipsism/M +solipsistic +solitaire/MS +solitariness/M +solitary/SMP +solitude/M +solo/MDGS +soloist/MS +solstice/MS +solubility/IM +soluble/MS +solute's +solute/AXN +solutes +solution's/AE +solvable/IU +solve/EADSG +solved/U +solvency/IM +solvent/IMS +solver/SM +somatic +somatosensory +sombre/PY +sombreness/M +sombrero/MS +some +somebody/SM +someday +somehow +someone/MS +someplace +somersault/MDGS +somerset/SM +somersetted +somersetting +something/SM +sometime/S +someway/S +somewhat/S +somewhere +somnambulism/M +somnambulist/SM +somnolence/M +somnolent +son/SM +sonar/SM +sonata/SM +sonatina/SM +song/MS +songbird/SM +songbook/SM +songfest/SM +songster/MS +songstress/MS +songwriter/SM +songwriting +sonic +sonnet/SM +sonny/SM +sonogram/SM +sonority/M +sonorous/YP +sonorousness/M +sonsofbitches +sook/MS +sooky +soon/RT +soot/M +sooth/MDRSZG +soothe +soother/M +soothing/Y +soothsayer/MS +soothsaying/M +sooty/RT +sop/SM +soph +sophism/M +sophist/MS +sophistic +sophistical +sophisticate/DSMGN +sophisticated/U +sophistication/M +sophistry/SM +sophomore/MS +sophomoric +soporific/MS +soporifically +sopped +sopping +soppy/RT +soprano/MS +sorbet/SM +sorcerer/MS +sorceress/MS +sorcery/M +sordid/PY +sordidness/M +sore/MYTRSP +sorehead/MS +soreness/M +sorghum/M +sorority/SM +sorrel/SM +sorrily +sorriness/M +sorrow/SMDG +sorrowful/YP +sorrowfulness/M +sorry/RTP +sort/FASGDM +sorta +sorted/U +sorter/SM +sortie/DSM +sortieing +sot/SM +sottish +sou'wester +sou/SMH +souffle/SM +sough/MDG +soughs +sought/U +souk/S +soul/MS +soulful/YP +soulfulness/M +soulless/YP +soulmate/SM +sound/JPSMDRYZTG +soundalike/S +soundbar/S +soundbite/S +soundboard/MS +soundcheck/S +sounder/M +sounding/M +soundless/Y +soundness/UM +soundproof/GDS +soundproofing/M +soundscape/S +soundtrack/SM +soup/MDGS +soupcon/MS +soupy/RT +sour/MDRYTGSP +source/ADSMG +sourdough/M +sourdoughs +sourish +sourness/M +sourpuss/MS +sousaphone/MS +souse/DSMG +south/M +southbound +southeast/ZMR +southeaster/MY +southeastern +southeastward/S +southerly/SM +southern/SZMR +southerner/M +southernmost +southpaw/SM +southward/MS +southwest/ZMR +southwester/MY +southwestern +southwestward/S +souvenir/SM +sovereign/SM +sovereignty/M +soviet/SM +sow's +sow/ASGD +sower/SM +sown/A +soy/M +soybean/MS +sozzled +spa/SM +space/DRSMZG +spacecraft/MS +spaceflight/MS +spaceman/M +spacemen +spaceport/SM +spacer/M +spaceship/SM +spacesuit/SM +spacetime +spacewalk/SGMD +spacewoman/M +spacewomen +spacey +spacial +spacier +spaciest +spaciness/M +spacing/M +spacious/YP +spaciousness/M +spade/DSMG +spadeful/MS +spadework/M +spadices +spadix/M +spaghetti/M +spake +spam/MS +spammed +spammer/SM +spamming +span/MS +spandex/M +spangle/DSMG +spangly +spaniel/SM +spank/SMDGJ +spanking/M +spanned +spanner/SM +spanning +spar/MS +spare/DRSMYTGP +spareness/M +spareribs/M +sparing/UY +spark/SMDYG +sparkie/M +sparkle/DRSMZG +sparkler/M +sparky/RSMT +sparred +sparring +sparrow/SM +sparrowhawk/S +sparse/RYTP +sparseness/M +sparsity/M +spartan +spasm/SM +spasmodic +spasmodically +spastic/SM +spat/MS +spate/SM +spathe/SM +spatial/Y +spatted +spatter/SGMD +spatting +spatula/SM +spavin/MD +spawn/SMDG +spay/DGS +speak/SRZGJ +speakeasy/SM +speaker/M +speakerphone/S +spear/SMDG +spearfish/GMDS +speargun +spearhead/GMDS +spearmint/M +spec/MS +special/SMY +specialisation/MS +specialise/GDS +specialism/S +specialist/MS +speciality/SM +specie/SM +species/M +specif +specifiable +specific/MS +specifically +specification/M +specificity/M +specified/U +specify/XNZDRSG +specimen/SM +specious/YP +speciousness/M +speck/SMDG +speckle/MGDS +specs/M +spectacle/SM +spectacles/M +spectacular/MYS +spectate/DSG +spectator/SM +spectra +spectral +spectre/MS +spectrometer/MS +spectroscope/MS +spectroscopic +spectroscopy/M +spectrum/M +speculate/DSXGNV +speculation/M +speculative/Y +speculator/MS +sped +speech/MS +speechify/DSG +speechless/YP +speechlessness/M +speechwriter/S +speed/SMRZG +speedboat/SM +speeder/M +speedily +speediness/M +speeding/M +speedometer/MS +speedster/SM +speedup/MS +speedway/SM +speedwell/M +speedy/TPR +speleological +speleologist/MS +speleology/M +spell/JSMDRZG +spellbind/ZGRS +spellbinder/M +spellbound +spellcheck/MDRZGS +spellchecker/M +spelldown/SM +speller/M +spelling/M +spelt +spelunker/MS +spelunking/M +spend/BSRZG +spender/M +spending/M +spendthrift/MS +spent/U +sperm/SM +spermatozoa +spermatozoon/M +spermicidal +spermicide/MS +spew/MDRZGS +spewer/M +sphagnum/MS +sphere/SM +spherical/Y +spheroid/SM +spheroidal +sphincter/MS +sphinx/MS +spic/S +spice/DSMG +spicily +spiciness/M +spicule/MS +spicy/PRT +spider/SM +spiderweb/MS +spidery +spiel/SMDG +spiff/SDG +spiffy/TR +spigot/SM +spike/DSMG +spikiness/M +spiky/RPT +spill/SMDG +spillage/MS +spillover/SM +spillway/MS +spilt +spin/MS +spinach/M +spinal/SMY +spindle/MGDS +spindly/TR +spine/SM +spineless/YP +spinet/SM +spinless +spinnaker/SM +spinner/MS +spinneret/SM +spinney/S +spinning/M +spinster/SM +spinsterhood/M +spinsterish +spiny/RT +spiracle/SM +spiraea/MS +spiral/SMY +spiralled +spiralling +spire's +spire/IFAS +spirit's +spirit/ISGD +spirited/Y +spiritless +spiritual/MYS +spiritualism/M +spiritualist/MS +spiritualistic +spirituality/M +spirituous +spirochaete/SM +spiry +spit/MDGS +spitball/SM +spite/ASM +spiteful/PY +spitefuller +spitefullest +spitefulness/M +spitfire/SM +spitted +spitting +spittle/M +spittoon/MS +spiv/S +splanchnic +splash/GMDS +splashdown/MS +splashily +splashiness/M +splashy/RTP +splat/SM +splatted +splatter/GSMD +splatting +splay/SMDG +splayfeet +splayfoot/MD +spleen/SM +splendid/RYT +splendorous +splendour/SM +splenectomy +splenetic +splice/DRSMZG +splicer/M +spliff/S +spline/S +splint/SZGMDR +splinter/MDG +splintery +split/SM +splitting/MS +splodge/S +splosh/DSG +splotch/MDSG +splotchy/TR +splurge/DSMG +splutter/GMDS +spoil's +spoil/CSDRZG +spoilage/M +spoiled/U +spoiler/CM +spoilsport/MS +spoilt +spoke/SM +spoken/U +spokesman/M +spokesmen +spokespeople +spokesperson/MS +spokeswoman/M +spokeswomen +spoliation/CM +sponge/DRSMZG +sponger/M +sponginess/M +spongy/RPT +sponsor/MDGS +sponsorship/M +spontaneity/M +spontaneous/Y +spoof/SMDG +spook/SMDG +spookiness/M +spooky/RPT +spool/SMDG +spoon/SMDG +spoonbill/MS +spoonerism/MS +spoonful/SM +spoor/SMDG +sporadic +sporadically +spore/DSMG +sporran/S +sport/SMDGV +sportiness/M +sporting/Y +sportive/Y +sportscast/MRZGS +sportscaster/M +sportsman/M +sportsmanlike/U +sportsmanship/M +sportsmen +sportspeople +sportsperson +sportswear/M +sportswoman/M +sportswomen +sportswriter/SM +sporty/TPR +spot/CMS +spotless/PY +spotlessness/M +spotlight/GSMD +spotlit +spotted +spotter/MS +spottily +spottiness/M +spotting +spotty/TPR +spousal/MS +spouse/SM +spout/SMDG +sprain/GSMD +sprang +sprat/SM +sprawl/GSMD +spray's +spray/ASDG +sprayer/MS +spread/ZGBSMR +spreadeagled +spreader/M +spreadsheet/MS +spree/DSM +spreeing +sprig/SM +sprigged +sprightliness/M +sprightly/RTP +spring/GSM +springboard/MS +springbok/MS +springily +springiness/M +springlike +springtime/M +springy/RPT +sprinkle/DRSJMZG +sprinkler/M +sprinkling/M +sprint/ZGSMDR +sprinter/M +sprite/SM +spritz/ZGMDRS +spritzer/M +sprocket/MS +sprog/S +sprout/GSMD +spruce/DRSPMYTG +spruceness/M +sprung +spry/RYT +spryness/M +spud/MS +spume/DSMG +spumoni/M +spumy +spun +spunk/SM +spunky/TR +spur/MS +spurge/M +spurious/PY +spuriousness/M +spurn/SDG +spurred +spurring +spurt/SMDG +sputa +sputnik/MS +sputter/MDGS +sputum/M +spy/GDSM +spyglass/MS +spymaster/S +spyware/M +sq +sqq +squab/SM +squabble/MZGDRS +squabbler/M +squad/SM +squadron/MS +squalid/PTRY +squalidness/M +squall/SGMD +squally +squalor/M +squamous +squander/GDS +square/PDRSMYTG +squareness/M +squarish +squash/GMDS +squashy/TR +squat/SMP +squatness/M +squatocracy/SM +squatted +squatter/MS +squattest +squatting +squaw/SM +squawk/SZGMDR +squawker/M +squeak/SZGMDR +squeaker/M +squeakily +squeakiness/M +squeaky/TRP +squeal/SZGMDR +squealer/M +squeamish/PY +squeamishness/M +squeegee/MDS +squeegeeing +squeeze/BMZGDRS +squeezebox/S +squeezer/M +squelch/GMDS +squelchy +squib/SM +squid/SM +squidgy +squiffy +squiggle/DSMG +squiggly +squint/STGMDR +squire/DSMG +squirm/SGMD +squirmy/RT +squirrel/SM +squirrelled +squirrelling +squirt/SGMD +squish/GMDS +squishy/RT +sriracha +ssh +st +stab/MYS +stabbed +stabber/MS +stabbing/MS +stabilisation/M +stabilise/CDSG +stabiliser/MS +stability/IM +stable/DRSMTG +stableman/M +stablemate/S +stablemen +stably/U +staccato/MS +stack/SMDG +stadium/MS +staff's +staff/ASDG +staffer/MS +staffing/M +stag/MDGSJ +stage/SM +stagecoach/MS +stagecraft/M +stagehand/MS +stagestruck +stagflation/M +stagger/MDGS +staggering/Y +staging/M +stagnancy/M +stagnant/Y +stagnate/DSGN +stagnation/M +stagy/RT +staid/PRYT +staidness/M +stain/SMDG +stained/U +stainless/M +stair/SM +staircase/MS +stairway/MS +stairwell/SM +stake/DSMG +stakeholder/MS +stakeout/SM +stalactite/MS +stalagmite/MS +stale/DRSTGP +stalemate/DSMG +staleness/M +stalk/SMDRJZG +stalker/M +stalking/M +stall's +stall/SDG +stallholder/S +stallion/MS +stalwart/MYS +stamen/SM +stamina/M +stammer/ZGMDRS +stammerer/M +stammering/Y +stamp/SMDRZG +stampede/MGDS +stamper/M +stance/ISM +stanch/TGDRS +stanchion/SM +stand/SMRJZG +standalone +standard/MS +standardisation/M +standardise/DSG +standby/M +standbys +standee/MS +stander/M +standing/M +standoff/MS +standoffish +standout/MS +standpipe/SM +standpoint/MS +standstill/MS +stank +stanza/SM +staph/M +staphylococcal +staphylococci +staphylococcus/M +staple/DRSMZG +stapler/M +star/MDRZGS +starboard/M +starburst/S +starch/GMDS +starchily +starchiness/M +starchy/PTR +stardom/M +stardust/M +stare/SM +starer/M +starfish/MS +starfruit +stargaze/DRSZG +stargazer/M +stark/RYPZT +starkness/M +starless +starlet/MS +starlight/M +starling/SM +starlit +starred +starring +starry/TR +starstruck +start/ASMDG +starter/MS +startle/GDS +startling/Y +startup/MS +starvation/M +starve/DSJG +starveling/MS +stash/MDSG +stasis +stat/MS +state/DRSMYGNLX +statecraft/M +stated/U +statehood/M +statehouse/MS +stateless/P +statelessness/M +stateliness/M +stately/PRT +statement/AMS +statemented +statementing +stateroom/MS +stateside +statesman/M +statesmanlike +statesmanship/M +statesmen +stateswoman/M +stateswomen +statewide +static/SM +statically +station/MDRZG +stationary +stationer/M +stationery/M +stationmaster/S +statistic/MS +statistical/Y +statistician/SM +statuary/M +statue/SM +statuesque +statuette/MS +stature/MS +status/MS +statute/MS +statutorily +statutory +staunch/PDRSYTG +staunchness/M +stave/DSMG +stay/MDRZGS +std +stdio +stead/SM +steadfast/YP +steadfastness/M +steadily/U +steadiness/UM +steady/TGPDRSM +steak/SM +steakhouse/SM +steal/SMHG +stealth/M +stealthily +stealthiness/M +stealthy/TPR +steam/SMDRZG +steamboat/MS +steamer/M +steamfitter/SM +steamfitting/M +steaminess/M +steampunk +steamroll/ZGDRS +steamroller/MDG +steamship/MS +steamy/TPR +steed/SM +steel/SMDG +steeliness/M +steelmaker/S +steelworker/SM +steelworks/M +steely/PTR +steelyard/SM +steep/SMDNRYPXTG +steepen/GD +steeple/MS +steeplechase/MS +steeplejack/SM +steepness/M +steer/SMDBG +steerage/M +steering/M +steersman/M +steersmen +stegosauri +stegosaurus/MS +stein/SM +stellar +stem/MS +stemless +stemmed +stemming +stemware/M +stench/MS +stencil/MS +stencilled +stencilling +steno/SM +stenographer/SM +stenographic +stenography/M +stenosis +stent/SM +stentorian +step/IMS +stepbrother/SM +stepchild/M +stepchildren/M +stepdad/MS +stepdaughter/SM +stepfather/SM +stepladder/MS +stepmom/MS +stepmother/SM +stepparent/SM +steppe/DRSMZG +stepper/M +steppingstone/SM +stepsister/MS +stepson/MS +stereo/SM +stereophonic +stereoscope/MS +stereoscopic +stereotype/DSMG +stereotypical +sterile +sterilisation/MS +sterilise/DRSZG +steriliser/M +sterility/M +sterling/M +stern/SMRYPT +sternness/M +sternum/MS +steroid/MS +steroidal +stertorous +stet/S +stethoscope/MS +stetson/MS +stetted +stetting +stevedore/SM +stew/MDGS +steward/GMDS +stewardess/MS +stewardship/M +stick/SMRZG +sticker/M +stickily +stickiness/M +stickleback/SM +stickler/MS +stickpin/MS +stickup/MS +sticky/PTRSM +stickybeak/SMDG +stiff/SMDNRYPXTG +stiffen/ZGDR +stiffener/M +stiffening/M +stiffness/M +stifle/DSJG +stifling/Y +stigma/SM +stigmata +stigmatic +stigmatisation/M +stigmatise/GDS +stile/SM +stiletto/SM +still/TGPSMDR +stillbirth/M +stillbirths +stillborn +stilled/I +stilling/I +stillness/M +stilt/SMD +stilted/Y +stimulant/SM +stimulate/DSGNV +stimulation/M +stimuli +stimulus/M +sting/ZGSMR +stinger/M +stingily +stinginess/M +stingray/SM +stingy/RTP +stink/ZGSMR +stinkbug/SM +stinker/M +stinky/RT +stint/GSMD +stipend/SM +stipendiary/S +stipple/DSMG +stippling/M +stipulate/XDSGN +stipulation/M +stir/MS +stirred +stirrer/SM +stirring/SY +stirrup/SM +stitch's +stitch/ADSG +stitchery/M +stitching/M +stoat/SM +stochastic +stock's +stock/AGSD +stockade/DSMG +stockbreeder/MS +stockbroker/SM +stockbroking/M +stockholder/SM +stockily +stockiness/M +stockinette/M +stocking/SM +stockist/S +stockpile/MGDS +stockpot/SM +stockroom/MS +stocktaking/M +stocky/RTP +stockyard/MS +stodge +stodgily +stodginess/M +stodgy/RTP +stogie/MS +stoic/SM +stoical/Y +stoicism/M +stoke/DRSZG +stoker/M +stole/SM +stolen +stolid/RYTP +stolidity/M +stolidness/M +stolon/MS +stomach/MDRZG +stomachache/SM +stomacher/M +stomachs +stomp/GSMD +stone/DRSMZG +stonemason/MS +stoner/M +stonewall/GSD +stoneware/M +stonewashed +stonework/M +stonily +stoniness/M +stonkered +stonking +stony/TRP +stood +stooge/MS +stool/SM +stoop/GSMD +stop's +stop/US +stopcock/SM +stopgap/SM +stoplight/MS +stopover/MS +stoppable/U +stoppage/MS +stopped/U +stopper/GSMD +stopping/U +stopple/DSMG +stopwatch/MS +storage/M +store's +store/ADSG +storefront/MS +storehouse/MS +storekeeper/SM +storeroom/SM +storey/MS +stork/SM +storm/GSMD +stormily +storminess/M +stormy/RPT +story/DSM +storyboard/MS +storybook/SM +storyteller/MS +storytelling/M +stoup/SM +stout/TSMRYP +stouthearted +stoutness/M +stove/SM +stovepipe/SM +stow/DGS +stowage/M +stowaway/MS +straddle/DRSMZG +straddler/M +strafe/MGDS +straggle/DRSZG +straggler/M +straggly/TR +straight/SPXTMNRY +straightaway/SM +straightedge/SM +straighten/ZGDR +straightener/M +straightforward/YPS +straightforwardness/M +straightness/M +straightway +strain's +strain/FADSG +strainer/ASM +strait/MNSX +straiten/GD +straitjacket/SGMD +straitlaced +strand/MDSG +strange/PRYZT +strangeness/M +stranger/M +strangle/ZGDRS +stranglehold/SM +strangler/M +strangulate/GNDS +strangulation/M +strap's +strap/US +strapless/MS +strapped/U +strapping/M +strata +stratagem/SM +strategic/S +strategical/Y +strategics/M +strategist/SM +strategy/SM +strati +stratification/M +stratify/DSGN +stratosphere/SM +stratospheric +stratum/M +stratus/M +straw/GSMD +strawberry/SM +stray/GSMD +streak/MDRSZG +streaker/M +streaky/TR +stream/MDRSZG +streamer/M +streamline/DSG +street/MS +streetcar/MS +streetlamp/S +streetlight/SM +streetwalker/SM +streetwise +strength/M +strengthen/AGDS +strengthener/MS +strengths +strenuous/PY +strenuousness/M +strep/M +streptococcal +streptococci +streptococcus/M +streptomycin/M +stress/MDSG +stressed/U +stressful +stressors +stretch/BZGMDRS +stretcher/MDG +stretchmarks +stretchy/TR +strew/GSDH +strewn +stria/M +striae +striated +striation/MS +stricken +strict/RYPT +strictness/M +stricture/SM +stridden +stride/MGS +stridency/M +strident/Y +strife/M +strike/MZGRSJ +strikebound +strikebreaker/SM +strikebreaking +strikeout/MS +striker/M +striking/Y +strine +string/MDRSZG +stringency/M +stringent/Y +stringer/M +stringiness/M +stringy/PTR +strip/GSMD +stripe/MS +stripey +stripling/MS +stripped +stripper/MS +stripping +striptease/MZGDRS +stripteaser/M +stripy +strive/GS +striven +strobe/MS +stroboscope/MS +stroboscopic +strode +stroke/MGDS +stroll/MDRSZG +stroller/M +strong/RYT +strongbox/MS +stronghold/MS +strongman/M +strongmen +strongroom/S +strontium/M +strop/SM +strophe/SM +strophic +stropped +stroppily +stropping +stroppy/TRP +strove +struck +structural/Y +structuralism +structuralist/S +structure's +structure/AGDS +structured/U +strudel/SM +struggle/MGDS +strum/SM +strummed +strumming +strumpet/MS +strung/UA +strut/SM +strutted +strutting +strychnine/M +stub/MS +stubbed +stubbing +stubble/M +stubbly +stubborn/RYPT +stubbornness/M +stubby/RT +stucco/MDG +stuccoes +stuck/U +stud/MYS +studbook/MS +studded +studding/M +student/SM +studentship/S +studied/U +studiedly +studio/MS +studious/PY +studiousness/M +studly/RT +study's +study/AGDS +stuff/GSMDJ +stuffily +stuffiness/M +stuffing/M +stuffy/RPT +stultification/M +stultify/DSNG +stumble/DRSMZG +stumbler/M +stump/GSMD +stumpy/TR +stun/S +stung +stunk +stunned +stunner/S +stunning/Y +stunt/GSMD +stuntman +stuntmen +stupefaction/M +stupefy/DSG +stupendous/Y +stupid/TMRYS +stupidity/SM +stupor/MS +sturdily +sturdiness/M +sturdy/TRP +sturgeon/SM +stutter/MDRSZG +stutterer/M +sty/SM +style's +style/ADSG +styli +stylise/DSG +stylish/PY +stylishness/M +stylist/SM +stylistic/S +stylistically +stylus/MS +stymie/MDS +stymieing +styptic/SM +suasion/EM +suave/RYTP +suaveness/M +suavity/M +sub/SM +subaltern/MS +subaqua +subarctic +subarea/MS +subatomic +subbasement/SM +subbed +subbing +subbranch/MS +subcategory/SM +subclass +subcommittee/SM +subcompact/SM +subconscious/PMY +subconsciousness/M +subcontinent/SM +subcontinental +subcontract/MDSG +subcontractor/MS +subculture/MS +subcutaneous/Y +subdivide/GDS +subdivision/SM +subdomain/MS +subdominant +subdue/DSG +subeditor/S +subfamily/SM +subfreezing +subgroup/MS +subhead/GJMS +subheading/M +subhuman/MS +subj +subject/GVMDS +subjection/M +subjective/Y +subjectivity/M +subjoin/GDS +subjugate/GNDS +subjugation/M +subjunctive/SM +sublease/MGDS +sublet/SM +subletting +sublieutenant/S +sublimate/GNDS +sublimation/M +sublime/YTGDRS +subliminal/Y +sublimity/M +sublingual +submarginal +submarine/MZRS +submariner/M +submerge/GDS +submergence/M +submerse/GNDS +submersible/MS +submersion/M +submicroscopic +submission/MS +submissive/PY +submissiveness/M +submit/AS +submitted/A +submitter +submitting/A +subnormal +suborbital +suborder/MS +subordinate/DSMGN +subordination/IM +suborn/SGD +subornation/M +subpar +subparagraph +subpart +subplot/MS +subpoena/GMDS +subprime +subprofessional/SM +subprogram/S +subroutine/SM +subscribe/UASDG +subscriber/MS +subscript/MS +subscription/MS +subsection/MS +subsequent/Y +subservience/M +subservient/Y +subset/SM +subside/GDS +subsidence/M +subsidiarity +subsidiary/SM +subsidisation/M +subsidise/ZGDRS +subsidiser/M +subsidy/SM +subsist/SDG +subsistence/M +subsoil/M +subsonic +subspace +subspecies/M +substance/SM +substandard +substantial/IY +substantiate/GNDSX +substantiated/U +substantiation/FM +substantive/SMY +substation/MS +substituent +substitute/XMGNDS +substitution/M +substrata +substrate/MS +substratum/M +substructure/SM +subsume/DSG +subsumption +subsurface/M +subsystem/SM +subteen/SM +subtenancy/M +subtenant/SM +subtend/SDG +subterfuge/SM +subterranean +subtext/SM +subtitle/DSMG +subtle/TR +subtlety/SM +subtly +subtopic/SM +subtotal/SM +subtotalled +subtotalling +subtract/GSD +subtraction/SM +subtrahend/SM +subtropic/S +subtropical +subtropics/M +suburb/MS +suburban/SM +suburbanite/SM +suburbia/M +subvention/SM +subversion/M +subversive/SPMY +subversiveness/M +subvert/SDG +subway/MS +subzero +succeed/GDS +success/VMS +successful/UY +succession/SM +successive/Y +successor/SM +succinct/RYTP +succinctness/M +succotash/M +succour/GMDS +succubi +succubus +succulence/M +succulency/M +succulent/SM +succumb/GDS +such +suchlike +suck/MDRZGS +sucker/GMD +suckle/DSJG +suckling/M +sucrose/M +suction/SMDG +sudden/PY +suddenness/M +suds/M +sudsy/TR +sue/DSG +suede/M +suet/M +suety +suffer/DRZGSJ +sufferance/M +sufferer/M +suffering/M +suffice/DSG +sufficiency/IM +sufficient/IY +suffix/MDSG +suffixation/M +suffocate/GNDS +suffocation/M +suffragan/MS +suffrage/M +suffragette/SM +suffragist/MS +suffuse/DSGN +suffusion/M +sugar/GSMD +sugarcane/M +sugarcoat/GDS +sugarless +sugarplum/MS +sugary/RT +suggest/GVSDR +suggestibility/M +suggestible +suggestion/SM +suggestive/YP +suggestiveness/M +suicidal +suicide/SM +suit/BMDGS +suitability/UM +suitableness/M +suitably/U +suitcase/SM +suite/SM +suited/U +suiting/M +suitor/MS +sukiyaki/M +sulfa/M +sulfonamides +sulk/MDGS +sulkily +sulkiness/M +sulky/TRSMP +sullen/RYPT +sullenness/M +sullied/U +sully/GDS +sulphate/MS +sulphide/MS +sulphur/SMDG +sulphuric +sulphurous +sultan/MS +sultana/SM +sultanate/MS +sultrily +sultriness/M +sultry/RPT +sum/SM +sumac/M +summarily +summarise/GDS +summary/SM +summat +summation/FMS +summed +summer/MDSG +summerhouse/SM +summertime/M +summery +summing +summit/MS +summitry/M +summon/DRSZG +summoner/M +summons/GMDS +sumo/M +sump/MS +sumptuous/PY +sumptuousness/M +sun/SM +sunbake/DRSZG +sunbaker/M +sunbath/ZGMDRS +sunbathe +sunbather/M +sunbathing/M +sunbaths +sunbeam/SM +sunbed/S +sunbelt/SM +sunblock/MS +sunbonnet/SM +sunburn/SGMD +sunburst/MS +sundae/MS +sundeck/S +sunder/DSG +sundial/SM +sundown/SZMR +sundowner/M +sundress/S +sundries/M +sundry/S +sunfish/MS +sunflower/MS +sung/U +sunglasses/M +sunhat/S +sunk/N +sunlamp/SM +sunless +sunlight/M +sunlit +sunned +sunniness/M +sunning +sunny/TRP +sunrise/SM +sunroof/SM +sunscreen/MS +sunset/MS +sunshade/MS +sunshine/M +sunshiny +sunspot/SM +sunstroke/M +suntan/MS +suntanned +suntanning +suntrap/S +sunup/M +sup/SZMR +super/M +superabundance/MS +superabundant +superannuate/GNDS +superannuation/M +superb/RYT +supercargo/M +supercargoes +supercharge/ZGDRS +supercharger/M +supercilious/PY +superciliousness/M +supercity/SM +supercomputer/MS +superconducting +superconductive +superconductivity/M +superconductor/SM +supercritical +superego/MS +supererogation/M +supererogatory +superficial/Y +superficiality/M +superfine +superfluity/M +superfluous/YP +superfluousness/M +superglue +supergrass/S +superhero/MS +superheroes +superhighway/SM +superhuman +superimpose/GDS +superimposition/M +superintend/DSG +superintendence/M +superintendency/M +superintendent/SM +superior/MS +superiority/M +superlative/SMY +superman/M +supermarket/SM +supermassive +supermen +supermodel/SM +supermom/MS +supernal +supernatural/SY +supernova/MS +supernovae +supernumerary/SM +superpose/GDS +superposition/M +superpower/SM +supersaturate/GNDS +supersaturation/M +superscribe/GDS +superscript/MS +superscription/M +supersede/GDS +supersize/GDS +supersonic +superspreader/SM +superstar/MS +superstardom +superstate/S +superstition/MS +superstitious/Y +superstore/MS +superstructure/MS +supertanker/MS +superuser/S +supervene/GDS +supervention/M +supervise/XGNDS +supervised/U +supervision/M +supervisor/MS +supervisory +superwoman/M +superwomen +supine/Y +supp/DRZG +supper/M +suppertime +suppl +supplant/SDG +supple/TLPR +supplement/MDGS +supplemental +supplementary +supplementation/M +suppleness/M +suppliant/SM +supplicant/MS +supplicate/GDS +supplication/M +supplier/M +supply/ZGDRSMXN +support/MDRSBZGV +supportable/UI +supported/U +supporter/M +suppose/GDS +supposed/Y +supposition/MS +suppository/SM +suppress/GVDS +suppressant/MS +suppressible +suppression/M +suppressor/SM +suppurate/DSGN +suppuration/M +supra +supranational +supremacist/MS +supremacy/M +supreme/Y +supremo/S +supt +surcease/DSMG +surcharge/DSMG +surcingle/SM +sure/PYTR +surefire +surefooted +sureness/M +surety/SM +surf/MDRZGS +surface's +surface/AGDS +surfboard/MDSG +surfeit/MDSG +surfer/M +surfing/M +surge/DSMG +surgeon/MS +surgery/SM +surgical/Y +surliness/M +surly/PTR +surmise/MGDS +surmount/DGSB +surmountable/I +surname/MS +surpass/GDS +surpassed/U +surplice/MS +surplus/MS +surplussed +surplussing +surprise/DSMGJ +surprising/UY +surreal +surrealism/M +surrealist/SM +surrealistic +surrealistically +surrender/MDSG +surreptitious/PY +surreptitiousness/M +surrey/MS +surrogacy/M +surrogate/SM +surround/GSDJ +surrounding/M +surroundings/M +surtax/MDSG +surtitle/S +surveillance/M +survey's +survey/ADGS +surveying/M +surveyor/SM +survival/SM +survivalist/SM +survive/DSGB +survivor/SM +susceptibility/SM +susceptible/I +sushi/M +suspect/SMDG +suspected/U +suspend/SDRZG +suspender/M +suspense/XMN +suspenseful +suspension/M +suspicion/SM +suspicious/Y +suss/DSG +sustain/SDBG +sustainability +sustainable/U +sustainably +sustenance/M +sutler/MS +suttee +suture/MGDS +suzerain/MS +suzerainty/M +svelte/TR +swab/MS +swabbed +swabbing +swaddle/DSG +swag/MS +swagged +swagger/SMDRG +swagging +swagman/M +swagmen +swain/SM +swallow/GSMD +swallowtail/MS +swam +swami/SM +swamp/GSMD +swampland/M +swampy/RT +swan/MS +swank/TGSMDR +swankily +swankiness/M +swanky/RPT +swanned +swanning +swansong/S +swap/MS +swapped +swapping +sward/SM +swarm/GSMD +swarthy/TR +swash/GMDS +swashbuckler/SM +swashbuckling/M +swastika/SM +swat/MS +swatch/MS +swath/GMDS +swathe/M +swaths +swatted +swatter/SMDG +swatting +sway/MDGS +swayback/MD +swayed/U +swear/ZGSR +swearer/M +swearword/MS +sweat/ZGSMDR +sweatband/MS +sweater/M +sweatpants/M +sweats/M +sweatshirt/SM +sweatshop/MS +sweatsuit/S +sweaty/RT +swede/SM +sweep/ZGSMRJ +sweeper/M +sweeping/MY +sweepings/M +sweepstake/M +sweet/XTSMNRYP +sweetbread/SM +sweetbrier/SM +sweetcorn +sweetened/U +sweetener/MS +sweetening/M +sweetheart/SM +sweetie/SM +sweetish +sweetmeat/MS +sweetness/M +swell/TGSMDRJ +swellhead/MDS +swelling/M +swelter/SGMD +swept +sweptback +swerve/MGDS +swerving/U +swift/PTSMRY +swiftness/M +swig/MS +swigged +swigging +swill/GSMD +swim/MS +swimmer/SM +swimming/MY +swimsuit/SM +swimwear +swindle/DRSMZG +swindler/M +swine/SM +swineherd/SM +swing/ZGSMR +swingeing +swinger/M +swinish +swipe/DSMG +swirl/GSMD +swirly +swish/TGMDRS +switch/MDRSZGB +switchback/MS +switchblade/SM +switchboard/SM +switcher/M +switchover +swivel/MS +swivelled +swivelling +swiz +swizz +swizzle/DSG +swollen +swoon/SGMD +swoop/SGMD +swoosh/MDSG +sword/SM +swordfish/MS +swordplay/M +swordsman/M +swordsmanship/M +swordsmen +swore +sworn +swot/S +swotted +swotting +swum +swung +sybarite/SM +sybaritic +sycamore/MS +sycophancy/M +sycophant/SM +sycophantic +syllabic +syllabicate/GNDS +syllabication/M +syllabification/M +syllabify/DSNG +syllable/MS +syllabub/S +syllabus/MS +syllogism/MS +syllogistic +sylph/M +sylphic +sylphlike +sylphs +sylvan +symbioses +symbiosis/M +symbiotic +symbiotically +symbol/MS +symbolic +symbolical/Y +symbolisation/M +symbolise/DSG +symbolism/M +symbology +symmetric +symmetrical/Y +symmetry/SM +sympathetic/U +sympathetically/U +sympathies/M +sympathise/ZGDRS +sympathiser/M +sympathy/SM +symphonic +symphony/SM +symposium/MS +symptom/MS +symptomatic +symptomatically +syn/H +synagogal +synagogue/SM +synapse/MS +synaptic +sync/MDSG +synchronicity +synchronisation/MS +synchronise/GDS +synchronous/Y +synchrony +syncopate/DSGN +syncopation/M +syncope/M +syndicalism +syndicalist/S +syndicate/DSMGN +syndication/M +syndrome/SM +synergism/M +synergistic +synergy/SM +synfuel/MS +synod/SM +synonym/SM +synonymous +synonymy/M +synopses +synopsis/M +synoptic +synovial +syntactic +syntactical/Y +syntax/M +syntheses +synthesis/GMDS +synthesise +synthesizer/MS +synthetic/SM +synthetically +synths +syphilis/M +syphilitic/SM +syringe/DSMG +syrup/SM +syrupy +sysadmin/S +sysop/S +system/SM +systematic/U +systematical/Y +systematisation/M +systematise/GDS +systemic/MS +systemically +systole/SM +systolic +t/SDNXGBJ +ta +tab/SM +tabbed +tabbing +tabbouleh/M +tabby/SM +tabernacle/SM +tabla/MS +table/MGDS +tableau/M +tableaux +tablecloth/M +tablecloths +tableland/SM +tablespoon/SM +tablespoonful/SM +tablet/SM +tabletop/MS +tableware/M +tabloid/SM +taboo/MDSG +tabor/MS +tabular +tabulate/DSGNX +tabulation/M +tabulator/SM +tachograph +tachographs +tachometer/SM +tachycardia/M +tachyon +tacit/PY +tacitness/M +taciturn/Y +taciturnity/M +tack/ZGMDRS +tacker/M +tackiness/M +tackle/DRSMZG +tackler/M +tacky/RTP +taco/MS +tact/FM +tactful/YP +tactfulness/M +tactic/SM +tactical/Y +tactician/MS +tactile +tactility/M +tactless/PY +tactlessness/M +tad/SM +tadpole/MS +taffeta/M +taffrail/SM +taffy/SM +tag/SM +tagged +tagger/SM +tagging +tagliatelle +tagline/MS +taiga/MS +tail/ACSDMG +tailback/MS +tailboard/S +tailbone/S +tailcoat/MS +tailgate/MZGDRS +tailgater/M +tailless +taillight/MS +tailor/SGMD +tailoring/M +tailpiece/S +tailpipe/SM +tailspin/SM +tailwind/SM +taint/MDSG +tainted/U +take/AIMS +takeaway/S +taken/A +takeoff/MS +takeout/MS +takeover/SM +taker/MS +taking/SM +takings/M +talc/M +talcum/M +tale/MS +talebearer/MS +talent/SMD +talented/U +tali +talisman/MS +talk/ZGMDRS +talkative/PY +talkativeness/M +talker/M +talkie/RSMT +talky +tall/TRP +tallboy/MS +tallier/M +tallish +tallness/M +tallow/M +tallowy +tally/DRSMZG +tallyho/MDGS +talon/MS +talus/MS +tam/SM +tamale/SM +tamarack/MS +tamarind/MS +tambourine/MS +tame/BYZTGDRSP +tamed/U +tameness/M +tamer/M +tamoxifen +tamp/ZGDRS +tamper/ZGDR +tamperer/M +tampon/SM +tan/SM +tanager/MS +tanbark/M +tandem/SM +tandoori/M +tang/MS +tangelo/MS +tangent/MS +tangential/Y +tangerine/MS +tangibility/IM +tangible/IMS +tangibleness/M +tangibly/I +tangle's +tangle/UDSG +tango/MDSG +tangy/RT +tank/ZGMDRS +tankard/MS +tanker/M +tankful/MS +tanned/U +tanner/SM +tannery/SM +tannest +tannin/M +tanning/M +tansy/M +tantalisation/M +tantalise/ZGDRS +tantaliser/M +tantalising/Y +tantalum/M +tantamount +tantra/M +tantrum/SM +tap/SZGMDR +tapas +tape/MS +tapeline/MS +taper/MDG +tapestry/SM +tapeworm/MS +tapioca/M +tapir/MS +tapped/U +tapper/MS +tappet/MS +tapping +taproom/SM +taproot/SM +tar/SGMD +taramasalata +tarantella/MS +tarantula/SM +tarball/S +tardily +tardiness/M +tardy/TPR +tare/MS +target/MDGS +tariff/MS +tarmac/MS +tarmacadam +tarmacked +tarmacking +tarn/MS +tarnish/GMDS +tarnished/U +taro/MS +tarot/MS +tarp/MS +tarpaulin/MS +tarpon/MS +tarragon/SM +tarred +tarring +tarry/TGDRS +tarsal/MS +tarsi +tarsus/M +tart/PTGMDRYS +tartan/MS +tartar/MS +tartaric +tartness/M +tarty/T +taser/GMDS +task/GMDS +taskbar +taskmaster/MS +taskmistress/MS +tassel/MS +tasselled +tasselling +taste/JMZGDRS +tasted/U +tasteful/EPY +tastefulness/EM +tasteless/PY +tastelessness/M +taster/M +tastily +tastiness/M +tasting/M +tasty/TRP +tat/SZR +tatami/MS +tater/M +tatted +tatter/MDSG +tatterdemalion/MS +tattie +tatting/M +tattle/MZGDRS +tattler/M +tattletale/MS +tattoo/MDRSZG +tattooer/M +tattooist/SM +tatty/TRS +tau/SM +taught/UA +taunt/ZGMDRS +taunter/M +taunting/Y +taupe/M +taut/PXTNRY +tauten/DG +tautness/M +tautological/Y +tautologous +tautology/SM +tavern/MS +tawdrily +tawdriness/M +tawdry/RTP +tawny/TRM +tax/BZGMDRS +taxa +taxation/M +taxer/M +taxi/GMDS +taxicab/SM +taxidermist/SM +taxidermy/M +taximeter/MS +taxiway/S +taxman +taxmen +taxon +taxonomic +taxonomist/MS +taxonomy/SM +taxpayer/MS +taxpaying +tb/S +tbsp +tea/SM +teabag/S +teacake/SM +teach/ZGRSBJ +teachable/U +teacher/M +teaching/M +teacup/MS +teacupful/MS +teak/MS +teakettle/SM +teal/MS +tealight/MS +team/GMDS +teammate/MS +teamster/MS +teamwork/M +teapot/MS +tear/GMDS +tearaway/S +teardrop/SM +tearful/Y +teargas/MS +teargassed +teargassing +tearjerker/MS +tearoom/SM +teary/TR +tease/MZGDRS +teasel/MS +teaser/M +teasing/Y +teaspoon/SM +teaspoonful/SM +teat/MS +teatime/S +tech/M +techie/S +technetium/M +technical/Y +technicality/SM +technician/SM +technicolor +technique/SM +techno +technobabble +technocracy/SM +technocrat/MS +technocratic +technological/Y +technologist/MS +technology/SM +technophobe/S +techs +tectonic/S +tectonics/M +ted/S +teddy/S +tedious/PY +tediousness/M +tedium/M +tee/DSMH +teeing +teem/GDS +teen/MS +teenage/RZ +teenager/M +teeny/TR +teenybopper/MS +teeter/MDSG +teethe/GDS +teething/M +teetotal +teetotalism/M +teetotaller/MS +tektite/SM +tel +telecast/SZGMR +telecaster/M +telecommunication/MS +telecommunications/M +telecommute/ZGDRS +telecommuter/M +telecommuting/M +teleconference/MGDS +teleconferencing/M +telegenic +telegram/MS +telegraph/MDRZG +telegrapher/M +telegraphese +telegraphic +telegraphically +telegraphist/SM +telegraphs +telegraphy/M +telekinesis/M +telekinetic +telemarketer/SM +telemarketing/M +telemeter/SM +telemetry/SM +teleological +teleology +telepathic +telepathically +telepathy/M +telephone/DRSMZG +telephoner/M +telephonic +telephonist/S +telephony/M +telephoto/SM +telephotography/M +teleplay/MS +teleport +teleportation +teleprinter/MS +teleprocessing/M +teleprompter/SM +telesales +telescope/DSMG +telescopic +telescopically +teletext/MS +telethon/MS +teletype/S +teletypewriter/MS +televangelism/M +televangelist/MS +televise/XGNDS +television/M +teleworker/S +teleworking +telex/MDSG +tell/AGS +teller/SM +telling/Y +telltale/SM +tellurium/M +telly/SM +telnet +temblor/MS +temerity/M +temp/MDRZTGS +temper/MDG +tempera/LSM +temperament/MS +temperamental/Y +temperance/IM +temperate/IY +temperateness/M +temperature/SM +tempest/SM +tempestuous/YP +tempestuousness/M +template's +template/S +temple/SM +tempo/SM +temporal/Y +temporarily +temporariness/M +temporary/FSM +temporise/ZGDRS +temporiser/M +tempt/SDRZG +temptation/MS +tempter/M +tempting/Y +temptress/MS +tempura/M +ten/BMH +tenability/M +tenable/U +tenably +tenacious/YP +tenaciousness/M +tenacity/M +tenancy/SM +tenant/SMDG +tenanted/U +tenantry/M +tench +tend/IEFDGS +tended/U +tendency/SM +tendentious/YP +tendentiousness/M +tender/SMDRYTGP +tenderfoot/MS +tenderhearted/P +tenderheartedness/M +tenderise/ZGDRS +tenderiser/M +tenderloin/SM +tenderness/M +tendinitis/M +tendon/SM +tendril/SM +tenement/SM +tenet/SM +tenfold +tenner/S +tennis/M +tenon/SMDG +tenor/SM +tenpin/SM +tenpins/M +tense/DRSMYTGNXP +tenseness/M +tensile +tension/ESM +tensity/IM +tensor/S +tent/DGSM +tentacle/DSM +tentative/PY +tentativeness/M +tenterhook/MS +tenth/MY +tenths +tenuity/M +tenuous/PY +tenuousness/M +tenure/DSMG +tepee/SM +tepid/YP +tepidity/M +tepidness/M +tequila/SM +terabit/SM +terabyte/MS +terahertz/M +terajoule/S +terapixel/MS +terawatt/S +terbium/M +tercentenary/SM +tercentennial/SM +teriyaki +term/MDYGS +termagant/MS +terminable/IC +terminal/MYS +terminate/DSGNX +termination/CSM +terminator/S +termini +terminological/Y +terminology/SM +terminus/M +termite/SM +tern/IMS +ternary/SM +terr +terrace/DSMG +terracotta/M +terrain/SM +terrapin/MS +terrarium/SM +terrazzo/MS +terrestrial/SMY +terrible/P +terribleness/M +terribly +terrier/M +terrific +terrifically +terrify/GDS +terrifying/Y +terrine/S +territorial/MS +territoriality +territory/SM +terror/SM +terrorise/DSG +terrorism/M +terrorist/SM +terry/RMZ +terrycloth/M +terse/RYTP +terseness/M +tertiary +tessellate/DSXGN +tessellation/M +test's/AFK +test/AKFCDGS +testable/CF +testament/MS +testamentary +testate/S +testator/MS +testatrices +testatrix/M +tested/U +tester/KSM +testes +testicle/MS +testicular +testifier/M +testify/ZGDRS +testily +testimonial/MS +testimony/SM +testiness/M +testings +testis/M +testosterone/M +testy/PRT +tetanus/M +tetchily +tetchy/PRT +tether/SMDG +tetra/SM +tetracycline/M +tetrahedral +tetrahedron/MS +tetrameter/SM +text/FMS +textbook/SM +texted +textile/MS +texting +textual/FY +textural +texture/MGDS +thalami +thalamus/M +thalidomide/M +thallium/M +than +thane/SM +thank/SDG +thankful/YP +thankfulness/M +thankless/PY +thanklessness/M +thanksgiving/SM +that'd +that'll +that/M +thatch/MDRSZG +thatcher/M +thatching/M +thaw/MDGS +the/JG +theatre/SM +theatregoer/MS +theatrical/YS +theatricality/M +theatricals/M +theatrics/M +thee/S +theft/SM +their/S +theism/M +theist/SM +theistic +them +thematic +thematically +theme/DSM +themselves +then/M +thence +thenceforth +thenceforward +theocracy/SM +theocratic +theodolite/S +theologian/SM +theological/Y +theology/SM +theorem/MS +theoretic +theoretical/Y +theoretician/SM +theorise/DSG +theorist/SM +theory/SM +theosophic +theosophical +theosophist/SM +theosophy/M +therapeutic/S +therapeutically +therapeutics/M +therapist/SM +therapy/SM +there/M +thereabout/S +thereafter +thereat +thereby +therefor +therefore +therefrom +therein +theremin/SM +thereof +thereon +thereto +theretofore +thereunder +thereunto +thereupon +therewith +therm/SM +thermal/MYS +thermionic +thermodynamic/S +thermodynamics/M +thermometer/MS +thermometric +thermonuclear +thermoplastic/SM +thermos/MS +thermostat/MS +thermostatic +thermostatically +thesauri +thesaurus/MS +these/S +thesis/M +thespian/SM +theta/SM +thew/MS +they +they'd +they'll +they're +they've +thiamine/M +thick/PMNRYXT +thicken/DRJZG +thickener/M +thickening/M +thicket/MS +thickheaded/M +thickness/MS +thicko/S +thickset +thief/M +thieve/DSG +thievery/M +thieving/M +thievish +thigh/M +thighbone/MS +thighs +thimble/MS +thimbleful/SM +thin/YSP +thine +thing/M +thingamabob/SM +thingamajig/SM +thingumabob/S +thingummy/S +thingy/S +think/SRBZG +thinkable/U +thinker/M +thinking's +thinned +thinner/MS +thinness/M +thinnest +thinning +third/SMY +thirst/SGMD +thirstily +thirstiness/M +thirsty/TPR +thirteen/SMH +thirteenth/M +thirteenths +thirtieth/M +thirtieths +thirty/HSM +this +thistle/MS +thistledown/M +thither +tho +thole/SM +thong/SM +thoracic +thorax/MS +thorium/M +thorn/SM +thorniness/M +thorny/PRT +thorough/RYPT +thoroughbred/MS +thoroughfare/MS +thoroughgoing +thoroughness/M +those +thou/MS +though +thought/SM +thoughtful/YP +thoughtfulness/M +thoughtless/PY +thoughtlessness/M +thousand/MHS +thousandfold +thousandth/M +thousandths +thraldom/M +thrall/SMDG +thrash/JMDRSZG +thrasher/M +thrashing/M +thread/SMDRZG +threadbare +threader/M +threadlike +thready/TR +threat/SMNX +threaten/DG +threatening/Y +three/SM +threefold +threepence/M +threescore/MS +threesome/SM +threnody/SM +thresh/MDRSZG +thresher/M +threshold/SM +threw +thrice +thrift/SM +thriftily +thriftiness/M +thriftless +thrifty/PTR +thrill/SMDRZG +thriller/M +thrilling/Y +thrive/DSG +throat/SM +throatily +throatiness/M +throaty/RTP +throb/SM +throbbed +throbbing +throe/SM +thrombi +thrombolytic +thromboses +thrombosis/M +thrombotic +thrombus/M +throne's +throne/S +throng/GSMD +throttle/DRSMZG +throttler/M +through +throughout +throughput/M +throughway/MS +throw/SMRZG +throwaway/SM +throwback/SM +thrower/M +thrown +thru +thrum/SM +thrummed +thrumming +thrush/MS +thrust/GSM +thud/MS +thudded +thudding +thug/MS +thuggery/M +thuggish +thulium/M +thumb/SMDG +thumbnail/SM +thumbprint/SM +thumbscrew/SM +thumbtack/SM +thump/SMDG +thumping/M +thunder/ZGMDRS +thunderbolt/SM +thunderclap/SM +thundercloud/MS +thunderer/M +thunderhead/SM +thunderous/Y +thundershower/SM +thunderstorm/SM +thunderstruck +thundery +thunk/S +thus +thwack/ZGSMDR +thwacker/M +thwart/GSMD +thy +thyme/M +thymine/M +thymus/MS +thyroid/MS +thyroidal +thyself +ti/MRZ +tiara/SM +tibia/M +tibiae +tibial +tic/SM +tick/MDRZGS +ticker/M +ticket/GSMD +ticking/M +tickle/DRSMZG +tickler/M +ticklish/YP +ticklishness/M +ticktacktoe/M +ticktock/MS +tidal/Y +tiddler/S +tiddly +tiddlywink/S +tiddlywinks/M +tide/MGJDS +tideland/SM +tidemark/S +tidewater/MS +tideway/MS +tidily/U +tidiness/UM +tidings/M +tidy/DRSMTGP +tie's +tie/AUSD +tieback/MS +tiebreak/RSZ +tiebreaker/M +tiepin/S +tier/MD +tiff/MDGS +tiger/SM +tigerish +tight/SNRYPXT +tighten/ZGDR +tightener/M +tightfisted +tightness/M +tightrope/MS +tights/M +tightwad/MS +tigress/MS +til +tilapia +tilde/SM +tile/MZGDRS +tiler/M +tiling/M +till/MDRZGSB +tillage/M +tilled/E +tiller/ESM +tilling/E +tilt/MDGS +timber/SMDG +timberland/M +timberline/MS +timbre/SM +timbrel/SM +time/MYZGJDRS +timekeeper/MS +timekeeping/M +timeless/PY +timelessness/M +timeline/MS +timeliness/UM +timely/UPRT +timeout/SM +timepiece/MS +timer/M +timescale/S +timeserver/SM +timeserving/M +timeshare/S +timestamp/SMD +timetable/DSMG +timeworn +timezone +timid/RYTP +timidity/M +timidness/M +timing/M +timorous/PY +timorousness/M +timothy/M +timpani/M +timpanist/SM +tin/SM +tincture/MGDS +tinder/M +tinderbox/MS +tine/MS +tinfoil/M +ting/MDYG +tinge/SM +tingeing +tingle/DSMGJ +tingling/M +tininess/M +tinker/ZGSMDR +tinkerer/M +tinkle/DSMG +tinned +tinnie/M +tinniness/M +tinning +tinnitus/M +tinny/PRSMT +tinplate/M +tinpot +tinsel/SM +tinselled +tinselling +tinsmith/M +tinsmiths +tint/MDGS +tintinnabulation/MS +tintype/MS +tinware/M +tiny/RTP +tip/SM +tipped +tipper/SM +tippet/SM +tippex/GDS +tipping +tipple/DRSMZG +tippler/M +tipsily +tipsiness/M +tipster/MS +tipsy/RPT +tiptoe/DSM +tiptoeing +tiptop/SM +tirade/SM +tiramisu/MS +tire's +tire/AGDS +tired/PRYT +tiredness/M +tireless/YP +tirelessness/M +tiresome/PY +tiresomeness/M +tissue/SM +tit/SM +titan/SM +titanic +titanium/M +titbit/SM +titch/S +titchy +tithe/DRSMZG +tither/M +titian/M +titillate/DSGN +titillating/Y +titillation/M +titivate/DSGN +titivation/M +title/DSMG +titled/U +titleholder/MS +titlist/MS +titmice +titmouse/M +titter/SGMD +tittle/SM +titty/S +titular +tizz +tizzy/SM +tn +tnpk +to/IU +toad/MS +toadstool/MS +toady/DSMG +toadyism/M +toast/SMDRZG +toaster/M +toastmaster/SM +toastmistress/MS +toasty/TRS +tobacco/MS +tobacconist/SM +toboggan/ZGSMDR +tobogganer/M +tobogganing/M +toccata/S +tocopherol +tocsin/SM +today/M +toddle/DRSMZG +toddler/M +toddy/SM +toe/DSM +toecap/SM +toehold/MS +toeing +toenail/MS +toerag/S +toff/S +toffee/SM +tofu/M +tog/SM +toga/MDS +together/P +togetherness/M +togged +togging +toggle/DSMG +togs/M +toil/MDRZGS +toiler/M +toilet/MDGS +toiletry/SM +toilette/M +toilsome +toke/MGDS +token/SM +tokenism/M +told/AU +tole/M +tolerable/I +tolerably/I +tolerance/IM +tolerances +tolerant/IY +tolerate/GNDS +toleration/M +toll/MDGS +tollbooth/M +tollbooths +tollgate/SM +tollway/SM +toluene/M +tom/SM +tomahawk/SGMD +tomato/M +tomatoes +tomb/MDGS +tombola/S +tomboy/MS +tomboyish +tombstone/MS +tomcat/MS +tome/MS +tomfoolery/SM +tomographic +tomography/M +tomorrow/MS +tomtit/MS +ton/SM +tonal/Y +tonality/SM +tone's +tone/IZGDRS +tonearm/SM +toneless/Y +toner/IM +tong/MDGS +tongue/MGDS +tongueless +tonic/SM +tonight/M +tonnage/SM +tonne/SM +tonsil/MS +tonsillectomy/SM +tonsillitis/M +tonsorial +tonsure/DSMG +tony/RT +too +took/A +tool's +tool/ADGS +toolbar/SM +toolbox/MS +toolkit +toolmaker/MS +toot/MDRZGS +tooter/M +tooth/MD +toothache/MS +toothbrush/MS +toothily +toothless +toothpaste/SM +toothpick/SM +toothsome +toothy/RT +tootle/GDS +tootsie/S +top/SM +topaz/MS +topcoat/SM +topdressing/SM +topee/S +topflight +topi +topiary/M +topic/SM +topical/Y +topicality/M +topknot/SM +topless +topmast/SM +topmost +topnotch +topographer/SM +topographic +topographical/Y +topography/SM +topological/Y +topology +topped +topper/MS +topping/SM +topple/GDS +topsail/SM +topside/SM +topsoil/M +topspin/M +toque/SM +tor/SM +torch/GMDS +torchbearer/MS +torchlight/M +tore +toreador/MS +torment/SMDG +tormenting/Y +tormentor/MS +torn +tornado/M +tornadoes +torpedo/GMD +torpedoes +torpid/Y +torpidity/M +torpor/M +torque/MGDS +torrent/SM +torrential +torrid/YP +torridity/M +torridness/M +torsion/M +torsional +torso/SM +tort's +tort/FEAS +torte/SM +tortellini/M +tortilla/MS +tortoise/MS +tortoiseshell/SM +tortoni/M +tortuous/PY +tortuousness/M +torture/DRSMZG +torturer/M +torturous +torus +tosh +toss/MDRSZG +tossup/MS +tot/SGMD +total/SMY +totalisator/MS +totalitarian/SM +totalitarianism/M +totality/SM +totalled +totalling +tote/MS +totem/SM +totemic +totted +totter/ZGMDRS +totterer/M +totting +toucan/MS +touch/AGMDS +touchdown/SM +touche/BJ +touched/U +touchily +touchiness/M +touching/Y +touchline/S +touchpaper/S +touchscreen/MS +touchstone/MS +touchy/RPT +tough/XTGMDNRYP +toughen/ZGDR +toughener/M +toughie/SM +toughness/M +toughs +toupee/MS +tour/CFSGDM +tourism/M +tourist/MS +touristic +touristy +tourmaline/M +tournament/SM +tourney/MS +tourniquet/MS +tousle/GDS +tout/MDGS +tow/SZGMDR +toward/S +towboat/MS +towel/SM +towelette/SM +towelled +towelling/SM +tower/GMD +towhead/MDS +towhee/MS +towline/MS +town/MS +townee/S +townhouse/MS +townie/MS +townsfolk/M +township/MS +townsman/M +townsmen +townspeople/M +townswoman/M +townswomen +towpath/M +towpaths +towrope/SM +toxaemia/M +toxic +toxicity/SM +toxicological +toxicologist/SM +toxicology/M +toxin/SM +toy/SGMD +toyboy/S +tr +trabecula +trabeculae +trabecular +trace/JDRSMZG +traceability +traceable/U +tracer/M +tracery/SM +trachea/M +tracheae +tracheal +tracheotomy/SM +tracing/M +track/ZGSMDR +trackball/SM +tracker/M +trackless +tracksuit/S +tract's +tract/CEKFAS +tractability/IM +tractable/I +tractably/I +traction/EFACKM +tractor/FCKMS +trad +trade/JDRSMZG +trademark/SGMD +trader/M +tradesman/M +tradesmen +tradespeople/M +tradeswoman/M +tradeswomen +trading/M +tradition/MS +traditional/Y +traditionalism/M +traditionalist/SM +traduce/DRSZG +traducer/M +traffic/SM +trafficked +trafficker/SM +trafficking/M +tragedian/SM +tragedienne/MS +tragedy/SM +tragic +tragically +tragicomedy/SM +tragicomic +trail/ZGSMDR +trailblazer/MS +trailblazing/M +trailer/M +train/ZGSMDRB +trained/U +trainee/SM +trainer/M +training/M +trainload/MS +trainman/M +trainmen +trainspotter/S +trainspotting +traipse/DSMG +trait/SM +traitor/SM +traitorous/Y +trajectory/SM +tram/MS +tramcar/S +tramlines +trammed +trammel/SM +trammelled/U +trammelling +tramming +tramp/ZGSMDR +tramper/M +trample/DRSMZG +trampler/M +trampoline/MGDS +tramway/S +trance/MS +tranche/S +tranquil/RYT +tranquillise/DRSZG +tranquilliser/M +tranquillity/M +trans/I +transact/DGS +transaction/SM +transactional +transactor/MS +transatlantic +transceiver/SM +transcend/GSD +transcendence/M +transcendent +transcendental/Y +transcendentalism/M +transcendentalist/SM +transcontinental +transcribe/ZGDRS +transcriber/M +transcript/MS +transcription/SM +transducer/MS +transduction +transect/DSG +transept/MS +transfer/MBS +transferal/MS +transference/M +transferred +transferring +transfiguration/M +transfigure/GDS +transfinite +transfix/DSG +transform/BSZGMDR +transformation/SM +transformational +transformer/M +transfuse/DSXGN +transfusion/M +transgender/S +transgenic +transgress/GDS +transgression/SM +transgressor/SM +transience/M +transiency/M +transient/SMY +transistor/SM +transistorise/DSG +transit/SGMD +transition/GSMD +transitional/Y +transitive/ISMY +transitiveness/M +transitivity/M +transitory +transl +translatable/U +translate/DSGNBX +translated/U +translation/M +translator/SM +transliterate/DSGNX +transliteration/M +translocation +translucence/M +translucency/M +translucent/Y +transmigrate/GNDS +transmigration/M +transmissible +transmission/MS +transmit/S +transmittable +transmittal/M +transmittance/M +transmitted +transmitter/SM +transmitting +transmogrification/M +transmogrify/DSNG +transmutation/SM +transmute/BDSG +transnational/MS +transoceanic +transom/SM +transpacific +transparency/SM +transparent/Y +transphobia/M +transphobic +transpiration/M +transpire/DSG +transplant/MDGS +transplantation/M +transpolar +transponder/SM +transport/BSZGMDR +transportation/M +transporter/M +transpose/DSG +transposition/MS +transsexual/SM +transsexualism/M +transship/SL +transshipment/M +transshipped +transshipping +transubstantiation/M +transversal +transverse/MYS +transvestism/M +transvestite/MS +trap/MS +trapdoor/MS +trapeze/SM +trapezium/SM +trapezoid/SM +trapezoidal +trappable +trapped +trapper/SM +trapping/S +trappings/M +trapshooting/M +trash/GMDS +trashcan/MS +trashiness/M +trashy/RPT +trauma/MS +traumatic +traumatically +traumatise/GDS +travail/SGMD +travel/MS +travelled +traveller/SM +travelling/MS +travelogue/MS +traversal/SM +traverse/DSMG +travesty/GDSM +trawl/ZGSMDR +trawler/M +tray/MS +treacherous/PY +treacherousness/M +treachery/SM +treacle/M +treacly +tread/AGSM +treadle/DSMG +treadmill/MS +treas +treason/BM +treasonous +treasure/DRSMZG +treasurer/M +treasury/SM +treat/AGSMD +treatable +treated/U +treatise/SM +treatment/MS +treaty/SM +treble/MGDS +tree/MDS +treeing +treeless +treelike +treeline +treetop/SM +trefoil/SM +trek/MS +trekked +trekker/SM +trekking +trellis/GMDS +trematode/MS +tremble/DSMG +tremendous/Y +tremolo/SM +tremor/MS +tremulous/PY +tremulousness/M +trench's +trench/ADSG +trenchancy/M +trenchant/Y +trencher/MS +trencherman/M +trenchermen +trend/GSMD +trendily +trendiness/M +trendsetter/S +trendsetting +trendy/RSMPT +trepidation/M +trespass/MDRSZG +trespasser/M +tress/EMS +trestle/MS +trews +trey/MS +triad/SM +triage/MD +trial/ASM +trialled +trialling +triangle/SM +triangular/Y +triangulate/GNDS +triangulation/M +triathlete/S +triathlon/SM +tribal +tribalism/M +tribe/SM +tribesman/M +tribesmen +tribeswoman/M +tribeswomen +tribulation/SM +tribunal/SM +tribune/MS +tributary/SM +tribute's +tribute/FS +trice/M +tricentennial/MS +triceps/MS +triceratops/M +trichina/M +trichinae +trichinosis/M +trick/GSMD +trickery/M +trickily +trickiness/M +trickle/MGDS +trickster/SM +tricky/TRP +tricolour/MS +tricycle/SM +trident/MS +tried/U +triennial/MYS +trier/SM +trifecta/SM +trifle/MZGDRS +trifler/M +trifocals/M +trig/M +trigger/MDSG +triglyceride/MS +trigonometric +trigonometrical +trigonometry/M +trike/SM +trilateral/S +trilby/SM +trill/GSMD +trillion/SMH +trillionth/M +trillionths +trillium/M +trilobite/SM +trilogy/SM +trim/PMYS +trimaran/MS +trimester/SM +trimmed/U +trimmer/SM +trimmest +trimming/SM +trimmings/M +trimness/M +trimonthly +trinitrotoluene/M +trinity/SM +trinket/SM +trio/MS +trip/MYS +tripartite +tripe/M +triple/MGDS +triplet/SM +triplex/MS +triplicate/MGDS +tripod/MS +tripodal +tripos +tripped +tripper/SM +tripping +triptych/M +triptychs +tripwire/S +trireme/SM +trisect/SDG +trisection/M +trite/FPYT +triteness/FM +triter +tritium/M +triumph/GMD +triumphal +triumphalism +triumphalist +triumphant/Y +triumphs +triumvir/MS +triumvirate/SM +trivalent +trivet/MS +trivia/M +trivial/Y +trivialisation/M +trivialise/GDS +triviality/SM +trivium/M +trochaic +trochee/SM +trod/AU +trodden/A +troglodyte/SM +troika/MS +troll/SGMD +trolley/SM +trolleybus/MS +trollop/SM +trombone/MS +trombonist/MS +tromp/SGD +tron/S +troop/SZGMDR +trooper/M +troopship/MS +trope/SM +trophy/SM +tropic/MS +tropical/Y +tropics/M +tropism/SM +troposphere/SM +troppo +trot/MS +troth/M +trotted +trotter/SM +trotting +troubadour/MS +trouble/DSMG +troubled/U +troublemaker/MS +troubleshoot/DRZGS +troubleshooter/M +troubleshooting/M +troubleshot +troublesome/Y +trough/M +troughs +trounce/DRSZG +trouncer/M +troupe/MZGDRS +trouper/M +trouser/SM +trousers/M +trousseau/M +trousseaux +trout/SM +trove/SM +trow/DSG +trowel/MS +trowelled +trowelling +troy/S +truancy/M +truant/GMDS +truce/SM +truck/SZGMDR +trucker/M +truckie/MS +trucking/M +truckle/MGDS +truckload/SM +truculence/M +truculent/Y +trudge/MGDS +true/MTGDRS +truelove/SM +truffle/MS +trug/S +truism/MS +truly/U +trump/SGMD +trumpery/M +trumpet/ZGMDRS +trumpeter/M +truncate/GNDS +truncation/M +truncheon/SM +trundle/MZGDRS +trundler/M +trunk/SGM +truss/GMDS +trust/ESGMD +trustee/MS +trusteeship/SM +trustful/EY +trustfulness/M +trusting/Y +trustworthiness/M +trustworthy/TPR +trusty/TRSM +truth/ZMR +truther/M +truthful/UYP +truthfulness/UM +truthiness +truths/U +try's +try/AGDS +trying/Y +tryout/SM +tryptophan +tryst/SMDG +tsar/MS +tsarists +tsetse/MS +tsp +tsunami/SM +ttys +tub/SZGMDR +tuba/MS +tubal +tubby/TR +tube/MS +tubeless/M +tuber/M +tubercle/SM +tubercular +tuberculin/M +tuberculosis/M +tuberculous +tuberose/M +tuberous +tubful/MS +tubing/M +tubular +tubule/MS +tuck/MDRSZG +tucker/MDG +tuft/MDRSZG +tufter/M +tug/SM +tugboat/MS +tugged +tugging +tuition/IM +tularaemia +tularemia's +tulip/SM +tulle/M +tum/S +tumble/DRSMZG +tumbledown +tumbler/M +tumbleweed/SM +tumbling/M +tumbril/SM +tumescence/M +tumescent +tumid +tumidity/M +tummy/SM +tumorous +tumour/SM +tumult/SM +tumultuous/Y +tun/SZGMDR +tuna/MS +tundra/SM +tune/MS +tuneful/YP +tunefulness/M +tuneless/Y +tuner/M +tuneup/SM +tungsten/M +tunic/SM +tunnel/SM +tunnelled +tunneller/SM +tunnelling/S +tunny/SM +tuple/S +tuppence +tuppenny +tuque/SM +turban/SMD +turbid +turbidity/M +turbine/SM +turbo/SM +turbocharge/ZGDRS +turbocharger/M +turbofan/SM +turbojet/SM +turboprop/SM +turbot/SM +turbulence/M +turbulent/Y +turd/MS +turducken/SM +tureen/SM +turf/MDSG +turfy +turgid/Y +turgidity/M +turkey/SM +turmeric/SM +turmoil/MS +turn/AMDRSZG +turnabout/SM +turnaround/SM +turnbuckle/SM +turncoat/SM +turner/AM +turning/MS +turnip/SM +turnkey/MS +turnoff/MS +turnout/MS +turnover/MS +turnpike/MS +turnstile/SM +turntable/SM +turpentine/M +turpitude/M +turps +turquoise/SM +turret/SMD +turtle/SM +turtledove/SM +turtleneck/SMD +tush/MS +tusk/MDS +tussle/DSMG +tussock/MS +tussocky +tut/SM +tutelage/M +tutelary +tutor/SMDG +tutored/U +tutorial/SM +tutorship/M +tutted +tutti/SM +tutting +tutu/MS +tux/MS +tuxedo/SM +twaddle/MZGDRS +twaddler/M +twain/M +twang/SMDG +twangy/RT +twas +twat/S +tweak/SMDG +twee +tweed/SM +tweeds/M +tweedy/RT +tween +tweet's +tweet/ASDG +tweeter/SM +tweezers/M +twelfth/M +twelfths +twelve/SM +twelvemonth/M +twelvemonths +twentieth/M +twentieths +twenty/SMH +twerk/SDG +twerp/SM +twice +twiddle/MGDS +twiddly +twig/MS +twigged +twigging +twiggy/TR +twilight/M +twilit +twill/MD +twin/MDRSZG +twine/SM +twiner/M +twinge/DSMG +twink/SY +twinkle/MGJDS +twinkling/M +twinned +twinning +twinset/S +twirl/SMDRZG +twirler/M +twirly +twist's +twist/USDG +twister/MS +twisty/TR +twit/MS +twitch/GMDS +twitchy/RT +twitted +twitter/MDSG +twittery +twitting +twixt +two/SM +twofer/SM +twofold +twopence/SM +twopenny +twosome/SM +twp +tycoon/SM +tying/AU +tyke/MS +tympani/M +tympanic +tympanist/MS +tympanum/SM +type's +type/AGDS +typecast/GS +typeface/MS +typescript/MS +typeset/S +typesetter/MS +typesetting/M +typewrite/RSZG +typewriter/M +typewriting/M +typewritten +typewrote +typhoid/M +typhoon/MS +typhus/M +typical/UY +typicality/M +typification/M +typify/NGDS +typing/M +typist/SM +typo/MS +typographer/SM +typographic +typographical/Y +typography/M +typology/SM +tyrannic +tyrannical/Y +tyrannicidal +tyrannicide/S +tyrannise/GDS +tyrannosaur/MS +tyrannosaurus/MS +tyrannous +tyranny/SM +tyrant/SM +tyre/MS +tyro/MS +tzatziki +u/S +ubiquitous/Y +ubiquity/M +udder/SM +ufologist/SM +ufology/M +ugh +ugliness/M +ugly/RTP +uh +uhf +ukase/SM +ukulele/SM +ulcer/SM +ulcerate/XDSGN +ulceration/M +ulcerous +ulna/M +ulnae +ulnar +ulster/MS +ult +ulterior +ultimate/MY +ultimatum/MS +ultimo +ultra/SM +ultraconservative/SM +ultrahigh +ultralight/SM +ultramarine/M +ultramodern +ultrasensitive +ultrashort +ultrasonic +ultrasonically +ultrasound/MS +ultraviolet/M +ululate/DSGNX +ululation/M +um +umbel/SM +umber/M +umbilical +umbilici +umbilicus/M +umbra/SM +umbrage/M +umbrella/SM +umiak/SM +umlaut/MS +ump/SGMD +umpire/MGDS +umpteen/H +unabridged/MS +unacceptability +unacceptable +unaccommodating +unaccountably +unadventurous +unaesthetic +unalterably +unambitious +unanimity/M +unanimous/Y +unapparent +unappetising +unappreciative +unary +unassertive +unassimilable +unassuming/Y +unavailing/Y +unaware/S +unbeknown +unbend/SG +unbent +unbid +unblinking/Y +unblushing/Y +unbosom/DG +unbound/D +unbox/GDS +unbreakable +unbroken +uncanny/T +uncap/S +uncaring +unceasing/Y +unchangeable +uncharacteristic +uncharitable +unchaste/RT +uncial/M +uncle/SM +unclean/DRPT +uncleanly/T +unclear/DRT +uncomfortable +uncommon/T +uncompelling +uncomplaining/Y +uncomplicated +uncomprehending/Y +uncompromising/Y +unconditional/Y +uncongenial +unconscionable +unconscionably +unconscious/M +unconstitutional/Y +uncontrollably +uncontroversial +uncool +uncooperative +uncouth/Y +uncrushable +unction/SM +unctuous/YP +unctuousness/M +uncut +undaunted/Y +undecided/SM +undemonstrative/Y +undeniably +under +underachieve/LZGDRS +underachiever/M +underact/SDG +underage +underappreciated +underarm/SM +underbelly/SM +underbid/S +underbidding +underbrush/M +undercarriage/MS +undercharge/MGDS +underclass/MS +underclassman/M +underclassmen +underclothes/M +underclothing/M +undercoat/GJSMD +undercoating/M +undercover +undercurrent/SM +undercut/SM +undercutting +underdeveloped +underdevelopment/M +underdog/SM +underdone +underemployed +underemployment/M +underestimate/DSMGNX +underestimation/M +underexpose/GDS +underexposure/MS +underfed +underfeed/GS +underfloor +underflow +underfoot +underfunded +underfur/M +undergarment/SM +undergo/G +undergoes +undergone +undergrad/S +undergraduate/SM +underground/MS +undergrowth/M +underhand +underhanded/PY +underhandedness/M +underinflated +underlain +underlay/SM +underlie/S +underline/MGDS +underling/MS +underlip/SM +underlying +undermanned +undermentioned +undermine/GDS +undermost +underneath/M +underneaths +undernourished +undernourishment/M +underpaid +underpants/M +underpart/MS +underpass/MS +underpay/GSL +underpayment/SM +underpin/S +underpinned +underpinning/MS +underplay/DGS +underpopulated +underprivileged +underproduction/M +underrate/GDS +underrepresented +underscore/DSMG +undersea/S +undersecretary/SM +undersell/GS +undersexed +undershirt/SM +undershoot/SG +undershorts/M +undershot +underside/MS +undersign/DGS +undersigned/M +undersized +underskirt/SM +undersold +understaffed +understand/SGBJ +understandably +understanding/MY +understate/DSLG +understatement/SM +understood +understudy/GDSM +undertake/ZGJRS +undertaken +undertaker/M +undertaking/M +underthings/M +undertone/MS +undertook +undertow/SM +underused +underutilised +undervaluation/M +undervalue/DSG +underwater +underway +underwear/M +underweight/M +underwent +underwhelm/DGS +underwire/DS +underworld/MS +underwrite/ZGRS +underwriter/M +underwritten +underwrote +undesirable/MS +undies/M +undo +undoubted/Y +undramatic +undue +undulant +undulate/DSXGN +undulation/M +undying +unearthliness/M +unease/M +uneasy/T +uneatable +uneconomic +unemployed/M +unending +unenterprising +unequal/Y +unerring/Y +unessential +uneven/Y +unexceptionably +unexcited +unexciting +unexpected/YP +unexpectedness/M +unfailing/Y +unfair/PTRY +unfaltering +unfamiliar +unfathomably +unfed +unfeeling/Y +unfeminine +unfit/S +unfitting +unfix/GDS +unflagging/Y +unflappability/M +unflappable +unflappably +unflattering +unflinching/Y +unforgettably +unforgivably +unfortunate/MS +unfriendly/T +unfrock/DG +unfruitful +unfunny +ungainliness/M +ungainly/RPT +ungenerous +ungentle +ungodly/T +ungraceful/Y +ungrudging +unguarded +unguent/SM +ungulate/MS +unhandy/T +unhappy/T +unhealthful +unhealthy/T +unhistorical +unholy/T +unhurt +unicameral +unicellular +unicorn/SM +unicycle/SM +unidirectional +unification/AM +uniform/SMDYG +uniformity/M +unify/AGDSN +unilateral/Y +unilateralism +unimportant +unimpressive +uninformative +uninhibited/Y +uninsured +unintelligent +unintended +uninteresting +uninterrupted/Y +uninterruptible +uninviting +union/ASM +unionism/M +unionist/MS +unique/YTRP +uniqueness/M +unisex/M +unison/M +unitary +unite/AEGSD +unitedly +unities +unitise/DSG +unity/EM +univalent +univalve/SM +universal/MYS +universalise/DSG +universalism +universalist +universality/M +universe/SM +university/SM +univocal +unjust/Y +unkempt +unkind/T +unkindly/T +unknowable/M +unknown/SM +unleaded/M +unless +unlike/PB +unlikely/T +unlock/DSG +unlovable +unlovely/TR +unloving +unlucky/T +unmanly/T +unmarried +unmeaning +unmentionable/MS +unmentionables/M +unmet +unmindful +unmissable +unmistakably +unmoral +unmovable +unmusical +unnecessary +unnerving/Y +unobservant +unoffensive +unofficial/Y +unoriginal +unpeople +unperceptive +unpersuasive +unpick/GDS +unpin/S +unpleasing +unpolitical +unpopular +unpractical +unprecedented/Y +unprofessional/Y +unpromising +unpropitious +unquestioning/Y +unquiet/TR +unravelling +unread/B +unready +unreal +unreasoning +unregenerate +unrelated +unrelenting/Y +unrelieved/Y +unremarkable +unremitting/Y +unrepentant +unreported +unrepresentative +unrest/M +unrevealing +unripe/TR +unroll/GDS +unromantic +unruliness/M +unruly/RTP +unsafe/YTR +unsalable +unsavoury +unscathed +unseeing/Y +unseemly/T +unseen/M +unsentimental +unset +unshakably +unshakeable +unshapely +unshockable +unshorn +unsightliness/M +unsightly/PT +unskillful/Y +unsmiling +unsociable +unsocial +unsold +unsound/PRYT +unspeakable +unspeakably +unspecific +unspectacular +unsporting +unstable +unsteady/TRP +unstinting/Y +unstrapping +unsubstantial +unsubtle +unsuitable +unsure +unsuspecting/Y +unsymmetrical +untactful +unthinkably +unthinking/Y +untidy/PTR +until +untimely/T +untiring/Y +untouchable/MS +untoward +untraveled +untrue/RT +untrustworthy +untruth/M +unutterable +unutterably +unwarrantable +unwary/T +unwavering +unwed +unwelcome/G +unwell +unwieldiness/M +unwieldy/TRP +unwise/RYT +unworried +unworthy/T +unwound +unwrapping +unyielding +up/S +upbeat/MS +upbraid/SGD +upbringing/MS +upchuck/SGD +upcoming +upcountry/M +update/MGDRS +updraught/SM +upend/SGD +upfront +upgrade/MGDS +upheaval/MS +upheld +uphill/MS +uphold/ZGRS +upholder/M +upholster/ASGD +upholsterer/MS +upholstery/M +upkeep/M +upland/MS +uplift/JSMDG +upload/SDG +upmarket +upmost +upon +upped +upper/SM +uppercase/M +upperclassman/M +upperclassmen +upperclasswoman +upperclasswomen +uppercut/MS +uppercutting +uppermost +upping +uppish +uppity +upraise/DSG +uprear/GSD +upright/MYPS +uprightness/M +uprising/SM +upriver +uproar/SM +uproarious/Y +uproot/GSD +upscale +upset/SM +upsetting +upshot/SM +upside/SM +upsilon/MS +upstage/GDS +upstairs +upstanding +upstart/MDSG +upstate/M +upstream +upstroke/SM +upsurge/MGDS +upswing/MS +uptake/SM +uptempo +upthrust/GSM +uptick/SM +uptight +uptown/M +uptrend +upturn/GSMD +upward/SY +upwind +uracil/M +uraemia/M +uraemic +uranium/M +urban +urbane/RYT +urbanisation/M +urbanise/DSG +urbanity/M +urbanologist/MS +urbanology/M +urchin/SM +urea/M +ureter/SM +urethane/M +urethra/M +urethrae +urethral +urge/MGDS +urgency/M +urgent/Y +uric +urinal/SM +urinalyses +urinalysis/M +urinary +urinate/GNDS +urination/M +urine/M +urn/SM +urogenital +urological +urologist/MS +urology/M +ursine +urticaria/M +usability/M +usable/UA +usage/SM +use/AEDSMG +used/U +useful/PY +usefulness/M +useless/YP +uselessness/M +user/MS +username/MS +usher/SMDG +usherette/SM +usu +usual's +usual/UY +usurer/SM +usurious +usurp/SDRZG +usurpation/M +usurper/M +usury/M +ute/SM +utensil/SM +uteri +uterine +uterus/M +utilisation/M +utilise/GBDS +utilitarian/MS +utilitarianism/M +utility/SM +utmost/M +utopia/SM +utter/SDYG +utterance/SM +uttermost/M +uveitis +uvula/SM +uvular/MS +uxorious +v/AS +vac/S +vacancy/SM +vacant/Y +vacate/DSG +vacation/ZGMDRS +vacationer/M +vacationist/SM +vaccinate/GNDSX +vaccination/M +vaccine/SM +vacillate/XGNDS +vacillation/M +vacuity/M +vacuole/MS +vacuous/YP +vacuousness/M +vacuum/GSMD +vagabond/SMDG +vagabondage/M +vagarious +vagary/SM +vagina/SM +vaginae +vaginal/Y +vaginitis +vagrancy/M +vagrant/MS +vague/RYTP +vagueness/M +vagus +vain/RYT +vainglorious/Y +vainglory/M +val +valance/MS +vale/MS +valediction/MS +valedictorian/SM +valedictory/SM +valence/MS +valency/SM +valentine/SM +valet/SMDG +valetudinarian/MS +valetudinarianism/M +valiance/M +valiant/Y +valid/Y +validate/IGNDS +validation/IM +validations +validity/IM +validness/M +valise/SM +valley/SM +valorous/Y +valour/M +valuable/MS +valuate/DSG +valuation/CAMS +value's +value/CAGSD +valueless +valuer/SM +valve/DSMG +valveless +valvular +vamoose/DSG +vamp/AMDGS +vampire/SM +van/SM +vanadium/M +vandal/SM +vandalise/DSG +vandalism/M +vane/MS +vanguard/MS +vanilla/SM +vanish/JDSG +vanity/SM +vanned +vanning +vanquish/ZGDRS +vanquisher/M +vantage/SM +vape/GDS +vapid/YP +vapidity/M +vapidness/M +vaporisation/M +vaporise/DRSZG +vaporiser/M +vaporous +vaporware +vapour/SM +vapoury +vaquero/MS +var/S +variability/IM +variable/ISM +variably/I +variance/SM +variant/MS +variate/NX +variation/M +varicoloured +varicose +varied/U +variegate/DSGN +variegation/M +varietal/SM +variety/SM +various/Y +varlet/SM +varmint/MS +varnish/GMDS +varnished/U +varsity/SM +vary/DSG +varying/U +vascular +vase/MS +vasectomy/SM +vasoconstriction +vasomotor +vassal/SM +vassalage/M +vast/MRYTSP +vastness/M +vat/SM +vatted +vatting +vaudeville/M +vaudevillian/MS +vault/SMDRZG +vaulter/M +vaulting/M +vaunt/SMDG +vb +veal/M +vector/SGMD +veejay/SM +veep/MS +veer/MDGS +veg/M +vegan/SM +veganism +vegeburger/S +veges +vegetable/SM +vegetarian/SM +vegetarianism/M +vegetate/GNVDS +vegetation/M +vegged +vegges +veggie/SM +veggieburger/S +vegging +vehemence/M +vehemency/M +vehement/Y +vehicle/MS +vehicular +veil's +veil/UDGS +vein/MDGS +vela +velar/SM +veld/MS +vellum/M +velocipede/MS +velocity/SM +velodrome/S +velour/MS +velum/M +velvet/M +velveteen/M +velvety +venal/Y +venality/M +venation/M +vend/DGS +vendetta/SM +vendible +vendor/MS +veneer/MDGS +venerability/M +venerable +venerate/DSGN +veneration/M +venereal +vengeance/M +vengeful/AY +venial +venireman/M +veniremen +venison/M +venom/M +venomous/Y +venous +vent's +vent/DGS +ventilate/GNDS +ventilation/M +ventilator/SM +ventilatory +ventral +ventricle/SM +ventricular +ventriloquism/M +ventriloquist/SM +ventriloquy/M +venture/DSMG +venturesome/PY +venturesomeness/M +venturous/PY +venturousness/M +venue/ASM +veracious/Y +veracity/M +verandah/M +verandahs +verapamil +verb/KMS +verbal/MYS +verbalisation/M +verbalise/GDS +verbatim +verbena/SM +verbiage/MS +verbose/Y +verbosity/M +verboten +verdant/Y +verdict/SM +verdigris/GMDS +verdure/M +verge's +verge/FDSG +verger/MS +verifiable/U +verification/M +verified/U +verify/DSNG +verily +verisimilitude/M +veritable +veritably +verity/SM +vermicelli/M +vermiculite/M +vermiform +vermilion/M +vermin/M +verminous +vermouth/M +vernacular/MS +vernal +vernier/SM +veronica/M +verruca/SM +verrucae +versa +versatile +versatility/M +verse/AFNGMSDX +versed/U +versification/M +versifier/M +versify/ZGNDRS +version/AFIMS +versioned +versioning +verso/SM +versus +vert/A +vertebra/M +vertebrae +vertebral +vertebrate/IMS +vertex/MS +vertical/MYS +vertices +vertiginous +vertigo/M +verve/M +very/RT +vesicle/SM +vesicular +vesiculate +vesper/MS +vessel/MS +vest's +vest/ILDGS +vestal/MS +vestibule/MS +vestige/SM +vestigial/Y +vesting/M +vestment/IMS +vestry/SM +vestryman/M +vestrymen +vet/SM +vetch/MS +veteran/SM +veterinarian/MS +veterinary/SM +veto/MDG +vetoes +vetted +vetting +vex/GDS +vexation/SM +vexatious/Y +vhf +vi +via +viability/M +viable +viably +viaduct/SM +vial/MS +viand/SM +vibe/MS +vibes/M +vibraharp/SM +vibrancy/M +vibrant/Y +vibraphone/MS +vibraphonist/MS +vibrate/GNDSX +vibration/M +vibrato/MS +vibrator/SM +vibratory +viburnum/SM +vicar/SM +vicarage/SM +vicarious/YP +vicariousness/M +vice/CMS +viced +vicegerent/SM +vicennial +viceregal +viceroy/MS +vichyssoise/M +vicing +vicinity/M +vicious/YP +viciousness/M +vicissitude/SM +victim/MS +victimisation/M +victimise/GDS +victimless +victor/MS +victorious/Y +victory/SM +victual/SM +victualled +victualling +vicuna/MS +videlicet +video/GSMD +videocassette/SM +videoconferencing +videodisc/MS +videophone/MS +videotape/DSMG +videotex +vie/DS +view/AMDRSZG +viewable +viewer/AM +viewership/M +viewfinder/SM +viewing/SM +viewpoint/MS +vigesimal +vigil/SM +vigilance/M +vigilant/Y +vigilante/SM +vigilantism/M +vigilantist/M +vignette/DSMG +vignettist/MS +vigorous/Y +vigour/M +vii +viii +viking/MS +vile/YTPR +vileness/M +vilification/M +vilify/DSNG +villa/SM +village/RSMZ +villager/M +villain/SM +villainous +villainy/SM +villein/SM +villeinage/M +villi +villus/M +vim/M +vinaigrette/M +vincible/I +vindicate/XDSGN +vindication/M +vindicator/MS +vindictive/PY +vindictiveness/M +vine/MS +vinegar/M +vinegary +vineyard/MS +vino/M +vinous +vintage/MS +vintner/MS +vinyl/SM +viol/MBS +viola/SM +violable/I +violate/GNDSX +violation/M +violator/SM +violence/M +violent/Y +violet/MS +violin/MS +violincello/S +violinist/SM +violist/MS +violoncellist/SM +violoncello/MS +viper/SM +viperous +virago/M +viragoes +viral +vireo/SM +virgin/MS +virginal/SM +virginity/M +virgule/MS +virile +virility/M +virologist/SM +virology/M +virtual/Y +virtualisation +virtue/SM +virtuosity/M +virtuoso/M +virtuous/YP +virtuousness/M +virulence/M +virulent/Y +virus/MS +visa/MDSG +visage/MS +viscera +visceral/Y +viscid +viscose/M +viscosity/M +viscount/SM +viscountcy/SM +viscountess/MS +viscous +viscus/M +vise/ACMGDS +visibility/IM +visible/I +visibly/I +vision/KGDSM +visionary/SM +visit's +visit/ASGD +visitant/MS +visitation/MS +visitor/MS +visor/SM +vista/SM +visual/SMY +visualisation/SM +visualise/DRSZG +visualiser/M +vita/M +vitae +vital/SY +vitalisation/AM +vitalise/CAGSD +vitality/M +vitals/M +vitamin/MS +vitiate/GNDS +vitiation/M +viticulture/M +viticulturist/MS +vitreous +vitrifaction/M +vitrification/M +vitrify/GNDS +vitrine/SM +vitriol/M +vitriolic +vitriolically +vittles/M +vituperate/GNVDS +vituperation/M +viva/MS +vivace +vivacious/PY +vivaciousness/M +vivacity/M +vivaria +vivarium/SM +vivid/RYTP +vividness/M +vivify/ADSG +viviparous +vivisect/DGS +vivisection/M +vivisectional +vivisectionist/SM +vixen/SM +vixenish/Y +viz +vizier/SM +vlf +vocab +vocable/MS +vocabulary/SM +vocal/SMY +vocalic +vocalisation/SM +vocalise/DSG +vocalist/SM +vocation/FIKASM +vocational/Y +vocative/MS +vociferate/DSGN +vociferation/M +vociferous/YP +vociferousness/M +vodka/SM +vogue/SM +voguish +voice/IDSMG +voiced/U +voiceless/PY +voicelessness/M +voicemail/SM +void/MDSGB +voila +voile/M +vol/S +volatile +volatilise/DSG +volatility/M +volcanic +volcanism +volcano/M +volcanoes +vole/MS +volition/M +volitional +volley/GSMD +volleyball/MS +volt/AMS +voltage/MS +voltaic +voltmeter/SM +volubility/M +voluble +volubly +volume/SM +volumetric +voluminous/YP +voluminousness/M +voluntarily/I +voluntarism/M +voluntary/SM +volunteer/SGMD +volunteerism/M +voluptuary/SM +voluptuous/PY +voluptuousness/M +volute/SM +vomit/SMDG +voodoo/GSMD +voodooism/M +voracious/PY +voraciousness/M +voracity/M +vortex/MS +votary/SM +vote's +vote/CGVDS +voter/SM +vouch/DRSZG +voucher/M +vouchsafe/DSG +vow/SGMD +vowel/SM +voyage/MZGDRS +voyager/M +voyageur/SM +voyeur/MS +voyeurism/M +voyeuristic +vulcanisation/M +vulcanise/GDS +vulgar/RYT +vulgarian/MS +vulgarisation/M +vulgarise/ZGDRS +vulgariser/M +vulgarism/MS +vulgarity/SM +vulnerabilities +vulnerability/IM +vulnerable/I +vulnerably/I +vulpine +vulture/SM +vulturous +vulva/M +vulvae +vuvuzela/MS +vying +w/DNXTGVJ +wabbit/S +wack/MRTS +wackiness/M +wacko/SM +wacky/RPT +wad/SZGMDR +wadded +wadding/M +waddle/DSMG +wade/MS +wader/M +waders/M +wadge/S +wadi/MS +wafer/SM +waffle/MZGDRS +waffler/M +waft/MDGS +wag/SZGMDR +wage/MS +waged/U +wager/ZGMDR +wagerer/M +wagged +waggery/SM +wagging +waggish/YP +waggishness/M +waggle/MGDS +wagon/ZSMR +wagoner/M +wagtail/SM +waif/MS +wail/MDRZGS +wailer/M +wailing/M +wain/MS +wainscot/SJMDG +wainscoting/M +wainwright/MS +waist/SM +waistband/MS +waistcoat/MS +waistline/MS +wait/MDRZGS +waiter/M +waiting/M +waitperson/MS +waitress/MS +waitstaff/M +waive/DRSZG +waiver/M +wake/MGJDS +wakeful/PY +wakefulness/M +waken/GSD +waldo/S +waldoes +wale/MGDS +walk/MDRZGS +walkabout/S +walkaway/MS +walker/M +walkies +walking/M +walkout/SM +walkover/MS +walkway/SM +wall/MDGS +wallaby/SM +wallah +wallahs +wallboard/M +wallet/MS +walleye/DSM +wallflower/MS +wallop/MDSJG +walloping/M +wallow/MDSG +wallpaper/SMDG +wally/S +walnut/MS +walrus/MS +waltz/ZGMDRS +waltzer/M +wampum/M +wan/GPDY +wand/MS +wander/DRSJZG +wanderer/M +wanderings/M +wanderlust/SM +wane/MS +wangle/MZGDRS +wangler/M +wank/DRZGS +wanna +wannabe/SM +wannabee/S +wanner +wanness/M +wannest +want/MDGS +wanted/U +wanton/MDYSPG +wantonness/M +wapiti/MS +war/SM +warble/MZGDRS +warbler/M +warbonnet/SM +ward/AMDGS +warden/MS +warder/MS +wardress/S +wardrobe/SM +wardroom/SM +ware/MS +warehouse/DSMG +warez +warfare/M +warfarin +warhead/MS +warhorse/SM +warily/U +wariness/UM +warlike +warlock/MS +warlord/MS +warm/PDRYHZTGS +warmblooded +warmer/M +warmhearted/P +warmheartedness/M +warmish +warmness/M +warmonger/SMG +warmongering/M +warmth/M +warn/JDGS +warning/M +warp/MDGS +warpaint +warpath/M +warpaths +warplane/MS +warrant/GMDS +warranted/U +warranty/DSMG +warred +warren/MS +warring +warrior/SM +warship/SM +wart/MS +warthog/SM +wartime/M +warty/TR +wary/UPRT +was +wasabi +wash/BJMDRSZG +washable/SM +washbasin/SM +washboard/SM +washbowl/SM +washcloth/M +washcloths +washed/U +washer/M +washerwoman/M +washerwomen +washing/M +washout/MS +washrag/MS +washroom/MS +washstand/SM +washtub/MS +washy/TR +wasn't +wasp/MS +waspish/YP +waspishness/M +wassail/SMDG +wast +wastage/M +waste/DRSMZG +wastebasket/MS +wasteful/PY +wastefulness/M +wasteland/SM +wastepaper/M +waster/M +wastewater +wastrel/SM +watch/BZGMDRS +watchable/U +watchband/MS +watchdog/SM +watcher/M +watchful/YP +watchfulness/M +watchmaker/MS +watchmaking/M +watchman/M +watchmen +watchstrap/S +watchtower/SM +watchword/MS +water/GSMD +waterbed/MS +waterbird/SM +waterboard/MDJSG +waterboarding/M +waterborne +watercolour/MS +watercourse/SM +watercraft/M +watercress/M +waterfall/SM +waterfowl/SM +waterfront/MS +waterhole/SM +wateriness/M +waterlily/SM +waterline/MS +waterlogged +watermark/MDGS +watermelon/SM +watermill/MS +waterproof/SMDG +waterproofing/M +waters/M +watershed/MS +waterside/MS +waterspout/SM +watertight +waterway/MS +waterwheel/SM +waterworks/M +watery/PTR +watt/MS +wattage/M +wattle/MGDS +wave/MZGDRS +waveband/S +waveform +wavefront +wavelength/M +wavelengths +wavelet/SM +wavelike +waver/ZGMDR +waverer/M +wavering/Y +waviness/M +wavy/PRT +wax/GMDNS +waxiness/M +waxwing/SM +waxwork/SM +waxy/RPT +way/SM +waybill/SM +wayfarer/MS +wayfaring/SM +waylaid +waylay/RSZG +waylayer/M +wayside/SM +wayward/PY +waywardness/M +wazoo/S +we +we'd +we'll +we're +we've +weak/PNRYXT +weaken/DRZG +weakener/M +weakfish/MS +weakish +weakling/SM +weakness/MS +weal/MHS +wealth/M +wealthiness/M +wealthy/TRP +wean/DGS +weapon/MS +weaponize/GDS +weaponless +weaponry/M +wear/MRBJSZG +wearable/U +wearer/M +wearied/U +wearily +weariness/M +wearisome/Y +weary/TGDRSP +weasel/MYS +weaselled +weaselling +weather/SMDG +weatherboard/SG +weathercock/MS +weathering/M +weatherise/DSG +weatherization/M +weatherman/M +weathermen +weatherperson/MS +weatherproof/GSD +weatherstrip/S +weatherstripped +weatherstripping/M +weave/DRSMZG +weaver/M +weaving/M +web/SM +webbed +webbing/M +webcam/MS +webcast/SMG +webfeet +webfoot/M +webinar/SM +webisode/MS +weblog/MS +webmaster/SM +webmistress/MS +website/SM +wed/AS +wedded/A +wedder +wedding/SM +wedge/DSMG +wedgie/MS +wedlock/M +wee/RSMT +weed/MDRSZG +weeder/M +weedkiller/S +weedless +weedy/TR +weeing +week/MYS +weekday/SM +weekend/SZGMDR +weekly/SM +weeknight/SM +ween/DSG +weenie/MTRS +weensy/RT +weeny +weep/MRJSZG +weeper/M +weepie +weepy/TRSM +weevil/MS +weft/MS +weigh's +weigh/AGD +weighbridge/S +weighs/A +weight/MDSJG +weighted/U +weightily +weightiness/M +weightless/YP +weightlessness/M +weightlifter/MS +weightlifting/M +weighty/PTR +weir/MS +weird/PTRY +weirdie/MS +weirdness/M +weirdo/MS +welcome/MGDS +weld/MDRBSZG +welder/M +welfare/M +welkin/M +well/MDPSG +wellhead/SM +wellie +wellington/MS +wellness/M +wellspring/MS +welly/S +welsh/ZGDRS +welsher/M +welt/MDRSZG +welter/GMD +welterweight/SM +wen/M +wench/MS +wend/DSG +went +wept +were +weren't +werewolf/M +werewolves +west/M +westbound +westerly/SM +western/SZMR +westerner/M +westernisation/M +westernise/GDS +westernmost +westie/SM +westward/S +wet/SMYP +wetback/SM +wetland/SM +wetness/M +wetter/SM +wettest +wetting +wetware/S +whack/SJZGMDR +whacker/M +whacko +whale/DRSMZG +whaleboat/MS +whalebone/M +whaler/M +whaling/M +wham/MS +whammed +whamming +whammy/SM +wharf/M +wharves +what/MS +whatchamacallit/MS +whatever +whatnot/M +whatshername +whatshisname +whatsit/S +whatsoever +wheal/SM +wheat/MN +wheatgerm +wheatmeal +whee +wheedle/DRSZG +wheedler/M +wheel/SMDRG +wheelbarrow/SM +wheelbase/SM +wheelchair/SM +wheelhouse/MS +wheelie/SM +wheelwright/MS +wheeze/DSMG +wheezily +wheeziness/M +wheezy/PRT +whelk/SMD +whelm/SDG +whelp/SMDG +when/MS +whence +whenever +whensoever +where/SM +whereabouts/M +whereas +whereat +whereby +wherefore/MS +wherein +whereof +whereon +wheresoever +whereto +whereupon +wherever +wherewith +wherewithal/M +wherry/SM +whet/S +whether +whetstone/SM +whetted +whetting +whew +whey/M +which +whichever +whiff/SMDG +whiffletree/MS +while/DSMG +whilom +whilst +whim/MS +whimper/MDGS +whimsical/Y +whimsicality/M +whimsy/SM +whine/DRSMZG +whiner/M +whinge/DRSZG +whingeing +whinny/GDSM +whiny/RT +whip/MS +whipcord/M +whiplash/MS +whipped +whipper/MS +whippersnapper/MS +whippet/MS +whipping/SM +whippletree/SM +whippoorwill/MS +whipsaw/MDGS +whirl/SMDG +whirligig/MS +whirlpool/MS +whirlwind/MS +whirlybird/SM +whirr/SMDG +whisk/SMDRZG +whisker/MD +whiskery +whisky/SM +whiskys +whisper/MDRSZG +whisperer/M +whist/M +whistle/MZGDRS +whistler/M +whit/MDNRSXTGJ +white/SPM +whitebait +whiteboard/S +whitecap/SM +whitefish/MS +whitehead/MS +whitelist/GDS +whiten/ZGDRJ +whitener/M +whiteness/M +whitening/M +whiteout/SM +whitetail/MS +whitewall/SM +whitewash/MDSG +whitewater/M +whitey/SM +whither +whiting/M +whitish +whittle/ZGDRS +whittler/M +whizkid/M +whizz/MDSG +whizzbang/MS +who'd +who'll +who're +who've +who/M +whoa +whodunit/MS +whoever +whole/SMP +wholefood/S +wholegrain +wholehearted/YP +wholeheartedness/M +wholemeal +wholeness/M +wholesale/MZGDRS +wholesaler/M +wholesome/UP +wholesomely +wholesomeness/UM +wholewheat +wholly +whom +whomever +whomsoever +whoop/SMDRZG +whoopee/S +whooper/M +whoosh/MDSG +whop/S +whopped +whopper/SM +whopping +whore/SMG +whorehouse/MS +whoreish +whorish +whorl/SMD +whose +whoso +whosoever +whup/S +whupped +whupping +why'd +why/M +whys +wick/MDRSZ +wicked/TPRY +wickedness/M +wicker/M +wickerwork/M +wicket/SM +wide/YTRP +widemouthed +widen/SDRZG +widener/M +wideness/M +widescreen/MS +widespread +widget/S +widow/SMDRZG +widower/M +widowhood/M +width/M +widths +wield/SDRZG +wielder/M +wiener/SM +wienie/SM +wife/MY +wifeless +wig/SM +wigeon/M +wigged +wigging +wiggle/DRSMZG +wiggler/M +wiggly/TR +wight/SM +wiglet/SM +wigwag/SM +wigwagged +wigwagging +wigwam/SM +wiki/MS +wild/MRYSTP +wildcard/MS +wildcat/MS +wildcatted +wildcatter/MS +wildcatting +wildebeest/MS +wilderness/MS +wildfire/MS +wildflower/SM +wildfowl/M +wildlife/M +wildness/M +wilds/M +wile/MGDS +wilful/PY +wilfulness/M +wiliness/M +will/MDS +willies/M +willing/UPY +willingness/UM +williwaw/MS +willow/SM +willowy +willpower/M +willy/S +wilt/MDSG +wily/RTP +wimp/MDSG +wimpish +wimple/DSMG +wimpy/RT +win/SGMD +wince/DSMG +winch/MDSG +wind's +wind/UASG +windbag/SM +windblown +windbreak/SZMR +windbreaker/M +windburn/MD +windcheater/S +windchill/M +winded +winder/SM +windfall/MS +windflower/MS +windily +windiness/M +winding's +windjammer/SM +windlass/MS +windless +windmill/MDGS +window/SMDG +windowless +windowpane/SM +windowsill/SM +windpipe/MS +windproof +windrow/SM +windscreen/SM +windshield/SM +windsock/MS +windstorm/MS +windsurf/ZGDRS +windsurfer/M +windsurfing/M +windswept +windup/SM +windward/M +windy/RTP +wine/MS +wineglass/MS +winegrower/MS +winemaker/MS +winery/SM +wing/MDRZG +wingding/MS +wingless +winglike +wingnut/SM +wingspan/MS +wingspread/SM +wingtip/SM +wink/MDRSZG +winker/M +winkle/DSMG +winnable/U +winner/SM +winning/MYS +winnow/ZGSDR +winnower/M +wino/MS +winsome/YTRP +winsomeness/M +winter/GSMD +wintergreen/M +winterise/GDS +wintertime/M +wintry/TR +winy/RT +wipe/MZGDRS +wiper/M +wire's +wire/AGDS +wired/S +wirehair/MS +wireless/MS +wiretap/MS +wiretapped +wiretapper/SM +wiretapping/M +wiriness/M +wiring/M +wiry/RTP +wisdom/M +wise/MYTGDRS +wiseacre/SM +wisecrack/MDSG +wiseguy/S +wish/MDRSZG +wishbone/SM +wisher/M +wishful/Y +wishlist's +wisp/MS +wispy/RT +wist +wisteria/SM +wistful/YP +wistfulness/M +wit/SM +witch/MDSG +witchcraft/M +witchery/M +witchetty +with +withal +withdraw/SG +withdrawal/MS +withdrawn +withdrew +withe/DRSMZG +wither/JGD +withering/Y +withers/M +withheld +withhold/SG +withholding/M +within/M +without +withstand/GS +withstood +witless/PY +witlessness/M +witness/MDSG +wits/M +witted +witter/SGD +witticism/SM +wittily +wittiness/M +witting/UY +witty/RPT +wive/GDS +wiz +wizard/SMY +wizardry/M +wizened +wk/Y +woad/M +wobbegong/MS +wobble/MGDS +wobbliness/M +wobbly/RTP +wodge/S +woe/SM +woebegone +woeful/YP +woefuller +woefullest +woefulness/M +wog/S +wok/SMN +woke +wold/MS +wolf/MDSG +wolfhound/SM +wolfish +wolfram/M +wolverine/SM +wolves +woman/M +womanhood/M +womanise/DRSZG +womaniser/M +womanish +womankind/M +womanlike/M +womanliness/M +womanly/RPT +womb/MS +wombat/MS +womble/S +women/M +womenfolk/SM +womenfolks/M +won't +won/M +wonder/MDGLS +wonderful/YP +wonderfulness/M +wondering/Y +wonderland/MS +wonderment/M +wondrous/Y +wonk/MS +wonky/TR +wont/MD +wonted/U +woo/SZGDR +wood/MDNSG +woodbine/M +woodblock/MS +woodcarver/MS +woodcarving/SM +woodchuck/MS +woodcock/SM +woodcraft/M +woodcut/SM +woodcutter/SM +woodcutting/M +wooden/RYTP +woodenness/M +woodiness/M +woodland/SM +woodlice +woodlot/SM +woodlouse +woodman/M +woodmen +woodpecker/MS +woodpile/SM +woods/M +woodshed/SM +woodsiness/M +woodsman/M +woodsmen +woodsy/RTP +woodwind/MS +woodwork/MRZG +woodworker/M +woodworking/M +woodworm/S +woody/TPRSM +wooer/M +woof/MDRSZG +woofer/M +wool/M +woolgathering/M +wooliness +woollen/SM +woolliness/M +woolly/RSMPT +woomera/SM +woop +woozily +wooziness/M +woozy/TRP +wop/S! +word's +word/ADSG +wordage/M +wordbook/SM +wordily +wordiness/M +wording/SM +wordless/Y +wordplay/M +wordsmith +wordsmiths +wordy/TPR +wore +work's +work/ADJSG +workable/U +workaday +workaholic/SM +workaround/S +workbasket/S +workbench/MS +workbook/MS +workday/SM +worker/MS +workfare/M +workflow/MS +workforce/M +workhorse/SM +workhouse/SM +working's +workingman/M +workingmen +workings/M +workingwoman/M +workingwomen +workload/MS +workman/M +workmanlike +workmanship/M +workmate/S +workmen +workout/SM +workplace/MS +workroom/MS +works/M +worksheet/MS +workshop/MS +workshy +worksite/S +workspace +workstation/MS +worktable/MS +worktop/S +workup/MS +workweek/SM +world/SM +worldlier +worldliness/UM +worldly/UTP +worldview/SM +worldwide +worm/MDSG +wormhole/MS +wormwood/M +wormy/TR +worn/U +worried/Y +worrier/M +worriment/M +worrisome +worry/ZGDRSMJ +worrying/Y +worrywart/SM +worse/M +worsen/DSG +worship/SM +worshipful +worshipped +worshipper/MS +worshipping +worst/SGMD +worsted/M +wort/M +worth/M +worthies +worthily/U +worthiness/UM +worthless/PY +worthlessness/M +worthwhile +worthy's +worthy/UPRT +wot +wotcha +would've +would/S +wouldn't +wouldst +wound/SGMDR +wove/A +woven/AU +wow/SGMD +wowser/MS +wowserism +wowseristic +wowsery +wpm +wrack/GSMD +wraith/M +wraiths +wrangle/DRSMZGJ +wrangler/M +wrap's +wrap/US +wraparound/SM +wrapped/U +wrapper/SM +wrapping/MS +wrasse/MS +wrath/M +wrathful/Y +wreak/SGD +wreath/MDSG +wreathe +wreaths +wreck/SZGMDR +wreckage/M +wrecker/M +wren/MS +wrench/MDSG +wrest/SGMD +wrestle/MZGDRS +wrestler/M +wrestling/M +wretch/MS +wretched/TPRY +wretchedness/M +wriggle/MZGDRS +wriggler/M +wriggly +wright/MS +wring/SZGMR +wringer/M +wrinkle/MGDS +wrinkled/U +wrinkly/TRSM +wrist/SM +wristband/MS +wristwatch/MS +writ/MRBJSZG +write/S +writer/M +writhe/MGDS +writing/M +written/AU +wrong/STGMPDRY +wrongdoer/SM +wrongdoing/SM +wrongful/PY +wrongfulness/M +wrongheaded/YP +wrongheadedness/M +wrongness/M +wrote/A +wroth +wrought +wrung +wry/Y +wryer +wryest +wryness/M +wt +wunderkind/S +wurst/SM +wuss/MS +wussy/RSMT +x +xci +xcii +xciv +xcix +xcvi +xcvii +xenon/M +xenophobe/MS +xenophobia/M +xenophobic +xerographic +xerography/M +xerox/MDSG +xi/SM +xii +xiii +xiv +xix +xor +xref/S +xterm/M +xv +xvi +xvii +xviii +xx +xxi +xxii +xxiii +xxiv +xxix +xxv +xxvi +xxvii +xxviii +xxx +xxxi +xxxii +xxxiii +xxxiv +xxxix +xxxv +xxxvi +xxxvii +xxxviii +xylem/M +xylene +xylophone/SM +xylophonist/MS +y'all +y/F +ya +yabber/SGMD +yabbie/M +yabby/DSMG +yacht/SMDG +yachting/M +yachtsman/M +yachtsmen +yachtswoman/M +yachtswomen +yahoo/SM +yak/SM +yakka/M +yakked +yakking +yam/SM +yammer/SZGMDR +yammerer/M +yang/M +yank/MDSG +yap/SM +yapped +yapping +yard/MS +yardage/MS +yardarm/MS +yardman/M +yardmaster/MS +yardmen +yardstick/MS +yarmulke/SM +yarn/MS +yarrow/M +yashmak/S +yaw/SGMD +yawl/MS +yawn/MDRSZG +yawner/M +yaws/M +yd +ye/RST +yea/SM +yeah/M +yeahs +year/MYS +yearbook/MS +yearling/MS +yearlong +yearly/SM +yearn/GSJD +yearning/M +yeast/SM +yeasty/RT +yegg/MS +yell/MDSG +yellow/MDRTGPS +yellowhammer/S +yellowish +yellowness/M +yellowy +yelp/MDSG +yen/SM +yeoman/M +yeomanry/M +yeomen +yep/SM +yes/MS +yeshiva/SM +yessed +yessing +yesterday/MS +yesteryear/M +yet +yeti/MS +yew/SM +yid/S +yield/JSGMD +yikes +yin/M +yip/SM +yipe +yipped +yippee +yipping +yo +yob/S +yobbo/S +yodel/SM +yodelled +yodeller/MS +yodelling +yoga/M +yoghurt/MS +yogi/MS +yogic +yoke's +yoke/UGDS +yokel/SM +yolk/MDS +yon +yonder +yonks +yore/M +you'd +you'll +you're +you've +you/SMH +young/TMR +youngish +youngster/MS +your/S +yourself +yourselves +youse +youth/M +youthful/YP +youthfulness/M +youths +yow +yowl/MDSG +yr/S +ytterbium/M +yttrium/M +yuan/M +yucca/SM +yuck +yucky/TR +yuk/SM +yukked +yukking +yukky +yule/M +yuletide/M +yum +yummy/TR +yup/SM +yuppie/MS +yuppify/GDS +yurt/MS +z/DNXTGJ +zac/SM +zack/MS +zaniness/M +zany/RSMPT +zap/SM +zapped +zapper/MS +zapping +zappy +zeal/M +zealot/MS +zealotry/M +zealous/YP +zealousness/M +zebra/SM +zebu/MS +zed/SM +zeitgeist/SM +zenith/M +zeniths +zenned +zeolite/S +zephyr/MS +zeppelin/MS +zero/MDHSG +zeroes +zest/MS +zestful/YP +zestfulness/M +zesty/RT +zeta/MS +zigzag/SM +zigzagged +zigzagging +zilch/M +zillion/MS +zinc/MS +zincked +zincking +zine/S +zinfandel/M +zing/MDRZG +zinger/M +zingy/RT +zinnia/MS +zip's +zip/US +zipped/U +zipper/MDGS +zipping/U +zippy/TR +zircon/MS +zirconium/M +zit/SM +zither/MS +zloty/SM +zlotys +zodiac/MS +zodiacal +zombie/MS +zonal/Y +zone's +zone/AGDS +zoning/M +zonked +zoo/SM +zookeeper/SM +zoological/Y +zoologist/SM +zoology/M +zoom/MDSG +zoophyte/SM +zoophytic +zooplankton +zorch +zoster +zounds +zucchini/MS +zwieback/M +zydeco/M +zygote/SM +zygotic +zymurgy/M diff --git a/Dictionaries/en_GB.aff b/Dictionaries/en_GB.aff new file mode 100644 index 00000000..9a084c73 --- /dev/null +++ b/Dictionaries/en_GB.aff @@ -0,0 +1,1729 @@ +# Affix file for British English Hunspell dictionary. +# Furthermore, suitable as a basis for Commonwealth and European English. +# Built from scratch for MySpell. Released under LGPL. +# +# Sources used to verify the spelling of the words included in the dictionary by Marco: +# 1) Oxford Dictionaries; +# 2) Collins Dictionary; +# 3) Cambridge Dictionary; +# 4) Merriam-Webster Dictionary (used with caution ⚠); +# 5) Wiktionary (used with caution ⚠); +# 6) Wikipedia (used with caution ⚠); +# 7) Physical dictionaries. +# +# Main difficulties developing this dictionary: +# 1) Proper names; +# 2) Possessive forms; +# 3) Plurals. +# +# David Bartlett, Andrew Brown, Marco A.G.Pinto. +# +# +# Dictionary Information: +# English variant: British +# Version: 4.0.1, 2025-04-01 +# Encoding: UTF-8-BOM Unix (LF) +# -ise/-ize: -ise +# Comments: For specific -ise/-ize variants, some verbs, and words may be missing or incorrectly included. +# +# Maintainer: Marco A.G.Pinto +# Homepage: https://proofingtoolgui.org +# GitHub: https://github.com/marcoagpinto/aoo-mozilla-en-dict +# E-mail: marcoagpinto@sapo.pt +# + +SET UTF-8 + +TRY esiaénrtolcdugmfphbyvkw-'.zqjxSNRTLCGDMFPHBEAUYOIVKWóöâôZQJXÅçèîêàïüäñ + +ICONV 6 +ICONV ’ ' +ICONV ffi ffi +ICONV ffl ffl +ICONV ff ff +ICONV fi fi +ICONV fl fl + +OCONV 1 +OCONV ' ’ + +NOSUGGEST ! + +# ordinal numbers +COMPOUNDMIN 1 +# only in compounds: 1th, 2th, 3th +ONLYINCOMPOUND _ +# 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 #*0{ +COMPOUNDRULE #*@} + +WORDCHARS 0123456789’ + +REP 37 +REP ce se +REP ce ts +REP ch k +REP ck qu +REP ck que +REP dg j +REP eg e.g. +REP eness ity +REP f gh +REP f ph +REP f ugh +REP ff ugh +REP gh f +REP ght t +REP ie i.e. +REP ie y +REP j dg +REP k ch +REP l ll +REP leness ility +REP ll l +REP ness ity +REP ness ivity +REP og ogue +REP ok OK +REP ph f +REP se ce +REP si ci +REP t ght +REP ter tor +REP tor ter +REP ts ce +REP ua ue +REP uf ough +REP uff ough +REP w ugh +REP y ie + +PFX A Y 2 +PFX A 0 re [^e] +PFX A 0 re- e +PFX a Y 1 +PFX a 0 mis . +PFX I Y 4 +PFX I 0 il l +PFX I 0 im [bmp] +PFX I 0 in [^blmpr] +PFX I 0 ir r +PFX c Y 1 +PFX c 0 over . +PFX U Y 1 +PFX U 0 un . +PFX C Y 2 +PFX C 0 de [^e] +PFX C 0 de- e +PFX E Y 1 +PFX E 0 dis . +PFX F Y 5 +PFX F 0 co [aeiouh] +PFX F 0 col l +PFX F 0 com [bmp] +PFX F 0 con [^abehilmopru]. +PFX F 0 cor r +PFX K Y 1 +PFX K 0 pre . +PFX e Y 1 +PFX e 0 out . +PFX f Y 2 +PFX f 0 under [^r] +PFX f 0 under- r +PFX ^ Y 1 +PFX ^ 0 non- . +PFX 4 Y 1 +PFX 4 0 trans . + +SFX V Y 15 +SFX V 0 ative [^abdeilosty] +SFX V 0 ative [^aeiou]l +SFX V e ative [^bcdkmst]e +SFX V ke cative ke +SFX V y icative y +SFX V 0 ive [st] +SFX V e ive [st]e +SFX V 0 lative [aeiou]l +SFX V b ptive b +SFX V be ptive be +SFX V e ptive me +SFX V d sive d +SFX V de sive de +SFX V 0 tive [aio] +SFX V e tive ce +SFX v Y 15 +SFX v 0 atively [^abdeilosty] +SFX v 0 atively [^aeiou]l +SFX v e atively [^bcdkmst]e +SFX v ke catively ke +SFX v y icatively y +SFX v 0 ively [st] +SFX v e ively [st]e +SFX v 0 latively [aeiou]l +SFX v b ptively b +SFX v be ptively be +SFX v e ptively me +SFX v d sively d +SFX v de sively de +SFX v 0 tively [aio] +SFX v e tively ce +SFX u Y 15 +SFX u 0 ativeness [^abdeilosty] +SFX u 0 ativeness [^aeiou]l +SFX u e ativeness [^bcdkmst]e +SFX u ke cativeness ke +SFX u y icativeness y +SFX u 0 iveness [st] +SFX u e iveness [st]e +SFX u 0 lativeness [aeiou]l +SFX u b ptiveness b +SFX u be ptiveness be +SFX u e ptiveness me +SFX u d siveness d +SFX u de siveness de +SFX u 0 tiveness [aio] +SFX u e tiveness ce +SFX N Y 68 +SFX N 0 ation [^aeiou]l +SFX N 0 ation [^aeiou]m +SFX N e ation [^bcdkmst]e +SFX N 0 ation [^bdelmrstxy] +SFX N e ation [^crbv][mi][^bcdkmztrlvgun]e +SFX N 0 ation [^e]r +SFX N e ation [^emnx][rc]ise +SFX N 0 ation [^i]t +SFX N e ation [^uriolsna][^bcdkmztrlvgu]e +SFX N e ation [btv][e][rc]ise +SFX N e ation [iou]te +SFX N 0 ation's [^aeiou]l +SFX N 0 ation's [^aeiou]m +SFX N e ation's [^bcdkmst]e +SFX N 0 ation's [^bdelmrstxy] +SFX N e ation's [^crbv][mi][^bcdkmztrlvgun]e +SFX N 0 ation's [^e]r +SFX N e ation's [^emnx][rc]ise +SFX N 0 ation's [^i]t +SFX N e ation's [^uriolsna][^bcdkmztrlvgu]e +SFX N e ation's [btv][e][rc]ise +SFX N e ation's [iou]te +SFX N ke cation ke +SFX N ke cation's ke +SFX N y ication y +SFX N y ication's y +SFX N e ion [^i]cise +SFX N e ion [^iou]te +SFX N 0 ion [^m]it +SFX N e ion [rsn]se +SFX N 0 ion [sx] +SFX N e ion [tfl]use +SFX N e ion [v]ise +SFX N e ion ulse +SFX N e ion's [^i]cise +SFX N e ion's [^iou]te +SFX N 0 ion's [^m]it +SFX N e ion's [rsn]se +SFX N 0 ion's [sx] +SFX N e ion's [tfl]use +SFX N e ion's [v]ise +SFX N e ion's ulse +SFX N e ition ose +SFX N e ition's ose +SFX N 0 lation [aiou]l +SFX N 0 lation's [aiou]l +SFX N e mation [^u]me +SFX N 0 mation [aeiou]m +SFX N e mation's [^u]me +SFX N 0 mation's [aeiou]m +SFX N b ption b +SFX N be ption be +SFX N e ption ume +SFX N b ption's b +SFX N be ption's be +SFX N e ption's ume +SFX N er ration er +SFX N er ration's er +SFX N d sion d +SFX N de sion de +SFX N d sion's d +SFX N de sion's de +SFX N t ssion mit +SFX N t ssion's mit +SFX N e tion ce +SFX N e tion's ce +SFX N el ulsion el +SFX N el ulsion's el +SFX n Y 42 +SFX n 0 ation [^aeiou]l +SFX n 0 ation [^aelry] +SFX n e ation [^ckt]e +SFX n 0 ation [^e]r +SFX n e ation [iou]te +SFX n y ation py +SFX n 0 ation's [^aeiou]l +SFX n 0 ation's [^aelry] +SFX n e ation's [^ckt]e +SFX n 0 ation's [^e]r +SFX n e ation's [iou]te +SFX n y ation's py +SFX n 0 ations [^aeiou]l +SFX n 0 ations [^aelry] +SFX n e ations [^ckt]e +SFX n 0 ations [^e]r +SFX n e ations [iou]te +SFX n y ations py +SFX n ke cation ke +SFX n ke cation's ke +SFX n ke cations ke +SFX n y ication [^p]y +SFX n y ication's [^p]y +SFX n y ications [^p]y +SFX n e ion [^iou]te +SFX n e ion's [^iou]te +SFX n e ions [^iou]te +SFX n 0 lation [aiou]l +SFX n 0 lation's [aiou]l +SFX n 0 lations [aiou]l +SFX n er ration er +SFX n er ration's er +SFX n er rations er +SFX n 0 tion a +SFX n e tion ce +SFX n 0 tion's a +SFX n e tion's ce +SFX n 0 tions a +SFX n e tions ce +SFX n el ulsion el +SFX n el ulsion's el +SFX n el ulsions el +SFX X Y 26 +SFX X 0 ations [^aeiou]l +SFX X 0 ations [^aeiou]m +SFX X e ations [^bcdkmst]e +SFX X 0 ations [^bdelmrstxy] +SFX X 0 ations [^e]r +SFX X 0 ations [^i]t +SFX X e ations [iou]te +SFX X ke cations ke +SFX X y ications y +SFX X e ions [^iou]te +SFX X 0 ions [^m]it +SFX X e ions [^o]se +SFX X 0 ions [sx] +SFX X e itions ose +SFX X 0 lations [aiou]l +SFX X e mations [^u]me +SFX X 0 mations [aeiou]m +SFX X b ptions b +SFX X be ptions be +SFX X e ptions ume +SFX X er rations er +SFX X d sions d +SFX X de sions de +SFX X t ssions mit +SFX X e tions ce +SFX X el ulsions el +SFX x Y 40 +SFX x 0 ational [^aeiou]l +SFX x e ational [^bcdkst]e +SFX x 0 ational [^bdelrstxy] +SFX x 0 ational [^e]r +SFX x 0 ational nt +SFX x 0 ationally [^aeiou]l +SFX x e ationally [^bcdkst]e +SFX x 0 ationally [^bdelrstxy] +SFX x 0 ationally [^e]r +SFX x 0 ationally nt +SFX x ke cational ke +SFX x ke cationally ke +SFX x y icational y +SFX x y icationally y +SFX x 0 ional [^n]t +SFX x e ional [^o]se +SFX x 0 ional [sx] +SFX x e ional te +SFX x 0 ionally [^n]t +SFX x e ionally [^o]se +SFX x 0 ionally [sx] +SFX x e ionally te +SFX x e itional ose +SFX x e itionally ose +SFX x 0 lational [aiou]l +SFX x 0 lationally [aiou]l +SFX x b ptional b +SFX x be ptional be +SFX x b ptionally b +SFX x be ptionally be +SFX x er rational er +SFX x er rationally er +SFX x d sional d +SFX x de sional de +SFX x d sionally d +SFX x de sionally de +SFX x e tional ce +SFX x e tionally ce +SFX x el ulsional el +SFX x el ulsionally el +SFX H N 13 +SFX H 0 fold . +SFX H ve fth ve +SFX H ve fths ve +SFX H 0 h t +SFX H 0 hs t +SFX H y ieth y +SFX H y ieths y +SFX H ree ird ree +SFX H ree irds ree +SFX H 0 th [^ety] +SFX H e th [^ev]e +SFX H 0 ths [^ety] +SFX H e ths [^ev]e +SFX Y Y 9 +SFX Y 0 ally ic +SFX Y y ily [^aeiou]y +SFX Y 0 ly [^cely] +SFX Y 0 ly [^i]c +SFX Y 0 ly [^l]e +SFX Y 0 ly [aeiou][ly] +SFX Y 0 ly [aeiou]le +SFX Y 0 y [^aeiou]l +SFX Y e y [^aeiou]le +SFX G Y 24 +SFX G 0 bing [^aeio][aeiou]b +SFX G 0 ding [^aeio][aeiou]d +SFX G 0 fing [^aeio][aeiou]f +SFX G 0 ging [^aeio][aeiou]g +SFX G 0 ing [^aeiou][bcdfgklmnprstvz] +SFX G 0 ing [^ebcdfgklmnprstvz] +SFX G e ing [^eioy]e +SFX G 0 ing [aeio][aeiou][bcdfgkmnprstvz] +SFX G 0 ing [aeio][eiou]l +SFX G 0 ing [aeo]al +SFX G 0 ing [eoy]e +SFX G 0 king [^aeio][aeiou]c +SFX G 0 king [^aeio][aeiou]k +SFX G 0 ling [^aeio][eiou]l +SFX G 0 ling [^aeo]al +SFX G 0 ming [^aeio][aeiou]m +SFX G 0 ning [^aeio][aeiou]n +SFX G 0 ping [^aeio][aeiou]p +SFX G 0 ring [^aeio][aeiou]r +SFX G 0 sing [^aeio][aeiou]s +SFX G 0 ting [^aeio][aeiou]t +SFX G 0 ving [^aeio][aeiou]v +SFX G ie ying ie +SFX G 0 zing [^aeio][aeiou]z +SFX J Y 50 +SFX J 0 bing's [^aeio][aeiou]b +SFX J 0 bings [^aeio][aeiou]b +SFX J 0 ding's [^aeio][aeiou]d +SFX J 0 dings [^aeio][aeiou]d +SFX J 0 fing's [^aeio][aeiou]f +SFX J 0 fings [^aeio][aeiou]f +SFX J 0 ging's [^aeio][aeiou]g +SFX J 0 gings [^aeio][aeiou]g +SFX J 0 ing's [^aeio]e[nrt] +SFX J 0 ing's [^aeiou][bcdfgklmnprstvz] +SFX J 0 ing's [^ebcdfgklmnprstvz] +SFX J e ing's [^eioy]e +SFX J 0 ing's [aeio][aeiou][bcdfgkmnprstvz] +SFX J 0 ing's [aeio][eiou]l +SFX J 0 ing's [aeo]al +SFX J 0 ing's [eoy]e +SFX J 0 ings [^aeio]e[nrt] +SFX J 0 ings [^aeiou][bcdfgklmnprstvz] +SFX J 0 ings [^ebcdfgklmnprstvz] +SFX J e ings [^eioy]e +SFX J 0 ings [aeio][aeiou][bcdfgkmnprstvz] +SFX J 0 ings [aeio][eiou]l +SFX J 0 ings [aeo]al +SFX J 0 ings [eoy]e +SFX J 0 king's [^aeio][aeiou]c +SFX J 0 king's [^aeio][aeiou]k +SFX J 0 kings [^aeio][aeiou]c +SFX J 0 kings [^aeio][aeiou]k +SFX J 0 ling's [^aeio][eiou]l +SFX J 0 ling's [^aeo]al +SFX J 0 lings [^aeio][eiou]l +SFX J 0 lings [^aeo]al +SFX J 0 ming's [^aeio][aeiou]m +SFX J 0 mings [^aeio][aeiou]m +SFX J 0 ning's [^aeio][aiou]n +SFX J 0 nings [^aeio][aiou]n +SFX J 0 ping's [^aeio][aeiou]p +SFX J 0 pings [^aeio][aeiou]p +SFX J 0 ring's [^aeio][aiou]r +SFX J 0 rings [^aeio][aiou]r +SFX J 0 sing's [^aeio][aeiou]s +SFX J 0 sings [^aeio][aeiou]s +SFX J 0 ting's [^aeio][aiou]t +SFX J 0 tings [^aeio][aiou]t +SFX J 0 ving's [^aeio][aeiou]v +SFX J 0 vings [^aeio][aeiou]v +SFX J ie ying's ie +SFX J ie yings ie +SFX J 0 zing's [^aeio][aeiou]z +SFX J 0 zings [^aeio][aeiou]z +SFX k Y 8 +SFX k 0 ingly [^aeiou][cl] +SFX k 0 ingly [^ecl] +SFX k e ingly [^eioy]e +SFX k 0 ingly [aeio][aeiou][cl] +SFX k 0 ingly [eoy]e +SFX k 0 kingly [^aeio][aeiou]c +SFX k 0 lingly [^aeio][aeiou]l +SFX k ie yingly ie +SFX D Y 25 +SFX D 0 bed [^aeio][aeiou]b +SFX D 0 d [^e]e +SFX D e d ee +SFX D 0 ded [^aeio][aeiou]d +SFX D 0 ed [^aeiou][bcdfgklmnprstvz] +SFX D 0 ed [^ebcdfgklmnprstvyz] +SFX D 0 ed [aeio][aeiou][bcdfgkmnprstvz] +SFX D 0 ed [aeio][eiou]l +SFX D 0 ed [aeiou]y +SFX D 0 ed [aeo]al +SFX D 0 fed [^aeio][aeiou]f +SFX D 0 ged [^aeio][aeiou]g +SFX D y ied [^aeiou]y +SFX D 0 ked [^aeio][aeiou]c +SFX D 0 ked [^aeio][aeiou]k +SFX D 0 led [^aeio][eiou]l +SFX D 0 led [^aeo]al +SFX D 0 med [^aeio][aeiou]m +SFX D 0 ned [^aeio][aeiou]n +SFX D 0 ped [^aeio][aeiou]p +SFX D 0 red [^aeio][aeiou]r +SFX D 0 sed [^aeio][aeiou]s +SFX D 0 ted [^aeio][aeiou]t +SFX D 0 ved [^aeio][aeiou]v +SFX D 0 zed [^aeio][aeiou]z +SFX d Y 16 +SFX d 0 d e +SFX d 0 ed [^aeiou][cl] +SFX d 0 ed [^ecly] +SFX d 0 ed [aeio][aeiou][cl] +SFX d 0 ed [aeiou]y +SFX d y ied [^aeiou]y +SFX d 0 ing [^aeiou][cl] +SFX d 0 ing [^ecl] +SFX d e ing [^eioy]e +SFX d 0 ing [aeio][aeiou][cl] +SFX d 0 ing [eoy]e +SFX d 0 ked [^aeio][aeiou]c +SFX d 0 king [^aeio][aeiou]c +SFX d 0 led [^aeio][aeiou]l +SFX d 0 ling [^aeio][aeiou]l +SFX d ie ying ie +SFX h Y 22 +SFX h 0 bedly [^aeio][aeiou]b +SFX h 0 dedly [^aeio][aeiou]d +SFX h 0 dly e +SFX h 0 edly [^aeio]e[nrt] +SFX h 0 edly [^aeiou][bcdfgklmnprstvz] +SFX h 0 edly [^ebcdfgklmnprstvyz] +SFX h 0 edly [aeio][aeiou][bcdfgklmnprstvz] +SFX h 0 edly [aeiou]y +SFX h 0 fedly [^aeio][aeiou]f +SFX h 0 gedly [^aeio][aeiou]g +SFX h y iedly [^aeiou]y +SFX h 0 kedly [^aeio][aeiou]c +SFX h 0 kedly [^aeio][aeiou]k +SFX h 0 ledly [^aeio][aeiou]l +SFX h 0 medly [^aeio][aeiou]m +SFX h 0 nedly [^aeio][aiou]n +SFX h 0 pedly [^aeio][aeiou]p +SFX h 0 redly [^aeio][aiou]r +SFX h 0 sedly [^aeio][aeiou]s +SFX h 0 tedly [^aeio][aiou]t +SFX h 0 vedly [^aeio][aeiou]v +SFX h 0 zedly [^aeio][aeiou]z +SFX i Y 66 +SFX i 0 bedness [^aeio][aeiou]b +SFX i 0 bedness's [^aeio][aeiou]b +SFX i 0 bednesses [^aeio][aeiou]b +SFX i 0 dedness [^aeio][aeiou]d +SFX i 0 dedness's [^aeio][aeiou]d +SFX i 0 dednesses [^aeio][aeiou]d +SFX i 0 dness e +SFX i 0 dness's e +SFX i 0 dnesses e +SFX i 0 edness [^aeio]e[nrt] +SFX i 0 edness [^aeiou][bcdfgklmnprstvz] +SFX i 0 edness [^ebcdfgklmnprstvyz] +SFX i 0 edness [aeio][aeiou][bcdfgklmnprstvz] +SFX i 0 edness [aeiou]y +SFX i 0 edness's [^aeio]e[nrt] +SFX i 0 edness's [^aeiou][bcdfgklmnprstvz] +SFX i 0 edness's [^ebcdfgklmnprstvyz] +SFX i 0 edness's [aeio][aeiou][bcdfgklmnprstvz] +SFX i 0 edness's [aeiou]y +SFX i 0 ednesses [^aeio]e[nrt] +SFX i 0 ednesses [^aeiou][bcdfgklmnprstvz] +SFX i 0 ednesses [^ebcdfgklmnprstvyz] +SFX i 0 ednesses [aeio][aeiou][bcdfgklmnprstvz] +SFX i 0 ednesses [aeiou]y +SFX i 0 fedness [^aeio][aeiou]f +SFX i 0 fedness's [^aeio][aeiou]f +SFX i 0 fednesses [^aeio][aeiou]f +SFX i 0 gedness [^aeio][aeiou]g +SFX i 0 gedness's [^aeio][aeiou]g +SFX i 0 gednesses [^aeio][aeiou]g +SFX i y iedness [^aeiou]y +SFX i y iedness's [^aeiou]y +SFX i y iednesses [^aeiou]y +SFX i 0 kedness [^aeio][aeiou]c +SFX i 0 kedness [^aeio][aeiou]k +SFX i 0 kedness's [^aeio][aeiou]c +SFX i 0 kedness's [^aeio][aeiou]k +SFX i 0 kednesses [^aeio][aeiou]c +SFX i 0 kednesses [^aeio][aeiou]k +SFX i 0 ledness [^aeio][aeiou]l +SFX i 0 ledness's [^aeio][aeiou]l +SFX i 0 lednesses [^aeio][aeiou]l +SFX i 0 medness [^aeio][aeiou]m +SFX i 0 medness's [^aeio][aeiou]m +SFX i 0 mednesses [^aeio][aeiou]m +SFX i 0 nedness [^aeio][aiou]n +SFX i 0 nedness's [^aeio][aiou]n +SFX i 0 nednesses [^aeio][aiou]n +SFX i 0 pedness [^aeio][aeiou]p +SFX i 0 pedness's [^aeio][aeiou]p +SFX i 0 pednesses [^aeio][aeiou]p +SFX i 0 redness [^aeio][aiou]r +SFX i 0 redness's [^aeio][aiou]r +SFX i 0 rednesses [^aeio][aiou]r +SFX i 0 sedness [^aeio][aeiou]s +SFX i 0 sedness's [^aeio][aeiou]s +SFX i 0 sednesses [^aeio][aeiou]s +SFX i 0 tedness [^aeio][aiou]t +SFX i 0 tedness's [^aeio][aiou]t +SFX i 0 tednesses [^aeio][aiou]t +SFX i 0 vedness [^aeio][aeiou]v +SFX i 0 vedness's [^aeio][aeiou]v +SFX i 0 vednesses [^aeio][aeiou]v +SFX i 0 zedness [^aeio][aeiou]z +SFX i 0 zedness's [^aeio][aeiou]z +SFX i 0 zednesses [^aeio][aeiou]z +SFX T Y 42 +SFX T 0 ber [^aeio][aeiou]b +SFX T 0 best [^aeio][aeiou]b +SFX T 0 der [^aeio][aeiou]d +SFX T 0 dest [^aeio][aeiou]d +SFX T 0 er [^aeiou][bcdfgklmnprstvz] +SFX T 0 er [^ebcdfgklmnprstvyz] +SFX T 0 er [aeio][aeiou][bcdfgklmnprstvz] +SFX T 0 er [aeiou]y +SFX T 0 est [^aeiou][bcdfgklmnprstvz] +SFX T 0 est [^ebcdfgklmnprstvyz] +SFX T 0 est [aeio][aeiou][bcdfgklmnprstvz] +SFX T 0 est [aeiou]y +SFX T 0 fer [^aeio][aeiou]f +SFX T 0 fest [^aeio][aeiou]f +SFX T 0 ger [^aeio][aeiou]g +SFX T 0 gest [^aeio][aeiou]g +SFX T y ier [^aeiou]y +SFX T y iest [^aeiou]y +SFX T 0 ker [^aeio][aeiou]c +SFX T 0 ker [^aeio][aeiou]k +SFX T 0 kest [^aeio][aeiou]c +SFX T 0 kest [^aeio][aeiou]k +SFX T 0 ler [^aeio][aeiou]l +SFX T 0 lest [^aeio][aeiou]l +SFX T 0 mer [^aeio][aeiou]m +SFX T 0 mest [^aeio][aeiou]m +SFX T 0 ner [^aeio][aeiou]n +SFX T 0 nest [^aeio][aeiou]n +SFX T 0 per [^aeio][aeiou]p +SFX T 0 pest [^aeio][aeiou]p +SFX T 0 r e +SFX T 0 rer [^aeio][aeiou]r +SFX T 0 rest [^aeio][aeiou]r +SFX T 0 ser [^aeio][aeiou]s +SFX T 0 sest [^aeio][aeiou]s +SFX T 0 st e +SFX T 0 ter [^aeio][aeiou]t +SFX T 0 test [^aeio][aeiou]t +SFX T 0 ver [^aeio][aeiou]v +SFX T 0 vest [^aeio][aeiou]v +SFX T 0 zer [^aeio][aeiou]z +SFX T 0 zest [^aeio][aeiou]z +SFX R Y 72 +SFX R 0 ber [^aeio][aeiou]b +SFX R 0 ber's [^aeio][aeiou]b +SFX R 0 bers [^aeio][aeiou]b +SFX R 0 der [^aeio][aeiou]d +SFX R 0 der's [^aeio][aeiou]d +SFX R 0 ders [^aeio][aeiou]d +SFX R 0 er [^aeiou][bcdfgklmnprstvz] +SFX R 0 er [^ebcdfgklmnprstvyz] +SFX R 0 er [aeio][aeiou][bcdfgkmnprstvz] +SFX R 0 er [aeio][eiou]l +SFX R 0 er [aeiou]y +SFX R 0 er [aeo]al +SFX R 0 er's [^aeiou][bcdfgklmnprstvz] +SFX R 0 er's [^ebcdfgklmnprstvyz] +SFX R 0 er's [aeio][aeiou][bcdfgkmnprstvz] +SFX R 0 er's [aeio][eiou]l +SFX R 0 er's [aeiou]y +SFX R 0 er's [aeo]al +SFX R 0 ers [^aeiou][bcdfgklmnprstvz] +SFX R 0 ers [^ebcdfgklmnprstvyz] +SFX R 0 ers [aeio][aeiou][bcdfgkmnprstvz] +SFX R 0 ers [aeio][eiou]l +SFX R 0 ers [aeiou]y +SFX R 0 ers [aeo]al +SFX R 0 fer [^aeio][aeiou]f +SFX R 0 fer's [^aeio][aeiou]f +SFX R 0 fers [^aeio][aeiou]f +SFX R 0 ger [^aeio][aeiou]g +SFX R 0 ger's [^aeio][aeiou]g +SFX R 0 gers [^aeio][aeiou]g +SFX R y ier [^aeiou]y +SFX R y ier's [^aeiou]y +SFX R y iers [^aeiou]y +SFX R 0 ker [^aeio][aeiou]c +SFX R 0 ker [^aeio][aeiou]k +SFX R 0 ker's [^aeio][aeiou]c +SFX R 0 ker's [^aeio][aeiou]k +SFX R 0 kers [^aeio][aeiou]c +SFX R 0 kers [^aeio][aeiou]k +SFX R 0 ler [^aeio][eiou]l +SFX R 0 ler [^aeo]al +SFX R 0 ler's [^aeio][eiou]l +SFX R 0 ler's [^aeo]al +SFX R 0 lers [^aeio][eiou]l +SFX R 0 lers [^aeo]al +SFX R 0 mer [^aeio][aeiou]m +SFX R 0 mer's [^aeio][aeiou]m +SFX R 0 mers [^aeio][aeiou]m +SFX R 0 ner [^aeio][aeiou]n +SFX R 0 ner's [^aeio][aeiou]n +SFX R 0 ners [^aeio][aeiou]n +SFX R 0 per [^aeio][aeiou]p +SFX R 0 per's [^aeio][aeiou]p +SFX R 0 pers [^aeio][aeiou]p +SFX R 0 r e +SFX R 0 r's e +SFX R 0 rer [^aeio][aeiou]r +SFX R 0 rer's [^aeio][aeiou]r +SFX R 0 rers [^aeio][aeiou]r +SFX R 0 rs e +SFX R 0 ser [^aeio][aeiou]s +SFX R 0 ser's [^aeio][aeiou]s +SFX R 0 sers [^aeio][aeiou]s +SFX R 0 ter [^aeio][aeiou]t +SFX R 0 ter's [^aeio][aeiou]t +SFX R 0 ters [^aeio][aeiou]t +SFX R 0 ver [^aeio][aeiou]v +SFX R 0 ver's [^aeio][aeiou]v +SFX R 0 vers [^aeio][aeiou]v +SFX R 0 zer [^aeio][aeiou]z +SFX R 0 zer's [^aeio][aeiou]z +SFX R 0 zers [^aeio][aeiou]z +SFX r Y 24 +SFX r 0 er [^aeiou][cl] +SFX r 0 er [^ecly] +SFX r 0 er [aeio][aeiou][cl] +SFX r 0 er [aeiou]y +SFX r 0 er's [^aeiou][cl] +SFX r 0 er's [^ecly] +SFX r 0 er's [aeio][aeiou][cl] +SFX r 0 er's [aeiou]y +SFX r 0 ers [^aeiou][cl] +SFX r 0 ers [^ecly] +SFX r 0 ers [aeio][aeiou][cl] +SFX r 0 ers [aeiou]y +SFX r y ier [^aeiou]y +SFX r y ier's [^aeiou]y +SFX r y iers [^aeiou]y +SFX r 0 ker [^aeio][aeiou]c +SFX r 0 ker's [^aeio][aeiou]c +SFX r 0 kers [^aeio][aeiou]c +SFX r 0 ler [^aeio][aeiou]l +SFX r 0 ler's [^aeio][aeiou]l +SFX r 0 lers [^aeio][aeiou]l +SFX r 0 r e +SFX r 0 r's e +SFX r 0 rs e +SFX S Y 10 +SFX S 0 es [cs]h +SFX S 0 es [sxz] +SFX S y ies [^aeiou]y +SFX S 0 s [^ae]u +SFX S 0 s [^cs]h +SFX S 0 s [^hsuxyz] +SFX S 0 s [ae]u +SFX S 0 s [aeiou]y +SFX S 0 x [ae]u +SFX S 0 x's [ae]u +SFX P Y 9 +SFX P y iness [^aeiou]y +SFX P y iness's [^aeiou]y +SFX P y inesses [^aeiou]y +SFX P 0 ness [^y] +SFX P 0 ness [aeiou]y +SFX P 0 ness's [^y] +SFX P 0 ness's [aeiou]y +SFX P 0 nesses [^y] +SFX P 0 nesses [aeiou]y +SFX m Y 20 +SFX m 0 man [^aeiou][bdklmnt]e +SFX m 0 man [^bdeknmt] +SFX m 0 man [^bdklmnt]e +SFX m 0 man's [^aeiou][bdklmnt]e +SFX m 0 man's [^bdeknmt] +SFX m 0 man's [^bdklmnt]e +SFX m 0 men [^aeiou][bdklmnt]e +SFX m 0 men [^bdeknmt] +SFX m 0 men [^bdklmnt]e +SFX m 0 men's [^aeiou][bdklmnt]e +SFX m 0 men's [^bdeknmt] +SFX m 0 men's [^bdklmnt]e +SFX m 0 sman [aeiou][bdklmnt]e +SFX m 0 sman [bdknmt] +SFX m 0 sman's [aeiou][bdklmnt]e +SFX m 0 sman's [bdknmt] +SFX m 0 smen [aeiou][bdklmnt]e +SFX m 0 smen [bdknmt] +SFX m 0 smen's [aeiou][bdklmnt]e +SFX m 0 smen's [bdknmt] +SFX 5 Y 20 +SFX 5 0 swoman [aeiou][bdklmnt]e +SFX 5 0 swoman [bdknmt] +SFX 5 0 swoman's [aeiou][bdklmnt]e +SFX 5 0 swoman's [bdknmt] +SFX 5 0 swomen [aeiou][bdklmnt]e +SFX 5 0 swomen [bdknmt] +SFX 5 0 swomen's [aeiou][bdklmnt]e +SFX 5 0 swomen's [bdknmt] +SFX 5 0 woman [^aeiou][bdklmnt]e +SFX 5 0 woman [^bdeknmt] +SFX 5 0 woman [^bdklmnt]e +SFX 5 0 woman's [^aeiou][bdklmnt]e +SFX 5 0 woman's [^bdeknmt] +SFX 5 0 woman's [^bdklmnt]e +SFX 5 0 women [^aeiou][bdklmnt]e +SFX 5 0 women [^bdeknmt] +SFX 5 0 women [^bdklmnt]e +SFX 5 0 women's [^aeiou][bdklmnt]e +SFX 5 0 women's [^bdeknmt] +SFX 5 0 women's [^bdklmnt]e +SFX 6 Y 3 +SFX 6 0 ful [^y] +SFX 6 0 ful [aeiou]y +SFX 6 y iful [^aeiou]y +SFX j Y 3 +SFX j 0 fully [^y] +SFX j 0 fully [aeiou]y +SFX j y ifully [^aeiou]y +SFX p Y 5 +SFX p 0 ess ll +SFX p y iless [^aeiou]y +SFX p 0 less [^l]l +SFX p 0 less [^ly] +SFX p 0 less [aeiou]y +SFX Q Y 44 +SFX Q le ilise [^aeiou]le +SFX Q le ilised [^aeiou]le +SFX Q le ilises [^aeiou]le +SFX Q le ilising [^aeiou]le +SFX Q y ise [^aeiou]y +SFX Q 0 ise [^aemsy] +SFX Q 0 ise [^i]s +SFX Q e ise [^l]e +SFX Q 0 ise [^u]m +SFX Q e ise [aeiou]le +SFX Q 0 ise [aeiou]y +SFX Q um ise um +SFX Q y ised [^aeiou]y +SFX Q 0 ised [^aemsy] +SFX Q 0 ised [^i]s +SFX Q e ised [^l]e +SFX Q 0 ised [^u]m +SFX Q e ised [aeiou]le +SFX Q 0 ised [aeiou]y +SFX Q um ised um +SFX Q y ises [^aeiou]y +SFX Q 0 ises [^aemsy] +SFX Q 0 ises [^i]s +SFX Q e ises [^l]e +SFX Q 0 ises [^u]m +SFX Q e ises [aeiou]le +SFX Q 0 ises [aeiou]y +SFX Q um ises um +SFX Q y ising [^aeiou]y +SFX Q 0 ising [^aemsy] +SFX Q 0 ising [^i]s +SFX Q e ising [^l]e +SFX Q 0 ising [^u]m +SFX Q e ising [aeiou]le +SFX Q 0 ising [aeiou]y +SFX Q um ising um +SFX Q s se is +SFX Q s sed is +SFX Q s ses is +SFX Q s sing is +SFX Q 0 tise a +SFX Q 0 tised a +SFX Q 0 tises a +SFX Q 0 tising a +SFX 8 Y 44 +SFX 8 le ilize [^aeiou]le +SFX 8 le ilized [^aeiou]le +SFX 8 le ilizes [^aeiou]le +SFX 8 le ilizing [^aeiou]le +SFX 8 y ize [^aeiou]y +SFX 8 0 ize [^aemsy] +SFX 8 0 ize [^i]s +SFX 8 e ize [^l]e +SFX 8 0 ize [^u]m +SFX 8 e ize [aeiou]le +SFX 8 0 ize [aeiou]y +SFX 8 um ize um +SFX 8 y ized [^aeiou]y +SFX 8 0 ized [^aemsy] +SFX 8 0 ized [^i]s +SFX 8 e ized [^l]e +SFX 8 0 ized [^u]m +SFX 8 e ized [aeiou]le +SFX 8 0 ized [aeiou]y +SFX 8 um ized um +SFX 8 y izes [^aeiou]y +SFX 8 0 izes [^aemsy] +SFX 8 0 izes [^i]s +SFX 8 e izes [^l]e +SFX 8 0 izes [^u]m +SFX 8 e izes [aeiou]le +SFX 8 0 izes [aeiou]y +SFX 8 um izes um +SFX 8 y izing [^aeiou]y +SFX 8 0 izing [^aemsy] +SFX 8 0 izing [^i]s +SFX 8 e izing [^l]e +SFX 8 0 izing [^u]m +SFX 8 e izing [aeiou]le +SFX 8 0 izing [aeiou]y +SFX 8 um izing um +SFX 8 0 tize a +SFX 8 0 tized a +SFX 8 0 tizes a +SFX 8 0 tizing a +SFX 8 s ze is +SFX 8 s zed is +SFX 8 s zes is +SFX 8 s zing is +SFX q Y 33 +SFX q le ilisation [^aeiou]le +SFX q le ilisation's [^aeiou]le +SFX q le ilisations [^aeiou]le +SFX q y isation [^aeiou]y +SFX q 0 isation [^aemsy] +SFX q 0 isation [^i]s +SFX q e isation [^l]e +SFX q 0 isation [^u]m +SFX q e isation [aeiou]le +SFX q 0 isation [aeiou]y +SFX q um isation um +SFX q y isation's [^aeiou]y +SFX q 0 isation's [^aemsy] +SFX q 0 isation's [^i]s +SFX q e isation's [^l]e +SFX q 0 isation's [^u]m +SFX q e isation's [aeiou]le +SFX q 0 isation's [aeiou]y +SFX q um isation's um +SFX q y isations [^aeiou]y +SFX q 0 isations [^aemsy] +SFX q 0 isations [^i]s +SFX q e isations [^l]e +SFX q 0 isations [^u]m +SFX q e isations [aeiou]le +SFX q 0 isations [aeiou]y +SFX q um isations um +SFX q s sation is +SFX q s sation's is +SFX q s sations is +SFX q 0 tisation a +SFX q 0 tisation's a +SFX q 0 tisations a +SFX - Y 33 +SFX - le ilization [^aeiou]le +SFX - le ilization's [^aeiou]le +SFX - le ilizations [^aeiou]le +SFX - y ization [^aeiou]y +SFX - 0 ization [^aemsy] +SFX - 0 ization [^i]s +SFX - e ization [^l]e +SFX - 0 ization [^u]m +SFX - e ization [aeiou]le +SFX - 0 ization [aeiou]y +SFX - um ization um +SFX - y ization's [^aeiou]y +SFX - 0 ization's [^aemsy] +SFX - 0 ization's [^i]s +SFX - e ization's [^l]e +SFX - 0 ization's [^u]m +SFX - e ization's [aeiou]le +SFX - 0 ization's [aeiou]y +SFX - um ization's um +SFX - y izations [^aeiou]y +SFX - 0 izations [^aemsy] +SFX - 0 izations [^i]s +SFX - e izations [^l]e +SFX - 0 izations [^u]m +SFX - e izations [aeiou]le +SFX - 0 izations [aeiou]y +SFX - um izations um +SFX - 0 tization a +SFX - 0 tization's a +SFX - 0 tizations a +SFX - s zation is +SFX - s zation's is +SFX - s zations is +SFX s Y 33 +SFX s le iliser [^aeiou]le +SFX s le iliser's [^aeiou]le +SFX s le ilisers [^aeiou]le +SFX s y iser [^aeiou]y +SFX s 0 iser [^aemsy] +SFX s 0 iser [^i]s +SFX s e iser [^l]e +SFX s 0 iser [^u]m +SFX s e iser [aeiou]le +SFX s 0 iser [aeiou]y +SFX s um iser um +SFX s y iser's [^aeiou]y +SFX s 0 iser's [^aemsy] +SFX s 0 iser's [^i]s +SFX s e iser's [^l]e +SFX s 0 iser's [^u]m +SFX s e iser's [aeiou]le +SFX s 0 iser's [aeiou]y +SFX s um iser's um +SFX s y isers [^aeiou]y +SFX s 0 isers [^aemsy] +SFX s 0 isers [^i]s +SFX s e isers [^l]e +SFX s 0 isers [^u]m +SFX s e isers [aeiou]le +SFX s 0 isers [aeiou]y +SFX s um isers um +SFX s s ser is +SFX s s ser's is +SFX s s sers is +SFX s 0 tiser a +SFX s 0 tiser's a +SFX s 0 tisers a +SFX 9 Y 33 +SFX 9 le ilizer [^aeiou]le +SFX 9 le ilizer's [^aeiou]le +SFX 9 le ilizers [^aeiou]le +SFX 9 y izer [^aeiou]y +SFX 9 0 izer [^aemsy] +SFX 9 0 izer [^i]s +SFX 9 e izer [^l]e +SFX 9 0 izer [^u]m +SFX 9 e izer [aeiou]le +SFX 9 0 izer [aeiou]y +SFX 9 um izer um +SFX 9 y izer's [^aeiou]y +SFX 9 0 izer's [^aemsy] +SFX 9 0 izer's [^i]s +SFX 9 e izer's [^l]e +SFX 9 0 izer's [^u]m +SFX 9 e izer's [aeiou]le +SFX 9 0 izer's [aeiou]y +SFX 9 um izer's um +SFX 9 y izers [^aeiou]y +SFX 9 0 izers [^aemsy] +SFX 9 0 izers [^i]s +SFX 9 e izers [^l]e +SFX 9 0 izers [^u]m +SFX 9 e izers [aeiou]le +SFX 9 0 izers [aeiou]y +SFX 9 um izers um +SFX 9 0 tizer a +SFX 9 0 tizer's a +SFX 9 0 tizers a +SFX 9 s zer is +SFX 9 s zer's is +SFX 9 s zers is +SFX t Y 22 +SFX t le ilisability [^aeiou]le +SFX t le ilisable [^aeiou]le +SFX t y isability [^aeiou]y +SFX t 0 isability [^aemsy] +SFX t 0 isability [^i]s +SFX t e isability [^l]e +SFX t 0 isability [^u]m +SFX t e isability [aeiou]le +SFX t 0 isability [aeiou]y +SFX t um isability um +SFX t y isable [^aeiou]y +SFX t 0 isable [^aemsy] +SFX t 0 isable [^i]s +SFX t e isable [^l]e +SFX t 0 isable [^u]m +SFX t e isable [aeiou]le +SFX t 0 isable [aeiou]y +SFX t um isable um +SFX t s sability is +SFX t s sable is +SFX t 0 tisability a +SFX t 0 tisable a +SFX + Y 22 +SFX + le ilizability [^aeiou]le +SFX + le ilizable [^aeiou]le +SFX + y izability [^aeiou]y +SFX + 0 izability [^aemsy] +SFX + 0 izability [^i]s +SFX + e izability [^l]e +SFX + 0 izability [^u]m +SFX + e izability [aeiou]le +SFX + 0 izability [aeiou]y +SFX + um izability um +SFX + y izable [^aeiou]y +SFX + 0 izable [^aemsy] +SFX + 0 izable [^i]s +SFX + e izable [^l]e +SFX + 0 izable [^u]m +SFX + e izable [aeiou]le +SFX + 0 izable [aeiou]y +SFX + um izable um +SFX + 0 tizability a +SFX + 0 tizable a +SFX + s zability is +SFX + s zable is +SFX M Y 1 +SFX M 0 's . +SFX B Y 48 +SFX B e ability [^a]te +SFX B e ability [^acegilotu]e +SFX B 0 ability [^aeiou][bcdfgklmnprstvz] +SFX B 0 ability [^ebcdfgklmnprstvzy] +SFX B 0 ability [acegilou]e +SFX B 0 ability [aeio][aeiou][bcdfgklmnprstvz] +SFX B 0 ability [aeiou]y +SFX B e able [^a]te +SFX B e able [^acegilotu]e +SFX B 0 able [^aeiou][bcdfgklmnprstvz] +SFX B 0 able [^ebcdfgklmnprstvzy] +SFX B 0 able [acegilou]e +SFX B 0 able [aeio][aeiou][bcdfgklmnprstvz] +SFX B 0 able [aeiou]y +SFX B 0 bability [^aeio][aeiou]b +SFX B 0 bable [^aeio][aeiou]b +SFX B te bility ate +SFX B te ble ate +SFX B 0 dability [^aeio][aeiou]d +SFX B 0 dable [^aeio][aeiou]d +SFX B 0 fability [^aeio][aeiou]f +SFX B 0 fable [^aeio][aeiou]f +SFX B 0 gability [^aeio][aeiou]g +SFX B 0 gable [^aeio][aeiou]g +SFX B y iability [^aeiou]y +SFX B y iable [^aeiou]y +SFX B 0 kability [^aeio][aeiou]c +SFX B 0 kability [^aeio][aeiou]k +SFX B 0 kable [^aeio][aeiou]c +SFX B 0 kable [^aeio][aeiou]k +SFX B 0 lability [^aeio][aeiou]l +SFX B 0 lable [^aeio][aeiou]l +SFX B 0 mability [^aeio][aeiou]m +SFX B 0 mable [^aeio][aeiou]m +SFX B 0 nability [^aeio][aeiou]n +SFX B 0 nable [^aeio][aeiou]n +SFX B 0 pability [^aeio][aeiou]p +SFX B 0 pable [^aeio][aeiou]p +SFX B 0 rability [^aeio][aeiou]r +SFX B 0 rable [^aeio][aeiou]r +SFX B 0 sability [^aeio][aeiou]s +SFX B 0 sable [^aeio][aeiou]s +SFX B 0 tability [^aeio][aeiou]t +SFX B 0 table [^aeio][aeiou]t +SFX B 0 vability [^aeio][aeiou]v +SFX B 0 vable [^aeio][aeiou]v +SFX B 0 zability [^aeio][aeiou]z +SFX B 0 zable [^aeio][aeiou]z +SFX 7 Y 9 +SFX 7 0 able [^acegilou]e +SFX 7 0 able [^aeiou][cl] +SFX 7 0 able [^cely] +SFX 7 e able [acegilou]e +SFX 7 0 able [aeio][aeiou][cl] +SFX 7 0 able [aeiou]y +SFX 7 y iable [^aeiou]y +SFX 7 0 kable [^aeio][aeiou]c +SFX 7 0 lable [^aeio][aeiou]l +SFX g Y 9 +SFX g e ability [^acegilou]e +SFX g 0 ability [^aeiou][cl] +SFX g 0 ability [^cely] +SFX g 0 ability [acegilou]e +SFX g 0 ability [aeio][aeiou][cl] +SFX g 0 ability [aeiou]y +SFX g y iability [^aeiou]y +SFX g 0 kability [^aeio][aeiou]c +SFX g 0 lability [^aeio][aeiou]l +SFX l Y 9 +SFX l e ably [^acegilou]e +SFX l 0 ably [^aeiou][cl] +SFX l 0 ably [^cely] +SFX l 0 ably [acegilou]e +SFX l 0 ably [aeio][aeiou][cl] +SFX l 0 ably [aeiou]y +SFX l y iably [^aeiou]y +SFX l 0 kably [^aeio][aeiou]c +SFX l 0 lably [^aeio][aeiou]l +SFX b Y 3 +SFX b e ible [^aeiou]e +SFX b 0 ible [^e] +SFX b 0 ible [aeiou]e +SFX L Y 12 +SFX L 0 ament m +SFX L 0 ament's m +SFX L 0 aments m +SFX L y iment [^aeiou]y +SFX L y iment's [^aeiou]y +SFX L y iments [^aeiou]y +SFX L 0 ment [^my] +SFX L 0 ment [aeiou]y +SFX L 0 ment's [^my] +SFX L 0 ment's [aeiou]y +SFX L 0 ments [^my] +SFX L 0 ments [aeiou]y +SFX Z Y 30 +SFX Z 0 by [^aeio][aeiou]b +SFX Z 0 dy [^aegio][aeiou]d +SFX Z 0 ey [aiouy] +SFX Z 0 fy [^aeio][aeiou]f +SFX Z 0 gy [^aeio][aeiou]g +SFX Z 0 ity ous +SFX Z 0 ky [^adeio][aeiou]c +SFX Z 0 ky [^aeio][aeiou]k +SFX Z 0 ly [^aeio][aeiou]l +SFX Z 0 my [^aeio][aeiou]m +SFX Z 0 ny [^aeio][aiou]n +SFX Z 0 py [^aeio][aeiou]p +SFX Z 0 ry [^aegilost][aiou]r +SFX Z 0 ry lur +SFX Z 0 ry tar +SFX Z 0 sy [^aeio][aeiou]s +SFX Z 0 ty [^aeio][aiou]t +SFX Z 0 vy [^aeio][aeiou]v +SFX Z 0 y [^aceiglmopt][a]r +SFX Z 0 y [^aebcdfgiklmnoprstuvyz] +SFX Z 0 y [^aeio]e[nrt] +SFX Z 0 y [^aeiou][bcdfgklmnprstvz] +SFX Z e y [^aeiouy]e +SFX Z 0 y [aeio][aeiou][bcdfgklmnprtvz] +SFX Z 0 y [aeiouy]e +SFX Z 0 y [gl][a]r +SFX Z 0 y [st]or +SFX Z ic y dic +SFX Z 0 y ged +SFX Z 0 zy [^aeio][aeiou]z +SFX 2 Y 63 +SFX 2 0 biness [^aeio][aeiou]b +SFX 2 0 biness's [^aeio][aeiou]b +SFX 2 0 binesses [^aeio][aeiou]b +SFX 2 0 diness [^aeio][aeiou]d +SFX 2 0 diness's [^aeio][aeiou]d +SFX 2 0 dinesses [^aeio][aeiou]d +SFX 2 0 finess [^aeio][aeiou]f +SFX 2 0 finess's [^aeio][aeiou]f +SFX 2 0 finesses [^aeio][aeiou]f +SFX 2 0 giness [^aeio][aeiou]g +SFX 2 0 giness's [^aeio][aeiou]g +SFX 2 0 ginesses [^aeio][aeiou]g +SFX 2 0 iness [^aeio]e[nrt] +SFX 2 0 iness [^aeiou][bcdfgklmnprstvz] +SFX 2 e iness [^aeiouy]e +SFX 2 0 iness [^ebcdfgklmnprstvz] +SFX 2 0 iness [aeio][aeiou][bcdfgklmnprstvz] +SFX 2 0 iness [aeiouy]e +SFX 2 0 iness's [^aeio]e[nrt] +SFX 2 0 iness's [^aeiou][bcdfgklmnprstvz] +SFX 2 e iness's [^aeiouy]e +SFX 2 0 iness's [^ebcdfgklmnprstvz] +SFX 2 0 iness's [aeio][aeiou][bcdfgklmnprstvz] +SFX 2 0 iness's [aeiouy]e +SFX 2 0 inesses [^aeio]e[nrt] +SFX 2 0 inesses [^aeiou][bcdfgklmnprstvz] +SFX 2 e inesses [^aeiouy]e +SFX 2 0 inesses [^ebcdfgklmnprstvz] +SFX 2 0 inesses [aeio][aeiou][bcdfgklmnprstvz] +SFX 2 0 inesses [aeiouy]e +SFX 2 0 kiness [^aeio][aeiou]c +SFX 2 0 kiness [^aeio][aeiou]k +SFX 2 0 kiness's [^aeio][aeiou]c +SFX 2 0 kiness's [^aeio][aeiou]k +SFX 2 0 kinesses [^aeio][aeiou]c +SFX 2 0 kinesses [^aeio][aeiou]k +SFX 2 0 liness [^aeio][aeiou]l +SFX 2 0 liness's [^aeio][aeiou]l +SFX 2 0 linesses [^aeio][aeiou]l +SFX 2 0 miness [^aeio][aeiou]m +SFX 2 0 miness's [^aeio][aeiou]m +SFX 2 0 minesses [^aeio][aeiou]m +SFX 2 0 niness [^aeio][aiou]n +SFX 2 0 niness's [^aeio][aiou]n +SFX 2 0 ninesses [^aeio][aiou]n +SFX 2 0 piness [^aeio][aeiou]p +SFX 2 0 piness's [^aeio][aeiou]p +SFX 2 0 pinesses [^aeio][aeiou]p +SFX 2 0 riness [^aeio][aiou]r +SFX 2 0 riness's [^aeio][aiou]r +SFX 2 0 rinesses [^aeio][aiou]r +SFX 2 0 siness [^aeio][aeiou]s +SFX 2 0 siness's [^aeio][aeiou]s +SFX 2 0 sinesses [^aeio][aeiou]s +SFX 2 0 tiness [^aeio][aiou]t +SFX 2 0 tiness's [^aeio][aiou]t +SFX 2 0 tinesses [^aeio][aiou]t +SFX 2 0 viness [^aeio][aeiou]v +SFX 2 0 viness's [^aeio][aeiou]v +SFX 2 0 vinesses [^aeio][aeiou]v +SFX 2 0 ziness [^aeio][aeiou]z +SFX 2 0 ziness's [^aeio][aeiou]z +SFX 2 0 zinesses [^aeio][aeiou]z +SFX z Y 24 +SFX z 0 bily [^aeio][aeiou]b +SFX z 0 dily [^aeio][aeiou]d +SFX z 0 fily [^aeio][aeiou]f +SFX z 0 gily [^aeio][aeiou]g +SFX z 0 ily [^aeio]e[nrt] +SFX z 0 ily [^aeiou][bcdfgklmnprstvz] +SFX z y ily [^aeiou]y +SFX z e ily [^aeiouy]e +SFX z 0 ily [^ebcdfgklmnprstvyz] +SFX z 0 ily [aeio][aeiou][bcdfgklmnprstvyz] +SFX z 0 ily [aeiouy]e +SFX z 0 ily [aiou]y +SFX z ey ily ey +SFX z 0 kily [^aeio][aeiou]c +SFX z 0 kily [^aeio][aeiou]k +SFX z 0 lily [^aeio][aeiou]l +SFX z 0 mily [^aeio][aeiou]m +SFX z 0 nily [^aeio][aiou]n +SFX z 0 pily [^aeio][aeiou]p +SFX z 0 rily [^aeio][aiou]r +SFX z 0 sily [^aeio][aeiou]s +SFX z 0 tily [^aeio][aiou]t +SFX z 0 vily [^aeio][aeiou]v +SFX z 0 zily [^aeio][aeiou]z +SFX y Y 15 +SFX y 0 ary ion +SFX y e ary se +SFX y 0 atory [^i]m +SFX y e atory [mr]e +SFX y 0 ery h +SFX y im matory im +SFX y 0 nery [aiu]n +SFX y 0 ory [^aeous]t +SFX y 0 ory s +SFX y e ory te +SFX y 0 ry [^aiou]n +SFX y 0 ry [^ehmstn] +SFX y 0 ry [^i]on +SFX y 0 ry [^mrst]e +SFX y 0 ry [aeous]t +SFX O Y 23 +SFX O 0 al [^f][nu][gt]e +SFX O 0 al [air]t +SFX O e al [aioy][dp]e +SFX O 0 al [cdghmpwx] +SFX O 0 al [ceos]t +SFX O 0 al [eimru][bfn] +SFX O 0 al [eo]nt +SFX O 0 al [ghiorstx][ao]n +SFX O e al [mnrsv]e +SFX O 0 al [nt]ant +SFX O 0 al a[ks] +SFX O 0 al ch[ei] +SFX O i al ci +SFX O 0 al ss +SFX O e al uge +SFX O e ial [aei]ge +SFX O e ial [ai]ce +SFX O 0 ial eon +SFX O 0 ial r +SFX O y ial y +SFX O e inal ude +SFX O 0 l a +SFX O 0 tal ut +SFX o Y 12 +SFX o 0 ally [^aebcrtxmy] +SFX o e ally [^bcgv]e +SFX o 0 ally [^ipux]t +SFX o 0 ally [^u]m +SFX o y ally ty +SFX o um ally um +SFX o y ially [^t]y +SFX o e ially [bcgv]e +SFX o 0 ially [bcrx] +SFX o 0 lly a +SFX o 0 tally [iu]t +SFX o 0 ually [px]t +SFX W Y 27 +SFX W e atic [^cx][aeioumy]me +SFX W 0 atic [aeiou]m +SFX W 0 c [bdghlmnsz]i +SFX W a c [i]a +SFX W e c [o][l][i]e +SFX W y etic thy +SFX W 0 ic [^aeilmrsy] +SFX W 0 ic [^aeiou]m +SFX W 0 ic [^ay]l +SFX W e ic [^b]le +SFX W e ic [^cilms]e +SFX W 0 ic [^e]r +SFX W e ic [^hn][e]me +SFX W y ic [^hs]y +SFX W a ic [^im]a +SFX W y ic [^t]hy +SFX W 0 ic [hmv]er +SFX W 0 ic [nx][ay]l +SFX W le ic ble +SFX W us ic us +SFX W 0 lic [^nx][ay]l +SFX W er ric [^hmv]er +SFX W 0 tic [^u]s +SFX W 0 tic ma +SFX W se tic se +SFX W y tic sy +SFX W ce tific ce +SFX w Y 9 +SFX w 0 atical [aeiou]m +SFX w 0 ical [^aeiou]m +SFX w 0 ical [^aemry] +SFX w 0 ical [^e]r +SFX w a ical [^m]a +SFX w e ical e +SFX w y ical y +SFX w er rical er +SFX w 0 tical ma +SFX 1 Y 10 +SFX 1 0 atically [aeiou]m +SFX 1 0 cally [i] +SFX 1 0 ically [^aeimry] +SFX 1 0 ically [^aeiou]m +SFX 1 0 ically [^e]r +SFX 1 a ically [^m]a +SFX 1 e ically e +SFX 1 y ically y +SFX 1 er rically er +SFX 1 0 tically ma +SFX 3 Y 27 +SFX 3 e ist [^aceiou]e +SFX 3 y ist [^aeioubp]y +SFX 3 0 ist [^eoy] +SFX 3 0 ist [^r][^a][aeioubp]y +SFX 3 0 ist [aeiou]e +SFX 3 y ist apy +SFX 3 o ist o +SFX 3 y ist ropy +SFX 3 e ist's [^aceiou]e +SFX 3 y ist's [^aeioubp]y +SFX 3 0 ist's [^eoy] +SFX 3 0 ist's [^r][^a][aeioubp]y +SFX 3 0 ist's [aeiou]e +SFX 3 y ist's apy +SFX 3 o ist's o +SFX 3 y ist's ropy +SFX 3 e ists [^aceiou]e +SFX 3 y ists [^aeioubp]y +SFX 3 0 ists [^eoy] +SFX 3 0 ists [^r][^a][aeioubp]y +SFX 3 0 ists [aeiou]e +SFX 3 y ists apy +SFX 3 o ists o +SFX 3 y ists ropy +SFX 3 ce tist ce +SFX 3 ce tist's ce +SFX 3 ce tists ce +SFX = Y 15 +SFX = 0 essness ll +SFX = 0 essness's ll +SFX = 0 essnesses ll +SFX = y ilessness [^aeiou]y +SFX = y ilessness's [^aeiou]y +SFX = y ilessnesses [^aeiou]y +SFX = 0 lessness [^l]l +SFX = 0 lessness [^ly] +SFX = 0 lessness [aeiou]y +SFX = 0 lessness's [^l]l +SFX = 0 lessness's [^ly] +SFX = 0 lessness's [aeiou]y +SFX = 0 lessnesses [^l]l +SFX = 0 lessnesses [^ly] +SFX = 0 lessnesses [aeiou]y +SFX ~ Y 1 +SFX ~ 0 ish . + +BREAK 3 +BREAK — +BREAK – +BREAK - + +# PHONEtic_english.h - #PHONEtic transformation rules for use with #PHONEtic.c +# Copyright (C) 2000 Björn Jacke +# +# This rule set is based on Lawrence Phillips original metaPHONE +# algorithm with modifications made by Michael Kuhn in his +# C implantation, more modifications by Björn Jacke when +# converting the algorithm to a rule set and minor +# touch ups by Kevin Atkinson +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License version 2.1 as published by the Free Software Foundation; +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Björn Jacke may be reached by email at bjoern.jacke@gmx.de +# +# Changelog: +# +# 2000-01-05 Björn Jacke +# - first version with translation rules derived from +# metaPHONE.cc distributed with aspell 0.28.3 +# - "TH" is now representated as "@" because "0" is a +# meta character +# - removed TH(!vowel) --> T; always use TH --> # instead +# - dropped "^AE" -> "E" (redundant) +# - "ing" is transformed to "N", not "NK" +# - "SCH(EO)" transforms to "SK" now +# - added R --> SILENT if (after a vowel) and no (vowel or +# "y" follows) like in "Marcy" or "abort" +# - H is SILENT in RH at beginning of words +# - H is SILENT if vowel leads and "Y" follows +# - some ".OUGH.." --> ...F exceptions added +# - "^V" transforms to "W" +# 2000-01-07 Kevin Atkinson +# Converted from header to data file. +# +# 2007-08-23 László Németh +# Add PHONE header and #PHONE keywords +# +# 2010-03-09 László Németh +# Temporarily removing acuted character É +# because of the missing UTF-8 support +# +# version 1.1 + +# Documentation: http://aspell.net/man-html/PHONEtic-Code.html + +PHONE 104 +PHONE AH(AEIOUY)-^ *H +PHONE AR(AEIOUY)-^ *R +PHONE A(HR)^ * +PHONE A^ * +PHONE AH(AEIOUY)- H +PHONE AR(AEIOUY)- R +PHONE A(HR) _ +PHONE BB- _ +PHONE B B +PHONE CQ- _ +PHONE CIA X +PHONE CH X +PHONE C(EIY)- S +PHONE CK K +PHONE COUGH^ KF +PHONE CC< C +PHONE C K +PHONE DG(EIY) K +PHONE DD- _ +PHONE D T +PHONE EH(AEIOUY)-^ *H +PHONE ER(AEIOUY)-^ *R +PHONE E(HR)^ * +PHONE ENOUGH^$ *NF +PHONE E^ * +PHONE EH(AEIOUY)- H +PHONE ER(AEIOUY)- R +PHONE E(HR) _ +PHONE FF- _ +PHONE F F +PHONE GN^ N +PHONE GN$ N +PHONE GNS$ NS +PHONE GNED$ N +PHONE GH(AEIOUY)- K +PHONE GH _ +PHONE GG9 K +PHONE G K +PHONE H H +PHONE IH(AEIOUY)-^ *H +PHONE IR(AEIOUY)-^ *R +PHONE I(HR)^ * +PHONE I^ * +PHONE ING6 N +PHONE IH(AEIOUY)- H +PHONE IR(AEIOUY)- R +PHONE I(HR) _ +PHONE J K +PHONE KN^ N +PHONE KK- _ +PHONE K K +PHONE LAUGH^ LF +PHONE LL- _ +PHONE L L +PHONE MB$ M +PHONE MM M +PHONE M M +PHONE NN- _ +PHONE N N +PHONE OH(AEIOUY)-^ *H +PHONE OR(AEIOUY)-^ *R +PHONE O(HR)^ * +PHONE O^ * +PHONE OH(AEIOUY)- H +PHONE OR(AEIOUY)- R +PHONE O(HR) _ +PHONE PH F +PHONE PN^ N +PHONE PP- _ +PHONE P P +PHONE Q K +PHONE RH^ R +PHONE ROUGH^ RF +PHONE RR- _ +PHONE R R +PHONE SCH(EOU)- SK +PHONE SC(IEY)- S +PHONE SH X +PHONE SI(AO)- X +PHONE SS- _ +PHONE S S +PHONE TI(AO)- X +PHONE TH @ +PHONE TCH-- _ +PHONE TOUGH^ TF +PHONE TT- _ +PHONE T T +PHONE UH(AEIOUY)-^ *H +PHONE UR(AEIOUY)-^ *R +PHONE U(HR)^ * +PHONE U^ * +PHONE UH(AEIOUY)- H +PHONE UR(AEIOUY)- R +PHONE U(HR) _ +PHONE V^ W +PHONE V F +PHONE WR^ R +PHONE WH^ W +PHONE W(AEIOU)- W +PHONE X^ S +PHONE X KS +PHONE Y(AEIOU)- Y +PHONE ZZ- _ +PHONE Z S + +#The rules in a different view: +# +# Exceptions: +# +# Beginning of word: "gn", "kn-", "pn-", "wr-" ----> drop first letter +# "Aebersold", "Gnagy", "Knuth", "Pniewski", "Wright" +# +# Beginning of word: "x" ----> change to "s" +# as in "Deng Xiaopeng" +# +# Beginning of word: "wh-" ----> change to "w" +# as in "Whalen" +# Beginning of word: leading vowels are transformed to "*" +# +# "[crt]ough" and "enough" are handled separately because of "F" sound +# +# +# A --> A at beginning +# _ otherwise +# +# B --> B unless at the end of word after "m", as in "dumb", "McComb" +# +# C --> X (sh) if "-cia-" or "-ch-" +# S if "-ci-", "-ce-", or "-cy-" +# SILENT if "-sci-", "-sce-", or "-scy-", or "-cq-" +# K otherwise, including in "-sch-" +# +# D --> K if in "-dge-", "-dgy-", or "-dgi-" +# T otherwise +# +# E --> A at beginnig +# _ SILENT otherwise +# +# F --> F +# +# G --> SILENT if in "-gh-" and not at end or before a vowel +# in "-gn" or "-gned" or "-gns" +# in "-dge-" etc., as in above rule +# K if before "i", or "e", or "y" if not double "gg" +# +# K otherwise (incl. "GG"!) +# +# H --> SILENT if after vowel and no vowel or "Y" follows +# or after "-ch-", "-sh-", "-ph-", "-th-", "-gh-" +# or after "rh-" at beginning +# H otherwise +# +# I --> A at beginning +# _ SILENT otherwise +# +# J --> K +# +# K --> SILENT if after "c" +# K otherwise +# +# L --> L +# +# M --> M +# +# N --> N +# +# O --> A at beginning +# _ SILENT otherwise +# +# P --> F if before "h" +# P otherwise +# +# Q --> K +# +# R --> SILENT if after vowel and no vowel or "Y" follows +# R otherwise +# +# S --> X (sh) if before "h" or in "-sio-" or "-sia-" +# SK if followed by "ch(eo)" (SCH(EO)) +# S otherwise +# +# T --> X (sh) if "-tia-" or "-tio-" +# 0 (th) if before "h" +# silent if in "-tch-" +# T otherwise +# +# U --> A at beginning +# _ SILENT otherwise +# +# V --> V if first letter of word +# F otherwise +# +# W --> SILENT if not followed by a vowel +# W if followed by a vowel +# +# X --> KS +# +# Y --> SILENT if not followed by a vowel +# Y if followed by a vowel +# +# Z --> S diff --git a/Dictionaries/en_GB.dic b/Dictionaries/en_GB.dic new file mode 100644 index 00000000..3237865e --- /dev/null +++ b/Dictionaries/en_GB.dic @@ -0,0 +1,97200 @@ +97199 +'gainst +'mongst +'neath +'strewth +'struth +'tis +'twas +'tween-decks +'twixt +0/#@ +0th/}{ +1/#0 +1024x768 +1080i +1080p +128-bit +1280x720 +1280x720p +128K +1366x768 +16-bit +16K +1920x1080 +1920x1080i +1920x1080p +1D +1st/} +1th/{_ +2/#@ +24-bit +256-bit +2D +2nd/} +2th/{_ +3/#@ +32-bit +320x240 +3D +3DES/M +3GPP/M +3rd/} +3th/{_ +4/#@ +48K +4D +4th/}{ +4x4/S +5/#@ +512-bit +5th/}{ +6/#@ +64-bit +640x480 +64K +6th/}{ +7/#@ +720p +7th/}{ +8-bit +8/#@ +800x600 +8th/}{ +9/#@ +9th/}{ +à +A +A'Chleit/M +A-bomb/S +A-levels +A-line +a.m. +a/o +A1 +A2 +A3 +A4 +A5 +AA +AAA +AAC +Aachen/M +AACS/M +Aalborg/M +Aaliyah/SM +aardvark/MS +aardwolf/M +aardwolves +aargh +Aarhus/M +Aaron/M +Aaronvitch/M +aasvogel/MS +ab +Ab/M +AB/S +Ababa/M +abac/MS +abaca/MS +abaci/M +abacist/SM +aback/SM +abacus/SM +Abaddon/M +Abadie/M +abaft +abalone/MS +abamectin/SM +abandon/7LdSr +abandonedly +abandonware/M Noun: uncountable +abaptation +abaptive +abase/SGLDr +abash/LGS +abashed/UY +abasic +abask +abatable +abate/LGSDr +abatis/SM +abattis +abattoir/SM +abaxial +abaya/MS +ABBA/M +Abba/M +abba/MS +abbacy/MS +Abbas/M +Abbasid/MS +abbatial +Abbe/M +abbé/SM +abbe/SM +Abberley/M +Abberton/M +Abbess/M +abbess/SM +Abbeville/M +Abbevillian +Abbey/M +abbey/SM +Abbeygreen/M +Abbot/MS +abbot/SM +Abbotsbury/M +Abbotsford/M +Abbotsgrange/M +Abbotshall/M +Abbotsham/M +Abbotside/M +Abbotsinch/M +Abbotskerswell/M +Abbotsley/M +Abbotstone/M +Abbott/MS +abbr/SM +abbreviate/nSGD +abbreviatory Adjective +Abbs/M +Abby/M +ABC/SM +Abcam/M +Abchurch/M +Abdale/M +abdicable +abdicant/MS +abdicate/DGSn +Abdie/M +abdomen/MS +abdominal/YSM +abdominiser/SM +abdominoplasty/SM +abdominoscopy/M Noun: uncountable +abdominous Adjective +Abdon/M +abducens/M +abducible Adjective +abduct/SDG +abductee/SM +abduction/SM +abductive/Y +abductor/MS +Abdul/M +Abdullah/M +Abe/M +abeam +abecedarian +abed +Abegg/M +Abel/M +Abelard/M +abele/MS +Abelson/M +Abenbury/M +Abenhall/M +Aber-Arth/M +Aber-erch/M +Aber-porth/M +Aber/M +Aberaeron/M +Aberaman/M +Aberavon/M +Aberbythych/M +Abercarn/M +Aberchirder/M +Aberconwy/M +Abercorn/M +Abercrombie/M +Abercromby/M +Abercynon/M +Abercywyn/M +Aberdalgie/M +Aberdare/M +Aberdaron/M +Aberdeen/M +Aberdeenshire/M +aberdevine/M +Aberdonian/SM +Aberdour/M +Aberdyfi/M +Aberedw/M +aberemurder/M +Aberfeldie/M +Aberfeldy/M +Aberffraw/M +Aberford/M +Aberfoyle/M +Abergavenny/M +Abergele/M +Abergorlech/M +Abergwesyn/M +Abergwili/M +Abergwyngregyn/M +Aberhafesp/M +Aberlady/M +Aberlemno/M +Aberlour/M +Aberluthnott/M +Abermule/M +Abernant/M +Abernathy/M +Abernethy/MS +Abernyte/M +Aberpergwm/M +Aberporth/M +aberrance/MS +aberrancy/MS +aberrant/Y +aberration/MSO^ +Abersychan/M +Abertarff/M +Abertillery/M +Aberwheeler/M +Aberyscir/M +Aberystruth/M +Aberystwyth/M +abet/GSD +abetment/M +abetter/MS +abettor/SM +abeyance/SM +abeyant +abhor/SGD +abhorrence/SM +abhorrent/Y +abhorrer/MS +abidance/MS +abide/kGDSr +Abidjan/M +Abigail/M +abigail/MS +Abijah/M +Abilene/M +Abilify/M +ability/ESIM +Abimelech/M +Abingdon/M +Abinger/M +Abington/M +abiogenesis +abiogenetic/Y +abiogenic +abiogenist/MS +abiotic/Y +Abitibi-Ouest/M +Abitibi-Témiscamingue/M +Abitibi/M +abject/PY +abjection/MS +abjure/nyRSDG +Abkhazia/M +ablate/SDGn +ablative/OSMY +ablaut/M +ablaze +able-bodied +able/nVvYTDP +ablegate/n +ableism/M Noun: uncountable +ableist/SM +ablepsy/M Noun: uncountable +Ableton/M +ablism +abloom +ablush +ablution/SM +ablutionary +ABM/SM +abnegate/GnDS +abnegator/MS +Abner/M +Abney/M +abnormal/Y +abnormality/SM +abnormity/MS +Abo/MS +aboard +abode/MS +Aboite/M +abolish/DGLRS +abolishable +abolition/SM3O +abolitionary +abolitionism/SM +abomasa/M +abomasum/SM +Abominable +abominable/Y +abominableness/M +abominate/DnSG +abominator/MS +Aboriginal/MS +aboriginal/SM +Aboriginality/M +aborigine/oSM +Aborigine/SM +abort/DVGvSur +abortee/SM +aborticide/SM +abortifacient/SM +abortion/3SMO +abortive/P +abortoria/M +abortorium/M +aboulia/MW +abound/GDS +about +above +aboveboard +aboveground +Aboyne/M +abracadabra/SM +abrade/DGVXvuNSR +Abraham/M +Abrahamic/O +Abrahamsen/M +Abram/MS +Abramovich/M +Abrantes/M +abrasion/SM +abrasive/MSP +abreact/SGD +abreaction/MS +abreactive +abreast +abrenunciation/SM +Abreu/M +abricotine/SM +Abridge/M +abridge/RDGSLh +abrin/M Noun: uncountable +abroad +abrogate/DnGS +abrogative +abrogator/MS +Abronhill/M +Abrunhosa/M +abrupt/YPTh +abruption/SM +abs/M +Absalom/M +abscess/DSGM +abscissa/MS +abscissae/M +abscission/SM +abscond/DRSG +absconsion/MS +abseil/SDG +abseiler/SM +absence/SM +absent-minded/YP +absent/YDGr +absentee/MS +absenteeism/SM +absentia/M +absentminded +absentmindedness/M Noun: uncountable +absentness/M +absinth/SM +absinthe/MS +absinthiated +absinthism/M Noun: uncountable +absit +absolute/PTY3S +absolution/MS +absolutism/SM +absolve/GSDr +Abson/M +absorb/kVNXRDGSh +absorbability/M +absorbable +absorbance/SM +absorbancy/SM +absorbency/SM +absorbent/MS +absorptance/SM +absorptiometer/SM +absorptiometry/MW1 +absorption/SM +absorptiveness/M +absorptivity/SM +abstain/RGSD +abstemious/YP +abstention/MS3 +abstentionism/SM +abstentious +abstentiousness/M Noun: uncountable +abstergent/MS +abstersion/M +abstersive +abstinence/MS +abstinency/M +abstinent/SMY +abstract/MDShTVPGYr +abstracted/P +abstractify/SGD +abstraction/3SM +abstractionism/SM +abstractor/SM +abstruse/TYP +absurd/PYT3 +absurdism/M Noun: usually uncountable +absurdity/MS +absurdum +Abthorpe/M +Abu/M +abubble +abugida/SM +Abuja/M +abulia/MW +abundance/MS +abundant/Y +abusable +abuse/GSDr +abusive/YP +abut/GRSLD +abutilon/SM +abuzz +Aby/M +abye/DS +abysm/MS +abysmal/Y +abyss/SMO +Abyssinia/M +Abyssinian/SM +abyssopelagic +AC +Ac +acacia/SM +academe/1SMZw +academia/MS +academic/SM +academicals +academician/SM +academicianship +academicism/SM +academism/SM +academy/MS +Acadia/M +Acadian/SM +acanthite/M Noun: uncountable +acanthus/SM +acapnia/M Noun: uncountable +acapsular +Acapulco/M +acara/SM +acarid/MS +acarpous +ACAS +Acaster/M +acatalectic/MS +acc. +accede/SDG +accelerandi +accelerando/MS +accelerant/SM +accelerate/kGnSDVh +accelerator/SMZ +accelerogram/SM +accelerograph/SM +accelerometer/MS +accension/SM +accent/GMDS +accentor/SM +accentual/Y +accentualist/M +accentuality/M +accentuate/DSnG +accept/DBSRVGkhl +acceptability/MS +acceptable/P +acceptance/SM +acceptant/SM +acceptation/SM +acceptee/SM +acceptilation/SM +acceptingness +acceptor/MS +access/NSXDyMbG +accessary/MS +accessibility/ISM +accessible/IY +accessibly/I +accession/MDG +accessit/M +accessor/SM +accessory/MSO +acciaccatura/MS +accidence/M +accident-prone +accident/DoMS +accidental/SP3 +accidentalism/M Noun: uncountable +accidentality +accidie/M +acclaim/DSGr +acclamation/MS +acclimatation/MS +acclimate/SsQDnG +acclimatise/ADSGN +acclivitous +acclivity/SM +accolade/MGDS +Accomack/M +accommodate/DGnkSVu +accommodative/P +accompany/3SLDGr +accompli/M +accomplice/SM +accomplicity +accomplish/RLSGD +accord/SMDkRG +accordance/SM +accordant/Y +Accordia/M +accordion/MS3 +accost/DSG +accouchement/M +accoucheur/MS +accoucheuse/MS +account/DMBlSGp +accountability/SM +accountable/P +accountably/U +accountancy/SM +accountant/SM +accounting/M +accoutre/LDSG +Accra/M +accredit/Snd +accrementition/SM +accrementitious +accrescence/SM +accreta +accrete/SGDn +accretional +accretionary +accretive +Accrington/M +accrual/MS +accrue/SGD +acct +acculturate/VDSGn +accumbens +accumulate/DSGVnvu +accumulative/P +accumulator/SM +accuracy/ISM +accurate/YP +accurately/I +accursed/YP +accurst +accusable +accusal/SM +accusative/YSMO +accusatory/O +accuse/DnRkSG +accustom/dS +accustomedness/M +ace/vSMnuVr +acedia/M +Aceldama/MS +acellular +acentric +acephalous/Y +acephaly/W +acepromazine/M Noun: uncountable +acerbate/GDS +acerbic/Y +acerbity/SM +acescence/M +acescent +Acesulfame-K/M +acetabula +acetabular +acetabulum +acetaldehyde/SM +acetaminophen/SM +acetanilide/SM +acetate/SM +acetazolamide/M Noun: usually uncountable +acetazoleamide +acetic +acetobacter/SM +acetogenic +acetone/SM +acetous +acetyl/SM +acetylcholine/SM +acetylcholinesterase/SM +acetylene/MS +acetylsalicylic +Acevedo/SM +Achaea/M +Achaean/MS +Achaemenid/SM +achaetous +Achahoish/M +Acharacle/M +acharnement/M +Acharya/M +acharya/SM +Achates/M +ache/DGkZSM +Achebe/SM +ached/FKA +achene/SM +Achernar/M +Acheron/M +aches/KFA +Acheson/M +Acheulean +Acheulian/M +achievable/U +achieve/GS +achieve/RSfDG +achieved/Uc +achievement/SM +Achill/M +achillea/SM +Achilles/M +Achillobator Taxonomic genus +achimenes +aching/KY +Achnacarry/M +achondroplasia/SM +achondroplasiac +achondroplasic/SM +achondroplastic +Achonry/M +achromatic/Y +achromaticity/M +achromatism/M +Achtemeier/M +Achurch/M +achy/TK +acicular +acid/YPWSM +acidanthera/SM +acidify/SGDn +acidimeter/MS +acidimetry/Ww1 +acidity/SM +acidophil/SMW +acidophile/SM +acidoses +acidosis/M +acidotic/Y +acidulate/DGS +acidulous/Y +acini +acinus/M +Aciphex/M +ack +ackee/MS +Ackerman/M +Acklam/M +Ackman/M +acknowledge/LRGShD +acknowledgeable +acknowledgment/SM +Ackworth/M +Acle/M +aclinic +ACLU/M +ACM +acme/MS +acne/SMD +acoelomate/SM +Acol/M +acolyte/MS +Acomb/M +Aconbury/M +Aconcagua/M +aconine/M Noun: uncountable +aconite/MSW +aconitine/SM +aconitum/SM +Acons/M +acorn/MS +acotyledon/MS +acotyledonous +acoustic/YOS +acoustician/MS +ACPI +acquaint/ASDG +acquaintance/SM +acquaintanceship/MS +acquest/M +acquiesce/DSGk +acquiescence/SM +acquiescent/Y +acquihire/SGDM +acquirable +acquire/DASG +acquiree/SM +acquirement/SM +acquirer/SM +acquisition/MA +acquisition/S +acquisitive/PY +acquit/DGSR +Acquitanian/M +acquittal/SM +acquittance/SM +acre/DSM +Acre/MS +acreage/MS +acrid/PY +acridine/SM +acridity/SM +acriflavine/M +acrimonious/PY +acrimony/SM +Acrise/M +acroamatic/S +acrobacy/SM +acrobat/M1SW +acrobatic/S +acroblast/SM +acrocentric +acrocyst/SM +acrodont/MS +acrogenous +acrolect/M +acrolect/SO^ +acromegaly/W +acromion +acronym/SM +acropetal/Y +acrophobia/MS +Acropolis +acropolis/MS +acroscopic +acrosin/M Noun: uncountable +acrosome/SMO +across +acrostic/MS +acrostichal +Acrux/M +acrylamide/SM +acrylate/SM +acrylic/SM +acrylonitrile/SM +act/cS4GAD +act/M +acta/M +actant/SM +actin/OSMW +actinia/M +actinide/MS +actinism/M +actinium/M Noun: uncountable +actinocene/SM +actinolite/SM +actinometer/MS +actinomorphic +Actinomycetales +actinomycete/MS +actinopterygian/SM +action/DG +action/IMS4A +actionability/M Noun: usually uncountable +actionable/Z +actioner/SM +activate/SInDCG +activation/IMCA +activator/SM +active/3SnP +actively/IA +activewear/M Noun: uncountable +ActiveX/M +activin/SM +activism/MS +activistic +activity/SMI +Acton/M +Actonel/M +actor/S4MA +actress/MS +actressy +actual/YS +actualise/SGDn +actuality/SM +actuary/SMoO +actuate/SGnD +actuator/SM +acuity/MS +aculeate +acultural +acumen/SM +acumentin +acuminate/SGDN +acuminose +acuminous +acuminulate +acupoint/SM +acupressure/SM +acupunctuate/SGDN +acupuncture/MS3O +acushla/MS +Acushnet/M +acute/PTY +ACW +Acworth/M +acyclic/Y +acyclovir/M Noun: usually uncountable +acyl/SM +acylate/SGDN +ad/AC +ad/M +Ada/M +adage/SM +adagio/SM +Adair/M +Adam/M +adamant/SMY +adamantine +adamantium/M +Adami/M +Adamite/MS +Adams/M +Adamsdown/M +adamsite/M Noun: uncountable +Adamski/M +Adamson/M +Adamstown/M +Adana/M +adapt/RvuBinSVG +adaptability/MS +adaptably +adaptationalism/M +adaptationism/M Noun: uncountable +adaptationist/SM +adaptative/P +adapted/P +adaption/SMO +adaptive/P +adaptivity/M Noun: usually uncountable +adaptogen/SMW +adaptor/SM +ADAS Advanced Driver-Assistance Systems +adaxial +Adbaston/M +Adbolton/M +adbot/SM +ADC/SM +add-on/SM +add/RDGS7 +addax/MS +Addenbrooke/M +addend/SM +addenda/M +addendum/M +Adderbury/M +Adderley/M +addict/MDSGVu +addiction/MS +addictively +Addiebrownhill/M +Addingham/M +Addington/M +Addis/M +Addison/M +addition/oMSO +additive/YSM +additivity/SM +addle/DSG +addlement/M +Addlethorpe/M +addorsed +address/RMBGS +addressed/Aa +addressee/MS +addresses/aA +Addressograph/MS +adduce/bGVNSDr +adduct/GDS +adduction/SM +adductor/MS +Ade/M +Adel/M +Adelaide/M +Adelanto/M +Adele/M +Adeline/M +Adelson/M +Aden/M +Adenauer/M +adenine/M +adenocarcinoma/SM +adenocarcinomata/M +adenohypophyses +adenohypophysis/M +adenoid/OMSo +adenoma/SM +adenomata/M +adenomatous +adenopathy/SM +adenosine/SM +adenosis/M +adenoviral +adenovirus/SM +adept/MTPYS +adequacy/ISM +adequate/IYP +adequateness/SI +Adforton/M +Adhanom/M +Adhara/M +ADHD/M Initialism of attention deficit hyperactivity disorder +adhere/DGRS +adherence/MS +adherent/YSM +adhesion/MS +adhesive/PMSY +adhibit/S +adhibited +adhibiting/S +adhibition/MS +Adi/M +adiabatic/Y +adiabaticity/SM +adiantum/MS +adiaphanous +adiaphorism/M Noun: uncountable +Adidas/M +Adie/M +adieu/S +AdiIRC/M +adios +adiós +adipic +adipoceration/M Noun: uncountable +adipocere/SM +adipocyte/SM +adipocytokine/SM +adipokine/SM +adiponectin/SM +adipose/M Noun: uncountable +adiposity/SM +Adirondack/SM +Adisham/M +adit/MS +Adivasi/SM +adj. +adjacency/MS +adjacent/SMY +adjectival/SMY +adjective/SM +adjoin/SDG +adjoint/SM +adjourn/SLDGO +adjudge/DSG +adjudgement/MS +adjudicate/DGnSVy +adjudicator/MS +adjugate/SGDM +adjunct/SYMV +adjunction/M +adjunctively +adjure/GSDn +adjust/RLDlGS7V +adjusted/UA +adjustor/SM +adjutage/MS +adjutancy/MS +adjutant/MS +adjuvant/SM +Adkins/M +Adkinson/M +adland/M Noun: uncountable +Adleman/M +Adler/M +Adlerian/SM +Adlestrop/M +Adlingfleet/M +Adlington/M +Adm. +adman/M +Admarsh/M +admass/M Noun: uncountable +admaxillary +admeasure/SGDJ +admeasurement/MS +admen/M +admin/SM +Admington/M +adminicle/SM +adminicular/Z +administer/dSn +administrable +administrate/DGSvV +administrator/MS +administratorship/MS +administratrix/M +admirable/P +Admiral/MS +admiral/SM +admiralship/MS +Admiralty/MS +admiralty/SM +admire/RGSDkln +admissibility/MSI +admissible/Y +admission/AM +admissive +admit/SANDGX +admittable +admittance/SM +admitted/Y +admix/SGD +admixture/MS +admonish/SkGLDR +admonition/SM +admonitor/MS +admonitory +Adnams/M +adnate +adnominal +ado/M Noun: uncountable +adobe/NvVSMX +adolescence/SM +adolescent/MYS +Adolf/M +Adolfo/M +Adolph/M +Adonai/M +Adonis/M +adopt/SDR7G +adopted/AU +adoptee/SM +adoption/MO +Adoptionism +Adoptionist/SM +Adoptium/M +adorable/P +adoral/Y +adorant/M +adorative +adoratory/SM +adorb/S +adore/lRSnGkD +adorn/DLSG +Adorno/M +adown +adposition/SM +adpressed +Adrastea/M +adrenal/YSM +adrenalin/M Noun: uncountable +adrenaline/MS +adrenergic/SM +adrenic +adrenocorticotrophic +adrenocorticotrophin/M +adrenocorticotropic +adrenocorticotropin/M +Adrian/M +Adriana/M +Adriano/M +Adrianople/M +Adriatic/M +Adrien/M +Adrienne/M +adrift +adroit/TYP +ads/A +adscititious +ADSL/SM Initialism of Asymmetric Digital Subscriber Line +adsorb/XvDVGS +adsorbate/SM +adsorbent/SM +adsorption/SM +Adstock/M +Adstone/M +adsum +ADte +adulate/SDnGy +adulator/SM +Adullamite/MS +adult/YPSM +adulterant/MS +adulterate/GDnS +adulterator/MS +adulterer/SM +adulteress/MS +adulterine +adulterous/Y +adultery/SM +adulthood/SM +adumbrate/VSGnvD +Adur/M +adust +adv. +Advair/M +advance/LGSDR +advantage/MEDGS +advantageous/EY +advantageousness/E +advantageousness/M +advect/SGD +advection/SM +advective/Y +advent/SvM3 +Adventism +Adventist/MS +adventitia/MO Noun: uncountable +adventitious/PY +adventure/RMSGD3 +adventuresome/Y +adventuress/SM +adventurism/SM +adventurous/U +adventurous/Y +adventurousness/SM +adverb/SoM +adverbial/MS +adversarial/Y +adversary/MS +adversation +adversative/Y +adverse/yTDYGP +adversity/SM +advert/SsQDGM +advertence/M +advertency/M +advertent +advertise/DLJ +advertising/M +advertorial/SM +advice/MS +Advie/M +Advil/SM +advisability/I +advisability/MS +advisable/I +advisableness/M +advise/BLRSGDlh +advisedly/I +advisedness/M +advisee/SM +advisor/MS +advisory/SM +advocaat/SM +advocacy/MS +advocate/NDVSGM +advocateship +advocator/SMZ +adware/M Noun: uncountable +Adwell/M +Adwick-upon-Dearne/M +Adwick/M +AdWords +adyta/M +adytum/M +adze/DMSG +Aeacus/M +aecidia/M +aecidium/M +aeciospore/SM +aecium +aedeagus +aedile/MS +aedileship/MS +Aegaeon/M +Aegean/M +Aegina/M +aegirine/M +aegirite/SM +aegis/SM +Aegon/M +aegrotat/SM +Aelia/M +Aeneas/M +Aeneid/M +Aeolian +aeolian/SM +Aeolic/M +Aeolis/M +aeolotropy/MS +Aeolus/M +aeon/SMWO +aeonian +aepyornis/M +aerate/SnDG +aerator/SM +aerial/M3S +aeriality/M +aerie/oSM +aeriform +aero-engine/MS +aero/SM +aeroacoustic +aerobatic/S +aerobe/MS +aerobic/SY3 +aerobiologist +aerobiology/M Noun: uncountable +aerobiont/MS +aerobioses +aerobiosis/M +aerobiotic/Y +aerobot/SM +aerobrake/SGD +aerobus/SM +aerocar +aerocurve/SM +aerocycle/SM +aerodrome/SM +aerodromic/S +aerodynamic/SY +aerodynamicist/MS +aeroelastic/S +aeroelastician +aeroelasticity/M Noun: usually uncountable +aeroembolism/SM +Aeroflot/M +aerofoil/MS +aerogel/SM +aerogramme/SM +aerolite/SM +aerologist/MS +aerology/Mw +aeromagnetic +aeromedical +aerometeorograph/SM +aerometry/MW +aeromodeller/SM +aeromodelling +aeromotive +Aeron/M +aeronautic/SY +aeronautica/O +aeronef/SM +aeronomer/SM +aeronomic/O +aeronomy/M3 +aerophagy/M Noun: uncountable +aerophone/SM +aeroplane/MS +aeroponic/SY +aeroshell/SM +Aerosmith/M +aerosol/SM +aerosolise/SGD +aerospace/M Noun: usually uncountable +aerosphere/SM +aerostat/SM +aerostatics +aerotrain/SM +aerotropism/M Noun: uncountable +aerovane/SM +Aertex/M +aeruginous +AES/M +Aeschylus/M +Aesculapian +Aesculapius/M +Aesop/M +aesthete/1WSM +aesthetic/OS +aesthetician/SM +aestheticism/SM +aestheticist/MS +aestival +aestivate/SNGDJ +aetatis +aether/MS +aetiology/SW1wM +Aetna/M +AFAIK +afar +AFC +afebrile +affability/SM +affable/TY +affair/SM +affaire/MS +affect/rp=hVvnkDiSG +affected/EPY +affection/EMS +affection/O +affectionate/U +affectionate/Y +affectionateness/M +affective/M +affectivity/SM +Affenpinscher/MS +afferent/YSM +Affero/M +affiance/SDG +affiche/MS +affidavit/SM +affiliate/nESGD +affinage/M Noun: uncountable +affinal/Y +affine/DSM +affineur/SM +affinis Latin +affinitative +affinition/M Noun: uncountable +affinitive/M +affinity/MS +affirm/SvnVGDk +affirmable +affirmation/MA +affirmatory +affirmer/MS +affix/nGSDM +affixture/MS +afflatus/SM +Affleck/M +afflict/VvGDS +affliction/SM +affluence/SM +affluent/Y +afflux/MS +afforce/DGS +afforcement/MS +afford/SGBD +affordably +affordance/SM +afforest/GnDS +Affpuddle/M +affranchise/DGS +affray/MSDG +affreightment/MS +affricate/VSMn +affricative/SM +affright/SMGDJ +affront/SMDGk +affrontive +affusion/SM +afghan/MS +Afghan/SM +afghani/SM +Afghani/SM +Afghanistan/M +aficionado/MS +afield +Afinitor/M +afire +AFK +aflagellar +aflagellate/SM +aflame +aflank +aflap +aflatoxin/SM +afloat +Afluria/M +aflutter +Afonso/M +afoot +afore +aforementioned +aforesaid +aforethought +afoul +afraid/U +afreet/MS +afresh +Afric/M +Africa/M +African-American/SM +African/SMP +Africana +Africanews/M +Africanise/SDGN +Africanism/SM +Africanist/SM +Africanity/M Noun: uncountable +Africanoid/SM +Africanthropus +Africo-American +Afrikaans +Afrikaans/M Noun: uncountable +Afrikaner/SM +Afrikanerdom/M Noun: uncountable +afrit/MS +Afro-American/S +Afro-Asian/S +Afro-Asiatic +Afro-Indian/S +Afro/MS +afro/SM +Afrocentric +Afrocentrism/M Noun: uncountable +Afrocentrist/SM +Afrofuturism/M Noun: uncountable +Afrofuturist/SM +afrormosia/SM +Afrotropical +afrown +aft +after-effect/SM +after-hours +after-image/MS +after-party +after-school +after/S +afterbirth/SM +afterburner/MS +aftercare/MS +aftercast/SM +aftercool/SGDr +afterdamp/M Noun: usually uncountable +afterdeath +afterdeck/SM +afterdischarge/SM +aftereffect/SM +afterfeed +afterglow/SM +aftergrass/M Noun: usually uncountable +aftergrowth +afterhand +afterheat +afterimage/SM +afterknowledge +afterlife/M +afterlight +afterling/SM +afterlives +afterload/SGD +aftermarket/SM +aftermath/MS +aftermost +afterness +afternoon/SM +afterpains +aftersales +aftershave/SM +aftershock/MS +aftershow/SM +aftersight +aftersound/SM +aftersun +aftertaste/SM +afterthought/MS +aftertime/SM +aftertouch/SM +afterview/SM +afterward/S +afterword/SM +afterworld/SM +Ag +Aga/M +aga/MS +Agaa/M +again +against +agama/MS +Agamemnon/M +agamic +agammaglobulinaemia/SM +agammaglobulinemia/SM +agamogenesis/M +agamogenetic +agamospermous +agamospermy/M Noun: uncountable +agamous +Agana/M +agapae/M +agapanthus/SM +agape/MS +Agapemone/M +agar-agar/SM +Ågar/M +agar/MS +agaric/M +Agaricaceae +Agaricales Taxonomic order +Agaricomycetes Taxonomic class +Agaricomycetidae Taxonomic subclass +Agaricomycotina Taxonomic subphylum +agarose/SM +Agartala/M +Agassi/SM +Agassiz/M +agate/SM +Agatha/M +Agathe/M +Agave +agave/SM +Agawam/M +agaze +agba/M +Agden/M +age-long +age-old +age/MihpSD +aged/P +ageing +ageism/SM +ageist/MS +ageless/YP +agency/SM +agenda/MS +agender +ageneses +agenesia/M +agenesis/M +agent/MSGD +agential +agentive/SM +agentspace/SM +Ager/SM +ageratum/M +ageworthy +Agey/M +agflation/M Noun: uncountable +Aggarwal/M +Aggie/M +aggiornamento/M +Agglethorpe/M +agglomerate/nVDSG +agglutinability +agglutinable +agglutinant/SM +agglutinate/nVGDS +agglutinator/SM +agglutinin/SM +agglutinogen/SM +aggrandise/DSLGR +aggravate/GkDSn +aggregant/SM +aggregate/BvnVDYSG +aggregator/SMZ +aggregometer/SM +Aggrenox/M +aggress/SGD +aggressee +aggression/MS +aggressive/YP +aggressivity/M Noun: usually uncountable +aggressor/MS +aggrieve/DhSGi +aggrievement/SM +aggro/M Noun: uncountable +aggroupment/SM +aggry +Aghacommon/M +Aghadowey/M +Aghadrumsee/M +Aghagallon/M +Aghalee/M +Aghamore/M +aghast/P +agile/TY +agility/MS +agio/MS +agist/DGS +agistment/MS +agitate/DVGSnh +agitato +agitator/MS +agitprop/SM +Aglaia/M +agleam +aglet/MS +agley +aglitter +aglow +aglycon/MS +aglycone/MS +agmatine/M Noun: uncountable +agnail/SM +agnate/1WMSw +Agnatha +agnation/SM +Agnes/M +Agnew/M +Agni/M +agnolotti/M Noun: uncountable +agnomen/MS +agnosia/SM +agnostic/MS +agnosticism/SM +Agnus/M +ago +agog +agonise/RDGSkh +agonism/SM +agonist/SMW1 +agony/MSW +agora/MS +agorae/M +agoraphobe/SM +agoraphobia/SM +agoraphobic/SM +Agostinho/M +Agostini/M +Agostino/M +Agoura/M +agouti/SM +AGP/M +AGPL/M +Agra/M +agrammatic/O +agrammatism/SM +agranulocyte/SM +agranulocytosis +agrapha/M +agrarian/SM +agrarianism/MS +agree/dESLlG +agreeable/PE +agreer/SM +agrestic +agri-industry/O +agri-monetary +agribusiness/SM +agribusinessman/M +agribusinessmen/M +agrichemical/SM +agricultor/SM +agricultural/SM3 +agriculture/M3oS +agrimony/SM +Agrippa/M +Agrippina/M +agriproduct/SM +agriscience/SM3 +agritech/M Noun: uncountable +agritourism/M Noun: uncountable +agro-industry/SO^ +Agrobacterium Taxonomic genus +agrobacterium/M +agrobiology/w3M +agrocenosis/M +agrochemical/SMY +agrochemistry/M Noun: uncountable +agroclimatic +agrodespotic +agroecology/SM3w +agroecosystem/SM +agroforester/SM +agroforestry/M Noun: usually uncountable +agronomic/SOY +agronomy/3SMW +agrostology/M Noun: uncountable +agrotech/M Noun: uncountable +agrotechnology/SMw +agroterrorism/M Noun: uncountable +agroterrorist/SM +aground +agroupment/SM +Aguadilla/M +aguardiente/SM +ague/DMS +Aguila/M +Aguilar/SM +Aguilera/M +Aguinaldo/M +aguish +Agulhas +ah +aha/S +Ahab/M +Ahaura/M +Ahaz/M +Ahaziah/M +AHCI/M +ahead +ahem/SM +Ahern/M +ahimsa/M Noun: uncountable +Ahipara/M +ahistoric +ahistorical/Y +ahistoricalness/M Noun: uncountable +Ahititi/M +Ahlberg/M +Ahmad/M +Ahmadabad/M +Ahmadinejad/M +Ahmari/M +Ahmed/M +Ahmedabad/M +Ahnen/M +Ahoghill/M +aholehole/SM +ahoy/SM +Ahrens/M +Ahriman/M +Ahuroa/M +AI/SM +AID +aid/6RGDS +Aida/M +Aidan/M +Aidanfield/M +aide-de-camp +aide-memoire +aide-mémoire +aide/MSD +Aiden/M +aides-de-camp +aides-memoire/S +aidos +AIDS-related +AIDS/M Noun: uncountable +Aighton/M +aigrette/SM +aiguille/MS +aiguillette/MS +Aiken/M +Aikhenvald/M +aikido/SM +Aikman/M +Aikton/M +ail/LSDG +Ailby/M +Aileen/M +aileron/MS +Ailsa/M +Ailsworth/M +ailuranthrope/1MW +ailuranthropy/M +ailurophile/SM +ailurophobe/SM +ailurophobia/MW +aim/RGDpSy +Aimee/SM +aimless/YP +ain't +Ainderby/M +ainhum/M Noun: uncountable +Ainsley/M +Ainstable/M +Ainsworth/M +Aintree/M +Ainu/M +aioli/SM +aionian +air-conditioned +air-conditioner/SM +air-conditioning +air-cooled +air-to-air +air-to-ground +Air/M +air/mzGTp2ZRMDJS +AirAsia/M +airbag/SM +airball/SM +airband/SM +airbase/SM +airbed/SM +airboat/SM +airborne +airbrick/SM +airbrush/MGDS +airburst/SM +airbus/MS +Airbus/SM +aircraft-carrier/SM +aircraft/M +aircraftman/M +aircraftmen/M +aircraftwoman/M +aircraftwomen/M +aircrew/MS +Aird/M +Airdrie/M +airdrop/SDGM +Airedale/MS +Aires/M +airfare/SM +airfield/SM +airflow/MS +airframe/MS +airfreight/GSDM +airglow/M Noun: usually uncountable +airgraph/SM +airgun/SM +airhead/SMD +airing/M +airlessness/S +Airlie/M +airlift/GDMS +airline/RMS +airling +airlock/MS +airmail/GMDS +airmanship/M Noun: uncountable +airmass/SM +airmobile +Airmyn/M +airplay/MS +airport/MS +airscrew/SM +airship/MS +airshow/SM +airsick/P +airside +airspace/MS +airspeed/SM +airstream/SM +airstrike/SM +airstrip/SM +Airth/M +airtight/P +airtime +Airton/M +airwall/SM +airwaves +airway/MS +airwoman/M +airwomen/M +airworthy/TP +Airy/M +airy/TP +Aisha/M +Aisholt/M +Aiskew/M +Aislaby/M +aisle/DGSMp +Aisthorpe/M +ait +aitch/MSp +aitchbone/SM +Aithsting/M +Aitken/M +Aitkin/M +Aizawl/M +Ajaccio/M +ajar +Ajax/M +Ajman/M +ajutage/SM +AK-47/SM +AK/SM +aka +Akaike/M +Akaroa/M +akasha/W +akathisia/SM +Akbar/M +Akebar/M +akee/SM +Akehurst/M +Akeley/M +Akenham/M +Akerley/M +Akerlof/M +Akhenaton/M +Akhmatova/M +Akihito/M +akimbo +akin +akinesia/SM +akinetic +Akira/M +Akita/SM +Akitio/M +Akiva/M +Akkad/M +Akkadian/SM +Akkineni/M +Akmal/M +Akron/M +Akrotiri/M +Akshaya/M +akvavit/SM +Al-Anon/M +al-Fatah/M +al-Haili +Al-Haili/M +al-Jazeera +Al-Jazeera/M +al-Qa'ida/M +Al-Qa'ida/M +Al-Qaeda/M +al-Qaeda/M +al-Sharif +Al-Sharif/M +al-Shimali/M +al-Zawahiri +Al-Zawahiri/M +al/AFC +Al/M +Alabama/M +Alabaman/SM +Alabamian/SM +Alabaster/M +alabaster/SM +alabastrine +Alachua/M +alack +alacrity/SM +Aladdin/M +Alain/M +Alamance/M +Alameda/M +Alamein/M +Alamitos/M +Alamo/SM +Alamogordo/M +Alamosa/M +Alan/M +Alana/M +alanine/SM +Alar/M Noun: uncountable +Alaric/M +alarm/SkGD3Mh +alarmism/M +alarum/MS +alas/S +Alasdair/M +Alaska/M +Alaskan/SM +alasses +Alastair/M +Alastor/M +alate +Álava/M +Alaw/M +Alazraki/M +alb/SM +alba/SM +albacore/SM +Alban/MS +Albania/M +Albanian/MS +Albany/M +albatross/MS +albedo/MS +Albee/M +albeit +Albemarle/M +Alberbury/M +Albergati/M +Alberni-Clayoquot/M +Alberni/M +Albert/M +albert/MS +Alberta/M +Albertan/SM +Albertina/M +Alberto/M +Alberts/M +Albertville/M +albescent +Albian/SM +Albigenses +Albigensian/SM +albinism/SM +albino/SM +albinotic +Albinus/M +Albion/M +Albiorix/M +albite/W +Albourne/M +Albrecht/M +Albright/M +Albrighton/M +albuginean +Albukamal/M +album/MS +albumen/SM +albumin/MS +albuminoid/SMO +albuminous +albuminousness/M Noun: uncountable +albuminuria/SM +Albuquerque/M +Alburgh/M +alburnum/MS +Albury-Wodonga/M +Albury/M +albuterol/M Noun: uncountable +Alby/M +alcahest/SM +alcaic/S +alcalde/SM +Alcatraz/M +alcea +Alcester/M +Alcestis/M +alchemise/SDG +alchemy/W3SMw +Alcibiades/M +Alcinda/M +Alcindor/SM +Alciston/M +Alcoa/M +Alcock/M +alcohol/MW1S +alcoholic/SM +Alcoholics +alcoholism/MS +alcoholometer/MS +alcoholometric/O +alcoholometry/M Noun: uncountable +Alcona/M +Alconbury/M +Alcoran/M +Alcorn/M +Alcott/SM +alcove/DSM +Alcumlow/M +Alcyone/M +Aldan/M +Aldate/M +Aldborough/M +Aldbourne/M +Aldbrough/M +Aldbury/M +Aldcliffe-with-Stodday/M +Aldebaran/M +Aldeburgh/M +Aldeby/M +aldehyde/SMW +Alden/M +Aldenham/M +alder/mM5S +Alderamin/M +Alderbury/M +Aldercar/M +Alderford/M +Aldergrove/M +Alderholt/M +Alderley/M +Aldermanbury/M +aldermancy/SM +aldermanic/O +aldermanry/MS +aldermanship/SM +Aldermary/M +Aldermaston/M +Alderminster/M +Alderney/M +Aldersey/M +Aldersgate/M +Aldershot/M +Alderson/M +Alderton/M +Alderwasley/M +Aldfield/M +Aldford/M +Aldgate/M +Aldham/M +Aldine/M +Aldingbourne/M +Aldingham/M +Aldington/M +Aldis +Aldiss/M +Aldo/M +aldohexose/SM +aldolase/SM +aldopentose/SM +aldose/SM +aldosterone/SM +aldosteronism/SM +Aldrich/M +Aldridge/M +aldrin/M Noun: uncountable +Aldrin/SM +Aldringham/M +Aldrington/M +Aldsworth/M +Aldus/M +Aldwark/M +Aldwick/M +Aldwincle/M +Aldworth/M +Aldwyn/MS +Ale/M +ale/SM +aleatory/W +Alec/M +Aleck/M +alecost/MS +Alectrosaurus Taxonomic genus +alee +alegar/M +Alegre/M +alehouse/SM +Aleichem/M +Aleisa/M +Aleister/M +Alejandra/M +Alejandro/M +Aleksei/M +Alembert/M +alembic/MS +Alen/M +alendronate/SM +Alentejo/M +aleph/SM +Aleppo/M +alert/MPhSDRTYG +Alessandro/M +aleurone/SM +Aleut/M +Aleutian/SM +alewife/M +alewives +Alex/M +Alexa/M +Alexander/M +Alexandra/M +Alexandre/M +Alexandria/M +Alexandrian/SM +Alexandrina/M +alexandrine/MS +Alexandrinus/M +alexandrite/M +Alexandro/M +Alexei/M +Alexia/M +alexin/MS +Alexios/M +alexipharmic/MS +Alexis/M +Alexton/M +Alf/M +Alfa/M +alfalfa/SM +alfereces +alféreces +alferes/M +alférez/M +alferez/M +Alfie/M +Alfold/M +Alfons/M +Alfonso/M +Alfonzo/M +Alford/M +Alfragide/M +Alfred/M +Alfreda/M +Alfredo/M +alfresco +Alfreton/M +Alfrick/M +Alfriston/M +Alfvén/M +alga/MO +algae/M Plural of alga +algaecide/SM +Algarkirk/M +Algarve/M +algebra/3SM +algebraic/OY +algebroid/SM +Algenib/M +Algeo/M +Alger/M +Algeria/M +Algerian/SM +algicide/SM +algid +algidity/M Noun: usually uncountable +Algieba/M +Algiers/M +alginate/SM +alginic +algoid +ALGOL +Algol/M +algolagnia/W +algology/M3w1 +Algoma/M +algometer/SM +Algonkian/SM +Algonquian/SM +Algonquin/MS +algophobia/M Noun: uncountable +algorist/SMW +algorithm/SWM1 +algorithmics +algose +algous +algraphy/M Noun: uncountable +alguazil/SM +Alhambra/M +Alhambresque +Alhazen/M +Alhena/M +Ali/M +alias/GSD +alibi/GSMD +Alicante/M +Alice/M +Alicetown/M +Alicia/M +alicyclic/SM +alidade/MS +alien/GDMn3S7 +alienability/SM +alienable/IU +alienage +alienate/SGD +alienator/MS +alienee/SM +aliener +alienism/M Noun: usually uncountable +Aliff/M +aliform +Aligarh/M +aligation +alight/SGD +align/SaDGLA +aligner/MS +alike/P +aliment/SMGDO +alimentary +alimentation/SM +alimony/SM +Alimta/M +Aline/M +alinement's +Alington/M +Alioth/M +aliphatic +aliquot/SM +Alisa/M +Alisha/M +Aliso/M +Alison/M +alisphenoid/SM +Alissa/M +Alistair/M +Alito/M +alive/P +alizarin/SM +alkahest/MS +Alkaid/M +alkali/MS +alkalify/DGS +alkalimetallocene/SM +alkalimeter/MS +alkalimetry/M Noun: usually uncountable +alkaline +alkalinity/MS +alkalis/QdS +alkaloid/SM +alkalosis +alkane/SM +alkanet +alkanoic +alkanol/SM +Alkborough/M +alkene/SM +Alkerton/M +Alkham/M +Alkington/M +Alkire/M +Alkmonton/M +Alkmund/M +alkoxid +alkoxide/SM +alkoxy +alkoxyl +alkyd/SM +alkyl/M +alkylamine/SM +alkylammonium +alkylating +Alkyonides +All +all-clear +all-day +all-embracing +all-female +all-important +all-in +all-in-one +all-inclusive/P +all-independent +all-instrumental +all-knowing +all-male +all-night +all-out +all-pervading +all-powerful +all-purpose +all-round +all-rounder +all-star +all-time +all/MSc +Allagash/M +Allah/M +Allahabad/M +Allain/M +Allamakee/M +allamanda/SM +Allan/M +allantoic +allantoid +allantoides +allantois +Allanton/M +Allavena/M +allay/GSD +Allbrook/M +Allbutt/M +Allcock/M +Allee/M +allée/S +Allegan/M +Allegany/M +allege/ShnDG +Alleghany/M +Allegheny/SM +allegiance/SM +allegiant +allegoricalness/M Noun: uncountable +allegorise/SGDN +allegory/1MWS3w +allegretto/MS +allegri +allegro/MS +allele/SMW +allelomorph/SMW +allelomorphism/SM +alleluia/S +allemande/SM +Allen/M +Allendale/M +Allende/M +Allensmore/M +Allenton/M +Allentown/M +Aller/M +Allerby/M +Allerdale/M +allergen/MSW +allergy/3W1SM +Allerston/M +Allerthorpe/M +Allerton/M +Allesley/M +Allestree/M +alleviate/SVDnG +alleviator/SM +alleviatory +Allexton/M +alley-oop +alley/MS +Alleyne/M +alleyway/MS +Allhallows/M +alliaceous +alliance/aMS +Alliance/M +Allianz/M +allier +alligate/SGDN +alligator/MS +Allingham/M +Allington/M +Allis/M +Allison/M +alliterate/nVSvDG +Allithwaite/M +Allium +allium/S +Alloa/M +allocable +allocatable/C +allocate/CDnAGSK +allocated/U +allocation's/CKA +allocation/c +allocative +allocator's/C +allocator/KSC +allochore/1SMW +allochorous +allochory/M +allocute/SGD +allocution/SM +allocutus +allocyclic +allodial +allodium/M +allodynia/M Noun: uncountable +allogamous +allogamy +allogeneic +allogenic +allograft/S +allometry/W +allomorph/SMW +Allonby/M +allopath/WZ +allopathist/S +allopatry/W +allophone/1MSW +allophyle +alloplasty/W +allopolyploid/Z +allopurinol/M +allosaurus/S +allose/M Noun: uncountable +allosteric/Y +Allostock/M +allot/SLGD +allotriophagy +allotrope/MWSw +allotropism/MS +allotropy/M +allottee/S +allotter/M +Allouez/M +allow/7DSGhl +allowable/P +allowance/MS +Alloway/M +allowlist/SGDM +alloxan +alloy/SGMD +allozyme +Allred/M +allseed +allspice/M +Allstate/M +Allt-yr-yn/M +Alltmawr/M +allude/vDGVuXSN +allure/LDkGS +allusion/M +allusive/P +alluvia/O +alluvions +alluvium/SM +ally/SGD +Allyn/M +Allyson/SM +Alma/M +Almach/M +Almada/M +almagest +almanac/MS +almanack/MS +almandine +Almar/M +Almásy/M +Almeida/M +Almeley/M +Almer/M +Almere/M +Almighty/M +almighty/PM +almirah/MS +Almodington/M +Almohad/M +almond/SM +Almondbank/M +Almondbury/M +Almondell/M +Almondsbury/M +Almondvale/M +almoner/MS +almonry/MS +Almoravid/SM +almost +alms/m +almsfolk/M +almshouse/MS +almucantar/MS +Alne/M +Alness/M +Alnham/M +alnico/SM +Alnwick/M +aloe/SM +Alofi/M +aloft +alogical/Y +alogicalness/M Noun: uncountable +Aloha +aloha/MS +alone/P +along +alongshore +alongside +Alonzo/SM +aloof/PY +alopecia/SM +alopecian/SM +alopecist/SM +alopecoid +alopecy/M Noun: uncountable +aloud +Aloysius/M +alp/SM +alpaca/SM +alpargata/SM +Alpena/M +alpenhorn/SM +alpenstock/SMr +Alpert/M +Alpha +alpha/SM +alphabet/sQSWq1Mw +alphabetarian/SM +Alphacoronavirus Taxonomic genus +alphacoronavirus/SM +alphafetoprotein/M Noun: uncountable +Alphagan/M +Alphage/M +alphameric/OY +Alphamstone/M +alphanumeric/OYS +Alpharetta/M +alphasyllabary/SM +Alphatetraviridae Taxonomic family +alphavoltaic/S +Alphege/M +Alpheton/M +Alphin/M +Alphington/M +Alphonse/M +Alpine +alpine/SM +Alpington/M +Alpinist/MS +Alpraham/M +alprazolam/M Noun: uncountable +Alps/M +already +Alresford/M +Alrewas/M +alright +Alsace/M +Alsager/M +Alsatia/M +Alsatian/SM +Alsip/M +also +also-ran/S +Alsop/M +Alstom/M +Alston/M +Alstone/M +Alstonefield/M +Alstonfield/M +alstroemeria/SM +Alt +alt-rock +alt-weekly/SM +Altaba/M +Altai/M +Altaic/M +Altair/M +Altamira/M +Altamonte/M +Altamuskin/M +altar/SM +Altarnon/M +Altarnun/M +altarpiece/SM +altazimuth/SM +Altcar/M +altcoin/SM +alter/dS7 +alterability/MS +alterable/UI +alterant/M +alteration/SM +alterative +altercate/n +alterer/SM +alternant/SM +alternate/VvuSDGYn +alternative/PMS +alternator/SM +Altham/M +Althea/M +althorn/S +Althorne/M +Althorp/M +Althorpe/M +although +altimeter/MS +altimetry/SMW +Altishane/M +altitude/SMO +altitudinarian/SM +altitudinous +altivolant +Altman/M +Altmann/M +Altmore/M +Altnaharra/M +Alto/M +alto/SM +altocumuli/M +altocumulus/M +altogether +Alton/M +Altoona/M +Altos/M +altostratus +altricial +Altrincham/M +altrose/SM +altruism/SM +altruist/1MSW +Altus/M +ALU +alum/SM +alumina/SM +aluminate/DS +alumine/W +aluming +aluminian +aluminide/SM +aluminiferous +aluminisation/MS +aluminise/SGDJ +aluminium/SM +aluminocene +aluminosilicate/SM +alumna/M +alumnae/M +alumni/M +alumnus/MS +Alun/M +alundum/M +Aluph/M +Alva/M +Alvah/M +Alvanley/M +Alvarez/M +Álvarez/M +Álvaro/M +Alvaston/M +Alvechurch/M +Alvediston/M +Alveley/M +alveolar/YSM +alveolate/SM +alveole/MS +alveoli/M +alveolus/M +Alverdiscott/M +Alvernaviridae Taxonomic family +Alvernia/M +Alverstoke/M +Alverthorpe/M +Alverton/M +Alves/M +Alvescot/M +Alveston/M +Alvie/M +Alvin/M +Alvingham/M +Alvington/M +Alwalton/M +Alway/M +always +Alwington/M +Alwinton/M +Alwoodley/M +Alxasaurus Taxonomic genus +Alypius/M +Alyssa/M +Alyssum +alyssum/SM +Alyth/M +Alzheimer/M +am/A +AMA +amadavat/MS +Amadeus/M +Amado/SM +Amador/M +Amadora/M +Amalfi/M +amalgam/nVSM +amalgamate/SDG +Amalia/M +Amalie/M +Amalthea/M +Amanda/M +Amanita Taxonomic genus +Amanitaceae Taxonomic family +amanuenses +amanuensis/M +Amaral/M +amaranth/SM +Amaravati/M +amaretto/SM +Amarillo/M +Amaro/M +amaryllis/SM +amass/GDSr +amassment/S +amateur/MS +amateurish/PY +amateurism/SM +Amati/MS +Amato/M +amatriciana/M Noun: uncountable +amaurosis/M +amaurotic +amaze/LDhkGS +Amaziah/M +Amazon/MS +amazon/SM +Amazonas/M +Amazonia/M +amazonian +Amazonian/SM +ambassador/SMO +ambassadorship/MS +ambassadress/SM +Ambaston/M +Amber/M +amber/MS +ambergris/MS +amberjack/M +Amberley/M +Ambert/M +ambiance/SM +ambidexterity/SM +ambidextrous/Y +ambience/SM +ambient/SM +ambifix/SM +ambiguity/SM +ambiguous/UY +ambiguousness/M Noun: usually uncountable +ambisexual/Y +ambisonic/S +ambit/SM +ambition/MSp +ambitious/UY +ambitiousness/SM +ambivalence/SM +ambivalency/MS +ambivalent/Y +ambiversion/M Noun: uncountable +ambivert/SM +Ambivulus/M +amble/DG +amble/KS +Amblecote/M +ambler/MS +Ambleside/M +Ambleston/M +amblyopia/MW +Amblyrhynchus Taxonomic genus +Ambo/M +Amboina/M +Ambondro/M +Amboy/M +amboyna/SM +Ambrosden/M +ambrose +ambrosia/MSOo +Ambrosian +Ambrosiaster/M +ambrotype/SM +ambry/MS +ambulacra/M +ambulacral/SM +ambulacrum/M +ambulance/MS +ambulanceman/M +ambulancemen/M +ambulancewoman/M +ambulancewomen/M +ambulant/S +ambulate/SyDGn +ambulatory/SM +ambuscade/SMDGr +ambush/RSGDM +Amcotts/M +AMD/M +Amdahl/M +Amélia/M +Amelia/M +ameliorate/DGnVS +amen/dgl7S +amenability/SM +amend/r7GDLS +amener +amenity/SM +amenorrhoea/M +Amer/M +Amerada/M +amerce/SGLD +America/MSP +American/MS +Americana +Americanese +Americanesque +Americanise/SGDn +Americanism/SM +Americanist/SM +americium/SM +Américo/M +Americus/M +Amerind/MS +Amerindian/MS +Amersham/M +Ames/M +Amesbury/M +amethyst/SM +amethystine +Amfreville/M +Amgen/M +Amgoed/M +Amgueddfa/M +Amharic/M +Amherst/M +Ami/M +amiability/SM +amiable/YTP +amianthus +amicability/MS +amicable/PY +amid +amide/MS +amidship/S +amidst +Amiens/M +Amiga/SM +AmigaDOS/M +AmigaOne/M +AmigaOS/M +amigo/MS +Amihai/M +amikacin +amine/S +Aminet/M +amino/M +aminobenzoic +aminoglycoside/S +aminohydrolase +aminopeptidase/SM +aminophylline +amiodarone/M +Amir/M +amir/SM +Amirani/M +Amis/M +Amish/M +amiss +Amit/M +Amite/M +Amitiza/M +amitosis +amitotic/Y +amitriptyline/M +Amity/M +amity/MS +amlodipine/M +Amlwch/M +Amma/M +Amman/M +Ammanford/M +ammeter/SM +ammo/SM +Ammon/M +ammonia/SM +ammoniac/O +ammoniated +ammonite/S +ammonium/M +ammonoid/SM +ammunition/SM +amnesia/SMW +amnesiac/SM +amnesty/DSGM +amnia/M Plural of amnion +amnio/SM +amniocenteses +amniocentesis/M +amnion/MS +amniote/SW +Amoco/M +amoeba/MSW +amoebae +amoebiasis +amoeboid +amok +AMOLED/M +Amon/M +among +amongst +amontillado/SM +amoral/Y +amorality/SM +amorallym +Amorim/M +amorous/PY +Amorphis/M +amorphism/SM +amorphous/PY +amortisable +amortise/nSGD +amortised/U +Amos/M +amosite/SM +Amotherby/M +Amotz/M +amount/MSGD +amour/MS +amoxicillin/SM +amoxycillin/SM +amp/SYGMD +amperage/SM +ampere/MS +Amperian +amperometry/MW +ampersand/SM +Ampfield/M +amphetamine/MS +Amphibia Taxonomic class +amphibian/MS +amphibious/PY +amphibole/SM +amphibolite/SM +amphibology/MS +amphibrach/W +amphioxus +amphipod/SM +Amphipoda Taxonomic order +amphiprostyle/SM +amphisbaena/SM +Amphisbaenia +amphisbaenian/SM +amphitheatre/SM +amphora/SM +amphorae +amphoteric +amphotericin/SM +amphoterism/M Noun: uncountable +ampicillin/SM +ample/PT +Ampleforth/M +amplification/M +amplify/DRGSn +amplitude/SM +Ampner/M +Ampney/M +Amport/M +ampoule/MS +Ampthill/M +Ampton/M +ampulla/SM +ampullae/M Plural of ampulla +amputate/DSGn +amputation/M +amputee/SM +Amqui/M +Amritchandra/M +Amritsar/M +Amroth/M +Amsterdam/M +Amstrad/M +amt. +Amtrak/M +amu +amuck +amulet/MS +Amulree/M +Amundsen/M +Amur/M +amuse/RSkLVhDG +amusing/P +Amwell/M +Amy/M +amygdala +amygdalae +amygdaloid +amyl/M +amylase/MS +amyloid +amyloidosis +amylopectin +amylose +amyotrophy/W +Amytal/M +an/CS +Ana/M +Anabaptism +Anabaptist/MS +Anabela/M +anabiosis +anabiotic +anabolic +anabolism/MS +anabranch/S +anachronic +anachronism/SM +anachronistic/Y +anachronous/Y +anaclitic +anaconda/SM +Anacortes/M +Anacreon/M +anacreontic/S +anadromous +anaemia/SM +anaemic/Y +anaerobe/MW1S +anaerobiont/M +anaerobioses +anaerobiosis/M +anaerobiotic +anaesthesia/MS +anaesthesiology/M3S +anaesthetic/YMS +anaesthetise/RnSGD +anaesthetist/MS +anagen +anagenesis +anagenetic +anaglyph/SMW +anagoge +anagogy/W1 +anagram/GMDS +anagrammatic/Y +Anaheim/M +Anahuac/M +Anakin/M +Anakiwa/M +anal-sadism/M +anal-sadistic +anal/Y +analcime/SM +analecta +analects +analeptic/SMOY +analgesia/MS +analgesic/SMY +analogous/PY +analogue/SM +analogy/SQM1w +analphabetic/SMO +analysand/MS +analysandum/M +analyse/GWSRNB +analysed/aU +analysis/M +analyst/SM +analyte/SM +analytic/YSO +analyticity/S +anamorphic/Y +anamorphoses +anamorphosis/M +Anand/M +Ananelus/M +Ananias/M +Ananke/M +anapaest/WSM +anaphase +anaphora/1WM +anaphrodisiac/S +anaphylactic +anaphylaxis +anaplasmosis/M +anaplastic +anarchism/SM +anarchistic +anarcho-primitivism +anarchy/3Ww1SM +Anastasia/M +anastigmatic +anastomose/DGSW +anastomosis/M +anastrophe/S +anastrozole/M +anathema/MS +anathematic/O +anathematisation/SM +anathematise/SGD +Anatolia/M +Anatolian/S +anatomy/Q13wSWM +anatta/M Noun: uncountable +Anau/M +Anaxagoras/M +Ancaster/M +ancestor/MS +ancestral/Y +ancestress/SM +ancestry/SM +ancho/SM +Ancholme/M +anchor/m5dSM +Anchorage/M +anchorage/MS +anchoress/SM +anchoret/WSM +anchoretical/Y +anchorite/SWM +anchoritism/M Noun: uncountable +anchorpeople/M +anchorperson/SM +Anchorsholme/M +anchovy/MS +Anchusa Taxonomic genus +anchylose/SGDJ +ancient/TPYS +ancillary/SM +Ancoats/M +Ancroft/M +Ancrum/M +Ancyra/M +and/DG +Andalusia/M +Andalusian/SM +Andaman/M +andante/SM +andantino/SM +Andean/M +Anderby/M +anders +Andersen/M +Anderson/MS +Andersson/M +Anderston/M +Anderton/M +Andes/M +andesite/WSM +Andhra/M +Andie/M +andiron/MS +Andorra/M +Andorran/SM +Andover/M +Andoversford/M +Andrade/M +andradite/SM +András/M +André/M +Andre/M +Andrea/M +Andreas/M +Andrei/M +Andretti/SM +Andreu/M +Andrew/M +Andrews-Lhanbryd/M +Andrews/M +Andreyevich/M +Andriy/M +androcentric/Y +androcentrism/M Noun: uncountable +androcracy/SM +androcratic +androecia/OM +androecium/M +androgen/MSW +androgenetic +androgyne/SM +androgynous/Y +androgyny/MS +Android/SM +android/SM +andrology/3M +Andromache/M +Andromeda/M +Andromedae +andropause/O^ +androphilia/M Noun: uncountable +Andropov/M +Androscoggin/M +androstanediol/SM +androsterone/SM +Andrzej/M +Andy/M +Äneas/M +anecdotal/3 +anecdote/SMo3 +anechogenic +anechoic/Y +Aneirin/M +anele/SGDJ +anemochore/1SMW +anemochorous +anemochory/M Noun: uncountable +anemometer/SM +anemometry/MW +anemone/MS +anemophilous +anemophily +anencephalia/W +anencephalous +anencephaly/SM +aneroid +aneuploid/Z +aneurysm/OSM^ +anew +Anfield/M +Ang/M +angel/S1wMW +Ângela/M +Angela/MW +Angeleno/SM +Angeles/M +angelfish/SM +angelica/MS +Angelico/M +Angelicus/M +Angelika/M +Angelina/M +Angelino/SM +Angelman/M +Angelo/M +angelology +Angelou/M +Angels/M +angelus +Angelus/M +Anger/M +anger/MdS +Angersleigh/M +Angerton/M +Anges/M +Angevin/SM +Angie/M +angina/MS +angiocardiographic +angiogenesis +angiogram/SM +angiographer/SM +angiography/W1 +angioid +angioneurotic +angioplasty/SM +angiosperm/SM +angiospermous +angiotensin +Angkor/M +anglais vice anglais +angle/MRSJGD +Angle/MS +anglepoise +anglerfish/SM +Anglesey/M +anglesite +Angleton/M +anglewise +angleworm/MS +Anglezarke/M +Anglia/M +Anglian/MS +Anglican/MS +Anglicanism/M +anglicise/nSGD +Anglicism/S +Anglicist +Anglicity +angling/M +Anglist/MS +Anglistics +Anglo-American/S +Anglo-Boer +Anglo-Catholic/S +Anglo-Catholicism +Anglo-French +Anglo-German/S +Anglo-Indian/S +Anglo-Irish +Anglo-Irishman +Anglo-Israelism +Anglo-Israelitism +Anglo-Jewish +Anglo-Jewry +Anglo-Judaic +Anglo-Latin +Anglo-Norman +Anglo-Russian +Anglo-Saxon/S +Anglo-Saxonism/S +Anglo/SM +Anglocentric +Anglomania +Anglomaniac/MS +Anglophile/SM +Anglophilia/M Noun: uncountable +Anglophobe/MSW +Anglophobia/M +anglophone/MS +Anglophonie +Anglophony +Anglosphere +Angmering/M +Angola/M +Angolan/SM +Angora/M +angora/MS +Angostura/M +Angram/M +angry/PTY +angst/MS +angstrom/SM +Anguiano/M +Anguilla/M +anguish/MDSG +angular/Y +angularity/MS +angulate/SGDn +Angus/MS +Anhalt/M +anharmonic +anhedonia/WM Noun: usually uncountable +Anheuser/M +Anhui/M +anhydride/SM +anhydrite/SM +anhydrous/Y +Anichi/M +aniconic +aniconism +aniline/MS +anilingus +anima +animacy/M Noun: usually uncountable +animadversion/SM +animadvert/GDS +animal/PMqSQY~ +animalcular +animalcule/SM +Animalia Taxonomic kingdom +animaliculture/M +animalism/SM +animalist/SM +animalistic/Y +animality/SM +Animas/M +animatable +animate/DnASG +animated/Y +animately/I +animateness/I +animateness/M +animatic/S +animation/AM +animator/SM +animatronic/S +anime +animé +animism/MS +animist/WSM +animosity/MS +animus/SM +anion/SWM +anise/MS +aniseed/SM +aniseikonic +anisette/SM +Anisimov/M +anisogamous +anisogamy/M Noun: uncountable +anisotropy/MWS1 +Aniston/M +Anita/M +Anjeanette/M +Ankara/M +Ankeny/M +ankh/SM +ankle/GDMS +anklebone/MS +anklet/MS +ankylosaur/SM +ankylose/SGDJ +Anlaby/M +anlace/S +Anmer/M +Ann/M +Anna/MS +Annabel/M +Annabelle/M +Annabi/M +Annaclone/M +Annaghmore/M +Annahilt/M +Annahugh/M +annal/3SM +Annalee/M +annalen +annalistic/Y +Annalong/M +Annan/M +Annandale/M +Annapolis/M +Annapurna/M +Annbank/M +Anne/MS +anneal/DRGS +Annefrank/M +annelid/MS +Annelida Taxonomic phylum +Annesbrook/M +Annesley/M +Annette/M +annex/nDSG +annexationist/SMW +annexe/M +annicut/SM +Annie/M +Anniesland/M +annihilate/SnVDG +annihilationism/M Noun: uncountable +annihilationist/SM +annihilator/SM +Annika/M +Anning/M +Anniston/M +Annius/M +anniversary/SM +Anno Latin: Anno Domini +annock +Annonaceae Taxonomic family +annotate/GnVDS +annotator/SM +announce/RDSLG +annoy/DkRSG +annoyance/MS +annoybot/SM +annoyingness/M Noun: uncountable +annoyware/M Noun: uncountable +Annsborough/M +annual/MYS +annualise/SGD +annuitant/SM +annuitise/SGDN +annuity/SM +annul/GLDS +annular/Y +annulate/Dn +annulet/SM +annuli/M +annulus/M +annum/SM +annunciate/DnSG +annunciator/MS +anode/MQSW +anodyne/SM +anoint/SDGLr +Anoka/M +anomalistic +anomalous/PY +anomaly/SM +anomer/MS +anomic Adjective +anomie/SM +anon/SM +anonym/SM +anonymise/SGDNR +anonymity/SM +anonymous/Y +Anopheles Taxonomic genus +anopheles/M +anopheline/SM +anorak/SM +anorectal +anorectic +anorexia/MS +anorexic/SMY +anorgasmia/M Noun: uncountable +anorgasmic Adjective +anorthosite/SM +anosognosia/SM +anosognostic +another/M +anovulant/SM +anovulation/M Noun: uncountable +anoxia/M Noun: uncountable +anoxic/Y +ans/M +ansation/M +ansatz/M +Ansell/M +Anselm/M +Anselmo/M +Ansford/M +Anshan/M +ANSI/M +Ansley/M +Anslow/M +Anson/M +Ansonia/M +Anstey/M +Anston/M +Anstruther/M +Ansty/M +answer/7drSM +answerphone/SM +ant/E +ant/MS +antacid/SM +antagonise/RSGD +antagonism/SM +antagonist/WSM1 +Antalya/M +Antananarivo/M +Antarctic/M +Antarctica/M +Antares/M +antasthmatic/SM +antbird/SM +ante-mortem +ante/SMW +anteater/SM +antebellum Adjective +antecedence/SM +antecedent/YMS +antechamber/MS +antechapel/SM +antedate/GSD +antediluvian/SM +antelope/MS +antenatal/Y +antenna/SM +antennae/M +antennule/SM +antepartum Adjective +antepenult/SM +anterior/SYP +anteriormost +antero-frontal +antero-parietal +antero-posteriorly +antero-septal +Antero/M +anterograde/Y +anterolateral +anteroloph/SM +anterolophid/SM +anteroom/MS +anteroposterior +anteroventral +Antetokounmpo/M +anteversion/SM +anteverted +Anthe/M +anthecology/Mw +anthelmintic/SM +anthem/MdS +anthemic/SMY +anther/MS +antheridia/MO +antheridium/M +antherozoid/SM +anthesis/M +anthill/SM +anthocyan/SM +anthocyanin/SM +Antholin/M +anthologise/SGD +anthology/SM3 +Anthony-in-Meneage/M +Anthony/M +anthophilous +anthophyllite/SM +Anthozoa Taxonomic class + Taxonomic subphylum +anthozoan/SM +anthracene/SM +anthraces +anthracite/MSW +anthracnose/SM +anthracosis/M Noun: uncountable +anthrax/M Noun: usually uncountable +anthropic/a +Anthropocene +anthropocentric/Y +anthropocentrism/SM +anthropogenic/Y +anthropoid/SM +anthropology/31wMS +anthropomancy/M Noun: uncountable +anthropometric/SOY +anthropometry/WSM +anthropomorphic/Y +anthropomorphisation/SM +anthropomorphise/SGD +anthropomorphism/SM +anthropomorphous/Y +anthroponym/SM +anthropophagi/M +anthropophagous/Y +anthropophagus/M +anthropophagy/M Noun: usually uncountable +anthropophilic Adjective +anthroposophy/Mw +anthroposphere/SMW +anthurium/SM +anti-abortion/3 +anti-ageing +anti-aggression +anti-aircraft +anti-American +anti-Americanism +anti-androgen/SM +anti-apartheid +anti-British +anti-capitalism +anti-capitalist +anti-Christian +anti-collision +anti-constitutional +anti-corrosion +anti-corruption +anti-democratic +anti-depression +anti-emetic/S +anti-establishment +anti-feminism +anti-feminist +anti-fraud +anti-gay +anti-government +anti-gravity +anti-hero/M +anti-heroes +anti-hunt/G +anti-infective +anti-inflammatory +anti-intellectual/S +anti-lock +anti-magnetic +anti-nuclear +anti-personnel +anti-piracy +anti-racism +anti-racist/S +anti-recession +anti-Semitic +anti-Semitism/M +anti-slavery +anti-subversion +anti-tank +anti-tetanus +anti-vax/r +anti-vaxxer/SM +anti-war +anti-Western +anti/S +antialiasing +antiandrogenic +antianxiety/SM +antiasthmatic +antibacterial/SMY +antiballistic +antibiosis +antibiotic/MS +antiblack +antiblackism/M Noun: uncountable +antibody/MS +antibubble +antic/GMDS +anticancer +anticathode/SM +anticellulite +anticholinergic/SM +anticholinesterase/SM +Antichrist/SM +anticipate/nySvVGD +anticipated/U +anticipator/SM +anticlerical/SM3 +anticlericalism/M Noun: uncountable +anticlimactic/Y +anticlimax/MS +anticline/MS +anticlockwise +anticoagulant/SMY +anticoagulation/M +anticommunism/SM +anticommunist/MS +anticompetitive +anticonvulsant/SM +anticyclone/SMW +antidemocratic/OY +antidepressant/SM +antidepressive/SM +antiderivative/SM +antidevelopment +antidiabetic +antidiarrhoeal +antidisestablishmentarian/SM +antidisestablishmentarianism/M Noun: usually uncountable +antidiuretic +antidote/SDMG +antidromic/OY +antielectron/SM +antiepileptic/SM +Antietam/M +Antifa +antifascist/SM +antifeedant/SM +antiferromagnetic +antiferromagnetism/M Noun: uncountable +antifog/G +antiformant +antifouling +antifreeze/MS +antifundamentalist/SM +antifungal/SM +antigen/MSW +antigenicity/SM +antiglobalisation +Antigone/M +Antigonus/M +antigravity/M Noun: uncountable +Antigua/M +Antiguan/SM +antihero/M +antiheroes +antihistamine/MSW +antihistorical +antihydrogen/M Noun: usually uncountable +antihypertensive/SM +antiknock/SM +Antilegomena/M +Antilles/M +antilog/SM +antilogarithm/MS +antilogy/SM +antimacassar/MS +antimalarial/SM +antimatter/MS +antimetabolite/SM +antimicrobial/SM +antimilitarism/SM +antimilitarist/SM +antimissile/SM +antimonide/SM +antimony/SM +antimycotic/SM +Antin/M +antineoplastic +antineutrino/SM +antineutron/SM +Antingham/M +antinomian/SM +antinomianism/SM +antinomy/SM +Antinous/M +antinovel/SM +antinuclear/3 +Antioch/M +Antiochus/M +antioestrogenic +antioxidant/MS +antiparallel +antiparasitic +antiparticle/SM +Antipas/M +antipasti/M +antipasto/MS +antipathy/SMW +antipattern/SM +antipersonnel +antiperspirant/SM +antiphon/MSo +antiphonal/SM +antiphonary/S +antipodal/SM +antipode/SM +antipodean/SM +antipope/SM +antipornography/W +antiproton/SM +antipruritic/SM +antipsychotic/SM +antipyretic/SM +antiquarian/MS +antiquarianism/MS +antiquark/SM +antiquary/SM +antiquate/GSD +antiquation/M Noun: usually uncountable +antique/MSDNG +antiquity/SM +Antiquus/M +antiredeposition +antireligion +antireligious +antiresonance/SM +antiresonator +antiretroviral/SM +antirrhinum/SM +antiscience/SM +antiscorbutic/SM +antisemitic +antisemitism/M Noun: uncountable +antisense/SM +antisepses +antisepsis/M +antiseptic/SMY +antisera/M +antiserum/M +antislavery +antisocial/SMY +antisociality/M Noun: uncountable +antisolar +antispam +antispasmodic/SM +antistatic/SM +Antisthenes/M +antistrophe/SM +antisubmarine +antisymmetry/SMW +antitank +antiterror/3 +antiterrorism/M Noun: uncountable +antitheses +antithesis/M +antithet/SM +antithetic/YO +antithrombin/SM +antithyroid +antitoxic +antitoxin/SM +antitrinitarian/SM +antitrust/Mr +antitrypsin/SM +antitubercular +antituberculous +antitumour +antitumoural +antitussive/SM +antitype/SM +antitypical/Y +antiulcer Adjective +antivenene/SM +antivenin/SM +antivenom/SM +antiviral/SM +antivirus/SM +antivivisection/3 +antivivisectionism/M Noun: uncountable +antiwar +antiworm Adjective +Antje/M +antler/MS +antlered +Antlia/M +Antoine-Labelle/M +Antoine/M +Antoinette/M +Anton/M +Antonella/M +Antoni/M +Antonia/M +Antonine/M +António/M +Antonio/M +Antonius/M +antonomasia/SM +Antony/M +antonym/SM +antonymous/Y +antra/MO +Antrim/M +Antrobus/M +antrum/M +antsier +antsiest +Antunes/M +Antwerp/M +Anubis/M +Anuket/M +Anunnaki/M +Anunnakian Adjective +anuran/SM +anuria/SMW +anus/MS +anvil/DGSM +Anwick/M +Anwoth/M +anxiety-free Adjective +anxiety-ridden Adjective +anxiety/SM +anxiogenic/SM +anxiolytic/SM +anxious/PY +any +anybody/SM +anyhow +anyone/M +anything/M +anytime +anyway +anywhere +anywise +Anzac/MS +Aokautere/M +AOL/M +Aomori/M +aorist/SM +aorta/WSM +Aotea/M +Aoyama/M +ap +APA/SM +apace Adverb +Apache/SM +Apalachicola/M +apart/PL +apartheid/M +apathetic/Y +apathy/MSW +apatite/SM +apatosaurus/SM +APC/SM +ape/M1GwSDR +apelike +apelin/M Noun: uncountable +Apelles/M +apeman/M +apemen/M +Apennines +aperiodic/Y +aperiodicity/M +aperitif/SM +aperture/DMSO +Apesthorpe/M +apetalous +Apethorpe/M +Apex/M +apex/SM +aphasia/SM +aphasic/SM +aphelia/SM +aphelion/SM +aphereses +apheresis/M +aphid/MS +aphonic/SM +aphorism/MS +aphoristic/OY +aphotic +aphrodisiac/SMO +Aphrodite/M +API/SM +Apia/M +apiary/S3M +apices +apiculture/OM3 +apiece Adverb +apiology/M Noun: uncountable +Apion/M +apiose/SM +apish/YP +apixaban/M Noun: uncountable +aplenty +Apley/M +aplomb/SM +apnoea/M Noun: usually uncountable +APO/M +apoapsis/M +Apocalypse/SM +apocalypse/WMS +apocalyptical/Y +apocalypticism/M Noun: uncountable +Apocrypha/M +apocrypha/oSM +apocryphal/P +apocryphon +apodeictic/OY +apodictic/OY +apodoses +apodosis/M +apogean Adjective +apogee/SM +apolar/Y +apolitical/Y +Apollinaris/M +Apollo/M +apollo/SM +Apollodorus/M +Apollonia/M +Apollonian/SM +Apollonius/M +Apollyon/M +apologetic/SY +apologia/SM +apologue/SM +apology/SQsM3 +apolune/SM +apomictic/Y +apomixes +apomixis/M +aponeuroses +aponeurosis/M +aponeurotic/Y +apophases +apophasis/M +apophatic/Y +apophthegm/SM +apophyllite/SM +Apopka/M +apoplast/SMW +apoplectic/SM +apoplexy/SM +apoprotein/SM +apoptoses +apoptosis/M +apoptotic/Y +aposematic/Y +aposematism/SM +aposporous Adjective +apospory/M Noun: uncountable +apostasy/SM +apostate/MS +apostatic/OY +apostatise/SGD +apostatism +Apostille +apostle/MS +Apostle/SM +apostlebird/SM +apostleship/MS +apostolate/SM +Apostolic/O +apostolic/OY +apostrophe/SM +apostrophise/SGD +Apotgan/M +apothecary/MS +apothem/SM +apotheoses +apotheosis/M +apotheosise/SGD +apotropaia/M +apotropaic/SMY +apotropaion/M +apozem/SM +app/MS +appal/DSGk +Appalachia/M +Appalachian/MS +Appaloosa/MS +appaloosa/SM +appanage/SM +Appanoose/M +apparat/SM +apparatchik/SM +apparatchiki/M +apparatus/SM +apparel/DGMS +apparent/PY +apparition/SM +appeal/GDSkMr7 +appear/GADSE +appearance/AMES +appearer/SM +appease/SDRLG +appellant/SM +appellate/Vvn +appellative/SM +append/SGRD +appendage/SM +appendant/SM +appendectomy/SM +appendicectomy/SM +appendices +appendicitis/MS +appendicular +appendix/MS +apperception/SM +apperceptive +appertain/SDG +appetiser/SM +appetising/UY +appetite/VSM +Apphia/M +Appiah/M +Appian/M +AppImage/SM +Appin/M +applaud/RSDG +applause/MS +apple-cart/SM +apple-pie/SM +Apple/M +apple/YSM +Appleby/M +Applecross/M +Appledore/M +Appledram/M +Appleford-on-Thames/M +Appleford/M +Applegarth/M +applejack/SM +AppleScript/SM +Appleshaw/M +applet/MS +Appleton/M +Appletreewick/M +Applewhite/M +appliance/SM +applicability/MI +applicability/S +applicable/Y +applicant/SM +application/AM +applicator/SM +applied/Aa +applier/aM +applies/Aa +Appling/M +appliqué/SMG +appliquéd +applistructure/SM +applotment/SM +apply/vnRGDSV +applying/a +appoggiatura/SM +appoggiature/M +appoint/RLSVDG +appointed/EA +appointee/SM +appointing/E +appoints/EA +Appomattox/M +apportion/LADSG +apposite/Yx +appositeness/M Noun: usually uncountable +apposition/SM +appositional/SMY +appositive/SM +appraisable +appraisal/AMS +appraise/AGSD +appraise/k +appraisee/SM +appraisement/SM +appraiser/MS +appraisive +appreciable/YI +appreciably/I +appreciate/vyGVDnuS +appreciated/U +appreciative/IYP +appreciator/MS +apprehend/DvNVSGuXr +apprehended/a +apprehending/a +apprehends/a +apprehensible +apprehension/aMS +apprehension/O +apprehensive/P +apprentice/DSGM +apprenticeship/SM +apprise/kSGD +approach/BRGDS +approachability/M Noun: usually uncountable +approachable/U +approbate/n +approbation/MES +appropriable +appropriacy/SM +appropriate/GnaDS +appropriately/I +appropriateness/ISM +appropriative +appropriator/SM +approval/MES +approve/D +approve/RkEGSD +approx +approximant/SM +approximate/GVSvDYn +appurtenance/MS +appurtenant/SM +Apr +après-ski/G +apricot/MS +April/MS +apriorism/SM +apriorist/MS +aprioristic/Y +apron/SM +aproned +apronful/MS +apropos +apse/SM +apsis/M +apt/TPY +apterygote/SM +apterygotous +Aptian A subdivision of the Early (Lower) Cretaceous epoch +aptitude/SM +aptly/I +aptness/IS +Apton/M +aptonym/SMW +aptronym/SMW +APU/SM +Apuldram/M +Apulia/M +aqua/MS +aquaculture/MS +aqualung/MS +aquamarine/SM +aquanaut/SM +aquaplane/MDGS +aquarelle/SM +aquaria/M +Aquarian/SM +aquarist/SM +aquarium/SM +Aquarius/MS +aquarobics +aquatic/YS +aquatint/MS +aquavit/SM +aqueduct/SM +aqueous/Y +aquiculture/SM +aquifer/MS +Aquila/M +aquilegia/SM +aquiline Adjective +Aquinas/M +Aquino/M +Aquitaine/M +Aquitainian/SM +Aquitania/M +Aquitanian/SM +aquittal +Ar +Ara/M +Arab/MS +arabesque/MS +Arabia/M +Arabian/SM +Arabic/MY +Arabicism/SM +Arabidopsis +arability/MS +arabin/M Noun: uncountable +arabine/M Noun: uncountable +arabinogalactan/SM +arabinogalactane/SM +arabinose/SM +arabinoside/SM +arabinotransferase/SM +Arabis Taxonomic genus +arabis/M +Arabism/SM +Arabist/SM +arable/SM +Araby/M +arachidic Adjective +arachidonic Adjective +arachnid/SM +Arachnida Taxonomic class +arachnoid/SM +arachnology/w3M +arachnophobe/SM +arachnophobia/M Noun: usually uncountable +Arafat/M +Arago/M +Aragon/M +Aragonese/M +aragonite/SMW +Arai/M +Arakura/M +Aral/M +araldite +Araldite/M +aralia/SM +Aramaic/SM +arame/M Noun: uncountable +aramid/SM +Aramoana/M +Aran/M +araneid/SM +araneous Adjective +Aranesp/M +Aranga/M +Aransas/M +Aranui/M +Arapaho/M +Arapahoe/M +arapaima/SM +Arapohue/M +Ararat/M +Ararimu/M +Arash/M +Araucanian/SM +araucaria/MS +Araújo/M +arbalest/SM +Arber/M +arbidol/M Noun: uncountable +Arbirlot/M +arbiter/MnS +arbitrage/DGRSM +arbitrageur/SM +arbitral +arbitrament/MS +arbitrary/PY +arbitrate/VSGDn +arbitrator/MS +arblast/SM +Arbor/M +arboreal/SMY +arboreality/M Noun: uncountable +arborescence/SM +arborescent Adjective +arboreta/M +arboretum/SM +Arborfield/M +arboriculture/O3^ +arborise/SGDn +arborist/SM +arborvirus/SM +arborvitae/SM +Arbory/M +arbour/MDS +arbovirus/SM +Arbroath/M +Arbury/M +Arbuthnot/M +Arbuthnott/M +arbutus/MS +arc/SMDG +arcade/SDGM +Arcadia/M +Arcadian/SM +Arcadianism/M +Arcady/M +arcana/M +arcane/YP +arcanum/M +Arcata/M +arccos/SM +arccosine/SM +arch-enemy/SM +arch-rival/SM +Arch/M +arch/yTDRYSPGM +archaea/M +Archaean +archaean/SM +archaebacteria/MO +archaebacterium/M +archaeoastronomer/SM +archaeoastronomy/Mw +archaeobotanist/MS +archaeobotany/M Noun: uncountable +archaeology/w3SM1W +archaeomagnetic +archaeomagnetism/M Noun: uncountable +archaeometry/MW +archaeopteryx/SM +archaeozoological/Y +archaic/YP +archaise/RDSG +archaism/MS +archaist/MS +Archangel/M +archangel/MSW +archbishop/MS +archbishopric/SM +archboard/SM +Archdale/M +archdeacon/MS +archdeaconry/SM +archdevil/SM +archdiocesan Adjective +archdiocese/MS +archducal Adjective +archduchess/SM +archduchy/SM +archduke/MS +archdukedom/SM +Archean/M +archegonia/MO +archegonium/M +Archelaus/M +archentera/M +archenteron/SM +archery/SM +Arches/M +archetypal/Y +archetype/wMS +archfiend/MS +archfool/SM +Archibald/M +archicerebellum/M +archicortical +archidiaconal +Archie/M +archiepiscopacy/SM +archiepiscopal +archiepiscopate/SM +Archiestown/M +archimandrite/SM +Archimedean Adjective +Archimedes/M +arching/SM +archipelago/SM +archipelagoes +Archippus/M +architect/SMGD +architectonic/SY +architecture/oSMO +architrave/SM +archive/ODRS3MG +archivolt/SM +archlute/SM +archon/SM +archonship/MS +archontes +archosaur/SM +archpriest/SM +archrival/SM +Archuleta/M +Archway/M +archway/SM +Archytas/M +Arcilla/M +Arclid/M +arclike +arcminute/SM +ARCO +arco/S +arcology/SM +arcsecond/SM +arcsin/SM +arcsine/SM +arctan/SM +arctangent/SM +Arctic/M +arctic/SM +arctophile/SM3 +arctophilia/M Noun: uncountable +arctophily/M Noun: uncountable +Arcturus/M +arcuate/Y +Ardboe/M +Ardchattan/M +Ardclach/M +Ardeer/M +Ardeley/M +Arden/M +ardency/SM +Ardennes/M +ardent/Y +Ardentinny/M +Ardeonaig/M +Ardern/M +Ardersier/M +Ardfern/M +Ardfert/M +Ardgarvan/M +Ardgay/M +Ardglass/M +Ardgour/M +Ardingly/M +Ardington/M +Ardleigh/M +Ardler/M +Ardley/M +Ardminish/M +Ardmore/M +Ardnamurchan/M +Ardoch/M +ardour/SM +Ardrishaig/M +Ardrossan/M +Ards/M +Ardsley/M +Ardstraw/M +Ardudwy/M +arduous/YP +Ardwick/M +are/B +Area/M +area/MSO +Arean +areata +areawide +areca/MS +Arecibo/M +Areeiro/M +Areley/M +aren't +arena/MS +Arenac/M +arenaceous +arenavirus/SM +arenite/MS +arenosol/SM +areographer/SM +areoid/SM +areola/M +areolae/M +areolar +areolate +areole/SM +areology/M3w +Arequipa/M +Ares/M +arête/MS +Aretha/M +Argand/M +argent/SM +Argenteuil/M +argentiferous +Argentina/M +Argentine/SM +Argentinean/SM +Argentinian/SM +argentocene +argillaceous +arginine/SM +Arginusae/M +Argive/MS +Argo +Argoed/M +argon/SM +argonaut/S +Argonaut/SM +Argonautica/M +Argos/M +argosy/MS +argot/SM +Argote/M +arguable/YIU +arguably/IU +argue/7DRSG +argufy/SGDJ +argument/SnMp +argumenta/M +argumentative/PY +argumentum/M +Argus/M +argus/SM +argute +argy +argy-bargy/SMD +Argyle/M +Argyll/M +argyll/SM +Argyllshire/M +argyrophilic +Århus/M +aria/SM +Ariadne/M +Arial/M +Arian/SM +Ariana/M +Arianism/M +arid/PY +aridity/SM +Ariel/M +ariel/S +Aries/M +aright +aril/SM +arillate +Arimathea/M +Ariminum/M +aripiprazole/M Noun: uncountable +Arisaig/M +arise/SGJ +arisen +ariser +Aristaeus/M +Aristarchus/M +Aristides/M +Aristippus/M +aristo/SM +Aristobulus/M +aristocracy/SM +aristocrat/WM1S +Aristophanes/M +Aristotelian/SM +Aristotelianism/M +Aristotle/M +arithmetic/OYM +arithmetician/MS +arithmetise/SGD +Arius/M +Arizona/M +Ark +ark/MS +Arkadelphia/M +Arkansan/SM +Arkansas/M +Arkendale/M +Arkengarthdale/M +Arkesden/M +Arkholme-with-Cawood/M +Arkholme/M +Arksey/M +Arkwright/M +Arlecdon/M +Arlen/M +Arlene/M +Arles/M +Arlesey/M +Arlette/M +Arley/M +Arlingham/M +Arlington/M +Arliss/M +arm-wrestle/G +arm/Mp +Arm/MS +arm/RELGDS +Armada +armada/SM +Armadale/M +armadillo/SM +Armageddon/M +Armagh/M +Armagnac/M +armamentaria/M +armamentarium/M +Armand/M +Armanda/M +Armani/M +Armathwaite/M +armature/DMGS +armband/MS +armchair/SM +Armco/M +armed/UA +Armenia/M +Armenian/MS +Armenta/M +Armero/M +Armes/M +Armfield/M +armful/SM +armhole/SM +Armidale/M +armiger/MS +armigerous +armillary +Armin/M +arming/M +Arminghall/M +Arminian/SM +Arminianism/M Noun: uncountable +Arminius/M +armipotence/M Noun: uncountable +armipotent/SM +Armistice +armistice/MS +Armitage/M +armlet/SM +Armley/M +armload/MS +armlock/SM +armoire/SM +Armonk/M +armorial/SM +armour-plate/D +armour/SRDGMZ +armoury/SMD +Armoy/M +armpit/MS +armrest/SM +arms/Afc +Armstrong/M +Armthorpe/M +army/MS +Arnall/M +Arnaud/M +Arncliffe/M +Arncliiffe/M +Arncott/M +Arndale/M +Arndt/M +Arne/M +Arnesby/M +Arney/M +Arnfield/M +Arngask/M +Arnhold/M +Arnisort/M +Arno/M +Arnobius/M +Arnold/M +Arnolfini/M +Arnside/M +Aro/M +Aroha/M +aroma/WSM1 +aromantic/SM +aromanticism/M Noun: uncountable +aromatase/SM +aromatherapeutic +aromatherapy/SM3 +aromatic/PSM +aromaticity/SM +Áron/M +Aroostook/M +AROS/M +arose +around +arousal/SM +arouse/SDG +ARPA/M +Arpanet/M +arpeggio/SM +arquebus/SM +arquebusier/MS +arr/SM +arrack/SM +arraign/LGDSM +Arran/M +arrange/LRSDGB +arranged/EKA +arranges/AEK +arranging/AEK +arrant/Y +Arras/M +arras/SM +Arrathorne/M +array/EGMSD +arrayer/SM +arraylike +arrear/SM +arrearage/SM +arrest/Rk7DGS +arrested/A +arrestee/SM +arrestment/SM +arrestor/SM +arrests/A +Arreton/M +arrhythmia/SM +arrhythmic/OY +Arriaga/M +Arriba/M +Arrington/M +Arriva/M +arrival/MS +arrive/GSDR +arrivisme/M Noun: uncountable +arriviste/SM +Arrochar/M +arrogance/SM +arrogancy/SM +arrogant/Y +arrogate/DGnS +Arrokoth/M +arrondissement/SM +Arrow/M +arrow/MGSD +arrowgrass/SM +arrowhead/SM +arrowroot/MS +Arrowtown/M +Arroyo/M +arroyo/MS +Arscott/M +arse-licker/SM +arse-licking/M Noun: uncountable +arse/SGDM +arsehole/SMD +arsenal/SM +arsenate/MS +Arsenault/M +arsenic/SMO +arsenide/SM +arsenious Adjective +arsenopyrite/SM +arsewipe/SM +arsey +arsier +arsiest +arsine/MS +arson/3SM +arsphenamine/SM +arsy-versy +art/6MjZ32pS +Artaud/M +Arte/M +artefact/SM +artefactual/Y +Artemis/M +artemisia/SM +artemisinin/SM +arterial/SM +arterialise/DGSn +arteriogram/SM +arteriography/SMW +arteriolar +arteriole/SM +arteriology/M Noun: uncountable +arterioscleroses +arteriosclerosis/M +arteriosclerotic/SM +arteriovenous +arteritis +arterivirus/SM +artery/MSo +Artesia/M +artesian Adjective +artesunate/SM +artful/P +Arth/M +Arthabaska/M +Arthashastra/M +Arthington/M +Arthingworth/M +Arthog/M +arthralgia/SM +arthritic/SM +arthritides +arthritis/M +arthrogram/MS +arthroplasty/SM +arthropod/MS +Arthropoda Taxonomic phylum +arthroscope/SWZ +Arthur/MS +Arthuret/M +Arthurian Adjective +Arthurianism/M Noun: uncountable +Arthurlie/M +artichoke/SM +Articlave/M +article/MSDG +articulable/I +articulacy/I +articular +articulate/nPSGyYDV +articulated/EU +articulately/I +articulator/MS +Artie/M +artifact/SM +artifice/oMRS +artificial/P +artificiality/SM +Artigarvan/M +Artikelly/M +artillery/3mSM +Artington/M +artiodactyl/SM +Artiodactyla Taxonomic order +artisan/MSO +artisanate/SM +artisanship/SM +artist/W1y +artiste/MS +artistic/IY +artistry/MS +artless/YP +Arturo/M +artwork/MS +arty/3TP +Aruba/M +Arum Taxonomic genus +arum/MS +Arun/M +Aruna/M +Arunachal/M +Arundel/M +Arvada/M +Arvan/MS +Arvin/M +Aryabhata/M +Aryan/SM +Aryeh/M +aryl/SM +arytenoid/SM +Arzoumanian/M +as +Asa/M +asana/SM +Asante/M +asap +Asaph/M +Asbestos/M +asbestos/SM +asbestosis/M +ASBO/SM +Asbury/M +Asby/M +ascarid/SM +ascaris +ascend/RXDGSN +ascendancy/MS +ascendant/Y +ascendency/SM +ascends/A +Ascension/M +ascension/SMO +Ascensiontide/MS +ascent/MS +ascertain/L7SDG +ascetic/MYS +asceticism/SM +Ascham/M +Ascher/M +Ascidiacea Taxonomic class +ascidian/SM +ASCII/M Initialism of American Standard Code for Information Interchange +Asclepius/M +ascocarp/SM +ascorbate/SM +ascorbic +Ascot/M +Ascote/M +Ascott-under-Wychwood/M +ascribable +ascribe/DGXSV +ascription/M Noun: usually uncountable +Asenby/M +asepsis/M Noun: uncountable +aseptic/Y +asexual/YSM +asexuality/SM +Asfordby/M +Asgarby/M +Asgard/M +Ash/MS +ash/SMDGZR +ashamed/UY +Ashampstead/M +Ashanti/M +Ashbee/M +Ashbocking/M +Ashbourne/M +Ashbrittle/M +Ashbrook/M +Ashburnham/M +Ashburton/M +Ashbury/M +Ashby-de-la-Zouch/M +Ashby/M +Ashchurch/M +Ashcombe/M +Ashcott/M +Ashcroft/M +Ashdon/M +Ashe/M +Asheboro/M +Asheldham/M +Ashen/M +ashen/Sd +Ashendon/M +Asheville/M +Ashey/M +ashfall/SM +Ashfield/M +Ashford/M +Ashgabat/M +Ashgate/M +Ashgill/M +Ashhurst/M +Ashill/M +Ashingdon/M +Ashington/M +Ashkenazi/MW +Ashkenazim/M +Ashkhabad/M +Ashkirk/M +Ashland/M +ashlar/dSM +Ashlee/M +Ashleigh/SM +Ashleworth/M +Ashley-Farrand/M +Ashley/M +Ashleyhay/M +Ashmanhaugh/M +Ashmansworth/M +Ashmolean/M +Ashmore/M +Ashoka/M +ashore +Ashover/M +Ashow/M +Ashperton/M +ashplant/SM +Ashprington/M +ashram/SM +Ashreigney/M +Ashtabula/M +ashtanga/SM +Ashtar/M +Ashtarian/SM +Ashtaroth/M +Ashtead/M +Ashton-under-Lyne/M +Ashton/M +ashtray/SM +Ashurst/M +Ashwater/M +Ashwaubenon/M +Ashwell/M +Ashwellthorpe/M +Ashwick/M +Ashwicken/M +Ashworth/M +ashy/T +Asia/M +Asian/SM +Asiatech/M +Asiatic/MS +aside/S +Asif/M +asimilar +Asimov/M +ASIN/SM +asinine/Y +asininity/SM +Asir +ask/DRSG +Askam/M +askance +askari/SM +Aske/M +Askern/M +Askerswell/M +askew/P +Askham/M +Askrigg/M +Askwith/M +ASL +Aslackby/M +Aslacton/M +aslant +asleep +Aslockton/M +Asmanex/M +Asmara/M +asocial/SM +Asotin/M +asp/MWS +Aspal/M +Aspall/M +asparagine/M Noun: uncountable +Asparagus Taxonomic genus +asparagus/SM +aspart/M Noun: uncountable +aspartame/SM +aspartate/SM +aspartic Adjective +Aspatria/M +aspect/MSGD +AspectJ/M +aspectual/Y +Aspell/M +aspen/MS +Aspenden/M +Asperger/M +aspergilloses +aspergillosis/M +asperity/SM +asperse/SGDJ +aspersion/SM +asphalt/SGDMR +aspheric/OY +asphodel/SM +asphyxia/MSnO +asphyxiant/SM +asphyxiate/SDGn +aspic/MS +aspidistra/SM +Aspinall/M +aspirant/SM +aspirate/MSGDn +aspirator/SM +aspire/xSDnGr +aspirin/SM +asplenia/M Noun: uncountable +asplenium/SM +Aspley/M +Asprey/M +Asquith/M +ass/SM +Assad/M +assagai/SM +assail/7DSG +assailant/MS +Assam/M +Assamese/M +Assan/M +assassin/SM +assassinate/SGDn +assassinator/MS +assault/GSVuMvDR +assay/GDRSM +assegai/MS +Asselby/M +assemblage/SM +assemblance/SM +assemble/SGREDY +assembled/AU +assembles/A +assemblies/A +assembling/A +assembly's/AE +assembly/m5SM +Assembly/MS +assen +Assendon/M +assent/GMSDR +assentor/SM +Asser/M +assert/xvuRSDVG +asserted/A +assertion/MAS +assertive/P +assertor/MS +asserts/A +asses/GD +assess/7LS +assessed/A +assesses/A +assessor/SM +asset/SM +asseverate/SGnD +asshole/SM +assibilate/JSNDG +assibilations +assiduity/SM +assiduous/PY +assign/RL7DSGn +assigned/KACU +assignee/MS +assigning/K +assignor/SM +assigns/KCA +assimilable +assimilate/DSVGn +assimilationist/SM +assimilator/SMZ +Assington/M +Assiniboine/M +assise/SM +Assisi/M +assist/SGDr +assistance/MS +assistant/MS +assistantship/SM +assistive Adjective +Assiter/M +assize/MSGD +assn +associability/SM +associable +associate/EDSGn +associateship/SM +association's/E +association/OoM3 +associationism/SM +associative/Y +associativity/SM +associator/MS +assonance/SM +assonant Adjective +assonate/SGD +assort/GDLSR +assortative/Y +asst +assuage/LDSG +assume/RVDSBGh +assumpsit/SM +Assumption/M +assumption/SM +assurance/SAM +assure/GASkD +assured/PY +assurer/MS +Assynt/M +Assyria/M +Assyrian/MS +Assyriology/w3M +astable +Astana/M +astanga/M Type of yoga +Astara/M +astatine/SM +Astbury/M +aster/FSEM +Asterby/M +asterisk/SDGM +asterism/MS +Asterleigh/M +astern +asteroid/SMO +Asteroidea Taxonomic class +Asthall/M +Asthana/SM +asthenia/SMW +asthenosphere/SMW +asthma/WSM +asthmatic/SMY +Asti/M +astigmatic/SM +astigmatism/MS +Astilbe Taxonomic genus +astilbe/SM +astir Adjective +Astley/M +Aston/M +astonish/SLkDG +Astor/M +Astoria/M +astound/kGSD +Astra/M +astraddle +Astraeus/M +astragal/SM +astragali/M +Astragalus Taxonomic genus +astragalus/M +Astrakhan/M +astrakhan/SM +astral/Y +astray Adverb +AstraZeneca/M +Astrid/M +astride +Astride/M +astringency/SM +astringent/YSM +astro-archaeology/M +astrobiology/M3w +astrobleme/SM +astrobotany/M Noun: uncountable +Astrobotic +astrochemical/Y +astrochemist/SM +astrochemistry/M Noun: uncountable +astrocompass/SM +astrodome/MS +astrodynamics +astroengineering/M Noun: uncountable +astrogeology/M Noun: uncountable +astrolabe/SM +astrologer/MS +astrology/w1MS3 +astrometry/MW +astronaut/WwSM +astronautic/S +astronomer/SM +astronomy/1MWSw +astroparticle/MS +astrophotographer/SM +astrophotography/WM +astrophysical +astrophysicist/SM +astrophysics +astrostatistics/M Noun: uncountable +astroturfing/M Noun: uncountable +Astroviridae Taxonomic family +astrovirus/SM +Asturian/SM +Asturias/M +astute/TPY +Astwick/M +Astwood/M +Asunción/M +asunder +ASUS/M +Aswan/M +Aswarby/M +Aswardby/M +asylee/SM +asylum/MS +asymmetry/WwS1M +asymptomatic/Y +asymptote/1MSW +async +asynchronicity/SM +asynchronism/SM +asynchronous/Y +asynchrony/SM +asystole/SM +At +at/F +ATA/M Noun: uncountable +Atacama/M +Atanasov/M +ATAPI/M +ataractic/SM +ataraxia/WM +ataraxy/M Noun: uncountable +Atari/M +Atascadero/M +Atascosa/M +Atatū/M +Atatu/M +atavism/MS +atavist/SMW1 +Atawhai/M +ataxia/MSW +atbash/M Noun: uncountable +ATC/M Noun: uncountable +Atcham/M +Atchison/M +ate/SM +atelectases +atelectasis/M +atelier/SM +atemporal/Y +atenolol/M Noun: uncountable +Athabasca/M +Athaliah/M +Athan/M +Athanasian/3 +Athanasianism/M Noun: uncountable +Athanasios/M +Athanasius/M +Atharva Atharva Veda +atheism/MS +atheist/M1SW +Athelhampton/M +Atheling/M +Athelington/M +Athelstaneford/M +athematic +Athena/M +Athenaeum/M +Athenaeus/M +Athenian/SM +Athens-Clarke/M +Athens/M +Atherington/M +Athernase/M +atherogenesis/M Noun: uncountable +atherogenic +atheroma/M +atheromata/M +atheromatous +atheroscleroses +atherosclerosis/M +atherosclerotic/Y +Atherstone/M +Atherton/M +athetoid Adjective +athetoses +athetosis/M +athetotic +athirst +athlete/1SMW +athletic/S +athleticism/SM +Athlon/M +Athlone/M +Athol/M +Atholl/M +athwart +ATI/M +atilt +Atkin/MS +Atkinson/M +ATL/M +Atlanta/M +Atlantean/SM +atlantes/M +Atlantic/M +Atlantis/M +Atlas/M +atlas/MS +Atlee/M +Atlow/M +atm +ATM/MS +Atman/M +atmophile/SM +Atmore/M +atmosphere/MS1DW +atmospheric/SO +Atoka/M +atoll/MS +atom/QsMqS +atomic/SYO +atomicity/MS +atomism/SM +atomist/SMW +atompunk/M Noun: uncountable +Atomus/M +atomy/MS +atonal/3 +atonalism/M Noun: usually uncountable +atonality/SM +atone/SoLDG +Atonement/M +atony/WM +atop +atopy/SMW +atorvastatin/M Noun: uncountable +atrabilious/YP +atraumatic +atrazine/M Noun: uncountable +atresia/SM +atria/OM +atrioventricular +Atripla/M +atrium/MS +atrocious/PY +atrocity/SM +atrophy/MDWGS +atropine/SM +attaboy/SM +attach/SDRL7GM +attaché/SM +attached/AU +attaches/A +attack/RSDG7M +attain/lDRBGLS +attainability/MS +attainable/P +attainably/U +attainder/MS +attained/AU +attainment/A +attains/A +attaint/SGDJ +Attala/M +attapulgite/SM +attar/MS +attempt/DRGS +Attenborough/M +attend/SRGD +attendance/MS +attendant/MS +attendee/SM +attention/ISM +attentional/Y +attentionality +attentive/PIY +attentiveness/IS +attenuate/GnSD +attenuator/SM +Atterbury/M +Atterby/M +Attercliffe/M +attest/DnGSRB +attestor/SM +attic/MS +Attica/M +Atticall/M +Atticus/M +Attila/M +attire/DGS +Attis/M +attitude/MS +attitudinal/Y +attitudinise/GDSR +Attleboro/M +Attleborough/M +Attlebridge/M +Attlee/M +attorney/MS +attornment/SM +attosecond/SM +attract/VuS7DGv +attractant/SM +attraction/MS +attractive/UY +attractiveness/SM +attractor/SM +attributable/U +attribute/MxGVvDSR +attribution/SM +attributive/SM +attrition/SMO^ +attune/DSG +attunement/SM +Atwater/M +Atwick/M +atwitter +Atwood/M +Atworth/M +ATX/M +atypical/Y +Au +au +aubergine/MS +Aubourn/M +aubretia/SM +Aubrey/M +aubrietia/SM +Auburn/M +auburn/SM +Auburndale/M +Auchaber/M +Auchan/M +Auchencairn/M +Auchindoir/M +Auchinleck/M +Auchinloch/M +Auchterarder/M +Auchterderran/M +Auchtergaven/M +Auchterhouse/M +Auchterless/M +Auchtermuchty/M +Auchtertool/M +Auckland/M +Auckley/M +auction/DMGS +auctioneer/DSMG +AUD +audacious/PY +audacity/SM +audax/SM +Auden/M +Audi/M +audibility/MIS +audible/YI +audibly/I +audience/SM +audio/M Noun: usually uncountable +audioboard/SM +audiobook/SM +audiogram/SM +audiology/S3Mw +audiometer/SWM +audiometry/SM +audiophile/MS +audiospectrogram/SM +audiospectrograph/M +audiospectrometer/M +audiotape/SGDM +audiovisual/SY +audit/dXyMVSN7 +auditability/M Noun: uncountable +audited/U +audition/DMG +auditor/MSO +auditorium/SM +Audlem/M +Audley/M +Audlin/M +Audoen/M +Audra/M +Audrain/M +Audrey/M +Audries/M +Audubon/M +Auerbach/M +Auffermann/M +Aug +Augean +Augeas/M +auger/MS +Aughafatten/M +Augher/M +Aughnacloy/M +aught +Aughton/M +augite/SM +Auglaize/M +augment/nDRGS +augmentative/SMY +augmentive/SM +Augsburg/M +augur/dMS +augury/SM +August/MS +august/YPT +Augusta-Richmond/M +Augusta/M +Augustan/MS +Augustin/M +Augustine/MS +Augustinian/SM +Augusto/M +Augustulus/M +Augustus/M +auk/SM +auklet/SM +Auld/M +Auldcathie/M +Auldearn/M +Ault/M +Aultbea/M +Auman/M +Aumann/M +aumbry/MS +Aunby/M +Aunsby/M +aunt/ZSM +auntie/M +aunty/MS +aura/WSMOo +aurei/M +Aurelian/M +Aurélio/M +Aurelius/M +aureola/MS +aureole/MDSG +aureomycin/M Noun: uncountable +aureus/M +auricle/SM +auricula/SM +auricular +auriculate +auriculotherapy/M Noun: uncountable +auriferous +aurify/SGD +Auriga/M +aurigation/M Noun: uncountable +Aurignacian/M +Auroa/M +aurocene +aurochs +Aurora/M +aurora/SMO +aurorae/M +Auschwitz/M +auscultate/DGSn +auscultatory +Auskerry/M +auspice/SM +auspicious/IY +auspiciousness/MS +Aussie/MS +Aust/M +Austell/M +Austen/M +austenite/SMW +austere/YPT +Austerfield/M +austerity/MS +Austerlitz/M +Austerson/M +Austhorpe/M +Austin/M +Austintown/M +Austral +austral/SM +Australasia/M +Australasian/SM +Australe/M +australes +Australia/M +Australian/SM +Australianism/SM +Australis/M +australite/SM +australopithecine/SM +Australopithecus Taxonomic genus +Australosphenida Taxonomic clade +australosphenidan/SM +Austrey/M +Austria/M +Austrian/MS +Austrinus/M +Austro-Hungarian/SM +Austronesian +Austwick/M +autarchy/WSwM +autarky/3WSw +Autauga/M +autecology/wM +auteur/SM3 +auteurism/M Noun: uncountable +auth/SGD +authentic/nYO +authenticate/DSG +authenticated/U +authenticator/MS +authenticity/MS +authigenic +author/OQsdqSMp +authorable +authoress/SM +authorise/KA +authorised/AU +authorises/A +authorising/A +authoritarian/SM +authoritarianism/MS +authoritative/YP +authority/SM +Authorpe/M +authorship/MS +autism/MS +autistic +auto-erotic +auto-eroticism/M +auto/M +autoaggressive +autoallergy/WSM +autoanalyser/SM +autoanalyses +autoanalysis/M +autoanalyst/SM +autoantibody/SM +autoantigen/SM +autobahn/MS +autobahnen/M Plural of autobahn +autobasidia/M +autobasidiomycete/M +autobasidium/M +autobio/SM +autobiographer/SM +autobiography/M1SwW +AutoCAD/M +autocar/SM +autocatalysis/M Noun: uncountable +autocatalyst/SM +autocatalytic +autocephalous +autochange/MR +autochore/MS +autochoric/Y +autochorous +autochory/M Noun: uncountable +autochrome/SM +autochthon/OMSW +autochthones +autochthonous/Y +autoclave/MDSG +autocode/MS +autocollimator/SM +autocomplete/SDN +autoconfigure/SGDN +autoconfirm/SGDN +autocorrect/SDG +autocorrelate/GSnD +autocracy/SM +autocrat/MWS1 +autocrime/SM +autocrine +autocross/M Noun: uncountable +autocue/SM +autocycle/MS +autodetect/SGD +autodetection/M Noun: uncountable +autodial/DGRSM +autodidact/SMW +autodigestion/M Noun: uncountable +autodiscovery/M Noun: uncountable +autoecology/M Noun: uncountable +autoerotic/Y +autoeroticism/M Noun: usually uncountable +autofill/M Noun: uncountable +autofit/SGD +autofluorescence/M Noun: usually uncountable +autofocus/dM +autoformat/SGD +autogamous +autogamy/M Noun: uncountable +autogenesis/M Noun: uncountable +autogenetic +autogenic/S +autogenocide/M Noun: uncountable +autogenous +autogeny/M Noun: uncountable +autogiro/MS +autograft/SM +autograph/ZWGMSD +autogynephilia/M Noun: uncountable +autogyro/MS +autoharp/SM +autohypnosis/M Noun: usually uncountable +autohypnotic +autoignition/SM +autoimmune +autoimmunity/SM +autoincrement/SGDM +autointoxication/M Noun: uncountable +autokey +autokinesis/M Noun: uncountable +autokinesy/M Noun: uncountable +autokinetic/O +autoland/SGDM +autolaryngoscope/SMZ +autolatry/M Noun: uncountable +autoload/SGDR +autologous +autolysin/SM +autolysis/M Noun: uncountable +autolytic +automagically +automat/SM +automata/M +automate/3DQWGSn1 +automatic/SM +automaticity/SM +automatisation/SM +automatism/SM +automaton/SM +automatonism/SM +automatous +autometamorphism/M +autometry/WSM +automixis/M Noun: uncountable +automorphism/SM +automotive/SM +autonomic/S +autonomous/Y +autonomy/SMW3 +autonym/SM +autopathography/SM +autopathy/M Noun: uncountable +autopatrol/D +autopen/SM +autophagosome/SMO +autophagous +autophagy/WM +autophon/SM +autophone/SM +autophotograph/SM +autopilot/MSd +autopisty/M Noun: uncountable +autoplasty/WSM +autoplay/SGDM +autopoiesis/M Noun: uncountable +autopsy/SMDG +autoradiograph/ZWDSM +autoreactive +autorecover/Z +autoregression/SM +autoregressive +autoregulate/SGDNy +autorenew/SGD +autorenewal/SM +autorepeat/GSM +autoresponder/SM +autoreverse/M Noun: uncountable +autorickshaw/SM +autorotate/SGDn +autorotative +autoroute/SM +autosampler/SM +autosave/SGD +autoscopy/SM +autoshaping/M Noun: uncountable +autosome/SMO +autostereoscopy/WM +autosuggestibility/M Noun: uncountable +autosuggestible +autosuggestion/SM3 +autosuggestive +autoswitch/SGDM +autotelic/SM +autotest/SM +autotoxic +autotoxin/SM +autotransformer/MS +autotransfuse/SGDN +autotransplant/NDSM +autotroph/SMW1Z +autotropism/M Noun: uncountable +autotune/SGDMR +autotype/SMWZ +autowind/SGR +autowound +autoxidation/M Noun: usually uncountable +autoxidise/SGD +autozooid/SMO +autozoom/M Noun: uncountable +autumn/MoOS +autunite/SM +Auvergne/M +Aux/M +auxiliary/SM +auxin/MS +auxotroph/SMW +AV +Ava/M +avail/BlSDG +availability/S +availability/UM +available/P +avalanche/GSMD +Avalokiteshvara/M +Avalon/M +avant +avant-garde/SM3 +avant-gardism/M Noun: uncountable +avarice/MS +avaricious/YP +Avarua/M +avast/S +Avastin/M +avatar/SM +avaunt/SM +AVCHD/M +ave/SM +Avebury/M +Aveiro/M +Aveley/M +Avenal/M +Avenbury/M +Avendale/M +avenge/DGRS +avengement/SM +Avening/M +avens/M +Aventura/M +avenue/SM +aver/SGD +average/GMDSY +averageness/M Noun: uncountable +Averham/M +averment/SM +Avernus/M +averse/PVY +aversion/SM +avert/GbSD +Avery/M +Aves/M +Avesta/M +Avestan/M +Avestic/MS +Aveton/M +avgas/M +AVI/M +avian/SM +aviary/SM +aviate/SDGn +aviator/MS +aviatrices +aviatrix/SM +avicularia/M +avicularium/M +avicultural/3 +aviculture/M3 +avid/Y +avidity/MS +avidness/M Noun: uncountable +Aviemore/M +avifauna/MO +Avignon/M +Avington/M +avionic/S +Aviram/M +Avis/M +Avise/M +avitaminoses +avitaminosis/M +Aviv/M +Aviva/M +avocado/MS +avocation/MOoS +avocet/SM +Avoch/M +Avodart/M +Avogadro/M +avoid/RSDGl7 +avoidance/MS +avoidant/SM +avoirdupois/M +avoision/M Noun: uncountable +Avon/M +Avonbridge/M +Avondale/M +Avonex/M +Avonhead/M +Avonmouth/M +Avonside/M +avoparcin/M Noun: uncountable +avouch/DSGM +avouchment/MS +avow/GSED +avowal/SEM +avowed/Y +avower/SM +Avoyelles/M +Avram/M +Avril/M +avulse/SGDN +avuncular/Y +avunculate/SM +AWACS/M Initialism of airborne warning and control system +await/SDG +awake/SG +awaken/dJSr +awakened/AU +awakens/A +Awamutu/M +Awanga/M +Awanui/M +Awapuni/M +award-winning +award/DRGSM +awardee/SM +aware/P +awash +Awatoto/M +away +awayday/SM +awayness/M Noun: uncountable +Awbridge/M +awe-inspiring/Y +awe/SMDG +aweigh +awesome/YP +awestricken +awestruck +awful/TPY +awhile +awk/S +awkward/YPT +awl/SM +Awliscombe/M +awn/SMDJG +awning/MD +awoke +awoken +AWOL +Awre/M +awry/T +Awsworth/M +Axbridge/M +axe/DmMGS +Axe/M +axehead/SM +Axel/M +axel/SM +Axelrad/M +Axelrod/M +Axford/M +axial/FY +axil/SM +axilla/M +axillae/M +axillary/SM +axinite/SM +axiology/SM1w +axiom/SWM1 +axiomatise/SGDN +axis/M +Axis/M +axisymmetric/OY +axle/SM +axletree/SM +Axminster/MS +Axmouth/M +axolotl/MS +axon/MSO^ +axoneme/SO^ +axonometric +axoplasm/SMW +Axtell/M +ayah/SM +ayahuasca/M Noun: uncountable +ayatollah/SM +Ayckbourn/M +Aycliffe/M +Aydin/M +aye/MS +Ayer/MS +Aylburton/M +Aylesbeare/M +Aylesbury/M +Aylesburys +Aylesby/M +Aylesford/M +Aylesham/M +Aylestone/M +Aylett/M +Aylmer/M +Aylmerton/M +Aylsham/M +Aylton/M +Aylward/M +Aymara/SM +Aymestrey/M +Aynho/M +Aynhoe/M +Aynsley/M +Ayot/M +Ayr/M +Ayrshire/MS +Aysgarth/M +Ayston/M +Aythorpe/M +Ayton/M +Ayurveda/MW +Azad/M +Azadi/M +azalea/MS +Azam/M +Azania/M +Azanian/SM +Azar/M +azarole/SM +Azazel/M +azeotrope/SMW +Azerbaijan/M +Azerbaijani/SM +Azeri/M +Azerley/M +AZERTY +azidothymidine/M Noun: usually uncountable +Azikiwe/M +Azilian +azimuth/SMOo +azithromycin/SM +Aziz/M +Azizur/M +Azle/M +Azor/M +Azores/M +Azov/M +Azrael/M +AZT/M Abbreviation of azidothymidine +Aztec/SM +Aztecan/SM +Aztlan +azulejo/SM +azure/SM +azurite/SM +Azusa/M +azygos/M +b'day/M +B-film/SM +B-movie/SM +b.c.c. +B.Sc. +b/pb +B1 +B12 +B2 +ba +Ba +BA +Ba'al/M +Ba'ath/M3 +baa/GSD +Baal/M +Baalbek/M +Baars/M +Baasha/M +Baath/M3 +Baathism/M Noun: uncountable +Baba +baba/SM +babacoote/MS +Babbage/M +Babbitry/M +Babbitt/M +babble/JRGDSM +Babcary/M +Babcock/M +babe/SZM +Babel/M +babel/SM +Babergh/M +babesiases +babesiasis/M +babesioses +babesiosis/M +Babette/M +Babi/MS +Babingley/M +Babington/M +Babism/M Noun: uncountable +Babist/MS +baboon/MS~ +baboonery/SM +babouche/SM +Babraham/M +Babs/M +babushka/MS +Babworth/M +baby-doll +baby-faced +baby/DTMSG +babyccino/SM +babycino/SM +babyfather/SM +Babygro/SM +babyhood/MS +babyish/YP +Babylon/M +Babylonia/M +Babylonian/MS +babymoon/SM +babymother/SM +babysat +babysit/RSG +baccalaureate/SM +baccarat/MS +bacchanal/SM +Bacchanalia/M +bacchanalia/SM +bacchanalian/SM +Bacchanalian/SM +bacchante/SM +Bacchus/MW +baccy/M Noun: usually uncountable +bach/DGMS +Bach/M +Bachallaeth/M +Bacharach/M +Bache/M +Bachelet/M +Bachelor +bachelor/MS +bachelorette/SM +bachelorhood/SM +Bachet/M +Bachman/M +Bachmann/M +bacillary +bacilli/M +bacilliform/SM +bacillus/MS +back-door +back-pedal/SGD +back-to-back +back/DSrp +back/eM +backache/MS +backarrow +backbeat/SM +backbench/SMR +backbend/SM +backbite/GRSM +backblocks +backboard/SM +backbone/MS +backbreaking +backcast/SG +backchaining +backchannel/SM +backchat/SM +Backchurch/M +backcloth/SM +backcomb/SGDM +backcourt/SM +backcrawl/M Noun: uncountable +backcross/SDGM +backdate/DSGM +backdoor/SGDM +backdraught/SM +backdrop/DSMG +backfield/MS +backfill/SGD +backfire/GDSM +backflip/SM +backflow/SM +Backford/M +backgammon/MS +background/DRGSM +backhand/hRMSGD +backhoe/SM +backing/SM +backlash/SDGMr +backlift/SM +backlight/SDGM +backline/SM +backlink/SM +backlist/SGDM +backlit +backload/SGDM +backlog/DGMS +backlot/SM +backmarker/SM +backmost +backne/M Noun: uncountable +backorder/SM +backpack/SRDGM +backplane/MS +backplate/MS +backport/SGDM +backrest/SM +backronym/SM +backroom/SM +backscatter/dMS +backscratcher/SM +backscroll/M Noun: uncountable +backseat/SM +backshift/SM +backside/MS +backsight/SM +backslapper/SM +backslapping/SM +backslash/GSDM +backslid/r +backslide/GSM +backspace/DGSM +backspin/SM +backstab/SGDR +backstabbing/SM +backstage/SM +backstairs +backstamp/SM +backstay/SM +backstitch/MSGD +backstop/MSGD +backstory/SM +backstreet/MS +backstretch/MS +backstroke/DGMSr +backswing/SM +backsword/SM +backtalk/SM +backtick/SM +backtrace/SMGD +backtrack/RGSD +backup/MS +Backus/M +backveld/SM +backward-compatible +backward/PSY +backwards-compatible +backwash/DGMS +backwater/MS +Backwell/M +backwind/SMGD +backwood/mS +backyard/SM +baclofen/M Noun: uncountable +bacne/SM +Bacon/M +bacon/SMr +Baconian/SM +Baconsthorpe/M +bacronym/SM +bacteraemia/SMW +bacteria/MOo +bactericide/MSO +bacteriocin/SM +bacteriology/MwW3S1 +bacteriolysis/M +bacteriolytic +bacteriophage/SM +bacteriophobia/M Noun: uncountable +bacteriophora +bacterioplankton/SMW +bacteriostasis/M +bacteriostat/SM +bacteriostatic/Y +bacterium/M +bacteriuria/M Noun: usually uncountable +bacteroid/SM +Bacton/M +Bactria/M +Bactrian/SM +bacula/M +baculovirus/SM +baculum/M +Bacup/M +bad-tempered +bad/Y +badass/SM +Badby/M +Badcaul/M +Baddesley/M +baddie/MS +Baddiley/M +Baddington/M +baddish +Baddow/M +baddy/SM +bade +Baden/M +Bader/M +badge/SRGMD +badger-baiting +badger/d +Badger/M +Badgeworth/M +Badgworth/M +badinage/SDMG +Badingham/M +badland/SM +Badlesmere/M +Badley/M +badman/M +badmash/SM +badmen/M +Badminton/M +badminton/M Noun: uncountable +badmouth/DGS +badness/SM +Badoglio/M +Badoo/M +Badsey/M +Badsworth/M +badware/M Noun: uncountable +Badwell/M +BAE +BAe/M Initialism of British Aerospace +Baedeker/MS +Baez/M +Baffin/M +baffle/RDLGkSM +Bag/M +bag/SGM6RzZ2D +bagarre/SM +bagatelle/SM +Bagborough/M +Bagby/M +Bagehot/M +bagel/SM +Bagendon/M +bagful/SM +baggage/mSM +bagging/M +baggy/TSM +baggywrinkle/SM +Bagh/M +Baghdad/M +baghouse/SM +Bagillt/M +Baginton/M +Baglan/M +bagman/M +bagmen/M +Bagnall/M +bagnio/MS +Bagot/M +Bagpath/M +bagpipe/MRS +Bagpuize/M +Bagthorpe/M +baguette/MS +bagwash/M Noun: uncountable +bagworm/SM +Bagworth/M +bah/SM +Baha'i/SM +Baha'ism/M +Bahadur +Bahai/SM +Bahamas/M +Bahamian/SM +Bahnson/M +Bahrain/M +baht/M +Baidu/M +Baie-Comeau/M +Baie-D'Urfé/M +Baie-Saint-Paul/M +Baikal/M +bail/7MDGr +Bail/M +Baildon/M +bailee/MS +Bailey/M +bailey/SM +Bailgate/M +bailiff/MS +bailiwick/SM +Baillieston/M +bailment/SM +bailor/SM +bailout/MS +bails/m +bain-marie/SM +Bain/M +Bainbridge/M +Bainsford/M +Bainton/M +Bairam/MS +Baird/M +Bairiki/M +bairn/SM +Bairnsdale/M +bait/SMGDr +baitcaster/SM +baitcasting/M Noun: uncountable +baitfish/SM +baize/SM +Baja/M +bajada/SM +Bajan/SM +bake/RGSDyM +bakehouse/SM +Bakelite/M +Baker/M +Bakersfield/M +bakery/MS +bakeware/M Noun: usually uncountable +Bakewell/M +Bakhshali/M +baking/M +Bakker/M +baklava/SM +Bakley/M +baksheesh/MS +Baku/M +Bakula/M +Bala/M +Balaam/M +Balaban/M +Balaclava/M +balaclava/MS +Balaj/M +balalaika/MS +balance/DMIS +balanced/cAe +balancedness +balancer/SM +balances/cAe +Balanchine/M +balancing/Ace +balanitis/M Noun: uncountable +balata/SM +balboa/MS +Balch/M +Balclutha/M +Balcombe-Horley/M +Balcombe/M +balcony/DSM +bald/PGYTDZSM +Balda/M +baldachin/SM +baldaquin/SM +balder/W +balderdash/SM +Baldernock/M +Baldersby/M +Balderstone/M +Balderton/M +baldhead/SM +baldie/SM +Baldinger/M +baldmoney/M Noun: uncountable +Baldock/MS +Baldon/M +baldpate/SM +baldric/SM +Baldry/M +Baldwin/M +Bale/M +bale/R6GjSMD +Balearic/M +baleen/SM +baleful/TP +Balerno/M +Baleshare/M +Balestrero/M +Balfour/M +Balfron/M +Balgay/M +Balgonie/M +Balgown/M +Balharry/M +Bali/M +balibuntal/SM +Balihar/M +Balinese/M +Balintore/M +Balivanich/M +Baljaffray/M +balk/SGDM +Balkan/SM +balkanise/GSnD +ball-breaker/SM +ball-breaking +ball-buster/SM +ball/DRGSM +Ball/M +Balla/M +Ballachulish/M +ballad/MyS +ballade/MS +balladeer/MS +balladry/SM +Ballagh/M +Ballance/M +Ballantine/M +Ballantrae/M +Ballarat/M +Ballard/M +ballast/SMGDp +Ballater/M +Ballaugh/M +ballboy/SM +ballcock/SM +Ballela/M +Ballencrieff/M +Ballerin/M +ballerina/MS +ballet/MWS +ballfield/SM +ballgame/SM +ballgirl/SM +ballgown/SM +Ballidon/M +Ballieston/M +Ballina/M +Ballinamallard/M +Ballinderry/M +Ballingdon/M +Ballingham/M +Ballingry/M +Ballintoy/M +Balliol/M +ballista/SM +ballistae/M +ballistic/SY +Ballmer/M +Balloch/M +Balloo/M +balloon/GDMSR36 +balloonfish/SM +ballot/dMSr +ballotine/SM +ballpark/MS +ballplayer/SM +ballpoint/MS +ballroom/SM +balls/Z +ballsy/T +Ballwin/M +bally/SM +Ballybogy/M +Ballycarry/M +Ballycassidy/M +Ballycastle/M +Ballyclare/M +Ballyeaston/M +Ballyfin/M +Ballygalley/M +Ballygawley/M +Ballygowan/M +Ballygrant/M +Ballyhalbert/M +ballyhoo/MDGS +Ballyhornan/M +Ballykelly/M +Ballykinler/M +Ballylesson/M +Ballylinney/M +Ballymacmaine/M +Ballymacnab/M +Ballymagorry/M +Ballymaguigan/M +Ballymartin/M +Ballymena/M +Ballymoney/M +Ballynahinch/M +Ballynure/M +Ballyrashane/M +Ballyrobert/M +Ballyronan/M +Ballyrory/M +Ballyscullion/M +Ballyskeagh/M +Ballystrudder/M +Ballyvoy/M +Ballywalter/M +balm/M2ZS +Balmaclellan/M +Balmaghie/M +Balmedie/M +Balmerino/M +Balmoral/M +balmoral/SM +Balmullo/M +balmy/T +Balnamore/M +Balne/M +balneology/3wSM +balneotherapy/M Noun: usually uncountable +Balog/M +baloney/SM +Balornock/M +Balquhidder/M +Balrog/M +balsa/SM +Balsall/M +balsam/dMS +balsamic +Balscote/M +Balshagray/M +Balsham/M +Balshaw/M +Baltazar/M +Balterley/M +balti/SM +Baltic/M +Baltimore/M +Baltistan/M +Baltonsborough/M +Baluchistan/M +balun/SM +baluster/MS +balustrade/MSD +Balzac/M +Balzarotti/M +Bamako/M +Bamber/M +Bamberg/M +Bambi/M +bamboo/SM +bamboozle/GDS +Bamburgh/M +Bamford/M +Bampfylde/M +Bampton/M +ban/SoRMDG +Banach/M +Banagher/M +banality/SM +banana/MS +bananaquit/SM +banausic +Banbridge/M +Banbury/M +bancassurance/M Noun: uncountable +bancassurer/SM +Banchory-Devenick/M +Banchory-Ternan/M +Banchory/M +Bancroft/M +band/rMZmDGS +Banda/M +bandage/SDMGr +bandana/SM +bandanna/SM +Bandar/M +bandbox/SM +bandeau/M +bandeaux/M +Bandera/M +bandfish/SM +bandgap/SM +bandicoot/SM +banding/SM +bandit/MS +banditry/SM +banditti/M +bandleader/SM +bandmaster/MS +bandmate/SM +bandoleer/SM +bandolero/SM +bandolier/SM +bandoneon/SM +bandpass/SM +bandstand/SM +bandstop +Bandung/M +bandwagon/SM +bandwidth/SM +bandy-bandy/M +bandy-bandys +bandy-legged +bandy/DTSGM +Bandyopadhyay/M +bane/OSM6j +baneful/T +Banff/M +Banffshire/M +Banfield/M +bang/RMDGS +Bangala/M +Bangalore/M +Bangkok/M +Bangladesh/M +Bangladeshi/M +bangle/SM +Bangor/M +Bangour/M +Bangui/M +Banhaglog/M +Banham/M +banish/GSLDr +banister/SM +banjo/SM +banjoist/MS +Banjul/M +Bank/M +bank/S7RGJMD +bankassurance/M Noun: uncountable +bankbook/MS +bankcard/SM +Bankfoot/M +Banknock-Haggs/M +Banknock/M +banknote/SM +bankroll/GSDM +bankrupt/GSDM +bankruptcy/SM +Banks/M +Banksia Taxonomic genus +banksia/SM +bankside/SM +Bannatyne/M +banner/d +banneret/SM +Bannerman/M +Bannfoot/M +Banning/M +Banningham/M +Bannister/M +bannister/SM +Bannock/M +bannock/MS +Bannockburn/M +Bannon/M +banns +Banos/M +banquet/rdSM +banquette/MS +banshee/SM +Banstead/M +bantam/SM +bantamweight/MS +banter/kdSr +Banton/M +Bantu/M +Bantustan/MS +Banwell/M +Banwy/M +banyan/SM +banzai/SM +baobab/MS +BaOmer/M +bap/SM +Bapchild/M +Baphomet/M +baphometic +baptise/DRSG +baptism/OoSM +Baptist/MS +baptist/SM +Baptista/M +Baptiste/M +baptistery/SM +baptistry/SM +bar-room/MS +bar/CDESUG +Bar/M +bar/M +Bara/M +Barabbas/M +Baraboo/M +Barack/M +Barash/M +barb/SRGMDi +Barbadian/SM +Barbados/M +Barbara/M +barbarian/SM +barbarianism/MS +barbaric/Y +barbarise/GDS +barbarism/SM +barbarity/MS +barbarous/YP +Barbary/M +barbecue/DSMGr +barbedwire/MS +barbel/SM +barbell/MS +barber/dy +barberry/SM +barbershop/SM +Barberton/M +barbet/SM +Barbette/M +barbette/SM +barbican/SM +Barbie/SM +barbital/SM +barbiturate/SM +barbituric +Barbizon Barbizon School +Barbon/M +Barbour/M +Barbuda/M +barbule/SM +Barby/M +BarcaLounger/SM +barcarole/SM +barcarolle/SM +Barcelona/M +Barceloneta/M +barchan/SM +Barcheston/M +Barclay/M +Barclaycard/MS +Barclays/M +barcode/SGDM +Barcombe/M +Bard/M +bard/MSDGW +bardash/SM +Barden/M +Bardfield/M +Bardi/M +Bardney/M +bardolater/SM +bardolator/SM +bardolatry/SM +Bardolph/M +Bardon/M +Bardot/M +Bardrainney/M +Bardsey/M +Bardstown/M +Bardwell/M +bardy/SM +bare/YPDTSG +bareback/RSGD +bareboat/G +barefaced/YP +barefoot/D +barehanded +bareheaded +Bareilly/M +Bareket/M +barelegged +Barends/M +Barents/M +barf/SYGDM +barfly/SM +Barford/M +Barfreystone/M +bargain-basement +bargain/DGRSM +barge/DmMSZG +Bargeddie/M +bargee/SM +bargepole/SM +Bargoed/M +bargy/DS +Barham/M +Barholm/M +Barholme/M +barhop/GSD +Bari/M +bariatric/S +bariocene +barista/SM +barite/SM +baritone/MS +barium/M +bark/GRDMS +Barkan/M +Barkby/M +barkeep/RSM +Barkestone/M +Barkham/M +Barking/M +Barkley/M +Barkmere/M +Barkston/M +Barkway/M +Barkwith/M +Barlanark/M +Barlaston/M +Barlavington/M +Barlborough/M +Barlby/M +Barlestone/M +Barley/M +barley/MS +barleycorn/SM +Barleythorpe/M +Barling/MS +Barlow/M +barmaid/SM +barman/M +barmbrack/SM +Barmby/M +Barmecide/S +barmen/M +Barmer/M +Barming/M +Barmouth/M +Barmpton/M +Barmston/M +Barmulloch/M +barmy/PYRT +Barn/M +barn/MDS6G +Barnabas/M +Barnabus/M +Barnack/M +barnacle/DMS +Barnacle/M +Barnacre-with-Bonds/M +Barnard/M +Barnardiston/M +Barnaviridae Taxonomic family +Barnbrough/M +Barnburgh/M +Barnby/M +Barnegat/M +Barnes/M +Barnet/M +Barnetby/M +Barnett/M +Barnette/M +Barney/M +barney/SM +Barnham/M +Barnhill/M +Barningham/M +Barnoldby/M +Barnoldswick/M +barns/6 +Barnsley/M +Barnstable/M +Barnstaple/M +Barnston/M +Barnstone/M +barnstorm/GRDS +Barnt/M +Barnton/M +Barnum/M +Barnwell/M +Barnwood/M +barnyard/SM +barocene +barochore/MS +barochoric/Y +barochorous +barochory/M Noun: uncountable +Baroda/M +barograph/SM +barometer/W1SMw +barometry/M Noun: usually uncountable +Baron/M +baron/MS +baronage/MS +Barone/M +baroness/SM +baronet/SM +baronetcy/SM +Barony/M +barony/MSO +baroque/SYMP +barotrauma/SM +barotropic +barouche/SM +barque/MS +Barr/M +Barra/M +barrack/SGDr +barracouta/SM +barracuda/SM +barracudina/SM +Barradell/M +barrage/SMDG +barramundi/SM +Barranquilla/M +barrator/SM +barratrous/Y +barratry/SM +Barratt/M +barre/SMJ +barrel-bombing/M +barrel-chested +barrel-roofed +barrel-vaulted +barrel/GMDS6 +barrelfish/SM +barrelhead/SM +Barrell/M +Barren/M +barren/PY +barrenwort/SM +Barreto/M +Barrett/M +barrette/MS +Barrhead/M +Barrhill/M +Barri/M +barricade/GDSM +Barrichello/M +Barrie/M +Barrientos/M +barrier/MS +Barrington/M +barrio/MS +barrique/SM +barrister-at-law/M +barrister/MS +Barron/M +Barros/M +Barroso/M +Barrow-in-Furness/M +Barrow/M +barrow/SM +Barrowby/M +Barrowclough/M +Barrowden/M +Barrowford/M +Barrowman/M +Barry/M +Barrymore/M +Barrytown/M +Barsac/M +Barsbold/M +Barsham/M +Barsky/M +Barsotti/M +Barston/M +barstool/SM +Barstow/M +Bart/MS +bartend/SGDr +barter/rdSM +Bartestree/M +Barth/M +Barthélemy/M +Barthes/M +Barthol/M +Bartholemew/M +Bartholin/M +bartholinitis/M Noun: uncountable +Bartholomay/M +Bartholomew/M +Barthomley/M +Bartlesville/M +Bartlett/M +Bartley/M +Bartlow/M +Bartók/M +Barton-le-Clay/M +Barton-le-Cley/M +Barton-le-Street/M +Barton-le-Willows/M +Barton-under-Needwood/M +Barton-upon-Humber/M +Barton/M +Bartow/M +Barty/M +Baruch/M +Barugh/M +Barvas/M +Barway/M +Barwell/M +Barwick/M +barwing/SM +Barwood/M +barycentre/SMW +baryon/MS +baryonia/W +baryonium/SM +barysphere/MSW +Barzillai/M +Barzman/M +bas-relief/SM +Bas-Saint-Laurent/M +bas/Sd1Oo +Basaleg/M +Basalla/M +basalmost +basalt/WSM +Baschenis/M +Baschurch/M +base/DmYPpLMT +baseball/SM +baseband/SM +baseboard/MS +baseborn +Basel/M +baselessly +baselessness/M Noun: uncountable +baseline/SM +baseload/SM +baseplate/SM +baser +baserunner/SM +basetting +Basford/M +bash/SMj6DGr +Bashall/M +Bashar/M +bashful/P +bashism/SM +Bashkir/M +Bashkiria/M +bashment/SM +Basic/M +BASIC/M +basic/SM +basicity/SM +basidia/M +basidiocarp/SM +Basidiomycota Taxonomic phylum +basidium/M +basify/SGD +Basil/M +basil/SM +basilar +Basildon/M +basilect/MSO +basilica/SM +basilican +basilisk/SM +basilosaurus/SM +Basin-Sanctuary/M +basin/6MSO +basined +basinful/SM +basing/C +Basing/M +Basingstoke/M +basioccipital/SM +basipetal/Y +basis/M +bask/GSD +Baskerville/M +basket/6SMy +basketball/MS +basketmaker/SM +basketmaking/M Noun: uncountable +basketry/SM +basketwork/SM +Basle/M +Baslow/M +basmati/SM +basophil/SMW +basophilia/SM +Basotho/M +Basque/MS +Basra/M +bass/S3M +Basse-Terre/M +Bassenthwaite/M +basset/MS +Basseterre/M +Bassetlaw/M +Bassett/M +Bassey/M +bassinet/MS +Bassingbourn-cum-Kneesworth/M +Bassingbourn/M +Bassingham/M +Bassingthorpe/M +Bassishaw/M +bassline/SM +basso/S3M +bassoon/3MS +Bassus/M +basswood/SM +bassy/T +bast/DRGM +bastard/QqMSYZ +bastardy/SM +baste/nSGD +Basten/M +Basterfield/M +Bastien/M +Bastille/M +Bastin/M +basting/SM +bastion/SMD +Bastogne/M +Baston/M +Bastrop/M +Bastwick/M +Basu/M +Basutoland/M +bat/D +bat/FdMS +Bataan/M +Batavia/M +Batavian/SM +batboy/SM +batch/DSGMr +Batchworth/M +Batcombe/M +bate/CDASG +bateau/M +bateaux/M +Bateman/MS +bater/C +Bates/M +Batesian +Batesville/M +batfish/SM +Bath/M +bath/SRGMD +Bathampton/M +Bathans/M +bathe/SGDM +Bathealton/M +Batheaston/M +Batherton/M +bathetic +Bathford/M +Bathgate/M +bathhouse/MS +Bathley/M +bathmat/SM +Bathonian/SM +bathos/MS +bathrobe/MS +bathroom/DMS +Bathsheba/M +bathtub/SM +Bathurst/M +bathwater/SM +Bathwick/M +bathyal +bathymeter/SMW +bathymetry/SM +bathypelagic +bathyscaphe/SM +bathysphere/MS +batik/SM +Batista/M +batiste/SM +Batley/M +Batman/M +batman/M +batmen/M +Baton/M +baton/SM +Bator/M +Batrachia +batrachian/SM +bats/m +Batsford/M +batsmanship/M Noun: uncountable +batt/SM +battalion/MS +battels +battement/SM +batten/MdS +batter/dZMSr +batterie/SM +Battersea/M +battery-operated +Battery/M +battery/MS +Battilana/M +Battin/M +battiness/M Noun: uncountable +batting/SM +Battisford/M +battle-scarred +Battle/M +battle/RDLMSG +battleaxe/SM +battlebus/SM +battlecruiser/SM +battledore/SM +battledress/SM +Battlefield/M +battlefield/MS +Battleflat/M +Battleford/M +battlefront/MS +battleground/SM +battleline/SM +battlement/DSM +Battlesden/M +battleship/SM +battlespace/SM +battlewagon/SM +battue/SM +batty/MSTY +Batu/M +batwing/SM +batwoman/M +batwomen/M +bauble/MS +baud/SM +Baudelaire/M +Baudot/M +Baudrillard/M +Bauer/M +bauera/M +Baughurst/M +Bauhaus/M +baulk/GZSMD2r +baulky/T +Baum/SM +Baumber/M +Baunton/M +Baur/M +Bausch/M +Bausley/M +bauxite/SMW +Bavant/M +bavardage/M Noun: uncountable +Bavaria/M +Bavarian/SM +bavarois/SM +Baveants/M +Bavents/M +Baverstock/M +bavian/SM +bawbee/SM +Bawburgh/M +bawd/2ZSMz +Bawdeswell/M +Bawdrip/M +bawdry/SM +Bawdsey/M +bawdy/T +bawheid/SM +bawl/DGSrM +bawley/SM +bawn/SM +Bawsey/M +Bawtry/M +Baxter/M +Baxterley/M +bay/GMDS +Bay/M +baya/SM +bayadère/SM +Bayamón/M +Bayard/M +bayberry/MS +Baydon/M +Bayer/M +Bayern/M +Bayes/M +Bayesian/SM +Bayesianism/M Noun: uncountable +Bayeux/M +Bayfield/M +Bayford/M +Baykal/M +Baylham/M +Baylin/M +Baylor/M +Baynard/M +bayonet/dMS +Bayonne/M +bayou/SM +Bayreuth/M +Bayros/M +bayside +Bayston/M +Bayswater/M +Bayton/M +Baytown/M +Bayview/M +Bayvill/M +Baywatch/M +baza/SM +bazaar/MS +Bazargan/M +bazillion/SM +bazillionaire/SM +bazooka/SM +bazoom/SM +BBC/M +bbl +BBQ +BBS/M +BBSes +bc +BC +bcc +BCD/SM +BCE +BCG/SM +BD-R/SM +BD-RE/SM +BD-ROM/SM +BD-XL/M +bdellium/SM +Bdr +bdrm +BDSM +BDXL +be/SY +Bea/M +beach/GSDM +Beach/M +Beachampton/M +Beachamwell/M +beachcomber/SM +Beachcroft/M +Beaches/M +beachfront +beachhead/MS +Beachlands/M +beachside/SM +Beachville/M +beachwear/M Noun: uncountable +Beachwood/M +beachy/TP +beacon/dSM +Beacon/M +beaconfish/SM +Beaconsfield/M +bead/ZSMDmJG +beading/SM +Beadlam/M +Beadle/M +beadle/MS +Beadnell/M +beadwork/SMr +beady/T +Beaford/M +Beag/M +beagle/DGSMr +beak/MDRS +Beaker +beakhead/SM +Beal/M +Beale/M +Bealings/M +beam/SRGMD +Beaminster/M +beamish/Y +Beamsley/M +beamwidth/SM +beamy/T +bean/DRGSM +Bean/M +beanbag/SM +beanburger/SM +Beane/M +beanfeast/SM +beanie/SM +beano/SM +beanpole/MS +beansprout/SM +beanstalk/MS +bear-baiting/M +Bear/M +bear/M7GRlJS +bearability/M Noun: uncountable +Beard/M +beard/pSGiDM +beardfish/SM +beardie/MS +Beardmore/SM +Beardsley/M +Beare/M +beargrass/SM +bearing/SM +bearish/YP +Bearley/M +bearlike +Beàrnaraigh/M +Bearsden/M +bearskin/SM +Bearstead/M +Bearsted/M +Bearwardcote/M +Beasley/SM +beast/YSMJ +beastie/SM +beastings +beastliness/S +beastly/TP +beat/MSlRG7J +beatbox/GSr +beaten +Beath/M +beatify/WDGnS1 +beating/SM +beatitude/MS +Beatlemania/M Noun: uncountable +Beatles/M +beatnik/MS +Beaton/M +Beatrice/M +Beatrix/M +Beatriz/M +Beatson/M +Beattie/M +Beatty/M +Beau/M +beau/SM +Beauce-Sartigan/M +Beauceville/M +Beauchamp/MS +Beaudesert/M +Beaufort/M +Beauharnois-Salaberry/M +Beauharnois/M +Beaujolais/M +Beaulieu/M +Beauly/M +Beauman/M +Beaumaris/M +Beaumont-cum-Moze/M +Beaumont/M +Beaune/M +Beaupré/M +Beauregard/M +Beausale/M +Beaussier/M +beaut/MZS +beauteous/PY +beautician/MS +beautifulness/M +beautify/WRSDnG +beauty/6MSjp +beautydom/M Noun: uncountable +beautyhood/SM +Beauworth/M +beaux/M +beaver/dSM +Beaver/M +Beaverbrook/M +Beavercreek/M +Beaverton/M +Beaworthy/M +Beazley/M +Bebbington/M +Bebhionn/M +Bebington/M +bebop/SM +bebopper/MS +Bec/M +becalm/DGS +became +Bécancour/M +becaplermin/M Noun: uncountable +because +beccafico/MS +Beccles/M +bêche +Beck/M +beck/SMDG +Beckbury/M +Beckenham/M +Becker/M +Beckering/M +Beckermet/M +Becket/M +becket/SM +Beckett/M +Beckford/M +Beckham/M +Beckingham/M +Beckington/M +Beckinsale/M +Beckley/M +Beckman/M +Beckmann/M +beckon/Sd +Beckton/M +Beckwithshaw/M +Becky/M +beclomethasone/M Noun: uncountable +becloud/SDG +become/SGk +becoming/UY +becomingness/M Noun: uncountable +Becquerel/M +becquerel/SM +Becquet/M +BECTa +BEd Bachelor of Education +bed-wetting/M Noun: usually uncountable +bed/DMSR +bed/F +bedabble/SGDJ +Bedale/M +bedaub/DSG +bedazzle/DLSG +bedbug/SM +bedchamber/SM +bedclothes +bedcover/SM +beddable +Beddgelert/M +bedding/SM +Beddingham/M +Beddington/M +Bede/M +bedeck/DGS +bedeguar/SM +Bedell/M +bedevil/LDGS +bedew/SGD +bedfast +bedfellow/SM +Bedfield/M +Bedfont/M +Bedford/M +Bedfordshire/M +Bedggood/M +Bedhampton/M +bedhead/SM +Bedi/M +bedight +bedim/GSD +Bedingfield/M +Bedingham/M +bedizen/Sd +bedjacket/SM +bedlam/SM +bedlamp/SM +bedlinen/SM +Bedlington/M +Bedlinog/M +bedload/SM +bedmaker/SM +bedmate/SM +Bedminster/M +Bednall/M +Bedon/M +Bedouin/M +bedpan/MS +bedplate/SM +bedpost/SM +bedraggle/DSG +bedrail/SM +bedridden +bedrock/SM +bedroll/MS +bedroom/SDM +Bedrule/M +Bedser/M +bedsheet/SM +bedside/MS +bedsit/SMR +bedsock/SM +bedsore/SM +bedspread/MS +bedspring/SM +bedstead/MS +Bedstone/M +bedstraw/MS +bedtime/SM +Bedu/M +Bedwardine/M +Bedwas/M +Bedwellte/M +bedwetter/SM +Bedworth/M +Bedwyn/M +bee-eater/SM +bee-stung +Bee/M +bee/RSyM +Beeb/M +Beebe/M +beebread/MS +Beeby/M +Beech/M +beech/SM +beechen +beecher +Beechingstoke/M +beechmast/M Noun: uncountable +beechnut/MS +beechwood/SM +Beecraigs/M +Beeding/M +Beedon/M +beef/MD2GZS +beefburger/SM +beefcake/SM +beefeater/SM +Beeford/M +beefsteak/SM +beefwood/SM +beefy/PT +beehive/DSM +beekeeper/SM +beekeeping/M Noun: uncountable +Beekman/M +Beeley/M +beeline/GSDM +Beelsby/M +Beelzebub/M +been +Beenham/M +beep/DRSGM +Beer/M +Beerbohm/M +Beercrocombe/M +Beerescourt/M +beerhouse/MS +Beerman/M +beermat/SM +Beersheba/M +beery/T +Bees/M +Beesands/M +Beesby/M +beestings +Beeston/M +beeswax/MDG +beeswing/M Noun: usually uncountable +beet/MS +Beetham/M +Beethoven/M +Beethovenian/SM +beetle/DMSGR +Beetley/M +beetroot/SM +beeves +Beeville/M +beezer/SM +befall/GS +befallen +befell +befit/SGDM +befitting/Y +befog/DGS +befool/SGDJ +before +beforehand +beforeness/M Noun: uncountable +befoul/DSG +befriend/DGS +befuddle/LSDG +beg/SGD +began +Begawan/M +Begbroke/M +Begelly/M +beget/SGT +beggar-my-neighbour +beggar/dMSY +Beggard/M +beggarly/P +beggarman/M +beggarwoman/M +beggary/SM +begin/RJGS +beginning/SMp +begird/GS +Begley/M +begone +begonia/SM +begorra +begot +begotten/a +begrime/SDG +begrudge/GDSkR +Beguildy/M +beguile/DRLSGk +beguine/SM +begum/SM +begun +behalf/M +behalves +Behar/M +behave/SaGDR +behaviour/aSM +behaviour/D +behavioural/Y3 +behaviouralism/M Noun: uncountable +behaviourism/SM +behaviourist/WMS +Behe/M +behead/DSG +beheld +behemoth/SM +behenic +behest/MS +behind/S +behindhand +behold/GSR +beholden +beholdenness/M Noun: uncountable +behove/DS +Behrens/M +beige +Beighton/M +Beijing/M +Beim/M +being/PMSp +beinglessness/M Noun: uncountable +Beipiaosaurus Taxonomic genus +Beirdd/M +Beirut/M +Beith/M +bejewel/DGS +Bekesbourne-with-Patrixbourne/M +Bekesbourne/M +Bekker/M +Bel/M +Bela/M +belabour/DGSM +Belarus/M +Belarusian/SM +Belarusy My Belarusy +belate/Dih +belated/P +Belaugh/M +belay/DSG +Belbroughton/M +belch/SGD +Belchalwell/M +Belchamp/M +Belchertown/M +Belchford/M +Belcoo/M +beleaguer/Sd +beleaguerment/SM +Belém/M +belemnite/SM +Belfast/M +Belford/M +Belfort/M +Belfrey/M +belfry/SM +Belgian/MS +Belgic +Belgium/M +Belgrade/M +Belgrano/M +Belgrave/M +Belgravia/M +Belhaven/M +Belhelvie/M +Belial/M +Belichick/M +belie/RSGD +belief/Mp +belief/SME +beliefful/P +believability/M Noun: uncountable +believable/Y +believable/YU +believe/GERDS +believe/Gk +Believer/MS +believer/UMS +believest Archaic, but doesn't cause FPs +believeth +Belinda/M +Belisha +belittle/GLDSr +Belitung/M +Belize/M +Belkin/M +Belknap/M +bell-bottom/S +bell-bottomed +bell-ringer/SM +bell-shaped +Bell/M +bell/SGmMDY +Bella/M +belladonna/SM +Bellaghy/M +Bellaire/M +Bellamy/M +Bellanaleck/M +Bellanoch/M +Bellarena/M +Bellars/M +Bellatrix/M +bellbird/SM +bellboy/SM +Belle/M +belle/SM +Belleau/M +Belleek/MS +Bellefontaine/M +Bellerby/M +belles-lettres +Belleterre/M +belletrism/M Noun: uncountable +belletrist/SMW +Belleville/M +Bellevue/M +Bellfield/M +Bellflower/M +bellflower/MS +bellhop/MS +Bellhouse/M +bellicose/YP +bellicosity/SM +Bellie/M +belligerence/ZSM +belligerency/SM +belligerent/YSM +Bellinger/M +Bellingham/M +Bellini/SM +Bellmawr/M +bellow/SDG +Bellsbank/M +Bellshill/M +Bellsquarry/M +bellwether/MS +Bellwood/M +belly/DG +belly/SfM +bellyache/MSGDR +bellyband/SM +bellyboard/SMRG +bellybutton/SM +bellyflop/SDG +bellyful/SM +Belmarsh/M +Belmont/M +Belmopan/M +Belo +Beloeil/M +Beloit/M +belong/GSDJ +belonging/MP +Belorussia/M +Belorussian/SM +beloved/SMY +below +belowground +Belper/M +Belph/M +Belstead/M +Belstone/M +belt-fed +belt/DGSM +Beltane/MS +belting/SM +Beltingham/M +beltline/SM +Belton-in-Rutland/M +Belton/M +Beltrami/M +Beltsville/M +beltway/SM +beluga/SM +Belushi/M +Belvedere/M +belvedere/MS +Belvidere/M +Belview/M +Belvoir/M +bely/SDG +bema/MS +beman +Bemba/M +Bembridge/M +Bemerton/M +Bemidji/M +bemire/SDG +bemoan/SGD +Bempton/M +Bemrose/M +bemuse/DLhSG +Ben/M +ben/SM +Benacre/M +Bénard/M +Benares/M +Benarty/M +Benavides/M +benazepril/M Noun: uncountable +Benbecula/M +Benbrook/M +Benburb/M +bench/GSDMR +benchmark/DSGM +benchwork/M Noun: uncountable +bend/D +Bend/M +bend/SUG +bendability/M +bendable +bender/SM +Benderloch/M +Bendigo/M +Bendish/M +Bendochy/M +Bendooragh/M +bendy/TP +Bene't/M +beneath +Benecke/M +Benedetti/M +benedicite/MS +Benedicite/SM +Benedict/M +Benedictine/SM +benediction/SM +benedictory +Benedictus/M +benefaction/SM +benefactive/SM +benefactor/SM +benefactress/SM +benefic +benefice/MGoDS +beneficence/MS +beneficent/Y +beneficial/P +beneficiary/SM +Benefield/M +benefit/DGrMdS +Benelux/M +Benenden/M +Benet/M +Benetton/M +benevolence/SM +benevolent/YP +Benfleet/M +Benford/M +BEng Bachelor of Engineering +benga/M Noun: uncountable +Bengal/MS +Bengali/MS +Bengaluru/M +Bengeo/M +Benger/M +Bengeworth/M +Benghazi/M +Benguela/M +Benhall/M +Benhar/M +Benholm/M +Benicar/M +Benicia/M +Benidorm/M +benighted/PY +benign/Y +benignancy/M Noun: usually uncountable +benignant/Y +benignity/SM +Benin/M +Beningbrough/M +Benington/M +Benioff/M +Benisch/M +benison/MS +Benito/M +Benjamin/M +Benji/M +Bennet/M +bennet/MS +Bennett/MS +Bennewitz/M +Benneydale/M +Bennie/M +Bennington/M +Bennison/M +Benniworth/M +Bennochy/M +Benny/M +benomyl/M Noun: uncountable +Benoni/M +BenQ/M +Bensalem/M +Bensen/M +Bensenville/M +Benson/M +Benstock/M +bent +Benthall/M +Bentham/M +Benthamism/M +Benthamite/SM +benthic +benthopelagic/SM +benthos +Bentley/MS +bento/SM +Benton/M +bentonite/SM +Bentonville/M +bentwood/SM +Bentworth/M +benumb/SDG +Benvie/M +Benwick/M +Benyviridae Taxonomic family +Benz/M +benzaldehyde/SM +benzalkonium/SM +benzedrine/M Noun: uncountable +Benzedrine/S +benzene/SM +benzenoid/SM +benzhexol/M Noun: uncountable +benzidine/SM +Benzie/M +benzilate/SM +benzine/SM +benzoate/SM +benzocaine/SM +benzodiazepine/SM +benzohydroxamic +benzoic +benzoin/SM +benzol/SM +benzonatate/M Noun: uncountable +benzophenone/SM +benzopyrene/SM +benzoquinone/SM +benzoyl/SM +benzoylmethylecgonine/M Noun: uncountable +benztropine/SM +benzyl/SM +benzylpiperazine/SM +Beoley/M +Beowulf/M +BepiColombo/M +Bepler/M +Bepton/M +bequeath/GDS +bequeathment/SM +bequest/SM +Beragh/M +Beral/M +berate/SDG +Berber/M +Berberich/M +Bercow/M +Berden/M +Bere/M +Berea/M +bereave/LGDS +Berechurch/M +bereft +bereftness/M Noun: uncountable +Berenice/MS +Beresford/M +beret/MS +Beretta/SM +Berg/M +berg/SM +Bergamo/M +bergamot/SM +Bergen/M +Bergenfield/M +bergenia/SM +Berger/M +Bergerac/M +Bergeron/M +Bergh/M +Bergholt/M +Bergman/M +Bergmann/M +Bergoglio/M +bergschrund/MS +Bergson/M +Bergstrom/M +Bergström/M +Berhampore/M +Beriah/M +beribbon +beribboned +beriberi/MS +Bering/M +Berinsfield/M +Berk/MS +berk/SM +Berkeleian/MS +Berkeley/M +berkelium/M Noun: uncountable +Berkhampstead/M +Berkhamsted/M +Berkley/M +Berkowitz/M +Berkshire/SM +Berkswell/M +Berkswich/M +Berl/M +Berlaymont/M +Berlekamp/M +Berlin/Mr +Berlinguer/M +Berlinski/M +Berlioz/M +Berlitz/M +Berlusconi/M +berm/MS +Berman/M +Bermondsey/M +Bermuda/MS +Bermudan/SM +Bermudian/SM +Bern/MS +Berna/M +Bernadette/M +Bernadine/M +Bernadotte/M +Bernalillo/M +Bernard/MS +Bernardino/M +Bernardo/M +Bernaville/M +Bernd/M +Berne/M +Bernera/M +Berneray/M +Berners/M +Bernese/M +Bernhard/M +Bernhardt/M +Bernice/M +Bernie/M +Bernini/M +Bernoulli/M +Bernstein/M +Berretta/M +Berrick/M +Berriedale/M +Berrien/M +Berriew/M +Berrigan/M +Berrington/M +Berrow/M +Berry/M +berry/SDGM +Berryfields/M +berrylike +Berrynarbor/M +bersaglieri/M +Berse/M +berserk/SMr +Bersham/M +Bersted/M +Bert/M +Berta/M +Bertello/M +Bertelsen/M +berth/GSDM +Bertha/M +Berthierville/M +Bertie/M +Bertolucci/M +Bertone/M +Bertout/M +Bertram/M +Bertrand/M +Bervie/M +Berwick-upon-Tweed/M +Berwick/M +Berwickshire/M +Berwyn/M +beryl/MS +beryllium/SM +beryllocene +Besançon/M +Besant/M +beseech/RDkSGJ +beseem/DGS +beset/SG +Besford/M +beshrew/DGS +Besicovitch/M +beside/S +besiege/SRDG +besmear/DGS +besmirch/DGS +besom/SdM +besot/SDG +besought +bespangle/DSG +bespatter/dS +bespeak/GS +bespectacled +bespoke +bespoken +besprinkle/SGDJ +Bessacarr/M +Bessarabia/M +Bessbrook/M +Bessel/M +Besselsleigh/M +Bessemer/M +Bessent/M +Besses/M +Bessey/M +Bessie/M +Bessingby/M +Bessingham/M +best-known +best-seller/SM +best-selling +best/SGD +bestest +Besthorpe/M +bestial/Y +bestiality/SM +bestiary/SM +bestir/SDG +bestness/M Noun: uncountable +bestow/DSG +bestowal/SM +bestrew/DGS +bestrewn +bestridden +bestride/SG +bestrode +bestseller/SM +bestsellerdom/M Noun: uncountable +bestsellerism/M +bestsellership/M +bestselling +bestubble/D +Bestwood/M +besuited +Beswick/M +besylate/SM +bet/MRGSD +Beta Taxonomic genus +beta/MS +Betacam/M +Betacoronavirus Taxonomic genus +betacoronavirus/SM +betaine/SM +betake/SG +betaken +Betamax/M +betamethasone/M Noun: uncountable +Betaseron/M +betatron/MS +betavoltaic/S +betcha +Betchton/M +Betchworth/M +bête/S +betel/SM +Betelgeuse/M +Beth/M +Bethany/M +Bethe/M +Bethel/M +bethel/SM +Bethersden/M +Bethesda/M +bethink/SG +Bethlehem/M +Bethnal/M +bethought +betide/DGS +betimes +bêtise/SM +Betjeman/M +Betley/M +betoken/dS +betony/MS +betook +betray/GRSD +betrayal/SM +betroth/DGS +betrothal/SM +Betsey/M +Betsy/M +bettable +Bette/M +Bettencourt/M +Bettendorf/M +better-off +better/Ld~ +Betterbird/M +bettermost +betterness/SM +bettership/M Noun: uncountable +Betteshanger/M +Bettiscombe/M +Bettman/M +bettong/SM +Bettws-y-Crwyn/M +Bettws/M +Betty/MS +Bettyhill/M +Bettys +between/PS +betwixt +betwixtness/M Noun: uncountable +Betws-y-coed/M +Betws/M +Beulah/M +BeV/M Initialism of billion electron volt +bevacizumab/M Noun: uncountable +Bevan/M +bevatron/SM +bevel/RSDMG +beverage/SM +Bevercotes/M +Beveridge/M +Beverley/M +Beverly/M +Beverston/M +bevvy/SGDM +bevy/MS +bewail/DSG +beware/GSD +Bewbush/M +Bewcastle/M +Bewdley/M +Bewerley/M +bewhisker/Sd +Bewholme/M +Bewick/M +bewigged +bewilder/idLhSk +bewitch/LDSkG +Bewkes/M +Bewley/M +Bexar/M +Bexhill-on-Sea/M +Bexhill/M +Bexley/M +Bexton/M +Bexwell/M +Beyer/M +Beyoncé/M +beyond +Beyton/M +bezant/MS +bezel/MS +bezique/SM +bezoar/SM +Bézout/M +Bezzi/M +bf/SM +BFI/M Initialism of British Film Institute. +Bhagat/M +bhajan/SM +bhaji/SM +bhajia/SM +bhakti/SM +Bharat/M +Bharata/M +Bharatanatyam/M +Bharati/M +Bhasin/M +Bhaskaran/M +Bhavani/M +Bhavnagar/M +Bhojpuri/M +Bhopal/M +bhp/M Initialism of brake horsepower +Bhubaneswar/M +bhuna/SM +Bhushan/M +Bhutan/M +Bhutani/M +bi-endian +bi-gender +bi-gendered +bi-level/SM +bi/MS +Biaggi/M +Bialystok/M +Bianca/M +biannual/Y +bias/MDSG +biassed +biasses +biassing +biathlete/SM +biathlon/MS +biaxial/Y +bib/DMGS +Bibb/M +Bibby/M +bibcode/SM +bibelot/SM +bible/1wMS +Biblicae sortes Biblicae +biblicist/SM +bibliographer/SM +bibliography/Ww1MS +bibliolater/SM +bibliomancy/M Noun: usually uncountable +bibliomane/SM +bibliomania/M Noun: usually uncountable +bibliomaniac/SM +bibliometric/S +bibliophile/SM +bibliophily/WM +bibliopole/SM +bibliotherapy/SM +Biblo/M +bibulous/Y +Bibury/M +BIC/SM +bicameral +bicameralism/MS +bicarb/SM +bicarbonate/MS +bicarbonyl/MW +bicarboxyl/MW +Bicchieri/M +bicentenary/SM +bicentennial/SM +bicep/SM +bicephalous +Bicester/M +Bichette/M +bichromate/MS +Bickenhall/M +Bickenhill/M +bicker/drSM +Bicker/M +bickering/SM +Bickerstaffe/M +Bickerton/M +Bickington/M +Bickleigh/M +Bickmarsh/M +Bicknacre/M +Bicknoller/M +Bicknor/M +biclique/SM +bicolour/SMD +biconcave +biconnected +biconvex +Bicton/M +bicultural/SM +biculturalism/SM +biculturality/M Noun: uncountable +bicuspid/SM +bicycle/WRG3SMD +bid/RMZdGJS +Bidborough/M +biddable +Biddeford/M +bidden +Biddenden/M +Biddenham/M +Biddestone/M +bidding/SM +Biddisham/M +Biddle/M +Biddlesden/M +Biddulph/M +biddy/SM +bide/Sr +Bideford/M +Biden/SM +bidentate +bidentative +bidet/SM +Bidford/M +bidiagonal +bidialectal +bidialectalism/M Noun: uncountable +bidimensional +bidirectional/Y +bidomain +bidonville/MS +bids/fcAe +Bidston/M +Bieber/M +Biedermeier +Biel/M +Bielby/M +Bielefeld/M +biennale/SM +biennial/SMY +biennium/SM +Bienville/M +bier/SM +Bierce/M +bierkeller/SM +Bierley/M +Bierlow/M +Bierton/M +biface/OSM +biferrocene/SM +biff/SGDM +bifid +bifocal/S +bifold +bifunctional +bifurcate/YSGnD +big-boned +big-endian +big-name +Big/M +big/TGDP +bigamous/Y +bigamy/3MS +Bigbury/M +Bigby/M +Bigelow/M +bigender +bigeneric +bigeye/SM +Bigfeet/M +Bigfoot/M +Biggar/M +biggie/MS +Biggin/M +biggish +Biggleswade/M +Biggs/M +bigha/SM +bighead/MS +bighearted/P +bighorn/SM +bight/MGDS +Bighton/M +bigmouth/MS +Bignor/M +Bigot/M +bigot/ydSM +bigoted/Y +bigotry/SM +bigram/SM +biguanide/SM +bigwig/SM +Biham/M +Bihar/M +Bihari/MS +biharmonic +bijection/SM +bijective/Y +bijou/M +bijouterie/M Noun: usually uncountable +bijoux/M +bikable +bike/RMSGD +bikeable +bikeshed/SG +bikini/SMD +bilabial/SM +Bilaspur/M +bilateral/YP +bilayer/SM +Bilbao/M +bilberry/SM +Bilbie/M +bilbo/MS +bilboes +Bilborough/M +Bilbrook/M +Bilbrough/M +bilby/SM +Bildeston/M +Bildungsroman/SM +Bildungsromane/M +bile/MS +bilge/DGMS +bilharzia/SM +biliary +bilinear/SM +bilingual/YSM +bilingualism/MS +bilious/PY +Biliphyta Taxonomic subkingdom +bilirubin/SM +bilk/DRGSM +Bill/M +bill/RM7YDJSG +billabong/MS +billboard/SGDM +Billerica/M +Billericay/M +Billesdon/M +Billesley/M +billet-doux/M +billet/SdM +billetee/MS +billets-doux/M +billfish/SM +billhook/SM +Billian/M +billiard/MS +Billie/M +Billing/M +billing/M +Billingborough/M +Billinge/M +Billingford/M +Billingham/M +Billinghay/M +Billingley/M +Billings/M +Billingsgate/M +Billingshurst/M +Billingsley/M +Billington/M +billion/MHS +billionaire/SM +Billockby/M +billow/DGMZS +billowy/T +billposter/SM +billsticker/MS +billy-goat/SM +billy/MS +billycan/MS +billycock/MS +Bilney/M +bilobate/SM +bilobed +bilocation/SM +Biloxi/M +Bilsborrow/M +Bilsby/M +Bilsdale/M +Bilsington/M +Bilsthorpe/M +Bilston/M +Bilton-in-Ainsty/M +Bilton/M +biltong/SM +Bim/MS +bimbo/MS +bimetallic +bimetallism/SM +bimetallist/MS +bimetallocene/SM +bimillenary/SM +bimodal +bimolecular/Y +bimonthly/SM +bin/DGSM +BINAC/M +binary/SM +binate/SGD +bination/M Noun: uncountable +binational +binaural/Y +Binbrook/M +Bincombe/M +bind/kRJSGM +binder/SMZ +Binderton/M +bindery/SM +bindi/SM +binding/PM +bindle/SM +Bindoff/M +binds/AU +bindweed/SM +bine/MS +Binegar/M +Binet/M +Binfield/M +Binford/M +Bing/M +bing/SM +binge/DGMS +bingeable +bingen +Bingfield/M +Bingham/M +Binghamton/M +Bingle/M +Bingley/M +bingo/SM +Binham/M +Binley/M +binman/M +binmen/M +binnacle/SM +Binns/M +binocular/SMY +binodal +binomial/SYM +binominal/SM +Binsey/M +Binstead/M +Binsted/M +bint/MS +Bintcliffe/M +Bintley/M +Binton/M +Bintree/M +binturong/MS +binuclear +binucleate/DSM +bio/SM +bioabsorbable +bioaccumulate/SGDN +bioaccumulations/SM +bioacoustic/SOY +bioactive/SMY +bioactivity/SM +bioadhesive/SM +bioaerosol/SM +bioarchaeologist/SM +bioarchaeology/Mw +bioassay/SM7 +bioavailability/SM +bioavailable +biobank/SM +biobibliography/SM +bioblast/SM +bioburden/SM +biocapacity/SM +biocatalysis/M Noun: usually uncountable +biocatalyst/SM +biocatalytic/OY +biocellate +biocenoses +biocenosis/M +biocentric/Y +biocentrism/M Noun: uncountable +biocentrist/SM +bioceramic/SM +biochar/SM +biochem/M Noun: uncountable +biochemic +biochemical/SMY +biochemist/SyM +biochemistry/SM +biochip/SM +biochore/SM +biocide/SO^ +biocircuit/SM +bioclast/SMW +bioclimate/SM +bioclimatic/S +biocoenoses +biocoenosis/M +biocolloid/SM +biocompatibility/M Noun: usually uncountable +biocompatible +biocomplexity/M Noun: uncountable +biocomposite/SM +biocomputation/M Noun: uncountable +biocomputer/SM +biocomputing/M Noun: uncountable +biocontrol/SM +bioconversion/SM +biocular +biocultural/Y +biocybernetic/S +biodata/SM +biodefence/SM +biodegradability/SM +biodegradable +biodegrade/nSGD +biodeterioration/SM +biodiesel/SM +biodigester/SM +biodiverse/Y +biodiversity/SM +biodome/SM +biodynamic/S +biodynamical/Y +bioecology/SMw +bioeconomic/S +bioeffluent/SM +bioelectric/O +bioelectricity/M Noun: uncountable +bioelectrochemistry/M Noun: uncountable +bioelectromagnetic/S +bioelectronic/SY +bioelement/SM +bioenergetic/S +bioenergy/SM +bioengineer/SMD +bioengineering/M Noun: uncountable +bioenvironmental +bioequivalence/SM +bioequivalency/SM +bioequivalent/SM +bioerosion/M Noun: uncountable +bioethanol/SM +bioethical/Y +bioethicist/SM +bioethics/M Noun: uncountable +biofacies +biofeedback/SM +biofilm/SM +biofilter/SM +biofiltration/M Noun: uncountable +bioflavonoid/SM +bioform/SM +biofriendly +biofuel/SM +biog/SM +biogas/M +biogasification/M Noun: uncountable +Biogen/M +biogeneric/SM +biogenesis/M Noun: usually uncountable +biogenetic +biogenetics/M Noun: uncountable +biogenic/Y +biogenicity/M Noun: uncountable +biogenist/SM +biogenous +biogeny/M Noun: uncountable +biogeochemical/SMY +biogeochemist/SM +biogeochemistry/M Noun: uncountable +biogeoclimatic +biogeographer/SM +biogeography/SMW1w +biogeology/M Noun: uncountable +biogerontology/M Noun: uncountable +bioglass/SM +biograph/SMWZRw1 +biographee/SM +biographist/SM +biography/SM +biohacker/SM +biohacking/M Noun: uncountable +biohazard/SM +biohazardous +bioidentical/SM +bioimaging/M Noun: uncountable +bioindication/SM +bioindicator/SM +bioindustry/SM +bioinformatic/S3 +bioinformatician/SM +bioinorganic/SM +bioinsecticide/SM +bioinvader/SM +bioinvasion/SM +bioirrigation/M Noun: uncountable +biol/M Noun: uncountable +biolistics +biologics +biology/w3MW1S +bioluminescence/SM +bioluminescent +biolytic/O +biomacromolecule/SM +biomagnetic +biomagnetism/M Noun: uncountable +biomagnify/SGDN +biomarker/SM +biomass/MS +biomaterial/SM +biomathematics +biome/SM +biomechanical/Y +biomechanics +biomechanism/SM +biomechanist/SM +biomechanoid/SM +biomechatronics +biomedical +biomedicine/SM +biometeorology/M +biometric/SO +biometrician/SM +biometry/WM +biomimetic/S +biomineral/SM +biomineralisation/M +biomineralised +biomining/M Noun: uncountable +biomolecular +biomolecule/SM +biomorph/SMW +biomorphism/M Noun: uncountable +bion/SM +bionic/YS +bionomic/SOY +BioNTech/M +biopesticide/SM +biopharma/SM +biopharmaceutical/SM +biopharmaceutics +biopharming/M Noun: uncountable +biophilia/M Noun: uncountable +biophilosophy/M Noun: uncountable +biophobia/M Noun: uncountable +biophoton/SM +biophotonics/M Noun: uncountable +biophysic/S3OY +biophysicist/SM +biophysics/M Noun: uncountable +biophysiologist/SM +biophysiology/M Noun: uncountable +biopic/SM +biopiracy/M Noun: uncountable +biopirate/SM +bioplasm/SMW +bioplast/WSM +bioplay/SM +biopoesis/M Noun: uncountable +biopolitical +biopolitics/M Noun: uncountable +biopolymer/SMW +biopotential/SM +biopower/M Noun: uncountable +biopreservation/M Noun: uncountable +bioprinter/SM +bioprinting/M Noun: uncountable +bioprivacy/M +bioprocess/SMG +bioproduct/SM +bioprospecting/M Noun: uncountable +bioprospector/SM +biopsy/DGMS +biopsychology/Mw +biopsychosocial +biopunk/SM +biorational/SM +biordinal/SM +bioreactor/SM +biorefinery/SM +bioregion/SMO +bioregionalism/M Noun: uncountable +bioregionalist/SM +bioremediation/SM +bioreserve/SM +biorheology/M Noun: uncountable +biorhythm/SMW +biorhythmicist/M +BIOS/M +biosafety/M Noun: uncountable +bioscan/SM +bioscience/SM3 +bioscope/MS +biose/SM +biosecure +biosecurity/M Noun: uncountable +biosemiotic +biosemiotics/M Noun: uncountable +biosensing/M Noun: uncountable +biosensor/SM +BIOSes +biosignature/SM +biosimilar/SM +biosocial +biosolid/SM +biosphere/SMW +biostatistic/SO +biostatistician/SM +biostratigrapher/SM +biostratigraphic/OY +biostratigraphy/M Noun: uncountable +biostrome/OSM +biosurgery/M Noun: uncountable +biosynthesis/M +biosynthesise/SGD +biosynthetic/Y +biosystem/SMW +biosystematics +biosystematy/M3 +biota/1WSM +biotech/SM +biotechnology/w3SM +biotecture/SM +bioterrorism/M +bioterrorist/SM +biotherapy/SM +biotin/MS +biotite/SM +biotope/SM +biotoxin/SM +biotransformation/SM +biotreatment/SM +biotrophy/WM +bioturbated +bioturbation/SM +biotype/SM +biotypology/M Noun: uncountable +biovolume/SM +biowar/M +biowarfare/M Noun: uncountable +biowaste/SM +bioweapon/SM +bioyogurt/SM +biozone/SM +bipartisan +bipartisanship/SM +bipartite/Y +bipartition/SM +biped/OMSo +bipedalism/M Noun: uncountable +bipedality/M Noun: uncountable +biphasic/Y +biphenyl/SM +biplane/SM +bipolar +bipolarity/SM +bipyramid/SM +biracial +biradial +Birch/M +birch/SGDM +Bircham/M +Birchanger/M +birchen +Bircher/M +Birchgrove/M +Birchington/M +Bircholt/M +Birchover/M +Birchville/M +Birchwood/M +birchwood/SM +Bircotes/M +bird's-foot/SM +bird/DRGSM +birdbath/MS +birdbrain/SMD +Birdbrook/M +birdcage/MS +Birdforth/M +Birdham/M +birdhouse/SM +birdie/MDS +birdieing +Birdingbury/M +birdlife/M Noun: uncountable +birdlike +birdlime/SMGD +birdling/SM +Birdman/M +Birdsall/M +birdseed/SM +birdshot/SM +birdsong/SM +birdtable/SM +birdwatch/RG +birdwing/SM +birefringence/SM +birefringent/Y +bireme/MS +biretta/MS +Birger/M +Birgit/M +biriani/SM +biriyani/SM +Birk/M +Birkbeck/M +Birkby/M +Birkdale/M +Birkeland/M +Birkenhead/M +Birkenshaw/M +Birkhill-Muirhead/M +Birkin/M +Birley/M +Birling/M +Birlingham/M +Birman/M +Birmingham/M +Birnie/M +Biro/M +biromantic/SM +Birsay/M +Birse/M +Birstall/M +Birstwith/M +birth/SMd +birthdate/SM +birthday/SM +birther/SM +birthmark/SM +Birthorpe/M +birthplace/SM +birthrate/MS +birthright/SM +birthstone/SM +birthweight/SM +birthwort/SM +Birtley/M +Birtsmorton/M +biruthenocene +biryani/SM +Bisbrooke/M +Biscathorpe/M +Biscay/M +Biscayan/SM +Biscayne/M +biscotti/M +biscotto/M +biscuit/MS +biscuity +bisect/GSD +bisection/SM +bisectional/Y +bisector/SM +biserial +bisexual/MSY +bisexuality/MS +Bisham/M +Bishampton/M +Bishkek/M +bishop/dSM +Bishop/MS +Bishopbriggs/M +Bishopbrigs/M +Bishopdale/M +Bishopgate/M +Bishophill/M +bishopric/SM +Bishopsbourne/M +Bishopsgate/M +Bishopside/M +Bishopsnympton/M +Bishopsteignton/M +Bishopstoke/M +Bishopston/M +Bishopstone/M +Bishopstrow/M +Bishopthorpe/M +Bishopton/M +Bishopwearmouth/M +Bishton/M +Bisley-with-Lypiatt/M +Bisley/M +Bismarck/M +Bismark/M +bismillah +bismuth/SM +bison/M plural same +bisoprolol/M +Bispham/M +bisphenol/SM +bisque/MS +Bissau/M +Bisset/M +Bissett/M +bissextile/SM +bistable/SM +bistate/W +bistoury/SM +bistro/SM +bisulfate/SM +bisulphate/MS +bisyllabic/Y +bit/CS +bit/M +bitartrate/SM +bitblt/S +bitch/GZDSz2M +Bitchfield/M +bitchy/T +bitcoin/SM +bite/cS +bite/M +biter/SM +Bithell/M +Bithynia/M +Bithynian/SM +biting/Y +BitInstant/M +bitmap/DGMS +BITNET/M +bitonal +bitonality/M Noun: uncountable +bitrate/SM +Bitrex/M trademark +bitrot/M Noun: uncountable +bitser/SM +Bitstream +bitstream/SM +Bittadon/M +bitten +bitter/YPSd +bittercress/SM +bitterer +bitterest +Bittering/M +Bitterley/M +bitterling/SM +Bitterman/M +bittern/MS +bitternut/SM +bitterroot/SM +bittersweet/SMYP +Bittesby/M +Bitteswell/M +Bittinger/M +Bitton/M +BitTorrent/M +bitty/TP +bitumen/MS +bituminisation/MS +bituminise/SGDJ +bituminous +bitwise +biungulate/SM +bivalence/SMZ +bivalent/SM +bivalve/SMD +bivariate/SM +bivouac/GMDS +bivvy/MS +biweekly/SM +Bix/M +Bixby/M +Bixley/M +Bixton/M +biyearly +biz/M Noun: uncountable +bizarre/PY +bizarrerie/SM +Bizet/M +Bizna/M +bizzes +bizzies +Bjoern/M +Björn/M +Bk +bk +blab/RSDG +blabber/d +blabbermouth/SM +Blaby/M +Blachon/M +black-hearted +black/DGYPSTM~ +Black/MS +Blackadder/M +blackamoor/MS +Blackawton/M +blackball/DGSM +Blackbeard/M +blackberry/DMSG +Blackberry/M +BlackBerry/SGD +blackbird/GSMD +blackboard/MS +blackbody/SM +Blackborough/M +blackboy/SM +Blackbraes/M +blackbuck/SM +Blackburn/M +Blackburne/M +blackbutt/SM +blackcap/SM +blackcock/M +blackcurrant/SM +Blackdown/M +blacken/Sdr +blackface/SM +Blackfeet/M +blackfellow/MS +Blackfen/M +blackfish/SM +blackfly/SM +Blackfoot/M +Blackford/M +Blackfriars/M +blackguard/SDYGM +Blackhall/M +Blackhawk/M +blackhead/SM +Blackheath/M +blacking/M +blackjack/MSDG +Blackland/M +blacklead/SGDM +blackleg/DGMS +Blackler/M +Blackley/M +blacklist/SGDMR +blackmail/RGMDS +Blackman/M +Blackmanstone/M +Blackmore/M +Blacko/M +blackout/MS +blackpoll/SM +Blackpool/M +Blackridge/M +Blackrod/M +Blacksburg/M +Blackshaw/M +Blackshirt/SM +blackshirt/SM +Blackskull/M +blacksmith/GSM +Blackstone/M +blackthorn/SM +Blackthorne/M +Blacktoft/M +Blacktown/M +Blackwater/M +Blackwatertown/M +Blackwell/M +Blackwood/M +blacky/MS +bladder/MSd +bladdernut/SM +bladderwort/SM +blade/GDMSp +Bladen/M +Bladon/M +Blaenafon/M +Blaenau/M +Blaenavon/M +Blaengwrach/M +Blaengwrath/M +Blaenhonddan/M +Blaenpennal/M +Blaenporth/M +Blaenrheidol/M +blag/SGDR +Blagdon/M +Blagojevich/M +Blagreaves/M +blagueur/SM +blah/MDSG +Blaina/M +Blaine/M +Blainville/M +Blair/M +Blairdaff/M +Blairgowrie/M +Blairhall/M +Blairhill/M +Blairingone/M +Blairism/M Noun: uncountable +Blairite/SM +Blaisdon/M +Blaise/M +Blake/M +Blakedown/M +Blakelaw/M +Blakemere/M +Blakemore/M +Blakeney/M +Blakenhall/M +Blakenham/M +Blakesley/M +Blaketown/M +Blalock/M +blame/R7SGMpD +blameless/PY +blameworthy/P +Blanc/M +blanc/SM +blanch/DSGR +Blanchard/M +Blanche/M +Blanchland/M +blancmange/MS +Blanco/M +bland/TPY +Blandford/M +blandish/DGLS +Blandy/M +Blane/M +Blaney/M +blank/PDGSTYM +Blankenship/M +blanket/dSM +blanketer/S +blanketing/M +Blankney/M +Blanton/M +Blantyre/M +blare/GDSM +blarney/GSMD +blasé +Blase/M +Blasio/M +blaspheme/RDSZG +blasphemous/YP +blasphemy/MS +blast/GRSMD +blasting/M +blastocyst/SM +blastoderm/SMW +blastodisc/SM +blastodisk/SM +blastoff/SM +blastoma/SM +blastomata/M +blastomere/SM +blastomycosis/M +Blaston/M +blastula/M +blastulae/M +blat/MSGD +blatancy/MS +blatant/YP +Blatchington/M +blather/dSrM +Blatherwycke/M +Blatt/M +Blau/M +Blavatsky/M +Blawarthill/M +Blawith/M +Blaxhall/M +blaxploitation/M Noun: uncountable +Blaxton/M +blazar/SM +blaze/RkGDMS +blazon/SMdr +bldg/SM +bleach/GRDSM +Bleadon/M +bleak/TPSYM +Blean/M +blear/SDGzZ +bleary-eyed +bleary/TP +Bleasby/M +Bleasdale/M +bleat/DGSR +bleb/SM +Bleckley/M +bled +Bleddfa/M +Bledington/M +Bledlow-cum-Saunderton/M +Bledlow/M +Bledrws/M +Bledsoe/M +bleed/RSG +bleeding-heart +bleep/MDGSR +Bleiler/M +blemish/MDSG +blench/DGS +blend/RGSD +Blendworth/M +Blenheim/M +blenny/SM +bleomycin/SM +blepharitis/M Noun: usually uncountable +blepharoplasty/SM +blepharospasm/SM +bless/hGSDiJ +blessedness/MS +blessing/SM +Bletchingdon/M +Bletchingley/M +Bletchley/M +Bletherston/M +Bletsoe/M +Blevins/M +blew +Blewbury/M +Blewett/M +Blewitt/M +Blickling/M +Blidworth/M +Bligh/M +blight/DGMSR +Blighty/M +blimey +blimp/MS +Blimp/SM Colonel Blimp +blimpery/M +Blimpian +blimpish/YP +Blimpism/M +blind/7SDRTPGkYM +Blindbothel/M +blindfold/DSG +blinding/SM +blindworm/MS +bling-bling/M Noun: uncountable +bling/M Noun: uncountable +blingy/T +blink/MDGRS +blinker/d +blip/DGMS +blipvert/SM +Blish/M +Blisland/M +bliss/D6jSM +Bliss/M +blissful/P +blister/dMkSZ +Blisworth/M +blithe/YTP +blithering/SM +blithesome/Y +Blithfield/M +blitz/GSDM +blitzkrieg/SM +BlitzMax/M +blizzard/SM +Blo' +bloat/SDRGM +bloatware/M Noun: uncountable +blob/SMDG +blobby/T +blobfish/SM +bloc/GDMSR +Bloch/M +block/M~ +block/UGDS +blockade/DMGRS +blockage/MS +blockboard/SM +blockbuster/MS +blockbusting/M Noun: uncountable +blockchain/SM +blockhead/SMD +blockhouse/MS +Blockley/M +blocklist/DGSM +blockquote/SM +blockship/SM +blockwork/M Noun: usually uncountable +blocky/TP +Blodwell/M +Bloemfontein/M +Blofeld/M +Blofield/M +blog/SBMGDR +bloggy/T +blogosphere/SM +blogpost/SM +blogroll/SM +bloke/MS +blokeish/P +Blomberg/M +Blomfield/M +Blomquist/M +blond/TSMP~ +blonde/SM +blondie/SM +blood-borne +blood-curdling +blood-red +blood-wealth/M +blood/SGZiDMphzR~ +bloodbath/SM +bloodberry/SM +bloodhot +bloodhound/SM +bloodless/PY +bloodletter/SM +bloodletting/SM +bloodline/MS +bloodlust +bloodroot/MS +bloodshed/GSMR +bloodshot +bloodsport/SM +bloodstain/DMS +bloodstock/SM +bloodstone/SM +bloodstream/SM +bloodsucker/MS +bloodsucking +bloodthirsty/PTY +bloodwood/SM +bloodworm/SM +bloodwort/M Noun: usually uncountable +Bloodworth/M +bloody/STPGD +bloodymindedness/M Noun: uncountable +Bloom/M +bloom/RMDGS +Bloomberg/M +bloomery/MS +Bloomfield/M +Blooming/M +Bloomingdale/M +Bloomington/M +Bloomquist/M +Bloomsburg/M +Bloomsbury/M +bloop/SMDRG +Blore/M +blossom/dMS +Blossomville/M +blossomy +blot/GMRSD +blotch/SGMZD +blotchy/T +blotto +Blount/M +blouse/SMGD +blouson/SM +blousy/T +bloviate/SGD +blow-by-blow +blow-dry/SGDM +blow-dryer/SM +blow-out/SM +blow-up/SM +blow/RGZSM +blowback/SM +blowfish/SM +blowfly/SM +blowgun/SM +blowhole/SM +blowing-up/M +blowing/M +blowjob/SM +blowlamp/SM +blown +blown-up +blowout/SM +blowpipe/MS +blowsy/TYP +blowtorch/MS +blowy/T +blowzy/T +Bloxham/M +Bloxholm/M +Bloxwich/M +Bloxworth/M +Blu-ray/SM +blub/SGDJ +blubber/JdSZrM +Blubberhouses/M +Blucher/M +blucher/SM +bludge/D +bludgeon/MGSD +blue-black +blue-blooded +blue-collar +blue-eyed +blue-green/M +blue-pencil/SGD +blue/JMDPYSGZT~ +Blue/MS +blueback/SM +Bluebeard/M +bluebell/SM +blueberry/MS +bluebill/SM +bluebird/MS +bluebonnet/SM +bluebook/SMZ +bluebottle/SM +Bluefield/MS +bluefin/SM +bluefish/SM +bluegill/MS +bluegrass/SM +BlueGriffon/M +bluegum/SM +blueishness/M Noun: uncountable +bluejacket/SM +bluejeans +blueliner/SM +Bluemantle/M +bluenose/MS +bluepoint/SM +blueprint/GSMD +bluer +blueschist/SM +blueshift/SM +bluesman/M +bluesmen/M +bluest +bluestocking/SM +bluesy/T +bluethroat/SM +bluetongue/M Noun: uncountable +Bluetooth/DM +blueward +Bluff/MS +bluff/PSDRGTYM +Bluffton/M +bluing/M +bluish/P +Blum/M +Blundell/M +blunder/dkrJMS +blunderbuss/SM +Blundeston/M +Blundeville/M +blunge/DGSr +Blunham/M +Blunkett/M +Blunsden/M +Blunsdon/M +blunt/MYPGTSD~ +Bluntisham/M +blur/hGDZSM +blurb/GSDM +blurring/Y +blurry/TP +blurt/SGDr +Blurton/M +blush/GDkRSM +blushing/UY +bluster/rSZdkM +blusterous +blvd +Blyborough/M +Blyford/M +Blymhill/M +Blystone/M +Blyth/M +Blythburgh/M +Blythe/M +Blytheville/M +Blyton/M +Blytt/M +BMus Bachelor of Music +BMW/MS +BMX/M +BNF/M +BNFL/M +Bo'ness/M +Bo/M +boa/SM +Boadicea/M +boar/MS +board/RMGDSJ +boardgame/SM +boarding/M +boardinghouse/MS +Boardman/M +boardroom/SM +boardsail/GM +boardsailor/SM +boardslide/SM +boardwalk/SM +Boarhills/M +Boarhunt/M +Boarstall/M +boast/DRG6jJSM +boastful/P +Boat/M +boat/MDRGSp +boatbuilder/SM +boatbuilding/SM +boatfly/M +boathook/SM +boathouse/SM +boating/SM +boatlift/SGDM +boatlike +boatload/MS +boatman/M +boatmen/M +boatswain/MS +boatyard/SM +Bob/M +bob/ZSGDM +Bobbie/M +bobbin/SM +Bobbing/M +bobbing/SMY +Bobbington/M +Bobbingworth/M +bobbish +bobble/SGMDY +bobby/MS +bobcat/SM +bobolink/SM +bobsleigh/RSDMG +bobtail/SMGD +bobwhite/SM +Boca/M +Boccaccio/M +Boccherini/M +boccie/SM +Boche/MS +Bochkov/M +Bochum/M +bock/SGDM +Bockhorst/M +Bocking/M +Bockleton/M +bockwurst/SM +Boconnoc/M +bod/SMd +Boddam/M +Boddington/M +Bode/M +bode/SGDZ +Bodedern/M +bodega/SM +Bodelwyddan/M +Bodenham/M +Bodewryd/M +Bodfari/M +Bodffordd/M +bodge/SGDR +Bodham/M +Bodhidharma/M +Bodhisattva/M +bodhisattva/SM +Bodiam/M +bodice/SM +Bodicote/M +boding/SM +bodkin/MS +Bodleian/M +Bodley/M +Bodmer/M +Bodmin/M +Bodney/M +Bodoni/M +Bodorgan/M +Boduan/M +Bodwrog/M +body-blow/SM +body-builder/SM +body-building/M Noun: uncountable +body-check/SGD +body/pDMSYG +bodyboard/SMRG +bodybuilder/SM +bodybuilding/M Noun: uncountable +bodyguard/MSG +bodyhood/M Noun: uncountable +bodyline/SM +bodyshell/SM +bodyside/SM +bodysnatcher/SM +bodysnatching/M Noun: uncountable +bodysuit/SM +bodysurf/SDrG +bodyweight/SM +bodywork/rMS +Boeck/M +Boedeker/M +boehmite/SM +Boehner/M +Boeing/M +Boellstorff/M +Boeotia/M +Boeotian/SM +Boer/SM +Boerne/M +Boethius/M +Boethus/M +Boethusians/M +boff/SM +Boffetta/M +boffin/SM +Bofors/M +bog/GDMZS +Bogalusa/M +Bogart/M +bogbean/SM +bogey/GmMDS +boggle/DGSk +boggy/T +Boghall/M +bogie/SM +bogland/SM +Bognor/M +Bogomil/SM +Bogomilism/M Noun: uncountable +Bogota/M +Bogotá/M +bogus +Boharm/M +Bohemia/M +Bohemian/SM +bohemian/SM +bohemianism/SM +Boho/M +Bohr/M +bohrium/M Noun: uncountable +boid/SM +Boids +boil/GSDMr +Boileau/M +Boileezers +boilermaker/MS +boilerplate/SM +boing/SGDM +Bois-des-Filion/M +Bois/M +Boisbriand/M +Boise/M +boisterous/YP +bokeh/M Noun: uncountable +Bokhara/M +bokken/SM +Bokmål/M +bola/SM +Bolam/M +Bolas/M +bold/PYTSGDM +Bolden/M +boldface/MGDS +Boldini/M +Boldon/M +Boldre/M +Bole/M +bole/MS +bolero/MS +Boleskine/M +Boletales Taxonomic order +bolete/SM +boletus/SM +Boleyn/M +Bolger/M +Bolingbroke/M +Bolingbrook/M +Bolivar/M +Bolivia/M +Bolivian/SM +boll/MS +Bolland/M +bollard/SM +Bollinger/M +Bollingham/M +Bollington/M +bollocking/SM +bollocks +bollworm/SM +Bollywood/M +Bolney/M +Bolnhurst/M +Bologna/M +bolognaise/SM +Bolognese/M +bolognese/SM +bolometer/WSM +boloney/SM +Bolshevik/SM +Bolshevism/SM +Bolshevist/WMS +Bolshie/MS +Bolshoi/M +Bolsonaro/M +Bolsover/M +bolster/dSrM +Bolsterstone/M +Bolstone/M +bolt-on/SM +bolt/SM +bolt/UGSD +Boltby/M +Bolte/M +bolter/SM +bolthole/SM +Bolton-by-Bowland/M +Bolton-le-Sands/M +Bolton-on-Swale/M +Bolton/M +Boltzmann/M +bolus/MS +BOM/SM +bomb/RSMDGJ +bombard/GLDSM +bombardier/SM +bombardon/SM +bombast/WMS1r +Bombay/M +bombazine/SM +bombed-out +Bombelli/M +bombproof/SM +bombshell/SM +Bomford/M +Bôn-y-maen/M +bona +Bona/M +Bonanome/M +bonanza/SM +Bonaparte/M3 +Bonapartism/M Noun: uncountable +Bonar/M +Bonatti/M +Bonaventura/M +Bonaventure/M +bonbon/SM +Bonby/M +Boncath/M +Bonchurch/M +Bond/M +bond/MmDJRGS +bondage/MS +bondholder/SM +Bondleigh/M +bondservant/SM +Bonduriansky/M +bondwoman/M +bondwomen/M +bone/pRMSZGD +bonehead/DMS +Bonello/M +bonemeal/SM +boneset/SMR +boneshaker/SM +Bonetti/M +boneyard/SM +Bonfire +bonfire/SM +bong/SMDG +bongo/MS +Bonham/M +Bonhill/M +Bonhoeffer/M +bonhomie/SM +Bonhunt/M +Boniface/M +Bonilla/M +Boningale/M +Bonington/M +Bonita/M +bonito/MS +bonk/drSM +Bonkle/M +Bonkyll/M +Bonn/M +Bonner/M +bonnet/dSM +bonnethead/SM +Bonneville/M +Bonney/M +bonnie +Bonnington/M +bonny/TYP +Bonnybridge/M +Bonnyrigg/M +bonobo/SM +bonsai/SM +Bonsall/M +Bontnewydd/M +bonus/MS +Bonville/M +Bonvilston/M +bony/PT +bonze/SM +boo/DSGM +boob/MDZGS +boobook/SM +booby-trap/SGDM +booby/MS +boodle/DMSG +boogaloo/SGDM +boogeyman/M +boogie/SDM +boogieing +boohoo/SDG +book/7GMDRJS +bookaholic/SM +bookbind/RGJ +bookbindery/MS +bookbinding/SM +bookcase/SM +booked/cA +bookend/DSGM +Bookham/M +bookie/MS +booking/SM +bookish/YP +bookkeep/RGJ +bookkeeping/M Noun: usually uncountable +bookland/SM +booklet/SM +booklice/M +booklist/SM +booklouse/M +bookmaker/MS +bookmaking/M Noun: usually uncountable +bookman/M +bookmark/GSDMR +bookmarklet/SM +bookmen/M +bookplate/SM +bookrest/SM +books/cA +bookseller/SM +bookselling/M Noun: uncountable +bookshelf/M +bookshelves +bookshop/MS +bookslide/M +bookstack/SM +bookstall/SM +bookstamp/M +booksy +bookwise +bookwoman/M +bookwork/M Noun: uncountable +bookworm/MS +bookwright/SM +Boole/M +boolean/SM +Boolean/SM +boom/SMGDR +boomerang/GSDM +boomy/PT +Boon/M +boon/SM +Boone/M +boonies +boor/MS +boorish/YP +boost/RGSMD +boosterism/SM +boot/Mp +boot/SAGD +bootable +bootblack/SM +bootboy/SM +bootee/SM +Boötes/M +booth/MS +Booth/MS +Bootham/M +Boothby/M +Boothroyd/M +Boothtown/M +bootie/SM +bootkit/SM +bootlace/SM +Bootle/M +bootleg/GSRD +bootlick/SGDR +bootloader/SM +bootmaker/SM +Booton/M +bootprint/SM +bootstrap/MDGS +Bootton/M +booty/SM +booze/RZGDMS +boozy/T +bop/RGDS +Bophuthatswana/M +boracic +borage/SM +borane/SM +Boraston/M +borate/DMS +borax/M Noun: uncountable +Borazon/M +Borchert/M +Bordeaux/M +Borden/M +Bordentown/M +border/dMSrp +Border/M +borderland/SM +borderline/MS +Bordon/M +bore/RGSMkDW +boreal +Boreal +borealis +Borealis/M +boredom/MS +Boreham/M +Borehamwood/M +borehole/SM +Borel/M +Borelli/M +borescope/SM +Borg/M +Borger/M +Borges/M +Borghini/M +Borgnine/M +Borgue/M +boride/SM +boring/MP +Borio/M +Boris/M +Borjas/M +bork/SGD +Borko/M +Borkowska/M +Borland/M +Borley/M +Bormann/M +born-again/SM +born-free/SM +born/AU +born/p +Borna/M +borne +Bornean/SM +Borneo/M +Bornholdt/M +Bornholm/M +bornite/SM +Borobudur/M +Borodin/M +Borodino/M +boron/M Noun: usually uncountable +Boronia/M +Boroondara/M +borosilicate/SM +borough/MS +Boroughbridge/M +Borrelli/M +borrow/RGS7JD +Borrowash/M +Borrowby/M +Borrowdale/M +Borsalino/SM +borscht/SM +Borstal/M +borstal/MS +Borth/M +Borthwick/M +Bortz/M +Borwick/M +borzoi/MS +Bosbury/M +Bosch/M +Boscobel/M +Boscombe/M +Bose/M +bosh/SM +Bosham/M +Bosherton/M +bosky +Bosley/M +Bosnia-Herzegovina/M +Bosnia/M +Bosniak/MS +Bosnian/SM +bosom/M +bosom/UdS +bosomy/T +boson/SMW +Bosphorus/M +Bosporus/M +Bosque/M +boss/SzGMDZr +Bossall/M +Bossert/M +Bossier/M +Bossington/M +bossism/SM +bossy/TP +bostin +bosting +Bostock/M +Boston/M +Bostonian/MS +Bostwick/M +bosun/SM +Boswell/MS +Boswellian +Bosworth/M +bot/SM +botanical/SM +botanise/SGD +botany/3WSMw1 +botch/SRGDM +Botcherby/M +Botesdale/M +Botetourt/M +botfly/SM +both/Z +Botha/M +Bothal/M +Botham/M +Bothamsall/M +Bothaw/M +Bothell/M +Bothenhampton/M +bother/dS +bothersome/Y +Bothkennar/M +Bothwell/M +bothy/SM +Botley/M +Botnar/M +botnet/SM +Botolph-Lane/M +Botolph/MS +Botolphbridge/M +Botox/D +botriolite/M +Botriphnie/M +botryoid/SMO +botryolite/M Noun: uncountable +botryose +botrytis/M +botrytised +Botswana/M +Botswanan/SM +Botswanian/SM +Bott/M +bottarga/M Noun: uncountable +Botterell/M +Bottesford/M +Botticelli/M +Bottisham/M +bottle-fed +bottle-feed/SG +bottle-nosed +bottle/RDGSM +bottlebrush/SM +bottleneck/MDGS +bottlenose/SM +bottlescrew/SM +bottom-dweller/SM +bottom-dwelling +bottom-up +bottom/dSMr +Bottom/M +bottomless/YP +Bottomley/M +bottommost +Bottomore/M +bottomry/SM +bottomward/S +Bottwnog/M +botty/SM +botuliform +botulin/MO +botulinum/M Noun: uncountable +botulinus/M +botulism/SM +Botus/M +Botusfleming/M +Botwnnog/M +Bouazizi/M +Bouchaniche/M +Bouchard/M +Boucher/M +Boucherville/M +Bouckaert/M +bouclé +Boudica/M +boudoir/MS +bouffant/SM +bougainvillea/SM +bough/SM +Boughrood/M +bought +Boughton/M +bouillabaisse/SM +bouillon/MS +Boulcott/M +boulder/dMS +boulevard/MS +Boulge/M +boulle/M Noun: usually uncountable +Boulogne/M +Boulston/M +Boulter/M +Boultham/M +Boulton/M +Bouman/M +bounce/kZSRG2DM +bouncy/YT +bound/ADSG +Bound/M +Boundary/M +boundary/MS +bounded/P +bounden +bounder/SM +boundless/PY +bounteous/YP +Bountiful/M +bountiful/P +bounty/6DjSM +bouquet/MS +Bourbaki/M +bourbon/MS +Bourbon/MS +Bourbonnais/M +Bourdillon/M +bourdon/SM +bourée +bourgeois/M Noun: usually uncountable +bourgeoisie/MS +Bourguiba/M +Bourn/M +bourn/SM +Bourne/M +bourne/SM +Bournemouth/M +Bournheath/M +Bourock/M +Bourret/M +Bourse +bourse/SM +Bourtie/M +Bourton-on-the-Hill/M +Bourton-on-the-Water/M +Bourton/M +Bourtreehill/M +boustrophedon/SM +boustrophedonic/Y +bout/MS +boutique/SM +boutiquey +boutonnière/SM +Bouvard/M +Bouvet Bouvet Island +Bouvier/M +Bouyssou/M +Bouzy/M +Boveridge/M +Bovey/M +bovine/SMY +Bovingdon/M +bow-legged +bow-saw/MS +bow-tie/SM +Bow/M +bow/mRGDSM +Bowden/M +Bowdler/M +bowdlerise/nDGS +Bowdon/M +bowel/SGMD +Bowells/M +Bowels/M +Bowen/M +bower/d +Bower/MS +bowerbird/SM +Bowerchalke/M +Bowery/M +Bowes/M +bowfin/SM +bowhead/SM +Bowie/M +bowie/SM +bowing/M +Bowker/M +bowl/R6MSDG +Bowland-with-Leagram/M +Bowland/M +bowleg/SM +Bowles/M +Bowley/M +bowlful/SM +bowline/SM +Bowling/M +bowling/M Noun: uncountable +Bowmer/M +Bowmore/M +Bowness/M +Bowral-Mittagong/M +bowser/MS +bowshot/SM +bowsprit/MS +bowstring/DMGS +bowstrung +Bowthorpe/M +bowwow/SDMG +bowyang/MS +bowyer/SM +box-office/SM +box-shifter/SM +box/DZ2RS6GM +boxboard/M Noun: usually uncountable +boxcar/MS +boxfish/SM +Boxford/M +boxful/SM +Boxgrove/M +boxing/M Noun: uncountable +Boxley/M +boxlike +Boxmoor/M +Boxted/M +boxthorn/SM +boxtop/SM +Boxwell/M +boxwood/SM +Boxworth/M +boxy/T +boy/MSr +Boyatt/M +Boyce/M +boycott/SGDr +Boyd/M +Boydell/M +Boyes/M +boyfriend/SM +boyhood/SM +boyish/PY +Boyle/M +Boyleston/M +Boylestone/M +Boyndie/M +Boynton/M +boyo/SM +boyscout/SM +boysenberry/MS +Boyton/M +Bozeat/M +Bozeman/M +bozo/SM +Bozon/M +BP +BPD/M Noun: uncountable +BPhil Bachelor of Philosophy +bpi bits per inch +bpm beats per minute +bps bits per second +Bq +Br +BR/M +bra/WpSM +Brabant/M +Brabham/M +Brabourne/M +Bracadale/M +Brace/M +brace/SkGDMr +Braceborough/M +Bracebridge/M +Braceby/M +bracelet/SM +Bracewell/M +brachia/OM +brachiator/MS +brachii +brachiopod/SM +Brachiopoda Taxonomic phylum +brachiosaurid/SM +Brachiosaurus Taxonomic genus +brachiosaurus/SM +brachistochrone/MS +brachium/M +brachycephaly/WSM +Brachycera Taxonomic suborder +brachydont/MS +brachylogy/M Noun: uncountable +brachypellic +brachytherapy/SM +brachyuran/SM +braciola/M +Brackaville/M +bracken/SM +Brackenborough/M +Brackenfield/M +bracket/dSM +bracketing/M +Brackett/M +brackish/P +Brackla/M +Brackley/M +Bracknell/M +Braco/M +Bracon/M +braconid/SM +bract/MS +bracteal +bracteate/SM +brad/DSGM +Brad/M +bradawl/SM +Bradbourne/M +Bradburn/M +Bradbury/M +Braddan/M +Bradden/M +Braddock/M +Bradenham/M +Bradenstoke/M +Bradenton/M +Bradfield/M +Bradford-on-Avon/M +Bradford-on-Tone/M +Bradford/M +Brading/M +Bradley/M +Bradleyfield/M +Bradleys/M +Bradman/M +Bradmore/M +Bradninch/M +Bradnop/M +Bradoc/M +Bradon/M +Bradpole/M +Bradshaw/M +Bradstock/M +Bradstone/M +Bradstreet/SM +Bradwall/M +Bradwell-on-Sea/M +Bradwell/M +Bradworthy/M +Brady/M +bradycardia/SM +bradykinin/SM +bradyon/SM +Brae/M +brae/SMQ +Braemar/M +Braes/M +Brafferton/M +Brafield/M +brag/TSDRG +Braga/M +Bragg/M +braggadocio/MS +braggart/MS +Brahe/M +Brahma/M +Brahman/MS +Brahmana/SM +Brahmani/M +Brahmanic/O +Brahmanism/M +Brahmaputra/M +Brahmin/MS +Brahms/M +braid/DGSJrM +braiding/M +Braidwood/M +brail/DGMS +Brailes/M +Braille/SMGDJ +Brailsford/M +brain-damaged +brain-dead +brain/GD2pMZS +brainbox/SM +braincase/SM +braincell/SM +brainchild/M +brainchildren/M +Brainerd/M +brainless/PY +brainpower/M Noun: usually uncountable +brainstem/SM +brainstorm/SMDGr +brainstorming/SM +brainteaser/SM +brainteasing +Braintree/M +brainwash/SGDr +brainwashing/M +brainwave/SM +brainwork/M Noun: uncountable +brainy/PTY +Braiseworth/M +Braishfield/M +Braithwaite/M +Braithwell/M +brake/SGDM +brakeman/M +brakemen/M +brakesman/M +brakesmen/M +Bram/M +Bramah/M +Bramante/M +Bramber/M +bramble/GMYDS +brambling/SM +brambly/T +Bramcote/M +Bramdean/M +Bramerton/M +Bramfield/M +Bramford/M +Bramham/M +Bramhope/M +Bramley/MS +Brampford/M +Brampton/M +Bramshall/M +Bramshaw/M +Bramshill/M +Bramshott/M +Bramwith/M +Bran/M +bran/SDGM +Brancaster/M +Brancepeth/M +Branch/M +branch/SMGDZ +Branchburg/M +branchia/OM +branchiae/M +branching/M +branchiopod/SM +branchlet/SM +branchlike +Branchville/M +brand/MRGZSD +brandade/SM +Brandão/M +branded/Ua +Brandenburg/M +brander/dSM +Branderburgh/M +Brandesburton/M +Brandeston/M +Brandi/M +brandish/SGDr +Brandiston/M +Brando/M +Brandon/M +Brandreth/M +Brandsby-cum-Stearsby/M +Brandsby/M +Brandt/M +brandy/GMDS +brandywine/SM +Branford/M +brank/SM +Brannon/M +Branquinho/M +Branscombe/M +Bransdale/M +Bransford/M +Bransgore/M +Branson/M +Branston/M +Brant/M +Brantford/M +Brantham/M +Brantingham/M +Brantley/M +Branton/M +Branxton/M +Braque/M +bras/2GzZD +Brash/M +brash/YSPTM +Brasilia/M +Brasília/M +Brașov/M +brass-necked +brass/MS +brassard/SM +brasserie/SM +brassfounder/SM +brassic +brassica/MS +brassiere/MS +Brassington/M +brassware/SM +brassy/TSMP +Brasted/M +brat/MZS +Bratislava/M +Bratoft/M +brattice/MS +Brattleboro/M +Brattleby/M +Bratton/M +bratty/T +bratwurst/MS +Braughing/M +Braun/M +Brauncewell/M +Braunfels/M +braunite/SM +Braunston-in-Rutland/M +Braunston/M +Braunstone/M +Braunton/M +bravado/M +brave/DYyTGPSM +braveheart/SM +bravery/SM +bravest/M Noun: uncountable +bravo/GDSM +bravura/MS +Brawby/M +Brawdy/M +Brawith/M +brawl/MRGSD +Brawley/M +brawn/ZSM2 +Brawndo/M +brawny/T +Braxted/M +Braxton/M +Bray/M +bray/SGDr +Braybrooke/M +Braydeston/M +Braydon/M +Brayfield/M +Brayford/M +Brayton/M +braze/DSGM +brazen/dYP +brazier/SM +Brazil/M +Brazilian/SM +Brazoria/M +Brazos/M +Brazzaville/M +BrE British English +Brea/M +breach/DRSGM +bread-and-butter +bread/HDMSG +Bread/M +breadbasket/MS +breadboard/DGMS +breadbox/SM +breadcrumb/SDM +breadfruit/MS +breadhead/SM +breadline/MS +Breadsall/M +breadstick/SM +breadth/SM +breadthways +breadthwise +breadwinner/SM +breadwinning/M Noun: uncountable +Bready/M +Breage/M +break-bulk +break-fall/SM +break-in/SM +break-off/SM +break-up/SM +break/eMS +breakable/S +breakage/MS +breakaway/MS +breakbeat/SM +breakdance/GRDSM +breakdown/SM +breaker/SM +breakfast/MRGDS +breakfront/SM +breaking/M +breakneck/SM +breakout/MS +breakpoint/DGMS +breakthrough/MS +breaktime/SM +breakup/SM +breakwater/SM +breakwind/MS +bream/DSG +Bream/M +Breamore/M +Brean/M +Breane/M +Breanne/M +Brearton/M +breast-beating/M +breast/DGMSp= +breastbone/SM +breastfed +breastfeed/GS +breasthook/SM +breasting/M +Breaston/M +breastpin/SM +breastplate/MS +breaststroke/SMr +breastsummer/SM +breastwork/MS +breath/RpZDS7JGM +breathability/SM +breathalyse/SDr +breathe/SGD +breathing/M +Breathitt/M +breathless/YP +breathtaking/Y +breathwork/M Noun: uncountable +breathy/T +Brec/M +breccia/SM +brecciate/SGDN +Brechfa/M +Brechin/M +Brecht/M +Breckenbrough/M +Breckenridge/M +Breckinridge/M +Breckland/M +Breckles/M +Brecknock/M +Brecknockshire/M +Brecksville/M +Brecon/M +bred +Brede/M +Bredenbury/M +Bredfield/M +Bredgar/M +Bredhurst/M +Bredicot/M +Bredin/M +Bredman/M +Bredon/M +Bredwardine/M +Bredy/M +Bree/MS +breech-loaded +breech-loader/SM +breech-loading +breech/SGMDJ +breed/MRGJS +Breedon/M +breeze/MGSD +breezy/TPY +Brefi/M +Bregas/M +Bregman/M +Breich/M +Breightmet/M +Breinton/M +Breisgau/M +Breitinger/M +Brelade/M +Bremen/M +Bremer/M +Bremerton/M +Bremhill/M +Bremilham/M +Bremner/M +bremsstrahlung/SM +Bren/M +Brenau/M +Brenchley/M +Brenda/M +Brendan/M +Brendon/M +Brenham/M +Brenna/M +Brennan/M +Brenner/M +Brent/M +brent/SM +Brentford/M +Brentor/M +Brentwood/M +Brenzett/M +Breock/M +Breoke/M +Brereton/M +Brescia/M +Bresenham/M +Breslau/M +Breslin/M +Bressay/M +Bressingham/M +Bresson/M +bressummer/SM +Brest/M +Bretby/M +Bretford/M +Bretforton/M +Bretherton/M +brethren +Brethren/M +Breton/MS +Brett/M +Brettenham/M +Brettler/M +Bretton/M +bretylium/M Noun: uncountable +Breughel/M +Breuss/M +Brevard/M +breve/MS +brevet/dMGDS +Brevett/M +breviary/SM +brevity/MS +brew/RGMDS +Breward/M +Brewer/MS +brewery/SM +Brewham/M +brewhouse/SM +brewing/M +Brewis/M +Brewitt/M +Brewood/M +Brewster/M +Brexit/Mr +Brexiteer/SM +Breydon/M +Brezhnev/M +Brian/M +briar/SMZ +Briavels/M +bribe/BDRySGM +bribery/SM +bric-a-brac/M Noun: uncountable +bric-à-brac/M Noun: uncountable +bric/DG +Brice/M +Bricett/M +brick-red +brick/drSM +Brick/M +brickbat/MS +Brickendon/M +brickfielder/MS +Brickhill/M +brickie/SM +bricklayer/SM +bricklaying/SM +Bricklehampton/M +Brickley/M +brickmason/SM +brickwork/SM +brickyard/MS +bricolage/SM +bricoleur/SM +bridal/Y +bride-to-be/M +bride/SM +bridegroom/MS +Bridekirk/M +Bridell/M +Bridenstine/M +brides-to-be/M +bridesmaid/MS +Bridestowe/M +Bridewell/M +Bridford/M +Bridge/M +bridge/MGSD +bridgeable/U +bridgehead/SM +Bridgemere/M +Bridgend/M +Bridgenorth/M +Bridgeport/M +Bridger/M +Bridgerule/M +Bridgestone/M +Bridget/M +Bridgeton/M +Bridgetown/M +Bridgeview/M +Bridgewater/M +bridgework/MS +Bridgford/M +Bridgham/M +bridging/SM +Bridgman/M +Bridgnorth/M +Bridgtown/M +Bridgwater/M +bridle/MGSD +bridleway/SM +Bridlington/M +bridoon/MS +Bridport/M +Bridstow/M +Brie/M +brief/pTJSYDPGrM +briefcase/MS +brier/SM +Briercliffe/M +Brierfield/M +Brierley/M +Brierly/M +Brierton/M +Briet/M +Briffa/M +brig/MS +brigade/GDSM +brigadier/SM +Brigadoon/M +brigalow/MS +brigand/SM +brigandage/SM +brigandine/MS +brigandry/M Noun: usually uncountable +brigantine/SM +Brigg/MS +Brigham/M +Brighouse/M +Brighstone/M +bright-eyed +Bright/M +bright/TPGY +brighten/drS +Brightling/M +Brightlingsea/M +Brighton/MS +Brightside/M +Brightstone/M +Brightwalton/M +Brightwater/M +Brightwell-cum-Sotwell/M +Brightwell/M +brightwork/M Noun: usually uncountable +Brigitte/M +Brignall/M +Brigsley/M +Brigstock/M +Brihaspati/M +Brill/M +brill/SM +Brilley/M +brilliance/SMZ +brilliancy/SM +brilliant/PSYM +brilliantine/M +Brillouin/M +brim/DGMSp6 +Brimbank/M +Brimfield/M +Brimington/M +Brimley/M +brimonidine/M Noun: uncountable +Brimpsfield/M +Brimpton/M +Brimscombe/M +brimstone/SM +Brinch/M +Brindisi/M +Brindle/M +brindle/MDS +Brindley/M +brine/SGDZMr +bring/RSG +Bringhurst/M +Brington/M +Briningham/M +brinjal/MS +brink/MS +Brinkburn/M +Brinkhill/M +Brinkley/M +Brinklow/M +Brinkman/M +Brinkmann/M +brinkmanship/MS +Brinkworth/M +Brinsley/M +Brinsop/M +Brinsworth/M +Brinton/M +briny/TPM +brio/M Noun: uncountable +brioche/SM +Briot/M +briquet/MS +briquette/SM +Brisbane/M +brisk/TYPSGD +brisket/SM +Brisley/M +Brislington/M +Brisson/M +bristle/SMYGD +bristlebird/SM +bristlecone/SM +bristletail/MS +bristly/T +Bristo/M +Bristol/M +bristols +Briston/M +Brit. +Brit/SM +Britain/M +Britannia/M +Britannic/M +Britannica/M +britches +Britford/M +Brithdir/M +Briticism/SM +British/RYP +Britishism/SM +Britney/M +Brito/M +Briton/SM +Britpop/RM +Britt/M +Brittany/M +Britten/M +brittle/DTGPSYM +brittlely +brittlestar/SM +Britton/M +Brittonic/M +Britwell/M +britzka/MS +britzska/MS +Brixham/M +Brixit/M +Brixton/M +Brixworth/M +Brize/M +Brizlincote/M +BRM +Brno/M +bro/SM +broach/SGDrM +broad-brush +broad-minded/YP +Broad/M +broad/TYSMP +broadband/M Noun: usually uncountable +broadbill/SM +Broadbridge/M +broadcast/M +broadcast/SdAR +broadcasting/SM +broadcloth/SM +broaden/Srd +Broadfield/M +Broadford/M +Broadgate/M +Broadheath/M +Broadhembury/M +Broadhempston/M +Broadholme/M +Broadland/M +broadleaf/M +broadleaved +broadleaves +broadloom/MSD +Broadman/M +Broadmayne/M +Broadmead/M +Broadmoor/M +Broadoak/M +broadsheet/SM +broadside/SMGD +Broadstairs/M +broadsword/MS +broadtail/MS +Broadview/M +Broadwalk/M +Broadwas/M +Broadwater/M +Broadway/M +broadway/MS +Broadwell/M +Broadwindsor/M +Broadwood/M +Broadwoodkelly/M +Broadwoodwidger/M +Brobdingnagian/SM +Brobury/M +brocade/DMSG +broccoli/MS +brochette/SM +brochure/SM +Brock/M +brock/MS +Brockagh/M +Brockbank/M +Brockden/M +Brockdish/M +Brocken/M +Brockenhurst/M +brocket/MS +Brockhall/M +Brockham/M +Brockhampton/M +Brockholes/M +Brockhurst/M +Brocklesby/M +Brockley/M +Brockmeier/M +Brockmoor/M +Brockton/M +Brockville/M +Brockweir/M +Brockworth/M +Brocot/M +Brocton/M +Brod/M +Brode/M +Brodess/M +Brodick/M +Brodie/M +Brodrick/M +Brodsworth/M +Broederbond/M +Brogborough/M +Brogdale/M +Brogden/M +brogue/SM +broil/GRSDM +broke/RG +broken-down +broken-hearted/YP +Broken/M +broken/UY +Brokenborough/M +brokenness/M +broker/SdM +brokerage/MS +brolly/SM +bromance/SM +bromantic +Bromberg/M +Bromborough/M +Brome-Missisquoi/M +Brome/M +bromeliad/SM +Bromesberrow/M +Bromeswell/M +Bromfield/M +Bromford/M +Bromham/M +bromide/SMW +bromine/SM +bromism/M Noun: usually uncountable +Bromley/M +bromoacetate/SM +bromobutyl/M Noun: uncountable +bromocriptine/M Noun: usually uncountable +bromoform/M Noun: usually uncountable +Bromont/M +Bromoviridae Taxonomic family +bromovirus/SM +Brompton-on-Swale/M +Brompton/M +Bromsberrow/M +Bromsgrove/M +Bromswold/M +Bromwich/M +Bromyard/M +Bron-gwyn/M +bronchi/MO +bronchiectasis/M +bronchiolar +bronchiole/MS +bronchiolitis/M +bronchitic/SM +bronchitis/MS +bronchocele/SM +bronchodilation/SM +bronchodilator/SM +bronchogenic +bronchopneumonia/SM +bronchopulmonary +bronchoscope/SMWZ +bronchospasm/SM +bronchospastic +bronchus/M +bronco/MS +broncobuster/MS +Bronington/M +Bronllys/M +Bronson/M +Brontë/M +brontosaur/SM +brontosaurus/SM +Bronwydd/M +Bronx/M +Bronze/SM +bronze/SMGDRZ +bronzing/M +brooch/SM +brood/GMZRSDk +broodmare/SM +broody/TP +brook/DSMG +Brook/MS +Brookby/M +Brooke/MS +Brookeborough/M +Brookenby/M +Brookfield/MS +Brookhaven/M +Brookhouse/M +Brookings/M +Brookland/MS +brooklet/SM +brooklime/SM +Brookline/M +Brooklyn/M +Brookman/M +Brooksby/M +brookside/SM +Brookthorpe-with-Whaddon/M +Brookthorpe/M +Brookville/M +brookweed/SM +broom/GMSD +Broom/M +broomball/SM +Broome/M +Broomfield/M +Broomfleet/M +Broomhall/M +Broomhill/M +Broomhouse/M +Broomknoll/M +broomrape/SM +Broomsthorpe/M +broomstick/MS +Brora/M +Bros. +brose/SM +Broseley/M +Brossard/M +broth/RMS +brothel/SM +brother-in-law/M +brother/dYSM +Brotherhood +brotherhood/MS +brotherly/P +brothers-in-law/M +Brothertoft/M +Brotherton/M +Brotton/M +Brough/M +Brougham/M +brougham/SM +Broughshane/M +brought +Broughton/M +Broughty/M +brouhaha/MS +Brouwer/M +brow/SM +Broward/M +browbeat/GSr +browbeaten +Brown/M +brown/YGPMSTD~ +Browne/M +Brownell/M +brownfield/SM +Brownian +Brownie/MS +brownie/SMT +browning/SM +Brownlee/M +Brownlow/M +brownout/SM +Brownsburg-Chatham/M +Brownsburg/M +Brownshirt/SM +Brownside/M +brownstone/MS +Brownstown/M +Brownsville/M +browntop/SM +Brownwood/M +browny +brows/SDRBG +browse +Browston/M +Broxa-cum-Troutsdale/M +Broxbourne/M +Broxburn/M +Broxholme/M +Broxted/M +Broxton/M +Broxtowe/M +Brozman/M +brr +Bruan/M +Bruant/M +Brubeck/M +Bruce/M +brucelloses +brucellosis/M +Bruch/M +Bruckner/M +Brudenell/M +Bruegel/M +Brueghel/M +Bruer/M +Bruera/M +Bruern/M +Bruerne/M +Bruges/M +bruin/SM +bruise/RGSDJM +Bruisyard/M +bruit/SdrM +Brum/M +brume/SM +Brummagem +Brummel/SM +Brummie/SM +Brumstead/M +brunch/SDGM +Brundage/M +Brundall/M +Brundish/M +Brundtland/M +Brunei/M +Bruneian/SM +Brunel/M +Brunelleschi/M +brunello/M +brunet/SM +brunette/MS +Brunhilde/M +Bruno/M +Brunschwig/M +Brunswick/M +brunt/DMGS +Bruntingthorpe/M +Brunton/M +bruschetta/SM +brush-off/SM +brush-turkey/SM +brush-up/SM +brush/ZGSDMrp +brushback/SM +Brushfield/M +brushfire/SM +Brushford/M +brushier +brushlike +brushstroke/SM +brushtail/SM +brushwood/SM +brushwork/SM +brusque/PTY +Brussels/M +brut +brutal/3qQ +brutalism/SM +brutality/MS +brute/GSMoDr +brutish/PY +Bruton/M +Brutus/M +bruv/SM +bruvver/SM +bruxism/M Noun: usually uncountable +Bryan/M +Bryansford/M +Bryanston/M +Bryant/M +Bryce/M +Bryde/M +Brydekirk/M +Brydon/M +Bryher/M +Brylcreem/MD +Brymbo/M +Brympton/M +Bryn-crug/M +Bryn-Gwyn/M +Bryn/M +Bryncroes/M +Bryndwr/M +Bryne/M +Bryneglwys/M +Brynford/M +Bryngwran/M +Bryngwyn/M +Bryning-with-Warton/M +Brynmawr/M +Brynpabuan/M +bryology/w3M +Bryon/M +bryony/SM +Bryophyta Taxonomic division + Taxonomic phylum +bryophyte/SMW +Bryozoa Taxonomic phylum +bryozoan/SM +bryozoology/M Noun: uncountable +Bryson/M +Brythonic +Brzezinski/SM +Bs +BSA/M +BSc/SM +BSD/MS +BSE/M +BSkyB/M +BSOD/SM +BST/M +BTC/M Noun: uncountable +BTU/SM +BTW +bu. +Buan/M +Bubb/M +Bubbenhall/M +bubble/GYSMD +bubblegum/SMZ +bubbly/TM +Bubnell/M +bubo/M +buboes +bubonic +bubonocele/MS +Bubwith/M +bucatini/M Noun: uncountable +buccal +buccaneer/GDSM +buccinator/SM +Buccleuch/M +Bucephalus/SM +Buch/M +Buchan/M +Buchanan/M +Bucharest/M +Buchenwald/M +Buchlyvie/M +Buchwald/SM +buck-passing/M Noun: uncountable +Buck/M +buck/SMDGr +buckbean/SM +Buckby/M +Buckden/M +Buckenham/M +Buckerell/M +bucket/Sd6M +bucketful/SM +bucketwheel/SM +Buckeye/M +buckeye/MS +Buckfastleigh/M +Buckhaven/M +Buckholt/M +Buckhorn/M +buckhorn/SM +buckhound/SM +Buckhurst/M +Buckie/M +Buckingham/M +Buckinghamshire/M +Buckland/MS +buckle/RGSMD +Bucklebury/M +Bucklesham/M +Buckley/M +buckling/SM +Buckminster/M +buckminsterfullerene/SM +Buckna/M +Bucknall/M +Bucknell/M +Buckner/M +buckram/dMS +Bucks/M +bucksaw/MS +Bucksburn/M +Bucksch/M +buckshee/SM +buckshot/MS +buckskin/DSM +buckteeth/M +buckthorn/SM +Buckton/M +bucktooth/DM +buckwheat/SM +Buckworth/M +Bucky/M +bucky/SM +buckyball/SM +buckytube/SM +bucolic/YSM +Bucyrus/M +bud/SGDMZ +Bud/SM +Budapest/M +Budbrooke/M +Budby/M +Budd/M +Buddha/MSW +Buddhahood/M Noun: uncountable +Buddhaship/M +Buddhism/M Noun: usually uncountable +Buddhist/SMW +Buddhistical/Y +Buddhology/3wM +buddleia/SM +Buddy/M +buddy/MSGD +Bude-Stratton/M +Budeaux/M +budesonide/M Noun: uncountable +budge/DGS +budgerigar/MS +budget/rSdM +budgetary/Y +budgie/MS +Budleigh/M +budo/M Noun: uncountable +Budock/M +Budokan/M +budstick/SM +budtender/SM +Budville/M +Budweiser/M +budwood/M Noun: uncountable +budworm/SM +Budworth/M +Buell/M +Buena/M +Buenaventura/M +Buendia/M +Buenos +Bueren/M +Buerton/M +buff-tip/M +buff/RSMDG +Buffalo/M +buffalo/M +buffaloes +buffer/rd +buffet/SdJM +Buffett/M +bufflehead/SM +buffo/SM +buffoon/SM~ +buffoonery/MS +Buffy/M +Buford/M +bug-eyed +bug/CRGSD +bug/Mp +bugaboo/SM +Bugatti/M +bugbane/SM +bugbear/MS +Bugbrooke/M +Bugeildy/M +bugfix/SM +bugger/SdM +buggery/SM +Buggins/M +buggy/MTS +bugle/RGDMS +buglet/MS +Bugthorpe/M +Bugzilla/M +Buhai/M +Buick/M +build-up/SM +build/RGJS7M +buildability/M Noun: uncountable +building/MeS +builds/Ac +Buildwas/M +built-in +built-up +built/Ac +Builth/M +Buittle/M +Buj/M +Bujold/M +Bujumbura/M +Bukhara/M +Bukharin/M +bukkake/M Noun: uncountable +Bukowski/M +Bukrin/M +Bulawayo/M +bulb/DSGM +bulbar +Bulbeck/M +bulbil/SM +bulblet/SM +bulbospongiosi/M +bulbospongiosus/M +bulbous/Y +Bulbridge/M +bulbul/SM +Bulcote/M +Bulford/M +Bulgar/MS +Bulgaria/M +Bulgarian/MS +bulge/ZGDMSk +bulgy/T +bulimarexia/SM +bulimarexic/SM +bulimia/SMW +bulk/ZSMD2Gr +Bulkeley/M +bulkhead/DSM +Bulkington/M +Bulkworthy/M +bulky/TPY +bull's-eye/SM +bull/GYSMD +bulla/M +bullace/MS +bullae/M +Bullard/M +bulldog/MS +bulldoze/RGDS +Bullen/M +Buller/M +bullet/dSM +bulletin/MdS +bulletproof/SGD +Bulley/M +bullfight/RSMG +bullfighting/M Noun: usually uncountable +bullfinch/MS +bullfrog/SM +bullhead/hMDSi +Bullhead/M +bullheaded/PY +bullhide +bullhorn/SM +Bulli Bulli soil +Bullingham/M +Bullinghope/M +Bullington/M +bullion/SM +bullish/PY +Bullitt/M +Bulloch/M +Bullock/M +bullock/SM +bullocky/SM +Bullokar/M +Bullough/M +bullpen/SM +bullring/SM +bullroarer/MS +bullseye/SM +bullshit/RSDMG! +bullshot/SM +bullwhacker/SM +bully/DGTMS +bullyboy/SM +bullying/SM +bullyrag/SGDJ +Bulmer/M +Bulphan/M +bulrush/SM +bulwark/MGDS +Bulwell/M +Bulwick/M +bum-bailiff/SM +bum-sucker/SM +bum-sucking/M Noun: uncountable +bum/SDRGTM +bumbag/SM +bumble/DRkSG +bumblebee/SM +bumbledom/M +bumboat/SM +bumboy/SM +bumf/M +bumfluff/M +bumhole/SM +bump/DRGZS2 +bumper/dSM +bumph/M +bumpkin/MS +Bumpstead/M +bumptious/PY +bumpy/TPY +bumsters +bun/MZS +Bunbury/M +bunce/M Noun: uncountable +bunch/ZSDGM +bunchberry/SM +bunchflower/SM +bunchy/T +bunco/SM +Buncombe/M +buncombe/M +Buncton/M +Bundaberg/M +Bundesbank/M +Bundesliga/M +Bundesrat/M +Bundestag/M +bundle/MS +bundle/UDG +bundler/SM +Bundt +Bundy/M +Buneman/M +Bunessan/M +bunfight/SM +bung/GMDS +bungalow/SM +bungarotoxin/SM +Bungay/M +bungee/SM +bunghole/SM +bungle/GkDRSM +Bunhill/M +bunion/SM +bunk/M +bunk/RCSDG +bunker/dM +bunkhouse/MS +Bunkle/M +bunkmate/MS +bunko/SM +bunkum/M +Bunnell/M +Bunny/M +bunny/MS +Bunnythorpe/M +bunodont/MS +Bunsen/M +bunt/RSGDJM +bunting/SM +Buntingford/M +buntline/SM +Bunwell/M +bunya/SM +bunyip/SM +buoy/SGMD +buoyage/SM +buoyancy/MS +buoyant/Y +bupropion/M Noun: uncountable +bur/DGSYM +burb/SM +Burbage/M +Burbank/M +Burberry/M +Burbidge/M +burble/GSDrM +burbot/SM +Burca/M +Burch/M +Burchfield/M +Burcombe/M +burden/dMS +burdened/Uc +burdening/c +burdens/cU +burdensome/PY +Burdett-Coutts/M +Burdick/M +burdock/MS +Burdon/M +Bureau/M +bureau/MS +bureaucracy/MS +bureaucrat/1QWqSM +bureaucratese/M Noun: uncountable +Burel/M +Buren/M +Bures/M +Burfict/M +Burford/M +burg/RSM +Burgas/M +Burgate/M +burgee/SM +burgeon/SDGM +burgess/MS +Burgh/M +burgh/RMSO +Burghclere/M +Burghead/M +Burghfield/M +Burghill/M +Burghley/M +Burghwallis/M +burglar/MS +burglarious/Y +burglarproof/SGD +burglary/SM +burgle/SDG +burgomaster/SM +burgonet/SM +Burgos/M +Burgoyne/M +burgrave/SM +Burgundian/SM +Burgundy/M +burgundy/SM +Burham/M +burial/SAM +Buridan/M +buried/U +Burien/M +burier/SM +burin/SM +Buriton/M +Burk/M +burka/SM +Burkard/M +Burkburnett/M +Burke/M +Burkey/M +burkha/SM +Burkhardt/M +Burkina/M +burl/2MDSr +Burland/M +burlap/MS +Burleigh/M +Burlescombe/M +Burleson/M +burlesque/DYRMSG +Burleston/M +Burley/M +burley/SM +Burleydam/M +Burlingame/M +Burlingham/M +Burlington/M +burly/T +Burma/M +Burman/MS +Burmarsh/M +Burmese/M +Burmington/M +burn/DR7kSGJM +Burn/M +burnable/SM +Burnaby/M +Burnage/M +Burnaston/M +Burnby/M +Burnden/M +Burne/M +Burnell/M +Burneside/M +Burness/M +Burneston/M +Burnet/M +Burnett/M +Burney/M +Burnfoot/M +Burnham-on-Crouch/M +Burnham-on-Sea/M +Burnham/M +Burnhead/M +Burnie-Wynyard/M +burnish/RSGD +Burniston/M +Burnley/M +burnous/SM +burnout/MS +Burns/M +Burnsall/M +Burnside-Blairbeth/M +Burnside/M +Burnsville/M +burnt/Y +Burntisland/M +burntness/M Noun: uncountable +Burntwood/M +burp/MDSG +Burpham/M +burqa/SM +Burr/M +burr/MS +Burra/M +burrawang/SM +Burray/M +Burrell/M +Burrelton/M +Burren/M +burrfish/SM +Burridge/M +Burrill/M +Burrillville/M +Burringham/M +Burrington/M +burrito/SM +Burrough/MS +Burrow-with-Burrow/M +burrow/DMGSR +Burrowbridge/M +Burry/M +burry/T +Bursa/M +bursa/OyM +bursae/M +bursar/MS +bursarship/SM +bursary/MS +Burscough/M +burse/SM +burseraceous +bursitis/SM +Bursledon/M +Burslem/M +burst/eS +burst/Gr +Burstall/M +Burstead/M +Burstein/M +Burstock/M +Burston/M +Burstow/M +Burstwick/M +bursty Adjective +Burstyn/M +Burt/M +Burtenshaw/M +Burtle/M +Burton-cum-Walden/M +Burton-in-Kendal/M +Burton-on-Yore/M +Burton/M +Burtonwood/M +Burtt/M +Burundi/M +Burundian/SM +Burwardsley/M +Burwarton/M +Burwash/M +burweed/SM +Burwell/M +Burwood/M +bury/ADSG +Bury/M +Buryan/M +Burythorpe/M +bus/MAS +busbar/SM +Busbridge/M +Busby/M +busby/SM +Buscel/M +Buscell/M +Busch/M +Buscot/M +Bush/M +bush/S2mGMJZDr +bushbaby/SM +bushbuck/SM +Bushbury/M +Bushby/M +bushchat/SM +bushel/MSDGJ +bushelage/M Noun: usually uncountable +busheler/SM +bushelful/SM +Bushell/M +bushelman/M +bushelmen/M +Bushey/M +bushfire/SM +Bushido/M +bushido/M Noun: uncountable +bushing/SM +bushland/SM +Bushley/M +bushline/M +Bushman/M +bushmaster/MS +bushmeat/M Noun: usually uncountable +Bushmen/M +Bushmills/M +Bushnell/M +bushwhack/GRSD +bushwhacking/SM +Bushwood/M +bushy/TY +business/MS5mp +businesslike +businesspeople/M +businessperson/SM +Busk/M +busk/MRSGD +buskin/SM +buskined +Buslingthorpe/M +busload/SM +busman/M +busmen/M +buspirone/M Noun: uncountable +Buss/M +Busse/M +Busselton/M +bust/DMSZGRp +bustard/MS +bustian/SM +bustier/SM +bustle/kSGDM +bustler/SM +busty/T +busway/SM +busy/PSYTGDM +busybody/SM +busyless +busyness/M Noun: uncountable +busywork/SM +but/DAGS +butadiene/MS +butane/MS +butanoic +butanol/SM +butch/RySM +butcher-bird/SM +butcher/dYr +butchery/SM +Butcombe/M +Bute/M +butene/MS +buteonine/SM +Buteshire/M +Butetown/M +Butleigh/M +butler/dSM +Butler/MS +butlerage/SM +Butley/M +Butlins/M +butt/SMZ +Butte-Silver/M +Butte/M +butter/drZSp +butterball/MS +butterbur/MS +Buttercrambe/M +buttercream/SM +buttercup/MS +butterfat/MS +Butterfield/M +butterfingered +butterfingers +butterfish/SM +butterfly/DGMS +Butterkist +Butterleigh/M +Buttermere/M +buttermilk/SM +butternut/SM +butterscotch/M Noun: usually uncountable +Butterstone/M +Butterton/M +Butterwick/M +butterwort/SM +Butterworth/M +buttery/TSM +butting/SM +Buttington/M +buttock/DSMG +button-quail/SM +button/Mpr +button/UdS +buttonbush/SM +buttonhole/DMSGR +buttonhook/SM +buttonweed/SM +buttonwood/SM +buttony/M Noun: uncountable +buttress/SGDM +Buttrick/M +Butts/M +Buttsbury/M +butyl/SM +butyrate/SM +butyric +butyrometer/MSW +Buxar/M +Buxhall/M +Buxlow/M +buxom/YP +Buxted/M +Buxtehude/M +Buxton/M +Buxworth/M +buy-back/SM +buy/RSGM +buyback/SM +buyout/SM +buzz/MDRSGZ +Buzzard/M +buzzard/SM +buzzkill/SMR +buzzword/SM +bx +bxs +by +by-blow/SM +by-election/SM +by-law/MS +by-product/SM +By/M +Byard/M +Byblos/M +bye-bye/SM +bye-law/SM +bye/MS +Byelorussia/M +Byelorussian/SM +Byers/M +Byfield/M +Byfleet/M +Byford/M +bygone/SM +Bygrave/M +Byland/M +Bylaugh/M +bylaw/SM +Byley/M +byline/GDSMR +byname/SM +Bynes/M +Bynum/M +bypass/MDSG +bypath/SM +byplay/SM +byproduct/SM +Byram/M +Byrd/M +byre/SM +Byrne/M +Byrness/M +byroad/MS +Byron/WM +Byronismyah/M +bys +bysmalith/SM +Bysshe/M +byssi/M +byssinosis +byssinosis/M Noun: uncountable +byssus/SM +bystander/MS +Bystolic/M +byte/MS +bytecode/SM +Byth/M +Bytham/M +Bythorn/M +Byton/M +Byun/M +Bywater/M +byway/SM +Bywell/M +byword/SM +byzantine/SM +Byzantine/SM3 +Byzantinesque +Byzantinism/SM +Byzantium/M Noun: uncountable +c.elegans +C.Lit. +c/n +CA +Ca/O +ca/O +CAA Civil Aviation Authority +Caaba/M +caatinga/SM +cab/GMDXVSNr +cabal/GDSM +cabala/MS +cabaletta/SM +cabalette/M +Caballé/M +caballero/SM +cabana/SM +cabaret/SM +Cabarrus/M +cabbage/DGSM +Cabbala/M +cabbalism/SM +cabbalist/SMW +cabbie/SM +cabby/M +cabdriver/MS +Cabell/M +Cabernet/M +cabin/dMS +cabinet/MyS +cabinetmaker/SM +cabinetmaking/SM +cabinetry/SM +cabinetwork/MS +cable/DGSMp +cablecast/MSG +cablegram/SM +cabman/M +cabmen/M +Cabo/M +cabochon/SM +caboodle/SM +caboose/MS +Cabot/M +cabotage/SM +Cabourne/M +Cabrach/M +Cabral/M +Cabrera/M +cabriolet/SM +cabstand/SM +Cabus/M +cacao/SM +cacciatora/M Noun: uncountable +cacciatore/SM +cachaca/SM +cachalot/MS +Cache/M +cache/p7DGSMr +cachectic +cacheing +cachepot/MS +cachet/MdS +cachexia/M +Cacilda/M +Cacioppo/M +cacique/MS +cackle/DRSYGM +CACM +cacodyl/SM +cacographer/MS +cacography/M archaic +cacology/M Noun: usually uncountable +cacomistle/MS +cacophonous/Y +cacophony/3SM +cactaceous +cacti/M +cactus/MS +cacuminal/SM +CAD/M +cad/MZS +cadastral/SM +cadaver/MSW +cadaverous/YP +Cadbury/M +CADCAM/M Noun: uncountable +Cadder/M +Caddick/M +caddie/M +Caddington/M +caddish/YP +Caddo/M +Caddonfoot/M +caddy/MDSG +Cadeby/M +Cadeleigh/M +Cadell/M +cadence/CMS +cadence/DG +cadency/M +cadent/C +cadential +cadenza/MS +cadet/MS +cadetship/MS +Cadfarch/M +cadge/DRSGM +Cadillac/SM +Cadiz/M +Cadman/M +Cadmean +cadmium/M +cadmocene +Cadnant/M +Cadney/M +Cadogan/M +Cadoxton-juxta-Barry/M +Cadoxton-juxta-Neath/M +cadre/SM +caducei/M +caduceus/M +caducity/M Noun: usually uncountable +caducous Adjective +Cadwalader/M +Cadwell/M +Cadzow/M +caeca/OM +caecilian/MS +caecitis/M Noun: uncountable +caecum/M +Caelum/M +caenagnathid/SM +Caenby/M +Caenorhabditis Taxonomic genus +Caerau/M +Caereinion/M +Caerhays/M +Caerhun/M +Caerlaverock/M +Caerleon/M +Caernarfon/M +Caernarfonshire/M +Caernarvon/M +Caernarvonshire/M +Caerphilly/M +Caersws/M +Caerwent/M +Caerwys/M +Caesar/MS +Caesarea/M +Caesarean +caesarean/SM +Caesarian +caesarian/SM +caesium/M Noun: uncountable +caesocene +caesura/SM +Caetano/M +cafard/SM +café/MS +cafe/SM +cafeteria/MS +cafetiere/SM +cafetière/SM +caff/MS +caffeinated +caffeine/SM +Cafferty/M +Caffrey/M +caftan/MS +cage/GDzR2MS +cagey/P +cagier +cagiest +cagoule/SM +cagy +Caherdaniel/M +Cahill/M +Cahir/M +Cahirciveen/M +Cahokia/M +cahoot/MS +Caia/M +Caiaphas/M +Caicos/M +Caidin/M +Caillard/M +caiman/SM +Cain/M +Caine/M +Cainie/M +Cainozoic +Cainscross/M +Caio/M +caipirinha/SM +caique/SM +Caird/M +cairn/DSM +Cairnbulg/M +Cairndow/M +Cairneyhill/M +cairngorm/MS +Cairngyffe/M +Cairnie/M +Cairnlea/M +Cairnpapple/M +Cairns/M +Cairo/M +Cairoli/M +Caisos/M +caisson/SM +Caister-on-Sea/M +Caister/M +Caistor/M +Caithness/M +Caithnessian +caitiff/MS +Caitlyn/M +Caius/M +cajole/RLyDSG +cajolery/SM +Cajon/M +Cajun/SM +cake/MDGS +cakeage/M Noun: uncountable +cakehole/SM +cakewalk/SDGM +Calabar/M +Calabasas/M +calabash/SM +calaboose/SM +calabrese/SM +caladium/SM +Calais/M +calamander/SM +calamari/SM +calamine/MDGS +calamint/MS +calamite/SM +calamitous/PY +calamity/SM +calash/MS +calathea/SM +Calaveras/M +Calbourne/M +Calc/M +calcalkaline +calcanea/OM +calcanei/M +calcaneum/M +calcaneus/M +calcar/SM +calcarenite/SM +calcareous/YP +calcaria +Calcasieu/M +Calceby/M +calceolaria/SM +calces +Calcethorpe/M +Calchas/M +calciferous +calcify/WDSnG +calcimine/DSMG +calcine/NSDG +calciocene +calcirudite/SM +calcite/SM +calcium/M +calcocene +CALCOMP +Calcraft/M +calculability/IM +calculable/I +calculableness/M Noun: uncountable +calculate/iVDSGkBhn +calculated/aA +calculates/Aa +calculating/aA +calculation/aSAM +calculator/SM +calculi/M +calculus/MS +Calcutta/M +Calcuttan/SM +caldaria/M +caldarium/M +Caldbeck/M +Caldbergh/M +Caldeby/M +Caldecote/M +Caldecott/M +Caldeira/M +Calder/M +caldera/SM +Calderbank/M +Caldercruix/M +Calderdale/M +Calderhead/M +Calderwood/M +Caldicot/M +caldron/SM +Caldwell/M +Caleb/M +Caledon/M +Caledonia/M +Caledonian/SM +calefacient/MS +calendar/SdM +calender/dMS +calendic +calendric/O +calends +calendula/SM +calenture/SM +Calera/M +Calexico/M +Caley/M +calf-length +calf/M +calfskin/SM +Calgary/M +Calhoun/M +calibrate/SAGDN +calibrater/SM +calibrator/MS +calibre/MnS +calicene/SM +caliche/SM +Caliciviridae Taxonomic family +calico/M +calicoes +California/M +Californian/SM +californium/M +Caligula/M +caliper/SM +caliph/SM +caliphate/SM +Calke/M +Calkin/M +Calkwell/M +call-boy/SM +call-girl/SM +call-out/SM +call-up/SM +call/RSGDJ7M +calla/SM +Callaghan/M +Callahan/M +Callan/M +Callander/M +Callanish/M +Callao/M +Callaway/M +callback/SM +called-for +called/AUa +callee/SM +calligrapher/SM +calligraphy/S3MW +Callington/M +Calliope/M +calliope/MS +calliper/SM +Callison/M +callisthenic/S +Callisto/M +callop/SM +callose/SM +callosity/SM +callous/PDYSG +Callow/M +callow/PTY +Calloway/M +calls/aA +Callum/M +callus/SdM +Callwen/M +calm/YTGPSkDM +Calman/M +calmative/SM +Caln/M +Calne/M +Calopterygidae Taxonomic family +Calor +caloric/MY +calorie/SM +calorific/Y +calorimeter/SMW +calorimetry/SM +calotype/SM +Calouste/M +Calow/M +calque/SGDM +Calrissian/M +Calstock/M +Calstone/M +Caltech/M +Calthorpe/M +Calton/M +caltrop/SM +Calumet/M +calumet/MS +calumniate/nDSG +calumniator/SM +calumnious/Y +calumniousness/M Noun: uncountable +calumny/SM +Calvados/M +Calvary/M +calvary/SMO +calve/GDS +Calveley/M +Calver/M +Calverhall/M +Calverleigh/M +Calverley/M +Calvert/M +Calverton/M +Calvin/3M +Calvinism/SM +Calvinistic/O +Calvino/M +calx/M +calyces +Calymmian Calymmian period +calypso/MS +calypsonian/SM +calyx/SM +Calzaghe/M +calzone/SM +calzoni/M +Cam/M +cam/MSD +Camacho/M +camaraderie/SM +Camargue/M +camarilla/MS +Camarillo/M +Camas/M +camber/dMWS +Camberley/M +Camberwell/M +cambial +cambium/MS +Camblesforth/M +Cambodia/M +Cambodian/SM +Camborne/M +Cambourne/M +Cambrensis/M +Cambria/M +Cambrian/SM +cambric/MS +Cambridge/M +Cambridgeshire/M +Cambusbarron/M +Cambuskenneth/M +Cambuslang/M +Cambusnethan/M +camcorder/SM +Camden/M +came/c +Came/M +camel-hair/SM +Camel/M +camel/SM +camelback/SM +cameleer/MS +Cameley/M +Camelford/M +camelhair/SM +camellia/SM +Camelon/M +camelopard/MS +Camelopardalis +Camelot/SM +Camembert/M +cameo/MSDG +camera-ready +camera/MmS5 +camerae/M +cameralism/M Noun: uncountable +cameralist/MSW +cameralistics/M Noun: uncountable +camerapeople/M +cameraperson/SM +camerata/M +cameration/M +camerawork/M +Camerlengo/M +camerlengo/MS +camerlingo/MS +Cameron/MS +Cameronian/MS +Cameroon/M +Cameroonian/SM +Camerton/M +Camfield/M +camgirl/SM +camiknickers/M +Camilla/M +Camille/M +Camillus/M +Camino/M +camion/SM +camisole/MS +Camithus/M +Camlough/M +Cammeringham/M +camomile/SM +camostat/M Noun: uncountable +camouflage/GDRSM +Camp/M +camp/RGZSM2Dz +Campagna/M +campaign/MRDSG +Campanian/SM +campaniform +campanile/SM +campanology/3wSM +campanula/SM +campanulate +Campanus/M +Campbell/MS +Campbellsport/M +Campbellton/M +Campbelltown/M +Campbeltown/M +Campden/M +Campeche/M +Camperdown/M +Campfield/M +campfire/MS +camphene/SM +camphor/SMW +camphorate/D +camphorous +camphory +camphoryl/SM +campimeter/SM +campimetric/O +campimetry/M Noun: uncountable +Campo/M +Campos/M +camps/C +Camps/M +Campsall/M +Campsea/M +Campsie/M +campsite/SM +Campton/M +camptonite/SM +campus/MS +Campville/M +campy/T +Camrose/M +CamSemi/M +camshaft/SM +Camus/M +Camusterrach/M +camwood/SM +can't +can't've +can-opener/SM +can/dz2SDRZrGyM +Cana/M +Canaan/M +Canaanite/SM +Cañada/M +Canada/M +Canadian/MS +Canadianism/SM +canal/qGSMQD +Canandaigua/M +canape/SM +canapé/SM +canard/MS +Canarese/M +Canaries +canary/MS +canasta/SM +canaster/MS +Canaveral/M +Canberra-Queanbeyan/M +Canberra/M +Canby/M +cancan/MS +cancel/7GDRSM +cancelbot/SM +cancellate/Dn +cancellous +cancer/SM +canceration/M Noun: usually uncountable +cancered +Cancerian/SM +cancericidal +cancerocidal +cancerogenic +cancerology/3M +cancerous/YP +cancerwort/M Noun: uncountable +cancroid/SM +Cancún/M +Candace/M +candela/SM +candelabra/SM +candelabrum/M +candelilla/SM +candescence/MS +candescent/Y +Candiac/M +candid/PYSM +candida/OSM +candidacy/MS +candidate/MS +candidature/SM +candider +candidiasis/M +candidosis/M +candle/RMDSG +candleberry/SM +candleholder/SM +candlelight/SMr +candlelit +Candlemas/M +candlenut/SM +candlepower/MS +Candler/M +Candlesby/M +candlestick/MS +candlewick/SM +candomblé/SM +candour/SM +Candover/MS +candy-stripe/SMD +candy/SGMD +candyfloss/SM +candytuft/SM +Cane/M +cane/SMJ +canebrake/SM +Canelhas/M +Canes/M +Canewdon/M +Canfield/M +Canford/M +Cangeford/M +Caniapiscau/M +canine/SM +caning/SM +Canis/M +Canisbay/M +canister/dSM +canker/dMS +cankerous +Cann/M +Canna/M +canna/SM +cannabidiol/SM +cannabinoid/SM +cannabinol/SM +cannabis/MS +Cannadine/M +cannae/S +cannelloni/M +cannelure/MS +cannery/SM +Cannes/M +cannibal/MQSq +cannibalism/SM +cannibalistic/Y +Cannich/M +cannier +canniest +cannikin/MS +Cannings/M +Cannington/M +cannister/SM +Cannizzaro/M +Cannock/M +cannon/dSMy +Cannon/M +cannonade/MGDS +cannonball/SDMG +cannoneer/SM +cannot +cannula/SM +cannulae/M +cannulate/SGDN +canny/UPY +canoe/GD3SM +Canoga/M +canola/SM +Cañon/M +Canon/MS +canon/wMW1qQS3 +Canonbie/M +canoness/SM +Canongate/M +Canonical/M Publisher of Ubuntu +canonical/SQq +canonicity/SM +Canonicorum/M +canonry/SM +canoodle/DGS +canoodling/SM +Canopus/MW +canopy/DGMS +canorous/Y +canorousness/M Noun: uncountable +canst +cant/DCRGS +cant/MS +cantabile/SM +Cantabrigian/SM +cantal/M Noun: usually uncountable +cantaloup/SM +cantaloupe/SM +cantankerous/YP +cantata/SM +canted/AI +Canteen/M +canteen/MS +Cantelo/M +canter/SdM +Canterbury-Bankstown/M +Canterbury/M +canterbury/SM +canthi/M Plural of canthus +canthoplasty/SM +canthotomy/SM +canthus/S +cantica/M Plural of canticum +Canticle/MS +canticle/SM +canticum/M +cantilena/SM +cantilever/dSM +cantina/MS +cantle/MS +Cantley/M +Cantlow/M +canto/MS +canton/dMSLO +Canton/M +Cantonese/M +cantor/SMO +cantoris/M +cantrail/MS +Cantref/M +cantrip/MS +Cantsfield/M +Cantwell/M +Canuck/MS +Canute/M +canvas/MRGDSr +canvasback/SM +canvass/SGDM +Canvastown/M +Canvey/M +Canwick/M +Canyon/M +canyon/SM +canzonetta/MS +Caol/M +Caolán/M +Cap-Chat/M +Cap-Santé/M +cap/M +cap/SADG +capability/ISM +capable/IP +capable/Y +capabler +capablest +capacious/PY +capacitance/SM +capacitate/DGS +capacitative/Y +capacitive/Y +capacitor/MS +capacity/SMI +caparison/SMd +cape/BDRMlS +Cape/MS +Capecastle/M +Capel-le-Ferne/M +Capel-y-ffin/M +Capel/M +capelin/MS +Capella/M +capellini/M Noun: uncountable +Capenhurst/M +caper/rMdSW +Capernaum/M +capeskin/SM +Capesthorne/M +Capetian/SM +Capetown/M +capful/MS +capias/MS +Capilano/M +capillarity/MS +capillary/SM +capilliculture/M Noun: uncountable +Capistrano/M +capita/onM +capital/qMQs3S +Capital/M +Capitale-Nationale/M +capitalise/ADGnS +capitalised/Uc +capitalism/SM +capitalist/1W +Capitan/M +capitate/SM +capitation/CMS +Capitol/M +capitol/SM +Capitolina/M +capitula/M +capitular +capitulary/MS +capitulate/ASDGn +capitulum/M +Caple/M +caplet/SM +caplin/MS +capo/SM +capoeira/SM 2. (countable) A practitioner of this martial art +capon/SM +caponata/SM +Capone/M +caponier/SM +caponise/SGD +capot/SGDM +Capote/M +Cappadocia/M +Cappadocian/SM +Cappagh/M +cappellacci/M +Cappiello/M +capping/M +cappuccino/SM +Capri/M +capriccio/MS +caprice/SM +capricious/YP +Capricorn/MS +Capricornus/M +caprine/SM +caproic +caprylic +capsaicin/M Noun: usually uncountable +Capshaw/M +Capsian +capsicum/MS +capsid/SM +Capsidae Taxonomic family +capsize/SGDM +capstan/SM +capstone/SM +capsular +capsulate +capsule/SQMGD +capsulotomy/SM +Capt. +captain/GDSM +captainate/SM +captaincy/MS +captcha/SM +CAPTCHA/SM +caption/DGMpR +captious/PY +captivate/nGDSk +captivator/MS +captive/SM +captivity/SM +captor/SM +capturable +capture/MRDGS +Capuchin/SM +capuchin/SM +Caputh/M +Caputo/M +capybara/MS +car-jack/SDJRG +car/krZdMS +Car/M +Cara/M +carabineer/SM +carabinier/SM +carabiniere/M +carabinieri/M +caracal/MS +caracara/SM +Caracas/M +caracole/DGMS +caracul/MS +carafe/SM +caragana/SM +caramba +carambola/SM +caramel/QSM +caramelisation/M +carapace/MS +carapax/SM +carat/MS +Carathéodory/M +Caravaggesque +Caravaggio/M +caravan/MSDGR +caravanette/SM +caravansary/SM +caravanserai/SM +caravel/MS +caraway/SM +carb/MS +carballylate/M +carballylic +carbamate/SM +carbamazepine/SM +carbamylate/SGD +carbamylation/SM +carbapenem/SM +carbide/SM +carbine/SM +carbo-load/SGD +carbo/SM +carbohydrase/SM +carbohydrate/SM +carbolic/M +carbon-12/M Noun: uncountable +carbon-13/M Noun: uncountable +carbon-14/M Noun: uncountable +carbon-neutral +Carbon/M +carbon/sQSWqMnp +carbona/M +carbonaceous +carbonade/MS +carbonado/SM +carbonara/SM +Carbonari/M +carbonate/GDSMn +carbonatite/SM +Carbondale/M +Carbonel/M +Carbonell/M +carboniferous +Carboniferous +carbonification/M +carbonify/SGD +carbonometer/SM +carbonous +carbonyl/SMN +carborane/SM +carborundum/M +carbostyril/M Noun: uncountable +carbowax/SM +carboxy/M Noun: uncountable +carboxyl/SMW +carboxylase/SM +carboxylate/SGDNM +carboxypeptidase/SM +carboy/MS +Carbrooke/M +carbuncle/DSM +carbuncular +carburation/SM +carburettor/SM +Carburton/M +Carbury/M +carcase/MS +carcass/MS +Carcassonne/M +carceral/Y +Carchemish/M +carcinoembryonic +carcinogen/WMS +carcinogenesis/M +carcinogenicity/MS +carcinoid/SM +carcinology/Mw +carcinoma/SM +card-carrying +card-index/SGD +card/DERGS +card/M +Cardale/M +cardamom/SM +Cardano/M +cardboard/SM +Carden/M +Cardenden/M +Cardeston/M +cardholder/SM +cardiac/SM +cardiae/M +Cardiff/M +Cardigan/M +cardigan/MS +Cardiganshire/M +Cardin/M +cardinal/MYS +cardinalate/MS +cardinality/MS +carding/SM +Cardington/M +Cardinham/M +cardio/M +cardiogram/SM +cardiograph/ZRSM +cardioid/SM +cardiology/3MSw +cardiomegaly/SM +cardiomyopathy/SM +cardiopathy/SM +cardioprotection/M Noun: uncountable +cardioprotective/SM +cardiopulmonary +cardiorespiratory +cardiothoracic +cardiovascular +carditis/M Noun: usually uncountable +Cardle/M +cardmember/SM +Cardonald/M +cardoon/SM +Cardoso/M +Cardross/M +cardsharp/RMS +Carducci/M +Cardus/M +Cardynham/M +care/6jSMpDG +Careby/M +careen/DGS +career/G3MDS +careerer +careerism/M Noun: usually uncountable +carefree/Y +careful/TP +caregiver/SM +careless/YP +careline/SM +cares/DG +caress/SvVMkR +Careston/M +caret/SM +caretaker/MS +Carew/M +careworn +Carey/M +Carfin/M +Cargan/M +Cargenbridge/M +Cargill/M +cargo/SM countable and uncountable, plural cargos or cargoes +cargoes +Carham/M +Carhampton/M +Carharrack/M +Carhays/M +cariama/MS +Carib/SMO +Caribbean/SM +Caribeaux/M +Cariboo/M +caribou/M +Caribou/M +caricature/3SGDMO +caricaturisation/SM +caries/M +Carignan/M +carillon/MS +carillonneur/SM +Carina/M +carina/SMO +carinae/M +carinate/DN +caring/SM +Carinish/M +Carinthia/M +cariogenic +carious +Carisbrooke/M +carisoprodol/M Noun: uncountable +carjack/SMGDJR +cark/SGD +Carkin/M +Carl/MG +carl/SM +Carla/M +Càrlabhagh/M +Carlby/M +Carleton-sur-Mer/M +Carleton/M +Carley/M +Carlieu/M +Carlin/M +Carline/M +carline/MS +Carlisle/M +Carlo/M +carload/GMS +Carlops/M +Carlos/M +Carlota/M +Carlovingian/SM +Carlow/M +Carloway/M +Carlsbad/M +Carlsberg/M +Carlson/M +Carlton/M +Carluke/M +Carlyle/M +Carlyon/M +Carm/M +carmaker/SM +carman/M +Carman/M +Carmarthen/M +Carmarthenshire/M +Carme/M +Carmel/M +Carmelite/SM +carmen/M +Carmen/M +Carmichael/M +carminative/MS +carmine/SM +Carmona/M +carmot/M Noun: uncountable +Carmotetraviridae Taxonomic family +carmovirus/SM +Carmunnock/M +Carmyle/M +Carmyllie/M +Carn/M +Carnaby/M +carnage/SM +carnal/Y +Carnalbanagh/M +carnality/SM +carnallite/SM +carnassial/SM +Carnatic +carnation/MIS +carnauba/MS +Carnaxide/M +Carnbee/M +Carncastle/M +Carne/M +Carnegie/M +carnelian/MS +Carnell/M +carnet/SM +Carney/M +carney/SGDM +Carnforth/M +Carnguwch/M +carnitine/SM +carnival/SM +carnivalesque +Carnivora Taxonomic order +carnivore/MS +carnivorous/YP +carnivory/M Noun: uncountable +Carnlough/M +Carno/M +Carnock/M +carnosaur/SM +Carnot/M +carnotite/SM +Carnoustie/M +Carnteel/M +Carntyne/M +Carnwadric/M +Carnwath/M +carny/SGDM +Caro/M +carob/MS +carol-singing/M +carol/DRGSM +Carol/M +Carole/M +Carolean/SM +Carolina/SM +Caroline/M +Carolingian/MS +Carolinian/SM +Carolyn/M +carom/SdM +carotene/SM +carotenoid/SM +carotid/SM +carousal/SM +carouse/RGDSM +carousel/SM +carp/GMDkRS +Carpaccio/M +carpaccio/SM +carpal/SM +Carpathian/S Carpathian Mountains +carpe Latin: carpe diem +carpel/SM +Carpenders/M +carpenter/dSM +carpentering/M Noun: uncountable +Carpentersville/M +carpentry/SM +Carperby-cum-Thoresby/M +carpet/dJSM +carpetbag/RMSDG +carpeting/M Noun: usually uncountable +carphology/M Noun: uncountable +carpi/M +Carpinteria/M +carpology/M Noun: uncountable +carpool/DSGM +carpophore/SM +carport/MS +carpus/M +Carr/M +carrack/SM +Carradale/M +carrageen/SM +carrageenan/M Noun: usually uncountable +carragheen/SM +Carrara/M +Carrboro/M +Carrbridge/M +Carreghofa/M +carrel/SM +Carrell/M +Carrera/M +Carrey/M +carriage/aSMf +carriageway/MS +Carrick/M +carrick/SM +Carrickaness/M +Carrickfergus/M +Carrickmore/M +Carriden/M +Carrie/M +Carrigan/M +Carrington/M +carriole/MS +carrion/SM +Carrock/M +Carroll/M +Carrollton/M +Carrolton/M +Carron/M +carronade/MS +Carronshore/M +carrot/MS +carroty/T +carrousel/MS +Carrowclare/M +Carrowdore/M +Carruthers/M +carry-on/SM +carry/DRSGM +Carrybridge/M +carrycot/SM +Carryduff/M +carrying/a +carryover/SM +Carse/M +Carshalton/M +carsick/P +Carsington/M +Carson/M +Carsphairn/M +Carstairs/M +Carsten/M +Carswell/M +cart/RMD6GS +Carta/M +cartage/MS +Cartagena/M +carte/SM +cartel/SM +cartelise/SGD +Carter/M +Carteret/M +Cartersville/M +Carterton/M +Cartesian/SM +Cartesianism/M Noun: uncountable +cartful/SM +Carthage/M +Carthaginian/SM +Carthorpe/M +carthorse/MS +Carthusian/SM +Cartier/M +cartilage/SM +cartilaginoid/SM +cartilaginous +cartload/MS +Cartmel/M +Cartmell/M +cartogram/MS +cartographer/SM +cartography/WSMw1 +cartomancer/SM +cartomancy/M Noun: uncountable +carton/dMS +cartonnage/SM +cartoon/ZSMD3G~ +cartophily/3M +cartouche/SM +cartridge/MS +cartulary/SM +cartwheel/RGMDS +Cartwright/M +caruncle/MS +Caruso/M +Carvalho/M +carve/RSJGDy +carvedilol/M Noun: uncountable +carvel/MS +Carver/M +carving/SM +Carwood/M +Carwyn/M +Cary/M +caryatid/SM +caryopses +caryopsis/M +Carys/M +CAS/M +Casa/M +casaba/SM +Casablanca/M +Casale/M +Casanova/MS +casbah/SM +cascade/GDSM +Cascade/M +Cascão/M +cascara/SM +case-harden/dS +case-insensitive +case-sensitive +case/DMLJSGp +casebook/MS +caseharden/Sd +casein/MS +Casella/M +caseload/SM +casemate/SMD +caseous +CASes +casework/RSM +Casey/M +Caseyville/M +Casgob/M +cash-book/MS +cash/DGSpM +cashback/M Noun: uncountable +cashbook/SM +Cashel/M +Cashell/M +cashew/SM +cashier/GMDS +cashmere/SM +Cashmore/M +cashpoint/SM +Casimiro/M +casing/SM +casino/SM +Casio/M +cask/SMGD +casket/dSM +Caslon/M +Caspar/M +Casparian +Casper/M +Caspian/SM +casque/MS +Cass/M +Cassady/M +Cassandra/MS +Cassation/M +cassava/SM +Casselberry/M +Casselman/M +Cassels/M +Cassen/M +casserole/MGDS +cassette/MS +Cassia/M +cassia/SM +Cassian/M +Cassibile/M +Cassidy/M +Cassie/M +Cassileth/M +cassingle/SM +Cassington/M +Cassini/M +Cassino/M +cassino/SM +Cassiopeia/M +Cassius/M +cassock/SMD +cassoulet/SM +cassowary/MS +cast-iron/M +cast-off/SM +cast/RSGJM +Castalia/M +Castalian/M +castanet/SM +Castanheira/M +castaway/SM +caste/MSp +Castel/M +Castell-Dwyran/M +Castellaneta/M +Castellano/M +castellated +castellation/SM +caster/SMn +Casterbridge/M +Casterton/M +casteth +castigate/SnDG +castigative +castigator/MSZ +Castile/M +Castilian/SM +Castillo/M +casting/Mc +casting/S +castle/GMDS +Castle/M +Castleacre/M +Castlebar/M +Castlebythe/M +Castlecaulfield/M +Castledawson/M +Castlederg/M +Castleford/M +Castlegar/M +Castlegate/M +Castlehill/M +Castlelevington/M +Castlemartin/M +Castlemilk/M +Castlemorton/M +Castlereagh/M +Castlerigg/M +Castlerock/M +Castlethorn/M +Castlethorpe/M +Castleton/M +Castletown/M +Castlewellan/M +Castley/M +castoff/SM +Caston/M +Castor/M +castor/MS +castrate/GDSnM +castrati/M +castrato/M +Castries/M +Castro/M +Castroism/M +Castroist/SM +casts/aAe +casual/SMPY +casualise/SGDN +casualty/SM +casuarina/SM +casuist/SMWy +casuistical/Y +casuistry/MS +Caswell/M +cat-and-dog +cat-bear/SM +cat-sat +cat-sit/RSG +cat/M2ZzDGS +catabolic +catabolise/SGD +catabolism/M Noun: usually uncountable +catabolite/SM +catachreses +catachresis/M +catachrestic/OY +cataclasis/M +cataclastic +cataclysm/WSMO1 +catacomb/MS +catadioptric/O +catadromous +catafalque/SM +Catahoula/M +Catalan/SM +catalase/SM +catalepsy/MS +cataleptic/SM +Catalina/M +catalogue/GRDSM +Catalonia/M +Catalonian/SM +catalpa/SM +catalufa/SM +catalyse/SDWGR +catalysis/M +catalyst/SM +catalytic/OY +catamaran/MS +Catania/M +cataplectic +cataplexy/SM +catapult/GMDS +cataract/MS +Catarina/M +Catarino/M +catarrh/MSO +catastrophe/SM1W3 +catastrophiser/SM +catastrophism/SM +catatonia/MS +catatonic/MSY +Catawba/M +catbird/MS +catboat/SM +catcall/DGSM +catch-all/SM +catch/LRGZ7SM +catchfly/SM +catchlight/SM +catchline/SM +catchpenny/SM +catchphrase/SM +catchup/SM +catchweight/SM +catchword/MS +catchy/PTY +Catcliffe/M +Catcott/M +catechesis/M +catechetical/Y +catechetics/M Noun: uncountable +catechin/SM +catechise/SGD +catechism/MS +catechist/SM +catechol/SM +catecholamine/SM +catechumen/SM +categoricity/M Noun: uncountable +categorise/AGSD +category/OwqWQsSM1 +catenary/SM +catenate/Fn +catenative/SM +cater/drS +Caterham-on-the-Hill/M +Caterham/M +catering/M +caterpillar/SM +caterwaul/GDSM +Catesby/M +Catfield/M +catfight/SGM +catfish/SGDM +catgut/SM +Cathar/SM3 +Catharine/MS +Catharism/M +catharses +catharsis/M +cathartic/SM +Cathay/MS +Cathcart/M +cathead/SM +Cathedine/M +cathedra/SM +cathedrae/M Plural of cathedra +Cathedral/M +cathedral/SM +Catherine/M +Catherington/M +Catherston/M +catheter/MS +catheterise/SGDN +Cathkin/M +cathode/SWMO +cathodoluminescence/SM +Catholic/SM +catholic/Y +Catholicism/M Noun: usually uncountable +catholicity/MS +catholicly +Cathy/M +Catiline/M +cation/SMW +catkin/SM +Catley/M +catlick/M +catlike +Catlin/M +catlinite/SM +catmint/SM +Catmore/M +catnap/DMSG +catnip/SM +Cato/M +Caton-with-Littledale/M +Caton/M +Catoosa/M +Catrine/M +Catsfield/M +Catshill/M +Catskill/MS +catsuit/MS +cattail/SM +Cattal/M +Cattaraugus/M +Catterall/M +Catterick/M +Catterlen/M +Catterline/M +Catterton/M +cattery/MS +Catthorpe/M +Cattistock/M +cattle/mM +Catton/M +catty/TP +Catullus/M +CATV/M Noun: uncountable +catwalk/SM +Catwick/M +Catworth/M +Caucasian/SM +Caucasoid/SM +Caucasus/M +Cauchy/M +caucus/SM +cauda/M +caudae/M +caudal/Y +caught/U +Cauldon/M +cauldron/SM +Cauldwell/M +Caulfield/M +cauliflower/SM +caulk/GDRJSM +Caundle/M +Caunton/M +causa honoris causa +causalgia/SM +causality/MS +Causapscal/M +causate/vVSM +causative/SM +cause/OGnDMoRSp +causerie/MS +causeway/GMSD +caustic/SMY +causticity/SM +cauterise/DnGS +caution/KSGyDM +cautioner/SM +cautious/IY +cautiousness/MS +CAV/M +cavalcade/MS +Cavalier/SM +cavalier/YPSDGM +Cavallaro/M +cavalry/SmM +Cavan/M +Cavanagh/M +cavatelli/M Noun: uncountable +cavatina/SM +cave-in/SM +Cave/M +cave/mRSMDG +caveat/SM +Cavendish/M +Cavenham/M +cavern/DSGM +cavernous/Y +cavernulous +Caversfield/M +Caversham/M +Caverswall/M +cavesson/SM +cavewoman/M +cavewomen/M +caviar/SM +caviare/MS +cavil/SDRGJM +caving/M +cavitary +cavitate/SGD +cavitation/SM +cavity/FMS +cavort/DSG +caw/GSMD +Cawdor/M +Cawdrey/M +Cawood/M +Cawston/M +Cawthorne/M +Cawthorpe/M +Cawton/M +Caxton/M +cay/SCM +Cayce/M +Cayenne/M +cayenne/MS +Cayley/M +Cayman/M +cayman/SM +Caynham/M +Caythorpe/M +Cayton/M +Cayuga/M +CB/SM +CBD/M +CBS/M +CBT/SM +cc'd +cc'ing +cc/M +CCD/SM +CCTV/SM +Cd +CD-R/SM +CD-ROM/SM +CD-RW/SM +CD/SM +CDC/M +CDMA/M Noun: uncountable +cDNA/SM +CDP/M +CDT/M +CDTV/M +Ce +CE/SM +Ceanothus Taxonomic genus +ceanothus/SM +cease/CDSG +ceasefire/SM +ceaseless/PY +Cebuano/M +Cecchetti/M +Cecil/M +Cecilia/M +Cecily/M +Cedar/M +cedar/MS +Cedarburg/M +cedarwood/SM +cedary +cede/FKAGDS +cedilla/MS +Cédric/M +Cedric/M +Cefn-llys/M +Cefn/M +cefotaxime/SM +Ceidio/M +Ceil/M +ceilidh/SM +ceiling/MSD +Ceirchiog/M +Ceiriog/M +celadonite/SM +celandine/SM +Celanese +celatone/SM +celeb/SM +celebrant/SM +celebrate/inSDyG +celebrator/SM +Celebrex/M +celebrity/MS +celebritydom/M Noun: uncountable +celebrityhood/M Noun: uncountable +celebutante/SM +celecoxib/M Noun: uncountable +celeriac/SM +celerity/SM +Celeron/M a brand name of different computer microprocessor models +celery/SM +celesta/SM +Celeste/M +celestial/SMY +celestiality/SM +Celgene/M +Celia/M +celibacy/SM +celibate/SM +Celina/M +Celine/M +cell/MDS3G +Cellan/M +cellar/dMSr +Cellardyke/M +cellblock/SM +Celler/M +cellmate/SM +cello/S3M +cellophane/SM +cellphone/SM +cellular/Y +cellularity/SM +cellulite/SM +cellulitis/M +celluloid/MS +cellulose/MS +cellulosic/SM +Celsius/M +Celt/SM +Celtic/M3 +Celticism/SM +cembalo/SM +cement/RGDSM +cementa +cementation/SM +cementite/SM +cementum/MS +cemetery/SM +Cemmes/M +Cena/M +Cenarth/M +Cennen/M +cenobe/MW +cenobia/M +cenobian +cenobite/SMW +cenobium/MS +cenoby/MS +Cenomanian A subdivision of the Late (Upper) Cretaceous epoch +Cenotaph/M +cenotaph/SM +cenote/SM +Cenozoic Of or pertaining to the Cenozoic era +cense/DGSr +censor/dSMO +censorious/PY +censorship/SM +censorware/M Noun: uncountable +censurable +censure/GRMSD +Census/M +census/SdM +cent/SM +centaur/MS +Centauri/M +Centaurus/M +centavo/SM +centenarian/SM +centenary/SM +Centennial/M +centennial/Y +Center/M +Centerville/M +centesimal/Y +centigrade/SM +centigram/SM +centilitre/SM +centime/SM +centimetre/MSW +centipede/SM +centisecond/SM +CentOS/M +centra/1M +central/3 +Central/M +Centralia/M +centralise/CDnSAG +centralise/SGDnR +centralism/SM +centrality/SM +Centre-du-Québec/M +centre/GDRMJ3WoSp +Centre/M +centreboard/SM +centreboarder/M +centrefire/SM +centrefold/SM +centreline/MS +centrement/M +centremost +centrepiece/SM +centrepin/SM +Centreville/M +Centrex/M +centrifugal/SMY +centrifugate/MSGD +centrifuge/MGDSn +centring/SM +Centrino/M +centriole/SM +centripetal/Y +centrism/SM +Centro/M +centroid/SM +centromere/SMW +centrosome/SM +centrum/SM +centuple/DGS +centuriation/M Noun: uncountable +centurion/SM +century/SM +CEO/SM +cep/SM +cephalexin/SM +cephalic/S +cephalin/SM +cephalisation/SM +Cephalochordata Taxonomic subphylum +cephalochordate/SM +cephalometry/WM +cephalon/SM +Cephalonia/M +Cephalonian/SM +cephalopod/SM +Cephalopoda Taxonomic class +cephalosporin/SM +cephalothoraces +cephalothorax/SM +cepharanthine/M Noun: uncountable +Cephei/M +Cepheid +cepheid/SM +Cepheus/M +ceramic/3MS +ceramide/SM +ceramist/SM +ceratobranchial/SM +ceratopsian/SM +Cerberus Taxonomic genus +cercopithecoid/SM +cereal/MS +cerebellar +cerebellum/MS +cerebra/noMO +cerebrate/SDGn +cerebri crus cerebri +cerebriform/Y +cerebroside/SM +cerebrospinal +cerebrovascular/Y +cerebrum/MS +Ceredigion/M +cerement/SM +ceremonial/SMP3 +ceremonialism/SM +ceremonious/UY +ceremoniousness/SM +ceremony/SMo +Cerenkov/M +Ceres/M +Ceri/M +Cerialis/M +cerise/MS +cerium/M Noun: usually uncountable +cermet/SM +CERN/M European Council for Nuclear Research +Cernan/M +Cerne/M +Cerney/M +cerocene +ceroplastic +cerotic +Cerregceinwen/M +Cerrig/M +Cerrigydrudion/M +Cerrito/MS +Cerro/M +cert/SM +certain/UY +certainer +certainest +certainty/USM +certificate/GSDM +certification/MCA +certified/UAC +certifies/CA +certify/Rl7DGnS +certiorari/SM +certitude/MIS +cerulean/MS +ceruloplasmin/SM +cerumen/M Noun: uncountable +cerussite/SM +Cervantes/M +Cervarix +cervical/SM +cervicitis/M Noun: usually uncountable +Cervidae Taxonomic family +cervix/M +cervonic +César/M +Cesarewitch/M +Cesário/M +Cesarsky/M +cespitose +cess/SM +cessation/SM3 +cessationism/M Noun: uncountable +cession/FMAK +cession/S +Cessna/M +cesspit/SM +cesspool/MS +Cestius/M +cestode/SM +CET/M +Cetacea Taxonomic order +cetacean/SM +cetera +ceteris +Cetinje/M +cetirizine/M Noun: uncountable +cetology/3M +Cetus Taxonomic genus +Ceulanamaesmawr/M +ceviche/SM +Ceylon/M +Cf +cf. +CFC/SM +CfIT/M +CFO/SM +CGI/M +Ch'ing/M +cha-cha/SM +cha/WyM +Chablis/M +Chaceley/M +Chacewater/M +chachalaca/SM +Chaco/M +Chacombe/M +chaconne/SM +Chacornac/M +Chad/M +chad/SM +chaddar/SM +Chaddesden/M +Chaddesley/M +Chaddleworth/M +Chadha/M +Chadian/SM +Chadkirk/M +Chadlington/M +chador/SM +Chadshunt/M +Chadwell/M +Chadwick/M +Chaerephon/M +chaeta/M +chaetae/M +chaetognath/SM +Chaetognatha Taxonomic phylum +chafe/SGDrM +chaff/MGSD +Chaffcombe/M +Chaffee/M +chaffer/rdM +chaffinch/SM +chaffweed/SM +Chagall/M +Chagas/M +Chagford/M +chagrin/MS +chagrined +Chaigley/M +Chailey/M +chain-smoke/SGD +chain/M +chain/UDGS +chainlike +chainsaw/DSGM +chair/MGm5SD +chairlady/SM +chairlift/SM +chairmanship/MS +chairperson/SM +chaise/MS +Chakotay/M +chakra/SM +Chalan/M +chalaza/OM +chalazae/M +Chalbury/M +Chalcedon/M +Chalcedonian/SM +chalcedony/SMW +chalcocite/SM +chalcogen/MS +Chalcolithic/M +Chalcombe/M +chalcophile/SM +chalcopyrite/SM +Chaldea/M +Chaldean/SM +Chaldee/MS +Chaldon/M +Chale/M +chalet/SM +Chalfield/M +Chalfont/M +Chalford/M +Chalgrave/M +Chalgrove/M +chalice/MDS +chalicothere/SM +Chalk/M +chalk/MGZSD +chalkboard/MS +Chalke/M +chalky/TP +Challacombe/M +Challcombe/M +challenge/RDGSkM +challis/SM +Challock/M +Challow/M +Chalmers/M +Chalton/M +Chalvey/M +Chalvington/M +chalybeate/SM +chamade/SM +chamaephyte/SM +chamber/rdMS +Chamberlain/M +chamberlain/SM +Chamberlayne/M +Chamberlin/M +chambermaid/MS +chamberpot/SM +Chambers/M +Chambersburg/M +Chambertin/M +Chambly/M +chambray/SM +chameleon/MS +chamfer/dSM +chammy/SM +chamois/MDSG +chamomile/MS +Chamonix/M +champ/DGSM +Champagne/SM +champagne/SM +Champaign/M +champers/M (informal) Champagne (wine) +Champflower/M +champion/SGDM +championship/SM +Champlain/M +Champlin/M +Chamundi/M +Chan/M +chan/SM +chance/RyGZ2SDM +chancel/SM +chancellery/SM +chancellor/MS +Chancellor/SM +chancellorship/MS +Chancery Chancery Standard +chancery/SM +chancily Adverb +chancing/SM +chancre/SM +chancroid/SMO +chancy/TP +chandelier/MS +Chandigarh/M +Chandler/M +chandler/MS +chandlery/SM +Chandraprabha/M +Chandrayaan +Chanel/M +Chang'e +Chang/M +Changchun/M +change-ringing/M Noun: uncountable +change/RBlpGDSM +changeability/MS +changeableness/SM +changelessly +changelessness/M Noun: uncountable +changeling/SM +changelog/SM +changeover/SM +changeset/SM +Changsha/M +Changzhou/M +Chanhassen/M +Channahon/M +channel/qsJSQRGDM +Channelkirk/M +channelling/SM +Channing/M +ChanServ/M +chanson/SM +chant/MRDGSJ +Chantal/M +chanterelle/SM +chanteuse/SM +Chanthaburi/M +chanticleer/SM +Chantilly/M +Chantix/M +chantry/SM +chaology/3M +chaos/M Noun: usually uncountable +chaotic/YSMO +chap/SDMG +Chapais/M +Chaparral/M +chaparral/SM +chapbook/MS +Chapdelaine/M +chapeau/MS +Chapel/M +chapel/MyS +Chapelfield/M +Chapelhall/M +chapelry/SM +Chapelthorpe/M +Chapelton/M +Chapeltown/M +chaperon/dSM +chaperonage/MS +chaperone/SM +chaperonin/SM +chaplain/MS +Chaplaincy/M +chaplaincy/MS +chaplet/SM +Chaplin/M +Chaplinesque +Chapman/M +Chapmanslade/M +Chapo/M +Chappaqua/M +Chappel/M +chappie/SM +chapstick/SM +chaptalise/SGDN +chapter/dSM +char/5GDSM +charabanc/SM +characin/SM +character/sQtdpq6MS +characterised/U +characteristic/SM +characteristic/UY +charade/SM +charanga/SM +charango/SM +charas/M Noun: uncountable +Charborough/M +charbroil/SGD +charcoal/GSMD +charcuterie/SM +Chard/M +chard/MS +Chardonnay/SM +Chardstock/M +Charest/M +Charfield/M +charge/cGEfDAS +charge/M +chargeable/AE +chargeableness/M Noun: uncountable +chargeback/SM +chargee/SM +chargehand/SM +charger/ESM +chargrill/SGDM +Chariklo/M +Charing/M +chariot/SGMD +charioteer/DSMG +charism/SM +charisma/M1W +charismata/M +charismatic/SM +charitable/UY +charitableness/MS +Charity/M +charity/SM +charlady/SM +charlatan/MS +charlatanism/SM +charlatanry/SM +Charlbury/M +Charlcombe/M +Charlecote/M +Charlemagne/M +Charlemont/M +Charlene/M +Charles/M +Charleston/MSd +Charlestown/M +Charlesworth/M +Charleton/M +Charlevoix-Est/M +Charlevoix/M +Charley/M +Charlie/M +Charlize/M +Charlotte/M +charlotte/SM +Charlottesville/M +Charlottetown/M +Charlton-on-Otmoor/M +Charlton/M +Charlwood/M +Charlynch/M +charm/MRGkDpS +Charman/M +charmeuse/SM +charming/TSM +Charminster/M +charmlessly +charmlessness/M Noun: uncountable +Charmouth/M +Charndon/M +Charney/M +Charnock/M +Charnwood/M +Charolais/M +Charon/M +charpoy/SM +charro/SM +Charron/M +charset/SM +Charsfield/M +Chart/M +chart/RDG73MJS +chartbuster/SM +charter/dr +Charter/SM A surname +Charterhouse/M +charterhouse/SM +Chartham/M +chartism/M Noun: uncountable +Chartism/SM +Chartist/MS +chartreuse/SM +Chartridge/M +chartroom/SM +chartulary/SM +Chartwell/M +charva/SM +charver/SM +Charvil/M +Charwelton/M +chary/TPY +Charybdis/M +chase/RDGSM +Chasid/M +Chasidic/M +Chasidism/M +chasing/SM +Chaska/M +chasm/SM +chasmogamous +chasmogamy/M Noun: uncountable +chasmophyte/SMW +Chasqueira/M +Chassell/M +Chassid/M +Chassidic/M +Chassidism/M +chassis/M +chaste/sQTYP +chasten/Sd +chastise/L +chastity/SM +Chastleton/M +chasuble/SM +chat/GS2MZDz +chatbot/SM +Chatburn/M +Château-Richer/M +château/SM +chateaubriand/SM +Châteauguay/M +Chatelain/M +châtelaine/MS +chatelaine/MS +Chatenet/M +ChatGPT/M +Chatham/M +chatline/SM +chatroom/SM +Chatswood/M +Chatsworth/M +Chattahoochee/M +Chattanooga/M +chattel/SM +chatter/dSrM +chatterbot/SM +chatterbox/SM +Chatteris/M +Chatterley/M +Chattisham/M +Chatton/M +Chattooga/M +chatty/PT +ChatZilla/M +Chaucer/M +Chaucerian/SM +Chaudière-Appalaches/M +chauffeur/DSMG +chauffeuse/SM +chaulmoogra/SM +Chaum/M +Chautauqua/M +chauvinism/MS +chauvinist/MSW1 +chav/MS~ +chava/SM +Chaves/M +chavvy/T +Chawleigh/M +Chawston/M +Chawton/M +Chayka/M +Chazen/M +Che/M +Cheadle/M +Cheam/M +Cheap/M +cheap/PYT~ +cheapen/dS +cheapjack/SM +cheapo/SM +Cheapside/M +cheapskate/SM +Chearsley/M +cheat/RDSMG +Cheatham/M +Cheboygan/M +Chebsey/M +Chechen/SM +check-in/SM +check-up/MS +check/ASGD +checkable +checkbox/SM +Checkendon/M +checker/SM +checkerberry/SM +Checkley/M +checklist/SM +checkmate/MDSG +checkout/SM +checkpoint/MS +checksum/GMSD +Chedburgh/M +Cheddar/M +cheddar/SM +Cheddington/M +Cheddleton/M +Cheddon/M +Chedgrave/M +Chedington/M +Chediston/M +Chedworth/M +Chedzoy/M +Chee/M +cheek/2GMzDZS +cheekbone/SM +cheekpiece/SM +Cheektowaga/M +cheeky/TP +cheep/MGDS +cheer/RDp6G2ZjSMz +cheerful/TP +cheerio/SM +cheerleader/SM +cheerleading/M Noun: uncountable +cheerless/YP +cheery/T +cheese-cutter/SM +cheese-paring/M +cheese-skipper/M +cheese/ZMDSG +cheeseboard/SM +cheeseburger/MS +cheesecake/SM +cheesecloth/MS +cheesemaker/SM +cheesemaking/M Noun: uncountable +cheesemonger/SM +cheesepare/SGD +cheeseparing/SM +cheesewood/SM +cheesy/PTY +cheetah/SM +chef-d'oeuvre/M +chef/GDSM +chefs-d'oeuvre/M +cheilocystidia/M +cheilocystidium/M +Chekhov/M +Chekhovian Adjective +Chekov/M +Chelan/M +chelant/M +chelate/DnMG +chelator/MS +Chelborough/M +Cheldon/M +cheletropic +Chelford/M +chelicera/OM +chelicerae/M +Chelicerata Taxonomic subphylum +chelicerate/SM +Chellaston/M +Chellean/M +Chellington/M +Chelmarsh/M +Chelmondiston/M +Chelmorton/M +Chelmsford/M +Chelmsley/M +Chelmsleywood/M +chelotropic +Chelsea/M +Chelsfield/M +Chelsham/M +Chelsworth/M +Cheltenham/M +Chelveston/M +Chelvey/M +Chelwood/M +Chelyabinsk/M +chem/M3 +chemautotrophically +chemerin/M Noun: uncountable +chemical/MSY +chemigraphy/M Noun: uncountable +chemiluminescence/M Noun: usually uncountable +chemiluminescent/Y +cheminformatics/M Noun: uncountable +chemise/SM +chemist/y +chemistry/SM +chemitype/SM +Chemnitz/M +chemo-statical +chemo/SM +chemoarchitecture/SM +chemoattractant/SM +chemoattraction/SM +chemoattractive +chemoautotroph/SMZ +chemoautotrophic/Y +chemoceptor/SM +chemocline/SM +chemoimmunotherapy/SM +chemoinformatics/M Noun: uncountable +chemokine/SM +chemomechanical/Y +chemometric/S +chemophobia/M Noun: uncountable +chemoprevention/SM +chemopreventive/SM +chemoprophylactic/SM +chemoprophylaxis/M Noun: uncountable +chemoradiotherapy/SM +chemoreception/SM +chemoreceptive +chemoreceptor/SM +chemoreflex/SM +chemoselective/Y +chemosensitive +chemosensitivity/SM +chemosensory Adjective +chemosphere/SM +chemostat/SM +chemosurgery/M Noun: uncountable +chemosynthesis/M Noun: usually uncountable +chemosynthetic/Y +chemotactic/OY +chemotaxis/M +chemotherapeutic/SM +chemotherapy/SM3 +chemtrail/SM +Chemung/M +chemurgy/SM +Chen/M +Chenango/M +Cheney/M +Cheng/M +Chengdu/M +Chenies/M +chenille/SM +Chennai/M +Cheong/M +Cheops/M +Chepping/M +Chepstow/M +cheque/RSM +chequebook/MS +chequer/dSM +chequerboard/MS +chequing/M Noun: uncountable +Cher/M +Cherbourg/M +Cherenkov/M +Cherhill/M +Cherie/M +Cherington/M +cherish/GDSR +Cheriton/M +Cherkasy/M +chermoula/M Noun: uncountable +Chern/M +Cherniawsky/M +Chernihiv/M +Chernivtsi/M +Chernobyl/M +Chernoff/M +Cherokee/SM +cheroot/MS +Cherrington/M +cherry-pick/SGD +Cherry/M +cherry/MS +cherrywood/M Noun: uncountable +chert/SM +Chertsey/M +cherub/SMW1 +cherubim/M +chervil/SM +Cherwell/M +Cheryl/M +Chesapeake/M +Cheselbourne/M +Chesham/M +Cheshill/M +Cheshire/M +Cheshunt/M +Chesil Chesil Beach +Chesley/M +Cheslyn/M +Chesnutt/M +chess/mSM +chessboard/MS +Chesser/M +Chessington/M +Chesson/M +chest/6ZSDM2z +Chester-le-Street/M +Chester/M +Chesterblade/M +Chesterfield/M +chesterfield/SM +Chesterford/M +Chestermere/M +Chesterton/M +Chestfield/M +chestful/SM +chestnut/MS +Chestnuthill/M +chesty/T +Cheswardine/M +Cheswick/M +Chetham/M +Chetnole/M +chetrum/SM +Chettisham/M +Chettle/M +Chetton/M +Chetwode/M +Chetwynd/M +chevalier/MS +Cheveley/M +Chevening/M +Cheverell/M +Chevet/M +chevet/SM +Chevington/M +Cheviot/SM +Chevrolet/M +chevron/SM +chevroned +Chevy/M +chew/GRZ2SM7D +Chew/M +Chewbacca/M +Chewton/M +chewy/TM +Cheyenne/SM +Cheyne/M +Cheysson/M +chg/M +chge +Chhattisgarh/M +Chi/M +chi/SM +chia/SM +Chian/MS +Chiang/M +Chianti/MS +chianti/SM +Chiarello/M +Chiariglione/M +chiaroscuro/MS +chiasma/M +chiasmata/M +Chiba/M +Chibougamau/M +chibouk/SM +Chicago/M +Chicagoan/SM +Chicagoland/SM +chicane/MDGS +chicanery/SM +Chicano/SM +chicer +chicest +Chicheley/M +Chichester/M +Chichewa/M +chichi/TSM +Chichilnisky/M +chick/MS +chickadee/MS +Chickamauga/M +Chickasaw/MS +Chickasha/M +chicken-and-egg +chicken-livered +chicken/dSM +chickenfeed/SM +chickenhearted/Y +chickenpox/SM +Chickerell/M +Chicklade/M +Chickney/M +chickpea/SM +Chicksands/M +chickweed/MS +chicle/YMS +chicness/M Noun: usually uncountable +Chico/M +Chicopee/M +chicory/SM +Chicot/M +Chicxulub/M +Chiddingfold/M +Chiddingly/M +Chiddingstone/M +chide/DkSG +Chideock/M +Chidham/M +Chidlow/M +Chief/M +chief/SMa +chief/Y +chiefdom/MS +chieftain/SM +chieftainship/SM +Chieveley/M +chiffchaff/SM +chiffon/MS +chiffonade/SM +chiffonier/MS +chigger/SM +Chignall/M +chignon/SM +Chigwell/M +chihuahua/SM +chikungunya/M Noun: uncountable +chilblain/SM +Chilbolton/M +Chilcomb/M +Chilcombe/M +Chilcompton/M +Chilcote/M +Child/M +child/YpMD +childage/M +childbearing/M Noun: usually uncountable +childbed/SM +childbirth/SM +childcare/SMR +childe/M +Childe/M +Childerditch/M +Childerley/M +Childermas/MS +childhood/SM +childish/PY +childless/P +childlike/P +childmind/SGDR +childproof/SGD +childrearing/M Noun: uncountable +children/M +Childrey/M +Childswickham/M +Childwall/M +Chile/MS +Chilean/SM +Chilfrome/M +Chilham/M +Chili/M +chiliad/SM +chiliarch/M +chiliarchs +chiliastic +chill/TDk2PRGMYS +Chillenden/M +Chillerton/M +Chillesford/M +chilli/SMP +Chillicothe/M +Chillingham/M +Chillington/M +Chilliwack/M +chilly/TSM +Chilmark/M +Chilopoda Taxonomic class +Chilson/M +Chiltern/SM +Chilthorne/M +Chiltington/M +Chilton/M +Chilvers/M +Chilworth/M +chimaera/SMw +Chimborazo/M +chime/RMDSG +chimera/SMwW +chimichanga/SM +chimichurri/SM +chiminea/SM +chimney/DMS +chimp/MS +chimpanzee/MS +chin-strap/MS +chin-wag/SMGD +chin/pSMGD +China/Mm +china/SM +chinaberry/SM +Chinatown/M +chinaware/SM +chincherinchee/SM +chinchilla/MS +Chindit/MS +chine/SM +Chineham/M +Chinese/M +Chiney/M +Ching/M +ching/SM +Chingford/M +chink/DGMS +Chink/MS +Chinley/M +Chinnock/M +Chinnor/M +Chino/M +chino/SM +chinoiserie/SM +Chinook/M +chinook/SM +chinstrap/SM +chintz/SMZ2z +chintzy/T +Chinyanja/M +chionodoxa/SM +Chios/M +chip/GMJZDSR +chipboard/SM +chipmaker/SM +chipmunk/MS +chipolata/SM +chipotle/SM +Chippendale/M +Chippenham/M +Chipperfield/M +Chippewa/M +chippie/SM +Chipping/M +chipping/SM +chippy/SPM +chipset/SM +Chipstable/M +Chipstead/M +Chirac/M +chiral +chirality/SM +Chirbury/M +Chirk/M +Chirnside/M +chirography/SM +chiromancy/M Noun: usually uncountable +Chiron/M +chiropody/3SM +chiropractic/MS +chiropractor/SM +Chiroptera Taxonomic order +chiropteran/SM +chiropterochore/MSW1 +chiropterochorous +chiropterochory/M Noun: uncountable +chirp/GDZSM +chirpy/PYT +chirr/GDSM +chirrup/SdM +Chirton/M +chiru/SM +Chisago/M +chisel/RDSGJM +Chiselborough/M +Chiseldon/M +Chishill/M +Chisholm/M +Chisinau/M +Chișinău/M +Chislehampton/M +Chislehurst/M +Chislet/M +Chiswick/M +Chisworth/M +chit-chat/SGDM +chit/SM +chital/SM +chitarrone/SM +chitchat/DSMG +Chithurst/M +chitin/MS +chitinous +Chitonga +chitosan/SM +Chittagong/M +Chittagonian/M +Chittenden/M +chitter/Sd +chitterlings/M Noun: uncountable +Chitterne/M +Chittlehamholt/M +Chittlehampton/M +Chiu/M +chivalrous/PY +chivalry/WSM +chive/SM +Chivelstone/M +Chivers/M +Chivesfield/M +chivvy/SGDM +chlamydia/M +chlamydia/OS^ +chlamydiae/M +Chlamydomonas Taxonomic genus +chlamydomonas/M +Chloe/M +chloral/M Noun: usually uncountable +chloramine/SM +chloramphenicol/SM +chlorapatite/SM +chlorate/SM +chlordiazepoxide/M Noun: usually uncountable +chlorella/M +chlorhexidine/M Noun: uncountable +chloride/SM +chlorinate/CGSDN +chlorinator/SM +chlorine/nM +chlorite/SMW +chloroacetone/M Noun: uncountable +chlorofluorocarbon/SM +chloroform/MSDGW +chloroformate/MS +Chloromycetin/M +chlorophyll/SM +chlorophyte/SM +chloropicrin/SM +chloroplast/SMW +chloroprene/M Noun: usually uncountable +chloroquine/M Noun: usually uncountable +chloroses +chlorosis/M +chlorosulfonate/SM +chlorothiazide/M Noun: usually uncountable +chlorotic +chlorpicrin/SM +chlorpromazine/M Noun: usually uncountable +chlorthalidone/M Noun: uncountable +chlorzoxazone/M Noun: uncountable +chm +choanocyte/SM +Chobham/M +choccy/SM +chock-a-block +chock-full +chock/DGSM +chocker +chocoholic/SM +chocolate/SMZ +chocolatey +Choctaw/SM +Choe/M +Choi/M +choice/TSPYM +choir/GSDM +choirboy/MS +choirgirl/MS +choirman/M +choirmaster/SM +choirmen/M +choisya/SM +Chojun/M +choke/RkDSMG +chokeberry/SM +chokecherry/SM +Chol/M +cholangiocarcinoma/M +Cholderton/M +cholecalciferol/SM +cholecystectomy/SM +cholecystitis/M Noun: usually uncountable +cholecystokinin/SM +cholelithiasis/M +choler/SM +cholera/MSW1 +Cholesbury/M +cholesteric/SM +cholesterol/SM +choline/M Noun: usually uncountable +cholinergic/SM +cholinesterase/SM +Chollerton/M +Cholmondeley/M +Cholmondeston/M +Cholsey/M +chomp/SMDG +Chomsky/M +Chondrichthyes/M +chondrite/SMW +chondrocranium/M +chondrocyte/SM +Chongqing/M +choosable/SM +choose/GR2SZ +choosy/T +chop/R2ZSMzGD +chophouse/SM +Chopin/M +chopper/SdM +choppy/T +chopstick/SM +Choptank/M +choral/SM +chorale/MS +chord/GSDMO +Chordata Taxonomic phylum +chordate/SM +chording/SM +chordophone/SM +chordotonal/SM +chore/MoDSG +chorea/SM +choreiform Adjective +choreograph/ZGRS1DW +choreography/MS +choreology/3M +chorine/SM +chorioallantoic +choriocarcinoma/SM +choriocarcinomata/M +chorion/MW +chorister/SM +chorizo/SM +Chorley/M +Chorleywood/M +Chorlton/M +chorographer/SM +chorography/SMW +choroid/SMO +chorology/SM +chorten/SM +chortle/RGDSM +chorus/MdS +chose/SM +Choseley/M +chosen +Choti/M +Chou/M +choucroute/M Noun: usually uncountable +chough/SM +choux/M +chow/GSMD +Chowan/M +Chowchilla/M +chowder/SM +Chowley/M +Chris/M +Chrishall/M +chrism/MS +Chrisman/M +chrismation/SM +Chrissie/M +Christ/MpY +Christadelphian/SM +Christchurch/M +christen/dAS +Christendom/M +christening/MS +Christensen/M +Christer/M +Christhood/M +Christi/M +Christiaan/M +Christian/MS +Christiana/M +Christiane/M +Christiania/M +Christianise/SGDn +Christianity/M Noun: usually uncountable +Christiansburg/M +Christiansen/M +Christie/MS +Christina/M +Christine/M +Christingle/SM +Christleton/M +Christlike +Christmas/MSZ +Christmastide/SM +Christmastime/SM +Christoffel/M +Christolatry/MS +Christological/Y +Christology/SM +Christon/M +Christoph/M +Christophany/MS +Christopher/M +Christow/M +Christy/M +chroma/SM1 +chromakey/SGDM +chromate/SM +chromatic/SP +chromaticism/SM +chromaticity/SM +chromatid/SM +chromatin/MS +chromatogram/MS +chromatograph/ZWSM +chromatography/SM +chromatopsia/SM +chrome/MWGD +chromebook/SM +chromic +chrominance/SM +chromite/SM +chromium/SM +chromocene/SM +chromodynamics/M Noun: uncountable +chromogen/SMW +chromoly/M Noun: uncountable +chromophore/SMW +chromoplast/SM +chromosome/SMO +chromosphere/WSM +chromous +chronic/YSM +chronicity/SM +chronicle/MSRGD +chronoamperometry/SM +chronobiology/3M +chronograph/WZSM +chronologer/SM +chronology/13SMw +chronometer/SMW +chronometrical/Y +chronometry/M Noun: usually uncountable +chronoscope/SM +chronostratigraphy/M Noun: uncountable +chronostratigraphy/WM +chronotherapy/SM +chronotropic/Y +chronozone/MS +chrysalis/SM +chrysanth/SM +chrysanthemum/MS +Chryse/M +Chrysler/M +chrysoberyl/SM +chrysophyte/SM +Chrysostom/M +chrysotile/SM +Chryston/M +chthonic/Y +chub/SMZ +Chubb/MS +Chubbuck/M +chubby/TP +chuck/SDGM +Chuckie/M +chuckle/DkGSM +chucklehead/SMD +chucklesome +chuckwalla/SM +chuddies/M +Chudleigh/M +chuff/SGDM +chug/DSGMR +chukka/SM +Chula/M +Chulmleigh/M +chum/DzMZSG +Chumleigh/M +Chumley/M +chummy/TPSM +chump/MGDS +chumping/M +Chung/M +chunk/ZSGMD +chunky/TP +Chunnel/M +chunter/Sd +Chunyun/M +chupacabra/SM +chuppa/M +chuppah/M +chuppot/M +Church-of-England/M +church/mMG5SDY +Church/MS +Churcham/M +Churchdown/M +churchgoer/MS +churchgoing/SM +churchianity/M +Churchill/M +Churchillian/SM +Churchilliana/M +Churchland/M +churchly/P +churchmanship/SM +churchmice/M +churchmouse/M +Churchover/M +Churchstanton/M +Churchstoke/M +Churchstow/M +Churchtown/M +churchwarden/SM +churchy/TSM +churchyard/MS +churidar/SM +Churig/M +churl/MS +churlish/YP +churn/RDGSM +churning/SMY +churr/SGDM +churrascaria/SM +churrasco/M Noun: uncountable +Churrigueresque +Churt/M +Churton/M +Churyumov-Gerasimenko/M Jupiter-family comet +Churyumov/M +Chute/M +chute/SGMD +chutney/SM +chutzpah/SM +chyme/MS +chymosin/SM +chymotrypsinogen/SM +Chytil/M +chytrid/SM +CI +Ci +CIA/M +ciabatta/SM +Cialis/M +Ciampino/M +ciao/SM +Ciara/M +Ciaran/M +Cibola/M +Cibolo/M +ciboria/M +ciborium/M +cicada/SM +cicatrice/MSO +cicatrise/SDGn +cicatrix/M +cicchetti +Cicciolina/M +Cicely/M +cicely/SM +Cicero/M +cicerone/SM +ciceroni/M +Ciceronian/SM +Ciceronianism/SM +cicheti +cichlid/SM +cicisbei/M +cicisbeo/SM +ciclesonide/M Noun: uncountable +ciclopirox/M Noun: uncountable +ciclosporin/SM +CID/SM +cider/CMS +Cidre/M +Ciecierski/M +cig/SM +cigar/SM +cigarette/MS +cigarillo/SM +ciguatera/SM +CIIWA/M Competitive Intelligence and Information Warfare Association +Cil-y-Cwm/M +cilantro/M Noun: usually uncountable +Cilau/M +Cilcain/M +Cilcennin/M +Cilfargen/M +Cilgerran/M +Cilgwyn/M +cilia/My +ciliate/DFYS +Ciliau/M +cilium/M +Cille/M +Cilley/M +Cilmery/M +Cilrheydyn/M +Cilybebyll/M +Cilycwm/M +Cilymaenllwyd/M +Cimarron/M +cimbalom/SM +Cimino/M +Cimmerian/SM +Cinavia/M +cinch/DSGM +cinchona/SM +Cincinnati/M +cincture/MGDS +cinder/SdM +Cinderella/M +Cinderford/M +Cindy/M +cine/M Noun: uncountable +cineast/SM +cineaste/SM +cinéma-vérité/M +cinema/WMS1 +cinemagoer/SM +cinemagoing/M +cinematheque/SM +cinematograph/SMR1 +cinematography/WSM +cinephile/SM +cinephilia/M Noun: uncountable +Cinerama/M +cineraria/SM +cinerarium/SM +cinerary +cinereous +cinereum/S tuber cinereum +cineritious +Cingalese/M +cingula/M +cingulate/SM +cingulum/M +cinnabar/MS +cinnamic +Cinnaminson/M +cinnamon/SM +cinnarizine/M Noun: uncountable +Cinque/M +cinquecentist/SM +cinquecento/M Noun: uncountable +cinquefoil/SM +Cinzano/M +cipher/MdS +ciphertext/SM +ciprofloxacin/M Noun: uncountable +cir +circa +circadian Adjective +Circassian/SM +Circe/M +Circinus/M +circle/GDSMr +circlet/MS +Circleville/M +circlip/SM +circuit/MdSO +circuitous/YP +circuitry/MS +circuity/SM +circulant/SM +circular/qYQPMS +circularity/MS +circulate/GyDSnV +circulation/MA +circulator/SM +circumambulate/SGDn +circumambulatory Adjective +circumcircle/SM +circumcise/DSGR +circumcision/SM +circumesophageal Adjective +circumference/SM +circumferential/Y +circumflex/DSGM +circumfuse/DGS +circumjacent Adjective +circumlocution/SM +circumlocutory Adjective +circumlunar Adjective +circumnavigate/DnSxG +circumnavigator/SM +circumplanetary Adjective +circumpolar Adjective +circumposition/SM +circumscribe/SDG +circumscription/SM +circumsolar Adjective +circumspect/Y +circumspection/SM +circumsphere/SM +circumstance/GSDM +circumstantial/Y +circumstantiality/SM +circumstellar Adjective +circumterrestrial Adjective +circumvallate/SGDn +circumvent/DGS7 +circumvention/SM +circumvolution/SM +circus/SM +Cirencester/M +cirque/SM +cirrhoses +cirrhosis/M +cirrhotic/SM +cirri/M +cirriped/SM +cirripede/SM +cirrostrati/M +cirrostratus/M +cirrus/M +cis +CISC/SM Initialism of complex instruction set computer +Cisco/M +cisgender/SM +cisgendered +cisplatin/M Noun: usually uncountable +Cissbury/M +cissy/SM +Cistercian/SM +cistern/SM +cistron/SM +cistus/M +citable Adjective +citadel/SM +citalopram/M Noun: uncountable +cite/nAGDS +citify/SGD +citizen/MYyS +citizenhood/M Noun: uncountable +citizenry/SM +citizenship/SM +citole/SM +citrate/DSM +citriculture/M Noun: usually uncountable +citrination/SM +citrine/SM +citrinin/M Noun: usually uncountable +Citrix/M +Citroen/SM +citron/MS +citronella/SMOW +citronyl/M Noun: uncountable +citrous +citrovorum/M +Citrus/M +citrus/ZSWM +citrusy +cittern/SM +city/DMS +CityFlyer/M +CityPoint/M +cityscape/SM +citywide/SM +civet/SM +civic/SY +civil/Y +civilian/SM +civilise/SGDnR +civility/ISM +Civilization/M +Civvy Civvy Street +civvy/SM +CJD/M Initialism of Creutzfeldt-Jakob disease +ck/C +Cl +cl/GJ +Clabby/M +Clachan/M +clack/DGSrM +Clackamas/M +Clackmannan/M +Clackmannanshire/M +Clacton/M +clad/JGSD +cladding/M +clade/SM +cladism/M Noun: uncountable +cladistic/SY +cladoceran/SM +cladode/SM +cladogenesis/M +cladogenetic/Y +cladogram/SM +Clady/M +Cladymore/M +Claffey/M +Claiborne/M +Claife/M +claim/ERSGCAD +claim/M +claimable/SM +claimant/SM +Claines/M +Clair/M +clairaudience/SM +clairaudient/SM +Claire/M +clairvoyance/MS +clairvoyant/SMY +Clallam/M +clam/GMzZDS +clamant/Y +clamber/dSrM +clamdigger/SM +clammy/TP +clamorous/YP +clamour/GMDRS +clamp/SGMDr +clampdown/SM +clamshell/SM +clan/mSM +Clanabogan/M +Clancarty/M +Clancy/M +clandestine/YP +clandestinity/M Noun: usually uncountable +Clandon/M +Clanfield/M +clang/DRGSM +clangorous/Y +clangour/SGDM +clank/DMkGSr +Clannaborough/M +clannish/YP +Clanricarde/M +clanship/SM +clap/RGDSM +Clapham/M +Clapp/M +clapperboard/SM +Clapton-in-Gordano/M +Clapton/M +claptrap/MS +claque/SM +Clara/M +clarabella/SM +Clarbeston/M +Clarborough/M +Clare/MZ +Claremont/M +Claremore/M +Clarence-Rockland/M +Clarence/M +Clarenceux/M +Clarendon/M +Clareson/M +claret/dSM +Clareton/M +clarificatory Adjective +clarify/DGSnr +Clarinbridge/M +clarinet/MS +clarinettist/MS +Clarion/M +clarion/MDSG +Clarissa/M +Clarita/M +clarity/SM +Clark/MS +Clarke/M +Clarkia +clarkia/SM +Clarksburg/M +Clarksdale/M +Clarkson/M +Clarkston/M +Clarkstown/M +Clarksville/M +Clarkville/M +Claromontanus +clary/M Noun: uncountable +clash/DGSMr +clasp-knife/M +clasp-knives +clasp/SUGDM +clasper/SM +class-conscious Adjective +class/=rGZDMwpS157m +classful/SM +classic/M3S +classical/SM3 +classicality/SM +classicise/SGD +classicism/SM +classifiable +classification/MaCA +classificatory Adjective +classified/SM +classifies/CA +classify/R7DSnG +classism/M Noun: usually uncountable +classmanship/M +classmark/SM +classmate/SM +classroom/MS +classwork/M Noun: uncountable +classy/TP3Y +clast/SMW +Clatford/M +clathrate/SM +clathrin/SM +Clatsop/M +Clatt/M +clatter/dSZkrM +Clattercot/M +Clatworthy/M +Claude/M +Claudelands/M +Claudette/M +Claudia/M +Cláudia/M +claudication/SM +Claudine/M +Claudio/M +Cláudio/M +Claudius/M +Claudy/M +Claughton/M +Claus/M +clause/SMO +Clausen/M +Clausewitz/M +claustra/M +claustrophobe/SM +claustrophobia/M Noun: usually uncountable +claustrophobic/SMY +claustrum/M +clavate +clave/FM +claver/SM +Claverack/M +Claverdon/M +Clavering/M +Claverley/M +Claverton/M +clavichord/SM +clavicle/SM +clavicular +clavier/MS +clavulanate/SM +claw/DSGMpr +clawback/SM +Clawson/M +Clawton/M +Claxby/M +Claxton/M +clay/ZSMDG +Clayborne/M +Claybrooke/M +Claydon/M +Claygate/M +Clayhanger/M +Clayhidon/M +clayier +clayiest +Claylands/M +claymore/SM +Claypole/M +claystone/SM +Claythorpe/M +Clayton-le-Dale/M +Clayton-le-Woods/M +Clayton/M +clayware/SM +Clayworth/M +clean-cut +clean-living +clean-shaven +clean-up/MS +clean/MSGYPTRDB~ +cleaning/SM +cleanly/TP +cleans/DRSG +cleanse/SM +cleanskin/SM +clear-cut/SG +clear-headed/PY +clear-out/SM +clear-sighted/Y +clear-sightedness/M Noun: uncountable +clear-up/SM +Clear/M +clear/TPSMYGJDr +clearance/MS +Clearfield/M +clearing/SM +Clearlake/M +cleartext/SM +Clearwater/M +clearway/MS +clearwing/SM +Cleasby/M +cleat/GMDS +Cleator/M +cleavage/SM +cleave/RGSMD +Cleburne/M +Cleckheaton/M +Cleckley/M +Clee/M +Cleer/M +Cleethorpes/M +Cleeve/M +clef/SM +cleft/DGSM +Clegg/M +Clehonger/M +Cleish/M +cleistogamous +cleistogamy/M Noun: uncountable +Cleland/M +clematis/MS +Clemence/M +Clemenceau/M +clemency/MIS +Clemens/M +clement/IY +Clement/SM +Clemente/M +Clementine/M +clementine/SM +Clemmons/M +Clemson/M +clench/GUSD +clench/M +Clenchwarton/M +Clendon/M +Clenston/M +Clenstone/M +Clent/M +Cleobury/M +Cleopatra/M +Cleophas/M +Clepington/M +clepsydra/SM +clepsydrae/M +cleptobioses +cleptobiosis/M +cleptobiotic +clerestory/SM +clergy/5mSM +cleric/SYM +clerical/SM +clericalism/MS +clerk/GSYDM +Clerk/SM +clerkdom/SM +Clerke/M +Clerkenwell/M +clerkship/MS +Clermont-Ferrand/M +Clermont/M +Clether/M +Cleve/M +Clevedon/M +Cleveland/M +Cleveleys/M +clever/PY +cleverer +cleverest +Cleverton/M +clevis/SM +clew/SMDG +Clewer/M +Cley/M +CLI/SM +Clianthus Taxonomic genus +Cliburn/M +cliché/MSGD clichéed is a rare form of clichéd +cliche/SGDM +clichéd +click-through/SM +click/RSGDM7 +clickbait/SM +clicket/SM +clickjacking/M Noun: uncountable +clickstream/SM +Cliddesden/M +client-server +client/MS +clientele/SM +clientèle/SM +clientelism/SM +clientship/SM +Cliff/M +cliff/SM +Cliffe/M +cliffhang/SGR +cliffhung +Clifford/M +Cliffsend/M +Cliffside/M +clifftop/SM +Clifon/M +Clifton/M +climacteric/MS +climactic/OY +climate/M1S +climatology/S3Mw1 +climax/MGDS +climb/7GRDSJM +climbdown/SM +clime/WSM +Climping/M +Climsland/M +Clincarthill/M +clinch/SRGkDM +clindamycin/M Noun: uncountable +Cline/M +cling/RGZSM +clingfish/SM +clingstone/SM +clingy/TP +clinic/YSM +clinical/K +clinician/SM +clink/DGSRM +clinker/d +clinometer/SIM +clinoptilolite/SM +clinopyroxene/SM +Clint/M +Clinton/SM +Clintonian/SM +Clio/M +cliometric/S +cliometrician/SM +clip-clop/SGDM +clip-on/SM +clip/RGSDJM +clipboard/SM +Clippesby/M +clippie/SM +clipping/SM +Clipsham/M +Clipston/M +Clipstone/M +clique/DMGSZ +cliquier +cliquiest +cliquish/YP +clit/ZSM +Clitheroe/M +clitic/SM +cliticise/SGDN +clitoral/Y +clitoridectomy/SM +clitorides +clitoris/MS +clitter/Sd +Clive/M +Cliveden/M +clivia/SM +Cliviger/M +Clixby/M +Clizbe/M +cloaca/MO +cloacae/M +cloak-and-dagger +cloak/DMGSC +cloakroom/MS +Cloanto/M +clobber/SdM +clobetasol/M Noun: uncountable +Clocaenog/M +cloche/SM +clock-watch/SGDR +clock/SDMRGJ +clockmaker/MS +clockmaking/M Noun: uncountable +clockwatcher/SM +clockwise/Y +clockwork/SM +clod/SMGD +cloddish/P +clodhopper/MS +Clodock/M +Cloford/M +clog/MSGD +Clogh/M +Clogher/M +Cloghy/M +cloisonne/SM +cloisonné/SM +cloister/MdS +cloistral +Cloke/M +clomp/SMDG +Clonaid/M +clonal/Y +clonazepam/M Noun: uncountable +clone/GDMRS +Cloney/M +Clonfert/M +clonidine/M Noun: usually uncountable +clonk/GSDM +Clonmel/M +Clonmore/M +Clonoe/M +Clooney/M +clop/DSGM +Clophill/M +clopidogrel/M Noun: uncountable +Clopton/M +Cloquet/M +closable +close-cropped +close-down/M +close-fisted +close-fitting +close-hauled +close-knit +close-mouthed +close-ratio +close-set +close-up/SM +Close/M +close/TRJPDYGSM +Closeburn/M +closed-circuit +closed/UE +closer/ESM +closet/SdM +closish +Closteroviridae Taxonomic family +clostridia/OM +clostridium/M +closure's/E +closure/GDSM +closures/E +Closworth/M +clot/GDMS +cloth/DGJSM +Clothall/M +clothbound +clothe/UGD +clothes-peg/SM +clothes/f +clothesbrush/SM +clotheshorse/SM +clothesline/SGDM +clothesman/M +clothesmen/M +clothier/SM +clothing/Mf +clotrimazole/M Noun: usually uncountable +Clotton/M +cloud-cuckoo-land/M Noun: uncountable +Cloud/M +cloud/pZSMDGz +cloudberry/SM +cloudburst/SM +clouded/cU +Cloudesley/M +cloudless/PY +cloudlet/SM +cloudscape/SM +cloudtop/SM +cloudy/TP +Clough/M +Cloughmills/M +Cloughton/M +Clouston/M +clout/SMDG +Clova/M +clove/RMS +Clovelly/M +cloven +Cloverlea/M +cloverleaf/SM +Clovis/M +clowder/SM +clown/SDGM +Clowne/M +clownfish/SM +clownish/PY +cloy/DkSG +Cloyne/M +clozapine/M Noun: usually uncountable +club-class +club-foot/MD +club/GSMDBR +Club/M +clubbing/SM +clubfeet/M +clubhouse/MS +clubland/M Noun: usually uncountable +clubman/M +clubmate/SM +clubmen/M +clubmoss/SM +clubroom/SM +clubroot/SM +cluck/DGMS +cludgy/T +clue/pMDGS +clued-up +cluelessness/M Noun: uncountable +Clumber/M +clump/MGSZD~ +clumpy/T +clumsy/TYP +Clun/M +Clunbury/M +clung +Clungunford/M +Cluniac/MS +Clunie/M +clunk/DRMGzZS +clunky/TP +Clunton/M +Cluny/M +clupanodonic +cluster/MdSJ +clutch/SDGM +Clute/M +Clutha/M +clutter/dSM +Clutton/M +CLV/M Noun: uncountable +Clwyd/M +Clydach/M +Clydau/M +Clyde/M +Clydebank/M +Clydesdale/MS +Clydey/M +Clydogau/M +Clyffe/M +Clymping/M +Clynderwen/M +Clyne/M +Clynnog/M +clypeal +clypei/M +clypeus/M +Clyro/M +Clyst/M +Clytemnestra/M +Cm +cm +Cmd. +Cmdr +Cmdre +CMG/SM +Cmnd. +CMOS/M Noun: uncountable +CMS/SM +CMYK/M Noun: uncountable +CNAA/M Initialism of Council for National Academic Awards +CNBC/M Initialism of Consumer News and Business Channel, an American television channel +CNET/M +Cnidaria Taxonomic phylum +cnidarian/SM +Cnidus/M +CNN/SM +CNS/SM Initialism of central nervous system +CNY/M Noun: uncountable +Co +co-ally/SMD +co-author/SMd +co-belligerence/M +co-belligerent/SM +co-branded +co-branding/SM +co-chair/SGDM +co-channel +co-conspirator/SM +co-counselling/M Noun: uncountable +co-decision/M Noun: uncountable +co-education/OM +co-evolution/ySM +co-evolve/SGD +co-found/SDGr +co-locate/SGD +co-morbidity/SM +co-occurrence/SM +co-op/SM +co-operant/SM +co-operate/VSDGuNv +co-operation/M Noun: uncountable +co-operative/SMPY +co-operator/MS +co-opt/NVSGD +co-option/SM +co-ordinate/GDSNVM +co-ordinator/SM +co-owner/SM +co-ownership/SM +co-pilot/SdM +co-produce/SGDr +co-production/SM +co-religionist/SM +co-respondent/SM +co-site +co-star/GSDM +co-trimoxazole/M Noun: uncountable +co-worker/SM +co-write/SGr +co-written +co-wrote +co/EDS +coach/SmGMr +Coachella/M +coachload/SM +coachroof/SM +coachwhip/SM +coachwhipping/M Noun: uncountable +coachwood/SM +coachwork/SM +coadjutor/SM +Coagh/M +coagulable +coagulant/SM +coagulase/SM +coagulate/nGSD +coagulative/Y +coagulator/SMZ +coagulopathy/SM +Coahoma/M +Coaker/M +coal-black +coal-fired +coal-hole/SM +Coal/M +coal/SGMDr +Coalburn/M +coalesce/GDS +coalescence/SM +coalescent +Coaley/M +coalface/SM +coalfield/MS +coalfish/SM +coalhouse/SM +Coalinga/M +Coalisland/M +coalition/3SMO +coalminer/SM +Coalsnaughton/M +Coalson/M +Coaltown/M +Coalville/M +Coandă/M +coarse/TPY +coarsen/dS +coarticulation/SM +coast-to-coast +Coast-Tweed/M +Coast/M +coast/SGMDO +Coastal/M +coasteering/M Noun: uncountable +coastguard/SM +coastland/SM +coastline/MS +coat-hanger/SM +coat/cMSf +Coatbridge/M +coated/U +coater/SM +Coates/M +Coatesville/M +Coatham/M +Coaticook/M +coatigan/SM +coating's/c +coating/SM +coattail/SM +coattest/SGD +coax/DGokRS +cob/GMSDR +Coba/M +Cobain/SM +cobalamin/SM +cobalt/MW +cobaltocene/M Noun: uncountable +cobaltous +Cobb/M +Cobbe/M +cobble/GRDMS +cobblestone/SDM +Cobden/M +Coberley/M +Cobham/M +coble/SM +Cobley/M +Cobol/M +COBOL/MR +cobra/SM +cobweb/MZSGD +cobwebby/T +Coca-Cola/MS +coca/SM +cocaine/SM +Cocalico/M +cocci/M +coccidia/MO +coccidian/SM +coccidioidomycosis/M +coccolith/SM +coccolithophore/SM +coccolithophorid/SM +coccus/M +coccygeal/Y +coccyges +coccyx/MS +Cochin/M +cochineal/SM +Cochise/M +cochlea/MS +cochleae/M +cochlear +cochoa/SM +Cochran/M +Cochrane/M +cock-a-doodle-doo/SM +cock-a-hoop +cock-a-leekie/SM +cock-and-bull +cock-eyed/YP +cock-of-the-rock/M +cock-up/SM +cock/zGMDZSR +cockade/MSD +Cockaigne/M +cockalorum/SM +cockapoo/SM +cockatiel/SM +cockatoo/SM +cockatrice/MS +Cockayne/M +cockboat/SM +Cockburn/M +Cockburnspath/M +cockchafer/SM +Cockcroft/M +cockcrow/SM +Cocke/M +Cockell/M +Cockenzie/M +cockerel/SM +Cockerham/M +Cockerington/M +Cockermouth/M +Cockett/M +Cockfield/M +cockfight/RMJSG +cockfighting/SM +Cockfosters/M +Cocking/M +Cockington/M +cockle/GDMSR +cocklebur/SM +Cockleroy/M +cockleshell/MS +Cockley/M +cockloft/SM +cockney/MS +cockneyism/SM +Cockpen/M +cockpit/MS +Cockrell/M +cockroach/SM +cocks-of-the-rock/M +cockscomb/MS +cocksfoot/SM +Cockshutt/M +cockshy/SM +cockspur/SM +cocksucker/SM! +cocksure/Y +cocktail/GDSM +Cockthorpe/M +cocky/TP +coco/MS +Cocoa/M +cocoa/SM +cocobolo/SM +Coconino/M +Coconut/M +coconut/MS +cocoon/MGSD +Cocos/M +cocotte/SM +cocreate/SGDN +cocreator/SM +cocycle/SM +cod/rMdSDG +coda/SM +Codd/M +Coddenham/M +Coddington/M +coddle/SGDr +code-switch/SGD +code/CDaAGS +code/Mp +codebase/SM +codebook/SM +codebreak/R +codebreaking/M Noun: uncountable +codec/SM +coded/K4 +codeine/MS +codename/SGDM +codependence/M Noun: usually uncountable +codependency/SM +codependent/SM +coder/4SCM +codetermine/SGD +codevelop/Sdr +codeword/SM +Codex +codex/SM +codfish/MS +Codford/M +codger/SM +codices +codicil/SM +codicological +codicology/M Noun: usually uncountable +Codicote/M +codify/RDGSn +codimension/SM +coding/4 +coding/M +Codington/M +codling/SM +Codnor/M +codology/SM +codomain/SM +codon/SM +codpiece/MS +Codrington/M +Codsall/M +codswallop/M Noun: uncountable +Cody/M +Coe/M +Coed/M +coed/SM +Coedana/M +Coedcanlas/M +Coedffranc/M +coedit/dS +Coedkernew/M +Coedkernyw/M +Coedpoeth/M +coeducation/OM +coefficient/SM +coelacanth/SM +Coelacanthidae Taxonomic family +Coelbren/M +Coelenterata Taxonomic phylum +coelenterate/MS +Coelhas/M +coeliac/SM +coelom/SM +coelomata/M +coelomate/SM +coelomic Adjective +coelurosaur/SM +coelurosaurian/SM +coenobe/MS +coenobia/MW +coenobian Adjective +coenobioid Adjective +coenobite/MSW +coenobium/MS +coenoby/MS +coenocyte/SMW +coenzyme/SM +coequal/SM +coequality/M Noun: usually uncountable +coerce/RDbGS +coercible/I +coercion/SM +coercive/PY +coercivity/SM +coetaneous +coeternal/Y +Coetzee/M +Coeur/M +coeval/SMY +coevality/M Noun: uncountable +coexistent/SM +cofactor/MS +coffee-cup/SM +coffee-house/SM +coffee-pot/MS +coffee-table/MS +Coffee/M +coffee/SM +coffer-dam/MS +coffer/SdM +cofferdam/SM +Coffey/M +Coffeyville/M +coffin/dMS +Coffin/M +Coffinswell/M +Coffman/M +Coffs/M +Cofton/M +cog/DMGS +Cogan/M +cogency/SM +cogenerator/SM +Cogenhoe/M +cogent/Y +Coggan/M +Cogges/M +Coggeshall/M +Coggins/M +Coggles/M +Cogglesford/M +Coghill/M +cogitate/SVnGD +cogitator/SM +cognac/MS +cognate/YnSPM +cognisable +cognisance/SM +cognisant/Y +cognition/AMKS +cognitional/Y +cognitive/SY3M +cognitivism/M Noun: uncountable +cognomen/SM +cognoscente/M +cognoscenti/M +Cogry-Kilbride/M +Cogut/M +cogwheel/SM +cohabit/ndr +cohabitate/SGD +cohabitation/oOSM +cohabitee/SM +Cohen/M +cohere/GDSR +coherence/SIMZ +coherency/SM +coherent/IY +cohesion/MS +cohesive/YP +Cohn-Bendit/M +Cohn/M +coho/SM +Cohoes/M +cohomology/SM +cohort/SM +cohosh/SM +coif/SM +coiffed +coiffeur/SM +coiffing +coiffure/SDMG +coil/USADG +Coimbra/M +coin/RMDGS +coinage/MS +coincide/SGD +coincident/YOSM +Cointreau/M +coital/Y +coition/M Noun: usually uncountable +coitus/MS +Coity/M +Cojocaru/M +Coke/SM +coke/SMDG +Coker/M +cokey/SM +col/SVnWM +cola/SM +Colac/M +Colan/M +colander/SM +colatitude/SM +Colaton/M +Colbert/M +Colborne/M +Colburn/M +Colbury/M +Colby/M +Colchester/M +colchicine/SM +colchicum/SM +cold-blooded/YP +cold-hearted/Y +cold-shoulder/Sd +Cold/M +cold/MYSPT~ +Colden/M +Coldfield/M +Coldham/M +Coldharbour/M +Coldingham/M +Coldplay/M +Coldred/M +Coldridge/M +Coldstream/M +Coldwaltham/M +Coldwater/M +Cole/MS +Colebatch/M +Colebrook/M +Colebrooke/M +Coleby/M +Colechurch/M +colectomy/SM +Coleen/M +Coleford/M +Colegate/M +Colehill/M +Coleman/M +Colemore/M +Coleoptera Taxonomic order +coleopteran/SM +coleopterist/SM +coleopterous Adjective +coleoptile/SM +coleorhiza/M +coleorhizae/M +Coleorton/M +Colerain/M +Coleraine/M +Coleridge/M +Colerne/M +Colesbourne/M +Colesden/M +Coleshill/M +coleslaw/SM +Colette/M +coleus/MS +Coley/M +Colfa/M +Colfax/M +Colgate/M +coli/M +colic/ZSM +coliform/SM +colimit/SdM +Colin/M +Colinsburgh/M +Colinton/M +Colintraive/M +coliseum/MS +colitis/SM +Colkirk/M +coll +collaborate/VGDSvn +collaboration/3M +collaborative/SM +collaborator/MS +Collace/M +collage/SDMG3 +collagen/SMW +collagenase/SM +collagenous +collapse/bSGDM +collapsibility/SM +collar/pdMS +collarbone/SM +collate/GSDn +collateral/SM +collator/SM +Collatz/M +collect/bSivDV7hGM +collectability/M Noun: uncountable +collectable/SM +collectanea/M +collected/UA +collectedness/M Noun: uncountable +collectible/SM +collection/AMS +collective/3SM +collectivise/SGDn +collectivism/SM +collectivistic/Y +collectivity/SM +collector/MS +collectorate/SM +colleen/SM +College/M +college/MK +college/SO +Collegeland/M +collegiality/SM +collegian/MS +Collegiate/M +collegiate/Y +collembolan/SM +collenchyma/SM +Colles/M +Collessie/M +collet/SM +Colleton/M +Colleyville/M +collide/XDGxNSR +collie/MRyD +Collier/M +Collierville/M +colliery/SM +collimate/SCNDG +collimation/M +collimator/SM +Collin/M +collinear +Collingbourne/M +Collingham/M +Collingswood/M +Collington/M +Collingtree/M +Collingwood/M +Collins/M +Collinson/M +Collinsville/M +collision/SM +collocational +collocutor/SM +collogue/DSG +colloid/MoSO +colloquia/MOo +colloquialism/MS +colloquies +colloquium/SM +colloquy/Mo +collotype/SM +collude/DGNVSX +collusion/M +collusively +colluvial +colluvium/M +Collyweston/M +collywobbles +Colman/M +Colmar/M +Colmer/M +Colmon/M +Colmonell/M +Colmworth/M +Coln/M +Colnbrook/M +Colne/M +Colney/M +colobus/M +colocynth/SM +Cologne/M +cologne/SMD +Coloma/M +Colomb/M +Colombia/M +Colombian/SM +Colombo/M +colon/MWQsq3S +colonel/SM +colonelcy/SM +Colonial/M +colonial/S3P +colonialism/SM +Colonie/M +colonise/AGCDSn +colonnade/DSM +colonoscope/SM1 +colonoscopy/SM +Colonsay/M +Colony/M +colony/oSM3 +colophon/SM +Coloradan/SM +Colorado/M +Coloradoan/SM +coloratura/SM +colorectal +colorimeter/SMW +colorimetry/SM +Colossae/M +colossal/Y +Colosse/M +Colosseum/M +colosseum/SM +colossi/M +Colossian/SM +colossus/MS +colostomy/SM +colostrum/SM +colour-blind/P +colour-code/D +colour-fast/P +colour-sergeant +colour/qQRNpGJSnD6jM37 +colourant/SM +colouration/EM +colourblock/GD +coloured/ES +colourful/P +colouring/M +colouristic/Y +colourless/YP +colourman/M +colourpoint/SM +colours/AE +colourway/SM +colposcope/SMZ +Colquitt/M +Colsterdale/M +Colsterworth/M +Colston/M +Colt/MS +colt/MSR +coltish/PY +Coltishall/M +Coltness/M +Colton/M +Coltrane/M +coltsfoot/SM +colubrid/SM +Columb/M +Columba/M +Columbae/M +columbaria/M +columbarium/M +Columbia/M +Columbian/SM +Columbiana/M +columbine/SM +Columbine/SM +columbium/M Noun: usually uncountable +Columbus/M +column/D3SM +columnar +columnated +columnise/SGD +Colusa/M +Colvend/M +Colveston/M +Colville/M +Colwall/M +Colwich/M +Colwick/M +Colwinston/M +Colwood/M +Colwyn/M +Colyton/M +coma/SM +comae/M +comaker/MS +Comal/M +Comanche/MS +comatose Adjective +comb/RdMS +combat/vVuDGSM +combatant/MS +combative/P +Combe/M +Comberbach/M +Comberton/M +combfish/SM +Combigan/M +combinable +combination/oMO +combinator/oWSMO +combinatoric/S +combine/DGAnS +combiner/SM +Combivent/M +combo/MS +Combpyne/M +Combrook/M +Combs/M +Combust/M +combust/SGDR +combustibility/SM +combustible/IS +combustion/MS +combustive +combustor/SM +Combwich/M +Comcast/M +Comdex/M +come/RIGJS +comeback/SM +Comecon +comedian/SM +comedienne/MS +comedown/MS +comedy/WSM +Comely/M +comely/PT +comer/cM +comes/ce +comes/M +comestible/MS +comet/MS +cometary Adjective +cometh +comeuppance/SM +Comey/M +Comeytrowe/M +comfit/SM +comfort/pEGMSDk +comfortability/SM +comfortable/PY +comforter/SM +comfrey/SM +comfy/T +Comhairle/M +comic/YMSO +comicality/SM +Cominform/M3 +Comintern/M +comity/SM +comix/M +comm/SM +command/RkGDLMS +commandant/SM +commandeer/DGS +Commander-in-Chief +Commander/M +commandership/SM +Commandment/MS +commando/SM +commemorate/DvSVGn +commemorative/SM +commemorator/SMZ +commence/DLAGS +commencer/SM +commend/AnS7DG +commendable/Y +commendation/AM +Commendatore/M +Commendatori +commendatory/A +commender/AM +commensal/SY +commensalism/SM +commensalistic Adjective +commensality/SM +commensurability/SM +commensurable/I +commensurable/Y +commensurate/YI +commensurateness +comment/G +comment/MUSD +commentariat/SM +commentary/SM +commentate/SGD +commentator/SM +commenter/MS +commentor/SM +commerce/GoSDM +Commerce/M +commercial/MP +commercial/qQSU +commercialism/SM +commerciality/SM +Commerical/M +commie/MS +commination/SM +comminatory Adjective +comminuted +commiserate/VnDGS +commissar/MS +commissariat/MS +commissary/SMO +commission's/A +commission/CRDSG +commissionaire/SM +commissioned/A +commissure/SO +commit/NLSoXDGR +commitment/cS +commits/A +committable +committal/MS +committed/cU +committee/mSM5G +committeeism/M Noun: uncountable +committeeship/SM +committent +committing/c +commixion +commixtion +commode/ESI +commodify/SGDN +commodious/PIY +commoditise/SGDN +commodity/MS +Commodore/M +commodore/MS +common-law +common-room/M +common-sense +Common/M +common/YPSr7 +commonage +commonality/MS +commonalty/SM +commonance/M +Commondale/M +commonest +commonhold +commonness/U +commonplace/SMP +commons/M +commonsensical/Y +commonsensicality +commonsensology +Commonwealth/M +commonwealth/SM +commonwealthman/M +commonwealthmen/M +commotion/SM +commove/SGD +communalism/SM +communalist/SMW +communality/SM +communar/M +communard/SM +communautaire/SM +commune/OoQS3DGR +communicability/SM +communicable/I +communicable/Y +communicableness +communicant/SM +communicate/BDxSVvGnNu +communicated/a +communicates/a +communication/a +communication/M +communicative/P +communicator/SM +communion/MS +communiqué/MS +communique/MS +Communism/M Noun: uncountable +communism/MS +Communist/SM +communistic +communitarian/SM +Community/M +community/SM +commutable/I +commutate/Vv +commutativity/M Noun: usually uncountable +commutator/SM +commute/R +Comoran/SM +comorbid +Comoros/M +Comox/M +comp/DGS +compact/TRPDYGS +compaction/SM +compactor/SM +compand/SRGD +companion/DG7lMSp +companionable/P +companionship/SM +companionway/MS +company/SMDG +Compaq/M +comparability/MI +comparability/S +comparable/P +comparably/I +comparatist/SM +comparative/PS +comparativism/M Noun: uncountable +comparator/MS +compare/uVvGBlR +comparison/SM +compartment/DGNMS +compartmental/qQ +compass/M +compassionate/P +compatibility/SMI +compatible/SIY +compatibleness/M +compatriot/SMW +compeer/SMGD +compel/7GSDnk +compelling/M +compend/SM +compendia/M +compendious/YP +compendium/MS +compensable +compensate/DcSnG +compensative +compensator/SMZ +compère/MD +compete/SDG +competence/MSZI +competency/IS +competency/M +competent/IY +competitive/PY +competitor/SM +compilation/SAM +compilatory Adjective +compile/RCNS7DG +complacence/Z +complacency/SM +complacent/Y +complain/DkRS +complainant/SM +complaining/UY +complaint/MS +complaisance/SM +complaisant/Y +complement/DMGSRn +complementarity/SM +complementary/YPS +complementiser/SM +Complera/M +completable +complete/DGS +complete/IYP +completeness/IS +completer/SM +completest +completion/SM +completist/SM +completive +complex/GxDYTPNXS +complexion/DM +complexity/cM +complexity/S +complexus/M Don't use -ses (GitHub user Tex2002ans) +compliance/SM +complicate/GcDS +complicate/h +complicatedness/M +complicator/MS +complicit Adjective +complicity/MS +compliers +compliment/RGD +complimentary/U +compline/SM +comply/GLRnJN +compo/SM +component/SM +componentry/M Noun: uncountable +comport/L +compose/CRDSXGN +composed/PY +composes/AE +composing/EA +composite/GSYP +composition/CM +compositionality/M Noun: uncountable +compositor/MS +compossible Adjective +compost/RGB +composure/MES +compote/SM +compotus +compound/M7 +comprehend/uSDvGV +comprehensibility/IMS +comprehensible/IPY +comprehension/IMS +comprehensive/PS +compresence +compresent +compress/XvNVhxb +compressed/UC +compresses/C +compressibility/MI +compressible/I +compression/MC +compressor/MS +compromise/M +compromising/UY +Compton/M +comptroller/SM +compulsion/SM +compulsive/YSP +compulsivity/SM +compulsory/YSM +compunction/SM +compurgator/SM +CompuServe/M +computability/SM +computation/oMO +compute/DRGnlSB +computed/AK +computer-literate +computeracy/M Noun: uncountable +computerate +computerdom/M Noun: uncountable +computerese/M Noun: uncountable +computeresque +computerise/SGDn +computerism/M Noun: uncountable +computerist/SM +computeritis +computerland/M Noun: uncountable +computerless +computerology/M Noun: uncountable +computerphile/SM +computerphobe/SM +computerphobia/M Noun: usually uncountable +computery Adjective +computistic/O +computor/SM +computus +comrade/MSY +comradeliness +comradeship/SM +Comrie/M +Comstock/M +Comte +Comtism/M Noun: uncountable +con/SwMW1DGN +Conakry/M +Conan/M +concatenate/nDSG +concave/Y +concaver +concavo-convex +conceal/S7RDkLG +concede/Rh +Conceição/M +conceit/GiMSDh +conceited/P +conceivability/I +conceivable/IY +conceive/KSDaG +conceiver/SM +concelebrant/S +concentrate/SGnVD +concentrator/MS +concentric/Y +Concepción/M +concept/xSVoM +conception/KSMa +conceptual/Qq3 +conceptualism/SM +conceptualistic/Y +conceptuality/SM +conceptus/SM +concern/GS +concern/hUD +concernment/SM +concert/DiGhSM +concertgoer/SM +concerti/M +concertina/MDGS +concertino/SM +concertist/SM +concertmaster/MS +concerto/SM +concession/SyoOr +concessionaire/SM +concessive +conch/MDG +concha/M +conchae/M +conchie/SM +conchiolin/SM +conchoid/SMO +conchology/3wM +conchs +concierge/SM +conciliar +conciliate/nGVyN +conciliation/MA +conciliator/SM +conciliatoriness +conciliatory/A +concise/TYPNX +concision/M +conclave/SM +conclude/RGDSvVu +conclusion/SM +conclusive/IPY +conclusiveness/IS +concoct/SDGVr +concoction/SM +concomitant/Y +Concord/M +concord/SM +concordance/MS +concordant/Y +concordat/SM +Concorde/M +Concordia/M +concours +concrescence +concrescent +concrete/rGPYDSnM +concubinage/SM +concubine/MS +concupiscence/MS +concupiscent +concur/DG7S +concurrence/SM +concurrent +concuss/VG +concussion/SM +condemn/n7RGDS +condemnatory Adjective +condensate/MS +condense/DRSGbnP +Conderton/M +condescend/NXk +condescension/M +Condicote/M +condign +condiment/SM +condition's/K +condition/oMGRJDS +conditional/SM +conditionality/SM +conditionally/U +conditioned/AUK +conditioning/M +conditions/KA +condo/SM +condolence/MS +condom/SMp +condominium/SM +Condon/M +condonable +condone/DGSNR +condor/MS +Condorrat/M +condottiere/M +condottieri/M +Condover/M +conduce/nvDGVS +conducive/P +conduct/aDGMS +conductance/4 +conductance/MS +conductant +conductibility/MS +conductible +conduction/M +conductivity/SM +conductor/SM +conductress/MS +conduit/SM +condylarth/SM +condyle/SM +condyloma/SM +condylomata/M +condylomatous +cone/MZSD +Conecuh/M +coneflower/SM +Conestoga/M +Coney/M +coney/SM +Coneysthorpe/M +Coneythorpe/M +confab/DSMG +confabulate/SnDG +confabulator/SM +confect/SGD +confection/R3SGDM +confectionery/SM +confederacy/SM +confederal +confederate/M +confer/7DgGRS +conferee/MS +conference/GMDS +conferral/MS +confess/GxhD +confessant/MS +confession/SM +confessional/SM +confessionalism/SM +confessionary/SM +Confessor +confessor/SM +confetti/M +confidant/SM +confidante/SM +confide/kDRGS +confidence/cSM +confident/cY +confidential/PY +confidentiality/SM +confidingness +configurability/M Noun: uncountable +configurable/K +configuration/OAM^ +configure/ADGSn +confine/DLR +confirm/DGS +confirm/nAGSD +confirmatory +confirmed/PY +confiscate/ynSGD +confiscator/SM +confit/SM +conflab/SGD +conflagration/SM +conflate/GnDS +conflict/kSMVDG +conflictual +confluence/MS +conflux/SM +conform/7R3xO +conformability/SM +conformably +conformance/SM +conformant +conformism/SM +conformity/IMU +conformity/SM +confound/GSh +confrere/SM +confrère/SM +confront/Rnx +confronter +Confucian/SM3 +Confucianism/SM +Confucius/M +confusable +confuse/kRhi +confused/P +confusticate/SGD +confute/SnDGr +Cong/M +conga/MDGS +congeal/DLGS +congener/SM +congeneric +congenerous +congenial/U +conger/SM +congeries/M +Congerstone/M +congest/DVSG +congestion/SM +Congham/M +Congleton/M +conglomerate/DMSGnV +Congo/M +Congolese/M +congrats +congratulate/DSGny +congregant/SM +congregate/GnSD +Congregation/M +congregation/MO +Congregational/3Y +congregationalise/SGD +Congregationalism/MS +Congresbury/M +congress/mxM5GSD +congresspeople/M +congressperson/SM +congruence's/I +congruence/ZMS +congruency/MS +congruent/Y +congruential +congruently/I +congruity/MSI +congruous/YPI +Coniacian +conic/SM +conical/P +conidia +conidium +conifer/MS +coniferous +Coningsby/M +Conington/M +Conisbrough/M +Coniscliffe/M +Conisford/M +Conisholme/M +Coniston/M +Conistone/M +conium/SM +conjecture/GDoSMBRO +conjugacy +conjugal/Y +conjugality +conjugant/SM +conjugate/DVGnSYP +conjunct/VSvD +conjunctional +conjunctiva/MSO^ +conjunctivae/M Plural of conjunctiva +conjunctive/SM +conjunctivitis/SM +conjurator/SM +conjure/RGSnD +conjuring/M +conjuror/SM +conk/RSGDM +Conley/M +Conlig/M +Conlon/M +conman/M +conmen/M +Connacht/M +Connah/M +connate +connatural/Y +Connaught/M +Conneaut/M +connect/viVbGhDS7 +connected/EPY +Connecticut/M +connection's/A +connection/MES +connection/p +connective/MS +connectivity/SM +connector/SM +connects/EA +Connel/M +Connell/M +Connellsville/M +Connelly/M +conner/SM +Connersville/M +Connery/M +connexion/SM +Connick/M +Connie/M +connivance/MS +connive/RSDG +connoisseur/SM +connoisseurship +Connolly/M +Connor/MS +connotation's +connotative/Y +connubial/Y +conodont/SM +Conolly/M +Conon/M +Cononley/M +Conor/M +Conover/M +conquer/AdS +conquerable/U +conqueror/MS +conquest/ASM +Conquest/M +conquistador/SM +conquistadores +Conrad/M +Conrail/M +Conroe/M +Consall/M +consanguineous/Y +consanguinity/MS +conscience-stricken +conscience/p +conscientious/PY +conscionable/U +conscious/YU +consciousness/SM +conscription/SM +consecrate/ADSnG +consecration/MA +consecrative +consecrator/SMZ +consecutive/PY +consensus/SM +consent/SRGkD +consequence/SM +consequent/YP +consequential/IY +consequentialism/SM +consequentialist/SM +consequentiality/SM +consequentialness/M +consequently/I +conservancy/MS +conservation/M3 +conservationism/M Noun: uncountable +conservatism/SM +Conservative/MS +conservative/PSM +conservativism/SM +conservativity/M Noun: uncountable +conservatoire/SM +conservator/SM +conservatorship +conservatory/SM +conserve/VnvuM +consider/AdS +considerable/YI +considerably/I +considerate/Yn +considerately/I +considerateness/I +consideration/AS +considerer/SM +considering/S +consigliere/M +consiglieri/M +consign/L +consigned/A +consignee/SM +consignment/A +consignor/SM +consigns/A +consilience +consilient +consiprationally +consist/SGD +consistence/ZS +consistency/SMI +consistent/IY +consistory/MS +consociational +consociationalism/M Noun: uncountable +consol's +consolable/I +consolation/EM +consolatory/SM +console/RNkn7M +consolidate/DGnS +consolidator/MS +consommé/SM +consonance/IM +consonance/S +consonant/YSMO +consonous +consortia/M +consortium/MS +conspecific/SM +conspecificity/SM +conspectus/MS +conspicuous/PIY +conspiracy/SM +conspirational +conspirator/SOoM +conspire/GR +Constable/M +Constabulary +constabulary/SM +Constance/M +constance/Z +constancy/IMS +constant/IY +Constant/M +constant/MS +constantan/SM +Constantia/M +Constantijn/M +Constantin/M +Constantine/M +Constantinian +Constantinople/M +constative/SM +constellate/SGDn +consternate/DnGS +constipate/GDSn +constituency/MS +constituent/YSM +constitute/DASG +constitution/AMS +constitutional/3YS +constitutionalism/SM +constitutionalities/U +constitutionality/SM +constitutionally/U +constitutive/Y +constrain/hG +constrained/U +constraint/SM +constrict/SDVG +constriction/SM +constrictor/SM +construal/SM +construct/ASbDG +constructable +constructibility/M Noun: uncountable +construction/CMAS +constructional/Y +constructionism/SM +constructionist/SM +constructive/YP3 +constructivism/SM +constructor/SM +construe/DS7G +consubstantial +consubstantiality/SM +Consul/M +consul/SM +consular/S +consulate/SM +consulship/SM +consult/nDGSr +consultancy/SM +consultant/SM +consultative +consultee/SM +consumable/SM +consume/RVSXvkNDhGJ +consumer/3 +consumerism/MS +consummate/DSGVY +consumption/Mc +consumptive/SM +cont +cont'd +contact-breaker +contact/G7DSMp +contactee/SM +contactor/SM +contagion/SM +contagious/YP +contain/7RLDSG +container/Qq +contaminant/MS +contaminate/VGDnS +contaminated/UC +contamination/MCS +contaminator/SM +contd +Conte/M +contemn/SGD +contemner/S +contemplate/VDvuGn +contemplative/PSM +contemporaneity/MS +contemporaneous/PY +contemporary/YP +contempt/SbM +contemptibility/SM +contemptible/Y +contemptuous/PY +content/LEDhGMS +content/Y +contented/P +contention/SM +contentious/UY +contentiousness/MS +conterminous/Y +contessa/SM +contest/7 +contestability/M Noun: uncountable +contestable/I +contestable/Y +contestant/SM +contestation/SM +contested/U +contextual/3 +contextualise/SGDn +contextualism/SM +contiguity/MS +contiguous/PY +Contin/M +continence/IMS +continent/oYSM +continental/SM +continently/I +contingency/MS +contingent/MYS +continua/onOM +continuance/ESM +continuant/MS +continuation/ME +continuationism/M Noun: uncountable +continuative/SM +continue/RNGSD7k +continuity/ESM +continuo/SM +continuous/YE +continuousness/E +continuousness/M +continuum/M +contort/VDG +contortion/M3S +Contra/M +contra/ySM +contraband/M3 +contrabass/MS +contrabassoon/SM +contraception/MS +contraceptive/SM +contract/DbGM +contractee/SM +contractile +contractility/SM +contractionary +contractive +contractual/Y +contracture/SM +contradance/SM +contradict/SGyD +contradiction/SM +contradictory/PY +contradistinction/SM +contrafactive +contrafactual +contraflow/SM +contrail/SM +contraindicate/VSnDG +contralateral +contralto/SM +contraposition/SM +contrapositive/SM +contraption/MS +contrapuntal/Y +contrarian/SM +contrarianism/SM +contrariety/SM +contrariwise +contrary/PSMY +contrast/GvZSMDkV +contravariance/SM +contravariant/SM +contravene/SGDR +contravention/MS +Contrecoeur/M +contretemps/M +contribute/DvGVy +contribution/SM +contributor/MS +contributory/SMY +contrite/P +contrition/SM +contrivance/SM +contrive/RDSG +control/BRMSlGD +controllability/SM +controversial/UY +controversialist/MS +controversy/SMo +controvert/DGSb +controvertible/I +contumacious/Y +contumacy/MS +contumelious +contumely/MS +contuse/SGD +contusion/SM +conule/SM +conundrum/MS +conurbation/SM +convalesce/DSG +convalescence/MS +convalescent/SM +convect/xGSDV +convection/SM +convene/GADS +convener/SM +convenience/ISM +convenient/YI +convenor/SM +convent's +conventicle/SM +convention/SoM +conventional/3 +conventionalise/SGD +conventionalism/M Noun: usually uncountable +conventionality/MUS +conventionally/U +conventual +convergence/SM +convergent/SMY +conversant/Y +conversation/Mo +conversational/3 +conversazione/SM +conversazioni/M +converse/GnYR +Converse/M +conversion's/A +conversion/G +convert/RSbDG +converted/UA +convertibility/IM +convertibility/S +convertible/PS +convertor/SM +convex/Y +convexity/MS +convey/D7SG +conveyance/DRSGM +conveyancing/M +conveyor/MS +convict/GVDSM +conviction/MS +convince/RGDSk +convincing/UY +convincingness/M +Convinth/M +convivial/Y +conviviality/MS +convocational +convoke/GDnS +convolute/SDGY +convolution/CO^ +convolution/MS +convolve/CSGD +convolvulus/SM +convoy/GDMS +convulse/GDSVuv +convulsion/SM +convulsive/P +Conway/M +Conwil/M +Conwy/M +cony/MS +Conyers/M +coo/GSDM +Cooch/M +Coogan/M +cook/KGADcS +Cook/M +cook/M +cookbook/MS +Cookbury/M +Cooke/M +cooked/fU +cooker/SM +cookery/SM +Cookeville/M +Cookham/M +Cookhill/M +cookhouse/SM +cookie/MS +cooking/M +Cookley/M +Cookshire-Eaton/M +Cookstown/M +cookware/SM +cool-box/SM +cool-headed +cool/TYRSPDG~ +Coolaney/M +coolant/SM +Coolbaugh/M +Coole/M +Cooley/M +coolhouse/SM +Coolidge/M +coolie/MS +cooling-off +Cooling/M +CoolMax/M +Coolspring/M +coolth/M +Coombe/MS +Coombs/M +Coon/M +cooncan/M Noun: uncountable +coonhound/SM +coonskin/SM +coop/DGSM +Cooper/M +cooper/SMdvuV +cooperage/MS +cooperant/SM +cooperation's +cooperative/U +coopery/SM +coopt/SGDn +coordinate/DGVM +coordination/M +coordinator/SM +Coors/M +Coos/M +Coosa/M +coot/MS +cootie/MS +cop-out/SM +cop/GDRdMSr +Copacabana/M +Copaxone/M +copay/SM +copayment/SM +COPD/M Noun: usually uncountable +Copdock/M +cope/SMZ +Copeland/M +Copenhagen/M +copepod/SM +Copepoda +Copernican/SM +copernicium/M Noun: uncountable +Copernicus/M +Copford/M +Copgrove/M +Copiah/M +copilot/SM +coping/SM +Copini/M +copious/YP +copita/SM +coplanar +coplanarity/SM +Copland/M +Cople/M +Copley/M +Copmanford/M +Copmanthorpe/M +copolymer/SM +Coponius/M +Copp/M +Coppé/M +Coppell/M +Coppenhall/M +copper/dZ +copperas +Copperas/M +Copperfield/M +copperhead/MS +coppernob/SM +copperplate/SM +coppersmith/SM +coppice/DMSG +Coppin/M +Coppingford/M +Copplestone/M +Coppola/M +Coppull/M +copra/SM +coprime +coprocessor/SM +coprolite/MS +coprophagous +coprophilia/SM +coprosma/SM +cops/DSG +copse/SM +Copston/M +Copt/MS +copter/SM +Copthorne/M +Coptic/M +copula/nMSV +copulae/M +copular +copulate/GSyDn +copulative/SY +copy-edit/Sd +copy-protected +copy/3DRGMS +copyability/M Noun: uncountable +copyable +copybook/SM +copycat/SMDG +copyeditor/SMO +copyhold/SMR +copyleft/MD +copyread/SGR +copyright/GRMDS7 +Copythorne/M +copywriter/MS +copywriting/M +coquetry/SM +coquette/SMGD +coquettish/Y +Coquitlam/M +cor +Cora/M +coracle/SM +coracoid/SM +Coral/M +coral/SM +coralberry/SM +coralline/SM +coralroot/SM +Coralville/M +corbel/SJGMD +Corbet/M +Corbett/M +Corbie/M +Corbin/M +Corbridge/M +Corby/M +Corbyn/M +Corcoran/M +cord/EGSAMD +cord/p +cordage/MS +Cordeiro/M +Cordele/M +Cordelia/M +Cordelier/SM +Corden/M +corder/AM +cordgrass/SM +cordial/PYS +cordiality/MS +cordillera/MS +cording/AM +cordite/MS +Cordoba/M +cordon/dSM +Cordova/M +cordovan/MS +corduroy/DSMG +cordwood/SM +cordyline/SM +core/MDRGS +Coredius/M +Corel/M +Coreley/M +corella/SM +Coren/M +coreopses +coreopsis/M +Coretta/M +Corey/M +corf/M +Corfe/M +Corff/M +Corfu/M +corgi/SM +Corhampton/M +coriaceous +coriander/MS +coring/M +Corinth/M +Corinthian/SM +Coriolis/M +cork/DRGMS +Cork/M +Corkey/M +corkscrew/DSMG +corkwood/SM +corky/T +Corlear/M +Corleone/M +Corley/M +Corliss/M +corm/SM +Corman/M +Cormier/M +cormorant/SM +corn/R2ZSMzDG +cornamuse/M +Cornard/M +cornball/MS +cornbrash/SM +cornbread/SM +Cornbury/M +corncob/SM +corncockle/SM +corncrake/SM +cornea/SMO +Cornelia/M +Cornelis/M +Cornelius/M +Cornell/M +Cornelly/M +corner/d +Corner/M +cornerman/M +cornermen/M +cornerstone/SM +cornerwise +cornet/SM +cornetfish/SM +cornett/SM +cornetti/M +cornetto/SM +corneum/M +Corney/M +cornfield/MS +cornflake/SM +cornflour/M Noun: usually uncountable +cornflower/SM +Cornhill/M +cornice/DSMG +corniculate +cornification/SM +Corning/M +Cornish/M +cornmeal/SM +cornmill/SM +cornrow/GSD +cornstalk/MS +cornstarch/MS +Cornu/M +cornucopia/SM +Cornwall/M +Cornwallis/M +Cornwell/M +Cornwood/M +Cornworthy/M +corny/TP +Coroglen/M +corolla/yMS +corollary/SM +coromandel/SM +Corona/M +corona/ySnM +Coronado/M +coronae/M +coronagraph/SM +coronal/MS +coronary/SM +coronate/SGDn +Coronaviridae Taxonomic family +coronavirus/SM +coroner/MS +coronet/dSM +coronial +coronium/M Noun: uncountable +coronoid/SM +corotate/SGD +coroutine/SM +corp. +Corpach/M +corpora/MnVo +corporal/MS +corporate/3SMY +Corporation/M +corporation/MIS +corporatise/SDGn +corporatism/SM +corporativism/M Noun: usually uncountable +corporativist/SM +corporatocracy/S +corporeal/IY +corporealisation/SM +corporealise/SGD +corporealism/SM +corporealist/SM +corporeality/MS +corporealness/M Noun: uncountable +corporeity/SM +corporeous +Corps +corps/SM +corpse/MDG +corpulence/SM +corpulent/YP +Corpus/M +corpus/SM +corpuscle/MS +corpuscular +corpusses +Corpusty/M +corr +corral/GDMS +correct/V7GuDSPvxTY +correction/SM +correctitude +corrective/SM +Correia/M +correlate/CSGDN +correlational +correlativity/M Noun: uncountable +correlator/SM +correspond/k +correspondence/MS +corridor/SM +Corrie/M +corrie/SM +Corrigan/M +corrigenda/M +corrigendum/M +corrigibility/M Noun: usually uncountable +corrigible/I +Corrimony/M +Corringham/M +Corrinshego/M +Corris/M +corroborate/DSnVvGy +corroborator/SM +corrode/DvbGuSV +corrosion/SM +corrosive/SP +corrugate/DSnG +corrugator/SM +corrupt/VPTbvSDGYr +corruptibility/MIS +corruptible/I +corruption's/I +corruption/MS +corsage/MS +corsair/SM +Corscombe/M +Corse/M +Corsenside/M +corset/dSM +Corsham/M +Corsi/M +Corsica/M +Corsican/SM +Corsicana/M +Corsley/M +Corso/M +Corsock/M +Corston/M +Corstorphine/M +Cortachy/M +Cortana/M +cortège/SM +Cortes +cortex/M +Corti +cortical/Y +cortices +corticifugal +corticofugal +corticosteroid/MS +corticosterone/SM +cortisol/SM +cortisone/SM +Cortland/M +Cortlandt/M +Corton/M +corundum/M +Corunna/M +Coruscant/M +coruscate/SnDG +Corvallis/M +corves +corvette/MS +Corvus/M +Corwen/M +Cory/M +corydalis +Coryell/M +corymb/SM +corymbose +corynebacteria/M +corynebacterium/M +coryphée/SM +Coryton/M +cos/SM +Cosa +Cosby/M +cosecant/SM +Coseley/M +coset/SM +Cosford/M +Cosgrove/M +cosh/SM +Cosheston/M +Coshocton/M +cosign/RSDG +cosignatory/SM +cosine/MS +Coslany/M +cosmeceutical/SM +Cosmelli/M +cosmetic/MSY +cosmetician/SM +cosmetology/3MS +cosmic/YO +Cosmo/M +cosmochemistry/M Noun: uncountable +cosmogony/3MS +cosmographer/SM +cosmographic/O +cosmography/SM +cosmology/1S3Mw +cosmonaut/SM +cosmopolis +cosmopolitan/MS +cosmopolitanise/SGD +cosmopolitanism/SM +cosmopolite/SM +cosmos/MS +cosmovision/SM +Cosmus/M +COSPAR Committee on Space Research +cosplay/SGDR +cosponsor/Sd +Cossack/MS +cossacks +Cossall/M +cosset/Sd +cossie/SM +Cossington/M +cost-cutting +cost-effective/P +cost-efficient +cost/YGvSMJuDpV +costa/M +Costa/M +costae/M +Costello/M +costermonger/SM +Costessey/M +Costessy/M +costive/P +costlessly +costly/TP +Costner/M +Costock/M +Coston/M +costume/DRMSG +cosupervise/SGDN +cosupervisor/SM +cosy/SGDYTP +cot/RMSD +Cota-Robles/M +cotangent/SM +Cotcliffe/M +Côte-de-Beaupré/M +Côte-de-Gaspé/M +Côte-Nord/M +Côte/M +cote/SM +Coteau-du-Lac/M +Cotebrook/M +coterie/MS +coterminous/Y +Cotes/M +Cotesbach/M +Cotford/M +Cotgrave/M +Cotham/M +Cothelstone/M +Cotheridge/M +cotillion/MS +cotinga/SM +Cotleigh/M +Coton/M +cotoneaster/SM +Cotswold/MS +cottage/DMRSG +Cottage/M +cottagey +Cottam/M +cottar/SM +Cottenham/M +cottered +Cottered/M +Cotterell/M +Cotterill/M +Cotterstock/M +Cottesbrooke/M +Cottesloe/M +Cottesmore/M +Cottingham/M +Cottingwith/M +Cottisford/M +Cottle/M +cotton/dMS +Cotton/M +cottonmouth/SM +cottonseed/SM +cottontail/MS +cottonweed/SM +Cottonwood/M +cottonwood/SM +cottony +Cottrell/M +cotyledon/MS +couch/DGSM +couchant +couchette/SM +couching/M +coudé +Coues/M +cougar/SM +cough/GDSR +Coughlan/M +Coughlin/M +Coughton/M +could +could've +couldn't +couldn't've +coulée/SM +coulis/M Noun: usually uncountable +Coull/M +couloir/SM +coulomb/SM +Coulsdon/M +Coulson/M +Coulston/M +Coulter/M +Coulthard/M +Coulton/M +Council/M +council/SmM5 +councillor/MS +councilperson/SM +Cound/M +counsel/MDJGS +counsellor/SM +count/GSlDRBpZ +countback/SM +countdown/MS +counted/AUEa +countenance/M +countenance/SDEG +countenancer/SM +counter-aggression +counter-attack/SRMDG +counter-claim/GSMD +counter-clockwise +counter-conditioning +counter-espionage/SM +counter-inflation/y +counter-insurgency +counter-intelligence/MS +counter-intuitive/Y +counter-jumper +counter-offensive/MS +counter-offer/SM +counter-productive +counter-revolution/ySM +counter-revolutionary/MS +counter-tenor/SM +counter-terrorism/M Noun: uncountable +counter/Smd +counteract/DGVS +counteraction/SM +counteragent/SM +counterargument/SM +counterattack/SGDR +counterbalance/MSDG +counterblast/SM +counterbore/SGD +counterchange/DGS +countercharge/SM +countercheck/SM +counterclaim/DSGM +counterculture/SMO +countercurrent/SY +countercyclical +counterdemonstration/SM +countereffort/SM +counterexample/SM +counterfactual/SM +counterfeit/GRSDM +counterflow/SM +counterfoil/MS +counterforce/SM +counterillumination/M Noun: uncountable +counterinsurgency/MS +counterion/SM +counterirritant/SM +counterirritation/SM +countermand/SGD +countermarch/SGD +countermark/SGD +countermeasure/SM +countermelody/SM +countermine/SGDM +countermove/SM +countermovement/SM +counternarcotics +counteroffensive/SM +counteroffer/SM +counterpane/SM +counterpart/SM +counterparty/SM +counterpetition/SGDM +counterplot/SGDM +counterpoint/DSMG +counterpoise/DMGS +counterproductive +counterproliferation/M Noun: uncountable +counterproposal/SM +counterpunch/GSDR +counterreformer/SM +counterrotate/SGDN +counterscarp/SM +countershaded +countershading +countershaft/SM +countersign/DSGM +countersignature/MS +countersink/SG +counterspy/SM +counterstatement/SM +counterstrike/SGM +counterstroke/SM +counterstruck +counterstyle/SM +countersubject/SM +countersunk +countertenor/SM +counterterror/3M +counterterrorism/M Noun: uncountable +counterthreat/SM +counterthrust/SM +countertrade +countertransference/SM +countervail/SGD +countervalue +counterweigh/SGD +counterweight/GMSD +countess/SM +Countesthorpe/M +Counthorpe/M +counting/Ea +Countisbury/M +countless/Y +countrify/D +country/5mMS +Country/M +countryfied +countryfolk/M +countryside/MS +countrywide +counts/AaEf +County/M +county/MS +countywide +coup/AS +Coupar/M +coupé/SM +coupe/SM +Coupee/M +Couperin/M +couple/DRCSGJ +couple/M +couplet/MS +coupling/MC +coupon/MS +courage/ES +courage/M +courageous/U +courageous/Y +courageousness/SM +Courcy/M +courgette/SM +courier/MGDS +Cournot/M +course/SMFE +coursebook/SM +coursed/E +courser/ESM +courseware/SM +coursework/M Noun: uncountable +coursing/M +court-martial/SGD +Court/M +court/SRYMGD +Courteenhall/M +Courtenay/M +Courteney/M +courteous/YEP +courteousness/SE +courtesan/MS +courtesy/DG +courtesy/ESM +courthouse/MS +courtier/SM +courtly/PT +Courtney/M +Courtrai/M +courtroom/SM +courtship/SM +courtyard/MS +couscous/MS +cousin/MYS +Cousteau/M +Couto/M +couture/MS +couturier/SM +covalent/Y +covariance/MS +covariant/SM +covariate/SMN +covary/SGD +Cove/M +cove/RDGMS +covector/SM +Covehithe/M +Coveleski/M +covellite/SM +coven/SM +Covenant +covenant/DSGMOR +Covenanter/SM +covenantor/SM +Coveney/M +Covenham/M +Covent/M +Coventry/M +cover-up/SM +cover/7dJS +coverable/E +coverage/SM +coverall/DSM +Coverdale/M +covered/EAU +coverer/AME +Coverham/M +covering/E +covering/M +coverlet/SM +Coverley/M +covers/AEU +coversheet/SM +covert/PY +covet/dSkr +covetous/PY +covey/MS +COVID-19/M +Covid-19/M +Covid/M +COVID/M +Covina/M +Covingham/M +Covington/M +cow-lick/SM +cow-parsley/M +cow-pat/SM +Cow/M +cow/ShGMDm +Cowal/M +Cowan/M +Cowansville/M +coward/SMY +cowardice/SM +cowardly/P +Cowarne/M +cowbane/SM +cowbell/SM +cowbird/SM +Cowbit/M +cowboy/SM +Cowbridge/M +Cowden/M +Cowdenbeath/M +Cowell/M +Cowen/M +cower/dkS +Cowes/M +Cowesby/M +Coweta/M +cowfish/SM +Cowfold/M +cowgirl/SM +cowhand/SM +cowherd/SM +cowhide/SGDM +Cowichan/M +Cowick/M +Cowie/M +cowl/DGMS +Cowlam/M +Cowley/M +Cowling/M +cowling/SM +Cowlinge/M +Cowlitz/M +coworker/SM +Cowper/M +cowpox/MS +cowpunk/SM +cowrie/SM +cowshed/SM +cowslip/SM +Cowthorpe/M +Cowton/M +Cox/M +cox/SGMD +Coxall/M +coxcomb/MS +Coxe/M +Coxheath/M +Coxon/M +Coxsackie/M +coxswain/DMSGp +Coxwell/M +Coxwold/M +coy/TPYSGDM +Coychurch/M +Coyle/M +Coylton/M +Coyne/M +coyote/SM +coypu/SM +cozen/dS +cozenage/SM +cozzie/SM +CPA +cpd +CPI +cpl +CPR +cps +CPU/SM +Cr +crab-apple/SM +crab/GhDRzMiZS +Crabbe/M +crabbed/P +crabbing/M Noun: usually uncountable +crabby/TP +crabgrass/SM +crablike +crabmeat/SM +Crabtree/M +crabwise +crack/SRYDG7M +crackdown/MS +Crackenthorpe/M +crackle/DSGJ +crackling/M +crackly/T +cracknel/SM +crackpot/MS +cracksman/M +cracksmen/M +crackup/SM +Cracoe/M +Cracow/M +Cracroft/M +Craddock/M +cradle/SDMGR +Cradley/M +cradling/SM +Crafoord/M +craft/rDm52MGzZS +craftsmanship/SM +craftspeople/M +craftsperson/SM +craftwork/R +crafty/PT +crag/MZS2 +craggy/TP +cragsman/M +cragsmen/M +Craig/MS +Craigarogan/M +Craigavon/M +Craigend/M +Craigentinny/M +Craighead/M +Craighouse/M +Craigie/M +Craigiebank/M +Craigiebuckler/M +Craiglockhart/M +Craigmailen/M +Craigmillar/M +Craigneuk/M +Craignish/M +Craignure/M +Craigrownie/M +Craigsbank/M +Craigslist/M +Craik/M +Crail/M +Crailing/M +Craiova/M +crake/SM +Crakehall/M +Crakehill/M +cram/GSD +Crambe/M +crambo +Cramer/M +Cramér/M +Cramlington/M +crammer/SM +Cramond/M +cramp/DSMGr +crampon/MS +Crampsey/M +Crampton/M +Cranach/M +Cranage/M +Cranagh/M +Cranberry/M +cranberry/SM +Cranborne/M +Cranbrook/M +Crandall/M +crane-flies +crane/MDSG +cranelike +cranesbill/SM +Craney/M +Cranfield/M +Cranford/M +Cranham/M +Cranhill/M +cranial +craniate/SM +craniofacial +craniology/3wM +craniometry/WM +craniopagi/M +craniopagus/M +craniosynostoses +craniosynostosis/M +craniotomy/SM +cranium/MS +crank/zMGSZTD~ +crankcase/SM +crankpin/SM +crankshaft/SM +cranky/TP +Cranleigh/M +Cranmer/M +Cranmore/M +cranny/DSGM +Cranoe/M +Cransford/M +Cranshaws/M +Cransley/M +Cranston/M +Cranstoun/M +Cranswick/M +Crantock/M +Crantor/M +Cranwell/M +Cranwich/M +Cranworth/M +crap/GDMZSR +crape/SM +crappie/SM +crappy/T +crapulent +crases +crash-land/SGD +crash/RSDGk +Crashaw/M +crashworthy/P +crasis +crass/TYP +Crassus/M +Crasswall/M +Craswall/M +Craswell/M +crate/MDRSG +crater/d +Cratfield/M +Crathie/M +Crathorne/M +craton/SMW +cravat/SMGD +crave/DJSGr +craven/dPY +Craven/MS +craving/M +craw/YSM +crawdad/SM +crawfish/SM +Crawford/M +Crawfordjohn/M +Crawfordsburn/M +Crawfordsville/M +Crawfurd/M +Crawfurdsdyke/M +crawl/SRDGM +crawlboard/M +Crawley/M +crawlspace/SM +crawlway/SM +crawly/ST +Crawshaw/M +Cray/MS +crayfish/SGDM +Crayford/M +Crayke/M +crayon/MdS +craze/SZGDM +crazy/YSMPT +CRC/SM +Creacombe/M +Creagh/M +creak/kzZSDG +Creake/M +creaky/PT +cream-crackered +cream/ZDRSzMG +creamery/MS +creamware/SM +creamy/PT +crease/GISCD +crease/M +creaser/I +creatable +create/uGnSDVv +creatine/SM +creatinine/SM +creation/MASa +creationism/SM +creationist/MS +creative/PSM +creativity/SM +Creaton/M +Creator +creator/SM +creature/YSM +creaturely/P +Crébillon/M +crèche/MS +credence/MS +Credenhill/M +credential/MSd +credentialism/M Noun: uncountable +credenza/MS +credibility/ISM +credible/YI +credit/dE7lS +credit/M +creditability/M Noun: usually uncountable +creditable/P +Crediton/M +creditor/MS +creditworthy/P +credo/MS +credulity/IMS +credulous/PY +credulously/I +Cree/MS +Creech/M +Creed/M +creed/SMO +Creek/M +creek/SM +creekside/SM +creel/DGMS +creep/RZSGz +creepy/PTS +Creeting/M +Creeton/M +Creetown/M +Creggan/M +Cregrina/M +Creich/M +Creighton/M +cremate/SyGnD +crematoria/M +crematorium/MS +creme/SM +crème/SM +cremocarp/SM +Crendon/M +crenelate/SGDn +crenellated +crenellation/SM +Crenshaw/M +crenulate/Dn +Creole/MS +creole/MS +creosote/SMGD +crepe/GDMS +crêpe/SM +crêpey +crept +crepuscular +crescendo/GDSM +crescent/MS +Creslow/M +Crespi/M +Crespo/M +cress/SM +Cressage/M +Cressett/M +Cressida/M +Cressing/M +Cressingham/M +Cresson/M +Cresswell/M +crest/DMGpS +Crest/M +crestfallen/PY +cresting/M +Creston/M +Crestor/M +Crestview/M +Crestwood/M +Creswell/M +Cretaceous/Y +Cretan/SM +Crete/M +Creti/M +cretin/MS +Cretingham/M +cretinism/SM +cretinous +cretonne/MS +Creutzfeldt-Jakob/M +Creutzfeldt/M +crevasse/MGDS +Creve/M +crevice/MS +crew/mMDGSp +Crewe/M +crewel/SM +crewelwork/MS +Crewkerne/M +crewmember/SM +Crewton/M +Crex Taxonomic genus +Crianlarich/M +crib/DRGSM +cribbage/SM +cribbing/M +cribella/M +cribellate +cribellum/M +Cribwr/M +Criccieth/M +Cricetidae Taxonomic family +Crich/M +Crichel/M +Crichton/M +Cricieth/M +crick/DSMG +Crick/M +Cricket/M +cricket/rdMS +cricketess +cricketty +crickety +Crickhowell/M +Cricklade/M +crickle-crackle +crickle/G +Cricklewood/M +Cricksea/M +cricoarytaenoid +cricoarytenoid/SM +cricoid/SMO +Cridling/M +Crieff/M +Criggion/M +Crigglestone/M +Crighton/M +crikey +Crim/M +crime/DGSM +Crimea/M +Crimean/SM +crimeware/M Noun: uncountable +criminal/SMY +criminalise/CnDSG +criminalistics +criminality/MS +criminate/SGDty +criminogenic +criminology/3wMS +criminous/PY +Crimond/M +crimp/SGDrM +crimpage/M Noun: uncountable +Crimplesham/M +crimson/SMd +cringe/GSDr +Cringleford/M +crinkle/DGSY +crinkly/TS +crinoid/SM +crinoline/MSD +Crinow/M +criollo/SM +cripes +cripple/RGkDSM +Cripplegate/M +crises +crisis/M +Crisium/M +crisp/GYPDTZ2SMr +Crisp/M +crispbread/SM +Crispin/M +crispy/T +criss +criss-cross/DGS +Cristau/M +Cristiane/M +Cristiano/M +Cristina/M +Cristini/M +Cristo +Cristobal/M +cristobalite/SM +Criswell/M +criteria/OM +criterion/M +criterium/SM +Critias/M +critic/YQSsM +critical/UY +criticality/SM +criticise/k +criticism/MS +critique/MGSD +Crito/M +Crittenden/M +Crittendon/M +critter/SM +CRM/SM +croak/RDZSGzM +croaky/T +Croat/SM +Croatia/M +Croatian/SM +Croce/M +crochet/dJSZrM +crocidolite/SM +crock/DGSMr +Crockenhill/M +Crockerton/M +crockery/SM +Crockett/M +Crockford/M +Crockpool/M +crocodile/MS +crocodilian/SM +crocodyliform/SM +Crocombe/M +crocus/MS +Croesus/M +Croesyceiliog/M +Croft-on-Tees/M +Croft/M +croft/MGSR +Croftfoot/M +Crofton/M +Croglin/M +Crohn/M +Croick/M +croissant/SM +Croix/M +Croke/M +Cromar/M +Cromarty/M +Cromartyshire/M +Crombie/M +Cromdale/M +Crome/M +Cromer/M +Cromford/M +Cromhall/M +Crommelin/M +Crompton/M +Cromwell/M +Cromwellian/SM +cron/M Noun: uncountable +Cronbach/M +Crondall/M +crone/SZM +croneyism/M +Cronian +Cronin/M +Cronton/M +Cronus/M +crony/MS +cronyism/SM +crook/DSiMhG +Crook/M +Crooked/M +crooked/P +crookeder +crookedest +crookery/SM +Crookes/M +Crookham/M +Croome/M +croon/GSRDM +crop/GSeMD +cropland/SM +cropper/MS +Cropredy/M +Cropston/M +Cropthorne/M +Cropton/M +Cropwell/M +croquembouche/SM +croquet/SdM +croqueta/SM +croquette/MS +Crosby/M +Croscombe/M +crosier/SM +cross-assembler/SM +cross-beam/SM +cross-border +cross-bred/S +cross-breed/GS +cross-check/DGS +cross-colour +cross-compiler/SM +cross-connection/SM +cross-contaminate/SDGN +cross-correlate/D +cross-correlation/SM +cross-country +cross-court +cross-cultural +cross-curricular +cross-cut/SMG +cross-disciplinary +cross-dress/SGDR +cross-examine/NDSG +cross-eyed +cross-fertilisation +cross-grained +cross-hatch/DSG +cross-legged +cross-link/SGD +cross-linkage +cross-ply +cross-point +cross-polar +cross-post/SGD +cross-promote/D +cross-promotion +cross-question/GD +cross-refer/S +cross-reference/DGS +cross-section/oSO +cross/GASUD +Cross/M +cross/MY +crossable +Crossan/M +crossarm/SM +crossbar/MSDG +crossbeam/MS +crossbencher/SM +crossbones +crossbow/mSM +Crossbush/M +Crosscake/M +Crosscanonby/M +crosscurrent/MS +Crosse/M +Crossenny/M +crosser/SM +crossest +crossfire/MS +Crossford/M +Crossgar/M +Crossgates/M +crosshair/SM +Crosshill/M +Crosshouse/M +crossing/MS +Crosskeys/M +Crossley/M +Crossmaglen/M +Crossman/M +crossmatch/SGD +Crossmichael/M +crossness/MS +crossopterygian/SM +crossover/MS +crosspatch/SM +crosspiece/SM +crosspoint/SM +crossroad/SM +crosstalk/SM +crosstree/SM +Crossville/M +crossways +Crossways/M +crosswind/SM +crosswise +crossword/SM +Crosthwaite/M +crostini/M +Croston/M +Crostwick/M +Crostwight/M +Croswell/M +crotch/DSpM +crotchet/MSZ +crotchety/P +Crothers/M +croton/SMW +crottle/M +crouch/SGD +Croughton/M +croup/DMGZS +croupiere/MS +croupy/RT +croûton/SM +crouton/SM +Crow/M +crow/MDSG +Crowan/M +crowbait/SM +crowbar/SMGD +crowberry/SM +Crowborough/M +Crowcombe/M +crowd-pleaser/SM +crowd/cSDG +crowd/M +crowded/P +crowdfund/SGD +crowdie/MS +Crowdin/M +crowdsource/SGD +Crowe/M +Crowell/M +crowfeet/M +Crowfield/M +crowfoot/M +Crowhurst/M +Crowism +Crowland/M +Crowle/M +Crowley/M +Crowmarsh/M +Crown/M +crown/rDGSMp +Crownthorpe/M +Crowther/M +Crowthorne/M +Crowton/M +Croxall/M +Croxby/M +Croxdale/M +Croxden/M +Croxley/M +Croxton/M +Croy/M +Croydon/M +crozier/SM +CRT/SM +Crucarden/M +cruces +Cruces/M +crucial/Y +cruciate +crucible/SM +crucifer/SM +Cruciferae +cruciferous +crucifix/MS +crucifixion/SM +cruciform/SM +crucify/DGRS7 +Crucis/M +Crucorney/M +crud/GDMZS +cruddy/T +crude/PTY +Cruden/M +crudités +crudity/SM +Crudwell/M +cruel/DTYGP +cruelty-free +cruelty/SM +cruet/MS +cruft/ZM +Cruickshank/M +Cruikshank/M +Cruise/M +cruise/RSDG +cruiserweight/SM +Cruithne/M +crumb/YDZSMG +crumble/SJDGM +crumbly/TP +crumby/T +crumhorn/SM +Crumlin/M +crummy/TP +crump/SGDM +crumpet/MS +crumple/SDG +Crumpsall/M +crunch/RSDZG2 +crunchy/T +Crundale/M +crunk/M +Crunwear/M +crupper/MS +crura/OM +crus/M +crusade/MRSDG +Cruscan/MS +cruse/SM +crush/R7kSDGM +crushproof +Crusoe/M +crust/MGZzSDpO +Crustacea Taxonomic subphylum +crustacean/MS +crusty/TPSM +crutch/SDGM +Cruwys/M +Crux/M +crux/SM +Cruz/M +cruzado/SM +cruzeiro/MS +cry/CRSGD +crybaby/MS +Crymych/M +Crynant/M +cryobank/SM +cryobiology/3wM +cryobot/SM +cryogen/SMW +Cryogenian +cryogenics +cryoglobulin/SM +cryohydrate/SM +cryolabile +cryomicroscopy/M Noun: uncountable +cryonic/SY +cryopreserve/ND +cryopump/MS +cryoresistance/SM +cryoresistant Adjective +cryosphere/SM +cryostability/M Noun: uncountable +cryostable +cryostat/SM +cryosurgery/SM +cryotherapy/SM +cryovolcanic Adjective +cryovolcanism/M Noun: uncountable +cryovolcano/SM +cryovolcanoes +crypsis/M Noun: uncountable +Crypt/M +crypt/S1WMw +cryptanalysis/M +cryptanalyst/MS +cryptanalytic/OY +cryptid/MS +crypto/SM +cryptobiosis/M Noun: uncountable +cryptobiotic Adjective +cryptococcal Adjective +cryptococcoses +cryptococcosis/M +cryptocrystalline/SM +cryptocurrency/SM +cryptogam/SM +cryptogamic Adjective +cryptogamous Adjective +cryptogenic Adjective +cryptogram/MS +cryptographer/SM +cryptography/W1SM +cryptojacking/M +cryptolect/SMO +cryptology/M3Ww +cryptomeria/SM +cryptominer/SM +cryptomining/M Noun: uncountable +cryptonym/SM +cryptonymous +cryptorchid/SM +cryptorchidism/SM +cryptosporidia/M +cryptosporidiosis/M Noun: uncountable +cryptosporidium/M +cryptosystem/SM +cryptovirology/M Noun: uncountable +Cryptozoic +cryptozoic Adjective +cryptozoology/3wM +crystal-clear Adjective +Crystal/M +crystal/MS +crystalline/SM +crystallinity/SM +crystallisable Adjective +crystallise/AnDSG +crystalliser/SM +crystallite/SM +crystallographer/MS +crystallography/WM1 +crystalloid/SM +Cs +CSA +CSE +CSEU +Csikasz/M +Csikász/M +CSP +CSPRNG/S +CSR/M +CSS/M +CST +CSU +CSV +CSYS +CT/SM +ctenoid/SM +Ctenophora Taxonomic phylum +ctenophore/MS +Cthulhu/M +CTOL +Ctrl +Cu +cu. +cub/dWw3SD1GMZ +Cuba/M +Cuban/SM +cubane/SM +cubanelle/SM +Cubbington/M +cubbyhole/SM +cube/M3Sr +cubeb/MS +Cubert/M +cubewano/SM +cubic/SM +Cubicin/M +cubicle/SM +Cubie/M +cubism/SM +cubit/SMO +cubitus/M +Cubley/M +Cublington/M +cuboid/SO^ +Cuby/M +Cucamonga/M +Cuckfield/M +Cucklington/M +Cuckmere/M +Cuckney/M +cuckold/MDGyS +cuckoldry/SM +cuckoo/MSGD +cuckquean/SM +cucumber/MS +cud/SM +Cudahy/M +Cuddesdon/M +Cuddington/M +cuddle/D2GYS +cuddlesome +cuddly/T +cudgel/DSGMJ +Cudham/M +Cudlow/M +cudweed/MS +Cudworth/M +cue/DaMSG +cueing +Cuerdale/M +Cuerden/M +Cuerdley/M +cuesta/MS +cuff/DGMS +Cuffley/M +cufflink/SM +Cufic/M +cuirass/SM +cuish/MS +cuisine/MS +cuisse/MS +cul-de-sac/SM +cul/DG +Culbertson/M +Culbone/M +Culborne/M +Culcheth/M +culex/M +Culey/M +Culford/M +Culgaith/M +Culham/M +culices +culicine/SM +culinary Adjective +cull/SMr +Cullaville/M +Cullen/M +cullet/SM +Cullingworth/M +Cullman/M +Culloden/M +Cullompton/M +Cully/M +cully/SM +Cullybackey/M +Cullyhanna/M +culm/SM +culmiferous Adjective +culminant Adjective +culminate/SGnD +Culmington/M +Culmore/M +Culmstock/M +Culnady/M +culotte/SM +culpa/SM +culpability/MS +culpable/YP +Culpeper/M +Culpho/M +culprit/SM +Culross/M +Culsalmond/M +cult/SM3W +Culter/M +cultigen/SM +cultism/MS +cultivable Adjective +cultivar/SM +cultivatable Adjective +cultivate/GSnD +cultivator/MS +Cultram/M +Cults/M +cultural/4 +culture/SMoDG +cultus/MS +Culver/MS +Culverden/M +culverin/SM +culvert/MSGD +Culverthorpe/M +Culworth/M +cum/SGDM +Cumanus/M +cumber/Sd +Cumberbatch/M +Cumberland/M +Cumbernauld/M +cumbersome/PY +Cumberworth/M +Cumbrae/M +Cumbria/M +Cumbrian/SM +cumbrous/Y +cumbrousness/M +cumin/SM +Cuminestown/M +Cumlodden/M +cummerbund/SM +Cummertrees/M +Cummings/M +Cummins/M +Cumnock/M +Cumnor/M +cumquat/SM +Cumrew/M +Cumru/M +cumulate/DvGnSV +cumulativeness/M +cumuli/M +cumulonimbi/M +cumulonimbus/M +cumulous +cumulus/M +Cumwhitton/M +Cundall/M +cuneate +cuneiform/SM +Cunha/M +cunjevoi/MS +Cunliffe/M +cunnilingus/M Noun: usually uncountable +cunning/TYP +Cunningham/M +Cunnington/M +cunny/SM! +cunt/MSG! +cunty/T! +Cuoco/M +Cuomo/M +cup/DM6GS +Cupar/M +cupbearer/SM +cupboard/MS +cupcake/SM +cupel/DGS +cupellation/MS +Cupertino/M +cupful/MS +cupholder/SM +Cupich/M +Cupid/M +cupid/SM +cupidinously Adverb +cupidity/SM +Cupillari/M +cupola/DSGM +cuppa/SM +cupping/M +cuprammonium/SM +cupreous +cupric Adjective +cupriferous Adjective +cuprite/SM +cupro-nickel/M +cuprocene +cuprous Adjective +cupule/SM +cur/rYgvZl7dSMV +curability/SM +curable/PI +curacao/SM +curacy/SM +curare/MS +curassow/SM +curate/NDGMS +curative/SM +curator/SMO +curatorship/MS +curb/MDSG +Curbar/M +curbing/M +Curborough/M +Curbridge/M +curbside/SM +curbstone/SM +curcumin/SM +curd/GvuMVSD +curdle/GSD +Curdridge/M +Curdworth/M +cure/SM +curettage/SM +curette/SGDM +curfew/SM +Curia/MO +curia/MO +curiae/M +curie/MS +Curig/M +curio/SM +curiosity/SM +curious/TPY +Curitiba/M +curium/M Noun: uncountable +curl/DGSR2M +Curland/M +curlew/SM +curlicue/SDMG +Curlieu/M +curling/M +curly/T +curlycue/SM +curmudgeon/MYS +curocene +Curragh/M +curragh/MS +currajong/SM +Curran/M +currant/MS +currawong/SM +currency/FSM +current/PYSM +currently/AF +Currey/M +curricle/SM +curricula/M +curricular Adjective +curriculum/MS +Currie/M +Currier/M +currish/Y +currishness/M +Currituck/M +curry/DGMS +Curry/M +currycomb/SMDG +curs/GyihSD +curse/M +cursed/P +cursive/EY +cursive/S +cursiveness/E +cursiveness/M +cursor/dSMZO +cursorily Adverb +cursoriness/MS +curt/YTP +curtail/RLSDG +curtain/DMGS +curtilage/SM +Curtis/M +curtsey/DSMG +curtsy/DGSM +curvaceous/YP +curvature/MS +curve/SZGDM +curveball/SMR +curved's +curvet/DGMS +curveted +curveting +curvidentate +curvifoliate/M +curviform Adjective +curvilinear/Y +curvilinearity/SM +curving/M +curvirostral Adjective +curvy/T +Cury/M +Curzon/M +Cusack/M +cuscus/MS +cusec/MS +cushat/MS +Cushendall/M +Cushendun/M +Cushing/M +cushion/ZSGMD +Cushitic/M +Cushman/M +cushy/T +cusk-eel/SM +Cusop/M +cusp/MDS +cuspate Adjective +cuspid/SMO +cuspidate Adjective +Cuspius/M +cuspule/SM +cuss/DhiSGM +cussed/EF +cussedness/M +cusser/FE +cusses/FE +Cusseta-Chattahoochee/M +Cust/M +custard/SM +Custer/M +custode/SM +custodee/SM +custodial Adjective +custodian/SM +custodianship/MS +custody/SM +custom-built +custom-made +custom/sQMrqSt +customary/YPSM +customhouse/SM +customised/C +Cusworth/M +cut-and-paste +cut-down +cut-off/SM +cut-out/SM +cut-price +cut-throat/MS +cut/RSGJM +cutaneous/Y +cutaway/SM +cutback/SM +cutch/M Noun: usually uncountable +Cutcombe/M +cute/TYP +cutesy/T +Cuthbert/M +Cuthbertson/M +Cuthill/M +cuticle/SM +cuticular Adjective +cutie/SM +cutlass/MS +cutlassfish/SM +Cutler/M +cutler/ZSM +cutlery/MS +cutlet/MS +cutout/SM +cutover/SM +cutpurse/SM +cutscene/SM +Cutsdean/M +Cuttack/M +cutting/MY +cuttle/SM +cuttlebone/MS +cuttlefish/SM +Cutts/M +cutty/MS +cutup/MS +cutwater/MS +cutworm/SM +cuvette/SM +Cuvier/M +Cuxham/M +Cuxton/M +Cuxwold/M +Cuyahoga/M +cuz +CV/SM +CVA +CVE +CVT +cw +Cwm-hir/M +Cwm/M +Cwmafan/M +Cwmamman/M +Cwmbach/M +Cwmbran/M +Cwmbwrla/M +Cwmcarvan/M +Cwmdu/M +Cwmhir/M +Cwmllynfell/M +Cwmteuddwr/M +Cwmyoy/M +CWO/SM +cwt +cyan/MWS +Cyanamid +cyanamide/SM +cyanate/SM +cyanide/SMGD +cyanoacetylene/SM +cyanoacrylate/SM +Cyanobacteria Taxonomic phylum + Taxonomic class +cyanobacteria/MO +cyanocobalamin/M Noun: usually uncountable +cyanogen/SM +cyanophyte/SM +cyanosis/M +cyanotic Adjective +cyanotype/SM +cyathia/M +cyathium/M +Cybele/M +cyber +cyber-thriller/M +cyberactivism/M Noun: uncountable +cyberactivist/SM +cyberactivity/SM +cyberaddict/SM +cyberaddiction/SM +cyberaffair/SM +cyberage/M +cyberagent/SM +cyberanarchist/SM +cyberanonymity/M Noun: uncountable +cyberart/SM3 +cyberassault/SM +cyberathlete/SM +cyberattack/SMR +cyberauction/SM +cyberaudience/SM +cyberbabe/SM +cyberbank/SMG +cyberbarrier/SM +cyberbattle/SM +cyberbazaar/SM +cyberbeggar/SM +cyberbeing/SM +cyberbook/SM +cyberborder/SM +cyberbreach/SM +cyberbride/SM +cyberbridge/SM +cyberbuddy/SM +cyberbully/GS +cyberbusiness/SM +cybercafe/SM +cybercafé/SM +cybercampaign/SM +cybercapitalist/SM +cybercash/M Noun: uncountable +cybercasino/SM +cybercast/SMGDR +cybercelebrity/SM +cyberchat/SM +cyberchondria/M Noun: uncountable +cyberchondriac/SM +cyberchorus/SM +cyberchurch/SM +cybercide/SM +cybercitizen/SM +cybercity/SM +cyberclass/SM +cyberclassroom/SM +cybercloset/SM +cybercolumn/SM3 +cybercommunication/SM +cybercommunity/SM +cybercommuter/SM +cyberconference/SM +cyberconflict/SM +cybercongregation/SM +cyberconspiracy/SM +cyberconsumer/SM +cybercontroversy/SM +cyberconversation/SM +cybercop/SM +cybercorporation/SM +cybercowboy/SM +cybercreature/SM +cybercrew/SM +cybercrime/SM +cybercriminal/SM +cybercritic/SM +cybercrook/SM +cybercult/SM +cyberculture/SMO +cybercurrency/SM +cybercycle/SM +cyberczar/SM +cyberdate/SMG +cyberdeath/M Noun: uncountable +cyberdeck/SM +cyberdefence/SM +cyberdetective/SM +cyberdiary/SM +cyberdiscourse/SM +cyberdissident/SM +cyberdrama/SM +cybereconomy/SM +cyberelite/SM +cyberenvironment/SM +cyberequivalent/SM +cyberespionage/M Noun: uncountable +cyberethnographer/SM +cyberethnography/SM +cyberfantasy/SM +cyberfeminism/SM +cyberfeminist/SM +cyberfeud/SM +cyberfiction/SM +cyberflaneur/SM +cyberflirt/SM +cyberfootprint/SM +cyberformance/SM +cyberforum/SM +cyberfraud/SM +cyberfraudster/SM +cyberfreak/SM +cyberfreedom/SM +cyberfriend/SM +cyberfriendship/SM +cyberfrontier/SM +cyberfuneral/SM +cyberfuture/SM +cybergame/SM +cybergang/SM +cybergeek/SM +cybergenre/SM +cyberghetto/SM +cybergirl/SM +cybergirlfriend/SM +cybergoth/SM +cybergroup/SM +cyberhacker/SM +cyberheist/SM +cyberhero/M +cyberheroes +cyberhole/SM +cyberholic/SM +cyberhug/SM +cyberhusband/SM +Cyberia/M +Cyberian/M +cyberian/SM +cyberidentity/SM +cyberimmortality/M Noun: uncountable +cyberimperialism/M Noun: uncountable +cyberindustry/SM +cyberinformation/M Noun: uncountable +cyberinfrastructure/SM +cyberintelligence/M Noun: uncountable +cyberinteraction/SM +cyberintruder/SM +cyberintrusion/SM +cyberism/M Noun: uncountable +cyberissues +cyberjargon/M Noun: uncountable +cyberjihadist/SM +cyberjournal/SM3 +cyberjournalism/M Noun: uncountable +cyberjunk/M Noun: uncountable +cyberjunkie/SM +cyberjustice/M Noun: uncountable +cyberkid/SM +cyberknife/M +cyberknives +cyberland/M Noun: uncountable +cyberlanguage/M Noun: uncountable +cyberlaundering/M Noun: uncountable +cyberlaw/SM +cyberlawyer/SM +cyberlearning/M Noun: uncountable +cyberlegal +cyberlibertarian/SM +cyberlibertarianism/M Noun: uncountable +cyberliberty/SM +cyberlibrary/SM +cyberlife/M +cyberlingo/M Noun: uncountable +CyberLink/M +cyberliteracy/SM +cyberliterary +cyberliterate +cyberliterature/M Noun: uncountable +cyberloafing/M Noun: uncountable +cyberlocker/SM +cyberloser/SM +cyberlove/MR +cybermall/SM +cyberman/M +cybermania/M Noun: uncountable +cybermap/SM +cybermarket/SM +cybermarketing/M Noun: uncountable +cybermarketplace/SM +cybermarriage/SM +cybermartyr/SM +cybermedia/M Noun: uncountable +cybermedicine/M Noun: uncountable +cybermessage/SM +cybermob/SM +cybermoney/M Noun: uncountable +cybermosque/SM +cybermuseum/SM +cybername/SM +cybernarrative/SM +cybernat/SM +cybernate/SGDN +cybernationalism/M Noun: uncountable +cybernationalist/SM +cybernaut/SM +cybernavigation/M Noun: uncountable +cybernerd/SM +cybernetic/Y +cybernetician/SM +cyberneticist/SM +cybernetics/M Noun: uncountable +cybernetwork/SM +cybernews/M Noun: uncountable +cybernocracy/M +cyberoperation/SM +cyberoptimism/M Noun: uncountable +cyberoptimist/SM +cyberpal/SM +cyberpark/SM +cyberpartner/SM +cyberpath/SM +cyberpatient/SM +cyberpayment/SM +cyberpeople/M +cyberperformance/SM +cyberperformer/SM +cyberperson/SM +cyberpessimism/M Noun: uncountable +cyberpessimist/SM +cyberpet/SM +cyberphilosopher/SM +cyberphilosophy/wM +cyberphobe/SM +cyberphobia/M Noun: uncountable +cyberphobic/SM +cyberphysical +cyberpioneer/SM +cyberpiracy/M Noun: uncountable +cyberpirate/SM +cyberplace/SM +cyberplagiarism/M Noun: uncountable +cyberpoem/SM +cyberpoet/SM +cyberpolice/M Noun: uncountable +cyberpolitical +cyberpolitics/M Noun: usually uncountable +cyberpop/M Noun: uncountable +cyberporn/M Noun: uncountable +cyberpornography/M Noun: uncountable +cyberpredator/SM +cyberprivacy/M Noun: uncountable +cyberprodigy/SM +cyberproletariat/SM +cyberpropaganda/M Noun: uncountable +cyberprostitution/M Noun: uncountable +cyberprotection/M Noun: uncountable +cyberprotest/SMR +cyberpsychology/Mw3 +cyberpunk/SM +cyberpunter/SM +cyberracism/M Noun: uncountable +cyberreality/SM +cyberrelationship/SM +cyberrights +cyberromance/SM +cybersaboteur/SM +cybersafe +cybersafety/M Noun: uncountable +cybersalon/SM +cybersangha/SM +cyberscam/SMR +cyberscape/SM +cyberscholarship/M Noun: uncountable +cyberschool/SM +cyberscience/MSW +cyberscientist/SM +cyberscum/M +cybersecure +cybersecurity/M Noun: uncountable +cyberself/M +cyberselves +cyberservice/SM +cybersex/MSGD +cybersexism/M Noun: uncountable +cybersexual +cybersexuality/SM +cybersexy Adjective +cybershop/SGDR +cybersickness/M Noun: uncountable +cyberskills +cyberslacker/SM +cyberslacking/M Noun: uncountable +cyberslang/M Noun: uncountable +cybersleuth/SM +cyberslut/SM +cybersmut/M Noun: uncountable +cybersocial +cybersociety/SM +cybersociology/M3 +cybersoul/SM +cyberspace/MS +cyberspatial +cyberspatiality/SM +cybersphere/SM +cybersport/SM +cyberspy/SM +cyberspying/M Noun: uncountable +cybersquatter/SM +cybersquatting/M Noun: uncountable +cyberstalker/SM +cyberstalking/M Noun: uncountable +cyberstore/SM +cyberstranger/SM +cyberstrategy/SM +cyberstructure/SM +cyberstud/SM +cyberstudent/SM +cyberstudies +cybersucker/SM +cybersuicide/SM +cybersuit/SM +cybersurf/SGDR +cybersurgeon/SM +cybersynagogue/SM +cybersystem/SM +cyberteacher/SM +cyberteam/SM +cybertechnique/SM +cybertechnology/SM +cyberterritory/SM +cyberterrorism/M Noun: uncountable +cyberterrorist/SM +cybertext/SM +cybertheft/SM +cybertheory/SM3 +cybertherapy/SM3 +cyberthief/M +cyberthieves +cyberthreat/SM +cyberthriller/SM +cyberthug/SM +cybertopia/SM +cybertopian/SM +cybertourist/SM +cybertown/SM +cybertrail/SM +cybertraveller/SM +cybertrooper/SM +Cybertruck/SM +cybertutor/SM +cybertype/SM +cyberunit/SM +cyberutopia/SM +cyberutopian/SM +cybervandal/SM +cyberverse/SM +cybervigilante/SM +cybervillage/SM +cybervoyeur/SM +cybervulnerability/SM +cyberwallet/SM +cyberwar/SM +cyberware/SM +cyberwarfare/M Noun: uncountable +cyberwarrior/SM +cyberweapon/SM +cyberwedding/SM +cyberwhore/SM! +cyberwife/M +cyberwives +cyberwizard/SM +cyberworld/SM +cyberwriter/SM +cyberwriting/SM +cyberzine/SM +cyborg/SM +cybrarian/SM +cybrary/SM +cybrid/SM +cycad/SM +Cyclades/M +Cycladic/M +cyclamate/SM +cyclamen/SM +cycle/JrD3SWGwM1 +cycleway/SM +cyclicity/SM +cyclin/SM +cyclise/SGDN +cyclizine/M Noun: usually uncountable +cycloaddition/SM +cycloalkane/MS +cycloalkene/MS +cyclobenzaprine/M Noun: uncountable +cyclogenesis/M +cyclohexane/SM +cyclohexanol/SM +cyclohexene/MS +cycloid/SMO +cyclometer/MS +cyclone/WSM +cyclopaedia/MSW +cycloparaffin/SM +Cyclopean Adjective +cyclopean Adjective +cyclopentadiene/SM +cyclopentane/SM +Cyclopes +cyclophosphamide/SM +Cyclops/M +cyclorama/SM +cycloramic Adjective +cyclosarin/M Noun: uncountable +cyclosportive/SM +cyclostome/SM +cyclostyle/SGD +cyclothymia/WSM +cyclotomic Adjective +cyclotron/MS +cyder/SM +Cydonia/M +Cyfarthfa/M +Cyffig/M +Cyffylliog/M +cygnet/SM +Cygni/M +Cygnus/M +Cygwin/M +Cylch/M +cylinder/wS1M +Cyllene/M +cyma/SM +cymbal/M3S +Cymbalta/M +cymbidium/SM +cyme/SM +Cymmer/M +Cymmrodorion +cymose/Y +Cymraeg/M +Cymric/M +Cymru/M +Cymyn/M +cynanthrope/MS +cynanthropic/Y +cynanthropy/M Noun: uncountable +Cyncoed/M +Cyndi/M +Cynewulf/M +Cynic/MS +cynic/SMYO +cynicism/MS +Cynog/M +Cynon/M +cynosure/MS +Cynthia/SM +Cynthian Adjective +Cynthus/M +Cynwyd/M +Cynwyl/M +cyphel/M +cypher/dSM +cypherpunk/SM +cyphertext/SM +Cypress/M +cypress/SM +Cyprian/SM +cyprinoid/SM +Cypriot/SM +cypripedium/MS +cyproterone/SM +Cyprus/M +cypsela/M +cypselae/M +Cyrano/M +Cyrenaic/SM +Cyrenaica/M +Cyrene/M +Cyres/M +Cyriac/M +Cyril/M +Cyrillic/M +Cyrix/M +Cyrus/M +cyst/SWM +cystectomy/SM +cysteine/SM +cystidia/M +cystidium/M +cystitides +cystitis/M +cystocele/SM +cystoscope/SMW +cystoscopy/SM +cystotomy/SM +cytidine/SM +cytoarchitectural/Y +cytoarchitecture/SM +cytochemistry/M Noun: usually uncountable +cytochrome/SM +cytogenesis/M +cytogenetic/3YOS +cytogenous Adjective +cytogeny/M Noun: usually uncountable +cytoid Adjective +cytokeratin/SM +cytokine/SM +cytokinesis/M Noun: usually uncountable +cytokinin/SM +cytology/3wSM1 +cytolysis/M Noun: usually uncountable +cytomegalic Adjective +cytomegalovirus/SM +cytometer/SM +cytometry/MW +cytopathic Adjective +cytophotometer/SM +cytophotometry/MW +cytoplasm/SWM +cytosine/SM +cytoskeletal/Y +cytoskeleton/SM +cytosol/SMW +cytosome/SM +cytostome/SM +cytotoxic/SM +cytotoxicity/SM +Czaczkes/M +czar/3MS +czarevitch/SM +czarina/MS +czarism/SM +czarship/SM +Czech/M +Czechia/M +Czechoslovak/SM +Czechoslovakia/M +Czechoslovakian/SM +Czechs +D'Abernon/M +D'Abitot/M +D'Arcy/M +d'Arezzo +d'art +D'Autray/M +d'Azur +D'Eivile/M +d'Estaing +d'etat +d'être +d'etre +d'oeuvre +D'Orazio/M +D'Orsay/M +d's/A +D-Day/M +D-day/M +D-notice +D.C. +D.F.A. +d/to +da +dab/TGDSR +dabble/DRSG +Dabbs/M +dabchick/SM +dabigatran/M Noun: uncountable +Dabo/M +Daborn/M +Dacca/M +dace/M +dacha/MS +Dachau/M +dachshund/SM +dacite/SMW +dacoit/MS +dacoity/MS +Dacorum/M +Dacre/M +Dacron/M +dacryocystotomy/SM +dacryostenosis/M Noun: uncountable +dactinomycin/M Noun: uncountable +dactyl/SM +dactylic Adjective +dad/MZS +Dada/M +Dadaism/M +Dadaist/SMW +Daddario/SM +daddy-long-legs/M +daddy/SM +Dade/M +dado/MS +Dadra/M +Daedalian Adjective +Daedalus/M +Daegu/M +daemon/SWM +daemonise/SGD +Daesh/M +daff/MS +Daffern/M +daffily Adverb +daffodil/SM +daffy/TP +Dafoe/M +daft/YTP +Dafydd/M +Dag/M +Dagenham/M +Dagestan/M +Dagestani/SM +Dagestanian/SM +dagga/M +dagger/dMS +daggerboard/SM +Daglingworth/M +Dagnall/M +dago/SM! +dagoes/! +Daguerre/M +daguerreotype/SMDG +daguerrotype/SM +Dagwood/SM +Dagworth/M +dahabeeyah/SM +Dahl/M +Dahlen/M +dahlia/SM +Dahm/M +Dahomey/M +Dahua/M +Daikin/M +Dáil/M +Dailly/M +daily/SMP +daimio/SM +Daimler/M +daimonion/M +dainty/TSYP +daiquiri/MS +Dairsie/M +dairy/m5MSG +dairying/M +dairyland/SM +dairymaid/MS +dais/SZM +daisy-cutter/SM +daisy/MS +Daisy/SM +Dakar/M +Dakin/M +Dakota/MS +Dalai/M +Dalarossie/M +Dalavich/M +dalbavancin/M Noun: uncountable +Dalbeattie/M +Dalbury/M +Dalby-cum-Skewsby/M +Dalby/M +Dalcross/M +Dalderby/M +Dale/M +dale/MmS +daleth/SM +Daley/M +Dalgety/M +Dalham/M +Dalhousie/M +Dali/M +Dalian/M +Daliburgh/M +Dalkeith/M +Dallara/M +Dallas/M +Dalles/M +Dallet/M +dalliance/MS +Dalling/M +Dallinghoo/M +Dallington/M +Dalloway/M +dally/RGDS +Dalmally/M +Dalmatia/M +Dalmatian/SM +dalmatic/SM +Dalmellington-Burnton/M +Dalmellington/M +Dalmeny/M +Dalmore/M +Dalmuir/M +Dalneigh/M +DALnet/M +Dalry/M +Dalrymple/M +Dalserf/M +Dalston/M +Dalton-on-Tees/M +Dalton/M +daltonism/M Noun: uncountable +Dalwood/M +Daly/M +Dalyell/M +Dalzell/M +Dalziel/M +Dam/M +dam/MDGS +damage/DRSkMG +damageable +Daman/M +Damania/M +Damaraland/M +Damaris/M +Damas/M +Damascus/M +Damasio/M +damask/DMGS +Dame/M +dame/MS +Damerel/M +Damerham/M +damfool/MS +Damian/M +Damien/M +Damietta/M +Damjan/M +Damme/M +dammit/S +damn/lDGkS7nR +damnatory Adjective +damneder +damnedest +Damneus/M +damnification/S +damnify/SGDJ +Damoclean Adjective +Damocles/M +Damon/M +damp/SDTRPGY +dampen/drS +damsel/SM +damselfish/SM +damselfly/SM +damson/SM +Dan/M +dan/SM +Dana/M +Danaë/M +Danbury/M +Danby/M +dance-off/SM +dance/SDRGM +danceable +dancehall/SM +dancelike +dancercise +dandelion/MS +Dandenong/M +dander/SdM +Danderhall/M +Dandie/SM +dandify/GDS +dandle/DSG +Dando/M +dandruff/MS +dandy/SMYT~ +dandyism/SM +Dane/MS +Danegeld/M +Danehill/M +Danelaw/M +danewort/SM +Danforth/M +Danfoss/M +Dang/M +danger/SdM +Dangerfield/M +dangerous/YP +dangle/RGkDSZ +Dania/M +Daniel/SM +Daniela/M +Daniele/M +Danielle/M +Danielson/M +Danish/M +dank/YPT +Dannemora/M +Dannevirke/M +Danni/M +Danny/M +Danone/M +dansant/S +danse +danseur/MS +danseuse/SM +Dante/M +Dantean/MS +Dantesque Adjective +danthonia/SM +Danube/M +Danubian/SM +Danvers/M +Danville/M +Danzig/M +Daoism/SM +dap/SMGDJ +dapagliflozin/M +Daphne/M +daphne/MS +Daphnis/M +dapper/PY +dapperer +dapperest +dapple/DSGM +dapsone/SM +Daqing/M +Dara/M +Darabont/M +Darbishire/M +Darboux/M +Darby/M +Darbyshire/M +Darcy/M +Dardenne/M +Dare/M +dare/RDkGSM +Darebin/M +daredevil/SyM +daredevilry/SM +Darell/M +daren't +Darenth/M +daresay +Daresbury/M +Darfield/M +Darfur/M +Dargate/M +Dargaville/M +Darger/M +Darien/M +daring/P +Dario/M +dariole/SM +Darius/M +Darjeeling/M +dark/PSDTGY +Darke/M +darken/rdS +darkie/SM +darkish Adjective +Darkley/M +darkling/SM +darkly/T +darknet/SM +darkroom/SM +darksome +darky/M +Darlaston/M +Darlene/M +Darley/M +darling/PMS +Darlington/M +Darlton/M +Darmsden/M +darmstadtium/M Noun: uncountable +darn/DRGS +Darnall/M +Darncombe-cum-Langdale/M +darneder +darnedest +darnel/SM +Darnhall/M +darning/SM +Darnley/M +Darowen/M +DARPA/M Defense Advanced Research Projects Agency +Darran/M +Darrell/M +Darren/M +Darrington/M +Darryn/M +Darsham/M +darshan/MS +Darshana/M +dart/MGSRD +dartboard/SM +Dartford/M +Darth/M +Dartington/M +Dartmoor/M +Dartmouth/M +Darton/M +Darussalam/M +Darvel/M +Darwen/M +Darwin/M +Darwinian/SM +Darwinism/SM +Darwinist/SMW +Daryl/M +Dasent/M +dash/GRSDk +Dashamir/M +dashboard/SM +dasheen/SM +dashiki/MS +dashpot/SM +Dashti/M +Dashwood/M +Dassett/M +dassie/MS +dastard/SM +dastardly/P +dasyure/MS +DAT +data/M +databank/SM +database/DMGS +datable Adjective +databus +datacard +datacomms +datacoms +datafile/SM +dataflow/SM +dataglove/SM +datagram/SM +datalogy/M Noun: uncountable +Datamation/M +datary/SM +dataset/SM +datasphere/M +datastore/SM +dataveillance/SM +Datchet/M +Datchworth/M +date/7MGVRSiphD +datedness/e +datelessness/M +dateline/SMDG +dative/SMOY +Datsun/M +datum/MS +Datura Taxonomic genus +datura/MS +daub/DRGS +daube/MS +Daugherty/M +daughter-in-law/M +daughter/YMS +daughterboard/SM +daughtercard/SM +daughterhood/SM +daughters-in-law/M +Daughtry/M +daunt/DGkpS +dauntless/PY +Dauntsey/M +Dauphin/M +dauphin/MS +dauphinois +dauphinoise/M Noun: uncountable +Dauwe/M +Dave/M +Daveluyville/M +Davenham/M +davenport/MS +Davenport/MS +Daventry/M +David/WMS +Davidson/MS +Davidstow/M +Davie/M +Daviess/M +Davington/M +Daviot/M +Davis/M +Davison/M +davit/SM +Davy/SM +dawdle/DRSG +Dawes/M +Dawkins/M +Dawley/M +Dawlish/M +dawn/GDSM +Dawson/M +day-long +day-to-day +Day/M +day/SM +Dayak/MS +dayan/M +dayanim/M +daybed/SM +dayboat/SM +daybook/SM +daybreak/SM +daycare/SM +daydream/SRMDG +Daylesford/M +daylight/GSDM +Dayman/M +daymare/SM +daypack/SM +Dayrell/M +daysack/SM +daysailor/SM +dayside/SM +daystar/SM +daytime/SM +Dayton/M +Daytona/M +daywear/M Noun: uncountable +daywork/SMR +daze/DiSGhM +dazzle/SRGkDM +dB/M +DBE/M +dBi +dBm +DBMS +dBW +DC +DCAS Driver Control Assistance System +DCB +DCM +DCMG +DCVO +DDoS +DDR +DDT +de Part of Latin names +de-anglicise/SGDN +de-brief +de-Christianise/SGDN +de-emphasise/SGD +de-ice/DRGS +de/G +De/M +deacon/SdM +deaconess/SM +deaconship/MS +deactivator/MS +dead-end/SM +dead-heat +dead/PTY +deadbeat/SM +deadbolt/SM +deaden/Sdkr +deadening/M +deadeye/SM +deadhead/SM +deadlight/SM +deadline/MGSD +deadlock/MGSD +deadly/PT +deadpan/SGD +deadstock/M +deadwood/SM +Deaf/M +deaf/PYT +deafen/dkS +deafening/M +Deakins/M +deal-breaker/SM +deal/JRGSM +Deal/M +dealership/MS +dealfish/SM +dealign/DGL +dealmaker/SM +dealmaking/M Noun: uncountable +dealt +deaminase/SM +deaminate/SGDN +Dean/M +dean/MGD +Deane/M +deanery/SM +Deanna/M +Deanshanger/M +deanship/SM +Deanwell/M +dear/TPYZSM +Dearborn/M +Deardorff/M +Dearham/M +dearie/SM +Dearing/M +dearth/SM +deary/SM +deassign/G +Deasy/M +death-dealing +death-knell +death-obsessed +death-or-glory +death-rattle +death-roll +death-trap/MS +death-warrant/MS +death-watch/MS +death-wish/SM +death/pYMS +deathbed/MS +deathblow/MS +deathless/YP +deathlike +deathly/T +deathtrap/SM +deattribute/D +deattribution/SM +deb/SM +Debach/M +débâcle/SM +debacle/SM +debag/SGDJ +debar/L +debark/SnGD +DeBary/M +debase/DLRS +debatable/Z +debate/SGDRM +debauch/yGhSiDR +debauched/P +debauchee/MS +debauchery/SM +Debbie/M +Debbonaire/M +Debby/M +Debden/M +debeak/SGDJ +Debenham/MS +debenture/SM +Debian/M +debilitate/SGnD +debility/SM +debit/d +debonair/PY +debone/SGD +Debono/M +Debora/M +Deborah/M +debouch/DGS +debouchure/SM +debounce/SGD +Debra/M +Debrecen/M +Debrett/M +debride/D +debridement/SM +debrief/JRSGD +debris/M +debt/MS +debtor/SM +debus/GDJ +debusses +Debussy/M +debut/Sd +début/SM +debutant/SM +débutante/MS +debutante/SM +Dec +decade/SMO +decadence/Z +decadency/SM +decadent/SMY +decaf/SM +decaff/SM +decaffeinate/DGS +decagon/MSO +decal/SM +decalcify/SGDNr +decalcomania/SM +decalitre/SM +Decalogue/M +Decameron/M +decametre/SW +decamp/DGL +decanal/M Noun: uncountable +decanoic Adjective +decapitate/DSG +decapitator/MS +decapod/SM +decapsulate/SGDN +decarbonise/SGDNR +decarboxylase/SM +decarboxylate/SGDN +DeCaro/M +decasecond/SM +decastyle/SM +decasyllabic Adjective +decasyllable/MS +decathlete/SM +decathlon/SM +Decatur/M +decay/GDR +Decca/M +Deccan +decease/KSGD +decease/M +decedent/S +deceit/S6jM +deceitful/P +deceivable +deceive/UGDS +deceiver/MS +deceiving/Y +decelerate/nDSG +decelerator/SM +decelerometer/SM +December/SM +decenary/SM +decency/SIM +decennary/SM +decennia/M +decennial/YSM +decennium/SM +decenoic +decent/YI +deception/MS +deceptive/PY +decerebrate +decertify/Gn +Dechmont/M +decibel/MS +decic +decide/DBGVivhNxXuS +decidua/SMO +deciduae/M +decidualisation/M +deciduous/YP +decigram/SM +decigramme/SM +decile/MS +decilitre/MS +decimal/QYqSM +decimate/DSnG +decimetre/MSW +decinary +decipher/dL7rS +decipherability/SM +decipherable/IU +decisecond/SM +decision-making/M Noun: uncountable +decision/DG +decision/IMS +decisive/PIY +decisiveness/IS +Decius/M +deck/DRGSJM +deckchair/SM +Deckelmann/M +deckhand/SM +deckhouse/SM +decking/SM +deckle/MS +decklid/SM +declaim/y +declamation/SM +declamatorily +Declan/M +declarable +declarant/SM +declaration/AM +declarative/SM +declarator/SM +declare/vnRDVGyS +declared/KUA +declared/Y +declass/D +déclassé +déclassée +declassify/DGn +declaw/SGD +declension/SM +declinable Adjective +declinational Adjective +declinatory Adjective +decline/3RGnSD +declinism/M Noun: uncountable +declivitous Adjective +declivity/SM +decloak/SGD +declutch/SGD +declutter/Sd +DECNET +Deco/M +deco/SM +decoct/GD +decoction/MS +decocture/SM +decode/SMB +decoherence/SM +decoherent Adjective +decoke/SGD +decollate/nSGDJ +décolletage/SM +décolleté/SM +décolletée/SM +decolletes +decolonise/SGDn +decolourisation/SM +decolourise/SGDJ +decompaction/SM +decompensated +decompensation +decompilations +decomposability/M +decompose/B +decompress/NXG +decompressor/SM +deconflict/SGD +deconfliction/M Noun: uncountable +decongest/SGD +decongestant/SM +decongestion/SM +deconsecrate/DGSn +deconstruct/SGDV +deconstructionism/SM +deconstructionist/SM +decontaminant/SM +decontaminate/SG +decontextualise/SGDN +decontrol/SGD +decor/SM +décor/SM +decorate/VvGnDSu +decorated/AcU +decorates/cA +decorating/Ac +decoration/ASM +decorative/P +decorator/SM +decorous/IPY +decorticate/DGSn +decorum/SM +decoupage/DGSM +découpage/SM +decoy/GMSD +decrease/k +decree/SMdG +decrement/SDGMO +decrepit +decrepitate/nSGDJ +decrepitude/SM +decrescendo/SM +decrescent +decretal/SM +Decretum/M +decry/J +decrypt/SGD +decryption/M Noun: usually uncountable +decubitus/M +Decuman/M +decumbent +decurrent +decussate/SGDN +dedans +Deddington/M +Dededo/M +Dedekind/M +dedendum/SM +Dedham/M +dedicate/ASnDG +dedicate/h +dedicatee/SM +dedicative +dedicator/MSZ +dedifferentiate/SGD +deduce/DGnbVvSR +deduct/b +deductibility/SM +deductible/SM +deductivism/M Noun: uncountable +deductivist/SM +deduplicate/SGDN +dee/M +deed/SGDM +deejay/GDSM +deem/SDAG +Deems/M +deemster/SM +Deene/M +Deenethorpe/M +deep-discount +deep-freeze/G +deep-fried +deep-frozen +deep-laid +deep-rooted +deep-sea +deep-seated +deep/SYPT~ +Deepdale/M +deepen/dS +deepfake/SM +Deepika/M +Deeping/M +deer/M +Deer/M +Deere/M +Deerfield/M +deergrass/SM +deerhound/SM +Deerhurst/M +deerlike +Deerness/M +deerskin/SM +deerstalker/SM +deerstalking/M Noun: uncountable +Deerwester/M +Dees/M +Deeside/M +def +deface/RL +defalcate/GDSn +defalcator/SM +defame/yRnSGD +defat/SDG +default/RM +defaunation/SM +DEFCON/M Activation and readiness level of the United States armed forces +defcon/M Activation and readiness level of the United States armed forces +defeasance/SM +defeasibility/SM +defeasible/Z +defeat/RG3DM +defeated/UY +defeatism/SM +defecate/SGnD +defecator/MS +defect/GuSDMVv +defection/MS +defective/PSM +defector/SM +defeminise/SDG +defence/Sp +defenceless/YP +defenceman/M +defencemen/M +defend/VuvD +defendant/MS +defenestrate/DSG +defensibility/M Noun: usually uncountable +defensible/IY +defensible/Y +defensive +defer/RGSD +deference/SM +deferent/SM +deferentia +deferential/Y +deferrable +deferral/SM +defervesce/D +defervescence/SM +Defford/M +Defiance/M +defiance/SM +defiant/Y +defibrillate/ND +defibrillator/SM +deficiency/MS +deficient/Y +deficit/SM +defilade/DGMS +defile/DL +definable/UI +definable/Y +define/KSDAG +definer/MS +definienda/M +definiendum/M +definiens/M +definientia/M +definite/YxVuv +definiteness/IS +definition/KAMS +definitive/SP +deflagrate/DGS +deflagration/SM +deflagrator/MS +deflatable +deflate/GnDSr +deflationary +deflationist/SM +deflator/SM +deflect/GSVD +deflection/SM +deflector/MS +deflesh/D +deflexed +deflexion/M +deflocculate/DN +defloration/SM +Defoe/M +defog/R +defoliant/MS +defoliator/SM +DeForest/M +deforest/nG +deform/xnR7G +deformity/SM +DEFRA Department for Environment, Food, and Rural Affairs +defrag/SGD +defragment/GNR +defraud/RGD +defrayable +defrayal/MS +defriend/SGD +defrost/R +deft/PTY +defunct +defund/SGD +defuse +defy/RSkDG +Defynnog/M +deg/SM +degas/JDG +degauss/SGD +Dégelis/M +degeneracy/MS +degenerate/YP +DeGeneres/SM +Degenhardt/M +degradability/SM +degradable +degradative +degrade/hki +degraded/P +degranulate/SGDN +degree/SM +degreed +degressive +Dehaene/M +dehisce/SGD +dehiscence/SM +dehiscent +dehorn/SGDJ +Dehradun/M +dehusk/SGD +dehydrate/SGD +dehydrator/MS +dehydroascorbic +dehydrocholesterol/SM +dehydrogenase/SM +dehydrogenate/SGDn +Dei +deicide/SMO +deictic/SM +Deidre/M +deify/DGnS +Deighton/M +deign/DGS +Deimos/M +deindividuation/M Noun: uncountable +deindustrialise/SGDN +Deiniol/M +deinocheirid/SM +deinonychosaur/SM +Deinotherium +deinstal/S +deinstall/NXRSGD +deinstitutionalise/SGDN +Deion/M +Deiphobus/M +deipnosophist/SM +Deirdre/M +deist/WMS +deistical/Y +Deitch/M +deity/MS +deixis +deja +déjà +deject/GiDhS +dejected/P +dejection/SM +Dejesus/M +DeKalb/M +DeKastere/M +deke/SGDM +Dekker/M +dekko/SM +del +Del/M +Delacroix/M +Delacruz/SM +Delamere/M +delaminate/SGDN +DeLand/M +Delaney/M +Delano/M +delate/SGDn +delator/SM +Delaware/M +Delawarean/SM +delay/MDk +Delbert/M +Delbru/M +dele/DMS +delectable/PSY +delectation/SM +delegable +delegacy/SM +delegitimise/SGDN +deleing/S +delens +delentia +Deleon/M +Delest/M +deletable +delete/DnSGr +deleteable +deleterious/PY +deleverage/SDG +delexical +Delft/M +delft/SM +delftware/SM +Delgado/M +Delhi/M +deli/SM +Delia/M +Delian/SM +deliberate/nSGDPuvYV +deliberative/P +Delibes/M +delicacy/IMS +delicate/IPY +delicate/S +delicatessen/MS +Delichon Taxonomic genus +delicious/PY +delict/SM +delicti corpus delicti +delicto +delight/6jhGiM +delighted/P +delightful/P +delightsome +Delilah/MS +delimit/nd +delimitate/DGS +delineate/SGDnV +delineator/MS +delink/SGD +delinquency/MS +delinquent/YSM +deliquesce/GDS +deliquescence/SM +deliquescent +deliration/SM +deliriant/SM +delirious/PY +delirium/MS +Delium/M +Delius/M +deliver/AdZS +deliverability/M Noun: uncountable +deliverable/SM +deliverance/SM +deliverer/SM +delivery/Mm +Dell/M +dell/SM +Della/M +Delmar/M +Delmarva/M +Delmer/M +delocalise/SGD +DeLonge/M +Delores/M +Deloris/M +Delors/M +Delos/M +Delphi/MW +Delphian/SM +Delphine/M +Delphinium Taxonomic genus +delphinium/SM +Delphinus/M +Delpierre/M +Delpike/M +Delport/M +Delran/M +Delray/M +Delrina/M +Delson/M +Delta/M +delta/SM +Deltacoronavirus Taxonomic genus +deltacoronavirus/SM +deltaic +DeltaRail/M +Delting/M +deltiologist/S +deltiology/M +deltoid/SM +Deltona/M +deltopectoral +delude/vkxSGVDuR +Deluge +deluge/GSD +delusion/SM +delusive/P +delusory +deluxe +delve/RSDG +demagnetiser/SM +demagogue/DySMG +demagoguery/SM +demagogy/1SMW +demand/SGDkR +demangle/SGDR +demantoid/M +Demarais/M +demarcate/SGnD +DeMars/M +Demas/M +demassify/SGDN +dematerialise/SGDN +Dembleby/M +demean/D +demeanour/SM +dement/SM +dementation/M Noun: uncountable +demented/PY +dementia/SM +Demerara/M +demerara/M Noun: uncountable +demerge/SDGR +demeritorious +Demerol/M +demersal/SM +demesne/MS +Demeter/M +Demetrius/M +demi-glace/SM +demi-mondaine/SM +demi-monde/SM +demi-sec/SM +demic +demigod/SM +demigoddess/MS +demijohn/SM +demilitarise/nSGD +demilune/SM +demine/SGDR +demineralise/DGS +Deming/M +demise/DMGS +demisemiquaver/SM +demisexual/SM +demisexuality/SM +demist/DGS +demit/DNSG +demitasse/MS +demiurge/SMWw +demo/SGDM +democracy/SM +democrat/3qQ1WSM +democratic/UY +democratism/M Noun: uncountable +démodé +demodectic +demoded +Demodex Taxonomic genus +demographer/SM +demographic/SM +demography/1WwSM +demoi/M +demoiselle/S +demolish/DSGR +demolition/MS +demon/1SWM +demoness/SM +demoniac/SM +demoniacal/Y +demonifuge/SMW +demonise/SDGN +demonism/M +demonist/SMW +demonkind/M Noun: uncountable +demonolatry/M Noun: usually uncountable +demonology/MSw3 +demonstrability/M +demonstrable/IY +demonstrable/Y +demonstrableness/M Noun: uncountable +demonstrate/uGnVSDv +demonstrative/S +demonstrative/UY +demonstrativeness/MS +demonstrator/SMZ +demonstratorship +demonym/WSM +demophile/SM +demophilism/M +demoralise/n +DeMorgan/M +demoscene/SM +demosponge/SM +Demosthenes/M +Demosthenic +demote/DGW +demotic/SM3 +demotion +demotivate/GN +demount/7 +Dempsey/M +Dempster/M +demulcent/SM +demur/RSDGM +demure/YP +demurrable +demurral/MS +demyelinating +den/ZDSGM +Dena/SM +Denaby/M +Denali/M +denarii/M +denarius/M +denary/SM +denaturalise/SGDN +denaturant/SM +denature/SGDN +denazification +Denbeath/M +Denbigh/M +Denbighshire/M +Denbury/M +Denby/M +Denchworth/M +dendrite/SM +dendritic/Y +dendrochronologist/MS +dendrochronology/wM +dendrogram/SM +dendrology/3wM +Dendron/M +Deneb/M +Denebola Taxonomic genus +Deneio/M +Denford/M +Deng/M +Dengie/M +dengue/SM +Denham/M +Denholm/M +Denholme/M +deniability/SM +deniable/UY +denial/MS3 +denialism/M Noun: usually uncountable +denigrate/nVGSD +denigrator/SMZ +denim/MS +Denis/M +Denise/M +Denison/M +denitrify/SGDN +denizen/dSM +denizenship/MS +Denmark/M +Denmead/M +Denn/M +Dennen/M +Dennett/M +Dennington/M +Dennis/M +Dennistoun/M +Denny/M +denominate/x +denominationalism/M +denotative +denoter/SM +denouement/SM +dénouement/SM +denounce/DLSGR +Denpasar/M +dens/T +dense/FY +denseness/SM +denser/F +densitometer/MWS +densitometry/M +density/SM +Denston/M +Denstone/M +Dent/M +dent/M +dent/SIGD +dental/SY +dentary/SM +dentate +denticity/MS +denticle/SM +denticulate/Dn +dentifrice/MS +dentil/SM +dentine/SM +dentist/MSy +dentistry/MS +dentition/MS +Denton/M +denture/SM +denuclearise/SDG +denude/DRnGS +denunciate/DSGnV +denunciator/MS +denunciatory Adjective +Denver/M +Denville/M +deny/DR7kGS +Denys/M +Denzel/M +Denzin/M +Denzler/M +Deo +deobfuscate/SGD +deodorant/MS +deodorise/nGRSD +Deon/SM +deontology/3wM +Deopham/M +deoxygenate/SGDN +deoxynivalenol/SM +deoxyribonuclease/SM +deoxyribonucleic +depaint/SGD +depart/LG +department/oO +departmentalise/SGDn +departmentalism/M Noun: uncountable +departure/SM +depasturage +depasture/DGS +dépaysé +dépaysée +Depden/M +depend/lGDSBk +dependability/MS +dependable/P +dependence/ISM +dependency/MS +dependent/cI +dependent/SY +Depew/M +dephlogisticated +depict/GSDR +depiction/SM +depigment/SGDN +depilate/DGS +depilation/S +depilator/SM +depilatory/SM +deplete/DGSnV +deplorable/P +deplore/klDGSR +deploy/LD7GS +depoliticisation +depollute/SGD +deponent/SM +deport/nLG +deportee/SM +deposit/AdS +deposit/MS +depositary/MS +depositor/SM +depository/SM +depot/SM +deprave/rGiShDNk +depraved/P +depravity/MS +deprecate/DSnGky +depreciable +depreciate/DnvGkSV +depreciatory +depredator/SMZ +depress/bvkV +depressant/SM +depression/SM +depressive/SM +depressor/MS +depressurise/SGDN +deprive/SGnD +deprotonate/SGD +deprotonation/SM +Dept. +Deptford/M +depth/SM +depthless/Y +depurate/DN +depurative/SM +depurator/SM +depute/SnQGDZ +deputy/SM +dequeueing +der +deracinate/Dn +derail/L +dérailleur/MS +derailleur/SM +derange/L +Derby/M +derby/MS +Derbyshire/M +dereference/R +deregister/Sd +Dereham/M +Derek/M +derelict/SM +dereliction/MS +derepression +derestrict/SGD +derestriction +Derham/M +Derick/M +DeRidder/M +deride/vkVuD +derision/SM +derisive/P +derisory +derivable +derivate/SM +derivational +derivative/MPS +derive/VuvnSGD +dermabrasion/SM +dermal +Dermaptera +dermatitides +dermatitis/MS +dermatoglyphics +dermatology/3SMw +dermatome/SM +dermatomyositis +dermatopathology/M Noun: uncountable +dermatophyte/SMW +dermatophytoses +dermatophytosis/M +dermatoses +dermatosis/M +dermestid/SM +dermis/SM +Dermot/M +derogate/VSGnyD +derogative +derogatory/Y +Derrel/M +Derrick/M +derrick/SDGM +Derrida/M +derrière/SM +derriere/SM +derring-do +derringer/SM +Derris +Derry/M +Derrycrin/M +Derrygonnelly/M +Derryhale/M +Derrykeighan/M +Derrylin/M +Derrymacash/M +Derrymore/M +Derrynaflaw/M +Derrynoose/M +Derrytrasna/M +Derryvore/M +Dersingham/M +derv/M Noun: uncountable +Dervaig/M +Derveni/M +dervish/SM +Dervock/M +Derwen/M +Derwent/M +DES/M +Des/M Short form of the male given name Desmond +Desai/M +desalinate/SnGD +Desbiens/M +Desborough/M +descale/GDSR +descant/SM +Descartes/M +descend/FSGD +descendant/SM +descendent/OSM +descendentalism/M Noun: uncountable +descender/SM +descendeur/SM +descendibility/M Noun: uncountable +descendible +descension/OSM +Deschanel/M +Deschutes/M +describable/I +describe/VvuR +description/SM +descriptive/SP +descriptivism/M Noun: usually uncountable +descriptivist/SMW +descriptor/SMZ +descry/DGS +Desdemona/M +desecrate/SDnGR +desecrator/SM +deseed/SGDR +desegregation's +deselection/SM +desensitise/SGDnr +deserialise/SGDn +Desert/M +desert/RGMDS +desertification/M Noun: uncountable +desertion/MS +Desertmartin/M +desertscape/SM +deserve/Gkih +deserved/UY +deservedness/M +deservingness +desex/SGD +desexualise/DGS +Desford/M +Desha/M +déshabillé/SM +Deshaun/M +desi/SM +desiccant/SM +desiccate/VDGSn +desiccator/SM +desiderata/M +desiderate/SGDn +desiderative/SM +desideratum/M +desideria/M +Desidério/M +desiderium/M +design/DShJ7VxnM +designate/DKGS +designator/SM +Desilu/M +desipramine/M Noun: usually uncountable +desirabilia +desirability/SM +desirability/UM +desirable/PSMZ +desire/BRlD +Desiree/M +desirous/PY +desist/DGS +desk-bound +desk/MS +Deskford/M +deskill/SGD +desktop/SM +desman/SM +Desmond/M +desmosome/SMO +Desna/M +desogestrel/M Noun: uncountable +desolate/YPkGnDSR +desorb/SGD +desorption/M Noun: usually uncountable +DeSoto/M +despair/SkDGR +despatch/GDS +despeckle/SGD +desperado/M +desperadoes +desperate/YPn +despicable/Y +Despina/M +despise/SRGD +despite +despoil/L +despond/M Noun: uncountable +despondence/SMZ +despondency/SM +despondent/Y +despot/1WSM +despotism/MS +dessert/SMZ +dessicate/ND +destain/SGD +Destin/M +destine/nKD +destiny/SM +destitute/P +destitution/SM +destock/SGD +destroy/DR7GS +destruct/bvVuGDS +destructibility/SMI +destructible/I +destruction/MS +destructive/P +destructor/MS +desuetude/MS +desultory/YP +desuperheater/SM +desvenlafaxine/M Noun: uncountable +detach/GRSiLhD7 +detachability/M Noun: usually uncountable +detain/DGSLR +detainee/SM +detect/DGSBVl +detection/MS +detective/MS +detector/SM3 +detemir/M Noun: uncountable +detent/MS +detente/M +détente/SM +detention/MS +detenu/MS +deter/SGD +deterers +detergent/SM +deteriorate/DSnGV +determinability/SM +determinable/IP +determinacy/I +determinant/MS +determinate/IPYN +determination/IMK +determinative/P +determine/uDRBvGVhiS +determined/P +determiner/KMS +determines/KA +determining/KA +determinism/SM +determinist/SMW1 +deterrence/SM +deterrent/YSM +detest/ln7 +detestable/P +Dethick/M +dethrone/LG +detinue/M +Detling/M +detonable +detonate/DVGSn +detonator/SM +detox/MSGD +detoxicate/DGSn +detoxify/GnDS +DETR/M +detract/SDGVv +detransition/SGD +detribalisation/M Noun: uncountable +detribalise/DSG +detriment/SoMO +detrital +detritivore/SM +detritivorous +detritus/M +Detroit/M +Detrol/M +Dettingen/M +Dettmeyer/M +detumescence/M +detunable +Deucalion/M +deuce/DGhMS +Deum/MS +deus +deuteragonist/SM +deuteranopia/SM +deuteride/SM +deuterium/M +Deutero-Isaiah/M +deuterocanonical +deuteron/MS +Deuteronomy/MW3 +deuterostome/SM +deutocerebra/M +deutocerebrum/M +Deutsch/M +Deutschmark/MS +Deutzia +deutzia/SM +deux +Deux-Montagnes/M +Deuxhill/M +dev/SM +devadasi/SM +Devadatta/M +devalorise/SGDN +Devan/M +Devanagari/M +devastate/DSnkVG +devastator/SM +Devauden/M +DeVault/M +devein/SGD +develop/cdAS +developable +developed/Uf +developer/SAM +development/fMS +developmental/Y +deverbal/SM +Devereaux/M +Devereux/M +Deverill/M +Devgn/M +Devi/M +deviance/MSZ +deviancy/SM +deviant/MYS +deviate/nGSDM +deviational +deviationism/M Noun: usually uncountable +deviationist/MS +deviator/MS +device/SM +devil/DLyMGS +Devil/M +devildom/M +devilfish/SM +devilish/PY +devilism/SM +devilry/SM +Devin/M +Devine/M +Deviock/M +devious/YP +Devipuram/M +devisable +devise/GSRJDM +devisee/SM +devisor/SM +devitalise/SGDN +Devizes/M +devkit/SM +Devlin/M +devoid +devoir/MS +devolution/SM +devolutionary Adjective +devolutionist/MS +devolve/SGD +Devon/M +Devonian/SM +Devonport/M +Devonshire/M +Devorah/M +devote/ixh +devotee/SM +devotement/M +devotion/SM +devotional/SM +devour/GSRDk +devout/TYP +dew/ZGSM +dewan/SM +Dewar/SM +dewar/SM +dewater/Sd +Dewayne/M +dewberry/SM +Dewchurch/M +dewclaw/SM +dewdrop/SM +Dewey/M +Dewhirst/M +Dewhurst/M +Dewitt/M +DeWitt/M +dewlap/SM +Dewlish/M +Dewsall/M +Dewsbury/M +dewy-eyed +dewy/PTY +dexamethasone/SM +Dexedrine/M +dexes/I +Dexilant/M +dexmethylphenidate/M Noun: uncountable +Dexter/M +dexter/SM +dexterity/MS +dexterous/PY +Dexthorpe/M +dextral/Y +dextrality/M Noun: uncountable +dextran/SM +dextrin/SM +dextrorotation/SM +dextrorotatory Adjective +dextrose/SM +dextrous/YP +Deyo/M +DFA/SM +DfES +Dhabi/M +Dhaka/M +dhamma/SM +Dharamsala/M +dharma/SM +dharmic Adjective +Dhaulagiri/M +Dhekelia/M +Dhiri/M +DHL/M +dhobi/MS +Dholuo/M +Dhoni/M +dhoti/MS +dhow/SM +DHSS/M Initialism of Department of Health and Social Security +Dhu/M +dhurrie/SM +Di/M +diabase/SM +diabasic Adjective +diabesity/M Noun: uncountable +diabetes/M Noun: uncountable +diabetic/SM +diablerie/SM +diabolic/Y +diabolical/P +diabolise/SGDJ +diabolism/SM +diabolist/SM +diabolo/MS +diacetylene/SM +diachroneity/M Noun: uncountable +diachronic/YP +diachronism/M +diachronistic Adjective +diachronous +diachrony/SM +diaconal +diaconate/SM +Diaconis/M +diacritic/MSY +diacritical/SM +diadelphous +diadem/SMd +diadromous +diaereses +diaeresis/M +Diaghilev/M +diagnometer/SM +diagnosable +diagnose/DGaS +diagnosis/M +diagnostic/SYM +diagnostician/MS +diagonal/tQSY +diagram/RDGMS +diagrammable +diagrammatic/Y +diagrammaticality +diagrid/MS +diakineses +diakinesis/M +dial/RSMGD +dialect/wWSo1MO +dialectic/MS +dialectician/MS +dialectology/w3M +dialogic/O +dialogist/SM +dialogue/SGDRM +dialyse/DGSW +dialysis/M +diam/SM +diamagnetic/SM +diamagnetism/SM +diamanté/SM +Diamantino/M +diameter/SMw1W +diamine/SM +Diamond/M +diamond/MSDG +diamondback/SM +diamorphine/M Noun: uncountable +Dian/M +Diana/M +Diane/M +dianisidine/M Noun: uncountable +Dianne/M +Dianthus +diapason/SM +diapause/SGD +diapedesis/M +diaphanous/PY +diaphone/SM +diaphoresis/M +diaphoretic/SM +diaphragm/MS +diaphragmatic Adjective +diaphyses +diaphysis/M +diapir/SMW +diapirism/SM +diapsid/SM +Diarmaid/M +Diarmid/M +diarrhoea/SMWO +diary/3MS +Dias/M +diaspora/WM +diaspore/SM +diastase/MS +diastasic +diastasis/M +diastatic Adjective +diastole/WSM +Diatessaron/M +diathermy/MS +diatheses +diathesis/M +diatom/MS +diatomaceous +diatomic/SM +diatomite/M +diatonic Adjective +diatreme/SM +diatribe/MS +Díaz/M +Diaz/M +diazepam/SM +diazo/M +dibaryon/SM +dibasic Adjective +dibber/MS +dibble/MGDS +Dibden/M +Dibdin/M +dibenzodioxin/SM +Dibley/M +diborane/M Noun: uncountable +dibs/M +DiCaprio/M +dicarbonyl/SMW +dicarboxyl/MW +dice/DnSGR +dicentric/SM +dicey Adjective +dichasia/M +dichasium/M +dichlamydeous +dichlamydious +dichloride/SM +dichlorodifluoromethane/SM +dichloromethane/SM +dichlorvos/M +dichotomise/SGDn +dichotomous/YP +dichotomy/MSW +dichroic/SM +dichroism/SM +dichromatic Adjective +dichromatism/SM +dicier +diciest +dicing/SM +dick/DGMS +dickens/M +Dickens/M +Dickensian/SM +Dickenson/M +Dickerson/M +dickey/SM +dickhead/SM +Dickinson/M +Dickleburgh/M +Dicks/M +Dickson/M +Dicky/M +dicky/STM +diclofenac/M Noun: uncountable +dicot/SM +dicotyledon/SM +dicotyledonous +dicrotic Adjective +dicta/M +Dictamnus +Dictaphone/MS +dictate/DGSn +dictator/MoS +dictatorial/P +dictatorship/MS +diction/KSM +dictionary/MS +dictu +dictum/SM +dicyclomine/M Noun: uncountable +did/AecU +didache/MS +didactic/SY +didacticism/SM +Didbrook/M +Didcot/M +Diddington/M +diddle/RDSG +Diddlebury/M +diddly/SM +Didem/M +didentate +didentative +Diderot/M +didgeridoo/MS +didicoi/MS +Didling/M +Didlington/M +Didmarton/M +didn't +Dido/M +Didsbury/M +didst +didymium/M Noun: uncountable +die-cast +die-stamping +die/SDGM +dieback/SM +Diederich/M +dieffenbachia/SM +diegeses +diegesis/M +diegetic Adjective +Diego/M +diehard/SM +dieldrin/SM +dielectric/SM +diem Latin: carpe diem +Diemen/M +diencephala/WM +diencephalon/SM +diene/MS +Dieppe/M +diesel-electric/SM +diesel-hydraulic/SM +diesel/SM +dieselpunk/M Noun: uncountable +diestock/SM +diet/MGSRD +dietary/SM +dietetic/SY +diethyl/SM +diethylamide/SM +diethylstilboestrol/M Noun: uncountable +dietician/MS +dietitian/SM +Dietrich/M +Dietz/M +diff/DGSM +diffeomorphic/Y +diffeomorphism/SM +differ/Sd +difference/DG +difference/IMS +different/IY +differentia/M +differentiae/M +differential/MSY +differentiate/SGnBD +differentiator/MS +differentness/SM +differer/S +difficult/YZ +difficulty/MS +diffidence/MS +diffident/Y +Diffie-Hellman/M +Diffie/M +diffract/DGS +diffraction/SM +diffractive/Y +diffractometer/MS +diffuse/PSvYRDGubxV +diffusion/SM +diffusionist/MS +diffusive/P +diffusivity/MS +dig/RSJG +digamma/MS +digastric +Digby/M +digerati/M +digest/SKGD +digester/SM +digestibility/SM +digestible/I +digestif/SM +digestion/MS +digestive/YSP +Diggory/M +digibox +Digibox/SM +digicam/SM +Digimon/M +digipak/SM +digit/qsSQM +digital/Y +digitalin/M +digitalis/SM +digitalise/SGDnR +digitate/YN +digitigrade/MS +dignify/DSG +dignitary/SM +Dignitas/M +dignity/ISM +digoxin/SM +digram/SM +digraph/SM +digress/uvDSGVR +digression/SM +digressive/P +Digswell/M +Digweed/M +dihedral/SM +Dihewyd/M +dihydrate/SM +dihydric +dihydrochloride/SM +Dijkstra/M +Dijon/M +dike/SMGDR +dikkop/MS +diktat/SM +dilapidate/DGSn +dilatable +dilatancy/SM +dilatation/SM +dilate/hiVGnDSy +dilator/MS +dilatory/PY +Dilbert/M +dildo/SM +Dilek/M +dilemma/SM +dilettante/MS +dilettanti/M +dilettantish +dilettantism/MS +Dilham/M +Dilhorne/M +diligence/SM +diligent/YP +dilithium/M Noun: uncountable +dill/YM +Dillard/M +Dillashaw/M +Dillinger/M +Dillingham/M +Dillon/M +dilly-dally/GDS +dillydally/SGD +dilogarithm/SM +dilophosaurus +diltiazem/M Noun: uncountable +Dilton/M +diluent/SM +dilutant/SM +dilute/PYVGDSR +dilution/SM +diluvial +Dilworth/M +Dilwyn/M +dim/rSRPYDTG +DiMaggio/M +Dimas/M +dime/MS +dimension/DGpMoSO +dimensionality/SM +dimercaprol/M Noun: uncountable +dimeric +dimerisation/SM +dimerise/SGD +dimerous +dimesylate/SM +dimeter/MS +dimethyl/M Noun: uncountable +dimethylglyoxime/SM +dimidiate/SGD +diminish/SDG7 +diminuendo/MS +diminution/SM +diminutive/PSMY +dimissory Adjective +dimity/MS +dimmable +dimmish +dimorphic +dimorphism/SM +dimorphous +dimple/YMGDS +dimply/T +dimwit/DMS +Din/M +din/rDRSMdG +Dina/M +Dinah/M +dinar/SM +Dinas/M +Dinckley/M +Dinder/M +dine/S +Dinedor/M +dinette/MS +Ding +ding-dong +ding/zDGZ +dingbat/MS +Dingestow/M +dinghy/MS +dingle/SM +Dingley/M +Dingman/M +dingo/MS +dingoes +Dings/M +Dingwall/M +dingy/TSP +Dinham/M +Dinis/M +dinitrogen/M Noun: uncountable +dinkum +dinky/ST +Dinmont/MS +Dinmore/M +dinnertime/SM +dinnerware/SM +Dinnet/M +Dinnington/M +Dino/SM +dinoflagellate/SM +Dinorwic/M +dinosaur/SM +Dinosauria Taxonomic superorder +Dinsdale/M +dint/MGSD +Dinton-with-Ford/M +Dinton/M +Dinuba/M +dinucleotide/SM +Dinwiddie/M +Dio/M +diocesan/SM +diocese/SM +Diocletian/M +diode/MS +dioecious +dioecy/M +Diogenes/M +Diognetus/M +Diomedes/M +Dione/M +Dionis/M +Dionisopoulos/M +Dionysiac +Dionysian/SM +Dionysus/M +Diophantine/M +Diophantus/M +diopside/SM +dioptre/SM +dioptric/SMOY +diorama/SM +dioramic +diorite/SMW +diose/SM +diosgenin/SM +Diovan/M +dioxalate/M +dioxide/SM +dioxin/SM +dioxygen/M Noun: uncountable +dip/DRGSZ +DipEd +dipeptide/MS +diphase/M +diphasic +diphenhydramine/SM +diphenylamine/SM +diphenylaminechlorarsine/M Noun: uncountable +diphenylchloroarsine/M +diphenylcyanoarsine/M Noun: uncountable +diphosphate/SM +diphtheria/OSM^ +diphtheria/W +diphtheritic +diphtheroid/SM +diphthong/SMO +diphycercal +diphyodont/SM +diplexer/SM +diplobiont/MS +diplobiotic +diplochore/MS +diplochoric/Y +diplochorous +diplochory/M Noun: uncountable +diplodocoid/SM +diplodocus +diplohaplont/M +diploid/SZM +diploma/SDM1W +diplomacy/SM +diplomat/3MS +diplomata/M +diplomatic/MS +diplopia/SM +diplotene/SM +dipluran/SM +dipolar +dipole/SM +dipositronium/SM +dippy/T +dipshit/SM! +dipsomania/SM +dipsomaniac/SMO +dipstick/MS +Diptera Taxonomic order +dipteran/SM +dipterocarp/SM +dipterous +Diptford/M +Dipton/M +diptych/M +diptychs +diquark/SM +Dirac/M +dire/PTj6Y +direct/TxPDGySYV +directed/aUIA +direction/IMaS +direction/p +directional/S +directionality/SM +directive/SM +directivity/M +directly/I +directness/IS +Directoire +director/MAS +directorate/SM +directorship/SM +directory/MSO +directrices +directrix/M +directs/aA +DirectShow/M +DirectX/M +dirge/MSDG +Dirichlet/M +dirigible/SM +dirigisme/SM +dirigiste/SM +dirk/MS +Dirleton/M +dirndl/SM +dirt/zZSM +dirtbag/SM +dirty/TDSGP +dis/M +disable/LGSDR +disabuse/SGD +disaccharide/SM +disadvantage/i +disaffect/SG +disaffirm/SGDN +disafforest/SGDN +disaggregate/SGDN +disagreeable/SM +disallow/DGS +disallowance/SM +disambiguate/SDGn +disambiguator/SM +disappoint/Lhk +disarm/k +disarrange/L +disarticulate/N +disastrous/Y +disband/DGLS +disbar/L +disbelieve/k +disbenefit/SM +disbound +disbud/SGD +disburden +disbursal/SM +disburse/LSGDR +disc/SM +discarnate +discectomy/SM +discern/LbkSGDR +discernable/P +discernibility/M Noun: uncountable +discernible/I +discernible/Y +discernibleness/M Noun: uncountable +disciple/MGDSW +discipleship/SM +disciplinarian/SM +disciplinary/SM +discipline's/I +discipline/GDSMR +discipular +disclaim/7 +disclose/SGD +disclosure/SM +Discman/SM +disco/MG +Discoed/M +discographer/SM +discography/MS +discoid/O^ +discolith/SM +discolorous +discolour/DniGJ +discolourment +discomania/M Noun: uncountable +discomaniac +discombobulate/DN +discomfit/dS +discomfiture/SM +discommendation +discommode/GD +discommodious +discommodity/SM +discompose/D +disconcert/kSDG +disconformity/SM +disconnect/RiG +disconnector/SM +disconsolate/Y +discontiguous +discontinue/nSGD +discordance/MS +discordant/Y +discorporate/D +discothèque/MS +discotheque/SM +discount/RB +discourage/LDGkR +discourse/GO +discover/AdZS +discoverability/SM +discoverer/SM +discovery/MSA +discreet/PIY +discreeter +discreetest +discrepancy/MS +discrepant/Y +discrete/nYP +discretion/IMS +discretion/o +discretionary/Y +discretise/SGDN +discretive/Y +discriminable +discriminant/SM +discriminate/SnDVGky +discriminating/IY +discrimination/MI +discriminator/MS +discus/SMG +discuss/7R +discussant/SM +discussion/SM +disdain/jMDG6S +disdainful/P +diseconomy/SM +disembark/n +disembarrass/DGL +disembody/L +disembowel/LDSG +disempower/LSd +disenchantingly +disendow/SGDL +disenfranchise/DLSG +disengage/L +disentitle/SGD +disentitlement/SM +Diserth/M +disestablishmentarianism/M Noun: uncountable +Diseworth/M +disfellowship/SGDM +disfigure/Ln +disfranchise/L +disfrock/SGD +Disgoed/M +disgorge/SGDR +disgorgement/SM +disgrace/SGDMR +disgruntle/LSDG +disguise/GRDh +disgust/Sk6jhGD +dish/SDMG +dishabille/MS +disharmonious/PY +dishcloth/MS +dishevel/DGLS +Dishforth/M +Dishley/M +dishumour/M Noun: uncountable +dishwasher/SM +dishwashing/SM +dishwater/M Noun: usually uncountable +dishy/T +disillusion/LDG +disincorporate/SGD +disinfectant/SM +disinfest/SGDN +disingenuous +disingenuousness/M Noun: uncountable +disinhibit/SdN +disintegrative +disintegrator/SM +disinterest/i +disinterested/P +disintermediate/SGDN +disinvent/SGD +disinvest/SGD +disinvite/SGD +disinvoltura +disjoin/SGD +disjointedness/S +disjointness +disjunct/SVv +disjunctive/SM +disjuncture/SM +disk/MS +diskette/SM +Diskman/SM +Diskus/M +Disley/M +dislikable +disliker/SM +dislodge/DGLS +dislodgeable +disloyal/3 +dismal/YP +dismantle/LR +dismast/SGD +dismay/DSk +dismember/dL +dismiss/vR +dismissible +dismissiveness +Disney/M +Disneyland/M +disodium/M +disorder/hi +disordered/P +disorderly/P +disowner/SM +disownment/SM +disparage/LRkDSG +disparate/PSY +dispassionate/P +dispatch/R +dispel/DGSR +dispensable/I +dispensary/SM +dispensate +dispensationalism/M Noun: uncountable +dispensationalist/SM +dispense/RyGnDS +dispersal/SM +dispersant/SM +disperse/LVubvDhRGS +dispersion/SM +dispersive/P +dispirit/Sdk +dispirited/Y +display/ADGSM +displease/h +displeasure/MS +disport +disposable/SM +disposal/SM +dispose/KGNISXD +disposition/KMI +disproportion/NO +disproportionality +disproportionate/DGP +disproportionation/M +disproven +Dispur/M +disputable/ZI +disputant/MS +disputatious/YP +dispute/lnRDGS +disquiet/DkM +disquisition/OMS^ +Disraeli/M +disrate/SGD +disregard/6 +disrelish +disrepair/MS +disreputable/P +disrepute/SM +disrobe/SGD +disrupt/uGVSDvR +disruption/SM +disruptor/MS +Diss/M +diss/SGD +dissatisfy/S +dissect/GD +dissection +dissemble/DSRG +disseminate/DSnG +dissension/SM +dissensus +dissent/RGDS +Dissenter/MS +dissentient/SM +dissentious +dissertation/MS +Disserth/M +disservice/S +dissidence/MS +dissident/MS +dissimilar/S +dissimilitude/SM +dissipate/nVRDShiG +dissipated/P +dissociable/I +dissocial +dissociate/VvnSDG +dissociative +dissoluble/I +dissolute/YPS +dissolvable/SM +dissolvableness/M Noun: uncountable +dissolve/AGDS +dissolvent/SM +dissonance/SM +dissonant/Y +dissuade/VDGSR +dissyllable/SM +dissymmetry/SWw +distaff/SM +distal/Y +distance/MGDS +distant/PY +distastefulness/S +distend/SGXN +distensibility/SM +distensible +distil/S7VnGD +distillate/MS +distiller/Z +distillery/MS +distinct/TvPVYu +distinction/MS +distinctive/P +distinctly/I +distinctness/IS +Distington/M +distinguish/S7DlG +distinguishable/IU +distinguishably/I +distort/DRG7 +distortion/MSp +distract/GhikD +distractability/M Noun: uncountable +distracted/P +distractibility/M Noun: uncountable +distractible +distractor/SM +distraint +distrait +distraught/Y +distress/GkD6S +distributable +distributary/SM +distribute/ASVGD +distribution/ASM +distribution/O +distributive/YPS +distributivity/SM +distributor/MS +distributorship/M +District/M +district/SM +distro/SM +disturb/DRkGS +disturbance/SM +disubstituted +disulphide/SM +disunion +disuse/M +disyllable/MW +ditch/DSMGr +Ditchampton/M +Ditcheat/M +Ditchingham/M +Ditchling/M +dither/SdrZ +dithyramb/W +dittany/S +Ditteridge/M +Dittisham/M +ditto/DMGS +dittography/S +Ditton/M +Dittrich/M +ditty/MS +ditz/SM +Diu/M +diuresis/M +diuretic/SM +diurnal/SY +diva/SM +divagate/SDN +divalency/M Noun: uncountable +divalent/S +Divali/M +divalproex/M Noun: uncountable +divan/SM +divaricate/SGDN +dive-bomb/SGDR +dive/RJDTGS +divemaster/SM +diverge/DGS +divergence/MS +divergent/Y +divers/NX +diverse/YP +diversify/SGDnr +diversion/My +diversity/SM +divert/SDG +diverter/SM +diverticula/M +diverticular +diverticulitis/M +diverticulosis/M +diverticulum/M +divertimenti +divertimento/SM +divertissement/SM +divest/SGD +divestiture/SM +divestment +dividable +divide/RuDSGxVXvN +divided/AU +dividend/MS +divides/A +dividing/A +divinatory +Divine +divine/YTDSGnR +divinity/SM +divisibility/IMS +divisible/I +division/A +division/M +divisionist/SM +divisive/P +divisor/MS +divorce/GSMD +divorcé/SM +divorcee/SM +divorcée/SM +divorcement/SM +divot/SM +divulge/DGSn +divulgement +divulgence +divvy/DSMG +DivX/M +divx/M +Diwali/M +diwan/SM +Dixie/M +dixie/SM +Dixieland/M +dixit/S +Dixon/M +Dixton/M +dizygotic +dizygous +dizzy/PTYDSGk +DJ'd +DJ/MSGD +Djakarta/M +djellaba/SM +djellabah/SM +Djibouti/M +djinn/SM +Djokovic/M +DLA/M +DLL/SM +DLR/M +DMA/SM +DMCA/M +dmg +Dmitri/M +Dmitry/M +DMZ/SM +DNA/M +DNase/SM +Dnieper/M +Dniester/M +DNS/M +DNSSEC/M +do-gooder/SM +do-it-yourself +do-or-die +do/7TGJRzy +Doagh/M +DOB/SM +dobbin/MS +Dobbs/M +dobby/SM +Dobcross/M +Dobermann/SM +dobra/SM +Dobrev/M +Dobson/M +Dobwalls/M +doc/RSMDG +Docetism/M +Docetist/MS +docile/Y +docility/SM +dock/MS7 +dockage +Dockenfield/M +Docker/M +Dockery/M +docket/SdM +Docking/M +dockland/MS +Docklow/M +dockside/SM +dockworker/SM +dockyard/SM +DoCoMo/M +docosadienoic +docosahexaenoic +docosanoic +docosapentaenoic +docosatetraenoic +doctor/dSM +doctoral/K +doctorate/SM +Doctorow/M +doctrinaire/SM +doctrine/oMSO +doctrinism/SM +doctrinist/S +docudrama/SM +document/MRDGSnO +documentalist/SM +documentarian/SM +documentarist/SM +documentary/MS +docusate/M Noun: uncountable +docusoap/SM +docx +DOD/M +Dodbrooke/M +Dodcott/M +Dodd/MS +Doddenham/M +dodder/dSZ +Dodderhill/M +Doddinghurst/M +Doddington/M +Doddiscombsleigh/M +doddle/SM +dodecagon/S +dodecahedra/OM +dodecahedron/SM +Dodecanese/M +dodecanoic +dodecaphonic/Y +dodecaphonics/M Noun: uncountable +Dodford/M +Dodge/M +dodge/ZRSDG +dodgem/SM +Dodgson/M +dodgy/T +Dodington/M +Dodleston/M +dodo/MS +Dodoma/M +Dodson/M +Dodwell/M +Doe/M +doe/SM +doek/SM +doeke/M Plural of doek +Doel/M +Doering/M +does/ecUA +doeskin/MS +doesn't +doff/SDG +dog's-tail +dog's/f +dog-biscuit/MS +dog-box +dog-clutch +dog-collar/SM +dog-eared +dog-eat-dog +dog-end +dog-leg/D +dog-paddle/SM +dog-star +dog-tail +dog-tired +dog-tooth +dog/DSMiGZhR +dogate/SM +dogberry/SM +dogdom/M Noun: uncountable +Dogdyke/M +doge/MS +dogfight/GSM +dogfish/MS +dogfood/SGD +dogfought +Dogg/M +dogged/P +Dogger +doggerel/SM +Doggerland/M +Doggett/M +doggie/SM +doggish +doggo/SM +doggy-paddle/M Noun: uncountable +doggy/MSTP +doghouse/MS +dogleg/SGDM +doglike +dogma/1MSW +Dogmaels/M +dogmatise/SGD +dogmatism/SM +dogmatist/MS +Dogmersfield/M +dognap/SDGR +dogology/M +dogs/f +dogsbody/SGM +dogship +dogshore/SM +dogskin/SM +dogsleep +dogstail +dogstones +dogtooth/M +dogtrot/GSDM +dogwatch/SM +Dogwell/M +dogwood/SM +dogy/SM +doh/M +Doha/M +Doherty/M +Dohme/M +DOI/M +doily/SM +doing/MaS +doit/M +dojo/SM +Doka/M +Dolan/M +Dolbeau-Mistassini/M +Dolbenmaen/M +Dolby/M +doldrum/SM +dole/FSGD +dole/M +doleful/PY +dolerite/SM +Dolgarrog/M +Dolgellau/M +dolichocephaly/W +dolina/MS +doline/MS +doll/SDMGY +dollar/SM +Dollard-des-Ormeaux/M +dollarise/SGDN +Dollery/M +Dollie/M +Dollingstown/M +Dollis/M +dollop/dSM +dolly/DGMS +Dolly/M +dolman/SM +dolmen/MS +dolomite/SWM +Dolores/M +dolorous/Y +dolour/MS +dolphin/MS +dolphinaria/M +dolphinarium/SM +Dolphinton/M +Dolske/M +dolt/SM +doltish/PY +Dolton/M +Dolwyddelan/M +Dom/M +domain/MS +Domaine-du-Roy/M +dome/DGMSw +Domenico/M +Domer/M +Domesday +domestic/SnY +domesticable +domesticate/SGD +domesticity/SM +Domett/M +domicile/GSDM +domiciliary/SM +dominance/KSM +dominant/KY +dominant/S +dominate/KNDSG +domination/KM +domination/S +dominative +dominator/MS +dominatrices +dominatrix +dominee/SM +domineer/DkSG +domineering/P +Domingo/M +Dominguez/M +Domini Latin: Anno Domini +Dominic/M +Dominica/M +dominical/Y +Dominican/SM +Dominick/M +dominie/SM +dominion/SM +Dominique/M +domino/M +dominoes +Domitilla/M +don't +Don/M +don/SGnVD +Doña/M +dona/SM +Donagh/M +Donaghadee/M +Donaghcloney/M +Donaghey/M +Donaghmore/M +Donahue/M +Donald/M +Donaldson/M +Donat/MS +donate/DSGn +Donati/M +Donatism/M Noun: uncountable +Donatist/SM +donative/SM +Donato/M +donator/SM +Doncaster/M +done/fUeAcF +donee/SM +Donegal/M +Donegore/M +donepezil/M Noun: uncountable +dong/MGSD +dongle/SM +Donhead/M +Donington/M +Donisthorpe/M +Donizetti/M +donkey/SM +donkeyman/M +donkeymen/M +Donna/M +Donnacona/M +Donne/M +Donnellan/M +Donnelly/M +Donnenberg/M +Donnie/M +Donnington/M +donnish/YP +Donny/M +donor/SM +Donovan/M +Donyatt/M +Donyland/M +Doo +doodah/SM +Doodle +doodle/SRGD +doodlebug/MS +doodly-squat/M Noun: uncountable +doofer/SM +Doohan/M +Dooish/M +doolally +Dooley/M +Doolittle/M +Dooly/M +doom-laden +doom/SDGM +doomsday/MS +doomster/SM +doomwatch/Sr +doomy/RYPT +Doonesbury/M +dooper +door-to-door +door/DmGMS +Door/M +doorbell/SM +doorhandle/SM +doorkeep/R +doorknob/SM +doormaker/SM +doormat/SM +doornail/SM +Doornik/M +doorplate/SM +doorpost/SM +doors/eI +doorstep/DSGM +doorstop/SM +doorway/SM +dooryard/SM +dopa/SM +dopamine/SM +dopaminergic +dopant/SM +dope/R2DMGS +dopey Adjective +dopiaza/SM +doppelganger/MS +doppelgänger/SM +Dopper/MS +Doppler/M +dopy/TY +Dora/MW +Dorado/M +dorado/MS +Doral/M +doramectin/M Noun: uncountable +Dorchester/M +Dordon/M +Dordrecht/M +Dore/M +Doreen/M +Dores/M +Dorian/MS +Doris/M +dork/SM +Dorking/MS +dorky/TP +Dorland/M +Dorling/M +dorm/RMS +dormancy/SM +Dormann/M +Dormansland/M +dormant +dormice/M Plural of dormouse +Dormington/M +dormitory/SM +dormouse/M +Dormston/M +dormy +Dorn/M +Dorney/M +Dornoch/M +Dornock/M +doronicum/SM +Dorothea/M +Dorotheus/M +Dorothy/M +dorp/SM +Dorr/M +Dorrell/M +Dorrington/M +dorsa +dorsal/Y +dorsalis +Dorset/M +Dorsey/M +dorsiflex/SGDN +Dorsington/M +dorsolateral/Y +dorsoventral/Y +Dorstone/M +dorsum/M +Dortmund/M +Dorton/M +Dorval/M +dory/MS +Dory/MS +dos/dSDG +dosage/MS +dose/cSMDG +dosh/M Noun: uncountable +dosha/SM +dosimeter/MS +dosimetry/SM +doss +doss-house/SM +dossal/SM +dosser/SM +dossier/MS +dost +Dostoevsky/M +Dostoyevsky/M +dot-bomb/SM +dot-com/SMR +dot-org/M +dot/M2ZdDkrGS +dotage/MS +dotard/SM +dote/SGDM +doth Archaic, but doesn't cause FPs +Dothan/M +dotriacontanoic +dotterel/SM +dotty/YT +Douay +double-barrelled +double-blind +double-breasted +double-checked +double-click/Sd +double-cross/G +double-dealing +double-decker/SM +double-edged +double-ender +double-glazed +double-headed +double-jointed +double-parked +double-sided +double/SRDGYP +Doubleday/M +doubleheader/MS +doublespeak/SM +doublet/SM +doubletalk +doublethink +doubleton/SM +doubloon/MS +doublure/SM +doubt/MAS7 +doubted/U +doubter/MS +doubtful/YP +doubting/Y +doubtless/PY +Doucette/M +douche/GMSD +douchebag/SM +Doug/M +dough/MZS +doughboy/SM +Dougherty/M +doughnut/GMDS +Doughton/M +doughty/T +doughy/T +Dougie/M +Douglas-Home/M +Douglas/M +Douglass/M +Douglasville/M +Doukhobor/MS +doula/SM +Doulting/M +Dounby/M +Doune/M +dour/PTY +Dourado/M +Douro/M +douse/SGDR +doux +Dove/M +dove/MS~ +dovecot/SM +dovecote/MS +dovelike +Dover/M +Dovercourt/M +Doverdale/M +Doveridge/M +dovetail/MGDS +Dow/M +dowager/MS +Dowally/M +Dowden/M +Dowdeswell/M +Dowding/M +dowdy/PTY +dowel/DSGM +dower/MdSp +dowitcher/SM +Dowlais/M +Dowland/M +Dowles/M +Dowling/M +Dowlish/M +Dowlishwake/M +down-and-out/SM +down-to-earth Adjective +Down/M +down/MGZRSD +downbeat/SM +downburst/SM +downcase/SGD +downcast/SM +downchange/SGD +downcode/SGD +downcomer/SM +downconversion/SM +downconverter/SM +downcourt Adverb +downcurved +downcut/SG +downdraught/MS +downdrift/SM +Downe/M +Downend/M +Downers/M +Downes/M +Downey/M +downfall/SM +downfield +Downfield/M +downfold/SM +downforce/SM +downgrade/SGD +Downham/M +downhaul/SM +Downhead/M +downhearted/PY +downhill/SR +downhole Adjective +Downholland/M +Downholme/M +downie/SM +downily Adverb +downland/SM +Downley/M +downlight/SMRG +downlink/SGDM +download/BGDSMr +downmarket +downmost +Downpatrick/M +downpipe/SM +downplay/DGS Verb +downpour/SM +downrange +downrate/SGD Verb +downregulate/SGDN +downright/YP +downriver +downs +downsample/SGD +downscale/DSG +downshift/SGDM +downside/SM +downslope/SM +downstage/S +downstairs +downstream +downstroke +downswing/MS +Downswood/M +downtempo/M +downthrew +downthrow/S +downthrown +downtime/SM +Downton/M +downtrend/SM +downtrodden +downturn/MSD +downvote/SGD +downward/PYS +downwarp/SGDM +downwash +downwelling/SM +downwind/r +downy/TP +dowry/MS +Dowsby/M +dowse/SDRG +dox/SGD +doxazosin/M Noun: uncountable +Doxey/M +doxology/SM +doxx/SGD +doxy/SM +doxycycline/SM +Doxygen/M +doyen/SM +doyenne/MS +Doyle/M +Doyleston/M +Doylestown/M +Doynton/M +doze/SDGr +dozen/SM +dozenth +dozy/TYP +DPhil Doctor of Philosophy +dpi +Dr +drab/SMYPT +drabble/DGS +dracaena/SM +drachm/SM +drachma/SM +drachmae/M +Draco/M +dracone/SM +draconian Adjective +draconic Adjective +Dracula/M +Dracut/M +draft/cSA +draft/DGMr +draftee/SMD +draftsman/M +draftsmen/M +drag/DMZSGBR +dragging/Y +draggle/DGS +draggy/T +dragline/SM +dragnet/SM +dragon/MS +dragonet/SM +dragonfish/SM +dragonfly/MS +dragoon/MDSG +drain/GRSMD +drainage/SM +draincock/SM +Drainie/M +draining-board/SM +drainpipe/MS +draisine/SM +drake/MS +Drakelow/M +Drakensberg/M +Drakes/M +DRAM/SM +dram/w1SMW +drama/sQqSM +Dramamine/M +dramatics +dramatist/SM +dramaturg/SM3 +dramaturge/SM +dramaturgic/OY +dramaturgy/M Noun: usually uncountable +Drambuie/MS +Drang +drank +drape/RSDGy +Draper/M +Draperstown/M +drapery/SM +Drapier/M +drastic/Y +drat/SDG +draught/zm52SZ +draughtboard/SM +Draughton/M +draughtproof/SGD +draughtsmanship/MS +draughtspeople/M +draughtsperson/M +draughty/TP +Dravidian/SM +draw/J7GRSY +drawback/SM +drawbar/SM +drawbridge/MS +drawcard/SM +drawcord/SM +drawdown/SM +drawee/MS +drawerful/SM +drawing-room/SM +drawing/M +drawl/SGDkR +drawn-out +drawn/ceAI +draws/ecA +drawstring/SM +Drax/M +dray/MSDG +Draycot/M +Draycote/M +Draycott/M +drayman/M +draymen/M +Drayton/M +dread/SM6GDjR +dreadful/P +dreadlocked +dreadlocks +dreadnought/SM +dream/kzRDZpG2MS6~ +dreamboat/MS +dreamcatcher/SM +dreamery/SM +dreamland/SM +dreamless/YP +dreamlet/SM +dreamlike +dreamscape/SM +dreamt +Dreamtime/M +Dreamweaver/M +dreamwork/M Noun: uncountable +dreamworld/SM +dreamy/TP +drear/Zz +dreary/TP +dreck/Z~ +dredge/GRMSD +dreg/SM +Dreghorn/M +Drelincourt/M +drench/GDSR +Drennan/M +Drenthe/M +Dresden/M +Dreser/M +Dresher/M +dress/Z2RSDGJM +dressage/MS +dressed/cAU +dresser/AM +dresses/AUc +dressing/M +dressmaker/SM +dressmaking/MS +dresswear/M Noun: uncountable +dressy/T +drew/Ace +Drew/MS +Drewsteignton/M +Drexel/M +drey/MS +Dreyfuss/M +Drezner/M +drib/SM +dribble/RGDSZM +driblet/SM +Driby/M +Driffield/M +drift/DRGkSM +driftway/SM +driftwood/SM +Drigg/M +Drighlington/M +drill/SGDRM +drilling/M +drillmaster/MS +drillstock/SM +drink-driving +drink/7SGRM +drinkable/SM +Drinkstone/M +Drinns/M +drip-dry +drip/GDMSJp +drippy/T +dripstone/SM +drivability/M Noun: uncountable +drive-in/SM +drive-through/SM +drive/GJRMS +driveable +drivel/RDGS +driveline/SM +driven/P +driverless +driveshaft/SM +drivetrain/SM +driveway/SM +drizzle/GDSMkY +drizzly/T +DRM/M +Drogheda/M +drogue/MS +droid/SM +Droitwich/M +droll/SYTPr +drollery/MS +dromaeosaur/SM +dromaeosaurid/SM +Dromara/M +dromedary/SM +Dromintee/M +dromoi/M Plural of dromos +dromond/SM +Dromore/M +dromos +Dron/M +drone/SGkDMR +Dronfield/M +Drongan/M +drongo/SM +drongoes +drool/DRSG +drooly +droop/SGZDk +droopy/TPY +drop-dead +drop-down +drop-forging +drop-head +drop-in +drop-kick/SGD Verb +drop-out/SM +drop-shot/MS +drop-test/GSDM +drop/DRMJGS +Dropbox/M +drophead/SM +droplet/MS +droplight/SM +dropout/SM +droppable +dropping/M +drops/Zw +dropseed/SM +dropside/SM +dropsy/SM +dropwort/SM +drosera/SM +droshky/SM +Drosnin/M +drosophila/SM +Drosophilidae Taxonomic family +drosophilist/SM +drospirenone/M Noun: uncountable +dross/MS +Drostan/M +Drosten/M +Drottningholm/M +drought/SM +drove/GSDR +Drove/M +drown/GJDSR +drowse/ZGSDM +drowsy/PTY +Droxford/M +drub/RDJGS +drubbing/M +drudge/kyMSDGR +drudgery/SM +drug-free +drug-related +drug/DMGSp +drugger/SM +drugget/SM +druggie/TSM +druggish +druggist/SM +druggy/M +drugster/SM +Druid/M +druid/SM +Druidic/O +Druidion/M +Druidism/SM +drum/RSDGM +Drumaness/M +drumbeat/MSG +Drumbeg/M +Drumblade/M +Drumbo/M +Drumchapel/M +Drumclog/M +Drumelzier/M +Drumgoole/M +drumhead/MS +Drumlaghy/M +drumlin/MS +Drumlough/M +Drummond/M +Drummondville/M +Drummullan/M +Drumnacanvy/M +Drumnadrochit/M +Drumnakilly/M +Drumoak/M +Drumquin/M +Drumraighland/M +Drumshoreland/M +drumstick/SM +Drumsurn/M +drunk/TMSY +drunkard/MS +drunken/PY +Drupal/M +drupe/MS +drupel/SM +drupelet/MS +Drury/M +druse/MS +Drusilla/M +dry-cleaned +dry-cleaning +dry-eyed +Dry/M +dry/YRDTGS~ +dryad/MS +Drybrook/M +Dryden/M +drydown +dryer/SM +Dryfesdale/M +Drylaw/M +dryly +Drymen/M +dryness/SM +Dryopithecus Taxonomic genus +Drypool/M +drystone/SM +drysuit/SM +drywall/GDS +Ds +DSA +DSL/M +DSLR/SM +DSP +dsRNA/SM +DST +DTP +Du/M +dual-purpose +dual/SGD3 +dualise/SGDN +dualism/MS +dualistic/Y +duality/MS +Duane/M +Duarte/M +dub/cDGS +Dubai/M +Dubas/M +dubber/MS +dubbin/SM +dubbing/M +Dubbo/M +Dubé/M +Dubey/M +dubiety/SM +dubious/PY +Dublin/M +Dubliner/MS +dubnium/M Noun: uncountable +Dubois/M +Dubrovnik/M +dubstep/M Noun: uncountable +Dubuque/M +Dubzy/M +ducal Adjective +Ducasse/M +ducat/SM +Duchamp/M +Duchesne/M +duchess/SM +duchesse/SM +Duchouquet/M +duchy/MS +Ducis/M +duck-billed +duck/GDZSMJR +duckbill/SM +duckboard/SM +Duckington/M +duckling/SM +Ducklington/M +Duckmanton/M +duckpin/SM +duckpond/SM +duckwalk/SGDM +duckweed/MS +Duckworth/M +ducky/TSM +duct's/F +duct/CDISGF +duct/Op +ductile +ductility/MS +ductwork/SM +dud/MS~ +Duddingston/M +Duddington-with-Fineshade/M +Duddington/M +Duddon/M +dude/MS +dudeen/MS +dudeism/M +Duders/M +dudgeon/SM +Dudleston/M +Dudley/M +due/MoPS +duel/RMDGJS +duellist/SM +duende/MS +duenna/SM +duet/SDMG +duettist/MS +Dufay/M +duff/GRDSM +duffel/SM +Duffey/M +Duffield/M +duffle/SM +Dufftown/M +Duffus/M +Duffy/M +Dufresne/M +Dufton/M +dug/SM +Dugald/M +Dugan/M +Dugdale/M +Duggan/M +dugong/SM +dugout/SM +duh +Duhonw/M +duiker/MS +Duirinish/M +Duisburg/M +Duke/M +duke/SM +dukedom/MS +Dukes/M +Dukinfield/M +Dulas/M +Dulce/M +dulcet/Y +dulcify/DGSn +dulcimer/SM +Dulcinea/MS +dulcitone/MS +Dulera/M +Dull/M +dull/TDSGYP~ +dullard/MS +Dulles/M +Dullingham/M +Dulnain/M +Duloe/M +duloxetine/M Noun: uncountable +Duluth/M +Dulverton/M +Dulwich/M +duly/U +Dumas/M +Dumat/M +dumb/DTPGY +Dumbarton/M +dumbass/SM +dumbbell/SM +dumbfound/SGDir +Dumbiedykes/M +Dumbleton/M +dumbo/SM +dumbphone/SM +dumbshow/SM +dumbstruck +dumdum/SM +Dumfries/M +Dumfriesshire/M +Dummer/M +dummy/SGDM +Dumont/M +dumortierite/SM +dump/DRGZS +dumpling/MS +dumpsite/SM +dumpster/SM +Dumpty/M +dumpy/PSTY +dun/TDGS +Dunadry/M +Dunbar/M +Dunbarney/M +Dunbartonshire/M +Dunbeath/M +Dunbeg/M +Dunblane/M +Dunbog/M +Duncan/M +Duncansburgh/M +Duncanville/M +dunce/SM +Dunchideock/M +Dunchurch/M +Duncton/M +Dundalk/M +Dundas/M +Dundee/M +dunderhead/SM +Dundon/M +Dundonald/M +Dundonnell/M +Dundreary/M +Dundrod/M +Dundrum/M +Dundry/M +Dundyvan/M +dune/MS +Dunedin/M +Dunfermline/M +Dunford/M +dung/DGSM +Dungan/M +Dungannon/M +dungaree/MS +dungeon/GSMD +Dungey/M +dunghill/SM +Dungiven/M +Dunglison/M +Dunham-on-the-Hill/M +Dunham-on-Trent/M +Dunham/M +Dunholme/M +Dunino/M +Dunipace/M +duniwassal/MS +dunk/GDSRM +Dunkeld-Birnam/M +Dunkeld/M +Dunkerton/M +Dunkeswell/M +Dunkirk/M +Dunklin/M +Dunlap/M +Dunley/M +Dunlichity/M +dunlin/SM +Dunlop/M +Dunloy/M +Dunmore/M +Dunmow/M +Dunmurry/M +Dunn/M +dunnage/M Noun: usually uncountable +Dunnamanagh/M +Dunnamore/M +Dunnaval/M +Dunne/M +Dunnerdale-with-Seathwaite/M +Dunnet/M +Dunnichen/M +Dunnigan/M +Dunnington/M +Dunningworth/M +dunno/M +dunnock/SM +Dunnockshaw/M +Dunnottar/M +dunny/MS +Dunoon/M +Dunphy/M +Dunrossness/M +Duns/M +Dunsby/M +Dunscore/M +Dunsden/M +Dunseverick/M +Dunsfold/M +Dunsford/M +Dunsforth/MS +Dunsmore/M +Dunstable/M +Dunstall/M +Dunstan/M +Dunster/M +Dunston/M +Dunsyre/M +Dunterton/M +Duntisbourne/M +Duntocher/M +Dunton/M +Duntroon/M +dunum/SM +Dunvant/M +Dunwich/M +Dunwoody/M +duo/SM +duodecimal/SY +duodecimo/SM +duodena/Oy +duodenitis/M +duodenum/M +duologue/SM +duology/SM +duomo/SM +duopolistic +duopoly/S3M +duotone/SM +dupable +DuPage/M +Duparquet/M +dupe/RSMGD +dupery/SM +Dupiaza/M +dupion/SM +duple +duplet/SM +duplex/SMDGr +duplexity/SM +duplicability/M Noun: uncountable +duplicable +duplicate/GAnDS +duplicative +duplicator/MS +duplicitous +duplicity/SM +Duplin/M +Dupont/M +duppy/MS +durability/SM +durable/SPY +Duracell/M +Duralumin/M +duralumin/SM +durance/SM +Durand/M +Durango/M +Durant/M +duration/MS +durative +Durban/M +durbar/MS +Durbin/M +durchkomponiert Adjective +Durdle/M +Dürer/M +duress/MS +Durex/M +Durey/M +Durga/M +Durham/M +durian/SM +Durie/M +during +Durisdeer/M +Durkheim/M +Durleigh/M +Durley/M +Durness/M +Durney/M +Durnford/M +Duroc/S +Durocher/SM +Duror/M +Dürr/M +durra/M Noun: uncountable +Durrant/M +Durrell/M +Durrës/M +durrie/SM +Durrington-on-Sea/M +Durrington/M +Durris/M +Dursley/M +durst +Durston/M +durum/MS +Durweston/M +durzi/MS +Duse/M +Dusenberg/M +Dushanbe/M +dusk/GSDM +dusky/PTY +Düsseldorf/M +dust-up +dust/MZGSzRDp +dustbin/SM +dustcart/MS +dustcoat/SM +dustheap/SM +Dustin/M +dusting/SM +dustman/M +dustmen/M +Duston/M +dustpan/MS +dustproof +dusty/TP +Dutch/5m +Dutchess/M +duteous/Y +Duthil/M +dutiful/U +dutifulness/M Noun: usually uncountable +Dutta/M +Dutton/M +duty-bound +duty-free +duty/6jMS7 +duumvir/MS +duumvirate/MS +Duursma/M +Duval/M +Duvalier/M +Duvall/M +Duvauchelle/M +duvet/SM +Duxbury/M +duxes +Duxford/M +DVD+RW/SM Initialism of Digital Versatile Disc - read/writable +DVD-audio/M +DVD-R/SM Initialism of Digital Versatile Disc recordable +DVD-RAM/SM +DVD-ROM/SM +DVD-RW/SM Initialism of Digital Versatile Disc - read/writable +DVD-video/M +DVD/SM +Dvorak/M +Dvorák/M +DVR/SM Initialism of digital video recorder +DVT/SM +dwarf/PDMSG~ +dwarfism/MS +dwarves +Dwayne/M +dwell/DJRGS +dwelling/SM +dwelt +Dwight/M +dwindle/SGD +Dworkin/M +DWP/M +Dwyane/M +Dwyer/M +Dwygyfylchi/M +Dwyriw/M +Dy/M +dyad/SMW +Dyak/MS +dyarchal +dyarchy/MSW +dybbuk/SM +dybbukim/M Plural of dybbuk +Dyce/M +Dyck/M +dye/7GDRJMS +Dyer/M +Dyersburg/M +dyestuff/MS +Dyfan/M +Dyfed-Powys/M +Dyfed/M +Dyffryn/M +dying/U +Dyke/M +dyke/SM +Dylan/M +Dymchurch/M +Dymock/M +dynamic/YSO3 +dynamism/SM +dynamist/MS +dynamite/MGRDS +dynamo/MS +dynamometer/SM +dynast/SM +dynastical/Y +dynasty/SMW +Dyndor/M +dyne/MS +Dyneley/M +Dynes/M +dyno'd +dyno/SGD +dynode/SM +dynorphin/SM +Dyrdek/M +Dyrham/M +Dysart/M +dysarthria/SM +dysentery/MW +Dyserth/M +dysfunction/OoSM +dysfunctionality/SM +dysgenic +dysgerminoma/SM +dysgerminomata/M +dysgraphia/W +dyskinesia/SM +dyslectic/SM +dyslexia/SM +dyslexic/SMY +dysmorphia/SMW +Dysnomia/M +Dyson/M +dyspareunia/M Noun: uncountable +dyspepsia/SM +dyspeptic/SM +dysphagia/MSW +dysphasia/SMW +dysphemism/SM +dysphemistic +dysphonia/SM +dysphoria/SMW +dysplasia/SM +dysplastic +dyspnoea/SMW +dyspraxia/SM +dysprosium/M Noun: uncountable +dysprosocene +dysregulation/SM +dysthymia/MW +dystonia/SMW +dystopia/MSW +dystopian/SM +dystrophy/SMW +dysuria/SM +DZ +dzho/MS +dzo/MS +e +e'en +e'er +e-billing/M Noun: uncountable +e-book/SM +e-business/SM +e-card/SM +e-cash/M Noun: uncountable +e-cigarette/SM +e-commerce/M Noun: uncountable +e-crime/SM +e-criminal/SM +e-dating/M Noun: uncountable +e-edition/SM +e-fit/SM +e-learning/M Noun: uncountable +e-mail/MSGD +e.g. +e.m.f. +ea/SM +each +Eagan/M +eager/MYP +eagerer +eagerest +eagerness/cM +eagle-eyed +Eagle/M +eagle/MSGD +Eaglesfield/M +Eaglesham/M +eaglet/SM +Eakring/M +Ealand/M +Ealdorman/M +Ealham/M +Ealing/M +Eamon/M +Eamonn/M +Eamont/M +EAN/M Initialism of European Article Numbering +eaning/M +ear-piercing/SY +ear-splitting/Y +ear/6SYMDp +earache/MS +earbash/SGD +earbud/SM +Earby/M +Eardington/M +Eardisland/M +Eardisley/M +eardrum/MS +earful/SM +Earhart/M +earhole/SM +Earith/M +earl/2MS +Earl/MS +earldom/SM +Earles/M +Earley/M +Earlham/M +earlobe/SM +earlock/SM +Earlsferry/M +earlship/SM +Earlston/M +Early/M +early/MST~ +Earlybird/M +earmark/GDJSM +earmuff/SM +earn/GRSTDJ +earnest/PY +Earnley/M +Earnshill/M +earphone/MS +earpiece/SM +earplug/SM +earring/SM +Earsdon/M +Earsham/M +earshot/M Noun: usually uncountable +Earswick/M +earth-shattering +earth-year/SM +Earth/M +earth/SMZY2DG +Eartham/M +earthboard/SM +earthbound +earthen +earthenware/MS +earthfall/SM +earthlight/SM +earthling/SM +earthly/PT +earthman/M +earthmen/M +earthmover/SM +earthmoving Adjective +earthnut/SM +earthquake/MS +earthrise/SM +earthscape/SM +earthshaking/Y +earthshine/M Noun: uncountable +earthslip/SM +earthstar/SM +earthward/SY +earthwoman/M +earthwomen/M +earthwork/SM +earthworm/SM +earthy/PT +earwax/M Noun: uncountable +earwig/GSDM +earworm/SM +Easby/M +ease/6 +ease/EDMSG +Easebourne/M +easefulness/M Noun: uncountable +easel/SM +easement/SM +Easenhall/M +easer/SM +easier +easiest +easiness/SM +easing/SM +Easington/M +Easingwold/M +Easley/M +Eassie/M +east-north-east/M +east/GM +East/M +Eastbank/M +eastbound +Eastbourne/M +Eastbridge/M +Eastburn/M +Eastby/M +Eastcheap/M +Eastchester/M +Eastchurch/M +Eastcote/M +Eastcotts/M +EastEnders/M +Easter/YSM +Eastergate/M +Easterhouse/M +easterly/SM +Eastern +eastern/R +easternmost +Eastertide/M +Easterton/M +Eastfield/M +Eastgarston/M +Eastgate/M +Eastham/MS +Easthampstead/M +Easthampton/M +Easthope/M +Easthorpe/M +Eastin/M +easting/SM +Eastington/M +Eastlake/M +Eastland/M +Eastleach/M +Eastleigh/M +Eastling/M +Eastman/M +Eastnor/M +Eastoft/M +Easton-Berry/M +Easton-in-Gordano/M +Easton/M +Eastpointe/M +Eastriggs/M +Eastrington/M +Eastrop/M +Eastry/M +Eastside/M +Easttown/M +Eastville/M +eastward/SY +Eastwell/M +Eastwick/M +Eastwood/M +Eastyn/M +easy/UY +easygoing/P +eat/ScG +eatable/SM +eaten/Uc +eater/cM +eater/SM +eatery/SM +Eathorpe/M +eating/SM +Eatington/M +Eaton-under-Heywood/M +Eaton/M +Eatontown/M +Eau/M +eave/SM +eavesdrop/RDSG +Eavestone/M +Eazy/M +EB/SM +eBay/SGDRM +ebb/GDSM +Ebbe/M +Ebberston/M +Ebbesborne/M +Ebbesbourne/M +Ebbinghaus/M +Ebbw/M +EBCDIC Initialism of Extended Binary-Coded-Decimal Interchange Code +Ebchester/M +Ebdentown/M +Eben/M +Ebenezer/M +Ebenstein/M +Eberhart/M +Eberle/M +Ebernoe/M +Ebert/M +Ebner/M +Ebola/M +ebonite/MS +ebony/SM +Ebrahim/M +Ebright/M +Ebrington/M +ebullience/SM +ebulliency/MS +ebullient/Y +EC/SM +ecash/M Noun: uncountable +ECB/M +ECC/SM +ecce +eccentric/MSYO +eccentricity/SM +Ecchinswell/M +Ecclefechan/M +Eccles/M +Ecclesall/M +Ecclesfield/M +Eccleshall/M +Eccleshill/M +ecclesial/Y +Ecclesiastes/M +ecclesiastic/SMYO +ecclesiasticism/SM +Ecclesiasticus/M +ecclesiology/3w1SM +Ecclesmachan/M +Eccleston-with-Larbreck/M +Eccleston/M +ecdyses +ecdysial +ecdysis/M +ecdysone/SMp +ECG/SM Initialism of electrocardiogram +echelon/dSM +echeveria/MS +echidna/SM +Echinacea Taxonomic superorder +echinacea/SM +echini/M +echinoderm/MS +Echinodermata Taxonomic phylum +echinoid/SM +echinus/SM +Echium Taxonomic genus +echium/SM +Echiura Taxonomic subclass +echiuran/SM +echiurid/SM +echiuroid/SM +echo/1dSM +echo/WAGDRZpM +echocardiogram/SM +echocardiograph/ZWSM +echocardiography/SM +echoes/A +echogenic +echogenicity/SM +echogram/SM +echograph/SM +echolalia/SM +echolocate/SGDn +echovirus/SM +Echt/M +Echuca-Moama/M +Eckard/M +Eckel/M +Eckert/M +Eckford/M +Eckhart/M +Eckington/M +éclair/SM +eclair/SM +eclampsia/M Noun: usually uncountable +éclat/SM +eclectic/SMY +eclecticism/MS +eclipse/SGMDW +eclipsis/M +ecliptic/MSOY +eclogite/SM +eclogue/SM +eclose/SGD +eclosion/SM +ECMAScript/M +eco-friendly Adjective +eco-tax/SM +eco-warrior/SM +ecocentric/O +ecocentrism/M Noun: uncountable +ecocentrist/SM +ecocide/SM +ecoclimate/MS +ecofact/SM +ecofeminism/SM +ecofeminist/SM +ecofreak/SM +ecogeographic/OY +Ecole/M +ecolodge/SM +ecology/wS3M1 +Econ. +econometric/SOY +econometrician/SM +economic/UY +economical/U +economics/M Noun: uncountable +economy/qQs3wWSM1 +ecoregion/SM +ecosphere/SM +ecossaise/SM +ecosystem/MS +ecoterrorism/M Noun: uncountable +ecoterrorist/SM +ecotone/SMO +ecotour/SGDM3 +ecotourism/M Noun: usually uncountable +ecotown/SM +ecotoxicology/w3M +ecotropic +ecotype/SM +ecotypic/OY +ecru/SM +ecstasise/DGS +Ecstasy/M +ecstasy/MS +ecstatic/OYSM +ECT/SM +Ectasian +ectoderm/O^ +ectogenesis/M Noun: uncountable +ectogenetic/Y +ectogenic +ectogenous +ectomorph/SMWZ +ectomycorrhizal +Ecton/M +ectoparasite/SMW +ectopic/SMOY +ectoplasm/SMW +Ectoprocta Taxonomic phylum +Ector/M +ectotherm/SMWZ +ectropion/SM +ECTS/M +ECU/MS +ecu/SM +Ecuador/M +Ecuadoran/SM +Ecuadorean/SM +Ecuadorian/SM +ecumenic/OY +ecumenicalism/M Noun: uncountable +ecumenicality/M Noun: uncountable +ecumenicism/SM +ecumenicist/MS +ecumenicity/M Noun: usually uncountable +ecumenics/M Noun: uncountable +ecumenism/SM +ecumenist/MS +eczema/SM +eczematous +ed. +Ed/M +edacious/Y +edacity/M Noun: uncountable +Edale/M +Edam/M +edaphic/Y +edaphology/M Noun: uncountable +edaphosaurus/SM +Eday/M +Edburton/M +Edda/M +Edderton/M +Eddie/M +Eddington/M +Eddisbury/M +Eddleston/M +Eddrachillis/M +eddy/DGMS +Eddy/M +Ede/M +Edelman/M +Edelstein/M +edelweiss/M Noun: usually uncountable +Eden/MW +Edenaveys/M +Edenbridge/M +Edendale/M +Edenderry/M +Edenfield/M +Edenhall/M +Edenham/M +Edensor/M +Edentata Taxonomic order +edentate/SM +Edenthorpe/M +Edern/M +Ederney/M +Edgar/M +Edgbaston/M +Edgcote/M +Edgcott/M +edge/DZMGRpSJ +Edgecombe/M +Edgecumbe/M +Edgefield/M +Edgerton/M +Edgeware/M +Edgewater/M +edgeways +Edgewood/M +Edgeworth/M +edging/SMY +Edgmond/M +Edgton/M +Edgware/M +edgy/TPY +Ediacara/M +Ediacaran/SM +edibility/SM +edible/PSM +edict/OMSo +edifice/SM +edify/RSnDG +Edina/M +Edinburg/M +Edinburgh/M +Edinburghshire/M +Edingale/M +Edingley/M +Edingthorpe/M +Edington/M +Edinkillie/M +Edison/M +edit/A7dNS +edited/UF +Edith/M +edition/MS +editor-at-large/M +editor/FMS +Editor/M +editorial/s3QSY +editors-at-large/M +editorship/SM +Edlaston/M +Edlesborough/M +Edleston/M +Edlingham/M +Edlington/M +Edmond/M +Edmondbyers/M +Edmonds/M +Edmondsham/M +Edmondthorpe/M +Edmonson/M +Edmonton/M +Edmund/MS +Edmundo/M +Edmundsbury/M +Edmundson/M +Edmundston/M +Edna/M +Ednam/M +Edney/M +Edo/M +Edom/M +Edouard/M +EDP/SM +Edrin/M +Edrom/M +eds/F +Edstone/M +EDT/SM +Eduard/M +Eduarda/M +Eduardo/M +Edubase/M +educ/nxV +educability/SM +educable/SM +educate/DGANS +educated/cfU +educated/Y +educatedness/M Noun: uncountable +education/FSMo +educational/3 +educationist/SM +educator/MS +educe/DG7SnM +edulcorate/DGSn +edutainment/SM +Edvin/M +Edwalton/M +Edward/MS +Edwardian/MS +Edwardstone/M +Edwardsville/M +Edwin/M +Edwina/M +Edwinstowe/M +Edworth/M +Edwy/M +Edwyn/M +Edzell/M +EEA/M +EEC/M +EEG/SM +eel-like +Eel/M +eel/MSZ +eelgrass/SM +eelworm/MS +Eemian +EEOC +EEPROM/SM Electrically erasable programmable read-only memory +Eerdmans/M +eerie/T +eeriness/SM +eery/Y +Efenechtyd/M +efface/LDSGr +effaceable/I +effect/DuGvVSM +effective/IPY +effective/SM +effectiveness/SI +effector/SM +effectual/PIY +effectuate/DGSn +effeminacy/MS +effeminate/SMY +effeminateness/M Noun: uncountable +effendi/SM +efferent/YSM +effervesce/SGD +effervescence/SM +effervescent/Y +effete/PY +efficacious/YIP +efficacy/ISM +efficiency/MIS +efficient/IF +efficiently/I +Effie/M +Effient/M +effigy/SM +effigylike +Effingham/M +effloresce/SGD +efflorescence/SM +efflorescent +effluence/MS +effluent/SM +effluvia/MO +effluvium/M +efflux/SMr +effluxion/SM +effort/SM= +effortful/Y +effortless/YP +effrontery/MS +effulgence/MS +effulgent/Y +effuse/DvuVSGr +effusion/SM +effusive/P +EFI/M Noun: uncountable +Efron/SM +EFT/M +EFTA/M Initialism of European Free Trade Association +eftercast/SM +EGA/M +egad +egalitarian/SM +egalitarianism/SM +Egan/M +Egbert/M +Egdean/M +Egerton/M +Egg/M +egg/SGDMp +eggbeater/SM +Eggborough/M +eggcorn/SM +eggcup/SM +egger/SM +Eggesford/M +eggfruit/SM +egghead/MiDS +Eggimann/M +Eggington/M +Egginton/M +Egglescliffe/M +Eggleston/M +Eggleton/M +eggnog/MS +eggplant/SM +eggshell/MS +eggy/T +Egham/M +Egilsay/M +egirine/SM +egis/SM +eglantine/MS +Eglash/M +Egleton/M +Eglingham/M +Eglinton/M +Eglish/M +Egloshayle/M +Egloskerry/M +Eglwys/M +Eglwysbach/M +Eglwyscummin/M +Eglwysfach/M +Eglwysilan/M +Eglwyswrw/M +Egmanton/M +Egmere/M +Egmont/M +Egnew/M +ego/SM +egocentric/YSM +egocentricity/MS +egocentrism/SM +egoism/MS +egoist/SMWw1 +egomania/SM +egomaniac/SMO +egomaniacally +egosurf/SDGR +egosurfing/M Noun: uncountable +egotism/MS +egotist/WS1Mw +egregious/YP +Egremont/M +egress/DMSG +egressive/SM +egret/SM +Egton/M +Egypt/M +Egyptian/SM +Egyptology/3wSM +eh +Ehrenpreis/M +Ehrenreich/M +Ehresmann/M +Ehrig/M +Ehrlich/M +ehrlichioses +ehrlichiosis/M +Ehrman/M +Ehsan/M +EiB Abbreviation of exbibyte +EiC/M East India Company +Eichmann/M +eicosadienoic +eicosanoic +eicosanoid/SM +eicosapentaenoic +eicosatetraenoic +eicosatrienoic +eicosenoic +Eid/SM +eider/SM +eiderdown/SM +eidetic/Y +eidetics/M Noun: uncountable +eidoi/M +eidola/M Plural of eidolon +eidolon/SM +eidos/M +Eiffel/M +eigenfrequency/SM +eigenfunction/MS +eigenspace/SM +eigenstate/SM +eigenvalue/MS +eigenvector/MS +Eigg/M +eight/HMZS +Eight/M +eighteen/HMS +eighteenmo/MS +eighthly +eightpence/SM +eightsome/MS +eighty-eight/H +eighty-first/SM +eighty-five/H +eighty-four/H +eighty-nine/H +eighty-one +eighty-onefold +eighty-second/SM +eighty-seven/H +eighty-six/H +eighty-three/H +eighty-two +eighty-twofold +eighty/HMS +eightysomething/SM +Eike/M +Eildon/M +Eilean/M +Eileanan/M +Eileen/M +Eilenberg/M +Eindhoven/M +einkorn/SM +Einstein/M +Einsteinian +Einsteinianism/M Noun: uncountable +einsteinium/M Noun: uncountable +Eira/M +Eire/M +Éireann/M +Eisele/M +Eiseley/M +Eisen/M +Eisenhart/M +Eisenhower/M +Eisenstein/M +Eisey/M +Eisheth/M +Eisner/M +eisteddfod/WMS +eisteddfodau/M +Eithaf/M +either +ejaculate/nDGSy +ejaculator/SM +eject/VGSD +ejecta/M +ejectable/SM +ejection/MS +ejectment/SM +ejector/MS +eke/GSDM +Eketahuna/M +EKG/M +ekka/MS +Ekker/M +Ektachrome/M +El +Ela/M +elaborate/PDSGnYV +elaborator/SM +Elagabalus/M +Elah/M +elaidic +Elaine/M +élan/SM +elan/SM +eland/MS +Elanor/M +elapid/SMW +elapse/SGD +Elara/M +elastase/SM +elastic/SMOY +elasticate/SGDn +elasticise/SGD +elasticity/SM +elastin/SM +elastodynamic/Y +elastodynamics/M Noun: uncountable +elastomer/MSW +Elastoplast/SM +elate/iSDGnhR +elated/P +Elba/M +Elbe/M +Elberfeld/M +Elbert/M +Elberton/M +elbow/GSDM +elbowroom/MS +Elbridge/M +Elchies/M +Elcock/M +eld/M Noun: uncountable +Eldene/M +Elder/M +elder/SM +elderberry/SM +elderflower/SM +elderly/SMP +Eldersburg/M +Eldersfield/M +eldership/MS +Elderslea/M +Elderslie/M +eldest +Eldmire/M +Eldon/M +Eldorado/M +Eldredge/M +eldritch/Y +eldritchness/M Noun: uncountable +Elea/M +Eleanor/M +Eleatic/SM +Eleazar/M +elecampane/MS +elect/DAGS7 +electability/SM +election/SM +electioneer/GSDM +elective/PY +elector/SM +electoral/Y3 +electorate/SM +electorship/MS +Electra/M +electress/SM +electret/SM +electric/SY +electrical/SMP +electrician/SM +electricity/MS +electrify/nRDGS +electro-oculogram/SM +electro-oculography/MW +electro-optic/SOY +electro/SM +electroactive +electroactivity/SM +electrobiology/M Noun: uncountable +electrocardiogram/SM +electrocardiograph/MSZ +electrocardiography/SMW1 +electrocatalysis/M Noun: uncountable +electrocatalyst/SM +electrocatalytic/Y +electrocautery/SM +electroceramic/SM +electrochemic/Y +electrochemical/SM +electrochemist/SM +electrochemistry/M Noun: uncountable +electroclash/M Noun: uncountable +electrocoagulation/SM +electroconductive +electroconvulsive/Y +electrocute/SDG +electrocution/SM +electrode/MS +electrodeposition/SM +electrodermal/Y +electrodesiccation/M Noun: usually uncountable +electrodiagnoses +electrodiagnosis/M +electrodiagnostic/SY +electrodynamic/OY +electrodynamics/M Noun: uncountable +electroencephalogram/SM +electroencephalograph/MS3r +electroencephalographic/OY +electroencephalography/MS +electrofulguration/M Noun: uncountable +electrogenerated +electrogenesis/M Noun: usually uncountable +electrolier/MS +electrologic/O +electrologist/SM +electrology/M Noun: uncountable +electroluminescence/M Noun: usually uncountable +electroluminescent +electrolyse/GSDr +electrolysis/M +electrolyte/1SMw +electromagnet/W1MS +electromagnetism/SM +electromatic +electromechanical/Y +electromechanics/M Noun: uncountable +electromedical +electrometer/SM +electrometric/OY +electrometry/M Noun: uncountable +electromigration/SM +electromotive +electromyogram/SM +electromyograph/ZSMWw1 +electron/M1S +electronegative/Y +electronegativity/SM +electronic/SO +electronica/M Noun: uncountable +electronvolt/SM +electrophile/SMW +electrophilicity/MS +electrophonic/Y +electrophorese/SGD +electrophoresis/M +electrophoretic/OY +electrophori/M +electrophorus/SM +electrophotographic/Y +electrophotography/M +electrophysiologic/OY +electrophysiology/M3 +electroplaque/SM +electroplate/SGDMr +electroplax/SM +electroplexy/M +electropolar +electropolarity/M Noun: uncountable +electropolish/SDG +electropollution/M Noun: uncountable +electropop/M Noun: uncountable +electroporate/SGDn +electropositive/SMY +electroreception/M Noun: uncountable +electroreceptor/SMZ +electroretinography/MW +electrorheological/Y +electroscope/SMW +electroshock/MGDS +electroslag/M Noun: uncountable +electrospinning/M Noun: uncountable +electrospray/SM +electrostatic/OY +electrostatics/M Noun: uncountable +electrostimulation/SM +electrostriction/SM +electrosurgery/M Noun: usually uncountable +electrosurgical/Y +electrosyntheses +electrosynthesis/M +electrotactic/Y +electrotaxis/M Noun: uncountable +electrotechnic/OY +electrotechnician/SM +electrotechnics/M Noun: uncountable +electrotechnology/3MSw +electrotherapeutic/O +electrotherapeutics/M Noun: uncountable +electrotherapy/SM3 +electrothermal/Y +electrotype/SDGMRW +electrotypy/M Noun: uncountable +electrovalence/MS +electrovalency/MS +electrovalent +electroweak +electroweakino/SM +electrum/SM +electuary/SM +eleemosynary/SM +elegance/ISM +elegant/IY +elegiac/SMO +elegiacally +elegise/SGDJ +elegy/MS +Eleigh/M +element/SMo +elemental/SM +elementalism/M Noun: uncountable +elementary/YP +Elena/M +elenchi/M Plural of elenchus +elenchus/M +Eleonora/M +eleostearic +elephant/SM +elephantiases +elephantiasis/M +elephantine +elephantoid/SMO +Eleusinian +Eleusis/M +elevate/DSnG +elevational/Y +elevatory +eleven/HMS +Eleven/M +elevens/S +elf/M +Elfed/M +elfin/SM +elfish/Y +elfishness/M Noun: uncountable +Elford/M +ElGamal/M +Elgamal/M +Elgar/M +Elgin/M +Elginshire/M +Elgol/M +Elham/M +Eli/M +Elias/M +Eliburn/M +elicit/dSn +elicitor/SM +Elida/M +elide/SDG +Elidor/M +Elie/M +eligibility/IMS +eligible/SYI +Elijah/M +eliminate/SVnDG +eliminator/MS +Eling/M +Eliot/M +Éliphas/M +Eliphas/M +Elis-Thomas/M +Elisa/M +Elisabeth/M +Elise/M +Eliseg/M +Elisha/M +elision/SMO +elite/S3MP +elitism/MS +elixir/MS +Eliza/M +Elizabeth/M +Elizabethan/SM +Elizabethton/M +Elizabethtown/M +Elizondo/M +Elk/M +elk/MS +Elkanah/M +Elkesley/M +Elkhart/M +Elkhorn/M +elkhound/SM +Elkington/M +Elkins/M +Elkinsia Taxonomic genus +Elko/M +Elksley/M +Elkstone/MS +Elkton/M +ell/SM +Ella/M +ellagic +Elland/M +Ellastone/M +Elle/M +Ellel/M +Ellen/M +Ellenhall/M +Ellensburg/M +Ellenthorpe/M +Ellerbeck/M +Ellerburne/M +Ellerby/M +Ellerker/M +Ellerslie/M +Ellerton-on-Swale/M +Ellerton/M +Ellesborough/M +Ellesmere/M +Ellice/M +Ellicombe/M +Ellicott/M +Ellie/M +Elliman/M +Ellingham/M +Ellingstring/M +Ellington/M +Elliot/M +Elliott/M +ellipse/SMW +ellipsis/M +ellipsoid/OMSo +ellipsometer/MS +ellipsometry/M Noun: uncountable +elliptic/Y +elliptical/SM +ellipticity/SM +Ellis/M +Ellisfield/M +Ellison/M +Ellistown/M +Ellon/M +Ellough/M +Elloughton-cum-Brough/M +Elloughton/M +Ellsworth/M +Ellwood/M +Ellyn/M +Elm/MS +elm/SM +Elma/M +Elman/M +Elmbridge/M +Elmdon/M +Elmer/M +Elmersthorpe/M +Elmesthorpe/M +Elmet/M +Elmfield/M +Elmham/M +Elmhurst/M +Elmira/M +Elmley/M +Elmo/M +Elmore/M +Elmsall/M +Elmsett/M +Elmsford/M +Elmstead/M +Elmsted/M +Elmstone/M +Elmswell/M +Elmton/M +Elmwood/M +elocution/3SMy +elodea/SM +Eloff/M +Elohim/M +Elohist/MS +Eloise/M +Elon/M +elongate/YDSnGh +elongatedness/M Noun: uncountable +elope/LSDGR +eloquence/SM +eloquent/IY +Eloy/M +Elphin/M +Elphinstone/M +Elroy/M +Elsa/M +Elsan/MS +Elsdon/M +else/M +Elsenham/M +Elsevier/M +elsewhere +Elsey/M +Elsfield/M +Elsham/M +Elsie/M +Elsing/M +Elsinore/M +Elslack/M +Elstead/M +Elsted/M +Elsternwick/M +Elston/M +Elstow/M +Elstree/M +Elstronwick/M +Elswick/M +Elsworth/M +Eltham/M +Eltisley/M +Elton-on-the-Hill/M +Elton/M +eluate/SM +elucidate/VDSGn +elucidator/MS +elucidatory Adjective +elude/DuVGvS +elusion/SM +elusive/P +elusory Adjective +elute/SGD +elution/SM +elutriate/SGDn +Elvaston/M +Elveden/M +elven/SM +elver/MS +elves Plural of elf +Elvet/M +Elvetham/M +Elvington/M +Elvira/M +Elvis/M +Elvish/M +elvish/Y +Elwick/M +Elwood/M +Elworthy/M +Ely/M +Elyria/M +Elysée/M +elysian +Elysian/SM +Elysium/M +Elzevir/M +em/DSM +emaciate/SGnD +Emacs/M +email/MDGS +emanate/DnVGS +emancipate/DSnGy +emancipator/SM +emancipist/MS +Emanuel/M +Emanuella/M +emasculate/DSGn +emasculatory +embalm/RGDS +embalmment/SM +embank/GLSDr +embarcadero/SM +embargo/MGD +embargoes +embargoist/SM +embark/EGSAD +embarkation/MSE +embarrass/kLDhSG +embassy/MS +embattle/SGD +embay/SGD +embayment/SM +embed/SMDGJR +embeddable +embeddedness/M Noun: usually uncountable +embedding/SM +embellish/JRLGSDk +ember/SM +Emberton/M +embezzle/DLRSG +embiggen/Sd +Embiid/M +embitter/LdS +emblazon/LSd +emblem/WSM +emblematical/Y +emblematise/SGD +emblematist/SM +emblement/SM +Embleton/M +embodier/SM +embodiment/MS +embody/AEGDS +embolden/dS +emboli/M Plural of embolus +embolise/SGDN +embolism/SM +embolus/M +Emborough/M +embosom/Sd +emboss/GDRSL +embouchure/MS +embower/Sd +embrace/SGDkRM +embraceable +embracive +embrasure/MS +embrittle/SGD +embrittlement/SM +embrocation/MS +embroider/rZdS +embroidery/SM +embroil/DLSG +embryo/SM +embryogenesis/M Noun: usually uncountable +embryogeny/SMW1 +embryology/WS3wM1 +embryonated +embryony/SMW1 +Embsay/M +emcee/MGSD +Emelianenko/M +emend/7nGDSR +emerald-cut +Emerald/M +emerald/MS +emerge/ASGD +emergence/SMZ +emergency/SM +emergent/SMY +emergentism/SM +emergentness/M Noun: uncountable +emerita/M +emeritae/M +emeriti/M +emeritus/SM +emerse/DN +Emerson/MS +Emery/M +emery/MS +Emeryville/M +Emes/M +emeses Plural of emesis +emesis/M +emetic/SM +emetine/M Noun: uncountable +emetophobe/SMW +emetophobia/M Noun: uncountable +EMF/SM +emf/SM +EMI/SM +emigrant/SM +emigrate/nSDG +emigratory +émigré/SM +Emil/M +Émile/M +Emile/M +Emilia/M +Emiliano/M +Emilio/M +Emily/M +Eminem/M +eminence/SM +eminent/Y +emir/SM +emirate/MS +Emirates/M +Emirati/SM +emissary/SM +emission/SM +emissive +emissivity/SM +emit/RSDG +emittance/SM +Emlen/M +Emley/M +Emly/M +Emlyn/M +Emma/M +Emmanuel/M +Emmanuelle/M +Emmaus/M +Emme/M +Emmeline/SM +emmenagogue/SM +Emmental/M +Emmenthal/M +Emmet/M +emmet/SM +Emmett/M +Emmington/M +Emmy/M +Emmys +Emneth/M +emo/SM +emoji/SM +emolliate/SGD +emollience/M Noun: usually uncountable +emollient/SM +emollition/SM +emolument/SM +Emory/M +emote/SMvDxVG +emoticon/SM +emotion/pMSO +emotionalise/SGDn +emotionalism/SM +emotionalist/SM +emotionality/SM +emotionally/Uc +emotivity/M Noun: usually uncountable +empanel/Sd +empath/W1SM +empathetic/YO +empathy/QMWS3 +Empedoclean +Empedocles/M +empennage/SM +emperor/MS +emphases/c +emphasis's/Cc +emphasis/cdACQS +emphasise/CRSGD +emphatic/SMY +emphysema/SM +emphysematous/Y +Empingham/M +empire/wS1MW +empiric/SM3 +empiricism/MS +emplace/LSGD +emplane/GDS +employ/DGLSRBM +employability/M Noun: usually uncountable +employable/US +employed/fUA +employee/SM +employment/fMU +employments/f +empoison/SdJr +Emporia/M +emporia/M Plural of emporium +emporium/MS +empower/LSd +empress/SM +Empshott/M +empt/zVZGSDv2 +emptier/SM +emption/SM +emptor/SM +empty-handed/Y +empty-handedness/M Noun: uncountable +empty-headed +empty-headedness/M Noun: uncountable +empty/SGDTPM +empyreal +empyrean/SM +Emrys/M +Emshwiller/M +Emsley/M +Emsworth/M +emtricitabine/M Noun: uncountable +emu/MS +emulate/nDVGSv +emulator/SM +emulsify/nRSGD +emulsion/SM +en/SM +enable/RDGS +enablement/SM +enact/7DLGS +enaction/M Noun: usually uncountable +enactive/Y +enactment/A +enactor/SM +enalapril/M Noun: uncountable +enamel/GMRDJS +enamelware/MS +enamour/DGS +enamouredness/M Noun: uncountable +enamourment/SM +enanthema/MS +enanthic +enantiomer/SM +enantiomeric/OY +enantiomericity/M Noun: uncountable +enantiomorph/SMW1 +enantiomorphism/M Noun: usually uncountable +enantiomorphous/Y +enarthroses Plural of enarthrosis +enarthrosis/M +Enborne/M +Enbrel/M +enc/SM +Encaenia/SM +encage/SGD +encamp/DLSG +encapsidate/SGDN +encapsulate/SDnG +encase/GDLS +encash/SGLDB +encaustic/SMY +Enceladus/M +encephalic +encephalin/SM +encephalitic +encephalitides Plural of encephalitis +encephalitis/M +encephalogram/SM +encephalograph/SMW +encephalography/SM +encephalon/SM +encephalopathic/O +encephalopathy/MS +enchain/LDGS +enchant/EGLSD +enchant/h +enchanter/MS +enchanting/SMY +enchantingness/M Noun: uncountable +enchantress/MS +enchase/SGDJ +enchilada/MS +enchiridia/M Plural of enchiridion +enchiridion/SM +Encinitas/M +encipher/Sdr +encipherment/SM +encircle/DGSLr +Encke/M +encl +enclasp/DGS +enclaspment/M Noun: uncountable +enclave/MSGD +enclose/DSGr +enclosure/MS +encode/JDRSBGL +encomium/SM +encompass/DGS +encore/DSGM +encounter/SdM +encourage/LDSkGr +encroach/rSDGLk +encrust/nDGSrL +encrypt/GSDr +encryptable +encryption/MS +encumber/ESd +encumbrance/SM +encyclical/SM +encyclopaedia/SMW +encyclopaedist/SM +encyclopedia/SMW +encyclopedism/M Noun: uncountable +encyclopedist/SM +encyst/GLDSn +end-user/SM +End/SM +end/SRpMDJG +endanger/LSdr +endangerable +endangeredness/M Noun: uncountable +endarterectomy/SM +endear/LkDGSr +endearedness/M Noun: usually uncountable +endearingness/M Noun: uncountable +endeavour/RGMDS +endeavourment/M Noun: usually uncountable +Endellion/M +endemic/SMY +endemicity/M Noun: usually uncountable +endemism/M Noun: usually uncountable +Enderby/M +endergonic +endergonicity/SM +Enderlein/M +Enderley/M +endgame/MS +endian/P +Endicott/M +endive/SM +endless/PY +endmost +endnote/SM +endobenthic +endobenthos/M Noun: uncountable +endoblast/SMW +endocardia/OMo +endocardiac +endocarditic +endocarditides +endocarditis/SM +endocardium/SM +endocarp/MSO +endocentric/SMY +endocranial/Y +endocrine/SM +endocrinologic/OY +endocrinology/3SM +endocytoses +endocytosis/M +endocytotic/Y +endoderm/O^ +endodontics/M Noun: uncountable +endogamous/Y +endogamy/M Noun: usually uncountable +endogenesis/M Noun: uncountable +endogenicity/M Noun: uncountable +endogenous/Y +endogeny/MSW +endoglossic +endolith/MSW1 +endoluminal/Y +endolymph/M Noun: usually uncountable +endometria/OMo +endometriosis/M +endometritis/M Noun: usually uncountable +endometrium/M +endomorph/SMW +endomorphism/SM +endomorphy/M Noun: uncountable +Endon/M +endonuclease/SM +endoparasite/SMW +endophora/SMW +endoplasm/SMW +endorphin/SM +endorse/LRDSG +endorsee/SM +endoscope/MSWZ31 +endoscopy/SM +endoskeleta/M +endoskeletal/Y +endoskeleton/SM +endosome/SM +endosperm/SMW +endospore/SM +endosporous +endostylar +endostyle/SM +endosulfan/SM +endosymbiont/SMW +endosymbioses +endosymbiosis/M +endosymbiotic/Y +endothelia/OMo +endotheliochorial +endothelium/M +endotherm/SMOW1 +endothermism/M +endothermy/M Noun: uncountable +endotoxin/SM +endotracheal/Y +endow/GLSDr +endozoochore/MS +endozoochorial +endozoochoric/Y +endozoochorous/Y +endozoochory/M Noun: uncountable +endpaper/SM +endplay/SGDM +endpoint/MS +endue/GSD +endungeon/SGD +endurability/M Noun: uncountable +endurable/Z +endurableness/M Noun: uncountable +endurance/SM +endure/SGklDr +enduring/P +enduro/SM +endways +endwise +Endymion/M +enema/MSW +enemata/M +enemy/MS +enemyship/M Noun: uncountable +energetic/OYS +Energlyn/M +energumen/MS +energy/qSQMs +enervate/GDnVS +enfant/S enfant terrible +enfeeble/LSDGr +Enfield/M +enfilade/SMGD +enfold/DGSL +enforce/RbBLDGhS +enforceability/M Noun: usually uncountable +enforcible +Enford/M +enframe/SGD +enfranchise/DLSGr +eng. +engage/AGESD +engagement/SM +engaging/Y +engagingness/M Noun: uncountable +Engaine/M +Engberg/M +Engel/SM +Engelbart/M +Engelhard/M +Engelmann/M +engender/dS +Engin/M +engine/yDMSGJ +engineer/SDGM +engineering/MY +engineership/MS +engirdle/SGDJ +englacial +England/Mr +Englefield/M +Englewood/M +English-born +English-speaking +English/m5MP +Englishcombe/M +engorge/LDSG +engraft/SGDJL +engrailed +engrain/DGS +engram/SM +engrammatic +engrave/GRDJS +engross/LDSGhkr +engulf/LGDS +Enham/M +enhance/GRLDS +enhanceable +enharmonic/OY +enharmonicism/M Noun: uncountable +Enheduanna/M +ENIAC/M +Enid/M +enigma/1MWSw +Enigmail/M +enigmatise/SGD +enigmatist/SM +enigmatography/M Noun: uncountable +enisle/DGS +Eniwetok/M +enjambement/SM +enjambment/MS +enjoin/SDGr +enjoinder/SM +enjoy/rGLBSDl +enjoyable/P +enkephalin/SM +enkindle/DGSr +enlace/DGSL +enlarge/RLDSG +enlargeable +enlighten/dSLr +enlist/AGDS +enlistee/SM +enlister/SM +enlistment/SM +enliven/LSd +enmesh/LDSG +enmity/SM +Enmore/M +ennead/MS +Enner/M +Ennerdale/M +Ennis/M +Enniskillen/M +ennoble/LDSGr +ennui/MS +Enoch/M +enochlophobia/M Noun: uncountable +Enoder/M +enormity/SM +enormous/PY +enosis/M +enough +enounce/DGS +enplane/SGDJ +enprint/SM +enqueue/SGD +enqueueing +enquire/GZSDRk +enquiry/SM +enrage/DSG +enrapture/GDS +enrich/GSDLr +Enrico/M +enrobe/SGD +enrol/LDRSG +enrollee/MS +Enron/M +enroot/SGD +Ensay/M +Enschede/M +ensconce/DSGL +ensemble/MS +enshrine/GDLS +enshroud/SDGL +ensiform +ensign/SM +ensigncy/MS +ensilage/SMGD +ensile/DGS +enslave/RGLSD +ensnare/SDLG +Enson/M +Ensor/M +ensoul/SGDL +enstasy +enstatic +enstatite/SM +Enstone/M +ensue/SDG +ensure/DRGS +enswathe/DGSL +entablature/SM +entablement/MS +entail/DRLSG +entangle/EDLSGr +entases +entasis/M +entelechy/SM +entellus/M +entendre/MS +entente/MS +entepicondyle/SM +enter/AdS +enterable +enteral/Y +enterer/MS +enteric/Y +enteritides Plural of enteritis +enteritis/MS +Enterobacterales Taxonomic order +enterobacteria/MO +Enterobacteriaceae Taxonomic family +enterobacterium/M +enterocele/SM +enterococci/M +enterococcus/M +enterocyte/SM +enterohepatic/Y +enterokinase/SM +enteropneust/SM +enterostomy/MS +enterotomy/SM +enteroviral +enterovirus/SM +Enterprise/M +enterprise/RSGDMk +entertain/GRLSkD +enthalpy/MS +entheogen/SMW +enthral/GDLSR +enthrone/DLGSr +enthronisation/MS +enthuse/SDG +enthusiasm/SM +enthusiast/SWM1 +enthusiastic/UY +enthymeme/SM +entice/SRLkJGD +entire/Y +entireness/M Noun: uncountable +entirety/SM +entitative/Y +entitle/SDLG +entity/SM +entoconid/SM +entocristid/SM +entoflexid/SM +entomb/DLGSr +entomofauna/SMO +entomofaunae/M +entomology/3Mw +entomophagous +entomophagy/3M +entomophilous +entomophily/M Noun: uncountable +entoparasite/SM +entoproct/SM +Entoprocta Taxonomic phylum +entourage/MS +entr'acte/SM +entrailed +entrails +entrain/DGLSr +entrammel/DSG +entrance/LMSGDkr +entranceway/SM +entrant/SM +entrap/LGSD +entre entre nous +entreat/kSGDL +entreaty/MS +entrechat/SM +entrecôte/SM +entrée/SM +entremets/M +entrench/LDSGr +entrepôt/SM +entrepreneur/MS +entrepreneurial/Y +entrepreneurialism/SM +entrepreneurship/SM +entresol/SM +entropia/M +entropion/M +entropy/WSM1 +entropyless +entrust/LDGS +entrustee/SM +entry/AS +entry/M +entryphone/SM +entryway/SM +entwine/SDGL +enucleate/SDGn +enum/SM +Enumclaw/M +enumerable +enumerate/VnGDS +enumerator/SM +enunciable +enunciate/GSnD +enunciative/Y +enunciator/MS +enure/DSG +enureses +enuresis/M +enuretic/MS +envelop/LrdS +envelope/SM +envenom/dS +enviable/P +Enville/M +envious/PY +environ/LdSO +environment/SMo +environmental/3 +environmentalism/MS +envisage/SGDLr +envision/GSDLr +envoi/MS +envoy/MS +envy/MRS7lDkG +enwrap/SGDL +enwreathe/SGDJ +Enzed/MS +Enzedder/MS +Enzie/M +Enzler/M +Enzo/M +enzootic/SM +enzymatic/OY +enzyme/SM +enzymic/Y +enzymology/M Noun: usually uncountable +Eoarchean +Eocene/M +eohippi/M +eohippus/SM +EOL/SM +eolith/SMW +eonian +eonothem/SM +eosin/SM +eosinophil/SMW +eosinophilia/SM +EP/SM +EPA/SM +epact/MS +Epaphras/M +Epaphroditus/M +eparch/M +eparchs +eparchy/SM +epaulette/MS +epaxial/SM +epeirogenesis/M Noun: uncountable +epeirogeny/MW1 +ependyma/SMO +epentheses +epenthesis/M +epenthetic/OY +epergne/MS +epexegeses +epexegesis/M +epexegetic/OY +ephebe/MS +ephebophile/SM +ephebophilia/M Noun: uncountable +ephedra/MS +ephedrine/SM +ephemera/SMo +ephemeral/SM +ephemerality/SM +ephemerides +ephemeris/SM +ephemerist/SM +ephemeron/MS +Ephesian/SM +Ephesus/M +ephod/MS +ephor/MS +ephorate/MS +Ephraim/M +Ephrata/M +epibenthic/Y +epibenthos/M Noun: uncountable +epibiont/SM +epibiotic/Y +epiblast/MSW +epic/YSMO +epicardia/MOo +epicardiac +epicardium/M +epicarp/MS +epicedia/MO +epicedian/SM +epicedium/M +epicene/SM +epicentre/MSO +epicleses Plural of epiclesis +epiclesis/M +epicondylar +epicondyle/SM +epicontinental +epicotyl/SM +Epictetus/M +epicure/MS +Epicurean/MS +epicurean/SM +Epicureanism/M Noun: usually uncountable +epicurism/MS +Epicurus/M +epicycle/Ww1MS +epicycloid/MOS^ +Epidaurus/M +epideictic/OY +epidemic/MYS +epidemiology/WSM31w +epidermal/Y +epidermic/OY +epidermis/SM +epidermoid/SM +epidiascope/SM +epididymides Plural of epididymis +epididymis/SM +epidote/WSM +epidural/SM +epifauna/O^ +epifluorescence/SM +epigastria/WOM +epigastrium/M +epigeal +epigene +epigenetic/SY3 +epiglottal/SM +epiglottic +epiglottis/SM +epigone/MS +epigoni/MW +epigonism/M Noun: usually uncountable +epigram/MS +epigrammatic/OY +epigrammatist/MS +epigraph/wSMZr +epigraphy/31WSM +epilate/SGDn +epilator/SM +epilepsy/SM +epileptic/SMOY +epilithic/Y +epilithon/M +epilogue/MGDS +epimedium/SM +epimer/SMW +epimerism/M +Epimetheus/M +epimorphic +epimorphicity/M Noun: uncountable +epimorphism/SM +epimutation/SMO +epinephrine/SM +epinician/SM +epiotic/SM +Epipalaeolithic +epipelagic/Y +Epiphany/M +epiphany/MSW +epiphenomena/MOo +epiphenomenon/SM +epiphyseal +epiphyses Plural of epiphysis +epiphysis/M +epiphytal +epiphyte/SM +epiphytic/SMOY +epiphyton/M Noun: uncountable +Epirus/M +episcopacy/SM +Episcopal +episcopal/Y +Episcopalian/SM +episcopalian/SM +episcopalianism/M +episcopalism/M +episcopate/SM +episcope/SM +Episcopi/M +episematic +episiotomy/SM +Episkopi/M +episode/MS1Ww +epistases +epistasis/M +epistatai/M +epistates +epistatic/SM +epistaxes +epistaxis/M +epistemai/M +episteme/SM +epistemic/Y3 +epistemicism/M Noun: uncountable +epistemics/M Noun: uncountable +epistemology/1wSM3 +Epistle/MS +epistle/SM +epistolary/SM +epistoler/MS +epistrophe/SM +epistyle/SM +epitaph/MSr3Z +epitaxy/SMoO +epithelia/OoM +epitheliochorial +epithelium/SM +epithet/SWM +epithetical/Y +epitome/sqQMS +epitomic/OY +epitomist/SM +epitope/SM +epizoa/1MW +epizoite/SM +epizoochore/1SMW +epizoochorous +epizoochory/M Noun: uncountable +epizoon/SM +epizootic/SM +eplerenone/M Noun: uncountable +EPLP/M +Epney/M +epoch/oMO +epochs +epode/SM +Epogen/M +eponym/SMW +eponymous/Y +epoxide/SM +epoxy/DSGM +Epperstone/M +Epping/M +Eppleby/M +eprinomectin/M Noun: uncountable +EPROM/SM +epsilon/MS +Epsom/M +Epstein/M +Epuni/M +Epwell/M +Epworth/M +epyllia/M Plural of epyllion +epyllion/SM +EQ/SM +equability/MS +equable/YP +equal/sQDGYqS +equalise/DGJ +equalitarian/SM +equalitarianism/M Noun: usually uncountable +equality/IMS +equally/UF +equanimity/MS +equanimous/Y +equatable +equate/DGBSnM +equational/Y +equative/SMY +equator/SM +equatorial/SMY +equerry/SM +equestrian/SM +equestrianism/SM +equestrienne/MS +equiangular/Y +equidistance/M +equidistant/Y +equifinal +equifinality/M Noun: uncountable +equilateral/SMY +equilibrate/DSGn +equilibrator/SM +equilibria/MO +equilibrious +equilibrist/SM +equilibristic/S +equilibrium/ESM +equine/SM +equinoctial/SMY +equinox/MS +equip/LDSG +equipage/SM +equipartition/MDO +equipoise/MSDG +equipollence/SM +equipollency/M Noun: uncountable +equipollent/SMY +equipotent/Y +equipotential/SMY +equipped/UA +equiprobability/SM +equiprobable +equiproportional/Y +equiproportionality/M Noun: uncountable +equiproportionate +Equisetopsida Taxonomic class +equispace/SGD +equitability/M +equitable/PY +equitation/MS +equity/MSI +equiv +equivalence/GDSM +equivalency/MS +equivalent/YSM +equivocacy/SM +equivocal/UY +equivocality/MS +equivocalness/MS +equivocate/GDSn +equivocator/SMZ +equivoke/SM +equivoque/SM +Equuleus/M +Equus Taxonomic genus +er/ae +era/MS +eradicable +eradicate/VSDGn +eradicator/SM +eras/7g +erase/NDRLSG +Erasmus/M +Erastian/SM +Erastianism/M +Erastus/M +erasure/SM +erat +Erath/M +erathem/SM +Eratosthenes/M +Eratosthenian +Erbistock/M +Erbitux/M +erbium/SM +erbocene +Ercall/M +Erchless/M +Erck/M +Erdmann/M +ere +Erebus/M +erect/DA +erect/GSYr +erectile +erection/SM +erectness/SM +erector/MS +erectus Noun: uncountable +eremite/WMSw +eremurus/SM +erethism/SMW +Erewash/M +erewhile +Erfurt/M +erg/SM +Erganagh/M +Ergham/M +ergo/SM +ergocalciferol/SM +ergodic/Y +ergodicity/SM +ergonomic/SOY +ergonomist/MS +ergophobia/M Noun: uncountable +ergosphere/SM +ergospheric/O +ergosterol/MS +ergot/MS +ergotism/SM +Erhard/M +Eric/M +Erica/M +Erich/M +Erickson/M +Ericsson/M +Eridanus/M +Erie/M +erigeron/SM +Erik/M +Erika/M +Eriksson/M +Erin/M +Erinyes +Erinys/M +Eris/M +Eriskay/M +eristic/MSOY +Eriswell/M +Erith/M +Eritrea/M +Eritrean/SM +erk/SM +Erketu Taxonomic genus +Erlang/M +Erlangen/M +Erlanger/M +Erlenmeyer/M +Erlestoke/M +Erliansaurus Taxonomic genus +Erlikosaurus Taxonomic genus +erm +ERM/SM +Erme/M +ermine/SDM +Ermington/M +Ernan/M +erne/SM +Ernest/M +Ernestine/M +Ernesto/M +Erney/M +Ernie/MS +Ernle/M +Ernst/M +erode/VDuGxSb +erogenous +erogenousness/M Noun: uncountable +Eros/M +erosible +erosion/SM +erosive/YP +erosivity/SM +erotic/YSM +erotica/M Noun: uncountable +eroticise/SGDn +eroticism/SM +erotism/SM +erotogenic +erotogenous +erotology/M Noun: uncountable +erotomania/M Noun: usually uncountable +erotomaniac/SM +Erpingham/M +err/DkSG +errancy/SM +errand/SM +errant/YSM +errantry/M Noun: usually uncountable +errata/SWM1 +erratic/SMOY +erraticalness/M Noun: uncountable +erraticism/SM +erratum/MS +Erriapus/M A moon of Saturn +erring/UY +Erringden/M +Errol/M +erroneous/PY +error/MSp +ersatz/SM +Erse/M +Erskine/M +Ersoy/M +erst +erstwhile +Erth/M +erubescent +erucic +eructation/MS +erudite/SMY +eruditeness/M Noun: uncountable +erudition/SM +erupt/DVGSv +eruption/MS +Ervan/M +Ervie/M +Ervin/M +Erving/M +Erwarton/M +Erwin/M +Erwood/M +Erxleben/M +Eryholme/M +eryngo/SM +eryngoes +erysipelas/SM +erythema/O^ +erythema/W +erythematosus +erythematous/Y +erythrism/SMO +erythritol/SM +erythroblast/SM +erythrocyte/SM +erythromycin/SM +Es/M +ESA/M +eSATA/M +eSATAp/M +Esau/M +ESC/SM +escabeche/SM +escadrille/SM +escalade/SM +escalate/CDGnS +escalator/MS +Escallonia Taxonomic genus +escallonia/SM +escallop/SMd +escalope/MS +Escambia/M +Escamilla/M +Escanaba/M +escapable/I +escapade/MS +escape/3SMDLGr +escapee/SM +escapism/MS +escapology/M3w +escargot/SM +escarp/MS +escarpment/SM +Escaut/M +eschatology/SM3w +eschaton/M Noun: uncountable +escheat/SGDML +Escher/M +Escherichia Taxonomic genus +eschew/GDS +eschewal/SM +eschscholtzia/SM +escitalopram/M Noun: uncountable +Escley/M +Esclusham/M +Escomb/M +Escondido/M +Escorial/M +escort/SGMD +Escrick/M +escritoire/MS +escrow/SDMG +escudo/MS +esculent/MS +escutcheon/DSM +Esdras/M +Esh/M +Esher/M +Eshton/M +Esk/M +Eskdale/M +Eskdalemuir/M +Eskdaleside/M +esker/SM +Eskimo/SM +Eskisehir/M +Eskley/M +Eskra/M +Eskridge/M +Eslick/M +Esmeralda/M +Esmond/M +esomeprazole/M Noun: uncountable +esoteric/SMOY +esoterica/M +esotericism/SM +esotericist/SM +esp/Z +espadrille/MS +Espagnol/M +espalier/SDGM +Española/M +esparto/SM +especial/Y +Esperança/M +Esperance/M +Esperantist/SM +Esperanto/M +espial/SM +espionage/SM +esplanade/MS +Espoo/M +Esposito/M +espousal/MS +espouse/GDRSL +espresso/SM +esprit/MS +espy/DGS +Esquimalt/M +Esquimau/M +Esquimaux/M +Esquire/M +esquire/SM +ESR/M +essay/DRMG3S +essayistic/OY +esse/SM +Essen/M +essence/MS +Essendine/M +Essendon/M +Essene/MS +essential/P3SMY +essentialism/SM +essentiality/SM +Essex/M +Essington/M +est/R +establish/ELDGSA +establisher/SM +establishmentarian/SM +establishmentarianism/M Noun: uncountable +Estaires/M +estaminet/SM +estate/SM +Estates/M +Esteban/SM +esteem/EDGS +Estella/M +Estelle/M +Esteller/M +Ester/M +esterase/SM +Estérel/M +Esterházy/M +esterification/SM +esterify/DGS +Estes/M +Estevan/M +Esteves/M +Estevez/M +Esther/M +Estill/M +estimable/P +estimate/cGfASND +estimation/MSc +estimative +estimator/SM +Eston/M +Estonia/M +Estonian/SM +estop/DGS +estoppage/MS +estoppel/SM +Estoril/M +estovers +Estrada/SM +estradiol/SM +estral +estrange/DGLSr +estreat/DGMS +Estremadura/M +Estrie/M +estuarine +estuary/OMSo +Eswatini/M +et +ET/SM +eta +Eta/M +ETA/SM +etalon/SM +etc. +etcetera/MS +etch/RGSDJM +etchant/SM +Etchilhampton/M +Etchingham/M +eternal/PY +eternalise/SGD +eternality/M Noun: uncountable +eternity/SM +Etesian +etexilate/M +Ethan/M +ethane/M Noun: usually uncountable +ethanoic +ethanol/SMW +ethe/M +ethea/M +Ethel/M +Ethelbert/M +Ethelburga/M +Etheldred/M +Etheldreda/M +Ethelred/M +ethene/SM +ether/OMSWo +ethereal/PY +ethereality/MS +Ethereum/SM +etheriality/MS +Etherington/M +etherise/SGDn +Etherley/M +Ethernet/MS +Etherpad/M +ethic/3MSY +ethical/UY +ethicality/SM +ethicalness/M Noun: uncountable +ethidium/M Noun: uncountable +ethinyl/SM +Ethiopia/M +Ethiopian/SM +Ethiopic/MS +ethmoid/SMO +ethmoturbinal/SM +ethnarch/M +ethnarchs +ethnarchy/MS +ethnic/SMY +ethnicity/SM +ethnoarchaeology/3w1M +ethnobiology/Mw3 Noun: uncountable +ethnobotanic/OY +ethnobotany/3M +ethnocentric/Y +ethnocentricity/MS +ethnocentrism/SM +ethnocide/SM +ethnoecology/Mw3 +ethnogeneses +ethnogenesis/M +ethnographer/SM +ethnography/WMSw1 +ethnohistorian/SM +ethnohistory/WwSM +ethnolinguist/SM +ethnolinguistics +ethnology/W3SwM1 +ethnomedicine/SM +ethnomethodology/3w1SM +ethnomusicology/Ww13M +ethnonationalism/SM +ethnonationalist/SM +ethnonym/SM +ethnopharmacology/3Mw1 +ethnophaulism/SM +ethnopoetics +ethnopsychology/wM3 +ethnoscience/SM +ethnosemantic/SY +ethnozoology/M Noun: uncountable +ethogram/SM +ethography/M Noun: uncountable +ethology/3w1MSW +ethos/SM +ethosuximide/M Noun: uncountable +ethoxide/SM +ethoxy/SM +ethoxyde/SM +ethoxyl/SM +ethoxylate/SMDn +ethoxys +ethyl/MS +ethylbenzene/SM +ethylbenzenehydroperoxide/M Noun: uncountable +ethylene/MSW +ethylenediamine/M Noun: uncountable +ethylic +Étienne/M +etiolate/DGSn +etiquette/SM +Etive/M +Etna/M +Eton/M +Etonian/SM +Etowah/M +Etruria/M +Etrurian/SM +Etruscan/SM +Etruscology/3Mw +ETSI/M Initialism of European Telecommunication Standards Institute +Ettinger/M +Ettington/M +Etton/M +Ettore/M +Ettrick/M +Etwall/M +etyma/M Plural of etymon +etymologer/MS +etymologise/DGS +etymology/wMS13W +etymon/SMW1 +Eu +EU/M +Euan/M +Euarchontoglires Taxonomic superorder +eubacteria/MO +eubacterium/M +Euboea/M +Euboean/SM +eucalypt/MSW +eucalypti/M +eucalyptus/SM +eucatastrophe/SMW1 +Eucharist/MWSw1 +euchologia/M Plural of euchologion +euchologion/SM +euchology/SMw +euchre/MSGD +euchromatic/Y +euchromatin/SMW +Euclid/M +euclidean +Euclidean +Euclideanness/M Noun: uncountable +eudicot/SM +eudiometry/M Noun: uncountable +Eudora/M +Eudoxus/M +Eufaula/M +Eugene/M +Eugenia/M +eugenic/OY3S +Eugenie/M +eugenist/SM +eugeosyncline/SMO +euglenoid/SM +euhedral/Y +euhedralism/M Noun: uncountable +eukaryote/SMW1 +Eukelade/M +Eula/M +EULA/SM Acronym of end user license agreement +Euler/M +Euless/M +eulogia/M +eulogiae/M +eulogised/U +eulogistic/OY +eulogium/MS +eulogy/Qs3SM +Eumenides/M +eundem ad eundem +Eunice/M +eunuch/M +eunuchism/M Noun: uncountable +eunuchoid/SMO +eunuchoidism/SM +eunuchs +euonymus/SM +eupeptic/Y +eupepticism/M Noun: uncountable +euphemism/SM +euphemist/SWw1M +euphonious/Y +euphoniousness/M Noun: uncountable +euphonise/SGD +euphonium/MS +euphony/SMW1 +euphorbia/SM +euphoria/MS +euphoriant/SM +euphoric/SMY +euphrasia/SM +Euphrates/M +euphuism/SM +euphuist/MSW1 +EUR +EUR-Lex +Euramerica/M +Euramerican +Eurasia/M +Eurasian/SM +Euratom/M +Eureka/M +eureka/SM +eurhythmic/SO +EURIBOR/M +Euripides/M +Euro-MP/SM +Euro-wasp/SM +Euro/SM +euro/SM +Eurobabble/M Noun: uncountable +Eurobank/SM +Eurobeat/M Noun: uncountable +Eurobond/SM +Eurocard/SM +Eurocentric/Y +Eurocentricity/M Noun: uncountable +Eurocentrism/M Noun: uncountable +Eurocentrist/SM +Eurocheque/SM +Euroclear/M +Euroclydon/M +Eurocommunism/M Noun: uncountable +Eurocommunist/SM +Euroconnector/SM +Euroconvertible/M +Eurocracy/M Noun: uncountable +Eurocrat/SMW +eurocredit/M +eurocreep/M Noun: uncountable +Eurocurrency/SM +Eurodisco/M Noun: uncountable +Eurodollar/SM +Euroequity/M +Eurofanatic/SM +Eurogroup/SM +Eurojust/M An agency of the European Union +Euroland/M +Euromarket/SM +Euromart/M +EuroMillions +Euromissile/SM +Euronet/M +Euronews/M +Euronote/M +Europa/M +Europarliamentarian/M +Europarliamentary +Europasian/SM +Europass +Europe/M +European/3QMqS +Europeanism/SM +Europessimism/M Noun: uncountable +Europewide +Europhile/SM +Europhobe/SM +europium/M Noun: uncountable +europocene +Europol/M +Europoort/M +Europop/M Noun: uncountable +Eurosceptic/SMO +Euroscepticism/M Noun: uncountable +Eurosclerosis/M Noun: uncountable +Eurosklerosis +Eurostar/SM +Eurostat/M +euroterminal/M +Eurotrash/M Noun: uncountable +Eurovision/M +eurozone/M +Eurozone/M +euryapsid/SM +Eurybates/M +Eurydice/M +Eurythmics +Eusebius/M +eusocial/Y +eusociality/M Noun: uncountable +Eustachian +Eustachio/M +eustacy/M Noun: usually uncountable +eustasy/SM +eustatic/Y +Eustis/M +Euston/M +eutectic/SM +eutectoid/SM +euthanasia/SM +euthanise/SGDn +Eutheria Taxonomic infraclass +eutherian/SM +Euthyphro/M +eutopia/M Noun: uncountable +Eutopia/SM +eutopian/SM +eutrophicate/SGDn +eutrophy/SMW1 +Euxton/M +eV +EV/SM +Eva/M +evacuant/SM +evacuate/VnDSG +evacuee/SM +evadable +evade/SvRDVGu +evaginate/SGDn +Eval/M +evaluable +evaluate/xVDGSn +evaluator/SM +Evan/M +Evandale/M +evanesce/DGS +evanescence/SM +evanescent/Y +evangel/MS +evangelic/Y +evangelical/SM +evangelicalism/MS +Evangelina/M +Evangeline/M +evangelise/DGSnR +evangelism/SM +Evangelist/SM +evangelist/WSM +evanish/DGSL +Evans-Pritchard/M +Evans/M +Evanston/M +Evansville/M +Evanton/M +evaporable +evaporate/vGnDSV +evaporator/SM +evaporite/SM +evapotranspiration/SM +evasion/SM +evasive/P +Eve/M +eve/yMS +evection/SMO +Evedeon/M +Evedon/M +Eveline/M +Evelyn/M +even-handed/YP +even/YdSPJ +evener +evenest +eveningness/M Noun: uncountable +Evenley/M +Evenlode/M +evensong/MS +event/6SjGMRp +eventful/PY +eventide/MS +eventual/Y +eventuality/SM +eventuate/DSG +ever +ever-changing +ever-increasing +Everard/M +Evercreech/M +Everdon/M +Eveready/M +Everest/M +Everett/M +everglade/MS +Everglades/M +Evergreen/M +evergreen/SM +Everhart/M +Everingham/M +everlasting/PY +Everleigh/M +everliving/M +Everly/M +Everman/M +evermore +Evers/M +Eversden/M +Eversheds/M +Eversholt/M +Evershot/M +eversible +eversion/SM +Eversley/M +evert/SGD +Everton/M +everybody/M +everyday/P +everyhow +Everyman/M +everyone/M +everything/M +everywhen +everywhence +everywhere/P +Evesbatch/M +Evesham/M +Evette/M +Evias/M +evict/SGD +evictable +evictee/SM +eviction/SM +evictor/MS +evidence/DMGS +evident/Y +evidential/Y +evidentiality/M Noun: uncountable +Evie/M +evil/YSMPT +evildoer/MS +evildoing/MS +evince/SDGL +Evington/M +eviscerate/GDSn +Evista/M +Evita/SM +evitability/M Noun: uncountable +evocable +evocative/P +evoke/VGuvSnD +evolute/SM +evolution/3MyS +evolutional/Y +evolutionary/Y +evolutionism/M Noun: usually uncountable +evolutionistic/Y +evolutive/Y +evolutiveness/M Noun: uncountable +evolvability/SM +evolvable +evolve/RDGShL +evolvent/SM +Évora/M +Evra/M +evulsion/SM +evzone/MS +Ewa/M +Ewan/M +Ewart/M +Ewe/MS +ewe/RSM +Ewell/M +Ewelme/M +Ewen/MS +Ewenny/M +Ewerby/M +Ewert/M +Ewhurst/M +Ewing/M +Ewshot/M +Ewshott/M +eww +Ewyas/M +ex +ex-communist/MS +ex-con/SM +ex-convict/SM +ex-partner/SM +ex-president/SM +ex-student/SM +ex-wife/M +ex-wives +exabit/SM +exabyte/SM +exacerbate/nDSG +exact/R7PSGYTDk +exacting/P +exaction/SM +exactitude/ISM +exactness/IS +exactor/SM +exactress/SM +exaggerate/SnvhiGVD +exaggerator/SMZ +exalt/RnhSDG +exam/SM +examinable/A +examinate/SGDn +examinational +examinationless +examinatorial +examine/ASGDN +examinee/SM +examiner/SM +example/MDGS +exanimate/SGDN +exanthema/WSM +exanthemata/M +exanthematous +exaptation/SMO +exarch/MO +exarchate/MS +exarchs +exarchy/SM +exascale +exasecond/SM +exasperate/DhGnSkr +exbibit/SM +exbibyte/SM +Exbourne/M +Exbury/M +Excalibur/M +excavate/DSGn +excavator/MSZO +exceed/SDGkR +excel/DGS +Excel/M +excellence/MS +excellency/MS +excellent/Y +excelsa +Excelsior/M +excelsior/SM +excentric/SMOY +except/xDGS +exception/7MS +exceptional/UY +exceptionalism/SM +exceptionalist/SM +exceptionality/SM +exceptionalness/M Noun: uncountable +excerpt/MSDGR +excerptible +excerption/MS +excess/DSuVvMG +excessive/P +Exchange/M +exchange/RGDSBM +Exchequer +exchequer/MS +exchequership/M Noun: uncountable +excimer/SM +excipient/SM +excise/GDSMNBX +exciseman/M +excisemen/M +excision/MO +excitability/SM +excitable/PZ +excitant/SM +excitative +excitatory Adjective +excite/lknGLRDSBh +excited/Uc +exciting/Uc +excitingness/M Noun: uncountable +exciton/MSW1 +excitonics/M Noun: uncountable +exclaim/yRSDG +exclamation/MS +exclave/SM +exclosure/MS +excludable/SM +exclude/DSGuVvR +excludee/SM +excludible +exclusion/SMy +exclusionism/SM +exclusionist/SMW +exclusive/SMP +exclusivism/SM +exclusivist/SM +exclusivity/SM +exclusory +excogitate/SGDn +excommunicate/SnVDG +excommunicator/SMZ +excoriate/SGDn +excrement/SMO +excrescence/MS +excrescent/SM +excreta/M +excretable +excrete/rVnDGS +excretory/SM +excruciate/DSnkG +exculpate/SDnyG +excurrent +excursion/3MS +excursive/PY +excursus/MS +excusable/IP +excusably/I +excusal/SM +excusatory Adjective +excuse/RlGDSM +Exe/M +exeat/SM +exec/MS +execrable/PY +execrate/SGVnD +execratory +executable/SM +executant/MS +execute/SVRxGD +execution/SMR +executionary +executive/MS +executor/SMO +executorship/MS +executrices +executrix/SM +exegeses +exegesis/M +exegete/SM +exegetic/OY +exegetics/M Noun: uncountable +exegetist/MS +Exelby/M +Exelon/M +exempla/M Plural of exemplum +exemplar/SM +exemplarity/SM +exemplary/SMPY +exempli exempli causa +exemplify/SGRnD +exemplum/M +exempt/DGS +exemption/MS +exequatur/MS +exequies +exequy/M +exercise/RSBGDM +exercycle/SM +exergonic/Y +exergonicity/SM +exergue/SM +exert/cGDS +exertion/SMc +Exeter/M +exeunt/Sd +exFAT/M +exfiltrate/SGDn +exfoliant/SM +exfoliate/SGDn +exfoliative +exfoliator/SMZ +Exford/M +Exforge/M +exhalant/SM +exhale/GDSn +Exhall/M +exhaust/rbkSVvDhuGM +exhaustibility/M Noun: uncountable +exhaustible +exhaustion/SM +exhaustive/P +exhibit/XVdS +exhibition/SMR3 +exhibitionism/MS +exhibitionistic/Y +exhibitor/SMZ +exhibitorship/SM +exhilarant/MS +exhilarate/DSVGkn +exhort/nSDGr +exhortative/Y +exhortatory +exhume/GDSnr +EXIF/SM Initialism of exchangeable image file format +exigence/ZSM +exigency/SM +exigent/SYr +exigible +exiguity/MS +exiguous/Y +exiguousness/M Noun: uncountable +exile/GSDMWrL +exilian +exility/M Noun: uncountable +eximious/PY +exindusiate +exine/SMp +exintine/M +exist/FGSD +existence/SFM +existent +existential/Y3 +existentialism/MS +existentialistic/Y +exit/dSM +Exminster/M +Exmoor/M +Exmouth/M +Exner/M +Exning/M +exoatmospheric/Y +exobiology/MS3w1 +exobiotic/MS +exocentric/SM +Exocet/SM +exocrine/SM +exocytoses +exocytosis/M +exocytotic/Y +exodi/M Plural of exodus +Exodus/M +exodus/SM +exogamous/Y +exogamy/SMW +exogenic/Y +exogenous/Y +exogenousity/M Noun: uncountable +exoglossic +ExoMars ExoMars rover (Mars) +exon/SMW1 +exonerate/nSVDG +exonuclease/SM +exophora/SMW1 +exophthalmia/SMW +exophthalmos/M Noun: usually uncountable +exophthalmus/M Noun: uncountable +exoplanet/SM +exoplanetary +exoplanetology/M Noun: uncountable +exopod/SMO +exopodite/SMW +exopolitics/M Noun: uncountable +exorbitance/MS +exorbitant/Y +exorcise/GDSr +exorcism/MS +exorcist/MS +exordia/OM +exordium/SM +exoribonuclease/SM +exoskeletal/Y +exoskeleton/MS +exosolar +exosphere/SMW +exosporia/MO +exosporium/M +exostoses +exostosis/M +exoteric/OY +exothermal/Y +exothermic/Y +exothermicity/M Noun: usually uncountable +exotic/PSMOY +exotica/M +exotical/Y +exoticalness/M Noun: uncountable +exoticism/SM +exotoxin/SM +exotropia/SM +exp (mathematics) exponential function +expand/BDRXVNvGSu +expandability/SM +expanse/SDMGb +expansibility/MS +expansion/y3M +expansionism/MS +expansiveness/S +expat/SM +expatiate/GDSn +expatriate/DnSGM +expect/nShGDi7k +expectancy/MS +expectant/SMY +expectation/MoO +expected/UY +expectedness/U +expectorant/SM +expectorate/SGDn +expedience/SIZ +expediency/IMS +expedient/SMY +expediential/Y +expedite/RSDG +expedition/SyM +expeditionary +expeditionist/MS +expeditious/PY +expeditor/SM +expel/DSn7Gr +expellee/SM +expend/Du7VSGvr +expendability/SM +expendable/SMZ +expenditure/MS +expense/MGSD +expensive/IPY +expensiveness/IS +experience/GS +experience/IMDRB +experiential/Y3 +experientialism/M Noun: uncountable +experientiality/M Noun: usually uncountable +experiment/RSGMonD +experimental/3Y +experimentalism/M Noun: usually uncountable +expert/DGMS +expert/IPY +expertise/SGDM +expiable/I +expiate/GynSD +expiator/MS +expire/ynDSZG +expiry/MS +explain/AGDS +explainable/U +explainer/SM +explananda/M Plural of explanandum +explanandum/M +explanans +explanantia/M +explanation/SM +explanatory/Y +explant/SGDnM +expletive/SMY +expletiveness/M Noun: uncountable +explicable/I +explicanda/M Plural of explicandum +explicandum/M +explicate/VSnvGDY +explicator/SMZ +explicit/PY +explode/SDRGuVv +exploit/RVM7GnDS +exploitative/Y +exploitativeness/M Noun: uncountable +exploited/Uf +explorable/SM +explorative/Y +explorativeness/M Noun: uncountable +explore/SnDRyG +explosion/SM +explosive/SMP +expo/MS +exponent/SM +exponential/YSM +exponentiate/GnDS +exponible +export/DRGBnMS +expos/rdS +expose/fDScG +exposé/SM +exposit/yXN +exposited +expositor/SM +expostulate/nDGS +expostulatory +exposure/cSMf +expound/SRDG +express/rSvbuDGYVM +expressibility/I +expressible/IY +expressibly/I +expression/3OpMSo +expressionism/SM +expressionist/WSM1 +expressionless/YP +expressive/IPY +expressiveness/SI +expressivism/M Noun: usually uncountable +expressivist/SM +expressivity/M Noun: usually uncountable +expropriate/SGDn +expropriator/MS +expulsion/SM3 +expulsive +expunction/MS +expunge/SGDr +expurgate/SDGn +expurgator/MSZ +exquisite/MSYP +exsanguinate/SGDn +exsanguine/D +exsanguineous +exsert/DGS +exsolution/SM +exsolve/SGD +exsufflation/SM +ext +extant +extemporaneous/YP +extemporary/YP +extempore/QsqS +extend/iDRVvhGNSxubX +extendability/SM +extendable +extended-play +extendibility/M Noun: uncountable +extendible +extensibility/M Noun: usually uncountable +extensible/I +extensile +extension/M3 +extensive/FY +extensiveness/SM +extenso +extensometer/SM +extensor/SM +extent/SM +extenuate/nGSD +extenuatory Adjective +exterior/MYS +exteriorise/SGDn +exteriority/MS +exterminate/DnSG +exterminator/SMZ +external/3qQYsSM +externalism/SM +externality/SM +exteroceptive/Y +exteroceptor/SM +extinct/V +extinction/SM +extinguish/GR7SD +extinguishable/I +extinguishment/SM +extirpate/GSnDV +extirpator/SM +extol/SDGr +Exton/M +extorsively +extort/GDVSr +extortion/MSR3y +extortionate/Y +extortionism +extra-curricular +Extra/M +extra/SM +extracellular/Y +extrachromosomal/Y +extracorporeal/Y +extracorporeality/M Noun: uncountable +extract/G7VDSMv +extraction/SM +extractor/SM +extracurricular/SMY +extradiegetic +extraditable +extradite/GDS +extradition/SM +extrados/S +extrafamilial +extrafloral +extragalactic/Y +extrajudicial/Y +extralegal/Y +extralinguistic/Y +extramarital/Y +extrametrical/Y +extrametricality/M Noun: uncountable +extramundane +extramural/Y +extramusical +extraneous/PY +extranet/SM +extranuclear/Y +extraocular/Y +extraordinaire +extraordinary/PYSM +extrapolate/SDnGV +extraposition/SM +extrapulmonary +extrapyramidal/Y +extrapyramidalism/M Noun: uncountable +extrasensory +extrasolar +extrasystole/SM +extraterrestrial/SMY +extraterrestriality/M Noun: uncountable +extraterrestrialness/M Noun: uncountable +extraterritorial/Y +extraterritoriality/SM +extratropical +extrauterine +extravagance/SM +extravagancy/SM +extravagant/Y +extravagantness/M Noun: uncountable +extravaganza/MS +extravasate/SDGn +extravascular/Y +extravehicular +extraversion/SM +extravert/DSM +extrema/Oo +Extremadura/M +extreme/PTY3SM +extremis in extremis +extremism/MS +extremity/SM +extremophile/SM +extremum/SM +extricable/I +extricate/GnDS +extrinsic/Y +extropian/SM +extropy/M Noun: uncountable +extrorse +extroversion/SM +extrovert/DMSG +extrude/GSDVr +extrusile +extrusion/SM +exuberance/SM +exuberant/Y +exudate/MS +exudative +exude/SnDG +exult/nkGDS +exultancy/M +exultant/Y +exurb/MS +exurban Adjective +exurbanite/SM +exurbia/SM +exuvia/MO +exuviae/M +exuviate/DGS +exuviation/MS +Exxon/M +Eyam/M +Eyck/M +Eydon/M +eye-catching +eye-level +eye-liner/MS +eye-opener/SM +eye-opening +eye-teeth +eye-tooth/M +eye/7RSpMD6iG +Eye/M +eyebags +eyeball/DGSM +eyeblack/M Noun: uncountable +eyebright/SM +eyebrow/SM +eyedropper/MS +eyeful/SM +eyeglass/SM +eyehole/SM +eyelash/MS +eyelet/MdS +eyelid/SM +eyeline/MSR +Eyemouth/M +eyepatch/SM +eyepiece/MS +eyeshadow/SM +eyeshine/SM +eyeshot/M Noun: usually uncountable +eyesight/MS +eyesore/SM +eyespot/SM +eyestalk/SMp +eyestripe/SM +Eyetie/MS +eyewall/SM +eyeward/S +eyewash/SMr +eyewater/M Noun: usually uncountable +eyewear/M Noun: uncountable +eyewitness/MS +Eyeworth/M +Eyke/M +Eynesbury/M +Eynon/M +Eynsford/M +Eynsham/M +eyot/SM +Eype/M +eyra/MS +Eyre/M +eyre/MS +Eyrewell/M +eyrie/SM +Eythorne/M +Eyton/M +Ezekiel/M +ezetimibe/M Noun: uncountable +Ezra/M +Ezrin/M +Ezron/M +Ezzati/M +f-stop/SM +f/F7 +fa/MS +FAA/M +Fab/M +fab/SGD +Fabaceae Taxonomic family +Fabales Taxonomic order +Faber/M +Fabergé/M +Fabián/M +Fabian/SM +Fabianism/M Noun: uncountable +Fabianist/MS +Fábio/M +Fabíola/M +Fabis/M +Fabius/M +fable/MSDGr +fabliau/M +fabliaux/M +Faboideae Taxonomic subfamily +fabric/SnM +Fabricant/M +fabricate/DSKnG +fabricator/SM +fabrosaur/SM +fabrosaurid/SM +fabulate/SGDn +fabulator/SM +fabulist/SM +fabulosity/SM +fabulous/PY +Fabus/M +Fabyan/M +fac +façade/SM +facade/SM +Faccombe/M +face-saver +face-saving +face-to-face +face/CGKDASe +face/M +faceache/SM +Facebook/rDGM +Faceby/M +facecloth/SM +faceless/P +facelift/SM +facemask/SM +facepalm/SGD +faceplate/MS +facer/KMC +facer/MS +facet/SdM +facetiae/M +facetious/YP +faceworker/SM +Fach/M +facia/SM +facial/YS +facie/SM +faciendum/M +facile/YP +facilitate/yDGSnV +facilitator/SM +facility/SM +facing/MS +facsimile/MDS +facsimileing +fact/SMyxYZ +facta/M Plural of factum +factice/M +faction/MS +factionalise/SGD +factionalism/SM +factious/YP +factitious/Y +factitiousness/M Noun: uncountable +factitive/Y +factive +facto +factoid/SM +factor/QtdMqS +factorage/SM +factorial/SM +factoring/MS +Factortame/M +factory/SM +factotum/SM +factotumship/M +factrix/SM +factsheet/SM +factual/YP3 +factualism/M Noun: uncountable +factuality/SM +factum/MS +facture/SM +facula/M +faculae/M +facular +facultative/Y +faculty/SM +fad/rSdM +Faddiley/M +faddish +faddism/SM +faddist/MS +faddy/T +fade-in/SM +fade-out/SM +fade-up +fade/hSp +fadeout/SM +fading/M +Fadmoor/M +fado/SM +Fadus/M +faecal +faeces +Faenor/M +faerie/SM +Faeroe/M +Faeroese/M +faery/SM +faff/GDS +fag/SDGM +Fagan/MS +Fagatogo/M +Fagen/M +Fagerberg/M +Faget/M +faggot/dSM +faggoting/M +Fagin/MS +fah +Fahd/M +Fahrenheit/M +faïence/SM +Faifley/M +fail-safe +fail/SDGkJ +Failand/M +failing/SMY +faille/SM +failover/SM +failure/MS +fain +faint-hearted/YP +faint/RGSPYTD +fair-minded +fair-weather +Fair/M +fair/MYJpGSPZTD~ +Fairbairn/M +Fairbanks/M +Fairborn/M +Fairburn/M +Fairchild/M +faire "savoir faire" +Fairfax/M +Fairfield/MS +Fairford/M +fairgoer/SM +fairground/SM +Fairhall/M +Fairhaven/M +Fairhope/M +fairing/SM +fairlead/SM +Fairlie/M +Fairlight/M +Fairman/M +Fairmilehead/M +Fairmont/M +Fairmuir/M +Fairport/M +Fairstead/M +Fairview/M +fairwater/SM +fairway/MS +fairy/MS +fairyism/M Noun: usually uncountable +fairyland/SM +fairytale/SM +Faisal/M +Faison/M +faith/6DjpMGS +Faith/M +faithful/UY +faithfulness/SM +faithless/PY +Fajardo/M +fajita/SM +fake/RSDGyM +Fakenham/M +Faki/M +fakie/SM +fakir/SM +Fala/M +falafel/M +Falagueira/M +Falange +Falangism/M Noun: uncountable +Falangist/MS +falcate/D +falchion/MS +falciform +falciformity/M Noun: uncountable +falciparum/M Noun: uncountable +Falco/M +Falcoff/M +Falcon/M +falcon/SryM +falconet/MS +falconry/SM +falderal/SM +Faldingworth/M +faldstool/MS +Falfield/M +Falk/M +Falkenham/M +Falkirk/M +Falkland/SM +Falkner/M +fall's/ce +fall-back +Fall/MS +fall/RbMGS +fallacious/PY +fallacy/SM +fallalery/M Noun: usually uncountable +fallback/SM +fallen +fallfish/MS +fallibility/ISM +fallible/PY +fallibly/I +Fallin/M +falloff/SM +Fallon/M +fallopian Adjective +fallout/MS +fallow/DPSG +Fallows/M +Fallsburg/M +Falmer/M +Falmouth/M +false/TYP +falsehood/SM +falsetto/MS +falsework/M Noun: usually uncountable +falsi +falsifiability/M Noun: usually uncountable +falsificationism/M Noun: uncountable +falsify/RBGnDS +falsity/SM +Falstaff/M +Falstaffian Adjective +Falstone/M +falter/rJdSk +faltering/UY +Faludi/M +falutin +faluting +Falwell/M +Fambridge/M +fame/MDSz +familial/Y +familiar/QsqSYP +familiarise/k +familiarity/MS +famille/M +family/MS +famine/SM +famish/DGS +famotidine/M Noun: uncountable +famous/YP +famuli/M +famulus/M +fan/DSMGZp +fanatic/MYS +fanatical/P +fanaticism/MS +fanbase/SM +fanboy/SMGD +fancast/SM +fanciable +fanciful/P +fancy-free Adjective +fancy/RTjPYDSM6G +fancywork/SM +fandabidozi Adjective +fandangle/MS +fandango/MS +fandom/SM +fane/MS +fanfare/MS +fanfaronade/MS +fanfold/SGD It is noun only in US +fang/SDMp +Fangfang/M +Fangfoss/M +fangirl/SMGD +fanlight/MS +fanner/MS +Fannin/M +Fanning/M +Fanny/M +fanny/MSGD +Fano/M +fanout/SM +fantabulous/Y +fantail/SM +fantasia/MS +fantastic/YO +fantasticality/SM +fantasticate/DGS +fantastication/MS +fantasy/3QWsDSGM +Fante/M +Fanti/MS +fanzine/SM +FAQ/SM +faquir/MS +far-distant +far-fetched +far-flung +far-off +far-ranging +far-reaching +far-sighted/YP +far/d +farad/MSW +Faraday/M +faraday/SMW +Farage/M +Faragher/M +farandole/MS +faraway +Farber/M +farce/w1MS +Farcet/M +farceur/MS +farcicality/SM +farcy/SM +fardel/MS +Fardre/M +fare/SMr +Fareham/M +Farewell/M +farewell/MDGS +Farey/M +farfetchedness/M Noun: uncountable +Farforth/M +Fargo/M +Farhad/M +Faria/M +Faribault/M +farina/MS +farinaceous/Y +Faringdon/M +Farington/M +Farkas/M +farl/MS +Farlam/M +Farleigh/M +Farlesthorpe/M +Farley/M +Farlington/M +Farlow/M +Farm/M +farm/SDRGM +Farmborough/M +Farmcote/M +Farmers/M +Farmersville/M +farmhand/SM +farmhouse/MS +farming/SM +Farmington/M +farmland/MS +farmstead/MS +farmstock/M Noun: uncountable +farmworker/SM +farmyard/SM +Farnborough/M +Farndale/M +Farndish/M +Farndon/M +Farne Farne Islands +Farnell/M +farness/M Noun: usually uncountable +Farnham/M +Farnhill/M +Farningham/M +Farnley/M +Farnsfield/M +Farnsworth/M +Farnworth/M +Faro/M +faro/M +Faroe/M +Faroese/M +farofa/SM +farouche +Farquhar/M +Farquharson/M +Farr/M +farraginous +farrago/MS +Farragut/M +Farrah/M +Farrakhan/M +Farrell/M +farrier/SM +farriery/MS +Farringdon/M +Farrington/M +farrow/MDSG +farruca/MS +farseeing +Farsi/M +farsighted +fart/SDGM +farther +farthermost +farthest +farthing/SM +farthingale/MS +Farthinghoe/M +Farthingstone/M +fartlek/SM +Farway/M +Faryl/M +Farzan/M +fascia/MSO +fasciated +fasciation/MS +fascicle/DSM +fascicular +fasciculate/Dn +fascicule/SM +fasciculi/M +fasciculus +fasciitis +fascinate/DGSnk +fascinator/MS +fascine/SM +fascism/SM +fascist/WSM +fash/SGDJ +Fashanu/M +fashion/RSMDl7G +fashionable/PS +Fashoda/M +Faso/M +Fass/M +fast-forward +fast/TGPSDM +fastback/SM +fastball/SM +fasten/dASU +fastener/SM +fastening/MS +fastidious/YP +fastigiate/SM +FAT/M +fat/SoYPTMGZD2p +FAT12/M +FAT16/M +FAT32/M +FAT64/M +Fatah/M +fatal/3P +fatale/S femme fatale +fatalism/MS +fatalist/W1 +fatality/SM +fate/jS6DM +fateful/P +fathead/MSDi +father-in-law/M +father/dpSYM +fatherhood/SM +fatherland/SM +fatherlessness/M Noun: uncountable +fatherlike +fatherly/P +fathers-in-law/M +fathership/M +fathom/7dMpS +Fathometer/MS +fatidic Adjective +fatigue/kDMSG +Fatiha/MS +Fatihah/MS +Fatima/M +Fátima/M +Fatimid/MS +Fatimite/MS +fatling/SM +fatso/MS +fatstock/M +fatten/drS +fattish +fattism/M Noun: uncountable +fatty/TSMP3 +fatui/M +fatuitous +fatuitousness/M Noun: uncountable +fatuity/SM +fatuous/PY +fatuus/M +fatwa/MS +faubourg/MS +Fauldhouse/M +Faulk/M +Faulkbourne/M +Faulkner/M +fault-finder/SM +fault-finding/M Noun: uncountable +fault/CSDGM +faultless/YP +faulty/PTY +faun/SM +fauna/SMO +faunistic +Fauntleroy/M +Fauquier/M +Faurisson/M +Faust/M +Faustian/Y +Faustus/M +fauteuil/MS +Fauve/MS +fauvism/M Noun: uncountable +Fauvist/SM +faux +fav +fave/SM +favela/MS +Favell/M +Faversham/M +favicon/SM +favipiravir/M Noun: uncountable +Favona/M +favour/ERSMDG +favour/p +favourable/SYMP +favoured/SYMP +favouring/SMY +favourite/UMS +favouritism/MS +Favre/M +Favreau/M +Fawcett/M +Fawddwy/M +Fawdington/M +Fawfieldhead/M +Fawkes/M +Fawkham/M +Fawler/M +Fawley/M +Fawlty/M +fawn/SRkDGM +Fawr/M +Fawsley/M +fax/SGMD +Faxton/M +fay/SM +Fayette/M +Fayetteville/M +Fazakas/M +faze/DGS +Fazeley/M +Fazlollah/M +FBI/M +FCC/SM +FDA/M +Fe/M +fealty/SM +fear/6MpGDjS +Fearby/M +fearful/TP +fearless/PY +Fearn/M +Fearnall/M +Fearon/M +fearsome/PY +feasibility/MS +feasible/PY +feast/RDMGS +feat/SCM +feather-bed/GD +feather-bedding/M +feather-brain/MD +feather-head/D +feather-light +feather-stitch +feather/drpSZM +featherback/SM +featheriness/M Noun: uncountable +feathering/M +Featherston/M +Featherstone/M +featherweight/SM +feathery/T +feature/DMGSp +featurette/SM +Feb +febrifuge/SMO +febrile/Y +febrility/SM +February/SM +Fechan/M +Fechin/M +Feckenham/M +feckless/YP +feculence/SM +feculent Adjective +fecund/ng +fecundate/SDG +fecundity/SM +fed/SM +Fed/SM +fed/Ufc +fedayee/SM +fedayeen/M Plural of fedayee +Federal/M +federal/SM3Y +federalise/SGDn +federalism/MS +federate/FGnSD +federationist/SM +federative/Y +Federer/M +Federico/M +Fedewa/M +FedEx/M +Fedor/M +fedora/MS +fee/GMYSd +feeble-minded +feeble/TPY +feed/GRSM +feedback/SM +feeding/SM +feedlot/SM +feedstock/SM +feedstuff/SM +feel/GkRSJ +feeling/PM +feelthy Adjective +Feeny/M +Feering/M +feet/M +Feigin/M +feign/RGSD +feijoa/MS +feijoada/SM +Feilding/M +Fein +Féin/M +Feiner/MS +Feinman/M +Feinstein/SM A surname​ +feint/SDMG +feis/M +feiseanna/M Plural of feis +Feistel/M +feistiness/M Noun: uncountable +feisty/T +felafel/SM +Felbridge/M +Felbrigg/M +felch/SGD +Felder/M +Feldman/M +feldspar/SM +feldspathic Adjective +feldspathoid/MS +Felice/M +Felicia/M +Feliciana/M +felicific +felicitate/DGSn +felicitatis +felicitous/YP +felicity/ISM +Felin-fach/M +Felindre/M +feline/SMY +Felinheli/M +felinity/M Noun: usually uncountable +Felipe/M +Felix/M +Felixkirk/M +Felixstowe/M +Felkirk/M +fell/GSTD +Fell/MS +fella/SM +fellable +fellage/M Noun: uncountable +fellah/SM +fellahin/M +fellate/SGD +fellatio/MS +fellator/SM +Felley/M +Felliscliffe/M +fellmonger/MS +felloes +fellow-traveller/MS +fellow/MS +fellowship/SM +Felmersham/M +Felmingham/M +felon/SM +felonious/PY +felonry/SM +felony/SM +Felpham/M +Felsham/M +felsic/SM +felspar/M +Felsted/M +felt-tip/SM +felt/GSD +Feltham/M +Felthorpe/M +felting/SM +Felton/M +Feltwell/M +felty/SM +felucca/MS +felwort/MS +fem/SM +female/PSM +femalia/M +femicide/SM +Femidom/M +feminacy/SM +feminal +feminality/SM +feminate +femineity/M +feminine/PYSM +femininity/SM +feminise/nSGD +feminism/MS +feminist/SM +feminity/SM +femme/SM +femora/MO +femoris +femtobarn/SM +femtocell/SM +femtochemistry/M Noun: uncountable +femtosecond/SM +femur/MS +fen/MS +Fen/MS +Fenby/M +fence/RSDMJGp +fencepost/SM +Fenchurch/M +fencible/MS +fencing/SM +Fencote/M +Fencott/M +fend/CGDRS +Fendalton/M +fenestella/MS +fenestra/M +fenestrae/M +fenestrate/D +fenestration/CSM +Feng/M +Fenham/M +Fenholt/M +Fenian/SM +Fenianism/SM +Fenimore/M +Feniton/M +Fenix/M +fenland/SM +Fenn/M +fennec/SM +fennel/SM +Fenner/M +Fennoscandia/M +fenny +Fenny/M +fenofibrate/SM +Fenris/M +Fensal +Fenstanton/M +fentanyl/SM +Fentiman/M +Fenton/M +Fentress/M +fenugreek/M +fenugreek/M Noun: usually uncountable +Fenwick/M +Feock/M +fer/KLFC +feral/SM +Ferber/M +ferberite/SM +Ferdinand/M +feretory/SM +Fergie/M +Fergus/M +Ferguslie/M +Ferguson/M +Fergusson/M +Ferintosh/M +Fermanagh/M +Fermat/M +ferment/nDGR7 +fermentative +Fermi/M +fermi/M +fermion/MSW +fermium/M Noun: uncountable +Fermont/M +fern/MZS +Fernandes/M +Fernandez/M +Fernández/M +Fernandina/M +Fernando/M +fernbird/SM +fernbrake/SM +Ferndale/M +Ferndown/M +fernery/MS +Fernham/M +Fernhill/M +Fernhout/M +Fernhurst/M +Fernie/M +Fernley/M +fernlike +Fernseed/M +Fernside/M +Fernwood/M +ferny/T +ferocious/YP +ferocity/SM +ferox +Ferranti/M +Ferrara/M +Ferrari/MS +Ferraro/M +ferrate/MS +Ferré/M +Ferreira/M +Ferrensby/M +Ferrer/MS +ferret/rdSM +ferriage/M +Ferriby/M +ferricyanide/SM +ferriferous +ferrimagnet/SMW +ferrimagnetism/M Noun: uncountable +Ferring/M +Ferris/M +ferrite/MSW +ferritin/SM +ferro +ferrocene/SM +ferroconcrete/M Noun: uncountable +ferrocyanide/SM +ferroelectric/SMY +ferroelectricity/M Noun: uncountable +ferrofluid/SM +ferrohydrodynamic/S +ferromagnesian +ferromagnet/SMW1 +ferromagnetism/SM +ferromanganese/SM +ferrometer/SM +ferrous +ferruginous +ferrule/DMSG +Ferry/M +ferry/SGmWDM +Ferrybank/M +ferryboat/MS +Ferryden/M +Ferryhill/M +Ferrymead/M +Ferryside/M +Fersfield/M +fertile/PsQqY +fertilisable +fertility/ISM +ferula/MS +ferule/SDGM +fervency/SM +fervent/Y +fervid/PY +fervour/MS +Ferwig/M +Fescennine +fescue/SM +fess/DGM +fess/SF +Fessler/M +fest/SM +festal/Y +fester/IS +festered +festering +festival/MS +festive/YP +festivity/SM +festoon/SMGD +Festschrift/MS +Festschriften +Festus/M +feta/MSO +fetch/DRkSG +Fetcham/M +fete/SGD +fête/SM +feticide/M +fetid/SMYP +fetish/M3S +fetishise/SGDN +fetishism/MS +fetishistic +Fetlar/M +fetlock/MS +fetor/MS +fetter/M +fetter/USd +Fetterangus/M +Fettercairn/M +Fetteresso/M +fetterlock/MS +fettle/SDG +fettler/MS +fettling/SM +fettuccine/M Noun: usually uncountable +fettucini/M Noun: usually uncountable +fetus/SM +feud/DMSoGO +feudalism/SM +feudalist/SMW +feudality/SM +feudatory/SM +Feughside/M +feuilleton/MS +fever/SdM +feverfew/SM +feverish/YP +feverous/Y +few/TP +Fewston/M +fey/T +feyness/SM +Feynman/M +fez/MD +fezzes +ff +Ffestiniog/M +Fflur/M +Fforest/M +Fi/S +FIA/M Initialism of Fédération Internationale de l'Automobile +fiacre/MS +fiance/SM +fiancé/SM +fiancée/MS +fiancee/SM +fianchetto/DGM +fianchettoes +Fianna/M +fiasco/SM +fiat/MS +fib/DRSG +Fibonacci/M +fibre/MSDp +fibreboard/SM +fibrefill/SM +fibreglass/M Noun: usually uncountable +fibrescope/SM +fibril/MnS +fibrillar/Z +fibrillate/SGDn +fibrin/SM +fibrinogen/SMW +fibrinoid/SM +fibrinolysin/SM +fibrinolytic/SM +fibro/MS +fibroblast/MS +fibrocartilage/SM +fibrocystic +fibrogenesis/M Noun: uncountable +fibroid/SM +fibroin/SM +fibrolamellar +fibroma/SM +fibromata/M +fibromatous +fibromuscular +fibromyalgia/SM +fibromyxoid/SM +fibroses +fibrosis/M +fibrositic +fibrositis/M +fibrosus +fibrotic +fibrous/PY +fibster/MS +fibula/M +fibulae/M +fibular +fiche/SM +fichu/SM +Ficicchia/M +fickle/PTZ +fictile +fiction/MSOo^ +fictional/Qq +fictionalism/SM +fictionality/SM +fictioneer/SM +fictionist/SM +fictitious/YP +fictive/YP +ficus/SM +Fiddington/M +fiddle/RGMJDS +fiddleback/SM +Fiddler's +fiddlestick/SM +fiddly/T +fide bona fide +FIDE/M Fédération Internationale des Échecs (“International Chess Federation”) +fideism/SM +fideist/SMW +Fidel/M +Fidelio/M +fidelity/IMS +fides bona fides +Fidgen/M +fidget/SdZ +Fido/M +fiducial/Y +fiduciary/MS +fidus +fie/y +fief/MS +fiefdom/SM +field/DG +Field/M +field/SeRIM +fieldcraft/M Noun: uncountable +fieldfare/SM +Fielding/M +Fields/M +fieldsman/M +fieldsmen/M +fieldstone/SM +fieldward +fieldwork/SMR +Fienberg/M +fiend/MS +fiendish/PY +fiendlike +fierce/TPY +fiery/TYP +fiesta/MS +Fifa/M +FIFA/M Fédération Internationale de Football Association (“International Federation of Association Football”) +Fife/M +fife/RSDMG +Fifehead/M +Fifield/M +FIFO +fifteen/SHM +fifth-generation +fifth/Y +fifty-eight/H +fifty-fifty +fifty-first/S +fifty-five/H +fifty-four/H +fifty-nine/H +fifty-one +fifty-onefold +fifty-second/S +fifty-seven/H +fifty-six/H +fifty-three/H +fifty-two +fifty-twofold +fifty/HMS +fiftysomething/SM +fig/LMDGS +Figaro/M +figbird/SM +figgy/T +Figheldean/M +fight/RSJGM +fightback/SM +fighter-bomber/SM +fighter/IMS +fighting/IS +Figueiredo/M +Figuerola/M +figura/MO +figurae/M +figurant/MS +figurante/MS +figuration/MK4F +figuration/O +figurations/4 +figurative/PY +figure/EG4KSFD +figure/Mp +figurehead/SM +figurer/SMF +figurine/MS +figuring/SM +figwort/MS +Fiji/M +Fijian/SM +filagree/SGM +filagreed +filament/DSM +filamentary Adjective +filamentous/Y +filaria/OM +filariae/M +filariasis/M +filature/SM +filbert/MS +Filby/M +filch/DSG +file/CaSAGD +file/M +filename/SM +filer/CSM +filesize/SM +filespace/M Noun: uncountable +filesystem/SM +filet/SM +Filey/M +filgrastim/M Noun: uncountable +Filgrave/M +filial/UY +filiation/SM +filibeg/MS +filibuster/drSM +Filiep/M +filigree/GMS +filing/SM +Filioque/M +Filipa/M +Filipe/M +Filipina/MS +Filipino/SM +filking +Filkins/M +fill/JDRYGS7 +Fillan/M +filled/cAU +Filleigh/M +fillet/SdM +filleting/M +filling/M +Fillingham/M +fillip/MS +Fillmore/M +Fillongley/M +fills/Ac +filly/MS +film-going +film-maker/SM +film-making/M +film-strip/MS +film/ZSDMGW +filmdom/M Noun: uncountable +filmgoer/SM +filming/SM +filmography/SM +filmset/GR +filmstrip/SM +filmy/TP +filo/SM +Filofax/SM +Filon/M +Filoni/M +filopodia/O^ +filopodium/M +filovirus/SM +filter-tipped +filter/7SrndMN +filth/2ZSMz +filthy/GTDP +Filton/M +filtrable +filtrate/IGDnS +filtrate/M +Fimber/M +fimbria/MO +fimbriae/M +fin/1SdMwoGZD7p +finagle/RSGD +final/Q3qS +finale/SM +finalism/SM +finalistic +finality/SM +finance/ASGD +finance/M +financial/YS +financier/SDGM +financing/SM +finasteride/M Noun: uncountable +Finborough/M +finch/SM +Fincham/M +Finchampstead/M +Finchingfield/M +Finchley/M +Finck/M +find/JRGS7 +Findern/M +Findhorn/M +finding/M +Findlay/M +Findlen/M +Findo/M +Findochty/M +Findon/M +fine-grained +fine-tune/SDG +fine/CFSDAG +fine/MY +Finedon/M +fineness/SM +finer/FCA +finery/MSA +finespun +finesse/MS +finest +Finet/M +Fingal/M +Fingalian/M +finger-plate +finger/prdSMJ +fingerboard/SM +fingering/M +fingerling/MS +fingermark/SM +fingernail/MS +fingerpick/SGD +fingerprint/DGSMr +fingertip/MS +Fingest/M +Finghall/M +Fingringhoe/M +Finham/M +finial/SM +finicality/SM +finicalness/M +finicky/TP +fining/M +finis/SM +finish/ASGD +finisher/SM +finishing/SM +Finisterre/M +finitary +finite/CPYI +finite/S +finitism/M Noun: uncountable +finitist/SM +finitude/SM +Fink/M +Finland/M +Finlay/M +Finlayson/M +Finley/M +Finmere/M +Finn/SMW +finnan/M +Finnegan/M +finnesko/M +Finney/M +Finningham/M +Finningley/M +Finnish/M +finny/T +fino/MS +Finsbury/M +Finstall/M +Finsthwaite/M +Finstock/M +Finstown/M +fintech/M +fintechs +Fintona/M +Fintray/M +Fintry/M +Finvoy/M +Fiona/M +Fionnan/M +fiord/MS +Fiore/M +fioritura/M +fioriture/M +fipple/MS +fir/rdS +Firbank/M +Firbeck/M +Firby/M +fire-break/SM +fire-control +fire-eater/SM +fire-fighter/SM +fire-hose/MS +fire-setting/M +fire-storm/MS +fire-trap/SM +fire-walker/SM +fire-walking/M +fire-water +fire/aSGD +fire/Mp +firearm/SM +fireback/SM +fireball/SMGr +firebase/SM +fireblight/M Noun: uncountable +firebomb/DMGS +firebox/MS +firebrand/SM +firebrat/SM +firebreak/SM +firebrick/SM +firebug/SM +firecracker/MS +firecrest/SM +firedamp/SM +firedog/SM +firefight/SMGr +firefish/SM +firefly/SM +Firefox/M +fireguard/SM +firelight/Mr +firelit +firelock/SM +fireman/M +firemen/M +firepit/SM +fireplace/MS +firepower/SM +fireproof/SGD +fireroom/SM +fireship/SM +fireside/SM +firesider/M +Firestone/M +firestop/SM +firestorm/SM +firethorn/SM +firewall/SDGM +fireweed/SM +FireWire/M +firewood/SM +firework/MS +firing/MS +firkin/MS +Firle/M +firm/DGSMTY +firmament/SMO +firman/MS +Firmilian/M +firmness/SM +Firmo/M +firmware/SM +firry +Firsby/M +Firsdown/M +first-aid +first-born +first-class +first-day +first-floor +first-hand +first-name +first-rate +first-strike +first/SY +firstborn/SM +Firth/M +firth/MS +fisc/MS +fiscal/SMY +fiscality/SM +Fischer/M +fish-bowl/MS +fish-hook/SM +fish-pond/SM +fish/BDRZGM2zyS +Fish/M +Fishbourne/M +fishbowl/SM +fishcake/SM +fisher/m5 +Fisher/MS +fisherfolk/SM +Fishergate/M +Fisherton/M +Fisherwick/M +fishery/SM +fisheye/SM +Fishguard/M +fishing/SM +Fishkill/M +Fishlake/M +Fishley/M +fishlike +Fishman/M +fishmeal/SM +fishmonger/SM +fishnet/SM +fishplate/SM +fishtail/DMSG +fishtank/SM +Fishtoft/M +Fishwick/M +fishwife/M +fishwives +fishy/PT +Fisichella/M +Fisk/M +fisk/SGD +Fiske/M +Fiskerton/M +fissile +fissility/SM +fission/SMDG +fissionable/SM +fissiparity/M +fissiparous/Y +fissiparousness/M Noun: uncountable +fissure/GDSM +Fissurella Taxonomic genus +fissurella/SM +fist/6SGMDW +fistfight/MS +fistful/MS +fisticuff/SMG +fistula/MS +fistular +fistulous +fit's/Aea +fit/RPTJSG6YDjM +Fitch/M +fitch/M +Fitchard/M +Fitchburg/M +fitchew/MS +fitful/P +fitment/SM +fits/Aae +Fitt/M +Fittelton/M +Fittick/M +fitting/PY +Fittipaldi/M +Fittleton/M +Fittleworth/M +Fitz/M +Fitzedward/M +FitzEustace/M +Fitzgerald/M +Fitzhead/M +Fitzherbert/M +Fitzpaine/M +Fitzpatrick/M +Fitzroy/M +FitzRoy/M +Fitzwarren/M +Fitzwilliam/M +five-a-side +five-finger +five-fold +five-spice +five-year +Five/M +five/SHMR +Fivehead/M +Fivemiletown/M +fivesome/SM +fivestones/M Noun: uncountable +fix/KDS4G +fixable +fixate/DSnVG +fixatif/SM +fixative/SM +Fixby/M +fixed-wing +fixed/PY +fixer/SM +fixigena/M +fixigenae/M +fixing/MS +fixity/MS +fixture/MS +fizgig/MS +Fizwarren/M +fizz/ZGSDR +fizzle/GDS +fizzy/T +fjord/SM +fl. +flab/ZSz2M +flabbergast/GkSD +flabby/TP +flabella/M +flabellum/M +FLAC/M +flaccid/Y +flaccidity/SM +Flacco/M +flack/SDMG +flacon/SM +Fladbury/M +flag-waving +flag/mDGMJSR +flagella/nM +flagellant/MS +flagellar +flagellate/DSGn +flagellator/MSZ +flagelliform +flagellum/M +flageolet/SM +Flagg/M +flagging/M +flagging/YU +flagitious/YP +Flagler/M +flagon/SM +flagpole/SM +flagrancy/SM +flagrant/Y +flagrante +flagship/SM +Flagstaff/M +flagstaff/SM +flagstone/SMD +flagtail/SM +flail/GSMD +flair/SM +flak/dSM +flake/Z2MSr +flaky/T +flambé/GSD +Flamboro/M +Flamborough/M +flamboyance/MZS +flamboyancy/SM +flamboyant/Y +flame-proof/GD +flame-thrower/MS +flame/pGZRSMDkJ +flamelike +flamen/SM +flamenco/SM +flameout/SM +flameproof +flamethrower/SM +flamingo/SM +flamingoes +flammability/ISM +flammable/IS +Flammarion/M +Flamstead/M +Flamsteed/M +Flamville/M +flan/MS +Flanagan/M +flanchard/SM +Flanders/M +Flandrian/SM +Flanery/M +flange/DMGS +flank/eSDG +flank/Mr +flannel/DGMS +flannelboard/MS +flannelette/MS +flannelgraph/MS +flap/SGDRM +flapjack/MS +flappy/T +flare-up/S +flare/DGkS +flarepath/SM +Flasby/M +flash-pan +flash/MDRZS2GzJ +flashback/MS +flashbulb/SM +flashcard/SM +flashcube/SM +flashgun/SM +flashing/M +flashover/SM +flashpoint/SM +flashy/UTP +flask/SM +flasket/SM +flat-earther/SM +flat-footed/YP +flat-head/M +flat-screen +flat-top/SM +flat-weave +flat-woven +flat/PTSYGMD +flatbed/SM +flatboat/SM +flatbread/SM +flatbug +flatcar/SM +flatfeet/M +flatfish/SM +flatfoot/MS +Flathead/SM +flathead/SM +flatland/SMR +flatline/SGDR +flatmate/SM +flatpack/SM +Flatpak/M +flatten/Srd +flatter/SdkZr +flattering/UY +flattery/SM +flattest/M +flattie/MS +flattish +flattop/SM +Flattr/M +Flatts/M +flatty/SM +flatulence/SM +flatulency/M +flatulent/Y +flatus/SM +flatware/MS +flatworm/SM +Flaubert/M +flaunching +Flaunden/M +flaunt/DkGSRZ +flautist/SM +Flavell/M +flavescent +Flavia/M +flavin/SM +flavine/SM +Flávio/M +Flavius/M +Flaviviridae Taxonomic family +flavivirus/SM +flavone/SM +flavonoid/SM +flavoprotein/SM +flavour/pSJGD6MRj +flavouring/SM +flavoursome/Y +flaw/DGMpS +Flawborough/M +Flawith/M +flawless/PY +Flax/M +flax/MS +Flaxby/M +flaxen +Flaxley/M +Flaxmere/M +flaxseed/SM +Flaxton/M +flay/DRGS +flaysome Adjective +flea/MS +fleabag/SM +fleabane/SM +fleabite/SM +fleapit/SM +fleawort/SM +fleck/GDSM +flecker/Sd +Fleckney/M +flection/SM +Fledborough/M +Fledermaus/M +fledge/DSG +fledgeling/SM +fledgling/SM +flee/DGS +fleece/RDMGZS +fleecy/PT +fleer/SGDM +Fleet/M +fleet/MPYTSGDk +Fleetham/M +fleeting/P +Fleetwood/M +Fleggburgh/M +Fleishman/M +Fleming/SM +Flemingston/M +Flemish/M +Flempton/M +flench/DGS +flense/DGS +flerovium/M Noun: uncountable +flesh/pY2MDGZSR +fleshly/T +Fleshman/M +fleshpot/SM +fleshy/TP +Fletch/M +fletcher/MS +Fletching/M +Fletton/M +fleur/SMZ +fleuron/SM +Fleury/M +flew/c +flew/S +flex/SGDMb +flexibility/MIS +flexible/IY +flexibly/I +flexicuffs +flexile +flexility/M Noun: uncountable +flexion/SM +flexitarian/SM +flexitime/M Noun: usually uncountable +flexography/W +flexor/SM +Flexpen/M +flexuosity/M +flexuous/Y +flexure/SMO +flibbertigibbet/SM +flick/DGS +flicker/dSkZ +Flickr/M +flier/SM +fliest +flight's/cK +flight/GSZpMD +flightpath/SM +flightworthy +flighty/PTY +Flimby/M +flimflam/SDGMR +flimflammery/SM +flimsy/TPY +Flin/M +flinch/DSGR +Flinders/M +fling/GSMR +Flint/M +flint/ZSGMD2p +Flintham/M +flintlock/SM +Flintoff/M +Flintridge/M +Flintshire/M +Flintstones +flinty/PTY +flip-flop/SGD +flip/RSTGD +flipboard/SM +flippable +flippancy/SM +flippant/Y +flirt/DGZSnr +flirtatious/PY +Flisk/M +flit/SDG +Flitch/M +flitch/SM +Flitcham/M +Flitcroft/M +flitter/Sd +Flitton/M +Flitwick/M +Flixborough/M +Flixton/M +flixweed/M Noun: usually uncountable +float/DGZSRN +floating-point +floc/SM +floccinaucinihilipilification/M Noun: uncountable +flocculant/SM +flocculate/DSnG +flocculence +flocculency/M Noun: uncountable +flocculent/SMY +flock/DMJGSZ +flockmaster/SM +Flockton/M +Flodden/M +floe/SM +flog/DSGJRM +Flon/M +flood/SGMDR +floodgate/MS +floodlight/GSM +floodlit +floodplain/SM +floodwater/SM +Flookburgh/M +floor/SGJDMrp +floorboard/SM +floorcloth/SM +flooring/SM +floorman/M +floormen/M +floorpan/SM +floorspace/M Noun: usually uncountable +floozie/MS +floozy/SM +flop/DGSzZR +floppy/TSPM +flora/MSo +Floral/M +floral/SM +Flordon/M +Flore/M +Floréal/M +Florence/M +Florencecourt/M +Florentine/MS +Flores/M +florescence/MIS +florescent +floret/SM +Florey/M +Florham/M +Florian/M +Floriana/M +floribunda/MS +floriculture/O3^ +florid/PY +Florida/M +Floridian/SM +floridity/SM +floriferous/Y +floriferousness/M Noun: uncountable +florilegia/M +florilegium/SM +florin/SM +Florio/M +Florissant/M +florist/SM +floristic/SY +floristry/M Noun: uncountable +floruit/SdM +Florus/M +flory +floss/DGMZS +flossy/TS +flotation/SM +Flotham/M +flotilla/MS +Flotman/M +flotsam/SM +Flotta/M +Floud/M +flounce/DGSZ +flouncing/SM +flouncy/T +flounder/dS +flour/DMGZS +flourish/SDkGR +floury/T +flout/GRDS +Flovent/M +flow/kRGDS +flowchart/GSM +flower/CSd +Flower/M +flower/p +flowerbed/MS +flowerer/MS +floweret/MS +Flowerhill/M +flowerpecker/SM +flowerpot/MS +flowery/PT +flown/c +flows/Ifec +flowstone/SM +Flowton/M +Floyd/M +flt +flu/M Noun: usually uncountable +flub/SMGDJ +fluconazole/M Noun: uncountable +fluctuant +fluctuate/nGDS +flue-cured +flue/SM +fluence/MS +fluency/SM +fluent/YF +fluff/DMZSG2 +fluffy/T +flugelhorn/MS +fluid/QsPSYM +fluidic/S +fluidify/DGS +fluidisation/MS +fluidity/SM +fluke/SGDMZ +fluky/T +flume/GMSD +flummery/MS +flummox/DSG +flump/SGDJ +flung +flunk/DZGSR +flunkey/SM +flunkeyism/M Noun: uncountable +flunky/SM +flunkyism/M +fluoborate/SM +fluoboric +fluocerite/SM +fluohydric +fluoresce/DGSr +fluorescein/SM +fluorescence/SM +fluorescent/SY +fluoridate/GSDn +fluoridationist/MS +fluoride/nMS +fluorinate/DGS +fluorination/SM +fluorine/SM +fluorite/MS +fluorocarbon/MS +fluorochrome/SM +fluoroform/M Noun: uncountable +fluorometer/SM +fluorometry/W1M +fluoropolymer/SM +fluoroquinolone/SM +fluoroscope/SGDMWZ +fluorspar/M Noun: usually uncountable +fluoxetine/M Noun: uncountable +fluphenazine/SM +flurry/GSDM +flush/7DPTGS +Flushing/M +fluster/dS +flute/GMSZDJ +flutelike +fluticasone/M Noun: uncountable +fluting/M +flutter/krSZd +Fluvanna/M +fluvial Adjective +fluviatile Adjective +fluvioglacial Adjective +fluviometer/SM +fluvoxamine/M Noun: uncountable +flux's/I +flux/DGAS +fluxgate/SM +fluxion/SMO +FLV +Flxpen/M +fly-by +fly-by-night +fly-by-wire +fly-bys +fly-drive +fly-fishing +fly-paper/SM +fly-tip/SGD +fly/cGS +flyable +flyaway +flyback/SM +Flybe/M +flyblow/SM +flyblown +flybridge/SM +flyby/M +flybys +flycatcher/SM +flyer/SM +flyest +Flyford/M +flyhalf +flyleaf/M +flyleaves +flyman/M +flymen/M +flyness/M Noun: uncountable +Flynn/M +Flynt/M +flyover/MS +flypaper/SM +flypast/SM +flysheet/SM +flyspeck/SD +flyswatter/MS +flyway/SM +flyweight/SM +flywheel/MS +FM +Fm +fMRI +fo'c's'le +fo'c'sle +foal/MGSD +Foale/M +foam/DZSM2Grp +foamy/T +fob/DSMG +Fobbing/M +focaccia/SM +focal/FY +Focalin/M +focalise/DGSn +Fochabers/M +foci/M Plural of focus +Fockerby/M +focus/CdGDAS +focusable +focused +focuser/MS +focusses/CA +fodder/SdM +Fodderty/M +foe/SM +foehn/MS +Foelas/M +foeman/M +foemen/M +foetal +foeticide/SM +foetid/YP +foetus/MS +fog/CGDS +fog/M +fogbound +fogey/MS~ +fogeydom/M Noun: uncountable +fogeyism/SM +Fogg/M +Foggathorpe/M +foggy/TPY +foghorn/SM +fogle/MS +Fogo/M +fogy/SM~ +fogydom/M Noun: uncountable +fogyism/SM +föhn/SM +foible/MS +foie/M Noun: uncountable +foil/SDG3 +foist/DSG +Fokker/M +fol/Y +folate/SM +fold-out/SM +fold/BJGRSD +foldaway/SM +foldback/SM +folded/UA +folderol/SM +folds/AU +Foles/M +Foleshill/M +Foley/M +foliaceous +foliage/SMD +foliar +Foliat/M +foliate/CGSnD +folie/SW +folio/SGMD +foliole/SM +Foliot/M +folivore/SM +folivorous +folk-dance/MGS +folk-way/SM +folk/MS~ +Folke/M +Folkestone/M +folkie/SM +Folkingham/M +Folkington/M +folklife +folklike +folklore/3WSM +folkloristic/Y +folkloristics/M Noun: uncountable +folks/Z2 +folksinger/SM +folksong/SM +Folksworth/M +folksy/TP +folktale/SM +Folkton/M +folkweave/M +folky/TP +foll/1 +Follett/M +follicle/SM +follicular +folliculitis/M +Follifoot/M +follow-on/SM +follow-up/SM +follow/DGJRS7 +followee/SM +folly/MS +Folsom/M +Folstone/M +Folville/M +foment/RGSnD +fomite/SM +Fond/M +fond/TPMY +Fonda/M +fondant/MS +fondle/GDSR +fondue/MS +Fondulac/M +Fonseca/M +font/SMO +Fontaine/M +Fontainebleau/M +Fontana/M +fontanelle/SM +Fontenoy/M +Fonthill/M +Fontmell/M +foo/SM +food/SMp +foodbank/SM +foodgrain/SM +foodie/SM +foodshed +foodstuff/MS +foodway/SM +foodwise +fool/GDMS +foolery/SM +foolhardy/TPY +foolish/TPY +Foolow/M +foolproof +foolscap/MS +foot-drop/M +foot/GSRDJhipMZ +footage/SM +football/RDSGM +footbed/SM +footboard/SM +footbrake/SM +footbridge/SM +Foote/M +footfall/SM +footgear/M Noun: uncountable +foothill/SM +foothold/MS +footie/SM +footing/SM +footle/SGDr +footlight/SM +footlocker/SM +footloose +footman/M +footmark/SM +footmen/M +footnote/GDSM +footpad/SM +footpath/MS +footplate/MS +footprint/SM +footrace/SM +footrest/MS +Foots/M +footsie/MS +footslog/SGDRM +footsoldier/SM +footsore +footstalk/SM +footstep/MS +footstool/SM +footsure Adjective +footway/MS +footwear/M Noun: usually uncountable +footwell/SM +footwork/MS +foozle/SGDM +fop/GSMD +foppery/SM +foppish/PY +for +fora +forage/RDGSM +foramen/M +foramina/M +foraminifer/SM +foraminifera/MO +foraminiferan/SM +foraminiferous +forasmuch +foray/DSGMR +forb/SM +forbade +forbear/MSGR +forbearance/MS +Forbes/M +forbid/GS +forbidden +forbidding/PY +forbore +forborne +Forby/M +force-fed +force-feed/SG +force/Dh6jGbMSR +forceable +forcefield/SM +forceful/P +forcemeat/SM +forceps/M +Forcett/M +forcible/YP +ford/7MGDSp +Ford/M +Fordbridge/M +Forden/M +Fordham/M +Fordingbridge/M +Fordington/M +Fordley/M +Fordoun/M +Fordwich/M +Fordyce/M +fore/5m +forearm/GMDS +forebear/SM +forebode/DSGJk +foreboding/PM +forebrain/SM +forecabin/SM +forecast/SRGD +forecastle/MS +forecheck/SGDR +foreclose/SGD +foreclosure/MS +forecourt/SM +foredawn +foredeck/SM +foredoom/GSD +foredune/SM +forefather/SM +forefeet/M +forefinger/MS +forefoot/M +forefront/MS +foregather/Sd +Foreglen/M +forego/GJR +foregoes +foregone +foreground/GMSD +foregut/SM +forehand/SDM +forehead/SM +forehock/SM +Forehoe/M +Foreign/M +foreign/PRY +forejudge/SGD +foreknew +foreknow/SG +foreknowledge/MS +foreknown +foreland/SM +foreleg/SM +forelimb/SM +forelock/DGSM +Foremark/M +foremast/SM +foremost +forename/DSM +forenoon/MS +forensic/SY +foreordain/GDS +forepart/SM +forepaw/SM +forepeak/SM +forepeople/M +foreperson/SM +foreplay/SM +forequarter/SM +foreran +forerun/SGR +foresail/SM +foresaw +forescript/SM +foresee/BGRS +foreseeability/M Noun: usually uncountable +foreseeable/UY +foreseen +foreshadow/GSD +foresheet/SM +foreshock/SM +foreshore/SM +foreshorten/dS +foreshow/SGJ +foreshown +foresight/SMiDh +foresighted/P +foreskin/MS +forest/RMDSynG +forestall/GRSD +forestalment/MS +forestation/CMA +forestay/SM +forested/AC +forester/CMS +Forester/MS +Forestier/M +forestland/SM +forestry/SM +forests/AC +Forestville/M +foretaste/MGSD +foretell/GRS7 +forethought/MS +foretoken/MS +foretokened +foretokening/S +foretold +foretop/SM +foretriangle/SM +forever +foreverness/M Noun: uncountable +forewarn/SDJGr +forewent +forewing/SM +foreword/SM +foreyard/MS +Forfar/M +Forfarshire/M +forfeit/DRMSG +forfeitable +forfeiture/MS +forfend/SGD +Forgan/M +Forgandenny/M +forgather/dS +forgave +forge/M +forge/SGAD +forgeable +forger/SZM +forgery/SM +forget-me-not/SM +forget/jGS6 +forgetful/P +forgettable/YU +forgettably/U +forging/MS +forgivable +forgive/RPlSkG +forgiven +forgiving/P +Forglen/M +forgo/RG +forgoes +forgone +forgot +forgotten +Forgue/M +forint/SM +forjudge/SGD +fork/D6GSMR +Fork/MS +forkful/SM +Forkill/M +forklift/GDMS +forktail/SM +forlorn/TPY +form/FoSIGnD +form/MW +forma/SM +formability/M Noun: usually uncountable +formae/M +formal/qsQP3 +formaldehyde/SM +formalin/SM +formalism/MS +formalist/SMW +formality/SMI +Forman/M +formant/MIS +format/RMGuSDvV +formate/MS +formation/OMFIC4S^ +formative/PIY +formative/S +Formby/M +formed/K4CAU +former/MY +former/SC4FAI +formfitting +Formica Taxonomic genus +formicaria/M +formicarium/M +formication/SM +formidable/PY +forming/K4 +formless/PY +Formosa/M +Formosan/SM +formoterol/M Noun: uncountable +forms/AKC4 +formula/MSn +formulae/WM +formularise/SGD +formulary/SM +formulate/DAGSn +formulator/SM +formwork/MS +Fornax/M +Forncett/M +Forney/M +Fornham/M +fornicate/SDGn +fornicator/SM +fornices +fornix/M +Forrabury/M +forrader +Forres/M +Forrest/M +Forrester/M +forsake/GS +forsaken/P +Forsberg/M +Forsbrook/M +Forsgren/M +Forshaw/M +forsook +forsooth +forspeak/SG +forspoke +forspoken +Forstall/M +Förstemann/M +Forster-Tuncurry/M +Forster/M +forsterite/SM +forswear/GS +forswore +forsworn +Forsyth/M +forsythia/MS +Fort-de-France/M +Fort/M +fort/MZS +Fortaleza/M +fortalice/MS +forte/MS +fortepiano/SM +Forteviot/M +forth +Forth/M +Forthampton/M +forthcoming/U +forthcomingness/M Noun: uncountable +forthright/PY +forthwith +fortifiable +fortification/MS +fortifier/SM +fortify/DAGS +Fortingall/M +fortiori a fortiori (Latin) +fortis/M +fortissimi/M +fortissimo/SM +fortitude/MS +fortnight/MYS +fortnightly/SM +Forton/M +Fortran/M +fortress/DMGS +Fortrose/M +fortuitous/YP +fortuity/SM +Fortuna/M +fortunate/UYS +fortunateness/M +Fortunato/M +fortune-teller/SM +fortune-telling/SM +fortune/DG +Fortune/M +fortune/SaM +forty-eight/H +forty-first/S +forty-five/H +forty-four/H +forty-nine/H +forty-one +forty-onefold +forty-second/S +forty-seven/H +forty-six/H +forty-three/H +forty-two +forty-twofold +forty/HMS +fortysomething/SM +Forum/M +forum/MS +Forveille/M +forward-looking +forward/DYSTPRG +forwarding/M +forwardmost +forwent +Fosbury/M +Foscott/M +FOSDEM +Fosdyke/M +Foss/M +FOSS/R +fossa/SM +fossae/M +Fossambault-sur-le-Lac/M +Fosse/M +fosse/MS +Fossett/M +Fossey/M +fossick/SGDJ +fossil/QSMq +fossiliferous +fossorial +Fossoway/M +foster/dSr +Foster/M +fosterage/SM +Foston/M +Fostoria/M +Fothad/M +Fotherby/M +Fotheringhay/M +Foucault/M +fought/e +foul-mouthed +foul-up/SM +foul/MYGPTDS +foulard/SM +Foulby/M +Foulden/M +Foulkes/M +Foulness/M +Foulridge/M +Foulsham/M +foumart/MS +found/DRGynS +foundation/MoO +founded/FU +founder/d +foundling/SM +foundress/MS +foundry/SM +fount/MS +fountain-head/SM +fountain-pen/MS +Fountain/MS +fountain/SDMG +fountainhead/SM +four-dimensional +four-eyes +four-in-hand +four-leaved +four-letter +four-poster/MS +four-square +four-wheel +four/HSM +Four/M +fourchette/SM +Fourdrinier +Fourier/M +Fourierism/M +fourpence/M +fourpenny +fourscore/SM +foursome/MS +foursquare/M +fourteen/HSM +fourth/Y +Fovant/M +fovea/MO +foveae/M +foveate +Foveran/M +Fowey/M +Fowkes/M +fowl-run/SM +fowl/DMGSr +Fowles/M +fowling/M +Fowlis/M +Fowlmere/M +Fownhope/M +fox-hunting +Fox/M +fox/MDzZGS +Foxbar/M +Foxborough/M +Foxcote/M +Foxcott/M +Foxe/M +Foxearth/M +foxglove/SM +Foxhall/M +Foxham/M +foxhole/MS +Foxholes/M +foxhound/MS +foxing/M +Foxley/M +Foxon/M +foxtail/SM +Foxton/M +foxtrot/DMGS +Foxx/M +foxy/TP +Foy/M +foyer/MS +fps +FPU/SM +fr +Fr +Fra/M +frabjous/Y +fracas/SM +frack/SGDR +fractal/SMY +fractality/M Noun: uncountable +fraction's/IA +fraction/DNOoSGM +fractionate/SDGn +fractious/PY +fractographic/OY +fractography/SM +fracton/MS +fracture/DSMG +Fradley/M +Fradswell/M +Fraenkel/M +fraenulum/M +fragile/Y +fragility/MS +fragment/GMSnD +fragmentary/PY +fragrance/SMD +fragrant/Y +frail/PTY +frailty/SM +fraise/MS +Fraisthorpe/M +Frakes/M +Fraktur/M +frame/7pRMSDG +frameshift/SM +framework/SM +Framfield/M +framing/SM +Framingham/M +Framlingham/M +Frampton/M +Framsden/M +Fran/MS +franc/SM +France/SM +Francesca/M +Franceschi/M +Francesco/M +franchise/ESDG +franchise/M +franchisee/MS +franchiser/SM +franchisor/SM +Franchitti/M +Francine/M +Francis-in-the-East/M +Francis/M +Francisca/M +Franciscan/SM +Francisco/M +francium/M Noun: usually uncountable +Franck/M +Franco-German +Franco/M +francocene +Francois/M +François/M +Françoise/M +Francoist/SM +francolin/SM +Francomania/M +Franconia/M +Franconian/SM +Francophile/SM +Francophilia/M Noun: uncountable +Francophobe/MS +Francophobia/M +francophone/MS +Francophonia/M +Francophonie/M +frangibility/SM +frangible +frangipane/MS +frangipani/SM +franglais +frank/PYSDTGr +Frank/~MS +Frankel/M +Frankenstein/M +Frankford/M +Frankfort/M +Frankfurt/M +frankfurter/MS +Frankie/M +frankincense/MS +Frankleigh/M +Frankley/M +franklin/M +Franklin/M +Frankton/M +Franky/M +Fransham/M +Frant/M +frantic/YP +franticly +Franz/M +frap/GSD +frappé/SM +Fraser-Fort/M +Fraser/M +Fraserburgh/M +frater/SM +fraternal/Y +fraternalism/M Noun: usually uncountable +fraternise/RnSGD +fraternity/SMF +Frating/M +fratricide/SMO +Fratrum/M +Frau/M +fraud/CS +fraud/M +fraudster/SM +fraudulence/SM +fraudulent/YP +Frauen/M +fraught +Fräulein/M +Fraumeni/M +Fraunhofer/M +fray/CDGS +fray/M +Frazer/M +Frazier/M +frazzle/GDS +freak-out/SM +freak/GSMDZ2 +freakish/PY +freaky/TY +Fréchet/M +Freckenham/M +freckle/GMDSY +Freckleton/M +freckly/T +Fred/M +Freda/M +Freddie/M +Freddy/M +Frédéric/M +Frederic/M +Frederica/M +Frederick/SM +Fredericksburg/M +Frederickson/M +Fredericton/M +Frederik/M +Frederiksen/M +Fredholm/M +Fredonia/M +Fredrick/M +Fredrickson/M +Fredricton/M +free-fall/G +free-for-all +free-form +free-handed/Y +free-handedness/M Noun: uncountable +free-kick +free-living +free-market +free-range +free-standing +free-up +free-wheel/DGS +free/GdPYSTm~ +Free/M +freebase/DSG +freebie/SM +freeboard/SM +freeboot/RSGD +freeborn +Freeborn/SM +FreeBSD/M +Freeby/M +freedman/M +freedmen/M +freedom/MSp +freedwoman/M +freegan/SM +freehand/Dh +Freehills/M +Freehold/M +freehold/RSM +freeholding/SM +freelance/SDRGM +Freeland/M +Freeling/M +freeload/SGDR +freeman/M +Freemans/M +freemartin/MS +Freemason/SM +Freemasonry/M +freemasonry/SM +freemen/M +freemium/SM +Freeport/M +freeridden +freeride/SG +freerode +freesia/SM +Freestone/M +freestone/SM +freestyle/SMGDR +freetail/SM +Freeth/M +freethinker/MS +freethinking/S +Freethorpe/M +Freetown/M +freeware/M Noun: uncountable +freewheel/SDGr +freewill +freewoman/M +freewomen/M +freezable +freeze-dried +freeze-frame +freeze/RSG +freezes/AU +freezing/AU +freezing/Y +Frege/M +Freiberger/M +Freiburg/M +freight/SMRDG +freightage/SM +Freire/M +Freisthorpe/M +Freiston/M +Freitas/M +Fremantle/M +Fremington/M +Fremont/M +French-speaker/S +French-speaking +French/Ym5Mp +Frencher/SM +Frenchification/MS +Frenchify/SGDN +Frenchism/SM +Frenchmoor/M +Frenchness/M Noun: uncountable +Frenchtown/M +Frenchy/MS +frenemy/SM +frenetic/Y +Frensham/M +Frentzen/M +frenulum/M +Frenze/M +frenzy/DMShG +freon/SM +freq/SM +frequency/MSI +frequent/3TDRYSGP +frequentation/MS +frequentative/SM +frequently/I +fresco/DGMS +frescoes +fresh-faced +fresh/TPRmY +freshen/dSr +fresher/AMS +freshet/SM +Freshford/M +Freshwater/M +freshwater/MS +Fresnel/M +Fresno/M +Fressingfield/M +Freston/M +fret/jD6SGp +fretboard/SM +fretful/P +Fretherne/M +fretsaw/SM +Frettenham/M +fretwork/SM +Freuchie/M +Freud/M +Freudenberger/M +Freudian/SM +Freudianism/M Noun: usually uncountable +Frew/M +Frey/M +Freya/M +Freyberg/M +Freystop/M +Freystrop/M +Frezza/M +Fri +friability/M +friable/P +Friar/MS +friar/YZSM +friarbird/SM +Friargate/M +Friarmere/M +Friary/M +friary/MS +fricassee/dGSM +frication/SM +fricative/MS +Frick/M +fricking +Frickley/M +friction/OoMSp +frictionless/Y +Friday/SM +Fridaythorpe/M +fridge/SM +Fridley/M +Fridrich/M +fried/A +Friedel/M +Friedemann/M +Frieden/M +Friedkin/M +Friedländer/M +Friedman/M +Friedrich/M +Friel/M +friend/DGYMpS +friendess +friendism/M +friendiversary/SM +friendless/P +friendlihood/M Noun: uncountable +friendlike +friendliness/SM +friendly/SY +friendly/TU +friendship/MS +friendsome +friendsomeness/M Noun: uncountable +Friendswood/M +frier/SM +Friermayne/M +Friern/M +Friesian/MS +Friesland/M +Friesoythe/M +Friesthorpe/M +frieze/MGSD +frig/SJGD +frigate/SM +fright/DGMjS6 +frighten/Sdkr +frightful/P +frigid/PY +Frigidaire/M +frigidaria/M Plural of frigidarium +frigidarium/M +frigidity/SM +Frigoris Mare Frigoris +Frilford/M +frill/GSMDY +frilly/TS +Frilsham/M +Frimley/M +Frindsbury/M +Fring/M +fringe/IDGS +fringe/Mp +Fringford/M +fringy/T +Frink/M +Frinsted/M +Frinton/M +Frio/M +Friockheim/M +frippery/SM +frippet/SM +Frisbee/M +Frisby/M +Frisch/M +Frisco/M +Frisia/M +Frisian/SM +frisk/ZGSMDzr +frisket/MS +Friskney/M +frisky/TP +frisson/SM +Friston/M +frit/DGMS +Frith/M +Frithelstock/M +Frithville/M +fritillaria/SM +fritillary/SM +Frito/M +frittata/SM +Frittenden/M +fritter/dSr +Fritton/M +Fritwell/M +Fritz/M +Fritzell/M +Fritzon/M +Fritzsche/M +Friuli/M +Friulian/SM +frivolity/SM +frivolous/PY +Frizington/M +frizz/GYSDZ +Frizzell/M +frizzle/DGS +frizzly/T +frizzy/T +fro/SMDG +Frobisher/M +Frocester/M +frock-coat/SM +frock/CGSDU +frock/M +frocking/M +Frodesley/M +Frodingham/M +Frodo/M +Frodsham/M +Froebel/M +Froebelian/MS +Froebelism/M Noun: uncountable +frog/DGmSM +frogbit/SM +frogfish/SM +Froggatt/M +froggery/SM +froggish +Froggy/MS +froggy/SM +froghood/M Noun: uncountable +froghopper/SM +froglet/SM +frogling/SM +frogmarch/SGDM +Frogmore/M +frogmouth/SM +frogskin/SM +frogspawn/M Noun: uncountable +frogstool/SM +frogwoman/M +froid/M +Frolesworth/M +frolic/SRDMG +frolicsome/Y +from +Frome/M +frond/SM +frondeur/SM +front-line +front-page +front/FDGS +Front/M +front/Mpr +frontage/SM +frontager/MS +frontal/YS +frontbencher/SM +Frontenac/M +frontend/SM +frontier/SMp +frontiers/m +frontierswoman/M +frontierswomen/M +frontispiece/MS +frontlet/SM +frontline/SM +frontman/M +frontmen/M +frontmost +fronton/MS +frontotemporal +frontrunner/MS +frontrunning/M Noun: uncountable +frontside +frontward/S +frontwoman/M +frontwomen/M +frost/CSGD +frost/Mp +frostbit +frostbite/MGS +frostbiting/M +frostbitten +Frostenden/M +frosting/MS +frosty/TPY +froth/ZSD2MG +frother/MS +frothy/TP +frottage/SM +froufrou/SM +frow/MS +froward/PY +frown/DGSkr +frowst/DGMSZ +frowstier +frowstiest +frowstiness/M Noun: uncountable +frowzy/TPY +Froxfield/M +Froyd/M +Froyle/M +froze/AU +frozen/PY +fructification/MS +fructify/DSG +fructose/SM +fructuous +Fruehauf/M +frugal/Y +frugality/MS +frugivore/SM +frugivorous +fruit/6jdpSM +Fruita/M +fruitage/M +fruitarian/SM +fruitarianism/M Noun: uncountable +fruitcake/MS +fruitcrow/SM +fruiter/MSr +fruitful/TP +fruition/SM +fruitless/YP +fruitlet/SM +Fruitport/M +fruitwood/SM +fruity/TPY +frumenty/M Noun: usually uncountable +frump/MSZ~ +frumpy/T +Frunze/M +frusemide/M Noun: uncountable +frustrate/hDSknGr +frustule/MS +frustum/MS +fruticose Adjective +fruticulture/M Noun: uncountable +fry/V7DNGS +Frye/M +fryer/SM +Fryerning/M +Fryston/M +Fryton/M +Fs +fs +FSA/M +FSD Full Self Driving, Tesla marketing +FSF/M +ft/C +FTC/M +ftp +FTP/M +fu kung fu +Fubini/M +fubsy +Fuchs/M +Fuchsia +fuchsia/SM +fuchsin/SM +fuchsine/SM +fuck/DRSMGJB! +fuckery/SM! +fuckhead/SMD! +fuckload/SM! +fuckship/M! +fuckwad/SM! +fuckwit/SM! +fucose/SM +fucoxanthin/SM +Fucus Taxonomic genus +FUD/M Acronym of Fear, uncertainty, and doubt +fuddle/GDS +fudge/MSDG +Fuego/M +fuehrer/SM +fuel/MRGDS +fuelwood/SM +Fuengirola/M +fug/SMGD +fugacious/Y +fugaciousness/M Noun: uncountable +fugacity/SM +fugal/Y +Fugglestone/M +fuggy/T +fugitive/PSYM +fugleman/M +fuglemen/M +fugue/GSDM +fuguist/MS +führer/MS +fuhrer/SM +Fujairah/M +Fuji/M +Fujian/M +Fujifilm/M +Fujimori/M +Fujimoto/M +Fujio/M +Fujitsu/M +Fujiyama/M +Fukami/M +Fukien/M +Fukuoka/M +Fukuyama/M +Fulah/MS +Fulani/M +Fulbeck/M +Fulbourn/M +Fulbrook/M +Fulcher/M +fulcrum/SM +fulfil/DLGSr +Fulford/M +fulgency/M +fulgent Adjective +Fulghum/M +fulgurant Adjective +fulgurate/SGDn +fulgurite/M +fulgurous +Fulham/M +fuliginous/Y +Fulke/M +Fulking/M +full-blooded +full-blown +full-bodied +full-dress +full-frontal +full-grown +full-length +full-page +full-scale +full-time/r +full-wave +full/c +Full/M +full/Y~ +Fullarton/M +fullback/SMG +fuller/dSM +fullerene/SM +fulleride/SM +fullerite/SM +Fullerton/M +fullest +Fulletby/M +fulling/M +fullness/SM +fullstop/SM +fullword/MS +fully-fledged +fulmar/SM +Fulmer/M +fulminant +fulminate/SDGn +fulminatory Adjective +Fulmodeston/M +fulness/M Noun: usually uncountable +Fulnetby/M +fulsome/YP +Fulstow/M +Fulton/M +fulvalene/SM +fulvescent +fulvous +fumage/M Noun: uncountable +fumarate/SM +fumarole/SMW +fumble/GRkSMJD +fume/GkDZSM +fumigant/MS +fumigate/SGDn +fumigator/MS +fumitory/SM +fumy/T +fun-loving +fun/Mz2Z +Funafuti/M +funambulism/M Noun: usually uncountable +funambulist/SM +funboard/SM +Funchal/M +function/SMyGopDO +functionalism/SM +functionalist/SMW +functionality/SM +functionary/MS +functionate/DGS +functor/SM +fund-raiser/SM +fund-raising +fund/ASDGM +fundament/SM +fundamental/SY3 +fundamentalism/MS +fundamentality/M Noun: uncountable +funded/fU +Fundenhall/M +funder/SM +fundholder/SM +fundholding/M Noun: uncountable +fundi/M +fundraise/SRGD +fundus/M +Fundy/M +funebrial +funeral/MS +funerary +funereal/Y +funfair/MS +fungal +fungi/M +fungibility/SM +fungible/SM +fungicide/SMO +fungiform +fungistatic/Y +fungivorous +fungoid/SMO +fungous +fungus/MS +funicular/SM +funk/S2DGMZ +funkadelic +funkia/MS +funkster/SM +funky/T +funnel/MDGS +funniment/MS +funniosity/MS +funny/TSP +Funtington/M +Fuquay-Varina/M +fur/GM2JZSD +furacious +furan/SM +furball/SM +furbelow/DGMS +furbish/ASGD +furbisher/MS +furcate/DGS +furcation/MS +furcula/M +furculae/M +furcular +furfuraceous +furious/YP +furiouser +Furkan/M +furl/UGDS +furlong/MS +furlough/SM +Furman/M +furmety/M Noun: uncountable +furnace/MS +Furneaux/M +Furness/M +Furneux/M +furnish/RSGDJ +furnishing/M +furniture/SM +furore/MS +furosemide/SM +furphy/MS +furriery/SM +furring/M +furrow/SDMGZ +furry/TRP +Fursley/M +Furtado/M +further/drS +furtherance/SM +furtherest +furthermore +furthermost +furthest +Furtho/M +furtive/YP +furuncle/MS +furuncular +furunculosis +furunculous +fury/MS +furze/SM +furzy +fuscous +fuse's/A +fuse/SIX4NGFD +fusebox/SM +fused/CA +fusee/MS +fusel fusel oil +fuselage/SM +Fuseli/M +fuses/CA +fuseway/SM +Fushimi/M +fusibility/SM +fusible/SM +fusiform +fusil/MS +fusilier/SM +fusillade/SMDG +fusing/CA +fusion/IM4F +fusionism/M Noun: uncountable +fusionist/SM +fuss/SD2ZMGzr +fusspot/SM +fussy/T +fustanella/MS +fustian/MS +fustic/M +fusty/TPY +fut +futhorc/SM +futile/PY +futilitarian/MS +futility/SM +futon/SM +futsal/M Noun: uncountable +futtock/MS +Futuna/M +futurama/SM +futuramic +future/M3Sp +futurism/MS +futuristic/SY +futurity/SM +futurological/Y +futurology/3SM +Futuyma/M +Fuzhou/M +fuzz/DZMGzS +fuzzball/SM +fuzzbox/SM +fuzzy-wuzzy/SM +fuzzy/TP +fwd +FWIW +FX +FY +Fyebridge/M +Fyfield/M +FYI +Fylde/M +fylfot/MS +Fylingdales/M +Fyne/M +Fynydd/M +fyrd/MS +Fyvie/M +G +g +g's +G-string/SM +G-suit/SM +G2B Initialism of government-to-business +G7/M +G8/M +Ga/SM +gab/GZSD2M +Gabalfa/M +gabapentin/M Noun: uncountable +gabardine/MS +Gabarone/M +Gabbiadini/M +gabble/GDSM +gabbro/SMW +gabbroid +Gabby/M +gabby/TP +gabelle/MS +gaberdine/SM +gabion/MS +gabionade/MS +gable/SDGM +gabler +Gables/M +gablet/MS +Gabon/M +Gabor/M +Gaborone/M +Gabriel/M +Gabriele/M +Gabrielle/M +gaby/MS +gad/RSDGM +gadabout/MS +Gadarene +Gaddafi/M +Gaddesby/M +Gaddesden/M +gaddi/MS +gadfly/MS +gadget/SMyZ +gadgeteer/SM +gadgetry/SM +Gadi/M +gadoid/MS +gadoleic +gadolinite/SM +gadolinium/SM +gadolinocene +gadroon/DMS +Gadsden/M +gadwall/MS +Gaea/M +Gael/SWM +Gaeldom/M +Gaelic-speaking +Gaelic/M +Gaeltacht/M +Gaeo/M +Gaer/M +Gaerwen/M +Gaeta/M +Gaetano/M +gaff/RMSGD +gaffe/MS +Gaffin/M +Gaffney/M +gag/RDGSM +gaga/M Noun: uncountable +Gagarin/M +Gage/M +gage/SM +gaggle/SGDMr +Gagnon/M +gagwriter/SM +Gahanna/M +Gaia/M +Gaian/SM +gaiatri/M +gaiety/SM +gaijin/SM +Gail/M +Gaillard/M +gaillardia/MS +gaily +gain/ASDG +gain/YMr +gainable +Gaines/M +Gainesville/M +Gainford/M +gainful/YP +gainsaid +gainsay/RGS +Gainsborough/M +Gair/M +Gairbraid/M +Gairloch/M +Gairsain/M +Gairy/M +gait/SRM +gaitered +Gaithersburg/M +Gaius/M +Gakuin/M +gal/GkDMS +gala/SM +galactagogue/SM +galactic/OY +Galactica/M +galactose/SM +galactosidase/SM +galago/MS +galah/MS +Galahad/MS +galangal/SM +galantine/SM +galanty +Galapagos/M +Galashiels/M +Galatea/M +Galatia/M +Galatian/SM +Galavis/M +Galaxy/M +galaxy/SM +Galaţi/M +Galbally/M +galbanum/SM +Galbraith/M +gale/AS +gale/M +galea/M +galeae/M Plural of galea +Galen/M3 +galen/W +Galena/M +galena/M Noun: usually uncountable +galenical/MS +Galenism/M Noun: uncountable +Galesburg/M +galette/SM +Galgula/M +Galicia/M +Galician/SM +Galilean/SM +Galilee/M +galilee/MS +Galilei/M +Galileo/M +galingale/MS +Galion/M +galiot/MS +galipot/SM +gall/SM +Galla/M +Gallacher/M +Gallagher/M +gallant/SGDYM +gallantry/SM +gallate/SM +Gallatin/M +gallberry/SM +gallbladder/MS +Galle/M +galleon/SM +galleria/SM +gallery/DSM +galley/MS +Galleywood/M +Gallia/M +galliambic/MS +galliard/MS +Gallic/M +Gallican/SM +Gallicanism/SM +Gallicism/SM +gallimaufry/MS +gallinaceous +Gallinat/M +gallinule/SM +galliot/MS +Gallipoli/M +gallipot/MS +gallium/M Noun: uncountable +gallivant/DGSr +galliwasp/MS +Gallo-Roman/SM +Gallo/M +gallocene +gallon/SM +gallonage/SM +galloon/MS +gallop/SMrd +Gallovidian/MS +Galloway/M +Gallowgate/M +gallows/M +gallstone/MS +Gallup/M +Gallus/M +Gallwey/M +Galois/M +galoot/SM +galop/SM +Galoppini/M +galore +galosh/SM +Galston/M +Galsworthy/M +Galt/M +Galton/M +galumph/SGD +galvanic/Y +galvanise/nSDG +galvanism/MS +galvanometer/MSW +Galvão/M +Galveston/M +Galvin/M +galvo/SM +Galway/M +Galwegian/MS +Gamage/M +Gamay/SM +gamba/SM +gambade/MS +gambado/MS +gambadoes +Gambia/M +Gambian/SM +Gambier/M +gambier/M Noun: uncountable +gambit/MS +gamble/RDSGM +Gamblestown/M +gamboge/SM +gambol/SGDM +gambrel/MS +game/JYPTSMGRZD +gamecock/SM +gamefowl/SM +gamekeeper/MS +gamekeeping/M Noun: uncountable +gamelan/SM +gamepad/SM +gameplay/M Noun: usually uncountable +gamergate/SM +gamesman/M +gamesmanship/MS +gamesmen/M +gamest/R +gamestress/SM +gametangia/MO +gametangium/M +gamete/WMS +gametocyte/SM +gametogenesis/M Noun: uncountable +gametogeny/W +gametophyte/SMW +gamgee/M Noun: uncountable +gamify/SGDn +gamin/SM +gamine/SM +gaming/SM +Gamla/M +Gamlingay/M +gamma/MS +Gammacoronavirus Taxonomic genus +gammacoronavirus/SM +Gammaproteobacteria Taxonomic class +gammavoltaic/S +gammon/dMS +Gamrie/M +Gamston/M +gamut/SM +gamy/TPY +Ganapathi/M +Ganapati/M +Ganarew/M +Gandalf/M +gander/dMS +Gandhi/M +Gandhinagar/M +Gandolfo/M +Gandy/M +Ganerew/M +Ganesa/M +Ganesh/M +Ganesha/M +gang/DMGSYr +Ganga/M +Gangamma/M +gangboard/SM +Ganges/M +Gangetic +gangland/MS +ganglia/MO +gangling/SMY +ganglion/SMW +ganglioside/SM +ganglord/SM +gangmaster/SM +gangplank/SM +gangrene/DSMG +gangrenous/Y +gangsta/SM +gangster/SM +gangsterism/SM +Gangtok/M +gangway/MS +ganja/M Noun: uncountable +Ganllwyd/M +gannet/MS +gannetry/MS +ganoid/MS +Gans/M +Gansler/M +Gansu/M +Ganton/M +gantry/MS +Gantt/M +Ganymede/M +Ganymedian +GAO/M Initialism of Government Accountability Office +gaol/RDGMS +gap-toothed +gap/GdkSMDr +gape/SM +gapeworm/MS +gaplessly +gappy/T +gappyness/M Noun: uncountable +garage/GDSM +garb/DMSG +garbage/M Noun: uncountable +Garbh/M +garble/GDSrM +Garbo/M +garboard/MS +Garboldisham/M +Garby/M +Garcia/M +García/M +garçon/SM +Gard/M +Garda/M +Gardai/M +Gardasil/M +garden/dSrM +Garden/MS +Gardena/M +Gardendale/M +gardenesque/M +gardenia/SM +gardening/M Noun: usually uncountable +Gardenstown/M +Gardin/M +Gardiner/M +Gardner/M +Garelochhead/M +Gareth/M +Garfield/M +garfish/SM +Garford/M +Garforth/M +Garfunkel/M +garganey/SM +gargantuan/Y +gargantuanism/M Noun: uncountable +gargantuanness/M Noun: uncountable +garget/SM +Gargilius/M +gargle/DSMG +gargoyle/DSM +Gargrave/M +Gargunnock/M +Garibaldi/M +garibaldi/SM +Garioch/M +garish/PY +Garland/M +garland/SDMG +garlic/DSGZM +Garlick/M +Garlickhithe/M +Garlington/M +garment/DSMG +Garmon/M +Garn/M +Garner/M +garner/SdM +garnet/SM +Garnett/M +Garnier/M +garnierite/SM +garnish/LSDGM +garnishee/MSd +garniture/SM +Garnon/M +garotte/SMDG +Garpenberg/M +garpike/MS +Garrard/M +garret/MS +Garrett/M +Garrick/M +Garrido/M +Garrigill/M +garrison/dSM +Garriston/M +Garron/M +garrotte/MRGSD +garrulity/MS +garrulous/PY +Garry/M +Garsdale/M +Garsdon/M +Garsington/M +Garstang/M +Garston/M +Gartcosh/M +Garten/M +Garter Garter King of Arms +garter/dSM +Garth/M +garth/SM +Garthamlock/M +Garthbeibio/M +Garthbrengy/M +Garthdee/M +Gartheli/M +Garthorpe/M +Gartly/M +Gartner/M +Gartocharn/M +Garton/M +Garuda/M +Garudimimus Taxonomic genus +garum/SM +Garvagh/M +Garvaghey/M +Garvald/M +Garveston/M +Garvestone/M +Garvetagh/M +Garvey/M +Garvin/M +Garvock/M +Garw/M +Garway/M +Gary/M +Garza/M +Garzon/M +gas-cooled +gas-permeable +gas/MSGD +gasbag/SM +Gascoigne/M +Gascon/SM +Gasconade/M +gasconade/SM +Gascony/M +Gascoyne-Cecil/M +gaseous/YP +gash/DMGTS +gasholder/SM +gasify/SRnGD +Gask/M +Gaskell/M +gasket/SM +gasketed +gaskin/MS +gaslight/GDMS +gaslit +gasman/M +gasmen/M +gasolene/MS +gasoline/M Noun: usually uncountable +gasometer/MS +gasp/SRDGkM +Gaspar/M +Gasparri/M +Gaspé/M +Gasper/M +Gaspésie-Îles-de-la-Madeleine/M +Gaspra/M +Gasque/M +gasser/SM +gassing/CMS +gassy/PT +gasteropod/MS +Gasthorpe/M +Gaston/M +Gastonia/M +gastrectomy/SM +gastric +gastricism/M Noun: uncountable +gastrin/SM +gastritides Plural of gastritis +gastritis/M +gastrocnemii/M Plural of gastrocnemius +gastrocnemius/M +gastrocolic +gastroenterites +gastroenteritides Plural of gastroenteritis +gastroenteritis/M +gastroenterology/3w1M +gastrointestinal +gastronome/Z1SwM +gastronomy/MWS +gastropod/SM +Gastropoda Taxonomic class +gastropodous +gastropub/SM +gastroscope/SMWZ +gastrostomy/SM +gastrotrich/M +Gastrotricha Taxonomic phylum +gastrotrichs +gastrula/SMn +gastrulae/M +gasworks/M +Gatcombe/M +Gate/M +gate/SMDG +gateau/SM +gatecrash/DRSG +gatefold/SM +Gateforth/M +Gatehouse/M +gatehouse/SM +gatekeeper/MS +gatekeeping/M +gateleg/D +Gateley/M +gateman/M +gatemen/M +Gatenby/M +gatepost/MS +Gates/M +Gateshead/M +Gatesville/M +Gateway/M +gateway/MS +gather/drSJ +gathered/AI +gatherum/M omnium gatherum +Gatima/M +Gatineau/M +Gatlinburg/M +Gatling/SM +Gatooma/M +Gatos/M +Gatsby/M +Gatton/M +Gatwick/M +gauche/TPY +gaucherie/MS +gaucho/MS +Gauden/M +gaudy/TYP +gauge/GaSD +gaugeable +gauger/SM +Gauguin/M +Gaul/SM +Gaulby/M +Gauldry/M +Gaulish/M +Gaulle/M +Gaullism/SM +Gaullist/MS +gault/SM +Gaunt/M +gaunt/PYT +gauntlet/SdM +gaur/SM +Gaurav/M +gauss/MS +Gaussian/SM +Gautama/M +Gautby/M +Gauthier/M +Gautier/M +gauze/DMZSG +gauzy/TPY +gave +gavel/DSMG +Gaventa/M +gavial/MS +Gavin/M +gavotte/SMDG +Gavron/M +Gawber/M +Gawcott/M +Gawd/M +gawd/Z +gawk/DMzZSGr +gawky/PTY +Gawler/M +Gawley/M +gawp/SGDR +Gawsworth/M +Gawthorpe/M +Gay/M +gay/MSPT~ +gayatree/M +gayatri/M +gayatry/M +gaybourhood/SM +gaydom/M Noun: uncountable +Gaydon/M +Gaye/M +gayfeather/SM +Gayhurst/M +Gaylard/M +Gayle/MS +Gaylord/M +gaylord/SM +gaylussite/M Noun: uncountable +Gaysoc/SM +gaysome +gaysomeness/M Noun: uncountable +Gayton/M +Gaywood/M +Gaza/M +gazania/SM +gaze/RGSDM +gazebo/MS +Gazeley/M +gazelle/SM +gazette/DGMS +Gazette/M +gazetteer/SM +Gaziantep/M +gazillion/SM +gazillionaire/SM +gazpacho/SM +gazump/SGDr +gazunder/Sd +Gazza/M +GB +Gb +Gbit/S +GBP Currency code for the British pound sterling +Gbps +GCC/M +GCD/SM Initialism of greatest common divisor +gcd/SM Initialism of greatest common divisor +GCE/SM +GCSE/MS +Gd +GDP/M Noun: usually uncountable +Ge/M +gean/MS +gear/DGSJM +gearbox/MS +gearhead/SM +gearing/SM +gearstick/SM +gearwheel/MS +Geary/M +Geauga/M +Geber/M +Gebert/M +gecko/MS +geckoes +Geddes/M +Gedding/M +Geddington/M +geddit +Gedgrave/M +Gedling/M +Gedney/M +Gedye/M +gee-gee/SM +gee/dGMS +geek/GDSM +geekdom/M Noun: uncountable +geekery/M Noun: usually uncountable +geekish/Y +geekishness/M Noun: uncountable +geekspeak/M Noun: uncountable +geeky/TPY +Geelong/M +Geertz/M +geese/M Plural of goose +geez/R +Geffen/M +GeForce/M +Gehenna/M +Gehrke/M +Gehrts/M +Geib/M +Geiger/M +geisha/MS +Geisler/M +Geisser/M +Geissler Geissler tube +geitonogamous +geitonogamy/M Noun: uncountable +gel/DMGS +gelable +gelati/M Plural of gelato +gelatin/MS +gelatine/SM +gelatinise/SGDN +gelatinous/PY +gelato/SM +gelcap/SM +geld/SGJD +Gelderland/M +Geldeston/M +Gelhorn/M +gelid +gelidity/M Noun: uncountable +gelignite/MS +Gellibrand/M +Gelligaer/M +Gelmini/M +Gem/M +gem/SZMDG2 +Gemalto/M +Gemara/M +gematria/SM +gematriot/M +Gemayel/M +gemelli/M +gemellus/SM +gemfibrozil/M Noun: uncountable +geminal/Y +geminate/SGDN +Geminga/M +Gemini/SM +Geminian/SM +gemlike +Gemma/M +gemmology/3Mw +gemology/3wM1 +gemstone/SM +gen/DGWSM +Genau'r-Glyn/M +gendarme/SM +gendarmerie/SM +gender-fluid +gender/MSp +gendered +genderfluid +genderfluidity/M Noun: uncountable +genderfuck/SGDMZ! +genderism/SM +genderqueer/SM +gene/SM +genealogy/w31MS +genera/onWM1Vv +general-purpose +general/Ptq3SM +generalisable/Y +generalise/GSDlR +generalissimo/SM +generality/SM +generalship/SM +generate/AnVCGDS +generational/Y +generative/AY +generator/AMS +generic/SMP +genericise/SGD +generis ejusdem generis +generosity/SM +generous/YP +Genesee/M +Geneseo/M +geneses +Genesis +genesis/M +Genet/M +genet/SM +genetic/OY3S +geneticise/SGD +geneticism/M Noun: uncountable +genetively +Geneu'r Geneu'r Glyn +Geneva/M +Genevese/SM +Genevieve/M +Geng/M +Genghis/M +genial/PU +geniality/FSM +genially/F +geniculate/DY +genie/oSM +genii/M Plural of genie +genin/MS +geniocracy/M Noun: uncountable +genista/SM +genistein/M Noun: uncountable +genisteine/M +genital/SMY +genital/YF +genitalia/WM +genitival/YSM +genitive/MSY +genito-urinary +genitocrural +genitofemoral +genitoplasty/MW +genitor/SMO +genitosexual +genitourinary +genius/MSD +genizah/SM +genlock/SGDM +Gennys/M +Genoa/M +genocide/SMOr +Genoese/M +genome/SM +genomic/3 +genomics/M Noun: uncountable +genotoxic/Y +genotoxicity/SM +genotype/MS +genotypic/OY +genotypicity/M +genre/MS +gent/AMS +gentamicin/SM +genteel/PY +genteelest +genteelism/SM +gentian/SM +gentile/SM +gentility/SM +gentle/SM5PYmTGD +gentlefolk/M +gentleman-at-arms +gentlemanliness/M Noun: uncountable +gentlemanly/U +gentlemen-at-arms +gentoo/SM +gentrify/nSDGr +gentry/SM +genu/M +genua/M Plural of genu +genuflect/DGS +genuflection/SM +genuflector/SM +genuflexion/MS +genuine/YP +genus/M +geo/SM +geoarchaeologist/MS +geoastrophysical +geobiology/Mw +geobiont/MS +geobiotic +geobotanic/OY +geobotany/3M +geocache/SMGDR +geocentric/Y +geocentricism/M Noun: uncountable +geocentrism/M Noun: uncountable +geochemical/Y +geochemist/SM +geochemistry/SM +geochronology/w3MSW +geocode/SGDM +geocorona/SMO +geocratic +geocyclic +geodata/M Noun: uncountable +geode/MSW +geodemographic/Y +geodemographics/M Noun: uncountable +geodesic/SM +geodesist/MS +geodesy/MS +geodetic/OY +geodetics/M Noun: uncountable +geoduck/SM +geodynamical/Y +geodynamo/SM +geoeconomics/M Noun: uncountable +geoengineering/M Noun: uncountable +geofencing/M Noun: uncountable +Geoff/M +Geoffrey/M +geog/M Noun: uncountable +geographer/MS +geography/SM1Ww +geoid/SMO +geoinformation/M Noun: uncountable +geolocate/SGDn +geolocational +geology/w3WM1S +geom +geomagnetic/OY +geomagnetism/MS +geomancer/SM +geomancy/M Noun: usually uncountable +geomantic/OY +geomatic/O3 +geomatics/M Noun: uncountable +geomechanics +geomembrane/SM +geometer/wS1MW +geometric/OY +geometrician/SM +geometrics/M Noun: uncountable +geometrid/SM +geometry/SM +geomorphic/Y +geomorphology/3wSM +geonavigation/M Noun: uncountable +geonomy/WM +geopark/SM +geophagy/3M +geophilic +geophilosophical/Y +geophilosophy/M Noun: usually uncountable +geophilous +geophone/SM +geophyllous +geophysical/Y +geophysicist/SM +geophysics/M Noun: uncountable +geopolitic/YO +geopolitics/M Noun: uncountable +Geordi/M +Geordie/MS +georeference/SGD +georeferencing/M Noun: uncountable +George-super-Ely/M +George/MS +Georgeham/M +Georgescu/M +Georgetown/M +Georgette/M +georgette/SM +Georgia/M +Georgian/SM +Georgie/M +Georgina/M +geoscience/MSW +geoscientist/SM +geospatial/Y +geosphere/SM +geostatic +geostatics/M Noun: uncountable +geostationary +geostatistics/M Noun: uncountable +geostrategic/OY +geostrategy/SM +geostrophic/Y +geosynchronous/Y +geosyncline/SM +geotactic/Y +geotag/SGDM +geotaxis/M Noun: usually uncountable +geotechnic/OY +geotechnics/M Noun: uncountable +geotechnology/SM +geotectonics/M Noun: uncountable +geotextile/SM +geothermal/Y +geotropic/Y +geotropism/SM +Geraint/M +Gerald/M +Geraldine/M +Geraldton/M +geraniol/SM +geranium/SM +Gérard/M +Gerard/M +Gerardine/M +Gerardo/M +Gerasimenko/M +Gerber/M +gerbera/SM +Gerberding/M +gerbil/MS +Gerd/M +gerenuk/MS +Gerhard/M +Gerhart/M +geriatric/SM +geriatrician/SM +geriatrics/M Noun: uncountable +germ/MSp +germaaluminocene +germaborocene +Germain/M +German-speaking +Germán/M +German/~M3S +germander/SM +germane/SMYP +Germanic/SM +Germanicism/MS +Germanism/MS +germanium/SM +germanocene +Germanomania/MS +Germanophile/MS +Germanophobe/MS +Germanophobia/M +germanous +Germansweek/M +Germantown/M +Germany/M +germaphobe/SMW +germaphobia/M Noun: uncountable +Germer/M +germicide/MSO +germinability/SM +germinable +germinal/Y +germinate/nDGVvS +germinator/SM +Germiston/M +germling/SM +Germoe/M +germon/SM +germophobe/SMW +germophobia/M Noun: uncountable +germy/T +Gernsback/M +Gerolamo/M +Gerold/M +Geronimo/M +gerontic +gerontocracy/SM +gerontology/3SMw +gerontophilia/M Noun: uncountable +Gerovitch/M +Gerrans/M +Gerrards/M +Gerrit/M +Gerrold/M +Gerry/M +gerrymander/dSM +Gers/M +Gersh/M +Gershenson/M +Gershon/M +Gershoni/M +Gershuny/M +Gershwin/M +Gerstein/M +Gertrude/M +Gertrudes/M +Gertz/M +Gerull/M +gerund/MS +gerundive/SM +Gervais/M +Gervase/M +Gesher/M +Gessius/M +Gessner/M +gesso/M Noun: usually uncountable +gessoes +gestalt/SM3 +gestalten/M Plural of gestalt +gestaltism/M Noun: uncountable +Gestapo/M +gestate/SxDGn +gestative +gesticulate/VDSGnv +gesticulator/SMZ +Gestingthorpe/M +gesture/OGDMSo +gesundheit +get-out/SM +get-rich-quick +get/SGM +getaway/SM +Gethsemane/M +gettable +getter/SdM +Getty/M +Gettysburg/M +getup/MS +geum/SM +Geurts/M +GeV +Gever/M +gewgaw/SM +Gewürztraminer/M +geyser/dMS +geyserite/SM +Ghana/M +Ghanaian/MS +Gharaibeh/M +gharial/SM +ghastly/TP +ghat/SM +Ghats +ghazal/SM +Ghazi/SM +Ghaznavid/SM +Ghebreyesus/M +ghee/M Noun: usually uncountable +Ghent/M +gherkin/MS +ghetto/QSDGM +ghettoes +Ghibelline/MS +ghillie/MS +Ghirlandaio/M +Ghizzoni/M +ghost/DGMYS +ghostbuster/SM +ghostlike +ghostly/PT +Ghostscript/M +ghostwrite/RGS +ghostwritten +ghostwrote +ghoul/MS +ghoulish/PY +ghoulishness/M Noun: uncountable +GHQ/SM +ghyll/SM +GHz +Giacchino/M +Giaccone/M +Giacomo/M +Gianfranco/M +Gianluigi/M +Giannis/M +giant/MS +giantess/MS +giantism/SM +giantkiller/SM +giaour/SM +giardiases +giardiasis/M +Giardino/M +gib/SGDM +GiB/SM +Giba/M +gibber/SdM +gibberellin/MS +gibberish/MS +Gibbes/M +gibbet/SMd +Gibbins/M +gibbon/MS +gibbosity/SM +gibbous/PY +Gibbs/M +gibbsite/SM +gibe/GSMDr +gibibit/SM +gibibyte/SM +giblet/SM +Gibraltar/M +Gibraltarian/SM +Gibson/M +GID/SM +Gidding/M +Giddings/M +giddy/PGYTDS +Gideon/MS +Gidleigh/M +Gidley/M +GIF/SM +Giffard/M +Giffnock/M +Gifford/MS +Giffuni/M +gift/hGDSMi +gifted/PU +giftware/SM +gig/GMSD +gigabit/SM +gigabyte/SM +gigacycle/MS +gigaflop/SM +gigahertz/M +gigajoule/SM +giganotosaurus/SM +gigantean +gigantesque +gigantesquement +gigantic/POY +giganticness/M Noun: uncountable +gigantism/SM +gigantoblast/SM +gigantocyte/SM +gigantology/SM +gigantomachia/M +gigantomachy/SM +Gigantostraca +gigapascal/SM +gigapixel/SM +gigasecond/SM +gigaton/SM +gigatonne/SM +gigavolt/SM +gigawatt/MS +Gigerenzer/M +giggle/RGDSYkM +Giggleswick/M +giggly/T +Giggs/M +Gigha/M +Giglio/M +gigolo/SM +gigot/SM +gigue/SM +Gil/M +Gila/M +Gilbank/M +Gilberdyke/M +Gilbert/M +Gilbertian +Gilbertianism/M Noun: uncountable +Gilberto/M +Gilbertson/M +Gilchrist/M +Gilcrux/M +gild/RJGDS +Gilda/MS +Gildernew/M +Gildersome/M +Gildingwells/M +Gildredge/M +Gilead/M +Gilenya/M +Giles/M +Gileston/M +gilet/SM +Gilfach/M +Gilford/M +gilgai/SM +Gilgamesh/M +gill/MSGD +Gillamoor/M +Gillan/M +Gillard/M +gillaroo/SM +Gilleland/M +Gillespie/M +Gillett/M +Gillette/M +Gillian/M +Gillibrand/M +gillie/SM +Gilligan/M +Gilling/M +Gillingham/M +gillion/SM +Gillmor/M +Gillon/M +Gillray/M +gillyflower/SM +Gillygooly/M +Gilma/M +Gilman/M +Gilmartin/M +Gilmer/M +Gilmerton/M +Gilmore/M +Gilmorton/M +Gilmour/M +Gilpin/M +Gilroy/M +Gilruth/M +Gilston/M +gilt-edged +gilt/SM +giltwood/M Noun: uncountable +gimbal/GSMD +gimble/SGDM +gimcrack/SM +gimcrackery/SM +Gimingham/M +gimlet/MS +gimme/r +gimmick/SZMy +gimmickry/SM +gimp/DMGZS +GIMP/M +gimpy/T +gin/MDSG +Gina/M +ginger/ZYSdM +gingerade/SM +gingerbread/SM +gingerly/P +gingerness/M Noun: uncountable +gingerol/M Noun: usually uncountable +gingerous +gingerroot/SM +gingham/MS +gingiva/MO +gingivae/M Plural of gingiva +gingivitis/MS +ginkgo/MS +ginkgoes +Ginnie/M +Gino/M +Ginsberg/M +Ginsburg/M +ginseng/MS +Gioconda/M +Giora/M +Giordano/M +Giorgi/M +Giorgio/M +Giotto/M +Giovane/M +Giovanni/M +Giovannucci/M +Gipping/M +gippo/SM +gipsy/SM +Gipuzkoan/SM +giraffe/SM +Giraldo/M +Giraldus/M +girandole/SM +Girardeau/M +girasol/SM +girasole/SM +Giraud/M +gird/RSMDG +girdle/DSGMr +Girdle/M +girl/MSj +girldom/M Noun: uncountable +girlfriend/SM +girlhood/SM +girlie/M +girlish/PY +girly/SM +giro/MS +Giroir/M +Gironde/M +Giroux/M +Girsby/M +girt/SM +girth/GDSM +Girthon/M +Girton/M +Girvan/M +Gisborne/M +Gisburn/M +Giscala/M +Giselle/M +Gisleham/M +Gislingham/M +gismo/SM +Gissing/M +gist/SM +git/SM +gitana/SM +gitano/SM +GitHub/M +Gitmo/M +Gittisham/M +Gittoes/M +Giudice/M +Giulia/M +Giuliani/M +Giuseppe/M +Giusto/M +give-away/MS +give/7RGSkM +giveaway/SM +giveback/SM +given +Givendale/M +giveth +giving/aY +Giza/M +gizmo/SM +gizzard/SM +glabella/SM +glabellae/M +glabellar +glabrous/Y +glabrousness/M Noun: uncountable +glacé/DGS +glacial/Y +glaciate/DGSn +Glacier/M +glacier/SM +glaciology/SM3w +glaciomarine +Glack/M +glad/SDZPGTY +gladden/dS +glade/MS +Glade/MS +Gladestry/M +gladiator/SMO +gladiola/SM +gladioli/M +gladiolus/SM +Gladman/M +Gladney/M +Gladsmuir/M +gladsome/TY +Gladstone-Tannum/M +Gladstone/M +Gladstonian/SM +Gladwin/M +Gladys/M +Glagolitic/M +glaikit/SM +glair/ZSM +Glaisdale/M +Glaister/M +glaive/SM +glam/SGDM +Glamis/M +Glamorgan/M +Glamorganshire/M +glamorise/nDRSG +glamorous/UY +glamour/GMDSp +glamourise/SGDN +glamourpuss/SM +glamp/SGDR +Glan/M +glance/kDSGM +gland/MSp +glanders/M Noun: uncountable +glandes +Glandford/M +glandular/YSM +glans/M +Glantwymyn/M +Glanvill/M +Glanville/MS +Glapthorn/M +Glapton/M +Glapwell/M +glare/kSDGMZ +glargine/M Noun: uncountable +glaring/PSM +Glasbury/M +Glascote/M +Glascwm/M +Glaser/M +Glasford/M +Glasgow/M +Glasgwm/M +glasnost/SM +glass-blower/SM +glass-blowing/M Noun: uncountable +glass/D6MGZzSp +Glass/M +Glassary/M +Glassboro/M +Glasserton/M +Glassey/M +Glassford/M +glassful/MS +glasshouse/SM +glasslike +glassmaker/SM +glassmaking/M Noun: uncountable +Glassonby/M +glasspaper/M Noun: uncountable +glassware/MS +glasswork/SM +glasswort/SM +glassy/PTSM +Glaston/M +Glastonbury/M +Glaswegian/SM +Glatton/M +Glauber/M +glaucoma/MS +glauconite/SMW +glaucous/Y +glaucousness/M Noun: uncountable +GlaxoSmithKline/M +glaze/RSJDGZM +Glazebrook/M +Glazebury/M +Glazeley/M +glazier/SM +glaziery/M Noun: usually uncountable +Glazunov/M +GLC/M +gleam/GSMDZ +glean/DRSGJ +Gleason/M +Glebe/M +glebe/SM +gled/MS +glee/DjSM6 +gleeful/P +gleeman/M +gleemen/M +gleesome/Y +gleesomeness/M Noun: uncountable +Gleevec/M +Gleichschaltung/M +Gleick/M +Gleitsmann/M +Glemham/M +Glemsford/M +Glen/MS +glen/MS +Glenaray/M +Glenarm/M +Glenavy/M +Glenbervie/M +Glenboig/M +Glenbuchat/M +Glenburn/M +Glencairn/M +Glencoe/M +Glencorse/M +Glenda/M +Glendale/M +Glendaruel/M +Glendene/M +Glendevon/M +Glendon/M +Glendora/M +Glendowie/M +Glenelg/M +Glenfarg/M +Glenfield/MS +Glengairn/M +Glengarry/M +glengarry/SM +Glengormley/M +Glengorse/M +Glenhead/M +Glenholm/M +Glenis/M +Glenisla/M +Glenlivet/M +Glenluce/M +Glenmavis/M +Glenmoriston/M +Glenmornan/M +Glenmuick/M +Glenn/M +Glenny/M +Glenoe/M +glenohumeral +glenoid/SM +Glenone/M +Glenorchy/M +Glenpool/M +Glenrothes/M +Glenshee/M +Glenshiel/M +Glenside/M +Glentham/M +Glentui/M +Glentworth/M +Glenvar/M +Glenview/M +Glenville/M +gley/SM +glib/TPY +Glidden/M +glide/GSRDJM +Gliese/M +glim/SM +glimepiride/M Noun: uncountable +glimmer/dJSM +glimpse/MGRDS +Glims/M +glint/DGSM +Glinton/M +glioblastoma/SM +glioblastomata/M +glioma/SM +gliomata/M +glioses +gliosis/M +glipizide/M Noun: uncountable +glissade/DGSM +glissandi/M Plural of glissando +glissando/MS +glissandoes +glissé/SM +glisten/SdM +glister/SdM +glitch/RDGMSp +glitchy/T +glitter/dSZkJM +glitterati/M Noun: uncountable +glitz/SDGZM +glitziness/M Noun: uncountable +glitzy/T +gloaming/MS +gloat/GkSDrM +glob/SMGD +global/3Y +globalise/SGDnr +globalism/SM +globe-like +globe-trotting/M Noun: uncountable +globe/SMDG +globefish/SM +globetrotter/MS +globigerina/SM +globigerinae/M +globoid/SM +globose/Y +globoseness/M Noun: uncountable +globular/YPSM +globularity/M Noun: usually uncountable +globularness/M Noun: uncountable +globule/SM +globulin/SM +glocalisation/SM +glochid/SM +glockenspiel/SM +glom/SGD +glomerular/Y +glomeruli/M Plural of glomerulus +glomerulonephrites +glomerulonephritides +glomerulonephritis/M +glomerulus/M +gloom/MDGZSz +gloomy/TP +gloop/SM +gloopy/TP +Glooston/M +Gloria/MS +gloriam ad majorem Dei gloriam +glorify/RSGnD +gloriole/MS +glorious/PYI +glory/MSGD +gloss/zSGZMDO +glossalgia/SM +glossary/OSM3 +glossator/SMOZ +glossitis/M Noun: uncountable +glossographer/SM +glossolalia/SMW +Glossop/M +glossopharyngeal/SM +glossy/TSMP +glottal/SM +glottic +glottides +glottis/SM +Glotzer/M +Gloucester/M +Gloucestershire/M +glove/SRGDMp +glovebox/SM +Gloversville/M +glow-worm/SM +glow/GRDkSM +glower/d +glowy/T +Gloxin/M +gloxinia/SM +gloze/SGDJ +glucagon/SM +glucan/SM +Glucksman/M +glucocorticoid/SM +gluconate/SM +glucosamine/SM +glucose/MS +glucoside/SMW1 +glucuronate/SM +glucuronide/SM +glue-sniffer/SM +glue-sniffing/M +glue/SRMDGZ +glueball/SM +glueing +glug/SGDM +gluggable +gluier +gluiest +glum/TYP +glumaceous +glume/SM +glumose +glunch/SGD +gluon/SMW +gluonia/M Plural of gluonium +gluonics/M Noun: uncountable +gluonium/SM +Glusburn/M +Gluss/M +glut/SMGD +glutamate/SM +glutamic +glutamine/SM +glutaraldehyde/M Noun: uncountable +glutathione/SM +gluteal/SM +glutei/M Plural of gluteus +gluten/SM +gluteus/M +glutinous/PY +glutton/SM +gluttonous/Y +gluttonousness/M Noun: uncountable +gluttony/SM +Gluvias/M +glyburide/M Noun: uncountable +glycaemia/WM +glycan/SM +glycated +glycation/SM +glyceride/MS +glycerin/SM +glycerinate/SGD +glycerine/SM +glycerol/SM +glycine/SM +glycogen/SMW +glycogeneses +glycogenesis/M +glycol/MSW +glycolaldehyde/SM +glycolipid/SM +glycollic +glycolyses +glycolysis +glycolytic/Y +glycoprotein/SM +glycosaminoglycan/SM +glycoside/SMW1 +glycosuria/SMW +glycosyl/SM +glycosylate/SGDn +glycosyltransferase/SM +Glympton/M +Glyn/M +Glyncollen/M +Glyncorrwg/M +Glynde/M +Glyndebourne/M +Glyndŵr/M +Glynn/M +Glynneath/M +Glynrhondda/M +Glyntraian/M +glyph/SMW1 +glyptic/O +glyptics/M Noun: uncountable +glyptodon/SM +glyptography/M Noun: uncountable +gm/SM +Gmail/SGDM +gmail/SGDM +Gmane/M +GmbH/M +GMO/SM Initialism of genetically modified organism +GMT Initialism of Greenwich Mean Time +Gnaeus/M +gnarl/GSMD +gnarly/T +gnash/DGS +gnat/MS +gnathic +gnaw/JSGDr +gneiss/MS +gneissose Adjective +gnetophyte/SM +Gnilka/M +gnocchi/SM +gnomae/M Plural of gnome +gnomai/M Plural of gnome +GNOME/M +gnome/MS +gnomelike +gnomic/OY +gnomish/Y +gnomishness/M Noun: uncountable +gnomon/WSM +Gnosall/M +gnoses +gnosis/M +Gnostic/MS +gnostic/SM +Gnosticism/SM +gnosticism/SM +GNP/SM Initialism of gross national product +GNU/M +gnu/MS +GnuPG/M +go-ahead/SM +go-between/SM +go-kart/SM +go-karting/M Noun: uncountable +go-slow/SM +go/fGe +go/M +Goa/M +goad/GDMS +Goadby/M +goadsman/M +goadsmen/M +goal-line/SM +goal/pSGDM +goalball/SMr +goalhanger/SM +goalie/MS +goalkeeper/MS +goalkeeping/M Noun: uncountable +goalmouth/SM +goalpost/SM +goalscorer/SM +goalscoring/M Noun: uncountable +goaltending/M Noun: uncountable +goalward/S +Goan/SM +Goanese/M +goanna/SM +goat/ZMS~ +goatee/SMd +goatherd/SM +Goathill/M +Goathland/M +Goathurst/M +goatling/MS +goatskin/SM +goatsucker/SM +gob/SGDM +Gobalds/M +gobbet/SM +gobble/RDGSM +gobbledegook/M Noun: usually uncountable +gobbledygook/M Noun: usually uncountable +gobby/SM +Gobel/M +Göbel/M +Gobelin/MS +gobemouche/SM +Gobi/M +Gobion/M +goblet/SM +goblin/SM +Gobowen/M +gobsmacked +gobsmacking +gobstopper/SM +goby/SM +Goch/M +gochujang/M Noun: uncountable +Goclenian +god-daughter/MS +God-fearer/SM +God-fearing/Y +God-forsaken +God-given +God-loving +God-manhood/M +God-shaped +God/6M +god/SMYp +Godalming/M +godawful/Y +godawfulness/M Noun: uncountable +godchild/M +godchildren/M +goddammit +Goddard/M +goddess/SM +goddish +Gödel/M +Goderich/M +godet/SM +godetia/SM +godfather/SdMY +godfatherhood/M Noun: uncountable +godfathership/SM +godforsaken/Y +godforsakenness/M Noun: uncountable +Godfrey/M +Godfull +Godhead/M +godhead/SM +godhood/SM +Godington/M +Godinho/M +godless/PY +godlike/P +godly/PT +Godmanchester/M +Godmanstone/M +Godmersham/M +godmother/MS +Godney/M +Godolphin/M +godown/MS +godparent/MS +godsend/MS +Godshill/M +godship/MS +godson/MS +Godspeed/SM +Godstone/M +Godwick/M +Godwin/M +Godwinson/M +godwit/SM +Godwottery/M +Godzilla/M +Goebbels/M +Goebel/M +Goeppert/M +goer/SM +Goering/M +goes/ef +goeth +Goethe/M +Goethean +Goethian +goethite/SM +Goetre/M +gofer/SM +Goff/MS +goffer/MSdr +Goffinet/M +Goffman/M +Goffstown/M +Gog/M +Gogebic/M +goggle-box/SM +goggle-eyed +goggle/SRDGM +Gogh/M +Goidel/MS +Goidelic/M +going/SM +goings-on/M +goitre/DMS +goitrous +Goju-Ryu/M +Goju-ryu/M +Golborne/M +Golconda/M +gold-plate/SGD Verb +Gold/M +gold/TSM +Golda/M +Goldbach/M +Goldberg/M +Goldbeter/M +goldbrick/MDRSG +Goldcliff/M +goldcrest/SM +Golden/M +golden/PY +goldendoodle/SM +goldeneye/SM +goldenrod/MS +goldenseal/SM +Golder/SM +goldfield/SM +goldfinch/SM +goldfish/SM +goldfishery/SM +Goldhaber/M +Goldhamer/M +goldhammer/SM +Goldhanger/M +Goldie/M +goldilocks +Golding/M +Goldington/M +Goldman/M +goldmine/SM +Goldney/M +Goldreich/M +Goldsboro/M +Goldsborough/M +Goldschmidt/M +Goldshaw/M +Goldsman/M +Goldsmith/M +goldsmith/SM +Goldstein/M +Goldstone/M +Goldwater/M +Goldwyn/M +golem/MS +Goleta/M +golf/MRSGD +Golflands/M +Golgi/M +golgotha +Golgotha/SM +Goliath/M +goliath/SM +golliwog/SM +gollop/MSd +golly/SM +gollywog/SM +Golomb/M +Golspie/M +Goltho/M +Golub/SM +gombeen/SM +Gomes/M +Gómez/M +Gomez/M +Gomorrah/M +gonad/OMSo +gonadectomy/SM +gonadotrophic +gonadotrophin/SM +gonadotropic +gonadotropin/SM +Gonalston/M +Gonçalo/M +Gonçalves/M +gondoic +gondola/MS +gondolier/MS +Gondwana/M +Gondwanaland/M +Gondwanan/SM +gone/R +Gonerby/M +gonfalon/SM +gonfalonier/SM +gong/SDMG +Gonggong/M +goniometer/MSWw +goniometry/SM +gonna +Gonne/M +gonococci/MO +gonococcus/M +gonoduct/SM +gonolek/SM +gonorrhoea/SMO +Gonubie/M +Gonville/M +Gonzales/M +Gonzalez/M +goo/ZM +Goober/M +Goochland/M +good-for-nothing/SM +good-for-nothingness/M Noun: uncountable +good-humoured/Y +good-humouredness/M Noun: uncountable +good-looking +good-lookingness/M Noun: uncountable +good-natured/Y +good-naturedness/M Noun: uncountable +good-oh +good-tempered +good-temperedness/M Noun: uncountable +Good/M +good/rSZPY~M +Goodall/M +goodbye/MS +Goode/M +Gooden/M +Gooderstone/M +Goodfellow/M +goodhearted/Y +goodheartedness/M Noun: uncountable +Goodhue/M +goodie/M +goodiness/M Noun: uncountable +Gooding/M +Goodleigh/M +Goodlettsville/M +goodly/TP +Goodman/M +goodman/M +Goodmanham/M +goodmen/M +Goodnestone/M +goodnight +goodo +Goodpasture/M +Goodramgate/M +Goodrich/M +Goodsell/M +Goodshaw/M +Goodwick/M +goodwife/M +goodwill/SM +Goodwin/M +goodwives +Goodwood/M +Goodworth/M +goody/MS +Goodyear/M +gooeyness/M Noun: uncountable +goof/GDMZSR +goofy/TP +google/DSG7M +Google/M +googleable +googly/SMT +googol/S +gooier +gooiest +gook/SMZ +Goole/M +Gooley/M +goon/SM +goop/M Noun: usually uncountable +goopy/TP +goosander/SM +goose-step/SMGDR +Goose/M +goose/MSGD +gooseberry/SM +goosebump/SM +goosefoot/SM +goosegog/MS +goosegrass/SM +Goosey/M +Goosnargh/M +Goostrey/M +GOP/SM +Gopher An Internet protocol for document search and retrieval +gopher/MS +goral/SM +Goran/M +Göran/M +Gorbach/M +Gorbachev/M +Gorbals/M +gorbellied +gorblimey +gorcock/SM +Gorda/M +Gordano/M +Gordian/M +Gordius/M +Gordo/M +Gordon/M +Gordonsburgh/M +Gordonstoun/M +gore/SMDGJZ +Gorebridge/M +Gorefield/M +Goren/M +Goresky/M +Gorey/M +Gorge/M +gorge/MSDG +gorgeous/YP +gorger/EM +gorget/SM +Gorgie/M +gorgon/SM +gorgonian/SM +Gorgonzola/M +Gorham/M +gorilla/SM +Goring-on-Thames/M +Goring/SM +Gorkhali/M +Gorky/M +Gorleston/M +gormandise/GSRD +gormless/Y +gormlessness/M Noun: uncountable +Gornal/M +Gornik/M +Gorran/M +gorse/MSZ +Gorsedd/MS +Gorseinon/M +Gorslas/M +Gorsley/M +Gorsuch/M +Gortaclare/M +Gortin/M +Gortnahey/M +Gorton/M +gory/TYP +Gosbeck/M +Gosberton/M +Goscombe/M +Goscote/M +Gosfield/M +Gosford/M +Gosforth/M +gosh/S +goshawk/SM +Goshedan/M +Goshen/M +gosling/SM +Gospel/MS +gospel/SMR +Gosport/M +Goss/M +gossamer/MSZ +Gosse/M +Gosset/M +Gossett/M +gossip/dSMr +gossipy/T +gossoon/SM +Gossops/M +gossypol/SM +got +gotcha +gotcher +Göteborg/M +Goth/1SM +goth/SMW +Gotha/M +Gotham/M +Gothenburg/M +Gotherington/M +Gothic/SM +Gothicise/SGD +Gothicism/SM +Gothicness/M Noun: uncountable +Gotland/M +GOTO/SGDM +gotta +gotten +Gottesman/M +Gottfried/M +Gotthard/M +Gottlieb/M +gouache/SM +Gouda/M +Goudhurst/M +Goudie/M +gouge/DRGSM +Gough/M +goujon/SM +goulash/MS +Goulburn/M +Goulceby/M +Gould/M +Gounod/M +gourami/SM +gouramies +gourd/MSZ +gourdful/SM +Gourdon/M +gourdsful/M +gourmand/SM +gourmandise/SGDR +gourmandism/M Noun: uncountable +gourmet/SM +Gourock/M +Goussé/M +gout/ZSM +goutweed/M Noun: uncountable +gouty/T +gov. +Govan/M +Govanhill/M +govern/GaSD +governable/U +governance/SM +governess/MSZ +government/aM +government/SM +governmental/Y3 +governmentalisation/M Noun: usually uncountable +governmentalism/M Noun: uncountable +governmentese/M Noun: uncountable +governmentwide +governor/MS +governorate/SM +governorship/MS +Govind/M +Govt. +gowan/MS +Gowdall/M +Gower/M +Gowerton/M +gowk/MS +Gowkthrapple/M +Gowland/M +gown/SDMG +Gowts/M +Goxhill/M +Goy/M +goy/MS +Goya/M +goyem/M Plural of goy +goyim/M Plural of goy +GP/SM +GPa +GPG/M +Gpg4win/M +GPGTools/M +gph +GPL/M +gpm +GPMU Graphical, Paper, and Media Union +GPO +GPRS/M Noun: uncountable +GPS/M +GPSes +GPSS +GPU/SM +gr +Graaf/M +Graafian +grab/RSMJDG +Graban/M +grabble/DGS +graben/SM +Grabowski/M +Graça/M +grace/DpG6MjS +Grace/MS +grâce/S +Gracechurch/M +Gracefield/M +graceful/EPY +gracefuller +gracefullest +gracefulness/SE +Gracehill/M +graceless/YP +Gracemount/M +Gracenote/M +Gracie/M +Graciela/M +gracile Adjective +gracility/SM +gracious/UY +graciousness/MS +grackle/SM +grad/SM7 +gradability/M Noun: usually uncountable +gradate/DSG +gradation/CM +gradation/Oo +Grade-Ruan/M +grade/JMY +Grade/M +grade/nRCSDG +gradience/M Noun: usually uncountable +gradient/SM +gradin/MS +gradine/MS +gradiometer/SM +Gradle/M +gradual/SMYP3 +gradualism/SM +gradualistic +graduand/SM +graduate/MGnDS +gradus/MS +Grady/M +Graecise/SGD +Graecism/MS +Graeco-Roman +Graeme/M +Graemsay/M +Graf/M +Grafen/M +Gräfenberg/M +Graff/M +Graffham/M +graffiti/M +graffito/M +Graffoe/M +Grafham/M +graft/SMRGDJ +Grafton/M +Graham/M +Grahame/M +Grahamston/M +Grahamstown/M +Graig/M +Grail +grail/SM +grain/DIGS +Grain/M +grain/Mpr +Grainger/M +graining/SM +Grainne/M +Grainsby/M +Grainsthorpe/M +Grainthorpe/M +grainy/TP +graip/MS +Gralam/M +gralloch/GDM +grallochs +Gram/M +gram/MS +graminaceous +graminivorous +grammalogue/SM +Grammar/M +grammar/SM +grammarian/MS +grammatical/PY +grammaticalise/SGDn +grammaticality/SM +gramme/SM +Grammy/SM +Grammys +gramophone/MSW +Grampian/MS +Grampound/M +grampus/MS +Gramsci/M +Gran/SM +gran/SM +Granada/M +granadilla/MS +granary/SM +Granborough/M +Granby/M +Grand/M +grand/TYSMP +grandad/SM +grandam/MS +grandame/SM +grandaunt/MS +grandbabe/SM +grandbaby/SM +Grandborough/M +grandchild/M +grandchildren/M +granddad/SMZ +granddaddy/SM +granddaughter/MS +Grande-Rivière/M +Grande/M +grandee/SM +grandeur/SM +grandfather/MdSY +grandiflora/MS +grandiloquence/MS +grandiloquent/Y +Grandin/M +grandiose/YP +grandiosity/MS +Grandison/M +Grandisonian +grandma/SM +grandmaster/SM +grandmother/MYS +grandmotherhood/M Noun: uncountable +grandnephew/SM +grandniece/MS +Grandon/M +grandpa/MS +grandparent/SMO +grandparenthood/M Noun: uncountable +grandsire/MS +grandson/SM +grandstand/SDGMR +granduncle/SM +Grandview/M +Grandville/M +Grange-Over-Sands/M +Grange/M +grange/SM +Grangemouth/M +Granger/M +grangerise/DGSnr +Grangetown/M +graniferous +graniform +Granit/M +Granite/M +granite/MWS +granitoid/SM +Granity/M +granivorous +grannie/MS +granny/MS +granodiorite/SM +granolithic/M +Gransden/M +Granston/M +grant-maintained +grant/DRMGS +Grant/MS +Granta/M +grantable +Grantchester/M +grantee/SM +Granth/M +Grantham/M +Grantley/M +Granton/M +grantor/SM +Grantown-on-Spey/M +Grantown/M +grantsmanship/SM +Grantully/M +granular/Y +granularity/MS +granulate/SDGn +granulator/MS +granule/nMVS +granulite/WSM +granulocyte/SMW +granuloma/SM +granulomata/M +granulomatous +granulometric/Y +Granville/M +grape/MSZ +grapefruit/SM +grapeseed/SM +grapeshot/M Noun: usually uncountable +grapestone/SM +Grapevine/M +grapevine/MS +grapey +graph/MWGwD1S +grapheme/MSW +graphemic/Y +graphemics/M Noun: uncountable +graphene/SM +graphic/MPS +graphism/SM +graphite/MSW +graphology/SM3w +grapnel/SM +grappa/SM +Grappenhall/M +grapple/SGJDMR +graptolite/SM +Grasby/M +Grasmere/M +grasp/Gk7DSRM +grasping/SMPY +Grass/M +grass/ZSDGMrp +grasscloth/SM +Grasse/M +grasshopper/SM +Grassington/M +grassland/SM +Grassmoor/M +grassquit/SM +Grassthorpe/M +grassy/T +grata persona grata +gratae personae gratae +grate/jRG6SMDkJ +grateful/TP +Grateley/M +gratia gratia Dei +Gratian/M +graticule/SM +gratify/RSGknD +gratin/SM +grating/SMY +gratingness/M Noun: uncountable +Gratiot/M +gratis +gratitude/SIM +Gratton/M +gratuitous/PY +gratuity/MS +Gratus/M +Gratwich/M +Grauman/M +graunch/DGSM +Graunt/M +grav/SM +gravadlax/M Noun: uncountable +gravamen/MS +gravamina/M +gravatar/SM +grave-stone/SM +grave/RSMZPTDYG +gravedigger/SM +gravel/DYGMS +Graveley/M +graven +Graveney/M +Gravenhurst/M +Graves/M +Gravesen/M +Gravesend/M +Gravesham/M +graveside/SM +gravestone/MS +Gravettian +graveyard/MS +gravid/YP +gravimeter/1SWM +gravimetry/M Noun: usually uncountable +gravis myasthenia gravis +gravitas/M Noun: uncountable +gravitate/DGnVxS +gravitino/SM +graviton/MSW +gravitropic/Y +gravity/SM +gravlax/M Noun: uncountable +gravure/SM +gravy/MS +grawlix/SM +Gray/MS +gray/SM +Grayingham/M +Grayrigg/M +Grayshott/M +Grayslake/M +Grayson/M +Graz/M +graze/JRSGD +Graziani/M +grazier/SM +Greasborough/M +grease/CDRGS +grease/M +greasepaint/SM +greaseproof +Greasley/M +greasy/PTY +great-aunt/SM +great-grandchild/M +great-grandchildren/M +great-grandfather/SM +great-grandmother/SM +great-grandparent/SM +great-nephew/SM +great-niece/SM +great-uncle/SM +Great/M +great/PYSMT +greatcoat/SDMp +greaten/Sd +Greater/M +Greatford/M +Greatham/M +greathearted/Y +greatheartedness/M Noun: uncountable +Greatworth/M +greave/SM +Greaves/M +grebe/SM +Grecian/SM +Grecism/MS +Greco-Roman +Greece/M +greed/SzM +greedy/PT +greegree/SM +Greek/SM +Greekness/M Noun: uncountable +Greeley/M +green-eyed +Green/M +green/TPMGYDSpr +Greenacres/M +Greenaway/M +Greenback/M +Greenbank/M +Greenbaum/M +Greenbelt/M +greenbelt/SM +Greenberg/M +greenbottle/SM +Greenbrier/M +greenbrier/SM +greenbul/SM +Greenburgh/M +Greenbush/M +Greencastle/M +Greendale/M +Greendykes/M +Greene/M +greenery/SM +Greeneville/M +Greenfield/M +greenfield/SM +greenfinch/SM +greenfly/MS +Greenford/M +greengage/MS +Greengairs/M +greengrocer/SZM +greengrocery/SM +Greenhalgh-with-Thistleton/M +Greenhalgh/M +Greenham/M +Greenhead/M +greenhead/SM +greenheart/SM +Greenhill/MS +Greenhithe/M +Greenholm/M +greenhorn/MS +greenhouse/MS +Greenhow/M +greenie/SM +greening/SM +greenish/YP +Greenisland/M +greenkeeper/SM +Greenland/WRM~ +greenlandit/SM +greenlandite/SM +Greenlandman/M +Greenlands/M +Greenlane/M +Greenlaw/M +greenlet/SM +Greenleys/M +greenling/SM +greenmail/SGDRM +Greenmeadows/M +Greenmount/M +Greenock/M +Greenpeace/M +Greenrigg/M +Greensand/M +greensand/SM +Greensboro/M +Greensburg/M +greenshank/SM +greensick Adjective +greensickness/M Noun: uncountable +Greenside/M +Greenstead/M +greenstick/SM +greenstone/SM +greenstuff/SM +Greensville/M +greensward/SM +greenth/M Noun: uncountable +Greenup/M +Greenville/M +greenweed/SM +Greenwich/M +Greenwood/M +greenwood/SM +greeny/SM +Greer/M +Greerton/M +greet/DRGSJ +Greete/M +Greetham/M +Greetwell/M +Greg/M +gregarious/PY +Gregg/M +Gregor/M +Gregorian/SM +Gregorio/M +Gregory/M +Greig/M +greige/SM +Greinton/M +gremlin/MS +Grenada/M +grenade/MS +Grenadian/SM +Grenadier/MS +grenadier/SM +grenadilla/MS +grenadine/MS +Grenadines/M +Grendon/M +Grene/M +Grenoble/M +Grenville/M +Gresford/M +Gresham/M +Gresley/M +Gressenhall/M +Gressingham/M +Gresty/M +Greta/M +Gretchen/M +Gretel/M +Gretna/M +Gretton/M +grevillea/SM +grew/cAe +Grewelthorpe/M +Grexit/M +Grey/MS +grey/TMSDYGP~ +Greyabbey/M +greybeard/SM +Greyfriars/M +greyhound/SM +greylag/SM +Greymouth/M +greyscale/SM +Greystead/M +Greysteel/M +Greystoke/M +greystone/SM +Greytown/M +greywacke/SM +Greywell/M +Grice/M +grid/SMGDJ +griddle/DGSM +Gridgeman/M +gridiron/MS +gridlock/DSGM +grief/MSDGR +Grieg/M +Grier/M +grievance/MS +grieve/RkSDG +grievous/PY +griff/SM +Griffey/M +Griffin/M +griffin/SM +Griffith/MS +griffon/SM +grig/SM +Grigori/M +Grigson/M +grill/GSDM +grillage/MS +grille/SMR +Grilo/M +grilse/SM +grim/PYT +grimace/RMDSG +Grimaldi/M +grimalkin/MS +Grimble/M +grime/ZMSGD +Grimes/M +Grimeston/M +Grimley/M +Grimm/M +grimoire/SM +Grimoldby/M +Grimond/M +Grimsargh/M +Grimsay/M +Grimsby/M +Grimshaw/M +Grimstead/M +Grimston/M +Grimstone/M +Grimthorpe/M +grimy/PTY +grin/DGSMR +grind/RGJSMk +Grindale/M +Grindalythe/M +grindcore/M Noun: uncountable +Grindleford/M +Grindleton/M +Grindlow/M +Grindon/M +grindstone/MS +Gringley/M +gringo/SM +grinning/YSM +Grinsdale/M +Grinshill/M +Grinstead/M +Grinton/M +griot/SM +grip/rRdGMDS +gripe/SM +grippe/M Noun: uncountable +gripping/YSM +grippingness/M Noun: uncountable +grippy/T +grisaille/SM +griseofulvin/SM +grisette/SM +griskin/SM +grisly/PT +grison/SM +grissini/M Plural of grissino +grissino/M +grist/SMY +Gristhorpe/M +gristle/SM +gristly/PT +Griston/M +Griswold/M +grit/GSDRMZ +Grittleton/M +gritty/TP +grizzle/SYGDMr +grizzliness/M Noun: uncountable +grizzling/SM +grizzly/TSM +groan/MGRDS +groat/MS +Grobler/M +Groby/M +grocer/SM +grocery/SM +Groff/M +grog/ZzSGDM +Groggan/M +groggy/TP +grogram/SM +groin/SMGD +grok/SDG +grommet/dMS +gromwell/SM +Groningen/M +Gronkowski/M +groom/RSDGM +Groombridge/M +Groomsport/M +Groot/M +groove/GSDMZ +groovy/TYP +grope/RJSDGkM +grosbeak/MS +groschen/SM +grosgrain/SM +Grosmont/M +gross/YSDTPGM +Grosse/M +Grosseteste/M +Grossman/M +grossular/SM +Grosvenor/M +Grosz/M +grot/SM +Grote/M +grotesque/SMPY +grotesquerie/SM +Grothendieck/M +Groton/M +grotto/SMD +grottoes +grotty/TP +grouch/2ZDSzGM +Groucho/M +grouchy/T +ground-plan/SM +ground-to-air +Ground/M +ground/mRMGJDpS +groundbait/SMG +groundbreaker/SM +groundbreaking/SMY +groundburst/SM +groundkeeper/SM +groundless/PY +groundmass/SM +groundnut/SM +groundsel/SM +groundshare/SGDM +groundsheet/SM +groundskeeper/SM +groundswell/SM +groundwater/SM +groundwork/SMr +group/SMRJGDZ3 +groupage/SM +groupie/SM +grouping/SM +groupism/M Noun: uncountable +Groupon/M +groupset/SM +groupware/M Noun: uncountable +grouse/RGSDM +grout/MGDSR +Grouville/M +Grove/MS +grove/RSM +grovel/DSGR +Groveland/M +Grover/M +Grovesend/M +Grovetown/M +grovy Adjective +grow/7RkGS +growing/Iec +growl/2GSkDRM +grown-up/MS +grown/ceIA +grows/cAe +growth/eSAIMcf +groyne/MS +Grozny/M +grub/zRMZDGS +grubby/TP +grubstake/MGDS +grubworm/SM +Grude/M +Grudem/M +Gruden/M +grudge/RSMkDG +gruel/MGkS +gruesome/YPT +gruff/DTPGY +Gruffudd/M +grumble/GRJkSDM +grume/SM +Grumman/M +grump/zSZM~ +grumpy/PTY +Grundisburgh/M +Grundy/M +Grundyism/MS +Grünewald/M +grunge/MZr +grungy/T +grunion/SM +grunt/DGSMR +gruntled Adjective +Grus/M +Gruyère/M +Gruyter/M +GRVA Groupe des Rapporteurs Véhicules Automatisés +Grwyney/M +gryphon/SM +grysbok/SM +GSA/SM +gsm Initialism of grams per square metre (unit for measuring the weight of paper) +GSM/M +GSoC/M Initialism of Google Summer of Code +GT/SM +GTA/SM +GTIN/SM Global Trade Item Number +GTK/M Initialism of GIMP Toolkit +GTX/M +GU/M Initialism of general user +guacamole/SM +guacharo/SM +Guadalajara/M +Guadalcanal/M +Guadalupe/M +Guadeloupe/M +guaiac/SM +guaiacum/MS +guaifenesin/M Noun: uncountable +Guam/M +Guamanian/SM +guanaco/MS +Guanaja/M +Guangdong/M +Guangfa/M +Guangxi/M +Guangzhou/M +guanidine/SM +guanine/SM +guano/MS +guanosine/SM +Guantanamo/M +Guantánamo/M +Guanyin/M +guarana/SM +Guarani/M +guarani/SM +guarantee/GdSM +guarantor/SM +guaranty/SM +guard/RmGDhMiS +Guarda/M +guardant/SM +Guardbridge/M +guarded/P +guardee/SM +guardhouse/MS +Guardi/M +Guardia/M +guardian/SM +guardianship/SM +guardrail/MS +guardroom/SM +guardship/SM +Guarlford/M +Guarnerius/MS +Guatamala/M +Guatemala/M +Guatemalan/SM +guava/MS +Guayama/M +Guayaquil/M +guayavita +guayule/MS +gubbins +gubernatorial/Y +Gucci/M +guddle/DGSr +Guderian/M +gudgeon/SM +Guélat/M +guelder guelder rose +Guelph/SMW +guenon/MS +Guenther/SM +guerdon/MSd +guerilla/SM +Guernica/M +Guernsey/MS +guernsey/SM +Guerra/M +guerre nom de guerre +Guerre/M +Guerreiro/M +Guerrero/M +guerrilla/SM +guess/DRG7SM +guesstimate/GDSM +guesswork/SM +guest/DGMS +guestbook/SM +guestimate/DSGM +Guestling/M +Guestwick/M +Guevara/M +guff/MS +guffaw/GDSM +Guggenheim/M +guggle/SGDJM +Guglielmo/M +GUI/SM Initialism of graphical user interface +Guiana/M +guidable Adjective +guidance/MaS +guide/aDSG +guidebook/MS +guideline/SM +guidepost/MS +guider/aSM +guideway/SM +Guido/M +guidon/SM +Guignol/M +guild/MSR +guildable +Guildable/M +Guilden/M +Guildenstern/M +Guilderland/M +Guildford/M +Guildhall/M +guildhall/SM +guile/pSM6j +guilefulness/M Noun: uncountable +guileless/YP +Guiley/M +Guilford/M +Guillaume/M +guillemot/MS +Guillermo/M +guilloche/SM +Guillotin/M +guillotine/DSMG +Guilsborough/M +Guilsfield/M +guilt/SzMp +guiltless/PY +guilty/TP +Guimarães/M +guimp/MS +Guinan/SM +Guinea-Bissau/M +Guinea/M +guinea/MS +Guinean/SM +Guinevere/M +Guinness/SM +guipure/SM +Guisborough/M +guise/EMS +Guise/M +Guiseley/M +guiser/MS +Guist/M +guitar/3MS +Guiting/M +Guiyang/M +Guizhen/M +Guizhou/M +Gujarat/M +Gujarati/SM +Gujerati/SM +Gujrat/M +Gulag/SM +gulag/SM +Gulati/M +Gulbenkian/M A surname from Armenian: Calouste Gulbenkian +Gulberwick/M +Guldeford/M +gulden/MS +gulet/SM +Gulf/M +gulf/SM +Gulfport/M +gull/SDMbGY +Gulladuff/M +Gullah/M +Gullane/M +gullery/SM +gullet/MS +gulley/SM +gullibility/SM +gullibleness/M Noun: uncountable +gullibly +Gulliver/M +gully/MSGD +gulose/SM +gulosity/M Noun: uncountable +gulp/RGSDZM +Gulval/M +Gulworthy/M +gum/G2DZMS +Gumble/M +Gumbo +gumbo/SM +gumboil/SM +gumboot/SM +gumdrop/SM +Gumfreston/M +Gumley/M +gumma/MS +gummata/M Plural of gumma +gummatous Adjective +Gummies/M +gummy/TPYSM +Gump/M +gumption/SM +gumshield/SM +gumtree/MS +gun/yGSZRMDp +gunboat/MS +Gunby/M +guncotton/SM +Gunderson/M +gunfight/RMS +gunfire/SM +gung-ho Adjective +Gungahlin/M +gunge/SDM +gungeing +gungy/T +gunite/SM +gunk/MZS +Gunkel/M +gunky/T +gunman/M +gunmen/M +gunmetal/SM +Gunnar/M +gunnel/SM +Gunnell/M +Gunner/M +gunnera/MS +Gunnerby/M +Gunnersbury/M +gunnery/SM +Gunness/M +gunning/SM +Gunnison/M +gunny/MS +gunnysack/MS +gunpoint/M Noun: uncountable +Gunpowder Gunpowder Plot +gunpowder/MS +gunroom/MS +gunrunner/MS +gunrunning/MS +gunship/SM +gunshot/MS +gunsight/SM +gunslinger/SM +gunslinging/M +gunsmith/SM +gunstock/SM +gunter-rigged Adjective +Gunter/M +gunter/SM +Gunther/M +Günther/M +Gunthorpe/M +Gunthwaite/M +Gunton/M +Gunville/M +gunwale/SM +Gunwalloe/M +gunyah/MS +guppy/MS +Gupta/M +gurdwara/SM +Gurevich/M +gurgle/DGSM +Gurinder/M +gurk/SMGDJ +Gurkha/MS +Gurkhali/M +Gurley/M +Gurmukhi/M +gurn/SGDr +gurnard/SM +Gurnee/M +Gurney/M +Gurnos/M +guru/SM +Gus/M +gush/GZRSDM +gushy/TY +Gussage/M +gusset/SMp +gusseted +gussy/SGDJ +gust/SD2MGzZn +Gustafson/M +gustative Adjective +gustatory Adjective +Gustav/M +Gustave/M +Gustavia/M +Gustavo/M +gustiness/M Noun: uncountable +gusto/M Noun: uncountable +Guston/M +gusty/TY +gut/DpGRSM +Gutenberg/M +Guterres/M +Gutfreund/M +Guthrie/M +Gutierrez/M +gutlessness/M Noun: uncountable +Gutman/M +guts/Z2r +gutsiness/M Noun: uncountable +gutsy/TPY +gutta-percha/SM +gutta/SM +guttae/M Plural of gutta +guttate/n +Guttenberg/M +gutter/SdM +guttering/M Noun: usually uncountable +guttersnipe/SM +Guttmacher/M +guttural/PSMY +Guwahati/M +Guy/M +guy/RSMDG +Guyana/M +Guyanese/M +Guyaneseness/M Noun: uncountable +Guyhirne/M +Guymon/M +Guyot/SM +guyot/SM +Guysborough/M +Guyton/M +guzzle/DRGSM +GW/SM +Gwaenysgor/M +Gwalior/M +Gwangju/M +Gwaun-Cae-Gurwen/M +Gwaun/M +Gwaunysgor/M +Gweek/M +Gwehelog/M +Gwen/M +Gwenddwr/M +Gwendolen/M +Gwendolyn/M +Gwenllian/SM +Gwennap/M +Gwent/M +Gwerfil/M +Gwerfyl/M +Gwernaffield/M +Gwernesney/M +Gwernyfed/M +Gwernymynydd/M +Gwersyllt/M +GWh +Gwilt/M +Gwinear-Gwithian/M +Gwinear/M +Gwinn/M +Gwinnett/M +Gwnnws/M +Gwredog/M +Gwyddelwern/M +Gwyn/M +Gwynedd/M +Gwyneth/M +Gwynfe/M +Gwynfor/M +gwyniad/MS +Gwynn/M +Gwytherin/M +Gy +Gyalwa/M +gyan/M Noun: uncountable +gybe/SGDM +Gyffylliog/M +Gyfin/M +Gyges/M +Gyllenhaal/M +gym/MS +gymkhana/SM +gymnasia/MO +gymnasium/SM +gymnast/S1MW +gymnastics/M Noun: uncountable +gymnosophist/MS +gymnosophy/M Noun: uncountable +gymnosperm/SM +gymnospermous Adjective +Gympie/M +gymslip/SM +gynaecocracy/SM +gynaecological/MSY +gynaecology/S3wM +gynaecomastia/M Noun: uncountable +gynandromorph/MSW +gynandromorphism/M Noun: usually uncountable +gynandrous Adjective +gynarchy/SM +gynephilia/M Noun: uncountable +gynocentric/Y +gynoecia/MO +gynoecium/M +gynophobia/MW +gyp/SM +gypped +gypping +gyppo/SM +gyppy/MS +gypseous Adjective +gypsiferous Adjective +gypsite/SM +Gypsophila Taxonomic genus +gypsophila/SM +gypster/SM +gypsum/SM +gypsy/SM~ +gypsydom/M Noun: uncountable +gypsyhood/MS +gypsyism/MS +gyrate/GDSn +gyrator/SM +gyratory/SM +gyre/SGDM +gyrfalcon/MS +gyri/M Plural of gyrus +gyro/SM +gyrocompass/SM +gyrocopter/SM +gyromagnetic/Y +gyromagnetics/M Noun: uncountable +gyropilot/SM +gyroplane/SM +gyroscope/SMW1 +gyrotron/SM +gyrus/SM +gyttja/SM +Gyumri/M +Gyves/M +gzip/SGD Verb +H-bomb/SM +h-Eileanan/M +H-hour/SM +H.264/M +H.265/M +h/E +ha'p'orth/SM +ha'pence/M Plural of ha'penny +ha'penny/SM +ha-ha/SM +ha/S +Haag/M +Haak/M +haar/MS +Haarlem/M +Haase/M +Haast/M +Habakkuk/M +habanera/MS +Habberley/M +Habblesthorpe/M +habeas/SM +Habegger/M +haberdasher/ZMS +haberdashery/MS +habergeon/MS +Habergham/M +Habersham/M +Habib/M +habile Adjective +habiliment/MS +habilis Homo habilis +habilitate/DGSn +habit-forming Adjective +habit/7ndgSM +habitability/MS +habitable/P +habitant/IFSM +habitat/MS +habitation/IMF +habitation/O +habited/IF +habits/FI +habitual/YP +habituate/nSDG +habitude/SM +habitué/MS +habitus/M +haboob/SM +Habra/M +Habrough/M +Habsburg/M +Habton/M +Haccombe/M +Hacconby/M +Haceby/M +Hacheston/M +Hachey/M +hacienda/SM +hack/zJSGD7RkM +hackathon/SM +hackberry/SM +Hackensack/M +hackerspace/SM +hackery/M Noun: uncountable +Hackett/M +hackette/SM +Hackford/M +Hackforth/M +Hackington/M +hackish/Y +hackle/DSMGRZ +Hackleton/M +hackmatack/SM +Hackness/M +Hackney/M +hackney/SDM +hacksaw/GSMD +Hackthorn/M +hacktivism/M Noun: uncountable +hacktivist/SM +Hackwood/M +hackwork/SM +hacky/T +Haconby/M +had/O +Hadamard/M +Haddad/M +Hadden/M +Haddenham/M +Haddington/M +Haddingtonshire/M +Haddiscoe/M +Haddlesey/M +haddock/SM +Haddon/M +Haddonfield/M +hade/SGDM +Hadean +Hades/M +Hadesarchaea Taxonomic class +Hadham/M +Hadid/M +Hadith/MS +hadj/M +hadjes +hadji/SM +Hadleigh/M +Hadley/M +Hadlow/M +hadn't +Hadnall/M +Hadrian/M +hadron/SM +hadronic/Y +hadronics/M Noun: uncountable +hadrosaur/SM +hadst +Hadstock/M +Hadzor/M +Haeckel/M +haem/SMOW +haemagglutinate/SGDN +haemagglutinin/SM +haemangioma/SM +haemangiomata/M +haematemesis/M Noun: usually uncountable +haematin/SM +haematite/SM +haematocele/SM +haematocrit/SM +haematogenous/Y +haematology/W3SMw +haematoma/MS +haematomata/M Plural of haematoma +haematophagous Adjective +haematopoiesis/M Noun: uncountable +haematopoietic/Y +haematoporphyria/M Noun: uncountable +haematoxylin/SM +haematuria/SM +haemochorial +haemochromatosis/M Noun: usually uncountable +haemocoel/SM +haemocyanin/SM +haemocyte/SM +haemocytometer/SM +haemodialyses Plural of haemodialysis +haemodialysis/M +haemodynamic/SYO +haemoglobin/SM +haemoglobinopathy/SM +haemoglobinuria/SM +haemolymph/SM +haemolysin/SM +haemolysis/M Noun: usually uncountable +haemolytic Adjective +haemophilia/MSW +haemophiliac/SM +haemophobia/M Noun: uncountable +haemopneumothorax/M Noun: uncountable +haemopoiesis/M Noun: uncountable +haemopoietic/Y +haemoptysis/M Noun: usually uncountable +haemorrhage/SGDWM +haemorrhoid/MSO +haemostasis/M Noun: usually uncountable +haemostat/SMW +Haemus/M (Greek mythology) a king of Thrace, the son of Boreas +Hafiz/M +Hafner/M +hafnium/M Noun: uncountable +hafnocene/SM +haft/MDGS +Haftar/M +hag/MS +Hagar/M +Hagbourne/M +Hagelberg/M +Hagelstein/M +Hagen/M +Hagendorf/M +Hager/M +Hagerstown/M +Hagerty/M +hagfish/SM +Haggadah/M +Haggai/M +haggard/PYSM +Haggerston/M +Haggerty/M +haggis/SM +haggish +haggle/DRSG +Haggs/M +Hagiographa/M (Judaism) The third division of the Hebrew scriptures; the Ketuvim +hagiographer/SM +hagiographic/OY +hagiography/MS +hagiolatry/M Noun: uncountable +hagiology/SM3w +hagioscope/SM +Hagley/M +Hagmann/M +Hagnaby/M +Hagon/M +hagridden Adjective +hagride/SGR +hagrode Simple past tense of hagride +Hague/M +Hagushi/M +Hagworthingham/M +Hahn/M +hahnium/M Noun: uncountable +Haider/M +Haifa/M +Haigh/M +Haighton/M +Haikou/M +haiku/SM +hail/RMDSG +Hail/SM A surname +Haile/M +Hailes/M +Hailey/M +Haili/M +Hailsham/M +hailstone/MS +hailstorm/SM +Hailwood/M +Hainan/M +Hainaut/M +Haines/M +Hainford/M +Hainton/M +Haiphong/M +hair-raiser/SM +hair-raising/Y +hair-splitter/SM +hair-splittery/M Noun: uncountable +hair-splitting/SMY +hair-trigger/SM +hair/p2ZSMD +hairball/SM +hairband/SM +hairbreadth/SM +hairbrush/SM +haircare/M Noun: uncountable +haircloth/SM +haircut/SMG +hairdo/SM +hairdresser/SM +hairdressing/MS +hairdrier/SM +hairdryer/SM +hairgrip/SM +hairless/PY +hairlike Adjective +hairline/MS +hairnet/SM +hairpiece/SM +hairpin/SM +hairsbreadth/SM +hairslide/SM +hairspray/SM +hairspring/SM +hairstyle/3MSG +hairy/PTY +Haisch/M +Haiti/M +Haitian/SM +Hajdu/M +hajj/M +hajjes Plural of hajj +hajji/SM +Håkan/M +Hakataramea/M +hake/SM +Hakewill/M +hakim/MS +Hakka/MS +Hakluyt/M +Hal/M +halal/SDG +Halam/M +Halama/M +halbard +halbardsman/M +Halbeath-Crossgates/M +Halbeath/M +halberd/SM +halberdier/MS +halberdman/M +halberdsman/M +Halberstam/M +Halbert/M +halbert/MS +Halberton/M +Halcombe/M +halcyon/SM +Hald/M +Halden/M +Haldenby/M +Halderman/M +Haldimand/M +Hale-Bopp/M +hale/SIDG +Halebank/M +Halen/M +haleness/M Noun: uncountable +haler/MI +Hales/M +Halesowen/M +halest +Halesworth/M +Halewood/M +Haley/M +half-and-half/SM +half-arse/SGD +half-back/SM +half-baked Adjective +half-blood/SMD +half-blue/SM +half-breed/SM +half-brother/SM +half-caste/SM +half-century/SM +half-crown/MS +half-cut Adjective +half-deck/SM +half-duplex Adjective +half-eaten +half-finished Adjective +half-hardy/SM +half-hearted/YP +half-hour/YSM +half-inch/SGDM +half-length/SM +half-life/M +half-light/M Noun: uncountable +half-lives Plural of half-life +half-marathon/MS +half-mast/M Noun: uncountable +half-moon/SM +half-sister/SM +half-step/SM +half-term/SM +half-timbered Adjective +half-time/SM +half-track/SM +half-truth/SM +half-year/SMY +half/M +Half/M +halfbeak/SM +halfbreed/SM +halfdeck/SM +Halfmoon/M +halfness/M Noun: usually uncountable +Halford/M +halfpence/M Plural of halfpenny +halfpenny/SM +halfpennyworth/MS +halfpipe/SM +halftone/SM +halfwave/SM +halfway +halfwit/hiSMD +halfword/SM +halibut/SM +halide/SM +halieutic/Y +Halifax/M +halite/MS +halitoses Plural of halitosis +halitosis/M +Halkin/M +Halkirk/M +Halkyn/M +Hall/M +hall/SM +Halladale/M +Hallam/M +Halland/M +Hallandale/M +Hallaton/M +Halle/M +hallelujah/SM +Hallet/M +Halley/M +Hallglen/M +Hallikeld/M +Halling/M +Hallingbury/M +Hallington/M +Halliwell/M +hallmark/SMDG +hallo/GSDM +halloo/SGDM +Hallot/M +Halloughton/M +hallow/DGSM +Hallow/MS +Halloween/M +Hallside/M +hallstand/SM +Hallstatt/M +Hallstein/M +halluces Plural of hallux +hallucinant/SM +hallucinate/nyVGDS +hallucinogen/SWM +hallucinogenic/SM +hallux/M +hallway/SM +halo/MDSG +halobiont/MS +halobiotic Adjective +haloes Plural of halo +haloesque +halogen/SM +halogenated +halogenation/SM +halogenous Adjective +halon/SM +haloperidol/SM +halophile/SMW +halophyte/SM +halothane/SM +Halsall/M +Halsam/M +Halse/M +Halsey/M +Halsham/M +Halstead/M +Halstock/M +Halstow/M +Halswell/M +halt/RJGSMkD +halter/d +haltere/SM +halterneck/SM +Haltham/M +Haltom/M +Halton-with-Aughton/M +Halton/M +Haltwhistle/M +halve/rGDS +Halvergate/M +Halwell/M +Halwill/M +halyard/MS +ham-fisted/YP +ham/DGSRZM +Ham/M +hamadryas/SM +Hamal/M +Hamamatsu/M +Haman/M +Hamas/M +hamate/SM +Hamble-le-Rice/M +Hamble/M +Hambleden/M +Hambledon/M +Hamblen/M +Hambleton/M +Hambridge/M +Hambrook/M +Hamburg/M +hamburger/SM +Hamden/M +Hamdon/M +hame/MS +Hamelin/M +Hameringham/M +Hamerton/M +Hamfallow/M +Hamill/M +Hamilton/M +Hamiltonian/SM +hamiltonian/SM +Hamiltonsbawn/M +Hamish/M +Hamite/MSW +hamlet/MS +Hamlet/MS +Hamlin/M +Hamlyn/M +Hamm/M +Hammarskjöld/M +hammer/dpr +hammerhead/SM +hammering/SMY +hammerlock/SM +Hammersmith/M +hammertoe/SM +Hammerton/M +Hammerwich/M +Hammett/M +Hammill/M +hammock/MS +Hammond/M +Hammonton/M +Hammoon/M +Hammurabi/M +hammy/T +Hamon/M +Hampden/M +hamper/dSM +Hampnett/M +Hampole/M +Hampreston/M +Hampshire/M +Hampstead/M +Hampsthwaite/M +Hampton/M +Hamsey/M +Hamstall/M +Hamstead/M +hamster/MS +Hamsterley/M +hamstring/SGM +hamstrung +Hamtramck/M +Han/M +Hana/M +Hanahan/M +Hanborough/M +Hanbury/M +Hancock/M +hand-axe/SM +hand-held/SM +hand-me-down/SM +hand-painted Adjective +hand-pick/GSD Verb +hand-to-hand Adjective +hand-to-mouth Adjective +hand/h6RzZSipMGD2 +Handan/M +handbag/SMDGZ +handball/MS +handbarrow/SM +handbasin/SM +handbasket/SM +handbell/SM +handbill/SM +handbook/SM +handbrake/SM +handcart/MS +handclap/SGMR +handclasp/SM +handcraft/SGDM +handcuff/SGDM +handed/fU +handed/Y +handedness/SM +Handel/M +Handforth/M +handful/MS +handglass/MS +handgrip/SM +handgun/MS +handheld/SM +handhold/MS +handicap/GDRMS +handicraft/SM +handicraftsman/M +handicraftsmen/M +Handihaler/M +handiwork/MS +handjob/SM +handkerchief/SM Plural handkerchiefs or handkerchieves +handkerchieves Plural of handkerchief +handle/RMGDS3 +handleable Adjective +handlebar/MS +Handley/M +handline/SM +handling/SM +handmade Adjective +handmaid/SM +handmaiden/SM +handout/MS +handover/SM +handpiece/SM +handprint/SM +handrail/MS +hands/Uc +Handsacre/M +handsaw/SM +handscrew/SM +handservant/SM +handset/SM +handsfree/SM +handshake/SMGrJ +handsome/PTY +handspike/MS +handspring/SM +handstand/SM +Handsworth/M +handwashing/SM +handwork/SM +handwoven +handwrite/GJS +handwritten +handy/mPT +Handyside/M +Hanemesis/M +Haney/M +Hanford/M +hang-glide/RSGD +hang/SJDmR7GM +hangar/SdM +hangdog/SM +hanger-on/M +hangers-on/M Plural of hanger-on +Hanging/M +Hangleton/M +hangnail/SM +hangout/SM +hangover/MS +hangry/T +hangs/cA +Hangzhou/M +Hanham/M +Hanif/M +Hank/M +hank/RMZS +Hankelow/M +hanker/Jdr +Hankerton/M +hankie/SM +Hankins/M +hanky-panky/M Noun: uncountable +hanky/MS +Hanley/M +Hanlith/M +Hanmer/M +Hann/M +Hanna/M +Hannah/M +Hannay/M +Hanney/M +Hannibal/M +Hanningfield/M +Hannington/M +Hannover/M +Hannun/M +Hanoi/M +Hanover/M +Hanoverian/SM +Hans/MS +Hansard/SM +Hanse/M +Hanseatic Adjective +Hansel/M +Hansen/M +Hanslope/M +hansom/SM +Hanson/M +hantavirus/SM +Hanthorpe/M +Hanukkah/MS +Hanuman/M +hanuman/MS +Hanwell/M +Hanwood/M +Hanworth/M +hap/aS +hap/DGY +Hapara/M +hapax/SM +hapaxanthic Adjective +haphazard/SMPYyr +haphephobia/M Noun: uncountable +hapless/PY +haplobiont/SMW +haplochromine/SM +haplodiploid/SM +haplodiploidy/M Noun: uncountable +haplography/SM +haploid/SMZ +haplology/MS +Haplorrhini Taxonomic suborder +haplotype/SM +happen/SJd7 +happenchance/SM +happenstance/SM +happiness/SM +Happisburgh/M +happy-go-lucky/SM +Happy/M +happy/p +happy/TUY +Hapsburg/M +Hapsford/M +haptic/SOY +hapticity/MS +hapticospatial +hapto +Hapton/M +haptonomy/M Noun: uncountable +Hapua/M +hara +hara-kiri/M Noun: uncountable +Harald/M +Haralick/M +Haralson/M +harambee/SM +harangue/DGSMr +Harare/M +harass/GSDLRk +Harbaugh/M +Harberton/M +Harbhajan/M +Harbin/M +harbinger/MS +Harbledown/M +Harbor-Goolwa/M +Harbor/M +Harborcreek/M +Harborne/M +Harborough/M +Harbour/M +harbour/pRGSDM +harbourage/SM +harbourmaster/SM +harbourside/SM +Harbridge/M +Harbury/M +Harby/M +Harcourt/M +hard-boil/SGD Verb +hard-code/SGD Verb +hard-core/M +hard-earned +hard-headed/YP +hard-hearted/PY +hard-hitting Adjective +hard-line/R +hard-nosed Adjective +hard-on/SM +hard-paste Adjective +hard-pressed Adjective +hard-wire/SDG +hard-working Adjective +hard/TzPY2ZMS~ +hardback/SM +hardbake/SM +hardbitten Adjective +hardboard/SM +hardbody/SMD +hardbound Adjective +hardcode/SGD +hardcopy/SM +hardcore/M Noun: uncountable +Hardecanute/M +Hardee/M +Hardell/M +Hardeman/M +Harden/M +harden/rdS +hardenability/SM +Hardenhuish/M +hardening/SM +harderian Adjective +Hardesty/M +Hardgate/M +Hardham/M +Hardie/M +hardihood/SM +Hardiman/M +Hardin/M +Harding/M +Hardingham/M +Hardingstone/M +Hardington/M +Hardley/M +hardline/SMr +Hardmead/M +hardpan/SM +Hardraw/M +Hardres/M +hardshell Adjective +hardship/MS +hardstanding/SM +hardtop/SM +hardware/M Noun: uncountable +Hardwick-with-Yelford/M +Hardwick/M +Hardwicke/M +hardwire/SGD +hardwood/MS +Hardwycke/M +Hardy/M +hardy/TPY +hare/MDGS +harebell/SM +harebrained Adjective +Hareby/M +Haredi/M +Haredim/M +Harefield/M +Harel/M +harelip/MSD +harem/MS +Harescombe/M +Haresfield/M +Harestock/M +harewood/M +Harewood/M +Harford/M +Hargate/M +Hargham/M +Hargrave/M +Hargreaves/SM A surname +Hari/M +haricot/SM +Harijan/SM +Harikumar/M +Haringey/M +Harington/M +harissa/SM +hark/GSD Verb +Harkaway/M +harken/Sd +Harker/M +Harkstead/M +Harlan/M +Harlaston/M +Harlaxton/M +Harlech/M +Harlem/M +Harlequin/M +harlequin/SM +harlequinade/MS +Harleston/M +Harlestone/M +Harley-Davidson/M +Harley/MS +Harling/M +Harlingen/M +Harlington/M +harlot/ySM +harlotry/SM +Harlow/M +Harlowe/M +Harlsey/M +Harlton/M +harm/GSjpM6Dr +Harman/M +harmattan/MS +Harmby/M +harmful/PU +harmless/PY +Harmon/M +Harmondsworth/M +harmonic/YSM +harmonica/SM +harmonicon/SM +harmonious/IPY +harmoniousness/IS +harmonise/RnGSD +harmonist/SM +harmonium/MS +harmony/ESM +Harmston/M +Harmsworth/M +Harnack/M +harness/SGDMr +harness/SUDG +Harnett/M +Harnhill/M +Harnick/M +Harold/M +Haroldston/M +Harome/M +Harow/M +harp/RMDG3ZJS +Harpenden/M +Harper/MS +Harpford/M +Harpham/M +Harpley/M +Harpole/M +harpoon/RSDGM +Harpsden/M +harpsichord/M3S +Harpswell/M +Harpton/M +Harptree/M +harpy/MS +harquebus/MS +harquebusier/MS +Harray/M +harridan/SM +Harriet/M +Harrietsham/M +Harrigan/M +Harriman/M +Harring/M +Harrington/M +Harringworth/M +Harriot/M +Harris/M +Harrisburg/M +Harrison/M +Harrisonburg/M +Harrisonville/M +Harrogate/M +harrogate/M +Harrold/M +Harroldston/M +Harrovian/MS +Harrow-on-the-Hill/M +Harrow/M +harrow/SDGMk +Harrowby/M +Harrowden/M +harrower/SM +Harrowfield/M +Harrowgate/M +harrumph/DGSM +Harry/M +harry/RDSG +Harsanyi/M +harsh/PTY +harshen/d +Harsin/M +Harston/M +Harswell/M +Hart/M +hart/SM +hartal/MS +Hartburn/M +hartebeest/MS +Hartest/M +Hartfield/M +Hartford/M +Hartforth/M +Harth/M +Harthill/M +Harting/M +Hartington/M +Hartland/M +Hartlebury/M +Hartlepool/M +Hartley/M +Hartlington/M +Hartlip/M +Hartman/M +Hartmann/M +Hartoft/M +Harton/M +Hartpury/M +Hartselle/M +Hartsfield/M +Hartshead/M +Hartshill/M +hartshorn/M +Hartshorn/M +Hartshorne/M +Hartwell/M +Hartwill/M +Hartwith/M +Harty/M +Harunobu/M +haruspex/M +haruspices Plural of haruspex +Harvard/M +harvest/7MRGDS +harvestman/M +harvestmen/M +Harvey/M +Harvie/M +Harvin/M +Harvington/M +Harwell/M +Harwich/M +Harwood/M +Harworth/M +Haryana/M +Harz/M +Harzan/M +Hasbro/M +Hasbrouck/M +Hascombe/M +Hasee/M +Hašek/M +Haselbech/M +Haselbury/M +Haseley/M +Haselhurst/M +Haselor/M +Haselton/M +Hasfield/M +Hasguard/M +hash/ADGS +hash/SMr +Hashanah/MS +Hashemite/MS +hashing/M Noun: uncountable +hashish/MS +hashtag/SM +Hasid/M +Hasidic/SM +Hasidim/M Plural of Hasid +Hasidism/M +Haskell/M +Hasketon/M +Haskins/M +Haslam/M +Hasland/M +Haslebury/M +Haslem/M +Haslemere/M +Hasler/M +haslet/SM +Haslett/M +Haslingden/M +Haslingfield/M +Haslington/M +Hasmonean/SM +hasn't +hasp/GSMD +Hassall/M +Hassan/M +Hassell/M +Hassett/M +Hassid/MW +Hassidism/M +Hassingham/M +hassium/M Noun: uncountable +hassle/DMGSr +hassock/MS +Hassocks/M +Hassop/M +hast/zZ2D +hasta hasta la vista +hastate/YD +haste/MS +hasten/Sdr +Hastert/M +Hastingleigh/M +Hastings/M +hasty/TPY +Haswell/M +Hat/M +hat/rGRSMdpD +Hata/M +hatable Adjective +Hataitai/M +hatband/SM +hatbox/SM +hatch/GyDSJrM +Hatch/M +hatchback/SM +hatchery/SM +hatchet/dMS +hatching/SM +hatchling/SM +hatchment/SM +hatchway/MS +Hatcliffe/M +hate/jSM6 +hateful/PY +Hately/M +hatemonger/SM +Hatfield/M +Hatford/M +hatful/SMY +hath Archaic, but doesn't cause FPs +hatha/M Noun: uncountable +Hathaway/M +Hatherleigh/M +Hatherley/M +Hathern/M +Hatherop/M +Hathersage/M +Hatherton/M +Hatlen/M +Hatley/M +hatred/SM +Hatshepsut/M +hatstand/SM +Hattersley/M +Hattie/M +Hattiesburg/M +Hatton/M +Hattori/M +hauberk/SM +Haugen/M +Haugh/M +haugh/SM +Haugham/M +Haughley/M +Haughton/M +haughty/YPT +haul/cDSG +haulage/SM +hauler/MS +haulier/MS +haulm/MS +Haumea/M +Haumoana/M +haunch/DGSM +haunt/kDRJGSM +Haupiri/M +Hauptmann/M +Hauraki/M +Hausa/MS +Hauser/M +hausfrau/M +hausfrauen/M Plural of hausfrau +hausfraus Plural of hausfrau +haut de haut en bas +Haut-Richelieu/M +Haut-Saint-François/M +Haut-Saint-Laurent/M +Hautbois/M +hautboy/MS +haute Adjective +Haute-Côte-Nord/M +Haute-Gaspésie/M +Haute-Yamaska/M +Haute/M +hauteur/SM +Hauxton/M +Hauxwell/M +Havana/M +Havant/M +Havasu/M +have-not/MS +have/SG +Haveli/M +Havelock/M +havelock/MS +haven't +Haven/M +haven/SM +Havenstreet/M +haver/SdM +Haverah/M +Havercroft/M +Haverford/M +Haverfordwest/M +Haverhill/M +Havering-atte-Bower/M +Haveringland/M +haversack/SM +Haversham-cum-Little/M +Haversham/M +haversin/MS +haversine/MS +Haverstock/M +Haverstraw/M +Haverthwaite/M +havildar/MS +Havisham/M +Havlin/M +havoc/SDMG +Havre/M +haw/GMDS +Haw/M +Hawaii/M +Hawaiian/SM +Hawarden/M +Hāwea/M +Hawera/M +Hawerby/M +Hawes/M +hawfinch/MS +Hawick/M +Hawk/M +hawk/RMDGS +hawkbit/MS +Hawkchurch/M +Hawke/MS +Hawkedon/M +Hawkesbury/M +Hawkesworth/M +Hawkeye Hawkeye State +Hawkhead/M +Hawkhurst/M +hawking/SM +Hawkinge/M +Hawkins/M +hawkish/PY +Hawkley/M +hawklike Adjective +Hawkridge/M +Hawkshead/M +Hawksmoor/M +Hawkswick/M +Hawksworth/M +hawkweed/SM +Hawkwell/M +Hawkwood/M +Hawley/M +Hawling/M +Hawnby/M +Haworth/M +Hawridge/M +hawse/SMR +Hawsker-cum-Stainsacre/M +Hawstead/M +Hawth/M +hawthorn/SM +Hawthorndale/M +Hawthorne/M +Hawton/M +Haxby/M +Haxey/M +hay/GMSDr +Hay/MS +Hayabusa/M +haybox/MS +haycock/SM +Hayden/M +Haydn/M +Haydon/M +Hayek/M +Hayes/M +Hayfield/M +hayfield/MS +Hayle/M +Hayles/M +Hayley/M +Hayling/M +hayloft/MS +haymaker/SM +haymaking/SM +Haymarket/M +haymow/SM +Hayne/M +Haynes/M +Haynford/M +Haynie/M +hayrick/SM +Hayscastle/M +hayseed/MS +haystack/MS +Haysville/M +Hayter/M +Hayton/M +haywain/SM +Hayward/MS +haywire/SM +Haywood/M +Hayworth/M +hazard/DGSM +hazardous/YP +haze/DMRSGZ +Hazel/M +hazel/SM +Hazelbeech/M +Hazelbury/M +Hazeleigh/M +Hazell/M +hazelnut/SM +Hazelwick/M +Hazelwood/M +Hazlebadge/M +Hazlemere/M +Hazlerigg/M +Hazlet/M +Hazleton/M +Hazlewood/M +Hazlitt/M +hazmat/SM +hazy/PYT +Hb Symbol for hemoglobin +HBA/SM Abbreviation of health-and-beauty aid +HBM Her or His Britannic Majesty +HCTZ/M Abbreviation of hydrochlorothiazide +HD-DVD/SM +HD/SM +HDD/SM +HDMI/M +hdqrs +HDR/SM +HDSLR/SM +HDTV/SM +he'd +he'll +he/M +Heacham/M +head-hunt/DGSR +head-on/SM +head/DRzGm2pihMZJS +Head/M +headache/SMZ +headage/SM +headband/MS +headbang/SGDr +headbay/SM +headboard/SM +headborough/SM +Headbourne/M +headbutt/SDGM +headcam/SM +headcase/SM +Headcorn/M +headcount/SM +headdress/SM +headedness/M Noun: uncountable +headend/SM +headfast/MS +headgear/MS +headguard/SM +headhunt/RSGD +headiness/M Noun: usually uncountable +Headingley/M +Headington/M +headlamp/SM +Headland/M +headland/SM +headless/P +Headley/M +headlight/MS +headline/RDSMG +headlock/MS +headlong/Y +headman/M +headmanship/SM +headmaster/YMS +headmastership/SM +headmen/M +headmistress/SM +headmost +headnote/SM +Headon/M +headphone/SM +headpiece/SM +headquarter/Sd Verb +headrail/SM +headrest/MS +headroom/SM +Heads/M +headsail/SM +headscarf/Mp +headscarves Plural of headscarf +headset/SM +headship/SM +headshrinker/MS +headspring/MS +headsquare/MS +headstall/MS +headstand/MS +headstock/SM +Headstone/M +headstone/MS +headstrong/Y +headstrongness/M Noun: uncountable +headteacher/SM +headwall/SM +headward/S +headwater/SM +headway/SM +headwear/M Noun: uncountable +headwind/SM +headword/SM +heady/TY +Heage/M +heal/DGRS +healable +Healaugh/M +heald/MS +Healdsburg/M +Healey/M +Healing/M +health/M6jzSZ +healthcare/M Noun: usually uncountable +healthful/PY +healthy/TUYP +Healy/M +Heanor/M +Heanton/M +heap/MDSG +Heapey/M +Heapham/M +hear/GAaSc +hearable +Heard/M +heard/UacA +hearer/SM +hearing/SM +hearken/dS +Hearn/M +hears/SA +hearsay/SM +hearse/SM +Hearst/M +heart-leaf/M +heart-leaves Plural of heart-leaf +heart-rending/Y +heart-searching/SM +heart-to-heart/SM +heart-warming Adjective +heart/pS2zZMihDG +heartache/SM +heartbeat/MS +heartbreak/SkGMr +heartbroken +heartburn/GSMJ +hearted/P +hearten/kEdS +heartfelt/Y +heartfeltness/M Noun: uncountable +heartfulness/M Noun: uncountable +hearth/MS +hearthrug/SM +hearthstone/MS +heartland/MS +heartless/PY +heartsick/P +heartsore Adjective +heartstrings +heartthrob/SM +heartwood/SM +heartworm/SM +heartwort/M +hearty/TSMP +heat-resistant Adjective +heat/pRJ7MGDSh +heated/cKUA +Heath/M +heath/RSyMZ +Heathcote/M +heathen/SM +heathendom/SM +heathenish/Y +heathenism/SM +heathenry/SM +Heather/M +Heatherton/M +Heatherycleugh/M +Heathfield/M +Heathkit/M +heathland/SM +Heathrow/M +Heathylee/M +heating/Kc +Heaton-with-Oxcliffe/M +Heaton/M +heatproof +heats/KcA +heatstroke/MS +heatwave/SM +heave/MDZGRS +heaven-sent Adjective +heaven/MSY +heavenly/PT +heavenward/SY +heavenwardness/M Noun: uncountable +Heavey/M +heavier-than-air Adjective +Heaviside/M +Heavitree/M +heavy-duty Adjective +heavy-handed/Y +heavy-handedness/M Noun: uncountable +heavy/YMSPT~ +heavyhearted/Y +heavyset Adjective +heavyweight/MS +Hebden/M +Hebdomadal Hebdomadal Council +hebdomadal/Y +hebe/SM +Hebei/M +Heber/M +hebetude/M Noun: uncountable +Hebraic/Y +Hebraism/M Noun: uncountable +Hebraist/MSW +Hebrew/SM +Hebridean/SM +Hebrides/M +Hebron/M +Hecate/M +hecatomb/SM +Hecht/M +heck +Heck/M +heckelphone/MS +Heckfield/M +Heckingham/M +Heckington/M +heckle/RGSDM +Heckman/M +Heckmann/M +hectarage/SM +hectare/SM +hectic/Y +hectocotyli/M Plural of hectocotylus +hectocotylus/M +hectogram/SM +hectograph/SM +hectolitre/SM +hectometre/SMW +hector/dS Verb +Hector/M +hectosecond/SM +Hecuba/M +Hedberg/M +Heddington/M +heddle/MS +Heddon/M +Hedenham/M +hedge/DRGSMk +Hedge/M +hedgehog/SM +hedgehop/SDG Verb +Hedgerley/M +hedgerow/MS +Hedingham/M +Hedland/M +Hedman/M +Hednesford/M +Hedon/M +hedonic/Y +hedonism/MS +hedonist/WMS +Hedsor/M +heed/6MGDjpS +heedful/P +heedless/YP +heehaw/DGSM +heel/pRSGMDJ +heelball/SM +heelflip/SM +heeltap/MS +Heenan/M +Heene/M +Heezen/M +Hefei/M +Hefner/M +heft/DzGZS +hefty/TP +Hegan/M +Hegarty/M +Hegel/M +Hegelian/SM +Hegelianism/SM +hegemon/SM +hegemonism/SM +hegemonistic +hegemony/SWM +Hegira/M +hegira/SM +heh +Hei/M +Heide/M +Heidegger/M +Heidelberg/M +Heidfeld/M +Heidi/M +Heidmann/M +heifer/MS +heigh +heigh-ho +Heigham/M +Heighington/M +height/MS3 +heighten/Sd +heightism/M Noun: uncountable +Heighton/M +Heights/M +Heiko/M +Heil Sieg Heil +heil/SGD +Heilbronn/M +Heilman/M +Heilongjiang/M +Hein/M +Heine/M +Heinecke/M +Heinemann/M +Heinlein/M +heinous/PY +Heinrich/M +Heinz/M +heir/p +heir/SFM +heirdom/MS +heiress/MS +heirloom/MS +heirship/MS +Heisenberg/M +Heiss/M +heist/SM +Hejaz/M +Hejira/M +Hekla/M +Hektor/M +HeLa HeLa cells +Helal/M +Helbeck/M +held +Heldentenor/MS +Helen/SM +Helena-West/M +Helena/M +Helene/M +Helensburgh/M +Helensville/M +Helhoughton/M +heli-ski/SGDR +heliacal Adjective +helianthus/MS +helical/Y +helicase/SM +helices +Helichrysum +helichrysum/SM +helicity/SM +Helicobacter Taxonomic genus +helicobacter/SM +helicoid/MS +helicoid/O^ +Helicon/M +helicon/SM +heliconia/SM +helicopter/dSM +helictite/SM +Helier/MS +Heligoland/M +heliocentric/Y +heliocentricism/M Noun: uncountable +heliocentricity/M Noun: uncountable +heliogram/SM +heliograph/SGDMW +heliography/M Noun: uncountable +heliogravure/SM +heliometer/MS +Helion/MS +heliopause/SM +Heliopolis/M +Helios/M +helioseismological/Y +helioseismology/Mw +heliosheath/SM +heliosphere/SMW +heliostat/SMW +heliotherapy/SM +heliotrope/MSW +heliotropism/SM +Heliotropium +heliotype/MS +helipad/SM +heliport/MS +helium/SM +helix/SM +hell-bent +hell-cat/MS +hell-hole/MS +hell-raiser/SM +hell/MS +Hellaby/M +Helladic +Helland/M +hellbender/MS +hellebore/SM +helleborine/MS +Helleborus Taxonomic genus +Hellene/MS +Hellenic/M3Y +Hellenise/DGnSr +Hellenism/SM +Hellenist/SMW +Heller/M +Hellesdon/M +Hellespont/M +hellfire/SM +hellhole/SM +Hellidon/M +Hellifield/M +Hellinger/SM A surname +Hellingly/M +Hellington/M +hellion/SM +Hellions/M +hellish/YP +Hellman/M +hello/DMGS +Hells Hells Angels +helluva +hellward/S +Hellyer/M +helm/mSGMD +Helmdon/M +helmet/dMS +Helmholtz/M +Helmingham/M +helminth/SMW +helminthiases +helminthiasis/M +helminthoid Adjective +helminthology/W3wM +Helmont/M +Helmsdale/M +Helmsley/M +helmsmanship/SM +Helmut/M +Helmuth/M +Héloise/M +helot/SM +helotage/M Noun: uncountable +helotism/M Noun: usually uncountable +helotry/SM +help/RSjpD6JGM +Helperby/M +Helperthorpe/M +helpfile/SM +helpful/PY +helpless/PY +helpline/SM +helpmate/MS +helpmeet/SM +Helpringham/M +Helpston/M +Helsby/M +Helsington/M +Helsinki/M +Helston/M +helter-skelter/SM +helter/SM +helve/MS +Helvetia/MW +Helvetian/SM +Helygen/M +hem/GRSMD +hematopathology/Mw3 +Hemblington/M +Hemel/M +Hemenway/M +Hemet/M +hemiacetal/SM +hemiacetalic +hemianopia/M Noun: usually uncountable +hemianopsia/SM +hemicellulose/SM +Hemichordata Taxonomic phylum +hemichordate/SM +hemicrania/SM +hemicycle/SM +hemicylindrical +hemidemisemiquaver/SM +hemidome/SM +hemihedral/Y +hemihydrate/SM +hemiketal/SM +hemimandible/SM +hemimetabolic +hemimetabolism/M Noun: uncountable +hemimetabolous +hemimorphic +hemimorphism/SM +hemimorphite/SM +Hemingbrough/M +Hemingby/M +Hemingford/M +Hemingstone/M +Hemington/M +Hemingway/M +hemiparasite/SM +hemipareses +hemiparesis/M +hemipenes +hemipenis/SM +hemiplegia/WM +hemipode/SM +Hemiptera Taxonomic order +hemipteran/SM +hemipterous +hemisphere/SMWwD +hemistich/SM +hemistichs +hemitrope/SMW +hemitropous +hemitropy/M Noun: uncountable +Hemley/M +hemline/MS +hemlock/SM +Hemminger/M +hemp/SM +hempen +Hempfield/M +Hemphill/M +Hempnall/M +Hempriggs/M +hempseed/SM +Hempstead/M +Hempsted/M +Hempton/M +hempweed/SM +Hemsby/M +hemstitch/DSGM +Hemswell/M +Hemsworth/M +Hemyock/M +hen/yMS +Henaghan/M +Henan/M +henbane/SM +Henbury/M +hence +henceforth +henceforward +henchman/M +henchmen/M +henchwoman/M +henchwomen/M +hendecagon/MS +hendecasyllable/SMW +Henderskelfe/M +Henderson/M +Hendersonville/M +hendiadys/SM +Hendon/M +Hendred/M +Hendrick/M +Hendricks/M +Hendrickse/M +Hendrickson/M +Hendrik/M +Hendrix/M +Hendry/M +Heneglwys/M +heneicosanoic +henequen/SM +Henfield/M +Henfynyw/M +Heng/M +henge/SM +Hengrave/M +Hengrove/M +Henham/M +Henhull/M +Henig/M +Henke/M +Henley-in-Arden/M +Henley-on-Thames/M +Henley/M +Henllan/M +Henllanfallteg/M +Henllys/M +Henlow/M +henna/DMGS +Hennepin/M +Hennessey/M +Henning/M +Hennock/M +Henny/M +henotheism/SM +henotheist/SMW +henpeck/DGS Verb +Henri/M +Henrico/M +Henrietta/M +Henriette/M +Henrik/M +Henrique/M +Henriques/M +Henry/M +henry/MS +Henryd/M +henrys +Hensall/M +Henschel/M +Hensel/M +Hensen/M +Henson/M +Henstead/M +Henstridge/M +hentai/M +Hentland/M +hentriacontanoic +Henty/M +henwife/M +henwives +Henze/M +hep/SM +hepacivirus/SM +heparin/MS +hepatic/SM +Hepatica Taxonomic genus +hepatica/MS +hepatitides +hepatitis/SM +hepatoblastoma/SM +hepatoblastomata +hepatocarcinoma/SM +hepatocarcinomata +hepatocellular +hepatocyte/SM +hepatologic/O +hepatology/3M +hepatoma/SM +hepatomata/M Plural of hepatoma +hepatomegaly/SM +hepatopancreas/SM +hepatopancreata/M +hepatosplenomegaly/SM +hepatotoxic +hepatotoxicity/SM +hepatotoxin/SM +hepcat/SM +Hepeviridae Taxonomic family +Hepplewhite/M +heptacosanoic +heptad/MS +heptadecane/SM +heptadecanoic +heptadentate +heptadentative +heptagon/MSO +heptahedra/MO +heptahedron/MS +heptahydrate/DSM +heptamer/SM +heptamerous +heptameter/SM +heptane/SM +heptanoic +heptanone/SM +heptarchic/O +heptarchy/SM +heptastich/M +heptastichs +heptasyllable/MSW +Heptateuch/M +heptathlon/SM +heptatomic +heptatonic +heptatriacontanoic +heptavalent +Heptonstall/M +heptose/SM +Hepworth/M +her/GS +Hera/M +Heracleides/M +Heracles/M +Heraclitus/M +Herald/SM +herald/WGSMDy3 +heraldry/SM +herb/MSD +herbaceous/Y +herbaceousness/M Noun: uncountable +herbage/SM +herbal/3SM +herbalism/SM +herbaria/M +herbarium/SM +Herbenick/M +Herbert/M +herbes +herbicide/SMO +Herbick/M +herbivore/SMZ +herbivorous/Y +Herbrandston/M +Herbst/M +Herby/M +herby/T +Hercegovina/M +Herceptin/M +Herculaneum/M +herculean +Herculean +Hercules/M +Hercus/M +Hercynian +herd/mRGSMD +Herdman/M +Herdwick/MS +here/FI +here/M +hereabout/S +hereafter/SM +hereat +hereby +hereditable +hereditament/SM +hereditarian/SM +hereditarianism/M Noun: uncountable +hereditary/YP +heredity/SM +Hereford/M +Herefordshire/M +herein +hereinafter +hereinbefore +Herekino/M +hereof +heresiarch/M +heresiarchs +heresy/SM +Heretaunga/M +heretic/SMO +hereto +heretofore +hereunder +hereunto +hereupon +herewith +Hergenröther/M +Hergest/M +Heriot-Watt/M +Heriot/M +heriot/MS +heritability/SM +heritable/Y +heritage/MS +heritor/IM +heritor/MS +Herkimer/M +herl/MS +herm/MS +Herman/M +Hermann/M +hermaphrodite/WMSw +hermaphroditism/SM +Hermaphroditus/M +hermeneutic/SOY3 +Hermentidius/M +Hermes/M +hermetic/YSO +Hermias/M +Hermiston/M +hermit/SM +Hermitage/M +hermitage/SM +hermitian +Hermosa/M +Hermus/M +Hernán/M +Hernandez/M +Hernando/M +Herndon/M +Herne/M +Hernhill/M +hernia/nSMO +herniae/M +herniate/GDS Verb +Hernon/M +hero/W1M +Herod/M +Herodes/M +Herodian/SM +Herodias/M +Herodium/M +Herodotus/M +heroes +heroic/SM +heroin/MS +heroine/MS +heroise/SGDJ +heroism/SM +heron/MS +Herongate/M +heronry/MS +Herophilus/M +herpes/M +herpesvirus/SM +herpetic +herpetofauna/O^ +herpetology/S3Mw +herptile/SM +Herr/M +Herren/M +Herrenvolk/M +Herriard/M +Herrick/M +Herriman/M +Herrin/M +Herring/M +herring/SM +herringbone/SMGD +Herringby/M +Herringfleet/M +Herringston/M +Herringswell/M +Herrington/M +Herrnhuter/MS +Herschel/M +herself +Hersey/M +Hersham/M +Hershel/M +Hershey/M +Hershkowitz/M +Herstein/M +Herstmonceux/M +Hertford/M +Hertfordshire/M +Hertingfordbury/M +Hertsmere/M +hertz/M +Hertzian +Hertzog/M +Hertzsprung-Russell +Hertzsprung/M +Hervey/M +Herzegovina/M +Hesiod/M +hesitance/ZSM +hesitancy/SM +hesitant/Y +hesitate/nDkSGr +hesitating/UY +hesitative +Hesket/M +Hesketh-with-Becconsall/M +Hesketh/M +Heskin/M +Hesleden/M +Heslerton/M +Heslington/M +Hesperia/M +Hesperian/SM +Hesperides +hesperidia/M +hesperidium/M +Hesperus/M +Hess/M +Hessay/M +Hesse/M +Hessenford/M +Hessett/M +hessian/SM +Hessian/SM +Hessle/M +hessonite/SM +Hester/M +Heston/M +Heswall/M +hetero/SM +heteroaromatic +heteroatom/SM +heterobimetallic +heterocercal +heterochromatic +heterochromatin/SM +heteroclite/SMW +heterocyclic/SM +heterodimer/SM +heterodox +heterodoxy/SM +heterodyne/SMGD +heteroerotic +heteroeroticism/M Noun: uncountable +heteroflexible/SM +heterogametic +heterogamous +heterogamy/M Noun: usually uncountable +heterogeneity/SM +heterogeneous/YP +heterogenous/Y +heterograft/SM +heterokaryotic +heterologous/Y +heterology/SMw +heteromerous +heteromorph/SMZW +heteromorphism/SM +heteronomous/Y +heteronomy/M Noun: usually uncountable +heteronormative/Y +heteronormativity/SM +heteronym/SMW +heteronymous/Y +heteropaternal +heterophilic/Y +heterophobe/SMW +heterophobia/M Noun: uncountable +heteroplasty/SMW +heteropolar +heteropteran/SM +heteropterous +heteroromantic +heteroromanticism/M Noun: uncountable +heteroscedastic/Y +heteroscedasticity/SM +heteroscorpionate +heteroses +heterosexism/SM +heterosexist/SM +heterosexual/MYS +heterosexuality/SM +heterosis/M +heterosocial/Y +heterosociality/M Noun: uncountable +heterosporous +heterostructure/SM +heterotransplant/SM +heterotroph/SMWZ +heterozygote/SM +heterozygous/Y +heterozygousness/M Noun: uncountable +Hethe/M +Hethel/M +Hethersett/M +hetman/M +hetmen/M +Hetrick/M +Hettie/M +Hetton-cum-Bordley/M +Hetton-le-Hole/M +Hetton/M +Heublein/M +Heuchera Taxonomic genus +heuchera/SM +heulandite/SM +heuristic/SMY +Heuser/M +HEVC/M +hevea/MS +Heveningham/M +Hever/M +Heversham/M +Hevingham/M +hew/RGSD +Hewan/M +Hewelsfield/M +Hewerdine/M +Hewett/M +Hewick/M +Hewitt/M +Hewkin/M +Hewlett/M +hewn +Heworth/M +Hewson/M +hex/DSGWrM +hexa +hexachloride/SM +hexachord/SMO +hexacosanoic +hexad/SMW +hexadecanoic +hexadecimal/SMY +hexadentate +hexadentative +hexafluoride/SM +hexagon/oSMO +hexagram/SM +hexahedra/MO +hexahedron/MS +hexameral +hexamerism/M Noun: uncountable +hexamerous +hexameter/MSW +hexametrist/MS +hexane/SM +hexanoic +hexapetalous +hexapla/SM +hexaploid/SMZ +hexapod/MS +Hexapoda Taxonomic subphylum +hexaquark/SM +hexastyle/SM +Hexateuch/MO +hexatriacontanoic +hexavalent +Hexham/M +heximal +hexokinase/SM +hexose/SM +Hextable/M +Hexton/M +hey +Hey/SM A surname +heya +Heybridge/M +heyday/MS +Heydon/M +Heydour/M +Heyerdahl/M +Heyford/M +Heylin/M +Heylipol/M +Heyop/M +Heysham/M +Heyshott/M +Heytesbury/M +Heythrop/M +Heywood/M +Hezbollah/M +Hezekiah/M +Hf +HF/SM +HFC/SM +Hg +hgt +HGV/SM +hgwy/M Abbreviation of highway. +hgwys +hi +hi-fi/M Noun: uncountable +hi-res +hi-tech/M Noun: uncountable +Hi/M A male given name, a short form of Hiram +Hialeah/M +Hiatt/M +hiatus/SM +Hiawatha/M +hibachi/SM +Hibaldstow/M +Hibbard/M +Hibbert/M +Hibbing/M +hibernate/GSnD +hibernator/SM +Hibernia/M +Hibernian/SM +Hibernicism/MS +hibiscus/MS +hiccough/SM +hiccoughy +hiccup/dSM +hiccupy +Hick/M +hick/SM +Hickey/SM +Hickleton/M +Hicklin/M +Hickling/M +Hickman/M +Hickory/M +hickory/SM +hid/r +Hidalgo/M +hidalgo/SM +hidalgoes +hidden/U +Hiddleston/M +hide-and-seek/M Noun: uncountable +hide/GSJU +Hide/M +hideaway/MS +hidebound +hideous/PY +hideout/MS +hidey +hiding/SMY +hie/GSDM +hieing +Hiendley/M +Hierapolis/M +hierarch/M +hierarchs +hierarchy/1WMSw +hieratic/SMOY +hierocracy/MS +hierocratic/OY +hieroglyph/SMW +hieroglyphic/SMOY +hierogram/MS +hierolatry/M Noun: uncountable +hierology/M Noun: usually uncountable +hierophant/SMW +Higaonna/M +Higbee/M +Higgins/M +higgle/SGDJr +higgledy +higgledy-piggledy +Higgs/M +high-born +high-cal Short for high-calorie +high-carbon +high-class +high-energy +high-flier/SM +high-flown +high-flyer/SM +high-flying +high-grade +high-handed/PY +high-hat/SM +high-heeled +high-income +high-jump/M Noun: uncountable +high-level +high-minded/YP +high-octane +high-pass/SM +high-pitched +high-powered +high-pressure +high-profile +high-quality +high-ranking +high-res +high-resolution +high-rise/SM +high-risk +high-security +high-sounding +high-speed +high-spirited/P +high-stepper/SM +high-stepping +high-street +high-strung +high-tech +High/SM A surname +high/YPTS~M +Higham-with-West/M +Higham/M +Highampton/M +highball/SMr +Highbridge/M +Highbrook/M +highbrow/MS +Highbury/M +Highclere/M +Highdale/M +Highdown/M +higher-level +Higher/M +highfalutin +highfalutin/M Noun: uncountable +highfaluting +Highfield/M +Highfurlong/M +Highgate/M +Highland/M +highland/RSM +highlandman/M +highlandmen/M +Highlands/M +Highlane/M +Highleadon/M +Highley/M +highlight/SGMDR +Highlow/M +Highmoor/M +Highnam/M +highpoint/SM +highroad/SM +highside/SGDM +Hightae/M +Hightown/M +Hightstown/M +Highway/M +highway/mMS +Highwood/M +Highworth/M +Higson/M +Higton/M +hijab/SM +hijack/GRSDJM +hijra/SM +Hikaru/M +hike/RSGDM +Hikuai/M +Hikurangi/M +Hikutaia/M +hila/M Plural of hilum +hilarious/YP +hilarity/SM +Hilary/M +Hilberg/M +Hilbert/M +Hilborough/M +Hilburn/M +Hilda/M +Hildebrand/M +Hildegard/M +Hildenborough/M +Hildersham/M +Hilderstone/M +Hilfield/M +Hilgay/M +Hiligaynon/SM +Hilkevitch/M +hill/DMGYS +Hillam/M +Hillard/M +Hillary/M +Hillbrow/M +Hillcrest/M +Hilldale/M +Hillenkoetter/M +Hillesden/M +Hillesley/M +Hillfarrance/M +Hillfort/M +Hillhall/M +Hillhampton/M +Hillhead/M +Hillhouse/M +Hillhousewood/M +Hilliard/M +Hillingdon/M +Hillington/M +Hillis/M +hillman/M +hillmen/M +Hillmorton/M +Hillner/M +hillock/SMZD +Hills/M +Hillsboro/M +Hillsborough/M +Hillsdale/M +Hillside/M +hillside/MS +hillstar/SM +hillstream/SM +hilltop/SM +Hilltown/M +hillwalker/SM +hillwalking/M Noun: uncountable +hilly/PT +Hillyer/M +Hilmarton/M +Hilperton/M +Hilston/M +hilt/GMDS +Hilton/M +hilum/M +him +Himachal/M +Himalayan/SM +Himalayas/M +Himalia/M +himatia/M Plural of himation +himation/SM +Himbleton/M +Himel/M +Himley/M +himself +Himyarite/SM +Hinayana/M +Hincaster/M +Hinckley/M +Hincks/M +hind/SMR +hindbrain/SM +Hindemith/M +Hindenburg/M +hinder/dr +Hinderclay/M +Hinderwell/M +hindfeet/M +hindfoot/M +Hindi/M +Hindley/M +hindlimb/SM +Hindlip/M +hindmost +Hindolveston/M +Hindon/M +Hindoo/MS +hindquarter/SM +hindrance/MS +Hindringham/M +Hinds/M +hindsight/SM +Hindu/MS +Hinduism/SM +Hindustan/M +Hindustani/SM +hindward/S +hindwing/SM +Hine/MS +Hinesville/M +Hingaia/M +hinge/Mpr +hinge/USGD +Hingham/M +Hinkelmann/M +Hinkle/M +Hinkley/M +Hinksey/M +hinnie/SM +hinny/M +Hinode/M +Hinsdale/M +Hinstock/M +hint/RSGMD +hinterland/MS +Hintlesham/M +Hinton-in-the-Hedges/M +Hinton/M +Hints/M +Hinuera/M +Hinxhill/M +Hinxton/M +Hinxworth/M +hip/TZMDSGP +hipbone/SM +Hipparchus/M +Hippasus/M +hippeastrum/SM +hippiatrics/M Noun: uncountable +hippiatry/M Noun: uncountable +hippie/M +hipping/M +hippo/MS +Hippocamp/M +hippocampal/Y +hippocampi/M Plural of hippocampus +hippocampus/SM +hippocentaur/SM +hippocras/M Noun: uncountable +Hippocrates/M +Hippocratic +Hippocrene/M +Hippodrome/M Birmingham Hippodrome +hippodrome/SM +hippogriff/SM +hippogryph/SM +Hippolyta/M +Hippolyte/M +Hippolytus/M +hippophagy/M Noun: uncountable +hippophil/SM +hippophile/SM +hippophobia/M Noun: uncountable +hippopotami/MW +hippopotamus/MS +Hipposideridae Taxonomic family +hippy/TMS +hipster/MS~ +hipsterism/SM +Hipswell/M +hiragana/SM +Hiram/M +Hirasawa/M +Hirata/M +Hirayama/M +hircine/M +hire-purchase +hire/GADS +hireable +hireling/MS +hirer/MS +hiring/SM +Hirnant/M +Hirobumi/M +Hirohito/M +Hiroki/M +Hiroshi/M +Hiroshima/M +Hirsch/M +Hirschfeld/M +Hirschman/M +Hirshleifer/M +Hirst/M +hirsute/PY +hirsutism/M Noun: usually uncountable +Hirwaun/M +his/JDG +Hispania/M +Hispanic/SM +Hispanicist/MS +Hispaniola/M +Hispaniolan/SM +Hispanist/MS +hispid +hiss/SMr +hissing/SMY +hist/SM +histamine/MSW +histidine/SM +histiocyte/SM +histochemic/Y +histochemical/SM +histochemistry/M Noun: uncountable +histocompatibility/SM +histogeneses +histogenesis/M +histogenetic/Y +histogeny/M Noun: uncountable +histogram/MS +histographer/MS +histography/M Noun: uncountable +histology/W3MSw1 +histolyses +histolysis/M +histolytic/Y +histometabasis +histomorphological/Y +histomorphology/SM +Histon/M +histone/SM +histonomy/M Noun: uncountable +histopathologic/OY +histopathology/SM3 +histoplasmin/M Noun: uncountable +histoplasmoses +histoplasmosis/M +historian/SM +historiate/SGD +historical/PSMY +historicise/SGDN +historicism/SM +historicist/MS +historicity/MS +historify/SGD +historiograph/SMrW1 +historiography/wSM +history/O +history/SK1MW +histrionic/SY +histrionicism/MS +histrionism/MS +hit-and-miss +hit-and-run/SM +hit/pRMSG +Hitachi/M +hitch-hike/DRGS +hitch/RDSGM +Hitcham/M +Hitchcock/M +hitched/U +hitches/U +Hitchin/M +Hitchman/SM A surname +hither +hitherto Adverb +hitherto-unseen +hitherward/S +Hitler/MS +Hitlerian/SM +Hitlerism/M Noun: uncountable +Hitlerite/SM +hitmaker/SM +hitman/M +hitmen/M +Hitt/M +hittable +Hittisleigh/M +Hittite/SM +HIV-negative +HIV-positive +HIV/M Noun: uncountable +hive/MDGS +Hix/M +Hixon/M +hiya +Hiyya/M +hm A shorter variant of hmm +HMAS +hmm +HMRC/M +HMS +HMSO Her or His Majesty's Stationery Office +ho's/F +ho-hum +ho/MRYD +Hoag/M +Hoagland/M +Hoar/M +hoar/MZ2 +hoard/MSRDJG +hoarding/SMY +hoarfrost/SM +hoarhound/MS +hoarse/PYT +hoarsen/Sd +hoarsening/S +hoarstone/MS +hoary/PTY +Hoath/M +Hoathly/M +hoatzin/SM +hoax/DRGSM +hob/SZGMD +Hobart/M +Hobbes/M +hobbit/SM +hobbitry/M Noun: uncountable +hobble/RGDSM +hobbledehoy/MS +Hobbs/M +hobby-horse/SM +hobby/3MS +hobbyhorse/SM +Hoberg/M +Hoberman/M +hobgoblin/SM +Hobhouse/SM A surname +Hobkirk/M +hobnail/DMS +hobnob/DGS +hobo/MS +hoboes +Hoboken/M +Hobson/M +Hobsonville/M +Hoby/M +hoc +Hochschild/M +hock/MSDG +Hockering/M +Hockersmith/M +Hockerton/M +hockey/SM +Hockham/M +Hocking/M +Hockley/M +Hockliffe/M +Hocktide/MS +Hockwold/M +Hockworthy/M +hocus-pocus/Mr +hod/SM +Hoddam/M +hodden/SM +Hodder/M +Hoddesdon/M +Hoddom/M +Hodge/MS +hodge/SM +hodgepodge/MS +Hodgeston/M +Hodgkin/M +Hodgson/M +hodiernal/Y +hodman/M +hodmen/M +Hodnell/M +Hodnet/M +hodograph/MS +Hodsock/M +Hodthorpe/M +hoe/GMSDr +Hoe/M +hoecake/MS +hoes/F +Hoest/M +Hoff/M +Hoffa/SM +hoffens +Hoffman/M +hoftens +hog/GSDMR +Hogan/M +hogan/MS +Hogarth/M +hogback/SM +Hogg/M +Hogganfield/M +Hoggard/M +hoggery/MS +Hoggeston/M +hogget/MS +hoggish/Y +hoggishness/M Noun: usually uncountable +Hoghton/M +hoglike +Höglund/M +Hogmanay/M +Hognaston/M +hognut/SM +Hogshaw/M +hogshead/MS +Hogsthorpe/M +Hogwarts/M +hogwash/MS +hogweed/SM +Hohenzollern/M +Hohhot/M +Hohl/M +Hohlbein/M +Hohmann/M +hoick/SGDM +Hoisin/M +hoist/SDGrM +hoity +hoity-toitiness/M Noun: uncountable +hoity-toity/T +Hoke/M +hokey +hokey-cokey/M +Hokitika/M +Hokkaido/M +hokku/SM +Hokowhitu/M +hokum/M Noun: usually uncountable +Holbeach/M +Holbeck/M +Holberg/M +Holberton/M +Holbeton/M +Holborn/M +Holborne/M +Holbrook/M +Holburn/M +Holcomb/M +Holcombe/M +Holcot/M +hold-up/MS +hold/RSGJ7M +holdall/SM +holdback/SM +Holden/M +Holdenby/M +Holdenhurst/M +Holderness/SM +Holdfast/M +holdfast/MS +Holdgate/M +holding/SM +holdout/SM +holdover/MS +Holdsworth/M +hole/GDSM +holeable +Holegate/M +Holesovsky/M +holey +holeyness/M Noun: uncountable +Holford/M +Holick/M +holiday/GSMDR +holidaymaker/SM +holier-than-thou +Holiness/SM +Holinshed/M +holism/SM +holist/SMW1 +Holker/M +Holkham/M +Hollacombe/M +Holladay/M +Holland/M +hollandaise/M Noun: usually uncountable +Hollander/SM +holler/Sd +Hollerith/M +Hollesley/M +Holley/M +Hollinfare/M +Hollingbourne/M +Hollingham/M +Hollington/M +Hollins/M +Hollinsclough/M +Hollinswood/M +Hollinwood/M +Hollis/M +Hollister/M +Holliston/M +Holloman/M +hollow-eyed +hollow/PDTGSYM +Holloway/M +Hollowell/M +hollowware/SM +Holly/M +holly/MS +hollyhock/SM +Hollym/M +Hollywood/M +Holm/M +Holman/M +Holmdel/M +Holme/MR +Holmes/M +Holmescales/M +Holmesfield/M +Holmesian/SM +Holmewood/M +Holmfirth/M +Holmhead/M +holmium/M Noun: usually uncountable +Holmpton/M +Holmwood/M +Holne/M +Holnest/M +Holocaust/M Noun: usually uncountable +holocaust/SM +Holocene/M +holodeck/SM +holoenzyme/SM +Holofernes/M +hologram/SM +holograph/DSZGWM1 +holography/SM +holohedral +holometabolous +holomorphic/Y +holophrase/SM +holophrasis/M +holophrastic/Y +holothurian/SM +holothuroid/SM +holotype/SM +holozoic/Y +Holroyd/M +Holst/M +Holstein/MS +holster/MdS +Holsworthy/M +Holt/M +Holtby/M +Holton/M +Holtzman/M +Holverston/M +Holwell/M +Holy/M +holy/TSPY +Holybrook/M +Holyhead/M +Holymoorside/M +Holyoake/M +Holyoke/M +Holyrood/M +Holyroodhouse/M +Holystone/M +holystone/SMGD +Holytown/M +Holywell-cum-Needingworth/M +Holywell/M +Holywood/M +Holzman/M +homage/SMR +Homai/M +hombre/SM +Homburg/M +homburg/MS +home-based +home-born/SM +home-brew/SDM +home-cooked +home-grown +home-loving +home-made +home-maker/SM +home-making/M Noun: uncountable +home/RpYGzDMSP +homebody/SM +homebuilder/SM +homebuilding/M Noun: uncountable +homebuilt +homebuyer/SM +homecoming/SM +Homedale/M +homeland/MS +homeless/PY +homelike +homelikeness/M Noun: uncountable +homely/TP +homemade +homeobox/SM +homeodomain/SM +homeomorphic/Y +homeomorphism/SM +homeopath/SM +homeopathic/YSMO +homeopathy/3SM +homeostases +homeostasis/M +homeostatic/OY +homeothermy/M Noun: uncountable +homeowner/SM +homeowning +homepage/MS +HomePod/M +Homer/SMW +Homero/M +Homerology/3M +Homersfield/M +Homerton/M +homeschool/SGDrM +homeshoring/M Noun: uncountable +homesick/PY +homesourcing/M Noun: uncountable +homespun/SM +homestay/SM +homestead/GMDSR +Homestead/M +homestretch/MS +Homet/M +hometown/SM +homeward-bound/r +homeward/SY +homeware/SM +Homewood/M +homework/GRM +homewrecker/SM +homey/PSM +homicide/SoMO +homier +homiest +homiletic/SOY +homiliary/MS +homily/SM +hominem ad hominem +Homington/M +hominid/SM +Hominidae Taxonomic family +Homininae Taxonomic subfamily +Hominini Taxonomic tribe +hominoid/SM +homme/MS +Homo Taxonomic genus +homo/SM +homocentric/O +homocercal +homocercality/M Noun: uncountable +homocysteine/SM +homodimer/SM +homodont/SM +homoeobox/SM +homoeodomain/SM +homoeopath/1WSZ3M +homoeopathy/SM +homoeostases +homoeostasis/M +homoeostatic +homoeotherm/ZWOSM +homoerotic/Y +homoeroticism/SM +homoerotics/M Noun: uncountable +homogametic +homogamous/Y +homogamy/M Noun: uncountable +homogenate/SM +homogeneity/ISM +homogeneous/YP +homogenise/RGDSn +homogenous/Y +homogeny/M Noun: usually uncountable +homograft/SM +homograph/SM +homography/SM +homoiousian/MS +homologate/DGSn +homologise/SGD +homologous/Y +homologue/MS +homology/SMw +homomorph/WZSM1 +homomorphism/SM +homomorphous +homonym/MSW +homonymous/Y +homonymy/SM +homoousian/SM +homophile/SM +homophobe/SMW +homophobia/SM +homophone/MSZW1 +homophonous/Y +homopolar +homopolymer/SM +Homoptera Taxonomic suborder +homopteran/SM +homopterous +homorganic/SM +homoromantic/SM +homoromanticism/M Noun: uncountable +Homosassa/M +homoscorpionate +homosex/M Noun: usually uncountable +homosexual/SMY3 +homosexualise/SGDN +homosexualism/M Noun: uncountable +homosexuality/SM +homosocial/Y +homosociality/SM +homotopy/WSM +homotransplant/SM +homousian/SM +homozygosity/M Noun: usually uncountable +homozygote/SM +homozygous/Y +homozygousness/M Noun: uncountable +homuncular +homuncule/MS +homunculi/M Plural of homunculus +homunculus/M +Hon. +Honda/M +Honddu/M +Hondo/M +Honduran/SM +Honduras/M +hone/STGDMr +Honecker/M +honest/EZY +honester +honestest +honesty/SME +honey/GSMD +Honey/M +honeybee/SM +Honeybourne/M +Honeychurch/M +honeycomb/GDSM +honeycreeper/SM +honeydew/SM +honeyeater/SM +honeyguide/SM +honeylocust/SM +honeymoon/RDGMS +honeypot/SM +honeysucker/SM +honeysuckle/MS +honeytrap/SM +Honeywell/M +honeywort/SM +Hong/M +Hongoeka/M +Hongwang/M +Honiara/M +Honiley/M +Honing/M +Honingham/M +Honington/M +Honiton/M +honk/RSMDG +Honley/M +Honolulu/M +honorand/MS +honoraria/M Plural of honorarium +honorarium/MS +honorary/SMY +honorific/SMOY +honorify/SGD +honoris honoris causa +Honorius/M +honorous +honour/E7MRlDGS +honourability/M Noun: usually uncountable +honourable/MSPY +honourous +honourworthy +Honshu/M +Honthorst/M +Honwana/M +hoo-ha/SM +Hoo/M +hood/DGMiS +Hood/M +hooded/P +hoodie/SM +hoodlum/SM +hoodoo/MGDS +hoodwink/SGDR +hoody/SM +Hooe/M +hooey/MS +hoof/MDGSR +Hoofield/M +hoofmark/SM +Hooft/M +Hooghly/M +Hoohill/M +hook-nosed +Hook/M +hook/RGSMDp +hookah/SM +Hooke/M +hookey/M Noun: uncountable +hooklet/MS +Hooksett/M +hookup/MS +hookworm/SM +hooky/M Noun: uncountable +Hoole/M +hooligan/SM +hooliganism/SM +Hoon/M +Hoonacker/M +hoop/GMDSr +hoopla/MS +hoopoe/SM +hooray/S +Hoorn/M +Hoosier/M +hoot/RMDGS +hootch/SM +Hooton/M +Hoover/MS +hoover/Sd +hooves Plural of hoof +hop/RDSGM +Hopatcong/M +hope/6MjSGDpr +Hope/M +hopeful/SMP +hopeless/PY +Hopeman/M +Hopesay/M +Hopetoun/M +Hopewell/M +Hopf/M +hophead/MS +Hopkins/M +Hopkinsville/M +Hopkinton/M +hoplite/SM +Hoppensteadt/M +Hopper/M +Hopperton/M +Hoppit/M +hopple/SGDM +hopsack/MS +hopscotch/M Noun: uncountable +Hopson/M +Hopton-on-Sea/M +Hopton/M +Hopwas/M +Hopwell/M +Hopwood/M +Horace/M +Horahora/M +Horam/M +horary/SM +Horatian +Horatio/M +Horatius/M +Horbling/M +Horbury/M +Horde +horde/MS +Hordle/M +Hordley/M +Horeb/M +horehound/MS +Horeke/M +Horethorne/M +Horfield/M +Horgan/M +Horham/M +Horizon/M +horizon/SM +horizontal/SMY +horizontality/SM +Horizonte/M +Horkesley/M +Horkstow/M +Horley/M +Horlicks/M +Hormead/M +hormone/oMSO +Hormuz/M +horn/DGip2ZSMr3 +Horn/M +hornbeam/MS +hornbill/SM +hornblende/MS +Hornblotton/M +Hornblower/M +hornbook/SM +Hornby-with-Farleton/M +Hornby/M +Horncastle/M +Hornchurch/M +Horndean/M +Horndon/M +Horne/M +Horneber/M +horned/P +hornet/MS +Hornig/M +Horning/M +Horninghold/M +Horninglow/M +Horningsea/M +Horningsham/M +Horningsheath/M +Horningtoft/M +hornlike +hornpipe/SM +Hornsby/M +Hornsea/M +Hornsey/M +hornswoggle/SGD +horntail/SM +Hornton/M +Hornung/M +hornwort/MS +horny/PT +Horo/M +Horokiwi/M +Horologii Genitive of Horologium +Horologium/M +horology/W3wSM +horoscope/SMZ +horoscopic/O +Horowhenua/M +Horowitz/M +Horrabridge/M +horrendous/Y +horrent +horrible/PY +horrid/PY +horridity/M Noun: uncountable +horrify/1SWGDkn +Horringer/M +horripilation/SM +Horrisdale/M +Horrocks/M +horror-stricken +horror-struck +horror/SM +Horry/M +hors hors concours +horse-drawn +horse-race/SMG +horse-trading/M Noun: uncountable +horse/YmG5DMSpJ +horseback/SM +horsebean/SM +horsebox/SM +horsebreaker/SM +horsecloth/SM +horsedom/M Noun: uncountable +horseflesh/M Noun: uncountable +horsefly/SM +horsehair/SM +Horseheads/M +Horseheath/M +Horsehouse/M +horseleech/MS +horselike +Horsell/M +horsemanship/SM +Horsenden/M +horseplay/Mr +horsepower/SM +horseradish/SM +horseshed +horseshit/M! Noun: uncountable +horseshoe/GDSM +horsetail/SM +horsewhip/GDSM +Horsey/M +horsey/SM +Horsford/M +Horsforth/M +Horsham/M +horsier +horsiest +horsiness/M Noun: uncountable +Horsington/M +Horsley/M +Horsleydown/M +Horsmonden/M +Horspath/M +Horst/M +horst/SM +Horstead/M +Horsted/M +horsy/YSM +hortation/MS +hortative/SMY +hortatory/SM +hortensia/MS +horticulturalist/SM +horticulture/3SMO +Horton-cum-Studley/M +Horton/M +hortus hortus siccus +Horus/M +Horwich/M +Horwood/M +hos/Sd +hosanna/SM +hosannah/SM +Hose/M +hose/SMGD +Hosea/M +hosepipe/SM +Hoshea/M +hosier/SM +hosiery/M Noun: usually uncountable +Hosni/M +Hosny/M +Hosokawa/M +hosp/SM +hospice/MS +hospitable/YI +hospitably/I +Hospital/M +hospital/QqSMR +hospitalism/M Noun: uncountable +hospitality's/I +hospitality/SM +host/YSMGD +Hosta Taxonomic genus +hosta/SM +hostage/MS +hostel/DRMSyG +hostelry/SM +hostess/GMDS +hostile/Y +hostility/MS +hostler/SM +hostname/SM +hot-air +hot-blooded +hot-swap/DGB +hot-tempered +hot-wire/SGD +Hot/M +hot/PDSYGTR +hotbed/MS +hotbox/SM +hotcake/SM +Hotchkiss/M +hotchpot/SM +hotchpotch/SM +hotel/mSM +hotelier/MS +Hotelling/M +hotfoot/DSG +Hotham/M +hothead/SDihM +Hothersall/M +Hothfield/M +hothouse/MSGD +hotkey/SM +hotline/SM +hotlink/SGDM +hotlist/SM +Hotmail/MR +Hoton/M +hotplate/MS +hotplug/SDG +hotpot/MS +hotrod/SM +hotshot/SM +hotspot/SM +hotspur/MS +Hottentot/MS +hottie/SM +hottish +hotty/SM +Houdini/M +Hough-on-the-Hill/M +Hough/M +hough/SM +Hougham/M +Houghton-le-Spring/M +Houghton/M +Houhora/M +Houlden/M +Houlihan/M +Hoult/M +Houma/M +hound/GSMDr +Hound/M +houndfish/SM +hounding/SM +Houndsditch/M +houndstooth/SM +houngan/SM +Hounslow/M +hour/MYS +hourglass/SM +houri/SM +hourly/SM +house's/e +house-hunting/M Noun: uncountable +house-proud +house-to-house +house-train/Sd +house-warming/SM +House/M +house/rGDmJS6Mp +houseboat/MS +housebound +houseboundness/M Noun: uncountable +houseboy/MS +housebreak/SRJG +housebroke +housebroken +housebuilder/SM +housebuilding/M Noun: uncountable +houseclean/JGDS +housecleaner/SM +housecoat/SM +housecraft/SM +housed/A +housefather/SM +housefly/SM +houseful/SM +household/RSM +housekeep/GR +houseleek/MS +houselord/SM +housemaid/SM +housemaster/YMS +housemastering/M +housemastership/SM +housemate/SM +housemating/M +housemistress/SM +housemonger/SM +housemother/SMY +houseowner/SM +housepainter/SM +houseparent/SM +houseplace/SM +houseplant/SM +houseroom/SM +houses/eA +houseshare/SM +housesharer +housesmith/SM +housestead/SM +housetop/SM +houseware/M Noun: usually uncountable +housewife/MY +housewifely/P +housewifery/M Noun: usually uncountable +housewifeship/M Noun: uncountable +housewifish +housewives +housework/RSM +housey +housie/M Noun: uncountable +housing/A +housing/SM +Houston/M +hove +Hove/M +hovel/SM +hover/dSrM +hovercraft/SM +Hoveringam/M +Hoveringham/M +hoverport/MS +hovertrain/MS +Hoveton/M +Hovingham/M +how'd +how're +how've +how-to/SM +How/M +how/MS +Howard/M +howay +howbeit +howdah/SM +Howden/M +Howe/SM +howe/SM +Howel/M +Howell/M +however +Howgate/M +Howgill/M +Howgrave/M +Howick/M +Howie/M +Howitt/M +howitzer/SM +howl/DSRGM +Howland/M +Howley/M +Howman/M +Howmore/M +Hownam/M +Howsham/M +howsoever +Howth/M +Howwood/M +Hoxha/M +Hoxhaism/M Noun: uncountable +Hoxne/M +Hoxsey/M +Hoxton/M +Hoy/M +hoy/SM +Hoya Taxonomic genus +hoya/SM +hoyden/SMd~ +Hoyland/M +Hoyle/M +Hoyt/M +HP/M +HPV/SM +HQ/SM +hr. +Hradec Hradec Králové +HRH +hrs. +HRT/SM +Hs +Hsu/M +HTML/M +html/M +HTPC/SM Initialism of home theater PC +http/SM +Huanan/M +Huang/M +Huapai/M +Huawei/M +hub-cap/SM +hub/MZS +Hubbard/M +Hubberholme/M +Hubberston/M +hubble-bubble/SM +Hubble/M +hubbub/SM +hubby/MS +hubcap/SM +Hubei/M +Huber/M +Hubert/M +hubris/MSW +hubristically +Huby/M +Hucclecote/M +huchen/SM +Huck/M +huckaback/SM +Huckabee/M +Hucking/M +huckleberry/MS +Hucklow/M +Hucknall/M +huckster/MSd +HUD/SM +Huddersfield/M +Huddington/M +huddle/DSMGR +Huddleston/M +Huddlestone/M +Hudgens/M +Hudibrastic/Y +Hudley/M +Hudson/M +Hudsonian/SM +Hudswell/M +hue/SMDp +Hueneme/M +Huey/M +Hueytown/M +huff/zSDZMG~ +Huffington/M +Huffman/M +huffy/TP +hug/SDGRM +huge/PTY +Hügelschäfer/M +huggable +huggableness/M Noun: uncountable +Huggate/M +Huggins/M +Hugglescote/M +Hugh/MS +Hughenden/M +Hughes/M +Hughie/M +Hughley/M +Hugill/M +Hugo/M +Huguenot/SM +huh/S +Hui/M +hui/MS +Huia/M +Huiakama/M +Huijun/M +Huirangi/M +huisache/SM +Huish/M +Huixia/M +Hukerenui/M +hula/MDGS +Hulcote/M +Hulcott/M +hulk/GMDS +Hull/M +hull/SRGMD +hullabaloo/MS +Hulland/M +Hullavington/M +Hullbridge/M +hullo/MSGD +Hulme/M +Hulver/M +hum/RSDGM +Humalog/M +human-like +human/SPq3YQsM~ +humana/M vox humana +humanate +humane/P3Y +humanely/I +humaneness/I +humaneness/M Noun: usually uncountable +humaner +humanhood/M Noun: uncountable +humanics/M Noun: uncountable +humanification/M +humanify/SGD +humanise/CRDSnG +humanism/MS +humanistic/YOS +humanitarian/SM +humanitarianism/SM +humanitary +humanity/SMI +humankind/M Noun: usually uncountable +humanly/I +humanoid/SM +Humber/M +Humberside/M +Humberston/M +Humberstone/M +Humbert/M +Humberto/M +Humberton/M +Humbie/M +Humble/M +humble/PTGSDYM +Humbleton/M +Humboldt/M +humbug/GDSM +humbuggery/SM +Humby/M +humdinger/SM +humdrum/SM +Hume/M +humectant/SM +humeral/SM +humeri/M Plural of humerus +humerus/SM +humid/Y +humidification/CM +humidify/CnGRDS +humidistat/SM +humidity/SM +humidor/MS +humify/SGDN +humiliate/GSkDn +humiliator/SM +humility/SM +humint/SM +Humira/M +humite/SM +hummable +Hummel/M +hummel/SM +hummingbird/SM +hummock/DSMZG +hummus/M Noun: usually uncountable +humongous/Y +humoral/3Y +humoralism/M Noun: usually uncountable +humoresque/SM +humorist/WSM +humorology/M Noun: uncountable +humorous/PY +humour/6DhMpSG +humourer/S +humourise/SGD +humourless/PY +humoursome/Y +humoursomeness/M Noun: uncountable +hump/GSMDp +humpback/DSM +Humperdinck/M +humph/S +Humphrey/MS +Humphry/MS +Humpston/M +Humpty/M +humpy/TSM +Humshaugh/M +Humulin/M +humus/MSW +Hun/SM +Hunan/M +hunch/GSDM +hunchback/SMD +Huncote/M +Hundersfield/M +Hundleby/M +Hundleton/M +Hundon/M +hundred/HMS +hundredweight/MS +hung/Ac +Hungarian/SM +Hungarton/M +Hungary/M +Hungate/M +hunger/dMS +Hungerford/M +Hungerton/M +hungover +hungry/YPT +hunk/MZS +hunker/Sd +hunkiness/M Noun: uncountable +hunky/T +Hunmanby/M +Hunnam/M +Hunningham/M +Hunnington/M +Hunnish/M +Hunnishness/M Noun: uncountable +Hunsbury/M +Hunsdon/M +Hunshelf/M +Hunsingore/M +Hunslet/M +Hunsley/M +Hunsonby/M +Hunspell/M +Hunstanton/M +Hunstanworth/M +Hunsterson/M +Hunston/M +Hunsworth/M +hunt/DmGRJSM +Hunt/M +hunter-gatherer/SM +Hunterdon/M +Huntersville/M +Hunterville/M +Huntingdon/M +Huntingdonshire/M +Huntingfield/M +Huntington/M +Huntley/M +Huntly/M +Hunton/M +huntress/SM +Huntsbury/M +Huntsham/M +Huntshaw/M +Huntspill/M +Huntsville/M +Huntwick/M +Hunua/M +Hunworth/M +Huoshenshan/M +Huppert/M +Huraira/M +Hurd/M +hurdle/RMGSD +Hurdon/M +Hurdsfield/M +hurdy-gurdy/SM +hurl/DYSGRMJ +Hurlbert/M +Hurleston/M +Hurley/M +hurley/SM +Hurleyville/M +Hurlford-Crookedholm/M +Hurlford/M +hurly-burly/M +Hurn/M +Hurney/M +Huron/M +hurrah/SGDM +hurray/SGDM +Hurricane/M +hurricane/SM +hurried/UY +hurriedness/M Noun: uncountable +hurry/iSGhDr +Hursley/M +Hurst/M +hurst/MS +Hurstbourne/M +Hurston/M +Hurstpierpoint/M +hurt/kjG6SrM +Hurtak/M +hurtful/P +hurtle/DGS Verb +hurty/T +Hurunui/M +Hurwicz/M +Hurwitz/M +Hurworth/M +husband-to-be/M +husband/rMSGyYDp +husbandhood/M Noun: uncountable +husbandlessness/M Noun: uncountable +husbandlike +husbandliness/M Noun: uncountable +husbandman/M +husbandmen/M +husbandry/MS +husbands-to-be/M +Husbands/M +husbandship/SM +Husborne/M +Husbourne/M +hush/DGSM +husk/RzZSMDGJ +Huskisson/M +husky/TSMP +Huss/M +Hussain/M +hussar/SM +Hussein/M +Hussey/M +Hussin/M +Hussingtree/M +Hussite/SM +Hussitism/M +hussy/SM +Husthwaite/M +hustings +hustle/RGSDM +Huston/M +hut/MDGS +hutch/GSDM +Hutcherson/M +Hutchings/M +Hutchins/M +Hutchinson/M +Hutchison/M +hutment/MS +Hutt/M +Hutterite/SM +Hutto/M +Huttoft/M +Hutton-le-Hole/M +Hutton-Sessay/M +Hutton/MS +Hutu/M +Huxham/M +Huxley/M +Huya/M +Huyck/M +Huygens/M +Huyton-with-Roby/M +Huyton/M +huzza/SGD +Hvatum/M +Hwang/M +hwyl/M Noun: uncountable +hyacinth/MS +hyacinthine Adjective +Hyacinthus Taxonomic genus +Hyades/M +hyaena/SM +hyalin/SM +hyaline/SM +hyalite/SM +hyaloclastite/SM +hyaloid/SMO +hyaluronic +Hyatt/M +Hyattsville/M +hybrid/MS +hybridisable +hybridise/SGDn +hybridism/MS +hybridity/SM +hybridoma/SM +hydatid/MS +hydatidiform Adjective +Hyde/M +Hyderabad/M +Hydon/M +hydra/WnSM +hydralazine/SM +Hydrangea Taxonomic genus +hydrangea/MS +hydrant/MS +hydrate/MGDS +hydrated/AC +hydrates/CA +hydrating/CA +hydration/CMS +hydraulic/Y +hydraulicity/SM +hydraulics/M Noun: uncountable +hydrazine/SM +hydride/SM +hydriodic +hydro/MS +hydrobiology/3M +hydrobot/SM +hydrobromic +hydrobromide/SM +hydrocarbon/SM +hydrocele/MS +hydrocephali/M +hydrocephalic/SM +hydrocephalus/MS +hydrocephaly/SM +hydrochemistry/M Noun: uncountable +hydrochloric +hydrochloride/SM +hydrochlorofluorocarbon/SM +hydrochlorothiazide/SM +hydrochore/1SMW +hydrochorous +hydrochory/M Noun: uncountable +hydrocodone/SM +hydrocolloid/SM +hydrocortisone/SM +hydroculture/M Noun: uncountable +hydrocyanic +hydrodynamic/OY +hydrodynamics/M Noun: uncountable +hydroelectric/OY +hydroelectricity/M Noun: uncountable +hydrofluoric +hydrofluorocarbon/SM +hydrofoil/MS +hydroforming/M Noun: uncountable +hydrofracturing/M Noun: uncountable +hydrogel/SM +hydrogen/nSM +hydrogenate/SMGD +hydrogenated/C +hydrogenates/C +hydrogenating/C +hydrogenation/CM +hydrogenous/Y +hydrogeology/w13M +hydrographer/MS +hydrographic/OY +hydrography/SM +hydroid/SM +hydrolase/SM +hydrology/M31Sw +hydrolyse/GSDW +hydrolysis/M +hydromagnetic/Y +hydromagnetics/M Noun: uncountable +hydromassage/SM +hydromechanics/M Noun: uncountable +hydromedusa/M +hydromedusae/M Plural of hydromedusa +hydromel/SM +hydrometer/SM +hydrometry/MSW +hydronium/SM +hydropathic/SMOY +hydropathy/SM3 +hydroperoxide/SM +hydrophilicity/SM +hydrophilous +hydrophily/WM +hydrophobia/SMW +hydrophobicity/SM +hydrophone/MS +hydrophyte/WSM +hydroplane/DMSG +hydroponic/SOY3 +hydropower/M Noun: uncountable +hydroquinone/SM +hydrosphere/MS +hydrostatic/SOY +hydrosulphide/M Noun: uncountable +hydrotherapy/MS +hydrothermal/Y +hydrothorax/M Noun: usually uncountable +hydrotropism/M Noun: usually uncountable +hydrous +hydroxamate/MS +hydroxide/SM +hydroxonium/SM +hydroxy/M Noun: uncountable +hydroxyapatite/SM +hydroxybutyrate/SM +hydroxychloroquine/M Noun: uncountable +hydroxyl/NSM +hydroxylamine/MS +hydroxylate/SGDn +hydroxyproline/SM +hydroxyzine/SM +hydrozincite/SM +Hydrozoa Taxonomic class +hydrozoan/SM +Hydrus/M +hyena/SM +hyerpolarised +Hygiea/M +hygiene/M13WS +hygienics/M Noun: uncountable +hygrometer/MSW +hygrometry/M Noun: uncountable +Hygrophila Taxonomic genus +hygrophilous +hygrophyte/SM +hygroscope/SMW +Hykeham/M +Hyksos +Hylda/M +hylic/SM3 +hylomorphic/OY +hylomorphism/SM +hylozoism/SM +Hylton/M +Hyman/M +hymen/SMO +hymeneal/SM +hymenia/MO +hymenium/SM +hymenophore/SM +Hymenoptera Taxonomic order +hymenoptera/M Plural of hymenopteron +hymenopteran/SM +hymenopteron/SM +hymenopterous +hymenorrhaphy/SM +Hymes/M +hymn-book/SM +hymn/WSGMD +hymnal/MS +hymnary/SM +hymnodist/MS +hymnody/SM +hymnographer/SM +hymnography/M Noun: uncountable +hymnology/3wM +Hyndburn/M +Hyndland/M +Hynek/M +Hyneman/M +hyoid/SM +hyoscine/SM +hyoscyamine/SM +hypaethral +hypalgesia/M Noun: usually uncountable +hypallage/MS +Hypatia/M +hypaxial/SM +hype/DSMG +hyper/SM +hyperacidity/SM +hyperactive/Y +hyperactivity/SM +hyperaemia/MW +hyperaesthesia/SM +hyperaesthetic +hyperalgesia/WSM +hyperalimentation/SM +hyperbaric/Y +hyperbaton/SM +hyperbenthic +hyperbenthos/M Noun: uncountable +hyperbola/MS +hyperbolae/M +hyperbole/Mw1SW +hyperbolise/SGD +hyperbolism/SM +hyperboloid/MSO +Hyperborean/MS +hyperborean/SM +hypercalcaemia/SM +hypercapnia/WM +hypercellular +hypercellularity/M Noun: uncountable +hypercharge/SM +hyperchloraemia/MW +hypercholesterolaemia/SM +hyperchromasia/SM +hypercompetitive +hypercompetitiveness/M Noun: uncountable +hypercomplex/SM +hyperconnected +hyperconnectedness/M Noun: uncountable +hyperconscious/P +hypercorrect/Y +hypercorrection/SM +hypercorrectness/M Noun: uncountable +hypercritical/Y +hypercriticality/M Noun: uncountable +hypercryophile +hypercube/SM +hyperdiamond/SM +hyperdiploid +hyperdiploidy/M Noun: usually uncountable +hyperdrive/SM +hyperechoic +hyperemeses +hyperemesis/M +hyperextend/SGD +hyperextension/SM +hyperfine +hyperflier/SM +hyperfocal +hyperfocus/M Noun: uncountable +hypergamous/Y +hypergamy/M Noun: usually uncountable +hypergeometric/SMOY +hyperglycaemia/WSM +hypergolic Adjective +hypergranulation/M Noun: uncountable +hypergravity/M Noun: uncountable +hypericum/MS +hyperimmune Adjective +hyperinflammation/M Noun: uncountable +hyperinflation/SM +hyperinstrument/SM +Hyperion/M +Hyperionian +hyperionic +hyperionism/SM +hyperkalaemia/MW +hyperkeratoses +hyperkeratosis/M +hyperkineses +hyperkinesis/M +hyperkinetic/SMY +hyperlink/SDGM +hyperlipaemia/WSM +hyperlipidaemia/SMW +hyperlocal Adjective +hyperloop/SM +hypermagnesaemia/MW +hypermarket/MS +hypermedia/M Noun: uncountable +hypermethylated +hypermethylation/SM +hypermetropia/WSM +hypermnesia/SM +hypermobility/M Noun: usually uncountable +hypermutable +hypermutation/SM +hypernatraemia/SMW +hypernuclear +hypernuclei/M Plural of hypernucleus +hypernucleus/M +hypernym/SM +hyperon/SMW +hyperonym/SM +hyperopia/SM +hyperopic/Y +hyperparasite/SMW +hyperparasitism/SM +hyperparathyroid Adjective +hyperparathyroidism/SM +hyperphagia/SM +hyperpigmentation/M Noun: usually uncountable +hyperplane/MS +hyperplasia/SM +hyperplastic +hyperplasticity/M Noun: uncountable +hyperpolarisation/MS +hyperpolarise/GSD +hyperprolactinaemia/M Noun: usually uncountable +hyperproliferative/Y +hyperreactivity/SM +hyperreal/SM +hyperrealism/SM +hyperrealist/WSM +hyperreality/SM +hyperresponsiveness/M Noun: uncountable +hypersaline Adjective +hypersensitive/PY +hypersensitivity/MS +hypersexuality/M Noun: usually uncountable +hypersomnia/SM +hypersomnolence/M Noun: uncountable +hypersonic/Y +hypersonics/M Noun: uncountable +hyperspace/SM +hypersphere/SM +hypersthene/SM +hypertension/SM +hypertensive/SM +hypertext/MS +hypertextuality +hyperthermia/WSM +hyperthermophile/SM +hyperthyroid Adjective +hyperthyroidism/SM +hypertonia/WSM +hypertonicity/SM +hypertrophy/WDGSM +hyperventilate/GSnD +hypervisor/SM +hypethral +hypha/OM +hyphae/M Plural of hypha +hyphen/MdnS +hyphenate/SGDM +hyphenator/SM +hyphy/MT +hypnagogia/WM +hypnobirth/GM +hypnogogia/WM +hypnopaedia/M Noun: uncountable +hypnophobia/MW +hypnopompic +hypnoses +hypnosis/M +hypnotherapy/MS3 +hypnotic/SMOY +hypnotisability/M Noun: uncountable +hypnotisable +hypnotise/SGDRn +hypnotism/MS +hypnotist/MS +hypo/MDGS +hypoactive Adjective +hypoallergenic +hypoallergenicity/M Noun: uncountable +hypoblast/MSW +hypocalcaemia/SMW +hypocaust/SM +hypocellularity/M Noun: uncountable +hypocentre/SM +hypochloraemia/MW +hypochlorite/SM +hypochondria/SM +hypochondriac/MSO +hypoconid/SM +hypoconulid/SM +hypocorism/SM +hypocoristic/SM +hypocotyl/SM +hypocrisy/SM +hypocrite/1wMS +hypocycloid/MS +hypocycloid/O^ +hypoderm/MSo +hypoderma/MO +hypodermata/M Plural of hypoderma +hypodermes +hypodermic/SMOY +hypodermis/SM +hypodiegetic Adjective +hypoechoic Adjective +hypogastria/MW +hypogastrian +hypogastrium/M +hypogea/MO +hypogean Adjective +hypogene Adjective +hypogeum/SM +hypoglossal/SM +hypoglycaemia/SM +hypoglycaemic/SM +hypogonadal +hypogonadic/SM +hypogonadism/SM +hypogonadotropic +hypogonadotropism/M Noun: uncountable +hypogynous +hypogyny/M +hypoid/MS +hypokalaemia/WSM +hypolimnia/MO +hypolimnion/M +hypomagnesaemia/WM +hypomania/SMW +hypomethylation/SM +hyponatraemia/SMW +hyponym/SMW1 +hypoparathyroidism/MS +hypophyseal Adjective +hypophyses +hypophysial +hypophysis/M +hypopigmentation/SM +hypopituitarism/M Noun: usually uncountable +hypopituitary Adjective +hypoplasia/SM +hyposensitise/SGDn +hyposensitivity/SM +hypospadias/SM +hyposplenism/M Noun: uncountable +hypospray/SM +hypostases +hypostasis/M +hypostatic/OY +hypostome/SM +hypostyle/SM +hypotactic/Y +hypotaxis/M +hypotension/SM +hypotensive/SM +hypotenuse/SM +hypothalami/M Plural of hypothalamus +hypothalamic/Y +hypothalamus/SMW +hypothec/MS +hypothecary/SM +hypothecate/DGSn +hypothermal/Y +hypothermia/MSW +hypotheses +hypothesi ex hypothesi +hypothesis/drMQS +hypothetical/SMY +hypotheticality/SM +hypothetico-deductive +hypothyroid/W +hypothyroidism/SM +hypothyroidy/M Noun: uncountable +hypotonia/SMW +hypotonicity/SM +hypotrophy/SM +hypotropia/SM +hypoventilation/M Noun: usually uncountable +hypovolaemia/WM Noun: usually uncountable +hypoxaemia/SM +hypoxia/SMWO +hypsodont/MS +hypsodonty/M Noun: uncountable +hypsography/WwM +hypsometer/SM +hypsometric/OY +Hyracoidea Taxonomic order +hyrax/MS +Hyrcanus/M +Hyrrokkin/M +Hyrum/M +Hyskier/M +hyson/SM +Hyssington/M +hyssop/SM +Hyssopus Taxonomic genus +hysterectomy/SM +hysteresis/M +hysteria/MS +hysteric/MSYO +hysteron/SM +hysterosalpingo-oophorectomy/SM +Hythe/M +Hyundai/M +Hywel/M +Hz +I +i +I'd +I'll +I'm +i's +I've +I-beam/SM +I-chun +i-mode +i.e. +i18n +i3/M +i5/M +i7/M +i9/M +IA +IAEA +Iain/M +iamb/SMW +iambi +iambic/SM +Iamblichus/M +iambus/SM +Ian/M +Iapetus/M +iatrogenic +Iban/M +IBAN/SM +Ibberton/M +Iberia/M +Iberian/SM +Ibero-American/S +Iberville/M +ibex/SM +ibid +ibidem +ibis/SM +Ibiza/M +Ibizan/SM +Ible/M +IBM/M +Ibo/MS +iBook/SM +Ibrahim/M +Ibrahima/M +Ibrox/M +Ibsen/M +Ibsley/M +Ibstock/M +Ibstone/M +ibuprofen/SM +IC +ICANN/M +Icarus/M +ICC/M +ice-cold +ice-skate/SGDM +ice/mSMJGD +iceberg/SM +iceblink/MS +iceboat/MS +icebound +icebox/SM +icebreaker/SM +icecap/MS +icefall/SM +icehouse/SM +Iceland/MRW +Iceni/M +icepack/SM +icepick/SM +ichneumon/SM +ichnography/SM +ichor/SM +ichorous +ichthyofauna/SM +ichthyofaunae/M +ichthyoid/SM +ichthyolite/SM +ichthyology/M3Sw +ichthyophagous +ichthyophagy/M Noun: uncountable +ichthyoplankton/M Noun: uncountable +ichthyornis +ichthyosaur/SM +ichthyosaurian/SM +ichthyosaurus +ichthyosis +ichthyotic +ichthys +icicle/SM +icing/M +Ickburgh/M +Icke/M +Ickenham/M +Ickey/M +Ickford/M +Ickham/M +Ickleford/M +Icklesham/M +Ickleton/M +Icklingham/M +Ickworth/M +icky/T +iCloud/M +ICM +Icomb/M +icon/SWM +iconise/SGD +iconoclasm/MS +iconoclast/MWS1 +iconographer/SM +iconography/WMS1w +iconolatry/SM +iconology/w +iconoscope/SM +icosahedra/O +icosahedron/M +ICQ/SMGD +icterus/MW +ictorianises +ictus/SM +ICU +icy/TPY +ID'd +ID'ing +id/DMY +ID/SM +Ida/M +Idaho/M +Idbury/M +Iddesleigh/M +iddingsite/SM +Ide/M +IDE/M +idea/MoSp +ideal/SqQs3M +idealism/SM +idealist/W1 +ideality/SM +idealogical +ideate/SGDn +ideational/Y +Ideford/M +idem +idempotence +idempotency/M Noun: uncountable +idempotent/SM +Iden/M +identical/PY +identifiable/U +identification/MaS +identified/Ua +identify/SlDnRBG +identity/MS +ideogram/SM +ideograph/1WMS +ideography/Mw +ideologue/SM +ideology/M31wS +ideophone/SM +ideosphere/MS +ides +Idina/M +idioblast/MSW +idiocracy/SM +idiocy/SM +idiolect/MS +idiom/WSM1 +idiomaticness/M Noun: uncountable +idiopathic/OY +idiopathy/MS +idiosyncrasy/SM +idiosyncratic/Y +idiot/1SMW +idiotype/SM +idle/DRTPSG +Idle/M +Idlicote/M +Idmiston/M +Ido/M +idocrase/SM +idol-worshipping +idol/QqSsM +idolater/SM +idolator/SM +idolatress/SM +idolatrous/Y +idolatry/MS +idose/SM +Idridgehay/M +Idsworth/M +Idumea/M +idyll/SMW13 +IEC +IEE +IEEE/M Initialism of Institute of Electrical and Electronics Engineers +Iestyn/M +if/D +if/FS +Ifan/MS +Iffley/M +iffy/TP +Ifield/M +Iford/M +iftar +Ifton/M +Ifugao/SM +Igbo/MS +Iggy/M +Ightenhill/M +Ightfield/M +Ightham/M +igloo/MS +Ignatius/M +Ignatz/M +igneous/Y +igneousness/M Noun: uncountable +ignitable +ignite/DASG +igniter/SM +ignition/MS +ignitron/MS +ignoble/YP +ignominious/Y +ignominy/SM +ignorable +ignoramus/SM +ignorance/SM +ignorant/SYP +ignoratio +ignorationes +ignore/GDSR +ignosticism/M Noun: uncountable +ignotius +ignotum +Igor/M +iguana/SM +iguanodon/SM +iguanodont +ii +iii +IIRC Initialism of if I recall/remember correctly +IJssel/M +IJsselmeer/M +Ike/M +Ikea/M +ikebana/M +Iken/M +Il-sung/M +Ilachinski/M +Ilam/M +ilang-ilang +Ilchester/M +Ilderton/M +Ile/M +ilea/M +ileitides +ileitis/M +ileostomy/SM +ileum/M +ilex/MS +Ilford/M +Ilfracombe/M +ilia/M +iliac +Iliad/MS +Ilich/M +Ilídio/M +Ilium/M +ilium/M +ilk +Ilkeston/M +Ilketshall/M +Ilkley/M +ill-advised +ill-assorted +ill-behaved +ill-bred +ill-conceived +ill-considered +ill-defined +ill-disposed +ill-equipped +ill-fated +ill-favoured +ill-fitting +ill-founded +ill-gotten +ill-humoured +ill-informed +ill-judged +ill-mannered +ill-matched +ill-omened +ill-prepared +ill-proportioned +ill-shaped +ill-smelling +ill-starred +ill-suited +ill-tempered +ill-treat/D +ill-treatment +ill/YP +illegal +illegibly Adverb +illegitimate/SGMDY +illiad/SM +illicit/P +illimitability/MS +illimitable/PZ +Illington/M +Illingworth/M +Illinois/M +illiquid +illiquidity/M +illiterate/P +illocution/Sy +Illogan/M +illogical +Illowsky/M +Illston/M +illude/SGD +illume/GD +illuminable +illuminance/SM +illuminant +illuminate/DSGk +illuminati/M +Illuminati/M +illuminator/SM +illumine/DSVGn3 +illuminism/SM +illusion/ES +illusion/MO +illusionary +illusionism/SM +illusionist/MSW +illusive/PY +illusory/PY +illustrate/nGDvSV +illustrated/U +illustration/MO +illustrator/MS +illustrious/YP +Illyria/M +Illyrian/MS +ilmenite +Ilmington/M +Ilminster/M +Iloko/M +Ilona/M +Ilsey/M +Ilsington/M +Ilsley/M +Ilston/M +Ilton-cum-Pott/M +Ilton/M +iMac/SM +image-maker/SM +image/rGDyMSp +imageable +Imagen/M +imagery/SM +imagesetter/SM +imaginable/U +imaginableness/M Noun: uncountable +imaginably/U +imaginary/SPY +imaginative/UY +imaginativeness/M Noun: uncountable +imaginativeness/U +imagine/OlnSVuJDvGr +imagined/U +imagineer/SGDM +imagism +imagist/SMW +imago/MS +imam/MS +imamate/MS +Iman/M +IMAP +imbecile/MWS +imbecility/SM +imbed/SGDJ +imbeddedness/M +Imber/M +Imbéry/M +imbibe/RSDG +imbibition +Imbrian +imbricate/SGDn +Imbrium/M +imbroglio/MS +imbrue/SGD +imbue/SGD +IMDb/M +IMF/M +IMHO +imidazole/SM +imide/M +imine/SM +imitable/I +imitate/DVGvunS +imitative/P +imitator/SM +immaculacy/M +immaculate/YP +immanence/ZS +immanency/SM +immanent/Y +immanentism/M +immanentist/MS +Immanuel/M +immaterial/3 +immaterialism +immature/P +immeasurability/M +immeasurable/PY +immediacy/SM +immediateness/S +immedicable +immemorial +immense/YPT +immensity/SM +immerse/SNbDGXr +immersion/M +immersive +imminence/SM +imminent/PY +Immingham/M +immiscibility +immiscibly +immitigable/Y +immixture/M +immobilism/M +immodest +immolate/DGnS +immolator/MS +immoral/3 +immoralism +immortal +immortalise/SGD +immortelle/MS +immovability/MS +immovably +immoveable +immune/qQ +immunity/SM +immunoassay/MS +immunobiology/Ww +immunoblot/SGD +immunochemistry +immunocompetence +immunocompetent +immunocompromised +immunocytochemistry +immunodeficiency/SM +immunodeficient +immunofluorescence +immunofluorescent +immunogenetic/SO +immunogenic +immunogenicity/SM +immunoglobulin/SM +immunohistochemical/SMY +immunohistochemistry/SM +immunolabelling/SM +immunology/3w1WMS +immunomodulation/SM +immunomodulator/SMZ +immunopathologic/OY +immunopathologist/SM +immunopathology/SM +immunoperoxidase/M Noun: usually uncountable +immunopharmacology/M Noun: uncountable +immunoprophylaxes +immunoprophylaxis/M +immunoprotective +immunoprotectivity/M Noun: uncountable +immunoreactive/SMY +immunosenescence +immunosorbent/SM +immunosuppressant/SM +immunosuppressed +immunosuppression/M Noun: usually uncountable +immunosuppressive/SM +immunotherapy/SM +immunotoxic Adjective +immure/GDS +immurement/MS +immutable/P +IMO +Imola/M +imp/DSGM +impact/6VDG +impaction/SM +impactor/SM +impair/rGLS +impaired/U +impala/M +impale/DrGLS +impalpability/MS +impanel/SGD +impark/SGDJ +impart/Gn +impassability/M Noun: usually uncountable +impassable/P +impasse/MulXbN +impassibility/SM +impassible/Y +impassion/DG +impassive/P +impassivity/M Noun: usually uncountable +impasto/MS +impatiens/M +impatient +impeach/LR7 +impeachable/U +impeached/U +impeccability/SM +impeccable/Y +impecuniosity/M +impecunious/PY +imped/d +impedance/MS +impede/SR +impedimenta/O +impedit/M +impel/RSGnD +impend/GSD +impenetrable/PY +impenitency/MS +imperative/PYSO +imperator/O^ +imperatrices +imperatrix/M +imperceivable +imperceptibility/MS +imperceptive +impercipience/M +imperfect/gVP +imperforate +imperia/M Plural of imperium +imperial/3SY +Imperial/M +imperialism/SM +imperialist/W1 +imperil/DGLS +imperio +imperious/YP +imperishability/M Noun: uncountable +imperishable/PY +imperium/SM +impermanence/MS +impermanency/M Noun: usually uncountable +impermanent +impermeable/Y +impermissible +imperscriptible +impersonal/MSY +impersonalise/SGDN +impersonality/M Noun: usually uncountable +impersonate/SGDn +impersonator/MS +impersonify/DGS +impertinence/M +imperturbability/MS +imperturbable/Y +imperturbableness/M +impervious/PY +impetiginous +impetigo/MS +impetrate/DGSn +impetuosity/SM +impetuous/PY +impetuousity +impetus/SM +Imphal/M +impi/MS +imping/G +impinge/LSD +Impington/M +impish/PY +implacability/MS +implacable/YP +implant/7nr +implantology/M Noun: uncountable +implausibility/M Noun: usually uncountable +implausibly +implead/SGDJ +implement/ADGSn +implement/M +implementability +implementable/U +implemented/U +implementer/MS +implicant/MS +implicate/SDG +implicit/YP +implode/SNDGX +implore/SkDG +implosion/SM +implosive +imply/VuGvnh +impolitic/P +impoliticly +imponderability +imponderable/SPY +import/ARGSD +importable +importance/SM +important/Y +importation/SM +importunate/PSY +importune/GDRS +importunity/MS +imposable +impose/ASDG +imposing/Y +imposition/SM +impossible/P +impost/G +imposthume/MS +impostor/SM +impostume/MS +impotence/MSZ +impotencies +impoundment/SM +impoverish/GLSDr +impracticability/SM +impracticable/P +imprecate/GDSn +imprecatory Adjective +impregnability/MS +impregnable/PY +impregnant/SM +impregnate/DBSGn +impresario/MS +imprescriptible +impress/DXVLbNvur +impressibility/SM +impression/MB3 +impressionability/SM +impressionable/P +impressionism/MS +impressionistic +impressive +impressiveness/MS +imprest/SM +imprimatur/MS +imprint/SM +imprison/LSd +improbable/P +improbity/M Noun: usually uncountable +impromptu/SM +impropriate/DGS +impropriation/MS +impropriator/MS +improvability/SM +improvable +improvableness/M Noun: uncountable +improve/DqQLsr +improvership +improvidential +improvisation/oMO +improvisator/MS +improvisatore/M +improvisatory/O +improvisatrice/MS +improvvisatore/M +improvvisatrice/M +impudence/MS +impudent/Y +impudicity/SM +impugn/RBGSLD +impuissance/M +impuissant +impulse/MVuv +impulsion/SM +impulsive/P +impulsivity/M Noun: usually uncountable +impunity/SM +impure/P +imputable +imputative +impute/GDnS +in-between +in-car +in-depth +in-flight +in-house +in-joke/SM +in-law/SM +in-line +in-phase +in-service +in-store +in-tray/SM +in/ASF +in/D +inaccurate +inactive +inadaptive +inadmissible/Z +inadvertence/SM +inadvertency/MS +inadvertent/Y +inalienability/SM +inalienable/Y +inalterability/M Noun: uncountable +inalterableness +inalterably +inamorata/SM +inamorato/MS +inane/TYP +inanga/MS +Inangahua/M +inanimate/N +inanition/M +inanity/MS +Inanna/M +inapparent/Y +inappeasable +inappetence/SM +inappetent +inapplicable/Z +inapposite/Y +inappositeness/M +inappreciation/MS +inapproachable +inappropriacy +inappropriate/P +inapt/P +inaptitude/SM +inarch/SGDJ +inarticulate/P +inasmuch +inaugural/SM +inaugurate/SDGn +inaugurator/MSZ +inauspiciousness/M Noun: uncountable +inauthentic +inauthenticity/M Noun: usually uncountable +inband +inboard +inborn +inbound +inbox/SGDM +inbreathe/DG +inbred +inbreed/SGJ +inbuilt +Inc. +Inca/SM +inca/SM +Incaic +incalculable/PY +incall/SM +incandesce/SGD +incandescence/SM +incandescent/SY +incant/nG +incantatory Adjective +incapably +incapacitant/MS +incapacitate/SDGn +incarcerate/DnSG +incarcerator/MS +incarnadine/DSG +incarnate/DGASn +incarnational +incasement/MS +incautiousness/M Noun: uncountable +Ince/M +incendiarism/SM +incendiary/SM +incensation/MS +incense/GMDS +incensory/MS +incentive/ESM +incentivise/D +incept/DVSGv +inception/MS +inceptor/SM +incertae incertae sedis +incessancy/M +incessant/Y +incessantness/M Noun: uncountable +incest/SM +incestuous/PY +Inch/M +inch/SMGD +Inchbald/M +Inchcruin/M +Incheon/M +Inchinnan/M +Inchlonaig/M +inchoate/GDS +inchoative/SM +Inchon/M +Inchture/M +inchworm/MS +incidence/MFS +incident/Fo +incident/SMY +incidental/F +incidental/S +incinerate/SnDG +incinerator/SM +incipience/MSZ +incipiency/M +incipient/YM +incipit/SM +incircle/SM +incise/XVGvDNSu +incision/MO +incisive/P +incisor/MS +incisurae/M +incisure/SM +incitation/M +incite/DGXRLS +inclinable +incline/EDSnG +incliner/SM +inclining/M +inclose/DGS +inclosure/MS +includable +include/SGXNvVDu +includeable +inclusion/M +inclusive/P +inclusivity +incog +incognita/M +incognito/SM +incoherency/M Noun: usually uncountable +incombustibility/M Noun: uncountable +income/M +incommensurability/MS +incommensurables +incommensurably +incommensurateness/M Noun: uncountable +incommode/GD +incommunicability/M +incommunicableness/M +incommunicably +incommunicado +incommunicative/Y +incommunicativeness/M Noun: uncountable +incommutably +incomparable +incompatibly +incompetent/SM +incompletion/M +incomprehensibly +incomputable +inconceivability/SM +inconceivable/P +incondensable +incongruence/MS +incongruousness/M Noun: usually uncountable +inconsequent +inconsequentiality/SM +inconsequentialness/M Noun: uncountable +inconsiderable/P +inconsiderate/N +inconsolable/PY +inconsonant/Y +incontestability/MS +incontestable/Y +incontinent +incontrovertible/Y +inconvenience/DG +inconvertible/Z +incoordination/SM +incorporable +incorporate/DANGS +incorporate/S +incorporated/EU +incorporative +incorporator/MS +incorporeality/M +incorporeity/SM +incorrect/7PY +incorrigibility/SM +incorrigible/PSY +incorrodible +incorruptible/SY +incorruption/M Noun: usually uncountable +incoterm/SM +Incoterm/SM +incrassate +increasable +increase/Jkr +incredible/P +incredulous/c +increment/NMSDGo +incremental/3 +incrementalism/SM +increta +incriminate/SDnyG +incrust/DGSL +incrustation/MS +incubate/DSGVn +incubator/SMZ +incubi/M +incubus/M +incudes +inculcate/SDGn +inculcator/MS +inculpate/DGS +inculpation/MS +inculpatory Adjective +incumbency/MS +incumbent/SM +incunable/MS +incunabula/M +incunabulum/M +incur/GS7lD +incurability/M Noun: uncountable +incurable/SM +incuriam +incuriosity/M Noun: uncountable +incurious/PY +incurrable +incurrent +incursion/SM +incursive +incurvate/Dn +incurve/DGS +incus/S +incuse/DGM +Ind. +indaba/MS +indebted/P +indeclinable +indecomposable +indecorum/M Noun: usually uncountable +indeed +indefatigability/SM +indefatigable/PY +indefeasibility/MS +indefeasible/Y +indefectible +indefensibility/M Noun: uncountable +indefensibly +indefensive +indefinable/SPY +indefinite/PSY +indehiscence +indehiscent +indelibility/M +indelible/Y +indemnify/DnSGr +indemnity/MS +indemonstrably +indent/Dnr +indention/SM +indentor/MS +indenture/SGDM +Independence/M +independency/SM +Independent/M +independent/SMY +indescribability/SM +indescribable/YPS +indestructible/YP +indeterminable/Y +indeterminacy/SM +indeterminism/SM +indeterminist/SMW +index-linked +index-linking +index/MnG7DRw +India/M +Indiaman/M +Indiamen/M +Indian/SM +Indiana/M +Indianapolis/M +Indianola/M +Indic/M +indican/M Noun: usually uncountable +indicant/SM +indicate/VnSGvD +indicative/SM +indicator/MSZ +indices +indicia/M +indict/LSD7Gr +indiction/MS +indie/SM +indifferentism/M Noun: usually uncountable +indifferentist/SM +indigence/SM +indigene/SM +indigenous/YP +indigent/YSM +indigestibility +indigestibly +indigestion/M +indigestive +indignant/Y +indignation/SM +indigo/SM +indinavir/M +Indio/M +Indira/M +indirect/GP +indiscernibility/SM +indiscernibly +indiscipline/D +indiscrete/Y +indiscriminate/PY +indispensability/MS +indispensable/PSY +indisputability/M Noun: uncountable +indisputable/P +indissolubility/M Noun: uncountable +indissoluble/YP +indistinct/P +indistinctive/YP +indistinguishability/SM +indistinguishable/P +indite/SGD +indium/M +individual/sY3QMqS +individualise/k +individualism/MS +individualist/1W +individuality/MS +individuate/GnDS +indivisible/SPY +Indo-Aryan/SM +Indo-China/M +Indo-Chinese Adjective +Indo-European/SM +Indo-Germanic/S +Indo-Iranian +Indo-Malayan +Indo-Malaysian +Indo-Pacific +Indo-Portuguese +indocene +Indochina/M +indochinite/SM +indocile Adjective +indocility/M Noun: usually uncountable +indoctrinate/nGSD +indoctrinator/SM +indole/SM +indolence/SM +indolent/Y +Indology/3w +indomethacin/M +indomitable/PY +Indonesia/M +Indonesian/SM +indoor +Indra/M +Indrani/M +indraught/M +indri/MS +indubitable/YP +induce/nRuDLGVSbv +inductance/SM +inductee/MS +inductive/P3 +inductivism/M Noun: usually uncountable +inductivity/SM +inductor/MS +indue/SGD +indulge/cGDS +indulgence/cMS +indulgent/c +indulgent/Y +indulger/SM +indult/MS +induna/MS +indurate/DGSn +indurative +Indus/M +indusia/MO +indusium/M +industrial-size/D +industrial-strength +industrial/Q3qSP +industrialised +industrialism/SM +industrious/PY +industry/oMSG +indwell/GSr +indwelt +Indy/SM +inebriate/nGDS +inebriety/SM +inedibility/M Noun: uncountable +inedible +ineducability/M Noun: uncountable +ineducable +ineffability/MS +ineffable/PY +ineffaceability/M Noun: uncountable +ineffaceably +ineffectuality/M Noun: uncountable +inégales +inegalitarian/SM +inelastic/Y +inelasticity/M Noun: usually uncountable +ineligibly +ineliminable +ineluctability/M Noun: uncountable +ineluctable/Y +ineludible +inept/PY +ineptitude/MS +inequable +inequation/SM +inequitable/Z +inequivalent/Y +inequivalve/SM +ineradicable/Z +inerrancy/M Noun: usually uncountable +inerrant/3 +inert/PY +inertia/OoMSp +Inês/M +inescapable/Y +inescutcheon/MS +inessential +inestimable/Y +inestimableness/M Noun: uncountable +inevitability/MS +inevitable/YP +inexact/PY +inexhaustibility/M Noun: uncountable +inexhaustible/YP +inexistence/M Noun: usually uncountable +inexistency/M +inexistent +inexorability/M Noun: usually uncountable +inexorable/YP +inexpedience/M Noun: usually uncountable +inexpedient/Y +inexpense +inexpiably +inexplicability/M Noun: uncountable +inexplicable/PY +inexplicit/PY +inexpressibility/M Noun: uncountable +inexpressible/SP +inexpugnable +inextricable/Y +infall/SMG +infallen +infallible +infamous/Y +infamy/SM +infancy/SM +infant/SM +infanta/MS +infante/MS +infanticide/SMO +infantile +infantilise/SGDN +infantilism/M Noun: usually uncountable +infantility/SM +infantry/mMS +infarct/SM +infarction/SM +infatuate/DSGn +infauna/O +infeasibility/SM +infeasible/Z +infect/EDGAS +infectee/SM +infecter/SM +infection/EMSA +infectious/YP +infective +infectivity/SM +infector/SM +infectress/SM +infectum/M +infectuous +infecture/M +infecund +infecundity/SM +infeed +infelicitous/Y +infell +infer/DS7G +inference/GSM +inferencer +inferential/Y +Inferior/M +inferior/MYS +inferiority/SM +infernal/Y +inferno/MS +inferrable +infertile +infest/nSDGR +infeudation +infibulate/SGDN +infidel/MS +infighting/M +infill/GM +infiltrate/V +infiltrator/MS +infinite/MVZ +infinitesimal/YS +infinitive/MSO +infinitude/SM +infinitum ad infinitum +infinity/MS +infirm/SGDY +infirmarer/SM +infirmary/SM +infirmity/SM +infix/nGDMS +inflame/SGDr +inflammableness/M Noun: uncountable +inflammation/SM +inflammatory/SMY +inflatable/SM +inflate/DSGnr +inflated/c +inflation/EMyS +inflationism/M Noun: uncountable +inflationist/SM +inflaton/SM +inflator/SM +inflect/7GxSVD +inflection/SMp +inflexed +inflexion/SMp +inflexional/Y +inflict/DGSR7 +infliction/MS +inflictor/MS +infliximab/M Noun: uncountable +inflorescent +inflow/GM +influence/RDGMS +influent/MS +influential/Y +influenza/MSD +influenzoid +influx/SM +info/SM +infobox/SM +infodemic/SM +infographic/SM +infolded +infomania/M Noun: uncountable +infomaniac/SM +infomediary/SM +infomercial/SM +infonaut/SM +inform/aNGDS +inform/O +informatics +information/E +informational/Y +informative/UY +informativeness/M Noun: uncountable +informatory Adjective +informer/SM +infosec/M Noun: uncountable +infosphere/SM +infostructure/SMO +infotainment/MS +infotech/M Noun: uncountable +infowar/M Noun: uncountable +infra-red/M +infra/SM +infraclass/SM +infract/SGD +infraction/SM +infractor/SM +infradian Adjective +infralapsarian/MS +infralegion/SM +infrangibility/M Noun: uncountable +infrangible +infraorder/SM +infrared/SM +infrarenal +infrasonic +infrasound/SM +infraspecific/Y +infrastructure/MSO +infrequence/M +infrequent +infringe/Lr +infructescence/SM +infula/M +infulae/M +infundibula/M +infundibular +infundibulum/M +infuriate/SGDkn +infuse/Rb +infusibility/M Noun: uncountable +infusible/P +infusoria/M +Ingatestone/M +ingather/Sd +Ingbirchworth/M +ingeminate/DGS +ingenious/YP +ingénue/SM +ingenue/SM +ingenuity/MS +ingenuous/YP +ingenuously/E +Ingersoll/M +ingest/DGbVS +ingestion/SM +Ingestre/M +Ingham/M +ingle/SM +Ingleby/M +inglenook/SM +Inglesham/M +Ingleton/M +Inglewood/M +Inglis/M +Ingo/M +ingoing +Ingol/M +Ingoldisthorpe/M +Ingoldmells/M +Ingoldsby/M +ingot/SM +ingraft/SGDJ +ingrain/h +Ingram/M +ingrate/SM +ingratiate/nGDSk +Ingrave/M +ingravescence/M +ingravescent +ingredient/MS +ingress/SM +ingression/SM +ingressive/SM +Ingrid/M +Ingthorpe/M +inguinal/Y +ingurgitate/DGSn +Ingworth/M +inhabit/7d +inhabitability/M Noun: uncountable +inhabitable/U +inhabitance/SM +inhabited/U +inhalant/SM +inhalation/MO +inhalator/SM +inhale/nR +inhere/DSG +inherence/M Noun: usually uncountable +inherent/Y +inherit/EdS +inheritability/M Noun: uncountable +inheritable/P +inheritance/EMS +inheritor/SM +inheritress/SM +inheritrix/MS +inhesion/SM +inhibin/SM +inhibit/SVdyXNr +inhibition/M +inhibitor/MS +inhold/JG +inhomogeneous/Y +inhospitability +inhospitable/P +inhospitality +inhuman +inhumane +inhume/SGD +inimical/Y +inimitable/YP +iniquitous/PY +iniquity/SM +Inishail/M +Inishrush/M +initial/GQsqDSY +initialise/ASKDG +initialism/SM +initialler/SM +initialness/M Noun: uncountable +initiand/SM +initiate/DGSnVy +initiative/SM +initiator/SM +initio ab initio +inject/SGDV +injectable/SM +injection/MS +injector/SM +injunct/SGD +injunctive/SM +injure/RDGSZ +injurious/PY +ink/GRZMSD +Inkberrow/M +inkberry/SM +inkblot/MS +inkhorn/SM +inkjet/SM +inkling/SM +Inkpen/M +inkstand/SM +Inkster/M +Inktomi/M +inkwell/SM +inky/TP +inlaid +inland/r +inlay/GS +inlet/MS +inlier/MS +inline/SGD +inly/G +Inman/M +inmate/SM +inmost +inn/GMJS +Inn/M +innards +innate/PY +innatism/M Noun: uncountable +Innellan/M +inner-city +Inner/M +inner/SM +Innerleithen/M +Innerleven/M +innermost +innerness/M +innersole/SM +innerspring +innervate/SGDn +Innerwick/M +Innes/M +innie/SM +inningses +Innishael/M +innit +innkeeper/MS +innocence/SM +innocent/TYSM +innocuous/PY +innominate/SM +innovate/VnGuDSyv +innovation/OM^ +innovator/SM +Innsbruck/M +Innsworth/M +innuendo/DGMS +innuendoes +innumerability/M +innumerable/PY +innumerate/B +innutrition +innutritious +inobservance/SM +inocula +inoculable +inoculant/SM +inoculate/VGDSn +inoculator/MS +inoculum +inodorous +inoperability/M Noun: uncountable +inoperable/Y +inoperative +inoperativeness +inopportune/P +inordinate/YP +inorganic/Y +inosculate/SGDN +inosine/SM +inositol/SM +inotropy/W +Inoue/M +Inouye/M +inpatient/MS +inpouring +input/SGDMR +inquest/SM +inquiline/MS +inquire/kRDGZ +inquiry/SM +Inquisition/M +inquisition/SOoM +inquisitive/PY +inquisitor/OoMS +inquorate +inroad/SM +inrush/GSM +ins. +insalubrious +insalubrity/MS +insane +insatiability/MS +insatiable/PY +insatiate +inscape/MS +Insch/M +inscribable +inscribe/RNX +inscription/SMO +inscriptive +inscrutability/SM +inscrutable/YP +Insecta Taxonomic class +insectan +insectarium/SM +insectary/SM +insecticide/MSO +insectile +Insectivora Taxonomic order +insectivore/MS +insectivorous +insectoid/SM +insecure/Y +inseminate/nDSG +insensate/YP +insensitiveness/M +insentience/SM +inseparability/MS +inseparable/PS +insert/DGAS +insert/M +insertable +inserter/MS +insertion/O +insertion/SMA +inset/GDR +Insh/MS +inshallah +inshore +inside-out +inside/SMR +insidious/PY +InSight InSight Lander (Mars) +insight/6j +insightfulness +insigne's +insignia/MS +insignificancy/M +insincere/Y +insinuate/DGknSV +insinuator/SM +insipid/Y +insipidity/SM +insipidness/M Noun: uncountable +insipidus +insist/DSGk +insistence/MS +insistency/SM +insistent/Y +Inskip-with-Sowerby/M +insofar +insolation/M +insole/MS +insolence/SM +insolent/SMY +insolubility/SM +insoluble/PSMY +insolvent/SMY +insomnia/SM +insomniac/SM +insomuch +insouciance/SM +insouciant/Y +insoul/SGDL +insource/SGD +inspan/DGS +inspect/AGSD +inspect/k +inspection/SMO +inspective +inspector/SMO +inspectorate/MS +inspectorship/MS +inspiratory Adjective +inspire/MxnGkrD +inspissate/DGSn +inst/g +Instagram/M +instal/S +install/ADGS +installable +installant +installation/SMA +installer/MS +instalment/MS +instance/SGDM +instancy/SM +instant/SYMP +instantaneous/PY +Instantbird/M +instanter +instantiate/SGDn +instar/SM +instate/ALSDG +instauration/M +instaurator/MS +instead +instep/SM +instigate/SVnDG +instigator/MS +instil/SRnGD +instilment/SM +instinct/vVMS +instinctual/Y +institute/VGRxDMS +institution/SM +institutional/Qq3 +institutionalism/SM +institutor/SM +Instow/M +instruct/VvuGxDS +instruction/SM +instructive/P +instructor/SM +instructorship/SM +instrument/YGoSDnM3 +instrumental/PS3M +instrumentalise/SGD +instrumentalism/SM +instrumentality/SM +instrumentarium/M +instrumentary +insubstantiality/SM +insufferable/YP +insufficiency/SM +insufflate/SGDN +insufflator/SM +insula/M +insulae/M +insulant/SM +insular/Y +insularity/MS +insulate/DSnG +insulator/MS +insulin/MS +insult/rSkGDM +insuperability/SM +insuperable/Y +insupportable/PZ +insurability/M +insurable/U +insurance/FMSA +insure/DRSG +insurgence/ZSM +insurgency/SM +insurgent/SM +insurmountable/Y +insurrection/3MS +insurrectionary/SM +insusceptible +inswing/GR +intact/P +intaglio/SMGD +intake/SM +intangible/M +intarsia/SM +integer/MSn +integrability/M Noun: usually uncountable +integrable +integral/SMY +integrality/SM +integrand/SM +integrant/MS +integrase/SM +integrate/EADSGN +integration/AME +integrationist/SM +integrations/E +integrative +integrator/MS +integrin/SM +integrity/MS +integument/SMO +integumentary +Intel/M +intel/M Noun: uncountable +intellect/SM +intellectible +intellection/SM +intellective/Y +intellectual/3QYPSM +intellectualism/SM +intellectualistic +intellectuality/SM +intelligence/MSr +intelligent/UY +intelligential +intelligentsia/MS +intelligibility/SM +intelligible/UY +intelligibleness/M Noun: uncountable +Intelsat/M +intemperance/SM +intemperate/P +intend/uhViv +intendancy/MS +intendant/MS +intended/U +intendedness/M Noun: uncountable +intendment/SM +intense/P +intensify/RnDSG +intension/Oo^ +intensity/MS +intensive/PS +intensivist/SM +intent/YPS +intention/DSoM +intentional/UY +intentionalism/M Noun: uncountable +intentionality/SM +intentive/Y +inter-agency +inter-allied +inter-class +inter-modal +inter-personal +inter-urban +inter/ELDG +inter/S +interact/SVDGvu +interactant/SM +interaction/SMO3 +interactionism/M Noun: uncountable +interactivity/M Noun: usually uncountable +interactome/SM +interactomic +interactomics/M Noun: uncountable +Interamnia/M +interarticular +interatomic +interaxial +interbank +interbed/DS +interbred +interbreed/GS +intercalary +intercalate/DGVSn +intercase +intercaste +intercede/GSDr +intercellular +intercensal +intercept/GSD +interception/MS +interceptive +interceptor/SM +intercession/MSO +intercessor/SMZ +interchain +interchange/SlGBDrM +interchangeability/SM +interchangeable/P +InterCity/M +intercity/SM +interclass +intercohort +intercollegiate +intercolonial +intercolumnar +intercolumniation/SM +intercom/MS +intercommunicate/DGnS +intercommunion/SM +intercommunity/M Noun: uncountable +interconnect/GDiS +interconnected/P +interconnection/SM +interconnectivity/M Noun: usually uncountable +intercontinental/Y +interconversion/SM +interconvert/SGD +interconvertible +interconvertion/M +intercool/DR +intercorrelate/Dn +intercostal/YSM +intercountry +intercourse/MS +intercrater Adjective +intercrop/SGD +intercross/DSG +intercrural +intercultural +interculturalism/SM +intercurrent/SM +intercut/SG +interdealer/SM +interdenominational/Y +interdental/Y +interdepartmental/Y +interdepend/SGD +interdependence/SMZ +interdependency/MS +interdependent/Y +interdict/DGMVS +interdiction/SM +interdictory +interdigital +interdigitate/SGD +interdimensional/SM +interdisciplinarity/SM +interdisciplinary +interest/EDhSMG +interested/UY +interesting/UY +interestingness/M Noun: usually uncountable +interethnic +interface/rDMSGOJ +interfaith/p +interfemoral +interfere/kRSGD +interference/MS +interferential +interferometer/WSM +interferometry/M Noun: uncountable +interferon/SM +interfertile +interfile/SDG +interfix/SGD +interflow/DGS +interfluvial +interfuse/DGS +interfusion/SM +intergalactic/Y +intergeneration/OoM +intergeneric +interglacial/SM +intergovernmental/Y3 +intergovernmentalism/M Noun: uncountable +intergradation/MS +intergrade/DGS +intergrew +intergroup Adjective +intergrow +intergrown +intergrowth/SM +interim/SM +interindex +interindustry +interior/YMS +interiority/M +interject/xGSD +interjection/SM +interjectory Adjective +interknit/GS +interlace/DGS +interlacement/MS +interlaid +interlaminate/SGD +interlanguage/SM +interlap/DGS +interlard/DSG +interlay/SGr +interlayering +interleaf +interleave/CGDS +interleaver/SM +interleukin/SM +interlibrary +interline/SDGJ +interlinear/SM +interlineation/MS +interlingua/SMO +interlinguistics +interlining/M +interlink/DSG +interlinkage/SM +interlobular +interlock/GSDr +interlocution/SM +interlocutor/MSZ +interlope/SDRG +interlude/MS +intermarriage/MS +intermarry/SGD +intermeddle/DGS +intermedia +intermediacy/SM +intermediary/MS +intermediate/YnMPGDS +intermediator/SM +intermedium +intermembrane +intermenstrual +intermesh/SGD +intermetallic +intermetrics +intermezzi/M +intermezzo/SM +interminable/PY +intermingle/DSG +intermission/SM +intermit/SGD +intermittence/SZ +intermittent/Y +intermix/GSD7r +intermixture/SM +intermodal +intermodulate/SDn +intermodule/n +intermolecular/Y +intermuscular +intern/MoxDLG3S +internal/PsSQq +internality/S +internarial +internasal +internation +international/3QqS +Internationale +internationalism/MS +internationality/SM +internecine +internee/SM +internegative/SM +Internet/M +internet/MD +internetwork/SGD +interneural +interneuron/SMO +interneurone/SM +internity/M Noun: uncountable +interno-medial +interno-median +internode/SO +internodial +internodium +internonce/SM +internship/SM +internuclear +internuncial +internuncio/MS +interoceanic +interoceptive +interoceptor/SM +interocular +interoffice +interop/M Noun: uncountable +interoperate/BDNSG +interorbital +interosseous +interparietal +interpellate/SGDn +interpellator/SM +interpenetrate/SGDNV +interpenetrations +interpersonal/Y +interphase +interplanetary +interplant/SGD +interplay/MGDS +interpleader/MS +Interpol/M +interpolar +interpolatable +interpolate/DnSVG +interpolator/MS +interpose/SDGR +interposition/SM +interpositive/SM +interpret/daAnS +interpretability +interpretable +interpretant/SM +interpretation/AMa +interpretation/O +interpretative/Y +interpreted/U +interpreter/aMS +interpretership/MS +interpretive/Y +interprocess +interprocessor +interprovincial +interquartile +interracial/Y +interramal +interregional/Y +interregna +interregnum/MS +interrelate/SnGihD +interrelated/P +interrelationship/SM +interreligious +interrogate/SGyvDVn +interrogative/SM +interrogator/MS +interrogatory/SM +interrupt/DGSbRV +interruptibility/M Noun: uncountable +interruption/MS +interruptor/S +interruptus +intersect/GSD +intersection/SMO +intersectionalism/M Noun: uncountable +intersectionality/SM +intersegmental/Y +interseptal +intersession/SM +intersex/SMD +intersexual/Y +intersexualism/M +intersexuality/M Noun: uncountable +interspace/DMSGJ +interspecies +interspecific/Y +intersperse/DSG +interspersion/SM +interspinal +interspinous +interstadial +interstage +interstate/SM +interstellar +interstice/SM +interstitial/SMY +intersubjective/Y +intersubjectivity/SM +intersurvey +intertask +intertextual/Y +intertextuality/SM +intertidal/SM +intertrack +intertribal +intertrigo/M Noun: uncountable +intertwine/DSG +intertwinement/MS +intertwist/DGS +interurban/SM +interval/MSW +InterVarsity/M +interveinal +intervene/SDGr +intervenient/SM +intervenor/SM +intervention/OSM^3 +interventionism/MS +intervertebral +interview's/K +interview/ADGS +interviewee/MS +interviewer/MS +intervocalic/Y +interwar +interweave/SG +Interweb/M +interwiki/SMGD +interwind/MSGJ +interwork/SGD +interwound +interwove +interwoven +intestacy/MS +intestate/SM +intestine/SOoM +intifada/SM +intimacy/MS +intimal +intimate/rDYPGSn +intimidate/DSkGyn +intimidator/MS +intinction/M +intitule/DGS +intl +intolerable/PZ +intonate/SGDN +intone/xn +intorsion's +intoxicant/SM +intoxicate/GDhnS +Intoxilyser/SM +intra +intracellular/Y +intracity +intraclass +intracohort +intracompany +intracranial/Y +intractability/SM +intractableness +intractably +intradepartmental +intradermal/Y +intradiegetic +intrados +intrafamily +intraformational +intragenerational/Y +intraindividual +intraindustry +intraline +intrametropolitan +intramolecular/Y +intramural/Y +intramuscular/Y +intranasal +intranet/SM +intransigence/MS +intransigent/SMY +intransitive/SP +intrant/MS +intranuclear +intraocular +intraoffice +intraoperative +intrapartum +intraperitoneal +intrapersonal +intrapetiolar +intraplate +intrapreneur/SMO +intraprocess +intrapsychic/Y +intrapulmonary +intraregional/Y +intrasectoral +intrasexual +intraspecies +intraspecific +intrastate +intrathecal/Y +intrathoracic +intratissue +intrauterine +intravaginal +intravasation +intravascular/Y +intravenous/SY +intraventricular +intravital/Y +intrazonal +intrench/DGS +intrenchment/M +intrepid/PY +intrepidity/MS +intricacy/MS +intricate/PY +intrigant +intrigue/MRSkDG +Intrinseca/M +intrinsic/YS +intro/SM +introduce/DSAnG +introducer/SM +introductory +introgression/SM +introgressive +introit/SM +introject/SGD +introjection/SM +intromission/SM +intromittent +intron/SMW +introrse/Y +introspect +introspection/SM +introspective/PY +introversion/SM +introversive +introvert/GSDM +introvertive +Introvigne/M +intrude/RuSDGVv +intrusion/SM +intrusive/P +Intu/M +intubate/SDGn +intuit/vSVXu7N +intuited +intuiting +intuitional +intuitionalism/M Noun: uncountable +intuitionalist/MS +intuitionism/SM +intuitionist/SMW +intuitive/P +intumesce/DGS +intumescence/M +intumescent +inturned +intussusception/MS +Intwood/M +Inuit/MS +inulin/M Noun: usually uncountable +inunction/SM +inundate/nSG +inure/GDS +inurement/MS +inurn/DGS +inutile +inutility +invade/RXVuDGSN +invaginate/DGS +invagination/SM +invalid/MdS +invalidism/MS +invaluable/P +Invar/M +invariableness/M +invariably +invariant/MY +invasion/M +invected +invective/YPMS +Invega/M +inveigh/GSDr +inveigle/RSGD +inveiglement +invent/uVyv +invented/A +invention/AMS +inventive/P +inventor/SM +inventory/MDSG +inventress/MS +invents/A +inventus +Inver/M +inveracity/SM +Inverallan/M +Inverallochy/M +Inveraray/M +Inverarity/M +Inveravon/M +Inverbervie/M +Invercargill/M +Inverchaolain/M +Inverclyde/M +Inveresk/M +Inverforth/M +Invergarry/M +Invergordon/M +Invergowrie/M +Inverkeilor/M +Inverkeithing-Dalgety/M +Inverkeithing/M +Inverkeithny/M +Inverkip/M +Inverleith/M +Inverlussa/M +Invermay/M +Inverness/M +inverse/Y +inversive +invert/RGSDb +Inverurie/M +invest/bBALE +invest/GDS +investee/MS +investigable +investigate/AGDSN +investigation/MSO +investigative +investigator/SMZ +investiture/SM +investment/f +investor/SM +inveteracy/SM +inveterate/Y +inviability +inviable +invidious/YP +invigilate/DG +invigilation/SM +invigilator/MS +invigorate/AGDSn +invigorating/Y +invigoration/MA +invigorative +invigorator/MS +invincibility/MS +invincible/PY +Invincibles +inviolability/MS +inviolable/Y +inviolacy/M +inviolate/PYB +inviscid +invisible/PSZ +invitation/OoM +invitatory +invite/GSknDr +invitee/SM +invocatory +invoice's +invokable +invoke/RnDGS +involucre/MSO +involuntary/PY +involute/SD +involution/SM +involutive +involve/LGhSDr +invulnerability/SM +invulnerable/P +inwale +inward/YP +Inwardleigh/M +inwrap/SGDJ +Inyo/M +Io/M Moon of Jupiter +Ioan/M +Ioannidis/M +iodate/SM +iodic +iodide/MS +iodinate/DGS +iodination/MS +iodine/M Noun: usually uncountable +iodise/GDS +iodoacetate/SM +iodoform/M +iodometry/WM +iodophor/SM +IoE/SM Initialism of internet of everything +iofendylate/M Noun: uncountable +IOGKF/M +Ioke/M +Iolanthe/M +Iomega/M +ion/1sMWqQS +Iona/M +Ionia/M +Ionian/SM +Ionic/M +ionisable +ionise/CRSGD +ionium/M Noun: uncountable +ionosphere/SMW +ionotropy/W +iontophoresis/M +iophendylate/M Noun: uncountable +IOPS +iOS/M +Iosco/M +IoT +iota/SM +IOU +Iowa/M +Iowan/SM +IP/S +IPA +iPad/SM +ipecac/SM +ipecacuanha/M +Iphigenia/M +iPhone/SM +Iping/M +iPod/SM +ipomoea/S +Ipplepen/M +Ippolyts/M +ippon/SM +IPR +ipratropium/M +IPS +Ipsden/M +ipse +ipsilateral +ipsissima +Ipsley/M +ipso +Ipstones/M +Ipswich/M +IPTV/M +IQ/SM +Iqaluit/M +Iqbal/M +Ir +IR +Ira/M +irade/S +Iran/M +Irani/M +Iranian/SM +Iraq/M +Iraqi/MS +irascibility/SM +irascible/Y +irate/TYP +Irby/M +IRC/M +Irchester/M +IRCop/SM +ire/6SDMG +Ireby/M +Iredell/M +Ireland/M +Ireleth/M +Irenaeus/M +Irene/M +irenic/SOY +irenicism +irenicon/S +Ireton/M +Irian +iridaceous +irides +iridescence/MS +iridescent/Y +iridium/M +iridocene +iridology/3 +Irigaray/M +Iris +iris/MS +Irish/m5 +Irisher/MS +Irishism/MS +Irishry/M +iritis +irk/DSG +irksome/PY +Irkutsk/M +Irma/M +Irmo/M +Irnham/M +iroko/SM +Iron/M +iron/rwMSd1WP3 +ironclad/SM +Irondale/M +Irondequoit/M +Irongate/M +Irongray/M +ironical/P +ironing/M +ironise/SGD +ironmaster/SM +ironmonger/SM +ironmongery/SM +Ironside/MS +ironside/SM +ironstone/SM +Ironton/M +Ironville/M +ironware/SM +ironwood/MS +ironwork/MSGr +irony/MS +Iroquoian/SM +Iroquois/M +irradiance +irradiant +irrational/S3Y +irrationalism/SM +irrationalities +Irrawaddy/M +irrebuttable +irreclaimably +irreconcilability/MS +irreconcilable/PYS +irrecoverable/YP +irrecuperable +irrecusable +irredeemability/M Noun: uncountable +irredeemable/YSM +irredentism/M Noun: usually uncountable +irredentist/MS +irreducibly +irreflexive +irrefragable/Z +irrefrangible +irrefutability/M Noun: uncountable +irrefutable/Y +irregardless +irregular/MSY +irrelative/Y +irrelevance/SM +irreligion/3 +irreligious/PY +irremediable/PY +irremissible +irremovability/M Noun: uncountable +irremovable/Z +irreparable/YP +irreplaceable/Z +irreplaceableness +irrepressible/Y +irreproachability/M Noun: uncountable +irreproachable/PY +irreproducibility/M Noun: uncountable +irreproducible +irresistibility/M +irresistible/P +irresolute/P +irresponsible/S +irresponsive/P +irretrievability/M Noun: uncountable +irretrievable/Y +irreverential +irrevocability/M Noun: usually uncountable +irrevocable/YP +irrigable +irrigate/GDnS +irrigative +irrigator/SM +irritability/SM +irritable/PY +irritancy/MS +irritant/SM +irritate/BnSkhVDG +irrotational +irrupt/DGVS +irruption/MS +IRS/M +Irstead/M +Irthington/M +Irthlingborough/M +Irton/M +Irtysh/M +Irvin/M +Irvine/M +Irvinestown/M +Irving/M +Irvingite/MS +Irvington/M +Irwell/M +Irwin/M +is +Isa/M +Isaac/M +Isaacson/M +Isabel/M +Isabela/M +Isabella/M +Isabelle/M +isabgul +Isadora/M +Isaf/M +isagogic/S +Isaiah/M +Isaltina/M +Isanti/M +isatin/M +ISBN/SM Initialism of International Standard Book Number +Iscariot/M +ischaemia/W +ischia/MO +ischium/M +Iscoyd/M +ise +Isel/M +Isenbarger/M +Isentress/M +isentropic +isethionate/SM +isethionic +Isfahan/M +Isfield/M +ish +Ish-bosheth/M +Isham/M +Ishiguro/M +Ishikawa/M +Ishmael/MS +Ishmaelite/MS +Ishpeming/M +Ishtar/M +Isidore/M +isinglass/SM +Isis/M +ISIS/M +isiZulu +isl. +Isl. +Islam/M +Islamabad/M +Islamdom +Islamic +Islamification/M +Islamise/SGDN +Islamism/SM +Islamist/SMW +Islamite/SMW +Islamitish +Islamofascism/M Noun: uncountable +Islamofascist/SM +Islamophobe/SMW +Islamophobia/M Noun: usually uncountable +Island/M +island/RSM +Islandmagee/M +Islands/M +Islay/M +Isle/MS +isle/SM +Isleham/M +Isleornsay/M +Islesteps/M +islet/MS +Isleworth/M +Isley/M +Islington/M +Islip/M +ism/SMC +Ismael/M +Ismaili/MS +isn't +ISO/MS +isobar/SWM +isobutene/MS +isobutyl/SM +isobutylene/MS +isocheim/MS +isochoric +isochromatic +isochron/SM +isochronal/Y +isochrone/SM +isochronous/Y +isocline/SMWO +Isocrates/M +isocratic +isocyanate/SM +isocyanic +isodine +isodynamic +isoechoic +isoechoicity/M Noun: uncountable +isoelectronic +isoflavone/SM +isogamete/SM +isogamous +isogamy/M Noun: uncountable +isogeotherm/MOS +isogloss/SMO +isogonic +isohel/MS +isohyet/MS +isolable +isolatable +isolate/SnDG +isolation/3M +isolationism/SM +isolationist/SMW1 +isolator/SM +Isolde/M +isoleucine/SM +isomer/MSW +isomerase/SM +isomerisation/MS +isomerise/DGS +isomerism/SM +isomerous +isometric/YS +isometry/SM +isomorph/SWM1 +isomorphism/MS +isomorphous +isoperimetrical +isophote/MS +isopleth/SM +isopod/SM +Isopoda Taxonomic order +isoprene/SM +isoprenoid/SM +isopropanol/SM +isopropyl/SM +isosceles +isoseismal/SM +isosorbide/SM +isospin/SM +isostasy/M Noun: usually uncountable +isostatic +isothere/MS +isotherm/MSOo +isothiocyanate/SM +isotonic +isotope/SMW1Z +isotopy/MS +isotropy/SW1M +isotype/SM +ISP/SM +ispaghul/M Noun: uncountable +ispaghula/M Noun: uncountable +ispell/M +Israel/M +Israeli/SM +Israelite/SM +ISS/M +Issaquah/M +Issells/M +Isserlis/M +Issey/M +ISSN/SM Initialism of International Standard Serial Number +issuably +issuance/SM +issuant +issue/RG7DMSp +Istanbul/M +Isthmian +isthmian/SM +Isthmus +isthmus/MS +istle/M +Isycoed/M +it'd +it'll +it/D +it/M4SU +Italian-speaking +Italian/SM +Italianate +Italianism/MS +Italic/M +italic/QqS +Italiot/MS +Italy/M +Itanagar/M +Itanium/M +Itasca/M +Itawamba/M +itch/GM2ZzDS +Itchen/M +Itchenor/M +Itchingfield/M +Itchington/M +itchy/TP +item/qsQSM +iterate/nAGDSV +iterative/Y +iterator/SM +Ithaca/M +Ithacan/SM +ithyphallic +itineracy/M Noun: usually uncountable +itinerancy/SM +itinerant/SMY +itinerary/SM +itinerate/GDSn +Ito/M +iTouch/SM +itself +ITT +Itteringham/M +Itton/M +ittyon/SM +ITU +iTunes/M +ITV +Itzá/M +IU +IUD/SM +IUPAC/M +iv/M +Ivan/M +Ivana/M +Ivanchuk/M +Ivanhoe/M +Ivanka/M +Ivanov/M +Ivanovic/M +Ive/M +Ivegill/M +Iver/M +ivermectin/SM +Iversen/M +Iverson/M +Ives/M +IVF +Ivinghoe/M +Ivo/M +Ivonbrook/M +Ivor/M +Ivorian/SM +Ivory/M +ivory/SM +Ivy +ivy/DMS +Ivybridge/M +Ivychurch/M +Iwade/M +Iwamura/M +Iwate/M +Iwerne/M +Iwo +ix +ixia/SM +Ixion/M +Ixworth/M +Iyengar/M +Izard/M +izard/MS +ize +Izmir/M +iZombie/M +Izumi/M +Izzard/M +izzat/M +J +j +j'adoube +jab/GMDS +Jabalpur/M +Jaban/M +Jabba/M +jabber/SdrJM +jabberwocky/M Noun: usually uncountable +jabiru/SM +jaborandi/MS +jabot/SM +Jabotinsky/M +jacamar/SM +jaçana/SM +jacana/SM +jacaranda/MS +Jacen/M +jacet/M hic jacet +Jacewicz/M +Jacinda/M +jacinth/SM +Jacinto/M +jack-in-the-box/SM +jack-o'-lantern/SM +Jack/M +jack/MDRSJG +jackal/SM +jackanapes/SM +jackaroo/DGSM +jackass/SGDM +jackboot/MSD +jackdaw/MS +Jacke/M +Jackendoff/M +jackeroo/DGSM +jacket/dSM +Jackfield/M +jackfruit/SM +jackhammer/MSd +Jackie/M +jackknife/DGMS +jackknives +Jacklyn/M +Jackman/M +jackpot/MS +jackrabbit/SM +jacksie/SM +Jackson/MS +Jacksonian/SM +Jacksonville/M +jackstay/SM +jackstone/SM +jackstraw/SM +jacksy/SM +Jacky/M +Jaclyn/M +Jacob/SM +Jacobean/SM +Jacobi/M +Jacobian/SM +Jacobin/MS +jacobin/MS +Jacobinic/OY +Jacobinism/SM +Jacobite/SMw +Jacobitism/M Noun: usually uncountable +Jacobsen/M +Jacobson/M +Jacobstow/M +Jacobstowe/M +Jacobus/M +Jacoby/M +jaconet/SM +Jacopo/M +Jacquard/M +jacquard/MS +Jacqueline/M +Jacquelyn/M +jacquerie/SM +Jacques-Cartier/M +Jacques/M +jacuzzi/SM +Jada/M +jade/iDMhS +jaded/P +jadeite/MS +Jaden/M +Jae-in/M +Jae-ryong/M +Jaeger/M +Jaenisch/M +Jafar/M +Jaffa/MS +Jag/MS +jag/ZDhGiSM +Jagaddipendra/M +Jagdamba/M +Jagex/M +jagged/P +Jagger/M +jaggery/SM +jaggy/TS +Jagielski/M +jaguar/MS +Jaguar/SM +jaguarundi/SM +Jah/M +Jahoda/M +jail/RMDGS +jailbird/SM +jailbreak/GRSM +jailbroke +jailbroken +Jaime/M +Jain/SM3 +Jaina/M +Jainism/M +Jaipur/M +Jair/M +Jairus/M +Jakarta/M +Jake/SM +Jakob/M +Jakosky/M +Jalalabad/M +jalapeño/SM +jalapeno/SM +Jalfrezi/M +Jallianwala/M +jalopy/SM +jalousie/SM +jam/MSp +jam/UDG +Jamaal/M +Jamaica/M +Jamaican/SM +Jamal/M +jamb/GMDS +jambalaya/SM +jamboree/SM +Jameis/M +James/M +Jameson/M +Jamestown/M +Jamie/M +Jamieson/M +Jamil/M +jammer/SM +Jammu/M +jammy/TSM +Jamnia/M +Jan/M +Jana/M +Janacek/M +Jane/MS +Janeiro/M +Janell/M +Janesville/M +Janet/M +Janete/M +Janeway/M +Jang/M +jangle/DRSGYM +Janice/M +Janick/M +Janie/M +Janine/M +Janis/M +janissary/SM +janitor/SMO +janizary/MS +Janjaweed/M +jankers/M Noun: uncountable +Jannaeus/M +Jannice/M +Janos/M +Jansen/M3 +Jansenism/M Noun: uncountable +Jansky/M +jansky/SM +janskys +Janssen/M +January/SM +Janumet/M +Janus/M +Januvia/M +Janvier/M +Jap/SM +Japan/M +japan/SGDM +Japanese/M +jape/GSMD +Japheth/M +Japhetic +Japlish/M +japonica/SM +jar/MG6JSD +Jarausch/M +Jardine/M +jardinière/MS +Jardins-de-Napierville/M +Jared/M +jarful/SM +jargon/SMW +jargonistic +jarl/MS +Jarnsaxa/M +jarosite/SM +Jaroslav/M +jarrah/MS +Jarred/SM +jarring/YSM +Jarrow/M +Jaruzelski/M +Jarvis/M +jasmine/SM +Jason/M +Jasper/M +jasper/MS +Jastrow/M +Jat/MS +jato/MS +Jaume/M +jaundice/SMGD +jaunt/Mz2GZS +jaunty/TSM +Java/M +Javadoc/M +Javan/MS +Javanese/M +JavaScript/M +javelin/MS +Javi/M +Javier/M +Jaw/M +jaw/pMDGS +Jawaharlal/M +jawbone/SDM +jawbreaker/SM +jawline/SM +Jay/M +jay/MS +Jaya/M +Jayakumar/M +Jayapura/M +Jayasekara/M +Jayasuriya/M +Jayawardena/M +Jayawardenepura/M +jaybird/MS +Jaycee/SM +Jaycox/M +Jayendra/M +Jayme/M +Jaynes/M +Jayson/M +jaywalk/GDSRJ +Jazeera/M +jazz/S2GMDZ +jazzman/M +jazzmen/M +jazzy/TY +JCR/SM +jct +JDK/M Initialism of Java Development Kit +jealous/YP +jealousy/SM +Jean-Luc/M +Jean/M +jean/SM +Jeana/M +Jeananne/M +Jeanette/M +Jeanie/M +Jeanne/M +Jeannie/M +Jebb/M +Jeconiah/M +Jedburgh/M +Jedediah/M +Jedi/SM +Jediism/M +Jeep/SM +jeep/SM +jeer/MDJSGkr +Jeeves/M +jeez +jeeze +Jeff/M +Jeffcock/M +Jefferson/M +Jeffersonian/SM +Jeffersontown/M +Jeffersonville/M +Jeffery/MS +Jeffes/M +Jeffords/M +Jeffrey/MS +Jeffreyston/M +Jeffries/SM +jeggings +jehad/SM3 +jehadism/M Noun: uncountable +Jehle/M +Jehoahaz/M +Jehoash/M +Jehoiachin/M +Jehoiakim/M +Jehoram/M +Jehoshaphat/M +Jehovah/M +Jehovist/MS +Jehu/M +jejuna/MO Plural of jejunum +jejune/PY +jejunum/M +Jekyll/M +jell/DYGS +jellaba/SM +Jellinek/M +jelly/DGMS +jellybean/SM +jellyfish/MS +jellylike +jellyroll/SM +Jemal/M +Jembrana/M +Jemima/SM +Jemison/M +Jemma/M +jemmy/MSGD +Jen/MS +Jena/M +Jencks/M +Jenifer/SM +Jenkin/M +Jenkins/M +Jenkinson/M +Jenks/M +Jenkyn/M +Jenna/M +Jenner/M +jennet/SM +Jennette/M +Jennie/M +Jennifer/M +Jennings/M +Jenny/M +jenny/SM +Jensen/M +Jenson/M +Jeong/M +jeopardy/MQS +jerboa/MS +Jereboam/M +jeremiad/SM +Jeremiah/M +Jeremy/M +Jerez/M +Jeri/M +Jericho/M +jerk/zGZSMD2r +jerkin/MS +jerky/TPSM +jeroboam/SM +Jeroen/M +Jerome/M +Jérôme/M +Jerónimos/M +Jerrettspass/M +Jerri/M +jerrican/SM +jerry-builder/SM +jerry-building/M Noun: uncountable +jerry-built +jerry/MS +Jerry/SM +jerrycan/SM +jerrymander/SMd +Jersey/M +jersey/MS +Jerusalem/M +Jervas/M +Jervis/M +Jervois/M +Jerzy/M +Jespersen/M +Jess/M +jess/MSGD +Jessamine/M +Jesse/M +Jessica/M +Jessie/M +Jessop/SM +jest/kMDRGS +Jesuit/SM +Jesuitical/Y +Jesup/M +Jesus/M +jet-black/M Noun: uncountable +jet-lag/GDM +jet-propelled Adjective +jet-set/DGR +jet/MDGS +Jeter/M +jetfoil/SM +Jethro/M +jetliner/SM +jetpack/SM +jetport/SM +jetsam/MS +Jetson/SM +Jetsun/M +jetting/SM +jettison/dSM +jettisonable +jetty/MS +jeux les jeux sont faits +Jevington/M +Jew/MS +jewel/RGSMD +jewellery/M Noun: usually uncountable +Jewess/SM +Jewish/M +Jewishness/M Noun: usually uncountable +Jewitt/M +Jewry/M +Jezebel/SM +JFK/M +jg Abbreviation of juga. +Jharkhand/M +Jhelum/M +Jiafu/M +Jianchangosaurus Taxonomic genus +Jiang/M +Jianghan/M +Jiangsu/M +Jiangxi/M +Jiangyin/M +jib-boom/SM +jib/DMGSR +jibe/SGDM +Jibuti/M +jiff/ZSM +jiffy/MS +jig/DSGM +jigger/SdMZ +jiggery-pokery/M Noun: uncountable +jigging/SM +jiggle/DSYGM +jiggly/T +jigsaw/MS +jihad/MS3 +jihadism/M Noun: usually uncountable +Jilin/M +Jill/M +Jillie/M +jilt/DGSrM +Jim/ZM +Jima/M +Jimenez/M +Jimi/M +Jimmie/SM +Jimmy's +jimmy/DGMS +Jinan/M +jingle/YGDSrM +jingly/T +jingo/SM +jingoes +jingoism/SM +jingoist/WSM +jink/DSGM +jinn/MS +Jinnah/M +jinni/SM +Jinny/M +Jinping/M +jinricksha/MS +jinrikisha/MS +jinx/SGMD +JIT/SGDM +jitsu +jitter/SMZd +jitterbug/RGSDM +jittery/T Adjective +jiu +jiu-jitsu/M Noun: uncountable +Jiushao/M +Jivaro/M +jive/MDGS +Jixian/M +jnana/SM +jnr. +Jo'burg/M +Jo/M +Joachim/M +Joan/M +Joanna/M +Joanne/M +João/M +Joaquim/M +Joaquin/M +Job/M +job/RGSDM +jobation/MS +jobbernowl/MS +jobbery/SM +jobbing/SM +jobcentre/SM +jobholder/SM +jobless/P +jobmaster/SM +jobmongering/M +Jobs/M +jobseeker/MS +jobsmith/SM +Jobson/M +Jobst/M +jobster/SM +jobsworth/SM +jobwork/M +Jocelyn/M +Jochen/M +Jock/MS +jock/MS +Jockey Jockey Club +jockey/SDGM +jockeyship/M Noun: usually uncountable +jockstrap/MS +jocose/PY +jocosity/SM +jocular/Y +jocularity/MS +jocund/Y +jocundity/MS +Jodhpur/M +jodhpurs +Jodie/M +Jody/M +Joe/M +Joel/M +Joep/M +Joerg/M +Joestar/M +Joey/M +joey/SM +jog/RJDSGM +joggle/DGSMr +Jogjakarta/M +jogtrot/MS +Johan/M +Johanan/M +Johann/M +Johanna/M +Johannes/M +Johannesburg/M +Johannine/M +Johannisberg/M +Johannisberger/M +Johansen/M +Johansson/M +John/MS +john/SM +Johnnie/M +johnny-come-lately/SM +Johnny/M +johnny/SM +Johnsen/M +Johnshaven/M +Johnson/M +Johnsonese/M +Johnsonian/SM +Johnsonville/M +Johnston/M +Johnstone/M +Johnstown/M +Johor/M +join/FRSDG +joinder/SM +joinery/SM +joint-stock joint-stock company +joint/FYE +joint/SMrp +jointed/EPY +jointing/E +jointress/MS +joints/E +jointure/MS +joist/SMD +jojoba/SM +joke/ZDRMSGk +jokesmith/SM +jokester/SM +jokey +joky/YT +Jolene/M +Jolie/M +jolie/S jolie laide +Joliet/M +Joliette/M +Jolitta/M +Jolla/M +jollification/SM +jollity/SM +jolly/SPTYDGM +jolt/DSRGZM +Jon/M +Jonah/M +Jonas/M +Jonathan/M +Jonathon/M +Jones/SM +Jonesboro/M +Jonesborough/M +Jonestown/M +Jonesy/M +Jong-chul/M +Jong-il/M +Jong-nam/M +Jong-un/M +jong/SM +jongleur/MS +Jonny/M +jonquil/SM +Jonson/M +Jönsson/M +Joondalup/M +Joplin/M +Jöran/M +Jordan/M +Jordanhill/M +Jordanian/SM +Jordanston/M +Jordi/M +Jordy/M +Jörg/M +Jorge/M +Jörgen/M +Jorgensen/M +Jorgenson/M +Joris/M +jorum/MS +José/M +Jose/M +Josef/M +Josefina/M +Joseph/M +Josephine/M +Josephson/M +Josephus/M +Josh/M +josh/MrSGDJ +Joshi/M +Joshua/M +Josiah/M +Josie/M +Joskow/M +joss/SM +jostle/SGDM +Josuttis/M +jot/RJSDGM +Jotham/M +jotting/SM +Joubert/M +Joule/M +joule/SM +jounce/SGD Verb +journal/Q3sSM +journaled +journalese/MS +journaling +journalism/SM +journalistic/OY +journalistics/M Noun: uncountable +journey/RmSMDJG +journo/SM +joust/MRGSD +Jouy/M +Jovanović/M +Jovanovich/M +Jove/M +jovial/Y +joviality/SM +Jovian/SM +Jowell/M +Jowett/M +jowl/YSM +jowly/T +joy/MDG6jSc +Joyce/M +Joycean/MS +joyful/PT +joyless/PY +Joynson-Hicks/M +joyous/YP +joypad/SM +joyridden +joyride/RGMS +joyrode +joystick/SM +JP/SM +jpeg/SM +JPEG/SM +JPG/SM +jpg/SM +JPL/M Initialism of Jet Propulsion Laboratory +JPY ISO 4217 currency code for the Japanese yen. +jQuery/M +Jr +JSON/M +JSTOR/M +ju-jitsu/M Noun: uncountable +ju-ju/SM +ju-jutsu/M +ju/y +Juab/M +Juan/M +Juana/M +Juanita/M +Juanjuan/M +Juba/M +jubbly/SM +jubilance/SM +jubilant/Y +jubilate/GDnS +Jubilate/MS +jubilee/SM +Judaea/M +Judaean/SM +Judaeo-Christian/M +Judaeo-German/M +Judaeophobe/MS +Judaeophobia/M Noun: uncountable +Judah/M +Judaic Adjective +Judaisation/M Noun: uncountable +Judaise/SGDNR +Judaism/M Noun: usually uncountable +Judaist/MS +Judas/M +Judd/M +judder/dSM +Jude/M +Judea/M +Judean/SM +judge/DKLaGS +judge/Mr +Judgeford/M +judgematical +judgement/Oo +judgementalism/M Noun: uncountable +judgeship/SM +judgment/SM +judgmental/Y +judgmentalism/M Noun: uncountable +Judicature Judicature Act +judicature/SM +judicial/KY +judiciary/MS +judicious/IYP +Judith/M +judo/M Noun: uncountable +judoist/MS +judoka/SM +Judson/M +Judy/M +jug/6GDSMO +jugate/D +Jugendstil/M +jugful/SM +Juggernaut/M +juggernaut/SM +juggle/RySDGM +jugglery/SM +Jugoslav/MS +Jugoslavia/M +jugular/SM +jugulate/DGS Verb +juice/RZMDGSp +juicy/YPT +jujitsu/M Noun: uncountable +jujitsu/MS +jujube/MS +jujutsu/M Noun: uncountable +jukebox/MS +Jul +julep/SM +Jules/M +Julia/M +Julian/MS +Juliana/M +Julianne/M +Julianus/M +Julie/M +Julien/M +julienne/SM +Juliet/M +Juliette/M +Julio/M +Juliot/M +Julius/M +Jullundur/M +July/MS +Julys +Jumarie/M +jumble/GDSM +jumbo/SM +jumbuck/MS +jump-off/SM +jump-start/SGDM +jump/zRZSDGM +jumpable +jumpsuit/SM +jumpy/TP +Jun +Junade/M +Junagadh/M +Junagarh/M +Juncker/M +junco/MS +junction/FSMIE +Junction/M +juncture/FMS +June/MS +Juneau/M +juneberry/SM +Jung/M +Junger/M +Jungfrau/M +Jungian/SM +jungle/SMZ +junglefowl/SM +junglier +jungliest +Jungner/M +Juniata/M +junior/MS +juniority/SM +Juniper/M +juniper/SM +junk/MDRZGS +junket/SdM +junkie/M +Junko/M +junky/TS +Juno/M +Junoesque Adjective +Junr/M +junta/MS +junto/SM +Jupiter/M +Jura/M +jural/Y +Jurassic +jurat/SM +Jurby/M +Jürgen/M +Juri/MS +juridical/Y +juries/I +juris juris doctor +jurisconsult/SM +jurisdiction/OoMS +jurisprudence/MS +jurisprudent/SM +jurisprudential/Y +juristic/OY +juror/MS +jury's/I +jury/35DmMSG +Jussi/M +jussive/MY +Just-in-Penwith/M +Just-in-Roseland/M +Just/M +just/TPY +justice/IMS +Justice/M +justice/SMYpr +justiceable +justicehood/M +justicement/M Noun: uncountable +justiceship/MS +justiciability/M Noun: uncountable +justiciable +justicialism/M Noun: uncountable +justiciar/SM +justiciary/SM +justifiability/SM +justifiable/U +justifiably/U +justificatory Adjective +justify/RlBDSGn +Justin/M +Justine/M +Justinian/M +Justinus/M +justly/U +justness/U +Justus/M +jut/SGDM +Jute/MS +jute/MS +Jutish +Jutland/M +Juvenal/M +juvenescence/M Noun: uncountable +juvenescent Adjective +juvenile/SMY +juvenileness/M Noun: uncountable +juvenilia/M +juvenility/SM +Juventus/M +juvie/SM +juxtapose/SDGr +juxtaposition/SM +JVC/M Initialism of Japan Victor Company +JVM/SM Initialism of Java virtual machine +K +K-factor +k-line/SM +k/k +ka +Kaaba/M +Kabbala/M +Kabbalah/SM +Kabbalism/M +Kabbalist/SMW +Kaber/M +kaboom/SM +kabuki/MS +Kabul/M +Kaby Kaby Lake +Kabyle/M +kachina/MS +kachori/SM +Kaczorowski/M +Kaddish/SM +kaddish/SM +Kaddishim/M +kadi/MS +Kadlec/M +Kaeo/M +Kaepernick/M +kaffeeklatsch/MS +kaffir/MS +Kaffir/MS +kaffiyeh/MS +Kafir/MS +Kafka/M +Kafkaesque/Y +kaftan/SM +Kaganski/M +Kagawa/M +Kagoshima/M +kagoul/SM +Kahan/M +Kahn/M +Kahneman/M +Kahului/M +Kai/M +Kaiapoi/M +Kaif/M +Kaihu/M +Kaikohe/M +Kaikorai/M +Kaikoura/M +kail/SM +Kailua/M +Kaimata/M +Kaimes/M +Kaine/M +Kaingaroa/M +kainite/SM +Kaipara/M +Kairaki/M +Kaiser/SM +kaiser/SM +kaisership/MS +Kaitaia/M +Kaitangata/M +Kaiti/M +Kaitlyn/M +Kaiwaka/M +Kaiwharawhara/M +kaka/MS +Kakanui/M +kakapo/MS +Kakaramea/M +kakemono/MS +Kakepuku/M +Kalahari/M +Kalamazoo/M +Kalashnikov/M +Kaldor/M +kale/MS +kaleidoscope/SWM1 +Kalendar/M +kalends +Kaley/M +Kalgoorlie-Boulder/M +Kalgoorlie/M +Kali/M +kalian/SM +Kalimantan/M +Kaliningrad/M +Kalispell/M +Kalkaska/M +Kallang/M +Kalliope/M +Kálmán/M +kalmia/MS +Kalmuck/MS +kalong/MS +kalpa/SM +Kalpage/M +Kalthoff/M +Kalu/M +Kalypso/M +Kama/M +kamacite/SM +Kamakshi/M +Kamasutra/M +Kamau/M +Kamchatka/M +kame/MS +kameez/SM +Kamen/M +Kames/M +kamikaze/SM +Kamil/M +Kamini/M +Kamino/M +Kamloops/M +Kamo/M +Kamouraska/M +Kampala/M +Kampf/M +kampong/SM +Kampuchea/M +Kamran/M +kana/SM +Kanabec/M +Kanak/M +kanaka/SM +Kanakadurga/M +Kanarese/M +Kanawha/M +Kanchenjunga/M +Kanchi/M +Kandahar/M +Kandel/M +Kandil/M +Kandiyohi/M +Kandy/M +Kane/M +Kaneohe/M +Kang/M +kangaroo/SM +Kaniere/M +kanji/SM +Kankakee/M +Kannada/M +Kannapolis/M +Kano/M +Kanoa/M +Kanpur/M +Kanryo/M +Kansai/M +Kansas/M +Kant/M +Kantian/SM +Kantianism/M +Kantor/M +kanuka/M Noun: uncountable +Kanwal/M +Kanye/M +Kao/M +kaolin/WQSM +kaolinite/SM +kaon/SMW +kaonium/M +kapellmeister/SM +Kapiti/M +Kaplan/M +kapok/SM +Kaponga/M +Kaposi/M +Kappa/M +kappa/SM +Kapton/M Noun: uncountable +kaput +Kara/M +karabiner/MS +Karachi/M +Karadima/M +Karaite/MS +Karaitiana/M +Karajan/M +karaka/SM +Karakalpakstan/M +Karakoram/M +karakul/SM +Karamea/M +karaoke/SM +karate-chop/SGD +Karate-Do/M +karate/M Noun: uncountable +karategi/M +karateka/SM +Kardashian/SM +Karehana/M +Karekare/M +Karen/M +Karet/M +Karetu/M +Kargil/M +Kari/M +Karin/M +Karitane/M +Karl/M +Karloff/M +Karlovy Karlovy Vary +Karlsruhe/M +Karlstadt/M +karma/SM +Kármán/M +Karmapa/M +karmic/Y +Karn/M +Karnak/M +Karnataka/M +Karnes/M +Karori/M +Karoro/M +kaross/MS +Karp/M +Karpinski/M +Karras/M +Karratha/M +karri/MS +karst/SW +Karsten/M +karstify/SGDN +kart/MSG +Kartikaya/M +Kartvelian/SM +karyokineses +karyokinesis/M +karyotype/SGDMW +karzy/MS +Kasai/M +kasbah/MS +Kasdan/M +Kasey/M +Kashefi/M +Kashmir/M +Kashyapa/M +Kasnoff/M +Kasparian/M +Kasparov/M +Kaspersky/M +Kasprowicz/M +Kassebaum/M +Kassel/M +Kassner/M +Kastrup/M +kata/SM +katabatic/SMY +katakana/SM +katana/SM +Katarina/M +Katarn/M +Kate/M +Katechon +Katelyn/M +Katesbridge/M +Kath/M +Katharina/M +Katharine/M +Katherine/M +Kathleen/M +Kathmandu/M +kathode/SM +Kathryn/M +Kathy/M +Katie/M +Katikati/M +Katmai/M +Kato/M +Katowice/M +Katrin/M +Katrina/M +katsura/SM +Kattegat/M +Katy/M +katydid/MS +Katyn/M +Katz/M +Kauai/M +Kauffman/M +Kauffmann/M +Kaufman/M +Kaufmann/M +Kaukapakapa/M +Kaukauna/M +Kaunas/M +Kaunda/M +Kaur/M +Kauri/M +kauri/MS +Kautilya/M +Kauwhata/M +Kavanagh/M +Kavaratti/M +Kavka/M +Kawakawa/M +Kawamura/M +Kawartha/M +Kawasaki/M +Kawata/M +Kawerau/M +Kay/M +Kaya/M +kayak/MSdr +Kaye/SM +Kayla/M +Kaylee/M +kayo/MSDG +Kaysville/M +Kazakh/M +Kazakhstan/M +Kazan/M +Kazanjian/SM +kazoo/SM +Kazue/M +Kazuhiro/M +Kazutaka/M +kB +kb +kbit/S +KBO/SM Initialism of Kuiper Belt Object +kbps +kbyte/S +kc/M +kcal/SM +KDE/M +Kea/M +kea/MS +Keadby/M +Keady/M +Keal/M +Keane/M +Keansburg/M +Keanu/M +Kearby/M +Kearn/MS +Kearney/M +Kearny/M +Kearsley/M +Kearwood/M +Keary/M +Keath/M +Keating/M +Keaton/M +Keats/M +kebab/SM +Keble/M +Keck/M +keck/SGDJM +Kecksburg/M +Keddington/M +kedge/SGDJM +kedgeree/SM +Kedington/M +Kedleston/M +Kee/M +Keef/M +Keegan/M +keek/SGDJM +keel/rSMGDp +keelboat/SM +Keelby/M +Keele/M +keelhaul/GDS +keelson/MS +keen/TSGDPYrJ +Keenan/M +Keene/M +Keener/SM +Keenor/M +keep-fit/M +keep/JSGR +keepsake/MS +keeshond/SM +Keevil/M +keffiyeh/MS +keg/SGMD +Kegan/M +Kegel/M +Kegerreis/M +Kegidock/M +Kegworth/M +Keig/M +Keighley/M +Keijo/M +Keillor/M +Keily/M +Keinton/M +Keir/M +Keira/M +Keiran/M +Keisby/M +Keiss/M +Keith/M +Keithhall/M +Keitt/M +Keizer/M +Kelbrook/M +Kelburn/M +Kelby/M +Kelce/M +Kelemen/M +Kelfield/M +Kelham/M +Kelk/M +Kellaways/M +Keller/M +Kellet/M +Kelley/M +Kellie/M +Kelling/M +Kellington/M +Kelloe/M +Kellogg/M +Kells-Connor/M +Kells/M +Kellswater/M +Kelly/M +Kellyanne/M +Kelmarsh/M +Kelmscot/M +Kelmscott/M +Kelowna/M +kelp/DGSMr +kelpie/SM +Kelsale/M +Kelsall/M +Kelsey/M +Kelshall/M +Kelso/M +Kelson/M +kelson/SM +Kelstern/M +Kelston/M +kelt/MS +Kelton/M +Kelty/M +Kelvedon/M +Kelvin/M +kelvin/SM +Kelvingrove/M +Kelvinside/M +Kemback/M +Kemberton/M +Kemble/M +Kemerton/M +Kemeys/M +Kemnay/M +Kemp/M +kemp/SMZ +Kemper/M +Kemperdick/M +Kempley/M +kempo/M Noun: uncountable +Kempsey/M +Kempsford/M +Kempston/SM +Kempstone/M +Kempthorne/M +Kempton/M +kempy +Kemsing/M +ken/GSMD +Ken/M +Kenai/M +Kenardington/M +Kenchester/M +Kencot/M +Kendal/M +Kendall/M +Kenderchurch/M +Kenderdine/M +Kendhoo/M +kendo/M Noun: uncountable +kendoist/SM +Kendra/M +Kendrick/M +Kenelm/M +Kenepuru/M +Kenfig/M +Kenilworth/M +Kenji/M +Kenjiro/M +Kenley/M +Kenmore/M +Kenmuir/M +Kenmure/M +Kenn/M +Kenna/M +Kennebec/M +Kennebunk/M +Kennedy/M +Kennedys/M +kennel/DSGM +Kennell/M +Kenner/M +Kennerleigh/M +Kennesaw/M +Kennet/M +Kenneth/M +Kennethmont/M +Kennett/M +Kennewick/M +Kenney/M +Kenninghall/M +Kennington/M +Kennison/M +Kennoway/M +Kenny/M +keno/M Noun: uncountable +Kenobi/M +kenophobia/M Noun: uncountable +kenophobic/Y +Kenora/M +kenoses +Kenosha/M +kenosis/M +kenotic/3 +kenoticism/M Noun: uncountable +Kenoyer/M +Kensal/M +Kensaleyre/M +Kensington/M +kenspeckle +Kenswick/M +Kensworth/M +Kent/MS +Kentaro/M +Kentchurch/M +Kentford/M +Kentigern/M +Kentisbeare/M +Kentisbury/M +Kentish/M +Kentmere/M +Kenton/M +Kentuckian/SM +Kentucky/M +Kentwood/M +Kenwa/M +Kenwyn/M +Kenya/M +Kenyan/SM +Kenyatta/M +Kenyon/M +Keokuk/M +Keough/M +kepi/MS +Kepler/M +Keplerian +kept +Kepwick/M +Kerala/M +Keralan/M +Kerama/M +keratectomy/SM +keratin/MS +keratinise/SGDn +keratinocyte/SM +keratitides +keratitis/SM +keratomileuses +keratomileusis/M +keratopathic +keratopathy/MS +keratoplasty/SM +keratose/M Noun: uncountable +keratoses +keratosis/M +keratotomy/SM +kerb/SM +Kerberos/M +kerbside/SM +kerbstone/MS +Kerby/M +Kerch/M +kerchief/SDM +Kerckhoffs/M +Kerdiston/M +Kerensa/M +Keresley/M +kerf/MS +kerfuffle/SM +Kerguelen/SM +Keri/M +Kerikeri/M +Kerim/M +Kerimov/M +Kermadec/M +Kerman/M +kermes/M +Kermit/M +Kern/M +kern/SGDM +kerne/MS +kernel/SM +Kerner/M +Kernersville/M +Kernes/M +Kernighan/M +kerogen/MS +kerosene/MS +Kerr/M +Kerrial/M +Kerrian/M +Kerrigan/M +Kerrville/M +Kerry/MS +Kersall/M +kersey/M +Kersey/M +kerseymere/SM +Kershaw/M +Kershner/M +Kerth/M +kerygma/SM +kerygmata/M +Kesgrave/M +Kesh/M +Kesha/M +Keshbridge/M +Keshet/M +Kessingland/M +Kessler/M +Kessock/M +Kesteren/M +Kesteven/M +Keston/M +kestrel/SM +Keswick/M +ketamine/SM +Ketch/M +ketch/MS +Ketchikan/M +Ketchum/M +ketchup/SM +Ketel/M +Ketley/M +keto/SM +ketogenesis/M Noun: uncountable +ketogenic +ketohexose/SM +ketonaemia/M Noun: uncountable +ketone/MSW +ketoses +ketosis/M +Ketsby/M +Kettering/M +Ketteringham/M +Kettins/M +kettle/6SM +Kettlebaston/M +kettlebell/SM +Kettleburgh/M +Kettleby/M +kettledrum/MS +kettledrummer/MS +Kettleshulme/M +Kettlestone/M +Kettlethorpe/M +Kettlewell/M +Ketton/M +Ketuvim/M +Kev/M +keV/SM +Keverne/M +Kevin/M +Kevorkian/M +Kew/M +Kewanee/M +Kewaskum/M +Kewaunee/M +Kewell/M +Kewisch/M +Kewpie/M +kewpie/MS +Kewstoke/M +Kexby/M +Kexi/M +key/DSGMpr +keyboard/GMDRS3 +keyclick/MS +Keyham/M +Keyhoe/M +keyholder/SM +keyhole/SM +Keyingham/M +keylogger/SM +keylogging/M Noun: uncountable +Keymer/M +Keyne/MS +Keynell/M +Keynesian/SM +Keynesianism/SM +Keyneston/M +keynote/SRGMD +Keynsham/M +Keynston/M +keypad/SM +keypair/SM +keypal/SM +keyphrase/SM +keypress/SM +keypunch/GRDSM +keyring/SM +Keys/M +keyseat/SGDM +keyserver/SM +Keysoe/M +keyspace/SM +Keyston/M +Keystone/M +keystone/SM +keystream/SM +keystroke/MDS +Keythorpe/M +keyway/SM +keyword/SM +Keyworth/M +kg +KGB/M +Khabarovsk/M +Khachaturian/SM +khaddar/M Noun: usually uncountable +khaki/MS +Khaled/M +Khalid/M +Khalifa/SM +Khalili/M +khamsin/SM +Khan/M +khan/MS +Khanal/M +khanate/SM +Khandallah/M +Khandelwal/M +Kharkov/M +Khartoum/M +Khayat/M +Khayyam/M +khazi/SM +Khedive/MSO +Khedivial +Khmer/MS +Khoisan/M +Khomeini/M +Khorasani/M +Khosravi/M +Khrushchev/M +Khyber/M Khyber Pakhtunkhwa (city Pakistan) +kHz/M +Ki-moon/M +kiang/SM +Kiangsi/M +Kiaran/M +KiB +kibble/DSGM +kibbutz/SM +kibbutzim/M +kibbutznik/SM +kibe/MS +kibibit/S +kibibyte/S +kibitka/SM +kibitzer/SM +kiblah/SM +kibosh/SM +Kibworth/M +kick-boxer/SM +kick-boxing/M Noun: uncountable +kick-off/MS +kick-start/SDGM +kick-turn/SGD +kick/ZRSDGM +kickable +kickabout/SM +Kickapoo/SM +kickback/MS +kickball/SM +kickflip/SM +kickshaw/MS +kicksorter/SM +kickstand/SM +Kickstart/M +kickstart/SGDM +kicky/T +kid-glove/M +kid/RDMSGp +Kidd/M +Kidderminster/M +kiddie/SM +kidding/SMY +Kiddington/M +kiddish/SM +kiddishim/M +kiddle/SM +kiddo/SM +kiddoes +kiddush/SM +kiddushim/M +kiddy/SM +kideo/SM +Kidlington/M +Kidman/M +Kidmore/M +kidnap/DRGJSM +kidney/MS +kidology/3M +Kidsgrove/M +kidskin/SM +kidult/SM +kidvid/SM +Kidwelly/M +Kieffer/M +Kiel/M +Kielder/M +kier/SM +Kieran/M +Kierkegaard/M +kieselguhr/SM +kieserite/SM +Kiev/M +kif/M Noun: uncountable +Kiffin/M +Kigali/M +Kihikihi/M +Kikuyu/M +Kilarrow/M +Kilauea/M +Kilbarchan/M +Kilberry/M +Kilbirnie/M +Kilbowie/M +Kilbrandon/M +Kilbride/M +Kilbucho/M +Kilburn/M +Kilby/M +Kilcalmonell/M +Kilchattan/M +Kilchenzie/M +Kilchoan/M +Kilchoman/M +Kilchrenan/M +Kilconquhar/M +Kilcoo/M +Kilcot/M +Kilcreggan/M +Kilda/M +Kildale/M +Kildalton/M +Kildan/M +Kildare/M +Kildavin/M +kilderkin/SM +Kildonan/M +Kildress/M +Kildrum/M +Kildrummy/M +Kildwick/M +Kilfenora/M +Kilfinan/M +Kilfinichen/M +Kilgeddin/M +Kilgetty/M +Kilgore/M +Kilgwrrwg/M +Kilham/M +Kilimanjaro/M +Kilindini/M +Kilkeel/M +Kilkenny/M +Kilkhampton/M +kill/SRkJ7GDM +Killadeas/M +Killaloo/M +Killamarsh/M +Killarney/M +Killarow/M +Killay/M +killdeer/SM +Killead/M +Killean/M +Killearn/M +Killearnan/M +Killeen/M +Killellan/M +Killen/M +Killerby/M +Killermont/M +Killeter/M +killfile/SGD +killick/SM +Killiecrankie/M +killifish/SM +Killigrew/M +Killin/M +Killinchy/M +Killinghall/M +Killingholme/M +Killingly/M +Killington/M +killjoy/SM +Killough/M +Killowen/M +Killylea/M +Killyleagh/M +Killyman/M +Killywool/M +Kilmacduagh/M +Kilmacolm/M +Kilmadock/M +Kilmallie/M +Kilmany/M +Kilmarnock/M +Kilmaronock/M +Kilmartin/M +Kilmaurs/M +Kilmelford/M +Kilmelfort/M +Kilmeny/M +Kilmersdon/M +Kilmichael/M +Kilmington/M +Kilmiston/M +Kilmodan/M +Kilmonivaig/M +Kilmorack/M +Kilmore/M +Kilmorich/M +Kilmory/M +Kilmuir/M +Kilmun/M +kiln/SM +Kilninian/M +Kilninver/M +Kilnsea/M +Kilnsey/M +Kilnwick/M +Kilnwood/M +kilo/MS +kilobase/SM +kilobaud/SM +kilobit/SM +kilobuck/SM +kilobyte/SM +kilocalorie/SM +kilocycle/MS +kiloelectronvolt/SM +kilogauss/SM +kilogram/SM +kilogramme/SM +kilohertz/SM +kilohm/SM +kilojoule/SM +kilolitre/SM +kilometre/SMW +kiloparsec/SM +kilosecond/SM +kiloton/SM +kilotonne/SM +kilovolt/SM +kilowatt-hour/SM +kilowatt/SM +kiloword/SM +Kilpatrick/M +Kilpeck/M +Kilpin/M +Kilrea/M +Kilrenny/M +Kilsby/M +Kilskeery/M +Kilspindie/M +Kilsyth/M +kilt/SMDr +Kiltarlity/M +Kiltearn/M +kiltie/MS +Kilton/M +Kilve/M +Kilverstone/M +Kilvickeon/M +Kilvington/M +Kilwinning/M +Kilworth/M +Kim/M +Kimball/M +Kimberley/M +kimberlite/SM +Kimberly/M +Kimble/M +Kimblesworth/M +Kimbolton/M +Kimcote/M +Kimmel/M +Kimmeridge/M +kimono/SM +Kimpton/M +kin/5SmMp +kinaesthesia/SM +kinaesthetic/Y +kinaesthetics/M Noun: uncountable +Kinallen/M +kinase/SM +Kinawley/M +Kinberg/M +Kincaid/M +Kincardine/M +Kincardineshire/M +Kinchinjunga/M +Kinclaven/M +Kincorth/M +Kincraig/M +kind-hearted/YP +kind/PSTYM +kinda +kindergarten/SMr +kindergärtner/SM +Kinderhook/M +Kindersley/M +kindest +kindle/DSAG +kindler/SM +kindling/SM +kindly/TPY +kindred/SM +kine/SM +Kinellar/M +kinematic/OY +kinematics/M Noun: uncountable +kinematograph/SM +kineses +kinesics/M Noun: uncountable +kinesiology/3wSM +kinesis/M +kinetic/OY +kineticism/M Noun: usually uncountable +kinetics/M Noun: uncountable +Kineton/M +kinetoplast/SM +kinetoscope/SM +Kinfauns/M +king-size/D +King/M +king/MDSGp +Kingairloch/M +Kingan/M +Kingaroy/M +Kingarth/M +kingbird/SM +kingbolt/SM +Kingcase/M +kingcraft/M Noun: usually uncountable +kingcup/MS +kingdom/SM +kingdomed +Kingerby/M +kingfish/SMr +Kingfisher/M +Kingham/M +kinghood/M Noun: usually uncountable +Kinghorn/M +Kinglassie/M +kinglet/SM +kinglike +kingly/TP +kingmaker/MS +Kingmaker/SM +Kingman/M +Kingoldrum/M +kingpin/MS +Kings/M +Kingsbarns/M +Kingsbridge/M +Kingsburg/M +Kingsbury/M +Kingsclere/M +Kingscote/M +Kingsdon/M +Kingsdown/M +Kingseat/M +Kingsey/M +Kingsford/M +kingship/SM +Kingshurst/M +Kingskerswell/M +Kingskettle/M +Kingsland/M +Kingsley/M +Kingsmead/M +Kingsmere/M +Kingsnorth/M +Kingsnympton/M +Kingsport/M +Kingsteignton/M +Kingston/M +Kingstone/M +Kingstown/M +Kingsville/M +Kingsway/M +Kingswear/M +Kingswells/M +Kingswinford/M +Kingswood/M +Kington/M +Kingussie/M +Kingweston/M +Kingwood/M +kinin/SM +kininase/SM +kink/MGDZSz +kinkajou/MS +Kinkell/M +Kinkisharyo/M +kinky/TP +Kinlet/M +Kinloch/M +Kinlochbervie/M +Kinlochewe/M +Kinlochleven/M +Kinlochspelve/M +Kinloss/M +Kinmel/M +Kinmylies/M +Kinnaird/M +Kinnear/M +Kinneff/M +Kinnell/M +Kinnelon/M +Kinnerley/M +Kinnersley/M +Kinnerton/M +Kinnettles/M +Kinney/M +Kinning/M +Kinniside/M +Kinnock/M +Kinnoull/M +kino/SM +Kinoulton/M +Kinross/M +Kinsella/M +Kinsey/M +kinsfolk/SM +Kinsham/M +Kinshasa/M +kinship/MS +Kinsley/M +Kinston/M +Kintail/M +Kintbury/M +Kintore/M +Kintyre/M +Kinver/M +Kinwarton/M +Kinzler/SM +kiosk/MS +Kiowa/M +kip/SDGMR +Kiplin/M +Kipling/SM +Kiplingism/SM +kippa/SM +kippah/SM +Kippax/M +Kippen/M +kipper/SdM +kippot/M Plural of kippah +kippoth/M +Kippur/M +Kiraly/M +Kirby/M +Kircaldy/M +Kircher/SM +Kirchhoff/M +Kirchner/SM +Kircubbin/M +Kirdford/M +Kirghiz/M +Kirghizia/M +kiri/SM +Kiribati/M +Kirillin/M +Kirk/M +kirk/SM +Kirkandrews/M +Kirkbampton/M +Kirkbean/M +Kirkbride/M +Kirkburn/M +Kirkburton/M +Kirkby-in-Ashfield/M +Kirkby/M +Kirkbymoorside/M +Kirkcaldy/M +Kirkcambeck/M +Kirkcolm/M +Kirkconnel/M +Kirkcowan/M +Kirkcudbright/M +Kirkcudbrightshire/M +Kirkdale/M +Kirkden/M +Kirkfieldbank/M +Kirkgunzeon/M +Kirkham/M +Kirkharle/M +Kirkhaugh/M +Kirkheaton/M +Kirkhill/M +Kirkhope/M +Kirkinner/M +Kirkintilloch-Lenzie/M +Kirkintilloch/M +Kirkland/M +Kirkleatham/M +Kirklees/M +Kirklevington/M +Kirkley/M +Kirklington-cum-Upsland/M +Kirklington/M +Kirklinton/M +Kirkliston/M +Kirkmabreck/M +Kirkmahoe/M +Kirkmaiden/M +kirkman/M +kirkmen/M +Kirkmichael/M +Kirkmuirhill-Blackwood/M +Kirkmuirhill/M +Kirknewton/M +Kirkoswald/M +Kirkpatrick-Juxta/M +Kirkpatrick/M +Kirkstall/M +Kirkstead/M +Kirksville/M +Kirkton/M +Kirkurd/M +Kirkwall/M +Kirkwhelpington/M +Kirkwood/M +Kirmani/M +Kirmington/M +Kirmond-le-Mire/M +Kirmond/M +Kirn/M +Kirov/M +Kirrha/M +Kirriemuir/M +kirsch/M Noun: usually uncountable +Kirschner/M +kirschwasser/M Noun: usually uncountable +Kirstead/M +Kirsten/M +Kirtle-Eaglesfield/M +kirtle/MS +Kirtling/M +Kirtlington/M +Kirton/M +Kirwee/M +Kiryas/M +Kisangani/M +Kisch/M +Kisco/M +Kishen/M +Kishinev/M +Kisimul/M +Kislingbury/M +kismet/MS +kiss/DGRSMJ7 +Kissimmee/M +Kissinger/SM +Kissner/M +kist/MS +Kiswahili/M +kit/GMZrDS +Kitagawa/M +Kitakyushu/M +Kitamura/M +kitbag/SM +kitchen/SMr +Kitchener/M +kitchenette/MS +kitchenware/SM +Kitchin/M +kite-flying/M +kite/MS +kiteboard/SMGD +Kitemark/MS +kitenge/SM +kitesurfer/SM +kitesurfing/M Noun: uncountable +kith/MS +Kitimat-Stikine/M +Kitsap/M +kitsch/ZSM +Kitt/MS +Kittel/M +kitten/MdS +kittenish/YP +Kittisford/M +Kittitas/M +kittiwake/SM +kittle/SGD +kitty/MS +Kiwanis/M +Kiwi/MS +kiwi/SM +kiwifruit/SM +Kiyoko/M +Kiyotsugu/M +KKK/M Initialism of Ku Klux Klan +kl +Klamath/M +Klan/M +Klandasan/M +Klansman/M +Klaproth/M +Klarer/M +Klaus/M +Klawe/M +klaxon/MS +Klay/M +Kleberg/M +klebsiella/SM +Kleck/M +Kleenex/M +Klein/M +Kleinsmith/M +Kleopatra/M +Klepfer/M +klepht/MS +kleptocracy/SM +kleptocrat/SMW +kleptomania/MS +kleptomaniac/SM +kleptoparasite/SMW +kleptoparasitism/M Noun: uncountable +Klerksdorp/M +klick/SM +Klickitat/M +klieg/SM +Kline/SM +Klingler/M +Klingon/SM +klipspringer/MS +Kloetzke/M +Klondike/MS +kloof/MS +Klopfer/M +kludge/RGSDM +kludgey +kludgy/T +Kluwe/M +Klux/MR +klystron/SM +km +kn +knack/MRS~ +knacker/MSZd +knag/MS +Knaith/M +knap/SGDM +Knapdale/M +Knapp/M +knapper/MS +knapsack/MS +Knaptoft/M +Knapton/M +knapweed/SM +Knapwell/M +knar/MS +Knaresborough/M +Knarsdale/M +Knauer/M +Knauth/M +knave/MyS +knavery/SM +knavish/Y +knavishness/M Noun: uncountable +knawel/MS +Knayton/M +knead/RDGS +kneadable +Kneale/M +Knebworth/M +knee-deep +knee-high/SM +knee-jerk/SMZ +knee-length +knee/SMdp +Kneebone/M +kneecap/SGMD +kneehole/SM +kneel/DRGS +knees-up/SM +Kneesall/M +Kneeton/M +Kneighton/M +knell/GMSD +knelt +Knesset/M +Knettishall/M +knew +knick-knack/MS~ +knick-knackery/M Noun: uncountable +knick/SGD +knickerbocker/SM +Knickerbocker/SM +knickers +knife-edge/SM +knife/SGMD +knifefish/SM +knifepoint/SM +knight-errantry/SM +knight/GMDYSp +Knight/SM +knightage/MS +Knightdale/M +knighthood/SM +Knightley/M +knightlike +knightly/P +Knighton/M +Knights/M +Knightsbridge/M +Knightswood/M +Knightwick/M +Knill/M +Knipton/M +knish/SM +knit/RGSDJM +knitbone/M Noun: uncountable +knitting/M +knitwear/M Noun: usually uncountable +knives +Kniveton/M +knob/ZMSGD +knobbiness/M Noun: uncountable +knobble/SMZ +knobby/T +knobkerrie/MS +Knobloch/M +Knoblock/M +knobstick/MS +knock-down/SM +knock-kneed +knock-on/SM +knock-out/SM +knock-up/SM +Knock/M +knock/RDJSMG +knockabout/SM +Knockando/M +Knockbain/M +Knockcloghrim/M +knockdown/SM +Knockhill/M +Knockholt/M +Knockin/M +knocking-shop/SM +Knockmoyle/M +Knocknacarry/M +knockout/SM +knockwurst/SM +Knodishall/M +knoll/DSGM +Knoll/M +Knolston/M +Knook/M +knop/MS +Knorr/M +Knossington/M +Knossos/M +knot/ZMSGDpR +knothole/MS +Knott/M +Knotting/M +knotting/SM +Knottingley/M +knotty/TPY +knotwork/SM +knout/SMGDJ +know-how/M Noun: uncountable +know-it-all/SM +know/GJk7Sr +Knowe/M +knowe/SM +knowest Archaic, but doesn't cause FPs +knowing/TP +Knowle/MS +knowledgable +knowledge/BSlM +knowledgeable/P +Knowlton/M +known/US +Knowsley/M +Knowstone/M +Knox/M +Knoxville/M +Knoyle/M +knuckle/SDMG +knucklebone/SM +knuckleduster/SM +knucklehead/SMD +Knudsen/M +Knudson/M +knurl/SGDM +Knuth/M +Knutsen/M +Knutsford/M +Knutson/M +KO'd +KO'ing +KO/SM +Ko/SM +koala/MS +koan/MS +Kobayashi/M +Kobe/M +Kober/M +kobold/MS +kobudo +Koch/M +Kochi/M +Kodachrome/M +Kodak/M +Kodaly/M +Kodiak/M +koel/MS +Koelmeyer/M +Koenig/M +Koenigsberg/M +Koerner/M +Koertzen/M +Koester/M +Koestler/M +Kofi/M +kofta/SM +Koga/M +Kogan/M +Kohei/M +Kohima/M +Kohimarama/M +Kohl/M +Kohler/SM +kohlrabi/SM +kohlrabies +Kohn/M +Kohukohu/M +koine/MS +Koitiata/M +Koivisto/M +Koizumi/M +Kojak/M +Kokatahi/M +Kokhba/M +Kokoda/M +Kokomo/M +Kokopu/M +kola/SM +kolache/SM +Kolata/M +Kolbe/M +Kolesar/M +kolinsky/MS +Kolkata/M +kolkhoz/MS +Kolmogorov/M +Kolonia/M +Kolyma/M +komatiite/SMW +kombu/M Noun: uncountable +kombucha/SM +Komodo/M +kompromat/SM +Komsomol/MS +Kong/M +König/M +Konini/M +Konishi/M +Konrad/M +Konstantin/M +Konya/M +Koocher/M +Koochiching/M +kookaburra/SM +kooky/YTP +Koopman/M +Kootenai/M +Kootenay/M +kopeck/MS +kopek/SM +Kopelson/M +Kopff/M +kopje/MS +Kopp/M +Köppen/M +koppie/MS +Kopuru/M +Koran/MW +Kordell/M +Korea/M +Korean/SM +Koresh/M +korfball/SM +korma/SM +Korn/M +Kornberg/M +Kornbluth/M +Korokoro/M +Korolev/M +Koromiko/M +Koror/M +Kors/M +Kortrijk/M +koruna/SM +Korver/M +Korzybski/M +Kosciusko/M +kosher/Sd +Koshland/M +Kosovo/M +Kossa/M +Kossuth/M +Kostova/M +Kothari/M +Kotler/SM +koto/MS +Kotte/M +Kotz/M +koumiss/M Noun: usually uncountable +kouprey/SM +kourbash/MS +Kournikova/M +Kourou/M +Kourtney/M +Kovacs/M +Kowal/M +Kowalski/M +Kowanyama/M +Kowhai/M +kowhai/MS +Kowloon/M +kowtow/GDS +kPa Symbol for kilopascal +kph +Kr +kraal/MS +Kraemer/M +kraemeriid/SM +Kraepelin/M +kraft/M Noun: uncountable +Kraftwerk/M +krait/MS +Krakatoa/M +Krakatoan +kraken/SM +Krakow/M +Kramer/SM +Kramnik/M +Krasinski/M +Kraus/M +Krause/M +Kraut/SM +Kravchenko/M +Krayzelburg/M +Krebs/M +Krefeld/M +Kreisky/M +Kremlin/M +Kremlinology/3M +Kreps/M +Kresge/M +Kressel/M +Kretzer/M +Krieger/M +Kriegsmarine/M +kriegspiel/SM +krill/MS +krimmer/SM +Kripalu/M +Kris/M +Krishna/M +Krishnaism/M +Krishnamurthy/M +Krista/M +Kristaps/M +Kristen/M +Kristensen/M +Kristin/M +Kristina/M +Kristine/M +Kristofferson/M +Kristy/M +kriya/SM +Krizan/SM +Kroger/SM +Krohn/M +kromesky/MS +krona/M The official currency of Sweden +krone/M +Kronecker/M +Kroneckerian/SM +kronen/M +Kronenberg/M +kroner/M Plural of krone +Kronmiller/M +kronor/M Plural of krona +Kronos/M +kronur/SM +Kropotkin/M +Krouse/M +Kru/M +Krueger/SM +Kruger/SM +Krugman/M +Krum/M +krummhorn/SM +Kruno/M +Krupp/M +Kruse/M +Kruskal/M +krypton/SM +kryptonite/M Noun: uncountable +Krzanich/M +KS +Ks +Kshatriya/MS +kt. +Ku/SM +Kuala/M +Kuan/SM +Kubiak/M +Kublai/M +Kubrick/M +Kubuntu/M +Kudlow/M +kudos/M Noun: uncountable +kudu/SM +kudzu/SM +Kuechly/M +Kuenen/M +Kuenning/M +Kufic/M +Kuhlthau/M +Kühn/M +Kuhn/M +Kuiper/M +kuiperoid/SM +Kuiti/M +Kuk-ryol/M +Kukan/M +kukri/MS +Kukuk/M +kulak/SM +kulan/MS +Kullback/M +Kumagaya/M +Kumakiri/M +Kumar/M +Kumara/M +kumara/SM +Kumari/M +Kumaris/M +Kumasi/M +Kumble/M +Kumeu/M +Kümmel/M +Kummer/M +kumquat/SM +Kuna/M +Kundakunda/M +kundalini/SM +kung kung fu +Kunis/M +Kunkler/M +Kunming/M +Kunte/M +Kuntze/M +Kuomintang/M +kurbash/MS +Kurchatov/M +kurchatovium/M Noun: uncountable +Kurd/MS~ +Kurdi/M +Kurdistan/M +Kurile +Kurmann/M +Kuroda/M +Kurosawa/M +Kurose/M +Kurow/M +kurrajong/MS +kursaal/MS +Kurt/M +kurta/SM +Kurtis/M +kurtoses +kurtosis/SM +Kurtz/M +Kurtzman/M +Kuru/M +Kurzweil/M +Kusch/M +Kush/M +Kushi/M +Kuster/SM +Kutaisi/M +Kutch/M +Kutcher/SM +Kutchinsky/M +Kutuzov/M +Kuwait/M +Kuwaiti/SM +Kuzma/M +kV +kvass/SM +kW +Kwan/SM +KwaNdebele/M +kwanza/SM +kwashiorkor/SM +KwaZulu-Natal/M +KwaZulu/M +kWh +Kwikpen/M +kyanise/SGDJ +kyanite/WSM +kybosh/SGDM +Kydland/M +Kyffin/M +Kyle/MS +kyle/SM +Kyleakin/M +Kyleigh/M +Kylie/M +kylikes Plural of kylix +kylin/MS +kylix/SM +Kylo/M +Kyloe/M +kyloe/MS +Kyme/M +kymograph/SMW +kymography/M Noun: usually uncountable +Kynnersley/M +Kyoto/M +kyphoses +kyphosis/M +kyphotic +Kyre/M +Kyrgyzstan/M +Kyriakidou/M +Kyrie/MS +kyu/SM +kyudo/M Noun: uncountable +Kyushu/M +L'Ancienne-Lorette/M +L'Assomption/M +L'Épiphanie/M +L'Érable/M +L'Île-Cadieux/M +L'Île-Dorval/M +L'Île-Perrot/M +L'Islet/M +L-plate/SM +l/3 +l10n/M Abbreviation of localization +La'youn/M +la/M +La/MS +laager/MSd +lab/oMS +Lab/SM +labarum/MS +Labatt/M +labdanum/M Noun: usually uncountable +labefaction/M Noun: uncountable +label/aGDSA +label/DMr +labella/M Plural of labellum +labelling/SM +labellum/M +labelmate/SM +Labette/M +labia/M +labial/SM +labialism/M Noun: uncountable +labiaplasty/SM +labiate/MS +labile +lability/SM +labiodental/SM +labium/M +laborant/SM +laboratory/SMO +laborious/YP +labour-intensive +labour-saving +labour/JShRikGDM +Labourd/M +laboured/MP +Laboureur/M +labouring/M +labra/MO +labradoodle/SM +Labrador/SM +labradorite/M Noun: usually uncountable +labret/MS +labroid/SM +labrum/M +Labrusca/M +Labunski/M +laburnum/MS +labyrinth/SMO +labyrinthial +labyrinthian Adjective +labyrinthic/O +labyrinthine/Y +labyrinthitis/M +Lac-Delage/M +Lac-Mégantic/M +Lac-Saint-Jean-Est/M +Lac-Saint-Joseph/M +Lac-Sergent/M +lac/DGSM +Lac/M +Lacaille/M +Lacan/M +Lacanian/SM +Lacanianism/M Noun: uncountable +Laccadive Laccadive Islands +lacceroic +laccolith/MS +lace-ups +lace/M +lace/USGD +Laceby/M +Lacedaemonian/SM +lacer/MV +lacerable +lacerate/GDnS +lacertian/SM +lacertiform Adjective +lacertilian/SM +lacertine/SM +lacertoid/SM +lacery/SM +lacewing/MS +lacewood/M Noun: uncountable +lacework/M Noun: uncountable +Lacey/M +Lach/M +Lachaud/M +laches/M +Lachman/M +lachryma/M +lachrymal/SM +lachrymation/M Noun: usually uncountable +lachrymator/MS +lachrymatory/SM +lachrymose/Y +Lachute/M +lacing/M +laciniate/D +lack/MS +lackadaisical/YP +Lackawanna/M +lackey/MDGS +Lackford/M +Lackland/M +lacklustre/SM +Laclede/M +Lacock/M +Lacombe/M +Laconia/M +Laconian/SM +laconic/Y +laconicism/SM +laconism/MS +lacquer/SrdM +lacquerware/SM +lacquerwork/SM +lacrimal/SM +lacrimation/M Noun: usually uncountable +lacrimator/MS +lacrimatory/SM +lacrosse/MS +lacrymal/SM +lacrymation/M +Lacs/M +lactam/SM +Lactantius/M +lactate/SMnDxG +lacteal/SM +lactescence/SM +lactescent +lactic +lactiferous +lactobacilli +lactobacillus +lactometer/MS +lactone/SM +lactoprotein/SM +lactose/SM +lacuna/SMO +lacunae/M +lacunar/SM +lacunarity/MS +lacunary +lacunose Adjective +Lacus Lacus Magni +lacustrine Adjective +Lacy/M +lacy/T +lad/MRDJSG +Ladakh/M +ladanum/M +Ladbroke/MS +Ladbrooke/M +Ladd/M +ladder/d +laddie/MS +laddish/P +laddoo/SM +laddu/SM +lade/ZG +Laden/M +laden/Uc +Ladies/M +ladify/SGDJ +Ladin/M +lading/M +ladino/SM +Ladino/SM +Ladislaus/M +ladle/6GSMDr +Ladock/M +Ladoga/M +ladoo/SM +ladrone/SM +lady-killer/SM +Lady/M +lady/MS +Ladybank/M +ladybird/SM +ladybug/SM +ladyfy/SGDJ +ladyhood/M Noun: uncountable +Ladykirk/M +ladylike +ladylove/MS +Ladyship/MS +ladyship/SM +Ladysmith/M +Ladywell/M +Laerhoven/M +Laetrile/M +laetriles +laevorotation/SM +laevorotatory Adjective +laevulose/SM +Lafayette/M +Laffont/M +Lafourche/M +lag/SMrDJGR +lagena/M +lagenae/M Plural of lagena +Laggan/M +laggard/PYMS +lagging/M +laggy/T +lagomorph/MS +Lagomorpha Taxonomic order +lagoon/SMO +Lagos/M +Lagrange/M +LaGrange/M +Lagrangian/M +Laguerre/M +Laguna/M +lah/MS +lahar/MS +Lahore/M +laic/MSOY +laicisation/MS +laicise/SGDJ +laicity/SM +laid/Aacf +Laigh/M +lain/fc +Laindon/M +Laing/M +Laingholm/M +Lainston/M +lair/MGDS +lairage/MS +laird/SM +Lairg/M +lairy/T +Lais/M +laissez +laissez-faire +laity/MS +Lajes/M +Lakatos/M +Lake/M +lake/SM +lakebed/SM +lakefront/SM +Lakehurst/M +Lakeland/M +lakelet/MS +Lakenham/M +Lakenheath/M +Lakes/M +lakeside/S +Lakeville/M +Lakeway/M +Lakewood/M +Lakoff/M +Lakota/SM +Lakshadweep/M +Lakshmi/M +Lalande/M +Laleham/M +Laleston/M +Lalita/M +Lallans +Lalo/M +lam/DSG~ +Lama +lama/SM +Lamaism/M Noun: uncountable +Lamaist/MS +Lamar/M +Lamarck/M +Lamarckian/MS +Lamarckism/M Noun: uncountable +Lamarsh/M +lamasery/SM +Lamaze/M +Lamb/M +lamb/MGDSr +lambada/SM +Lambarde/M +lambast/S +lambaste/GSD +lambda/MS +Lambdin/M +Lambeg/M +lambency/MS +lambent/Y +Lamberhurst/M +Lambert/M +lambert/MS +Lambeth/M +lambkin/SM +Lambley/M +lamblike +Lamborghini/MS +Lambourn/M +Lambourne/M +lambrequin/MS +Lambrigg/M +Lambrook/M +lambskin/MS +Lambston/M +lambswool/SM +Lambton/M +lamé +Lamé/M +lame/YDPTr +lamebrain/MS +lamed/SM +lamella/SM +lamellae/M Plural of lamella +lamellar +lamellate +lamellibranch/MS +Lamellibranchia +lamellibranchs +lamellicorn/MS +lamelliform +lamellipodia/OM +lamellipodium/M +lamellose +lament/SMnDlG7r +lamentable/P +Lamerton/M +Lamesley/M +Lamey/M +lamina/Mn +laminae/M +laminar +laminate/DGS +lamination/SM +Lamington/M +laminose +lamium/SM +Lamlash/M +Lammas/M +lammergeier/SM +lammergeyer/SM +Lamoille/M +Lamont/M +Lamorran/M +lamotrigine/M Noun: uncountable +lamp-post/SM +lamp/GDSMrp +Lampasas/M +lampblack/SM +lampbrush/SM +Lampeter/M +Lamphey/M +lamplight/RSM +lamplit +Lamplugh/M +lampoon/SDGM3 +lampooner/SMZ +Lamport/M +lamppost/SM +lamprey/SM +lamprophyre/SM +lampshade/MS +lampstand/SM +Lamyat/M +Lamyatt/M +LAN/SM +Lana/M +Lanai/M +Lanark/M +Lanarkshire/M +Lanaudière/M +Lanbadarn/M +Lanbadog/M +Lancashire/M +Lancaster/M +Lancastrian/SM +Lancaut/M +lance/DRGMS +lancelet/SM +Lancelot/M +lanceolate/SM +lancet/MS +lancewood/M +Lanchester/M +Lancing/M +land-use +Land/M +land/mJDRGSMp +Landahaussy/M +landau/M +Landauer/M +landaulet/MS +landaus +Landbeach/M +Landcross/M +lander/eMS +Landewednack/M +landfall/SM +landfill/SD +Landford/M +landform/SM +landgrave/MS +landgraviate/MS +landhold/RGJ +landing/M +Landis/M +Landkey/M +landlady/SM +ländler/SM +landlessness +landline/SM +landlocked +landlord/SM +landlordism/M Noun: usually uncountable +landlubber/MS +landmark/SDGM +landmass/MS +landmine/SM +Landmoth-cum-Catto/M +landnam/M +Lando/M +Landon/M +Landore/M +landowner/SM +landownership/M +landowning/SM +landplane/SM +landrace/SM +landrail/SM +Landrake/M +Landry/M +Landsburg/M +landscape/GRMSD3 +landside/SM +landslide/SM +landsliding/SM +landslip/SM +Landulph/M +landward/S +Landwehr/M +Landyrnog/M +lane/SM +Laneast/M +Laneham/M +Lanercost/M +Laneshaw/M +Laney/M +Lanfeugan/M +Lang/M +Langar/M +Langbank/M +Langbar/M +Langcliffe/M +Langdon/M +Lange/M +Langenhoe/M +Langer/M +Langerhans/M +Langford/M +Langham/M +Langhans/M +Langho/M +Langholm/M +Langlade/M +Langland/M +Langley/M +Langlois/M +Langmack/M +Langney/M +langouste/SM +langoustine/SM +Langport/M +Langridge/M +Langrish/M +Langriville/M +Langsett/M +Langshott/M +Langside/M +Langston/M +Langstone/M +Langthorne/M +Langthorpe/M +Langtoft/M +Langton/M +Langtree/M +language/SM +LanguageTool/M +Languedoc/M +languid/PY +languish/SkDGr +languishment/SM +languor/SM +languorous/Y +langur/SM +Langwathby/M +Langwith/M +Langworth/M +Lanham/M +Lanhydrock/M +Lanier/M +Lanihorne/M +Lanilterne/M +Lanivet/M +lank/T2PYZ +Lanka/M +Lankan/SM +Lankenau/M +Lankester/M +lanky/TPY +Lanlivery/M +Lanmartin/M +Lanner/M +lanner/MS +lanneret/MS +Lanning/M +lanolin/SM +Lanreath/M +Lansallos/M +Lansbury/M +Lansdale/M +Lansdowne/M +Lansing/M +Lansky/M +Lansley/M +lansoprazole/M Noun: uncountable +lansquenet/SM +Lantana/M +Lantarnam/M +Lanteglos/M +Lanteglose/M +lantern/MS +lanthanide/SM +lanthanocene/SM +lanthanum/SM +lanthorn/MS +Lantus/M +lanugo/M +lanyard/SM +Lanza/M +Lanzhou/M +Lao/SM +Laodicea/M +Laodicean/MS +Laoghaire/M +Laois/M +Laos/M +Laotian/SM +Laoze/M +lap/DScGM +laparoscope/SM +laparoscopic/Y +laparoscopy/SM +laparotomy/SM +lapboard/MS +lapdog/SM +Lapeer/M +lapel/DMS +Lapford/M +lapful/MS +Laphroaig/M +lapidary/SM +lapidate/SGDN +lapidify/SGD +lapilli/M +lapin/MS +lapis +Laplace/M +Laplacian +Lapland/RM +Lapley/M +LaPorte/M +Lapp/MS +lapper/MS +lappet/MS +Lappish/M +laps/SGD +lapse/FDAGS +lapse/M +lapser/AM +lapstone/MS +lapsus +laptop/MS +lapwing/SM +Lapworth/M +Lara/M +Larabel/M +Laramie/M +Larbert/M +larboard/SM +larcener/MS +larcenous +larceny/SM3 +larch/MS +lard/DGr +lard/FMS +lardon/MS +lardoon/MS +lardy/T +Laredo/M +large-scale +Large/M +large/TPY +largehearted +largemouth +largen/S +largened +largening +largess/SM +largesse/SM +larghetto/MS +largish +Largo/M +largo/SM +Largoward/M +Largs/M +Largy/M +lariat/DSGM +Larimer/M +Larine/M +Larissa/M +lark/MGDSZr +Larkfield/M +Larkhall/M +Larkin/M +Larkspur/M +larkspur/SM +Larling/M +Larne/M +Larner/M +Larousse/M +larrikin/MS +larrup/S +larruped +larruping/S +Larry/M +Lars/M +Larsen/M +Larson/M +Larsson/M +Larue/M +larva/MO +larvae/M Plural of larva +larvicide/MS +Larwood/M +laryngeal/SY +laryngealised +laryngectomy/SM +larynges +laryngitides +laryngitis/M +laryngology/3M +laryngoscope/SM +laryngoscopy/SM +laryngospasm/MS +laryngotomy/SM +larynx/M +lasagna/M +lasagne/M +LaSalle/M +Lasborough/M +Lascaux/M +Lascelles/M +lascivious/YP +lase/SRG +laserdisc/SM +LaserJet/M +lash-up +lash/rGJMDSp +Lasham/M +lashing/M +Lashmer/M +Laskin/M +lasque/MS +lass/MS +Lassa +Lassell/M +Lassen/M +Lasseter/M +Lassie/M +lassie/SM +Lassington/M +lassitude/MS +lasso/MSDGr +Lasswade/M +last-ditch +last-minute +last/YDGSkJr +lastage +lasting/P +Lastingham/M +László/M +Laszlo/M +Latah/M +Latakia/M +latanoprost/M Noun: uncountable +latch/GMDS +latchet/MS +Latchford/M +latching/M +Latchingdon/M +latchkey/SM +late/YTP~ +latecomer/MS +lateen/SM +laten/S +latency/SM +latened +latening +latent/Y +later/A +laterad Adverb +lateral/FSY +lateralise/SGDN +laterality/SM +lateralizer +lateralward +Lateran/M +laterigrade Adjective +laterite/W +latesome +latest/S +LaTeX/M +latex/SM +Latgalian/MS +lath/SDRyGM +Latham/M +Lathbury/M +lathe/SM +lather/dr +Latheron/M +Lathia/M +lathing/M +Lathom/M +Lathrop/M +latices +laticifer/SM +laticiferous +Latifah/M +latifundia/M Plural of latifundium +Latimer/M +Latin-American/S +Latin/SM3 +Latina/SM +Latinate +Latinise/SGDNR +Latinism/SM +Latinity/SM +Latino/SM +Latinx/SM +latish +Latisha/M +latitude/MS +latitudinal/Y +latitudinarian/SM +latitudinarianism/M Noun: usually uncountable +latitudinary +Latium/M +Latonya/M +latria/M Noun: usually uncountable +latrine/SM +Latrobe/M +latte/SM +latten/M +latter-day +latter/YM +lattermath/SM +lattermost +latterness/M Noun: uncountable +lattice/GSDM +latticework/SM +latticing/M +Lattimer/M +Latton/M +Latuda/M +Latvia/M +Latvian/SM +Lau/M +laud/SMlDG7r +Lauda/M +laudability/M Noun: uncountable +laudanum/MS +laudation/SM +laudative +laudatory +Lauder/M +Lauderdale/M +Lauderhill/M +Laue/M +Laufer/M +laugh/JDkGlSR7p +laughable/P +Laugharne/M +laughee/SM +laughing/M +laughingstock/SM +laughlessness/M Noun: uncountable +laughsome +laughter/SM +Laughterton/M +Laughton-en-le-Morthen/M +Laughton/M +laughworthy +Launce/M +launce/MS +Launcells/M +Launceston/M +launch/GADS +launcher/SM +launching/S +Launchpad/M +launchpad/SM +Laund/M +Launde/M +launder/rdS +launderette/MS +laundress/SM +laundrette/SM +laundromat/SM +laundry/5SmM +Launton/M +Lauper/M +Laura/M +Laurasia/M +Laurasian +Laureate +laureate/SM +laureateship/MS +Laurel/M +laurel/SMDG +Laurelvale/M +Lauren/MS +Laurence/M +Laurencekirk/M +Laurent/M +Laurentides/M +Laureus Laureus World Sports Awards +lauric +Laurie/M +Laurieston/M +Laurinburg/M +Lauriston/M +Lauro/M +laurustinus +lauryl +Lausanne/M +Lautner/M +lava/SM +lavabo/SM +Lavaca/M +lavage/SM +Laval/M +lavalier/SM +Lavaltrie/M +Lavanify +Lavant/M +lavatera/SM +lavatory/SMO +lave/DSGnr +lavender/dSM +Lavendon/M +Lavenham/M +Laver/M +Lavernock/M +Laverstock/M +Laverstoke/M +Laverton/M +Lavery/M +LaVey/M +LaVeyan/SM3 +LaVeyanism/M +Lavin/M +Lavington/M +lavish/DPTSGY +Lavrov/M +law-abiding +law/eSM +Law/M +lawbreaker/SM +lawbreaking/SM +Lawers/M +lawfare/M Noun: uncountable +Lawford/M +lawful/UY +lawfulness/MS +lawgiver/SM +lawgiving/M +Lawhitton/M +Lawkland/M +lawks +Lawler/M +lawless/PY +Lawley/M +lawmaker/SM +lawmaking/M +lawman/M +lawmen/M +Lawn/M +lawn/MSZD +Lawndale/M +lawnmower/SM +Lawrence/M +Lawrenceburg/M +Lawrencetown/M +Lawrenceville/M +lawrencium/M +Lawrenny/M +Lawrentian/MS +Lawrie/M +Lawshall/M +Lawson/M +lawsuit/SM +Lawton/M +lawyer/YMdS +lax/vuTYSPV +laxative/SMP +Laxay/M +Laxdale/M +Laxfield/M +laxity/MS +Laxton/M +lay-by +lay-bys +lay-off/SM +lay/CRGS +layabout/MS +Laycock/M +Layer-de-la-Haye/M +layer/dC +Layer/M +layering/SM +Layerthorpe/M +layette/SM +Layham/M +laying/ca +Layla/M +layman/M +laymen/M +Layne/M +layout/SM +layover/MS +laypeople/M +layperson/SM +lays/faAec +layshaft/SM +Laysters/M +Layston/M +Laythorpe/M +Layton/M +layup/MS +laywoman/M +laywomen/M +Layzell/M +Lazar/3MS +lazar/MS +lazaret/MS +lazaretto/MS +Lazarus/M +laze/GZDS +Lazenby/M +Lazio/M +Lazo/M +Lazonby/M +lazuli/M +lazy/GDTPY +lazybones/M +lb/S +LBJ +lbw +LCCN/SM +LCD/MS +LCPs/M +LDAP/M +le/3zGDS +Le/MS +Lea-by-Backford/M +Lea/M +lea/SM +leach/SDG +lead-free +lead/GSRD +Lead/M +leadable +Leaden/M +leaden/PY +Leadenhall/M +Leadenham/M +leader/Mp +leadership/MS +leadwork/SM +leadwort/M +leaf-like +leaf/pSD2GMZ +leafage/SM +leafbird/SM +leafcutter/SM +leafhopper/MS +Leafield/M +leaflessness/M Noun: uncountable +leaflet/MdS +leaflove/SM +leafstalk/MS +leafy/T +league/FMDGS +League/M +leaguer/SM +Leah/M +leak/DZSGMr +leakage/SM +Leake/M +Leakey/M +leakproof +leakproofness/M Noun: uncountable +leaky/TP +Leal/M +Leamington/M +lean-burn +lean/JYGDTPSr +Leander/M +Leandro/M +leaning/M +Leanne/M +leant +Leão/M +leap/DGSr +Leap/M +leapfrog/MSGD +leapt +Lear/ZM +learn/UGSAD +learnability/SM +learnable +learned/PY +learner/SM +learning/SM +learnt +leas/GRSD +leasable +lease/ARGMSD +leaseback/MS +leasehold/RMS +leash/GSUD +leash/M +leasing/M +Leasingham/M +least/S +leastways +leastwise +leat/SM +leather/SMZd2 +leatherback/SM +leathercloth/SM +Leatherdale/M +leatherette/SM +Leatherhead/M +leatherjacket/SM +leathern +leatherneck/SM +Leathley/M +leave-taking +leave/RJMGS +Leaveland/M +Leavell/M +leaven/dSMr +Leavenheath/M +leavening/M +Leavening/M +Leavenworth/M +leaving/M +Leawood/M +Lebanese/M +Lebanon/M +Lebberston/M +Lebel-sur-Quévillon/M +Lebensform +Lebenslust +lebensraum/M +lebensräume/M Plural of lebensraum +lebensspur/M +Lebenswelt +Lebesgue/M +lebkuchen/M +Leblanc/M +Lebowa/M +Lebrun/M +lecher/SMZ +lecherous/YP +lechery/SM +Lechlade/M +Lechner/M +lecithin/SM +lecithotrophic/Y +Leck/M +Leckby/M +Leckford/M +Leckhampstead/M +Leckhampton/M +Leckie/M +Leckwith/M +Leclanché/M +Lecompton/M +Leconfield/M +Lecropt/M +Lecter/M +lectern/MS +lectin/SM +lection/MS +lectionary/SM +lector/SM +lecture/RGDSM +lectureship/SM +lecythi/M +lecythus/M +LED/SM +Leda/M +Ledbury/M +Lederberg/M +lederhosen/M +ledge/DRMSZ +Ledgers/M +Ledru/M +Ledsham/M +Ledston/M +Leduc/M +Ledyard/M +Lee-Enfield/M +Lee-Metford/M +Lee/M +lee/SyM +Leebotwood/M +leech/GSMr +leechcraft/M +Leedham/M +Leeds/M +Leegomery/M +Leek/M +leek/MS +Leekfrith/M +Leelanau/M +Leeming/M +leer/DGkSM +Leerssen/M +leery/TP +Lees/M +Leesburg/M +Leese/M +Leeston/M +Leeswood/M +leet/MS +Leete/M +Leeuwenhoek/M +leeward/SY +leeway/SM +Leflore/M +left-click/SGD +left-footed +left-hand/DiRh +left-wing/R +left/T3SZ~ +leftie/M +leftism/MS +leftmost +leftover/MS +leftward/S +lefty/S3M +leg-bye +leg-cutter +leg-spinner/MS +leg/omDSbM2pGJZn +legacy/SM +legal/3QqS +legalese/MS +legalism/MS +legalistic/Y +legalitarian/SM +legality/ISM +legally/I +legals/I +Legaré/M +legate's/C +legate/CDASnG +legatee/MS +legateship/MS +legatine +legation/AMC +legato/SM +legator/MS +Legba/M +Legbourne/M +legend/MS +legendary/YS +Legendre/M +legendry/M Noun: usually uncountable +Léger/M +legerdemain/MS +Legerwood/M +legging/M +leggy/TP +Legh/M +leghorn/MS +Leghorn/MS +legibility/MIS +legible/IY +legible/Y +legion/DSMy +legionary/SM +legionella/M +legionellae/M +legionnaire/SM +legislate/vVSGnD +legislative/S +legislator/MS +legislature/MS +legist/MS +legit/SM +legitimacy/ISM +legitimate/SYGQND +legitimateness/M Noun: uncountable +legitimatise/SGDN +legitimise/SGDNR +legitimism/M Noun: usually uncountable +legitimist/MS +Lego/M +legomena hapax legomena +legomenon hapax legomenon +legrandite/M +legroom/SM +Legsby/M +legstraps +leguleian/SM +legume/SM +legumen +legumin/SM +legumine/M Noun: uncountable +leguminoid Adjective +leguminous +legwork/MS +Leh/M +Lehi/M +Lehigh/M +Lehman/M +Lehmann/M +Lehmer/M +lehr/MS +Lehrman/M +lei/SM +Leia/M +Leiber/M +Leibler/M +Leibniz/M +Leibnizian/MS +Leica/M +Leicester/M +Leicestershire/M +Leick/M +Leiden/M +Leif/M +Leigh-on-Mendip/M +Leigh-on-Sea/M +Leigh/MS +Leighfield/M +Leighland/M +Leighlin/M +Leighterton/M +Leighton-Linslade/M +Leighton/M +Leila/M +Leinster/M +Leinthall/M +Leintwardine/M +leiomyoma/SM +leiomyomata +leiomyomatous +Leipzig/M +Leire/M +leishmaniasis/M +leister/MS +leistered +leistering/M +Leiston/M +leisure/MSYD +leisurely/P +leisurewear/M Noun: uncountable +Leitão/M +Leith/M +leitmotif/MS +leitmotiv/SM +Leitrim/M +Leix/M +Lejeune/M +Leland/M +Lelant/M +leman/MS +Lemann/M +Lemberg/M +Lemington/M +Lemke/M +lemma/MS +lemmata/M +lemmatise/SGDN +lemme/JG +lemming/SM +lemniscate/SM +lemnisci/M +lemniscus/M +Lemon/M +lemon/MS +lemonade/SM +lemongrass/M Noun: usually uncountable +Lemont/M +lemonwood/SM +lemony +Lemoore/M +Lempel/M +Lemreway/M +lemur/SM +Lemuria/M +Len/M +Lena/M +Lenah/M +Lenawee/M +Lenborough/M +Lench/M +Lenchwick/M +lend/SRG +lendable +Lenexa/M +length/zSZ2M +lengthen/Sdr +lengthman/M +lengthmen/M +lengthsman/M +lengthsmen/M +lengthways +lengthwise +lengthy/T +Lenham/M +lenience/ZSM +leniency/SM +lenient/SMY +Lenin/M +Leninakan/M +Leningrad/M +Leninism/M Noun: uncountable +Leninist/SM +Leninite/SM +lenite/SGD Verb +lenition/SM +lenitive/SM +lenity/SM +Lennie/M +Lennon/M +Lennox/M +Lennoxtown/M +Lenny/M +Leno/M +leno/MS +Lenoir/M +Lenore/M +Lenovo/M +Lenox/M +lens/rMGDSp +Lensfield/M +Lenski/M +Lenstra/M +lent +Lenten/M +Lenthall/M +lenticel/SM +lenticular +lentiform +lentigines Plural of lentigo +lentigo/M +lentil/SM +lentisk/SM +lentissimo +lentivirus/SM +lento/SM +lentogenic +lentoid Adjective +Lenton/M +Lentz/M +Lenzie/M +Leo/M +Leochel-Cushnie/M +Leominster/M +Leon/M +Leona/M +Leonard/M +Leonardo/M +Leonards/M +Leone/M +Leonel/M +Leong/M +Leonhard/M +Leoni/M +Leonid/MS +Leonidas/M +Leonine/MS +leonine/SM +Leonor/M +Leonov/M +leopard-skin +leopard/SM +leopardess/MS +leopardskin/SM +Leopold/M +Leopoldville/M +Leoš/M +Léotard/M +leotard/SM +Lepe/M +leper/SM +leperdom/M Noun: uncountable +lepidolite/SM +Lepidoptera Taxonomic order +lepidoptera/M +lepidopteran/SM +lepidopterist/SM +lepidopterous +leporine Adjective +Leppard/M +Lepperton/M +leprechaun/SM +leprologist/SM +lepromatous +leprophobia/M Noun: uncountable +leprosarium/SM +leprosery/SM +leprosity/SM +leprosy/DSM +leprous/Y +leprousness/M Noun: uncountable +lepta/M +leptin/SM +leptocephali/MW +leptocephalous +leptocephalus/M +leptomeningeal +leptomeninges +lepton/SMW +leptonium/SM +leptospirosis +leptotene/SM +Lepus/M +Lequeux/M +LeRay/M +Lermond/M +Leroux/M +Leroy/M +Lerwick/M +Léry/M +Lesbian +lesbian/MS +lesbianism/MS +lesbigay/SM +lesbo/SM +Lesbos/M +Lesbury/M +lesion/GDMS +Lesley/M +Leslie/M +Lesmahagow/M +Lesmoir/M +Lesnar/M +Lesnewth/M +Lesotho/M +less +Less/M +lessee/SM +lesseeship/S +lessen/dS +lesser +Lessingham/M +Lessler/M +lesson/dMS +lessor/MS +lest +Lester/M +lestobioses +lestobiosis/M +lestobiotic/Y +Leswalt/M +let-down/SM +let-out +let/URMGS +Letcher/M +Letchworth/M +Letcombe/M +lethal/Y +lethality/SM +Letham/M +lethargica +lethargy/1SMW +Lethbridge/M +Lethe/M +Lethean +Lethendy/M +Letheringham/M +Letheringsett/M +Lethnot/M +Letitia/M +Leto/M +Lett/SM~ +letter/drmJp +letterbox/SM +Letterbreen/M +letterform/SM +lettergram/SM +letterhead/MSD +lettering/M +Letterkenny/M +Letterman/SM +Lettermanesque +lettermonger/SM +letterpress/MS +letterset/M +Lettershendoney/M +Letterston/M +Lettic/M +letting/SM +Letton/M +lettuce/MS +letup/SM +Letwell/M +Leuchars/M +leucine/SM +leucocidin/SM +leucocratic +leucocyte/SMW +leucoderma/M +leucoma/MS +leucorrhoea/SM +leucotome/SM +leucotomy/SM +Leucu/M +Leucus/M +leukaemia/SMW +leukaemogen/W +leukaemogenesis/M Noun: uncountable +leukocyte/MS +leukodystrophy/SM +leukoerythroblastic +leukotriene/SM +Leung/M +Leupp/M +Leuschner/M +Leuven/M +Lev/M +Levada/M +Levan/M +Levant/M +levant/SGDJ +levanter/MS +Levantine/MS +LeVar/M +levator/SM +levee/SM +level-headed/YP +level/SMDTPRGY +Levelland/M +Leveller/MS +Levemir/M +Leven/MS +lever/dMS +Lever/M +leverage/DMGS +Leverburgh/M +leveret/MS +Leverhulme/M +Leverington/M +Levern/M +Leverton/M +levetiracetam/M +Lévi/M +Levi/SM +leviable +Leviathan/M +leviathan/SM +levigate/DGS +levigation/MS +Levin/M +levin/M +Levine/M +Levington/M +Levinson/M +levirate/M +leviratic/O +Lévis/M +Levisham/M +Levison/M +levitate/DGSn +Levite/MSw +Leviticus/M +Levitra/M +Levitt/M +levity/SM +Leviviridae Taxonomic family +levivirus/SM +levocetirizine/M Noun: uncountable +levodopa/M Noun: uncountable +levofloxacin/M Noun: uncountable +levonorgestrel/M Noun: uncountable +Levor/M +levothyroxine/M Noun: uncountable +Levrant/M +Levy/M +levy/SDRG +Lew/M +Lewanika/M +Lewannick/M +lewd/TPY +Lewellys/M +Lewes/M +Leweston/M +Lewin/M +Lewinsky/M +Lewis/M +lewis/M +Lewisboro/M +Lewisburg/M +Lewisham/M +lewisite/M Noun: uncountable +Lewisohn/M +Lewiston/M +Lewisville/M +Lewknor/M +Lewoniewski/M +Lewrie/M +Lewtrenchard/M +lex +Lexden/M +Lexell/M +lexeme/SMW +Lexham/M +lexical/Y +lexicographer/SM +lexicography/1WwMS +lexicology/SM3w1 +lexicon/SM +lexigram/SM +Lexington-Fayette/M +Lexington/M +lexis +Lexus/M +Ley/M +ley/MS +Leybourne/M +Leyburn/M +Leyden/M +Leyen/M +Leyland/M +Leys/M +Leysdown/M +Leysters/M +Leyte/M +Leyton/M +lez/M! +Lezant/M +Lezayre/M +Leziate/M +lezzes/! +lezzie/SM! +lg +LG/M +LGA +LGBT +LGPL/M +LHA/M Data compression format +Lhanbryde/M +Lhasa/M +Lhuyd/M +Li/M +liability/SAM +liable +liableness/A +liaise/DSG +liaison/MS +Liam/M +Liana/M +liana/SM +liane/SM +Liang/M +Lianna/M +Lianne/M +Liao/M +Liaoning/M +Liaotung/M +liar/SM +Lias +Lib-Lab/SM +lib/DGSnM +Lib/Z +libber/MS +Libberton/M +Libbie/M +Libby/M +libel/DRSMG +libellous/Y +liber +Libera +Liberace/M +liberal/IY +Liberal/M +liberal/SM +liberalise/DGnSR +liberalism/MS +liberalist/SMW +liberality/SIM +liberalness/SM +liberaloid +liberate/SGDn +liberation/CM +liberationism/M +liberationist/SM +liberative +liberator/MCS +Liberia/M +Liberian/SM +Liberman/M +libero/SM +libertarian/SM +libertarianism/SM +liberticide/SMO +libertinage/M +libertine/SM +libertinism/M +Liberton/M +Liberty/M +liberty/SM +libertyless +Libertyville/M +liberum +libidinal/Y +libidinous/YP +libido/MS +libitum +LIBOR/M +Libra/M +libra/M +librae/M +Libran/SM +librarian/MS +librarianship/SM +library/SM +librate/SGDn +librational +librator/SM +libre/MS +LibreOffice/M +libretti/M +libretto/3MS +Libreville/M +Librium/M +Libya/M +Libyan/SM +lice/M +licence/SGDMr +licensable +license/SGDMr +licensee/SM +licensor/MS +licentiate/SM +licentious/PY +lichee/SM +lichen/SM +lichened +lichenology/M Noun: uncountable +lichenous +Lichfield/M +Lichtenberg/M +Lichtenstein/M +Lichty/M +Licinius/M +licit/IY +lick/JDSGr +lickerish/Y +Lickey/M +Licking/M +licking/M +Lickorish/M +lickspittle/MS +licorice/M Noun: usually uncountable +lictor/SM +lid/MpGDS +lidar/SM +Liddell/M +Liddesdale/M +Liddington/M +Liden/M +Lidgate/M +Lidia/M +Lidlington/M +lido/SM +Lidsing/M +lie-down/SM +lie-in/SM +lie/DSM +lie/FGcSf +Lieber/M +Lieberman/M +Liebeskind/M +Liebfraumilch/M +Liebmann/M +Liechtenstein/RM +lieder +lief +Liège/M +liege/SM +liegeman/M +liegemen/M +lien/MS +lier's +lierne/MS +lieu/M +lieut +lieutenancy/SM +lieutenant/SM +lieux +LiF +life-and-death +life-force +life-giving +life-preserver +life-raft/SM +life-size/D +life-support +life-threatening +life/RpM +lifebelt/MS +lifeblood/SM +lifeboat/MS +lifeboatman/M +lifeboatmen/M +lifebuoy/SM +lifecycle/SM +lifeform/SM +lifeguard/SGDM +lifeless/PY +lifelike/P +lifeline/SM +lifelong +lifesaver/SM +lifesaving +lifespan/SM +lifestyle/SM +lifetaking +lifetime/MS +lifework/MS +lifeworld/SM +Liff/M +Liffey/M +Lifford/M +LIFO +lift-off/MS +lift/RDSGM7 +Lifton/M +liftout/SM +ligament/MSO +ligamentary +ligamentous +ligand/MS +ligase/SM +ligate/nDSG +ligature/MDGS +Ligeia Ligeia Mare +liger/SM +light-fingered +light-headed/P +light-hearted/PY +light-pen/MS +light/YGMPSRDTJp~ +lightbulb/SM +Lightcliffe/M +lighted/CU +lighten/drS +lightening/M +lighterage/M +lighterman/M +lightermen/M +Lightfoot/M +Lighthorne/M +Lighthouse/M +lighthouse/SM +lighting/M +lightning/DMS +lightproof +lights/CA +lightsaber/SM +lightsabre/SM +LightScribe/M +lightship/SM +lightsome/Y +lightsomeness/M +lightweight/SM +lightwood/SM +lightwork/R +ligneous +lignify/SGDN +lignin/M Noun: usually uncountable +lignite/SM +lignocaine/M Noun: uncountable +lignocellulosic/SM +lignoceric +lignum +ligroin/M +ligulate +ligule/SM +Liguria/M +Ligurian/SM +Lijian/M +like-minded +like/DGE7S +likeability/SM +likeable/UP +likeable/Y +likelihood/UMS +likeliness +likely/TU +liken/dS +likeness/MS +liker/SM +likest +likewise +liking/MS +Lila/M +lilac/MS +Lilbourne/M +Lilburn/M +Lilburne/M +Lilford-cum-Wigsthorpe/M +Lilford/M +Lili/M +Liliaceae +liliaceous +Liliana/M +Lilienfeld/M +Lilienthal/M +Lilith/M +Lilius/M +Lille/M +Lillee/M +Lilleshall/M +Lilley/M +Lillian/M +Lillie/M +Lilliesleaf/M +Lillings/M +Lillingstone/M +Lillington/M +Lilliput/M +Lilliputian/SM +Lillqvist/M +lilly +Lilongwe/M +lilt/SGDMk +liltingness +lily-livered +lily-white +lily/SDM +Lima/M +Limavady/M +limb/SDMWp +Limbaugh/M +limber/dUS +Limber/M +limbo/DSMG +Limburg/M +Limburger/M +lime/SZDMGp +limeade/MS +Limehouse/M +limekiln/M +Limekilns/M +limelight/GMS +limen/SM +limepit/SM +Limerick/M +limerick/SM +limescale/M Noun: uncountable +Limestone/M +limestone/MS +limewash/SGD +limewater/SM +Limewoods/M +Limey/MS +limey/SM +liminal +liminality/SM +Limington/M +limit/rndpMSgl +limitary +limitate +limitation/MC +limitative +limited/UC +limitedly/U +limitedness/M +limiter/CMS +limitless/PY +limitrophe/SM +limitrophous +limits/C +limn/DSG +limnology/w3 +limnophile/MW +limnophilous +limo/SM +limonene/SM +limonite/WSM +limousine/SM +limp/rYPDGTSk +Limpenhoe/M +limpet/MS +limpid/YP +limpidity/SM +limpkin/SM +Limpley/M +Limpopo/M +Limpsfield/M +limuli/M +limulus/M +limy/T +Lin/M +Lina/M +linage/SM +Linby/M +Linch/M +Linchmere/M +linchpin/SM +Lincoln/M +Lincolnshire/M +Lincolnton/M +Lincolnwood/M +Lincrusta/M +linctus/SM +Lind/M +Linda/M +Lindahl/M +Lindal/M +Lindale/M +lindane/SM +Lindbeck/M +Lindberg/M +Lindbergh/M +Linde/M +Linden/M +linden/MS +Lindenhurst/M +Lindenwold/M +Linder/M +Lindfield/M +Lindford/M +Lindfors/M +Lindhurst/M +Lindisfarne/M +Lindley/M +Lindon/M +Lindores/M +Lindquist/M +Lindrick/M +Lindridge/M +Lindsay/M +Lindsell/M +Lindsey/M +Lindstrom/M +Lindwall/M +Lindy/M +line-up/S +line/SmJRGMD +lineae/M +lineage/MS +lineal/Y +lineality/M Noun: usually uncountable +lineament/MS +linear/tYQ +linearisation +linearise/SGDNr +linearity/FM +linearity/SM +lineation/MS +linebacker/MS +lined/fUAe +linefeed/SM +lineman/M +linemen/M +linen/SM +linenfold/M +lines/eAf +lineside/SM +Linford/M +ling/f +Linga/M +linga/SM +lingam/SM +Lingayen/M +Lingen/M +linger/drkS +lingerie/SM +Lingfield/M +Lingner/M +lingo/M +Lingoed/M +lingoes +Lings/M +lingua/Mo +linguae/M +lingual/SM +linguicide/M Noun: uncountable +linguiform +linguine/M Noun: usually uncountable +linguini/M Noun: usually uncountable +linguist/MWS1 +linguistic/SO +linguistician/SM +linguodental/MS +Lingwood/M +Linhares/M +linhay/MS +liniment/SM +lining/feA +lining/M +link-up/SM +link/7RSMJDG +linkability/M Noun: uncountable +linkage/SM +linkbait/M Noun: uncountable +LinkedIn/M +Linkenholt/M +linkify/SGDN +Linkinhorne/M +linkman/M +linkmen/M +Links/M +Linktown/M +Linkwater/M +Linley/M +Linlithgow/M +Linlithgowshire/M +Linn/M +linn/MS +Linnaean/SM +Linnaeus/M +Linnean/SM +linnet/MS +lino/M +Lino/M +linocut/SM +linoleate/SM +linoleic +linolenate/SM +linolenic +linoleum/SMD +Linotype/MS +linsang/SM +linseed/MS +Linstead/M +linstock/SM +lint/ZSMGr +lintel/SM +Linthouse/M +Linthwaite/M +Linton-on-Ouse/M +Linton/M +Lintrathen/M +linty/T +Linus/M +Linux/SM +Linuxen/M +Linwood/M +liny/T +Linz/M +lion/SMs +Lionel/M +lioness/MS +Lionet/M +lionfish/SM +lionhead/SM +lionheart/SMD +lionise/SGDN +Liouville/M +Liouvillian +lip-read/GSJ +lip-reader +lip-service +lip-sync +lip-synch +lip/pSDZGM +lipase/SM +Liphook/M +lipid/MS +Lipitor/M +Lipizzaner/SM +liplike +lipline/SM +lipogenesis/M +lipogenic +lipogram/SM +lipogrammatic +lipography/M +lipoic +lipoid/SM +lipolysis +lipolytic +lipoma/SM +lipomata/M +lipomatous +lipophilic +lipophilicity/SM +lipopolysaccharide/SM +lipoprotein/SM +liposarcoma/SM +liposarcomata/M +liposculpture/M Noun: uncountable +liposome/SMOo +liposuction/SM +lipoteichoic +Lippershey/M +Lippincott/M +Lippizaner/MS +Lippmann/M +lippy/T +Lipschitz/M +Lipscomb/M +Lipsky/M +lipslide/SM +lipstick/MS +Liptak/M +Lipton/M +liq +liquamen/M Noun: uncountable +liquate/DGS +liquation/MS +liquefacient/MS +liquefaction/MS +liquefactive +liquefiable +liquefy/DRSG +liquescent +liqueur/MS +liquid/nYPQSMsq +liquidambar/MS +liquidate/DGS +liquidation/SM +liquidator/MS +liquidi/M +liquidity/SM +liquidus/M +liquor/SM~ +liquorice/SM +liquorishness/M +lira/M +liraglutide/M Noun: uncountable +lire/M +Lisa/M +Lisbellaw/M +Lisbeth/M +Lisboa/M +Lisbon/M +Lisburn/M +Liscard/M +lisdexamfetamine/M Noun: uncountable +lisinopril/M Noun: uncountable +Liskeard/M +Lisle/M +lisle/MS +Lislea/M +Lismore/M +Lisnadill/M +Lisnarick/M +Lisnaskea/M +lisp/DGSMRk +lispro/M Noun: uncountable +Liss/M +Lissajous/M +Lissett/M +Lissington/M +lissom/P +lissome/P +list/DGJp +listen/rdS7 +listenability/M Noun: uncountable +listenership/SM +Lister/SM +listeria/M +Listerine/M +listing/M +listless/PY +Liston/M +Listooder/M +Lisvane/M +Liszt/M +lit/R +Litany +litany/MS +Litcham/M +Litchborough/M +Litchfield/M +litchi/SM +Litchurch/M +Lite-On/M +literacy/SMI +literal-minded +literal/YSP +literalise/SGD +literalism/M Noun: usually uncountable +literalist/SMW +literality/SM +literary/PY +literate/4NS +literately/I +literateness +literates/IK +literati +literatim +literation/SM +literator/MS +literature/MS +litharge/SM +lithe/YPTW +lithesome +Lithgow/M +lithia/M +lithiasis/M +lithification/MS +lithium/SM +lithocene +lithograph/RMZW1SDG +lithography/MS +lithology/SMw1W +lithopanspermia/M Noun: uncountable +lithophile/SM +lithophyte/MS +lithopone/SM +lithosphere/WSM +lithostratigraphy/M Noun: uncountable +lithostratigraphy/W +lithotomist/MS +lithotomy/SM +lithotripsy/SM +lithotripter/SM +lithotriptic/SM +lithotriptor/SM +lithotrity/SM +Lithuania/M +Lithuanian/MS +litigable +litigant/MS +litigate/SnDG +litigator/SM +litigious/PY +Litlington/M +litmus/SM +litotes/M +litre/SM +litreage/MS +litter/dr +littérateur/SM +litterbug/MS +littermate/SM +little-endian +little-minded/P +little/TP +Littleborough/M +Littlebourne/M +Littlebredy/M +Littlebury/M +Littledean/M +Littlefield Rowman & Littlefield (Publisher) +Littleham/M +Littlehampton/M +Littlehempston/M +Littlemore/M +littleneck/M +Littleover/M +Littleport/M +Littlethorpe/M +Littleton/M +Littleworth/M +Littman/M +Litton/M +littoral/SM +liturgics's +liturgiology/M Noun: uncountable +liturgy/S3M1w +Litvinov/M +Litz/M +Liu/M +Liurbost/M +Live/M +live/yRGTDPJY7S +liveability/SM +liveable/YP +lived-in +lived/Ae +livelihood/SM +livelong/SM +lively/TPY +liven/dSr +liver/CdSZ +liver/p~ +liveries/C +liverishness/M +Livermere/M +Livermore/M +livermorium/M Noun: uncountable +Liverpool/M +Liverpudlian/SM +Liversedge/M +liverwort/MS +liverwurst's +livery/DmMS +Livesey/M +livestock/MS +livestream/SGD +livid/PY +lividity/M +living/eA +Livingston/M +Livingstone/M +Livonia/M +Livorno/M +lixiviate/DGS +lixiviation/SM +Liz/MZ +lizard/MS +lizardfish/SM +Lizzie/MS +Ljubljana/M +ll/C +llama/MS +Llan-ddew/M +Llan-faes/M +Llan-Gan/M +Llan-Y-Cefn/M +Llan-y-Crwys/M +Llanaber/M +Llanaelhaearn/M +Llanafan/M +Llanallgo/M +Llananno/M +Llanarmon-yn-Iâl/M +Llanarmon/M +Llanarth/M +Llanarthney/M +Llanasa/M +Llanbabo/M +Llanbadarn-y-Garreg/M +Llanbadarn/M +Llanbadoc/M +Llanbadrig/M +Llanbadrog/M +Llanbeblig/M +Llanbedr-Goch/M +Llanbedr/M +Llanbedrog/M +Llanberis/M +Llanbeulan/M +Llanbister/M +Llanbleddian/M +Llanblethian/M +Llanboidy/M +Llanbradach/M +Llanbrynmair/M +Llancaiach/M +Llancarfan/M +Llancillo/M +Llandaff/M +Llandanwg/M +Llandawke/M +Llanddaniel/M +Llanddarog/M +Llanddeiniolen/M +Llanddeinol/M +Llandderfel/M +Llanddeusant/M +Llanddew/M +Llanddewi'r-cwm/M +Llanddewi/M +Llanddewibrefi/M +Llanddoged/M +Llanddoget/M +Llanddona/M +Llanddowror/M +Llanddulas/M +Llanddwywe/M +Llanddyfnan/M +Llandecwyn/M +Llandefaelog/M +Llandefalle/M +Llandegai/M +Llandegfan/M +Llandegla/M +Llandegley/M +Llandegveth/M +Llandeilo'r-Fan/M +Llandeilo/M +Llandeloy/M +Llandenny/M +Llandetti/M +Llandeussant/M +Llandevaud/M +Llandewi/M +Llandilo/M +Llandinabo/M +Llandinam/M +Llandingad/M +Llandissilio/M +Llandogo/M +Llandona/M +Llandough-juxta-Cowbridge/M +Llandough/M +Llandovery/M +Llandow/M +Llandrillo/M +Llandrindod/M +Llandrinio/M +Llandrygarn/M +Llandudno/M +Llandudwen/M +Llandwrog/M +Llandybie/M +Llandyfaelog/M +Llandyfeisant/M +Llandyfodwg/M +Llandyfriog/M +Llandyfrydog/M +Llandygai/M +Llandygwnning/M +Llandygwydd/M +Llandyrnog/M +Llandyry/M +Llandysilio/M +Llandysiliogogo/M +Llandyssil/M +Llandysul/M +Llanedarn/M +Llanedeyrn/M +Llanedi/M +Llanedwen/M +Llanegryn/M +Llanegwad/M +Llaneilian/M +Llanelen/M +Llaneleu/M +Llanelian/M +Llanelidan/M +Llanelli/M +Llanelltyd/M +Llanelly/M +Llanelwedd/M +Llanenddwyn/M +Llanengan/M +Llanenghenedl/M +Llanerful/M +Llanerfyl/M +llanero/SM +Llaneugrad/M +Llanfachraeth/M +Llanfachreth/M +Llanfaelog/M +Llanfaelrhys/M +Llanfaethlu/M +Llanfair-ar-y-bryn/M +Llanfair-Pwllgwyngill/M +Llanfair-y-Cummwd/M +Llanfair-ym-Muallt/M +Llanfair-yn-Neubwll/M +Llanfair-yn-neubwll/M +Llanfair-yng-Nghornwy/M +Llanfair/M +Llanfairfechan/M +Llanfairisgaer/M +Llanfairnantygof/M +Llanfairorllwyn/M +Llanfairtalhaiarn/M +Llanfallteg/M +Llanfarian/M +Llanfawr/M +Llanfechain/M +Llanfechan/M +Llanfechell/M +Llanferres/M +Llanfeugan/M +Llanffinan/M +Llanfflewyn/M +Llanfiangel/M +Llanfigael/M +Llanfihangel-ar-Arth/M +Llanfihangel-ar-arth/M +Llanfihangel-Glyn-Myfyr/M +Llanfihangel-y-Creuddyn/M +Llanfihangel-yn-Gwynfa/M +Llanfihangel-yn-Nhowyn/M +Llanfihangel/M +Llanfilo/M +Llanfinian/M +Llanfoist/M +Llanfrechfa/M +Llanfrothen/M +Llanfrynach/M +Llanfwrog/M +Llanfyllin/M +Llanfynydd/M +Llanfyrnach/M +Llangadfan/M +Llangadock/M +Llangadog/M +Llangadwaladar/M +Llangadwalader/M +Llangaffo/M +Llangain/M +Llangamarch/M +Llangan/M +Llanganten/M +Llangar/M +Llangarron/M +Llangasty/M +Llangathen/M +Llangattock-Vibon-Avel/M +Llangattock/M +Llangatwg/M +Llangedwin/M +Llangedwyn/M +Llangefni/M +Llangeinor/M +Llangeinwen/M +Llangeitho/M +Llangeler/M +Llangelynin/M +Llangelynnin/M +Llangendeirne/M +Llangennech/M +Llangenni/M +Llangennith/M +Llangerniew/M +Llangernyw/M +Llangeview/M +Llangian/M +Llangiwg/M +Llanglydwen/M +Llangoed/M +Llangoedmor/M +Llangofen/M +Llangollen/M +Llangolman/M +Llangonwyd/M +Llangors/M +Llangorse/M +Llangower/M +Llangrannog/M +Llangristiolus/M +Llangua/M +Llangunllo/M +Llangunnor/M +Llangurig/M +Llangwm/M +Llangwnaddl/M +Llangwstennin/M +Llangwyfan/M +Llangwyllog/M +Llangwyryfon/M +Llangybi/M +Llangyfelach/M +Llangyndeyrn/M +Llangynfelyn/M +Llangynhafal/M +Llangynidr/M +Llangyniew/M +Llangynin/M +Llangynllo/M +Llangynog/M +Llangynwyd/M +Llangywer/M +Llanhamlach/M +Llanharan/M +Llanharry/M +Llanhennock/M +Llanhilleth/M +Llanhowel/M +Llanidan/M +Llanidloes/M +Llaniestyn/M +Llanigon/M +Llanilar/M +Llanilid/M +Llanilltud/M +Llanina/M +Llanishen/M +Llanllawddog/M +Llanllawer/M +Llanllechid/M +Llanllibio/M +Llanlligan/M +Llanllowell/M +Llanllwch/M +Llanllwchaearn/M +Llanllwchaiarn/M +Llanllwni/M +Llanllyfni/M +Llanllywenfel/M +Llanmadoc/M +Llanmadog/M +Llanmaes/M +Llanmarewic/M +Llanmihangel/M +Llannefydd/M +Llannerch-y-medd/M +Llannerch/M +Llannon/M +Llannor/M +Llano/M +llano/MS +Llanover/M +Llanpumsaint/M +Llanreithan/M +Llanrhaeadr-ym-Mochnant/M +Llanrhaeadr-yng-Nghinmeirch/M +Llanrhaeadr/M +Llanrhaiadr/M +Llanrhian/M +Llanrhidian/M +Llanrhwydrys/M +Llanrhydd/M +Llanrhydlad/M +Llanrhystud/M +Llanrhystyd/M +Llanrothal/M +Llanrug/M +Llanrumney/M +Llanrwst/M +Llanrychwyn/M +Llansadwrn/M +Llansadwrnen/M +Llansaint/M +Llansaintffraid-in-Elwell/M +Llansamlet/M +Llansanffraid/M +Llansannan/M +Llansannor/M +Llansantffraed/M +Llansantffraid/M +Llansantfraed/M +Llansawel/M +Llansbyddyd/M +Llansilin/M +Llansoy/M +Llanstadwell/M +Llansteffan/M +Llanstephan/M +Llanstinan/M +Llantarnam/M +Llanthoisant/M +Llanthony/M +Llantilio/M +Llantood/M +Llantrisant/M +Llantrissant/M +Llantrissent/M +Llantrithyd/M +Llantwit-juxta-Neath/M +Llantwit/M +Llantysilio/M +Llanufydd/M +Llanuwchllyn/M +Llanvabon/M +Llanvaches/M +Llanvagdalen/M +Llanvair-ar-y-Bryn/M +Llanvapley/M +Llanvenair/M +Llanvetherine/M +Llanveyno/M +Llanveynoe/M +Llanwarne/M +Llanwddyn/M +Llanwenarth/M +Llanwenllwyfo/M +Llanwenog/M +Llanwern/M +Llanwinio/M +Llanwnda/M +Llanwnnen/M +Llanwnnog/M +Llanwonno/M +Llanwrda/M +Llanwrin/M +Llanwrthwl/M +Llanwrtyd/M +Llanwyddelan/M +Llany/M +Llanyblodwel/M +Llanybydder/M +Llanychaearn/M +Llanychaer/M +Llanychan/M +Llanychlwydog/M +Llanycil/M +Llanycrwys/M +Llanymynech/M +Llanynrwyd/M +Llanynys/M +Llanyrafon/M +Llanyre/M +Llanystumdwy/M +Llanywern/M +Llawhaden/M +Llay/M +LLB/SM Abbreviation of Bachelor of Laws +LLC/SM +LLD +Llechgynfarwy/M +Llechryd/M +Llechwedd/M +Llechylched/M +Lledrod/M +Llewellyn/M +Llewelyn/M +Llewern/M +Lleyn/M +Lliswerry/M +Lllanerchymedd/M +Llowes/M +Lloyd/MS +Lloydminster/M +Llwchwr/M +Llwydcoed/M +Llwynon/M +Llwynypïa/M +Llyn/M +Llysfaen/M +Llyswen/M +Llysworney/M +Llysyfran/M +Llywel/M +Llywelyn/M +ln natural logarithm +lo +lo-fi +lo-res +Loach/M +loach/SM +Load/M +load/RSDGMJ7 +loaded/AKcU +loading/M +loads/AUc +loadstar's +loadstone/MS +loaf/MRDGS +Loain/M +loam/ZSM +loamy/T +loan/RMS7GD +loanee/SM +Loanhead/M +loanholder/SM +loaning/M +loansharkings +loanword/SM +loath/RPDGJY +loathe/S +loathing/M +loathsome/PY +loaves +lob/MRDGSZ +Lobachevsky/M +Lobamba/M +lobar +lobate +lobation/MS +lobby/3DMGS +lobe/MSDp +lobectomy/SM +lobelia/SM +loblolly/SM +lobopod/SM +lobopodia/O +lobopodium +lobotomise/SGDN +lobotomy/QSM3 +lobscouse/M Noun: usually uncountable +lobster/dSM +lobular/Y +lobularity/M Noun: uncountable +lobule/MS +Loburn/M +lobworm/SM +local/qYQsS +locale/SM +localhost/SM +localisable +localism/SM +localist/SMW +locality/SM +locatable/A +locate/ASGFEnD +locater/SM +location/EMAF +locational/Y +locative/SM +locator/SM +loch/M +Loch/M +Lochaber/M +Lochailort/M +Lochalsh/M +lochan/MS +Locharbriggs/M +Lochawe/M +Lochbroom/M +Lochcarron-Skye/M +Lochcarron/M +Lochee/M +Lochend/M +Lochery/M +Lochfyneside/M +Lochgair/M +Lochgelly/M +Lochgilphead/M +Lochgoilhead/M +lochia/OM +Lochinver/M +Lochlee/M +Lochmaben/M +Lochmaddy/M +Lochranza/M +Lochrutton/M +lochs +Lochs-Crossbost/M +Lochs-In-Bernera/M +Lochs-in-Bernera/M +Lochwinnoch/M +Lochwood/M +loci/M +lock-up/MS +lock/7MGDSRp +lockage/M +lockdown/SM +Locke/M +Lockerbie/M +Lockerley/M +locket/SM +lockfast +Lockhart/M +Lockheed/M +Locking/M +Lockinge/M +Lockington-Hemington/M +Lockington/M +lockjaw/SM +locknut/SM +lockout/SM +Lockport/M +Locks/M +Lockshin/M +locksman/M +locksmen/M +locksmith/SMG +locksmithing/M +lockstep/M Noun: usually uncountable +Lockton/M +Lockwood/M +Lockyer/M +loco/GSM +locomobile/SM +locomobility/M Noun: uncountable +locomote/SGD +locomotion/MS +locomotive/YMSP +locomotivity/M Noun: uncountable +locomotor/Z +locoweed/SM +locular +loculi/M +loculus/M +locum/SM +locus/M +locust/SM +locution/SM +locutionary +locutory/MS +Loddington/M +Loddiswell/M +Loddon/M +Lode/M +lode/MS +loden/M +Loders/M +lodestar/SM +lodestone/SM +lodge/LRSDGJM +Lodge/M +lodgepole/SM +lodging/M +Lodi/M +Lodsworth/M +Loe/M +Loeb/M +loess/M +Loestrin/M +Loewner/M +Lofoten/M +loft/SDzGMZr +Lofts/M +Loftus/M +lofty/TP +log-normal/Y +log-normality +log/JGMWRw1DS +Logan/M +loganberry/MS +Logansport/M +Loganville/M +logarithm/W1SM +logbook/MS +loge/MS +logfile/SM +loggerhead/MS +Loggerheads/M +loggia/MS +logging/M +logia/M +logic/1 +logic/IMSY +logical/P +logicality/MIS +logician/MS +logicism/SM +logicist/SM +Logie-Coldstone/M +Logie/M +Logiealmond/M +Logierait/M +login/SM +logion/M +logistic/MYSO +logistician/SM +Logitech/M +logjam/SM +logo/SM +logoff/SM +logogram/SM +logographic +logomachy/MS +logon/SM +logophile/SMW +logophilous +logorrhoea/M +logosphere/MS +logotype/SM +logout/SM +logroll/SGDMRJ +logwood/M +Lohan/M +Lohengrin/M +Lohmann/M +Lohse/M +loin/SM +loincloth/MS +Loire/M +Lois/M +Loisy/M +loiter/dSr +Loki/M +LOL +Lola/M +lolcat/SM +Lolita/SM +loll/DGYSr +Lollard/MS +Lollardism/M Noun: uncountable +lollipop/SM +lollop/S +lolloped +lolloping/S +lolly/MS +Lolo/M +Lolworth/M +Loma/M +Lomax/M +Lomb/M +Lombard/SMW +Lombardi/M +Lombardo/M +Lombardy/M +Lombe/M +Lombrum/M +Lomé/M +loment/MS +lomentaceous +Lomita/M +Lomond/M +Lomonosov/M +Lompoc/M +Lonan/M +Londesborough/M +London/rM +Londonderry/M +Londonthorpe/M +Lone/M +lone/PRY +lonely/TP +Lonergan/M +lonesome/PSY +long-ago +long-awaited +long-distance +long-drawn +long-drawn-out +long-faced +long-lasting +long-legged +long-life +long-lived +long-lost +long-playing +long-range +long-running +long-sighted/YP +long-standing +long-stay +long-suffering/Y +long-tailed +long-term +long-termism +long-time +long-waisted +long-winded/YP +long/JkTDSPG~ +Long/M +Longa/M +longaeval +longan/SM +longanimity/M +longboard/SM +longboat/MS +Longborough/M +longbow/SM +Longbridge/M +Longburn/M +Longburton/M +Longcot/M +Longden/M +longdog/SM +Longdon/M +longe/SM +longeing +Longenbach/M +Longendale/M +longer-term +longeron/SM +longeval +longevity/MS +Longfellow/M +Longfield/M +Longford/M +Longforgan/M +Longformacus/M +longhair/SM +Longham/M +longhand/SM +Longhope/M +longhorn/SM +Longhorsley/M +Longhoughton/M +longhouse/SM +Longhurst/M +longicorn/SM +longing/M +Longinus/M +longitude/MS +longitudinal/Y +Longlands/M +Longley/M +longline/SM +longlist/SMGD +Longman/M +Longmeadow/M +Longmire/M +Longmont/M +Longnewton/M +Longney/M +Longniddry/M +Longnor/M +Longobard/MS +Longparish/M +Longridge/M +Longriggend/M +Longsdon/M +longship/SM +longshore +Longside/M +Longsleddale/M +longstanding +Longstanton/M +Longstock/M +Longstone/M +longstop/SM +Longstowe/M +Longstreet/M +longsword/SM +Longthorne/M +Longton/M +Longtown/M +Longueuil/M +longueur/SM +Longueville/M +Longview/M +Longville/M +longwall/SM +longward/S +longways +Longwick-cum-Ilmer/M +longwise +Longwood/M +longwool/SM +Longworth/M +Longyearbyen/M +lonicera/MS +Lonmay/M +Lonoke/M +Lonsdale/M +loo/SM +Looe/M +loofa/SM +loofah/SM +look/eSc +lookahead +lookalike/SM +lookaside +looked/Uc +looker-on +looker/SM +lookers-on +lookie-likie +looking-glass/SM +looking/c +lookism/M Noun: uncountable +lookist/SM +lookout/SM +lookup/MS +looky +loom/SDGM +looming/M +Loomis/M +loon/ZSMGD +Looney/M +looney/MS +loony/TS +loop/DMZSGr +loopback/SM +loophole/SMGD +Loopwing +loopy/T +loose-leaf +Loose/M +loose/PYGSDT +loosen/dSU +loosener/SM +loosestrife/SM +loosing/M +loot/RSDGM +lop/dDRGS +lope/SMr +Lopen/M +Lopez/M +Lopham/M +lophodont/MS +lophophorate/SM +lophophore/SM +lopinavir/M Noun: uncountable +Loppington/M +loppy/MS +lopsided/PY +loquacious/PY +loquacity/MS +loquat/MS +loquitur +Lorain/M +Loraine/M +loranthus +loratadine/M Noun: uncountable +lorazepam/SM +lord/DcSMGf +lord/p +Lord/SM +Lorde/M +lording/M +Lordington/M +lordly/TP +lordosis +lordotic +Lordship/MS +lordship/SM +Lordy +lore/SM +Loren/M +Lorentz/M +Lorentzian +Lorenz/M +Lorenzen/M +Lorenzo/M +Loreto/M +Loretta/M +lorgnette/MS +Lori/M +loricate +Loricifera +lorikeet/SM +Lorimer/M +loris/M +lorn +Lorna/M +Lorne/M +Lorraine/M +lorry/MS +lorryload/SM +Lorton/M +lory/SM +Los +losable +losartan/M +Loscoe/M +lose/RSG +loss-leader/SM +loss/SpMZ +Lossiemouth/M +losslessly +lossy/T +lost +Lost/M +Lostock/M +Lostwithiel/M +lot/DGMS +Lotbiniere/M +Lotemax/M +Loth/M +loth/SM +Lothario/SM +Lothbury/M +Lothersdale/M +Lotherton/M +Lothian/SM +loti/M +lotion/MS +Lotka/M +lotophagous +lotsa +Lott/M +lotta +Lottbridge/M +lottery/SM +lotto/SM +lotus/SM +Lou/M +louche/P +loud-mouthed +loud/PTY~ +louden/Sd +loudhailer/SM +loudmouth/MS +Loudon/M +Loudoun/M +loudspeaker/SM +loudspeaking +Loudwater/M +Loughborough/M +Loughbrickland/M +Loughgall/M +Loughgilly/M +Loughguile/M +Loughhead/M +Loughinisland/M +Loughinsholin/M +Loughlin/M +Loughmacrory/M +Loughor/M +Loughton/M +Louie/M +Louis/M +Louisa/M +Louisbourg/M +Louise/M +Louiseville/M +Louisiana/M +Louisianan/SM +Louisianian/SM +Louisville/M +Lound/M +lounge/DRSG +Loup/M +loupe/MS +lour/SDG +Lourdes/M +Lourencinho/M +Lourenço/M +louse/CDSG +louse/M +lousewort/M +lousy/TPY +lout/MS +Louth/M +loutish/YP +Louvain/M +Louvre/M +louvre/MSD +lovable/P +Lovacott/M +lovage +lovastatin/SM +Lovato/M +love-child/M +love/pMk7RSYlDG +loveably +lovebird/MS +Lovecraft/M +Lovejoy/M +Lovelace/M +Loveland/M +loveless/PY +Lovell/M +lovelock/SM +lovelorn/P +lovely/PSTY +lovemaking/SM +loverless +loverlike +loverly +Loversall/M +Loves/M +lovesick/Y +lovesickness/SM +lovesome +Loveston/M +lovestruck Adjective +Lovett/M +loveworthy +lovey/MS +loving-kindness +lovingness/SM +Lovington/M +low-born +low-cal +low-carb +Low-Churchism +low-class +low-cost +low-cut +low-down/SM +low-emission +low-fat +low-fi +low-grade +low-income +low-key +low-level +low-lying +low-noise +low-pass +low-pitched +low-profile +low-res +low-spirited +Low/M +low/PYTSGD~ +lowbrow/SM +Lowca/M +Lowdermilk/M +Lowdham/M +Lowe/My +Lowell/M +lower-case +lower-class +lower-level +Lower/M +lower/SdZ +lowercase/SGD +lowermost +Lowery's +Lowesby/M +Lowestoft/M +Loweswater/M +Lowfield/M +Lowick/M +lowland/MRS +Lowland/MS +lowlife/MS +lowlight/MS +lowly/PTY +Lowman/M +Lowndes/M +Lowry/M +Lowside/M +lowside/SGD +Lowther/M +Lowthorpe/M +Lowton/M +lox +Loxbeare/M +Loxhore/M +Loxley/M +loxodont/MS +loxodrome/SM +loxodromic +Loxton/M +Loxwood/M +Loy/M +loyal/3Y +loyalism/SM +loyally/E +Loyalsock/M +loyalty/ESM +Loyd/SM +Loyola/M +Lozano/M +lozenge/DSM +LP/S +LPA +LPG +ls/I +LSD +LSD/M Noun: uncountable +Lt +Lt. +Ltd +LTR +LTS +Lu/M +Luanda/M +Luang +luau/M +luaus +Lubben/M +lubber/MSY +lubberlike +Lubbesthorpe/M +Lubbock/M +lube/SGMD +Lubenham/M +Lubianka/M +Lubin/M +Lubitz/M +Luboš/M +Lubow/M +lubricant/MS +lubricate/DSGnV +lubricator/SM +lubricious/Y +lubricity/MS +Lubumbashi/M +Lubuntu/M +Luby/M +Lubyanka/M +Lucan/M +Lucas/M +Lucasfilm/M +Lucceius/M +Luccombe/M +Luce/M +Luceno/M +lucent/4Y +Lucentis/M +Lucerne/M +Lucia/M +Lucian/M +Luciana/M +Luciano/M +lucid/YP +lucidity/MS +Lucie/M +Lucien/M +Lucifer/M +Luciferian/SM +Luciferianism/M +lucifugous +Lucila/M +Lucile/M +Lucilius/M +Lucille/M +Lucinda/M +Lucio/M +Lucite/M +Lucius/M +luck/zMZpS2DG +Lucker/M +Luckington/M +lucklessly +lucklessness/M Noun: uncountable +Lucknow/M +lucky/TUY +Lucovsky/M +lucrative/P +lucre/vMVuS +Lucretia/M +Lucretius/M +Lucton/M +lucubrate/GnSD +lucubrator/MS +Lucullan +Lucy/M +Luda/M +Ludborough/M +Ludchurch/M +Luddenden/M +Luddenham/M +Luddesdown/M +Luddington/M +Luddism/M Noun: uncountable +Luddistic +Luddite/MSw +Ludditism/M Noun: uncountable +luderick/SM +Lüders/M +Ludford/M +Ludgate/M +Ludgershall/M +Ludgvan/M +Ludham/M +Ludhiana/M +ludic +ludicrous/PY +Luding/M +Ludlow/M +Ludmilla/M +ludo/SM +Ludovic/M +Ludwig/M +Ludworth/M +luff/MSDG +Luffenham/M +Luffield/M +Luffincott/M +Lufkin/M +Lufthansa/M +Lufton/M +Luftwaffe/M +lug/DRGSr +Lugar/M +luge/CM +Luger/MS +Lugg/M +luggage/MS +Luggate/M +lughole/SM +lugsail/MS +lugubrious/PY +Lugwardine/M +lugworm/SM +Luhansk/M +Luhman/M +Luigi/M +Luik/M +Luing/M +Luís/M +Luis/M +Luisa/M +Luke/M +lukewarm/PY +Lula/M +lull/GSD +lullaby/DSGM +Lullingstone/M +Lullington/M +Lulsgate/M +Lulsley/M +lulu/MS +Lulworth/M +lumbago/MS +lumbar/SM +lumber/rdSM +lumbering/M +lumberjack/MS +lumbersome +Lumberton/M +lumbrical/SM +lumbricalis +lumen/MS +Lumière/M +Lumigan/M +lumina/O +luminaire/SM +luminance/M +luminary/MS +luminescence/MS +luminescent +luminiferous +luminosity/SM +luminous/YP +lummox/SM +lump/GDZ2SMr +lumpectomy/SM +lumpen +lumpenproletariat/SM +lumpfish/SM +Lumphanan/M +lumpish/YP +Lumpkin/M +lumpsucker/SM +Lumpur/M +lumpy/T +Lumsden/M +Luna/M +lunacy/SM +Luňák/M +Lunan/M +lunar/SM +Lunas/M +lunate/SWYn +lunatic/SM +Luncarty/M +lunch-time +lunch/SDMGR +luncheon/MS +luncheonette/MS +lunchpack +lunchtime/MS +Lund/MS +Lundberg/M +Lundie/M +Lundin/M +Lundquist/M +Lundy/M +lune/NM +Lunenburg/M +Lunesta/M +lunette/SM +lung/DMGS6pR +Lunga/M +lunge/SM +lungfish/MS +lungful/SM +lungworm/SM +lungwort/SM +Lunine/M +lunisolar +Lunn/MS +Lunokhod +Lunt/M +Luol/M +Luoyang/M +Lupe/M +lupin/SM +lupophone +Luppitt/M +Lupton/M +Lupus/M +lupus/MS +lurch/GSDR +lure/GDSR +lurex/M Noun: uncountable +Lurgan/M +Lurganare/M +Lurganure/M +Lurganville/M +Lurgashall/M +lurgy/SM +lurid/PY +Lurie/M +lurk/RGDS +Lusaka/M +Lusatian/SM +Lusby/M +luscious/YP +lush/TPY +Lushington/M +Lusitania/M +Lusitanian/MS +Lusius/M +Luss/M +Lussac/M +lust/GZSDjz62M +lustful/P +Lustleigh/M +Luston/M +lustra/MO +lustrate/SGDN +lustre/pSMGD +lustreware/SM +lustring/M +lustrous/YP +lustrum/MS +lusty/TP +lutanist/SM +lute/SGMDO +lutecium/M +lutein/M Noun: usually uncountable +lutenist/SM +luteofulvous +luteous +Luteoviridae Taxonomic family +lutestring/M +Lutetia/M +lutetium/M +lutetocene +Luth/M +Lüth/M +Luther/M +Lutheran/MS +Lutheranise/SGD +Lutheranism/M Noun: uncountable +Lutherism/M +Lutherist/SM +Lutine +luting/M +Luton/M +Lutsk/M +Lutterworth/M +Lutton/MS +Lutyens/M +Lutz/M +Luu/M +lux/SM +luxate/DGN +Luxborough/M +luxe/M Noun: uncountable +Luxembourg/MR~ +Luxembourgian/SM +Luxemburg/M +Luxenbourg/M +luxon/SM +Luxor/M +Luxulyan/M +luxuriance/SM +luxuriant/Y +luxuriate/SGDn +luxurious/YP +luxury/SM +Luyten/M +Luzerne/M +Luzius/M +Luzon/M +lv +lvi +lvii +lviii +Lviv/M +Lvov/M +lx +LXDE/M +lxi +lxii +lxiii +lxiv +lxix +lxv +lxvi +lxvii +lxviii +lxx +lxxi +lxxii +lxxiii +lxxiv +lxxix +lxxv +lxxvi +lxxvii +lxxviii +lxxx +lxxxi +lxxxii +lxxxiii +lxxxiv +lxxxix +lxxxv +lxxxvi +lxxxvii +lxxxviii +Lyall/M +Lyallpur/M +Lyapunov/M +lyase/SM +Lybster/M +lycaenid/SM +lycanthrope/MS +lycanthropy/W +lycée/SM +Lyceum/M +lyceum/MS +lychee/SM +lychgate/SM +Lychpit/M +Lycia/M +Lycian/SM +Lycoming/M +lycophyte/SM +lycopod/SM +Lycopodium Taxonomic genus +lycopodium/M +Lycra/M +Lydbrook/M +Lydbury/M +Lydd/M +Lydden/M +Lyddington/M +Lyde/M +Lydeard/M +Lydford-on-Fosse/M +Lydford/M +Lydgate/M +Lydham/M +Lydia/M +Lydian/SM +Lydiard/M +Lydiat/M +Lydiate/M +Lydlinch/M +Lydney/M +lye/M +Lyell/M +Lyford/M +Lyft/M +lying/Y +Lyle/M +Lylesland/M +Lyman/M +Lyme/M +Lyminge/M +Lymington/M +Lyminster/M +Lymm/M +lymph/SM +lymphadenopathy/SM +lymphangitis +lymphatic/SM +lymphoblast/SMW +lymphocyte/SMW +lymphocytopenia/SM +lymphoedema/SM +lymphogenesis +lymphogenous/Y +lymphogram/SM +lymphogranuloma/SM +lymphogranulomata/M +lymphographic/OY +lymphography/SM +lymphoid Adjective +lymphoidal +lymphokine/SM +lymphoma/MS +lymphomatous +lymphopenia/SMW +lymphopoieses +lymphopoiesis +lymphopoietic +lymphoproliferative +lymphosarcoma/SM +lymphosarcomata/M +Lympne/M +Lympsham/M +Lympstone/M +Lyn/M +Lynbrook/M +lynch/GRDSJ +Lynch/M +Lynchburg/M +lynchet/MS +lynching/SM +Lynchmere/M +lynchpin/SM +Lyncombe/M +Lynd/M +Lynda/M +Lynde/M +Lynden/M +Lyndhurst/M +Lyndon/M +Lyndsay/M +Lyne/M +Lyneal/M +Lyneham/M +Lynette/M +Lynfield/M +Lynford/M +Lyng/M +Lynmouth/M +Lynn/M +Lynne/M +Lynnette/M +Lynnfield/M +Lynnwood/M +Lynstead/M +Lynsted/M +Lynton/M +Lynwood/M +lynx/SM +Lyon/MS +Lyonshall/M +lyophilic +lyophilise/SGDN +lyophobic +Lyotard/M +Lyra/M +lyrate +lyre/MSwW13 +lyrebird/SM +lyric/3S +Lyrica/M +lyrical/P +lyricism/SM +Lysander/M +Lysenko/M +lysergic +lysine/M +Lysithea/M One of the moons of Jupiter +Lysol/M +lysosome/SO +lysozyme/SM +lyssavirus/SM +Lytchett/M +Lyth/M +Lytham/M +Lythan/M +Lythe/M +lytic/Y +Lyttelton/M +Lyttleton/M +m +M-DISC/M +M.Sc. +mA +MA +ma'am +ma/FMS +Maastricht/M +Maastrichtian/SM +Maathuis/M +Mabbe/M +Mabe/M +Mabel/M +Mablethorpe/M +Mabuni/M +Mabyn/M +Mac/M +mac/SM +macabre/Y +Macaca Taxonomic genus +macadam/QMS +macadamia/SM +Macalister/M +Macamic/M +Macandrew/M +Macanese/M +Macao/M +macaque/MS +Macarena/M +macaron/SM +macaroni/WMS +macaronies +macaroon/MS +MacArthur/M +Macassar/M +Macau/M +Macaulay/M +Macaulayan +Macaulayesque +macaw/MS +MacBain/M +Macbeth/M +MacBook/SM +Maccabean +Maccabees/M +Maccarinelli/M +Macclesfield/M +MacColl/M +MacCormick/M +MacCulloch/M +MacDiarmid/M +Macdonald/M +MacDonald/MS +MacDraw/M +Macduff/M +mace-bearer/SM +mace/SMGDR +Macedon/M +Macedonia/M +Macedonian/SM +Macefen/M +Macellis/M +macerate/DGSn +macerator/MS +MacFadyen/M +MacFarlane/M +MacGibbon/M +Macgillicuddy's +MacGowan/M +MacGregor/M +MacGuffin/MS +MacGyver/M +Mach/M +Machado/M +Machan/M +machan/MS +Machanao/M +Machar/M +Machen/M +Machesney/M +machete/SM +Machiavelli/M +Machiavellian/SM +Machiavellianism/SM +Machiko/M +machinate/GSDn +machinator/MS +machine-gun/DGS +machine-readable +machine/BDM3SGyn +machinelike +machinery/SM +machismo/SM +Machmeter/SM +Machno/M +macho/SM +Machu +Machulis/M +Machynlleth/M +Maciej/M +MacInnis/M +MacIntosh/M +macintosh/SM +Macintosh/SM +MacIntyre/M +mack/SM +Mackay/M +Macken/M +Mackensie/M +Mackenzie/M +MacKenzie/M +mackerel/SM +Mackie/M +Mackinac/M +Mackinder/M +MacKinnon/M +mackintosh/SM +Macklemore/M +Macklin/M +Mackrell/M +Mackworth/M +MacLachlan/M +Maclean/M +MacLeay/M +Macleay/M +MacLeod/M +Macleod/M +Macmerry/M +MacMillan/M +Macmillan/M +Macnaughton/M +MacNeice/M +MacNeil/M +MacNelly/M +Macomb/M +Macon/M +macOS/M +Macosquin/M +Macoupin/M +MacPherson/M +Macquarie/M +macramé/SM +Macready/M +macro/SM +macrobiotic/Y +macrobiotics/M Noun: uncountable +macrocephalous +macrocephaly/W +macrocopy/SM +macrocosm/MSW +macrocrystallinity/M Noun: uncountable +macrocycle/SMW +macrocyst/SM +macrocyte/SM +macrocytosis/M +macrodiagonal/SM +macrodome/SM +macrodont Adjective +macrodontia/M Noun: uncountable +macrodynamic/S +macroeconomics +macroeconomy/3MSW +macroemulsion/SM +macroevolution/M Noun: usually uncountable +macroevolutionary +macrofauna/OM +macrofossil/SM +macrofungus +macrogamete/SM +macrogametocyte/SM +Macroglossinae Taxonomic subfamily +macrolanguage/SM +macrolensing +macrolide/SM +macrolinguistics +macromolecular +macromolecule/SM +macromutation/SM +macron/SM +macronuclear +macronuclei/M +macronucleus/M +macronutrient/SM +macropaedia/M +macrophage/MS +macrophagous +macrophallic +macrophotograph/ZSM +macrophyte/SMW +macropine Adjective +macroplankton/WSM +macropleural +macropod/SM +macropodid/SM +macropodine/SM +macropore/SM +macroscopic/Y +macroscopy/M Noun: uncountable +macrosegment/SM +macrosimulation/SM +macrosmatic +macrosocio-economic +macrosociology/wM +macrospore/SM +macrostate/SM +macrostructure/SMO +macrosystem/SM +MacSween/M +macula/M +maculae/M +macular +maculate/SGDN +macumba/SM +Macungie/M +Macy/M +Mad/M +mad/RTYPGD +Madagascan/MS +Madagascar/M +madam/SM +Madame/M +madame/SM +Madan/M +madcap/SM +madden/dkS +Maddermarket/M +Madderty/M +Maddie/M +Maddin/M +Maddington/M +Maddock/M +Maddox/M +Maddy/M +made-up +made/AU +Madehurst/M +Madeira/M +Madeiran/SM +Madeleine/M +madeleine/SM +Madeley/M +Madeline/M +Madelyn/M +Mademoiselle/M +mademoiselle/SM +Madera/M +Maderno/M +Madge/M +madhouse/MS +Madhya/M +Madigan/M +Madingley/M +Madion/M +Madison/M +Madisonville/M +Madjid/M +Mädler/M +Madley/M +madman/M +madmen/M +Madoes-Glencarse/M +Madoes/M +Madonna/M +Madras/M +madras/SM +Madre/M +Madresfield/M +Madrid/M +madrigal/SM +madrigalesque +madrigalian +madrigalist/MS +Madron/M +Madsen/M +Madura/M +Madurese/M +Maduro/M +madwoman/M +madwomen/M +Mae/M +maeandrine/SM +Maecenas/M +Maelor/M +maelstrom/MS +Maelzel/M +maenad/SMW +Maenan/M +Maenclochog/M +Maentwrog/M +Maer/M +Maerdy/M +Maeroa/M +Maescar/M +Maesmynys/M +Maesteg/M +Maestlin/M +maestri/M +maestro/SM +Maesycwmmer/M +Mafeking/M +Mafia/M +mafia/SMW +Mafiosi/M +mafiosi/M Plural of mafioso +Mafioso/M +mafioso/SM +MAG/SM +mag/SM +Magalhães/M +magazine/MGDS +Magdalen/M +Magdalena/M +Magdalene/M +Magdalenian +Magdeburg/M +mage/SM +Mageia/M +Magellan/MW +magenta/MS +Maggie/M +maggot/MS +maggoty/T +Maghaberry/M +Maghera/M +Magheraconluce/M +Magherafelt/M +Magheralin/M +Magheramason/M +Magheramorne/M +Magheraveely/M +Maghery/M +Maghull/M +Magi +magi/M +Magian/MS +magic/MYGDO +magician/SM +Magill/M +Maginot +magisterial/Y +magisterium/M +magistracy/SM +magistral +magistrate/SM +magistrateship/SM +magistrature/SM +Maglemosian/MS +Maglione/M +magma/WMS +magmatism/M Noun: uncountable +Magna/M +magnanimity/SM +magnanimosity +magnanimous/YP +Magnanti/M +magnate/MS +magnesia/SM +magnesian +magnesite/SM +magnesium/M Noun: uncountable +magnesocene +magnet/WqQSMt1 +magnetics +magnetise/CBnSDG +magnetism/SM +magnetite/MS +magneto/SM +magnetoconvection/M Noun: uncountable +magnetodisk/SM +magnetodynamics +magnetohydrodynamic/OS +magnetometer/MS +magnetopause/SM +magnetosheath/SM +magnetosonic +magnetosphere/SMW +magnetostatics +magnetostratigraphy/M Noun: uncountable +magnetotactic +magnetotail/SM +magnetron/SM +Magnificat/M +magnificence/SM +magnificent/Y +magnifico/M +magnificoes +magnify/CSGRDn +magniloquence/SM +magniloquent +magnitude/SM +Magnolia Taxonomic genus +magnolia/SM +Magnoliophyta Taxonomic division +Magnoliopsida Taxonomic class +magnon/SM +magnum/MS +Magnus/M +Magnuson/M +Magnya/M +Magoffin/M +Magog/M +Magor/M +magpie/SM +Magrassi/M +Maguire/MS +Maguiresbridge/M +magus/M +Magyar/MS +mah +mah-jong/SM +mah-jongg/M +mah-jongs/SM +Maha/M +Mahabharata/M +mahajanapada/SM +Mahal/M +Mahalakshmi/M +Mahalanobis/M +Mahalaxmi/M +Mahan/M +maharaja/SM +maharajah/MS +maharanee/SM +maharani/SM +Maharashtra/M +maharishi/MS +Mahasaraswati/M +Mahaska/M +Mahathir/M +mahatma/MS +Mahavidyalaya/M +Mahayana/M +Mahayanist/SM +Mahdi/MS +Mahdia/M +Mahdism/M +Mahdist/MS +Maheshvari/M +Maheswara/M +Mahia/M +Mahler/M +Mahmud/M +mahogany/SM +Mahomet/M +Mahoney/M +Mahoning/M +Mahony/M +Mahora/M +mahout/SM +Mahratta/MS +Mahwah/M +Maia/M +maid/MS +maidan/SM +Maiden/M +maiden/YSM +Maidenbower/M +maidenhair/MS +Maidenhead/M +maidenhead/SM +maidenhood/MS +maidenliness/M Noun: uncountable +Maidenwell/M +Maidford/M +Maids/M +maidservant/MS +Maidstone/M +Maidwell/M +Maier/M +Maik/M +mail-order/SM +mail/RS7GDMJ +Mailänder/M +mailbag/SM +mailboat/SM +mailbox/MS +MailChimp/M +maillot/SM +mailshot/SM +maim/RGSDi +Maimonides/M +main/SA +main/Y +mainboard/SM +mainbrace/SM +maincrop/SM +Maine/M +mainframe/SM +Mainland/M +mainland/RMS +mainline/RSGD +mainmast/MS +mains/M +Mains/M +mainsail/MS +mainsheet/SM +mainspring/MS +mainstay/MS +Mainstone/M +mainstream/SMDR +maintain/RBSDG +maintenance/MS +maintop/SM +Mainz/M +maiolica/M Noun: uncountable +Mairangi/M +Mairehau/M +Maisemore/M +Maisey/M +Maiseyhampton/M +maisonette/SM +Maisy/M +Maitai/M +Maitlands/M +Maitra/M +maître +maize/SM +Maj. +Majella/M +majestical/Y +majesticness/M Noun: uncountable +majesty/WSM1 +majeure +Majno/M +majolica/MS +Major/M +major/MSdY +majora +majorant/SM +Majorca/M +majordomo/SM +majorette/MS +majoritarian/SM +majoritarianism/SM +majority/SM +majorship/SM +Majuro/M +makable +Makahu/M +Makara/M +Makaraka/M +Makaurau/M +make-believe +make-up/SM +make/GASU +make/p +makebate/SM +Makefield/M +makefile/SM +Makemake/M +makeover/SM +Maker-with-Rame/M +Maker/M +maker/SM +Makerfield/M +Makerstoun/M +makeshift/SM +makeup/M Noun: usually uncountable +makeweight/SM +Makhachkala/M +Maki/M +Makihara/M +making/MS +makiwara/SM +mako/SM +Makoto/M +Malabar +Malabo/M +malabsorption/SM +Malacca/M +Malachi/M +Malachias/M +malachite/SM +malacofauna/M +malacology/3wM +malacopterygian/SM +malacostracan/SM +maladapt/VDn +maladjust/LDV +maladminister/Sd +maladministration/SM +maladministrator/SM +maladroit/SMYP +malady/MS +malaeration +malaëration +Malaga/M +Malagasy/SM +malagueta/SM +malaguetta/SM +malaise/MS +Malamud/M +malamute/MS +Malamuth/M +Malanczuk/M +malapert/SM +Malaprop/M +malapropism/MS +malapropos +malar/SM +malaria/SMO +malarious +malarkey/SM +Malartic/M +malate/SM +malathion/SM +Malawi/M +Malawian/SM +Malay/MS +Malaya/M +Malayalam/M Noun: uncountable +Malayan/MS +Malaysia/M +Malaysian/SM +Malbaie/M +Malbec/M +Malbis/M +Malborough/M +Malchus/M +Malcolm/M +malcontent/MS +malcontented/Y +Malden/M +maldevelopment/SM +maldistributed +maldistribution/SM +Maldive/M +Maldives/M +Maldivian/SM +Maldon/M +Malé/M +Male/M +male/MSPW +maleate/SM +malediction/SM +malefaction/SM +malefactor/SM +malefic/SM +maleficence/SM +maleficent +maleficium/M +malemute/SM +malevolence/SM +malevolencies +malevolent/Y +Malew/M +Maley/M +Malfatti/M +malfeasance/MS +malfeasant/SM +Malford/M +malformation/MS +malformed +malfunction/GSDM +Malham/M +Malherbe/M +Malherbie/M +Malheur/M +Mali/M +Malibu/M +malice/SM +malicious/PY +Malick/M +malign/YRSDG +malignancy/SM +malignant/YSM +malignity/SM +Malik/M +Malines/M +malinger/drS +Malinowski/M +Malinowskian +malist/SM +Malkin/M +mall/SM +Mallaig/M +mallard/SM +Mallarmé/M +malleability/MS +malleable/P +mallee/SM +malleefowl/M +mallei/M +malleiform +mallein/M Noun: uncountable +mallemaroking/M Noun: uncountable +malleoincudal +malleoli/M +malleolus +Mallerstang/M +Mallet/M +mallet/MS +Mallett/M +malleus/M +Malling/M +Mallory/M +mallow/SM +Mallusk/M +Mallwyd/M +Malmesbury/M +Malmö/M +Malmsteen/M +malnourished +malnourishment/SM +malnutrition/SM +malocclusion/MS +malodorous/Y +malodorousness/M Noun: uncountable +malodour/SM +malonate/SM +Malone/M +Maloney/M +Malory/M +maloti/M +Malpas/M +Malpass/M +malperformance +Malpighian +malposed +malpractice/MS +Malreward/M +Malsor/M +malt/DGMZS +Malta/M +Maltby/M +Malte/M +Maltese/M +Malthaner/M +malthouse/SM +Malthus/M +Malthusian/SM +Malthusianism/M +malting/SM +Malton/M +Maltoni/M +maltose/MS +maltreat/LDSG +maltster/MS +malty/T +Malva Taxonomic genus +Malvaceae Taxonomic family + Taxonomic clade +malvaceous +Malvern/M +malversation/SM +malvertisement/SM +malvertising +Malvestiti/M +malware/M Noun: usually uncountable +Malzeard/M +mama-san/SM +mama/SM +Mamadou/M +Mamakating/M +Mamane/M +Mamaroneck/M +mamba/SM +Mamble/M +mambo/MGSD +mamelon/SM +Mameluke/MS +Mamet/SM +Mametz/M +Mamhead/M +Mamhilad/M +mamma/M +mammae/M +mammal-like +mammal/SM +mammalia +Mammalia Taxonomic class +mammalian/MS +mammaliferous +mammalochore/1SMW +mammalochorous +mammalochory/M +mammalogy/M3w +mammaplasty/SM +mammary/SM +mammiform +mammilla/M +mammillary +mammillate +mammogram/SM +mammography/SMW +Mammon/M +mammon/MS~ +Mammonism/M +mammonism/SM +Mammonist/MS +mammonist/SMW +Mammonite/MS +mammoplasty/SM +mammoth/SM +mammy/SM +Mamoutzu/M +man-at-arms +man-hour/SM +man-made +man-o'-war +man-of-war +man-sized +man-year/SM +man/G61YRDMjWp +Man/M +Mana/M +Manaccan/M +manacle/SDMG +Manafon/M +Managau/M +manage/LaDGS +manageability/SM +manageable/U +manageable/Y +manageableness +manager/OoSM +manageress/SM +managerialism/SM +managerialist/SM +managership/M +Managua/M +Manaia/M +Manakau/M +manakin/SM +Manalapan/M +Manali/M +Manama/M +mañana/M +mananas +Manapouri/M +Manasa/M +Manassas/M +Manasseh/M +Manatee/M +manatee/SM +Manaton/M +Manaus/M +Manawatu/M +Manby/M +Mancetter/M +Manchester/M +manchineel/SM +Manchu/MS +Manchuria/M +Manchurian/SM +Mancini/M +manciple/SM +Mancroft/M +Mancunian/MS +Mandaean/SM +Mandaeism/M +mandala/SM +Mandalay/M +mandamus/SdM +Mandan/M +Mandarin/M +mandarin/SM +mandarinate/SM +mandarine/SM +mandatary/SM +mandate/SMGyD +mandator/SM +mandatorily +Mandean/SM +Mandel/M +Mandela/M +Mandelbrot/M +Mandelson/M +Mandeville/M +mandible/SM +mandibular +mandibulate/D +Mandingo/SM +Mandingoes +mandola/MS +mandolin/MS +mandoline/MS +mandora/M +mandorla/SM +mandragora/SM +mandrake/SM +Mandrax/M +mandrel/SM +Mandrell/SM +mandrill/MS +manducate/DGS +manducation/MS +manducatory +Mandurah/M +Mandy/M +mane/ZSMp +Manea/M +manège/SGDM +Manet/M +Manfield/M +Manfred/M +Manfredi/M +manfulness +manga/M +mangabey/SM +Mangakino/M +mangalsutra/SM +Mangalyaan +Mangamuka/M +manganese/SM +manganocene/SM +manganous Adjective +Mangaohoi/M +Mangapapa/M +Mangapiko/M +Mangaroa/M +Mangatoki/M +Mangawhai/M +mange/MZRS2 +mangel/MS +Mangere/M +Māngere/M +mangetout/SM +mangle/GDSrM +mango/MS +mangoes +mangold-wurzel/S +mangold/SM +Mangoldt/M +mangonel/SM +Mangorei/M +mangosteen/SM +Mangotsfield/M +mangrove/MS +Mangum/M +mangy/TY +manhandle/DGS +Manhattan/M +Manheim/M +manhole/SM +manhood/SM +manhunt/SMr +Mani/M +mania/SM +maniac/SM +maniacal/Y +manic/S +Manichaean/SM +Manichaeanism/M Noun: uncountable +Manichaeism/M +Manichean/SM +Manichee/MS +Manicheism/M +manicotti/M +Manicouagan/M +manicule/SM +manicure/3DSMG +manifest/DYSGnMP +manifestant +manifestative +manifesto/SM +Manificat/M +manifold/PSYM +manifolder/M +manikin/MS +Manila/M +Manilla/M +manilla/SM +manille/SM +manioc/SM +maniple/MS +manipulatable +manipulate/BSGnyDVu +manipulative/SM +manipulator/SM +Manipur/M +maniraptoran/SM +Manish/M +Manistee/M +Manitoba/M +Manitoban/SM +Manitowoc/M +Maniwaki/M +Manjoo/M +Mank/M +Mankato/M +mankind/M Noun: uncountable +Mankiw/M +manky/T +manlessness/M Noun: uncountable +Manley/M +manlike +Manlius/M +manly/PT +Mann/M +manna/MS +manned/fU +mannequin/SM +manner/3Yp +mannered +mannerism/SM +manneristic/Y +mannerliness/M Noun: uncountable +mannerly/P +Manney/M +Mannheim/M +Mannich/M +mannikin/SM +Manningford/M +Mannington/M +Manningtree/M +mannish/PY +mannitol/SM +Mannofield/M +mannose/SM +Manny/M +Mannyng/M +manoeuvrability/SM +manoeuvre/SBMGDJr +Manolis/M +manometer/MSW +Manor/MS +manor/SMO +Manorbier/M +Manordeifi/M +Manordeilo/M +Manorowen/M +Manowar/M +manpower/MS +manqué Adjective +mansard/MS +Manse/M +manse/XNMS +Mansefield/M +Mansel/M +Mansell/M +Mansergh/M +manservant/M +Mansfield/M +Mansholt/M +mansion/M +manslaughter/MS +Manson/M +Mansour/M +manspreading/M +Mansriggs/M +Manston/M +mansuetude/SM +manta/MSW +Manteca/M +Mantegna/M +mantel/SM +mantelet/MS +Mantell/M +mantelpiece/SM +mantelshelf/M +Manteno/M +Manthorpe/M +manticore/SM +mantid/SM +mantilla/MS +mantis/MS +mantissa/MS +Mantke/M +mantle/ESDG +mantle/M +Mantle/M +mantlet/MS +mantling/M +Manton/M +Mantovani/M +mantra/SM +mantrap/SM +Mantua/M +mantua/MS +Manu/M +manual/MSY +Manuden/M +Manuel/M +Manuela/M +manufactory/MS +manufacture/RBSGJDM +manuka/SM +Manukau/M +Manulife/M +manumission/SM +manumit/XNSGD +manure/RMGDS +Manurewa/M +manurial +Manus/M +manuscript/MS +Manutahi/M +Manutius/M +Manville/M +manward +Manx/M +Manxman/M +Manxmen/M +Manxwoman/M +Manxwomen/M +Manya/M +manyplies/S +manzanilla/SM +manzanita/SM +Manziel/M +Mao/M +MAOI/SM Initialism of monoamine oxidase inhibitor +Maoisation/M Noun: uncountable +Maoism/M Noun: usually uncountable +Maoist/SM +Māori/M +Maori/MS +Maoribank/M +Maoriland/M +map/JDMSRGp +Maperton/M +Maple/M +maple/SM +Maplebeck/M +Mapledurham/M +Mapledurwell/M +Maplestead/M +Mapleton/M +Maplewood/M +mapmaker/SM +mappable +Mapperley/M +Mapperton/M +mapping/M +Mappiscombe/M +Mappleborough/M +Mappleton/M +Mappowder/M +Mapua/M +Mapuche/SM +Maputo/M +maquette/SM +maquila/SM +maquiladora/SM +maquillage/MD +Maquis +maquis/M Noun: uncountable +maquisard/SM +mar/MSZGDY +Mara/M +mara/SM +marabou/SM +marabout/SMW +maraca/MS +Maracaibo/M +Maraenui/M +Maraetai/M +Marana/M +maraschino/MS +marasmus/MW +Maratha/MS +Marathi/M +Marathon/M +marathon/MrS +maraud/SRDG +maravedi/MS +Marazion/M +marble/DSMGJrZ +Marblehead/M +marbleised +marbling/M +Marburg/M +Marbury/M +marc/M +Marc/MZ +Marcan +marcasine/SM +marcasite/SM +marcassin/SM +marcato +Marceau/M +Marcel/M +marcel/SGD +marceline/SM +Marcelino/M +Marcella/M +Marcellian/M +Marcello/M +Marcellus/M +Marcelo/M +marcescence/M Noun: uncountable +marcescent Adjective +march/DRSGM +March/M +Marcham/M +Marchant/M +Marchesini/M +Marchetti/M +Marchington/M +marchioness/MS +Marchmont/M +marchpane/MS +Marchwiel/M +Marchwood/M +Marcia/M +Marcie/M +Marcin/M +Marcinkiewicz/M +Marcion/M3 +Marcionism/M Noun: uncountable +Marcionite/SM +Marcionitism/M Noun: uncountable +Marcle/M +Marco/M +Marcon/M +Marconi/M +Marcos/M +Marcross/M +Marcum/M +Marcus/M +Mardale/M +Marden/M +Mardi/M +Mardonius/M +Marduk/M +mare/SM +Marefield/M +Mareham/M +Marek/M +maremma/M +maremme/M +Marengo/M +Maresfield/M +Mareston/M +Marfell/M +Marfleet/M +marga/SM +Margalo/M +Margam/M +Margaret/MS +Margarets-on-Thames/M +Margaretting/M +margaric +margarine/SM +Margarita/M +margarita/SM +margarodid/SM +Margate/M +margate/SM +Margaux/M +margay/SM +Marge/M +marge/SM +margent/SM +Margery/M +Margie/M +margin/oMdS +marginal/3QqSM +marginalia/M +marginalism/SM +marginality/SM +Margo/M +Margolin/M +Margot/M +margrave/SM +margravine/SM +Marguerite-D'Youville/M +Marguerite/M +marguerite/SM +Marham/M +Marhamchurch/M +Marholm/M +Maria-Chapdelaine/M +maria/M +Maria/M +mariachi/SM +Mariah/M +Mariamman/M +Mariamne/M +Marian/M +Mariana/MS +Marianna/M +Marianne/M +Mariano/M +Mariansleigh/M +Maricopa/M +Marie/MS +Mariel/M +Marietta/M +Marieville/M +marigold/SM +Marigot/M +marijuana/M Noun: usually uncountable +Mariluz/M +Marilyn/M +marimba/MS +Marin/M +Marín/M +Marina/M +marina/nMS +marinade/DMGS +marinara/SM +marinate/SGDn +marine/RSN +Marineris Valles Marineris (Mars) +Marinette/M +Marino/M +Mário/M +Mario/M +Mariolatry/SM +Mariology/3wSM +Marion/M +marionette/MS +Mariota/M +Mariposa/M +Marisa/M +Marishes/M +Marisol/M +Marissa/M +Marist/MS +marital/KY +Maritima/M +maritime +maritimer +Maritimes/M +Mariupol/M +Marius/M +marjoram/MS +Marjorie/M +Marjory/M +mark-up/MS +mark/iRmDJhGSM7 +Mark/MS +Markab/M +Markby/M +markdown/MS +Markeaton/M +Marken/M +Markenfield/M +market/g7rSMdJ +Market/M +Marketa/M +marketability/MS +marketeer/GSM +Markethill/M +marketing/M +marketplace/MS +marketspace/SM +Markey/M +Markfield/M +Markham/M +markhor/SM +Markinch/M +marking/M +Markington/M +markka/SM +Markov/M +Markovian Adjective +Markovitz/M +Marksbury/M +Markshall/M +marksmanship/SM +markup/SM +Markus/M +Markyate/M +marl/SGDM +Marland/M +Marlboro/M +Marlborough/M +Marlbrook/M +Marlburian/MS +Marldon/M +Marlene/M +Marlesford/M +Marley/M +marlin/SM +Marline/M +marline/SM +marlinespike/SM +Marlingford/M +marlinspike/SM +marlite/SM +Marloes/M +Marlon/M +Marlow/M +Marlowe/M +Marmaduke/M +marmalade/SM +Marmara +Marmite/M +marmite/SM +marmolite/M Noun: uncountable +marmoreal +marmoset/SM +marmot/SM +Marner/M +Marney/M +Marnham/M +Marnhull/M +Marnoch/M +Marnock/M +marocain/SM +Maromaku/M +Maronite/SM +maroon/SDGRM +Marown/M +Marple/M +marplot/SM +Marquand/M +Marquard/M +Marque/M +marque/MS +marquee/SM +Marquesas +Marquess/M +marquess/MS +marquessate/SM +marquetry/MS +Marquette/M +Márquez/M +marquis/MS +marquisate/MS +marquise/SM +marquisette/MS +Marr/M +Marrakesh/M +Marrano/MS +marriable +marriage/MBS +marriageability/SM +Marrick/M +married/S +marrier/MS +Marriott/M +marron/MS +Marros/M +marrow/SMp +marrowbone/MS +marrowfat/SM +marrowy Adjective +marry/DGSA +Marryat/M +Mars/M +Marsala/M +Marsden/M +Marseillaise/M +Marseilles/M +Marsh/M +marsh/MZS2 +Marsha/M +marshal/JRSGDM +Marshall/M +Marshalltown/M +marshalship/SM +Marsham/M +Marshawn/M +Marshchapel/M +Marshfield/M +marshland/MS +marshmallow/MS +Marshwood/M +marshy/PT +Marske/M +marsquake/SM +Marston/M +Marstow/M +marsupial/MS +Marsworth/M +mart/MGSD +Marta/M +martagon/SM +Martel/M +martellato +Martello/SM +martempered +martempering +marten/MS +martensite/WSM +Martensville/M +Martha/M +Marthall/M +Martham/M +martial/Y +Martian/SM +Martijn/M +Martin-by-Looe/M +Martin-in-Meneage/M +Martín/M +Martin/M +martin/SM +Martina/M +Martinborough/M +Martindale/M +Martine/M +Martineau/M +martinet/SM~ +martinettish +Martínez/M +Martinez/M +martingale/MS +Martinho/M +Martinhoe/M +Martini/SM +martinique +Martinique/M +Martinism/M Noun: uncountable +Martinist/SM +Martinmas/M +Martinsburg/M +Martinson/M +Martinsthorpe/M +Martinstown/M +Martinsville/M +Martlesham/M +martlet/SM +Martletwy/M +Martley/M +Martock/M +Marton-cum-Moxby/M +Marton/MS +Martorell/M +Marty/M +Martyr/M +martyr/MGDS +martyrdom/MS +martyrisation/MS +martyrise/DGS +martyrology/SMw3 +Martyrs/M +martyry/MS +Marua/M +Maruia/M +Marullus/M +marvel/MSDGk +Marvell/M +marvellous/Y +marvellousness/M Noun: uncountable +Marvin/M +Marwood/M +Marx/3M +Marxian/SM +Marxism-Leninism/M +Marxism/SM +Marxist-Leninist/SM +Mary-le-Tower/M +Mary/M +Marybank/M +Maryborough/M +Marychurch/M +Maryculter-Cookney/M +Maryculter/M +Marygate/M +Maryhill/M +Marykirk/M +Maryland/M +Marylanders/M +Marylebone/M +Maryport/M +Marys/M +Maryse/M +Marystow/M +Marystowe/M +Marysville/M +Maryton/M +Maryville/M +marzipan/SM +mas/rGWD +Masada/M +Masai/M +masala/SM +Masanori/M +Masayuki/M +masc/SM +Mascagni/M +mascara/DGSM +Mascheroni/M +mascle/MS +mascon/SM +mascot/MS +Mascouche/M +masculine/YP3SM +masculinise/SGDN +masculinism/M Noun: usually uncountable +masculinity/MS +masculist/SM +Masefield/SM +Maserati/SM +Maseru/M +mash-up/SM +mash/RJSGDM +Masham/M +Mashbury/M +mashie/MS +Mashona/M +Mashonaland/M +Mashpee/M +masjid/SM +mask/JRDMSG +Maskelyne/M +Maskin/M +Maskinongé/M +maskinonge/MS +Maskoutains/M +Masnick/M +masochism/SM +masochist/SWM1 +mason/SdyWM +Mason/SMW +Masonite/M +Masonry +masonry/SM +Masood/M +Masorah/M +Masorete/SMW +masque/MSRGJ +masquerade/MRSDG +mass-market +mass-produced +mass-producing +mass/pSVvu +Massa/M +Massac/M +Massachusetts/M +massacre/MGDSR +massage/DMSGR +Massaman/M +Massao/M +Massapequa/M +Massart/M +massasauga/MS +masse +Massena/M +Massenet/M +masseter/SM +masseur/SM +masseuse/SM +Massey/M +massicot/M +massif/SM +Massillon/M +Massimo/M +Massingham/M +massive/P +Massorah/M +Massoretic +massy +mast/DRSMG +mastaba/MS +mastectomy/SM +master-stroke/MS +master/AdScp +masterable +MasterCard/M +masterclass/SM +masterdom/M Noun: uncountable +masterful/PY +masterhood +mastering/S +masterly/P +mastermind/GDS +masterpiece/MS +mastership/M +mastersinger/SM +Masterton/M +masterwork/SM +mastery/MS +masthead/GSDM +mastic/SnM +masticate/DGS +masticator/SMZ +mastiff/SM +mastitis +mastodon/SM +mastodontic +mastofauna/M Noun: uncountable +mastoid/SM +mastoiditis +mastology/M Noun: uncountable +Mastrick/M +masturbate/GSnDy +masturbator/SM +Masuoka/M +Masursky/M +mat/dRMDJGS +Mata-Utu/M +Mata/M +Matabele/SM +Matabeleland/M +matador/SM +Matagami/M +Matagorda/M +Matakana/M +Matakohe/M +Matamata-Piako/M +Matamata/M +Matane/M +Matangi/M +Matanie/M +Matanuska-Susitna/M +Matapédia/M +Matapu/M +Matarangi/M +Matarau/M +Matata/M +Mataura/M +match/eGDaS +match/M +matchable +Matcham/M +matchboard/SMGJ +matchbook's +matchbox/SM +matched/AU +matcher/MS +matchet/MS +Matching/M +matching/S +matchless/Y +matchlessness/M +matchlock/MS +matchmake/RJG +matchmaking/M +matchplay/M Noun: uncountable +matchstick/SM +matchwood/SM +mate/SJzMp +Matejovic/M +Mateo/M +Mateparae/M +Mater +mater/Mo +material/qs3SMPQ +materialism/MS +materialist/W1 +materiality/IM +materially/I +materialness/I +matériel/SM +materiel/SM +maternal/Y +maternity/SM +Matese/M +matey/PSM +Matford/M +Mathafarn/M +Mathavarn/M +Mathematica/M +Mathematical/M +mathematical/YP +mathematicality +mathematician/MS +mathematicise/SGDN +mathematicism/M Noun: uncountable +mathematics +mathematise/SGDN +Matheny/M +Mather/M +Mathern/M +Matheson/M +Mathetes/M +Matheus/M +Mathews/M +Mathias/M +Mathies/M +Mathieu/M +Mathilde/M +Mathis/M +Mathon/M +Mathry/M +maths +MathWorks/M +MathWorld/M +matico/MS +Matihetihe/M +Matilda/M +matinée/SM +matinee/SM +mating/M +matins +Matisse/M +Matlab/M +MATLAB/M +Matlask/M +Matlaske/M +Matlock/M +Matos/M +Matra/M +Matravers/M +matriarch/MZO +matriarchs +matriarchy/MS +matrices +matricide/SMO +matriculate/SGDn +matrifocal +matrika/SM +matrilateral +matriline/SM +matrilineage/SM +matrilineal/Y +matrilocal +matrilocality/M Noun: uncountable +matrimony/OoMS +matrix/MS +matron/YSMO +matronhood/M +matronship/MS +matronymic/SM +Matroska/M +Matrox/M +Matson/M +Matsui/M +Matsumoto/M +matsuri/M +Matsushita/M +Matsuyama/M +matt/M +mattamore/MS +Mattathias/M +matte/MS +Mattel/M +Matteo/M +matter-of-fact/Y +matter/d +Matterdale/M +Matterhorn/M +Mattersey/M +mattery +Matteson/M +Matthau/M +Matthew/M +Matthews/M +Matthias/M +Matthieu/M +Mattias/M +Mattie/M +matting/M +Mattingley/M +Mattingly/M +Mattishall/M +mattock/SM +mattoid/MS +Mattoon/M +mattress/MS +Mattson/M +mattucashlass +Matty/M +Maturana/M +maturate/SGD +mature/YDTVSxnPGr +maturely/KI +matureness/K +Maturin/M +maturities/I +maturity/KMI +Matúš/M +matutinal +maty/T +matzo/MS +matzoth/M +Mau +Mauchline/M +Maud/M +Maude/M +Maudit/M +Mauditt/M +maudlin/YSM +Maugersbury/M +Maugham/M +Maughan/M +Maughold/M +Maui/M +maul/DRSGM +Maulden/M +Mauldin/M +Mauleverer/M +maulstick/MS +Maumee/M +Maumelle/M +Mauna/M +Maunby/M +maunder/Sd +maunderer/MS +Maundy/M +Maungakaramea/M +Maunganui/M +Maungaraki/M +Maungatapere/M +Maungatautari/M +Maungaturoto/M +Maunu/M +Maupuia/M +Maur/MS +Maura/M +Maureen/M +Maurice/M +Mauricie/M +Mauricio/M +Maurine/M +Maurist/MS +Mauritania/M +Mauritanian/SM +Mauritian/SM +Mauritius/M +Mauro/M +Maury/M +Maurya/M +Mauryan/SM +Mauser/M +mausolea/M +mausoleum/SM +Mautby/M +mauve/MS +Maven/M +Maverick/M +maverick/MS +Mavesyn/M +Mavis/M +mavis/MS +mavourneen/M +maw/DSGM +Mawddwy/M +Mawdesley/M +Mawe/MS +Mawgan-in-Meneage/M +Mawgan-in-Pydar/M +Mawgan/M +Mawhinney/M +mawkish/PY +Mawlid/M +Mawnan/M +Mawr/M +Mawsley/M +Mawson/M +Max/M +max/SGDM +Maxey/M +maxi/SM +maxilla/yM +maxillae/M +maxillary/SM +maxillofacial +Maxim/M +maxim/qQsMoS +maxima/M +maximal/S3 +maximalism/M Noun: usually uncountable +maximality/M Noun: usually uncountable +Maxime/M +Maximilian/M +Maximiliano/M +maximum/YMS +Maximus/M +Maxine/M +Maxstoke/M +Maxthon/M +Maxton/M +Maxtor/M +Maxwell-Hyslop/M +Maxwell/M +maxwell/SM +Maxwellheugh/M +Maxwellian/SM +Maxwelltown/M +may/EG +May/M +Maya/MS +Mayagüez/M +Mayan/SM3 +Mayanism/M +Maybank/M +maybe/S +Maybelline/M +Mayberry/M +Maybole/M +mayday/SM +Maydown/M +Mayen/M +Mayer/M +Mayes/M +Mayfair/M +Mayfield/M +Mayflower/M +mayflower/SM +mayfly/MS +mayhap +mayhem/MS +Mayhew/M +Mayland/M +Maymorn/M +mayn't +Maynard/M +Mayne/M +Mayo/M +Mayobridge/M +mayonnaise/MS +mayor/SM +mayoral +mayoralty/MS +mayoress/SM +mayorship/SM +Mayotte/M +maypole/MS +Mayra/M +Mays/M +mayst +Mayweather/M +mayweed/SM +Maywood/M +mazard/MS +Mazarin/M +mazarine/SM +Mazatec/SM +Mazda/M +Mazdaism/M Proper noun: The modern Zoroastrian religion +Mazdaist/MS +maze/SZMGDR +mazel +Mazetown/M +maziness/M Noun: uncountable +Mazomba/M +Mazumdar/M +mazurka/SM +mazy/TY +Mazza/M +mazzard/SM +Mazzini/M +MB +Mb +MBA/MS +Mbabane/M +mbar +MBBS +MBChB +Mbit/S +Mbps +Mc +MC'd +MC'ing +MC/M +McAdam/M +McAdams/M +McAfee/M +McAlester/M +McAlister/M +McAllen/M +McAllister/M +McAlpine/M +McArthur/M +McAvan/M +McBrain/M +McBride/M +McCabe/M +McCaffrey/M +McCain/M +McCall/M +McCallum/M +McCampbell/M +McCandless/M +McCann/M +McCarrick/M +McCarthy/M +McCarthyism/M +McCartney/M +McCarty/M +McCauley/M +McCay/M +McClain/M +McClaren/M +McClean/M +McClellan/M +McClintock/M +McCloskey/M +McCloy/M +McClung/M +McClure/M +McCluskey/M +McColl/M +McComb/M +McComiskey/M +McConnell/M +McCool/M +McCord/M +McCorkindale/M +McCormack/M +McCormick/M +McCoy/M +McCracken/M +McCray/SM +McCrea/M +McCreary/M +McCrory/M +McCubbin/M +McCullagh/M +McCullers/M +McCulley/M +McCulloch/M +McCullough/M +McCune/M +McCurtain/M +McDaniel/M +McDermott/M +McDevitt/M +McDiarmid/M +McDonald/M +McDonnell/M +McDonough/M +McDougall/M +McDowell/M +McDuck/M +McDuffie/M +McElroy/M +McEnroe/M +McEwen/M +McFadden/M +McFarland/M +McGahern/M +McGarry/M +McGavin/M +McGee/M +McGeough/M +McGill/M +McGinlay/M +McGinn/M +McGlynn/M +McGough/M +McGovern/M +McGowan/M +McGrath/M +McGraw/M +McGregor/M +McGuffey/SM +McGuigan/M +McGuinness/M +McGuire/M +McHale/M +McHenry/M +McHugh/M +MCI +McIlmoyle/M +McIlroy/M +McIndoe/M +McIntosh/M +McIntyre/M +McIvor/M +McJob/S +McKay/M +McKean/M +McKechnie/M +McKee/M +McKeesport/M +McKell/M +McKenna/M +McKenzie/M +McKernan/M +McKesson/M +McKibben/M +McKinlay/M +McKinley/M +McKinney/M +McKinnon/M +McKinsey/M +McKnight/M +McLachlan/M +McLane/M +McLaren/M +McLauchlan/M +McLaughlin/M +McLean/M +McLeish/M +McLennan/M +McLeod/M +McLuhan/M +McMahon/M +McManus/M +McMartin/M +McMaster/M +McMeel/M +McMillan/M +McMinn/M +McMinnville/M +McMorran/M +McMullen/M +McMullin/M +McMurphy/M +McMurray/M +McMurtry/M +McNab/M +McNairy/M +McNally/M +McNamara/M +McNaughton/M +McNeer/M +McNeil/M +McNeish/M +McNish/M +McNiven/M +McPherson/M +McQuarrie/M +McQueen/SM +McRae/M +McRoberts/M +McVeigh/SM +MD +mdse +MDT +me/3s +mea +Meaburn/M +mead/MS +Meade/M +Meadow/MS +meadow/SMpZ +Meadowbank/M +meadowland/MS +Meadowlands/M +meadowlark/SM +Meadowood/M +Meadowside/M +meadowsweet/SM +Meadville/M +Meagan/M +Meaghan/M +meagre/YPSM +meal/ZSM +Mealo/M +mealtime/MS +mealworm/SM +mealy-mouthed +mealy/TPS +mean/CSG +mean/Y~ +meander/rdJSk +Meandrina/M +meandrine +meaner +meanest +meanie/SM +meaning/M6jpSY +meaningful/P +meaningless/PY +meanness/SM +meant/U +meantime +meanwhile +meany/SM +Meara/M +Meare/M +Mearian/M +Mearley/M +Mearns/M +Mears/M +Measham/M +measles +measly/T +Meason/M +measurable/IU +measure/rLSpMhlGD +measurelessly +measurement +meat/ZSpM +meataxe/SM +meatball/SM +Meath/M +meathead/SM +Meathop/M +meatloaf/M +meatloaves +meatpacking/S +meatpuppet/SM +meatus/MS +meaty/PTY +Meavy/M +Mebane/M +mebibit/S +mebibyte/S +mecamylamine/M Noun: uncountable +Mecca/M +Meccan/SM +Meccano/M +mech/M +mecha/SM +mechameck/M +mechanic/SMY +mechanical/SP +mechanicalism/M +mechanician/SM +mechanise/BnRSDG +mechanism/MS +mechanist/SMW1 +mechanochemical/Y +mechanochemistry/M Noun: uncountable +mechanoreceptive +mechanoreceptor/SM +mechanosensory +mechatronic/S +Mechell/M +Mechen/M +Mechlin/M +mechs +Mecklenburg/M +meclizine/SM +meconium/SM +Mecoptera Taxonomic order +mecopteran/SM +mecopterous +Mecosta/M +MEd/SM +medal/DSMW +medallion/MS +medallist/SM +Medbourne/M +Meddan/M +meddle/GDSRk +meddlesome/YP +Mede/SM +Medea/M +Medellín/M +Medfield/M +Medford/M +media/oMn +mediacracy/SM +mediacrat/SM +mediacy/SM +mediad +mediaeval/3MYS +mediaevalism/SM +medial/SM +Median +median/YSM +mediant/MS +mediaocracy/M +mediastina/OM +mediastinoscopy/SM +mediastinum/M +mediate/DGSn +mediate/IPY +mediatisation/S +mediatise/DGS +mediator/SMZO +mediatorship/SM +mediatress/SM +mediatrice/SM +mediatrix/M +MediaWiki/M +medic/YVnMS +medica/M +medicable +Medicaid/M +medical/SM +medicalise/SGDN +medicament/SMO +Medicare/M +medicate/SGDn +Medicean +Medich/M +Medici/M +Medician +medicinal/SM +Medicine/M +medicine/MoS +Medicis/M +medick/MS +medico-chirurgical +medico-legal +medico/SM +medicus +mediety/SM +medieval/Y3 +medievalise/SGD +medievalism/SM +Medina/M +mediocre/SM +mediocrity/SM +medipectus/M +Medism/M Noun: uncountable +meditate/VSGDvun +meditation/KMS +meditation/O3 +meditative/P +meditator/SM +Mediterranean/M +medium-sized +medium/SM +mediumism/M Noun: uncountable +mediumistic +mediumship/SM +Medlar-with-Wesham/M +Medlar/M +medlar/MS +medley/MS +Medlock/M +Medmenham/M +Médoc/MS +Medomsley/M +medoxomil/M Noun: uncountable +Medrano/M +medroxyprogesterone/M Noun: uncountable +medspeak/M Noun: uncountable +Medstead/M +medulla/SMy +Medusa/M +medusa/SM +medusae/M +medusan/M +medusoid/SM +Medvedev/M +Medway/M +Medwin/M +Mee/DM +meed/SM +meek/YPT +Meeker/M +Meeks/M +Meenakshi/M +Meerbrook/M +Meering/M +meerkat/SM +meerschaum/MS +Meerut/M +Meesden/M +Meese/M +meet/GJSYr +Meeth/M +meetinghouse/SM +meetness/M Noun: usually uncountable +meetup/SM +mefloquine/M Noun: uncountable +Meg/M +mega +megabacterium/M +megabasite/SM +megabat/SM +megabit/SM +megabitch/SM +megabook/SM +megabuck/SM +megabyte/SM +megacarrier/SM +megacentre/SM +megacephalic +megaceros/SM +megachilid/SM +Megachiroptera Taxonomic suborder +megachiropteran/SM +megacity/SM +megacolon/SM +megacorporate +megacorporation/SM +megacycle/MS +megadeath/MS +megadiverse +megadonor/SM +megaelectronvolt/SM +megafauna/OM +megaflop/SM +megagametophyte/SM +megahertz/M +megajoule/SM +megalith/SWM +megalitre/SM +megaloblast/SMW +megalocephaly/SMW +megalocornea/SM +megalocyte/SM +megalomania/MSW +megalomaniac/SMO +megalopolis/SM +megalopolitan/SM +megalosaur/SM +megalosaurian/SM +megalosaurus/SM +megalosphere/SM +megamix/SM +megamouth/SM +Megan/M +megaparsec/SM +megaphone/WMDSG3 +megaphyll/SMY +megaphyllous +megapixel/SM +megaplume/SM +megapod/SM +megapode/SM +Megapodidae Taxonomic family +megapolis/M +megaregolith/SM +megaripple/SM +megasclere/SM +megascopic/Y +megasea/M +megasecond/SM +megaseller/SM +megaspore/SM +megastar/SM +megastardom/M Noun: uncountable +megastore/SM +megastructure/SM +megatheria/M +megatherium/MS +megaton/SM +megatonne/SM +megavolt/SM +megawatt/SM +megaword/SM +Megger/MS +Megget/M +Meghalaya/M +megilp/SM +megohm/MS +megrim/MS +Megyn/M +meh +Mehigan/M +Mehist/SM +Mehmet/M +Mehring/M +Meidrim/M +Meier/M +Meifod/M +Meigh/M +Meigle/M +Meigs/M +mein/M +meinie/MS +meioses +meiosis/M +meiotic +Meir/M +Meiriadog/M +Meissen/M +Meissner/M +Meister/M +Meistersinger/M +Meitinger/M +Meitner/M +meitnerium/M Noun: uncountable +Mékinac/M +Mekong/M +Mel/M +melamine/MS +Melan/M +melancholia/SM +melancholiac/SM +melancholic/SY +melancholy/MSW +Melanesia/M +Melanesian/SM +melange/SM +mélange/SM +Melania/M +melanic +Melanie/M +melanin/MS +melanisation/SM +melanism/SM +melanite/SM +melanocortin/SM +melanocyte/SM +melanogen/SM +melanogenesis/M Noun: uncountable +melanoma/SM +melanotic +melanuria/SM +melatonin/M Noun: usually uncountable +Melba/MS +Melbecks/M +Melbourn/M +Melbourne/M +Melbury/M +Melchbourne/M +Melcher/M +Melchet/M +Melcombe/M +meld/SDGMr +Meldon/M +Meldreth/M +Meldrew/M +Meldrum/M +mêlée/MS +melee/SM +Melford/M +Melfort/M +melic +Melick/M +Meliden/M +Melilla/M +Melin/M +Melincourt/M +Melinda/M +Melindwr/M +Meline/M +meliorate/nDGVS +meliorator/MS +meliorism/SM +meliorist/MS +melisma/SM +melismata/WM +melismatics +Mélissa/M +Melissa/M +melissic +Melksham/M +melliferous +mellifluence/M +mellifluent +mellifluous/PY +Melling-with-Wrayton/M +Melling/M +Mellion/M +Mellis/M +mellitus +Mellon/MS +mellophone/SM +Mellor/M +mellow/GYTPSD +Mells/M +Melly/M +Melmerby/M +Melness/M +Melo/M +melodeon/SM +melodic/SY +melodicism/M Noun: uncountable +melodion/SM +melodious/Y +melodiousness/M Noun: uncountable +melodise/SGDJ +melodrama/WSM1 +melodramatic/SOY +melodramatist/SM +melody/SWM13 +melon/SM +Melos/M +Melotte/M +meloxicam/M Noun: uncountable +melphalan/M Noun: uncountable +melpomenish +Melrose/M +Melsonby/M +melt/DkSG7RM +meltdown/SM +Meltham/M +Melton/M +melton/SM +Meltonby/M +meltwater/SM +Melverley/M +Melville/M +Melvin/M +Melvindale/M +Melvyn/M +memantine/M Noun: uncountable +member/ASE +member/Mp +membered +membership/SM +membra disjecta membra +membranaceous +membrane/MSD +membraneous +membranous +Membris/M +membrum +Membury/M +meme/SM +memento/SM +mementoes +memetic/S +memetics's +memo/SyM +memoir/SM3 +mémoire/SM +memorabilia/M +memorability/MS +memorable/PY +memoranda/M +memorandum/SM +memoria/M Noun: uncountable +Memorial/M +memorial/QSM +memorialist/MS +memorially/I +memoriam +memory/sQoqSM +memoryless +Memphis/M +Memphrémagog/M +memsahib/S +men-at-arms +men-o'-war +men-of-war +men/M +menace/kSGDM +ménage/SM +menagerie/SM +Menahem/M +Menai/M +Menangle/M +menarche/MS +Menard/M +Menasha/M +Mencken/M +mend/GFSD +mendable +mendacious/PY +mendacity/MS +Mendel/M +mendelevium/M Noun: uncountable +Mendelian/SM +Mendelianism/M Noun: uncountable +Mendelism/M Noun: uncountable +Mendelssohn/M +mender/FM +mender/SM +mendery/SM +Mendes/M +Méndez/M +Mendham/M +mendicancy/MS +mendicant/SM +mendicity/SM +mending/SM +Mendip/M +Mendlesham/M +Mendocino/M +Mendota/M +Mendoza/M +Menefee/M +Meneghetti/M +meneghinite/SM +menehune/SM +Menelaus/M +menfolk/M +Meng/M +Mengele/M +menhaden/SM +Menheniot/M +menhir/MS +menial/YSM +Menifee/M +Menindee/M +meningeal +meninges/M Noun: uncountable +meningioma/SM +meningiomata/M +meningitic +meningitides +meningitis/M +meningocele/MS +meningococci/MO +meningococcus/M +meningoencephalitis/M +meninx/M +menisci/M +meniscus/M +Menlo/M +Menmuir/M +Mennonite/SM +Menominee/M +Menomonee/M +Menomonie/M +menopause/SMO +menorah/SM +Menorca/M +menorrhagia/M +menorrhoea/M Noun: uncountable +Mensa/M +mensal +menservants +menses/M +Menshevik/MS +Menston/M +Menstrie/M +menstrual/K +menstruate/SGnD +menstruous +menstruousness/M Noun: uncountable +mensurable/F +mensurableness +mensural +mensuration/SM +menswear/M Noun: uncountable +mental/Y3 +mentalism/SM +mentalistic +mentality/MS +mentation/M +mentee/SM +menteeship/M Noun: uncountable +Menteith/M +Menten/M +menthol/MS +mentholated +mention/7SRDG +Mentmore/M +Mentor/M +mentor/MSd +mentorship/SM +menu-driven +menu/MS +Menuhin/M +Menwith/M +Menzel/M +Menzies/M +Menzieshill/M +Menzo/M +Meole/M +Meols/M +Meon/M +Meonstoke/M +Meopham/M +meow/DSGM +MEP/SM +mepacrine/M Noun: uncountable +Mepal/M +meperidine/SM +mephedrone/M Noun: uncountable +Mephisto/M +Mephistophelean Adjective +Mephistopheles/M +Mephistophelian Adjective +mephitic +mephitis/M +Meppershall/M +Meqabyan/M +Mequon/M +mercantile +mercantilism/SM +mercantilist/SMW +mercaptan/SM +Mercaston/M +Mercator/M +Merced/M +Mercedarian/SM +Mercedes-Benz/M +Mercedes/M +mercenary/PMSY +Mercer/M +mercer/QMS +mercery/SM +merchandise/RSDGJM +merchant/BSM +Merchant/M +merchantman/M +merchantmen/M +Mercia/M +Mercian/SM +Mercier/M +merciful/P +mercifully/U +merciless/PY +Merck/M +mercurial/SP +mercurialism/M Noun: uncountable +mercuriality/SM +Mercurian/SM +mercurocene +Mercurochrome/M +mercurous +Mercury/MO +mercury/oMW +mercy/S6jpM +Mere/M +mere/TYSPM +Meredith/M +Meremere/M +merenda/SM +merengue/SM +mereology/wSM +Mereside/M +meretricious/PY +meretrix/M +Merevale/M +Mereworth/M +merganser/MS +merge/RGSD +mergee/SM +mergence/M Noun: uncountable +mericarp/SM +Meriden/M +Meridian/M +meridian/SM +Meridiani Sinus Meridiani (Mars) +meridional/SM +meringue/MS +merino/MS +Merion/M +Merioneth/M +Merionethshire/M +meristem/SMW +merit-making +merit/6pr3 +merit/CdMS +meritable +merithallus +meritocracy/SM +meritocrat/SMW +meritorious/U +meritorious/Y +meritoriousness/MS +Merivale/M +Meriwether/M +Merkel/M +Merkle-Damgård/M +Merle/M +merle/SM +merlin/SM +Merlo/M +merlon/SM +Merlot/M Noun: usually uncountable +mermaid/SM +merman/M +mermen/M +meroblast/SM +merohedral +meromorphic +meronym/SM +Merovingian/MS +Merriam/M +Merrick/M +Merrilands/M +Merrill/M +Merrillville/M +Merrimac/M +Merrimack/M +Merrington/M +Merriott/M +Merris/M +Merritt/M +Merrow/M +merrow/SM +merry-go-round/SM +merry/TLYP +Merrybent/M +Merrylea/M +merrymaker/SM +merrymaking/SM +Merryn/M +merrythought/MS +MERS-CoV/M +MERS/M Noun: uncountable +Mersea/M +Mersey/M +Merseyside/M +Mersham/M +Mershon/M +Merstham/M +Merston/M +Merther/M +Merthyr/M +Merton/M +Mertoun/M +Merv/M +Mervyn/M +Mery/M +Meryl/M +Merz/M +mes/2DZzG +Mesa/M +mesa/SMW +mesalamine/M Noun: uncountable +mescal/SM +mescaline/SM +mesclun/SM +Mesdames +mesdames +mesdemoiselles +Mesdemoiselles +mesencephalic +mesencephalon/SM +mesenchymatous +mesenchyme/OSM +mesentery/SMW +Mesfin/M +mesh/GMSD +Meshaw/M +meshwork/M Noun: usually uncountable +mesial/Y +mesmeric/Y +mesmerise/RGSD +mesmerism/MS +mesmerist/MS +mesne/SM +Meso-America/M +Mesoamerican/SM +Mesoarchean +mesoblast/MS +mesocarp/MS +mesocephalic +mesocephaly/M Noun: uncountable +mesocyclone/SM +mesoderm/OW^ +mesogaster/SM +mesogastria/M +mesogastrium/M +Mesolithic +mesoloph/SM +mesolophid/SM +mesomorph/SMW +mesomorphy/M Noun: uncountable +meson/MS +mesonic/S +mesonium/SM +mesonotum/M +mesopause/SM +mesopelagic/SM +mesophile/SM +mesophilous +mesophragma/M +mesophyll/SMW +mesophyllous +mesophyte/SMW +mesoplanet/SM +mesoplastra/M Plural of mesoplastron +mesoplastron/M +mesopleural +mesopodial +Mesopotamia/M +Mesopotamian/SM +Mesoproterozoic +mesorostral +mesosalpinx/M +mesoscale/SM +mesoscaphe/SM +mesoscopic/Y +mesosphere/MS +mesothelia/M +mesothelioma/SM +mesothelium/M +mesotherapy/M Noun: usually uncountable +mesothoracic +mesothorax/M +mesotron/SM +Mesozoic +mesozoic +Mesquita/M +Mesquite/M +mesquite/MS +mess/SM +message/SMDG +messenger/dMS +Messenia/M +Messerschmidt/SM +Messerschmitt/SM +Messi/M +Messiaen/M +Messiah/M +messiah/SM +messiahship/SM +messianic +messianism/SM +messieurs's +Messina/M +Messing-cum-Inworth/M +Messing/M +Messingham/M +messmate/SM +Messonnier/M +Messrs/M +messuage/MS +messy/TP +mestizo/SM +mesylate/SM +met/dr +meta +Meta-Wiki/M +Métabetchouan-Lac-à-la-Croix/M +metabolic/Y +metabolisable +metabolise/DSGR +metabolism/SM +metabolite/SM +metacarpal/SM +metacarpi/M +metacarpus/M +metacentre/SMW +metacircular +metacircularity/M Noun: uncountable +metacone/SM +metacromia/M +metacromion/M +metaculture/SMO +metacyclic/SM +metadata/M Noun: uncountable +metadiegetic +metadiscourse/SM +metadyne/SM +métadyne/SM +metafiction/O3 +metafictive +metafile/SM +metafunction/SMO +metagame/DGSM +metage/SM +metageneses +metagenesis/M +metagenetic +metagenomic +metagenomics/M Noun: uncountable +metal/WSMGJD +metalanguage/MS +metalaw/M Noun: uncountable +metalaxyl/M Noun: uncountable +metalegal +metalepsis/M +metaleptic/OY +metalevel/SM +metalhead/SM +metalinguistic/Y +metallic/SMY +Metallica/M +metallicity/SM +metalliferous +metalline/M +metallise/SnGD +metallocene/SM +metallogenic +metallograph/SMr3 +metallographical/Y +metallography/SMW +metalloid/SM +metallophone/SM +metallurgy/1MSwW3 +metalsmith/MS +metalwork/RGJMS +metalworking/SM +metamaterial/SM +metamathematical +metamathematician/SM +metamathematics +metamer/SM +metamere/MS +metameric/Y +metamerism/M Noun: usually uncountable +metamorphic/SM +metamorphise/DGS +metamorphism/SM +metamorphose/DGS +metamorphosis/M +metaphase/SM +metaphor/SWw1M3 +metaphosphate/SM +metaphrase/DGMS +metaphrastic +metaphysic/SMOY +metaphysician/SM +metaplasia/SM +metaplasm/M +metaplastic +metapolitical +metapolitics +metapopulation/SM +metasedimentary/SM +metasilicate/SM +metasomatic +metasomatise/SGD +metasomatism/SM +metastability/SM +metastable/SM +metastases +metastasis/dMSQ +metastate/MS +metastatement/SM +metastatic/Y +metasternal +metasternum/M +metastomial/M +metastomium/M +metasyntactic +metatarsal/SM +metatarsi/M +metatarsus/M +metatext/MS +metatextual/Y +metatheoretical +metatheory/SM +Metatheria Taxonomic infraclass +metatherian/SM +metatheses +metathesis/M +metathesise/SGD +metathetic/O +metathoracic +metathorax/M +metatracheal +Metatron/M +metatropy/M +metatype/MW +metavariable/SM +metavariscite/M +Metaverse/M +metaverse/SM +metavolcanic +metayage/MS +metayer/MS +metazoan/SM +Metcalfe/M +mete/SM +metempsychoses +metempsychosis/M +metempsychosist/MS +metempsychotic +meteor/WS1M +meteorite/SMW +meteoritic/S +meteoritical/Y +meteoriticist/SM +meteorograph/SMW +meteoroid/MSO +meteorology/wMS13 +meter/dp +metethereal Adjective +metetherial Adjective +Metfield/M +Metford/M +metformin/SM +meth/SM +methacrylate/SM +methacrylic +methadone/SM +methaemoglobin/M Noun: uncountable +methaemoglobinaemia/M Noun: uncountable +methamphetamine/SM +methanation/SM +methane/SMO +methanogen/MSW +methanogenesis/M Noun: uncountable +methanoic +methanol/SM +metheglin/SM +methenamine/SM +Metheringham/M +methicillin/M Noun: uncountable +Methil/M +Methilhill/M +methinks +methionine/SM +Methley/M +Methlick/M +methocarbamol/M Noun: uncountable +method/1SMwW +methodical/P +methodise/SGDN +Methodism/M Noun: uncountable +Methodist/MS +methodology/Sw1M3 +Methone/M +methotrexate/SM +methought +methoxy/M +methoxyl/M Noun: uncountable +methoxys +Methuen/M +Methuselah/M +Methven/M +Methwold/M +methyl/SM +methylacetylene/SM +methylate/SGDn +methylene/SM +methylergonovine/M Noun: uncountable +methylic +methylphenidate/SM +methylprednisolone/SM +Methyr/M +metic/MS +meticulous/PY +Metidian +métier/SM +metier/SM +Métis-sur-Mer/M +Metis/M +metoidioplasty/SM +metol/M +Metonic Metonic cycle +metonym/SM +metonymic/OY +metonymous +metonymy/SM +metope/SM +metoprolol/M Noun: uncountable +metre/S1Ww +metreage/M +metric/nNMS +metricate/DSG +metrifonate/M Noun: uncountable +metriphonate/M +metrisability/M Noun: uncountable +metrisable +metrist/MS +metritis +Metro/M +metro/MS +Metrolink +metrology/3wSM +metronidazole/SM +metronome/SM +metronomic +metronymic/S +metropolis/SM +Metropolitan +metropolitan/SM +metropolitanate/MS +metropolitical/Y +metrorrhagia/SM +metrosexual/SM +metrosexuality/M Noun: uncountable +metrotome/SM +Metrotown/M +metrum/M +metta/M Noun: uncountable +Mettingham/M +mettle/DSM +mettlesome/Y +mettlesomeness/M Noun: uncountable +Metton/M +Metuchen/M +Metzger/M +Metzler/M +Meuse/M +MeV +Mevagissey/M +mew/GSD +Mewan/M +mewl/DSG Verb +mews/MS +Mewsey/M +Mexborough/M +Mexican/SM +Mexico/M +Meyer/SM +Meyerbeer/M +Meyerson/M +Meyerstein/M +Meylltyrne/M +Meyrick/M +Meysey/M +mezereon/MS +mezuzah/SM +mezuzoth/M +mezza +mezzanine/MS +mezzo-soprano/SM +mezzo/SM +mezzotint/SGDR +mfg +mfr/S +Mg +mg +MGM +mgr +Mhlanga/M +MHz +mi/C +mi/M +Miami-Dade/M +Miami/M +Miamisburg/M +miaow/SGDJ +Miaphysite +miasma/MSO +miasmatic/Y +miasmic/Y +miaul/SGDJ +MiB +mic/SM +mica/MS +micaceous +Micah/M +Micardis/M +Micawber/M~ +Micawberism/M Noun: uncountable +mice/M +micellar +micelle/SM +Michael-le-Querne/M +Michael/SM +Michaelangelo/M +Michaelchurch/M +Michaelis/M +Michaelmas/M +Michaelsen/M +Michaelson/M +Michaelston-le-Pit/M +Michaelston-super-Avon/M +Michaelston-super-Ely/M +Michaelston-y-Fedw/M +Michaelstone-y-Fedw/M +Michaelstow/M +Micheaux/M +Michel/M +Michelangelo/M +Micheldever/M +Michele/M +Michelin/M +Michelle/M +Michelmersh/M +Michelson/M +Michigan/M +Mick/M +mick/MS +Mickelson/M +Mickey/M +mickey/SM +Mickfield/M +Mickie/M +Mickle/M +mickle/MS +Mickleby/M +Micklefield/M +Micklegate/M +Mickleham/M +Mickleover/M +Mickleton/M +Mickley/M +micky/M +Micky/SM +Micmac/SM +miconazole/M Noun: uncountable +micra's +micrite/SMW +micro-environment/SMO +micro/SM +microaerophile/SMW +microaggression/SM +microamp/SM +microampere/SM +microanalyses +microanalysis/M +microanalytic +microanatomy/SM +microangiopathic +microarchitecture/SM +microarray/SM +microbat/SM +microbe/SMW +microbial/Y +microbialite/SM +microbian +microbicide/SMO +microbiology/w3SMW1 +microbiome/SM +microbiota/M +microbitcoin/SM +microbore/SM +microbrewery/SM +microbrowser/SM +microburner/M +microbus/M +microbusiness/SM +microcamera/SM +microcanonical +microcapillary +microcapsule/SM +microcar/SM +microcard/SGDM +microcassette/SM +microcell/SM +microcellular +microcephalic/MS +microcephalous +microcephaly/WSM +microchannel/SM +microchemistry/M Noun: uncountable +microchip/SGDM +microchiropteran/SM +microcircuit/SM +microcircuitry/SM +microclimate/SW1 +microcline/SM +microcode/GDSM +microcoleoptera/M +microcolony/SM +microcomputer/MS +microcomputing/M Noun: uncountable +microcontinent/SMO +microcontroller/SM +microcopy/SGDM +microcosm/WSMO1 +microcosmography/SM +microcosmopolitan/M +microcrack/SGDM +microcredit/SM +microcrystal/SM +microcrystalline +microcyte/WSM +microdeletion/SM +microdensitometer/SM +microdot/SM +microdrive/SM +microeconomics +microeconomy/MSW +microelectrode/SM +microelectromechanical +microelectronic/SY +microenterprise/SM +microevolution/SM +microevolutionary +microfarad/SM +microfauna/MO +microfibre/SM +microfibril/SM +microfiche/SGDM +microfilament/SM +microfilm/GDMSR +microfinance/SM +microfine Adjective +microfloppy/SM +microflora/M +microflorae/M Plural of microflora +microforge/SM +microform/SM +microformat/SM +microfossil/SM +microfracture/SMG +microfungi/M +microfungus +microgame/SM +microgamete/SM +microgametocyte/M +microgametophyte/SM +microgenerate/N +microgeographic/O +microglia/O +microglossary/M +microgram/SM +microgramme/SM +microgranite/SM +microgranitoid Adjective +micrograph/SMZ +micrographic/SY +micrography/SM +microgravity/M Noun: usually uncountable +microgroove/MS +microhabitat/SM +microhydrodynamics +microhylid/SM +microinject/SDG +microinjection/SM +microinstruction/MS +microjoule/SM +microkernel/SM +microlaminated +microlevel/SM +microlight/SM +microlite/WSM +microlith/SMW +microlitre/SM +microloan/SM +micrologic/O +micromachine/SMy +micromanage/LDSGr +micromania/M Noun: usually uncountable +micromanipulation/SM +micromanipulator/SM +micromechanical +micromechanics +micromechatronic/S +micrometeorite/SWM +micrometeoroid/SM +micrometer/SM +micrometre/SM +micrometry/M Noun: uncountable +microminiature/SM +microminiaturisation +micromobility/M Noun: uncountable +micromodel/GSM +micromodeling +micromodule/SM +micromolar +micromole/SM +micromorph/SM +micromorphology/wM +micromotor/SM +micromutation/SM +micron/MSN +microneedle/SM +Micronesia/M +Micronesian/SM +microneutralisation/SM +micronise/SGDNR +micronodular +micronuclear +micronuclei +micronucleus +micronutrient/SM +microorganism/SM +micropayment/SM +microphagic +microphagous +microphallus +microphone/SMGD +microphotograph/SWZ +microphyll/SM +microphysical +microphysics +microphyte/MSW +micropig/SM +micropipette/SM +microplastic/SM +micropore/SM +microporosity/SM +microporous +micropower/M Noun: uncountable +microprint/G +microprobe/SM +microprocessing/M Noun: uncountable +microprocessor/MS +microprogram/MSGD +micropropagation/SM +micropterous +micropyle/MS +microreader/SM +microRNA/SM +microsatellite/SM +microsaur/SM +microsaurian Adjective +microsclere/SM +microscooter/SM +microscope/SMWw1Z3 +Microscopium/M +microscopy/MS +microSD/M +microsecond/SM +microsegment/SM +microseism/SMW +microseismicity/M Noun: uncountable +microseismogram/SM +microseismology/M Noun: uncountable +microseismometer/M +microsequence/MG +microsimulation/SM +microsiphon/SM +microsite/SM +microsleep/SM +microsmatic +microsociety/SM +microsociolinguistic/S +microsociology/M Noun: uncountable +Microsoft/M +microsome/SMO +microspectrophotometer/SM +microsphere/SM +microsporangia/MO +microsporangium/M +microspore/SM +microsporogenesis +microstate/SM +microstimulation/SM +microstome/M +microstore +microstratification/SM +microstratigraphy/WM +microstrip/SM +microstructure/SO^ +microstudy/SM +microstylous +microsurgeon/SM +microsurgery/MS +microsurgical +microswitch/SM +microsystem/SM +microtask/SM +microteaching/M Noun: uncountable +microtechnology/wSM +microtesla/SM +microtheory/SM +microtherm/MOW +microtine/SM +microtome/SM3 +microtomy/W +microtonal/Y +microtonality/SM +microtone/SM +microtopography/WwSM +microtubule/SM +microvascular +microvesicular +microvilli +microvillous +microvillus/M +microvolt/MS +microwavable +microwave/G7DSM +microword/S +microxea/M +microzoan/SM +microzoon/SM +microzooplankton/M +microzyme/SM +micrurgy/w +micturate/SGD +micturition/SM +mid-afternoon +mid-age/D +mid-air/SM +Mid-America/M +Mid-American +mid-angle +Mid-Atlantic/M +mid-band/M +mid-body +mid-breast +mid-brow +mid-calf +mid-career +mid-century +mid-channel +mid-chest +mid-circle +mid-coast +mid-continent/O +mid-course +mid-cycle +mid-deck +mid-deep +mid-distance +mid-earth +mid-engined +mid-European +mid-evening +mid-feather +mid-fi +mid-flight +mid-kidney +mid-layer +mid-level +mid-management +mid-market +mid-morning +mid-ocean/W +mid-off +mid-on +mid-watch +mid-year +Mid/M +mid/Z +Midas/M +midazolam/M Noun: uncountable +midbrain/MS +Midcable/M +midday/SM +midden/SM +middle-age/D +middle-class +middle-of-the-road +middle-sized +Middle/M +middle/mDSGkJM +Middlebie/M +Middleborough/M +middlebrow/SM +Middleburg/M +Middlebury/M +Middlefield/M +Middleham/M +Middlehurst/M +Middlemarch/M +Middlemore/M +Middlesborough/M +Middlesbrough/M +Middlesex/M +Middlesmoor/M +Middleton-on-Leven/M +Middleton-on-Sea/M +Middleton/M +Middletown/M +middleware/M Noun: usually uncountable +middleweight/MS +Middlewich/M +Middlezoy/M +middlingish +middlingness +Middop/M +middy/SM +midear +midface/O +midfield/MSR +Midgard/M +midge/SM +midget/SM +Midgham/M +midgy/SM +midheaven/SM +Midhirst/M +Midhope/M +Midhurst/M +midi/SM +MIDI/SM +midinette/SM +Midland/M +midland/SMR +Midlands/M +Midleton/M +Midley/M +midlife/M +midline/SM +midlives +Midloe/M +Midlothian/M +Midmar/M +midmost/S +midnight/SM +midpiece/SM +midpoint/MS +midrange +Midrash/M +Midrashim/M +midrib/MS +midriff/SM +midscale +midsection/SM +midship/mS +midshipmanship +midshire +midshore +midsole/SM +Midsomer/M +midspan +midst/MS +Midstocket/M +midstream/M +midsummer/SM +midterm/MS +Midvale/M +Midville/M +midway +Midway/M +midweek/YSM +Midwest/M +Midwestern/R +midwicket +midwife/My +midwifery/MS +midwinter/MYS +midwives +midyear/SM +Mielczarek/M +mielie/MS +mien/SM +Miers/M +Mierzwinski/M +mieux +Mieza/M +mifepristone/M Noun: uncountable +miff/DSG +Mifflin/M +Mifsud/M +MiG/SM +MIG/SM +might've +might/Sz +mightn't +mightn't've +mighty/TP +Mignon/M +mignon/M +mignonette/SM +Migos/M +migraine/MS +migrainous +migrant/ISM +migrate/INS4DnG +migration/MI +migrative +migrator/SM +migratory Adjective +Miguel/M +Mihara/M +mihrab/SM +mikado/SM +Mikal/M +mike/DMGS +Mike/M +Mikhail/M +Mikhailov/M +MiKTeX/M +Mila/M +Milad/M +milady/MS +Milam/M +Milan/M +Milanese/M +Milankovitch Milankovitch cycles +Milano/M +Milbank/M +Milborne/M +Milborough/M +Milbrath/M +Milburn/M +Milby/M +milch/M +Milcombe/M +Milcote/M +mild-mannered +mild/TPY +milden +Milden/M +Mildenhall/M +mildew/ZGDSM +Mildmay/M +Mildred/M +Mildura-Buronga/M +Mildura/M +Mile/M +mile/SMrG +mileage/MS +Mileham/M +mileometer/SM +milepost/SM +Miles/M +Milesian/MS +Milestone/M +milestone/MS +Miletus/M +Miley/M +milfoil/SM +Milford-on-Sea/M +Milford/M +Milian/M +miliaria/SMO +miliary/SM +milieu/SM +militance/SM +militancy/SM +militant/YPSM +militaria/M +militarise/CSDGN +militarism/SM +militarist/SMW +military/SMQ3Y +militate/SGD +militia/mSM +Milk/M +milk/RDZSMG +milkfish/SM +milkmaid/SM +milkman/M +milkmen/M +milkshake/SM +milksop/SM +milkweed/MS +milkwort/MS +Milky Milky Way +milky/TP +Mill/MS +mill/SRD7MG +Millais/M +Milland/M +Millard/M +Millbank/M +millboard/MS +Millbrae/M +Millbrook/M +Millburn/M +Millbury/M +Millcreek/M +Mille/M +Milledgeville/M +millenarian/SM +millenarianism/SM +millenarianist/SM +millenary/SM +millennia +millennial/SM3 +millennialism/SM +Millenniata/M +millennium/SM +millepede/SM +millepore/MS +Miller/M +millesimal/MSY +millet/SM +Millett/M +Millette/M +Millgarth/M +milliammeter/SM +milliamp/SM +milliampere/SM +milliard/SM +Milliband/M +millibar/SM +millibitcoin/SM +Millicent/M +millidegree/SM +Millie/M +Milligan/M +milligram/SM +milligramme/MS +millijansky/SM +millijanskys +millijoule/SM +Millikan/M +millilitre/SM +millimetre/SM +milliner/ZSM +millinery/SM +milling/M +Millington/M +million/MHS +millionaire/SM +millionairess/SM +millionth/M +millipede/SM +millisecond/SM +Millisle/M +millivolt/MS +millivoltmeter/SM +milliwatt/SM +Millom/M +millpond/SM +Millport/M +millrace/MS +Millstone/M +millstone/SM +millstream/SM +Milltown/M +Millville/M +Millwall/M +Millward/M +Millwater/M +millwright/SM +Milnathort/M +Milne/M +Milner/M +Milngavie/M +Milnrow/M +Milnthorpe/M +Milo/M +milometer/SM +milord/SM +Milosevic/M +Milpitas/M +Milquetoast/SM +milreis/M +Milroy/M +Milson/M +Milstead/M +Milston/M +milt/RSM +Milton-Kildary/M +Milton-next-Gravesend/M +Milton-under-Wychwood/M +Milton/WM +Miltonian Adjective +Miltown/SM +Milverton/M +Milwaukee/M +Milwaukie/M +Milwich/M +Mimas/M +mimbar/SM +MIMD/M Acronym of multiple instruction, multiple data +mime/DSMGr +mimeo/SM +mimeograph/MDSG +mimesis/M +mimetic/Y +Mimi/M +mimic/RDGSy +mimicry/SM +Mimms/M +Mimosa/M +mimosa/MS +mimulus/MS +min. +Min/M +min/S +Mina/M +minable +minacious/Y +minacity/MS +Minaj/M +Minardi/M +minaret/SM +Minastrin/M +minatory Adjective +minbar/MS +mince/RDGkSJ +mincemeat/SM +Minch/M +Minchin/M +Minchinhampton/M +mind-blowingly +mind-expanding +mind-numbing/Y +mind-reader/SM +mind/phSiR6DjMG +Mindanao/M +mindbogglingly +Mindell/M +Minden/M +minder/AS +mindfulness/SM +mindless/YP +mindset/SM +mindshare/M Noun: usually uncountable +mindstyle/SM +mindware/M Noun: uncountable +Mindy/M +mine/7pMGJDRS +minefield/SM +Minehead/M +minehunter/SM +minehunting/M Noun: uncountable +minelayer/SM +minelaying +Minelli/M +minenwerfer/M +Mineola/M +mineproof +Minera/M +Mineral/M +mineral/YQqSM +mineralisation/CS +mineralness +mineralocorticoid/SM +mineralogy/Mw3S1 +Minerva/M +Mines/M +mineshaft/SM +minestrone/MS +minesweeper/SM +minesweeping/M Noun: usually uncountable +Minety/M +mineworker/SM +Ming/M +mingier +mingiest +Minginui/M +mingle/FGDS +Mingo/M +mingy +Minh +Minho/M +Mini/MS +mini/SM +miniate/DGS +miniature/GQ3SMqD +minibar/SM +minibeast/SM +minibore Adjective +minibreak/SM +minibus/SM +minicab/SM +minicam/MS +minicar/SM +minicell/SM +minichain/SM +minichromosome/SM +minicircle/SM +minicomputer/SM +minidisc/SM +Minidoka/M +minidress/SM +minifloppy/SM +minify/SGDN +minikin/MS +minim/sQSqMo +minima/M +minimal/S3 +minimalism/SM +minimalistic +minimality/SM +minimax/SM +minimum/SM +mining/M +Miningsby/M +minion/SM +Miniott/M +miniscule +miniSD/M +miniseries +miniskirt/MS +minister/dnSMo +ministerial/3 +ministership/SM +ministrant/SM +ministry/SM +minium/M Noun: uncountable +minivan/SM +miniver/SM +MINIX/M +mink/MS +minke/SM +Minkowski/M +Minna/M +Minneapolis/M +Minnehaha/M +minnesinger/MS +Minnesota/M +Minnesotan/SM +Minnetonka/M +Minnie/M +Minnigaff/M +Minnis/M +minnow/MS +Minoan/SM +minocycline/M Noun: uncountable +Minooka/M +Minoprio/M +Minor/M +minor/SM +minora +Minorca/M +Minoress/MS +Minories/M +minoritarian/SM +minoritarianism/M Noun: usually uncountable +Minorite/MS +minoritised +minority/SM +Minos/M +Minot/M +Minotaur/M +minoxidil/M Noun: uncountable +Minshull/M +Minsk/M +Minsky/M +Minstead/M +Minster-in-Sheppey/M +Minster-on-Sea/M +Minster/M +minster/MS +Minsterley/M +Minsterworth/M +minstrel/SM +minstrels/Z +minstrelsy/SM +mint/DGSMRZ +Mint/M +mintage/MS +Minterne/M +Minting/M +Mintlaw/M +Mintlyn/M +Minto/M +Minton/M +minty/T +minuend/MS +minuet/MS +minus/SM +minuscular +minuscule/SM +minute/PMGTDSY +minuteman/M +minutemen/M +minutia/M +minutiae/M +Minver/M +Minwear/M +minx/MS +minyan/M +minyanim/M +Miocene/M +miogeosyncline +miosis +miotic +MIPS +Miquelon/M +Mir/M +Mira/M +Mirabeau/M +Mirabel/M +mirabelle/MS +mirabile +mirabilis/M +miracle/MS +miraculous/YP +Mirada/M +mirador/SM +mirage/DSMG +Mirage/M +Mirai/M +Miramar/M +Miramichi/M +Miranda/M +mIRC/M +mire/DMGSZ +mirepoix/M +Mirfield/M +Miriam/M +mirk/MZ +Miró/M +Mirowski/M +Mirowsky/M +Mirrlees/M +mirror/dMS +mirtazapine/M +mirth/6SpMj +mirthful/P +mirthless/PY +MIRV +miry/T +Mirzapur/M +Mirzayanov/M +mis-citation +mis-selection +mis-sell/SG +mis-sold +misaccount/SGD +misadaptation/SM +misaddress/G +misadjust/SGD +misadventure/SM +misallocate/SDGN +misandrist/SM +misandry/M Noun: usually uncountable +misanthrope/SZ1Mw +misanthropise/SGD +misanthropism/M Noun: uncountable +misanthropist/SM +Misanthropos +misanthropy/MS +misappliance/SM +misapply/n +misappreciate/SGDN +misapprehend +misapprehensive +misattribute/SGD +misattribution/SM +misbehaver/SM +misbelief/SM +misbelieve/DGS +misbeliever/SM +misbrand/GS +misbuild/SG +misbuilt +misc/b +miscalculate +miscall/G +miscarry/DS +miscast/G +miscategorise/SGD +miscegenate/DGMS +miscegenation/SM +miscegenist/MS +miscellanea/M +miscellaneous/YP +miscellanist/MS +miscellany/SM +mischance/MS +mischaracterise/SGD +mischief-makers +mischief-making +mischievous/PY +miscibility/S +miscible/CI +misclassified +misclassifying +miscommunicate +miscommunications +miscomprehended +miscompute/SGDN +misconceit/SGD +misconceiver/SM +misconfiguration +misconfigure/D +misconstruction/SM +misconstrue/DGS +miscopy/DGS +miscount +miscreant/SM +miscreate/SGD +miscreative +miscutting +misdate/SGD +misdeal/GMS +misdealt +misdecision/SM +misdeclaration/SM +misdeed/MS +misdelivered +misdemeanant/SM +misdemeanour/SM +misdescribe/SDN +misdescriptive +misdiagnosis +misdial/SGD +misdirect/G +misdirector/SM +misdistribution +misdoubt/DSGJ +mise +misemploy/DGS +misemployment/S +misenter/Sd +miser/ZY7l +miserabilism/M Noun: uncountable +miserabilist/SMW +miserable/P +Miserden/M +misericord/S +miserly/P +misery/MS +Mises/M +misestimate/D +misestimation/S +misexplain/SGD +misexplanation/S +misfeasance/SM +misfeature/M +misfield +misfit +misfold/SGD +misgiving/SM +misguide/hi +misguided/P +mishandle/DGS +mishap/SM +Mishawaka/M +Mishima/M +Mishin/M +mishit/GMS +Mishkin/M +mishmash/MS +Mishnah/M +Mishnaic +misidentify/GNS +misjoin/SGD +misjoinder/SM +misjudgment/SM +miskenning +miskey/SGD +miskick/SGD +Miskolc/M +mislay +mislead/GSkr +misleader's +misled +mislike/SGDJ +misline +mislineation +mislippen +mislive/SGD +mislocate/SGDN +mislodge/SGD +mismade +mismake/SG +mismanageable +mismanager +mismannered +mismanners +mismannert +mismark/SGD +mismarketing +mismarriage/S +mismarry/SGD +mismatchment +mismate/SGD +mismean/SG +mismeant +mismeasure/SGD +mismeasurement/S +mismetre/SGD +misnome/SGDR +misnomered +misnote/SGD +misnumber/Sd +misnurture/SGD +misogamy/M3S +misogynist/W +misogynous +misogyny/3SM +misology/M3 +misoneism/M Noun: usually uncountable +misoneist/MS +misoprostol/M Noun: uncountable +misperceiving +misperception/SM +Misperton/M +mispickel/M +misplace/L +mispositioned +misprediction/SM +misprice/SGD +misprint/M +misprise/SGD +misprision/SM +misprize/SGD +misprizer +misproportion +misqualify/SGD +misread +misregulation/SM +misremembers +misreport +misrepresentative +misrepresenter/SM +miss/EVDGS +miss/S~ +missable +missal/MSE +Missaukee/M +missaw +missee/SG +misseen +Missenden/M +misshapen/YP +missile/SM +missilery/MS +mission's/A4 +mission/FRSM +Mission/M +missionary/MS +missions/4 +Mississauga/M +Mississippi/M +Mississippian/SM +missive/4 +missive/MS +Missler/M +Missolonghi/M +Misson/M +Missoula/M +Missouri/M +Missourian/SM +misspeak/GS +misspecification/SM +misspell +misspelt +misspoke +misstep +missus/SM +Missy/M +missy/M +mist/MGDzZRSp +mistakable/Y +mistake/SMr +mistaken/Y +mistakenness/M Noun: uncountable +mister/CMS +Misterton/M +mistime/DG +mistitle/SGD +mistle +mistletoe/SM +Mistley/M +mistlike +mistral/SM +mistranslate/GS +mistreat/GL +mistruster/SM +mistrustfulness/M +mistry/DGS +misty/TP +mistype/J +misunderstand/R +misusage/M +misuse/M +MIT/M +Mitch/M +Mitcham/M +Mitchel/M +Mitcheldean/M +Mitchell/M +Mitchison/M +Mitchum/M +mite/MS +Mitford/M +Mithra/M +Mithraic +Mithraism/M +Mithraist/MS +Mithras/M +mithridate/SMW +mithridatise/DGS +mithridatism/M +mithril/M Noun: uncountable +mitigable +mitigant/SM +mitigate/DnyGS +mitigative +mitigator/SM +Mitis/M +Mitnick/M +Mito/M +mitochondria/O +mitochondrion/M +mitogen/SMW +mitoses +mitosis/M +mitotic/Y +Mitova/M +mitraille/MS +mitrailleur/MS +mitrailleuse/MS +mitre/DGMSO +mitsuba/M Noun: uncountable +Mitsubishi/M +Mitsui/M +Mitsuru/M +mitt/SM +mitten/SM +Mitterrand/M +mittimus/MS +Mitton/M +Mitty/M +Mitzi/M +mitzvah/M +mitzvoth/M Plural of mitzvah +mix-up +mix/GKDSA +mixable +Mixbury/M +mixedness/M Noun: uncountable +mixen/SM +mixer/SM +Mixolydian +mixolydian +mixotroph/SMW +mixotrophy/M Noun: uncountable +Mixtec/SM +mixture/MS +Miyabe/M +Miyagi/M +Miyako/M +Miyamoto/M +Miyazaki/M +Mizar/M +mizen/MS +Mizoram/M +mizzen/SM +mizzenmast/MS +mizzle/DGSZ +mk3d +MK3D +MKA +mka +mks +MKS +MKV +mkv +ml +Mládek/M +MLB/M +Mlle/M +MLSO +mm +MMB/M +Mme +MMORPG/SM +MMS/SGD +MMU/M +MMX +Mn +mnemonic/YMSO +mnemonist/SM +Mo +moan/RDGMS +Moana/M +moanful/Y +moat/DMGS +Moat/M +Moawhango/M +mob/CSDG +mob/MR +Mobberley/M +mobbish +mobcap/SM +Moberly/M +Mobil/M +mobile/IQstq +Mobile/M +mobile/MS +mobiliary +mobilise/CnGADS +mobility/SMI +Möbius/M +mobocracy/SM +mobocrat/SMW +mobsman/M +mobsmen/M +mobster/MS +Mobutu/M +Moby/M +Moccas/M +moccasin/MS +Mocha +mocha/SM +Mochdre/M +Mochizuki/M +Mochrum/M +mock-up/SM +mock/RGSkD7 +mocker/SZ +mockery/SM +mockingbird/SM +mockumentary/SM +Mod/MS +mod/RoSGD +modafinil/M Noun: uncountable +modal/SM +modalism/SM +modalist/SMW +modality/SM +Modan/MS +Modbury/M +mode/FMS +model/RSMJDG +modem/MS +moderate/GS +moderate/YIPN +moderated/U +moderation/MI +moderation/S +moderatism/M Noun: usually uncountable +moderato +moderator/MS +moderatorship/SM +modern/SQYTPsq +Moderna/M +modernised +modernism/SM +modernist/WS +modernity/MS +modest/TZY +Modestas/M +modestly/I +Modesto/M +modesty/MIS +modi modi vivendi +modicum/MS +modifiability/SM +modifiable/P +modificatory +modify/nRSBGD +Modigliani/M +modillion/MS +modish/YP +modiste/MS +modular/QYq +modularity/MS +modulate/CGANDS +modulation/MCS +modulator/CAMS +module/SnM +moduli/M +modulo/M +modulus/M +modus +Modwen/M +Moe-Newborough/M +Moe/M +Moebius +Moel/M +Moelfre/M +moelleux +Moen/M +Moenui/M +Moera/M +Moeraki/M +Moerewa/M +mofette/MS +Moffat/M +Moffatt/M +Moffett/M +Moffitt/M +mog/MS +Mogadishu/M +Mogerhanger/M +moggie/MS +Moglen/M +mogul/MS +Mogul/SM +mohair/SM +Mohamed/M +Mohammadi/M +Mohammed/M +Mohammedan/MS +Mohammedanism/M Noun: uncountable +Mohan/M +Mohave/M +Mohawk/MS +Moher/M +Mohist/SM +Mohock/MS +Mohorovičić/M +Mohorovicic/M +Mohr/M +mohur/SM +Moidart/M +moider/S +moidered +moidering/S +moidore/MS +moiety/SM +moil/GSD +Moine/MS +Moira/M +moire/SM +Moissan/M +moissanite/SM +moist/PYT +Moist/SM +moisten/rdS +moisture/psQMS +Moita/M +Moivre/M +Mojave/M +Mokau/M +moke/MS +Mokena/M +moko/MS +Mokoia/M +moksha/M Noun: uncountable +molal +molar/M +molar/SK +molarity/SM +Molash/M +molasses +Mold/M +Moldavia/M +Moldavian +moldavite/SM +Moldova/M +Moldovan/SM +mole/MS +molecular/CQY +molecularity/SM +molecule/MS +molehill/MS +Molescroft/M +Molesey/M +moleskin/SM +molest/SnRGD +Molesworth/M +Molex/M +molibdenocene +Moliere/M +Molière/M +Molièresque +Molina/M +Moline/M +Molinism/M +Molinist/MS +Molios/M +moll/MYS +Molland/M +Mollaret/M +Møller/M +Mollie/M +mollify/GnDS +Mollington/M +mollusc/MS +Mollusca Taxonomic phylum +molluscan/SM +molluscoid/SMO +molluscous +Molly/M +molly/MS +mollycoddle/SGDrM +mollymawk/MS +Moloch/M +moloch/M +molochs +Molokai/M +Molotov/M +molten +Moltke/M +Moltmann/M +molto +Molton/M +Moluag/M +Molucca +moly/M +molybdenite/SM +molybdenum/M +Molyegrove/M +Molyneux/M +Mombasa/M +moment/YSM +momenta/y +momentary/PY +momentous/PY +momentum/MS +mometasone/M +momma/SM +Mommsen/M +Momus/MS +Mon/M +Mona/M +monachal +monachism/M +Monachorum/M +Monaco/M +monad/SMW +monadelphous +monadism/M Noun: uncountable +monadology/MS +Monaghan/M +monamine/SM +Monance/M +monandrous +monandry/M Noun: uncountable +Monans/M +monarch/3wWMZO +monarchism/SM +monarchistic +monarchs +monarchy/SM +Monash/M +monastery/MS +monastic/YS +monasticism/MS +Monastyrsky/M +monatomic +monaural/Y +monazite +Moncel/M +Monchelsea/M +Monck/MS +Monclova/M +Moncrieff/M +Moncton/M +Moncur/M +mondaine/S +Mondale/M +Monday/MS~ +Mondello/M +Mondeo/M +Mondrian/M +Mondrum/M +Monea/M +Monee/M +Monégasque/SM +Monegasque/SM +Monel/M +monensin/M Noun: uncountable +Monessen/M +Monet/M +monetarism/SM +monetary/3Y +monetise/CnADSG +Monewden/M +money-changer/SM +money/pMDSP +moneybag/SM +moneybox/SM +moneychanger/SM +Moneydie/M +moneyer/SM +Moneyglass/M +moneylender/MS +moneylending +moneymaker/MS +moneymaking/M +Moneymore/M +Moneyneany/M +moneyocracy/M Noun: uncountable +Moneyreagh/M +Moneyslane/M +moneywise +moneywort/MS +Monfort/M +Mongeham/M +monger/SM +mongering +Mongewell/M +mongol/SM +Mongol/WSM +Mongolia/M +Mongolian/SM +mongolism/SM +Mongoloid/MS +mongoloid/SM +Mongomery/M +mongoose/MS +Mongrain/M +mongrel/SMY +mongrelism/M +Moniaive/M +monial/MS +Mónica/M +Monica/M +monicker/MS +monied +monies +Monifieth/M +Monigaff/M +Monika/M +moniker/SM +Monikie/M +moniliform +Monimail/M +Monington/M +Monique/M +monism/MS +monistic +Moniteau/M +monition/KMS +monitor/dSMO +Monitor/M +monitorship/MS +monitory/SM +monitress/MS +Moniz/M +Monk/MS +monk/MS~ +Monkbar/M +Monken/M +monkery/SM +monkey/GMSD~ +monkeyshine/SM +monkfish/SM +monkhood/M Noun: usually uncountable +Monkhopton/M +Monkland/M +Monkleigh/M +Monknash/M +Monkokehampton/M +monkshood/SM +Monksilver/M +Monkston/M +Monkswood/M +Monkton/M +Monkwearmouth/M +Monmouth/M +Monmouthshire/M +Monnet/M +Monnier/M +Monnington/M +Mono/M +mono/SM3 +monoalphabetic/Y +monoamine/SM +monobactam/SM +monobasic +monobrow/D +monocarp/MSW +monocarpellary +monocarpous +monocarpy/M Noun: uncountable +monocephalous +monochord/SM3 +monochromatism/M Noun: uncountable +monochrome/MSW3 +monocle/DMS +monocline/OSMW +monoclonal/SM +monocoque/SM +monocot/SM +monocotyledon/MS +monocotyledonous +monocracy/SM +monocrat/SMW +monocrystal/SM +monocrystalline +monocular/SY +monoculture/SM +monocycle/SMW +monocyte/MSW +monocytoid +monocytosis/M +monodactylous +monodentate +monodentative +monodomain/SM +monodrama/SW +monody/MWS3 +monoecious +monoecy +monofactorial +monofil/SM +monofilament/SM +monogamous/YP +monogamy/MS3W +monogenean/SM +monogenesis/M Noun: uncountable +monogenetic +monogenic/Y +monogenism/M Noun: uncountable +monogenous +monogeny/3M +monoglot/SM +monoglyceride/SM +monogram/DGSM +monogrammatic +monogrammist/SM +monograph/SMDGWr3 +monography/SM +monogynist/SM +monogynous +monohaploid +monohull/SM +monohybrid/SM +monohydrate/SM +monohydric +monohydride/SM +monohydroxylated +monoicous +monoid/SM +monoideism/M Noun: uncountable +monojet/SM +monokine/SM +monolater/SM +monolatrous +monolatry/SM3 +monolayer/SM +monolingual/SMY +monolingualism/SM +monoliteral +monolith/S1MW +monologic/OY +monologise/SGD +monologist/SM +monologue/MDGS +monologuist/SM +monomachist/SM +monomachy/SM +monomania/MS +monomaniac/SMO +monomark/SM +monomer/MSW +monometallism/SM +monomethyl/M Noun: uncountable +monomial/MS +monomolecular +monomorphic +monomorphism/SM +monomorphous +Monongahela/M +Monongalia/M +mononitrate/SM +mononuclear +mononucleoses +mononucleosis/M +mononucleotide/SM +mononym/SM +mononymously +monophonic +monophosphate/MS +Monophoto +monophthong/SMO +monophyletic +monophyly/M Noun: uncountable +Monophysite/SM +Monophysitism/M Noun: uncountable +monoplacophoran/SM +monoplane/SM +monopodia/OoM +monopodium/SM +monopole/QZs3S +monopolisation +monopoliser/SM +monopolism/SM +monopolist/W1 +monopolitical +monopoly/SM +monoprint/SM +monopsony/SM +monopsychism/M Noun: uncountable +monorail/SM +monorchid/SM +monorchidism/M Noun: uncountable +monorchism/M Noun: uncountable +monorhyme/MS +monosaccharide/SM +monosodium/M Noun: uncountable +monosome/SM +monosomy/SMW +monospace/SGD +monospermal +monospermous +monostable +monostichous +monostratal +monostrophic +monosyllable/WSM +monosystemic +monoterpene/SM +monotheism/MS +monotheist/WSM +monotheistical/Y +Monothelite/MS +monotherapy/SM +monotone/WMS1Z +monotonicity/SM +monotonous/PY +monotony/SM +monotransitive +monotreme/SM +Monotype/MS +monotype/SMW +monounsaturate/D +monovalent +monoxide/MS +monozygotic +Monquhitter/M +Monroe/M +Monroeism/M +Monroeville/M +Monrovia/M +Mons Olympus Mons (Mars) +Monsanto/M +Monseigneur/SM +Monserrat/M +Monsieur/M +Monsignor/M +Monsignori/M +monsignorial +monsoon/SMO +monster/MSd +monstera/SM +monstrance/SM +monstrosity/MS +monstrous/YP +Mont +Mont-Joli/M +Mont-Laurier/M +Mont-Saint-Hilaire/M +Mont-Tremblant/M +Montacute/M +montage/SMDG +Montagnier/M +Montagu/M +Montague/M +Montaigne/M +Montana/M +montane/SMW +Montanism/M Noun: uncountable +Montanist/SM +montanite/M +montaria +montbretia/SM +Montcalm/M +Montclair/M +Monte/ZM +Montebello/M +Monteiro/M +Monteith/M +Montejunto/M +montelukast/M Noun: uncountable +Montenegrin/MS +Montenegro/M +Montérégie/M +Monterey/M +Monterrey/M +Montes/M +Montessori/M +Monteverdi/M +Montevideo/M +Montez/M +Montezuma/M +Montford/M +Montfort/M +Montgomerie/M +Montgomery/M +Montgomeryshire/M +month/MSY +Monthan/M +monthly/SM +Monticello/M +monticule/SM +Montilla/M +Montis/M +Montmagny/M +Montmartre/M +montmorillonite/SM +Montour/M +Montoya/M +Montpelier/M +Montpellier/M +Montrachet/M +Montréal-Est/M +Montréal/M +Montreal/M +Montrealer/SM +Montresor/M +Montrose/M +Montserrat/M +Montville/M +monument/OoMS +monumentalise/DGS +monumentality/SM +monumentary +Monxton/M +Monyash/M +Monymusk/M +Monza/M +Monzievaird/M +moo/SGD +mooch/RGDS +mood/2MZSz +Moodiesburn/M +Moodle/M +Moody/M +moody/TP +Moog/M +moola/M Noun: uncountable +Moolman/M +moomba +moon/DSpMG +Moon/M +moonbeam/MS +mooncalf/M +mooncalves +Mooney/M +moonlet/SM +moonlight/MGRSD +moonlighting/M +moonlit +moonquake/SM +moonrise/MS +moonscape/MS +moonset/MS +moonshine/MS +moonshiner/SM +moonshot/MS +Moonspell/M +moonstone/MS +moonstruck +moonwalk/DGS +moony/Y +Moonzie/M +moor/DSMGJ +Moor/M +moorage/M +Moorby/M +Moorcock/M +moorcock/SM +Moorcourt/M +Moore/M +Moorefield/M +Moorestown/M +Mooresville/M +Moorfields +moorfowl/M +Moorgate/M +Moorhead/M +moorhen/SM +Moorhouse/M +mooring/M +Moorish/M +Moorland/M +moorland/SM +Moorlinch/M +Moorman/M +Moorpark/M +Moors/M +Moorside/M +Moorthorpe/M +Moortown/M +moory +moose/M +Moose/M +moot/GSDr +mop/kdSGrMD~ +mope/SMZ +moped/MS +mopey +mophead/SM +mopishness/M Noun: uncountable +mopoke/MS +moppet/SM +moppy +mopy/PYT +moquette/SM +Mòr/M +Mora/M +Morabito/M +Morad/M +Moradian/M +Moraes/M +Moraga/M +morainal Adjective +Moraine/M +moraine/SMW +Morais/M +moral/Qs3SM +morale/MS3 +moralisation/MS +moralise/CGSDR +moralism/M Noun: usually uncountable +moralist/W1 +morality/SMI +morally/I +Moran/M +Morano/M +Morant/M +morass/MS +moratoria/M +moratorium/SM +Moratuwa/M +Moravia/M +Moravian/SM +Moray/M +moray/SM +Morayshire/M +morbid/YP +Morbidelli/M +morbidezza/M Noun: uncountable +morbidity/MS +morbific +morbilli/M +morbillous +Morbone/M +Morborne/M +morbus/M +morceau/M +morceaux/M +Morchard/M +Morcott/M +mordacious +mordacity/M Noun: uncountable +mordancy/SM +mordant/GDYS +Mordecai/M +Morden/M +mordent/MS +Mordiford/M +Mordington/M +Mordred/M +More/M +more/So~ +Moreau/M +Morebath/M +Morebattle/M +Morecambe/M +Moredun/M +Moreen/M +moreen/SM +Morehead/M +Morehouse/M +Moreira/M +morel/MS +Moreland/M +Moreleigh/M +Morell/M +morello/MS +Moreno/M +moreover +morepork/MS +Moresby/M +Moresco/MS +Morescoes +Moresque +Morestead/M +Moretaine/M +Moreteyne/M +Moreton-in-Marsh/M +Moreton/M +Moretonhampstead/M +Moretz/M +Morfil/M +Morgan/M +morganatic/OY +Morganstown/M +Morganton/M +Morgantown/M +Morgellons/M Noun: uncountable +Morgen/M +morgen/MS +Morgenstern/M +morgue/MS +Morham/M +Moriarty/M +moribund/Y +moribundity/M Noun: usually uncountable +morid/SM +Morieux/M +Morin/M +Morio/M +morion/MS +Morisco/MS +Moriscoes +Morison/M +Morisset-Cooranbong/M +Morissette/M +Morita/SM +Moritz/M +Morland/M +Morledge/M +Morlet/M +Morley/M +Mormon/SM +Mormonism/SM +morn/GMSJ +mornay Adjective +morningness/M Noun: uncountable +Morningside/M +Morningthorpe/M +Mornington/M +Moro/M +Moroccan/SM +Morocco/M +moron/WM1S +Moroni/M +morose/YP +Morpeth/M +morph/SDJG +morpheme/SM +morphemic/SY +Morpheus/M +morphia/SM +morphine/SM +morphinism/M Noun: uncountable +morphism/MS +morphogenesis +morphogenetic +morphogeny/MW +morpholexical +morpholine/SM +morphology/3WMwS1 +morphometrics +morphometry/1WMSw +morphophonemic/S +MorphOS/M +morphospecies +morphosyntactic/OY +morphosyntax/SM +morphotactic/Y +morphotactics/M Noun: uncountable +morphotectonic +morphotectonics/M Noun: uncountable +morphotic +Morrell/M +morrhuate/SM +Morrinsville/M +Morris/M +morris/SM +Morrison/MS +Morrissey/M +Morriston/M +Morristown/M +Morrisville/M +Morro/M +Morrow/M +morrow/MS +Morse/DGMS +morse/SM +morsel/SM +Morston/M +Mort/M +mortadella/SM +mortal/IYS +mortalise/SGD +mortalism/M Noun: uncountable +mortalist/SM +mortality/IMS +mortalness/M Noun: uncountable +mortar/dMSp +mortarboard/SM +mortary +Mortehoe/M +mortem/SM +Morten/M +mortgage/DSMG +mortgagee/SM7 +mortgagor/MS +mortice/DGMS +mortify/GhnSDr +Mortimer/M +mortis +mortise/DGSM +Mortlach/M +Mortlake/M +mortmain/M +Morton-on-Swale/M +Morton/M +mortuary/SM +morula/M +morulae/M +Morvah/M +Morval/M +Morvern/M +Morville/M +Morwenstow/M +morwong/MS +mos/GZD +mosaic/SMY +mosaicist/MS +mosaicked +mosaicking +mosasaur/SM +mosasaurian +mosasaurus/MS +Mosborough/M +Mosby/M +moschatel +Moscianese +moscovium +Moscow/M +Moseley/M +Moselle/M +Moser/M +Moses/M +mosey/DGS +Mosgiel/M +Moshe/M +Moskowitz/M +Moslem/M +Mosley/M +Mosotho/M +mosque/MS +Mosquensis +mosquito/M +mosquitoes +moss-grown +Moss/M +moss/MS +Mossad/M +Mössbauer +Mossberg/M +Mossblown/M +Mossburn/M +Mosser/M +Mosshart/M +Mossley/M +Mossneuk/M +Mosspark/M +Mosstodloch/M +mosstrooper/MS +mossy/T +most/Y +Mosteiro/M +Mosteller/M +Mosterton/M +Moston/M +Mostyn/M +MOT/M +Mota/M +Motatau/M +Motcombe/M +mote/SMV +Motegi/M +motel/MS +motes/C +motet/SM +moth-eaten +moth/RSM +mothball/DMGS +mother-and-baby +mother-bomb +mother-child +mother-in-babe +mother-in-law/M +mother-of-pearl/SM +mother/dpYr +motherboard/MS +mothercraft/M Noun: uncountable +motherfucker/SM! +motherhood/MS +mothering/SMY +motherland/MS +motherlike +motherly/P +mothers-in-law/M +Motherwell/M +mothery Adjective +Mothman/M +Mothmen/M +Mothvey/M +mothy +motif/SM +motile/SM +motility/SM +motion's/FC +motion/rGpDMSO +motionless/YP +motions/CF +Motiti/M +motivate/SGD +motivated/CU +motivator/SM +motive/DnSxMVpG +motivity/MS +motley +motlier +motliest +moto/SM +motocross/MS +MotoGP/M +motor/QSdqm3MO +motorable +motorbike/DSMGR +motorbiker/SM +motorboard/SM +motorboat/MS +motorcade/MGSD +motorcar/SM +motorcycle/3SGDM +motorhome/SM +motoring/M Noun: usually uncountable +motorised/U +motormouth/D +Motorola/M +motorphobia +motorsailer/SM +motorway/MS +motory +Motown/M +Motrin/M +mots +Mott/M +Mottisfont/M +Mottistone/M +mottle/SGDir +motto/MSDp +mottoes +Mottram/M +Motueka/M +Moturoa/M +mouchard/SM +mouchette/SM +moue/DMGS +moujik/SM +mould/SGRJZM2D +mouldable +mouldboard/MS +moulder/d +moulding/M +Mouldsworth/M +mouldy/T +Moule/M +Moulin/MS +Moulmein/M +Moulsford/M +Moulsoe/M +moult/RSGD +Moulton/M +Moultrie/M +mound/MDGS +Mound/MS +mount/DM +mount/EDCAGS +Mount/M +mountable/U +Mountain/M +mountain/SM +mountaineer/JMGSD +mountaineering/M +mountainous/PY +mountainside/MS +mountaintop/MS +Mountbatten/M +mountebank/SM +mountebankery/M +mounter/SM +Mountfield/M +Mountfitchet/M +Mounthaw/M +Mounthill/M +Mountie/M +mounties +mounting/MS +Mountjoy/M +Mountlake/M +Mountmellick/M +Mountnessing/M +Mountnorris/M +Mounton/M +Mountsorrel/M +Moura/M +mourn/6jJDRGS +Mourne/M +mournful/TP +mourning/M +mousaka/SM +mouse-like +mouse/DRGMSZ +mousemat/SM +mouseover/SM +mousepad/SM +mousetrap/DMSG +mouseweb/M +mousey +mousing/M +mousmé/SM +mousquetaire/SM +moussaka/SM +mousse/SM +Moussorgsky/M +moustache/MDS +moustachio/DSM +Mousterian +Mouswald/M +mousy/PT +Moutere/M +mouth-to-mouth +mouth/rp7M6ZDGS2 +mouthbrooder/SM +mouthfeel/SM +mouthful/SM +mouthorgan/SM +mouthpart/SM +mouthpiece/SM +mouthwash/MS +mouthwatering +mouthy/PT +Moutinho/M +Moutohora/M +mouton/SM +MOV/SM Initialism of metal-oxide varistor +movability/I +movable/SIPY +move/ARSDG +move/kp +moveability/SM +moveable/PSY +movement/SM +movie/SM +mow/RSDG +Mowbray/M +Mowddwy/M +Mower/M +Mowgli/M +mowing/M +mown +Mowsley/M +Mox/M +moxibustion/SM +Moy/M +Moyer/M +Moyes/M +Moygashel/M +Moyle/MS +Moyne/M +Moyra/M +Moyross/M +Mozambican/SM +Mozambique/M +Mozarab/SMW +Mozart/M +Mozer/M +Mozes/M +Mozilla/M +Mozillian/SM +mozzarella/MS +mp +MP/SM +MP3/S +MPa +MPEG/M +mpg +mph +MPhil Master of Philosophy +MPLA/M From Portuguese Movimento Popular de Libertação de Angola +MPV +Mr/MS +MRI +mRNA/SM +ms +Ms +MS-DOS/M +mSATA/M +MSC Manpower Services Commission +MSc Master of Science +MSDN/M +MSI/M +MSM/M +MSN +MSP/SM +MST +Mt +mtDNA +MTS +MTV/M Music Television +mu +mu-mesic +Muammar/M +Muasdale/M +Mubarak/M +mucate/SM +much-needed +Much/M +much/PY +Muchelney/M +mucilage/SM +mucilaginous/Y +mucin/SM +mucinous +muck/DGMZSr +Muckairn/M +Muckhart/M +muckiness/M Noun: uncountable +Mucking/M +Muckle/M +muckle/MS +Mucklestone/M +muckrake/DRSMG +Muckton/M +muckworm/MS +mucky/T +mucocele/SM +mucocoele/M +mucocutaneous/Y +mucogingival +mucoid/OZ +mucopolysaccharide/SM +mucosa/MO +mucosae/M +mucositis +mucosity/SM +mucous +mucro/SM +mucronate +mucrones Plural of mucro +mucus/MSW +mud/SM2Zz +mudball/SM +mudbank/SM +mudbath/SM +mudboat/SM +muddle/kRSGD2h +muddledom/M +muddlehead/MDi +muddlement +muddlesome Adjective +muddy/DSTG~ +Mudejar/M +Mudejares +mudfish/SM +mudflap/SM +mudflat/SM +mudflow/SM +Mudford/M +Mudgee/M +mudguard/MS +mudlark/SM +mudpack/SM +mudslide/SM +mudsling/RGJ +mudslinging/M +mudstone/SM +Mueller/M +Muenster/M +muesli/MS +muezzin/MS +muff/SMGD~ +muffetee/MS +muffin/MS +muffineer/MS +muffle/DGRS +MUFON/M Mutual UFO Network +mufti/SM +mug/2JMRGZSD +Mugabe/M +mugful/MS +Muggington/M +muggle/SM +Muggleswick/M +Muggletonian/MS +muggy/T +Mughal/MS +mugshot/SM +mugwort/SM +Muhammad/M +Muhammadan/SM +Muhammadanism/M +Muhammed/M +Muhlenberg/M +Muir/M +Muiravonside/M +Muire/M +Muirhead/M +Muirhouse/M +Muirkirk/M +mujahedin/M +mujahid/M +mujahideen/M +mujahidin/M +Mukden/M +Muker/M +Mukherjee/M +Mukilteo/M +mukluk/SM +mulatto/MS +mulattoes +Mulbarton/M +mulberry/SM +Mulcahy/M +mulch/DGMS +mulct/SDG +Mulder/M +Muldoon/M +mule/MGDS +muleskinner/SM +muleteer/SM +Mulford/M +mulga/MS +Mulgan/M +Mulgrave/M +Mulgrew/M +Mulholland/M +Mulhouse/M +muliebrity/SM +mulish/PY +Mull/M +mull/SDGM +Mullaghbawn/M +Mullaghboy/M +Mullaghbrack/M +Mullaghglass/M +mullah/MS +Mullally/M +mullein/MS +Mullen/M +Muller/M +Müller/M +muller/MS +Müllerian +mullet/SM +Mulligan/SM +mulligatawny/SM +Mullingar/M +Mullins/M +mullion/GMSD +Mullion/M +mullite/MS +mullock/M +mulloway/SM +Mulroney/M +Multan/M +multangular +multeity/M Noun: usually uncountable +multi +multi-access +multi-agency +multi-coupler +multi-ethnic +multi-modal +multi-national +multi-purpose +multi-stage +multi-storey +multi-timbral +multi-track +multi-user +multi-way +multi-word +multiagent/SM +multiaxial +multibacillary +multibillion +Multibus/M +multibuy/SM +multicast +multicell/D +multicellular +multicellularity +multicentre/WO +multichannel/M +multiciliate/D +multicollinearity/M +multicollision/O +multicolour/SMD +multicolumn +multicomponent +multicomputer/MS +multicore +Multics/M +multicultural/3Y +multiculturalism/SM +multicycle/W +multicystic +multidentate +multidenticulate +multidialectal +multidialectalism/M Noun: uncountable +multidigitate +multidimensional/Y +multidimensionality +multidirectional +multidisciplinary +multidisciplined +multidrug +multielectron +multienzyme +multiethnic +multiexposure +multifaceted +multifactorial +multifaith +multifamily +multifarious/PY +multifid +multifigure +multifoil/SM +multifold +multiform +multiformity/MS +multifractal/Y +multifunction/OoD +multifunctionality/SM +multigrain +multigrid +multigym +multiheaded +multihull/SM +multijointed +multilamellar +multilanguage +multilateral/Y3 +multilateralism/SM +multilayer +multilayered/P +multilayering +multilevel/D +multiline +multilineal +multilineality/M Noun: uncountable +multilinear +multilingual/SMY +multilingualism/M Noun: usually uncountable +multilinguist/SM +multiliteral +multilobar Adjective +multilobed Adjective +multilocation/O +multilocular +multilocularity/M Noun: uncountable +multiloculate +multilocus +multimachine Adjective +multiman/D +multimedia/O +multimegabit +multimegaton/M +multimeric +multimeter/MS +multimillion +multimillionaire/MS +multimineral +multimodal/Y +multimodality +multimode +multimolecular +multimorph +multimovement +multinational/SY +multinationalism/M Noun: usually uncountable +multinodal +multinodular +multinomial/M +multinucleate/D +multiovular +multiovulate +multipack/SM +multipacket +multipactor/SM +multipanel +multiparity/M Noun: uncountable +multiparous +multipart/Z +multipartite +multipath +multiperforate/D +multiperiod/W +multipersonal +multiphase/D +multiphonic/S +multiplanar +multiplatform +multiplatinum +multiplay +multiplayer +multiple-choice +multiple/SMY +multiplet/SM +multiplex/CGDRS +multiplex/M +multiplexity/SM +multiplexor/SM +multiplicability/M Noun: uncountable +multiplicable +multiplicand/MS +multiplicate/SGDMn +multiplicational +multiplicative/SM +multiplicity/MS +multiply/RvSVD7nG +multipoint/SM +multipolar +multipolarity/SM +multipole +multipotent +multiprobe/SM +multiproblem/W +multiprocess/G +multiprocessor/SM +multiprogram/JDG +multiprogrammability/M Noun: uncountable +multiprogramme +multiprogramming/M Noun: uncountable +multiracial +multirange +multiscience +multiscreen +multisection/O +multisecular +multisegmental +multisegmented +multiselect/SGD +multiselection +multisensory/O +multisensual +multiserial/Y +multiserver +multiservice +multisession +multisite +multiskilled +multispecialist/SM +multispecies +multispectral +multispeed +multispiral +multistability/SM +multistable +multistage +multistandard +multistart +multistate +multistep +multisyllabic +multisystem +multitalented +multitask/SGDR +multiterminal Adjective +multithread/DG +multitouch +multitrack/SGDMr +multituberculate/SM +multitude/MS +multitudinous/PY +multivalent +multivalued +multivalve +multivariable +multivariate +multiverse/SM +multiversity/SM +multivitamin/SM +multivocal +multivolume/D +multiway +multiwindow/D +multiwire +multiword +multiyear +Multnomah/M +multure/M +Mulvenna/M +Mulwith/M +mum/RDZSMG +Mumbai/M +mumble/RSDGJ +mumblement/SM +mumbo +mumbo-jumbo +Mumby/M +mumchance/SM +mumesic +Mumford/M +mummery/SM +mummify/SDGn +mummy/MS +mumpish +mumps/M +Muncaster/M +munch/DMRGS +Munchausen/M +Münchhausen/M +munchie/SM +Muncie/M +Munda/M +mundane/YP +Mundelein/M +Munden/M +Mundesley/M +Mundeville/M +Mundford/M +Mundham/M +Mundi +Mundilfari/M +Mundon/M +Mundy/M +mung +munge/RGSJD +Mungo/M +mungo/M +Mungrisdale/M +munguba/M +Munhall/M +Munich/M +municipal/SY +municipalism/SM +municipalist/MS +municipality/SM +Munier/M +munificence/MS +munificent/Y +muniment/SM +munition/DSGr +Munn/M +munnion/MS +Munoz/M +Muñoz/M +Munro/M +Munroe/M +munshi/MS +Munsley/M +Munslow/M +Munson/M +Munster/M +Munsterman/M +Munstermen/M +muntjac/MS +Muntz/M +Müntzer/M +muon/SMpW +muonium/SM +muppet/SM +Muppet/SM +Mura/M +murage/M +mural/3MS +Murali/M +Muratorian Adjective +Murayfield/M +Murchison/M +Murcia/M +Murcott/M +murder/rdSM +murderess/SM +murderous/YP +Murdo/M +Murdoch/M +Murdochville/M +Murdock/M +Mure/M +murein/SM +Murfreesboro/M +Murial/M +muriate/W +muricacean/SM +muricid/O +Muriel/M +Murielle/M +Murillo/M +murine +Muriwai/M +murk/TZzSM2 +murky/T +Murmansk/M +murmur/dMSr +murmuring/SY +murmurous/Y +murophobia/M +Murphy/M +murphy/MS +Murphys/M +Murphysboro/M +murrain/SM +Murray/M +Murrayfield/M +Murrays/M +murrelet/SM +murrhine/SM +Murrieta/M +Murroes/M +Murrow/M +Murrumbidgee/M +Murry/M +Murrysville/M +Mursley/M +Murston/M +Murton/M +Murupara/M +mus/dSw1k +Musashi/M +Musbury/M +muscadine/SM +muscari/M +muscarinic +Muscat/M +muscat/SM +muscatel/SM +Muscatine/M +muscle-bound +Muscle/M +muscle/MGSDp +muscleman/M +musclemen/M +muscly/T +Muscogee/M +muscologist/MS +muscology/M +muscovado/M +Muscovite/MS +muscovite/SM +Muscovy/M +muscular/Y +muscularis +muscularity/SM +musculation +musculature/SM +musculoskeletal +musculus +muse/Jp +Muse/M +museography/MSWw +museology/M3w +muser/SM +musette/MS +museum/MS +Musgrave/M +Musgrove/M +mush/Z2SMDr +Musharraf/SM +mushroom/DGMS +mushy/T +music/MS +musical/SMPY +musicale/SM +musicality/SM +musician/MSY +musicianship/MS +musicographer/SM +musicography/M Noun: uncountable +musicology/M3wS +musique/M Noun: usually uncountable +musk/ZM2 +muskeg/MS +Muskego/M +Muskegon/M +muskellunge/SM +musket-ball +musket/SMy +musketeer/SM +musketoon/MS +musketry/SM +Muskham/M +muskie/SM +Muskingum/M +muskmelon/SM +Muskogee/M +muskrat/SM +musky/TP +Muslim/SM +muslin/MS +musophobia/M Noun: uncountable +musquash/SM +muss/SGDZ +mussel/SM +Musselburgh/M +Mussolini/M +Mussorgsky/M +Mussulman/MS +Mussulmen/M +must've +must-have +must/zZS +Mustafa/M +Mustang/M +mustang/MS +mustard/SMZ +muster/Sd +mustn't +Muston/M +musty/TP +Muswell/M +Muswellbrook/M +mutability/IMS +mutable/FI4 +mutableness/M +mutably/I +mutagen/SMW +mutagenesis +mutagenicity/SM +mutandis +mutant/MS +mutarotation/MS +mutate/FDSG +mutation/FM4 +mutational/Y +mutatis +mutator/FS +mutch/MS +mute/Fn4NDSG +mute/Y +muted/Y +muteness/S +muter/F +mutest +mutex/SM +Mutford/M +Muthesius/M +Muthill/M +Muthu/M +mutilate/GnSD +mutilator/MS +mutineer/GMS +mutinous/Y +Mutiny +mutiny/DSGM +mutism/SM +Mutsuhito/M +mutt/SM +mutter/krJSd +mutton/MS +muttonchop/SM +muttony +mutual/YS +mutualism/SM +mutualist/SW1 +mutuality/SM +mutule/MS +muumuu/SM +mux/SGDM +Muxloe/M +Muxton/M +Muzaffarabad/M +Muzak/M +muzak/MO +muzakman +muzhik/SM +Muzorewa/M +muzz/D +muzzle-loaded +muzzle-loader/SM +muzzle-loading +muzzle/DGUS +muzzle/SMr +muzzy/TYP +mW +MW +MWh +my +myalgia/W +myalism/M Noun: uncountable +myall/MS +Myanmar/M +myasthenia/W +mycelia/OM +mycelium/M +Mycenae/M +Mycenaean/SM +mycobacteria/OM +mycobacterium/M +mycologic/OY +mycology/3SM +mycoplasma/SMO +mycoplasmata/M Plural of mycoplasma +mycoplasmic +mycoplasmologist/SM +mycoplasmology/M Noun: uncountable +mycoplasmosis +mycoprotein/SM +mycorrhiza/O +mycorrhizae/M Plural of mycorrhiza +mycose/M Noun: uncountable +mycoses +mycosis +mycosterol +mycota +mycotoxic +mycotoxicity/SM +mycotoxicology/M Noun: uncountable +mycotoxicosis +mycotoxin/SM +mycotrophy/MS +Myddfai/M +Myddle/M +mydriases +mydriasis/M +Mydrim/M +myelencephalic +myelencephalon/M +myelin/SM +myelinated +myelination/SM +myelitides +myelitis/M +myeloblast/SM +myelocyte/SM +myelogenous +myeloid/SM +myeloma/SM +myelomata/M Plural of myeloma +myelomonocytic Adjective +myelosuppression/M Noun: uncountable +Myers/M +Myerscough/M +Myerson/M +Myfyr/M +Myland/M +Mylar/M +Mylchreest/M +Myles/M +myliobatid/SM +mylodon/MS +mylodont/SM +mylohyoid/SM +mylohyoidei/M Plural of mylohyoideus +mylohyoideus/M +mylonite/SM +Mylor/M +Mymms/M +myna/SM +Mynachlog-ddu/M +Mynachlogddu/M +mynah/MS +Myndtown/M +mynheer/MS +Mynydd-bach/M +Mynydd/M +Mynyddislwyn/M +myocardial +myocarditis +myocardium/M +myoclonus/W +myoelectricity/M Noun: uncountable +myofascial +myofibroblast/SM +myogenic +myoglobin/SM +myologist/MS +myology/M Noun: uncountable +myomere/SM +myometria/MO +myometrium/M +myomorph/SMW +Myomorpha Taxonomic suborder +myonecrosis +myonecrotic +myoneural +myopathic +myopathy/SM +myope/MS +myopia/SM +myopic/YS +myosin/SM +myosis +myosotis/M +myotic +myotis +myotonic +Myr megayear +Myra/M +Myrdal/M +myriad/SM +Myriam/M +myriapod/SM +Myriapoda Taxonomic subphylum +myristic +myristilated +myristoleic +myristylated +myrmecochore/MS +myrmecochoric/Y +myrmecochorous +myrmecochory/M Noun: uncountable +myrmecology/3w +myrmecophile/MS +myrmecophilic/Y +myrmecophilous +myrmecophily/M Noun: uncountable +myrmecophyte/MS +myrmidon/SM +Myrna/M +myrobalan/SM +Myron/M +myrrh/MSZ +myrtaceous +Myrtle/M +myrtle/SM +myself +Mysia/M +Mysian/SM +mysid/SM +Mysore/M +Myspace/M +MySpace/SM +MySpell/M +MySQL/M +mystagogic/O +mystagogue/MS +mysterious/PY +mystery/SM +mystic/YMSO +mysticete/SM +Mysticeti/M +mysticism/SM +mysticist/SM +mystifier/SM +mystify/CSnDG +mystifying/Y +mystique/SM +myth/MW1wS +mythi/M Plural of mythus +mythicise/DGS +mythicism/SM +mythicist/MS +mythogenesis/M +mythographer/SM +mythography/SM +mythoi/M Plural of mythos +mythologer/MS +mythologise/CSGDn +mythology/w13MQSW +mythomania/SM +mythomaniac/SMO +mythos +mythus/M +Mytilene/M +Myton-on-Swale/M +Myton/M +myxedematous +myxoedema/SM +myxoedematous +myxofibroma/SM +myxoflagellate/SM +myxoid Adjective +myxoma/SM +myxomata/M +myxomatosis +myxomatous +N'Djamena/M +n-ary +n-gram/SM +n-tuple/SM +n-type/SM +n.d. +n/nxVvu +na +Na/M +NAACP +Naamah/M +Naas/M +nab/GSDR +Naber/M +Nabet/M +Nabisco/M +Nablus/M +nabob/MS +Nabokov/M +Naburn/M +nacarat/SM +nacelle/MS +nacho/SM +Nackington/M +NaCl/M +Nacogdoches/M +nacre/MS +nacreous +nacrous +Nacton/M +Nada/M +Nadab/M +Nadal/M +Nadella/M +Nadelmann/M +Nader/SM +Nadia/M +Nadine/M +nadir/MS +nadolol/M Noun: uncountable +Nadramia/M +Nadu/M +Naenae/M +naevi/M +naevus/M +nafamostat/M Noun: uncountable +naff/SGDYT +Nafferton/M +naffness/M Noun: uncountable +Nafford/M +Nafion/M +NAFTA/M +nag/RDSGM +Naga/MS +Nagae/M +Nagaland/M +Nagano/M +Nagar/M +Nagasaki/M +nagging/Y +Naglowska/M +Nagoya/M +Nagpur/M +Nagpuri/M +Naguib/M +Nagy/M +nagyagite/SM +nah +Naha/M +Nahabedian/M +Nahmanides/M +Nahuatl/MS +Nahuatlan/M +Nahum/M +naiad/SM +naif/SM +nail-biting +nail/rSGMDp +nailbrush/SM +nailery/SM +Nailsea/M +Nailstone/M +Nailsworth/M +Nainital/M +nainsook/MS +naira/M +Nairn/M +Nairnshire/M +Nairobi/M +Naismith/M +naissance +naissant +naïve/YP +naive/YTP +naïveté/SM +naiveté/SM +naivete/ZM +naïvety/M Noun: uncountable +naivety/SM +Nakagawa/M +Nakagusuku/M +Nakamoto/M +Nakamura/M +Nakano/M +Nakayama/M +naked/PY +naker/MS +Naku'alofa/M +Nalgo/M +naloxone/SM +naltrexone/M Noun: uncountable +Namadeva/M +Namaka/M +namaskar/SM +namaste +namaz +namby +namby-pamby +NAmE Abbreviation of North American English +name-calling +name-drop/DGSR +name/aDASG +name/DMYr +nameable +nameless/YP +Namenda/M +Nameoki/M +nameplate/SM +namesake/SM +namespace/SGDM +Namib/M +Namibia/M +Namibian/SM +Namier/M +Nampa/M +Namur/M +Nan +nan/MZ +NaN/SM +Nana/M +Nanaimo/M +Nanak/M +Nance/M +nance/SM +Nanchang/M +Nancy/M +nancy/SM +NAND/SM +Nandi/M +nandina/SM +Nanette/M +Nanga +Nangle/M +nanite/SM +Nanjing/M +nankeen/MS +Nanking/M +Nanna/M +Nannerch/M +Nannette/M +Nanning/M +nannite/SM +nanny/MDSG +nannygai/SM +nano +nanobacteria/M +nanobacterium/M +nanobiotechnology/SM +nanobot/SM +nanocomposite/SM +nanocomputer/SM +nanocrystal/SM +nanodiamond/SM +nanoengineer/SMG +nanofibre/SM +nanoflare/SM +nanogram/SM +nanomaterial/SM +nanomedicine/SM +nanometre/SM +nanomolar +nanoparticle/SM +nanopascal +nanorobot/SM +nanorod/SM +nanoscale/SM +nanoscience/SM +nanoscopic +nanosecond/SM +nanostructure/SDM +nanotech/M Noun: uncountable +nanotechnology/SM3w +nanotesla/SM +nanotube/SM +nanowire/SM +Nansen/M +Nanshan/M +Nant-ddu/M +Nant/M +Nantahala/M +Nantais/M +Nantcwnlle/M +Nantes/M +Nantgarw/M +Nantglyn/M +Nanticoke/M +Nantmel/M +Nantucket/M +Nantucketer/SM +Nantwich/M +Nantyglo/M +Naoki/M +Naoko/M +Naomi/M +nap/pRSZGMD +Napa/M +napalm/SMDG +nape/MS +Naperville/M +naphtha/SM +naphthalene/SM +naphthalic +naphthene/SMW +Napier/M +Napierian +napkin/MS +Naples/M +napoleon/SM +Napoleon/WSM13 +Napoleonism/M Noun: uncountable +nappa/M +Nappaha/M +nappier +nappiest +nappiness/M Noun: uncountable +nappy/MS +naproxen/M Noun: uncountable +Napster/M +Napton/M +Nar +Nara/M +Narasimha/M +Narasimhi/M +Narayan/M +Narayanan/M +Narberth/M +Narbonne/M +Narborough/M +narceine/SM +narcissi/M +narcissism/MS +narcissist/SWM +Narcissus Taxonomic genus +narcissus/MS +narcolepsy/SM +narcoleptic/SM +narcoses +narcosis/M +narcotic/MSY +narcotise/DSG +narcotism/SM +nard/SM +nardoo/SM +Naresh/M +Narford/M +narghile/SM +naringin/M Noun: uncountable +nark/SMZD +narky/T +Narnaviridae Taxonomic family +Narnia/M +Narotam/M +Narragansett/M +Narramore/M +narrate/GDnSVv +narrational +narrative/SM +narrativity/M Noun: uncountable +narratology/3wSM +narrator/MS +narrow-minded/P +narrow/YTSPGD~ +narrowband Adjective +narrowcast/DGR +narthex/MS +narwhal/SM +nary +NAS +NASA/M +nasal/YqQS +nasality/SM +Nasar/M +Nascan +NASCAR/M +nascence's/A +nascences/A +nascency/M +nascent/A +Nascimento/M +Nasdaq/M +NASDAQ/M +naseberry/SM +Naseby/M +Nash/M +Nashe/M +Nashua/M +Nashville-Davidson/M +Nashville/M +nasion/SM +Nasir/M +nasogastric +nasolabial +Nasonex/M +nasopharyngeal +nasopharynx +Nasrin/M +Nassau/M +Nasser/M +Nassim/M +Nassington/M +nasturtium/MS +nasty/STYPW +NAT +Nat/M +NATA +natal/K +Natalia/M +Natalie/M +natalist/SM +natality/SM +natant/Y +Natasha/M +natation/M Noun: uncountable +natatory/O +natch +Natchez/M +Natchitoches/M +Nateby/M +Nately/M +Nathalie/M +Nathan/M +Nathaniel/M +Nathanson/M +Nathel/M +natheless +nathless +Natick/M +nation/M +national/SQsq3 +National/M +nationalise/CnGSD +nationaliser/CMS +nationalism/SM +nationalist/1W +nationality/MS +nationally/4 +nationhood/SM +nationwide +native/PSM +nativism/SM +nativist/SMW +Nativity +nativity/SM +natl +Natland/M +Nato/M +NATO/M Acronym of North Atlantic Treaty Organization +Natrona/M +natter/dS +Natterer/M +natterjack/SM +natty/PYT +naturae/M +natural/qS3Q +naturalibus +naturalism/SM +naturalist/W1 +naturally/U +naturalness/SM +nature/ohMDS +naturel +naturism/SM +naturist/SM +naturopath/SMW1Z +NatWest/M +Naugatuck/M +naught/zM +naughty/PTS +Naunton/M +nauplii/M +nauplius/M +Nauru/M +nausea/MS +nauseam +nauseant/SM +nauseate/GDSk +nauseous/PY +nautch +nautical/Y +nautili/M +nautilus/MS +Navaho/MS +navaid/SM +Navajo/SM +naval/Y +Navar/M +navarin/SM +Navarino/M +Navarre/M +Navarrese/M +Navarro/M +nave/ZMS +navel-gazing +navel/SM +navelwort/SM +Navenby/M +Navestock/M +navicular +Navier/M +navigability/SM +navigable/P +navigate/BxDGSn +navigator/MS +navvy/MS +navy/MS +nawab/SM +Nawton/M +Naxalite/SM +nay/SM +nayika/SM +Nayland-with-Wissington/M +Nayland/M +Naylor/M +naysaid +naysay/GSr +Nazarene/MS +Nazarenism/M +Nazareth/M +Nazarite/MS +Nazca/M +Nazcan/SM +Nazeing/M +Nazi/SM +Nazianzus/M +Nazidom/M Noun: uncountable +Nazification/SM +Nazify/SGD +Naziism/M Noun: uncountable +Naziphil +Naziphile +nazir/SM +Nazirite/MS +Nazism/M Noun: uncountable +Nb +NBA/M +NBC +NBS +NCAA +NCC +NCO +Nd +Ndamukong/M +NDE/SM +Ndebele/SM +NDEr/SM +NDERF/M +Ndjamena/M +né +ne'er +ne'er-do-wells +Ne/M +Neal/M +Neale/M +Neanderthal/SM +neap/DGSM +Neapolitan/SM +neaptide/SM +near-sighted/PY +Near/M +near/SPGTDY~ +nearby +Nearctic +nearshore/SGD +nearside/M +Neasden/M +Neasham/M +neat/TPY +neaten/dS +neath +Neath/M +neatherd/S +Neatishead/M +Nebel/M +nebivolol/M Noun: uncountable +Nebraska/M +Nebraskan/MS +Nebreda/M +Nebuchadnezzar/M +nebula/MS +nebulae/M +nebular Adjective +nebulosity/SM +nebulous/PY +Necchi/M +necessarian/MS +necessarianism/M Noun: uncountable +necessary/SM +necessary/UY +necessitarian/MS +necessitarianism/M Noun: usually uncountable +necessitate/DnSG +necessitous +necessitousness/M Noun: uncountable +necessitude/SM +necessity/MS +Neches/M +Neck/M +neck/MJSGDpr +Neckar/M +neckband/SM +neckcloth/SM +neckdown/SM +neckerchief/MS +necking/M +necklace/DSMG +necklet/SM +neckline/SM +neckwear/SM +necrobiosis/M +necrobiotic Adjective +necrogenic Adjective +necrogenous +necrolatry/M Noun: uncountable +necrology/3SMw +necrolyses +necrolysis +necromancer/MS +necromancy/MS +necromant/SMw13 +necromantic/MSY +necromass/SM +necrophage/SM +necrophagous Adjective +necrophagy/M Noun: uncountable +necrophile/SM3 +necrophilia/SM +necrophiliac/SM +necrophilism/M Noun: uncountable +necrophilous +necrophily/WM +necrophobe/SMW +necrophobia/M Noun: uncountable +necropoleis +necropolis/MS +necropolitan +necropost/SGD +necropsy/MS +necroscopic/O +necroscopy/MS +necrose/DSW +necrosis/M +necrotise/SGDN +nectar/MS +nectarean +nectareous/Y +Nectarian +nectariferous +nectarine/SM +nectarious +Nectaris Mare Nectaris +nectarivore/SM +nectarivorous +nectarous +nectary/SM +Necton/M +nectophore/SM +Ned/M +ned/SM +Neddy/M +neddy/SM +Nederland/M +Nedging-with-Naughton/M +Nedging/M +née +nee +need/ZDSpj26Gr +needfire/MS +needfulness/SM +Needham/M +needle-stick +needle/D5GRSMp +needlecord/SM +needlecraft/SM +needledick/SM +needlefish/SM +needleful/S +needlelace/SM +needleloom/M +needlenose Adjective +needlepoint/SGDM +needless/YP +needlework/MSR +needn't +needy/PTY +Neeley/M +Neely/M +Neen/M +Neenah/M +Neenton/M +neep/SM +Neeson/M +nefarious/PY +Nefyn/M +neg/unvV +negate/GSDR +negationist/SM +negative/GDPS3 +negativism/MS +negativistic +negativity/SM +negator/MSZ +Negaunee/M +negawatt/SM +negentropy/MW +Negev/M +neglect/6jSDGr +neglectful/P +Neglia/M +négligé/SM +negligee/MS +negligée/SM +negligence/MS +negligent/Y +negligibility/SM +negligible/Y +négociant/SM +negotiability/MS +negotiable/A +negotiant/SM +negotiate/DAnSG +negotiation/MA +negotiator/MS +Negress/MS +Negrillo/MS +Negrito/MS +Negritude/M +negritude/SM +Negro/M +Negroes +Negroid/SM +Negrophobe/MS +Negrophobia/M Noun: uncountable +Negroponte/M +negus/MS +Negus/MS +Nehemiah/M +Nehru/M +Nei/M +neigh/SGDM +Neighbors/M +neighbour/DYSGMp +neighbourhood/MS +neighbourlike +neighbourly/P +neighbourship/SM +Neihu/M +Neil/M +Neill/M +Neilston/M +Neimongosaurus Taxonomic genus +Neisser/M +Neith/M +neither +nek/MS +nekrophilus +nekrophily/M +nekton/SMW +Nelder/M +Nell/M +Nelle/M +Nellie/M +Nelly/M +nelly/MS +Nelsen/M +Nélson/M +Nelson/M +nelson/SM +Nelu/M +nelumbo/MS +Nemaha/M +Nemasket/M +nematic +nematocyst/SM +Nematoda Taxonomic phylum +nematode/SM +nematoid Adjective +nematology/3wM +nematomorph/SM +Nematomorpha Taxonomic phylum +Nembutal/M +Nemean +Nemechek/M +nemertine/SM +nemeses +nemesia/SM +nemesis +Nemesis/M +Németh/M +nemine +Nempnett/M +Nena/M +nene/MS +Nennius/M +Nenthorn/M +nenuphar/SM +neo-Aristotelianism/M +neo-Catholic +neo-Catholicism/M +neo-Confucian +neo-Confucianism/M +neo-Darwinian +neo-Darwinism/M +neo-Darwinist/SM +neo-fascist/SM +neo-Georgian +neo-Gothic +neo-impressionism +neo-impressionist/SM +neo-Keynesian +neo-Latin +neo-liberal/SM +neo-liberalism +neo-Luddism +neo-Luddistic +neo-Luddite/SMw +neo-Marxism/M +neo-Marxist/SM +neo-Nazi/SM +neo-Nazism/M +neo-scholastic +neo-scholasticism +neoadjuvant +Neoarchean +neocatastrophism/M Noun: uncountable +neoclassic/MO3 +neoclassicism/MS +neocolonial/3 +neocolonialism/SM +neoconservatism/SM +neoconservative/SM +neocortex/M +neocortical +neocortices +neodymium/SM +neodymocene +Neogene +neoliberalism/SM +neolith/MSW +Neolithic/M +neologian/SM +neologise/SGD +neologism/MS +neologist/SM +neology/SMw +neomycin/SM +neon/MS +neonatal +neonate/oSM +neonatology/3M +neonicotinoid/SM +neonomian/SM +neonomianism +neontology/w3M +NeoOffice/M +neopagan/SM +neopaganism/M Noun: uncountable +neopentane/M Noun: uncountable +neophobia/WSM +neophron/MS +neophyte/SM +neoplasia/SM +neoplasm/SM +neoplastic +neoplasticism/M Noun: uncountable +Neoplatonic +Neoplatonism/M +Neoplatonist/SM +neopositivism/M Noun: uncountable +neopositivist/SM +neoprene/SM +Neoproterozoic +Neoptolemus/M +neorealism/M Noun: usually uncountable +neorealist/SM +Neosho/M +neosyllabary/SM +Neot/MS +Neotame/M +neotechnic/S +neoteny/SM +neoteric/SM +Neotropical +neotropics +neovagina/SMO +neovascular +Neozoic +Nepal/M +Nepalese +Nepali/SM +nepenthe/SM +nephelometer/MS +nephelometry/MW +nephew/SM +Nephilim/M +nephology/M Noun: uncountable +nephrectomy/MS +nephridia/OM +nephridium/M +nephrite/MWS +nephritides +nephritis/M +nephroblastoma/SM +nephroblastomata/M +nephrocolic Adjective +nephrogastric +nephrogenic +nephroid/SM +nephrolithiasis +nephrology/w3M +nephromixium/M +nephron/SM +nephropathic +nephropathy/SM +nephropexy/M Noun: uncountable +nephrosis/M +nephrotic/SM +nephrotomy/MS +nephrotoxic +nephrotoxicity/SM +nephrotoxin/SM +nepotism/SM +nepotist/SM +Neptune/M3 +Neptunian/SM +neptunium/MS +neptunocene/SM +Nercwys/M +nerd/SZM +nerdish/P +nerdy/TP +Nereid/M +nereid/SM +Nergal/M +nerine/SM +neritic +neritine/M +nerium +nerk/SM +nerka/SM +Nero/M +neroli/M +Neronian +nervation/SM +nerve-racking +nerve-wracking +nerve/M +nerve/UGSD +nerveless/YP +Nervet/M +nervine/MS +nerving/M +nervon/M Noun: uncountable +nervonic +nervosa +nervous/PY +nervure/SM +nervy/PTY +Nery/M +nescience/M +nescient/SM +Nesfield/M +Neshoba/M +ness +Ness/M +nest/DS7MGR +nestle/DSGr +nestlike +nestling/MS +Neston/M +Nestor/M +Nestorian/SM +Nestorianism/SM +Nestorius/M +Nesvorný/M +net/SMDG +netball/SM +netbook/MS +NetBSD/M +Netflix/M +netful/MS +nether +Nether/M +Netheravon/M +Netherburn/M +Netherbury/M +Netherby/M +Nethercote/M +Netherdale/M +Netherfield/M +Nethergate/M +Netherhall/M +Netherhampton/M +Netherlander/SM +Netherlandish +Netherlands/M +Netherlee/M +nethermost +Netherseal/M +Netherthong/M +Netherton/M +Netherwent/M +Netherwitton/M +netherworld/SM +Nethy/M +netiquette/SM +netizen/SM +Netley/M +netminder/SM +netminding +Netscape/M +netsman/M +netsplit/MSGD +netsuke/SM +nett/SJ7r +Netteswell/M +Nettie/M +netting/M +nettle/MSGD +Nettlebed/M +Nettlecombe/M +Nettleden/M +Nettleham/M +Nettleshead/M +Nettlestead/M +Nettlestone/M +Nettleton/M +Netto/M +network/GJDMS +Neuburg/M +Neuchâtel +Neufchâtel/M +Neulasta/M +Neumann/M +Neupogen/M +neural/Y +neuralgia/SMW +neurasthenia/MS +neurasthenic/SM +neuraxial +neuraxis +neurectomy/SM +neuritic/SM +neuritides +neuritis/M +neuroactive +neuroanatomic/OY +neuroanatomy/3 +neuroaxial +neuroaxis +neurobehavioural +neurobics +neurobiochemistry/M Noun: uncountable +neurobiology/Mw3 +neuroblastoma/M +neuroborreliosis +neurochemical +neurochemist/SM +neurochemistry/M Noun: usually uncountable +neurocomputer/SM +neurocrystalline +neurodegeneration/SM +neurodegenerative +neurodevelopmental +neuroeconomics +neuroendocrine +neuroendocrinology/M Noun: uncountable +neuroethology/SM +neurofeedback/M Noun: uncountable +neurofibril/SM +neurofibrillary +neurofilament/SM +neurogenesis/M Noun: uncountable +neurogenetic/S +neurogeneticist/SM +neurogenic +neuroglia +neurohormone/SMO +neurohypophyses +neurohypophysis/M +neuroimaging +neurointensive +neuroleptic/SM +neurolinguistic/S +neurology/W13MSw +neuroma/SM +Neuromancer/M +neuromarketing +neuromata/M +neuromatous +neuromechanical +neuromechanism/SM +neuromimesis/M Noun: uncountable +neuromimetic +neuromodulation/SM +neuromodulator/SMZ +neuromotor +neuromuscular +neuron/SMOW +neurone/SM +neuroophthalmology +neuropath/WSM +neuropathist/MS +neuropathology/SMw3 +neuropathy/SM +neuropeptide/SM +neuropharmacology/SM3Ww +neurophthalmology +neurophysiology/Mw3 +neuropil/SM +neuropilar +neuropile/SM +neuroplasm/SMW +neuroplasticity/SM +neuropodia/M +neuropodium/M +neuroprotection/M Noun: uncountable +neuroprotective/SM +neuropsychiatry/3WM +neuropsychic +neuropsychology/3wM +neuropsychopharmacology/M Noun: uncountable +Neuroptera +neuropteran/SM +neuropteroid/SM +neuropterous +neuroradiology/w13M +neuroregulator/SMZ +neuroretinitis/M +neuroscience/SW +neuroscientist/SM +neurosecretion/SM +neurosecretory +neurosensory +neuroses +neurosis/M +neurosurgeon/SM +neurosurgery/MS +neurosurgical/Y +neurosynaptic +neurotechnology/SM +neurotensin/SM +neurotherapy/SM +neurotic/SMY +neuroticism/SM +neurotomy/M +neurotoxic +neurotoxicity/SM +neurotoxicology/M Noun: uncountable +neurotoxin/SM +neurotransmission/SM +neurotransmitter/SM +neurotrophic +neurotropic +neurotypical/SM +neurovascular +neurovirulence/M Noun: uncountable +neurulation/SM +Neusner/M +neuter/dS +neuterer/S +neutral/SMYP3 +neutralise/MSGDnR +neutralism/MS +neutrality/SM +neutrinic +neutrino/MS +neutron/MS +neutronic/S +neutronium/M Noun: uncountable +neutropenia/SMW +neutrophil/SMW +Neuville/M +Neuwirth/M +Neva/M +Nevada/M +Nevadan/SM +Nevado/M +Nevay/M +Nevendon/M +never +never-changing +never-dying +never-ending +never-failing +nevermore +Nevern/M +nevertheless +Neviim/M +Nevill/M +Neville/M +Nevinson/M +Nevis/M +Nevsky/M +new-found +new-laid +new-look +New-moat/M +new-style +new/AS +New/M +new/Y~ +Newall/M +Newark/M +Newarthill/M +Newaygo/M +Newbald/M +Newball/M +Newbattle/M +Newberg/M +Newberry/M +newbie/SM +Newbiggin-by-the-Sea/M +Newbiggin/M +Newbigging/M +Newbold/M +newborn/SM +Newborough/M +Newbottle/M +Newbould/M +Newbourne/M +Newbridge/M +Newbuildings/M +Newburgh/M +Newburn/M +Newbury/M +Newburyport/M +Newby/M +Newcastle-Maitland/M +Newcastle-under-Lyme/M +Newcastle/M +Newcastleton/M +Newchapel/M +Newchurch/M +newcomer/MS +Newdigate/M +newel/SM +Newell/M +Newenden/M +Newent/M +newer +newest +newfangled +newfangledness/M +newfound +Newfoundland/SRM +Newgate/M +Newgrange/M +Newhall/M +Newham/M +Newhampton/M +Newhaven/M +Newhills/M +Newholm-cum-Dunsley/M +Newick/M +Newington/M +Newitz/M +Newland/MS +newline/SM +newly-wed/MS +Newlyn/M +Newmachar/M +Newmains/M +Newman/M +Newmarket/M +Newmill/MS +Newmilns/M +Newnan/M +newness/SM +Newnham/M +Newnton/M +Newport-On-Tay/M +Newport/M +Newquay/M +Newry/M +news-gathering +news-sheet +news-stand/MS +News/M +news/Zm5p +newsagent/SM +newsboy/SM +newscast/MSRGJ +newsdealer's +newsfeed/SM +newsflash/SM +newsgirl/SM +newsgroup/MS +Newsham/M +Newsholme/M +newshound/SM +newsletter/SM +newsmonger/SM +NewSpace +newspaper/mdS5M +newspeak/M Noun: usually uncountable +newsprint/SM +newsreader/MS +newsreel/SM +newsroom/SM +Newstead/M +Newsweek/M +Newsweekly/M +newswire/SM +newsworthy/TP +newsy/TS +newt/SM +Newthorpe/M +Newtimber/M +Newton-le-Willows/M +Newton-on-Ouse/M +Newton-with-Clifton/M +Newton/M +newton/MS +Newtonhill/M +Newtonian/SM +Newtonmore/M +Newtown/M +Newtownabbey/M +Newtownards/M +Newtownbutler/M +Newtowncloghoge/M +Newtownhamilton/M +Newtownstewart/M +Newtyle/M +Newydd/M +Nexium/M +next-door +next/M +nexus/MS +Neyland/M +Neyman/M +Neymar/M +Nez/M +NFC/SM +NFL/M +NFS/M +ng +Ngaere/M +Ngaio/M +ngaio/MS +Ngamatapouri/M +Ngapara/M +Ngaruawahia/M +Ngataki/M +Ngatea/M +Ngauranga/M +NGC/M +NGO/SM +Ngongotaha/M +Ngunguru/M +Nguyen/M +NHK/M +NHL/SM +NHS/M +Ni/M +niacin/MS +Niagara/M +Niall/M +Niamey/M +Niang/M +nib/SGMD +nibble/RGDS +Nibelung/SM +Nibelungen/M +Nibelungenlied/M +Nibiru/M +Nibley/M +niblick/MS +Nic/M +Nicaea/M +NICAP/M +Nicaragua/M +Nicaraguan/SM +Niccolò/M +Niccolo/M +Nice/M +nice/YPT~ +Nicea/M +Nicene/SM +nicety/MS +Niceville/M +niche/GMSD +Nichelle/M +Nichinan/M +Nichol/SM +Nicholai/M +Nicholas/M +Nicholaston/M +Nicholasville/M +Nichole/M +Nicholforest/M +Nicholl/MS +Nicholson/M +nichrome +nick/GDSM +nickel/DMGSW +Nickell/M +nickelocene/SM +Nickelodeon/M +nickelous +nicker/Sd +Nicki/M +Nickie/M +Nicklas/M +Nickleby/M +nicknack's +nickname/MGDSr +Nicko/M +NickServ/M +Nicky/M +Nico/M +Nicobar/M +Nicodemus/M +Nicol/M +Nicola/M +Nicolas/M +Nicolaus/M +Nicolay/M +Nicole/M +Nicolet-Yamaska/M +Nicolet/M +Nicollet/M +Nicollette/M +Nicomachus/M +Nicomedes/M +Nicosia/M +nicotian Adjective +nicotinamide/SM +nicotine/SMW +nicotinism/M Noun: uncountable +nictate/DGSn +nictitate/DGSn +nidamental +Nidd/M +Niddry/M +nidi/M Plural of nidus +nidify/DGSn +Nidovirales Taxonomic order +nidus/MS +niece/SM +Niels/M +Nielsen/M +Nielson/M +Niemeyer/M +niente +Niépce/M +Nierstein/M +Niersteiner/M +Nietzsche/M +Nietzschean/SM +Nietzscheanism/M Noun: uncountable +Nietzscheism +Nieves/M +nifedipine/M Noun: usually uncountable +niff/DGS +niffier +niffiest +niffy +niftiness/M Noun: uncountable +nifty/TSY +Nigel/M +nigella/SM +Niger/M +Nigeria/M +Nigerian/SM +Nigerianise/SGDN +nigericin/SM +nigerite/SM +Nigg/M +niggard/YMS +niggardly/P +nigger/SM! +niggle/RGkJDSZ +nigh +night-blindness +night-life/M +night-long +night-owl +night-soil +night-time/SM +night-watchman +night/MpSR +nightbird/SM +nightcap/SM +nightclothes +nightclub/RMGSD +nightdress/MS +nightfall/SM +nightgown/MS +nighthawk/MS +nightie/SM +nightingale/SM +nightjar/SM +nightlife/R +nightlight/SM +nightlike +Nightline/M +nightly/SM +nightman/M +nightmare/MS +nightmarish/Y +nightmen/M +nightshade/SM +nightshirt/MS +nightside/SM +nightspot/SM +nighttime/SM +nightwalker/SM +nightwalking/M Noun: uncountable +nightwatchman/M +nightwatchmen/M +nightwear/M Noun: usually uncountable +nighty/SM +Nighy/M +nigrescence/M +nigrescent +nigricans +nigrify/SGD +nigrite/M Noun: uncountable +nigritude/SM +nigromancer/SM +nigromancy/SM +nigrosin/SM +nigrosine/SM +nigrostriatal +nigrous +Niguel/M +NIH/M +Nihang/SM +Nihilianism +nihilism/MS +nihilist/MSW +nihility/M Noun: usually uncountable +nihonium/M Noun: uncountable +Nika/M +Nikai/M +Nike/M +Niki/M +Nikita/M +Nikki/M +Niklas/M +Nikodym/M +Nikola/M +Nikolai/M +Nikolova/M +Nikon/M +nil/MGY +Nile/SM +Niles/M +Nilometer/MS +Nilotic +nilpotent/SM +Nils/M +Nilsson/M +nimbi/M +nimble/TPY +nimbostratus/M +nimbus/M +nimbused +NIMBY/SM +nimiety/M +Nimitz/M +Nimmo/M +Nimoy/M +Nimrod/MS +Nimrud/M +Nina/M +nincompoop/SM +Nine/M +nine/SMHr +Ninebanks/M +ninepence/SM +ninepenny/SM +ninepin/SM +ninesome/SM +nineteen/HSM +ninety-eight/H +ninety-first/S +ninety-five/H +ninety-four/H +ninety-nine/H +ninety-one +ninety-onefold +ninety-second/S +ninety-seven/H +ninety-six/H +ninety-three/H +ninety-two +ninety-twofold +ninety/HMS +ninetysomething/SM +Nineveh/M +Ninevite/MS +Ninfield/M +Ningxia/M +Ninian/MS +ninja/SM +ninjutsu/M Noun: uncountable +ninny/MS +ninon/SM +Nintendo/M +ninthly +Niobe/M +Niobean +niobic +niobium/SM +niobocene/SM +Nip/MS +nip/RGDSZM +nipa/MS +Nipissing/M +Nipkow/M +nipping/Y +nipple/SM +nipplewort/SM +Nippon/M +Nipponese/M +Nipponian +nippy/PTY +Niro/M +nirvana/SM +nisei/MS +Niskayuna/M +Nissan/M +Nissen Nissen hut +nit/SM +Nita/M +nitazoxanide/M Noun: uncountable +Niterói/M +nitery/MS +nitid +nitinol/SM +Niton/M +nitpick/ZRGDJS +nitrate/SMDG +nitrazepam/M Noun: uncountable +nitre/MSnW +nitridation/SM +nitride/SGDM +nitrifaction/M +nitriferous +nitrify/SGDnr +nitrile/SM +nitrite/MS +nitro/SM +nitrobacteria/M +nitrobacterium/M +nitrobenzene/SM +nitrocellulose/SM +nitrochalk/M Noun: uncountable +nitrofurantoin/M Noun: uncountable +nitrogen/SM +nitrogenous +nitroglycerin/M Noun: usually uncountable +nitroglycerine/M Noun: usually uncountable +nitroprusside/SM +nitrosamine/SM +nitrotoluene/SM +nitrous +nitrox/M Noun: uncountable +Nitschke/M +Nitshill/M +nitty-gritty +nitwit/MS +Niue/M +Niuo/M +niveous +nivosity/M +nix/M Noun: uncountable +Nixa/M +Nixon/M +Nixonian +Nixonisation +Nixonism/M Noun: uncountable +Nixonite/SM +Nixonomics +nixtamal/M Noun: uncountable +Nizari/SM +nizatidine/M Noun: uncountable +Nkrumah/M +NLRB/M +nm +NNTP/M +no-ball/SD +no-brainer/SM +no-claims +no-go +no-nonsense +no-show/SM +no-win +no/Q +NOAA/M +Noachian +Noachic +Noah/M +Noak/M +Noam/M +nob/MY +nobble/SGDr +Nobel/M +nobelium/M +nobile/M +nobiliary +nobility/SM +Noble/M +noble/mPT5SM +Nobles/M +noblesse/M Noun: usually uncountable +Noblesville/M +nobodiness/M Noun: uncountable +nobody/SM +Nóbrega/M +Nobuyuki/M +nociceptor/SM +nocireceptive +nocireceptor/SM +nock/SGDM +noctambulant +noctambulism/M Noun: uncountable +noctambulist/SMW +noctambulous +noctivagant Adjective +Nocton/M +noctuid/SM +noctule/MS +nocturn/MS +nocturnal/SM +nocturne/SoM +nocuous/Y +nod/SZGMDoOw +Nodaviridae Taxonomic family +Nodaway/M +Noddack/M +nodder/MS +noddle/DMSG +noddy/SM +node/SM +nodosity/SM +nodular +nodule/MS +noduli/M +nodulose +nodulous +nodulus/M +nodum +NOED Abbreviation: New Oxford English Dictionary +noegenesis/M Noun: uncountable +noegenetic +Noel/SM +Noelle/M +noes +Noetherian Adjective +noetic/SMO +noëtical +Nogales/M +noggin/SM +Nogueira/M +Nohl/M +nohow +Nohria/M +noil/MS +noir/MS~ +noire/S French: bête noire / bêtes noires +noise/pSMZ +noiseless/YP +noisette/SM +noisome/P +noisy/PTY +Nok/M +Noke/M +Nokia/M +Nola/M +Nolan/M +Noland/M +Noll/M +nolle +Nolte/M +Nolton/M +nomad/WMS1 +nomadism/M +nombril/MS +Nome/M +nomen/SM +nomenclative +nomenclator/SM +nomenclature/MSO +Nomi/M +nominal/SY3 +nominalise/SGDN +nominalism/SM +nominalistic/Y +nominate/CGASnD +nomination/MCA +nominative/SMY +nominator/CMS +nominee/SM +nomogram/SM +nomographer/SM +nomography/WSM +nomological +nomophobia/M Noun: uncountable +nomothetic +non-Aboriginal +non-abrasive +non-absorbent +non-academic/S +non-acceptance/S +non-achiever/S +non-acid/S +non-active +non-adaptive +non-addictive +non-adhesive +non-adjacent +non-adjustable +non-administrative +non-admission +non-African +non-aggression/S +non-agricultural +non-alcoholic/S +non-aligned +non-alignment/S +non-allergic +non-American +non-appearance/S +non-assignable +non-athletic +non-attendance/SM +non-automotive +non-availability/SM +non-avian +non-bank +non-basic +non-believer/MS +non-belligerency +non-belligerent/S +non-biodegradable +non-biological +non-black +non-blocking +non-breakable +non-British +non-burnable +non-business +non-caloric +non-cancerous +non-capital +non-carbohydrate +non-Catholic +non-chargeable +non-chemical +non-Chinese +non-Christian +non-clerical/S +non-clinical +non-coding +non-collectable +non-com/MS +non-combatant/MS +non-combative +non-combustible/S +non-commercial/S +non-commissioned +non-committal/Y +non-communicable +non-communist +non-commutative +non-compete/G +non-competitive +non-compliance/MS +non-complying/S +non-comprehending +non-comprehension +non-conclusion +non-conducting +non-conductive +non-conductor/SM +non-conform +non-conformable +non-conformance +non-conformant +non-conformer +non-confrontational +non-consecutive +non-conservative +non-constructive +non-contagious +non-content +non-contiguous +non-continuous +non-contributing +non-contributory +non-controversial +non-convertible +non-cooperation/S +non-cooperative +non-corroding/S +non-corrosive +non-credit +non-criminal/S +non-critical +non-crystalline +non-cumulative +non-custodial +non-cyclic +non-dairy +non-decision +non-decreasing +non-deductible +non-deferential +non-delivery/S +non-democratic +non-denominational/Y +non-departmental +non-depreciating +non-destructive/Y +non-detachable +non-determinacy +non-determinate/Y +non-determinism +non-deterministic/Y +non-disciplinary +non-disclosure/S +non-discrimination/S +non-discriminatory +non-disjunction +non-dominant +non-dramatic +non-drinker/SM +non-driver +non-drying +non-durable +non-Dutch +non-economic +non-educational/Y +non-effective/S +non-elastic +non-electric/SO +non-emergency +non-empty +non-enforceable +non-English +non-equivalence +non-equivalent/S +non-essential/S +non-event/MS +non-exchangeable +non-exclusive +non-executive +non-exempt +non-existence/SM +non-existent +non-explosive/S +non-extensible +non-factive +non-factual +non-fading +non-fat/O +non-fattening +non-ferrous +non-finite +non-flammable +non-flowering +non-fluctuating +non-fluent +non-flying +non-food +non-formal +non-freezing +non-French +non-functional/Y +non-functioning +non-fundamental +non-gay +non-gendered +non-genetic/Y +non-genital +non-German/W +non-governmental +non-granular +non-greasy +non-hazardous +non-hereditary +non-hostile +non-human/S +non-identical +non-inclusion +non-inclusive +non-independent +non-industrial +non-infectious +non-inflammatory +non-inflationary +non-inflected +non-inherent +non-injurious +non-intellectual/S +non-interacting +non-interchangeable +non-interference +non-intervention/S +non-interventionist +non-intoxicating +non-intuitive +non-invasive +non-ionic +non-ionising +non-irritating +non-Italian +non-Japanese +non-judgemental +non-judicial +non-legal +non-lethal +non-linear/Y +non-linearity/SM +non-linguistic +non-literary +non-living +non-local +non-logical +non-magical +non-magnetic +non-malignant +non-medical +non-member/MS +non-metal/SWM +non-metropolitan +non-migratory +non-militant/S +non-military +non-moral +non-narcotic/S +non-native/S +non-natural +non-negative +non-negotiable +non-nuclear +non-numerical/S +non-objective +non-obligatory +non-observance/S +non-observant +non-occupational/Y +non-official +non-operational/Y +non-operative +non-Oriental +non-orthogonal +non-orthogonality +non-parallel/S +non-parametric +non-participant/SM +non-participating +non-participation +non-partisan/S +non-party +non-paying +non-payment/SM +non-peak +non-performance/SM +non-performing +non-perishable/S +non-persistent +non-person/S +non-perturbing +non-physical/Y +non-planar +non-point +non-poisonous +non-political +non-polluting +non-porous +non-possession +non-pregnant +non-prejudicial +non-prescription +non-procedural/Y +non-productive +non-professional/SY +non-profit-making +non-profit/S7 +non-programmable +non-programmer +non-proliferation/S +non-public +non-punishable +non-racial +non-radioactive +non-random +non-reactive +non-reciprocal/S +non-reciprocating +non-recognition/S +non-recoverable +non-recurring +non-redeemable +non-reducing +non-refillable +non-refundable +non-relative +non-religious +non-renewable +non-representational/Y +non-resident/SM +non-residential +non-residual +non-resistance/S +non-resistant/S +non-respondent/S +non-response +non-restrictive +non-returnable/S +non-rhythmic +non-rigid +non-Roman +non-rural +non-salaried +non-scheduled +non-scientific +non-scientist/S +non-scoring +non-seasonal +non-sectarian +non-secular +non-segregated +non-selective +non-sexist +non-sexual +non-singing +non-singular +non-skid +non-slip +non-smoker/SM +non-smoking +non-social +non-Spanish +non-speaking +non-specialist/SM +non-specific +non-spiritual/S +non-staining +non-standard +non-starter/S +non-stick +non-stop +non-strategic +non-striking +non-structural +non-successive +non-supervisory +non-support/SG +non-surgical +non-sustaining +non-Swedish +non-swimmer +non-sympathiser/M +non-tarnishable +non-taxable/S +non-technical/Y +non-tenured +non-terminal/S +non-terminating +non-termination +non-theatrical +non-theistic +non-thinking/S +non-threatening +non-toxic +non-traditional/Y +non-transferable +non-transparency +non-transparent +non-trivial +non-tropical +non-trunk +non-typical +non-U +non-uniform +non-union/S +non-urban +non-use/G +non-user/SM +non-validity +non-variable +non-venomous +non-verbal/Y +non-veteran/SM +non-viable +non-vintage +non-violence/S +non-violent/Y +non-virulent +non-vocal +non-vocational/Y +non-volatile +non-volunteer/S +non-voter/SM +non-voting +non-Western +non-white/SM +non-word/S +non-working +non-woven +non-yielding +non-zero +non/W +Nona/M +nonacosanoic +nonactivated +nonadditive +nonadecanoic +nonage/SM +nonagenarian/MS +nonagon/OSM +Nonaka/M +nonanoic +nonary +nonaspirin +nonbreeding +noncallable +nonce/SM +nonchalance/MS +nonchalant/YP +noncombatant/SM +noncommunication +noncommutative +nonconformably +nonconforming +nonconformism/M Noun: usually uncountable +Nonconformist/MS +nonconformist/SM +nonconformitant +nonconformity/SM +nonconstant/SM +noncultivated +nonda/S +nondescript/YSP +nondeterminism/SM +nondeterministic +nondevelopment +none/S +nonentity/MS +nonequilibrium/M Noun: usually uncountable +nonesuch +nonet/SM +nonetheless +nonfree +nongenary +nongovernment/O +nonhomologous +Nonie/M +noninfringement/M Noun: usually uncountable +Nonington/M +nonintrusive +nonissue +nonjuring +Nonjuror/SM +nonlinearity/M Noun: usually uncountable +nonminimum +nonmonogamous +nonpareil/MS +nonplus/GDS +nonradiative +nonrefoulement/M Noun: uncountable +nonresonant +nonrival/SM +nonsense/1SMw +nonsensical/P +nonsensicality/SM +nonsingular +nonspherical +nonsteroidal/SM +nonsuch +nonsuit/SM +nonsymmetric/O +nonsyndromic +nontarget/SM +nontheistic +nonvaccine +Nonya/M +noob/SM +noocenologic +Noocenology/M +noocenoses +noocenosis/M +noodle/SGDM +noogenesis/M +nook/SM +noology/MS +noon/JSM +Noonan/M +noonday/SM +noontide/SM +noontime/SM +Noorani/M +noose/MSDG +noosphere/MS +nootropic/SM +nopal/MS +nope +nor +Nora/M +NORAD/M +noradrenalin/SM +noradrenaline/SM +noradrenergic/Y +Norah/M +NORAID/M +Noraid/M +norbergite/M +Norbert/M +Norbertine/MS +norbornadiene/SM +norbornane/SM +Norbreck/M +Norbury/M +Norco/M +Nord-du-Québec/M +Nordelph/M +Norden/M +Nordholts/M +Nordic/SM +Nordlinger/M +Nordquist/M +Nordstrom/M +Noreen/M +norepinephrine/SM +norethindrone/M Noun: uncountable +Norfolk/M +Norgate/M +norgestimate/M Noun: uncountable +Norham/M +Norina/M +Norland/M +norland/MS +Norley/M +norm/VDGMoSvu +Norma/M +normal/QstqSM +Normal/M +normalcy/SM +normalise/CGASDN +normality/SM +Norman/MS +Normanby/M +Normandale/M +Normandin/M +Normandy/M +Normanesque +Normanism/MS +Normanton/M +normative/P +normlessness +normotensive/SM +Norn/M +Noronha/M +norovirus/SM +Norplant/M +Norpoth/M +Norreys/M +Norridge/M +Norrie/M +Norris/M +Norristown/M +Norriton/M +Norroy/M +Norse/m +Norseland/M +Norsewood/M +Norte/M +Nortel/M +north-east/M +north-easterly/SM +north-eastern +north-Eastward/S +north-eastward/S +north-north-east +north-south +north-west/M +north-Westerly +north-westerly +north-western +north-westward/S +north-Westward/S +North/M +north/MSGY +Northallerton/M +Northam/M +Northampton/M +Northamptonshire/M +Northants +Northavon/M +Northaw/M +Northborough/M +northbound +Northbourne/M +Northbridge/M +Northbrook/M +Northchapel/M +Northchurch/M +Northcliffe/M +Northcote/M +Northcott/M +Northcross/M +Northeast +northeaster/MS +northeastern/r +Northenden/M +norther's +northerliness/M +northerly/SM +Northern/M +northern/SMR +northernmost +Northesk/M +Northfield/MS +Northfleet/M +Northgate/M +Northglenn/M +Northiam/M +Northill/M +northing/M +Northington/M +Northlake/M +Northland/M +Northleach/M +Northleigh/M +Northlew/M +Northman/M +Northmaven/M +Northmavine/M +Northmen/M +Northmoor/M +northness +Northolt/M +Northop/M +Northorpe/M +Northover/M +Northport/M +Northrepps/M +Northridge/M +Northrop/M +Northumb. +Northumberland/M +Northumbria/M +Northumbrian/SM +Northumbrianism/M +Northville/M +northward/MSY +Northway/M +Northwell/M +Northwest/M +northwester/MS +northwestern +Northwich/M +Northwold/M +Northwood/M +Norton-le-Clay/M +Norton-on-Derwent/M +Norton/M +nortriptyline/M Noun: usually uncountable +Norvir/M +Norwalk/M +Norway/M +Norwegian/SM +Norwell/M +Norwich/M +Norwood/M +nose/ZDGSMpr +nosebag/MS +noseband/SM +nosebleed/MS +nosedive/DSG +nosegay/MS +Noseley/M +nosepiece/SM +nosey/SM +nosh/SDMG +noshery/SM +nosing/M +nosocomial +nosography/SM +nosology/SM1 +Noss/M +nostalgia/SM +nostalgic/SMY +Nostell/M +nostoc/MS +Nostra/M +Nostradamus/M +Nostrand/M +nostril/DSM +nostrum/SM +nosy/TYP +not/7NxdgnlS +nota/MO +notability/SM +notable/C +notable/SM +notableness/M Noun: uncountable +notarial/Y +notarise/SGDn +notary/SM +notate/xDSVG +notation/MCo +notational/C +notative/F +notch/DGSM +notchy/T +note/FDCGSn +note/pMh +notebook/MS +notecard/SM +notecase/SM +notehead/SM +noteholder/SM +notelet/SM +notepad/SM +notepaper/SM +noteworthy/P +Notgrove/M +Noth/M +nothing-buttery/M +nothing/PSM +nothosaur/SM +notice/DMSGl +noticeable/U +noticeboard/SM +notify/SRG7Dn +notion/CS +notion/Mp +notionalist/SM +notionlessness/M Noun: uncountable +Notley/M +notochord/SM +notoriety/SM +notorious/PY +notornis/S +Notovich/M +Notre-Dame-de-l'Île-Perrot/M +Notre-Dame-des-Prairies/M +Notre/M +Nottage/M +Notting/M +Nottingham/M +Nottinghamshire/M +Notton/M +Nottoway/M +notum/M +notwithstanding +Nouakchott/M +nougat/SM +nought/SM +Nouméa/M +noumena/M +noumenal/Y +noumenon/M +noun/MSO +Nounéa/M +Noura/M +nourish/RSLGDk +nourishable +nourished/fU +nourishment/f +nous/M Noun: uncountable +nouveau +nouveaux +nouvelle +Nouvelle-Beauce/M +Nov +Nova/M +nova/SM +novae/M +Novak/M +Novartis/M +novation/M +Novato/M +Novaya +novel/S3QMY~ +novelese/M +novelesque +novelette/SM3 +novelettish +novelise/SGDN +novelism/SM +novelistic +Novell/M +novella/SM +novelty/SM +November/SM +novena/MS +novercal +Novers/M +Novi/M +novice/SM +novichok/SM +noviciate/S +novitiate/MS +Novo/M +Novocain/M +novocaine/SM +Novolog/M +Novosibirsk/M +novum +now +Nowack/M +nowadays +Nowak/SM +Nowata/M +noway +nowhen +nowhere +nowise +Nowlan/M +Nowra-Bomaderry/M +nowt +Nowton/M +noxious/YP +Noxubee/M +noyade/SM +Noyce/M +Noyes/M +nozzle/SM +Np +NPD/M +NRA/M +nroff/M +ns +NS +NSA/M +NSF/M +NT +NTFS/M +nth +NTLM/SM +NTSC/M +nu/M +nuance/SMD +nub/ZMS +nubble/SMD +nubby/T +Nubia/M +Nubian/SM +nubile/SM +nubility/M Noun: usually uncountable +nucelli/M +nucellus/M +nuchal/SM +nuciferous +nucivorous +nuclear +nuclear-free +nuclear-powered +nuclease/MS +nucleate/nGDS +nuclei/M +nucleocapsid/SM +nucleocosmochronology/M Noun: uncountable +nucleogenesis/M Noun: uncountable +nucleogenetic +nucleohistone/SM +nucleolar +nucleoli/M +nucleolus/M +nucleon/SM +nucleonic/S +nucleophile/SM +nucleophilic/Y +nucleoplasm/SMW +nucleoprotein/SM +nucleoside/SM +nucleosome/SMO +nucleosynthesis/M +nucleosynthetic +nucleotide/SM +nucleus/MW +nuclide/SMW +nude/Y3SMTP +nuder/C +nudge/GSDR +nudibranch/M +Nudibranchia Taxonomic order +nudibranchiate/M +nudibranchs +nudism/SM +nudity/SM +Nueces/M +nuff +Nuffield/M +nugatoriness/M Noun: uncountable +nugatory Adjective +Nugent/M +nuggar/MS +nugget/MS +nuisance/MS +nuke/SGMD +Nuku'alofa/M +null/S7 +nullifidian/SM +nullify/DRSnG +nullipara/M +nulliparae/M +nulliparity/M Noun: uncountable +nulliparous +nulliparousness/M Noun: uncountable +nullipore/SM +nullity/MS +Numa/M +numb/RkTYDPGS +numbat/SM +number/pdJr +numbered/AeU +numbering/e +numberplate/SM +numbers/Ae +numbskull/SM +numdah/SM +numen/M +numerability/M Noun: uncountable +numerable/IC +numerable/Y +numeracy/SI +numeral/MS +numerate/IS +numeration/MS +numerator/SM +numeric/SMY +numerical/S +numerology/wSM3 +numerosity/SM +numerous/PY +numina/M +numinous/SY +numismatic/SY +numismatist/MS +numismatography/M Noun: uncountable +numismatology/3M +nummiform +nummion +nummular/Z +nummulite/SMW +nummus/M +numnah/SM +nump/SM +numpty/SM +numskull/SM +Nun/M +nun/MyS +nunatak/SM +Nunavut/M +Nunburnholme/M +nunchaku/SM +nunchuck/SMGD +nunciature/SM +nuncio/SM +nuncupation/MS +nuncupative +Nunda/M +Nuneaton/M +Nuneham/M +Nunes/M +Nunez/M +nunhood/M +Nunkeeling/M +nunlike +Nunn/M +nunnery/SM +Nunney/M +Nunnington/M +nunnish +Nuno/M +nunship/MS +Nunthorpe/M +nuptial/SM +Nuremberg/M +Nurnberg/M +Nürnberg/M +nurse/RMJSDG +nursemaid/SM +nursery/mSM +nursling/M +Nursling/M +Nursted/M +nurture/3MRDSGp +nut/2GDMZnS +nutate/GSD +nutational +nutcase/SM +nutcracker/SM +Nutfield/M +Nuthall/M +Nuthampstead/M +nuthatch/MS +Nuthill/M +nuthouse/SM +Nuthurst/M +nutjob/SM +nutlet/SM +Nutley/M +nutmeg/MSDG +nutraceutical/SM +nutria/MS +nutrient/SM +nutriment/MSO +nutrition/OoM3S +nutritionalist/SM +nutritious/PY +nutritive/SMY +nutritor +nutriture/M Noun: uncountable +nutrix +nutrose/M Noun: uncountable +nutshell/MSZ +Nuttall/M +nuttallite/M +nutter/SMZ +nuttish +nutty/TP +Nuuk/M +Nuvaring/M +Nuzzi/M +nuzzle/RSDG +NVH/M Noun: uncountable +nvidia/M +NVMe/M +NVRAM/SM +NW/M +NY/M +nyala/SM +Nyanja/SM +Nyanza/M +Nyasa/M +Nyasaland/M +NYC/M +nyctaginaceous +nyctalopia/MW +nyctitropic +Nye/M +Nyerere/M +nylon/SM +Nymet/M +nymph/SMO^ +nympha/M +nymphaea/M +nymphaeum/M +nymphalid/SM +nymphean Adjective +nymphet/SM +nymphlike +nympho/SM +nympholepsy/SM +nympholept/SMW +nymphology/M Noun: uncountable +nymphomania/SM +nymphomaniac/SMO +Nympsfield/M +Nympton/M +Nynehead/M +Nyquist/M +NYSE/M +Nyssa/M +nystagmus/MW +nystatin/M Noun: usually uncountable +Nythe/M +NZ +O +o +O'Brien/M +O'Callahan/M +O'Casey/M +o'clock +o'Clock +O'Connell/M +O'Connor/M +O'Dell/M +O'Donnell/M +O'Dowd/M +O'Dwyer/M +o'er +O'Fallon/M +O'Farrell/M +O'Gorman/M +O'Hara/M +O'Hare/M +O'Higgins/M +O'Keefe/M +O'Keeffe/M +O'Leary/M +O'Mahony/M +O'Malley/M +O'Mara/M +O'Neil/M +O'Neill/M +O'Reilly/M +O'Shea/M +O'Sullivan/M +Oa/M +Oadby/M +oaf/MS +oafish/YP +Oahu/M +Oak/M +oak/SMD +Oakamoor/M +Oakdale/M +Oake/M +oaken +Oakengates/M +Oakes/M +Oakford/M +Oakham/M +Oakington/M +Oakland/M +Oakley/M +oakling/SM +Oakman/M +Oakmere/M +Oakmont/M +Oaks/M +Oaksey/M +Oakshaw/M +Oakthorpe/M +oakum/SM +Oakura/M +Oakville/M +oakwood/SM +Oamaru/M +OAP/SM +oar/SGDMp +oarage/M Noun: uncountable +Oare/M +oarer/M +oarfish/SM +oarlock/SM +oars/m5 +oarsmanship/M Noun: uncountable +oarweed/SM +oary +OAS +oasal +oases +oasis/M +oast +oat/SM +oatcake/SM +oaten +Oates/M +oath/SM +Oathlaw/M +oatmeal/MS +Oaxaca/M +ob. +Obadiah/M +Obama/M +Obamacare/M +Oban/M +obbligati/M +obbligato/SM +obconical +obcordate +obduct/SGD +obduction/SM +obduracy/SM +obdurate/YSP +OBE/SM +obeche/SM +obedience/EMS +obedient/EY +obedientiary/SM +obeisance/SM +obeisant/Y +obeli/M +obelia/SM +obeliac +obelion/SM +obeliscal +obelise/SGD +obelisk/MS +obelus/M +OBEr/SM +Oberammergau/M +Oberea +oberek/SM +Oberhausen/M +Oberlin/M +Oberon/M +Oberrender/M +Oberstleutnant/M +Oberth/M +obese/PY +obesity/SM +obesogenic +obey/ESDGr +obfuscate/DnyGS +obfuscater +Obi-Wan/M +Obi/M +Óbidos/M +Obion/M +Obispo/M +obit/MSr +obitual +obituarise/SGD +obituary/SM3Y +object-libido/M +object/DSGvuVMp +objectify/DSnG +objection/lSM7 +objectionableness/M Noun: uncountable +objective/PSM +objectivism/SM +objectivist/SMW +objectivity/SM +objector/SM +objurgate/GSDn +objurgatory Adjective +oblanceolate Adjective +oblast/SM +oblate/YSnP +oblational +oblatory +obligate/SxyGnD +obligatoriness/M Noun: uncountable +obligatory/Y +oblige/EGDS +obligee/SM +obliger/SM +obliging/YP +obligor/SM +obliqua +oblique/YDSMGP +obliquity/MS +obliterate/DvnSVG +oblivion/MS +oblivious/PY +oblong/PSM +oblongata/SM +obloquies +obloquy/M +obmutescence/M +obmutescent Adjective +obnoxious/YP +obnubilate/DGSn +oboe/SM +oboist/SM +obol/SM +obolus/M +Oborne/M +obovate/Y +obreption/SM +obs. +obscene/TYP +obscenity/SM +obscura/M +obscurant/MSW3 +obscurantism/SM +obscure/NSDTGYP +obscurity/MS +obscurius +obscurum +obsecration/M +obsequial +obsequies +obsequious/YP +observability/SM +observable/SM +observance/MS +observant/YU +observatory/MS +observe/GSnlRkxBD +obsess/xVSuDGv +obsession/SM +obsessive/SP +obsidian/SM +obsolescence/SM +obsolescent/Y +obsolete/GPDSY +obsoletism/MS +obstacle/SM +obstat +obstetric/SO +obstetrician/MS +obstinacy/SM +obstinate/PY +obstreperous/PY +obstruct/GSvDuVr +obstruction/3SM +obstructionism/SM +obstructive/PSM +obstructor/SM +obstruent/SM +obstupefying +obtain/SGD7r +obtention/M Noun: uncountable +obtestation/MS +obtrude/rVvuGNSDX +obtrusive/UY +obtrusiveness/SM +obtund/SGD +obturate/DGS +obturation/S +obturator/SM +obtuse/TYP +obtusity/M +obverse/SMY +obversion/S +obvert/DGS +obviate/DnSG +obvious/PY +Oby/M +Ocala/M +ocarina/MS +Occam/M +Occaney/M +occasion/SMJOoDG +occasionalism/SM +occasionalist/SMW +occasionality/M Noun: uncountable +Occident/M +occidental/SMY +occidentalism/M Noun: uncountable +occidentalist/SM +occipita/M +occipital/Y +occipitonasal +occipitotemporal +occiput/SM +Occitan/M +Occitanian/SM +occlude/SVDGr +occlusion/SM +occlusive/SM +Occold/M +occult/3WrPDGSYn +occultism/SM +occupancy/MS +occupant/MS +occupation/MKA +occupational/Y +occupied/U +occupier/SM +occupy/ADSKnG +occur/ASGD +occurrence/SM +occurrent/SM +ocean-going +Ocean/M +ocean/MWS +Oceana/M +oceanaria/M +oceanarium/MS +Oceania/M +oceanic/4 +Oceanid/MS +Oceanides +oceanodromous +oceanographer/SM +oceanography/SMWw +Oceanside/M +oceanward/S +ocellar +ocelli/M +ocelliform +ocellus/M +ocelot/SM +Oceola/M +och +Ochil/MS +Ochiltree/M +ochlocracy/M +ochlocrat/MS +Ochoa/M +ochraceous +ochratoxin/SM +ochre/SM~ +ochreous +ochroid +ochroite/M +ochrous +ochry +ocicat/M +Ockbrook/M +Ocke/M +Ockenden/M +ocker/MS~ +ockerdom/M Noun: uncountable +ockerism/SM +Ockham/M +Ockley/M +Ocklynge/M +ocky/SM +OCLC Initialism of Online Computer Library Center +Ocle/M +Ocoee/M +Oconee/M +Oconomowoc/M +Oconto/M +OCR/SDG +Oct +octa/SM +octachord/SM +octacosanoic +octad/SM +octadecane/SM +octadecanoic +octadentate +octadentative +octagon/OoMS +octahedra/Oo +octahedron/SM +octakishexahedron +octal/SM +octamer/MSW +octamerous +octameter/MS +octane/SM +octanoic +octanoyl/SM +Octans/M +octant/SMO +octapeptide/SM +octarch +octarchy/SM +octaroon/SM +octastich +octastyle/SM +Octateuch/M +octatomic +octatriacontanoic +Octav/M +octavalent +octave/SMO +Octavia/M +Octavian/M +Octavio/M +octavo/SM +octennial/Y +octet/MS +octette/S +octic/SM +octile/SM +octillion/SM +October/SM +Octobrist/SM +octocentenary/S +octochord/SM +octocoral/SM +octocorallian/SM +octocoralline +octodactylous +octode +octodecimo/SM +octodentate +octodesexcentenary +octogenarian/MS +octonarian +octonarius/M +octonary/SM +octonian/SM +octonion/SM +octopetalous +octopod/SM +octopus/MS +octoradial +octoroon/MS +octose/SM +octospore/SM +octosporous +octosyllable/MSW +octroi/MS +octuple/DGS +octupole/SM +ocular/SMY3 +oculate +oculi/M +oculist/MSW +oculocephalic +oculocutaneous +oculogenital +oculogravic +oculogyric +oculomotor +oculonasal/Y +oculus/M +OD/S +odalisque/SM +Odcombe/M +Odd/M +odd/TLPSY +oddball/SM +Oddfellow/MS +Oddie/M +Oddingley/M +Oddington/M +oddity/SM +odds-on +Oddsocks/M +ode/SMW +Odell/M +Oden/M +Odense/M +Odeon/M +Oder/M +Odesa/M +Odessa/M +Odette/M +ODF/M +Odia/M +Odian/M +odiferous +Odiham/M +Odin/MW3 +Odinism +odious/PY +Odis/M +Odisha/M +odium/MS +Odom/M +odometer/SM +odontocete/SM +Odontoceti/M +odontogenic +odontoglossum/S +odontoid/M +odontology/Mw3 +odontorhynchous +odoriferous +odorous/YP +odour/6SpM +odourlessly +odourlessness +Odstock/M +odt +Odwyn/M +Odyssean +Odysseus/M +Odyssey/M +odyssey/SM +OE +OECD/M +oecidium +Oecolampadius/M +oecumenical +OED +oedema/SMW +oedematous +oedemic +Oedipal/Y +Oedipus/M +OEM/MS +OEMS +oenology/SM3w +oenophile/SM +Oerlikon/M +Oersted/M +oesophageal +oesophagi/M +oesophagus/MS +oestradiol/SM +oestriol/SM +oestrogen/SMW +oestrone/SM +oestrous +oestrus/SM +oeuvre/SM +of +Ofcom/M +Ofelia/M +ofens +off'nce +off'ns +off-air +off-break +off-centre +off-drive/S +off-frequency +off-key +off-licence/MS +off-line +off-message +off-patent +off-peak +off-piste +off-pitch +off-plan +off-putting +off-road/Gr +off-sale/SM +off-screen +off-season +off-site +off-street +off-the-cuff +off-the-peg +off-the-shelf +off-the-wall +off-white +off/JMGR~ +Offa/M +offal/SM +Offaly/M +offbeat/SM +Offchurch/M +Offcote/M +offcuts +Offenbach/M +offence/SM +offenceless/Y +offend/DRVuGSv +Offenham/M +offensive/IYPSM +offensiveness/SI +offer/rJd +Offerton/M +offertory/MS +Offham/M +offhand/iDh +office/SRoM +officeholder/SM +OfficeJet/M +officemate/SM +OfficeMax/M +officer/d +officership/S +official/MS +official/UY +officialdom/MS +officialese/SM +officialism/MS +officialness +officiant/SM +officiate/nSDG +officiator/SM +officio +officious/PY +offing/M +Offington/M +offins +Offley/M +offline +offload/DGS +Offord/M +offprint/GMSD +offset/SGM +offshoot/MS +offshore/SGD +offside/SMr +offspring/SMp +offstage +offt'ns +Offton/M +Offwell/M +Ofsted/M +oft +oft-times +OFTEL +Oftel/M +often/P +oftener +oftenest +Ofwat/M +oga +oganesson/M Noun: uncountable +Ogata/M +Ogawa/M +Ogbourne/M +Ogden/M +Ogdensburg/M +Ogemaw/M +ogertful +ogg +Ogg/M +Ogilface/M +Ogilvie/M +Ogilvy/M +ogive/OSM +Oglala/M +ogle/DRSG +Ogle/M +Oglethorpe/M +Ogmore/M +Ogpu/M +ogre/SM~ +ogreishly +ogreism/SM +ogress/SM +ogrish +Oguibe/M +Ogunquit/M +Ogwell/M +Ogygian +oh/S +Ohaeawai/M +Ohakune/M +Ohangai/M +Ohariu/M +Oher/M +Ohinemutu/M +Ohio/M +Ohioan/SM +Ohlsson/M +ohm/WSM +ohmage/MS +ohmmeter/SM +oho/S +Ohoka/M +Ōhope/M +OHSA/M +Ohura/M +oi +oik/SM +Oikos/M +Oil/M +oil/m2RZGMSDp +oilbird/SM +oilcake/SM +oilcan/SM +oilcloth/SM +oilery/SM +oilfield/MS +oilseed/SM +oilskin/MS +oilstone/SM +oily/TY +oink/DGSM +ointment/SM +oiran/SM +Oireachtas The parliament of Ireland +OJ +Ojibwa/SM +OK/MDGS +Okaihau/M +Okaloosa/M +Okamoto/M +Okanagan-Similkameen/M +Okanagan/M +Okanogan/M +okapi/SM +Okato/M +okay/DMG +Okayama/M +Okeechobee/M +Okeford/M +Okehampton/M +Okeover/M +Okewood/M +okey-doke +okey-dokey +Okfuskee/M +Okhotsk/M +Okinawa/M +Okinawan/SM +Oklahoma/M +Oklahoman/MS +Oklo/M +Okmulgee/M +okra/MS +Okrand/M +Oktibbeha/M +Oktoberfest/M +Okuku/M +Okun/M +Okura/M +Ola/M +olanzapine/M Noun: uncountable +Olathe/M +Olav/M +Olave/MS +Olbers/M +old-age +old-fashioned +old-gold +old-style +old-time/R +old-world +Old/M +old/YPT~ +Oldany/M +Oldberrow/M +Oldbury-upon-Severn/M +Oldbury/M +Oldcastle/M +Oldcotes/M +olden +Oldenburg/M +Oldfield/M +Oldhall/M +Oldham/M +Oldhamstocks/M +oldie/MS +Oldland/M +Oldmachar/M +Oldman/M +Oldmeldrum/M +Oldowan/M +Oldridge/M +Oldsmar/M +Oldsmobile/M +oldspeak +Oldspeaker/M +Oldstead/M +oldster/SM +OLE +olé +oleaceous +oleaginous +Olean/M +oleander/MS +oleaster/MS +oleate/SM +olecranon/S +OLED/SM +olefin/MSW +olefine/SM +Oleg/M +oleic +oleiferous +Olen/M +oleograph/SM +oleomargarine/SM +oles +olfaction/SM +olfactive +olfactometer/SM +olfactometry/M Noun: uncountable +olfactory/SM +Olga/M +Oliffe/M +oligarch/ZMWw +oligarchs +oligarchy/SM +oligo/SM +Oligocene +oligoclonal +oligodendroglia/O +oligomer/SM +oligomerisation/SM +oligomerise/SGD +oligonucleotide/SM +oligophage/SM +oligophagous +oligophagy/M Noun: uncountable +oligophrenia/SM +oligophyllous +oligopod Adjective +oligopolistic +oligopoly/SM3 +oligopsonist/SM +oligopsony/SM +oligosaccharide/SM +oligotrophy/MW +oliguria/SMW +Olin/M +Oliphant/M +olivacea +olivaceous +olivary Adjective +Olive/M +olive/MS +Oliveira/M +Oliver/MS +Olivet/M +Olivetti/M +Olivia/M +Olivier/M +olivine/SM +Olkin/M +Ollerton/M +Ollie/M +ollie/SDM +ollieing +olmesartan/M Noun: uncountable +Olmsted/M +Olney/M +olog +ology/3SM +oloroso/MS +Olrig/M +Olsen/M +Olson/M +Olum/M +Olveston/M +Olympia/M +Olympiad/SM +Olympian/SM +Olympic/S +Olympus/M +OM Order of Merit. +omadhaun/SM +Omagh/M +Omaha/M +Oman/M +Omanaia/M +Omar/M +Omarama/M +omasa/M +omasum/SM +Omata/M +Omayra/M +Ombersley/M +ombrohydrochore/1SMW +ombrohydrochorous +ombrohydrochory/M +ombudsman/M +ombudsmen/M +Omdurman/M +Omega +omega/MS +omelet/SM +omelette/MS +omen/SMd +omenology/M Noun: uncountable +omenta/MO +omentin/SM +omentopexy/SM +omentum/M +omeprazole/M Noun: uncountable +omertà/SM +omicron/SM +Omid/M +ominous/PY +omissible +omission/SM +omissive +omit/SDG +omittable +ommatidia/M +ommatidium/M +omni/SM +omnibus/MS +omnicompetence/M Noun: usually uncountable +omnicompetent +omnidirectional +omnifarious +omniferous +omnific +omnificence/M Noun: uncountable +omnificent +omnifocal +omniform +omnigenous +omnilateral/Y +omnilingual/SM +omnipotence/SM +omnipotent/YSM +omnipresence/SM +omnipresent/Y +omniscience/MS +omniscient/SMY +omnisexual +omnisexuality/M Noun: uncountable +omnivore/SM +omnivorous/YP +omnivory/M Noun: uncountable +Omokoroa/M +Ompton/M +Omri/M +on-board +on-frequency +on-line +on-off +on-screen +on-site +on-street +on/DYr +onager/MS +Onalaska/M +onanism/M Noun: usually uncountable +onanist/SMW +onboard/G +once-over +once/r +Onchan/M +oncogene/SMW +oncogenesis +oncogenicity/SM +oncogenomics +oncolitic +oncology/SM3Ww +oncolytic/SM +oncoming/SM +oncovirus/SM +ondansetron/M Noun: uncountable +one-dimensional +one-dimensionality +one-directional +one-downmanship +one-downness +one-downsmanship +one-eared +one-eyed +one-half +one-horse +one-liner +one-man +one-off/S +one-piece +one-quarter +one-sided/YP +one-step +one-third +one-time +one-to-one +one-track +one-upmanship +one-way +one/PMS +Onecote/M +OneDrive/M +onefold +Onega/M +Onehouse/M +Onehunga/M +Oneida/SM +oneiric +oneirocritic/MS +oneirocriticism/M +oneirology/SM +oneiromancy/SM +Onekawa/M +Oneonta/M +Onepoto/M +Onerahi/M +onerous/PY +oneself +onesie/SM +Onesimus/M +Onewhero/M +onewhile +onfall/MS +onflow/G +Ongar/M +onglaze +Onglyza/M +ongoing/SP +onia/M +Onibury/M +Onich/M +onion/MS +onionskin/MS +onium/SM +Onkaparinga/M +Onkelos/M +online +Onllwyn/M +onlooker/SM +onlooking +only-begotten +Onn/M +Onno/M +Ono/M +onomastic +onomatopoeia/MS +onomatopoeic/Y +onomatopoetic/OY +Onondaga/SM +onrush/GMS +onset/SM +onshore +onside +onslaught/SM +Onslow/M +onstage +Ontarian/SM +Ontario/M +Onthank/M +ontic +onto +ontogeneses +ontogenesis/M +ontogenetic/OY +ontogenic/Y +ontogeny/MS +ontology/1wMS3 +onus/SM +onward/SY +onychophoran/SM +onymous/Y +onyx/SM +oocyte/SM +OODA (military) Initialism of Observe, Orient, Decide, and Act +oodles +oof/SMZ +oofier +oofiest +oogamous/Y +oogamy/M Noun: uncountable +oogeneses +oogenesis/M +oögenetic +oogenetic +ooh/DSG +oolite/MS +oolitic/SM +oology/3wM +oolong/SM +oompah/DGMS +oomph/SMp +Ooms/M +OOo/M +oophorectomy/SM +oops/S +Oort/M +oosperm/MS +Oosthuizen/M +Oostrom/M +ooze/DZSG +oozy/T +op/D +op/FS +Opa-locka/M +opacification/SM +opacify/RDGS +opacity/SM +opah/MS +Opaheke/M +opal/MS~ +opalescence/SM +opalescent/Y +opaline/SM +opalise/SGD +opalite +opanci/M +opanka/SM +opaque/SGDMPTY +Opawa/M +opcode/SM +ope/SDG +OPEC +Opelika/M +Opelousas/M +open-air +open-and-shut +open-deartedness +open-ended +open-eyed +open-faced +open-handed/P +open-heart/D +open-minded/YP +open-mouthed +open-plan +open-source/SGD +open-top +open/rdSJYP7 +OpenAI/M +OpenBSD/M +opencast +OpenCL/M +OpenDocument/M +opened/AU +OpenGL/M +OpenJDK/M +OpenOffice/M +OpenPGP/M +OpenSolaris/M +OpenSSH/M +OpenSSL/M +OpenStreetMap/M +openSUSE/M +openwork/SM +opera/nSvuMV +operability/M Noun: usually uncountable +operable +operad/SM +operadi +operand/SM +operandi +operant/SY +operate/DSGFN +operatic/YS +operation/MOo +operationalise/SGD +operationalism/SM +operationalist/SM +operatisation/S +operatise/DGS +operative/FPS +operativeness/SM +operator/FMS +opercula/M +opercular/SM +operculate/SM +operculum/M +operetta/MS +operon/SM +operose/Y +operoseness/M Noun: uncountable +Ophelia/M +Ophelian +ophicleide/SM +Ophidia Taxonomic clade +ophidian/SM +ophiolatrous +ophiolatry/M Noun: uncountable +ophiolite/SMW +ophiologist/MS +ophiology/Mw +ophite/SMW +Ophiuchus/M +ophiuroid/SM +Ophiuroidea Taxonomic class +ophthalmia/SM +ophthalmic/S +ophthalmitis/M +ophthalmology/3MWSw +ophthalmoplegia/SMW +ophthalmoscope/SM +ophthalmoscopic/Y +ophthalmoscopy/SM +opiate/MGDS +Öpik/M +opine/GSD +opinion/DMS +opinionated/PY +opinionative +opioid/SM +opisometer/MS +opisthodont/SM +opisthognathous +opisthograph/SMW +opisthopubic +opisthorchiasis/M Noun: uncountable +opisthosoma/MO +opisthosomata/M +opisthotic/SM +opium/SM +opodeldoc/M +Opoho/M +Opononi/M +opopanax/SM +Oporto/M +opossum/SM +Opotiki/M +opp +Oppenheimer/M +oppidan/MS +oppo/MS +opponency/M +opponent/SM +opportune/IY +opportuneness/M Noun: uncountable +opportunism/SM +opportunist/SMW1 +opportunity/MS +opposable +oppose/SNxXGDR +opposite/YPS +opposition/M3 +oppositive +oppress/VuSvDG +oppression/SM +oppressive/P +oppressor/SM +opprobrious/Y +opprobrium/SM +oppugn/rSGDJ +oppugnance/M +oppugnancy/M +oppugnant +oppugnation/MS +Oprah/M +opsimath/MS +opsimathy/M Noun: uncountable +opsonic +opsonin/M +opt-out/SM +opt/1xwGWSD +optant/SM +optative/MSY +optic/SM +opticals +optician/MS +optima/Oo +optimality +optimate/SM +optime/SM +optimé/SM +optimific +optimisable +optimise/DM +optimism/cMS +optimist/SW1M +optimistic/O +optimity/M Noun: uncountable +optimum/qsQSM +option/GDSM +optional/SM +optionality/SM +optoacoustic +optoelectric +optoelectronic/S +optomechanical +optometer/SM +optometry/SMW3 +optophone/SM +Opua/M +opulence/MS +opulent/Y +Opunake/M +opuntia/SM +opus/SM +or/6DMn +oracle/MS +oracular/Y +oracularity/SM +oracy/SM +Orakei/M +oral/SM3 +oralism/SM +orality/SM +Oran/M +orang-outang/SM +orang-utan/MS +orang/MS~ +Oranga/M +Orange/M +orange/yMS +orangeade/SM +Orangeburg/M +Orangeism/M +Orangeman/M +Orangemen/M +orangery/SM +Orangetown/M +orangewood/M Noun: uncountable +orangey Adjective +orangutan/SM +orangutang/SM +Oranjestad/M +orate/SGDn +Oratia/M +orator/Sw1MO +oratorio/SM +Oratory/SM +oratory/SM +orb/SMGD +Orbán/M +orbicular/Y +orbicularity/M Noun: uncountable +orbiculate +Orbison/M +Orbiston/M +orbit/dMSr +orbital/YSM +orbitofrontal +Orby/M +orc/MS~ +orca/SM +Orcadian/SM +Orcas/M +orcein/M Noun: usually uncountable +orchard/3SMGJ +Orchard/M +Orchardhill/M +Orchardleigh/M +orchardman/M +orchardmen/M +orchestic/S +Orcheston/M +orchestra/SOoM +orchestrate/DSGn +orchestrator/SM +orchestrina/SM +orchestrion/SM +orchid/SM +orchidaceous +orchidectomy/SM +orchidist/SM +orchidology/M Noun: uncountable +orchiectomy/SM +orchil/M +orchilla/MS +Orchy/M +Orci/M +orcinol/SM +Orcop/M +Orcus/M +Ord/M +ordain/rDGLS +ordainable +ordained/KU +ordainment +ordeal/SM +order/Sp +order/YESdM +ordered/AU +orderer/SM +ordering/S +orderliness/ES +orderly/SM +ordinaire/SM +ordinal/SM +ordinance/SM +ordinand/SM +ordinary/TSYP +ordinate/FNS +ordinate/M +ordination/SM +ordinator/SM +ordinee/SM +Ordiquhill/M +ordnance/SM +ordonnance/M +Ordovician +Ordsall/M +ordure/SM +Ore/M +ore/MySo +orebody/SM +oregano/SM +Oregon/M +Oregonian/SM +Oreille/M +Orem/M +Oremus/M +Oren/M +Orencia/M +Oreo/M +Orere/M +Orestes/M +Orewa/M +orfevrerie +Orford/M +org-man +org/SM +organ/W3qQ1stSM +Organa/M +organdie/MS +organellar +organelle/SM +organic/S +organicalness/M Noun: uncountable +organicism/SM +organicist/SMW +organicity/M Noun: usually uncountable +organify/SGDN +organigram/SM +organisation/OoM +organise/EnADGS +organiser/ASM +organism/1 +organism/OMWS^ +organist/SMW +organistrum/SM +organistship/SM +organoactinide/SM +organochlorine/SM +organogeneses +organogenesis/M +organogram/SM +organoid/SM +organolanthanide +organoleptic +organology/SM +organometallic/SM +organon/SM +organonymy/M Noun: uncountable +organophosphate/SM +organophosphorous +organophosphorus +organosedimentary +organosol/SM +organosulphur/W +organotherapy/SM +organza/MS +organzine/SM +Orgar/M +Orgarswick/M +orgasm/DGMSW1 +orgastic/Y +orgeat/SM +orgiast/MS +orgiastic/Y +orgone/SM +orgonite/M Noun: uncountable +Orgreave/M +orgulous/Y +orgy/MS +oribi/SM +Oric/M +orichalcum/M Noun: uncountable +oriel/MS +orient/ESADnG +orient/M +orientable +oriental/SY3 +Orientale/M +orientalise/SGD +orientalism/SM +Orientalist/SMW +orientality/M Noun: uncountable +orientate/SDAEG +orientation/EMA +orientational/Y +orientator/SM +orienteer/SDG +orifice/MS +oriflamme/SM +orig +origami/MS +origan/M Noun: uncountable +origanum/SM +Origen/M +origin/MSoVv +original/SM +originalism/M Noun: usually uncountable +originality/MS +originate/SDGn +originator/MS +Orillia/M +Orimulsion +Orin/M +orinasal +Orinda/M +Orinoco/M +oriole/SM +Orion/M +Orionid/SM +Orionis +orismology/wWM +orison/MS +oristic +oritavancin/M Noun: uncountable +Oriya/M +Orkney/MS +Orkut/M +Orland/M +Orlando/M +orle/SM +Orleans/M +Orlestone/M +Orleton/M +Orlin/M +Orlingbury/M +orlop/SM +Ormerod/M +Ormesby/M +Ormiston/M +ormolu/SM +Ormond/M +Ormonde/M +Ormsby-Gore/M +Ormsby/M +Ormside/M +Ormskirk/M +ornament/nMDGSo +ornamental/SM3 +ornamentalism/M Noun: uncountable +ornate/YPSGD +orneriness/M Noun: usually uncountable +orniscopy/M +ornithic +ornithichnite/SM +ornithine/SM +Ornithischia Taxonomic order +ornithischian/SM +ornithochore/MS +ornithochoric/Y +ornithochorous +ornithochory/M +ornithoid/SM +ornithology/3wSM +ornithomancy/M +ornithomimid/SM +ornithomimosaur/SM +Ornithomimosauria Taxonomic clade +ornithomorphic +ornithophile/SM +ornithophilous +ornithophily/M Noun: uncountable +ornithorhynchus/M +ornithoscopy/M +Oro/M +orogen/SM +orogenesis +orogenetic +orogeny/SMW +orographic/MOY +orography/SM +oroide/SM +orology/M3w +Oromahoe/M +Orono/M +Oronsay/M +oropharyngeal/SM +oropharynges +oropharynx/SM +Orosirian +orotate/SM +orotund Adjective +orotundity/MS +Oroville/M +orphan/SMd +orphanage/MS +orphanhood/SM +orphanism/M Noun: usually uncountable +Orphean +Orpheus/M +Orphic/OY +Orphir/M +Orphism/M +orphrey/MS +orpiment/SM +Orpington/MS +Orr/M +orrery/SM +Orrin/M +orris/SM +Orsay/M +Orsett/M +Orsini/M +Orson/M +Orston/M +Ortega/M +Ortelius/M +orthal +orthicon/SM +Ortho/M +orthocephalic +orthochromatic +orthoclase/SM +orthocone/SMW +Orthocoronavirinae Taxonomic subfamily +orthodontia/M Noun: uncountable +orthodontic/S +orthodontist/SM +Orthodox +orthodox/S +orthodox/ZUY +orthodoxy/SM +orthodromic +orthoepist/SM +orthoepy/SMW +orthogeneses +orthogenesis/M +orthogenesist/M +orthogenetic/Y +orthogeosyncline/SM +orthognathous +orthogonal/QqY +orthogonality/M Noun: uncountable +orthographist/SM +orthography/w1SMW +orthokinesis/M Noun: uncountable +orthokinetic +orthologous/Y +orthology/Mw +orthomolecular +orthomorphic +orthomorphism/SM +orthomyxovirus/SM +orthonormal +orthonormality/SM +orthopaedic/SYZ +orthopaedist/SM +orthophosphate/SM +orthopod/SM +orthoprax/Z +orthopraxis/M Noun: uncountable +orthopsychiatry/3W +orthopterous +orthoptic/SM +orthopyroxene/SM +orthoquartzite/SM +orthorhombic +orthostatic +orthotectonic +orthotic/SM +orthotist/SM +orthotone/MS +Ortins/M +Ortiz/M +Ortolà/M +ortolan/SM +Ortoli/M +Orton/M +Oruaiti/M +Oruro/M +Orus/M +Orvieto/M +Orville/M +Orwell/M +Orwellian +Orwellianism/SM +Orwellism/M Noun: uncountable +oryzomyine/SM +Oryzomys +OS/SM +Osage/SM +Osaka/M +Osama/M +Osawa/M +Osbaldeston/M +Osbaldwick/M +Osbaston/M +Osbert/M +Osborn/M +Osborne/M +Osbournby/M +Osbourne/MS +Oscan/M +Óscar/M +Oscar/MS +Osceola/M +oscillate/ynSDG +oscillator/SM +oscillograph/MS +oscilloscope/SM +oscine/MS +oscinine +oscitation/MS +oscula/M +osculant +oscular +osculate/nDGS +osculatory/SM +osculum/M +oseltamivir/M Noun: uncountable +OSes +Osgathorpe/M +OSGi +Osgodby/M +Osgood/M +OSHA +Oshawa/M +Oshii/M +Oshkosh/M +Osho/M +Oshtemo/M +Osiander/M +osier/MS +Osirian +Osiris/M +Oskaloosa/M +Oskar/M +Osleston/M +Oslo/M +Osmanli/MS +Osmaston/M +osmatic +Osmington/M +osmium/SM +osmocene +osmolarity/SM +Osmond/M +osmoregulation/SM +osmoregulator/SMZ +osmoses +osmosis/M +Osmotherley/M +osmotic/Y +osmotroph/SMW +osmotrophy/M Noun: uncountable +Osolo/M +osprey/SM +Ospringe/M +OSS +Ossanna/M +Ossendyke/M +osseous/Y +Ossete/SM +Ossetia/MW +Ossetian/SM +Ossett/M +ossia +Ossian/MW +ossicle/SM +ossicular +ossiculectomy/SM +ossiculum/M +Ossie/MS +ossifrage/MS +ossify/DnGSW +Ossington/M +Ossining/M +ossuary/MS +Osteichthyes/M +Ostend/M +ostensible/Y +ostensive/Y +ostentation/SM +ostentatious/YP +osteoarthritic/SM +osteoarthritides +osteoarthritis/M +osteoblast/SMW +osteocalcin/SM +osteoclast/SMW +osteodentine/SM +osteoderm/SMO +osteodontokeratic +osteodystrophy/SMW +osteology/M noun: usually uncountable +osteomyelitis/M noun: usually uncountable +osteopath/WZSM +osteopathy/MS +osteoplasty/SM +osteoporoses +osteoporosis/M +osteoporotic +osteosarcoma/SM +osteosarcomata/M +osteospermum/SM +osteotome/SM +osteotomy/SM +Osterley/M +ostia/My +ostinati/M +ostinato/SM +ostiole/SM +ostiolum +ostium/M +ostler/SM +Ostlere/M +ostomy/SM +Ostpolitik/M +ostracean/SM +ostracion +ostracise/DSMGRN +ostracism/MS +ostracod/SM +ostracode/SM +Ostrander/M +Ostrava/M +ostrich/MS +Ostrogoth/SMW +Ostrovsky/M +Ostrowski/M +Osvaldo/M +Oswald/M +Oswaldkirk/M +Oswalt/M +Oswego/M +Osweiler/M +Oswestry/M +Oswiu/M +OSX/M +Osyth/M +OT/SM +Ota/M +Otago/M +Otahuhu/M +Otaika/M +Otaki/M +Otakou/M +Otangarei/M +Otara/M +Ōtara/M +Otatara/M +Otautau/M +OTB +OTC/M +Oteha/M +Otero/M +Otford/M +Otham/M +Othello/M +other/SPMd +otherwise +Otherworld/SM +otherworldism/M +otherworldliness +otherworldly +Othery/M +otic +otiose/Y +otiosity/SM +Otiria/M +Otis/M +otitis +Otlet/M +Otley/M +otocyst/SM +Otoe/M +OTOH +otolaryngology/M3Ww +otolith/SMW +otology/3WwM +Otomanguean/M3 +Otomi/M +Otorohanga/M +otoscope/SMW1 +OTP/SM +Otranto/M +Otsego/M +OTT +Ottaviano/M +Ottawa/M +Ottaway/M +Otté/M +Otten/M +Otter/M +otter/MS +Otterbourne/M +Otterburn/M +Otterden/M +Otterford/M +Otterham/M +Otterhampton/M +Otterington/M +Ottersey/M +Otterton/M +Ottery/M +Otto/M +ottocento +ottoman/SM +Ottoman/SM +Ottringham/M +Ottumwa/M +Otumoetai/M +Otway/M +Ouachita/M +Ouagadougou/M +oubliette/SM +ouch/SM +oud/SM +Oudenarde/M +Oudh/M +Ouen/M +ought +Oughterside/M +oughtn't +Ouija/M +Oulston/M +Oulton/M +ounce/SM +Oundle/M +Our/M +our/S +Ouranic/Y +ouranoscopos +ouranoscopy +ourself +ourselves +Ousby/M +Ousden/M +Ouseburn/M +ousel/SM +Ouseley/M +oust/RGDS +out-group/SMr +out-half +out-of-court +out-of-date +out-of-phase +out-of-pocket +out-take/SM +out-tray/SM +Out/M +out/MDSGJR +Outagamie/M +outage/SM +outang/S +Outaouais/M +outargue/SGD +outbacker/SM +outbalance +outbid/G +outblaze/DGS +outboard/SM +outboast/SGD +outborn +outbound/S +outbox/SGD +outbrave/DGS +outbred +outbreed/SGR +outburst/SM +outcall/SM +outcast/SMG +outclass/DGS +outcome/SM +outcompete/SGD +outcraft +outcricket +outcrop/J +outcross/SGD +outcry/GMS +outdance/SGD +outdare/SGD +outdate/SGD +outdazzle/SGD +outdistance/DGS +outdo/GR +outdoor/SGD +outdoorsman/M +outdoorsmen/M +outdrank +outdraw/G +outdress/SGD +outdrink/SG +outdrive/SG +outdriven +outdrove +outdrunk +outdwelling +outercourse/M Noun: uncountable +outermost +outerwear/SM +outfall/S +outfight/SG +outfit/GDR +outflew +outflow/M +outflown +outflung +outflux/SGDM +outfly/SG +outfool/SGD +outfoot/SGD +outfox/SGD +outgas/SGD +outgeneral/SGD +outgo/J +outgoingness +outgrip +outgross/SGD +outgrow +outguess/SGD +outgun/SGD +outhouse +outing/M +outjump/DGS +outland/SM +outlandish/PY +outlast/SGD +outlaw/DyG +Outlawries/M +outlawry/SM +outlay/SM +outlet/SM +outlie/SGDr +outline/SM +outlive/S +outlook/M +outman/SGD +outmanoeuvre/SGD +outmigration +outmode/SGD +outmost +outmuscle/SGD +outness/M +outnoise/SGD +outnumber +outoffice +outpace/SGD +outparcel/SM +outperformance +outpoint/DGS +outpost +outpouring/SM +outproduce/SGD +output/MG +outrageous/PY +Outram/M +outrange/DGS +outrank/SG +outré +outridden +outride/SGR +outright/Y +outrightness/M +outro/SM +outrode +outsail/SGD +Outseats/M +outshoot +outshot +outside/R +outsiderness +outsize/D +outskirter +outskirting +outskirts +outsleep/SG +outslept +outslug/SGD +outsmell/SGD +outsmile/SGD +outsole/S +outsource/JR +outsparkle/SGD +outspeak/SG +outspeaker +outspeed +outspoke +outspoken/PY +outstanding/Y +outstare/SGD +outwalk/DGS +outward/PY +outwash +Outwell/M +outwent +Outwich/M +outwit/G +outwith +Outwood/MS +outworker/SM +outworld/R +Ouyang/M +ouzel/SM +ouzo/MS +ova/yoMn +oval/PSM~ +ovalbumin/SM +ovalescent +ovaliform +ovality/SM +ovarian +ovary/MS +ovate/SM +Ovejero/M +oven-ready +oven/SM +ovenbird/SM +ovenproof +over-bright +over-curiosity +over-curious +over-delicacy +over-delicate +over-emoting +over-large +over-long +over-many +Over-Monnow/M +over-much +over-nice +over-niceness +over-nicety +over-particular +over-ridden +over-ride/GS +over-sentimental +over-simplistic +over-talkative/P +over-the-counter +over-the-top +Over/M +over/MSY +overabundance/SM +overabundant/Y +overachieve/GrLS +overactive +overactivity +overage +overaggressive +overambitious +overanalyse/SGD +overanalysis +overanxiety +overanxious/Y +overarch/SGD +overarm +overate +overattentive +overawe/DGS +overbake/SGD +overbalance +overballast/SGD +overbank/SGD +overbear/GSk +overbearing/P +overbed +overbid/G +overbite/M +overblouse/MS +Overblow/M +overblown +overboard +overbold/YP +overbook/G +overboot/SM +overbore +overborne +overbought +overbred +overbreed/S +overbridge/SM +overbuild/G +overburden/k +Overbury/M +overbuy/SG +overcapacity/SM +overcapitalise/SGDN +overcareful +overcast +overcaution +overcautious/YP +overcerebral +overcheck/SM +Overchurch/M +overclass/SM +overclock/DGSr +overcloud/SG +overcome/G +overcommit/SM +overcompensatingly +overcompensatory +overconscientious +overcool/SGDR +overcorrection/SM +overcredulous +overcritical/Y +overcross/SGDM +overcup/SM +overcuriosity/M Noun: uncountable +Overdale/M +overdecorate +overdetermined +overdiagnosis +overdispersal +overdispersed +overdispersion/SM +overdo/Gr +overdominance +overdominant +overdoor/SM +overdosage/SM +overdot/SGD +overdraft's +overdramatic +overdramatise/SGD +overdrank +overdraw/G +overdrawer +overdress/G +overdrink/S +overdrive/MS +overdrunk +overdry/SGD +overdue +overeager/Y +overeaters +overedit +overeducate +overemotional +overemployment +overenthusiasm +overenthusiastic/Y +overerupt/D +overeruption +overest +overesteem/SGD +overexact +overexcitable +overexcite/SGDL +overexercise/SGD +overexpansion +overexploit/SGD +overexploitation +overexpress/SGD +overexpression/SM +overextend/DGNS +overfall +overfamiliar +overfamiliarity/M +overfeed/SG +overfill/G +overfish/GD +overflight/SM +overflow/GD +overfond +overfur +overgarment/SM +overgeneralise/SGDN +overgenerosity +overgenerous/Y +overget/SG +overgild/SGD +overglance/SGD +overglaze +overgot +overgraze/DGS +overground +overgrow +overhair/SM +overhand/GSM +overhang/G +overhard +overharvest/SGD +overhasty +overhaul/J +overhauler/SM +overhead/SM +overhearer/SM +overheat +overhit/SG +Overholt/M +overhunting +overhype/D +Overijssel/M +overinsurance/M Noun: uncountable +overinsured +overinvest/SGD +overjoyed +overkeen +overkill/DGMS +Overland/M +overland/SGDR +overlarge +overlay/R +overleaf +overleap/SD +overleapt +overleveraged +overlier +overline/SGD +overload/GM +overlock/SGDR +overlong +overlooker/SM +overlordship +overman/SDG +overmantel/SM +overmatching +overmedicate/N +overmighty +overmuch +overnight/DSGR +overnumber/Sd +overnutrition/M Noun: uncountable +overoptimistic +overorganise +overpack/SD +overpaint/SGD +overparent/G +overparted +overpass/M +overpay +overpersuasion +overpitch/DGS +overplus/MS +overpopulous +overpotential/SM +overpower/kS +overpowering +overpraise/DGS +overprecise +overprescribe/SGDN +overpressure +overprocess +overpromote +overproof +overproud +overrange +overrash +overreacher/SM +overridable +override/G7r +overripe +overripened +overripeness/M Noun: uncountable +overrisen +overruff/SGD +overruler/SM +overrunner/SM +oversail/SGD +oversale/SM +oversalt/SGD +oversample/SGDM +oversaturate/D +oversaw +overscan/M Noun: uncountable +Overseal/M +oversee +overseership/SM +overself +oversensible +oversensitive +oversensitiveness/M Noun: uncountable +oversensitivity/SM +overset/SG +overshadow/SGD +overshare/SGDR +overshoe/SM +overshot +overside +oversight/SGD +oversimple +oversimplification/M +oversimplifier/SM +oversize +overskirt/SM +oversleep/GS +oversleeve/SM +oversolicitous/Y +oversolicitude +oversoul/SM +oversow/SGD +oversown +overspan/SGD +oversparred +overspecialise/nGDS +overspecify/SGDNW +overspeed/SM +overspill/SM +overspin/SGM +overspinner +overspray/SM +overspun +overstaff/GS +oversteer/SGD +overstimulation/SM +Overstone/M +overstorey/SM +overstrain/MS +Overstrand/M +Overstreet/M +overstress/SGD +overstretch/SGD +overstrict +overstudy/DGS +oversubscription/SM +oversubtle +oversusceptible +overswell/DGS +overt/Y +overtake +overtalker/SM +overtask/DGS +overtax/SGD +overtedious +overthink/SG +Overthorpe/M +overthought +overthrow/SG +overthrower/SM +overthrust/G +overtighten/Sd +overtime/SM +overtness/M Noun: uncountable +Overton/M +overtone/SM +overtop/SGD +Overtown-Gowkthrapple/M +Overtown/M +overtrain/DGS +overtreatment/SM +overtrick/SM +overtrump/DGS +overture/SM +overtype/G +overutilisation +overvaluation +overvalue +overview/DG +overwater/d +overwear/M Noun: uncountable +overweening/Y +overwhelm/k +overwhelmingness/M Noun: uncountable +overwind/G +overworld/SM +overwound +overwrite/SG +Overy/M +Oviatt/M +ovibovine/SM +ovicide/SM +Ovid/M +Ovidian +oviduct/SM +Oviedo/M +oviform +ovine +Oving/M +Ovingdean/M +Ovingham/M +Ovington/M +oviparity/M Noun: uncountable +oviparous/Y +oviparousness/M Noun: uncountable +oviposit/Sd +ovipositor/SM +oviraptorid/SM +oviraptorosaur/SM +Ovis Taxonomic genus +ovoid/SM +ovoli/M +ovolo/M +ovotestes +ovotestis/M +ovoviviparity/M Noun: uncountable +ovoviviparous/Y +ovular/SM +ovulate/GySD +ovule/SMn +ovum/SM +ow/GD +Owain/M +Owairaka/M +Owaka/M +Owasso/M +Owatonna/M +owe/S +Owego/M +Owen/MS +Owenism/M Noun: uncountable +Owenite/MS +Owensboro/M +Owermoigne/M +Owersby/M +Owhiro/M +owl/MS +owldom/M Noun: uncountable +owler/SM +owlery/MS +owlet/MS +owlish/YP +owlism/M Noun: uncountable +Owlpen/M +Owmby/M +own-brand +own/GESD +ownable/SM +ownage/M Noun: uncountable +Ownby/M +owner-occupier/M +owner/SMp +ownership/MS +ownness/M Noun: uncountable +ownsome/SM +Owosso/M +Owslebury/M +Owsley/M +Owsthorpe/M +Owston/M +Owthorne/M +Owthorpe/M +Owyhee/M +ox/MWp +oxalacetate/SM +oxalate/SM +oxalic +oxalis/MS +oxaloacetate/SM +oxaloacetic +oxback/M Noun: uncountable +oxbird/SM +oxblood/M Noun: uncountable +Oxborough/M +oxbow/MS +Oxbridge/M +oxcarbazepine/M Noun: uncountable +oxcart/SM +Oxcombe/M +oxen/M Plural of ox +Oxendon/M +Oxenhall/M +Oxenham/M +Oxenhope/M +Oxenton/M +oxer/SM +Oxfam/M +Oxford/MS +Oxfordian/SM +Oxfordshire/M +oxgang/SM +oxgate/SM +oxhaverite/M +oxherd/SM +Oxhey/M +oxhide/M +Oxhill/M +oxidability/M +oxidable +oxidant/SM +oxidase/SM +oxidate/DGS +oxidation/OSM +oxidative/Y +oxide/QnSMs +oxidimetry/M Noun: uncountable +oxidisable +oxidise/JSGDN +oxidoreductase/SM +oxime/SM +oximeter/SM +oximetry/M Noun: uncountable +oxisol/SM +oxlip/SM +Oxnam/M +Oxnard/M +Oxnead/M +Oxonia +Oxonian/SM +oxonium/SM +Oxordshire/M +oxpecker/SM +Oxspring/M +oxt +OXT +oxtail/MS +Oxted/M +oxter/MS +Oxton/M +Oxwich/M +Oxwick/M +oxyacetylene/SM +oxyacid/MS +oxyanion/SM +oxybutynin/M Noun: uncountable +oxycodone/M Noun: uncountable +oxygen/SMW +oxygenate/DMGSn +oxygenise/DGS +oxygenous +oxyhaemoglobin/SM +oxyhexaster/M +oxyhydroxide/SM +oxymetazoline/M Noun: uncountable +oxymoron/M1 +oxysulphide/SM +oxytocic/SM +oxytocin/SM +oxytone/SM +oy +Oyne/M +Oyster/M +oyster/MSd +oystercatcher/SM +Oystermouth/M +oz +Ozark/MS +Ozaukee/M +Ozleworth/M +ozone-friendly +ozone/M Noun: uncountable +ozonic +Ozzie/MS +p-adic +p-type +p.a. +p.m. +P.O. +p/AYFI +pa/Mo +Paarl/M +Pablo/M +Pabst/M +pabulum/SM +PAC/SM +paca/MS +pace/DRMSG +pacemaker/SM +paceman/M +pacemen/M +pacesetter/SM +pacesetting +pacey +Pacey/M +pacha/MS +pachalic/MS +pachanga/M Noun: uncountable +Pacheco/M +Pacher/M +pachinko/SM +pachisi/M +pachyderm/MSO +pachydermatous/Y +pachydermatousness/M Noun: uncountable +pachytene/SM +pacific/4 +Pacific/M +Pacifica/M +pacificatory Adjective +pacifism/SM +pacifistic/Y +pacify/nD3RW1SG +Pacino/M +pack/GADSU +pack/MR +packable +package/JRGDMS +Packard/M +packet/dSM +packhorse/SM +packing/MS +packinghouse/SM +Packington/M +packman/M +packmen/M +packsaddle/SM +packstaff/SM +packstaves +packthread/SM +Packwood/M +Pacquiao/M +pact/IMS +pad/SZJGMD +padauk/M Noun: usually uncountable +padayatra/SM +Padbury/M +padder/SM +Paddie/M +padding/M +Paddington/M +paddle/DRSMG +paddleball/SM +paddlefish/SM +Paddlesworth/M +paddlewheeler/SM +Paddock/M +paddock/SGDM +paddocky +paddy/MS +paddymelon/MS +paddywhack/MS +Padé/M +pademelon/MS +Padgett/M +Padiham/M +Padilla/M +padishah/MS +Padlesworth/M +padlike +padlock/GDMS +Padma/M +Padmé/M +padouk/M Noun: uncountable +Padraig/M +padre/SM +Padrewski/M +padsaw/SM +Padside/M +padstone/SM +Padstow/M +Padua/M +paduasoy/SM +Paducah/M +Padukone/M +Padworth/M +paean/MS +paediatric/S +paediatrician/SM +paedo/SM +paedophile/SMW +paedophilia/M +paedophiliac/SM +Paekakariki/M +paella/MS +paeony/SM +Paerata/M +Paeroa/M +Paesler/M +pagan/MS~ +pagandom/M Noun: uncountable +Paganini/M +paganism/SM +page/SM6RDG +pageable +pageant/SM +pageantry/MS +pageboy/SM +pagehood/M Noun: uncountable +pageship/MS +Paget/M +Pagham/M +paginal Adjective +paginary Adjective +paginate/DSGn +Paglesham/M +Pagnell/M +Pago/M +pagoda/SM +pagri/SM +pagurian +Pahaji/M +Pahiatua/M +Pahlavi/M +Pahurehure/M +Paible/M +paid-up +paid/KfUcA +Paige/M +Paignton/M +Paihia/M +pail/S6M +pailful/MS +Pailton/M +pain/DMpSjG6 +Paine/M +Painesville/M +painful/TP +painkiller/SM +painkilling Adjective +painless/YP +Painscastle/M +painstaking/Y +Painswick/M +paint/DRSGMJZ +paintball/SGDMR +paintbox/MS +paintbrush/MS +painterliness/M Noun: uncountable +painterly Adjective +painting/M +paintwork/SM +pair/ADMSG +paired/UI +pairing/SM +pairwise +Paisley/MS +paisley/SM +Pak/M +Pakaraka/M +Pakefield/M +Pakenham/M +Pakhtunkhwa/M Khyber Pakhtunkhwa (city Pakistan) +Paki/SM +Pakiri/M +Pakistan/M +Pakistani/SM +pakkawood/M +pakora/SM +Pakotai/M +Pakuranga/M +pal/DGSM~ +PAL/M +Palace/M +palace/SM +paladin/SM +Palaearctic +palaeoanthropology/w3M +palaeobiogeographic +palaeobiology/3wM +palaeobotany/w3M +Palaeocene/M +palaeoclimatology/w3M +palaeocortex +palaeocortical +palaeocrystic +palaeocurrent/SM +palaeodemography/MW +palaeodesert/M +palaeoecology/SMw13 +palaeoeconomy/SMW +palaeoentomology/Mw3 +palaeoenvironment/SMO +palaeoequator/SM +Palaeogene/M Noun: uncountable +palaeogeographer/SM +palaeogeography/MWw1 +palaeographer/SM +palaeography/MSw1W +palaeogravity/M +palaeoherpetology/M +palaeohydrology/M Noun: uncountable +palaeoichnology/M Noun: uncountable +Palaeolithic +palaeolithical +palaeolithologic +palaeomagnetic/Y +palaeomagnetism/M Noun: uncountable +palaeontology/wMS3 +palaeopallium/SM +palaeopathology/w3SM +palaeosol/SMW +Palaeozoic +palaeozoological +palaeozoologist/SM +Palagi/M +palagonite/SM +palanquin/SM +palatability/SM +palatable/P +palatal/QSM +palatalise/SGDN +palatalism/M +palatality/SM +palate/SgoM +palatial/Y +palatinate/SM +Palatine/M +palatine/SM +Palatka/M +palatoquadrate/SM +Palau/M +Palava +palaver/dSM +palazzi/M +palazzo/SM +pale/DTSYGPM +palea/M +paleae/M +paleface/SM +Paleoarchean Of a geologic era +Paleocene +paleocrystic +paleomagnetism/M Noun: usually uncountable +paleomagnetist/SM +Paleoproterozoic +paleotechnic +Paleozoic Of a geologic era +paleozoological +paler/I +Palermo/M +Palestine/M +Palestinian/SM +Palestrina/M +palette/MS +Paley/M +palfrey/SM +Palgrave/M +Pali/M +Palikir/M +palimpsest/SM +Palin/M +palindrome/MS +palindromic/OY +paling/SM +Palisa/M +palisade/MGDS +Palisades/M +pall-bearers +pall/MS +palladia/M +Palladian/SM +Palladianism/M Noun: uncountable +Palladio/M +palladium/M +palladocene +Pallas/M +pallbearer/MS +Pallene/M +pallet/MS +palletise/SGDn +palliate/VGvDnS +palliative/SM +pallid/PY +pallidotomy/SM +pallidum/M +Palling/M +pallor/MS +palm/DMG3SZ +Palm/M +Palma/M +palmar +palmate/SM +Palmdale/M +Palme/M +Palmer/MS +palmer/SMZ +Palmerston/M +Palmerstonian +Palmerstonianism/M +Palmerstonism/M +palmette/SM +Palmetto/M +palmetto/MS +Palmgren/M +palmist/SMy +palmistry/SM +palmitate/SM +palmitic +palmitoleic +Palmolive/M +Palms/M +palmtop/SM +palmy/3T +Palmyra/M +Palo/M +Paloma/M +Palomar/M +Palomares/M +palomino/SM +Palos/M +paloverde/MS +palp/SMO +palpability/M Noun: usually uncountable +palpable/YI +palpably/I +palpate/SGDn +Palpatine/M +palpebral/SM +palpi/M +palpitate/nGSDk +palpus/M +palsgrave/MS +palstave/MS +palsy/DMSG +palter/Sdr +paltered +paltering +Paltrow/M +paltry/TP +Paltz/M +paludal +palynology/3wM +Pam/M +Pamapuria/M +Pamber/M +pamby +Pamela/M +Pamir +Pamlico/M +Pampa/M +pampas/M +pamper/dSr +pampero/MS +Pamphill/M +pamphlet/SM +pamphleteer/DGSM +Pampisford/M +pampsychistic +pan-European +pan/WGSDM +panacea/MS +panache/MS +panada/M +Panaji/M +Panama/M +panama/SM +Panamanian/SM +Panarella/M +Panasonic/M +panatella/MS +panax +Panbride/M +pancake/SDMG +pancetta/M Noun: usually uncountable +panchakarma/SM +panchayat/MS +Panchen +panchromatic/Y +panchronic +pancosmism/M +Pancras/M +Pancrasweek/M +Pancraswyke/M +pancratic +pancratium/MS +pancreas/SM +pancreatic +pancreatin/M +pancreatitis +panda/SM +pandan/SM +pandanus/SM +Pandean/M +pandect/MS +pandemic/SM +pandemonium/MS +pander/Sdr +Pandera/M +pandit/MS +Pandora/M +pandora/MS +pandore/MS +Pandya/SM +pane/MDS +panegyric/MSO +panegyrise/DGS +panegyrist/MS +panel/SGDM +panelling/SM +panellise/SnDG +panellist/MS +panentheism/M Noun: uncountable +panentheistic/OY +Panfield/M +panful/MS +pang/SM +panga/MS +Pangaea/M +Pangbourne/M +pangender +pangendered +Pangloss/MS +Panglossian +pangolin/SM +pangram/SM +pangrammatic +Panguru/M +panhandle/SGDR +panharmonic +panharmonicon/SM +panic-stricken +panic/GMSZD +panicky/T +panicle/SD +panidiomorphic +panification/SM +Paniker/M +panini/SM +panino/M +Panis/M +panjandrum/SM +panko/M Noun: uncountable +panky +panlectal +panlogism/M Noun: uncountable +Panmunjom/M +Panmure/M +pannage/M +Pannal/M +panne/M +pannier/MS +pannikin/MS +panocha/SM +Panofsky/M +Panola/M +panoply/DSM +panoptic/OY +panopticon/SM +panorama/MS +panoramic/SM +Panorpida Taxonomic superorder +Panos/M +panpipes +panplain +panplane +panpneumatism +panpsychic Adjective +panpsychism/M Noun: usually uncountable +panpsychist/SMW +panromantic/SM +pansexual/SM +pansexuality/M Noun: usually uncountable +panspermia/M Noun: uncountable +pansporoblast/SM +panstick/SM +pansy/MS +Pant/M +pant/SDG +Pantagruel/M +Pantaloon/M +pantaloon/MS +pantechnicon/SM +Panteg/M +pantheism/MS +pantheist/SMW +pantheistical/Y +panthenol/SM +pantheology/SM3 +pantheon/SMW +Panther/M +panther/SM +pantheress/SM +pantherine/SM +pantherish/Y +panties +pantihose/M Noun: uncountable +pantile/SDGM +pantiliner/SM +panto/SM +Pantocrator/M +pantograph/SM +pantographic/OY +pantologic +pantology/M Noun: uncountable +pantomime/3SMDG +pantomimic/OY +pantomorphic +Panton/M +pantophobia/M Noun: uncountable +pantophobic +pantopragmatic +pantoprazole/M Noun: uncountable +pantoscopic +pantothenic +pantoum/SM +pantry/MS +pantryman/M +pantrymen/M +Panxworth/M +Panza/M +panzer/SM +Pao/M +Paola/M +Paoli/M +Paolo/M +pap/OoM3r +Papa/M +papa/MS +papacy/MS +Papadopoulos/M +papain/M +Papaioannou/M +Papaioea/M +Papakowhai/M +Papakura/M +papalism/M Noun: uncountable +papalist/MS +Papamoa/M +Papanui/M +Papapa/M +papaphobia/M Noun: uncountable +Paparangi/M +paparazzi/M +paparazzo/M +Paparimu/M +Paparoa/M +Paparore/M +Papatoetoe/M +papaveraceous +papaveric +papaverine/SM +papaverous +papaw/MS +papaya/SM +Pape/M +Papeete/M +paper-clip/SM +paper/2pdrZS +paperback/MS +paperbacker/SM +paperbark/SM +paperboard/SM +paperboy/SM +paperchase/SM +paperful/SM +papergirl/SM +paperhanger/SM +paperhanging/SM +paperknife/M +paperknives +papermaker/SM +papermaking/M Noun: usually uncountable +papersful +paperweight/SM +paperwork/MS +papery/P +Paphian/M +Paphlagonia/M +Paphlagonian/SM +papier/S +papilionaceous +papilionid/SM +papilla/yM +papillae/M +papillate/SGD +papilledema/SM +papilliferous +Papillion/M +papillitis/M Noun: uncountable +papilloedema/SM +papilloma/SM +papillomata/M +papillomavirus/SM +papillon/MS +papillose +Papin/M +Papineau/M +papism/M Noun: uncountable +papist/WMSw +papistry/SM +papoose/MS +pappardelle/M +pappi/M +Papplewick/M +pappose +pappus/M +Pappus/M +pappy/SM +pappyshow/SM +paprika/MS +Papua/M +papula/M +papulae/M +papular +papule/SM +papulose +papulous +Papus/M +Papworth/M +papyraceous +papyri/M +papyrologist/MS +papyrology/Mw +papyrus/M +par/dDGS7Z +Par/M +para/SM +parabasal +parabases +parabasis/M +paraben/SM +parabiosis/M +parabiotic/Y +parable/SM +parabola/1SWMw +paraboloid/SM +paraboloidal/M +Paracelsus/M +paracetamol/SM +parachronism/MS +parachute/3DSMGr +Paraclete/M +paracondyloid +paracone/SM +paraconformable +paraconformity +paraconid/SM +paracrine +parade/RMGDS +paradichlorobenzene/M +paradiddle/MS +paradigm/MS +paradigmatic/SM +paradisaic/O +Paradise/M +paradise/MwSO +paradox/Mw1WS +paradoxer/MS +paradoxical/P +paradoxicality/M +paradoxist/MS +paradoxy/M +paradrop/SGD +paraesthesia/SM +paraesthesiae/M +paraffin/SMW +paraflight/SM +parageneses +paragenesis/M +paragenetic +parageosyncline/SM +paraglide/SGDR +paragon/MS +Paragould/M +paragram/SM +paragrammatic/OY +paragraph/RGSMDW +paragraphist/MS +Paraguay/M +Paraguayan/SM +parahippocampal +parahormone/SM +parahuman/SM +parahydrogen/SM +parahypnosis/M Noun: uncountable +parainfluenza/SM +parajournalism/M Noun: uncountable +parajournalist/SM +parajump/SMR +parajumping/M Noun: uncountable +Parakai/M +parakeet/MS +paralanguage/SM +paraldehyde/M +paralegal/SM +paraleipomena/M +paraleipses +paralexia/SMW +paralic +paralinguistic/S +paralipomena/M +paralipomenon/M +paralipsis/M +paraliturgical +parallactic +parallax/SM +parallaxis +parallel/SMY +paralleled/U +parallelepiped/MS +paralleling +parallelise/SGDN +parallelism/MS +parallelogram/SM~ +parallelogramic/O +parallelogrammatic/O +parallelogrammic +parallelometer/SM +parallelwise +paralog/SM +paralogism/SM +paralogous/Y +paralogy/SMw13 +Paralympian/SM +Paralympic/S +paralysation/MS +paralyse/RShGWDk +paralysis/M +paralytic/OYSM +paramagnet/SMW +paramagnetism/M Noun: usually uncountable +Paramaribo/M +paramatta/M +paramecia/MO +paramecium/M +paramedian +paramedic/MS +paramedical/SM +parament/SM +paramesonephric +parameter/W1pMS +parametria/MO +parametrise/DBnGS +parametritides +parametritis/M +parametrium/M +parametron/SM +paramilitarism/M Noun: uncountable +paramilitary/SM +paramnesia/M +paramoecia/M +paramoecium/M +paramorph/WSM +paramorphine/M Noun: uncountable +paramorphism/SM +paramorphous +Paramount/M +paramount/SMY +paramountcy/SM +paramountship +paramour/MS +Paramus/M +paramylene/M +paranaphthalene/M Noun: uncountable +paranasal +paranatal +paranatellon/SM +paranemic +paraneoplastic +paranephric +paranephritic +parang/SM +parangi/M Noun: uncountable +paranitraniline +paranoia/SM +paranoiac/SM +paranoiacally +paranoic/SMY +paranoid/SM +paranormal/SMY +paranormalist/SM +paranormality/M Noun: usually uncountable +paranuclear +Paraparaumu/M +parapet/SM +paraphasic +paraphernalia/M +paraphilia/SM +paraphiliac/SM +paraphiliae/M +paraphrasable +paraphrase/SGMDR +paraphrastic +paraphyletic +paraphysical +paraplegia/SM +paraplegic/SM +parapod/SM +parapodia/M +parapodia/O^ +parapodium/M +parapolar +parapolitical +parapophyses +parapophysis/M +paraprofessional/SM +paraprotein/SM +parapsychic/SM +parapsychology/SM31w +paraquat/SM +pararammelsbergite/M +parareligious +parasail/SGDM +parasailer/SM +parasang/MS +parascend/GR +parascience/MSW +parascientist/SM +parasexual +parasexuality/M Noun: uncountable +Parashakti/M +Parashiva/M +parasital +parasite/MwWS1 +parasitic/SM +parasiticide/MS +parasitise/SGDN +parasitism/SM +parasitoid/SM +parasitoidism/SM +parasitoidistic +parasitology/M3 +parasitoses +parasitosis/M +parasocial/Y +parasol/MS +parasomnia/SM +parasorbic +parasphenoid/SMO +paraspinal/Y +parasympathetic/S +parasympatheticomimetic +parasympathomimetic/SM +parasynaptic/Y +parasyntheses +parasynthesis/M +parasyntheta/M +parasynthetic/Y +parasyntheton/M +parasyphilitic +paratactic/OY +parataxic +parataxis/M +paratectonic +paratext/MS +paratextual +parathion/SM +parathyroid/SM +paratracheal +paratroop/RSM +paratype/SM +paratyphoid/SM +Parau/M +paravaginal/Y +paravane/MS +Parbat/M +parboil/GSD +Parbold/M +parbuckle/DGMS +PARC/M +parcel/SMGD +parcelling/M +parcenary/MS +parcener/MS +parch/SGLDM +parclose/MS +parcour +pardalote/MS +pardon/prgl7dSM +pardonableness/M +pardonably/U +pare/JSr +pared/KF +paregoric/SM +pareidolia/MSW +pareidolically +Parello/M +Paremata/M +Paremoremo/M +parencephala/M +parencephalon/M +parenchyma/O^W +parenchymatous/Y +parenchyme/SM +parenchymella +parent/DJSoGMO +parentage/MS +parenteral/Y +parentheses +parenthesis/M +parenthesise/SGD +parenthetic/OY +parentheticals +parenthood/SM +Pareora/M +pares/FK +pares/S +paresis/M +paresthesia/MS +paresthesiae/M +Paretian/M +paretic +Pareto/M +parfait/SM +parfleche/SM +pargasite/SM +parget/MS +pargeted +pargeting +Parham/M +pariah/SM +Parian/M +paribus +parietal/SM +parimutuel/SM +paring/M +Paris/M +Parish/M +parish/MSD +parishioner/MS +Parisian/SM +parity/EMS +Park/M +park/ZSMGD~ +parka/MS +Parkdale/M +Parke/M +Parkel/M +Parker/M +Parkersburg/M +Parkes/M +Parkeston/M +Parkgate/M +Parkham/M +Parkhead/M +Parkin/M +parkin/M +parking/M +Parkinson/M +Parkinsonian/SM +parkinsonism/SM +Parkland/M +parkland/SM +parkour/M Noun: uncountable +Parks/M +Parkside/M +Parkstone/M +Parksville/M +parkway/SM +parky/T +parlance/SM +parlay/DGMS +Parlby/M +Parley/M +parley/MGDS +parliament/MS +parliamentarian/MS +parliamentarianism/M Noun: uncountable +parliamentariness +parliamentarisation +parliamentarism/M Noun: usually uncountable +parliamentary/U +parliamentary/Y +Parlier/M +Parlington/M +parlour/MS +parlourmaid/SM +parlous/Y +Parma/M +Parmenides/M +Parmentergate/M +Parmer/M +Parmesan/M +parmesan/SM +parmigiana/M Noun: usually uncountable +Parnassian/MS +Parnassus +Parndon/M +Parnell/M +Paroa/M +paroccipital +parochial/Y +parochialism/MS +parochiality/SM +parody/G3DMSWw1 +parol +parole/DSMG +parolee/MS +Parolin/M +paronym/MS +paronymous +parotid/SM +Parousia +parousiamania/M +parovaria/M +parovarian +parovarium/M +paroxetine/M Noun: uncountable +paroxysm/3OSMo +paroxytone/MS +parpen/MS +parquet/dyMS +parquetry/MS +parr +Parracombe/M +parrakeet/SM +parramatta/M +Parramatta/M +Parrett/M +parricide/MSO +parrot/dSM +parrotbill/SM +parrotfish/SM +parrotlet/MS +parrotlike +parrotry/MS +parry/GDS +pars/RDGJS +parse/D +parsec/SM +Parsee/SM +Parsifal/M +parsimonious/Y +parsimony/MS +Parsippany-Troy/M +parsley/SM +Parslow/M +parsnip/SM +Parson/MS +parson/MS +parsonage/MS +parsonic/O +part's/f +part-song +part-time/R +part/fICS +part/Y +partakable +partake/RSG +partaken +partan/MS +partbook +parted/CI +parter/S +parterre/SM +parthenocarpy/W1 +parthenogeneses +parthenogenesis/M +parthenogenetic/Y +Parthenon/M +parthenopid/SM +Parthia/M +Parthian/SM +partial/IY +partial/S +partialism/SM +partiality/MIS +partible +participant/SM +participate/ySVDGn +participator/SM +participial/Y +participle/SM +Partick/M +particle/SM +particleboard/SM +particoloured +particular/QSYP +particularism/SM +particularist/SMW +particularity/SM +particulate/S +partier/SM +parting/MS +Partington/M +partisan/MS +partisanship/SM +partite +partition/MGDSr +partitive/MSY +partizan/SM +partner/SMdp +partnership/SM +Partney/M +Parton/M +partook +partridge/SM +partridgeberry/SM +Partrisio/M +partschinite/SM +parturient/M +parturifacient/SM +parturition/MS +partway +party/DMSG +Parua/M +Parva/M +Parvati/M +parvenu/MS +parvis/M +parvise/MS +parvo +parvovirus/SM +Parwich/M +Parys/M +pas/GRDJ +Pasadena/M +Pascagoula/M +Pascal/M +pascal/MS +paschal/S +Pasco/M +pash/MS +pasha/MS +pashalic/M +pashm/M +Pashto/M +Pasini/M +Pasiphae/M +Pask/M +Paskin/M +paso +Paso/M +Pasolini/M +Paspébiac/M +pasquinade/MS +Pasquotank/M +pass/7SuVNXvlk +Pass/M +passable +passacaglia/MS +passage/DMSG +passageway/SM +Passaic/M +passant +passband/SM +passbook/MS +Passchendaele/M +passcode/SM +passé/SM +passed/Fc +passée +passementerie/M +passenger-mile +passenger/MS +Passenham/M +passer-by +Passeriformes +passerine/SM +passers-by +passes/IcFf +passibility +passible +Passiflora +passim +passing/Fc +passion/FM +passion/p +passionable +passional/MS +passionary/SM +passionate/FEY +passionateness +passionflower/SM +passionnel/MS +Passiontide/MS +passivate/SGD +passive/IY +passive/S +passiveness/SI +Passivhaus/M +passivity/IS +passkey/SM +passman/M +passmark +passmen/M +passover +passphrase/SM +passport/SM +passu +password/SMD +past/DMS2GZy +pasta/SM +Pastafarianism/M Noun: uncountable +paste-up +paste/SMr +pasteboard-like +pasteboard/SM +pastegrain/M +pastel/SM +pastelist/MS +pastellist/MS +pastern/MS +Pasteur/M +pasteurise/RnSDG +pasticceria/SM +pasticcio/MS +pastiche/MSGD +pastille/MS +pastime/MS +pastis +Paston/M +pastor/dMS +pastoral/YSM3 +pastorale/MS +pastorali/M +pastoralism/SM +pastorality/M +pastorate/SM +Pastore/M +Pastorino/M +pastorship/MS +pastrami/MS +pastry/SM +pasturage/SM +pasture/GDSMr +pastureland/SM +Pastures/M +pasty/TSMP +pat-down +pat/DSMZGr +PATA/M Noun: uncountable +Pataday/M +Patagonia/M +Patagonian/SM +Patanol/M +Pataskala/M +patball/M Noun: uncountable +patch/DESG +patch/M +patchable +Patcham/M +patcher/EM +Patching/M +Patchogue/M +patchouli/SM +Patchway/M +patchwork/RSMZd +patchy/TYP +pâté/SM +pate/SM +Patea/M +patée +Patel/M +Pateley/M +patella/M +patellae/M +patellar +patellate +paten/SM +patency/SM +patent/YSMD7G +patentee/SM +patentor/MS +patera/M +paterae/M +paterfamilias/MS +paternal/Y +paternalism/SM +paternalist/SMW +paternity/MS +Paterno/M +Paternoster/M +paternoster/SM +Paterson/M +path-loss +path/pSM= +Pathan/SM +Pathé/M +pathetic/YOP +patheticly +pathetism/M Noun: uncountable +pathfinder/MS +pathfinding/M Noun: usually uncountable +Pathhead/M +pathia/SM +pathic/SMY +pathicism/M +pathname/MS +pathoanatomic/OY +pathobiology/3wM +pathogen/WSM +pathogenesis/M +pathogenetic +pathogenicity/SM +pathogenous +pathogeny/1SM +pathognomonic +pathognomy/M +pathology/SM3w1W +pathometry/M Noun: uncountable +pathophobia/SM +pathophysiologic/OY +pathophysiology/SM3 +pathos/SM +pathotoxin/SM +pathotype/SM +pathway/SM +pathworking/M Noun: uncountable +patience/ISM +patient/eMS +patienter +patientest +patiently/I +patina/SMD +patinate/SGDN +patine/MS +patinous +patio/MS +patisserie/SM +Patman/M +Patna/M +Patney/M +patois/M +Patoka/M +Paton/M +Patpong/M +Patras/M +Patreon/M +patrial/MS +patriality/MS +patriarch/ZMO +patriarchate/MS +patriarchism/M +patriarchs +patriarchy/SM1 +Patrice/M +Patricia/M +Patrícia/M +patrician/MS +patricianship +patriciate/MS +patricide/SMO +Patricio/M +Patrick/M +patriclan/SM +patrie/SM +patrifocal +patrilateral +patriline/SM +patrilineage/SM +patrilineal +patrilocal +patrimony/MSO +Patrington/M +patriot/1WSM3 +patriotism/SM +patristic/SOY +Patroclus/M +patrol/MDGS +patrolatry/M +patrolette/SM +patrology/SM3w +patron/QYMqsSO +patronage/SM +patroness/SM +Patroni/M +patronise/k +patronymic/YSO +patroon/MS +Patshull/M +Patsy/M +patsy/MS +Pattaya/M +pattée +patten/MS +Pattens/M +patter/dSr +Patterdale/M +pattern/SGDpM +Patterson/M +Patti/M +Pattingham/M +Pattinson/M +Pattishall/M +Pattiswick/M +Patton/M +Patty/M +patty/MS +patulin/SM +patulous/P +Patumahoe/M +paua/MS +Pauanui/M +Pauatahanui/M +paucibacillary +paucity/SM +Paul/M +Paula/M +Paulding/M +Paulerspury/M +Paulette/M +Paulician/SM +Paulicianism/M +Pauline/M +Paulino/M +Paulinus/M +Paull/M +paullinic +Paulo/M +paulownia/MS +Paulton/M +Pauncefoot/M +paunch/S2GMZD +paunchy/T +Pauntley/M +pauper/QdMS +pauperism/MS +pause/GSDM +Pavão/M +Pavarotti/M +pave/ASDG +Pavel/M +Pavement/M +pavement/MS +Pavenham/M +paver/MS +pavilion/GDMS +paving/SM +paviour/SM +Pavlov/M +pavlova/MS +Pavlovian/Y +Pavo/M +paw/DSGM +Pawelec/M +pawkier +pawkiest +pawkiness/SM +pawky/Y +pawl/MS +Pawlett/M +pawn/SGDMpR +pawnbroker/SMZ +pawnbrokerage/SM +pawnbrokeress/SM +pawnbrokering +pawnbroking/M Noun: uncountable +Pawnee/M +pawnor/SM +pawnshop/MS +pawpaw/SM +Pawtucket/M +paxes +Paxil/M +Paxton/M +pay-as-you-earn +pay-bed +pay-claim +pay-off/MS +pay-packet/SM +pay/A7LSG +payable/SM +payback/SM +payday/SM +PAYE/M Noun: uncountable +payee/MS +payer/SM +Payette/M +Payhembury/M +paying/Kfc +payload/MS +Paymaster +paymaster/MS +payment/fMSc +Payne/M +paynim/MS +payoff/SM +payout/SM +PayPal/M +payphone/SM +payroll/SM +Pays-d'en-Haut/M +pays/fcK +paysage/MS +paysagist/MS +payslip/SM +Payson/M +Paythorne/M +Payton/M +paywall/SMD +Paz/M +Pazdur/M +Pb +PBX/SM Initialism of private branch exchange +pc +PC/SM +PCB/SM +PCI/M +PCIe/M +pcm +PCMCIA/M +pd +PDA/SM +Pde +pdf/M +PDF/SM +PDP +PDQ +PDSA +PDT +PE +pea-green +pea/MS +peaberry/SM +Peabody/M +Peace/M +peace/Ml6j +peaceable/P +peacebuilding/M Noun: uncountable +peaceful/TP +Peacehaven/M +peacekeeper/SM +peacekeeping/M Noun: usually uncountable +peacemaker/SM +peacemaking/M +peacemonger/dSM +peacetime/SM +peach/IDSG +Peach/M +peach/M +Peachey/M +Peachtree/M +peachy/T +peacock/MS~ +Peacocke/M +peacockery/MS +peafowl/MS +peahen/MS +peak/DM2SiGZ +Peak/M +Peake/M +peakier +peakiest +Peakirk/M +peal/M +peal/SAGD +Peale/M +pean/M +Peano/M +peanut/SM +pear/MYS +Pearce/M +pearl/GDSMr +Pearl/M +Pearland/M +pearlescent +pearlite/SM +pearlwort/MS +pearly/TSM +Pearne/M +Pearson/M +Peartree/M +peartree/SM +Peary/M +peasant/MS +peasanthood +peasantry/MS +peascod/MS +Pease/M +peasecod +Peasedown/M +Peasemore/M +Peasenhall/M +Peasholme/M +peashooter/SM +Peasmarsh/M +peasy +peat/ZSM +peatbog/MS +peatery/MS +peatland/SM +Peatling/M +peaty/T +pebble/DYMGS +pebbling/SM +pebbly/T +pebibit/SM +pebibyte/SM +Pebmarsh/M +pebrine/MS +Pebworth/M +pecan/MS +peccability/M +peccable +peccadillo/M +peccadilloes +peccancy/M +peccary/MS +peck/SGMRD~ +Peckforton/M +Peckham/M +Peckleton/M +Pecksniff/MS +Pecksniffian +pecorino/SM +Pecos/M +pectase/SM +pectate/SM +pecten/MS +pecteniform +pectenoid +pectic +pectin/MSWO +pectinase/SM +pectinate/DN +pectines +pectinesterase/SM +pectinibranch/M +pectinibranchs +pectiniform +pectinirhomb/M +pectinoid/SM +pectolite/SM +pectoral/SM +pectoralis/M +peculate/GDSn +peculator/SM +peculiar/SMY +peculiarity/SM +pecuniary/Y +pecunious +pedagogal +pedagogic/S +pedagogism/M +pedagogist/SM +pedagogue/SM +pedagoguery/SM +pedagoguette/SM +pedagoguish +pedagoguism/M +pedagogy/1SMWw +pedal/RGMSD +pedalboard/SM +pedalist/SM +pedality/SM +pedalo/MS +pedaloes +pedant/WSM1 +pedantical/Y +pedanticalness/M Noun: uncountable +pedantry/SM +pedatisect +Peddars +peddle/SDGR +pederast/ZSMW +pederasty/SM +pedesis/M Noun: uncountable +pedestal/DGMS +pedestrial/Y +pedestrian/QqMS +pedestrianism/M +pedestrious +pedial +pediatrist/MS +pediatry/M +pedicab/SM +pedicel/SM +pedicellate +pedicle/SMD +pedicular +pediculate +pediculophobia/M Noun: uncountable +pediculosis/M +pediculous +pedicure/GS3DM +pediferous +pediform +pedigerous +pedigree/SMp +pedigreed +pediment/DO +pediment/ISM +pediocratic +pedipalp/OSM +pedipalpi/M Plural of pedipalpus +pedipalpus/M +pediscript/SM +pedlar/SM +pedlary/M +Pedmore/M +pedogenetical/Y +pedologist/MS +pedology/M Noun: uncountable +pedometer/MS +pedoscope/SM +pedosphere/SM +Pedrick/M +Pedro/M +peduncle/MS +Pedwardine/M +pee/RGS +Peebles/M +Peeblesshire/M +peek/SDG +peekaboo/SM +Peekskill/M +peel/DGSJr +Peel/M +Peele/M +Peelite/MS +peen/SGDM +peep-hole/SM +peep-show/MS +peep/DSRGZ +peephole/SM +peepul/MS +peer/pDSGM +Peerage +peerage/SM +peeress/SM +peerless/PY +Peetham/M +peeve/MSGDR +Peever/M +peevish/PY +peewee/SM +peewit/MS +peg-like +peg/GSDMR +Pegasean +pegasid/SM +Pegasus/M +pegboard/SMG +pegbox/SM +Peggy/M +peggy/SM +pegmatite/SM +pegtop/MS +Pehlevi/M +Peigan/SM +peignoir/MS +Peirce/M +Peixoto/M +pejorate/SGD +pejoration/SM +pejorative/YSM +pejorism/M Noun: uncountable +pejorist/SM +Peka/M +Pekah/M +Pekahiah/M +pekan/MS +Pekar/M +peke/SM +Pekin/M +Pekinese/M +Peking/M +Pekingese/M +pekoe/MS +pelade/WM +pelage/WOSM +Pelagian/SM +Pelagianism/M Noun: uncountable +Pelagius/M +pelargonic +pelargonium/SM +Peldon/M +Pele/M +Pelé/M +pele/MS +pelecypod/SM +Pelée/M +Pelenna/M +pelerine/MS +pelf/M Noun: uncountable +Pelham/M +pelham/MS +pelican/SM +pelisse/MS +pell-mell/M +Pell/M +pell/SM +Pella/M +pellagra/SM +pellagrous +pellet/dMS +pellicle/SM +pellicular +pellitory/MS +pellucid +Pelman/M +Pelmanism/M +pelmet/SM +pelobatoid/SM +Peloponnese +Peloponnesian/SM +Peloponnesus/M +Pelops/M +pelorism/M Noun: uncountable +Pelosi/M +peloton/SM +Pelsall/M +pelt/DGSrM +pelta/M +peltae/M +peltage/M +peltast/SM +peltate/YN +pelterer/SM +peltiform +peltry/MS +pelves +pelvic/S +pelvis/MS +pelycosaur/SM +Pelynt/M +Pemberton/M +Pembrey/M +Pembridge/M +Pembroke/M +Pembrokeshire/M +Pembury/M +Pemiscot/M +pemmican/SM +pemphigoid/M +pemphigous +pemphigus/M +pen-and-ink +Pen-Boyr/M +pen-name/SM +Pen-y-bont-fawr/M +Pen-y-Clawdd/M +Pen-y-graig/M +Pen/M +pen/oGDMSO +Pena/M +penalise/SGDn +penality/SM +Penallt/M +Penally/M +penalty/SM +penance/DSGM +Penang/M +penannular +Penarth/M +penates +Penbedw/M +Penberthy/M +Penbryn/M +Pencaer/M +Pencaitland/M +Pencarreg/M +pence/Mp +penchant/SM +penciclovir/M Noun: uncountable +pencil/MGDJSR +Penclawdd/M +Pencoed/M +Pencombe/M +Pencoyd/M +Pend/M +pend/SGDM +pendant/CMS +pendency/M +pendent/SM +pendentive/MS +Pender/M +Penderry/M +Penderyn/M +Pendine/M +Pendle/M +Pendlebury/M +Pendleton/M +Pendock/M +Pendomer/M +Pendoylan/M +pendulate/DGS +penduline/SM +pendulosity/SM +pendulous/PY +pendulum/SM +penectomy/SM +Penegoes/M +Penelope/M +peneplain/MS +penetrability/IMS +penetrable/I +penetralia +penetrant/SM +penetrate/vnBSDVkuG +penetrative/P +penetrator/SM +Penfield/M +penfriend/SM +Pengam/M +penguin/SM +Penh/M +penholder/MS +Penhow/M +Penhurst/M +penial +penicillamine/SM +penicillate +penicillia/M +penicillin/SM +penicillinase/SM +penicillium/SM +Penicuik/M +penile +Penilee/M +Peninsula/M +peninsula/SM +peninsular +peninsulate/DGS +penis/MS +Penistone/M +penistone/SM +penitence/SIM +penitent/ISY +penitent/M +penitential/YS +penitentiary/SM +Penketh/M +Penkevil/M +penknife/M +penknives +Penkridge/M +Penley/M +penlight/MS +Penllech/M +Penllergaer/M +Penllyn/M +Penmachno/M +Penmaen/M +Penmaenmawr/M +penman/M +penmanship/MS +Penmark/M +penmen/M +Penmon/M +Penmorva/M +Penmynydd/M +Penn/M +Pennal/M +Pennant/M +pennant/MS +Pennard/M +pennatulid/SM +penne/M Noun: uncountable +Pennell/M +Penney/M +pennillion/M +Pennine/SM +Penninghame/M +Pennington/M +pennon/SM +Pennsauken/M +Pennsboro/M +Pennsville/M +Pennsylvania/M +Pennsylvanian/SM +penny-farthing/SM +penny-pinching/SM +penny/pMS +pennyroyal/SM +pennyweight/SM +pennyworth/M +Penobscot/M +penology/S3Mw +penoscrotal +penpalship +penpoint/SM +Penpont/M +Penrhiwceiber/M +Penrhos/M +Penrhosllugwy/M +Penrhyn/M +Penrhyndeudraeth/M +Penrice/M +Penrith/M +Penrose/M +Penryn/M +pens/XuNvV +Pensacola/M +Pensax/M +Penselwood/M +Penshaw/M +Penshurst/M +pensile +pension/7GMRDp +pensionary/MS +pensiveness/S +Pensnett/M +penstemon/MS +Pensthorpe/M +penstock/MS +Penston/M +pent-up +pent/A +penta-atomic +pentachlorophenol/SM +pentachord/SM +pentachromic +pentacle/MS +pentacosanoic +pentacrinite/SM +pentacrinoid/SM +pentactin/OM +pentactine/M +pentacyclic +pentad/MSW +pentadactyl +pentadactylism/M Noun: uncountable +pentadactylous +pentadactyly/WM +pentadecane/SM +pentadecanoic +pentadelphous +pentadentate +pentadentative +pentadodecahedron/SM +Pentagon/M +pentagon/oSM +pentagonal/S +pentagram/SM +pentahedra +pentahedron/MS +pentamerous +pentameter/MS +pentandrous +pentane/SM +pentangle/MS +pentangular +pentanoic +pentaprism/MS +pentaquark/SM +pentasyllabic +Pentateuch/MO +pentathlete/SM +pentathlon/SM +pentatomic +pentatonic +pentatriacontanoic +pentavalent +Pentax/M +pentazocine/SM +Pentecost/M +Pentecostal/SM +Pentecostalism +Penterry/M +Pentewan/M +penthouse/SM +Penticton/M +pentimenti/M +pentimento/M +Pentir/M +pentium +Pentium/SM +pentlandite/SM +Pentlow/M +Pentney/M +pentobarbitone/M Noun: usually uncountable +pentode/MS +Penton/M +Pentonville/M +pentose/SM +pentosyltransferase/SM +pentoxide/SM +Pentraeth/M +Pentre/M +Pentrefoelas/M +Pentrich/M +Pentridge/M +pentstemon/MS +Pentwyn/M +pentyl/M +Pentyrch/M +penult/SM +penultimate/SMY +penumbra/OSM +penumbrae/M +penurious/YP +penury/SM +Penwardine/M +penwiper/MS +Penwortham/M +Penyard/M +Penybont/M +Penycae/M +Penydarren/M +Penyffordd/M +Penylan/M +Penyrheol/M +Penystrywaid/M +Penywaun/M +Penzance/M +peon/SZM +peonage/SM +peony/MS +people/DMGS +Peopleton/M +Peoria/M +Peover/M +PEP/SM +pep/ZDSGRM +Peper/M +peperino/M +peperomia/SM +peperoni/M +peplomer/SM +peplum/MS +pepo/MS +Peppard/M +pepper/Zdr +pepperbox/MS +peppercorn/MS +Pepperell/M +peppergrass/M +peppermint/SMZ +pepperoni/SM +pepperwort/MS +peppy/PT +Pepsi/SM +pepsin/SM +pepsinogen/SM +peptic/SM +peptide/MS +peptidoglycan/SM +peptone/SM +Pepys/M +Pequannock/M +per/y +peradventure/SM +perambulate/DGnS +perambulator/SM +perambulatory +Perantalamma/M +percale/SM +Perce/M +perceivability/M Noun: uncountable +perceivable/Y +perceive/aSD +perceive/Gr +percent/M +percentage/SM +percentile/MS +percept/vbVMoxSu +perceptibility/I +perceptible/YI +perceptibly/I +perception/MS +perceptive/P +perceptivity/M Noun: usually uncountable +perceptual +perch/DGMSr +percha +perchance +Percheron/M +percheron/MS +perchlorate/SM +perchloric +perchlorination/SM +perchloroethylene/SM +perciform/SM +percipience/SM +percipient/SMY +Percival/M +percolate/nDSG +percolator/MS +percomorph/SM +percreta +percuss/DvuSGV +percussion/SM3 +percussional/Y +percussive/P +percutaneous/Y +Percy/M +perdition/MS +Perdue/M +perdurability/M Noun: uncountable +perdurable/Y +perdurableness/M Noun: uncountable +perdurance/SM +perdurant/SM +perduration/M Noun: uncountable +Pere/MS +Perea/M +peregrinate/DSG +peregrinator/MS +peregrine/nSM +pereiopod/SM +Pereira/M +Perelman/M +peremptory/YP +perennate/SGDN +perennial/YSM +perenniality/M +Peres's +pères/F +perestroika/SM +perfect/hrbDYTuPSGVv +perfectability/M Noun: uncountable +perfectibility/MS +perfection/ISM +perfection/O +perfectionism/SM +perfectionist/MSW +perfective/P +perfectly/I +perfectness/SI +perfecto/MS +perfervid/Y +perfidious/PY +perfidy/SM +perfluorinated +perfoliate +perforate/SDGn +perforative +perforator/MS +perforce +perform/eDGS +performable +performance/MS +performant/SM +performative/SMY +performativity/SM +performed/Uf +performer/MS +perfume/GMDRSp +perfumelessness/M Noun: uncountable +perfumery/MS +perfumist/SM +perfunctory/PY +perfuse/SGD +perfusion/SM +perfusive +Perga/M +Pergamon/M +pergana/MS +pergola/SM +perhaps +peri-peri/M +peri/MS +Peria/M +perianth/SM +periapsis/M +periapt/MS +periaqueductal/Y +periastron/SM +periauricular +pericapillary +pericardia/MOW +pericardiac +pericardiacophrenic +pericardiectomy/SM +pericardiocenteses +pericardiocentesis/M +pericardiotomy/SM +pericarditis +pericardium/M +pericarp/OMSW +pericarpial +pericarpium/M +pericellular/Y +pericephalic +pericerebral +pericholecystitis/M Noun: uncountable +perichondrium/M +perichoresis/M Noun: uncountable +periclase/M +Periclean +Pericles/M +periclinal/Y +pericline/OSM +pericope/MS +pericortical +pericranial/Y +pericranium/MS +periculous +pericycle/MSW +pericynthion/SM +pericyte/SM +peridental +periderm/OSM +peridermis/M +peridia/M +peridinian/M +peridium/M +peridot/SMW +peridural +perigean +perigee/MS +perigenital +periglacial/Y +periglandular +perigynous +perigyny/M +perihelia/MW +perihelion/M +perijove/SM +peril/MSDG +perilla/SM +perilous/PY +perilune/SM +perilymph/M +perimenopause/OM +perimeter/SM +perimetria/M +perimetrium/M +perinatal +perinea/OM +perineum/M +Perinton/M +perinuclear +periocular +period/Mw1WS +periodate/SM +periodical/SM +periodicity/MS +periodogram/SM +periodograph/M +periodology/M +periodontal/Y +periodontics +periodontist/SM +periodontology/M Noun: uncountable +perioperative +perioral +periostea/MO +periosteum/M +periostitis +periostraca/M +periostracum/M +periotic/SM +Peripatetic/MS +peripatetic/SMY +peripateticism/M Noun: usually uncountable +peripeteia/SM +peripheral/SMY +periphery/SM +periphrases +periphrasis/M +periphrastic/Y +periphyton/SM +peripteral +periscope/SMW +perish/7RGDkS +perishable/IS +perishable/M +perishableness/M Noun: usually uncountable +perisperm/SMW +perisporangium/M +perissodactyl/SM +peristalith/SM +peristalses +peristalsis/M +peristaltic/Y +peristome/SM +peristyle/MS +peritoneal +peritoneum/MS +peritonitis/MS +Perivale/M +perivascular +perivitelline Adjective +periwig/DSM +periwinkle/MS +perjink Adjective +perjure/DRSGZ +perjurious/Y +perjury/MS +perk/DzGS +Perkins/M +perky/TP +Perl/M +Perlethorpe/M +perlite/SM +Perlman/M +perlocution/SM +perlocutionary +Perloff/M +perm/GSDM +perma +permaculturalist/SM +permaculture/SMO3 +permadeath/SM +permafrost/MS +permalink/SM +permalloy/SM +permanence/MZS +permanency/SM +permanent/PY +permanently/I +permanganate/SM +permanganic +permeability/SIM +permeable/IP +permeance/SM +permease/SM +permeate/BDnGS +permethrin/SM +Permian/SM +Permic +permie/SM +permillage/SM +permineralised +permissibility/SM +permissible/PY +permission/Mp +permissive/YP +permit/GXDMNS +permittee/SM +permittivity/SM +permutational +permute/DGSn +Permutotetraviridae Taxonomic family +permy/SM +pernicious/YP +pernickety +pernoctate/DGSn +Pero/M +peroneal +perorate/DGS +peroration/SM +perovskite/SM +peroxidase/SM +peroxide/SDMG +peroxisome/SM +perpendicular/SMY +perpendicularity/MS +perpetrate/SGDn +perpetrator/SM +perpetual/SY +perpetuality/M Noun: uncountable +perpetuance/M +perpetuate/GnSD +perpetuator/SM +perpetuity/SM +perphenazine/M Noun: usually uncountable +perplex/ihDGSk +perplexability/M +perplexity/MS +Perquimans/M +perquisite/MS +Perran-ar-Worthal/M +Perranarworthal/M +Perranuthnoe/M +Perranzabuloe/M +Perrault/M +Perren/M +Perrier/M +Perrin/M +Perrine/M +Perris/M +perron/MS +Perrot/M +Perrotin/M +Perrott/M +Perry/M +Perrysburg/M +Perryville/M +Perse/M +persecute/yDSG +persecution/SM +persecutor/MS +Persephone/M +Persepolis/M +Perseus/M +perseverance/MS +perseverate/SGDN +persevere/kGDS +Pershore/M +Persia/M +Persian/MS +persiflage/MS +persimmon/SM +persist/DSGr +persistence/SM +persistency/SM +persistent/Y +Perskyi/M +person-to-person +person/7oSM +Person/M +persona/MS +personable/P +personae/M +personage/MS +personal/QqY +personalise/CnSGD +personality/SM +personalty/MS +personam ad personam +personate/DGSn +personative +personator/SM +personed +personeity/SM +personëity/SM +personhood/SM +personify/SnDGr7 +personnel/MS +perspective/OYSM +Perspex/M +perspex/M Noun: uncountable +perspicacious/YP +perspicacity/SM +perspicuity/MS +perspicuous/YP +perspiratory +perspire/DGnS +persuadable +persuade/DVRSvuG +persuasible +persuasion/SM +persuasive/P +pert/PTY +pertain/DSG +Pertenhall/M +Perth/M +perthitic +Pertholey/M +Pertholley/M +Perthshire/M +pertinacious/PY +pertinacity/SM +pertinence/IS +pertinency/MS +pertinent/YI +Perton/M +perturb/GSnD +perturbative +pertussis/M +Pertwood/M +Peru/M +Perugino/M +peruke/SM +perusal/MS +peruse/DRGS +Peruvian/SM +perv/SGDM +pervade/uDGVSv +pervaporation/M Noun: uncountable +pervasion/SM +pervasive/P +perverse/PVY +perversion/SM +perversity/SM +pervert/DhSiGR +pervious +perviousness/M Noun: uncountable +pervo/SM +pervy/TP +Pesach/M +pescatarian/SM +Pescatore/M +pescetarian/SM +Pescetti/M +peseta/SM +pesharim/M +Peshawar/M +pesher/SM +Peshitta/M +pesky/TYP +peso/MS +pessary/SM +pessimal/Y +pessimism/MS +pessimist/MSW1 +Pessoa/M +pest/SM +pester/dS +pesticide/SMO +pestiferous/Y +pestiferousness/M Noun: uncountable +pestilence/SM +pestilent/Y +pestilential/Y +pestle/DSMG +pesto/SM +pestologist/MS +pestology/M Noun: uncountable +pet/SRGMD +petabit/SM +petabyte/SM +petaflop/SM +Petal/M +petal/MSD +petaline Adjective +petaloid Adjective +petalon/MS +Petaluma/M +petapascal +petard/MS +petasecond/SM +petasus/M +petawatt/SM +petcock/SM +Pete/M +petechia/OM +petechiae/M +peter/dS +Peter/MS +Peterborough/M +Peterchurch/M +Peterculter-Milltimber/M +Peterculter/M +Peterhead/M +Peterhouse/M +Peterlee/M +Peterloo/M +peterman/M +petermen/M +Petersburg/M +Petersen/M +Petersfield/M +Petersham/M +petersham/SM +Petersmarland/M +Peterson/M +Peterston-super-Ely/M +Peterston-super-Montem/M +Peterstone/M +Peterstow/M +Petham/M +Petherton/M +Petherwin/M +pethidine/SM +petiolar +petiolate +petiole/SM +petit +Petit/M +petite/PS +petitgrain/M Noun: uncountable +petitio +petition/DG +petition/FSAM +petitionable +petitionary +petitioner/SM +Petone/M +Petoskey/M +Petr/M +Petra/M +Petraeus/M +Petrarch/M +Petrarchan +Petrarchanism/M Noun: uncountable +Petrarchism/SM +petrel/SM +Petri/M +Petrie/M +petrifaction/SM +petrify/GSND +Petrine +Petro/M +Petroc/M +petrochemical/SM +petrochemistry/M Noun: uncountable +Petrock/M +Petrockstowe/M +petrodollar/SM +petrogenesis/M Noun: usually uncountable +petrogeny/M Noun: uncountable +petroglyph/MS +petrographic/O +petrography/M +petrol/MSW +petrolea/M Plural of petroleum +petroleum/SM +petrology/MS3wW +Petronas/M +petronel/MS +petrosal/SM +petroselinic +petrous +Petrov/M +Petrovich/M +Petrox/M +Pett/M +Pettaugh/M +petticoat/SDM +pettifog/RGDS +pettifoggery/SM +Pettigrew/M +Pettinain/M +Pettingill/M +Pettis/M +pettish/YP +Pettistree/M +Petton/M +Petty/M +petty/TSYP +petulance/SM +petulant/Y +petunia/SM +Petworth/M +Peugeot/M +Pevensey/M +Peverel/M +Peverell/M +Pevsner/M +pew/MSp +Pewaukee/M +pewee/SM +pewit/SM +Pewsey/M +pewter/MSr +peyote/MS +peyotism/M Noun: uncountable +Peyroux/M +Peyton/M +PFC/SM +Pfeifer/M +Pfeiffer/M +pfennig/MS +Pfister/M +Pfizer/M +Pflugerville/M +PFS +PG +pg. +PGA/M +PGP/M +Ph.D. +pH/MS +Phabricator/M +Phaedo/M +Phaethon/M +phaeton/MS +phage/SM +phagedaena/MSW +phagedena/SW +phagocyte/WMS +phagocytise/SGD +phagocytose/DGSW +phagocytosis/M +phalange/OSMr +phalansterian/SM +phalanstery/MS +phalanx/SM +phalarope/SM +phalli/M +phallicism/SM +phallism/M Noun: uncountable +phallocentric +phallocentricity/M Noun: uncountable +phallocentrism/M Noun: usually uncountable +phallologocentric +phallophoria/WM +phalloplasty/SM +phallus/WMS +phanerogam/MS +phanerogamic +phanerogamous +phaneromania/SM +Phanerozoic +phantasm/OMSW +phantasmagoria/MSO +phantasmagorian +phantasmagoric/OY +phantasmagorist/M +phantasmagory/SM +phantasmogenesis +phantasmogenetic +phantasmology/Mw +phantasy/SM +phantom/MSW +Pharaoh/M +pharaoh/SM +Pharaonic +Pharisaic/O +Pharisaism/M Noun: uncountable +Pharisee/SM +pharma/SM +pharmaceutical/SY +pharmaceutics +pharmacodynamic/SY +pharmacognosist/SM +pharmacognosy/SM +pharmacokinetic/SY +pharmacology/3M1SwW +pharmacopoeia/OSM +pharmacotherapy/SM +pharmacy/3SM +pharming/M Noun: uncountable +pharos/M +Pharr/M +Pharrell/M +pharyngal +pharyngeal/SM +pharynges +pharyngitides +pharyngitis/M +pharyngocele/SM +pharyngoscope/SM +pharyngotomy/MS +pharynx/M +phase/MDGRSW +phaseout/SM +phasic +phasor/SM +phat +PhD/SM +pheasant/MS +pheasantry/SM +Phedina Taxonomic genus +Pheidippides/M +phellandrene/SM +phellem/SM +phellogen/SM +Phelps/M +phenacetin/SM +phenakistoscope/SM +phencyclidine/SM +phenetic/SY +phenformin/M Noun: uncountable +Phenix/M +phenobarbital +phenobarbitone/SM +phenocopy/SM +phenocryst/SM +phenogenetics +phenogram/SM +phenol/SWM +phenologist/SM +phenology/wM +phenolphthalein/SM +Phenom/M +phenom/SM +phenomena/MOo +phenomenalism/SM +phenomenalist/WSM +phenomenology/S1Mw3 +phenomenon/SM +phenosafranin/M Noun: uncountable +phenosafranine/M Noun: uncountable +phenothiazine/SM +phenotype/GMSW +phenotypical/Y +phenoxide/SM +phenoxy/M +phenoxymethylpenicillin/M Noun: uncountable +phenoxys +phentermine/M Noun: uncountable +phenyl/SM +phenylacetic +phenylalanine/SM +phenylamine/SM +phenylephrine/M Noun: usually uncountable +phenylethylamine/SM +phenylmethyl/M +phenytoin/SM +pheromone/MSO +phew/S +phi/MS +phial/SM +Phil/M +Philadelphia/M +Philadelphian/SM +philadelphus/SM +philander/drSM +philanthrope/SM +philanthropism/M Noun: uncountable +philanthropy/1MSWw3 +philately/3SWM +Philby/M +Philemon/M +philharmonic/SM +philhellene/MSW +philhellenism/M Noun: usually uncountable +philhellenist/S +Philip/SM +Philipose/M +Philipp/M +Philippe/M +Philippi/M +Philippian/SM +philippic/MS +Philippine/M +Philippines/M +Philippsburg/M +Philipsburg/M +Philistine/MS +philistine/SM +philistinism/SM +Phillack/M +Philleigh/M +Phillimore/M +Phillip/M +Phillips/M +Phillipsburg/M +phillipsite/M Noun: uncountable +Phillipstown/M +phillumenist/MS +phillumeny/M +philobiblic +philodendron/MS +philogynist/SM +philologer/SM +philologian/SM +philologue/SM +philology/M13wS +philomath/SM +Philomel/M +Philomela/M +philopatry/WM +philoprogenitive +philoprogenitiveness/M Noun: uncountable +philosophaster/SM +philosopher/MS +philosophy/w1sWQSM +philotechnic +philtra/M +philtre/SM +philtrum/M +Phipps/M +phish/SGDr +phlebitides +phlebitis/M +phlebotomise/SDG +phlebotomist/SM +phlebotomy/SM +phlegm/SM +phlegmatic/Y +phloem/SM +phlogiston/M Noun: usually uncountable +phlogopite/SM +phlox/SM +Phnom/M +pho +phobe/SM +phobia/MS +phobic/SM +Phobos/M +Phocaea/M +phoebe/MS +Phoebus/M +Phoenicia/M +Phoenician/SM +Phoenix/M +phoenix/MS +Phoenixville/M +Pholidota Taxonomic order +Pholus/M +phon/SMW +phonate/DGS +phonation/SM +phonatory Adjective +phonautograph/SM +phone-in/SM +phone/ZSWG1DM +phonecard/SM +phoneme/MS1W +phonemic +phonemics/M Noun: uncountable +phonendoscope/SM +phonetic/SMY3 +phonetician/SM +phoneticism/M Noun: uncountable +phonetics/M Noun: uncountable +phonetist/MS +phoney/SM +phonics/M Noun: uncountable +phonoautograph/SM +phonogram/SM +phonograph/DWSM1 +phonography/M Noun: usually uncountable +phonolite/MS +phonology/13wSM +phonometer/MS +phonon/SMW +phonoscope/SM +phonotactic/S +phony/PMSTY +phooey/SM +phormium/MS +phoronid/SM +Phoronida Taxonomic phylum +phosgene/M Noun: usually uncountable +phosphatase/SM +phosphate/MSW +phosphatidyl/M Noun: usually uncountable +phosphatidylethanolamine/SM +phosphatise/SGDN +phosphene/SM +phosphide/SM +phosphine/SMW +phosphite/MS +phosphodiesterase/SM +phosphoenolpyruvate/M Noun: usually uncountable +phospholipase/SM +phospholipid/SM +phosphomolybdic +phosphomonoesterase/SM +phosphonate/SM +phosphoprotein/SM +phosphor/SWM +phosphorate/DGS +phosphoresce/SGD +phosphorescence/MS +phosphorescent/YSM +phosphoribosyltransferase/SM +phosphorite/SM +phosphormonoesterase/SM +phosphorous +phosphorus/M +phosphoryl/SM +phosphorylate/SGDN +phosphotungstic +phosphuretted +phosphyl/M +phossy +phosvitin/SM +photism/MS +photo-oxidation/M +photo-oxidative +photo/MS +photoabsorbing +photoabsorption/M Noun: uncountable +photoacoustic +photoacoustics/M Noun: uncountable +photoact +photoaction +photoactivatable +photoactivate/SGDN +photoactive +photoactivity/SM +photoaffinity/M Noun: uncountable +photoaged +photoageing/M +photoaging/M Noun: uncountable +photoallergy/WSM +photoassimilate/N +photoautotroph/WZ +photobleaching +photoblog/SMRG +photobomb/SGDR +photocall/SM +photocard/SM +photocell/SM +photochemical/Y +photochemistry/M Noun: usually uncountable +photochrom/SM +photochrome/SM +photochromic +photochromism/SM +photocoagulation/SM +photocoagulator/SM +photocollage/SM +photocompose/SGDNr +photoconductive +photoconductivity/SM +photoconductor/SM +photocopy/DRGSM +photocurrent/SM +photocycle/SM +photodamage/SM +photodegradable +photodegradation/M Noun: uncountable +photodegrade +photodetector/SM +photodiode/SM +photodissociate/SGDn +photodynamic +photoelectric/Y +photoelectricity/M Noun: uncountable +photoelectromagnetic +photoelectron/SMW +photoelectronics +photoemission/SM +photoemissive +photoemitter/SM +photoengraved +photoengraver/SM +photoengraving/MS +photoessay/SM +photofinishing/MS +photofission/M Noun: uncountable +photofit/SM +photoflash/SM +photofluorography/M Noun: uncountable +photogenic/Y +photogeology/3wM +photoglyphography/M +photoglyphy/WM +photogoniometer/SM +photogoniometry/M +photogram/SM +photogrammeter/SM +photogrammetrical/Z +photogrammetry/W3 +photograph/R1GZDWSM +photography/SM +photogravure/SM +photoionisation/SM +photojournalism/MS +photojournalist/MS +photolitho/M +photolithography/W1M +photolysis/M +photolytic +photomagnetoelectric +photomask/SM +photometer/1WSM +photometry/M Noun: usually uncountable +photomicrograph/ZSM +photomicrography/M Noun: uncountable +photomontage/SM +photomosaic/SM +photomultiplier/MS +photon/SMW +photonegative +photonics/M Noun: uncountable +photophobia/M Noun: usually uncountable +photophobic +photophone/SM +photophony/M Noun: uncountable +photophysical +photophysics/M Noun: uncountable +photopia/WM +photoplethysmograph/WSM +photopolarimetry/MW +photopolymer/SM +photopolymerisation/SM +photoproduct/SM +photoprotection/M Noun: uncountable +photoprotein/SM +photopsia/SM +photoreactivation/SM +photoreactive +photorealism/M Noun: uncountable +photorealist/WSM +photoreceptive +photoreceptor/SM +photoreconnaissance/M Noun: uncountable +photorecovery/M Noun: uncountable +photorefractive/Y +photorepair/M Noun: uncountable +photoresist/SM +photorespiratory Adjective +photosensitise/SGDNr +photosensitive/Y +photosensitivity/SM +Photoshop/SGDM +photosite/SM +photosphere/SMW +photostat/SGDW +photostationary Adjective +photostereogram +photostereograph/M +photostimulable +photostimulation/SM +photosyntheses +photosynthesis/SQdM +photosynthetic/Y +photosystem/SM +phototactic/OY +phototaxes +phototaxis/M +phototherapy/SM +phototoxic +phototoxicity/SM +phototransistor/SM +phototroph/WSM +phototropic/Y +phototropism/SM +phototypesetter/SM +phototypesetting/M Noun: uncountable +photovoltage/SM +photovoltaic +photoxidative +PHP/M +php/M +phrasal/Y +phrase/GDSA +phrase/M +phrasebook/SM +phrasemaking/M Noun: usually uncountable +phraseology/SM +phrasing/MS +phreak/SGDMR +phreatomagmatic/Y +phreatophyte/SMW +phrenic +phrenology/1w3MS +phrenopathy/SM +phrenosplenic +phrenotropic +phronesis/M Noun: uncountable +phronetal +phryganeid/SM +phryganid +Phrygia/M +Phrygian/SM +phycoerythrin/SM +phycology/3wM +phyla/M +phylactery/SM +phylloclade/SM +phyllode/MS +phyllophagous +phyllopod/MS +phyllosilicate/M Noun: usually uncountable +phyllotactic +phyllotaxis/M Noun: usually uncountable +phyllotaxy/SM +phylloxera/SM +phylloxerae/M +Phylloxeridae Taxonomic family +phylogenesis +phylogenetic/SY +phylogeny/SMW +phylotypic +phylum/M +phymosis +phys/w1 +physa/SM +physae/M +physaliferous +physalin/SM +physaliphorous +physalis/SM +physeter/SM +physharmonica/M +physiatrical +physiatrics/M Noun: uncountable +physic/S3DGM +physical/SP +physicalism/SM +physicalist/SMW +physicality/SM +physician/SM +physicist/SM +physico-chemical +physicochemical/Y +physicotherapy/M +physio/SM +physiochemical +physiocracy/M Noun: uncountable +physiocrat/SMW +physiocratism/M Noun: uncountable +physiogenesis/M Noun: uncountable +physiogenetic +physiogeny/M Noun: uncountable +physiognomist/MS +physiognomy/SM +physiographer/SM +physiographic/OY +physiography/MS +physiology/WM1Sw3 +physiotherapy/SM3 +physique/MS +physostigmine/SM +physostome/SM +physostomous +phytalbumin/M +phytane/SM +phytate/SM +phytobenthic +phytobenthos/M Noun: uncountable +phytochemical/SMY +phytochemist/SM +phytochemistry/M Noun: uncountable +phytochrome/SM +phytoflagellate/SM +phytogenetic/OY +phytogeographer/SM +phytogeographic/OY +phytogeography/SM +phytography/M Noun: uncountable +phytolith/SM +phytomer/MS +phytomonad/SM +phytonutrient/SM +phytopathogenic +phytopathology/3wM +phytophagous +phytoplankton/SM +phytoremediation/SM +phytosociology/M Noun: uncountable +phytotomy/MS +phytotoxic +phytotoxicity/SM +phytozoon/MS +pi/DR +Piaget/M +pianism/SM +pianissimi/M +pianissimo/SM +pianist/SMW +piano/3MS +pianoforte/MS +pianola/SM +Piantadosi/M +piastre/MS +Piatt/M +piazza/SM +Piazzi/M +PiB +pibroch/M +pibrochs +pic/SM +pica/SM +picador/MS +Picard/SM +picaresque +picaro/SM +picaroon/MS +Picasso/M +Picassoesque +Picayune/M +picayune/MS +Piccadilly/M +piccalilli/MS +piccaninny/MS +Picchu/M +piccolo/MS +pichiciago/MS +piciform +pick-me-up/SM +pick-up/MS +pick/DRSGZJ7 +Pickaway/M +pickaxe/SM +pickelhaube/SM +Picken/MS +Pickenham/M +pickerel/MS +pickerelweed/SM +Pickering/M +Pickerington/M +picket/rdMS +Pickett/M +Pickford/M +Pickhill/M +pickle/DSMG +picklock/MS +Pickmere/M +pickoff/SM +pickpocket/SMy +pickpocketing +pickproof +picksome +picktooth/SM +pickup/SM +Pickwell/M +Pickwickian +Pickworth/M +picky/TP +picnic/ZMRGSD +Pico/M +pico/M Noun: uncountable +picobar/SM +picofarad/SM +picogram/SM +picogramme/SM +picojoule/SM +Picornavirales Taxonomic order +picornavirus/SM +picosecond/SM +picot/SM +picotee/MS +picrate/MS +picric +Pict/MS~ +Pictland/M +pictogram/SM +pictograph/SMWZ +Picton/M +Pictor/M +pictorial/YPSM3 +pictorialism/SM +picturable +picture-writing +picture/DMSG +picturesque/PY +picturise/DGS +picul/S +piculet/SM +PID/SM +Piddinghoe/M +Piddington/M +piddle/GYDSM +Piddle/M +Piddlehinton/M +Piddletrenthide/M +piddock/SM +pidgin/SM +Pidley-cum-Fenton/M +Pidsea/M +pie/MS +piebald/SM +piece/MDSGR +piecemeal/SGDM +piecewise +piecework/MRS +piecrust/SM +Piedade/M +Piedmont/M +piedmont/SM +Piedmontese/M +Piegan/SM +pieing/SM +pieman/M +piemen/M +Pierce/M +pierce/RDSJkG +Piercebridge/M +Piercy/M +Pierhead/M +Pierian +pierless +piermaster/SM +Piero/M +Pierre-De/M +Pierre/M +Pierrepoint/M +Pierrepont/M +Pierron/M +pietà/SM +Pietermaritzburg/M +Pietilä/M +pietism/SM +pietist/SM +pietistic/OY +Pietro/M +piety/IMS +piezoelectric +piezoelectricity/M Noun: uncountable +piezometric +piezophile/SM +piffle/DSMG +piffler/MS +pig-headed +pig-sticker/SM +pig/LGZDMS +pigeon-breast/D +pigeon-fancier/MS +pigeon-toed +Pigeon/M +pigeon/SyM +pigeonhole/SMDGR +pigeonite/SM +pigeonry/SM +piggery/SM +piggish/YP +piggledy +piggy/TMS +piggyback/GDS +pigheaded/YP +piglet/SM +piglike +pigling/MS +pigman/M +pigmen/M +pigment/DnGO +pigmentary Adjective +pigmentosum +pigmy/SM +pignon/SM +pignut/SM +Pigot/M +Pigotts/M +Pigou/M +pigskin/SM +pigsty/MS +pigswill/M Noun: uncountable +pigtail/SMD +pigwash/M Noun: uncountable +pigweed/SM +pigwidgeon/SM +pigwidgin/M +Pikachu/M +Pike/M +pike/SRMDG +pikelet/MS +pikeman/M +pikemen/M +pikestaff/MS +pilaf/SM +pilaff/MS +pilaster/dMS +Pilate/M +Pilates/M +pilau/SM +Pilbara/M +Pilbrow/M +pilch/MS +pilchard/MS +pilcrow/SM +pile/GFSD +pile/Mr +piledriver/SM +piledriving/M +pileup/SM +pilewort/MS +pilfer/drS +pilferage/MS +pilgarlic/MS +pilgrim/dMS +pilgrimage/MSDG +pilgrimise/SGD +Pilham/M +piliferous +piliform +piling/MS +Pilkington/M +Pill/M +pill/SM +pillage/DGRS +pillar-box +pillar/MS +pillared +pillaret/MS +pillarisation/M Noun: uncountable +Pillaton/M +pillbox/MS +Pillerton/M +Pilleth/M +Pillgwenlly/M +Pilling/M +pillion/MS +pilliwinks +pillock/SM +pillorise/SGD +pillory/DSMG +pillow/GDMSZ +pillowcase/SM +pillowslip/SM +Pillsbury/M +Pillsburys +pillule/MS +pillwort/SM +Pilning/M +pilose +pilosity/M +pilot/SdMp +pilotage/SM +pilothouse/SM +piloting/M +pilous +Pilrig/M +Pils +Pilsdon/M +Pilsen/M +Pilsener/M +Pilsley/M +Pilsner/M +Pilson/M +Piltdown/M +Pilton/M +pilular +pilule/MS +pilulous +Pima/M +pimento/SM +Pimhill/M +pimiento/MS +Pimlico/M +Pimms/M +pimozide/M Noun: uncountable +pimp/YSDMG +Pimperne/M +pimpernel/MS +pimple/DSM +pimplike +pimply/MT +pin-rail +pin-up/MS +pin-wheel/SM +pin/MGdDJS +PIN/SM +pina/SM +pinafore/MS +Pinal/M +Pinard/M +pinaster/MS +pinata/SM +piñata/SM +pinball/SM +pinboard/SM +pince-nez/M +pince/RSM +pincered +pincette/MS +pinch/DSGRM +Pinchbeck/M +pinchbeck/M +Pincourt/M +pincushion/MS +Pindar/M +Pindaric/MS +Pindyck/M +pine/AGSD +pine/M +Pine/M +pineal/SM +pineapple/SM +Pinecrest/M +Pinehaven/M +Pinehill/M +Pinehurst/M +Pinellas/M +pinery/MS +Pines/M +Pineville/M +Pinewood/M +pinewood/SM +piney +pinfeather/SM +Pinfold/M +pinfold/SGDM +ping-pong/M +ping/SGDR7M +Pinglish +pinhead/SDiM +Pinheiro/M +Pinho/M +Pinhoe/M +pinhole/MS +pinion/DMGS +pink/PZDTMYGS +Pinkerton/M +Pinkett/M +pinkeye/SM +pinkie/SM +pinkish/P +Pinkney/M +pinky/SMT +pinna/M +pinnace/SM +pinnacle/DSMG +pinnae/M +pinnate/Y +Pinner/M +pinning/fS +pinniped/SM +Pinnock/M +pinnular +pinnule/MS +pinny/SM +Pinochet/M +pinochle/M +pinocytosis/M Noun: uncountable +pinocytotic +Pinole/M +pinolenic +piñon/SM +Pinot/M +pinout/SM +pinpoint/SDGM +pinprick/SDGM +pins/fU +pinstripe/DSM +pint/MS +pintado +pintail/SM +Pinter/M +Pinterest/M +pintle/MS +Pinto/MS +pintoresque +Pintsch/M +pintuck/SM +pinup/SM +Pinvin/M +pinwheel/SGDM +pinworm/SM +Pinxton/M +piny/T +Pinyin/M +Pio/M +pioglitazone/M Noun: uncountable +piolet/MS +Pion/M +pion/MSW +Pioneer/M +pioneer/SDGM +pionium/SM +Piopio/M +Piotr/M +Piotrowski/M +pious/PYI +piousness/IS +pip/drDkMGSp +pipa/MS +pipal/MS +Pipe/M +pipe/MSp +pipeclay/SGD +pipefish/SM +pipeful/MS +pipeline/DMS +Piper/M +piperazine/SM +piperic +piperidine/SM +piperin/SM +piperine/M Noun: usually uncountable +piperitious +piperonal +pipette/SMDG +pipework/M Noun: usually uncountable +piping/M +pipistrelle/MS +pipit/SM +Pipiwai/M +Pipkin/M +pipkin/SM +pippin/SM +pipsqueak/MS +Piqua/M +piquancy/SM +piquant/PY +pique/SMDG +piquet/M Noun: uncountable +piquette/SM +piracy/MS +Piraeus/M +piragua/SM +Piran/M +piranha/SM +pirarucu/MS +pirate/1MGDSwW +Pirbright/M +Pires/M +piri-piri/M +Pirie/M +piriform +piripiri/S +pirk/SM +Pirnmill/M +pirogue/SM +Pirongia/M +piroplasm/SMW +piroplasmosis +Pirou/M +pirouette/SGMD +Pirton/M +Pisa/M +piscary/SM +Piscataquis/M +Piscataway/M +piscatory/Oo +Piscean/SM +Pisces/M +pisciculture/MO3 +Piscis/M +piscivore/SM +piscivorous +Pisgah/M +pish/SGD +Pishill/M +pishogue/SM +pisiform/SM +pismire/SM +pisonia/SM +piss/DSGrZM +pissoir/MS +pistachio/SM +piste/SM +pistil/MS +pistillary +pistillate +pistol/SDGM +pistole/SM +pistoleer/SM +piston/MS +Pistyll/M +Pisum Taxonomic genus +pit-a-pat +pit/MGSD +Pita/M +Pitbull/MS +Pitcairn/M +pitch-and-toss +pitch-black +pitch-dark +pitch/RGDSZ +pitchblende/SM +Pitchcombe/M +Pitchcott/M +pitcherful/MS +Pitchford/M +pitchfork/SMDG +pitchier +pitchiest +pitching/M +pitchstone/M Noun: usually uncountable +Pitcombe/M +piteous/PY +pitfall/SM +pith/zZDMGSp +pithead/SM +pithecoid/SM +pithy/TP +pitiable/P +pitiful/PT +pitiless/PY +Pitkin/M +Pitlochry/M +pitman/M +Pitmedden/M +Pitminster/M +Pitney/M +piton/MS +pitot/SM +pitpan/SM +Pitressin/M +Pitsea/M +Pitsford/M +Pitsligo/M +Pitstone/M +Pitt/M +pitta/SM +pittance/MS +Pittaway/M +Pittenweem/M +Pittermann/M +Pittington/M +Pittman/M +Pitton/M +Pittsburg/M +Pittsburgh/M +Pittsfield/M +Pittsford/M +Pittsylvania/M +pituitary/MS +pity/SGMRjpklD76 +Pius/M +Piven/M +pivot/dSMOo +pivoting/SM +Piwowar/M +pix/M +pixel/SM +pixelate/SGDN +pixelisation +Pixelvision/M +pixie/MS~ +pixilated +pixillated +Pixley/M +pixmap/MS +pixsome +pizazz/SM +pizza/MS +pizzeria/SM +pizzicati/M +pizzicato/M +pizzle/SM +Pk +PKCS +PKI/M Initialism of Public Key Infrastructure +pl. +placable/Z +placard/GSMDr +placardeer/SM +placate/kyDVSGnr +place/EDRSLG +place/M +Place/M +placeable +placebo/SM +placed/aUA +placeholder/SM +placekick/SGD +placeless/Y +placeman/M +placemen/M +placement/eMS +placename/MS +placenta/MS +placentae/M +placental/SM +placentation/SM +Placentia/M +Placer/M +Placerville/M +places/aA +placet/MS +placid/YP +placidity/MS +placing/aA +placing/S +placket/SM +Plackett/M +placoderm/SM +placodont/SM +placoid/SM +placophoran/SM +Placozoa Taxonomic phylum + Taxonomic class +placozoan/SM +plafond/SM +plagal +plage/SM +plagiarise/DRGS +plagiarism/SM +plagiarist/SMW1 +plagihedral +plagioclase/M Noun: usually uncountable +plagiostome/MS +plague/GDMSr +plaguesome +plaice/M +plaid/DMS +plain-clothes +plain-spoken +plain/mPGDTSY +Plain/MS +plainchant/SM +plainer +Plaines/M +Plainfield/M +Plainsboro/M +plainsong/SM +plaint/uSvMV +plaintext/SM +plaintiff/MS +plaintive/P +Plainview/M +Plainville/M +Plaistow/M +plait/DMSGr +Plaitford/M +plaiting/M +plan/DdMSrRG +planar +Planaria +planarian/SM +planarity/SM +planchet/MS +planchette/SM +Planck/M +planctology/3wM +plane/SM +planeload/SM +planemo/SM +planerite/M +planeshear/SM +planesman/M +planesmen/M +planet/MS +planetaria/M +planetarium/MS +planetary/SM +planetesimal/MS +planetoid/MS +planetology/M Noun: uncountable +planetwide +plangency/SM +plangent/Y +planimeter/SMW1 +planimetry/wM +planipetalous +planish/DGSr +planisphere/SMW +Planitia Utopia Planitia (Mars) +plank/GMDSJp +planking/M +plankshear +planksheer +plankter/SM +planktic +planktivore/SM +planktivorous +planktology/3wM +plankton/MSW +planktotrophic +planned/KU +Plano/M +planoconcave +planoconvex +planometer/MS +planometric/SY +planometry/M Noun: uncountable +plansheer +plant/BIGSDA4 +Plant/M +plant/M +planta/M +plantae/M +Plantagenet/SM +plantain/MS +plantar +plantation/IMS +Plantation/M +planter/SM +plantigrade +planting/SM +plantlet/SM +plantlike +plantocracy/MS +planula/M +planulae/M +planulate/N +planuliform +planuloid +planus +planxty/MS +plaque/MS +Plaquemines/M +plaquette/SM +plash/DMGSZR +plasm/MW +plasma/SMW +plasmasphere/SM +Plasmatics/M +plasmid/SM +plasmin/SM +plasminogen/SM +plasmodesma/M +plasmodesmata/M +plasmodia/OM +plasmodium/M +plasmoid/SM +plasmolyse/DGS +plasmolysis/M +plasmon/SMW +plasmosome/M +Plass/M +Plassey/M +plaster/~prMdS +plasterboard/SM +plastering/M +plasterman/M +plasterwork/SM +plasterworker/SM +plastic/YQsMS +plasticine/SM +plasticity/SM +plasticuffs +plastid/SM +plastique/SM +plat/SMrdR +Plata/M +plate/6SMJp +plateau/GMDS +plateful/SM +platelayer/SM +platelet/SM +platemaker/SM +plateman/M +platemen/M +platen/MS +plateosaur/SM +plateresque +plateway/SM +platform/MSGpZr3 +platformate +Platforming +platforming/M Noun: uncountable +plating/M +Platini/M +platinocene +platinotype/SM +platinum/QM +platitude/MS +platitudinarian/S +platitudinous/Y +Plato/M +Platonesque +Platonic +platonic/Y +Platonise/SGD +Platonism/M +Platonist/SM +platoon/GMDS +Platt/M +Platte/M +Plattekill/M +Platteville/M +Plattsburgh/M +platybasic +platycarpous +platycoelous +platycranial +platyhelminth/S +Platyhelminthes Taxonomic phylum +platypus/MS +platysma/SM +platysmata/M +plaudit/MS +plausibility/IS +plausible/IY +plausible/Y +plausibleness +Plaxtol/M +play-act/JGDS +play-acting/M +play-off/SM +play/eGADESacf +play/M +playability +playable/EU +playback/SM +playbill/MS +playboater/SM +playboating/M Noun: uncountable +playbox/SM +playboy/MS +Playboy/SM +playboyish/P +playboyism/M Noun: uncountable +playbus/SM +Playden/M +player/SEM +Playfair/M +playfellow/SM +playfield/SM +Playford/M +playful/PY +playgirl/SM +playgoer/SM +playground/SM +playgroup/SM +playhouse/SM +playing/S +playlet/MS +playlist/SGDM +playmaker/SM +playmaking/M Noun: uncountable +playmate/SM +playpen/SM +playroom/SM +playscheme/SM +playschool/SM +playslip/SM +PlayStation/SM +playsuit/SM +Playtex/M +plaything/SM +playtime/MS +playwright/MSG +playwriting/M +plaza/SM +plc +PLC/SM +Plea/M +plea/MS +pleach/SGD +plead/SDRGJk +pleadable +pleading/SM +Plean/M +Pleas/M +pleas/SkDGJ +Pleasant/M +pleasant/TYP +Pleasanton/M +pleasantry/SM +Pleasantville/M +please/EGDS +pleaser/SM +pleasing/P +Pleasington/M +Pleasley/M +pleasurable/P +pleasure/SlDGM +pleat/GDMSr +pleb/ZSM +plebeian/SM +plebiscitary +plebiscite/SM +plectra/M +plectrum/MS +pledge/GDMSr +pledgee/SM +pledget/MS +Pleiades/M +Pleiadian/SM +pleiotropism/SM +pleiotropy/WSM +Pleistocene/M +Pleistos/M +Plemstall/M +plenarium/M +plenary/SM +plenipotentiary/SM +plenish/D +plenitude/SM +plenteous/YP +plentiful/P +plenty/M6j +plenum/M +pleomorphic +pleomorphism/SM +pleonasm/MS +pleonastic/Y +Pleshey/M +Pleshy/M +plesiosaur/SM +plesiosaurian/SM +Plessisville/M +plessor/SM +plethodontid/SM +plethora/MS +plethoric/OY +pleura/MO +pleurae/M +pleurisy/MS +pleuritic +pleurocerebral +pleurocoel/SM +pleurocystidia/M +pleurocystidium/M +pleurodont/MS +plexiform/SM +Plexiglas/M +pleximeter/SM +pleximetry/M Noun: uncountable +plexippus +plexor/SM +plexus/MS +pliability/SM +pliable/P +pliancy/MS +pliant/FY +pliantness/M +plicata +plication/FMIA +plied/AIF +pliers +plies/FAI +plight/6DGMSr +Plimmerton/M +Plimpton/M +Plimsoll/M +plimsoll/SM +plink/SGDZM +plinth/MS +Pliny/M +Pliocene +pliofilm/SM +pliosaur/SM +PLO/M +plod/DRGSJVM +plodding/Y +Plohman/M +ploidy/SM +Plompton/M +plonk/MRZDGSk +plop/GDMS +plosher/SM +plosion/OSM +plosive +plot/6SRMGDJpZ +Plotinus/M +plottable +plottee/SM +plotter-printer +plottery +plottingly +plotwise +Plough +plough/mRGSMD +ploughland/SM +ploughshare/SM +Plovdiv/M +Plover/M +plover/MS +Plowman/M +ploy/CS +ploy/M +PLP/M Abbreviation: Parliamentary Labour Party +pluck/ZGSzDrpM +Pluckacre/M +plucklessness/M +Pluckley/M +Plucknett/M +plucky/TP +plug-compatible +plug-in/SM +plug/SMGDR +plugboard/SM +pluggable +plughole/SM +Plum/M +plum/MSZ +plumage/SDM +Plumas/M +plumb/MDJSRGp +plumbago/SM +plumbery/MS +Plumbicon +plumbiferous +plumbing/M +plumbism/M Noun: uncountable +Plumbland/M +plumbocene +plumbous +Plumbridge/M +plume-like +plume/DpSM +plumelet/MS +plumeria/SM +plumery/SM +plumicorn/SM +plumier +plumiest +Plumley/M +Plummer/M +plummet/SdM +plummy/T +plumose +plump/MrPZYTDGS~ +plumpen/Sd +plumpitude +Plumpton/M +Plumptre/M +plumrose/M +Plumstead/M +Plumtree/M +plumula +plumulaceous +plumular +plumule/SM +plumy +plunder/dSr +Plungar/M +plunge/RSDGM +plunk/RGDSM +pluperfect/SMY +plural/sQSqY +pluralism/SM +pluralist/SMW +plurality/MS +plurilocular +pluripotent +pluripresence/M Noun: uncountable +plus/SM +Pluscarden/M +plush/TZMSY +plushy/TP +plusses +plutarchy/MS +Plutino/SM +plutino/SM +Pluto/M +plutocracy/MS +plutocrat/SMW1 +plutoid/SM +plutolatry/M Noun: uncountable +pluton/SMW +Plutonian/SM +Plutonic +Plutonism/M +Plutonist/MS +plutonium/M Noun: usually uncountable +plutonocene +plutonomy/SM +pluvial/SM +pluviometer/MS +pluviometric/O +pluvious Adjective +ply/BDSNGM +Plymouth/M +Plympton/M +Plymstock/M +Plymtree/M +plywood/SM +pm +PM/M +PMC/SM +PMID/SM PubMed identifier +PMS +pneumatic/SY +pneumaticity/M Noun: usually uncountable +pneumatics/M Noun: uncountable +pneumatised +pneumatocyst/SM +pneumatology/MSw +pneumatometer/SM +pneumatophore/SM +pneumococci/MO +pneumococcus/M +pneumoconiosis +pneumoconiotic +pneumocystic +pneumocyte/SM +pneumoencephalogram/SM +pneumoencephalography/WSM +pneumogastric +pneumokoniotic +pneumonectomy/SM +pneumonia/MSW +pneumonitic +pneumonitis +pneumonocele/M +pneumonocirrhosis/M +pneumonoconiosis/M +pneumonometer/SM +pneumonorrhagia +pneumonoultramicroscopicsilicovolcanoconiosis/M Noun: uncountable +pneumopericardial +pneumopericarditis +pneumopericardium/M Noun: uncountable +pneumoperitoneum/M Noun: uncountable +pneumopyothorax +pneumorrhagia/SM +pneumothorax/M Noun: usually uncountable +PNG/SM +PNP/SM +po-faced +po/QY +PO/SM +poach/RDSG +Pocahontas/M +Pocatello/M +Pocatière/M +pochard/SM +pochette/SM +pock/SDM +pocket/d6MSrp +pocketable +pocketbook/SM +pocketful/MS +pocketing/M +pocketknife/M +pocketknives +pockety +Pockley/M +Pocklington/M +pockmark/DSMG +Pockthorpe/M +Pocono/M +pocus +pod/SDMG +podagra/M Noun: usually uncountable +podagral +podagric +podagrous +podcast/SBRGM +poddy/DGMS +Pode/M +Podesta/M +podesta/MS +Podgorica/M +podgy/TP +podiatry/3SM +Podimore/M +Podington/M +podium/SM +podocarp/SM +podophyllin/M +podsol/MS +podzol/SM +Poe/M +Poehler/M +poem/SM +Poer/M +poesy/MS +poet/1WSywM +poetaster/MS +poetess/SM +poetic/S +poeticalness +poeticise/DGS +poetise/DGS +poetry/SM +Poges/M +Poggs/M +pogo/SM +pogonology +pogonotomy +pogonotrophy +pogrom/SM +pogromist/SM +Pohénégamook/M +Pohnpei +pohutukawa/SM +Poi/M +poignancy/SM +poignant/Y +poikilotherm/MSOW +poilu/SM +poimenic +poimenics/M Noun: uncountable +Poincaré/M +poinciana/SM +poind/SGDJ +Poinsett/M +poinsettia/SM +point-blank +point-duty +point-of-sale +point-to-point +point/RhSpGiMDZ +pointable +Pointe-Claire/M +Pointe/M +pointe/SM +pointed/P +pointille/M +pointillism/SM +pointillist/MS +pointing/M +pointless/YP +Pointon/M +pointsman/M +pointsmen/M +pointwise/Y +pointwork/M Noun: uncountable +pointy/T +poise/SM +Poiseuille/M +poison/dMrS +poisoning/SM +poisonous/YP +poisonwood/M Noun: usually uncountable +Poisson/M +poke-shakings +Poké/M +POKE/SM +poke/yRDSGZM +pokeberry/SM +Pokédex/M +Pokéfan/SM +Pokémaniac/SM +Pokemon/M +Pokémon/M +Pokeno/M +poker-face/D +PokéStop/S +pokeweed/SM +pokey/SM +poky/T +Poland/M +Polanski/SM +polar/QqSs +polarimeter/SM +polarimetry/M Noun: usually uncountable +Polaris/M +polariscope/SMW +polarise/CRnSGD +polariton/SMW +polarity/SM +polarograph/ZWSM +polarography/M Noun: usually uncountable +Polaroid/SM +polaron/SM +polarward +Polbeth-Harwood/M +Polbeth/M +Polden/M +polder/SM +polderland/M +polderman/M +pole-axe/DSM +pole-vaulter/SM +pole-vaulting/M Noun: uncountable +pole/MDS +Polebrook/M +polecat/SM +Polegate/M +polemic/YSO3M +polemics/M Noun: uncountable +polenta/SM +poler/SM +Poleramma/M +Polesworth/M +Poletto/M +poleward/S +police/MZGSD5mp +policemanship/M Noun: uncountable +policier/SM +policlinic/SM +policy/SM +policyholder/MS +policymaker/SM +policymaking/M Noun: uncountable +Poling/M +polio/SM +poliomyelitides +poliomyelitis/M +poliovirus/SM +Polish/M +polish/RDJGS +polishedness/M Noun: uncountable +polishment/SM +politburo/SM +polite/IPYW +politeness/IS +politer +politesse/MS +politest +politic/qDGQS +politician/MS +politicise/CGSD +politicking/MS +politicly +politico/SM +polity/SMw1 +Polk/M +polka/DGSM +Polkemmet/M +poll/DMGSr +pollack/MS +pollan/S +Pollard/M +pollard/SGDJ +pollen/MSp +polleniser/SM +Polley/M +pollinate/DGSn +pollinator/MS +Pollington/M +Pollini/M +pollinia/M +pollinium/M +Pollitzer/M +Pollock/M +pollock/MS +Pollokshaws/M +Pollokshields/M +pollster/MS +pollucite/SM +pollutable +pollutant/MS +pollute/iGDSRh +pollution/SMO +pollutive +Pollux/M +Polly/M +Pollyanna/MS~ +Pollyannaism/M Noun: uncountable +Polmont/M +polo-neck/SM +polo/MS +Polo/SM +polocrosse/M Noun: uncountable +poloidal +Polokwane/M +polonaise/SM +polonium/M Noun: usually uncountable +Polonnaruwa/M +polony/S +Polperro/M +Polstead/M +poltergeist/SM +Poltimore/M +poltroon/SM +poltroonery/SM +poluphloisboian Adjective +poluphloisboisteros +poluphloisboisterous +Polwarth/M +polyacrylamide/SM +polyadelphous +polyadenylate/SMGD +Polyakov/M +polyalphabetic +polyamide/SMn +polyamine/SM +polyamorous +polyamory/3M +polyandrous +polyandry/SM +polyangle/SM +polyangular +Polyanovsky/M +polyanthus/M +polyatomic +polybasic +Polybius/M +polybutadiene/MS +polybutene/SM +polycarbonate/SM +Polycarp/M +polycarpellary +polycentric +polychaetan Adjective +polychaete/SM +polychaetous +polychemicals +polychlorinated +polychloroprene/MS +polychrome/WM +polychromous +polychromy/MW +polyclinic/MS +polyclonal/SM +polycracy/M Noun: uncountable +polycratism/M +polycross +polycrystal/SM +polycrystalline +polycyclic/SM +polycystic +polydactyl/MS +polydaemonism/M +polydentate +polydentative +Polydeuces/M +polydipsia/M Noun: usually uncountable +polyelectrolyte/SM +polyendocrine +polyendocrinopathy/SM +polyene/SM +polyester/MS +polyether/SM +polyethism/M Noun: uncountable +polyethylene/SM +polygamous/Y +polygamy/MS3W +polygene/SMW +polygenesis/M +polygenetic/Y +polygenism/M +polygenist/SM +polygeny/SM +polyglot/SM +polyglottal +polyglottic +polyglottism/M Noun: uncountable +polyglycol/WSM +polygon/oMSO +polygraph/DSMG +polygynandrous +polygynous +polygyny/WSM +polyhapto +polyhedra/MOW +polyhedrical/Y +polyhedron/SM +polyhedrous +polyhistor/SM +polyhydroxy Adjective +polyimide/SM +polyisobutene/MS +polyisobutylene/SM +polyisocyanate/SM +polyisoprene/SM +polyketide/MS +polylectal +polymath/SM +polymathy +Polymele/M +polymer/WQqMS +polymerase/SM +polymerism +polymerous +polymorbid +polymorph/SMW +polymorphism/SM +polymorphonuclear +polymorphous +polymyalgia/SM +polymyositis/M Noun: uncountable +polymyxin/SM +Polynesia/M +Polynesian/SM +polyneuritic +polyneuritis/M +polyneuropathy/SM +polynomial/MSY +polynuclear +polynucleate/D +polynucleotide/SM +polynya/SM +polyocracy/M +polyol/SM +polyolefin/SM +polyonymous +polyopia/M +polyoxyethylene/SM +polyoxymethylene/SM +polyp/MS +polypary/SM +polypeptide/SM +polyphagous +polyphase +polyphasic +Polyphemus/M +polyphenol/SMW +polyphenylene/SM +polyphiloprogenitive +polyphloisboian Adjective +polyphloisboisterous +polyphobia/M Noun: usually uncountable +polyphon/OSM +polyphone/SM +polyphonian Adjective +polyphonous +polyphony/SMW3 +polyphosphate/SM +polyphyletic +polypi/M +polyploid/SMZ +polypod/SM +polypody/SM +polypoid/O +polyposis/M +polypous +polypragmatic/OY +polypragmatism/SM +polypragmatist/SM +polypragmon +polypragmosyne/M Noun: uncountable +polypro/M Noun: uncountable +polypropylene/SM +polyprotein/SM +polyptoton/SM +polyptych/M +polyptychs +polypus/M +polyrhythm/1SMWw +polyribonucleotide/SM +polyrod/SM +polysaccharide/SM +polyscope/SM +polysemous +polysemy/WM +polysexual +polysexuality/SM +polysilicon/M +polysiloxane/SM +polysome/SM +polysomnography/SM +polysomy/WM +polyspermy/M Noun: uncountable +polystyle/SM3 +polystylism/M Noun: uncountable +polystyrene/MS +polysyllabically +polysyllable/WSM +polysymptomatic +polysyndeton/SM +polysynthetic/Y +polysystemic +polytechnic/MS +polytene/SM +polytheism/MS +polytheist/1WSM +polythene/SM +polytomous +polytomy/SM +polytonal/Y3 +polytonality/SM +polytone/SMW +polytope/SM +polyunsaturate/DSM +polyurethane/SMGD +polyuria/WM +polyuronide/SM +polyvalence/SM +polyvalent +polyversity/M +polyvinyl/SM +pom-pom/SM +pomade/SGMD +pomander/MS +Pomar/M +Pomare/M +pomegranate/MS +pomelo/SM +Pomerania/M +Pomeranian/SM +Pomeroy/M +Pomfret/M +pomfret/SM +Pommard/MS +pommel/SGDM +pomodoro +Pomona/M +pomp/SM +pompadour/SMD +Pompano/M +pompano/MS +Pompeia/M +Pompeian/SM +Pompeii/M +Pompeiian/SM +Pompeius/M +Pompey/M +Pompidou/M +pompom/MS +pompon/SM +pomposity/SM +pompous/YP +Pompton/M +Ponca/M +Ponce/M +ponce/MSGD +ponceau/M +poncey +poncho/SM +poncy/T +pond/DMGS +Pond/M +pondage/MS +ponder/4S +ponderability/SM +ponderable +ponderal +ponderation/M +pondered +ponderer/SM +pondering +ponderosa/SM +ponderosity/SM +ponderous/YP +Ponders/M +Pondicherry/M +pondweed/SM +pone/SZM +pong/DSM +pongee/MS +pongo/SM +pongoes +poniard/SM +Ponnamperuma/M +pons/M +Ponsonby/M +Pont-Rouge/M +Pont-y-clun/M +Pont/M +pontage/SM +Pontardawe/M +Pontarddulais/M +Pontarfynach/M +Pontcanna/M +Pontchartrain/M +Pontcysyllte/M +Ponte/M +Pontefract/M +Ponteland/M +Pontesbury/M +Pontfaen/M +Ponthir/M +Pontiac/M +Pontifex +pontifex/M +pontiff/SM +pontifical/YSM +pontificalia/M +pontificate/nDGS +pontifices +pontify/DGS +pontil/SM +Pontin/M +Ponting/M +Pontius/M +Pontllanfraith/M +Pontlliw/M +Pontnewydd/M +Ponton/M +pontoneer/SM +pontonier/SM +pontoon/MDSG +Pontotoc/M +Pontprennau/M +Pontryagin/M +Pontyberem/M +Pontymoile/M +Pontypool/M +Pontypridd/M +pony/SM +ponytail/SM +Ponzi/M +poo/DGSM +pooch/SM +poodle/MS +poof/SM +poofter/SM! +pooh-pooh/D +pooh/SDG +pooja/SM +pooka/SM +pool/GSDM +Pool/M +Poole/M +Pooler/M +poolside/SM +poon/SM +Poona/M +poontang +poop/SDGM +poor-spirited +poor/TYP +poorhouse/MS +Poornima/M +Poorton/M +Pootle/M +pootle/SGDM +pop-cult/M +pop-up/SM +POP/SM +pop/ZRGSDM +POP3/M Acronym of Post Office Protocol version 3 +popadom/SM +popadum/SM +popcorn/SM +Pope/M +pope/yMSp +popedom/MS +Popemobile/SM +Popeye/M +popgun/SM +Popham/M +popinjay/MS +popish/Y +Poplar/M +poplar/MS +poplin/SM +popliteal +poppadom/SM +poppadum/SM +Popperian/SM +poppet/MS +popple/JSMGDY +Poppleford/M +Poppleton/M +poppy/MS +poppycock/SM +poppyseed/SM +poppywort +popsie/MS +popsock/SM +popster/SM +popsy/M +populace/SM +popular/PqQYs +popularism/M Noun: uncountable +popularity/MU +popularity/S +populate/cCnDGS +populated/UfA +population/CMc +populator/SM +populi +populism/SM +populist/SMW +populo +populous/PY +Poquoson/M +poral/Y +porbeagle/SM +porcelain/MS +porcelainite/M +porcelainous +porcellaneous +porcellanic +porcellanous +porch/DSMp +Porchester/M +porcine +Porcius/M +Porcorum/M +porcupine/SM +porcupinish +porcupiny +pore/GDS +Porifera Taxonomic phylum +porin/SM +Poringland/M +Porirua/M +pork/RSZM +porkling/SM +porky/TSM +Porlock/M +porn/SM +pornify/SGDN +porno/SM +pornocracy/SM +pornographer/SM +pornography/MS1W +pornstar/SM +porosity/SM +Poroti/M +porous/YP +porphyria/SM +porphyrin/SM +porphyritic +porphyroblast/WSM +porphyroclast/W +porphyrogenite/SM +porphyrogeniture/M Noun: uncountable +porphyrogenitus/M +porphyroid/SM +porphyropsin/SM +porphyrous +porphyry/SM +porpoise/DMGS +porridge/SM +porringer/MS +Porritt/M +Porsche/MS +Port-au-Prince/M +Port-Cartier/M +Port-of-Spain/M +port/lDMYSBRG +Port/M +portability/SM +portable/SM +portablisation/SM +Portadown/M +Portaferry/M +Portage/M +portage/SGDM +Portakabin/SM +portal/MS +Portales/M +Portaloo/SM +portamenti/M +portamento/SM +Portavogie/M +Portballintrae/M +Portbraddon/M +Portbury/M +Portchester/M +portcullis/MSd +Porte/M +ported/A4EFCI +portend/GSDr +portent/SM +portentous/PY +Porteous/M +porter/CM4SAI +Porter/M +porterage/SM +portered +porterhouse/SM +portering +Porterville/M +Portesham/M +portfire/S +portfolio/MS +Portglenone/M +Portgordon/M +Porth/M +Porthcawl/M +Porthkerry/M +Porthleven/M +Porthmadog/M +porthole/SM +Portia/M +portico/MS +porticoes +portière/SM +Portillo/M +porting/FE4 +portion/SDGMp +Portishead/M +Portknockie/M +Portland/M +Portlaoighise/M +Portlaoise/M +Portlarge/M +Portlemouth/M +Portlethen/M +portly/PT +Portman/M +portmanteau/SM +Portmeirion/M +Portmoak/M +Portnahaven/M +Portneuf/M +Porto/M +Portobello/M +portobello/SM +portolano/MS +Porton/M +Portpatrick/M +portrait/3SM +portraiture/SM +portray/BSDGr +portrayal/SM +Portreath/M +Portree/M +portreeve/MS +Portrush/M +ports/ACFEI4 +Portsea/M +Portskewett/M +Portslade/M +Portsmouth/M +Portsoken/M +Portsonachan/M +Portsoy/M +Portstewart/M +Portugal/M +Portuguese/M +Portway/M +Porvoo/M +Porvorim/M +Porziņģis/M +POS/M +pose/FNCRxDGSEX +posed/4AI +Poseidon/M +poser/IMS +POSes +poses/IA4 +poseur/MS +posey +Posey/M +posh/T +posing/AI4 +posit/vuSVd +posited/FC +position's/EI4FCK +position/CGADKS +positionable +positional/KY +positionality/SM +positioner/SM +positions/4I +positive/TSP +positivise/SGD +positivism/SM +positivist/SMW1 +positivity/SM +positron/SM +positronia/WM +positronium/SM +Poslingford/M +posology/Mw +posse/bSM +posses/GhDi +possess/EGKDSNAX +possession/MKEA +possessive/PMYS +possessor/SMZ +posset/M +possibility/IMS +possible/SIY +Possil/M +Possilpark/M +possum/SM +possumus +post's/IeF +post-classical +post-coital/Y +post-communist +post-Communist +post-date/GDS +post-entry/SM +post-exposure +post-feminism/M Noun: uncountable +post-feminist/SM +post-free +post-haste/M +post-horn/MS +post-impressionism/SM +post-impressionist/WSM +post-industrial +post-meiotic +post-mortem/SM +post-natal +post-nuptial +post-operative/Y +post-orbit +post-partum +post-production/M Noun: usually uncountable +post-structural +post-structuralism/M Noun: uncountable +post-structuralist/SM +post-tension +post-town/MS +post-translational +post-traumatic +post-truth +post-war +post/7JDMRGSp +Post/M +postabdomen +postabdominal +postabortal +postabortion +postacetabular +postage/SM +postal/Y +postauditory +postbag/SM +postbiblical +postbiological +postbox/MS +postcard/SM +postcephalic +postcode/SMD +postcolonial/3 +postcolonialism/SM +postcondition/SM +postcranial/Y +postcure/SGDM +postcyclic +postdate/SGD +postdoc/SM +postdoctoral +postdoctorate/SM +posted/AFI +posteen/MS +poster/ISM +posterior/SY +posteriori +posteriority/MS +posterity/MS +Postern/M +postern/MS +posterolateral +posterotemporal +posteroventral/Y +postethmoid +postface/SM +postfactor +postfemoral +postfix/DSG +postfrontal/SM +postganglionic/Y +postgenital +postgenomic +postglacial/Y +postglenoid +postgrad/SM +postgraduate/MS +posthetomy/M Noun: uncountable +posthospital +posthumous/PY +posthypnotic +postiche/SM +postil/MS +postilion/MSD +postillation/SM +postillion/SM +postinfection/SMO +postinfectious +postinflammatory +posting/SM +postlanding +Postle/M +postliminy/MS +Postling/M +postlude/MS +postman/M +postmarital +postmark/MSGD +postmaster/MS +postmen/M +postmenopause/OM +postmillennial +postmillennialism/M Noun: uncountable +postmillennialist/SM +postmistress/MS +postmodern/3SM +postmodernism/M Noun: usually uncountable +postmodernity/SM +postmodify/RNSGD +postmortem/SM +postmultiply/SGDN +postnarial +postnasal +postnatal/Y +postnuptial +Poston/M +postoperative/Y +postorbital/SM +postpaid +postpalatal +postparietal +postpectoral +postperson/SM +postpetiole/SM +postpharyngeal +postpituitary +postponable +postpone/LGDSr +postposition/SO +postpositive/Y +postprandial/Y +postreduction/O +postreform +postrenal +posts/FIAe +PostScript/M +postscript/SM +postsynapsis +postsynaptic/Y +posttransfusion/O +posttreatment +postulant/MS +postulate/SnDGy +postulator/MS +posture/DOr +posture/IMS +posturing/SM +postvocalic +postwar +Postwick/M +postwoman/M +postwomen/M +posy/SMT +pot-belly/DSM +pot-boiler/SM +pot-pourri/SM +pot-shot/SM +pot/RG6SZ7DgMp +potability/SM +potable/PSM +potage/SM +potamic +potamology/M3 +potash/SM +potassic +potassium/M Noun: usually uncountable +potassocene +potato/M +potatoes +potboiler/SM +potency/MS +potent/YIS +potentate/SM +potential/YSM +potentiality/SM +potentiate/SDG +potentiation/SM +potentilla/SM +potentiodynamic +potentiometer/MS +potentiometry/W1M +potentiostat/SM +potentiostatic/Y +potentite/M Noun: uncountable +potentness/M Noun: uncountable +Potenza/M +potestal +potestas +potestative +potful/SM +pothead/SM +pother/dSM +potherb/MS +pothole/SMGD +potholing/M Noun: uncountable +pothook/SM +pothunter/SM +Potidaea/M +potion/SM +potlatch/MS +potoroo/SM +Potsdam/M +Potsgrove/M +potsherd/SM +potshot/SM +Pott/MS +pottage/SM +Pottawatomie/M +Pottawattamie/M +Potten/M +potter/dZr +Potter/MS +Potterat/M +Potterne/M +Potterspury/M +Potterton/M +pottery/SM +Pottesgrove/M +Potto/M +Potton/M +Pottsgrove/M +Pottstown/M +Pottsville/M +potty/TS +Potyviridae Taxonomic family +potyvirus/SM +pouch/MDSG +pouffe/SM +Poughill/M +Poughkeepsie/M +Pouhgill/M +Pouilly/M +Poulenc/M +Poulshot/M +poulterer/SM +poultice/DSMG +Poulton-le-Fylde/M +Poulton-with-Fearnhead/M +Poulton/M +Poultry/M +poultry/MS +pounce/DSG +Pouncey/M +pound/FGISD +pound/M +poundage/MS +pounder/FM +pounder/S +Poundon/M +Poundstock/M +Poundstone/M +Pounteny/M +Pountney/M +Poupinha/M +pour/7GSDr +pourboire/SM +pourpoint/SM +pourri/SM +poussette/DGSM +poussin/SM +pout/GDSRk +pouty/T +poverty-stricken +poverty/SM +povidone/SM +POW/SM +pow/SM +powan/SM +Poway/M +powder/dMSZr +Powder/M +Powderham/M +powderise/SGD +powderpuff +Powell/M +power-hungry +power-sharing/M Noun: uncountable +power/6jdpSM +Power/M +powerbank/SM +powerboat/SM +PowerDVD/M +powered/cf +powerful/P +powerhouse/SM +powerless/PY +powerlifter/SM +powerlifting/M Noun: uncountable +PowerPC/M +PowerPoint/SM +Powerstock/M +Powerwall/M +Poweshiek/M +Powhatan/M +Powick/M +powwow/SGDM +Powys/M +Powysland/M +pox/SMD +Poxwell/M +poxy/T +Poyle/M +Poynings/M +Poynting/M +Poyntington/M +Poynton-with-Worth/M +Poynton/M +Poyntzpass/M +Poznań/M +pp +ppb +ppi +ppm +PPP +ppr +PPS +ppsx +Pr +Prabang/M +practicability/SM +practicable/IY +practicableness/M Noun: uncountable +practicably/I +practical/IPY +practical/S +practicality/ISM +practice/S7M +practician/SM +practise/SGDr +practitioner/MS +Pradaxa/M +Praderie/M +Pradesh/M +Pradon/M +Praed/M +praelect/SGD +praelection +praelector/SM +praeludium +praenomen +praeoperculum +praepubis +Praesidium/M +praetor/MS +praetorian/SM +pragmatic/YSMO +pragmatise/DGS +pragmatism/SM +pragmatist/SMW +Prague/M +prahu/SM +Praia/M +Prairie/M +prairie/SM +praise/EDSG +praise/rMk +praiseworthy/P +Prakrit/M +prakriti/SM +praline/SM +pralltriller/SM +pram/SM +prana/SMW +Pranav/M +pranayama/SM +prance/RGSDk +prang/SGD +prank/6SGDMZ +prankish/P +pranksome +pranksomeness/M Noun: uncountable +prankster/MS +prannet/SM +pranny/SM +Prasad/M +praseodymium/M Noun: usually uncountable +prasinophyte/SM +prat/SM +Prata/M +Pratchett/M +prate/SRkDG +pratfall/SM +pratincole/SM +Pratt/M +pratt/SGD +prattle/DRSGkM +Prattville/M +pravastatin/M Noun: uncountable +prawn/DMGSR +praxes +praxis/M +pray/RGDS +Prayagraj/M +prayer/j6p +prayerbook/SM +prayerful/P +Prazeres/M +PRC/SM +pre-abdomen +pre-adolescent +pre-adult +pre-Christian +pre-conciliar +pre-date/DSG +pre-decimal +pre-defined +pre-echo +pre-echoes +pre-eclampsia +pre-eclamptic +pre-elect +pre-election Adjective +pre-embryo/SM +pre-eminence/MS +pre-eminent/Y +pre-emphasis +pre-employment/SM +pre-empt/DVSvG +pre-emption/SM +pre-emptor/M +pre-exist/DGS +pre-existant +pre-existence/SM +pre-existent +pre-ignition +pre-implementation +pre-industrial +pre-install/SGD +pre-made +Pre-Nectarian +pre-order/Sd +pre-package/GSD +pre-paid +pre-plan/D +pre-preference +pre-prepare/D +pre-press +pre-print +pre-privatisation +pre-process/G +pre-processor +pre-programmed +pre-pubescent +Pre-Raphaelism/M +Pre-Raphaelite/SM +Pre-Raphaelitism/M +pre-record/SDG +pre-reflective +pre-release +pre-Roman +pre-scientific +pre-sell +pre-service +pre-set/S +pre-shrink +pre-shrunk +pre-tax Adjective +pre-teen/SM +pre-tension/S +pre-vocational +pre-war +pre-wash +pre/Qs +preach/RJL +preachable +preachee/SM +preacherdom/M Noun: uncountable +preacherless +preachership/SM +preachiness/M Noun: uncountable +preadapt/Dn +preadaptive +preadolescence/M Noun: uncountable +preadolescent/SM +preadvise/SGD +preagricultural +prealbumin/M Noun: uncountable +preamble/SM +preambular +preamp/SM +preamplifier/MS +preamplify/SGD +prearrange/L +prearticular +preassign +prebendary/SM +prebiotic/SM +Preble/M +prebuild/SG +prebuilt +Precambrian +precancel/S +precancerous +precapitalist/SM +precariat/SM +precarious/PY +precarium +precartilaginous +precast/SG +precative +precatory +precaudal +precausation +precautional +precedence/MS +precedent/MDS +precellular +precensor/Sd +precent/SGD +precentor/SO +precentorship +precentory/M +precentral +precentress +precentrix +precept/VvMS +preceptor/MS +precess/GDSNx +precession/SMO +precharge/D +precinct/MS +preciosity/MS +precious/SYP +precipice/MS +precipitable +precipitant/SMY +precipitate/YnSDPG +precipitator/SM +precipitin/SM +precipitous/YP +précis/dSM +precise/NPIXY +preciseness/IS +preciser +precisest +precision/IM +preclassic +preclearance/SM +preclude/DSXNG +preclusive +precocial +precocious/YP +precocity/MS +precode/SGD +precognitive/Y +precoital/Y +precolonial +precompensation/M Noun: uncountable +preconcert/D +precondition/G +preconfigure/SGD +preconisation/S +preconise/DGS +preconscious/P +precontest +precontracted +preconvulsive +precopulatory +precordial +precordium/M +precursor/SM +precursory/SM +precut/SG +precycling +precyst/SMW +predaceousness/M +predaciousness/M +predate/SGD +predation/MCS +predator/SMZ +predawn +predecessor/SM +predecline +predefine/SGD +predestinarian/SM +predestinate/DGS +predestinationism/M +predestine/SG +predetermine/nD +predevelopment +predial/SM +predicability/M +predicable/SM +predicament/MS +predicant/SM +predicate/VnSDGp +predicational +predicatival +predicatively +predicator/SM +predict/DSvBGlV +predictability/SM +predictability/UM +predictable/U +predictably/U +predictionism/M +predictor/SM +predigestion +predilection/SM +prednisolone/M Noun: usually uncountable +prednisone/M Noun: usually uncountable +predominate/Y +predoom/DGS +preen/DSGR +Preen/M +Prees/M +Preesall/M +preexistence/SM +pref/SM +prefab/DSMG +prefabricator/SM +preface's +prefactor/SM +prefatory +prefect/MS +prefecture/SMO +prefer/DSl7G +preferable/P +preference/MS +preferential/Y +preferentialist/S +prefetch/SGD +prefigurative +prefigure/n +prefigurement +prefill/SGD +prefix/MN +prefixation +preflight/G +preform +preformation/3 +preformationism/M Noun: uncountable +prefrontal/SM +pregabalin/M Noun: uncountable +preganglionic/Y +pregastrular +pregeniculate +pregenital +pregenitality +pregeologic/O +pregerminate/SGDN +preglacial/Y +preglenoid +pregnability/M Noun: usually uncountable +pregnable +pregnancy/MS +pregnant/SMY +pregrowth +preguide/SGD +preharvest +preheat +prehensile +prehension +prehistorian/SM +prehistorical +prehuman/SM +preimage/SM +preinterview +preisolated +prejudice/SDMG +prejudicialness +prelabrum/M +prelacy/SM +prelapsarian +prelate-martyr +prelate/MS +prelateship/SM +prelatial +prelatic/OY +prelatism/M Noun: uncountable +prelatist/SM +prelaunch +prelect/SGD +prelection/SM +prelector/MS +preleukaemic +prelibation/SM +prelife +prelim/SM +preliminary/YSM +prelimination +prelimit/Sd +prelingual +prelinguistic/SY +preliteracy/M Noun: uncountable +preliterate/SM +preload/SGD +prelogic/O +prelude/GMDSr +preludial +preludise/SGD +preludium/M +prelumbar +prelusion +prelusive/Y +prelusory +prem/SM +premandibular +Premarin/M +premarket/M +premaster/Sd +prematch +prematerial +premature/N +premaxilla/y +premed/wSM +premedication +premeditate/hDGS +premenarche/O +premier/MS +premiere/OSGD +première/SDGM +premieress +premiership/SM +premillennialism/M Noun: uncountable +premillennialist/MS +premise/DSGM +premiss/SM +premium/SM +Premnay/M +premodern +premodify/SGDNR +premonish/G +premonitor/MS +premonitory +Premonstratensian/MS +premonstration +premorality/M +premorbid +premorse +premortal +premotion/SM +premotor +Prempro/M +premsie Adjective +premultiply/SGDN +premune +premycotic +premyelocyte/SM +prenasal +prenatal/Y +Prendergast/M +Prenger/M +prenominal/Y +Prensky/M +prentice/DGMS +Prentice/M +prenticeship/MS +Prentiss/M +prenuptial +preoperative/Y +preoperculum +preordain/GS +preordainment +prep/SM +prepack +preparation/M +preparative/SM +preparatorily +prepare/rVviGnyh +prepared/P +prepay/LB +prepend/SGD +prepender/S +prepense/Y +preplan/SGD +prepolymer/SM +preponderance/MS +preponderant/Y +preponderate/GYSDN +preponderous/Y +prepose/SGD +prepositive +prepossessing/U +preposterous/PY +prepotence/M +prepotency/MS +prepotent +preprepared +preprint/M +preprocess/SGD +preprocessor/SM +preprogram/Sd +preprogramme/SGD +preprohormone/SM +preproinsulin/M Noun: uncountable +preprostatic +prepubertal/Y +prepuberty +prepubescent/SM +prepubic +prepubis/M +prequel/SM +preradiation +prereform +prerenal +prerequire/SGD +prerequisite/SM +prerequisition/M +preretina/M +prerogative/MS +presage/GDr +presbyopia/MS +presbyter/SZMO +presbyteral +presbyterate/SM +Presbyterian/MS +Presbyterianism/M Noun: uncountable +presbytership/SM +presbytery/SM +preschool/SMr +prescience +prescient/Y +prescind/DGS +Prescot/M +Prescote/M +Prescott/M +prescribable +prescribe/vVr +prescription/SM +prescriptivism/SM +prescriptivist/SM +preseason/SM +preselection/SM +preselective +preselector/SM +presence/SM +present-day +present/nLYRS7xlDG3 +presentability/M +presentable/P +presentation/MAo +presentational/A +presentee/SM +presentimental +presentism/SM +presentness/M Noun: usually uncountable +presentor/SM +preservable +preservation/MO3 +preservationism/M Noun: uncountable +preservative/SM +preserve/DnV +preset/GSM +presexual +preshared +preshrunk +Preshute/M +preside/SGDr +presidency/MS +president/MS +President/MS +Presidential +presidential/Y +presidentialism/M Noun: uncountable +presidia/M +presidium/SM +presignature/SM +Presley/M +presolar +presort/GS +Presque/M +press-gang/D +press-stud/S +press-up/SM +press/FIGSADC +pressable +presser's/I +presser/MS +pressing/YS +pressman/M +pressmen/M +pressroom/SM +pressure-cook/SGDr +pressure/MqGQsDS +pressurised/U +Prestatyn/M +Prestbury/M +Presteigne/M +prestidigitate/n +prestidigitator/MO +prestige/SM +prestigious/YP +presto/SM +Preston-on-Tees/M +Preston-under-Scar/M +Preston/M +Prestonkirk/M +Prestonpans/M +prestressed +prestressing +prestructure/SGD +Prestwich/M +Prestwick/M +Prestwold/M +presumable +presume/rvDSGVkl +presumption/SM +presumptuousness/S +presymptomatic +presynaptic/Y +pretence/MS +pretending/U +pretension/Sp +pretentious/YPU +preterhuman +preterite/SM +preterm +pretermission/MS +pretermit/DGS +preternatural/Y +preternaturalism/M Noun: usually uncountable +pretone/MS +pretonic/MY +Pretoria/M +pretrochal +prettification/MS +prettify/SDG +pretty/GPYSTD~ +prettyism/SM +pretzel/SM +preux +prevail/GkSD +prevalent/Y +prevaricate/DGSn +prevaricator/MS +prevenient +prevent/lu7vVr +preventability/SM +preventable/U +preventative/SMY +prevention/MS +preventive/SP +preverb/SMO +preview/G +previous/Y +previousness/M Noun: uncountable +previse/DGS +prevision/GSDMO +previsualise/SGD +previtamin/SM +Prevnar/M +Prevost/M +Prévost/M +prewarm/SGD +prewarn/SGD +prewash/SGD +prey/DMGS +Preziosi/M +Prezista/M +Priam/M +priapic +priapulid/SM +Priapulida Taxonomic phylum +Price/M +price/Mp +price/SADcG +pricelessness/M +Priceline/M +pricer/MS +pricey +Prichard/M +pricing/f +prick/YRDGS +pricking/M +prickle/MDS2G +prickly/T +pricy/T +Priddy/M +pride/MS6jGDp +Priest/M +priest/MDSGYp +priestcraft/M +priestess/MS +Priesthill/M +priesthood/MS +Priestley/M +priestlike +priestling/MS +priestly/TP +prig/SM +priggery/M +priggish/MYP +priggism/M Noun: usually uncountable +prim/ordTYP +prima-donna +prima/O +primacy/SM +primaeval/Y +primality +primaquine/M Noun: uncountable +primary/YMS +primase/SM +primate/MS +primateship/M Noun: usually uncountable +primatial +primatology/3wM +primavera/O +prime/PSY +Primera/M +primero/MS +primestaff +primetime +primeval/Y +primidone/M Noun: uncountable +primigravida/M +primigravidae/M +primipara/M +primiparae/M +primiparous +primitive/PSMY3 +primitivism/SM +primitivistic +primo/MS +primogenital +primogenitary +primogenitive +primogenitor/SM +primogeniture/MS +primordia/M +primordial/YSM +primordiality/MS +primordium/M +primp/GSD +Primrose +primrose/MSD +primrosey +primrosy +primstaff +primsy +Primula +primula/SM +primulaceous +primulin/SM +primuline/SM +primum +primus/M +Primus/MS +prince/YSM +princedom/SM +princekin/MS +princelet/MS +princelike +princely/PT +Princes/M +princeship/MS +princess/MS +Princethorpe/M +Princeton/M +Princeville/M +principal/SMY +principality/SM +principate/MS +Principe/M +principii/M +principle/SMD +Pringle/M +Pringles/M +prink/DGS +print/IDAGSaKc +print/p +printability/M +printable/U +printable/Y +printer-plotter +printer/AMIS +printerdom/M +printergram/M +printery/SM +printhead/SM +printing/IM +printing/S +printmaker/SM +printmaking/M Noun: uncountable +printout/SM +printworks +Prioleau/M +prion/SM +Prior/MS +prior/SYZM +priorate/MS +prioress/SM +priori a priori +priority/QqsSM +priorship/MS +Priorslee/M +Priory/M +priory/MS +pris/M +Priscilla/M +Priscoan +prise's/A +prise/FSAGD +prism/SMO +prismatic/Y +prismoid/MSO +prison/SdMr +prissy/TPY +Pristina/M +pristine/Y +Pristiq/M +Priston/M +Pritchard/M +prithee/S +Prittlewell/M +Pritzker/M +prius/M +privacy/SM +private/nYTQSqPVv +privateer/MGS +privateersman/M +privateersmen/M +privation/MC +privatiser/SM +privatism/SM +privatist/W +privet/MS +Privett/M +privilege/SDMG +privileged/Uf +privity/MS +privy/SMY +Prix/M +Priyanka/M +prize/SM +prizefight/RJSMG +prizefighting/M Noun: usually uncountable +prizeman/M +prizemen/M +prizewinner/SM +prizewinning +pro-American +pro-angiosperm +pro-attitude +pro-cathedral +pro-celeb +pro-celebrity +pro-choice +pro-democracy +pro-drop +pro-ethnic +pro-European +pro-hunt/G +pro-inflammatory +pro-knock +pro-legate +pro-life/R +pro-nuke +pro-oxidant +pro-Republican +pro/GSM +proa/MS +proaction +proactive/Y +proactivity +proarrhythmic +probabiliorism/M Noun: uncountable +probabiliorist/MS +probabilism/M Noun: usually uncountable +probabilist/W1 +probability/MIS +probable/I +probable/S +probably/I +proband/MS +probandi/M +probang/MS +probate/SANM +probation/ROoyM +probationary/SM +probationership/MS +probative +probe/RBnDGlSM +probeable +probiotic/SM +probit/MS +probity/SM +problem/MSwW1 +problemage +problematicalness +problematique/SM +problématique/SM +problematise/SGDN +problemist/MS +proboscic +proboscidate +Proboscidea Taxonomic order +proboscideal +proboscidean/SM +proboscidial +proboscidian/SM +proboscidiform +probosciform +proboscis/SM +Probus/M +procaine/SM +procaryote/SM +procedural/SM +procedure/MSo +proceed/DJGSR +proceeding/M +proceleusmatic/MS +process/7MSGxD +processed/UA +processer/MS +procession/SM3 +processional/SM +processionary/MS +processor/MS +processual +prochemerin/M Noun: uncountable +prochiral +prochirality/SM +prochlorperazine/M Noun: uncountable +prochronism/MS +proclaim/DRS7G +proclamation/MS +proclamatory +proclitic/MSY +proclivity/MS +Proclus/M +procoagulant/SM +proconsul/MS +proconsular +proconsulate/MS +proconsulship/MS +procrastinate/SGDn +procrastinative +procrastinator/MS +procrastinatory +procreant +procreate/VGyxDSn +procreativity +Procrit/M +Procrustean +Procrustes/M +proctology/3w +proctoparalysis +proctoplasty +proctoptosis +proctor/dMSO +proctorship/MS +proctoscope/MS +procumbent +procurable/U +procuracy/SM +procural/MS +procurance/MS +procuration/SM +procurationem +procurator/SMO +procuratorship/MS +procuratory/M +procure/LDSGR +procuress/SM +prod/GDSM +prodelision/MS +Prodi/M +prodigal/SMY +prodigality/SM +prodigious/YP +prodigy/SM +prodrome/MSO +prodromic +prodrug/SM +produce/cDSGAn +producer/AMS +producible +product/QVMsvSu +production's/Af +production/Kf +productions/f +productive/UY +productiveness/SM +productivity/SM +proem/MS +proemial +Proença/M +proenkephalin/SM +proenzyme/SM +Prof. +prof/MS +profane/RDPSGYn +profanity/SM +profeminist/SM +profess/DxhSG +profession/MSp +professional/QSY +professionalisation +professionalism/MS +professor/OoSM +professorate/M +professoress/MS +professoriate/M +professorship/SM +proffer/dS +proficiency/SM +proficient/Y +profile/RGDSM +profilist/MS +profit-taking/SM +profit/Mpgdl7S +profitable/PZ +profiteer/DGSM +profiterole/MS +profligacy/SM +profligate/SMY +proforma/SM +profound/PYT +profundi/M +profundity/SM +profundo/M +profuse/YP +profusion/SM +prog/MS +progenitive +progenitor/OSM +progenitorship/MS +progenitress/MS +progenitrices +progenitrix/M +progeniture/M +progeny/SM +progeroid +progesterone/SM +progestin/SM +progestogen/SMW +proglacial +prognathic +prognathism/SM +prognathous +prognoses +prognosis/M +prognostic/nNVS +prognosticable +prognosticate/DGSn +prognosticator/SMZ +prograde/SGDn +program/BRGSJDMC +programmable/S +programmatically +programme/WSMGD +progranulin/SM +progress/GMuSDNXVv +progression/M3O +progressive/PS3 +progressivism/M Noun: usually uncountable +prohibit/rdvuSVy +prohibition/3SM +prohibitionism/M Noun: uncountable +Prohibitionist/MS +prohibitive/P +prohibitor/MS +prohibitorily +prohormone/SM +proinflammatory/SM +proinsulin/SM +project/SDVvMG7 +projectile/SM +projection/3SM +projector/SM +prokaryote/SMW +prokinetic +Prokofiev/M +Proksa/M +prolactin/M Noun: usually uncountable +prolactinoma/SM +prolapse/GSDM +prolapsus/M +prolate/PY +prolative/SM +prole/SM +proleg/SM +prolegomena/M +prolegomenary +prolegomenon/M +prolegomenous/Y +prolepses +prolepsis/M +proleptic +proletarian/QqS +proletarianism/M Noun: usually uncountable +proletariat/SM +proliferate/GnDSV +proliferous +prolific/YP +prolificacy/SM +prolificity/MS +proline/SM +prolix/YP +Prolixin +prolixity/SM +prolly +prolocutor/MS +prolocutorship/MS +prologise/SGD +prologue/SMGD +prologuise/SGD +prolong/hnSDGr +prolusion/SM +prolusory +prom/QMSs +promenade/RMSGD +promession/SM +promethazine/M Noun: uncountable +Promethean/SM +Prometheus/M +promethium/M +promilitary +prominence/MS +prominency/M +prominent/Y +promiscuity/MS +promiscuous/PY +promise/FRkDGS +promisee/SM +promising/UY +promisor/MS +promissory +promo/SMVu +promontory/SM +promote/SRxBGD +promotion/MS +promovent +prompt/PYRJTSGD +promptitude/MS +promptive +promptress +promptuary/SM +promulgate/GSnD +promulgator/SM +promulge/DGS +promycelia/M +promycelium/M +promyelocyte/SM +pronate/SGDN +pronation/MS +pronator/SM +prone/PY +proneur/MS +proneural +prong/DMGS +pronghorn/MS +pronominal/Y +pronotum/M +pronoun/SM +pronounce/aGDS +pronounce/h +pronounceable/U +pronouncement/SM +pronouncer/SM +pronto +pronuclei +pronucleus +pronunciamento/MS +pronunciation/aSM +proof-read/GSr +proof/Dpr +proof/EASM +proofing/M +proofread/SGR +prootic +proöxidant +prop/MSGD +propaedeutic/O +propaedia +propafenon +propafenone/SM +propagability/M +propagable +propaganda/SMW +propaganded +propagandise/DSG +propagandism +propagandist/SWM1 +propagate/nVGDS +propagator/SM +propagule/SM +propane/SM +propanoic +proparoxytone/MS +propel/RSDnG +propellant/MS +propellent/SM +propene/SM +propensity/SM +proper/IPY +property/DSM +propertyless +prophase +prophecy/SM +prophesiable +prophesy/RDSG +prophet/1WSwMpY +prophetess/SM +prophethood/SM +propheticism/MS +prophetise/SGD +prophetism/SM +prophetocracy/SM +prophetry/M +prophetship/SM +prophylactic/SMY +prophylaxes +prophylaxis/M +propinquity/SM +propionate/SM +propionic +propionyl/SM +propitiate/ynSDG +propitiatorily +propitious/U +propitious/Y +propitiousness/M Noun: uncountable +propofol/SM +propolis/M +proponent/MS +proportion/EDSGMo +proportion/pr +proportionability/M Noun: uncountable +proportionable/Z +proportional/SM3 +proportionality/SM +proportionate/EYS +proportionment/M +proposal/SM +propose/DRGSx +proposition/SGDM +propound/SDGr +proppant/SM +propranolol/SM +propria +proprietary/SM +proprietor/SM +proprietorial/Y +proprietorship/SM +proprietress/MS +propriety/SMI +proprio/MS +proprioception/SM +proprioceptive/Y +proprioceptor/SM +propshaft/SM +proptosis/M +propulsion/SM +propulsive +propyl/SM +propyla/M +propylene/SM +propylon/MS +prorate/DNSG +prorogation/MS +prorogator/SM +prorogue/DGS +pros/S +prosaic/Y +prosaicness/M Noun: uncountable +prosaism/MS +prosaist/MS +prosauropod/SM +proscenia/M +proscenium/SM +prosciutto/M +proscribe/DSXVGNr +proscription/SM +prose/SGDZMR +prosecretin/M Noun: usually uncountable +prosectorship/SM +prosecutable +prosecute/GDS +prosecution/MS +prosecutor/SMO +prosecutorship/SM +prosecutrix/M +proseity/M +proselytation/M +proselyte/MGsDS +proselytise/SGDN +proselytism/SM +prosencephalic +prosencephalon +prosenchyma/M +prosenchymatous +prosequi/M nolle prosequi +prosify/DGS +prosiness/M Noun: usually uncountable +prosist/SM +prosit +proslambanomenos +prosneusis +prosobranch +Prosobranchia Taxonomic subclass +prosobranchiate +prosobranchs +prosocial +prosodeme/SM +prosodic/SOY +prosodist/SM +prosody/OWSM +prosoma +prosome/SM +prosopagnosia/SM +prosopite/M +prosopographer/MS +prosopographic/OY +prosopography/SM +prosopopoeia/M +prospect/GMvVuSDp +Prospect/M +prospective/PSM +prospector/SM +prospectus/MS +prosper/dS +prosperable +Prosperin/M +prosperity/SM +Prospero/M +prosperous/YP +Prosser/M +prostacyclin/SM +prostaglandin/SM +prostanoid/SM +prostate/SMW +prostatectomy/SM +prostatitis +prostheses +prosthesis/M +prosthetic/SMY +prosthodontics +prosthodontist/SM +prostitute/MGDS +prostitution/MS +prostrate/nDSG +prostyle/MS +prosy/TY +protactinium/M +protactinocene +protagonism/M Noun: uncountable +protagonist/MS +protamine/MS +protandrous +protandry/M Noun: uncountable +protea/MSW +Proteaceae Taxonomic family +Proteales Taxonomic order +protean/SY +proteas/S +protease/SM +proteasome/SM +protect/cVGSD +protectant/SM +protected/U +protected/Y +protection/cM +protection/SM +protectionism/SM +protectionist/SM +protective/SYP +protector/MSOpZ +protectoral +protectorate/MS +protectorship/SM +protectress/SM +protectrix +protégé/MS +protege/SM +protegee/SM +protégée/SM +proteiform +protein/SMW +proteinaceous +proteinase/SM +proteinous +Proteobacteria Taxonomic phylum +proteoglycan/SM +proteolysis/M +proteolytic +proteome/SM +proteomic/S +Proterozoic +protest/RSMnkDG +Protestant/MS +protestant/SM +Protestantism/M +protestantism/M Noun: uncountable +protestor/SM +proteus/M +Proteus/M +prothalamia/M +prothalamium/M +prothallial +protheses +prothesis/M +prothetical/Y +prothonotariat/SM +prothonotary/SM +prothonotaryship/SM +prothoracic +prothorax +prothrombin/SM +prothyl/M +protist/SM +Protista Taxonomic kingdom +protistan/SM +protistology/wM +proto-Earth/M +Proto-Germanic +Proto-Indo-European +proto-technosphere/M +protobiont/SM +protobird/SM +protocanonical +protocol/SM +protocone/SM +protoctist/SM +Protoctista +protofeminist Adjective +protofibril/SM +protofilament/SM +protoform/SM +protogalactic +protogalaxy/SM +protogastric +protogeneous +protogenetic +protogynous +protogyny +protohippus +protolanguage/SM +protolunar +protomartyr/MS +protomoon/M +proton/MSW +protonate/DN +protonium/SM +protonosphere/SM +protonotariat/M +Protonotary +protonotary/SM +protopectin/SM +protophyte/MS +protoplanet/SM +protoplanetary +protoplasm/OSWM +protoplasmatic +protoplast/SMW +protoscientific +protosolar +protostar/SM +protostellar +protostome/SM +protosulfate/M +protosulphate/SM +protosun/SM +protosyntactical +protosyntax/M Noun: uncountable +prototaxic +prototheca +prototheme/SM +protothere +prototherian/SM +prototonic +prototype/OWGSM1Dw +protoveratrine/SM +Protozoa +protozoa/WO +protozoan/SM +protozoological/Y +protozoology/3M +protozoölogy/M +protozoon/M +protract/GSDh +protractile +protractility +protraction/MS +protractive +protractor/SM +protrude/SVuvDG +protrudent +protrusible +protrusile +protrusion/SM +protuberance/SMp +protuberant +proturan/SM +protyle/SM +proud/YT +Proudman/M +Proustian +Proustiana +proustite/SM +Prout/M +provability/MS +provable/Y +prove/EBSGD +proved/AI +proven/U +provenance/SM +Provençal/M +Provence/M +provender/SM +provene +provenience/MS +Proventil/M +proverb/oMS +proverbial +proverbiality/MS +proves/AI +providable +provide/NDRXSxG +Providence/M +providence/SIM +provident/IY +providential/Y +province/oMS +Provincetown/M +provincial/SM +provincialism/MS +provincialist/MS +provinciality/MS +Provine/M +proving/IA +proviral +provirus/SM +provision/rDMGp +provisional/SM +provisionality/MS +provisionalness/M Noun: uncountable +provisionment/MS +Proviso/M +proviso/MS +provisor/SMZ +provisorily +provisorium +provitamin/SM +Provo/MS +provocateur/SM +provocative/PS +provoke/VuSRGknvD +provolone/M Noun: usually uncountable +Provost/M +provost/SM +provostship/MS +prow/SM +Prowers/M +prowess/MS +prowl/RSDG +Prowse/M +Proxima Proxima Centauri +proximal/Y +proximate/YP +proxime +proximity/MS +proximo +Proxmire/M +proxy/MSGD +Prozac/M Trademark +prude/MyS +prudence/ISM +prudent/IY +prudential/YS +prudentialism/M Noun: uncountable +prudentialist/MS +prudery/SM +Prudhoe/M +prudish/PY +pruinose +prune/DGRSM +Prunella/M +prunella/MS +prunetin/M +prunish +prunitrin/M +prurience/SM +pruriency/MS +prurient/Y +pruriginous +prurigo/M +pruritus/W +Prusak/M +Prussia/M +Prussian/SM +prussic +pry/TkDRGS +Prynne/M +Przibram/M +PS +psalm/M3S +Psalm/MS +psalmodist/MS +psalmody/MW +psalter/SM +psalterium/MS +psaltery/SM +psephite/SMW +psephocracy/M Noun: uncountable +psephocrat/M +psephology/Mw13 +psephomancy/M Noun: uncountable +pseud/SM +pseudepigrapha/O +pseudepigraphic/O +pseudepigraphous +pseudepigraphy/SM +pseudo-intellectual/SM +pseudo-science/WSM +pseudo/SM +pseudobulb/SM +pseudobulbar +pseudobulbil/M +pseudocarp/SM +pseudocele/SM +pseudocholinesterase/SM +pseudochrysolite/M +pseudocirrhosis +pseudocode/SMD +pseudocoel/SM +pseudocoele/SM +pseudocoelom/SM +pseudocoelomate/SM +pseudocolour/SMG +pseudocompatibility/M +pseudocone/SM +pseudoconglomerate/M +pseudocopulation/SM +pseudocortex +pseudocosta/M +pseudocostate Adjective +pseudocubic/O +pseudocumene/SM +pseudocyphella +pseudocyst/SM +pseudoephedrine/SM +pseudogamy/M Noun: uncountable +pseudogley/SM +pseudoglioma +pseudoglobulin/M +pseudogout/M Noun: uncountable +pseudograph/MRS +pseudohyponatraemia/MW +pseudomembrane/SM +pseudomembranous +pseudomonas +pseudomonocotyledonous +pseudomorph/SGDW1M +pseudomorphism/SM +pseudomorphosis +pseudomorphous/Y +pseudonym/MS +pseudonymity/M Noun: usually uncountable +pseudonymous/Y +pseudopericyclic +pseudopod/SM +pseudopodia/MO +pseudopodium/M +pseudorandom/Y +pseudoreligion/SM +pseudoreligious +pseudoscience/MSW +pseudoscientist/SM +pseudosclerosis +pseudoscope/SMWZ +pseudoscorpion/SM +pseudoseptate +pseudosexual/Y +pseudosopher/SM +pseudosophy/M +pseudospeciation/SM +pseudospecies +pseudosphere/MSw +pseudospiracle/M +pseudosporangium +pseudospore/SM +pseudostem/SM +pseudostigma/W +pseudostratified +pseudotetragonal +pseudotetramerous +pseudotillite/M +pseudotriangle/SM +pseudouridine/SM +pseudoword/SM +pshaw/SGD +psi/SM +psilanthropic +psilanthropism/M Noun: uncountable +psilanthropist/MS +psilocybin/SM +psilomelane/SM +psilophyte/SM +psilosis/M +psilothrum/M +Psion/M +psionic/SY +psittacine/MS +psittacoses +psittacosis/M +psoralen/SM +psoriases +psoriasiform Adjective +psoriasis/M +psoriatic +Pspell/M +psst/S +PST +psych/1GSWDw +psyche/SM +psychedelia/SM +psychedelic/YSM +psychiatry/W3MSw1 +psychic/SM3 +psychicism/M Noun: uncountable +psychist/SM +psycho-aesthetic/S +psycho-educational +psycho/SM +psychoacoustic/SOY +psychoacoustician/SM +psychoactive/SM +psychoanalyse/WDSG +psychoanalysis/M +psychoanalyst/SM +psychoanalytical/Y +psychobabble/r +psychobilly/M Noun: uncountable +psychobiographer/SM +psychobiography/SM +psychobiology/M3w +psychobiotic/SM +psychocentric +psychochemical +psychochemistry/M Noun: uncountable +psychocoma/M +psychocultural +psychodiagnosis/M +psychodiagnostic/S +psychodrama/SM +psychodramatics +psychodramatist/SM +psychodynamic/SY +psychogenesis/M +psychogenic +psychogeriatric/S +psychogeriatrician/SM +psychograph/1MGDW +psychographer/SM +Psychographics +psychography/M Noun: usually uncountable +psychohistory/SM +psychokinesis/M Noun: usually uncountable +psychokinetic +psycholinguist/SM +psycholinguistic/S +psychologic/S +psychologise/SGDNR +psychologism/SM +psychologistic/Y +psychologue/SM +psychology/w13SMW +psychomedicine/M Noun: uncountable +psychometric/SY +psychometrician/SM +psychometry/WM3 +psychomotor +psychoneuroses +psychoneurosis/M +psychoneurotic +psychonomy/M Noun: uncountable +psychopannychism/M Noun: uncountable +psychopannychy/SM3 +psychopath/ZSMW3 +psychopathic/SY +psychopathology/Mw3 +psychopathy/SM +psychopetal +psychopharmacology/M3Ww +psychophonetic/SY +psychophony/M Noun: uncountable +psychophysic/3YOS +psychophysiologic/O +psychophysiology/3M +psychopolitical +psychopolitics +psychos/S +psychosexual/Y +psychosis/M +psychosocial/Y +psychosomatic/SY +psychosomimetic +psychosphere/SM +psychospiritual +psychostasia/M Noun: uncountable +psychostasy/M Noun: uncountable +psychostatic/S +psychostimulant/SM +psychosurgeon/SM +psychosurgery/SM +psychosurgical +psychosyndrome/SM +psychosynthesis +psychosynthesist/M +psychotechnic/O +psychotechnology/3SM +psychotheism/M Noun: uncountable +psychotherapeutic/SOY +psychotherapy/SM3 +psychotic/SMY +psychoticism/SM +psychotomimetic +psychotronics +psychotropic/SM +psychrometer/MS +psychrophile/SMW +psychs +psyllium/M Noun: usually uncountable +pt +PTA +ptarmigan/SM +pteridological +pteridologist/MS +pteridology/M Noun: uncountable +pteridophyte/SM +pterodactyl/MS +pteropod/MS +pteropodid/SM +Pteropodidae Taxonomic family +Pteropus Taxonomic genus +pterosaur/SM +pteroylglutamic +pterygoid/SMO +Pterygota Taxonomic subclass +PTO +Ptolemaeus/M +Ptolemaic +Ptolemy/M +ptomaine/MS +ptosis/M +ptyalin/M Noun: usually uncountable +Pu/M +pub/MWSDG +pubertal +puberty/MS +pubes +pubescence/KS +pubescent/K +pubis/M +public's/A +public-spirited +public/3MQn +publican/ASM +publication/KMA +publicised/U +publicism/M +publicistic +publicity/SM +publicly +publish/R7SJDG +publishable/U +published/A +publishes/A +publishing/M +Publow/M +Puccini/M +puccoon/MS +puce/KMS +puck/SM +pucker/dSZ +Puckett/M +Puckington/M +puckish/YP +Pucklechurch/M +pucklike +Pudding/M +pudding/SM +Puddington/M +puddingy +puddle/SGJYDMr +Puddletown/M +puddling/M +pudency +pudenda/O +pudendous +pudendum/M +Pudge/M +pudgy/TP +pudic +Pudleston/M +Pudlestone/M +Pudsey/M +Puducherry/M +Puebla/M +Pueblo/M +pueblo/SM +Puente/M +puerile/Y +puerility/MS +Puerorum/M +puerperal +Puerto/M +puff/RSZD2MG +puffball/MS +puffbird/SM +pufferfish/SM +puffin/MS +puffy/T +pug/SMGD +Puget/M +puggish +puggy +pugilism/MS +pugilist/WSM +Pugin/M +pugnacious/YP +pugnacity/SM +pugnant Adjective +pugree +pugreed +Pugwash/M +Puhinui/M +Puhoi/M +Puigdemont/M +Puiseux/M +puisne/SM +puissance/SM +puissant/Y +puja/SM +puke/GDSM +Pukehiki/M +pukeko/MS +Pukekohe/M +Pukelsheim/M +Pukepoto/M +Pukerua/M +Pukete/M +Pukeuri/M +pukish Adjective +pukka Adjective +pukkah Adjective +puku/MS +pulao/SM +Pulaski/M +Pulborough/M +pulchritude/SM +pulchritudinous/M +pule/GDS +Pulford/M +Pulham/M +Pulitzer/M +pull-back/SM +pull-down +pull-in/SM +pull-out/SM +pull/RDGSM +pullet/SM +pulley/SM +Pullman/MS +pullover/SM +Pulloxhill/M +pullulant +pullulate/DGS +pullulation/MS +Pullum/M +pulmonaria/SM +pulmonary Adjective +pulmonate/SM +pulmonic/SM +pulmonology/3M +pulp/prDMS2GZ +pulpit/SM +pulpiteer/MS +pulposus +pulpous +pulpwood/SM +pulpy/T +pulque/SM +pulsar/SM +pulsate/SnDGy +pulsatility/SM +pulsatilla +pulsator/MS +pulse/ADSIG +pulse/Mpr +pulsimeter/MS +Pulteneytown/M +Pultneytown/M +Pulverbatch/M +pulverisable +pulverisator/MS +pulverise/SGDnr +pulverulent +pulvinar/SM +puma/SM +pumice/DSMG +pumiceous +Pumlumon/M +pummel/DGS +pummelo/SM +pump/GDMSr +pumpernickel/SM +Pumpherston/M +pumping/M +pumpkin/MS +pumpkinseed/SM +pun/SGDM +puna/MS +Punakaiki/M +punch/RGSD7JZ +Punchardon/M +punchbag/SM +punchball/SM +punchbowl/SM +punchcard/SM +puncheon/SM +Puncheston/M +Punchinello/MS +punchline/SM +punchy/T +Puncknowle/M +puncta/M +punctate +punctation/MS +punctatissima +punctilio/SM +punctilious/PY +punctual/YP +punctuality/S +punctuality/UM +punctuate/DSGxn +punctum/M +puncture/DSMG +pundit/MS +punditry/SM +Puneet/M +pungency/SM +pungent/Y +punicic Adjective +punish/DGL7Sr +punitive/PY +punitory +Punjab/M +Punjabi/MS +punk/T2SMZ +punkah/MS +punkette/SM +punkie/SM +punkier +punkish/Y +punkster/SM +punner/MS +punnet/SM +Punnett/M +punningly +punster/SM +punt/RGDMSZ +Punta/M +puny/PT +pup/SMNZDG +pupa/MO +pupae/M +pupate/DSG +pupil/SM +pupillage/M +pupilship/MS +pupiparous +puppet/MSy~ +puppetdom +puppeteer/SMG +puppetism/M Noun: uncountable +puppetmaster/SM +puppetry/SM +Puppis/M +puppy/SM~ +puppydom/M Noun: uncountable +puppyhood/SM +Purana/SMW +Purbeck/M +purblind/Y +purblindness/M Noun: uncountable +Purcell/M +Purchas/M +purchasable +purchase/SARGD +purdah/SM +Purdis/M +pure-bred/SM +pure/P3TY +PureBasic/M +purée/DMS +puree/Sd +puréeing +purely/I +purer/I +purest/I +purfle/SMGDJ +purgative/SM +purgatory/MSO +purge/DRSGVn +puri/MS +purificator/MSZ +purify/SnRDG +Purim/M +Purina/M +purine/SM +purism/SM +purist/WMSw +Puritan/MS +puritan/wS1MW +puritanism/SM +Puriton/M +purity/ISM +purl/GSDM +Purleigh/M +purler/MS +Purley/M +purlieu/SM +purlin/SM +purloin/SDGr +purloinment/SM +puromycin/SM +purple/TSMGDZ +purplish +purport/RGDSh +purpose-built +purpose/6MvpVDjuSGY +purposefulness/S +purposeless/PY +purposive/P +purpura/W +purpure/M +purpurin/M +purr/GDSk +purse/GRDMSpZ +Purse/M +pursership/MS +pursiness/M +purslane/M Noun: usually uncountable +pursuable +pursuance/MS +pursuant/Y +pursue/DRSG +pursuit/MS +pursuivant/MS +Purton/M +Puru/M +Purua/M +purulence/SM +purulency/MS +purulent/Y +Purushothaman/M +Purves/M +purvey/DGS +purveyance/MS +purveyor/MS +purview/MS +Purvis/M +pus/ZM +Pusan/M +Pusey/M +Puseyism/M +Puseyite/MS +push-button/SM +push-pull +push-up/SM +push/SR72GzDZ +pushback +pushbike/SM +pushcart/MS +pushchair/SM +pushful/YP +Pushkin/M +Pushmataha/M +pushover/MS +pushpit/SM +pushrod/SM +Pushtu/M +pushy/T +pusillanimity/SM +pusillanimous/Y +puss/S +pussy-cat/S +pussy-whip/D +pussy/MS +pussycat/SM +pussyfoot/GDSr +Pustovoitova/M +pustular +pustulate/GN +pustule/SM +pustulous +put-down +put-up +put-you-up +put/DRGZS +putamen/SM +putamina/M +Putaruru/M +putative/Y +Putford/M +Putin/M +Putley/M +putlock/MS +putlog/MS +Putnam/M +Putney/M +Putorino/M +Putrajaya/M +putrefacient/MS +putrefaction/SM +putrefactive +putrefy/GSD +putrescence/MS +putrescent +putrescible +putrescine/SM +putrid/PY +putridity/M +puts/e +putsch/SM3 +putt/MS +putted/e +puttee/MS +Puttenham/M +putter/d +putti/M +putto/M +putty/MSDG +puttying/M +Puxton/M +puy/MS +Puyallup/M +puzzle/LRSkJDG +PVC +pvt +PW +Pwellcrochan/M +Pwllgwyngyll/M +Pwllheli/M +Pwllypant/M +PX +pyaemia/W +Pyburn/M +Pychard/M +pycnogenol/M +Pyder/M +Pye/M +Pyecombe/M +pyelitis/M +pyelogram/MS +pyelonephritic +pyelonephritis +Pyes/M +pygal/SM +pygarg/SM +pygidia/M +pygidium/M +pygmaean +Pygmalion/M +Pygmalionism/M Noun: uncountable +pygmean +pygmoid/SM +pygmy/MS +pyjama/MSD +Pyke/M +pyknic/SM +Pyle/M +Pylle/M +pylon/SM +pylori/M +pylorus/MW +Pynchon/M +Pyne/M +pyocolpos +pyocyaneous +pyocyaneus +pyocyanic +pyocystis +pyogenic +Pyon/M +Pyong-so/M +Pyongyang/M +pyopneumothorax/M Noun: uncountable +pyorrhoea/SM +Pypard/M +pyracantha/SM +pyralid/SM +pyramid/SMOo +pyramidale/S +pyramidalis +pyramidate/D +pyramidical/Y +pyramis +pyran +pyrane +pyranose/SM +pyrargyrite/SM +pyrazole/SM +pyrazoline/SM +pyrazolone/SM +pyre/MS +pyrectic +pyrene/SM +Pyrenean/SM +Pyrenees/M +pyrenocarp/M +pyrenocarpous +pyrenoid/SM +pyrethroid/SM +pyrethrum/MS +pyretic +Pyrex/M +pyrexia/O +pyrexic/O +Pyrford/M +pyrheliometer/MS +pyridine/SM +pyridoxal +pyridoxamine/SM +pyridoxine/SM +pyridoxol +pyriform +pyrimidine/SM +pyrite/MSW +pyritiferous +pyritous +pyro/M +pyrochlore/SM +pyroclast/SM +pyroclastic/SM +pyrocoll +pyrogallic +pyrogallol/M +pyrogenic +pyrogenicity +pyrography/M +pyrolatry/M +pyroligneous +pyrolysate/SM +pyrolyse/GSWD +pyrolysis/M +pyrolyzate/SM +pyromancy/M +pyromania/SM +pyromaniac/MS +pyrometer/MSW +pyrometry/M Noun: uncountable +pyromorphite/M Noun: usually uncountable +pyrope/SM +pyrophoric +pyrophosphate/SM +pyrophyllite/SM +pyroptosis +pyrosis +pyrotechnic/SY +pyrotechnist/SM +pyrotechny/Ww +pyroxene/MS +pyroxenite/SM +pyroxenoid/SM +pyroxylin/SM +Pyrrha/M +pyrrhic/MS +Pyrrho/M +Pyrrhonian/MS +Pyrrhonic/MS +Pyrrhonism/SM +Pyrrhonist/SMW +pyrrhotite/M Noun: usually uncountable +pyrrole/SM +pyrrolidone/SM +pyrrolizidine/SM +Pyrton/M +pyruvate/SM +pyruvic +Pytchley/M +Pythagoras/M +Pythagorean/SM +Pythagoreanism/M Noun: uncountable +Pythagoric +pythagorically +Pythagorician +Pythian +pythogenic +Python/M +python/MWS +Pythonesque +pythoness/MS +pythonid/SM +pyuria/SM +Pyworthy/M +pyx/SM +pyxides +pyxidia +pyxidium +pyxis +q +Q-boat/SM +Q-ship/SM +q.t./SM +Q1 +Q2 +Q3 +Q4 +QA +Qa'ida/M +Qabalah/M +Qadir/M +Qaeda/M +Qantas/M +Qatar/M +Qatari/SM +QC/SM +QCD/M Noun: uncountable +qi/SM +Qiao/M +qibla/SM +Qijun/M +Qin/M +Qing/M +Qinghai/M +QKD/M Initialism of quantum key distribution +Qom/M +QoS/M Noun: uncountable +QPR/SM +qr/SM Abbreviation of quarter (of the year) +QRpedia/M +qt/M Noun: uncountable +qua +quack/MSGD~r +quackery/SM +quad/SM +quadplex/SM +quadragenarian/SM +Quadragesima/M +quadragesimal +quadrangle/MS +quadrangular/Y +quadrant/MSW +quadrantal/SM +quadrantanopia +Quadrantid/SM +quadraphonic/Y +quadraphonics/M Noun: uncountable +quadraphony/M Noun: uncountable +quadrat/MS +quadrate/SM +quadrati/M +quadratic/MOYS +quadrature/SM +quadratus/M +quadrennia/M Plural of quadrennium +quadrennial/YSM +quadrennium/MS +quadriannulate +quadriarticulate/D +quadribasic +quadric/SM +quadricarinate Adjective +quadriceps/SM +quadrifid/M +quadriga/SM +quadrigae/M +quadrilateral/SM +quadrilingual/SMY +quadrille/SM +quadrillion/HMS +Quadring/M +quadringenary/SM +quadrinomial/SM +quadripartite/YSM +quadriplegia/SM +quadriplegic/SM +quadripole/MS +quadrireme/MS +quadrisyllabic/MO +quadrisyllable/MS +quadrivalent/SM +quadrivia/M Plural of quadrivium +quadrivium/M +quadroon/MS +quadrophonic/SY +quadrophony/MW +quadrumanous +quadruped/SM +quadrupedal/Y +quadrupedalism/M Noun: uncountable +quadrupedality/M Noun: uncountable +quadrupetalous +quadruple/MGDSY +quadruplet/SM +quadruplicate/DSGn +quadruplicity/SM +quadrupolar +quadrupole/SM +quaere/SGD +quaestor/MSO +quaestorship/MS +quaff/DSG7rM +quagga/MS +quaggy +quagmire/SM +quaich/MS +quaigh/MS +quail/DGMS +quailery/MS +quaint/TPY +Quainton/M +quake/DZGMSk +Quaker/YMS~ +Quakerdom/M Noun: uncountable +Quakeress/MS +Quakerism/SM +quakiness/M Noun: uncountable +quaky/T +Qualcomm/M +qualifiable +qualificatory +qualified/Uc +qualified/Y +qualifier/SM +qualify/EnDGSM +qualitative/YSM +quality/SM +qualm/ZMS~ +qualmishness/M Noun: uncountable +quand +quandary/MS +quango/SM +quant/MS +quanta/M Plural of quantum +quantal/Y +quantaloid/SM +quantic/SM +quantify/7RDGnS +quantile/SM +quantitate/SGDn +quantitative/PY +quantitive/Y +quantity/MS +Quantock/M +Quantoxhead/M +quantum/qQsM +Quaoar/M +quaquaversal/Y +quaquaversality/M Noun: uncountable +quarantine/DSMG +quare/T +quarer +quark/SM +quarkonia/WM +quarkonium/SM +Quarles/M +Quarley/M +Quarndon/M +Quarnford/M +quarrel/RGSDMJ +quarrelsome/PY +Quarrington/M +quarry/mSMGDR +quart/WMRS +quartan/SM +quartation/MS +quarte/SM +quarter-final/SM3 +quarter-hour/SMY +quarter-light/SM +quarter-plate/SM +Quarter/M +quarter/SMdYr +quarterage/MS +quarterback/SM +quarterdeck/SM +quartering/SM +quarterly/SM +Quartermaster Quartermaster General +quartermaster/SM +quartern/MS +quarterstaff/SM +quartet/SM +quartette/MS +quartic/SM +quartile/MS +quarto/SM +quartz/SM +quartzite/SM +quasar/SM +quash/SGDr +quashable +quasi +quasilinear/Y +quasilinearity/M Noun: uncountable +Quasimodo/SM +quasiparticle/SM +quasiperiodic/Y +quasiperiodicity/SM +quasisynchronous/Y +quassia/SM +quatercentenary/SM +Quatermain/M +Quaternary +quaternary/SM +quaternion/MS +quaternity/SM +Quatford/M +quatorzain/SM +Quatorze Quatorze Juillet +quatorze/SM +quatrain/SM +quatre/SM +quatrefoil/SM +Quatt/M +quattrocentist/SM +quattrocento/M Noun: uncountable +quaver/dkSMZ +Quay/M +quay/SM +quayage/MS +Quayle/M +quayside/SM +qubit/SM +Queally/M +quean/MS +queasy/PYT +Quebec/RM +Quebecer/SM +Quebecois/M +quebracho/SM +Quechua/SM +Quechuan/SM +Quedgeley/M +queen/GYSDMp +Queen/M +Queenborough-in-Sheppey/M +Queenborough/M +queendom/SM +Queenhill/M +Queenhithe/M +queenhood/M Noun: usually uncountable +queenie/MS +queenlike +queenliness/M Noun: uncountable +queenly/T +Queens/M +Queensberry/M +Queensbury/M +Queensferry/M +queenship/SM +Queensland/M +Queenstown/M +Queensway/M +Queenwood/M +queer/PMSTGDY~ +Queijas/M +Quélet/M +Quelimane/M +quell/SGDR +Queluz/M +quench/DR7SGpM +Quendon/M +quenelle/SM +Queniborough/M +Quenington/M +Quentin/M +quercetin/SM +quercitron/SM +Quercus Taxonomic genus +querier/SM +querist/MS +quern/SM +Querne/M +Quernhow/M +Quernmore/M +querulous/YP +query/GMSD +quesadilla/SM +Quesnel/M +quest's/FI +quest/ADSRGM +quester/FMS +question/RDJS7kMGlp +questionableness/M Noun: uncountable +questionary/SM +questioned/AU +questioning/UY +questionnaire/MS +questions/A +quests/FI +Quethiock/M +quetiapine/M Noun: uncountable +Quetta/M +quetzal/SM +queue-jump/SGDR +queue/GCSD +queue/Mr +queueing +Qui-Gon/M +quibble/RSDGM +Quiberon/M +quiche/MS +Quichua/M +quick-fire Adjective +quick-witted/Y +quick/TPYSM +quicken/dSr +quickie/SM +quicklime/SM +quicksand/MS +quickset/SM +quicksilver/dMSZ +quickstarter +quickstep/SMGD +quickthorn/SM +QuickTime/M +quid/SM +quiddity/SM +Quidenham/M +Quidhampton/M +quidnunc/SM +quiesce/SGD Verb +quiescence/SM +quiescency/M Noun: uncountable +quiescent/YP +quiet/MSGDYTPp +quieten/Sd +quieter/E +quieter/SM +quieting/E +quietism/SM +quietist/SMW +quietly/E +quiets/E +quietude/ESMI +quietus/MS +quiety/M +quiff/SM +Quiggin/M +Quigley/M +Quijote/M +quill/DMGS +quillet/MS +Quilliam/M +quilt/RDMGS +quilting/SM +quin/MS +quinacrine/SM +quinapril/M Noun: uncountable +quinarianism/M Noun: uncountable +quinary/SM +quinate/SM +quince/SM +quincentenary/SM +quincentennial/MS +Quincey/M +Quincke/M +quincuncial/Y +quincunx/SM +Quincy/M +Quindar Quindar tones +Quine/M +quingentenary/MS +quinidine/SM +quinine/SM +Quinion/M +Quinn/M +Quinnell/M +quinoa/SM +quinol/SM +quinoline/SM +quinolone/SM +quinone/SM +quinoyl/M Noun: uncountable +quinquagenarian/SM +quinquagenary/MS +Quinquagesima/M +quinquagesimal Adjective +quinquelateral/M +quinquennia/M Plural of quinquennium +quinquennial/YSM +quinquennium/MS +quinquereme/MS +quinquevalent Adjective +quinsy/DSM +quint/WMS +Quinta/M +quinta/MS +quintain/MS +quintal/MS +quintan/MS +Quinte/M +quinte/MS +quintessence/MS +quintessential/Y +quintet/SM +quintillion/HSM +Quintin/M +quintinomial/SM +Quinton/M +quintuple/SGDYM +quintuplet/SM +quintuplicate/nSGDJM +Quintus/M +quinuclidinyl/SM +quip/SMGDR +quippery/SM +quipster/SM +quire/M +quire/SAI +Quirinal +Quirinius/M +quirk/S2MZ~ +quirky/TY +quirt/DSMG +Quisling/M +quisling/SM +quit/RSGD +quitch/M Noun: uncountable +quitclaim/MS +quite/A +Quito/M +quittance/SM +quiver/dZkSM +Quivox/M +Quixote/M +quixotic/Y +quixotism/SM +quixotry/SM +quiz/DRZGM +quizzes +quizzy/w1 +Qumran/M +quo/SM +quod/SM +quoddity/SM +quodlibet/MSO +quodlibetic/OY +quoiler/SM +quoin/DSMG +Quoisley/M +quoit/GDSM +quoll/SM +quondam/Y +quondamship/M Noun: uncountable +Quonset/SM +quorate/SM +Quorn/M +Quorndon/M +quorum/SM +quota/MS +quotability/M Noun: usually uncountable +quotable +quotableness/M Noun: uncountable +quotative/SMP +quote/DaSGn +quote/M +quoter/SM +quoth/SGD +Quothquan/M +quotidian/SMY +quotient/MS +Qur'an/MW +Quran/MW +QVGA +QWERTY +r.p.m. +r/sd +Ra/M +Raab/M +RAAF/M +Raafat/M +Raasay/M +Rab/M +Rabat/M +rabbet/SMd +rabbi/SM +rabbinate/MS +rabbinic/YO +rabbinism/M +rabbinist/MS +rabbit/SdM +rabbity +rabble-rouser/SM +rabble-rousing +rabble/SM +Rabelais/M +Rabelaisian +Rabelaisianism/M Noun: uncountable +rabi/SM +rabid/PYSM +rabidity/SM +rabies +Rabin/M +Rabinowitz/M +Rabson/M +Rabun/M +Raby/M +RAC/SM +raccoon/MS +race/RDSGJZoM +racecar/SM +racecard/SM +racecourse/SM +racegoer/SM +racehorse/SM +racemate/MS +raceme/SMW +racemose/Y +racetrack/MS +raceway/SM +Rachael/M +Rachel/M +Rachman/M +Rachmaninov/M +Rachmanism/SM +racial/3SM +racialise/SGDN +racialism/SM +raciation/SM +Racine/M +racism/SM +rack-and-pinion +rack/SDGM +Rackenford/M +racket/MdZS +racketeer/JGMS +Rackham/M +Rackheath/M +racloir/SM +raconteur/SM +raconteuse/MS +racoon/SM +racquet/SM +Racton/M +racy/T3PY +rad/SMw1 +radar/MS +Radbourne/M +Radcliff/M +Radcliffe/M +Radclive-cum-Chackmore/M +Radclive/M +Radcot/M +Raddington/M +raddle/DGMS +Radegund/M +Radek/M +Radeon/M +Radford/M +Radha/M +radial/SMY +radialised +radian/MS +radiance/MS +radiancy/M +radiant/SMY +radiate/SnIVDG +radiate/Y +radiation/MI +radiatively +radiator/SM +radical/MS~ +radicalise/SGDN +radicalism/MS +radicality/SM +radicand/SM +radicant +radices +radicle/SM +radicular +radii/M +radio-astronomical +radio-controlled +radio-opaque +radio-telegraph/SZ +radio-telegraphy/M +radio-telephone/MS +radio/DmSGM +radioactive/Y +radioactivity/M Noun: usually uncountable +radiobiology/M31w +radiocarbon/MS +radiochemical/Y +radiochemist/SM +radiochemistry/M +radiocolloid/SMO +radiocommunication/SM +radioconductor/SM +radiodating +radiodense +radiodensity/SM +radiodermatitis +radiodiagnosis +radiodiagnostic/S +radioecology/wM +radioenzymatic +radiogenic/Y +radiogoniometer/SM +radiogram/SM +radiograph/SDGR1 +radiography/SWM +radioimmunoassay/SM +radioiodine/SM +radioisotope/MSW +radiolabelled +radioland/M Noun: uncountable +radiolaria +radiolarian/SM +radiolocation/M +radiology/W13Mw +radioluminescent +radiolyses +radiolysis/M +radiolytically +radiometer/1MSW +radiometry/M Noun: usually uncountable +radionics +radionuclide/SM +radiopacity/SM +radiopaque +radiophonic/S +radiophonicist/M +radiophony/M Noun: uncountable +radiophosphorus +radiophosphorylated +radiophoto/SM +radiophotograph/SMZ +radiophotoluminescence/SM +radiophotovoltaic +radiophysical +radiophysics +radioprotectant/SM +radioprotection/M Noun: uncountable +radioprotective/SM +radioprotector/SM +radiopure +radiopurity/SM +radioreceptor/SM +radioresistant +radioscanning/M Noun: uncountable +radioscopy/WSM +radiosensitive/P +radiosensitivity/SM +radiosity/SM +radiosondage/SM +radiosonde/MS +radiostereometric +radiosterilise/Dn +radiostrontium/SM +radiosurgery/M Noun: uncountable +radiosurgical/Y +radiotelegraphically +radiotelemetry/M Noun: uncountable +radiotelescopic +radioteletype/SM +radiotelex/M +radiotherapeutic/Y +radiotherapy/SM3 +radiothermal +radiothorium/M Noun: uncountable +radiotoxic +radiotoxicity/M Noun: uncountable +radiotracer/SM +radiovoltaic/S +Radipole/M +radish/SM +radium/M +radius/MS +radix/M +Radlett/M +Radley/M +Radnage/M +Radnor/M +Radnorshire/M +radocene +radome/SM +radon/M Noun: uncountable +Radstock/M +Radstone/M +radula/M +radulae/M +radular +Radway/M +Radwell/M +Radwinter/M +Radyr/M +Rae/M +Rael/M +Raël/M +Raelian/SM +Raëlian/SM +Raëlism/M +Raelism/M +Raes/M +Raetihi/M +RAF/M +Rafael/M +raff/SM +Raffety/M +raffia/SM +raffinate/MS +raffinose/SM +raffish/PY +raffle/DSMG +Raffo/M +Rafford/M +raft/RSDMG +raftered +raftsman/M +raftsmen/M +rag/diGkMSDh +raga/MS +ragamuffin/MSY +ragbag/SM +Ragdale/M +rage/eSMGD +ragga/M Noun: uncountable +ragged/PZ +Raglan/M +raglan/SM +Ragnall/M +Ragnar/M +Ragnarök/M +Ragnarsson/M +Ragnhild/M +ragout/SM +rags-to-riches +ragstone/M Noun: usually uncountable +ragtag/SM +ragtime/SM +raguly +Ragusa/M +ragweed/SM +ragworm/SM +ragwort/SM +Rahim/M +Rahman/M +Rahotu/M +Rahul/M +Rahway/M +Rai/M +raid/RGSDM +Raikkonen/M +rail/CDSGJ +rail/Mp +railage +railbed/SM +railbird/SM +railbus/SM +railcar/SM +railcard/SM +railer/MS +railhead/MS +railing/M +raillery/SM +railman/M +railmen/M +railroad/SGDM +Railtrack/M +railway/mSM +railwayana/M +raiment/MS +rain-cloud/SM +rain-maker/MS +rain-making +rain-shadow/SM +rain/DMGSpZ +rainbow/MS +raincoat/SM +raindrop/SM +Raine/M +Rainey/M +rainfall/SM +Rainford/M +rainforest/MS +Rainham/M +Rainhill/M +raininess/M +Rainow/M +rainproof +Rains/M +rainstorm/MS +rainswept +Rainton/M +rainwater/M Noun: usually uncountable +Rainworth/M +rainy/TY +Raipur/M +raise/RGDS +raisin/MS +Raisman/M +raison/SM +Raistrick/M +Raith/M +Raithby/M +Raitt/M +Raj/M +raja/MS +Rajabali/M +rajah/MS +rajaship/MS +Rajasthan/M +Rajesh/M +Rajguru/M +Raji/M +Rajkumar/M +Rajon/M +Rajput/MS +Rajputana/M +Rajshahi/M +Rajya/M +Rakaia/M +rake/SGMDyR +rakehell/SMY +Rakiriri/M +rakish/PY +Rakiura/M +Rakow/M +raksasa/MS +raksasi/MS +rakshasa/MS +rakshasi/MS +rale/MS +Raleigh/M +Ralf/M +Ralls/M +rally/DSGM +rallycross/M Noun: uncountable +raloxifene/SM +Ralph/M +ram/DSGM +RAM/SM +Rama/M +Ramadan/M +Ramalho/M +Ramalingam/M +Ramapo/M +Ramarama/M +Ramati/M +Ramayana/M +ramble/kJDRSGY +Rambo/M +Rambouillet/M +rambutan/SM +ramdisk/SM +Rameau/M +ramekin/MS +Ramesh/M +rami/M +ramie/MS +ramify/nSDG +ramipril/M Noun: uncountable +Ramirez/M +ramjet/SM +rammelly +rammer/MS +Ramnath/M +Ramon/M +Ramona/M +Ramos/M +ramose +ramp/DMSG +rampage/DSG +rampageous +rampancy/M Noun: usually uncountable +rampant/Y +rampart/SM +rampion/MS +Rampisham/M +Rampling/M +Ramprakash/M +Rampside/M +Rampton/M +ramrod/MS +Ramsar/M +Ramsay/M +Ramsbottom/M +Ramsbury/M +Ramsden/M +Ramses/M +Ramsey/M +Ramseyer/M +Ramsgate/M +Ramsgreave/M +ramshackle/P +Ramsholt/M +Ramshorn/M +Ramtha/M +ramus/M +ran/Aec +ran/S +Ranby/M +ranch/DRSGM +Ranch/M +Ranchi/M +Rancho/M +rancid/P +rancidity/MS +rancorous/Y +rancour/DMSp +rand/2ZM +Rand/M +Randall/M +Randalstown/M +randan/MS +Randell/M +Randi/M +randkluft/SM +Randlay/M +Randle/MS +Randolph/M +random/qQYP +randomicity +randomiser/SM +Randwick/M +randy/T +ranee/MS +Ranexa/M +Ranfurly/M +rang/RGDZ +rangability +Ranganathan/M +rangatira/SM +rangatiratanga/M Noun: uncountable +range-amplitude +range-taker +range/6Mp +range/SCGD +rangeability/SM +rangefinder/SM +Rangel/M +rangeland/SM +rangership/MS +Ranges/M +Rangeworthy/M +Rangiora/M +Rangitikei/M +Rangoon/M +rangy/T +rani/MS +ranitidine/M Noun: uncountable +rank/pMSGDJTYRP~ +ranked/Ue +Rankin/M +ranking/M +rankism/M Noun: usually uncountable +rankle/DSGM +Rann/M +Rannoch/M +Ranoch/M +ransack/GSMDR +Ranskill/M +ransom/MdSrp +ransomite/SM +ransomware/M Noun: uncountable +rant/RGJSDkM +rantipole/MS +Ranton/M +Rantoul/M +Ranui/M +ranunculaceous +ranunculi/M +Ranunculus Taxonomic genus +ranunculus/SM +Ranworth/M +Rao/M +rap/d3RDGSM +Rapa/M +rapacious/YP +rapacity/SM +Rapaura/M +rape/SM3 +rapeseed/M Noun: usually uncountable +Raphael/M +Raphaelite/SM +raphia/SM +raphide/MS +Raphinae +Rapho/M +Raphson/M +rapid-fire +Rapid/M +rapid/YSMP +Rapides/M +rapidity/SM +Rapids/M +rapier/MS +rapine/MS +Rapini/M +Rapinoe/M +Rapisardi/M +Rappahannock +Rappaport/M +rapparee/MS +rappee/SM +rappel/GDS +rapping/M +rapport/MS +rapporteur/SM +rapprochement/MS +rapscallion/SM +rapt/YPSM +raptor/SM +raptorial/Y +rapture/SM +rapturous/PY +Raquel/M +rare/YGTP +rarebit/MS +rarefaction/MS +rarefactive +rarefy/DGSn +Raritan/M +rarity/MS +Rarotonga/M +Rarotongan/SM +rascal/YMS +rascaldom/M +rascalism/M +rascality/MS +rascasse/SM +raschel/MS +rase/SGDJ +Rasen/M +rash/6SYTRP +Rasharkin/M +Rashevsky/M +Rashida/M +Raskelf/M +Raskelfe/M +Rasmus/M +Rasmussen/M +rasp/SGkZDMr +raspatory/MS +raspberry/MS +Rasputin/M +raspy/T +Rassau/M +rasse/MS +Rastafari/M +Rastafarian/SM +Rastafarianism/M +raster/MS +rasterise/SGDNR +Rastrick/M +rat-catcher/SM +rat/DdMRGSZ +rata/MS +ratability/M Noun: usually uncountable +ratable/Y +ratafia/MS +Ratapiko/M +ratatat/MS +ratatouille/SM +ratbag/SM +Ratby/M +ratch/MS +ratchet/dSM +Ratcliffe/M +rate-cap/G +rate/cDGS +rate/Mp +rateability/M Noun: usually uncountable +rateable/Z +ratel/SM +ratemahatmaya/M +ratemeter/SM +ratepayer/SM +rater/SM +Rath/M +Rathen/M +rather +Rathfriland/M +Rathke/M +Rathmell/M +Ratho/M +rathole/SM +Rathven/M +raticide/SM +ratificatory +ratify/BSRnDG +rating/MS +ratio/SM +ratiocinate/DVGSn +ration/SMGD +rational/SMYs3Qq +rationale/MS +rationalism/SM +rationalistic +rationality/IM +rationality/S +ratite/SM +Ratley/M +ratline/MS +ratling/MS +Ratlinghope/M +Ratner/M +Raton/M +ratoon/DGMS +ratsbane/M +rattail/SM +rattan/SM +Rattery/M +Rattigan/M +rattle/RGYJDSM +Rattlesden/M +rattlesnake/MS +rattletrap/MS +rattly/T +Ratton/M +rattrap/SM +Rattray/M +ratty/T +Ratzinger/M +Rauceby/M +raucous/PY +Raughton/M +Raumanga/M +Raumati/M +raunch/M2 +raunchy/TY +Raunds/M +Raureka/M +ravage/DRSGM +Ravalli/M +rave/JGSDRk +ravel/UGDS +Raveley/MS +raven/dSM +Ravendale/M +Ravenfield/M +Ravenhill/M +Raveningham/M +Ravenna/M +ravenous/YP +Ravensbourne/M +Ravensbruck/M +Ravenscroft/M +Ravensdale/M +Ravensden/M +Ravenshead/M +Ravensthorpe/M +Ravenstone/M +Ravenstonedale/M +Ravensworth/M +Ravenwood/M +Raverat/M +Ravernet/M +Ravicher/M +Ravilious/M +ravine/SMD +ravinement/SM +ravioli/SM +ravish/DRGLSk +raw-boned +raw/PTY~ +Rawalpindi/M +Rawcliffe-with-Tarnacre/M +Rawcliffe/M +Rawdon/M +Rawene/M +rawhide/SM +Rawhitiroa/M +Rawiri/M +Rawle/MS +Rawlings/M +Rawlinson/M +rawlplug/SM +Rawmarsh/M +Rawreth/M +Rawson/M +Rawston/M +Rawtenstall/M +ray/DMSG +Ray/M +rayah/MS +Raydon/M +raygun/SM +Rayleigh/M +rayless/YP +raylet/MS +Raymer/M +Raymond/M +Raymondville/M +Raymore/M +Rayne/M +Rayner/M +Raynham/M +rayon/SM +Raytheon/M +Raytown/M +Rayward/M +Razak/M +raze/DSG +razee/MS +razor-sharp +razor/MSd7 +razorback/MS +razorbill/SM +razorblade/SM +razorfish/SM +razzamatazz/M +razzia/SM +Razzie/M +razzle +razzmatazz/M Noun: usually uncountable +Rb +RCA/M +RD/M +Rd/M +rDNA/SM +RDS/M +re-adapt/SDG +re-allocated +re-deployed +re-election +re-eligibility +re-emergence +re-emission +re-employ/7SG +re-employment +re-enable/SGD +re-enablement +re-enact/SDG +re-enactment/S +re-enactor/S +re-enforce/LSGDr +re-engagement +re-enlister +re-enlistment +re-entrant +re-enumerate/SGDN +re-equip/SG +re-establish/SGD +re-establishment +re-evaluate/DGS +re-evaluation +re-experience +re-export/SGD7 +re-form/N +re-fund +re-radiated +re-registration +re-release/DGS +re-roll/SGD +re-route/GSD +re-routeing +re-site/SDG +re-soluble +re-sort/G +re/nxhoYJNi +Rea/M +reablement +reabridge/SGD +reabsorb/Sd +reabsorption +reabsorptive +reaccept/D +reacceptance +reaccess +reaccession +reaccrete/SGD +reach/eGcDS +Reach/M +reachability/SM +reachable/U +react/cSDG +reactance +reactant/SM +reaction/cMS +reaction/O +reactionariness +reactionarism/M Noun: uncountable +reactionary/SMY +reactionaryism/M Noun: uncountable +reactionism/M Noun: uncountable +reactionist/MS +reactivate/SGD +reactive/nU +reactiveness +reactivity/SM +read-only +read/2JlRzGB +readability/SM +readableness/M +readapt/SGDN +readd/SGD Verb +readdress/G +reader/aM +reader/Y +readership/MS +reading/aS +reading/M +Reading/M +Readington/M +readjust/LSG +readme +README +readmittance/M +readopt/SG +readout/MS +reads/aA +readvance +ready-made +ready/TSDPG +reaffirm/SGDn +reafforest/N +Reagan/M +Reaganite/SM +reagency/M +reagent/SM +reaggregate +Reagle/M +real-life +real-time +real/SMTts3qQY +realisable +realise/Dl +realism/SM +realist/W1 +realistic/UY +reality/USM +reallot/DGS +realm/SM +realness +realpolitik/SM +realtor/SM +realty +ream/RGDMS +reanalyse/SGD +reanalysis +reap/RGSD +reapply/nG +reappoint/LG +reappropriate/SGDN +reapprove/SGD +rear-view +rear/DRMGS +rearchitect/SGD +Reardon/M +rearguard/MS +rearm/GL +rearmost +rearrange/L +rearrest/G +Rearsby/M +rearward/S +reascend/DNG +reason/rlp7dSM +reasonability/M Noun: usually uncountable +reasonableness/U +reasonably/U +reasoned/U +reasoning/M +reasoning/U +reassemble/Y +reassert/G +reassess/LG +reassign/LG +reassociate/SGD +reassortment/SM +reassume/SGD +reassumption +reassuringly/U +reattach/GL +reattain/G +reattempt/SGD +reauthorise/n +reawaken/d +Reay/M +Reba/M +rebadge/SGD +rebalance +rebar +rebarbative/Y +rebase/SGD +rebate/SM +rebec/SM +Rebecca/M +rebeck/SM +rebel/MSGD +rebellion/MS +rebellious/Y +rebelliousness +Reber/M +rebid/G +rebind/G +rebirth/SGDR +rebled +rebleed/SG +Rebney/M +reboant +reboil/SGD +rebook/G +rebore/SMGDJ +reborrowing +rebottle/rSGD +rebounder/S +rebrand/SGD +rebreathe/Dr +rebroadcast/M +rebuff/SGD +rebuffer/Sd +rebuild/GBr +rebuke/DkSGr +rebutment +rebuttable +rebuttal/SM +rebutter/MS +recalcitrance/M +recalcitrant +recalculate +recalesce/DGS +recalescence +recalibrations +recall/G7 +recant/nGS +recapitulation/M +recapitulative +recapitulatory +recapture/SGD +recast/G +recategorisation/SM +recce/SD +recceing +receipt/GMDS +receivable/S +receive/DRGS +receivership/SM +recency/M +recension/M +recent/Y +recentness +recentre +receptacle/SM +reception/MS3 +receptionism/M Noun: uncountable +receptive/Y +receptiveness +receptivity/SM +receptor/SM +recertify/N +recess/GMNuSXDVv +recession/y +recessional/SM +recessive/PS +Rechabite/MS +rechain/SGD +rechallenge/SGD +rechange/SGD +rechannel/SGD +recharger/SM +rechartering +recherché +rechipping +Rechtien/M +recidivate/SGD +recidivism/SM +recidivist/SM +Recife/M +recipe/MS +recipiency +recipient/SM +reciprocal/YS +reciprocate/nDGS +reciprocity/SM +recirculate/SGD +recision/SM +recital/3SM +recitative/SM +recite/R +reck/DGS +reckless/Y +recklessness +reckon/dS7r +reckonings +reckonmaster/SM +reclaim/7 +reclaimable/I +reclaimant +reclamation/MS +reclassify/DGn +reclinate +recline/SDRG +recluse/MSV +reclusion/SM +recognisable/U +recognisably/U +recognisance/S +recognise/RBGDlS +recognitory +recoil/p +recoin/SGDJ +recollect/SG +recollective +recolour/GD +recombinant/SM +recombination/Mp +recombinational/Y +recombinogenic +recomforting +recommand/SGD +recommencer +recommission/G +recommit/LGNXD +recommittal +recompact/SGD +recompare/SGD +recompensable +recompensate/SGDN +recompense/SDG +recompile/7SGDn +recompose/DN +recompress/SDGN +recompute/SG +reconceptualise/SGD +reconcilability/M +reconcilable/UI +reconcile/7SGD +reconcilement +reconciler/MS +reconciliations +recondite/PY +recondition/G +reconfigure/B +reconnaissance/MS +reconnect/GD +reconnection/SM +reconnoitre/SDG +reconquista +reconsideration/M +reconsign/G +reconsolidate/DGS +reconsolidation/S +reconstructable +reconstructed +reconstructional +reconstructionary +reconstructive/P +reconstructor/SM +reconsult/SGD +recontamination +recontextualise/SGD +recontinuance +recontinue +reconvalescence +reconvalescent +reconvention +reconverge +reconversion +reconvert/SG +reconvertible +reconveyance +reconvict/SGD +reconviction +reconvoke +recopper +recopy/SGD +record-breaking +record-keeping +record/SDRJ37 +recordable +recordership/MS +recount/G +recoup/DG7 +recouperation +recouple/SGD +recoupment +recourse +recover/gdZ7 +recoverable/UI +recovery/SM +recrawl/SGD +recreancy/SM +recreant/SY +recreate/xSGD +recreative +recriminate/VSyGDn +recrudesce/DSG +recrudescence/M +recrudescent +recruit/rdMLS +recruital/MS +recta/M +rectal/Y +rectangle/MS +rectangular/Y +rectangularity/M +recti +rectify/G7nDRS +rectilineal +rectilinear/Y +rectilinearity/M +rectitude/SM +recto/SyM +rectocele/SM +rectoneovaginal +rector/O +rector/SMF +rectorate/SM +rectorship +Rectory/M +rectory/SM +rectosigmoid/OSM +rectouterine +rectovaginal +rectum/MS +rectus/M +Reculver/M +recumbency/M +recumbent/YSM +recuperate/SnVGD +recur/DGS +recurrence/MS +recurrent +recurs/vV +recurse/SGD +recursion/SM +recursiveness +recursivity/SM +recurvate +recurvature/SM +recurve/DGMS +recusance/Z +recusant/SM +recyclable/SM +recycle/7RSGD +red-blooded/P +red-eye +red-faced +red-handed +red-head/MSD +red-hot +red-letter +red-light +Red/M +red/PTSMZ +redact/GDS +redaction/SMO +redactor/MSO +redactoral +redan/SM +redargue/SGD +redargution/SM +redargutive +redate/SGD +redbeard +Redbeard/M +redbelly/SM +redberry/SM +Redberth/M +redbone/SM +Redbourn/M +Redbourne/M +redbreast/SM +redbrick/SM +Redbridge/M +redbud/SM +redcap/SM +Redcar/M +Redcliffe/M +Redcliffs/M +redcoat/SM +redcurrant/SM +redden/dS +Redding/M +Reddington/M +reddish +Reddit/M +Redditch/M +Redditor/SM +reddle/M +Rede/M +redeal/SGM +redealt +redeclare/SGN +redecorate +redeem/D7R +redeemable/UI +redefinable +redeless +redelivery/SM +redemption/SM +redemptive +Redemptorist/MS +Redemptoristine/MS +Redenhall/M +redeploy/LSGD +redeposition +redescend/DGS +redescription/SM +redesign/DGS +redesignate/SGDN +redetermine/ND +redevelop/L +Redfearn/M +Redfern/M +Redfield/M +redfish/SM +Redford/M +Redgorton/M +Redgrave/M +redhead/SM +Redhill/M +Redi/M +redial/SDG +rediffusion/M Noun: uncountable +redimension/SGD +Redinger/M +redingote/MS +redintegrate/DGS +redintegration/MS +redirect/G +redirection/SM +rediscuss/SGD +Redisham/M +Redisher/M +redissolution/MS +redistributable +redistributor/SMZ +redivide/SGD +redivivus +Redland/MS +Redlingfield/M +redlining/SM +Redlynch/M +Redmarley/M +Redmarshall/M +Redmayne/M +Redmile/M +Redmire/M +Redmond/M +redo/G +redolence/M +redolent +Redonda/M +Redondo/M +redouble/DGS +redoubt/Dl +redound/GDS +redox/M Noun: uncountable +redpoll/MS +redraft/DG +redraw/G +redress/G +redressal/M +redrill/SGD +Redrobe/M +Redruth/M +redshank/SM +redshift/D +redskin/SM +redstart/SM +reduce/SbDGRnV +reducibility/MI +reducible/Y +reducible/YI +reductant/SM +reductase +reductio +reduction/M3 +reductionism/SM +reductionistic +redundancy/MS +redundant/Y +reduplicative +Redvales/M +redwater/M Noun: uncountable +Redwick/M +redwing/SM +Redwood/M +redwood/MS +Redwoodtown/M +Reebok/M +Reece/M +Reed/M +reed/ZGDMS2 +reedbuck/SM +Reedham/M +reeding/SM +Reedley/M +Reedness/M +Reedville/M +reedy/PT +reef/DMRSGO +Reefton/M +reek/SDGM +reel/SRGDM +reenergise/SGD +reentry/SM +Reepham/M +Rees/M +Reese/M +Reeth/M +reevaluate/SGDn +reeve/SGM +Reeves/M +ref/M +refactor/Sd +refamiliarise/SGD +refashion/SGD +refection/SM +refectory/MS +refer/RSDG7 +referee/GdMS +reference/CDSG +reference/M +referencer/M +referenda/M +referendum/SM +referent/MS +referential/Y +referentiality +referral/SM +refigure/SGD +refill/G7 +refilm/SGD +refiltration/SM +refine/LR +refined/cU +refire/SGD +refit/GD +reflate/N +reflation/y +reflect/GuvSVD +reflectance/SM +reflection/SMOpG +reflectionist +reflective/P +reflectivity/SM +reflectogram/SM +reflectogramme/SM +reflectograph/SM +reflectography/WM +reflectometer/SM +reflectometry/M Noun: usually uncountable +reflector/MS +reflex/YDSM +reflexibility/SM +reflexible +reflexional +reflexive/SY +reflexiveness/M +reflexivity/SM +reflexology/3M +refloat/SGD +refluence/SM +refluent +refold/G +reforest/nG +reform/BRnVy3d +reformat/SDG +reformatory/MS +reformism/SM +refoulement/SM +refract/DyvGVS +refractile Adjective +refraction/SM +refractometer/WMS +refractometry/M Noun: usually uncountable +refractor/SM +refractoriness/M Noun: uncountable +refrain/DGS +reframe/SD +refrangibility/MS +refrangible +refreeze +refresh/DLGS7k +refries +refrigerant/SM +refrigerate/nDSG +refrigerator/MSZ +refringence/MS +refringency/MS +refringent +refrozen +refuel/SDRG +refuge/SM +refugee/SM +Refugio/M +refulgence/SM +refulgent/Y +refund/7 +refundment/MS +refurbishment/SM +refurnish/SGD +refusable +refusal/SM +refuse/r +refusenik/SM +refutability/M Noun: uncountable +refutable/I +refutal/SM +refutative +refute/DnRSG +reg/SMOo +regainable +regainable Adjective +regale/DG +regalement/SM +regalia/M +regalise/SGD +regalism/M Noun: usually uncountable +regalist/SM +regality/SM +Regan/M +regard/ESGD +regardable +regardant +regardful/Y +regardless/Y +regardlessness/M +regather/dS +regatta/SM +regauge/SGD +regelate/DN +regency/MS +regenerate +regeneratory Adjective +regenesis/M +Regensburg/M +regerminate/DGS +regermination/MS +regexp/SM +reggae/SM +Reggie/M +regicide/SMO +regifter/SM +régime/MS +regime/SM +regimen/SM +regiment/DMGnS +regimental/SY +Regina/M +Reginald/M +Regio/M +Region/M +region/oSM +regional/SM +regionalise/SGDn +regionalism/MS +regionalist/MSW +regionary/SM +regioselectivity/SM +regiospecific +regiospecificity/SM +Regis/M +Régis/M +regisseur/MS +register/KdNSn +register/M +registerer/SM +registrable +registrant/SM +registrar/SM +registrarship +registration/MK +registry/SM +Regius +reglementary +regnal +regnant/SM +Regno/M +regolith/SM +regrade/SGD +regrate/SGDr +regress/GVDvSu +regression/SM +regressive/P +regressivity/M Noun: usually uncountable +regressor/SM +regret/GDj6Sp +regretful/P +regrettable/Y +regrind/SG +reground +regroup/SGD +regroupment/MS +regrow/G +regulable +regular/qQYSM +regularity/IMS +regulate/CGSDny +regulationist/SM +regulative +regulator/MS +reguli/M +regulus/MS +regurgitate/DGSn +rehab +rehabilitate/DVGSn +rehang/G +rehears/DGr +rehearsal/SM +rehearse +rehearsed/Uf +reheat/G +Rehnquist/M +Rehoboam/M +rehoboam/MS +Rehoboth/M +rehouse +rehydratable +rehydrate/N +Reich/M +Reichling/M +Reichman/M +Reichs +Reichstag/M +Reicke/M +Reid/M +reidentify/SGDN +Reidsville/M +Reidy/M +reificatory +reify/SGDN +Reigate/M +Reighton/M +reign/SDGM +reignition/SM +Reigny/M +Reiher/M +reiki/SM +Reiko/M +Reilly/M +reimagine/SDG +reimbursability/M Noun: uncountable +reimbursable +reimburse/GLDS +Reimers/M +reimmerse/SGDN +reimmigrant +reimmigration +reimpart/SGD +reimplace/SGD +reimplant/SGDN +reimportation +reimposition +reimpregnate/SGDN +reimpress/SGDN +rein/MDGp +Reinaldo/M +reindeer/MS +reinduce/SGD +Reiner/M +reinflatable +reinflate/SDGN +reinforce/LDSGr +Reinhard/M +Reinhardt/M +reinherit +Reinhold/M +reinitialise/n +reinitiate/SGD +reinject/SGD +reinjection/SM +Reinke/M +reinnervate/SGDN +reinoculate/SGDN +reinquire/SGD +reinscribe/SGD +reinsist/SGD +reinspection +reinstalment +reinstitute/SGD +reinstitution/SM +reinsure/DGS +reinvasion +reinvent/G +reinvest/DGS +reinvestigation's +reionisation/SM +Reisinger/M +reissue/SGD +reisted +Reith/M +reject/DRGSV7 +rejectamenta/M +rejection/SM3 +rejector/SM +rejig/SGDJ +rejoice/SJDGkR +rejoin/SGD +rejoinder/SM +rejustify/SGD +rejuvenant +rejuvenate/SnDG +rejuvenator/SMZ +rejuvenesce/SGD +rejuvenescence/M +rejuvenescent Adjective +rejuvenise/SGD +Rejwan/M +rekey/SGD +rekill/SGD +rekindlement +rekindler/SM +rekiss/SGD +reknit/SGD +relatability/M Noun: usually uncountable +relatable +relate/FnvSVDG +related/PY +relater/SM +relation/MF +relational/Y +relationship/MS +relatival Adjective +relative/SF +relativeness/M Noun: uncountable +relativisation/SM +relativise/DGS +relativism/SM +relativist/M1WS +relativity/SM +relator/SM +relax/SGiDnkh +relaxant/MS +relaxed/P +relay/GDM +relearnt +releasable +releasee/DSM +releasor/SM +relegable Adjective +relent/pSDG +relentless/YP +relevance/MIZ +relevancy/IMS +relevant/IY +reliability/UM +reliable/Y +reliance/M +reliant/Y +relic/MS +relicense/SGD +relict/MC +relict/S +relief/MS +relievable +relieve/SGDhR +relievo/MS +relight/G +religion/3SMp +religioner/MS +religionise/DGS +religionism/SM +religiophilosophical +religiose Adjective +religiosity/SM +religious/PY +reline +relink/SDG +relinquish/GDLS +reliquary/SM +reliquiae/M +relish/SDG +relishable +relist/SDG +relit +relive/SGD +relleno/SM +reload/7Gr +relock/DGS +relucent +reluct/DGS +reluctance/SM +reluctant/Y +relume/SGDJ +rely/DGWlBS +rem/SM +remain/GD +remainder/dMS +remaindership/MS +reman/SGDJ +remand/SDG +remanence +remanent +remap/DGS +remark/SMDGl7 +remarkableness +remarriage/MS +rematch/MS +rematerialise/SGD +remblai/MS +Rembrandt/M +Rembrandtesque +remdesivir/M Noun: uncountable +remeant +remeasure/DGS +remeasurement/SM +remediability/M Noun: usually uncountable +remediable +remediate/NSGD +remedy/7SGMoDpO +remelt/DGS +remember/ad +rememberable +rememberer/SM +remembrance/MSr +Remenham/M +remex/M +Remicade/M +remilitarisation/SM +remilitarise/DGS +remind/SGD +remindful Adjective +remineralise/SGDN +Remington/M +Remini/M +reminisce/DGS +reminiscence/SM +reminiscent/Y +reminiscential Adjective +remint/SGDJ +remise/DGMS +remiss/PVY +remissible +remit/GXNSDpR +remitment +remittable +remittal +remittance/SM +remittee/SM +remittent/M +remnant/MS +remobilise/B +remodel/SGD +remodeller/SM +remonstrance/SM +remonstrant/SM +remonstrate/nDVvSG +remonstrator/MS +remontant/MS +remora/MS +remorse/pMj6 +remorsefulness +remorseless/YP +remortgage/SGD +remote/STYP +remoting/M Noun: uncountable +remotion/SM +remould/DGS +removability/M Noun: usually uncountable +removable +removal/SM +removalist/MS +Rempstone/M +Remuera/M +remunerate/DSnvVG +remuneratory +remuster +remustering +remutation +Remy/M +remyelination/M Noun: usually uncountable +remythologise/SGDN +Ren/M +Rena/M +Renaissance/M +renaissance/SM +renal +Renaldo/M +Renard/M +renardite/SM +renascence +Renata/M +Renate/M +renationalise/SGDn +Renato/M +renaturable +Renaud/M +Renault/SM +rencounter/MS +rencountered +rencountering +rend/SGk +Rendall/M +Rendcomb/M +Rendcombe/M +Rendel/M +render/rdJS +rendezvous/SDGM +Rendham/M +rendible +rendition/MS +rendles +Rendlesham/M +rendu/SM +René/M +Rene/M +Renee/M +renegade/MS +renege/RSDG +renegue/SGD +renew/DG +renewability/M Noun: uncountable +renewable/SMZ +renewal/SM +Renfield-St/M +Renfield/M +Renfrew/M +Renfrewshire/M +Renfro/M +Renhold/M +Renick/M +reniform +renitence/M +renitent/M +Renner/M +rennet/SM +Rennie/M +rennin/SM +Rennington/M +Reno/M +Renoir/M +renopericardial +renounce/GDSr +renouncement +renovate/DSGn +renovator/MS +renown/DM +Renshaw/M +Rensselaer/M +rent-free +rent/DMRSGpB +rentage +rental/MSr +rentering +rentier/SM +rentière +Renton/M +Rentz/M +Renuka/M +renumber/d +renunciant/SM +renunciation/SM +renunciative +renunciatory Adjective +Renvela/M +Renville/M +Renwick/M +Reny/M +Renya/M +Rényi/M +Renzo/M +reoccurrence/SM +reoffend/SGDR +reoffer/Sd +reopen/Sd +reorder/Sd +reorg/SM +reorganisational +reorganisationist/SM +reovirus/SM +rep/MS +repackage/SGD +repaginate/SGDN +repaint/SGDM +repair/Rm7SM +repairability/M Noun: usually uncountable +repaper/Sd +reparable +reparametrisation/SM +reparation/SM +reparative +reparse/SGD +repartee/SM +repartition/SGD +repass/SGDJ +repast/SM +repatriate/GnDS +repealable +repeat/BRDGhS +repeatability/SM +repêchage/SM +repel/RnSGDk +repellent/SYM +repent/SDGrp +repentance/MS +repentant/UY +Repentigny/M +repeople/SGD +reperceive/SGD +repercuss/SGD +repercussion/SM +repercussive +reperforator/SM +reperform/SGD +reperformance/SM +reperfume/SGD +reperfusion/SM +repertoire/SM +repertory/SM +repetend/MS +repetitional +repetitionary +repetitious/YP +repetitive/YP +rephotograph/SGD +repique/DGMS +replace/L +replaceable +replanning +replay/SM +replenish/SDGr +replenishment/S +replete/Pn +replevin/MS +replevy/DGS +replica/MS +replicable +replicase/SM +replicate/DGS +replicator/SMZ +replot/SGD +reply-paid +reply/RnGV +repo/SM +repoint/SGD +repolish/SGD +repopularise/SGD +repopulate/SGN +Reporoa/M +report/h7GM +reportage/SM +reported/faU +reporting/af +reports/a +reposal/M +repose/N6MX +repository/SM +repost/G +Repps/M +reprehend/GSD +reprehensibility/M Noun: uncountable +reprehensible/Y +reprehension/SM +represent/anGSD +representable/Z +representationism/M Noun: uncountable +representationist/SM +representative/SMY +representativeness +represented/fUc +representment +repress/uvV +repression/SM3 +repressionary Adjective +repressive/P +repressor/SMZ +repressure/SGD +repressurise/SGD +reprieve/SDG +reprimand/DSGM +reprint/JM +reprisal/SM +reproach/kDS6G7jr +reproachable +reproachful/P +reprobate/GDn +reprocess/SG7 +reproduce/ubvV +reproducibility/SM +reproducibly +reprogram/SGRD +reprogrammable +reprogramme +reprographer/SM +reprography/WM +reproject/SGD +repromise/SGD +repromulgate/SGD +reproof/SGD +repropose/SGD +reprove/kr +reprovision/SGD +reptile/MS +Reptilia Taxonomic class +reptilian/SM +reptoid/SM +Repton/M +Republic/M +republic/nSM +Republican/SM +republicanism/SM +republish/G +repudiate/nSDG +repudiator/SM +repugn/DGS +repugnance/M +repugnant/Y +repulse/Vuvr +repulsion/M +repulsive/P +repulsory +repump/SGD +repunish/SGD +repunishment +repurge/SGDN +repurify/SGDN +repurposable +repurpose/SGD +repursuit +repush/SGD +reputability/M Noun: uncountable +reputable/E +reputableness +reputably/E +reputational +repute/GlhSBnD +requestion/G +requicken/S +requickened +requickening/S +requiem/MS +requiescat/MS +require/LGD +requisite/SK +requisition/GMDSr +requital/SM +requite/DS +reread/7G +rerecord/DGS +reredos +Rerenga/M +Rerrick/M +resaid +resale/7 +Resalis/M +resample/SGD +resanctify/SGDN +resat +resave/SGD +resay/SG +reschedule/SGD +rescind/GDS +rescission/MS +Rescobie/M +Rescorla/M +rescue/RSGD +rescuee/MS +reseal/7 +research/M7SGD +resect/DB +resection/GDO +resectionist +Reseda +reseed/SG +reselect/7 +reselection/SM +resemblant +resemble/DSG +resent/6LjDGS +resentful/P +resequence/SGD +reserpine/M Noun: usually uncountable +reservable +reservatus +reserve/nih3 +reserved/UY +reservoir/MS +reset/G +resettable +resettle/L +reshoot/SG +reshot +reshow/GD +reshown +reshuffle/SGD +reside/DG +residence/MZS +residency/SM +resident/MS +residential/Y +residentiary/SM +residentship/M +residua/oy +residual/SM +residue/SM +residuum/M +resift/SGD +resign/6inh +resignal/GD +resignationism/SM +resignationist/SM +resignee/SM +resignment +resile/SGD +resilience/MZ +resiliency/SM +resilient/Y +resin/MSdrW +resinate/SGDM +resiniferous +resinification/MS +resinlike +resinoid/MS +resinous +resiny +resipiscence/M +resipiscent +resist/GVDvSbp +resistance/MS +resistant/SM +resistibility/M +resistible/YI +resistibly/I +resistivity/M +resistlessly +resistor/MS +resit/GS +resite/SGD +resituate/SGD +resizer/SM +reskill/SGD +reskin/SGD +reslash/SGD +reslush/SGD +resmelt/SGD +resmethrin/M Noun: uncountable +resmile +resmooth/SGD +Resnick/M +Resolis/M +resoluble +resolute/IY +resoluteness/M Noun: usually uncountable +resolution/IMS +resolutive +resolvability/M Noun: uncountable +resolvable/IU +resolve/BD +Resolven/M +resolvent/SM +resomation/SM +resonance/SM +resonant/YSM +resonate/DSGN +resonator/SM +resorb/SGD +resorption/M +resorptive +resound/DSkG +resource/pj6M +resourceful/P +resourcelessness/M Noun: uncountable +resow/DGS +resown +respecify/SG +respect/ED6GSMj +respectability/MS +respectable/Y +respecter/SM +respectfulness/SM +respective/IY +respell/G +Respighi/M +Respimat/M +respirable +respirate/SGD +respirator/SM +respire/nyG +respirometer/SM +resplendence/SM +resplendency/SM +resplendent/Y +respond/FGDS +respondent/FSM +respondentia/M Noun: usually uncountable +responder/MS +responsa/OyM +response/bvVSuM +responsibility/ISM +responsible/PIY +responsibly/I +responsive/UY +responsiveness/U +responsivity/SM +responsor/MSOo +responsory/SM +responsum/M +resprang +respray/SGD +respring/SG +resprung +ressentiment +Ressler/M +rest/6VjpvGuDMS +restabilise/SGD +restage/SGD +restamp/SGD +restante +restart/SGDp7 +restaurant/MS +restaurateur/SM +restenosis +restfulness/M Noun: usually uncountable +restitution/SM +restitutionary +restitutive +Restitutus/M +restive/P +restless/PY +Reston/M +restorable +restoration/M3 +restorationism/M +restorative/S +restore/gRnVv +restrain/Gh +restrainable +restrained/UY +restraint/MS +restricken +restrict/SDvhuVG7 +restricted/UY +restriction/MS +restrictor/SMZ +restrike/SGM +restroom/SM +restruck +result/6SGDMp +resultant/YSM +resume/GSNDX +résumé/SM +resumption/M +resumptive +resupinate +resurface/SGD +resurgence/SM +resurgent/SM +resurrect/DSG7 +resurrection/OSM3 +resuscitate/nSVGD +resuscitator/SM +resuspend/SGDN +resveratrol/SM +resynchronise/n +ret/SGD +retable/SGDM +retablo/SM +retail/R +retain/RSDG +retainable +retake +retaliate/SVynGD +retard/nRDGS +retardant/SM +retardative +retardatory +retardment/M +retarget/dSGD +retask/SGD +retch/SGD +reteach/SG +retell/SG +retention/SM3 +retentive/YP +retentivity/SM +retexture/SGD +retexturise/SGD +Retford/M +rethink/SG +rethought +retiarii/M +retiarius/M +retiary +reticence +reticent/Y +reticle/MS +reticula/M +reticular/Z +reticulate/SYGD +reticule/SMn +Reticuli/M +reticulocyte/MS +reticuloendothelial +reticulose +reticulum/M +retie/SGD +retiform +retina/SMO +retinae/M +retinitis/M Noun: uncountable +retinoate/SM +retinoblastoma/SM +retinoblastomata/M +retinocerebral +retinoic +retinoid/SM +retinol/SM +retinomotor +retinopathic +retinopathy/SM +retinue/MS +retinyl/SM +retinylidene/M Noun: uncountable +retip/SGD +retire/kLOR +retiré/M +retiree/SM +retornado/SM +retort/DG +retortion/SM +retouch/R +retract/DG +retractile +retractility/MS +retractive +retral +retranslate/SGDn +retread/D +retreat/G +retreatism/M Noun: uncountable +retrench/L +retribution/MS +retributive +retributivism/M Noun: uncountable +retributivist/SM +retributor/SM +retrievability/M Noun: uncountable +retrievable/I +retrieval/MS +retrieve/RSGD +retrim/SGD +retro +retroact/SGD +retroaction/SM +retroactive/Y +retroactivity/M Noun: usually uncountable +retrocede/DGS +retrocedence/M +retrocedent +retrocession/SM +retrocessive +retrochoir/MS +retrod +retroelement/SM +retrofire/SM +retrofit/GSD +retroflex/D +retroflexion/SM +retrofuture/SM +retrofuturism/M Noun: uncountable +retrofuturistic +retrograde/SDGnY +retrogress/DGSVv +retrogression/SM +retroinsular +retroject/DGS +retrojection/SM +retromammary +retromolar +retroperitoneal +retropharyngeal/Y +retroposition/SMOo +retropubic +retropulsion/SM +retropulsive +retrorectal +retroreflect/SGD +retroreflector/SM +retrorocket/MS +retrorse/Y +retrospect/MvV +retrospection/SM +retrospective/SM +retrotransposon/SM +retroversion/SM +retrovert/SGD +retroviral +retrovirus/SM +retsina/MS +Rettendon/M +retube/SGD +retumble/SGD +retumescence +returf/SGDJ +return/7Dp +returnee/SM +retuse +retweet/SGD +Reuben/M +reunion +Réunion/M +reupload/SGD +reusability/SM +Reuter/M +Reuters/M +Reuven/M +rev/QsSDG +revaccinate/SGDN +revalescence/M Noun: uncountable +revalorise/SGDN +revaluate/SGD +revanchard +revanchism/M Noun: usually uncountable +revanchist/SM +revarnish/SGD +Revd. +reveal/RSD7Gk +reveille/SM +revel/nRJSDGy +revelation/SM3 +revelative +revelator/SM +revelatory +Reveley/M +revelry/SM +Revelstoke/M +revenant/SM +revenge/D6jSMGR +Revenna/M +reverb/S +reverberant/Y +reverberate/DGSn +reverberative +reverberator/ZSM +Reverdy/M +Revere/M +revere/SDG +reverence/DG +reverence/ISM +reverend/SM +reverent/YI +reverential/Y +reverie/MS +reverify/NSG +reversal/MS +reverse-charge +reverse/GbYr +reversibility/I +reversibility/M +reversible/YI +reversibly/I +reversionary +reversioner/MS +revert/DSGbR +Revesby/M +revet/LDG +review/G7Op~ +revile/GRSLD +Revill/M +revindication/SM +revisable +revise/NXO +revisee/SM +revision/Oy3G +revisionism/MS +revisitation +revisor/SM +revisory +revitalise/Rn +revivability/M Noun: usually uncountable +revivable +revival/3MS +revivalism/MS +revive/GSDR +revivify/n +reviviscence/M +reviviscent +revivor/MS +Revlon/M +revocability/M Noun: uncountable +revocable/I +revocative +revocatory +Revoe/M +revoice/SGD +revoke/DGnRS +revolt/DGkR +revoltingness +revoltive +revoluble +revolute/D +revolution/RQMy3S +revolutionary/SM +revolutioneering +revolutionism/M Noun: uncountable +revolvable +revolve/RDJGS +revue/SM +revulsion/M Noun: usually uncountable +revulsive/MS +reward/kp +rewarded/U +rewarding/U +rewarm/SGD +rewatch/SGD +Rewe/M +rewed/GD +rewild/SGD +rewind/7 +rewire/DGS +rework/7 +rewound +rewrap/SGD +rewritable +Rex/M +Rexburg/M +Rexine/M +Rey/M +Reyataz/M +Reydon/M +Reyes/M +Reyhan/M +Reykjavík/M +Reykjavik/M +Reymerston/M +Reyna/M +Reynaldo/M +Reynard/M +Reynaud/M +Reynes/M +Reynold/SM +Reynoldsburg/M +Reynoldston/M +Reza/M +Reztsov/M +Rf +RFC/SM +RFID/M +RFU/M +RGB/M Initialism of red, green, blue +Rh +rhabdom/SM +rhabdomancer/MS +rhabdomancy/M +rhabdome/SM +rhabdomyolysis/M +rhabdosome/SM +Rhadamanthine +Rhadamanthus/M +Rhaeadr/M +Rhaetic +rhamnose/SM +rhamnoside/SM +rhamphotheca/M +rhamphothecae/M +rhapsode/MS +rhapsodisings +rhapsodist/MS +rhapsody/QSMwW +rhatany/M +Rhayader/M +Rhea/M +rhea/MS +Rheasilvia/M +rhebok/SM +Rhee/M +Rheims/M +Rheingold/M +Rheinholdt/M +rheme/SM +Rhemish +Rhenish/M +rhenium/M +rhenocene +rheograph/SM +rheology/w3M +rheometer/SM +rheoscope/SM +rheostat/MS +rheostatic/Y +rheotaxis +rheotropic +rheotropism/MS +rhesus +rhetor/SM +rhetoric/MYO +rhetorician/MS +Rhett/M +rheum/W1MZ +rheumatic/SZ +rheumatica +rheumatism/SM +rheumatoid +rheumatology/3wM +rheumy-eyed +rheumy/T +Rhigos/M +rhinacanthin/SM +rhinal +Rhine/M +Rhineland/M +Rhinelander/M +Rhiner/M +Rhines/M +rhinestone/MS +rhinitis/M +rhino/SM +rhinoceros/SM +rhinocerotic +rhinolith/SM +rhinologic/O +rhinologist/SM +rhinology/M Noun: uncountable +Rhinolophidae Taxonomic family +Rhinolophus Taxonomic genus +rhinopharyngeal +rhinoplasty/SMW +rhinoscope/MS +rhinovirus/SM +Rhiw/M +Rhiwbina/M +rhizobia/MOo +rhizocarp/MS +rhizocephala +Rhizocephala Taxonomic superorder +rhizoid/SMO +rhizomatic/Y +rhizomatous +rhizome/SM +rhizomic +rhizopod/MS +rhizosphere/SM +rho/M +Rhod/M +Rhoda/M +rhodamine/SM +rhodanide/SM +rhodate/SM +Rhode/SM +Rhodesia/M +Rhodesian/SM +Rhodian/MS +rhodinol/M Noun: uncountable +rhodite/SM +rhodium/M +rhodocene/SM +rhodochrosite/SM +rhododendron/MS +Rhodogeidio/M +rhodolite/SM +rhodologist/M +rhodomel/M Noun: uncountable +rhodonite/SM +rhodophane/M Noun: uncountable +rhodophycean +rhodophyte/SM +rhodopsin/SM +rhodora/SM +Rhodri/M +rhomb/SM +rhombencephala/M +rhombencephalon/SM +rhombiferan +rhombohedral +rhomboid/MSO +rhombus/SWM +Rhonda/M +Rhondda/M +Rhone/M +Rhoose/M +rhopalia/M Plural of rhopalium +rhopalium/M +rhopography/M Noun: uncountable +Rhos-y-Corn/M +Rhos-y-corn/M +Rhos/M +Rhosbeirio/M +Rhoscolyn/M +Rhoscrowther/M +Rhosddu/M +Rhosllannerchrugog/M +Rhossili/M +Rhostie/M +Rhosybol/M +Rhosyr/M +Rhoten/M +rhotic/SM +rhoticity/M Noun: uncountable +Rhu/M +rhubarb/SM +Rhuddlan/M +Rhulen/M +Rhum/M +rhumb/SM +rhumba/S +rhumbatron/SM +Rhuthun/M +Rhyacian +Rhyd-y-bryw/M +Rhyd-y-foel/M +Rhydderch/M +Rhydieithon/M +Rhydithon/M +Rhydwen/M +Rhyl/M +rhyme/SRGDMp +rhymester/SM +Rhymney/M +Rhyn/M +Rhynd/M +Rhynie/M +rhyolite/WSM +Rhys/M +rhythm/1MwSWp +rhythmicity/M +rhythmite/SM +Ri/M +rial/MS +Rialto/M +Rian/M +rib/RSMDGp +ribald/SM +ribaldry/SM +riband/S +Ribas/M +ribavirin/SM +Ribbesford/M +ribbie/SM +ribbing/M +ribbit/Sd +Ribble/M +Ribblesdale/M +Ribbon +ribbon/SMy +ribboned +ribbonfish/SM +Ribbonism/M +ribbony +Ribby-with-Wrea/M +Ribby/M +ribcage/SM +Ribchester/M +Ribeiro/M +ribitol/M Noun: uncountable +riblet/SM +riboflavin/M +ribohomopolymer/SM +ribonuclease/SM +ribonucleic +ribonucleoprotein/SM +ribonucleoside/SM +ribonucleotide/SM +ribophorin/SM +ribose/SM +ribosome/SMO +ribostamycin/M Noun: uncountable +Riboviria Taxonomic realm +ribozyme/SM +Ribston/M +ribwort/S +Riby/M +Rica/M +Rican/SM +Ricardian/SM +Ricardianism/M +Ricardo/M +ricasso/SM +Ricatti/M +Riccall/M +Riccarton/M +Riccati/M +Riccatti/M +rice-paper +rice/SM +ricercar/SM +Rich/M +rich/PTSY +Richard/MS +Richardo/M +Richardson/M +Richelieu/M +richen/d +Richerson/M +Richey/M +Richfield/M +Richhill/M +Richie/M +Richland/M +Richmond/M +Richmondshire/M +Richter/M +Richton/M +ricin/M Noun: uncountable +ricinine/M Noun: uncountable +rick/GDMS +Rick/M +Rickard/M +rickets/M Noun: uncountable +rickettsemia/SM +rickettsia/OSM +rickettsiae/M +rickettsiosis/M +rickety/T +Rickey/M +rickey/SM +Rickie/M +Rickinghall/M +Ricklefs/M +Rickling/M +Rickman/M +Rickmansworth/M +ricksha/SM +rickshaw/MS +Ricky/M +Rico/M +ricochet/dGDS +ricotta/SM +rictal +rictus +rid/rS7G +riddance/SM +Riddell/M +ridden/c +riddim/SM +Riddings/M +riddle/DSMG +Riddlesworth/M +ride/GCRS +rideable +Rideau/M +rider's/ce +rider/p +riders/e +rides/c +ridge-pole/SM +ridge-tile/SM +ridge/DGSMZ +Ridge/M +Ridgecrest/M +Ridgefield/M +Ridgeland/M +Ridgeville/M +Ridgewell/M +Ridgewood/M +Ridgmont/M +Ridgway/M +ridgy/T +ridicule/SDMGr +ridiculous/YP +riding/M +Riding/MS +Ridley/M +Ridlington/M +Ridware/M +Riefenstahl/M +Riegl/M +Riehm/M +Riemann/M +Riemannian +Riesling/SM +Rievaulx/M +rifampicin/SM +rifampin/M Noun: usually uncountable +rife/T +riff-raff/M Noun: usually uncountable +riff/MS +riffage/M Noun: uncountable +riffle/DSGM +rifle-fire +rifle/mGSMD +riflescope/SM +rifling/M +rift/SGMDp +rig/JDMRGS +Riga/M +rigadoon/MS +rigatoni/M +Rigby/M +Rigel/M +rigger/eSM +rigging/M +Riggott/M +Riggs/M +right-angled +right-click/SGD +right-hand/iDr +right-minded +right-on +right-thinking +right-wing/r +right/pRP7DjG36SY~ +righten +righteous/UY +righteousness/M +righteousness/U +rightfulness +rightism/SM +rightmost +righto +rightward/S +righty-ho +rigid/Y +rigidify/SGD +rigidity/SM +rigmarole/SM +Rignoux/M +Rigoletto/M +rigorous/YP +rigour/SM +Rigsby/M +Rigsdagen/M +Rigside/M +Rigton/M +rigueur +Rigveda/M +Rihanna/M +Riker/M +rile/DSG +Riley/M +Rilke/M +rill/SM +rille/SM +Rillington/M +rim/GpSDM +Rimbaud/M +rime/SM +rimfire/SM +Rimington/M +Rimkus/M +Rimm/M +Rimmon/M +Rimouski-Neigette/M +Rimouski/M +Rimpoche/M +Rimpton/M +Rimswell/M +Rinaldi/M +Rinaldo/M +rind/SDMp +rinderpest/M Noun: usually uncountable +rindles +rindlis/M +Rinehart/M +ring-fence/SGD +ring-pull/SM +ring/pGMRDk +ringback/M Noun: uncountable +ringbark/SGD +ringbolt/SM +ringbone +ringdown/SM +ringild/M +ringildry/M +Ringland/M +ringleader/SM +ringlet/SM +Ringley/M +ringlike +Ringling/M +ringmaster/MS +Ringmer/M +Ringmore/M +Ringo/M +Ringsend/M +Ringsfield/M +Ringshall/M +ringside/MRS +Ringstead/M +ringtone/SM +Ringway/M +Ringwood/M +ringworm/SM +Ringwould/M +rink/MS +rinse/GDSr +Rio/SM +Riordan/M +riot/DRMGSJ +riotous/PY +rip-off/SM +rip-roaring/Y +rip/DRGS +riparian/SM +ripcord/SM +Ripe/M +ripe/YP +ripen/dS +riper +Ripers/M +ripicolous +ripieni/M +ripienist/SM +ripieno/SM +Ripley/M +Ripon/M +riposte/DMSG +ripping/Y +Rippingale/M +ripple/GMYDS +Ripple/M +ripplet/SM +ripply/T +Rippner/M +Rippon/M +Ripponden/M +ripsaw/SM +ripstop/SM +Ripton/M +Ripuarian/M +Risborough/M +Risby/M +RISC/M +Risca/M +rise/bGJS +Rise/M +Riseholme/M +Riseley/M +risen +Rishangles/M +Rishel/M +risibility/M Noun: usually uncountable +Rising/M +Risinghurst/M +risk-adverse +risk-neutral +risk/GSZzDMp +risky/TP +Risley/M +Risorgimento +risotto/SM +risperidone/M Noun: uncountable +risqué +Rissington/M +Risso/M +rissole/SM +Riston/M +Rita/M +Ritalin/M +Ritchie/M +rite/MSp +Ritek/M +ritonavir/M Noun: uncountable +Ritscher/M +Ritter/M +Ritu/M +ritual/QSYM +ritualism/SM +ritualistic/Y +Rituxan/M +Ritz/M +ritzy/T +Riva/MS +rival/SMyGD +rivalry/SM +rivaroxaban/M Noun: uncountable +rive/RGDS +Rivel/M +riven +Rivenhall/M +River/M +Rivera/M +Riverbank/M +riverbank/MS +riverbed/SM +riverboat/SM +Riverdale/M +riverfront/SM +Riverhead/M +riverine +Riverlands/M +Riverlea/M +riverless +Rivermont/M +Rivers/M +Riversdale/M +Riverside/M +riverside/SM +Riverstone/M +Riverton/M +Riverview/M +Rivest-Shamir-Adleman/M +Rivest/M +rivet/drSMk +Riviera/M +riviera/SM +Rivière-du-Loup/M +Rivière-du-Nord/M +Rivière-Rouge/M +Rivington/M +Rivne/M +rivulet/SM +Riwaka/M +Rixton-with-Glazebrook/M +Riyadh/M +riyal/SM +Rizza/M +Rizzio/M +Rizzo/M +RJ45 +RMI/SM +Rn/M +RNA/SM +RNase/SM Abbreviation of ribonuclease +Roa/M +roach/SM +road-based +road-hog/SM +road-test/SGD +Road/M +road/MSp +roadbed/SM +roadblock/SM +Roade/M +roadholding/M Noun: uncountable +roadhouse/SM +roadie/SM +roadkill/SM +roadmap/SGD +roadrunner/SM +roadshow/SM +roadside/SMR +roadster/MS +roadstone/SM +roadsweeper/SM +roadway/SM +roadwork/SM +roadworthy/P +roam/GDRS +roan/SM +Roane/M +Roanoke/M +roar/RkSDGJ +Roarke/M +roast/RGDSJ +Roath/M +rob/GDRS +Rob/M +Robb/M +Robben/M +robbery/SM +Robbie/M +Robbin/M +Robbins/M +Robbinsdale/M +Robbinsville/M +Robby/M +robe/MDS +Roberson/M +Robert-Cliche/M +Robert/SM +Roberta/M +Roberto/M +Roberton/M +Roberts/M +Robertsbridge/M +Robertson/M +Roberval/M +Robeson/M +Robespierre/M +Robeston/M +Robichaud/M +Robillard/M +Robin/M +robin/MS +Robinette/M +Robinia Taxonomic genus +Robins/M +Robinson/M +Robles/M +Robley/M +robocop/SM +Roborough/M +robot/WMS +roboteer/SM +robotesque +robotian +robotic/SOY3 +roboticised +robotise/SGDN +robotism/M Noun: uncountable +robotlike +robotnick +robotnik +robotology/M3 +Robroyston/M +Robson/M +Robstown/M +robust/YPT +Roby/M +Robyn/M +Rocco/M +Rocester/M +Roch/M +Rocha/M +Rochdale/M +Roche/M +Rochelle/M +Rocher-Percé/M +Rochester/M +Rochford/M +rock'n'roll +rock-bottom +rock-climber/SM +rock-climbing/M Noun: uncountable +Rock/M +rock/RZ2DGSMp +rockabilly/SM +rockabillys +Rockaway/M +Rockbeare/M +Rockbourne/M +Rockbridge/M +Rockcastle/M +Rockcliffe/M +Rockdale/M +Rockefeller/M +rockery/SM +rocket/dySM +rocketeer/SMG +rocketry/SM +rockfall/SM +Rockfield/M +rockfish/SM +Rockford/M +Rockhampton/M +Rockies The Rocky Mountains, a mountain range in North America +rocking-horse/SM +Rockingham/M +Rockland/MS +Rockledge/M +Rockliff/M +Rocklin/M +rockslide/SM +rocksteady/M Noun: uncountable +Rockton/M +Rockville/M +Rockwall/M +Rockwell/M +rockwork/SM +Rocky/M +rocky/T +rococo/M Noun: uncountable +Rocque/M +Roczek/M +rod/SGDMp +Rodborough/M +Rodbourne/M +Rodd/M +Rodden/M +Roddenberry/M +rode/cF +Rode/M +Rodeffer/M +rodent/MS +Rodentia Taxonomic order +rodenticide/SM +rodeo/MS +Roderick/M +Rodger/MS +Rodham/M +Rodin/M +Roding/M +Rodington/M +Rodinia/M +Rodley/M +Rodman/M +Rodmarton/M +Rodmell/M +Rodmersham/M +Rodmill/M +Rodney/M +Rodolfo/M +Rodrigo/M +Rodrigues/M +Rodriguez/M +Rodríguez/M +Rodriquez/M +Rodsley/M +Rodway/M +Rodwell/M +roe/MS +roebuck/SM +Roeburndale/M +Roecliffe/M +Roedean/M +Roemer/M +roentgen/MS +roentgenium/M Noun: uncountable +roentgenological/Y +roentgenology/MW +Roethlisberger/M +ROFL +ROFLOL +Rogan/M +Rogart/M +Rogate/M +Rogation/M +rogation/SM +Rogelio/M +Rogen/M +Roger/MS +roger/Sd +Rogério/M +Rogernomics/M Noun: uncountable +Rogerson/M +Rogerstone/M +Roget/M +Roggiet/M +Rogiere/M +Rogiet/M +rogue/ySM +roguery/MS +roguish/YP +Rogus/M +Rohmer/M +Rohnert/M +Rohrmann/M +ROI/SM +roil/SGD +roily +roister/drS +Roizman/M +Rojas/M +Rojava/M +Rojo/M +Rokeby/M +Roland/M +role-play/GD +rôle/MS +role/MZS +Rolette/M +Rolex/SM +Rolf/M +Rolfe/M +roll-back/SM +roll-call +roll-off +roll-on +roll-out/SM +roll-over/SM +roll/GUSD +roll/k +Rolla/M +Rolland/M +Rollason/M +rollback/SGDMR +roller-coast/R +roller-skate/GSDM +roller/MS +rollerball/SM +rollerblade/SGDR +Rollerblade/SM +rollerman/M +Rollesby/M +Rolleston/M +Rollestone/M +rollick/SGkD +Rollin/MS +rolling-pin/SM +rolling-stock +Rolling/M +rollio/M +rollmop/SM +Rollo/M +rollock/SM +rollocking/SM +rollout/SM +rollover/SM +Rollox/M +Rollright/M +Rolodex/M +Rolph/M +Rolvenden/M +roly-poly +ROM/SM +Roma/M +Romaguera/M +Romaic/M +romaine/SM +Romaldkirk/M +Roman/SM3 +Romanby/M +romance/RSDMG +Romanes +Romanesque +Romania/MW +Romanian/MS +romanise/nSDG +Romanish/M +Romanism/M +Romano/M +Romanov/M +Romansh/M +Romansleigh/M +romantic/Q3MYS +romanticism/MS +Romanus/M +Romany/M +Romão/M +Romberg/M +rombowline/M Noun: uncountable +romcom/SM +Rome/M +Romei/M +Romeo/MS +Romeoville/M +Rømer/M +Romer/M +Romero/M +Romesh/M +Romeward/S +Romford/M +Romijn/M +Romina/M +Romish +Rommel/M +Romney/M +Romo/M +romp/RGSD +Rompuy/M +Romsey/M +Romsley/M +Romulus/M +Romy/M +Ron/MZ +Rona/M +Ronald/M +Ronaldinho/M +Ronaldo/M +Ronaldsay/M +Ronan/M +Ronda/M +rondel/SM +rondo/SM +Rondón/M +Roneo/MS +Rongotai/M +Ronnie/M +Ronny/M +Rontgen/M +Rood/M +rood/MS +Roof/M +roof/RpDGSM +roofing/M +roofline/SM +rooftop/SM +rooibos/M Noun: uncountable +rooinek/SM +rook/SM~ +rookery/MSD +rookie/SM +rooklet +Rookley/M +Rooksdown/M +Rookwith/M +Rookwood/M +room-mate/MS +room/Z6M2S +roomful/SM +roomy/T +Rooney/M +Roos/M +Roosevelt/M +roost/SMRDG +roosterfish/SM +root-mean-square +root/RipDMGSZ +rootage +Roothing/M +rootier +rootiest +rootkit/SM +rootlessness +rootlet/MS +rootlike +rootstock/MS +rootsy/T +rootworm/SM +rope/GRD7SM +Rope/M +ropemaker/SM +ropemanship/M +ropesight +ropework/SM +ropey +ropinirole/M Noun: uncountable +Ropley/M +Ropsley/M +Roquefort/M +Rorke/M +rorqual/SM +Rorschach/M +Rory/M +Rosa/M +rosacea/M Noun: usually uncountable +Rosales/M +Rosalie/M +Rosalind/M +rosaline/M Noun: uncountable +Rosalyn/M +Rosamond/M +Rosanae Taxonomic superorder +rosaniline/SM +Rosanna/M +rosaria/M +rosarian/SM +Rosário/M +Rosario/M +rosarium/SM +rosary/DSM3 +Roscius/M +Roscoe/M +Roscommon/M +Roscosmos +rose-coloured +rose-red +rose-tinted +Rose/M +rose/MyZSp +rosé/SM +Roseacre/M +Roseanne/M +roseate/Y +Roseau/M +Rosebank/M +rosebay/SM +Rosebery/M +rosebud/SM +Roseburg/M +rosebush/MS +Rosedale/M +rosefinch/SM +Rosehall/M +Rosehearty/M +Rosehill/M +Roseland/MS +Rosell/M +Rosella/M +Roselle/M +Rosemarie/M +Rosemarket/M +Rosemarkie/M +Rosemary/M +rosemary/M Noun: usually uncountable +Rosemead/M +Rosemère/M +Rosemonde/M +Rosemont/M +Rosemount/M +Rosen/M +Rosenallis/M +Rosenbaum/M +Rosenberg/M +Rosencrantz/M +Roseneath/M +Rosenfeld/M +Rosenstein/M +Rosenthal/M +Rosetta/M +rosette/SMD +Roseville/M +rosewater/M Noun: usually uncountable +Rosewell/M +rosewood/MS +Rosh/M +Roshan/M +Roshi/SM +Rosicrucian/SM +Rosicrucianism/M Noun: uncountable +Rosie/M +rosin/dSM +Rosina/M +Rosinante/M +Roskell/M +Roskilde/M +Roskill/M +Roslin/M +Rosliston/M +Roslyn/M +Rosmond/M +Rosneath/M +RoSPA +Ross-on-Wye/M +Ross/M +Rossby/M +Rossendale/M +Rosseter/M +Rossett/M +Rossetti/M +Rossi/M +Rossiaud/M +Rossington/M +Rossini/M +Rosskeen/M +Rossland/M +Rosslea/M +Rosslyn/M +Rossman/M +Rossmanith/M +roster/MSd +Rostherne/M +Rostock/M +Rostom/M +Roston/M +Rostov/M +rostra/M +rostral/SMY +Rostraver/M +Rostrevor/M +rostro-caudal +rostrocaudally +rostroid +rostrum/SM +rosulate +rosuvastatin/M Noun: uncountable +Roswell/M +rosy/PYT +Rosyth/M +rot-gut/M +rot/nDSGR +rota/yvSVM +Rotarian/SM +rotary/SM +rotatable/Z +rotate/SxGDny +rotator/MS +Rotavator/SM +rotavirus/SM +rote/M Noun: uncountable +rotely +Rotemberg/M +rotenone/SM +rotgut/M Noun: usually uncountable +Roth/M +Rothamsted/M +Rothbury/M +Rothenbacher/M +Rother/M +Rotherby/M +Rotherfield/M +Rotherham/M +Rotherhithe/M +Rothermere/M +Rothersthorpe/M +Rotherwick/M +Rothes/M +Rothesay/M +Rothiemay/M +Rothiemurchus/M +Rothienorman/M +Rothley/M +Rothman/M +Rothschild/M +Rothstein/M +Rothwell/M +rotifer/SM +rotisserie/SM +rotogravure/SM +Rotokauri/M +rotor/SM +rotorcraft/M +Rotorua/M +rotoscope/SGDM +Rototuna/M +rotound +rotstone +rotten/Y~ +rottener +rottenest +rottenness +rottenstone/SM +Rotterdam/M +Rottingdean/M +Rottweiler/SM +rotty +rotund/Y +rotunda/SM +rotundity/SM +Rouault/M +rouble/SM +Roudham/M +roué/MS +Rouen/M +Rouge/M +rouge/SGDM +rouget/SM +rough-and-ready +rough-hewn +Rough/M +rough/YTPDSG~ +roughage/SM +Rougham/M +roughcast/SMGr +roughen/dS +Roughfort/M +Roughlee/M +roughneck/SM +roughshod +Roughton/M +Rouhani/M +rouky +roulade/GSM +rouleau/SM +roulette/SMGD +round-arm +round-off +round-shouldered +round-the-clock +round-up +Round/M +round/MGiSDPYRT~ +roundabout/SM +rounded/P +roundel/SM +roundelay/SM +Roundhead/MS +roundhouse/SM +roundworm/MS +Rounton/M +Rourke/M +Rous/M +Rousay/M +Rousdon/M +Rouse/M +rouse/rGDSk +Rousey/M +Rousham/M +Rousky/M +Rousseau/M +Rousseauism/M Noun: uncountable +Rousseauist/SMW +Roussel/M +Roussillon/M +roust/GDS +roustabout/MS +rout/SMRGDJ +route/aDSA +route/M +routeing/A +routeway/SM +Routh/M +routine/PQSYM3 +routing/SM +routinish +routinism/SM +Routledge/M +Routt/M +Rouville/M +Rouyn-Noranda/M +rove/RGDS +Rover/SM +Roveri/M +row/DRMSG7 +Row/M +Rowan/M +rowan/SM +Rowant/M +rowback/SM +Rowberrow/M +Rowde/M +Rowditch/M +rowdy/PTSMY +rowdyism/SM +Rowe/M +rowel/MGDS +Rowell/M +Rowena/M +rowing-boat/MS +Rowington/M +Rowland/MS +Rowlandson/M +Rowlett/M +Rowley/M +Rowling/M +rowlock/SM +Rowlstone/M +Rowman Rowman & Littlefield (Publisher) +Rowner/M +Rownhams/M +Rowntree/M +Rowsham/M +Rowsley/M +Rowson/M +Rowston/M +Rowton/M +Roxanne/M +Roxburgh/M +Roxburghshire/M +Roxbury/M +Roxby/M +Roxham/M +Roxholm/M +Roxholme/M +Roxie/M +Roxton/M +Roxwell/M +Roxx/M +Roy/M +royal/3SMY +Royal/M +royalism/SM +royalness/M Noun: uncountable +Royalton/M +royalty/SM +Royce/M +Royd/M +Roydon/M +Royston/M +Royton/M +RP/SM +RPG/SM +RPI/M Initialism of Retail Price Index +rpm +RPO/SM +rRNA/SM +RRP/SM +Rs. +RSA/M +RSC/M +RSI/SM Initialism of repetitive strain injury. +RSM/SM +RSPCA/M Initialism of Royal Society for the Prevention of Cruelty to Animals +RSS/M Noun: uncountable +RSV/SM +RSVP/SM +rt +rt. +Rt. +RTA/SM +rte +RTF/M +RTFM +RTL +RTX/M +RU +Ru/M +Ruabon/M +Ruakaka/M +Ruakura/M +Ruanlanihorne/M +Ruapehu/M +Ruardean/M +Ruaridh/M +Ruatoria/M +Ruawai/M +rub-a-dub +rub/SRGD +rubati/M +rubato/SM +rubber-stamp/DG +rubber/QZ +rubberneck/DRGSM +rubbery/T +rubbing/M +rubbish/SGDZM +rubble/DMSYr +rubby-dubby/M Noun: uncountable +rubdown/SM +Rube/M +rubedinous +rubefacient/SM +rubefy/DGS +rubella/M Noun: uncountable +rubelliform +rubellite/M +Ruben/MS +Ruberslaw/M +rubescent +Rubicon/M +rubicon/MS +rubiconed +rubiconing +rubicund +rubicundity/M +rubidium/M Noun: usually uncountable +rubidocene +rubifacient +rubify/DGS +rubiginous +Rubik/M +Rubin/M +Rubinfeld/M +Rubinow/M +Rubinstein/M +Rubio/M +rubious +Rubislaw/M +rubout/SM +rubric/SMO +rubricate/DGS +rubrication/MS +rubricator/MS +rubrician/MS +rubricism/M Noun: uncountable +rubricist/MS +ruby/SM +Ruchazie/M +ruche/SDGM +Ruchill/M +ruck/MS +Ruckinge/M +Ruckland/M +ruckle/SGDJ +Ruckley/M +Ruckriem/M +rucksack/6SMD +ruckus/SM +rucola/M Noun: uncountable +ruction/SM +Rudbaxton/M +Rudby/M +Rudd/M +rudder/pMS +Ruddington/M +Ruddock/M +ruddock/MS +Ruddry/M +ruddy/TPY +Rude/M +rude/TYP +Ruden/M +rudery/MS +Rudesheimer/MS +Rudford/M +Rudge/M +Rudgley/M +Rudgwick/M +Rudham/M +Rudheath/M +rudiment/SMO +rudimentary/SM +rudish +Rudland/M +Rudman/M +Rudner/M +Rudolf/M +Rudolph/M +Rudra/M +Rudry/M +Rudston/M +Rudy/M +Rudyard/M +rue/Gj6SD +Rueda/M +Ruediger/M +ruefulness +Rüegg/M +Ruez/M +rufescence/M +rufescent +ruff/SGDM +ruffe/MS +ruffian/MSY +ruffianism/M +Ruffin/M +Ruffini/M +ruffle/DGS +ruffler/MS +Rufford/M +Rufforth/M +Rufinus/M +rufous +Rufus/M +rug/hSMDi +rugae/M +Rugbeian/MS +Rugby/M +rugby/M +Rugeley/M +rugger/M +Ruggiero/M +Ruggles/M +rugose/Y +rugosity/M +Ruhr/M +Rui/M +ruin/dMSn +ruinous/Y +ruinousness/M +Ruishton/M +Ruislip/M +Ruiz/M +Rukh/M +rule/cSaGD +rule/Mp +rulebook/SM +rulemaking +ruler/SM +rulership +ruling/SM +rum/ZMSRY +Rumania/M +Rumanian/SM +Rumansh/M +rumba/DMSG +rumbatron +rumble/SGDJM +Rumbold/M +Rumboldswyke/M +rumbowline/M Noun: uncountable +Rumburgh/M +rumbustious +Rumelia/M +rumen/MSW +Rumford/M +rumina/M +ruminant/SM +ruminate/DGvSnV +ruminator/MS +rummage/GDSr +rummest +rummy/TM +rumness/M +Rumney/M +rumour-monger/SM +rumour-mongering/M +rumour/DGSM +rumourmonger/MS +rump/DSYMp +rumple/SGD +rumply/T +rumpus/SM +rumpy +Rumsfeld/M +Rumsfield/M +rumule +run-down/M +run-in/SM +run-of-the-mill +run-off/MS +run-out/SM +run-through +run-up/SM +run/eGScA +runabout/MS +runagate/MS +Runamia/M +Runanga/M +runaround +runaway/SM +runcible +runcinate +Runcorn/M +Runcton/M +rundale/MS +Rundle/M +rundown/SM +rune/MSW +rung/DSMp +Runhall/M +Runham/M +runlet/MS +runnable +runnel/SM +Runnels/M +runner-up +runner/SM +runners-up +runneth Archaic, but doesn't cause FPs +Runnington/M +runny/T +Runnymede/M +runrig/MS +runt/MZS +runtime/SM +Runton/M +runty/T +Runwald/M +runway/SM +Runwell/M +Runyon/M +rupee/MS +Rupert/M +rupes +rupiah/SM +Ruppelt/M +rupture/GMDS +Rural/M +rural/Y +rurality/SM +ruridecanal +Ruritania/M +Ruritanian/MS +rusa/MS +Ruscombe/M +ruse/SM +rush-hour +Rush/M +rush/RDZGSM +Rushall/M +Rushbrooke/M +Rushbury/M +Rushcliffe/M +Rushden/M +Rushdie/M +Rushen/M +Rushford/M +rushlight/MS +rushlike +Rushmere/M +Rushmoor/M +Rushmore/M +Rushock/M +Rusholme/M +Rushton/M +Rushwick/M +rushy/T +Rusk/M +rusk/MS +Ruskin/M +Ruskington/M +Rusland/M +Rusper/M +Ruspidge/M +Russ/M +Russel/M +Russell/MS +Russellville/M +russet/MSZ +Russia/M +Russian/SM +Russification/MS +Russify/DGS +Russki/MS +Russo/M +Russophile/MS +Russophobe/MS +Russophobia/M +Rust/M +rust/SWZG1D2Mp +Rustbelt/M +Rusthall/M +rustic/SM +rusticate/SGDn +rusticism/SM +rusticity/SM +rusticle/SMZ +rusticness +Rustin/M +Rustington/M +rustle/MDRGSk +Ruston/M +rustproof/SGD +rustproofer +rustre/MSD +rusty/PTnY +rut/SGMZD +rutabaga/SM +Rute/M +Rutgers/M +Ruth/M +Ruthann/M +ruthenate/SM +Ruthenian/SM +ruthenium/M +ruthenocene +Rutherford/M +rutherfordium/M +Rutherglen/M +Ruthie/M +Ruthin/M +ruthless/PY +Ruthrieston/M +Ruthven/M +Ruthwell/M +rutilant +rutile/SM +Rutland/M +Rutledge/M +Rutter/M +ruttish +Ruttloff/M +rutty/T +Ruud/M +Ruwenzori/M +Rux/M +Ruyton-XI-Towns/M +Ruyton/M +RV/SM +Rwanda/M +Rwandan/SM +Rwandese/M +Ryan/M +Ryanair/M +Ryans/M +Ryarsh/M +Ryburgh/M +Rydal/M +Ryde/M +Ryder/M +Rye/M +rye/MS +Ryedale/M +ryegrass/SM +Ryhall/M +Ryhill/M +Ryhope/M +Rykener/M +Rylance/M +Rylstone/M +Ryme/M +ryokan/MS +Ryong-hae/M +Ryston/M +Ryther/M +Rytky/M +Ryton/M +Ryukyu/M +Ryzen/M +S-VHS/M +s/ko7 +Sa/M +SA/SM +Saab/M +Saale/M +Saalfeld/M +Saar/M +Saarland/M +Saavedra/M +sabadilla/SM +Sabaean/MS +Sabah/M +Sabana/M +Sabaoth +Sabar/M +Sabash/M +sabbatarian/SM +sabbatarianism +Sabbath/MS +sabbath/SM +sabbatical/SM +Sabden/M +Sabellian/MS +Sabellius/M +sabermetric +sabermetrician/SM +sabermetrics/M Noun: uncountable +Sabha/M +Sabian/MS +sabicu/MS +Sabin/M +Sabina/M +Sabine/MS +Sable/M +sable/MS +sabot/SM +sabotage/SDG +saboted +saboteur/SM +sabra/SM +sabre-toothed +sabre/SMD +sabretache/MS +sabretooth/SM +sabreur/MS +Sabrina/M +sac-like +sac/DGSM +Sac/M +saccade/SMW +Saccahrin/M +saccate +saccharide/SM +saccharin/SM +saccharine +saccharometer/MS +saccharose/M +saccular +sacculated +sacculation +saccule/SM +sacculus +sacerdotal/Y +sacerdotalism/M +sacerdotalist/MS +Sacha/M +sachem/SM +sachemic +sachet/SM +Sachi/M +Sachs/M +Sachse/M +sack-like +sack/M6JSr +sackable +sackbut/SM +sackcloth/SM +Sackett/M +sackful/SM +sacking/M +Sackville/M +Saco/M +Sacombe/M +sacra/OLM +sacralise/SGDN +sacramental/SMY +sacramentalism/M +sacramentalist/MS +sacramentality/M +Sacramento/M +sacraria/M +sacrarium/M +sacred/YP +sacrifice/GDSOoM +sacrilege/MS +sacrilegious/Y +sacring/MS +sacrist/MS +sacristan/SM +sacristy/SM +Sacrobosco/M +sacroiliac/SM +sacrosanct +sacrosanctity/SM +sacrum/MS +sad/T3PY +Sadako/M +Sadat/M +Sadberge/M +Saddam/M +Saddell/M +sadden/dS +Saddington/M +saddish +saddle/GUDS +Saddle/M +saddle/Mp +saddleback/SMD +saddlebag/MS +saddler/MS +saddlery/SM +Saddleworth/M +Sadducean +Sadducee/SM +Sadduceeism/M +Sade/M +sadguru/SM +sadhana/M Noun: usually uncountable +Sadhasivam/M +sadhu/MS +Sadie/M +sadism/SM +sadist/SM1W +Sadler/M +sadomasochism/SM +sadomasochist/WMS +Sadovsky/M +Sadowa/M +Sadr/M +SAE/SM +safari/SM +safe/MS +safe/YU +safeguard/GSDM +safehouse/SM +safekeeping/M Noun: usually uncountable +safelight/SGD +safener/SM +safeness/M Noun: uncountable +safer +safest +Safety/M +safety/SM +safeword/SM +safflower/SM +Saffron/M +saffron/SM +saffrony +Safi/M +safranin/SM +safranine/SM +sag/GDSZM +saga/SM +sagacious/YP +sagacity/M Noun: usually uncountable +Sagadahoc/M +Sagamore/M +sagamore/MS +Sagan/M +Sagar/M +sage/KMS +sage/Y +sagebrush/MS +sageness/M Noun: usually uncountable +saggar/MS +sagger/MS +Saggers/M +saggy/T +Saginaw/M +Sagitta/M +sagittal/Y +Sagittarian/SM +Sagittarius/MS +sagittate/D +sago/SM +saguaro/MS +Saguenay-Lac-Saint-Jean/M +Saguenay/M +Saham/M +sahara +Sahara/M +Saharan/M +sahib/SM +Sahibdin/M +Sahrawi/M +Sahuarita/M +Saibil/M +said/U +saiga/MS +Saighton/M +Saigon/M +sail/MDSJGpr +sailboard/SMGr +sailboat/SM +sailcloth/M Noun: usually uncountable +sailfish/MS +sailing-boat/SM +sailing-master/SM +sailing-ship/SM +sailmaker/SM +sailmaking/M Noun: uncountable +sailor/MSYp +sailplane/SM +sainfoin/SM +Sainsbury/M +Saint-Augustin-de-Desmaures/M +Saint-Basile-le-Grand/M +Saint-Basile/M +Saint-Bruno-de-Montarville/M +Saint-Césaire/M +Saint-Colomban/M +Saint-Constant/M +Saint-Denis/M +Saint-Eustache/M +Saint-Félicien/M +Saint-Gabriel/M +Saint-Georges/M +Saint-Hyacinthe/M +Saint-Jean-sur-Richelieu/M +Saint-Jérôme/M +Saint-Joseph-de-Beauce/M +Saint-Joseph-de-Sorel/M +Saint-Lambert/M +Saint-Lazare/M +Saint-Lin-Laurentides/M +Saint-Luc/M +Saint-Marc-des-Carrières/M +Saint-Ours/M +Saint-Pamphile/M +Saint-Pascal/M +Saint-Pie/M +Saint-Raymond/M +Saint-Rémi/M +Saint-Sauveur/M +Saint-Simon/M +Saint-Simonian/SM +Saint-Simonianism/M +Saint-Simonism/M +Saint-Tite/M +Saint-Tropez/M +Saint/M +saint/MSDYGJ +Saintbury/M +saintdom/SM +Sainte-Adèle/M +Sainte-Agathe-des-Monts/M +Sainte-Anne-de-Beaupré/M +Sainte-Anne-de-Bellevue/M +Sainte-Anne-des-Monts/M +Sainte-Anne-des-Plaines/M +Sainte-Catherine-de-la-Jacques-Cartier/M +Sainte-Catherine/M +Sainte-Julie/M +Sainte-Marguerite-du-Lac-Masson/M +Sainte-Marie/M +Sainte-Marthe-sur-le-Lac/M +Sainte-Thérèse/M +Saintfield/M +sainthood/SM +saintlike +saintliness/SM +saintling/MS +saintly/T +saintpaulia/MS +Saints/M +saintship/MS +Saipan/M +saith Archaic, but doesn't cause FPs +saithe/MS +Saiva/M +Saivism/M +Saivite/SM +Sakai/M +sake/SMr +Sakhalin/M +Sakharov/M +saki/SM +Sakti/M +sakti/MS +Sakyamuni/M +Sal/M +salaam/SM +Salaberry-de-Valleyfield/M +Salacia/M +salacious/YP +salacity/M Noun: usually uncountable +salad/SM +salade/MS +Salah/M +Salako/M +Salamanca/M +salamander/SM +salamandrian Adjective +salamandrine/SM +salamandroid/MS +salami/MS +salariat/SM +salary/SMDG +salaryman/M +salarymen/M +Salas/M +Salazar/M +Salcombe/M +Salcot/M +Salcott/M +sale's/A +sale/BMm5S +Sale/M +saleability/M Noun: usually uncountable +Saleby/M +Salehurst/M +Salem/M +Salen/M +Salerno/M +saleroom/MS +Salesbury/M +Salesforce/M +salesgirl/SM +Salesian/MS +saleslady/SM +salesmanship/SM +salespeople/M +salesperson/SM +Salfleetby/M +Salford/M +Salfords/M +Salgado/M +Salhouse/M +Salian/MS +salicin/SM +salicional/MS +salicylate/SM +salicylic +salience/ZM +salient/Y +Salientia +salientian/MS +saliferous +Salina/M +salina/MS +Salinas/M +salinate/SGD +Saline/M +saline/SM +Saling/M +Salinger/M +salinisation/SM +salinity/SM +salinometer/MS +Salisbury/M +saliva/My +salivate/NDSG +Salk/M +Salked/M +Salkeld/M +Salla/M +Salle/M +sallet/MS +Sallie/M +sallow/PTSM~ +sallowy +sally/DMSG +Sallyanne/M +salmagundi/MS +Salman/M +salmeterol/M +salmi/MS +Salmon/M +salmon/MS +Salmonby/M +Salmond/M +salmonella/M +salmonellae/M +salmonellosis/M +salmonoid/MS +Salo/M +Salome/M +Salomon/M +salon/MS +saloon/SM +Salop/M +Salopian/MS +Salperton/M +salpiglossis/M +salpingectomy/SM +salpingitis/M +salsa/MS +Salsburgh/M +salsify/M Noun: usually uncountable +salt-and-pepper +salt-cat +salt-cellar/SM +salt-marsh/M +salt-mashes +salt-pan/MS +salt-spoon/MS +salt/CSDG +Salt/M +salt/YrpMJ~ +saltarello/SM +Saltash/M +saltation/SM +saltatory/O +Saltburn/M +saltbush/MS +Saltby/M +Saltcoats/M +Salterforth/M +saltern/MS +Saltersford/M +Salterton/M +Saltfleet/M +Saltfleetby/M +Saltford/M +Salthouse/M +saltimbocca/SM +saltiness/M Noun: usually uncountable +saltire/MS +saltirewise +Saltley/M +Saltmarshe/M +saltness/M Noun: uncountable +Saltney/M +Salton/M +Saltoun/M +saltpetre/SM +saltus/MS +saltwater/SM +Saltwood/M +saltwort/SM +salty/T +Saltz/M +salubrious/YP +salubrity/SM +Saluda/M +saluki/SM +salutary +salutational +salutatory/SM +salute/SnGDr +salvable +Salvadinha/M +Salvado/M +Salvador/M +Salvadoran/SM +Salvadorean/SM +Salvadorian/SM +salvage/GMDSr +salvageable +Salvarsan/M +salvation/M3 +salvationism/M Noun: usually uncountable +Salvationist/SM +Salvatore/M +Salve +salve/RMSnGD +Salvesen/M +Salvia +salvia/MS +Salvidenus/M +salvific +Salvin/M +Salvington/M +salvo/MS +salvoes +salwar/SM +Salwarpe/M +Salyers/M +Salyut/M +Salzburg/M +Salzkammergut/M +Sam/ZM +Sama +Samadhi/M +samadhi/SM +Samael/M +Samah/M +Samantha/M +Samara/M +samara/SM +Samaria/M +Samaritan/SM +Samaritanism/M +samarium/M +Samarkand/M +samarocene +Samarra/M +samba/SMGD +sambar/MS +sambhar/M +sambo/MS +Sambo/MS +Sambourn/M +Sambourne/M +same +sameness +samfu/MS +Sami/M +Samian/MS +samisen/MS +samite/SM +samizdat/SM +Samlesbury/M +Sammamish/M +Sammie/M +Sammy/M +Samnite/MS +Samoa/M +Samoan/SM +Samos/M +samosa/SM +Samouelle/M +samovar/MS +Samoyed/MS +Samoyedic/M +sampan/MS +Sampford/M +samphire/SM +sample/DRSGMJ +Sampras/M +Sampson/M +samsara/SMW +Samson/M +Samsonite/M +Samsung/M +Samuel/SM +Samuelson/M +samurai/MS +San/M +Sana'a/M +Sananda/M +Sanatana/M +sanative/SM +sanatoria/M +sanatorium/SM +sanatory +Sanborn/M +Sanbourne/M +Sanches/M +Sanchez/M +Sánchez/M +Sancho/M +Sancreed/M +sanctify/nGDSr +sanctimonious/YP +sanctimony/SM +sanction/GDSM +sanctionable +sanctitude/M +sanctity/SM +Sancton/M +sanctuary/MS +sanctum/SM +sanctus +Sand/M +sand/ZMDG2Sr +sandal/GMDS +Sandal/M +Sandall/M +sandalwood/SM +Sanday/M +Sandbach/M +sandbag/SMDGR +Sandbank/M +sandbank/MS +sandbar/SM +Sandberg/M +sandblast/GDSR +sandboard/SMRG +sandbox/MSGD +sandboy/SM +Sandburg/M +sandcastle/SM +Sander/M +sanderling/SM +Sanders/M +Sanderson/M +Sanderstead/M +Sandfields/M +sandfly/SM +Sandford-on-Thames/M +Sandford/M +Sandgate/M +sandglass/SM +sandgrouse/M +Sandhaven/M +sandhi/MS +Sandhill/MS +sandhill/SM +Sandholes/M +Sandhurst/M +Sandhutton/M +Sandi/M +Sandiacre/M +Sandinista/SM +sandiver/M Noun: uncountable +Sandleheath/M +Sandler/M +sandlot/SM +sandman/M +sandmen/M +Sandness/M +Sandon/M +Sandor/M +Sandostatin/M +Sandoval/M +Sandown/M +sandpaper/MdS +sandpiper/SM +sandpit/SM +Sandra/M +Sandridge/M +Sandringham/M +sandshoe/SM +Sandspit/M +Sandsting/M +sandstone/SM +sandstorm/SM +Sandtoft/M +Sandtown/M +Sandusky/M +Sandwell/M +Sandwich/M +sandwich/MSDG +Sandwick/M +sandwort/MS +Sandy/M +sandy/T~ +Sandycroft/M +Sandyford/M +Sandyhills/M +Sandymoor/M +Sandys/M +sane/YT +sanely/I +saneness +Sanford/M +sang +sang-de-boeuf +sang-froid +sanga/MS +sangam +Sangamon/M +sangar/MS +sangaree/SM +sangeet/SM +Sanger/M +sangfroid/M Noun: usually uncountable +Sangiovese/M +sangrail/M +sangria/MS +sanguinariness/M +sanguinary/MSY +sanguine/YnC +sanguineness +sanguineous/F +Sanhedrim +Sanhedrin/M +sanicle/MS +Sanicula +Sanilac/M +sanitaire/MS +sanitaria/M +sanitarian/MS +sanitariness/M +sanitarium/MS +sanitary/UI +sanitary/Y +sanitaryware/SM +sanitate/DGS +sanitation/SM +sanitationist/MS +sanitise/RGDSN +sanity/ISM +Sanjay/M +sank +Sankara/M +Sankey/M +Sankhya/M +sannyasi/M +Sanofi/M +Sanpete/M +Sanquhar/M +sans +sanserif +Sanskrit/MW +Sanskritise/M +Sanskritist/SM +Sanson/M +Sansovino/M +Sant'Ana/M +Sant/M +Santa/M +Santan/M +Santana/M +Santander/M +Santee/M +Santell/M +Santer/M +Santeria/M +Santería/M +Santiago/M +Santilli/M +Santillo/M +Santo/SM +santolina/SM +Santon/M +Santonian +santonica/M +santonin/M +Santorini/M +Santorum/M +Santos's +Santoshi/M +sanyasi/M +São/M +Saône/M +sap/6DMRZG2pS +SAP/SM +Sapcote/M +sapele/MS +Sapey/M +saphenous +sapid +sapidity/M +sapien/SMW +sapience/M Noun: usually uncountable +sapient/MSY +sapiential +Sapin/M +Sapiston/M +saplessness +sapling/MS +sapodilla/SM +sapogenin/SM +saponaceous +saponifiable +saponification/MS +saponify/DGS +saponin/M +Sapperton/M +Sapphic +sapphic/SM +sapphire/MS +sapphirine +sapphism/M Noun: usually uncountable +Sappho/M +Sapporo/M +sappy/TY +saprobe/1SMW +saprobiont/MS +saprogenic +sapropel/MSW +saprophage/SM +saprophagous +saprophagy/M Noun: uncountable +saprophyte/MSW +sapsucker/SM +Saptarishi/MS +Saptashrungi/M +Sapulpa/M +sapwood/SM +Sara/M +saraband/MS +Saracen/MSW +Saragossa/M +Sarah/M +Saraiva/M +Sarajevo/M +Saraland/M +Saran/M +sarangi/SM +sarangist/SM +sarape/SM +Sarasota/M +Saraswati/M +Saratoga/M +Saratov/M +Saravanan/M +Sarawak/M +Sarbecovirus Taxonomic subgenus +sarcasm/MS +sarcastic/OY +sarcasticalness/M Noun: uncountable +sarcenet/SM +Sarco +sarcoid/SM +sarcoidoses +sarcoidosis/M +sarcoma/MS +sarcomata/M +sarcomatosis/M +sarcomatous +sarcomere/SM +sarcophagi/M +sarcophagus/M +sarcoplasm/SMW +sarcosine/M Noun: uncountable +Sardanapalus/M +sardelle/SM +sardine/MS +Sardinia/M +Sardinian/SM +sardius/M Noun: usually uncountable +sardonic/OY +sardonicism/M Noun: usually uncountable +sardonyx/SM +Saredon/M +saree/SM +sargasso/SM +Sargasso/SM +Sargassum Taxonomic genus +sargassum/SM +sarge/SM +Sargent/M +Sargon/M +sari/MS +sarin/M Noun: uncountable +Sark/M +sark/SGJ +Sarkar/M +sarky/TYP +Sarma/M +Sarmatia/M +Sarmatian/SM +Sarnesfield/M +Sarnia/M +sarnie/SM +sarong/SM +saros +Saroyan/M +Sarpedon/M +Sarpy/M +Sarratt/M +Sarre/M +sarrusophone/S +SARS-CoV-2/M +SARS-CoV/SM +SARS/M Noun: uncountable +sarsaparilla/MS +Sarsden/M +sarsen/MS +sarsenet/M +SARSr-CoV/M +Sartell/M +sartorial/Y +sartorius/M +Sartre/M +Sarum/M +SAS +SASE +Sash +sash/MDS +Sasha/M +sashimi/M Noun: usually uncountable +Saskatchewan/M +Saskatoon/M +sasquatch/MS +Sasquatch/SM +sassaby/S +sassafras/SM +Sassanian/SM +Sassanid/MS +Sassenach/M +Sassenachs +Sassoon/M +sassy/TYP +sastrugi +sat/d +SATA/M +Satan/SM31 +satanic/Y +satanise/SGD +satanism/SM +satanist/SM +Satanology/MS +satay/SM +Satch/M +satchel/SM +Satchville/M +satcom/M +sate/SGDp +sateen/SM +Satellite/M +satellite/MSW +satguru/SM +Sather/M +Sati/M +sati/SM +satiable/I +satiate/GnDS +satiety/MS +satin/SM +satined +satinwood/SM +satiny +satire/WQwM1S3 +satisfaction/SEM +satisfactoriness +satisfactory/YU +satisfied/EU +satisfy/BDkRSG +satisfying/UE +Satley/M +Sato/M +satori/M Noun: usually uncountable +Satoshi/M +satoshi/SM +satrangi/S +satrap/MS +satrapy/SM +Satsuma/M +satsuma/SM +Satterleigh/M +Satterthwaite/M +saturable +saturant/S +saturate/CnSGD +Saturday/SM +Saturn/M +Saturnalia/M +saturnalia/SM +saturnalian +Saturnian/SM +saturnic +Saturnight/SM +saturniid/SM +saturnine/Y +saturnism +Satya/M +Satyabhama/M +satyagraha/M Noun: usually uncountable +satyagrahi/SM +Satyanand/M +Satyananda/M +satyr/SMW +satyriasis/M +satyrid/SM +Satyridae +Sauber/M +sauce/r2ZMGSp +saucepan/SM +saucerful/SM +saucerless +Sauchie/M +saucisson/SM +Saucon/M +saucy/TY +saudade/SM +Saudi/SM +sauerkraut/SM +sauger/S +Saugerties/M +Saughall/M +Saughton/M +Saugus/M +Sauk/M +Saukville/M +Saul/M +Sault/M +Saumur/M +sauna/MS +Saundby/M +Saunders/M +Saundersfoot/M +Saunderson/M +Saundra/M +saunter/dSr +Saunton/M +Saurel/M +saurian/SM +Saurischia Taxonomic order +saurischian/SM +saurochore/1SMW +saurochorous +saurochory/M +sauropod/SM +sauropodomorph/SM +saury/S +sausage/SM +Sausthorpe/M +sauté/SGD +sautéd +Sauternes/M +Sautoy/M +Sauvignon/M Sauvignon Blanc +sauvignon/SM +savable +savage/DPSYGy +Savage/M +savagedom/M +savagery/SM +savagess/SM +savagism/SM +savanilla/SM +savanna/SM +Savannah/M +savannah/SM +savant/SM +savantism/M Noun: uncountable +Savchenko/M +save/SGRJD +saveable +saveloy/SM +Savernake/M +Saville/M +Savimbi/M +savingness/M Noun: uncountable +Saviour/M +saviour/SM +saviouress +saviourship/M Noun: uncountable +Savoch/M +savoir +savorous/Y +savour/YR7pMGS2DZk +savourous/Y +savoursome +savoury/SMY +Savoy/M +savoy/SM +Savoyard/M +savvy/DGST +saw-horse/SM +saw-pit/SM +saw/DGMS +sawbones/M +Sawbridgeworth/M +sawdust/M Noun: usually uncountable +sawfish/SM +sawfly/MS +sawhorse/SM +Sawiris/M +Sawley/M +sawlike +sawlog/SM +sawmill/SM +sawn +sawn-off +Sawston/M +sawtooth/D +Sawtry/M +Sawyer/M +sawyer/MS +sax/SM +saxatile +Saxby/M +Saxelby/M +Saxham/MS +saxhorn/SM +saxicoline +saxicolous +saxifrage/SM +Saxilby/M +saxitoxin/SM +Saxlingham/M +Saxmundham/M +Saxon/MS3 +Saxondale/M +Saxondom/M +Saxonism/M +Saxony/M +saxony/M +saxophone/MS3W +Saxstead/M +Saxtead/M +Saxthorpe/M +Saxton/M +say-so +Say/M +say/RGJS +Saybrook/M +Saye/M +sayest Archaic, but doesn't cause FPs +saying/M +sayonara +Sayre/M +Sayreville/M +Sb/M +SBA +Sc/M +scab/2GMZSD +scabbard/MS +scabby/T +scabies/M +Scabiosa +scabiosa/M +scabious +scabland/SM +scabrous/YP +Scackleton/M +scad/M +SCADA/M +Scafell/M +scaffold/JGSMDR +scaffolding/M Noun: usually uncountable +Scaftworth/M +Scagglethorpe/M +scagliola/M +Scala/M +scalability/SM +scalable +scalar/MS +scalariform +Scalasaig/M +Scalby/M +scald/GSDr +scaldie/SM +Scaldwell/M +scaldy/M +scale/pDAGSM +scaleability/M Noun: uncountable +scaleable +Scaleby/M +scalene/SM +scaler/SM +Scalford/M +scaliness +scallion/MS +scallop/dSMr +Scalloway/M +scallywag/SM +scalp/GDMSRp +scalpel/MS +Scalthwaiterigg/M +scaly/T +scam/MDGSR +Scambler/M +Scamblesby/M +Scammonden/M +scammony/MS +scamp/SM +scamper/SdM +scampi/M +Scampston/M +Scampton/M +scan/ADSG +scan/S +scandal/SMQ +scandalmonger/MS +scandalous/YP +Scandinavia/M +Scandinavian/SM +scandium/M +scandocene +ScanJet/M +Scannell/M +scanner/SM +scansion/SM +scant/2zZYSM +scantness +scanty/T +scape/SM +scapegoat/SGDM +scapegrace/MS +scaphocephaly/M Noun: uncountable +scaphoid/SM +scaphopod/SM +Scaphopoda Taxonomic class +scapolite/SM +scapula/M +scapulae/M +scapular/SM +scapulary/SM +scapulocoracoid/SM +scar/MGSDdp +scarab/SM +scarabaeid/MS +Scarabaeidae +Scaramouch/M +scaramouch/MS +Scaramucci/M +Scarborough/M +scarce/YT +scarceness +scarcity/SM +Scarcliffe/M +Scarcroft/M +scare/S2ZrM +scarecrow/MS +scaremonger/SM +scaremongering/M +scareware/M Noun: uncountable +scarf/SGDM +scarface/SM +Scarfe/M +scarfie/SM +Scargill/M +Scaridae +scarify/GDSnr +Scarisbrick/M +Scarista/M +Scaristabeg/M +scarlatina/M Noun: usually uncountable +Scarlatti/M +Scarle/M +scarlet/SM +Scarlett/M +Scarning/M +scarp/DGSM +scarper/S +scarpered +scarpering +Scarrington/M +Scarsdale/M +Scart/M +SCART/M +Scarthingwell/M +Scartho/M +Scarva/M +scarves +scary/TY +scat/DGSM +Scates/M +scathe/DkGp +scatology/wM +scatophagous +scatter/rSkJd +scatterbrain/MDS +scattergun/SM +scattering/M +scattershot +scatty/TYP +scaup/SM +scauper/MS +scavenge/RDGS +Scawby/M +Scawton/M +SCCS +scenario/MS +scenarist/MS +scene/1MSWy +scenery/SM +scenography/WSM +Scenopegia +scent/CMDGS +scent/p +sceptic/OYMS +scepticism/MS +sceptre/SDM +sch. +Schacht/M +Schaefer/M +Schaeffer/M +Schafer/M +Schaff/M +Schaumburg/M +Schaw/M +Schechter/M +schedule/RDMGS +scheelite/SM +Schefferville/M +Scheherazade/M +Schelde/M +Schele/M +Schelling/M +schema/S1M +schemata/M +schematic/SM +schematise/SGDN +scheme/SDRWGM +schemozzle/SM +Schempp/M +Schenectady/M +Schengen/M +Schenk/M +Schenkman/M +Scherer/M +Schererville/M +Schertz/M +Schervish/M +Scherzer/M +scherzi/M Plural of scherzo +scherzo/SM +Schiaparelli/M +Schick/M +Schickard/M +Schierholz/M +Schierl/M +Schiff/M +Schild/M +Schiller/M +schilling/SM +Schinas/M +Schindler/SM +schism/MS +schismatic/SMY +schist/SM +schistosome/SM +schistosomiasis/M +schizanthus/SM +schizo-affective +schizo/SM +schizocarp/SMW +schizocarpous +schizoid/SM +schizophrenia/SM +schizophrenic/SMY +schizostylis +schizotype/SMZO +Schlemiel/M +schlep/GDSM +Schlesinger/SM +Schleswig/M +Schlitz/M +schloss +Schloss/M +Schlosser/M +Schluter/M +Schmid/M +Schmidt/M +Schmithals/M +Schmitt/M +Schmitz/M +schmooze/SM +Schnapper/M +schnapps/M Noun: usually uncountable +schnauzer/MS +Schneider/M +Schneier/M +Schnelle/M +Schnipper/M +schnitzel/SM +Schnorr/M +Schodack/M +Schoenberg/M +Schoening/M +Schofield/M +Schoharie/M +scholar/SYM +scholarliness/M Noun: uncountable +scholarship/MS +scholastic/SMY +scholasticism/SM +Scholes/M +Scholz/M +Schönfeld/M +Schönhage/M +school-age +school-inspector +school-leaver/MS +school-leaving +school-time +school/GMDJS +School/M +schoolbook/MS +schoolboy/SM +schoolchild/M +schoolchildren/M +schoolday/SM +schoolfellow/SM +schoolfriend/SM +schoolgirl/MS~ +schoolhouse/SM +schooling/SM +schoolkid/SM +schoolmarm/SM +schoolmaster/SMYd +schoolmate/SM +schoolmistress/SMZ +schoolroom/MS +schoolteacher/SM +schoolteaching/M Noun: uncountable +schoolwork/M Noun: uncountable +schooner/SM +Schoonover/M +Schopenhauer/M +Schottenfeld/M +schottische/S +Schottky/M +Schrader/M +Schratt/M +Schreckenberger/M +Schreiber/M +Schriver/M +schrod +Schröder/M +Schroders/M +Schrödinger/M +Schroeder/M +Schroedinger/M +schtum/SGD +Schubert/M +Schuessler/M +Schuler/M +Schüller/M +Schullian/M +Schulman/M +Schultz/M +Schulz/M +Schumacher/M +Schumann/M +Schumer/M +Schumpeter/M +Schur/M +schuss/M +Schuster/M +Schutte/M +Schütze/M +Schuyler/M +Schuylkill/M +schwa/MS +Schwab/M +Schwabe/M +Schwabl/M +Schwaiger/M +Schwamb/M +Schwartz/M +Schwartzkopf/M +Schwarzchild +Schwarzenegger/M +Schwarzschild/M +Schwarzwald/M +Schweinfurt/M +Schweitzer/M +Schweizer/M +Schweppes/M +Schwyz/M +sci-fi +sciagram/S +Sciandri/M +Sciarpelletti/M +sciatic/Y +sciatica/M +science's/FK +science/M3SW +sciences/FK +scientific/S +scientific/UY +scientifical/P +scientificality/M +scientificism/M +scientificness +scientifiction/M Noun: uncountable +scientism/SM +scientistic +Scientology/M3 +scilla/SM +Scillonian/MS +Scilly/M +scimitar/SM +scintigram/SM +scintilla/nM +scintillate/GDSk +scintillator/SM +Scio/M +scion/SM +Scioto/M +Scipio/M +scirocco/S +scission/SM +scissor/SdM +Scituate/M +Scleddau/M +sclereid/MS +sclerenchyma/MS +sclerenchymatous +sclerite/SM +scleroderma/SM +sclerophyll/S +scleroses +sclerosis/M +sclerotherapy/SM +sclerotic/SM +sclerotisation/SM +sclerotised +scoff/RGDSM +scold/DRJSGM +Scole/M +scolecodont/SM +scoliosis/M +scombroid/SM +sconce/MS +scone/SM +Scooby/M +Scoonie/M +scoop/MGS6RD +scoopful/SM +scoot/RSDGM +scooterist/S +scope/SMGD +scopolamine/SM +Scopwick/M +Scorborough/M +scorbutic +scorch/RSkGDM +score/eDfGS +score/Mp +scoreboard/MS +scorecard/SM +scorekeeper/SM +scorekeeping/M Noun: uncountable +scoreline/SM +scorer/SM +Scoresby/M +SCORM/M +scorn/jDRMG6S +scornfulness +Scorpian/MS +Scorpio/MS +Scorpion +scorpion/MS +scorpionate +scorpionfish/SM +Scorpius/M +Scorton/M +Scorzonera +scorzonera/SM +Scosthrop/M +scot-free +Scot/M5Sm +scot/SM +Scotch/M +scotch/SMDG +Scotchman/M +Scotchmen/M +Scotchwoman/M +Scotchwomen/M +Scotforth/M +Scothern/M +Scotia/M +Scotian/SM +Scotism/M Noun: uncountable +Scotist/SM +Scotland/M +scotograph/SM +scotopic +scotoscope/SM +Scotstoun/M +Scotstown/M +Scott/M~ +Scotter/M +Scotticise/DGS +Scotticism/MS +Scottie/SM +Scottishness/M +Scotton/M +Scottow/M +Scotts/M +Scottsbluff/M +Scottsboro/M +Scottsburg/M +Scottsdale/M +Scotty/M +Scoulton/M +scoundrel/YSM +scour/SDRGM +scourge/SDMGR +Scourie/M +scouser/SM +scout/MGDSr +Scout/MS +scoutcraft/SM +Scouter/MS +scouting/M +scoutmaster/SM +scoutship/SM +Scoville/M +scowl/GSDrM +SCOWL/M +Scrabble/M +scrabble/SGDM +Scrafield/M +Scrafton/M +scrag-end +scrag/GMZSD +scraggly/T +scraggy/T +scram/GDSM +scramble/UGCSD +scrambler/UMC +scramblers/C +scramjet/SM +Scranton/M +scrap/rDRGdZSM +scrapbook/MS +scrapbooker/SM +scrape/SJM +scraperboard/M Noun: uncountable +scrapheap/SM +scrapie/SM +scrappage/M Noun: usually uncountable +scrappiness/M Noun: uncountable +scrappy/TY +Scraptoft/M +scrapyard/SM +Scratby/M +scratch/D2zJZRSGM +scratchplate/SM +scratchy/T +scrawl/SDGYMr +scrawly/T +scrawniness/M Noun: uncountable +scrawny/T +Scrayingham/M +scream/kRGSDM +Screaton/M +Scredington/M +scree/SM +screech/SZDMGr +screechy/T +screed/SM +screen/GJSMDB6r +screenful/SM +screening/M +screenname/SM +screenplay/MS +screensaver/SM +screenshot/SM +screenwash/M Noun: usually uncountable +screenwriter/SM +screenwriting/M Noun: uncountable +Scremby/M +Screven/M +Screveton/M +screw/MZS2GDr +screwable +screwball/SMR +screwdriver/MS +screwdriving/M Noun: uncountable +screwgate/SM +screwy/T +Scriabin/M +scribal +scribble/RSGDJ +scribe/IDSGCK +scribe/M +scriber/IMKC +Scribner/M +scrim/SM +scrimmage/MGSDr +scrimp/GSD +scrimpy +scrimshaw/GSMD +scrip/SM +Scripps/M +script/SKMFA +scriptable +scripted/FU +scripting/F +scriptoria/M +scriptorium/SM +scripture/OoSM +Scripture/SM +scriptwriter/MS +scriptwriting/M Noun: uncountable +Scrivelsby/M +Scriven/M +scrivener/MS +scrofula/M +scrofulous +scroll/G7MSDR +scrollback/M Noun: uncountable +scrollbar/SM +scrollwork/SM +Scrooby/M +Scrooge/SM +Scroop/M +Scroope/M +Scropton/M +scrota/OM +scrotoplasty/SM +scrotum/M +scrounge/SDGRM +scrub/RGDZSM +scrubbier +scrubfowl +scrubland/SM +scruff/2ZSMz +scruffy/T +Scruggs/M +scrum-half +scrum/MS +scrummage/DMGS +scrump/SGDRZ +scrumple/SGD +scrumptious/YP +scrunch/GSDM +scrunchie/SM +scrunchy/T +scruple/DMSG +scrupulosity/SM +scrupulous/YU +scrupulousness/M +scrutator/SM +scrutineer/SM +scrutinised/U +scrutiny/SsQMq +Scruton/M +Scrutton/M +scry/SGD +scryer/SM +SCSI/M +scuba/SM +scud/SDGM +Scudamore/M +Scudder/M +scuff/DGS +scuffle/DGS +Sculcoates/M +scull/DRMSG +scullery/SM +Sculley/M +scullion/SM +Scully/M +sculpt/DSG +sculptor/SM +sculptress/MS +sculpture/GDOoSM +sculpturesque +Sculthorpe/M +scum/SZDMG +scumbag/SM +scumble/SGDM +scummy/T +scuncheon/S +Scunthorpe/M +scupper/MSd +scuppernong/SM +Scures/M +scurf/SM +scurfy/T +scurrility/MS +scurrilous/YP +scurry/DGSJ +Scurry/M +scurvy/SYM +scuta/M +Scutari/M +scutch/SGDRM +scutcheon/MS +scute/SM +scutella/M +scutellar/SM +scutellum/M +scutter/S +scuttered +scuttering/S +scuttle/MGDS +scuttlebutt/MS +Scutum/M +scutum/M +scuzzy/TP +Scylla/M +scyphistoma/SMO +scyphistomae/M +Scyphozoa Taxonomic class +scyphozoan/SM +scythe/GSMD +Scythia/M +Scythian/SM +SD/SM +SDI/SM +SDK/SM +SDO/SM Initialism of scattered-disk object +SDRAM +SDTV/M +Se/M +sea-chest +sea-girt +sea-green +sea-moth/SM +sea/cS +Sea/M +sea/M +seabed/SM +Seabee/SM +seabird/SM +seaboard/SM +seaborgium/M Noun: uncountable +seaborne +Seaborough/M +Seabrook/M +Seabury/M +Seacliff/M +seacock/SM +seafarer/SM +seafaring/SM +Seafield/M +seafloor/SM +seafood/SM +Seaford/M +Seaforde/M +Seaforth/M +seafront/SM +Seagate/M +Seager/M +seagoing +Seagoville/M +Seagram/M +seagrass/SM +Seagrave/M +Seagry/M +seagull/SM +Seaham/M +seahawk/SM +seahorse/SM +seal/DUAGS +Seal/M +seal/Mp +sealable +Sealand/M +sealant/SM +Seale/M +sealer/MS +sealskin/SM +Sealyham/MS +seam/MDGSZpr +seaman/YM +seamanship/M +seamen/M +Seamer/M +seamfree +seamier +seamless/YP +SeaMonkey/M +seamount/SM +seamstress/MS +Seamus/M +Sean/M +Seanad/M +séance/MS +seance/SM +seaplane/SM +seaport/MS +seaquake/SM +sear/GSDk +Searby/M +search/GSkJDRBp +searcher/AMS +searchlight/SM +Searcy/M +Sears/M +Seasalter/M +Seascale/M +seascape/SM +seashell/SM +seashore/SM +seasick/P +Seaside/M +seaside/M +season/dlS7Mo +seasonableness/U +seasonably/U +seasonal/UY +seasonality/SM +seasoning/M +seat/Mpr +seat/UGDSA +SeaTac/M +seatbelt/SM +SEATO/M +Seaton/M +Seatoun/M +Seattle/M +Seaview/M +Seavington/M +seawall/SMD +seaward/S +seaware/M Noun: uncountable +seawater/SM +seaway/MS +seaweed/SM +seaworthiness/M Noun: uncountable +seaworthy/U +Seb/M +sebaceous +Sebastián/M +Sebastian/M +Sebastião/M +Sébastien/M +Sebergham/M +seborrhoea/WM +Sebring/M +sebum/SM +sec. +sec/S +SECAM/M +secant/MS +secateurs +Secaucus/M +secede/SGDr +secession/M3S +Secker/M +Seckington/M +seclude/GSVD +seclusion/SM +seclusionist/SMW +Secombe/M +second-best +second-class +second-degree +second-hand +second-rate +second/RGLSYDM +secondary/YP +secondee/SM +secondhand +secondhandedness/M Noun: uncountable +secrecy/SM +secret/dVSYvuM +secretariat/SM +secretary/SMO +secretaryship/SM +secrete/Sn +secretin/SM +secretor/SMZ +sect's/I +sect/ISE +sectarian/SM +sectarianism/MS +sectary/SM +section's/E +section/GMDSo +sectional/QSM +sectionalism/SM +sections/EA +sector/EMS +sector/O +sectoral +sectored +secular/Yq3QS +secularism/MS +secularity/SM +SecurDisc/M +secure/RPLBSYDG +securitise/SGDn +security/SMI +Sedalia/M +sedan/SM +sedate/PYVGnSD +sedative/SM +Sedbergh/M +Sedbury/M +Seddon/M +Seddonville/M +sedenion/SM +sedentary/MSY +sedentation +Seder/MS +sederunt/SM +sedge/SMZ +Sedgeberrow/M +Sedgebrook/M +Sedgefield/M +Sedgeford/M +Sedgehill/M +Sedgemoor/M +Sedgley/M +Sedgwick/M +sedgy/T +sediment/SnMD +sedimentary/SM +sedimentological/Y +sedimentology/3M +sedis incertae sedis +sedition/SM +seditious/YP +Sedlescombe/M +Sedley/M +Sedna/M +sednoid/SM +Sedona/M +Sedro-Woolley/M +seduce/RDVvuGSn +seducible +seductive/P +seductress/MS +sedulous/Y +Sedum Taxonomic genus +sedum/SM +see-saw/DSMG +see-through +see/SdG +Seeadler/M +seed-bed/SM +seed-cord +seed/MD2GSRZp +seedbed/MS +seedeater/SM +seeded/UA +seedling/SM +seedsman/M +seedsmen/M +seedy/TP +Seeger/M +seeing/Uc +seek/GRS +Seekonk/M +Seeley/M +Seely/M +seem/YSkGD +seemliness/U +seemly/TP +seen/Uc +Seend/M +seep/GSD +seepage/SM +seer/cSM +Seer/M +seersucker/SM +sees/c +seethe/GDSk +Seething/M +Sefton/M +Sega/M +Segal/M +Segall/M +Segar/M +Segedin/M +segment/GonMSDO +Segna/M +segnosaurid/SM +sego/MS +Segovia/M +segregable +segregate/CDSGn +segregation/3M +segregative +segue/DSG +seguidilla/MS +Seguin/M +Segundo/M +Segway/M +Sehgal/M +Seibert/M +Seidel/M +Seidelmann/M +Seidenfeld/M +Seidlitz +Seidman/M +seigeury/S +Seighford/M +seigneur/MSO +seignior/SZM +seigniorage +seigniory/SMO +Seiko/M +Seil/M +seine/MG +Seinfeld/M +Seisdon/M +seise/SGDB +seisin/SM +seismal +seismic/OY +seismogram/SM +seismograph/RSMWZ +seismography/SM +seismology/M3w1 +seismometer/SM +seizure/SM +selachian/SM +Selachii +selah/SM +selamectin/M +Selangor/M +Selassie/M +Selattyn/M +Selborne/M +Selby/M +Selden/M +seldom +select/KSGCDA +selectable +selectee/MS +selection/SOoM +selective/YP +selectivity/SM +selectman/M +selectmen/M +selectness/M Noun: usually uncountable +selector/MS +Selena/M +selenate/SM +Selene/M +selenian +selenic Adjective +selenide/SM +selenious Adjective +selenite/SM +selenium/M Noun: usually uncountable +selenocene +selenocentric +selenodont/MS +selenographer/MS +selenographic Adjective +selenography/M Noun: uncountable +selenology/3wM +Seleucid/M +self-abasement +self-absorbed +self-absorption +self-abuse +self-addressed +self-adhesive +self-analysis +self-appointed +self-approval +self-assembly +self-assertion +self-assertive +self-assurance +self-assured +self-aware +self-awareness +self-catering +self-censorship +self-centred +self-centredly/M +self-centredness +self-cleaning +self-closing +self-command +self-confessed +self-confidence +self-confident/Y +self-congratulation +self-congratulatory +self-conscious/YP +self-consistency +self-consistent +self-contained +self-contradiction +self-contradictory +self-control +self-correcting +self-critical +self-criticism +self-deceit +self-deception +self-defeating +self-defence +self-delusion +self-denial +self-denying +self-deprecating +self-destruct/DVGS +self-destruction +self-determination +self-determined +self-discipline +self-doubt +self-effacing/Y +self-employed +self-esteem +self-evidence +self-evident/Y +self-examination +self-explanatory +self-expression +self-feeding +self-financing +self-fulfilling +self-fulfilment +self-glorification +self-governing +self-government +self-hate +self-hatred +self-help +self-image +self-immolation +self-importance +self-important +self-imposed +self-improvement +self-induced +self-indulgence +self-indulgent +self-inflicted +self-interest/D +self-involved +self-justification +self-justifying +self-knowledge +self-loading +self-locking +self-love +self-made +self-motivated +self-opinionated +self-parody +self-perpetuating +self-pity +self-pollination +self-portrait/S +self-possessed +self-possession +self-preservation +self-proclaimed +self-propagating +self-propelled +self-protection +self-raising +self-recording +self-referential +self-regard +self-regulating +self-regulation +self-regulatory +self-reliance +self-reliant +self-respect/G +self-restrained +self-restraint +self-revelation +self-righteous/Y +self-righteousness +self-sacrifice/G +self-satisfaction +self-satisfied +self-seeker/S +self-seeking +self-selecting +self-service +self-serving +self-styled +self-sufficiency +self-sufficient +self-support/G +self-surrender +self-sustained +self-sustaining +self-tapping +self-taught +self-torture +self-willed +self-winding +self-worth +self/pGDPZ3M +selfhood +selfie/SM +selfish/UY +selfishness/U +selfism/M Noun: usually uncountable +selfless/YP +selfmate/SM +Selfridge/M +selfsame/P +Selham/M +Seljuk/MS +Seljukian/MS +Selkirk/M +Selkirkshire/M +sell-by +sell-off +sell-out +sell/ASceGf +Sellack/M +Sellafield/M +Sellatyn/M +seller/AMS +Sellindge/M +Selling/M +Sellotape/DGMS +sellotape/SGDM +Selma/M +Selmeston/M +Selsey/M +Selside/M +Selston/M +Selten/M +seltzer/S +selvage/SM +selvedge/MS +selves +Selwood/M +Selworthy/M +Selwyn/M +semantic/3SY +semaphore/DSMG +semblance/AMES +semeiology/3SM +semeiotic/S +semeiotician/SM +Semele/M +semelparous +semen/M +Semenov/M +Semer/M +semester/SM +semi-annual/Y +semi-automatic +semi-classical +semi-conscious +semi-conservative +semi-detached +semi-documentary/SM +semi-double +semi-duplex +semi-final/SM3 +semi-flexible +semi-fluid +semi-independent +semi-infinite +semi-invalid +semi-lethal +semi-liquid/SM +semi-literacy +semi-literate +semi-modal +semi-monthly +semi-official/Y +semi-opera/S +semi-permanent/Y +semi-permeable +semi-precious +semi-professional/SMY +semi-retired +semi-retirement +semi-rigid +semi-skilled +semi-skimmed +semi-solid +semi-tone/MS +semi-trailer/SM +semi-weekly/SM +semi-yearly +semi/MS +semiaquatic +semiarid +semibold +semibreve/SM +semicircle/SM +semicircular +semicolon/MS +semiconducting +semiconductor/SM +semideaf +semidefinite +semidemisemiquaver/SM +semidiameter/MS +semidiurnal +semierect +semifeudal +semifinal/3MS +semifinished +semiformal +semigroup/SM +semilethal +semilunar +semimajor +semimetal/SMW +seminal/YSM +seminar/MS +seminarian/MS +seminary/SM3 +seminatural +Semington/M +seminiferous +Seminole/SM +seminoma/SM +seminomata/M +seminumerical +semiocclusive +semiochemical/SM +semiology/3wSM +semiosis/M Noun: uncountable +semiosphere/MS +semiotic/SY +semiotical Adjective +semiotician/SM +semioval +semipermeable +semiprecious +semiprime/SM +semiprivate +semiprozine/SM +semiquaver/SM +semiquinone/SM +semiraw +semiregular +semirural +semisweet +Semite/WSM +semitendinosi/M +semitendinosus/M +Semitic/SM +Semitism/SM +Semitist/MS +semitone/MS +semitransparent +semitropical +semivocal +semivowel/SM +semiweak +semiweekly/SM +Semley/M +semmit/MS +semolina/M Noun: usually uncountable +sempiternal/Y +sempiternity/M Noun: uncountable +semplice +sempre +Sempringham/M +sempstress/MS +Semtex/M +Sen. +senary/M +senate/SM +senator/MSO +senatorship/MS +send-off/SM +send/ASG +Send/M +Sendai/M +sender/SM +sendoff/SM +Sendy/M +Seneca/M +Senedd/M +Senegal/M +Senegalese/M +Seneley/M +senescence/M Noun: usually uncountable +senescent +seneschal/MS +senhor/MS +senhora/MS +senhorita/MS +senile/SM +senility/SM +senior/SM +seniority/SM +Senn/M +senna/M +Sennacherib/M +Sennen/M +sennet/MS +Senneterre/M +Sennett/M +Sennheiser/M +sennit/SM +señor/M +Señora/M +señora/SM +señores +señorita/SM +sensa +sensate/x +sensational/Q3 +sensationalism/MS +sensationalistic +sense/DGnSpMb +sensei/SM +senseless/YP +sensibility/IMS +sensible/IY +sensibleness +sensibly/I +sensilla/M +sensillum/M +Sensipar/M +sensitise/GRnDS +sensitive/IY +sensitive/S +sensitiveness +sensitivity/IMS +sensor/SM +sensoria/OoM +sensorimotor/W +sensorineural +sensorium/SM +sensory/YSM +sensual/FY +sensualise/SGDN +sensualism/SM +sensualist/MSW +sensuality/MS +sensum +sensuosity/SM +sensuous/YP +sent/FEKUA +Sentamu/M +sentence/MGDS +sentential +sententious/Y +sentience/IM +sentient/I +sentient/SY +sentiment/SKM +sentimental/Q3qYs +sentimentalism/MS +sentimentality/SM +sentinel/DGSM +sentry/SM +Senussi/SM +SEO/M Noun: uncountable +Seoul/M +Sep +sepal/SM +separability/I +separable/IY +separableness +separably/I +separate/PB3nSGDVY +separatism/MS +separator/MS +separatory +Sephardi/WM +Sephardim/M +sephira/M +sephiroth/M +sepia/SM +Sepoy/M +sepoy/SM +Seppo/M +seppuku +sepses +sepsis/M +Sept-Îles/M +Sept-Rivières/M +sept/NWM +septa/MO +septaria/M +septarian +septarium/M +septate +septcentenary/MS +September/SM +septenary/SM +septennial/Y +septet/SM +septic/MSY +septicaemia/WSM +septicemia/SMW +septicity/M Noun: uncountable +septillion/HS +septuagenarian/SM +Septuagesima/M +Septuagint/MS +septum/M +septuple/DGS +septuplet/MS +Sepulchre/M +sepulchre/OSoM +sepulture/SM +Sepura/M +seq. +seqq. +sequacious/Y +sequacity/M Noun: uncountable +Sequatchie/M +sequel/MS +sequela/M +sequelae/M +sequence/RSMGD +sequent/F +sequential/FY +sequentiality/F +sequester/dSn +sequestrate/BSDG +sequestrator/SM +sequin/MSD +sequitur/SM +sequoia/SM +Sequoya/M +Sequoyah/M +sera/M +serac/MS +Serafin/M +seraglio/SM +serang/MS +serape/SM +seraph/W1SM +Seraphic +seraphim/M +seraskier/MS +Serb/MS +Serbia/M +Serbian/SM +Serbo-Croat/M +Serbo-Croatian/M +Serbonian +Serdica/M +sere/SM +Serena/M +serenade/DMGSr +serendipitous/Y +serendipity/MS +serene/TY +Serengeti/M +Serenity/M +serenity/SM +Serf/M +serf/SM +serfdom/SM +serge/Mr +sergeant/MS +Sergei/M +Sergey/M +Sérgio/M +Sergio/M +Seri/M +serial/3qQSYM +serialisable +serialise/SGDnR +serialism/M Noun: usually uncountable +seriality/SM +seriate/SGDNY +seriatim +sericite/SM +series/M +serif/SDM +serigraph/MS +serine/SM +serineprotease/SM +serious/YP +Serlio/M +sermon/QSM +seroconversion/SM +seroconvert/SGD +serodiagnosis/M +serodiagnostic/SM +seroepidemiological +serogroup/SM +serology/wW1M3 +seronegative/SM +seronegativity/M Noun: uncountable +seropositive/SM +seropositivity/SM +seroprevalence/SM +Seroquel/M +serosa/M +serosity/M +serotine/MS +serotinous +serotonergic +serotonin/SM +serotoninergic +serotype/SMW +serous +Serpens/M +serpent/SM +serpentiform +serpentine/DGSM +serpentinise/SGDN +serpiginous +serpin/SM +serpinopathy/SM +Serpula +Serra/SM +Serralheiro/M +Serrano/M +serrate/nD +serratus/M +serried +sertraline/M Noun: uncountable +serum/MS +serval/MS +servant/SM +serve/AGCSKDF +server/CKSM +servery/SM +Servetus/M +Servian/MS +service/mB5DMSG +serviceability/M Noun: usually uncountable +serviceableness +serviceably +serviceberry/SM +serviette/SM +servile/YSM +servility/MS +serving/CS +serving/M +Servite/MS +servitor/SM +servitorship/MS +servitude/SM +servo/SM +servomechanism/MS +servomotor/MS +sesame/SM +sesamoid/MS +Sesamum +Seskinore/M +Sesotho/M +sesquicentenary/SM +sesquicentennial/SM +sesquioxide/MS +sesquipedalian +sessile +session/SMO +Sesswick/M +sesterce/MS +sestertii/M +sestina/SM +set-aside +set-up/SM +set/eMS +seta/OM +setaceous +setae/M +setback/SM +Setchey/M +Seth/M +SETI/M +setiferous +setigerous +Setmurthy/M +Seton/M +sets/AI +setscrew/SM +Setswana/M +sett/7RJMDSG +settee/MS +Settle/M +settle/RLGSD +settled/UA +Settlement/M +settles/UA +settling/UA +settlor/MS +Settrington/M +setup/SM +setwall/MS +Seuss/M +Sevastopol/M +seven/HMS +Seven/M +Sevenhampton/M +Sevenoaks/M +seventeen/H +seventeen/S +seventhly +seventy-eight/H +seventy-first/S +seventy-five/H +seventy-four/H +seventy-nine/H +seventy-one +seventy-onefold +seventy-second/S +seventy-seven/H +seventy-six/H +seventy-three/H +seventy-two +seventy-twofold +seventy/HS +seventysomething/SM +sever/dES +severability/M Noun: usually uncountable +severable +severalfold +severalty/SM +severance/MS +severe/OoTY +severity/SM +Severn/M +Sevier/M +Sevierville/M +Seville/M +Sevington/M +Sèvres +sew/SAGD +sewage/SM +Sewall/M +Seward/MS +Sewell/M +sewer/SM +sewerage/SM +sewn +Sewstern/M +sex-appealing +sex-blind +sex-chromosomal +sex-controlled +sex-discriminating +sex-free +sex-hungry +sex-kittenish +sex-limited +sex-linked +sex-negative +sex-neutral +sex-positive +sex-reversed +sex-reversing +sex-starved +sex/RSzG3p2ZDM +sexadecimal +sexagenal +sexagenarian/SM +sexagenarianism/M +sexagenary/SM +Sexagesima/MS +sexagesimal/SMY +sexangular/Y +sexathon/SM +sexcentenary/SM +sexdigitate +sexed/fc +sexennia +sexennial/SM +sexennium/S +sexercise/SM +sexfoil/SM +Sexhow/M +sexine/SM +sexipolar +sexism/SM +sexisyllabic Adjective +sexisyllable/S +sexivalent Adjective +sexlessly +sexlessness +sexology/3MWw +sexpartite +sexpert/SM +sexploit/SMnr +sexploitative +sexpot/SM +sext/GRW +sextain/S +sextant/SM +sextet/SM +sextette/S +sextillion/MS +sextillionth/SM +sexto +sextodecimo/SM +sexton/MS +Sexton/SM +sextuple/DGSM +sextuplet/SM +Sextus/M +sexual/Y +sexualise/NSGD +sexualist/SMW +sexuality/MS +sexuate/D +sexuparous +sexvirate/SM +sexy/T3 +Seychelles/M +Seychellois/M +Seyfarth/M +Seyfert/M +Seymour/M +Sezincote/M +sf +sforzandi/M +sforzando/SM +Sg +Sgt. +sh/~ +SHA/M +Shaanxi/M +Shabbat/SM +Shabbes +shabbiness/SM +Shabbington/M +Shabbir/M +Shabbos +shabby/YT~ +shabrack/MS +shack/MGDS +Shackerstone/M +shackle/M +shackle/USDG +Shackleford/M +shackler/SM +Shackleton/M +shad/SM +Shadakshari/M +shadblow/SM +shadbush/MS +shaddock/SM +Shade/M +shade/MDpJSZG2r +Shadi/M +Shadingfield/M +Shadlingfield/M +shadoof/SM +shadow-boxing/M +shadow/DGp2ZMSr +shadowgraph/SM +shadowland/SM +Shadoxhurst/M +Shadwell/M +shady/YT +Shafer/M +Shaffer/M +Shafran/M +shaft/DGSM +Shafter/M +shafter/SM +Shaftesbury/M +Shafton/M +shag/ZDSG2M +shaggy/T +shagreen/M +shah/MS +Shahar/M +shaikh/MS +Shaivism/M +shakable +shake-down/SM +shake-out/SM +shake-up/SM +shake/2Z7SRG +shakeable/Y +shakeable/YU +shaken +Shaker/M +Shakerism/M Noun: usually uncountable +Shakerley/M +Shakeshaft/M +Shakespeare/M +Shakespearean/SM +Shakespearian/SM +shaking/M +Shakira/M +shako/SM +Shakopee/M +Shakti/M +shakti/MS +Shaktism/M Noun: uncountable +shakuhachi/SM +Shakur/M +shaky/YT +Shalbourne/M +Shalden/M +Shaldon/M +shale/SM +Shaler/M +shaley +Shalfleet/M +Shalford/M +Shalikashvili/M +shall +shallop/SM +shallot/SM +shallow/YSDT +shallowness +Shallum/M +shalom +Shalom/M +Shalott/M +Shalstone/M +shalt +shalwar/SM +shaly/T +sham/SGMdD +shaman/MSW +shamanise/SGD +shamanism/SM +shamanist/SMW +shamateur/MS +shamateurism/M Noun: uncountable +shamble/DSG +Shambles +shambolic/Y +shame/6MjpS +shamefaced/Y +shamefacedness/M +shamefulness +shameless/Y +shamelessness/SM +Shamir/M +shammer/SM +shammy/SM +Shamokin/M +shampoo/GMDS +shampooer/SM +shamrock/SM +Shamus/M +shan't +Shanahan/M +Shandon/M +Shandong/M +shandy/MS +Shane/M +Shang/M +shanghai/DSMG +Shanghai/M +Shangri-la/M +Shangton/M +Shania/M +shank/SGDM +Shankara/M +Shankaracharya/M +Shanklin/M +Shankly/M +Shanmaghery/M +Shannon/M +shanny/SM +Shantanu/M +Shanti/M +shantung/SM +shanty/MS +shantytown/SM +Shanvey/M +Shanxi/M +Shaolin/M +Shap/M +shapable +shape-shifter/SM +shape-shifting +shape/ADaSG +shape/M +shapeable +shapeless/PY +shapeliness +shapely/T +shaper/MS +shapeshifter/SM +shapeshifting +shapewear +Shapinsay/M +Shapiro/M +Shapley/M +Shapwick/M +Shaquille/M +Sharaf/M +Sharam/M +Sharapova/M +Sharath/M +shard/MS +Shardlow/M +share-out/SM +share/7SRGDMi +shareholder/MS +shareholding/SM +SharePoint/M +Shareshill/M +shareware/M Noun: uncountable +Shari/M +sharia/M +shariah/M +shariat/M +Sharif/M +shark/SM +sharkskin/SM +Sharlene/M +Sharlston/M +Sharma/M +Sharman/M +Sharnbrook/M +Sharncote/M +Sharnford/M +Sharon/M +Sharonville/M +Sharow/M +sharp/DMSTY~ +Sharp/M +Sharpe/M +sharpen/AdS +sharpener/SM +Sharpeville/M +Sharpham/M +Sharples/M +sharpness +sharpshooter/MS +sharpshooting +sharpy/SM +Sharrington/M +Sharron/SM +Shasta/M +shat/! +Shatner/M +shatter-proof +shatter/kSd +Shatton/M +Shaugh/M +Shaun/M +Shauna/M +shave/DGSRJ +shaven/U +Shavian/SM +Shavington/M +Shavuot/MS +Shavuoth/MS +Shaw/M +Shawangunk/M +Shawano/M +Shawbury/M +Shawell/M +Shawford/M +Shawinigan/M +Shawkey/M +shawl/MDS +Shawlands/M +shawm/SM +Shawn/M +Shawnee/MS +Shawshank/M +Shawswick/M +Shaxson/M +Shay/M +shchi/M Noun: uncountable +she'd +she'll +she-ass +she-cat +she-devil +she-dog +she-dragon +she-friend +she-goat +she-god +she-male/SM +she/DM +Shea/M +Sheader/M +sheading/S +sheaf/M +Sheaffer/M +Sheahan/M +shear/RDGS +shearling/SM +Shearmur/M +Shearsby/M +shearwater/SM +sheath/SJDGMp +sheathe/UDG +sheathing/M +sheave/DSG +Sheba/M +shebang/SM +Shebbear/M +shebeen/SM +Sheboygan/M +Sheckler/M +shed/SGMR +Shedd/M +Shedfield/M +shedload/SM +Sheehan/M +Sheela-na-gig/SM +Sheen/M +sheen/ZSMDG +Sheena/M +Sheene/M +sheeny/T +sheep-dip +sheep/M +sheepdog/SM +sheepfold/SM +sheepish/PY +sheeple/M +sheeplike +sheepman/M +sheepmen/M +Sheepscombe/M +sheepshank/SM +sheepshead/M +Sheepshed/M +sheepskin/MS +Sheepstor/M +Sheeptown/M +sheepwalk/MS +Sheepwash/M +Sheepy/M +sheer/GYTDS +Sheeran/M +Sheering/M +sheerness +sheesh +sheet/DSMG +Sheet/M +sheeting/M +sheetlike +Sheffield/RM +Shefford/M +Sheidlower/M +sheik/SM +sheikdom/SM +sheikh/SM +sheikhdom/M +Sheila/M +sheila/S +Sheilah/M +sheiling +Sheinton/M +shekel/MS +Shekinah/M +Shelagh/M +Shelby/M +Shelbyville/M +Sheldon/M +Sheldonian +Sheldrake/M +Sheldrick/M +Sheldwich/M +shelf-life +shelf-mark +shelf-room +shelf/6M +Shelfanger/M +shelfful/SM +shelflike +Shelford/M +Shelia/M +Shell/M +shell/SDGM +shellac/DSG +Shelland/M +Shelley/M +shellfire/M Noun: usually uncountable +shellfish/M +Shellie/M +Shellingford/M +Shellow/M +shellproof +Shelly/M +Shelsley/M +Shelswell/M +Shelta/M +Sheltand/M +shelter/MSrdp +shelteredness/M +sheltie/SM +Shelton/M +shelty/M +shelve/DSGr +Shelve/M +shelving/M +Shelwick/M +Shem/M +shemale/SM +Shemhamforash +shemozzle/SM +Shenandoah/M +shenanigan/SM +Shenfield/M +Shenington/M +Shenley/M +Shennan/M +Shenstone/M +Shenton/M +Shenyang/M +Shenzhen/M +Sheol/M +Shepard/M +Shephall/M +Shephard/M +shepherd/GMSD +shepherdess/SM +Shepherds/M +Shepherdsville/M +Shepherdswell/M +Sheppard/M +Shepparton-Mooroopna/M +Shepperton/M +Sheppey/M +Shepreth/M +Shepshed/M +Shepstone/M +Shepton/M +Sheran/M +sherardise/DGS +Sheraton/M +sherbet/SM +Sherborne/M +Sherbourne/M +Sherbrooke/M +Sherburn/M +Sherburne/M +sherd/SM +Shere/M +Sheree/M +shereef/SM +Shereford/M +Sherehog/M +Sherfield-on-Loddon/M +Sherfield/M +Sherford/M +Shergold/M +Sheri/M +Sheridan/M +Sheriff/M +sheriff/SM +sheriffdom/SM +Sheriffhales/M +sheriffship/MS +Sheringham/M +Sherington/M +Sherkat/M +Sherlock/M +Sherman/M +Shermanbury/M +Shermer/M +Shernborne/M +Sherpa/SM +Sherratt/M +Sherri/M +Sherrie/M +Sherrifhales/M +Sherrington/M +sherry/MS +Sherston/M +Sherwin/M +Sherwood/M +Sheryl/M +Shetland/SMr +Shetlandic/M +Shettleston/M +Shevardnadze/M +Shevchenko/M +Shevington/M +Sheviock/M +Shewan/M +shewbread/SM +Shewhart/M +shewn +shh +Shi'ite +Shi/M +Shia/M +Shiah/M +shiatsu/M Noun: uncountable +Shiawassee/M +Shibata/M +shibboleth/MS +Shibuya/M +shidoshi/M +Shiel/M +shield/SDMGp +Shieldaig/M +Shieldhill/M +Shields/M +Shifford/M +Shifnal/M +shift/MRzZ2SDG +shiftless/YP +shifty/T +Shigella +shigella/M +shigellae/M +Shigo/M +shiitake/SM +Shiite/SM +Shijiazhuang/M +shikari/SM +Shikoku/M +Shilbotel/M +Shildon/M +shillelagh/MS +shilling/SM +Shillingford/M +Shillingstone/M +Shillington/M +Shillong/M +shilly-shally/SGDR +shilly-shallyer/SM +Shiloh/M +Shilton/M +shim/DZGMS +Shimane/M +Shimkin/M +Shimla/M +shimmer/MdSZ +shimmy/MDSG +Shimpling/M +Shimplingthorne/M +shin-bone/SM +shin-pad/SM +shin/rSdDGkM +Shinano/M +shinbone/SM +Shincheonji/M +Shincliffe/M +shindig/SM +shindy/MS +shine/SeG +Shinewater/M +Shinfield/M +Shingay-cum-Wendy/M +Shingay/M +Shingham/M +shingle/GSMDY +Shinichi/M +Shinji/M +Shinkansen +Shinto/SM +Shintoism/M +Shintoist/MS +shinty/SM +shiny/TP +Shinzo/M +ship-breaker/MS +ship-broker/SM +ship-fever/M Noun: uncountable +ship-rigged +ship/D4ALGS +ship/Mp +shipboard/SM +shipborne +Shipbourne/M +shipbroker/SM +shipbuilder/MS +shipbuilding/M +Shipdham/M +Shipham/M +Shiplake/M +shiplap/DGS +Shipley/M +shipload/SM +shipman/M +shipmaster/SM +shipmate/MS +Shipmeadow/M +shipmen/M +shipowner/MS +shippable +shippen/SM +shipper/SM +shipping/M +shippon/SM +shipshape/Y +Shipston-on-Stour/M +Shipston/M +Shipton-on-Cherwell/M +Shipton-under-Wychwood/M +Shipton/M +shipwide +shipworm/SM +shipwreck/GMDS +shipwright/SM +shipyard/MS +shiralee/SM +Shiraz/M +Shirburn/M +Shire/M +shire/SM +Shirebrook/M +Shirehampton/M +Shirenewton/M +Shireoaks/M +Shireshead/M +shirk/GSRD +Shirland/M +Shirley/M +shirr/GDS +shirt-front/S +shirt-tail/SM +shirt/DpSMGz +shirting/SM +shirtlifter/SM +shirtmaker/MS +shirtsleeve/MSD +shirtwaister/MS +shirty/TP +Shirwell/M +shisha/SM +shishito/SM +Shiskine/M +shit-faced/! +shit/pDZGSMR! +shitbag/SM! +shite/SM! +shitehawk/SM! +shitface/SMD! +shithead/SM! +shithole/SM! +shithouse/SM! +shitload/SM! +Shito-ryu/M +Shito-Ryu/M +shitstorm/SM! +shitty/T! +shitwork/M! +shiur/SM +shiurim/M Plural of shiur +Shiva/M +shiva/SM +shivah/SM +Shivaism/M +Shivaite/M +Shivaji/M +Shively/M +shiver/dkZSr +Shixing/M +Shizuoka/M +Shleifer/M +shoal/SMGD +Shoals/M +Shobdon/M +Shobnall/M +Shobrooke/M +Shoby/M +shock/GRSDkM +shockingness/M Noun: uncountable +Shocklach/M +Shockley/M +shockproof +shod/zZ2 +shoddy/T +shoe/pGSM +shoebill/SM +shoeblack/SM +shoebox/SM +Shoebury/M +shoehorn/SDGM +shoelace/MS +shoemaker/SM +shoemaking/M Noun: uncountable +shoestring/SM +shoetree/SM +shofar/SM +shofroth/M Plural of shofar +shogun/SM +shogunate/SM +Shoji/M +Sholden/M +Sholes/M +Shona/SM +shone/e +shonkinite/SM +shoo/SDG +shook +shoot-out/SM +shoot/fGSc +shootable +shooter/SM +shooting-box/SM +shooting-brake +shooting-break +shooting-coat/S +shooting-jacket/SM +shooting-range +shooting-stick/SM +shooting/SM +shop-boy/MS +shop-floor +shop-girl/SM +shop-soiled +shop-window/SM +shop-worn +shop/GRDSM +shopaholic/SM +shopfitter/SM +shopfitting/M Noun: uncountable +shopfront/SM +shophouse/SM +shopkeeper/SM +shopkeeping/M Noun: uncountable +Shopland/M +shoplift/DRSG +shoplifting/M +shopman/M +shopmen/M +shopping/M +shoppy +shopwalker/SM +shopworker/SM +Shor/M +Shore/M +shore/SMDGp +shorebird/SM +Shoreditch/M +Shoreham/M +shorelark/SM +Shoreline/M +shoreline/SM +Shores/M +shoreside +Shoreview/M +shoreward/M +shoreweed/SM +Shorewood/M +shorn/U +Shorne/M +short-change/GSD +short-circuit/Sd +short-handed +short-list/DG +short-lived +short-range +short-sighted/YP +short-staffed +short-tempered +short-term +short-termism +short-winded +short/PGDTSZY~ +shortage/MS +shortboard/SMGr +shortbread/SM +shortcake/MS +shortcoming/SM +shortcrust/M +shortcut/SM +shorten/dJS +shortening/M +shortfall/MS +shorthair/SM +Shorthampton/M +shorthand/SM +shorthold +shorthorn/MS +shortie/SM +Shortland/M +Shortlees/M +shortlist/SDG +shortlistee/SM +shortstop/MS +shortwave/SM +shorty/M +Shorwell/M +Shoscombe/M +Shoshone/SM +shoshonite/SM +Shostak/M +Shostakovich/M +Shostakovitch/M +shot-put +shot/DMS +Shotaro/M +shotcrete/SM +Shotesham/M +Shotgate/M +shotgun/MS +Shotley/M +Shotokai/M +Shotokan/M +Shotover/M +shotproof +Shottesbrooke/M +Shotteswell/M +Shottisham/M +Shottle/M +Shotton/M +Shotts/M +Shottswell/M +Shotwick/M +should've +should/R +shoulder-high +shoulder-length +shoulder/d +Shouldham/M +shouldn't +shouldn't've +shouldst Archaic, but doesn't cause FPs +shout/eDGS +shout/MrZ +shove/DSG +shovel/MDR6GS +shovelboard/SM +shovelful/SM +shovelhead/SM +shovelnose/SM +shovelware/M Noun: uncountable +show-off/SM +show-piece/MS +show-place/MS +show/MGJmR2zSDZ +showband/SM +showbiz/MZ +showboat/GS +showcard/SM +showcase/GDSM +showdown/SM +shower/Zd +showerproof/DG +showgirl/MS +showing/M +showjump/SGDR +showmanship/M +shown +showroom/SMr +showrooming/M +showstopper/SM +showstopping +showtime/SM +showy/TP +Shrage/M +shrank/K +shrapnel/M +Shrawardine/M +Shrawley/M +shred/DRSMG +Shrek/SM +Shreveport/M +shrew/MS +shrewd/TYP +shrewish/YP +Shrewley/M +Shrewsbury/M +Shrewton/M +Shreya/M +shriek/GMSRDk +shrieval +shrievalty/SM +shrift/MS +Shrigley/M +shrike/SM +shrill/GSTPDY +shrimp/SMGr +shrine/MSGD +Shriner/SM +shrink-wrap/SGD +shrink/KSG +shrinkable +shrinkage/SM +shrinker/SM +shrinking/Y +shrive/GS +shrivel/GSD +shriven +Shrivenham/M +Shropham/M +Shropshire/M +Shroton/M +shroud/GSMDp +Shrove/M +Shrovetide/M +shrub/ZMS +shrubbery/MS +shrubby/T +shrubland/SM +shrug/SDG +shrunk +shrunken +shtick/SM +shtum/SGD +Shuang/M +shubunkin/SM +Shuch/M +Shuckburgh/M +shudder/ZSdk +Shudy/M +shuffle-board +shuffle/SGDr +shuffleboard/SM +shufti/SM +Shukaletuda/M +shun/DGS +Shuna/M +Shunammite/SM +shunt/DSGr +Shurdington/M +shuriken/SM +Shusaku/M +shush/DSG +Shustoke/M +Shuswap/M +shut-down/SM +shut-eye/M Noun: uncountable +shut-off/SM +shut-out +shut/RGS +shutdown/SM +Shute/M +Shutford/M +Shutlanger/M +shutout/SM +shutter/dp +Shutterstock/M +Shuttington/M +shuttle/MGSD +shuttlecock/MS +Shuttleworth/M +shy/DTSG +shyer +shyest +Shylock/MS +shyly +shyness/M +shyster/SM +Si/M +sialagogue/S +sialic +Siam/M +siamang/S +Siamese/M +Sian/M +Siar/M +Sib/M +sib/S +Sibbaldbie/M +Sibbertoft/M +Sibdon/M +Sibelius/M +Siberia/M +Siberian/SM +Sibertswold/M +Sibford/M +sibia/SM +sibilance/MZ +sibilancy/M +sibilant/YSM +sibilate/DGS +sibilation/S +Sible/M +Sibley/M +sibling/MS +Sibsey/M +sibship/S +Sibson-cum-Stibbington/M +Sibson/M +Sibthorpe/M +Sibton/M +Sibyl/M +sibyl/SM +Sibylline/M +sic/TDG +Sicca/M +siccative/SM +Sicco/M +siccus/M +sice/S +Sichuan/M +Sicilian/SM +Siciliana/M +Sicily/M +sick-benefit/SM +sick/YP~ +sickbay/SM +sickbed/SM +sicken/dkS +sickie/MS +sickle-bill +sickle-cell +sickle-feather +sickle/2SGM +sicklebill/S +Sicklinghall/M +sickly/T +sicko/SM +sickroom/MS +Sid/M +sidage +Sidbury/M +Siddartha/M +siddha/SM +Siddhartha/M +Siddington/M +side's/f +side-arms +side-band/SM +side-bet +side-by-side +side-car/MS +side-chapel +side-door +side-drum/SM +side-on +side-saddle +side-slip/SGD +side-splitting +side-street/SM +side-table/S +side-trip +side/ISAKef +Side/M +side/p +sideage +sidearm/MSGDR +sideband/SM +sidebar/MS +sideboard/SM +sideburn/SM +sidecar/SM +sided/Y +sidedness +sidekick/MS +sidelight/MS +sideline/DSM +sidelong +sidereal +Siderian +siderite/SM +sideromelane/SM +siderostat/SMW +sideshow/SM +sideshowman/M +sideshowmen/M +sidesman/M +sidesmen/M +sidestep/GDSRM +Sidestrand/M +sidestroke/SDMG +sidesway +sideswipe/DMGS +sidetrack/SGDM +sidewall/SM +sideward/S +sideways +sidewinder/SM +sidewise +siding/SM +Sidious/M +sidle/DSGM +Sidlesham/M +Sidlow/M +Sidmouth/M +Sidney/M +SIDS/M +Sidwell/M +Sieg Sieg Heil +Siegal/M +siege/SM +Siegel/M +Siegfried/M +siemens +Siemens/M +Siena/M +sienna/SM +Sierra/M +sierra/SM +siesta/SM +sieve/SGDM +Sievers/M +sievert/SM +sifaka/SM +Siffredi/M +sift/SGDr +sifting/SMY +sig/SM +Sigglesthorne/M +SIGGRAPH/M +sigh/DSGM +sight-line +sight-read/RG +sight/cMSI +sight/Dhr +sightedness/M Noun: uncountable +Sighthill/M +sighting/SM +sightless/Y +sightlessness/M Noun: uncountable +sightliness/M Noun: uncountable +sightly/TP +sightsee/GR +sightworthy +sigil/SM +sigla/M +siglum/M +sigma/M +sigmoid/SM +sigmoidoscope/ZWSM +Sigmund/M +sign-off/SM +sign-up/SM +sign/FRSCAGD +sign/M +signage +signal-to-noise +signal/MqRQGDmSY +Signal/M +signary/SM +signatory/SM +signature/MS +signboard/MS +signed/fU +signet-ring/SM +Signet/M +signet/MS +signifiant +significance/ISM +significant/IY +significative +signifié +signifieds +signifier/SM +signify/nNDSG +signing/SM +signor/MF +signora/M +signori/M +signoria/OM +signorina/SM +Signorini/M +signory/SM +signpost/DGMS +signum/SM +signwriter/SM +signwriting/M Noun: uncountable +Sigrid/M +Sigston/M +Sihanouk/M +sika/MS +Sikeston/M +Sikh/SM +Sikhism/SM +Sikkema/M +Sikkim/M +Sikking/M +Sikora/M +Sikorska/M +silage/SM +silane/SM +Silas/M +Silberkleit/M +Silbury/M +Silchester/M +Sileby/M +silence/SRMGD +silent/Y +Silesia/M +Silesian/SM +silhouette/GDSM +Silian/M +silica/SM +silicate/MS +siliceous +siliciclastic +silicide/SM +silicify/SGDN +silicious +silico +silicon/M Noun: usually uncountable +silicone/SM +silicoses +silicosis/M +silicotic +silk-screen/SM +Silk/M +silk/SzZ2M +silken +silkscreen/SMGD +Silkstone/M +Silkwood/M +silkworm/SM +silky/TP +sill/2YSM +sillage/SM +Sillars/M +Sillitoe/M +Silloth-on-Solway/M +Silloth/M +silly/TPSM +silo/SM +Siloam/M +siloxane/SM +Silpho/M +Silsden/M +Silsoe/M +silt/MDGSZ +siltation/M Noun: usually uncountable +Silton/M +siltstone/SM +silty/T +Silurian +Silva/M +Silvanus/M +Silveira/M +silver/dMZS2p +Silver/M +silverback/SM +silverberry/SM +Silverbridge/M +Silverdale/M +silvereye/SM +silverfish/SM +silverise/SGD +Silverley/M +Silverlight +Silverman/M +silverpoint/M Noun: uncountable +silversmith/SMG +Silverstein/M +Silverstone/M +Silverstream/M +Silverton/M +silverware/MS +silverweed/SM +silvery/T +Silvester/M +Silvia/M +silviculture/3O^ +Silvington/M +Silvio/M +Silwy/M +SIM/S +Simak/M +SimAnt/M +simazine/M Noun: usually uncountable +Simbel/M +SimCity/M +Simcoe/M +SIMD/M Acronym of single instruction, multiple data. +SimEarth/M +Simenon/M +Siméon/M +Simeon/M +simethicone/M Noun: uncountable +Simi/M +simian/SM +similar/EY +similarity/ESM +simile/MS +similitude/ME +Simla/M +Simmel/M +simmen +simmer/Sd +Simmonds/M +Simmons/M +Simms/M +simnel/SM +Simões/M +simon +simon-pure +Simon/M +Simonburn/M +Simone/M +Simonetti/M +simoniacal +Simonides/M +Simons/M +Simonstone/M +Simonswood/M +simony/MS +simoom/SM +simoon/SM +simpatico +simper/dS +simple-minded/YP +simple/TY +simpleness/M Noun: usually uncountable +Simpler/M +simpleton/SM +simplex/SM +simplicial +simplicity/MS +simplifier/SM +simplify/ncGDS +simplism/SM +simplistic/Y +Simpson/MS +Simpsonville/M +Simsbury/M +Simson/M +SIMULA/M +simulacra/M +simulacrum/SM +simulant/SM +simulate/EnSGD +simulative +simulator/MES +simulcast/SM +simultaneity/MS +simultaneous/YP +simurg/SM +simvastatin/SM +sin/pRSj6GDM +Sina/M +Sinai/M +Sinaitic +Sinanthropus/M +Sinatra/M +Sinbad/M +since +sincere/TYP +sincerity/MSI +sinciput/SM +Sinclair/M +Sindbad/M +Sinderby/M +Sindhi/M +sine/MS +sinecure/MS3 +sinecurism/M Noun: usually uncountable +sinew/MZSp +Sinfin/M +sinfonia/M +sinfonietta/SM +sinfoniette/M +sinful/P +sing-along +sing-song +sing/RS7GDk +Singapore/M +Singaporean/SM +singe/SM +singeing +singer-songwriter/SM +Singer/SM +Singh/M +Singhalese/M +single-decker/SM +single-handed/Y +single-line +single-minded +single-seater/SM +single/PGDSM +singlet/SM +Singleton/M +singleton/MS +singsong/DMS +singular/qSY +singularity/MS +sinh/SM +Sinhala/M +Sinhalese/M +sinicus Latin +sinister/YP +sinistral/Y +sinistrality/SM +sink/RG7S +sinkage/M +sinkhole/SM +Sinkkonen/M +sinless/YP +Sinn/M +sinnet/SM +Sinnington/M +Sino-American +Sino-Japanese +Sino-Soviet +Sinologue +Sinology/3wM +Sinope/M +sinter/Md +sinuate +sinuosity/SM +sinuous/YP +sinus/SM +sinusitis/M +sinusoid/oMSO +Siobhan/M +Sion/M +Siouan/SM +Sioux/M +sip/RSDGM +sipe/SM +siphon/dMSWO +siphonage/SM +Siphonophora +siphonophore/SM +siphuncle/SM +sippet/SM +Sipuncula Taxonomic phylum +sipunculan/SM +sipunculid/SM +Sipunculus Taxonomic genus +Siqi/M +sir/dMS +Sirach/M +Siracusa/M +sirdar/SM +sirdarship/SM +sire/CDGS +sire/M +siren/SM +Sirenia Taxonomic order +sirenian/SM +Sirius/M +sirloin/SM +sirocco/MS +Sirota/M +sirrah/SM +Sirtis/M +sis/Z +sisal/SM +siskin/SM +Siskiyou/M +Sisko/M +Sisland/M +sissified +Sissinghurst/M +sissoo/SM +sissy/PTSM~ +sister-in-law/M +sister/MAS +sisterhood/SM +sisterly/P +sisters-in-law/M +Sistine/M +Siston/M +Sisyphean +Sisyphus/M +sit-in/SM +sit/RGSJM +sitagliptin/M Noun: uncountable +Sitakunda/M +sitar/M3S +sitcom/SM +site/GDSM +sitemap/SM +sitfast/MS +Sith/M +Sithney/M +Sithole/M +Sitka/M +Sitlington/M +sitophobia/M Noun: uncountable +sitophobic/SM +sitrep/SM +sitting/SMY +Sittingbourne/M +situ/M +situate/SGnD +situation/3 +situational/Y +Sitwell/M +Siva/M +Sivaism/M +Sivaite/MS +Sivaji/M +Sivonen/M +Siwalik +six-fold +six-pack/S +six-shooter/S +six/HSMR +sixain/S +Sixhills/M +Sixmilecross/M +sixpence/SM +Sixpenny/M +sixpenny/SM +sixteen/HM +sixteen/S +sixth-former/S +sixth/Y +Sixtus +sixty-eight/H +sixty-first/S +sixty-five/H +sixty-four/H +sixty-nine/H +sixty-one +sixty-onefold +sixty-second/S +sixty-seven/H +sixty-six/H +sixty-three/H +sixty-two +sixty-twofold +sixty/HMS +sixtysomething/SM +sizar/S +sizarship/S +size/AD7GS +size/M +sized/fc +sizer/MS +Sizewell/M +sizzle/DSGR +Sjogren/M +Skagerrak/M +Skagit/M +Skamania/M +Skanda/M +skank/SGDr +Skapinker/M +Skara +skarn/SM +skate/GRSMD +skateboard/RGMSD +skatepark/SM +Skathi/M +skating-rink +Skea/M +skean/SM +skedaddle/SGD +Skeeby/M +Skeena-Queen/M +skeet/SM +Skeffington/M +Skeffling/M +Skegby/M +Skegness/M +skein/MS +Skeith/M +Skelbrooke/M +Skelding/M +skeletal/Y +skeleton/MS +Skellingthorpe/M +Skelmersdale/M +Skelmorlie/M +Skelsmergh/M +skelter/Sd +Skelton-on-Ure/M +Skelton/M +Skelwith/M +Skendleby/M +skene +Skene/M +Skenfrith/M +skep/S +Skerlev/M +Skerne/M +Skerry/M +skerry/SM +Skerton/M +sketch/SzRMDGZ2 +sketchbook/SM +sketchpad/SM +sketchy/PT +Sketty/M +skeuomorph/SMW +skeuomorphism/SM +skew-eyed +skew/DPRGS +skewback/S +skewbald/SM +skewer/d +Skeyton/M +ski'd +ski-jump/RGD +ski-lift/SM +ski-plane/SM +ski/GSM +skibob/SM +skid/DGSM +Skidbrooke/M +Skidby/M +Skiddaw/M +Skidmore/M +skiff/MS +skijorer/SM +skijoring +skilfish/SM +skilful/YP +Skilgate/M +skill/MSDp +skillet/MS +Skillington/M +skim/RDSGM +skimmia/SM +skimp/zGZSD +skimpy/PT +skin-dive/RG +skin-tight +skin/6MpZDGS +skincare/M Noun: uncountable +skinflint/MS +skinfold/SM +skinhead/MS +skink/S +Skinnand/M +skinner/SM +Skinner/SM +skinny/PTSM +skint +skintight +skip/RSDGM +skipjack/SM +Skipness/M +skippable +Skippack/M +skipper/d +skippet/SM +Skippy/M +Skipsea/M +Skipton-on-Swale/M +Skipton/M +Skipwith/M +Skirbeck/M +skirl/DGS +Skirlaugh/M +Skirling/M +skirmish/DSRGM +Skirpenbeck/M +skirr/SGDJ +skirret/SM +Skirrid/M +skirt/SDGM +skirting/SM +skit/SM +skitter/dSZ +skittish/YP +skittle/MS +skive/SGDR +skivvy/DMSG +skiwear/M Noun: uncountable +Skokie/M +skol +Skopje/M +Skrenta/M +skua/SM +skulduggery/SM +skulk/RGSDM +skull/SM +skullcap/MSD +skunk/SM +skunkweed/SM +skunkworks +Skutterskelfe/M +skutterudite/SM +sky-blue +sky-high +sky-writer/SM +sky-writing/SM +sky/S7RGDZM +skybridge/SM +skydive/SRDG +skydiving/M +Skye/M +skyer +skyhook/SM +skyjack/RJSGD +Skylab/M +Skylake/M +skylark/GDSM +skyless +skylight/MS +skyline/MS +Skype/M +Skyrms/M +skyrocket/SdM +skysail/SM +skyscape/SM +skyscraper/MS +Skywalker/M +skyward/S +skywatch/SGDR +skyway/SM +slab/MSGD +slack/DGTRPYSM +slacken/dS +Slackware/M +Slade/M +slag/SMDG +slaggy +Slagsvold/M +Slaidburn/M +slain +Slains/M +Slaithwaite/M +slake/SGD +Slaley/M +slalom/MS +slam/RGSD +Slamannan/M +slander/dSMr +slanderous/Y +slang/MGZ +slanginess/M +slanguage/SM +slangy/TY +slant/GDS +slantwise +slap-happy +slap-up +slap/MGSDR +slapdash +slapstick/SM +Slapton/M +slash/SDGRM +Slashdot +slat/MDdGS +slate/MSZ +Slater/M +slater/S +slather/Sd +Slatkin/M +slattern/YSM +slatternliness/M +Slaugham/M +Slaughter/M +slaughter/SdrM +Slaughterford/M +slaughterhouse/SM +slaughterman/M +slaughterous +Slav/SM +Slava/M +slave-bangle +slave-born +slave-drive/R +slave-driven +slave-drove +slave-trade/R +slave/SRMyDG +slaveholder/SM +slaveholding/SM +slaver/rdkJ +slavery/SM +slavey/SM +Slavic/M +slavies +slavish/YP +Slavism/SM +Slavonian/SM +Slavonic/MY +Slavophile/SM +Slawston/M +slay/RSGDM +Sleaford/M +Sleagill/M +Sleat/M +sleaze/ZSGDM +sleazy/PTY +Slebech/M +sled/SGDM +sledge/SGDM +sledgehammer/SM +Sledmere/M +sleek/TSGYDP +sleep/R2MZGSzp +sleepless/YP +sleepover/SM +sleepwalk/RDGSJM +sleepwear/M Noun: uncountable +sleepy/PT +sleepyhead/SM +sleet/GZDSM +sleety/T +sleeve/SMGDp +sleeving/M +sleigh/SRMDG +sleight/SM +Sleipnir/M +Slemmer/M +slender/QPY +slenderer +slenderest +Sleningford/M +Slepian/M +slept/c +sleuth/GMDS +slew/GDS +sley/MS +slice/RMDSG +sliceable +slick/YDPGSTM +slid/r +slide/SGM +Slidell/M +Slieve/M +slight/MPGYTDSk~ +Sligo/M +slim/DRSGYTPM +Slimani/M +Slimbridge/M +slime/2MSGDZ +slimline +slimy/T +Slindon/M +Slinfold/M +sling/MGSr +Slingsby/M +slingshot/SMGD +slink/GZSM +slinky/T +sliotair/M +sliotar/SM +slip-on/SM +Slip/M +slip/MSDRG +slipcase/SM +slipknot/SM +slippage/SM +slipper/2Z +slippered +slippery/TY +slippier +slippiest +slippiness/M Noun: uncountable +slippy +slipshod/Y +slipshodness/M Noun: uncountable +slipstream/MGDS +Slipton/M +slipway/MS +slit/MRSDG +slither/dSZM +sliver/dSM +slivovitz/SM +Sloan/M +Sloane/M +slob/SM +slobber/ZdS +Slocum/M +sloe/SM +slog/SDGMR +slogan/SM +sloganeer/SGDM +sloka/SM +Sloley/M +sloop/SM +sloosh/SGDM +sloot/SM +Sloothby/M +slop/Gz2SDZd +slope/SM +sloppy/TP +slopy/T +slosh/DGSM +sloshy/T +slot/DGSM +sloth/S6Mj +slothful/P +slouch/DSGZM +slouchy/T +Slough/M +slough/SMGD +sloughy +Slovak/SM +Slovakia/M +Slovakian/SM +sloven/YSM +Slovene/SM +Slovenia/M +Slovenian/SM +slovenly/TP +slow/YGDPST~ +slowcoach/MS +slowdown/MS +SLR +slub/SGDM +slubberingly +sludge/ZM +sludgy/T +slue/DSGM +slug/RSGDM +slugabed/MS +sluggard/SM +sluggish/PY +sluice/DMSG +sluit/SM +slum/SGZMD +slumber/MdSr +slumberous/Y +slumberousness/M Noun: uncountable +slumbrous/Y +slumbrousness/M Noun: uncountable +slumdog/SM +slummer/SM +slummy/T +slump/GDSM +slung/U +slunk +slur/GDSZM +slurp/DGSZRM +slurry/SM +slush/S2DGMZ +slushy/PT +Slusser/M +slut/SM +sluttish/P +slutty/T +sly +slyboots/M +slyer +slyest +slyly +Slym/M +Slyne-with-Hest/M +slyness/SM +slype/SM +Sm +smack/GSMDR +smackeroo/SM +smackhead/SM +Smailholm/M +Smale/M +small-minded +small-mindedness +small-scale +small-time +small-town +small/TS~ +smallage/M Noun: uncountable +Smallbridge/M +Smallburgh/M +Smalley/M +smallgoods +smallholder/SM +smallholding/SM +smallness/SM +smallpox/M +Smallville/M +Smallwood/M +smalt/SM +Smannell/M +Smarden/M +smarm/DGSM +smarmy/T +smart/eDSG +smart/kY~ +smartarse/SM +smarten/Sd +smarter +smartest +smartism/M +smartness/SM +smartphone/SM +smartwatch/SM +smarty-pants +smarty/SM +smash-and-grab +smash-up/SM +smash/RkSGDM +Smathers/M +smatter/MSr +smattering/SM +smaze/M Noun: usually uncountable +Smealy/M +smear/SGDZrM +Smeaton/M +smectite/SM +Smedberg/M +Smedley/M +Smeeth/M +Smeeton/M +smegma/WSM +smell/Y2GS7DrM +smelly/PTSM +smelt/RDGS +smeltery/MS +Smerrill/M +SMEs Small & Medium Enterprises +Smetana/M +Smethcott/M +Smethwick/M +smew/S +smidgen/MS +smidgeon/SM +smidgin/S +smilax/MS +smile/GDMkSr +smiley/MS +smiling/UY +smily/TSM +smirch/DSGM +smirk/GDMSk +Smirnoff/M +Smisby/M +smite/SGRM +Smith/M +smith/ZSGDMy +Smithee/M +smithereen/SGD +Smithers/M +smithery/SM +Smithfield/M +Smithson/M +Smithsonian/M +Smithton/M +Smithtown/M +Smithville/M +smithy/SM +smitten +smock/MSGDJ +smog/SMZ +smoggy/T +smokable +smoke-dried +smoke-room +smoke-stone +smoke/SR2GZDpM7 +smokelessly +smokescreen/SM +smokestack/SM +smokey +smoko/SM +smoky/TY +Smolensky/M +smolt/SM +smooch/rGSDM +smoochy/T +Smoot/M +smooth-talk/SGDr +smooth-tongued +smooth/7DPTSRYG~ +smoothen/Sd +smoothie/MS +smorgasbord/SM +smorzando +smote +smother/Sd +smoulder/Skd +SMP/SM +smriti/MS +SMS/SGD +SMSA/SM +SMTP/M Initialism of Simple Mail Transfer Protocol +smudge/SpDGZM +smudgy/TYP +smug/PTY +smuggle/RSGJD +smut/2GDZSM +smutty/TPY +Smyrna/M +Smyth/M +Sn +snack/DSGM +snaffle/GDSM +snafu/MS +snag/GMDS +snaggy/T +snail/SM +Snailwell/M +Snainton/M +Snaith/M +snake/GZDMS +snakebite/SM +snakefish/SM +snakelike +snakeroot/SM +snakeskin/SM +snakiness/M Noun: usually uncountable +snaky/TY +Snap/M +snap/ZSR2GDzM +Snapchat/SGD +snapdragon/MS +Snape/M +snapline/SM +snappable +snapping/Y +snappish/YP +snappy/TP +snapshot/MS +snare/GDMSR +Snarestone/M +Snarford/M +Snargate/M +snark/SGDM +snarkily +snarl-up/SM +snarl/SDGkYMr +snarly/T +snash/M +snatch/GDRSZM +Snave/M +snazzy/TYP +Snead/M +sneak/zDkZSGM +sneaky/TP +Sneaton/M +sneck/DGS +Snedecor/M +Sneed/M +sneer/DSkGMR +sneeze/SGDRM +sneezeweed/SM +sneezewort/SM +sneezy/T +Sneinton/M +Snell/MS +Snelland/M +Snellville/M +Snelson/M +Snelston/M +Snetterton/M +Snettisham/M +snib/DGSM +Snibstone/M +snick/SGDM +snicker/SdM +Snickers/M +snide/MYTPS +Snider/M +sniff/MDGRSk +sniffier +sniffiest +sniffiness/M +sniffle/SGDYRM +sniffy/Y +snifter/SM +snigger/Sdk +sniggerer/MS +sniggle/DGS +snip/DrGZSM +snipe/DSGM +snippet/MSZ +snippy/T +snitch/GDSM +Snitterby/M +Snitterfield/M +snivel/RSDGJM +Snizort/M +snob/SMZ +snobbery/SM +snobbish/YP +snobby/T +Snodbury/M +Snodgrass/M +Snodland/M +Snodsbury/M +snoek/S +snog/SGDRM +Snohomish/M +snollygoster/SM +snood/SM +snook/SMR +snooker/d +snoop/ZSRDGM +snooperscope/SM +Snoopy/M +snoopy/T +snoot/SzMZ +snooty/TP +snooze/SGDRM +snoozefest/SM +snoozy/T +Snopek/M +Snoqualmie/M +snore/GDRSM +Snoreham/M +Snoring/M +snorkel/RMSDG +snort/GRDSM +snot/zSM +snotty/TP +snout/MDSZ +Snover/M +snow-capped +snow-white +Snow/SM +snow/ZmD2MGSp +snowball/GDSM +snowberry/SM +snowblade/SMrG +snowblink/M Noun: uncountable +snowblower/SM +snowboard/GRDSM +snowbound +snowcap/SM +snowcat/SM +Snowden/M +Snowdon/M +Snowdonia/M +snowdrift/SM +snowdrop/MS +snowfall/MS +snowfield/SM +snowflake/MS +snowkiter/SM +snowkiting/M Noun: uncountable +snowline/SM +Snowman/M +Snowmen/M +snowmobile/RSMGD +snowpack/SM +snowplough/DSMG +snowscape/SM +Snowshill/M +snowshoe/SGDMR +snowstorm/SM +snowsuit/SM +Snowtown/M +snowy/T +SNP/M +Snr. +SNR/SM +snub-nosed +snub/DGSRM +snuff/RYGSDM +snuffbox/MS +snuffle/GSDRM +snuffy +snug/SYPT +snuggery/SM +snuggle/GSD +snuggler/SM +Snyder/M +so-and-so/M +so-called +so/M +soak/DGJSRM +soakage/MS +Soames/M +soap/2DMZGSp +soapbox/SM +soapland/SM +soapstone/SM +soapsuds +soapy/TY +soar/DGkSR +Soar/M +soaraway +Soares/M +Soay/M +sob/SDG +sobbing/Y +sober/YdkPS +soberer +soberest +Soberton/M +sobriety/ISM +sobriquet/MS +Soc. +Socastee/M +soccer/M +Socha/M +sociability/M +sociable/EU +sociable/Y +social-psychological +social/Qs3SqY +Socialism/M +socialism/MS +Socialist/MS +socialistic/Y +socialite/ZSM +sociality/SM +societal +society/oSM +Socinian/SM +Socinianise/SGD +Socinianism/M +Socinianistic +socio +socio-economic/YS +sociobiological/Y +sociobiology/M3 +sociocultural/Y +sociocybernetics +sociodrama/W +sociodramatist/SM +sociodynamic/S +socioecology/wW3SM +socioeconomic/S +sociogeneses +sociogenesis +sociogenetic/Y +sociogeny/WM +sociogram/SM +sociography/WSM +sociogroup/M +sociolatry/M +sociolect/SMO +sociolegal +sociolinguist/SM +sociolinguistic/SY +sociology/13MwS +sociometrist/SM +sociometry/MW1 +sociopath/SMWZ +sociopolitical +sociosphere/MS +sociostatic +sociotechnic/SO +sock/DMSG +Sock/M +Sockbridge/M +Sockburn/M +socket/dMS +sockeye/SM +socle/SM +Socon/M +Socorro/M +Socotra/M +Socrates/M +Socratic/SMY +sod/MDSGW +soda/SM +sodality/MS +sodamide/M Noun: usually uncountable +Sodbury/M +sodden/SYP +soddened +soddening +Soddy-Daisy/M +Soddy/M +sodium/M Noun: usually uncountable +sodocene +Sodom/M +sodomise/SGD +sodomite/SM +sodomy/SM +Sodor/M +SOE/SM nitialism of state owned enterprise +soebak/M +soever +sofa/SM +soffit/SM +Sofia/M +Sofocleous/M +soft-boiled +soft-core +soft-headed/P +soft-hearted/P +soft-paste +soft-pedal/SGD +soft-sell +soft-spoken +soft/cP +soft/Y~ +softa/SM +softback/SM +softball/SM +softcover/SM +soften/drS +softer +softest +softie/M +softly-softly +Softpedia/M +softphone/SM +softshell/SM +software/M Noun: uncountable +softwood/MS +softy/MS +Sögel/M +soggy/TYP +Soham/M +Soho/M +soi +soi-disant +soigné +soignée +soil/GMDS +soirée/MS +soiree/SM +sojourn/RMDGS +soke/SM +Sokolowski/M +sol-fa +Sol/M +sol/SM +solace/GDMS +solan/SM +Solana/M +solanaceous +Solander/M +solander/SM +Solano/M +solanum/SM +Solapur/M +solar +solaria/M +Solaris/M +solarise/DGSn +solarium/M +solatia/M +solatium/M +sold/AfecU +soldanella/MS +solder/SA +soldered +solderer/SM +soldering +soldier/DYSGZM +Soldier/M +soldiership +soldiery/SM +sole/FADGS +sole/MY +solecism/SM +solecist/WSM +Soledad/M +solemn/qQTY +solemness +solemnity/MS +solenoid/SMO +soleus +solfatara/SM +Solheim/M +solicit/dnS +solicited +solicitor/MS +solicitous/YP +solicitude/MS +solid-state +solid/YSMP +solidarity/SM +solider +solidest +solidi/M +solidify/DnGS +solidity/SM +solidus/M +solifluction/SM +Solihull/M +soliloquies +soliloquise/SDG +soliloquist/SM +soliloquy/M +solipsism/MO +solipsist/SMW1 +Solis/M +solitaire/SM +solitary/SYP +solitude/SM +Sollars/M +Sollas/M +Sollers/M +Sollershope/M +Solney/M +solo/GDMS +soloist/SM +Solomon/MW +Solon/M +Solostar/M +Solothurn/M +Solow/M +solstice/SM +solstitial +solubilise/SGDN +solubility/MI +soluble/EI +solus +solute/AE +solute/MS +solution/ASME +Solutrean +Solva/M +solvability/SM +solvable/IU +solvableness/M Noun: uncountable +solvate/DGSn +solve/EDRASG +solvency/ISM +solvent/SIM +Solway/M +Solzhenitsyn/M +soma/M +Somali/SM +Somalia/M +Somalian/SM +Somaliland +soman/M +somata/1M +somatise/SGDN +somatosensory +somatostatin/SM +somatotrophin/SM +somatotype/SMG +somatropin/M Noun: uncountable +Somborne/M +sombre/YPM +sombrero/SM +some/W +somebody'll +somebody/SM +someday +somehow +someone'll +someone/M +Somerby/M +Somercotes/M +Somerfield/M +Somerford/M +Somerhalder/M +Somerleyton/M +Somers/M +Somersal/M +somersault/GSMD +Somersby/M +Somerset/M +Somersham/M +Somersworth/M +Somerton/M +Somerville/M +something/M +sometime/S +somewhat +somewhen +somewhere +somite/SMW +Somme/M +sommelier/SM +Sommerfeld/M +somnambulant +somnambulism/SM +somnambulist/SM +somniferous +somnolence/M Noun: usually uncountable +somnolency/M +somnolent/Y +Somoza/M +Sompting/M +son-in-law +son/MW1SZp +sonancy/SM +sonant/SM +sonar/SM +sonata/SM +sonatina/SM +sonde/MS +Sondheim/M +Sondra/M +sone/SM +Song-thaek/M +song/SM6p +songbird/MS +songbook/SM +songcraft/M Noun: uncountable +Songdo/M +songsmith/SM +songster/SM +songstress/MS +songwriter/SM +songwriting/M Noun: usually uncountable +Soni/M +Sónia/M +Sonia/M +sonicate/SGDNM +sonicator/SM +sonics/M Noun: uncountable +Sonja/M +sonnet/MS +sonneteer/SM +Sonning/M +sonny/MS +sonobuoy/SM +sonochemistry/M Noun: uncountable +sonofabitch/SM +sonogram/SM +sonograph/SMWZR +sonoluminescence/M Noun: uncountable +sonoluminescent +Sonoma/M +sonometer/MS +Sonora/M +sonorant/SM +sonority/SM +sonorous/YP +sons-in-law +sonship/SM +sonsie +sonsy +Sony/M +Sonya/M +Sookholme/M +sool/DGS +soon/T~ +soot/DMZ +sooth/RkMDG +soothe/SGD +soothsayer/SM +soothsaying/SM +sootiness/M +sooty/TY +sop/DMGZS +Soper/M +soph/MS +sopherim/M +Sophia/M +Sophie/MS +sophism/SM +sophist/S1yMWw +sophistic/n +sophisticate/GShDn +sophistry/SM +Sophoclean +Sophocles/M +sophomoric +Sophy/M +Sopley/M +soporific/SMY +soporose +soporous +soppiness/M +soppy/TY +sopranino/SM +soprano/SM +Sopwith/M +Sopworth/M +sora/MS +Sorabji/M +Soraya/M +Sorb/SM +sorb/SM +sorbefacient/SM +sorbent/SM +sorbet/MS +Sorbian/SM +Sorbie/M +sorbitan/SM +sorbitol/SM +Sorbonne/M +sorcerer/MS +sorceress/SM +sorcery/SM +sordid/PY +sordini/M +sordino/M +sordor/SM +sore/TSMYP +Sorel-Tracy/M +sorel/MS +Sorensen/M +Sorenson/M +sorghum/MS +sori/M +Soriano/M +sorites +Sorn/M +Sorocold/M +sororicide/SM +sorption/SM +sorrel/SM +sorrow/DGM6jSr +sorrowful/P +sorry/TPY +sort/FSMAGD +sortable +sorted/UK +sorter/SM +sortie/SMD +sortieing +sortilege/M +sortition/M +sorus/M +SOS/SM +Sosa/M +sostenuto/SM +sot/MS +Sotby/M +Soter/M +soteriology/wSM +Sotherton/M +Sothic +Sotho/SM +Sotterley/M +sottish +sotto +sou'wester/SM +sou/MS +soubresaut/SM +soubrette/SM +soubriquet/SM +souchong/SM +soucouyant/SM +Soudley/M +souffle/SM +soufflé/SM +sough/DGSM +sought +sought-after +souk/MS +soul-destroying +soul-searching +soul/RjM6Sp~ +soulace/M +Soulbury/M +Soulby/M +Souldern/M +Souldrop/M +Soule/M +Souletin/SM +soulful/P +soulhood +soulie/SM +soulify/SGD +Soulja/M +soulless/YP +soulmate/SM +Souls/M +Soulsby/M +soulship +soulster/SM +soulstress/SM +soum/SMGJ +Sound/M +sound/pRDMTSJGY +soundalike/SM +soundbar/SM +soundboard/MS +soundbox/SM +soundcheck/SM +soundclash/SM +Soundex/SM +soundhole/SM +sounding/M +soundless/Y +soundlessness/M +soundness/SM +soundproof/DGS +soundproofing/M Noun: usually uncountable +soundscape/SM +soundstage/SM +soundtrack/MS +soup/SMZ +soupçon/MS +soupy/T +sour/MYGSTPD~ +source/M +source/SeDGA +sourcebook/SM +SourceForge/M +sourdough/SM +sourpuss/MS +soursop/SM +Sourton/M +sous/DGS +Sousa/M +sousaphone/MS +souse/SM +soutache/MS +soutane/MS +souteneur/MS +souter/MS +souterrain/SM +south-east/M +south-Easterly +south-easterly +south-eastern +south-eastward/S +south-Eastward/S +south-south-east +south-south-west +south-west/M +south-westerlies +south-Westerly/S +south-western +south/M +South/M +Southall/M +Southam/M +Southampton/M +Southaven/M +Southborough/M +southbound +Southbourne/M +Southbridge/M +Southbroom/M +Southburgh/M +Southbury/M +Southchurch/M +Southdean/M +Southdown/M +Southease/M +Southeast/M +southeaster/SM +southeastern +Southend-on-Sea/M +Southend/M +souther/YM +southerliness/M +southerly/SM +Southern/M +southern/R +southernmost +southernwood/SM +Southery/M +Southey/M +Southfield/M +Southfleet/M +Southgate/M +Southill/M +southing/SM +Southington/M +Southlake/M +Southland/M +Southleigh/M +Southmead/M +Southmere/M +Southminster/M +Southmoor/M +Southoe/M +Southold/M +Southolt/M +Southorpe/M +Southover/M +southpaw/SM +Southport/M +Southrepps/M +southron/MS +Southrop/M +Southsea/M +Southshore/M +Southside/M +Southstoke/M +southward/SY +Southwark/M +Southwater/M +Southwell/M +Southwest/M +southwester/MS +southwestern +Southwick/M +Southwold/M +Southwood/M +Southworth/M +Soutra/M +souvenir/MS +Sovaldi/M +sovereign/YSM +sovereignty/SM +Soviet/MS +soviet/SM +sow/RGDS +sowans +sowback/MS +sowbread/SM +Sowe/M +sowens +Sowerby-under-Cotcliffe/M +Sowerby/M +Soweto/M +sown +sowthistle/SM +Sowton/M +soy/M Noun: usually uncountable +soya/M Noun: uncountable +soybean/SM +Soyuz/M +sozzled +Spa/M +spa/MS +space-saving +space-time +space/JGS5MRmDp +spacecraft/MS +spacefarer/SM +spacefaring/M +spaceflight/SM +spaceplane/SM +spaceport/SM +spaceship/SM +spacesuit/SM +spacetime/SM +spacewalk/SMRGD +Spacewatch/M +SpaceX/M +spacey +spacial/Y +spaciality/SM +spacier +spaciest +spacing/M +spacious/PY +Spackle/M +spade/SGMD6 +spadefish/SM +spadefoot/SM +spadeful/MS +spadework/Mr +spadiceous +spadices +spadille/SM +spadix/M +spae/DS +spaeing +spaewife/M +spaewives +spaghetti/M Noun: usually uncountable +spahi/MS +Spahr/M +Spain/M +spake/Y +Spalding/M +Spaldington/M +Spaldwick/M +Spalford/M +spall/DGMS +spallation/M +spalpeen/MS +spam/MSRDG +spambot/SM +spammie/SM +Spamount/M +span/GDRMS +Spanby/M +spandex/M Noun: usually uncountable +spandrel/SM +spangle/GMDS +Spangler/M +spangly/T +Spaniard/SM +spaniel/MS +Spanish-speaking +Spanish/M +spank/JSDGr +spar/dMkDGS +sparable/MS +sparaxis/SM +SPARC/M +SPARCstation/M +spare/PYSr +sparerib/SM +sparest +Sparham/M +Sparidae Taxonomic family +sparingness/M +spark/pDYGZSM~ +Sparkford/M +sparkle/GRkDSM +Sparks/M +Sparkwell/M +sparky/T +sparling/SM +sparrow/SM +sparrowhawk/SM +sparry +spars/T +sparse/YP +Sparsholt/M +sparsity/M Noun: usually uncountable +Sparta/M +Spartacist/MS +Spartacus/M +Spartan/SM +spartan/Y +Spartanburg/M +sparticle/SM +spas/W +spasm/MS +spasmodic/Y +spastic/SMY +spasticity/SM +spat/MSGD +spatchcock/DGMS +spate/SM +spathaceous/Y +spathe/MSW +spathiphyllum/M +spatial/Y +spatiality/SM +spatio +spatio-temporal/Y +spatter/dS +spatterdash/SM +spatterware/M Noun: uncountable +spatula/SM +spatulate +Spaunton/M +spavin/SM +spavined +spawn/MGSDR +Spaxton/M +spay/DSG +SPCA/M Initialism of Society for the Prevention of Cruelty to Animals +speak/GRS7J +speakership/M +spear/MGSD +Spearfish/M +spearfish/SMG +speargun/SM +spearhead/GSMD +Spearman/M +spearman/M +spearmen/M +spearmint/SM +Spears/SM +spearwort/SM +Spec-chum/SM +spec/SM +specced +speccing +Speccy/SM +Specht/M +special/3SP +specialise/nGDS +specialism/MS +specialistic +speciality/SM +speciate/SDGn +speciational +specie/MoS +specific/SP +specificity/SM +specified/UaAf +specify/SBl1nRDWG +specimen/SM +speciose +speciosity/SM +specious/PY +speck/SGDMp +speckle/DGSM +spectacle/DSM +spectacular/YSM +spectate/SGD +spectator/MSO +spectatorship/SM +spectinomycin/M Noun: usually uncountable +Spector/M +spectra/OoM +spectre/MS +spectrochemistry/M Noun: uncountable +spectrogram/SM +spectrograph/SZ1MW +spectrography/M Noun: uncountable +spectroheliograph/SM +spectrohelioscope/SM +spectrometer/SMW +spectrometry/SM +spectrophotometer/MWS +spectrophotometry/M Noun: uncountable +spectroradiometer/SM +spectroscope/WSZ1Mw +spectroscopist/MS +spectroscopy/SM +spectrum/SM +specula/M +specular +speculate/DnSvVG +speculativeness/M Noun: uncountable +speculator/SM +speculum/M +sped +speech-maker/SM +speech-making +speech-writer/SM +speech/6pSM +speechification/SM +speechify/RSGD +speechless/PY +speed-up/MS +speed/DRJZSG2Mz +speedball/SM +speedboat/MSr +speedo/SM +speedometer/MS +Speedos/M +speedster/SM +Speedway/M +speedway/SM +speedwell/MS +speedwriter/SM +speedwriting +speedy/TP +Speen/M +Speeton/M +speiss/M +Speke/M +Speldhurst/M +speleology/Mw3 +spell/RG7JDSM +spellbind/SRG +spellbound +spellcaster/SM +spellcheck/GDSR +spelled/aA +spelling/MaS +spells/aA +spellworking +Spelsbury/M +spelt +spelter/M Noun: usually uncountable +Spelthorne/M +Spence/M +spence/SMr +Spencer/M +Spencerian +Spencers/M +Spencerville/M +spend/eScaG +spendable +spender/SM +spending/S +spendthrift/SM +Spengler/SM +Spennithorne/M +Spennymoor/M +Spenser/M +Spenserian/SM +spent/Ufcea +sperm/MS +spermaceti/M +spermatia/MW +spermatid/SO^ +spermatium/M +spermatocyte/SM +spermatogenesis/M +spermatogenetic +spermatogenic/Y +spermatogonia/M +spermatogonium/M +spermatophore/SM +spermatophyte/SMW +spermatozoa/MO +spermatozoan/SM +spermatozoid/SM +spermatozoon/M +spermicide/MSO +Spernall/M +Sperrin/M +Sperry/M +sperrylite/SM +spessartine/SM +Spetchley/M +Spetisbury/M +spew/DRSG +Spexhall/M +Speymouth/M +Spezia +SPF/SM +sphagna +Sphagnum Taxonomic genus +sphagnum/SM +sphalerite/SM +sphenoid/SMO +sphere/DGM1WwS +sphericity/SM +spheroid/OoMS +spheroidicity/M Noun: uncountable +spherular +spherule/MS +spherulite/MS +sphincter/MS +sphingid/MS +Sphingidae Taxonomic family +sphingolipid/SM +sphingomyelin/SM +Sphinx/M +sphinx/SM +sphygmograph/SMW +sphygmography/M Noun: uncountable +sphygmomanometer/SM +spic/SM +spica/SM +spicae/M Plural of spica +spicate +spice/DGSZM +spicebush/SM +Spicer/M +spick/SM +spicule/SM +spicy/TYP +Spider-man/M +spider/SZM~ +spidering +spiderlike +spiderman/M +spidermen/M +spiderweb/SDGM +spiderwort/MS +Spiegel/M +spiegeleisen/M +Spiegelman/M +spiel/DSGM +Spielberg/M +spieler/MS +Spieth/M +spiffing +spifflicate/DGS +spifflication/S +spiffy/T +spiflicate/DGS +spiflication/S +spignel/S +spigot/SM +spike/DGSMZ +spikelet/SM +spikenard/M +spiky/PTY +spile/DGS +spilite/SMW +spill/cGDS +spill/J +spillage/SM +spiller/SM +spillikin/SM +spillover/SM +spillway/SM +Spilsby/M +spilt +spilth/M +spin-drier/S +spin-off/SM +spin/RGSop +spinach/SMZ +spinal/SM +spindle/SMGYD +spindly/T +spindrift +spine-chilling +spine/pMS2Z +spinebill/SM +spinel/SM +spineless/YP +Spiner/M +spinet/SM +Spiney/M +spinifex/MS +spinnaker/SM +spinneret/SM +spinney/SM +spinor/SM +spinose/Y +spinoseness/M Noun: uncountable +spinous +Spinoza/M +Spinozism/M +Spinozist/SMW +Spinrad/M +spinster/SM~ +spinsterhood/M +spinthariscope/MS +spiny/T +spiracle/SM +spiraea/MS +spiral/SDGY +spirant/SM +spire/IDFSA +spire/M +Spirillum Taxonomic genus +spirit/IdSM +spirited/YP +spiritism/SM +spiritist/SMW +spiritless/YP +spiritual/3YSP +spiritualise/SGDN +spiritualism/MS +spiritualist/W1 +spirituality/SM +spirituous +spiritus/M +Spiriva/M +Spiro/M +spirochaete/SM +spirograph/SM +spirography/M Noun: uncountable +spirogyra/SM +spirometer/SM +spirometry/WM +spironolactone/SM +spirt/SGDJ +spirulina/M Noun: uncountable +spiry +spit/RGSZ +Spital/M +Spitalfields/M +spitball/SGDR +spitchcock/DGSM +spite/AMS +spite/G +spiteful/PY +spitfire/MS +Spithead/M +Spitsbergen/M +Spittal/M +spittle/SMY +spittlebug/SM +spittoon/SM +Spitz/M +spitz/MS +Spitzenkandidat +Spitzenkandidaten +Spitzer/M +spiv/SM +spivvish +spivvy/T +Spixworth/M +splake/SM +splanchnic/Y +splanchnopleure/SM +splash/GDSzZ +splashback/SM +splashboard/SM +splashdown/SM +splashy/T +splat/DMGS +splatter/dS +splatterpunk/SM +splay/SDG +splayfeet/M +splayfoot/DM +spleen/6SM +spleenwort/SM +splendent +splendid/PY +splendiferous/YP +splendour/SM +splenectomy/SM +splenetic/Y +splenial +splenic +splenii/M +splenius/M +splenomegaly/SM +splice/GDRSMJ +spliff/SM +spline/MGDS +splint/RDSGM +splinter/dZ +splish/MS +split-level +split-second +split/SRGM +splodge/MS +splosh/DGS +splotch/MGDSZ +splotchy/T +Splott/M +splurge/MDSG +splutter/dSr +spn +Spock/M +Spode/M +Spofforth/M +spoil/CSRDG +spoilage/MS +spoilsport/MS +spoilt/U +Spokane/M +spoke/m5S +spoken/Uea +spokeshave/SM +spokesmanly +spokesmanship/SM +spokespeople/M +spokesperson/SM +spokeswomanship/SM +spokewise +spoliation/SCM +spoliator/SMZ +spondaic/OY +spondee/MS +Spondon/M +spondylolysis/M Noun: uncountable +sponge-like +sponge/GZDRS2M +spongeable +spongiform +spongin/SM +spongocoel/SM +spongy/TY +sponsor/OdMS +sponsorship/SM +spontaneity/SM +spontaneous/YP +spoof/SDGMR7 +spoofery/SM +spook/MGZSD2 +spooky/TY +spool/MRSDG +spoon-fed +spoon-feed/SG +spoon/D6GSM +spoonbill/MS +Spooner/M +spoonerism/SM +spoonful/MS +spoonier +spooniest +spooniness/M Noun: uncountable +spoonsful +spoony/SMY +spoor/SM +sporadic/Y +sporangia/MO +sporangium/M +spore/MS +Spörer/M +sporidia/M +sporidium/M +spork/SM +Sporle/M +sporoblast/SM +sporocyst/SMW +sporogenesis/M +sporogenic +sporogenous +sporophyll/SM +sporophyte/SMW +sporozoite/SM +sporran/SM +sport/rkVmGvM5ZDS2u +sportif +sportive/P +sportscast/RSGM +sportsman/MY +sportsmanlike/U +sportsmanship/M +sportsmen/M +sportspeople/M +sportsperson/SM +sportster/SM +sportswear/M Noun: uncountable +sportswomanship/M Noun: uncountable +sportswriter/SM +sporty/TP +sporulate/SGDN +spot's/C +spot-weld/DG +spot/2GDRSZzMp +Spotify/M +Spotland/M +spotless/PY +spotlight/SMGD +spotlit +Spotswood/M +Spotsylvania/M +Spott/M +spottle/SGD +spotty/TP +spousage/M Noun: usually uncountable +spouse/SM +spout/rSGDp +Sprachgefühl/M +sprag/SM +Sprague/M +sprain/GDSM +sprang +sprat/SM +Spratton/M +sprawl/GSDM +spray/JSGDM7r +spread-eagled +spread/CGcSe +spreadable +spreader/SM +spreadsheet/SMG +Sprecher/M +spree/MGS +Sprengel/M +Spreydon/M +Spreyton/M +Spridlington/M +sprig/MSDG +sprightly/TP +Sprindlington/M +spring-clean/D +spring-loaded +spring/RZSMz2Gp +springboard/SM +springbok/MS +Springboks +Springboro/M +Springburn/M +Springdale/M +Springer/M +Springettsbury/M +Springfield/M +Springlands/M +springlet/SM +springlike +Springs/M +Springside/M +Springsteen/M +Springston/M +springtail/SM +Springthorpe/M +springtime/SM +Springville/M +springy/TP +sprinkle/RJSMDG +sprinkling/SM +sprint/RDSMG +sprit/SM +sprite/SM +spritsail/SM +Sproatley/M +sprocket/dSM +sprog/SGD +Sproston/M +Sprotbrough/M +Sproughton/M +Sprouston/M +sprout/DGS +Sprowston/M +Sproxton/M +Spruce/M +spruce/YMDPSG +sprucer +sprue/SM +sprung +spry +Sprycel/M +spryer +spryest +spryly +spryness/M Noun: uncountable +SPSS +spud/SDGM +spume/SMZ +spumy/T +spun +spunk/MZ +spunky/T +spur/GDMSp +spurge/SM +Spurgeon/M +spurious/YP +spurn/DSGr +Spurriergate/M +Spurstow/M +spurt/DGS +sputa/M +Sputnik/MS +sputter/dSr +sputum/M +spy/GDMS +Spyckerelle/M +spyglass/SM +spyhole/SM +spymaster/SM +Spynie/M +spyware/M Noun: uncountable +sq +sq. +SQL/M Noun: uncountable +SQLite/M +sqrt +squab/SM +squabble/DRSG +squad/MS +squadron/MS +squalene/SM +squalid/YP +squall/MYSDG +squally/T +squalor/M Noun: usually uncountable +squamate/SM +squamosal/SM +squamous/Y +squamousness/M Noun: uncountable +squander/dSr +Square/M +square/rPMTDSYG +squarish +squash/ZGDS2M +squashy/T +squat/YTRSPDG +squaw/MS +squawfish/SM +squawk/RMDSGZ +squawroot/SM +squeak/RZSGMD2z +squeaky/T +squeal/DRSGM +squeamish/YP +squee/Sd +squeegee/MSd +squeezable +squeeze/SRDG +squelch/ZDSGr +squelchy/T +squib/DGMS +Squibb/M +squid/MGDS +squidge/SGD +squidgy/T +squiffier +squiffiest +squiggle/SYMGD +squiggly/T +squill/SM +squillion/SM +squillionaire/SM +squinancywort/M Noun: uncountable +squint/SDGr +squinty/T +squire/YGMDS +squirearch/Zw +squiredom/SM +squireen/SM +squirehood/M Noun: usually uncountable +squirelet/SM +squireling/SM +squireship/SM +squirl/SM +squirm/ZSDGM +squirmer/SM +squirmy/T +squirrel/YMGSD +squirt/SGDR +squish/2DGZS +squishy/T +squit/MS +Sr +SRA/M +SRAM/SM +sRGB +Sri/M +Srinagar/M +sriracha/M Noun: usually uncountable +SRN +SRO/SM +SS +SSA/SM +SSC/SM +SSD/SM +SSE/M Abbreviation of south-southeast +SSH/M Initialism of Secure Shell +ssh/SGD +SSHD/SM +SSL/M +SSRI/SM +ssRNA/SM +SSS/M +SST/M +SSW/M Abbreviation of south-southwest +st. +St/M +stab/RYDJSG +Stabat Stabat Mater +stabby +stabile/MS +stabilise/CnRGDS +stability/MSI +stable-boy/SM +stable-girl/MS +stable-lad/SM +stable-mate +stable/DGZ +stable/FMS +Stableford/M +stableful/S +stableman/M +stablemate/SM +stablemen/M +stableness/M Noun: uncountable +stabler/SM +stablest +stablish +staccato/SM +Stacey/M +Staci/M +Stacie/M +stack/7GSDMR +Stackhouse/M +Stackpole/M +stackyard/SM +Stacy/M +staddle/SM +Stadhampton/M +stadholder/MS +stadholdership/MS +stadia/M +stadium/SM +stadtholder/MS +stadtholdership/MS +staff/ADGSR +staff/M +Staffa/M +staffage/M Noun: usually uncountable +staffed/cUf +Staffell/M +Staffin/M +Stafford/M +Staffordshire/M +staffroom/SM +Staffs. +stag/dSM +stage-manage/RD +stage-management +stage-struck +stage/SZBM2R +stagecoach/MS +stagecraft/M Noun: usually uncountable +stagehand/SM +stagflation/SM +Stagg/M +stagger/Skrd +staghorn/SM +staghound/SM +staging/SM +stagnancy/MS +stagnant/Y +stagnate/nDSG +Stagsden/M +stagy/TY +Stahl/M +staid/PY +Stain/M +stain/SMpDGR7 +Stainborough/M +Stainbrough/M +Stainburn/M +Stainby/M +Staindrop/M +Staines-upon-Thames/M +Staines/M +Stainfield/M +Stainforth/M +Staining/M +Stainland/M +Stainley/M +Stainmore/M +Stainton/M +Stainworth/M +Stair/M +stair/MS +staircase/MS +stairclimber/SM +stairhead/SM +stairlift/SM +stairway/MS +stairwell/MS +staithe/SM +stake/MDSG +stakeholder/SM +stakeout/MS +Stakhanovism/M +Stakhanovite/MS +stalactic +stalactiform +stalactite/MSW +Stalag/MS +stalagmite/MSW +Stalbridge/M +stale/PTYDG +stalemate/SGMD +Staley/M +Stalham/M +Stalin/M +Stalingrad/M +Stalinism/M Noun: uncountable +Stalinist/SM +Stalisfield/M +stalk/RDMGSpZ +stalkerish +stalkery +stalking-horse +stall/M +stall/SGID +stallage/SM +Staller/M +stallholder/SM +Stalling/M +Stallingborough/M +Stallings/M +stallion/SM +Stallman/M +Stallmann/M +Stallo/M +Stallone/M +Stalls/M +Stalmine-with-Staynall/M +Stalmine/M +Stalnaker/M +stalwart/YSMP +Stalybridge/M +Stambourne/M +Stambridge/M +stamen/MS +Stamford/M +Stamfordham/M +stamina/M Noun: usually uncountable +staminate +staminode/SM +staminodia/M Plural of staminodium +staminodium/M +staminody/SM +stammer/rdSk +stamnoi/M Plural of stamnos +stamnos +stamp/RJDGS +stamped/d +stampede/MSr +Stamperland/M +Stampfer/M +Stan/M +Stanbridge/M +Stanbury/M +Stancanelli/M +stance/ISM +stanchion/SM +Stancliffe/M +stand-alone +stand-in/SM +stand-off/MS~ +stand-up +Stand/M +stand/M +stand/SfGJ +standard-bearer/SM +standard/YMsqQS +standardised +standby +standbys +standee/MS +stander/SM +Standerwick/M +standeth Archaic, but doesn't cause FPs +standfast/SM +standing/fM +Standish/M +standish/MS +Standlake/M +standoffish/YP +Standon/M +standout/S +standpipe/SM +standpoint/SM +standstill/SM +Stane/M +Stanfield/M +Stanford-le-Hope/M +Stanford/M +Stanground/M +Stanhoe/M +Stanhope/M +stanhope/MS +Staniforth/M +Stanion/M +Stanislao/M +Stanislaus/M +Stanislav/M +Stanislavsky/M +Stank/M +stank/SM +Stanleigh/M +Stanley/M +Stanly/M +Stanmer/M +Stanmore/M +Stannard/M +stannary/MS +Stannett/M +Stanney/M +stannic +Stanningfield/M +Stanninghall/M +Stannington/M +stannocene +stannous +Stansfield/M +Stanstead/M +Stansted/M +Stanthorne/M +Stanton-under-Bardon/M +Stanton/M +Stantonbury/M +Stanway/M +Stanwell/M +Stanwick/M +Stanwix/M +Stanwood/M +stanza/DSM +stanzaic/OY +Stape/M +stapedes +stapedial +Stapeley/M +Stapelia Taxonomic genus +stapelia/MS +Stapenhill/M +stapes +staphylococci/MO +staphylococcus/M +Staple/M +staple/SGDRM +Staplefield/M +Stapleford/M +Staplegrove/M +Staplehurst/M +Staples/SM +Stapleton/M +Staploe/M +star-spangled +star-studded +star/GDSpZdrMk +Star/M +Stara Stara Zagora +starboard/DMSG +Starbotton/M +Starbucks/M +starburst/SM +starch/SzMGD2ZYr +starcher/SM +starchitect/SM +starchitecture/M Noun: usually uncountable +starchwoman/M +starchwort/SM +starchy/TP +Starcross/M +stardom/MS +stardust/M Noun: usually uncountable +stare/SM +starfish/MS +Starfleet/M +Stargate/M +stargate/SM +stargaze/RSGD +stargrass/SM +Stark/M +stark/TYP +Starke/MS +Starkey/M +Starks/M +Starkville/M +starlet/SM +starlight/M Noun: uncountable +starlike +starling/SM +starlit +Starmer/M +Starmore/M +Starr/M +starry/T +starseed/SM +starshine/M Noun: uncountable +starship/SM +Starshot +Starston/M +starstruck +start-up/MS +start/RSDG +Startforth/M +startle/GkDSM +startler/MS +startup/SM +starve/GSnD +starveling/SM +starwort/MS +stash/GSD +stasis/M +stat/SMO +statable +statant +state-of-the-art +state/aSALGfIcD +State/M +state/M6h +statecraft/SM +statehood/MS +Statehouse/M +statehouse/SM +stateless/P +stately/TP +statemental +statemented +statementing +statemonger/SM +Staten/M +stater/Ma +stateroom/SM +states/5m +Statesboro/M +statesfolk +stateship/SM +statesman/Y +statesmancraft/M +statesmanlike +statesmanship/SM +Statesville/M +statewide +statewise +Statfold/M +Stather/M +Statherian +Stathern/M +static/OYS +statin/SM +station-wagon/MS +station/DG +station/eMS +Station/M +stationarity/SM +stationary/PY +stationer/ZSM +stationery/MS +stationmaster/MS +statise/SGD Verb +statism/SM +statist/SM +statistic/SOYM +statistician/SM +statistology/M Noun: uncountable +stative/SY +stativity +statoblast/SM +statocyst/SM +stator/SM +statoscope/SM +statuary/SM +statue/MSD +statuesque/YP +statuette/SM +stature/MS +status/MWS +statute/SyM +statutory/Y +Stauffer/M +Staughton/M +staunch/DTSGYP +Staunton/M +stave/GDSM +Staveley/M +Staverton/M +stavesacre/MS +Stawell/M +Stawley/M +stay-at-home +stay/ecDSG +staycation/SM +stayer/SM +staysail/SM +Staythorpe/M +STD/SM +Ste/M +stead/z2MZ +steadfast/PY +Steadicam/SM +steadier/U +steadiest/U +steadiness/M Noun: usually uncountable +steady-going +steady/DGS +steady/UY +steak/SM +steakhouse/MS +steal/SGR +stealing/M +stealth/M2zZ +stealthy/T +steam/zR2DGMZS +Steamboat/M +steamboat/MS +steampunk +steamroller/dSM +steamship/MS +steamy/T +Steane/M +stearate/SM +stearic +stearidonic +Stearns/M +steatopygia/M +steatopygous +steatosis/M +Stebbing/M +Steckling/M +Stedham/M +Stedman/M +steed/SM +Steeg/M +steel-clad +steel/DMGZ2S +Steel/M +Steele/M +steelhead/SM +steelwork/RSM +steely/T +steelyard/SM +Steen/M +steep/TSGDYP +steepen/dS +Steeping/M +steeple/DSM +Steeple/M +steeplechase/GSMR +steeplejack/MS +Steepleton/M +steer/GSD7R +steerage/SM +Steere/M +steers/m +Steeton/M +steeves +Stefan/M +Stefani/M +Stefanie/M +Stefano/M +Steffan/M +Steffen/M +Steffi/M +steganographer/SM +steganography/WM +stegosaurus/SM +Stehlé/M +Stehmann/M +stein/MS +Steinbach/M +Steinbeck/M +Steinberg/M +Steiner/M +Steinfeld/M +Steinhardt/M +Steinman/M +Steinmeier/M +Steinmetz/M +Šteins/M +Steinway/M +stela/M +stelae/M +Stelara/M +Steliga/M +Stella/M +stellar +stellated +Stellenbosch/M +stelliferous +Stelling/M +stem/pGMDS +stemmed/U +Sten +stench/SM +stencil/DSMGJ +Stendhal/M +Stengel/M +Stenhouse/M +Stenhousemuir/M +Stenian +Stenigot/M +Stenness/M +stenograph/SGDZRM +stenos/S +stenosed +stenosing +stenosis +stenothermal +stenotic +stenotype/MS3Z +Stenscholl/M +Stensen/M +Stenson/M +stent/SM +Stenton/M +Stentor +stentorian/Y +step's/aI +step-parent/SM +step/cDGS +stepbrother/MS +stepchild/M +stepchildren +stepdad/SM +stepdaughter/MS +stepfamily/SM +stepfather/SM +Stepford/M +Stephan/M +Stephanie/M +Stephen-in-Brannel/M +Stephen/MS +Stephendale/M +Stephenie/M +Stephenson/M +Stephenville/M +stepladder/SM +stepmother/SM +stepmum/SM +Stepney/M +Stepneyville/M +steppe/SRM +Steppingley/M +steppingstone/SM +Stepps/M +steps/aI +Steps/M +stepsister/SM +stepson/MS +stepwise +steradian/SM +stercoraceous +stereo/SM +stereobate/MS +stereocamera/SM +stereocentre/MS +stereochemical/Y +stereochemistry/SM +stereognosis +stereognostic +stereogram/SM +stereograph/SM1 +stereography/MW +stereoisomer/MSW +stereoisomerism/SM +stereolithography/W +stereology/w1 +stereometry/M Noun: uncountable +stereomicroscope/SM +stereophony/W1 +stereophotograph/rMSW +stereophotography/M Noun: uncountable +stereopsis +stereoptic +stereopticon/SM +stereoregular +stereoscope/ZWM1S +stereoscopy/SM +stereoselective +stereoselectivity/SM +stereospecific/Y +stereospecificity/SM +stereotactic/Y +stereotaxic +stereotype/ZMDGSWw1 +steric/Y +sterigma +sterigmata +sterilant/SM +sterile/YQqs +sterilisable +sterilise/ADSG +sterility/SM +sterlet/SM +Sterling/M +sterling/PMY +Sterlitamak/M +Stern-Volmer/M +stern/DSYTO +Stern/M +Sterndale/M +Sterne/M +Sternfield/M +sternite/SM +sternmost +sternness +sternocleidomastoid/SM +sternum/SM +sternward/S +sternway/SM +steroid/MSO +sterol/SM +Sterrett/M +Stert/M +stertorous/PY +stet/MGSD +Stetchworth/M +stethoscope/DSMW +stethoscopist/MS +stethoscopy/M Noun: uncountable +Stetson/MS +Stettin/M +Steuben/M +Steubenville/M +Steve/M +stevedore/SM +Steven/MS +Stevenage/M +Stevens/M +Stevenson/M +Stevenston/M +Steventon/M +stevia/MS +Stevie/M +Stevin/M +Stevington/M +stew/DMGS +steward/GMDS +Steward/M +stewardess/MS +stewardship/SM +Stewart/MS +Stewartby/M +Stewartfield/M +Stewarton/M +Stewartry +Stewartstown/M +Stewkley/M +Stewton/M +Steyning/M +Steynton/M +sthenic +Sthulibhadra/M +STI/SM +Stibbard/M +stibine/SM +stibnite/SM +stibocene +Stichill/M +stichomythia/SM +stick/RZS2GzM +Stickford/M +stickit +stickjaw/M +Stickland/M +stickleback/MS +Sticklepath/M +stickler/SM +Stickney/M +stickup/SM +sticky/T +stickybeak/MS +Stidd/M +Stieltjes/M +stiff-necked +stiff/YPTS +stiffen/rSd +Stiffkey/M +Stifford/M +stifle/SGDkr +Stigand/M +Stigler/M +Stiglitz/M +stigma/QWqSM +stigmata/M Plural of stigma +stigmatic/MSY +stigmatised/U +stigmatist/SM +Stigwood/M +Stihler/M +stilbene/SM +stilboestrol/SM +stile/MS +stiletto/SM +still/SDPTGZ +stillbirth/SM +stillborn/SM +Stillingfleet/M +Stillington/M +Stillwater/M +Stillwell/M +stilt/MhiSD +Stilton/M +stimulant/SM +stimulate/cGSD +stimulated/U +stimulation/MS +stimulative +stimulator/MSZ +stimuli/M +stimulus/M +Stinchcombe/M +Stine/M +sting/RZSGkz2p +stingaree/MS +stingray/MS +stingy/PT +stink/GZSRkM +stinkhorn/MS +stinkpot/SM +stinkweed/SM +stinkwood/MS +stinky/T +Stinsford/M +stint/GDMSr +stinting/U +stipe/SM +stipend/MS +stipendiary/SM +stipitiform +stipple/GDSJr +stipular +stipulate/GnDS +stipulator/MS +stipule/SM +stir-fry/D +stir/GSJDR +Stirchley/M +stirk/MS +Stirling/M +Stirlingshire/M +stirred/U +stirring/Y +stirrup/SM +Stirton/M +Stisted/M +stitch/ADGJS +stitch/SM +stitcher/MZ +stitching/M +stitchwort/MS +Stithians/M +stiver/MS +Stivetts/M +Stivichall/M +Stixwould/M +Stoa +Stoak/M +stoat/MS +Stobo/M +Stobswell/M +stochastic/Y +stock-in-trade +stock/GcDAS +Stock/M +stock/Mp +stockade/DGMS +stockbreeder/SM +Stockbridge/M +stockbroker/SM +stockbroking/M Noun: uncountable +Stockbrook/M +Stockbury/M +Stockdale/M +stocked/f +Stockeld/M +stocker/MS +Stockerston/M +Stockethill/M +stockfish/MS +stockgrower/SM +Stockhausen/M +stockholder/MS +Stockholm/M +stockinet/MS +stockinette/SM +Stocking/M +stocking/MSDp +stockjobber/MS +stockjobbing/M +Stockland/M +Stockleigh/M +Stockley/M +Stocklinch/M +stocklist/MS +Stocklynch/M +stockman/M +stockmanship/M Noun: uncountable +stockmen/M +stockpile/DSGRM +Stockport/M +stockpot/SM +stockrider/SM +stockriding/M +stockroom/SM +Stocks/M +Stocksbridge/M +stocktake/R +stocktaking/M +Stockton-on-Tees/M +Stockton-on-the-Forest/M +Stockton/M +Stockwell/M +Stockwith/M +Stockwood/M +stocky/YTP3 +stockyard/MS +Stoddard/M +Stoddart/M +stodge/2MZSGD +stodgy/TY +Stodmarsh/M +Stody/M +Stoer/M +Stogumber/M +Stogursey/M +Stoic/MS +stoic/OSYM +stoichiometry/SMW1 +stoicism/SM +Stoke-by-Clare/M +Stoke-by-Nayland/M +Stoke-on-Trent/M +Stoke/M +stoke/SRGD +Stokeclimsland/M +Stokeham/M +stokehold/MS +stokehole/MS +Stokeinteignhead/M +Stokenchurch/M +Stokenham/M +Stokes/M +Stokesay/M +Stokesby/M +Stokesley/M +Stökl/M +STOL +stole/MS +stolen +stolid/Y +stolidity/M Noun: usually uncountable +stolidness/M Noun: uncountable +stolon/MS +stolonate +stoloniferous +Stoltzenberg/M +stoma/O +stomach-pump +stomach-tube +stomach/R6pDMG +stomachache/SM +stomachful/S +stomachic/SMOY +stomachs +stomata/O +stomatitis +stomatogastric +stomatopod/SM +stomp/DSGr +stompy/T +Ston/M +Stonar/M +Stondon/M +stone-baked +stone-cold +Stone-cum-Ebony/M +Stone-in-Oxney/M +Stone/M +stone/pSMZDGR +Stonebeck/M +Stonebridge/M +stonechat/SM +stonecrop/MS +stonecutter/MS +Stonefields/M +stonefish/SM +stonefly/SM +Stonegate/M +Stonegrave/M +stoneground +Stoneham/M +Stonehaven/M +Stonehenge/M +Stonehouse/M +Stonelaw/M +Stoneleigh/M +Stoneman/M +stonemason/SM +stonemasonry/M Noun: uncountable +Stonesby/M +Stonesfield/M +Stoneton/M +stonewall/DSG +stonewaller/SM +stoneware/SM +stonewashed +stonework/Mr +stonewort/SM +Stoney/M +Stoneyburn-Addiebrownhill/M +Stoneyburn/M +Stoneyford/M +Stoneykirk/M +Stoneywood/M +Stonham/M +Stonington/M +stonk/SMGDR +Stonnall/M +Stonor/M +Stonton/M +Stony/M +stony/YPT +stood/f +Stoodleigh/M +stooge/SM +Stookey/M +stool/MS +stoolball/M Noun: uncountable +stoop/DGS +stop-go +stop/GDSRMp +stopcock/SM +stopgap/MS +Stopham/M +stopoff +stopover/SM +stoppable/U +stoppage/SM +stopped/U +stoppered +stopping/U +stopwatch/MS +storable +storage/MS +storax/M +store/M +store/SAGD +storehouse/MS +storekeeper/SM +storeman/M +storemen/M +storer/A +storeroom/MS +storey/SM +Storiths/M +Stork +stork's-bill +stork/SM +storm-bird/SM +storm-cock/MS +storm-door/SM +storm-finch/SM +storm-lantern/SM +storm-sail/SM +storm-signal/MS +Storm/M +storm/R2GpzDZSM +stormbound +Stormont/M +stormproof +stormtrooper/SM +stormy/T +Stornoway/M +Storrington/M +Stortford/M +Story/M +story/MSD +storyboard/SGMD +storybook/SM +storyline/SMr +storyteller/MS +storytelling/SM +Stossel/M +Stotfold/M +Stott/M +Stottesdon/M +Stoubridge/M +Stouffer/M +Stoughton/M +Stoulton/M +stoup/SM +Stour/M +Stourbridge/M +Stourmouth/M +Stourpaine/M +Stourport-on-Severn/M +Stourton/M +stout-hearted/Y +stout-heartedness/M Noun: uncountable +Stout/M +stout/TYSP +stove/SM +Stoven/M +stovepipe/SM +Stover/M +stovetop/SM +stovies +Stow-cum-Quy/M +Stow-on-the-Wold/M +stow/DGS7 +Stow/M +stowage/SM +stowaway/SM +Stowe-by-Chartley/M +Stowe/M +Stowell/M +Stowey/M +Stowford/M +Stowlangtoft/M +Stowmarket/M +Stowood/M +Stowting/M +Stowupland/M +Strabane/M +strabismal/Y +strabismus/W +Stracathro/M +stracciatella/SM +Strachan/M +Strachur/M +Straczynski/M +Strad/MS +Stradbroke/M +straddle/RSDG +Stradishall/M +Stradivari/M +Stradivarius/M +Stradsett/M +strafe/SGD +Strafford/M +straggle/RYDSG +Stragglethorpe/M +straggly/T +Strahan/M +Straid/M +Straidarran/M +straight-edge/SM +straight-eight +straight-faced +straight/YPTS~ +straightedge/D +straighten/rSd +straightforward/PY +straightjacket/SM +strain/FSAD +strainable +strained/cU +strainer/AMS +straining/c +strait-jacket/dSM +strait-laced +strait/SMYP +straiten/dS +Straith/M +straitjacket/dMS +Straiton/M +strake/SM +Straloch/M +stramash/SGDM +stramonia/M Plural of stramonium +stramonium/SM +strand/GSDM +Strand/M +Strang/M +strange/PTYR +Strangelove/M +Strangford/M +strangle/DGRS +stranglehold/MS +strangulate/GnSD +strangurious +strangury/SM +Stranocum/M +Stranraer/M +Stranton/M +strap/DUSG +strap/Mp +straphanger/MS +strapper/MS +strappy/T +Strasbourg/M +Strassen/M +Strassmann/M +Strata/M +strata/MO +stratagem/MS +strategi/M Plural of strategus +strategic/SOY +strategician/SM +strategise/SGD +strategoi/M Plural of strategos +strategos/M +strategus/M +strategy/W3MSw1 +Stratfield/M +Stratford-on-Avon/M +Stratford-upon-Avon/M +Stratford/M +Strath/M +strath/MS +Strathaven/M +Strathblane/M +Strathbogie/M +Strathbraan/M +Strathbrock/M +Strathclyde/M +Strathcona/M +Strathdon/M +Strathern/M +Strathfillan/M +Strathfoyle/M +Strathkinness/M +Strathlachlan/M +Strathmartine/M +Strathmiglo/M +Strathmore/M +Strathnaver/M +Strathpeffer/M +strathspey/MS +Strathtay/M +Strathy/M +strati +straticulate +stratificational +stratify/GnDS +stratigraphy/MwW +stratocracy/SM +stratocrat/WSM +stratocumulous +stratocumulus +stratopause/MS +stratopedarch/M +stratose +stratosphere/SWM1 +Strattera/M +Stratton-on-the-Fosse/M +Stratton/M +stratum/M +stratus/M +Strauss/M +Stravinsky/M +straw-colour/D +straw/MZS +strawberry/SM +strawboard/SM +Strawless/M +Strawn/M +Strawson/M +strawworm/SM +stray/GDSMR +Štrba/M +streak/RSDZGM +streaky/TPY +stream/GSRMD7 +Stream/M +streambed/SM +streamed/U +streamflow/SM +streamlet/SM +streamline/GDSRM +Streamwood/M +Streat/M +Streatham/M +Streatley/M +Streator/M +Streep/M +Street/M +street/MS +Streethay/M +streetlamp/SM +Streetsboro/M +streetscape/SM +streetwalker/MS +streetwalking/M Noun: uncountable +streetward +streetwise +Strega/SM +Strehler/M +Streicker/M +Streisand/M +Strelley/M +strength/MSp +strengthen/AdS +strengthener/SM +Strensall/M +Strensham/M +strenuous/YP +strep/SM +streptococci/O +streptococcus/M +streptomycin/M +streptose/M Noun: uncountable +STRESS +stress/DpMSG +stressed/U +stressful/YP +stressor/SM +stretch/eGDS +stretchability/M +stretchable +stretched/c +stretcher/dMS +stretchy/TP +Strete/M +Stretford/M +Strethall/M +Stretham/M +stretti/M +stretto/M +Stretton/M +streusel +strew/GDSR +strewn +strewth +stria/nM +striae/M Plural of stria +striata/MOo +striate/SGDn +striatum/SM +Stribild/M +Strichen/M +stricken +Strickland/M +strickle/MS +strict/TYP +stricter/F +stricture/MS +stridden +stride/MSGr +stridency/SM +strident/Y +stridor/SM +stridulant/Y +stridulate/SGDn +stridulatory +Strieber/M +strife/M +strigil/SM +strigose +strikable +strike-breaking/M +strike/RGSk +strikebound +strikebreak/R +strikebreaking/M Noun: usually uncountable +strikeout/SM +strikingness/M Noun: uncountable +Strikwerda/M +strim/RGD +Strindberg/SM +Strine/M +string/AGS +string/MDpr +stringboard/SM +stringency/SM +stringendi/M +stringendo/SM +stringent/Y +Stringfield/M +stringpiece/SM +Stringston/M +stringy/PTY +stringybark/SM +strip-searched +strip-searching +strip/eDGS +strip/M +stripe/SMDZGr +stripey +stripier +stripiest +stripling/SM +stripper/MS +strippergram/SM +striptease/RSM +strive/DSGJr +striven +Strixton/M +strobe/SM +Strobel/M +strobila/M +strobilae Plural of strobila +strobilation/SM +strobili/M Plural of strobilus +strobilus +stroboscope/MSW +stroboscopical/Y +strode +Stroessner +stroganoff/SM +Strogatz/M +Stroh/M +stroke/SGDMr +stroll/SRGD +Strolz/M +Strom/M +stroma/O +stromata/W +stromatolite/SM +stromatoporoid/SM +Stromberg/M +Stromness/M +stromule/SM +Strone/M +strong-minded +strong/YTm~ +strongbox/MS +stronghold/MS +strongroom/SM +Strongsville/M +Stronsay/M +Strontian/M +strontianite/M Noun: usually uncountable +strontiocene +strontium/M +Strood/M +strop/SMDG +strophanthin/SM +strophe/WSM +stroppy/TPY +Strossen/M +Stroud/M +Stroudsburg/M +strove +Strowan/M +Stroxton/M +Struan/M +Strubby/M +struck +structural/3Y +structuralism/SM +structuration/O3MSo +structure/ASGD +structure/Mp +structured/U +strudel/MS +struggle/SGDrM +strum/DGSR +strumpet/MS +Strumpshaw/M +strung/cUA +strut/DSGRM +struth +Struthers/M +Strutt/M +Struy/M +strychnine/M Noun: usually uncountable +Stuart/MS +Stuartfield/M +stub/MZDGS +stubble/YSMD +Stubblefield/M +stubbly/T +stubborn/TYP +Stubbs/M +stubby/T +Stubton/M +stucco/MDG +stuccoes +Stuchbury/M +stuck/U +stuckness/M Noun: uncountable +stud/DSMG +studbook/SM +student/ZpMS~ +studentise/SGD +studentism +studentry/M +studentship/MS +studerite/M Noun: uncountable +Studham/M +studiable +studied/U +studied/Y +studiedness/M Noun: uncountable +studier/SM +studify/SGD +studio/SM +studious/YP +Studland/M +study/MASfDG +stuff/cDG +stuff/SMr +stuffing/M +stuffy/YTP +Stukeley/M +Stukeleys/M +stultify/nSGD +stum/SGDrM +stumble/GSDRk +stump/ZSDGMR2 +stumpage/SM +stumpy/TY +stun/GSDR +stung +stunk +stunning/Y +stunsail/SM +stunt/iSDGM +stuntman/M +stuntmen/M +Stuntney/M +stuntwoman/M +stuntwomen/M +stupa/MS +stupefacient/MS +stupefaction/MS +stupefactive/MS +stupefier/MS +stupefy/SkGD +stupendous/YP +stupid/Y +stupider +stupidest +stupidity/MS +stupor/MS +stuporous +sturdy/TYP +sturgeon/MS +Sturgis/M +Sturm/M +Sturmabteilung/M +Sturmer/M +Sturminster/M +Sturrock/M +Sturry/M +Sturston/M +Sturton/M +Stuston/M +Stutsman/M +Stuttard/M +Stutter/M +stutter/rSdk +Stuttgart/M +Stutton/M +sty/SM +Styal/M +Stygian/M +style/ASGD +style/Mr +stylee +stylet/MS +styli +stylise/nSDG +stylish/YP +stylist/WM1S +stylistic/S +stylobate/SM +stylograph/WSM +styloid/SM +stylolite/SM +stylometry/MW1 +stylopised +stylus/SM +stymie/SD +stymieing +styptic/SM +styrene/SM +styrofoam/SM +Styrrup/M +Styx/M +Su/M +Suamico/M +Suarez/M +suasion/SEM +suave/TYP +suavity/SM +sub-aqua/M +sub-assembly/SM +sub-base/SM +sub-basement/MS +sub-branch/MS +Sub-Deanery/M +sub-edit/d +sub-editorship +sub-head/J +sub-idea +sub-item/SM +sub-lieutenant/SM +Sub-Lt. +sub-machine-gun +sub-prime +sub-Saharan +sub-sequence/SM +sub-standard +sub-zero +Sub/M +sub/SGDM +subacid/SM +subacidity/MS +subacidulous +subacrocentric +subacute +subadult/SM +subaerial/Y3 +subagency/SM +subagent/SM +subagitation +subah/SM +subahship/SM +subak/SM +subalgebra/SM +subalgebrae/M +subalpine +subaltern/MS +subalternant/SM +subangular/Y +subantarctic +subaquatic +subaqueous +subarachnoid/O +subarctic +Subaru/M +subastral +subatomic/Y +subaudition/MS +subaxillary +Subberthwaite/M +subcase/SM +subcategorise/SGDN +subcategory/SM +subcaudal/SMY +subcell/SM +subcellular +subcentre +subchapter/SM +subchaser/SM +subchelate +subcheliform +subchondral +subchron/SMW +subcircuit/SM +subclass/MS +subclassify/SGD +subclause/SM +subclavian/SM +subclinical/Y +subclone/SM +subcommand/SMr +subcommission/SM +subcommissioner/MS +subcommittee/SM +subcomplex/SM +subcomponent/SM +subconical +subconjunctival/Y +subconscious/YP +subcontinent/SMO +subcontract/SGDM +subcontractor/SM +subcontrary/MS +subcortical/Y +subcostal +Subcourse/M +subcreation/SM +subcreative +subcritical/Y +subcult/SM +subculture/SMO +subcutaneous/Y +subcuticular +subdeacon/MS +subdeaconry/MS +subdeaconship/MS +subdean/MS +subdeanery/MS +subdecanal +subdecision/SM +subdermal +subdevelopment/SM +subdiaconate/MS +subdirectory/SM +subdiscipline/SM +subdivide/SDG +subdivider/MS +subdivisible +subdivision/SM +subdomain/SM +subdominant/SM +subduable +subdual/MS +subduct/SGD +subduction/SM +subductive +subdue/SDGr +subduement +subduple +subduplicate +subdural +subdwarf +Subedge/M +subedit/Sd +subeditor/SMO +subeditorship +subenfeudation +subequation/SM +subereous +suberic +suberin/SM +suberise/SGDN +suberone/SM +suberonyl +suberose +suberous +suberyl +subesophageal +subevergreen +subface/SM +subfactor/SM +subfamily/MS +subfauna +subfertile +subfertility +subfeudatary +subfeudation +subfeudatory +subfield/SM +subfissure +subfix/SGD +subfloor/SM +subfluvial +subfolder/SM +subfolium +subform/SM +subformat/SM +subformation/SM +subforum/SM +subfossil/SM +subfraction/SMN +subframe/SM +subfrigid +subfunction/SM +subfusc/SM +subgame/SM +subgenera/1W +subgenomic +subgenre/SM +subgenus +subgiant/SM +subglacial/Y +subglobose +subglobular +subgroup/SM +subhead/MGSJ +subheading/M +subhuman/SM +subimpose +subincandescent +subincision/SM +subindex/SM +subindustry/SM +subinfeud/SGD +subinfeudation +subinfeudatory/SM +subinterval/SM +subitem/SM +subjacent +subject/vGSDuMV7p +subjectdom +subjecthood +subjectible +subjectification +subjection/SM +subjective/P3 +subjectivise/DGS +subjectivism/SM +subjectivity/SM +subjectship +subjoin/GDS +subjugable +subjugal +subjugate/DnGS +subjugator/MS +subjunctive/SY +subjunctivity/M Noun: uncountable +subkey/SM +subkind/SM +subkingdom/SM +sublacustrine +sublanguage/SM +sublapsarian/SM +sublapsarianism +sublate/SDGN +sublateral +sublattice/SM +sublayer/SM +sublease/DMGS +sublegion/SM +sublet/SG +sublethal +Sublette/M +subletter/SM +sublevation/SM +sublevel/SM +sublibrary/SM +sublicense/DS +sublicensee/SM +sublight +sublimate/DSG +sublime/YTDnSG +subliminal/Y +sublimity/SM +sublingual/Y +sublink/SM +sublist/SM +sublittoral +sublumial +subluminal +sublunar +sublunary +subluxate/SGDn +submachine/SM +submandibular +submanifold/SM +submarginal +submarine/RSM +submaster/MS +submaxillary +submedial +submedian +submediant/MS +submembranaceous +submembranous +submental +submenu/SM +submerge/GDS +submergence/SM +submerse/SbXGDN +submersible/SM +submersion/M +submetacentric +submicrometre +submicroscopic +subminiature +submission/MA +submissive/PY +submit/ANSGDX +submittal +submitter/SM +submodify/RSDGN +submodule/SM +submucosa/O +submucosae +submultiple/SM +submunition/SM +submuscular +subnanosecond +subnational +subnatural +subnet/MS +subnetwork/SM +subnormal +subnormality +subnotebook/SM +subnuclear +subocular/M +suboperation/SM +suboptimal/Y +suboptimum +suboption/SM +suborbital +suborder/MS +subordinal +subordinary/SM +subordinate/ISYDGn +subordination/MI +subordinative +subordinator/SM +suborganisation/SM +suborn/GDSr +subornation/SM +subornee/SM +suboval +subovoid +suboxide/SM +Suboxone/M +subpage/SM +subpar +subparagraph/SM +subparallel +subpart/SM +subperitoneal +subpersonality +subpetiolar +subpetiolate +subpetiole/D +subphotospheric +subphyla +subphylum +subplanetary +subpleural/Y +subplot/SM +subpoena/DGSM +subpopulation/SMO +subprime +subprior/MS +subprocess/SM +subprogram/SM +subproject/SM +subpubic +subquery/SM +Subramanian/M +subrange/SM +subrectangular +subreddit/SM +subregion/SOoM +subreligion/SM +subreption/SM +subreptitious/Y +subrident +Subritzky/M +subrogate/SGDn +subrotund +subrotundate +subround +subroutine/SM +subrule/SM +subsale/M +subsalt +subsample/SGDM +subsaturation/MS +subscale/SM +subscapular +subscribe/AGcSDU +subscriber/SM +subscript/DGS +subscription/MSp3 +subscriptive +subscrive/SGD +subsea +subsecant/M +subsect/SGD +subsection/SMD +subsegment/SM +subsellia/M +subsellium/M +subsensation/SM +subsensible +subsequence/MSZ +subsequent/Y +subsequentially +subsere +subserosa/MO +subserous +subserve/SGD +subserviate/SGD +subservience/M Noun: usually uncountable +subserviency/M +subservient/YP +subsessile +subset/MS +subsexual +subshell/SM +subshrub/SMZ +subside/qQDZGsS +subsidence/SM +subsidiarity/M Noun: usually uncountable +subsidiary/SMY +subsidy/SM +subsist/GSD +subsistence/SM +subsistent +subsocial +subsoil/MSG +subsolar subsolar point +subsolidus +subsonic/Y +subspace/SM +subspecialist/SM +subspecies/M +subspecific +substage/SM +substance/SM +substandard/Y +substandardness/M Noun: uncountable +substantial/YI +substantialise/DGS +substantialism/M Noun: usually uncountable +substantialist/MS +substantiality/SM +substantiate/SDGn +substantiation/FMS +substantival/Y +substantive/SMY +substation/SM +substellar +substituent/SM +substitute/SMVBvDG +substitution/SyMO +substorm/SM +substrata/M +substrate/MS +substratum/M +substring/SM +substructure/SMO +substyle/SM +subsumable +subsume/GSD +subsumption/SM +subsurface/SM +subsystem/MS +subtangent/SM +subtask/SM +subteen/SM +subteenage +subteenager/M +subtelocentric +subtemporal +subtenancy/SM +subtenant/SM +subtend/SDG +subtense/SM +subtention/M +subtenure +subteraqueous +subterfluent +subterfuge/SM +subterminal +subternatural +subterposed +subterraneal +subterranean/YS +subterraneous/Y +subtest/SM +subtext/SM +subtextual +subtheme/SM +subtidally +subtilise/DGS +subtilty/M +subtitle/MSGD +subtle/PTY +subtlety/SM +subtonic +subtopia/MS +subtopian +subtopic/SM +subtotal/MSGD +subtract/RvVGDS +subtraction/SM +subtrahend/SM +subtree/SM +subtribe/SM +subtropic/SMOY +subtweet/SMGD +subtype/SM +subungulate/SM +subunit/MS +suburb/SM +suburban/Qq +suburbanite/MS +suburbia/M +subvention/MS +subversion/SM +subversive/PSY +subvert/SDGr +subvital +subvocal/Y +subvocalise/SGDn +subwarden/SM +subway/MS +subweb/SM +subwindow/SM +subwoofer/SM +subword/SM +subworld/SM +subzero Adjective +subzone/SMO +succeed/7rGSDk +success/VM6jvuS +successful/P +successfully/U +successfulness/U +succession/OSM +successive/P +successor/SM +succinate/SM +succinct/PY +succinic +Succoth/M +succour/SGMDp +succubi/M +succubus/M +succulence/M Noun: usually uncountable +succulent/SMY +succumb/GSD +succursal +such +such-and-such +suchlike +suck/GRSD +sucker/d +suckle/JSGDr +Suckley/M +suckling/SM +sucralose/SM +Sucre/M +sucrose/SM +suction/DMGS +Sudan/M +Sudanese/M +sudaria/M +sudarium/M +Sudborough/M +Sudbourne/M +Sudbrook/M +Sudbrooke/M +Sudbury/M +sudden/YP +Sudeley/M +Sudetenland/M +Sudhindra/M +sudoku/SM +sudoriferous +sudorific/SM +Sudra/SM +suds/Z +sudsy/T +Sue/M +sue/R7SGD +suede/M +Sueli/M +suet/SMZ +Suetonius/M +Sueur/M +Suez/M +suffect/SM +suffer/drJS +sufferable +sufferance/SM +suffering/M +Suffern/M +suffice/SGD +sufficiency/IM +sufficient/IY +Suffield-cum-Everley/M +Suffield/M +suffix/nSGDMO +suffixion/SM +suffocate/SGkDn +Suffolk/MS +suffragan/SM +suffrage/3SM +suffragette/MS +suffuse/DSG +suffusion/SM +Sufi/M +Sufism/M Noun: uncountable +sugar-coated +sugar/dMpSZ +Sugar/M +sugarbird/SM +sugarcane/M Noun: usually uncountable +sugarplum/SM +suggest/RGuVvSDb +suggestibility/M +suggestion/SM +suggestive/P +Sugimori/M +Sugiura/M +Sugwas/M +suicidality/SM +suicide/DGSoMO +suicidology/M Noun: uncountable +Suissas/M +Suisun/M +suit/MldSg7 +suitability/U +suitable/U +suitableness +suitably/U +suitcase/SM +suite/MS +suited/U +suitor/MS +Sukarno/M +sukiyaki/MS +Sukkot/M +Sukkoth/M +Sulawesi/M +Sulby/M +sulci/M +sulcus/M +Suleiman/M +sulfacetamide/M Noun: uncountable +sulfamethoxazole/M Noun: uncountable +sulfapyridine/M Noun: uncountable +sulfasalazine/SM +sulfate/SM +sulfhydryl/SM +sulfonamide/SM +Sulgrave/M +Sulham/M +Sulhamstead/M +sulk/Gz2SD +sulky/T +Sulla/M +sullen/YP +sullener +Sullington/M +Sullivan/M +Sully/M +sully/SDG +Sulney/M +sulphadiazine/M Noun: usually uncountable +sulphamethoxazole/M Noun: uncountable +sulphapyridine/M Noun: uncountable +sulphasalazine/SM +sulphate/GDSM +sulphide/MS +sulphite/SM +sulpholane/M +sulpholene/M +sulphonamide/MS +sulphonate/SGDN +sulphone/SMW +sulphonyl/MS +Sulphur/M +sulphur/MdSW +sulphurate/DGS +sulphurise/DGS +sulphurous +sulphuryl/MS +Sultan/M +sultan/SM +sultana/MS +sultanate/MS +sultry/TPY +Sulu/M +sum/NSRMXDG +sumac/SM +Sumatra/M +Sumatran/SM +sumatriptan/M Noun: uncountable +Sumbawa/M +Sumer/M +Sumerian/SM +summand/SM +summarisation/SM +summary/SsQMYP +summat +summation/FMS +summation/O +summative +summer/dZpY +Summer/SM +Summerdale/M +Summerfield/M +Summerford/M +Summerhill/M +Summerhouse/M +summerhouse/MS +Summers/M +Summerside/M +summertime/SM +Summertown/M +Summerville/M +summing-up/M +Summit/M +summit/SpM +summiteer/SM +summitry/M Noun: usually uncountable +summon/rdS +summonable +summons/SGDM +summum +Sumner/M +Sumney/M +sumo/SM +sump/SM +sumpter/MS +Sumption/M +sumptuary +sumptuosity/SM +sumptuous/YPK +sumpweed/SM +Sumter/M +sun-baked +sun-dried +sun-grazing +sun/DZpMSG2 +Sun/M +Sunagawa/M +sunbath/SMR +sunbathe/SGD +sunbeam/MS +sunbed/SM +sunbelt/SM +sunbird/SM +sunbittern/SM +sunblind/SM +sunblock/SM +sunbonnet/MS +sunbow/SM +sunburn/MSGD +sunburnt +sunburst/SM +Sunbury-on-Thames/M +Sunbury/M +Sunda/M +sundae/SM +Sundanese/M +Sundaram/M +Sundari/M +Sunday/MS +Sundberg/M +sunder/dS +Sunderland/M +sundew/SM +sundial/SM +Sundon/M +sundown/MR +sundress/SM +Sundridge/M +sundrops/M Noun: uncountable +sundry/SM +sunfish/MS +Sunflower/M +sunflower/SM +sung/U +sungazing +sunglasses +sunk +Sunk/M +sunken +sunlamp/SM +Sunland/M +sunlight/M +sunlit +Sunna/M +Sunni/MS +Sunningdale/M +Sunninghill/M +Sunningwell/M +Sunnite/MS +Sunny/M +sunny/TPY +Sunnyhills/M +Sunnynook/M +Sunnyside/M +Sunnyvale/M +Sunrise/M +sunrise/SM +sunroof/SM +sunscreen/SM +sunseeker/SM +sunset/SM +sunshade/SM +Sunshine/M +sunshine/ZM +sunspot/SM +sunstroke/M +suntan/DMSG +suntrap/SM +sunward/S +sunwise +sup/GRSD +super-dooper +super/5m +superable +superabound/DGS +superabundance/M Noun: usually uncountable +superabundant/Y +superactivity/SM +superadd/DGS +superaddition/MS +superaeon/M +superalloy/SM +superaltar/MS +superannuable +superannuate/GSDn +superaqueous +superb/PY +superbeing/SM +superbike/SM +Superbowl/M +superbug/SM +supercalender/SM +supercalendered +supercalendering +supercalifragilistic +supercalifragilisticexpialidocious/Y +supercalifragilisticexpialidociousness/M Noun: uncountable +supercapacitor/SM +supercar/SM +supercargo/M +supercargoes +supercelestial/M +supercell/SM +supercentenarian/SM +supercentre/SM +supercharge/GSRD +superchip/M +superchurch/SM +superciliary +supercilious/YP +supercity/SM +superclass/SM +superclean +superclub/SM +supercluster/SM +supercoil/SDGM +supercold Adjective +supercollider/SM +supercolumniation/MS +supercomplex/SM +supercomputer/MS +supercomputing/M Noun: uncountable +superconduct/VG +superconductivity/SM +superconductor/MS +superconscious/PY +supercontinent/SM +supercontract/SGDN +supercookie/SM +supercool/DGS +supercrescent Adjective +supercritical +supercriticality +superdeterminism/M Noun: uncountable +superdeterminist/SMW +superego/MS +superelevation/SM +supereminence/SM +supereminent/Y +supererogation/SM +supererogatory Adjective +superexcellence/M Noun: uncountable +superexcellent Adjective +superface/SM +superfamily/SM +superfan/SM +superfast +superfatted +superfecundation/M Noun: usually uncountable +superfemale/SM +superfetation/SM +superficial/YP +superficiality/SM +SuperFin +superfine +superfluid/SM +superfluidity +superfluity/MS +superfluorescent +superfluous/YP +superflux/SM +superfood/SM +superforce/SM +superfortress/SM +superfrontal +superfruit/SM +superfusate +superfuse/SGDN +supergalactic +supergalaxy/SM +supergene/SM +supergiant/SM +superglass/MS +superglue/dS +superglueing +supergovernment/SM +supergranulation/SM +supergravity/SM +supergroup/SM +superheat/DGSr +superheavy +superheavyweight/SM +superhelical +superhelices +superhelix +superhero/M +superheroes +superhet/MS +superheterodyne/SM +superhighway/SM +superhot +superhuman/SMY +superhumeral/MS +superimpose/XSGDN +superimposition/M +superincumbent/Y +superinduce/DGS +superinduction/MS +superinfection/SM +superinjunction/SM +superintelligence/SM +superintelligent +superintend/DSG +superintendence/Z +superintendency/SM +superintendent/SM +superintendentship/MS +superionic +Superior/M +superior/SMY +superioress/MS +superiority/SM +superjacent +superjet/SM +superlative/PSY +superlumial +superluminal +superlunary +supermacho +supermajority/SM +supermale/SM +Superman/M +supermarket/MS +supermassive +supermax/SM +supermaxilla +Supermen/M +supermodel/SM +supermoon/SM +supermundane +supernacular +supernaculum/MS +supernal +supernatant/SM +supernational +supernationalism/M Noun: usually uncountable +supernatural/PY3 +supernaturalism/SM +supernaturalistic +supernature/SM +supernormal +supernormality/M Noun: usually uncountable +supernova/SM +supernovae/M +supernumerary/SM +superorder/SM +superordinal Adjective +superordinate/SM +superordination/SM +superorganic +superorganism/SM +superosculate/SGD +superovulate/SGDN +superoxide/SM +superoxygenated +superoxygenation +superparamagnetic +superparamagnetism +superparasite/W +superparasitism/M Noun: usually uncountable +superparticular +superparticularity +superpartner/SM +superperson/O +superpersonalism +superpersonality/SM +superphosphate/SM +superphylum/M +superphysical +superplanetary Adjective +superplastic/SM +superplasticity/SM +superplume/SM +superplus +superposability/M Noun: uncountable +superposable +superpose/DGNS +superposition/SM +superpower/SM +superpowered +superprofit/SM +superproportioned +superpub/SM +superpurgation/SM +superradiance +superradiant +superreal +superrealistic +superreality/SM +superregeneration/M Noun: uncountable +superregenerative +superregenerator/SM +superrotation/SM +supersale/SM +supersalient Adjective +supersalt/SM +supersaturate/GDSn +supersaurus +superscalar +superscribe/DSG +superscript/GSD +superscription/SM +supersede/GSD +supersedence/MS +supersedure/MS +supersell/R +supersensible +supersensitive +supersensitivity/M Noun: uncountable +supersensory Adjective +supersensual +supersensualism/M Noun: uncountable +supersession/SM +superset/SM +supersexual +supersize/SDG +supersolid/MS +supersolidity/MS +supersonic/YSM +supersound/SM +superspace/SM +superspecies +superspeed/SM +superspy/SM +superstandard Adjective +superstar/SM +superstardom/M Noun: uncountable +superstate/SM +superstition/SM +superstitious/YP +superstore/SM +superstrata/M +superstratum/M +superstring/SM +superstructure/SMO +supersubstantial +supersubtle +supersubtlety/MS +supersymmetry/W +supertanker/MS +supertax/SM +supertemporal/M +superterranean/M +superterrene Adjective +superterrestrial Adjective +supertonic/MS +supertwist/SM +superuser/MS +supervene/SDG +supervenience/M Noun: usually uncountable +supervention/MS +supervillain/SM +supervise/DNGXS +supervisee/SM +supervision/SM +supervisor/MS +supervisorship/SM +supervisory +supervolcano/SM +supervolcanoes +supervoltage/SM +supervolute Adjective +superweed/SM +supinate/SGDN +supination/MS +supinator/MS +supine/PYSM +supperless +suppertime +supplant/GSDr +supple/LYPT +supplely +supplement/GDnO +supplementary/SM +suppletion +suppletive +suppliant/SM +supplicant/SM +supplicate/GDSn +supplicatory +supplier/SM +supply's/c +supply/ASDGc +support/vRDkSBGVp +supportability/SM +supportable/IU +supportable/Y +supposable +supposal/MS +suppose/DXKSGN +supposed/Y +supposition/M +suppositious/YP +suppository/SM +suppress/NXVGDSb +suppressant/SM +suppression/M +suppressively +suppressor/SM +suppurate/DSnG +supra +suprabasal +supraliminal +supralunar +supramaxilla +supramaximal/Y +supramedial +supramolecular +supramundane +supranational/Y +supranationalism/M Noun: usually uncountable +supranationality/M Noun: uncountable +supranature/O +supranuclear +supraoccipital +supraorbital +suprarational +suprarenal +suprasegmental/SM +supraspecific +supratemporal +supratrochlear +supravaginal +supravitally +supremacism/SM +supremacy/3MS +suprematism +suprematist/SM +supreme/YP +supremity/SM +supremo/MS +Supt. +sura/SM +Surabaya/M +surah/SM +suramin/M Noun: uncountable +surangular/SM +Surat/M +Surbiton/M +surcease/SM +surcharge/GDSM +surcingle/MS +surcoat/SM +surculose +surd/SM +sure-fire +sure-footed/YP +sure/TPY +surer +surety/SM +suretyship/MS +surf/RDMSGZ +surface-active +surface-to-air +surface-to-surface +surface/RSGMD +surfactant/SM +surfboard/MGS +surfeit/MGSD +surficial/Y +surfing/M +Surfleet/M +surge/ASDG +surge/M +surgeon/SM +surgery/SM +surgical/Y +suricate/SM +Surinam/M +Suriname/M +Surinamese +suriphobia/M +surjection/SM +surjective/Y +Surlingham/M +surly/PTY +Surman/M +surmise/DGS +surmount/G7DS +surmountable/I +surmullet/MS +surname/GSDM +surpass/GkSD +surplice/MS +surplus/MS +surprisal/SM +surprise/kSMDG +Surprise/M +surprising/UY +surra/M Noun: uncountable +surreal/PY +surrealism/MS +surrealist/W1SM +surreality/SM +surrebutter/MS +surrejoinder/MS +surrender/Sd +surreptitious/YP +Surrey/M +surrey/MS +surrogacy/SM +surrogate/MS +surrogateship/MS +surround/DSJG +Surry/M +surtax/SM +Surtees/M +surtitle/SM +surtout/SM +surveil/S +surveillance/MS +surveilled +surveilling +survey/AGSD +survey/M +surveyor/SM +surveyorship/MS +survivability/SM +survival/SM3 +survivalism/M Noun: usually uncountable +survive/BGDS +survivor/SM +survivorship/M Noun: usually uncountable +Surya/M +Suryavarman/M +Susan/M +Susana/M +Susanna/M +Susannah/M +Susanne/M +Susanville/M +susceptibility/MSI +susceptible/SMZ +susceptive +susceptivity/SM +SUSE/M +Susette/M +Sushant/M +sushi/M Noun: usually uncountable +Susie/M +suslik/MS +suspect/GSDM +suspend/SNDRXGvV +suspense/M6 +suspensible +suspension/M +suspensiveness/M +suspensory/SM +suspicion/SM +suspicious/PY +suspiration/SM +suspire/SGD +Susquehanna/M +suss/GSD +Sussex/M +Sussman/M +sustain/rlGBLDS +Sustead/M +sustenance/SM +Sustenna/M +Susumu/M +susurration/SM +Sutcliffe/M +Sutcombe/M +Sutera/M +Sutherland/M +Sutlej/M +sutler/MS +Sutra/SM +sutra/SM +suttee/SM +sutteeism/M Noun: uncountable +Sutter/M +Sutterby/M +Sutterfield/M +Sutterton/M +Sutton-at-Hone/M +Sutton-under-Whitestonecliffe/M +Sutton/MS +suture/DGMSO +SUV +Suva/M +Suwanee/M +Suwannee/M +Suzann/M +Suzanne/M +suzerain/SM +suzerainty/SM +Suzette/M +Suzie/M +Suzuki/M +Suzy/M +Svalbard/M +Svarga/M +SVCD +Svedberg/M +svelte/Y +Svelto/M +Sven/M +Svensson/M +Sverdlovsk/M +Svetlana/M +SVG/M +SVGA/M Initialism of Super Video Graphics Array +SVN +svn +SW +swab/SMDG +Swabia/M +Swabian/SM +Swaby/M +swaddle/DGS +swaddy/MS +Swaffham/M +Swafield/M +swag/DMGS +swage/SGD +swagger/rSdk +swaggie/MS +swagman/M +swagmen/M +Swahili/MS +Swain/M +swain/MS +Swainby/M +Swainsthorpe/M +Swainswick/M +SWAK +Swalcliffe/M +Swale/M +swale/SM +Swalecliffe/M +Swales/M +swallow-tailed +swallow/DGSR +Swallow/M +swallowable +Swallowcliffe/M +Swallowfield/M +swallowtail/MS +swam +swami/SM +Swamigal/M +Swammerdam/M +swamp/DGZS2M +swamphen/SM +swampland/SM +Swampscott/M +swampy/T +swan/GMSD +Swan/M +Swanage/M +Swanbourne/M +Swaney/M +swank/GDTZSz +swankpot/MS +swanky/TP +Swanland/M +Swanley/M +swanlike +Swanmore/M +Swannanoa/M +swannery/MS +Swannington/M +Swanscombe/M +Swansea/M +Swanson/M +swansong/SM +Swanton/M +Swanwick/M +swap/RSGD +swappable +Swarby/M +sward/MDS +Swardeston/M +swarf/SM +Swarga/M +Swarkestone/M +swarm/MDSGr +Swarraton/M +swart +Swarthmore/M +swarthy/PT +Swartz/M +swash/DSG +swashbuckler/SM +swashbuckling +swastika/SM +swat/SRGD +Swatara/M +swatch/MS +swath/MDGS +swathe/SM +Swaton/M +Swatragh/M +Swavesey/M +Sway/M +sway/SDG +swayback/DS +Swayfield/M +Swayze/M +Swazi/MS +Swaziland/M +swear/RSG +swearword/MS +sweat/RZSGMDz +sweatband/MS +sweatpants +sweatshirt/SM +sweatshop/SM +sweatsuit/SM +sweaty/PT +Swede/MS +swede/SM +Sweden/M +Swedenborg/M +Swedenborgian/MS +Swedish/M +Sween/M +Sweeney/M +sweep/kRSGJ +sweepback/M +sweepingness/M +sweepstake/MS +sweet-talking +sweet-tempered +sweet/PYTS~ +sweetbread/SM +sweetbrier/SM +sweetcorn/SM +sweeten/drS +sweetened/U +sweetening/M +sweetheart/SM +sweetie/SM +sweetlip/SM +Sweetman/M +sweetmeal/M +sweetmeat/MS +sweetshop/SM +Sweetwater/M +Swefling/M +swell/JDGS +Swell/M +swelter/Sdk +Swenson/M +Swepstone/M +swept +sweptback +Swerford/M +swerve/DGSp +swerving/U +Swettenham/M +Swift/M +swift/TYSP +swiftie/SM +SwiftKey/M +swiftlet/MS +swifty/SM +swig/MSDGR +swill/SDG +Swilland/M +Swillington/M +swim/SRG +Swimbridge/M +swimfeeder/SM +swimmeret/MS +swimming/Y +swimsuit/MS +swimwear/M Noun: usually uncountable +Swinbrook/M +Swinburne/M +Swindale/M +Swinderby/M +swindle/DRGS +Swindon/M +Swine/M +swine/SM +Swinefleet/M +swineherd/SM +swinery/MS +Swineshead/M +Swinethorpe/M +Swinfen/M +Swinford/M +swing/RkZSG +swingarm/SM +swingboat/SM +swingeing/Y +Swingfield/M +swingier +swingiest +swingle/SGD +swingletree/SM +swingman/M +swingmen/M +swingometer/SM +Swinhope/M +swinish/YP +swink/DGMS +Swinney/M +Swinscoe/M +Swinstead/M +Swinton/M +swipe/DGSMr +swipple/MS +swirl/DGYS +Swirles/M +swirly/T +swish/SZDG +swishier +Swiss/MS +Swissair/M +switch-blade/SM +switch-over/M +switch/BDMRGS +switchback/MS +switchboard/MS +switched-on +switcheroo/SM +switchgear/SM +switchover/SM +swither/Sd +Swithin/M +Swithland/M +Swithun/M +Switzer/M +Switzerland/M +swivel/DGSM +swizz/SM +swizzle-stick/SM +swizzle/MGDr +swollen +swoon/DSG +swoop/DGS +swoosh/DSG +sword/SmM +swordfish/SM +swordlike +swordplay/M Noun: usually uncountable +swordsmanship/SM +swordsmith/SM +swordtail/SM +swore +sworn +SWOT/M Noun: uncountable +swot/SGD +swotty/T +swum +swung +Swyncombe/M +Swynford/M +Swynnerton/M +Swyre/M +SXGA +sybarite/SWMw +sybaritism/SM +Sybil/M +Sybille/M +syboe/MS +sycamine/MS +Sycamore/M +sycamore/SM +sycophancy/SM +sycophant/MSW1 +Syd/M +Syde/M +Sydenham/M +Syderstone/M +Sydling/M +Sydmonton/M +Sydney/M +Syed/M +syenite/SMW +Syerston/M +Sygun/M +Sykehouse/M +Sykes/M +Sylacauga/M +Syleham/M +syllabary/SM +syllabi/M +syllabify/GSnD +syllabise/DGS +syllable/WSM +syllabub/SM +syllabus/SM +syllogise/DGS +syllogism/SM +syllogistic/Y +sylph-like +sylph/MS +sylphlike +Sylvain/M +sylvan +Sylvan/M +Sylvania/M +Sylvanus/M +sylvatic +Sylvester/M +Sylvestre/M +Sylvia/M +Sylvie/M +sylvite/SM +Symantec/M +Symbian/M +Symbicort/M +symbiont/MS +symbioses +symbiosis/M +symbiote/SM +symbiotic/Y +symbol/13WQqSwM +symbolism/SM +symbology/SM +Symington/M +symlink/SGD +Symmachus/M +Symmes/M +symmetrical/U +symmetry/QSWM1w +Symonds/M +Symondsbury/M +Symons/M +sympathetic/UY +sympathomimetic +sympathy/SQsWM +sympatric/Y +sympatry/SM +symphonious +symphony/SWM3 +symphyseal +symphyses +symphysial +symphysis +symplast/W +symplectic +sympodia/OM +sympodium/M +symposia/OM +symposiast/MS +symposium/SM +symptom/MpWS1 +symptomatology/SM +synaereses +synaeresis/M +synaesthesia +synaesthete/SMW +Synagis/M +synagogal +synagogical +synagogue/MS +synanthrope/MS +synanthropic/Y +synanthropy/M Noun: uncountable +synaphobranchid/SM +synapomorphy/SM +synapse/WSM +synapsid/SM +synapsis +synaptogenesis +sync/SDG +synch +synchromesh/SM +synchronic/Y +synchronicity/SM +synchronise/CSAGD +synchronised/U +synchroniser/CSM +synchronism/SM +synchronous/Y +synchrony/sqQ +synchrotron/SM +syncline/MSO +syncopal Adjective +syncopate/GDSn +syncopator/SM +syncope/nM +syncretic +syncretise/SGDN +syncretism/SM +syncretist/SMW +syncytia/OM +syncytium/M +syndactyl/YSM +syndic/nMSO +syndicalism/SM +syndicalist/SM +syndicate/SMDG +syndrome/SM +syndromic +synecdoche/SM +synecdochic/OY +synecology/M Noun: usually uncountable +synergetic +synergise/SGD +synergism/SM +synergist/S1MW +synergy/MSW +synesis +synfuel/SM +syngamous +syngamy +syngenesis +syngenetic +Synnott/M +Synod +synod/MWwSO +synoecious +synonym/SZWM +synonymity/M Noun: usually uncountable +synonymous/YP +synonymy/SM +synopses +synopsis/M +synopsise/SGD +Synoptic/SM +synoptic/SOY +synostoses +synostosis/M +synovial Adjective +synsacra/M +synsacrum/SM +syntactic/YO +syntactician/MS +syntagm/SM +syntagma/SM +syntagmata/M +syntagmatic/SY +syntax/SM +synth/SMZ +synthase/SM +syntheses +synthesis/rQSdM +synthesise/ADGS +synthesist/MS +synthetic/SYO +synthpop/M Noun: uncountable +Synthroid/M +synthwave/M Noun: uncountable +syntype/SM +synzoochore/MSW1 +synzoochorous +synzoochory/M Noun: uncountable +syphilis/MS +syphilitic/SM +syphiloid/SM +syphon/d +Syracuse/M +Syrah/SM +Syre/M +Syresham/M +Syria/M +Syriac/M +Syrian/MS +syringe/SMGD +Syriza/M +Syro-Arabian/S +Syro-Phoenician/S +syrup/SM +syrupy +sysadmin/SM +syscall/SM +Sysonby/M +sysop/SM +systaltic +system/W1SMp +systematic/S +systematise/nRSGD +systematism/SM +systematist/SM +systemic/Y +systemise/SGDnr +systole/WSM +Syston/M +Sywell/M +syzygy/SM +Szabo/M +Szandor/M +Szczecin/M +Szczepanik/M +Szechuan/M +Szeged/M +Szymanski/M +Szymon/M +T +T'ang +T's +T-junction/SM +T-shaped +T-shirt/SDM +t/7k +Ta/M +ta/o +taal/M +tab/DSZMGp +Tabano/M +tabard/MS +tabaret/SM +Tabarrok/M +Tabasco/M +Tabb/M +tabbable +tabbouleh/M Noun: usually uncountable +tabby/MS +Taber/M +tabernacle/DMS +tabetic/SM +Tabitha/M +tabla/MS +table-top/SM +table/MSGD +tableau/SM +tableaux's +tablecloth/SM +tableland/SM +tablemate/SM +tablemount/SM +tablespoon/6SM +tablespoonful/MS +tablet/SM +tabletop/MS +tableware/SM +Tabley/M +tablier/SM +tabloid/SM +taboo/DGMS +tabor/SM +Tabriz/M +tabular/Y +tabulate/SGnD +tabulator/SM +tabun/M Noun: uncountable +tac/D2ZG +Tachbrook/M +tachistoscope/SMW1 +tachocline/SM +tachograph/SM +tachometer/SM +tachycardia/SM +tachyon/SMW +tachyphylaxis/M +tachypnea/M Noun: usually uncountable +tachypnoea/M Noun: usually uncountable +tacit/PY +taciturn/Y +taciturnity/SM +Tacitus/M +tack/SM +tackle/DRMGS +Tackley/M +tacky/TSM +taco/MS +Tacolneston/M +Tacoma/M +tact/jWM6p1w +tactfulness/M Noun: usually uncountable +tactic/MS +tactician/SM +tacticity/SM +tactile/Y +tactility/SM +tactless/YP +tactual/Y +tad/SM +Tadcaster/M +Taddington/M +Tadeusz/M +Tadley/M +Tadlow/M +Tadman/M +Tadmarton/M +tadpole/SM +taeniodont/SM +Taf/M +Taff/MZ +taffeta/MS +taffrail/MS +Taffy/MS +Taft/M +tag/GMDSR +Tagalog/SM +tagalong/SM +tagatose/SM +Tagetes +tagetes +tagine/SM +tagliatelle/SM +tagma/M +tagmata/M +Tagus/M +Tahana/M +Taharoa/M +tahina/SM +tahini/SM +Tahiti/M +Tahitian/SM +Tahlequah/M +Tahoe/M +tahsil/MS +Tahunanui/M +Tai-bach/M +Taiaroa/M +Taichung/M +Taieri/M +taiga/SM +Taihape/M +Taiki/M +tail-end/R +tail/AMCDSG +Tail/M +tail/p +tailback/MS +tailboard/SM +tailcoat/SM +taildragger/SM +tailgate/SGDMR +tailing/SM +tailor-made +tailor/dSM +tailoress/MS +tailpiece/SM +tailpipe/MS +tailplane/SM +tailspin/GSM +tailspun +tailstock/SM +tailwater/SM +tailwheel/SM +tailwind/SM +Tain/M +Taino/SM +taint/SGDp +Taipa-Mangonui/M +taipan/SM +Taipei/M +Taiping/M +Tairua/M +Tait/M +Taitā/M +Taiwan/M +Taiwanese/M +Taiyuan/M +Taizé/M +Taj Taj Mahal +Tajikistan/M +tajine/SM +Tajiri/M +takable +Takagi/M +Takahashi/M +Takaka/M +Takamatsu/M +Takanini/M +Takapu/M +Takapuna/M +Takapuwahia/M +Takaro/M +Takayanagi/M +take-home/SM +take-off/SM +take-up/SM +take/RfGSJ +takeaway/SM +takedown/SM +Takei/M +Takeley/M +Takemoto/M +taken/caAf +takeover/MS +taker's/a +taker/cS +takes/IacA +Takeshi/M +taketh Archaic, but doesn't cause FPs +Takeuchi/M +Takeyuki/M +taking/Aac +taking/Y +takingness/M Noun: uncountable +Takoma/M +Tal-y-llyn/M +Tal/M +Talach-ddu/M +talapoin/MS +Talaton/M +Talbenny/M +Talbert/M +Talbot/M +talbot/MS +talc/SM +talcose Adjective +Talcott/M +talcum/SM +tale/MS +Taleb/M +talebearer/MS +talent/pMDS +talesman/M +talesmen/M +Talgarth/M +Talhaiarn/M +Taliaris/M +Taliban/M +Taliesin/M +talionis lex talionis +talipot/MS +talisman/WSM +talk/RDvSuZVG +talkathon/SM +talkback/SM +talkboard/SM +Talke/M +talkie/SM +talky/T +tall/PT~ +Talladega/M +tallage/MS +Tallaght/M +Tallahassee/M +Tallahatchie/M +Talland/M +Tallapoosa/M +tallboy/MS +Talley/M +Talleyrand/M +tallier/MS +Tallington/M +Tallinn/M +Tallis/M +Tallmadge/M +Tallon/M +tallow/ZSM +Tallulah/M +tally-ho/SM +tally/DSGM +Tally/M +tallyman/M +tallymen/M +Talmage/M +Talmine/M +Talmud/M3Ww +talon/MS +taloned +talonid/SM +talose/M Noun: uncountable +Talsarnau/M +Talton/M +talus/SM +Talut/M +Talybont-on-Usk/M +Talybont/M +Tam/MS +Tama/M +Tamaddon/M +Tamaki/M +tamale/MS +Tamar/M +Tamara/M +Tamarac/M +tamarack/MS +Tamarau/M +tamarin/SM +tamarind/SM +tamarisk/SM +Tamás/M +tamasha/SM +tambourine/MS +Tambov/M +tame/RTGDYS7P +tameability/M Noun: uncountable +Tamerton/M +Tameside/M +Tami/M +Tamiflu/M +Tamil/SM +Tamilian/MS +Tamlaght/M +Tammany/M +Tammaru/M +Tammie/M +Tammy/M +tammy/MS +Tamnamore/M +tamoxifen/M Noun: usually uncountable +tamp/DGS +Tampa/M +Tampax/M +tamper/rdS +Tampere/M +Tampico/M +tampion/MS +tampon/dMS +tamponade/SM +tamsulosin/M Noun: usually uncountable +Tamworth/MS +tan/SMJDRyG +tanager/SM +Tanagra/M +Tanaka/M +Tanakh/M +Tananarive/M +Tanar/M +tanbark/SM +Tancredi/M +tandem/MS +tandoor/SM +tandoori/SM +Tandragee/M +Tandridge/M +Tandy/M +Tanenbaum/M +Taney/M +Tanfield/M +tang/SbZMY +Tanganyika/M +tangelo/MS +tangency/SM +tangent/MS +tangential/Y +tangerine/MS +tangibility/SIM +tangible/IYS +tangibleness/M Noun: uncountable +tangibly/I +Tangier/MS +Tangipahoa/M +Tangiteroria/M +tangle/DSUG +tangle/M +Tangley/M +tanglier +tangliest +Tangmere/M +tango/SGMD +Tangowahine/M +tangram/MS +tangy/TP +Tanhouse/M +Tania/M +tanist/MS +tanistry/M Noun: usually uncountable +taniwha/SM +Tanja/M +tank/GMR6DS +tankage/SM +tankard/SM +tankbuster/SM +Tankersley/M +tankette/SM +tankful/SM +tankini/SM +tankodrome/SM +Tannadice/M +Tannahill/M +Tannen/M +Tannenbaum/M +tannery/SM +Tannhäuser/M +tannic +tannin/SM +tanning/M +Tannington/M +Tannock/M +tannoy/SGDM +tans/Z +Tansley/M +Tansor/M +tansy/MS +tantalise/k +tantalocene/M +tantalum/sQqM +Tantalus/M +tantamount/SM +Tanterton/M +tantra/SMW +tantrism/M Noun: uncountable +tantrist/MS +tantrum/SM +Tanur/M +Tanworth/M +Tanya/M +Tanzania/M +Tanzanian/SM +Tao/M +Taoiseach/M +Taoism/MS +Taoist/SWM +Taos/M +tap-dance/G +tap/drRDMGSp +Tapanui/M +tapas/M Noun: uncountable +Tapawera/M +tape-record/G +tape/Sp7M +tapelike +taper/d +tapestry/SMD +tapeta/MO +tapetum/M +tapeworm/MS +taphonomist/SM +taphonomy/SMW +tapioca/SM +tapir/SM +tapiroid/MS +Taplow/M +Tapora/M +tappable +Tappenden/M +tappet/SM +taproom/MS +taproot/SM +tapster/SM +tapu +Tapu/M +tar/DMZGS +Tara/MS +Taradale/M +taradiddle/MS +tarakihi/MS +taramasalata/M Noun: usually uncountable +Taranaki/M +tarantass/SM +tarantella/SM +tarantelle/MS +Tarantino/M +tarantism/M Noun: usually uncountable +Taranto/M +tarantula/SM +Tararua/M +Tarascan/SM +Tarawa/M +tarball/SM +Tarbat/M +Tarbell/M +Tarbert/M +Tarbolton/M +tarboosh/SM +Tarboro/M +tarbrush/SM! +Tarceva/M +Tarcisio/M +Tardebigge/M +Tardenoisian +Tardigrada/M +tardigrade/SM +tardive/Y +Tardon/M +tardy/TYP +tardyon/SM +tare/SM +Taree/M +Tarell/M +Tarff/M +target/dSMGDp +Targum/SM +tariff/MGDS +Tarkington/SM +Tarland/M +tarlatan/SM +Tarleton/M +tarmac/DGSM +tarmacadam/SM +tarn/MS +tarnish/G7DS +taro/SM +tarot/SM +tarpan/MS +tarpaulin/SM +Tarpeian +tarpit/SGDM +Tarpon/M +tarpon/SM +Tarporley/M +Tarqeq/M +Tarquinia/M +tarradiddle/MS +tarragon/MS +Tarragona +Tarrant/M +tarriness/M Noun: uncountable +Tarring/M +Tarrington/M +tarry/DTSG +Tarrytown/M +tarsal/SM +tarsi/M +tarsier/SM +tarsometatarsal +tarsometatarsi/M +tarsometatarsus/M +tarsus/M +tart/SMYPTGD +Tartaglia/M +tartan/MS +tartanry/M Noun: uncountable +Tartar/MS +tartar/SMW +Tartaraghan/M +tartare +Tartarean/SM +Tartarian +Tartarus/M +Tartary/M +tartlet/SM +tartrate/SM +Tartuffe/MS +tarty/TYP +Tarves/M +Tarvin/M +Tarvit/M +Tarvos/M +tarweed/SM +Taryn/M +Tarzan/M +Tasburgh/M +taser/SdM +Tash/M +Tasha/M +Tashi +Tashkent/M +task/SDMG +taskbar/SM +taskforce/SM +taskmaster/MS +taskmistress/MS +Tasley/M +Tasman/M +Tasmania/M +Tasmanian/SM +Tass/M +tass/MS +tassel/GMDS +tasseography/M Noun: uncountable +tassie/MS +taste/D +taste/EM6jS +tasteable +tasteful/EP +tasteless/PY +taster/SM +tasting/SM +tasto/MS +tasty/TPY +tat/rSGDR +tatami/SM +Tatar/SM +Tatarstan/M +Tate/M +Tatenhill/M +Tatham/M +Tathwell/M +Tatiana/M +Tatoeba/M +Tatsfield/M +Tattenhall/M +Tattenhoe/M +tatterdemalion/MS +tattered +Tatterford/M +Tattersall/M +Tattersett/M +Tattershall/M +tattery +Tattingstone/M +tattle/DRSG +Tattnall/M +Tatton/M +tattoo/RGSMD +tattooist/SM +tatty/TYP +Tatum/M +Tatworth/M +tau/M +taught/AU +Tauhoa/M +Taumarunui/M +taunt/kRGDSM +Taunton/M +tauon/SM +tauonia/MW +tauonium/SM +Taupaki/M +taupe/SM +Taupo/M +Tauranga/M +Tauraroa/M +Taurean/SM +Tauri Zeta Tauri +Taurid/SM +taurine/M Noun: uncountable +tauromachy/MS +Taurua/M +Taurus/MS +taus +taut/TYP +tauten/dS +tautochrone/MS +tautochronism/M +tautochronous +tautog/MS +tautologist/MS +tautologous/Y +tautology/w1SMW +tautomer/MSW +tautomerism/MS +tautophony/SMw +Tautoro/M +Tavares/M +Taverham/M +tavern/SM +taverna/SM +Taverner/M +Tavistock/M +Tavy/M +taw/SGDMr +Tawa/M +tawdry/PTY +Tawe/M +Tawney/M +tawniness/M Noun: uncountable +tawny/TM +tawse/MS +Tawstock/M +Tawton/M +tax-deductible +tax-free +tax/rD7GJMnlkSp +taxa/M Plural of taxon +taxable/SM +Taxal/M +taxi/DSGM +taxicab/MS +taxidermal +taxidermic/Y +taxidermy/3SM +taxies +Taxil/M +taximeter/SM +taxiway/MS +taxman/M +taxmen/M +taxon/M +taxonomy/13wWSM +taxpayer/MS +taxpaying Adjective +Tay/M +Taylor/M +Taylorsville/M +Taylorville/M +Taynton/M +Tayport/M +Tayside/M +Tayvallich/M +Tazewell/M +tazza/MS +Tb +TB/SM +TBA/SM +Tbilisi/M +Tbit/S +TBW +Tc +Tchaikovsky/M +TCO/SM +TCP/M +TDD/SM +Te/M +tea-leaf/M +tea-leaves +tea/SM +teabag/SM +teacake/SM +teach-in +teach/RGSJ7 +teachability/M Noun: uncountable +teachableness/M Noun: usually uncountable +teacherly +teaching/SM +teacloth/SM +teacup/6SM +teacupful/SM +Teagarden/M +teahouse/SM +teak/MS +teal/SM +Tealby/M +Tealing/M +team/MDGS +teammate/SM +teamster/SM +teamwork/M Noun: uncountable +Teaneck/M +teapot/SM +teapoy/MS +tear-gas/GD +tear-jerker/SM +tear-off +tear-stained +tear/6pMGSj +tearaway/SM +teardrop/SM +tearfulness/M Noun: usually uncountable +tearjerker/SM +tearless/YP +tearoom/MS +teary/T +teas/RSDkG +Teasdale/SM +tease +teasel/MS +teashop/MS +teaspoon/6MS +teaspoonful/MS +teat/MS +Teath/M +teatime/SM +teazel/SM +teazle/SM +Tebay/M +tebibit/SM +tebibyte/SM +Tebow/M +tec/MS +Tecfidera/M +tech/ZM +techie/SM +techné/M +technê/M +techne/M Noun: uncountable +technetium/M +technetocene +technetronic +technic/MS +technica/MS +technical/YS +technicality/SM +technicalness/M +technician/SM +technicise/SGD +technicist/MS +technicity/SM +technicology/SM +Technicolor/M Noun: uncountable +technicolour/D +technicum +technify/SGDn +technikum +technique/SM +techno/M Noun: uncountable +technobabble/M Noun: uncountable +technocentric +technocomplex/SM +technocracy/SM +technocrat/WSM1 +technodiversity/M +technofear/M Noun: usually uncountable +technofossil/MS +technofreak/SM +technographer/SM +technography/M Noun: uncountable +technologism/M +technology/3wSM1 +technomania/M Noun: uncountable +technomaniac/SM +technomic +technopark/SM +technophile/SM +technophilia/WM +technophobe/SM +technophobia/WSM +technopolis +technopolitan +technopreneur/OSM +technoscience/M Noun: uncountable +technoscientist/M +technosignature/SM +technospeak/M Noun: uncountable +technosphere/SM +technostress +technostructure/SM +technotronic +techs +techspeak/M Noun: uncountable +Teck/M +tectonic/YS +tectonophysics/M Noun: uncountable +tectonostratigraphic +tectorial +Tecumseh/M +Ted/M +Tedburn/M +Teddesley/M +Teddington/M +Teddy/M +teddy/MS +Teder/M +tedious/YP +tedium/M Noun: usually uncountable +Tedros/M +Tedston/M +Tedstone/M +tee-heed +tee/SGdM +teem/DGSr +Teemore/M +teen/SZM +teenage/RDM +teensy-weensy +teensy/T +teeny-bopper/MS +teeny-weeny +teeny/T +teenybop/M Noun: uncountable +teenybopper/SM +teepee/MS +Tees/M +Teesdale/M +Teesside/M +teeter/dSM +teeth/DGM +teethe +teetotal/RSM +teetotalism/MS +teetotum/SM +Teffont/M +tefillin/M +TEFL/M Initialism of teaching English as a foreign language +Teflon/M +tegmenta/M +tegmentum/M +Tegretol/M +Tegucigalpa/M +tegument/OSM +tegumentary +Tehachapi/M +Tehama/M +Teheran/M +Tehran/M +teichoic +teicoplanin/SM +Teifi/M +Teigh/M +Teignbridge/M +Teigngrace/M +Teignhead/M +Teignmouth/M +Teijin/M +Teilhard/M +TEirtza/M +Teixeira/M +Tekesta/M +tektite/MS +Tektronix/M +Tel. +Telangana/M +telco/SM +Tele-Computer +telecast/RSG +Telecom/M +telecom/SM +telecommunicate/n +telecommute/SRGD +telecomputer/SM +telecomputing/M Noun: uncountable +teleconference/GMDS +telecourse/SM +teledildonics +Teledyne/M +telefacsimile/SM +telefax/SM +telefilm/SM +Telefonica/M +Telefunken/M +telegenic +telegram/SGDM +telegrammatic +telegraph/WZD1GSM3R +telegraphese/M Noun: uncountable +telegraphy/3M +telekinesis/M +telekinetic +Telemann/M +telemanometer/SM +telemark/G +telemarketer/SM +telemarketing/M Noun: uncountable +telematic/S +telemedicine/M Noun: uncountable +telemeter/WSM +telemetry/MS +telencephalon/SM +teleologism/SM +teleology/SwM3 +teleoperate/GDN +teleoperator/SM +teleost/SM +telepath/SMGDW +telepathy/Q3S1M +telephone/G3ZMSDW +telephony/M Noun: usually uncountable +telephoto/SM +telephotography/M Noun: uncountable +teleplay/SM +teleport/GSDMnr +telepresence/M Noun: usually uncountable +teleprinter/SM +teleprocessing/M Noun: uncountable +telerecord/DGS +telerecording/SM +telesales/M Noun: uncountable +telescope/MGS1DW +Telescopium/M +telescopy/SM +telescreen/SM +Telesto/M +telesurgeon/SM +telesurgery/SM +teletalkie/M +teleteaching/M Noun: uncountable +teletext/M Noun: uncountable +teletheatre/M +teletherapy/SM +telethermometer/SM +telethermometry/M Noun: uncountable +telethon/MS +teletraffic/M Noun: uncountable +teletransport/SGDN +Teletype/MS +teletype/SGDM +televangelism/M Noun: uncountable +televangelist/SM +televiewer/SM +televiewing/M +televise/DSXNG +television/SM +televisionary/SM +televisor/SM +televisual/Y +telework/GR +telex/SDGM +Telfair/M +Telfer/M +Telford/M +telithromycin/M Noun: uncountable +tell-tale/SM +tell/RYkGS +tellable +Teller/M +tellin' +Tellisford/M +telltale/SM +telluric +Telluride/M +telluride/SM +tellurium/M +tellurous Adjective +Tellus/M +telly/MS +Telmo/M +telnet/SGDB +telnetable +telogen/SM +telomerase/SM +telomere/SMW +telophase/SM +Telscombe/M +telson/SMW +Telstar/M +Telugu/MS +temazepam/SM +Teme/M +Temecula/M +temerarious/P +temerity/SM +temerous/Y +Temin/M +Témiscaming/M +Témiscouata-sur-le-Lac/M +Témiscouata/M +Temiskaming/M +temp/GMRSTD +Tempe/M +Tempel/M +temper/dESM +tempera/MLS +temperament/Oo +temperance/MI +temperate/IY +temperateness/M Noun: uncountable +temperature/MS +tempest/SM +tempestuous/YP +tempi/M +Templar/SM +template/DGM +template/FS +Temple/M +temple/MS +Templecombe/M +Templehall/M +Templepatrick/M +Templeton/M +tempo/SM +temporal/Y +temporalis +temporality/SM +temporariness/M Noun: usually uncountable +temporary/FS +temporary/Y +temporise/DSkRGn +Tempsford/M +tempt/SRnGDk +temptress/SM +tempura/SM +Temuka/M +Temurin/M +ten-year +ten/lSHg7M +tenability/SM +tenace/SM +tenacious/YP +tenacity/SM +Tenafly/M +tenancy/SM +Tenandry/M +tenant/DSGMp +tenantry/SM +Tenbury/M +Tenby/M +Tencent/M +tench/M +tend/FRKSIGD +tended/EU +tendency/SM +tendentious/PY +tender-hearted/YP +tender/PdQYs +tenderer +tenderest +tenderfoot/MS +tenderheartedness/M Noun: usually uncountable +tenderloin/SM +tenderpreneur/SM +tendinitis +tendinopathy/SM +tendinosis/M Noun: uncountable +tendinous +tendon/SM +tendonitis +tendonosis +tendril/MS +Tendring/M +Tène/M +Tenebrae/M +tenebrionid/SM +tenebrism/M Noun: uncountable +tenebrist/SMW +tenebrosity/M Noun: uncountable +tenebrous +tenement/SM +Tenerife/M +tenesmus/SM +tenet/SM +TENEX/M +Tenison/M +Tennant/M +Tenneco/M +tenner/SM +Tennessean/SM +Tennessee/SM +tennessine/M Noun: uncountable +Tenniel/M +tennis/M +Tennyson/M +Tennysonian/SM +tenofovir/M Noun: uncountable +tenon/SM +tenor/SM +tenosynovitis +tenotomy/SM +tenpin/SM +tenrec/MS +tens/xNTSDXG +tense/YIT +tenseless/Y +tenseness/SM +tensile/Y +tensility/SM +tensiometer/SM +tension/DGp +tension/KMS +tensioner/SM +tensity/M Noun: usually uncountable +tensive Adjective +tensor/SMO +tent/DFMGS +tentacle/DSM +tentacular +tentaculate +tentative/YP +tenter/SMd +Tenterden/M +tenterhook/MS +tenth/Y +tenuous/YP +tenure/MSD +tepee/MS +tephrite/WSM +tephrochronology/M Noun: uncountable +tepid/YP +tepidaria/M +tepidarium/M +tepidity/S +tequila/MS +terabit/SM +terabyte/SM +teraflop/SM +terahertz +terapascal +terapixel/SM +terascale +terasecond/SM +teratogen/SMW +teratogenicity/SM +teratological/Y +teratologist/SM +teratology/MS +terawatt/SM +terazosin/M Noun: uncountable +terbium/M Noun: uncountable +terbocene +tercel/SM +Tercena/M +tercentenary/SM +tercentennial/SM +tercet/SM +terdentate +terdentative +terebinth/SM +terebratulid/SM +teredo/SM +Terek/M +Terence/M +Teresa/M +terete Adjective +terga/OM +tergite/SM +tergiversant/SM +tergiversate/SGDn +tergiversator/SMZ +tergum/M +Teri/M +teriyaki/SM +Terling/M +term-time +term/pMSDGY +Termagant/M +termagant/SM +terminable/I +terminal/SYM +terminate/CSn +terminate/DG +terminator/SM +termini/M +terminologist/MS +terminology/SMw1 +terminus/M +termism +termite/SM +Tern/M +tern/SM +ternary/SM +terotechnology/w3M +terpene/SM +terpolymer/SM +Terpsichore/M +Terpsichorean +terpsichorean/SM +Terra/M +terrace/GSMD +Terrace/M +terracotta/M Noun: usually uncountable +terraform/SGDR +terrain/SM +Terrance/M +terrane/SM +terrapin/MS +terrarium/SM +terrazzo/SM +Terre/M +Terrebonne/M +Terregles/M +Terrell/M +Terrence/M +terreplein/SM +terrestrial/YSM +Terri/M +Terriberry/M +terrible/YP +Terrie/M +Terrien/M +terrify/1SWGDk +terrigenous +Terrill/M +terrine/MS +Terrington/M +Terrio/M +territoriality/SM +territory/MSoO +terroir/SM +terror-stricken +terror/qsQ3SMp +terrorism/M Noun: usually uncountable +terrorist/W1 +Terry/M +terry/SRM +terse/TYP +tertian/SM +Tertiary +tertiary/SMY +Tertullian/M +Terwick/M +Terylene/M +terzetti/M +terzetto/SM +Tesco/M +TESL/M Initialism of teaching English as a second language +tesla/M +Tesla/M +TeslaFi/M Tesla-related app name +TeslaMate/M Tesla-related app name +TESOL/M Acronym of teaching English to speakers of other languages +Tessa/M +tessellate/DGSn +tessera/OM +tesseract/SM +tesserae/M +Tessie/M Tesla-related app name +tessitura/M +test's/F +test-drive/G +test-tube +test/KFDCGSA +testability/SM +testable +testament/MS +testamentary +testate/I +testator/SM +testatrices +testatrix/SM +testcase/SM +teste/SM +testee/SM +tester/FSCM +Testerton/M +testicle/MS +testicular +testiculate +testify/RDSG +testimonial/MS +testimony/MS +testis/M +Teston/M +testosterone/SM +testy/TYP +tetanic/Y +tetanuran/SM +tetanus/M +tetany/MS +Tetbury/M +tetchy/TY +Tetcott/M +tete +tête +tête-à-tête +tête-bêche +Tetford/M +tether/dMS +Tethys/M +Tetney/M +Teton/M +tetra/SM +tetrabasic +tetrabasicity/M Noun: uncountable +tetracaine/SM +tetracarbonyl/SMW +tetracarboxyl/MW +tetrachloride/SM +tetrachord/SM +tetracontanoic +tetracosanoic +tetracyclic/SM +tetracycline/MS +tetrad/SM +tetradactyl/SM +tetradactylous +tetradecanoic +tetradentate +tetradentative +tetrafluoride/SM +tetrafluoroethylene/SM +tetragon/oOMS +Tetragrammaton/M +tetrahedra/OoM +tetrahedrite/SM +tetrahedron/SM +tetrahydrocannabinol/SM +tetralogy/SM +tetramer/SMW +tetramerous +tetrameter/MS +tetramethylene/MS +tetraplegia/SM +tetraplegic/SM +tetraploid/SMZ +tetrapod/OSM +Tetrapoda Taxonomic superclass +tetraquark/SM +tetrarch/M +tetrarchs +Tetrarchy/M +tetrastich/M +tetrastichs +tetrastyle/SM +tetrasyllable/SMW +tetrathlon/SM +tetratomic +tetratriacontanoic +tetravalent +tetrode/SM +tetrose/SM +tetroxide/MS +Tetsu/M +Tetsworth/M +Tett/M +Tettenhall/M +tetter/MS +Tetworth/M +Teuton/WMS +Teutonicism/MS +Teversal/M +Teversham/M +Teviot/M +Teviothead/M +Tew/M +Tewahedo +Tewin/M +Tewkesbury/M +Tewksbury/M +Tex/M +TeX/M +Texaco/M +Texan/SM +Texarkana/M +Texas/M +TeXstudio/M +text/pRGDKSFM +textbook/MS +textbox/SM +textile/SM +Textron/M +textspeak/M Noun: uncountable +textual/FY +textualism/SM +textualist/SM +texture/SMOoDGp +Tey/M +Teynham/M +TGV/SM +tgz +Th +Thackeray/M +Thackery/M +Thad/M +Thaddeus/M +Thai/SM +Thailand/M +Thain/M +Thakeham/M +thalami/WM +thalamus/M +Thalassa/M +thalassaemia/SM +thalassic +thalassotherapy/SM +thaler/MS +Thales/M +thali/SM +thalidomide/SM +thalli/M +thallic Adjective +thallium/SM +thallocene +thalloid Adjective +thallophyte/MS +thallous Adjective +thallus/M +thalweg/MS +Thame/M +Thames/M +Thamesdown/M +Thameslink/M +Thamm/M +than +thanatognomonic +thanatology/w3M +thanatophobia/M Noun: uncountable +thanatopsis/M +Thanatos/M +thanatosis/M Noun: usually uncountable +thandai/M Noun: uncountable +thane/SM +Thanet/M +Thangam/M +Thanington/M +thank/D6jGpS +thankfulness/M Noun: usually uncountable +thankless/Y +thanklessness/M Noun: uncountable +Thanksgiving +thanksgiving/MS +Thant/M +Thapar/M +Tharakan/M +Tharp/M +Tharston/M +Thassi/M +that'd +that'll +that've +that/M +thatch/MRDSG +Thatcham/M +Thatcher/M +Thatcherite/M +thatching/SM +thaumasite/M +thaumatrope/MS +thaumaturge/MS3WZw +thaw/DGSp +Thaxted/M +Thayer/M +Thayne/M +THC/M Noun: uncountable +the/JG +The/M +Theadora/M +Theaetetus/M +Theakston/M +Theale/M +theanthropic +thearchy/MS +theatre/S1Mw +theatregoer/MS +theatregoing +theatrical/SM +theatricality/MS +theatrics +Theban/MS +Thebe/M +Theberton/M +Thebes/M +theca/M +thecae/M +thecate +thecodont/MS +Theddingworth/M +Theddlethorpe/M +thee +theft/MS +Theia/M +their/S +theism/MS +Theissen/M +theist/MWS +Thelbridge/M +Thelema/M +Thelemic/Y +Thelemite/SM +Thelma/M +Thelnetham/M +Thelverton/M +Thelwall/M +them/W1 +thematic/SM +thematise/SGDN +theme/MSDG +Themelthorpe/M +Themisto/M +Themistocles/M +themself +themselves +then +thenar/SM +thence +thenceforth +thenceforward +Thenford/M +Theo/M +theobromine/SM +theocentric +Theocracy/M +theocracy/SM +theocratic +theodicean +theodicy/SM +theodolite/SM +Theodor/M +Theodora/M +Theodore/M +Theodoret/M +Theodoric/M +Theodosia/M +Theodosius/M +theogony/SM +theologian/MS +theologise/SGD +theologist/SM +theology/Sw1M +theophany/SM +Theophilus/M +theophoric +theophorous +Theophrastus/M +theophylline/M Noun: uncountable +theorbo/SM +theorem/SM +theoretic/YO +theoretician/SM +theoreticism/M +theoreticist +theory/Qsq3MS +theorycraft/SGDMr +theosophy/w3WSM +therapeutic/YSMO +therapeutist/SM +therapsid/SM +therapy/SM3 +Theravada/M +Theravadin/M +there'd +there'll +there're +there've +there/M +thereabout/S +thereafter +thereat +thereby +therefore +therefrom +therein +theremin/SM +thereof +thereon +Theresa/M +Thérèse-De/M +Therese/M +thereto +theretofore +thereunder +thereunto +thereupon +therewith +Therfield/M +Theria Taxonomic subclass +therian/SM +therianthrope/MS +therianthropic/Y +therianthropy/M +Thériault/M +Theriault/M +Therion/M +therizinosaur/SM +therizinosaurid/SM +therm/oSMW +thermal/SM +thermionic/S +thermistor/SM +thermite/SM +thermoacidophilic +thermochemical +thermochemistry/M Noun: uncountable +thermochronology/M Noun: uncountable +thermocouple/SM +thermodynamic/SY +thermoelastic +thermoelectric +thermoformed +thermoforming +thermogenesis/M Noun: uncountable +thermogram/SM +thermograph/SM +thermography/SMW +thermohaline/SM +thermolabile +thermoluminescence/SM +thermolyses +thermolysis/M +thermometer/SMW +thermometry/M Noun: uncountable +thermonuclear +thermophile/SMW +thermophotovoltaic/S +thermopile/MS +thermoplastic/S +Thermopylae/M +thermoregulate/SGDN +thermoregulatory +thermoremanence/SM +thermoremanent +thermoresistance/SM +thermoresistant +Thermos/MS +thermos/SM +thermoset/GSM +thermosphere/SM +thermostability/SM +thermostable +thermostat/1MSW +thermostatics/M Noun: uncountable +thermotherapy/SM +Theron/M +theropod/SM +Theropoda Taxonomic suborder +theropodan/SM +thesauri/M +thesaurus/SM +these/S +Theseus/M +thesis/M +Thespian/SM +Thessalian/SM +Thessalonian/SM +Thessalonica/M +Thessaly/M +theta/MS +Thetford/M +theurgic/O +theurgy/SM3 +Thewlis/M +they +they'd +they'll +they're +they've +Theydon/M +thiamin/M Noun: uncountable +thiamine/M Noun: uncountable +thiazide/SM +Thibodaux/M +thick-skinned +thick/YPT~ +thicken/Sdr +thickening/M +thicket/MS +thickhead/SM +thickheaded/P +thicknesser/SM +thicko/SM +thickset/SM +Thiebaud/M +thief/M +Thielman/M +Thiensville/M +Thiepval/M +Thierry/M +thieve/GyDS +thievery/SM +thievish/YP +thigh-bone/MS +thigh/MS +thimble/6MS +thimbleberry/SM +Thimbleby/M +thimbleful/MS +Thimphu/M +thin/TDRGPYSM +thine +thing/SM +thingamabob/MS +thingamajig/SM +thingummy/SM +thingummybob/SM +thingy/SM +think-tank/SM +think/RJ7GS +thinnish +Thinsulate/M +thiodiglycol/SM +thiohydroxamic +thiol/SM +third-class +third-hand +third-party +third-rate +third/Y +Thirkleby/M +Thirlby/M +Thirn/M +Thirsk/M +thirst/2SMzGDZ +thirsty/T +thirteen/HM +thirty-eight/H +thirty-first/S +thirty-five/H +thirty-four/H +thirty-nine/H +thirty-one +thirty-onefold +thirty-second/S +thirty-seven/H +thirty-six/H +thirty-three/H +thirty-two +thirty-twofold +thirty/HMS +thirtysomething/SM +Thiruvananthapuram/M +this +this'd +this'll +Thiselton/M +thistle/MS +thistledown/M Noun: usually uncountable +thither +Thixendale/M +Thoburn/M +Thockrington/M +thole/M +tholeiitic +tholin/SM +Thollon/M +Tholos/M +Tholthorpe/M +Thom/M +Thomas/M +Thomasville/M +Thomaz/M +Thomism/M +Thomist/WSw +Thomley/M +Thompson-Nicola/M +Thompson/M +Thomsen/M +Thomson/M +Thonby/M +thong/MSD +Thonock/M +Thor/M +thoracic/SM +Thoralby/M +thorax/MS +Thorazine/M Noun: uncountable +Thore/M +Thoreau/M +Thoresthorpe/M +Thoresway/M +Thorganby/M +Thorington/M +thorium/M Noun: uncountable +Thorlby/M +Thorley/M +Thormanby/M +thorn/DpM2ZS +Thorn/M +Thornaby-on-Tees/M +Thornaby/M +Thornage/M +Thornborough/M +Thornbrough/M +Thornbury/M +Thornby/M +Thorncombe/M +Thorndike/M +Thorndon/M +Thorne/M +Thorner/M +Thorney/M +Thorneyburn/M +Thornfalcon/M +Thornford/M +Thorngumbald/M +Thornham/M +Thornhaugh/M +Thornhill/M +Thornley-with-Wheatley/M +Thornlie/M +Thornliebank/M +thornlike +thornproof +Thornthwaite/M +Thornton-le-Beans/M +Thornton-le-Clay/M +Thornton-le-Dale/M +Thornton-le-Moor/M +Thornton-le-Moors/M +Thornton-le-Street/M +Thornton-on-the-Hill/M +Thornton/MS +Thornville/M +thorny/T +thorocene +Thorold/M +thoron/M Noun: uncountable +Thoroton/M +thorough/YP +thoroughbred/SM +thoroughfare/MS +thoroughgoing +thoroughwort/SM +Thorp/M +Thorpe-in-Balne/M +Thorpe-le-Soken/M +Thorpe/M +Thorpeland/M +Thorrington/M +Thorson/M +Thorsten/M +Thorverton/M +those +thou +though +thought-provoking +thought/SM +Thoughter/M +thoughtform/SM +thoughtful/Y +thoughtfulness/M Noun: uncountable +thoughtless/YP +thousand/HSM +Thousand/M +Thrace/M +Thracian/SM +thrall/SM +Thrandeston/M +Thrapston/M +thrash/RJSDGM +thrashing/M +Thrasymachus/M +thread/AGDS +thread/M +threadbare +threadlike +Threadneedle/M +Threadripper/M +threadsafe +thready/T +Threapwood/M +threat/SM +threaten/dSk +Threckingham/M +three-colour +three-cornered +three-dimensional/Y +three-fold +three-handed +three-legged +three-line +three-phase +three-piece +three-ply +three-point +three-pronged +three-quarter/SM +three-way +three-wheeler +three/HMS +Threekingham/M +threepence/SM +threepenny/SM +threescore/SM +threesome/SM +Threlkeld/M +threnody/SM +threonine/SM +thresh/SDRG +Threshfield/M +threshold/MS +threw/c +Threxton/M +thrice +thrice-married +thrift/2pSMzZ +thriftlessly +thriftlessness/M +thrifty/T +Thrigby/M +thrill/DRMkSG +Thrimby/M +Thrintoft/M +thrip/SM +Thriplow/M +thrive/DSkG +Throapham/M +throat/2DMZzS +throaty/T +throb/SGDR +Throcking/M +Throckmorton/M +throe/SM +thrombi/M +thrombin/SM +thrombocyte/MS +thrombocytopenia/WSM +thromboembolic +thromboembolism/SM +thrombolysis/M Noun: uncountable +thrombolytic/SM +thrombose/SD +thrombosis/M +thrombotic/Y +thromboxane/SM +thrombus/M +throne/CSD +throne/pMO +throng/SGMD +throstle/MS +throttle/DMGSr +through +through-traffic +throughout +throughput/SM +throw-in/SM +throw/RSG +throwaway/MS +throwback/MS +throwdown/SM +Throwleigh/M +Throwley/M +thrown/c +Thrubwell/M +thrum/GDS +Thrumpton/M +Thrumster/M +Thrupp/M +Thruscross/M +thrush/SM +Thrushelton/M +Thrussington/M +thrust/GRS +Thruxton/M +Thrybergh/M +Thu +thud/DSMG +thug-like +thug/SM +thuggee/SM +thuggery/SM +thuggish/P +Thule/M +thulite/SM +thulium/M Noun: uncountable +thulocene +thumb/DGMSp +thumbnail/SM +thumbprint/SM +thumbscrew/MS +Thumiger/M +thump/MGSDr +Thunder/M +thunder/SZkMdp +thunderbird/SM +Thunderbird/SM +thunderbolt/MS +thunderbox/SM +thunderbug/SM +thunderclap/MS +thundercloud/SM +thunderflash/SM +thunderfly/SM +thunderhead/SM +thunderous/YP +Thundersley/M +thunderstorm/MS +thunderstruck +Thundridge/M +thunk +Thur/SM +Thurcaston/M +Thurcroft/M +Thurgarton/M +Thurgoland/M +Thurgood/M +Thurlaston/M +Thurlby/M +Thurleigh/M +Thurleston/M +Thurlestone/M +Thurlow/M +Thurloxton/M +Thurlston/M +Thurlton/M +Thurman/M +Thurmaston/M +Thurnby/M +Thurne/M +Thurnham/M +Thurning/M +Thurnscoe/M +Thurrock/M +Thursby/M +Thursday/SM +Thursford/M +Thursley/M +Thurso/M +Thurstaston/M +Thurston/M +Thurton/M +Thurvaston/M +thus/YP +thuswise +Thuxton/M +thwack/GDSM +Thwaite/MS +thwart/kSDGrMh +Thwing/M +thy +thyasirid/SM +thylacine/MS +thylakoid/SM +thyme/MS +thymidine/SM +thymine/SM +thymol/SM +thymoma/SM +thymomata/M +thymus/SM +thyristor/SM +thyroid/SMO +thyroidectomy/SM +thyrotoxicosis/M +thyrotrophic +thyrotrophin/SM +thyrotropic +thyrotropin/SM +thyroxine/SM +thyrsi/M +thyrsus/M +Thysanoptera Taxonomic order +thysanuran/SM +thyself +THz +Ti/M +Tiago/M +Tian/M +Tianjin/M +tiara/SM +TiB +Tibbermore/M +Tibberton/M +Tibenham/M +Tiber/M +Tiberianus/M +Tiberias/M +Tiberius/M +Tibet/M +Tibetan/SM +tibia/MSO^ +tibiae/M +tibialis/M +Tibni/M +Tibshelf/M +Tibthorpe/M +Tiburon/M +tic-tac/SM +tic/SGRD +Ticehurst/M +Tichborne/M +Ticino/M +tick-tack/SM +tick-tock/GSDM +tick/MS +Tickencote/M +Tickenham/M +ticker-tape +ticket-day +ticket-of-leave +ticket/SMdZ +tickety-boo +Tickhill/M +tickle/DSGR +ticklish/PY +tickly/T +Ticknall/M +tickover/M +Tickton/M +ticlopidine/M Noun: uncountable +Ticonderoga/M +Tidbury/M +Tidcombe/M +Tiddington-with-Albury/M +tiddler/SM +tiddly/T +tiddlywinks/M Noun: uncountable +tide/ZD2SOoJGMp +tideline/SM +tidemark/SM +Tidenham/M +Tideswell/M +tidewater/SM +tideway/SM +tidier/U +tidily/U +tidiness/U +Tidmarsh/M +Tidmington/M +Tidworth/M +tidy/GYSDTM +tie-break/SM +tie-in/SM +tie/RSMDG +tieback/SM +tiebreaker/SM +tied/UA +Tienanmen/M +tier/D +Tierney/M +Tierra +ties/AU +Tietze/M +TIF/S +tif/S +tiff/MS +TIFF/S +Tiffany/M +Tiffield/M +Tiffin/M +tiffin/SM +Tift/M +Tifton/M +Tigard/M +tiger/SM~ +tight-arsed +tight-fisted +tight-fitting +tight-knit +tight-lipped +tight/SYPT +tighten/dSr +tightly-knit +tightrope/MS +tigress/MS +Tigris/M +Tihanyi/M +Tijuana/M +Tikal/M +tike/SM +tiki/SM +Tikipunga/M +tikka/SM +Tikorangi/M +Tikrit/M +Tila/M +tilapia/SM +Tilbrook/M +Tilbury/M +tilde/SM +tile/RDSMG +Tilehurst/M +Tilford/M +Tilgate/M +Tilghman/M +till/DRSG7 +tillage/SM +Tillamook/M +Tillard/M +tiller/EMS +Tillet/M +Tillich/M +Tillicoultry/M +Tillingham/M +Tillington/M +tillite/SM +Tillman/M +Tilly/M +Tillydrone/M +Tilmanstone/M +Tilney/M +Tilshead/M +Tilstock/M +Tilston/M +Tilstone/M +Tilsworth/M +tilt/DGS7rM +tilth/SM +tiltmeter/SM +Tilton/M +Tilty/M +Tim/ZSM +Timaeus/M +Timár/M +Timaru/M +timbale/SM +timber/SdM +Timberhill/M +Timberlake/M +Timberland/M +Timberlea/M +timberline/SM +Timberscombe/M +Timble/M +timbre/MS +timbrel/SM +Timbuctoo/M +Timbuktu/M +time-and-motion +time-consuming +time-honoured +time-lapse +time-out/SM +time-server/SM +time-serving/S +time-share/DGS +time-spans +time-wasting +time-work +time-worn +time/pYRDSJMG +timebase/SM +timekeeper/SM +timekeeping/M +timeless/Y +timelessness +timeline/SM +timeliness/U +timely/TP +timenoguy/SM +timeous/Y +timeout/SM +timepass +timepiece/SM +timerity/M +times/ca +times/Sd +timescale/SM +timeshare/SD +timeshift/SGD +timeslot/MS +timesome +timespan/SM +timestamp/SGD +timetable/SDGM +timewave/SM +Timex/M +timid/Y +timidity/SM +timidness +timing/M +Timiskaming/M +Timm/M +Timmer/M +Timmermann/M +Timmermans/M +Timmins/M +Timmy/M +timocracy/SM +Timofeev/M +Timor-Leste/M +Timor/M +Timorese/M +timorous/YP +Timothy/M +timpani/M Noun: usually uncountable +timpanist/SM +Timsbury/M +Timur/M +Timworth/M +tin-glaze +tin-opener/SM +tin-pan +tin-plate/M +tin-tack +tin/DGZSMz2 +Tina/M +Tincleton/M +tinct +tincture/DSMG +tinder/SM +tinderbox/SM +tine/MSZ +tinfoil/SM +ting/D +Ting/M +tinge/SM +tingeing +Tingewick/M +Tingey/M +tingle/GDS +tingly/T +Tingrith/M +Tingwall/M +tinker/dMSr +Tinkerbell/SM +tinkerbird/SM +Tinkersley/M +tinkle/DSGY +tinkler/MS +Tinley/M +tinnitus/SM +tinny/TP +Tinopai/M +tinplate/SMD +tinpot +tinsel/MGSDY +Tinseltown/M +Tinsley/M +tinsmith/SM +tint/MSDG +Tintagel/M +Tintern/M +Tintinhull/M +tintinnabulation/SM +Tinton/M +Tintwistle/M +Tinwald/M +tinware/SM +Tinwell/M +tiny/PT +Tioga/M +tiotropium/M Noun: uncountable +tip-off/SM +tip-top/SM +tip/RSGMD +tipcat/M +Tipp-Ex +Tippah/M +Tippecanoe/M +Tipperary/M +tippet/SM +Tippett/M +Tippex/MSGD +tipple/DSRG +tips/zZ2 +tipstaff/MS +tipster/SM +tipsy/TP +tiptoe/DGS +Tipton/M +tiptop/SM +Tiptree/M +tiptronic +Tiptronic +Tir-na-nog +Tirabad/M +tirade/SM +tirailleur/MS +tiramisu/SM +Tirana/M +Tirane/M +Tirau/M +Tircoed/M +tire/cAGDS +tired/Y +tiredness +Tiree/M +tireless/Y +tirelessness +tiresome/Y +tiresomeness +Tirley/M +tiro/MS +Tirohanga/M +Tirol/M +Tirole/M +Tirolean/SM +Tirril/M +Tirrold/M +Tirthankara/SM +Tirymynach/M +tisane/MS +Tisbury/M +Tishomingo/M +Tishri/M +Tisri/M +Tisserand/M +Tissington/M +Tissot/M +tissue/MS +Tisted/M +tit-for-tat +tit/RMS +Titahi/M +titan/1MSW +Titan/MS +titanate/MS +Titaness/SM +Titania/M +titanian +Titanian +Titanic/M +titaniferous +titanite/SM +titanium/SM +titanocene +titanosaur/SM +titbit/SM +Titchfield/M +Titchmarsh/M +Titchwell/M +titfer/MS +tithable +Tithby/M +tithe/SMDG +tither/MS +titi/MS +Titian/M +Titianesque +titillate/SnDGk +Titirangi/M +Titius/M +titivate/nSDG +titlark/MS +title-deed/MS +title-page +title/Mp +title/SGAD +titleholder/MS +titler/MS +Titley/M +titmice/M +titmouse/M +Tito/M +Titograd/M +Titoism/M +Titoist/MS +Titoki/M +titrant/SM +titratable +titrate/SGDn +titre/MSN +Titsey/M +titter/d +Tittesworth/M +tittle-tattle +tittle/MS +Tittleshall/M +titular/SMY +Titus/M +Titusville/M +Titze/M +Tiverton/M +Tivetshall/M +Tixall/M +Tixover/M +tizanidine/M Noun: uncountable +Tizard/M +tizz/SM +tizzy/MS +Tkáč/M +TKO/SM Initialism of technical knockout +TLC/SM +TLS/M Initialism of Transport Layer Security +Tm +TNO/SM Initialism of trans-Neptunian object +TNT/SM +to-do/SM +to/IU +to/S +toad/MZS +toadstool/SM +toady/SDGM +toadyism/SM +toast/DGRZMS +toasting-fork/SM +toastmaster/SM +toastmistress/SM +toasty/T +tobacco/MS +tobacconist/MS +Tobago/M +Tobagonian/SM +Tobermore/M +Tobermory/M +Tobias/M +Tobin/M +Tobit/M +Toblerone/SM +toboggan/S3rMd +tobramycin/M Noun: uncountable +Tobruk/M +Toby/M +tobyman/M +tobymen/M +TOC/SM +toccata/SM +Tocharian/MS +tocilizumab/M Noun: uncountable +tock/GMDS +Tockenham/M +Tockholes/M +Tockwith/M +tocopherol/SM +Tocqueville/M +tocsin/MS +tod/SM +today/M +Todber/M +Todbere/M +Todd/M +Toddington/M +toddle/DGSR +toddy/MS +Todenham/M +Todmorden/M +Todoist/M +Todwick/M +toe/DMGSp +toecap/MS +TOEFL/M Acronym of Test of English as a Foreign Language +toehold/SM +toenail/MS +toerag/SM +toff/SMD +toffee/SM +Toft/M +Toftrees/M +Tofts/M +tofu/SM +tog/MGSD +toga/DSM +Togaviridae Taxonomic family +together +togetherness +toggle/DGMS +Tognazzini/M +Togo/M +Togoland/M +Togolese/M +Toi/M +toil-worn +toil/RSMDG +toilet/ySdM +toiletry/MS +toilette/SM +toilsome/Y +toilsomeness +toing/SM +toity +Tokanui/M +Tokarahi/M +Tokay/M +tokay/SM +toke/SGDRM +Tokelau/M +token/SM +tokenise/SGDNr +tokenism/SM +Toki/M +Tokita/M +Toko/M +Tokoroa/M +Tokugawa/M +Tokunbo/M +Tokyo/M +Tokyoite/MS +Tolaga/M +Tolbooth/M +told/AU +Toledo/M +tolerability/MI +tolerable/YI +tolerance/ISM +tolerant/IY +tolerate/DGBSn +Tolethorpe/M +Tolhurst/M +Tolkien/M +Tolkienesque +toll-bridge/MS +toll-gate/SM +toll-house/M +toll-road/MS +toll/DGS +Toll/M +Tolland/M +Tollard/M +tollbooth/MS +Tollcross/M +Tolle/M +Toller/M +Tollerton/M +Tollesbury/M +Tolleshunt/M +Tolley/M +tollgate/SM +Tollington/M +Tolman/M +Tolpuddle/M +Tolstoy/M +Toltec/MS +Toltecan +toluene/SM +toluidine/SM +tom-tom/SM +Tom/MS +tom/MS +tomahawk/MDGS +Tomarata/M +Tomas/M +Tomaselli/M +Tomatin/M +tomato/M +tomatoes +Tomaž/M +tomb/SMp +Tomball/M +Tombaugh/M +Tombland/M +tomblike +tombola/SM +tomboy/MS~ +tombstone/SGDMR +Tombusviridae Taxonomic family +tombusvirus/SM +tomcat/SM +tomcod/SM +Tomdoun/M +tome/6SM +Tomé/M +tomelet/SM +tomenta/M +tomentose +tomentous +tomentulose +tomentum/M +Tomer/M +tomfool/SM +tomfoolery/MS +Tomintoul/M +Tomkins/M +Tomlin/M +Tomlinson/M +Tommie/M +Tommy/MS +tomography/MW +Tomoko/M +tomorrow/MS +Tompkins/M +Tomson/M +tomtit/SM +ton/droMWSO +tonality/SM +Tonawanda/M +Tonbridge/M +tone's/cf +tone-deaf +tone/IRDGS +toneless/Y +tonelessness +Tonelli/M +tones/fc +Toney/M +Tong/M +tong/SM +Tonga/M +Tongan/SM +Tonge/M +Tongham/M +Tongji/M +Tongland/M +tongue-in-cheek +tongue-tied +tongue-twister/SM +tongue/GSMDp +Tongue/M +tonguing/M +Tongwynlais/M +Toni/M +Tonia/M +Tonian +tonic/MS +tonicity/SM +tonight/M +tonk/SGD +tonkatsu/M Noun: uncountable +Tonkin/M +Tonna/M +tonnage/SM +tonne/MSr +tonometer/SM +tonometry/WSM +tonsil/SM +tonsillar +tonsillectomy/SM +tonsillitis/M Noun: usually uncountable +tonsorial/Y +tonsure/SMGD +tontine/MS +Tony/M +Tonya/M +Tonypandy/M +Tonyrefail/M +Tonys +too +Tooele/M +took/afcA +tool/AGDS +tool/Mr +toolbar/SM +toolbox/MS +toolchain/SM +toolkit/SM +toolmaker/SM +toolmaking/M +toolset/SM +toolshed/SM +tooltip/SM +Toombs/M +Toome/M +toon/SM +Toope/M +toot/GRDSM +Toot/M +tooth/zMpDZ +toothache/MS +toothbrush/SMG +toothcarp/SM +toothlessly +toothlessness/M Noun: uncountable +toothpaste/MS +toothpick/SM +toothsome/Y +toothsomeness/M Noun: uncountable +toothwort/MS +toothy/T +Tooting/M +tootle/DSGM +tootsie/SM +tootsy/SM +Toowong/M +Toowoomba/M +top-down +top-heavy +top-level/SM +top-line +top-notch/R +top-up/SM +Top/M +top/MWwGpR1JDS +topaz/MS +topazolite/SM +Topcliffe/M +topcoat/MS +Topcroft/M +topdressing/SM +tope/SGDR +Topeka/M +toper/SM +topflight +topgallant/SM +Tophet/M +tophi/M +tophus/M +topiarian +topiary/SM3 +topic/MS +topicality/MS +topiramate/M Noun: uncountable +topknot/MS +toplessness +topman/M +topmast/SM +topmen/M +topminnow/SM +topmost +topographer/MS +topography/S1WMw +topoi/M Plural of topos +topoisomerase/SM +topology/w13SM +toponym/SMO +toponymic/SO +toponymy/SM +topophilia/M Noun: uncountable +topos/M +topotype/SM +Toppesfield/M +topping/SM +topple/GDSr +Toprol/M +topsail/MS +Topsham/M +topside/SM +topsoil/SM +topspin/MS +topstitch/SGD +topsy +topsy-turvy +toque/MS +toquilla/MS +Tor/M +tor/SM +Torah/MS +Torbain/M +Torbay/M +Torbet/M +Torbryan/M +torch-bearer/SM +torch/SMDG +torchère/MS +Torchio/M +torchlight/SM +torchlit +torchon/SM +Torcy/M +tore/SM +toreador/SM +Torfaen/M +torgoch/M +torgochs +Torino/M +Torkard/M +Torksey/M +Tormarton/M +torment/MSkDGh +tormentil/MS +tormentor/SM +Tormohun/M +torn +tornadic +tornado/MS +tornadoes +Torness +Tornielli/M +toroid/oSMO +Toronto/M +Torosay/M +torpedo/DMG +torpedoes +torpefy/DGS +Torpenhow/M +Torphichen/M +Torphins/M +torpid/YSM +torpidity/SM +torpidness/M Noun: uncountable +Torpids +Torpoint/M +torpor/MS +torporific +Torquay/M +torque/DSGMZ +torquier +torquiest +Torquil/M +torr/SM +Torrance/M +torrefaction/MS +torrefy/DGS +Torrence/M +torrent/SM +torrential/Y +Torres/M +Torricelli/M +Torricellian +torrid/YP +Torridge/M +torridity/M +Torridon/M +Torrington/M +Torry/M +Torryburn/M +torse/MS +torsel/MS +Tórshavn/M +torsion/MSoOp +torso/SM +tort/FSEA +tort/M +torte/MS +tortelli/M +tortellini/M +Torteval/M +tortfeasor/MS +Torthorwald/M +torticollis/M +tortilla/MS +Tortington/M +tortious/Y +tortoise/MS +TortoiseGit/M +tortoiseshell/SM +TortoiseSVN/M +tortuosity/MS +tortuous/YP +torture/RDGSM +torturous/Y +Tortworth/M +torulosis/M Noun: uncountable +torus/SM +Torvalds/M +Torver/M +Torworth/M +Tory/SM +Toryglen/M +Torygraph/M +Toryism/M +Torymynydd/M +Tosca/M +Toscanini/M +Toseland/M +tosh/SM +Toshack/M +Toshiba/M +Toshihiro/M +Toshimitsu/M +toss-up/SM +toss/GRSD +tosspot/SM +tostada/SM +tostado/SM +Tostock/M +tosylate/SM +tot/DSoMG +total/sMDGS +totalisation/MS +totalise/DGS +totalitarian/SM +totalitarianism/SM +totality/SM +Totara/M +Tote/M +tote/SGDM +totem/MS +totemic +totemism/M Noun: usually uncountable +totemist/SMW +Totham/M +Tothill/M +totient/SM +totipotency/M Noun: uncountable +totipotent +Totland/M +Totnes/M +Toto/M +Totowa/M +Tottenham/M +Tottenhill/M +totter/SdkMr +Totternhoe/M +tottery +totting-up +Tottington/M +Totton/M +toucan/MS +touch-and-go +touch-sensitive +touch-tone/SM +touch-typist/SM +touch/AGDS +touch/p +touchable +touchdown/MS +touché +toucher/SM +touching/Y +touchingness/M Noun: uncountable +touchline/MS +touchpad/SM +touchpaper/SM +touchpoint/SM +touchscreen/SM +touchstone/SM +touchwood/M Noun: uncountable +touchy-feely +touchy/TPY +tough-minded +tough/GYPTSDM +Tough/M +toughen/dS +Toulon/M +Toulouse/M +Toulston/M +toupee/MS +tour/CSGMFD +touraco/MS +tourer/SM +Tourette/M +tourism/MS +tourist/ZMSGDW1 +tourmaline/SM +tournament/MS +tourney/DGSM +tourniquet/MS +tourtière/M +touse/SGDM +tousle/DSG +tout/DSG +Tout/M +tov +Tovil/M +tow-bar/MS +tow-coloured +tow-head/SMD +tow-line/SM +tow-path/MS +tow-rope/SM +tow/DRGSM +towable +towage/M +Towai/M +Towamencin/M +Toward/M +toward/S +Towcester/M +Towednack/M +towel/SMDG +tower/dk +Towersey/M +Towie/M +Towler/M +Town/M +town/rp5MmS~ +townee/SM +Townend/M +Towner/M +Townes/M +Townhead/M +Townhill/M +townie/SM +townland/SM +townlet/SM +Townley/M +townscape/SM +Townsend/M +townsfolk/M +Townshend/M +township/MS +townspeople/M +Townstall/M +Townsville/M +townward/S +towny/M +towpath/SM +towplane/SM +Towsley/M +Towthorpe/M +Towton/M +towy +Towyn/M +tox +toxaemia/MSW +toxic/SY +toxicant/SM +toxicity/SM +toxicology/3Mw1W +toxigenicity/M Noun: usually uncountable +toxin/MS +Toxocaridae Taxonomic family +toxology/M Noun: uncountable +toxophilite/SM +toxophily/M Noun: uncountable +toxoplasma/M +toxoplasmosis/M +Toxteth/M +toy/MDSG +toymaker/SM +Toynbee/M +Toynton/M +Toyoda/M +Toyota/M +toyshop/SM +trabecula/M +trabeculae/M +trabecular +trabeculate +Trabzon/M +tracasserie/MS +trace/ADGnS +trace/M +traceability +traceable/U +traceless/Y +tracer/SM +tracery/SM +traceur/SM +Tracey/M +trach/M +trachea/MO +tracheae/M +tracheid/SM +tracheitis/M Noun: uncountable +Tracheophyta Taxonomic division + Taxonomic phylum +tracheotomy/MS +trachoma/M +trachomatous +trachs +trachyte/MSW +Traci/M +Tracie/M +tracing/MS +track-laying +track/GMRSDp7 +trackback/SM +trackball/SM +trackbed/SM +trackie/SM +tracklayer/MS +tracklist/GSM +trackman/M +trackmen/M +trackpad/SM +tracksuit/MS +trackway/SM +tract/E7ASF +tract/M +tractability +tractable/IY +tractable/Y +tractableness +Tractarian/SM +Tractarianism/M +tractate/SM +traction/FCESMA +traction/O +tractive +tractor/FSMCA +Tracy/M +trad/O7M +trade-in/SM +trade-off/SM +trade/7Mm5GRSD +trademark/GSDM +tradescantia/SM +tradespeople/M +Tradewinds/M +tradition/SMo3 +traditional/3Y +traditionalism/MS +traditionalistic +traditionary/SM +traditor/MS +Tradjenta/M +traduce/GRDS +traducement +traducian/MS3 +traducianism/M Noun: uncountable +Trafalgar/M +traffic-calmed +traffic-calming +traffic/pDRMGS +trafficking/SM +Trafford/M +tragedian/SM +tragedienne/SM +tragedy/SM +tragi/M +tragic/YO +tragicomedy/MS +tragicomic +tragopan/MS +tragus/M +Trail/M +trail/MGRSD +trailblazer/MS +trailblazing +trailer/d +trailhead/SM +train-bearer/SM +train-spotting +train/MADGS +train/p +trainable +trainee/SM +traineeship/SM +trainer/MS +training/MS +trainload/SM +trainman/M +trainmen/M +trainspotter/SM +trainspotting +traipse/SGDM +trait/SM +traitor/MS +traitorous/Y +Trajano/M +trajectory/SM +Trallong/M +tram/SM +tramadol/SM +tramcar/SM +Tramiel/M +tramline/SM +trammel/SDGM +tramontana/SM +tramp/RDGSM +trampette/SM +trample/DSGM +trampoline/SM +trampolinist/SM +tramway/SM +trance/MS +Tranch/M +tranche/MS +Tranent/M +trank/SMD +Tranmere/M +tranny/SM! +tranquil/Y +tranquillity/M Noun: usually uncountable +tranquilly/Qqs +trans +trans-Neptunian +transact/x +transactivator/SM +transalpine +transaminase/SM +transaminate/SGDN +Transandinomys +transatlantic +transborder/S +Transcaucasia/M +transceiver/SM +transcend/SDG +transcendence/MS +transcendent/oY +transcendental/3 +transcendentalism/SM +transclude/SGD +transclusion/SM +transcode/SM +transcompile/SGD +transcontinental/SM +transcreation/MS +transcribe/RGSD +transcript/MS +transcriptase/SM +transcription/SM +transcriptional/Y +transcriptome/SM +transcriptomics/M Noun: uncountable +transcurrent +transdisciplinarity/M Noun: uncountable +transdisciplinary +transduce/SGDNr +transect/SMG +transept/SM +transexual/SM +transexualism/M +transfect/SGD +transfectant/SM +transfection/SM +transfeminine +transfeminism/SM +transfer/DR7SGMg +transferability/SM +transferase/SM +transferee/SM +transference/SM +transferor/SM +transferral/SM +transferrin/SM +transferware/SM +TransferWise/M +Transfiguration/M +transfinite/SM +transfixion/SM +transform/R7SGD +transformational/Y +transformative +transgender/dM +transgenderism/M Noun: usually uncountable +transgenderist/SM +transgene/SWM +transgress/SDVG +transgression/SM +transgressor/SM +tranship/DGS +transhipment/S +transhistorical/M Noun: uncountable +transhumanism/SM +transhumanist/SM +transience/ZSM +transiency/SM +transient/SMY +Transifex/M +transilluminate/DGSn +transinformation/M +transire/SM +transistor/QMS +transit/dxuvVy +transition/DSMG +transitionary Adjective +transitive/IPY +transitivity/SM +transitorily +transitoriness/M Noun: uncountable +Transjordan/M +Transkei/M +translatability/M Noun: usually uncountable +translatable/U +translate/DgGnS +translated/aU +translation/aSM +translation/O +translator/MS +transliterate/GnD +transliterator/SM +translocate/GDSn +translucence/ZSM +translucency/SM +translunar +translunary +transman/M +transmarine +transmasculine +transmembrane/SM +transmen/M +transmigrant/SM +transmigrator/SM +transmigratory Adjective +transmisogyny/M Noun: uncountable +transmissibility/SM +transmissible +transmission/ASM +transmissivity/SM +transmit/AGSD +transmittable +transmittal/MS +transmittance/MS +transmitter/MS +transmogrify/nSDG +transmontane +transmural +transmutability/M Noun: uncountable +transmutationist/SM +transmutative +transmuter/SM +transnational/SM +transnationalism/SM +transom/SM +transonic +transparency/SM +transparent/Y +transpeople/M +transperson/MO +transphobe/SMW +transphobia/M Noun: usually uncountable +transpierce/DGS +transpile/SGDR +transpirable +transpire/DnSG +transplant/7nSMr +transponder/SM +transport/SMBn +transposable +transposal/SM +transpose/DNr +transpositional +transpositive/Y +transposon/SM +transputer/MS +transracial +transsexual/SM +transsexualism/MS +transsexuality/SM +transubstantiate/DGSn +transudation/S +transude/DGS +transuranic/SM +transurethral +Transvaal/M +transversal/SM +transversality/SM +transverse/SMYo +transvestic +transvestism/SM +transvestist/SM +transvestite/SM +transvestitism/M Noun: usually uncountable +transwoman/M +transwomen/M +Transylvania/M +Transylvanian/SM +trap/JSRDMG +trapdoor/SM +trapeze/SM +trapezia/M +trapezii/M +trapezium/SM +trapezius/M +trapezoid/SMO +Trapnell/M +trappable +Trappist/SM +trapshooting/M Noun: uncountable +Traquair/M +Traralgon-Morwell/M +Traralgon/M +trash/SGD2MZ +trashy/TP +trattoria/SM +trauma/QSW1M +traumata/M +traumatisation/SM +traumatism/SM +traumatology/M Noun: uncountable +Trautman/M +travail/SDGM +Travatan/M +travel/DRGJSM +travelogue/MS +Travers/M +traversable +traversal/SM +traverse/DSG +Traverse/M +travertine/SM +travesty/MDSG +Travis/M +Travolta/M +travoprost/M Noun: uncountable +Trawden/M +trawl/SRGDM +Trawsfynydd/M +Trawsgoed/M +tray/SM +trayful/S +Traynor/M +trazodone/M Noun: uncountable +Trdat/M +Tre'r-graig/M +Tre'r/M +Tre-Lech/M +Tre-main/M +treacherous/PY +treachery/MS +treacle/MY +tread/ASG +treader/SM +treadle/DSGM +treadmill/MS +Treadwell/M +Trealaw/M +Treales/M +Treanda/M +Trearddur/M +treason/S7M +treasonably +treasonous +treasure-trove/SM +treasure/DRSZMG +treasurership/S +treasury/SM +treat/LM7ZDSG +treated/KUAa +treater/SM +treatise/MS +treatment/KSM +treats/aA +treaty/MS +treble/SDG +Treblinka/M +trebly/T +Treborough/M +trebuchet/SM +trecentist/SM +trecento/M Noun: uncountable +Trecenydd/M +Trecoed/M +Tredegar/M +Tredington/M +Tredunnock/M +Tredyffrin/M +Tree/M +tree/MpGS +treelessness/M +treelike +treeline/SM +treen/S +treenail/SM +Treeton/M +treetop/MS +Tref/M +Trefdraeth/M +Trefeglwys/M +Trefeurig/M +Treffgarne/M +Trefilan/M +Treflys/M +Trefnant/M +trefoil/SM +Trefonen/M +Trefriw/M +Tregaian/M +Tregaron/M +Tregoney/M +Tregony/M +Tregoz/M +Tregoze/M +Tregynon/M +Trehafod/M +trehalose/SM +Treharris/M +Treherbert/M +trek/SRDGM +Trekkie/SM +Trelawnyd/M +Trelech/M +Trellech/M +Trelleck/M +trellis/MdS +trelliswork/SM +Tremaine/M +tremalose +Trematoda Taxonomic class + Taxonomic infraclass +trematode/SM +Tremayne/M +tremble/SMGYkDr +trembly/T +Tremeirchion/M +tremendous/YP +tremolite/SM +tremolo/MS +tremor/SMd +Tremorfa/M +Trempealeau/M +tremulous/YP +trenail/SM +trench/AGDS +trench/M +trenchancy/SM +trenchant/Y +Trenchard/M +trencher/mSM +trend/DzZ2MSG +trendsetter/SM +trendsetting +trendy/TSM +Treneglos/M +Trent/M +Trentham/M +Trentishoe/M +Trenton/M +Treorchy/M +trepan/SGDN +trepang/S +trepanger/SM +trepanner/SM +trephine/SGDNM +trepidation/MS +trepidatious/Y +Tresco/M +Trescothick/M +Tresham/M +Tresmeer/M +Tresmere/M +trespass/RDSG +tress/aMS +trestle/MS +Treswell/M +Trethomas/M +Tretikov/M +Tretire/M +Tretower/M +Treuddyn/M +Trevalga/M +trevally/S +Trevelyan/M +Treverbyn/M +Trevethin/M +Trevi +Treville/M +Trevino/M +Trevisa/M +Trevisan/M +Trévisan/M +Trevor/M +Trewalchmai/M +Treweek/M +Trewen/M +Trewern/M +Trewidland/M +trews +trey/SM +Treyford/M +tri-axle/SM +tri-band +triable +triac/SM +triacetate/SM +triacontanoic +triad/WSM +triage/SDMG +trial's/Aa +trial/DG +trial/KaA +trialist/SM +trialogue/SM +trials/Aa +triamcinolone/SM +triamterene/M Noun: uncountable +triangle/SM +triangular/Y +triangulate/nSGD +Triangulum/M +Triantafyllidis/M +Triassic/M +triathlete/SM +triathlon/SM +triatomic +triaxial +triazine/SM +tribade/SM +tribadism/M Noun: uncountable +tribal/SMY +tribalism/SM +tribalist/WSM +tribe/SmM5 +tribosphenic +tribrach/WM +tribrachs +tribulation/SM +tribunal/SM +tribune/SM +Tribus/M +tributary/SM +tribute/FSE +tribute/M +tricameral +tricar/SM +tricarbonyl/SMW +tricarboxyl/MW +tricast/SM +trice/SM +tricentennial/SM +triceps/M +triceratops/SM +trichiasis/M +trichina/M +trichinae/M +trichinoses +trichinosis/M +trichloroacetic +trichloroethane/SM +trichloroethylene/SM +trichology/3wM +trichome/SM +trichomonad/SM +trichomoniasis/M Noun: usually uncountable +trichopteran/SM +trichotillomania/M Noun: uncountable +trichotomous +trichotomy/SM +trichrome/MSW +Tricia/M +trick/ZzM2DGSR~ +trickery/SM +trickle/DSGM +trickster/MS +tricky/TP +triclinic +triclosan/M Noun: uncountable +tricolour/SDM +triconodont/MS +tricorder/SM +tricorn/SM +tricorne/SM +tricosanoic +tricot/SM +tricuspid/SM +tricycle/GSM +tricyclic/SM +tricyclist/SM +tridactyl/SM +tridecanoic +tridecylic +Trident/M +trident/SM +tridentate +tridentative +Tridentine +Tridevi/M +tridimensional +tridymite/SM +triennial/YSM +Trier/M +trier/MS +Trieste/M +trifecta/SM +triffid/SM +trifle/GRMSD +triflouride +trifocals +trifoliate/SM +trig/DRGSM +trigeminal/SM +trigender +Trigg/M +trigger-happy +trigger/M +trigger/SdA +triggerfish/SM +triglyceride/MS +triglyph/SMW +trigonal/Y +trigonid/SM +trigonocephaly/SM +trigonometry/1WwSM +trigram/SM +trigraph/SMW +trihedral +trihydrogen/SM +trike/SM +trilateral +trilby/MS +trilinear +trilingual/SM +trill/SMGD +Trillick/M +trillion/HSM +trillium/SM +trilobite/SM +trilogy/SM +trim/PDTGJSMRrY +trimaran/SM +Trimble/M +Trimdon/M +trimeric +trimerous +trimester/SM +trimeter/SM +trimethoprim/SM +trimethylene/M +trimetric/O +Trimingham/M +Trimley/M +trimming/M +trimodal +trimonthly/SM +Trimsaran/M +Trina/M +trinary/SM +Trincomalee/M +trine/SM +Tring/M +Trinidad/M +Trinidadian/SM +Trinitarian/SM +Trinitarianism +trinitrotoluene/SM +Trinity/M +trinity/SM +trinket/SM +trinomial/SM +trio/SM +triode/SM +triolet/SM +Triomphe/M +triose/SM +trioxide/SM +trip/SDRGMY +tripartite Adjective +tripe/M Noun: usually uncountable +triphenylmethane/SM +triphosphate/SM +triphthong/SMO +triplane/SM +triple/SGD +triplet/SM +Triplex/M +triplex/SMD +triplicate/SM +triplication/SM +triploblastic +triploid/SMZ +triply/N +tripod/SMO +Tripoli/M +tripos/SM +Tripp/M +tripping/Y +trippy/T +triptan/SM +triptych/M +triptychs +Tripura/M +tripwire/SM +triquark/SM +triquetral/SM +trireme/SM +Trisagion/MS +trisect/SGD +trisection/SM +trisector/SM +Trish/M +Trisha/M +trishaw/SM +trisodium/M Noun: uncountable +trisomy/SM +Tristan/M +tristate/SM +Trister/M +Tristram/M +trisyllabic/SM +trisyllable/SM +trite/YF +triteness/SM +triterpene/SM +triterpenoid/SM +tritheism/M Noun: usually uncountable +tritheist/SM +triticale/SM +tritium/SM +tritocerebra/M +tritocerebrum/M +Triton/M +triton/SM +tritone/SM +Tritonian +tritriacontanoic +tritubertulate +triturable +triturate/SDGn +triturator/SM +triumph/SDGM +triumphal/Y3 +triumphalism/SM +triumphant/Y +triumvir/MS +triumvirate/MS +triune Adjective +trivalent/SM +trivet/SM +trivia/oM +trivial/Qq +triviality/MS +trivium/M +trixie +tRNA/SM +trochaic/SM +trochanteral +trochanteric +trochee/MS +trochlear/SM +trochoid/MSO +trochophore/SM +trod/M +trodden/UA +Troed-yr-Aur/M +Troedyraur/M +Trogir/M +troglodyte/SM +troglodytic/OY +troglodytism/M Noun: uncountable +trogon/MS +troika/SM +troilism/M Noun: uncountable +Troilus/M +Trois-Pistoles/M +Trois-Rivières/M +Trojan/MS +trojan/SM +troll/DGMSr +trolley/SM +trolleybus/SM +trollop/SM +Trollope/M +trombone/3MS +trommel/MS +trompe/SM +Tron/M +Trondheim/M +troodontid/SM +Troon/M +troop/RDMGS +troopship/MS +tropacocaine/M Noun: uncountable +tropaeolaceous +tropaeolum/SM +tropan/M +tropane/SM +trope/WMSw1 +trophallaxes +trophallaxis/M +trophic/OY +trophobiont/MS +trophobioses +trophobiosis/M +trophobiotic +trophoblast/SMW +trophy/MS +tropic/SM +tropinone/M Noun: uncountable +tropism/MS +tropological/Y +tropology/SM +tropomyosin/SM +troponin/SM +tropopause/SM +tropophilous +tropophyte/SM +troposphere/SMW +troppy/TYP +Troqueer/M +Trory/M +Trossachs/M +Trostle/M +Troston/M +Trostrey/M +trot/GRSDM +Trot/MS +troth/SM +Trotman/M +Trotsky/M +Trotskyism/M Noun: uncountable +Trotskyist/SM +Trotskyite/SM +Trottiscliffe/M +Trotton/M +Trotwood/M +troubadour/SM +trouble/DGSM +troublemaker/MS +troublemaking/M Noun: usually uncountable +troubleshoot/GRS +troubleshot +troublesome/PY +troublous/Y +trough/MSGDR +trounce/GDSr +Troup/M +troupe/SRM +trouser/SM +trousered +trousseau/M +trousseaux/M Plural of trousseau +trout/SM +Troutbeck/M +Troutdale/M +Troutman/M +trouvaille/MS +trove/SMr +Trowbridge/M +trowel/MSGD +Trowell/M +Trowse/M +troy +Troy/M +truancy/SM +truant/GDMS +truce/MSp +Trucial +truck/DRGMS +truckage/MS +Truckee/M +truckle/GSDMr +truckload/SM +truculence/M Noun: usually uncountable +truculency/SM +truculent/Y +Trude/MZ +Trudeau/M +trudge/SDGMr +trudgen/MS +Trudi/M +Trudoxhill/M +Trudy/M +true-blue +true-born +true/DTG +True/M +truelove/MS +trueness/M Noun: uncountable +truepenny/MS +TrueType +truffle/MS +trug/MS +truism/MS +Trujillo/M +Trull/M +truly +Truman/M +Trumann/M +Trumbull/M +Trumland/M +trump/SDGM +Trump/SM +trumped-up +trumpery/SM +trumpet-call +trumpet/rdSM +Trumpington/M +Trumpism/M Noun: uncountable +truncate/GDSnY +Trunch/M +truncheon/MS +Trundholm/M +trundle/SDGM +trunk/SGMp +trunkfish/SM +trunkful/MS +trunnion/MS +Truro/M +Truscott/M +Trusham/M +Trusley/M +truss/GSDM +Trussel/M +Trussell/M +Trussville/M +trust/E6SaDGj +trust/Mp +trustable/Z +trustee/SM +trusteeship/SM +trustful/P +trustfulness/E +Trusthorpe/M +trustiness/M Noun: uncountable +trusting/Y +trustlessness/M Noun: uncountable +trustworthy/PY +trusty/SMTY +truth/MUSj6 +truth/p +truthfulness/U +truthiness/M Noun: uncountable +Truvada/M +Truzzi/M +TRW +try-out/MS +try/ADGS +tryer/SM +trying/Y +trypanosome/SM +trypanosomiasis/M +Trypho/M +trypomastigote/SM +trypsin/SM +trypsinogen/SM +tryptophan/SM +tryst/GDMS +Trysull/M +Tryweryn/M +Tsai/M +Tsang/M +tsar/SM3 +tsardom/SM +tsarevich/SM +tsarevichi/M +tsarina/SM +Tseng/M +tsetse/SM +Tsiolkovsky/M +Tsipras/M +Tsuga/M +tsukemono/SM +tsunami/SM +Tsushima/M +Tsutomu/M +Tswa/M +Tswana/MS +TTL/SM +tu +tu-whit +tu-whoo +Tuahiwi/M +Tuai/M +Tuakau/M +Tualatin/M +Tuam/M +Tuamarina/M +Tuareg/M +Tuatapere/M +tub/drSMZ +tuba/SMO +tubbable +tubby/T +tube/MpS +tubectomy/MS +tubercle/SM +tubercular +tuberculate +tuberculin/SM +tuberculoid +tuberculoses +tuberculosis/M +tuberculous +tuberose/MS +tuberosity/M +tuberous +tubful/MS +tubing/M +Tübingen/M +Tubman/M +Tubney/M +tubular +tubule/SM +Tubulidentata Taxonomic order +tubulin/SM +TUC/M Initialism of Trades Union Congress +tuck/DRSG +Tuck/M +Tucker/SM +Tuckerman/M +tucket/MS +Tucson/M +Tuddenham/M +Tudeley/M +Tudor/SM +Tudweiliog/M +Tudweilog/M +Tudy/M +Tue/S +Tuesday/SM +tufaceous +tuff +tuffaceous +tuffet/MS +tuft/DSGZM +tug/GSD +tugboat/MS +Tugby/M +Tugford/M +Tuhua/M +Tuileries +tuition/SMI +Tukey/M +Tukhachevsky/M +Tukwila/M +Tulane/M +tularaemia/WM +Tulare/M +tulip/MS +Tull/M +Tullahoma/M +Tullamore/M +Tullberg/M +tulle/MS +Tulliallan/M +Tullibody/M +Tullich/M +Tullow/M +Tully/M +Tullyhogue/M +Tullyhommon/M +Tullylish/M +Tullynacross/M +Tullynessle/M +Tullywiggan/M +Tulsa/M +tulwar/MS +tum/ZSM +tumble-drier +tumble-dry/SD +tumble/RSGD +tumbledown +tumblerful/SM +tumbleweed/M +Tumblr/M +tumbrel/MS +tumbril/SM +Tumby/M +tumefacient +tumefaction/SM +tumefy/SGD +tumescence/SM +tumescent +tumid/Y +tumidity/SM +tummy/MS +tumorous +tumour/MS +tumoural +tumourlike +Tums/M +tumult/SM +tumultuous/PY +tumulus/M +Tumwater/M +tun/W7rdSMZ +tuna/MS +Tunbridge/M +Tundergarth/M +tundish +tundra/SM +tune/ACSGD +tune/M +tuneable +tuneage/M Noun: uncountable +tuneful/PY +tuneless/YP +tunesmith/SM +tungstate/SM +tungsten/SM +tungstenocene/SM +Tunguska/M +tunic/SM +Tunica/M +tunica/M +tunicae/M +tunicate/SD +tunicle/MS +tuning/SM +Tunis/M +Tunisia/M +Tunisian/SM +Tunley/M +tunnel/JSRGDM +tunny/MS +Tunstal/M +Tunstall/M +Tunstead/M +Tunworth/M +Tuolumne/M +Tupac/M +Tupamaro/MS +Tupelo/M +tupelo/SM +Tupholme/M +Tupi/MS +tuple/SM +tuppence/SM +Tupper/M +Tupperware/M +Tupton/M +Tuque/M +Tur/M +Turangi/M +Turanian +turban/SM +turbaned +turbary/M +Turbellaria Taxonomic class +turbellarian/MS +turbid/Y +turbidite/SMW +turbidity/MS +turbidness/M Noun: uncountable +turbinal/SM +turbinate/SD +turbination/MS +turbine/SM +turbit/MS +turbo/SM +turboboost +turbocharge/DGR +turbofan/MS +turbojet/SM +turbolift/SM +turboprop/SM +turbot/SM +turbulence/MS +turbulent/Y +Turco/MS +Turcoman/MS +turd/SM +turdoid +tureen/SM +Turf/M +turf/MGZDS +turfgrass/SM +turfy/T +Turgenev/M +turgescence/M +turgescent +turgid/Y +turgidity/SM +Turgis/M +Turin/M +Turing/M +Turingery/M +turismo/MS +Turitea/M +Turk/SWM +Turkdean/M +Turkestan/M +Turkey/M +turkey/MS +Turkic/M +Turkington/M +Turkish/M Noun: uncountable +Turkistan/M +Turkle/M +Turkmen/SM +Turkmenistan/M +Turkoman/MS +Turku/M +Turkwel/M +Turlock/M +turlough/SM +Turmenistan/M +turmeric/MS +turmoil/M Noun: usually uncountable +turn-buckle/SM +turn-off/SM +turn-up/SM +turn/AScGD +turnable +turnabout/MS +turnaround/MS +Turnastone/M +turnback/SM +turnbuckle/SM +Turnbull/M +turncoat/SM +turncock/SM +Turnditch/M +turndown/SM +turner/AS +Turner/M +turner/M +Turnerspuddle/M +turnery/SM +Turnford/M +turning/SM +turnip/SM +turnkey/SM +turnout/MS +turnover/MS +turnround/SM +turnsole/MS +turnspit/MS +turnstile/SM +turnstone/MS +turntable/MS +Turnworth/M +Turonian +turpentine/SM +Turpin/M +turpitude/MS +turquoise/MS +turret/MS +turreted +Turriff/M +turtle-dove/SM +turtle-neck/DSM +turtle/MS +Turtlecreek/M +turtleshell +Turton/M +Turvey/M +Turville/M +turvy +Turweston/M +Tuscaloosa/M +Tuscan/SM +Tuscany/M +Tuscarawas/M +Tuscola/M +tush/SM +Tushingham-cum-Grindley/M +tusk/DRGMS +Tuskegee/M +tusky/M +Tusmore/M +tussah/SM +Tussauds/M +tussive +tussle/SDG +tussock/MSZ +tussore/SM +Tustin/M +tut-tut/SGDM +tut/SGD +Tutankhamen/M +Tutankhamun/M +Tutbury/M +tutee/SM +tutelage/MS +tutelar +tutelary/SM +Tutnall/M +tutor/dSM +tutorage/MS +tutorial/MSY +tutorship/SM +tutsan/SM +Tutsi/M +tutti/SM +Tuttington/M +Tuttle/M +Tutu/M +tutu/MS +Tuvalu/M +Tuvaluan/SM +Tux/M +Tuxford/M +TV/SM +TVA/M +TW/SM +TWA/M +twaddle/SM +Twain/M +twain/SM +twang/DGZSM +twangy/T +twat/SGD +twayblade/SM +tweak/DSRG +Twechar/M +twee/T +Tweed/M +tweed/MS2Z +Tweedie/M +Tweedledee/M +Tweedledum/M +Tweedmouth/M +Tweedsmuir/M +Tweedy/M +tweedy/T +tween/SM +tweenager/SM +tweeness +tweenie/SM +tweeny/M +tweeps +tweet/SRGD7 +tweetup/SM +tweeze/SDGR +twelfthly +twelve/H +Twemlow/M +twenty-eight/H +twenty-first/S +twenty-five/H +twenty-four/H +twenty-nine/H +twenty-one +twenty-onefold +twenty-second/S +twenty-seven/H +twenty-six/H +twenty-three/H +twenty-twenty +twenty-two +twenty-twofold +twenty/SH +Twentynine/M +twentysomething/SM +twerk/SMGD +twerp/MS +Twersky/M +Twerton-on-Avon/M +TWh +twibill/MS +twice +twice-married +Twichell/M +Twickenham/M +twiddle/YGDSR +twiddly/T +twig/SMZDG +twiggy/T +Twigworth/M +twilight/SM +twilit +twill/DSG +twin-tub/SM +twin/DSdGM +Twin/M +twine/SM +Twineham/M +twinflower/SM +twinge/DMGS +twink/SM +Twinkie/M +twinkle/YGDSM +Twinsburg/M +twinset/SM +Twinstead/M +twirl/DRGS +twirly/T +twirp/SM +twist/RZGSD +Twisthaler/M +Twiston/M +twistor/SM +twit/DGSM +twitch/SGDZr +Twitchen/M +twitchy/T +twitter/dSZr +Twitter/M +twittish +Twizel/M +two-dimensional/Y +two-edged +two-faced +two-handed +two-sided +two-step/SM +two-stroke/MS +two-thirds +two-timer/SM +two-tone +two-way/SM +two-wheeler/MS +Two/M +two/SM +Twofish/M +twofold +twonk/SM +twopence/SM +twopenn'orth +twopenny/SM +twosome/SM +twotino/SM +Twp +TWX Abbreviation: teletypewriter exchange +Twycross/M +Twyford/M +Twyman/M +Twynholm/M +Twyning/M +Twynnells/M +Twywell/M +Ty/M +Tyas/M +Tybee/M +Tyberton/M +Tyche/M +Tychicus/M +Tycho/M +tycoon/SM +Tydd/M +Tydfil/M +Tyga/M +Tyglyn/M +tying/UA +tyke/SM +Tyldesley/M +Tylenol/M +Tyler/M +Tylor/M +Tylorstown/M +tylosis/M +Tymn/M +Tymovirales Taxonomic order +tympan/SMW +tympani/SM +tympanist/MS +tympanum/SM +Tynan/M +Tyndale/M +Tyndall/M +Tyne/M +Tynecastle/M +Tyneham/M +Tynemouth/M +Tyneside/M +Tyngsborough/M +Tyninghame/M +Tynron/M +Tynwald/M +type/aASGD +type/MO +typecast/G +typeface/MS +typescript/MS +typeset/RSG +typewriter/MS +typewriting +typewritten +typhoid/SMO +typhoon/SM +typhus/M Noun: usually uncountable +typical/Y +typicality/M Noun: usually uncountable +typifier/SM +typify/DGS +typo/3MS +typographer/MS +typography/SWMw1 +typology/wSM13 +Tyra/M +tyrannicide/SMO +tyrannosaur/MS +tyrannosaurid/SM +tyrannosaurus/SM +tyrannous/Y +tyrannulet/SM +tyranny/SQ1Mw +tyrant/SM +Tyre/M +tyre/SM +Tyree/M +Tyrian/MS +Tyrie/M +Tyringham/M +tyro/SM +Tyrol/M +Tyrolean/SM +Tyrolese/M +Tyrone/M +Tyronn/M +tyrosinase/SM +tyrosine/SM +Tyrrhene/MS +Tyrrhenian/MS +Tyschtschenko/M +Tysoe/M +Tyson/M +Tythby/M +Tythegston/M +Tytherington/M +Tytherley/M +Tytherton/M +Tywardreath/M +Tywyn/M +Tzameret/M +tzar/SM +tzarina/MS +tzatziki/M Noun: usually uncountable +tzigane/SM +Tzipora/M +Tzu/M +Tzukim/M +u +U +U-boat/SMr +U.K./M +U.N./M +U.S./M +UAC/M +UAE/M +UAR/M Initialism of United Arab Republic +UART/SM Initialism of universal asynchronous receiver transmitter +UAV/SM +UAW/M Initialism of United Automobile Workers +UB40/S +Ubbeston/M +ubiquitarian/SM +ubiquitarianism/M Noun: uncountable +ubiquitin/SM +ubiquitinate/SGDN +ubiquitism/M Noun: uncountable +ubiquitist/SM +ubiquitous/YP +ubiquity/SM +Ubley/M +Ubuntu/M +Ucha/M +Uchaf/M +Uchiyama/M +Uchter/M +Uckerby/M +Uckfield/M +Uckington/M +UCL/M Initialism of University College London +UCLA/M Initialism of University of California, Los Angeles +udal/SM +Udall/M +Udalovas/M +Udanga/M +udder/SM +Uddingston/M +Udemy/M +UDF/SM +UDG/SM +Udham/M +Udimore/M +Udmurt/M +Udny/M +Udod/M +UDP/SM +UEFA/M +UEFI/M +Ueland/M +UFD/SM Initialism of unique factorization domain +Uffculme/M +Uffington/M +Ufford/M +UFO/SM Initialism of unidentified flying object +ufology/SMw3 +Ufton/M +Uganda/M +Ugandan/SM +Ugarte/M +Ugborough/M +Uggeshall/M +Ugglebarnby/M +ugh/F +Ugley/M +uglify/SGDN +ugliness/SM +Uglow/M +ugly-looking +ugly/TY +Ugrian/SM +Ugric +Ugthorpe/M +uh +UHD/M Initialism of ultra-high definition +UHF/SM +uhlan/SM +Uhrin/M +Uhura/M +UI/SM +UID/SM +Uig/M +Uigur/MS +Uinta/M +Uintah/M +Uist/SM +Uitlander/M +UK/M +ukase/SM +Ukiah/M +Ukraine/M +Ukrainian/MS +ukulele/SM +UL/SM +Ulaanbaatar/M +Ulan/M +ULAplus/M +Ulbricht/M +Ulceby/M +ulcer/VMS +ulcerate/SGDn +ulcered Adjective +ulcerous +Ulcombe/M +Uldale/M +ulema/MS +Uley/M +Ulladulla/M +ullage/SM +Ullapool/M +Ullenhall/M +Ulleskelf/M +Ullesthorpe/M +Ulley/M +Ullingswick/M +Ullmann/M +Ullswater/M +Ullyatt/M +Ulm/M +ulna/M +ulnae/M +ulnar +Ulnes/M +Uloric/M +Ulph/M +Ulpha/M +Ulrich/M +Ulrika/M +Ulrike/M +Ulrome/M +Ulster/M +ulster/MS +Ulsterman/M +Ulstermen/M +Ulsterwoman/M +Ulsterwomen/M +ulterior/Y +ultima +ultimacy/SM +ultimata/M +ultimate/Y +ultimatum/MS +ultimo +ultimogeniture/M +Ulting/M +ultisol/SM +ultra-fine +ultra-high +ultra-thin +ultra/SM +ultrabasic +ultrabook/SM +ultracentrifugation +ultracentrifuge/ODMS +ultracold +ultracompetent +ultraconservatism/M Noun: uncountable +ultraconservative/SM +ultracritical +ultradian +ultrafast +ultrafastidious +ultrafiltration/SM +ultraism/M +ultraist/MS +ultralight/SM +ultramafic/SM +ultramarathon/SMr +ultramarine/SM +ultramicroscope/SMW +ultramicrotome/SM +ultramodern +ultramontane/SM +ultramontanism/SM +ultramundane +ultranationalism/SM +ultranationalist/SMW +ultraportable/SM +ultrarapid +ultrasafe +ultrasaurus +ultrasensitive +ultrashort +ultrasonic/SY +ultrasonography/SMW +ultrasound/SM +ultrastructure/SMO +ultraviolet +Ultrix/M +ululant +ululate/nSGD +Ulva/M +Ulverscroft/M +Ulverston/M +Ulverstone/M +Ulyanov/M +Ulysses/M +um +umami/M Noun: uncountable +Umang/M +Umar/M +Umatilla/M +Umawera/M +Umbanda/M +umbel/SM +umbellar +umbellate +umbellifer/SM +Umbelliferae +umbelliferous +umbellule +umber/SM +Umberto/M +umbilic/SM +umbilical/Y +umbilicate +umbilici/M +umbilicus/MS +umbo/SM +umbonal +umbonate +umbones +umbra/SMO +umbrae/M +umbrage/SM +umbrageous +umbrella/DMS +umbrellabird/SM +Umbria/M +Umbrian/MS +Umbriel/M +umbriferous +umiak/MS +UMIST/M Initialism of University of Manchester Institute of Science and Technology +umlaut/GDSM +umpirage/M +umpire/DMGS +umpteen +umpteenth +un-English +UN/M Initialism of United Nations +Una/M +unabated/Y +unabating +unabbreviated +unable +Unabomber/M +unabridged +unabsorbed +unacademic +unaccented +unacceptability +unacceptable/Y +unacceptableness/M +unaccepted +unaccommodating +unaccompanied +unaccomplished +unaccountability/M +unaccountable +unaccountableness/M +unaccounted +unaccredited +unaccreted +unaccustomed/Y +unacknowledged +unacquainted +unactionable +unadaptable +unadapted +unaddressed +unadjacent +unadorned +unadulterated +unadventurously Adverb +unadvertised +unadvisable +unadvisedly +unadvisedness/M +unaesthetic +unaffected/Y +unaffectedness/M +unaffiliated +unaffordable +unaggressive +unaided +unaired +unalarmed +Unalaska/M +unalienated +unaligned +unalike +unalive +unalleviated +unallied +unallowable +unalloyed +unalterable/Y +unaltered +unamazed +unambiguity/M Noun: usually uncountable +unambitiousness +unambivalent/Y +unamendable +unamended +unamiable +unamplified +unamusable +unamused +unanalysable +unanchored +Unani/M +unanimated +unanimity/SM +unanimous/Y +unannotated +unannounced +unanswerable +unanswered +unapologetic/Y +unapparent +unappealing +unappeasable +unappeased +unappreciative +unappropriated +unapproved +unarchive/SGD +unarm/DGS +unarranged +unartistic/Y +unary/SM +unascertainable +unascertained +unashamedness +unasked +unaspirated +unassailability +unassailable/Z +unassailableness +unassertive +unassignable +unassimilable +unassimilated +unassisted +unassociated +unassuaged +unassuming/YP +unattainable +unattempted +unattended +unattenuated +unattested +unattractiveness +unattributed +unaugmented +unauthentic/Y +unavailable +unavailableness/M +unavailing/Y +unavenged +unavoidability +unavoidable/Z +unavoidableness +unavowed +unaware/S +unawareness +unawed +unbacked +unbaked +unbalance/SGDM +unban/SGD +unbanked +unbearable/Z +unbearableness +unbeatable/Z +unbeaten +unbeautiful/Y +unbecomingness +unbefitting/YP +unbeholden +unbeknown +unbeknownst +unbelief/M +unbelievably +unbelieving/Y +unbeloved +unbelt/SGD +unbendable +unbent +unbiased +unbiblical +unbid/SG +unbiddable +unbidden +unbind/G +unbirthday/SM +unbleached +unblemished +unblessed +unblest +unblind/SGD +unblinking/Y +unblock/SGDr +unbloodied +unblown +unblur/SGD +unboiled +unbonnet/S +unbonneted +unbonneting +unbooked +unbookish +unbothered +unbottle/SGD +unbound/iDh +unbowed +unbox/SGD +unbrace/DGS +unbranched +unbreachable +unbreakable +unbreathable +Unbrent/M +unbribable +unbridled +unbrokenness +unbruised +unbrushed +unbuckle/SGD +unbudgeable +unbudging +unbuffered +unbuild/SG +unbuilt +unburden/d +unburned +unburnished +unburnt +unbury/DGS +unbusinesslike +unbuttered +uncached +uncage/DGS +uncalculated +uncalled-for +uncandid +uncannier +uncanniest +uncanonical/Y +uncap/DGS +uncapturable +uncarboxylated +uncared +uncaring +uncarpeted +uncase/DGS +uncatalogued +uncatchable +uncategorised +uncatered +unceasing/Y +unceded +uncelebrated +uncensored +unceremoniousness/M +uncertainness +uncertificated +unchallengeable/Z +unchallenged +unchallenging +unchancy +unchangeability/M +unchangeable/Z +unchangeableness/M +unchanged +unchanging/Y +unchaperoned +uncharged +uncharismatic +uncharitableness +uncharted +unchartered +unchaste/Y +unchastened +unchastity +uncheck/SGD +unchewed +unchivalrous/Y +unchosen +unchristened +unchristian/Y +unchurch/SGD +uncial/SM +uncinate +uncirculated +uncircumcised +uncircumscribed +uncivil/Y +uncivilised +unclad +unclaimed +unclamp/SGD +unclarity +unclassical +unclassifiable +unclassified +uncle/MS +unclean/P +uncleanliness +unclear/DYP +unclimbable +unclimbed +unclinch/DGS +unclip/SGD +uncloak/DGS +unclog/GDS +uncloister/Sd +unclosable +unclose/DGS +uncloseable +unclothes +uncloudy +unclubbable +unclutch/DGS +uncluttered +unco/MS +uncoded +uncodified +uncollated +uncollimated +uncolonised +uncoloured +uncombed +uncombined +uncomely +uncomfortable/Y +uncomforted +uncommon/Y +uncommunicated +uncommunicative +uncompacted +uncompanionable +uncompassionate +uncompelling +uncompensated +uncompetitive/PY +uncompleted +uncomplexed +uncomplicated/Y +uncomplicatedness +uncompounded +uncomprehending/Y +uncomprehension/M Noun: uncountable +uncompress/SGD +uncompromised +uncompromisingness +unconcealed +unconcentrated +unconditional +unconditionality +unconducive +unconference/SM +unconfessed +unconfident/Y +unconfined +unconfirmed +unconformable/Z +unconfused +uncongested +unconjugal +unconjugated +unconnected/Y +unconnectedness/M +unconquerableness/M +unconquerably +unconquered +unconscionable/Y +unconsciousness +unconsecrated +unconsenting +unconsidered +unconsolable/Z +unconsolidated +unconstitutional +unconstitutionality +unconstrainedly +unconstructive +unconsulted +unconsumed +unconsummated +uncontactable +uncontainable +uncontended +uncontracted +uncontradicted +uncontrived +uncontrollability +uncontrollable/Z +uncontrollableness/M +uncontrolled/Y +uncontroverted +uncontrovertible +unconventional +unconventionalism +unconvinced +uncool/D +uncooperatively +uncooperativeness/M +uncoordinated +uncopiable +uncord/SGD +uncork/SGD +uncorrectable +uncorrected +uncorrelated +uncorroborated +uncorrupted +uncosted +uncountability +uncountable/Z +uncouple/DGS +uncourtly +uncouth/Y +uncouthness +uncover/d +uncrackable +uncreased +uncreate/DGS +uncreative +uncredited +uncrewed +uncrowded +uncrown/DGS +uncrushable +uncrushed +unction's/I +unction/M +unctuous/Y +unctuousness +uncuff/SGD +uncultivable +uncultivated +uncultured +uncured +uncurl/DGS +uncurrent +uncurtained +uncustomary +uncut +undamaged +undatable +undated/I +undaunted/Y +undead +undebatable +undebated +undecagon/MS +undecane/SM +undecanoic +undecidability +undecidable +undecided/SY +undecillion/SM +undecillionth/SM +undeciphered +undecylic +undedicated +undefeatable +undefended +undefiled +undefined +undeletable +undelete/DGN +undeliverable +undelivered +undemanding +undeniable/Y +undenied/Y +undenominational +undented +undependable +under +under-investment +under-read +under-report +under-represent +under-representation +under-secretary/SM +underachievement +underact/SGD +underactive +underage/SM +underappreciate/DN +underarm/SM +Underbarrow/M +underbid/G +underbidder/MS +underbody/SM +underboss/SM +underbred +underbridge/SM +undercapitalise/SGD +undercard/SM +undercart/MS +undercast/SG +underclass/SM +undercliff/SM +undercoat/SGDM +undercook/DGS +undercool/DGS +undercount/SGDM +undercover +undercroft/SM +undercurrent/MS +undercut/GS +Underdale/M +underdetermine/SGDN +underdog +underdrawing/SM +underdress/SGD +underemphasis +underestimations +underfeed/G +underfloor +underflow/M +underfoot +underframe +underfunding +underfur +undergarment/MS +undergird/SGD +underglaze/M +undergone +undergrad/MS +undergraduate/MS +underground/MS +underhand/hi +underheat/SGD +underhung +underinflated +underinflation +underinvest/SGD +underlaid +underlay/G +underlease +underlet/SG +underline +underling/MS +underlip/MS +undermanager/SM +undermeaning/SM +undermentioned +undermine/RGDS +undermost +underneath/S +underpainting +underpants +underpass/M +underpay +underperform/SG +underperformance +underpin/D +underpinning/M +underplant/SD +underplot/MS +underpopulation +underprepared +underprice/SGD +underproof +underprop/SGDJ +underqualified +underquote/SGD +underrate/GSD +undersample/SGD +undersaturated +undersaturation +underscrub/M +undersea +underseal/SGD +undersecretary/SM +undersense +underserved +underset/SG +Undershaft/M +undersheriff +undershot +undershrub/SM +undersigned/M +undersize/D +Underskiddaw/M +underskirt/MS +underslung +undersoil/M +undersow/SGD +undersown +underspecification +underspend/G +understaffing +understand/aJSG +understandability +understandable/Y +understander +understanding/aM +understanding/Y +understater/S +understeer/SGD +understood/a +understory/S +understrength +understructure +understudy/M +undersupply/S +undersurface +undertaking/M +undertone +undertow/MS +undertrick/MS +undervalue +undervest/MS +underwater +underway +underwear/M Noun: uncountable +underweight/DS +underwing/S +underwire/SD +underwood/M +Underwood/MS +underwork/D +undescended +undeserving +undesignated +undesigned/Y +undesirable/SZ +undesired +undesirous +undestroyed +undetectability +undetectable/Z +undetected +undetermined +undeterred +undetonated +undeviating/Y +undiagnosed +undies +undifferenced +undifferentiated +undigested +undignified +undiluted +undiminished +undimmed +undine/S +undiplomatic/Y +undiscerning +undischarged +undisciplined +undisclosed +undiscoverable +undiscovered +undiscriminating +undiscussable +undiscussed +undiscussible +undisguised/Y +undismayed +undisputable +undisputed/Y +undisrupted +undissociated +undissolved +undistinguished +undistorted +undistracted +undistributed +undisturbed +undiversified +undo/G7 +undock/DGS +undocumented +undogmatic +undomesticated +undoubtable +undoubted/Y +undrained +undramatic +undraw/SG +undrawn +undreamed +undreamt-of +undress/G +undrew +undrinkable +undriveable +undrunk +undue +undulant +undulate/SnDG +unduplicated +Undy/M +undye/SGD +unearned +unearth/DYSG +unearthliness +unease/2M +uneatable +UNECE United Nations Economic Commission for Europe +unedified +unedifying +uneditable +uneducable +uneffected +unelectable +unelected +unembarrassed +unembellished +unemotional +unemphatic/Y +unenclosed +unencrypt/SGD +unencumbered +unencyclopaedic +unencyclopedic +unending/YP +unendowed +unendurable/Z +unenergetic +unenergised +unenforceable +unenforced +unenforcible +unengaged +unenjoyable +unenlightened +unenlightening +unenlightenment +unenriched +unenterprising +unenveloped +unenviable +unenvied +unequal/D +unequalised +unequalising +unequivocalness/M +unergonomic +unescapable +unescape/SGD +Unesco/M +UNESCO/M Acronym of United Nations Educational, Scientific and Cultural Organization +unescorted +unessential +unestablished +unevaluated +unevangelical +uneven/Y +unevenness +uneventful/PY +unevolved +unexacting +unexaggerated +unexamined +unexampled +unexceptionable/Y +unexcitability +unexcitable +unexecuted +unexpanded +unexpended +unexpired +unexplainably +unexplained +unexploded +unexplored +unexposed +unexpressed +unexpurgated +unextended +unfading/Y +unfailing/Y +unfair/PY +unfaithfulness +unfalsifiable +unfamiliar/Y +unfamiliarity +unfashionable/Y +unfashioned +unfatherly +unfathomable/Y +unfathomed +unfavourable/Z +unfavoured +unfazed +unfeasibility +unfeasible/Z +unfeathered +unfeeling/Y +unfeigned +unfelt +unfeminine +unfenced +unfermented +unfertilised +unfiled +unfilmed +unfiltered +unfindable +unfinished +unfired +unfit/SPDG +unfittingly +unfix/SG7D +unflappability +unflappable/Y +unflavoured +unflawed +unfledged +unfleshed +unflinching/Y +unfocused +unfocussed +unfold/G +unfollow/DG +unforced +unfordable +unforeseen +unforested +unforgeable +unforgivable/Z +unforgiven +unforgiving/PY +unforgotten +unforked +unformatted +unformulated +unfortified +unfought +unframed +unfree +unfreedom +unfreeze +unfrequented +unfriend/SDG +unfriendliness/SM +unfrozen +unfruitful/Y +unfruitfulness/M Noun: uncountable +unfulfillable +unfulfilled +unfulfilling +unfunny +unfurnished +unfused +unfussy/Y +ungainliness/M Noun: usually uncountable +ungainly +ungainsayable +ungallant/Y +ungarrisoned +ungeared +ungenerous/PY +ungentle +ungentlemanliness/M Noun: uncountable +ungentleness/M Noun: uncountable +ungiving +unglazed +unglue/SGD +ungodlier +ungodliness +ungodly +ungoogleable +ungovernably +ungoverned +ungraceful/Y +ungraciousness +ungraded +ungrammatical/Y +ungrammaticality +ungrateful/Y +ungratefulness +ungratified +ungratifying +ungrounded +ungroup/SGD +ungrudging +ungual +unguarded/Y +unguent/S +unguessed +unguided +ungulate/S +unhackneyed +unhallowed +unhampered +unhand/GZ +unhandled +unhandsome/Y +unhang +unhappen +unhappiness +unhardened +unharmed +unharmonious +unharmonised +unharvested +unhatched +unhealed +unhealthful +unhealthiness +unheard-of +unhearing +unhedged +unheeded +unheedful +unheeding/Y +unhelpful/Y +unhelpfulness +unheralded +unheretical +unheroic/Y +unhewn +unhindered +unhistorical +unhitch/G +unholy/RTP +unhonoured +unhook/DGS +unhorse +unhoused +unhouseled +unhuman +unhung +unhurt +unhygienic +unhyphenated +uni +Uniat/MS +Uniate/MS +uniaxial/Y +unibody/S +unicameral +unicameralism +unicameralist +unicast +UNICEF/M Initialism of United Nations International Children's Emergency Fund +unicellular +unicity +Unicode/M +Unicoi/M +unicolour/D +unicorn/SM +unicuspid +unicycle/DMG3S +unideal +unidentate +unidentative +unidimensional +unidiomatic +unidirectional/Y +unidirectionality +uniface +unifiable +unification/MA +unifier/MS +uniform/SMYD +uniformitarian/S +uniformitarianism +uniformity/MS +unify/AGSnD +unilateral/Y +unilateralism/M +unilateralist/S +Unilever/M +unilingual/Y +unilingualism +unilluminated +unilocular +unimodal +unimolecular +unimpassioned +unimpeachable/Y +unimpeded +unimplementability +unimportance +unimportant +unimposing/Y +unimpressed +unimpressive +unimproved +unindented +unindustrialised +uninfected +uninflamed +uninflected +uninfluenced +uninfluential +uninformed +uninhibited/Y +uninhibiting +uninitialised +uninitiated +uninjured +uninspired +uninspiring +uninstal/S +uninstall/SGDR +uninstallation/S +uninstantiated +uninstructed +uninsulated +uninsured +unintegrated +unintellectual +unintelligibility/M +unintelligibly +uninterestingness +uninterpretable +uninterrupted/YP +uninterruptible +unintuitive +uninucleate +uninventive/YP +uninvested +uninvestigated +uninvited/Y +uninviting/Y +uninvoked +uninvolved +union's/EA +Union/M +union/qQ3 +Uniondale/M +unionism/MS +unionistic +unions/EA +Uniontown/M +uniparous +uniped/MS +unipersonal +uniplanar +uniplex +unipod/MS +unipolar +unipolarity +unipotent +uniprocessor +unique/YP +unironed +unironic/Y +uniserial +unisex +unisexual/Z +unisexuality +UNISON +unison/OS +unisonance/MS +unisonant +unisonous +unissued +Unisys/M +unit/dO +UNITA/M +unitard/SM +Unitarian/SM +Unitarianism/M +unitarism +unitarist/S +unitarity +unitary/MSY +unite/AGEDS +unite/h +United/M +unitemised +Uniting/M +unitise/SGD +unitive +Unity/M +unity/MES +univalent/SM +univalve/SM +univariate +universal/QS +Universal/M +universalism/SM +universalist/SW +universality/SM +universe/oMS +universitarian/SM +University/M +university/MS +univocal/Y +univocality +UNIX/M +Unix/MS +unjacketed +unjaded +unjealous +unjointed +unjoyful +unjoyous +unjust +unjustified +unkempt +unkept +unkeyed +unkillable +unkind/YP +unkindest +unkindliness/M Noun: uncountable +unking/SGDY +unkink/SGD +unkissed +unknightly +unknit/SGD +unknot/SGD +unknowability +unknowable +unknowableness/M Noun: uncountable +unknowing/PY +unknowledgable +unknowledgeable +unknownness/SM +unlabelled +unlaborious +unladylike +unlaid +unlamented +unlap +unlashed +unlatch/DGS +unlaundered +unlawfulness +unlay/G +unleaded +unlearnedly +unleavened +unled +unlenited +unless +unlessoned +unlettered +unlevel/SGD +Unley/M +unliberated +unlicensed +unlicked +unlike/P +unlineal +unlink/DGS +unlisted +unlistening +unlit +unliterary +unlively +unliving +unload/Gr +unlobed +unlocated +unlock/DGS +unlockable +unlogical +unlooked-for +unloose/DGS +unlopped +unlordly +unlosable +unlost +unlovable +unloved +unloveliness/M +unlovely +unloving/Y +unlovingness/M +unluckiness +unluxuriant +unluxurious +unmagnified +unmaintainable +unmaintained +unmalicious +unman/DGSY +unmanageable/Y +unmanaged +unmanifest/D +unmanlike +unmanliness/SM +unmannered/Y +unmannerliness/M Noun: uncountable +unmannerly +unmantle/SGD +unmanufacturable +unmanufactured +unmanumitted +unmappable +unmapped +unmaritime +unmark/SGDi +unmarketable +unmarketed +unmarriable +unmarriageable +unmarry/SGD +unmarshalled +unmartial +unmartyred +unmarvellous +unmasculine +unmask/DGS +unmasker/MS +unmassacred +unmassed +unmassy +unmast/SGD +unmaster/SdY +unmasterable +unmasticated +unmatch/SGDp +unmatchable/Y +unmate/SGD +unmaterial +unmaternal +unmathematical +unmatriculated +unmeaning +unmeasurably +unmeasured +unmechanical +unmechanised +unmediated +unmedicated +unmeditated +unmeek/M +unmeet/Y +unmeetable +unmeetness/M Noun: uncountable +unmellow/D +unmelodic +unmelodious/Y +unmelodramatic +unmeltable +unmelted +unmelting +unmember/Sd +unmemorable/Y +unmemoried +unmended +unmenseful +unmensurable +unmentionability +unmentionable/SMZ +unmentionableness +unmentioned +unmercantile +unmercenary +unmerchantable +unmerciful/P +unmeritable +unmerited/Y +unmeritingly +unmerry +unmesh/D +unmet +unmetabolised +unmetalled +unmetallic +unmetamorphosed +unmetered +unmethodical/Y +unmetrical +unmilitary +unmindful/Y +unmindfulness +unmineable +unministerial +unmiraculous +unmissable +unmissed +unmistakable/Y +unmistakeable/Y +unmistaken +unmitigable/Y +unmitigated/Y +unmitigating +unmixed/Y +unmodernised +unmodifiable +unmodified +unmodish +unmodulated +unmolested +unmonitored +unmoor/DGS +unmoral +unmorality +unmortgaged +unmortified +unmothered +unmotherly +unmould/Z +unmount/SGD +unmourned +unmouthable +unmovable/Y +unmovableness +unmoveable/Y +unmoved/Y +unmoving +unmuffle/D +unmunch/DMRGS +unmurmuring/Y +unmusical/PY +unmusicality +unmute/SGD +unmutilated +unnail/D +unnamable +unnameable +unnamed +unnational +unnatural +unnaturalness +unnavigability +unnavigable +unnavigated +unneeded +unneighbourliness +unneighbourly +unnerve/k +unnoticeably +unnoticed +unnoticing +UNO +unoaked +unobedient +unobjectionable/Y +unobjective +unobliging +unobnoxious +unobscured +unobservable +unobserved/Y +unobserving +unobstructed +unobstructive +unobtainable +unobtained +unobtainium/MS +unobtrusiveness +unobvious +unoffended +unoffending +unoffensive +unofficious +unoiled +unopinionated +unopposed +unoptimised +unordinary +unorganised +unoriginal/Y +unoriginality +unornamented +unostentatious/Y +unostentatiousness/M +unowned +unoxidised +unpackaged +unpacker/S +unpadded +unpaged +unpainful +unpaintable/M +unpainted +unpair/SDG +unpalatable/Y +unpaper/S +unpapered +unpapering +unparallel +unpardonable +unpardonableness +unpardoned +unparental +unparented +unparished +unparsed +unpartial +unpartizan +unpassable +unpassionate +unpassioned +unpasteurised +unpastoral +unpastured +unpatched +unpatented +unpathed +unpathetic +unpatriotic/Y +unpatrolled +unpatterned +unpaved +unpayable +unpeaceful +unpeeled +unpeg/SGD +unpeople/DGS +unperceived +unperfect +unperfumed +unperilous +unperishable/MS +unpermitted +unperpetrated +unperson/S +unpersuadable +unpersuaded +unpersuasive +unperturbed/Y +unphilosophic/YO +unphysical +unphysiologic/YO +unpick/DGS +unpicturesque +unpigmented +unpin/GD +unplausible/Y +unplayably +unplayed +unpleasant/PY +unpleasantry/SM +unpleased +unpleasing/Y +unpleasurable/Y +unpleasure/M +unploughed +unplug/SGD +unplumbable +unplumbed +unpoetic/OY +unpointed +unpolished +unpolitic/O +unpolluted +unpopular +unported +unposed +unpossessed +unpower/6 +unpowered +unpracticable +unpractical +unpracticality +unpracticalness +unpractised +unprecedented/Y +unpredicted +unprefixed +unprejudiced +unpremeditated/Y +unprepared/P +unprescribed +unpresentable +unpreserved +unpressed +unpressured +unpresuming +unpriced +unprincipled +unprintably +unprinted +unprioritised +unproblematic +unproblematical/Y +unprocessable +unproduceable/Y +unproduced +unprofessional/Y +unprofessionalism +unprofitable/Y +unprompted +unpronounceability +unpronounced +unpropelled +unprotesting/Y +unprotrusive +unproud +unprovability +unprovable/P +unproved +unprovided +unprovidential +unprovisioned +unprovocative +unprovoked +unpublish/SGD +unpunctual +unpunished +unquantifiable +unquantified +unquelled +unquenchable +unquenched +unquestionable/Y +unquiet/YP +unquote/DBGS +unrated +unratified +unreachableness +unreachably +unreacted +unread/2BZ +unreadably +unreadily +unreal/PY +unrealisable +unrealised +unrealism +unreaped +unreason +unreasonability +unreasonable +unreasoning/Y +unreceived +unreceptive +unreckonable +unreclaimable +unreclaimed +unreclining +unrecognised +unrecognition +unreconciled +unreconstructed +unrecordable +unrecorded +unrecoverably +unrecovered +unredeemed +unreduced +unreel/SGD +unreferenced +unreferencing +unreflective/Y +unreformable +unrefrigerated +unrefuted +unregeneracy +unregenerate/DY +unregeneration +unregistered +unregulated +unreimbursed +unrein/SGD +unreinforced +unrejected +unrejoiced +unrejoicing +unrelapsing +unrelatable +unrelated/P +unreleased +unrelenting/Y +unreliable/Y +unrelieved +unrelieving +unremarkable +unremarked +unremembered +unremitted/Y +unremitting/Y +unremoved +unremunerated +unrentable +unrented +unrepaid +unrepair/D +unrepairable +unrepeatable +unrepeated +unrepresentative +unreproducible +unrepugnant +unrequested +unrequited +unresearched +unreserve +unreservedness +unresisting +unresolved +unrest/Gk +unrestorable +unrestored +unrestrictive +unretouched +unreturned +unrevealed +unrevealing +unreversed +unreviewed +unrevised +unrevoked +unrightful/YP +unrightly +unrightness +unrigorous +unringed +unrip/SGD +unripe +unrivalled +unrivet/S +unriveted +unriveting +unroadworthy +unroasted +unrobbed +unrobe/SGDJ +unromantic/Y +unroof/SGD +unroot/DGS +unrope/DGS +unround/DGS +unroused +unruffle/SGD +unruinable +unruined +unrulable +unruled +unruly/TP +unrummaged +unrumpled +unrung +unruptured +unrushed +unrustling +unsalaried +unsaleable +unsalted +unsanctified +unsanctioned +unsanitised +unsatisfactoriness +unsatisfyingly +unsaturated +unsaturation +unsaved +unsavoury +unsay/SG +unscalable +unscaleable +unscaled +unscarred +unscathed +unscented +unscheduled +unschooled +unscored +unscratched +unscreened +unscrew/DGS +unscriptural +unscrupulousness +unseam/SGD +unsearchable +unsearched +unseasonable +unseasoned +unseaworthiness +unsectarian +unsecure/D +unseduced +unseeing/Y +unseemly +unsegmented +unsegregated +unselect/SGD +unselfconscious/YP +unsellable +unsensational/Y +unsentimental/Y +unseparated +unserious +unserved +unserviceability +unserviceable +unserviced +unset +unsettle/kiL +unsew/SGD +unsewn +unsex/SDG +unsexual +unsexy/T3 +unshaded +unshakable/Y +unshakeably +unshaken +unshaped +unshapely +unshared +unsharp/P +unsharpened +unshed +unshelled +unsheltered +unshelteredness +unshielded +unshifted +unship/SGD +unshockability +unshockable +unshod +unshrinkability +unshrinkable +unshrinking/Y +unshriven +unshrunk +unsighted +unsightliness +unsightly +unsignposted +unsilvered +unsimplified +unsinkability +unsinkable +unsisterly +unsized +unskilful/YP +unskilled +unsmart +unsmoked +unsnag/SGD +unsnap/DGS +unsociability +unsociably +unsocial +unsoiled +unsolder +unsolicited +unsolved +unsophisticated +unsought +unsound/Y +unsoundness +unsourced +unsown +unspanned +unsparing +unspeakable/Y +unspeaking +unspecialised +unspecific +unspectacular/Y +unspellable +unspendable +unspirited +unspiritual/Y +unspirituality +unspliced +unspoiled +unsponsored +unspontaneous +unspool/SGD +unsporting +unspotted +unsprayed +unsprung +Unst/M +unstable/TPY +unstacked +unstained +unstamped +unstandardised +unstapled +unstated +unsteadiness +unsterile +unsterilised +unstick/SG +unstimulating +unstinting/Y +unstitch/SGD +unstoppable/Y +unstratified +unstring/SG +unstudiedly +unstuffed +unstuffy +unstylish +unsubdued +unsubjugated +unsubmerged +unsubscription +unsubsidised +unsubstantial +unsubstantiated +unsubtle/Z +unsuccessful +unsullied +unsupervised +unsupported +unsupportive +unsuppressed +unsure +unsurfaced +unsurmountable +unsurpassable/Z +unsurpassed +unsurprised +unsurveyed +unsusceptibility +unsusceptible +unsuspected/Y +unsuspecting/Y +unsuspended +unsuspicious/YP +unsustainable/Z +unswathe/SGD +unswayed +unswept +unswerving/Y +unswollen +Unsworth/M +unsymmetrically +unsystematic/Y +untack/SGD +untactful +untag/SGD +untainted +untaken +untalented +untalkative +untameable +untamed +untampered +untanned +untapped +untargeted +untarnished +untasted +untaxable +untaxed +unteachable +untechnical +untempered +untenability +untenable/Z +untenableness +unterminate/SGD +untestable +untested +untether/Sd +untextured +unthinkability +unthinkable/Y +unthinking/YP +unthorough +unthought/6 +unthread/DG +unthreatened +unthreatening +unthrifty/YP +unthrone/SD +untick/SGD +untidy/T +untie/S +until/D +untimed +untimely +untinged +untiring/Y +untitled +untogether +untoned +untormented +untouchability +untouchable/MS +untouched +untouristed +untoward/YP +untraceably +untraced +untracked +untraditional/Y +untrainable +untrained +untrammelled +untransferable +untransformed +untranslatability +untransportable +untransposed +untrappable +untravelled +untraversable +untreatable +untrendy +untried +untrimmed +untroubled +untrue +untruly +untrusted +untrusting +untrustworthiness +untrustworthy +untrusty +untuck/D +untuned +unturned +untutored +untwine/DGS +untwist/DGS +untyped +untypical/Y +untyred +unutterable/Y +unuttered +unvaccinated +unvalidated +unvanquished +unvaried +unvarnished +unvaryingness +unvented +unventilated +unventured +unverifiable +unversed +unversioned +unviability +unviable +unviolated +unvisited +unvitiated +unvocalised +unvoiced +unwaged +unwaisted +Unwalla/M +unwalled +unwanted +unwarned +unwarrantable/Y +unwarranted +unwashed +unwatch/6SGD7 +unwatered +unweaned +unweary/G +unwedded/P +unweighed +unweighted +unwell +unwellness +unwept +unwhipped +unwieldiness +unwieldy +unwillingness +unwinged +unwinking/Y +unwinnable +unwired +unwisdom +unwise/PY +unwit/SGD +unwomanly +unwonted/P +unworkability +unworkableness +unworkably +unworked +unworkmanlike +unworldly +unworried +unworthy/P +unwound/D +unwrap/GDS +unwrinkled +unwritable +unwrought +unyielding/YP +up-tempo +up-to-date +up-to-the-minute +up/D +Up/M +up/MFS +Upanishad/WMS +Upavon/M +upbeat/MS +upbraid/DSG +upbringing/MS +upbuild/SG +upbuilt +UPC +upcase/SD +upcast/SM +Upcerne/M +Upchurch/M +upcoast +upcoming +upcountry/M +upcurve/D +upcycle/SDG +updatable +update/DGSM +updater/SM +Updike/M +updraught/SM +upend/SGD +upfront +upgradable +upgrade/DSGn7 +Uphall/M +Upham/M +upheaval/SM +upheave/SGD +upheld +Uphill/M +uphill/SM +uphold/RGS +Upholland/M +upholster/ASd +upholsterer/SM +upholstery/SM +UPI +Upjohn/SM +upkeep/MS +Upland/M +upland/SM +Uplawmoor/M +Upleadon/M +Upleatham/M +uplift/SDGrL +uplight/SRG +uplink/GDS +upload/SDGMr +Uplowman/M +Uplyme/M +upmarket +Upminster/M +upmost +upon/F +Upottery/M +upped +upper-case/DSG +upper-class/SM +Upper/M +upper/SM +Upperby/M +uppercase/SGD +uppercut/SMG +Upperlands/M +uppermost +Upperton/M +upping +Uppingham/M +Uppington/M +uppish +uppity +Uppsala/M +upraise/SDG +uprate/SGD +uprear/SGD +upregulate/SGDN +upright/YSP +uprise +uprisen +uprising/SM +upriver +uproar/SM +uproarious/PY +uproot/SGDr +uprose +UPS/M +Upsall/M +upsample/SDG +upscale/DSG +UPSes +upset/SG +upshot +Upshur/M +upside-down +upside/MS +upsilon/MS +upsize/SGD +upskill/SGD +upslope/SM +Upson/M +upspeak/SG +upspoke +upspoken +upstage/SDG +upstairs +upstanding/P +upstart/MS +upstream/M +upstroke/MS +upsurge/SM +upswept +upswing/MS +uptake/SMA +uptalk +uptempo +Upthorpe/M +upthrust/SGD +uptight +uptime +Upton-by-Chester/M +Upton-upon-Severn/M +Upton/M +uptown +uptrend/SM +upturn/SGD +upvote/SGD +Upwaltham/M +upward/SY +Upwell/M +upwell/SGD +upwelling/SM +Upwey/M +upwind +Upwood/M +Ur/M +uracil/MS +uraemia/MW +Ural/S +Urania/M +Uranian/SM +uranile +uraninite +uranious +uranism +Uranist +uranium/M +uranocene +uranoscopid/SM +uranoscopus +uranoscopy/M Noun: uncountable +uranospinite +uranothallite +uranothorite +uranous +Uranus/M +uranyl/SMW +Urban/M +urban/qQ +Urbana/M +Urbandale/M +urbane/YP +urbanism/SM +urbanist/SMW +urbanite/SZM +urbanity/MS +urbanology/M3 +urbanscape/SM +Urchfont/M +urchin/MS +Urdu/M +urea/M +ureaplasma/SM +Urenui/M +ureter/MS +ureteral +ureteric +urethane/MS +urethra/MSO +urethrae +urethritis/M +urge/JDGS +urgency/SM +urgent/Y +Uri/M +Uriah/M +Uriarte/M +uridine/SM +Uriel/M +urinal/SM +urinalyses +urinalysis/M +urinary +urinate/DSG +urine/nMS +URL/SM +Urlacher/M +Urmston/M +urn/SM +urnful/S +urobilin/SM +urobilinogen/M Noun: uncountable +Urochordata Taxonomic subphylum +urochordate/SM +urodynamic/S +urogenital +urogram/SM +urography/SM +urokinase/SM +urolagnia/M Noun: uncountable +urolithiases +urolithiasis/M +urology/wM3W +uronic +uropatagia/M +uropatagium/M +urophilia/M Noun: uncountable +uropygia/MO +uropygium/M +uroscopy/SM +urostyle/SM +Urquhart/M +Urr/M +Urray/M +Ursa/M +ursine/SM +Ursula/M +Ursuline/MS +Urswick/M +urticaria/SM +urticate/DGSn +Uruguay/M +Uruguayan/SM +Urumqi/M +urus/SW +Uruti/M +US/M +us/rS7dgl +USA/M +usable/UA +USAF/M Initialism of United States Air Force +usage/SM +Usain/M +USART +USB +USC/M +USCG +USD +USDA +use/cEDSAa +useable +used/fU +useful/YP +useless/YP +Usenet/M +user-definable +user-friendly/PT +user-generated +user-hostile +user/aM +userland +username/SM +USG/M +USGS/M Initialism of United States Geological Survey +Usha/M +usher/dSM +Usher/M +usherette/SM +USIA United States Information Agency +using/facA +Usk/M +USMC +USN +USO +USP +USPS +USS +Usselby/M +Ussher/M +USSR/M +usual/UY +usualness/U +usurer/SM +usurious/YP +usurp/DRSnG +usury/MS +UT/M +Utah/M +Utahan/SM +utan/S +UTC +Ute/M +utensil/SM +uteri/M +uterine +utero +uterosacral +uterus/M +UTF-16 +UTF-32 +UTF-8 +Utica/M +utile/qQ +utilisation/f +utilise/RBfSGD +utilitarian/SM +utilitarianism/MS +utility/MS +Utkinton/M +utmost +utopia/SM +utopian/SM +utopianism/M +Utrecht/M +utricle/SM +utricular +Uttar/M +Uttarakhand/M +utter/YdS +utterance/SM +Utterby/M +uttermost +Utterson/M +Uttlesford/M +Uttley/M +Uttoxeter/M +Utu/M +uucp/M +UUID/SM Initialism of universally unique identifier +UV +UVA +Uvalde/M +uveitis +uvula/SM +uvular/SM +Uwchgwili/M +Uwchlan/M +Uwe/M +UX/M Noun: uncountable +UXB/SM +Uxbridge/M +uxoricide/O +uxorilocal +uxorious/YP +Uygur/M +Uzbek/MS +Uzbekistan/M +Uzi/M +Uzmaston/M +Uzziah/M +v +V +V-mail/M Noun: uncountable +V-NAND +V-neck/SM +vacancy/SM +vacant/Y +vacate/DSGn +Vacaville/M +vaccenic +vaccinate/GDS +vaccinationist/SM +vaccinator/SM +vaccine/nMS +vaccinia/OSM +vacillate/SDkGn +vacillator/MS +vacua/M Plural of vacuum +vacuity/MS +vacuolar +vacuolated +vacuolation/SM +vacuole/SM +vacuous/YP +vacuum/MSd +Vadas/M +Vader/M +Vadia/M +Vadnais/M +Vaduz/M +vagabond/GMSD +vagabondage/MS +vagal/Y +vagarious/Y +vagary/MS +vagi/M Plural of vagus +vagina/SMOo +vaginae/MD +vaginectomy/SM +vaginismus/M Noun: usually uncountable +vaginitides +vaginitis/SM +vaginoplasty/SM +vaginoses +vaginosis/M +vagrancy/MS +vagrant/YSM +vague/TYP +vaguish +vagus/M +Vaida/M +vail/DGS Verb +Vail/M +vain/TYP +vainglorious/YP +vainglory/SM +Vaishnava/SM +Vaishnavi/M +Vaishnavism/M +Vaisya/MS +Vajna/M +Val-d'Or/M +Val-Saint-François/M +Val/M +valacyclovir/M Noun: uncountable +valance/MS +Valcour/M +Valcourt/M +Valdés/M +Valdez/M +Valdosta/M +Vale/M +vale/MS +valediction/SM +valedictorian/SM +valedictory/SM +Valence/M +valence/MKS +Valencia/M +Valencian/SM +Valenciennes +valency/SM +Valente/M +Valentich/M +Valentin/M +Valentina/M +Valentine/M +valentine/SM +Valentinian/M +Valentino/M +Valenzuela/M +Valeri/M +Valeria/M +Valerian/M +valerian/SM +valeric Adjective +Valerie/M +Valerius/M +valet/SMd +valetudinarian/MS +valetudinarianism/M Noun: uncountable +Valetudo/M +valgus +Valhalla/M +valiant/Y +valid/InY +validate/IDASGN +validation/IMA +validator/SM +validity/SMI +valine/SM +valise/SM +Valium/M +Valjean/M +Valk/M +Valkyrie/SM +Valladolid/M +vallate +Valle/M +vallecula/M +valleculae/M Plural of vallecula +Vallée-de-l'Or/M +Vallée-de-la-Gatineau/M +Vallée-du-Richelieu/M +Vallée/M +Vallejo/M +Valles Valles Marineris (Mars) +Valletta/M +Valley/M +valley/SM +Valleyfield/M +Valli/M +valonia/SM +valorise/SGDn +valorous/YP +valour/M Noun: usually uncountable +Valparaiso/M +valproic Adjective +valsartan/M Noun: uncountable +valse/SM +Valter/M +valuable/SM +valuably/I +valuation's/C +valuation/f +valuator/MS +value-added Adjective +value/CnASGD +value/Mp +valued/Ufc +valuelessness/M Noun: uncountable +valuer/SM +values/fc +valuing/fc +valve/SDMp +valvular +vamoose/DGS Verb +vamp/AGSD +vamp/M +vampire/MS +vampirism/M Noun: usually uncountable +vampish/PY +vampy/T +Van/M +van/SM +vanadate/SM +vanadinite/SM +vanadium/SM +vanadocene/SM +Vanautu/M +Vance/M +vancomycin/M Noun: uncountable +Vancouver/M +Vanda/M +Vandal/MS +vandal/QMS +Vandalia/MW +vandalism/MS +vandalistic/Y +Vanden/M +Vandenberg/M +Vander/M +Vanderbilt/M +Vanderburgh/M +Vandermeer/M +Vandyke/MS +vane/MS +Vanessa/M +Vange/M +vanguard/MS +vanilla/SM +vanillin/SM +vanish/GJSkDMr +Vanitory Vanitory unit +vanitory/SM +vanity/MS +Vannevar/M +vanquish/RGDS +vanquishable +vantage/SM +Vanth/M +Vanuatu/M +vape/SGDM +vapid/Y +vapidity/SM +vapidness/M Noun: uncountable +vaporise/RnSGD +vaporous/Y +vaporousness/M Noun: uncountable +vapour/kMSGDZp7rJ~ +vapourability/M Noun: uncountable +vapourlike +vapourware/M Noun: uncountable +var. +Varaha/M +Varahi/M +Varanasi/M +Varangian/MS +Varda/M +Varden/MS +Varela/M +Varennes/M +Varga/M +Vargas/M +variability/SIM +variable/ISM +variable/Y +variableness/SM +Variações/M +variadic +Varian/M +variance/ISM +variant/ISM +variate/MnxSGD +varicella/M Noun: usually uncountable +varices +varicoloured +varicose/DY +varicoseness/M Noun: uncountable +varicosity/SM +variegate/SnDG +varietal/SMY +variety/SM +varifocal/SM +variola/SM +variolar +variolite/SM +variolous +variorum/SM +various/YP +Variscan +variscite/SM +varistor/SM +varix/M +varlet/SM +Varma/M +Varmus/M +Varna/M +Varney/M +varnish/SDMGR +Varolii pons Varolii +Varricchio/M +Varshney/M +varsity/SM +Varuna/M +varve/SMD +vary/hkGlSBD +varying/UY +Vasconcelos/M +Vasconic +Vasconist/SM +vascula/M Plural of vasculum +vascular +vascularise/SGDn +vasculature/SM +vasculitides Plural of vasculitis +vasculitis/SM +vasculum/SM +vase/SM +vasectomy/MS +vaseful/SM +Vaseline/M +vaselined +Vasili/SM +Vasily/M +vasoconstriction/SM +vasoconstrictive Adjective +vasoconstrictor/SM +vasodilatation/SM +vasodilation/SM +vasodilator/SMZ +vasomotor Adjective +vasopressin/SM +vasopressor/SM +vasovagal Adjective +Vasquez/M +vassal/SM +vassalage/MS +Vassar/M +Vassilaros/M +vast/PTYSMZ +Vastag/M +vastitude/SM +vat/GMDS +VAT/M Noun: uncountable +Vatican/M +Vaticanism/M Noun: uncountable +Vaticanist/MS +vaticinate/DGSn +vaticinatory +Vatileaks/M +Vauchurch/M +Vaud/M +vaudeville/SM +vaudevillian/SM +Vaudois/M +Vaudreuil-Dorion/M +Vaudreuil-Soulanges/M +Vaughan/M +Vaughn/M +vault/RSGMD +vaunt/rMSGDk +Vauxhall/M +Vax/M +Vaxart/M +VAXes +Vaynor/M +VBA/M +VCD/SM +VCR/SM +VD/SM +VDT/SM Initialism of video display terminal +VDU/SM Initialism of visual display unit +veal/SM +Vecchietti/M +vector/FM +vector/OSd +vectorise/nDGS +Veda/SMW +Vedanta/MW +Vedantist/MS +Vedast/M +Vedda/MS +vedette/SM +Vedicism/M +Vedism/M Noun: uncountable +Veenendaal/M +Veep/M +veer/DGSM +veg/GDM +Vega/SM +vegan/MS +veganism/M Noun: usually uncountable +Vegas/M +Vegemite/M +vegetability/M Noun: uncountable +vegetable/SMY +vegetal/Y +vegetant +vegetarian/SM +vegetarianism/SM +vegetary +vegetate/GVnDS +vegetational Adjective +vegetatively Adverb +vegetativeness/M Noun: uncountable +vegetivorous +vegges +veggie/SM +vehemence/M Noun: usually uncountable +vehement/Y +vehicle/SM +vehicular Adjective +veil/DUSG +veil/Mp +Veillet/M +vein/DSMGp +veinier +veiniest +vela/M Plural of velum +velar/SMW +Velásquez/M +Velcade/M +Velcro/M +Velculescu/M +veld/SM +veldt/SM +Velez/M +Velfrey/M +veliger/SM +Vella/M +vellum/MS +Vellutello/M +Velma/M +velocimeter/SM +velocimetry/M Noun: uncountable +velocipede/MS3 +velociraptor/SM +velocity/SM +velodrome/SM +velogenic Adjective +velopharyngeal/SM +Velorum/M +Veloso/M +velour/MS +velouté/SM +velum/SM +Velveeta/M +velvet/SZM +velveted +velveteen/SM +velvetleaf/M Noun: usually uncountable +Ven/M +Venables/M +venal/Y +venality/SM +Venango/M +Venatici/M +venation/SM +vend/SbDG +vendetta/MS +vendor/SM +veneer/GnDSM +Veneneia/M +Venera/M +venerableness/SM +venerate/GBDSn +venereal/Y +venereology/M3w +Veneris/M +venery/M Noun: usually uncountable +venesection/SM +Venetian/MS +Venezuela/M +Venezuelan/SM +vengeance/SM +vengeful/Y +vengefulness/A +venial/Y +veniality/SM +Venice/M +venison/SM +Venite/MS +Venkova/M +venlafaxine/SM +Venn/M +venography/W1SM +venom/MS +venomous/YP +Venona Venona project +Venook/M +venous/Y +vent/IGFSK +vent/Mpr +ventail/SM +vented/KI +Ventidius/M +ventiduct/SM +ventifact/SM +ventilate/SDGnV +ventilator/SMZ +Ventnor/M +ventral/Y +ventre ventre à terre +ventricle/SM +ventricular +ventriculography/M Noun: uncountable +ventriloquies +ventriloquise/SGD +ventriloquism/MS +ventriloquist/MS +ventriloquy/OM +ventromedial/Y +Ventura/M +Venture Venture Scout +venture/SMRDG +venturesome/YP +venturi/SM +venturous/P +venue/SMA +venular +venule/SM +venulous Adjective +Venus/SM +Venusian/SM +Veny/M +Vepsian/MS +Vera/M +veracious/YP +veracity/SM +veranda/SM +verandah/MS +verapamil/SM +veratrine/SM +veratrum/SM +verb/GMSp +verbal/SMY +verbalise/SGDnR +verbatim +verbatimness/M Noun: uncountable +Verbeek/M +verbena/MS +verbiage/SM +verbify/SGDn +verbose/YP +verbosity/MS +verboten +verd-antique/M +Verdana/M +verdancy/M Noun: usually uncountable +verdant/Y +verdantness/M Noun: uncountable +Verde/M +Verden/M +verderer/SM +Verdes/M +Verdi/M +verdict/MS +verdigris/SM +Verdon/M +Verdú/M +Verdun/M +verdure/DSMp +verdurous/Y +verdurousness/M Noun: uncountable +Vere/M +Vereen/M +Vergara/M +verge/GFSD +verge/SMr +Vergne/M +Vergote/M +Verhofstadt/M +Verhulst/M +veridical/Y +verifiability/M Noun: usually uncountable +verifiably +verified/AU +verify/BnRDGS +Verilog/M +Verisign/M +verisimilitude/MS +veristic +veritable/Y +verity/SM +Verizon/M +Verlinde/M +Vermeer/M +vermes Plural of vermis +vermian +vermicelli/SM +vermicide/SM +vermicomposter/SM +vermicomposting/M +vermicular +vermiculate/D +vermiculite/SM +vermiculture/M Noun: uncountable +vermiform +vermifuge/SM +Vermilion/M +vermilion/SM +Vermillion/M +vermin/M +verminous/Y +vermis/M +Vermont/M +vermouth/MS +Vern/M +Verna/M +vernacular/YSM +vernacularise/SGDn +vernacularism/SM +vernacularity/SM +vernal/Y +vernation/SM +Verne/M +Vernen/M +Verner/M +Verney/M +Vernhams/M +vernier/MS +Vernon/M +Vero/M +Verona/M +Veronica/M +veronica/SM +Veronika/M +Veronique/M +Verret/M +Verrier/M +verruca/MS +verrucae/M +versa vice versa +Versailles/M +versatile/Y +versatility/SM +verse/ANDXFS +verse/M +Versen/M +verses/4I +verset/SM +versicle/SM +versicoloured +versify/GRSnD +Versini/M +version/ODGMIFAS^ +verso/MS +Verstehen/M +versus +vert/SM +vertebra/MO +vertebrae/M +vertebrata +Vertebrata Taxonomic subphylum +vertebrate/SIM +vertex/MS +vertical/YSM +verticality/SM +vertices +vertiginous/Y +vertiginousness/M Noun: uncountable +vertigo/SM +vertigoes +vertisol/SMW +verve/MS +vervet/SM +Verwick/M +Verwood/M +very/Y +Veryan/M +Veselovsky/M +vesical +vesicant/SM +Vesicare/M +vesicle/MS +vesicular +vesiculate/GSDn +Vespasian/M +Vesper/SM +vesper/SM +Vespucci/M +vessel/SM +vest/ySDGLoM +Vesta/M +Vestal/M +vestal/SM +Vestavia/M +vestiary/SM +vestibular +vestibule/MS +vestige/MOoS +vestiture/SM +vestry/mSM +vesture/DSGMOr +vesuvianite/SM +Vesuvius/M +vet/SGMD +vetch/SM +vetchling/SM +veteran/MS +veterinarian/SM +veterinary/SM +vetiver/SM +vetivert/M Noun: uncountable +veto/SDGM +vetoes +vetoist/WMSw +Vetter/M +Vettori/M +Vettulenus/M +Vetus Vetus Testamentum +Vevo/M +vex/F +vex/GSr +vexation/SM +vexatious/YP +vexed/Y +vexedness/M Noun: uncountable +vexillology/Mw3 +VF/M Noun: usually uncountable +VFW/M Initialism of Veterans of Foreign Wars +VG/SM +VGA/M Initialism of Video Graphics Array +VHDL/M +VHF/M +VHS/M +VHSes +VI +vi +via +viability/MS +viable/Y +viaduct/MS +Viagra/M +vial/S6M +vialful/SM +Viana/M +viand/MS +vibe/SGDM +vibrancy/SM +vibranium +vibrant/YSM +vibraphone/S3M +vibrate/DGnyS +vibrational/Y +vibrato/SM +vibrator/SM +viburnum/SM +Vic/MZ +Vicar Vicar of Christ +vicar/SM +vicarage/SM +vicariance/SM +vicariate/SM +vicarious/YP +vice-chancellor/SM +vice-Chancellor/SM +vice-Chancellorship/SM +vice-chancellorship/SM +vice-like +vice-President/SM +vice-president/SM +vice-Presidential +vice-presidential +vice/MSp +Vice/SM +vicegerency/SM +vicegerent/SM +vicelessness/M Noun: uncountable +Vicente/M +Vicenza/M +viceregal/YSM +viceroy/MS +viceroyal +viceroyalty/SM +viceroyship/SM +Vichy/M +vichyssoise/MS +vicinity/MS +vicious/YP +vicissitude/MS +Vick/M +Vickers/M +Vickery/M +Vickerys +Vicki/M +Vickie/M +Vicksburg/M +Vicky/M +victim/sQMqpS +victimhood/M Noun: usually uncountable +victimologic/OY +victimology/SM3 +Victor/M +victor/MS +Victoria/M +Victorian/SM +Victoriana/M +Victorianism/SM +Victoriaville/M +victorious/Y +victoriousness/M Noun: uncountable +Victorville/M +victory/SM +Victoza/M +Victrex/M +victrices +victrix/M +victual/RSGDM +vicuña/SM +vid/SM +Vida/SM +Vidal/M +Vidalia/SM +videlicet Adverb +video/DMGS +videocassette/SM +videocast/SGM +videoconference/SGDM +videodisc/MS +videofit/SM +videogram/SM +videographer/SM +videographic/S +videography/MSW +VideoLAN/M +videophile/SM +videophone/SM +videoscope/SM +videosurgery/M Noun: uncountable +videotape/SDMG +videotelephony/M Noun: uncountable +vidicon/SM +Vidor/M +vie/7SDG +Viegas/M +Vieira/M +Viejo/M +Vienna/M +Viennese/M +Vientiane/M +Viet/SM +Vietcong/SM +Vietminh/M +Vietnam/M +Vietnamese/M +view's/cKA +view/JpDRGS7M +viewdata/M Noun: usually uncountable +viewed/KA +viewer/AKSM +viewership/SM +viewfinder/MS +Viewforth/M +viewgraph/SM +viewing/SM +Viewpark/M +viewpoint/SM +viewport/SM +views/KAc +viewscreen/SM +vig/SM +Viganò/M +Vigean/MS +vigesimal/SM +vigil/SM +vigilance/SM +vigilant/Y +vigilante/SM +vigilantism/SM +Vigna/M +vignette/MGDSr +vignettist/SM +Vigo/M +Vigoda/M +Vigoris/M +vigorish/SM +vigorous/YP +vigour/SMp +vii +Viibryd/M +viii +Viking/SM +Vikram/M +Viktor/M +Vila/M +Vilas/M +vile/PYT +vilifier/SM +vilify/DSnG +Villa/M +villa/SM +Village/M +village/RSM +Villages/M +villagey Adjective +villain/MSZ +Villainage/M +villainage/SM +villainess/SM +villainous/Y +villainousness/M Noun: uncountable +villainy/SM +villanelle/SM +Villanovan/SM +Villars/M +Villas/M +Ville-Marie/M +Villegas/M +villein/SM +villeinage/SM +Villeneuve/M +villi/M Plural of villus +Villiers/M +villosity/SM +villus/M +Vilma/M +Vilnius/M +vim/M Noun: uncountable +vimana/SM +Vimeo/M +vinaceous +vinaigrette/SM +Vinata/M +Vinay/M +Vince/M +Vincennes/M +Vincent/M +Vincentian/SM +Vincenzo/M +Vinci/M +vincibility/M Noun: uncountable +vincible +vincula/M Plural of vinculum +vincular +vinculum/SM +vindaloo/SM +vindicable +vindicate/SDGn +vindicative/Y +vindicativeness/M Noun: uncountable +vindicator/SMZ +vindictive/YP +vine/SM +vinegar/r3ZSM~ +vinegared +vinegariness/M Noun: uncountable +Vineland/M +vinery/MS +vineyard/MS +Vineyard/SM +viniculture/MS3Oo +Vinnie/M +vino/SM +vinosity/M Noun: usually uncountable +vinous/Y +vinousness/M Noun: uncountable +Vinson/M +vintage/SMr +vintner/MS +Vinton/M +Vintry/M +vinyl/MS +viol/MS73 +Viola Taxonomic genus +viola/nMS +violate/SGD Verb +violator/SM +violence/MS +violent/YSM +Violet/M +violet/SM +Violette/M +violin/3MS +viologen/SM +violoncellist/SM +violoncello/SM +VIP/SM +viper/SM +viperfish/SM +viperine/SM +viperous/Y +viperousness/M Noun: uncountable +viraemia/SMW +virago/MS +viral/YSM +virality/M Noun: usually uncountable +Virastyar/M +Viread/M +vireo/MS +Virgaviridae Taxonomic family +Virgil/M +Virgilian Adjective +Virgilianism/M Noun: uncountable +Virgin/M +virgin/MoS +virginal/SM3 +Virginia/M +Virginian/SM +virginity/MS +Virginstow/M +Virgo/SM +Virgoan/MS +virgule/MS +viridian/SM +virile Adjective +virilise/SGDn +virilism/SM +virility/SM +virilocal +virion/SM +Virley/M +viroid/SM +virological/Y +virology/M3 +virotherapy/SM +Virpi/M +virtual/SM +VirtualBox/M +virtualise/SGDnR +virtualism/M Noun: usually uncountable +virtualist/SM +virtuality/SM +virtue/SoMp +virtuecrat/SM +virtuosi/WM1 +virtuosity/SM +virtuoso/SM +virtuosoship/M Noun: usually uncountable +virtuous/YP +virulence/SM +virulent/Y +virus/MS +vis-à-vis +vis/bNX +visa/MS +visage/SM +Visalia/M +viscera/OoM +viscerality/SM +viscid/Y +viscidness/M Noun: uncountable +viscoelastic/SMY +viscoelasticity/SM +viscometer/SM +viscometry/M Noun: uncountable +viscose/SM +viscosity/MS +viscount/MS +Viscount/SM +viscountcy/MS +viscountess/MS +viscous/YP +viscus/M +visfatin/M Noun: uncountable +Vishnu/M +Vishnuism/M +Vishnuite/MS +Vishwa/M +visibility/ISM +visible/IY +visible/Y +Visigoth/SMW1 +vision/pySGDM +visionary/SM +visit/AdS +visitant/SM +visitation/SM +visitor/SM +visna-maedi/M +visor/SMp +visored Adjective +Vista/M +vista/SM +visual/sYQSMq3 +visuomotor/W +visuospatial/Y +vita/oM +vitaceous +vitae/M Plural of vita +vitagraph +vital/S3 +vitalise/CGASD +vitalise/SGDn +vitalism/SM +vitality/SM +vitamin/MS +vitascope/SMW +Vitellius/M +vitellogenin/SM +Viterbi/M +vitexin/M Noun: uncountable +vitiate/SnGD +viticetum/M Don't use "viticeta" (plural) (GitHub user Tex2002ans) +viticulture/M3r +vitiliginous +vitiligo/M Noun: usually uncountable +Vito/M +Vitoria/M +Vitória/M +vitreous/Y +vitrifaction/M Noun: uncountable +vitrifiable Adjective +vitrify/GSnD +vitrine/SM +vitriol/SMW1 +vitrite/SM +vitro in vitro +vituperate/DnSVvG +Vitus/M +viva/SGDM +vivace/SM +vivacious/YP +vivacity/SM +Vivaldi/M +vivaria/M Plural of vivarium +vivarium/M +vivendi modus vivendi +Vivian/M +vivid/YP +Vivien/M +Vivienne/M +vivify/ASGND +viviparity/M Noun: uncountable +viviparous/Y +vivisect/xGDS +vivisection/MS3 +vivisector/MS +vivo in vivo +vixen/MS +viz. +vizard/MS +vizier/MS +vizorless +vizsla/MS +VJ/SM +Vlach/MS +Vlad/M +Vladimir/M +Vladivostok/M +VLC/M +vlei/SM +VLF/M Initialism of very low frequency +Vlissingen/M +VLSI/M Abbreviation of very large scale integration +VM/SM +VMS/M +VMware/M +VOA/SM +Voalavo +vocable/AI +vocable/SM +vocabularian/SM +vocabulary/SM +vocabulation/M Noun: usually uncountable +vocabulist/SM +vocal/Q3sqSMY +vocalese/M Noun: usually uncountable +vocalic +vocalion/SM +vocalism/SM +vocalistic +vocality/SM +vocation's/IFA +vocation/OoMS +vocative/YSM +vociferate/GSDn +vociferous/YP +vocode/SGDR +Vodafone/M +vodka/SM +vodun/M Noun: uncountable +voetganger/SM +Voetsek/M +Voetstoots/M +Vogel/M +Vogelstein/M +Vogeltown/M +vogesite/M Noun: uncountable +Vogts/M +Vogue/M +vogue/SMGD +vogueing +voguish/YP +voice-activated +voice-over/SMd +voice/6Mr +voice/CGDIS +voiceband/M Noun: uncountable +voicebank/SM +voicedness/M Noun: uncountable +voiceless/YP +voicemail/SM +voiceprint/SM +voiceprinter/SM +void/GD7SM +voila +voilà +voile/SM +VoIP/M +voiture/SM +voiturette/SM +voiturier/SM +voiturin/SM +Vokes/M +vol-au-vent/SM +vol. +vol/SM +volador/SM +voladora/SM +volante/SM +Volapük/M +volatic +volatile/SMP +volatilise/SGDn +volatility/SM +volcanic/SMY +volcanicity/SM +volcanism/SM +volcano-tectonic Adjective +volcano/SM +volcanoes +volcanogenic/Y +volcanologic/OY +volcanology/3M +vole/MS +Volga/M +Volgograd/M +volition/OoMS +volitionality/M Noun: uncountable +Volker/M +Volkeri/M +Volkswagen/SM +volley/SDMGR +volleyball/SM +Vollrath/M +Volodymyr/M +vols-au-vent/M +volt/AMS +Volta/M +voltage/SM +voltaic +Voltaire/M +voltammetric/Y +voltammetry/M Noun: uncountable +voltammogram/SM +Voltaren/M +volte-face/SM +volte/SM +Volterra/M +voltmeter/SM +volubility/SM +voluble/YP +volume/MSD +volumetric/Y +volumetrics/M Noun: uncountable +voluminosity/SM +voluminous/YP +volumise/SGDR +voluntarism/SM +voluntarist/SMW +voluntary/YSM +volunteer/MGSD +volupté/SM +voluptuary/SM +voluptuous/YP +Volusia/M +volute/SDM +Volvo/M +volvox/SM +vomeronasal/Y +vomit/SdM +vomita/M Plural of vomitus +vomitoxin/SM +vomitus/M +von +Vonn/M +Vontaze/M +voodoo/SM +Voorhees/M +voracious/YP +voracity/SM +Vorbis/M +Vorilhon/M +vortex/SM +vortical/Y +vorticella/SM +vortices +Vorticism/M +vorticism/SM +vorticist/SM +Vorticist/SM +vorticity/SM +vorticose/Y +vorticular/Y +Voss/M +Vostok/M +votary/MS3 +Votaw/M +vote/CDGeS +vote/Mrp +voting/SM +votive/SMY +votiveness/M Noun: uncountable +Votyak/M +vouch/GSRD +vouchsafe/DSG Verb +voussoir/SM +Vouvray/M +vow/SDGMp +Vowchurch/M +vowel/DSMYp +vowelise/SGDJ +voyage/SMRGD +Voyager/SM +voyageur/SM +voyeur/MS +voyeurism/SM +voyeuristic/Y +Voytenko/M +VP/SM +VPN/SM +vPro +VR/SM +VRAM/M Noun: uncountable +Vreeland/SM +Vries/M +vril/M Noun: uncountable +Vril/M Noun: uncountable +VRML/M (computing) Initialism of Virtual Reality Modeling Language +vroom/SDGM +vs +VS/M +VT/SM +VTOL/SM (aviation) Acronym of vertical takeoff and landing +vu déjà vu +Vuagnoux/M +Vuelta/M +vug/SMZ +vugular +Vulcan/SM +Vulcanian Adjective +vulcanise/GDnS +vulcanism/SM +vulcanite/SM +vulcanoid/SM +vulcanology/M Noun: uncountable +vulgar/Y +vulgarian/SM +vulgarise/SGDn +vulgarism/SM +vulgarity/MS +Vulgate/M +vulnerability/SI +vulnerable/IY +Vulpecula/M (astronomy) A faint autumn constellation in the northern sky +vulpine/SM +vulture/MS +vulturine +vulturish +vulturous Adjective +vulva/SMOp +vulvae/M Plural of vulva +vulvar Adjective +vulvovaginal +vulvovaginitis/SM +vuvuzela/SM +VX/Mr +Vyrnwy/M +Vytorin/M +Vyvanse/M +W +w +wa-wa/SM +WA/SM +WAAC/M Initialism of Women's Army Auxiliary Corps +Waac/MS +WAAF/M Initialism of Women's Auxiliary Air Force +Waaf/MS +Wabash/M +Wabasha/M +wabbit/SM +Waberthwaite/M +WAC/SM +wack/SM +wacke/SMr +Wacker/SM +wacko/SM +wackoes +wacky/TYP +Waco/M +Wacoan/SM +Waconia/M +Wacton/M +wad/DrMGS +Wadborough/M +Waddesdon/M +Waddeson/M +Waddingham/M +Waddington/M +Waddingworth/M +waddle/DSGMr +Waddon/M +wade/GSM +Wade/M +Wadebridge/M +Wadena/M +Wadenhoe/M +Wadestown/M +Wadhurst/M +Wado-ryu/M +Wado-Ryu/M +Wadsworth/M +Wadworth/M +Waen/M +Waerden/M +Wafer/MS +wafer/SM +waffle/GMDS +waft/SGDMr +wag/DdrSMG +wage-earning Adjective +wage/MS +wager/SdM +Wagga/M +waggish/YP +waggle/DSGM +waggon/SMr +waggonette/SM +waggy/TY +Wagner/M +Wagnerian/SM +wagon-lit/M +wagon/SMr +Wagoner/M +wagoner/SM +wagonette/SM +wagonload/SM +wagons-lits +wagtail/MS +wah-wah/SM +Wahabi/MS +Waharoa/M +Waheed/M +Wahhabi/MS +Wahlberg/M +Wai/M +Waiake/M +Waiau/M +waif/MS +waifish Adjective +waiflike Adjective +Waiharara/M +Waiheke/M +Waihi/M +Waihī/M +Waihola/M +Waikaia/M +Waikaka/M +Waikanae/M +Waikato/M +Waikawa/M +Waikiki/M +Waikiwi/M +Waikouaiti/M +Waikowhai/M +Waikuku/M +wail/SGDMr +Waima/M +Waimahia/M +Waimairi/M +Waimakariri/M +Waimangaroa/M +Waimate/M +Waimauku/M +Wain/M +wain/SM +Wainfleet/M +Wainoni/M +wainscot/DGdSM +Wainui/M +Wainuiomata/M +Wainwright/M +Waioneke/M +Waiotira/M +Waiouru/M +Waipa/M +Waipango/M +Waipawa/M +Waipukurau/M +Wairakei/M +Wairarapa/M +Wairau/M +Wairoa/M +waist/MDSp +waistband/SM +waistcoat/SM +waistline/SM +wait/RDSGM +Waitahuna/M +Waitakere/M +Waitaki/M +Waitangi/M +Waitangirua/M +Waitara/M +Waitaria/M +Waitati/M +Waitby/M +Waite/M +Waitemata/M +Waithe/M +Waitoa/M +Waitoki/M +Waitomo/M +Waitoriki/M +Waitotara/M +waitress/MSG +Waitrose/M +Waiuku/M +waive/GSRD +Waiwera/M +Waiwhetū/M +waka/SM +Wakai/M +wakame/M Noun: uncountable +Wakapuaka/M +Wakari/M +Wakatu/M +Wakayama/M +wake/j6MGDS +Wake/M +wakeboard/SGDMR +Wakefield/M +wakefulness/SM +waken/Sd +waker/MS +Wakering/M +Wakerley/M +Wakes/M +wakeup/SM +wakey +wakey-wakey +Wakimoto/M +Wakulla/M +Wal-Mart/M +Walaka/M +Walasek/M +Walberswick/M +Walberton/M +Walbridge/M +Walbrook/M +Walburn/M +Walcot/M +Walcote/M +Walcott/M +Wald/M +Waldegrave/M +Waldemar/M +Walden/M +Waldense/SM +Waldensian/SM +Waldershare/M +Waldingfield/M +Walditch/M +Waldmann/M +Waldner/M +Waldo/M +Waldorf/M +Waldringfield/M +Waldrist/M +Waldron/M +Waldronville/M +wale/SGDM +Waler/MS +Wales/M +Walesby/M +Walfield/M +Walford/M +Walgherton/M +Walgrave/M +Walgreen/M +Walgreens/M +Walham/M +walk-in/SM +walk-on/SM +walk-through/SM +walk/SRGDB +walkabout/MS +walkathon/SM +Walken/M +Walker/M +Walkerburn/M +Walkeringham/M +Walkerith/M +Walkern/M +Walkhampton/M +walkie-talkie/SM +walkie/SM +Walkingham/M +Walkington/M +Walkman/SM +Walkmen/M +walkout/SM +walkover/MS +walkway/MS +wall-eye/DSM +wall-to-wall Adjective +Wall/M +wall/SDGM +Walla/M +wallaby/SM +Wallace/M +Wallacetown/M +Wallaceville/M +Wallacewell/M +Wallachia/M +Wallachian/MS +Wallasea/M +Wallasey/M +Wallbanger/M +wallcovering/SM +wallcreeper/SM +Wallen/M +Wallenstein/M +Waller/M +Wallerstein/M +Wallerthwaite/M +wallet/SM +wallflower/SM +Wallice/M +Wallingford/M +Wallington/M +Wallingwells/M +Wallis/M +Wallkill/M +Wallneuk/M +Walloon/MS +wallop/dSM +Wallop/M +wallow/GDSM +wallpaper/dSM +Walls/M +Wallsend/M +wallwasher/SM +Wallwork/M +Wally/M +wally/SM +Walmart/M +Walmer/M +Walmersley/M +Walmsgate/M +Walmsley/M +Walney/M +Walnut/M +walnut/MS +Walpole/M +Walpurgis Walpurgis night +walrus/MS +Walsall/M +Walsgrave/M +Walsh/M +Walsham-le-Willows/M +Walsham/M +Walshaw/M +Walshford/M +Walshingham/M +Walsingham/M +Walsoken/M +Walston/M +Walt/MR +Walter/M +Walterstone/M +Walthall/M +Waltham/M +Walthamstow/M +Walther/M +Walton-in-Gordano/M +Walton-on-Thames/M +Walton/M +waltz/DSGMr +Walvis/M +Walvoord/M +Walworth/M +Walwyn/M +Walz/M +Wambrook/M +Wamphray/M +wampum/M +wan/dY +WAN/SM Acronym of wide area network +Wanaka/M +Wanaque/M +Wanborough/M +wand/SM +Wanda/M +Wandel/M +wander/JSdr +wanderlust/MS +Wandsworth/M +wane/SM +Waner/M +Wang/M +Wanganui/M +Wangaratta/M +Wangford/M +wangle/GDSM +Wanjek/M +wank/SGDr! +Wankel/M +Wankie/M +wanky/T! +Wanlip/M +Wann/M +wanna +wannabe/SM +wannabee/SM +Wanneroo/M +Wannier/M +Wansbeck/M +Wansford/M +Wanstead/M +Wanstrow/M +want/DGS +Wantage/M +Wantisden/M +wanton/YPSM +WAP/SM +Wapello/M +wapiti/SM +Wapley/M +Wapnick/M +Wappenbury/M +Wappenham/M +Wapping/M +Wappinger/M +Waqar/M +war/pSDGM +Waray-Waray +warble/GRDSM +Warbleton/M +Warblington/M +Warborough/M +Warboys/M +Warbreck/M +Warbstow/M +Warburg/M +Warburton/M +Warcop/M +warcraft/SM +Ward/M +ward/MAGSD +Warden/M +warden/MS +warder/SM +Wardie/M +Wardington/M +Wardlaw/M +Wardlawhill/M +Wardle/M +Wardleworth/M +Wardley/M +Wardlow/M +Wardour Wardour Street +wardress/MS +Wardrobe/M +wardrobe/SM +wardroom/SM +Wardrop/M +wards/Ie +Wardville/M +Ware/M +ware/MS2Z +Wareham/M +Warehorne/M +warehouse/DmMGS +Wareside/M +Waresley-cum-Tetworth/M +Waresley/M +warez/M Noun: usually uncountable +warfare/M Noun: usually uncountable +warfarin/M Noun: usually uncountable +Warfield/M +Warford/M +wargame/SMGDR +Wargrave/M +Warham/M +warhead/MS +Warhol/M +Warholian/SM +warhorse/SM +warier +wariest +wariness/U +Waringsford/M +Waringstown/M +Wark/M +Warkleigh/M +Warkton/M +Warkworth/M +Warlaby/M +Warleggan/M +Warley/M +warlike +Warlingham/M +warlock/SM +warlord/SM +Warlow/M +warm-blooded/P +warm-down/SM +warm-hearted/YP +warm-up/SM +warm/MYGSDJRTP~ +Warman/M +warmblood/SM +Warmfield/M +warming/SMY +Warmingham/M +Warminghurst/M +Warmington/M +Warminster/M +warmonger/MS +warmongering/M Noun: usually uncountable +Warmsworth/M +warmth/SM +Warmwell/M +warn/GSDkJ +Warnborough/M +Warndon/M +Warne/M +Warneford/M +Warner/M +Warnford/M +Warnham/M +warning/SM +Warningcamp/M +Warnock/M +Warnstorf/M +warp/DGMS +warpaint/SM +warpath/MS +warplane/SM +Warpsgrove/M +Warr/M +Warragul-Drouin/M +warrant/S7ZDGM +warrantable/U +warrantee/SM +warrantor/SM +warranty/SM +Warren/M +warren/SM +Warrenpoint/M +Warrensburg/M +Warrensville/M +Warrenville/M +Warrick/M +Warrington/M +warrior/MS +Warrnambool/M +Warsaw/M +warship/MS +Warsill/M +Warslow/M +Warsop/M +wart/MS +Wartburg/M +Warter/M +Warthermarske/M +Warthill/M +warthog/SM +wartime/SM +Wartling/M +Warton/M +Warwick/M +Warwickshire/M +wary/UY +was +wasabi/M Noun: usually uncountable +Wasatch/M +Wasco/M +Wasdale/M +Wasdell/M +Waseca/M +wash-out/SM +wash/AGDS +Washabaugh/M +washability/M Noun: usually uncountable +washable/SM +washbasin/SM +washboard/MS +Washbourne/M +Washbrook/M +Washburn/M +washday/SM +washed-out Adjective +washer/5SM +washerman/M +washermen/M +washerwomen/M +washery/MS +Washfield/M +Washford/M +washhouse/SM +washing-up/M Noun: uncountable +washing/SM +Washingborough/M +Washingley/M +Washington/M +Washingtonian/SM +Washingtonologist/SM +Washita/M +washland/SM +Washlands/M +Washoe/M +Washougal/M +washout/MS +washstand/SM +Washtenaw/M +washtub/SM +washy/TP +Wasing/M +wasn't +wasp-waisted Adjective +wasp/MS +WASP/SM +Wasperton/M +waspish/YP +Wass/M +wassail/GMSD +Wasserman/M +Wassermann/M +wast/RDG +wastage/SM +waste/6jMSp +wastebasket/SM +wastefulness/SM +wasteland/MS +wastepaper/SM +wastewater/SM +wastrel/SM +Watanabe/M +Watauga/M +watch/7GmDRS6jM +watcha +watchability/M Noun: uncountable +watchdog/SGDM +Watchet/M +Watchfield/M +watchfulness/SM +watchlist/SGDM +watchmaker/MS +watchmaking/M Noun: uncountable +watchstrap/SM +watchtower/SM +watchword/SM +water-bed/SM +water-bird/SM +water-cooled Adjective +water-resistant Adjective +water-soluble Adjective +water/mMpZdS2 +Waterbeach/M +Waterbeck/M +waterbed/SM +Waterberg/M +waterbird/SM +waterboard/SGDM +waterborne Adjective +waterbuck/SM +Waterbury/M +watercock/SM +watercolour/3MS +watercourse/MS +watercraft/M Plural same +watercress/SMZ +Waterden/M +Waterdine/M +waterdog/SM +Waterfall/M +waterfall/SM +Waterfield/M +Waterfoot/M +Waterford/M +waterfowl/MGr +Waterfox/M +waterfront/MS +Watergall/M +Watergate/M +watergate/SM +waterhen/SM +waterhole/SM +Waterhouse/MS +Wateringbury/M +Waterless/M +Waterleys/M +waterline/SM +waterlog/SGD Verb +Waterloo/M +Waterlooville/M +watermark/MDGS +Watermead/M +watermelon/SM +watermill/SM +Watermillock/M +Waterperry/M +waterproof/SGDrPM +Waters/M +watershed/MS +Waterside/M +waterside/SM +waterski/SGDRM +Waterson/M +waterspout/SM +Waterstock/M +Waterthorpe/M +waterthrush/SM +watertight Adjective +Watertown/M +Waterval/M +Waterview/M +Waterville/M +Watervliet/M +waterway/MS +waterweed/SM +waterwheel/SM +waterworks +watery/T +Watford/M +Wath-upon-Dearne/M +Wath/M +Wathen/M +Watkins/M +Watlass/M +Watling/M +Watlington/M +Watnall/M +Watoga/M +Watonwan/M +Watson/M +Watsonville/M +watt/SM +wattage/MS +Watteau/M +Watten/M +Wattisfield/M +Wattisham/M +wattle/SGDM +wattlebird/SM +Watton-at-Stone/M +Watton/M +Wattson/M +Watusi/M +Wauconda/M +Waugh/M +Waukee/M +Waukegan/M +Waukesha/M +waulking/SM +Waunakee/M +Waunfawr/M +Waungron/M +Waupaca/M +Waupun/M +Wausau/M +Waushara/M +Wauwatosa/M +wav +WAV/M +wave/2GZSDpM +waveband/MS +waveform/MS +wavefront/SM +waveguide/SM +Waveland/M +wavelength/MS +wavelet/MS +wavelike Adjective +Wavell/M +Wavendon/M +Waveney/M +waver/dkSr +Waver/M +wavering/UY +Waverley/M +Waverton/M +Wavertree/M +wavery Adjective +wavy/TY +Wawarsing/M +Wawen/M +Wawne/M +wax/GMZDS +Waxahachie/M +waxberry/MS +waxbill/SM +waxcloth/SM +waxen +Waxham/M +waxwing/SM +waxwork/MS +waxy/T +Way/M +way/SM +Wayback/M +waybill/SM +waybread/SM +Waycross/M +wayfarer/SM +wayfaring/SM +Wayford/M +waylaid +Wayland/M +waylay/GSr +Waylett/M +Waylon/M +waymark/SGDRM +Wayne/M +Waynesboro/M +waypoint/SM +wayside/MS +wayward/YP +WC/SM +we'd +we'll +we're +we've +we/GzJ +Wea/M +Weagle/M +weak-minded/Y +weak-mindedness/M Noun: uncountable +weak/PTY~ +weaken/dS +Weakley/M +weakliness/M Noun: uncountable +weakling/SM +weal/SGDM +Weald/M +weald/SM +Wealden/M +Wealdstone/M +wealth/M Noun: usually uncountable +wealthy/TSM +wean/SDGR +weanling/MS +weapon/pdMS +weaponeer/SGDM +weaponise/SGDN +weaponry/SM +Wear-Tees/M +wear/eSG +Wear/M +wearability/M Noun: usually uncountable +wearable/US +Weardale/M +Weare/M +wearer/SM +weariness/M Noun: usually uncountable +wearing/Y +wearisome/YP +weary/YGSTkDp +weasel/SDGMY +Weasenham/M +Weasley/M +weather-bound +weather-worn Adjective +weather/mdSM +weatherboard/GSDM +Weatherburn/M +weathercock/SM +weatherdeck/SM +Weatherford/M +weathergirl/SM +Weatherhead/M +Weatherill/M +weatherly/P +weatherperson/SM +weatherproof/DGS +Weathersfield/M +weatherstrip/SGDM +weatherstruck weatherstruck joint +weathertight Adjective +weathervane/SM +weave/AGS +weave/D +weaver/SM +weaverbird/SM +weaveress/MS +Weaverham/M +Weaverthorpe/M +web-footed Adjective +web/DSGMr +Web/M +Webb/M +Webbe/M +Webber/M +webbing/SM +webby/T +webcam/SM +webcast/SGRM +Weber/M +WebExtension/SM +WebGL/M +webhead/SM +webify/SGD Verb +webinar/SM +webisode/SM +Webley/M +weblike Adjective +weblog/SMGR +webmail/M Noun: usually uncountable +webmaster/SM +webmistress/SM +webpage/SM +WebRTC/M +websafe Adjective +webshop/SMGR +website/MS +webspace/SM +Webster/M +Websterian Adjective +websterite/SM +webtoon/SM +WebTranslateIt/M +WebTV/M +webwork/SM +webzine/SM +Wechel/M +wed/CAU +wed/DM +Wedale/M +Weddicar/M +wedding/MS +Weddington/M +wedge/GSMD +wedgie/SM +Wedgwood/M +wedlock/SM +Wedmore/M +Wednesbury/M +Wednesday/MS +Wednesfield/M +Wednsebury/M +weds/A +wee/SG +weebill/SM +weed/pDGMSZr +weedgrown Adjective +weedicide/SM +weedkiller/SM +Weedon/M +weedy/T +Weeford/M +Weehawken/M +week-long Adjective +Week/M +week/SMY +weekday/SM +Weeke/M +weekend/MSr +Weekley/M +weekly/SM +Weeknd/M +Weeley/M +Weem/M +weenie/SM +weensy/T +weeny/TSM +weep/SMZGr +weepie/SM +weepy/TYP +Weerden/M +Weethley/M +Weeting-with-Broomhill/M +Weeting/M +Weeton-with-Preese/M +Weeton/M +weevil/SM +Wefaq/M +weft/SM +Wegel/M +Wehrmacht/M +Weibull/M +Weichselbaum/M +Weidinger/M +Weidman/M +weigela/SM +weigh-in/SM +weigh/eSADG +weighable +weighbridge/SM +weigher/SM +weight/cDSG +weight/M +weightiness/M Noun: usually uncountable +weighting/SM +weightless/YP +weightlifter/SM +weightlifting/M Noun: uncountable +Weighton/M +weighty/YT +Weill/M +Weimar/M +Weimaraner/MS +Wein/M +Weinberg/M +Weinberger/M +Weiner/M +Weinhart/M +Weinstein/M +Weir/M +weir/SM +weird/TYPSM +weirdo/SM +Weirton/M +Weiser/M +Weisman/M +Weismann/M +Weismannism/M +Weiss/M +Weissman/M +Weissmuller/M +Weisstein/M +Weiten/M +Weitz/M +Weitzer/M +Welbeck/M +Welborne/M +Welbourn/M +Welbourne/M +Welburn/M +Welbury/M +Welby/M +Welch/M +welch/SGDr +Welchol/M +Welchpool/M +Welcombe/M +welcome/DSM +welcome/kRPYUG +weld/BGSMRD +Weld/M +weldmesh/M Noun: uncountable +Weldon/M +welfare/MS3 +welfarism/M Noun: uncountable +Welford/M +Welham/M +Welker/M +welkin/SM +well-adjusted +well-balanced +well-behaved/Y +well-being/M Noun: uncountable +well-beloved +well-born +well-bred +well-built +well-connected +well-defined +well-deserved +well-designed +well-developed +well-disciplined +well-disposed +well-dressed +well-earned +well-educated +well-endowed +well-equipped +well-established +well-fed +well-formed +well-founded +well-informed +well-intentioned +well-kept +well-known +well-loved +well-made +well-mannered +well-matched +well-meaning/Y +well-meant +well-nigh Adverb +well-off +well-ordered +well-paid +well-placed +well-preserved +well-read +well-received +well-rounded +well-spoken +well-structured Adjective +well-supported +well-thought-of +well-thought-out +well-timed +well-to-do +well-trained Adjective +well-tried Adjective +well-used +well-wisher/SM +well-worn Adjective +well/DGSMP +Well/M +Welland/M +Wellbank/M +wellbeing/M Noun: usually uncountable +Weller/M +Wellesbourne/M +Wellesley/M +Wellhausen/M +wellhead/SM +Wellingborough/M +Wellingham/M +Wellingore/M +Wellings/M +Wellington/M +wellington/SM +Wellman/M +Wellow/M +Wellpark/M +Wells-Next-the-Sea/M +Wells/M +Wellsford/M +Wellsian/M +wellspring/SM +Wellsville/M +Wellwynd/M +Welney/M +Welsh/M +welsh/SGDr +Welshampton/M +Welshman/M +Welshmen/M +Welshness/M Noun: uncountable +Welshpool/M +Welshwoman/M +Welshwomen/M +welt/RSDGM +Weltanschauung/M +Weltanschauungen/M +welter/d +welterweight/SM +Welther/M +Welton/M +Weltschmerz/M +Welwick/M +Welwitschia/M +Welwyn/M +Wem/M +Wembdon/M +Wembley/M +Wembury/M +Wembworthy/M +Wemyss/M +Wen/M +Wenatchee/M +wench/MS +wend/DGS Verb +Wend/SMW +Wendell/M +Wenden/MS +Wendish/M +Wendlebury/M +Wendling/M +Wendon/M +Wendover/M +Wendron/M +Wendt/M +Wendy/M +Wenger/M +Wengert/M +Wenham/M +Wenhaston/M +Wenliang/M +Wenlock/M +Wenn/M +Wennie/M +Wennington/M +Wenona/M +Wensley/M +Wensleydale/MS +Wensum/M +went/f +Wentlloog/M +Wentlooge/M +Wentnor/M +Wentworth/M +Wentzville/M +Wenvoe/M +Wenzel/M +Weobley/M +Weonards/M +WEP/M +wept +Werburgh/M +were +Wereham/M +weren't +werewolf/M +werewolfism/M Noun: uncountable +werewolves +Werner/M +Wernher/M +Wernicke/M +Wernli/M +Werrington/M +Wert/M +Werther/M +Werthimer/M +Wertman/M +Wervin/M +Wesham/M +Weslaco/M +Wesley/M +Wesleyan/SM +Wesleyanism/M Noun: usually uncountable +Wespall/M +Wessel/M +Wessex/M +Wessington/M +Wesson/M +west/M +West/M +Westbeare/M +Westbere/M +Westborough/M +westbound +Westbourne/M +Westbrook/M +Westburn/M +Westbury-on-Severn/M +Westbury-on-Trym/M +Westbury/M +Westby-with-Plumptons/M +Westby/M +Westcheap/M +Westchester/M +Westcot/M +Westcote/M +Westcott/M +Wester/M +wester/SdM +Westerby/M +Westerdale/M +Westerfield/M +Westerham/M +Westerhill/M +Westerkirk/M +Westerleigh/M +Westerly/SM +westerly/SM +Westerman/M +western/qQSR +Western/SM +Westerner/SM +westerniser/SM +Westernism/M Noun: uncountable +westernly Adjective +westernmost Adjective +westernness/M +Westerton/M +westerveldite/M +Westerville/M +Westfield/M +Westford/M +Westgate-on-Sea/M +Westgate/M +Westhall/M +Westham/M +Westhampnett/M +Westhampton/M +Westheimer/M +Westhide/M +Westhill/M +Westhorpe/M +Westhoughton/M +Westinghouse/M +Westlake/M +Westland/M +Westleigh/M +Westleton/M +Westley/M +Westmeath/M +Westmere/M +Westmeston/M +Westmill/M +Westminster/M +Westmont/M +Westmoreland/M +Westmorland/M +Westmount/M +Westnewton/M +Westoe/M +Weston-in-Gordano/M +Weston-on-Avon/M +Weston-on-the-Green/M +Weston-Sub-Edge/M +Weston-super-Mare/M +Weston-under-Lizard/M +Weston-under-Redcastle/M +Weston/M +Westonbirt/M +Westoning/M +Westonzoyland/M +Westow/M +Westown/M +Westpark/M +Westphalia/M +Westphalian/SM +Westpolitik/M +Westport/M +Westquarter/M +Westralian/SM +Westray/M +Westrill/M +Westrip/M +Westrum/M +Westruther/M +Westshore/M +Westtown/M +Westville/M +Westward/SM +westward/SMY +westwardmost Adjective +Westwell/M +Westwick/M +Westwood/M +wet-nurse/SGD Verb +wet/TSDYGPM +Wetaskiwin/M +Wetheral/M +Wetherby/M +Wetherden/M +Wetherdon/M +Wetheringsett-cum-Brockford/M +Wetheringsett/M +Wetherley/M +Wethersfield/M +wetland/SM +wetsuit/SM +wettable Adjective +Wettenhall/M +wettish Adjective +Wetton/M +Wetwang/M +wetware/M Noun: uncountable +Wetzel/M +Wexford/M +Wexham/M +Wexler/M +Weybourne/M +Weybread/M +Weybridge/M +Weyburn/M +Weyhill/M +Weyl/M +Weymouth/M +Weymss/M +WFF/SM +whack/SDGM +whacko/SM +whacky/TYP +Whakaari/M +Whakamaru/M +Whakarongo/M +Whakatane/M +Whakatu/M +whale/RMGS +whaleboat/SM +whalebone/SM +Whalen/M +Whaley/M +Whalley/M +Whalton/M +wham-bam +wham/SDGM +whammo/SM +whammy/SM +Whananaki/M +Whangamata/M +Whangamomona/M +Whanganui/M +Whangaparaoa/M +Whangarei/M +Whangaruru/M +Whaplode/M +Wharf/M +wharf/MS +wharfage/SMr +Wharfe/M +Wharfedale/M +wharfing/SMR +wharfman/M +wharfmaster/SM +wharfmen/M +Wharles/M +Wharram/M +Wharton/M +wharves +Whashton/M +what'd +what're +what's-her-name +what's-his-name +what's-its-name +what/M +Whataroa/M +Whataupoko/M +whatcha +Whatcom/M +Whatcote/M +whatever +Whatfield/M +Whatley/M +Whatlington/M +whatnot/SM +WhatsApp/M +whatsername/SM +whatshername/SM +whatshisname/SM +whatsisname/SM +whatsit/SM +whatsoever +Whatton-in-the-Vale/M +Whatton/M +Whatuwhiwhi/M +Whau/M +Wheat/M +wheat/SM +Wheatacre/M +wheatear/SM +wheaten +Wheatfield/M +wheatgerm/M Noun: usually uncountable +wheatgrass/M Noun: usually uncountable +wheatgrasses +Wheathampstead/M +Wheathill/M +wheatish Adjective +Wheatland/M +Wheatley/M +wheatmeal/SM +Wheaton/M +Wheatpieces/M +Wheatstone/M +whee +wheedle/DSGr +wheedlingly Adverb +wheel-clamp/SGD Verb +wheel/MSDRGp +wheelback/SM +wheelbarrow/MS +wheelbase/MS +wheelchair/SM +Wheeldon/M +Wheeler/M +wheelhouse/SM +wheelie/SM +Wheeling/M +wheelspin/M Noun: usually uncountable +Wheelton/M +wheelwright/MS +wheesht +wheeze/DSGZM +wheezy/T +Whelan/M +Wheldrake/M +Wheless/M +whelk/SM +whelm/fDcGS +Whelnetham/M +whelp/SDMG +Whelpton/M +when +Whenby/M +whence +whencesoever +whenever +whensoever +Whenuakite/M +Whenuakura/M +Whenuapai/M +Whepstead/M +where'd +where'er +where're +where/M +whereabout/S +whereafter +whereagainst +whereas +whereat +whereby +wherefor +wherefore/S +wherefrom +wherein +whereinsoever +whereinto +whereness +whereof +whereon +whereout +whereso +wheresoe'er +wheresoever +wherethrough +whereto +whereunder +whereuntil +whereunto +whereupon +wherever +wherewith +wherewithal/M +wherry/SM +wherryman/M +wherrymen/M +Wherstead/M +Wherwell/M +Whessoe/M +Wheston/M +whet/SDG +whether +Whetstone/M +whetstone/MS +whew +whey/M +Whibley/M +which +which've +Whicham/M +Whichcote/M +whichever +Whichford/M +whicker/SdM +Whickham/M +Whidbey/M +Whieldon/M +whiff/DGSM +Whiffin/M +whiffle/SGDM +whiffy/T +Whig/SM +Whiggery/M Noun: uncountable +Whiggish Adjective +Whiggism/M Noun: uncountable +while/DGSM +whilom +whilst +Whilton/M +whim/SM +whimbrel/SM +whimper/dSrM +whimperingly Adverb +Whimple/M +whims/1Zw +whimsicality/MS +whimsicalness/SM +whimsy/SM +Whinburgh/M +whinchat/SM +whine/SRGDMZk +Whinfell/M +whinge/SGDM +whingeing +whinny/DSGM +Whinston/M +whinstone/SM +whiny/T +whip/MJGSDRp +whipbird/SM +whipcord/SM +whiplash/MS +Whippany/M +whipper-snapper/SM +whippet/MS +whipping/SMY +Whippingham/M +Whipple/M +whippletree/MS +whippy/TP +whipsaw/SMGD +Whipsnade/M +whipstitch/SGDM +whipstock/SM +whiptail/SM +whipworm/SM +whir/DGSM +Whiritoa/M +whirl/GDSMr +whirligig/SM +whirlingly Adverb +Whirlpool/M +whirlpool/MS +whirlwind/MS +whirlybird/SM +whirr/SGDM +Whisby/M +whisk/GRDZSM +whiskered +whiskery +whiskey/MS +whisky/SM +Whisnant/M +whisper/kdrJSMZ +Whissendine/M +Whissonsett/M +whist/SM +whistle-blower/SM +whistle-blowing/SM +whistle-stop/SM +whistle/DRSGM +whistleblower/SM +whistleblowing/M Noun: uncountable +Whiston/M +Whit/M +whit/SM +Whitacre/M +Whitaker/M +Whitbeck/M +Whitbourne/M +Whitbread/M +Whitburn/M +Whitby/M +Whitchurch-on-Thames/M +Whitchurch/M +Whitcomb/M +Whitcombe/M +white-collar Adjective +white-hot Adjective +white-out/SM +white/DPSTGMY +White/MS +whitebait/SM +whitebeam/SM +Whitebloom/M +whiteboard/SMG +Whitechapel/M +Whitechurch/M +Whitecraig/M +Whitecross/M +whiteface/SM +Whitefield/M +Whitefish/M +whitefish/SM +whitefly/SM +whitefront/SM +Whitegate/M +Whitehall/M +Whitehaven/M +Whitehead/SM +whitehead/SM +Whitehill/MS +Whiteholme/M +Whitehorse/M +Whitehouse/M +Whitehurst/M +Whiteinch/M +Whitekirk/M +Whitelackington/M +Whiteladies/M +Whiteland/M +Whitelaw/M +Whiteley/M +whitelist/SGDM +Whitemans/M +Whitemarsh/M +Whitemoor/M +whiten/dSr +Whiteparish/M +Whiterock/M +Whiteshill/M +Whiteside/M +Whitestaunton/M +Whitestone/M +Whitestown/M +whitethorn/SM +whitewash/DGMSr +Whitewater/M +Whitewell/M +whitewood/SM +Whitey/M +whitey/SM +Whitfield/M +Whitford/M +Whitgift/M +Whitgreave/MS +whither +Whithorn/M +Whitianga/M +Whiting/M +Whitiora/M +whitish Adjective +Whitkirk/M +Whitland/M +Whitley/M +Whitlingham/M +Whitlock/M +Whitlow/M +whitlow/SM +Whitman/M +Whitmer/M +Whitminster/M +Whitmore/M +Whitnash/M +Whitney-on-Wye/M +Whitney/M +Whitpain/M +Whitrow/M +Whitsbury/M +Whitshed/M +Whitsome/M +Whitson/M +Whitstable/M +Whitstone/M +Whitsun/M +Whitsuntide/MS +Whitta/M +Whittaker/M +Whittall/M +Whittier/M +Whittingehame/M +Whittingham/M +Whittington/M +Whittle-le-Woods/M +Whittle/M +whittle/RDGSJ +Whittlebury/M +Whittlesea/M +Whittlesey/M +Whittlesford/M +Whitton/M +Whittonstall/M +Whitwell-on-the-Hill/M +Whitwell/M +Whitwick/M +Whitworth/M +Whixall/M +Whixley/M +whizz-kid/SM +whizz/SGDM +whizzy/T +who'd +who'll +who're +who've +who/M +WHO/M World Health Organization +whoa +whodunnit/SM +whoe'er Adverb +whoever/M +WHOIS +whole/SM +wholefood/SM +wholegrain/SM +wholehearted/YP +wholemeal/SM +wholeness/M Noun: usually uncountable +wholesale/SRMDGY +wholesaleness/M Noun: uncountable +wholescale Adjective +wholesome/UY +wholesomeness/U +wholewheat Adjective +wholewise Adverb +wholism/SM +wholist/SMW1 +wholly Adverb +whom +whomever +whomsoever +whoo +whoop/DGSrM +whoopee/SM +whoopsie/SM +whoosh/GMDS +whop/MRSGD +whore/SDGM! +whoredom/M! Noun: usually uncountable +whorehouse/MS! +whoremaster/SM! +whoremonger/SM! +whoreson/MS! +whorish/Y! +whorishness/M! Noun: uncountable +whorl/SMGD +Whorlton/M +whortleberry/MS +whose +whosever +whoso +whosoever +why +Whyalla/M +whydah/MS +Whyle/M +whys +Whyte/M +Whyteleafe/M +Wi-Fi/M Noun: uncountable +WI/M +Wiarda/M +Wibsey/M +Wibtoft/M +Wicca/M +Wiccan/SM +Wichenford/M +Wichita/M +Wichling/M +Wichmann/M +Wick/M +wick/RiSDhM +wicked/P +wickeder +wickedest +Wicken/M +Wickenby/M +Wickepin/M +Wickersley/M +wickerwork/Mr +wicket-keeper/SM +wicket-keeping/M +wicket/SM +wicketkeeper/SM +wicketkeeping/M +Wickford/M +Wickham/M +Wickhambreaux/M +Wickhambrook/M +Wickhamford/M +Wickhampton/M +Wicki/M +wickiup/SM +Wicklewood/M +Wickliffe/M +Wicklow/M +Wickman/M +Wickmere/M +Wickwar/M +Wicomico/M +Widcombe/M +Widdecombe/M +Widdington/M +widdle/SGDM +Widdrington/M +wide-angle/D +wide-area +wide-eyed Adjective +wide-field Adjective +wide-ranging Adjective +wide/SMTY +wideawake/SM +wideband Adjective +Widecombe/M +widen/rdS +wideness/M Noun: usually uncountable +widescreen/SM +widespread Adjective +Widford/M +widgeon/SM +widget/SM +widish Adjective +Widley/M +Widmerpool/M +Widnes/M +widow/RMSDG +widowhood/SM +width/SM +widthways Adverb +widthwise Adverb +Widworthy/M +Wiegand/M +Wieland/M +Wield/M +wield/SRDGZ +Wiener/M +wienie/SM +Wiens/M +Wiertz/M +Wiesbaden/M +wife/MpY +wifedom/M Noun: uncountable +wifehood/M Noun: usually uncountable +wifely/TP +wifey/SM +wifie/SM +wig/DSGMp +Wigan/M +Wigborough/M +wigeon/SM +Wigford/M +Wiggenhall/M +Wigginhall/M +Wiggins/M +Wigginton/M +wiggle/RGYDSM +Wigglesford/M +Wigglesworth/M +wiggly/T +Wiggonholt/M +Wighill/M +Wight/M +wight/SM +Wighton/M +Wigland/M +Wigle/M +Wigley/M +Wigmore/M +Wigner/M +Wigram/M +Wigsley/M +Wigston/M +Wigtoft/M +Wigton/M +Wigtown/M +Wigtownshire/M +wigwag/GSD +wigwam/SM +Wii/SM +wiki/SM +Wikibooks +Wikidata +wikify/SGD Verb +Wikileaks/M +Wikimedia/M +Wikinews +Wikipedia/SM +Wikipedian/SM +WikiProject/SM +wikiproject/SM +wikiquette/M Noun: uncountable +Wikiquote +Wikisource +Wikispecies +wikitext/M Noun: uncountable +Wikiversity +Wikivoyage +Wiklund/M +Wiktionary/SM +Wil/M +Wilbarger/M +Wilbarston/M +Wilberforce/M +Wilberfoss/M +Wilbert/M +Wilbraham/M +Wilbur/M +Wilburn/M +Wilburton/M +Wilby/M +Wilcot/M +Wilcote/M +Wilcox/M +Wilcrick/M +wild/TYPSGDM +Wildboarclough/M +wildcard/SM +wildcat/MS +Wilde/M +wildebeest/SM +Wilden/M +Wilder/M +wilder/PSd +wildfire/MS +wildflower/SM +wildfowl/M +wilding/SM +wildish/Y +wildlife/M Noun: uncountable +wildling/SM +Wildmore/M +Wildomar/M +Wildon/M +Wildsworth/M +Wildt/M +Wildwood/M +wildwood/SM +wile/DSMG +Wilen/M +Wiles/M +Wiley/M +Wilf/M +Wilford/M +Wilfred/M +Wilfrid/M +wilful/Y +wilfulness/M Noun: uncountable +Wilhelm/M +Wilhelmina/M +Wilhelmshaven/M +Wilkerson/M +Wilkes-Barre/M +Wilkes/M +Wilkesley/M +Wilkie/M +Wilkins/M +Wilkinsburg/M +Wilkinson/M +Wilks/M +Wilksby/M +will/GkSYDM +Will/M +Willa/M +Willacy/M +Willamette/M +Willand/M +Willard/M +Willaston/M +Willcocks/M +Willcox/M +Willem/M +Willemstad/M +Willen/M +Willenhall/M +Willenstad/M +Willerby/M +Willersey/M +Willersley/M +Willesborough/M +Willesden/M +Willesley/M +willet/SM +Willett/M +Willey/M +William/M +Williamite/M +Williams/M +Williamsburg/M +Williamson/M +Williamsport/M +Williamston/M +Williamwood/M +Willian/M +Williard/M +Willie/M +willing/UY +Willingale/M +Willingboro/M +Willingdon/M +Willingham/M +willingness/M Noun: usually uncountable +Willington/M +Willis/M +Willisham/M +Williston/M +Willistown/M +Williton/M +Willmar/M +Willmott/M +Willoughby/M +Willoughton/M +Willow/M +willow/SMZ +Willowbrae/M +Willowby/M +willowherb/SM +Willowick/M +willowy/T +willpower/MS +Wills/M +Willstätter/M +willy-nilly +Willy/M +willy/SM +Wilma/M +Wilmcote/M +Wilmette/M +Wilmington/M +Wilmorton/M +Wilmot/M +Wilmott/M +Wilms/M +Wilmslow/M +Wilne/M +Wilnecote/M +Wilpshire/M +Wilsden/M +Wilsford/M +Wilshamstead/M +Wilshire/M +Wilson/M +Wilsonville/M +Wilsthorpe/M +Wilstrop/M +wilt/DGSM +Wilton/M +Wilts/M +Wiltshire/M +wily/PYT +Wimbish/M +Wimblebury/M +Wimbledon/M +Wimblington/M +Wimboldsley/M +Wimborne/M +Wimbotsham/M +wimp/MSZ +Wimpey/M +wimple/MDSG +Wimpole/M +wimpy/T +Wimshurst/M +win/RGSJM +Wincanton/M +wince/SDGMr +Winceby/M +Winceyette/M +winceyette/SM +winch/DSGMr +Winch/M +Wincham/M +Winchburgh/M +Winchcombe/M +Winchelsea/M +Winchendon/M +Winchester/SM +Winchfield/M +winchman/M +winchmen/M +Winckelmann/M +Wincle/M +wind-up/SM +wind/Mp +wind/UGSA +windage/M Noun: usually uncountable +windbag/SM +windblown Adjective +windbound Adjective +windbreak/SM +windburn/SM +windburnt +windcheater/SM +winded/P +Winder/M +winder/MS +Windermere/M +windfall/MS +windfarm/SM +windflower/SM +Windham/M +Windhoek/M +windhover/MS +winding/SM +windjammer/MS +windlass/SDMG +Windle/M +Windlesham/M +Windley/M +windmill/MS +window-shop/SGD +window/pGSDM +windowpane/SM +Windows/M +windowsill/SM +windpipe/SM +windproof Adjective +windrow/SM +Windrush/M +windscreen/MS +windslab/SM +windsock/SM +Windsor/M +windsurf/SGDR +windswept Adjective +Windu/M +windward/M +Windwhistle/M +windy/PYT +Windygates/M +wine/DGZMS +wineberry/SM +winebibber/MS +Winefride/M +wineglass/SM +winegrower/SM +Winehouse/M +winemaker/SM +winemaking/M Noun: uncountable +winery/SM +Winesap/SM +wineskin/SM +Winestead/M +Winewaloy/M +winey Adjective +Winfarthing/M +WinFax/M +Winfield/M +Winford/M +Winforton/M +Winfrey/M +Winfried/M +Winfrith/M +Wing/M +wing/pmRGDM +Wingate/M +Wingatui/M +wingbeat/SM +Wingerworth/M +Wingfield/M +Wingham/M +winglet/MS +winglike +Wingrave/M +wingspan/MS +wingspread/SM +wingsuit/SM +winier +winiest +Winifred/M +wink/RDSGM +Winkburn/M +Winkfield/M +winkle/DSGRM +Winkleigh/M +Winkler/M +Winkney/M +Winksley/M +Winlaton/M +Winmarleigh/M +Winn/M +winnable Adjective +Winnall/M +Winnebago/M +Winnersh/M +Winneshiek/M +Winnetka/M +Winnie/M +winning/YSM +Winnipeg/M +winnow/DGRS +Winnow/M +wino/MS +Winona/M +Winooski/M +WinRAR/M +Winscales/M +Winscombe/M +Winsford/M +Winsham/M +Winshill/M +Winslade/M +Winsley/M +Winslow/M +winsome/YP +Winson/M +Winsor/M +Winsten/M +Winster/M +Winston-Salem/M +Winston/M +Winstone/M +Winswick/M +winter/cdS +Winter/M +winter/Mpr +Winterborne/M +Winterbourne/M +Winterburn/M +wintergreen/SM +Winteringham/M +winterise/SGDN +Winterland/M +Wintersett/M +Winterslow/M +Winterson/M +wintertime/SM +Winterton-on-Sea/M +Winterton/M +wintery Adjective +Winther/M +Winthorpe/M +Winthrop/M +Wintney/M +Winton/M +Wintour/M +wintrily Adverb +wintriness/M +wintriness/M Noun: usually uncountable +Wintringham/M +wintry/TY +Winwick/M +WinZip/M +WIP/SM +wipe/SMRGD7 +wire-haired Adjective +wire-tapping +wire/r2ZmDpSMJG +wireframe/SM +wireless/MSY +wireline/SM +wiretap/SDGMR +Wiri/M +wiriness/M Noun: uncountable +wiring/SM +Wirksworth/M +Wirral/M +Wirswall/M +wiry/TY +Wisbech/M +Wisborough/M +Wisconsin/M +Wisconsinite/SM +Wisden/M +wisdom/MS +Wise/M +wise/TYSM +wiseacre/MS +wiseass/SM +wisecrack/SGMDr +Wiseman/M +Wisenheimer/M +wisent/SM +Wiseton/M +wish/RSjGD6ZM +Wishart/M +Wishaw/M +wishbone/MS +Wishford/M +wishfulness/M Noun: usually uncountable +wishy-washy Adjective +Wiska/M +Wiske/M +Wisley/M +wisp/MZS +wispiness/M Noun: uncountable +Wispington/M +wispy/TY +Wissett/M +Wistanstow/M +wistaria/MS +Wistaston/M +wisteria/SM +Wisteston/M +wistful/YP +Wiston/M +Wistow/M +Wiswell/M +wit/zSM2pGZD +witch-hunt/SGr +witch/MyDSG +Witcham/M +Witchampton/M +witchcraft/MS +witchdoctor/SM +witchery/SM +Witchford/M +Witchingham/M +witchlike Adjective +Witcombe/M +with/O +Withalm/M +Witham/M +Withcall/M +Withcote/M +withdraw/SGr +withdrawal/MS +withdrawn +withdrawnness/M Noun: uncountable +withdrew +withe/SM +Witheford/M +wither/kSd +Witheridge/M +Witherington/M +witherite/SM +Witherlea/M +Witherley/M +Withern/M +Withernsea/M +Withernwick/M +Withersdale/M +Withersfield/M +Witherslack/M +Witherspoon/M +Witherstone/M +withheld +withhold/SRJG +Withiel/M +within +Withington/M +Withnell/M +without +Without/M +withstand/SG +withstood +withy/SM +Withybrook/M +Withycombe/M +Withyham/M +Withypool/M +witless/YP +Witley/M +witloof/SM +Witnesham/M +witness/DGSM +Witney/M +wits/e +Witt/M +Witte/M +witted/e +Witten/M +Wittenberg/M +Wittenham/M +witter/Sd Verb +Wittering/M +Wittersham/M +Wittgenstein/M +Wittgensteinian/SM +Wittgensteinianism/M Noun: uncountable +witticism/SM +witting/YU +Wittmann/M +Witton/M +Witts/M +witty/PT +Witwatersrand/M +Witztum/M +Wiveleslie/M +Wiveliscombe/M +Wivelsfield/M +Wivenhoe/M +wivern/MS +Wiverton/M +wives +Wiveton/M +Wix/M +Wixams/M +Wixford/M +Wixoe/M +Wixom/M +wizard/ySYM +wizardry/SM +WMA/SM +WMV Initialism of Windows Media Video +WNO +WNP +WO/SM Initialism of warrant officer +woad/M +woah +wobbegong/MS +wobble/SMY2DGr +wobbly/T +Wobegon/M +Woburn/M +Wode/M +Wodehouse/M +wodge/SM +woe/jSM6 +woebegone +woefulness +wog/SM +woggle/SM +Wöhler/M +Wojick/M +wok/MS +woke +Wokefield/M +woken +Woking/M +Wokingham/M +Wolboough/M +Wolcott/M +Wold/M +wold/SM +Woldingham/M +Wolds/M +wolf-whistles +Wolf/M +wolf/MDGS +wolfberry/SM +Wolfe/M +Wolfenstein/M +Wolferlow/M +Wolferton/M +Wolff/M +Wolffian Adjective +Wolfgang/M +Wolfhampcote/M +wolfhound/SM +wolfish/YP +wolflike Adjective +Wölfling/M +Wolford/M +Wolfowitz/M +Wolfram/M +wolfram/MS +wolframite/SM +wolfsbane/MS +Wolfscastle/M +wolfskin/MS +Wolfson/M +Wolgemut/M +Wollaston/M +wollastonite/SM +Wollaton/M +Wollescote/M +Wollheim/M +Wollongong/M +Wollstonecraft/M +Wolpert/M +Wolsingham/M +Wolstanton/M +Wolstaston/M +Wolston/M +Wolters/M +Wolterton/M +Wolvercott/M +Wolverhampton/M +Wolverine Wolverine State +wolverine/MS +Wolverley/M +Wolverton/M +wolves +Wolvesnewton/M +Wolvey/M +Wolviston/M +woman/pMsQY~ +womanhood/SM +womankind/M Noun: uncountable +womanlike +womanly/TP +womb/MS +wombat/MS +Wombleton/M +Wombourn/M +Wombourne/M +Wombridge/M +women/M +womenfolk/M +Womenswold/M +Womersley/M +won +won't +Wonastow/M +wonder/rjLSdkM +Wonderbra/SM +wonderful/P +wonderland/SM +wondrous/Y +wondrousness +Wonersh/M +Wong/M +wonky/T +Wonsan/M +Wonston/M +wont/hDG +wontedly/U +woo/DRGS +Wooburn/M +wood-hoopoe/SM +Wood/M +wood/M2SDmp +Woodall/M +Woodard/M +Woodbastwick/M +Woodberry/M +woodbine/SM +woodblock/SM +woodboring +Woodborough/M +Woodbridge/M +Woodburn/M +Woodburne/M +Woodbury/M +woodcarver/SM +woodcarving/SM +Woodchester/M +woodchip/SM +woodchuck/SM +Woodchurch/M +woodcock/SM +Woodcote/M +Woodcott/M +woodcut/SRJM +woodcutting/M +Woodditton/M +Woodeaton/M +wooden/YP +Woodend/M +woodener +woodenware/M Noun: usually uncountable +Woodford/M +Woodgate/M +Woodgreen/M +Woodhall/M +Woodham/M +Woodhaven/M +Woodhay/M +Woodhead/M +Woodhill/M +Woodhorn/M +Woodhouse/M +woodhouse/SM +Woodhurst/M +Woodinville/M +Woodland/M +woodland/SMr +Woodlands/M +woodlark/SM +Woodlawn/M +Woodleigh/M +Woodley/M +woodlice/M +woodlouse/M +woodman/M +Woodmancote/M +Woodmansey/M +Woodmansterne/M +woodmen/M +Woodnesborough/M +Woodnewton/M +woodpecker/MS +woodpile/SM +Woodplumpton/M +Woodridge/M +Woodrising/M +Woodrow/M +woodruff/SM +woodrush/MS +Woodsetton/M +Woodsetts/M +Woodsford/M +woodshed/MS +Woodside/M +woodsiness/M Noun: uncountable +woodsmoke/M Noun: uncountable +Woodson/M +Woodstock/M +Woodston/M +woodswallow/SM +woodsy/T +Woodthorpe/M +Woodton/M +woodturner/SM +woodturning +Woodville/M +Woodward/SM +woodwind/SM +woodwork/RM +woodworking/M +woodworm/MS +Woody/M +woody/T +Woodyatt/M +woof/DRGMS +Wookey/M +wool-gathering +Wool/M +wool/SMY +Wooland/M +Woolaston/M +Woolavington/M +Woolbeding/M +Woolchurch/M +Woolcock/M +Wooler/M +Wooley/M +Woolfardisworthy/M +Woolhampton/M +Woolhope/M +Woolland/M +Woollatt/M +woollen/SM +Woolley/M +woolly/TSMP +Woolmer/M +Woolnoth/M +Woolos/M +Woolpit/M +Woolsack/M +Woolsington/M +Woolstanwood/M +Woolstaston/M +Woolsthorpe/M +Woolston/M +Woolstone/M +Woolton/M +Woolverstone/M +Woolverton/M +Woolwich/M +Woolworth/M +Woonsocket/M +Woore/M +woosh/SGDM +Wooster/M +Wootton/M +woozy/TYP +wop/SM +Worcester/M +Worcestershire/M +word-blindness +word-perfect +word-processing +word/ADJGS +word/YM~ +wordable +wordage/SM +wordbook/SM +wordcraft/M Noun: uncountable +wordfinder/SM +wordhoard/SM +wordie/SM +wording/MA +wordless/YP +wordlist/SM +wordlore/M Noun: uncountable +wordman/M +wordmanship +wordmen/M +wordmonger/SM +WordNet/M +WordPad/M +wordplay/MS +WordPress/M +Wordsley/M +wordsmith/SM +Wordsworth/M +Wordsworthiana/M +Wordwell/M +wordy/TPY +wore/e +Worf/M +Worfield/M +work's/e +work-shy +work-to-rule +work/ADeScG +workability/M +workable/U +workable/Y +workableness +workaday +workaholic/SM +workaholism/M Noun: uncountable +workaround/MS +workbench/SM +workboat/SM +workbook/MS +workday/MS +worker/SM +workfare/SM +workflow/SM +workforce/SM +workful/P +workgroup/SM +workhead/M +workhorse/MS +workhouse/SM +working-class +working/MS +Workington/M +workless/P +workload/SM +workman/M +workmanlike Adjective +workmanship/MS +workmaster/SM +workmate/SM +workmen/M +workout/MS +workover/SM +workpeople/M +workperson/SM +workpiece/SM +workplace/SM +workprint/SM +workroom/SM +worksheet/SM +workshop/MSGD +worksite/SM +Worksop/M +workspace/SM +workstation/MS +worktable/MS +worktop/SM +workup/SM +workwear/M Noun: uncountable +workwise Adverb +workwoman/M +workwomen/M +Worlaby/M +world-class +world-famous +world-view/SM +world-weary +world/fMS +WorldCom +Worldham/M +worldliness/U +worldly-wise +worldly/TP +worldwide +Worle/M +Worleston/M +Worlingham/M +Worlington/M +Worlingworth/M +worm-casts +worm-eaten +worm-wheel +worm/GSDZM +Wormald/M +Wormbridge/M +Wormegay/M +wormer/SM +wormery/SM +Wormhill/M +wormhole/SM +Wormingford/M +Worminghall/M +Wormington/M +Wormit/M +Wormleighton/M +Wormley/M +Wormshill/M +Wormsley/M +wormwood/MS +wormy/T +worn-out +worn/eU +Worplesdon/M +worrisome/Y +worry/RDkSGh +Worsall/M +Worsborough/M +worse +worsen/dS +Worser/M +worship/jRSG6DM +worshipfulness +Worsley/M +worst-case +worst/D +Worstead/M +worsted/MS +Worsthorne-with-Hurstwood/M +Worsthorne/M +Worston/M +wort/SM +Worten/M +worth/pz2SGDM +Wortham/M +worthen +Worthenbury/M +Worthern/M +worthily/U +Worthing/M +Worthington/M +worthless/PY +worthwhile Adjective +Worthy/M +worthy/TS +Worting/M +Wortley/M +Worton/M +Wortwell/M +wotcha +wotcher +Wothersome/M +Wothorpe/M +Wotton-under-Edge/M +Wotton/M +Woughton/M +would +would've +would-be +Wouldham/M +wouldn't +wouldn't've +Woulds/M +wouldst +Woulfe/M +wound/GSJDMp +woundwort/MS +Wouter/M +wove/A +woven/UA +wow/GSD +woylie/SM +WPA/M +WPA2/M +wpm +Wrabness/M +wrack/MSGD +WRAF/M Initialism of Women's Royal Air Force +Wragby/M +wraith/MS +wraithlike Adjective +Wramplingham/M +Wrangel +Wrangell +Wrangholm/M +wrangle/GRDS +Wrangle/M +wrap/cU +wrap/SDM +wraparound/SM +wrappable +wrapper/MS +wrapping/SM +wrasse/MS +wrath/jM6 +wrathfulness +Wratting/M +Wrawby/M +Wraxall/M +Wray-with-Botton/M +Wraysbury/M +wreak/DSGr +Wreak/M +Wreake/M +wreath/SDMG +wreathe/S +Wreay/M +wreck/GSDR +wreckage/MS +Wrede/M +Wrekin/M +Wrelton/M +Wren/MS +wren/SM +Wrenbury/M +wrench/DGkSM +Wreningham/M +Wrennery/MS +Wrentham/M +Wressle/M +wrest/GSDr +wrestle/DRGS +wrestling/M +Wrestlingworth/M +wretch/MiDhS +wretched/r +wretchedest +Wretham/M +Wretton/M +Wrexham/M +wriggle/RDSGM +wriggly/T +Wright/M +Wrightington/M +wrights +Wrigley/M +Wrinehill/M +wring/RGSM +Wrington/M +wrinkle/GDSMY +wristband/MS +wristwatch/SM +writ/MS +write-down/SM +write-off/SM +write-up/SM +write/fRGAS +writeable +writhe/SDG +Writhlington/M +writing/AS +writing/M +WritingTool/M +written/fUcaA +Writtle/M +WRNS +Wrockwardine/M +wrong-foot/D +wrong-headed/YP +wrong/j6GYSDPM +wrongdoer/MS +wrongdoing/MS +wrongfulness +Wronski/M +Wroot/M +Wrose/M +wrote/fAc +wroth +Wrotham/M +wrought-iron +wrought/Ic +Wroughton/M +Wroxall/M +Wroxeter/M +Wroxham/M +Wroxton/M +wrung +wry/3 +wrybill/MS +wryer +wryest +wryly +wrymouth/MS +wryneck/SM +wryness/M Noun: usually uncountable +wt +WTF +WTO +Wu/M +Wuerl/M +Wuhan/M +Wujastyk/M +Wujcik/M +Wujing/M +Wulfram/M +Wulfsige/M +wunderkind/SM +wunderkinder/M Plural of wunderkind +wurtzite/SM +Würzburg/M +wurzel/SM +wuss/SGD +wussy/SM +WV +WWI/M Abbreviation of World War I +WWII/M Abbreviation of World War II +WWIII/M Abbreviation of World War III +www +WWW/M +WY +Wyandot/M +Wyandotte/M +Wyard/M +Wyaston/M +Wyatt/M +Wyatts/M +Wyberton/M +Wyboston/M +Wybunbury/M +Wyburd/M +Wych/M +Wychavon/M +Wycherley/SM +Wychling/M +Wychnor/M +Wyck/M +Wyckoff/M +Wyclef/M +Wycliffe/M +Wycombe/M +Wyddial/M +Wye/M +Wyfordby/M +Wyham/M +Wyke/M +Wykeham/M +Wykehamist/MS +Wyken/M +Wylie/M +Wyllys/M +Wylye/M +Wyman/M +Wymering/M +Wymeswold/M +Wymington/M +Wymondham/M +Wymondley/M +Wymynswold/M +Wyndcroft +Wyndham/M +Wynette/M +Wynford/M +Wynn/M +Wynne/M +Wynyard/M +Wynyates/M +Wyoming/M +Wyomingite/SM +Wyomissing/M +Wyrardisbury/M +Wyre/M +Wyresdale/M +Wyrley/M +Wysall/M +Wysing/M +WYSIWYG +Wysiwyg +Wyss/M +Wythall/M +Wytham/M +Wythburn/M +Wythe/M +Wythop/M +Wyton-on-the-Hill/M +Wyton/M +wyvern/MS +Wyverstone/M +Wyville/M +x +X +X's +x-axes +x-axis/M +X-rated +X-ray/DSGM +x64/M +x86/M +Xanadu/SM +Xanax/SM +xanthene/SM +xanthine/SM +Xanthippe/SM +xanthopsia/M Noun: uncountable +Xantippe/SM +Xarelto/M +Xavier/M +Xbox/SM +XChat/M +Xcode/M +Xeloda/M +Xenarthra Taxonomic superorder +xenarthran/SM +Xenia/M +Xenix/M +xenoanthropology/M Noun: uncountable +xenobiology/wM +xenobiotic/SM +xenoblast/MS +xenocryst/SMW +xenodiagnoses +xenodiagnosis/M +xenogamous Adjective +xenogamy/M Noun: uncountable +xenograft/SM +xenolith/SMW +xenologer/SM +xenology/M3 +xenon/M Noun: usually uncountable +Xenophanes/M +xenophobe/MWS +xenophobia/SM +Xenophon/M +Xenopus/M +xenotime/SM +Xeon/M +xeroderma/SM +xerodermata/M Plural of xeroderma +xerograph/MS +xerography/MW1 +xerophile/MS +xerophilous +xerophyte/MSW +Xerox/SDGM +Xerxes/M +Xfce/M +XGA/M Extended Graphics Array +Xgeva/M +Xhosa/MS +XHTML/M +xi +Xi'an/M +Xi/M +Xian/SM +Xiang/M +Xiaoping/M +Xiaoying/M +xii +xiii +Xilu/M +xinafoate/M Noun: uncountable +Xindi/M +Xinhua/M +Xining/M +Xinjiang/M +Xiong/M +xiv +xix +XIX +Xizang/M +xl +XL +xli +xlii +xliii +xliv +xlix +xlsx/M +xlv +xlvi +xlvii +xlviii +Xmas/M +XML/M +XMP/SM +Xolair/M +Xopenex/M +XOR/SM +XP/M +XPI/M +xpi/M +Xpressway/M +Xu/M +Xubuntu/M +Xuechen/M +Xuejun/M +XUL/M +XULRunner/M +Xuzhou/M +xv +xvi/M +xvii +xviii +xx +xxi +xxii +xxiii +xxiv +xxix +XXL Initialism of extra extra large +xxv +xxvi +xxvii +xxviii +xxx +xxxi +xxxii +xxxiii +xxxiv +xxxix +xxxv +xxxvi +xxxvii +xxxviii +xylem/SM +xylene/SM +xylitol/SM +xylometazoline/M Noun: uncountable +xylophone/SM3 +xylose/SM +xylyl/SM +XYZ/M +y'all +y-axes +y-axis/M +y/K +Y/SM +Y2K/M Noun: uncountable +ya +yacht/r5mMSDG +yachtie/SM +yack/GDSM +Yadkin/M +Yafforth/M +Yagi/M +yagna/SM +Yah/M +yah/SM +yahoo/SM +Yahoo/SM Plural for workers of Yahoo +Yahtzee/SM +Yahveh/M +Yahvist/MS +Yahweh/M +yajna/SM +Yajnik/M +Yajur Yajur Veda +yak/MSGD +Yakima/M +yakisoba/M Noun: usually uncountable +yakitori/SM +Yakov/M +yaksa/MS +yaksha/MS +yakshini/MS +yaksi/MS +yaksini/MS +Yakut/SM +Yakutian/MS +Yakutsk/M +Yakuza/M +yakuza/SM +Yalding/M +Yale/MS +Yalobusha/M +Yalta/M +yam/SM +Yama/M +Yamada/M +Yamagata/SM +Yamaha/M +Yamakawa/M +Yamamoto/M +Yamashita/M +Yamato/M +Yamaura/M +Yamazaki/M +Yamhill/M +yammer/SdrM +Yamoussoukro/M +Yamuna/M +Yan/M +Yancey/M +Yandex/M +yang/M Noun: uncountable +Yangtze/M +Yangzhou/M +Yank/MS +yank/SGDM +Yankee/SM +Yankeeism/SM +Yankton/M +yantra/SM +Yanwath/M +Yanworth/M +Yao/M +Yaounde/M +Yaoundé/M +yap/SGDM +Yapham/M +Yapton/M +Yarborough/M +Yarbro/M +Yarburgh/M +Yarcombe/M +Yard/M +yard/SM +yardage/MS +yardarm/MS +Yardley/M +yardman/M +yardmaster/SM +yardmen/M +yardstick/SM +Yaren/M +Yarkhill/M +Yarlington/M +Yarm/M +Yarmouth/M +Yarmuk/M +yarmulke/SM +yarn/DMGS +Yarnfield/M +Yarnscombe/M +Yarnton/M +Yarpole/M +Yarra/M +Yarrow/M +yarrow/SM +Yarwell/M +Yashmak/M +Yasmin/M +Yasser/M +Yasuhiro/M +Yasuura/M +Yatala/M +Yate/M +Yateley/M +Yates/M +Yatesbury/M +Yattendon/M +Yatton/M +Yauco/M +Yavapai/M +Yaverland/M +yaw/DSGM +yawl/SM +yawn/kGRDSM +yawp/SDGRM +Yaxham/M +Yaxley/M +yay +Yazoo/M +Yazor/M +YB +yd/M +ye/S +yea/SM +Yeading/M +Yeadon/M +Yeager/M +yeah +Yealand/M +Yealmpton/M +year-end +year-on-year +year-round/r +year/YMS +yearbook/SM +yearful/SM +yearling/SM +yearlong +yearn/DJGkSr +yearnful/Y +yearnfulness/M Noun: uncountable +Yearsley/M +yeast/SM2 +yeasty/TY +Yeats/M +Yeaveley/M +Yedingham/M +Yee/M +Yefremov/M +Yekaterinburg/M +Yelden/M +Yeldersley/M +Yeldham/M +Yell/M +yell/SGDM +Yellamma/M +Yelling/M +yellow-bellied +Yellow/M +yellow/YPZMSDG~ +yellowback/MS +yellower Adjective +yellowfin/SM +yellowhammer/MS +Yellowknife/M +yellowleg/SM +Yellowstone/M +yellowthroat/SM +yelp/DGSM +Yeltsin/M +Yelvertoft/M +Yelverton/M +Yemen/M +Yemeni/M +yen/DSGM +yeoman/YM +yeomanry/SM +yeomen/M +Yeonpyeong/M +Yeovil/M +Yeoville/M +Yeovilton/M +yep +Yeppoon/M +Yerbeston/M +Yerevan/M +yes-man/M +yes-men/M +Yeshua/M +Yester/M +yesterday/SM +yesteryear/SM +yet +Yetholm/M +yeti/SM +Yetminster/M +Yeung/M +yew/SM +Yggdrasil/M +YiB +Yichun/M +Yid/SM +Yiddish/3r +Yiddishism/SM +yield/DSGRM +Yielden/M +yikes +yin/M Noun: uncountable +Yinchuan/M +yip/SGDM +yippee +Yishuv/M +Yitzhak/M +Yizkor/SM +ylang-ylang/SM +YMCA/SM +Yngwie/M +Ynysawdre/M +Ynyscynhaearn/M +Ynysddu/M +Ynyshir/M +Ynysybwl/M +yo +yo-yo/SGDM +yo-yoes +yob/SM +yobbism/M Noun: uncountable +yobbo/SM +yobboes +yobibit/SM +yobibyte/SM +Yockey/M +yoctosecond/SM +Yoda/M +yodel/RDGSM +Yoenis/M +yoga/MS +yoghurt/SM +yogi/SMW +yogin/MS +yogini/MS +yogism/M Noun: uncountable +yogurt/SM +Yogyakarta/M +Yohanna/M +yoke/M +yoke/UDGS +yokefellow/MS +yokel/SM +yokemate/MS +Yoker/M +Yoko/M +Yokohama/M +Yokosuka/M +Yolanda/M +yolk/SM +yolky/T +Yolo/M +Yom/M +yon +yonder/SM +Yong-chol/M +Yong-chun/M +Yong-hui/M +Yong-nam/M +Yong/M +Yongbyon/M +yoni/SM +Yonkers/M +yonks +Yoong/M +Yorba/M +Yordano/M +yore/M Noun: uncountable +York/M3r +york/SGDr +Yorkie/SM +Yorkshire/M +Yorkshireman/M +Yorkshiremen/M +Yorkshirewoman/M +Yorkshirewomen/M +Yorkton/M +Yorktown/M +Yorkville/M +Yoruba/SM +Yosemite/M +Yoshiaki/M +Yoshida/M +Yoshimi/M +Yoshisada/M +Yoshitsugu/M +Yoshiwara/M +Yoshiyuki/M +Yost/M +yottabit/SM +yottabyte/SM +yottasecond/SM +you +you'd +you'll +you're +you've +you-know-what +You-Know-Who +you-know-who +Youden/M +Youghal/M +Youlgreave/M +Youlton/M +Young/M +young/MT~ +Youngberry/M +Youngblood/M +youngling/SM +Youngman/SM +youngster/SM +Youngstown/M +Younis/M +Younker/M +younker/MS +your/S +yourself +yourselves +youse +Yousseph/M +Youssuff/M +Yousuf/M +youth/jSM6 +youthfulness/M Noun: usually uncountable +YouTube/MR +yowl/GSDM +Yoxall/M +Yoxford/M +Yoyodyne/M +Ypres/M +Ypsilanti/M +yr +Ysbyty/M +Yscefiog/M +Ysceifiog/M +Yscir/M +Ysgeifiog/M +Ysgubor-y-coed/M +Ysidro/M +Yspytty/M +Ystalyfera/M +Ystern/M +Ystrad-Ffin/M +Ystrad/M +Ystradenni/M +Ystradenny/M +Ystradfellte/M +Ystradgynlais/M +Ystradmeurig/M +Ystradowen/M +Ystradyfodwg/M +Ystwyth/M +ytterbium/M Noun: usually uncountable +ytterbocene +yttrium/M Noun: usually uncountable +yttrocene +Yuan/M +yuan/SM +Yuanzhang/M +Yuanzhen/M +Yuba/M +Yucaipa/M +Yucatan/M +Yucca/M +yucca/MS +yuck/Mr +yucky/T +Yuga/M +yuga/SM +Yugoslav/SM +Yugoslavia/M +Yugoslavian/SM +yuk/SM +Yukinobu/M +Yukio/M +Yukon/M +Yule/M +Yuletide/M +yum-yum +yum/M +Yuma/M +yummy/T +Yunnan/M +yup/SM +yuppie/SM +yuppification/M Noun: uncountable +yuppify/SGD +Yuri/M +yurt/SM +Yushchenko/M +Yutaka/M +yuzu/SM +Yvan/M +Yves/M +Yvette/M +Yvonna/M +Yvonne/M +Yw/M +YWCA/M Initialism of Young Women's Christian Association +z/M +Z80/M +zabaglione/SM +Zabell/M +Zac/M +Zachary/M +Zachery/M +Zack/M +Zadie/M +zag/SGDM +Zagora/M +Zagreb/M +Zahavi/M +Zaheer/M +Zaibatsu/M +Zaire/M +Zairean/SM +Zairian/SM +Zaitsev/M +Zakeri/M +Zalta/M +Zamani/M +Zambezi/M +Zambia/M +Zambian/SM +Zamia/M +Zamperini/M +Zamudio/M +zander/SM +Zandt/M +Zane/M +Zanesville/M +Zanno/M +zany/TPSM +Zanzibar/M +zap/DRGSM +Zapata/M +zapateado/SM +Zapatero/M +Zaphon/M +Zapotec/SM +Zappa/SM +zappy/T +ZAPU Zimbabwe African People's Union +Zara/M +Zarathustra/M +Zarathustrian/SM +Zaritsky/M +Zatheria Taxonomic infraclass +Zavala/M +Zawadski/M +Zawahiri/M +Zayn/M +Zazaki/M +zazen/M Noun: usually uncountable +Zazzo/M +ZB +Zb +Zbarsky/M +Zdeněk/M +Zeal/M +zeal/SM +Zealand/MR +zealot/MS +Zealot/MS +Zealotes/M +zealotry/SM +zealous/cP +zealously Adverb +Zeals/M +zeaxanthin/SM +Zebedee/M +zebibit/SM +zebibyte/SM +zebra/MS +zebrawood/SM +zebu/SM +Zebulon/M +Zebulun/M +Zechariah/M +zed/MS +Zedekiah/M +zedoary/SM +Zedong/M +Zeebrugge/M +Zeegers/M +Zeeland/Mr +Zeelandic/M +Zeeman/M +Zefram/M +Zeichner/M +zein/SM +Zeiss/M +zeitgeber/SM +Zeitgeist/M +zeitgeist/ZSM +zeitgeisten/M +zeitgeister/M Plural of zeitgeist +Zelda/M +Zelensky/M +Zelenskyy/M +zelkova/SM +Zellick/M +Zelma/M +Zelston/M +Zelstone/M +Zelter/M +Zemina/M +Zemlya/M +zemstvo/SM +Zen/M3 +zenana/SM +Zend/MS +Zendaya/M +Zendesk/M +Zener/M +zenith/MS +Zenker/M +Zennor/M +Zeno/M +Zenobia Taxonomic genus +zenographic/O +Zenunim/M +zeolite/SMW +Zephaniah/M +zephyr/MS +Zephyrhills/M +Zephyrus/M +Zeppelin/MS +zeptosecond/SM +Zerka/M +Zermatt/M +Zermelo/M +zero-rate/SGD +zero-sum +zero/GSDM +zeroes +zeroise/SGDN +zeroth Adjective +Zerubbabel/M +zest/6SMjr +zestfulness/M Noun: uncountable +zesty/T +zeta/SM +Zetia/M +Zetland/M +zettabit/SM +zettabyte/SM +zettasecond/SM +zeugma/SMW +Zeus/M +Zeuthen/M +Zeuxis/M +Zezong/M +Zhang/M +Zhangjiakou/M +Zhao/M +Zhaoguo/M +Zhejiang/M +Zheng/M +Zhengli/M +Zhengzhou/M +Zhenhong/M +Zhenlu/M +Zhirinovsky/M +Zhong/M +Zhongnan/M +Zhongyu/M +Zhou/M +Zhu/M +Zhuang/M +Zhuge/M +Zhytomyr/M +ZiB +zidovudine/M Noun: usually uncountable +Ziegfeld/SM +Ziegler/M +Ziem/Mr +ziggurat/SM +zigzag/SGDM +Zihuatanejo/M +Zika/M +zilch/SM +Ziliak/M +zillah/MS +zillion/SM +zillionaire/SM +zillionth/SM +Zilliox/M +Zilog/M +Zimbabwe/M +Zimbabwean/SM +Zimmerman/M +Zimmermann/M +Zimri/M +zinc/MSGD +zincocene +zine/SM +Zinfandel/SM +zing/SGDM +zingy/T +Zinn/M +Zinnia Taxonomic genus +zinnia/SM +Zion/3M +Zionism/SM +Zionsville/M +zip/Mp +zip/UGDS +Ziploc/SM +ziplock/MD +zippy/T +zipx/M +zircon/SM +zirconia/SM +zirconium/SM +zirconocene/SM +Zissman/M +zit/SMZ +zither/MS3 +ziti/M Noun: usually uncountable +zitterbewegung/M Noun: uncountable +Ziv/M +zloty/MS +zlotys +zodiac/MSO +Zoe/M +Zoë/M +zoeal Adjective +zoetrope/MS +Zohar/M +zoisite/SM +Zola/M +Zollitsch/M +Zöllner/M +Zoloft/M +zolpidem/M Noun: uncountable +Zoltán/M +Zoltan/M +zombie/SM +zonal/Y +zonation/SM +Zond/M +Zondervan/M +zone/ASDG +zone/M +zonked +zonkedness/M Noun: uncountable +zoo/SM +zooarchaeologist/MS +zooarchaeology/M Noun: uncountable +zoobenthic Adjective +zoobenthos/M Noun: uncountable +zoocentrism/M Noun: uncountable +zoochore/MSW1 +zoochorous/Y +zoochory/M Noun: uncountable +Zooey/M +zoogeographer/SM +zoogeography/Ww1M +zoography/M Noun: usually uncountable +zooid/SMO +zookeeper/SM +zoolatry/M Noun: uncountable +zoology/1wMS3W +zoom/DGSMr +Zoom/SM +zoomancy/M Noun: uncountable +zoomorphic/Y +zoomorphism/SM +zoonoses +zoonosis/M +zoonotic/SMY +zoophagous +zoophagy/M Noun: uncountable +zoöphagy/M Noun: uncountable +zoophile/SM3Z +zoophilia/WSM +zoophilism/M Noun: uncountable +zoophobia/SM +zoophyte/SMW +zooplankton/WSM +zoosemiotics/M Noun: uncountable +zoosporangia/M Plural of zoosporangium +zoosporangium/M +zoospore/SWM +zootomy/M Noun: usually uncountable +zootoxin/SM +zooxanthella/M +zooxanthellae/M +zooxanthellate/SM +Zora/M +Zoroaster/M +Zoroastrian/SM +Zoroastrianism/M Noun: uncountable +Zorro/M +Zostavax/M +zoster/SM +Zr +Zs +Zsigmondy/M +ZTE/M +Zubrin/M +zucchetto/SM +zucchini/SM +Zuckerberg/M +Zuehlke/M +Zug/M +zugzwang/SM +Zukerman/M +Zukor/M +zulu/MS +Zulu/MS +Zululand/M +Zurich/M +zuz/SM +Zuza/M +Zwahlen/M +Zwick/Mr +Zwicky/M +zwieback/MS +Zwingli/M +Zwinglian/MS +zwitterion/SMW +Zworykin/M +ZX ZX Spectrum (computer) +zydeco/M Noun: uncountable +zygodactylous +zygomatic/SM +zygomorphic/Y +zygomorphy/M Noun: uncountable +zygospore/MS +zygote/SWM +zygotene/SM +Zyklon Zyklon B +zymodeme/SM +zymogen/SM +zymotic/SY +zymurgy/SM +Zyrian/SM +zythum/SM +Zytiga/M +Zyvox/M +§ +© +µ +µJ +µm +µPa +µT +α +β +γ +Γ +δ +Δ +ε +ζ +η +Θ +θ +ι +κ +Λ +λ +μ +μ-mesic +μF +μg +μm +μPa +μT +ν +Ξ +ξ +ο +Π +π +ρ +σ +Σ +τ +υ +φ +Φ +χ +ψ +Ψ +ω +Ω +ℓ +ⅇ diff --git a/Dictionaries/en_US.aff b/Dictionaries/en_US.aff new file mode 100644 index 00000000..290acfe8 --- /dev/null +++ b/Dictionaries/en_US.aff @@ -0,0 +1,209 @@ +# 2024-01-29 (Marco A.G.Pinto) +# - Fix: apostrophe handling, by adding: WORDCHARS 0123456789’ to the .aff. +# + +SET UTF-8 +TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ' +ICONV 1 +ICONV ’ ' +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 90 +REP a ei +REP ei a +REP a ey +REP ey a +REP ai ie +REP ie ai +REP alot a_lot +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 +REP size cise diff --git a/Dictionaries/en_US.dic b/Dictionaries/en_US.dic new file mode 100644 index 00000000..b41fd203 --- /dev/null +++ b/Dictionaries/en_US.dic @@ -0,0 +1,49569 @@ +49568 +0/nm +0th/pt +1/n1 +1st/p +1th/tc +2/nm +2nd/p +2th/tc +3/nm +3rd/p +3th/tc +4/nm +4th/pt +5/nm +5th/pt +6/nm +6th/pt +7/nm +7th/pt +8/nm +8th/pt +9/nm +9th/pt +A/SM +AA/M +AAA +AB/M +ABA +ABC/SM +ABM/SM +ABS +AC/M +ACLU/M +ACT +ACTH/M +AD/M +ADC +ADD +ADM +ADP/M +AF +AFAIK +AFB +AFC/M +AFDC +AFN +AFT +AI/SM +AIDS/M +AK +AL +AM/M +AMA +AMD/M +ANSI/S +ANZUS/M +AOL/M +AP/M +APB +APC +API +APO +APR +AR +ARC +ASAP +ASCII/SM +ASL/M +ASPCA +ATM/M +ATP/M +ATV +AV +AVI +AWACS/M +AWOL/M +AWS/M +AZ/M +AZT/M +Aachen/M +Aaliyah/M +Aaron/M +Abbas/M +Abbasid/M +Abbott/M +Abby/M +Abdul/M +Abe/M +Abel/M +Abelard/M +Abelson/M +Aberdeen/M +Abernathy/M +Abidjan/M +Abigail/M +Abilene/M +Abner/M +Aborigine/MS +Abraham/M +Abram/MS +Abrams/M +Absalom/M +Abuja/M +Abyssinia/M +Abyssinian/M +Ac/M +Acadia/M +Acapulco/M +Accenture/M +Accra/M +Acevedo/M +Achaean/M +Achebe/M +Achernar/M +Acheson/M +Achilles/M +Aconcagua/M +Acosta/M +Acropolis +Acrux/M +Actaeon/M +Acton/M +Acts/M +Acuff/M +Ada/SM +Adam/SM +Adams/M +Adan/M +Adana/M +Adar/M +Addams/M +Adderley/M +Addie/M +Addison/M +Adela/M +Adelaide/M +Adele/M +Adeline/M +Aden/M +Adenauer/M +Adhara/M +Adidas/M +Adirondack/SM +Adirondacks/M +Adkins/M +Adler/M +Adm +Admiralty +Adolf/M +Adolfo/M +Adolph/M +Adonis/MS +Adrenalin/MS +Adrian/M +Adriana/M +Adriatic/M +Adrienne/M +Advent/MS +Adventist/MS +Advil/M +Aegean/M +Aelfric/M +Aeneas/M +Aeneid/M +Aeolus/M +Aeroflot/M +Aeschylus/M +Aesculapius/M +Aesop/M +Afghan/SM +Afghani/M +Afghanistan/M +Afr +Africa/M +African/SM +Afrikaans/M +Afrikaner/SM +Afro/SM +Afrocentric +Afrocentrism/M +Ag/M +Agamemnon/M +Agana +Agassi/M +Agassiz/M +Agatha/M +Aggie/M +Aglaia/M +Agnes/M +Agnew/M +Agni/M +Agra/M +Agricola/M +Agrippa/M +Agrippina/M +Aguadilla/M +Aguascalientes +Aguilar/M +Aguinaldo/M +Aguirre/M +Agustin/M +Ahab/M +Ahmad/M +Ahmadabad/M +Ahmadinejad/M +Ahmed/M +Ahriman/M +Aida/M +Aiken/M +Aileen/M +Aimee/M +Ainu/M +Airedale/MS +Aires/M +Aisha/M +Ajax/M +Akbar/M +Akhmatova/M +Akihito/M +Akita/M +Akiva/M +Akkad/M +Akron/M +Al/M +Ala/S +Alabama/M +Alabaman/MS +Alabamian/SM +Aladdin/M +Alamo/M +Alamogordo/M +Alan/M +Alana/M +Alar/M +Alaric/M +Alaska/M +Alaskan/MS +Alba/M +Albania/M +Albanian/MS +Albany/M +Albee/M +Alberio/M +Albert/M +Alberta/M +Albertan +Alberto/M +Albigensian/M +Albion/M +Albireo/M +Albuquerque/M +Alcatraz/M +Alcestis/M +Alcibiades/M +Alcindor/M +Alcmena/M +Alcoa/M +Alcott/M +Alcuin/M +Alcyone/M +Aldan/M +Aldebaran/M +Alden/M +Alderamin/M +Aldo/M +Aldrin/M +Alec/M +Aleichem/M +Alejandra/M +Alejandro/M +Alembert/M +Aleppo/M +Aleut/MS +Aleutian/SM +Alex/M +Alexander/MS +Alexandra/M +Alexandria/M +Alexandrian +Alexei/M +Alexis/M +Alfonso/M +Alfonzo/M +Alford/M +Alfred/M +Alfreda/M +Alfredo/M +Algenib/M +Alger/M +Algeria/M +Algerian/SM +Algieba/M +Algiers/M +Algol/M +Algonquian/SM +Algonquin/MS +Alhambra/M +Alhena/M +Ali/M +Alice/M +Alicia/M +Alighieri/M +Aline/M +Alioth/M +Alisa/M +Alisha/M +Alison/M +Alissa/M +Alistair/M +Alkaid/M +Allah/M +Allahabad/M +Allan/M +Alleghenies/M +Allegheny/SM +Allegra/M +Allen/M +Allende/M +Allentown/M +Allhallows/M +Allie/MS +Allison/M +Allstate/M +Allyson/M +Alma/M +Almach/M +Almaty/M +Almighty/M +Almohad/M +Almoravid/M +Alnilam/M +Alnitak/M +Alonzo/M +Alpert/M +Alphard/M +Alphecca/M +Alpheratz/M +Alphonse/M +Alphonso/M +Alpine/M +Alpo/M +Alps/M +Alsace/M +Alsatian/SM +Alsop/M +Alston/M +Alta/M +Altaba/M +Altai/M +Altaic/M +Altair/M +Altamira/M +Althea/M +Altiplano/M +Altman/M +Altoids/M +Alton/M +Altoona/M +Aludra/M +Alva/M +Alvarado/M +Alvarez/M +Alvaro/M +Alvin/M +Alyce/M +Alyson/M +Alyssa/M +Alzheimer/M +Am/MNR +Amadeus/M +Amado/M +Amalia/M +Amanda/M +Amarillo/M +Amaru/M +Amaterasu/M +Amati/M +Amazon/SM +Amazonian +Amber/M +Amelia/M +Amen/M +Amenhotep/M +Amerasian/M +America/SM +American/MS +Americana/M +Americanism/MS +Americanization/MS +Americanize/GDS +Amerind/SM +Amerindian/MS +Ames/M +Ameslan/M +Amgen/M +Amharic/M +Amherst/M +Amie/M +Amiga/M +Amish/M +Amman/M +Amoco/M +Amos/M +Amparo/M +Ampere/M +Amritsar/M +Amsterdam/M +Amtrak/M +Amundsen/M +Amur/M +Amway/M +Amy/M +Ana/M +Anabaptist/M +Anabel/M +Anacin/M +Anacreon/M +Anaheim/M +Analects/M +Ananias/M +Anasazi/M +Anastasia/M +Anatole/M +Anatolia/M +Anatolian/M +Anaxagoras/M +Anchorage/M +Andalusia/M +Andalusian/M +Andaman/M +Andean/M +Andersen/M +Anderson/M +Andes/M +Andorra/M +Andorran/SM +Andre/MS +Andrea/M +Andrei/M +Andres/M +Andretti/M +Andrew/SM +Andrews/M +Andrianampoinimerina/M +Android/M +Andromache/M +Andromeda/M +Andropov/M +Andy/M +Angara/M +Angel/M +Angela/M +Angeles/M +Angelia/M +Angelica/M +Angelico/M +Angelina/M +Angeline/M +Angelique/M +Angelita/M +Angelo/M +Angelou/M +Angevin/M +Angie/M +Angkor/M +Angle/MS +Angleton/M +Anglia/M +Anglican/SM +Anglicanism/MS +Anglicism/MS +Anglicization +Anglicize +Anglo/M +Anglophile/M +Anglophobe +Angola/M +Angolan/MS +Angora/SM +Angstrom/M +Anguilla/M +Angus/M +Anhui/M +Aniakchak/M +Anibal/M +Anita/M +Ankara/M +Ann/M +Anna/M +Annabel/M +Annabelle/M +Annam/M +Annapolis/M +Annapurna/M +Anne/M +Annette/M +Annie/M +Anniston/M +Annmarie/M +Annunciation/SM +Anouilh/M +Anselm/M +Anselmo/M +Anshan/M +Antaeus/M +Antananarivo/M +Antarctic/M +Antarctica/M +Antares/M +Anthony/M +Anthropocene +Antichrist/SM +Antietam/M +Antifa/M +Antigone/M +Antigua/M +Antillean +Antilles/M +Antioch/M +Antipas/M +Antipodes +Antofagasta/M +Antoine/M +Antoinette/M +Anton/M +Antone/M +Antonia/M +Antoninus/M +Antonio/M +Antonius/M +Antony/M +Antwan/M +Antwerp/M +Anubis/M +Anzac/M +Apache/SM +Apalachicola/M +Apatosaurus +Apennines/M +Aphrodite/M +Apia/M +Apocalypse/M +Apocrypha/M +Apollinaire/M +Apollo/SM +Apollonian/M +Apostle/M +Appalachia/M +Appalachian/SM +Appalachians/M +Appaloosa/SM +Apple/M +Appleseed/M +Appleton/M +Appomattox/M +Apr/M +April/MS +Apuleius/M +Aquafresh/M +Aquarian +Aquarius/MS +Aquila/M +Aquinas/M +Aquino/M +Aquitaine/M +Ar/M +Ara/M +Arab/SM +Arabia/M +Arabian/MS +Arabic/M +Arabist/MS +Araby/M +Araceli/M +Arafat/M +Aragon +Araguaya/M +Aral/M +Aramaic/M +Aramco/M +Arapaho/MS +Arapahoes +Ararat/M +Araucanian/M +Arawak/M +Arawakan/M +Arbitron/M +Arcadia/M +Arcadian/M +Archean/M +Archibald/M +Archie/M +Archimedes/M +Arctic/M +Arcturus/M +Ardabil +Arden/M +Arduino/M +Arecibo/M +Arequipa/M +Ares/M +Argentina/M +Argentine/M +Argentinean +Argentinian/MS +Argo/SM +Argonaut/MS +Argonne/M +Argos/M +Argus/M +Ariadne/M +Arianism/M +Ariel/M +Aries/MS +Ariosto/M +Aristarchus/M +Aristides/M +Aristophanes/M +Aristotelian/M +Aristotle/M +Arius/M +Ariz +Arizona/M +Arizonan/SM +Arizonian/MS +Arjuna/M +Ark/M +Arkansan/MS +Arkansas/M +Arkhangelsk/M +Arkwright/M +Arlene/M +Arline/M +Arlington/M +Armageddon/SM +Armagnac/M +Armand/M +Armando/M +Armani/M +Armenia/M +Armenian/SM +Arminius/M +Armonk/M +Armour/M +Armstrong/M +Arneb/M +Arnhem/M +Arno/M +Arnold/M +Arnulfo/M +Aron/M +Arrhenius/M +Arron/M +Art/M +Artaxerxes/M +Artemis/M +Arthur/M +Arthurian/M +Artie/M +Arturo/M +Aruba/M +Aryan/MS +As/M +Asama/M +Ascella/M +Ascension/M +Asgard/M +Ashanti/M +Ashcroft/M +Ashe/M +Asheville/M +Ashgabat +Ashikaga/M +Ashkenazim/M +Ashkhabad/M +Ashlee/M +Ashley/M +Ashmolean/M +Ashurbanipal/M +Asia/M +Asiago +Asian/MS +Asiatic/SM +Asimov/M +Asmara/M +Asoka/M +Aspell/M +Aspen/M +Asperger/M +Aspidiske/M +Asquith/M +Assad/M +Assam/M +Assamese/M +Assembly +Assisi/M +Assyria/M +Assyrian/SM +Astaire/M +Astana/M +Astarte/M +Aston/M +Astor/M +Astoria/M +Astrakhan/M +AstroTurf/M +Asturias/M +Asuncion/M +Aswan/M +At/SM +Atacama/M +Atahualpa/M +Atalanta/M +Atari/M +Atascadero/M +Ataturk/M +Athabasca/M +Athabaskan/SM +Athanasius +Athena/M +Athene/M +Athenian/SM +Athens/M +Atkins/M +Atkinson/M +Atlanta/M +Atlantes +Atlantic/M +Atlantis/M +Atlas/MS +Atman/M +Atonement +Atreus/M +Atria/M +Atropos/M +Attic/M +Attica/M +Attila/M +Attlee/M +Attn +Attucks/M +Atwood/M +Au/M +Aubrey/M +Auburn/M +Auckland/M +Auden/M +Audi/M +Audion/M +Audra/M +Audrey/M +Audubon/M +Aug/M +Augean/M +Augsburg/M +August/MS +Augusta/M +Augustan/M +Augustine/M +Augustinian/MS +Augustus/M +Aurangzeb/M +Aurelia/M +Aurelio/M +Aurelius/M +Aureomycin/M +Auriga/M +Aurora/M +Auschwitz/M +Aussie/MS +Austen/M +Austerlitz/M +Austin/MS +Australasia/M +Australasian +Australia/M +Australian/SM +Australoid/M +Australopithecus/M +Austria/M +Austrian/SM +Austronesian/M +Autumn/M +Av/M +Ava/M +Avalon/M +Ave/M +Aventine/M +Avernus/M +Averroes/M +Avery/M +Avesta/M +Avicenna/M +Avignon/M +Avila/M +Avior/M +Avis/M +Avogadro/M +Avon/M +Avondale/M +Axis +Axum/M +Ayala/M +Ayers/M +Aymara/M +Ayrshire/M +Ayurveda/M +Ayyubid/M +Azana/M +Azania/M +Azazel/M +Azerbaijan/M +Azerbaijani/MS +Azores/M +Azov/M +Aztec/SM +Aztecan/M +Aztlan/M +B/MNT +BA/M +BASIC/SM +BB/M +BBB/M +BBC/M +BBQ +BBS +BBSes +BC/M +BFF +BIA +BIOS +BITNET +BLT/SM +BM/M +BMW/M +BO +BP/M +BPOE +BR +BS/M +BSA +BSD/SM +BTU +BTW +BYOB +Ba/M +Baal/SM +Baath/M +Baathist/M +Babbage/M +Babbitt/M +Babel/MS +Babylon/MS +Babylonia/M +Babylonian/SM +Bacall/M +Bacardi/M +Bacchanalia/M +Bacchic +Bacchus/M +Bach/M +Backus/M +Bacon/M +Bactria/M +Baden/M +Badlands/M +Baedeker/MS +Baez/M +Baffin/M +Baggies/M +Baghdad/M +Baguio/M +Baha'i/M +Baha'ullah/M +Bahama/SM +Bahamanian +Bahamas/M +Bahamian/MS +Bahia/M +Bahrain/M +Baidu/M +Baikal/M +Bailey/M +Baird/M +Bakelite/M +Baker/M +Bakersfield/M +Baku/M +Bakunin/M +Balanchine/M +Balaton/M +Balboa/M +Balder/M +Baldwin/SM +Balearic/M +Balfour/M +Bali/M +Balinese/M +Balkan/MS +Balkans/M +Balkhash/M +Ball/M +Ballard/M +Balthazar/M +Baltic/M +Baltimore/M +Baluchistan/M +Balzac/M +Bamako/M +Bambi/M +Banach/M +Bancroft/M +Bandung/M +Bangalore/M +Bangkok/M +Bangladesh/M +Bangladeshi/SM +Bangor/M +Bangui/M +Banjarmasin/M +Banjul/M +Banks/M +Banneker/M +Bannister/M +Banting/M +Bantu/MS +Baotou/M +Baptist/SM +Baptiste/M +Barabbas/M +Barack/M +Barbadian/SM +Barbados/M +Barbara/M +Barbarella/M +Barbarossa/M +Barbary/M +Barber/M +Barbie/M +Barbour/M +Barbra/M +Barbuda/M +Barcelona/M +Barceloneta/M +Barclay/SM +Barclays/M +Bardeen/M +Barents/M +Barker/M +Barkley/M +Barlow/M +Barnabas/M +Barnaby/M +Barnard/M +Barnaul/M +Barnes/M +Barnett/M +Barney/M +Barnum/M +Baroda/M +Barquisimeto/M +Barr/M +Barranquilla/M +Barrera/M +Barrett/M +Barrie/M +Barron/M +Barry/M +Barrymore/M +Bart/M +Barth/MS +Bartholdi/M +Bartholomew/M +Bartlett/M +Bartok/M +Barton/M +Baruch/M +Baryshnikov/M +Basel/M +Basho/M +Basie/M +Basil/M +Basque/MS +Basra/M +Bass/M +Basseterre/M +Bastille/M +Basutoland/M +Bataan/M +Bates/M +Bathsheba/M +Batista/M +Batman/M +Battle/M +Batu/M +Baudelaire/M +Baudouin/M +Baudrillard/M +Bauer/M +Bauhaus/M +Baum/M +Bavaria/M +Bavarian/M +Baxter/M +Bayamon +Bayer/M +Bayes/M +Bayesian/M +Bayeux/M +Baylor/M +Bayonne/M +Bayreuth/M +Baywatch/M +Be/MH +Beach/M +Beadle/M +Bean/M +Beard/M +Beardmore/M +Beardsley/M +Bearnaise/M +Beasley/M +Beatlemania/M +Beatles/M +Beatrice/M +Beatrix/M +Beatriz/M +Beatty/M +Beau/M +Beaufort/M +Beaujolais/M +Beaumarchais/M +Beaumont/M +Beauregard/M +Beauvoir/M +Bechtel/M +Beck/MR +Becker/M +Becket/M +Beckett/M +Beckley/M +Beckman +Becky/M +Becquerel/M +Bede/M +Bedouin/SM +Beebe/M +Beecher/M +Beefaroni/M +Beelzebub/M +Beerbohm/M +Beethoven/M +Beeton/M +Begin/M +Behan/M +Behring/M +Beiderbecke/M +Beijing/M +Beirut/M +Bekesy/M +Bela/M +Belarus/M +Belarusian +Belau/M +Belem/M +Belfast/M +Belg +Belgian/SM +Belgium/M +Belgrade/M +Belinda/M +Belize/M +Bell/M +Bella/M +Bellamy/M +Bellatrix/M +Belleek/M +Bellingham/M +Bellini/M +Bellow/M +Belmont/M +Belmopan/M +Beloit/M +Belorussian/MS +Belshazzar/M +Beltane/M +Belushi/M +Ben/M +Benacerraf/M +Benchley/M +Bend/MR +Bender/M +Bendictus +Bendix/M +Benedict/M +Benedictine/MS +Benelux/M +Benet/M +Benetton/M +Bengal/SM +Bengali/M +Benghazi/M +Benin/M +Beninese/M +Benita/M +Benito/M +Benjamin/M +Bennett/M +Bennie/M +Benny/M +Benson/M +Bentham/M +Bentley/M +Benton/M +Benz/M +Benzedrine/M +Beowulf/M +Berber/SM +Berenice/M +Beretta/M +Berg/MNR +Bergen/M +Berger/M +Bergerac/M +Bergman/M +Bergson/M +Beria/M +Bering/M +Berkeley/M +Berkshire/SM +Berkshires/M +Berle/M +Berlin/SZMR +Berliner/M +Berlioz/M +Berlitz/M +Bermuda/SM +Bermudan/SM +Bermudian/SM +Bern/M +Bernadette/M +Bernadine/M +Bernanke/M +Bernard/M +Bernardo/M +Bernays/M +Bernbach/M +Bernese +Bernhardt/M +Bernice/M +Bernie/M +Bernini/M +Bernoulli/M +Bernstein/M +Berra/M +Berry/M +Bert/M +Berta/M +Bertelsmann/M +Bertha/M +Bertie/M +Bertillon/M +Bertram/M +Bertrand/M +Berwick/M +Beryl/M +Berzelius/M +Bess/M +Bessel/M +Bessemer/M +Bessie/M +Best/M +Betelgeuse/M +Beth/M +Bethany/M +Bethe/M +Bethesda/M +Bethlehem/M +Bethune/M +Betsy/M +Bette/M +Bettie/M +Betty/M +Bettye/M +Beulah/M +Beveridge +Beverley/M +Beverly/M +Beyer/M +Bharat/M +Bhopal/M +Bhutan/M +Bhutanese/M +Bhutto/M +Bi/M +Bialystok/M +Bianca/M +Bib +Bible/MS +Bic/M +Biddle/M +Biden/M +Bierce/M +BigQuery/M +Bigfoot/M +Biggles/M +Biko/M +Bilbao/M +Bilbo/M +Bill/MJ +Billie/M +Billings/M +Billy/M +Bimini/M +Binghamton/M +Biogen/M +Bioko/M +Bird/M +Birdseye/M +Birkenstock/M +Birmingham/M +Biro/M +Biscay/M +Biscayne/M +Bishkek/M +Bishop/M +Bismarck/M +Bismark/M +Bisquick/M +Bissau/M +BitTorrent/M +Bizet/M +Bjerknes/M +Bjork/M +Bk/M +BlackBerry/M +Blackbeard/M +Blackburn/M +Blackfeet/M +Blackfoot/M +Blackpool/M +Blacksburg/M +Blackshirt/M +Blackstone/M +Blackwell/M +Blaine/M +Blair/M +Blake/M +Blanca/M +Blanchard/M +Blanche/M +Blankenship/M +Blantyre/M +Blatz/M +Blavatsky/M +Blenheim/M +Blevins/M +Bligh/M +Bloch/M +Blockbuster/M +Bloemfontein/M +Blondel/M +Blondie/M +Bloom/MR +Bloomer/M +Bloomfield/M +Bloomingdale/M +Bloomington/M +Bloomsburg/M +Bloomsbury/M +Blu +Blucher/M +Bluebeard/M +Bluetooth/M +Blvd +Blythe/M +Boadicea +Boas/M +Bob/M +Bobbi/M +Bobbie/M +Bobbitt/M +Bobby/M +Boccaccio/M +Bodhidharma/M +Bodhisattva/M +Bodleian +Boeing/M +Boeotia/M +Boeotian/M +Boer/SM +Boethius/M +Bogart/M +Bogota/M +Bohemia/M +Bohemian/SM +Bohr/M +Boise/M +Bojangles/M +Boleyn/M +Bolivar/M +Bolivia/M +Bolivian/MS +Bollywood/M +Bologna/M +Bolshevik/SM +Bolsheviki +Bolshevism/M +Bolshevist/M +Bolshoi/M +Bolton/M +Boltzmann/M +Bombay/M +Bonaparte/M +Bonaventure/M +Bond/M +Bonhoeffer/M +Boniface/M +Bonita/M +Bonn/MR +Bonner/M +Bonneville/M +Bonnie/M +Bono/M +Booker/M +Boole/M +Boolean/M +Boone/M +Bootes/M +Booth/M +Bordeaux/M +Borden/M +Bordon/M +Boreas/M +Borg/SM +Borges/M +Borgia/M +Borglum/M +Boris/M +Bork/M +Borlaug/M +Born/M +Borneo/M +Borobudur/M +Borodin/M +Boru/M +Bosch/M +Bose/M +Bosnia/M +Bosnian +Bosporus/M +Boston/MS +Bostonian/M +Boswell/M +Botha +Botox +Botswana/M +Botticelli/M +Boulder/M +Boulez/M +Bourbaki/M +Bourbon/SM +Bournemouth/M +Bovary/M +Bowditch/M +Bowell/M +Bowen/M +Bowers/M +Bowery/M +Bowie/M +Bowman/M +Boyd/M +Boyer/M +Boyle/M +Br/MT +Brad/MY +Bradbury/M +Braddock/M +Bradenton/M +Bradford/M +Bradley/M +Bradly/M +Bradshaw/M +Bradstreet/M +Brady/M +Bragg/M +Brahe/M +Brahma/MS +Brahmagupta/M +Brahman/MS +Brahmani +Brahmanism/SM +Brahmaputra/M +Brahms/M +Braille/MS +Brain/M +Brampton/M +Bran/M +Branch/M +Brandeis/M +Branden/M +Brandenburg/M +Brandi/M +Brandie/M +Brando/M +Brandon/M +Brandt/M +Brandy/M +Brant/M +Braque/M +Brasilia/M +Bratislava/M +Brattain/M +Bray/M +Brazil/M +Brazilian/MS +Brazos/M +Brazzaville/M +Breakspear/M +Breathalyzer +Brecht/M +Breckenridge/M +Bremen/M +Bremerton/M +Brenda/M +Brendan/M +Brennan/M +Brenner/M +Brent/M +Brenton/M +Brest/M +Bret/M +Breton/M +Brett/M +Brewer/M +Brewster/M +Brexit +Brezhnev/M +Brian/M +Briana/M +Brianna/M +Brice/M +Bridalveil/M +Bridgeport/M +Bridger/M +Bridges/M +Bridget/M +Bridgetown/M +Bridgett/M +Bridgette/M +Bridgman/M +Brie/SM +Brigadoon/M +Briggs/M +Brigham/M +Bright/M +Brighton/M +Brigid/M +Brigitte/M +Brillo/M +Brillouin +Brinkley/M +Brisbane/M +Bristol/M +Brit/SM +Britain/M +Britannia/M +Britannic/M +Britannica/M +Briticism/SM +British/MRZ +Britisher/M +Britney/M +Briton/MS +Britt/MN +Brittany/SM +Britten/M +Brittney/M +Brno/M +Broadway/SM +Brobdingnag/M +Brobdingnagian/M +Brock/M +Brokaw/M +Bronson/M +Bronte/M +Brontosaurus +Bronx/M +Brooke/MS +Brooklyn/M +Brooks/M +Bros +Brown/MG +Browne/M +Brownian/M +Brownie/S +Browning/M +Brownshirt/M +Brownsville/M +Brubeck/M +Bruce/M +Bruckner/M +Bruegel +Brummel/M +Brunei/M +Bruneian/MS +Brunelleschi/M +Brunhilde/M +Bruno/M +Brunswick/M +Brussels/M +Brut/M +Brutus/M +Bryan/M +Bryant/M +Bryce/M +Brynner/M +Bryon/M +Brzezinski/M +Btu/M +Buber/M +Buchanan/M +Bucharest/M +Buchenwald/M +Buchwald/M +Buck/M +Buckingham/M +Buckley/M +Buckner/M +Bud/M +Budapest/M +Buddha/SM +Buddhism/SM +Buddhist/SM +Buddy/M +Budweiser/M +Buffalo/M +Buffy/M +Buford/M +Bugatti/M +Bugzilla/M +Buick/M +Bujumbura/M +Bukhara/M +Bukharin/M +Bulawayo/M +Bulfinch/M +Bulganin/M +Bulgar/M +Bulgari/M +Bulgaria/M +Bulgarian/SM +Bullock/M +Bullwinkle/M +Bultmann/M +Bumppo/M +Bunche/M +Bundesbank/M +Bundestag/M +Bunin/M +Bunker/M +Bunsen/M +Bunuel/M +Bunyan/M +Burbank/M +Burberry/M +Burch/M +Burger/M +Burgess/M +Burgoyne/M +Burgundian/M +Burgundy/SM +Burke/M +Burks/M +Burl/M +Burlington/M +Burma/M +Burmese/M +Burnett/M +Burns/M +Burnside/M +Burr/M +Burris/M +Burroughs/M +Bursa/M +Burt/M +Burton/M +Burundi/M +Burundian/MS +Busch/M +Bush/M +Bushido/M +Bushnell/M +Butler/M +Butterfingers/M +Buxtehude/M +Byblos/M +Byers/M +Byrd/M +Byron/M +Byronic/M +Byzantine/MS +Byzantium/M +C/SM +CA +CAD/M +CAI +CAM +CAP +CARE +CATV +CB +CBC/M +CBS/M +CCTV +CCU +CD/SM +CDC +CDT +CEO/M +CF +CFC/M +CFO +CGI +CIA/M +CID +CNN/M +CNS/M +CO/M +COBOL/SM +COD +COL +COLA +COVID +CPA/M +CPI/M +CPO +CPR/M +CPU/M +CRT/SM +CSS/M +CST/M +CT/M +CV +CVS/M +CZ +Ca/M +Cabernet/M +Cabot/M +Cabral/M +Cabrera/M +Cabrini/M +Cadette +Cadillac/M +Cadiz/M +Caedmon/M +Caerphilly/M +Caesar/SM +Cage/M +Cagney/M +Cahokia/M +Caiaphas/M +Cain/SM +Cairo/M +Caitlin/M +Cajun/MS +Cal/M +Calais/M +Calcutta/M +Calder/M +Calderon/M +Caldwell/M +Caleb/M +Caledonia/M +Calexico/M +Calgary/M +Calhoun/M +Cali/M +Caliban/M +Calif +California/M +Californian/SM +Caligula/M +Callaghan/M +Callahan/M +Callao/M +Callas/M +Callie/M +Calliope/M +Callisto/M +Caloocan/M +Calvary/M +Calvert/M +Calvin/M +Calvinism/MS +Calvinist/MS +Calvinistic +Camacho/M +Camarillo/M +Cambodia/M +Cambodian/SM +Cambrian/SM +Cambridge/M +Camden/M +Camel/M +Camelopardalis/M +Camelot/MS +Camembert/MS +Cameron/M +Cameroon/SM +Cameroonian/MS +Camilla/M +Camille/M +Camoens/M +Campanella/M +Campbell/M +Campinas/M +Campos/M +Camry/M +Camus/M +Can/M +Canaan/M +Canaanite/MS +Canad +Canada/M +Canadian/SM +Canadianism +Canaletto/M +Canaries/M +Canaveral/M +Canberra/M +Cancer/SM +Cancun/M +Candace/M +Candice/M +Candide/M +Candy/M +Cannes/M +Cannon/M +Canon/M +Canopus/M +Cantabrigian/M +Canterbury/M +Canton/M +Cantonese/M +Cantor/M +Cantrell/M +Cantu/M +Canute/M +Capablanca/M +Capek/M +Capella/M +Capet/M +Capetian/M +Capetown/M +Caph/M +Capistrano/M +Capitol/SM +Capitoline/M +Capone/M +Capote/M +Capra/M +Capri/M +Capricorn/MS +Capt +Capuchin/M +Capulet/M +Cara/M +Caracalla/M +Caracas/M +Caravaggio/M +Carboloy/M +Carbondale/M +Carboniferous/M +Carborundum/M +Cardenas/M +Cardiff/M +Cardin/M +Cardozo/M +Carey/M +Carib/MS +Caribbean/MS +Carina/M +Carissa/M +Carl/M +Carla/M +Carlene/M +Carlin/M +Carlo/MS +Carlos/M +Carlsbad/M +Carlson/M +Carlton/M +Carly/M +Carlyle/M +Carmela/M +Carmella/M +Carmelo/M +Carmen/M +Carmichael/M +Carmine/M +Carnap/M +Carnation/M +Carnegie/M +Carney/M +Carnot/M +Carol/M +Carole/M +Carolina/M +Caroline/M +Carolingian/M +Carolinian/M +Carolyn/M +Carpathian/SM +Carpathians/M +Carpenter/M +Carr/M +Carranza/M +Carrie/RM +Carrier/M +Carrillo/M +Carroll/M +Carson/M +Carter/M +Cartersville/M +Cartesian/M +Carthage/M +Carthaginian/MS +Cartier/M +Cartwright/M +Caruso/M +Carver/M +Cary/M +Casablanca/M +Casals/M +Casandra/M +Casanova/SM +Cascades/M +Case/M +Casey/M +Cash/M +Casio/M +Caspar/M +Casper/M +Caspian/M +Cassandra/SM +Cassatt/M +Cassidy/M +Cassie/M +Cassiopeia/M +Cassius/M +Castaneda/M +Castilian +Castillo/M +Castlereagh/M +Castor/M +Castries/M +Castro/M +Catalan/SM +Catalina/M +Catalonia/M +Catawba/M +Caterpillar/M +Cathay/M +Cather/M +Catherine/M +Cathleen/M +Catholic/MS +Catholicism/MS +Cathryn/M +Cathy/M +Catiline/M +Cato/M +Catskill/SM +Catskills/M +Catt/M +Catullus/M +Caucasian/MS +Caucasoid +Caucasus/M +Cauchy/M +Cavendish/M +Cavour/M +Caxton/M +Cayenne/M +Cayman/M +Cayuga/SM +Cayuse +Cb +Cd/M +Ce/M +Ceausescu/M +Cebu/M +Cebuano/M +Cecelia/M +Cecil/M +Cecile/M +Cecilia/M +Cecily/M +Cedric/M +Celeste/M +Celgene/M +Celia/M +Celina/M +Cellini/M +Celsius/M +Celt/SM +Celtic/SM +Cenozoic/M +Centaurus/M +Centigrade +Central +Cepheid/M +Cepheus/M +Cerberus/M +Cerenkov/M +Ceres/M +Cerf/M +Cervantes/M +Cesar/M +Cesarean/M +Cessna/M +Cetus/M +Ceylon/M +Ceylonese +Cezanne/M +Cf/M +Ch'in/M +Ch/N +Chablis/M +Chad/M +Chadian/MS +Chadwick/M +Chagall/M +Chaitanya/M +Chaitin/M +Chaldea +Chaldean/M +Challenger/M +Chalmers +Chamberlain/M +Chambers/M +Chambersburg/M +Champaign/M +Champlain/M +Champollion/M +Chan/M +Chance/M +Chancellorsville/M +Chandigarh/M +Chandler/M +Chandon/M +Chandra/M +Chandragupta/M +Chandrasekhar/M +Chanel/M +Chaney/M +Chang/M +Changchun/M +Changsha/M +Chantilly/M +Chaplin/M +Chaplinesque +Chapman/M +Chappaquiddick/M +Chapultepec/M +Charbray/M +Chardonnay/M +Charity/M +Charlemagne/M +Charlene/M +Charles/M +Charleston/MS +Charley/M +Charlie/M +Charlotte/M +Charlottesville/M +Charlottetown/M +Charmaine/M +Charmin/M +Charolais/M +Charon/M +Chartism/M +Chartres/M +Charybdis/M +Chase/M +Chasity/M +Chateaubriand/M +Chattahoochee/M +Chattanooga/M +Chatterley/M +Chatterton/M +Chaucer/M +Chauncey/M +Chautauqua/M +Chavez/M +Chayefsky/M +Che/M +Chechen/M +Chechnya/M +Cheddar/M +Cheer/M +Cheerios/M +Cheetos/M +Cheever/M +Chekhov/M +Chekhovian +Chelsea/M +Chelyabinsk/M +Chen/M +Cheney/M +Chengdu/M +Chennai/M +Cheops/M +Cheri/M +Cherie/M +Chernenko/M +Chernobyl/M +Chernomyrdin/M +Cherokee/MS +Cherry/M +Cheryl/M +Chesapeake/M +Cheshire/M +Chester/M +Chesterfield/M +Chesterton/M +Chevalier/M +Cheviot/M +Chevrolet/M +Chevron/M +Chevy/M +Cheyenne/SM +Chi/M +Chianti/MS +Chiba/M +Chibcha/M +Chicago/M +Chicagoan/M +Chicana/M +Chicano/M +Chickasaw/MS +Chiclets/M +Chico/M +Chihuahua/MS +Chile/M +Chilean/MS +Chimborazo/M +Chimera/MS +Chimu/M +Chin/M +China/M +Chinatown/M +Chinese/M +Chinook/MS +Chipewyan/M +Chippendale/M +Chippewa/SM +Chiquita/M +Chirico/M +Chisholm/M +Chisinau/M +Chittagong/M +Chivas/M +Chloe/M +Choctaw/SM +Chomsky/M +Chongqing/M +Chopin/M +Chopra/M +Chou/M +Chretien/M +Chris/M +Christ/MS +Christa/M +Christchurch/M +Christendom/MS +Christensen/M +Christi/M +Christian/SM +Christianity/SM +Christianize +Christie/M +Christina/M +Christine/M +Christlike +Christmas/MS +Christmastide/MS +Christmastime/MS +Christoper/M +Christopher/M +Chromebook/MS +Chronicles +Chrysler/M +Chrysostom/M +Chrystal/M +Chuck/M +Chukchi/M +Chumash/M +Chung/M +Church/M +Churchill/M +Churriguera/M +Chuvash/M +Ci/M +Cicero/M +Cid/M +Cimabue/M +Cincinnati/M +Cinderella/MS +Cindy/M +CinemaScope/M +Cinerama/M +Cipro/M +Circe/M +Cisco/M +Citibank/M +Citigroup/M +Citroen/M +Cl/MV +Claiborne/M +Clair/M +Claire/M +Clairol/M +Clancy/M +Clapeyron/M +Clapton/M +Clara/M +Clare/M +Clarence/M +Clarendon/M +Clarice/M +Clarissa/M +Clark/M +Clarke/M +Clarksville/M +Claude/M +Claudette/M +Claudia/M +Claudine/M +Claudio/M +Claudius/M +Claus/M +Clausewitz/M +Clausius/M +Clay/M +Clayton/M +Clearasil/M +Clem/XM +Clemenceau/M +Clemens/M +Clement/MS +Clementine/M +Clements/M +Clemons/M +Clemson/M +Cleo/M +Cleopatra/M +Cleveland/M +Cliburn/M +Cliff/M +Clifford/M +Clifton/M +Cline/M +Clint/M +Clinton/M +Clio/M +Clive/M +Clojure/M +Clorets/M +Clorox/M +Closure/M +Clotho/M +Clouseau/M +Clovis/M +Clyde/M +Clydesdale/M +Clytemnestra/M +Cm/M +Cmdr +Co/M +Cobain/M +Cobb/M +Cochabamba/M +Cochin/M +Cochise/M +Cochran/M +Cockney/M +Cocteau/M +Cod +Cody/M +Coffey/M +Cognac/M +Cohan/M +Cohen/M +Coimbatore/M +Cointreau/M +Coke/SM +Col/M +Colbert/M +Colby/M +Cole/M +Coleen/M +Coleman/M +Coleridge/M +Colette/M +Colfax/M +Colgate/M +Colin/M +Colleen/M +Collier/M +Collin/SM +Collins/M +Colo +Cologne/M +Colombia/M +Colombian/MS +Colombo/M +Colon/M +Coloradan/SM +Colorado/M +Coloradoan +Colosseum/M +Colt/M +Coltrane/M +Columbia/M +Columbine/M +Columbus/M +Com +Comanche/MS +Combs/M +Comdr +Comintern/M +Commandment +Commons/M +Commonwealth +Communion/SM +Communism +Communist/SM +Como/M +Comoran +Comoros/M +Compaq/M +Compton/M +CompuServe/M +Comte/M +Conakry/M +Conan/M +Concepcion/M +Concetta/M +Concord/SM +Concorde/M +Condillac/M +Condorcet/M +Conestoga/M +Confederacy/M +Confederate/MS +Confucian/SM +Confucianism/MS +Confucius/M +Cong/M +Congo/M +Congolese/M +Congregational +Congregationalist/MS +Congress/MS +Congressional +Congreve/M +Conley/M +Conn/MR +Connecticut/M +Connellsville/M +Connemara/M +Conner/M +Connery/M +Connie/M +Connolly/M +Connors/M +Conrad/M +Conrail/M +Conroe/M +Conservative +Constable/M +Constance/M +Constantine/M +Constantinople/M +Constitution +Consuelo/M +Continent/M +Continental/M +Contreras/M +Conway/M +Cook/M +Cooke/M +Cooley/M +Coolidge/M +Cooper/M +Cooperstown/M +Coors/M +Copacabana/M +Copeland/M +Copenhagen/M +Copernican/M +Copernicus/M +Copland/M +Copley/M +Copperfield/M +Coppertone/M +Coppola/M +Coptic/M +Cora/M +Cordelia/M +Cordilleras/M +Cordoba/M +Corey/M +Corfu/M +Corina/M +Corine/M +Corinne/M +Corinth/M +Corinthian/MS +Corinthians/M +Coriolanus/M +Coriolis/M +Cork +Corleone/M +Cormack/M +Corneille/M +Cornelia/M +Cornelius/M +Cornell/M +Corning/M +Cornish/MS +Cornwall/M +Cornwallis/M +Coronado/M +Corot/M +Corp +Correggio/M +Corrine/M +Corsica/M +Corsican/M +Cortes/MS +Cortland/M +Corvallis/M +Corvette/M +Corvus/M +Cory/M +Cosby/M +CosmosDB/M +Cossack/M +Costco/M +Costello/M +Costner/M +Cote/M +Cotonou/M +Cotopaxi/M +Cotswold/M +Cotton/M +Coulomb/M +Coulter/M +Couperin/M +Courbet/M +Courtney/M +Cousteau/M +Coventry/SM +Covington/M +Coward/M +Cowell/M +Cowley/M +Cowper/M +Cox/M +Coy/M +Coyle/M +Cozumel/M +Cpl +Cr/MT +Crabbe/M +Craft/M +Craig/M +Cranach/M +Crane/M +Cranmer/M +Crater/M +Crawford/M +Cray/M +Crayola/M +Creation/M +Creator/M +Crecy/M +Cree/DSM +Creek/SM +Creighton/M +Creole/SM +Creon/M +Cressida/M +Crest/M +Cretaceous/M +Cretan/SM +Crete/M +Crichton/M +Crick/M +Crimea/M +Crimean/M +Criollo/M +Crisco/M +Cristina/M +Croat/SM +Croatia/M +Croatian/MS +Croce/M +Crockett/M +Croesus/M +Cromwell/M +Cromwellian/M +Cronin/M +Cronkite/M +Cronus/M +Crookes/M +Crosby/M +Cross/M +Crow/SM +Crowley/M +Crucifixion/MS +Cruikshank/M +Cruise/M +Crusades's +Crusoe/M +Crux/M +Cruz/M +Cryptozoic/M +Crystal/M +Csonka/M +Ct +Ctesiphon/M +Cthulhu/M +Cu/M +Cuba/M +Cuban/SM +Cuchulain/M +Cuisinart/M +Culbertson/M +Cullen/M +Cumberland/M +Cummings/M +Cunard/M +Cunningham/M +Cupid/M +Curacao/M +Curie/M +Curitiba/M +Currier/M +Curry/RM +Curt/M +Curtis/M +Custer/M +Cuvier/M +Cuzco/M +Cybele/M +Cyclades/M +Cyclopes/M +Cyclops/M +Cygnus/M +Cymbeline/M +Cynthia/M +Cyprian/M +Cypriot/MS +Cyprus/M +Cyrano/M +Cyril/M +Cyrillic/M +Cyrus/M +Czech/M +Czechia/M +Czechoslovak +Czechoslovakia/M +Czechoslovakian/SM +Czechs +Czerny/M +D/M +DA/M +DAR +DAT/M +DBMS/M +DC/M +DD/M +DDS/M +DDT/S +DE +DEA +DEC/SD +DH +DHS +DI +DJ +DMCA +DMD/M +DMZ +DNA/M +DOA +DOB +DOD +DOE +DOS/M +DOT +DP/SM +DPT +DST +DTP +DUI +DVD/S +DVR/SM +DWI +Dachau/M +Dacron/SM +Dada/M +Dadaism/M +Daedalus/M +Daguerre/M +Dagwood/M +Dahomey/M +Daimler/M +Daisy/M +Dakar/M +Dakota/SM +Dakotan/M +Dalai +Dale/M +Daley/M +Dali/M +Dalian/M +Dallas/M +Dalmatia/M +Dalmatian/SM +Dalton/M +Damascus/M +Dame/MN +Damian/M +Damien/M +Damion/M +Damocles/M +Damon/M +Dan/M +Dana/M +Danae/M +Danbury/M +Dane/SM +Danelaw/M +Dangerfield/M +Danial/M +Daniel/SM +Danielle/M +Daniels/M +Danish/M +Dannie/M +Danny/M +Danone/M +Dante/M +Danton/M +Danube/M +Danubian/M +Danville/M +Daphne/M +Darby/M +Darcy/M +Dardanelles/M +Dare/M +Daren/M +Darfur/M +Darin/M +Dario/M +Darius/M +Darjeeling/M +Darla/M +Darlene/M +Darling/M +Darnell/M +Darrel/M +Darrell/M +Darren/M +Darrin/M +Darrow/M +Darryl/M +Darth/M +Dartmoor/M +Dartmouth/M +Darvon/M +Darwin/M +Darwinian/M +Darwinism/SM +Darwinist +Daryl/M +Datamation +Daugherty/M +Daumier/M +Davao/M +Dave/M +Davenport/M +David/MS +Davidson/M +Davies/M +Davis/M +Davy/SM +Dawes/M +Dawkins +Dawn/M +Dawson/M +Day/M +Dayan +Dayton/M +DeGeneres/M +DeKalb/M +Deadhead/M +Dean/M +Deana/M +Deandre/M +Deann/M +Deanna/M +Deanne/M +Death/M +Debbie/M +Debby/M +Debian/M +Debora/M +Deborah/M +Debouillet/M +Debra/M +Debs/M +Debussy/M +Dec/M +Decalogue/M +Decatur/M +Decca/M +Deccan/M +December/SM +Decker/M +Dedekind/M +Dee/M +Deena/M +Deere/M +Defoe/M +Degas/M +Deidre/M +Deimos/M +Deirdre/M +Deity +Dejesus/M +Del/M +Delacroix/M +Delacruz/M +Delaney/M +Delano/M +Delaware/MS +Delawarean/SM +Delbert/M +Deleon/M +Delgado/M +Delhi/M +Delia/M +Delibes/M +Delicious/M +Delilah/M +Delilahs +Delius/M +Dell/M +Della/M +Delmar/M +Delmarva/M +Delmer/M +Delmonico/M +Delores/M +Deloris/M +Delphi/M +Delphic/M +Delphinus/M +Delta/M +Deltona/M +Dem/G +Demavend/M +Demerol/M +Demeter/M +Demetrius/M +Deming/M +Democrat/SM +Democratic +Democritus/M +Demosthenes/M +Dempsey/M +Dena/M +Denali +Deneb/M +Denebola/M +Deng/M +Denis/M +Denise/M +Denmark/M +Dennis/M +Denny/M +Denton/M +Denver/M +Deon/M +Depp/M +Derby/M +Derek/M +Derick/M +Dermot/M +Derrick/M +Derrida/M +Descartes/M +Desdemona/M +Desiree/M +Desmond/M +Detroit/M +Deuteronomy/M +Devanagari/M +Devi/M +Devin/M +Devon/M +Devonian/M +Dewar/M +Dewayne/M +Dewey/M +Dewitt/M +Dexedrine/M +Dexter/M +Dhaka/M +Dhaulagiri/M +Di/SM +DiCaprio/M +DiMaggio/M +Diaghilev/M +Dial/M +Diana/M +Diane/M +Diann/M +Dianna/M +Dianne/M +Dias +Diaspora/MS +Dick/XM +Dickens/M +Dickensian +Dickerson/M +Dickinson/M +Dickson/M +Dictaphone/SM +Diderot/M +Dido/M +Didrikson/M +Diefenbaker/M +Diego/M +Diem/M +Dietrich/M +Dijkstra/M +Dijon/M +Dilbert/MS +Dillard/M +Dillinger/M +Dillon/M +Dina/M +Dinah/M +Dino/M +Diocletian/M +Diogenes/M +Dion/M +Dionne/M +Dionysian/M +Dionysus/M +Diophantine/M +Dior/M +Dipper/M +Dir +Dirac/M +Dirichlet/M +Dirk/M +Dis/M +Disney/M +Disneyland/M +Disraeli/M +Divine/M +Diwali/M +Dix/M +Dixie/M +Dixiecrat/M +Dixieland/SM +Dixon/M +Django/M +Djibouti/M +Dmitri/M +Dnepropetrovsk/M +Dniester/M +Dobbin/M +Doberman/M +Dobro/M +Doctor +Doctorow/M +Dodge/M +Dodgson/M +Dodoma/M +Dodson/M +Doe/M +Doha/M +Dolby/M +Dole/M +Dollie/M +Dolly/M +Dolores/M +Domesday/M +Domingo/M +Dominguez/M +Dominic/M +Dominica/M +Dominican/MS +Dominick/M +Dominion +Dominique/M +Domitian/M +Don/SM +Dona/M +Donahue/M +Donald/M +Donaldson/M +Donatello/M +Donetsk/M +Donizetti/M +Donn/MR +Donna/M +Donne/M +Donnell/M +Donner/M +Donnie/M +Donny/M +Donovan/M +Dooley/M +Doolittle/M +Doonesbury/M +Doppler/M +Dora/M +Dorcas/M +Doreen/M +Dorian/M +Doric/M +Doris/M +Doritos/M +Dorothea/M +Dorothy/M +Dorset/M +Dorsey/M +Dorthy/M +Dortmund/M +Dostoevsky/M +Dot/M +Dothan/M +Dotson/M +Douala/M +Douay/M +Doubleday/M +Doug/M +Douglas/M +Douglass/M +Douro/M +Dover/M +Dow/M +Downs/M +Downy/M +Doyle/M +Dr +Draco/M +Draconian/M +Dracula/M +Drake/M +Dramamine/SM +Drambuie/M +Drano/M +Dravidian/M +Dreiser/M +Dresden/M +Drew/M +Dreyfus/M +Dristan/M +Dropbox/M +Drudge/M +Drupal/M +Dryden/M +Dschubba/M +Du +DuPont/M +Duane/M +Dubai/M +Dubcek/M +Dubhe/M +Dublin/M +Dubrovnik/M +Dubuque/M +Duchamp/M +Dudley/M +Duffy/M +Duisburg/M +Duke/M +Dulles/M +Duluth/M +Dumas/M +Dumbledore/M +Dumbo/M +Dunant/M +Dunbar/M +Duncan/M +Dundee +Dunedin/M +Dunkirk/M +Dunlap/M +Dunn/M +Dunne/M +Duracell/M +Duran/M +Durant/M +Durante/M +Durban/M +Durer/M +Durex/M +Durham/MS +Durkheim/M +Duroc/M +Durocher/M +Duse/M +Dushanbe/M +Dusseldorf/M +Dustbuster/M +Dustin/M +Dusty/M +Dutch/M +Dutchman/M +Dutchmen/M +Dutchwoman +Duvalier/M +Dvina/M +Dvorak/M +Dwayne/M +Dwight/M +Dy/M +Dyer/M +Dylan/M +DynamoDB/M +Dyson/M +Dzerzhinsky/M +Dzungaria/M +E/SM +EC +ECG/M +ECMAScript/M +EDP/M +EDT +EEC/M +EEG/M +EEO +EEOC +EFL +EFT +EKG/M +ELF/M +EM +EMT +ENE/M +EOE +EPA/M +ER +ERA +ESE/M +ESL +ESP/M +ESPN/M +ESR +EST/M +ET +ETA +ETD +EU +EULA/S +Eakins/M +Earhart/M +Earl/M +Earle/M +Earlene/M +Earline/M +Earnest/M +Earnestine/M +Earnhardt/M +Earp/M +East/SZMR +Easter/M +Eastern/R +Eastman/M +Eastwood/M +Eaton/M +Eben/M +Ebeneezer/M +Ebert/M +Ebola/M +Ebonics/M +Ebony/M +Ebro/M +Ecclesiastes/M +Eco/M +Ecstasy +Ecuador/M +Ecuadoran/SM +Ecuadorean +Ecuadorian/SM +Ed/MNX +Edam/SM +Edda/M +Eddie/M +Eddington/M +Eddy/M +Eden/M +Edgar/M +Edgardo/M +Edinburgh/M +Edison/M +Edith/M +Edmond/M +Edmonton/M +Edmund/M +Edna/M +Edsel/M +Eduardo/M +Edward/SM +Edwardian/M +Edwardo/M +Edwards/M +Edwin/M +Edwina/M +Eeyore/M +Effie/M +Efrain/M +Efren/M +Eggo/M +Egypt/M +Egyptian/MS +Egyptology/M +Ehrenberg/M +Ehrlich/M +Eichmann/M +Eiffel/M +Eileen/M +Einstein/MS +Eire/M +Eisenhower/M +Eisenstein/M +Eisner/M +Elaine/M +Elam/M +Elanor/M +Elasticsearch/M +Elastoplast/M +Elba/M +Elbe/M +Elbert/M +Elbrus/M +Eldersburg/M +Eldon/M +Eleanor/M +Eleazar/M +Electra/M +Elena/M +Elgar/M +Eli/M +Elias/M +Elijah/M +Elinor/M +Eliot/M +Elisa/M +Elisabeth/M +Elise/M +Eliseo/M +Elisha/M +Eliza/M +Elizabeth/M +Elizabethan/SM +Elizabethtown/M +Elkhart/M +Ella/M +Ellen/M +Ellesmere/M +Ellie/M +Ellington/M +Elliot/M +Elliott/M +Ellis/M +Ellison/M +Elma/M +Elmer/M +Elmira/M +Elmo/M +Elnath/M +Elnora/M +Elohim/M +Eloise/M +Eloy/M +Elroy/M +Elsa/M +Elsie/M +Elsinore/M +Eltanin/M +Elton/M +Elul/M +Elva/M +Elvia/M +Elvin/M +Elvira/M +Elvis/M +Elway/M +Elwood/M +Elyria/M +Elysee/M +Elysian/M +Elysium/SM +Emacs/M +Emanuel/M +Emerson/M +Emery/M +Emil/M +Emile/M +Emilia/M +Emilio/M +Emily/M +Eminem/M +Eminence +Emma/M +Emmanuel/M +Emmett/M +Emmy/M +Emory/M +Encarta/M +Endymion/M +Eng/M +Engels/M +England/M +English/MRS +Englishman/M +Englishmen/M +Englishwoman/M +Englishwomen/M +Enid/M +Enif/M +Eniwetok/M +Enkidu/M +Enoch/M +Enos/M +Enrico/M +Enrique/M +Enron/M +Enterprise/M +Eocene/M +Epcot/M +Ephesian/MS +Ephesus/M +Ephraim/M +Epictetus/M +Epicurean/M +Epicurus/M +Epimethius/M +Epiphany/SM +Episcopal +Episcopalian/MS +Epistle +Epsom/M +Epson/M +Epstein/M +Equuleus/M +Er/M +Erasmus/M +Erato/M +Eratosthenes/M +Erebus/M +Erector/M +Erewhon/M +Erhard/M +Eric/M +Erica/M +Erich/M +Erick/M +Ericka/M +Erickson/M +Eridanus/M +Erie/M +Erik/M +Erika/M +Erin/M +Eris/MS +Eritrea/M +Eritrean/SM +Erlang/M +Erlenmeyer/M +Erma/M +Erna/M +Ernest/M +Ernestine/M +Ernesto/M +Ernie/M +Ernst/M +Eros/MS +Errol/M +Erse/M +ErvIn/M +Erwin/M +Esau/M +Escher/M +Escherichia/M +Escondido +Eskimo/MS +Esmeralda/M +Esperanto/M +Esperanza/M +Espinoza/M +Esq/M +Esquire/MS +Essen/M +Essene/M +Essequibo/M +Essex/M +Essie/M +Establishment +Esteban/M +Estela/M +Estella/M +Estelle/M +Ester/M +Esterhazy/M +Estes/M +Esther/M +Estonia/M +Estonian/SM +Estrada/M +Ethan/M +Ethel/M +Ethelred/M +Ethernet/M +Ethiopia/M +Ethiopian/SM +Etna/M +Eton/M +Etruria/M +Etruscan/M +Etta/M +Eu/M +Eucharist/MS +Eucharistic +Euclid/M +Eugene/M +Eugenia/M +Eugenie/M +Eugenio/M +Eula/M +Euler/M +Eumenides/M +Eunice/M +Euphrates/M +Eur +Eurasia/M +Eurasian/MS +Euripides/M +Eurodollar/SM +Europa/M +Europe/M +European/MS +Eurydice/M +Eustachian/M +Eustis/M +Euterpe/M +Eva/M +Evan/SM +Evangelical +Evangelina/M +Evangeline/M +Evangelist/M +Evans/M +Evansville/M +Eve/M +Evelyn/M +Evenki/M +EverReady/M +Everest/M +Everett/M +Everette/M +Everglades/M +Evert/M +Evian/M +Evita/M +Ewing/M +Excalibur/M +Excedrin/M +Excellency/SM +Exchequer +Exercycle/M +Exocet/M +Exodus/M +Exxon/M +Eyck/M +Eyre/M +Eysenck/M +Ezekiel/M +Ezra/M +F/MD +FAA +FAQ/SM +FBI/M +FCC +FD +FDA +FDIC/M +FDR/M +FHA/M +FICA/M +FIFO +FL +FM/SM +FNMA/M +FOFL +FORTRAN/M +FPO +FSF/M +FSLIC +FTC +FUD/S +FWD +FWIW +FY +FYI +Faberge/M +Fabian/MS +Facebook/M +Faeroe/M +Fafnir/M +Fagin/M +Fahd/M +Fahrenheit/M +Fairbanks/M +Fairfield/M +Fairhope/M +Faisal/M +Faisalabad/M +Faith/M +Fajardo/M +Falasha/M +Falkland/SM +Falklands/M +Fallopian/M +Falstaff/M +Falwell/M +Fannie/M +Fanny/M +Faraday/M +Fargo/M +Farley/M +Farmer/M +Farmington/M +Farragut/M +Farrakhan/M +Farrell/M +Farrow/M +Farsi/M +Fassbinder/M +Fatah/M +Fates/M +Father/SM +Fatima/M +Fatimid/M +Faulkner/M +Faulknerian/M +Fauntleroy/M +Faust/M +Faustian/M +Faustino/M +Faustus/M +Fawkes/M +Fay/M +Faye/M +Fayetteville/M +Fe/M +Feb/M +February/SM +Fed/SM +FedEx/M +Federal/MS +Federalist/M +Federico/M +Feds/M +Felecia/M +Felice/M +Felicia/M +Felicity/M +Felipe/M +Felix/M +Fellini/M +Fenian/M +Ferber/M +Ferdinand/M +Fergus/M +Ferguson/M +Ferlinghetti/M +Fermat/M +Fermi/M +Fern/M +Fernandez/M +Fernando/M +Ferrari/M +Ferraro/M +Ferrell/M +Ferris/M +Feynman/M +Fez/M +Fiat/M +Fiberglas/M +Fibonacci/M +Fichte/M +Fidel/M +Fido/M +Fielding/M +Fields/M +Figaro/M +Figueroa/M +Fiji/M +Fijian/MS +Filipino/MS +Fillmore/M +Filofax/M +Finch/M +Finland/M +Finlay/M +Finley/M +Finn/SM +Finnbogadottir/M +Finnegan/M +Finnish/M +Fiona/M +Firebase/M +Firefox/M +Firestone/M +Fischer/M +Fisher/M +Fisk/M +Fitch/M +Fitchburg/M +Fitzgerald/M +Fitzpatrick/M +Fitzroy/M +Fizeau/M +Fla +Flagstaff/M +Flanagan/M +Flanders/M +Flathead +Flatt/M +Flaubert/M +Fleischer/M +Fleming/M +Flemish/M +Fletcher/M +Flint/M +Flintstones/M +Flo/M +Flora/M +Florence/M +Florentine/M +Flores/M +Florida/M +Floridan/M +Floridian/SM +Florine/M +Florsheim/M +Flory/M +Flossie/M +Flowers/M +Floyd/M +Flynn/M +Fm/M +Foch/M +Fokker/M +Foley/M +Folgers/M +Folsom/M +Fomalhaut/M +Fonda/M +Foosball/M +Forbes/M +Ford/M +Foreman/M +Forest/MR +Forester/M +Formica/MS +Formosa/M +Formosan/M +Forrest/M +Forster/M +Fortaleza/M +Fosse/M +Foster/M +Fotomat/M +Foucault/M +Fourier/M +Fourneyron/M +Fourth +Fowler/M +Fox/MS +Fr/MD +Fragonard/M +Fran/M +France/SM +Frances/M +Francesca/M +Francine/M +Francis/M +Francisca/M +Franciscan/MS +Francisco/M +Franck/M +Franco/M +Francois/M +Francoise/M +Francophile +Franglais/M +Frank/SM +Frankel/M +Frankenstein/M +Frankfort/M +Frankfurt/MR +Frankfurter/M +Frankie/M +Frankish +Franklin/M +Franks/M +Franny/M +Franz/M +Fraser/M +Frau/MN +Fraulein +Frazier/M +Fred/M +Freda/M +Freddie/M +Freddy/M +Frederic/M +Frederick/M +Fredericksburg/M +Fredericton/M +Fredric/M +Fredrick/M +Freeman/M +Freemason/SM +Freemasonry/SM +Freetown/M +Freida/M +Fremont/M +French/MS +Frenchman/M +Frenchmen/M +Frenchwoman/M +Frenchwomen/M +Freon/M +Fresnel/M +Fresno/M +Freud/M +Freudian/M +Frey/M +Freya/M +Fri/M +Friday/SM +Frieda/M +Friedan/M +Friedman/M +Friedmann/M +Friend/SM +Frigga/M +Frigidaire/M +Frisbee/M +Frisco/M +Frisian/MS +Frito/M +Fritz/M +Frobisher/M +Frodo/M +Froissart/M +Fromm/M +Fronde/M +Frontenac/M +Frost/M +Frostbelt/M +Frunze/M +Fry/M +Frye/M +Fuchs/M +Fuentes/M +Fugger/M +Fuji/M +Fujian/M +Fujitsu/M +Fujiwara/M +Fujiyama/M +Fukuoka/M +Fukuyama/M +Fulani/M +Fulbright/M +Fuller/M +Fullerton/M +Fulton/M +Funafuti/M +Fundy/M +Furies/M +Furman/M +Furtwangler/M +Fushun/M +Fuzhou/M +Fuzzbuster/M +G/MNRB +GA +GAO +GATT/M +GB/M +GCC/M +GDP/M +GE/M +GED +GHQ/M +GHz +GI +GIF +GIGO +GM/M +GMAT +GMO +GMT/M +GNP/M +GNU/M +GOP/M +GP/M +GPA +GPO +GPS +GPU +GSA +GTE/M +GU +GUI/M +Ga/M +Gable/M +Gabon/M +Gabonese/M +Gaborone/M +Gabriel/M +Gabriela/M +Gabrielle/M +Gacrux/M +Gadsden/M +Gaea/M +Gael/SM +Gaelic/M +Gagarin/M +Gage/M +Gaia/M +Gail/M +Gaiman/M +Gaines/M +Gainesville/M +Gainsborough/M +Galahad/SM +Galapagos/M +Galatea/M +Galatia/M +Galatians/M +Galaxy +Galbraith/M +Gale/M +Galen/M +Galibi/M +Galilean/SM +Galilee/M +Galileo/M +Gall/M +Gallagher/M +Gallegos/M +Gallic/M +Gallicism/SM +Gallo/M +Galloway/M +Gallup/M +Galois/M +Galsworthy/M +Galvani/M +Galveston/M +Gama +Gamay/M +Gambia/M +Gambian/SM +Gamble/M +Gamow/M +Gandalf/M +Gandhi/M +Gandhian/M +Ganesha/M +Ganges/M +Gangtok/M +Gansu/M +Gantry/M +Ganymede/M +Gap/M +Garbo/M +Garcia/M +Gardner/M +Gareth/M +Garfield/M +Garfunkel/M +Gargantua/M +Garibaldi/M +Garland/M +Garner/M +Garrett/M +Garrick/M +Garrison/M +Garry/M +Garth/M +Garvey/M +Gary/M +Garza/M +Gascony/M +Gasser/M +Gastonia/M +Gastroenterology +Gates/M +Gatling/M +Gatorade/M +Gatsby/M +Gatun/M +Gauguin/M +Gaul/SM +Gaulish +Gauss/M +Gaussian/M +Gautama/M +Gautier/M +Gavin/M +Gawain/M +Gay/M +Gayle/M +Gaza/M +Gaziantep/M +Gd/M +Gdansk/M +Ge/M +Geffen/M +Gehenna/M +Gehrig/M +Geiger/M +Gelbvieh/M +Geller/M +Gemini/MS +Gen/M +Gena/M +Genaro/M +Gene/M +Genesis/M +Genet/M +Geneva/M +Genevieve/M +Genghis/M +Genoa/SM +Gentoo/M +Gentry/M +Geo/M +Geoffrey/M +George/MS +Georgetown/M +Georgette/M +Georgia/M +Georgian/MS +Georgina/M +Ger/M +Gerald/M +Geraldine/M +Gerard/M +Gerardo/M +Gerber/M +Gere/M +Geritol/M +German/MS +Germanic/M +Germany/M +Geronimo/M +Gerry/M +Gershwin/M +Gertrude/M +Gestapo/SM +Gethsemane/M +Getty/M +Gettysburg/M +Gewurztraminer/M +Ghana/M +Ghanaian +Ghats/M +Ghazvanid/M +Ghent/M +Ghibelline/M +Giacometti/M +Giannini/M +Giauque/M +Gibbon/M +Gibbs/M +Gibraltar/MS +Gibson/M +Gide/M +Gideon/M +Gielgud/M +Gienah/M +Gil/M +Gila/M +Gilbert/M +Gilberto/M +Gilchrist/M +Gilda/M +Gilead/M +Giles/M +Gilgamesh/M +Gill/M +Gillespie/M +Gillette/M +Gilliam/M +Gillian/M +Gilligan/M +Gilman +Gilmore/M +Gilroy/M +Gina/M +Ginger/M +Gingrich/M +Ginny/M +Gino/M +Ginsberg/M +Ginsburg/M +Ginsu/M +Giorgione/M +Giotto/M +Giovanni/M +Giraudoux/M +Giselle/M +Gish/M +GitHub/M +Giuliani/M +Giuseppe/M +Giza/M +Gk +Gladstone/MS +Gladys/M +Glaser/M +Glasgow/M +Glass/M +Glastonbury/M +Glaswegian/SM +Glaxo/M +Gleason/M +Glen/M +Glenda/M +Glendale +Glenlivet/M +Glenn/M +Glenna/M +Gloria/M +Gloucester/M +Glover/M +Gnostic/M +Gnosticism/M +GnuPG +Goa/M +Gobi/M +God/M +Godard/M +Goddard/M +Godel/M +Godhead/M +Godiva/M +Godot/M +Godspeed/SM +Godthaab/M +Godunov/M +Godzilla/M +Goebbels/M +Goering/M +Goethals/M +Goethe/M +Goff/M +Gog/M +Gogol/M +Goiania/M +Golan/M +Golconda/M +Golda/M +Goldberg/M +Golden/M +Goldie/M +Goldilocks/M +Golding/M +Goldman/M +Goldsboro/M +Goldsmith/M +Goldwater/M +Goldwyn/M +Golgi/M +Golgotha/M +Goliath/M +Gomez/M +Gomorrah/M +Gompers/M +Gomulka/M +Gondwanaland/M +Gonzales/M +Gonzalez/M +Gonzalo/M +Good/M +Goodall/M +Goode/M +Goodman/M +Goodrich/M +Goodwill/M +Goodwin/M +Goodyear/M +Google/M +Goolagong/M +Gopher +Gorbachev/M +Gordian/M +Gordimer/M +Gordon/M +Gore/M +Goren/M +Gorey/M +Gorgas/M +Gorgon/M +Gorgonzola/M +Gorky/M +Gospel/MS +Goteborg/M +Goth/M +Gotham/M +Gothic/MS +Goths +Gouda/SM +Gould/M +Gounod/M +Governor +Goya/M +Gr/B +Grable/M +Gracchus/M +Grace/M +Graceland/M +Gracie/M +Graciela/M +Grady/M +Graffias/M +Grafton/M +Graham/M +Grahame/M +Grail/M +Grammy/M +Grampians/M +Granada/M +Grant/M +Grass/M +Graves/M +Gray/M +Grayslake/M +Grecian/M +Greece/M +Greek/SM +Greeley/M +Green/SM +Greene/M +Greenland/M +Greenlandic +Greenpeace/M +Greensboro/M +Greensleeves/M +Greenspan/M +Greenville/M +Greenwich/M +Greer/M +Greg/M +Gregg/M +Gregorian/M +Gregorio/M +Gregory/M +Grenada/M +Grenadian/MS +Grenadines/M +Grendel/M +Grenoble/M +Gresham/M +Greta/M +Gretchen/M +Gretel/M +Gretzky/M +Grey/M +Grieg/M +Griffin/M +Griffith/M +Grimes/M +Grimm/M +Grinch/M +Gris/M +Gromyko/M +Gropius/M +Gross/M +Grosz/M +Grotius/M +Grover/M +Grozny +Grumman/M +Grundy/M +Grunewald/M +Grus/M +Gruyere/SM +Guadalajara/M +Guadalcanal/M +Guadalquivir/M +Guadalupe/M +Guadeloupe/M +Guallatiri/M +Guam/M +Guamanian +Guangdong/M +Guangzhou/M +Guantanamo/M +Guarani/M +Guarnieri/M +Guatemala/M +Guatemalan/MS +Guayama/M +Guayaquil/M +Gucci/M +Guelph/M +Guernsey/MS +Guerra/M +Guerrero/M +Guevara/M +Guggenheim/M +Guiana/M +Guido +Guillermo/M +Guinea/M +Guinean/MS +Guinevere/M +Guinness/M +Guiyang/M +Guizhou/M +Guizot/M +Gujarat/M +Gujarati/M +Gujranwala/M +Gulfport/M +Gullah/M +Gulliver/M +Gumbel/M +Gunther/M +Guofeng/M +Gupta/M +Gurkha/M +Gus/M +Gustav/M +Gustavo/M +Gustavus/M +Gutenberg/M +Guthrie/M +Gutierrez/M +Guy/M +Guyana/M +Guyanese/M +Guzman/M +Gwalior/M +Gwen/M +Gwendoline/M +Gwendolyn/M +Gwyn/M +Gypsy/SM +H/M +HBO/M +HBase/M +HDD +HDMI +HDTV +HF/M +HHS +HI +HIV/M +HM +HMO/M +HMS +HOV +HP/M +HPV +HQ/M +HR +HRH +HS +HSBC/M +HST +HT +HTML/M +HTTP +HUD/M +Ha/M +Haas/M +Habakkuk/M +Haber/M +Hadar/M +Hades/M +Hadoop/M +Hadrian/M +Hafiz/M +Hagar/M +Hagerstown/M +Haggai/M +Hagiographa/M +Hague/M +Hahn/M +Haida/SM +Haifa/M +Hainan/M +Haiphong/M +Haiti/M +Haitian/MS +Hakka/M +Hakluyt/M +Hal/SM +Haldane/M +Hale/M +Haleakala/M +Haley/M +Halifax/M +Hall/M +Halley/M +Halliburton/M +Hallie/M +Hallmark/M +Halloween/MS +Hallstatt/M +Halon/M +Hals/M +Halsey/M +Ham/M +Haman/M +Hamburg/MS +Hamhung/M +Hamilcar/M +Hamill/M +Hamilton/M +Hamiltonian/M +Hamitic/M +Hamlet/M +Hamlin/M +Hammarskjold/M +Hammerstein/M +Hammett/M +Hammond/M +Hammurabi/M +Hampshire/M +Hampton/M +Hamsun/M +Han/SM +Hancock/M +Handel/M +Handy/M +Haney/M +Hanford/M +Hangul/M +Hangzhou/M +Hank/M +Hanna/M +Hannah/M +Hannibal/M +Hanoi/M +Hanover/M +Hanoverian/M +Hans/MN +Hansel/M +Hansen/M +Hanson/M +Hanuka +Hanukkah/M +Hanukkahs +Hapsburg/M +Harare/M +Harbin/M +Hardin/M +Harding/M +Hardy/M +Hargreaves/M +Harlan/M +Harlem/M +Harlequin/M +Harley/M +Harlingen/M +Harlow/M +Harmon/M +Harold/M +Harper/M +Harpy/SM +Harrell/M +Harriet/M +Harriett/M +Harrington/M +Harris/M +Harrisburg/M +Harrison/M +Harrisonburg/M +Harrods/M +Harry/M +Hart/M +Harte/M +Hartford/M +Hartline/M +Hartman/M +Harvard/M +Harvey/M +Hasbro/M +Hasidim/M +Haskell/M +Hastings/M +Hatfield/M +Hathaway/M +Hatsheput/M +Hatteras/M +Hattie/M +Hattiesburg/M +Hauptmann/M +Hausa/M +Hausdorff/M +Havana/MS +Havarti/M +Havel/M +Havoline/M +Haw +Hawaii/M +Hawaiian/SM +Hawking/M +Hawkins/M +Hawks +Hawthorne/M +Hay/SM +Hayden/M +Haydn/M +Hayek/M +Hayes/M +Haynes/M +Hays/M +Hayward/M +Haywood/M +Hayworth/M +Hazel/M +Hazleton/M +Hazlitt/M +He/M +Head/M +Hearst/M +Heath/MR +Heather/M +Heaviside/M +Heb +Hebe/M +Hebei/M +Hebert/M +Hebraic/M +Hebraism/SM +Hebrew/MS +Hebrews/M +Hebrides/M +Hecate/M +Hector/M +Hecuba/M +Heep/M +Hefner/M +Hegel/M +Hegelian/M +Hegira/M +Heidegger/M +Heidelberg/M +Heidi/M +Heifetz/M +Heilongjiang/M +Heimlich/M +Heine/M +Heineken/M +Heinlein/M +Heinrich/M +Heinz/M +Heisenberg/M +Heisman/M +Helen/M +Helena/M +Helene/M +Helga/M +Helicobacter +Helicon/M +Heliopolis/M +Helios/M +Hellene/SM +Hellenic/M +Hellenism/MS +Hellenist +Hellenistic/M +Hellenization/M +Hellenize/M +Heller/M +Hellespont/M +Hellman/M +Helmholtz/M +Heloise/M +Helsinki/M +Helvetian +Helvetius/M +Hemet/M +Hemingway/M +Henan/M +Hench/M +Henderson/M +Hendrick/MS +Hendricks/M +Hendrix/M +Henley/M +Hennessy/M +Henri/M +Henrietta/M +Henrik/M +Henry/M +Hensley/M +Henson/M +Hepburn/M +Hephaestus/M +Hepplewhite/M +Hera/M +Heracles/M +Heraclitus/M +Herakles/M +Herbart/M +Herbert/M +Herculaneum/M +Herculean +Hercules/M +Herder/M +Hereford/SM +Herero/M +Heriberto/M +Herman/M +Hermaphroditus/M +Hermes/M +Herminia/M +Hermitage/M +Hermite/M +Hermosillo/M +Hernandez/M +Herod/M +Herodotus/M +Heroku/M +Herr/MG +Herrera/M +Herrick/M +Herring/M +Herschel/M +Hersey/M +Hershel/M +Hershey/M +Hertz/M +Hertzsprung/M +Herzegovina/M +Herzl/M +Heshvan/M +Hesiod/M +Hesperia/M +Hesperus/M +Hess/M +Hesse/M +Hessian/M +Hester/M +Heston/M +Hettie/M +Hewitt/M +Hewlett/M +Heyerdahl/M +Heywood/M +Hezbollah/M +Hezekiah/M +Hf/M +Hg/M +Hialeah/M +Hiawatha/M +Hibernia/M +Hibernian +Hickman/M +Hickok/M +Hickory/M +Hicks/M +Hieronymus/M +Higashiosaka +Higgins/M +Highlander/SM +Highlands +Highness/M +Hightstown/M +Hilario/M +Hilary/M +Hilbert/M +Hilda/M +Hildebrand/M +Hilfiger/M +Hill/M +Hillary/M +Hillel/M +Hilton/M +Himalaya/SM +Himalayan +Himalayas/M +Himmler/M +Hinayana/M +Hindemith/M +Hindenburg/M +Hindi/M +Hindu/SM +Hinduism/SM +Hindustan/M +Hindustani/SM +Hines/M +Hinesville/M +Hinton/M +Hipparchus/M +Hippocrates/M +Hippocratic/M +Hiram/M +Hirobumi/M +Hirohito/M +Hiroshima/M +Hispanic/SM +Hispaniola/M +Hiss/M +Hitachi/M +Hitchcock/M +Hitler/MS +Hittite/SM +Hmong/M +Ho/M +Hobart/M +Hobbes/M +Hobbs/M +Hockney/M +Hodge/SM +Hodges/M +Hodgkin/M +Hoff/M +Hoffa/M +Hoffman/M +Hofstadter/M +Hogan/M +Hogarth/M +Hogwarts/M +Hohenlohe/M +Hohenstaufen/M +Hohenzollern/M +Hohhot/M +Hohokam/M +Hokkaido/M +Hokusai/M +Holbein/M +Holcomb/M +Holden/M +Holder/M +Holiday/M +Holiness +Holland/ZSMR +Hollander/M +Hollerith/M +Holley/M +Hollie/M +Hollis/M +Holloway/M +Holly/M +Hollywood/M +Holman/M +Holmes/M +Holocaust/M +Holocene/M +Holst/M +Holstein/SM +Holt/M +Homer/M +Homeric/M +Hon +Honda/M +Honduran/MS +Honduras/M +Honecker/M +Honeywell/M +Hong +Honiara/M +Honolulu/M +Honorable +Honshu/M +Hood/M +Hooke/RM +Hooker/M +Hooper/M +Hoosier/MS +Hooters/M +Hoover/MS +Hope/M +Hopewell/M +Hopi/SM +Hopkins/M +Hopper/M +Horace/M +Horacio/M +Horatio/M +Hormel/M +Hormuz/M +Horn/M +Hornblower/M +Horne/M +Horowitz/M +Horthy/M +Horton/M +Horus/M +Hosea/M +Host/SM +Hotpoint/M +Hottentot/SM +Houdini/M +Houma/M +House/M +Housman/M +Houston/M +Houyhnhnm/M +Hovhaness/M +Howard/M +Howe/M +Howell/MS +Howells/M +Howrah +Hoyle/M +Hrothgar/M +Hts +Huang/M +Hubbard/M +Hubble/M +Hubei/M +Huber/M +Hubert/M +Huck/M +Huddersfield +Hudson/M +Huerta/M +Huey/M +Huff/M +Huffman/M +Huggins/M +Hugh/MS +Hughes/M +Hugo/M +Huguenot/MS +Hui/M +Huitzilopotchli/M +Hull/M +Humberto/M +Humboldt/M +Hume/M +Hummel/M +Hummer/M +Humphrey/SM +Humvee/M +Hun/SM +Hunan/M +Hung/M +Hungarian/SM +Hungary/M +Hunspell/M +Hunt/MR +Hunter/M +Huntington/M +Huntley/M +Huntsville/M +Hurd/M +Hurley/M +Huron/M +Hurst/M +Hus/M +Hussein/M +Husserl/M +Hussite/M +Huston/M +Hutchinson/M +Hutton/M +Hutu/M +Huxley/M +Huygens/M +Hyades/M +Hyde/M +Hyderabad/M +Hydra/M +Hymen/M +Hyperion/M +Hyundai/M +Hz/M +I'd +I'll +I'm +I've +I/M +IA +IBM/M +ICBM/SM +ICC +ICU +ID/SM +IDE +IE +IED +IEEE +IKEA/M +IL +IMF/M +IMHO +IMNSHO +IMO +IN +ING/M +INRI +INS +IOU/M +IP +IPA +IPO +IQ/M +IRA/SM +IRC +IRS/M +ISBN +ISIS +ISO/M +ISP +ISS +IT +IUD +IV/SM +IVF +Ia +Iaccoca/M +Iago/M +Ian/M +Iapetus/M +Ibadan/M +Iberia/M +Iberian/M +Ibiza/M +Iblis/M +Ibo/M +Ibsen/M +Icahn/M +Icarus/M +Ice +Iceland/MRZ +Icelander/M +Icelandic/M +Ida/M +Idaho/SM +Idahoan/MS +Idahoes +Ieyasu/M +Ignacio/M +Ignatius/M +Igor/M +Iguassu/M +Ijsselmeer/M +Ike/M +Ikhnaton/M +Ila/M +Ilene/M +Iliad/SM +Ill +Illinois/M +Illinoisan/MS +Illuminati/M +Ilyushin/M +Imelda/M +Imhotep/M +Imodium/M +Imogene/M +Imus/M +In/M +Ina/M +Inc +Inca/SM +Inchon/M +Incorporated +Ind +Independence/M +India/M +Indian/MS +Indiana/M +Indianan/SM +Indianapolis/M +Indianian +Indies/M +Indio/M +Indira/M +Indochina/M +Indochinese/M +Indonesia/M +Indonesian/SM +Indore/M +Indra/M +Indus/M +Indy/SM +Ines/M +Inez/M +Inge/M +Inglewood +Ingram/M +Ingres/M +Ingrid/M +Innocent/M +Innsbruck +Inonu/M +Inquisition/M +Inst +Instagram/M +Instamatic/M +Intel/M +Intelsat/M +Internationale/M +Internet/SM +Interpol/M +Inuit/MS +Inuktitut/M +Invar/M +Io/M +Ionesco/M +Ionian/MS +Ionic/SM +Iowa/SM +Iowan/MS +Iphigenia/M +Ipswich +Iqaluit/M +Iqbal/M +Iquitos/M +Ir/M +Ira/M +Iran/M +Iranian/SM +Iraq/M +Iraqi/MS +Ireland/M +Irene/M +Iris/M +Irish/MR +Irishman/M +Irishmen/M +Irishwoman/M +Irishwomen/M +Irkutsk/M +Irma/M +Iroquoian/SM +Iroquois/M +Irrawaddy/M +Irtish/M +Irvin/M +Irvine/M +Irving/M +Irwin/M +Isaac/M +Isabel/M +Isabela/M +Isabella/M +Isabelle/M +Isaiah/M +Iscariot/M +Isfahan/M +Isherwood/M +Ishim/M +Ishmael/M +Ishtar/M +Isiah/M +Isidro/M +Isis/M +Islam/MS +Islamabad/M +Islamic/M +Islamism/M +Islamist/M +Islamophobia +Islamophobic +Ismael/M +Ismail/M +Isolde/M +Ispell/M +Israel/SM +Israeli/SM +Israelite/M +Issac/M +Issachar/M +Istanbul/M +Isuzu/M +It +Itaipu/M +Ital +Italian/SM +Italianate +Italy/M +Itasca/M +Ithaca/M +Ithacan/M +Ito/M +Iva/M +Ivan/M +Ivanhoe/M +Ives/M +Ivorian +Ivory/M +Ivy/M +Iyar/M +Izaak/M +Izanagi/M +Izanami/M +Izhevsk/M +Izmir/M +Izod/M +Izvestia/M +J/MD +JCS +JD +JFK/M +JP +JPEG +JV +Jack/M +Jackie/M +Jacklyn/M +Jackson/M +Jacksonian/M +Jacksonville/M +Jacky/M +Jaclyn/M +Jacob/SM +Jacobean/M +Jacobi/M +Jacobin/M +Jacobite/M +Jacobs/M +Jacobson/M +Jacquard/M +Jacqueline/M +Jacquelyn/M +Jacques/M +Jacuzzi/M +Jagger/M +Jagiellon/M +Jaguar/M +Jahangir/M +Jaime/M +Jain/M +Jainism/M +Jaipur/M +Jakarta/M +Jake/M +Jamaal/M +Jamaica/M +Jamaican/SM +Jamal/M +Jamar/M +Jame/SM +Jamel/M +James/M +Jamestown/M +Jami/M +Jamie/M +Jan/M +Jana/M +Janacek/M +Jane/M +Janell/M +Janelle/M +Janesville/M +Janet/M +Janette/M +Janice/M +Janie/M +Janine/M +Janis/M +Janissary/M +Janjaweed/M +Janna/M +Jannie/M +Jansen/M +Jansenist/M +January/SM +Janus/M +Jap/SM +Japan/M +Japanese/MS +Japura/M +Jared/M +Jarlsberg/M +Jarred/M +Jarrett/M +Jarrod/M +Jarvis/M +Jasmine/M +Jason/M +Jasper/M +Jataka/M +Java/SM +JavaScript/M +Javanese/M +Javier/M +Jaxartes/M +Jay/M +Jayapura/M +Jayawardene/M +Jaycee/MS +Jaycees/M +Jayne/M +Jayson/M +Jean/M +Jeanette/M +Jeanie/M +Jeanine/M +Jeanne/M +Jeannette/M +Jeannie/M +Jeannine/M +Jed/M +Jedi/M +Jeep/M +Jeeves/M +Jeff/M +Jefferey/M +Jefferson/M +Jeffersonian/M +Jeffery/M +Jeffrey/M +Jeffry/M +Jehoshaphat/M +Jehovah/M +Jekyll/M +Jenifer/M +Jenkins/M +Jenna/M +Jenner/M +Jennie/M +Jennifer/M +Jennings/M +Jenny/M +Jensen/M +Jephthah/M +Jerald/M +Jeremiah/M +Jeremiahs +Jeremy/M +Jeri/M +Jericho/M +Jermaine/M +Jeroboam/M +Jerold/M +Jerome/M +Jerri/M +Jerrod/M +Jerrold/M +Jerry/M +Jersey/MS +Jerusalem/M +Jess/M +Jesse/M +Jessica/M +Jessie/M +Jesuit/MS +Jesus/M +Jetway/M +Jew/SM +Jewel/M +Jewell/M +Jewess/MS +Jewish/PM +Jewry/M +Jezebel/SM +Jiangsu/M +Jiangxi/M +Jidda/M +Jilin/M +Jill/M +Jillian/M +Jim/M +Jimenez/M +Jimmie/M +Jimmy/M +Jinan/M +Jinnah/M +Jinny/M +Jivaro/M +Jo/M +Joan/M +Joann/M +Joanna/M +Joanne/M +Joaquin/M +Job/SM +Jobs/M +Jocasta/M +Jocelyn/M +Jock/M +Jockey/M +Jodi/M +Jodie/M +Jody/M +Joe/M +Joel/M +Joey/M +Jogjakarta/M +Johann/M +Johanna/M +Johannes/M +Johannesburg/M +John/SM +Johnathan/M +Johnathon/M +Johnie/M +Johnnie/M +Johnny/M +Johns/M +Johnson/M +Johnston/M +Johnstown/M +Jolene/M +Jolson/M +Jon/M +Jonah/M +Jonahs +Jonas/M +Jonathan/M +Jonathon/M +Jones/M +Jonesboro/M +Joni/M +Jonson/M +Joplin/M +Jordan/M +Jordanian/MS +Jorge/M +Jose/M +Josef/M +Josefa/M +Josefina/M +Joseph/M +Josephine/M +Josephs +Josephson/M +Josephus/M +Josh/M +Joshua/M +Josiah/M +Josie/M +Josue/M +Joule/M +Jove/M +Jovian/M +Joy/M +Joyce/M +Joycean/M +Joyner/M +Jpn +Jr/M +Juan/M +Juana/M +Juanita/M +Juarez/M +Jubal/M +Judaeo +Judah/M +Judaic +Judaical +Judaism/MS +Judas/MS +Judd/M +Jude/M +Judea/M +Judges +Judith/M +Judson/M +Judy/M +Juggernaut/M +Jul +Jules/M +Julia/M +Julian/M +Juliana/M +Julianne/M +Julie/M +Juliet/M +Juliette/M +Julio/M +Julius/M +Julliard/M +July/SM +Jun/M +June/SM +Juneau/M +Jung/M +Jungfrau/M +Jungian/M +Junior/SM +Junker/SM +Juno/M +Jupiter/M +Jurassic/M +Jurua/M +Justice/M +Justin/M +Justine/M +Justinian/M +Jutland/M +Juvenal/M +K/SMNGJ +KB/M +KC +KFC/M +KGB/M +KIA +KKK/M +KO/M +KP +KS +KY +Kaaba/M +Kabul/M +Kafka/M +Kafkaesque/M +Kagoshima/M +Kahlua/M +Kahului/M +Kaifeng/M +Kailua/M +Kaiser/MS +Kaitlin/M +Kalahari/M +Kalamazoo/M +Kalashnikov/M +Kalb/M +Kalevala/M +Kalgoorlie/M +Kali/M +Kalmyk/M +Kama/M +Kamchatka/M +Kamehameha/M +Kampala/M +Kampuchea/M +Kan/SM +Kanchenjunga/M +Kandahar/M +Kandinsky/M +Kane/M +Kaneohe/M +Kankakee/M +Kannada/M +Kano/M +Kanpur/M +Kansan/MS +Kansas/M +Kant/M +Kantian/M +Kaohsiung/M +Kaposi/M +Kara/M +Karachi/M +Karaganda/M +Karakorum/M +Karamazov/M +Kareem/M +Karen/M +Karenina/M +Kari/M +Karin/M +Karina/M +Karl/M +Karla/M +Karloff/M +Karo/M +Karol/M +Karroo/M +Karyn/M +Kasai/M +Kasey/M +Kashmir/SM +Kasparov/M +Kate/M +Katelyn/M +Katharine/M +Katherine/M +Katheryn/M +Kathiawar/M +Kathie/M +Kathleen/M +Kathmandu/M +Kathrine/M +Kathryn/M +Kathy/M +Katie/M +Katina/M +Katmai/M +Katowice/M +Katrina/M +Katy/M +Kauai/M +Kaufman/M +Kaunas/M +Kaunda/M +Kawabata/M +Kawasaki/M +Kay/M +Kaye/M +Kayla/M +Kazakh/M +Kazakhs +Kazakhstan/M +Kazan/M +Kazantzakis/M +Kb/M +Keaton/M +Keats/M +Keck/M +Keenan/M +Keewatin/M +Keillor/M +Keisha/M +Keith/M +Keller/M +Kelley/M +Kelli/M +Kellie/M +Kellogg/M +Kelly/M +Kelsey/M +Kelvin/M +Kemerovo/M +Kemp/M +Kempis/M +Ken/M +Kendall/M +Kendra/M +Kendrick/M +Kenmore/M +Kennan/M +Kennedy/M +Kenneth/M +Kennewick/M +Kennith/M +Kenny/M +Kenosha/M +Kent/M +Kenton/M +Kentuckian/MS +Kentucky/M +Kenya/M +Kenyan/SM +Kenyatta/M +Kenyon/M +Keogh/M +Keokuk/M +Kepler/M +Kerensky/M +Keri/M +Kermit/M +Kern/M +Kerouac/M +Kerr/M +Kerri/M +Kerry/M +Kettering/M +Keven/M +Kevin/M +Kevlar/M +Kevorkian/M +Kewpie/M +Key/M +Keynes/M +Keynesian/M +Khabarovsk/M +Khachaturian/M +Khalid/M +Khan/M +Kharkov/M +Khartoum/M +Khayyam/M +Khazar/M +Khmer/M +Khoikhoi/M +Khoisan/M +Khomeini/M +Khorana/M +Khrushchev/M +Khufu/M +Khulna/M +Khwarizmi/M +Khyber/M +Kickapoo/M +Kidd/M +Kiel/M +Kierkegaard/M +Kieth/M +Kiev/M +Kigali/M +Kikuyu/M +Kilauea/M +Kilimanjaro/M +Killeen/M +Kilroy/M +Kim/M +Kimberley/M +Kimberly/M +King/M +Kingsport/M +Kingston/M +Kingstown/M +Kinko's +Kinney/M +Kinsey/M +Kinshasa/M +Kiowa/MS +Kip/M +Kipling/M +Kirby/M +Kirchhoff/M +Kirchner/M +Kirghistan/M +Kirghiz/M +Kirghizia/M +Kiribati/M +Kirinyaga/M +Kirk/M +Kirkland/M +Kirkpatrick/M +Kirov/M +Kirsten/M +Kisangani/M +Kishinev/M +Kislev/M +Kissimmee/M +Kissinger/M +Kit/M +Kitakyushu/M +Kitchener/M +Kitty/M +Kiwanis/M +Klan/M +Klansman/M +Klaus/M +Klee/M +Kleenex/MS +Klein/M +Klimt/M +Kline/M +Klingon/M +Klondike/MS +Kmart/M +Knapp/M +Knesset/M +Kngwarreye/M +Knickerbocker/M +Knievel/M +Knight/M +Knopf/M +Knossos/M +Knowles/M +Knox/M +Knoxville/M +Knudsen/M +Knuth/M +Knuths +Kobe/M +Koch/M +Kochab/M +Kodachrome/M +Kodak/M +Kodaly/M +Kodiak/M +Koestler/M +Kohinoor/M +Kohl/M +Koizumi/M +Kojak/M +Kokomo/M +Kolyma/M +Kommunizma/M +Kong/M +Kongo/M +Konrad/M +Koontz/M +Koppel/M +Korea/M +Korean/SM +Kornberg/M +Kory/M +Korzybski/M +Kosciusko/M +Kossuth/M +Kosygin/M +Kotlin/M +Koufax/M +Kowloon/M +Kr/M +Kraft/M +Krakatoa/M +Krakow/M +Kramer/M +Krasnodar/M +Krasnoyarsk/M +Krebs/M +Kremlin/M +Kremlinologist +Kremlinology +Kresge/M +Kringle/M +Kris/M +Krishna/M +Krishnamurti/M +Krista/M +Kristen/M +Kristi/M +Kristie/M +Kristin/M +Kristina/M +Kristine/M +Kristopher/M +Kristy/M +Kroc/M +Kroger/M +Kronecker/M +Kropotkin/M +Kruger/M +Krugerrand/M +Krupp/M +Krystal/M +Kshatriya/M +Kublai/M +Kubrick/M +Kuhn/M +Kuibyshev/M +Kulthumm/M +Kunming/M +Kuomintang/M +Kurd/M +Kurdish/M +Kurdistan/M +Kurosawa/M +Kurt/M +Kurtis/M +Kusch/M +Kutuzov/M +Kuwait/M +Kuwaiti/SM +Kuznets/M +Kuznetsk/M +Kwakiutl/M +Kwan/M +Kwangju/M +Kwanzaa/MS +Ky/MH +Kyle/M +Kyoto/M +Kyrgyzstan/M +Kyushu/M +L'Amour/M +L'Enfant +L'Oreal/M +L'Ouverture/M +L/MN +LA +LAN/M +LBJ/M +LC +LCD/M +LCM +LDC +LED/M +LG/M +LGBT +LIFO +LL +LLB/M +LLD/M +LNG +LOGO +LP/M +LPG +LPN/SM +LSAT +LSD/M +LVN +La/SM +Lab +Laban/M +Labrador/SM +Labradorean +Lacey/M +Lachesis/M +Lactobacillus +Lacy/M +Ladoga/M +Ladonna/M +Lady/M +Ladyship/MS +Lafayette/M +Lafitte/M +Lagos/M +Lagrange/M +Lagrangian/M +Lahore/M +Laius/M +Lajos/M +Lakeisha/M +Lakeland/M +Lakewood +Lakisha/M +Lakota/M +Lakshmi/M +Lamaism/SM +Lamar/M +Lamarck/M +Lamaze/M +Lamb/M +Lambert/M +Lamborghini/M +Lambrusco/M +Lamentations +Lamont/M +Lana/M +Lanai/M +Lancashire/M +Lancaster/M +Lance/M +Lancelot/M +Land/M +Landon/M +Landry/M +Landsat/M +Landsteiner/M +Lane/M +Lang/M +Langerhans/M +Langland/M +Langley/M +Langmuir/M +Lanka/M +Lankan/M +Lanny/M +Lansing/M +Lanzhou/M +Lao/SM +Laocoon/M +Laos/M +Laotian/SM +Laplace/M +Laplacian +Lapland/MR +Lapp/SM +Lara/M +Laramie/M +Lardner/M +Laredo/M +Larousse/M +Larry/M +Lars/MN +Larsen/M +Larson/M +Lascaux/M +Lassa/M +Lassen/M +Lassie/M +Lat/M +Latasha/M +Lateran/M +Latham/M +Latin/MRS +Latina +Latino/SM +Latinx +Latisha/M +Latonya/M +Latoya/M +Latrobe/M +Latvia/M +Latvian/MS +Laud/MR +Lauder/M +Laue/M +Laundromat/M +Laura/M +Laurasia/M +Laurel/M +Lauren/M +Laurence/M +Laurent/M +Lauri/M +Laurie/M +Laval/M +Lavern/M +Laverne/M +Lavoisier/M +Lavonne/M +Lawanda/M +Lawrence/M +Lawson/M +Lawton/M +Layamon/M +Layla/M +Layton/M +Lazaro/M +Lazarus/M +Le/SM +Lea/M +Leach/M +Leadbelly/M +Leah/M +Leakey/M +Lean/M +Leander/M +Leann/M +Leanna/M +Leanne/M +Lear/M +Learjet/M +Leary/M +Leavenworth/M +Lebanese/M +Lebanon/M +Lebesgue/M +Leblanc/M +Leda/M +Lederberg/M +Lee/M +Leeds/M +Leesburg/M +Leeuwenhoek/M +Leeward/M +Left +Legendre/M +Leger/M +Leghorn/M +Lego/M +Legree/M +Lehman/M +Leibniz/M +Leicester/SM +Leiden/M +Leif/M +Leigh/M +Leila/M +Leipzig/M +Lela/M +Leland/M +Lelia/M +Lemaitre/M +Lemuel/M +Lemuria/M +Len/M +Lena/M +Lenard/M +Lenin/M +Leningrad/M +Leninism/M +Leninist/M +Lennon/M +Lenny/M +Leno/M +Lenoir/M +Lenora/M +Lenore/M +Lent/SMN +Lenten/M +Leo/SM +Leola/M +Leominster/M +Leon/M +Leona/M +Leonard/M +Leonardo/M +Leoncavallo/M +Leonel/M +Leonid/M +Leonidas/M +Leonor/M +Leopold/M +Leopoldo/M +Lepidus/M +Lepke/M +Lepus/M +Lerner/M +Leroy/M +Les/M +Lesa/M +Lesley/M +Leslie/M +Lesotho/M +Lesseps/M +Lessie/M +Lester/M +Lestrade/M +Leta/M +Letha/M +Lethe/M +Leticia/M +Letitia/M +Letterman/M +Levant/M +Levesque/M +Levi/SM +Leviathan/M +Levine/M +Leviticus/M +Levitt/M +Levy/M +Lew/M +Lewinsky/M +Lewis/M +Lewiston/M +Lewisville/M +Lexington/M +Lexus/M +Lhasa/MS +Lhotse/M +Li/MY +Liaoning/M +Libby/M +Liberace/M +Liberal +Liberia/M +Liberian/SM +Libra/MS +LibreOffice/M +Libreville/M +Librium/M +Libya/M +Libyan/SM +Lichtenstein/M +Lidia/M +Lie/M +Lieberman/M +Liebfraumilch/M +Liechtenstein/ZMR +Liechtensteiner/M +Liege/M +Lieut +Lila/M +Lilia/M +Lilian/M +Liliana/M +Lilith/M +Liliuokalani/M +Lille/M +Lillian/M +Lillie/M +Lilliput/M +Lilliputian/MS +Lilly/M +Lilongwe/M +Lily/M +Lima/M +Limbaugh/M +Limbo +Limburger/M +Limoges/M +Limousin/M +Limpopo/M +Lin/M +Lina/M +Lincoln/MS +Lind/M +Linda/M +Lindbergh/M +Lindsay/M +Lindsey/M +Lindy/M +Linnaeus/M +Linotype/M +Linton/M +Linus/M +Linux/MS +Linwood/M +Lionel/M +Lipizzaner/M +Lippi/M +Lippmann/M +Lipscomb/M +Lipton/M +Lisa/M +Lisbon/M +Lissajous/M +Lister/M +Listerine/M +Liston/M +Liszt/M +Lithuania/M +Lithuanian/MS +Little/M +Litton/M +Livermore/M +Liverpool/M +Liverpudlian/SM +Livia/M +Livingston/M +Livingstone/M +Livonia/M +Livy/M +Liz/M +Liza/M +Lizzie/M +Lizzy/M +Ljubljana/M +Llewellyn/M +Lloyd/M +Ln +Loafer/SM +Lobachevsky/M +Lochinvar/M +Locke/M +Lockean/M +Lockheed/M +Lockwood/M +Lodge/M +Lodi/M +Lodz/M +Loewe/M +Loewi/M +Loews/M +Logan/M +Lohengrin/M +Loire/M +Lois/M +Loki/M +Lola/M +Lolita/M +Lollard/M +Lollobrigida/M +Lombard/M +Lombardi/M +Lombardy/M +Lome/M +Lompoc/M +Lon/M +London/MRZ +Londoner/M +Long/M +Longfellow/M +Longmont/M +Longstreet/M +Longueuil +Longview/M +Lonnie/M +Lopez/M +Lora/M +Lorain/M +Loraine/M +Lord/SM +Lordship/SM +Lorelei/M +Loren/M +Lorena/M +Lorene/M +Lorentz/M +Lorentzian +Lorenz/M +Lorenzo/M +Loretta/M +Lori/M +Lorie/M +Lorna/M +Lorraine/M +Lorre/M +Lorrie/M +Los +Lot/M +Lothario/SM +Lott/M +Lottie/M +Lou/M +Louella/M +Louie/M +Louis/M +Louisa/M +Louise/M +Louisiana/M +Louisianan/MS +Louisianian/MS +Louisville/M +Lourdes/M +Louvre/M +Love/M +Lovecraft/M +Lovelace/M +Lowe/M +Lowell/M +Lowenbrau/M +Lowery/M +Lowlands +Loyang/M +Loyd/M +Loyola/M +Lr +Lt +Ltd +Lu/M +Luanda/M +Luann/M +Lubavitcher/M +Lubbock/M +Lubumbashi/M +Lucas/M +Luce/M +Lucia/M +Lucian/M +Luciano/M +Lucien/M +Lucifer/M +Lucile/M +Lucille/M +Lucinda/M +Lucio/M +Lucite/SM +Lucius/M +Lucknow/M +Lucretia/M +Lucretius/M +Lucy/M +Luddite/MS +Ludhiana/M +Ludwig/M +Luella/M +Lufthansa/M +Luftwaffe/M +Luger/M +Lugosi/M +Luigi/M +Luis/M +Luisa/M +Luke/M +Lula/M +Lully/M +Lulu/M +Lumiere/M +Luna/M +Lupe/M +Lupercalia/M +Lupus/M +Luria/M +Lusaka/M +Lusitania/M +Luther/M +Lutheran/SM +Lutheranism/MS +Luvs/M +Luxembourg/ZMR +Luxembourger/M +Luxembourgian +Luz/M +Luzon/M +Lvov/M +LyX/M +Lyallpur +Lycra/M +Lycurgus/M +Lydia/M +Lydian/SM +Lyell/M +Lyle/M +Lyly/M +Lyman/M +Lyme/M +Lynch/M +Lynchburg/M +Lynda/M +Lyndon/M +Lynette/M +Lynn/M +Lynne/M +Lynnette/M +Lyon/SM +Lyons/M +Lyra/M +Lysenko/M +Lysistrata/M +Lysol/M +M/SMGB +MA/M +MASH +MB/M +MBA/M +MC +MCI/M +MD/M +MDT +ME +MEGO/S +MFA/M +MGM/M +MHz +MI/M +MIA +MIDI/M +MIPS +MIRV +MIT/M +MM +MN +MO +MOOC +MP/M +MPEG +MRI/M +MS/M +MSG/M +MST/M +MSW +MT/M +MTV/M +MVP/M +MW +Maalox/M +Mabel/M +Mable/M +Mac/M +MacArthur/M +MacBride/M +MacDonald/M +MacLeish/M +Macao/M +Macaulay/M +Macbeth/M +Maccabees +Maccabeus/M +Mace/M +Macedon/M +Macedonia/M +Macedonian/SM +Mach/M +Machiavelli/M +Machiavellian/M +Macias/M +Macintosh/M +Mack/M +Mackenzie/M +Mackinac/M +Mackinaw/M +Macmillan/M +Macon/M +Macumba/M +Macy/M +Madagascan/SM +Madagascar/M +Madam +Madden/M +Maddox/M +Madeira/SM +Madeleine/M +Madeline/M +Madelyn/M +Madera/M +Madge/M +Madison/M +Madonna/SM +Madras/M +Madrid/M +Madurai/M +Mae/M +Maeterlinck/M +Mafia/MS +Mafioso/M +Magdalena/M +Magdalene/M +Magellan/M +Magellanic/M +Maggie/M +Maghreb/M +Magi +Maginot/M +Magnificat +Magnitogorsk/M +Magog/M +Magoo/M +Magritte/M +Magsaysay/M +Magus +Magyar/SM +Mahabharata/M +Maharashtra/M +Mahavira/M +Mahayana/M +Mahayanist/M +Mahdi/M +Mahfouz/M +Mahican/SM +Mahler/M +Mai/M +Maidenform/M +Maigret/M +Mailer/M +Maillol/M +Maiman/M +Maimonides/M +Maine/MZR +Mainer/M +Maisie/M +Maitreya/M +Maj +Majesty +Major/M +Majorca/M +Majuro/M +Makarios/M +Maker/M +Malabar/M +Malabo/M +Malacca/M +Malachi/M +Malagasy/M +Malamud/M +Malaprop/M +Malawi/M +Malawian/SM +Malay/MS +Malaya/M +Malayalam/M +Malayan/MS +Malaysia/M +Malaysian/MS +Malcolm/M +Maldive/MS +Maldives/M +Maldivian/MS +Maldonado/M +Male/M +Mali/M +Malian/SM +Malibu/M +Malinda/M +Malinowski/M +Mallarme/M +Mallomars/M +Mallory/M +Malone/M +Malory/M +Malplaquet/M +Malraux/M +Malta/M +Maltese/M +Malthus/M +Malthusian/SM +Mameluke/M +Mamet/M +Mamie/M +Mamore/M +Man/M +Managua/M +Manama/M +Manasseh/M +Manchester/M +Manchu/SM +Manchuria/M +Manchurian/M +Mancini/M +Mancunian/MS +Mandalay/M +Mandarin/M +Mandela/M +Mandelbrot/M +Mandeville/M +Mandingo/M +Mandrell/M +Mandy/M +Manet/M +Manfred/M +Manhattan/SM +Mani/M +Manichean/M +Manila/SM +Manitoba/M +Manitoulin/M +Mankato/M +Manley/M +Mann/GM +Mannheim/M +Manning/M +Mansfield/M +Manson/M +Manteca/M +Mantegna/M +Mantle/M +Manuel/M +Manuela/M +Manx/M +Mao/M +Maoism/SM +Maoist/SM +Maori/MS +Mapplethorpe/M +Maputo/M +Mar/SM +Mara/M +Maracaibo/M +Marat/M +Maratha/M +Marathi/M +Marathon/M +Marc/M +Marceau/M +Marcel/M +Marcelino/M +Marcella/M +Marcelo/M +March/MS +Marci/M +Marcia/M +Marciano/M +Marcie/M +Marco/MS +Marconi/M +Marcos/M +Marcus/M +Marcuse +Marcy/M +Marduk/M +Margaret/M +Margarita/M +Margarito/M +Marge/M +Margery/M +Margie/M +Margo/M +Margot +Margret/M +Margrethe/M +Marguerite/M +Mari/SM +Maria/M +MariaDB/M +Marian/M +Mariana/SM +Marianas/M +Marianne/M +Mariano/M +Maribel/M +Maricela/M +Marie/M +Marietta/M +Marilyn/M +Marin/M +Marina/M +Marine/SM +Mario/M +Marion/M +Maris/M +Marisa/M +Marisol/M +Marissa/M +Maritain/M +Maritza/M +Mariupol +Marius/M +Marjorie/M +Marjory/M +Mark/SM +Markab/M +Markham/M +Markov/M +Marks/M +Marla/M +Marlboro/M +Marlborough/M +Marlene/M +Marley/M +Marlin/M +Marlon/M +Marlowe/M +Marmara/M +Marne/M +Maronite/M +Marple/M +Marquesas/M +Marquette/M +Marquez/M +Marquis/M +Marquita/M +Marrakesh/M +Marriott/M +Mars/MS +Marsala/M +Marseillaise/MS +Marseilles/M +Marsh/M +Marsha/M +Marshall/M +Marta/M +Martel/M +Martha/M +Martial/M +Martian/SM +Martin/M +Martina/M +Martinez/M +Martinique/M +Marty/M +Marva/M +Marvell/M +Marvin/M +Marx/M +Marxian +Marxism/SM +Marxist/SM +Mary/M +Maryann/M +Maryanne/M +Maryellen/M +Maryland/MR +Marylander/M +Marylou/M +Marysville/M +Masada/M +Masai/M +Masaryk/M +Mascagni/M +Masefield/M +Maserati/M +Maseru/M +Mashhad/M +Mason/MS +Masonic/M +Masonite/M +Mass/MS +Massachusetts/M +Massasoit/M +Massenet/M +Massey/M +Master/S +MasterCard/M +Masters/M +Mather/M +Matheson/M +Mathew/SM +Mathews/M +Mathewson/M +Mathias/M +Mathis/M +Matilda/M +Matisse/M +Matlab/M +Matt/M +Mattel/M +Matterhorn/M +Matthew/SM +Matthews/M +Matthias/M +Mattie/M +Maud/M +Maude/M +Maugham/M +Maui/M +Mauldin/M +Maupassant/M +Maura/M +Maureen/M +Mauriac/M +Maurice/M +Mauricio/M +Maurine/M +Mauritania/M +Mauritanian/SM +Mauritian/SM +Mauritius/M +Mauro/M +Maurois/M +Mauryan/M +Mauser/M +Mavis/M +Max/M +Maximilian/M +Maxine/M +Maxwell/M +May/SMR +Maya/SM +Mayan/MS +Mayer/M +Mayfair/M +Mayflower/M +Maynard/M +Mayo/M +Maypole +Mayra/M +Mays/M +Maytag/M +Mazama/M +Mazarin/M +Mazatlan/M +Mazda/M +Mazola/M +Mazzini/M +Mb/M +Mbabane/M +Mbini/M +McAdam/M +McAllen/M +McBride/M +McCain/M +McCall/M +McCarthy/M +McCarthyism/M +McCartney/M +McCarty/M +McClain/M +McClellan/M +McClure/M +McConnell/M +McCormick/M +McCoy/M +McCray/M +McCullough/M +McDaniel/M +McDonald/M +McDonnell/M +McDowell/M +McEnroe/M +McFadden/M +McFarland/M +McGee/M +McGovern/M +McGowan/M +McGuffey/M +McGuire/M +McHenry/M +McIntosh/M +McIntyre/M +McJob +McKay/M +McKee/M +McKenzie/M +McKinley/M +McKinney/M +McKnight/M +McLaughlin/M +McLean/M +McLeod/M +McLuhan/M +McMahon/M +McMillan/M +McNamara/M +McNaughton/M +McNeil/M +McPherson/M +McQueen/M +McVeigh/M +Md/M +Me +Mead/M +Meade/M +Meadows/M +Meagan/M +Meany/M +Mecca/MS +Medan/M +Medea/M +Medellin/M +Medford/M +Media/M +Medicaid/SM +Medicare/SM +Medici/M +Medina/M +Mediterranean/MS +Medusa/M +Meg/M +Megan/M +Meghan/M +Meier/M +Meighen/M +Meiji/M +Meir/M +Mejia/M +Mekong/M +Mel/M +Melanesia/M +Melanesian/M +Melanie/M +Melba/M +Melbourne/M +Melchior/M +Melchizedek/M +Melendez/M +Melinda/M +Melisa/M +Melisande/M +Melissa/M +Mellon/M +Melody/M +Melpomene/M +Melton/M +Melva/M +Melville/M +Melvin/M +Memcached/M +Memling/M +Memphis/M +Menander/M +Mencius/M +Mencken/M +Mendel/M +Mendeleev/M +Mendelian/M +Mendelssohn/M +Mendez/M +Mendocino/M +Mendoza/M +Menelaus/M +Menelik/M +Menes/M +Mengzi +Menifee/M +Menkalinan/M +Menkar/M +Menkent/M +Mennen/M +Mennonite/MS +Menominee/M +Menotti/M +Mensa/M +Mentholatum/M +Menuhin/M +Menzies/M +Mephisto +Mephistopheles/M +Merak/M +Mercado/M +Mercator/M +Merced/M +Mercedes/M +Mercer/M +Mercia/M +Merck/M +Mercurochrome/M +Mercury/SM +Meredith/M +Merino/M +Merle/M +Merlin/M +Merlot/M +Merovingian/M +Merriam/M +Merrick/M +Merrill/M +Merrimack/M +Merritt/M +Merthiolate/M +Merton/M +Mervin/M +Mesa/M +Mesabi/M +Mesmer/M +Mesolithic/M +Mesopotamia/M +Mesopotamian +Mesozoic/M +Messerschmidt/M +Messiaen/M +Messiah/M +Messiahs +Messianic +Messieurs +Metallica/M +Metamucil/M +Methodism/SM +Methodist/SM +Methuselah/M +Metternich/M +Meuse/M +Mex +Mexicali/M +Mexican/MS +Mexico/M +Meyer/MS +Meyerbeer/M +Meyers/M +Mfume/M +Mg/M +Mgr +MiG/M +Mia/M +Miami/MS +Miaplacidus/M +Micah/M +Micawber/M +Mich/M +Michael/M +Michaelmas/MS +Micheal/M +Michel/M +Michelangelo/M +Michele/M +Michelin/M +Michelle/M +Michelob/M +Michelson/M +Michigan/M +Michigander/MS +Michiganite +Mick/M +Mickey/M +Mickie/M +Micky/M +Micmac/SM +Micronesia/M +Micronesian/M +Microsoft/M +Midas/M +Middleton/M +Middletown/M +Mideast +Mideastern +Midland/MS +Midway/M +Midwest/M +Midwestern/MR +Miguel/M +Mike/M +Mikhail/M +Mikoyan/M +Milagros/M +Milan/M +Milanese +Mildred/M +Miles/M +Milford/M +Milken/M +Mill/SMR +Millard/M +Millay/M +Miller/M +Millet/M +Millicent/M +Millie/M +Millikan/M +Mills/M +Milne/M +Milo/M +Milosevic/M +Milquetoast/M +Miltiades/M +Milton/M +Miltonian +Miltonic/M +Miltown/M +Milwaukee/M +Mimi/M +Mimosa/M +Min/M +Minamoto/M +Mindanao/M +Mindoro/M +Mindy/M +Minerva/M +Ming/M +Mingus/M +Minn +Minneapolis/M +Minnelli/M +Minnesota/M +Minnesotan/SM +Minnie/M +Minoan/MS +Minolta/M +Minos/M +Minot/M +Minotaur/M +Minsk/M +Minsky/M +Mintaka/M +Minuit/M +Minuteman/M +Miocene/M +Mir/M +Mira/M +Mirabeau/M +Mirach/M +Miranda/M +Mirfak/M +Miriam/M +Miro/M +Mirzam/M +Miskito/M +Miss +Mississauga/M +Mississippi/M +Mississippian/SM +Missoula/M +Missouri/M +Missourian/MS +Missy/M +Mistassini/M +Mister +Mistress +Misty/M +Mitch/M +Mitchel/M +Mitchell/M +Mitford/M +Mithra/M +Mithridates/M +Mitsubishi/M +Mitterrand/M +Mitty/M +Mitzi/M +Mixtec/M +Mizar/M +Mk +Mlle +Mme/S +Mn/M +Mnemosyne/M +Mo/M +Mobil/M +Mobile/M +Mobutu/M +Modesto/M +Modigliani/M +Moe/M +Moet/M +Mogadishu/M +Mogul/MS +Mohacs/M +Mohamed/M +Mohammad/M +Mohammedan/SM +Mohammedanism/SM +Mohave/SM +Mohawk/SM +Mohegan +Moho/M +Mohorovicic/M +Moira/M +Moises/M +Moiseyev/M +Mojave/SM +Moldavia/M +Moldavian +Moldova/M +Moldovan +Moliere/M +Molina/M +Moll/M +Mollie/M +Molly/M +Molnar/M +Moloch/M +Molokai/M +Molotov/M +Moluccas/M +Mombasa/M +Mon/SM +Mona/M +Monacan +Monaco/M +Mondale/M +Monday/SM +Mondrian/M +Monegasque/SM +Monera/M +Monessen/M +Monet/M +MongoDB/M +Mongol/SM +Mongolia/M +Mongolian/SM +Mongolic/M +Mongoloid +Monica/M +Monique/M +Monk/M +Monmouth/M +Monongahela/M +Monroe/M +Monrovia/M +Monsanto/M +Monsieur/M +Monsignor/SM +Mont/M +Montague/M +Montaigne/M +Montana/M +Montanan/SM +Montcalm/M +Monte/M +Montenegrin/M +Montenegro/M +Monterey/M +Monterrey/M +Montesquieu/M +Montessori/M +Monteverdi/M +Montevideo/M +Montezuma/M +Montgolfier/M +Montgomery/M +Monticello/M +Montoya/M +Montpelier/M +Montrachet/M +Montreal/M +Montserrat/M +Monty/M +Moody/M +Moog/M +Moon/M +Mooney/M +Moor/SM +Moore/M +Moorish/M +Morales/M +Moran/M +Moravia/M +Moravian/M +Mordred/M +More/M +Moreno/M +Morgan/SM +Morgantown/M +Moriarty/M +Morin/M +Morison/M +Morita/M +Morley/M +Mormon/SM +Mormonism/SM +Moro/M +Moroccan/SM +Morocco/M +Moroni/M +Morpheus/M +Morphy/M +Morris/M +Morrison/M +Morristown/M +Morrow/M +Morse/M +Mort/M +Mortimer/M +Morton/M +Mosaic/M +Moscow/M +Moseley/M +Moselle/M +Moses/M +Mosley/M +Moss/M +Mosul/M +Motorola/M +Motown/M +Motrin/M +Mott/M +Moulton/M +Mount/M +Mountbatten/M +Mountie/MS +Moussorgsky/M +Mouthe/M +Mouton/M +Mowgli/M +Mozambican/SM +Mozambique/M +Mozart/M +Mozilla/M +Mr/SM +Ms/S +Msgr +Mt +Muawiya/M +Mubarak/M +Mueller/M +Muenster/MS +Mugabe/M +Muhammad/M +Muhammadan/MS +Muhammadanism/SM +Muir/M +Mujib/M +Mulder/M +Mullen/M +Muller/M +Mulligan/M +Mullikan/M +Mullins/M +Mulroney/M +Multan/M +Multics +Mumbai/M +Mumford/M +Munch/M +Munchhausen/M +Muncie/M +Munich/M +Munoz/M +Munro/M +Munster/M +Muppet/M +Murasaki/M +Murat/M +Murchison/M +Murcia +Murdoch/M +Murfreesboro/M +Muriel/M +Murillo/M +Murine/M +Murmansk/M +Murphy/M +Murray/M +Murrieta/M +Murrow/M +Murrumbidgee/M +Muscat/M +Muscovite/M +Muscovy/M +Muse/M +Musharraf/M +Musial/M +Muskegon/M +Muskogee/M +Muslim/MS +Mussolini/M +Mussorgsky/M +Mutsuhito/M +Muzak/M +MySQL/M +MySpace/M +Myanmar/M +Mycenae/M +Mycenaean/M +Myers/M +Mylar/MS +Myles/M +Myra/M +Myrdal/M +Myrna/M +Myron/M +Myrtle/M +Mysore/M +Myst/M +N'Djamena +N/MD +NAACP/M +NAFTA/M +NASA/M +NASCAR/M +NASDAQ/M +NATO/M +NB +NBA/M +NBC/M +NBS +NC +NCAA/M +NCO +ND +NE/M +NEH +NF +NFC +NFL/M +NH +NHL/M +NIH +NIMBY +NJ +NLRB +NM +NORAD/M +NOW +NP +NPR/M +NR +NRA +NRC +NS +NSA/M +NSC +NSF +NSFW +NT +NV +NVIDIA/M +NW/M +NWT +NY +NYC +NYSE +NZ +Na/M +Nabisco/M +Nabokov/M +Nader/M +Nadia/M +Nadine/M +Nagasaki/M +Nagoya/M +Nagpur/M +Nagy/M +Nahuatl/MS +Nahum/M +Naipaul/M +Nair/M +Nairobi/M +Naismith/M +Nam/M +Namath/M +Namibia/M +Namibian/MS +Nampa/M +Nan/M +Nanak/M +Nanchang/M +Nancy/M +Nanette/M +Nanjing/M +Nannie/M +Nanook/M +Nansen/M +Nantes/M +Nantucket/M +Naomi/M +Napa/M +Naphtali/M +Napier/M +Naples/M +Napoleon/MS +Napoleonic/M +Napster/M +Narcissus/M +Narmada/M +Narnia/M +Narraganset +Narragansett/M +Nash/M +Nashua/M +Nashville/M +Nassau/M +Nasser/M +Nat/M +Natalia/M +Natalie/M +Natasha/M +Natchez/M +Nate/MN +Nathan/SM +Nathaniel/M +Nathans/M +Nation/M +Nationwide/M +Nativity/M +Naugahyde/M +Nauru/M +Nautilus/M +Navajo/SM +Navajoes +Navarre/M +Navarro/M +Navratilova/M +Navy +Nazarene/M +Nazareth/M +Nazca/M +Nazi/SM +Nazism/MS +Nb/M +Nd/M +Ndjamena/M +Ne/M +NeWS +NeWSes +Neal/M +Neanderthal/SM +Neapolitan/M +Neb +Nebr +Nebraska/M +Nebraskan/MS +Nebuchadnezzar/M +Ned/M +Nefertiti/M +Negev/M +Negress/MS +Negritude +Negro/MS +Negroes +Negroid/SM +Negros/M +Nehemiah/M +Nehru/M +Neil/M +Nelda/M +Nell/M +Nellie/M +Nelly/M +Nelsen/M +Nelson/M +Nembutal/M +Nemesis/M +Neo/M +Neogene/M +Neolithic +Nepal/M +Nepalese/M +Nepali/MS +Neptune/M +Nereid/M +Nerf/M +Nero/M +Neruda/M +Nescafe/M +Nesselrode/M +Nestle/M +Nestor/M +Nestorius/M +Netflix/M +Netherlander/SM +Netherlands/M +Netscape/M +Nettie/M +Netzahualcoyotl/M +Nev/M +Neva/M +Nevada/M +Nevadan/SM +Nevadian +Nevis/M +Nevsky/M +Newark/M +Newburgh/M +Newcastle/M +Newfoundland/MRS +Newman/M +Newport/M +Newsweek/M +Newton/M +Newtonian/M +Nexis/M +Ngaliema/M +Nguyen/M +Ni/M +Niagara/M +Niamey/M +Nibelung/M +Nicaea/M +Nicaragua/M +Nicaraguan/SM +Niccolo/M +Nice/M +Nicene/M +Nichiren/M +Nicholas/M +Nichole/M +Nichols/M +Nicholson/M +Nick/M +Nickelodeon/M +Nicklaus/M +Nickolas/M +Nicobar/M +Nicodemus/M +Nicola/SM +Nicolas/M +Nicole/M +Nicosia/M +Niebuhr/M +Nielsen/M +Nietzsche/M +Nieves/M +Nigel/M +Niger/M +Nigeria/M +Nigerian/MS +Nigerien/M +Nightingale/M +Nijinsky/M +Nike/M +Nikita/M +Nikkei/M +Nikki/M +Nikolai/M +Nikon/M +Nile/M +Nimitz/M +Nimrod/M +Nina/M +Nineveh/M +Nintendo/M +Niobe/M +Nippon/M +Nipponese/M +Nirenberg/M +Nirvana/M +Nisan/M +Nisei/M +Nissan/M +Nita/M +Nivea/M +Nixon/M +Nkrumah/M +No/SM +NoDoz/M +Noah/M +Nobel/M +Nobelist/MS +Noble/M +Noe/M +Noel/SM +Noelle/M +Noemi/M +Nokia/M +Nola/M +Nolan/M +Nome/M +Nona/M +Nootka/M +Nora/M +Norbert/M +Norberto/M +Nordic/MS +Noreen/M +Norfolk/M +Noriega/M +Norma/M +Normal/M +Norman/MS +Normand/M +Normandy/M +Norplant/M +Norris/M +Norse/M +Norseman/M +Norsemen/M +North/M +Northampton/M +Northeast/MS +Northerner/M +Northrop/M +Northrup/M +Norths +Northwest/SM +Norton/M +Norw +Norway/M +Norwegian/SM +Norwich/M +Nosferatu/M +Nostradamus/M +Nottingham/M +Nouakchott/M +Noumea/M +Nov/M +Nova/M +Novartis/M +November/MS +Novgorod/M +Novocain/MS +Novocaine +Novokuznetsk/M +Novosibirsk/M +Noxzema/M +Noyce/M +Noyes/M +Np/M +Nubia/M +Nubian/M +Nukualofa/M +Numbers/M +Nunavut/M +Nunez/M +Nunki/M +Nuremberg/M +Nureyev/M +NutraSweet/M +NyQuil/M +Nyasa/M +Nyerere/M +O'Brien/M +O'Casey/M +O'Connell/M +O'Connor/M +O'Donnell/M +O'Hara/M +O'Higgins/M +O'Keeffe/M +O'Neil/M +O'Neill/M +O'Rourke/M +O'Toole/M +O/SM +OAS/M +OB +OCR +OD/SM +OE +OED +OH +OHSA/M +OJ +OK/SMDG +OMB/M +ON +OPEC/M +OR +OS/M +OSHA/M +OSes +OT +OTB +OTC +OTOH +Oahu/M +Oakland/M +Oakley/M +Oates/M +Oaxaca/M +Ob/M +Obadiah/M +Obama/M +Obamacare +Oberlin/M +Oberon/M +Ocala/M +Ocaml/M +Occam/M +Occident +Occidental/MS +Oceania/M +Oceanside +Oceanus/M +Ochoa/M +Oct/M +Octavia/M +Octavian/M +Octavio/M +October/SM +Odell/M +Oder/M +Odessa/M +Odets/M +Odin/M +Odis/M +Odom/M +Odysseus/M +Odyssey/M +Oedipal/M +Oedipus/M +Oersted/M +Ofelia/M +Offenbach/M +OfficeMax/M +Ogbomosho/M +Ogden/M +Ogilvy/M +Oglethorpe/M +Ohio/M +Ohioan/SM +Oise/M +Ojibwa/SM +Okayama +Okeechobee/M +Okefenokee/M +Okhotsk/M +Okinawa/M +Okinawan +Okla +Oklahoma/M +Oklahoman/M +Oktoberfest/M +Ola/M +Olaf/M +Olajuwon/M +Olav/M +Oldenburg/M +Oldfield/M +Oldsmobile/M +Olduvai/M +Olen/M +Olenek/M +Olga/M +Oligocene/M +Olin/M +Olive/MR +Oliver/M +Olivetti/M +Olivia/M +Olivier/M +Ollie/M +Olmec/M +Olmsted/M +Olsen/M +Olson/M +Olympia/SM +Olympiad/MS +Olympian/MS +Olympic/SM +Olympics/M +Olympus/M +Omaha/MS +Oman/M +Omani/MS +Omar/M +Omayyad/M +Omdurman/M +Omnipotent +Omsk/M +Onassis/M +Oneal/M +Onega/M +Onegin/M +Oneida/MS +Onion/M +Ono/M +Onondaga/MS +Onsager/M +Ont +Ontarian +Ontario/M +Oort/M +Opal/M +Opel/M +OpenOffice/M +Ophelia/M +Ophiuchus/M +Oppenheimer/M +Opposition +Oprah/M +Ora/M +Oracle/M +Oran/M +Orange/M +Oranjestad/M +Orbison/M +Ordovician/M +Ore/N +Oreg +Oregon/M +Oregonian/SM +Orem/M +Oreo/M +Orestes/M +Orient/M +Oriental/MS +Orientalism +Orin/M +Orinoco/M +Orion/M +Oriya/M +Orizaba/M +Orkney/M +Orlando/M +Orleans/M +Orlon/MS +Orly/M +Orpheus/M +Orphic/M +Orr/M +Ortega/M +Orthodox +Ortiz/M +Orval/M +Orville/M +Orwell/M +Orwellian/M +Os/M +Osage/MS +Osaka/M +Osbert/M +Osborn/M +Osborne/M +Oscar/MS +Osceola/M +Osgood/M +Oshawa/M +Oshkosh/M +Osiris/M +Oslo/M +Osman/M +Ostrogoth/M +Ostwald/M +Osvaldo/M +Oswald/M +Othello/M +Otis/M +Ottawa/SM +Otto/M +Ottoman/M +Ouagadougou/M +Ouija/MS +Ovid/M +Owen/SM +Owens/M +Owensboro/M +Oxford/SM +Oxnard/M +Oxonian/M +Oxus/M +Oxycontin/M +Oz/M +Ozark/MS +Ozarks/M +Ozymandias/M +Ozzie/M +P/MN +PA/M +PAC/M +PARC/S +PASCAL +PBS/M +PBX +PC/SM +PCB +PCMCIA +PCP/M +PD +PDF +PDQ +PDT +PE +PET/M +PFC +PG +PGP +PHP/M +PIN +PJ's +PLO/M +PM/SMDG +PMS/M +PO +POW/M +PP +PPS +PR +PRC/M +PRO +PS/M +PST/M +PT +PTA/M +PTO +PVC/M +PW +PX +Pa/M +Paar/M +Pablo/M +Pablum/M +Pabst/M +Pace/M +Pacheco/M +Pacific/M +Pacino/M +Packard/M +Padang +Paderewski/M +Padilla/M +Paganini/M +Page/M +Paglia/M +Pahlavi/M +Paige/M +Paine/M +Paiute/SM +Pakistan/M +Pakistani/SM +Palembang/M +Paleocene/M +Paleogene/M +Paleolithic/M +Paleozoic/M +Palermo/M +Palestine/M +Palestinian/SM +Palestrina/M +Paley/M +Palikir/M +Palisades/M +Palladio/M +Palmdale/M +Palmer/M +Palmerston/M +Palmolive/M +Palmyra/M +Palomar/M +Pam/M +Pamela/M +Pamirs/M +Pampers/M +Pan/M +Panama/SM +Panamanian/MS +Panasonic/M +Pandora/M +Pangaea/M +Pankhurst/M +Panmunjom/M +Pansy/M +Pantagruel/M +Pantaloon/M +Pantheon/M +Panza/M +Paracelsus/M +Paraclete/M +Paradise +Paraguay/M +Paraguayan/MS +Paralympic/S +Paramaribo/M +Paramount/M +Parana/M +Parcheesi/M +Pareto/M +Paris/M +Parisian/MS +Park/SMR +Parker/M +Parkersburg/M +Parkinson/M +Parkinsonism +Parkman/M +Parks/M +Parliament/M +Parmenides +Parmesan/MS +Parnassus/MS +Parnell/M +Parr/M +Parrish/M +Parsifal/M +Parsons/M +Parthenon/M +Parthia/M +Pasadena/M +Pascagoula/M +Pascal/SM +Pasco/M +Pasquale/M +Passion/SM +Passover/MS +Pasternak/M +Pasteur/M +Pat/M +Patagonia/M +Patagonian/M +Pate/M +Patel/M +Paterson/M +Patna/M +Patrica/M +Patrice/M +Patricia/M +Patrick/M +Patsy/M +Patterson/M +Patti/M +Patton/M +Patty/M +Paul/GM +Paula/M +Paulette/M +Pauli/M +Pauline/M +Pauling/M +Pavarotti/M +Pavlov/M +Pavlova/M +Pavlovian/M +Pawnee/SM +PayPal/M +Payne/M +Pb/M +Pd/M +Peabody/M +Peace/M +Peale/M +Pearl/M +Pearlie/M +Pearson/M +Peary/M +Pechora/M +Peck/M +Peckinpah/M +Pecos/M +Pedro/M +Peel/M +Peg/M +Pegasus/MS +Peggy/M +Pei/M +Peiping/M +Peking/SM +Pekingese/SM +Pele/M +Pelee/M +Peloponnese/M +Pembroke/M +Pen/M +Pena/M +Penderecki/M +Penelope/M +Penn/M +Penna +Penney/M +Pennington/M +Pennsylvania/M +Pennsylvanian/MS +Penny/M +Pennzoil/M +Pensacola/M +Pentagon/M +Pentateuch/M +Pentax/M +Pentecost/SM +Pentecostal/MS +Pentecostalism +Pentium/SM +Peoria/M +Pepin/M +Pepsi/M +Pepys/M +Pequot/M +Percheron/M +Percival/M +Percy/M +Perelman/M +Perez/M +Periclean/M +Pericles/M +Perkins/M +Perl/SM +Perm/M +Permalloy/M +Permian/M +Pernod/M +Peron/M +Perot/M +Perrier/M +Perry/RM +Perseid/M +Persephone/M +Persepolis/M +Perseus/M +Pershing/M +Persia/M +Persian/SM +Perth/M +Peru/M +Peruvian/MS +Peshawar/M +Petain/M +Petaluma/M +Pete/RMZ +Peter/M +Peters/MN +Petersen/M +Peterson/M +Petra/M +Petrarch/M +Petty/M +Peugeot/M +Pfc +Pfizer/M +PhD/M +Phaedra/M +Phaethon/M +Phanerozoic/M +Pharaoh/M +Pharaohs +Pharisaic +Pharisaical +Pharisee/MS +Phekda/M +Phelps/M +Phidias/M +Phil/MY +Philadelphia/M +Philby/M +Philemon/M +Philip/MS +Philippe/M +Philippians/M +Philippine/SM +Philippines/M +Philips/M +Philistine/M +Phillip/SM +Phillipa/M +Phillips/M +Philly/M +Phipps/M +Phobos/M +Phoebe/M +Phoenicia/M +Phoenician/SM +Phoenix/M +Photostat/MS +Photostatted +Photostatting +Phrygia/M +Phyllis/M +Piaf/M +Piaget/M +Pianola/M +Picasso/M +Piccadilly/M +Pickering/M +Pickett/M +Pickford/M +Pickwick/M +Pict/M +Piedmont/M +Pierce/M +Pierre/M +Pierrot/M +Pike/M +Pilate/MS +Pilates/M +Pilcomayo/M +Pilgrim/SM +Pillsbury/M +Pinatubo/M +Pincus/M +Pindar/M +Pinkerton/M +Pinocchio/M +Pinochet/M +Pinter/M +Pinyin +Pippin/M +Piraeus/M +Pirandello/M +Pisa/M +Pisces/M +Pisistratus/M +Pissaro/M +Pitcairn/M +Pitt/SM +Pittman/M +Pitts/M +Pittsburgh/M +Pittsfield/M +Pius/M +Pizarro/M +Pkwy +Pl +Planck/M +Plano +Plantagenet/M +Plasticine/M +Plataea/M +Plath/M +Plato/M +Platonic +Platonism/M +Platonist/M +Platte/M +Plautus/M +PlayStation/M +Playboy/M +Playtex/M +Pleiades/M +Pleistocene/M +Plexiglas/MS +Pliny/M +Pliocene/SM +Plutarch/M +Pluto/M +Plymouth/M +Pm/M +Po/M +Pocahontas/M +Pocatello/M +Pocono/SM +Poconos/M +Podgorica/M +Podhoretz/M +Podunk/M +Poe/M +Pogo/M +Poincare/M +Poiret/M +Poirot/M +Poisson/M +Poitier/M +Pokemon/M +Pol/MY +Poland/M +Polanski/M +Polaris/M +Polaroid/MS +Pole/SM +Polish/M +Politburo/M +Polk/M +Pollard/M +Pollock/M +Pollux/M +Polly/M +Pollyanna/M +Polo/M +Poltava/M +Polyhymnia/M +Polynesia/M +Polynesian/MS +Polyphemus/M +Pomerania/M +Pomeranian/M +Pomona/M +Pompadour/M +Pompeian +Pompeii/M +Pompey/M +Ponce/M +Pontchartrain/M +Pontiac/M +Pontianak/M +Pooh/M +Poole/M +Poona/M +Pope/M +Popeye/M +Popocatepetl/M +Popper/M +Poppins/M +Popsicle/M +Porfirio/M +Porrima/M +Porsche/M +Port/MR +Porter/M +Porterville/M +Portia/M +Portland/M +Porto/M +Portsmouth/M +Portugal/M +Portuguese/M +Poseidon/M +Post/M +PostgreSQL/M +Potemkin/M +Potomac/M +Potsdam/M +Pottawatomie/M +Potter/M +Potts/M +Pottstown/M +Poughkeepsie/M +Pound/M +Poussin/M +Powell/M +PowerPC/M +PowerPoint/M +Powers/M +Powhatan/M +Poznan/M +Pr/M +Prada/M +Prado/M +Praetorian/M +Prague/M +Praia/M +Prakrit/M +Pratchett/M +Pratt/M +Pravda/M +Praxiteles/M +Preakness/M +Precambrian/M +Preminger/M +Premyslid/M +Prensa/M +Prentice/M +Pres +Presbyterian/SM +Presbyterianism/MS +Prescott/M +Presley/M +Preston/M +Pretoria/M +Priam/M +Pribilof/M +Price/M +Priceline/M +Priestley/M +Prince/M +Princeton/M +Principe/M +Priscilla/M +Prius/M +Private +Procrustean/M +Procrustes/M +Procter/M +Procyon/M +Prof +Prohibition +Prokofiev/M +Promethean/M +Prometheus/M +Prophets +Proserpina/M +Proserpine/M +Protagoras/M +Proterozoic/M +Protestant/MS +Protestantism/SM +Proteus/M +Proudhon/M +Proust/M +Provencal/MS +Provence/M +Proverbs +Providence/SM +Provo/M +Prozac/MS +Prudence/M +Prudential/M +Pruitt/M +Prussia/M +Prussian/MS +Prut/M +Pryor/M +Psalms/M +Psalter/MS +Psyche/M +Pt/M +Ptah/M +Ptolemaic/M +Ptolemy/SM +Pu/M +Puccini/M +Puck/M +Puckett/M +Puebla/M +Pueblo/M +Puerto +Puget/M +Pugh/M +Pulaski/M +Pulitzer/M +Pullman/MS +Punch/M +Punic/M +Punjab/M +Punjabi/M +Purana/M +Purcell/M +Purdue/M +Purim/MS +Purina/M +Puritan/M +Puritanism/MS +Purus/M +Pusan/M +Pusey/M +Pushkin/M +Pushtu/M +Putin/M +Putnam/M +Puzo/M +Pvt +PyTorch/M +Pygmalion/M +Pygmy/SM +Pyle/M +Pym/M +Pynchon/M +Pyongyang/M +Pyotr/M +Pyrenees/M +Pyrex/MS +Pyrrhic/M +Pythagoras/M +Pythagorean/M +Pythias/M +Python/M +Q +QA +QB +QC +QED +QM +QWERTY +Qaddafi/M +Qantas/M +Qatar/M +Qatari/MS +Qingdao/M +Qinghai/M +Qiqihar/M +Qom/M +Quaalude/M +Quaker/MS +Quakerism/SM +Qualcomm/M +Quaoar/M +Quasimodo/M +Quaternary/M +Quayle/M +Que +Quebec/M +Quebecois/M +Quechua/M +Queen/MS +Queens/M +Queensland/M +Quentin/M +Quetzalcoatl/M +Quezon/M +Quincy/M +Quinn/M +Quintilian/M +Quinton/M +Quirinal/M +Quisling/M +Quito/M +Quixote/M +Quixotism/M +Qumran/M +Quonset/M +Quran +Quranic +R/M +RAF/M +RAM/SM +RBI +RC +RCA/M +RCMP +RD +RDA +RDS/M +REIT +REM/SM +RF +RFC/S +RFD +RI +RIF +RIP +RISC +RN/M +RNA/M +ROFL +ROM/M +ROTC/M +RP +RR +RSFSR +RSI +RSV +RSVP +RTFM +RV/SM +Ra/M +Rabat/M +Rabelais/M +Rabelaisian/M +Rabin/M +Rachael/M +Rachel/M +Rachelle/M +Rachmaninoff/M +Racine/M +Radcliff/M +Radcliffe/M +Rae/M +Rafael/M +Raffles/M +Ragnarok/M +Rainier/M +Raleigh/M +Ralph/M +Rama/M +Ramada/M +Ramadan/MS +Ramakrishna/M +Ramanujan/M +Ramayana/M +Rambo/M +Ramirez/M +Ramiro/M +Ramon/M +Ramona/M +Ramos/M +Ramsay/M +Ramses/M +Ramsey/M +Rand/M +Randal/M +Randall/M +Randell/M +Randi/M +Randolph/M +Randy/M +Rangoon/M +Rankin/M +Rankine/M +Raoul/M +Raphael/M +Rappaport/M +Rapunzel/M +Raquel/M +Rasalgethi/M +Rasalhague/M +Rasmussen/M +Rasputin/M +Rasta +Rastaban/M +Rastafarian/MS +Rastafarianism +Rather/M +Ratliff/M +Raul/M +Ravel/M +Rawalpindi/M +Ray/M +RayBan/M +Rayburn/M +Rayleigh/M +Raymond/M +Raymundo/M +Rb/M +Rd +Re/M +Reading/M +Reagan/M +Reaganomics/M +Realtor/M +Reasoner/M +Reba/M +Rebekah/M +Recife/M +Reconstruction/M +Redding/M +Redeemer/M +Redford/M +Redgrave/M +Redis/M +Redmond/M +Redshift/M +Reebok/M +Reed/M +Reese/M +Reeves/M +Reformation/MS +Refugio/M +Reggie/M +Regina/M +Reginae/M +Reginald/M +Regor/M +Regulus/M +Rehnquist/M +Reich/M +Reichstag's +Reid/M +Reilly/M +Reinaldo/M +Reinhardt/M +Reinhold/M +Remarque/M +Rembrandt/M +Remington/M +Remus/M +Rena/M +Renaissance/SM +Renascence +Renault/M +Rene/M +Renee/M +Reno/M +Renoir/M +Rep +Representative +Republican/SM +Republicanism +Requiem/MS +Resistance +Restoration/M +Resurrection +Reuben/M +Reunion/M +Reuters/M +Reuther/M +Rev +Reva/M +Revelation/SM +Revelations/M +Revere/M +Reverend/M +Revlon/M +Rex/M +Reyes/M +Reykjavik/M +Reyna/M +Reynaldo/M +Reynolds/M +Rf/M +Rh/M +Rhea/M +Rhee/M +Rheingau/M +Rhenish/M +Rhiannon/M +Rhine/M +Rhineland/M +Rhoda/M +Rhode/S +Rhodes/M +Rhodesia/M +Rhodesian +Rhonda/M +Rhone/M +Ribbentrop/M +Ricardo/M +Rice/M +Rich/M +Richard/MS +Richards/M +Richardson/M +Richelieu/M +Richie/M +Richmond/M +Richter/M +Richthofen/M +Rick/M +Rickenbacker/M +Rickey/M +Rickie/M +Rickover/M +Ricky/M +Rico/M +Riddle/M +Ride/M +Riefenstahl/M +Riel/M +Riemann/M +Riesling/MS +Riga/M +Rigel/M +Riggs/M +Right +Rigoberto/M +Rigoletto/M +Riley/M +Rilke/M +Rimbaud/M +Ringling/M +Ringo/M +Rio/SM +Rios/M +Ripley/M +Risorgimento/M +Rita/M +Ritalin/M +Ritz/M +Rivas/M +Rivera/M +Rivers/M +Riverside/M +Riviera/MS +Riyadh/M +Rizal/M +Rn/M +Roach/M +Roanoke/M +Rob/M +Robbie/M +Robbin/MS +Robbins/M +Robby/M +Roberson/M +Robert/MS +Roberta/M +Roberto/M +Roberts/M +Robertson/M +Robeson/M +Robespierre/M +Robin/M +Robinson/M +Robitussin/M +Robles/M +Robson/M +Robt/M +Robyn/M +Rocco/M +Rocha/M +Rochambeau/M +Roche/M +Rochelle/M +Rochester/M +Rock/M +Rockefeller/M +Rockford/M +Rockies/M +Rockne/M +Rockwell/M +Rocky/SM +Rod/M +Roddenberry/M +Roderick/M +Rodger/MS +Rodgers/M +Rodin/M +Rodney/M +Rodolfo/M +Rodrick/M +Rodrigo/M +Rodriguez/M +Rodriquez/M +Roeg/M +Roentgen +Rogelio/M +Roger/MS +Rogers/M +Roget/M +Rojas/M +Roku/M +Rolaids/M +Roland/M +Rolando/M +Rolex/M +Rolland/M +Rollerblade/M +Rollins/M +Rolodex/M +Rolvaag/M +Rom +Roman/MS +Romanesque/MS +Romania/M +Romanian/MS +Romano/M +Romanov/M +Romans/M +Romansh/M +Romanticism +Romany/SM +Rome/SM +Romeo/M +Romero/M +Rommel/M +Romney/M +Romulus/M +Ron/M +Ronald/M +Ronda/M +Ronnie/M +Ronny/M +Ronstadt/M +Rontgen +Rooney/M +Roosevelt/M +Root/M +Roquefort/SM +Rorschach/M +Rory/M +Rosa/M +Rosales/M +Rosalie/M +Rosalind/M +Rosalinda/M +Rosalyn/M +Rosanna/M +Rosanne/M +Rosario/M +Roscoe/M +Rose/M +Roseann/M +Roseau/M +Rosecrans/M +Rosella/M +Rosemarie/M +Rosemary/M +Rosenberg/M +Rosendo/M +Rosenzweig/M +Rosetta/M +Rosicrucian/M +Rosie/M +Roslyn/M +Ross/M +Rossetti/M +Rossini/M +Rostand/M +Rostov/M +Rostropovich/M +Roswell/M +Rotarian/M +Roth/M +Rothko/M +Rothschild/M +Rotterdam/M +Rottweiler/M +Rouault/M +Rourke/M +Rousseau/M +Rove/RM +Rover/M +Rowe/M +Rowena/M +Rowland/M +Rowling/M +Roxanne/M +Roxie/M +Roxy/M +Roy/M +Royal/M +Royce/M +Rozelle/M +Rte +Ru/MH +Rubaiyat/M +Rubbermaid/M +Ruben/SM +Rubens/M +Rubicon/MS +Rubik/M +Rubin/M +Rubinstein/M +Ruby/M +Ruchbah/M +Rudolf/M +Rudolph/M +Rudy/M +Rudyard/M +Rufus/M +Ruhr/M +Ruiz/M +Rukeyser/M +Rumpelstiltskin/M +Rumsfeld/M +Runnymede/M +Runyon/M +Rupert/M +Rush/M +Rushdie/M +Rushmore/M +Ruskin/M +Russ/M +Russel/M +Russell/M +Russia/M +Russian/SM +Russo/M +Rustbelt/M +Rusty/M +Rutan/M +Rutgers/M +Ruth/M +Rutherford/M +Ruthie/M +Rutledge/M +Rwanda/MS +Rwandan/SM +Rwy +Rx +Ry +Ryan/M +Rydberg/M +Ryder/M +Ryukyu/M +S/MN +SA +SAC +SALT/M +SAM/M +SAP/M +SARS/M +SASE +SAT +SBA +SC/M +SCSI/M +SD +SDI +SE/M +SEATO +SEC/M +SF +SGML/M +SIDS/M +SJ +SJW +SK +SLR +SO/S +SOB/M +SOP/M +SOS/M +SOSes +SPCA +SPF +SQL +SQLite/M +SRO +SS +SSA +SSE/M +SSS +SST +SSW/M +ST +STD +STOL +SUSE/M +SUV +SVN/M +SW/M +SWAK +SWAT +Saab/M +Saar/M +Saarinen/M +Saatchi/M +Sabbath/M +Sabbaths +Sabik/M +Sabin/M +Sabina/M +Sabine/M +Sabre/M +Sabrina/M +Sacajawea/M +Sacco/M +Sachs/M +Sacramento/M +Sadat/M +Saddam/M +Sadducee/M +Sade/M +Sadie/M +Sadr/M +Safavid/M +Safeway/M +Sagan/M +Saginaw/M +Sagittarius/MS +Sahara/M +Saharan/M +Sahel/M +Saigon/M +Saiph/M +Sakai/M +Sakha/M +Sakhalin/M +Sakharov/M +Saki/M +Saks/M +Sal/MY +Saladin/M +Salado/M +Salamis/M +Salas/M +Salazar/M +Salem/M +Salerno/M +Salesforce/M +Salinas/M +Salinger/M +Salisbury/M +Salish/M +Salk/M +Sallie/M +Sallust/M +Sally/M +Salome/M +Salonika/M +Salton/M +Salvador/M +Salvadoran/SM +Salvadorean/MS +Salvadorian/MS +Salvatore/M +Salween/M +Salyut/M +Sam/M +Samantha/M +Samar/M +Samara/M +Samaritan/MS +Samarkand/M +Sammie/M +Sammy/M +Samoa/M +Samoan/SM +Samoset/M +Samoyed/M +Sampson/M +Samson/M +Samsonite/M +Samsung/M +Samuel/M +Samuelson/M +San'a +San/M +Sana/M +Sanchez/M +Sancho/M +Sand/ZM +Sandburg/M +Sanders/M +Sandinista/M +Sandoval/M +Sandra/M +Sandy/M +Sanford/M +Sanforized/M +Sang/MR +Sanger/M +Sanhedrin/M +Sanka/M +Sankara/M +Sanskrit/M +Santa/M +Santana/M +Santayana/M +Santeria/M +Santiago/M +Santos/M +Sappho/M +Sapporo/M +Sara/M +Saracen/MS +Saragossa/M +Sarah/M +Sarajevo/M +Saran/M +Sarasota/M +Saratov/M +Sarawak/M +Sardinia/M +Sargasso/M +Sargent/M +Sargon/M +Sarnoff/M +Saroyan/M +Sarto/M +Sartre/M +Sasha/M +Sask +Saskatchewan/M +Saskatoon/M +Sasquatch/MS +Sassanian/M +Sassoon/M +Sat/M +Satan/M +Satanism/M +Satanist/M +Saturday/MS +Saturn/M +Saturnalia/M +Saudi/MS +Saul/M +Saunders/M +Saundra/M +Saussure/M +Sauternes +Savage/M +Savannah/M +Savior/M +Savonarola/M +Savoy/M +Savoyard/M +Sawyer/M +Saxon/MS +Saxony/M +Sayers/M +Sb/M +Sc/M +Scala/M +Scan +Scandinavia/M +Scandinavian/MS +Scaramouch/M +Scarborough/M +Scarlatti/M +Scheat/M +Schedar/M +Scheherazade/M +Schelling/M +Schenectady/M +Schiaparelli/M +Schick/M +Schiller/M +Schindler/M +Schlesinger/M +Schliemann/M +Schlitz/M +Schloss/M +Schmidt/M +Schnabel/M +Schnauzer/M +Schneider/M +Schoenberg/M +Schopenhauer/M +Schrieffer/M +Schrodinger/M +Schroeder/M +Schubert/M +Schultz/M +Schulz/M +Schumann/M +Schumpeter/M +Schuyler/M +Schuylkill/M +Schwartz/M +Schwarzenegger/M +Schwarzkopf/M +Schweitzer/M +Schweppes/M +Schwinger/M +Schwinn/M +Scientologist/SM +Scientology/M +Scipio/M +Scopes/M +Scorpio/SM +Scorpius/M +Scorsese/M +Scot/SM +Scotch/MS +Scotchman/M +Scotchmen/M +Scotchwoman/M +Scotchwomen/M +Scotia/M +Scotland/M +Scotsman/M +Scotsmen/M +Scotswoman/M +Scotswomen/M +Scott/M +Scottie/SM +Scottish/M +Scottsdale/M +Scrabble/MS +Scranton/M +Scriabin/M +Scribner/M +Scripture/SM +Scrooge/M +Scruggs/M +Scud/M +Sculley/M +Scylla/M +Scythia/M +Scythian/M +Se/MH +Seaborg/M +Seagram/M +Sean/M +Sears/M +Seaside/M +Seattle/M +Sebastian/M +Sebring/M +Sec +Seconal/M +Secretariat/M +Secretary +Seder/MS +Sedna/M +Seebeck/M +Seeger/M +Sega/M +Segovia/M +Segre/M +Segundo/M +Segway/S +Seiko/M +Seine/M +Seinfeld/M +Sejong/M +Selassie/M +Selectric/M +Selena/M +Seleucid/M +Seleucus/M +Selim/M +Seljuk/M +Selkirk/M +Sellers/M +Selma/M +Selznick/M +Semarang/M +Seminole/MS +Semiramis/M +Semite/MS +Semitic/SM +Semtex/M +Senate/MS +Sendai/M +Seneca/MS +Senegal/M +Senegalese/M +Senghor/M +Senior/M +Sennacherib/M +Sennett/M +Sensurround/M +Seoul/M +Sep +Sephardi/M +Sepoy/M +Sept/M +September/MS +Septuagint/MS +Sequoya/M +Serb/SM +Serbia/M +Serbian/MS +Serena/M +Serengeti/M +Sergei/M +Sergio/M +Serpens/M +Serra/M +Serrano/M +Set/M +Seth/M +Seton/M +Seurat/M +Seuss/M +Sevastopol/M +Severn/M +Severus/M +Seville/M +Sevres/M +Seward/M +Sextans/M +Sexton/M +Seychelles/M +Seyfert/M +Seymour/M +Sgt +Shaanxi/M +Shackleton/M +Shaffer/M +Shah/M +Shaka/M +Shaker +Shakespeare/M +Shakespearean/M +Shana/M +Shandong/M +Shane/M +Shanghai/M +Shankara/M +Shanna/M +Shannon/M +Shantung/M +Shanxi/M +Shapiro/M +SharePoint/M +Shari'a/M +Shari/M +Sharif/M +Sharlene/M +Sharon/M +Sharp/M +Sharpe/M +Sharron/M +Shasta/M +Shaula/M +Shaun/M +Shauna/M +Shavian/M +Shavuot/M +Shaw/M +Shawn/M +Shawna/M +Shawnee/SM +Shcharansky/M +Shea/M +Sheba/M +Shebeli/M +Sheboygan/M +Sheena/M +Sheetrock/M +Sheffield/M +Sheila/M +Shelby/M +Sheldon/M +Shelia/M +Shell/M +Shelley/M +Shelly/M +Shelton/M +Shenandoah/M +Shenyang/M +Sheol/M +Shepard/M +Shepherd/M +Sheppard/M +Sheratan/M +Sheraton/M +Sheree/M +Sheri/M +Sheridan/M +Sherlock/M +Sherman/M +Sherpa/M +Sherri/M +Sherrie/M +Sherry/M +Sherwood/M +Sheryl/M +Shetland/SM +Shetlands/M +Shevardnadze/M +Shevat/M +Shi'ite/M +Shields/M +Shiite/MS +Shijiazhuang/M +Shikoku/M +Shillong/M +Shiloh/M +Shinto/MS +Shintoism/MS +Shintoist/MS +Shiraz/M +Shirley/M +Shiva/M +Shockley/M +Short/M +Shorthorn/M +Shoshone/SM +Shostakovitch/M +Shrek/M +Shreveport/M +Shriner/M +Shropshire/M +Shula/M +Shylock/M +Shylockian/M +Si/M +Siam/M +Siamese/M +Sibelius/M +Siberia/M +Siberian/MS +Sibyl/M +Sichuan/M +Sicilian/SM +Sicily/M +Sid/M +Siddhartha/M +Sidney/M +Siegfried/M +Siemens/M +Sierpinski/M +Sierras +Sigismund/M +Sigmund/M +Sigurd/M +Sihanouk/M +Sikh/M +Sikhism +Sikhs +Sikkim/M +Sikkimese/M +Sikorsky/M +Silas/M +Silesia/M +Silurian/SM +Silva/M +Silvia/M +Simenon/M +Simmental/M +Simmons/M +Simon/M +Simone/M +Simpson/SM +Simpsons/M +Simpsonville/M +Sims/M +Sinai/M +Sinatra/M +Sinbad/M +Sinclair/M +Sindbad/M +Sindhi/M +Singapore/M +Singaporean/SM +Singer/M +Singh/M +Singleton/M +Sinhalese/M +Sinkiang/M +Sioux/M +Sir/SM +Sirius/M +Sistine/M +Sisyphean/M +Sisyphus/M +Siva/M +Sivan/M +Sjaelland/M +Skinner/M +Skippy/M +Skopje/M +Skye/M +Skylab/M +Skype/M +Slackware/M +Slashdot/M +Slater/M +Slav/SM +Slavic/M +Slavonic/M +Slidell/M +Slinky/M +Sloan/M +Sloane/M +Slocum/M +Slovak/SM +Slovakia/M +Slovakian +Slovene/SM +Slovenia/M +Slovenian/MS +Slurpee/M +Sm/M +Small/M +Smetana/M +Smirnoff/M +Smith/M +Smithson/M +Smithsonian/M +Smokey/M +Smolensk/M +Smollett/M +Smuts/M +Smyrna +Sn/M +Snake/M +Snapple/M +Snead/M +Snell/M +Snickers/M +Snider/M +Snoopy/M +Snow/M +Snowbelt/M +Snyder/M +Soave/M +Soc +Socastee/M +Socorro/M +Socrates/M +Socratic/M +Soddy/M +Sodom/M +Sofia/M +Soho/M +Sol/M +Solis/M +Solomon/M +Solon/M +Solzhenitsyn/M +Somali/SM +Somalia/M +Somalian/MS +Somme/M +Somoza/M +Son/M +Sondheim/M +Sondra/M +Songhai/M +Songhua/M +Sonia/M +Sonja/M +Sonny/M +Sonora/M +Sontag/M +Sony/M +Sonya/M +Sophia/M +Sophie/M +Sophoclean/M +Sophocles/M +Sopwith/M +Sorbonne/M +Sosa/M +Soto/M +Souphanouvong/M +Sourceforge/M +Sousa/M +South/M +Southampton/M +Southeast/MS +Southerner/SM +Southey/M +Souths +Southwest/MS +Soviet/M +Soweto/M +Soyinka/M +Soyuz/M +Sp +Spaatz/M +Spackle/M +Spahn/M +Spain/M +Spam/M +Span +Spanglish +Spaniard/SM +Spanish/M +Sparks/M +Sparta/M +Spartacus/M +Spartan/MS +Spartanburg/M +Spears/M +Speer/M +Spence/RM +Spencer/M +Spencerian/M +Spengler/M +Spenglerian/M +Spenser/M +Spenserian/M +Sperry/M +Sphinx/M +Spica/M +Spielberg/M +Spillane/M +Spinoza/M +Spinx/M +Spiro/M +Spirograph/M +Spitsbergen/M +Spitz/M +Spock/M +Spokane/M +Springdale/M +Springfield/M +Springsteen/M +Sprint/M +Sprite/M +Sputnik/M +Sq +Squanto/M +Squibb/M +Sr/M +Srinagar/M +Srivijaya/M +St +Sta +Stacey/M +Staci/M +Stacie/M +Stacy/M +Stael/M +Stafford/M +StairMaster/M +Stalin/M +Stalingrad/M +Stalinist/M +Stallone/M +Stamford/M +Stan/M +Standish/M +Stanford/M +Stanislavsky/M +Stanley/M +Stanton/M +Staples/M +Starbucks/M +Stark/M +Starkey/M +Starr/M +Staten/M +States +Staubach/M +Staunton/M +Ste +Steadicam/M +Steele/M +Stefan/M +Stefanie/M +Stein/MR +Steinbeck/M +Steinem/M +Steiner/M +Steinmetz/M +Steinway/M +Stella/M +Stendhal/M +Stengel/M +Stephan/M +Stephanie/M +Stephen/MS +Stephens/M +Stephenson/M +Sterling/M +Stern/M +Sterne/M +Sterno/M +Stetson/M +Steuben/M +Steubenville/M +Steve/M +Steven/MS +Stevens/M +Stevenson/M +Stevie/M +Stewart/M +Stieglitz/M +Stilton/SM +Stimson/M +Stine/M +Stirling/M +Stockhausen/M +Stockholm/M +Stockton/M +Stoic/SM +Stoicism/MS +Stokes/M +Stolichnaya/M +Stolypin/M +Stone/M +Stonehenge/M +Stoppard/M +Stout/M +Stowe/M +Strabo/M +Stradivari +Stradivarius/M +Strasbourg/M +Strauss/M +Stravinsky/M +Streisand/M +Strickland/M +Strindberg/M +Stromboli/M +Strong/M +Stu/M +Stuart/MS +Studebaker/M +Stuttgart/M +Stuyvesant/M +Stygian/M +Styrofoam/SM +Styron/M +Styx/M +Suarez/M +Subaru/M +Sucre/M +Sucrets/M +Sudan/M +Sudanese/M +Sudetenland/M +Sudoku/M +Sudra/M +Sue/M +Suetonius/M +Suez/M +Suffolk/M +Sufi/M +Sufism/M +Suharto/M +Sui/M +Sukarno/M +Sukkot +Sulawesi/M +Suleiman/M +Sulla/M +Sullivan/M +Sumatra/M +Sumatran/SM +Sumeria/M +Sumerian/SM +Summer/MS +Summers/M +Sumner/M +Sumter/M +Sun/SM +Sunbeam/M +Sunbelt/M +Sundanese/M +Sundas/M +Sunday/MS +Sung/M +Sunkist/M +Sunni/SM +Sunnite/MS +Sunnyvale/M +Superbowl/M +Superfund/M +Superglue/M +Superior/M +Superman/M +Supt +Surabaya/M +Surat/M +Suriname/M +Surinamese +Surya/M +Susan/M +Susana/M +Susanna/M +Susanne/M +Susie/M +Susquehanna/M +Sussex/M +Sutherland/M +Sutton/M +Suva/M +Suwanee/M +Suzanne/M +Suzette/M +Suzhou/M +Suzuki/M +Suzy/M +Svalbard/M +Sven/M +Svengali/M +Sverdlovsk +Swahili/SM +Swammerdam/M +Swanee/M +Swansea/M +Swanson/M +Swazi/SM +Swaziland/M +Swed/N +Swede/SM +Sweden/M +Swedenborg/M +Swedish/M +Sweeney/M +Sweet/M +Swift/M +Swinburne/M +Swiss/MS +Swissair/M +Switz +Switzerland/M +Sybil/M +Sydney/M +Sykes/M +Sylvester/M +Sylvia/M +Sylvie/M +Synge/M +Syracuse/M +Syria/M +Syriac/M +Syrian/MS +Szilard/M +Szymborska/M +T'ang/M +T/MDG +TA +TARP +TB/M +TBA +TD +TDD +TEFL +TELNET/S +TELNETTed +TELNETTing +TESL +TESOL +TGIF +THC +TKO/M +TLC/M +TM +TN +TNT/M +TOEFL +TQM +TV/SM +TVA +TWA/M +TWX +TX +Ta/M +Tabasco/SM +Tabatha/M +Tabernacle/MS +Tabitha/M +Tabriz/MS +Tacitus/M +Tacoma/M +Tad/M +Tadzhik/M +Taegu/M +Taejon/M +Taft/M +Tagalog/SM +Tagore/M +Tagus/M +Tahiti/M +Tahitian/MS +Tahoe/M +Taichung/M +Tainan +Taine/M +Taipei/M +Taiping/M +Taiwan/M +Taiwanese/M +Taiyuan/M +Tajikistan/M +Taklamakan/M +Talbot/M +Taliban/M +Taliesin/M +Tallahassee/M +Tallchief/M +Talley/M +Talleyrand/M +Tallinn/M +Talmud/MS +Talmudic +Talmudist +Tamara/M +Tameka/M +Tamera/M +Tamerlane/M +Tami/M +Tamika/M +Tamil/MS +Tammany/M +Tammi/M +Tammie/M +Tammuz/M +Tammy/M +Tampa/M +Tampax/M +Tamra/M +Tamworth/M +Tancred/M +Taney/M +Tanganyika/M +Tangier/MS +Tangshan/M +Tania/M +Tanisha/M +Tanner/M +Tannhauser/M +Tantalus/M +Tanya/M +Tanzania/M +Tanzanian/SM +Tao/M +Taoism/MS +Taoist/MS +Tara/M +Tarantino/M +Tarawa/M +Tarazed/M +Tarbell/M +Target/M +Tarim/M +Tarkenton/M +Tarkington/M +Tartary/M +Tartuffe/M +Tarzan/M +Tasha/M +Tashkent/M +Tasman/M +Tasmania/M +Tasmanian/M +Tass/M +Tatar/MS +Tate/M +Tatum/M +Taurus/MS +Tavares/M +Tawney/M +Taylor/M +Tb/M +Tbilisi/M +Tc/M +Tchaikovsky/M +Te/M +TeX +TeXes +Teasdale/M +Technicolor/M +Tecumseh/M +Ted/M +Teddy/M +Teflon/MS +Tegucigalpa/M +Tehran +TelePrompTer +TelePrompter/M +Telemachus/M +Telemann/M +Teletype +Tell/MR +Teller/M +Telugu/M +Temecula/M +Tempe +Templar/M +Temple/M +Tenn/M +Tennessean/SM +Tennessee/M +Tennyson/M +Tennysonian +Tenochtitlan/M +TensorFlow/M +Teotihuacan/M +Terence/M +Teresa/M +Tereshkova/M +Teri/M +Terkel/M +Terpsichore/M +Terr/M +Terra/M +Terran/M +Terrance/M +Terrell/M +Terrence/M +Terri/M +Terrie/M +Terry/M +Tertiary/M +Tesla/M +Tess/M +Tessa/M +Tessie/M +Tet/M +Tethys/M +Tetons/M +Teuton/MS +Teutonic/M +Tevet/M +Tex/M +Texaco/M +Texan/MS +Texarkana/M +Texas/M +Th/M +Thackeray/M +Thad/M +Thaddeus/M +Thai/SM +Thailand/M +Thales/M +Thalia/M +Thames/M +Thanh/M +Thanksgiving/MS +Thant/M +Thar/M +Tharp/M +Thatcher/M +Thea/M +Thebes/M +Theiler/M +Thelma/M +Themistocles/M +Theocritus/M +Theodora/M +Theodore/M +Theodoric/M +Theodosius/M +Theosophy/M +Theravada/M +Theresa/M +Therese/M +Thermopylae/M +Thermos +Theron/M +Theseus/M +Thespian/M +Thespis/M +Thessalonian/SM +Thessaloniki/M +Thessaly/M +Thieu/M +Thimbu/M +Thimphu +Thomas/M +Thomism/M +Thomistic/M +Thompson/M +Thomson/M +Thor/M +Thorazine/M +Thoreau/M +Thornton/M +Thoroughbred/M +Thorpe/M +Thoth/M +Thrace/M +Thracian/M +Thu +Thucydides/M +Thule/M +Thunderbird/M +Thur/S +Thurber/M +Thurman/M +Thurmond/M +Thursday/SM +Thutmose/M +Ti/M +Tia/M +Tianjin/M +Tiber/M +Tiberius/M +Tibet/M +Tibetan/MS +Ticketmaster/M +Ticonderoga/M +Tide/M +Tienanmen/M +Tiffany/M +Tigris/M +Tijuana/M +Tillich/M +Tillman/M +Tilsit/M +Tim/M +Timbuktu/M +Timex/M +Timmy/M +Timon/M +Timor/M +Timothy/M +Timur/M +Timurid/M +Tina/M +Ting/M +Tinkerbell/M +Tinkertoy/M +Tinseltown/M +Tintoretto/M +Tippecanoe/M +Tipperary/M +Tirane +Tiresias/M +Tirol/M +Tirolean +Tisha/M +Tishri/M +Titan/SM +Titania/M +Titanic/M +Titian/M +Titicaca/M +Tito/M +Titus/M +Titusville/M +Tl/M +Tlaloc/M +Tlingit/M +Tm/M +Tobago/M +Tobit/M +Toby/M +Tocantins/M +Tocqueville/M +Tod/M +Todd/M +Togo/M +Togolese/M +Tojo/M +Tokay/M +Tokugawa/M +Tokyo/M +Tokyoite +Toledo/MS +Tolkien/M +Tolstoy/M +Toltec/M +Tolyatti/M +Tom/M +Tomas/M +Tombaugh/M +Tomlin/M +Tommie/M +Tommy/M +Tompkins/M +Tomsk/M +Tonga/M +Tongan/MS +Toni/M +Tonia/M +Tonto/M +Tony/M +Tonya/M +Topeka/M +Topsy/M +Torah/M +Torahs +Toronto/M +Torquemada/M +Torrance/M +Torrens/M +Torres/M +Torricelli/M +Tortola/M +Tortuga/M +Torvalds/M +Tory/SM +Tosca/M +Toscanini/M +Toshiba/M +Toto/M +Toulouse/M +Townes/M +Townsend/M +Toynbee/M +Toyoda/M +Toyota/M +Tracey/M +Traci/M +Tracie/M +Tracy/M +Trafalgar/M +Trailways/M +Trajan/M +Tran/M +Transcaucasia/M +Transvaal/M +Transylvania/M +Transylvanian/M +Trappist/SM +Travis/M +Travolta/M +Treasury/SM +Treblinka/M +Trekkie/M +Trent/M +Trenton/M +Trevelyan/M +Trevino/M +Trevor/M +Trey/M +Triangulum/M +Triassic/M +Tricia/M +Trident/M +Trieste/M +Trimurti/M +Trina/M +Trinidad/M +Trinidadian/MS +Trinity/SM +Tripitaka/M +Tripoli/M +Trippe/M +Trisha/M +Tristan/M +Triton/M +Trobriand/M +Troilus/M +Trojan/MS +Trollope/M +Trondheim/M +Tropicana/M +Trotsky/M +Troy/M +Troyes +Truckee/M +Trudeau/M +Trudy/M +Truffaut/M +Trujillo/M +Truman/M +Trumbull/M +Trump/M +Truth/M +Tsimshian/M +Tsiolkovsky/M +Tsitsihar/M +Tsongkhapa/M +Tswana/M +Tu/M +Tuamotu/M +Tuareg/M +Tubman/M +Tucker/M +Tucson/M +Tucuman/M +Tudor/SM +Tue/S +Tues/M +Tuesday/MS +Tulane/M +Tull/M +Tulsa/M +Tulsidas/M +Tums/M +Tungus/M +Tunguska/M +Tunis/M +Tunisia/M +Tunisian/MS +Tunney/M +Tupi/M +Tupperware/M +Tupungato/M +Turgenev/M +Turin/M +Turing/M +Turk/SM +Turkestan/M +Turkey/M +Turkic/MS +Turkish/M +Turkmenistan/M +Turlock/M +Turner/M +Turpin/M +Tuscaloosa/M +Tuscan/M +Tuscany/M +Tuscarora/MS +Tuscon/M +Tuskegee/M +Tussaud/M +Tut/M +Tutankhamen/M +Tutsi/M +Tutu/M +Tuvalu/M +Tuvaluan +Twain/M +Tweed/M +Tweedledee/M +Tweedledum/M +Twila/M +Twinkies/M +Twitter/M +Twizzlers/M +Twp +Ty/M +Tycho/M +Tylenol/M +Tyler/M +Tyndale/M +Tyndall/M +Tyre/M +Tyree/M +Tyrolean +Tyrone/M +Tyson/M +U/M +UAR +UAW +UBS/M +UCLA/M +UFO/SM +UHF/M +UK/M +UL +UN/M +UNESCO/M +UNICEF/M +UNIX/M +UPC +UPI/M +UPS/M +URL/S +US/M +USA/M +USAF +USB +USCG +USDA/M +USIA +USMC +USN +USO +USP +USPS +USS +USSR/M +UT/M +UTC +UV/M +Ubangi/M +Ubuntu/M +Ucayali/M +Uccello/M +Udall/M +Ufa/M +Uganda/M +Ugandan/MS +Uighur/M +Ujungpandang/M +Ukraine/M +Ukrainian/SM +Ulster/M +Ultrasuede/M +Ulyanovsk/M +Ulysses/M +Umbriel/M +Underwood/M +Ungava/M +Unicode/M +Unilever/M +Union/SM +Unionist +Uniontown/M +Uniroyal/M +Unitarian/MS +Unitarianism/MS +Unitas/M +Unix/S +Unukalhai/M +Upanishads/M +Updike/M +Upjohn/M +Upton/M +Ur/M +Ural/SM +Urals/M +Urania/M +Uranus/M +Urban/M +Urdu/M +Urey/M +Uriah/M +Uriel/M +Uris/M +Urquhart/M +Ursa/M +Ursula/M +Ursuline/M +Uruguay/M +Uruguayan/MS +Urumqi/M +Usenet/MS +Ustinov/M +Ut +Utah/M +Utahan/MS +Ute/SM +Utica/M +Utopia/SM +Utopian/SM +Utrecht/M +Utrillo/M +Uzbek/M +Uzbekistan/M +Uzi/SM +V/M +VA +VAT/M +VAX +VAXes +VBA/M +VCR/M +VD/M +VDT +VDU +VF +VFW/M +VG +VGA +VHF/M +VHS +VI/M +VIP/SM +VISTA +VJ +VLF/M +VOA +VP +VT +VTOL +Va/M +Vacaville/M +Vader/M +Vaduz/M +Val/M +Valarie/M +Valdez/M +Valdosta/M +Valencia/SM +Valenti/M +Valentin/M +Valentine/M +Valentino/M +Valenzuela/M +Valeria/M +Valerian/M +Valerie/M +Valery/M +Valhalla/M +Valium/MS +Valkyrie/SM +Vallejo/M +Valletta/M +Valois/M +Valparaiso/M +Valvoline/M +Van/M +Vance/M +Vancouver/M +Vandal/MS +Vanderbilt/M +Vandyke/M +Vanessa/M +Vang/M +Vanuatu/M +Vanzetti/M +Varanasi/M +Varese/M +Vargas/M +Vaseline/SM +Vasquez/M +Vassar/M +Vatican/M +Vauban/M +Vaughan/M +Vaughn/M +Vazquez/M +Veblen/M +Veda/SM +Vedanta/M +Vega/SM +Vegas/M +Vegemite/M +Vela/M +Velasquez/M +Velazquez/M +Velcro/MS +Velez/M +Velma/M +Velveeta/M +Venetian/SM +Venezuela/M +Venezuelan/SM +Venice/M +Venn/M +Ventolin/M +Venus/MS +Venusian/M +Vera/M +Veracruz/M +Verde/M +Verdi/M +Verdun/M +Verizon/M +Verlaine/M +Vermeer/M +Vermont/ZMR +Vermonter/M +Vern/M +Verna/M +Verne/M +Vernon/M +Verona/M +Veronese/M +Veronica/M +Versailles/M +Vesalius/M +Vespasian/M +Vespucci/M +Vesta/M +Vesuvius/M +Viacom/M +Viagra/M +Vic/M +Vicente/M +Vichy/M +Vicki/M +Vickie/M +Vicksburg/M +Vicky/M +Victor/M +Victoria/M +Victorian/MS +Victorianism +Victorville/M +Victrola/M +Vidal/M +Vienna/M +Viennese/M +Vientiane/M +Vietcong/M +Vietminh/M +Vietnam/M +Vietnamese/M +Vijayanagar/M +Vijayawada/M +Viking/MS +Vila/M +Villa/SM +Villarreal/M +Villas/M +Villon/M +Vilma/M +Vilnius/M +Vilyui/M +Vince/M +Vincent/M +Vindemiatrix/M +Vineland/M +Vinson/M +Viola/M +Violet/M +Virgie/M +Virgil/M +Virginia/M +Virginian/SM +Virgo/SM +Visa/M +Visalia/M +Visayans/M +Vishnu/M +Visigoth/M +Visigoths +Vistula/M +Vitim/M +Vito/M +Vitus/M +Vivaldi/M +Vivekananda/M +Vivian/M +Vivienne/M +Vlad/M +Vladimir/M +Vladivostok/M +Vlaminck/M +Vlasic/M +VoIP +Vogue/M +Volcker/M +Voldemort/M +Volga/M +Volgograd/M +Volkswagen/M +Volstead/M +Volta/M +Voltaire/M +Volvo/M +Vonda/M +Vonnegut/M +Voronezh/M +Vorster/M +Voyager/M +Vt +Vuitton/M +Vulcan/M +Vulg +Vulgate/SM +W/MDT +WA +WAC +WASP/M +WATS/M +WC +WHO/M +WI +WMD +WNW/M +WP +WSW/M +WTO +WV +WW +WWI +WWII +WWW/M +WY +WYSIWYG +Wabash/M +Wac +Waco/M +Wade/M +Wagner/M +Wagnerian/M +Wahhabi/M +Waikiki/M +Waite/M +Wake/M +Waksman/M +Wald/MN +Waldemar/M +Walden/M +Waldensian/M +Waldheim/M +Waldo/M +Waldorf/M +Wales/M +Walesa/M +Walgreen/SM +Walgreens/M +Walker/M +Walkman/M +Wall/SMR +Wallace/M +Wallenstein/M +Waller/M +Wallis/M +Walloon/M +Walls/M +Walmart/M +Walpole/M +Walpurgisnacht/M +Walsh/M +Walt/MRZ +Walter/M +Walters/M +Walton/M +Wanamaker/M +Wanda/M +Wang/M +Wankel/M +Ward/M +Ware/MG +Warhol/M +Waring/M +Warner/M +Warren/M +Warsaw/M +Warwick/M +Wasatch/M +Wash/M +Washington/M +Washingtonian/MS +Wassermann/M +Waterbury/M +Waterford/M +Watergate/M +Waterloo/MS +Waters/M +Watertown/M +Watkins/M +Watson/M +Watsonville/M +Watt/SM +Watteau/M +Watts/M +Watusi/M +Waugh/M +Wausau/M +Wave +Wayne/M +Waynesboro/M +Weaver/M +Web/MR +Webb/M +Weber/M +Webern/M +Webster/MS +Wed/M +Weddell/M +Wedgwood/M +Wednesday/MS +Weeks/M +Wehrmacht/M +Wei/M +Weierstrass/M +Weill/M +Weinberg/M +Weirton/M +Weiss/M +Weissmuller/M +Weizmann/M +Weldon/M +Welland/M +Weller/M +Welles/M +Wellington/SM +Wells/M +Welsh/M +Welshman/M +Welshmen/M +Welshwoman +Wenatchee/M +Wendell/M +Wendi/M +Wendy/M +Wesak/M +Wesley/M +Wesleyan/M +Wessex/M +Wesson/M +West/SM +Western/MRS +Westinghouse/M +Westminster/M +Weston/M +Westphalia/M +Weyden/M +Wezen/M +Wharton/M +Wheaties/M +Wheatstone/M +Wheeler/M +Wheeling/M +Whig/SM +Whipple/M +Whirlpool/M +Whistler/M +Whitaker/M +White/SM +Whitefield/M +Whitehall/M +Whitehead/M +Whitehorse/M +Whiteley/M +Whitfield/M +Whitley/M +Whitman/M +Whitney/M +Whitsunday/MS +Whittier/M +WiFi +Wicca/M +Wichita/M +Wiemar/M +Wiesel/M +Wiesenthal/M +Wiggins/M +Wigner/M +Wii/M +Wikileaks +Wikipedia/M +Wilberforce/M +Wilbert/M +Wilbur/M +Wilburn/M +Wilcox/M +Wilda/M +Wilde/MR +Wilder/M +Wiles/M +Wiley/M +Wilford/M +Wilfred/M +Wilfredo/M +Wilhelm/M +Wilhelmina/M +Wilkerson/M +Wilkes/M +Wilkins/M +Wilkinson/M +Will/M +Willa/M +Willamette/M +Willard/M +Willemstad/M +William/SM +Williams/M +Williamsburg/M +Williamson/M +Williamsport/M +Willie/M +Willis/M +Willy/M +Wilma/M +Wilmer/M +Wilmington/M +Wilson/M +Wilsonian/M +Wilton/M +Wimbledon/M +Wimsey/M +Winchell/M +Winchester/MS +Windbreaker/M +Windex/M +Windhoek/M +Windows/M +Windsor/SM +Windward/M +Winesap/M +Winfred/M +Winfrey/M +Winifred/M +Winkle/M +Winnebago/M +Winnie/M +Winnipeg/M +Winston/M +Winters/M +Winthrop/M +Wis +Wisc +Wisconsin/M +Wisconsinite/MS +Wise/M +Witt/M +Wittgenstein/M +Witwatersrand/M +Wm/M +Wobegon/M +Wodehouse/M +Wolf/M +Wolfe/M +Wolff/M +Wolfgang/M +Wollongong/M +Wollstonecraft/M +Wolsey/M +Wolverhampton +Wonder/M +Wonderbra/M +Wong/M +Wood/SM +Woodard/M +Woodhull/M +Woodland/M +Woodrow/M +Woods/M +Woodstock/M +Woodward/M +Woolf/M +Woolite/M +Woolongong/M +Woolworth/M +Wooster/M +Wooten/M +Worcester/SM +Worcestershire/M +WordPress/M +Wordsworth/M +Workman/M +Worms/M +Wotan/M +Wovoka/M +Wozniak/M +Wozzeck/M +Wrangell/M +Wren/M +Wright/M +Wrigley/M +Wroclaw/M +Wu/M +Wuhan/M +Wurlitzer/M +Wyatt/M +Wycherley/M +Wycliffe/M +Wyeth/M +Wylie/M +Wynn/M +Wyo +Wyoming/M +Wyomingite/SM +X/M +XEmacs/M +XL/M +XML +XS +XXL +Xamarin/M +Xanadu/M +Xanthippe/M +Xavier/M +Xe/SM +Xenakis/M +Xenia/M +Xenophon/M +Xerox/MS +Xerxes/M +Xhosa/M +Xi'an/M +Xian/SM +Xiaoping/M +Ximenes/M +Xingu/M +Xinjiang/M +Xiongnu/M +Xizang/M +Xmas/MS +Xochipilli/M +Xuzhou/M +Y/M +YMCA/M +YMHA +YMMV +YT +YWCA/M +YWHA +Yacc/M +Yahoo/M +Yahtzee/M +Yahweh/M +Yakima/M +Yakut/M +Yakutsk/M +Yale/M +Yalow/M +Yalta/M +Yalu/M +Yamagata/M +Yamaha/M +Yamoussoukro/M +Yang/M +Yangon/M +Yangtze/M +Yank/SM +Yankee/SM +Yaobang/M +Yaounde/M +Yaqui/M +Yaren +Yaroslavl/M +Yataro/M +Yates/M +Yauco/M +Yb/M +Yeager/M +Yeats/M +Yekaterinburg/M +Yellowknife/M +Yellowstone/M +Yeltsin/M +Yemen/M +Yemeni/SM +Yemenite +Yenisei/M +Yerevan/M +Yerkes/M +Yesenia/M +Yevtushenko/M +Yggdrasil/M +Yiddish/M +Ymir/M +Yoda/M +Yoknapatawpha/M +Yoko/M +Yokohama/M +Yolanda/M +Yong/M +Yonkers/M +York/M +Yorkie/M +Yorkshire/MS +Yorktown/M +Yoruba/M +Yosemite/M +Yossarian/M +YouTube/M +Young/M +Youngstown/M +Ypres/M +Ypsilanti/M +Yuan/M +Yucatan/M +Yugo/M +Yugoslav/MS +Yugoslavia/M +Yugoslavian/SM +Yukon/M +Yule/SM +Yuletide/MS +Yuma/SM +Yunnan/M +Yuri/M +Yves/M +Yvette/M +Yvonne/M +Z/SMNXT +Zachariah/M +Zachary/M +Zachery/M +Zagreb/M +Zaire/M +Zairian +Zambezi/M +Zambia/M +Zambian/SM +Zamboni/M +Zamenhof/M +Zamora/M +Zane/M +Zanuck/M +Zanzibar/M +Zapata/M +Zaporozhye/M +Zapotec/M +Zappa/M +Zara/M +Zarathustra/M +Zealand/M +Zebedee/M +Zechariah/M +Zedekiah/M +Zedong/M +Zeffirelli/M +Zeke/M +Zelig/M +Zelma/M +Zen/M +Zenger/M +Zeno/M +Zephaniah/M +Zephyrhills/M +Zephyrus/M +Zest/M +Zeus/M +Zhdanov +Zhejiang/M +Zhengzhou/M +Zhivago/M +Zhukov/M +Zibo/M +Ziegfeld/M +Ziegler/M +Ziggy/M +Zika +Zimbabwe/M +Zimbabwean/SM +Zimmerman/M +Zinfandel/M +Zion/SM +Zionism/SM +Zionist/SM +Ziploc/M +Zn/M +Zoe/M +Zola/M +Zollverein/M +Zoloft/M +Zomba/M +Zorn/M +Zoroaster/M +Zoroastrian/MS +Zoroastrianism/SM +Zorro/M +Zosma/M +Zr/M +Zsigmondy/M +Zubenelgenubi/M +Zubeneschamali/M +Zukor/M +Zulu/SM +Zululand +Zuni/M +Zurich/M +Zwingli/M +Zworykin/M +Zyrtec/M +Zyuganov/M +Zzz +a/S +aah +aardvark/SM +ab/SDY +aback +abacus/MS +abaft +abalone/SM +abandon/LSDG +abandonment/M +abase/LGDS +abasement/M +abash/GLDS +abashed/UY +abashment/M +abate/LGDS +abated/U +abatement/M +abattoir/MS +abbe/SM +abbess/MS +abbey/MS +abbot/MS +abbr +abbrev/S +abbreviate/DSGNX +abbreviation/M +abdicate/GNDSX +abdication/M +abdomen/SM +abdominal +abduct/DSG +abductee/MS +abduction/SM +abductor/MS +abeam +aberrant +aberration/MS +aberrational +abet/S +abetted +abetting +abettor/SM +abeyance/M +abhor/S +abhorred +abhorrence/M +abhorrent/Y +abhorring +abidance/M +abide/GS +abiding/Y +ability/IEMS +abject/YP +abjection/M +abjectness/M +abjuration/SM +abjuratory +abjure/ZGDRS +abjurer/M +ablate/XGNVDS +ablation/M +ablative/MS +ablaze +able/UT +abler +abloom +ablution/SM +abnegate/GNDS +abnegation/M +abnormal/Y +abnormality/SM +aboard +abode/MS +abolish/GDS +abolition/M +abolitionism/M +abolitionist/SM +abominable +abominably +abominate/DSGNX +abomination/M +aboriginal/MS +aborigine/SM +aborning +abort/GVDS +abortion/MS +abortionist/MS +abortive/Y +abound/DSG +about +above/M +aboveboard +abracadabra/M +abrade/GDS +abrasion/MS +abrasive/MYPS +abrasiveness/M +abreast +abridge/DSG +abridgment/MS +abroad +abrogate/XGNDS +abrogation/M +abrogator/MS +abrupt/TPRY +abruptness/M +abs/M +abscess/MDSG +abscissa/SM +abscission/M +abscond/ZGSDR +absconder/M +abseil/MDSG +absence/SM +absent/DYSG +absentee/MS +absenteeism/M +absentminded/YP +absentmindedness/M +absinthe/M +absolute/PMYTNS +absoluteness/M +absolution/M +absolutism/M +absolutist/MS +absolve/DSG +absorb/AGDS +absorbance +absorbency/M +absorbent/SM +absorbing/Y +absorption/M +absorptive +abstain/DRZGS +abstainer/M +abstemious/PY +abstemiousness/M +abstention/MS +abstinence/M +abstinent +abstract/GSPMDY +abstracted/YP +abstractedness/M +abstraction/SM +abstractness/MS +abstruse/YP +abstruseness/M +absurd/TPRY +absurdist/MS +absurdity/SM +absurdness/M +abundance/SM +abundant/Y +abuse's +abuse/EGVDS +abuser/MS +abusive/YP +abusiveness/M +abut/SL +abutment/MS +abutted +abutting +abuzz +abysmal/Y +abyss/MS +abyssal +ac +acacia/MS +academe/M +academia/M +academic/SM +academical/Y +academician/MS +academy/SM +acanthus/MS +accede/GDS +accelerate/GNXDS +acceleration/M +accelerator/SM +accent/MDSG +accented/U +accentual +accentuate/GNDS +accentuation/M +accept/DSBG +acceptability/M +acceptableness/M +acceptably/U +acceptance/SM +acceptation/MS +accepted/U +access/MDSG +accessibility/IM +accessible/I +accessibly/I +accession/MDGS +accessorize/DSG +accessory/SM +accident/MS +accidental/SMY +acclaim/MDGS +acclamation/M +acclimate/DSGN +acclimation/M +acclimatization/M +acclimatize/DSG +acclivity/SM +accolade/SM +accommodate/XGNDS +accommodating/Y +accommodation/M +accompanied/U +accompaniment/MS +accompanist/SM +accompany/DSG +accomplice/SM +accomplish/DSLG +accomplished/U +accomplishment/MS +accord/GMDS +accordance/M +accordant +according/Y +accordion/MS +accordionist/MS +accost/GMDS +account/MDSBG +accountability/M +accountable/U +accountancy/M +accountant/MS +accounted/U +accounting/M +accouter/SGD +accouterments/M +accredit/SGD +accreditation/M +accredited/U +accretion/MS +accrual/MS +accrue/GDS +acct +acculturate/DSGN +acculturation/M +accumulate/XGNVDS +accumulation/M +accumulator/MS +accuracy/IM +accurate/IY +accurateness/M +accursed/P +accursedness/M +accusation/MS +accusative/MS +accusatory +accuse/ZGDRS +accuser/M +accusing/Y +accustom/DSG +accustomed/U +ace/DSMG +acerbate/DSG +acerbic +acerbically +acerbity/M +acetaminophen/M +acetate/MS +acetic +acetone/M +acetonic +acetyl +acetylene/M +ache/DSMG +achene/MS +achievable/U +achieve/BLZGDRS +achievement/SM +achiever/M +aching/Y +achoo/M +achromatic +achy/TR +acid/SMY +acidic +acidify/GDS +acidity/M +acidosis/M +acidulous +acknowledge/DSG +acknowledged/U +acknowledgment/SM +acme/SM +acne/M +acolyte/MS +aconite/MS +acorn/MS +acoustic/S +acoustical/Y +acoustics/M +acquaint/AGSD +acquaintance/SM +acquaintanceship/M +acquainted/U +acquiesce/DSG +acquiescence/M +acquiescent/Y +acquire/ZGBDRSL +acquirement/M +acquisition/MS +acquisitive/YP +acquisitiveness/M +acquit/S +acquittal/MS +acquitted +acquitting +acre/SM +acreage/MS +acrid/PTRY +acridity/M +acridness/M +acrimonious/YP +acrimoniousness/M +acrimony/M +acrobat/MS +acrobatic/S +acrobatically +acrobatics/M +acronym/MS +acrophobia/M +acropolis/MS +across +acrostic/SM +acrylamide +acrylic/MS +act's +act/ASDGV +acting/M +actinium/M +action/ASM +actionable +activate/ICANGSD +activation/ICAM +activator/MS +active's +active/IKY +activeness/M +actives +activism/M +activist/MS +activities +activity/IM +actor/AMS +actress/MS +actual/Y +actuality/SM +actualization/M +actualize/GDS +actuarial +actuary/SM +actuate/GNDS +actuation/M +actuator/SM +acuity/M +acumen/M +acupressure/M +acupuncture/M +acupuncturist/SM +acute/PMYTRS +acuteness/M +acyclovir/M +acyl +ad/SM +adage/MS +adagio/MS +adamant/MY +adapt/BZGVDRS +adaptability/M +adaptation/MS +adapter/M +adaption/S +add/SDRBZG +addend/MS +addenda +addendum/M +adder/M +addict/GVMDS +addiction/SM +addition/SM +additional/Y +additive/SM +addle/GDS +address's +address/AGDS +addressable +addressed/U +addressee/SM +adduce/GDS +adenine/M +adenocarcinoma +adenoid/SM +adenoidal +adept/MYPS +adeptness/M +adequacy/IM +adequate/IY +adequateness/M +adhere/GDS +adherence/M +adherent/SM +adhesion/M +adhesive/PSM +adhesiveness/M +adiabatic +adieu/MS +adios +adipose +adj +adjacency/M +adjacent/Y +adjectival/Y +adjective/MS +adjoin/GDS +adjourn/DGLS +adjournment/SM +adjudge/GDS +adjudicate/GNVXDS +adjudication/M +adjudicator/SM +adjudicatory +adjunct/MS +adjuration/MS +adjure/GDS +adjust/AGDSL +adjustable +adjuster/SM +adjustment/AMS +adjutant/SM +adman/M +admen +admin/S +administer/DGS +administrate/XDSGNV +administration/M +administrative/Y +administrator/MS +admirably +admiral/MS +admiralty/M +admiration/M +admire/BZGDRS +admirer/M +admiring/Y +admissibility/IM +admissible/I +admissibly +admission/AM +admissions +admit/AS +admittance/M +admitted/Y +admitting/A +admix/GDS +admixture/SM +admonish/LDSG +admonishment/MS +admonition/MS +admonitory +ado/M +adobe/MS +adolescence/SM +adolescent/SM +adopt/AGVDS +adoptable +adopter/MS +adoption/SM +adorableness/M +adorably +adoration/M +adore/BZGDRS +adorer/M +adoring/Y +adorn/LGDS +adorned/U +adornment/MS +adrenal/MS +adrenalin's +adrenaline/M +adrenergic +adrift +adroit/PY +adroitness/M +adsorb/SDG +adsorbent/MS +adsorption/SM +adulate/DSGN +adulation/M +adulator/MS +adulatory +adult/MS +adulterant/MS +adulterate/GNDS +adulterated/U +adulteration/M +adulterer/SM +adulteress/MS +adulterous +adultery/SM +adulthood/M +adumbrate/GNDS +adumbration/M +adv +advance/LDSMG +advancement/SM +advantage/EDSMG +advantageous/EY +advent/SM +adventitious/Y +adventure/DRSMZG +adventurer/M +adventuresome +adventuress/MS +adventurism +adventurist/S +adventurous/YP +adventurousness/M +adverb/SM +adverbial/SMY +adversarial +adversary/SM +adverse/PRYT +adverseness/M +adversity/SM +advert/SMDG +advertise/LZGDRS +advertised/U +advertisement/MS +advertiser/M +advertising/M +advertorial/SM +advice/M +advisability/IM +advisable/I +advisably +advise/LDRSZGB +advised/UY +advisement/M +adviser/M +advisor/SM +advisory/SM +advocacy/M +advocate/MGDS +advt +adware +adze/SM +aegis/M +aerate/DSGN +aeration/M +aerator/SM +aerial/SMY +aerialist/MS +aerie/MS +aerobatic/S +aerobatics/M +aerobic/S +aerobically +aerobics/M +aerodrome/MS +aerodynamic/S +aerodynamically +aerodynamics/M +aerogram/S +aeronautic/S +aeronautical +aeronautics/M +aerosol/MS +aerospace/M +aery +aesthete/MS +aesthetic/S +aesthetically +aestheticism/M +aesthetics/M +afar +affability/M +affable +affably +affair/MS +affect's +affect/EGDS +affectation/SM +affected/UY +affecting/Y +affection/EM +affectionate/Y +affections +afferent +affiance/GDS +affidavit/SM +affiliate's +affiliate/EGNDS +affiliated/U +affiliation/EM +affiliations +affine +affinity/SM +affirm/AGDS +affirmation/AMS +affirmative/MYS +affix/GMDS +afflatus/M +afflict/GDS +affliction/SM +affluence/M +affluent/Y +afford/GDSB +affordability +affordably +afforest/EGSD +afforestation/M +affray/MS +affront/GMDS +afghan/MS +aficionado/MS +afield +afire +aflame +afloat +aflutter +afoot +aforementioned +aforesaid +aforethought +afoul +afraid/U +afresh +aft/RZ +afterbirth/M +afterbirths +afterburner/MS +aftercare/M +aftereffect/MS +afterglow/SM +afterimage/MS +afterlife/M +afterlives +aftermarket/MS +aftermath/M +aftermaths +afternoon/MS +aftershave/SM +aftershock/SM +aftertaste/SM +afterthought/SM +afterward/S +afterword/MS +again +against +agape/M +agar/M +agate/MS +agave/M +age/DSMGJ +ageism/M +ageist/SM +ageless/YP +agelessness/M +agency/SM +agenda/SM +agenesis +agent/AMS +ageratum/M +agglomerate/DSMGNX +agglomeration/M +agglutinate/DSXGN +agglutination/M +aggrandize/GLDS +aggrandizement/M +aggravate/GNXDS +aggravating/Y +aggravation/M +aggregate/MGNDSX +aggregation/M +aggregator/SM +aggression/M +aggressive/PY +aggressiveness/M +aggressor/SM +aggrieve/DSG +aggro +aghast +agile/Y +agility/M +aging/M +agitate/XGNDS +agitation/M +agitator/MS +agitprop/M +agleam +aglitter +aglow +agnostic/MS +agnosticism/M +ago +agog +agonist/S +agonize/GDS +agonizing/Y +agony/SM +agoraphobia/M +agoraphobic/MS +agrarian/MS +agrarianism/M +agree/EBLDS +agreeableness/EM +agreeably/E +agreeing/E +agreement/ESM +agribusiness/MS +agricultural/Y +agriculturalist/MS +agriculture/M +agriculturist/MS +agronomic +agronomist/MS +agronomy/M +aground +ague/M +ah +aha +ahchoo +ahead +ahem +ahoy +aid/SMDG +aide/SM +aided/U +aigrette/MS +ail/SDLG +aileron/SM +ailment/SM +aim/SMDG +aimless/YP +aimlessness/M +ain't +air/SMDJG +airbag/MS +airbase/SM +airbed/S +airborne +airbrush/MDSG +airbus/MS +aircraft/M +aircraftman +aircraftmen +aircrew/S +airdrome/S +airdrop/SM +airdropped +airdropping +airfare/SM +airfield/SM +airflow/M +airfoil/SM +airfreight/M +airguns +airhead/SM +airily +airiness/M +airing/M +airless/P +airlessness/M +airletters +airlift/SGMD +airline/RSMZ +airliner/M +airlock/SM +airmail/GSMD +airman/M +airmen +airplane/MS +airplay/M +airport/SM +airship/SM +airshow/S +airsick/P +airsickness/M +airspace/M +airspeed +airstrike/MS +airstrip/SM +airtight +airtime/M +airwaves/M +airway/MS +airwoman +airwomen +airworthiness/M +airworthy/P +airy/PTR +aisle/MS +aitch/MS +ajar +aka +akimbo +akin +alabaster/M +alack +alacrity/M +alarm/GMDS +alarming/Y +alarmist/SM +alas +alb/SM +albacore/SM +albatross/MS +albeit +albinism/M +albino/MS +album/MNS +albumen/M +albumin/M +albuminous +alchemist/SM +alchemy/M +alcohol/SM +alcoholic/MS +alcoholically +alcoholism/M +alcove/MS +alder/MS +alderman/M +aldermen +alderwoman/M +alderwomen +ale/SMV +aleatory +alehouse/SM +alembic/SM +alert/GMDYPS +alertness/M +alewife/M +alewives +alfalfa/M +alfresco +alga/M +algae +algal +algebra/SM +algebraic +algebraically +algorithm/SM +algorithmic +alias/GMDS +alibi/GMDS +alien/BGMDS +alienable/IU +alienate/DSGN +alienation/M +alienist/SM +alight/GDS +align/ALGDS +aligned/U +aligner/MS +alignment/AMS +alike/U +aliment/MDSG +alimentary +alimony/M +aliveness/M +aliyah/M +aliyahs +alkali/M +alkalies +alkaline +alkalinity/M +alkalize/DSG +alkaloid/SM +alkyd/MS +all/M +allay/GDS +allegation/MS +allege/GDS +alleged/Y +allegiance/MS +allegoric +allegorical/Y +allegorist/MS +allegory/SM +allegretto/MS +allegro/MS +allele/MS +alleluia/SM +allergen/SM +allergenic +allergic +allergically +allergist/SM +allergy/SM +alleviate/DSGN +alleviation/M +alley/MS +alleyway/SM +alliance/SM +alligator/MS +alliterate/DSXGNV +alliteration/M +alliterative/Y +allocate/ADSGN +allocation/AM +allocations +allot/LS +allotment/SM +allotted +allotting +allover +allow/EGDS +allowable/U +allowably +allowance/SM +alloy/GMDS +alloyed/U +allspice/M +allude/GDS +allure/MGLDS +allurement/MS +alluring/Y +allusion/SM +allusive/PY +allusiveness/M +alluvial/M +alluvium/SM +ally/GDSM +almanac/SM +almighty +almond/MS +almoner/SM +almost +alms/M +almshouse/MS +aloe/SM +aloft +aloha/MS +alone +along +alongshore +alongside +aloof/PY +aloofness/M +aloud +alp/SM +alpaca/MS +alpha/MS +alphabet/SM +alphabetic +alphabetical/Y +alphabetization/SM +alphabetize/ZGDRS +alphabetizer/M +alphanumeric +alphanumerical/Y +alpine/S +already +alright +also +alt/S +altar/MS +altarpiece/SM +alter/GDBS +alterable/U +alteration/MS +altercation/SM +altered/U +alternate/DSMYGNVX +alternation/M +alternative/MYS +alternator/SM +although +altimeter/MS +altitude/MS +alto/SM +altogether +altruism/M +altruist/SM +altruistic +altruistically +alum/SM +alumina/M +aluminum/M +alumna/M +alumnae +alumni +alumnus/M +alveolar/S +always +am/N +amalgam/SM +amalgamate/XGNDS +amalgamation/M +amanuenses +amanuensis/M +amaranth/M +amaranths +amaretto/M +amaryllis/MS +amass/GDS +amateur/SM +amateurish/YP +amateurishness/M +amateurism/M +amatory +amaze/LMGDS +amazement/M +amazing/Y +amazon/MS +amazonian +ambassador/SM +ambassadorial +ambassadorship/MS +ambassadress/MS +amber/M +ambergris/M +ambiance/MS +ambidexterity/M +ambidextrous/Y +ambient +ambiguity/SM +ambiguous/UY +ambit +ambition/MS +ambitious/YP +ambitiousness/M +ambivalence/M +ambivalent/Y +amble/MZGDRS +ambler/M +ambrosia/M +ambrosial +ambulance/MS +ambulanceman +ambulancemen +ambulancewoman +ambulancewomen +ambulant +ambulate/DSXGN +ambulation/M +ambulatory/SM +ambuscade/MGDS +ambush/GMDS +ameliorate/GNVDS +amelioration/M +amen/B +amenability/M +amenably +amend/BLGDS +amendment/SM +amenity/SM +amerce/GLDS +amercement/SM +americium/M +amethyst/SM +amiability/M +amiable +amiably +amicability/M +amicable +amicably +amid +amide/MS +amidship/S +amigo/MS +amine/S +amino +amiss +amitriptyline +amity/M +ammeter/SM +ammo/M +ammonia/M +ammonium +ammunition/M +amnesia/M +amnesiac/MS +amnesic/SM +amnesty/GDSM +amniocenteses +amniocentesis/M +amnion/MS +amniotic +amoeba/MS +amoebae +amoebic +amok +among +amontillado/SM +amoral/Y +amorality/M +amorous/YP +amorousness/M +amorphous/PY +amorphousness/M +amortization/SM +amortize/DSGB +amount/GMDS +amour/MS +amoxicillin +amp/SMY +amperage/M +ampere/MS +ampersand/MS +amphetamine/SM +amphibian/MS +amphibious/Y +amphitheater/SM +amphora/M +amphorae +ampicillin +ample/TR +amplification/M +amplifier/M +amplify/NDRSXZG +amplitude/SM +ampule/MS +amputate/GNDSX +amputation/M +amputee/MS +amt +amulet/MS +amuse/LGDS +amusement/MS +amusing/Y +amygdala +amylase/M +amyloid +an/CS +anabolism/M +anachronism/SM +anachronistic +anachronistically +anaconda/SM +anaerobe/SM +anaerobic +anaerobically +anagram/MS +anal/Y +analgesia/M +analgesic/SM +analog/MS +analogical/Y +analogize/GDS +analogous/YP +analogousness/M +analogue/SM +analogy/SM +analysand/MS +analyses/A +analysis/AM +analyst/SM +analytic/S +analytical/Y +analyzable +analyze/ADSG +analyzer/SM +anapest/SM +anapestic/MS +anarchic +anarchically +anarchism/M +anarchist/MS +anarchistic +anarchy/M +anathema/SM +anathematize/DSG +anatomic +anatomical/Y +anatomist/SM +anatomize/DSG +anatomy/SM +ancestor/SM +ancestral/Y +ancestress/MS +ancestry/SM +anchor/MDGS +anchorage/MS +anchorite/MS +anchorman/M +anchormen +anchorpeople +anchorperson/SM +anchorwoman/M +anchorwomen +anchovy/SM +ancient/SPMRYT +ancientness/M +ancillary/SM +and +andante/SM +andiron/SM +androgen/M +androgenic +androgynous +androgyny/M +android/SM +anecdotal/Y +anecdote/MS +anemia/M +anemic +anemically +anemometer/SM +anemone/SM +anent +anesthesia/M +anesthesiologist/SM +anesthesiology/M +anesthetic/SM +anesthetist/MS +anesthetization/M +anesthetize/GDS +aneurysm/SM +anew +angel/MS +angelfish/MS +angelic +angelica/M +angelical/Y +anger/GMDS +angina/M +angioplasty/SM +angiosperm/SM +angle/MZGDRS +angler/M +angleworm/MS +anglicism/S +anglicize/GDS +angling/M +anglophile/S +anglophone/S +angora/MS +angostura +angrily +angry/TR +angst/M +angstrom/MS +anguish/GMDS +angular +angularity/SM +angulation +anhydrous +aniline/M +anilingus +animadversion/MS +animadvert/GSD +animal/MS +animalcule/SM +animate/ADSGN +animated/Y +animation/AM +animations +animator/MS +anime/M +animism/M +animist/SM +animistic +animosity/SM +animus/M +anion/MS +anionic +anise/M +aniseed/M +anisette/M +ankh/M +ankhs +ankle/MS +anklebone/MS +anklet/MS +annalist/SM +annals/M +anneal/GDS +annelid/MS +annex/GMDS +annexation/MS +annihilate/DSGN +annihilation/M +annihilator/SM +anniversary/SM +annotate/DSXGNV +annotation/M +annotator/MS +announce/DRSLZG +announced/U +announcement/MS +announcer/M +annoy/GDS +annoyance/MS +annoying/Y +annual/MYS +annualized +annuitant/SM +annuity/SM +annul/LS +annular +annulled +annulling +annulment/SM +annulus +annunciation/SM +anode/MS +anodize/GDS +anodyne/MS +anoint/GDLS +anointment/M +anomalous/Y +anomaly/SM +anon/S +anonymity/M +anonymous/Y +anopheles/M +anorak/MS +anorectic/SM +anorexia/M +anorexic/MS +another +answer/BMDGS +answerable/U +answered/U +answerphone/S +ant/SMD +antacid/SM +antagonism/SM +antagonist/SM +antagonistic +antagonistically +antagonize/DSG +antarctic +ante/SM +anteater/MS +antebellum +antecedence/M +antecedent/SM +antechamber/SM +antedate/GDS +antediluvian +anteing +antelope/MS +antenatal +antenna/SM +antennae +anterior +anteroom/MS +anthem/MS +anther/MS +anthill/SM +anthologist/SM +anthologize/DSG +anthology/SM +anthracite/M +anthrax/M +anthropocentric +anthropoid/MS +anthropological/Y +anthropologist/SM +anthropology/M +anthropomorphic +anthropomorphically +anthropomorphism/M +anthropomorphize +anthropomorphous +anti/SM +antiabortion +antiabortionist/MS +antiaircraft +antibacterial/MS +antibiotic/MS +antibody/SM +antic/MS +anticancer +anticipate/GNXDS +anticipated/U +anticipation/M +anticipatory +anticked +anticking +anticlerical +anticlimactic +anticlimactically +anticlimax/MS +anticline/SM +anticlockwise +anticoagulant/MS +anticommunism/M +anticommunist/SM +anticyclone/SM +anticyclonic +antidemocratic +antidepressant/MS +antidote/MS +antifascist/MS +antiferromagnetic +antifreeze/M +antigen/SM +antigenic +antigenicity/M +antihero/M +antiheroes +antihistamine/SM +antiknock/M +antilabor +antilogarithm/SM +antimacassar/MS +antimalarial +antimatter/M +antimicrobial +antimissile +antimony/M +antineutrino/SM +antineutron/MS +antinuclear +antioxidant/MS +antiparticle/SM +antipasti +antipasto/MS +antipathetic +antipathy/SM +antipersonnel +antiperspirant/SM +antiphon/SM +antiphonal/MYS +antipodal/S +antipodean/MS +antipodes/M +antipollution +antipoverty +antiproton/MS +antiquarian/SM +antiquarianism/M +antiquary/SM +antiquate/GDS +antique/DSMG +antiquity/SM +antirrhinum/S +antiscience +antisemitic +antisemitism/M +antisepsis/M +antiseptic/SM +antiseptically +antiserum/MS +antislavery +antisocial/Y +antispasmodic/MS +antisubmarine +antitank +antitheses +antithesis/M +antithetic +antithetical/Y +antitoxin/MS +antitrust +antivenin/MS +antivenom +antiviral/MS +antivirus +antivivisectionist/MS +antiwar +antler/MDS +antonym/SM +antonymous +antrum +antsy/TR +anus/MS +anvil/MS +anxiety/SM +anxious/YP +anxiousness/M +any +anybody/SM +anyhow +anymore +anyone/M +anyplace +anything/SM +anytime +anyway/S +anywhere +anywise +aorta/MS +aortic +apace +apart +apartheid/M +apartment/MS +apathetic +apathetically +apathy/M +apatite/M +ape/DSMG +apelike +aperitif/MS +aperture/SM +apex/MS +aphasia/M +aphasic/MS +aphelia +aphelion/SM +aphid/MS +aphorism/MS +aphoristic +aphoristically +aphrodisiac/SM +apiarist/SM +apiary/SM +apical/Y +apiece +apish/Y +aplenty +aplomb/M +apocalypse/SM +apocalyptic +apocrypha/M +apocryphal/Y +apogee/MS +apolitical/Y +apologetic/U +apologetically +apologia/SM +apologist/MS +apologize/GDS +apology/SM +apoplectic +apoplexy/SM +apoptosis +apoptotic +apostasy/SM +apostate/SM +apostatize/GDS +apostle/MS +apostleship/M +apostolic +apostrophe/MS +apothecary/SM +apothegm/SM +apotheoses +apotheosis/M +app/SM +appall/GDS +appalling/Y +appaloosa/MS +apparatchik/S +apparatus/MS +apparel/MDGS +apparent/Y +apparition/SM +appeal/GMDS +appealing/UY +appear/AESDG +appearance/EAMS +appease/LZGDRS +appeasement/SM +appeaser/M +appellant/SM +appellate/XN +appellation/M +append/GDS +appendage/SM +appendectomy/SM +appendices +appendicitis/M +appendix/MS +appertain/GDS +appetite/SM +appetizer/MS +appetizing/Y +applaud/ZGDRS +applauder/M +applause/M +apple/MS +applejack/M +applesauce/M +applet/MS +appliance/SM +applicability/M +applicable/I +applicably +applicant/SM +application/AM +applicator/SM +applier/MS +applique/DSM +appliqueing +apply/ANXGDS +appoint/AELSVGD +appointee/SM +appointment's/A +appointment/ESM +apportion/AGDLS +apportionment/AM +appose/GDS +apposite/YNVP +appositeness/M +apposition/M +appositive/SM +appraisal/AMS +appraise/ADSG +appraiser/MS +appreciable/I +appreciably/I +appreciate/DSXGNV +appreciated/U +appreciation/M +appreciative/Y +appreciator/MS +appreciatory +apprehend/GDS +apprehension/MS +apprehensive/YP +apprehensiveness/M +apprentice/DSMG +apprenticeship/MS +apprise/GDS +apprize/GDS +approach/GBMDS +approachable/UI +approbation/EM +approbations +appropriate/PYGNXDS +appropriated/U +appropriateness/IM +appropriation/M +appropriator/SM +approval/EM +approvals +approve/EGDS +approved/U +approving/EY +approx +approximate/DSXYGN +approximation/M +appurtenance/SM +appurtenant +apricot/MS +apron/MS +apropos +apse/SM +apt/IYPT +apter +aptitude/SM +aptness/IM +aqua/SM +aquaculture/M +aqualung/MS +aquamarine/SM +aquanaut/MS +aquaplane/MGDS +aquarium/MS +aquatic/SM +aquatically +aquatics/M +aquatint/S +aquavit/M +aqueduct/MS +aqueous +aquifer/SM +aquiline +arabesque/MS +arability/M +arachnid/MS +arachnophobia +arbiter/SM +arbitrage/MZGDRS +arbitrager/M +arbitrageur/SM +arbitrament/SM +arbitrarily +arbitrariness/M +arbitrary/P +arbitrate/GNDS +arbitration/M +arbitrator/MS +arbor/MS +arboreal +arboretum/SM +arborvitae/SM +arbutus/MS +arc/SMDG +arcade/MS +arcane +arch/PZTGVMDRSY +archaeological/Y +archaeologist/SM +archaeology/M +archaic +archaically +archaism/MS +archaist/MS +archangel/MS +archbishop/SM +archbishopric/SM +archdeacon/SM +archdiocesan +archdiocese/MS +archduchess/MS +archduke/MS +archenemy/SM +archer/M +archery/M +archetypal +archetype/MS +archfiend/MS +archiepiscopal +archipelago/MS +architect/SM +architectonic/S +architectonics/M +architectural/Y +architecture/MS +architrave/SM +archival +archive/DSMG +archivist/MS +archness/M +archway/SM +arctic/MS +ardent/Y +ardor/MS +arduous/YP +arduousness/M +are/SMB +area/SM +areal +aren't +arena/MS +argent/M +arginine +argon/M +argosy/SM +argot/MS +arguable/IU +arguably/U +argue/ZGDRS +arguer/M +argument/MS +argumentation/M +argumentative/PY +argumentativeness/M +argyle/MS +aria/SM +arid/Y +aridity/M +aright +arise/GS +arisen +aristocracy/SM +aristocrat/SM +aristocratic +aristocratically +arithmetic/M +arithmetical/Y +arithmetician/MS +ark/SM +arm's +arm/EAGDS +armada/MS +armadillo/SM +armament/AEM +armaments +armature/MS +armband/MS +armchair/MS +armed/U +armful/MS +armhole/SM +armistice/SM +armlet/MS +armload/S +armor/ZGMDRS +armored/U +armorer/M +armorial +armory/SM +armpit/MS +armrest/SM +army/SM +aroma/MS +aromatherapist/MS +aromatherapy/M +aromatic/MS +aromatically +arose +around +arousal/M +arouse/GDS +arpeggio/MS +arr +arraign/DGSL +arraignment/SM +arrange/AESDLG +arrangement's/E +arrangement/ASM +arranger/SM +arrant +arras/MS +array/EGMDS +arrears/M +arrest/AGMDS +arrhythmia/M +arrhythmic +arrhythmical +arrival/MS +arrive/GDS +arrogance/M +arrogant/Y +arrogate/GNDS +arrogation/M +arrow/MS +arrowhead/MS +arrowroot/M +arroyo/MS +arsed +arsenal/MS +arsenic/M +arsing +arson/M +arsonist/SM +art/SM +arterial +arteriole/MS +arteriosclerosis/M +artery/SM +artful/PY +artfulness/M +arthritic/MS +arthritis/M +arthropod/MS +arthroscope/SM +arthroscopic +arthroscopy +artichoke/SM +article/MDS +articulacy/I +articular +articulate/YGNPDSX +articulateness/IM +articulation/M +artifact/SM +artifice/RSMZ +artificer/M +artificial/Y +artificiality/M +artillery/M +artilleryman/M +artillerymen +artiness/M +artisan/MS +artist/MS +artiste/MS +artistic/I +artistically +artistry/M +artless/PY +artlessness/M +artsy/TR +artwork/MS +arty/PTR +arugula +arum/SM +asap +asbestos/M +ascend/AGDS +ascendance/M +ascendancy/M +ascendant/SM +ascension/MS +ascent/MS +ascertain/GDSBL +ascertainment/M +ascetic/MS +ascetically +asceticism/M +ascot/MS +ascribe/GBDS +ascription/M +aseptic +aseptically +asexual/Y +asexuality/M +ash/MDNSG +ashamed/UY +ashcan/MS +ashlar/MS +ashore +ashram/MS +ashtray/SM +ashy/TR +aside/MS +asinine/Y +asininity/SM +ask/SDG +askance +asked/U +askew +aslant +asleep +asocial +asp/SMNX +asparagus/M +aspartame/M +aspect/MS +aspen/M +asperity/SM +aspersion/MS +asphalt/MDGS +asphodel/SM +asphyxia/M +asphyxiate/DSXGN +asphyxiation/M +aspic/MS +aspidistra/MS +aspirant/MS +aspirate/MGNDSX +aspiration/M +aspirator/SM +aspire/GDS +aspirin/MS +ass/MS +assail/GBDS +assailable/U +assailant/SM +assassin/SM +assassinate/GNXDS +assassination/M +assault/MDRGS +assay/ZGMDRS +assayer/M +assemblage/SM +assemble/AEGSD +assembler/MS +assemblies +assembly/AM +assemblyman/M +assemblymen +assemblywoman/M +assemblywomen +assent/GMDS +assert/AGVDS +assertion/AM +assertions +assertive/YP +assertiveness/M +assess/ALGDS +assessment/ASM +assessor/MS +asset/MS +asseverate/DSGN +asseveration/M +asshole/MS! +assiduity/M +assiduous/PY +assiduousness/M +assign's +assign/ALGDS +assignable +assignation/MS +assigned/U +assignee/M +assigner/MS +assignment/AMS +assignor/MS +assimilate/DSGN +assimilated/U +assimilation/M +assist/GVMDS +assistance/M +assistant/SM +assisted/U +assize/MS +assn +assoc +associate's +associate/EDSGNV +association/EM +associations +associativity +assonance/M +assonant/MS +assort/GLDS +assortative +assortment/MS +asst +assuage/GDS +assume/BGDS +assumption/SM +assumptive +assurance/ASM +assure/AGDS +assured/MYS +astatine/M +aster/EMS +asterisk/GMDS +astern +asteroid/MS +asthma/M +asthmatic/SM +asthmatically +astigmatic +astigmatism/SM +astir +astonish/DSLG +astonishing/Y +astonishment/M +astound/GDS +astounding/Y +astraddle +astrakhan/M +astral +astray +astride +astringency/M +astringent/SMY +astrolabe/SM +astrologer/SM +astrological/Y +astrologist/MS +astrology/M +astronaut/MS +astronautic/S +astronautical +astronautics/M +astronomer/SM +astronomic +astronomical/Y +astronomy/M +astrophysical +astrophysicist/MS +astrophysics/M +astute/PYTR +astuteness/M +asunder +asylum/SM +asymmetric +asymmetrical/Y +asymmetry/SM +asymptomatic +asymptotic +asymptotically +asynchronous/Y +at +atavism/M +atavist/SM +atavistic +ataxia/M +ataxic/MS +ate +atelier/SM +atheism/M +atheist/MS +atheistic +atherosclerosis/M +atherosclerotic +athirst +athlete/MS +athletic/S +athletically +athleticism +athletics/M +athwart +atilt +atishoo +atlas/MS +atmosphere/MS +atmospheric/S +atmospherically +atmospherics/M +atoll/MS +atom/SM +atomic +atomically +atomize/ZGDRS +atomizer/M +atonal/Y +atonality/M +atone/LGDS +atonement/M +atop +atria +atrial +atrioventricular +atrium/M +atrocious/PY +atrociousness/M +atrocity/SM +atrophy/DSMG +atropine/M +attach/ALGDS +attache/BM +attached/U +attachment/AM +attachments +attack/ZGMDRS +attacker/M +attain/AGDS +attainability/M +attainable/U +attainder/M +attainment/SM +attar/M +attempt's +attempt/ASDG +attend/SDRZG +attendance/SM +attendant/SM +attended/U +attendee/SM +attention/IM +attentions +attentive/IPY +attentiveness/IM +attenuate/DSGN +attenuation/M +attest/SDG +attestation/SM +attested/U +attic/SM +attire/DSMG +attitude/SM +attitudinal +attitudinize/GDS +attn +attorney/MS +attract/SGVDB +attractant/MS +attraction/MS +attractive/UY +attractiveness/M +attribute/DSMGNVBX +attributed/U +attribution/M +attributive/MYS +attrition/M +attune/DSG +atty +atwitter +atypical/Y +aubergine/S +auburn/M +auction/MDGS +auctioneer/SM +audacious/YP +audaciousness/M +audacity/M +audibility/IM +audible/MS +audibly/I +audience/MS +audio/MS +audiological +audiologist/SM +audiology/M +audiometer/SM +audiophile/SM +audiotape/SM +audiovisual/S +audiovisuals/M +audit/GMDS +audition/SMDG +auditor/MS +auditorium/SM +auditory +auger/MS +aught/MS +augment/DRZGS +augmentation/MS +augmentative +augmenter/M +augur/GMDS +augury/SM +august/PTRY +augustness/M +auk/SM +aunt/SM +auntie/SM +aura/MS +aural/Y +aureole/SM +aureus +auricle/SM +auricular +aurora/SM +auscultate/GNDSX +auscultation/M +auspice/SM +auspicious/IY +auspiciousness/M +austere/RYT +austerity/SM +austral +authentic/IU +authentically +authenticate/XGNDS +authenticated/U +authentication/M +authenticity/M +author/SMDG +authoress/MS +authorial +authoritarian/MS +authoritarianism/M +authoritative/YP +authoritativeness/M +authority/SM +authorization/MS +authorize/AGDS +authorized/U +authorship/M +autism/M +autistic +auto/MS +autobahn/SM +autobiographer/SM +autobiographic +autobiographical/Y +autobiography/SM +autoclave/MS +autocracy/SM +autocrat/SM +autocratic +autocratically +autocross +autodidact/SM +autograph/MDG +autographs +autoimmune +autoimmunity/M +automaker/SM +automate/GNDS +automatic/SM +automatically +automation/M +automatism/M +automatize/GDS +automaton/SM +automobile/DSMG +automotive +autonomic +autonomous/Y +autonomy/M +autopilot/SM +autopsy/GDSM +autosuggestion +autoworker/MS +autumn/SM +autumnal +aux +auxiliary/SM +auxin/M +av/RZ +avail/BGMDS +availability/UM +available/U +avalanche/SM +avarice/M +avaricious/Y +avast +avatar/MS +avaunt +avdp +ave +avenge/ZGDRS +avenger/M +avenue/MS +average/MYGDS +averred +averring +averse/XN +aversion/M +avert/GDS +avg +avian +aviary/SM +aviation/M +aviator/MS +aviatrices +aviatrix/MS +avid/Y +avidity/M +avionic/S +avionics/M +avitaminosis/M +avocado/SM +avocation/MS +avocational +avoid/SDGB +avoidable/U +avoidably/U +avoidance/M +avoidant +avoirdupois/M +avouch/DSG +avow/EDGS +avowal/ESM +avowed/Y +avuncular/Y +aw +await/GDS +awake/GS +awaken/AGDS +awakening/SM +award/GMDS +awardee/S +aware/UP +awareness/UM +awash +away +awe/DSMG +aweigh +awesome/YP +awesomeness/M +awestruck +awful/YP +awfuller +awfullest +awfulness/M +awhile +awkward/RYPT +awkwardness/M +awl/SM +awn/GJSM +awning/M +awoke +awoken +awry +ax/MDSG +axial/Y +axiom/SM +axiomatic +axiomatically +axis/M +axle/MS +axletree/SM +axolotl/SM +axon/MS +ayah/M +ayahs +ayatollah/M +ayatollahs +aye/SM +azalea/SM +azimuth/M +azimuths +azure/SM +b/KDT +baa/SMDG +babble/MZGDRS +babbler/M +babe/SM +babel/MS +baboon/MS +babushka/SM +baby/TGDRSM +babyhood/M +babyish +babysat +babysit/S +babysitter/MS +babysitting/M +baccalaureate/SM +baccarat/M +bacchanal/MS +bacchanalia/M +bacchanalian/MS +baccy +bachelor/SM +bachelorhood/M +bacillary +bacilli +bacillus/M +back/SJZGMDR +backache/MS +backbench/S +backbit +backbite/ZGRS +backbiter/M +backbitten +backboard/SM +backbone/MS +backbreaking +backchat +backcloth +backcloths +backcomb/DSG +backdate/GDS +backdoor +backdrop/MS +backer/M +backfield/SM +backfire/MGDS +backgammon/M +background/MRZS +backgrounder/M +backhand/MDRSZG +backhanded/Y +backhander/M +backhoe/MS +backing/M +backlash/MS +backless +backlog/MS +backlogged +backlogging +backpack/ZGMDRS +backpacker/M +backpacking/M +backpedal/SDG +backrest/SM +backroom/S +backscratching/M +backseat/SM +backside/SM +backslapper/SM +backslapping/M +backslash/MS +backslid +backslide/RSZG +backslider/M +backspace/DSMG +backspin/M +backstabber/MS +backstabbing +backstage/M +backstair/S +backstop/SM +backstopped +backstopping +backstory/S +backstreet/S +backstretch/MS +backstroke/MGDS +backtalk/M +backtrack/SDG +backup/MS +backward/PSY +backwardness/M +backwash/M +backwater/SM +backwoods/M +backwoodsman/M +backwoodsmen +backyard/SM +bacon/M +bacteria/M +bacterial +bactericidal +bactericide/SM +bacteriologic +bacteriological +bacteriologist/SM +bacteriology/M +bacterium/M +bad/MYP +badder +baddest +baddie/MS +bade +badge/MZRS +badger/GMD +badinage/M +badlands/M +badman/M +badmen +badminton/M +badmouth/GD +badmouths +badness/M +baffle/MZGDRSL +bafflement/M +baffler/M +bag/SM +bagatelle/SM +bagel/MS +bagful/MS +baggage/M +bagged +baggie/M +baggily +bagginess/M +bagging +baggy/PTRS +bagpipe/MZRS +bagpiper/M +baguette/MS +bah +baht/SM +bail/SBGMD +bailey/S +bailiff/S +bailiwick/MS +bailout/SM +bailsman/M +bailsmen +bairn/MS +bait/SGMD +baize/M +bake/DRSMZG +baked/U +baker/M +bakery/SM +bakeshop/MS +baklava/M +baksheesh/M +balaclava/MS +balalaika/MS +balance's +balance/UDSG +balboa/SM +balcony/SM +bald/STGPDRY +balderdash/M +baldfaced +baldness/M +baldric/SM +baldy/S +bale/DRSMZG +baleen/M +baleful/PY +balefulness/M +baler/M +balk/SGMD +balky/RT +ball/SGMD +ballad/SM +balladeer/MS +balladry/M +ballast/GSMD +ballcock/MS +ballerina/SM +ballet/SM +balletic +ballgame/MS +ballgirl/S +ballgown/S +ballistic/S +ballistics/M +balloon/SGMD +balloonist/MS +ballot/SMDG +ballpark/MS +ballplayer/MS +ballpoint/MS +ballroom/MS +balls/DSG +ballsy/RT +bally +ballyhoo/SMDG +balm/SM +balminess/M +balmy/RTP +baloney/M +balsa/MS +balsam/SM +balsamic +baluster/SM +balustrade/MS +bamboo/SM +bamboozle/DSG +ban/SM +banal/Y +banality/SM +banana/SM +band's +band/ESGD +bandage/DSMG +bandanna/MS +bandbox/MS +bandeau/M +bandeaux +bandit/SM +banditry/M +bandleader/S +bandmaster/SM +bandoleer/SM +bandsman/M +bandsmen +bandstand/SM +bandwagon/SM +bandwidth +bandwidths +bandy/DRSTG +bane/SM +baneful +bang/SGMDR +bangle/SM +bani +banish/GLDS +banishment/M +banister/SM +banjo/MS +banjoist/SM +bank/SZGBMDR +bankbook/SM +bankcard/SM +banker/M +banking/M +banknote/SM +bankroll/SGMD +bankrupt/SGMD +bankruptcy/SM +banned +banner/SM +banning +bannock/MS +banns/M +banquet/ZGMDRS +banqueter/M +banquette/SM +banshee/MS +bantam/SM +bantamweight/SM +banter/GSMD +bantering/Y +banyan/SM +banzai/SM +baobab/SM +bap/S +baptism/MS +baptismal +baptist/S +baptistery/SM +baptize/ZGDRS +baptized/U +baptizer/M +bar's +bar/ECUTS +barb/SZGMDR +barbacoa +barbarian/SM +barbarianism/MS +barbaric +barbarically +barbarism/SM +barbarity/SM +barbarize/DSG +barbarous/Y +barbecue/DSMG +barbel/SM +barbell/MS +barber/GMD +barberry/SM +barbershop/MS +barbie/S +barbiturate/SM +barbwire/M +barcarole/SM +bard/SM +bardic +bare/DRSPYG +bareback/D +barefaced/Y +barefoot/D +barehanded +bareheaded +barelegged +bareness/M +barf/SGMDY +barfly/SM +bargain/MDRZGS +bargainer/M +barge/MGDS +bargeman/M +bargemen +barhop/S +barhopped +barhopping +barista/MS +baritone/MS +barium/M +bark's +bark/CSGD +barkeep/ZMRS +barkeeper/M +barker/SM +barley/M +barmaid/MS +barman/M +barmen +barmy/RT +barn/SM +barnacle/MDS +barney/S +barnstorm/SDRZG +barnstormer/M +barnyard/SM +barometer/MS +barometric +barometrically +baron/MS +baronage/MS +baroness/MS +baronet/MS +baronetcy/SM +baronial +barony/SM +baroque/M +barrack/MDGS +barracuda/SM +barrage/MGDS +barre/MGJDS +barred/UEC +barrel/GSMD +barren/TPSMR +barrenness/M +barrette/SM +barricade/MGDS +barrier/MS +barring/ECU +barrio/SM +barrister/MS +barroom/MS +barrow/SM +bartender/SM +barter/ZGSMDR +barterer/M +baryon/SM +basal/Y +basalt/M +basaltic +base's +base/CDSLTG +baseball/SM +baseboard/MS +baseless +baseline/MS +basely +baseman/M +basemen +basement/CMS +baseness/M +baser +bash/GMDS +bashful/PY +bashfulness/M +bashing/M +basic/MS +basically +basil/M +basilica/MS +basilisk/MS +basin/MS +basinful/MS +basis/M +bask/SGD +basket/SM +basketball/MS +basketry/M +basketwork/M +basque/S +bass/MS +basset/SM +bassinet/MS +bassist/MS +basso/MS +bassoon/MS +bassoonist/SM +basswood/MS +bast/M +bastard/MS +bastardization/MS +bastardize/GDS +bastardy/M +baste/ZGNXDRS +baster/M +bastion/M +bat/SM +batch/MDSG +bate/KACGSD +bath/ZGMDRS +bathe/M +bather/M +bathetic +bathhouse/MS +bathing/M +bathmat/MS +bathos/M +bathrobe/SM +bathroom/SM +baths +bathtub/MS +bathwater +bathyscaphe/SM +bathysphere/MS +batik/MS +batiste/M +batman/M +batmen +baton/MS +batsman/M +batsmen +battalion/SM +batted +batten/GSMD +batter/JZGSMDR +batterer/M +battery/SM +batting/M +battle/LDRSMZG +battleaxe/MS +battledore/SM +battledress +battlefield/MS +battlefront/MS +battleground/MS +battlement/SM +battler/M +battleship/SM +batty/RT +bauble/SM +baud/SM +bauxite/M +bawd/SM +bawdily +bawdiness/M +bawdy/PRT +bawl/SGMD +bay/SMDG +bayberry/SM +bayonet/SMDG +bayou/MS +bazaar/SM +bazillion/S +bazooka/SM +bbl +bdrm +be +beach/MDSG +beachcomber/SM +beachfront +beachhead/MS +beachwear/M +beacon/SM +bead/SGMD +beading/M +beadle/SM +beady/RT +beagle/SM +beak/SZMDR +beaker/M +beam/SGMD +bean/SGMD +beanbag/MS +beanfeast/S +beanie/SM +beanpole/MS +beansprout/S +beanstalk/MS +bear/SZGBJMR +bearable/U +bearably/U +beard/MDGS +beardless +bearer/M +bearing/M +bearish/PY +bearishness/M +bearlike +bearskin/MS +beast/MS +beastliness/M +beastly/TPRM +beat/SZGBMNRJ +beatable/U +beaten/U +beater/M +beatific +beatifically +beatification/M +beatify/GXNDS +beating/M +beatitude/SM +beatnik/MS +beau/SM +beaut/MS +beauteous/Y +beautician/SM +beautification/M +beautifier/M +beautiful/Y +beautify/NDRSZG +beauty/SM +beaver/SGMD +bebop/MS +becalm/GSD +became +because +beck/SM +beckon/SGD +becloud/GDS +become/S +becoming/UY +becquerel/S +bed/SM +bedaub/GSD +bedazzle/GDSL +bedazzlement/M +bedbug/SM +bedchamber/S +bedclothes/M +bedded +bedder +bedding/M +bedeck/GSD +bedevil/LGDS +bedevilment/M +bedfellow/SM +bedhead/S +bedim/S +bedimmed +bedimming +bedizen/GDS +bedlam/SM +bedpan/SM +bedpost/SM +bedraggle/GDS +bedridden +bedrock/SM +bedroll/SM +bedroom/SM +bedside/SM +bedsit/S +bedsitter/S +bedsore/SM +bedspread/SM +bedstead/SM +bedtime/SM +bee/RSMZGJ +beebread/M +beech/MS +beechnut/MS +beef/SGMD +beefburger/SM +beefcake/MS +beefiness/M +beefsteak/MS +beefy/RPT +beehive/MS +beekeeper/MS +beekeeping/M +beeline/MS +been +beep/SZGMDR +beeper/M +beer/M +beery/TR +beeswax/M +beet/SM +beetle/MGDS +beetroot/S +beeves +befall/SGN +befell +befit/S +befitted +befitting/Y +befog/S +befogged +befogging +before +beforehand +befoul/DGS +befriend/SGD +befuddle/GLDS +befuddlement/M +beg/S +began +begat +beget/S +begetter/S +begetting +beggar/MDYGS +beggary/M +begged +begging +begin/S +beginner/SM +beginning/MS +begone +begonia/SM +begot +begotten +begrime/DSG +begrudge/DSG +begrudging/Y +beguile/DRSZGL +beguilement/M +beguiler/M +beguiling/Y +beguine/SM +begum/MS +begun +behalf/M +behalves +behave/GDS +behavior/SM +behavioral/Y +behaviorism/M +behaviorist/MS +behead/DGS +beheld +behemoth/M +behemoths +behest/MS +behind/MS +behindhand +behold/NRZGS +beholder/M +behoove/DSG +beige/M +being/M +bejewel/SDG +belabor/SDG +belated/Y +belay/GDS +belch/GMDS +beleaguer/GSD +belfry/SM +belie/DS +belief/EUM +beliefs +believable/U +believably/U +believe/EDRSZG +believer/EUMS +believing/U +belittle/LDSG +belittlement/M +bell/SGMD +belladonna/M +bellboy/SM +belle/MS +belled/A +belletrist/MS +belletristic +bellhop/SM +bellicose +bellicosity/M +belligerence/M +belligerency/M +belligerent/MYS +belling/A +bellman/M +bellmen +bellow/MDGS +bellwether/MS +belly/GDSM +bellyache/MGDS +bellybutton/SM +bellyful/MS +belong/JDGS +belonging/M +beloved/SM +below +belt/SGMD +beltway/SM +beluga/MS +belying +bemire/GDS +bemoan/DGS +bemuse/LGDS +bemused/Y +bemusement/M +bench/GMDS +benchmark/MS +bend/BSZGMR +bender/M +bendy/TR +beneath +benedictine +benediction/SM +benedictory +benefaction/SM +benefactor/MS +benefactress/MS +benefice/SM +beneficence/M +beneficent/Y +beneficial/Y +beneficiary/SM +benefit/SMDG +benevolence/SM +benevolent/Y +benighted/Y +benign/Y +benignant +benignity/M +bent/SM +bentonite +bentwood/M +benumb/DSG +benzene/M +benzine/M +benzyl +bequeath/DG +bequeaths +bequest/MS +berate/GDS +bereave/DSLG +bereavement/MS +bereft +beret/MS +berg/SM +beriberi/M +berk/S +berkelium/M +berm/SM +berry/GDSM +berrylike +berserk +berth/GMD +berths +beryl/MS +beryllium/M +beseech/ZGRS +beseecher/M +beseeching/Y +beseem/DSG +beset/S +besetting +beside/S +besiege/ZGDRS +besieger/M +besmear/DSG +besmirch/GDS +besom/MS +besot/S +besotted +besotting +besought +bespangle/DSG +bespatter/GSD +bespeak/SG +bespectacled +bespoke +bespoken +best/SGMD +bestial/Y +bestiality/M +bestiary/SM +bestir/S +bestirred +bestirring +bestow/DGS +bestowal/SM +bestrew/SDG +bestrewn +bestridden +bestride/SG +bestrode +bestseller/MS +bestselling +bet/SM +beta/SM +betake/GS +betaken +betcha +betel/M +bethink/SG +bethought +betide/GDS +betimes +betoken/GDS +betook +betray/DRZGS +betrayal/SM +betrayer/M +betroth/DG +betrothal/SM +betrothed/M +betroths +better/MDGLS +betterment/M +betting +bettor/MS +between +betwixt +bevel/GMDS +beverage/SM +bevvy/S +bevy/SM +bewail/DGS +beware/GDS +bewhiskered +bewigged +bewilder/LSGD +bewildering/Y +bewilderment/M +bewitch/GLDS +bewitching/Y +bewitchment/M +bey/SM +beyond +bezel/MS +bf +bhaji +bi/SMRZ +biannual/Y +bias/GMDS +biased/U +biathlon/SM +bib/SM +bible/MS +biblical +bibliographer/MS +bibliographic +bibliographical/Y +bibliography/SM +bibliophile/SM +bibulous +bicameral +bicameralism/M +bicarb/MS +bicarbonate/MS +bicentenary/SM +bicentennial/SM +bicep/MS +biceps/M +bicker/MDRZGS +bickerer/M +biconcave +biconvex +bicuspid/MS +bicycle/DRSMZG +bicycler/M +bicyclist/SM +bid/SMG +biddable +bidden/U +bidder/MS +bidding/M +biddy/SM +bide/S +bidet/MS +bidirectional/Y +biennial/MYS +biennium/MS +bier/M +biff/SGD +bifocal/S +bifocals/M +bifurcate/XDSGN +bifurcation/M +big/P +bigamist/SM +bigamous +bigamy/M +bigger +biggest +biggie/MS +biggish +bighead/SM +bighearted/P +bigheartedness/M +bighorn/SM +bight/MS +bigmouth/M +bigmouths +bigness/M +bigot/MDS +bigotry/SM +bigwig/MS +bijou/M +bijoux +bike/DRSMZG +biker/M +bikini/MS +bilabial/MS +bilateral/Y +bilberry/S +bile/M +bilge/MS +bilingual/SMY +bilingualism/M +bilious/P +biliousness/M +bilirubin +bilk/SZGDR +bilker/M +bill/SBJGMD +billboard/MS +billet/GMDS +billfold/SM +billhook/S +billiard/S +billiards/M +billing/M +billingsgate/M +billion/MHS +billionaire/SM +billionth/M +billionths +billow/GMDS +billowy +billy/SM +billycan/S +bimbo/MS +bimetallic/SM +bimetallism/M +bimodal +bimonthly/SM +bin/SM +binary/SM +binaural +bind's +bind/AUGS +binder/MS +bindery/SM +binding/MS +bindweed/M +binge/MDS +bingo/M +binman +binmen +binnacle/SM +binned +binning +binocular/MS +binomial/SM +bio/SM +biochemical/SMY +biochemist/MS +biochemistry/M +biodegradability/M +biodegrade/DSGB +biodiversity/M +bioethics/M +biofeedback/M +biofilm/MS +biog +biographer/SM +biographic +biographical/Y +biography/SM +biol +biologic +biological/Y +biologist/MS +biology/M +biomarker/MS +biomass/M +biomedical +bionic/S +bionically +bionics/M +biophysical +biophysicist/MS +biophysics/M +biopic/MS +biopsy/GDSM +bioreactor/S +biorhythm/MS +biosensor/S +biosphere/SM +biosynthesis +biotech +biotechnological +biotechnology/M +biotin/M +bipartisan +bipartisanship/M +bipartite +biped/MS +bipedal +biplane/MS +bipolar +bipolarity/M +biracial +birch/GMDS +bird/SZGMDR +birdbath/M +birdbaths +birdbrain/SMD +birdcage/S +birder/M +birdhouse/MS +birdie/MDS +birdieing +birdlike +birdlime/M +birdseed/M +birdsong +birdwatcher/SM +birdying +biretta/SM +birth/ZGMDR +birthday/MS +birther/M +birthmark/MS +birthplace/MS +birthrate/MS +birthright/MS +births/A +birthstone/SM +biscuit/SM +bisect/DGS +bisection/MS +bisector/SM +bisexual/MYS +bisexuality/M +bishop/MS +bishopric/SM +bismuth/M +bison/M +bisque/M +bistro/MS +bit/CSMG +bitch/GMDS +bitchily +bitchiness/M +bitchy/PRT +bitcoin/SM +bite/RSMZ +biter/M +biting/Y +bitmap/S +bitten +bitter/PMRYTS +bittern/SM +bitterness/M +bitters/M +bittersweet/MS +bitty/TR +bitumen/M +bituminous +bivalent +bivalve/SM +bivouac/MS +bivouacked +bivouacking +biweekly/SM +biyearly +biz/M +bizarre/Y +bk +bl/DG +blab/SM +blabbed +blabber/DGS +blabbermouth/M +blabbermouths +blabbing +black/PXTGMDNRYS +blackamoor/MS +blackball/SGMD +blackberry/GSM +blackbird/SM +blackboard/MS +blackcurrant/S +blacken/DG +blackface +blackguard/SM +blackhead/MS +blacking/M +blackish +blackjack/MDGS +blackleg/S +blacklist/MDSG +blackmail/MDRSZG +blackmailer/M +blackness/M +blackout/SM +blacksmith/M +blacksmiths +blacksnake/SM +blackthorn/SM +blacktop/SM +blacktopped +blacktopping +bladder/MS +blade/MDS +blag/S +blagged +blagging +blah/M +blahs/M +blame/BMGDRS +blameless/YP +blamelessness/M +blameworthiness/M +blameworthy/P +blammo +blanch/GDS +blancmange/MS +bland/PTRY +blandish/DSLG +blandishment/SM +blandness/M +blank/TGPMDRYS +blanket/GMDS +blankness/M +blare/MGDS +blarney/SMDG +blase +blaspheme/ZGDRS +blasphemer/M +blasphemous/Y +blasphemy/SM +blast/ZGMDRS +blaster/M +blastoff/MS +blat/S +blatancy/SM +blatant/Y +blather/SMDG +blaze/MZGDRS +blazer/M +blazon/MDGS +bldg +bleach/MDRSZG +bleached/U +bleacher/M +bleak/TPRY +bleakness/M +blear +blearily +bleariness/M +bleary/PRT +bleat/GMDS +bleed/ZGRS +bleeder/M +bleeding/M +bleep/ZGMDRS +bleeper/M +blemish/GMDS +blemished/U +blench/DSG +blend/ZGMDRS +blender/M +bless/GDSJ +blessed/YP +blessedness/M +blessing/M +bletch +blew +blight/ZGMDRS +blimey +blimp/MS +blimpish +blind/PZTGMDRYS +blinder/M +blindfold/SMDG +blinding/Y +blindness/M +blindside/DSG +blini/MS +blink/ZGMDRS +blinker/MDG +blintz/MS +blintze/M +blip/SM +bliss/M +blissful/YP +blissfulness/M +blister/GMDS +blistering/Y +blistery +blithe/PYTR +blitheness/M +blither/G +blithesome +blitz/GMDS +blitzkrieg/MS +blivet/S +blizzard/SM +bloat/ZGDRS +bloatware +blob/SM +blobbed +blobbing +bloc/SM +block's +block/UGDS +blockade/MZGDRS +blockader/M +blockage/MS +blockbuster/SM +blockbusting/M +blockchain/MS +blocker/MS +blockhead/SM +blockhouse/MS +blog/SM +blogged +blogger/MS +blogging +bloke/MS +blokish +blond/PTMRS +blonde/MS +blondish +blondness/M +blood/GMDS +bloodbath/M +bloodbaths +bloodcurdling +bloodhound/SM +bloodily +bloodiness/M +bloodless/YP +bloodlessness/M +bloodletting/M +bloodline/SM +bloodmobile/MS +bloodshed/M +bloodshot +bloodstain/SMD +bloodstock/M +bloodstream/SM +bloodsucker/SM +bloodsucking +bloodthirstily +bloodthirstiness/M +bloodthirsty/RPT +bloody/PTGDRS +bloom/ZGMDRS +bloomer/M +bloop/ZGMDRS +blooper/M +blossom/GMDS +blossomy +blot/SM +blotch/GMDS +blotchy/TR +blotted +blotter/MS +blotting +blotto +blouse/MGDS +blow/SZGMR +blower/M +blowfly/SM +blowgun/MS +blowhard/MS +blowhole/S +blowjob/SM +blowlamp/S +blown +blowout/SM +blowpipe/SM +blowtorch/MS +blowup/MS +blowy/TR +blowzy/RT +blubber/GSMD +blubbery +bludgeon/MDGS +blue/DRSPMTG +bluebell/MS +blueberry/SM +bluebird/MS +bluebonnet/SM +bluebottle/SM +bluefish/MS +bluegill/MS +bluegrass/M +blueish +bluejacket/SM +bluejeans/M +blueness/M +bluenose/MS +bluepoint/MS +blueprint/MDGS +bluestocking/SM +bluesy/RT +bluet/MS +bluff/ZTGPMDRYS +bluffer/M +bluffness/M +bluing/M +bluish +blunder/MDRZGS +blunderbuss/MS +blunderer/M +blunt/PTGDRYS +bluntness/M +blur/SM +blurb/MS +blurred +blurriness/M +blurring +blurry/TRP +blurt/GDS +blush/ZGMDRS +blusher/M +bluster/MDRSZG +blusterer/M +blusterous +blustery +blvd +boa/SM +boar/SM +board/ZGMDRS +boarder/M +boarding/M +boardinghouse/MS +boardroom/MS +boardwalk/MS +boast/ZGMDRS +boaster/M +boastful/PY +boastfulness/M +boat/SZGMDR +boater/M +boathouse/MS +boating/M +boatload/S +boatman/M +boatmen +boatswain/SM +boatyard/S +bob/SM +bobbed +bobbin/MS +bobbing +bobble/MGDS +bobby/SM +bobbysoxer/SM +bobcat/MS +bobolink/SM +bobsled/SM +bobsledded +bobsledder/MS +bobsledding +bobsleigh/M +bobsleighs +bobtail/SM +bobwhite/MS +boccie/M +bock/M +bod/SMDG +bodacious +bode/S +bodega/MS +bodge/GDS +bodice/MS +bodily +bodkin/MS +body/DSM +bodybuilder/SM +bodybuilding/M +bodyguard/MS +bodysuit/SM +bodywork/M +boffin/S +boffo +bog/SM +boga +bogey/GMDS +bogeyman/M +bogeymen +bogged +bogging +boggle/GDS +boggy/TR +bogie/MS +bogon +bogosity +bogus +bogyman/M +bogymen +bohemian/SM +bohemianism/M +boil/SJZGMDR +boiler/M +boilermaker/SM +boilerplate/M +boink/GDS +boisterous/YP +boisterousness/M +bola/SM +bold/PTRY +boldface/DM +boldness/M +bole/SM +bolero/MS +bolivar/MS +bolivares +boll/SM +bollard/S +bollix/GMDS +bollocking/S +bollocks +bologna/M +bolshie +bolster/GMDS +bolt's +bolt/USGD +bolthole/S +bolus/MS +bomb/SJZGMDR +bombard/GDLS +bombardier/MS +bombardment/SM +bombast/M +bombastic +bombastically +bomber/M +bombproof +bombshell/SM +bombsite/S +bonanza/MS +bonbon/MS +bonce/S +bond/SGMD +bondage/M +bondholder/MS +bonding/M +bondman/M +bondmen +bondsman/M +bondsmen +bondwoman/M +bondwomen +bone/DRSMZG +bonehead/SMD +boneless +boner/M +boneshaker/S +boneyard +bonfire/MS +bong/SGMD +bongo/MS +bonhomie/M +boniness/M +bonito/MS +bonk/SZGD +bonnet/MS +bonny/TR +bonobo/MS +bonsai/M +bonus/MS +bony/PTR +boo/SMDHG +boob/SGMD +booby/SM +boodle/MS +booger/S +boogeyman/M +boogeymen +boogie/MDS +boogieing +boogieman/M +boohoo/GMDS +book/SBJGMD +bookbinder/SM +bookbindery/SM +bookbinding/M +bookcase/MS +bookend/MS +bookie/MS +booking/M +bookish +bookkeeper/MS +bookkeeping/M +booklet/MS +bookmaker/SM +bookmaking/M +bookmark/SMDG +bookmobile/SM +bookplate/MS +bookseller/MS +bookshelf/M +bookshelves +bookshop/SM +bookstall/S +bookstore/MS +bookworm/SM +boolean +boom/SZGMDR +boombox/MS +boomerang/MDGS +boon/SM +boondocks/M +boondoggle/MZGDRS +boondoggler/M +boonies/M +boor/SM +boorish/PY +boorishness/MS +boost/ZGMDRS +booster/M +boot's +boot/ASGD +bootblack/SM +bootee/MS +booth/M +booths +bootlace/S +bootleg/MS +bootlegged +bootlegger/MS +bootlegging/M +bootless +bootstrap/MS +bootstrapped +bootstrapping +booty/SM +booze/MZGDRS +boozer/M +boozy/TR +bop/SM +bopped +bopping +borax/M +bordello/MS +border/GMDS +borderland/MS +borderline/MS +bore/DRSMZG +boredom/M +borehole/S +borer/M +boring/Y +born/IAU +borne +boron/M +borough/M +boroughs +borrow/SDRZGJ +borrower/M +borrowing/M +borscht/M +borstal/S +borzoi/SM +bosh/M +bosom's +bosom/US +bosomy +boss/DSGM +bossily +bossiness/M +bossism/M +bossy/RTP +bot/S +botanic +botanical/Y +botanist/SM +botany/M +botch/DRSZGM +botcher/M +both +bother/SMDG +botheration +bothered/U +bothersome +botnet/SM +bottle/DRSMZG +bottleneck/MS +bottler/M +bottom/SMDG +bottomless +botulinum +botulism/M +boudoir/SM +bouffant/SM +bougainvillea/MS +bough/M +boughs +bought +bouillabaisse/SM +bouillon/MS +boulder/SM +boules +boulevard/SM +bounce/DRSMZG +bouncer/M +bouncily +bounciness/M +bouncy/RTP +bound/ASMGD +boundary/SM +bounden +bounder/SM +boundless/PY +boundlessness/M +bounteous/YP +bounteousness/M +bountiful/YP +bountifulness/M +bounty/SM +bouquet/SM +bourbon/SM +bourgeois/M +bourgeoisie/M +boustrophedon +bout/MS +boutique/SM +boutonniere/MS +bouzouki/MS +bovine/SM +bovver +bow/ZGSMDR +bowdlerization/MS +bowdlerize/DSG +bowed/U +bowel/SM +bower/M +bowl/MDRZGS +bowleg/SM +bowlegged +bowler/M +bowlful/SM +bowline/SM +bowling/M +bowman/M +bowmen +bowsprit/SM +bowstring/SM +bowwow/SM +box/ZGMDNRS +boxcar/SM +boxer/M +boxing/M +boxlike +boxroom/S +boxwood/M +boxy/RT +boy/SM +boycott/SGMD +boyfriend/MS +boyhood/SM +boyish/YP +boyishness/M +boysenberry/SM +bozo/MS +bpm +bps +bra/SM +brace/MZGDRS +bracelet/MS +bracer/M +bracero/MS +bracken/M +bracket/GMDS +brackish/P +brackishness/M +bract/MS +brad/SM +bradawl/S +bradycardia +brae/SM +brag/SM +braggadocio/SM +braggart/SM +bragged +bragger/MS +bragging +braid/GMDS +braiding/M +braille/M +brain/GMDS +brainchild/M +brainchildren/M +braininess/M +brainless/Y +brainpower +brainstorm/SMDG +brainstorming/M +brainteaser/SM +brainwash/DSG +brainwashing/M +brainwave/S +brainy/PTR +braise/GDS +brake/MGDS +brakeman/M +brakemen +bramble/MS +brambly +bran/M +branch/GMDS +branchlike +brand/ZGMDRS +branded/U +brander/M +brandish/DSG +brandy/GDSM +brash/PTRY +brashness/M +brass/MS +brasserie/MS +brassiere/MS +brassily +brassiness/M +brassy/PTR +brat/SM +bratty/RT +bratwurst/SM +bravado/M +brave/GPMYDTRS +braveness/M +bravery/M +bravo/SM +bravura/SM +brawl/SDRZGM +brawler/M +brawn/M +brawniness/M +brawny/RTP +bray/DGSM +braze/DRSZG +brazen/SDYGP +brazenness/M +brazer/M +brazier/SM +breach/GMDS +bread/GMDHS +breadbasket/SM +breadboard/SM +breadbox/MS +breadcrumb/MS +breadfruit/SM +breadline/MS +breadth/M +breadths +breadwinner/SM +break/BMZGRS +breakable/MS +breakage/MS +breakaway/MS +breakdown/MS +breaker/M +breakfast/MDGS +breakfront/MS +breakneck +breakout/MS +breakpoints +breakthrough/M +breakthroughs +breakup/SM +breakwater/SM +bream/MS +breast/SMDG +breastbone/MS +breastfed +breastfeed/GS +breastplate/SM +breaststroke/SM +breastwork/MS +breath/MDRSZGB +breathalyze/ZGDRS +breathe +breather/M +breathing/M +breathless/PY +breathlessness/M +breaths +breathtaking/Y +breathy/RT +bred/I +breech/MS +breed/SRZGM +breeder/M +breeding/IM +breeze/DSMG +breezeway/SM +breezily +breeziness/M +breezy/RTP +brethren +breve/SM +brevet/SM +brevetted +brevetting +breviary/SM +brevity/M +brew/MDRZGS +brewer/M +brewery/SM +brewpub/SM +bribe/DRSMZG +briber/M +bribery/M +brick/SMDG +brickbat/SM +brickie/S +bricklayer/MS +bricklaying/M +brickwork/M +brickyard/S +bridal/SM +bride/SM +bridegroom/SM +bridesmaid/MS +bridge/DSMG +bridgeable/U +bridgehead/SM +bridgework/M +bridle/DSMG +bridled/U +bridleway/S +brie/MZR +brief's +brief/CSDTGJ +briefcase/SM +briefer +briefing/CM +briefly +briefness/M +brier/M +brig/MS +brigade/SM +brigadier/MS +brigand/SM +brigandage/M +brigantine/MS +bright/SPNRYXT +brighten/DRZG +brightener/M +brightness/M +brights/M +brill +brilliance/M +brilliancy/M +brilliant/MYS +brilliantine/M +brim/MS +brimful +brimless +brimmed +brimming +brimstone/M +brindle/DM +brine/M +bring/SRZG +bringer/M +brininess/M +brink/SM +brinkmanship/M +briny/RTP +brioche/SM +briquette/MS +brisk/SDRYTGP +brisket/SM +briskness/M +bristle/DSMG +bristly/TR +britches/M +brittle/PRMT +brittleness/M +bro/SMH +broach/MDSG +broad/SMNRYXTP +broadband/M +broadcast/AMGS +broadcaster/MS +broadcasting/M +broadcloth/M +broaden/DG +broadloom/M +broadminded +broadness/M +broadsheet/SM +broadside/MGDS +broadsword/SM +brocade/DSMG +broccoli/M +brochette/SM +brochure/MS +brogan/SM +brogue/SM +broil/SMDRZG +broiler/M +broke +broken/YP +brokenhearted/Y +brokenness/M +broker/SMDG +brokerage/MS +brolly/S +bromide/SM +bromidic +bromine/M +bronc/SM +bronchi +bronchial +bronchitic +bronchitis/M +bronchus/M +bronco/SM +broncobuster/SM +brontosaur/MS +brontosaurus/MS +bronze/DSMG +brooch/MS +brood/SMDRZG +brooder/M +broodily +brooding/MY +broodmare/MS +broody/RMPT +brook/SMDG +brooklet/SM +broom/SM +broomstick/MS +broth/MRZ +brothel/MS +brother/MY +brotherhood/MS +brotherliness/M +broths +brougham/SM +brought +brouhaha/SM +brow/MS +browbeat/SNG +brown/SMDRPTG +brownfield +brownie/MS +brownish +brownness/M +brownout/SM +brownstone/MS +browse/DRSMZG +browser/M +brr +bruin/SM +bruise/DRSMZG +bruiser/M +bruising/M +bruit/SDG +brunch/MDSG +brunet/SM +brunette/MS +brunt/M +brush/MDSG +brushoff/SM +brushstroke/S +brushwood/M +brushwork/M +brusque/RPYT +brusqueness/M +brutal/Y +brutality/SM +brutalization/M +brutalize/GDS +brute/SM +brutish/PY +brutishness/M +bu +bub/SM +bubble/DSMG +bubblegum/M +bubbly/RMT +bubo/M +buboes +buccaneer/SGMD +buck/MDGS +buckaroo/SM +buckboard/MS +bucket/SGMD +bucketful/MS +buckeye/MS +buckle's +buckle/UDSG +buckler/MS +buckram/M +bucksaw/MS +buckshot/M +buckskin/MS +buckteeth +bucktooth/MD +buckwheat/M +buckyball/SM +bucolic/MS +bucolically +bud/SM +budded +budding/S +buddy/SM +budge/DSG +budgerigar/MS +budget/SGMD +budgetary +budgie/SM +buff/AMDGS +buffalo/MDG +buffaloes +buffer/SMDG +buffet/SMDGJ +buffoon/SM +buffoonery/M +buffoonish +bug's +bug/CS +bugaboo/SM +bugbear/SM +bugged/C +bugger/SMDG +buggery +bugging/C +buggy/RSMT +bugle/DRSMZG +bugler/M +build/SMRZGJ +builder/M +building/M +buildup/SM +built/AI +builtin +bulb/MS +bulbous +bulge/DSMG +bulgy/RT +bulimarexia/M +bulimia/M +bulimic/SM +bulk/MDGS +bulkhead/MS +bulkiness/M +bulky/RTP +bull/MDGS +bulldog/SM +bulldogged +bulldogging +bulldoze/ZGDRS +bulldozer/M +bullet/SMD +bulletin/MDGS +bulletproof/SDG +bullfight/SMRZG +bullfighter/M +bullfighting/M +bullfinch/MS +bullfrog/MS +bullhead/MDS +bullheaded/PY +bullheadedness/M +bullhorn/MS +bullion/M +bullish/YP +bullishness/M +bullock/SM +bullpen/SM +bullring/MS +bullseye +bullshit/MS! +bullshitted/! +bullshitter/SM! +bullshitting/! +bullwhip/S +bully/DSMG +bulrush/MS +bulwark/MS +bum/SM +bumbag/S +bumble/DRSZG +bumblebee/SM +bumbler/M +bumf +bummed +bummer/SM +bummest +bumming +bump/MDRZGS +bumper/M +bumph +bumpiness/M +bumpkin/MS +bumptious/PY +bumptiousness/M +bumpy/PRT +bun/SM +bunch/MDSG +bunchy/RT +bunco/SMDG +bundle/DSMG +bung/MDGS +bungalow/MS +bungee/SM +bunghole/MS +bungle/DRSMZG +bungler/M +bunion/SM +bunk's +bunk/CDGS +bunker/SM +bunkhouse/SM +bunkum/M +bunny/SM +bunt/MDGSJ +bunting/M +buoy/MDGS +buoyancy/M +buoyant/Y +bur/SMY +burble/DSMG +burbs/M +burden's +burden/USGD +burdensome +burdock/M +bureau/SM +bureaucracy/SM +bureaucrat/MS +bureaucratic +bureaucratically +bureaucratization/M +bureaucratize/GDS +burg/MRZS +burgeon/DSG +burger/M +burgh/MRZ +burgher/M +burghs +burglar/MS +burglarize/GDS +burglarproof +burglary/SM +burgle/DSG +burgomaster/SM +burgundy/SM +burial/ASM +burka/SM +burl/MDS +burlap/M +burlesque/MGDS +burliness/M +burly/RPT +burn/MDRZGSB +burnable/SM +burner/M +burnish/ZGMDRS +burnisher/M +burnoose/MS +burnout/MS +burnt +burp/MDGS +burr/MDGS +burrito/MS +burro/SM +burrow/SMDRZG +burrower/M +bursa/M +bursae +bursar/SM +bursary/SM +bursitis/M +burst/SMG +bury/ADSG +bus/AMS +busboy/SM +busby/SM +bused +busgirl/MS +bush/MDSGJ +bushel/SGMD +bushiness/M +bushing/M +bushman/M +bushmaster/SM +bushmen +bushwhack/DRSZG +bushwhacker/M +bushy/RPT +busily +business/MS +businesslike +businessman/M +businessmen +businessperson/SM +businesswoman/M +businesswomen +busing/M +busk/DRZGS +buskin/SM +busload/S +buss/MDSG +bust/MDRZGS +buster/M +bustle/DSMG +busty/RZT +busy/DRSTGP +busybody/SM +busyness/M +busywork/M +but/ACS +butane/M +butch/MRSZ +butcher/MDG +butchery/SM +butler/SM +butt/MDRZGS +butte/SM +butted/A +butter/MDG +butterball/MS +buttercream +buttercup/SM +butterfat/M +butterfingered +butterfingers/M +butterfly/GDSM +buttermilk/M +butternut/SM +butterscotch/M +buttery/TRSM +butting/A +buttock/SM +button's +button/USDG +buttonhole/DSMG +buttonwood/MS +buttress/MDSG +butty/S +buxom +buy/ZGSMR +buyback/SM +buyer/M +buyout/SM +buzz/MDRSZG +buzzard/MS +buzzer/M +buzzkill/SM +buzzword/SM +bx +bxs +by/M +bye/SM +bygone/SM +bylaw/SM +byline/SM +bypass/GMDS +bypath/M +bypaths +byplay/M +byproduct/MS +byre/S +byroad/SM +bystander/MS +byte/MS +byway/SM +byword/SM +byzantine +c/IES +ca +cab/SMRZ +cabal/MS +cabala's +caballero/MS +cabana/SM +cabaret/SM +cabbage/MS +cabbed +cabbing +cabby/SM +cabdriver/SM +cabin/MS +cabinet/SM +cabinetmaker/MS +cabinetmaking/M +cabinetry/M +cabinetwork/M +cable/MGDS +cablecast/GMS +cablegram/MS +cabochon/SM +caboodle/M +caboose/SM +cabriolet/SM +cabstand/SM +cacao/MS +cache/MGDS +cachepot/SM +cachet/MS +cackle/MZGDRS +cackler/M +cacophonous +cacophony/SM +cacti +cactus/M +cad/SM +cadaver/SM +cadaverous +caddie/MDS +caddish/YP +caddishness/M +caddying +cadence/DSM +cadenza/SM +cadet/MS +cadge/ZGDRS +cadger/M +cadmium/M +cadre/MS +caducei +caduceus/M +caesura/SM +cafe/SM +cafeteria/MS +cafetiere/S +caff/CS +caffeinated +caffeine/M +caftan/MS +cage/DSMG +cagey +cagier +cagiest +cagily +caginess/M +cagoule/S +cahoot/MS +caiman/MS +cairn/MS +caisson/SM +caitiff/SM +cajole/ZGLDRS +cajolement/M +cajoler/M +cajolery/M +cake/DSMG +cakewalk/SM +cal +calabash/MS +calaboose/SM +calamari/SM +calamine/M +calamitous/Y +calamity/SM +calcareous +calciferous +calcification/M +calcify/GNDS +calcimine/DSMG +calcine/DSG +calcite/M +calcium/M +calculable/I +calculate/AGNVDSX +calculated/Y +calculating/Y +calculation/AM +calculator/SM +calculi +calculus/M +caldera/SM +calendar/MDGS +calf/M +calfskin/M +caliber/SM +calibrate/GNDSX +calibration/M +calibrator/SM +calico/M +calicoes +californium/M +caliper/SGMD +caliph/M +caliphate/MS +caliphs +calisthenic/S +calisthenics/M +calk/SGMD +call/ASGMD +calla/MS +callable +callback/MS +called/U +caller/MS +calligrapher/SM +calligraphic +calligraphist/MS +calligraphy/M +calling/SM +calliope/MS +callosity/SM +callous/PGDSY +callousness/M +callow/RPT +callowness/M +callus/MDSG +calm/PSTGMDRY +calmness/M +caloric +calorie/MS +calorific +calumet/MS +calumniate/GNDS +calumniation/M +calumniator/MS +calumnious +calumny/SM +calve/GDS +calypso/MS +calyx/MS +cam/SM +camaraderie/M +camber/MDSG +cambial +cambium/SM +cambric/M +camcorder/SM +came +camel/MS +camelhair +camellia/MS +cameo/MS +camera/MS +cameraman/M +cameramen +camerapeople +cameraperson +camerawoman/M +camerawomen +camerawork +camiknickers +camisole/SM +camouflage/MZGDRS +camouflager/M +camp's +camp/CSGD +campaign/SMDRZG +campaigner/M +campanile/SM +campanologist/MS +campanology/M +camper/MS +campfire/SM +campground/SM +camphor/M +camping/M +campsite/SM +campus/MS +campy/TR +camshaft/SM +can't +can/SMDRZG +canal/MS +canalization/M +canalize/GDS +canape/MS +canard/MS +canary/SM +canasta/M +cancan/MS +cancel/DRSZG +canceler/M +cancellation/SM +cancelous +cancer/MS +cancerous +candelabra/SM +candelabrum/M +candid/YP +candida +candidacy/SM +candidate/MS +candidature/SM +candidness/M +candle/MZGDRS +candlelight/M +candlelit +candlepower/M +candler/M +candlestick/MS +candlewick/SM +candor/M +candy/GDSM +candyfloss +cane/SM +canebrake/MS +caner/M +canine/MS +canister/SM +canker/GMDS +cankerous +cannabis/MS +canned +cannelloni/M +cannery/SM +cannibal/SM +cannibalism/M +cannibalistic +cannibalization/M +cannibalize/GDS +cannily/U +canniness/M +canning +cannon/GMDS +cannonade/MGDS +cannonball/SM +cannot +canny/UTR +canoe/MDS +canoeing +canoeist/SM +canola/M +canon/MS +canonical/Y +canonization/SM +canonize/DSG +canoodle/DSG +canopy/GDSM +canst +cant's +cant/CZRDGS +cantabile +cantaloupe/SM +cantankerous/PY +cantankerousness/M +cantata/MS +canteen/MS +canter/CM +cantered +cantering +canticle/MS +cantilever/MDGS +canto/MS +canton/MLS +cantonal +cantonment/MS +cantor/MS +canvas/MGDS +canvasback/SM +canvass/MDRSZG +canvasser/M +canyon/MGS +cap/SMDRBZ +capabilities +capability/IM +capable/I +capably/I +capacious/PY +capaciousness/M +capacitance/M +capacities +capacitor/SM +capacity/IM +caparison/MDGS +cape/SM +caper/GMD +capeskin/M +capillarity/M +capillary/SM +capital/MSY +capitalism/M +capitalist/SM +capitalistic +capitalistically +capitalization/M +capitalize/ADSG +capitation/CSM +capitol/SM +capitulate/ADSXGN +capitulation/AM +caplet/MS +capo/SM +capon/MS +capped/UA +capping/UA +cappuccino/SM +caprice/SM +capricious/PY +capriciousness/M +capsicum/SM +capsize/DSG +capstan/SM +capstone/MS +capsular +capsule/DSMG +capsulize/DSG +capt +captain/SMDG +captaincy/SM +caption/SMDG +captious/YP +captiousness/M +captivate/DSGN +captivation/M +captivator/SM +captive/SM +captivity/SM +captor/MS +capture/ADSMG +car/SMDRZG +carafe/MS +caramel/SM +caramelize/DSG +carapace/SM +carat/MS +caravan/SM +caravansary/SM +caravel/SM +caraway/SM +carbide/SM +carbine/SM +carbohydrate/SM +carbolic +carbon/MS +carbonaceous +carbonate/MGNDS +carbonation/M +carboniferous +carbonize/GDS +carborundum/M +carboy/MS +carbs +carbuncle/SM +carbuncular +carburetor/SM +carcass/MS +carcinogen/SM +carcinogenic/MS +carcinogenicity/M +carcinoma/MS +card/ESGMD +cardamom/SM +cardamon/S +cardboard/M +carder/MS +cardholder/S +cardiac +cardie/S +cardigan/SM +cardinal/SMY +cardio +cardiogram/SM +cardiograph/M +cardiographs +cardiologist/MS +cardiology/M +cardiomyopathy +cardiopulmonary +cardiovascular +cardsharp/MRZS +cardsharper/M +care/SM +careen/DGS +career/MDGS +careerism +careerist/SM +carefree +careful/YP +carefuller +carefullest +carefulness/M +caregiver/SM +careless/PY +carelessness/M +carer/M +caress/MDSG +caret/MS +caretaker/MS +careworn +carfare/M +cargo/M +cargoes +carhop/MS +caribou/SM +caricature/MGDS +caricaturist/SM +caries/M +carillon/SM +caring/M +carious +carjack/JSDRZG +carjacker/M +carjacking/M +carload/SM +carmaker/S +carmine/SM +carnage/M +carnal/Y +carnality/M +carnation/IMS +carnelian/MS +carnival/MS +carnivora +carnivore/SM +carnivorous/PY +carnivorousness/M +carny/SM +carob/MS +carol/ZGMDRS +caroler/M +carom/GMDS +carotene/M +carotid/SM +carousal/SM +carouse/DRSMZG +carousel/SM +carouser/M +carp/SZGMDR +carpal/MS +carpel/MS +carpenter/MDGS +carpentry/M +carper/M +carpet/MDGS +carpetbag/MS +carpetbagged +carpetbagger/MS +carpetbagging +carpeting/M +carpi +carpool/SMDG +carport/SM +carpus/M +carrel/MS +carriage/SM +carriageway/S +carrier/M +carrion/M +carrot/MS +carroty +carry/ZGDRSM +carryall/SM +carrycot/S +carryout +carryover/MS +carsick/P +carsickness/M +cart/SZGMDR +cartage/M +cartel/MS +carter/M +carthorse/SM +cartilage/SM +cartilaginous +cartload/SM +cartographer/SM +cartographic +cartography/M +carton/MS +cartoon/SMDG +cartoonist/MS +cartridge/MS +cartwheel/GMDS +carve/JZGDRS +carver/M +carvery/S +carving/M +caryatid/MS +casaba/MS +cascade/DSMG +cascara/SM +case/LDSJMG +casebook/S +cased/U +caseharden/DGS +casein/M +caseload/MS +casement/MS +casework/ZMR +caseworker/M +cash/GMDS +cashback/M +cashbook/MS +cashew/MS +cashier/GSMD +cashless +cashmere/M +casing/M +casino/MS +cask/SM +casket/MS +cassava/SM +casserole/DSMG +cassette/MS +cassia/MS +cassock/SM +cassowary/SM +cast/ASGM +castanet/MS +castaway/MS +caste/JMZRS +castellated +caster/M +castigate/DSGN +castigation/M +castigator/SM +casting/AM +castle/MGDS +castoff/SM +castor/MS +castrate/GNXDS +castration/M +casual/PMYS +casualness/M +casualty/SM +casuist/SM +casuistic +casuistry/M +cat/SM +cataclysm/MS +cataclysmal +cataclysmic +catacomb/SM +catafalque/MS +catalepsy/M +cataleptic/MS +catalog/ZGSMDR +cataloger/M +catalpa/SM +catalyses +catalysis/M +catalyst/MS +catalytic/M +catalyze/GDS +catamaran/SM +catapult/GMDS +cataract/MS +catarrh/M +catastrophe/MS +catastrophic +catastrophically +catatonia/M +catatonic/SM +catbird/SM +catboat/SM +catcall/GSMD +catch/ZGJLMRS +catchall/MS +catcher/M +catchment/MS +catchpenny +catchphrase/SM +catchword/MS +catchy/RT +catechism/SM +catechist/SM +catechize/DSG +categorical/Y +categorization/MS +categorize/GDS +category/SM +cater/ZGJDRS +catercorner +caterer/M +caterpillar/MS +caterwaul/SMDG +catfish/MS +catgut/M +catharses +catharsis/M +cathartic/SM +cathedral/SM +catheter/SM +catheterize/DSG +cathode/SM +cathodic +catholic +catholicity/M +cation/MS +catkin/MS +catlike +catnap/MS +catnapped +catnapping +catnip/M +catsuit/S +cattail/SM +catted +cattery/S +cattily +cattiness/M +catting +cattle/M +cattleman/M +cattlemen +catty/TPR +catwalk/SM +caucus/MDSG +caudal/Y +caught/U +cauldron/MS +cauliflower/SM +caulk/ZGMDRS +caulker/M +causal/Y +causality/SM +causation/M +causative +cause/MZGDRS +causeless +causer/M +causerie/SM +causeway/SM +caustic/SM +caustically +causticity/M +cauterization/M +cauterize/GDS +caution/SMDG +cautionary +cautious/IY +cautiousness/M +cavalcade/MS +cavalier/SMY +cavalry/SM +cavalryman/M +cavalrymen +cave/DRSMZG +caveat/MS +caveman/M +cavemen +cavern/MS +cavernous/Y +caviar/M +cavil/ZGJMDRS +caviler/M +caving/M +cavitation +cavity/FSM +cavort/DGS +caw/SMDG +cay/CSM +cayenne/M +cayuse/MS +cc +cease/CMGDS +ceasefire/MS +ceaseless/YP +ceaselessness/M +ceca +cecal +cecum/M +cedar/MS +cede/FAGSD +ceder/MS +cedilla/SM +ceilidh +ceilidhs +ceiling/MS +celandine/M +celeb/S +celebrant/SM +celebrate/DSGNX +celebration/M +celebrator/SM +celebratory +celebrity/SM +celeriac +celerity/M +celery/M +celesta/MS +celestial/Y +celibacy/M +celibate/MS +cell/SMD +cellar/MS +cellist/SM +cellmate/SM +cello/MS +cellophane/M +cellphone/MS +cellular/SM +cellulite/M +cellulitis +celluloid/M +cellulose/M +cement/MDRZGS +cementer/M +cementum/M +cemetery/SM +cenobite/MS +cenobitic +cenotaph/M +cenotaphs +censer/MS +censor/MDGS +censored/U +censorial +censorious/PY +censoriousness/M +censorship/M +censure/BDRSMZG +censurer/M +census/MDSG +cent/SZMR +centaur/SM +centavo/SM +centenarian/MS +centenary/SM +centennial/MYS +center/MDG +centerboard/SM +centerfold/MS +centerpiece/MS +centigrade +centigram/SM +centiliter/MS +centime/SM +centimeter/MS +centipede/SM +central/SMY +centralism +centralist +centrality/M +centralization/CM +centralize/CGDS +centralizer/MS +centrifugal/Y +centrifuge/DSMG +centripetal/Y +centrism/M +centrist/MS +centurion/SM +century/SM +cephalic +ceramic/SM +ceramicist/SM +ceramics/M +ceramist/MS +cereal/MS +cerebellar +cerebellum/SM +cerebra +cerebral +cerebrate/GNDS +cerebration/M +cerebrovascular +cerebrum/MS +cerement/MS +ceremonial/SMY +ceremonious/UY +ceremoniousness/M +ceremony/SM +cerise/M +cerium/M +cermet/M +cert/S +certain/UY +certainty/USM +certifiable +certifiably +certificate/MGNXDS +certification/M +certify/DSG +certitude/IM +certitudes +cerulean/M +cervical +cervices +cervix/M +cesarean/MS +cesium/M +cessation/MS +cession/KAFSM +cesspit/S +cesspool/MS +cetacean/MS +ceteris +cf +cg +ch/IFVT +chad/S +chafe/GDS +chaff/GMDS +chaffinch/MS +chagrin/GSMD +chain's +chain/UGDS +chainsaw/MDGS +chair/GMDS +chairlift/MS +chairman/M +chairmanship/SM +chairmen +chairperson/SM +chairwoman/M +chairwomen +chaise/MS +chalcedony/M +chalet/MS +chalice/SM +chalk/GMDS +chalkboard/SM +chalkiness/M +chalky/PRT +challenge/DRSMZG +challenged/U +challenger/M +challis/M +chamber/SMD +chamberlain/MS +chambermaid/MS +chambray/M +chameleon/SM +chamois/M +chamomile/MS +champ/ZGMDS +champagne/MS +champion/GMDS +championship/MS +chance/MGDS +chancel/SM +chancellery/SM +chancellor/MS +chancellorship/M +chancery/SM +chanciness/M +chancre/SM +chancy/PRT +chandelier/SM +chandler/MS +change/MZGDRS +changeability/M +changeable/P +changeableness/M +changeably +changed/U +changeless/Y +changeling/SM +changeover/SM +changer/M +changing/U +channel/GSMD +channelization/M +channelize/DSG +chanson/SM +chant/ZGMDRS +chanter/M +chanteuse/MS +chantey/SM +chanticleer/MS +chaos/M +chaotic +chaotically +chap/SM +chaparral/SM +chapati/S +chapatti/S +chapbook/MS +chapeau/SM +chapel/MS +chaperon/MDGS +chaperonage/M +chaperoned/U +chaplain/MS +chaplaincy/SM +chaplet/SM +chapped +chapping +chappy/S +chapter/SM +char/SM +charabanc/MS +character/MS +characterful +characteristic/SM +characteristically/U +characterization/MS +characterize/DSG +characterless +charade/SM +charbroil/GDS +charcoal/MS +chard/M +chardonnay/SM +charge/AESDGM +chargeable/A +charged/U +charger/SM +charily +chariness/M +chariot/SM +charioteer/MS +charisma/M +charismatic/MS +charitable/P +charitableness/M +charitably/U +charity/SM +charlady/S +charlatan/SM +charlatanism/M +charlatanry/M +charlie/S +charm/ZGMDRS +charmer/M +charming/Y +charmless +charred +charring +chart/GMDS +charted/U +charter's +charter/ASGD +charterer/MS +chartreuse/M +charwoman/M +charwomen +chary/TRP +chase/MZGDRS +chaser/M +chasm/MS +chassis/M +chaste/PYTR +chasten/DGS +chasteness/M +chastise/DRSZGL +chastisement/SM +chastiser/M +chastity/M +chasuble/SM +chat/SM +chateau/SM +chateaux +chatelaine/SM +chatline/S +chatroom/M +chatted +chattel/MS +chatter/MDRZGS +chatterbox/MS +chatterer/M +chattily +chattiness/M +chatting +chatty/TPR +chauffeur/GMDS +chauvinism/M +chauvinist/SM +chauvinistic +chauvinistically +cheap/PXTNRY +cheapen/DG +cheapness/M +cheapo +cheapskate/MS +cheat/ZGMDRS +cheater/M +check/AGMDS +checkbook/SM +checkbox +checked/U +checker/MDGS +checkerboard/SM +checkers/M +checklist/MS +checkmate/MGDS +checkoff/SM +checkout/SM +checkpoint/SM +checkroom/MS +checksum +checkup/MS +cheddar/M +cheek/GMDS +cheekbone/SM +cheekily +cheekiness/M +cheeky/TPR +cheep/GMDS +cheer/ZGMDRS +cheerer/M +cheerful/YP +cheerfuller +cheerfullest +cheerfulness/M +cheerily +cheeriness/M +cheerio/MS +cheerleader/SM +cheerless/PY +cheerlessness/M +cheery/TPR +cheese/MGDS +cheeseboard/S +cheeseburger/SM +cheesecake/SM +cheesecloth/M +cheeseparing/M +cheesiness/M +cheesy/TPR +cheetah/M +cheetahs +chef/SM +chem +chemical/SMY +chemise/MS +chemist/MS +chemistry/M +chemo/M +chemotherapeutic +chemotherapy/M +chemurgy/M +chenille/M +cherish/DSG +cheroot/MS +cherry/SM +chert/M +cherub/MS +cherubic +cherubim +chervil/M +chess/M +chessboard/MS +chessman/M +chessmen +chest/MDS +chesterfield/SM +chestful/SM +chestnut/SM +chesty/TR +chevalier/SM +cheviot/M +chevron/MS +chew/SZGMDR +chewer/M +chewiness/M +chewy/PTR +chg +chge +chi/SM +chiaroscuro/M +chic/PTMR +chicane/MS +chicanery/SM +chichi/MS +chick/XMNS +chickadee/SM +chicken/MDG +chickenfeed/M +chickenhearted +chickenpox/M +chickenshit/S! +chickpea/SM +chickweed/M +chicle/M +chicness/M +chicory/SM +chide/GDS +chiding/Y +chief/TMRYS +chiefdom/M +chieftain/MS +chieftainship/SM +chiffon/M +chiffonier/MS +chigger/MS +chignon/MS +chihuahua/SM +chilblain/SM +child/M +childbearing/M +childbirth/M +childbirths +childcare/M +childhood/SM +childish/YP +childishness/M +childless/P +childlessness/M +childlike +childminder/S +childminding +childproof/GSD +children/M +chili/M +chilies +chill/JPZTGMDRS +chiller/M +chilliness/M +chilling/Y +chillness/M +chilly/TPR +chime/MZGDRS +chimer/M +chimera/MS +chimeric +chimerical +chimney/MS +chimp/MS +chimpanzee/SM +chin/SM +china/M +chinaware/M +chinchilla/MS +chine/MS +chink/GMDS +chinless +chinned +chinning +chino/MS +chinstrap/MS +chintz/M +chintzy/RT +chinwag/S +chip/SM +chipboard +chipmunk/SM +chipolata/S +chipped +chipper/MS +chippie +chipping/S +chippy/S +chirography/M +chiropodist/MS +chiropody/M +chiropractic/SM +chiropractor/SM +chirp/GMDS +chirpily +chirpy/PTR +chirrup/GMDS +chisel/ZGMDRS +chiseler/M +chit/SM +chitchat/SM +chitchatted +chitchatting +chitin/M +chitinous +chitosan +chitterlings/M +chivalrous/PY +chivalrousness/M +chivalry/M +chive/MS +chivy/GDS +chlamydia/MS +chlamydiae +chloral/M +chlordane/M +chloride/MS +chlorinate/GNDS +chlorination/M +chlorine/M +chlorofluorocarbon/SM +chloroform/SGMD +chlorophyll/M +chloroplast/MS +chm +choc/S +chock/GMDS +chockablock +chocoholic/SM +chocolate/MS +chocolaty +choice/MTRS +choir/MS +choirboy/MS +choirmaster/SM +choke/MZGDRS +chokecherry/SM +choker/M +cholecystectomy +cholecystitis +choler/M +cholera/M +choleric +cholesterol/M +chomp/ZGMDRS +choose/ZGRS +chooser/M +choosiness/M +choosy/TPR +chop/SM +chophouse/SM +chopped +chopper/MDGS +choppily +choppiness/M +chopping +choppy/TPR +chopstick/SM +choral/MYS +chorale/MS +chord/MS +chordal +chordate/SM +chore/MS +chorea/M +choreograph/DRZG +choreographer/M +choreographic +choreographically +choreographs +choreography/M +chorister/SM +choroid/MS +chortle/MZGDRS +chortler/M +chorus/GMDS +chose +chosen +chow/SGMD +chowder/MS +chrism/M +christen/ASGD +christening/MS +christian/U +christology +chromatic +chromatically +chromatin/M +chromatography +chrome/MGDS +chromium/M +chromosomal +chromosome/MS +chronic +chronically +chronicle/DRSMZG +chronicler/M +chronograph/M +chronographs +chronological/Y +chronologist/MS +chronology/SM +chronometer/SM +chrysalis/MS +chrysanthemum/MS +chub/SM +chubbiness/M +chubby/TPR +chuck/GMDS +chuckhole/SM +chuckle/MGDS +chuffed +chug/SM +chugged +chugging +chukka/MS +chum/SM +chummed +chummily +chumminess/M +chumming +chummy/PTR +chump/MS +chunder/GDS +chunk/GMDS +chunkiness/M +chunky/PTR +chunter/DGS +church/MS +churchgoer/SM +churchgoing/M +churchman/M +churchmen +churchwarden/MS +churchwoman +churchwomen +churchyard/SM +churl/MS +churlish/PY +churlishness/M +churn/ZGMDRS +churner/M +chute/MS +chutney/MS +chutzpah/M +chyme/M +chyron/MS +ciabatta/SM +ciao/S +cicada/MS +cicatrices +cicatrix/M +cicerone/SM +ciceroni +cider's +cider/S +cigar/MS +cigarette/MS +cigarillo/MS +cilantro/M +cilia +cilium/M +cinch/GMDS +cinchona/SM +cincture/SM +cinder/GMDS +cine +cinema/MS +cinematic +cinematographer/MS +cinematographic +cinematography/M +cinnabar/M +cinnamon/M +cipher's +cipher/CGDS +cir +circa +circadian +circle/MGDS +circlet/MS +circuit/MDGS +circuital +circuitous/YP +circuitousness/M +circuitry/M +circuity/M +circular/SMY +circularity/M +circularize/DSG +circulate/ADSG +circulation/SM +circulatory +circumcise/XDSGN +circumcised/U +circumcision/M +circumference/MS +circumferential +circumflex/MS +circumlocution/MS +circumlocutory +circumnavigate/XGNDS +circumnavigation/M +circumpolar +circumscribe/GDS +circumscription/MS +circumspect/Y +circumspection/M +circumstance/MGDS +circumstantial/Y +circumvent/DSG +circumvention/M +circus/MS +cirque/MS +cirrhosis/M +cirrhotic/SM +cirri +cirrus/M +cis +cisgender +cistern/MS +cit +citadel/MS +citation/AMS +cite's +cite/IAGSD +citified +citizen/MS +citizenry/M +citizenship/M +citric +citron/MS +citronella/M +citrus/MS +city/SM +citywide +civet/MS +civic/S +civically +civics/M +civil/UY +civilian/MS +civility/ISM +civilization/MS +civilize/GDS +civilized/U +civvies/M +ck +cl +clack/GMDS +clad/U +cladding/M +clade +claim's +claim/CKEAGDS +claimable/A +claimant/MS +claimed/U +claimer/ECSM +clairvoyance/M +clairvoyant/MS +clam/SM +clambake/MS +clamber/ZGMDRS +clamberer/M +clammed +clammily +clamminess/M +clamming +clammy/PTR +clamor/GMDS +clamorous +clamp/GMDS +clampdown/MS +clan/SM +clandestine/Y +clang/ZGMDRS +clangor/M +clangorous/Y +clank/GMDS +clannish/P +clannishness/M +clansman/M +clansmen +clanswoman +clanswomen +clap/SM +clapboard/MDGS +clapped +clapper/MS +clapperboard/S +clapping/M +claptrap/M +claque/MS +claret/MS +clarification/M +clarify/XDSNG +clarinet/SM +clarinetist/SM +clarion/MDGS +clarity/M +clash/GMDS +clasp's +clasp/UGDS +class/GMDS +classic/MS +classical/MY +classicism/M +classicist/MS +classifiable +classification/CAM +classifications +classified's +classified/U +classifieds +classifier/MS +classify/ACSDGN +classiness/M +classism +classless/P +classmate/MS +classroom/MS +classwork/M +classy/TRP +clatter/GMDS +clausal +clause/MS +claustrophobia/M +claustrophobic +clavichord/SM +clavicle/MS +clavier/MS +claw's +claw/CSGD +clay/M +clayey +clayier +clayiest +clean/BJPZTGDRYS +cleaner/M +cleaning/M +cleanliness/UM +cleanly/UTPR +cleanness/UM +cleanse/ZGDRS +cleanser/M +cleanup/MS +clear/JPTGMDRYS +clearance/SM +clearheaded +clearing/M +clearinghouse/SM +clearness/M +clearway/S +cleat/MS +cleavage/MS +cleave/ZGDRS +cleaver/M +clef/SM +cleft/MS +clematis/MS +clemency/IM +clement/Y +clementine/S +clench/GMDS +clerestory/SM +clergy/SM +clergyman/M +clergymen +clergywoman/M +clergywomen +cleric/MS +clerical/Y +clericalism/M +clerk/GMDS +clerkship/M +clever/PTRY +cleverness/M +clevis/MS +clew/SGMD +cliche/MDS +click/BZGMDRS +clickbait +clicker/M +client/MS +clientele/MS +cliff/MS +cliffhanger/SM +cliffhanging +clifftop/S +clii +climacteric/M +climactic +climate/SM +climatic +climatically +climatologist/SM +climatology/M +climax/MDSG +climb/SMDRZGB +climber/M +climbing/M +clime/SM +clinch/MDRSZG +clincher/M +cling/SMRZG +clinger/M +clingfilm +clingy/RT +clinic/SM +clinical/Y +clinician/SM +clink/SMDRZG +clinker/M +cliometric/S +cliometrician/MS +cliometrics/M +clip/SM +clipboard/MS +clipped +clipper/SM +clipping/SM +clique/SM +cliquey +cliquish/YP +cliquishness/M +clit/SM +clitoral +clitorides +clitoris/MS +clix +cloaca/M +cloacae +cloak's +cloak/USDG +cloakroom/MS +clobber/SMDG +cloche/SM +clock/SMDG +clockwise +clockwork/SM +clod/MS +cloddish +clodhopper/MS +clog's +clog/US +clogged/U +clogging/U +cloisonne/M +cloister/SMDG +cloistral +clomp/SDG +clonal +clone/DSMG +clonidine +clonk/SMDG +clop/MS +clopped +clopping +close/DRSMYTGJP +closefisted +closemouthed +closeness/M +closeout/MS +closet/SMDG +closeup/SM +closing/M +closure/ESM +clot/MS +cloth/M +clothe/UDSG +clotheshorse/MS +clothesline/SM +clothespin/SM +clothier/MS +clothing/M +cloths +clotted +clotting +cloture/SM +cloud/SMDG +cloudburst/SM +clouded/U +cloudiness/M +cloudless +cloudy/RPT +clout/SMDG +clove/RSMZ +cloven +clover/M +cloverleaf/SM +cloverleaves +clown/SMDG +clownish/YP +clownishness/M +cloy/DGS +cloying/Y +club/MS +clubbable +clubbed +clubber/S +clubbing +clubfeet +clubfoot/MD +clubhouse/SM +clubland +cluck/SMDG +clue/MGDS +clueless +clump/SMDG +clumpy/TR +clumsily +clumsiness/M +clumsy/TRP +clung +clunk/SMDRZG +clunker/M +clunky/TR +cluster/MDSG +clutch/GMDS +clutter's +clutter/UDSG +clvi +clvii +clxi +clxii +clxiv +clxix +clxvi +clxvii +cm +cnidarian/MS +co/ESD +coach/MDSG +coachload/S +coachman/M +coachmen +coachwork +coadjutor/MS +coagulant/MS +coagulate/GNDS +coagulation/M +coagulator/MS +coal/MDGS +coalesce/GDS +coalescence/M +coalescent +coalface/MS +coalfield/S +coalition/MS +coalitionist/MS +coalmine/S +coarse/RYTP +coarsen/SDG +coarseness/M +coast/SMDRZG +coastal +coaster/M +coastguard/S +coastline/MS +coat/MDGJS +coating/M +coatroom/S +coattail/SM +coauthor/MDGS +coax/DRSZG +coaxer/M +coaxial +coaxing/Y +cob/SM +cobalt/M +cobber/S +cobble/DRSMZG +cobbler/M +cobblestone/SM +cobnut/S +cobra/SM +cobweb/SM +cobwebbed +cobwebby/RT +coca/M +cocaine/M +cocci/S +coccus/M +coccyges +coccyx/M +cochineal/M +cochlea/SM +cochleae +cochlear +cock/MDGS +cockade/SM +cockamamie +cockatiel/MS +cockatoo/SM +cockatrice/SM +cockchafer/S +cockcrow/SM +cockerel/SM +cockeyed +cockfight/MGS +cockfighting/M +cockily +cockiness/M +cockle/SM +cockleshell/SM +cockney/SM +cockpit/SM +cockroach/MS +cockscomb/SM +cocksucker/MS! +cocksure +cocktail/MS +cocky/RTP +coco/MS +cocoa/SM +coconut/SM +cocoon/SMDG +cod/SM +coda/MS +codded +codding +coddle/DSG +code's +code/CZGDRS +codeine/M +codependency/M +codependent/SM +coder/CM +codex/M +codfish/MS +codger/SM +codices +codicil/SM +codification/M +codifier/M +codify/XDRSNZG +codon/S +codpiece/MS +codswallop +coed/MS +coeducation/M +coeducational +coefficient/MS +coelenterate/MS +coenzyme +coequal/MYS +coerce/DRSZGNV +coercer/M +coercion/M +coeval/SMY +coexist/DSG +coexistence/M +coexistent +coextensive +coffee/SM +coffeecake/SM +coffeehouse/MS +coffeemaker/SM +coffeepot/MS +coffer/SM +cofferdam/MS +coffin/SMDG +cog/SM +cogency/M +cogent/Y +cogitate/DSXGNV +cogitation/M +cogitator/MS +cognac/SM +cognate/MS +cognition/AM +cognitional +cognitive/Y +cognizable +cognizance/AM +cognizant +cognomen/SM +cognoscente/M +cognoscenti +cogwheel/SM +cohabit/SGD +cohabitant/MS +cohabitation/M +coheir/SM +cohere/DSG +coherence/IM +coherency/M +coherent/IY +cohesion/M +cohesive/YP +cohesiveness/M +coho/MS +cohort/SM +coif/MS +coiffed +coiffing +coiffure/DSMG +coil's/A +coil/UADGS +coin/MDRZGS +coinage/SM +coincide/DSG +coincidence/MS +coincident +coincidental/Y +coiner/M +coinsurance/M +coir +coital +coitus/M +coke/MGDS +col/S +cola/MS +colander/SM +cold/MRYTPS +coldblooded +coldness/M +coleslaw/M +coleus/MS +coley/S +colic/M +colicky +coliseum/MS +colitis/M +coll +collaborate/DSXGNV +collaboration/M +collaborationist +collaborative/Y +collaborator/MS +collage/SM +collagen +collapse/MGDS +collapsible +collar/SMDG +collarbone/SM +collard/SM +collarless +collate/DSXGN +collateral/MY +collateralize +collation/M +collator/MS +colleague/MS +collect's +collect/ASGVD +collected/U +collectedly +collectible/SM +collection/AMS +collective/MYS +collectivism/M +collectivist/SM +collectivization/M +collectivize/DSG +collector/MS +colleen/SM +college/SM +collegiality/M +collegian/MS +collegiate +collide/DRSZG +collie/RSMZ +collier/M +colliery/SM +collision/SM +collocate/MGNDSX +collocation/M +colloid/SM +colloidal +colloq +colloquial/Y +colloquialism/SM +colloquies +colloquium/MS +colloquy/M +collude/DSG +collusion/M +collusive +cologne/SM +colon/SM +colonel/SM +colonelcy/M +colones +colonial/SMY +colonialism/M +colonialist/MS +colonist/SM +colonization/ACM +colonize/CAGSD +colonizer/MS +colonnade/MDS +colonoscopy/SM +colony/SM +colophon/SM +color's +color/AEGDS +colorant/SM +coloration/EM +coloratura/MS +colorblind/P +colorblindness/M +colored's +colored/U +coloreds +colorfast/P +colorfastness/M +colorful/PY +colorfulness/M +coloring's +colorist/S +colorization/M +colorize/DSG +colorless/PY +colorlessness/M +colorway/S +colossal/Y +colossi +colossus/M +colostomy/SM +colostrum/M +colt/MS +coltish +columbine/SM +column/SMD +columnar +columnist/SM +com/JL +coma/MS +comaker/SM +comatose +comb/MDRZGJS +combat/SMDGV +combatant/SM +combativeness/M +combed/U +comber/M +combination/SM +combine's +combine/ADSG +combined/U +combiner/MS +combings/M +combo/SM +combust/SGVD +combustibility/M +combustible/MS +combustion/M +come/IMZGRS +comeback/MS +comedian/MS +comedic +comedienne/MS +comedown/MS +comedy/SM +comeliness/M +comely/RPT +comer's +comestible/SM +comet/SM +comeuppance/SM +comfit's +comfit/ES +comfort/ESMDG +comfortable/P +comfortableness/M +comfortably/U +comforter/MS +comforting/Y +comfortless +comfy/RT +comic/SM +comical/Y +comicality/M +coming/M +comity/M +comm +comma/SM +command/SMDRLZG +commandant/MS +commandeer/GDS +commander/M +commandment/MS +commando/SM +commemorate/XGNVDS +commemoration/M +commemorator/MS +commence/ADSLG +commencement/AM +commencements +commend/ASDBG +commendably +commendation/AMS +commendatory +commensurable +commensurate/IY +comment/GSMD +commentary/SM +commentate/DSG +commentator/SM +commerce/M +commercial/SMY +commercialism/M +commercialization/M +commercialize/GDS +commie/SM +commingle/DSG +commiserate/GNVDSX +commiseration/M +commissar/SM +commissariat/SM +commissary/SM +commission's +commission/ACSGD +commissionaire/S +commissioner/SM +commit/AS +commitment/MS +committal/SM +committed/AU +committee/SM +committeeman/M +committeemen +committeewoman/M +committeewomen +committer/S +committing/A +commode's +commode/EIS +commodification +commodious/Y +commodity/SM +commodore/SM +common's +common/UPRYT +commonality/S +commonalty/M +commoner/MS +commonness/UM +commonplace/MS +commons +commonsense +commonweal/MH +commonwealth/M +commonwealths +commotion/SM +communal/Y +commune/XDSMGN +communicability/M +communicable/I +communicably +communicant/MS +communicate/GNVDSX +communication/M +communicative/U +communicator/SM +communion/M +communique/SM +communism/M +communist/SM +communistic +community/SM +commutation/MS +commutative +commutativity +commutator/SM +commute/BDRSMZG +commuter/M +comorbidity +comp/MDYGS +compact/TGSMDRYP +compaction +compactness/M +compactor/SM +companion/SBM +companionably +companionship/M +companionway/MS +company/SM +comparability/M +comparable/I +comparably/I +comparative/MYS +compare/BDSG +comparison/MS +compartment/SM +compartmental +compartmentalization/M +compartmentalize/DSG +compass/GMDS +compassion/M +compassionate/Y +compatibility/IM +compatible/IMS +compatibly/I +compatriot/MS +compeer/SM +compel/S +compelled +compelling/Y +compendious +compendium/SM +compensate/DSXGN +compensated/U +compensation/M +compensatory +compere/DSG +compete/DSG +competence/IM +competences +competencies +competency/IM +competent/IY +competition/SM +competitive/PY +competitiveness/M +competitor/SM +compilation/SM +compile/DRSZG +compiler/M +complacence/M +complacency/M +complacent/Y +complain/DRZGS +complainant/MS +complainer/M +complaint/SM +complaisance/M +complaisant/Y +complected +complement/SGMD +complementary +complete/PYTGNXDRS +completed/U +completeness/IM +completion/M +complex/MSY +complexion/MDS +complexional +complexity/SM +compliance/M +compliant/Y +complicate/GDS +complicated/Y +complication/M +complicit +complicity/M +compliment/MDGS +complimentary/U +comply/NDSXG +compo/S +component/SM +comport/LSGD +comportment/M +compose/AECGSD +composedly +composer/MS +composite/MYGNXDS +composition/CM +compositional +compositor/SM +compost/SGMD +composure/EM +compote/SM +compound/GMDBS +compounded/U +comprehend/SDG +comprehensibility/IM +comprehensible/I +comprehensibly/I +comprehension/IM +comprehensions +comprehensive/PMYS +comprehensiveness/M +compress's +compress/CGVDS +compressed/U +compressible +compression/CM +compressor/SM +comprise/GDS +compromise/MGDS +comptroller/MS +compulsion/MS +compulsive/YP +compulsiveness/M +compulsorily +compulsory/SM +compunction/SM +computation/SM +computational/Y +compute/ADSG +computer/MS +computerate +computerization/M +computerize/GDS +computing/M +comrade/SMY +comradeship/M +con/GSM +concatenate/XDSGN +concatenation/M +concave/YP +concaveness/M +conceal/SDRZGBL +concealed/U +concealer/M +concealment/M +conceit/SMD +conceited/PY +conceitedness/M +conceivable/I +conceivably/I +conceive/DSGB +concentrate/DSMGNX +concentration/M +concentric +concentrically +concept/SM +conception/SM +conceptional +conceptual/Y +conceptualization/MS +conceptualize/DSG +concern/UMD +concerned/UY +concerning +concerns +concert's +concert/ESDG +concerted/Y +concertgoer/S +concertina/SGMD +concertize/DSG +concertmaster/MS +concerto/SM +concessionaire/MS +concessional +concessionary +conch/M +conchie/S +conchs +concierge/MS +conciliate/DSGN +conciliation/AM +conciliator/SM +conciliatory +concise/RPYTN +conciseness/M +concision/M +conclave/SM +conclude/DSG +conclusion/MS +conclusive/IYP +conclusiveness/IM +concoct/SDG +concoction/MS +concomitant/MYS +concord/M +concordance/SM +concordant +concordat/SM +concourse/SM +concrete/DSPMYGNX +concreteness/M +concretion/M +concubinage/M +concubine/MS +concupiscence/M +concupiscent +concur/S +concurred +concurrence/SM +concurrency +concurring +concuss/V +concussion/SM +condemn/SDRZG +condemnation/MS +condemnatory +condemner/M +condensate/MNXS +condensation/M +condense/DRSZG +condenser/M +condescending/Y +condescension/M +condign +condiment/MS +condition's +condition/AGSD +conditional/SMY +conditionality +conditioned/U +conditioner/SM +conditioning/M +condo/SM +condolence/SM +condom/SM +condominium/MS +condone/DSG +condor/SM +conduce/DSGV +conduct/MDGV +conductance/M +conductibility/M +conductible +conduction/M +conductivity/M +conductor/MS +conductress/MS +conduit/SM +cone/M +coneys +confab/SM +confabbed +confabbing +confabulate/XDSGN +confabulation/M +confection/SZMR +confectioner/M +confectionery/SM +confederacy/SM +confederate/M +confer/S +conferee/SM +conference/MGS +conferrable +conferral/M +conferred +conferrer/MS +conferring +confessed/Y +confession/SM +confessional/SM +confessor/MS +confetti/M +confidant/MS +confidante/SM +confide/DRSZG +confidence/SM +confident/Y +confidential/Y +confidentiality/M +confider/M +confiding/Y +configuration/S +configure/B +confined/U +confinement/MS +confirm/ASDG +confirmation/ASM +confirmatory +confirmed/U +confiscate/DSGNX +confiscation/M +confiscator/SM +confiscatory +conflagration/MS +conflate/XDSGN +conflation/M +conflict/SGMD +confluence/MS +confluent +conform/ZB +conformable/U +conformal +conformance/M +conformism/M +conformist/SM +conformity/M +confrere/MS +confrontation/SM +confrontational +confuse/RZ +confused/Y +confusing/Y +confutation/M +confute/DSG +conga/SMDG +congeal/SLDG +congealment/M +conger/SM +congeries/M +congest/SDGV +congestion/M +conglomerate/DSXMGN +conglomeration/M +congrats/M +congratulate/XGNDS +congratulation/M +congratulatory +congregant/MS +congregate/GNDSX +congregation/M +congregational +congregationalism/M +congregationalist/MS +congress/MS +congressional +congressman/M +congressmen +congresspeople +congressperson/MS +congresswoman/M +congresswomen +congruence/M +congruent/Y +congruity/ISM +congruous +conic/SM +conical/Y +conifer/SM +coniferous +conjectural +conjecture/MGDS +conjoint +conjugal/Y +conjugate/DSXGN +conjugation/M +conjunct/VMS +conjunctiva/SM +conjunctive/SM +conjunctivitis/M +conjuration/MS +conjure/DRSZG +conjurer/M +conk/MDRZ +conman +connect/AEDVGS +connectable +connected/U +connection/EMS +connective/MS +connectivity/M +connector/MS +conned +conning +conniption/MS +connivance/M +connive/DRSZG +conniver/M +connoisseur/SM +connotative +connubial +conquer/ASDG +conquerable/U +conquered/U +conqueror/MS +conquest/AM +conquistador/SM +cons/DSG +consanguineous +consanguinity/M +conscienceless +conscientious/PY +conscientiousness/M +conscious/UYP +consciousness/UM +consciousnesses +conscription/M +consecrate/ADSGN +consecrated/U +consecration/AM +consecrations +consecutive/Y +consensual +consensus/MS +consent/SMDG +consequence/SM +consequent/Y +consequential/IY +conservancy/SM +conservation/M +conservationism/M +conservationist/SM +conservatism/M +conservative/MYS +conservatoire/S +conservator/SM +conservatory/SM +consider/AGSD +considerable/I +considerably +considerate/IPYN +considerateness/IM +consideration/AIM +considerations +considered/U +consign/ASDG +consignee/MS +consignment/MS +consist/SDG +consistence/MS +consistency/ISM +consistent/IY +consistory/SM +consolable/I +consolation/MS +consolatory +consolidate/XDSGN +consolidated/U +consolidation/M +consolidator/MS +consoling/Y +consomme/M +consonance/SM +consonant/SMY +consortia +consortium/M +conspectus/MS +conspicuous/IPY +conspicuousness/IM +conspiracy/SM +conspirator/MS +conspiratorial/Y +conspire/GD +constable/SM +constabulary/SM +constancy/IM +constant/MYS +constellation/SM +consternation/M +constipate/GNDS +constipation/M +constituency/SM +constituent/SM +constitute/ADSGNV +constitution/AM +constitutional/MYS +constitutionalism +constitutionality/UM +constitutions +constrained/U +constraint/SM +constrict/GVSD +constriction/SM +constrictor/SM +construable +construct's +construct/CADVGS +construction/CAMS +constructional +constructionist's +constructionist/CS +constructive/YP +constructiveness/M +constructor/MS +construe/GDS +consul/KSM +consular/K +consulate/SM +consulship/M +consult/GSD +consultancy/SM +consultant/MS +consultation/MS +consultative +consumable/SM +consume/BDRSZG +consumed/U +consumer/M +consumerism/M +consumerist/MS +consummate/YGNXDS +consummated/U +consumption/M +consumptive/SM +cont +contact/ASDG +contactable +contactless +contagion/MS +contagious/PY +contagiousness/M +contain/SBLDRZG +container/M +containerization/M +containerize/DSG +containment/M +contaminant/SM +contaminate/ACDSG +contaminated/U +contamination/CM +contaminator/SM +contd +contemn/SDG +contemplate/DSGNV +contemplation/M +contemplative/SMY +contemporaneity/M +contemporaneous/Y +contempt/M +contemptible +contemptibly +contemptuous/YP +contemptuousness/M +contender/MS +content/ESLMDG +contented/EY +contentedness/M +contention/SM +contentious/YP +contentiousness/M +contently +contentment/EM +conterminous/Y +contestable/I +contestant/MS +contested/U +contextualization +contextualize/DSG +contiguity/M +contiguous/Y +continence/IM +continent/SM +continental/SM +contingency/SM +contingent/SMY +continua +continual/Y +continuance/EMS +continuation/EMS +continue/EGDS +continuity/ESM +continuous/EY +continuum/M +contort/GD +contortion/MS +contortionist/SM +contra +contraband/M +contrabassoon/S +contraception/M +contraceptive/SM +contract/MDG +contractible +contractile +contractility +contraction/S +contractual/Y +contradict/SDG +contradiction/SM +contradictory +contradistinction/MS +contraflow/S +contrail/MS +contraindicate/GNXDS +contraindication/M +contralto/SM +contraption/SM +contrapuntal/Y +contrarian/SM +contrarianism +contrariety/M +contrarily +contrariness/M +contrariwise +contrary/PSM +contrast/MDGS +contravene/GDS +contravention/SM +contretemps/M +contribute/XGND +contribution/M +contributor/MS +contributory +contrition/M +contrivance/MS +contrive/ZGDRS +contriver/M +control's +control/CS +controllable/U +controlled/UC +controller/MS +controlling/C +controversial/Y +controversy/SM +controvert/DSG +controvertible/I +contumacious/Y +contumacy/M +contumelious +contumely/SM +contuse/XDSGN +contusion/M +conundrum/SM +conurbation/MS +convalesce/DSG +convalescence/MS +convalescent/SM +convection/M +convectional +convective +convector/S +convene/ADSG +convener/MS +convenience/IMS +convenient/IY +convent/SM +conventicle/MS +convention/SM +conventional/UY +conventionality/UM +conventionalize/GDS +conventioneer/S +convergence/MS +convergent +conversant +conversation/MS +conversational/Y +conversationalist/SM +converse/Y +convert's +convert/AGSD +converted/U +converter/SM +convertibility/M +convertible/SM +convex/Y +convexity/M +convey/SBDG +conveyance/MGS +conveyor/MS +convict/GSMD +conviction/MS +convince/GDS +convinced/U +convincing/UY +convivial/Y +conviviality/M +convoke/DSG +convoluted +convolution/MS +convoy/SMDG +convulse/GNVXDS +convulsion/M +convulsive/Y +cony/M +coo/GSMD +cook's +cook/ADGS +cookbook/MS +cooked/U +cooker/SM +cookery/SM +cookhouse/S +cookie/SM +cooking/M +cookout/SM +cookware/SM +cool/MDRYZTGPS +coolant/SM +cooler/M +coolie/SM +coolness/M +coon/MS! +coonskin/MS +coop/MDRZGS +cooper/MDG +cooperage/M +cooperate/DSGNV +cooperation/M +cooperative/PMYS +cooperativeness/M +cooperator/SM +coordinate/DSMYGN +coordinated/U +coordination/M +coordinator/MS +coot/MS +cootie/SM +cop/GJSMD +copacetic +copay/M +cope/MS +copier/SM +copilot/SM +coping/M +copious/PY +copiousness/M +copped +copper/SM +copperhead/SM +copperplate/M +coppery +copping +copra/M +copse/SM +copter/SM +copula/SM +copulate/GNVDS +copulation/M +copulative/SM +copy's +copy/ADSG +copybook/SM +copycat/MS +copycatted +copycatting +copyist/MS +copyleft +copyright/GSMD +copywriter/MS +coquetry/SM +coquette/DSMG +coquettish/Y +cor +coracle/SM +coral/SM +corbel/SM +cord/EASGDM +cordage/M +cordial/SMY +cordiality/M +cordillera/MS +cordite/M +cordless +cordon/SMDG +cordovan/M +corduroy/MS +corduroys/M +core/MZGDRS +coreligionist/S +corer/M +corespondent/MS +corgi/SM +coriander/M +cork's +cork/UDGS +corkage +corker/SM +corkscrew/SMDG +corm/MS +cormorant/SM +corn/MDRZGS +cornball/MS +cornbread/M +corncob/MS +corncrake/S +cornea/SM +corneal +corner/GMD +cornerstone/SM +cornet/SM +cornfield/S +cornflakes/M +cornflour +cornflower/SM +cornice/MS +cornily +corniness/M +cornmeal/M +cornrow/MDGS +cornstalk/SM +cornstarch/M +cornucopia/MS +corny/PRT +corolla/MS +corollary/SM +corona/SM +coronal/MS +coronary/SM +coronation/SM +coronavirus/MS +coroner/MS +coronet/MS +corp +corpora +corporal/SM +corporate/XYN +corporation/IM +corporatism +corporeal/Y +corporeality/M +corps/MS +corpse/M +corpsman/M +corpsmen +corpulence/M +corpulent +corpus/M +corpuscle/MS +corpuscular +corr +corral/SM +corralled +corralling +correct/DRYTGVSBP +corrected/U +correction/SM +correctional +corrective/SM +correctness/IM +corrector +correlate/XDSMGNV +correlated/U +correlation/M +correlational +correlative/MS +correspond/SDG +correspondence/SM +correspondent/SM +corresponding/Y +corridor/SM +corrie/S +corroborate/GNVDSX +corroborated/U +corroboration/M +corroborator/SM +corroboratory +corrode/GDS +corrosion/M +corrosive/SMY +corrugate/GNXDS +corrugation/M +corrupt/DRYPSTG +corruptibility/IM +corruptible/I +corruption/MS +corruptness/M +corsage/MS +corsair/MS +corset/SGMD +cortege/MS +cortex/M +cortical +cortices +cortisol +cortisone/M +corundum/M +coruscate/GNDS +coruscation/M +corvette/SM +cos/M +cosh/DSG +cosign/ZGSDR +cosignatory/SM +cosigner/M +cosine/SM +cosmetic/SM +cosmetically +cosmetician/MS +cosmetologist/MS +cosmetology/M +cosmic +cosmically +cosmogonist/SM +cosmogony/SM +cosmological +cosmologist/SM +cosmology/SM +cosmonaut/SM +cosmopolitan/MS +cosmopolitanism/M +cosmos/MS +cosplay +cosponsor/GSMD +cosset/SGD +cossetted +cossetting +cost/MDYGSJ +costar/SM +costarred +costarring +costliness/M +costly/PTR +costume/MZGDRS +costumer/M +costumier/S +cot/SM +cotangent/MS +cote/MS +coterie/MS +coterminous +cotillion/SM +cottage/MZGRS +cottager/M +cottar/SM +cotter/SM +cotton/SGMD +cottonmouth/M +cottonmouths +cottonseed/MS +cottontail/MS +cottonwood/SM +cottony +cotyledon/MS +couch/MDSG +couchette/S +cougar/SM +cough/MDG +coughs +could +could've +couldn't +coulee/SM +coulis +coulomb/MS +council/MS +councilman/M +councilmen +councilor/MS +councilperson/SM +councilwoman/M +councilwomen +counsel/JMDGS +counselor/MS +count/EASMDG +countable/U +countably +countdown/MS +counted/U +countenance's +countenance/EGDS +counter/EMS +counteract/SGVD +counteraction/MS +counterargument/S +counterattack/GMDS +counterbalance/MGDS +counterblast/S +counterclaim/GSMD +counterclockwise +counterculture/SM +countered +counterespionage/M +counterexample/S +counterfactual +counterfeit/ZGMDRS +counterfeiter/M +counterfoil/MS +countering +counterinsurgency/SM +counterintelligence/M +counterman/M +countermand/GMDS +countermeasure/SM +countermelody/S +countermen +countermove/S +counteroffensive/SM +counteroffer/SM +counterpane/SM +counterpart/SM +counterpetition +counterpoint/MDGS +counterpoise/MGDS +counterproductive +counterrevolution/SM +counterrevolutionary/SM +countersign/GSMD +countersignature/MS +countersink/GSM +counterspy/SM +counterstroke/SM +countersunk +countertenor/MS +countervail/GSD +counterweight/MS +countess/MS +countless +countrified +country/SM +countryman/M +countrymen +countryside/MS +countrywide +countrywoman/M +countrywomen +county/SM +countywide +coup's +coup/AS +coupe/SM +couple's +couple/UCGSD +couplet/MS +coupling/SM +coupon/SM +courage/M +courageous/YP +courageousness/M +courgette/S +courier/MDSG +course/EDGMS +coursebook/S +courser/MS +coursework +court/SMDYG +courteous/EY +courteousness/M +courtesan/SM +courtesy/ESM +courthouse/MS +courtier/SM +courtliness/M +courtly/PRT +courtroom/MS +courtship/MS +courtyard/MS +couscous/M +cousin/SM +couture/M +couturier/MS +covalent +covariance +covariant +cove/MS +coven/SM +covenant/MDSG +cover's +cover/AEUGDS +coverage/M +coverall/MS +covering's +coverings +coverlet/MS +covert/SPMY +covertness/M +covet/SDG +covetous/YP +covetousness/M +covey/SM +cow/ZGSMDR +coward/SMY +cowardice/M +cowardliness/M +cowbell/MS +cowbird/MS +cowboy/SM +cowcatcher/MS +cower/DG +cowgirl/MS +cowhand/MS +cowherd/MS +cowhide/MS +cowl/MGSJ +cowlick/MS +cowling/M +cowman/M +cowmen +coworker/MS +cowpat/S +cowpoke/MS +cowpox/M +cowpuncher/SM +cowrie/SM +cowshed/S +cowslip/SM +cox/GDS +coxcomb/MS +coxswain/MS +coy/TPRY +coyness/M +coyote/SM +coypu/SM +cozen/SDG +cozenage/M +cozily +coziness/M +cozy/RSMTP +cpd +cpl +cps +crab/MS +crabbed +crabber/SM +crabbily +crabbiness/M +crabbing +crabby/PRT +crabgrass/M +crablike +crabwise +crack/SMDRYZGJ +crackdown/MS +cracker/M +crackerjack/MS +crackhead/MS +crackle/DSJMG +crackling/M +crackpot/MS +crackup/SM +cradle/DSMG +craft/SMDG +craftily +craftiness/M +craftsman/M +craftsmanship/M +craftsmen +craftspeople +craftswoman/M +craftswomen +crafty/RTP +crag/MS +cragginess/M +craggy/RPT +cram/S +crammed +crammer/S +cramming +cramp/SMDG +cramping/M +crampon/SM +cranberry/SM +crane/DSMG +cranial +cranium/SM +crank/SMDG +crankcase/SM +crankily +crankiness/M +crankshaft/MS +cranky/PRT +cranny/DSM +crap/MS +crape/SM +crapped +crapper/S +crappie/RSMT +crapping +crappy +craps/M +crapshooter/MS +crash/MDSG +crass/RYTP +crassness/M +crate/DRSMZG +crater/MDG +cravat/SM +crave/DSGJ +craven/SMYP +cravenness/M +craving/M +craw/MS +crawdad/SM +crawl/SMDRZG +crawler/M +crawlspace/SM +crawly/TRSM +cray/S +crayfish/MS +crayola/S +crayon/GSMD +craze/DSMG +crazily +craziness/M +crazy/PRSMT +creak/SMDG +creakily +creakiness/M +creaky/RPT +cream/SMDRZG +creamer/M +creamery/SM +creamily +creaminess/M +creamy/RPT +crease/ICGMSD +create/KADSGNV +creation's/K +creation/ASM +creationism/SM +creationist/SM +creative/SMYP +creativeness/M +creativity/M +creator/MS +creature/SM +creche/SM +cred +credence/M +credential/SGMD +credenza/SM +credibility/IM +credible/I +credibly/I +credit/EGSBMD +creditably/E +creditor/SM +creditworthy/P +credo/SM +credulity/IM +credulous/IY +credulousness/M +creed/SM +creek/SM +creel/SM +creep/SMRZG +creeper/M +creepily +creepiness/M +creepy/TPR +cremains/M +cremate/GNDSX +cremation/M +crematoria +crematorium/MS +crematory/SM +creme/SM +crenelate/XGNDS +crenelation/M +creole/SM +creosote/MGDS +crepe/SM +crept +crepuscular +crescendo/CSM +crescent/MS +cress/M +crest/SMDG +crestfallen +crestless +cretaceous +cretin/SM +cretinism/M +cretinous +cretonne/M +crevasse/SM +crevice/MS +crew/MDGS +crewel/M +crewelwork/M +crewman/M +crewmen +crib/MS +cribbage/M +cribbed +cribber/MS +cribbing +crick/SMDG +cricket/MRSZG +cricketer/M +crier/M +crikey +crime/SM +criminal/MYS +criminality/M +criminalize/CGDS +criminologist/MS +criminology/M +crimp/SMDG +crimson/SMDG +cringe/DSMG +crinkle/DSMG +crinkly/RT +crinoline/SM +cripes +cripple/DRSMZG +crippler/M +crippleware +crippling/Y +crises +crisis/M +crisp/SMDRYTGP +crispbread/S +crispiness/M +crispness/M +crispy/PRT +crisscross/GMDS +criteria +criterion/M +critic/SM +critical/UY +criticality +criticism/MS +criticize/ZGDRS +criticizer/M +critique/MGDS +critter/SM +croak/SMDG +croaky/RT +crochet/SMDRZG +crocheter/M +crocheting/M +crock/SMD +crockery/M +crocodile/SM +crocus/MS +croft/SRZG +croissant/MS +crone/SM +crony/SM +cronyism/M +crook/SMDG +crooked/PTRY +crookedness/M +crookneck/SM +croon/SMDRZG +crooner/M +crop/MS +cropland/SM +cropped +cropper/MS +cropping +croquet/M +croquette/SM +crosier/MS +cross's +cross/AUGTSD +crossbar/SM +crossbeam/MS +crossbones/M +crossbow/SM +crossbowman/M +crossbowmen +crossbred +crossbreed/SGM +crosscheck/SMDG +crosscurrent/MS +crosscut/SM +crosscutting +crosser +crossfire/MS +crosshatch/GDS +crossing/SM +crossly +crossness/M +crossover/MS +crosspatch/MS +crosspiece/SM +crossroad/MS +crossroads/M +crosstown +crosswalk/MS +crosswind/MS +crosswise +crossword/MS +crotch/MS +crotchet/SM +crotchety +crouch/GMDS +croup/M +croupier/M +croupy/ZTR +crouton/MS +crow/MDGS +crowbar/MS +crowd/SMDG +crowded/U +crowdfund/SDG +crowfeet +crowfoot/SM +crown/SMDG +crowned/U +crucial/Y +crucible/SM +crucifix/MS +crucifixion/SM +cruciform/SM +crucify/DSG +crud/M +cruddy/TR +crude/RMYTP +crudeness/M +crudites/M +crudity/SM +cruel/RYPT +cruelness/M +cruelty/SM +cruet/SM +cruft/SD +crufty +cruise/DRSMZG +cruiser/M +cruller/MS +crumb/SMDYG +crumble/MGDS +crumbliness/M +crumbly/TPR +crumby/TR +crumminess/M +crummy/PTR +crumpet/MS +crumple/MGDS +crunch/GMDRS +crunchiness/M +crunchy/TRP +crupper/MS +crusade/MZGDRS +crusader/M +cruse/SM +crush/MDRSZG +crusher/M +crushing/Y +crust/SMDG +crustacean/SM +crustal +crustily +crustiness/M +crusty/TRP +crutch/MS +crux/MS +cry/ZGJDRSM +crybaby/SM +cryogenic/S +cryogenics/M +cryonics +cryosurgery/M +crypt/SM +cryptanalysis +cryptic +cryptically +cryptocurrency/SM +cryptogram/SM +cryptographer/SM +cryptography/M +crystal/SM +crystalline +crystallization/M +crystallize/ADSG +crystallographic +crystallography +ct +ctn +ctr +cu +cub/ZGSMDR +cubbyhole/MS +cube/MS +cuber/M +cubic +cubical +cubicle/MS +cubism/M +cubist/SM +cubit/SM +cuboid/S +cuckold/MDSG +cuckoldry/M +cuckoo/SM +cucumber/SM +cud/SM +cuddle/DSMG +cuddly/TR +cudgel/SGMDJ +cue/DSMG +cuff/MDGS +cuisine/SM +culinary +cull/MDGS +culminate/XDSGN +culmination/M +culotte/SM +culpability/M +culpable/I +culpably +culprit/SM +cult/MS +cultism/M +cultist/MS +cultivable +cultivar/SM +cultivate/BDSGN +cultivated/U +cultivation/M +cultivator/MS +cultural/Y +culture/MGDS +cultured/U +culvert/MS +cum/SM +cumber/SDG +cumbersome/P +cumbersomeness/M +cumbrous +cumin/M +cummerbund/MS +cumming +cumulative/Y +cumuli +cumulonimbi +cumulonimbus/M +cumulus/M +cuneiform/M +cunnilingus/M +cunning/MRYT +cunt/MS! +cup/SM +cupboard/SM +cupcake/MS +cupful/SM +cupid/SM +cupidity/M +cupola/SMD +cuppa/S +cupped +cupping +cupric +cur/SMY +curability/M +curacao +curacy/SM +curare/M +curate/DSMGV +curative/MS +curator/KMS +curatorial +curb/MDGS +curbing/M +curbside +curbstone/SM +curd/MS +curdle/DSG +cure's +cure/KZGBDRS +cured/U +curer/KM +curettage/M +curfew/SM +curia/M +curiae +curie/SM +curio/SM +curiosity/SM +curious/YP +curiousness/M +curium/M +curl's +curl/UDGS +curler/SM +curlew/SM +curlicue/DSMG +curliness/M +curling/M +curly/RPT +curmudgeon/MYS +currant/MS +currency/SM +current's +current/FAY +currents +curricula +curricular +curriculum/M +curry/DSMG +currycomb/SGMD +curse/DSMGV +cursed/Y +cursive's +cursive/EAY +cursor/SM +cursorily +cursoriness/M +cursory/P +curt/RYTP +curtail/GDSL +curtailment/SM +curtain/GMDS +curtness/M +curtsy/GDSM +curvaceous/P +curvaceousness/M +curvature/SM +curve/DSMG +curvy/RT +cushion/MDSG +cushy/RT +cusp/MS +cuspid/SM +cuspidor/SM +cuss's +cuss/FEGSD +cussed/PY +custard/MS +custodial +custodian/MS +custodianship/M +custody/M +custom/SZMR +customarily +customary/U +customer/M +customhouse/SM +customization/M +customize/DSG +cut/TSMR +cutaneous +cutaway/MS +cutback/MS +cute/YP +cuteness/M +cutesy/TR +cutey/S +cuticle/MS +cutie/SM +cutlass/MS +cutler/SM +cutlery/M +cutlet/SM +cutoff/SM +cutout/SM +cutter/SM +cutthroat/SM +cutting/MYS +cuttlefish/MS +cutup/SM +cutworm/MS +cw +cwt +cyan/M +cyanide/M +cyanobacteria +cyberbully/SM +cybercafe/S +cybernetic/S +cybernetics/M +cyberpunk/SM +cybersex +cyberspace/MS +cyborg/SM +cyclamen/MS +cycle/ADSMG +cyclic +cyclical/Y +cyclist/MS +cyclometer/MS +cyclone/MS +cyclonic +cyclopedia/MS +cyclopes +cyclops/M +cyclotron/MS +cygnet/MS +cylinder/MS +cylindrical +cymbal/MS +cymbalist/MS +cynic/SM +cynical/Y +cynicism/M +cynosure/MS +cypress/MS +cyst/MS +cystic +cystitis +cytokines +cytologist/SM +cytology/M +cytoplasm/M +cytoplasmic +cytosine/M +czar/MS +czarina/SM +czarism +czarist/SM +d'Arezzo/M +d'Estaing/M +d/NXGJ +dB +dab/SM +dabbed +dabber/MS +dabbing +dabble/ZGDRS +dabbler/M +dace/SM +dacha/MS +dachshund/MS +dactyl/MS +dactylic/MS +dad/SM +dadaism/M +dadaist/MS +daddy/SM +dado/M +dadoes +daemon/MS +daemonic +daffiness/M +daffodil/SM +daffy/PTR +daft/PTRY +daftness/M +dag/S +dagger/MS +dago/S +dagoes +daguerreotype/DSMG +dahlia/MS +dailiness/M +daily/PSM +daintily +daintiness/M +dainty/RSMTP +daiquiri/MS +dairy/GSM +dairying/M +dairymaid/MS +dairyman/M +dairymen +dairywoman/M +dairywomen +dais/MS +daisy/SM +dale/SM +dalliance/MS +dallier/M +dally/ZGDRS +dalmatian/MS +dam/SM +damage/MGDS +damageable +damaged/U +damages/M +damask/MDGS +dame/SM +dammed +damming +dammit +damn/SBGMD +damnably +damnation/M +damned/T +damp/SPXZTGMDNRY +dampen/ZGDR +dampener/M +damper/M +dampness/M +damsel/MS +damselfly/SM +damson/MS +dance/MZGDRS +dancer/M +dancing/M +dandelion/SM +dander/M +dandify/GDS +dandle/GDS +dandruff/M +dandy/TRSM +dang/SZGDR +danger/M +dangerous/Y +dangle/ZGDRS +dangler/M +danish/MS +dank/PTRY +dankness/M +danseuse/MS +dapper/TR +dapple/MGDS +dare/DRSMZG +daredevil/MS +daredevilry/M +darer/M +daresay +daring/MY +dark/PXTMNRY +darken/ZGDR +darkener/M +darkie/S +darkness/M +darkroom/MS +darling/MS +darn/SZGMDR +darned/TR +darner/M +dart/SZGMDR +dartboard/MS +darter/M +dash/ZGMDRS +dashboard/SM +dasher/M +dashiki/MS +dashing/Y +dastard/MYS +dastardliness/M +data +database/SM +dataset/MS +datatype +date/DRSMZGV +datebook/S +dated/U +dateless +dateline/MGDS +dater/M +dateset +dative/MS +datum/M +daub/SZGMDR +dauber/M +daughter/SMY +daunt/GDS +daunting/Y +dauntless/YP +dauntlessness/M +dauphin/MS +davenport/MS +davit/MS +dawdle/ZGDRS +dawdler/M +dawn/SGMD +day/SM +daybed/MS +daybreak/M +daycare/M +daydream/MDRZGS +daydreamer/M +daylight/MS +daylights/M +daylong +daytime/M +daze/DSMG +dazed/Y +dazzle/MZGDRS +dazzler/M +dazzling/Y +db +dbl +dc +dd/SDG +dded/K +dding/K +deacon/MS +deaconess/MS +dead/XTMNRY +deadbeat/MS +deadbolt/SM +deaden/GD +deadhead/SDG +deadline/SM +deadliness/M +deadlock/GSMD +deadly/TPR +deadpan/MS +deadpanned +deadpanning +deadwood/M +deaf/PXTNR +deafen/GD +deafening/Y +deafness/M +deal/SJZGMR +dealer/M +dealership/SM +dealing/M +dealt +dean/M +deanery/SM +deanship/M +dear/SPTMRYH +dearest/S +dearness/M +dearth/M +dearths +deary/SM +death/MY +deathbed/SM +deathblow/MS +deathless/Y +deathlike +deaths +deathtrap/MS +deathwatch/MS +deaves +deb/SM +debacle/MS +debarkation/M +debarment/M +debate/BMZR +debater/M +debating/M +debauch/MDSG +debauchee/MS +debauchery/SM +debenture/MS +debilitate/DSGN +debilitation/M +debility/SM +debit/D +debonair/PY +debonairness/M +debouch/GDS +debridement +debris/M +debt/SM +debtor/MS +debugger/S +debut/GMD +debutante/SM +decade/MS +decadence/M +decadency/M +decadent/MYS +decaf/MS +decaffeinate/DSG +decagon/MS +decal/MS +decampment/M +decapitate/XGNDS +decapitator/MS +decathlete/S +decathlon/SM +decay/GD +deceased/M +decedent/MS +deceit/MS +deceitful/YP +deceitfulness/M +deceive/UGDS +deceiver/MS +deceiving/Y +decelerate/GNDS +deceleration/M +decelerator/SM +decency/ISM +decennial/SM +decent/IY +deception/MS +deceptive/YP +deceptiveness/M +decibel/MS +decidable/U +decide/BZGDRS +decided/Y +deciduous +deciliter/MS +decimal/SM +decimalization +decimate/DSGN +decimation/M +decimeter/MS +decipherable/UI +decision/IM +decisions +decisive/IPY +decisiveness/IM +deck/SGMD +deckchair/S +deckhand/SM +deckle/S +declamation/MS +declamatory +declaration/MS +declarative +declaratory +declare/DRSZGB +declared/U +declarer/M +declension/SM +declination/M +decline/DRSMZG +decliner/M +declivity/SM +decoherence +decolletage/SM +decollete +decongestant/MS +deconstructionism +decor/MS +decorate/AGNVDS +decorating/M +decoration/AM +decorations +decorative/Y +decorator/MS +decorous/IY +decorousness/M +decorum/M +decoupage/DSMG +decoy/GMDS +decreasing/Y +decree/MDS +decreeing +decrement/GDS +decrepit +decrepitude/M +decriminalization/M +decry/GDS +decryption +dedicate/AGDS +dedication/SM +dedicator/SM +dedicatory +deduce/GDS +deducible +deduct/GVD +deductible/SM +deduction/SM +deductive/Y +deed/GD +deejay/MS +deem/ASGD +deep/SPXTMNRY +deepen/GD +deepfake/SM +deepness/M +deer/M +deerskin/M +deerstalker/S +def/Z +defacement/M +defacer/SM +defalcate/DSXGN +defalcation/M +defamation/M +defamatory +defame/ZGDRS +defamer/M +defaulter/SM +defeat/MDRZGS +defeated/U +defeater/M +defeatism/M +defeatist/MS +defecate/GNDS +defecation/M +defect/MDGVS +defection/MS +defective/MPYS +defectiveness/M +defector/MS +defendant/SM +defended/U +defenestration/S +defense/DSMGV +defenseless/YP +defenselessness/M +defensible/I +defensibly/I +defensive/MYP +defensiveness/M +deference/M +deferential/Y +deferral/MS +deferred +deferring +deffer +deffest +defiant/Y +defibrillation +defibrillator/S +deficiency/SM +deficient +deficit/SM +defilement/M +definable/IU +define/AGDS +defined/U +definer/MS +definite/IYVP +definiteness/IM +definition/AM +definitions +definitive/Y +deflate/GNDS +deflation/M +deflationary +deflect/DGVS +deflection/MS +deflector/SM +defogger/SM +defoliant/SM +defoliate/DSGN +defoliation/M +defoliator/MS +deformity/SM +defraud/DRZGS +defrauder/M +defrayal/M +defrock/DG +defroster/MS +deft/PTRY +deftness/M +defunct +defy/GDS +deg +degeneracy/M +degenerate/MV +degrade/B +degree/MS +dehydrator/SM +dehydrogenase +deicer/MS +deification/M +deify/NGDS +deign/GDS +deist/MS +deistic +deity/SM +deject/GDS +dejected/Y +dejection/M +delay/ZDR +delectable +delectably +delectation/M +delegate/GD +delete/XGNDS +deleterious +deletion/M +delft/M +delftware/M +deli/SM +deliberate/XYVP +deliberateness/M +delicacy/ISM +delicate/IY +delicateness/M +delicatessen/SM +delicious/PY +deliciousness/M +delighted/Y +delightful/Y +deliminator +delineate/GNXDS +delineation/M +delinquency/SM +delinquent/SMY +deliquesce/DSG +deliquescent +delirious/YP +deliriousness/M +delirium/SM +deliver/ADGS +deliverable/S +deliverance/M +delivered/U +deliverer/SM +dell/SM +delphinium/MS +delta/MS +delude/GDS +deluge/MGDS +delusion/MS +delusional +delusive/Y +deluxe +delve/ZGDRS +delver/M +demagogic +demagogically +demagogue/SM +demagoguery/M +demagogy/M +demand/GMDS +demanding/U +demarcate/DSGNX +demarcation/M +demean/GDS +demeanor/M +demented/Y +dementia/M +demesne/MS +demigod/MS +demigoddess/MS +demijohn/SM +demimondaine/SM +demimonde/M +demise/MGDS +demitasse/MS +demo/GMD +democracy/SM +democrat/MS +democratic/U +democratically +democratization/M +democratize/GDS +demode +demographer/SM +demographic/SM +demographically +demographics/M +demography/M +demolish/DSG +demolition/MS +demon/MS +demonetization/M +demoniac +demoniacal/Y +demonic +demonically +demonize/GDS +demonology/SM +demonstrability +demonstrable/I +demonstrably +demonstrate/XGNVDS +demonstration/M +demonstrative/MYSP +demonstrativeness/M +demonstrator/MS +demote/GD +demotic +demount +demulcent/SM +demur/TMRS +demure/PY +demureness/M +demurral/SM +demurred +demurrer/SM +demurring +den/M +denationalization +denaturation +denature/DG +dendrite/SM +dengue/M +deniability +deniable/U +denial/MS +denier/M +denigrate/DSGN +denigration/M +denim/MS +denitrification +denizen/MS +denominational +denotative +denouement/MS +denounce/LDSG +denouncement/SM +dense/PYTR +denseness/M +density/SM +dent/ISGMD +dental/Y +dentifrice/SM +dentin/M +dentist/MS +dentistry/M +dentition/M +denture/IMS +denuclearize/GDS +denudation/M +denude/GDS +denunciation/SM +deny/ZGDRS +deodorant/SM +deodorization/M +deodorize/DRSZG +deodorizer/M +departed/M +department/MS +departmental/Y +departmentalization/M +departmentalize/GDS +departure/SM +dependability/M +dependable/U +dependably +dependence/IM +dependency/SM +dependent/IMYS +depict/GDS +depiction/MS +depilatory/SM +deplete/GNDS +depletion/M +deplorably +deplore/BGDS +deploy/ALGDS +deployment/AM +deployments +deponent/MS +deportation/MS +deportee/MS +deportment/M +deposit/AGMDS +depositor/MS +depository/SM +deprave/GDS +depravity/SM +deprecate/GNDS +deprecating/Y +deprecation/M +deprecatory +depreciate/DSGN +depreciation/M +depredation/SM +depressant/SM +depressing/Y +depression/SM +depressive/SM +depressor/MS +depressurization +deprive/GDS +deprogramming +depth/M +depths +deputation/MS +depute/DSG +deputize/DSG +deputy/SM +derailleur/SM +derailment/SM +derangement/M +derby/SM +derelict/MS +dereliction/M +deride/GDS +derision/M +derisive/PY +derisiveness/M +derisory +derivation/MS +derivative/MS +derive/B +dermal +dermatitis/M +dermatological +dermatologist/SM +dermatology/M +dermis/M +derogate/DSGN +derogation/M +derogatorily +derogatory +derrick/SM +derriere/SM +derringer/SM +derv +dervish/MS +desalinate/GNDS +desalination/M +desalinization/M +desalinize/GDS +descant/M +descend/FGDS +descendant/MS +descender +describable/I +describe/BZGDR +describer/M +description/SM +descriptive/PY +descriptiveness/M +descriptor/S +descry/GDS +desecrate/DSGN +desecration/M +deselection +desert/SDRZGM +deserter/M +desertification +desertion/SM +deserved/UY +deserving/U +desiccant/SM +desiccate/DSGN +desiccation/M +desiccator/SM +desiderata +desideratum/M +design/ASDG +designate/DSGNX +designation/M +desirability/UM +desirableness/M +desirably/U +desire/B +desired/U +desirous +desist/SDG +desk/SM +deskill/G +desktop/SM +desolate/PDSYGN +desolateness/M +desolation/M +despair/SMDG +despairing/Y +desperado/M +desperadoes +desperate/YNP +desperateness/M +desperation/M +despicable +despicably +despise/DSG +despite +despoilment/M +despondence/M +despondency/M +despondent/Y +despotic +despotically +despotism/M +dessert/SM +dessertspoon/S +dessertspoonful/S +destination/SM +destine/DSG +destiny/SM +destitute/N +destitution/M +destroy/SZGDR +destroyer/M +destruct/GVMDS +destructibility/IM +destructible/I +destruction/M +destructive/PY +destructiveness/M +desuetude/M +desultorily +desultory +detach/BLGDS +detachment/MS +detain/LGDS +detainee/MS +detainment/M +detect/SDGVB +detectable/U +detected/U +detection/M +detective/SM +detector/SM +detente/SMNX +detention/M +deter/SL +detergent/SM +deteriorate/DSGN +deterioration/M +determent/M +determinable/I +determinant/SM +determinate +determine/AGDS +determined/U +determinedly +determiner/SM +determinism/M +deterministic +deterministically +deterred/U +deterrence/M +deterrent/MS +deterring +detestably +detestation/M +dethrone/DSLG +dethronement/M +detonate/GNDSX +detonation/M +detonator/SM +detox/MDSG +detoxification/M +detoxify/DSGN +detract/GD +detriment/SM +detrimental/Y +detritus/M +deuce/SM +deuterium/M +devastate/GNDS +devastating/Y +devastation/M +devastator/MS +develop/ASGDL +developed/U +developer/SM +development/ASM +developmental/Y +deviance/M +deviancy/M +deviant/SM +deviate/DSMGNX +deviating/U +deviation/M +devil/SMDGL +devilish/YP +devilishness/M +devilment/M +devilry/SM +deviltry/SM +devious/YP +deviousness/M +devoid +devolution/M +devolve/DSG +devoted/Y +devotee/SM +devotion/MS +devotional/SM +devour/SDG +devout/PRYT +devoutness/M +dew/M +dewberry/SM +dewclaw/SM +dewdrop/SM +dewiness/M +dewlap/SM +dewy/RTP +dexterity/M +dexterous/YP +dexterousness/M +dextrose/M +dharma +dhoti/SM +dhow/MS +diabetes/M +diabetic/SM +diabolic +diabolical/Y +diacritic/MS +diacritical +diadem/SM +diaereses +diaeresis/M +diagnose/DSG +diagnosis/M +diagnostic/S +diagnostically +diagnostician/SM +diagnostics/M +diagonal/SMY +diagram/SM +diagrammatic +diagrammatically +diagrammed +diagramming +dial/AMDGS +dialect/SM +dialectal +dialectic/SM +dialectical +dialectics/M +dialing/S +dialog +dialogue/SM +dialyses +dialysis/M +dialyzes +diam +diamagnetic +diamagnetism +diamante +diameter/SM +diametric +diametrical/Y +diamond/SM +diamondback/MS +diapason/SM +diaper/SMDG +diaphanous +diaphragm/SM +diaphragmatic +diarist/SM +diarrhea/M +diary/SM +diaspora/SM +diastase/M +diastole/M +diastolic +diathermy/M +diatom/SM +diatomic +diatonic +diatribe/SM +diazepam +dibble/DSMG +dibs/M +dice/GDS +dices/I +dicey +dichotomous +dichotomy/SM +dicier +diciest +dick/MRXZS +dicker/DG +dickey/SM +dickhead/S +dickybird/S +dicotyledon/MS +dicotyledonous +dict +dicta +dictate/DSMGNX +dictation/M +dictator/SM +dictatorial/Y +dictatorship/SM +diction/M +dictionary/SM +dictum/M +did/AU +didactic +didactically +diddle/DRSZG +diddler/M +diddly +diddlysquat +diddums +didgeridoo/S +didn't +dido/M +didoes +didst +die/DSM +dielectric/MS +diereses +dieresis/M +diesel/SMDG +diet/MDRZGS +dietary/SM +dieter/M +dietetic/S +dietetics/M +dietitian/MS +diff/DRZGS +differ/DG +difference/IM +differences +different/IY +differentiable +differential/SM +differentiate/DSGN +differentiated/U +differentiation/M +difficult/Y +difficulty/SM +diffidence/M +diffident/Y +diffract/GSD +diffraction/M +diffuse/DSYGNVP +diffuseness/M +diffusion/M +diffusivity +dig/SM +digerati/M +digest/SMDGV +digested/U +digestibility/M +digestible/I +digestion/IM +digestions +digestive/S +digger/SM +digging/S +diggings/M +digicam/S +digit/SM +digital/Y +digitalis/M +digitization +digitize/GDS +dignified/U +dignify/DSG +dignitary/SM +dignity/ISM +digraph/M +digraphs +digress/GVDS +digression/MS +dike/MGDS +diktat/S +dilapidated +dilapidation/M +dilatation/M +dilate/DSGN +dilation/M +dilator/SM +dilatory +dildo/S +dilemma/MS +dilettante/SM +dilettantish +dilettantism/M +diligence/M +diligent/Y +dill/MS +dilly/SM +dillydally/DSG +diluent +dilute/DSGNX +diluted/U +dilution/M +dim/PSRY +dime/MS +dimension/SM +dimensional +dimensionless +diminish/GDS +diminished/U +diminuendo/SM +diminution/SM +diminutive/SM +dimity/M +dimmed/U +dimmer/SM +dimmest +dimming +dimness/M +dimple/DSMG +dimply +dimwit/SM +dimwitted +din/ZGSMDR +dinar/SM +dine/S +diner/M +dinette/MS +ding/MDG +dingbat/MS +dinghy/SM +dingily +dinginess/M +dingle/SM +dingo/M +dingoes +dingus/MS +dingy/RPT +dink/R +dinky/RSMT +dinned +dinner/SMDG +dinnertime/M +dinnerware/M +dinning +dinosaur/SM +dint/M +diocesan/MS +diocese/MS +diode/SM +diorama/SM +dioxide/SM +dioxin/SM +dip/SM +diphtheria/M +diphthong/SM +diploid/SM +diploma/SM +diplomacy/M +diplomat/MS +diplomata +diplomatic/U +diplomatically +diplomatist/MS +diplopia +dipole/SM +dipped +dipper/SM +dipping +dippy/RT +dipso/S +dipsomania/M +dipsomaniac/MS +dipstick/SM +dipterous +diptych/M +diptychs +dire/YTR +direct/ASDGVT +directer +direction/IM +directional +directionless +directions +directive/SM +directly +directness/IM +director/MS +directorate/SM +directorial +directorship/SM +directory/SM +direful +dirge/SM +dirigible/MS +dirk/MS +dirndl/SM +dirt/M +dirtball/S +dirtily +dirtiness/M +dirty/DRSTGP +dis/M +disable/DSGL +disablement/M +disambiguate/N +disappointing/Y +disarming/Y +disassembly +disastrous/Y +disbandment/M +disbarment/M +disbelieving/Y +disbursal/M +disburse/DSGL +disbursement/MS +disc/M +discern/LSDG +discernible/I +discernibly +discerning/Y +discernment/M +discharged/U +disciple/SM +discipleship/M +disciplinarian/SM +disciplinary +discipline/DSMG +disciplined/U +disclose/DSG +disclosed/U +disco/MG +discography/SM +discoloration/S +discombobulate/DSGN +discombobulation/M +discomfit/DG +discomfiture/M +discommode/DG +disconcerting/Y +disconnected/PY +disconnectedness/M +disconsolate/Y +discordance/M +discordant/Y +discotheque/SM +discourage/LGDS +discouragement/SM +discouraging/Y +discover/ASDG +discovered/U +discoverer/MS +discovery/ASM +discreet/PRYT +discreetness/M +discrepancy/SM +discrepant +discrete/PYN +discreteness/M +discretion/IM +discretionary +discriminant +discriminate/GNDS +discriminating/U +discrimination/M +discriminator/MS +discriminatory +discursiveness/M +discus/MS +discussant/SM +discussion/SM +disdain/SMDG +disdainful/Y +disembowel/SDLG +disembowelment/M +disfigurement/SM +disfranchisement/M +disgorgement/M +disgruntle/LGDS +disgruntlement/M +disguise/GD +disguised/U +disgusted/Y +disgusting/Y +dish/MDSG +dishabille/M +disharmonious +dishcloth/M +dishcloths +disheartening/Y +dishevel/DGLS +dishevelment/M +dishpan/SM +dishrag/SM +dishtowel/MS +dishware/M +dishwasher/MS +dishwater/M +dishy +disillusion/GLD +disillusionment/M +disinfectant/MS +disinfection/M +disinterested/PY +disinterestedness/M +disjointed/YP +disjointedness/M +disjunctive +disjuncture +disk/MS +diskette/MS +dislodge/GDS +dismal/Y +dismantlement/M +dismay/SMDG +dismayed/U +dismember/LGD +dismemberment/M +dismissive/Y +disorder/Y +disorganization/M +disparage/DSGL +disparagement/M +disparaging/Y +disparate/Y +dispatcher/MS +dispel/S +dispelled +dispelling +dispensary/SM +dispensation/MS +dispense/BZGDRS +dispenser/M +dispersal/M +disperse/GNDS +dispersion/M +dispirit/GDS +displeasure/M +disposable/SM +disposal/SM +disposed/I +disposition/ISM +dispossession/M +disproof/SM +disproportional +disprove/B +disputable/I +disputably/I +disputant/MS +disputation/SM +disputatious/Y +dispute/DRSMZGB +disputed/U +disputer/M +disquiet/GSMD +disquisition/MS +disregardful +disrepair/M +disrepute/MB +disrupt/GVSD +disruption/SM +disruptive/Y +dissect/SDG +dissed +dissemblance/M +dissemble/ZGDRS +dissembler/M +disseminate/GNDS +dissemination/M +dissension/SM +dissent/SMDRZG +dissenter/M +dissertation/SM +disses +dissidence/M +dissident/MS +dissimilar +dissimilitude/S +dissing +dissipate/GNDS +dissipation/M +dissociate/GNVDS +dissociation/M +dissoluble/I +dissolute/YNP +dissoluteness/M +dissolve/AGDS +dissolved/U +dissonance/SM +dissonant +dissuade/GDS +dissuasive +dist +distaff/SM +distal/Y +distance/DSMG +distant/Y +distaste/SM +distemper/M +distention/SM +distillate/SMNX +distillation/M +distillery/SM +distinct/IYTVP +distincter +distinction/SM +distinctive/YP +distinctiveness/M +distinctness/IM +distinguish/GDSB +distinguishable/I +distinguished/U +distort/GDR +distortion/MS +distract/DG +distracted/Y +distraction/S +distrait +distraught +distress/DG +distressful +distressing/Y +distribute/AGNVDS +distributed/U +distribution/AM +distributional +distributions +distributive/Y +distributor's +distributor/AS +distributorship/S +district's +district/AS +disturb/ZGSDR +disturbance/SM +disturbed/U +disturber/M +disturbing/Y +disunion/M +disyllabic +ditch/MDSG +dither/SMDRZG +ditherer/M +ditransitive +ditsy +ditto/SMDG +ditty/SM +ditz/MS +diuretic/MS +diurnal/Y +div +diva/MS +divalent +divan/SM +dive/MZTGDRS +diver/M +diverge/DSG +divergence/MS +divergent +diverse/XYNP +diverseness/M +diversification/M +diversify/GNDS +diversion/M +diversionary +diversity/SM +divert/SDG +diverticulitis/M +divest/SLDG +divestiture/MS +divestment/M +divide/DRSMZGB +divided/U +dividend/MS +divider/M +divination/M +divine/DRSMYZTG +diviner/M +diving/M +divinity/SM +divisibility/IM +divisible/I +division/MS +divisional +divisive/PY +divisiveness/M +divisor/SM +divorce/DSLMG +divorcee/MS +divorcement/MS +divot/SM +divulge/GDS +divvy/DSMG +dixieland/M +dizzily +dizziness/M +dizzy/DRSPTG +djellaba/MS +do/SJMRHZG +doable +dob/S +dobbed +dobbin/SM +dobbing +doberman/MS +dobro +doc/SM +docent/SM +docile/Y +docility/M +dock/MDRZGS +docket/SMDG +dockland/S +dockside +dockworker/MS +dockyard/MS +doctor/SMDG +doctoral +doctorate/MS +doctrinaire/MS +doctrinal +doctrine/MS +docudrama/SM +document/GMDS +documentary/SM +documentation/SM +documented/U +dodder/SMDG +doddery +doddle +dodge/DRSMZG +dodgem/S +dodger/M +dodgy/RT +dodo/MS +doe/SM +doer/M +does/AU +doeskin/MS +doesn't +doff/DGS +dog/SM +dogcart/SM +dogcatcher/SM +doge/MS +dogeared +dogfight/SM +dogfish/MS +dogged/PY +doggedness/M +doggerel/M +dogging +doggone/TGRS +doggy/RSMT +doghouse/SM +dogie/SM +dogleg/SM +doglegged +doglegging +doglike +dogma/SM +dogmatic +dogmatically +dogmatism/M +dogmatist/SM +dognapper +dogsbody/S +dogsled/S +dogtrot/MS +dogtrotted +dogtrotting +dogwood/MS +doily/SM +doing/USM +doldrums/M +dole's +dole/FGDS +doleful/YP +dolefulness/M +doll/MDGS +dollar/SM +dollhouse/SM +dollop/SGMD +dolly/SM +dolmen/SM +dolomite/M +dolor/M +dolorous/Y +dolphin/MS +dolt/MS +doltish/YP +doltishness/M +domain/SM +dome/MGDS +domestic/SM +domestically +domesticate/DSGN +domesticated/U +domestication/M +domesticity/M +domicile/DSMG +domiciliary +dominance/M +dominant/SMY +dominate/DSGN +domination/M +dominatrices +dominatrix/M +domineer/SGD +domineering/Y +dominion/SM +domino/M +dominoes +don't +don/SM +dona/MS +donate/DSXGN +donation/M +done/FAU +dong/MDGS +dongle/SM +donkey/SM +donned +donning +donnish +donnybrook/MS +donor/SM +donuts +doodad/SM +doodah +doodahs +doodle/DRSMZG +doodlebug/SM +doodler/M +doohickey/SM +doolally +doom/MDGS +doomsayer/MS +doomsday/M +doomster/S +door's +door/IS +doorbell/MS +doorjamb/S +doorkeeper/MS +doorknob/MS +doorknocker/S +doorman/M +doormat/SM +doormen +doorplate/SM +doorpost/S +doorstep/MS +doorstepped +doorstepping +doorstop/MS +doorway/SM +dooryard/MS +dopa/M +dopamine +dope/MZGDRS +doper/M +dopey +dopier +dopiest +dopiness/M +doping/M +doppelganger/S +dork/MS +dorky/RT +dorm/MRZS +dormancy/M +dormant +dormer/M +dormice +dormitory/SM +dormouse/M +dorsal/Y +dory/SM +dosage/SM +dose/MGDS +dosh +dosimeter/SM +doss/DRSZG +dosshouse/S +dossier/MS +dost +dot/ZGSMDR +dotage/M +dotard/SM +dotcom/SM +dote/S +doter/M +doting/Y +dotted +dotting +dotty/RT +double's +double/ADSG +doubleheader/MS +doublespeak/M +doublet/MS +doubloon/SM +doubly +doubt/SMDRZG +doubter/M +doubtful/PY +doubtfulness/M +doubting/Y +doubtless/Y +douche/DSMG +dough/M +doughnut/SM +doughty/RT +doughy/TR +dour/RYTP +dourness/M +douse/DSG +dove/MS +dovecot/S +dovecote/SM +dovetail/MDSG +dovish +dowager/MS +dowdily +dowdiness/M +dowdy/RSPT +dowel/SMDG +dower/SMDG +down/MDRZGS +downbeat/SM +downcast +downdraft/MS +downer/M +downfall/SMN +downfield +downgrade/DSMG +downhearted/PY +downheartedness/M +downhill/MS +download/MDBSG +downmarket +downplay/DSG +downpour/MS +downrange +downright +downriver +downscale +downshift/SGD +downside/MS +downsize/GDS +downsizing/M +downspout/MS +downstage +downstairs/M +downstate/M +downstream +downswing/MS +downtempo +downtime/M +downtown/M +downtrend/MS +downtrodden +downturn/MS +downward/S +downwind +downy/RT +dowry/SM +dowse/DRSZG +dowser/M +doxology/SM +doyen/SM +doyenne/MS +doz/XGDNS +doze/M +dozen/MH +dozily +dozy/RTP +dpi +dpt +drab/MYSP +drabber +drabbest +drabness/M +drachma/MS +draconian +draft's +draft/ASDG +draftee/SM +drafter/SM +draftily +draftiness/M +drafting/M +draftsman/M +draftsmanship/M +draftsmen +draftswoman/M +draftswomen +drafty/RTP +drag/MS +dragged +dragging +draggy/TR +dragnet/SM +dragon/SM +dragonfly/SM +dragoon/SMDG +dragster/S +drain/SMDRZG +drainage/M +drainboard/SM +drainer/M +drainpipe/MS +drake/SM +dram/MS +drama/SM +dramatic/S +dramatically +dramatics/M +dramatist/SM +dramatization/SM +dramatize/DSG +drank +drape/DRSMZG +draper/M +drapery/SM +drastic +drastically +drat +dratted +draughtboard/S +draw/MRZGSJ +drawback/MS +drawbridge/MS +drawer/M +drawing/M +drawl/SMDG +drawn/A +drawstring/MS +dray/MS +dread/SMDG +dreadful/PY +dreadfulness/M +dreadlocks/M +dreadnought/MS +dream/SMDRZG +dreamboat/MS +dreamed/U +dreamer/M +dreamily +dreaminess/M +dreamland/M +dreamless +dreamlike +dreamworld/SM +dreamy/RPT +drear +drearily +dreariness/M +dreary/RPT +dredge/DRSMZG +dredger/M +dregs/M +drench/GDS +dress/AUGSDM +dressage/M +dresser/MS +dressiness/M +dressing/SM +dressmaker/SM +dressmaking/M +dressy/TPR +drew/A +dribble/MZGDRS +dribbler/M +driblet/MS +drier/M +drift/SMDRZG +drifter/M +driftnet/S +driftwood/M +drill/SMDRZG +driller/M +drillmaster/SM +drink/SMRBJZG +drinkable/U +drinker/M +drip/MS +dripped +dripping/SM +drippy/TR +drive/RSMZGJ +drivel/SZGMDR +driveler/M +driven +driver/M +driveshaft/SM +driveway/MS +drizzle/MGDS +drizzly +drogue/SM +droid/S +droll/RPT +drollery/SM +drollness/M +drolly +dromedary/SM +drone/DSMG +drool/SMDG +droop/GSMD +droopiness/M +droopy/TPR +drop/MS +dropkick/MS +droplet/SM +dropout/SM +dropped +dropper/SM +dropping/S +droppings/M +dropsical +dropsy/M +dross/M +drought/SM +drove/RSMZ +drover/M +drown/GSJD +drowning/M +drowse/MGDS +drowsily +drowsiness/M +drowsy/RTP +drub/S +drubbed +drubber/SM +drubbing/MS +drudge/MGDS +drudgery/M +drug/MS +drugged +druggie/SM +drugging +druggist/SM +druggy +drugstore/MS +druid/SM +druidism/M +drum/MS +drumbeat/SM +drumlin/SM +drummed +drummer/SM +drumming +drumstick/SM +drunk/STMNR +drunkard/MS +drunken/PY +drunkenness/M +drupe/SM +druthers/M +dry/ZTGDRSMY +dryad/SM +dryer/SM +dryness/M +drys +drywall/M +dual +dualism/M +duality/M +dub/SM +dubbed +dubber/SM +dubbin/M +dubbing +dubiety/M +dubious/YP +dubiousness/M +ducal +ducat/SM +duchess/MS +duchy/SM +duck/MDGS +duckbill/SM +duckboards +duckling/SM +duckpins/M +duckweed/M +ducky/TRSM +duct's/K +duct/CKIFS +ductile +ductility/M +ducting +ductless +dud/GSMD +dude/MS +dudgeon/M +due/SM +duel/MDRJZGS +dueler/M +duelist/SM +duenna/MS +duet/MS +duff/MDRZGS +duffer/M +dug +dugout/MS +duh +duke/MS +dukedom/SM +dulcet +dulcimer/MS +dull/DRPTGS +dullard/SM +dullness/M +dully +duly/U +dumb/RYPT +dumbbell/SM +dumbfound/SDG +dumbness/M +dumbo/S +dumbstruck +dumbwaiter/SM +dumdum/MS +dummy/SM +dump/MDRZGS +dumpiness/M +dumpling/SM +dumpsite/S +dumpster/SM +dumpy/PTR +dun/SM +dunce/SM +dunderhead/MS +dune/MS +dung/MDGS +dungaree/MS +dungeon/SM +dunghill/MS +dunk/MDGS +dunned +dunner +dunnest +dunning +dunno +duo/SM +duodecimal +duodena +duodenal +duodenum/M +duopoly/S +dupe/MZGDRS +duper/M +duple +duplex/MS +duplicate's +duplicate/AGNDS +duplication/AM +duplicator/MS +duplicitous +duplicity/M +durability/M +durable +durably +durance/M +duration/M +duress/M +during +durst +durum/M +dusk/M +duskiness/M +dusky/RTP +dust/MDRZGS +dustbin/SM +dustcart/S +duster/M +dustiness/M +dustless +dustman +dustmen +dustpan/SM +dustsheet/S +dusty/RTP +dutch +duteous/Y +dutiable +dutiful/YP +dutifulness/M +duty/SM +duvet/SM +dwarf/SGMD +dwarfish +dwarfism/M +dweeb/SM +dwell/SJZGR +dweller/M +dwelling/M +dwelt/I +dwindle/DSG +dyadic +dybbuk/SM +dybbukim +dye/DRSMZG +dyeing/A +dyer/M +dyestuff/M +dying/M +dyke/MS +dynamic/MS +dynamical/Y +dynamics/M +dynamism/M +dynamite/MZGDRS +dynamiter/M +dynamo/SM +dynastic +dynasty/SM +dysentery/M +dysfunction/MS +dysfunctional +dyslectic/SM +dyslexia/M +dyslexic/SM +dyspepsia/M +dyspeptic/MS +dysphagia +dysphoria +dysphoric +dysprosium/M +dystonia +dystopi +dystopia +dystopian +dz +e'en +e'er +e/FDST +eBay/M +eMusic/M +ea +each +eager/PTRY +eagerness/M +eagle/MS +eaglet/MS +ear/SMDY +earache/SM +earbud/SM +eardrum/SM +earful/SM +earl/MS +earldom/SM +earliness/M +earlobe/SM +early/RTP +earmark/SMDG +earmuff/SM +earn/DRZTGJS +earned/U +earner/M +earnest/SMYP +earnestness/M +earnings/M +earphone/MS +earpiece/S +earplug/SM +earring/SM +earshot/M +earsplitting +earth's +earth/UDYG +earthbound +earthen +earthenware/M +earthiness/M +earthling/MS +earthly/RT +earthquake/SM +earths/U +earthshaking +earthward/S +earthwork/MS +earthworm/MS +earthy/RTP +earwax/M +earwig/SM +ease/EDSM +easel/SM +easement/SM +easily/U +easiness/UM +easing +east/M +eastbound +easterly/SM +eastern/ZR +easterner/M +easternmost +eastward/S +easy/URTP +easygoing +eat/ZGBSNR +eatable/SM +eaten/U +eater/M +eatery/SM +eave/MS +eavesdrop/S +eavesdropped +eavesdropper/SM +eavesdropping +ebb/SMDG +ebony/SM +ebullience/M +ebullient/Y +ebullition/M +eccentric/SM +eccentrically +eccentricity/SM +eccl +ecclesial +ecclesiastic/SM +ecclesiastical/Y +echelon/SM +echidna +echinoderm/SM +echo's +echo/ADG +echoes/A +echoic +echolocation/M +echos +eclair/SM +eclat/M +eclectic/SM +eclectically +eclecticism/M +eclipse/DSMG +ecliptic/M +eclogue/SM +ecocide/M +ecol +ecologic +ecological/Y +ecologist/MS +ecology/M +econ +econometric/S +economic/S +economical/UY +economics/M +economist/SM +economize/DRSZG +economizer/M +economy/SM +ecosystem/MS +ecotourism/M +ecotourist/MS +ecru/M +ecstasy/SM +ecstatic +ecstatically +ecu/S +ecumenical/Y +ecumenicism/M +ecumenism/M +eczema/M +ed/ACSM +edamame +eddy/DSMG +edelweiss/M +edema/SM +edge/MZGJDRS +edger/M +edgewise +edgily +edginess/M +edging/M +edgy/RTP +edibility/M +edible/SMP +edibleness/M +edict/SM +edification/M +edifice/SM +edifier/M +edify/DRSZGN +edifying/U +edit's +edit/ADGS +editable +edited/U +edition/MS +editor/SM +editorial/SMY +editorialize/DSG +editorship/M +educ +educability/M +educable/I +educate/ADSGNV +educated/U +education/AM +educational/Y +educationalist/S +educationist/S +educations +educator/MS +educe/DSGB +edutainment/M +eek +eel/SM +eerie/RT +eerily +eeriness/M +eff/GSD +efface/DSLG +effacement/M +effect/SMDGV +effective/IPY +effectiveness/IM +effectual/IY +effectuate/DSG +effeminacy/M +effeminate/Y +effendi/SM +efferent +effervesce/GDS +effervescence/M +effervescent/Y +effete/YP +effeteness/M +efficacious/Y +efficacy/IM +efficiency/ISM +efficient/IY +effigy/SM +efflorescence/M +efflorescent +effluence/M +effluent/MS +effluvia +effluvium/M +efflux +effort/SM +effortful +effortless/YP +effortlessness/M +effrontery/M +effulgence/M +effulgent +effuse/DSGNVX +effusion/M +effusive/YP +effusiveness/M +egad +egalitarian/SM +egalitarianism/M +egg/GSMD +eggbeater/MS +eggcup/SM +egghead/SM +eggnog/M +eggplant/MS +eggshell/SM +eglantine/SM +ego/SM +egocentric/MS +egocentrically +egocentricity/M +egoism/M +egoist/SM +egoistic +egoistical/Y +egomania/M +egomaniac/MS +egotism/M +egotist/SM +egotistic +egotistical/Y +egregious/PY +egregiousness/M +egress/MS +egret/SM +eh +eider/SM +eiderdown/MS +eigenvalue/S +eigenvector/S +eight/SM +eighteen/MHS +eighteenth/M +eighteenths +eighth/M +eighths +eightieth/M +eightieths +eighty/SMH +einsteinium/M +eisteddfod/S +either +ejaculate/GNXDS +ejaculation/M +ejaculatory +eject/SDG +ejection/MS +ejector/SM +eke/DSG +elaborate/YGNDSPX +elaborateness/M +elaboration/M +elan/M +eland/SM +elapse/DSG +elastic/MS +elastically +elasticated +elasticity/M +elasticize/DSG +elate/DSGN +elated/Y +elation/M +elbow/SMDG +elbowroom/M +elder/SMY +elderberry/SM +eldercare/M +eldest +eldritch +elect's +elect/ASDGV +electable +election/AMS +electioneer/DGS +elective/MS +elector/MS +electoral/Y +electorate/MS +electric/S +electrical/Y +electrician/MS +electricity/M +electrification/M +electrifier/M +electrify/ZGNDRS +electrocardiogram/MS +electrocardiograph/M +electrocardiographs +electrocardiography/M +electrocute/DSXGN +electrocution/M +electrode/SM +electrodynamics +electroencephalogram/MS +electroencephalograph/M +electroencephalographic +electroencephalographs +electroencephalography/M +electrologist/SM +electrolysis/M +electrolyte/MS +electrolytic +electromagnet/MS +electromagnetic +electromagnetically +electromagnetism/M +electromotive +electron/MS +electronic/S +electronica/M +electronically +electronics/M +electroplate/DSG +electroscope/SM +electroscopic +electroshock/M +electrostatic/S +electrostatics/M +electrotype/MS +electroweak +eleemosynary +elegance/IM +elegant/IY +elegiac/MS +elegiacal +elegy/SM +elem +element/MS +elemental/Y +elementary +elephant/SM +elephantiasis/M +elephantine +elev +elevate/XDSGN +elevation/M +elevator/MS +eleven/SMH +elevens/S +eleventh/M +elevenths +elf/M +elfin +elfish +elicit/SDG +elicitation/M +elide/DSG +eligibility/IM +eligible +eliminate/XDSGN +elimination/M +eliminator/S +elision/MS +elite/SM +elitism/M +elitist/MS +elixir/SM +elk/SM +ell/SM +ellipse/MS +ellipsis/M +ellipsoid/SM +ellipsoidal +elliptic +elliptical/Y +elm/SM +elocution/M +elocutionary +elocutionist/SM +elodea/SM +elongate/DSGNX +elongation/M +elope/DSGL +elopement/MS +eloquence/M +eloquent/Y +else +elsewhere +elucidate/DSGNX +elucidation/M +elude/DSG +elusive/YP +elusiveness/M +elver/SM +elves +elvish +em's +em/S +emaciate/GNDS +emaciation/M +email/SMDG +emanate/XDSGN +emanation/M +emancipate/DSGN +emancipation/M +emancipator/MS +emasculate/GNDS +emasculation/M +embalm/SZGDR +embalmer/M +embank/SLGD +embankment/SM +embargo/MDG +embargoes +embark/AEGDS +embarkation/EM +embarkations +embarrass/GLDS +embarrassed/U +embarrassing/Y +embarrassment/SM +embassy/SM +embattled +embed/S +embedded +embedding +embellish/LGDS +embellishment/SM +ember/SM +embezzle/ZGLDRS +embezzlement/M +embezzler/M +embitter/GLDS +embitterment/M +emblazon/GDLS +emblazonment/M +emblem/SM +emblematic +emblematically +embodiment/EM +embody/AEGSD +embolden/DGS +embolism/MS +embolization +emboss/DRSZG +embosser/M +embouchure/M +embower/SGD +embrace/DSMG +embraceable +embrasure/MS +embrocation/MS +embroider/SDRZG +embroiderer/M +embroidery/SM +embroil/DGLS +embroilment/M +embryo/SM +embryological +embryologist/MS +embryology/M +embryonic +emcee/DSM +emceeing +emend/SDG +emendation/MS +emerald/MS +emerge/ADSG +emergence/AM +emergency/SM +emergent +emerita +emeritus +emery/M +emetic/SM +emf/S +emigrant/SM +emigrate/DSXGN +emigration/M +emigre/SM +eminence/MS +eminent/Y +emir/MS +emirate/MS +emissary/SM +emission/SM +emit/S +emitted +emitter/MS +emitting +emo/SM +emoji/SM +emollient/MS +emolument/MS +emote/XDSGNV +emoticon/SM +emotion/M +emotional/UY +emotionalism/M +emotionalize/GDS +emotionless +emotive/Y +empathetic +empathically +empathize/DSG +empathy/M +emperor/MS +emphases +emphasis/M +emphasize/AGDS +emphatic/U +emphatically +emphysema/M +empire/SM +empiric +empirical/Y +empiricism/M +empiricist/SM +emplacement/SM +employ's +employ/ADGLS +employable/U +employee/SM +employer/SM +employment/UAM +employments +emporium/SM +empower/SDGL +empowerment/M +empress/MS +emptily +emptiness/M +empty/TGPDRSM +empyrean/M +emu/SM +emulate/DSGNVX +emulation/M +emulator/SM +emulsification/M +emulsifier/M +emulsify/NDRSZG +emulsion/MS +en/SM +enable/DRSZG +enabler/M +enact/ASLDG +enactment/ASM +enamel/JSZGMDR +enameler/M +enamelware/M +enamor/SGD +enc +encamp/LSGD +encampment/MS +encapsulate/XGNDS +encapsulation/M +encase/LDSG +encasement/M +encephalitic +encephalitis/M +enchain/DGS +enchant/ELDGS +enchanter/MS +enchanting/Y +enchantment/EM +enchantments +enchantress/MS +enchilada/SM +encipher/SGD +encircle/DSGL +encirclement/M +encl +enclave/MS +enclose/GDS +enclosed/U +enclosure/SM +encode/DRSZG +encoder/M +encomium/MS +encompass/GDS +encore/DSMG +encounter/GSMD +encourage/DSLG +encouragement/SM +encouraging/Y +encroach/GLDS +encroachment/SM +encrust/DGS +encrustation/SM +encrypt/DGS +encryption +encumber/EGSD +encumbered/U +encumbrance/MS +ency +encyclical/SM +encyclopedia/MS +encyclopedic +encyst/LSGD +encystment/M +end/GVSJMD +endanger/SGDL +endangerment/M +endear/SGLD +endearing/Y +endearment/SM +endeavor/GSMD +endemic/MS +endemically +endgame/S +ending/M +endive/SM +endless/PY +endlessness/M +endmost +endocarditis +endocrine/MS +endocrinologist/MS +endocrinology/M +endogenous/Y +endometrial +endometriosis +endometrium +endorphin/MS +endorse/LZGDRS +endorsement/MS +endorser/M +endoscope/MS +endoscopic +endoscopy/M +endothelial +endothermic +endotracheal +endow/SDLG +endowment/MS +endpoint/SM +endue/DSG +endurable/U +endurance/M +endure/DSBG +endways +enema/SM +enemy/SM +energetic +energetically +energize/ZGDRS +energizer/M +energy/SM +enervate/GNDS +enervation/M +enfeeble/GDSL +enfeeblement/M +enfilade/DSMG +enfold/SGD +enforce/LZGDRS +enforceable/U +enforced/U +enforcement/M +enforcer/M +enfranchise/EGDSL +enfranchisement/EM +engage/EADSG +engagement/EMS +engagingly +engender/SGD +engine/SM +engineer/MDGS +engineering/M +engorge/LGDS +engorgement/M +engram/SM +engrave/ZGJDRS +engraver/M +engraving/M +engross/GLDS +engrossment/M +engulf/SLGD +engulfment/M +enhance/LZGDRS +enhancement/SM +enigma/SM +enigmatic +enigmatically +enjambment/SM +enjoin/SGD +enjoy/GBLSD +enjoyably +enjoyment/SM +enlarge/LZGDRS +enlargeable +enlargement/MS +enlarger/M +enlighten/SGLD +enlightened/U +enlightenment/M +enlist/ADGSL +enlistee/SM +enlistment/AM +enlistments +enliven/SLDG +enlivenment/M +enmesh/DSGL +enmeshment/M +enmity/SM +ennoble/DSGL +ennoblement/M +ennui/M +enormity/SM +enormous/PY +enormousness/M +enough/M +enplane/DSG +enqueue/DS +enquirer/S +enquiringly +enrage/GDS +enrapture/DSG +enrich/DSLG +enrichment/M +enroll/DLSG +enrollment/MS +ensconce/DSG +ensemble/SM +enshrine/GLDS +enshrinement/M +enshroud/DGS +ensign/MS +ensilage/M +enslave/DSGL +enslavement/M +ensnare/DSLG +ensnarement/M +ensue/DSG +ensure/ZGDRS +ensurer/M +entail/DSGL +entailment/M +entangle/EDSLG +entanglement/EM +entanglements +entente/SM +enter/ASGD +enteral +enteric +enteritis/M +enterprise/MGS +enterprising/Y +entertain/ZGDRSL +entertainer/M +entertaining/MY +entertainment/MS +enthrall/GDSL +enthrallment/M +enthrone/GDSL +enthronement/SM +enthuse/DSG +enthusiasm/MS +enthusiast/MS +enthusiastic/U +enthusiastically +entice/GDSL +enticement/MS +enticing/Y +entire/Y +entirety/M +entitle/DSGL +entitlement/SM +entity/SM +entomb/DSGL +entombment/M +entomological +entomologist/MS +entomology/M +entourage/SM +entr'acte +entrails/M +entrained +entrance/LDSMG +entrancement/M +entrancing/Y +entrant/SM +entrap/LS +entrapment/M +entrapped +entrapping +entreat/GSD +entreating/Y +entreaty/SM +entree/MS +entrench/DSGL +entrenchment/MS +entrepreneur/SM +entrepreneurial +entrepreneurship +entropy/M +entrust/SGD +entry/ASM +entryphone/S +entryway/MS +entwine/DSG +enumerable +enumerate/DSGNX +enumeration/M +enumerator/SM +enunciate/DSGN +enunciation/M +enuresis/M +envelop/SLDRZG +envelope/SM +enveloper/M +envelopment/M +envenom/SDG +enviable/U +enviably +envious/PY +enviousness/M +environment/MS +environmental/Y +environmentalism/M +environmentalist/SM +environs/M +envisage/GDS +envision/DGS +envoy/SM +envy/DSMG +envying/Y +enzymatic +enzyme/SM +eolian +eon/SM +eosinophil/S +eosinophilic +epaulet/SM +epee/MS +ephedrine/M +ephemera/M +ephemeral/Y +epic/MS +epicenter/MS +epicure/SM +epicurean/MS +epidemic/SM +epidemically +epidemiological +epidemiologist/SM +epidemiology/M +epidermal +epidermic +epidermis/MS +epidural/S +epiglottis/MS +epigram/SM +epigrammatic +epigraph/M +epigraphs +epigraphy/M +epilepsy/M +epileptic/SM +epilogue/MS +epinephrine/M +epiphany/SM +episcopacy/M +episcopal +episcopate/M +episode/SM +episodic +episodically +epistemic +epistemological +epistemology +epistle/SM +epistolary +epitaph/M +epitaphs +epithelial +epithelium/M +epithet/SM +epitome/SM +epitomize/GDS +epoch/M +epochal +epochs +eponymous +epoxy/DSMG +epsilon/SM +equability/M +equable +equably +equal/SMDYG +equality/IM +equalization/M +equalize/ZGDRS +equalizer/M +equanimity/M +equate/DSGNBX +equation/M +equator/SM +equatorial +equerry/SM +equestrian/SM +equestrianism/M +equestrienne/SM +equidistant/Y +equilateral/SM +equilibrium/EM +equine/SM +equinoctial +equinox/MS +equip/AS +equipage/MS +equipment/M +equipoise/M +equipped/UA +equipping/A +equitable/I +equitably/I +equitation/M +equity/ISM +equiv +equivalence/MS +equivalency/SM +equivalent/MYS +equivocal/UY +equivocalness/M +equivocate/GNXDS +equivocation/M +equivocator/SM +er/C +era/SM +eradicable/I +eradicate/DSGN +eradication/M +eradicator/MS +erase/DRSBZG +eraser/M +erasure/SM +erbium/M +ere +erect/PSGDY +erectile +erection/SM +erectness/M +erector/MS +erelong +eremite/MS +erg/SM +ergo +ergonomic/S +ergonomically +ergonomics/M +ergosterol/M +ergot/M +ermine/SM +erode/DSG +erodible +erogenous +erosion/M +erosive +erotic/S +erotica/M +erotically +eroticism/M +err/GSD +errand/SM +errant/I +errata/SM +erratic +erratically +erratum/M +erroneous/Y +error/SM +ersatz/MS +erst +erstwhile +eruct/SDG +eructation/SM +erudite/YN +erudition/M +erupt/SDGV +eruption/MS +erysipelas/M +erythrocyte/SM +erythromycin +escalate/CDSGN +escalation/CM +escalations +escalator/MS +escallop/SGMD +escalope/S +escapade/MS +escape/LMGDS +escapee/MS +escapement/SM +escapism/M +escapist/MS +escapologist/S +escapology +escargot/MS +escarole/MS +escarpment/MS +eschatological +eschatology +eschew/SDG +escort/SMDG +escritoire/MS +escrow/SM +escudo/SM +escutcheon/SM +esophageal +esophagi +esophagus/M +esoteric +esoterically +esp +espadrille/MS +espalier/MDSG +especial/Y +espionage/M +esplanade/MS +espousal/M +espouse/GDS +espresso/MS +esprit/M +espy/DSG +esquire/SM +essay/SMDRZG +essayer/M +essayist/SM +essence/SM +essential/IMS +essentially +establish/AESDGL +establishment/AEM +establishments +estate/SM +esteem/ESMDG +ester/SM +estimable/I +estimate/MGNDSX +estimation/M +estimator/SM +estoppel +estradiol +estrange/LDSG +estrangement/MS +estrogen/MS +estrous +estrus/MS +estuary/SM +eta/SM +etc +etch/DRSZGJ +etcher/M +etching/M +eternal/YP +eternalness/M +eternity/SM +ethane/M +ethanol/M +ether/M +ethereal/Y +ethic/SM +ethical/UY +ethics/M +ethmoid +ethnic/SM +ethnically +ethnicity/M +ethnocentric +ethnocentrism/M +ethnographer/S +ethnographic +ethnographically +ethnography +ethnological/Y +ethnologist/SM +ethnology/M +ethological +ethologist/MS +ethology/M +ethos/M +ethyl/M +ethylene/M +etiolated +etiologic +etiological +etiology/SM +etiquette/M +etude/SM +etymological/Y +etymologist/SM +etymology/SM +eucalypti +eucalyptus/MS +euchre/DSMG +euclidean +eugenic/S +eugenically +eugenicist/MS +eugenics/M +eukaryote/SM +eukaryotic +eulogist/MS +eulogistic +eulogize/ZGDRS +eulogizer/M +eulogy/SM +eunuch/M +eunuchs +euphemism/SM +euphemistic +euphemistically +euphonious/Y +euphony/M +euphoria/M +euphoric +euphorically +eureka +euro/MS +europium/M +eutectic +euthanasia/M +euthanize/DSG +euthenics/M +eutrophication +evacuate/XDSGN +evacuation/M +evacuee/MS +evade/DRSZG +evader/M +evaluate/AGNVDSX +evaluation/AM +evaluator/S +evanescence/M +evanescent +evangelic +evangelical/SMY +evangelicalism/M +evangelism/M +evangelist/MS +evangelistic +evangelize/GDS +evaporate/GNDS +evaporation/M +evaporator/SM +evasion/SM +evasive/YP +evasiveness/M +eve/ASM +even/MDRYTGSJP +evenhanded/Y +evening/M +evenness/UM +evensong/M +event/SM +eventful/UY +eventfulness/M +eventide/M +eventual/Y +eventuality/SM +eventuate/GDS +ever +everglade/SM +evergreen/SM +everlasting/MYS +evermore +every +everybody/M +everyday +everyone/M +everyplace +everything/M +everywhere +evict/SDG +eviction/MS +evidence/MGDS +evident/Y +evil/MRYTSP +evildoer/SM +evildoing/M +eviller +evillest +evilness/M +evince/DSG +eviscerate/DSGN +evisceration/M +evocation/MS +evocative/Y +evoke/DSG +evolution/M +evolutionary +evolutionist/SM +evolve/DSG +ewe/RSMZ +ewer/M +ex/MS +exabyte/MS +exacerbate/GNDS +exacerbation/M +exact/SPDRYTG +exacting/Y +exaction/M +exactitude/M +exactness/IM +exaggerate/XDSGN +exaggerated/Y +exaggeration/M +exaggerator/MS +exajoule/S +exalt/SDG +exaltation/M +exam/MS +examination/AMS +examine/AGDS +examiner/MS +example/MGDS +exampled/U +exasperate/DSGN +exasperated/Y +exasperating/Y +exasperation/M +excavate/GNDSX +excavation/M +excavator/SM +exceed/GSD +exceeding/Y +excel/S +excelled +excellence/M +excellency/SM +excellent/Y +excelling +excelsior/M +except/GSD +exception/BSM +exceptionable/U +exceptional/UY +exceptionalism +excerpt/MDGS +excess/VMS +excessive/Y +exchange/DSMG +exchangeable +exchequer/SM +excise/XDSMGN +excision/M +excitability/M +excitably +excitation/M +excite/BDRSLZG +excited/Y +excitement/SM +exciter/M +exciting/Y +exciton +excl +exclaim/DGS +exclamation/SM +exclamatory +exclude/GDS +exclusion/MS +exclusionary +exclusive/PMYS +exclusiveness/M +exclusivity/M +excommunicate/GNDSX +excommunication/M +excoriate/DSGNX +excoriation/M +excrement/M +excremental +excrescence/MS +excrescent +excreta/M +excrete/XGNDS +excretion/M +excretory +excruciating/Y +exculpate/DSGN +exculpation/M +exculpatory +excursion/MS +excursionist/MS +excursive/YP +excursiveness/M +excusable/I +excusably/I +excuse/DSBMG +excused/U +exec/MS +execrable +execrably +execrate/DSGN +execration/M +execute/BXGNVDS +execution/ZMR +executioner/M +executive/SM +executor/MS +executrices +executrix/M +exegeses +exegesis/M +exegetic +exegetical +exemplar/SM +exemplary +exemplification/M +exemplify/GDSXN +exempt/SGD +exemption/SM +exercise/DRSMZG +exerciser/M +exert/SDG +exertion/MS +exeunt +exfoliate/GNDS +exhalation/MS +exhale/DSG +exhaust/GVMDS +exhaustible/I +exhaustion/M +exhaustive/YP +exhaustiveness/M +exhibit/GMDS +exhibition/MS +exhibitionism/M +exhibitionist/MS +exhibitor/SM +exhilarate/DSGN +exhilaration/M +exhort/SDG +exhortation/MS +exhumation/MS +exhume/DSG +exigence/MS +exigency/SM +exigent +exiguity/M +exiguous +exile/DSMG +exilic +exist/SDG +existence/MS +existent +existential/Y +existentialism/M +existentialist/MS +exit/MDGS +exobiology/M +exodus/MS +exogenous +exon/MS +exonerate/GNDS +exoneration/M +exoplanet/MS +exorbitance/M +exorbitant/Y +exorcise/DSG +exorcism/SM +exorcist/SM +exoskeleton/SM +exosphere/SM +exothermic +exotic/SM +exotica +exotically +exoticism/M +exp +expand/BGSD +expanse/XMNVS +expansible +expansion/M +expansionary +expansionism/M +expansionist/MS +expansive/YP +expansiveness/M +expat/S +expatiate/GNDS +expatiation/M +expatriate/DSMGN +expatriation/M +expect/GSD +expectancy/M +expectant/Y +expectation/SM +expectorant/SM +expectorate/DSGN +expectoration/M +expedience/IM +expediences +expediencies +expediency/IM +expedient/SMY +expedite/DRSZGNX +expediter/M +expedition/M +expeditionary +expeditious/PY +expeditiousness/M +expel/S +expelled +expelling +expend/GSBD +expendable/SM +expenditure/SM +expense/MS +expensive/IYP +expensiveness/IM +experience/IMD +experiences +experiencing +experiential +experiment/MDRSZG +experimental/Y +experimentation/M +experimenter/M +expert/SPMY +expertise/M +expertness/M +expiate/GNDS +expiation/M +expiatory +expiration/M +expire/DSG +expired/U +expiry/M +explain/ADGS +explainable +explained/U +explanation/MS +explanatory +expletive/MS +explicable/I +explicate/XGNDS +explication/M +explicit/PY +explicitness/M +explode/GDS +exploit/ZGBMDRS +exploitation/M +exploitative +exploited/U +exploiter/M +exploration/MS +exploratory +explore/ZGDRS +explored/U +explorer/M +explosion/SM +explosive/SPMY +explosiveness/M +expo/MS +exponent/MS +exponential/Y +exponentiation +export/BSZGMDR +exportation/M +exporter/M +expose/DSMG +exposed/U +exposition/SM +expositor/SM +expository +expostulate/GNXDS +expostulation/M +exposure/MS +expound/ZGDRS +expounder/M +express/GVMDSY +expressed/U +expressible/I +expression/SM +expressionism/M +expressionist/SM +expressionistic +expressionless/Y +expressive/PY +expressiveness/M +expressway/SM +expropriate/GNXDS +expropriation/M +expropriator/SM +expulsion/MS +expunge/GDS +expurgate/DSGNX +expurgated/U +expurgation/M +exquisite/YP +exquisiteness/M +ext +extant +extemporaneous/PY +extemporaneousness/M +extempore +extemporization/M +extemporize/GDS +extend/SZGDRB +extender/M +extensibility +extensible +extension/SM +extensional +extensive/YP +extensiveness/M +extent/SM +extenuate/DSGN +extenuation/M +exterior/MS +exterminate/DSXGN +extermination/M +exterminator/MS +external/MYS +externalization/SM +externalize/DSG +extinct/GDS +extinction/MS +extinguish/ZGBDRS +extinguishable/I +extinguisher/M +extirpate/GNDS +extirpation/M +extol/S +extolled +extolling +extort/SGD +extortion/MRZ +extortionate/Y +extortioner/M +extortionist/MS +extra/SM +extracellular +extract/MDGVS +extraction/SM +extractor/MS +extracurricular +extradite/GNBXDS +extradition/M +extrajudicial +extralegal +extramarital +extramural +extraneous/Y +extraordinaire +extraordinarily +extraordinary +extrapolate/XGNDS +extrapolation/M +extrasensory +extraterrestrial/MS +extraterritorial +extraterritoriality/M +extravagance/MS +extravagant/Y +extravaganza/MS +extravehicular +extreme/PMYTRS +extremeness/M +extremism/M +extremist/MS +extremity/SM +extricable/I +extricate/GNDS +extrication/M +extrinsic +extrinsically +extroversion/M +extrovert/SMD +extrude/GDS +extrusion/SM +extrusive +exuberance/M +exuberant/Y +exudation/M +exude/DSG +exult/SDG +exultant/Y +exultation/M +exurb/SM +exurban +exurbanite/SM +exurbia/M +eye/DSM +eyeball/GMDS +eyebrow/SM +eyedropper/SM +eyeful/SM +eyeglass/MS +eyeing +eyelash/MS +eyeless +eyelet/SM +eyelid/SM +eyeliner/MS +eyeopener/MS +eyeopening +eyepiece/MS +eyesight/M +eyesore/MS +eyestrain/M +eyeteeth +eyetooth/M +eyewash/M +eyewitness/MS +f/CIAVTR +fMRI +fa/M +fab +fable/DSM +fabric/SM +fabricate/DSGNX +fabrication/M +fabricator/SM +fabulous/Y +facade/SM +face's +face/ACSDG +facecloth/M +facecloths +faceless +facepalm/SDG +facet/SMDG +facetious/YP +facetiousness/M +facial/SMY +facile/Y +facilitate/GNDS +facilitation/M +facilitator/MS +facility/SM +facing/SM +facsimile/DSM +facsimileing +fact/MS +faction/SM +factional +factionalism/M +factious +factitious +factoid/SM +factor's +factor/ASDG +factorial/MS +factorization +factorize/GDS +factory/SM +factotum/SM +factual/Y +faculty/SM +fad/GSMD +faddish/P +faddist/MS +faddy/P +fade/MS +fading/U +faerie/SM +faff/DGS +fag/SM +fagged +fagging +faggot/SM +fagot/SMG +faience/M +fail/DGJS +failing/M +faille/M +failure/SM +fain/RT +faint/SMDRYTGP +fainthearted +faintness/M +fair/MRYTGJPS +fairground/MS +fairing/M +fairness/UM +fairway/SM +fairy/SM +fairyland/SM +faith/M +faithful's +faithful/UPY +faithfulness/UM +faithfuls +faithless/PY +faithlessness/M +faiths +fajita/SM +fajitas/M +fake/MZGDRS +faker/M +fakir/SM +falcon/SMRZ +falconer/M +falconry/M +fall/MNGS +fallacious/Y +fallacy/SM +fallback +fallibility/IM +fallible/P +fallibleness/M +fallibly/I +falloff/SM +fallout/M +fallow/SMDG +false/PRYT +falsehood/SM +falseness/M +falsetto/SM +falsie/SM +falsifiable +falsification/M +falsifier/M +falsify/DRSZGNX +falsity/SM +falter/GSJMD +faltering/Y +fame's +fame/D +familial +familiar/MYS +familiarity/UM +familiarization/M +familiarize/GDS +family/SM +famine/SM +famish/DSG +famous/IY +fan/SM +fanatic/SM +fanatical/Y +fanaticism/M +fanboy/SM +fanciable +fancier/M +fanciful/YP +fancifulness/M +fancily +fanciness/M +fancy/DRSMZTGP +fancywork/M +fandango/MS +fandom +fanfare/SM +fang/MDS +fanlight/SM +fanned +fanning +fanny/SM +fantail/MS +fantasia/SM +fantasist/S +fantasize/GDS +fantastic +fantastical/Y +fantasy/DSMG +fanzine/MS +far +farad/SM +faradize/DG +faraway +farce/SM +farcical/Y +fare/MGDS +farewell/SM +farina/M +farinaceous +farm/MDRZGSJ +farmer/M +farmhand/SM +farmhouse/SM +farming/M +farmland/MS +farmstead/MS +farmyard/MS +faro/M +farrago/M +farragoes +farrier/MS +farrow/SMDG +farseeing +farsighted/P +farsightedness/M +fart/MDGS +farther +farthermost +farthest +farthing/SM +fascia/SM +fascicle/SM +fascinate/GNDSX +fascinating/Y +fascination/M +fascism/M +fascist/MS +fascistic +fashion/ZGBMDRS +fashionable/U +fashionably/U +fashioner/M +fashionista/MS +fast/MDRTGSP +fastback/SM +fastball/SM +fasten/UAGDS +fastener/SM +fastening/MS +fastidious/PY +fastidiousness/M +fastness/MS +fat/GSPMD +fatal/Y +fatalism/M +fatalist/SM +fatalistic +fatalistically +fatality/SM +fatback/M +fate/MS +fateful/YP +fatefulness/M +fathead/MDS +father/SGMDY +fatherhood/M +fatherland/MS +fatherless +fathom/SMDGB +fathomable/U +fathomless +fatigue/MDSG +fatigues/M +fatness/M +fatso/S +fatten/SDG +fatter +fattest +fattiness/M +fatty/RSMTP +fatuity/M +fatuous/YP +fatuousness/M +fatwa/SM +faucet/SM +fault/CSMDG +faultfinder/SM +faultfinding/M +faultily +faultiness/M +faultless/PY +faultlessness/M +faulty/PRT +faun/MS +fauna/SM +fauvism/M +fauvist/SM +faux +fave/S +favor/ESMDG +favorable/U +favorably/U +favorite/SM +favoritism/M +fawn/MDRZGS +fawner/M +fax/GMDS +fay/TSMR +faze/GDS +fazed/U +fealty/M +fear/MDGS +fearful/YP +fearfulness/M +fearless/PY +fearlessness/M +fearsome +feasibility/M +feasible/IU +feasibly +feast/SMDRZG +feaster/M +feat/MS +feather/SGMD +featherbedding/M +featherbrained +featherless +featherweight/MS +feathery/TR +feature/DSMG +featureless +febrile +fecal +feces/M +feckless/PY +fecund +fecundate/GNDS +fecundation/M +fecundity/M +fed/SM +federal/SMY +federalism/M +federalist/MS +federalization/M +federalize/GDS +federate/FXDSGN +federation/FM +fedora/SM +fee/SM +feeble/RTP +feebleness/M +feebly +feed/MRZGSJ +feedback/M +feedbag/SM +feeder/M +feeding/M +feedlot/SM +feel/MRZGSJ +feeler/M +feelgood +feeling/MY +feet +feign/SDG +feigned/U +feint/SMDG +feisty/TR +feldspar/M +felicitate/GNXDS +felicitation/M +felicitous/Y +felicity/ISM +feline/SM +fell/MDRZTGS +fella/S +fellatio/M +fellow/SM +fellowman/M +fellowmen +fellowship/MS +felon/SM +felonious +felony/SM +felt/MDGS +fem +female/PSM +femaleness/M +feminine/SMY +femininity/M +feminism/M +feminist/SM +feminize/DSG +femoral +femur/SM +fen/SM +fence/DRSMZG +fencer/M +fencing/M +fend/CDRZGS +fender/CM +fenestration/M +fennel/M +fentanyl/M +feral +ferment/FCMS +fermentation/M +fermented +fermenting +fermium/M +fern/MS +ferny/RT +ferocious/PY +ferociousness/M +ferocity/M +ferret/GSMD +ferric +ferromagnetic +ferromagnetism +ferrous +ferrule/MS +ferry/DSMG +ferryboat/SM +ferryman/M +ferrymen +fertile/I +fertility/IM +fertilization/M +fertilize/DRSZG +fertilized/U +fertilizer/M +ferule/SM +fervency/M +fervent/Y +fervid/Y +fervor/M +fess/FKGSD +fest/MRZVS +festal +fester/GMD +festival/SM +festive/YP +festiveness/M +festivity/SM +festoon/GMDS +feta/M +fetal +fetch/DRSZG +fetcher/M +fetching/Y +fete/MGDS +fetid/P +fetidness/M +fetish/MS +fetishism/M +fetishist/SM +fetishistic +fetlock/MS +fetter's +fetter/USGD +fettle/M +fettuccine/M +fetus/MS +feud/MDGS +feudal +feudalism/M +feudalistic +fever/SMD +feverish/YP +feverishness/M +few/TPMR +fewness/M +fey +fez/M +fezzes +ff +fiance/CM +fiancee/MS +fiances +fiasco/M +fiascoes +fiat/MS +fib/ZSMR +fibbed +fibber/SM +fibbing +fiber/M +fiberboard/M +fiberfill/M +fiberglass/M +fibril/SM +fibrillate/GNDS +fibrillation/M +fibrin/M +fibroid +fibrosis/M +fibrous +fibula/M +fibulae +fibular +fiche/SM +fichu/SM +fickle/RPT +fickleness/M +fiction/MS +fictional/Y +fictionalization/SM +fictionalize/DSG +fictitious/Y +fictive +ficus/M +fiddle/DRSMZG +fiddler/M +fiddlesticks +fiddly/TR +fidelity/IM +fidget/SGMD +fidgety +fiduciary/SM +fie +fief/MS +fiefdom/MS +field/ISMRZ +fielded +fielder/IM +fielding +fieldsman +fieldsmen +fieldwork/MRZ +fieldworker/M +fiend/SM +fiendish/Y +fierce/PRYT +fierceness/M +fieriness/M +fiery/RPT +fiesta/SM +fife/MZRS +fifer/M +fifteen/MHS +fifteenth/M +fifteenths +fifth/MY +fifths +fiftieth/M +fiftieths +fifty/SMH +fig/SLM +fight/SMRZG +fightback +fighter/IMS +fighting/IM +figment/MS +figuration/FM +figurative/Y +figure's +figure/FEGSD +figurehead/SM +figurine/MS +filament/MS +filamentous +filbert/MS +filch/DSG +file's/KC +file/CAKGDS +filename/S +filer/CSM +filet +filial +filibuster/MDRSZG +filibusterer/M +filigree/DSM +filigreeing +filing's +filings +fill's +fill/AIDGS +filled/U +filler/MS +fillet/MDGS +filling/SM +fillip/MDGS +filly/SM +film/MDGS +filminess/M +filmmaker/SM +filmstrip/MS +filmy/TPR +filo +filter/MDRBSZG +filtered/U +filterer/M +filth/M +filthily +filthiness/M +filthy/RPT +filtrate's +filtrate/IGNDS +filtration/IM +fin/SMR +finagle/DRSZG +finagler/M +final/SMY +finale/MS +finalist/SM +finality/M +finalization/M +finalize/DSG +finance's +finance/ADSG +financial/Y +financier/MS +financing/M +finch/MS +find/JMRZGS +finder/M +finding/M +findings/M +fine's/F +fine/CAFTGDS +finely +fineness/M +finery/AM +finespun +finesse/DSMG +finger/MDGSJ +fingerboard/SM +fingering/M +fingerling/SM +fingermark/S +fingernail/SM +fingerprint/SGMD +fingertip/MS +finial/MS +finical +finickiness/M +finicky/RPT +finis/MS +finish's +finish/ADSG +finished/U +finisher/MS +finite/IY +fink/MDGS +finned +finny +fir/ZGSJMDRH +fire/MS +firearm/SM +fireball/MS +firebomb/MDSJG +firebox/MS +firebrand/SM +firebreak/SM +firebrick/SM +firebug/SM +firecracker/SM +firedamp/M +firefight/MRSZG +firefighter/M +firefighting/M +firefly/SM +fireguard/S +firehouse/SM +firelight/ZMR +fireman/M +firemen +fireplace/SM +fireplug/MS +firepower/M +fireproof/DSG +firer/M +firescreen/S +fireside/MS +firestorm/MS +firetrap/MS +firetruck/MS +firewall/MS +firewater/M +firewood/M +firework/SM +firm/MDRYPTGS +firmament/SM +firmness/M +firmware/M +first/SMY +firstborn/SM +firsthand +firth/M +firths +fiscal/MYS +fish/MDRSZG +fishbowl/SM +fishcake/SM +fisher/M +fisherman/M +fishermen +fishery/SM +fishhook/SM +fishily +fishiness/M +fishing/M +fishmonger/MS +fishnet/SM +fishpond/MS +fishtail/DGS +fishwife/M +fishwives +fishy/TRP +fissile +fission/BM +fissure/SM +fist/MS +fistfight/MS +fistful/SM +fisticuffs/M +fistula/SM +fistulous/M +fit/KAMS +fitful/YP +fitfulness/M +fitly +fitment/S +fitness/UM +fitted/UA +fitter/MS +fittest +fitting/SMY +five/MZRS +fix/ZGBJMDRS +fixate/GNVDSX +fixation/M +fixative/MS +fixed/Y +fixer/M +fixings/M +fixity/M +fixture/MS +fizz/MDSG +fizzle/DSMG +fizzy/RT +fjord/SM +fl/JDG +flab/M +flabbergast/SGD +flabbily +flabbiness/M +flabby/RPT +flaccid/Y +flaccidity/M +flack/SM +flag/MS +flagella +flagellant/S +flagellate/GNDS +flagellation/M +flagellum/M +flagged +flagging/U +flagman/M +flagmen +flagon/MS +flagpole/SM +flagrance/M +flagrancy/M +flagrant/Y +flagship/SM +flagstaff/MS +flagstone/MS +flail/SGMD +flair/SM +flak/M +flake/DSMG +flakiness/M +flaky/TRP +flamage +flambe/MS +flambeed +flambeing +flamboyance/M +flamboyancy/M +flamboyant/Y +flame/DRSJMZG +flamenco/MS +flameproof/DGS +flamethrower/SM +flamingo/MS +flammability/IM +flammable/SM +flan/MS +flange/MS +flank/SZGMDR +flanker/M +flannel/SGMD +flannelette/M +flap/MS +flapjack/MS +flapped +flapper/SM +flapping +flare/DSMG +flareup/SM +flash/ZTGMDRS +flashback/SM +flashbulb/SM +flashcard/SM +flashcube/SM +flasher/M +flashgun/SM +flashily +flashiness/M +flashing/M +flashlight/MS +flashy/RTP +flask/SM +flat/MYPS +flatbed/SM +flatboat/SM +flatbread +flatcar/SM +flatfeet +flatfish/MS +flatfoot/SMD +flatiron/SM +flatland/M +flatlet/S +flatmate/S +flatness/M +flatted +flatten/SDG +flatter/SDRZG +flatterer/M +flattering/Y +flattery/M +flattest +flatting +flattish +flattop/SM +flatulence/M +flatulent +flatus/M +flatware/M +flatworm/SM +flaunt/MDSG +flaunting/Y +flavor/MDSGJ +flavored/U +flavorful +flavoring/M +flavorless +flavorsome +flaw/MDGS +flawless/PY +flawlessness/M +flax/MN +flay/DGS +flea/MS +fleabag/SM +fleabite/S +fleapit/S +fleck/SGMD +fledged/U +fledgling/MS +flee/S +fleece/MZGDRS +fleecer/M +fleeciness/M +fleecy/RTP +fleeing +fleet/STGMDRYP +fleetingly/M +fleetingness/M +fleetness/M +flesh/GMDSY +fleshly/TR +fleshpot/MS +fleshy/RT +flew +flex/AMS +flexed +flexibility/IM +flexible/I +flexibly/I +flexing +flexion +flextime/M +flibbertigibbet/SM +flick/SZGMDR +flicker/GMD +flier/M +flight/MS +flightiness/M +flightless +flighty/PTR +flimflam/SM +flimflammed +flimflamming +flimsily +flimsiness/M +flimsy/TRP +flinch/GMDS +fling/GM +flint/SM +flintlock/SM +flinty/TR +flip/MS +flippancy/M +flippant/Y +flipped +flipper/MS +flippest +flipping +flippy/S +flirt/SGMD +flirtation/MS +flirtatious/YP +flirtatiousness/M +flirty +flit/MS +flitted +flitting +float/SMDRZG +floater/M +flock/SMDG +flocking/M +floe/MS +flog/S +flogged +flogger/SM +flogging/MS +flood/SMDRG +floodgate/MS +floodlight/MDSG +floodlit +floodplain/MS +floodwater/MS +floor/SMDG +floorboard/MS +flooring/M +floorwalker/SM +floozy/SM +flop/MS +flophouse/MS +flopped +floppily +floppiness/M +flopping +floppy/PRSMT +flora/SM +floral +florescence/IM +florescent/I +floret/SM +florid/PY +floridness/M +florin/SM +florist/SM +floss/MDSG +flossy/RT +flotation/SM +flotilla/MS +flotsam/M +flounce/DSMG +flouncy +flounder/MDSG +flour/SMDG +flourish/GMDS +floury +flout/SMDRZG +flouter/M +flow/MDGS +flowchart/SM +flower's +flower/CSDG +flowerbed/MS +floweriness/M +flowering/S +flowerless +flowerpot/MS +flowery/PTR +flown +flt +flu/M +flub/MS +flubbed +flubbing +fluctuate/GNDSX +fluctuation/M +flue/MS +fluency/M +fluent/Y +fluff/SMDG +fluffiness/M +fluffy/RPT +fluid/SMY +fluidity/M +fluke/SM +fluky/RT +flume/SM +flummox/DSG +flung +flunk/SMDG +flunky/SM +fluoresce/DSG +fluorescence/M +fluorescent +fluoridate/GNDS +fluoridation/M +fluoride/SM +fluorine/M +fluorite/M +fluorocarbon/MS +fluoroscope/SM +fluoroscopic +fluoxetine +flurry/GDSM +flush/MDRSTG +fluster/MDSG +flute/DSMG +fluting/M +flutist/MS +flutter/MDSG +fluttery +fluvial +flux/IMS +fluxed +fluxing +fly/ZTGBDRSM +flyaway +flyblown +flyby/M +flybys +flycatcher/MS +flying/M +flyleaf/M +flyleaves +flyover/MS +flypaper/SM +flypast/S +flysheet/S +flyspeck/GMDS +flyswatter/MS +flytrap/S +flyway/SM +flyweight/SM +flywheel/MS +foal/MDGS +foam/MDGS +foaminess/M +foamy/RTP +fob/SM +fobbed +fobbing +focal/Y +focus's +focus/ADSG +focused/U +fodder/SM +foe/SM +fog's +fog/CS +fogbound +fogged/C +foggily +fogginess/M +fogging/C +foggy/RTP +foghorn/MS +fogy/SM +fogyish +foible/SM +foil/MDGS +foist/SDG +fol +fold's +fold/AUSGD +foldaway +folder/SM +foldout/MS +foliage/M +folic +folio/SM +folk/MS +folklore/M +folkloric +folklorist/MS +folksiness/M +folksinger/SM +folksinging/M +folksy/PTR +folktale/MS +folkway/MS +foll +follicle/MS +follow/SDRZGJ +follower/M +following/M +followup/S +folly/SM +foment/SGD +fomentation/M +fond/RYTP +fondant/MS +fondle/DSG +fondness/M +fondue/SM +font/MS +fontanel/MS +foo +foobar +food/MS +foodie/SM +foodstuff/SM +fool/MDGS +foolery/SM +foolhardily +foolhardiness/M +foolhardy/TPR +foolish/YP +foolishness/M +foolproof +foolscap/M +foot/MDRZGSJ +footage/M +football/MRZGS +footballer/M +footbridge/SM +footfall/MS +foothill/MS +foothold/MS +footie +footing/M +footless +footlights/M +footling/MS +footlocker/SM +footloose +footman/M +footmen +footnote/MGDS +footpath/M +footpaths +footplate/S +footprint/SM +footrace/MS +footrest/MS +footsie/SM +footslogging +footsore +footstep/MS +footstool/SM +footwear/M +footwork/M +footy +fop/SM +foppery/M +foppish/P +foppishness/M +for/H +fora +forage/DRSMZG +forager/M +foray/SMDG +forbade +forbear/SMG +forbearance/M +forbid/S +forbidden +forbidding/YS +forbore +forborne +force/DSMG +forced/U +forceful/PY +forcefulness/M +forceps/M +forcible +forcibly +ford/MDGSB +fore/MS +forearm/GSMD +forebear/MS +forebode/GJDS +foreboding/M +forecast/MRZGS +forecaster/M +forecastle/MS +foreclose/DSG +foreclosure/MS +forecourt/SM +foredoom/DGS +forefather/MS +forefeet +forefinger/SM +forefoot/M +forefront/SM +forego/G +foregoes +foregone +foreground/GMDS +forehand/MS +forehead/MS +foreign/ZRP +foreigner/M +foreignness/M +foreknew +foreknow/GS +foreknowledge/M +foreknown +foreleg/SM +forelimb/MS +forelock/MS +foreman/M +foremast/MS +foremen +foremost +forename/MDS +forenoon/MS +forensic/MS +forensically +forensics/M +foreordain/GSD +forepart/MS +foreperson/SM +foreplay/M +forequarter/MS +forerunner/MS +foresail/MS +foresaw +foresee/RSBZ +foreseeable/U +foreseeing +foreseen/U +foreseer/M +foreshadow/GDS +foreshore/S +foreshorten/DSG +foresight/MD +foresightedness/M +foreskin/MS +forest's +forest/ACGDS +forestall/SGD +forestation/ACM +forester/MS +forestland/M +forestry/M +foretaste/DSMG +foretell/GS +forethought/M +foretold +forever/M +forevermore +forewarn/DSG +forewent +forewoman/M +forewomen +foreword/MS +forfeit/GSMD +forfeiture/SM +forgather/SDG +forgave +forge/DRSMZGVJ +forger/M +forgery/SM +forget/S +forgetful/YP +forgetfulness/M +forgettable/U +forgetting +forging/M +forgivable/U +forgive/BRSZGP +forgiven +forgiveness/M +forgiver/M +forgiving/U +forgo/RZG +forgoer/M +forgoes +forgone +forgot +forgotten/U +fork/MDGS +forkful/SM +forklift/MS +forlorn/Y +form's +form/CAIFDGS +formal/SMY +formaldehyde/M +formalin +formalism/M +formalist/MS +formalities +formality/IM +formalization/M +formalize/GDS +format/SMV +formation/CFASM +formatted/A +formatting/M +formed/U +former/FIAM +formerly +formfitting +formic +formidable +formidably +formless/PY +formlessness/M +formula/MS +formulae +formulaic +formulate/ADSGNX +formulated/U +formulation/AM +formulator/SM +fornicate/GNDS +fornication/M +fornicator/MS +forsake/GS +forsaken +forsook +forsooth +forswear/SG +forswore +forsworn +forsythia/SM +fort/MS +forte/SM +forthcoming/M +forthright/YP +forthrightness/M +forthwith +fortieth/M +fortieths +fortification/M +fortified/U +fortifier/M +fortify/DRSNZGX +fortissimo +fortitude/M +fortnight/MYS +fortress/MS +fortuitous/YP +fortuitousness/M +fortuity/M +fortunate/UY +fortune/MS +fortuneteller/SM +fortunetelling/M +forty/SMH +forum/SM +forward/MDRYZTGSP +forwarder/M +forwardness/M +forwent +fossa +fossil/SM +fossilization/M +fossilize/GDS +foster/GSD +fought +foul/MDRYTGSP +foulard/M +foulmouthed +foulness/M +found/FSDG +foundation/SM +foundational +founded/U +founder/GMDS +foundling/SM +foundry/SM +fount/SM +fountain/SM +fountainhead/MS +four/MHS +fourfold +fourposter/SM +fourscore/M +foursome/SM +foursquare +fourteen/SMH +fourteenth/M +fourteenths +fourth/MY +fourths +fowl/MDGS +fox/GMDS +foxfire/M +foxglove/SM +foxhole/MS +foxhound/SM +foxhunt/GS +foxily +foxiness/M +foxtrot/MS +foxtrotted +foxtrotting +foxy/RTP +foyer/SM +fps +fr +fracas/MS +frack/SDG +fractal/SM +fraction/ISM +fractional/Y +fractious/YP +fractiousness/M +fracture/MGDS +frag/S +fragile/RT +fragility/M +fragment/GMDS +fragmentary/M +fragmentation/M +fragrance/MS +fragrant/Y +frail/RYTP +frailness/M +frailty/SM +frame/DRSMZG +framed/U +framer/M +framework/SM +franc/SM +franchise's +franchise/EDSG +franchisee/SM +franchiser/SM +francium/M +francophone +frangibility/M +frangible +frank/SMDRYTGP +frankfurter/MS +frankincense/M +frankness/M +frantic +frantically +frappe/SM +frat/MS +fraternal/Y +fraternity/FSM +fraternization/M +fraternize/ZGDRS +fraternizer/M +fratricidal +fratricide/MS +fraud's +fraud/S +fraudster/S +fraudulence/M +fraudulent/Y +fraught +fray's +fray/CDGS +frazzle/MGDS +freak/SMDG +freakish/YP +freakishness/M +freaky/RT +freckle/DSMG +freckly +free/YTDRS +freebase/MGDS +freebie/SM +freebooter/SM +freeborn +freedman/M +freedmen +freedom/SM +freehand +freehold/ZMRS +freeholder/M +freeing +freelance/DRSMZG +freelancer/M +freeload/SDRZG +freeloader/M +freeman/M +freemasonry +freemen +freephone +freesia/S +freestanding +freestone/SM +freestyle/SM +freethinker/SM +freethinking/M +freeware/M +freeway/MS +freewheel/DGS +freewill +freezable +freeze's +freeze/UAGS +freezer/MS +freezing's +freight/MDRZGS +freighter/M +french +frenemy/S +frenetic +frenetically +frenzied/Y +frenzy/DSM +freq +frequencies +frequency/IM +frequent/DRYSZTG +frequented/U +frequenter/M +fresco/M +frescoes +fresh/PNRYXZT +freshen/ZGDR +freshener/M +freshet/MS +freshman/M +freshmen +freshness/M +freshwater/M +fret/MS +fretful/YP +fretfulness/M +fretsaw/MS +fretted +fretting +fretwork/M +friable +friar/SM +friary/SM +fricassee/DSM +fricasseeing +fricative/SM +friction/SM +frictional +fridge/SM +friedcake/MS +friend's +friend/UGSDY +friendless +friendlies +friendliness/UM +friendly's +friendly/UPTR +friendship/MS +frieze/SM +frig/S +frigate/MS +frigged +frigging +fright/SXGMDN +frighten/DG +frightening/Y +frightful/PY +frightfulness/M +frigid/YP +frigidity/M +frigidness/M +frill/SMD +frilly/TR +fringe's +fringe/IDSG +frippery/SM +frisk/SDG +friskily +friskiness/M +frisky/TRP +frisson/S +fritter/MDSG +fritz/M +frivolity/SM +frivolous/PY +frivolousness/M +frizz/MDSYG +frizzle/MGDS +frizzy/TR +fro +frock's +frock/CUS +frog/MS +frogging/S +frogman/M +frogmarch/GDS +frogmen +frogspawn +frolic/SM +frolicked +frolicker/SM +frolicking +frolicsome +from +frond/SM +front's +front/FSDG +frontage/MS +frontal/Y +frontbench/ZRS +frontier/MS +frontiersman/M +frontiersmen +frontierswoman +frontierswomen +frontispiece/MS +frontward/S +frosh/M +frost's +frost/CSDG +frostbit +frostbite/MGS +frostbitten +frostily +frostiness/M +frosting/SM +frosty/TPR +froth/MDG +frothiness/M +froths +frothy/TPR +froufrou/M +frown/SMDG +frowzily +frowziness/M +frowzy/TPR +froze/AU +frozen/UA +fructify/DSG +fructose/M +frugal/Y +frugality/M +fruit/SMDG +fruitcake/MS +fruiterer/S +fruitful/YP +fruitfulness/M +fruitiness/M +fruition/M +fruitless/PY +fruitlessness/M +fruity/TPR +frump/SM +frumpish +frumpy/TR +frustrate/GNXDS +frustrating/Y +frustration/M +frustum/MS +fry/GDSM +fryer/SM +ft +ftp/ZGS +fuchsia/MS +fuck/SMGDRZ! +fucker/M! +fuckhead/S! +fuddle/DSMG +fudge/DSMG +fuehrer/MS +fuel's +fuel/ADGS +fug +fugal +fuggy +fugitive/MS +fugue/SM +fuhrer/SM +fulcrum/MS +fulfill/LDGS +fulfilled/U +fulfilling/U +fulfillment/M +full/MDRZTGSP +fullback/MS +fuller/M +fullness/M +fully +fulminate/DSXGN +fulmination/M +fulsome/PY +fulsomeness/M +fum/S +fumble/DRSMZG +fumbler/M +fumbling/Y +fume/MGDS +fumigant/MS +fumigate/GNDS +fumigation/M +fumigator/SM +fumy/RT +fun/M +function/MDGS +functional/Y +functionalism +functionalist/S +functionality/S +functionary/SM +functor +fund/AMDGS +fundamental/SMY +fundamentalism/M +fundamentalist/SM +funded/U +funding/M +fundraiser/MS +fundraising +funeral/MS +funerary +funereal/Y +funfair/S +fungal +fungi +fungible/MS +fungicidal +fungicide/MS +fungoid +fungous +fungus/M +funicular/SM +funk/MDGS +funkiness/M +funky/PRT +funnel/MDGS +funner +funnest +funnily +funniness/M +funny/TPRSM +funnyman/M +funnymen +fur/SM +furbelow/M +furbish/ADSG +furious/Y +furl's +furl/UDGS +furlong/SM +furlough/GMD +furloughs +furn +furnace/SM +furnish/ADSG +furnished/U +furnishings/M +furniture/M +furor/SM +furosemide +furred +furrier/M +furriness/M +furring/M +furrow/MDSG +furry/ZTRP +further/SGD +furtherance/M +furthermore +furthermost +furthest +furtive/YP +furtiveness/M +fury/SM +furze/M +fuse's/A +fuse/CAIFGDS +fusee/SM +fuselage/SM +fusibility/M +fusible +fusilier/SM +fusillade/MS +fusion/IFKSM +fuss/MDSG +fussbudget/MS +fussily +fussiness/M +fusspot/SM +fussy/TRP +fustian/M +fustiness/M +fusty/TRP +fut +futile/Y +futility/M +futon/SM +future/MS +futurism/M +futurist/MS +futuristic +futurity/SM +futurologist/MS +futurology/M +futz/DSG +fuzz/MDSG +fuzzball/S +fuzzily +fuzziness/M +fuzzy/PTR +fwd +fwy +g/SNXVB +gab/SM +gabardine/SM +gabbed +gabbiness/M +gabbing +gabble/DSMG +gabby/RTP +gaberdine/SM +gabfest/MS +gable/DSM +gad/S +gadabout/SM +gadded +gadder/SM +gadding +gadfly/SM +gadget/SM +gadgetry/M +gadolinium/M +gaff/MDRZGS +gaffe/SM +gaffer/M +gag/SM +gaga +gagged +gagging +gaggle/SM +gaiety/M +gaily +gain's +gain/ADGS +gainer/SM +gainful/Y +gainsaid +gainsay/ZGRS +gainsayer/M +gait/MRZS +gaiter/M +gal/SM +gala/MS +galactic +galaxy/SM +gale's +gale/AS +galena/M +gall/MDGS +gallant/SMY +gallantry/M +gallbladder/MS +galleon/SM +galleria/MS +gallery/SM +galley/SM +gallimaufry/SM +gallium/M +gallivant/GSD +gallon/SM +gallop/SMDG +gallows/M +gallstone/MS +galoot/SM +galore +galosh/MS +galumph/DG +galumphs +galvanic +galvanism/M +galvanization/M +galvanize/DSG +galvanometer/MS +gambit/SM +gamble/DRSMZG +gambler/M +gambling/M +gambol/SMDG +game/MYTGDRSP +gamecock/MS +gamekeeper/MS +gameness/M +gamesmanship/M +gamester/MS +gamete/SM +gametic +gamin/SM +gamine/SM +gaminess/M +gaming/M +gamma/SM +gammon/M +gammy +gamut/SM +gamy/RTP +gander/SM +gang/MDGS +gangbusters/M +gangland/M +ganglia +gangling +ganglion/M +ganglionic +gangplank/SM +gangrene/DSMG +gangrenous +gangsta/S +gangster/SM +gangway/MS +ganja +gannet/SM +gantlet/MS +gantry/SM +gap/GSMD +gape/MS +gar/SLM +garage/DSMG +garb/MDGS +garbage/M +garbageman +garbanzo/SM +garble/DSG +garcon/SM +garden/SZGMDR +gardener/M +gardenia/MS +gardening/M +garfish/MS +gargantuan +gargle/DSMG +gargoyle/SM +garish/PY +garishness/M +garland/MDGS +garlic/M +garlicky +garment/MS +garner/SGD +garnet/SM +garnish/GLMDS +garnishee/DSM +garnisheeing +garnishment/SM +garret/SM +garrison/MDSG +garrote/MZGDRS +garroter/M +garrulity/M +garrulous/PY +garrulousness/M +garter/SM +gas's +gas/CS +gasbag/SM +gaseous +gash/MDSG +gasholder/S +gasket/SM +gaslight/MS +gasman +gasmen +gasohol/M +gasoline/M +gasometer/S +gasp/MDGS +gassed/C +gasses +gassing/C +gassy/RT +gastric +gastritis/M +gastroenteritis/M +gastrointestinal +gastronome/S +gastronomic +gastronomical/Y +gastronomy/M +gastropod/SM +gasworks/M +gate/MGDS +gateau +gateaux +gatecrash/DRSZG +gatecrasher/M +gatehouse/SM +gatekeeper/MS +gatepost/MS +gateway/MS +gather/SJZGMDR +gatherer/M +gathering/M +gator/SM +gauche/RPYT +gaucheness/M +gaucherie/M +gaucho/SM +gaudily +gaudiness/M +gaudy/RPT +gauge/DSMG +gaunt/RPT +gauntlet/MS +gauntness/M +gauze/M +gauziness/M +gauzy/RPT +gave +gavel/SM +gavotte/MS +gawd +gawk/DGS +gawkily +gawkiness/M +gawky/RPT +gawp/DGS +gay/TSPMR +gayness/M +gaze/MZGDRS +gazebo/SM +gazelle/MS +gazer/M +gazette/MGDS +gazetteer/MS +gazillion/S +gazpacho/M +gazump/DGS +gear/MDGS +gearbox/MS +gearing/M +gearshift/MS +gearwheel/SM +gecko/SM +geddit +gee/DS +geeing +geek/MS +geeky/RT +geese +geezer/MS +geisha/M +gel/SM +gelatin/M +gelatinous +gelcap/M +geld/DJGS +gelding/M +gelid +gelignite/M +gelled +gelling +gem/SM +gemological +gemologist/MS +gemology/M +gemstone/MS +gendarme/MS +gender/MDS +gene/MS +genealogical/Y +genealogist/MS +genealogy/SM +genera +general/SMY +generalissimo/MS +generalist/MS +generality/SM +generalization/MS +generalize/GDS +generalship/M +generate/CAVNGSD +generation/ACM +generational +generations +generator/SM +generic/SM +generically +generosity/SM +generous/PY +generousness/M +genes/S +genesis/M +genetic/S +genetically +geneticist/MS +genetics/M +genial/FY +geniality/FM +geniculate +genie/SM +genii +genital/FY +genitalia/M +genitals/M +genitive/MS +genitourinary +genius/MS +genned +genning +genocidal +genocide/MS +genome/MS +genomics +genre/SM +gent/AMS +genteel/YP +genteelness/M +gentian/SM +gentile/SM +gentility/M +gentle/TGDRSP +gentlefolk/MS +gentlefolks/M +gentleman/MY +gentlemanly/U +gentlemen +gentleness/M +gentlewoman/M +gentlewomen +gently +gentrification/M +gentrify/DSGN +gentry/SM +genuflect/DGS +genuflection/MS +genuine/PY +genuineness/M +genus/M +geocache/DSG +geocentric +geocentrically +geochemistry/M +geode/SM +geodesic/SM +geodesy/M +geodetic +geoengineering +geog +geographer/SM +geographic +geographical/Y +geography/SM +geologic +geological/Y +geologist/MS +geology/SM +geom +geomagnetic +geomagnetism/M +geometer +geometric +geometrical/Y +geometry/SM +geophysical +geophysicist/SM +geophysics/M +geopolitical +geopolitics/M +geostationary +geosynchronous +geosyncline/MS +geothermal +geothermic +geranium/MS +gerbil/MS +geriatric/S +geriatrician/S +geriatrics/M +germ/MS +germane +germanium/M +germicidal +germicide/MS +germinal/M +germinate/GNDS +germination/M +gerontological +gerontologist/MS +gerontology/M +gerrymander/GMDS +gerrymandering/M +gerund/MS +gestalt/S +gestapo/MS +gestate/GNDS +gestation/M +gestational +gesticulate/DSGNX +gesticulation/M +gestural +gesture/MGDS +gesundheit +get/S +getaway/SM +getting +getup/M +gewgaw/SM +geyser/SM +ghastliness/M +ghastly/TPR +ghat/MS +ghee +gherkin/MS +ghetto/SM +ghettoize/GDS +ghost/SMDYG +ghostliness/M +ghostly/RTP +ghostwrite/ZGRS +ghostwriter/M +ghostwritten +ghostwrote +ghoul/SM +ghoulish/YP +ghoulishness/M +giant/SM +giantess/MS +gibber/GDS +gibberish/M +gibbet/GMDS +gibbon/MS +gibbous +gibe/MGDS +giblet/SM +giddily +giddiness/M +giddy/RTP +gift/MDGS +gig/SM +gigabit/SM +gigabyte/MS +gigagram/S +gigahertz/M +gigajoule/S +gigameter/S +gigantic +gigantically +gigapascal/S +gigapixel/MS +gigawatt/SM +gigged +gigging +giggle/DRSMZG +giggler/M +giggly/RT +gigolo/SM +gild/MDRZGS +gilder/M +gilding/M +gill/MS +gillie/S +gillion/S +gilt/MS +gimbals/M +gimcrack/SM +gimcrackery/M +gimlet/GSMD +gimme/SM +gimmick/MS +gimmickry/M +gimmicky +gimp/MDGS +gimpy +gin/SM +ginger/GSMDY +gingerbread/M +gingersnap/SM +gingery +gingham/M +gingivitis/M +ginkgo/M +ginkgoes +ginned +ginning +ginormous +ginseng/M +giraffe/MS +gird/DRZGS +girder/M +girdle/DSMG +girl/MS +girlfriend/MS +girlhood/SM +girlish/YP +girlishness/M +girly +giro/S +girt/MDGS +girth/M +girths +gist/M +git/S +gite/S +give/ZGJRS +giveaway/MS +giveback/MS +given/SM +giver/M +gizmo/SM +gizzard/MS +glace/S +glaceed +glaceing +glacial/Y +glaciate/XGNDS +glaciation/M +glacier/MS +glad/MYSP +gladden/GDS +gladder +gladdest +glade/SM +gladiator/SM +gladiatorial +gladiola/SM +gladioli +gladiolus/M +gladness/M +gladsome +glam +glamorization/M +glamorize/DSG +glamorous/Y +glamour/GMDS +glance/DSMG +gland/SM +glandes +glandular +glans/M +glare/DSMG +glaring/Y +glasnost/M +glass/MDSG +glassblower/MS +glassblowing/M +glassful/SM +glasshouse/S +glassily +glassiness/M +glassware/M +glassy/RTP +glaucoma/M +glaze/DSMG +glazier/SM +glazing/M +gleam/SMDGJ +glean/SDRZGJ +gleaner/M +gleanings/M +glee/M +gleeful/YP +gleefulness/M +glen/MS +glenohumeral +glenoid +glib/YP +glibber +glibbest +glibness/M +glide/DRSMZG +glider/M +gliding/M +glimmer/MDGJS +glimmering/M +glimpse/MGDS +glint/SMDG +glissandi +glissando/M +glisten/MDSG +glister/DSG +glitch/GMDS +glitter/MDSG +glitterati +glittery +glitz/M +glitzy/TR +gloaming/SM +gloat/SMDG +gloating/Y +glob/MDGS +global/Y +globalism/M +globalist/MS +globalization/M +globalize/GDS +globe/SM +globetrotter/MS +globetrotting +globular +globule/MS +globulin/M +glockenspiel/SM +gloom/M +gloomily +gloominess/M +gloomy/TRP +glop/M +gloppy +glorification/M +glorify/GDSN +glorious/IY +glory/DSMG +gloss/MDSG +glossary/SM +glossily +glossiness/M +glossolalia/M +glossy/PTRSM +glottal +glottis/MS +glove/DSMG +glow/MDRZGS +glower/GMD +glowing/Y +glowworm/MS +glucagon +glucose/M +glue/MGDS +glued/U +gluey +gluier +gluiest +glum/YP +glummer +glummest +glumness/M +gluon/S +glut/MNS +gluten/M +glutenous +glutinous/Y +glutted +glutting +glutton/MS +gluttonous/Y +gluttony/M +glycerin/M +glycerol/M +glycogen/M +glycol +glyph +gm +gnarl/SMDG +gnarly/TR +gnash/MDSG +gnat/MS +gnaw/DGS +gneiss/M +gnocchi +gnome/SM +gnomic +gnomish +gnu/SM +go/JMRHZG +goad/MDGS +goal/MS +goalie/SM +goalkeeper/MS +goalkeeping/M +goalless +goalmouth +goalmouths +goalpost/MS +goalscorer/S +goaltender/MS +goat/MS +goatee/SM +goatherd/MS +goatskin/MS +gob/SM +gobbed +gobbet/SM +gobbing +gobble/DRSMZG +gobbledygook/M +gobbler/M +goblet/SM +goblin/SM +gobsmacked +gobstopper/S +god/SM +godawful +godchild/M +godchildren/M +goddammit +goddamn/D +goddaughter/MS +goddess/MS +godfather/SM +godforsaken +godhead/M +godhood/M +godless/PY +godlessness/M +godlike +godliness/UM +godly/URTP +godmother/SM +godparent/SM +godsend/SM +godson/SM +godspeed +goer/M +goes +gofer/SM +goggle/DSMG +goggles/M +going/M +goiter/SM +gold/MNS +goldbrick/ZGSMDR +goldbricker/M +golden/TR +goldenrod/M +goldfield/S +goldfinch/MS +goldfish/MS +goldmine/SM +goldsmith/M +goldsmiths +golf/MDRZGS +golfer/M +golliwog/S +golly/SM +gonad/SM +gonadal +gondola/MS +gondolier/SM +gone/ZR +goner/M +gong/MDGS +gonk/S +gonna +gonorrhea/M +gonorrheal +gonzo +goo/M +goober/SM +good/MYSP +goodbye/MS +goodhearted +goodish +goodly/TR +goodness/M +goodnight +goods/M +goodwill/M +goody/SM +gooey +goof/MDGS +goofball/SM +goofiness/M +goofy/RPT +google/DSMG +googly/S +gooier +gooiest +gook/MS +goon/MS +goop/M +goose/DSMG +gooseberry/SM +goosebumps/M +goosestep/S +goosestepped +goosestepping +gopher/SM +gore/MGDS +gorge's +gorge/EDSG +gorgeous/YP +gorgeousness/M +gorgon/SM +gorilla/MS +gorily +goriness/M +gormandize/DRSZG +gormandizer/M +gormless +gorp/MS +gorse/M +gory/RTP +gosh +goshawk/MS +gosling/SM +gospel/MS +gossamer/M +gossip/MDRZGS +gossiper/M +gossipy +got +gotcha/S +goths +gotta +gotten +gouache/S +gouge/DRSMZG +gouger/M +goulash/MS +gourd/SM +gourde/MS +gourmand/SM +gourmet/SM +gout/M +gouty/TR +gov +govern/DGSBL +governable/U +governance/M +governed/U +governess/MS +government/MS +governmental +governor/SM +governorship/M +govt +gown/MDGS +gr +grab/MS +grabbed +grabber/MS +grabbing +grabby/TR +grace/EDSMG +graceful/EPY +gracefulness/EM +graceless/PY +gracelessness/M +gracious/UY +graciousness/M +grackle/MS +grad/MRZSB +gradate/XGNDS +gradation/CM +grade's +grade/CADSG +graded/U +grader/M +gradient/MS +gradual/PY +gradualism/M +gradualness/M +graduate/XMGNDS +graduation/M +graffiti +graffito/M +graft/SMDRZG +grafter/M +graham/S +grail +grain/ISMD +graininess/M +grainy/PTR +gram/KMS +grammar/MS +grammarian/SM +grammatical/UY +gramophone/MS +grampus/MS +gran/S +granary/SM +grand/SMRYPT +grandam/MS +grandaunt/MS +grandchild/M +grandchildren/M +granddad/SM +granddaddy/SM +granddaughter/SM +grandee/MS +grandeur/M +grandfather/GMDYS +grandiloquence/M +grandiloquent +grandiose/Y +grandiosity/M +grandma/MS +grandmother/MYS +grandnephew/MS +grandness/M +grandniece/MS +grandpa/MS +grandparent/MS +grandson/MS +grandstand/SGMD +granduncle/SM +grange/SM +granite/M +granitic +granny/SM +granola/M +grant/SMDRZG +grantee/MS +granter/M +grantsmanship/M +granular +granularity/M +granulate/GNDS +granulation/M +granule/MS +grape/SM +grapefruit/MS +grapeshot/M +grapevine/SM +graph/MDG +graphic/MS +graphical/Y +graphite/M +graphologist/MS +graphology/M +graphs +grapnel/MS +grapple/MGDS +grasp/SMDBG +grass/MDSG +grasshopper/MS +grassland/MS +grassroots +grassy/TR +grate/DRSMZGJ +grateful/UYP +gratefulness/UM +grater/M +gratification/M +gratify/GNXDS +gratifying/Y +gratin/S +grating/MY +gratis +gratitude/IM +gratuitous/YP +gratuitousness/M +gratuity/SM +gravamen/MS +grave/DRSMYTGP +gravedigger/SM +gravel/SGMDY +graven +graveness/M +graveside/MS +gravestone/SM +graveyard/MS +gravid +gravimeter/MS +gravitas +gravitate/GNDS +gravitation/M +gravitational +gravity/M +gravy/SM +gray/MDRTGSP +graybeard/SM +grayish +grayness/M +graze/DRSMZG +grazer/M +grease/DRSMZG +greasepaint/M +greasily +greasiness/M +greasy/PTR +great/SMRYPT +greatcoat/SM +greathearted +greatness/M +grebe/SM +greed/M +greedily +greediness/M +greedy/PTR +green/GPSMDRYT +greenback/MS +greenbelt/MS +greenery/M +greenfield +greenfly/S +greengage/MS +greengrocer/SM +greenhorn/SM +greenhouse/SM +greenish +greenmail/M +greenness/M +greenroom/SM +greenstone +greensward/M +greenwood/M +greet/ZGJSDR +greeter/M +greeting/M +gregarious/PY +gregariousness/M +gremlin/SM +grenade/SM +grenadier/MS +grenadine/M +grep/S +grepped +grepping +grew/A +greyhound/SM +gribble/S +grid/MS +griddle/SM +griddlecake/SM +gridiron/SM +gridlock/SMD +grief/SM +grievance/MS +grieve/ZGDRS +griever/M +grievous/PY +grievousness/M +griffin/SM +griffon/SM +grill/SGMDJ +grille/MS +grim/DYPG +grimace/DSMG +grime/SM +griminess/M +grimmer +grimmest +grimness/M +grimy/TRP +grin/MS +grind/SZGMRJ +grinder/M +grindstone/MS +gringo/MS +grinned +grinning +grip/MDRSZG +gripe/SM +griper/M +grippe/MZGDR +gripper/M +grisliness/M +grisly/RTP +grist/MY +gristle/M +gristmill/MS +grit/MS +grits/M +gritted +gritter/SM +grittiness/M +gritting +gritty/RTP +grizzle/DSG +grizzly/TRSM +groan/SGMD +groat/SM +grocer/MS +grocery/SM +grog/M +groggily +grogginess/M +groggy/PRT +groin/SM +grok/S +grokked +grokking +grommet/SM +groom/SZGMDR +groomer/M +grooming/M +groomsman/M +groomsmen +groove/MGDS +groovy/RT +grope/DRSMZG +groper/M +grosbeak/MS +grosgrain/M +gross/PTGMDRSY +grossness/M +grotesque/SPMY +grotesqueness/M +grotto/M +grottoes +grotty/TR +grouch/GMDS +grouchily +grouchiness/M +grouchy/RTP +ground/ZGMDRJS +groundbreaking/MS +groundcloth +groundcloths +grounder/M +groundhog/MS +grounding/M +groundless/Y +groundnut/MS +groundsheet/S +groundskeeper/S +groundsman +groundsmen +groundswell/SM +groundwater/M +groundwork/M +group/JSZGMDR +grouper/M +groupie/MS +grouping/M +groupware/M +grouse/MZGDRS +grouser/M +grout/SGMD +grove/SM +grovel/ZGDRS +groveler/M +grovelled +grovelling +grow/AHSG +grower/MS +growing/I +growl/SZGMDR +growler/M +grown/AI +grownup/MS +growth/AM +growths +grub/MS +grubbed +grubber/MS +grubbily +grubbiness/M +grubbing +grubby/TRP +grubstake/M +grudge/MGDS +grudging/Y +grue/S +gruel/GJM +grueling/Y +gruesome/RYTP +gruesomeness/M +gruff/TPRY +gruffness/M +grumble/DRSMZGJ +grumbler/M +grump/SM +grumpily +grumpiness/M +grumpy/PRT +grunge/MS +grungy/RT +grunion/SM +grunt/SGMD +gt +guacamole/M +guanine/M +guano/M +guarani/MS +guarantee/MDS +guaranteeing +guarantor/MS +guaranty/GDSM +guard/SZGMDR +guarded/Y +guarder/M +guardhouse/SM +guardian/SM +guardianship/M +guardrail/SM +guardroom/SM +guardsman/M +guardsmen +guava/SM +gubernatorial +guerrilla/SM +guess/ZGBMDRS +guesser/M +guesstimate/DSMG +guesswork/M +guest/SGMD +guestbook/SM +guesthouse/S +guestroom/S +guff/M +guffaw/MDGS +guidance/M +guide/DRSMZG +guidebook/SM +guided/U +guideline/SM +guidepost/SM +guider/M +guild/SZMR +guilder/M +guildhall/MS +guile/M +guileful +guileless/YP +guilelessness/M +guillemot/S +guillotine/DSMG +guilt/M +guiltily +guiltiness/M +guiltless +guilty/PRT +guinea/MS +guise/ESM +guitar/MS +guitarist/SM +gulag/SM +gulch/MS +gulden/MS +gulf/MS +gull/MDSG +gullet/MS +gullibility/M +gullible +gully/SM +gulp/MDRSZG +gulper/M +gum/SM +gumball/S +gumbo/SM +gumboil/SM +gumboot/S +gumdrop/SM +gummed +gumming +gummy/TR +gumption/M +gumshoe/MDS +gumshoeing +gun/SM +gunboat/SM +gunfight/MRZS +gunfighter/M +gunfire/M +gunge +gungy +gunk/M +gunky +gunman/M +gunmen +gunmetal/M +gunned +gunnel/MS +gunner/MS +gunnery/M +gunning +gunny/M +gunnysack/MS +gunpoint/M +gunpowder/M +gunrunner/MS +gunrunning/M +gunship/MS +gunshot/MS +gunslinger/SM +gunsmith/M +gunsmiths +gunwale/MS +guppy/SM +gurgle/MGDS +gurney/MS +guru/MS +gush/MDRSZG +gusher/M +gushing/Y +gushy/TR +gusset/MSDG +gussy/DSG +gust/EMDSG +gustatory +gustily +gusto/M +gusty/RT +gut/SM +gutless/P +gutlessness/M +gutsy/RT +gutted +gutter/SMDG +guttersnipe/MS +gutting +guttural/MS +gutty/RT +guv/S +guvnor/S +guy/SGMD +guzzle/DRSZG +guzzler/M +gym/SM +gymkhana/MS +gymnasium/MS +gymnast/MS +gymnastic/S +gymnastically +gymnastics/M +gymnosperm/SM +gymslip/S +gynecologic +gynecological +gynecologist/SM +gynecology/M +gyp/SM +gypped +gypper/SM +gypping +gypster/SM +gypsum/M +gypsy/SM +gyrate/DSGNX +gyration/M +gyrator/SM +gyrfalcon/MS +gyro/MS +gyroscope/MS +gyroscopic +gyve/MGDS +h'm +h/NRSXZGVJ +ha/SH +haberdasher/SM +haberdashery/SM +habiliment/SM +habit's +habit/ISB +habitability/M +habitat/SM +habitation/MS +habitual/YP +habitualness/M +habituate/GNDS +habituation/M +habitue/SM +hacienda/SM +hack/MDRZGS +hacker/M +hacking/M +hackish +hackle/MS +hackney/SMDG +hacksaw/SM +hacktivist/MS +hackwork/M +had +haddock/SM +hadith +hadn't +hadst +hafnium/M +haft/MS +hag/SM +haggard/YP +haggardness/M +haggis/MS +haggish +haggle/MZGDRS +haggler/M +hagiographer/SM +hagiography/SM +hahnium/M +haiku/M +hail/MDGS +hailstone/MS +hailstorm/MS +hair/MDS +hairball/MS +hairband/S +hairbreadth/M +hairbreadths +hairbrush/MS +haircloth/M +haircut/SM +hairdo/MS +hairdresser/SM +hairdressing/M +hairdryer/MS +hairgrip/S +hairiness/M +hairless +hairlike +hairline/SM +hairnet/SM +hairpiece/MS +hairpin/SM +hairsbreadth/M +hairsbreadths +hairsplitter/SM +hairsplitting/M +hairspray/S +hairspring/MS +hairstyle/MS +hairstylist/SM +hairy/TRP +haj +hajj/M +hajjes +hajji/SM +hake/MS +halal/M +halberd/SM +halcyon +hale/ITGDRS +half/M +halfback/SM +halfhearted/PY +halfheartedness/M +halfpence +halfpenny/SM +halftime/MS +halftone/MS +halfway +halfwit/SM +halibut/SM +halite/M +halitosis/M +hall/MS +hallelujah/M +hallelujahs +hallmark/GMDS +halloo/MSG +hallow/DSG +hallowed/U +hallucinate/GNXDS +hallucination/M +hallucinatory +hallucinogen/SM +hallucinogenic/SM +hallway/SM +halo/MDGS +halogen/SM +halon +halt/MDRZGS +halter/GMD +halterneck/S +halting/Y +halve/DSG +halyard/MS +ham/SM +hamburg/SZMR +hamburger/M +hamlet/MS +hammed +hammer/MDRSJZG +hammerer/M +hammerhead/SM +hammerlock/SM +hammertoe/MS +hamming +hammock/SM +hammy/TR +hamper/GMDS +hampered/U +hamster/MS +hamstring/GSM +hamstrung +hand's +hand/UDGS +handbag/SM +handball/MS +handbarrow/SM +handbill/MS +handbook/MS +handbrake/S +handcar/SM +handcart/MS +handclasp/MS +handcraft/SMDG +handcuff/MDGS +handed/P +handful/SM +handgun/SM +handheld/MS +handhold/MS +handicap/MS +handicapped +handicapper/MS +handicapping +handicraft/MS +handily +handiness/M +handiwork/M +handkerchief/MS +handle/MZGDRS +handlebar/MS +handler/M +handmade +handmaid/XMNS +handmaiden/M +handout/SM +handover/S +handpick/GDS +handrail/MS +handsaw/SM +handset/SM +handshake/JMGS +handsome/PYTR +handsomeness/M +handspring/MS +handstand/SM +handwork/M +handwoven +handwriting/M +handwritten +handy/UTR +handyman/M +handymen +hang/MDRJZGS +hangar/MS +hangdog +hanger/M +hanging/M +hangman/M +hangmen +hangnail/MS +hangout/SM +hangover/MS +hangup/MS +hank/MRZS +hanker/GJD +hankering/M +hankie/MS +hansom/MS +hap/MY +haphazard/YP +haphazardness/M +hapless/YP +haplessness/M +haploid/MS +happen/SDGJ +happening/M +happenstance/SM +happily/U +happiness/UM +happy/URTP +haptic +harangue/MGDS +harass/LZGDRS +harasser/M +harassment/M +harbinger/SM +harbor/GMDS +harbormaster/S +hard/NRYXTP +hardback/MS +hardball/M +hardboard/M +hardbound +hardcore +hardcover/SM +harden/ZGDR +hardened/U +hardener/M +hardhat/MS +hardheaded/PY +hardheadedness/M +hardhearted/PY +hardheartedness/M +hardihood/M +hardily +hardiness/M +hardliner/MS +hardness/M +hardscrabble +hardship/SM +hardstand/SM +hardtack/M +hardtop/SM +hardware/M +hardwired +hardwood/SM +hardworking +hardy/PTR +hare/MGDS +harebell/MS +harebrained +harelip/SM +harelipped +harem/SM +haricot/S +hark/DGS +harlequin/SM +harlot/SM +harlotry/M +harm/MDGS +harmed/U +harmful/YP +harmfulness/M +harmless/PY +harmlessness/M +harmonic/SM +harmonica/MS +harmonically +harmonies +harmonious/PY +harmoniousness/M +harmonium/MS +harmonization/M +harmonize/ZGDRS +harmonizer/M +harmony/EM +harness's +harness/UDSG +harp/MDGS +harpist/SM +harpoon/ZGSMDR +harpooner/M +harpsichord/MS +harpsichordist/SM +harpy/SM +harridan/MS +harrier/M +harrow/SMDG +harrumph/GD +harrumphs +harry/DRSZG +harsh/RYTP +harshness/M +hart/MS +harvest/SMDRZG +harvested/U +harvester/M +hash/AMDSG +hashish/M +hashtag/SM +hasn't +hasp/MS +hassle/DSMG +hassock/SM +hast/DNXG +haste/SM +hasten/DG +hastily +hastiness/M +hasty/RTP +hat/ZGSMDR +hatband/S +hatbox/MS +hatch/MDSG +hatchback/MS +hatcheck/SM +hatched/U +hatchery/SM +hatchet/SM +hatching/M +hatchway/SM +hate/MS +hateful/PY +hatefulness/M +hatemonger/MS +hater/M +hatpin/S +hatred/SM +hatstand/S +hatted +hatter/SM +hatting +hauberk/SM +haughtily +haughtiness/M +haughty/PRT +haul/MDRZGS +haulage/M +hauler/M +haulier/S +haunch/MS +haunt/SMDRZG +haunter/M +haunting/Y +hauteur/M +have/MGS +haven't +haven/SM +haversack/SM +havoc/M +haw/GSMD +hawk/MDRZGS +hawker/M +hawkish/P +hawkishness/M +hawser/SM +hawthorn/MS +hay/GSMD +haycock/SM +hayloft/SM +haymaker/S +haymaking +haymow/SM +hayrick/MS +hayride/MS +hayseed/MS +haystack/SM +haywire +hazard/SMDG +hazardous/Y +haze/MZGJDRS +hazel/SM +hazelnut/MS +hazer/M +hazily +haziness/M +hazing/M +hazmat +hazy/RTP +hdqrs +he'd +he'll +he/M +head/MDRZGJS +headache/MS +headband/MS +headbanger/S +headbanging +headboard/SM +headbutt/DSG +headcase/S +headcheese +headcount/S +headdress/MS +header/M +headfirst +headgear/M +headhunt/DRSZG +headhunter/M +headhunting/M +headily +headiness/M +heading/M +headlamp/MS +headland/MS +headless +headlight/MS +headline/MZGDRS +headliner/M +headlock/MS +headlong +headman/M +headmaster/SM +headmen +headmistress/MS +headphone/MS +headpiece/MS +headpin/SM +headquarter/SDG +headquarters/M +headrest/MS +headroom/M +headscarf +headscarves +headset/SM +headship/SM +headshrinker/SM +headsman/M +headsmen +headstall/SM +headstand/SM +headstone/SM +headstrong +headteacher/S +headwaiter/SM +headwaters/M +headway/M +headwind/SM +headword/SM +heady/RTP +heal/DRHZGS +healed/U +healer/M +health/M +healthcare +healthful/PY +healthfulness/M +healthily/U +healthiness/UM +healthy/UTRP +heap/MDGS +hear/AHGJS +heard/AU +hearer/SM +hearing/AM +hearken/SGD +hearsay/M +hearse's +hearse/AS +heart/SM +heartache/MS +heartbeat/MS +heartbreak/SMG +heartbroken +heartburn/M +hearten/ESGD +heartfelt +hearth/M +hearthrug/S +hearths +hearthstone/SM +heartily +heartiness/M +heartland/MS +heartless/PY +heartlessness/M +heartrending/Y +heartsick/P +heartsickness/M +heartstrings/M +heartthrob/MS +heartwarming +heartwood/M +hearty/RSMPT +heat's +heat/ADGS +heated/U +heatedly +heater/SM +heath/MNRX +heathen/M +heathendom/M +heathenish +heathenism/M +heather/M +heaths +heating/M +heatproof +heatstroke/M +heatwave/S +heave/DRSMZG +heaven/SMY +heavenly/TR +heavens/M +heavenward/S +heaver/M +heavily +heaviness/M +heavy/RSMTP +heavyhearted +heavyset +heavyweight/MS +heck/M +heckle/DRSMZG +heckler/M +heckling/M +hectare/SM +hectic +hectically +hectogram/SM +hectometer/MS +hector/SMDG +hedge/DRSMZG +hedgehog/MS +hedgehop/S +hedgehopped +hedgehopping +hedger/M +hedgerow/SM +hedonism/M +hedonist/MS +hedonistic +heed/MDGS +heeded/U +heedful/Y +heedless/PY +heedlessness/M +heehaw/SMDG +heel/MDGS +heelless +heft/MDGS +heftily +heftiness/M +hefty/PRT +hegemonic +hegemony/M +hegira/SM +heifer/SM +height/XSMN +heighten/DG +heinous/YP +heinousness/M +heir/MS +heiress/MS +heirloom/SM +heist/SMDG +held +helical +helices +helicopter/SGMD +heliocentric +heliotrope/SM +helipad/S +heliport/MS +helium/M +helix/M +hell/M +hellbent +hellcat/MS +hellebore/M +hellfire +hellhole/MS +hellion/MS +hellish/YP +hellishness/M +hello/SM +helluva +helm/MS +helmet/SMD +helmsman/M +helmsmen +helot/SM +help/MDRZGSJ +helper/M +helpful/UY +helpfulness/M +helping/M +helpless/PY +helplessness/M +helpline/SM +helpmate/SM +helve/SM +hem/SM +hematite/M +hematologic +hematological +hematologist/MS +hematology/M +heme/M +hemiplegia +hemisphere/SM +hemispheric +hemispherical +hemline/SM +hemlock/SM +hemmed +hemmer/SM +hemming +hemoglobin/M +hemophilia/M +hemophiliac/MS +hemorrhage/MGDS +hemorrhagic +hemorrhoid/MS +hemostat/MS +hemp/MN +hemstitch/MDSG +hen/M +hence +henceforth +henceforward +henchman/M +henchmen +henna/SMDG +henpeck/GSD +hep +heparin/M +hepatic +hepatitis/M +hepatocyte/S +hepper +heppest +heptagon/MS +heptagonal +heptathlon/SM +herald/SMDG +heralded/U +heraldic +heraldry/M +herb/MS +herbaceous +herbage/M +herbal/S +herbalist/MS +herbicidal +herbicide/MS +herbivore/SM +herbivorous +herculean +herd/MDRZGS +herder/M +herdsman/M +herdsmen +here/M +hereabout/S +hereafter/SM +hereby +hereditary +heredity/M +herein +hereinafter +hereof +hereon +heresy/SM +heretic/SM +heretical +hereto +heretofore +hereunder +hereunto +hereupon +herewith +heritable/I +heritage/MS +hermaphrodite/SM +hermaphroditic +hermetic +hermetical/Y +hermit/SM +hermitage/MS +hermitian +hernia/SM +hernial +herniate/GNDS +herniation/M +hero/M +heroes +heroic/S +heroically +heroics/M +heroin/SM +heroine/SM +heroism/M +heron/SM +herpes/M +herpetologist/SM +herpetology/M +herring/MS +herringbone/M +herself +hertz/M +hesitance/M +hesitancy/M +hesitant/Y +hesitate/DSGNX +hesitating/UY +hesitation/M +hessian +hetero/SM +heterodox +heterodoxy/M +heterogeneity/M +heterogeneous/Y +heterosexual/MYS +heterosexuality/M +heuristic/MS +heuristically +heuristics/M +hew/ZGSDR +hewer/M +hex/GMDS +hexadecimal/S +hexagon/MS +hexagonal +hexagram/SM +hexameter/SM +hey +heyday/SM +hf +hgt +hgwy +hi/SD +hiatus/MS +hibachi/MS +hibernate/GNDS +hibernation/M +hibernator/MS +hibiscus/MS +hiccough/DG +hiccoughs +hiccup/GSMD +hick/MS +hickey/SM +hickory/SM +hid +hidden +hide/MZGJDRS +hideaway/SM +hidebound +hideous/YP +hideousness/M +hideout/MS +hider/M +hiding/M +hie/S +hieing +hierarchic +hierarchical/Y +hierarchy/SM +hieroglyph/M +hieroglyphic/MS +hieroglyphs +high/MRYZTP +highball/SM +highborn +highboy/MS +highbrow/SM +highchair/MS +highfalutin +highhanded/PY +highhandedness/M +highland/MRZS +highlander/M +highlight/SMDRZG +highlighter/M +highness/M +highroad/MS +highs +hightail/DSG +highway/MS +highwayman/M +highwaymen +hijab/SM +hijack/SJZGMDR +hijacker/M +hijacking/M +hike/MZGDRS +hiker/M +hiking/M +hilarious/PY +hilariousness/M +hilarity/M +hill/MS +hillbilly/SM +hilliness/M +hillock/MS +hillside/SM +hilltop/MS +hilly/PRT +hilt/MS +him/S +himself +hind/MRZS +hinder/GD +hindered/U +hindmost +hindquarter/MS +hindrance/SM +hindsight/M +hinge's +hinge/UDSG +hint/MDRZGS +hinter/M +hinterland/SM +hip/SPM +hipbath +hipbaths +hipbone/MS +hiphuggers +hipness/M +hipped +hipper +hippest +hippie/SM +hipping +hippo/SM +hippocampus +hippodrome/SM +hippopotamus/MS +hippy +hipster/MS +hiragana +hire's +hire/AGDS +hireling/MS +hirsute/P +hirsuteness/M +hiss/MDSG +hist +histamine/MS +histogram/MS +histologist/SM +histology/M +histopathology +historian/MS +historic +historical/Y +historicity/M +historiographer/MS +historiography/M +history/SM +histrionic/S +histrionically +histrionics/M +hit/SM +hitch's +hitch/UDSG +hitcher/MS +hitchhike/DRSMZG +hitchhiker/M +hither +hitherto +hitter/SM +hitting +hive/MGDS +hivemind/SM +hiya +hmm +ho/SMDRYZ +hoagie/MS +hoard/SZGMDRJ +hoarder/M +hoarding/M +hoarfrost/M +hoariness/M +hoarse/YTRP +hoarseness/M +hoary/TRP +hoax/MDRSZG +hoaxer/M +hob/SM +hobbit/S +hobble/MZGDRS +hobbler/M +hobby/SM +hobbyhorse/MS +hobbyist/SM +hobgoblin/MS +hobnail/SGMD +hobnob/S +hobnobbed +hobnobbing +hobo/MS +hoc +hock/MDSG +hockey/M +hockshop/MS +hod/SM +hodgepodge/SM +hoe/SM +hoecake/SM +hoedown/SM +hoeing +hoer/M +hog/SM +hogan/SM +hogback/SM +hogged +hogging +hoggish/Y +hogshead/SM +hogtie/DS +hogtying +hogwash/M +hoick/SGD +hoist/SGMD +hoke/GDS +hokey +hokier +hokiest +hokum/M +hold/MRJSZG +holdall/S +holder/M +holding/M +holdout/SM +holdover/SM +holdup/MS +hole/MGDS +holey +holiday/SMDG +holidaymaker/S +holiness/UM +holism +holistic +holistically +holler/MDGS +hollow/MDRYPSTG +hollowness/M +holly/SM +hollyhock/MS +holmium/M +holocaust/SM +hologram/MS +holograph/M +holographic +holographs +holography/M +hols +holster/SMDG +holy/URPT +homage/MS +hombre/MS +homburg/SM +home/MYZGDRS +homebody/SM +homeboy/SM +homecoming/SM +homegrown +homeland/MS +homeless/MP +homelessness/M +homelike +homeliness/M +homely/PRT +homemade +homemaker/SM +homemaking/M +homeopath/M +homeopathic +homeopaths +homeopathy/M +homeostasis/M +homeostatic +homeowner/MS +homepage/MS +homer/GMD +homeroom/MS +homeschooling/M +homesick/P +homesickness/M +homespun/M +homestead/SMDRZG +homesteader/M +homestretch/MS +hometown/MS +homeward/S +homework/MRZG +homewrecker/SM +homey/SMP +homeyness/M +homicidal +homicide/MS +homier +homiest +homiletic +homily/SM +hominid/SM +hominoid/S +hominy/M +homo/MS +homoerotic +homogeneity/M +homogeneous/Y +homogenization/M +homogenize/DSG +homograph/M +homographs +homologous +homology +homonym/SM +homophobia/M +homophobic +homophone/MS +homosexual/SM +homosexuality/M +hon/SZTGMDR +honcho/MS +hone/MS +honer/M +honest/EYT +honester +honesty/EM +honey/SGMD +honeybee/SM +honeycomb/MDSG +honeydew/SM +honeylocust/M +honeymoon/ZGMDRS +honeymooner/M +honeypot/S +honeysuckle/SM +honk/MDRSZG +honker/M +honky/SM +honor/ESGMDB +honorableness/M +honorably/E +honorarily +honorarium/MS +honorary +honoree/SM +honorer/SM +honorific/MS +hooch/M +hood/MDSG +hoodie/MS +hoodlum/SM +hoodoo/MDSG +hoodwink/DGS +hooey/M +hoof/MDRSZG +hook's +hook/UDSG +hookah/M +hookahs +hooker/MS +hookup/MS +hookworm/MS +hooky/M +hooligan/MS +hooliganism/M +hoop/MDSG +hoopla/M +hooray +hoosegow/SM +hoot/MDRSZG +hootenanny/SM +hooter/M +hoover/DSG +hooves +hop/SGMD +hope/MS +hopeful/PSMY +hopefulness/M +hopeless/YP +hopelessness/M +hopped +hopper/MS +hopping +hopscotch/MDSG +hora/MS +horde/DSMG +horehound/SM +horizon/SM +horizontal/SMY +hormonal +hormone/SM +horn/MDS +hornbeam +hornblende/M +hornet/MS +hornless +hornlike +hornpipe/MS +horny/TR +horologic +horological +horologist/MS +horology/M +horoscope/SM +horrendous/Y +horrible/P +horribleness/M +horribly +horrid/Y +horrific +horrifically +horrify/DSG +horrifying/Y +horror/MS +horse's +horse/UDSG +horseback/M +horsebox/S +horseflesh/M +horsefly/SM +horsehair/M +horsehide/M +horselaugh/M +horselaughs +horseless +horseman/M +horsemanship/M +horsemen +horseplay/M +horsepower/M +horseradish/MS +horseshit/! +horseshoe/DSM +horseshoeing +horsetail/SM +horsetrading +horsewhip/SM +horsewhipped +horsewhipping +horsewoman/M +horsewomen +horsey +horsier +horsiest +hortatory +horticultural +horticulturalist/S +horticulture/M +horticulturist/MS +hosanna/SM +hose/MGDS +hosepipe/S +hosier/MS +hosiery/M +hosp +hospholipase +hospice/MS +hospitable/I +hospitably/I +hospital/SM +hospitality/M +hospitalization/SM +hospitalize/DSG +host/MDSG +hostage/MS +hostel/ZGMDRS +hosteler/M +hostelry/SM +hostess/MDSG +hostile/MYS +hostilities/M +hostility/SM +hostler/MS +hot/SYP +hotbed/MS +hotblooded +hotbox/MS +hotcake/SM +hotel/SM +hotelier/MS +hotfoot/MDGS +hothead/DSM +hotheaded/YP +hotheadedness/M +hothouse/SM +hotkey/S +hotlink/S +hotness/M +hotplate/SM +hotpot/S +hots/M +hotshot/MS +hotted +hotter +hottest +hottie/S +hotting +hound/SGMD +hour/MYS +hourglass/MS +houri/SM +house's +house/ADSG +houseboat/SM +housebound +houseboy/SM +housebreak/RSZG +housebreaker/M +housebreaking/M +housebroke +housebroken +houseclean/DSG +housecleaning/M +housecoat/SM +housefly/SM +houseful/SM +household/SMRZ +householder/M +househusband/SM +housekeeper/MS +housekeeping/M +houselights/M +housemaid/SM +houseman/M +housemaster/S +housemate/S +housemen +housemistress/S +housemother/SM +houseparent/SM +houseplant/MS +houseproud +houseroom +housetop/SM +housewares/M +housewarming/SM +housewife/MY +housewives +housework/M +housing/MS +hove +hovel/SM +hover/SGD +hoverboard/MS +hovercraft/MS +how'd +how're +how/SM +howbeit +howdah/M +howdahs +howdy +however +howitzer/SM +howl/MDRSZG +howler/M +howsoever +hoyden/MS +hoydenish +hp +hr/S +ht +huarache/SM +hub/SM +hubbub/SM +hubby/SM +hubcap/SM +hubris/M +huckleberry/SM +huckster/SGMD +hucksterism/M +huddle/DSMG +hue/DSM +huff/MDSG +huffily +huffiness/M +huffy/PRT +hug/STMR +huge/YP +hugeness/M +hugged +hugging +huh +hula/MS +hulk/MSG +hull/MDRSZG +hullabaloo/SM +huller/M +hum/SM +human/SMRYTP +humane/PY +humaneness/M +humanism/M +humanist/SM +humanistic +humanitarian/MS +humanitarianism/M +humanities/M +humanity/ISM +humanization/CM +humanize/CDSG +humanizer/SM +humankind/M +humanness/M +humanoid/SM +humble/DRSZTGJP +humbleness/M +humbler/M +humbly +humbug/SM +humbugged +humbugging +humdinger/MS +humdrum/M +humeral +humeri +humerus/M +humid/Y +humidification/M +humidifier/CM +humidify/CZGDRS +humidity/M +humidor/SM +humiliate/DSGNX +humiliating/Y +humiliation/M +humility/M +hummed +hummer/SM +humming +hummingbird/SM +hummock/SM +hummocky +hummus/M +humongous +humor/SMDG +humoresque +humorist/MS +humorless/YP +humorlessness/M +humorous/PY +humorousness/M +hump/MDSG +humpback/MDS +humph/DG +humphs +humus/M +hunch/MDSG +hunchback/SMD +hundred/SMH +hundredfold +hundredth/M +hundredths +hundredweight/SM +hung +hunger/SMDG +hungover +hungrily +hungriness/M +hungry/PRT +hunk/MRSZ +hunker/DG +hunky/RT +hunt/MDRSZG +hunter/M +hunting/M +huntress/MS +huntsman/M +huntsmen +hurdle/DRSMZG +hurdler/M +hurdling/M +hurl/MDRSZG +hurler/M +hurling/M +hurrah/GMD +hurrahs +hurricane/MS +hurried/UY +hurry/DSMG +hurt/MSG +hurtful/YP +hurtfulness/M +hurtle/DSG +husband/GMDS +husbandman/M +husbandmen +husbandry/M +hush/MDSG +husk/MDRSZG +husker/M +huskily +huskiness/M +husky/PRSMT +hussar/SM +hussy/SM +hustings/M +hustle/DRSMZG +hustler/M +hut/SM +hutch/MS +huzzah/MDG +huzzahs +hwy +hyacinth/M +hyacinths +hybrid/SM +hybridism/M +hybridization/M +hybridize/DSG +hydra/SM +hydrangea/SM +hydrant/MS +hydrate's +hydrate/CGNDS +hydration/CM +hydraulic/S +hydraulically +hydraulics/M +hydro/M +hydrocarbon/MS +hydrocephalus/M +hydrochloride +hydrocortisone +hydrodynamic/S +hydrodynamics/M +hydroelectric +hydroelectrically +hydroelectricity/M +hydrofoil/MS +hydrogen/M +hydrogenate/CGDS +hydrogenation/M +hydrogenous +hydrologist/MS +hydrology/M +hydrolyses +hydrolysis/M +hydrolyze/DSG +hydrometer/SM +hydrometry/M +hydrophilic +hydrophobia/M +hydrophobic +hydrophone/SM +hydroplane/GDSM +hydroponic/S +hydroponically +hydroponics/M +hydrosphere/M +hydrotherapy/M +hydrothermal +hydrous +hydroxide/SM +hyena/SM +hygiene/M +hygienic/U +hygienically +hygienist/MS +hygrometer/SM +hying +hymen/SM +hymeneal +hymn/MDSG +hymnal/MS +hymnbook/SM +hype/MGDRS +hyperactive +hyperactivity/M +hyperbola/SM +hyperbole/M +hyperbolic +hypercritical/Y +hypercube +hyperglycemia/M +hyperinflation +hyperlink/GSMD +hypermarket/S +hypermedia/M +hyperparathyroidism +hyperplane +hypersensitive/P +hypersensitiveness/M +hypersensitivity/SM +hyperspace/S +hypertension/M +hypertensive/SM +hypertext/M +hyperthyroid/M +hyperthyroidism/M +hypertrophy/DSMG +hyperventilate/GNDS +hyperventilation/M +hypervisor/MS +hyphen/MDSG +hyphenate/XDSMGN +hyphenation/M +hypnoses +hypnosis/M +hypnotherapist/S +hypnotherapy/M +hypnotic/SM +hypnotically +hypnotism/M +hypnotist/MS +hypnotize/GDS +hypo/MS +hypoallergenic +hypochondria/M +hypochondriac/SM +hypocrisy/SM +hypocrite/MS +hypocritical/Y +hypodermic/MS +hypoglycemia/M +hypoglycemic/SM +hypotenuse/MS +hypothalami +hypothalamus/M +hypothermia/M +hypotheses +hypothesis/M +hypothesize/DSG +hypothetical/Y +hypothyroid/M +hypothyroidism/M +hyssop/M +hysterectomy/SM +hysteresis +hysteria/M +hysteric/SM +hysterical/Y +hysterics/M +i/US +iOS/M +iPad/M +iPhone/M +iPod/M +iTunes/M +iamb/MS +iambi +iambic/SM +iambus/MS +ibex/MS +ibid +ibidem +ibis/MS +ibuprofen/M +ice's +ice/CDSG +iceberg/SM +iceboat/SM +icebound +icebox/MS +icebreaker/SM +icecap/SM +iceman/M +icemen +ichthyologist/MS +ichthyology/M +icicle/SM +icily +iciness/M +icing/SM +icky/RT +icon/MS +iconic +iconoclasm/M +iconoclast/SM +iconoclastic +iconography/M +ictus/M +icy/TPR +id/SMY +idea/MS +ideal/SMY +idealism/M +idealist/SM +idealistic +idealistically +idealization/MS +idealize/DSG +idem +idempotent +identical/Y +identifiable/U +identification/M +identified/U +identify/ZGNDRSX +identikit/S +identity/SM +ideogram/SM +ideograph/M +ideographs +ideological/Y +ideologist/SM +ideologue/MS +ideology/SM +ides/M +idiocy/SM +idiom/SM +idiomatic/U +idiomatically +idiopathic +idiosyncrasy/SM +idiosyncratic +idiosyncratically +idiot/SM +idiotic +idiotically +idle/MZTGDRSP +idleness/M +idler/M +idol/MS +idolater/SM +idolatress/MS +idolatrous +idolatry/M +idolization/M +idolize/GDS +idyll/SM +idyllic +idyllically +if/SM +iffiness/M +iffy/RTP +igloo/SM +igneous +ignitable +ignite/AGDS +ignition/MS +ignoble +ignobly +ignominious/Y +ignominy/SM +ignoramus/MS +ignorance/M +ignorant/Y +ignore/GDS +iguana/MS +ii +iii +ilea +ileitis/M +ileum/M +ilia +ilium/M +ilk/SM +ill/SMP +illegal/MYS +illegality/SM +illegibility/M +illegible +illegibly +illegitimacy/M +illegitimate/Y +illiberal/Y +illiberality/M +illicit/YP +illicitness/M +illimitable +illiteracy/M +illiterate/MYS +illness/MS +illogical/Y +illogicality/M +illuminate/GNXDS +illuminating/Y +illumination/M +illumine/DSBG +illus/V +illusion/EMS +illusionist/SM +illusory +illustrate/GNVXDS +illustration/M +illustrative/Y +illustrator/SM +illustrious/PY +illustriousness/M +image/DSMG +imagery/M +imaginable/U +imaginably/U +imaginal +imaginary +imagination/MS +imaginative/UY +imagine/DSBJG +imago/M +imagoes +imam/MS +imbalance/DSM +imbecile/MS +imbecilic +imbecility/SM +imbibe/ZGDRS +imbiber/M +imbrication/M +imbroglio/SM +imbue/DSG +imitable/I +imitate/DSGNVX +imitation/M +imitative/PY +imitativeness/M +imitator/SM +immaculate/PY +immaculateness/M +immanence/M +immanency/M +immanent/Y +immaterial/YP +immateriality/M +immaterialness/M +immature/Y +immaturity/M +immeasurable +immeasurably +immediacies/M +immediacy/SM +immediate/PY +immediateness/M +immemorial/Y +immense/Y +immensity/SM +immerse/XDSGNV +immersible +immersion/M +immigrant/SM +immigrate/DSGN +immigration/M +imminence/M +imminent/Y +immobile +immobility/M +immobilization/M +immobilize/ZGDRS +immoderate/Y +immodest/Y +immodesty/M +immolate/DSGN +immolation/M +immoral/Y +immorality/SM +immortal/MYS +immortality/M +immortalize/DSG +immovability/M +immovable +immovably +immune +immunity/M +immunization/SM +immunize/GDS +immunodeficiency/M +immunodeficient +immunoglobulin/S +immunologic +immunological +immunologist/MS +immunology/M +immure/DSG +immutability/M +immutable +immutably +imp/SMR +impact/SMDG +impair/SDGL +impaired/U +impairment/MS +impala/SM +impale/DSGL +impalement/M +impalpable +impalpably +impanel/SDG +impart/SDG +impartial/Y +impartiality/M +impassably +impasse/BSMV +impassibility/M +impassible +impassibly +impassioned +impassive/YP +impassiveness/M +impassivity/M +impasto/M +impatience/MS +impatiens/M +impatient/Y +impeach/ZGBLDRS +impeachable/U +impeacher/M +impeachment/SM +impeccability/M +impeccable +impeccably +impecunious/PY +impecuniousness/M +impedance/M +impede/DSG +impeded/U +impediment/SM +impedimenta/M +impel/S +impelled +impeller/MS +impelling +impend/SDG +impenetrability/M +impenetrable +impenetrably +impenitence/M +impenitent/Y +imperative/SMY +imperceptibility/M +imperceptible +imperceptibly +imperceptive +imperf +imperfect/SMYP +imperfection/MS +imperfectness/M +imperial/MYS +imperialism/M +imperialist/SM +imperialistic +imperialistically +imperil/GSLD +imperilment/M +imperious/PY +imperiousness/M +imperishable +imperishably +impermanence/M +impermanent/Y +impermeability/M +impermeable +impermeably +impermissible +impersonal/Y +impersonate/GNXDS +impersonation/M +impersonator/SM +impertinence/MS +impertinent/Y +imperturbability/M +imperturbable +imperturbably +impervious/Y +impetigo/M +impetuosity/M +impetuous/YP +impetuousness/M +impetus/MS +impiety/SM +impinge/LDSG +impingement/M +impious/PY +impiousness/M +impish/YP +impishness/M +implacability/M +implacable +implacably +implant/BSGMD +implantation/M +implausibility/SM +implausible +implausibly +implement/GBMDRS +implementable/U +implementation/SM +implemented/U +implicate/DSG +implication/M +implicit/PY +implicitness/M +implode/DSG +implore/DSG +imploring/Y +implosion/MS +implosive +imply/XDSGN +impolite/YP +impoliteness/MS +impolitic +imponderable/MS +import/ZGBSMDR +importance/M +important/Y +importation/MS +importer/M +importunate/Y +importune/GDS +importunity/M +impose/ADSG +imposer/MS +imposing/U +imposingly +imposition/MS +impossibility/SM +impossible/S +impossibly +impost/SM +impostor/SM +imposture/MS +impotence/M +impotency/M +impotent/Y +impound/DGS +impoverish/DSLG +impoverishment/M +impracticability +impracticable +impracticably +impractical/Y +impracticality/M +imprecate/DSXGN +imprecation/M +imprecise/PYN +impreciseness/M +imprecision/M +impregnability/M +impregnable +impregnably +impregnate/GNDS +impregnation/M +impresario/SM +impress/MDSGV +impressed/U +impressibility/M +impressible +impression/BSM +impressionability/M +impressionism/M +impressionist/SM +impressionistic +impressive/PY +impressiveness/M +imprimatur/SM +imprint/MDRZGS +imprinter/M +imprison/SDLG +imprisonment/SM +improbability/SM +improbable +improbably +impromptu/SM +improper/Y +impropriety/SM +improve/GBDSL +improved/U +improvement/MS +improvidence/M +improvident/Y +improvisation/SM +improvisational +improvise/ZGDRS +improviser/M +imprudence/M +imprudent/Y +impudence/M +impudent/Y +impugn/ZGSDR +impugner/M +impulse/MGNVDS +impulsion/M +impulsive/PY +impulsiveness/M +impulsivity +impunity/M +impure/RYT +impurity/SM +imputation/SM +impute/BDSG +in/ASM +inaccuracy/S +inaction/M +inadequacy/S +inadvertence/M +inadvertent/Y +inalienability/M +inalienably +inamorata/SM +inane/RYT +inanimate/PY +inanimateness/M +inanity/SM +inappropriate/Y +inarticulate/Y +inasmuch +inaudible +inaugural/SM +inaugurate/XGNDS +inauguration/M +inboard/MS +inbound +inbox/MS +inbreed/S +inc/TGD +incalculably +incandescence/M +incandescent/Y +incantation/SM +incapacitate/GNDS +incarcerate/XDSGN +incarceration/M +incarnadine/DSG +incarnate/AXGNDS +incarnation/AM +incendiary/SM +incense/MGDS +incentive's +incentive/ES +inception/SM +incessant/Y +incest/M +incestuous/PY +incestuousness/M +inch/MDSG +inchoate +inchworm/SM +incidence/SM +incident/SM +incidental/MYS +incinerate/DSGN +incineration/M +incinerator/MS +incipience/M +incipient/Y +incise/XGNVDS +incision/M +incisive/PY +incisiveness/M +incisor/MS +incitement/MS +inciter/MS +incl +inclement +inclination/EM +inclinations +incline's +incline/EGDS +include/GDS +inclusion/MS +inclusive/YP +inclusiveness/M +incognito/MS +incombustible +incommode/GD +incommodious +incommunicado +incompatibility/S +incompetent/MS +incomplete/Y +inconceivability/M +incongruous/PY +incongruousness/M +inconsolably +inconstant/Y +incontestability/M +incontestably +incontinent +incontrovertibly +inconvenience/GD +incorporate/ADSGN +incorporated/U +incorporation/AM +incorporeal +incorrect/Y +incorrigibility/M +incorrigible +incorrigibly +incorruptibly +increasing/Y +increment/SMDG +incremental/Y +incrementalism +incrementalist/SM +incriminate/GNDS +incrimination/M +incriminatory +incrustation/SM +incubate/GNDS +incubation/M +incubator/SM +incubus/MS +inculcate/DSGN +inculcation/M +inculpate/DSG +incumbency/SM +incumbent/SM +incunabula +incunabulum/M +incur/SB +incurable/MS +incurably +incurious +incurred +incurring +incursion/MS +ind +indebted/P +indebtedness/M +indeed +indefatigable +indefatigably +indefeasible +indefeasibly +indefinably +indelible +indelibly +indemnification/M +indemnify/GDSXN +indemnity/SM +indentation/MS +indention/M +indenture/DG +indescribably +indestructibly +indeterminably +indeterminacy/M +indeterminate/Y +index/ZGMDRS +indexation/SM +indexer/M +indicate/XDSGNV +indication/M +indicative/SMY +indicator/MS +indict/GDSBL +indictment/SM +indie/S +indigence/M +indigenous +indigent/SMY +indignant/Y +indignation/M +indigo/M +indirect/Y +indiscipline +indiscreet/Y +indiscretion/S +indiscriminate/Y +indispensability/M +indispensable/MS +indispensably +indissolubility +indissolubly +indistinguishably +indite/GDS +indium/M +individual/MYS +individualism/M +individualist/MS +individualistic +individualistically +individuality/M +individualization/M +individualize/GDS +individuate/DSGN +individuation/M +indivisibly +indoctrinate/GNDS +indoctrination/M +indolence/M +indolent/Y +indomitable +indomitably +indubitable +indubitably +induce/DRSZGL +inducement/SM +inducer/M +induct/DGV +inductance/M +inductee/SM +induction/MS +inductive/Y +indulge/DSG +indulgence/SM +indulgent/Y +industrial/Y +industrialism/M +industrialist/SM +industrialization/M +industrialize/DSG +industrious/YP +industriousness/M +industry/SM +indwell/SG +inebriate/MGNDS +inebriation/M +inedible +ineffability/M +ineffable +ineffably +inelastic +ineligible/MS +ineligibly +ineluctable +ineluctably +inept/YP +ineptitude/M +ineptness/M +inequality/S +inert/YP +inertia/M +inertial +inertness/M +inescapable +inescapably +inestimably +inevitability/M +inevitable/M +inevitably +inexact/Y +inexhaustibly +inexorability +inexorable +inexorably +inexpedient +inexpert/Y +inexpiable +inexplicably +inexpressibly +inexpressive +inextricably +inf/ZT +infallible +infamy/SM +infancy/M +infant/MS +infanticide/MS +infantile +infantry/SM +infantryman/M +infantrymen +infarct/MS +infarction/M +infatuate/DSXGN +infatuation/M +infect/AESDG +infected/U +infection/ASM +infectious/PY +infectiousness/M +infelicitous +inference/SM +inferential +inferior/MS +inferiority/M +infernal/Y +inferno/MS +inferred +inferring +infest/GDS +infestation/MS +infidel/MS +infidelity/S +infiltrator/SM +infinite/MV +infinitesimal/SMY +infinitival +infinitive/MS +infinitude/M +infinity/SM +infirm +infirmary/SM +infirmity/SM +infix +inflame/DSG +inflammable +inflammation/SM +inflammatory +inflatable/SM +inflate/ADSG +inflation/EM +inflationary +inflect/SDG +inflection/MS +inflectional +inflict/SDGV +infliction/M +inflow/SM +influence/MGDS +influenced/U +influential/Y +influenza/M +info/M +infomercial/SM +inform/Z +informal/Y +informant/SM +informatics +information/EM +informational +informative/PY +informativeness/M +informed/U +infotainment/M +infra +infrared/M +infrasonic +infrastructural +infrastructure/SM +infrequence/M +infrequent/Y +infringement/MS +infuriate/GDS +infuriating/Y +infuser/SM +ingenious/PY +ingeniousness/M +ingenue/SM +ingenuity/M +ingenuous/EY +ingenuousness/M +ingest/SDG +ingestion/M +inglenook/SM +ingot/SM +ingrain/G +ingrate/SM +ingratiate/GNDS +ingratiating/Y +ingratiation/M +ingredient/MS +ingress/MS +inguinal +inhabit/DG +inhabitable/U +inhabitant/SM +inhabited/U +inhalant/SM +inhalation/MS +inhalator/MS +inhaler/SM +inharmonious +inhere/DSG +inherent/Y +inherit/EGSD +inheritance/EM +inheritances +inheritor/SM +inhibit/GSD +inhibition/SM +inhibitor/SM +inhibitory +inhuman/Y +inhumane/Y +inimical/Y +inimitably +iniquitous/Y +iniquity/SM +initial/SGMDY +initialism +initialization +initialize/DSG +initialized/AU +initiate/XMGNVDS +initiated/U +initiation/M +initiative/SM +initiator/MS +initiatory +initio +inject/SDG +injection/SM +injector/SM +injunctive +injure/DRSZG +injured/U +injurer/M +injurious +ink/MD +inkblot/SM +inkiness/M +inkling/SM +inkstand/SM +inkwell/MS +inky/RTP +inland/M +inline +inmate/SM +inmost +inn/SGMRJ +innards/M +innate/PY +innateness/M +innermost +innersole/SM +innerspring +innervate/GNDS +innervation/M +inning/M +innit +innkeeper/MS +innocence/M +innocent/MYS +innocuous/PY +innocuousness/M +innovate/XDSGNV +innovation/M +innovator/MS +innovatory +innuendo/SM +innumerably +innumerate +inoculate/AGDS +inoculation/MS +inoperative +inordinate/Y +inorganic +inositol +inquire/ZGDR +inquirer/M +inquiring/Y +inquiry/SM +inquisition/MS +inquisitional +inquisitive/YP +inquisitiveness/M +inquisitor/SM +inquisitorial +inrush/MS +insane/T +insatiability/M +insatiably +inscribe/ZGDR +inscriber/M +inscription/MS +inscrutability/M +inscrutable/P +inscrutableness/M +inscrutably +inseam/SM +insecticidal +insecticide/MS +insectivore/MS +insectivorous +insecure/Y +inseminate/DSGN +insemination/M +insensate +insensible +insensitive/Y +inseparable/MS +insert's +insert/AGSD +insertion/AM +insertions +insetting +inshore +inside/RSMZ +insider/M +insidious/YP +insidiousness/M +insight/MS +insightful +insignia/M +insinuate/GNVDSX +insinuation/M +insinuator/SM +insipid/PY +insipidity/M +insist/SGD +insistence/M +insistent/Y +insisting/Y +insofar +insole/SM +insolence/M +insolent/Y +insoluble +insolubly +insolvency/S +insomnia/M +insomniac/SM +insomuch +insouciance/M +insouciant +inspect/AGDS +inspection/SM +inspector/MS +inspectorate/MS +inspiration/MS +inspirational +inspiratory +inspired/U +inspiring/U +inst +instability/S +install/UBZRSDG +installation/MS +installer/UM +installment/SM +instance/GD +instant/MRYS +instantaneous/Y +instantiate/DSG +instar +instate/AGDS +instead +instigate/DSGN +instigation/M +instigator/MS +instillation/M +instinct/VMS +instinctive/Y +instinctual +institute/XMZGNDRS +instituter/M +institution/M +institutional/Y +institutionalization/M +institutionalize/DSG +instr +instruct/SDGV +instructed/U +instruction/MS +instructional +instructive/Y +instructor/MS +instrument/MDSG +instrumental/MYS +instrumentalist/SM +instrumentality/M +instrumentation/M +insubordinate +insufferable +insufferably +insula +insular +insularity/M +insulate/GNDS +insulation/M +insulator/MS +insulin/M +insult/SMDG +insulting/Y +insuperable +insuperably +insurance/SM +insure/DRSZGB +insured/SM +insurer/M +insurgence/SM +insurgency/SM +insurgent/MS +insurmountably +insurrection/SM +insurrectionist/SM +int +intact +intaglio/MS +integer/MS +integral/SMY +integrate/AEVNGSD +integration/EAM +integrator +integrity/M +integument/SM +intel/M +intellect/MS +intellectual/MYS +intellectualism/M +intellectualize/GDS +intelligence/M +intelligent/Y +intelligentsia/M +intelligibility/M +intelligible/U +intelligibly/U +intended/SM +intense/YTVR +intensification/M +intensifier/M +intensify/DRSZGN +intensity/S +intensive/MYPS +intensiveness/M +intent/SMYP +intention/MS +intentional/UY +intentness/M +inter/ESL +interact/SGVD +interaction/SM +interactive/Y +interactivity +interbred +interbreed/GS +intercede/GDS +intercept/GMDS +interception/MS +interceptor/SM +intercession/SM +intercessor/MS +intercessory +interchange/DSMG +interchangeability +interchangeable +interchangeably +intercity +intercollegiate +intercom/SM +intercommunicate/DSGN +intercommunication/M +interconnect/GDS +interconnection/SM +intercontinental +intercourse/M +intercultural +interdenominational +interdepartmental +interdependence/M +interdependent/Y +interdict/GMDS +interdiction/M +interdisciplinary +interest/ESMD +interested/U +interesting/Y +interface/MGDS +interfaith +interfere/GDS +interference/M +interferon/M +interfile/GDS +intergalactic +intergovernmental +interim/M +interior/SM +interj +interject/GDS +interjection/SM +interlace/GDS +interlard/DGS +interleave/DSG +interleukin/M +interline/GDSJ +interlinear +interlining/M +interlink/DSG +interlock/GMDS +interlocutor/SM +interlocutory +interlope/ZGDRS +interloper/M +interlude/MGDS +intermarriage/SM +intermarry/GDS +intermediary/SM +intermediate/MYS +interment/EM +interments +intermezzi +intermezzo/MS +interminably +intermingle/DSG +intermission/SM +intermittence +intermittency +intermittent/Y +intermix/GDS +intern/GDL +internal/SY +internalization/M +internalize/GDS +international/SMY +internationalism/M +internationalist/SM +internationalization +internationalize/DSG +internecine +internee/SM +internet +internist/MS +internment/M +internship/MS +interoffice +interoperability +interoperable +interoperate/S +interpenetrate/DSGN +interpersonal +interplanetary +interplay/M +interpolate/XDSGN +interpolation/M +interpose/GDS +interposition/M +interpret/AGVDS +interpretation/AMS +interpretative +interpreted/U +interpreter/MS +interracial +interred/E +interregnum/SM +interrelate/XDSGN +interrelation/M +interrelationship/MS +interring/E +interrogate/DSGNVX +interrogation/M +interrogative/MYS +interrogator/SM +interrogatory/SM +interrupt/ZGMDRS +interrupter/M +interruption/MS +interscholastic +intersect/GDS +intersection/SM +intersectional +intersectionality +intersession/SM +intersex +intersperse/GNDS +interspersion/M +interstate/MS +interstellar +interstice/MS +interstitial +intertwine/GDS +interurban +interval/SM +intervene/GDS +intervention/SM +interventionism/M +interventionist/SM +interview/ZGMDRS +interviewee/MS +interviewer/M +intervocalic +interwar +interweave/GS +interwove +interwoven +intestacy/M +intestate +intestinal +intestine/MS +intifada +intimacy/SM +intimate/MYGNDSX +intimation/M +intimidate/GNDS +intimidating/Y +intimidation/M +intonation/SM +intoxicant/SM +intoxicate/DSGN +intoxication/M +intracranial +intramural +intramuscular +intranet/MS +intransigence/M +intransigent/MYS +intrastate +intrauterine +intravenous/MSY +intrepid/Y +intrepidity/M +intricacy/SM +intricate/Y +intrigue/DRSMZG +intriguer/M +intriguing/Y +intrinsic +intrinsically +intro/SM +introduce/AGDS +introduction/AM +introductions +introductory +introit/SM +introspect/GVDS +introspection/M +introspective/Y +introversion/M +introvert/MDS +intrude/DRSZG +intruder/M +intrusion/SM +intrusive/YP +intrusiveness/M +intuit/SDGV +intuition/S +intuitive/PY +intuitiveness/M +inundate/XDSGN +inundation/M +inure/DSG +invade/DRSZG +invader/M +invalid/GMDYS +invalidism/M +invaluable +invaluably +invariant +invasion/MS +invasive +invective/M +inveigh/GD +inveighs +inveigle/ZGDRS +inveigler/M +invent/ASGVD +invention/AMS +inventive/PY +inventiveness/M +inventor/MS +inventory/DSMG +inverse/SMY +invert/SMDRZG +inverter/M +invest/ASDGL +investigate/GNVDSX +investigation/M +investigator/SM +investigatory +investiture/MS +investment/AEM +investor/SM +inveteracy/M +inveterate +invidious/YP +invidiousness/M +invigilate/GNDS +invigilator/S +invigorate/ADSG +invigorating/Y +invigoration/M +invincibility/M +invincibly +inviolability/M +inviolably +inviolate +invitation/SM +invitational/SM +invite/DSMG +invited/U +invitee/SM +inviting/Y +invoke/DSG +involuntariness/M +involuntary/P +involution/M +involve/LDSG +involved/U +involvement/SM +inward/SY +ioctl +iodide/SM +iodine/M +iodize/DSG +ion/USM +ionic +ionization/UM +ionize/UDSG +ionizer/MS +ionosphere/MS +ionospheric +iota/MS +ipecac/SM +irascibility/M +irascible +irascibly +irate/YP +irateness/M +ire/M +ireful +irenic +irides +iridescence/M +iridescent/Y +iridium/M +iris/MS +irk/SGD +irksome/YP +irksomeness/M +iron/MDSG +ironclad/MS +ironic +ironical/Y +ironing/M +ironmonger/S +ironmongery +ironstone/M +ironware/M +ironwood/MS +ironwork/M +irony/SM +irradiate/DSGN +irradiation/M +irrational/SMY +irrationality/M +irreclaimable +irreconcilability/M +irreconcilable +irreconcilably +irrecoverable +irrecoverably +irredeemable +irredeemably +irreducible +irreducibly +irrefutable +irrefutably +irregular/MYS +irregularity/SM +irrelevance/MS +irrelevancy/MS +irrelevant/Y +irreligion +irreligious +irremediable +irremediably +irremovable +irreparable +irreparably +irreplaceable +irrepressible +irrepressibly +irreproachable +irreproachably +irresistible +irresistibly +irresolute/PYN +irresoluteness/M +irresolution/M +irrespective +irresponsibility/M +irresponsible +irresponsibly +irretrievable +irretrievably +irreverence/M +irreverent/Y +irreversible +irreversibly +irrevocable +irrevocably +irrigable +irrigate/DSGN +irrigation/M +irritability/M +irritable +irritably +irritant/SM +irritate/DSXGN +irritating/Y +irritation/M +irrupt/DGVS +irruption/SM +ischemia +ischemic +isinglass/M +isl +island/SZMR +islander/M +isle/MS +islet/SM +ism/CM +isms +isn't +isobar/MS +isobaric +isolate/DSMGN +isolation/M +isolationism/M +isolationist/SM +isomer/MS +isomeric +isomerism/M +isometric/S +isometrically +isometrics/M +isomorphic +isomorphism +isosceles +isotherm/SM +isotope/SM +isotopic +isotropic +issuance/M +issue/ADSMG +issuer/MS +isthmian +isthmus/MS +it'd +it'll +it/USM +ital +italic/SM +italicization/M +italicize/GDS +italics/M +itch/MDSG +itchiness/M +itchy/RPT +item/MS +itemization/M +itemize/GDS +iterate/AXGNVDS +iteration/AM +iterator/S +itinerant/SM +itinerary/SM +itself +iv/U +ivory/SM +ivy/DSM +ix +j/F +jab/SM +jabbed +jabber/SMDRZG +jabberer/M +jabbing +jabot/SM +jacaranda/MS +jack/MDGS +jackal/SM +jackass/MS +jackboot/SMD +jackdaw/MS +jacket/SMD +jackhammer/MS +jackknife/MGDS +jackknives +jackpot/MS +jackrabbit/MS +jackstraw/MS +jacquard/M +jade/MGDS +jaded/PY +jadedness/M +jadeite/M +jag/SM +jagged/TPRY +jaggedness/M +jaggies +jaguar/SM +jail/MDRZGS +jailbird/SM +jailbreak/SM +jailer/M +jailhouse/S +jalapeno/MS +jalopy/SM +jalousie/MS +jam/SM +jamb/MS +jambalaya/M +jamboree/MS +jammed +jamming +jammy/RT +jangle/DRSMZG +jangler/M +janitor/SM +janitorial +japan/SM +japanned +japanning +jape/MGDS +jar/SM +jardiniere/SM +jarful/MS +jargon/M +jarred +jarring/Y +jasmine/SM +jasper/M +jato/MS +jaundice/DSMG +jaunt/SGMD +jauntily +jauntiness/M +jaunty/RPT +java/M +javelin/SM +jaw/SGMD +jawbone/DSMG +jawbreaker/MS +jawline/S +jay/SM +jaybird/SM +jaywalk/DRSZG +jaywalker/M +jaywalking/M +jazz/MDSG +jazzy/TR +jct +jealous/Y +jealousy/SM +jean/MS +jeans/M +jeep/MS +jeer/MDSG +jeering/MY +jeez +jejuna +jejune +jejunum/M +jell/DSG +jello/S +jelly/GDSM +jellybean/MS +jellyfish/MS +jellylike +jellyroll/SM +jemmy/GDS +jennet/MS +jenny/SM +jeopardize/GDS +jeopardy/M +jeremiad/MS +jerk/MDSG +jerkily +jerkin/MS +jerkiness/M +jerkwater +jerky/TRMP +jeroboam/S +jerrybuilt +jerrycan/S +jersey/MS +jest/MDRSZG +jester/M +jesting/Y +jet/SM +jetliner/SM +jetport/MS +jetsam/M +jetted +jetting +jettison/MDSG +jetty/SM +jewel/SZGMDR +jeweler/M +jewelry/SM +jg +jib/SGMD +jibbed +jibbing +jibe/MS +jiff/MS +jiffy/SM +jig's +jig/AS +jigged/A +jigger's +jigger/ASDG +jigging/A +jiggle/DSMG +jiggly +jigsaw/SMDG +jihad/SM +jihadist/SM +jilt/MDSG +jimmy/DSMG +jimsonweed/M +jingle/DSMG +jingly +jingoism/M +jingoist/SM +jingoistic +jink/DSG +jinn +jinni/M +jinrikisha/SM +jinx/MDSG +jitney/SM +jitterbug/MS +jitterbugged +jitterbugger/M +jitterbugging +jitters/M +jittery/RT +jive/MGDS +job/SM +jobbed +jobber/SM +jobbing +jobholder/MS +jobless/P +joblessness/M +jobshare/S +jobsworth +jobsworths +jock/MS +jockey/SGMD +jockstrap/MS +jocose/PY +jocoseness/M +jocosity/M +jocular/Y +jocularity/M +jocund/Y +jocundity/M +jodhpurs/M +joey/S +jog/SM +jogged +jogger/SM +jogging/M +joggle/DSMG +john/MS +johnny/SM +johnnycake/MS +join's +join/AFDSG +joiner/FMS +joinery/M +joint's +joint/EGSD +jointly/F +joist/SM +jojoba +joke/MZGDRS +joker/M +jokey +jokier +jokiest +joking/Y +jollification/SM +jollily +jolliness/M +jollity/M +jolly/TGPDRSM +jolt/MDRSZG +jolter/M +jonquil/SM +josh/MDRSZG +josher/M +jostle/MGDS +jot/SM +jotted +jotter/MS +jotting/MS +joule/SM +jounce/MGDS +jouncy +journal/MS +journalese/M +journalism/M +journalist/SM +journalistic +journey/ZGMDRS +journeyer/M +journeyman/M +journeymen +journo/S +joust/SZGMDR +jouster/M +jousting/M +jovial/Y +joviality/M +jowl/MS +jowly/TR +joy/SGMD +joyful/YP +joyfuller +joyfullest +joyfulness/M +joyless/PY +joylessness/M +joyous/YP +joyousness/M +joyridden +joyride/RSMZG +joyrider/M +joyriding/M +joyrode +joystick/SM +jr +jubilant/Y +jubilation/M +jubilee/SM +judder/GDS +judge's +judge/ADSG +judgeship/M +judgment/SM +judgmental/Y +judicatory/SM +judicature/M +judicial/Y +judiciary/SM +judicious/IYP +judiciousness/IM +judo/M +jug/SM +jugful/MS +jugged +juggernaut/SM +jugging +juggle/MZGDRS +juggler/M +jugglery/M +jugular/SM +juice/DRSMZG +juicer/M +juicily +juiciness/M +juicy/PTR +jujitsu/M +jujube/MS +jukebox/MS +julep/SM +julienne +jumble/MGDS +jumbo/SM +jump/MDRSZG +jumper/M +jumpily +jumpiness/M +jumpsuit/MS +jumpy/TRP +jun +junco/SM +junction/FISM +juncture/FMS +jungle/MS +junior/MS +juniper/SM +junk/MDRSZG +junker/M +junket/MDSG +junketeer/MS +junkie/MTRS +junkyard/MS +junta/SM +juridic +juridical/Y +jurisdiction/SM +jurisdictional +jurisprudence/M +jurist/MS +juristic +juror/SM +jury/ISM +juryman/M +jurymen +jurywoman/M +jurywomen +just/RYPT +justice/IMS +justifiable/U +justifiably/U +justification/M +justified/U +justify/XGDSN +justness/M +jut/SM +jute/M +jutted +jutting +juvenile/SM +juxtapose/DSG +juxtaposition/SM +k/IFGS +kHz +kW +kWh +kabbalah +kaboom +kabuki/M +kaddish/MS +kaffeeklatch/MS +kaffeeklatsch/MS +kahuna/S +kaiser/MS +kale/M +kaleidoscope/MS +kaleidoscopic +kaleidoscopically +kamikaze/MS +kana +kangaroo/MS +kanji +kaolin/M +kapok/M +kappa/SM +kaput +karakul/M +karaoke/MS +karat/SM +karate/M +karma/M +karmic +kart/MS +katakana +katydid/SM +kayak/SMDG +kayaking/M +kayo/MDSG +kazoo/SM +kc +kebab/SM +kedgeree +keel/MDSG +keelhaul/DGS +keen/MDRYSTGP +keenness/M +keep/MRSZG +keeper/M +keeping/M +keepsake/MS +keg/SM +kelp/M +kelvin/SM +ken/SM +kenned +kennel/SGMD +kenning +keno/M +kepi/MS +kept +keratin/M +keratitis +kerbside +kerchief/SM +kerfuffle/S +kernel/SM +kerosene/M +kestrel/MS +ketch/MS +ketchup/M +keto +ketogenic +ketone/S +kettle/SM +kettledrum/SM +key/SGMD +keybinding/S +keyboard/ZGSMDR +keyboarder/M +keyboardist/SM +keyhole/MS +keynote/MZGDRS +keynoter/M +keypad/SM +keypunch/ZGMDRS +keypuncher/M +keystone/MS +keystroke/SM +keyword/MS +kg +khaki/SM +khan/MS +kibble/DSMG +kibbutz/MS +kibbutzim +kibitz/ZGDRS +kibitzer/M +kibosh/M +kick/MDRSZG +kickback/SM +kickball/M +kickboxing +kicker/M +kickoff/MS +kickstand/MS +kicky/RT +kid/SM +kidded +kidder/SM +kiddie/SM +kidding +kiddish +kiddo/SM +kidnap/S +kidnapped +kidnapper/MS +kidnapping/MS +kidney/SM +kidskin/M +kielbasa/MS +kielbasi +kike/S +kill/JMDRSZG +killdeer/SM +killer/M +killing/M +killjoy/SM +kiln/MDSG +kilo/MS +kilobyte/SM +kilocoulomb/S +kilocycle/SM +kilogram/SM +kilohertz/M +kilojoule/S +kiloliter/MS +kilometer/MS +kilonewton/S +kilopascal/S +kiloton/SM +kilovolt/S +kilowatt/SM +kilt/MDRS +kilter/M +kimono/MS +kin/M +kinase +kind's +kind/UPRYT +kinda +kindergarten/MS +kindergartner/SM +kindhearted/PY +kindheartedness/M +kindle/AGDS +kindliness/M +kindling/M +kindly/URT +kindness/UM +kindnesses +kindred/M +kinds +kine/S +kinematic/S +kinematics/M +kinetic/S +kinetically +kinetics/M +kinfolk/SM +kinfolks/M +king/MYS +kingdom/SM +kingfisher/SM +kingly/RT +kingmaker/S +kingpin/SM +kingship/M +kink/MDSG +kinkily +kinkiness/M +kinky/TPR +kinsfolk/M +kinship/M +kinsman/M +kinsmen +kinswoman/M +kinswomen +kiosk/SM +kip/SM +kipped +kipper/MDGS +kipping +kirsch/MS +kismet/M +kiss/MDRSBZG +kisser/M +kissoff/SM +kissogram/S +kit/SGMD +kitchen/SM +kitchenette/MS +kitchenware/M +kite/MS +kith/M +kitsch/M +kitschy +kitted +kitten/MS +kittenish +kitting +kitty/SM +kiwi/MS +kiwifruit/MS +kl +klaxon/S +kleptocracy +kleptomania/M +kleptomaniac/SM +kludge/GDS +kluge/DS +klutz/MS +klutziness/M +klutzy/TRP +km +kn +knack/SZMR +knacker/GD +knapsack/MS +knave/SM +knavery/M +knavish/Y +knead/SZGDR +kneader/M +knee/MDS +kneecap/SM +kneecapped +kneecapping +kneeing +kneel/SG +knell/SGMD +knelt +knew +knicker/S +knickerbockers/M +knickers/M +knickknack/MS +knife/DSMG +knight/MDYSG +knighthood/MS +knightliness/M +knish/MS +knit/MS +knitted +knitter/SM +knitting/M +knitwear/M +knives +knob/MS +knobbly +knobby/TR +knock/SZGMDR +knockabout +knockdown/SM +knocker/M +knockoff/SM +knockout/SM +knockwurst/SM +knoll/SM +knot/MS +knothole/SM +knotted +knotting +knotty/TR +know/SB +knowing/UYS +knowledge/M +knowledgeable +knowledgeably +known +knuckle/DSMG +knuckleduster/S +knucklehead/MS +knurl/SGMD +koala/SM +koan/S +kohl +kohlrabi/M +kohlrabies +kola/MS +kook/MS +kookaburra/SM +kookiness/M +kooky/TPR +kopeck/MS +korma +kosher/DSG +kowtow/GMDS +kph +kraal/SM +kraut/SM! +krill/M +krona/M +krone/RM +kronor +kronur +krypton/M +kt +kuchen/SM +kudos/M +kudzu/SM +kumquat/MS +kvetch/ZGMDRS +kvetcher/M +kw +l/SDXTGJ +la/M +lab/SM +label's +label/ASDG +labeled/U +labia +labial/SM +labile +labium/M +labor/SMDRZG +laboratory/SM +laborer/M +laborious/PY +laboriousness/M +laborsaving +laburnum/MS +labyrinth/M +labyrinthine +labyrinths +lac/M +lace's +lace/UGDS +lacerate/DSGNX +laceration/M +lacewing/SM +lacework/M +lachrymal +lachrymose +lack/MDSG +lackadaisical/Y +lackey/SM +lackluster +laconic +laconically +lacquer/GMDS +lacrosse/M +lactate/GNDS +lactation/M +lacteal +lactic +lactose/M +lacuna/M +lacunae +lacy/RT +lad/SGMDNJ +ladder/GSMD +laddie/SM +laddish/P +lade/S +laden/U +lading/M +ladle/DSMG +lady/SM +ladybird/SM +ladybug/MS +ladyfinger/MS +ladylike/U +ladylove/MS +ladyship/MS +laetrile/M +lag/SZMR +lager/M +laggard/MYS +lagged +lagging/M +lagniappe/SM +lagoon/SM +laid/IA +lain +lair/MS +laird/SM +laity/M +lake/MS +lakefront/S +lakeside +lam/SM +lama/MS +lamasery/SM +lamb/MDSG +lambada/MS +lambaste/GDS +lambda/SM +lambency/M +lambent/Y +lambkin/SM +lambskin/SM +lambswool +lame/MYZTGDRSP +lamebrain/MDS +lameness/M +lament/BSMDG +lamentably +lamentation/MS +lamina/M +laminae +laminar +laminate/MGNDS +lamination/M +lammed +lamming +lamp/MS +lampblack/M +lamplight/MRZ +lamplighter/M +lampoon/SGMD +lamppost/SM +lamprey/MS +lampshade/SM +lanai/SM +lance/DRSMZG +lancer/M +lancet/SM +land/MDRSGJ +landau/SM +landfall/MS +landfill/MS +landholder/SM +landholding/MS +landing/M +landlady/SM +landless/M +landline/MS +landlocked +landlord/MS +landlubber/MS +landmark/MS +landmass/MS +landmine/S +landowner/MS +landownership +landowning/SM +landscape/MZGDRS +landscaper/M +landslid +landslide/MGS +landslip/S +landsman/M +landsmen +landward/S +lane/MS +language/MS +languid/PY +languidness/M +languish/DSG +languor/SM +languorous/Y +lank/RYTP +lankiness/M +lankness/M +lanky/RTP +lanolin/M +lantern/MS +lanthanum/M +lanyard/MS +lap/SM +laparoscopic +laparoscopy +laparotomy +lapboard/SM +lapdog/SM +lapel/SM +lapidary/SM +lapin/SM +lapped +lappet/SM +lapping +lapse/AKGMSD +laptop/SM +lapwing/MS +larboard/SM +larcenist/SM +larcenous +larceny/SM +larch/MS +lard/MDRSZG +larder/M +lardy/RT +large/RSPMYT +largehearted +largeness/M +largess/M +largish +largo/SM +lariat/SM +lark/MDSG +larkspur/SM +larva/M +larvae +larval +laryngeal +larynges +laryngitis/M +larynx/M +lasagna/MS +lascivious/YP +lasciviousness/M +lase/ZGDRS +laser/M +lash/MDSGJ +lashing/M +lass/MS +lassie/SM +lassitude/M +lasso/SMDG +last/MDYSG +lasting/Y +lat/S +latch's +latch/UDSG +latchkey/SM +late/YTRP +latecomer/MS +latency/M +lateness/M +latent +lateral/MDYSG +latest/M +latex/M +lath/MDRSZG +lathe/M +lather/GMD +lathery +laths +latices +latish +latitude/MS +latitudinal +latitudinarian/MS +latrine/MS +latte/RSM +latter/MY +lattice/MDS +latticework/SM +laud/MDSGB +laudably +laudanum/M +laudatory +laugh/BMDG +laughably +laughing/MY +laughingstock/SM +laughs +laughter/M +launch/AGMDS +launcher/SM +launchpad/SM +launder/DRZGS +launderer/M +launderette/SM +laundress/MS +laundromat/MS +laundry/SM +laundryman/M +laundrymen +laundrywoman/M +laundrywomen +laureate/MS +laureateship/M +laurel/SM +lav/SGD +lava/M +lavage/M +lavaliere/SM +lavatorial +lavatory/SM +lave/S +lavender/SM +lavish/PTGDRSY +lavishness/M +law/SM +lawbreaker/SM +lawbreaking/M +lawful/UPY +lawfulness/UM +lawgiver/MS +lawless/PY +lawlessness/M +lawmaker/MS +lawmaking/M +lawman/M +lawmen +lawn/MS +lawnmower/SM +lawrencium/M +lawsuit/MS +lawyer/SM +lax/TRYP +laxative/MS +laxity/M +laxness/M +lay/AICSGM +layabout/S +layaway/M +layer/CSM +layered +layering/M +layette/MS +layman/M +laymen +layoff/SM +layout/SM +layover/MS +laypeople +layperson/MS +layup/SM +laywoman/M +laywomen +laze/MGDS +lazily +laziness/M +lazy/DRSTGP +lazybones/M +lb/S +lbw +lea/SM +leach/DSG +lead/MDNRSZG +leader/M +leaderless +leadership/SM +leading/M +leaf/MDSG +leafage/M +leafless +leaflet/GMDS +leafstalk/MS +leafy/RT +league/DSMG +leak/MDSG +leakage/MS +leakiness/M +leaky/PRT +lean/MDRSTGJP +leaning/M +leanness/M +leap/MDRSZG +leaper/M +leapfrog/MS +leapfrogged +leapfrogging +leapt +learn/AUGDS +learnability +learnable +learnedly +learner/MS +learning's +lease/ADSMG +leaseback/SM +leasehold/MRSZ +leaseholder/M +leaser/SM +leash's +leash/UDSG +least/M +leastwise +leather/MS +leatherette/M +leatherneck/MS +leathery +leave/DRSMZGJ +leaven/SGMD +leavened/U +leavening/M +leaver/M +leavings/M +lech/MDRSZG +lecher/M +lecherous/PY +lecherousness/M +lechery/M +lecithin/M +lectern/MS +lecture/MZGDRS +lecturer/M +lectureship/SM +ledge/RSMZ +ledger/M +lee/RSMZ +leech/MDSG +leek/MS +leer/MDG +leeriness/M +leery/RPT +leeward/SM +leeway/M +left/MRST +leftism/M +leftist/SM +leftmost +leftover/SM +leftward/S +lefty/SM +leg/SM +legacy/SM +legal/SMY +legalese/M +legalism/MS +legalistic +legalistically +legality/SM +legalization/M +legalize/GDS +legate/CXMNS +legatee/MS +legation's/AC +legato/SM +legend/SM +legendarily +legendary +legerdemain/M +legged +legginess/M +legging/MS +leggy/RPT +leghorn/MS +legibility/M +legible +legibly +legion/SM +legionary/SM +legionnaire/SM +legislate/DSGNV +legislation/M +legislative/Y +legislator/MS +legislature/SM +legit +legitimacy/M +legitimate/DSYG +legitimatize/GDS +legitimization/M +legitimize/DSG +legless +legman/M +legmen +legroom/SM +legume/MS +leguminous +legwarmer/S +legwork/M +lei/SM +leisure/DMY +leisureliness/M +leisurewear/M +leitmotif/MS +leitmotiv/MS +lemma/S +lemme/JG +lemming/M +lemon/SM +lemonade/SM +lemongrass +lemony +lemur/SM +lend/RSZG +lender/M +length/MNX +lengthen/GD +lengthily +lengthiness/M +lengths +lengthwise +lengthy/PRT +lenience/M +leniency/M +lenient/Y +lenitive +lens/MS +lent +lentil/MS +lento +leonine +leopard/SM +leopardess/MS +leotard/SM +leper/SM +leprechaun/MS +leprosy/M +leprous +lepta +lepton/MS +lesbian/SM +lesbianism/M +lesion/MS +less/MNRX +lessee/MS +lessen/GD +lesson/MS +lessor/MS +let/ISM +letdown/SM +lethal/Y +lethargic +lethargically +lethargy/M +letter/ZGMDRS +letterbomb/S +letterbox/S +lettered/U +letterer/M +letterhead/MS +lettering/M +letterpress/M +letting/S +lettuce/MS +letup/SM +leucine +leucotomy/S +leukemia/M +leukemic/SM +leukocyte/MS +levee/SM +level/PSZGMDRY +leveler/M +levelheaded/P +levelheadedness/M +levelness/M +lever/SGMD +leverage's +leverage/CDSG +leviathan/MS +levier/M +levitate/DSGN +levitation/M +levity/M +levy/DRSMZG +lewd/RYPT +lewdness/M +lexer/S +lexical +lexicographer/MS +lexicographic +lexicographical +lexicography/M +lexicon/SM +lexis +lg +liabilities +liability/AM +liable/A +liaise/GDS +liaison/MS +liar/MS +lib/M +libation/SM +libber/MS +libel/SZGMDR +libeler/M +libelous +liberal/MYPS +liberalism/M +liberality/M +liberalization/SM +liberalize/GDS +liberalness/M +liberate/CDSGN +liberation/CM +liberator/MS +libertarian/SM +libertine/MS +liberty/SM +libidinal +libidinous +libido/MS +librarian/MS +librarianship +library/SM +librettist/MS +libretto/SM +lice +license/MGDS +licensed/U +licensee/MS +licentiate/SM +licentious/YP +licentiousness/M +lichen/MS +licit/Y +lick/MDJSG +licking/M +licorice/SM +lid/SM +lidded +lidless +lido/MS +lie/DSM +lied/MR +lief/RT +liege/SM +lien/MS +lieu/M +lieutenancy/M +lieutenant/MS +life/MZR +lifebelt/S +lifeblood/M +lifeboat/MS +lifebuoy/MS +lifeforms +lifeguard/SM +lifeless/YP +lifelessness/M +lifelike +lifeline/MS +lifelong +lifer/M +lifesaver/SM +lifesaving/M +lifespan/S +lifestyle/SM +lifetime/MS +lifework/MS +lift/MDRSZG +lifter/M +liftoff/SM +ligament/MS +ligate/GNDS +ligation/M +ligature/MGDS +light's/C +light/CASTGD +lighted/U +lighten/SDRZG +lightener/M +lighter/SM +lightface/MD +lightheaded +lighthearted/YP +lightheartedness/M +lighthouse/MS +lighting's +lightly +lightness/M +lightning/MDS +lightproof +lightship/MS +lightweight/SM +ligneous +lignin +lignite/M +lii +likability/M +likable/P +likableness/M +like/EMGDST +likelihood/UM +likelihoods +likeliness/UM +likely/UPRT +liken/SGD +likeness/UM +likenesses +liker +likewise +liking/M +lilac/SM +lilliputian +lilo/S +lilt/MDSG +lily/SM +limb/MS +limber/UDSG +limberness/M +limbless +limbo/SM +lime/MGDS +limeade/SM +limelight/M +limerick/SM +limescale +limestone/M +limey/S +limit's +limit/CSZGDR +limitation/CM +limitations +limited/U +limiter's +limiting/S +limitless/P +limitlessness/M +limn/DSG +limo/MS +limousine/MS +limp/MDRYSPTG +limpet/MS +limpid/YP +limpidity/M +limpidness/M +limpness/M +limy/RT +linage/M +linchpin/SM +linden/MS +line/MZGDRSJ +lineage/MS +lineal/Y +lineament/SM +linear/Y +linearity/M +linebacker/MS +lined/U +linefeed +lineman/M +linemen +linen/SM +linens/M +liner/M +linesman/M +linesmen +lineup/MS +ling/M +linger/ZGJDRS +lingerer/M +lingerie/M +lingering/Y +lingo/M +lingoes +lingual +linguine/M +linguist/SM +linguistic/S +linguistically +linguistics/M +liniment/SM +lining/M +link/MDRSG +linkage/MS +linkman +linkmen +linkup/MS +linnet/MS +lino +linoleum/M +linseed/M +lint's +lint/CDG +lintel/MS +lints +linty/TR +lion/MS +lioness/MS +lionhearted +lionization/M +lionize/GDS +lip/SM +lipid/SM +liposuction/M +lipped +lippy +lipread/GRS +lipreader/M +lipreading/M +lipstick/MDSG +liq +liquefaction/M +liquefy/DSG +liqueur/SM +liquid/MS +liquidate/XGNDS +liquidation/M +liquidator/MS +liquidity/M +liquidize/ZGDRS +liquidizer/M +liquor/MDGS +lira/M +lire +lisle/M +lisp/MDRSZG +lisper/M +lissome +list/MDNSJXG +listed/U +listen/BMDRZG +listener/M +listeria +listing/M +listless/YP +listlessness/M +lit/ZR +litany/SM +litchi/MS +lite +liter/M +literacy/M +literal/SMYP +literalness/M +literariness/M +literary/P +literate/SMY +literati/M +literature/M +lithe/RPYT +litheness/M +lithesome +lithium/M +lithograph/MDRZG +lithographer/M +lithographic +lithographically +lithographs +lithography/M +lithosphere/SM +litigant/SM +litigate/DSGN +litigation/M +litigator/MS +litigious/P +litigiousness/M +litmus/M +litotes/M +litter/MDRSZG +litterateur/MS +litterbug/MS +litterer/M +little/MTRP +littleness/M +littoral/SM +liturgical/Y +liturgist/SM +liturgy/SM +livability/M +livable/U +live/ATGDSB +livelihood/SM +liveliness/M +livelong/S +lively/PRT +liven/SGD +liver's +liver/S +liveried +liverish +liverwort/MS +liverwurst/M +livery/CSM +liveryman/CM +liverymen/C +livestock/M +liveware +livid/Y +living/MS +lix/K +lizard/MS +ll +llama/SM +llano/SM +lo +load's +load/AUGSD +loadable +loader/MS +loading's +loaf/MDRSZG +loafer/M +loam/M +loamy/TR +loan/MDRSZG +loaner/M +loansharking/M +loanword/MS +loath/JZGDRS +loathe +loather/M +loathing/M +loathsome/PY +loathsomeness/M +loaves +lob/SMD +lobar +lobbed +lobber/MS +lobbing +lobby/GDSM +lobbyist/MS +lobe/MS +lobotomize/DSG +lobotomy/SM +lobster/MS +local/SMY +locale/MS +locality/SM +localization/M +localize/DSG +locate/EAGNDS +location's/A +location/ESM +locator/MS +locavore/SM +loci +lock/MDRSBZG +locker/M +locket/MS +lockjaw/M +lockout/MS +locksmith/M +locksmiths +lockstep/M +lockup/MS +loco/S +locomotion/M +locomotive/MS +locoweed/SM +locum/S +locus/M +locust/SM +locution/MS +lode/MS +lodestar/MS +lodestone/MS +lodge/DRSJMZG +lodger/M +lodging/M +lodgings/M +loft/MDSG +loftily +loftiness/M +lofty/PRT +log/SM +loganberry/SM +logarithm/SM +logarithmic +logbook/SM +loge/MS +logged +logger/SM +loggerhead/SM +loggia/SM +logging/M +logic/M +logical/Y +logicality/M +logician/MS +login/SM +logistic/S +logistical/Y +logistics/M +logjam/SM +logo/MS +logoff/SM +logon/SM +logotype/SM +logout/SM +logrolling/M +logy/RT +loin/MS +loincloth/M +loincloths +loiter/ZGSDR +loiterer/M +loitering/M +lolcat/SM +loll/DSG +lollipop/SM +lollop/GSD +lolly/S +lollygag/S +lollygagged +lollygagging +lone/YZR +loneliness/M +lonely/PTR +loner/M +lonesome/YP +lonesomeness/M +long's +long/KDSTG +longboat/MS +longbow/MS +longer +longevity/M +longhair/MS +longhand/M +longhorn/MS +longhouse/S +longing/MYS +longish +longitude/MS +longitudinal/Y +longshoreman/M +longshoremen +longsighted +longstanding +longtime +longueur/SM +longways +loo +loofah/M +loofahs +look/MDRSZG +lookalike/MS +looker/M +lookout/MS +lookup +loom/MDSG +loon/MS +loonie/M +loony/RSMT +loop/MDSG +loophole/MS +loopy/RT +loos/NRX +loose/UDSTG +loosely +loosen/UGSD +looseness/M +loot/MDRSZG +looter/M +looting/M +lop/S +lope/MGDS +lopped +lopping +lopsided/YP +lopsidedness/M +loquacious/PY +loquaciousness/M +loquacity/M +lord/MDYSG +lordliness/M +lordly/TPR +lordship/SM +lore/M +lorgnette/SM +loris/MS +lorn +lorry/SM +lose/ZGRSJ +loser/M +losing/M +loss/MS +lossless +lost +lot/SM +lotion/SM +lottery/SM +lotto/M +lotus/MS +louche +loud/RYTP +loudhailer/SM +loudmouth/MD +loudmouths +loudness/M +loudspeaker/MS +lough +loughs +lounge/MZGDRS +lounger/M +lour/DSG +louse's +louse/CDSG +lousily +lousiness/M +lousy/TPR +lout/MS +loutish/PY +louver/MDS +lovableness/M +lovably +love/MYZGDRSB +lovebird/SM +lovechild/M +loved/U +loveless +loveliness/M +lovelorn +lovely/RSMTP +lovemaking/M +lover/M +lovesick +lovey/S +loving/Y +low/SZTGMDRYP +lowborn +lowboy/MS +lowbrow/SM +lowdown/M +lower/GD +lowercase/M +lowermost +lowish +lowland/SZMR +lowlander/M +lowlife/SM +lowliness/M +lowly/TPR +lowness/M +lox/M +loyal/ETY +loyaler +loyalism/M +loyalist/SM +loyalties +loyalty/EM +lozenge/SM +ltd +luau/MS +lubber/MYS +lube/MGDS +lubricant/SM +lubricate/DSGN +lubrication/M +lubricator/MS +lubricious/Y +lubricity/M +lucid/PY +lucidity/M +lucidness/M +luck/MDSG +luckily/U +luckiness/UM +luckless +lucky/UPTR +lucrative/YP +lucrativeness/M +lucre/M +lucubrate/GNDS +lucubration/M +ludicrous/YP +ludicrousness/M +ludo +luff/DSG +lug/SM +luge/S +luggage/M +lugged +lugger/MS +lugging +lughole/S +lugsail/SM +lugubrious/YP +lugubriousness/M +lukewarm/YP +lukewarmness/M +lull/MDSG +lullaby/SM +lulu/S +lumbago/M +lumbar +lumber/MDRZGS +lumberer/M +lumbering/M +lumberjack/SM +lumberman/M +lumbermen +lumberyard/SM +lumen +luminary/SM +luminescence/M +luminescent +luminosity/M +luminous/Y +lummox/MS +lump/MDNSG +lumpectomy/S +lumpenproletariat +lumpiness/M +lumpish +lumpy/TRP +lunacy/SM +lunar +lunatic/SM +lunch/GMDS +lunchbox/S +luncheon/SM +luncheonette/SM +lunchroom/MS +lunchtime/MS +lung/MDSG +lunge/SM +lungfish/MS +lungful/S +lunkhead/MS +lupine/MS +lupus/M +lurch/GMDS +lure/MGDS +lurgy +lurid/PY +luridness/M +lurk/DRSZG +luscious/PY +lusciousness/M +lush/MRSYPT +lushness/M +lust/MDRSG +luster/M +lusterless +lustful/Y +lustily +lustiness/M +lustrous/Y +lusty/PTR +lutanist/SM +lute/MS +lutenist/SM +lutetium/M +lux +luxuriance/M +luxuriant/Y +luxuriate/DSGN +luxuriation/M +luxurious/PY +luxuriousness/M +luxury/SM +lvi +lvii +lxi +lxii +lxiv +lxix +lxvi +lxvii +lyceum/MS +lychgate/S +lye/MG +lying/M +lymph/M +lymphatic/SM +lymphocyte/SM +lymphoid +lymphoma/SM +lynch/JZGDRS +lyncher/M +lynching/M +lynx/MS +lyre/MS +lyrebird/MS +lyric/SM +lyrical/Y +lyricism/M +lyricist/SM +lysosomal +lysosomes +m/KAS +ma'am +ma/SMH +mac/SGMD +macabre +macadam/M +macadamia/SM +macadamize/GDS +macaque/MS +macaroni/MS +macaroon/MS +macaw/SM +mace/MS +macerate/DSGN +maceration/M +mach/M +machete/SM +machinate/GNDSX +machination/M +machine/DSMGB +machinery/M +machinist/MS +machismo/M +macho/M +mackerel/SM +mackinaw/SM +mackintosh/MS +macrame/M +macro/SM +macrobiotic/S +macrobiotics/M +macrocosm/SM +macroeconomic/S +macroeconomics/M +macrology/S +macron/MS +macrophages +macroscopic +mad/SMYP +madam/SM +madame/M +madcap/MS +madden/DGS +maddening/Y +madder/MS +maddest +madding +made/AU +mademoiselle/MS +madhouse/SM +madman/M +madmen +madness/M +madras/MS +madrasa/SM +madrasah/M +madrasahs +madrassa/SM +madrigal/SM +madwoman/M +madwomen +maelstrom/SM +maestro/SM +mafia/SM +mafiosi +mafioso/M +mag/SM +magazine/SM +mage/MS +magenta/M +maggot/MS +maggoty +magi/M +magic/SM +magical/Y +magician/SM +magicked +magicking +magisterial/Y +magistracy/M +magistrate/SM +magma/M +magnanimity/M +magnanimous/Y +magnate/SM +magnesia/M +magnesium/M +magnet/MS +magnetic +magnetically +magnetism/M +magnetite/M +magnetizable +magnetization/CM +magnetize/CGDS +magneto/SM +magnetometer/SM +magnetosphere +magnification/M +magnificence/M +magnificent/Y +magnifier/M +magnify/ZGXDRSN +magniloquence/M +magniloquent +magnitude/SM +magnolia/MS +magnon +magnum/MS +magpie/MS +magus/M +maharajah/M +maharajahs +maharani/SM +maharishi/SM +mahatma/SM +mahogany/SM +mahout/MS +maid/MNSX +maiden/MY +maidenhair/M +maidenhead/SM +maidenhood/M +maidservant/SM +mail/JMDRSZG +mailbag/SM +mailbomb/GSD +mailbox/MS +mailer/M +mailing/M +maillot/SM +mailman/M +mailmen +mailshot/S +maim/DSG +main/MYS +mainframe/SM +mainland/MS +mainline/MGDS +mainmast/MS +mainsail/MS +mainspring/MS +mainstay/MS +mainstream/SMDG +maintain/ZGBDRS +maintainability +maintainable/U +maintained/U +maintenance/M +maintop/SM +maisonette/MS +maize/SM +majestic +majestically +majesty/SM +majolica/M +major/SGMDY +majordomo/MS +majorette/MS +majoritarian/SM +majoritarianism +majority/SM +make's/A +make/UAGS +makeover/MS +maker/SM +makeshift/SM +makeup/MS +makeweight/S +making/MS +makings/M +malachite/M +maladjusted +maladjustment/M +maladministration +maladroit/PY +maladroitness/M +malady/SM +malaise/M +malamute/MS +malapropism/SM +malaria/M +malarial +malarkey/M +malathion/M +malcontent/MS +male/MPS +malediction/SM +malefaction/M +malefactor/SM +malefic +maleficence/M +maleficent +maleness/M +malevolence/M +malevolent/Y +malfeasance/M +malformation/SM +malformed +malfunction/MDSG +malice/M +malicious/PY +maliciousness/M +malign/DSG +malignancy/SM +malignant/Y +malignity/M +malinger/ZGSDR +malingerer/M +mall/MS +mallard/SM +malleability/M +malleable +mallet/MS +mallow/MS +malnourished +malnutrition/M +malocclusion/M +malodorous +malpractice/SM +malt/MDSG +malted/MS +maltose/M +maltreat/GLDS +maltreatment/M +malty/TR +malware/M +mam/S +mama/MS +mamba/SM +mambo/SGMD +mamma/M +mammal/MS +mammalian/MS +mammary +mammogram/MS +mammography/M +mammon/M +mammoth/M +mammoths +mammy/SM +man's/F +man/USY +manacle/DSMG +manage/ZGDRSL +manageability/M +manageable/U +management/MS +manager/M +manageress/S +managerial +manana/MS +manatee/SM +mandala/SM +mandamus/MS +mandarin/MS +mandate/DSMG +mandatory +mandible/MS +mandibular +mandolin/MS +mandrake/MS +mandrel/SM +mandrill/MS +mane/MDS +manege/M +maneuver/MDGSBJ +maneuverability/M +manful/Y +manga/M +manganese/M +mange/DRMZ +manger/M +mangetout/S +manginess/M +mangle/MZGDRS +mango/M +mangoes +mangrove/MS +mangy/TRP +manhandle/GDS +manhole/SM +manhood/M +manhunt/SM +mania/SM +maniac/MS +maniacal/Y +manic/SM +manically +manicure/MGDS +manicurist/MS +manifest/MDYSG +manifestation/SM +manifesto/SM +manifold/GMDS +manikin/SM +manila/M +manioc/MS +manipulable +manipulate/XGNVDS +manipulation/M +manipulative/Y +manipulator/MS +mankind/M +manky +manlike +manliness/M +manly/UTR +manna/M +manned/U +mannequin/SM +manner/MDYS +mannerism/SM +mannerly/U +manning/U +mannish/YP +mannishness/M +manometer/SM +manor/SM +manorial +manpower/M +manque +mansard/MS +manse/SXMN +manservant/M +mansion/M +manslaughter/M +manta/SM +mantel/MS +mantelpiece/SM +mantelshelf +mantelshelves +mantes +mantilla/SM +mantis/MS +mantissa/SM +mantle's +mantle/EGDS +mantra/MS +manual/MYS +manufacture/DRSMZG +manufacturer/M +manufacturing/M +manumission/SM +manumit/S +manumitted +manumitting +manure/MGDS +manuscript/MS +many/M +map's +map/AS +maple/SM +mapmaker/SM +mapped/A +mapper/MS +mapping/S +mar/S +marabou/MS +marabout/SM +maraca/MS +maraschino/MS +marathon/SMRZ +marathoner/M +maraud/ZGDRS +marauder/M +marble/MGDS +marbleize/GDS +marbling/M +march/ZGMDRS +marcher/M +marchioness/MS +mare/MS +margarine/M +margarita/MS +marge +margin/MS +marginal/YS +marginalia/M +marginalization/M +marginalize/GDS +maria/M +mariachi/MS +marigold/MS +marijuana/M +marimba/SM +marina/MS +marinade/DSMG +marinara/M +marinate/DSGN +marination/M +marine/MZRS +mariner/M +marionette/MS +marital/Y +maritime +marjoram/M +mark/AMDSG +markdown/SM +marked/U +markedly +marker/MS +market/MDRZGBS +marketability/M +marketable/U +marketeer/SM +marketer/M +marketing/M +marketplace/SM +marking/SM +markka/M +markkaa +marksman/M +marksmanship/M +marksmen +markup/MS +marl/M +marlin/MS +marlinespike/SM +marmalade/M +marmoreal +marmoset/SM +marmot/MS +maroon/MDGS +marque/MS +marquee/SM +marquess/MS +marquetry/M +marquis/MS +marquise/M +marquisette/M +marred/U +marriage/ASM +marriageability/M +marriageable +married/SM +marring +marrow/MS +marry/AGDS +marsh/MS +marshal/SMDG +marshland/SM +marshmallow/SM +marshy/RT +marsupial/MS +mart/MNSX +marten/M +martensite +martial/Y +martian/S +martin/MS +martinet/MS +martingale/MS +martini/SM +martyr/MDGS +martyrdom/M +marvel/MDGS +marvelous/Y +marzipan/M +masc +mascara/GMDS +mascot/MS +masculine/SM +masculinity/M +maser/SM +mash/MDRSZG +masher/M +mashup/MS +mask's +mask/UDSG +masker/MS +masochism/M +masochist/SM +masochistic +masochistically +mason/SM +masonic +masonry/M +masque/MS +masquerade/DRSMZG +masquerader/M +mass/MDSGV +massacre/MGDS +massage/DSMG +masseur/SM +masseuse/MS +massif/MS +massive/PY +massiveness/M +mast/MDS +mastectomy/SM +master's +master/ADGS +masterclass/S +masterful/Y +masterly +mastermind/SGMD +masterpiece/MS +masterstroke/SM +masterwork/MS +mastery/M +masthead/MS +mastic/M +masticate/GNDS +mastication/M +mastiff/SM +mastitis +mastodon/SM +mastoid/SM +masturbate/GNDS +masturbation/M +masturbatory +mat/SZGMDR +matador/SM +match/AMS +matchbook/SM +matchbox/MS +matched/U +matching +matchless +matchlock/SM +matchmaker/MS +matchmaking/M +matchstick/MS +matchwood/M +mate/MS +material/SMY +materialism/M +materialist/SM +materialistic +materialistically +materialization/M +materialize/DSG +materiel/M +maternal/Y +maternity/M +matey/S +mathematical/Y +mathematician/SM +mathematics/M +matinee/SM +mating/M +matins/M +matriarch/M +matriarchal +matriarchs +matriarchy/SM +matrices +matricidal +matricide/MS +matriculate/DSGN +matriculation/M +matrimonial +matrimony/M +matrix/M +matron/MYS +matte/DRSMZG +matter/MDG +matting/M +mattock/SM +mattress/MS +maturate/GNDS +maturation/M +mature/YTGDRS +maturity/SM +matzo/SMH +matzoh/M +matzohs +matzot +maudlin +maul/MDRSZG +mauler/M +maunder/SDG +mausoleum/SM +mauve/M +maven/SM +maverick/SM +maw/SM +mawkish/PY +mawkishness/M +max/GMDS +maxi/MS +maxilla/M +maxillae +maxillary +maxim/SM +maxima +maximal/Y +maximization/M +maximize/GDS +maximum/SM +may/M +maybe/SM +mayday/MS +mayflower/MS +mayfly/SM +mayhem/M +mayn't +mayo/M +mayonnaise/M +mayor/SM +mayoral +mayoralty/M +mayoress/MS +maypole/SM +mayst +maze/MS +mazurka/MS +mdse +me/DSH +mead/M +meadow/MS +meadowlark/MS +meager/PY +meagerness/M +meal/MS +mealiness/M +mealtime/SM +mealy/TPR +mealybug/SM +mealymouthed +mean/MRYJPSTG +meander/SMDJG +meanderings/M +meanie/M +meaning/M +meaningful/PY +meaningfulness/M +meaningless/YP +meaninglessness/M +meanness/M +meant/U +meantime/M +meanwhile/M +meany/SM +meas +measles/M +measly/RT +measurable +measurably +measure's +measure/ADSG +measured/U +measureless +measurement/MS +meat/MS +meatball/MS +meathead/MS +meatiness/M +meatless +meatloaf/M +meatloaves +meatpacking/M +meaty/TPR +mecca/SM +mechanic/MS +mechanical/Y +mechanics/M +mechanism/SM +mechanistic +mechanistically +mechanization/M +mechanize/DSG +medal/SM +medalist/MS +medallion/SM +meddle/ZGDRS +meddler/M +meddlesome +media/SM +medial/AY +median/MS +mediate/ADSGN +mediated/U +mediation/AM +mediator/MS +medic/SM +medicaid/M +medical/SMY +medicament/M +medicare/M +medicate/GNXDS +medication/M +medicinal/Y +medicine/MS +medico/MS +medieval +medievalist/MS +mediocre +mediocrity/SM +meditate/DSGNVX +meditation/M +meditative/Y +medium/MS +medley/MS +medulla/SM +medusa +medusae +meed/M +meek/RYPT +meekness/M +meerschaum/SM +meet/MJSG +meeting/M +meetinghouse/SM +meetup/MS +meg/S +mega +megabit/SM +megabucks/M +megabyte/MS +megachurch/MS +megacycle/SM +megadeath/M +megadeaths +megagram/S +megahertz/M +megajoule/S +megalith/M +megalithic +megaliths +megalomania/M +megalomaniac/SM +megalopolis/MS +megameter/S +megapascal/S +megaphone/DSMG +megapixel/SM +megastar/S +megaton/SM +megawatt/MS +meh +meiosis/M +meiotic +melamine/M +melancholia/M +melancholic/S +melancholy/M +melange/MS +melanin/M +melanoma/SM +meld/MDSG +melee/SM +meliorate/GNVDS +melioration/M +mellifluous/PY +mellifluousness/M +mellow/PTGDRYS +mellowness/M +melodic +melodically +melodious/YP +melodiousness/M +melodrama/MS +melodramatic/S +melodramatically +melodramatics/M +melody/SM +melon/SM +melt's +melt/ADSG +meltdown/SM +member's +member/EAS +membership/SM +membrane/SM +membranous +meme/MS +memento/MS +memo/MS +memoir/MS +memorabilia/M +memorability/M +memorable/U +memorably +memorandum/MS +memorial/SM +memorialize/DSG +memorization/M +memorize/DSG +memory/SM +memsahib/S +men/M +menace/MGDS +menacing/Y +menage/MS +menagerie/MS +mend/MDRSZG +mendacious/Y +mendacity/M +mendelevium/M +mender/M +mendicancy/M +mendicant/SM +mending/M +menfolk/MS +menfolks/M +menhaden/M +menial/MYS +meningeal +meninges +meningitis/M +meninx/M +menisci +meniscus/M +menopausal +menopause/M +menorah/M +menorahs +mensch/MS +menservants +menses/M +menstrual +menstruate/GNDS +menstruation/M +mensurable +mensuration/M +menswear/M +mental/Y +mentalist/SM +mentality/SM +menthol/M +mentholated +mention/GSMD +mentioned/U +mentor/MDSG +mentorship +menu/MS +meow/MDSG +mercantile +mercantilism/M +mercenary/SM +mercer/MS +mercerize/GDS +merchandise/MZGDRS +merchandiser/M +merchandising/M +merchant/MBS +merchantman/M +merchantmen +merciful/UY +merciless/PY +mercilessness/M +mercurial/Y +mercuric +mercury/M +mercy/SM +mere/MYTS +meretricious/YP +meretriciousness/M +merganser/MS +merge/DRSZG +merger/M +meridian/MS +meringue/MS +merino/MS +merit/CSM +merited/U +meriting +meritless +meritocracy/SM +meritocratic +meritorious/PY +meritoriousness/M +mermaid/SM +merman/M +mermen +merrily +merriment/M +merriness/M +merry/TRP +merrymaker/MS +merrymaking/M +mesa/MS +mescal/MS +mescalin +mescaline/M +mesdames +mesdemoiselles +mesh/MDSG +mesmeric +mesmerism/M +mesmerize/ZGDRS +mesmerizer/M +mesomorph/M +mesomorphs +meson/SM +mesosphere/SM +mesquite/SM +mess/MDSG +message/MGDS +messeigneurs +messenger/SM +messiah/M +messiahs +messianic +messieurs +messily +messiness/M +messmate/SM +messy/PTR +mestizo/MS +met +meta +metabolic +metabolically +metabolism/SM +metabolite/SM +metabolize/DSG +metacarpal/SM +metacarpi +metacarpus/M +metadata +metal/SMD +metalanguage/MS +metallic +metallurgic +metallurgical +metallurgist/MS +metallurgy/M +metalwork/MRZG +metalworker/M +metalworking/M +metamorphic +metamorphism/M +metamorphose/GDS +metamorphosis/M +metaphor/MS +metaphoric +metaphorical/Y +metaphysical/Y +metaphysics/M +metastases +metastasis/M +metastasize/DSG +metastatic +metatarsal/MS +metatarsi +metatarsus/M +metatheses +metathesis/M +mete/MZGDRS +metempsychoses +metempsychosis/M +meteor/MS +meteoric +meteorically +meteorite/SM +meteoroid/SM +meteorologic +meteorological +meteorologist/SM +meteorology/M +meter/GMD +metformin +methadone/M +methamphetamine/M +methane/M +methanol/M +methinks +method/MS +methodical/YP +methodicalness/M +methodological/Y +methodology/SM +methotrexate +methought +meths +methyl/M +meticulous/YP +meticulousness/M +metier/MS +metric/S +metrical/Y +metricate/GNDS +metrication/M +metricize/GDS +metro/SM +metronome/MS +metropolis/MS +metropolitan +mettle/M +mettlesome +mew/SGMD +mewl/DSG +mews/M +mezzanine/MS +mezzo/SM +mfg +mfr/S +mg +mgr +mi/MNX +miasma/MS +mic/S +mica/M +mice +mick/S +mickey/MS +micro/SM +microaggression/SM +microbe/MS +microbial +microbiological +microbiologist/MS +microbiology/M +microbrewery/SM +microchip/MS +microcircuit/SM +microcode +microcomputer/MS +microcosm/MS +microcosmic +microdot/SM +microeconomics/M +microelectronic/S +microelectronics/M +microfiber/MS +microfiche/M +microfilm/GMDS +microfinance +microfloppies +microgroove/SM +microlight/MS +microloan/MS +micromanage/ZGDRSL +micromanagement/M +micromanager/M +micrometeorite/SM +micrometer/MS +micron/MS +microorganism/MS +microphone/SM +microplastics +microprocessor/MS +microscope/SM +microscopic +microscopical/Y +microscopy/M +microsecond/MS +microsurgery/M +microwave/DSMGB +microwaveable +mid +midair/M +midday/M +midden/MS +middle/MGS +middlebrow/SM +middleman/M +middlemen +middlemost +middleweight/MS +middy/SM +midfield/RZ +midge/SM +midget/MS +midi/MS +midland/MS +midlife/M +midmost +midnight/M +midpoint/MS +midrib/MS +midriff/MS +midsection/MS +midshipman/M +midshipmen +midships +midsize +midst/M +midstream/M +midsummer/M +midterm/MS +midtown/M +midway/MS +midweek/MS +midwife/MGDS +midwifery/SM +midwinter/M +midwives +midyear/MS +mien/M +miff/DSG +might've +might/M +mightily +mightiness/M +mightn't +mighty/TRP +mignonette/SM +migraine/MS +migrant/MS +migrate/AGDS +migration/SM +migratory +mikado/MS +mike/MGDS +mil/SZMR +milady/SM +milch +mild/MRYTP +mildew/SMDG +mildness/M +mile/MS +mileage/SM +milepost/MS +miler/M +milestone/MS +milf/MS +milieu/SM +militancy/M +militant/MYS +militarily +militarism/M +militarist/SM +militaristic +militarization/CM +militarize/CDSG +military/M +militate/GDS +militia/SM +militiaman/M +militiamen +milk/MDRSZG +milker/M +milkiness/M +milkmaid/MS +milkman/M +milkmen +milkshake/SM +milksop/MS +milkweed/SM +milky/RTP +mill/MDRSZGJ +millage/M +millennia +millennial/M +millennium/MS +miller/M +millet/M +milliard/MS +millibar/MS +milligram/MS +milliliter/MS +millimeter/MS +milliner/MS +millinery/M +milling/M +million/HSM +millionaire/SM +millionairess/S +millionth/M +millionths +millipede/SM +millisecond/SM +millpond/SM +millrace/SM +millstone/SM +millstream/MS +millwright/SM +milometer/S +milquetoast/SM +milt/MDSG +mime/MGDS +mimeograph/GMD +mimeographs +mimetic +mimic/SM +mimicked +mimicker/SM +mimicking +mimicry/SM +mimosa/SM +min +minaret/MS +minatory +mince/DRSMZG +mincemeat/M +mincer/M +mind's +mind/ADRSZG +mindbogglingly +minded/P +mindful/YP +mindfulness/M +mindless/YP +mindlessness/M +mindset/MS +mine/MZGNDRSX +minefield/SM +miner/M +mineral/MS +mineralogical +mineralogist/MS +mineralogy/M +minestrone/M +minesweeper/SM +mingle/DSG +mingy +mini/MS +miniature/MS +miniaturist/MS +miniaturization/M +miniaturize/GDS +minibar/S +minibike/SM +minibus/MS +minicab/S +minicam/MS +minicomputer/SM +minifloppies +minim/SM +minima +minimal/Y +minimalism/M +minimalist/MS +minimization/M +minimize/DSG +minimum/MS +mining/M +minion/M +miniseries/M +miniskirt/MS +minister/SGMD +ministerial +ministrant/MS +ministration/MS +ministry/SM +minivan/MS +mink/MS +minnesinger/MS +minnow/SM +minor/SMDG +minority/SM +minoxidil/M +minster/MS +minstrel/SM +minstrelsy/M +mint/MDRSZG +mintage/M +minter/M +minty/RT +minuend/MS +minuet/SM +minus/MS +minuscule/MS +minute/PDRSMYTG +minuteman/M +minutemen +minuteness/M +minutia/M +minutiae +minx/MS +miracle/MS +miraculous/Y +mirage/SM +mire/MGDS +mirror/GSMD +mirth/M +mirthful/PY +mirthfulness/M +mirthless/Y +miry/RT +misaddress/DSG +misadventure/MS +misaligned +misalignment/M +misalliance/MS +misanthrope/SM +misanthropic +misanthropically +misanthropist/MS +misanthropy/M +misapplication/M +misapply/DSGNX +misapprehend/GSD +misapprehension/MS +misappropriate/XDSGN +misappropriation/M +misbegotten +misbehave/GDS +misbehavior/M +misc +miscalculate/DSXGN +miscalculation/M +miscall/DSG +miscarriage/MS +miscarry/GDS +miscast/SG +miscegenation/M +miscellaneous/Y +miscellany/SM +mischance/SM +mischief/M +mischievous/YP +mischievousness/M +miscibility/M +miscible +misclassified +miscommunication/S +misconceive/GDS +misconception/SM +misconduct/MDGS +misconstruction/MS +misconstrue/GDS +miscount/MDSG +miscreant/SM +miscue/DSMG +misdeal/GMS +misdealt +misdeed/MS +misdemeanor/MS +misdiagnose/GDS +misdiagnosis/M +misdid +misdirect/SDG +misdirection/M +misdo/JG +misdoes +misdoing/M +misdone +miser/SBMY +miserableness/M +miserably +miserliness/M +misery/SM +misfeasance/M +misfeature/S +misfile/GDS +misfire/MGDS +misfit/SM +misfitted +misfitting +misfortune/SM +misgiving/MS +misgovern/SDGL +misgovernment/M +misguidance/M +misguide/DSG +misguided/Y +mishandle/DSG +mishap/SM +mishear/GS +misheard +mishit/S +mishitting +mishmash/MS +misidentify/GDS +misinform/DGS +misinformation/M +misinterpret/SGD +misinterpretation/SM +misjudge/DSG +misjudgment/SM +mislabel/GSD +mislaid +mislay/GS +mislead/GS +misleading/Y +misled +mismanage/LGDS +mismanagement/M +mismatch/GMDS +misname/GDS +misnomer/MS +misogamist/MS +misogamy/M +misogynist/SM +misogynistic +misogynous +misogyny/M +misplace/GLDS +misplacement/M +misplay/GMDS +misprint/GMDS +misprision/M +mispronounce/DSG +mispronunciation/SM +misquotation/MS +misquote/MGDS +misread/GJS +misreading/M +misremember/GDS +misreport/MDGS +misrepresent/GDS +misrepresentation/MS +misrule/MGDS +miss's +miss/EDSGV +missal/ESM +missed/U +misshape/GDS +misshapen +missile/MS +missilery/M +mission/AMS +missionary/SM +missioner/SM +missive/MS +misspeak/GS +misspell/GDJS +misspelling/M +misspend/GS +misspent +misspoke +misspoken +misstate/GDSL +misstatement/SM +misstep/MS +missus/MS +mist's +mist/CDRSZG +mistakable/U +mistake/BMGS +mistaken/Y +mister's +mistily +mistime/GDS +mistiness/M +mistletoe/M +mistook +mistral/MS +mistranslated +mistreat/LDGS +mistreatment/M +mistress/MS +mistrial/MS +mistrust/MDSG +mistrustful/Y +misty/PRT +mistype/GS +misunderstand/SGJ +misunderstanding/M +misunderstood +misuse/DSMG +mite/MZRS +miter/MDG +mitigate/DSGN +mitigated/U +mitigation/M +mitochondria +mitochondrial +mitochondrion +mitoses +mitosis/M +mitotic +mitral +mitt/MNSX +mitten/M +mitzvah +mix/ZGMDRSB +mixed/U +mixer/M +mixture/SM +mizzen/MS +mizzenmast/SM +mkay +mks +ml +mm +mnemonic/MS +mnemonically +mo/CKHS +moan/MDRSZG +moaner/M +moat/MDS +mob's +mob/CS +mobbed/C +mobbing/C +mobile/MS +mobility/M +mobilization/CM +mobilizations +mobilize/CDSG +mobilizer/SM +mobster/SM +moccasin/SM +mocha/SM +mock/DRSZG +mocker/M +mockery/SM +mocking/Y +mockingbird/SM +mod/STM +modal/SM +modality/S +modded +modding +mode/MS +model/ZGSJMDR +modeler/M +modeling/M +modem/SM +moderate/MYGNPDS +moderateness/M +moderation/M +moderator/SM +modern/MYPS +modernism/M +modernist/SM +modernistic +modernity/M +modernization/M +modernize/DRSZG +modernizer/M +modernness/M +modest/Y +modesty/M +modicum/SM +modifiable +modification/M +modified/U +modifier/M +modify/DRSXZGN +modish/YP +modishness/M +modular +modularization +modulate/CGNDS +modulation/CM +modulations +modulator/MS +module/MS +modulo +modulus +moggy +mogul/SM +mohair/M +moi +moiety/SM +moil/MDSG +moire/SM +moist/XTPNRY +moisten/DRZG +moistener/M +moistness/M +moisture/M +moisturize/ZGDRS +moisturizer/M +molar/SM +molasses/M +mold/MDRJSZG +moldboard/SM +molder/GMD +moldiness/M +molding/M +moldy/TPR +mole/MS +molecular +molecularity/M +molecule/SM +molehill/SM +moleskin/M +molest/DRZGS +molestation/M +molested/U +molester/M +moll/MS +mollification/M +mollify/DSNG +molluscan +mollusk/SM +molly/SM +mollycoddle/DSMG +molt/MDNRSZG +molter/M +molybdenum/M +mom/SM +moment/MS +momenta +momentarily +momentariness/M +momentary/P +momentous/PY +momentousness/M +momentum/M +mommy/SM +monad +monarch/M +monarchic +monarchical +monarchism/M +monarchist/MS +monarchistic +monarchs +monarchy/SM +monastery/SM +monastic/MS +monastical/Y +monasticism/M +monaural +monetarily +monetarism/M +monetarist/MS +monetary +monetization/C +monetize/CGDS +money/SMD +moneybag/MS +moneybox/S +moneylender/SM +moneymaker/SM +moneymaking/M +monger/MDGS +mongol/S +mongolism/M +mongoloid/MS +mongoose/MS +mongrel/SM +monies +moniker/SM +monism/M +monist/MS +monition/SM +monitor/SMDG +monitory +monk/MS +monkey/MDGS +monkeyshine/SM +monkish +monkshood/SM +mono/M +monochromatic +monochrome/MS +monocle/DSM +monoclonal +monocotyledon/SM +monocotyledonous +monocular +monodic +monodist/SM +monody/SM +monogamist/MS +monogamous/Y +monogamy/M +monogram/SM +monogrammed +monogramming +monograph/M +monographs +monolingual/MS +monolith/M +monolithic +monoliths +monologist/SM +monologue/SM +monomania/M +monomaniac/MS +monomaniacal +monomer/SM +mononucleosis/M +monophonic +monoplane/SM +monopolist/SM +monopolistic +monopolization/M +monopolize/DRSZG +monopolizer/M +monopoly/SM +monorail/MS +monosyllabic +monosyllable/MS +monotheism/M +monotheist/SM +monotheistic +monotone/MS +monotonic +monotonically +monotonous/PY +monotonousness/M +monotony/M +monounsaturated +monoxide/MS +monseigneur/M +monsieur/M +monsignor/SM +monsoon/SM +monsoonal +monster/SM +monstrance/ASM +monstrosity/SM +monstrous/Y +montage/SM +month/MY +monthly/SM +months +monument/MS +monumental/Y +moo/SGMD +mooch/ZGMDRS +moocher/M +mood/MS +moodily +moodiness/M +moody/TPR +moon/MDSG +moonbeam/MS +moonless +moonlight/SMDRZG +moonlighter/M +moonlighting/M +moonlit +moonscape/SM +moonshine/MZRS +moonshiner/M +moonshot/MS +moonstone/MS +moonstruck +moonwalk/MS +moor/MDJSG +moorhen/S +mooring/M +moorland/MS +moose/M +moot/DSG +mop/SZGMDR +mope/MS +moped/SM +moper/M +mopey +mopier +mopiest +mopish +mopped +moppet/MS +mopping +moraine/SM +moral/SMY +morale/M +moralism +moralist/MS +moralistic +moralistically +moralities +morality/UM +moralization/CM +moralize/CGDS +moralizer/MS +morass/MS +moratorium/SM +moray/SM +morbid/YP +morbidity/M +morbidness/M +mordancy/M +mordant/SMY +more/MS +moreish +morel/SM +moreover +mores/M +morgue/MS +moribund +morn/MJSG +morning/M +morocco/M +moron/SM +moronic +moronically +morose/YP +moroseness/M +morph/GD +morpheme/MS +morphemic +morphia/M +morphine/M +morphing/M +morphological +morphology/M +morphs +morrow/MS +morsel/MS +mortal/MYS +mortality/M +mortar/MDSG +mortarboard/SM +mortgage's +mortgage/AGDS +mortgagee/MS +mortgagor/MS +mortician/MS +mortification/M +mortify/NGDS +mortise/DSMG +mortuary/SM +mosaic/MS +mosey/SGD +mosh/DSG +mosque/MS +mosquito/M +mosquitoes +moss/MS +mossback/SM +mossy/TR +most/MY +mot/SM +mote's +mote/KCXSVN +motel/SM +motet/SM +moth/M +mothball/GMDS +mother/MDYSG +motherboard/SM +motherfucker/MS! +motherfucking/! +motherhood/M +motherland/MS +motherless +motherliness/M +moths +motif/SM +motile/S +motility/M +motion/KCM +motioned +motioning +motionless/YP +motionlessness/M +motivate/CDSG +motivated/U +motivation/SM +motivational +motivator/SM +motive/MS +motiveless +motley/MS +motlier +motliest +motocross/MS +motor/SGMD +motorbike/MGDS +motorboat/MS +motorcade/MS +motorcar/SM +motorcycle/DSMG +motorcyclist/MS +motorist/SM +motorization/M +motorize/DSG +motorman/M +motormen +motormouth/M +motormouths +motorway/SM +mottle/GDS +motto/M +mottoes +moue/MS +mound/SGMD +mount/EASGMD +mountable +mountain/SM +mountaineer/SMDG +mountaineering/M +mountainous +mountainside/SM +mountaintop/SM +mountebank/MS +mounted/U +mounter/MS +mounting/SM +mourn/SZGDR +mourned/U +mourner/M +mournful/YP +mournfulness/M +mourning/M +mouse/DRSMZG +mouser/M +mousetrap/SM +mousetrapped +mousetrapping +mousiness/M +moussaka/S +mousse/MGDS +mousy/PTR +mouth/GMD +mouthfeel +mouthful/MS +mouthiness/M +mouthpiece/MS +mouths +mouthwash/MS +mouthwatering +mouthy/PTR +mouton/M +movable/SM +move/AMZGDRSB +moved/U +movement/SM +mover/AM +movie/SM +moviegoer/SM +moving/Y +mow/SZGMDR +mower/M +moxie/M +mozzarella/M +mp +mpg +mph +mt +mtg +mtge +mu/SM +much/M +mucilage/M +mucilaginous +muck/MDSG +muckrake/DRSZG +muckraker/M +mucky/TR +mucous +mucus/M +mud/M +muddily +muddiness/M +muddle/MGDS +muddleheaded +muddy/PTGDRS +mudflap/S +mudflat/MS +mudguard/SM +mudpack/S +mudroom/MS +mudslide/MS +mudslinger/SM +mudslinging/M +muenster/M +muesli +muezzin/MS +muff/MDSG +muffin/MS +muffle/ZGDRS +muffler/M +mufti/SM +mug/SM +mugful/MS +mugged +mugger/MS +mugginess/M +mugging/MS +muggins +muggle/MS +muggy/PTR +mugshot/MS +mugwump/MS +mujaheddin +mukluk/MS +mulatto/M +mulattoes +mulberry/SM +mulch/GMDS +mulct/SGMD +mule/MS +muleskinner/MS +muleteer/MS +mulish/PY +mulishness/M +mull/DSG +mullah/M +mullahs +mullein/M +mullet/MS +mulligan/SM +mulligatawny/M +mullion/SMD +multi +multicellular +multichannel +multicolored +multicultural +multiculturalism/M +multidimensional +multidisciplinary +multifaceted +multifamily +multifarious/PY +multifariousness/M +multiform +multigrain +multilateral/Y +multilayered +multilevel +multilingual +multilingualism/M +multimedia/M +multimillionaire/SM +multinational/SM +multipart +multiparty +multiplayer/M +multiple/MS +multiplex/ZGMDRS +multiplexer/M +multiplicand/MS +multiplication/M +multiplicative +multiplicity/SM +multiplier/M +multiply/NZGDRSX +multiprocessing +multiprocessor/SM +multipurpose +multiracial +multistage +multistory +multitask/GS +multitasking/M +multitude/SM +multitudinous +multivariate +multiverse/SM +multivitamin/MS +multiyear +mum +mumble/MZGDRS +mumbler/M +mumbletypeg/M +mummer/MS +mummery/M +mummification/M +mummify/GNDS +mummy/SM +mumps/M +mun +munch/GDS +munchie/S +munchies/M +munchkin/SM +mundane/SY +mung/DSG +municipal/SMY +municipality/SM +munificence/M +munificent/Y +munition/MDGS +mural/SM +muralist/SM +murder/ZGMDRS +murderer/M +murderess/MS +murderous/Y +murk/MS +murkily +murkiness/M +murky/PTR +murmur/ZGJMDRS +murmurer/M +murmuring/M +murmurous +murrain/M +muscat/MS +muscatel/SM +muscle/MGDS +musclebound +muscleman +musclemen +muscly +muscular/Y +muscularity/M +musculature/M +musculoskeletal +muse/MGDSJ +musette/MS +museum/MS +mush/MDRSZG +mushiness/M +mushroom/GSMD +mushy/PTR +music/SM +musical/MYS +musicale/MS +musicality/M +musician/SMY +musicianship/M +musicological +musicologist/MS +musicology/M +musing/MY +musk/M +muskeg/MS +muskellunge/MS +musket/MS +musketeer/MS +musketry/M +muskie/M +muskiness/M +muskmelon/SM +muskox/MN +muskrat/MS +musky/PTRS +muslin/M +muss/MDSG +mussel/MS +mussy/TR +must've +must/MRSZ +mustache/MDS +mustachio/SMD +mustang/MS +mustard/M +muster/GMD +mustily +mustiness/M +mustn't +musty/PTR +mutability/M +mutably +mutagen/MS +mutagenic +mutant/MS +mutate/XGNVDS +mutation/M +mutational +mute/MYTGDRSPB +muteness/M +mutilate/DSGNX +mutilation/M +mutilator/SM +mutineer/SM +mutinous/Y +mutiny/GDSM +mutt/MS +mutter/ZGJMDRS +mutterer/M +muttering/M +mutton/M +muttonchops/M +muttony +mutual/Y +mutuality/M +muumuu/MS +muzak +muzzily +muzzle/DSMG +muzzy/P +my +mycologist/SM +mycology/M +myelitis/M +myna/MS +myocardial +myocardium +myopia/M +myopic +myopically +myriad/SM +myrmidon/MS +myrrh/M +myrtle/SM +mys +myself +mysterious/PY +mysteriousness/M +mystery/SM +mystic/SM +mystical/Y +mysticism/M +mystification/CM +mystify/CDSGN +mystique/M +myth/M +mythic +mythical +mythological +mythologist/SM +mythologize/DSG +mythology/SM +myths +myxomatosis +n/IKTH +naan/S +nab/S +nabbed +nabbing +nabob/SM +nacelle/SM +nacho/SM +nacre/M +nacreous +nadir/SM +nae +naff/RT +nag/SM +nagged +nagger/MS +nagging +nagware +nah +naiad/SM +naif/MS +nail/MDSG +nailbrush/MS +naive/RYT +naivete/M +naivety/M +naked/PY +nakedness/M +name's +name/AGDS +nameable/U +named/U +nameless/Y +namely +nameplate/MS +namesake/SM +nanny/SM +nanobot/S +nanometer/S +nanosecond/SM +nanotechnology/SM +nanotube +nap/SM +napalm/MDSG +nape/MS +naphtha/M +naphthalene/M +napkin/MS +napless +napoleon/SM +napped +napper/MS +napping +nappy/TRSM +narc/MS +narcissism/M +narcissist/MS +narcissistic +narcissus/M +narcolepsy/M +narcoleptic +narcoses +narcosis/M +narcotic/SM +narcotization/M +narcotize/GDS +nark +narky +narrate/GNVDSX +narration/M +narrative/SM +narrator/SM +narrow/PTGMDRYS +narrowness/M +narwhal/MS +nary +nasal/SMY +nasality/M +nasalization/M +nasalize/DSG +nascence/AM +nascent/A +nastily +nastiness/M +nasturtium/SM +nasty/PTR +natal +natch +nation/MS +national/MYS +nationalism/M +nationalist/SM +nationalistic +nationalistically +nationality/SM +nationalization/MS +nationalize/CDSG +nationhood/M +nationwide +native/MS +nativity/SM +natl +natter/GMDS +nattily +nattiness/M +natty/PTR +natural's +natural/UPY +naturalism/M +naturalist/SM +naturalistic +naturalization/M +naturalize/DSG +naturalness/UM +naturals +nature's +nature/CS +naturism +naturist/S +naught/MS +naughtily +naughtiness/M +naughty/PTR +nausea/M +nauseam +nauseate/GDS +nauseating/Y +nauseous/PY +nauseousness/M +nautical/Y +nautilus/MS +naval +nave/MS +navel/SM +navigability/M +navigable +navigate/DSGN +navigation/M +navigational +navigator/MS +navvy/S +navy/SM +nay/SM +naysayer/MS +ne'er +neanderthal/MS +neap/MS +near/DRYSPTG +nearby +nearness/M +nearshore +nearside +nearsighted/YP +nearsightedness/M +neat/NRYPXT +neaten/GD +neath +neatness/M +nebula/M +nebulae +nebular +nebulous/PY +nebulousness/M +necessarily/U +necessary/SM +necessitate/DSG +necessitous +necessity/SM +neck/MDSG +neckband/S +neckerchief/MS +necking/M +necklace/MGDSJ +neckline/MS +necktie/MS +necrology/M +necromancer/SM +necromancy/M +necrophilia +necrophiliac/S +necropolis/MS +necroses +necrosis/M +necrotic +nectar/M +nectarine/MS +nee +need/MDSG +needed/U +needful/Y +neediness/M +needle/MGDS +needlepoint/M +needless/YP +needlessness/M +needlewoman/M +needlewomen +needlework/M +needn't +needy/PTR +nefarious/YP +nefariousness/M +neg +negate/DSGNVX +negation/M +negative/MYGPDS +negativeness/M +negativism/M +negativity/M +neglect/SGMD +neglectful/YP +neglectfulness/M +negligee/MS +negligence/M +negligent/Y +negligible +negligibly +negotiability/M +negotiable/A +negotiate/ADSGN +negotiation/AM +negotiations +negotiator/MS +negritude/M +negro +negroid +neigh/MDG +neighbor/SMDYG +neighborhood/SM +neighborliness/M +neighs +neither +nelson/SM +nematode/SM +nemeses +nemesis/M +neoclassic +neoclassical +neoclassicism/M +neocolonialism/M +neocolonialist/MS +neocon/SM +neoconservative/SM +neocortex +neodymium/M +neolithic +neologism/SM +neon/M +neonatal +neonate/MS +neophilia +neophyte/MS +neoplasm/MS +neoplastic +neoprene/M +nepenthe/M +nephew/SM +nephrite/M +nephritic +nephritis/M +nephropathy +nepotism/M +nepotist/SM +nepotistic +neptunium/M +nerd/MS +nerdy/RT +nerve's +nerve/UDSG +nerveless/YP +nervelessness/M +nerviness/M +nervous/YP +nervousness/M +nervy/TPR +nest/MDSG +nestle/GJDS +nestling/M +net/SM +netball +netbook/MS +nether +nethermost +netherworld/M +netiquette/S +netted +netter/S +netting/M +nettle/MGDS +nettlesome +network/SGMD +networking/M +neural/Y +neuralgia/M +neuralgic +neurasthenia/M +neurasthenic/MS +neuritic/MS +neuritis/M +neurological/Y +neurologist/SM +neurology/M +neuron/MS +neuronal +neuroscience +neuroses +neurosis/M +neurosurgeon/MS +neurosurgery/M +neurosurgical +neurotic/MS +neurotically +neuroticism +neurotransmitter/SM +neut +neuter/MDGS +neutral/SMY +neutralism/M +neutralist/SM +neutrality/M +neutralization/M +neutralize/DRSZG +neutralizer/M +neutrino/SM +neutron/SM +never +nevermore +nevertheless +nevi +nevus/M +new/STMRYP +newbie/MS +newborn/SM +newcomer/SM +newel/SM +newfangled +newfound +newline/S +newlywed/SM +newness/M +news/M +newsagent/S +newsboy/SM +newscast/SMRZ +newscaster/M +newsdealer/SM +newsflash/S +newsgirl/SM +newsgroup/MS +newshound/S +newsletter/MS +newsman/M +newsmen +newspaper/MS +newspaperman/M +newspapermen +newspaperwoman/M +newspaperwomen +newspeak +newsprint/M +newsreader/S +newsreel/MS +newsroom/MS +newsstand/SM +newsweekly/SM +newswoman/M +newswomen +newsworthiness/M +newsworthy/P +newsy/TR +newt/MS +newton/MS +next/M +nexus/MS +niacin/M +nib/SM +nibble/MZGDRS +nibbler/M +nice/PYTR +niceness/M +nicety/SM +niche/SM +nick/MDRSZG +nickel/MS +nickelodeon/SM +nicker/MDG +nickle/S +nickname/DSMG +nicotine/M +niece/SM +nifedipine +niff +niffy +nifty/TR +nigga/MS! +niggard/SMY +niggardliness/M +niggaz/! +nigger/SM! +niggle/MZGDRS +niggler/M +nigh/RT +night/SMY +nightcap/SM +nightclothes/M +nightclub/SM +nightclubbed +nightclubbing +nightdress/MS +nightfall/M +nightgown/SM +nighthawk/SM +nightie/SM +nightingale/SM +nightlife/M +nightlight/S +nightlong +nightmare/SM +nightmarish +nightshade/SM +nightshirt/SM +nightspot/MS +nightstand/SM +nightstick/SM +nighttime/M +nightwatchman +nightwatchmen +nightwear/M +nihilism/M +nihilist/MS +nihilistic +nil/M +nimbi +nimble/TPR +nimbleness/M +nimbly +nimbus/M +nimby +nimrod/MS +nincompoop/SM +nine/MS +ninepin/MS +ninepins/M +nineteen/SMH +nineteenth/M +nineteenths +ninetieth/M +ninetieths +ninety/HSM +ninja/SM +ninny/SM +ninth/M +ninths +niobium/M +nip/SM +nipped +nipper/MS +nippiness/M +nipping +nipple/MS +nippy/TPR +nirvana/M +nisei/M +nit/SMR +niter/M +nitpick/SZGDR +nitpicker/M +nitpicking/M +nitrate/DSMGN +nitration/M +nitric +nitrification/M +nitrite/SM +nitro +nitrocellulose/M +nitrogen/M +nitrogenous +nitroglycerin/M +nitwit/MS +nix/GMDS +no/SM +nob/SY +nobble/GDS +nobelium/M +nobility/M +noble/RSPMT +nobleman/M +noblemen +nobleness/M +noblewoman/M +noblewomen +nobody/SM +nocturnal/Y +nocturne/MS +nod/SM +nodal +nodded +nodding +noddle/MS +noddy +node/MS +nodular +nodule/MS +noel/MS +noes +noggin/MS +nohow +noise/DSMG +noiseless/PY +noiselessness/M +noisemaker/MS +noisily +noisiness/M +noisome +noisy/PTR +nomad/SM +nomadic +nomenclature/MS +nominal/Y +nominate/ACGNVDS +nomination's/A +nomination/CSM +nominative/SM +nominator/CSM +nominee/MS +non +nonabrasive +nonabsorbent/SM +nonacademic +nonacceptance/M +nonacid +nonactive/MS +nonaddictive +nonadhesive +nonadjacent +nonadjustable +nonadministrative +nonage/MS +nonagenarian/MS +nonaggression/M +nonalcoholic +nonaligned +nonalignment/M +nonallergic +nonappearance/MS +nonassignable +nonathletic +nonattendance/M +nonautomotive +nonavailability/M +nonbasic +nonbeliever/MS +nonbelligerent/MS +nonbinding +nonbreakable +nonburnable +noncaloric +noncancerous +nonce/M +nonchalance/M +nonchalant/Y +nonchargeable +nonclerical/MS +nonclinical +noncollectable +noncom/MS +noncombat +noncombatant/MS +noncombustible +noncommercial/MS +noncommittal/Y +noncommunicable +noncompeting +noncompetitive +noncompliance/M +noncomplying +noncomprehending +nonconducting +nonconductor/MS +nonconforming +nonconformism +nonconformist/MS +nonconformity/M +nonconsecutive +nonconstructive +noncontagious +noncontinuous +noncontributing +noncontributory +noncontroversial +nonconvertible +noncooperation/M +noncorroding +noncorrosive +noncredit +noncriminal/SM +noncritical +noncrystalline +noncumulative +noncustodial +nondairy +nondeductible/M +nondelivery/SM +nondemocratic +nondenominational +nondepartmental +nondepreciating +nondescript +nondestructive +nondetachable +nondeterminism +nondeterministic +nondisciplinary +nondisclosure/M +nondiscrimination/M +nondiscriminatory +nondramatic +nondrinker/MS +nondrying +none +noneducational +noneffective +nonelastic +nonelectric +nonelectrical +nonempty +nonenforceable +nonentity/SM +nonequivalent/MS +nonessential +nonesuch/MS +nonetheless +nonevent/MS +nonexchangeable +nonexclusive +nonexempt/M +nonexistence/M +nonexistent +nonexplosive/MS +nonfactual +nonfading +nonfat +nonfatal +nonfattening +nonferrous +nonfiction/M +nonfictional +nonflammable +nonflowering +nonfluctuating +nonflying +nonfood/M +nonfreezing +nonfunctional +nongovernmental +nongranular +nonhazardous +nonhereditary +nonhuman +nonidentical +noninclusive +nonindependent +nonindustrial +noninfectious +noninflammatory +noninflationary +noninflected +nonintellectual/MS +noninterchangeable +noninterference/M +nonintervention/M +nonintoxicating +noninvasive +nonirritating +nonissue +nonjudgmental +nonjudicial +nonlegal +nonlethal +nonlinear +nonliterary +nonliving/M +nonmagnetic +nonmalignant +nonmember/MS +nonmetal/SM +nonmetallic +nonmigratory +nonmilitant +nonmilitary +nonnarcotic/SM +nonnative/MS +nonnegotiable +nonnuclear +nonnumerical +nonobjective +nonobligatory +nonobservance/M +nonobservant +nonoccupational +nonoccurence +nonofficial +nonoperational +nonoperative +nonparallel/MS +nonpareil/MS +nonparticipant/MS +nonparticipating +nonpartisan/SM +nonpaying +nonpayment/SM +nonperformance/M +nonperforming +nonperishable +nonperson/MS +nonphysical/Y +nonplus/S +nonplussed +nonplussing +nonpoisonous +nonpolitical +nonpolluting +nonporous +nonpracticing +nonprejudicial +nonprescription +nonproductive +nonprofessional/SM +nonprofit/SMB +nonproliferation/M +nonpublic +nonpunishable +nonracial +nonradioactive +nonrandom +nonreactive +nonreciprocal/SM +nonreciprocating +nonrecognition/M +nonrecoverable +nonrecurring +nonredeemable +nonrefillable +nonrefundable +nonreligious +nonrenewable +nonrepresentational +nonresident/MS +nonresidential +nonresidual/M +nonresistance/M +nonresistant +nonrestrictive +nonreturnable/MS +nonrhythmic +nonrigid +nonsalaried +nonscheduled +nonscientific +nonscoring +nonseasonal +nonsectarian +nonsecular +nonsegregated +nonsense/M +nonsensical/Y +nonsensitive +nonsexist +nonsexual +nonskid +nonslip +nonsmoker/SM +nonsmoking +nonsocial +nonspeaking +nonspecialist/MS +nonspecializing +nonspecific +nonspiritual/SM +nonstaining +nonstandard +nonstarter/MS +nonstick +nonstop +nonstrategic +nonstriking +nonstructural +nonsuccessive +nonsupport/GM +nonsurgical +nonsustaining +nonsympathizer/M +nontarnishable +nontaxable +nontechnical +nontenured +nontheatrical +nonthinking +nonthreatening +nontoxic +nontraditional +nontransferable +nontransparent +nontrivial +nontropical +nonuniform +nonunion +nonuser/MS +nonvenomous +nonverbal +nonviable +nonviolence/M +nonviolent/Y +nonvirulent +nonvocal +nonvocational +nonvolatile +nonvoter/MS +nonvoting +nonwhite/MS +nonworking +nonyielding +nonzero +noodle/MGDS +nook/MS +nookie +nooky +noon/M +noonday/M +noontide/M +noontime/M +noose/SM +nope +nor +nor'easter +norm/MS +normal/MY +normalcy/M +normality/M +normalization/M +normalize/DSG +normative +north/ZMR +northbound +northeast/MRZ +northeaster/MY +northeastern +northeastward/S +norther/MY +northerly/SM +northern/ZR +northerner/M +northernmost +northward/S +northwest/ZMR +northwester/MY +northwestern +northwestward/S +nose/MGDS +nosebag/S +nosebleed/MS +nosecone/SM +nosedive/DSMG +nosegay/SM +nosh/MDRSZG +nosher/M +nosily +nosiness/M +nostalgia/M +nostalgic +nostalgically +nostril/MS +nostrum/MS +nosy/RPT +not/B +notability/SM +notable/SM +notably +notarial +notarization/M +notarize/GDS +notary/SM +notate/GDS +notation/FCSM +notch/GMDS +note's +note/FCSDG +notebook/MS +notelet/S +notepad/S +notepaper/M +noteworthiness/M +noteworthy/P +nothing/PSM +nothingness/M +notice/MGDS +noticeable/U +noticeably +noticeboard/S +noticed/U +notifiable +notification/M +notifier/M +notify/NDRSXZG +notion/MS +notional/Y +notoriety/M +notorious/Y +notwithstanding +notwork/S +nougat/MS +noun/KMS +nourish/DSLG +nourishment/M +nous +nova/MS +novae +novel/SM +novelette/SM +novelist/SM +novelization/MS +novelize/DSG +novella/MS +novelty/SM +novena/MS +novene +novice/MS +novitiate/MS +now/M +nowadays/M +noway/S +nowhere/M +nowise +nowt +noxious +nozzle/MS +nu/SM +nuance/MDS +nub/SM +nubbin/MS +nubby/TR +nubile +nuclear/K +nucleate/DSGN +nucleation/M +nuclei +nucleic +nucleoli +nucleolus/M +nucleon/SM +nucleoside +nucleotide +nucleus/M +nude/MTRS +nudge/GDSM +nudism/M +nudist/SM +nudity/M +nugatory +nugget/SM +nuisance/MS +nuke/MGDS +null/S +nullification/M +nullify/NDSG +nullity/M +numb/ZTGPDRYS +number's +number/ASDG +numbered/U +numberless +numbness/M +numerable/I +numeracy/IM +numeral/SM +numerate/XGNDS +numeration/M +numerator/MS +numeric +numerical/Y +numerologist/MS +numerology/M +numerous/Y +numinous +numismatic/S +numismatics/M +numismatist/SM +numskull/MS +nun/SM +nuncio/SM +nunnery/SM +nuptial/MS +nurse/MZGDRS +nurselings +nursemaid/MS +nurser/M +nursery/SM +nurseryman/M +nurserymen +nursing/M +nursling/SM +nurture/DRSMZG +nurturer/M +nut/SM +nutcase/S +nutcracker/MS +nuthatch/MS +nuthouse/S +nutmeat/SM +nutmeg/SM +nutpick/SM +nutria/SM +nutrient/MS +nutriment/MS +nutrition/M +nutritional/Y +nutritionist/SM +nutritious/YP +nutritiousness/M +nutritive +nutshell/MS +nutted +nutter/S +nuttiness/M +nutting +nutty/RTP +nuzzle/DRSMZG +nuzzler/M +nybble/S +nylon/MS +nylons/M +nymph/M +nymphet/MS +nympho/S +nymphomania/M +nymphomaniac/SM +nymphs +o +o'clock +o'er +oaf/SM +oafish/PY +oafishness/M +oak/SMN +oakum/M +oar/SGMD +oarlock/SM +oarsman/M +oarsmen +oarswoman/M +oarswomen +oases +oasis/M +oat/SMN +oatcake/SM +oath/M +oaths +oatmeal/M +oats/M +ob/S +obbligato/MS +obduracy/M +obdurate/PY +obdurateness/M +obedience/EM +obedient/EY +obeisance/SM +obeisant +obelisk/MS +obese +obesity/M +obey/EDSG +obfuscate/GNXDS +obfuscation/M +obi/SM +obit/MS +obituary/SM +obj +object/SGVMD +objectify/NGDS +objection/SMB +objectionable/U +objectionably +objective/SMYP +objectiveness/M +objectivity/M +objector/MS +objurgate/XGNDS +objurgation/M +oblate/NX +oblation/M +obligate/DSXGN +obligation/M +obligatorily +obligatory +oblige/EGDS +obliging/Y +oblique/SMYP +obliqueness/M +obliquity/M +obliterate/DSGN +obliteration/M +oblivion/M +oblivious/YP +obliviousness/M +oblong/MS +obloquy/M +obnoxious/YP +obnoxiousness/M +oboe/MS +oboist/MS +obscene/RYT +obscenity/SM +obscurantism/M +obscurantist/SM +obscure/DRSYTG +obscurity/SM +obsequies +obsequious/PY +obsequiousness/M +obsequy/M +observably +observance/MS +observant/Y +observation/SM +observational +observatory/SM +observe/DRSBZG +observed/U +observer/M +obsess/DSGV +obsession/SM +obsessional/Y +obsessive/PSMY +obsessiveness/M +obsidian/M +obsolesce/DSG +obsolescence/M +obsolescent +obsolete/GDS +obstacle/MS +obstetric/S +obstetrical +obstetrician/SM +obstetrics/M +obstinacy/M +obstinate/Y +obstreperous/YP +obstreperousness/M +obstruct/DGVS +obstructed/U +obstruction/SM +obstructionism/M +obstructionist/MS +obstructive/YP +obstructiveness/M +obtain/DBLGS +obtainable/U +obtainment/M +obtrude/DSG +obtrusion/M +obtrusive/UPY +obtrusiveness/UM +obtuse/YTRP +obtuseness/M +obverse/SM +obviate/DSGN +obviation/M +obvious/PY +obviousness/M +ocarina/MS +occasion/GMDS +occasional/Y +occidental/SM +occlude/GDS +occlusion/SM +occlusive +occult/M +occultism/M +occultist/SM +occupancy/M +occupant/SM +occupation/AM +occupational/Y +occupations +occupied/U +occupier/SM +occupy/ADSG +occur/AS +occurred/A +occurrence/SM +occurring/A +ocean/SM +oceanfront/SM +oceangoing +oceanic/M +oceanographer/SM +oceanographic +oceanography/M +oceanology/M +ocelot/MS +och/R +ocher/M +ocker/S +octagon/MS +octagonal +octal +octane/MS +octave/MS +octavo/MS +octet/SM +octogenarian/SM +octopus/MS +ocular/MS +oculist/SM +oculomotor +odalisque/SM +odd/STRYLP +oddball/SM +oddity/SM +oddment/SM +oddness/M +odds/M +ode/SM +odious/YP +odiousness/M +odium/M +odometer/MS +odor/MDS +odoriferous +odorless +odorous +odyssey/MS +oedipal +oenology/M +oenophile/SM +oeuvre/MS +of +off/SZGDRJ +offal/M +offbeat/MS +offend/ZGDRS +offender/M +offense/MS +offensive's +offensive/IPY +offensiveness/IM +offensives +offer/JGMD +offering/M +offertory/SM +offhand +offhanded/PY +offhandedness/M +office/MZRS +officeholder/SM +officer/M +official/MYS +officialdom/M +officialese +officialism/M +officiant/SM +officiate/DSG +officiator/MS +officious/PY +officiousness/M +offing/M +offish +offline +offload/SDG +offprint/SM +offset/MS +offsetting +offshoot/MS +offshore/G +offside +offsite +offspring/M +offstage/S +offtrack +oft +often/TR +oftentimes +ofttimes +ogle/MZGDRS +ogler/M +ogre/MS +ogreish +ogress/MS +oh/M +ohm/SM +ohmmeter/MS +oho +ohs +oi +oik/S +oil/SGMD +oilcan/S +oilcloth/M +oilcloths +oilfield/S +oiliness/M +oilman +oilmen +oilskin/MS +oilskins/M +oily/RPT +oink/MDSG +ointment/SM +okapi/SM +okay/MSG +okra/MS +old/TMNRP +oldie/SM +oldish +oldness/M +oldster/MS +ole/SMV +oleaginous +oleander/MS +oleo/M +oleomargarine/M +olfactory/SM +oligarch/M +oligarchic +oligarchical +oligarchs +oligarchy/SM +oligonucleotide/S +oligopoly/SM +olive/SM +om/SMNX +ombudsman/M +ombudsmen +omega/SM +omelet/MS +omen/M +omicron/MS +ominous/YP +ominousness/M +omission/MS +omit/S +omitted +omitting +omnibus/MS +omnipotence/M +omnipotent +omnipresence/M +omnipresent +omniscience/M +omniscient +omnivore/MS +omnivorous/PY +omnivorousness/M +on/Y +onboard +once/M +oncogene/SM +oncologist/SM +oncology/M +oncoming +one/SXMNP +oneness/M +onerous/PY +onerousness/M +oneself +onetime +ongoing +onion/M +onionskin/M +online +onlooker/SM +onlooking +onomatopoeia/M +onomatopoeic +onomatopoetic +onrush/MSG +onscreen +onset/MS +onshore +onside +onsite +onslaught/MS +onstage +onto +ontogeny/M +ontological +ontology/M +onus/MS +onward +onyx/MS +oodles/M +ooh/GD +oohs +oomph +oops +ooze/MGDS +oozy/TR +op/SMDG +opacity/M +opal/MS +opalescence/M +opalescent +opaque/PYTGDRS +opaqueness/M +opcode/S +ope/S +open/ZTGJPMDRYS +opencast +opened/U +opener/M +openhanded/P +openhandedness/M +openhearted +opening/M +openness/M +openwork/M +opera/MS +operable/I +operand/S +operate/DSGNVX +operatic +operatically +operation/M +operational/Y +operative/SM +operator/SM +operetta/SM +ophthalmic +ophthalmologist/SM +ophthalmology/M +opiate/SM +opine/GNXDS +opinion/M +opinionated +opioid/SM +opium/M +opossum/MS +opp +opponent/SM +opportune/IY +opportunism/M +opportunist/SM +opportunistic +opportunistically +opportunity/SM +oppose/DSG +opposed/U +opposite/SMYNX +opposition/M +oppress/DSGV +oppression/M +oppressive/YP +oppressiveness/M +oppressor/MS +opprobrious/Y +opprobrium/M +opt/SGD +optic/MS +optical/Y +optician/SM +optics/M +optima +optimal/Y +optimism/SM +optimist/SM +optimistic +optimistically +optimization/MS +optimize/DRSG +optimum/SM +option/SMDG +optional/Y +optometrist/MS +optometry/M +opulence/M +opulent/Y +opus/MS +or +oracle/SM +oracular +oral/MYS +orality +orange/SMP +orangeade/MS +orangery/SM +orangutan/SM +orate/GNXDS +oration/M +orator/SM +oratorical/Y +oratorio/MS +oratory/SM +orb/SM +orbicular +orbit/MDRZGS +orbital/SM +orbiter/M +orc/SM +orchard/SM +orchestra/MS +orchestral +orchestrate/DSXGN +orchestration/M +orchid/SM +ordain/SDLG +ordainment/M +ordeal/SM +order/EAMDGS +ordered/U +orderings +orderliness/EM +orderly/PSM +ordinal/SM +ordinance/SM +ordinarily +ordinariness/M +ordinary/SMP +ordinate/MNSX +ordination/M +ordnance/M +ordure/M +ore/SM +oregano/M +org +organ/MS +organdy/M +organelle/MS +organic/SM +organically/I +organism/MS +organismic +organist/MS +organization/ASM +organizational/Y +organize/AESDG +organized/U +organizer/MS +organza/M +orgasm/SM +orgasmic +orgiastic +orgy/SM +oriel/MS +orient's +orient/AEDGS +oriental/MS +orientalist/S +orientate/EDSGN +orientation/AEM +orientations +orienteering +orifice/MS +orig +origami/M +origin/SM +original/MYS +originality/M +originate/DSGN +origination/M +originator/SM +oriole/SM +orison/SM +ormolu/M +ornament/SGMD +ornamental +ornamentation/M +ornate/YP +ornateness/M +orneriness/M +ornery/PRT +ornithological +ornithologist/MS +ornithology/M +orotund +orotundity/SM +orphan/SMDG +orphanage/MS +orris/MS +orthodontia/M +orthodontic/S +orthodontics/M +orthodontist/SM +orthodox/U +orthodoxy/SM +orthogonal +orthogonality +orthographic +orthographically +orthography/SM +orthopedic/S +orthopedics/M +orthopedist/MS +orzo/M +oscillate/GNDSX +oscillation/M +oscillator/SM +oscillatory +oscilloscope/MS +osculate/DSXGN +osculation/M +osier/MS +osmium/M +osmosis/M +osmotic +osprey/SM +ossicles +ossification/M +ossify/NGDS +ostensible +ostensibly +ostentation/M +ostentatious/Y +osteoarthritis/M +osteopath/M +osteopathic +osteopaths +osteopathy/M +osteoporosis/M +ostler/S +ostracism/M +ostracize/GDS +ostrich/MS +other/MSP +otherwise +otherworldly +otiose +otter/MS +ottoman/MS +oubliette/MS +ouch +ought +oughtn't +ounce/MS +our/S +ourselves +oust/ZGDRS +ouster/M +out/SJGMDR +outage/SM +outargue/GDS +outback/MS +outbalance/DSG +outbid/S +outbidding +outboard/MS +outboast/DSG +outbound +outbox/MS +outbreak/MS +outbuilding/MS +outburst/SM +outcast/MS +outclass/DSG +outcome/MS +outcrop/MS +outcropped +outcropping/SM +outcry/SM +outdated +outdid +outdistance/GDS +outdo/G +outdoes +outdone +outdoor/S +outdoors/M +outdoorsy +outdraw/GS +outdrawn +outdrew +outercourse +outermost +outerwear/M +outface/GDS +outfall/S +outfield/SMRZ +outfielder/M +outfight/SG +outfit/SM +outfitted +outfitter/MS +outfitting +outflank/GSD +outflow/MS +outfought +outfox/GDS +outgo/MJG +outgoes +outgrew +outgrow/HGS +outgrown +outgrowth/M +outgrowths +outguess/GDS +outgun/S +outgunned +outgunning +outhit/S +outhitting +outhouse/SM +outing/M +outlaid +outlandish/PY +outlandishness/M +outlast/DSG +outlaw/SGMD +outlay/SGM +outlet/SM +outlier/S +outline/MGDS +outlive/GDS +outlook/MS +outlying +outmaneuver/GDS +outmatch/GDS +outmoded +outnumber/DSG +outpace/GDS +outpatient/MS +outperform/GSD +outplace/L +outplacement/M +outplay/GDS +outpoint/DGS +outpost/MS +outpouring/MS +outproduce/DSG +output/SM +outputted +outputting +outrace/GDS +outrage/MGDS +outrageous/Y +outran +outrank/GDS +outre +outreach/MDSG +outrider/MS +outrigger/SM +outright +outrun/S +outrunning +outscore/GDS +outsell/GS +outset/SM +outshine/GS +outshone +outshout/GDS +outside/MZRS +outsider/M +outsize/MS +outskirt/MS +outsmart/GDS +outsold +outsource/DSG +outsourcing/M +outspend/SG +outspent +outspoken/YP +outspokenness/M +outspread/GS +outstanding/Y +outstation/MS +outstay/DGS +outstretch/DSG +outstrip/S +outstripped +outstripping +outta +outtake/MS +outvote/GDS +outward/YS +outwear/GS +outweigh/GD +outweighs +outwit/S +outwith +outwitted +outwitting +outwore +outwork/MDRSZG +outworn +ouzo/MS +ova +oval/MS +ovarian +ovary/SM +ovate/NX +ovation/M +oven/MS +ovenbird/SM +ovenproof +ovenware +over/MYS +overabundance/M +overabundant +overachieve/ZGDRS +overachiever/M +overact/GVSD +overage/SM +overaggressive +overall/SM +overalls/M +overambitious +overanxious +overarching +overarm/GSD +overate +overattentive +overawe/DSG +overbalance/MGDS +overbear/GS +overbearing/Y +overbid/SM +overbidding +overbite/MS +overblown +overboard +overbold +overbook/DGS +overbore +overborne +overbought +overbuild/SG +overbuilt +overburden/GSD +overbuy/GS +overcame +overcapacity/M +overcapitalize/DSG +overcareful +overcast/MGS +overcautious +overcharge/DSMG +overclock/GD +overcloud/SGD +overcoat/MS +overcome/GS +overcompensate/DSGN +overcompensation/M +overconfidence/M +overconfident +overconscientious +overcook/DGS +overcritical +overcrowd/SDG +overcrowding/M +overdecorate/DSG +overdependent +overdevelop/SDG +overdid +overdo/G +overdoes +overdone +overdose/MGDS +overdraft/SM +overdraw/GS +overdrawn +overdress/GMDS +overdrew +overdrive/SM +overdub/SM +overdubbed +overdubbing +overdue +overeager +overeat/GSN +overemotional +overemphasis/M +overemphasize/GDS +overenthusiastic +overestimate/MGNDS +overestimation/M +overexcite/DSG +overexercise/GDS +overexert/SDG +overexertion/M +overexpose/GDS +overexposure/M +overextend/DGS +overfed +overfeed/GS +overfill/DGS +overflew +overflight/MS +overflow/MDSG +overflown +overfly/GS +overfond +overfull +overgeneralize/DSG +overgenerous +overgraze/DSG +overgrew +overground +overgrow/HSG +overgrown +overgrowth/M +overhand/MDS +overhang/MSG +overhasty +overhaul/MDSG +overhead/MS +overhear/SG +overheard +overheat/DSG +overhung +overindulge/GDS +overindulgence/M +overindulgent +overinflated +overjoy/GSD +overkill/M +overladen +overlaid +overlain +overland +overlap/SM +overlapped +overlapping +overlarge +overlay/GSM +overleaf +overlie +overload/GMDS +overlong +overlook/GMDS +overlord/MS +overly/SG +overmanned +overmanning +overmaster/SDG +overmodest +overmuch/S +overnice +overnight/MS +overoptimism/M +overoptimistic +overpaid +overparticular +overpass/MS +overpay/GS +overplay/GDS +overpopulate/GNDS +overpopulation/M +overpower/SDG +overpowering/Y +overpraise/DSG +overprecise +overprice/DSG +overprint/SMDG +overproduce/GDS +overproduction/M +overprotect/SDGV +overqualified +overran +overrate/GDS +overreach/GDS +overreact/SDG +overreaction/SM +overrefined +overridden +override/MGS +overripe/M +overrode +overrule/GDS +overrun/SM +overrunning +oversampling +oversaw +oversea/S +oversee/RSZ +overseeing +overseen +overseer/M +oversell/GS +oversensitive/P +oversensitiveness/M +oversexed +overshadow/DSG +overshare/DSG +overshoe/MS +overshoot/GS +overshot +oversight/SM +oversimple +oversimplification/M +oversimplify/DSNGX +oversize +oversleep/GS +overslept +oversold +overspecialization/M +overspecialize/GDS +overspend/SG +overspent +overspread/GS +overstaffed +overstate/DSLG +overstatement/MS +overstay/DSG +overstep/S +overstepped +overstepping +overstimulate/DSG +overstock/GSD +overstretch/GDS +overstrict +overstrung +overstuffed +oversubscribe/DSG +oversubtle +oversupply/GDS +oversuspicious +overt/Y +overtake/GS +overtaken +overtax/GDS +overthink/SG +overthought +overthrew +overthrow/SMG +overthrown +overtime/MS +overtire/GDS +overtone/MS +overtook +overture/MS +overturn/DSG +overuse/DSMG +overvaluation/S +overvalue/DSG +overview/MS +overweening/Y +overweight/M +overwhelm/SGD +overwhelming/Y +overwinter/SDG +overwork/GMDS +overwrite/GS +overwritten +overwrote +overwrought +overzealous +oviduct/SM +oviparous +ovoid/MS +ovular +ovulate/DSGN +ovulation/M +ovule/MS +ovum/M +ow +owe/DSG +owl/SM +owlet/MS +owlish/Y +own/ESGD +owner/MS +ownership/M +ox/MN +oxalate +oxblood/M +oxbow/MS +oxcart/SM +oxford/SM +oxidant/MS +oxidase +oxidation/M +oxidative +oxide/MS +oxidization/M +oxidize/ZGDRS +oxidizer/M +oxtail/S +oxyacetylene/M +oxygen/M +oxygenate/DSGN +oxygenation/M +oxymora +oxymoron/M +oyster/SM +oz +ozone/M +p/NRXTGJ +pH +pa/SMH +pablum/M +pabulum/M +pace/MZGDRS +pacemaker/SM +pacer/M +pacesetter/SM +pacey +pachyderm/MS +pachysandra/MS +pacific +pacifically +pacification/M +pacifier/M +pacifism/M +pacifist/SM +pacifistic +pacify/ZGDRSN +pack's +pack/AUGSD +package's +package/AGDS +packager/SM +packaging/M +packer/MS +packet/MS +packing's +packinghouse/SM +packsaddle/MS +pact/MS +pacy/RT +pad/SM +padded +padding/M +paddle/MZGDRS +paddler/M +paddock/MDGS +paddy/SM +padlock/MDSG +padre/SM +paean/SM +paella/MS +pagan/SM +paganism/M +page/MZGDRS +pageant/MS +pageantry/M +pageboy/SM +pager/M +paginate/DSGN +pagination/M +pagoda/MS +pah +paid/AU +pail/MS +pailful/SM +pain/MDSG +painful/PY +painfuller +painfullest +painfulness/M +painkiller/MS +painkilling +painless/PY +painlessness/M +painstaking/MY +paint/SZGJMDR +paintball +paintbox/MS +paintbrush/MS +painted/U +painter/MY +painting/M +paintwork +pair/AMDSG +paired/U +pairing/S +pairwise +paisley/SM +pajama/S +pajamas/M +pal/SMY +palace/MS +paladin/SM +palanquin/SM +palatable/U +palatal/SM +palatalization/M +palatalize/GDS +palate/MBS +palatial/Y +palatinate/MS +palatine/MS +palaver/GSMD +palazzi +palazzo +pale/MYTGPDRSJ +paleface/MS +paleness/M +paleo +paleographer/MS +paleography/M +paleolithic +paleontologist/SM +paleontology/M +palette/SM +palfrey/SM +palimony/M +palimpsest/MS +palindrome/MS +palindromic +paling/M +palisade/SM +palish +pall/MDSG +palladium/M +pallbearer/MS +pallet/MS +palliate/DSGNV +palliation/M +palliative/SM +pallid/YP +pallidness/M +pallor/M +palm/MDSG +palmate +palmetto/SM +palmist/SM +palmistry/M +palmtop/SM +palmy/TR +palomino/MS +palpable +palpably +palpate/DSGN +palpation/M +palpitate/XGNDS +palpitation/M +palsy/GDSM +paltriness/M +paltry/RPT +pampas/M +pamper/DSG +pamphlet/MS +pamphleteer/MS +pan/SM +panacea/SM +panache/M +panama/MS +panatella/S +pancake/DSMG +panchromatic +pancreas/MS +pancreatic +pancreatitis +panda/SM +pandemic/SM +pandemonium/M +pander/MDRZGS +panderer/M +pane/KM +panegyric/SM +panel/SGJMD +paneling/M +panelist/MS +panes +pang/MS +panhandle/DRSMZG +panhandler/M +panic/SM +panicked +panicking +panicky +panned +pannier/SM +panning +panoply/SM +panorama/SM +panoramic +panpipes/M +pansy/SM +pant/MDSG +pantaloons/M +pantechnicon/S +pantheism/M +pantheist/SM +pantheistic +pantheon/SM +panther/MS +pantie/MS +panto/S +pantomime/MGDS +pantomimic +pantomimist/SM +pantry/SM +pantsuit/SM +pantyhose/M +pantyliner/M +pantywaist/SM +pap/SM +papa/MS +papacy/SM +papal +paparazzi/M +paparazzo +papaya/MS +paper/SZGMDR +paperback/SM +paperbark/S +paperboard/M +paperboy/SM +paperclip/S +paperer/M +papergirl/SM +paperhanger/SM +paperhanging/M +paperless +paperweight/MS +paperwork/M +papery +papilla/M +papillae +papillary +papist/MS +papoose/MS +pappy/SM +paprika/M +papyri +papyrus/M +par/SZGMDRBJ +para/MS +parable/MS +parabola/SM +parabolic +paracetamol/S +parachute/DSMG +parachutist/MS +parade/MZGDRS +parader/M +paradigm/SM +paradigmatic +paradisaical +paradise/SM +paradox/MS +paradoxical/Y +paraffin/M +paragliding +paragon/MS +paragraph/GMD +paragraphs +parakeet/SM +paralegal/MS +parallax/MS +parallel/SGMD +paralleled/U +parallelism/MS +parallelization +parallelized +parallelogram/SM +paralyses +paralysis/M +paralytic/SM +paralyze/DSG +paralyzing/Y +paramagnetic +paramecia +paramecium/M +paramedic/MS +paramedical/MS +parameter/MS +parameterize/D +parametric +paramilitary/SM +paramount +paramountcy +paramour/SM +paranoia/M +paranoiac/MS +paranoid/SM +paranormal +parapet/MS +paraphernalia/M +paraphrase/DSMG +paraplegia/M +paraplegic/SM +paraprofessional/MS +parapsychologist/MS +parapsychology/M +paraquat/M +parasailing +parascending +parasite/SM +parasitic +parasitical/Y +parasitism/M +parasol/MS +parasympathetic/S +parathion/M +parathyroid/MS +paratroop/RZS +paratrooper/M +paratroops/M +paratyphoid/M +parboil/DSG +parcel/GMDS +parch/LGDS +parchment/SM +pardner/S +pardon/ZGMDRBS +pardonable/U +pardonably/U +pardoner/M +pare/S +paregoric/M +parent/GMDS +parentage/M +parental +parentheses +parenthesis/M +parenthesize/DSG +parenthetic +parenthetical/Y +parenthood/M +parenting/M +parer/M +pares/S +paresis/M +parfait/MS +pariah/M +pariahs +paribus +parietal +parimutuel/MS +paring/M +parish/MS +parishioner/MS +parity/ESM +park/MDSG +parka/SM +parking/M +parkland +parkour +parkway/MS +parky +parlance/M +parlay/GMDS +parley/GMDS +parliament/SM +parliamentarian/SM +parliamentary +parlor/MS +parlous +parmigiana +parochial/Y +parochialism/M +parodist/SM +parody/GDSM +parole/MGDS +parolee/MS +parotid +paroxysm/SM +paroxysmal +parquet/MDSG +parquetry/M +parred +parricidal +parricide/MS +parring +parrot/GMDS +parry/GDSM +parse/DRSG +parsec/MS +parsimonious/Y +parsimony/M +parsley/M +parsnip/MS +parson/MS +parsonage/MS +part's +part/CDSG +partake/ZGRS +partaken +partaker/M +parterre/SM +parthenogenesis/M +partial/MYS +partiality/M +participant/SM +participate/DSGN +participation/M +participator/MS +participatory +participial/M +participle/MS +particle/SM +particleboard/M +particular/SMY +particularity/SM +particularization/M +particularize/DSG +particulate/SM +parting/MS +partisan/SM +partisanship/M +partition/GMDS +partitive/MS +partly +partner/MDSG +partnership/MS +partook +partridge/SM +parturition/M +partway +party/GDSM +parvenu/MS +pascal/MS +paschal +pasha/SM +pass/M +passably +passage/MS +passageway/MS +passbook/MS +passe/DRSBXZGNV +passel/MS +passenger/SM +passer/M +passerby/M +passersby +passim +passing/MY +passion/EM +passionate/EY +passionflower/SM +passionless +passive/PMYS +passiveness/M +passivity/M +passivization +passivize/DSG +passkey/MS +passphrase/S +passport/MS +password/MS +past/AMS +pasta/SM +paste/DSMG +pasteboard/M +pastel/MS +pastern/MS +pasteurization/M +pasteurize/ZGDRS +pasteurized/U +pasteurizer/M +pastiche/MS +pastie +pastille/MS +pastime/MS +pastiness/M +pastor/MS +pastoral/MS +pastorate/MS +pastrami/M +pastry/SM +pasturage/M +pasture/DSMG +pastureland/M +pasty/PTRSM +pat/SM +patch/EGMDS +patchily +patchiness/M +patchouli +patchwork/SM +patchy/TPR +pate/MS +patella/MS +patellae +patent/GMDYS +paterfamilias/MS +paternal/Y +paternalism/M +paternalist/S +paternalistic +paternity/M +paternoster/MS +path/M +pathetic +pathetically +pathfinder/SM +pathless +pathogen/SM +pathogenic +pathological/Y +pathologist/SM +pathology/M +pathos/M +paths +pathway/MS +patience/M +patient/IMST +patienter +patiently +patina/MS +patine +patio/SM +patisserie/S +patois/M +patresfamilias +patriarch/M +patriarchal +patriarchate/MS +patriarchs +patriarchy/SM +patrician/SM +patricidal +patricide/SM +patrimonial +patrimony/SM +patriot/SM +patriotic/U +patriotically +patriotism/M +patrol/MS +patrolled +patrolling +patrolman/M +patrolmen +patrolwoman/M +patrolwomen +patron/MS +patronage/MS +patroness/MS +patronize/ZGDRS +patronizer/M +patronizing/Y +patronymic/SM +patronymically +patroon/SM +patsy/SM +patted +patter/MDGS +pattern/SMDG +patting +patty/SM +paucity/M +paunch/MS +paunchy/RT +pauper/MS +pauperism/M +pauperize/DSG +pause/DSMG +pave/AGDS +paved/U +pavement/MS +pavilion/SM +paving/MS +pavlova/S +paw/SGMD +pawl/MS +pawn/MDSG +pawnbroker/MS +pawnbroking/M +pawnshop/MS +pawpaw/MS +pay's +pay/ASGBL +payback/SM +paycheck/MS +payday/MS +payed +payee/SM +payer/SM +payload/SM +paymaster/SM +payment/ASM +payoff/MS +payola/M +payout/MS +payphone/S +payroll/SM +payslip/SM +paywall/SM +payware +pct +pd +pea/SM +peace/SM +peaceable +peaceably +peaceful/PY +peacefulness/M +peacekeeper/SM +peacekeeping/M +peacemaker/MS +peacemaking/M +peacetime/M +peach/MS +peachy/TR +peacock/MS +peafowl/MS +peahen/MS +peak/MDSG +peaky +peal/AMDSG +peanut/MS +pear/MYS +pearl/SGMD +pearly/RT +peasant/SM +peasantry/M +peashooter/SM +peat/M +peaty/TR +pebble/MGDS +pebbly +pecan/SM +peccadillo/M +peccadilloes +peccary/SM +peck/MDRSZG +peckish +pecs +pectic +pectin/M +pectoral/MS +pectoralis +peculate/GNDS +peculation/M +peculator/SM +peculiar/Y +peculiarity/SM +pecuniary +pedagogic +pedagogical/Y +pedagogue/SM +pedagogy/M +pedal/SGMD +pedalo/S +pedant/MS +pedantic +pedantically +pedantry/M +peddle/ZGDRS +peddler/M +pederast/MS +pederasty/M +pedestal/MS +pedestrian/SM +pedestrianization +pedestrianize/GDS +pediatric/S +pediatrician/MS +pediatrics/M +pedicab/SM +pedicure/MGDS +pedicurist/MS +pedigree/MDS +pediment/MS +pedometer/MS +pedophile/S +pedophilia +peduncle/MS +pee/DRSMZ +peeing +peek/MDSG +peekaboo/M +peel/MDRSJZG +peeled/U +peeler/M +peeling/M +peen/MS +peep/MDRSZG +peepbo +peeper/M +peephole/MS +peepshow/MS +peer/MDG +peerage/SM +peeress/MS +peerless +peeve/DSMG +peevish/PY +peevishness/M +peewee/MS +peewit/S +peg/SM +pegboard/MS +pegged +pegging +peignoir/SM +pejoration/M +pejorative/SMY +peke/MS +pekineses +pekingese/SM +pekoe/M +pelagic +pelf/M +pelican/MS +pellagra/M +pellet/GMDS +pellucid +pelmet/S +pelt/MDSG +pelvic +pelvis/MS +pemmican/M +pen/M +penal +penalization/M +penalize/DSG +penalty/SM +penance/MS +pence +penchant/SM +pencil/GMDJS +pend/CDSG +pendant/MS +pendent/MS +pendulous +pendulum/MS +penetrability/M +penetrable +penetrate/DSGNVX +penetrating/Y +penetration/M +penfriend/S +penguin/MS +penicillin/M +penile +peninsula/SM +peninsular +penis/MS +penitence/M +penitent/SMY +penitential +penitentiary/SM +penknife/M +penknives +penlight/SM +penman/M +penmanship/M +penmen +pennant/MS +penned +penniless +penning +pennon/MS +penny/SM +pennyweight/MS +pennyworth +penologist/MS +penology/M +pension/BZGMDRS +pensioner/M +pensive/PY +pensiveness/M +pent +pentacle/MS +pentagon/MS +pentagonal +pentagram/SM +pentameter/SM +pentathlete/MS +pentathlon/MS +penthouse/SM +penuche/M +penultimate/SM +penumbra/MS +penumbrae +penurious/PY +penuriousness/M +penury/M +peon/MS +peonage/M +peony/SM +people/MGDS +pep/SM +pepped +pepper/GMDS +peppercorn/SM +peppermint/SM +pepperoni/MS +peppery +peppiness/M +pepping +peppy/TPR +pepsin/M +peptic/MS +peptide/S +peradventure/M +perambulate/XGNDS +perambulation/M +perambulator/MS +percale/MS +perceive/BGDS +perceived/U +percent/MS +percentage/SM +percentile/SM +perceptible +perceptibly +perception/SM +perceptional +perceptive/PY +perceptiveness/M +perceptual/Y +perch/GMDS +perchance +percipience/M +percipient +percolate/GNDS +percolation/M +percolator/SM +percussion/AM +percussionist/MS +percussive +perdition/M +perdurable +peregrinate/DSXGN +peregrination/M +peregrine/MS +peremptorily +peremptory +perennial/SMY +perestroika/M +perfect/PTGMDRYS +perfecta/MS +perfectibility/M +perfectible +perfection/SM +perfectionism/M +perfectionist/SM +perfectness/M +perfidious/Y +perfidy/SM +perforate/GNXDS +perforation/M +perforce +perform/SDRZG +performance/SM +performative +performed/U +performer/M +perfume/DRSMZG +perfumer/M +perfumery/SM +perfunctorily +perfunctory +perfusion +pergola/SM +perhaps +pericardia +pericardial +pericarditis +pericardium/M +perigee/SM +perihelia +perihelion/M +peril/SGMD +perilous/Y +perimeter/SM +perinatal +perinea +perineum/M +period/MS +periodic +periodical/SMY +periodicity/M +periodontal +periodontics/M +periodontist/SM +peripatetic/MS +peripheral/MYS +periphery/SM +periphrases +periphrasis/M +periphrastic +periscope/SM +perish/BDRSZG +perishable/MS +peristalses +peristalsis/M +peristaltic +peristyle/SM +peritoneal +peritoneum/MS +peritonitis/M +periwig/SM +periwinkle/SM +perjure/DRSZG +perjurer/M +perjury/SM +perk/MDSG +perkily +perkiness/M +perky/TPR +perm/MDSG +permafrost/M +permanence/M +permanency/M +permanent/SMY +permeability/M +permeable +permeate/GNDS +permeation/M +permissible +permissibly +permission/MS +permissive/PY +permissiveness/M +permit/MS +permitted +permitting +permittivity +permutation/SM +permute/DSG +pernicious/YP +perniciousness/M +peroration/MS +peroxide/MGDS +perpendicular/SMY +perpendicularity/M +perpetrate/DSGN +perpetration/M +perpetrator/MS +perpetual/SMY +perpetuate/DSGN +perpetuation/M +perpetuity/M +perplex/GDS +perplexed/Y +perplexing/Y +perplexity/SM +perquisite/SM +persecute/GNXDS +persecution/M +persecutor/SM +perseverance/M +persevere/DSG +persiflage/M +persimmon/SM +persist/SGD +persistence/M +persistent/Y +persnickety +person/UMS +persona/SM +personable +personae +personage/MS +personal/MYS +personality/SM +personalize/CDSG +personalty/M +personification/M +personify/GDSNX +personnel/M +perspective/MS +perspex +perspicacious/Y +perspicacity/M +perspicuity/M +perspicuous +perspiration/M +perspire/GDS +persuade/BZGDRS +persuaded/U +persuader/M +persuasion/SM +persuasive/PY +persuasiveness/M +pert/RYPT +pertain/GSD +pertinacious/Y +pertinacity/M +pertinence/M +pertinent/Y +pertness/M +perturb/DGS +perturbation/SM +perturbed/U +pertussis/M +peruke/MS +perusal/MS +peruse/GDS +perv/S +pervade/DSG +pervasive/PY +pervasiveness/M +perverse/PXYN +perverseness/M +perversion/M +perversity/M +pervert/SGMD +peseta/MS +peskily +peskiness/M +pesky/TPR +peso/MS +pessary/S +pessimal +pessimism/M +pessimist/SM +pessimistic +pessimistically +pest/MRSZ +pester/GD +pesticide/MS +pestiferous +pestilence/SM +pestilent +pestilential +pestle/MGDS +pesto/M +pet/SZMR +petabyte/MS +petajoule/S +petal/SMD +petard/MS +petawatt/S +petcock/SM +peter/GMD +petiole/SM +petite/MS +petition/ZGMDRS +petitionary +petitioner/M +petrel/MS +petrifaction/M +petrify/DSG +petrochemical/SM +petrodollar/MS +petrol/M +petrolatum/M +petroleum/M +petrologist/SM +petrology/M +petted +petticoat/MS +pettifog/S +pettifogged +pettifogger/SM +pettifoggery/M +pettifogging +pettily +pettiness/M +petting/M +pettish/Y +petty/PTR +petulance/M +petulant/Y +petunia/MS +pew/SM +pewee/SM +pewit/SM +pewter/MS +peyote/M +pf +pfennig/MS +pg +phaeton/MS +phage/S +phagocyte/SM +phalanger/SM +phalanges +phalanx/MS +phalli +phallic +phallocentric +phallocentrism +phallus/M +phantasm/MS +phantasmagoria/MS +phantasmagorical +phantasmal +phantom/SM +pharaoh/M +pharaohs +pharisaic +pharisee/SM +pharmaceutic/MS +pharmaceutical/SM +pharmaceutics/M +pharmacist/MS +pharmacologic +pharmacological +pharmacologist/SM +pharmacology/M +pharmacopoeia/MS +pharmacotherapy +pharmacy/SM +pharyngeal +pharynges +pharyngitis/M +pharynx/M +phase/DSMG +phaseout/SM +phat +pheasant/MS +phenacetin/M +phenobarbital/M +phenol/M +phenom/MS +phenomena +phenomenal/Y +phenomenological +phenomenology +phenomenon/MS +phenotype +phenytoin +pheromone/MS +phew +phi/SM +phial/SM +philander/ZGDRS +philanderer/M +philandering/M +philanthropic +philanthropically +philanthropist/MS +philanthropy/SM +philatelic +philatelist/MS +philately/M +philharmonic/SM +philippic/MS +philistine/MS +philistinism/M +philodendron/SM +philological +philologist/MS +philology/M +philosopher/MS +philosophic +philosophical/Y +philosophize/DRSZG +philosophizer/M +philosophy/SM +philter/MS +phish/ZGDR +phisher/M +phlebitis/M +phlegm/M +phlegmatic +phlegmatically +phloem/M +phlox/M +phobia/MS +phobic/MS +phoebe/MS +phoenix/MS +phone/DSMG +phonecard/S +phoneme/MS +phonemic +phonemically +phonetic/S +phonetically +phonetician/SM +phonetics/M +phoneyed +phoneying +phonic/S +phonically +phonics/M +phoniness/M +phonograph/M +phonographic +phonographs +phonological/Y +phonologist/MS +phonology/M +phonon +phony/PTGDRSM +phooey +phosphate/MS +phosphodiesterase +phosphor/MS +phosphorescence/M +phosphorescent/Y +phosphoric +phosphorous +phosphorus/M +phosphorylation +photo/SGMD +photocell/MS +photocopier/M +photocopy/DRSMZG +photoelectric +photoelectrically +photoengrave/DRSJZG +photoengraver/M +photoengraving/M +photofinishing/M +photogenic +photogenically +photograph/MDRZG +photographer/M +photographic +photographically +photographs/A +photography/M +photojournalism/M +photojournalist/SM +photometer/MS +photon/MS +photosensitive +photostat/SM +photostatic +photostatted +photostatting +photosynthesis/M +photosynthesize/GDS +photosynthetic +phototropic +phototropism +phototypesetter +phototypesetting +photovoltaic +phrasal +phrase's +phrase/AGDS +phrasebook/S +phraseology/M +phrasing/MS +phreaking +phrenologist/SM +phrenology/M +phyla +phylactery/SM +phylogeny/M +phylum/M +phys +physic/SM +physical/MYS +physicality +physician/SM +physicist/SM +physicked +physicking +physics/M +physio/S +physiognomy/SM +physiography/M +physiologic +physiological/Y +physiologist/MS +physiology/M +physiotherapist/MS +physiotherapy/M +physique/MS +phytoplankton +pi/SMDRHZG +pianissimo/SM +pianist/MS +piano/SM +pianoforte/SM +pianola/S +piaster/MS +piazza/MS +pibroch/M +pibrochs +pic/SM +pica/M +picador/MS +picante +picaresque +picayune +piccalilli/M +piccolo/MS +pick/MDRSJZG +pickax/GMDS +picker/M +pickerel/MS +picket/ZGMDRS +pickings/M +pickle/MGDS +pickpocket/SM +pickup/MS +picky/PTR +picnic/MS +picnicked +picnicker/SM +picnicking +picot/SM +pictogram/S +pictograph/M +pictographs +pictorial/MYS +picture/MGDS +picturesque/PY +picturesqueness/M +piddle/MGDS +piddly +pidgin/MS +pie/SM +piebald/MS +piece/DSMG +piecemeal +piecework/MRZ +pieceworker/M +piecrust/SM +pieing +pier/M +pierce/JGDS +piercing/MY +piety/M +piezoelectric +piffle/MG +pig/SML +pigeon/MS +pigeonhole/DSMG +pigged +piggery/S +pigging +piggish/PY +piggishness/M +piggy/TRSM +piggyback/MDSG +pigheaded/PY +pigheadedness/M +piglet/MS +pigment/MDS +pigmentation/M +pigpen/MS +pigskin/MS +pigsty/SM +pigswill +pigtail/MS +pike/MZGDRS +piker/M +pikestaff/SM +pilaf/SM +pilaster/MS +pilchard/MS +pile/MGDSJ +pileup/MS +pilfer/ZGDRS +pilferage/M +pilferer/M +pilgrim/MS +pilgrimage/MS +piling/M +pill/MDSG +pillage/MZGDRS +pillager/M +pillar/MDS +pillbox/MS +pillion/MS +pillock/S +pillory/GDSM +pillow/GMDS +pillowcase/MS +pillowslip/MS +pilot/DGSM +pilothouse/SM +pimento/MS +pimiento/MS +pimp/GMDYS +pimpernel/MS +pimple/DSM +pimply/RT +pin/SM +pinafore/MS +pinata/MS +pinball/M +pincer/MS +pinch/GMDS +pincushion/MS +pine's +pine/AGDS +pineapple/MS +pinewood/S +piney +pinfeather/SM +ping/GMD +pinhead/SM +pinhole/SM +pinier +piniest +pinion/SMDG +pink/TGPMDRS +pinkeye/M +pinkie/SM +pinkish +pinkness/M +pinko/MS +pinnacle/SM +pinnate +pinned/U +pinning/U +pinny/S +pinochle/M +pinon/MS +pinpoint/SGMD +pinprick/MS +pinsetter/SM +pinstripe/DSM +pint/MS +pinto/MS +pinup/MS +pinwheel/GSMD +pinyin/M +pinyon/SM +pioneer/SGMD +pious/YP +piousness/M +pip/SZGMDR +pipe/MS +pipeline/SM +piper/M +pipette/SM +pipework +piping/M +pipit/MS +pipped +pippin/SM +pipping +pipsqueak/SM +piquancy/M +piquant/Y +pique/MGDS +piracy/M +piranha/SM +pirate/DSMG +piratical/Y +pirogi/M +piroshki/M +pirouette/DSMG +piscatorial +pismire/SM +piss/ZGMDRS +pissoir/S +pistachio/SM +piste/S +pistil/SM +pistillate +pistol/SM +piston/SM +pit/SM +pita/MS +pitapat/SM +pitch/MDRSZG +pitchblende/M +pitcher/M +pitchfork/MDSG +pitchman/M +pitchmen +piteous/YP +piteousness/M +pitfall/SM +pith/M +pithead/S +pithily +pithiness/M +pithy/RTP +pitiable +pitiably +pitiful/Y +pitiless/PY +pitilessness/M +piton/MS +pitta/S +pittance/MS +pitted +pitting +pituitary/SM +pity/GDSM +pitying/Y +pivot/MDGS +pivotal +pix/M +pixel/MS +pixie/MS +pizza/MS +pizzazz/M +pizzeria/SM +pizzicati +pizzicato/M +pj's +pk +pkg +pkt +pkwy +pl +placard/SMDG +placate/DSGN +placation/M +placatory +place's +place/AESDLG +placebo/SM +placed/U +placeholder/MS +placekick/MDRZGS +placekicker/M +placement/EASM +placenta/SM +placental/S +placer/SM +placid/Y +placidity/M +placings +placket/SM +plagiarism/SM +plagiarist/SM +plagiarize/DRSZG +plagiarizer/M +plagiary/M +plague/DSMG +plaice +plaid/MS +plain/MRYTSP +plainchant +plainclothes +plainclothesman/M +plainclothesmen +plainness/M +plainsman/M +plainsmen +plainsong/M +plainspoken +plaint/SMV +plaintiff/SM +plaintive/Y +plait/MDGS +plan/ZMRS +planar +plane's +plane/CGDS +planeload/MS +planer/M +planet/SM +planetarium/SM +planetary +plangency/M +plangent +plank/MDGS +planking/M +plankton/M +planned/U +planner/SM +planning/S +plant/MDRZGSJ +plantain/SM +plantar +plantation/MS +planter/M +planting/M +plantlike +plaque/SM +plash/MDSG +plasma/M +plasmon +plaster/SZGMDR +plasterboard/M +plasterer/M +plastic/SM +plasticity/M +plasticize/DSG +plastique +plat/XGMDNS +plate/MS +plateau/SMDG +plateful/SM +platelet/SM +platen/M +platform/SGMD +plating/M +platinum/M +platitude/SM +platitudinous +platonic +platoon/SGMD +platted +platter/SM +platting +platy/M +platypus/MS +platys +plaudit/SM +plausibility/M +plausible +plausibly +play/AEGMDS +playable/EU +playact/SGD +playacting/M +playback/MS +playbill/MS +playbook/MS +playboy/SM +player/SM +playfellow/SM +playful/PY +playfulness/M +playgirl/MS +playgoer/MS +playground/SM +playgroup/S +playhouse/MS +playlist/MS +playmate/MS +playoff/SM +playpen/SM +playroom/SM +playschool/S +plaything/SM +playtime/M +playwright/SM +plaza/MS +plea/MS +plead/DRZGSJ +pleader/M +pleading/MY +pleasant/UTYP +pleasanter +pleasantness/UM +pleasantry/SM +please/EDSG +pleasing/YS +pleasurably +pleasure/MGDSB +pleasureful +pleat/MDGS +pleb/S +plebby +plebe/MS +plebeian/MS +plebiscite/MS +plectra +plectrum/MS +pledge/DSMG +plenary/SM +plenipotentiary/SM +plenitude/SM +plenteous +plentiful/Y +plenty/M +plenum/S +pleonasm/MS +plethora/M +pleura/M +pleurae +pleurisy/M +plexus/MS +pliability/M +pliable +pliancy/M +pliant/Y +pliers/M +plight/SMDG +plimsoll/S +plinth/M +plinths +plod/S +plodded +plodder/MS +plodding/S +plonk/DRSZG +plop/MS +plopped +plopping +plosive/S +plot/MS +plotted +plotter/SM +plotting +plover/SM +plow/GMDS +plowman/M +plowmen +plowshare/MS +ploy's +ploy/S +pluck/MDSG +pluckily +pluckiness/M +plucky/RPT +plug's +plug/US +plugged/U +plugging/U +plughole/S +plugin/SM +plum/GMDS +plumage/M +plumb/MDRSZGJ +plumbed/U +plumber/M +plumbing/M +plume/MS +plummet/SGMD +plummy +plump/MDRYSTGP +plumpness/M +plumy/RT +plunder/SZGMDR +plunderer/M +plunge/DRSMZG +plunger/M +plunk/MDSG +pluperfect/SM +plural/SM +pluralism/M +pluralist/MS +pluralistic +plurality/SM +pluralization/M +pluralize/GDS +plus/MS +plush/MRYTP +plushness/M +plushy/RT +plutocracy/SM +plutocrat/SM +plutocratic +plutonium/M +pluvial +ply/AGDSM +plywood/M +pm +pneumatic +pneumatically +pneumococcal +pneumococci +pneumococcus +pneumonia/M +poach/DRSZG +poacher/M +poaching/M +pock/GMDS +pocket/SMDG +pocketbook/SM +pocketful/SM +pocketknife/M +pocketknives +pockmark/MDGS +pod/SM +podcast/SMG +podded +podding +podiatrist/SM +podiatry/M +podium/SM +poem/MS +poesy/M +poet/MS +poetaster/MS +poetess/MS +poetic/S +poetical/Y +poetry/M +pogrom/SM +poi/M +poignancy/M +poignant/Y +poinciana/SM +poinsettia/SM +point/MDRSZG +pointblank +pointed/Y +pointer/M +pointillism/M +pointillist/SM +pointless/PY +pointlessness/M +pointy/TR +poise/MGDS +poison/SJZGMDR +poisoner/M +poisoning/M +poisonous/Y +poke/MZGDRS +poker/M +pokey/MS +poky/TR +pol/SGMD +polar +polarity/SM +polarization/CM +polarize/CDSG +pole/MS +poleaxe/GDS +polecat/MS +polemic/MS +polemical/Y +polemicist/SM +polemics/M +polestar/SM +police/DSMG +policeman/M +policemen +policewoman/M +policewomen +policy/SM +policyholder/MS +policymaker/S +polio/MS +poliomyelitis/M +polish/ZGMDRS +polished/U +polisher/M +politburo/MS +polite/RYTP +politeness/M +politesse/M +politic/S +political/Y +politician/SM +politicization/M +politicize/CDSG +politicking/M +politico/SM +politics/M +polity/SM +polka/MDSG +poll/GMDNS +pollack/MS +pollard/S +pollen/M +pollinate/GNDS +pollination/M +pollinator/SM +polling/M +polliwog/SM +pollster/SM +pollutant/MS +pollute/ZGNDRS +polluted/U +polluter/M +pollution/M +polo/M +polonaise/SM +polonium/M +poltergeist/MS +poltroon/SM +poly +polyacrylamide +polyamory/S +polyandrous +polyandry/M +polyclinic/SM +polyester/MS +polyethylene/M +polygamist/MS +polygamous +polygamy/M +polyglot/SM +polygon/SM +polygonal +polygraph/GMD +polygraphs +polyhedral +polyhedron/SM +polymath/M +polymaths +polymer/SM +polymeric +polymerization/M +polymerize/GDS +polymorphic +polymorphous +polynomial/MS +polyp/MS +polyphonic +polyphony/M +polypropylene/M +polys +polysemous +polystyrene/M +polysyllabic +polysyllable/MS +polytechnic/MS +polytheism/M +polytheist/SM +polytheistic +polythene +polyunsaturate/DS +polyurethane/MS +polyvinyl +pom/S +pomade/DSMG +pomander/SM +pomegranate/MS +pommel/SGMD +pommy/S +pomp/M +pompadour/SMD +pompano/MS +pompom/SM +pomposity/M +pompous/YP +pompousness/M +ponce/GDS +poncho/SM +poncy +pond/MS +ponder/SZGDR +ponderer/M +ponderous/YP +ponderousness/M +pone/MS +pong/GDS +pongee/M +poniard/MS +pontiff/SM +pontifical/Y +pontificate/DSMG +pontoon/SM +pony/GDSM +ponytail/MS +poo/SGD +pooch/MDSG +poodle/SM +poof/MS +poofter/S +pooh/GMD +poohs +pool/GMDS +poolroom/MS +poolside/S +poop/GMDS +poor/TRYP +poorboy/M +poorhouse/SM +poorness/M +pop/SM +popcorn/M +pope/MS +popgun/SM +popinjay/MS +poplar/SM +poplin/M +popover/SM +poppa/MS +poppadom/S +popped +popper/SM +poppet/S +popping +poppy/SM +poppycock/M +populace/MS +popular/Y +popularity/UM +popularization/M +popularize/DSG +populate/ACGDS +populated/U +population/CM +populations +populism/M +populist/MS +populous/P +populousness/M +popup/MS +porcelain/SM +porch/MS +porcine +porcupine/SM +pore/MGDS +porgy/SM +pork/ZMR +porker/M +porky/RSMT +porn/M +porno/M +pornographer/MS +pornographic +pornographically +pornography/M +porosity/M +porous/P +porousness/M +porphyritic +porphyry/M +porpoise/MGDS +porridge/M +porringer/SM +port's/A +port/CAEGDS +portability/M +portable/MS +portage/DSMG +portal/SM +portcullis/MS +portend/SGD +portent/SM +portentous/YP +porter/ASM +porterhouse/SM +portfolio/MS +porthole/MS +portico/M +porticoes +portiere/MS +portion/KSGMD +portliness/M +portly/RPT +portmanteau/MS +portrait/MS +portraitist/SM +portraiture/M +portray/SGD +portrayal/MS +portulaca/M +pose's/A +pose/CAKEGDS +poser/EKSM +poseur/SM +posh/TR +posit/DSGV +position/CKEMS +positional/KE +positioned/K +positioning/AK +positive/MYPS +positiveness/M +positivism +positivist/S +positron/MS +poss +posse/MS +possess/AEVGSD +possession/ASM +possessive/SMYP +possessiveness/M +possessor/SM +possibility/SM +possible/SM +possibly +possum/SM +post/ZGMDRSJ +postage/M +postal +postbag/S +postbox/S +postcard/SM +postcode/S +postcolonial +postconsonantal +postdate/DSG +postdoc/MS +postdoctoral +poster/M +posterior/SM +posterity/M +postgraduate/SM +posthaste +posthumous/Y +posthypnotic +postie/S +postilion/SM +postindustrial +posting/M +postlude/SM +postman/M +postmark/SMDG +postmaster/MS +postmen +postmenopausal +postmeridian +postmistress/MS +postmodern +postmodernism/M +postmodernist/MS +postmortem/SM +postnasal +postnatal +postoperative +postpaid +postpartum +postpone/DSGL +postponement/SM +postprandial +postscript/SM +postseason/SM +postsynaptic +postulate/XDSMGN +postulation/M +postural +posture/MGJDS +posturing/M +postwar +postwoman +postwomen +posy/SM +pot/CSM +potability/M +potable/SM +potash/M +potassium/M +potato/M +potatoes +potbelly/DSM +potboiler/SM +potency/M +potent/Y +potentate/MS +potential/MYS +potentiality/SM +potentiate/GDS +potful/SM +pothead/SM +pother/SMDG +potherb/SM +potholder/MS +pothole/DRSMZG +pothook/SM +potion/SM +potluck/MS +potpie/SM +potpourri/SM +potsherd/SM +potshot/MS +pottage/M +potted +potter/GSMD +pottery/SM +potting +potty/PRSMT +pouch/MDSG +pouf/S +pouffe/S +poulterer/MS +poultice/DSMG +poultry/M +pounce/DSMG +pound's +pound/KDSG +poundage/M +pounding/SM +pour/GDSJ +pout/ZGMDRS +pouter/M +poverty/M +pow +powder/GSMD +powdery +power/MDSG +powerboat/MS +powerful/Y +powerhouse/SM +powerless/PY +powerlessness/M +powwow/SGMD +pox/MS +pp +ppm +ppr +pr +practicability/M +practicably +practical/SMY +practicality/SM +practice/DSMGB +practiced/U +practicum/SM +practitioner/SM +praetor/SM +praetorian +pragmatic/MS +pragmatical/Y +pragmatism/M +pragmatist/MS +prairie/SM +praise/EDSMG +praiseworthiness/M +praiseworthy/P +praline/SM +pram/MS +prance/DRSMZG +prancer/M +prancing/Y +prang/DSG +prank/MS +prankster/SM +praseodymium/M +prat/S +prate/MZGDRS +prater/M +pratfall/SM +prattle/DRSMZG +prattler/M +prawn/MDSG +pray/ZGDRS +prayer/M +prayerful/Y +preach/DRSZGL +preacher/M +preachment/M +preachy/RT +preadolescence/SM +preadolescent +preamble/MGDS +prearrange/LGDS +prearrangement/M +preassigned +precancel/SMDG +precancerous +precarious/PY +precariousness/M +precast +precaution/MS +precautionary +precede/DSG +precedence/M +precedent/SM +precept/SM +preceptor/SM +precinct/MS +preciosity/M +precious/YP +preciousness/M +precipice/SM +precipitant/MS +precipitate/XMYGNDS +precipitation/M +precipitous/Y +precis/M +precise/DRSYTGNP +preciseness/M +precision/M +preclude/GDS +preclusion/M +precocious/YP +precociousness/M +precocity/M +precognition/M +precognitive +precolonial +preconceive/GDS +preconception/SM +precondition/MDGS +precook/GSD +precursor/SM +precursory +predate/DSG +predator/MS +predatory +predawn +predecease/GDS +predecessor/SM +predefined +predesignate/GDS +predestination/M +predestine/DSG +predetermination/M +predetermine/ZGDRS +predeterminer/M +predicable +predicament/MS +predicate/MGNVDS +predication/M +predicative/Y +predict/BGVSD +predictability/UM +predictable/U +predictably/U +prediction/SM +predictor/MS +predigest/GDS +predilection/SM +predispose/GDS +predisposition/MS +prednisone +predominance/M +predominant/Y +predominate/YGDS +preemie/SM +preeminence/M +preeminent/Y +preempt/GVSD +preemption/M +preemptive/Y +preen/DSG +preexist/DGS +preexistence/M +pref +prefab/SM +prefabbed +prefabbing +prefabricate/DSGN +prefabrication/M +preface/DSMG +prefatory +prefect/SM +prefecture/MS +prefer/SBL +preferably +preference/MS +preferential/Y +preferment/M +preferred +preferring +prefigure/GDS +prefix/MDSG +preform/GSD +prefrontal +pregame/SM +pregnancy/SM +pregnant +preheat/GSD +prehensile +prehistorian/S +prehistoric +prehistorical/Y +prehistory/M +prehuman +preinstalled +prejudge/GDS +prejudgment/SM +prejudice/MGDS +prejudiced/U +prejudicial +prekindergarten/SM +prelacy/M +prelate/SM +prelim/SM +preliminary/SM +preliterate +prelude/MS +premarital +premature/Y +premed/SM +premedical +premeditate/DSGN +premeditated/U +premeditation/M +premenstrual +premier/SGMD +premiere/MS +premiership/MS +premise/DSMG +premium/SM +premix/GDS +premolar/SM +premonition/MS +premonitory +prenatal/Y +prenup/SM +prenuptial +preoccupation/SM +preoccupy/DSG +preoperative +preordain/GDS +preowned +prep/MS +prepackage/DSG +prepacked +prepaid +preparation/SM +preparatory +prepare/GDS +prepared/UP +preparedness/UM +prepay/GSL +prepayment/MS +prepend +preponderance/SM +preponderant/Y +preponderate/GDS +preposition/SM +prepositional/Y +prepossess/GDS +prepossessing/U +prepossession/SM +preposterous/Y +prepped +prepping +preppy/TRSM +prepubescence/M +prepubescent/SM +prepuce/MS +prequel/MS +prerecord/GSD +preregister/SGD +preregistration/M +prerequisite/MS +prerogative/SM +pres +presage/MGDS +presbyopia/M +presbyter/SM +presbytery/SM +preschool/SZMR +preschooler/M +prescience/M +prescient/Y +prescribe/DSG +prescript/SVM +prescription/SM +prescriptive/Y +preseason/SM +presence/SM +present/LMDRYZGSB +presentably +presentation/ASM +presenter/M +presentiment/SM +presentment/SM +preservation/M +preservationist/SM +preservative/SM +preserve/BDRSMZG +preserver/M +preset/S +presetting +preshrank +preshrink/GS +preshrunk +preside/GDS +presidency/SM +president/MS +presidential +presidium/M +presort/DGS +press's +press/ACGSD +pressed/U +presser/MS +pressie/S +pressing/SMY +pressman/M +pressmen +pressure/DSMG +pressurization/M +pressurize/CGDS +pressurizer/SM +prestidigitation/M +prestige/M +prestigious +presto/SM +presumably +presume/GDSB +presumption/SM +presumptive +presumptuous/YP +presumptuousness/M +presuppose/DSG +presupposition/MS +pretax +preteen/MS +pretend/DRZGS +pretender/M +pretense/SXMN +pretension/M +pretentious/UY +pretentiousness/M +preterit/SM +preterm +preternatural/Y +pretest/DGS +pretext/MS +pretrial/S +prettify/GDS +prettily +prettiness/M +pretty/TGDRSMP +pretzel/MS +prevail/DGS +prevalence/M +prevalent +prevaricate/DSGNX +prevarication/M +prevaricator/SM +prevent/DBSGV +preventable/U +preventative/MS +prevention/M +preventive/SM +preview/MDRSZG +previous/Y +prevision/MS +prewar +prey/GMDS +prezzie/S +priapic +price's +price/AGDS +priceless +pricey +pricier +priciest +prick/MDRYSZG +pricker/M +prickle/MGDS +prickliness/M +prickly/PRT +pride/MGDS +prideful/Y +prier/M +priest/SMY +priestess/MS +priesthood/SM +priestliness/M +priestly/RTP +prig/MS +priggish/P +priggishness/M +prim/ZGDRYP +primacy/M +primal +primarily +primary/SM +primate/MS +prime/MS +primer/M +primeval +priming/M +primitive/SPMY +primitiveness/M +primmer +primmest +primness/M +primogenitor/SM +primogeniture/M +primordial/Y +primp/DSG +primrose/SM +primula/S +prince/SMY +princedom/SM +princeliness/M +princely/PRT +princess/MS +principal/SMY +principality/SM +principle/DSM +principled/U +print/AMDSG +printable/U +printer/MS +printing/SM +printmaking +printout/SM +prion/S +prior/MS +prioress/MS +prioritization +prioritize/DSG +priority/SM +priory/SM +prism/MS +prismatic +prison/SZMR +prisoner/M +prissily +prissiness/M +prissy/PTR +pristine +prithee +privacy/M +private/XMYTNRS +privateer/SM +privation/CSM +privatization/SM +privatize/DSG +privet/SM +privilege/DSMG +privileged/U +privily +privy/RSMT +prize/MGDS +prized/A +prizefight/ZGSMR +prizefighter/M +prizefighting/M +prizewinner/MS +prizewinning +pro/SM +probabilistic +probability/SM +probable/SM +probably +probate/MN +probation/ZMR +probational +probationary +probationer/M +probe/MGDSBJ +probity/M +problem/MS +problematic/U +problematical/Y +probosces +proboscis/MS +procaine/M +procedural +procedure/SM +proceed/GJDS +proceeding/M +proceeds/M +process's +process/AGDS +processable +processed/U +procession/GD +processional/MS +processor/SM +proclamation/MS +proclivity/SM +procrastinate/DSGN +procrastination/M +procrastinator/MS +procreate/V +proctor/GMDS +procurement/M +prod/MS +prodigal/MYS +prodigality/M +prodigious/Y +prodigy/SM +produce's +produce/AZGDRS +producer/AM +producible/A +production/ASM +productive/UY +productiveness/M +productivity/M +prof/MS +profanation/MS +profane/PYGDS +profaneness/M +profanity/SM +professed/Y +profession/SM +professional/MYS +professionalism/M +professionalization +professionalize/DSG +professor/SM +professorial/Y +professorship/SM +proffer/GMDS +proficiency/M +proficient/MYS +profit/BGD +profitability/M +profitable/U +profitably/U +profiteer/MDGS +profiteering/M +profiterole/SM +profitless +profligacy/M +profligate/SMY +proforma +profound/RYTP +profoundness/M +profundity/SM +profuse/PY +profuseness/M +progenitor/SM +progeny/M +progesterone/M +progestin/S +prognathous +prognoses +prognosis/M +prognostic/MS +prognosticate/XGNDS +prognostication/M +prognosticator/MS +program/CAS +programmable/MS +programmatic +programmed/AC +programmer/MS +programming/SM +progress/MDSGV +progression/MS +progressive/PMYS +progressiveness/M +prohibit/DGVS +prohibition/SM +prohibitionist/MS +prohibitive/Y +prohibitory +project/GMDS +projectile/SM +projection/SM +projectionist/SM +projector/MS +prokaryote/MS +prokaryotic +prole/S +proletarian/MS +proletariat/M +proliferate/DSGN +proliferation/M +prolific +prolifically +prolix/Y +prolixity/M +prologue/SM +prolongation/SM +prom/M +promenade/MGDS +promethium/M +prominence/M +prominent/Y +promiscuity/M +promiscuous/Y +promise/DSMG +promising/Y +promissory +promo/M +promontory/SM +promote/DRZG +promoter/M +promotional +prompt/JPSMDRYZTG +prompted/U +prompter/M +prompting/M +promptitude/M +promptness/M +promulgate/GNDS +promulgation/M +promulgator/MS +prone/P +proneness/M +prong/MDS +pronghorn/MS +pronominal/M +pronounce/DSLG +pronounceable/U +pronouncement/SM +pronto +pronunciation/MS +proof/ADGSM +proofread/SRZG +proofreader/M +prop/MS +propaganda/M +propagandist/MS +propagandize/GDS +propagate/DSGN +propagation/M +propagator/SM +propel/S +propellant/MS +propelled +propeller/SM +propelling +propensity/SM +proper/MRYT +property/DSM +prophecy/SM +prophesier/M +prophesy/DRSMZG +prophet/SM +prophetess/MS +prophetic +prophetical/Y +prophylactic/SM +prophylaxes +prophylaxis/M +propinquity/M +propitiate/DSGN +propitiation/M +propitiatory +propitious/Y +proponent/SM +proportion/ESM +proportional/YS +proportionality +proportionate/EY +proposal/MS +propped +propping +propranolol +proprietary/SM +proprieties/M +proprietor/SM +proprietorial/Y +proprietorship/M +proprietress/MS +propriety/SM +propulsion/M +propulsive +prorate/DSG +prorogation/M +prorogue/GD +prosaic +prosaically +proscenium/SM +prosciutto/M +proscribe/DG +proscription/MS +prose/M +prosecute/DSXGN +prosecution/M +prosecutor/MS +proselyte/DSMG +proselytism/M +proselytize/DRSZG +proselytizer/M +prosocial +prosody/SM +prospect/MDGVS +prospective/Y +prospector/SM +prospectus/MS +prosper/GSD +prosperity/M +prosperous/Y +prostate/MS +prostheses +prosthesis/M +prosthetic +prostitute/MGNDS +prostitution/M +prostrate/GNXDS +prostration/M +prosy/RT +protactinium/M +protagonist/SM +protean +protect/GVSD +protected/U +protection/SM +protectionism/M +protectionist/MS +protective/PY +protectiveness/M +protector/MS +protectorate/MS +protege/SM +protegee/S +protein/SM +protestant/S +protestation/MS +protocol/MS +proton/SM +protoplasm/M +protoplasmic +prototype/MGS +prototypical +protozoa +protozoan/MS +protozoic +protract/GD +protrude/GDS +protrusile +protrusion/MS +protuberance/MS +protuberant +proud/RYT +prov/NB +provability/M +provably +prove/EAGDS +proved/U +proven/U +provenance/SM +provender/M +provenience/M +proverbial/Y +provide/DRSZG +provided/U +providence/M +provident/Y +providential/Y +provider/M +province/MS +provincial/SMY +provincialism/M +provisional/Y +proviso/SM +provocateur/S +provocative/PY +provocativeness/M +provoke/DRSZG +provoked/U +provoker/M +provoking/Y +provolone/M +provost/SM +prow/MS +prowess/M +prowl/MDRSZG +prowler/M +proximal +proximate +proximity/M +proxy/SM +prude/MS +prudence/M +prudent/Y +prudential/Y +prudery/M +prudish/YP +prudishness/M +prune/MZGDRS +pruner/M +prurience/M +prurient/Y +pry/ZTGDRSM +psalm/MS +psalmist/SM +psaltery/SM +psephologist/S +psephology +pseud/S +pseudo/S +pseudonym/SM +pseudonymous +pseudoscience/MS +pseudy +pshaw/MS +psi/SM +psittacosis/M +psoriasis/M +psst +psych/MDSG +psyche/M +psychedelia +psychedelic/SM +psychedelically +psychiatric +psychiatrist/SM +psychiatry/M +psychic/MS +psychical/Y +psycho/SM +psychoactive +psychoanalyses +psychoanalysis/M +psychoanalyst/SM +psychoanalytic +psychoanalytical/Y +psychoanalyze/DSG +psychobabble/M +psychodrama/MS +psychogenic +psychokinesis +psychokinetic +psychological/Y +psychologist/MS +psychology/SM +psychometric +psychoneuroses +psychoneurosis/M +psychopath/M +psychopathic +psychopathology +psychopaths +psychopathy/M +psychopharmacology +psychophysiology +psychos/S +psychosis/M +psychosomatic +psychotherapist/MS +psychotherapy/SM +psychotic/SM +psychotically +psychotropic/MS +psychs +pt/C +ptarmigan/MS +pterodactyl/MS +ptomaine/SM +pub/SM +pubertal +puberty/M +pubes/M +pubescence/M +pubescent +pubic +pubis/M +public/AM +publican/AMS +publication/ASM +publicist/MS +publicity/M +publicize/GDS +publicly +publish/AGDS +publishable +published/U +publisher/MS +publishing/M +puce/M +puck/ZMRS +pucker/MDG +puckish/YP +puckishness/M +pud/S +pudding/SM +puddle/DSMG +puddling/M +pudenda +pudendum/M +pudginess/M +pudgy/PRT +pueblo/SM +puerile +puerility/M +puerperal +puff/ZGMDRS +puffball/SM +puffer/M +puffin/SM +puffiness/M +puffy/PRT +pug/SM +pugilism/M +pugilist/SM +pugilistic +pugnacious/YP +pugnaciousness/M +pugnacity/M +puke/MGDS +pukka +pulchritude/M +pulchritudinous +pule/GDS +pull/ZGMDRS +pullback/MS +puller/M +pullet/SM +pulley/SM +pullout/MS +pullover/SM +pulmonary +pulp/GMDS +pulpiness/M +pulpit/SM +pulpwood/M +pulpy/RPT +pulsar/SM +pulsate/XGNDS +pulsation/M +pulse/AMGDS +pulverization/M +pulverize/DSG +puma/MS +pumice/SM +pummel/SGD +pump/ZGMDRS +pumper/M +pumpernickel/M +pumpkin/MS +pun/SM +punch/MDRSZG +punchbag/S +puncheon/MS +puncher/M +punchline/S +punchy/TR +punctilio/M +punctilious/PY +punctiliousness/M +punctual/Y +punctuality/M +punctuate/GNDS +punctuation/M +puncture/DSMG +pundit/SM +punditry/M +pungency/M +pungent/Y +puniness/M +punish/BLGDS +punished/U +punishing/Y +punishment/MS +punitive/Y +punk/TMRS +punned +punnet/S +punning +punster/SM +punt/ZGMDRS +punter/M +puny/TRP +pup/SM +pupa/M +pupae +pupal +pupate/DSG +pupil/MS +pupped +puppet/MS +puppeteer/SM +puppetry/M +pupping +puppy/SM +purblind +purchase/DRSMZGB +purchaser/M +purdah/M +pure/PYTR +purebred/SM +puree/MDS +pureeing +pureness/M +purgative/SM +purgatorial +purgatory/SM +purge/MZGDRS +purger/M +purification/M +purifier/M +purify/NDRSZG +purine/MS +purism/M +purist/MS +puristic +puritan/SM +puritanical/Y +puritanism/M +purity/M +purl/GMDS +purlieu/SM +purloin/SGD +purple/MTRS +purplish +purport/SMDG +purported/Y +purpose/DSMYG +purposed/A +purposeful/YP +purposefulness/M +purposeless/PY +purr/GMDS +purse/MZGDRS +purser/M +pursuance/M +pursuant +pursue/ZGDRS +pursuer/M +pursuit/SM +purulence/M +purulent +purvey/DSG +purveyance/M +purveyor/SM +purview/M +pus/M +push/ZGMDRS +pushbike/S +pushcart/SM +pushchair/S +pusher/M +pushily +pushiness/M +pushover/MS +pushpin/S +pushy/TRP +pusillanimity/M +pusillanimous/Y +puss/MS +pussy/TRSM +pussycat/MS +pussyfoot/DSG +pustular +pustule/SM +put/ISM +putative +putout/MS +putrefaction/M +putrefactive +putrefy/GDS +putrescence/M +putrescent +putrid +putsch/MS +putt/ZGMDRS +putted/I +puttee/MS +putter/MDRZG +putterer/M +putting/I +putty/GDSM +putz/S +puzzle/MZGDRSL +puzzlement/M +puzzler/M +pvt +pwn/SGD +pyelonephritis +pygmy/SM +pylon/SM +pylori +pyloric +pylorus/M +pyorrhea/M +pyramid/GSMD +pyramidal +pyre/MS +pyrimidine/MS +pyrite/SM +pyrites/M +pyromania/M +pyromaniac/SM +pyrotechnic/S +pyrotechnical +pyrotechnics/M +pyruvate +python/SM +pyx/MS +pzazz +q +qr +qt/S +qty +qua +quack/GMDS +quackery/M +quad/MS +quadrangle/SM +quadrangular +quadrant/MS +quadraphonic +quadratic/MS +quadrature +quadrennial +quadrennium/MS +quadriceps/MS +quadrilateral/SM +quadrille/XMNS +quadrillion/M +quadriplegia/M +quadriplegic/SM +quadrivium/M +quadruped/MS +quadrupedal +quadruple/MGDS +quadruplet/MS +quadruplicate/MGNDS +quadruplication/M +quaff/GMDS +quagmire/SM +quahog/MS +quail/GMDS +quaint/PRYT +quaintness/M +quake/MGDS +quaky +qualification/EM +qualified/U +qualifier/SM +qualify/EGXNDS +qualitative/Y +quality/SM +qualm/MS +qualmish +quandary/SM +quango/S +quanta +quantifiable +quantification/M +quantifier/M +quantify/NDRSZG +quantitation +quantitative/Y +quantity/SM +quantization +quantize +quantum/M +quarantine/MGDS +quark/MS +quarrel/SZGMDR +quarreler/M +quarrelsome/P +quarrelsomeness/M +quarry/DSMG +quart/MS +quarter/SGMDY +quarterback/GMDS +quarterdeck/MS +quarterfinal/SM +quarterly/SM +quartermaster/MS +quarterstaff/M +quarterstaves +quartet/SM +quarto/MS +quartz/M +quasar/MS +quash/GDS +quasi +quatrain/MS +quaver/MDSG +quavery +quay/MS +quayside/S +queasily +queasiness/M +queasy/TPR +queen/GMDYS +queenly/RT +queer/PTGMDRYS +queerness/M +quell/GDS +quench/ZGDRSB +quenchable/U +quencher/M +quenchless +querulous/YP +querulousness/M +query/DSMG +ques +quesadilla/MS +quest/IFAMS +quested +questing +question/SMDRZGBJ +questionable/U +questionably/U +questioned/U +questioner/M +questioning/MY +questionnaire/SM +queue's +queue/CDS +queuing +quibble/DRSMZG +quibbler/M +quiche/SM +quick/MNRYXTP +quicken/DG +quickfire +quickie/SM +quicklime/M +quickness/M +quicksand/MS +quicksilver/M +quickstep/MS +quid/MS +quiescence/M +quiescent/Y +quiet/SMDNRYXTGP +quieten/DG +quietism +quietness/M +quietude/IEM +quietus/MS +quiff/S +quill/SM +quilt/SMDRZG +quilter/M +quilting/M +quin/S +quince/SM +quine/S +quinidine +quinine/M +quinoa +quinsy/M +quint/SM +quintessence/SM +quintessential/Y +quintet/SM +quintuple/MGDS +quintuplet/MS +quip/MS +quipped +quipping +quipster/SM +quire's +quire/IAS +quirk/SMDG +quirkiness/M +quirky/RTP +quirt/SM +quisling/SM +quit/S +quitclaim/MS +quite +quittance/M +quitter/SM +quitting +quiver/SMDG +quivery +quixotic +quixotically +quiz/M +quizzed +quizzer/SM +quizzes +quizzical/Y +quizzing +quo/H +quoin/SM +quoit/SMDG +quondam +quorate/I +quorum/SM +quot/B +quota/SM +quotability/M +quotation/SM +quote's +quote/UDSG +quotidian +quotient/SM +qwerty +r/S +rabbet/GMDS +rabbi/SM +rabbinate/M +rabbinic +rabbinical +rabbit/GMDS +rabble/MS +rabid/PY +rabidness/M +rabies/M +raccoon/MS +race/MZGDRS +racecourse/SM +racegoer/S +racehorse/MS +raceme/MS +racer/M +racetrack/MS +raceway/MS +racial/Y +racialism/M +racialist/MS +racily +raciness/M +racing/M +racism/M +racist/SM +rack/GMDS +racket/SMDG +racketeer/SMDG +racketeering/M +raconteur/SM +racquetball/SM +racy/PRT +rad/SM +radar/SM +radarscope/SM +raddled +radial/SMY +radian/S +radiance/M +radiant/Y +radiate/DSGNX +radiation/M +radiator/SM +radical/SMY +radicalism/M +radicalization/M +radicalize/DSG +radicchio/M +radii +radio/MDGS +radioactive/Y +radioactivity/M +radiocarbon/M +radiogram/MS +radiographer/SM +radiography/M +radioisotope/MS +radiologist/SM +radiology/M +radioman/M +radiomen +radiometer/MS +radiometric +radiometry/M +radiophone/SM +radioscopy/M +radiosonde/SM +radiosurgery +radiotelegraph/M +radiotelegraphs +radiotelegraphy/M +radiotelephone/MS +radiotherapist/MS +radiotherapy/M +radish/MS +radium/M +radius/M +radon/M +raffia/M +raffish/YP +raffishness/M +raffle/DSMG +raft/ZGMDRS +rafter/M +rafting/M +rag/SGMD +raga/MS +ragamuffin/MS +ragbag/M +rage/MS +ragga +ragged/RYTP +raggedness/M +raggedy/RT +ragging +raging/Y +raglan/SM +ragout/SM +ragtag/S +ragtime/M +ragweed/M +ragwort +rah +raid/ZGMDRS +raider/M +rail's +rail/CGDS +railcard/S +railing/SM +raillery/SM +railroad/SZGMDR +railroader/M +railroading/M +railway/SM +railwayman +railwaymen +raiment/M +rain/GMDS +rainbow/SM +raincoat/SM +raindrop/SM +rainfall/SM +rainmaker/SM +rainmaking/M +rainproof +rainstorm/MS +rainwater/M +rainy/RT +raise/MZGDRS +raiser/M +raisin/SM +rajah/M +rajahs +rake/MGDS +rakish/YP +rakishness/M +rally/DSMG +ram/SM +ramble/DRSMZGJ +rambler/M +rambunctious/PY +rambunctiousness/M +ramekin/SM +ramie/M +ramification/M +ramify/DSXNG +ramjet/SM +rammed +ramming +ramp/GMS +rampage/DSMG +rampancy/M +rampant/Y +rampart/SM +ramrod/SM +ramrodded +ramrodding +ramshackle +ran/A +ranch/MDRSZG +rancher/M +ranching/M +rancid/P +rancidity/M +rancidness/M +rancor/M +rancorous/Y +rand/M +randiness/M +random/PSY +randomization/M +randomize/DSG +randomness/MS +randy/RTP +ranee/MS +rang/ZR +range's +range/CGDS +rangefinder/S +ranger/M +ranginess/M +rangy/RTP +rank/TGJPMDRYS +ranking/M +rankle/DSG +rankness/M +ransack/SGD +ransom/SZGMDR +ransomer/M +ransomware +rant/ZGMDJRS +ranter/M +rap/SZGMDR +rapacious/PY +rapaciousness/M +rapacity/M +rape/MS +raper/M +rapeseed/M +rapid/PMRYTS +rapidity/M +rapidness/M +rapier/SM +rapine/M +rapist/SM +rapped +rappel/SM +rappelled +rappelling +rapper/SM +rapping +rapport/MS +rapporteur/S +rapprochement/SM +rapscallion/MS +rapt/YP +raptness/M +raptor/S +rapture/MS +rapturous/Y +rare/YTGPDRS +rarebit/MS +rarefaction/M +rarefy/GDS +rareness/M +rarity/SM +rascal/SMY +rash/ZTMRSYP +rasher/M +rashness/M +rasp/GMDS +raspberry/SM +raspy/RT +raster +rat/SM +ratatouille/M +ratbag/S +ratchet/GMDS +rate/JXMZGNDRS +rated/U +ratepayer/S +rater/M +rather +rathskeller/SM +ratification/M +ratifier/M +ratify/NDRSZG +rating/M +ratio/MS +ratiocinate/GNDS +ratiocination/M +ration/MDG +rational/SMY +rationale/MS +rationalism/M +rationalist/SM +rationalistic +rationality/M +rationalization/MS +rationalize/DSG +ratlike +ratline/SM +rattan/SM +ratted +ratter/SM +ratting +rattle/DRSMZGJ +rattlebrain/SMD +rattler/M +rattlesnake/SM +rattletrap/SM +rattly +rattrap/SM +ratty/RT +raucous/YP +raucousness/M +raunchily +raunchiness/M +raunchy/TRP +ravage/DRSMZG +ravager/M +ravages/M +rave/JMZGDRS +ravel's +ravel/UDSG +raveling/S +raven/MDSG +ravenous/Y +ravine/SM +raving/M +ravioli/SM +ravish/DRSZGL +ravisher/M +ravishing/Y +ravishment/M +raw/PTMR +rawboned +rawhide/M +rawness/M +ray/SM +rayon/M +raze/GDS +razor/MS +razorback/MS +razz/GMDS +razzmatazz/M +rcpt +rd +re/DSMYTGVJ +reach/MDSGB +reachable/U +reacquire/DSG +react/V +reactance +reactant/SM +reactionary/SM +reactivity +read/ZGMRBJS +readability/SM +reader/M +readership/SM +readily +readiness/M +reading/M +readmitted +readout/SM +ready/DRSTGP +reafforestation +real/TMRYPS +realism/M +realist/SM +realistic/U +realistically/U +realities +reality/UM +realization/MS +realize/DSBG +realized/U +realm/MS +realness/M +realpolitik/M +realty/M +ream/ZGMDRS +reamer/M +reap/ZGDRS +reaper/M +rear/GMDS +rearguard/MS +rearmost +rearward/S +reason/SMDRZGB +reasonable/UP +reasonableness/UM +reasonably/U +reasoner/M +reasoning/M +reassuring/Y +rebate/M +rebel/MS +rebellion/MS +rebellious/YP +rebelliousness/M +rebid/S +rebidding +rebirth/M +reboil/SDG +rebuild/SG +rebuke/DSMG +rebuking/Y +rebuttal/MS +rec'd +rec/M +recalcitrance/M +recalcitrant +recant/SDG +recantation/SM +recap/MS +recapitalization +recce/S +recd +receipt/SMDG +receivables/M +receive/DRSZGB +receiver/M +receivership/M +recent/RYTP +recentness/M +receptacle/SM +reception/MS +receptionist/SM +receptive/PY +receptiveness/M +receptivity/M +receptor/SM +recess/MDSGV +recessional/SM +recessionary +recessive/SM +recherche +recidivism/M +recidivist/SM +recipe/SM +recipient/SM +reciprocal/SMY +reciprocate/GNDS +reciprocation/M +reciprocity/M +recital/SM +recitalist/MS +recitative/MS +reciter/SM +reckless/YP +recklessness/M +reckon/SJDG +reckoning/M +reclamation/M +recline/DRSZG +recliner/M +recluse/SMV +recognizable/U +recognizably/U +recognize/DRSGB +recognized/U +recombination +recompense/DSMG +recompilation +recompile/GD +recon/S +reconcile/GDSB +reconciliation/S +recondite +reconfiguration +reconfigure/D +reconnaissance/MS +reconnoiter/DGS +reconstruct/V +reconstructed/U +recorded/U +recorder/MS +recording/MS +recoup/DG +recourse/M +recoverable/U +recovery/SM +recreant/MS +recreational +recriminate/DSGNX +recrimination/M +recriminatory +recrudesce/GDS +recrudescence/M +recrudescent +recruit/LSMDRZG +recruiter/M +recruitment/M +rectal/Y +rectangle/MS +rectangular +rectifiable +rectification/M +rectifier/M +rectify/XNDRSZG +rectilinear +rectitude/M +recto/MS +rector/SM +rectory/SM +rectum/SM +recumbent +recuperate/GNVDS +recuperation/M +recur/S +recurred +recurrence/SM +recurring +recursion/S +recuse/DSG +recyclable/SM +recycling/M +red/PSM +redact/SDG +redaction/M +redactor/SM +redbird/SM +redbreast/MS +redbrick +redcap/SM +redcoat/SM +redcurrant/S +redden/SDG +redder +reddest +reddish +redeem/RZB +redeemer/M +redemption/M +redemptive +redhead/SMD +redirection +redistrict/GD +redivide/GDS +redlining/M +redneck/SM +redness/M +redo/G +redolence/M +redolent +redoubt/SBM +redoubtably +redound/SDG +redraw/SG +redskin/SM +reduce/DRSZG +reducer/M +reducible +reductase/M +reduction/SM +reductionist +reductive +redundancy/SM +redundant/Y +redwood/SM +redye/DS +reediness/M +reedy/RTP +reef/ZGMDRS +reefer/M +reek/GMDS +reel's +reel/UGDS +reeve/G +reexport/SDG +ref/SZM +refashion/DGS +refection/M +refectory/SM +refer/B +referee/DSM +refereeing +reference/MGDS +referendum/MS +referent/SM +referential +referral/SM +referred +referrer/SM +referring +reffed +reffing +refill/BM +refined/U +refinement/SM +refiner/SM +refinery/S +refitting +reflate/XDSGN +reflationary +reflect/GVSD +reflection/MS +reflective/Y +reflectivity +reflector/MS +reflexive/SMY +reflexivity +reflexology +reforge/DSG +reform/MZ +reformat/V +reformatory/SM +reformatting +reformed/U +reformist/S +refortify/GDS +refract/SGVD +refraction/M +refractory/SM +refrain/SGMD +refresh/ZGLDRS +refresher/M +refreshing/Y +refreshment/SM +refreshments/M +refrigerant/SM +refrigerate/DSGN +refrigeration/M +refrigerator/MS +refuge/SM +refugee/SM +refulgence/M +refulgent +refund/B +refurbishment/MS +refusal/MS +refutation/MS +refute/BDRSZG +refuter/M +reg +regal/DYG +regalement/M +regalia/M +regard/ESMDG +regardless +regards/M +regather/DGS +regatta/SM +regency/SM +regeneracy/M +regenerate/V +regex/M +regexp/S +reggae/M +regicidal +regicide/MS +regime/SM +regimen/SM +regiment/MDGS +regimental +regimentation/M +region/SM +regional/Y +regionalism/MS +register/GMDS +registered/U +registrant/MS +registrar/MS +registration/SM +registry/SM +regnant +regress/MDSGV +regression/MS +regret/SM +regretful/Y +regrettable +regrettably +regretted +regretting +regrind/GS +reground +regroup/DGS +regular/MYS +regularity/SM +regularization/M +regularize/DSG +regulate/CDSGNV +regulated/U +regulation/CM +regulations +regulator/MS +regulatory +regurgitate/DSGN +regurgitation/M +rehab/MS +rehabbed +rehabbing +rehabilitate/GNVDS +rehabilitation/M +rehang/SDG +rehears/GD +rehearsal/MS +rehearsed/U +rehi +rehung +reify/NDSG +reign/MDSG +reimburse/BDSGL +reimbursement/MS +rein/GD +reindeer/M +reinforce/LGDS +reinforcement/SM +reinitialize +reinstall/DG +reinstatement/M +reinsurance +reiterate/V +reject/GSMD +rejection/SM +rejoice/JGDS +rejoicing/M +rejoinder/SM +rejuvenate/DSGN +rejuvenation/M +rel +relate/DRSBXZGNV +relatedness/M +relater/M +relation/M +relational +relationship/MS +relative/MYS +relativism/M +relativist/S +relativistic +relativity/M +relax/DRSZG +relaxant/MS +relaxation/SM +relaxer/M +relay/D +release/B +released/U +relegate/GNDS +relent/SGD +relentless/PY +relentlessness/M +relevance/M +relevancy/M +relevant/Y +reliability/UM +reliable/U +reliably/U +reliance/M +reliant +relic/MS +relief/SM +relieve/ZGDRS +reliever/M +religion/SM +religiosity +religious/MYP +religiousness/M +reline/DSG +relinquish/LDSG +relinquishment/M +reliquary/SM +relish/GMDS +relist/SGD +relocate/B +reluctance/M +reluctant/Y +rely/GDS +rem/M +remain/SGD +remainder/GMDS +remand/SGD +remapping +remark/B +remarkableness/M +remarkably +remarked/U +remediable +remedy/GDSM +remember/DG +remembered/U +remembrance/MS +reminder/M +reminisce/GDS +reminiscence/MS +reminiscent/Y +remiss/PY +remissness/M +remit/S +remittance/SM +remitted +remitting/U +remix/DSG +remnant/MS +remodel/GDS +remold/SGD +remonstrant/SM +remonstrate/DSG +remorse/M +remorseful/Y +remorseless/PY +remorselessness/M +remote/RSMYTP +remoteness/M +removal/SM +remunerate/GNVXDS +remuneration/M +renaissance/MS +renal +renascence/S +rend/GS +render/SGMDJ +rendering/M +rendezvous/GMDS +rendition/MS +renegade/DSMG +renege/DRSZG +reneger/M +renew/DSBG +renewal/MS +rennet/M +rennin/M +renounce/LDSG +renouncement/M +renovate/DSXGN +renovation/M +renovator/MS +renown/MD +rent/ZGMDRS +rental/SM +renter/M +renunciation/SM +reopen/SDG +reorg/MDSG +rep/SM +repaint/GDS +repair/BZR +repairer/M +repairman/M +repairmen +reparable +reparation/MS +reparations/M +repartee/M +repatriate/XDSMGN +repatriation/M +repeat/SMDRZGB +repeatability +repeatable/U +repeatably +repeated/Y +repeater/M +repeating/M +repel/S +repelled +repellent/SM +repelling +repent/SDG +repentance/M +repentant/Y +repercussion/S +repertoire/MS +repertory/SM +repetition/MS +repetitious/YP +repetitiousness/M +repetitive/YP +repetitiveness/M +rephotograph/DG +replaceable +replant/GSD +replenish/LGDS +replenishment/M +replete/PDSGN +repleteness/M +repletion/M +replica/SM +replicate/DSGNX +replication/M +replicator/S +reportage/M +reported/Y +reportorial +reposeful +reposition +repository/SM +reprehend/DGS +reprehensibility/M +reprehensible +reprehensibly +reprehension/M +represent/GDS +representational +representative/MS +represented/U +repression/MS +repressive/PY +reprieve/DSMG +reprimand/GSMD +reprisal/SM +reprise/SMG +reproach/GMDSB +reproachful/Y +reprobate/MS +reproductive +reprogramming +reproving/Y +reptile/SM +reptilian/MS +republic/S +republicanism/M +repudiate/XGNDS +repudiation/M +repudiator/MS +repugnance/M +repugnant +repulsion/M +repulsive/YP +repulsiveness/M +repurchase/GDS +reputability/M +reputably/E +reputation/MS +repute/DSMGB +reputed/Y +request/GDR +requiem/SM +require/LDG +requirement/MS +requisite/XMNS +requisition/GMD +requital/M +requite/DRSZG +requited/U +requiter/M +reread/SG +rerecord/GDS +rerunning +resample/GDS +resat +rescind/SDG +rescission/M +rescue/DRSMZG +rescuer/M +reseal/B +resemble/DSG +resend +resent/LSDG +resentful/YP +resentfulness/M +resentment/MS +reserpine/M +reservation/MS +reserved/UY +reservedness/M +reservist/SM +reservoir/SM +resetting +reshipping +residence/SM +residency/SM +resident/MS +residential +residua +residual/MS +residue/SM +residuum/M +resignation/SM +resigned/Y +resilience/M +resiliency/M +resilient/Y +resinous +resist/SMDRZG +resistance/SM +resistant/U +resistible +resistivity +resistless +resistor/MS +resit/S +resitting +resold +resole/DSG +resolute/PY +resoluteness/M +resolve/RBM +resolved/U +resonance/SM +resonant/Y +resonate/GDS +resonator/SM +resorption/M +resound/SGD +resounding/Y +resourceful/YP +resourcefulness/M +resp +respect/ESGVMD +respectability/M +respectable +respectably +respectful/EY +respectfulness/M +respective/Y +respell/SGD +respiration/M +respirator/SM +respiratory +respire/DG +resplendence/M +resplendent/Y +respond/SGD +respondent/SM +response/MS +responsibility/SM +responsible +responsibly +responsive/UYP +responsiveness/UM +rest/GVMDS +restate/GDS +restaurant/SM +restaurateur/MS +restful/YP +restfuller +restfullest +restfulness/M +restitution/M +restive/YP +restiveness/M +restless/PY +restlessness/M +restoration/SM +restorative/SM +restorer/SM +restrained/U +restraint/MS +restrict/SDGV +restricted/U +restriction/MS +restrictive/YP +restrictiveness/M +restring/SG +restroom/SM +restructuring/SM +result/GSMD +resultant/SM +resume/DSMG +resumption/MS +resupply/DSG +resurgence/MS +resurgent +resurrect/GSD +resurrection/MS +resuscitate/GNDS +resuscitation/M +resuscitator/SM +retailer/MS +retain/SDRZG +retainer/M +retake/G +retaliate/DSGNVX +retaliation/M +retaliatory +retard/SMDRZG +retardant/SM +retardation/M +retarder/M +retch/DSG +reteach/GS +retention/M +retentive/YP +retentiveness/M +rethink/SGM +rethought +reticence/M +reticent/Y +reticulated +reticulation/MS +reticulum +retina/SM +retinal +retinoblastoma +retinue/SM +retiree/SM +retirement/MS +retort/GMD +retrace/GDS +retract/DBG +retractile +retraction/S +retrain/DGS +retread/D +retrenchment/MS +retribution/MS +retributive +retrieval/SM +retrieve/DRSMZGB +retriever/M +retro/MS +retroactive/Y +retrofire/GDS +retrofit/SM +retrofitted +retrofitting +retrograde/DSG +retrogress/GVDS +retrogression/M +retrorocket/MS +retrospect/MDSGV +retrospection/M +retrospective/MYS +retrovirus/MS +retsina/M +returnable/SM +returnee/SM +rev/ZVM +revamping/M +reveal/GJSD +revealed/U +revealing/Y +reveille/M +revel/JMDRSZG +revelation/SM +revelatory +reveler/M +revelry/SM +revenge/MGDS +revenuer/SM +reverb +reverberate/DSGNX +reverberation/M +revere/DSG +reverence/DSMG +reverend/SM +reverent/Y +reverential/Y +reverie/MS +revers/M +reversal/SM +reverse/Y +reversibility +reversible +reversibly +revert/GSD +revertible +revetment/SM +revile/DRSLZG +revilement/M +reviler/M +reviser/MS +revision/SM +revisionism/M +revisionist/SM +revival/MS +revivalism/M +revivalist/SM +revive/DSG +revivification/M +revocable +revoke/DSG +revolt/GD +revolting/Y +revolution/SM +revolutionary/SM +revolutionist/SM +revolutionize/DSG +revolve/BZGDRS +revolver/M +revue/MS +revulsion/M +revved +revving +rewarded/U +rewarding/U +rewarm/GSD +rewash/GDS +reweave/GS +rewedding +rewind/MB +rewound +rewrite/MGS +rhapsodic +rhapsodical +rhapsodize/GDS +rhapsody/SM +rhea/MS +rhenium/M +rheostat/SM +rhesus/MS +rhetoric/M +rhetorical/Y +rhetorician/SM +rheum/M +rheumatic/MS +rheumatically +rheumatism/M +rheumatoid +rheumy +rhinestone/SM +rhinitis/M +rhino/MS +rhinoceros/MS +rhinoplasty +rhinovirus/MS +rhizome/MS +rho/SM +rhodium/M +rhododendron/SM +rhomboid/SM +rhomboidal +rhombus/MS +rhubarb/MS +rhyme/MZGDRS +rhymer/M +rhymester/MS +rhythm/SM +rhythmic +rhythmical/Y +rial/MS +rib/SM +ribald +ribaldry/M +ribbed +ribber/SM +ribbing +ribbon/SM +riboflavin/M +rice/MZGDRS +ricer/M +rich/TMRSYP +richness/M +rick/GMDS +rickets/M +rickety/RT +rickrack/M +rickshaw/MS +ricochet/GMDS +ricotta/M +rid/S +riddance/M +ridden +ridding +riddle/DSMG +ride/MZGRS +rider/M +riderless +ridership/M +ridge/MGDS +ridgepole/SM +ridgy +ridicule/MGDS +ridiculous/YP +ridiculousness/M +riding/M +rife/TR +riff/GMDS +riffle/DSMG +riffraff/M +rifle/MZGDRS +rifleman/M +riflemen +rifler/M +rifling/M +rift/GMDS +rig/SM +rigatoni/M +rigged +rigger/SM +rigging/M +right/MDRYSPTG +righteous/UP +righteously +righteousness/UM +rightful/PY +rightfulness/M +rightism/M +rightist/SM +rightmost +rightness/M +righto +rightsize/DSG +rightward/S +rigid/YP +rigidity/M +rigidness/M +rigmarole/MS +rigor/MS +rigorous/YP +rigorousness/M +rile/GDS +rill/MS +rim/SGMD +rime/MS +rimless +rimmed +rimming +rind/MS +ring/ZGMDRJ +ringer/M +ringgit/MS +ringleader/MS +ringlet/MS +ringlike +ringmaster/MS +ringside/M +ringtone/SM +ringworm/M +rink/MS +rinse/MGDS +riot/ZGMDRS +rioter/M +rioting/M +riotous/PY +rip/SXTMNR +riparian +ripcord/MS +ripe/YP +ripen/DG +ripened/U +ripeness/M +ripoff/SM +riposte/MGDS +ripped +ripper/SM +ripping +ripple/DSMG +ripply +ripsaw/SM +riptide/MS +rise/JMZGRS +risen +riser/M +risibility/M +risible +rising/M +risk/GMDS +riskily +riskiness/M +risky/RPT +risotto/MS +risque +rissole/S +rite/MS +ritual/SMY +ritualism/M +ritualistic +ritualistically +ritualized +ritzy/RT +riv/ZNR +rival/MDSG +rivaled/U +rivalry/SM +rive/CGDS +river/M +riverbank/SM +riverbed/MS +riverboat/SM +riverfront +riverside/MS +rivet/MDRSZG +riveter/M +riviera/S +rivulet/MS +riyal/MS +rm +roach/GMDS +road/IMS +roadbed/SM +roadblock/MDSG +roadhouse/SM +roadie/MS +roadkill/M +roadrunner/SM +roadshow/SM +roadside/SM +roadster/SM +roadway/SM +roadwork/SM +roadworthy +roam/ZGDRS +roamer/M +roaming/M +roan/MS +roar/ZGMDRS +roarer/M +roaring/M +roast/ZGMDRSJ +roaster/M +roasting/M +rob/S +robbed +robber/MS +robbery/SM +robbing +robe's +robe/EGDS +robin/MS +robocall/SGMD +robot/MS +robotic/S +robotics/M +robotize/GDS +robust/RYPT +robustness/M +rock/ZGMDRS +rockabilly/M +rockbound +rocker/M +rockery/S +rocket/MDSG +rocketry/M +rockfall/SM +rockiness/M +rocky/TRP +rococo/M +rod/SM +rode +rodent/MS +rodeo/MS +roe/SM +roebuck/SM +roentgen/MS +roger/GDS +rogue's +rogue/KS +roguery/M +roguish/YP +roguishness/M +roil/GDS +roister/ZGDRS +roisterer/M +role/MS +roll/MDRZGJS +rollback/SM +roller/M +rollerblading +rollerskating/M +rollick/SDG +rollicking/M +rollmop/S +rollover/SM +romaine/MS +roman/M +romance/MZGDRS +romancer/M +romantic/MS +romantically +romanticism/M +romanticist/SM +romanticize/DSG +romeo/MS +romp/MDRZGS +romper/M +rondo/SM +rood/MS +roof/MDRZGS +roofer/M +roofing/M +roofless +rooftop/SM +rook/MDGS +rookery/SM +rookie/SM +room/MDRZGS +roomer/M +roomette/SM +roomful/SM +roominess/M +roommate/SM +roomy/RTP +roost/SMDRZG +rooster/M +root/MDRZGS +rooter/M +rootkit/SM +rootless/P +rootlet/SM +rope/MZGDRS +roper/M +ropy/RT +rosary/SM +rose/MS +roseate +rosebud/SM +rosebush/MS +rosemary/M +rosette/SM +rosewater/M +rosewood/MS +rosily +rosin/SMDG +rosiness/M +roster/SM +rostrum/MS +rosy/RTP +rot/SM +rota/S +rotary/SM +rotate/DSGNX +rotation/M +rotational +rotatory +rote/M +rotgut/M +rotisserie/SM +rotogravure/MS +rotor/SM +rototiller/MS +rotted +rotten/TPRY +rottenness/M +rotter/S +rotting +rottweiler/S +rotund/P +rotunda/MS +rotundity/M +rotundness/M +roue/MS +rouge/DSMG +rough/MDNRYXTGP +roughage/M +roughcast +roughen/GD +roughhouse/MGDS +roughneck/GMDS +roughness/M +roughs +roughshod +roulette/M +round/PSMDRYZTG +roundabout/SM +roundel/S +roundelay/MS +roundhouse/SM +roundish +roundness/M +roundup/MS +roundworm/SM +rouse/DSG +roust/SDG +roustabout/SM +rout/MRZS +route's +route/ADSG +routeing +router/M +routine/MYS +routinize/GDS +roux +rove/ZGDRS +rover/M +row/SZGMDR +rowan/S +rowboat/MS +rowdily +rowdiness/M +rowdy/PRSMT +rowdyism/M +rowel/SMDG +rower/M +rowing/M +rowlock/S +royal/SMY +royalist/SM +royalties/M +royalty/SM +rpm +rps +rt +rte +rub/SM +rubato/SM +rubbed +rubber/SM +rubberize/GDS +rubberneck/MDRSZG +rubbernecker/M +rubbery +rubbing/S +rubbish/MDSG +rubbishy +rubble/M +rubdown/SM +rube/MS +rubella/M +rubicund +rubidium/M +ruble/SM +rubric/SM +ruby/RSMT +ruched +ruck/DGS +rucksack/MS +ruckus/MS +ructions +rudder/SM +rudderless +ruddiness/M +ruddy/RTP +rude/YTRP +rudeness/M +rudiment/SM +rudimentary +rue/DSMG +rueful/PY +ruefulness/M +ruff/MDYGS +ruffian/MYS +ruffle/DSMG +ruffled/U +rug/SM +rugby/M +rugged/PTRY +ruggedness/M +rugger +rugrat/SM +ruin/MDGS +ruination/M +ruinous/Y +rule/MZGJDRS +ruler/M +ruling/M +rum/SM +rumba/SMDG +rumble/DSJMG +rumbling/M +rumbustious +ruminant/MS +ruminate/XGNVDS +rumination/M +ruminative/Y +rummage/DSMG +rummer +rummest +rummy/M +rumor/SMDG +rumormonger/SM +rump/MYS +rumple/DSMG +rumpus/MS +run/ASM +runabout/MS +runaround/SM +runaway/MS +rundown/SM +rune/MS +rung/MS +runic +runlet/SM +runnel/SM +runner/SM +running/M +runny/RT +runoff/SM +runt/MS +runtime +runty/RT +runway/SM +rupee/SM +rupiah/M +rupiahs +rupture/MGDS +rural +ruse/MS +rush/MDRSZG +rusher/M +rushy +rusk/MS +russet/SM +rust/MDGS +rustic/SM +rustically +rusticate/GDS +rustication/M +rusticity/M +rustiness/M +rustle/DRSJMZG +rustler/M +rustproof/SDG +rusty/RPNT +rut/SM +rutabaga/SM +ruthenium/M +rutherfordium/M +ruthless/YP +ruthlessness/M +rutted +rutting +rutty/RT +rye/M +s/NYXB +sabbath/M +sabbaths +sabbatical/SM +saber/MS +sable/MS +sabot/MS +sabotage/DSMG +saboteur/SM +sabra/MS +sac/SM +saccharin/M +saccharine +sacerdotal +sachem/SM +sachet/SM +sack/ZGMDRJS +sackcloth/M +sacker/M +sackful/MS +sacking/M +sacra +sacrament/MS +sacramental +sacred/YP +sacredness/M +sacrifice/DSMG +sacrificial/Y +sacrilege/MS +sacrilegious/Y +sacristan/MS +sacristy/SM +sacroiliac/MS +sacrosanct/P +sacrosanctness/M +sacrum/M +sad/PY +sadden/SDG +sadder +saddest +saddle's +saddle/UDSG +saddlebag/MS +saddler/S +saddlery +sades +sadhu/S +sadism/M +sadist/SM +sadistic +sadistically +sadness/M +sadomasochism/M +sadomasochist/MS +sadomasochistic +safari/SGMD +safe/MYTPRS +safeguard/SMDG +safekeeping/M +safeness/M +safety/SM +safflower/MS +saffron/MS +sag/SM +saga/MS +sagacious/Y +sagacity/M +sage/MYTRS +sagebrush/M +sagged +sagging +saggy/RT +sago/M +saguaro/MS +sahib/MS +said/U +sail/GMDSJ +sailboard/MRZGS +sailboarder/M +sailboarding/M +sailboat/MS +sailcloth/M +sailfish/MS +sailing/M +sailor/SM +sailplane/MS +saint/MDYS +sainthood/M +saintlike +saintliness/M +saintly/PRT +saith +sake/M +salaam/SMDG +salable/U +salacious/PY +salaciousness/M +salacity/M +salad/MS +salamander/SM +salami/SM +salary/DSM +sale/ABMS +saleroom/S +salesclerk/SM +salesgirl/SM +saleslady/SM +salesman/M +salesmanship/M +salesmen +salespeople/M +salesperson/MS +salesroom/S +saleswoman/M +saleswomen +salience/M +salient/SMY +saline/SM +salinity/M +saliva/M +salivary +salivate/GNDS +salivation/M +sallow/RTP +sallowness/M +sally/DSMG +salmon/SM +salmonella/M +salmonellae +salon/MS +saloon/SM +salsa/MS +salt's +salt/CTGDS +saltbox/MS +saltcellar/SM +salted/U +salter +saltine/SM +saltiness/M +saltpeter/M +saltshaker/SM +saltwater/M +salty/RTP +salubrious/I +salutary +salutation/MS +salutatorian/MS +salutatory +salute/DSMG +salvage/DSMG +salvageable +salvation/M +salve/MZGDRS +salver/M +salvo/MS +samarium/M +samba/MDSG +same/SP +sameness/M +samey +samizdat/S +samosa/S +samovar/SM +sampan/SM +sample/DRSMZGJ +sampler/M +sampling/M +samurai/SM +sanatorium/SM +sanctification/M +sanctify/GDSN +sanctimonious/YP +sanctimoniousness/M +sanctimony/M +sanction/GSMD +sanctioned/U +sanctity/M +sanctuary/SM +sanctum/SM +sand/ZGMDRS +sandal/SM +sandalwood/M +sandbag/SM +sandbagged +sandbagger/SM +sandbagging +sandbank/MS +sandbar/SM +sandblast/ZGMDRS +sandblaster/M +sandbox/MS +sandcastle/MS +sander/M +sandhog/SM +sandiness/M +sandlot/SM +sandlotter/MS +sandman/M +sandmen +sandpaper/GMDS +sandpiper/MS +sandpit/S +sandstone/M +sandstorm/SM +sandwich/MDSG +sandy/RTP +sane/IYTR +saneness/M +sang/S +sangfroid/M +sangria/M +sanguinary +sanguine/Y +sanitarian/SM +sanitarium/SM +sanitary/IU +sanitation/M +sanitize/ZGDRS +sanity/IM +sank +sans +sanserif +sap/SM +sapience/M +sapiens +sapient +sapless +sapling/MS +sapped +sapper/S +sapphire/SM +sappiness/M +sapping +sappy/PRT +saprophyte/SM +saprophytic +sapsucker/SM +sapwood/M +saran/M +sarcasm/MS +sarcastic +sarcastically +sarcoma/MS +sarcophagi +sarcophagus/M +sardine/MS +sardonic +sardonically +sarge/MS +sari/MS +sarky +sarnie/S +sarong/SM +sarsaparilla/MS +sartorial/Y +sash/MS +sashay/SGMD +sass/GMDS +sassafras/MS +sassy/RT +sat +satanic +satanical/Y +satanism/M +satanist/MS +satay +satchel/MS +sate/GDS +sateen/M +satellite/DSMG +satiable/I +satiate/GNDS +satiation/M +satiety/M +satin/M +satinwood/SM +satiny +satire/SM +satiric +satirical/Y +satirist/SM +satirize/DSG +satisfaction/EM +satisfactions +satisfactorily/U +satisfactory/U +satisfied/U +satisfy/EDSG +satisfying/U +satisfyingly +satori/M +satrap/SM +satsuma/S +saturate/DSGN +saturated/U +saturation/M +saturnine +satyr/MS +satyriasis/M +satyric +sauce/MZGDRS +saucepan/SM +saucer/M +saucily +sauciness/M +saucy/RPT +sauerkraut/M +sauna/MDSG +saunter/MDGS +saurian +sauropod/SM +sausage/MS +saute/MS +sauteed +sauteing +savage/DRSMYTGP +savageness/M +savagery/SM +savanna/MS +savant/SM +save/BJMZGDRS +saved/U +saver/M +saving/M +savings/M +savior/SM +savor/MDSG +savoriness/M +savory/PTRSM +savoy/MS +savvy/DRSMTG +saw/SGMD +sawbones/M +sawbuck/MS +sawdust/M +sawfly/SM +sawhorse/SM +sawmill/MS +sawyer/SM +sax/MS +saxifrage/SM +saxophone/MS +saxophonist/SM +say's +say/USG +saying/SM +scab/MS +scabbard/MS +scabbed +scabbiness/M +scabbing +scabby/PTR +scabies/M +scabrous +scad/MS +scaffold/SMG +scaffolding/M +scag/S +scagged +scalability +scalar/S +scalawag/MS +scald/MDSG +scale's +scale/CGDS +scaleless +scalene +scaliness/M +scallion/MS +scallop/GSMD +scalp/MDRSZG +scalpel/SM +scalper/M +scaly/RTP +scam/MS +scammed +scammer/S +scamming +scamp/MRSZ +scamper/GMD +scampi/M +scan/MS +scandal/SM +scandalize/DSG +scandalmonger/SM +scandalous/Y +scandium/M +scanned +scanner/SM +scanning +scansion/M +scant/CDSTG +scanter +scantily +scantiness/M +scantly +scantness/M +scanty/RSPT +scapegoat/SGMD +scapegrace/MS +scapula/M +scapulae +scapular/SM +scar/GMDS +scarab/SM +scarce/RYTP +scarceness/M +scarcity/SM +scare/MS +scarecrow/MS +scaremonger/SMG +scarf/MDSG +scarification/M +scarify/NDSG +scarily +scariness/M +scarlatina/M +scarlet/M +scarp/MDRSZG +scarper/DG +scarred +scarring +scarves +scary/RTP +scat/MS +scathing/Y +scatological +scatology/M +scatted +scatter/GJSMD +scatterbrain/SMD +scattering/M +scattershot +scatting +scatty +scavenge/ZGDRS +scavenger/M +scenario/MS +scenarist/MS +scene/MS +scenery/M +scenic +scenically +scent/CMS +scented/U +scenting +scentless +scepter/MS +sch +schadenfreude +schedule's +schedule/ADSG +scheduled/U +scheduler/S +schema +schemata +schematic/SM +schematically +schematize/GDS +scheme/DRSMZG +schemer/M +scherzo/MS +schilling/MS +schism/SM +schismatic/SM +schist/M +schistosomiasis +schizo/SM +schizoid/MS +schizophrenia/M +schizophrenic/SM +schlemiel/SM +schlep/SM +schlepped +schlepping +schlock/M +schmaltz/M +schmaltzy/TR +schmo/M +schmoes +schmooze/DRSZG +schmuck/MS +schnapps/M +schnauzer/SM +schnitzel/SM +schnook/MS +schnoz/MS +schnozzle/SM +scholar/MYS +scholarship/MS +scholastic +scholastically +scholasticism +school/SGMD +schoolbag/MS +schoolbook/SM +schoolboy/MS +schoolchild/M +schoolchildren/M +schooldays +schooled/U +schoolfellow/SM +schoolgirl/SM +schoolhouse/SM +schooling/M +schoolkid/S +schoolmarm/SM +schoolmarmish +schoolmaster/MS +schoolmate/SM +schoolmistress/MS +schoolroom/SM +schoolteacher/MS +schoolwork/M +schoolyard/SM +schooner/SM +schuss/GMDS +schussboomer/MS +schwa/MS +sci +sciatic +sciatica/M +science/FMS +scientific/U +scientifically/U +scientist/SM +scimitar/SM +scintilla/MS +scintillate/DSGN +scintillation/M +scion/MS +scissor/GDS +scleroses +sclerosis/M +sclerotic +scoff/MDRSZG +scoffer/M +scofflaw/MS +scold/MDSGJ +scolding/M +scoliosis/M +sconce/SM +scone/MS +scoop/MDSG +scoopful/MS +scoot/DRSZG +scooter/M +scope/MGDS +scorbutic +scorch/MDRSZG +scorcher/M +score/MZGDRS +scoreboard/SM +scorecard/MS +scorekeeper/MS +scoreless +scoreline/S +scorer/M +scorn/MDRSZG +scorner/M +scornful/Y +scorpion/MS +scotch/MDSG +scotchs +scoundrel/MS +scour/DRSZG +scourer/M +scourge/DSMG +scout/MDRSZG +scouting/M +scoutmaster/MS +scow/MS +scowl/MDSG +scrabble/MZGDRS +scrabbler/M +scrag/MS +scraggly/RT +scraggy/TR +scram/S +scramble's +scramble/UGDS +scrambler/MS +scrammed +scramming +scrap/MDRSZGJ +scrapbook/SM +scrape/SM +scraper/M +scrapheap/SM +scrapie +scrapped +scrapper/MS +scrapping +scrappy/TR +scrapyard/SM +scratch/GMDS +scratchcard/S +scratched/U +scratchily +scratchiness/M +scratchpad/S +scratchy/PRT +scrawl/SMDG +scrawly +scrawniness/M +scrawny/PTR +scream/SMDRZG +screamer/M +screaming/Y +scree/MDS +screech/GMDS +screechy/TR +screed/S +screen/SJMDG +screening/M +screenplay/SM +screensaver/SM +screenshot/S +screenwriter/SM +screenwriting/M +screw's +screw/UDSG +screwball/MS +screwdriver/MS +screwiness/M +screwworm/SM +screwy/PRT +scribal +scribble/MZGDRS +scribbler/M +scribe's +scribe/CKIS +scrim/MS +scrimmage/MGDS +scrimp/SDG +scrimshaw/MDGS +scrip/MS +script/FSMDG +scripted/U +scriptural +scripture/MS +scriptwriter/SM +scrivener/SM +scrod/M +scrofula/M +scrofulous +scrog/S +scroll/GSMD +scrooge/MS +scrota +scrotal +scrotum/M +scrounge/DRSZG +scrounger/M +scroungy/TR +scrub/MS +scrubbed +scrubber/SM +scrubbing +scrubby/RT +scruff/SM +scruffily +scruffiness/M +scruffy/RPT +scrum/S +scrumhalf +scrumhalves +scrummage/S +scrummed +scrumming +scrump/SGD +scrumptious/Y +scrumpy +scrunch/MDSG +scrunchy/SM +scruple/MGDS +scrupulosity/M +scrupulous/UPY +scrupulousness/UM +scrutineer/S +scrutinize/GDS +scrutiny/M +scuba/MDSG +scud/MS +scudded +scudding +scuff/MDSG +scuffle/MGDS +scull/MDRSZG +sculler/M +scullery/SM +scullion/SM +sculpt/SGD +sculptor/SM +sculptress/MS +sculptural +sculpture/DSMG +scum/MS +scumbag/MS +scummed +scumming +scummy/TR +scupper/MDGS +scurf/M +scurfy +scurrility/M +scurrilous/PY +scurrilousness/M +scurry/GDSM +scurvily +scurvy/TRM +scutcheon/SM +scuttle/MGDS +scuttlebutt/M +scuzzy/TR +scythe/DSMG +sea/SM +seabed/SM +seabird/MS +seaboard/SM +seaborne +seacoast/SM +seafarer/SM +seafaring/M +seafloor/SM +seafood/M +seafront/SM +seagoing +seagull/MS +seahorse/MS +seal's +seal/AUSDG +sealant/MS +sealer/SM +sealskin/M +seam/GMDNS +seaman/M +seamanship/M +seamless/Y +seamount/MS +seamstress/MS +seamy/RT +seance/SM +seaplane/SM +seaport/MS +sear/GMDS +search/AZGMDRS +searchable/U +searcher/AM +searching/Y +searchlight/MS +searing/Y +seascape/SM +seashell/SM +seashore/SM +seasick/P +seasickness/M +seaside/MS +season/SGMDBJ +seasonable/U +seasonably/U +seasonal/Y +seasonality +seasoned/U +seasoning/M +seat's +seat/UGDS +seating/M +seatmate/SM +seawall/MS +seaward/MS +seawater/M +seaway/SM +seaweed/MS +seaworthiness/M +seaworthy/P +sebaceous +seborrhea/M +sebum +sec'y +sec/SM +secant/SM +secateurs +secede/DSG +secession/M +secessionist/MS +seclude/GDS +seclusion/M +seclusive +second/SLZGMDRY +secondarily +secondary/SM +seconder/M +secondhand +secondment/S +secrecy/M +secret/SGVMDY +secretarial +secretariat/MS +secretary/SM +secretaryship/M +secrete/XNS +secretion/M +secretive/PY +secretiveness/M +secretory +sect/IMS +sectarian/MS +sectarianism/M +sectary/SM +section/AESM +sectional/MS +sectionalism/M +sectioned +sectioning +sector/ESM +secular +secularism/M +secularist/SM +secularization/M +secularize/DSG +secure/DRSYTG +secured/U +security/ISM +secy +sedan/MS +sedate/DRSYTGNVP +sedateness/M +sedation/M +sedative/SM +sedentary +sedge/M +sedgy +sediment/MS +sedimentary +sedimentation/M +sedition/M +seditious +seduce/DRSZG +seducer/M +seduction/SM +seductive/YP +seductiveness/M +seductress/MS +sedulous/Y +see/RSMZ +seed's +seed/AGDS +seedbed/MS +seedcase/MS +seeded/U +seeder/SM +seediness/M +seedless +seedling/MS +seedpod/MS +seedy/RPT +seeing/S +seek/ZGRS +seeker/M +seem/GDS +seeming/Y +seemliness/UM +seemly/URTP +seen/U +seep/GDS +seepage/M +seer/M +seersucker/M +seesaw/SMDG +seethe/DSG +segfault/S +segment/GSMD +segmentation/M +segmented/U +segregate/CDSGN +segregated/U +segregation/CM +segregationist/MS +segue/MGDS +segueing +seigneur/SM +seignior/SM +seine/MZGDRS +seiner/M +seismic +seismically +seismograph/ZMR +seismographer/M +seismographic +seismographs +seismography/M +seismologic +seismological +seismologist/MS +seismology/M +seize/GDS +seizure/MS +seldom +select/CSGVD +selection/SM +selective/Y +selectivity/M +selectman/M +selectmen +selectness/M +selector/MS +selenium/M +selenographer/MS +selenography/M +self/M +selfie/SM +selfish/UYP +selfishness/UM +selfless/PY +selflessness/M +selfsame +sell's +sell/AZGRS +seller's +selloff/MS +sellotape/DSG +sellout/MS +seltzer/MS +selvage/MS +selves +semantic/S +semantically +semanticist/MS +semantics/M +semaphore/DSMG +semblance/ASM +semen/M +semester/SM +semi/MS +semiannual/Y +semiarid +semiautomatic/MS +semibreve/S +semicircle/SM +semicircular +semicolon/MS +semiconducting +semiconductor/MS +semiconscious +semidarkness/M +semidetached +semifinal/SM +semifinalist/MS +semigloss/S +semimonthly/SM +seminal +seminar/MS +seminarian/SM +seminary/SM +semiofficial +semiotic/S +semiotics/M +semipermeable +semiprecious +semiprivate +semipro/S +semiprofessional/SM +semiquaver/S +semiretired +semiskilled +semisolid +semisweet +semitone/SM +semitrailer/MS +semitransparent +semitropical +semivowel/SM +semiweekly/SM +semiyearly +semolina/M +sempstress/MS +senate/SM +senator/MS +senatorial +send/ZGRS +sender/M +sendoff/MS +senescence/M +senescent +senile +senility/M +senior/SM +seniority/M +senna/M +senor/MS +senora/SM +senorita/SM +sensation/MS +sensational/Y +sensationalism/M +sensationalist/MS +sensationalize/GDS +sense/MGDS +senseless/PY +senselessness/M +sensibilities +sensibility/IM +sensible/P +sensibleness/M +sensibly/I +sensitive/SMYP +sensitiveness/M +sensitivities +sensitivity/IM +sensitization/CM +sensitize/CDSG +sensor/SM +sensory +sensual/Y +sensualist/SM +sensuality/M +sensuous/YP +sensuousness/M +sent/FAU +sentence/MGDS +sententious/Y +sentience/IM +sentient/I +sentiment/SM +sentimental/Y +sentimentalism/M +sentimentalist/MS +sentimentality/M +sentimentalization/M +sentimentalize/GDS +sentinel/MS +sentry/SM +sepal/MS +separability/IM +separable +separably/I +separate/XMYGNVDSP +separateness/M +separation/M +separatism/M +separatist/MS +separator/MS +sepia/M +sepsis/M +septa +septal +septet/SM +septic +septicemia/M +septicemic +septuagenarian/MS +septum/M +sepulcher/GMDS +sepulchral +seq +sequel/SM +sequence/MZGDRS +sequencing/M +sequential/FY +sequester/SDG +sequestrate/XGNDS +sequestration/M +sequin/SMD +sequinned +sequitur +sequoia/MS +seraglio/MS +serape/SM +seraph/M +seraphic +seraphs +sere/TR +serenade/MGDS +serendipitous +serendipity/M +serene/RPYT +sereneness/M +serenity/M +serf/MS +serfdom/M +serge/M +sergeant/MS +serial/SMY +serialization/SM +serialize/GDSB +series/M +serif/MS +serigraph/M +serigraphs +serine +serious/PY +seriousness/M +sermon/SM +sermonize/GDS +serology/M +serotonin +serous +serpent/MS +serpentine/M +serrate/XND +serration/M +serried +serum/MS +servant/MS +serve's/AF +serve/FACGDS +server/SM +servery/S +service/EMS +serviceability/M +serviceable +serviced +serviceman/M +servicemen +servicewoman/M +servicewomen +servicing +serviette/MS +servile +servility/M +serving's +servings +servitor/MS +servitude/M +servo/MS +servomechanism/SM +servomotor/MS +sesame/SM +sesquicentennial/MS +session/MS +set/AISM +setback/MS +setscrew/SM +setsquare/S +sett/BJZGRS +settee/MS +setter/M +setting/M +settle's +settle/AUGDS +settlement/AM +settlements +settler/SM +setup/MS +seven/MHS +seventeen/SMH +seventeenth/M +seventeenths +seventh/M +sevenths +seventieth/M +seventieths +seventy/SMH +sever/ETGDS +several/MY +severance/SM +severe/YPR +severeness/M +severity/M +sew/ASGD +sewage/M +sewer/MS +sewerage/M +sewing/M +sewn/A +sex/GMDS +sexagenarian/SM +sexily +sexiness/M +sexism/M +sexist/MS +sexless +sexologist/SM +sexology/M +sexpot/MS +sextant/SM +sextet/MS +sexting +sexton/MS +sextuplet/SM +sexual/Y +sexuality/M +sexy/PTR +sf +sh +shabbily +shabbiness/M +shabby/PTR +shack/MDSG +shackle's +shackle/UGDS +shad/GMDSJ +shade/MS +shadily +shadiness/M +shading/M +shadow/SGMD +shadowbox/GDS +shadowy/RT +shady/RPT +shaft/MDSG +shag/MS +shagged +shagginess/M +shagging +shaggy/TPR +shah/M +shahs +shake/MZGRS +shakedown/SM +shaken/U +shakeout/MS +shaker/M +shakeup/MS +shakily +shakiness/M +shaky/RPT +shale/M +shall +shallot/MS +shallow/TPMRYS +shallowness/M +shalom +shalt +sham/GMDS +shaman/SM +shamanic +shamanism +shamanistic +shamble/MGDS +shambles/M +shambolic +shame/MS +shamefaced/Y +shameful/PY +shamefulness/M +shameless/YP +shamelessness/M +shammed +shamming +shampoo/ZGMDRS +shampooer/M +shamrock/MS +shan't +shandy/S +shanghai/DSG +shank/MS +shantung/M +shanty/SM +shantytown/SM +shape's +shape/AGDS +shaped/U +shapeless/YP +shapelessness/M +shapeliness/M +shapely/PTR +shard/MS +share/MZGDRS +shareable +sharecrop/S +sharecropped +sharecropper/MS +sharecropping +shareholder/SM +shareholding/S +sharer/M +shareware/M +sharia/M +shariah +shark/MDSG +sharkskin/M +sharp/MDNRYSPXZTG +sharpen/ADGS +sharpener/MS +sharper/M +sharpie/MS +sharpish +sharpness/M +sharpshooter/SM +sharpshooting/M +shatter/GMDS +shatterproof +shave/MZGDRSJ +shaven/U +shaver/M +shaving/M +shawl/MS +shay/MS +she'd +she'll +she/DSM +sheaf/M +shear/MDRSZG +shearer/M +sheath/JM +sheathe/UGDS +sheathing/M +sheaths +sheave/DSMG +shebang/MS +shebeen/S +shed/MS +shedding +sheen/M +sheeny/TR +sheep/M +sheepdog/MS +sheepfold/SM +sheepherder/MS +sheepish/YP +sheepishness/M +sheepskin/MS +sheer/MDRSPTG +sheerness/M +sheet/MSG +sheeting/M +sheetlike +sheikdom/MS +sheikh/M +sheikhs +sheila/S +shekel/SM +shelf/M +shell/MDRSG +shellac/MS +shellacked +shellacking/MS +shellfire/M +shellfish/MS +shelter/GMDS +shelve/GDS +shelving/M +shenanigan/SM +shepherd/SMDG +shepherdess/MS +sherbet/SM +sheriff/SM +sherry/SM +shew/GDS +shewn +shh +shiatsu/M +shibboleth/M +shibboleths +shield/MDGS +shift/GMDS +shiftily +shiftiness/M +shiftless/PY +shiftlessness/M +shifty/RPT +shiitake/SM +shill/GMDSJ +shillelagh/M +shillelaghs +shilling/M +shim/MS +shimmed +shimmer/SMDG +shimmery +shimming +shimmy/DSMG +shin/ZGMDRS +shinbone/SM +shindig/SM +shine/MS +shiner/M +shingle/DSMG +shinguard/M +shininess/M +shinned +shinning +shinny/DSG +shinsplints/M +shiny/TRP +ship's +ship/ALS +shipboard/MS +shipbuilder/SM +shipbuilding/M +shipload/SM +shipmate/SM +shipment/AM +shipments +shipowner/MS +shipped/A +shipper/SM +shipping/M +shipshape +shipwreck/GMDS +shipwright/MS +shipyard/SM +shire/MS +shirk/ZGDRS +shirker/M +shirr/GMDSJ +shirring/M +shirt/GMDS +shirtfront/SM +shirting/M +shirtless +shirtsleeve/SM +shirttail/SM +shirtwaist/MS +shirty +shit/SM! +shitfaced/! +shithead/S! +shitload/! +shitted/! +shitting/! +shitty/RT! +shiv/ZMRS +shiver/MDG +shivery +shoal/GMDS +shoat/MS +shock/ZGMDRS +shocker/M +shocking/Y +shockproof +shod/U +shoddily +shoddiness/M +shoddy/PRMT +shoe/MS +shoehorn/GMDS +shoeing +shoelace/MS +shoemaker/SM +shoeshine/SM +shoestring/SM +shoetree/MS +shogun/MS +shogunate/M +shone +shoo/GDS +shook +shoot/ZGMRSJ +shooter/M +shooting/M +shootout/MS +shop/MS +shopaholic/MS +shopfitter/S +shopfitting +shopfront/S +shopkeeper/MS +shoplift/DRZGS +shoplifter/M +shoplifting/M +shoppe/MZGDRS +shopper/M +shopping/M +shoptalk/M +shopworn +shore/MGDS +shorebird/SM +shoreline/MS +shoring/M +short/XTGMDNRYSP +shortage/MS +shortbread/M +shortcake/MS +shortchange/DSG +shortcoming/MS +shortcrust +shortcut/MS +shorten/JGD +shortening/M +shortfall/MS +shorthand/MD +shorthorn/MS +shortish +shortlist/DGS +shortness/M +shortsighted/PY +shortsightedness/M +shortstop/MS +shortwave/MS +shorty/SM +shot/MS +shotgun/SM +shotgunned +shotgunning +should +should've +shoulder/MDGS +shouldn't +shout/ZGMDRS +shouter/M +shove/MGDS +shovel/MDSG +shovelful/SM +show/JZGMDRS +showbiz/M +showboat/MDGS +showcase/MGDS +showdown/MS +shower/MDG +showerproof +showery +showgirl/MS +showground/S +showily +showiness/M +showing/M +showjumping +showman/M +showmanship/M +showmen +shown +showoff/SM +showpiece/SM +showplace/SM +showroom/MS +showstopper/MS +showstopping +showtime +showy/TRP +shpt +shrank +shrapnel/M +shred/MS +shredded +shredder/MS +shredding +shrew/MS +shrewd/RYPT +shrewdness/M +shrewish +shriek/MDSG +shrift/M +shrike/MS +shrill/DRSPTG +shrillness/M +shrilly +shrimp/MDRSZG +shrine/MS +shrink/MSBG +shrinkage/M +shrive/GDS +shrivel/SGD +shriven +shroud/GMDS +shrub/MS +shrubbery/SM +shrubby/RT +shrug/MS +shrugged +shrugging +shrunk/N +shtick/MS +shuck/GMDS +shucks/S +shudder/MDSG +shuffle/AMGDS +shuffleboard/SM +shuffler/SM +shun/S +shunned +shunning +shunt/MSDG +shush/DSG +shut/S +shutdown/SM +shuteye/M +shutoff/SM +shutout/SM +shutter/SMDG +shutterbug/MS +shutting +shuttle/DSMG +shuttlecock/GMDS +shy/TGDRSMY +shyer +shyest +shyness/M +shyster/SM +sibilant/SM +sibling/SM +sibyl/MS +sibylline +sic/S +sicced +siccing +sick/PXTGDNRYS +sickbay/S +sickbed/SM +sicken/DG +sickening/Y +sickie/MS +sickish +sickle/MS +sickly/RT +sickness/MS +sicko/MS +sickout/SM +sickroom/MS +side's +side/AGDS +sidearm/SM +sidebar/SM +sideboard/SM +sideburns/M +sidecar/SM +sidekick/SM +sidelight/MS +sideline/DSMG +sidelong +sideman/M +sidemen +sidepiece/MS +sidereal +sidesaddle/MS +sideshow/MS +sidesplitting +sidestep/MS +sidestepped +sidestepping +sidestroke/DSMG +sideswipe/DSMG +sidetrack/SMDG +sidewalk/MS +sidewall/MS +sideways +sidewinder/SM +siding/MS +sidle/MGDS +siege/MS +sienna/M +sierra/MS +siesta/MS +sieve/MGDS +sift/ZGDRS +sifted/U +sifter/M +sigh/GMD +sighs +sight/GMDYSJ +sighting/M +sightless +sightly/UTR +sightread +sightseeing/M +sightseer/MS +sigma/MS +sign's/C +sign/AFCGDS +signage/M +signal/MDRYSZG +signaler/M +signalization/M +signalize/GDS +signalman/M +signalmen +signatory/SM +signature/MS +signboard/MS +signed/U +signer/CMS +signet/MS +significance/IM +significant/IY +signification/M +signify/XDSNG +signing's/C +signings +signor/FMS +signora/SM +signore +signori +signorina/MS +signorine +signpost/GSMD +silage/M +silence/DRSMZG +silencer/M +silent/MRYST +silhouette/DSMG +silica/M +silicate/MS +siliceous +silicon/SM +silicone/M +silicosis/M +silk/MNS +silkily +silkiness/M +silkscreen/SM +silkworm/MS +silky/TRP +sill/MS +silliness/M +silly/TRSMP +silo/MS +silt/GMDS +silty/TR +silver/GMDS +silverfish/MS +silversmith/M +silversmiths +silverware/M +silvery +sim/SM +simian/MS +similar/Y +similarity/ESM +simile/MS +similitude/EM +simmer/GMDS +simonize/DSG +simony/M +simpatico +simper/GMDS +simpering/Y +simple/TRP +simpleminded +simpleness/M +simpleton/SM +simplex +simplicity/M +simplification/M +simplify/DSXNG +simplistic +simplistically +simply +simulacra +simulacrum/S +simulate/EDSGN +simulation/EM +simulations +simulator/EMS +simulcast/GMDS +simultaneity/M +simultaneous/Y +sin/ASM +since +sincere/IYT +sincerer +sincerity/IM +sine/MS +sinecure/MS +sinew/MS +sinewy +sinful/PY +sinfulness/M +sing/BZGMDRYS +singalong/S +singe/MS +singeing +singer/M +singing/M +single/PMGDS +singleness/M +singles/M +singlet/S +singleton/SM +singletree/SM +singsong/SMDG +singular/SMY +singularity/SM +sinister +sink/BZGMRS +sinkable/U +sinker/M +sinkhole/SM +sinless +sinned +sinner/MS +sinning +sinology +sinuosity/M +sinuous/Y +sinus/MS +sinusitis/M +sinusoidal +sip/SM +siphon/GMDS +sipped +sipper/SM +sipping +sir/SXMN +sire/CMGDS +siren/M +sirloin/SM +sirocco/SM +sirrah +sirree/M +sis/MS +sisal/M +sissified +sissy/RSMT +sister/ASM +sisterhood/MS +sisterliness/M +sisterly/P +sit/S +sitar/SM +sitarist/MS +sitcom/SM +site/MGDS +sitemap/SM +sitter/SM +sitting/SM +situ +situate/DSXGN +situation/M +situational +six/MSH +sixfold +sixpence/MS +sixshooter/M +sixteen/SMH +sixteenth/M +sixteenths +sixth/M +sixths +sixtieth/M +sixtieths +sixty/SMH +sizable +size's +size/AGDS +sizer +sizing/M +sizzle/DRSMZG +ska/M +skate/MZGDRS +skateboard/MDRSZG +skateboarder/M +skateboarding/M +skater/M +skating/M +skedaddle/MGDS +skeet/ZMR +skein/MS +skeletal +skeleton/SM +skeptic/SM +skeptical/Y +skepticism/M +sketch/MDRSZG +sketchbook/S +sketcher/M +sketchily +sketchiness/M +sketchpad/S +sketchy/RTP +skew/MDRZGS +skewbald/S +skewer/MDG +ski/SZGMDR +skibob/S +skid/MS +skidded +skidding +skidpan/S +skier/M +skiff/SM +skiffle +skiing/M +skill's +skill/CSD +skilled/U +skillet/SM +skillful/UY +skillfulness/M +skim/MS +skimmed +skimmer/SM +skimming +skimp/SDG +skimpily +skimpiness/M +skimpy/RTP +skin/MS +skincare/M +skinflint/MS +skinful +skinhead/MS +skinless +skinned +skinniness/M +skinning +skinny/RMTP +skint +skintight +skip/MS +skipped +skipper/SMDG +skipping +skirmish/ZGMDRS +skirt/SMDG +skit/MS +skitter/GSD +skittish/YP +skittishness/M +skittle/S +skive/DRSZG +skivvy/DSMG +skoal/SM +skua/S +skulduggery/M +skulk/SDRZG +skulker/M +skull/SM +skullcap/MS +skunk/SMDG +sky/GSM +skycap/SM +skydive/DRSZG +skydiver/M +skydiving/M +skyjack/JZGSDR +skyjacker/M +skyjacking/M +skylark/SGMD +skylight/MS +skyline/SM +skyrocket/GSMD +skyscraper/SM +skyward/S +skywriter/SM +skywriting/M +slab/MS +slabbed +slabbing +slack/PXZTGMDNRYS +slacken/DG +slacker/M +slackness/M +slacks/M +slag/MS +slagged +slagging +slagheap/S +slain +slake/GDS +slalom/MSDG +slam/MS +slammed +slammer/SM +slamming +slander/MZGDRS +slanderer/M +slanderous +slang/M +slangy/RT +slant/MSDG +slanting/Y +slantwise +slap/MS +slapdash +slaphappy +slapped +slapper/S +slapping +slapstick/M +slash/MDRSZG +slasher/M +slat/MDGS +slate/SM +slather/SDG +slatted +slattern/SMY +slaughter/MDRZGS +slaughterer/M +slaughterhouse/MS +slave/DRSMZG +slaveholder/MS +slaver/MDG +slavery/M +slavish/PY +slavishness/M +slaw/M +slay/DRZGJS +slayer/M +slaying/M +sleaze/SM +sleazebag/S +sleazeball/S +sleazily +sleaziness/M +sleazy/PRT +sled/MS +sledded +sledder/SM +sledding +sledge/DSMG +sledgehammer/GSMD +sleek/SDRYTGP +sleekness/M +sleep/SMRZG +sleeper/M +sleepily +sleepiness/M +sleepless/PY +sleeplessness/M +sleepover/SM +sleepwalk/ZGSDR +sleepwalker/M +sleepwalking/M +sleepwear/M +sleepy/RPT +sleepyhead/MS +sleet/SMDG +sleety +sleeve/DSM +sleeveless +sleigh/MDG +sleighs +sleight/SM +slender/PRT +slenderize/DSG +slenderness/M +slept +sleuth/MG +sleuths +slew/MDGS +slice/DRSMZG +slicer/M +slick/SMDRYZTGP +slicker/M +slickness/M +slid +slide/RSMZG +slider/M +slideshow/MS +slight/SMDRYTGP +slightness/M +slim/PS +slime/M +sliminess/M +slimline +slimmed +slimmer/S +slimmest +slimming/M +slimness/M +slimy/RTP +sling/SMG +slingback/S +slingshot/SM +slink/SG +slinky/RT +slip/MS +slipcase/MS +slipcover/MS +slipknot/MS +slippage/MS +slipped +slipper/SM +slipperiness/M +slippery/PRT +slipping +slippy +slipshod +slipstream/SM +slipway/SM +slit/MS +slither/SGMD +slithery +slitter +slitting +sliver/GSMD +slob/MS +slobbed +slobber/MDSG +slobbery +slobbing +sloe/MS +slog/MS +slogan/SM +sloganeering +slogged +slogging +sloop/SM +slop/MDGS +slope/SM +slopped +sloppily +sloppiness/M +slopping +sloppy/PTR +slops/M +slosh/DSG +slot/MS +sloth/M +slothful/YP +slothfulness/M +sloths +slotted +slotting +slouch/ZGMDRS +sloucher/M +slouchy/TR +slough/GMD +sloughs +sloven/SMY +slovenliness/M +slovenly/PTR +slow/DRYTGSP +slowcoach/S +slowdown/SM +slowness/M +slowpoke/SM +sludge/M +sludgy/RT +slue/MGDS +slug/MS +sluggard/MS +slugged +slugger/SM +slugging +sluggish/PY +sluggishness/M +sluice/DSMG +slum/MS +slumber/GSMD +slumberous +slumdog/SM +slumlord/MS +slummed +slummer +slumming +slummy/RT +slump/SMDG +slung +slunk +slur/MS +slurp/SMDG +slurred +slurring +slurry/M +slush/M +slushiness/M +slushy/RPT +slut/MS +sluttish +slutty/RT +sly/TRY +slyness/M +smack/SMDRZG +smacker/M +small/SMRTP +smallholder/S +smallholding/S +smallish +smallness/M +smallpox/M +smarmy/RT +smart/SMDNRYXTGP +smarten/DG +smartness/M +smartphone/SM +smarts/M +smartwatch/MS +smarty/SM +smartypants/M +smash/MDRSZG +smasher/M +smashup/SM +smattering/MS +smear/SMDG +smeary/RT +smell/SMDG +smelliness/M +smelly/RPT +smelt/SMDRZG +smelter/M +smidgen/MS +smilax/M +smile/DSMG +smiley/SM +smiling/Y +smirch/GMDS +smirk/SMDG +smite/SG +smith/M +smithereens/M +smiths +smithy/SM +smitten +smock/SMDG +smocking/M +smog/MS +smoggy/RT +smoke/DRSMZG +smokehouse/MS +smokeless +smoker/M +smokescreen/SM +smokestack/SM +smokey +smokiness/M +smoking/M +smoky/RTP +smolder/SGMD +smooch/MDSG +smoochy +smooth/PDRYTG +smoothie/MS +smoothness/M +smooths +smorgasbord/SM +smote +smother/GSMD +smudge/DSMG +smudgy/TR +smug/YP +smugger +smuggest +smuggle/ZGDRS +smuggler/M +smuggling/M +smugness/M +smurf/S +smut/MS +smuttiness/M +smutty/TRP +snack/SMDG +snaffle/DSMG +snafu/SM +snag/MS +snagged +snagging +snail/SMDG +snake/DSMG +snakebite/MS +snakelike +snakeskin +snaky/RT +snap's +snap/US +snapdragon/SM +snapped/U +snapper/MS +snappily +snappiness/M +snapping/U +snappish/YP +snappishness/M +snappy/TRP +snapshot/SM +snare/DSMG +snarf/SDG +snark/S +snarky/TR +snarl's +snarl/USDG +snarling/Y +snarly/TR +snatch/ZGMDRS +snatcher/M +snazzily +snazzy/TR +sneak/SMDRZG +sneaker/M +sneakily +sneakiness/M +sneaking/Y +sneaky/TRP +sneer/SJMDG +sneering/Y +sneeze/DSMG +snick/SDRZG +snicker/MDG +snide/RYT +sniff/SMDRZG +sniffer/M +sniffle/DSMG +sniffy/RT +snifter/SM +snip/MDRZGS +snipe/SM +sniper/M +snipped +snippet/SM +snipping +snippy/RT +snips/M +snit/MS +snitch/MDSG +snivel/SMDRZG +sniveler/M +snob/MS +snobbery/M +snobbish/PY +snobbishness/M +snobby/RT +snog/S +snogged +snogging +snood/SM +snooker/MDSG +snoop/SMDRZG +snooper/M +snoopy/TR +snoot/SM +snootily +snootiness/M +snooty/PTR +snooze/DSMG +snore/DRSMZG +snorer/M +snorkel/ZGMDRS +snorkeler/M +snorkeling/M +snort/SMDRZG +snorter/M +snot/MS +snottily +snottiness/M +snotty/TPR +snout/SM +snow/MDGS +snowball/GSMD +snowbank/SM +snowbird/SM +snowblower/MS +snowboard/ZGMDRS +snowboarder/M +snowboarding/M +snowbound +snowdrift/SM +snowdrop/SM +snowfall/SM +snowfield/SM +snowflake/SM +snowiness/M +snowline +snowman/M +snowmen +snowmobile/DSMG +snowplow/SGMD +snowshed +snowshoe/SM +snowshoeing +snowstorm/SM +snowsuit/SM +snowy/PRT +snub/MS +snubbed +snubbing +snuff/SMDRYZG +snuffbox/MS +snuffer/M +snuffle/MGDS +snug/MYSP +snugged +snugger +snuggest +snugging +snuggle/MGDS +snugness/M +so +soak/MDGSJ +soaking/M +soap/MDGS +soapbox/MS +soapiness/M +soapstone/M +soapsuds/M +soapy/RPT +soar/MDGS +sob/SM +sobbed +sobbing/Y +sober/SDRYPTG +soberness/M +sobriety/IM +sobriquet/SM +soc +soccer/M +sociability/M +sociable/SM +sociably +social/SMY +socialism/M +socialist/SM +socialistic +socialite/SM +socialization/M +socialize/DSG +societal +society/SM +socioeconomic +socioeconomically +sociological/Y +sociologist/SM +sociology/M +sociopath/M +sociopaths +sociopolitical +sock/MDGS +socket/SM +sockeye/SM +sod/SM +soda/MS +sodded +sodden/Y +sodding +sodium/M +sodomite/MS +sodomize/GDS +sodomy/M +soever +sofa/MS +soft/NRYXTP +softback +softball/MS +softbound +softcover +soften/DRZG +softener/M +softhearted +softness/M +software/M +softwood/SM +softy/SM +soggily +sogginess/M +soggy/RTP +soigne +soignee +soil/MDGS +soiled/U +soiree/SM +sojourn/ZGMDRS +sojourner/M +sol/SM +solace/DSMG +solar +solaria +solarium/M +sold +solder/ZGSMDR +solderer/M +soldier/MDYSG +soldiery/M +sole/FSDGM +solecism/SM +solely +solemn/PTRY +solemness/M +solemnify/DSG +solemnity/SM +solemnization/M +solemnize/DSG +solemnness/M +solenoid/MS +solicit/GDS +solicitation/SM +solicited/U +solicitor/SM +solicitous/PY +solicitousness/M +solicitude/M +solid/PSMRYT +solidarity/M +solidi +solidification/M +solidify/DSNG +solidity/M +solidness/M +solidus/M +soliloquies +soliloquize/DSG +soliloquy/M +solipsism/M +solipsistic +solitaire/MS +solitariness/M +solitary/SMP +solitude/M +solo/MDGS +soloist/MS +solstice/MS +solubility/IM +soluble/MS +solute's +solute/AXN +solutes +solution's/AE +solvable/IU +solve/EADSG +solved/U +solvency/IM +solvent/IMS +solver/SM +somatic +somatosensory +somber/PY +somberness/M +sombrero/MS +some +somebody/SM +someday +somehow +someone/MS +someplace +somersault/MDGS +somerset/SM +somersetted +somersetting +something/SM +sometime/S +someway/S +somewhat/S +somewhere +somnambulism/M +somnambulist/SM +somnolence/M +somnolent +son/SM +sonar/SM +sonata/SM +sonatina/SM +song/MS +songbird/SM +songbook/SM +songfest/SM +songster/MS +songstress/MS +songwriter/SM +songwriting +sonic +sonnet/SM +sonny/SM +sonogram/SM +sonority/M +sonorous/YP +sonorousness/M +sonsofbitches +soon/RT +soot/M +sooth/MDRSZG +soothe +soother/M +soothing/Y +soothsayer/MS +soothsaying/M +sooty/RT +sop/SM +soph +sophism/M +sophist/MS +sophistic +sophistical +sophisticate/DSMGN +sophisticated/U +sophistication/M +sophistry/SM +sophomore/MS +sophomoric +soporific/MS +soporifically +sopped +sopping +soppy/RT +soprano/MS +sorbet/SM +sorcerer/MS +sorceress/MS +sorcery/M +sordid/PY +sordidness/M +sore/MYTRSP +sorehead/MS +soreness/M +sorghum/M +sorority/SM +sorrel/SM +sorrily +sorriness/M +sorrow/SMDG +sorrowful/YP +sorrowfulness/M +sorry/RTP +sort/FASGDM +sorta +sorted/U +sorter/SM +sortie/DSM +sortieing +sot/SM +sottish +sou'wester +sou/SMH +souffle/SM +sough/MDG +soughs +sought/U +souk/S +soul/MS +soulful/YP +soulfulness/M +soulless/YP +soulmate/SM +sound/JPSMDRYZTG +soundalike/S +soundbar/S +soundbite/S +soundboard/MS +soundcheck/S +sounder/M +sounding/M +soundless/Y +soundness/UM +soundproof/GDS +soundproofing/M +soundscape/S +soundtrack/SM +soup/MDGS +soupcon/MS +soupy/RT +sour/MDRYTGSP +source/ADSMG +sourdough/M +sourdoughs +sourish +sourness/M +sourpuss/MS +sousaphone/MS +souse/DSMG +south/M +southbound +southeast/ZMR +southeaster/MY +southeastern +southeastward/S +southerly/SM +southern/SZMR +southerner/M +southernmost +southpaw/SM +southward/MS +southwest/ZMR +southwester/MY +southwestern +southwestward/S +souvenir/SM +sovereign/SM +sovereignty/M +soviet/SM +sow's +sow/ASGD +sower/SM +sown/A +soy/M +soybean/MS +sozzled +spa/SM +space/DRSMZG +spacecraft/MS +spaceflight/MS +spaceman/M +spacemen +spaceport/SM +spacer/M +spaceship/SM +spacesuit/SM +spacetime +spacewalk/SGMD +spacewoman/M +spacewomen +spacey +spacial +spacier +spaciest +spaciness/M +spacing/M +spacious/YP +spaciousness/M +spade/DSMG +spadeful/MS +spadework/M +spadices +spadix/M +spaghetti/M +spake +spam/MS +spammed +spammer/SM +spamming +span/MS +spandex/M +spangle/DSMG +spangly +spaniel/SM +spank/SMDGJ +spanking/M +spanned +spanner/SM +spanning +spar/MS +spare/DRSMYTGP +spareness/M +spareribs/M +sparing/UY +spark/SMDYG +sparkle/DRSMZG +sparkler/M +sparky/RT +sparred +sparring +sparrow/SM +sparrowhawk/S +sparse/RYTP +sparseness/M +sparsity/M +spartan +spasm/SM +spasmodic +spasmodically +spastic/SM +spat/MS +spate/SM +spathe/SM +spatial/Y +spatted +spatter/SGMD +spatting +spatula/SM +spavin/MD +spawn/SMDG +spay/DGS +speak/SRZGJ +speakeasy/SM +speaker/M +speakerphone/S +spear/SMDG +spearfish/GMDS +speargun +spearhead/GMDS +spearmint/M +spec/MS +special/SMY +specialism/S +specialist/MS +specialization/MS +specialize/GDS +specialty/SM +specie/SM +species/M +specif +specifiable +specific/MS +specifically +specification/M +specificity/M +specified/U +specify/XNZDRSG +specimen/SM +specious/YP +speciousness/M +speck/SMDG +speckle/MGDS +specs/M +spectacle/SM +spectacles/M +spectacular/MYS +spectate/DSG +spectator/SM +specter/AMS +spectra +spectral +spectrometer/MS +spectroscope/MS +spectroscopic +spectroscopy/M +spectrum/M +speculate/DSXGNV +speculation/M +speculative/Y +speculator/MS +sped +speech/MS +speechify/DSG +speechless/YP +speechlessness/M +speechwriter/S +speed/SMRZG +speedboat/SM +speeder/M +speedily +speediness/M +speeding/M +speedometer/MS +speedster/SM +speedup/MS +speedway/SM +speedwell/M +speedy/TPR +speleological +speleologist/MS +speleology/M +spell/JSMDRZG +spellbind/ZGRS +spellbinder/M +spellbound +spellcheck/MDRZGS +spellchecker/M +spelldown/SM +speller/M +spelling/M +spelunker/MS +spelunking/M +spend/BSRZG +spender/M +spending/M +spendthrift/MS +spent/U +sperm/SM +spermatozoa +spermatozoon/M +spermicidal +spermicide/MS +spew/MDRZGS +spewer/M +sphagnum/MS +sphere/SM +spherical/Y +spheroid/SM +spheroidal +sphincter/MS +sphinx/MS +spic/S +spice/DSMG +spicily +spiciness/M +spicule/MS +spicy/PRT +spider/SM +spiderweb/MS +spidery +spiel/SMDG +spiff/SDG +spiffy/TR +spigot/SM +spike/DSMG +spikiness/M +spiky/RPT +spill/SMDG +spillage/MS +spillover/SM +spillway/MS +spin/MS +spinach/M +spinal/SMY +spindle/MGDS +spindly/TR +spine/SM +spineless/YP +spinet/SM +spinless +spinnaker/SM +spinner/MS +spinneret/SM +spinney/S +spinning/M +spinster/SM +spinsterhood/M +spinsterish +spiny/RT +spiracle/SM +spiral/SGMDY +spire's +spire/IFAS +spirea/SM +spirit's +spirit/ISGD +spirited/Y +spiritless +spiritual/MYS +spiritualism/M +spiritualist/MS +spiritualistic +spirituality/M +spirituous +spirochete/SM +spiry +spit/MDGS +spitball/SM +spite/ASM +spiteful/PY +spitefuller +spitefullest +spitefulness/M +spitfire/SM +spitted +spitting +spittle/M +spittoon/MS +spiv/S +splanchnic +splash/GMDS +splashdown/MS +splashily +splashiness/M +splashy/RTP +splat/SM +splatted +splatter/GSMD +splatting +splay/SMDG +splayfeet +splayfoot/MD +spleen/SM +splendid/RYT +splendor/MS +splendorous +splenectomy +splenetic +splice/DRSMZG +splicer/M +spliff/S +spline/S +splint/SZGMDR +splinter/MDG +splintery +split/SM +splitting/MS +splodge/S +splosh/DSG +splotch/MDSG +splotchy/TR +splurge/DSMG +splutter/GMDS +spoil's +spoil/CSDRZG +spoilage/M +spoiled/U +spoiler/CM +spoilsport/MS +spoke/SM +spoken/U +spokesman/M +spokesmen +spokespeople +spokesperson/MS +spokeswoman/M +spokeswomen +spoliation/CM +sponge/DRSMZG +sponger/M +sponginess/M +spongy/RPT +sponsor/MDGS +sponsorship/M +spontaneity/M +spontaneous/Y +spoof/SMDG +spook/SMDG +spookiness/M +spooky/RPT +spool/SMDG +spoon/SMDG +spoonbill/MS +spoonerism/MS +spoonful/SM +spoor/SMDG +sporadic +sporadically +spore/DSMG +sporran/S +sport/SMDGV +sportiness/M +sporting/Y +sportive/Y +sportscast/MRZGS +sportscaster/M +sportsman/M +sportsmanlike/U +sportsmanship/M +sportsmen +sportspeople +sportsperson +sportswear/M +sportswoman/M +sportswomen +sportswriter/SM +sporty/TPR +spot/CMS +spotless/PY +spotlessness/M +spotlight/GSMD +spotlit +spotted +spotter/MS +spottily +spottiness/M +spotting +spotty/TPR +spousal/MS +spouse/SM +spout/SMDG +sprain/GSMD +sprang +sprat/SM +sprawl/GSMD +spray's +spray/ASDG +sprayer/MS +spread/ZGBSMR +spreadeagled +spreader/M +spreadsheet/MS +spree/DSM +spreeing +sprig/SM +sprigged +sprightliness/M +sprightly/RTP +spring/GSM +springboard/MS +springbok/MS +springily +springiness/M +springlike +springtime/M +springy/RPT +sprinkle/DRSJMZG +sprinkler/M +sprinkling/M +sprint/ZGSMDR +sprinter/M +sprite/SM +spritz/ZGMDRS +spritzer/M +sprocket/MS +sprog/S +sprout/GSMD +spruce/DRSPMYTG +spruceness/M +sprung +spry/RYT +spryness/M +spud/MS +spume/DSMG +spumoni/M +spumy +spun +spunk/SM +spunky/TR +spur/MS +spurge/M +spurious/PY +spuriousness/M +spurn/SDG +spurred +spurring +spurt/SMDG +sputa +sputnik/MS +sputter/MDGS +sputum/M +spy/GDSM +spyglass/MS +spymaster/S +spyware/M +sq +sqq +squab/SM +squabble/MZGDRS +squabbler/M +squad/SM +squadron/MS +squalid/PTRY +squalidness/M +squall/SGMD +squally +squalor/M +squamous +squander/GDS +square/PDRSMYTG +squareness/M +squarish +squash/GMDS +squashy/TR +squat/SMP +squatness/M +squatted +squatter/MS +squattest +squatting +squaw/SM +squawk/SZGMDR +squawker/M +squeak/SZGMDR +squeaker/M +squeakily +squeakiness/M +squeaky/TRP +squeal/SZGMDR +squealer/M +squeamish/PY +squeamishness/M +squeegee/MDS +squeegeeing +squeeze/BMZGDRS +squeezebox/S +squeezer/M +squelch/GMDS +squelchy +squib/SM +squid/SM +squidgy +squiffy +squiggle/DSMG +squiggly +squint/STGMDR +squire/DSMG +squirm/SGMD +squirmy/RT +squirrel/SGMD +squirt/SGMD +squish/GMDS +squishy/RT +sriracha +ssh +st +stab/MYS +stabbed +stabber/MS +stabbing/MS +stability/IM +stabilization/CM +stabilize/CDSG +stabilizer/MS +stable/DRSMTG +stableman/M +stablemate/S +stablemen +stably/U +staccato/MS +stack/SMDG +stadium/MS +staff's +staff/ASDG +staffer/MS +staffing/M +stag/MDGSJ +stage/SM +stagecoach/MS +stagecraft/M +stagehand/MS +stagestruck +stagflation/M +stagger/MDGS +staggering/Y +staging/M +stagnancy/M +stagnant/Y +stagnate/DSGN +stagnation/M +stagy/RT +staid/PRYT +staidness/M +stain/SMDG +stained/U +stainless/M +stair/SM +staircase/MS +stairway/MS +stairwell/SM +stake/DSMG +stakeholder/MS +stakeout/SM +stalactite/MS +stalagmite/MS +stale/DRSTGP +stalemate/DSMG +staleness/M +stalk/SMDRJZG +stalker/M +stalking/M +stall's +stall/SDG +stallholder/S +stallion/MS +stalwart/MYS +stamen/SM +stamina/M +stammer/ZGMDRS +stammerer/M +stammering/Y +stamp/SMDRZG +stampede/MGDS +stamper/M +stance/ISM +stanch/TGDRS +stanchion/SM +stand/SMRJZG +standalone +standard/MS +standardization/M +standardize/DSG +standby/M +standbys +standee/MS +stander/M +standing/M +standoff/MS +standoffish +standout/MS +standpipe/SM +standpoint/MS +standstill/MS +stank +stanza/SM +staph/M +staphylococcal +staphylococci +staphylococcus/M +staple/DRSMZG +stapler/M +star/MDRZGS +starboard/M +starburst/S +starch/GMDS +starchily +starchiness/M +starchy/PTR +stardom/M +stardust/M +stare/SM +starer/M +starfish/MS +starfruit +stargaze/DRSZG +stargazer/M +stark/RYPZT +starkness/M +starless +starlet/MS +starlight/M +starling/SM +starlit +starred +starring +starry/TR +starstruck +start/ASMDG +starter/MS +startle/GDS +startling/Y +startup/MS +starvation/M +starve/DSJG +starveling/MS +stash/MDSG +stasis +stat/MS +state/DRSMYGNLX +statecraft/M +stated/U +statehood/M +statehouse/MS +stateless/P +statelessness/M +stateliness/M +stately/PRT +statement/AMS +statemented +statementing +stateroom/MS +stateside +statesman/M +statesmanlike +statesmanship/M +statesmen +stateswoman/M +stateswomen +statewide +static/SM +statically +station/MDRZG +stationary +stationer/M +stationery/M +stationmaster/S +statistic/MS +statistical/Y +statistician/SM +statuary/M +statue/SM +statuesque +statuette/MS +stature/MS +status/MS +statute/MS +statutorily +statutory +staunch/PDRSYTG +staunchness/M +stave/DSMG +stay/MDRZGS +std +stdio +stead/SM +steadfast/YP +steadfastness/M +steadily/U +steadiness/UM +steady/TGPDRSM +steak/SM +steakhouse/SM +steal/SMHG +stealth/M +stealthily +stealthiness/M +stealthy/TPR +steam/SMDRZG +steamboat/MS +steamer/M +steamfitter/SM +steamfitting/M +steaminess/M +steampunk +steamroll/ZGDRS +steamroller/MDG +steamship/MS +steamy/TPR +steed/SM +steel/SMDG +steeliness/M +steelmaker/S +steelworker/SM +steelworks/M +steely/PTR +steelyard/SM +steep/SMDNRYPXTG +steepen/GD +steeple/MS +steeplechase/MS +steeplejack/SM +steepness/M +steer/SMDBG +steerage/M +steering/M +steersman/M +steersmen +stegosauri +stegosaurus/MS +stein/SM +stellar +stem/MS +stemless +stemmed +stemming +stemware/M +stench/MS +stencil/GMDS +steno/SM +stenographer/SM +stenographic +stenography/M +stenosis +stent/SM +stentorian +step/IMS +stepbrother/SM +stepchild/M +stepchildren/M +stepdad/MS +stepdaughter/SM +stepfather/SM +stepladder/MS +stepmom/MS +stepmother/SM +stepparent/SM +steppe/DRSMZG +stepper/M +steppingstone/SM +stepsister/MS +stepson/MS +stereo/SM +stereophonic +stereoscope/MS +stereoscopic +stereotype/DSMG +stereotypical +sterile +sterility/M +sterilization/SM +sterilize/DRSZG +sterilizer/M +sterling/M +stern/SMRYPT +sternness/M +sternum/MS +steroid/MS +steroidal +stertorous +stet/S +stethoscope/MS +stetson/MS +stetted +stetting +stevedore/SM +stew/MDGS +steward/GMDS +stewardess/MS +stewardship/M +stick/SMRZG +sticker/M +stickily +stickiness/M +stickleback/SM +stickler/MS +stickpin/MS +stickup/MS +sticky/PTRSM +stiff/SMDNRYPXTG +stiffen/ZGDR +stiffener/M +stiffening/M +stiffness/M +stifle/DSJG +stifling/Y +stigma/SM +stigmata +stigmatic +stigmatization/M +stigmatize/GDS +stile/SM +stiletto/SM +still's +still/ITGSD +stillbirth/M +stillbirths +stillborn +stiller +stillness/M +stilt/SMD +stilted/Y +stimulant/SM +stimulate/DSGNV +stimulation/M +stimuli +stimulus/M +sting/ZGSMR +stinger/M +stingily +stinginess/M +stingray/SM +stingy/RTP +stink/ZGSMR +stinkbug/SM +stinker/M +stinky/RT +stint/GSMD +stipend/SM +stipendiary/S +stipple/DSMG +stippling/M +stipulate/XDSGN +stipulation/M +stir/MS +stirred +stirrer/SM +stirring/SY +stirrup/SM +stitch's +stitch/ADSG +stitchery/M +stitching/M +stoat/SM +stochastic +stock's +stock/AGSD +stockade/DSMG +stockbreeder/MS +stockbroker/SM +stockbroking/M +stockholder/SM +stockily +stockiness/M +stockinette/M +stocking/SM +stockist/S +stockpile/MGDS +stockpot/SM +stockroom/MS +stocktaking/M +stocky/RTP +stockyard/MS +stodge +stodgily +stodginess/M +stodgy/RTP +stogie/MS +stoic/SM +stoical/Y +stoicism/M +stoke/DRSZG +stoker/M +stole/SM +stolen +stolid/RYTP +stolidity/M +stolidness/M +stolon/MS +stomach/MDRZG +stomachache/SM +stomacher/M +stomachs +stomp/GSMD +stone/DRSMZG +stonemason/MS +stoner/M +stonewall/GSD +stoneware/M +stonewashed +stonework/M +stonily +stoniness/M +stonkered +stonking +stony/TRP +stood +stooge/MS +stool/SM +stoop/GSMD +stop's +stop/US +stopcock/SM +stopgap/SM +stoplight/MS +stopover/MS +stoppable/U +stoppage/MS +stopped/U +stopper/GSMD +stopping/U +stopple/DSMG +stopwatch/MS +storage/M +store's +store/ADSG +storefront/MS +storehouse/MS +storekeeper/SM +storeroom/SM +stork/SM +storm/GSMD +stormily +storminess/M +stormy/RPT +story/DSM +storyboard/MS +storybook/SM +storyteller/MS +storytelling/M +stoup/SM +stout/TSMRYP +stouthearted +stoutness/M +stove/SM +stovepipe/SM +stow/DGS +stowage/M +stowaway/MS +straddle/DRSMZG +straddler/M +strafe/MGDS +straggle/DRSZG +straggler/M +straggly/TR +straight/SPXTMNRY +straightaway/SM +straightedge/SM +straighten/ZGDR +straightener/M +straightforward/YPS +straightforwardness/M +straightness/M +straightway +strain's +strain/FADSG +strainer/ASM +strait/MNSX +straiten/GD +straitjacket/SGMD +straitlaced +strand/MDSG +strange/PRYZT +strangeness/M +stranger/M +strangle/ZGDRS +stranglehold/SM +strangler/M +strangulate/GNDS +strangulation/M +strap's +strap/US +strapless/MS +strapped/U +strapping/M +strata +stratagem/SM +strategic/S +strategical/Y +strategics/M +strategist/SM +strategy/SM +strati +stratification/M +stratify/DSGN +stratosphere/SM +stratospheric +stratum/M +stratus/M +straw/GSMD +strawberry/SM +stray/GSMD +streak/MDRSZG +streaker/M +streaky/TR +stream/MDRSZG +streamer/M +streamline/DSG +street/MS +streetcar/MS +streetlamp/S +streetlight/SM +streetwalker/SM +streetwise +strength/M +strengthen/AGDS +strengthener/MS +strengths +strenuous/PY +strenuousness/M +strep/M +streptococcal +streptococci +streptococcus/M +streptomycin/M +stress/MDSG +stressed/U +stressful +stressors +stretch/BZGMDRS +stretcher/MDG +stretchmarks +stretchy/TR +strew/GSDH +strewn +stria/M +striae +striated +striation/MS +stricken +strict/RYPT +strictness/M +stricture/SM +stridden +stride/MGS +stridency/M +strident/Y +strife/M +strike/MZGRSJ +strikebound +strikebreaker/SM +strikebreaking +strikeout/MS +striker/M +striking/Y +string/MDRSZG +stringency/M +stringent/Y +stringer/M +stringiness/M +stringy/PTR +strip/GSMD +stripe/MS +stripey +stripling/MS +stripped +stripper/MS +stripping +striptease/MZGDRS +stripteaser/M +stripy +strive/GS +striven +strobe/MS +stroboscope/MS +stroboscopic +strode +stroke/MGDS +stroll/MDRSZG +stroller/M +strong/RYT +strongbox/MS +stronghold/MS +strongman/M +strongmen +strongroom/S +strontium/M +strop/SM +strophe/SM +strophic +stropped +stroppily +stropping +stroppy/TRP +strove +struck +structural/Y +structuralism +structuralist/S +structure's +structure/AGDS +structured/U +strudel/SM +struggle/MGDS +strum/SM +strummed +strumming +strumpet/MS +strung/UA +strut/SM +strutted +strutting +strychnine/M +stub/MS +stubbed +stubbing +stubble/M +stubbly +stubborn/RYPT +stubbornness/M +stubby/RT +stucco/MDG +stuccoes +stuck/U +stud/MYS +studbook/MS +studded +studding/M +student/SM +studentship/S +studied/U +studiedly +studio/MS +studious/PY +studiousness/M +studly/RT +study's +study/AGDS +stuff/GSMDJ +stuffily +stuffiness/M +stuffing/M +stuffy/RPT +stultification/M +stultify/DSNG +stumble/DRSMZG +stumbler/M +stump/GSMD +stumpy/TR +stun/S +stung +stunk +stunned +stunner/S +stunning/Y +stunt/GSMD +stuntman +stuntmen +stupefaction/M +stupefy/DSG +stupendous/Y +stupid/TMRYS +stupidity/SM +stupor/MS +sturdily +sturdiness/M +sturdy/TRP +sturgeon/SM +stutter/MDRSZG +stutterer/M +sty/SM +style's +style/ADSG +styli +stylish/PY +stylishness/M +stylist/SM +stylistic/S +stylistically +stylize/DSG +stylus/MS +stymie/MDS +stymieing +styptic/SM +suasion/EM +suave/RYTP +suaveness/M +suavity/M +sub/SM +subaltern/MS +subaqua +subarctic +subarea/MS +subatomic +subbasement/SM +subbed +subbing +subbranch/MS +subcategory/SM +subclass +subcommittee/SM +subcompact/SM +subconscious/PMY +subconsciousness/M +subcontinent/SM +subcontinental +subcontract/MDSG +subcontractor/MS +subculture/MS +subcutaneous/Y +subdivide/GDS +subdivision/SM +subdomain/MS +subdominant +subdue/DSG +subeditor/S +subfamily/SM +subfreezing +subgroup/MS +subhead/GJMS +subheading/M +subhuman/MS +subj +subject/GVMDS +subjection/M +subjective/Y +subjectivity/M +subjoin/GDS +subjugate/GNDS +subjugation/M +subjunctive/SM +sublease/MGDS +sublet/SM +subletting +sublieutenant/S +sublimate/GNDS +sublimation/M +sublime/YTGDRS +subliminal/Y +sublimity/M +sublingual +submarginal +submarine/MZRS +submariner/M +submerge/GDS +submergence/M +submerse/GNDS +submersible/MS +submersion/M +submicroscopic +submission/MS +submissive/PY +submissiveness/M +submit/AS +submitted/A +submitter +submitting/A +subnormal +suborbital +suborder/MS +subordinate/DSMGN +subordination/IM +suborn/SGD +subornation/M +subpar +subparagraph +subpart +subplot/MS +subpoena/GMDS +subprime +subprofessional/SM +subprogram/S +subroutine/SM +subscribe/UASDG +subscriber/MS +subscript/MS +subscription/MS +subsection/MS +subsequent/Y +subservience/M +subservient/Y +subset/SM +subside/GDS +subsidence/M +subsidiarity +subsidiary/SM +subsidization/M +subsidize/ZGDRS +subsidizer/M +subsidy/SM +subsist/SDG +subsistence/M +subsoil/M +subsonic +subspace +subspecies/M +substance/SM +substandard +substantial/IY +substantiate/GNDSX +substantiated/U +substantiation/FM +substantive/SMY +substation/MS +substituent +substitute/XMGNDS +substitution/M +substrata +substrate/MS +substratum/M +substructure/SM +subsume/DSG +subsumption +subsurface/M +subsystem/SM +subteen/SM +subtenancy/M +subtenant/SM +subtend/SDG +subterfuge/SM +subterranean +subtext/SM +subtitle/DSMG +subtle/TR +subtlety/SM +subtly +subtopic/SM +subtotal/SGMD +subtract/GSD +subtraction/SM +subtrahend/SM +subtropic/S +subtropical +subtropics/M +suburb/MS +suburban/SM +suburbanite/SM +suburbia/M +subvention/SM +subversion/M +subversive/SPMY +subversiveness/M +subvert/SDG +subway/MS +subzero +succeed/GDS +success/VMS +successful/UY +succession/SM +successive/Y +successor/SM +succinct/RYTP +succinctness/M +succor/SGMD +succotash/M +succubi +succubus +succulence/M +succulency/M +succulent/SM +succumb/GDS +such +suchlike +suck/MDRZGS +sucker/GMD +suckle/DSJG +suckling/M +sucrose/M +suction/SMDG +sudden/PY +suddenness/M +suds/M +sudsy/TR +sue/DSG +suede/M +suet/M +suety +suffer/DRZGSJ +sufferance/M +sufferer/M +suffering/M +suffice/DSG +sufficiency/IM +sufficient/IY +suffix/MDSG +suffixation/M +suffocate/GNDS +suffocation/M +suffragan/MS +suffrage/M +suffragette/SM +suffragist/MS +suffuse/DSGN +suffusion/M +sugar/GSMD +sugarcane/M +sugarcoat/GDS +sugarless +sugarplum/MS +sugary/RT +suggest/GVSDR +suggestibility/M +suggestible +suggestion/SM +suggestive/YP +suggestiveness/M +suicidal +suicide/SM +suit/BMDGS +suitability/UM +suitableness/M +suitably/U +suitcase/SM +suite/SM +suited/U +suiting/M +suitor/MS +sukiyaki/M +sulfa/M +sulfate/SM +sulfide/SM +sulfonamides +sulfur/MDSG +sulfuric +sulfurous +sulk/MDGS +sulkily +sulkiness/M +sulky/TRSMP +sullen/RYPT +sullenness/M +sullied/U +sully/GDS +sultan/MS +sultana/SM +sultanate/MS +sultrily +sultriness/M +sultry/RPT +sum/SM +sumac/M +summarily +summarize/GDS +summary/SM +summat +summation/FMS +summed +summer/MDSG +summerhouse/SM +summertime/M +summery +summing +summit/MS +summitry/M +summon/DRSZG +summoner/M +summons/GMDS +sumo/M +sump/MS +sumptuous/PY +sumptuousness/M +sun/SM +sunbath/ZGMDRS +sunbathe +sunbather/M +sunbathing/M +sunbaths +sunbeam/SM +sunbed/S +sunbelt/SM +sunblock/MS +sunbonnet/SM +sunburn/SGMD +sunburst/MS +sundae/MS +sundeck/S +sunder/DSG +sundial/SM +sundown/SM +sundress/S +sundries/M +sundry/S +sunfish/MS +sunflower/MS +sung/U +sunglasses/M +sunhat/S +sunk/N +sunlamp/SM +sunless +sunlight/M +sunlit +sunned +sunniness/M +sunning +sunny/TRP +sunrise/SM +sunroof/SM +sunscreen/MS +sunset/MS +sunshade/MS +sunshine/M +sunshiny +sunspot/SM +sunstroke/M +suntan/MS +suntanned +suntanning +suntrap/S +sunup/M +sup/SZMR +super/M +superabundance/MS +superabundant +superannuate/GNDS +superannuation/M +superb/RYT +supercargo/M +supercargoes +supercharge/ZGDRS +supercharger/M +supercilious/PY +superciliousness/M +supercity/SM +supercomputer/MS +superconducting +superconductive +superconductivity/M +superconductor/SM +supercritical +superego/MS +supererogation/M +supererogatory +superficial/Y +superficiality/M +superfine +superfluity/M +superfluous/YP +superfluousness/M +superglue +supergrass/S +superhero/MS +superheroes +superhighway/SM +superhuman +superimpose/GDS +superimposition/M +superintend/DSG +superintendence/M +superintendency/M +superintendent/SM +superior/MS +superiority/M +superlative/SMY +superman/M +supermarket/SM +supermassive +supermen +supermodel/SM +supermom/MS +supernal +supernatural/SY +supernova/MS +supernovae +supernumerary/SM +superpose/GDS +superposition/M +superpower/SM +supersaturate/GNDS +supersaturation/M +superscribe/GDS +superscript/MS +superscription/M +supersede/GDS +supersize/GDS +supersonic +superspreader/SM +superstar/MS +superstardom +superstate/S +superstition/MS +superstitious/Y +superstore/MS +superstructure/MS +supertanker/MS +superuser/S +supervene/GDS +supervention/M +supervise/XGNDS +supervised/U +supervision/M +supervisor/MS +supervisory +superwoman/M +superwomen +supine/Y +supp/DRZG +supper/M +suppertime +suppl +supplant/SDG +supple/TLPR +supplement/MDGS +supplemental +supplementary +supplementation/M +suppleness/M +suppliant/SM +supplicant/MS +supplicate/GDS +supplication/M +supplier/M +supply/ZGDRSMXN +support/MDRSBZGV +supportable/UI +supported/U +supporter/M +suppose/GDS +supposed/Y +supposition/MS +suppository/SM +suppress/GVDS +suppressant/MS +suppressible +suppression/M +suppressor/SM +suppurate/DSGN +suppuration/M +supra +supranational +supremacist/MS +supremacy/M +supreme/Y +supremo/S +supt +surcease/DSMG +surcharge/DSMG +surcingle/SM +sure/PYTR +surefire +surefooted +sureness/M +surety/SM +surf/MDRZGS +surface's +surface/AGDS +surfboard/MDSG +surfeit/MDSG +surfer/M +surfing/M +surge/DSMG +surgeon/MS +surgery/SM +surgical/Y +surliness/M +surly/PTR +surmise/MGDS +surmount/DGSB +surmountable/I +surname/MS +surpass/GDS +surpassed/U +surplice/MS +surplus/MS +surplussed +surplussing +surprise/DSMGJ +surprising/UY +surreal +surrealism/M +surrealist/SM +surrealistic +surrealistically +surrender/MDSG +surreptitious/PY +surreptitiousness/M +surrey/MS +surrogacy/M +surrogate/SM +surround/GSDJ +surrounding/M +surroundings/M +surtax/MDSG +surtitle/S +surveillance/M +survey's +survey/ADGS +surveying/M +surveyor/SM +survival/SM +survivalist/SM +survive/DSGB +survivor/SM +susceptibility/SM +susceptible/I +sushi/M +suspect/SMDG +suspected/U +suspend/SDRZG +suspender/M +suspense/XMN +suspenseful +suspension/M +suspicion/SM +suspicious/Y +suss/DSG +sustain/SDBG +sustainability +sustainable/U +sustainably +sustenance/M +sutler/MS +suttee +suture/MGDS +suzerain/MS +suzerainty/M +svelte/TR +swab/MS +swabbed +swabbing +swaddle/DSG +swag/MS +swagged +swagger/SMDRG +swagging +swain/SM +swallow/GSMD +swallowtail/MS +swam +swami/SM +swamp/GSMD +swampland/M +swampy/RT +swan/MS +swank/TGSMDR +swankily +swankiness/M +swanky/RPT +swanned +swanning +swansong/S +swap/MS +swapped +swapping +sward/SM +swarm/GSMD +swarthy/TR +swash/GMDS +swashbuckler/SM +swashbuckling/M +swastika/SM +swat/MS +swatch/MS +swath/GMDS +swathe/M +swaths +swatted +swatter/SMDG +swatting +sway/MDGS +swayback/MD +swayed/U +swear/ZGSR +swearer/M +swearword/MS +sweat/ZGSMDR +sweatband/MS +sweater/M +sweatpants/M +sweats/M +sweatshirt/SM +sweatshop/MS +sweatsuit/S +sweaty/RT +swede/SM +sweep/ZGSMRJ +sweeper/M +sweeping/MY +sweepings/M +sweepstakes/M +sweet/XTSMNRYP +sweetbread/SM +sweetbrier/SM +sweetcorn +sweetened/U +sweetener/MS +sweetening/M +sweetheart/SM +sweetie/SM +sweetish +sweetmeat/MS +sweetness/M +swell/TGSMDRJ +swellhead/MDS +swelling/M +swelter/SGMD +swept +sweptback +swerve/MGDS +swerving/U +swift/PTSMRY +swiftness/M +swig/MS +swigged +swigging +swill/GSMD +swim/MS +swimmer/SM +swimming/MY +swimsuit/SM +swimwear +swindle/DRSMZG +swindler/M +swine/SM +swineherd/SM +swing/ZGSMR +swingeing +swinger/M +swinish +swipe/DSMG +swirl/GSMD +swirly +swish/TGMDRS +switch/MDRSZGB +switchback/MS +switchblade/SM +switchboard/SM +switcher/M +switchover +swivel/MDGS +swiz +swizz +swizzle/DSG +swollen +swoon/SGMD +swoop/SGMD +swoosh/MDSG +sword/SM +swordfish/MS +swordplay/M +swordsman/M +swordsmanship/M +swordsmen +swore +sworn +swot/S +swotted +swotting +swum +swung +sybarite/SM +sybaritic +sycamore/MS +sycophancy/M +sycophant/SM +sycophantic +syllabic +syllabicate/GNDS +syllabication/M +syllabification/M +syllabify/DSNG +syllable/MS +syllabub/S +syllabus/MS +syllogism/MS +syllogistic +sylph/M +sylphic +sylphlike +sylphs +sylvan +symbioses +symbiosis/M +symbiotic +symbiotically +symbol/MS +symbolic +symbolical/Y +symbolism/M +symbolization/M +symbolize/DSG +symbology +symmetric +symmetrical/Y +symmetry/SM +sympathetic/U +sympathetically/U +sympathies/M +sympathize/ZGDRS +sympathizer/M +sympathy/SM +symphonic +symphony/SM +symposium/MS +symptom/MS +symptomatic +symptomatically +syn/H +synagogal +synagogue/SM +synapse/MS +synaptic +sync/MDSG +synchronicity +synchronization/SM +synchronize/GDS +synchronous/Y +synchrony +syncopate/DSGN +syncopation/M +syncope/M +syndicalism +syndicalist/S +syndicate/DSMGN +syndication/M +syndrome/SM +synergism/M +synergistic +synergy/SM +synfuel/MS +synod/SM +synonym/SM +synonymous +synonymy/M +synopses +synopsis/M +synoptic +synovial +syntactic +syntactical/Y +syntax/M +syntheses +synthesis/M +synthesize/ZGDRS +synthesizer/M +synthetic/SM +synthetically +synths +syphilis/M +syphilitic/SM +syringe/DSMG +syrup/SM +syrupy +sysadmin/S +sysop/S +system/SM +systematic/U +systematical/Y +systematization/M +systematize/GDS +systemic/MS +systemically +systole/SM +systolic +t/SDNXGBJ +ta +tab/SM +tabbed +tabbing +tabbouleh/M +tabby/SM +tabernacle/SM +tabla/MS +table/MGDS +tableau/M +tableaux +tablecloth/M +tablecloths +tableland/SM +tablespoon/SM +tablespoonful/SM +tablet/SM +tabletop/MS +tableware/M +tabloid/SM +taboo/MDSG +tabor/MS +tabular +tabulate/DSGNX +tabulation/M +tabulator/SM +tachograph +tachographs +tachometer/SM +tachycardia/M +tachyon +tacit/PY +tacitness/M +taciturn/Y +taciturnity/M +tack/ZGMDRS +tacker/M +tackiness/M +tackle/DRSMZG +tackler/M +tacky/RTP +taco/MS +tact/FM +tactful/YP +tactfulness/M +tactic/SM +tactical/Y +tactician/MS +tactile +tactility/M +tactless/PY +tactlessness/M +tad/SM +tadpole/MS +taffeta/M +taffrail/SM +taffy/SM +tag/SM +tagged +tagger/SM +tagging +tagliatelle +tagline/MS +taiga/MS +tail/ACSDMG +tailback/MS +tailboard/S +tailbone/S +tailcoat/MS +tailgate/MZGDRS +tailgater/M +tailless +taillight/MS +tailor/SGMD +tailoring/M +tailpiece/S +tailpipe/SM +tailspin/SM +tailwind/SM +taint/MDSG +tainted/U +take/AIMS +takeaway/S +taken/A +takeoff/MS +takeout/MS +takeover/SM +taker/MS +taking/SM +takings/M +talc/M +talcum/M +tale/MS +talebearer/MS +talent/SMD +talented/U +tali +talisman/MS +talk/ZGMDRS +talkative/PY +talkativeness/M +talker/M +talkie/RSMT +talky +tall/TRP +tallboy/MS +tallier/M +tallish +tallness/M +tallow/M +tallowy +tally/DRSMZG +tallyho/MDGS +talon/MS +talus/MS +tam/SM +tamale/SM +tamarack/MS +tamarind/MS +tambourine/MS +tame/BYZTGDRSP +tamed/U +tameness/M +tamer/M +tamoxifen +tamp/ZGDRS +tamper/ZGDR +tamperer/M +tampon/SM +tan/SM +tanager/MS +tanbark/M +tandem/SM +tandoori/M +tang/MS +tangelo/MS +tangent/MS +tangential/Y +tangerine/MS +tangibility/IM +tangible/IMS +tangibleness/M +tangibly/I +tangle's +tangle/UDSG +tango/MDSG +tangy/RT +tank/ZGMDRS +tankard/MS +tanker/M +tankful/MS +tanned/U +tanner/SM +tannery/SM +tannest +tannin/M +tanning/M +tansy/M +tantalization/M +tantalize/ZGDRS +tantalizer/M +tantalizing/Y +tantalum/M +tantamount +tantra/M +tantrum/SM +tap/SZGMDR +tapas +tape/MS +tapeline/MS +taper/MDG +tapestry/SM +tapeworm/MS +tapioca/M +tapir/MS +tapped/U +tapper/MS +tappet/MS +tapping +taproom/SM +taproot/SM +tar/SGMD +taramasalata +tarantella/MS +tarantula/SM +tarball/S +tardily +tardiness/M +tardy/TPR +tare/MS +target/MDGS +tariff/MS +tarmac/MS +tarmacadam +tarmacked +tarmacking +tarn/MS +tarnish/GMDS +tarnished/U +taro/MS +tarot/MS +tarp/MS +tarpaulin/MS +tarpon/MS +tarragon/SM +tarred +tarring +tarry/TGDRS +tarsal/MS +tarsi +tarsus/M +tart/PTGMDRYS +tartan/MS +tartar/MS +tartaric +tartness/M +tarty/T +taser/GMDS +task/GMDS +taskbar +taskmaster/MS +taskmistress/MS +tassel/MDSG +taste/JMZGDRS +tasted/U +tasteful/EPY +tastefulness/EM +tasteless/PY +tastelessness/M +taster/M +tastily +tastiness/M +tasting/M +tasty/TRP +tat/SZR +tatami/MS +tater/M +tatted +tatter/MDSG +tatterdemalion/MS +tattie +tatting/M +tattle/MZGDRS +tattler/M +tattletale/MS +tattoo/MDRSZG +tattooer/M +tattooist/SM +tatty/TRS +tau/SM +taught/UA +taunt/ZGMDRS +taunter/M +taunting/Y +taupe/M +taut/PXTNRY +tauten/DG +tautness/M +tautological/Y +tautologous +tautology/SM +tavern/MS +tawdrily +tawdriness/M +tawdry/RTP +tawny/TRM +tax/BZGMDRS +taxa +taxation/M +taxer/M +taxi/GMDS +taxicab/SM +taxidermist/SM +taxidermy/M +taximeter/MS +taxiway/S +taxman +taxmen +taxon +taxonomic +taxonomist/MS +taxonomy/SM +taxpayer/MS +taxpaying +tb/S +tbsp +tea/SM +teabag/S +teacake/SM +teach/ZGRSBJ +teachable/U +teacher/M +teaching/M +teacup/MS +teacupful/MS +teak/MS +teakettle/SM +teal/MS +tealight/MS +team/GMDS +teammate/MS +teamster/MS +teamwork/M +teapot/MS +tear/GMDS +tearaway/S +teardrop/SM +tearful/Y +teargas/MS +teargassed +teargassing +tearjerker/MS +tearoom/SM +teary/TR +tease/MZGDRS +teasel/MS +teaser/M +teasing/Y +teaspoon/SM +teaspoonful/SM +teat/MS +teatime/S +tech/M +techie/S +technetium/M +technical/Y +technicality/SM +technician/SM +technicolor +technique/SM +techno +technobabble +technocracy/SM +technocrat/MS +technocratic +technological/Y +technologist/MS +technology/SM +technophobe/S +techs +tectonic/S +tectonics/M +ted/S +teddy/S +tedious/PY +tediousness/M +tedium/M +tee/DSMH +teeing +teem/GDS +teen/MS +teenage/RZ +teenager/M +teeny/TR +teenybopper/MS +teeter/MDSG +teethe/GDS +teething/M +teetotal/RZ +teetotaler/M +teetotalism/M +tektite/SM +tel +telecast/SZGMR +telecaster/M +telecommunication/MS +telecommunications/M +telecommute/ZGDRS +telecommuter/M +telecommuting/M +teleconference/MGDS +teleconferencing/M +telegenic +telegram/MS +telegraph/MDRZG +telegrapher/M +telegraphese +telegraphic +telegraphically +telegraphist/SM +telegraphs +telegraphy/M +telekinesis/M +telekinetic +telemarketer/SM +telemarketing/M +telemeter/SM +telemetry/SM +teleological +teleology +telepathic +telepathically +telepathy/M +telephone/DRSMZG +telephoner/M +telephonic +telephonist/S +telephony/M +telephoto/SM +telephotography/M +teleplay/MS +teleport +teleportation +teleprinter/MS +teleprocessing/M +teleprompter/SM +telesales +telescope/DSMG +telescopic +telescopically +teletext/MS +telethon/MS +teletype/S +teletypewriter/MS +televangelism/M +televangelist/MS +televise/XGNDS +television/M +teleworker/S +teleworking +telex/MDSG +tell/AGS +teller/SM +telling/Y +telltale/SM +tellurium/M +telly/SM +telnet +temblor/MS +temerity/M +temp/MDRZTGS +temper/MDG +tempera/LSM +temperament/MS +temperamental/Y +temperance/IM +temperate/IY +temperateness/M +temperature/SM +tempest/SM +tempestuous/YP +tempestuousness/M +template's +template/S +temple/SM +tempo/SM +temporal/Y +temporarily +temporariness/M +temporary/FSM +temporize/ZGDRS +temporizer/M +tempt/SDRZG +temptation/MS +tempter/M +tempting/Y +temptress/MS +tempura/M +ten/BMH +tenability/M +tenable/U +tenably +tenacious/YP +tenaciousness/M +tenacity/M +tenancy/SM +tenant/SMDG +tenanted/U +tenantry/M +tench +tend/IEFDGS +tended/U +tendency/SM +tendentious/YP +tendentiousness/M +tender/SMDRYTGP +tenderfoot/MS +tenderhearted/P +tenderheartedness/M +tenderize/ZGDRS +tenderizer/M +tenderloin/SM +tenderness/M +tendinitis/M +tendon/SM +tendril/SM +tenement/SM +tenet/SM +tenfold +tenner/S +tennis/M +tenon/SMDG +tenor/SM +tenpin/SM +tenpins/M +tense/DRSMYTGNXP +tenseness/M +tensile +tension/ESM +tensity/IM +tensor/S +tent/DGSM +tentacle/DSM +tentative/PY +tentativeness/M +tenterhook/MS +tenth/MY +tenths +tenuity/M +tenuous/PY +tenuousness/M +tenure/DSMG +tepee/SM +tepid/YP +tepidity/M +tepidness/M +tequila/SM +terabit/SM +terabyte/MS +terahertz/M +terajoule/S +terapixel/MS +terawatt/S +terbium/M +tercentenary/SM +tercentennial/SM +teriyaki +term/MDYGS +termagant/MS +terminable/IC +terminal/MYS +terminate/DSGNX +termination/CSM +terminator/S +termini +terminological/Y +terminology/SM +terminus/M +termite/SM +tern/IMS +ternary/SM +terr +terrace/DSMG +terracotta/M +terrain/SM +terrapin/MS +terrarium/SM +terrazzo/MS +terrestrial/SMY +terrible/P +terribleness/M +terribly +terrier/M +terrific +terrifically +terrify/GDS +terrifying/Y +terrine/S +territorial/MS +territoriality +territory/SM +terror/SM +terrorism/M +terrorist/SM +terrorize/DSG +terry/RMZ +terrycloth/M +terse/RYTP +terseness/M +tertiary +tessellate/DSXGN +tessellation/M +test's/AFK +test/AKFCDGS +testable/CF +testament/MS +testamentary +testate/S +testator/MS +testatrices +testatrix/M +tested/U +tester/KSM +testes +testicle/MS +testicular +testifier/M +testify/ZGDRS +testily +testimonial/MS +testimony/SM +testiness/M +testings +testis/M +testosterone/M +testy/PRT +tetanus/M +tetchily +tetchy/PRT +tether/SMDG +tetra/SM +tetracycline/M +tetrahedral +tetrahedron/MS +tetrameter/SM +text/FMS +textbook/SM +texted +textile/MS +texting +textual/FY +textural +texture/MGDS +thalami +thalamus/M +thalidomide/M +thallium/M +than +thane/SM +thank/SDG +thankful/YP +thankfulness/M +thankless/PY +thanklessness/M +thanksgiving/SM +that'd +that'll +that/M +thatch/MDRSZG +thatcher/M +thatching/M +thaw/MDGS +the/JG +theater/SM +theatergoer/SM +theatrical/YS +theatricality/M +theatricals/M +theatrics/M +thee/S +theft/SM +their/S +theism/M +theist/SM +theistic +them +thematic +thematically +theme/DSM +themselves +then/M +thence +thenceforth +thenceforward +theocracy/SM +theocratic +theodolite/S +theologian/SM +theological/Y +theology/SM +theorem/MS +theoretic +theoretical/Y +theoretician/SM +theorist/SM +theorize/DSG +theory/SM +theosophic +theosophical +theosophist/SM +theosophy/M +therapeutic/S +therapeutically +therapeutics/M +therapist/SM +therapy/SM +there/M +thereabout/S +thereafter +thereat +thereby +therefor +therefore +therefrom +therein +theremin/SM +thereof +thereon +thereto +theretofore +thereunder +thereunto +thereupon +therewith +therm/SM +thermal/MYS +thermionic +thermodynamic/S +thermodynamics/M +thermometer/MS +thermometric +thermonuclear +thermoplastic/SM +thermos/MS +thermostat/MS +thermostatic +thermostatically +thesauri +thesaurus/MS +these/S +thesis/M +thespian/SM +theta/SM +thew/MS +they +they'd +they'll +they're +they've +thiamine/M +thick/PMNRYXT +thicken/DRJZG +thickener/M +thickening/M +thicket/MS +thickheaded/M +thickness/MS +thicko/S +thickset +thief/M +thieve/DSG +thievery/M +thieving/M +thievish +thigh/M +thighbone/MS +thighs +thimble/MS +thimbleful/SM +thin/YSP +thine +thing/M +thingamabob/SM +thingamajig/SM +thingumabob/S +thingummy/S +thingy/S +think/SRBZG +thinkable/U +thinker/M +thinking's +thinned +thinner/MS +thinness/M +thinnest +thinning +third/SMY +thirst/SGMD +thirstily +thirstiness/M +thirsty/TPR +thirteen/SMH +thirteenth/M +thirteenths +thirtieth/M +thirtieths +thirty/HSM +this +thistle/MS +thistledown/M +thither +tho +thole/SM +thong/SM +thoracic +thorax/MS +thorium/M +thorn/SM +thorniness/M +thorny/PRT +thorough/RYPT +thoroughbred/MS +thoroughfare/MS +thoroughgoing +thoroughness/M +those +thou/MS +though +thought/SM +thoughtful/YP +thoughtfulness/M +thoughtless/PY +thoughtlessness/M +thousand/MHS +thousandfold +thousandth/M +thousandths +thrall/SMDG +thralldom/M +thrash/JMDRSZG +thrasher/M +thrashing/M +thread/SMDRZG +threadbare +threader/M +threadlike +thready/TR +threat/SMNX +threaten/DG +threatening/Y +three/SM +threefold +threepence/M +threescore/MS +threesome/SM +threnody/SM +thresh/MDRSZG +thresher/M +threshold/SM +threw +thrice +thrift/SM +thriftily +thriftiness/M +thriftless +thrifty/PTR +thrill/SMDRZG +thriller/M +thrilling/Y +thrive/DSG +throat/SM +throatily +throatiness/M +throaty/RTP +throb/SM +throbbed +throbbing +throe/SM +thrombi +thrombolytic +thromboses +thrombosis/M +thrombotic +thrombus/M +throne's +throne/S +throng/GSMD +throttle/DRSMZG +throttler/M +through +throughout +throughput/M +throw/SMRZG +throwaway/SM +throwback/SM +thrower/M +thrown +thru +thrum/SM +thrummed +thrumming +thrush/MS +thrust/GSM +thruway/MS +thud/MS +thudded +thudding +thug/MS +thuggery/M +thuggish +thulium/M +thumb/SMDG +thumbnail/SM +thumbprint/SM +thumbscrew/SM +thumbtack/SM +thump/SMDG +thumping/M +thunder/ZGMDRS +thunderbolt/SM +thunderclap/SM +thundercloud/MS +thunderer/M +thunderhead/SM +thunderous/Y +thundershower/SM +thunderstorm/SM +thunderstruck +thundery +thunk/S +thus +thwack/ZGSMDR +thwacker/M +thwart/GSMD +thy +thyme/M +thymine/M +thymus/MS +thyroid/MS +thyroidal +thyself +ti/MRZ +tiara/SM +tibia/M +tibiae +tibial +tic/SM +tick/MDRZGS +ticker/M +ticket/GSMD +ticking/M +tickle/DRSMZG +tickler/M +ticklish/YP +ticklishness/M +ticktacktoe/M +ticktock/MS +tidal/Y +tidbit/SM +tiddler/S +tiddly +tiddlywink/S +tiddlywinks/M +tide/MGJDS +tideland/SM +tidemark/S +tidewater/MS +tideway/MS +tidily/U +tidiness/UM +tidings/M +tidy/DRSMTGP +tie's +tie/AUSD +tieback/MS +tiebreak/RSZ +tiebreaker/M +tiepin/S +tier/MD +tiff/MDGS +tiger/SM +tigerish +tight/SNRYPXT +tighten/ZGDR +tightener/M +tightfisted +tightness/M +tightrope/MS +tights/M +tightwad/MS +tigress/MS +til +tilapia +tilde/SM +tile/MZGDRS +tiler/M +tiling/M +till's +till/EDRZGS +tillable +tillage/M +tiller/EM +tilt/MDGS +timber/SMDG +timberland/M +timberline/MS +timbre/SM +timbrel/SM +time/MYZGJDRS +timekeeper/MS +timekeeping/M +timeless/PY +timelessness/M +timeline/MS +timeliness/UM +timely/UPRT +timeout/SM +timepiece/MS +timer/M +timescale/S +timeserver/SM +timeserving/M +timeshare/S +timestamp/SMD +timetable/DSMG +timeworn +timezone +timid/RYTP +timidity/M +timidness/M +timing/M +timorous/PY +timorousness/M +timothy/M +timpani/M +timpanist/SM +tin/SM +tincture/MGDS +tinder/M +tinderbox/MS +tine/MS +tinfoil/M +ting/MDYG +tinge/SM +tingeing +tingle/DSMGJ +tingling/M +tininess/M +tinker/ZGSMDR +tinkerer/M +tinkle/DSMG +tinned +tinniness/M +tinning +tinnitus/M +tinny/PRT +tinplate/M +tinpot +tinsel/GSMD +tinsmith/M +tinsmiths +tint/MDGS +tintinnabulation/MS +tintype/MS +tinware/M +tiny/RTP +tip/SM +tipped +tipper/SM +tippet/SM +tippex/GDS +tipping +tipple/DRSMZG +tippler/M +tipsily +tipsiness/M +tipster/MS +tipsy/RPT +tiptoe/DSM +tiptoeing +tiptop/SM +tirade/SM +tiramisu/MS +tire's +tire/AGDS +tired/PRYT +tiredness/M +tireless/YP +tirelessness/M +tiresome/PY +tiresomeness/M +tissue/SM +tit/SM +titan/SM +titanic +titanium/M +titch/S +titchy +tithe/DRSMZG +tither/M +titian/M +titillate/DSGN +titillating/Y +titillation/M +titivate/DSGN +titivation/M +title/DSMG +titled/U +titleholder/MS +titlist/MS +titmice +titmouse/M +titter/SGMD +tittle/SM +titty/S +titular +tizz +tizzy/SM +tn +tnpk +to/IU +toad/MS +toadstool/MS +toady/DSMG +toadyism/M +toast/SMDRZG +toaster/M +toastmaster/SM +toastmistress/MS +toasty/TRS +tobacco/MS +tobacconist/SM +toboggan/ZGSMDR +tobogganer/M +tobogganing/M +toccata/S +tocopherol +tocsin/SM +today/M +toddle/DRSMZG +toddler/M +toddy/SM +toe/DSM +toecap/SM +toehold/MS +toeing +toenail/MS +toerag/S +toff/S +toffee/SM +tofu/M +tog/SM +toga/MDS +together/P +togetherness/M +togged +togging +toggle/DSMG +togs/M +toil/MDRZGS +toiler/M +toilet/MDGS +toiletry/SM +toilette/M +toilsome +toke/MGDS +token/SM +tokenism/M +told/AU +tole/M +tolerable/I +tolerably/I +tolerance/IM +tolerances +tolerant/IY +tolerate/GNDS +toleration/M +toll/MDGS +tollbooth/M +tollbooths +tollgate/SM +tollway/SM +toluene/M +tom/SM +tomahawk/SGMD +tomato/M +tomatoes +tomb/MDGS +tombola/S +tomboy/MS +tomboyish +tombstone/MS +tomcat/MS +tome/MS +tomfoolery/SM +tomographic +tomography/M +tomorrow/MS +tomtit/MS +ton/SM +tonal/Y +tonality/SM +tone's +tone/IZGDRS +tonearm/SM +toneless/Y +toner/IM +tong/MDGS +tongue/MGDS +tongueless +tonic/SM +tonight/M +tonnage/SM +tonne/SM +tonsil/MS +tonsillectomy/SM +tonsillitis/M +tonsorial +tonsure/DSMG +tony/RT +too +took/A +tool's +tool/ADGS +toolbar/SM +toolbox/MS +toolkit +toolmaker/MS +toot/MDRZGS +tooter/M +tooth/MD +toothache/MS +toothbrush/MS +toothily +toothless +toothpaste/SM +toothpick/SM +toothsome +toothy/RT +tootle/GDS +tootsie/S +top/SM +topaz/MS +topcoat/SM +topdressing/SM +topee/S +topflight +topi +topiary/M +topic/SM +topical/Y +topicality/M +topknot/SM +topless +topmast/SM +topmost +topnotch +topographer/SM +topographic +topographical/Y +topography/SM +topological/Y +topology +topped +topper/MS +topping/SM +topple/GDS +topsail/SM +topside/SM +topsoil/M +topspin/M +toque/SM +tor/SM +torch/GMDS +torchbearer/MS +torchlight/M +tore +toreador/MS +torment/SMDG +tormenting/Y +tormentor/MS +torn +tornado/M +tornadoes +torpedo/GMD +torpedoes +torpid/Y +torpidity/M +torpor/M +torque/MGDS +torrent/SM +torrential +torrid/YP +torridity/M +torridness/M +torsion/M +torsional +torso/SM +tort's +tort/FEAS +torte/SM +tortellini/M +tortilla/MS +tortoise/MS +tortoiseshell/SM +tortoni/M +tortuous/PY +tortuousness/M +torture/DRSMZG +torturer/M +torturous +torus +tosh +toss/MDRSZG +tossup/MS +tot/SGMD +total/GSMDY +totalitarian/SM +totalitarianism/M +totality/SM +totalizator/SM +tote/MS +totem/SM +totemic +totted +totter/ZGMDRS +totterer/M +totting +toucan/MS +touch/AGMDS +touchdown/SM +touche/BJ +touched/U +touchily +touchiness/M +touching/Y +touchline/S +touchpaper/S +touchscreen/MS +touchstone/MS +touchy/RPT +tough/XTGMDNRYP +toughen/ZGDR +toughener/M +toughie/SM +toughness/M +toughs +toupee/MS +tour/CFSGDM +tourism/M +tourist/MS +touristic +touristy +tourmaline/M +tournament/SM +tourney/MS +tourniquet/MS +tousle/GDS +tout/MDGS +tow/SZGMDR +toward/S +towboat/MS +towel/JGSMD +towelette/SM +toweling/M +tower/GMD +towhead/MDS +towhee/MS +towline/MS +town/MS +townee/S +townhouse/MS +townie/MS +townsfolk/M +township/MS +townsman/M +townsmen +townspeople/M +townswoman/M +townswomen +towpath/M +towpaths +towrope/SM +toxemia/M +toxic +toxicity/SM +toxicological +toxicologist/SM +toxicology/M +toxin/SM +toy/SGMD +toyboy/S +tr +trabecula +trabecular +trabecule +trace/JDRSMZG +traceability +traceable/U +tracer/M +tracery/SM +trachea/M +tracheae +tracheal +tracheotomy/SM +tracing/M +track/ZGSMDR +trackball/SM +tracker/M +trackless +tracksuit/S +tract's +tract/CEKFAS +tractability/IM +tractable/I +tractably/I +traction/EFACKM +tractor/FCKMS +trad +trade/JDRSMZG +trademark/SGMD +trader/M +tradesman/M +tradesmen +tradespeople/M +tradeswoman/M +tradeswomen +trading/M +tradition/MS +traditional/Y +traditionalism/M +traditionalist/SM +traduce/DRSZG +traducer/M +traffic/SM +trafficked +trafficker/SM +trafficking/M +tragedian/SM +tragedienne/MS +tragedy/SM +tragic +tragically +tragicomedy/SM +tragicomic +trail/ZGSMDR +trailblazer/MS +trailblazing/M +trailer/M +train/ZGSMDRB +trained/U +trainee/SM +trainer/M +training/M +trainload/MS +trainman/M +trainmen +trainspotter/S +trainspotting +traipse/DSMG +trait/SM +traitor/SM +traitorous/Y +trajectory/SM +tram/MS +tramcar/S +tramlines +trammed +trammel/SGMD +trammeled/U +tramming +tramp/ZGSMDR +tramper/M +trample/DRSMZG +trampler/M +trampoline/MGDS +tramway/S +trance/MS +tranche/S +tranquil/RYT +tranquility/M +tranquilize/ZGDRS +tranquilizer/M +trans/I +transact/DGS +transaction/SM +transactional +transactor/MS +transatlantic +transceiver/SM +transcend/GSD +transcendence/M +transcendent +transcendental/Y +transcendentalism/M +transcendentalist/SM +transcontinental +transcribe/ZGDRS +transcriber/M +transcript/MS +transcription/SM +transducer/MS +transduction +transect/DSG +transept/MS +transfer/MBS +transferal/MS +transference/M +transferred +transferring +transfiguration/M +transfigure/GDS +transfinite +transfix/DSG +transform/BSZGMDR +transformation/SM +transformational +transformer/M +transfuse/DSXGN +transfusion/M +transgender/S +transgenic +transgress/GDS +transgression/SM +transgressor/SM +transience/M +transiency/M +transient/SMY +transistor/SM +transistorize/DSG +transit/SGMD +transition/GSMD +transitional/Y +transitive/ISMY +transitiveness/M +transitivity/M +transitory +transl +translatable/U +translate/DSGNBX +translated/U +translation/M +translator/SM +transliterate/DSGNX +transliteration/M +translocation +translucence/M +translucency/M +translucent/Y +transmigrate/GNDS +transmigration/M +transmissible +transmission/MS +transmit/S +transmittable +transmittal/M +transmittance/M +transmitted +transmitter/SM +transmitting +transmogrification/M +transmogrify/DSNG +transmutation/SM +transmute/BDSG +transnational/MS +transoceanic +transom/SM +transpacific +transparency/SM +transparent/Y +transphobia/M +transphobic +transpiration/M +transpire/DSG +transplant/MDGS +transplantation/M +transpolar +transponder/SM +transport/BSZGMDR +transportation/M +transporter/M +transpose/DSG +transposition/MS +transsexual/SM +transsexualism/M +transship/SL +transshipment/M +transshipped +transshipping +transubstantiation/M +transversal +transverse/MYS +transvestism/M +transvestite/MS +trap/MS +trapdoor/MS +trapeze/SM +trapezium/SM +trapezoid/SM +trapezoidal +trappable +trapped +trapper/SM +trapping/S +trappings/M +trapshooting/M +trash/GMDS +trashcan/MS +trashiness/M +trashy/RPT +trauma/MS +traumatic +traumatically +traumatize/GDS +travail/SGMD +travel/MDRSZGJ +traveled/U +traveler/M +traveling/M +travelogue/MS +traversal/SM +traverse/DSMG +travesty/GDSM +trawl/ZGSMDR +trawler/M +tray/MS +treacherous/PY +treacherousness/M +treachery/SM +treacle/M +treacly +tread/AGSM +treadle/DSMG +treadmill/MS +treas +treason/BM +treasonous +treasure/DRSMZG +treasurer/M +treasury/SM +treat/AGSMD +treatable +treated/U +treatise/SM +treatment/MS +treaty/SM +treble/MGDS +tree/MDS +treeing +treeless +treelike +treeline +treetop/SM +trefoil/SM +trek/MS +trekked +trekker/SM +trekking +trellis/GMDS +trematode/MS +tremble/DSMG +tremendous/Y +tremolo/SM +tremor/MS +tremulous/PY +tremulousness/M +trench's +trench/ADSG +trenchancy/M +trenchant/Y +trencher/MS +trencherman/M +trenchermen +trend/GSMD +trendily +trendiness/M +trendsetter/S +trendsetting +trendy/RSMPT +trepidation/M +trespass/MDRSZG +trespasser/M +tress/EMS +trestle/MS +trews +trey/MS +triad/SM +triage/MD +trial/ASM +trialed +trialing +triangle/SM +triangular/Y +triangulate/GNDS +triangulation/M +triathlete/S +triathlon/SM +tribal +tribalism/M +tribe/SM +tribesman/M +tribesmen +tribeswoman/M +tribeswomen +tribulation/SM +tribunal/SM +tribune/MS +tributary/SM +tribute's +tribute/FS +trice/M +tricentennial/MS +triceps/MS +triceratops/M +trichina/M +trichinae +trichinosis/M +trick/GSMD +trickery/M +trickily +trickiness/M +trickle/MGDS +trickster/SM +tricky/TRP +tricolor/SM +tricycle/SM +trident/MS +tried/U +triennial/MYS +trier/SM +trifecta/SM +trifle/MZGDRS +trifler/M +trifocals/M +trig/M +trigger/MDSG +triglyceride/MS +trigonometric +trigonometrical +trigonometry/M +trike/SM +trilateral/S +trilby/SM +trill/GSMD +trillion/SMH +trillionth/M +trillionths +trillium/M +trilobite/SM +trilogy/SM +trim/PMYS +trimaran/MS +trimester/SM +trimmed/U +trimmer/SM +trimmest +trimming/SM +trimmings/M +trimness/M +trimonthly +trinitrotoluene/M +trinity/SM +trinket/SM +trio/MS +trip/MYS +tripartite +tripe/M +triple/MGDS +triplet/SM +triplex/MS +triplicate/MGDS +tripod/MS +tripodal +tripos +tripped +tripper/SM +tripping +triptych/M +triptychs +tripwire/S +trireme/SM +trisect/SDG +trisection/M +trite/FPYT +triteness/FM +triter +tritium/M +triumph/GMD +triumphal +triumphalism +triumphalist +triumphant/Y +triumphs +triumvir/MS +triumvirate/SM +trivalent +trivet/MS +trivia/M +trivial/Y +triviality/SM +trivialization/M +trivialize/GDS +trivium/M +trochaic +trochee/SM +trod/AU +trodden/A +troglodyte/SM +troika/MS +troll/SGMD +trolley/SM +trolleybus/MS +trollop/SM +trombone/MS +trombonist/MS +tromp/SGD +tron/S +troop/SZGMDR +trooper/M +troopship/MS +trope/SM +trophy/SM +tropic/MS +tropical/Y +tropics/M +tropism/SM +troposphere/SM +trot/MS +troth/M +trotted +trotter/SM +trotting +troubadour/MS +trouble/DSMG +troubled/U +troublemaker/MS +troubleshoot/DRZGS +troubleshooter/M +troubleshooting/M +troubleshot +troublesome/Y +trough/M +troughs +trounce/DRSZG +trouncer/M +troupe/MZGDRS +trouper/M +trouser/SM +trousers/M +trousseau/M +trousseaux +trout/SM +trove/SM +trow/DSG +trowel/MDSG +troy/S +truancy/M +truant/GMDS +truce/SM +truck/SZGMDR +trucker/M +trucking/M +truckle/MGDS +truckload/SM +truculence/M +truculent/Y +trudge/MGDS +true/MTGDRS +truelove/SM +truffle/MS +trug/S +truism/MS +truly/U +trump/SGMD +trumpery/M +trumpet/ZGMDRS +trumpeter/M +truncate/GNDS +truncation/M +truncheon/SM +trundle/MZGDRS +trundler/M +trunk/SGM +truss/GMDS +trust/ESGMD +trustee/MS +trusteeship/SM +trustful/EY +trustfulness/M +trusting/Y +trustworthiness/M +trustworthy/TPR +trusty/TRSM +truth/ZMR +truther/M +truthful/UYP +truthfulness/UM +truthiness +truths/U +try's +try/AGDS +trying/Y +tryout/SM +tryptophan +tryst/SMDG +tsarists +tsetse/MS +tsp +tsunami/SM +ttys +tub/SZGMDR +tuba/MS +tubal +tubby/TR +tube/MS +tubeless/M +tuber/M +tubercle/SM +tubercular +tuberculin/M +tuberculosis/M +tuberculous +tuberose/M +tuberous +tubful/MS +tubing/M +tubular +tubule/MS +tuck/MDRSZG +tucker/MDG +tuft/MDRSZG +tufter/M +tug/SM +tugboat/MS +tugged +tugging +tuition/IM +tularemia/M +tulip/SM +tulle/M +tum/S +tumble/DRSMZG +tumbledown +tumbler/M +tumbleweed/SM +tumbling/M +tumbrel/SM +tumescence/M +tumescent +tumid +tumidity/M +tummy/SM +tumor/SM +tumorous +tumult/SM +tumultuous/Y +tun/SZGMDR +tuna/MS +tundra/SM +tune/MS +tuneful/YP +tunefulness/M +tuneless/Y +tuner/M +tuneup/SM +tungsten/M +tunic/SM +tunnel/JSMDRZG +tunneler/M +tunny/SM +tuple/S +tuppence +tuppenny +tuque/SM +turban/SMD +turbid +turbidity/M +turbine/SM +turbo/SM +turbocharge/ZGDRS +turbocharger/M +turbofan/SM +turbojet/SM +turboprop/SM +turbot/SM +turbulence/M +turbulent/Y +turd/MS +turducken/SM +tureen/SM +turf/MDSG +turfy +turgid/Y +turgidity/M +turkey/SM +turmeric/SM +turmoil/MS +turn/AMDRSZG +turnabout/SM +turnaround/SM +turnbuckle/SM +turncoat/SM +turner/AM +turning/MS +turnip/SM +turnkey/MS +turnoff/MS +turnout/MS +turnover/MS +turnpike/MS +turnstile/SM +turntable/SM +turpentine/M +turpitude/M +turps +turquoise/SM +turret/SMD +turtle/SM +turtledove/SM +turtleneck/SMD +tush/MS +tusk/MDS +tussle/DSMG +tussock/MS +tussocky +tut/SM +tutelage/M +tutelary +tutor/SMDG +tutored/U +tutorial/SM +tutorship/M +tutted +tutti/SM +tutting +tutu/MS +tux/MS +tuxedo/SM +twaddle/MZGDRS +twaddler/M +twain/M +twang/SMDG +twangy/RT +twas +twat/S +tweak/SMDG +twee +tweed/SM +tweeds/M +tweedy/RT +tween +tweet's +tweet/ASDG +tweeter/SM +tweezers/M +twelfth/M +twelfths +twelve/SM +twelvemonth/M +twelvemonths +twentieth/M +twentieths +twenty/SMH +twerk/SDG +twerp/SM +twice +twiddle/MGDS +twiddly +twig/MS +twigged +twigging +twiggy/TR +twilight/M +twilit +twill/MD +twin/MDRSZG +twine/SM +twiner/M +twinge/DSMG +twink/SY +twinkle/MGJDS +twinkling/M +twinned +twinning +twinset/S +twirl/SMDRZG +twirler/M +twirly +twist's +twist/USDG +twister/MS +twisty/TR +twit/MS +twitch/GMDS +twitchy/RT +twitted +twitter/MDSG +twittery +twitting +twixt +two/SM +twofer/SM +twofold +twopence/SM +twopenny +twosome/SM +twp +tycoon/SM +tying/AU +tyke/MS +tympani/M +tympanic +tympanist/MS +tympanum/SM +type's +type/AGDS +typecast/GS +typeface/MS +typescript/MS +typeset/S +typesetter/MS +typesetting/M +typewrite/RSZG +typewriter/M +typewriting/M +typewritten +typewrote +typhoid/M +typhoon/MS +typhus/M +typical/UY +typicality/M +typification/M +typify/NGDS +typing/M +typist/SM +typo/MS +typographer/SM +typographic +typographical/Y +typography/M +typology/SM +tyrannic +tyrannical/Y +tyrannicidal +tyrannicide/S +tyrannize/GDS +tyrannosaur/MS +tyrannosaurus/MS +tyrannous +tyranny/SM +tyrant/SM +tyro/MS +tzatziki +u/S +ubiquitous/Y +ubiquity/M +udder/SM +ufologist/SM +ufology/M +ugh +ugliness/M +ugly/RTP +uh +uhf +ukase/SM +ukulele/SM +ulcer/SM +ulcerate/XDSGN +ulceration/M +ulcerous +ulna/M +ulnae +ulnar +ulster/MS +ult +ulterior +ultimate/MY +ultimatum/MS +ultimo +ultra/SM +ultraconservative/SM +ultrahigh +ultralight/SM +ultramarine/M +ultramodern +ultrasensitive +ultrashort +ultrasonic +ultrasonically +ultrasound/MS +ultraviolet/M +ululate/DSGNX +ululation/M +um +umbel/SM +umber/M +umbilical +umbilici +umbilicus/M +umbra/SM +umbrage/M +umbrella/SM +umiak/SM +umlaut/MS +ump/SGMD +umpire/MGDS +umpteen/H +unabridged/MS +unacceptability +unacceptable +unaccommodating +unaccountably +unadventurous +unaesthetic +unalterably +unambitious +unanimity/M +unanimous/Y +unapparent +unappetizing +unappreciative +unary +unassertive +unassimilable +unassuming/Y +unavailing/Y +unaware/S +unbeknownst +unbend/SG +unbent +unbid +unblinking/Y +unblushing/Y +unbosom/DG +unbound/D +unbox/GDS +unbreakable +unbroken +uncanny/T +uncap/S +uncaring +uncatalogued +unceasing/Y +unchangeable +uncharacteristic +uncharitable +unchaste/RT +uncial/M +uncle/SM +unclean/DRPT +uncleanly/T +unclear/DRT +uncomfortable +uncommon/T +uncompelling +uncomplaining/Y +uncomplicated +uncomprehending/Y +uncompromising/Y +unconditional/Y +uncongenial +unconscionable +unconscionably +unconscious/M +unconstitutional/Y +uncontrollably +uncontroversial +uncool +uncooperative +uncouth/Y +uncrushable +unction/SM +unctuous/YP +unctuousness/M +uncut +undaunted/Y +undecided/SM +undemonstrative/Y +undeniably +under +underachieve/LZGDRS +underachiever/M +underact/SDG +underage +underappreciated +underarm/SM +underbelly/SM +underbid/S +underbidding +underbrush/M +undercarriage/MS +undercharge/MGDS +underclass/MS +underclassman/M +underclassmen +underclothes/M +underclothing/M +undercoat/GJSMD +undercoating/M +undercover +undercurrent/SM +undercut/SM +undercutting +underdeveloped +underdevelopment/M +underdog/SM +underdone +underemployed +underemployment/M +underestimate/DSMGNX +underestimation/M +underexpose/GDS +underexposure/MS +underfed +underfeed/GS +underfloor +underflow +underfoot +underfunded +underfur/M +undergarment/SM +undergo/G +undergoes +undergone +undergrad/S +undergraduate/SM +underground/MS +undergrowth/M +underhand +underhanded/PY +underhandedness/M +underinflated +underlain +underlay/SM +underlie/S +underline/MGDS +underling/MS +underlip/SM +underlying +undermanned +undermentioned +undermine/GDS +undermost +underneath/M +underneaths +undernourished +undernourishment/M +underpaid +underpants/M +underpart/MS +underpass/MS +underpay/GSL +underpayment/SM +underpin/S +underpinned +underpinning/MS +underplay/DGS +underpopulated +underprivileged +underproduction/M +underrate/GDS +underrepresented +underscore/DSMG +undersea/S +undersecretary/SM +undersell/GS +undersexed +undershirt/SM +undershoot/SG +undershorts/M +undershot +underside/MS +undersign/DGS +undersigned/M +undersized +underskirt/SM +undersold +understaffed +understand/SGBJ +understandably +understanding/MY +understate/DSLG +understatement/SM +understood +understudy/GDSM +undertake/ZGJRS +undertaken +undertaker/M +undertaking/M +underthings/M +undertone/MS +undertook +undertow/SM +underused +underutilized +undervaluation/M +undervalue/DSG +underwater +underway +underwear/M +underweight/M +underwent +underwhelm/DGS +underwire/DS +underworld/MS +underwrite/ZGRS +underwriter/M +underwritten +underwrote +undesirable/MS +undies/M +undo +undoubted/Y +undramatic +undue +undulant +undulate/DSXGN +undulation/M +undying +unearthliness/M +unease/M +uneasy/T +uneatable +uneconomic +unemployed/M +unending +unenterprising +unequal/DY +unerring/Y +unessential +uneven/Y +unexceptionably +unexcited +unexciting +unexpected/YP +unexpectedness/M +unfailing/Y +unfair/PTRY +unfaltering +unfamiliar +unfathomably +unfed +unfeeling/Y +unfeminine +unfit/S +unfitting +unfix/GDS +unflagging/Y +unflappability/M +unflappable +unflappably +unflattering +unflinching/Y +unforgettably +unforgivably +unfortunate/MS +unfriendly/T +unfrock/DG +unfruitful +unfunny +ungainliness/M +ungainly/RPT +ungenerous +ungentle +ungodly/T +ungraceful/Y +ungrudging +unguarded +unguent/SM +ungulate/MS +unhandy/T +unhappy/T +unhealthful +unhealthy/T +unhistorical +unholy/T +unhurt +unicameral +unicellular +unicorn/SM +unicycle/SM +unidirectional +unification/AM +uniform/SMDYG +uniformity/M +unify/AGDSN +unilateral/Y +unilateralism +unimportant +unimpressive +uninformative +uninhibited/Y +uninsured +unintelligent +unintended +uninteresting +uninterrupted/Y +uninterruptible +uninviting +union/ASM +unionism/M +unionist/MS +unique/YTRP +uniqueness/M +unisex/M +unison/M +unitary +unite/AEGSD +unitedly +unities +unitize/DSG +unity/EM +univalent +univalve/SM +universal/MYS +universalism +universalist +universality/M +universalize/DSG +universe/SM +university/SM +univocal +unjust/Y +unkempt +unkind/T +unkindly/T +unknowable/M +unknown/SM +unleaded/M +unless +unlike/PB +unlikely/T +unlit +unlock/DSG +unlovable +unlovely/TR +unloving +unlucky/T +unmanly/T +unmarried +unmeaning +unmentionable/MS +unmentionables/M +unmet +unmindful +unmissable +unmistakably +unmoral +unmovable +unmusical +unnecessary +unnerving/Y +unobservant +unoffensive +unofficial/Y +unoriginal +unpeople +unperceptive +unpersuasive +unpick/GDS +unpin/S +unpleasing +unpolitical +unpopular +unpractical +unprecedented/Y +unprofessional/Y +unpromising +unpropitious +unquestioning/Y +unquiet/TR +unread/B +unready +unreal +unreasoning +unregenerate +unrelated +unrelenting/Y +unrelieved/Y +unremarkable +unremitting/Y +unrepentant +unreported +unrepresentative +unrest/M +unrevealing +unripe/TR +unroll/GDS +unromantic +unruliness/M +unruly/RTP +unsafe/YTR +unsaleable +unsavory +unscathed +unseeing/Y +unseemly/T +unseen/M +unsentimental +unset +unshakable +unshakably +unshapely +unshockable +unshorn +unsightliness/M +unsightly/PT +unsmiling +unsociable +unsocial +unsold +unsound/PRYT +unspeakable +unspeakably +unspecific +unspectacular +unsporting +unstable +unsteady/TRP +unstinting/Y +unstrapping +unsubstantial +unsubtle +unsuitable +unsure +unsuspecting/Y +unsymmetrical +untactful +unthinkably +unthinking/Y +untidy/PTR +until +untimely/T +untiring/Y +untouchable/MS +untoward +untrue/RT +untrustworthy +untruth/M +unutterable +unutterably +unwarrantable +unwary/T +unwavering +unwed +unwelcome/G +unwell +unwieldiness/M +unwieldy/TRP +unwise/RYT +unworried +unworthy/T +unwound +unwrapping +unyielding +up/S +upbeat/MS +upbraid/SGD +upbringing/MS +upchuck/SGD +upcoming +upcountry/M +update/MGDRS +updraft/MS +upend/SGD +upfront +upgrade/MGDS +upheaval/MS +upheld +uphill/MS +uphold/ZGRS +upholder/M +upholster/ASGD +upholsterer/MS +upholstery/M +upkeep/M +upland/MS +uplift/JSMDG +upload/SDG +upmarket +upmost +upon +upped +upper/SM +uppercase/M +upperclassman/M +upperclassmen +upperclasswoman +upperclasswomen +uppercut/MS +uppercutting +uppermost +upping +uppish +uppity +upraise/DSG +uprear/GSD +upright/MYPS +uprightness/M +uprising/SM +upriver +uproar/SM +uproarious/Y +uproot/GSD +upscale +upset/SM +upsetting +upshot/SM +upside/SM +upsilon/MS +upstage/GDS +upstairs +upstanding +upstart/MDSG +upstate/M +upstream +upstroke/SM +upsurge/MGDS +upswing/MS +uptake/SM +uptempo +upthrust/GSM +uptick/SM +uptight +uptown/M +uptrend +upturn/GSMD +upward/SY +upwind +uracil/M +uranium/M +urban +urbane/RYT +urbanity/M +urbanization/M +urbanize/DSG +urbanologist/MS +urbanology/M +urchin/SM +urea/M +uremia/M +uremic +ureter/SM +urethane/M +urethra/M +urethrae +urethral +urge/MGDS +urgency/M +urgent/Y +uric +urinal/SM +urinalyses +urinalysis/M +urinary +urinate/GNDS +urination/M +urine/M +urn/SM +urogenital +urological +urologist/MS +urology/M +ursine +urticaria/M +usability/M +usable/UA +usage/SM +use/AEDSMG +used/U +useful/PY +usefulness/M +useless/YP +uselessness/M +user/MS +username/MS +usher/SMDG +usherette/SM +usu +usual's +usual/UY +usurer/SM +usurious +usurp/SDRZG +usurpation/M +usurper/M +usury/M +utensil/SM +uteri +uterine +uterus/M +utilitarian/MS +utilitarianism/M +utility/SM +utilization/M +utilize/GBDS +utmost/M +utopia/SM +utter/SDYG +utterance/SM +uttermost/M +uveitis +uvula/SM +uvular/MS +uxorious +v/AS +vac/S +vacancy/SM +vacant/Y +vacate/DSG +vacation/ZGMDRS +vacationer/M +vacationist/SM +vaccinate/GNDSX +vaccination/M +vaccine/SM +vacillate/XGNDS +vacillation/M +vacuity/M +vacuole/MS +vacuous/YP +vacuousness/M +vacuum/GSMD +vagabond/SMDG +vagabondage/M +vagarious +vagary/SM +vagina/SM +vaginae +vaginal/Y +vaginitis +vagrancy/M +vagrant/MS +vague/RYTP +vagueness/M +vagus +vain/RYT +vainglorious/Y +vainglory/M +val +valance/MS +vale/MS +valediction/MS +valedictorian/SM +valedictory/SM +valence/MS +valency/SM +valentine/SM +valet/SMDG +valetudinarian/MS +valetudinarianism/M +valiance/M +valiant/Y +valid/Y +validate/IGNDS +validation/IM +validations +validity/IM +validness/M +valise/SM +valley/SM +valor/M +valorous/Y +valuable/MS +valuate/DSG +valuation/CAMS +value's +value/CAGSD +valueless +valuer/SM +valve/DSMG +valveless +valvular +vamoose/DSG +vamp/AMDGS +vampire/SM +van/SM +vanadium/M +vandal/SM +vandalism/M +vandalize/DSG +vane/MS +vanguard/MS +vanilla/SM +vanish/JDSG +vanity/SM +vanned +vanning +vanquish/ZGDRS +vanquisher/M +vantage/SM +vape/GDS +vapid/YP +vapidity/M +vapidness/M +vapor/SM +vaporization/M +vaporize/DRSZG +vaporizer/M +vaporous +vaporware +vapory +vaquero/MS +var/S +variability/IM +variable/ISM +variably/I +variance/SM +variant/MS +variate/NX +variation/M +varicolored +varicose +varied/U +variegate/DSGN +variegation/M +varietal/SM +variety/SM +various/Y +varlet/SM +varmint/MS +varnish/GMDS +varnished/U +varsity/SM +vary/DSG +varying/U +vascular +vase/MS +vasectomy/SM +vasoconstriction +vasomotor +vassal/SM +vassalage/M +vast/MRYTSP +vastness/M +vat/SM +vatted +vatting +vaudeville/M +vaudevillian/MS +vault/SMDRZG +vaulter/M +vaulting/M +vaunt/SMDG +vb +veal/M +vector/SGMD +veejay/SM +veep/MS +veer/MDGS +veg/M +vegan/SM +veganism +vegeburger/S +veges +vegetable/SM +vegetarian/SM +vegetarianism/M +vegetate/GNVDS +vegetation/M +vegged +vegges +veggie/SM +veggieburger/S +vegging +vehemence/M +vehemency/M +vehement/Y +vehicle/MS +vehicular +veil's +veil/UDGS +vein/MDGS +vela +velar/SM +veld/MS +vellum/M +velocipede/MS +velocity/SM +velodrome/S +velour/MS +velum/M +velvet/M +velveteen/M +velvety +venal/Y +venality/M +venation/M +vend/DGS +vendetta/SM +vendible +vendor/MS +veneer/MDGS +venerability/M +venerable +venerate/DSGN +veneration/M +venereal +vengeance/M +vengeful/AY +venial +venireman/M +veniremen +venison/M +venom/M +venomous/Y +venous +vent's +vent/DGS +ventilate/GNDS +ventilation/M +ventilator/SM +ventilatory +ventral +ventricle/SM +ventricular +ventriloquism/M +ventriloquist/SM +ventriloquy/M +venture/DSMG +venturesome/PY +venturesomeness/M +venturous/PY +venturousness/M +venue/ASM +veracious/Y +veracity/M +veranda/SM +verapamil +verb/KMS +verbal/MYS +verbalization/M +verbalize/GDS +verbatim +verbena/SM +verbiage/MS +verbose/Y +verbosity/M +verboten +verdant/Y +verdict/SM +verdigris/GMDS +verdure/M +verge's +verge/FDSG +verger/MS +verifiable/U +verification/M +verified/U +verify/DSNG +verily +verisimilitude/M +veritable +veritably +verity/SM +vermicelli/M +vermiculite/M +vermiform +vermilion/M +vermin/M +verminous +vermouth/M +vernacular/MS +vernal +vernier/SM +veronica/M +verruca/SM +verrucae +versa +versatile +versatility/M +verse/AFNGMSDX +versed/U +versification/M +versifier/M +versify/ZGNDRS +version/AFIMS +versioned +versioning +verso/SM +versus +vert/A +vertebra/M +vertebrae +vertebral +vertebrate/IMS +vertex/MS +vertical/MYS +vertices +vertiginous +vertigo/M +verve/M +very/RT +vesicle/SM +vesicular +vesiculate +vesper/MS +vessel/MS +vest's +vest/ILDGS +vestal/MS +vestibule/MS +vestige/SM +vestigial/Y +vesting/M +vestment/IMS +vestry/SM +vestryman/M +vestrymen +vet/SM +vetch/MS +veteran/SM +veterinarian/MS +veterinary/SM +veto/MDG +vetoes +vetted +vetting +vex/GDS +vexation/SM +vexatious/Y +vhf +vi +via +viability/M +viable +viably +viaduct/SM +vial/MS +viand/SM +vibe/MS +vibes/M +vibraharp/SM +vibrancy/M +vibrant/Y +vibraphone/MS +vibraphonist/MS +vibrate/GNDSX +vibration/M +vibrato/MS +vibrator/SM +vibratory +viburnum/SM +vicar/SM +vicarage/SM +vicarious/YP +vicariousness/M +vice/CMS +viced +vicegerent/SM +vicennial +viceregal +viceroy/MS +vichyssoise/M +vicing +vicinity/M +vicious/YP +viciousness/M +vicissitude/SM +victim/MS +victimization/M +victimize/GDS +victimless +victor/MS +victorious/Y +victory/SM +victual/SMDG +vicuna/MS +videlicet +video/GSMD +videocassette/SM +videoconferencing +videodisc/MS +videophone/MS +videotape/DSMG +videotex +vie/DS +view/AMDRSZG +viewable +viewer/AM +viewership/M +viewfinder/SM +viewing/SM +viewpoint/MS +vigesimal +vigil/SM +vigilance/M +vigilant/Y +vigilante/SM +vigilantism/M +vigilantist/M +vignette/DSMG +vignettist/MS +vigor/M +vigorous/Y +vii +viii +viking/MS +vile/YTPR +vileness/M +vilification/M +vilify/DSNG +villa/SM +village/RSMZ +villager/M +villain/SM +villainous +villainy/SM +villein/SM +villeinage/M +villi +villus/M +vim/M +vinaigrette/M +vincible/I +vindicate/XDSGN +vindication/M +vindicator/MS +vindictive/PY +vindictiveness/M +vine/MS +vinegar/M +vinegary +vineyard/MS +vino/M +vinous +vintage/MS +vintner/MS +vinyl/SM +viol/MBS +viola/SM +violable/I +violate/GNDSX +violation/M +violator/SM +violence/M +violent/Y +violet/MS +violin/MS +violincello/S +violinist/SM +violist/MS +violoncellist/SM +violoncello/MS +viper/SM +viperous +virago/M +viragoes +viral +vireo/SM +virgin/MS +virginal/SM +virginity/M +virgule/MS +virile +virility/M +virologist/SM +virology/M +virtual/Y +virtualization +virtue/SM +virtuosity/M +virtuoso/M +virtuous/YP +virtuousness/M +virulence/M +virulent/Y +virus/MS +visa/MDSG +visage/MS +viscera +visceral/Y +viscid +viscose/M +viscosity/M +viscount/SM +viscountcy/SM +viscountess/MS +viscous +viscus/M +vise/ACMGDS +visibility/IM +visible/I +visibly/I +vision/KGDSM +visionary/SM +visit's +visit/ASGD +visitant/MS +visitation/MS +visitor/MS +visor/SM +vista/SM +visual/SMY +visualization/SM +visualize/DRSZG +visualizer/M +vita/M +vitae +vital/SY +vitality/M +vitalization/AM +vitalize/CAGSD +vitals/M +vitamin/MS +vitiate/GNDS +vitiation/M +viticulture/M +viticulturist/MS +vitreous +vitrifaction/M +vitrification/M +vitrify/GNDS +vitrine/SM +vitriol/M +vitriolic +vitriolically +vittles/M +vituperate/GNVDS +vituperation/M +viva/MS +vivace +vivacious/PY +vivaciousness/M +vivacity/M +vivaria +vivarium/SM +vivid/RYTP +vividness/M +vivify/ADSG +viviparous +vivisect/DGS +vivisection/M +vivisectional +vivisectionist/SM +vixen/SM +vixenish/Y +viz +vizier/SM +vlf +vocab +vocable/MS +vocabulary/SM +vocal/SMY +vocalic +vocalist/SM +vocalization/MS +vocalize/DSG +vocation/FIKASM +vocational/Y +vocative/MS +vociferate/DSGN +vociferation/M +vociferous/YP +vociferousness/M +vodka/SM +vogue/SM +voguish +voice/IDSMG +voiced/U +voiceless/PY +voicelessness/M +voicemail/SM +void/MDSGB +voila +voile/M +vol/S +volatile +volatility/M +volatilize/DSG +volcanic +volcanism +volcano/M +volcanoes +vole/MS +volition/M +volitional +volley/GSMD +volleyball/MS +volt/AMS +voltage/MS +voltaic +voltmeter/SM +volubility/M +voluble +volubly +volume/SM +volumetric +voluminous/YP +voluminousness/M +voluntarily/I +voluntarism/M +voluntary/SM +volunteer/SGMD +volunteerism/M +voluptuary/SM +voluptuous/PY +voluptuousness/M +volute/SM +vomit/SMDG +voodoo/GSMD +voodooism/M +voracious/PY +voraciousness/M +voracity/M +vortex/MS +votary/SM +vote's +vote/CGVDS +voter/SM +vouch/DRSZG +voucher/M +vouchsafe/DSG +vow/SGMD +vowel/SM +voyage/MZGDRS +voyager/M +voyageur/SM +voyeur/MS +voyeurism/M +voyeuristic +vulcanization/M +vulcanize/GDS +vulgar/RYT +vulgarian/MS +vulgarism/MS +vulgarity/SM +vulgarization/M +vulgarize/ZGDRS +vulgarizer/M +vulnerabilities +vulnerability/IM +vulnerable/I +vulnerably/I +vulpine +vulture/SM +vulturous +vulva/M +vulvae +vuvuzela/MS +vying +w/DNXTGVJ +wabbit/S +wack/MRTS +wackiness/M +wacko/SM +wacky/RPT +wad/SZGMDR +wadded +wadding/M +waddle/DSMG +wade/MS +wader/M +waders/M +wadge/S +wadi/MS +wafer/SM +waffle/MZGDRS +waffler/M +waft/MDGS +wag/SZGMDR +wage/MS +waged/U +wager/ZGMDR +wagerer/M +wagged +waggery/SM +wagging +waggish/YP +waggishness/M +waggle/MGDS +wagon/ZSMR +wagoner/M +wagtail/SM +waif/MS +wail/MDRZGS +wailer/M +wailing/M +wain/MS +wainscot/SJMDG +wainscoting/M +wainwright/MS +waist/SM +waistband/MS +waistcoat/MS +waistline/MS +wait/MDRZGS +waiter/M +waiting/M +waitperson/MS +waitress/MS +waitstaff/M +waive/DRSZG +waiver/M +wake/MGJDS +wakeful/PY +wakefulness/M +waken/GSD +waldo/S +waldoes +wale/MGDS +walk/MDRZGS +walkabout/S +walkaway/MS +walker/M +walkies +walking/M +walkout/SM +walkover/MS +walkway/SM +wall/MDGS +wallaby/SM +wallah +wallahs +wallboard/M +wallet/MS +walleye/DSM +wallflower/MS +wallop/MDSJG +walloping/M +wallow/MDSG +wallpaper/SMDG +wally/S +walnut/MS +walrus/MS +waltz/ZGMDRS +waltzer/M +wampum/M +wan/GPDY +wand/MS +wander/DRSJZG +wanderer/M +wanderings/M +wanderlust/SM +wane/MS +wangle/MZGDRS +wangler/M +wank/DRZGS +wanna +wannabe/SM +wannabee/S +wanner +wanness/M +wannest +want/MDGS +wanted/U +wanton/MDYSPG +wantonness/M +wapiti/MS +war/SM +warble/MZGDRS +warbler/M +warbonnet/SM +ward/AMDGS +warden/MS +warder/MS +wardress/S +wardrobe/SM +wardroom/SM +ware/MS +warehouse/DSMG +warez +warfare/M +warfarin +warhead/MS +warhorse/SM +warily/U +wariness/UM +warlike +warlock/MS +warlord/MS +warm/PDRYHZTGS +warmblooded +warmer/M +warmhearted/P +warmheartedness/M +warmish +warmness/M +warmonger/SMG +warmongering/M +warmth/M +warn/JDGS +warning/M +warp/MDGS +warpaint +warpath/M +warpaths +warplane/MS +warrant/GMDS +warranted/U +warranty/DSMG +warred +warren/MS +warring +warrior/SM +warship/SM +wart/MS +warthog/SM +wartime/M +warty/TR +wary/UPRT +was +wasabi +wash/BJMDRSZG +washable/SM +washbasin/SM +washboard/SM +washbowl/SM +washcloth/M +washcloths +washed/U +washer/M +washerwoman/M +washerwomen +washing/M +washout/MS +washrag/MS +washroom/MS +washstand/SM +washtub/MS +washy/TR +wasn't +wasp/MS +waspish/YP +waspishness/M +wassail/SMDG +wast +wastage/M +waste/DRSMZG +wastebasket/MS +wasteful/PY +wastefulness/M +wasteland/SM +wastepaper/M +waster/M +wastewater +wastrel/SM +watch/BZGMDRS +watchable/U +watchband/MS +watchdog/SM +watcher/M +watchful/YP +watchfulness/M +watchmaker/MS +watchmaking/M +watchman/M +watchmen +watchstrap/S +watchtower/SM +watchword/MS +water/GSMD +waterbed/MS +waterbird/SM +waterboard/MDJSG +waterboarding/M +waterborne +watercolor/MS +watercourse/SM +watercraft/M +watercress/M +waterfall/SM +waterfowl/SM +waterfront/MS +waterhole/SM +wateriness/M +waterlily/SM +waterline/MS +waterlogged +watermark/MDGS +watermelon/SM +watermill/MS +waterproof/SMDG +waterproofing/M +waters/M +watershed/MS +waterside/MS +waterspout/SM +watertight +waterway/MS +waterwheel/SM +waterworks/M +watery/PTR +watt/MS +wattage/M +wattle/MGDS +wave/MZGDRS +waveband/S +waveform +wavefront +wavelength/M +wavelengths +wavelet/SM +wavelike +waver/ZGMDR +waverer/M +wavering/Y +waviness/M +wavy/PRT +wax/GMDNS +waxiness/M +waxwing/SM +waxwork/SM +waxy/RPT +way/SM +waybill/SM +wayfarer/MS +wayfaring/SM +waylaid +waylay/RSZG +waylayer/M +wayside/SM +wayward/PY +waywardness/M +wazoo/S +we +we'd +we'll +we're +we've +weak/PNRYXT +weaken/DRZG +weakener/M +weakfish/MS +weakish +weakling/SM +weakness/MS +weal/MHS +wealth/M +wealthiness/M +wealthy/TRP +wean/DGS +weapon/MS +weaponize/GDS +weaponless +weaponry/M +wear/MRBJSZG +wearable/U +wearer/M +wearied/U +wearily +weariness/M +wearisome/Y +weary/TGDRSP +weasel/MDYSG +weather/SMDG +weatherboard/SG +weathercock/MS +weathering/M +weatherization/M +weatherize/DSG +weatherman/M +weathermen +weatherperson/MS +weatherproof/GSD +weatherstrip/S +weatherstripped +weatherstripping/M +weave/DRSMZG +weaver/M +weaving/M +web/SM +webbed +webbing/M +webcam/MS +webcast/SMG +webfeet +webfoot/M +webinar/SM +webisode/MS +weblog/MS +webmaster/SM +webmistress/MS +website/SM +wed/AS +wedded/A +wedder +wedding/SM +wedge/DSMG +wedgie/MS +wedlock/M +wee/RSMT +weed/MDRSZG +weeder/M +weedkiller/S +weedless +weedy/TR +weeing +week/MYS +weekday/SM +weekend/SZGMDR +weekly/SM +weeknight/SM +ween/DSG +weenie/MTRS +weensy/RT +weeny +weep/MRJSZG +weeper/M +weepie +weepy/TRSM +weevil/MS +weft/MS +weigh's +weigh/AGD +weighbridge/S +weighs/A +weight/MDSJG +weighted/U +weightily +weightiness/M +weightless/YP +weightlessness/M +weightlifter/MS +weightlifting/M +weighty/PTR +weir/MS +weird/PTRY +weirdie/MS +weirdness/M +weirdo/MS +welcome/MGDS +weld/MDRBSZG +welder/M +welfare/M +welkin/M +well/MDPSG +wellhead/SM +wellie +wellington/MS +wellness/M +wellspring/MS +welly/S +welsh/ZGDRS +welsher/M +welt/MDRSZG +welter/GMD +welterweight/SM +wen/M +wench/MS +wend/DSG +went +wept +were +weren't +werewolf/M +werewolves +west/M +westbound +westerly/SM +western/SZMR +westerner/M +westernization/M +westernize/GDS +westernmost +westward/S +wet/SMYP +wetback/SM +wetland/SM +wetness/M +wetter/SM +wettest +wetting +wetware/S +whack/SJZGMDR +whacker/M +whale/DRSMZG +whaleboat/MS +whalebone/M +whaler/M +whaling/M +wham/MS +whammed +whamming +whammy/SM +wharf/M +wharves +what/MS +whatchamacallit/MS +whatever +whatnot/M +whatshername +whatshisname +whatsit/S +whatsoever +wheal/SM +wheat/MN +wheatgerm +wheatmeal +whee +wheedle/DRSZG +wheedler/M +wheel/SMDRG +wheelbarrow/SM +wheelbase/SM +wheelchair/SM +wheelhouse/MS +wheelie/SM +wheelwright/MS +wheeze/DSMG +wheezily +wheeziness/M +wheezy/PRT +whelk/SMD +whelm/SDG +whelp/SMDG +when/MS +whence +whenever +whensoever +where/SM +whereabouts/M +whereas +whereat +whereby +wherefore/MS +wherein +whereof +whereon +wheresoever +whereto +whereupon +wherever +wherewith +wherewithal/M +wherry/SM +whet/S +whether +whetstone/SM +whetted +whetting +whew +whey/M +which +whichever +whiff/SMDG +whiffletree/MS +while/DSMG +whilom +whilst +whim/MS +whimper/MDGS +whimsical/Y +whimsicality/M +whimsy/SM +whine/DRSMZG +whiner/M +whinge/DRSZG +whingeing +whinny/GDSM +whiny/RT +whip/MS +whipcord/M +whiplash/MS +whipped +whipper/MS +whippersnapper/MS +whippet/MS +whipping/SM +whippletree/SM +whippoorwill/MS +whipsaw/MDGS +whir/MS +whirl/SMDG +whirligig/MS +whirlpool/MS +whirlwind/MS +whirlybird/SM +whirred +whirring +whisk/SMDRZG +whisker/MD +whiskery +whiskey/MS +whiskys +whisper/MDRSZG +whisperer/M +whist/M +whistle/MZGDRS +whistler/M +whit/MDNRSXTGJ +white/SPM +whitebait +whiteboard/S +whitecap/SM +whitefish/MS +whitehead/MS +whitelist/GDS +whiten/ZGDRJ +whitener/M +whiteness/M +whitening/M +whiteout/SM +whitetail/MS +whitewall/SM +whitewash/MDSG +whitewater/M +whitey/SM +whither +whiting/M +whitish +whittle/ZGDRS +whittler/M +whiz/M +whizkid/M +whizzbang/MS +whizzed +whizzes +whizzing +who'd +who'll +who're +who've +who/M +whoa +whodunit/MS +whoever +whole/SMP +wholefood/S +wholegrain +wholehearted/YP +wholeheartedness/M +wholemeal +wholeness/M +wholesale/MZGDRS +wholesaler/M +wholesome/UP +wholesomely +wholesomeness/UM +wholewheat +wholly +whom +whomever +whomsoever +whoop/SMDRZG +whoopee/S +whooper/M +whoosh/MDSG +whop/S +whopped +whopper/SM +whopping +whore/SMG +whorehouse/MS +whoreish +whorish +whorl/SMD +whose +whoso +whosoever +whup/S +whupped +whupping +why'd +why/M +whys +wick/MDRSZ +wicked/TPRY +wickedness/M +wicker/M +wickerwork/M +wicket/SM +wide/YTRP +widemouthed +widen/SDRZG +widener/M +wideness/M +widescreen/MS +widespread +widget/S +widow/SMDRZG +widower/M +widowhood/M +width/M +widths +wield/SDRZG +wielder/M +wiener/SM +wienie/SM +wife/MY +wifeless +wig/SM +wigeon/M +wigged +wigging +wiggle/DRSMZG +wiggler/M +wiggly/TR +wight/SM +wiglet/SM +wigwag/SM +wigwagged +wigwagging +wigwam/SM +wiki/MS +wild/MRYSTP +wildcard/MS +wildcat/MS +wildcatted +wildcatter/MS +wildcatting +wildebeest/MS +wilderness/MS +wildfire/MS +wildflower/SM +wildfowl/M +wildlife/M +wildness/M +wilds/M +wile/MGDS +wiliness/M +will/MDS +willful/PY +willfulness/M +willies/M +willing/UPY +willingness/UM +williwaw/MS +willow/SM +willowy +willpower/M +willy/S +wilt/MDSG +wily/RTP +wimp/MDSG +wimpish +wimple/DSMG +wimpy/RT +win/SGMD +wince/DSMG +winch/MDSG +wind's +wind/UASG +windbag/SM +windblown +windbreak/SZMR +windbreaker/M +windburn/MD +windcheater/S +windchill/M +winded +winder/SM +windfall/MS +windflower/MS +windily +windiness/M +winding's +windjammer/SM +windlass/MS +windless +windmill/MDGS +window/SMDG +windowless +windowpane/SM +windowsill/SM +windpipe/MS +windproof +windrow/SM +windscreen/SM +windshield/SM +windsock/MS +windstorm/MS +windsurf/ZGDRS +windsurfer/M +windsurfing/M +windswept +windup/SM +windward/M +windy/RTP +wine/MS +wineglass/MS +winegrower/MS +winemaker/MS +winery/SM +wing/MDRZG +wingding/MS +wingless +winglike +wingnut/SM +wingspan/MS +wingspread/SM +wingtip/SM +wink/MDRSZG +winker/M +winkle/DSMG +winnable/U +winner/SM +winning/MYS +winnow/ZGSDR +winnower/M +wino/MS +winsome/YTRP +winsomeness/M +winter/GSMD +wintergreen/M +winterize/GDS +wintertime/M +wintry/TR +winy/RT +wipe/MZGDRS +wiper/M +wire's +wire/AGDS +wired/S +wirehair/MS +wireless/MS +wiretap/MS +wiretapped +wiretapper/SM +wiretapping/M +wiriness/M +wiring/M +wiry/RTP +wisdom/M +wise/MYTGDRS +wiseacre/SM +wisecrack/MDSG +wiseguy/S +wish/MDRSZG +wishbone/SM +wisher/M +wishful/Y +wishlist's +wisp/MS +wispy/RT +wist +wisteria/SM +wistful/YP +wistfulness/M +wit/SM +witch/MDSG +witchcraft/M +witchery/M +with +withal +withdraw/SG +withdrawal/MS +withdrawn +withdrew +withe/DRSMZG +wither/JGD +withering/Y +withers/M +withheld +withhold/SG +withholding/M +within/M +without +withstand/GS +withstood +witless/PY +witlessness/M +witness/MDSG +wits/M +witted +witter/SGD +witticism/SM +wittily +wittiness/M +witting/UY +witty/RPT +wive/GDS +wiz +wizard/SMY +wizardry/M +wizened +wk/Y +woad/M +wobble/MGDS +wobbliness/M +wobbly/RTP +wodge/S +woe/SM +woebegone +woeful/YP +woefuller +woefullest +woefulness/M +wog/S +wok/SMN +woke +wold/MS +wolf/MDSG +wolfhound/SM +wolfish +wolfram/M +wolverine/SM +wolves +woman/M +womanhood/M +womanish +womanize/DRSZG +womanizer/M +womankind/M +womanlike/M +womanliness/M +womanly/RPT +womb/MS +wombat/MS +womble/S +women/M +womenfolk/SM +womenfolks/M +won't +won/M +wonder/MDGLS +wonderful/YP +wonderfulness/M +wondering/Y +wonderland/MS +wonderment/M +wondrous/Y +wonk/MS +wonky/TR +wont/MD +wonted/U +woo/SZGDR +wood/MDNSG +woodbine/M +woodblock/MS +woodcarver/MS +woodcarving/SM +woodchuck/MS +woodcock/SM +woodcraft/M +woodcut/SM +woodcutter/SM +woodcutting/M +wooden/RYTP +woodenness/M +woodiness/M +woodland/SM +woodlice +woodlot/SM +woodlouse +woodman/M +woodmen +woodpecker/MS +woodpile/SM +woods/M +woodshed/SM +woodsiness/M +woodsman/M +woodsmen +woodsy/RTP +woodwind/MS +woodwork/MRZG +woodworker/M +woodworking/M +woodworm/S +woody/TPRSM +wooer/M +woof/MDRSZG +woofer/M +wool/MNX +woolen/M +woolgathering/M +wooliness +woolliness/M +woolly/RSMPT +woozily +wooziness/M +woozy/TRP +wop/S! +word's +word/ADSG +wordage/M +wordbook/SM +wordily +wordiness/M +wording/SM +wordless/Y +wordplay/M +wordsmith +wordsmiths +wordy/TPR +wore +work's +work/ADJSG +workable/U +workaday +workaholic/SM +workaround/S +workbasket/S +workbench/MS +workbook/MS +workday/SM +worker/MS +workfare/M +workflow/MS +workforce/M +workhorse/SM +workhouse/SM +working's +workingman/M +workingmen +workings/M +workingwoman/M +workingwomen +workload/MS +workman/M +workmanlike +workmanship/M +workmate/S +workmen +workout/SM +workplace/MS +workroom/MS +works/M +worksheet/MS +workshop/MS +workshy +worksite/S +workspace +workstation/MS +worktable/MS +worktop/S +workup/MS +workweek/SM +world/SM +worldlier +worldliness/UM +worldly/UTP +worldview/SM +worldwide +worm/MDSG +wormhole/MS +wormwood/M +wormy/TR +worn/U +worried/Y +worrier/M +worriment/M +worrisome +worry/ZGDRSMJ +worrying/Y +worrywart/SM +worse/M +worsen/DSG +worship/ZGSMDR +worshiper/M +worshipful +worst/SGMD +worsted/M +wort/M +worth/M +worthies +worthily/U +worthiness/UM +worthless/PY +worthlessness/M +worthwhile +worthy's +worthy/UPRT +wot +wotcha +would've +would/S +wouldn't +wouldst +wound/SGMDR +wove/A +woven/AU +wow/SGMD +wpm +wrack/GSMD +wraith/M +wraiths +wrangle/DRSMZGJ +wrangler/M +wrap's +wrap/US +wraparound/SM +wrapped/U +wrapper/SM +wrapping/MS +wrasse/MS +wrath/M +wrathful/Y +wreak/SGD +wreath/MDSG +wreathe +wreaths +wreck/SZGMDR +wreckage/M +wrecker/M +wren/MS +wrench/MDSG +wrest/SGMD +wrestle/MZGDRS +wrestler/M +wrestling/M +wretch/MS +wretched/TPRY +wretchedness/M +wriggle/MZGDRS +wriggler/M +wriggly +wright/MS +wring/SZGMR +wringer/M +wrinkle/MGDS +wrinkled/U +wrinkly/TRSM +wrist/SM +wristband/MS +wristwatch/MS +writ/MRBJSZG +write/S +writer/M +writhe/MGDS +writing/M +written/AU +wrong/STGMPDRY +wrongdoer/SM +wrongdoing/SM +wrongful/PY +wrongfulness/M +wrongheaded/YP +wrongheadedness/M +wrongness/M +wrote/A +wroth +wrought +wrung +wry/Y +wryer +wryest +wryness/M +wt +wunderkind/S +wurst/SM +wuss/MS +wussy/RSMT +x +xci +xcii +xciv +xcix +xcvi +xcvii +xenon/M +xenophobe/MS +xenophobia/M +xenophobic +xerographic +xerography/M +xerox/MDSG +xi/SM +xii +xiii +xiv +xix +xor +xref/S +xterm/M +xv +xvi +xvii +xviii +xx +xxi +xxii +xxiii +xxiv +xxix +xxv +xxvi +xxvii +xxviii +xxx +xxxi +xxxii +xxxiii +xxxiv +xxxix +xxxv +xxxvi +xxxvii +xxxviii +xylem/M +xylene +xylophone/SM +xylophonist/MS +y'all +y/F +ya +yacht/SMDG +yachting/M +yachtsman/M +yachtsmen +yachtswoman/M +yachtswomen +yahoo/SM +yak/SM +yakked +yakking +yam/SM +yammer/SZGMDR +yammerer/M +yang/M +yank/MDSG +yap/SM +yapped +yapping +yard/MS +yardage/MS +yardarm/MS +yardman/M +yardmaster/MS +yardmen +yardstick/MS +yarmulke/SM +yarn/MS +yarrow/M +yashmak/S +yaw/SGMD +yawl/MS +yawn/MDRSZG +yawner/M +yaws/M +yd +ye/RST +yea/SM +yeah/M +yeahs +year/MYS +yearbook/MS +yearling/MS +yearlong +yearly/SM +yearn/GSJD +yearning/M +yeast/SM +yeasty/RT +yegg/MS +yell/MDSG +yellow/MDRTGPS +yellowhammer/S +yellowish +yellowness/M +yellowy +yelp/MDSG +yen/SM +yeoman/M +yeomanry/M +yeomen +yep/SM +yes/MS +yeshiva/SM +yessed +yessing +yesterday/MS +yesteryear/M +yet +yeti/MS +yew/SM +yid/S +yield/JSGMD +yikes +yin/M +yip/SM +yipe +yipped +yippee +yipping +yo +yob/S +yobbo/S +yodel/SMDRZG +yodeler/M +yoga/M +yogi/MS +yogic +yogurt/SM +yoke's +yoke/UGDS +yokel/SM +yolk/MDS +yon +yonder +yonks +yore/M +you'd +you'll +you're +you've +you/SMH +young/TMR +youngish +youngster/MS +your/S +yourself +yourselves +youth/M +youthful/YP +youthfulness/M +youths +yow +yowl/MDSG +yr/S +ytterbium/M +yttrium/M +yuan/M +yucca/SM +yuck +yucky/TR +yuk/SM +yukked +yukking +yukky +yule/M +yuletide/M +yum +yummy/TR +yup/SM +yuppie/MS +yuppify/GDS +yurt/MS +z/DNXTGJ +zaniness/M +zany/RSMPT +zap/SM +zapped +zapper/MS +zapping +zappy +zeal/M +zealot/MS +zealotry/M +zealous/YP +zealousness/M +zebra/SM +zebu/MS +zed/SM +zeitgeist/SM +zenith/M +zeniths +zenned +zeolite/S +zephyr/MS +zeppelin/MS +zero/MDHSG +zeroes +zest/MS +zestful/YP +zestfulness/M +zesty/RT +zeta/MS +zigzag/SM +zigzagged +zigzagging +zilch/M +zillion/MS +zinc/MS +zincked +zincking +zine/S +zinfandel/M +zing/MDRZG +zinger/M +zingy/RT +zinnia/MS +zip's +zip/US +zipped/U +zipper/MDGS +zipping/U +zippy/TR +zircon/MS +zirconium/M +zit/SM +zither/MS +zloty/SM +zlotys +zodiac/MS +zodiacal +zombie/MS +zonal/Y +zone's +zone/AGDS +zoning/M +zonked +zoo/SM +zookeeper/SM +zoological/Y +zoologist/SM +zoology/M +zoom/MDSG +zoophyte/SM +zoophytic +zooplankton +zorch +zoster +zounds +zucchini/MS +zwieback/M +zydeco/M +zygote/SM +zygotic +zymurgy/M diff --git a/Doc/Architecture.md b/Doc/Architecture.md new file mode 100644 index 00000000..efff231d --- /dev/null +++ b/Doc/Architecture.md @@ -0,0 +1,337 @@ +# SynEdit Architecture + +## Overview + +SynEdit is a syntax-highlighting editor component for Delphi and C++ Builder. +It supports both **VCL** (Windows) and **FMX** (cross-platform) frameworks +through a three-layer architecture. + +## Three-Layer Architecture + +``` +┌──────────────────────────┐ ┌──────────────────────────┐ +│ Source/VCL/ │ │ Source/FMX/ │ +│ Vcl.SynEdit.pas │ │ FMX.SynEdit.pas │ +│ Vcl.SynDWrite.pas │ │ FMX.SynEditRenderer.pas │ +│ Vcl.SynEditMiscClasses │ │ FMX.SynEditMiscClasses │ +│ (40 units) │ │ (20 units) │ +└────────────┬─────────────┘ └────────────┬──────────────┘ + │ │ + └──────────┬──────────────────-┘ + │ uses + ┌──────────▼──────────┐ + │ Source/ (shared) │ + │ SynEditTypes.pas │ + │ SynEditHighlighter │ + │ SynEditTextBuffer │ + │ 66 highlighters │ + │ 189 Omni configs │ + └─────────────────────┘ +``` + +Each unit belongs to exactly one layer: + +- **Shared** (no prefix): Platform-independent units consumed by both VCL and FMX. + Found by exact match — no scope resolution needed. +- **VCL** (`Vcl.*` prefix): Windows-specific implementations using VCL controls, + DirectWrite, OLE, Windows API. +- **FMX** (`FMX.*` prefix): Cross-platform implementations using FireMonkey + controls and canvas. + +## How Unit Scope Resolution Works + +Delphi 12+ projects have **Unit Scope Names** configured in the project: +- VCL projects include `Vcl` in their scope names +- FMX projects include `FMX` in their scope names + +When existing code says `uses SynEdit;`, the compiler searches: +1. Exact match: `SynEdit.pas` — not found (renamed to `Vcl.SynEdit.pas`) +2. Scope prefix: `Vcl.SynEdit.pas` — found in VCL projects +3. Scope prefix: `FMX.SynEdit.pas` — found in FMX projects + +When code says `uses SynEditTypes;`, the compiler finds: +1. Exact match: `SynEditTypes.pas` — found (shared unit) + +This means existing VCL code compiles unchanged. The same `uses SynEdit;` +statement resolves to the FMX version in FMX projects. + +## Directory Structure + +``` +SynEdit/ + Source/ + SynEditTypes.pas Shared types (TColor via System.UITypes) + SynEditHighlighter.pas Shared highlighter base class + SynEditTextBuffer.pas Shared text storage + SynEditCodeFolding.pas Shared code folding logic + SynEditKeyCmds.pas Shared key command constants + SynEditMiscProcs.pas Shared utility functions + SynEditSearch.pas Shared search engine + SynEditRegexSearch.pas Shared regex search + SynEditWildcardSearch.pas Shared wildcard search + SynEditStrConst.pas Shared string constants + SynUnicodeShared.pas Shared encoding utilities + SynEditKeyConstShared.pas Shared key constant definitions + SynEditSelections.pas Shared multi-caret selection (TSynSelectionsBase) + SynEditUndoShared.pas Shared undo base class (TSynEditUndoBase) + SynEditDragDropShared.pas Shared drag-drop logic (TSynDragDropHelper) + SynEditDragDropWin.pas Windows OLE building blocks (shared by VCL and FMX) + SynMacroRecorderShared.pas Shared macro event types and serialization + SynSpellCheckTypes.pas Shared spell check interfaces (ISynSpellCheckProvider) + SynSpellCheckHunspellProvider Shared Hunspell spell check provider + SynSpellCheckWindowsProvider Shared Windows spell check provider + SynSpellCheckWinAPI.pas Windows spell check API declarations + SynEdit.inc Compiler directives + Highlighters/ + SynHighlighter*.pas 66 language highlighters (shared) + Omni Highlighters/ 189 Omni highlighter configs (.ini) + VCL/ + Vcl.SynEdit.pas VCL editor (TCustomSynEdit : TCustomControl) + Vcl.SynDWrite.pas DirectWrite text rendering + Vcl.SynUnicode.pas VCL clipboard, re-exports SynUnicodeShared + Vcl.SynEditScrollTypes.pas VCL scrollbar interfaces + Vcl.SynEditMiscClasses.pas VCL gutter, glyphs, bookmarks + Vcl.SynEditScrollBars.pas Native Windows scrollbars + Vcl.SynEditKeyConst.pas VCL key constant mapping + Vcl.SynEditKbdHandler.pas VCL keyboard/mouse event chains + Vcl.SynEditUndo.pas VCL undo/redo system + Vcl.SynCompletionProposal VCL code completion popup + Vcl.SynEditDragDrop.pas OLE drag-and-drop + Vcl.SynEditDataObject.pas OLE IDataObject + Vcl.SynAccessibility.pas Windows UI Automation + Vcl.SynEditPrint*.pas Windows printing support + Vcl.SynDBEdit.pas Database-aware editor + Vcl.SynSpellCheck.pas Windows spell-check COM + Vcl.SynAutoCorrect*.pas Auto-correction with VCL dialogs + Vcl.SynMacroRecorder.pas Macro recording + Vcl.SynEditPlugins.pas VCL plugin framework + Vcl.SynEditWordWrap.pas VCL word wrap + Vcl.SynEditPythonBehaviour Python auto-indent behaviour + Vcl.SynEditActionsResource Standard editor actions + Vcl.SynEditKeyCmdEditor.pas Key command editor dialog + Vcl.SynEditKeyCmdsEditor Key commands list editor dialog + Vcl.SynEditOptionsDialog Editor options dialog + Vcl.SynOmniSetupDialog.pas Omni highlighter setup dialog + Vcl.SynURIOpener.pas URI detection and opening + Vcl.SynEditExport.pas Base exporter + Vcl.SynExportHTML.pas HTML export + Vcl.SynExportRTF.pas RTF export + Vcl.SynExportTeX.pas TeX export + Vcl.SynEditReg.pas VCL component registration + Vcl.SynEditPropertyReg.pas VCL property editors + DesignTimeEditors/ IDE importer tools + FMX/ + FMX.SynEdit.pas FMX editor (TCustomFMXSynEdit : TControl) + FMX.SynEditRenderer.pas FMX Canvas text rendering + FMX.SynEditScrollTypes.pas FMX scrollbar interfaces + FMX.SynEditMiscClasses.pas FMX utility classes + FMX.SynEditScrollBars.pas FMX TScrollBar integration + FMX.SynEditKeyConst.pas FMX key constant mapping + FMX.SynEditKbdHandler.pas FMX keyboard/mouse event chains + FMX.SynEditUndo.pas FMX undo/redo system + FMX.SynEditPlugins.pas FMX editor plugin base class + FMX.SynEditWordWrap.pas FMX word wrap + FMX.SynUnicode.pas FMX clipboard (IFMXClipboardService) + FMX.SynCompletionProposal FMX code completion (TPopup-based) + FMX.SynEditPrint.pas FMX printing (abstract provider) + FMX.SynEditPrintHeaderFooter FMX print headers/footers + FMX.SynEditPrintMargins.pas FMX print margin settings + FMX.SynEditPrintTypes.pas FMX print type definitions + FMX.SynEditPrinterInfo.pas FMX printer info (abstract provider) + FMX.SynEditDragDrop.pas FMX drag-drop platform abstraction + Windows OLE impl + FMX.SynMacroRecorder.pas FMX macro recording and playback + FMX.SynSpellCheck.pas FMX spell check (abstract provider) + FMX.SynEditReg.pas FMX component registration + Packages/ + 11AndAbove/ + Delphi/ + SynEditSharedDR.dpk Shared runtime package + SynEditDR.dpk VCL runtime package + SynEditDD.dpk VCL designtime package + SynEditFMXDR.dpk FMX runtime package + SynEditFMXDD.dpk FMX designtime package + SynEditDelphi.groupproj All Delphi packages + CBuilder/ + SynEditSharedCR.cbproj Shared C++ runtime package + SynEditCR.cbproj VCL C++ runtime package + SynEditCD.cbproj VCL C++ designtime package + SynEditFMXCR.cbproj FMX C++ runtime package + SynEditFMXCD.cbproj FMX C++ designtime package + SynEditCBuilder.groupproj All C++ packages + Demos/ + VCL/ 9 VCL demo applications + FMX/ + HighlighterDemo/ Browse 13 highlighters + EditApp/ Single-document editor with menus and file I/O + FeaturesDemo/ Feature showcase with search, folding, completion + uHighlighterProcs.pas Shared demo helper (highlighter detection) + SynEditDemosGroup.groupproj All demos + Tests/ + FMX/ + FMXSynEditTests.dproj DUnitX test project (428 tests, 34 fixtures) + TestFMXSynEdit*.pas Test fixtures (buffer, caret, folding, commands, + content, highlighter, options, search, undo/redo, + selection, clipboard, editing, renderer, + completion proposal, multi-caret, drag-drop, + bug fixes) + TestFMXSynSpellCheck.pas Spell check provider tests + TestFMXSynWindowsSpellCheck Windows spell-check COM provider tests + TestFMXSynSpellCheckComponent Spell check component integration tests + TestSynHighlighter*Folding Highlighter fold tests (Delphi, HTML, XML, CSS) + TestFMXSynMacroRecorder.pas Macro event, hooked command, macro recorder tests + VCL/ + VCLSynEditTests.dproj DUnitX test project (95 tests, 5 fixtures) + TestVCLSynSpellCheck.pas Hunspell provider tests + TestVCLSynWindowsSpellCheck Windows spell-check COM provider tests + TestVCLSynSpellCheckComponent Spell check component integration tests + TestVCLSynEditDragDrop.pas Drag-drop integration tests + TestVCLSynMacroRecorder.pas Macro recording and playback tests +``` + +## Package Dependencies + +``` +SynEditSharedDR (requires rtl) + Contains: shared Source/*.pas + 66 highlighters + ↑ ↑ +SynEditDR SynEditFMXDR +(requires vcl, vcldb, (requires fmx, rtl, + vclx, rtl, SynEditSharedDR) + SynEditSharedDR) + ↑ ↑ +SynEditDD SynEditFMXDD +(requires designide, (requires designide, + SynEditDR) SynEditFMXDR) +``` + +C++ Builder packages mirror the Delphi structure: +`SynEditSharedCR` → `SynEditCR`/`SynEditFMXCR` → `SynEditCD`/`SynEditFMXCD` + +## Key Design Decisions + +### TColor Portability + +`TColor` is defined in `System.UITypes`, available on all platforms. +`Vcl.Graphics` merely re-exports it. All shared code (including highlighters) +uses `System.UITypes` for `TColor`. The FMX rendering layer converts +`TColor` to `TAlphaColor` at the paint boundary. + +### Highlighter Sharing + +All 66 language highlighters are pure tokenization logic. They reference +`TColor` (via `System.UITypes`) and `TSynHighlighterAttributes` (via +`SynEditHighlighter`). Windows-specific imports like `Registry` are +wrapped in `{$IFDEF MSWINDOWS}`. This allows the same highlighter files +to be used by both VCL and FMX editors. + +### VCL vs FMX Editor Base Class + +| Aspect | VCL | FMX | +|--------|-----|-----| +| Base class | `TCustomControl` | `TControl` | +| Rendering | DirectWrite (`Vcl.SynDWrite`) | FMX Canvas (`FMX.SynEditRenderer`) | +| Scrollbars | Native Windows (`WM_HSCROLL`/`WM_VSCROLL`) | FMX `TScrollBar` components | +| Input | Windows messages (`WM_KEYDOWN`, etc.) | FMX event overrides (`KeyDown`, etc.) | +| Clipboard | Windows API | `IFMXClipboardService` | +| Drag-drop | OLE `IDropTarget`/`IDropSource` | OLE via `ISynDragDropPlatform` + FMX `TControl` overrides | +| Completion | `Vcl.SynCompletionProposal` (native popup) | `FMX.SynCompletionProposal` (`TPopup`-based) | +| Printing | Windows GDI/printer API | Abstract provider (`FMX.SynEditPrint`) | +| Spell check | Windows COM (`Vcl.SynSpellCheck`) | Abstract provider (`FMX.SynSpellCheck`) | +| Accessibility | Windows UI Automation | Not yet implemented | + +### FMX Message Handler Mapping + +| VCL `WM_*` | FMX equivalent | +|-------------|----------------| +| `WM_PAINT` | `Paint` override | +| `WM_SIZE` | `Resize` override | +| `WM_SETFOCUS`/`WM_KILLFOCUS` | `DoEnter`/`DoExit` | +| `WM_KEYDOWN`/`WM_KEYUP` | `KeyDown`/`KeyUp` overrides | +| `WM_MOUSE*` | `MouseDown`/`MouseMove`/`MouseUp`/`MouseWheel` | +| `WM_HSCROLL`/`WM_VSCROLL` | FMX `TScrollBar.OnChange` | +| `WM_COPY`/`WM_CUT`/`WM_PASTE` | Editor commands via `KeyDown` | +| `WM_ERASEBKGND` | N/A (FMX handles it) | + +## Building + +### Prerequisites + +- Delphi 12+ (RAD Studio 12+) +- Packages must be built in dependency order + +### Build Order (Delphi) + +``` +1. SynEditSharedDR (shared runtime) +2. SynEditDR (VCL runtime) +3. SynEditDD (VCL designtime) +4. SynEditFMXDR (FMX runtime) +5. SynEditFMXDD (FMX designtime) +``` + +### Build Order (C++ Builder) + +``` +1. SynEditSharedCR (shared runtime) +2. SynEditCR (VCL runtime) +3. SynEditCD (VCL designtime) +4. SynEditFMXCR (FMX runtime) +5. SynEditFMXCD (FMX designtime) +``` + +### Platform Support + +| Platform | Delphi | C++ Builder | +|----------|--------|-------------| +| Win32 | All OK | All OK | +| Win64 | All OK | Known ilink64 generics limitation | +| Win64x | All OK | Toolchain init_record mismatch | + +## For Contributors + +### Adding a New Shared Unit + +1. Place in `Source/` (no prefix) +2. Add to `SynEditSharedDR.dpk` contains clause +3. Add to `SynEditSharedCR.cbproj` source list +4. Use only `System.*` and `SynEdit*` (no-prefix) units + +### Adding a New VCL Unit + +1. Place in `Source/VCL/` with `Vcl.` prefix +2. Add to `SynEditDR.dpk` contains clause +3. Add to `SynEditCR.cbproj` source list +4. Can reference both shared units and other `Vcl.*` units + +### Adding a New FMX Unit + +1. Place in `Source/FMX/` with `FMX.` prefix +2. Add to `SynEditFMXDR.dpk` contains clause +3. Add to `SynEditFMXCR.cbproj` source list +4. Can reference both shared units and other `FMX.*` units + +### Unit Naming Rules + +A unit is **never** both shared AND scope-resolved. If a unit has a `Vcl.*` +or `FMX.*` counterpart, it must not exist as a bare name in `Source/`. If a +unit is shared, it must not have a prefixed counterpart. + +**Shared suffix convention**: When shared logic must coexist with +platform-specific units of the same base name, the shared unit uses a +`*Shared` suffix to avoid scope-resolution collisions: + +| Shared unit | VCL counterpart | FMX counterpart | +|-------------|-----------------|-----------------| +| `SynUnicodeShared.pas` | `Vcl.SynUnicode.pas` | `FMX.SynUnicode.pas` | +| `SynEditKeyConstShared.pas` | `Vcl.SynEditKeyConst.pas` | `FMX.SynEditKeyConst.pas` | +| `SynEditUndoShared.pas` | `Vcl.SynEditUndo.pas` | `FMX.SynEditUndo.pas` | +| `SynEditDragDropShared.pas` | — | — | +| `SynEditDragDropWin.pas` | `Vcl.SynEditDragDrop.pas` / `Vcl.SynEditDataObject.pas` | `FMX.SynEditDragDrop.pas` | +| `SynMacroRecorderShared.pas` | `Vcl.SynMacroRecorder.pas` | `FMX.SynMacroRecorder.pas` | + +The VCL/FMX units re-export the shared declarations and add +platform-specific functionality (e.g., clipboard, key mapping). +The drag-drop shared units use a different pattern: `SynEditDragDropWin` +contains Windows OLE building blocks consumed by both VCL and FMX units +directly (not via re-export), while `SynEditDragDropShared` contains +pure cross-platform drop logic. diff --git a/Doc/CodeFolding.md b/Doc/CodeFolding.md index d3d98367..c202b6d5 100644 --- a/Doc/CodeFolding.md +++ b/Doc/CodeFolding.md @@ -25,9 +25,16 @@ ScanForFoldRanges is called after the standard highlighter scanning has taken place so one can use the Range information stored inside LinesToScan, which is a TSynEditStringList, to avoid duplicating effort. -Initally two hightlighters have been converted SynHighlighterJScript and -SynHighlighterPython, to serve as examples of adding code folding -support to brace-based and indentation-based languagges. +The following highlighters have been converted: + +| Highlighter | Fold strategy | +| :---------- | :------------ | +| SynHighlighterJScript | Brace-based (`{` / `}`) | +| SynHighlighterPython | Indentation-based | +| SynHighlighterDelphi | Keyword-based (`begin`/`end`, `class`, `record`, `try`, `case`, `interface`/`implementation`, `{$REGION}`/`{$ENDREGION}`). Procedures and functions fold from the header line, not the `begin` line. `class var`, `class function`, etc. are excluded from opening folds. | +| SynHighlighterHTML | Tag-based (paired open/close tags). Void elements (`br`, `hr`, `img`, `input`, etc.) and self-closing tags are excluded. Multi-line tags and quoted `>` in attributes are handled correctly. | +| SynHighlighterXML | Tag-based (paired open/close tags). Processing instructions, CDATA, comments, and DOCTYPE are excluded. Multi-line tag state is tracked across lines so that self-closing tags spanning multiple lines do not create spurious folds. | +| SynHighlighterCSS | Brace-based (`{` / `}`) with comment and string awareness. Multi-line `/* */` comments are tracked across lines. Braces inside strings (with backslash escape support) are ignored. Supports nested `@media` / `@supports` blocks. | Alternatively, code folding support can be provided just by implementing the SynEdit OnScanForFoldRangesEvent event. diff --git a/Doc/Multi-caret.md b/Doc/Multi-caret.md index 93e64394..c35184c3 100644 --- a/Doc/Multi-caret.md +++ b/Doc/Multi-caret.md @@ -25,20 +25,24 @@ The two new data structures introduces are TSynSelection (single selection): function IsValid: Boolean; end; ``` -and TSynSelections (shown partially) +and TSynSelectionsBase (shown partially), the shared abstract base class in `SynEditSelections.pas`: ```pascal -TSynSelections = class +TSynSelectionsBase = class public type TKeepSelection = (ksKeepBase, ksKeepActive); procedure Clear(KeepSelection: TKeepSelection = ksKeepActive); - // properties - // The last selection entered - // Non-multicursor commands operate on the active selection + function AddCaret(const ACaret: TBufferCoord; IsBase: Boolean = False): Boolean; + procedure ColumnSelection(Anchor, ACaret: TBufferCoord; LastPosX: Integer = 0); + procedure Merge; + function PartSelectionsForRow(const RowStart, RowEnd: TBufferCoord): TSynSelectionArray; + procedure Store(out SelStorage: TSynSelStorage); + procedure Restore(const [Ref] SelStorage: TSynSelStorage); + procedure LinesInserted(FirstLine, aCount: Integer); + procedure LinesDeleted(FirstLine, aCount: Integer); + procedure LinePut(aIndex: Integer; const OldLine: string); property ActiveSelection: TSynSelection read GetActiveSelection write SetActiveSelection; - // The selection that is kept when you clear multiple cursors - // It the first one as in VS Code property BaseSelection: TSynSelection read GetBaseSelection write SetBaseSelection; property Count: Integer read GetCount; property ActiveSelIndex: Integer read FActiveSelIndex write SetActiveSelIndex; @@ -47,7 +51,11 @@ TSynSelections = class end; ``` -TCustomSynedit owns a TSynSelections object exposed with the property ```Selections``` and a TSynSelection record exposed as ```Selection```. +Platform-specific subclasses override 10 abstract methods for editor coupling: +- **VCL**: `TSynSelections` in `Vcl.SynEditMiscClasses.pas` +- **FMX**: `TSynFMXSelections` in `FMX.SynEditMiscClasses.pas` + +Both TCustomSynEdit (VCL) and TCustomFMXSynEdit (FMX) own a selections object exposed with the property `Selections` and a TSynSelection record exposed as `Selection`. Most of the commands and properties you are likely to have used, such as CaretXY, BeginBlock, EndBlock, SelAvail, SelStart, SelEnd, SetCaretAndSelection etc operate as in previous versions diff --git a/Packages/11AndAbove/CBuilder/SynEditCBuilder.groupproj b/Packages/11AndAbove/CBuilder/SynEditCBuilder.groupproj index 3154b159..6ff1b99a 100644 --- a/Packages/11AndAbove/CBuilder/SynEditCBuilder.groupproj +++ b/Packages/11AndAbove/CBuilder/SynEditCBuilder.groupproj @@ -1,13 +1,22 @@ - + {F9BE6A59-BDDF-49EA-8DBD-FFCEA9630B0C} - + + + SynEditSharedCR.cbproj + - + SynEditCR.cbproj + + + SynEditSharedCR.cbproj + + + SynEditFMXCR.cbproj @@ -17,6 +26,15 @@ + + + + + + + + + @@ -35,14 +53,32 @@ + + + + + + + + + + + + + + + + + + - + - + - + diff --git a/Packages/11AndAbove/CBuilder/SynEditCD.cbproj b/Packages/11AndAbove/CBuilder/SynEditCD.cbproj index 6255407f..d72e4c47 100644 --- a/Packages/11AndAbove/CBuilder/SynEditCD.cbproj +++ b/Packages/11AndAbove/CBuilder/SynEditCD.cbproj @@ -1,4 +1,4 @@ - + True Package @@ -47,22 +47,23 @@ true false -LUDesignIDE + SynEditSharedDR;SynEditDR;$(DCC_UsePackage) ..\cpp\$(Platform)\$(Config) All ..\cpp\$(Platform)\$(Config) - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) ..\cpp\$(Platform)\$(Config) true - ..\..\..\Source;..\..\..\Source\Highlighters;$(DCC_UnitSearchPath) + ..\..\..\Source\VCL;..\..\..\Source;..\..\..\Source\Highlighters;$(DCC_UnitSearchPath) true $(Auto) true - TurboPack SynEdit CBuilder designtime package + TurboPack SynEdit CBuilder VCL designtime package true true - ..\..\..\Source\Highlighters\;..\..\..\Source\;$(ILINK_LibraryPath) + ..\..\..\Source\VCL\;..\..\..\Source\Highlighters\;..\..\..\Source\;$(ILINK_LibraryPath) $(BDSLIB)\$(PLATFORM)\release\$(LANGDIR);$(ILINK_TranslatedLibraryPath) - ..\..\..\Source\Highlighters\;..\..\..\Source\;$(IncludePath) + ..\..\..\Source\VCL\;..\..\..\Source\Highlighters\;..\..\..\Source\;$(IncludePath) .\$(Platform)\$(Config) true CppPackage @@ -156,13 +157,13 @@ 12 - + 3 - + 5 - + 4 @@ -201,7 +202,7 @@ False True False - False + True False False diff --git a/Packages/11AndAbove/CBuilder/SynEditCR.cbproj b/Packages/11AndAbove/CBuilder/SynEditCR.cbproj index 3cd28a2f..4e202305 100644 --- a/Packages/11AndAbove/CBuilder/SynEditCR.cbproj +++ b/Packages/11AndAbove/CBuilder/SynEditCR.cbproj @@ -1,4 +1,4 @@ - + True Package @@ -24,6 +24,11 @@ Base true + + true + Base + true + true Base @@ -54,18 +59,19 @@ ..\cpp\$(Platform)\$(Config) All ..\cpp\$(Platform)\$(Config) - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) ..\cpp\$(Platform)\$(Config) true - ..\..\..\Source;$(DCC_UnitSearchPath) + SynEditSharedDR;$(DCC_UsePackage) + ..\..\..\Source\VCL;..\..\..\Source;..\..\..\Source\Highlighters;$(DCC_UnitSearchPath) $(Auto) true - TurboPack SynEdit CBuilder runtime package + TurboPack SynEdit CBuilder VCL runtime package true true - ..\..\..\Source\Highlighters\;..\..\..\Source\;$(ILINK_LibraryPath) + ..\..\..\Source\VCL\;..\..\..\Source\Highlighters\;..\..\..\Source\;$(ILINK_LibraryPath) $(BDSLIB)\$(PLATFORM)\release\$(LANGDIR);$(ILINK_TranslatedLibraryPath) - ..\..\..\Source\Highlighters\;..\..\..\Source\;$(IncludePath) + ..\..\..\Source\VCL\;..\..\..\Source\Highlighters\;..\..\..\Source\;$(IncludePath) .\$(Platform)\$(Config) true CppPackage @@ -91,6 +97,13 @@ true 1033 + + $(BDSINCLUDE)\windows\vcl;$(IncludePath) + $(BDSCOMMONDIR)\Dcp\Win64x\Release;$(ILINK_LibraryPath) + rtl;vcl;vclactnband;vcldb;vclimg;vclx;xmlrtl;SynEditSharedCR;$(PackageImports) + true + 1033 + true true @@ -146,6 +159,9 @@ 1 + + 2 + 0 @@ -170,327 +186,137 @@ 113 - - 53 - - - 54 - - - 55 - - - 56 - - - 57 - - - 58 - - - 59 - - - 60 - - - 61 - - - 62 - - - 63 - - - 64 - - - 65 - - - 66 - - - 67 - - - 68 - - - 69 - - - 70 - - - 71 - - - 72 - - - 73 - - - 74 - - - 75 - - - 76 - - - 77 - - - 78 - - - 79 - - - 80 - - - 81 - - - 82 - - - 83 - - - 84 - - - 85 - - - 86 - - - 87 - - - 88 - - - 90 - - - 91 - - - 92 - - - 93 - - - 94 - - - 95 - - - 96 - - - 97 - - - 98 - - - 99 - - - 100 - - - 101 - - - 102 - - - 103 - - - 104 - - - 105 - - - 106 - - - 107 - - - 108 - - - 109 - - - 110 - - - 111 - - - 112 - - - 113 - - - 114 - - - 110 - - -
frmAutoCorrectEditor
- dfm - 110 -
- + 110 - + 110 - - 114 - - - 110 - - + 111 - + 112 - + 113 - + 113 - + 113 - + 113 - -
SynEditKeystrokeEditorForm
- dfm - 113 + + 114 - - 113 + + 114 - -
SynEditKeystrokesEditorForm
- dfm - 113 + + 114 - - 113 + + 114 - - 113 + + 115 - - 113 + + 115 - -
fmEditorOptionsDialog
- dfm - 113 + + 115 - - 113 + + 115 - - 113 + + 115 - - 113 + +
SynEditPrintMarginsDlg
+ dfm + 115
- - 113 + + 115 - - 113 + + 115 - -
SynEditPrintMarginsDlg
- dfm - 113 + + 116 - - 113 + + 116 - - 113 + + 116 - - 114 + + 116 - - 115 + + 116 - - 115 + + 117 - - 115 + + 117 - - 115 + + 117 - - 115 + + 117 - - 115 + + 117 - - 115 + + 117 - - 115 + + 117 - - 115 + +
frmAutoCorrectEditor
+ dfm + 117
- - 115 + + 118 - - 115 + + 118 - - 115 + +
SynOmniSynSetup
+ dfm + 118
- - 116 + + 119 - - 116 + +
fmEditorOptionsDialog
+ dfm + 119
- - 116 + +
SynEditKeystrokeEditorForm
+ dfm + 119 +
+ +
SynEditKeystrokesEditorForm
+ dfm + 119
Base @@ -528,7 +354,7 @@ False True True - False + True False False diff --git a/Packages/11AndAbove/CBuilder/SynEditFMXCD.cbproj b/Packages/11AndAbove/CBuilder/SynEditFMXCD.cbproj new file mode 100644 index 00000000..edc44291 --- /dev/null +++ b/Packages/11AndAbove/CBuilder/SynEditFMXCD.cbproj @@ -0,0 +1,191 @@ + + + True + Package + Release + FMX + SynEditFMXCD.cpp + Win32 + {C3D4E5F6-3456-789A-BCDE-F01234567890} + SynEditFMXCD + 20.2 + 1 + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + SynEditFMXCD + true + true + false + -LUDesignIDE + SynEditSharedDR;SynEditFMXDR;$(DCC_UsePackage) + ..\cpp\$(Platform)\$(Config) + All + ..\cpp\$(Platform)\$(Config) + Winapi;System.Win;System;Xml;Data;Datasnap;Web;Soap;FMX;$(DCC_Namespace) + ..\cpp\$(Platform)\$(Config) + true + ..\..\..\Source\FMX;..\..\..\Source;..\..\..\Source\Highlighters;$(DCC_UnitSearchPath) + true + $(Auto) + true + TurboPack SynEdit CBuilder FMX designtime package + true + true + ..\..\..\Source\FMX\;..\..\..\Source\Highlighters\;..\..\..\Source\;$(ILINK_LibraryPath) + $(BDSLIB)\$(PLATFORM)\release\$(LANGDIR);$(ILINK_TranslatedLibraryPath) + ..\..\..\Source\FMX\;..\..\..\Source\Highlighters\;..\..\..\Source\;$(IncludePath) + .\$(Platform)\$(Config) + true + CppPackage + true + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= + 1031 + <_TCHARMapping>char + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + $(BDSINCLUDE)\windows\fmx;$(IncludePath) + designide;fmx;rtl;SynEditFMXCR;$(PackageImports) + true + CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) + 1033 + + + true + true + true + true + true + false + false + true + true + None + true + true + DEBUG + false + _DEBUG;$(Defines) + true + $(BDSLIB)\$(PLATFORM)\debug;$(ILINK_LibraryPath) + $(BDSLIB)\$(PLATFORM)\debug\$(LANGDIR);$(ILINK_TranslatedLibraryPath) + Full + true + + + $(BDSLIB)\$(PLATFORM)$(CC_SUFFIX)\debug;$(ILINK_LibraryPath) + true + CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) + 1033 + + + NDEBUG;$(Defines) + None + + + true + CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) + 1033 + + + + 7 + + + 3 + + + 1 + + + 5 + + + 0 + + + 6 + + + 2 + + + 4 + + + Base + + + Cfg_1 + Base + + + Cfg_2 + Base + + + + CPlusPlusBuilder.Personality.12 + CppPackage + + + + SynEditFMXCD.cpp + + + + False + True + True + False + + + + False + False + False + False + False + True + False + True + False + False + + + 12 + + + + + diff --git a/Packages/11AndAbove/CBuilder/SynEditFMXCD.cpp b/Packages/11AndAbove/CBuilder/SynEditFMXCD.cpp new file mode 100644 index 00000000..c2815fb5 --- /dev/null +++ b/Packages/11AndAbove/CBuilder/SynEditFMXCD.cpp @@ -0,0 +1,17 @@ +//--------------------------------------------------------------------------- + +#include +#pragma hdrstop +#pragma package(smart_init) +//--------------------------------------------------------------------------- + +// Package source. +//--------------------------------------------------------------------------- + + +#pragma argsused +extern "C" int _libmain(unsigned long reason) +{ + return 1; +} +//--------------------------------------------------------------------------- diff --git a/Packages/11AndAbove/CBuilder/SynEditFMXCR.cbproj b/Packages/11AndAbove/CBuilder/SynEditFMXCR.cbproj new file mode 100644 index 00000000..ea56b627 --- /dev/null +++ b/Packages/11AndAbove/CBuilder/SynEditFMXCR.cbproj @@ -0,0 +1,223 @@ + + + True + Package + Release + FMX + SynEditFMXCR.cpp + Win32 + {B2C3D4E5-2345-6789-ABCD-EF0123456789} + SynEditFMXCR + 20.2 + 3 + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + SynEditFMXCR + true + true + false + ..\cpp\$(Platform)\$(Config) + All + ..\cpp\$(Platform)\$(Config) + Winapi;System.Win;System;Xml;Data;Datasnap;Web;Soap;FMX;$(DCC_Namespace) + ..\cpp\$(Platform)\$(Config) + true + SynEditSharedDR;$(DCC_UsePackage) + ..\..\..\Source\FMX;..\..\..\Source;..\..\..\Source\Highlighters;$(DCC_UnitSearchPath) + $(Auto) + true + TurboPack SynEdit CBuilder FMX runtime package + true + true + ..\..\..\Source\FMX\;..\..\..\Source\Highlighters\;..\..\..\Source\;$(ILINK_LibraryPath) + $(BDSLIB)\$(PLATFORM)\release\$(LANGDIR);$(ILINK_TranslatedLibraryPath) + ..\..\..\Source\FMX\;..\..\..\Source\Highlighters\;..\..\..\Source\;$(IncludePath) + .\$(Platform)\$(Config) + true + CppPackage + true + 128 + true + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= + 1031 + <_TCHARMapping>char + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + $(BDSINCLUDE)\windows\fmx;$(IncludePath) + fmx;rtl;SynEditSharedCR;$(PackageImports) + true + CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) + 1033 + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + $(BDSINCLUDE)\windows\fmx;$(IncludePath) + fmx;rtl;SynEditSharedCR;$(PackageImports) + true + 1033 + + + true + true + true + true + true + false + false + true + true + None + true + true + DEBUG + false + _DEBUG;$(Defines) + true + $(BDSLIB)\$(PLATFORM)\debug;$(ILINK_LibraryPath) + $(BDSLIB)\$(PLATFORM)\debug\$(LANGDIR);$(ILINK_TranslatedLibraryPath) + Full + true + + + $(BDSLIB)\$(PLATFORM)$(CC_SUFFIX)\debug;$(ILINK_LibraryPath) + true + 1033 + + + NDEBUG;$(Defines) + None + + + true + CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) + 1033 + + + + 3 + + + 1 + + + 2 + + + 0 + + + 10 + + + 11 + + + 12 + + + 13 + + + 14 + + + 15 + + + 16 + + + 17 + + + 18 + + + 19 + + + 20 + + + Base + + + Cfg_1 + Base + + + Cfg_2 + Base + + + + CPlusPlusBuilder.Personality.12 + CppPackage + + + + SynEditFMXCR.cpp + + + + False + True + True + False + + + + False + False + False + False + False + True + True + True + False + False + + + 12 + + + + + diff --git a/Packages/11AndAbove/CBuilder/SynEditFMXCR.cpp b/Packages/11AndAbove/CBuilder/SynEditFMXCR.cpp new file mode 100644 index 00000000..cb952d28 --- /dev/null +++ b/Packages/11AndAbove/CBuilder/SynEditFMXCR.cpp @@ -0,0 +1,19 @@ +//--------------------------------------------------------------------------- + +#include +#pragma hdrstop +//--------------------------------------------------------------------------- +//--------------------------------------------------------------------------- +#pragma package(smart_init) +//--------------------------------------------------------------------------- + +// Package source. +//--------------------------------------------------------------------------- + + +#pragma argsused +extern "C" int _libmain(unsigned long reason) +{ + return 1; +} +//--------------------------------------------------------------------------- diff --git a/Packages/11AndAbove/CBuilder/SynEditSharedCR.cbproj b/Packages/11AndAbove/CBuilder/SynEditSharedCR.cbproj new file mode 100644 index 00000000..d5a77fe3 --- /dev/null +++ b/Packages/11AndAbove/CBuilder/SynEditSharedCR.cbproj @@ -0,0 +1,415 @@ + + + True + Package + Release + None + SynEditSharedCR.cpp + Win32 + {A1B2C3D4-1234-5678-9ABC-DEF012345678} + SynEditSharedCR + 20.2 + 3 + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + SynEditSharedCR + true + true + false + ..\cpp\$(Platform)\$(Config) + All + SYN_SHARED;$(DCC_Define) + ..\cpp\$(Platform)\$(Config) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + ..\cpp\$(Platform)\$(Config) + false + ..\..\..\Source;..\..\..\Source\Highlighters;$(DCC_UnitSearchPath) + $(Auto) + true + TurboPack SynEdit Shared CBuilder runtime package + true + true + ..\..\..\Source\Highlighters\;..\..\..\Source\;$(ILINK_LibraryPath) + $(BDSLIB)\$(PLATFORM)\release\$(LANGDIR);$(ILINK_TranslatedLibraryPath) + ..\..\..\Source\Highlighters\;..\..\..\Source\;$(IncludePath) + .\$(Platform)\$(Config) + true + CppPackage + true + 128 + true + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= + 1031 + <_TCHARMapping>char + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + $(BDSINCLUDE)\windows\vcl;$(IncludePath) + rtl;$(PackageImports) + true + CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) + 1033 + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + $(BDSINCLUDE)\windows\vcl;$(IncludePath) + rtl;$(PackageImports) + true + 1033 + + + true + true + true + true + true + false + false + true + true + None + true + true + DEBUG + false + _DEBUG;$(Defines) + true + $(BDSLIB)\$(PLATFORM)\debug;$(ILINK_LibraryPath) + $(BDSLIB)\$(PLATFORM)\debug\$(LANGDIR);$(ILINK_TranslatedLibraryPath) + Full + true + + + $(BDSLIB)\$(PLATFORM)$(CC_SUFFIX)\debug;$(ILINK_LibraryPath) + true + 1033 + + + NDEBUG;$(Defines) + None + + + true + CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) + 1033 + + + + 1 + + + 0 + + + 10 + + + 11 + + + 12 + + + 13 + + + 14 + + + 15 + + + 16 + + + 17 + + + 18 + + + 19 + + + 20 + + + 21 + + + 22 + + + 53 + + + 54 + + + 55 + + + 56 + + + 57 + + + 58 + + + 59 + + + 60 + + + 61 + + + 62 + + + 63 + + + 64 + + + 65 + + + 66 + + + 67 + + + 68 + + + 69 + + + 70 + + + 71 + + + 72 + + + 73 + + + 74 + + + 75 + + + 76 + + + 77 + + + 78 + + + 79 + + + 80 + + + 81 + + + 82 + + + 83 + + + 84 + + + 85 + + + 86 + + + 87 + + + 88 + + + 89 + + + 90 + + + 91 + + + 92 + + + 93 + + + 94 + + + 95 + + + 96 + + + 97 + + + 98 + + + 99 + + + 100 + + + 101 + + + 102 + + + 103 + + + 104 + + + 105 + + + 106 + + + 107 + + + 108 + + + 109 + + + 110 + + + 111 + + + 112 + + + 113 + + + 114 + + + 115 + + + 116 + + + Base + + + Cfg_1 + Base + + + Cfg_2 + Base + + + + CPlusPlusBuilder.Personality.12 + CppPackage + + + + SynEditSharedCR.cpp + + + + False + True + True + False + + + + False + False + False + False + False + True + True + True + False + False + + + 12 + + + + + diff --git a/Packages/11AndAbove/CBuilder/SynEditSharedCR.cpp b/Packages/11AndAbove/CBuilder/SynEditSharedCR.cpp new file mode 100644 index 00000000..cb952d28 --- /dev/null +++ b/Packages/11AndAbove/CBuilder/SynEditSharedCR.cpp @@ -0,0 +1,19 @@ +//--------------------------------------------------------------------------- + +#include +#pragma hdrstop +//--------------------------------------------------------------------------- +//--------------------------------------------------------------------------- +#pragma package(smart_init) +//--------------------------------------------------------------------------- + +// Package source. +//--------------------------------------------------------------------------- + + +#pragma argsused +extern "C" int _libmain(unsigned long reason) +{ + return 1; +} +//--------------------------------------------------------------------------- diff --git a/Packages/11AndAbove/Delphi/SynEditDD.dpk b/Packages/11AndAbove/Delphi/SynEditDD.dpk index 6701c0f7..dabe6468 100644 --- a/Packages/11AndAbove/Delphi/SynEditDD.dpk +++ b/Packages/11AndAbove/Delphi/SynEditDD.dpk @@ -1,7 +1,7 @@ package SynEditDD; {$R *.res} -{$R '..\..\..\Source\SynEditReg.dcr'} +{$R '..\..\..\Source\VCL\Vcl.SynEditReg.dcr'} {$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} {$ALIGN 8} {$ASSERTIONS ON} @@ -26,7 +26,7 @@ package SynEditDD; {$IMAGEBASE $400000} {$DEFINE RELEASE} {$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'TurboPack SynEdit Delphi designtime package'} +{$DESCRIPTION 'TurboPack SynEdit Delphi VCL designtime package'} {$LIBSUFFIX AUTO} {$DESIGNONLY} {$IMPLICITBUILD OFF} @@ -36,10 +36,10 @@ requires SynEditDR; contains - SynEditActionsResource in '..\..\..\Source\SynEditActionsResource.pas' {SynEditActions: TDataModule}, - SynEditPropertyReg in '..\..\..\Source\SynEditPropertyReg.pas', - SynEditReg in '..\..\..\Source\SynEditReg.pas', + Vcl.SynEditActionsResource in '..\..\..\Source\VCL\Vcl.SynEditActionsResource.pas' {SynEditActions: TDataModule}, + Vcl.SynEditPropertyReg in '..\..\..\Source\VCL\Vcl.SynEditPropertyReg.pas', + Vcl.SynEditReg in '..\..\..\Source\VCL\Vcl.SynEditReg.pas', SynHighlighterManager in '..\..\..\Source\Highlighters\SynHighlighterManager.pas', - SynDelphiIDEImporter in '..\..\..\Source\DesignTimeEditors\SynDelphiIDEImporter.pas'; + SynDelphiIDEImporter in '..\..\..\Source\VCL\DesignTimeEditors\SynDelphiIDEImporter.pas'; end. diff --git a/Packages/11AndAbove/Delphi/SynEditDD.dproj b/Packages/11AndAbove/Delphi/SynEditDD.dproj index 5900aba0..8e9842a1 100644 --- a/Packages/11AndAbove/Delphi/SynEditDD.dproj +++ b/Packages/11AndAbove/Delphi/SynEditDD.dproj @@ -1,4 +1,4 @@ - + True Package @@ -51,13 +51,13 @@ ..\cpp\$(Platform)\$(Config) All .\$(Platform)\$(Config) - TurboPack SynEdit Delphi designtime package + TurboPack SynEdit Delphi VCL designtime package ..\cpp\$(Platform)\$(Config) 00400000 System;Xml;Data;Datasnap;Web;Soap;Vcl;Winapi;$(DCC_Namespace) ..\cpp\$(Platform)\$(Config) true - ..\..\..\Source;$(DCC_UnitSearchPath) + ..\..\..\Source\VCL;..\..\..\Source;$(DCC_UnitSearchPath) true true $(Auto) @@ -104,17 +104,17 @@ MainSource - + - +
SynEditActions
TDataModule
- - + + - + Base diff --git a/Packages/11AndAbove/Delphi/SynEditDR.dpk b/Packages/11AndAbove/Delphi/SynEditDR.dpk index b12d852c..36dc8aa7 100644 --- a/Packages/11AndAbove/Delphi/SynEditDR.dpk +++ b/Packages/11AndAbove/Delphi/SynEditDR.dpk @@ -25,7 +25,7 @@ package SynEditDR; {$IMAGEBASE $400000} {$DEFINE RELEASE} {$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'TurboPack SynEdit Delphi runtime package'} +{$DESCRIPTION 'TurboPack SynEdit Delphi VCL runtime package'} {$LIBSUFFIX AUTO} {$RUNONLY} {$IMPLICITBUILD OFF} @@ -34,117 +34,50 @@ requires vcl, vcldb, vclx, - rtl; + rtl, + SynEditSharedDR; contains - SynAccessibility in '..\..\..\Source\SynAccessibility.pas', - SynAutoCorrect in '..\..\..\Source\SynAutoCorrect.pas', - SynAutoCorrectEditor in '..\..\..\Source\SynAutoCorrectEditor.pas' {frmAutoCorrectEditor}, - SynCompletionProposal in '..\..\..\Source\SynCompletionProposal.pas', - SynDBEdit in '..\..\..\Source\SynDBEdit.pas', - SynDWrite in '..\..\..\Source\SynDWrite.pas', - SynEdit in '..\..\..\Source\SynEdit.pas', - SynEditCodeFolding in '..\..\..\Source\SynEditCodeFolding.pas', - SynEditDataObject in '..\..\..\Source\SynEditDataObject.pas', - SynEditDragDrop in '..\..\..\Source\SynEditDragDrop.pas', - SynEditExport in '..\..\..\Source\SynEditExport.pas', - SynEditHighlighter in '..\..\..\Source\SynEditHighlighter.pas', - SynEditKbdHandler in '..\..\..\Source\SynEditKbdHandler.pas', - SynEditKeyCmdEditor in '..\..\..\Source\SynEditKeyCmdEditor.pas' {SynEditKeystrokeEditorForm}, - SynEditKeyCmds in '..\..\..\Source\SynEditKeyCmds.pas', - SynEditKeyCmdsEditor in '..\..\..\Source\SynEditKeyCmdsEditor.pas' {SynEditKeystrokesEditorForm}, - SynEditKeyConst in '..\..\..\Source\SynEditKeyConst.pas', - SynEditMiscClasses in '..\..\..\Source\SynEditMiscClasses.pas', - SynEditMiscProcs in '..\..\..\Source\SynEditMiscProcs.pas', - SynEditOptionsDialog in '..\..\..\Source\SynEditOptionsDialog.pas' {fmEditorOptionsDialog}, - SynEditPlugins in '..\..\..\Source\SynEditPlugins.pas', - SynEditPrint in '..\..\..\Source\SynEditPrint.pas', - SynEditPrinterInfo in '..\..\..\Source\SynEditPrinterInfo.pas', - SynEditPrintHeaderFooter in '..\..\..\Source\SynEditPrintHeaderFooter.pas', - SynEditPrintMargins in '..\..\..\Source\SynEditPrintMargins.pas', - SynEditPrintMarginsDialog in '..\..\..\Source\SynEditPrintMarginsDialog.pas' {SynEditPrintMarginsDlg}, - SynEditPrintPreview in '..\..\..\Source\SynEditPrintPreview.pas', - SynEditPrintTypes in '..\..\..\Source\SynEditPrintTypes.pas', - SynEditPythonBehaviour in '..\..\..\Source\SynEditPythonBehaviour.pas', - SynEditRegexSearch in '..\..\..\Source\SynEditRegexSearch.pas', - SynEditScrollBars in '..\..\..\Source\SynEditScrollBars.pas', - SynEditSearch in '..\..\..\Source\SynEditSearch.pas', - SynEditStrConst in '..\..\..\Source\SynEditStrConst.pas', - SynEditTextBuffer in '..\..\..\Source\SynEditTextBuffer.pas', - SynEditTypes in '..\..\..\Source\SynEditTypes.pas', - SynEditUndo in '..\..\..\Source\SynEditUndo.pas', - SynEditWordWrap in '..\..\..\Source\SynEditWordWrap.pas', - SynExportHTML in '..\..\..\Source\SynExportHTML.pas', - SynExportRTF in '..\..\..\Source\SynExportRTF.pas', - SynExportTeX in '..\..\..\Source\SynExportTeX.pas', - SynHighlighterADSP21xx in '..\..\..\Source\Highlighters\SynHighlighterADSP21xx.pas', - SynHighlighterAsm in '..\..\..\Source\Highlighters\SynHighlighterAsm.pas', - SynHighlighterAWK in '..\..\..\Source\Highlighters\SynHighlighterAWK.pas', - SynHighlighterBaan in '..\..\..\Source\Highlighters\SynHighlighterBaan.pas', - SynHighlighterBat in '..\..\..\Source\Highlighters\SynHighlighterBat.pas', - SynHighlighterCAC in '..\..\..\Source\Highlighters\SynHighlighterCAC.pas', - SynHighlighterCache in '..\..\..\Source\Highlighters\SynHighlighterCache.pas', - SynHighlighterCobol in '..\..\..\Source\Highlighters\SynHighlighterCobol.pas', - SynHighlighterCPM in '..\..\..\Source\Highlighters\SynHighlighterCPM.pas', - SynHighlighterCpp in '..\..\..\Source\Highlighters\SynHighlighterCpp.pas', - SynHighlighterCS in '..\..\..\Source\Highlighters\SynHighlighterCS.pas', - SynHighlighterCss in '..\..\..\Source\Highlighters\SynHighlighterCss.pas', - SynHighlighterDfm in '..\..\..\Source\Highlighters\SynHighlighterDfm.pas', - SynHighlighterDml in '..\..\..\Source\Highlighters\SynHighlighterDml.pas', - SynHighlighterDOT in '..\..\..\Source\Highlighters\SynHighlighterDOT.pas', - SynHighlighterDWS in '..\..\..\Source\Highlighters\SynHighlighterDWS.pas', - SynHighlighterEiffel in '..\..\..\Source\Highlighters\SynHighlighterEiffel.pas', - SynHighlighterFortran in '..\..\..\Source\Highlighters\SynHighlighterFortran.pas', - SynHighlighterFoxpro in '..\..\..\Source\Highlighters\SynHighlighterFoxpro.pas', - SynHighlighterGalaxy in '..\..\..\Source\Highlighters\SynHighlighterGalaxy.pas', - SynHighlighterGeneral in '..\..\..\Source\Highlighters\SynHighlighterGeneral.pas', - SynHighlighterGWS in '..\..\..\Source\Highlighters\SynHighlighterGWS.pas', - SynHighlighterHaskell in '..\..\..\Source\Highlighters\SynHighlighterHaskell.pas', - SynHighlighterHC11 in '..\..\..\Source\Highlighters\SynHighlighterHC11.pas', - SynHighlighterHP48 in '..\..\..\Source\Highlighters\SynHighlighterHP48.pas', - SynHighlighterHtml in '..\..\..\Source\Highlighters\SynHighlighterHtml.pas', - SynHighlighterIDL in '..\..\..\Source\Highlighters\SynHighlighterIDL.pas', - SynHighlighterIni in '..\..\..\Source\Highlighters\SynHighlighterIni.pas', - SynHighlighterInno in '..\..\..\Source\Highlighters\SynHighlighterInno.pas', - SynHighlighterJava in '..\..\..\Source\Highlighters\SynHighlighterJava.pas', - SynHighlighterJScript in '..\..\..\Source\Highlighters\SynHighlighterJScript.pas', - SynHighlighterJSON in '..\..\..\Source\Highlighters\SynHighlighterJSON.pas', - SynHighlighterKix in '..\..\..\Source\Highlighters\SynHighlighterKix.pas', - SynHighlighterLDraw in '..\..\..\Source\Highlighters\SynHighlighterLDraw.pas', - SynHighlighterLLVM in '..\..\..\Source\Highlighters\SynHighlighterLLVM.pas', - SynHighlighterM3 in '..\..\..\Source\Highlighters\SynHighlighterM3.pas', - SynHighlighterModelica in '..\..\..\Source\Highlighters\SynHighlighterModelica.pas', - SynHighlighterMsg in '..\..\..\Source\Highlighters\SynHighlighterMsg.pas', - SynHighlighterMulti in '..\..\..\Source\Highlighters\SynHighlighterMulti.pas', - SynHighlighterOmni in '..\..\..\Source\Highlighters\SynHighlighterOmni.pas', - SynHighlighterPas in '..\..\..\Source\Highlighters\SynHighlighterPas.pas', - SynHighlighterPerl in '..\..\..\Source\Highlighters\SynHighlighterPerl.pas', - SynHighlighterPHP in '..\..\..\Source\Highlighters\SynHighlighterPHP.pas', - SynHighlighterProgress in '..\..\..\Source\Highlighters\SynHighlighterProgress.pas', - SynHighlighterPython in '..\..\..\Source\Highlighters\SynHighlighterPython.pas', - SynHighlighterRC in '..\..\..\Source\Highlighters\SynHighlighterRC.pas', - SynHighlighterRexx in '..\..\..\Source\Highlighters\SynHighlighterRexx.pas', - SynHighlighterRuby in '..\..\..\Source\Highlighters\SynHighlighterRuby.pas', - SynHighlighterSDD in '..\..\..\Source\Highlighters\SynHighlighterSDD.pas', - SynHighlighterSml in '..\..\..\Source\Highlighters\SynHighlighterSml.pas', - SynHighlighterSQL in '..\..\..\Source\Highlighters\SynHighlighterSQL.pas', - SynHighlighterST in '..\..\..\Source\Highlighters\SynHighlighterST.pas', - SynHighlighterTclTk in '..\..\..\Source\Highlighters\SynHighlighterTclTk.pas', - SynHighlighterTeX in '..\..\..\Source\Highlighters\SynHighlighterTeX.pas', - SynHighlighterUNIXShellScript in '..\..\..\Source\Highlighters\SynHighlighterUNIXShellScript.pas', - SynHighlighterUnreal in '..\..\..\Source\Highlighters\SynHighlighterUnreal.pas', - SynHighlighterURI in '..\..\..\Source\Highlighters\SynHighlighterURI.pas', - SynHighlighterVB in '..\..\..\Source\Highlighters\SynHighlighterVB.pas', - SynHighlighterVBScript in '..\..\..\Source\Highlighters\SynHighlighterVBScript.pas', - SynHighlighterVrml97 in '..\..\..\Source\Highlighters\SynHighlighterVrml97.pas', - SynHighlighterWebIDL in '..\..\..\Source\Highlighters\SynHighlighterWebIDL.pas', - SynHighlighterXML in '..\..\..\Source\Highlighters\SynHighlighterXML.pas', - SynHighlighterYAML in '..\..\..\Source\Highlighters\SynHighlighterYAML.pas', - SynMacroRecorder in '..\..\..\Source\SynMacroRecorder.pas', - SynOmniSetupDialog in '..\..\..\Source\SynOmniSetupDialog.pas' {SynOmniSynSetup}, - SynSpellCheck in '..\..\..\Source\SynSpellCheck.pas', - SynUnicode in '..\..\..\Source\SynUnicode.pas', - SynURIOpener in '..\..\..\Source\SynURIOpener.pas', - SynHighlighterDelphi in '..\..\..\Source\Highlighters\SynHighlighterDelphi.pas'; + Vcl.SynEdit in '..\..\..\Source\VCL\Vcl.SynEdit.pas', + Vcl.SynEditScrollTypes in '..\..\..\Source\VCL\Vcl.SynEditScrollTypes.pas', + Vcl.SynUnicode in '..\..\..\Source\VCL\Vcl.SynUnicode.pas', + Vcl.SynDWrite in '..\..\..\Source\VCL\Vcl.SynDWrite.pas', + Vcl.SynEditMiscClasses in '..\..\..\Source\VCL\Vcl.SynEditMiscClasses.pas', + Vcl.SynEditScrollBars in '..\..\..\Source\VCL\Vcl.SynEditScrollBars.pas', + Vcl.SynEditKeyConst in '..\..\..\Source\VCL\Vcl.SynEditKeyConst.pas', + Vcl.SynEditKbdHandler in '..\..\..\Source\VCL\Vcl.SynEditKbdHandler.pas', + Vcl.SynEditUndo in '..\..\..\Source\VCL\Vcl.SynEditUndo.pas', + Vcl.SynCompletionProposal in '..\..\..\Source\VCL\Vcl.SynCompletionProposal.pas', + Vcl.SynEditDragDrop in '..\..\..\Source\VCL\Vcl.SynEditDragDrop.pas', + Vcl.SynEditDataObject in '..\..\..\Source\VCL\Vcl.SynEditDataObject.pas', + Vcl.SynAccessibility in '..\..\..\Source\VCL\Vcl.SynAccessibility.pas', + Vcl.SynEditPlugins in '..\..\..\Source\VCL\Vcl.SynEditPlugins.pas', + Vcl.SynEditPrint in '..\..\..\Source\VCL\Vcl.SynEditPrint.pas', + Vcl.SynEditPrinterInfo in '..\..\..\Source\VCL\Vcl.SynEditPrinterInfo.pas', + Vcl.SynEditPrintHeaderFooter in '..\..\..\Source\VCL\Vcl.SynEditPrintHeaderFooter.pas', + Vcl.SynEditPrintMargins in '..\..\..\Source\VCL\Vcl.SynEditPrintMargins.pas', + Vcl.SynEditPrintMarginsDialog in '..\..\..\Source\VCL\Vcl.SynEditPrintMarginsDialog.pas' {SynEditPrintMarginsDlg}, + Vcl.SynEditPrintPreview in '..\..\..\Source\VCL\Vcl.SynEditPrintPreview.pas', + Vcl.SynEditPrintTypes in '..\..\..\Source\VCL\Vcl.SynEditPrintTypes.pas', + Vcl.SynEditExport in '..\..\..\Source\VCL\Vcl.SynEditExport.pas', + Vcl.SynExportHTML in '..\..\..\Source\VCL\Vcl.SynExportHTML.pas', + Vcl.SynExportRTF in '..\..\..\Source\VCL\Vcl.SynExportRTF.pas', + Vcl.SynExportTeX in '..\..\..\Source\VCL\Vcl.SynExportTeX.pas', + Vcl.SynEditPythonBehaviour in '..\..\..\Source\VCL\Vcl.SynEditPythonBehaviour.pas', + Vcl.SynDBEdit in '..\..\..\Source\VCL\Vcl.SynDBEdit.pas', + SynSpellCheckTypes in '..\..\..\Source\SynSpellCheckTypes.pas', + SynSpellCheckWinAPI in '..\..\..\Source\SynSpellCheckWinAPI.pas', + SynSpellCheckHunspellProvider in '..\..\..\Source\SynSpellCheckHunspellProvider.pas', + SynSpellCheckWindowsProvider in '..\..\..\Source\SynSpellCheckWindowsProvider.pas', + Vcl.SynSpellCheck in '..\..\..\Source\VCL\Vcl.SynSpellCheck.pas', + Vcl.SynAutoCorrect in '..\..\..\Source\VCL\Vcl.SynAutoCorrect.pas', + Vcl.SynAutoCorrectEditor in '..\..\..\Source\VCL\Vcl.SynAutoCorrectEditor.pas' {frmAutoCorrectEditor}, + Vcl.SynMacroRecorder in '..\..\..\Source\VCL\Vcl.SynMacroRecorder.pas', + Vcl.SynURIOpener in '..\..\..\Source\VCL\Vcl.SynURIOpener.pas', + Vcl.SynOmniSetupDialog in '..\..\..\Source\VCL\Vcl.SynOmniSetupDialog.pas' {SynOmniSynSetup}, + Vcl.SynEditWordWrap in '..\..\..\Source\VCL\Vcl.SynEditWordWrap.pas', + Vcl.SynEditOptionsDialog in '..\..\..\Source\VCL\Vcl.SynEditOptionsDialog.pas' {fmEditorOptionsDialog}, + Vcl.SynEditKeyCmdEditor in '..\..\..\Source\VCL\Vcl.SynEditKeyCmdEditor.pas' {SynEditKeystrokeEditorForm}, + Vcl.SynEditKeyCmdsEditor in '..\..\..\Source\VCL\Vcl.SynEditKeyCmdsEditor.pas' {SynEditKeystrokesEditorForm}; end. diff --git a/Packages/11AndAbove/Delphi/SynEditDR.dproj b/Packages/11AndAbove/Delphi/SynEditDR.dproj index 9ebe2f95..fbca74cf 100644 --- a/Packages/11AndAbove/Delphi/SynEditDR.dproj +++ b/Packages/11AndAbove/Delphi/SynEditDR.dproj @@ -1,4 +1,4 @@ - + True Package @@ -63,13 +63,13 @@ ..\cpp\$(Platform)\$(Config) All .\$(Platform)\$(Config) - TurboPack SynEdit Delphi runtime package + TurboPack SynEdit Delphi VCL runtime package ..\cpp\$(Platform)\$(Config) 00400000 Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;System.Win;Bde;$(DCC_Namespace) ..\cpp\$(Platform)\$(Config) true - ..\..\..\Source;$(DCC_UnitSearchPath) + ..\..\..\Source\VCL;..\..\..\Source;$(DCC_UnitSearchPath) true $(Auto) true @@ -126,127 +126,60 @@ - - - -
frmAutoCorrectEditor
+ + + + + + + + + + + + + + + + + + + + +
SynEditPrintMarginsDlg
- - - - - - - - - - - -
SynEditKeystrokeEditorForm
+ + + + + + + + + + + + + + + +
frmAutoCorrectEditor
- - -
SynEditKeystrokesEditorForm
+ + + +
SynOmniSynSetup
- - - - + +
fmEditorOptionsDialog
- - - - - - -
SynEditPrintMarginsDlg
+ +
SynEditKeystrokeEditorForm
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SynOmniSynSetup
+ +
SynEditKeystrokesEditorForm
- - - - Base diff --git a/Packages/11AndAbove/Delphi/SynEditDelphi.groupproj b/Packages/11AndAbove/Delphi/SynEditDelphi.groupproj index 9515bd8d..dc6f5f08 100644 --- a/Packages/11AndAbove/Delphi/SynEditDelphi.groupproj +++ b/Packages/11AndAbove/Delphi/SynEditDelphi.groupproj @@ -1,13 +1,22 @@ - + {24481DCC-AF6B-4F56-97E4-89F4C142AB57} - + + + SynEditSharedDR.dproj + - + SynEditDR.dproj + + + SynEditSharedDR.dproj + + + SynEditFMXDR.dproj @@ -17,6 +26,15 @@ + + + + + + + + + @@ -35,14 +53,32 @@ + + + + + + + + + + + + + + + + + + - + - + - + diff --git a/Packages/11AndAbove/Delphi/SynEditFMXDD.dpk b/Packages/11AndAbove/Delphi/SynEditFMXDD.dpk new file mode 100644 index 00000000..250b9244 --- /dev/null +++ b/Packages/11AndAbove/Delphi/SynEditFMXDD.dpk @@ -0,0 +1,40 @@ +package SynEditFMXDD; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST ON} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'TurboPack SynEdit Delphi FMX designtime package'} +{$LIBSUFFIX AUTO} +{$DESIGNONLY} +{$IMPLICITBUILD OFF} + +requires + designide, + SynEditFMXDR; + +contains + FMX.SynEditReg in '..\..\..\Source\FMX\FMX.SynEditReg.pas'; + +end. diff --git a/Packages/11AndAbove/Delphi/SynEditFMXDD.dproj b/Packages/11AndAbove/Delphi/SynEditFMXDD.dproj new file mode 100644 index 00000000..0dd72dd6 --- /dev/null +++ b/Packages/11AndAbove/Delphi/SynEditFMXDD.dproj @@ -0,0 +1,172 @@ + + + True + Package + Release + None + SynEditFMXDD.dpk + Win32 + {C3D4E5F6-A7B8-9012-CDEF-123456789012} + SynEditFMXDD + 20.3 + 3 + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + SynEditFMXDD + ..\cpp\$(Platform)\$(Config) + All + .\$(Platform)\$(Config) + TurboPack SynEdit Delphi FMX designtime package + ..\cpp\$(Platform)\$(Config) + 00400000 + FMX;System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + ..\cpp\$(Platform)\$(Config) + true + ..\..\..\Source\FMX;..\..\..\Source;$(DCC_UnitSearchPath) + true + true + $(Auto) + true + true + false + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= + 1031 + + + SynEditDD.ico + true + 1033 + + + true + 1033 + + + 0 + RELEASE;$(DCC_Define) + false + 0 + + + true + 1033 + + + DEBUG;$(DCC_Define) + true + false + + + true + 1033 + + + + MainSource + + + + + + Base + + + Cfg_1 + Base + + + Cfg_2 + Base + + + + Delphi.Personality.12 + Package + + + + SynEditFMXDD.dpk + + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 1031 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + + False + False + False + False + False + True + True + False + False + False + + + 12 + + + + + diff --git a/Packages/11AndAbove/Delphi/SynEditFMXDR.dpk b/Packages/11AndAbove/Delphi/SynEditFMXDR.dpk new file mode 100644 index 00000000..6264b3fe --- /dev/null +++ b/Packages/11AndAbove/Delphi/SynEditFMXDR.dpk @@ -0,0 +1,64 @@ +package SynEditFMXDR; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST ON} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'TurboPack SynEdit Delphi FMX runtime package'} +{$LIBSUFFIX AUTO} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + fmx, + rtl, + SynEditSharedDR; + +contains + FMX.SynEditScrollTypes in '..\..\..\Source\FMX\FMX.SynEditScrollTypes.pas', + FMX.SynUnicode in '..\..\..\Source\FMX\FMX.SynUnicode.pas', + FMX.SynEditKeyConst in '..\..\..\Source\FMX\FMX.SynEditKeyConst.pas', + FMX.SynEditRenderer in '..\..\..\Source\FMX\FMX.SynEditRenderer.pas', + FMX.SynEditMiscClasses in '..\..\..\Source\FMX\FMX.SynEditMiscClasses.pas', + FMX.SynEditScrollBars in '..\..\..\Source\FMX\FMX.SynEditScrollBars.pas', + FMX.SynEditKbdHandler in '..\..\..\Source\FMX\FMX.SynEditKbdHandler.pas', + FMX.SynEditUndo in '..\..\..\Source\FMX\FMX.SynEditUndo.pas', + FMX.SynEdit in '..\..\..\Source\FMX\FMX.SynEdit.pas', + FMX.SynCompletionProposal in '..\..\..\Source\FMX\FMX.SynCompletionProposal.pas', + FMX.SynEditPlugins in '..\..\..\Source\FMX\FMX.SynEditPlugins.pas', + SynSpellCheckTypes in '..\..\..\Source\SynSpellCheckTypes.pas', + SynSpellCheckWinAPI in '..\..\..\Source\SynSpellCheckWinAPI.pas', + SynSpellCheckHunspellProvider in '..\..\..\Source\SynSpellCheckHunspellProvider.pas', + SynSpellCheckWindowsProvider in '..\..\..\Source\SynSpellCheckWindowsProvider.pas', + FMX.SynSpellCheck in '..\..\..\Source\FMX\FMX.SynSpellCheck.pas', + FMX.SynEditPrintTypes in '..\..\..\Source\FMX\FMX.SynEditPrintTypes.pas', + FMX.SynEditPrinterInfo in '..\..\..\Source\FMX\FMX.SynEditPrinterInfo.pas', + FMX.SynEditPrintMargins in '..\..\..\Source\FMX\FMX.SynEditPrintMargins.pas', + FMX.SynEditPrintHeaderFooter in '..\..\..\Source\FMX\FMX.SynEditPrintHeaderFooter.pas', + FMX.SynEditPrint in '..\..\..\Source\FMX\FMX.SynEditPrint.pas', + FMX.SynEditWordWrap in '..\..\..\Source\FMX\FMX.SynEditWordWrap.pas', + FMX.SynEditDragDrop in '..\..\..\Source\FMX\FMX.SynEditDragDrop.pas', + FMX.SynMacroRecorder in '..\..\..\Source\FMX\FMX.SynMacroRecorder.pas'; + +end. diff --git a/Packages/11AndAbove/Delphi/SynEditFMXDR.dproj b/Packages/11AndAbove/Delphi/SynEditFMXDR.dproj new file mode 100644 index 00000000..dcf2c871 --- /dev/null +++ b/Packages/11AndAbove/Delphi/SynEditFMXDR.dproj @@ -0,0 +1,233 @@ + + + True + Package + Release + FMX + SynEditFMXDR.dpk + Win32 + {B2C3D4E5-F6A7-8901-BCDE-F12345678901} + SynEditFMXDR + 20.3 + 3 + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + true + Cfg_2 + true + true + + + SynEditFMXDR + ..\cpp\$(Platform)\$(Config) + All + .\$(Platform)\$(Config) + TurboPack SynEdit Delphi FMX runtime package + ..\cpp\$(Platform)\$(Config) + 00400000 + FMX;System;Xml;Data;$(DCC_Namespace) + ..\cpp\$(Platform)\$(Config) + true + ..\..\..\Source\FMX;..\..\..\Source;$(DCC_UnitSearchPath) + true + $(Auto) + true + true + true + false + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= + 1031 + + + SynEditDR.ico + true + 1033 + + + SynEditDR.ico + true + 1033 + + + 0 + RELEASE;$(DCC_Define) + false + 0 + + + true + 1033 + + + true + 1033 + + + DEBUG;$(DCC_Define) + true + false + + + true + 1033 + + + true + 1033 + + + + MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base + + + Cfg_1 + Base + + + Cfg_2 + Base + + + + Delphi.Personality.12 + Package + + + + SynEditFMXDR.dpk + + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 1031 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + False + + False + False + True + True + True + True + True + False + False + False + + + 12 + + + + + diff --git a/Packages/11AndAbove/Delphi/SynEditSharedDR.dpk b/Packages/11AndAbove/Delphi/SynEditSharedDR.dpk new file mode 100644 index 00000000..9318938d --- /dev/null +++ b/Packages/11AndAbove/Delphi/SynEditSharedDR.dpk @@ -0,0 +1,119 @@ +package SynEditSharedDR; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST ON} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'TurboPack SynEdit Shared runtime package'} +{$LIBSUFFIX AUTO} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + rtl; + +contains + SynEditTypes in '..\..\..\Source\SynEditTypes.pas', + SynEditStrConst in '..\..\..\Source\SynEditStrConst.pas', + SynEditKeyConstShared in '..\..\..\Source\SynEditKeyConstShared.pas', + SynEditKeyCmds in '..\..\..\Source\SynEditKeyCmds.pas', + SynEditHighlighter in '..\..\..\Source\SynEditHighlighter.pas', + SynEditCodeFolding in '..\..\..\Source\SynEditCodeFolding.pas', + SynEditTextBuffer in '..\..\..\Source\SynEditTextBuffer.pas', + SynEditMiscProcs in '..\..\..\Source\SynEditMiscProcs.pas', + SynUnicodeShared in '..\..\..\Source\SynUnicodeShared.pas', + SynEditSearch in '..\..\..\Source\SynEditSearch.pas', + SynEditRegexSearch in '..\..\..\Source\SynEditRegexSearch.pas', + SynEditSelections in '..\..\..\Source\SynEditSelections.pas', + SynEditUndoShared in '..\..\..\Source\SynEditUndoShared.pas', + SynEditWildcardSearch in '..\..\..\Source\SynEditWildcardSearch.pas', + SynHighlighterADSP21xx in '..\..\..\Source\Highlighters\SynHighlighterADSP21xx.pas', + SynHighlighterAsm in '..\..\..\Source\Highlighters\SynHighlighterAsm.pas', + SynHighlighterAWK in '..\..\..\Source\Highlighters\SynHighlighterAWK.pas', + SynHighlighterBaan in '..\..\..\Source\Highlighters\SynHighlighterBaan.pas', + SynHighlighterBat in '..\..\..\Source\Highlighters\SynHighlighterBat.pas', + SynHighlighterCAC in '..\..\..\Source\Highlighters\SynHighlighterCAC.pas', + SynHighlighterCache in '..\..\..\Source\Highlighters\SynHighlighterCache.pas', + SynHighlighterCobol in '..\..\..\Source\Highlighters\SynHighlighterCobol.pas', + SynHighlighterCPM in '..\..\..\Source\Highlighters\SynHighlighterCPM.pas', + SynHighlighterCpp in '..\..\..\Source\Highlighters\SynHighlighterCpp.pas', + SynHighlighterCS in '..\..\..\Source\Highlighters\SynHighlighterCS.pas', + SynHighlighterCss in '..\..\..\Source\Highlighters\SynHighlighterCss.pas', + SynHighlighterDelphi in '..\..\..\Source\Highlighters\SynHighlighterDelphi.pas', + SynHighlighterDfm in '..\..\..\Source\Highlighters\SynHighlighterDfm.pas', + SynHighlighterDml in '..\..\..\Source\Highlighters\SynHighlighterDml.pas', + SynHighlighterDOT in '..\..\..\Source\Highlighters\SynHighlighterDOT.pas', + SynHighlighterDWS in '..\..\..\Source\Highlighters\SynHighlighterDWS.pas', + SynHighlighterEiffel in '..\..\..\Source\Highlighters\SynHighlighterEiffel.pas', + SynHighlighterFortran in '..\..\..\Source\Highlighters\SynHighlighterFortran.pas', + SynHighlighterFoxpro in '..\..\..\Source\Highlighters\SynHighlighterFoxpro.pas', + SynHighlighterGalaxy in '..\..\..\Source\Highlighters\SynHighlighterGalaxy.pas', + SynHighlighterGeneral in '..\..\..\Source\Highlighters\SynHighlighterGeneral.pas', + SynHighlighterGWS in '..\..\..\Source\Highlighters\SynHighlighterGWS.pas', + SynHighlighterHaskell in '..\..\..\Source\Highlighters\SynHighlighterHaskell.pas', + SynHighlighterHC11 in '..\..\..\Source\Highlighters\SynHighlighterHC11.pas', + SynHighlighterHP48 in '..\..\..\Source\Highlighters\SynHighlighterHP48.pas', + SynHighlighterHtml in '..\..\..\Source\Highlighters\SynHighlighterHtml.pas', + SynHighlighterIDL in '..\..\..\Source\Highlighters\SynHighlighterIDL.pas', + SynHighlighterIni in '..\..\..\Source\Highlighters\SynHighlighterIni.pas', + SynHighlighterInno in '..\..\..\Source\Highlighters\SynHighlighterInno.pas', + SynHighlighterJava in '..\..\..\Source\Highlighters\SynHighlighterJava.pas', + SynHighlighterJScript in '..\..\..\Source\Highlighters\SynHighlighterJScript.pas', + SynHighlighterJSON in '..\..\..\Source\Highlighters\SynHighlighterJSON.pas', + SynHighlighterKix in '..\..\..\Source\Highlighters\SynHighlighterKix.pas', + SynHighlighterLDraw in '..\..\..\Source\Highlighters\SynHighlighterLDraw.pas', + SynHighlighterLLVM in '..\..\..\Source\Highlighters\SynHighlighterLLVM.pas', + SynHighlighterM3 in '..\..\..\Source\Highlighters\SynHighlighterM3.pas', + SynHighlighterModelica in '..\..\..\Source\Highlighters\SynHighlighterModelica.pas', + SynHighlighterMsg in '..\..\..\Source\Highlighters\SynHighlighterMsg.pas', + SynHighlighterMulti in '..\..\..\Source\Highlighters\SynHighlighterMulti.pas', + SynHighlighterOmni in '..\..\..\Source\Highlighters\SynHighlighterOmni.pas', + SynHighlighterPas in '..\..\..\Source\Highlighters\SynHighlighterPas.pas', + SynHighlighterPerl in '..\..\..\Source\Highlighters\SynHighlighterPerl.pas', + SynHighlighterPHP in '..\..\..\Source\Highlighters\SynHighlighterPHP.pas', + SynHighlighterProgress in '..\..\..\Source\Highlighters\SynHighlighterProgress.pas', + SynHighlighterPython in '..\..\..\Source\Highlighters\SynHighlighterPython.pas', + SynHighlighterRC in '..\..\..\Source\Highlighters\SynHighlighterRC.pas', + SynHighlighterRexx in '..\..\..\Source\Highlighters\SynHighlighterRexx.pas', + SynHighlighterRuby in '..\..\..\Source\Highlighters\SynHighlighterRuby.pas', + SynHighlighterSDD in '..\..\..\Source\Highlighters\SynHighlighterSDD.pas', + SynHighlighterSml in '..\..\..\Source\Highlighters\SynHighlighterSml.pas', + SynHighlighterSQL in '..\..\..\Source\Highlighters\SynHighlighterSQL.pas', + SynHighlighterST in '..\..\..\Source\Highlighters\SynHighlighterST.pas', + SynHighlighterTclTk in '..\..\..\Source\Highlighters\SynHighlighterTclTk.pas', + SynHighlighterTeX in '..\..\..\Source\Highlighters\SynHighlighterTeX.pas', + SynHighlighterUNIXShellScript in '..\..\..\Source\Highlighters\SynHighlighterUNIXShellScript.pas', + SynHighlighterUnreal in '..\..\..\Source\Highlighters\SynHighlighterUnreal.pas', + SynHighlighterURI in '..\..\..\Source\Highlighters\SynHighlighterURI.pas', + SynHighlighterVB in '..\..\..\Source\Highlighters\SynHighlighterVB.pas', + SynHighlighterVBScript in '..\..\..\Source\Highlighters\SynHighlighterVBScript.pas', + SynHighlighterVrml97 in '..\..\..\Source\Highlighters\SynHighlighterVrml97.pas', + SynHighlighterWebIDL in '..\..\..\Source\Highlighters\SynHighlighterWebIDL.pas', + SynHighlighterXML in '..\..\..\Source\Highlighters\SynHighlighterXML.pas', + SynHighlighterYAML in '..\..\..\Source\Highlighters\SynHighlighterYAML.pas', + SynEditDragDropShared in '..\..\..\Source\SynEditDragDropShared.pas', + SynEditDragDropWin in '..\..\..\Source\SynEditDragDropWin.pas', + SynMacroRecorderShared in '..\..\..\Source\SynMacroRecorderShared.pas'; + +end. diff --git a/Packages/11AndAbove/Delphi/SynEditSharedDR.dproj b/Packages/11AndAbove/Delphi/SynEditSharedDR.dproj new file mode 100644 index 00000000..83d2d25c --- /dev/null +++ b/Packages/11AndAbove/Delphi/SynEditSharedDR.dproj @@ -0,0 +1,274 @@ + + + True + Package + Release + None + SynEditSharedDR.dpk + Win32 + {A1B2C3D4-E5F6-7890-ABCD-EF1234567890} + SynEditSharedDR + 20.3 + 3 + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + true + Cfg_2 + true + true + + + SynEditSharedDR + ..\cpp\$(Platform)\$(Config) + All + .\$(Platform)\$(Config) + TurboPack SynEdit Shared runtime package + ..\cpp\$(Platform)\$(Config) + 00400000 + SYN_SHARED;$(DCC_Define) + System;Xml;Data;$(DCC_Namespace) + ..\cpp\$(Platform)\$(Config) + true + ..\..\..\Source;..\..\..\Source\Highlighters;$(DCC_UnitSearchPath) + true + $(Auto) + true + true + true + false + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= + 1031 + + + SynEditDR.ico + true + 1033 + + + SynEditDR.ico + true + 1033 + + + 0 + RELEASE;$(DCC_Define) + false + 0 + + + true + 1033 + + + true + 1033 + + + DEBUG;$(DCC_Define) + true + false + + + true + 1033 + + + true + 1033 + + + + MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base + + + Cfg_1 + Base + + + Cfg_2 + Base + + + + Delphi.Personality.12 + Package + + + + SynEditSharedDR.dpk + + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 1031 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + False + + False + False + False + False + False + True + True + False + False + False + + + 12 + + + + + diff --git a/Source/FMX/FMX.SynCompletionProposal.pas b/Source/FMX/FMX.SynCompletionProposal.pas new file mode 100644 index 00000000..cc2a1319 --- /dev/null +++ b/Source/FMX/FMX.SynCompletionProposal.pas @@ -0,0 +1,1002 @@ +{------------------------------------------------------------------------------- +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 Original Code is: SynCompletionProposal.pas, released 2000-04-11. +The Original Code is based on mwCompletionProposal.pas by Cyrille de Brebisson, +part of the mwEdit component suite. + +FMX port: Clean FMX implementation using TPopup instead of VCL TCustomForm. + +Alternatively, the contents of this file may be used under the terms of the +GNU General Public License Version 2 or later (the "GPL"), in which case +the provisions of the GPL are applicable instead of those above. +If you wish to allow use of your version of this file only under the terms +of the GPL and not to allow others to use your version of this file +under the MPL, indicate your decision by deleting the provisions above and +replace them with the notice and other provisions required by the GPL. +If you do not delete the provisions above, a recipient may use your version +of this file under either the MPL or the GPL. +-------------------------------------------------------------------------------} + +unit FMX.SynCompletionProposal; + +{$I SynEdit.inc} + +interface + +uses + System.Types, + System.UITypes, + System.UIConsts, + System.SysUtils, + System.Classes, + System.Math, + FMX.Types, + FMX.Controls, + FMX.StdCtrls, + FMX.Graphics, + SynEditTypes, + SynEditKeyCmds, + FMX.SynEdit; + +type + TSynCompletionType = (ctCode, ctParams); + + TSynCompletionOption = (scoLimitToMatchedText, scoCaseSensitive, + scoUseInsertList, scoUsePrettyText, scoEndCharCompletion, + scoCompleteWithTab, scoCompleteWithEnter); + TSynCompletionOptions = set of TSynCompletionOption; + + TCodeCompletionEvent = procedure(Sender: TObject; var Value: string; + Shift: TShiftState; Index: Integer; EndToken: WideChar) of object; + TAfterCodeCompletionEvent = procedure(Sender: TObject; const Value: string; + Shift: TShiftState; Index: Integer; EndToken: WideChar) of object; + TValidateEvent = procedure(Sender: TObject; Shift: TShiftState; + EndToken: WideChar) of object; + TSynCompletionExecuteEvent = procedure(Kind: TSynCompletionType; + Sender: TObject; var CurrentInput: string; var X, Y: Integer; + var CanExecute: Boolean) of object; + +const + DefaultProposalOptions = [scoLimitToMatchedText, scoEndCharCompletion, + scoCompleteWithTab, scoCompleteWithEnter]; + DefaultEndOfTokenChr = '()[]. '; + +type + { TSynFMXCompletionProposalForm - dropdown popup showing the completion list. + Uses FMX TPopup as the container. } + TSynFMXCompletionProposalForm = class(TPopup) + private + FItemList: TStrings; // full display items + FInsertList: TStrings; // full insert items + FAssignedList: TStrings; // filtered display items + FFilteredInsertList: TStrings;// filtered insert items + FCurrentString: string; // what user has typed so far + FPosition: Integer; // selected index in FAssignedList + FLinesInWindow: Integer; // number of visible items + FItemHeight: Single; // height of one item in pixels + FScrollBar: TScrollBar; // vertical scrollbar + FClSelect: TAlphaColor; // selection background color + FClSelectText: TAlphaColor; // selection text color + FClBackground: TAlphaColor; // background color + FClText: TAlphaColor; // normal text color + FFont: TFont; + FMargin: Single; + FCaseSensitive: Boolean; + FUseInsertList: Boolean; + FMatchText: Boolean; + FCompleteWithTab: Boolean; + FCompleteWithEnter: Boolean; + FOnValidate: TValidateEvent; + FOnCancel: TNotifyEvent; + FEndOfTokenChr: string; + procedure SetCurrentString(const Value: string); + procedure SetPosition(Value: Integer); + procedure ScrollBarChanged(Sender: TObject); + function GetTopIndex: Integer; + procedure SetTopIndex(Value: Integer); + function IsWordBreakChar(AChar: WideChar): Boolean; + protected + procedure Paint; override; + procedure MouseDown(Button: TMouseButton; Shift: TShiftState; + X, Y: Single); override; + procedure MouseWheel(Shift: TShiftState; WheelDelta: Integer; + var Handled: Boolean); override; + public + constructor Create(AOwner: TComponent); override; + destructor Destroy; override; + procedure MoveLine(DY: Integer); + procedure AddItem(const ADisplay, AInsert: string); + procedure ClearList; + property CurrentString: string read FCurrentString write SetCurrentString; + property Position: Integer read FPosition write SetPosition; + property ItemList: TStrings read FItemList; + property InsertList: TStrings read FInsertList; + property AssignedList: TStrings read FAssignedList; + property FilteredInsertList: TStrings read FFilteredInsertList; + property CaseSensitive: Boolean read FCaseSensitive write FCaseSensitive; + property UseInsertList: Boolean read FUseInsertList write FUseInsertList; + property MatchText: Boolean read FMatchText write FMatchText; + property CompleteWithTab: Boolean read FCompleteWithTab write FCompleteWithTab; + property CompleteWithEnter: Boolean read FCompleteWithEnter write FCompleteWithEnter; + property EndOfTokenChr: string read FEndOfTokenChr write FEndOfTokenChr; + property OnValidate: TValidateEvent read FOnValidate write FOnValidate; + property OnCancel: TNotifyEvent read FOnCancel write FOnCancel; + property ClSelect: TAlphaColor read FClSelect write FClSelect; + property ClSelectText: TAlphaColor read FClSelectText write FClSelectText; + property ClBackground: TAlphaColor read FClBackground write FClBackground; + property ClText: TAlphaColor read FClText write FClText; + end; + + { TSynFMXCompletionProposal - main component dropped on the form. } + TSynFMXCompletionProposal = class(TComponent) + private + FEditor: TComponent; // TCustomFMXSynEdit + FForm: TSynFMXCompletionProposalForm; + FOptions: TSynCompletionOptions; + FShortCut: TShortCut; + FTriggerChars: string; + FEndOfTokenChr: string; + FTimerInterval: Integer; + FTimer: TTimer; + FItemList: TStrings; + FInsertList: TStrings; + FOnExecute: TSynCompletionExecuteEvent; + FOnCodeCompletion: TCodeCompletionEvent; + FOnAfterCodeCompletion: TAfterCodeCompletionEvent; + FOnCancel: TNotifyEvent; + FActive: Boolean; + FCompletionStart: Integer; + procedure SetEditor(Value: TComponent); + procedure TimerExecute(Sender: TObject); + procedure EditorKeyDown(Sender: TObject; var Key: Word; + var KeyChar: WideChar; Shift: TShiftState); + procedure FormValidate(Sender: TObject; Shift: TShiftState; + EndToken: WideChar); + procedure FormCancel(Sender: TObject); + function GetCurrentInput: string; + protected + procedure Notification(AComponent: TComponent; + Operation: TOperation); override; + public + constructor Create(AOwner: TComponent); override; + destructor Destroy; override; + procedure Execute(const ACurrentInput: string; X, Y: Integer); + procedure Activate; + procedure Deactivate; + procedure CancelCompletion; + function IsActive: Boolean; + property Form: TSynFMXCompletionProposalForm read FForm; + property CompletionStart: Integer read FCompletionStart + write FCompletionStart; + published + property Editor: TComponent read FEditor write SetEditor; + property Options: TSynCompletionOptions read FOptions write FOptions + default DefaultProposalOptions; + property ShortCut: TShortCut read FShortCut write FShortCut; + property TriggerChars: string read FTriggerChars write FTriggerChars; + property EndOfTokenChr: string read FEndOfTokenChr write FEndOfTokenChr; + property TimerInterval: Integer read FTimerInterval write FTimerInterval + default 0; + property ItemList: TStrings read FItemList write FItemList; + property InsertList: TStrings read FInsertList write FInsertList; + property OnExecute: TSynCompletionExecuteEvent read FOnExecute + write FOnExecute; + property OnCodeCompletion: TCodeCompletionEvent read FOnCodeCompletion + write FOnCodeCompletion; + property OnAfterCodeCompletion: TAfterCodeCompletionEvent + read FOnAfterCodeCompletion write FOnAfterCodeCompletion; + property OnCancel: TNotifyEvent read FOnCancel write FOnCancel; + end; + +implementation + +uses + FMX.Platform, + FMX.Forms, + FMX.TextLayout, + SynEditKeyConstShared; + +{ --------------------------------------------------------------------------- } +{ TSynFMXCompletionProposalForm } +{ --------------------------------------------------------------------------- } + +constructor TSynFMXCompletionProposalForm.Create(AOwner: TComponent); +begin + inherited Create(AOwner); + FItemList := TStringList.Create; + FInsertList := TStringList.Create; + FAssignedList := TStringList.Create; + FFilteredInsertList := TStringList.Create; + FFont := TFont.Create; + FFont.Family := 'Consolas'; + FFont.Size := 10; + FItemHeight := 18; + FLinesInWindow := 8; + FMargin := 4; + FPosition := 0; + FCurrentString := ''; + FEndOfTokenChr := DefaultEndOfTokenChr; + FCaseSensitive := False; + FUseInsertList := False; + FMatchText := True; + FCompleteWithTab := True; + FCompleteWithEnter := True; + // Default FMX-friendly colors + FClBackground := TAlphaColorRec.White; + FClText := TAlphaColorRec.Black; + FClSelect := $FF3399FF; // bright blue selection + FClSelectText := TAlphaColorRec.White; + + // Create scrollbar + FScrollBar := TScrollBar.Create(Self); + FScrollBar.Orientation := TOrientation.Vertical; + FScrollBar.Align := TAlignLayout.Right; + FScrollBar.Width := 16; + FScrollBar.Min := 0; + FScrollBar.Max := 0; + FScrollBar.SmallChange := 1; + FScrollBar.OnChange := ScrollBarChanged; + FScrollBar.Parent := Self; + + // Popup sizing + Width := 300; + Height := FItemHeight * FLinesInWindow + 2; + PlacementTarget := nil; + Placement := TPlacement.Absolute; +end; + +destructor TSynFMXCompletionProposalForm.Destroy; +begin + FFilteredInsertList.Free; + FAssignedList.Free; + FInsertList.Free; + FItemList.Free; + FFont.Free; + inherited; +end; + +function TSynFMXCompletionProposalForm.GetTopIndex: Integer; +begin + Result := Round(FScrollBar.Value); +end; + +procedure TSynFMXCompletionProposalForm.SetTopIndex(Value: Integer); +begin + FScrollBar.Value := EnsureRange(Value, 0, Max(0, FAssignedList.Count - FLinesInWindow)); +end; + +procedure TSynFMXCompletionProposalForm.ScrollBarChanged(Sender: TObject); +begin + // If the selected position fell out of the visible area, adjust + if FPosition < GetTopIndex then + FPosition := GetTopIndex + else if FPosition > GetTopIndex + FLinesInWindow - 1 then + FPosition := GetTopIndex + FLinesInWindow - 1; + Repaint; +end; + +function TSynFMXCompletionProposalForm.IsWordBreakChar(AChar: WideChar): Boolean; +begin + Result := Pos(AChar, FEndOfTokenChr) > 0; +end; + +procedure TSynFMXCompletionProposalForm.Paint; +var + I, TopIdx, ItemIdx: Integer; + R: TRectF; + TextR: TRectF; + ItemText: string; + TextColor: TAlphaColor; + Layout: TTextLayout; + AvailableWidth: Single; +begin + inherited; + + // Fill background + R := LocalRect; + Canvas.Fill.Kind := TBrushKind.Solid; + Canvas.Fill.Color := FClBackground; + Canvas.FillRect(R, 0, 0, AllCorners, AbsoluteOpacity); + + // Draw a border + Canvas.Stroke.Kind := TBrushKind.Solid; + Canvas.Stroke.Color := TAlphaColorRec.Gray; + Canvas.Stroke.Thickness := 1; + Canvas.DrawRect(R, 0, 0, AllCorners, AbsoluteOpacity); + + // Calculate visible lines + AvailableWidth := Width - FScrollBar.Width; + FLinesInWindow := Max(1, Trunc((Height - 2) / FItemHeight)); + + TopIdx := GetTopIndex; + + // Create a text layout for drawing + Layout := TTextLayoutManager.DefaultTextLayout.Create; + try + Layout.Font.Assign(FFont); + Layout.HorizontalAlign := TTextAlign.Leading; + Layout.VerticalAlign := TTextAlign.Center; + Layout.WordWrap := False; + Layout.Trimming := TTextTrimming.Character; + + for I := 0 to FLinesInWindow - 1 do + begin + ItemIdx := TopIdx + I; + if ItemIdx >= FAssignedList.Count then + Break; + + TextR := RectF(FMargin, 1 + FItemHeight * I, + AvailableWidth - FMargin, 1 + FItemHeight * (I + 1)); + + // Draw selection highlight + if ItemIdx = FPosition then + begin + Canvas.Fill.Color := FClSelect; + Canvas.FillRect(RectF(1, 1 + FItemHeight * I, + AvailableWidth, 1 + FItemHeight * (I + 1)), + 0, 0, AllCorners, AbsoluteOpacity); + TextColor := FClSelectText; + end + else + TextColor := FClText; + + ItemText := FAssignedList[ItemIdx]; + + Layout.Text := ItemText; + Layout.Color := TextColor; + Layout.MaxSize := PointF(TextR.Width, TextR.Height); + Layout.TopLeft := TextR.TopLeft; + Layout.RenderLayout(Canvas); + end; + finally + Layout.Free; + end; +end; + +procedure TSynFMXCompletionProposalForm.MouseDown(Button: TMouseButton; + Shift: TShiftState; X, Y: Single); +var + ClickedIdx: Integer; +begin + inherited; + ClickedIdx := GetTopIndex + Trunc((Y - 1) / FItemHeight); + if (ClickedIdx >= 0) and (ClickedIdx < FAssignedList.Count) then + begin + Position := ClickedIdx; + // Double-click validates + if ssDouble in Shift then + if Assigned(FOnValidate) then + FOnValidate(Self, [], #0); + end; +end; + +procedure TSynFMXCompletionProposalForm.MouseWheel(Shift: TShiftState; + WheelDelta: Integer; var Handled: Boolean); +const + { On Windows, WHEEL_DELTA is 120 units per notch. On macOS/Linux FMX + reports smaller deltas (often 1-10 per event). Use Sign() for + platform-independent direction detection. } + SCROLL_LINES = 3; +begin + if WheelDelta <> 0 then + MoveLine(-Sign(WheelDelta) * SCROLL_LINES); + Handled := True; +end; + +procedure TSynFMXCompletionProposalForm.MoveLine(DY: Integer); +var + NewPos: Integer; +begin + NewPos := EnsureRange(FPosition + DY, 0, Max(0, FAssignedList.Count - 1)); + if NewPos <> FPosition then + Position := NewPos; +end; + +procedure TSynFMXCompletionProposalForm.AddItem(const ADisplay, AInsert: string); +begin + FItemList.Add(ADisplay); + FInsertList.Add(AInsert); +end; + +procedure TSynFMXCompletionProposalForm.ClearList; +begin + FItemList.Clear; + FInsertList.Clear; + FAssignedList.Clear; + FFilteredInsertList.Clear; + FPosition := 0; +end; + +procedure TSynFMXCompletionProposalForm.SetCurrentString(const Value: string); +var + I: Integer; + CompareStr: string; + Matches: Boolean; +begin + FCurrentString := Value; + + if FMatchText then + begin + // Filter items by matching prefix + FAssignedList.Clear; + FFilteredInsertList.Clear; + + for I := 0 to FItemList.Count - 1 do + begin + if FUseInsertList and (I < FInsertList.Count) then + CompareStr := FInsertList[I] + else + CompareStr := FItemList[I]; + + if FCaseSensitive then + Matches := CompareStr.StartsWith(Value) + else + Matches := CompareStr.StartsWith(Value, True); + + if Matches then + begin + FAssignedList.AddObject(FItemList[I], TObject(I)); + if I < FInsertList.Count then + FFilteredInsertList.Add(FInsertList[I]) + else + FFilteredInsertList.Add(FItemList[I]); + end; + end; + end + else + begin + // No filtering: show all items, find best match + FAssignedList.Assign(FItemList); + FFilteredInsertList.Assign(FInsertList); + end; + + // Update scrollbar + FLinesInWindow := Max(1, Trunc((Height - 2) / FItemHeight)); + FScrollBar.Max := Max(0, FAssignedList.Count - FLinesInWindow); + FScrollBar.Value := 0; + + // Reset position + if FMatchText then + FPosition := 0 + else + begin + // Find first matching item + FPosition := 0; + for I := 0 to FAssignedList.Count - 1 do + begin + if FUseInsertList and (I < FInsertList.Count) then + CompareStr := FInsertList[I] + else + CompareStr := FAssignedList[I]; + + if FCaseSensitive then + Matches := CompareStr.StartsWith(Value) + else + Matches := CompareStr.StartsWith(Value, True); + + if Matches then + begin + FPosition := I; + Break; + end; + end; + end; + + Repaint; +end; + +procedure TSynFMXCompletionProposalForm.SetPosition(Value: Integer); +begin + if Value < 0 then + Value := 0; + if Value >= FAssignedList.Count then + Value := Max(0, FAssignedList.Count - 1); + + if FPosition = Value then + Exit; + + FPosition := Value; + + // Ensure the selected item is visible + if FPosition < GetTopIndex then + SetTopIndex(FPosition) + else if FPosition >= GetTopIndex + FLinesInWindow then + SetTopIndex(FPosition - FLinesInWindow + 1); + + Repaint; +end; + +{ --------------------------------------------------------------------------- } +{ TSynFMXCompletionProposal } +{ --------------------------------------------------------------------------- } + +constructor TSynFMXCompletionProposal.Create(AOwner: TComponent); +begin + inherited Create(AOwner); + FOptions := DefaultProposalOptions; + FShortCut := Ord(' ') or scCtrl; + FEndOfTokenChr := DefaultEndOfTokenChr; + FTriggerChars := '.'; + FTimerInterval := 0; + FActive := False; + FCompletionStart := 1; + + FItemList := TStringList.Create; + FInsertList := TStringList.Create; + + FForm := TSynFMXCompletionProposalForm.Create(Self); + FForm.OnValidate := FormValidate; + FForm.OnCancel := FormCancel; + FForm.Stored := False; +end; + +destructor TSynFMXCompletionProposal.Destroy; +begin + CancelCompletion; + Editor := nil; // unhook + FreeAndNil(FTimer); + FreeAndNil(FForm); + FInsertList.Free; + FItemList.Free; + inherited; +end; + +procedure TSynFMXCompletionProposal.SetEditor(Value: TComponent); +var + Ed: TCustomFMXSynEdit; +begin + if FEditor = Value then + Exit; + + // Unhook from old editor + if FEditor <> nil then + begin + FEditor.RemoveFreeNotification(Self); + if FEditor is TCustomFMXSynEdit then + TCustomFMXSynEdit(FEditor).RemoveKeyDownHandler(EditorKeyDown); + end; + + FEditor := Value; + + // Hook into new editor + if FEditor <> nil then + begin + FEditor.FreeNotification(Self); + if FEditor is TCustomFMXSynEdit then + begin + Ed := TCustomFMXSynEdit(FEditor); + Ed.AddKeyDownHandler(EditorKeyDown); + if FForm <> nil then + begin + FForm.Parent := Ed; + FForm.IsOpen := False; + end; + end; + end + else if FForm <> nil then + FForm.Parent := nil; +end; + +procedure TSynFMXCompletionProposal.Notification(AComponent: TComponent; + Operation: TOperation); +begin + inherited; + if Operation = opRemove then + begin + if AComponent = FEditor then + begin + CancelCompletion; + FEditor := nil; + if FForm <> nil then + FForm.Parent := nil; + end + else if AComponent = FForm then + FForm := nil; + end; +end; + +procedure TSynFMXCompletionProposal.TimerExecute(Sender: TObject); +begin + if Assigned(FTimer) then + FTimer.Enabled := False; + Activate; +end; + +function TSynFMXCompletionProposal.GetCurrentInput: string; +var + Ed: TCustomFMXSynEdit; + Line: string; + I: Integer; +begin + Result := ''; + if not (FEditor is TCustomFMXSynEdit) then + Exit; + + Ed := TCustomFMXSynEdit(FEditor); + if (Ed.CaretY < 1) or (Ed.CaretY > Ed.Lines.Count) then + Exit; + + Line := Ed.Lines[Ed.CaretY - 1]; + I := Ed.CaretX - 1; + + while (I > 0) and (I <= Length(Line)) and (Line[I] > #32) and + not FForm.IsWordBreakChar(Line[I]) do + Dec(I); + + FCompletionStart := I + 1; + Result := Copy(Line, I + 1, Ed.CaretX - I - 1); +end; + +procedure TSynFMXCompletionProposal.EditorKeyDown(Sender: TObject; + var Key: Word; var KeyChar: WideChar; Shift: TShiftState); +var + ShortCutKey: Word; + ShortCutShift: TShiftState; + Ed: TCustomFMXSynEdit; + C: WideChar; +begin + if not (FEditor is TCustomFMXSynEdit) then + Exit; + Ed := TCustomFMXSynEdit(FEditor); + + if FForm.IsOpen then + begin + // The popup is active -- intercept keys for the completion list. + // Keys that we consume are zeroed out so the editor does not process them. + // Keys that must reach the editor (Backspace, Left, Right, character input, + // Delete) are left intact so the editor's own KeyDown processes them, and + // we only update our internal state here. + case Key of + SYNEDIT_UP: + begin + if ssCtrl in Shift then + FForm.Position := 0 + else + FForm.MoveLine(-1); + Key := 0; + KeyChar := #0; + end; + SYNEDIT_DOWN: + begin + if ssCtrl in Shift then + FForm.Position := Max(0, FForm.AssignedList.Count - 1) + else + FForm.MoveLine(1); + Key := 0; + KeyChar := #0; + end; + SYNEDIT_PRIOR: + begin + FForm.MoveLine(-FForm.FLinesInWindow); + Key := 0; + KeyChar := #0; + end; + SYNEDIT_NEXT: + begin + FForm.MoveLine(FForm.FLinesInWindow); + Key := 0; + KeyChar := #0; + end; + SYNEDIT_HOME: + begin + FForm.Position := 0; + Key := 0; + KeyChar := #0; + end; + SYNEDIT_END: + begin + FForm.Position := Max(0, FForm.AssignedList.Count - 1); + Key := 0; + KeyChar := #0; + end; + SYNEDIT_RETURN: + begin + if FForm.CompleteWithEnter and Assigned(FForm.OnValidate) then + FForm.OnValidate(FForm, Shift, #0); + Key := 0; + KeyChar := #0; + end; + SYNEDIT_TAB: + begin + if FForm.CompleteWithTab and Assigned(FForm.OnValidate) then + FForm.OnValidate(FForm, Shift, #0); + Key := 0; + KeyChar := #0; + end; + SYNEDIT_ESCAPE: + begin + if Assigned(FForm.OnCancel) then + FForm.OnCancel(FForm); + Key := 0; + KeyChar := #0; + end; + SYNEDIT_BACK: + begin + // Let the editor handle backspace (key passes through). + // Update our tracked string. + if Length(FForm.CurrentString) > 0 then + FForm.CurrentString := Copy(FForm.CurrentString, 1, + Length(FForm.CurrentString) - 1) + else + begin + if Assigned(FForm.OnCancel) then + FForm.OnCancel(FForm); + end; + // Do NOT zero Key -- let editor process the backspace. + end; + SYNEDIT_LEFT: + begin + if Shift = [] then + begin + if Length(FForm.CurrentString) > 0 then + FForm.CurrentString := Copy(FForm.CurrentString, 1, + Length(FForm.CurrentString) - 1) + else + begin + if Assigned(FForm.OnCancel) then + FForm.OnCancel(FForm); + end; + // Do NOT zero Key -- let editor move the caret. + end; + end; + SYNEDIT_RIGHT: + begin + if Shift = [] then + begin + if (Ed.CaretY >= 1) and (Ed.CaretY <= Ed.Lines.Count) and + (Ed.CaretX <= Ed.Lines[Ed.CaretY - 1].Length) then + begin + C := Ed.Lines[Ed.CaretY - 1][Ed.CaretX]; + if FForm.IsWordBreakChar(C) then + begin + if Assigned(FForm.OnCancel) then + FForm.OnCancel(FForm); + end + else + FForm.CurrentString := FForm.CurrentString + C; + end; + // Do NOT zero Key -- let editor move the caret. + end; + end; + SYNEDIT_DELETE: + begin + // Let editor handle delete (key passes through). + end; + else + // Character input while popup is open + if (KeyChar >= #32) and (Shift * [ssCtrl, ssAlt] = []) then + begin + if FForm.IsWordBreakChar(KeyChar) then + begin + // End-of-token character: validate if option set, then + // let the character reach the editor. + if (scoEndCharCompletion in FOptions) and + Assigned(FForm.OnValidate) then + FForm.OnValidate(FForm, Shift, KeyChar); + end + else + begin + // Regular identifier character: update the filter string. + // The character will reach the editor's own KeyDown handler. + FForm.CurrentString := FForm.CurrentString + KeyChar; + end; + // Do NOT zero KeyChar -- let editor insert the character. + end; + end; + end + else + begin + // Popup is not open -- check for shortcut to activate + ShortCutKey := FShortCut and not (scShift or scCtrl or scAlt); + ShortCutShift := []; + if FShortCut and scShift <> 0 then Include(ShortCutShift, ssShift); + if FShortCut and scCtrl <> 0 then Include(ShortCutShift, ssCtrl); + if FShortCut and scAlt <> 0 then Include(ShortCutShift, ssAlt); + if (Key = ShortCutKey) and (Shift = ShortCutShift) then + begin + Key := 0; + KeyChar := #0; + Activate; + end + else if (KeyChar >= #32) and (Shift * [ssCtrl, ssAlt] = []) then + begin + // Check trigger characters for timer-based activation + if (FTimerInterval > 0) and (Pos(KeyChar, FTriggerChars) > 0) then + begin + if FTimer = nil then + begin + FTimer := TTimer.Create(Self); + FTimer.OnTimer := TimerExecute; + end; + FTimer.Interval := FTimerInterval; + FTimer.Enabled := True; + end; + end; + end; +end; + +procedure TSynFMXCompletionProposal.FormValidate(Sender: TObject; + Shift: TShiftState; EndToken: WideChar); +var + Ed: TCustomFMXSynEdit; + Value: string; + Index: Integer; + Line: string; + LineIdx: Integer; +begin + if not (FEditor is TCustomFMXSynEdit) then + Exit; + Ed := TCustomFMXSynEdit(FEditor); + + Ed.BeginUpdate; + try + Index := FForm.FPosition; + + // Determine what text to insert + if (scoUseInsertList in FOptions) then + begin + if (scoLimitToMatchedText in FOptions) then + begin + if (Index >= 0) and (Index < FForm.FilteredInsertList.Count) and + ((scoEndCharCompletion in FOptions) or (EndToken = #0)) then + Value := FForm.FilteredInsertList[Index] + else + Value := FForm.CurrentString; + end + else + begin + if (Index >= 0) and (Index < FForm.InsertList.Count) and + ((scoEndCharCompletion in FOptions) or (EndToken = #0)) then + Value := FForm.InsertList[Index] + else + Value := FForm.CurrentString; + end; + end + else + begin + if (Index >= 0) and (Index < FForm.AssignedList.Count) and + ((scoEndCharCompletion in FOptions) or (EndToken = #0)) then + Value := FForm.AssignedList[Index] + else + Value := FForm.CurrentString; + end; + + // Fire OnCodeCompletion to allow modification + if Assigned(FOnCodeCompletion) then + FOnCodeCompletion(Self, Value, Shift, Index, EndToken); + + // Replace the text from CompletionStart to CaretX with the selected value + // by directly manipulating the line text. + LineIdx := Ed.CaretY - 1; + if (LineIdx >= 0) and (LineIdx < Ed.Lines.Count) then + begin + Line := Ed.Lines[LineIdx]; + // Remove old text (from CompletionStart to CaretX-1) and insert new value + Delete(Line, FCompletionStart, Ed.CaretX - FCompletionStart); + Insert(Value, Line, FCompletionStart); + Ed.Lines[LineIdx] := Line; + // Place caret after the inserted text + Ed.CaretXY := BufferCoord(FCompletionStart + Length(Value), Ed.CaretY); + end; + + // Close popup + CancelCompletion; + + // Fire after-completion event + if Assigned(FOnAfterCodeCompletion) then + FOnAfterCodeCompletion(Self, Value, Shift, Index, EndToken); + finally + Ed.EndUpdate; + end; +end; + +procedure TSynFMXCompletionProposal.FormCancel(Sender: TObject); +begin + CancelCompletion; + if Assigned(FOnCancel) then + FOnCancel(Self); +end; + +procedure TSynFMXCompletionProposal.Execute(const ACurrentInput: string; + X, Y: Integer); +var + CanExecute: Boolean; + Kind: TSynCompletionType; + CurrentInput: string; + PosX, PosY: Integer; +begin + CurrentInput := ACurrentInput; + PosX := X; + PosY := Y; + CanExecute := True; + Kind := ctCode; + + // Fire OnExecute to allow the host to populate item lists or cancel + if Assigned(FOnExecute) then + FOnExecute(Kind, Self, CurrentInput, PosX, PosY, CanExecute); + + if not CanExecute then + Exit; + + // Sync option flags to form + FForm.CaseSensitive := scoCaseSensitive in FOptions; + FForm.UseInsertList := scoUseInsertList in FOptions; + FForm.MatchText := scoLimitToMatchedText in FOptions; + FForm.CompleteWithTab := scoCompleteWithTab in FOptions; + FForm.CompleteWithEnter := scoCompleteWithEnter in FOptions; + FForm.EndOfTokenChr := FEndOfTokenChr; + + // Copy items to the form + FForm.FItemList.Assign(FItemList); + FForm.FInsertList.Assign(FInsertList); + + // Set popup position + FForm.PlacementRectangle := + TBounds.Create(RectF(PosX, PosY, PosX + FForm.Width, PosY + FForm.Height)); + + // Apply current input to filter items + FForm.CurrentString := CurrentInput; + + // Show the popup + FForm.IsOpen := True; + FActive := True; +end; + +procedure TSynFMXCompletionProposal.Activate; +var + Ed: TCustomFMXSynEdit; + Pt: TPointF; + CurrentInput: string; + X, Y: Integer; +begin + if not (FEditor is TCustomFMXSynEdit) then + Exit; + + Ed := TCustomFMXSynEdit(FEditor); + if Ed.ReadOnly then + Exit; + + // Get the current word fragment at the caret + CurrentInput := GetCurrentInput; + + // BufferCoordToPixel returns editor-local coordinates. + // Add one line height so the popup appears below the caret line, + // then convert to screen coordinates (Placement = Absolute). + Pt := Ed.BufferCoordToPixel(Ed.CaretXY); + Pt.Y := Pt.Y + Ed.LineHeight; + Pt := Ed.LocalToScreen(Pt); + + X := Round(Pt.X); + Y := Round(Pt.Y); + + Execute(CurrentInput, X, Y); +end; + +procedure TSynFMXCompletionProposal.Deactivate; +begin + FActive := False; + if (FForm <> nil) and FForm.IsOpen then + FForm.IsOpen := False; + if Assigned(FTimer) then + FTimer.Enabled := False; +end; + +procedure TSynFMXCompletionProposal.CancelCompletion; +begin + Deactivate; +end; + +function TSynFMXCompletionProposal.IsActive: Boolean; +begin + Result := FActive and (FForm <> nil) and FForm.IsOpen; +end; + +end. diff --git a/Source/FMX/FMX.SynEdit.pas b/Source/FMX/FMX.SynEdit.pas new file mode 100644 index 00000000..c05ae2e1 --- /dev/null +++ b/Source/FMX/FMX.SynEdit.pas @@ -0,0 +1,3938 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition + +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/ + +Phase 2: Minimal FMX editor with syntax highlighting, keyboard input, +selection, scrolling, clipboard, and undo/redo. +-------------------------------------------------------------------------------} + +unit FMX.SynEdit; + +{$I SynEdit.inc} + +interface + +uses + System.Types, + System.UITypes, + System.UIConsts, + System.SysUtils, + System.Classes, + System.Math, + System.Generics.Collections, + FMX.Types, + FMX.Controls, + FMX.Graphics, + FMX.TextLayout, + FMX.Platform, + SynEditTypes, + SynEditSelections, + SynEditKeyCmds, + SynEditHighlighter, + SynEditTextBuffer, + SynEditMiscProcs, + SynEditCodeFolding, + FMX.SynEditKbdHandler, + FMX.SynEditMiscClasses, + FMX.SynEditWordWrap; + +type + TCustomFMXSynEdit = class; + TSynFMXEditPlugin = class; + + TSynReplaceAction = (raCancel, raSkip, raReplace, raReplaceAll); + + TReplaceTextEvent = procedure(Sender: TObject; const ASearch, AReplace: + string; Line, Column: Integer; var Action: TSynReplaceAction) of object; + + TScanForFoldRangesEvent = procedure(Sender: TObject; + FoldRanges: TSynFoldRanges; LinesToScan: TStrings; + FromLine: Integer; ToLine: Integer) of object; + + TCustomFMXSynEdit = class(TControl) + private + FLines: TSynEditStringList; + FHighlighter: TSynCustomHighlighter; + FFont: TFont; + FTabWidth: Integer; + FReadOnly: Boolean; + FInsertMode: Boolean; + FSelection: TSynSelection; + FSelections: TSynFMXSelections; + FTopLine: Integer; + FLeftChar: Integer; + FRightEdge: Integer; + FRightEdgeColor: TColor; + FActiveLineColor: TColor; + FOptions: TSynEditorOptions; + FScrollOptions: TSynEditorScrollOptions; + FSelectedColor: TSynSelectedColor; + FOnChange: TNotifyEvent; + FOnStatusChange: TNotifyEvent; + // Internal state + FRenderer: TObject; // TSynFMXRenderer (forward ref avoidance) + FScrollBars: IInterface; // ISynEditScrollBars + FUndoRedo: ISynEditUndo; + FCharWidth: Single; + FLineHeight: Single; + FLinesInWindow: Integer; + FCharsInWindow: Integer; + FGutterWidth: Single; + FTextAreaLeft: Single; + FCaretTimer: TTimer; + FCaretVisible: Boolean; + FCaretBlinkOn: Boolean; + FUpdateCount: Integer; + // Word wrap + FWordWrap: Boolean; + FWordWrapHelper: TFMXWordWrapHelper; + // Code folding + FUseCodeFolding: Boolean; + FCodeFolding: TSynCodeFolding; + FAllFoldRanges: TSynFoldRanges; + FOnScanForFoldRanges: TScanForFoldRangesEvent; + // Search/Replace + FSearchEngine: TSynEditSearchCustom; + FOnReplaceText: TReplaceTextEvent; + FOnSearchNotFound: TNotifyEvent; + // Keyboard handler chain + FKbdHandler: TSynEditKbdHandler; + // Bookmarks + FBookmarks: array[0..9] of TSynFMXEditMark; + FMarkList: TSynFMXEditMarkList; + FOnPlaceBookmark: TNotifyEvent; + FOnClearBookmark: TNotifyEvent; + // Gutter + FGutter: TSynFMXGutter; + // Plugins + FPlugins: TList; + // Cached max scroll width + FMaxScrollWidth: Integer; + FMaxScrollWidthValid: Boolean; + // Drag-and-drop state + FIsDragSource: Boolean; + FDragDropHandled: Boolean; + FDragReady: Boolean; + FDragStartPos: TPointF; + FDragScrollTimer: TTimer; + FDragScrollDeltaX: Integer; + FDragScrollDeltaY: Integer; + FOleDropToken: IInterface; + FOleDropRegistered: Boolean; + // Hooked command handlers + FHookedCommandHandlers: TDictionary; + FCommandData: Pointer; + // Private methods + procedure SetHighlighter(const Value: TSynCustomHighlighter); + procedure SetTabWidth(Value: Integer); + procedure SetReadOnly(Value: Boolean); + procedure SetCaretX(Value: Integer); + procedure SetCaretY(Value: Integer); + procedure SetTopLine(Value: Integer); + procedure SetLeftChar(Value: Integer); + procedure SetRightEdge(Value: Integer); + procedure SetRightEdgeColor(Value: TColor); + procedure SetOptions(Value: TSynEditorOptions); + procedure SetScrollOptions(Value: TSynEditorScrollOptions); + procedure SetActiveLineColor(Value: TColor); + function GetLineCount: Integer; + function GetCanUndo: Boolean; + function GetCanRedo: Boolean; + function GetModified: Boolean; + function GetMaxScrollWidth: Integer; + function GetCaretX: Integer; + function GetCaretY: Integer; + function GetCaretXY: TBufferCoord; + procedure SetCaretXY(const Value: TBufferCoord); + function GetBlockBegin: TBufferCoord; + function GetBlockEnd: TBufferCoord; + function GetText: string; + procedure SetText(const Value: string); + function GetSelText: string; + function GetSelAvail: Boolean; + procedure SetBlockBegin(Value: TBufferCoord); + procedure SetBlockEnd(Value: TBufferCoord); + // Internal helpers + procedure FontChanged(Sender: TObject); + procedure LinesChanged(Sender: TObject); + procedure CaretTimerHandler(Sender: TObject); + procedure RecalcCharExtent; + procedure RecalcSizes; + procedure UpdateGutterWidth; + procedure UpdateScrollBars; + procedure EnsureCursorPosVisible; + procedure ShowCaret; + procedure HideCaret; + // Paint helpers + procedure PaintGutter(Canvas: TCanvas; FirstLine, LastLine: Integer); + procedure PaintTextLines(Canvas: TCanvas; FirstLine, LastLine: Integer); + procedure PaintCaret(Canvas: TCanvas); + // Editing helpers + procedure InsertCharAtCursor(AChar: WideChar); + procedure DoDeleteChar; + procedure DoDeleteLastChar; + procedure DoInsertLine; + procedure DoDeleteSelection; + // Navigation helpers + procedure MoveCaretHorz(DX: Integer; SelectionCmd: Boolean); + procedure MoveCaretVert(DY: Integer; SelectionCmd: Boolean); + procedure MoveCaretAndSelection(const NewCaret: TBufferCoord; + SelectionCmd: Boolean); + // Range scanning for multi-line highlighters + procedure ScanRanges; + function ScanFrom(Index: Integer): Integer; + // Code folding private + procedure SetUseCodeFolding(const Value: Boolean); + procedure OnCodeFoldingChange(Sender: TObject); + procedure ReScanForFoldRanges(FromLine, ToLine: Integer); + procedure FullFoldScan; + procedure ScanForFoldRanges(FoldRanges: TSynFoldRanges; + LinesToScan: TStrings; FromLine, ToLine: Integer); + // Gutter + procedure GutterChanged(Sender: TObject); + // Search/Replace private + procedure SetSearchEngine(Value: TSynEditSearchCustom); + function DoOnReplaceText(const ASearch, AReplace: string; + Line, Column: Integer): TSynReplaceAction; + // Multi-caret private + function ColumnSelectionStart: TBufferCoord; + procedure ExecuteMultiCaretCommand(Command: TSynEditorCommand; + AChar: WideChar); + procedure SelectAllMatchingText; + procedure CaretsAtLineEnds; + // Word wrap private + procedure SetWordWrap(Value: Boolean); + function GetWrapAreaWidth: Integer; + function GetDisplayRowCount: Integer; + // Drag-and-drop private + procedure DoDragDropOperation; + procedure ComputeDragScroll(X, Y: Single); + procedure DragScrollTimerHandler(Sender: TObject); + procedure StopDragScroll; + function IsPointInSelection(const BC: TBufferCoord): Boolean; + procedure EnsureOleDropTarget; + protected + // Plugin hooks (protected for testability) + procedure DoPluginAfterPaint(Canvas: TCanvas; const AClip: TRectF; + FirstLine, LastLine: Integer); + procedure Notification(AComponent: TComponent; Operation: TOperation); override; + procedure Paint; override; + procedure Resize; override; + procedure DoEnter; override; + procedure DoExit; override; + procedure DialogKey(var Key: Word; Shift: TShiftState); override; + procedure KeyDown(var Key: Word; var KeyChar: WideChar; + Shift: TShiftState); override; + procedure MouseDown(Button: TMouseButton; Shift: TShiftState; + X, Y: Single); override; + procedure MouseMove(Shift: TShiftState; X, Y: Single); override; + procedure MouseUp(Button: TMouseButton; Shift: TShiftState; + X, Y: Single); override; + procedure MouseWheel(Shift: TShiftState; WheelDelta: Integer; + var Handled: Boolean); override; + procedure DragOver(const Data: TDragObject; const Point: TPointF; + var Operation: TDragOperation); override; + procedure DragDrop(const Data: TDragObject; + const Point: TPointF); override; + procedure DragLeave; override; + procedure DragEnd; override; + procedure NotifyHookedCommandHandlers(AfterProcessing: Boolean; + var Command: TSynEditorCommand; var AChar: WideChar; Data: Pointer); + /// Core drop logic extracted for testability. + /// DragDrop delegates here after extracting text, coordinates, and flags. + procedure DropTextAtPos(const DropText: string; DropPos: TBufferCoord; + IsInternal, IsMove: Boolean); + public + constructor Create(AOwner: TComponent); override; + destructor Destroy; override; + procedure LoadFromFile(const AFileName: string); + procedure SaveToFile(const AFileName: string); + procedure LoadFromStream(AStream: TStream); + procedure SaveToStream(AStream: TStream); + procedure ClearAll; + procedure Undo; + procedure Redo; + procedure CutToClipboard; + procedure CopyToClipboard; + procedure PasteFromClipboard; + procedure SelectAll; + procedure ClearSelection; + function GetTextRange(AStart, AEnd: TBufferCoord): string; + procedure SetCaretAndSelection(const ACaretXY, ABlockBegin, + ABlockEnd: TBufferCoord); + procedure BeginUpdate; reintroduce; + procedure EndUpdate; reintroduce; + procedure CommandProcessor(Command: TSynEditorCommand; AChar: WideChar; + Data: Pointer = nil); + procedure ExecuteCommand(Command: TSynEditorCommand; AChar: WideChar); + procedure RegisterCommandHandler(const AHandlerProc: THookedCommandEvent; + AHandlerData: Pointer); + procedure UnregisterCommandHandler(AHandlerProc: THookedCommandEvent); + procedure SetSelectedTextPrimitive(const Value: string); + function PixelToBufferCoord(X, Y: Single): TBufferCoord; + function BufferCoordToPixel(const BC: TBufferCoord): TPointF; + // Code folding public methods + procedure CollapseAll; + procedure UncollapseAll; + procedure CollapseNearest; + procedure UncollapseNearest; + procedure Collapse(FoldRangeIndex: Integer; Invalidate: Boolean = True); + procedure Uncollapse(FoldRangeIndex: Integer; Invalidate: Boolean = True); + procedure CollapseLevel(Level: Integer); + procedure UncollapseLevel(Level: Integer); + // Search/Replace + function SearchReplace(const ASearch, AReplace: string; + AOptions: TSynSearchOptions): Integer; + // Bookmarks + procedure SetBookmark(ABookmark: Integer; X, Y: Integer); + procedure ClearBookmark(ABookmark: Integer); + procedure GotoBookmark(ABookmark: Integer); + function GetBookmark(ABookmark: Integer; var X, Y: Integer): Boolean; + function IsBookmarkSet(ABookmark: Integer): Boolean; + // Plugin management + procedure RegisterPlugin(APlugin: TSynFMXEditPlugin); + procedure UnregisterPlugin(APlugin: TSynFMXEditPlugin); + // Keyboard handler chain + procedure AddKeyDownHandler(aHandler: TKeyEvent); + procedure RemoveKeyDownHandler(aHandler: TKeyEvent); + // Row/Line mapping and coordinate conversion + function LineToRow(aLine: Integer): Integer; + function RowToLine(aRow: Integer): Integer; + function BufferToDisplayPos(const P: TBufferCoord): TDisplayCoord; + function DisplayToBufferPos(const P: TDisplayCoord): TBufferCoord; + function GetRowLength(ARow: Integer): Integer; + property CodeFolding: TSynCodeFolding read FCodeFolding write FCodeFolding; + property UseCodeFolding: Boolean read FUseCodeFolding write SetUseCodeFolding; + property WordWrap: Boolean read FWordWrap write SetWordWrap default False; + property AllFoldRanges: TSynFoldRanges read FAllFoldRanges; + property Lines: TSynEditStringList read FLines; + property LineCount: Integer read GetLineCount; + property CaretX: Integer read GetCaretX write SetCaretX; + property CaretY: Integer read GetCaretY write SetCaretY; + property CaretXY: TBufferCoord read GetCaretXY write SetCaretXY; + property BlockBegin: TBufferCoord read GetBlockBegin write SetBlockBegin; + property BlockEnd: TBufferCoord read GetBlockEnd write SetBlockEnd; + property Selections: TSynFMXSelections read FSelections; + property TopLine: Integer read FTopLine write SetTopLine; + property LeftChar: Integer read FLeftChar write SetLeftChar; + property Modified: Boolean read GetModified; + property InsertMode: Boolean read FInsertMode write FInsertMode; + property CanUndo: Boolean read GetCanUndo; + property CanRedo: Boolean read GetCanRedo; + property Text: string read GetText write SetText; + property SelText: string read GetSelText; + property SelAvail: Boolean read GetSelAvail; + property CharWidth: Single read FCharWidth; + property LineHeight: Single read FLineHeight; + property LinesInWindow: Integer read FLinesInWindow; + property CharsInWindow: Integer read FCharsInWindow; + property MaxScrollWidth: Integer read GetMaxScrollWidth; + property DisplayRowCount: Integer read GetDisplayRowCount; + property Marks: TSynFMXEditMarkList read FMarkList; + property Gutter: TSynFMXGutter read FGutter; + property GutterWidth: Single read FGutterWidth; + property Renderer: TObject read FRenderer; + property SelectedColor: TSynSelectedColor read FSelectedColor; + property UndoRedo: ISynEditUndo read FUndoRedo; + property ScrollOptions: TSynEditorScrollOptions read FScrollOptions + write SetScrollOptions default SYNEDIT_DEFAULT_SCROLLOPTIONS; + published + property Font: TFont read FFont write FFont; + property Highlighter: TSynCustomHighlighter read FHighlighter + write SetHighlighter; + property TabWidth: Integer read FTabWidth write SetTabWidth default 8; + property ReadOnly: Boolean read FReadOnly write SetReadOnly default False; + property RightEdge: Integer read FRightEdge write SetRightEdge default 80; + property RightEdgeColor: TColor read FRightEdgeColor write SetRightEdgeColor + default clSilver; + property ActiveLineColor: TColor read FActiveLineColor + write SetActiveLineColor default clNone; + property Options: TSynEditorOptions read FOptions write SetOptions + default SYNEDIT_DEFAULT_OPTIONS; + property SearchEngine: TSynEditSearchCustom read FSearchEngine + write SetSearchEngine; + property OnChange: TNotifyEvent read FOnChange write FOnChange; + property OnStatusChange: TNotifyEvent read FOnStatusChange + write FOnStatusChange; + property OnReplaceText: TReplaceTextEvent read FOnReplaceText + write FOnReplaceText; + property OnSearchNotFound: TNotifyEvent read FOnSearchNotFound + write FOnSearchNotFound; + property OnScanForFoldRanges: TScanForFoldRangesEvent + read FOnScanForFoldRanges write FOnScanForFoldRanges; + property OnPlaceBookmark: TNotifyEvent read FOnPlaceBookmark + write FOnPlaceBookmark; + property OnClearBookmark: TNotifyEvent read FOnClearBookmark + write FOnClearBookmark; + end; + + TPlugInHandler = (phLinesInserted, phLinesDeleted, phLinePut, phAfterPaint); + TPlugInHandlers = set of TPlugInHandler; + + TSynFMXEditPlugin = class(TObject) + private + FOwner: TCustomFMXSynEdit; + protected + FHandlers: TPlugInHandlers; + public + constructor Create(AOwner: TCustomFMXSynEdit; + AHandlers: TPlugInHandlers = []); virtual; + destructor Destroy; override; + procedure AfterPaint(Canvas: TCanvas; const AClip: TRectF; + FirstLine, LastLine: Integer); virtual; + procedure LinesInserted(FirstLine, Count: Integer); virtual; + procedure LinesDeleted(FirstLine, Count: Integer); virtual; + procedure LinePut(aIndex: Integer; const OldLine: string); virtual; + property Owner: TCustomFMXSynEdit read FOwner; + property Handlers: TPlugInHandlers read FHandlers; + end; + + TFMXSynEdit = class(TCustomFMXSynEdit) + published + property Align; + property Anchors; + property ClipChildren; + property ClipParent; + property Cursor; + property DragMode; + property Enabled; + property Height; + property HitTest default True; + property Locked; + property Margins; + property Opacity; + property Padding; + property PopupMenu; + property Position; + property RotationAngle; + property RotationCenter; + property Scale; + property Size; + property TabOrder; + property TabStop default True; + property TouchTargetExpansion; + property Visible; + property Width; + { Inherited published properties } + property Font; + property Highlighter; + property TabWidth; + property ReadOnly; + property RightEdge; + property RightEdgeColor; + property ActiveLineColor; + property Options; + property CodeFolding; + property Gutter; + property UseCodeFolding; + property WordWrap; + property SearchEngine; + property OnChange; + property OnStatusChange; + property OnReplaceText; + property OnSearchNotFound; + property OnScanForFoldRanges; + property OnPlaceBookmark; + property OnClearBookmark; + end; + +implementation + +uses + {$IFDEF MSWINDOWS} + Winapi.Windows, + {$ENDIF} + SynEditDragDropShared, + FMX.SynEditDragDrop, + FMX.SynEditRenderer, + FMX.SynEditScrollBars, + FMX.SynEditScrollTypes, + FMX.SynEditUndo, + FMX.SynUnicode, + SynEditKeyConstShared, + SynEditStrConst, + SynEditSearch; + +{ Expand tabs in a string to spaces } +function ExpandTabs(const S: string; TabWidth: Integer): string; +var + I, Col: Integer; + SB: TStringBuilder; +begin + if Pos(#9, S) = 0 then Exit(S); + SB := TStringBuilder.Create(Length(S) + 16); + try + Col := 0; + for I := 1 to Length(S) do + begin + if S[I] = #9 then + begin + repeat + SB.Append(' '); + Inc(Col); + until (Col mod TabWidth) = 0; + end + else + begin + SB.Append(S[I]); + Inc(Col); + end; + end; + Result := SB.ToString; + finally + SB.Free; + end; +end; + +{ TCustomFMXSynEdit } + +constructor TCustomFMXSynEdit.Create(AOwner: TComponent); +begin + inherited; + FLines := TSynEditStringList.Create(nil); + FLines.OnChange := LinesChanged; + FFont := TFont.Create; + FFont.Family := 'Consolas'; + FFont.Size := 10; + FFont.OnChanged := FontChanged; + FTabWidth := 8; + FInsertMode := True; + FSelection := TSynSelection.Create(BufferCoord(1, 1), BufferCoord(1, 1), + BufferCoord(1, 1)); + FSelection.LastPosX := -1; + FTopLine := 1; + FLeftChar := 1; + FRightEdge := 80; + FRightEdgeColor := clSilver; + FActiveLineColor := clNone; + FOptions := SYNEDIT_DEFAULT_OPTIONS; + FScrollOptions := SYNEDIT_DEFAULT_SCROLLOPTIONS; + FSelectedColor := TSynSelectedColor.Create; + FSelectedColor.Background := clDefaultSelectionBG; + FSelectedColor.Foreground := clDefaultSelectionFG; + FSelectedColor.Opacity := 255; + + CanFocus := True; + TabStop := True; + HitTest := True; + SetAcceptsControls(False); + + // Renderer + FRenderer := TSynFMXRenderer.Create; + TSynFMXRenderer(FRenderer).SetFont(FFont); + FCharWidth := TSynFMXRenderer(FRenderer).CharWidth; + FLineHeight := TSynFMXRenderer(FRenderer).LineHeight; + + // Undo system (hooks Lines events) + FUndoRedo := CreateSynEditUndo(Self); + if eoGroupUndo in FOptions then + FUndoRedo.GroupUndo := True; + + // Scrollbars + FScrollBars := CreateSynEditScrollBars(Self); + + // Caret timer + FCaretTimer := TTimer.Create(Self); + FCaretTimer.Interval := 500; + FCaretTimer.Enabled := False; + FCaretTimer.OnTimer := CaretTimerHandler; + + // Code folding + FCodeFolding := TSynCodeFolding.Create; + FCodeFolding.OnChange := OnCodeFoldingChange; + FAllFoldRanges := TSynFoldRanges.Create; + + // Keyboard handler chain + FKbdHandler := TSynEditKbdHandler.Create; + + // Bookmarks + FMarkList := TSynFMXEditMarkList.Create; + + // Multi-selection + FSelections := TSynFMXSelections.Create(Self); + FSelections.AddCaret(FSelection.Caret, True); + + // Gutter + FGutter := TSynFMXGutter.Create(Self); + FGutter.OnChange := GutterChanged; + + // Plugins + FPlugins := TList.Create; + + // Drag-and-drop scroll timer + FDragScrollTimer := TTimer.Create(Self); + FDragScrollTimer.Enabled := False; + FDragScrollTimer.Interval := 100; + FDragScrollTimer.OnTimer := DragScrollTimerHandler; + + // We draw our own caret feedback during drag; disable FMX's blue outline + EnableDragHighlight := False; + + UpdateGutterWidth; +end; + +destructor TCustomFMXSynEdit.Destroy; +begin + UnregisterOleDropTarget(FOleDropToken); + FHookedCommandHandlers.Free; + FDragScrollTimer.Free; + FWordWrapHelper.Free; + FPlugins.Free; + FGutter.Free; + FSelections.Free; + FMarkList.Free; + FKbdHandler.Free; + FCodeFolding.Free; + FAllFoldRanges.Free; + FCaretTimer.Free; + FUndoRedo := nil; + FScrollBars := nil; + FSelectedColor.Free; + TSynFMXRenderer(FRenderer).Free; + FHighlighter := nil; + FFont.Free; + FLines.Free; + inherited; +end; + +{ --- Font and sizing --- } + +procedure TCustomFMXSynEdit.FontChanged(Sender: TObject); +begin + RecalcCharExtent; +end; + +procedure TCustomFMXSynEdit.RecalcCharExtent; +begin + TSynFMXRenderer(FRenderer).SetFont(FFont); + FCharWidth := TSynFMXRenderer(FRenderer).CharWidth; + FLineHeight := TSynFMXRenderer(FRenderer).LineHeight; + RecalcSizes; + Repaint; +end; + +procedure TCustomFMXSynEdit.RecalcSizes; +var + SB: ISynEditScrollBars; + HScrollHeight, VScrollWidth: Single; + NewHScrollHeight, NewVScrollWidth: Single; +begin + if (Width <= 0) or (Height <= 0) then Exit; + UpdateGutterWidth; + FTextAreaLeft := FGutterWidth; + // Use actual scrollbar sizes (0 when hidden) + if (FScrollBars <> nil) and Supports(FScrollBars, ISynEditScrollBars, SB) then + begin + HScrollHeight := SB.GetVisibleHScrollBarHeight; + VScrollWidth := SB.GetVisibleVScrollBarWidth; + end + else + begin + HScrollHeight := 0; + VScrollWidth := 0; + end; + if FLineHeight > 0 then + FLinesInWindow := Max(1, Trunc((Height - HScrollHeight) / FLineHeight)) + else + FLinesInWindow := 1; + if FCharWidth > 0 then + FCharsInWindow := Max(1, Trunc((Width - FGutterWidth - VScrollWidth) / FCharWidth)) + else + FCharsInWindow := 1; + UpdateScrollBars; + // Recalculate if scrollbar visibility changed after UpdateScrollBars + if (FScrollBars <> nil) and Supports(FScrollBars, ISynEditScrollBars, SB) then + begin + NewHScrollHeight := SB.GetVisibleHScrollBarHeight; + NewVScrollWidth := SB.GetVisibleVScrollBarWidth; + if (NewHScrollHeight <> HScrollHeight) or (NewVScrollWidth <> VScrollWidth) then + begin + if FLineHeight > 0 then + FLinesInWindow := Max(1, Trunc((Height - NewHScrollHeight) / FLineHeight)); + if FCharWidth > 0 then + FCharsInWindow := Max(1, Trunc((Width - FGutterWidth - NewVScrollWidth) / FCharWidth)); + end; + end; + // Re-wrap if word wrap width changed + if FWordWrap and Assigned(FWordWrapHelper) then + begin + var NewWrapWidth := GetWrapAreaWidth; + if NewWrapWidth <> FWordWrapHelper.MaxCharsPerRow then + begin + FWordWrapHelper.SetWrapWidth(NewWrapWidth, FTabWidth); + FWordWrapHelper.Reset(FLines); + end; + end; +end; + +procedure TCustomFMXSynEdit.UpdateGutterWidth; +begin + FGutterWidth := FGutter.RealGutterWidth; + FTextAreaLeft := FGutterWidth; +end; + +procedure TCustomFMXSynEdit.GutterChanged(Sender: TObject); +var + OldWidth: Single; +begin + OldWidth := FGutterWidth; + UpdateGutterWidth; + if FGutterWidth <> OldWidth then + RecalcSizes; + Repaint; +end; + +procedure TCustomFMXSynEdit.Resize; +begin + inherited; + RecalcSizes; +end; + +{ --- Scrolling --- } + +procedure TCustomFMXSynEdit.UpdateScrollBars; +begin + if FScrollBars <> nil then + (FScrollBars as ISynEditScrollBars).UpdateScrollBars; +end; + +procedure TCustomFMXSynEdit.SetTopLine(Value: Integer); +var + MaxTop: Integer; +begin + if Value < 1 then Value := 1; + MaxTop := Max(1, GetDisplayRowCount - FLinesInWindow + 1); + if not (eoScrollPastEof in FScrollOptions) then + Value := Min(Value, MaxTop); + if FTopLine <> Value then + begin + FTopLine := Value; + UpdateScrollBars; + Repaint; + end; +end; + +procedure TCustomFMXSynEdit.SetLeftChar(Value: Integer); +begin + if FWordWrap then Value := 1; + if Value < 1 then Value := 1; + if FLeftChar <> Value then + begin + FLeftChar := Value; + UpdateScrollBars; + Repaint; + end; +end; + +procedure TCustomFMXSynEdit.EnsureCursorPosVisible; +var + CaretRow: Integer; + DC: TDisplayCoord; +begin + if FWordWrap and Assigned(FWordWrapHelper) then + begin + DC := FWordWrapHelper.BufferToDisplayPos(BufferCoord(FSelection.Caret.Char, FSelection.Caret.Line)); + CaretRow := DC.Row; + if CaretRow < FTopLine then + TopLine := CaretRow + else if CaretRow >= FTopLine + FLinesInWindow then + TopLine := CaretRow - FLinesInWindow + 1; + // No horizontal scrolling in word wrap mode + end + else + begin + // Vertical - use display rows when code folding is active + CaretRow := LineToRow(FSelection.Caret.Line); + if CaretRow < FTopLine then + TopLine := CaretRow + else if CaretRow >= FTopLine + FLinesInWindow then + TopLine := CaretRow - FLinesInWindow + 1; + // Horizontal + if FSelection.Caret.Char < FLeftChar then + LeftChar := FSelection.Caret.Char + else if FSelection.Caret.Char >= FLeftChar + FCharsInWindow then + LeftChar := FSelection.Caret.Char - FCharsInWindow + 1; + end; +end; + +function TCustomFMXSynEdit.GetMaxScrollWidth: Integer; +var + I, Len: Integer; +begin + if not FMaxScrollWidthValid then + begin + FMaxScrollWidth := 1; + for I := 0 to FLines.Count - 1 do + begin + Len := Length(ExpandTabs(FLines[I], FTabWidth)); + if Len > FMaxScrollWidth then + FMaxScrollWidth := Len; + end; + Inc(FMaxScrollWidth); // +1 for caret past end + FMaxScrollWidthValid := True; + end; + Result := Max(FMaxScrollWidth, FCharsInWindow + 1); +end; + +{ --- Caret --- } + +procedure TCustomFMXSynEdit.ShowCaret; +begin + FCaretVisible := True; + FCaretBlinkOn := True; + FCaretTimer.Enabled := True; + Repaint; +end; + +procedure TCustomFMXSynEdit.HideCaret; +begin + FCaretVisible := False; + FCaretTimer.Enabled := False; + Repaint; +end; + +procedure TCustomFMXSynEdit.CaretTimerHandler(Sender: TObject); +begin + FCaretBlinkOn := not FCaretBlinkOn; + Repaint; +end; + +procedure TCustomFMXSynEdit.DoEnter; +begin + inherited; + ShowCaret; +end; + +procedure TCustomFMXSynEdit.DoExit; +begin + inherited; + HideCaret; +end; + +{ --- Coordinate conversion --- } + +function TCustomFMXSynEdit.BufferCoordToPixel(const BC: TBufferCoord): TPointF; +var + DC: TDisplayCoord; +begin + if FWordWrap and Assigned(FWordWrapHelper) then + begin + DC := FWordWrapHelper.BufferToDisplayPos(BC); + Result.X := FTextAreaLeft + (DC.Column - 1) * FCharWidth; + Result.Y := (DC.Row - FTopLine) * FLineHeight; + end + else + begin + Result.X := FTextAreaLeft + (BC.Char - FLeftChar) * FCharWidth; + Result.Y := (LineToRow(BC.Line) - FTopLine) * FLineHeight; + end; +end; + +function TCustomFMXSynEdit.PixelToBufferCoord(X, Y: Single): TBufferCoord; +var + Row, Col: Integer; + DC: TDisplayCoord; +begin + if FWordWrap and Assigned(FWordWrapHelper) then + begin + Col := Max(1, 1 + Trunc((X - FTextAreaLeft) / FCharWidth)); + Row := Max(1, FTopLine + Trunc(Y / FLineHeight)); + DC.Column := Col; + DC.Row := Row; + Result := FWordWrapHelper.DisplayToBufferPos(DC); + Result.Line := Max(1, Min(Result.Line, FLines.Count)); + Result.Char := Max(1, Result.Char); + end + else + begin + Result.Char := Max(1, FLeftChar + Trunc((X - FTextAreaLeft) / FCharWidth)); + Row := Max(1, FTopLine + Trunc(Y / FLineHeight)); + Result.Line := Max(1, Min(RowToLine(Row), FLines.Count)); + end; +end; + +{ --- Paint --- } + +procedure TCustomFMXSynEdit.Paint; +var + FirstLine, LastLine: Integer; + Renderer: TSynFMXRenderer; + BGColor: TAlphaColor; + R: TRectF; +begin + // Sync FSelection record back to FSelections list before painting + FSelections.ActiveSelection := FSelection; + + EnsureOleDropTarget; + Renderer := TSynFMXRenderer(FRenderer); + + // Background + BGColor := TAlphaColors.White; + if (FHighlighter <> nil) and (FHighlighter.WhitespaceAttribute <> nil) and + (FHighlighter.WhitespaceAttribute.Background <> clNone) + then + BGColor := TColorToAlphaColor(FHighlighter.WhitespaceAttribute.Background); + + R := LocalRect; + Renderer.FillRect(Canvas, R, BGColor); + + if FLineHeight <= 0 then Exit; + + FirstLine := FTopLine; + LastLine := Min(FTopLine + FLinesInWindow, GetDisplayRowCount); + + PaintGutter(Canvas, FirstLine, LastLine); + PaintTextLines(Canvas, FirstLine, LastLine); + + // Right edge + if FRightEdge > 0 then + begin + var EdgeX: Single := FTextAreaLeft + + (FRightEdge - FLeftChar + 1) * FCharWidth; + if (EdgeX >= FTextAreaLeft) and (EdgeX <= Width) then + Renderer.DrawLine(Canvas, EdgeX, 0, EdgeX, Height, + TColorToAlphaColor(FRightEdgeColor)); + end; + + // Plugin AfterPaint hooks + DoPluginAfterPaint(Canvas, LocalRect, RowToLine(FirstLine), RowToLine(LastLine)); + + if FCaretVisible and FCaretBlinkOn then + PaintCaret(Canvas); +end; + +procedure TCustomFMXSynEdit.PaintGutter(Canvas: TCanvas; + FirstLine, LastLine: Integer); +var + Renderer: TSynFMXRenderer; + I: Integer; + Band: TSynFMXGutterBand; + BandR: TRectF; + BandLeft, BandW: Single; + GutterColor: TAlphaColor; + SaveState: TCanvasSaveState; +begin + if not FGutter.Visible then Exit; + Renderer := TSynFMXRenderer(FRenderer); + GutterColor := TColorToAlphaColor(FGutter.Color); + + // Paint gutter background for bands with gbbGutter background + BandLeft := 0; + for I := 0 to FGutter.Bands.Count - 1 do + begin + Band := FGutter.Bands[I]; + BandW := Band.RealWidth; + if (BandW > 0) and (Band.Background = gbbGutter) then + begin + BandR := RectF(BandLeft, 0, BandLeft + BandW, Height); + Renderer.FillRect(Canvas, BandR, GutterColor); + end; + BandLeft := BandLeft + BandW; + end; + + // Paint each band + BandLeft := 0; + for I := 0 to FGutter.Bands.Count - 1 do + begin + Band := FGutter.Bands[I]; + BandW := Band.RealWidth; + if BandW > 0 then + begin + BandR := RectF(BandLeft, 0, BandLeft + BandW, Height); + SaveState := Canvas.SaveState; + try + Canvas.IntersectClipRect(BandR); + Band.PaintLines(Canvas, BandR, FirstLine, LastLine); + finally + Canvas.RestoreState(SaveState); + end; + end; + BandLeft := BandLeft + BandW; + end; +end; + +procedure TCustomFMXSynEdit.PaintTextLines(Canvas: TCanvas; + FirstLine, LastLine: Integer); +var + Renderer: TSynFMXRenderer; + Row, Line, PrevLine: Integer; + Y, X: Single; + SLine, SExpanded: string; + TokenPos: Integer; + Attr: TSynHighlighterAttributes; + ForeColor, BackColor: TAlphaColor; + Style: TFontStyles; + SelStart, SelEnd: Integer; + LineR: TRectF; + Token: string; + SelBC1, SelBC2: TBufferCoord; + HasTabs: Boolean; + ColMap: TArray; // maps raw char index (0-based) to expanded column + J, ExpandedCol: Integer; + RawTokenPos, RawTokenLen: Integer; + ExpandedTokenPos, ExpandedTokenLen: Integer; + // Word wrap per-row variables + IsWrapping: Boolean; + EffLeftChar: Integer; // effective left char for this row (1-based expanded) + EffCharsInWin: Integer; // effective chars visible in this row + RowExpandedStart: Integer; // 0-based expanded column where this row starts + RowExpandedEnd: Integer; // 0-based expanded column where this row ends + RowBufferStart: Integer; // 1-based raw char where this row starts + RowBufferLen: Integer; // raw char count for this row + WrapBC: TBufferCoord; +begin + Renderer := TSynFMXRenderer(FRenderer); + IsWrapping := FWordWrap and Assigned(FWordWrapHelper); + PrevLine := -1; + + // Normalize selection + SelBC1 := FSelection.Start; + SelBC2 := FSelection.Stop; + if SelBC1 > SelBC2 then + begin + var Tmp := SelBC1; + SelBC1 := SelBC2; + SelBC2 := Tmp; + end; + + for Row := FirstLine to LastLine do + begin + Line := RowToLine(Row); + Y := (Row - FTopLine) * FLineHeight; + + // Active line highlight + if (FActiveLineColor <> clNone) and FSelections.RowHasCaret(Row, Line) and + (SelBC1 = SelBC2) then + begin + LineR := RectF(FTextAreaLeft, Y, Width, Y + FLineHeight); + Renderer.FillRect(Canvas, LineR, + TColorToAlphaColor(FActiveLineColor)); + end; + + if Line > FLines.Count then Continue; + SLine := FLines[Line - 1]; + HasTabs := Pos(#9, SLine) > 0; + SExpanded := ExpandTabs(SLine, FTabWidth); + + // Build raw-to-expanded column map (once per buffer line) + if Line <> PrevLine then + begin + if HasTabs then + begin + SetLength(ColMap, Length(SLine) + 1); // index 0..Length(SLine) + ExpandedCol := 0; + for J := 0 to Length(SLine) - 1 do + begin + ColMap[J] := ExpandedCol; + if SLine[J + 1] = #9 then + begin + repeat Inc(ExpandedCol) until (ExpandedCol mod FTabWidth) = 0; + end + else + Inc(ExpandedCol); + end; + ColMap[Length(SLine)] := ExpandedCol; // past-end sentinel + end; + end; + + // Compute effective viewport for this row + if IsWrapping then + begin + // Get the buffer position where this wrapped row starts + WrapBC := FWordWrapHelper.DisplayToBufferPos(DisplayCoord(1, Row)); + RowBufferStart := WrapBC.Char; + RowBufferLen := FWordWrapHelper.GetRowLength(Row); + // Compute expanded column range + if HasTabs then + begin + RowExpandedStart := ColMap[Min(RowBufferStart - 1, Length(SLine))]; + RowExpandedEnd := ColMap[Min(RowBufferStart - 1 + RowBufferLen, Length(SLine))]; + end + else + begin + RowExpandedStart := RowBufferStart - 1; + RowExpandedEnd := RowBufferStart - 1 + RowBufferLen; + end; + EffLeftChar := RowExpandedStart + 1; // 1-based + EffCharsInWin := RowExpandedEnd - RowExpandedStart; + end + else + begin + RowExpandedStart := 0; + RowExpandedEnd := Length(SExpanded); + RowBufferStart := 1; + RowBufferLen := Length(SLine); + EffLeftChar := FLeftChar; + EffCharsInWin := FCharsInWindow; + end; + + // Calculate primary selection range for this line (for token foreground) + SelStart := 0; + SelEnd := 0; + if (SelBC1 <> SelBC2) then + begin + if (Line > SelBC1.Line) and (Line < SelBC2.Line) then + begin + SelStart := 1; + SelEnd := Length(SExpanded) + 1; + end + else if (Line = SelBC1.Line) and (Line = SelBC2.Line) then + begin + if HasTabs then + begin + SelStart := ColMap[Min(SelBC1.Char - 1, Length(SLine))] + 1; + SelEnd := ColMap[Min(SelBC2.Char - 1, Length(SLine))] + 1; + end + else + begin + SelStart := SelBC1.Char; + SelEnd := SelBC2.Char; + end; + end + else if Line = SelBC1.Line then + begin + if HasTabs then + SelStart := ColMap[Min(SelBC1.Char - 1, Length(SLine))] + 1 + else + SelStart := SelBC1.Char; + SelEnd := Length(SExpanded) + 1; + end + else if Line = SelBC2.Line then + begin + SelStart := 1; + if HasTabs then + SelEnd := ColMap[Min(SelBC2.Char - 1, Length(SLine))] + 1 + else + SelEnd := SelBC2.Char; + end; + end; + + // Paint selection backgrounds for all selections (multi-caret) + begin + var RowStart := BufferCoord(1, Line); + var RowEnd := BufferCoord(Length(SLine) + 1, Line); + var PartSels := FSelections.PartSelectionsForRow(RowStart, RowEnd); + for var PS in PartSels do + begin + var PSNorm := PS.Normalized; + // Clip selection to current line boundaries + var ClipStart, ClipEnd: Integer; + if PSNorm.Start.Line < Line then + ClipStart := 1 + else + ClipStart := PSNorm.Start.Char; + if PSNorm.Stop.Line > Line then + ClipEnd := Length(SLine) + 1 + else + ClipEnd := PSNorm.Stop.Char; + var PSStart, PSEnd: Integer; + if HasTabs then + begin + PSStart := ColMap[Min(ClipStart - 1, Length(SLine))] + 1; + PSEnd := ColMap[Min(ClipEnd - 1, Length(SLine))] + 1; + end + else + begin + PSStart := ClipStart; + PSEnd := ClipEnd; + end; + if PSStart <> PSEnd then + begin + var SelX1: Single := FTextAreaLeft + + (Max(PSStart, EffLeftChar) - EffLeftChar) * FCharWidth; + var SelX2: Single := FTextAreaLeft + + (Min(PSEnd, EffLeftChar + EffCharsInWin) - EffLeftChar) * FCharWidth; + // Extend selection to right edge for fully-selected lines + if FSelectedColor.FillWholeLines and + (PSEnd > Length(SExpanded)) then + SelX2 := Width; + if SelX2 > SelX1 then + begin + LineR := RectF(SelX1, Y, SelX2, Y + FLineHeight); + Renderer.FillRect(Canvas, LineR, + TColorToAlphaColor(FSelectedColor.Background)); + end; + end; + end; + end; + + // Paint tokens with highlighter + if (FHighlighter <> nil) and (SLine <> '') then + begin + // Only re-initialize highlighter when line changes + if Line <> PrevLine then + begin + if Line > 1 then + FHighlighter.SetRange(TSynEditStringList(FLines).Ranges[Line - 2]) + else + FHighlighter.ResetRange; + FHighlighter.SetLine(SLine, Line); + end; + + while not FHighlighter.GetEol do + begin + RawTokenPos := FHighlighter.GetTokenPos; // 0-based raw + Token := FHighlighter.GetToken; + RawTokenLen := Length(Token); + Attr := FHighlighter.GetTokenAttribute; + + // Convert raw positions to expanded visual columns + if HasTabs then + begin + ExpandedTokenPos := ColMap[RawTokenPos]; + ExpandedTokenLen := ColMap[Min(RawTokenPos + RawTokenLen, Length(SLine))] + - ExpandedTokenPos; + // Replace token text with expanded version for rendering + Token := Copy(SExpanded, ExpandedTokenPos + 1, ExpandedTokenLen); + end + else + begin + ExpandedTokenPos := RawTokenPos; + ExpandedTokenLen := RawTokenLen; + end; + TokenPos := ExpandedTokenPos; // now in visual columns (0-based) + + // Skip tokens entirely before visible area + if TokenPos + ExpandedTokenLen < EffLeftChar - 1 then + begin + FHighlighter.Next; + Continue; + end; + // Stop if past visible area + if TokenPos >= EffLeftChar + EffCharsInWin - 1 then + Break; + + // Determine colors + if Assigned(Attr) then + begin + ForeColor := TColorToAlphaColor(Attr.Foreground); + if ForeColor = TAlphaColors.Null then + ForeColor := TAlphaColors.Black; + BackColor := TColorToAlphaColor(Attr.Background); + Style := Attr.Style; + end + else + begin + ForeColor := TAlphaColors.Black; + BackColor := TAlphaColors.Null; + Style := []; + end; + + // Paint the token, splitting at selection boundaries + X := FTextAreaLeft + (TokenPos + 1 - EffLeftChar) * FCharWidth; + // Clip to visible area + if X < FTextAreaLeft then + begin + var Skip := Trunc((FTextAreaLeft - X) / FCharWidth); + Token := Copy(Token, Skip + 1, MaxInt); + TokenPos := TokenPos + Skip; + X := FTextAreaLeft + (TokenPos + 1 - EffLeftChar) * FCharWidth; + end; + + if (Token <> '') and (X < Width) then + begin + var TokStart := TokenPos + 1; // 1-based expanded + var TokLen := Length(Token); + + if (SelStart > 0) and (SelEnd > SelStart) and + (TokStart < SelEnd) and (TokStart + TokLen > SelStart) then + begin + // Token overlaps selection - render in up to 3 parts + var SelFore := TColorToAlphaColor(FSelectedColor.Foreground); + if SelFore = TAlphaColors.Null then + SelFore := TAlphaColors.White; + + // Part before selection + if TokStart < SelStart then + begin + var PreLen := SelStart - TokStart; + Renderer.PaintToken(Canvas, X, Y, + Copy(Token, 1, PreLen), ForeColor, BackColor, Style); + X := X + PreLen * FCharWidth; + Token := Copy(Token, PreLen + 1, MaxInt); + TokStart := SelStart; + TokLen := Length(Token); + end; + + // Selected part + var SelPartLen := Min(SelEnd, TokStart + TokLen) - TokStart; + if SelPartLen > 0 then + begin + Renderer.PaintToken(Canvas, X, Y, + Copy(Token, 1, SelPartLen), SelFore, + TAlphaColors.Null, Style); + X := X + SelPartLen * FCharWidth; + Token := Copy(Token, SelPartLen + 1, MaxInt); + end; + + // Part after selection + if Token <> '' then + Renderer.PaintToken(Canvas, X, Y, + Token, ForeColor, BackColor, Style); + end + else + // Token entirely outside selection + Renderer.PaintToken(Canvas, X, Y, Token, ForeColor, + BackColor, Style); + end; + + FHighlighter.Next; + end; + end + else if SLine <> '' then + begin + // No highlighter - paint plain text, splitting at selection + SExpanded := ExpandTabs(SLine, FTabWidth); + X := FTextAreaLeft; + var VisText := Copy(SExpanded, EffLeftChar, EffCharsInWin + 1); + var VisStart := EffLeftChar; // 1-based position of first visible char + var VisLen := Length(VisText); + + if (SelStart > 0) and (SelEnd > SelStart) and + (VisStart < SelEnd) and (VisStart + VisLen > SelStart) then + begin + var SelFore := TColorToAlphaColor(FSelectedColor.Foreground); + if SelFore = TAlphaColors.Null then + SelFore := TAlphaColors.White; + + // Part before selection + if VisStart < SelStart then + begin + var PreLen := SelStart - VisStart; + Renderer.PaintToken(Canvas, X, Y, + Copy(VisText, 1, PreLen), TAlphaColors.Black, + TAlphaColors.Null, []); + X := X + PreLen * FCharWidth; + VisText := Copy(VisText, PreLen + 1, MaxInt); + VisStart := SelStart; + VisLen := Length(VisText); + end; + + // Selected part + var SelPartLen := Min(SelEnd, VisStart + VisLen) - VisStart; + if SelPartLen > 0 then + begin + Renderer.PaintToken(Canvas, X, Y, + Copy(VisText, 1, SelPartLen), SelFore, + TAlphaColors.Null, []); + X := X + SelPartLen * FCharWidth; + VisText := Copy(VisText, SelPartLen + 1, MaxInt); + end; + + // Part after selection + if VisText <> '' then + Renderer.PaintToken(Canvas, X, Y, + VisText, TAlphaColors.Black, TAlphaColors.Null, []); + end + else + Renderer.PaintToken(Canvas, X, Y, VisText, TAlphaColors.Black, + TAlphaColors.Null, []); + end; + + PrevLine := Line; + end; +end; + +procedure TCustomFMXSynEdit.PaintCaret(Canvas: TCanvas); +var + Renderer: TSynFMXRenderer; + Pt: TPointF; + R: TRectF; + I: Integer; +begin + Renderer := TSynFMXRenderer(FRenderer); + for I := 0 to FSelections.Count - 1 do + begin + Pt := BufferCoordToPixel(FSelections[I].Caret); + if (Pt.X >= FTextAreaLeft) and (Pt.X < Width) and + (Pt.Y >= 0) and (Pt.Y < Height) then + begin + if FInsertMode then + R := RectF(Pt.X, Pt.Y, Pt.X + 2, Pt.Y + FLineHeight) + else + R := RectF(Pt.X, Pt.Y, Pt.X + FCharWidth, Pt.Y + FLineHeight); + Renderer.FillRect(Canvas, R, TAlphaColors.Black); + end; + end; +end; + +{ --- Lines change notification --- } + +procedure TCustomFMXSynEdit.LinesChanged(Sender: TObject); +begin + FMaxScrollWidthValid := False; + if FWordWrap and Assigned(FWordWrapHelper) then + FWordWrapHelper.Reset(FLines); + if FUseCodeFolding then + FAllFoldRanges.StopScanning(FLines); + UpdateGutterWidth; + UpdateScrollBars; + if FUpdateCount = 0 then + Repaint; + if Assigned(FOnChange) then + FOnChange(Self); +end; + +procedure TCustomFMXSynEdit.BeginUpdate; +begin + Inc(FUpdateCount); +end; + +procedure TCustomFMXSynEdit.EndUpdate; +begin + Dec(FUpdateCount); + if FUpdateCount <= 0 then + begin + FUpdateCount := 0; + RecalcSizes; + Repaint; + end; +end; + +{ --- Key handling --- } + +function IfThen(Cond: Boolean; TrueVal, FalseVal: TSynEditorCommand): TSynEditorCommand; inline; +begin + if Cond then Result := TrueVal else Result := FalseVal; +end; + +procedure TCustomFMXSynEdit.DialogKey(var Key: Word; Shift: TShiftState); +begin + // Intercept Tab/Shift+Tab: execute as editor command instead of focus navigation + if Key = vkTab then + begin + if IsFocused then + begin + if ssShift in Shift then + ExecuteCommand(ecShiftTab, #0) + else + ExecuteCommand(ecTab, #0); + end; + Key := 0; + Exit; + end; + inherited; +end; + +procedure TCustomFMXSynEdit.KeyDown(var Key: Word; var KeyChar: WideChar; + Shift: TShiftState); +var + Cmd: TSynEditorCommand; +begin + inherited; + + // Dispatch to keyboard handler chain (plugins, completion proposal, etc.) + FKbdHandler.ExecuteKeyDown(Self, Key, KeyChar, Shift); + if (Key = 0) and (KeyChar = #0) then + Exit; + + // Map key to command + Cmd := ecNone; + + // Character input + if (KeyChar >= #32) and (Shift * [ssCtrl, ssAlt] = []) then + begin + CommandProcessor(ecChar, KeyChar); + KeyChar := #0; + Exit; + end; + + // Navigation and editing keys + case Key of + vkLeft: + if ssCtrl in Shift then + Cmd := IfThen(ssShift in Shift, ecSelWordLeft, ecWordLeft) + else if Shift * [ssAlt, ssShift] = [ssAlt, ssShift] then + Cmd := ecSelColumnLeft + else + Cmd := IfThen(ssShift in Shift, ecSelLeft, ecLeft); + vkRight: + if ssCtrl in Shift then + Cmd := IfThen(ssShift in Shift, ecSelWordRight, ecWordRight) + else if Shift * [ssAlt, ssShift] = [ssAlt, ssShift] then + Cmd := ecSelColumnRight + else + Cmd := IfThen(ssShift in Shift, ecSelRight, ecRight); + vkUp: + if Shift * [ssAlt, ssShift] = [ssAlt, ssShift] then + Cmd := ecSelColumnUp + else + Cmd := IfThen(ssShift in Shift, ecSelUp, ecUp); + vkDown: + if Shift * [ssAlt, ssShift] = [ssAlt, ssShift] then + Cmd := ecSelColumnDown + else + Cmd := IfThen(ssShift in Shift, ecSelDown, ecDown); + vkHome: + if ssCtrl in Shift then + Cmd := IfThen(ssShift in Shift, ecSelEditorTop, ecEditorTop) + else + Cmd := IfThen(ssShift in Shift, ecSelLineStart, ecLineStart); + vkEnd: + if ssCtrl in Shift then + Cmd := IfThen(ssShift in Shift, ecSelEditorBottom, ecEditorBottom) + else if ssAlt in Shift then + Cmd := ecCaretsAtLineEnds + else + Cmd := IfThen(ssShift in Shift, ecSelLineEnd, ecLineEnd); + vkPrior: + Cmd := IfThen(ssShift in Shift, ecSelPageUp, ecPageUp); + vkNext: + Cmd := IfThen(ssShift in Shift, ecSelPageDown, ecPageDown); + vkBack: + Cmd := ecDeleteLastChar; + vkDelete: + Cmd := ecDeleteChar; + vkReturn: + Cmd := ecLineBreak; + vkTab: + Cmd := ecTab; + vkInsert: + Cmd := ecToggleMode; + vkEscape: + Cmd := ecCancelSelections; + Ord('A'): + if ssCtrl in Shift then Cmd := ecSelectAll; + Ord('C'): + if ssCtrl in Shift then Cmd := ecCopy; + Ord('V'): + if ssCtrl in Shift then Cmd := ecPaste; + Ord('W'): + if Shift * [ssCtrl, ssShift] = [ssCtrl, ssShift] then + Cmd := ecSelMatchingText; + Ord('X'): + if ssCtrl in Shift then Cmd := ecCut; + Ord('Z'): + if ssCtrl in Shift then + begin + if ssShift in Shift then + Cmd := ecRedo + else + Cmd := ecUndo; + end; + Ord('Y'): + if ssCtrl in Shift then Cmd := ecRedo; + Ord('0')..Ord('9'): + // Bookmarks: Ctrl+N = goto, Ctrl+Shift+N = set/toggle + if ssCtrl in Shift then + begin + if ssShift in Shift then + Cmd := ecSetMarker0 + Key - Ord('0') + else + Cmd := ecGotoMarker0 + Key - Ord('0'); + end; + end; + + if Cmd <> ecNone then + begin + CommandProcessor(Cmd, #0); + Key := 0; + KeyChar := #0; + end; +end; + +function IsWordBreakChar(C: WideChar): Boolean; inline; +begin + case C of + 'A'..'Z', 'a'..'z', '0'..'9', '_': Result := False; + else + Result := True; + end; +end; + +{ --- Range scanning --- } + +procedure TCustomFMXSynEdit.ScanRanges; +var + I: Integer; +begin + if Assigned(FHighlighter) and (FLines.Count > 0) then + begin + FHighlighter.ResetRange; + I := 0; + repeat + FHighlighter.SetLine(FLines[I], I); + FHighlighter.NextToEol; + TSynEditStringList(FLines).Ranges[I] := FHighlighter.GetRange; + Inc(I); + until I >= FLines.Count; + end; +end; + +function TCustomFMXSynEdit.ScanFrom(Index: Integer): Integer; +var + iRange: TSynEditRange; +begin + Result := Index; + if Result >= FLines.Count then Exit; + + if Result = 0 then + FHighlighter.ResetRange + else + FHighlighter.SetRange(TSynEditStringList(FLines).Ranges[Result - 1]); + + repeat + FHighlighter.SetLine(FLines[Result], Result); + FHighlighter.NextToEol; + iRange := FHighlighter.GetRange; + if TSynEditStringList(FLines).Ranges[Result] = iRange then + Exit; + TSynEditStringList(FLines).Ranges[Result] := iRange; + Inc(Result); + until Result = FLines.Count; + Dec(Result); +end; + +{ --- Command execution --- } + +function TCustomFMXSynEdit.ColumnSelectionStart: TBufferCoord; +begin + Result := FSelections.ColumnSelectionStart; +end; + +procedure TCustomFMXSynEdit.CommandProcessor(Command: TSynEditorCommand; + AChar: WideChar; Data: Pointer); +var + CommandInfo: TSynCommandInfo; +begin + // Pre-command hooks + NotifyHookedCommandHandlers(False, Command, AChar, Data); + if Command = ecNone then Exit; + + FCommandData := Data; + try + if (Command <> ecNone) and (Command < ecUserFirst) then + begin + if not SynCommandsInfo.TryGetValue(Command, CommandInfo) + or (CommandInfo.CommandKind in [ckStandard, ckSingleCaret]) + or (FSelections.Count = 1) + then + begin + if SynCommandsInfo.TryGetValue(Command, CommandInfo) + and (CommandInfo.CommandKind = ckSingleCaret) and (FSelections.Count > 1) then + FSelections.Clear(TSynSelectionsBase.TKeepSelection.ksKeepBase); + ExecuteCommand(Command, AChar); + end + else + ExecuteMultiCaretCommand(Command, AChar); + end; + finally + FCommandData := nil; + end; + + // Post-command hooks + if Command <> ecNone then + NotifyHookedCommandHandlers(True, Command, AChar, Data); +end; + +procedure TCustomFMXSynEdit.ExecuteMultiCaretCommand( + Command: TSynEditorCommand; AChar: WideChar); +var + OldTopLine, OldLeftChar: Integer; +begin + BeginUpdate; + try + FUndoRedo.BeginBlock(Self); + try + OldLeftChar := LeftChar; + OldTopLine := TopLine; + + FSelections.ForEachSelection( + procedure(Sel: TSynSelection) + begin + FSelection := FSelections.ActiveSelection; + ExecuteCommand(Command, AChar); + FSelections.ActiveSelection := FSelection; + end); + FSelection := FSelections.ActiveSelection; + + TopLine := OldTopLine; + LeftChar := OldLeftChar; + + EnsureCursorPosVisible; + finally + FUndoRedo.EndBlock(Self); + end; + finally + EndUpdate; + end; +end; + +procedure TCustomFMXSynEdit.SelectAllMatchingText; +var + Engine: TSynEditSearchCustom; + SearchOptions: TSynSearchOptions; + Line: Integer; + ResNo: Integer; + SelList: TList; + Sel: TSynSelection; + SelStorage: TSynSelStorage; + LineText: string; +begin + if FSelection.IsEmpty then Exit; + if FSelection.Start.Line <> FSelection.Stop.Line then Exit; + + Engine := TSynEditSearch.Create(Self); + SelList := TList.Create; + try + SelStorage.BaseIndex := 0; + SelStorage.ActiveIndex := 0; + + Engine.Pattern := GetTextRange(FSelection.Normalized.Start, + FSelection.Normalized.Stop); + SearchOptions := [ssoMatchCase]; + Engine.Options := SearchOptions; + + for Line := 0 to FLines.Count - 1 do + begin + LineText := FLines[Line]; + if LineText.Length < Engine.Pattern.Length then Continue; + + Engine.FindAll(LineText); + for ResNo := 0 to Engine.ResultCount - 1 do + begin + Sel.Start := BufferCoord(Engine.Results[ResNo], Line + 1); + Sel.Stop := BufferCoord(Sel.Start.Char + Engine.Lengths[ResNo], + Line + 1); + Sel.Caret := Sel.Stop; + Sel.CaretAtEOL := False; + Sel.LastPosX := 0; + SelList.Add(Sel); + + // Track which match is the current selection + if (Sel.Start = FSelection.Normalized.Start) and + (Sel.Stop = FSelection.Normalized.Stop) then + begin + SelStorage.BaseIndex := SelList.Count - 1; + SelStorage.ActiveIndex := SelList.Count - 1; + end; + end; + end; + + if SelList.Count = 0 then Exit; + + SelStorage.Selections := SelList.ToArray; + FSelections.Restore(SelStorage); + FSelection := FSelections.ActiveSelection; + Repaint; + finally + SelList.Free; + Engine.Free; + end; +end; + +procedure TCustomFMXSynEdit.CaretsAtLineEnds; +var + SelList: TList; + Sel: TSynSelection; + Line: Integer; + LineText: string; + SelStorage: TSynSelStorage; +begin + FSelections.Clear; + + SelList := TList.Create; + try + for Line := BlockBegin.Line to BlockEnd.Line do + begin + if (Line < 1) or (Line > FLines.Count) then Continue; + LineText := FLines[Line - 1]; + Sel.Caret := BufferCoord(LineText.Length + 1, Line); + Sel.Start := Sel.Caret; + Sel.Stop := Sel.Caret; + Sel.CaretAtEOL := False; + Sel.LastPosX := 0; + SelList.Add(Sel); + end; + + if SelList.Count = 0 then Exit; + + SelStorage.Selections := SelList.ToArray; + SelStorage.BaseIndex := SelList.Count - 1; + SelStorage.ActiveIndex := SelList.Count - 1; + FSelections.Restore(SelStorage); + FSelection := FSelections.ActiveSelection; + Repaint; + finally + SelList.Free; + end; +end; + +procedure TCustomFMXSynEdit.ExecuteCommand(Command: TSynEditorCommand; + AChar: WideChar); +var + FirstAffectedLine: Integer; +begin + FirstAffectedLine := -1; + + if FUndoRedo <> nil then + FUndoRedo.CommandProcessed := Command; + + case Command of + // Navigation (including column selection) + ecLeft, ecSelLeft, ecSelColumnLeft: + begin + if not FSelection.IsEmpty and (Command = ecLeft) then + CaretXY := FSelection.Normalized.Start + else + begin + var Anchor := ColumnSelectionStart; + MoveCaretHorz(-1, Command = ecSelLeft); + if Command = ecSelColumnLeft then + FSelections.ColumnSelection(Anchor, CaretXY, FSelection.LastPosX); + end; + end; + ecRight, ecSelRight, ecSelColumnRight: + begin + if not FSelection.IsEmpty and (Command = ecRight) then + CaretXY := FSelection.Normalized.Stop + else + begin + var Anchor := ColumnSelectionStart; + MoveCaretHorz(1, Command = ecSelRight); + if Command = ecSelColumnRight then + FSelections.ColumnSelection(Anchor, CaretXY, FSelection.LastPosX); + end; + end; + ecUp, ecSelUp, ecSelColumnUp: + begin + var Anchor := ColumnSelectionStart; + MoveCaretVert(-1, Command = ecSelUp); + if Command = ecSelColumnUp then + FSelections.ColumnSelection(Anchor, CaretXY, FSelection.LastPosX); + end; + ecDown, ecSelDown, ecSelColumnDown: + begin + var Anchor := ColumnSelectionStart; + MoveCaretVert(1, Command = ecSelDown); + if Command = ecSelColumnDown then + FSelections.ColumnSelection(Anchor, CaretXY, FSelection.LastPosX); + end; + ecPageUp: + begin + TopLine := TopLine - FLinesInWindow; + MoveCaretVert(-FLinesInWindow, False); + end; + ecSelPageUp: + begin + TopLine := TopLine - FLinesInWindow; + MoveCaretVert(-FLinesInWindow, True); + end; + ecPageDown: + begin + TopLine := TopLine + FLinesInWindow; + MoveCaretVert(FLinesInWindow, False); + end; + ecSelPageDown: + begin + TopLine := TopLine + FLinesInWindow; + MoveCaretVert(FLinesInWindow, True); + end; + ecLineStart: + MoveCaretAndSelection(BufferCoord(1, FSelection.Caret.Line), False); + ecSelLineStart: + MoveCaretAndSelection(BufferCoord(1, FSelection.Caret.Line), True); + ecLineEnd: + begin + var LineLen := 0; + if (FSelection.Caret.Line >= 1) and (FSelection.Caret.Line <= FLines.Count) then + LineLen := Length(FLines[FSelection.Caret.Line - 1]); + MoveCaretAndSelection(BufferCoord(LineLen + 1, FSelection.Caret.Line), False); + end; + ecSelLineEnd: + begin + var LineLen := 0; + if (FSelection.Caret.Line >= 1) and (FSelection.Caret.Line <= FLines.Count) then + LineLen := Length(FLines[FSelection.Caret.Line - 1]); + MoveCaretAndSelection(BufferCoord(LineLen + 1, FSelection.Caret.Line), True); + end; + ecEditorTop: + MoveCaretAndSelection(BufferCoord(1, 1), False); + ecSelEditorTop: + MoveCaretAndSelection(BufferCoord(1, 1), True); + ecEditorBottom: + MoveCaretAndSelection( + BufferCoord(1, Max(1, FLines.Count)), False); + ecSelEditorBottom: + MoveCaretAndSelection( + BufferCoord(1, Max(1, FLines.Count)), True); + ecWordLeft, ecSelWordLeft: + begin + var BC := GetCaretXY; + if BC.Char > 1 then + begin + var S := FLines[BC.Line - 1]; + var NewChar := BC.Char - 1; + while (NewChar > 1) and (NewChar <= Length(S)) and + not IsWordBreakChar(S[NewChar - 1]) do + Dec(NewChar); + MoveCaretAndSelection(BufferCoord(NewChar, BC.Line), + Command = ecSelWordLeft); + end + else if BC.Line > 1 then + begin + var PrevLen := Length(FLines[BC.Line - 2]); + MoveCaretAndSelection(BufferCoord(PrevLen + 1, BC.Line - 1), + Command = ecSelWordLeft); + end; + end; + ecWordRight, ecSelWordRight: + begin + var BC := GetCaretXY; + if (BC.Line >= 1) and (BC.Line <= FLines.Count) then + begin + var S := FLines[BC.Line - 1]; + if BC.Char <= Length(S) then + begin + var NewChar := BC.Char; + while (NewChar <= Length(S)) and + not IsWordBreakChar(S[NewChar]) do + Inc(NewChar); + while (NewChar <= Length(S)) and IsWordBreakChar(S[NewChar]) do + Inc(NewChar); + MoveCaretAndSelection(BufferCoord(NewChar, BC.Line), + Command = ecSelWordRight); + end + else if BC.Line < FLines.Count then + MoveCaretAndSelection(BufferCoord(1, BC.Line + 1), + Command = ecSelWordRight); + end; + end; + + // Editing + ecChar: + if not FReadOnly then + begin + FirstAffectedLine := FSelection.Caret.Line - 1; + FUndoRedo.BeginBlock(Self); + try + if GetSelAvail then + DoDeleteSelection; + InsertCharAtCursor(AChar); + finally + FUndoRedo.EndBlock(Self); + end; + end; + ecDeleteChar: + if not FReadOnly then + begin + FirstAffectedLine := FSelection.Caret.Line - 1; + FUndoRedo.BeginBlock(Self); + try + if GetSelAvail then + DoDeleteSelection + else + DoDeleteChar; + finally + FUndoRedo.EndBlock(Self); + end; + end; + ecDeleteLastChar: + if not FReadOnly then + begin + FirstAffectedLine := FSelection.Caret.Line - 1; + FUndoRedo.BeginBlock(Self); + try + if GetSelAvail then + DoDeleteSelection + else + DoDeleteLastChar; + finally + FUndoRedo.EndBlock(Self); + end; + end; + ecLineBreak: + if not FReadOnly then + begin + FirstAffectedLine := FSelection.Caret.Line - 1; + FUndoRedo.BeginBlock(Self); + try + if GetSelAvail then + DoDeleteSelection; + DoInsertLine; + finally + FUndoRedo.EndBlock(Self); + end; + end; + ecTab: + if not FReadOnly then + begin + FirstAffectedLine := FSelection.Caret.Line - 1; + if eoTabsToSpaces in FOptions then + begin + var Spaces := FTabWidth - ((FSelection.Caret.Char - 1) mod FTabWidth); + FUndoRedo.BeginBlock(Self); + try + if GetSelAvail then + DoDeleteSelection; + for var I := 1 to Spaces do + InsertCharAtCursor(' '); + finally + FUndoRedo.EndBlock(Self); + end; + end + else + begin + FUndoRedo.BeginBlock(Self); + try + if GetSelAvail then + DoDeleteSelection; + InsertCharAtCursor(#9); + finally + FUndoRedo.EndBlock(Self); + end; + end; + end; + ecShiftTab: + if not FReadOnly then + begin + // Remove up to TabWidth spaces from the beginning of the current line + FirstAffectedLine := FSelection.Caret.Line - 1; + if (FSelection.Caret.Line >= 1) and (FSelection.Caret.Line <= FLines.Count) then + begin + var Line := FLines[FSelection.Caret.Line - 1]; + var SpacesToRemove := 0; + var MaxRemove := FTabWidth; + while (SpacesToRemove < MaxRemove) and (SpacesToRemove < Length(Line)) + and (Line[SpacesToRemove + 1] = ' ') do + Inc(SpacesToRemove); + // If no spaces found, try removing a single tab + if (SpacesToRemove = 0) and (Length(Line) > 0) and (Line[1] = #9) then + SpacesToRemove := 1; + if SpacesToRemove > 0 then + begin + FUndoRedo.BeginBlock(Self); + try + FLines[FSelection.Caret.Line - 1] := Copy(Line, SpacesToRemove + 1); + // Adjust caret + SetCaretX(Max(1, FSelection.Caret.Char - SpacesToRemove)); + finally + FUndoRedo.EndBlock(Self); + end; + end; + end; + end; + ecToggleMode: + FInsertMode := not FInsertMode; + + // Clipboard + ecCopy: CopyToClipboard; + ecCut: + begin + FirstAffectedLine := FSelection.Caret.Line - 1; + CutToClipboard; + end; + ecPaste: + begin + FirstAffectedLine := FSelection.Caret.Line - 1; + PasteFromClipboard; + end; + + // Undo/Redo + ecUndo: + begin + Undo; + // Undo can affect any lines, so do a full rescan + ScanRanges; + end; + ecRedo: + begin + Redo; + // Redo can affect any lines, so do a full rescan + ScanRanges; + end; + + // Selection + ecSelectAll: SelectAll; + + // Code folding + ecFoldAll: CollapseAll; + ecUnfoldAll: UncollapseAll; + ecFoldNearest: CollapseNearest; + ecUnfoldNearest: UncollapseNearest; + ecFoldLevel1: CollapseLevel(1); + ecUnfoldLevel1: UncollapseLevel(1); + ecFoldLevel2: CollapseLevel(2); + ecUnfoldLevel2: UncollapseLevel(2); + ecFoldLevel3: CollapseLevel(3); + ecUnfoldLevel3: UncollapseLevel(3); + + // Bookmarks + ecGotoMarker0..ecGotoMarker9: + GotoBookmark(Command - ecGotoMarker0); + ecSetMarker0..ecSetMarker9: + begin + var BmIdx := Command - ecSetMarker0; + if IsBookmarkSet(BmIdx) then + begin + var BX, BY: Integer; + GetBookmark(BmIdx, BX, BY); + if BY = FSelection.Caret.Line then + ClearBookmark(BmIdx) + else + SetBookmark(BmIdx, FSelection.Caret.Char, FSelection.Caret.Line); + end + else + SetBookmark(BmIdx, FSelection.Caret.Char, FSelection.Caret.Line); + end; + + // GotoXY (used by macro playback) + ecGotoXY: + if (FCommandData <> nil) then + CaretXY := TBufferCoord(FCommandData^); + ecSelGotoXY: + if (FCommandData <> nil) then + begin + BlockBegin := CaretXY; + CaretXY := TBufferCoord(FCommandData^); + BlockEnd := CaretXY; + end; + + // Multi-caret commands + ecCancelSelections: + begin + if FSelections.Count = 1 then + CaretXY := CaretXY // collapses selection + else + FSelections.Clear(TSynSelectionsBase.TKeepSelection.ksKeepBase); + end; + ecSelMatchingText: + SelectAllMatchingText; + ecCaretsAtLineEnds: + CaretsAtLineEnds; + end; + + // Incremental range scan after text mutations + if (FirstAffectedLine >= 0) and Assigned(FHighlighter) and + (FLines.Count > 0) then + ScanFrom(Max(0, FirstAffectedLine)); + + // Reset caret blink after any command + FCaretBlinkOn := True; + if FCaretTimer.Enabled then + begin + FCaretTimer.Enabled := False; + FCaretTimer.Enabled := True; + end; +end; + +{ --- Navigation --- } + +procedure TCustomFMXSynEdit.MoveCaretHorz(DX: Integer; SelectionCmd: Boolean); +var + NewCaret: TBufferCoord; + LineLen: Integer; +begin + NewCaret := GetCaretXY; + + if DX < 0 then + begin + if NewCaret.Char > 1 then + Dec(NewCaret.Char) + else if NewCaret.Line > 1 then + begin + Dec(NewCaret.Line); + NewCaret.Char := Length(FLines[NewCaret.Line - 1]) + 1; + end; + end + else + begin + if (NewCaret.Line >= 1) and (NewCaret.Line <= FLines.Count) then + LineLen := Length(FLines[NewCaret.Line - 1]) + else + LineLen := 0; + if NewCaret.Char <= LineLen then + Inc(NewCaret.Char) + else if NewCaret.Line < FLines.Count then + begin + Inc(NewCaret.Line); + NewCaret.Char := 1; + end; + end; + + FSelection.LastPosX := -1; + MoveCaretAndSelection(NewCaret, SelectionCmd); +end; + +procedure TCustomFMXSynEdit.MoveCaretVert(DY: Integer; SelectionCmd: Boolean); +var + NewCaret: TBufferCoord; + LineLen: Integer; + DC: TDisplayCoord; +begin + if FWordWrap and Assigned(FWordWrapHelper) then + begin + // In word wrap mode, move between display rows + DC := FWordWrapHelper.BufferToDisplayPos(GetCaretXY); + // Sticky column tracks display column + if (eoKeepCaretX in FOptions) and (FSelection.LastPosX >= 0) then + DC.Column := FSelection.LastPosX + else + FSelection.LastPosX := DC.Column; + Inc(DC.Row, DY); + DC.Row := Max(1, Min(DC.Row, FWordWrapHelper.RowCount)); + NewCaret := FWordWrapHelper.DisplayToBufferPos(DC); + NewCaret.Line := Max(1, Min(NewCaret.Line, Max(1, FLines.Count))); + NewCaret.Char := Max(1, NewCaret.Char); + // Clamp to line length + if (NewCaret.Line >= 1) and (NewCaret.Line <= FLines.Count) then + begin + LineLen := Length(FLines[NewCaret.Line - 1]); + if not (eoScrollPastEol in FScrollOptions) then + NewCaret.Char := Min(NewCaret.Char, LineLen + 1); + end; + MoveCaretAndSelection(NewCaret, SelectionCmd); + end + else + begin + NewCaret := GetCaretXY; + Inc(NewCaret.Line, DY); + NewCaret.Line := Max(1, Min(NewCaret.Line, Max(1, FLines.Count))); + + // Sticky column + if (eoKeepCaretX in FOptions) and (FSelection.LastPosX >= 0) then + NewCaret.Char := FSelection.LastPosX + else + FSelection.LastPosX := NewCaret.Char; + + // Clamp to line length + if (NewCaret.Line >= 1) and (NewCaret.Line <= FLines.Count) then + begin + LineLen := Length(FLines[NewCaret.Line - 1]); + if not (eoScrollPastEol in FScrollOptions) then + NewCaret.Char := Min(NewCaret.Char, LineLen + 1); + end; + + MoveCaretAndSelection(NewCaret, SelectionCmd); + end; +end; + +procedure TCustomFMXSynEdit.MoveCaretAndSelection(const NewCaret: TBufferCoord; + SelectionCmd: Boolean); +begin + if SelectionCmd then + begin + // If no selection exists yet, start selection from current caret + if FSelection.Start = FSelection.Stop then + FSelection.Start := GetCaretXY; + FSelection.Stop := NewCaret; + end + else + begin + // Clear selection + FSelection.Start := NewCaret; + FSelection.Stop := NewCaret; + end; + + FSelection.Caret.Char := NewCaret.Char; + FSelection.Caret.Line := NewCaret.Line; + EnsureCursorPosVisible; + Repaint; +end; + +{ --- Editing operations --- } + +procedure TCustomFMXSynEdit.InsertCharAtCursor(AChar: WideChar); +var + SLine: string; +begin + // Ensure we have enough lines + while FLines.Count < FSelection.Caret.Line do + FLines.Add(''); + + SLine := FLines[FSelection.Caret.Line - 1]; + + // Pad line if caret is past end + while Length(SLine) < FSelection.Caret.Char - 1 do + SLine := SLine + ' '; + + if FInsertMode then + System.Insert(AChar, SLine, FSelection.Caret.Char) + else + begin + if FSelection.Caret.Char <= Length(SLine) then + SLine[FSelection.Caret.Char] := AChar + else + SLine := SLine + AChar; + end; + + FLines[FSelection.Caret.Line - 1] := SLine; + Inc(FSelection.Caret.Char); + FSelection.LastPosX := -1; + EnsureCursorPosVisible; +end; + +procedure TCustomFMXSynEdit.DoDeleteChar; +var + SLine: string; +begin + if (FSelection.Caret.Line < 1) or (FSelection.Caret.Line > FLines.Count) then Exit; + SLine := FLines[FSelection.Caret.Line - 1]; + + if FSelection.Caret.Char <= Length(SLine) then + begin + System.Delete(SLine, FSelection.Caret.Char, 1); + FLines[FSelection.Caret.Line - 1] := SLine; + end + else if FSelection.Caret.Line < FLines.Count then + begin + // Join with next line + FLines[FSelection.Caret.Line - 1] := SLine + FLines[FSelection.Caret.Line]; + FLines.Delete(FSelection.Caret.Line); + end; +end; + +procedure TCustomFMXSynEdit.DoDeleteLastChar; +var + SLine: string; +begin + if (FSelection.Caret.Char > 1) then + begin + if (FSelection.Caret.Line >= 1) and (FSelection.Caret.Line <= FLines.Count) then + begin + SLine := FLines[FSelection.Caret.Line - 1]; + if FSelection.Caret.Char - 1 <= Length(SLine) then + begin + System.Delete(SLine, FSelection.Caret.Char - 1, 1); + FLines[FSelection.Caret.Line - 1] := SLine; + end; + Dec(FSelection.Caret.Char); + end; + end + else if FSelection.Caret.Line > 1 then + begin + // Join with previous line + var PrevLen := Length(FLines[FSelection.Caret.Line - 2]); + FLines[FSelection.Caret.Line - 2] := FLines[FSelection.Caret.Line - 2] + FLines[FSelection.Caret.Line - 1]; + FLines.Delete(FSelection.Caret.Line - 1); + Dec(FSelection.Caret.Line); + FSelection.Caret.Char := PrevLen + 1; + end; + FSelection.LastPosX := -1; + EnsureCursorPosVisible; +end; + +procedure TCustomFMXSynEdit.DoInsertLine; +var + SLine, LeftPart, RightPart, Indent: string; +begin + if (FSelection.Caret.Line < 1) then Exit; + + while FLines.Count < FSelection.Caret.Line do + FLines.Add(''); + + SLine := FLines[FSelection.Caret.Line - 1]; + LeftPart := Copy(SLine, 1, FSelection.Caret.Char - 1); + RightPart := Copy(SLine, FSelection.Caret.Char, MaxInt); + + // Auto-indent: copy leading whitespace (spaces and tabs) + Indent := ''; + if eoAutoIndent in FOptions then + begin + var I := 1; + while (I <= Length(SLine)) and CharInSet(SLine[I], [' ', #9]) do + Inc(I); + Indent := Copy(SLine, 1, I - 1); + end; + + FLines[FSelection.Caret.Line - 1] := LeftPart; + FLines.Insert(FSelection.Caret.Line, Indent + RightPart); + Inc(FSelection.Caret.Line); + FSelection.Caret.Char := Length(Indent) + 1; + FSelection.LastPosX := -1; + EnsureCursorPosVisible; +end; + +procedure TCustomFMXSynEdit.DoDeleteSelection; +var + SelBC1, SelBC2: TBufferCoord; + FirstLine, LastLine: string; +begin + if not GetSelAvail then Exit; + + SelBC1 := FSelection.Start; + SelBC2 := FSelection.Stop; + if SelBC1 > SelBC2 then + begin + var Tmp := SelBC1; + SelBC1 := SelBC2; + SelBC2 := Tmp; + end; + + if SelBC1.Line = SelBC2.Line then + begin + // Single line deletion + var SLine := FLines[SelBC1.Line - 1]; + System.Delete(SLine, SelBC1.Char, SelBC2.Char - SelBC1.Char); + FLines[SelBC1.Line - 1] := SLine; + end + else + begin + // Multi-line deletion + FirstLine := Copy(FLines[SelBC1.Line - 1], 1, SelBC1.Char - 1); + LastLine := Copy(FLines[SelBC2.Line - 1], SelBC2.Char, MaxInt); + FLines[SelBC1.Line - 1] := FirstLine + LastLine; + // Delete intermediate and last lines + if SelBC2.Line > SelBC1.Line then + TSynEditStringList(FLines).DeleteLines(SelBC1.Line, + SelBC2.Line - SelBC1.Line); + end; + + FSelection.Caret.Char := SelBC1.Char; + FSelection.Caret.Line := SelBC1.Line; + FSelection.Start := BufferCoord(FSelection.Caret.Char, FSelection.Caret.Line); + FSelection.Stop := FSelection.Start; + FSelection.LastPosX := -1; +end; + +procedure TCustomFMXSynEdit.SetSelectedTextPrimitive(const Value: string); +begin + FUndoRedo.BeginBlock(Self); + try + if GetSelAvail then + DoDeleteSelection; + + if Value = '' then Exit; + + // Insert the text + var Lines := Value.Split([#13#10, #10, #13]); + if Length(Lines) = 1 then + begin + // Single line insert + while FLines.Count < FSelection.Caret.Line do + FLines.Add(''); + var SLine := FLines[FSelection.Caret.Line - 1]; + // Pad with spaces if caret is past end of line + if FSelection.Caret.Char > Length(SLine) + 1 then + SLine := SLine + StringOfChar(' ', + FSelection.Caret.Char - 1 - Length(SLine)); + System.Insert(Value, SLine, FSelection.Caret.Char); + FLines[FSelection.Caret.Line - 1] := SLine; + Inc(FSelection.Caret.Char, Length(Value)); + end + else + begin + // Multi-line insert + while FLines.Count < FSelection.Caret.Line do + FLines.Add(''); + var SLine := FLines[FSelection.Caret.Line - 1]; + // Pad with spaces if caret is past end of line + if FSelection.Caret.Char > Length(SLine) + 1 then + SLine := SLine + StringOfChar(' ', + FSelection.Caret.Char - 1 - Length(SLine)); + var LeftPart := Copy(SLine, 1, FSelection.Caret.Char - 1); + var RightPart := Copy(SLine, FSelection.Caret.Char, MaxInt); + + FLines[FSelection.Caret.Line - 1] := LeftPart + Lines[0]; + for var I := 1 to Length(Lines) - 1 do + FLines.Insert(FSelection.Caret.Line - 1 + I, Lines[I]); + // Append right part to last line + var LastIdx := FSelection.Caret.Line - 1 + Length(Lines) - 1; + FLines[LastIdx] := FLines[LastIdx] + RightPart; + FSelection.Caret.Line := LastIdx + 1; + FSelection.Caret.Char := Length(Lines[Length(Lines) - 1]) + 1; + end; + + FSelection.Start := BufferCoord(FSelection.Caret.Char, FSelection.Caret.Line); + FSelection.Stop := FSelection.Start; + FSelection.LastPosX := -1; + EnsureCursorPosVisible; + finally + FUndoRedo.EndBlock(Self); + end; +end; + +{ --- Selection --- } + +function TCustomFMXSynEdit.GetSelAvail: Boolean; +begin + Result := FSelection.Start <> FSelection.Stop; +end; + +function TCustomFMXSynEdit.GetSelText: string; +var + SelBC1, SelBC2: TBufferCoord; +begin + Result := ''; + if not GetSelAvail then Exit; + + SelBC1 := FSelection.Start; + SelBC2 := FSelection.Stop; + if SelBC1 > SelBC2 then + begin + var Tmp := SelBC1; + SelBC1 := SelBC2; + SelBC2 := Tmp; + end; + + Result := GetTextRange(SelBC1, SelBC2); +end; + +function TCustomFMXSynEdit.GetTextRange(AStart, AEnd: TBufferCoord): string; +var + I: Integer; + SB: TStringBuilder; +begin + if (AStart.Line < 1) or (AStart.Line > FLines.Count) then Exit(''); + if AEnd.Line > FLines.Count then + AEnd := BufferCoord(Length(FLines[FLines.Count - 1]) + 1, FLines.Count); + + if AStart.Line = AEnd.Line then + Result := Copy(FLines[AStart.Line - 1], AStart.Char, + AEnd.Char - AStart.Char) + else + begin + SB := TStringBuilder.Create; + try + SB.Append(Copy(FLines[AStart.Line - 1], AStart.Char, MaxInt)); + for I := AStart.Line to AEnd.Line - 2 do + begin + SB.AppendLine; + SB.Append(FLines[I]); + end; + SB.AppendLine; + SB.Append(Copy(FLines[AEnd.Line - 1], 1, AEnd.Char - 1)); + Result := SB.ToString; + finally + SB.Free; + end; + end; +end; + +procedure TCustomFMXSynEdit.SelectAll; +begin + if FLines.Count > 0 then + begin + FSelection.Start := BufferCoord(1, 1); + var LastLine := FLines.Count; + FSelection.Stop := BufferCoord(Length(FLines[LastLine - 1]) + 1, LastLine); + FSelection.Caret.Char := FSelection.Stop.Char; + FSelection.Caret.Line := FSelection.Stop.Line; + FSelections.ActiveSelection := FSelection; + Repaint; + end; +end; + +procedure TCustomFMXSynEdit.ClearSelection; +begin + FSelection.Start := GetCaretXY; + FSelection.Stop := FSelection.Start; + FSelections.ActiveSelection := FSelection; + Repaint; +end; + +procedure TCustomFMXSynEdit.SetBlockBegin(Value: TBufferCoord); +begin + Value.Line := Max(Value.Line, 1); + Value.Char := Max(Value.Char, 1); + if (FSelection.Start.Char <> Value.Char) or (FSelection.Start.Line <> Value.Line) then + begin + FSelection.Start := Value; + FSelection.Stop := Value; + FSelections.ActiveSelection := FSelection; + Repaint; + end; +end; + +procedure TCustomFMXSynEdit.SetBlockEnd(Value: TBufferCoord); +begin + Value.Line := Max(Value.Line, 1); + Value.Char := Max(Value.Char, 1); + if (FSelection.Stop.Char <> Value.Char) or (FSelection.Stop.Line <> Value.Line) then + begin + FSelection.Stop := Value; + FSelections.ActiveSelection := FSelection; + Repaint; + end; +end; + +procedure TCustomFMXSynEdit.SetCaretAndSelection(const ACaretXY, ABlockBegin, + ABlockEnd: TBufferCoord); +begin + FSelection.Start := ABlockBegin; + FSelection.Stop := ABlockEnd; + FSelection.Caret.Char := ACaretXY.Char; + FSelection.Caret.Line := ACaretXY.Line; + FSelections.ActiveSelection := FSelection; + EnsureCursorPosVisible; + Repaint; +end; + +{ --- Clipboard --- } + +procedure TCustomFMXSynEdit.CopyToClipboard; +var + S: string; +begin + S := GetSelText; + if S <> '' then + SetClipboardText(S); +end; + +procedure TCustomFMXSynEdit.CutToClipboard; +begin + if not FReadOnly and GetSelAvail then + begin + CopyToClipboard; + FUndoRedo.BeginBlock(Self); + try + DoDeleteSelection; + finally + FUndoRedo.EndBlock(Self); + end; + Repaint; + end; +end; + +procedure TCustomFMXSynEdit.PasteFromClipboard; +var + S: string; +begin + if FReadOnly then Exit; + S := GetClipboardText; + if S <> '' then + SetSelectedTextPrimitive(S); +end; + +{ --- Undo/Redo --- } + +procedure TCustomFMXSynEdit.Undo; +begin + if FUndoRedo.CanUndo then + begin + FUndoRedo.Undo(Self); + Repaint; + end; +end; + +procedure TCustomFMXSynEdit.Redo; +begin + if FUndoRedo.CanRedo then + begin + FUndoRedo.Redo(Self); + Repaint; + end; +end; + +{ --- File I/O --- } + +procedure TCustomFMXSynEdit.LoadFromFile(const AFileName: string); +var + Stream: TFileStream; +begin + Stream := TFileStream.Create(AFileName, fmOpenRead or fmShareDenyWrite); + try + LoadFromStream(Stream); + finally + Stream.Free; + end; +end; + +procedure TCustomFMXSynEdit.SaveToFile(const AFileName: string); +var + Stream: TFileStream; +begin + Stream := TFileStream.Create(AFileName, fmCreate); + try + SaveToStream(Stream); + finally + Stream.Free; + end; +end; + +procedure TCustomFMXSynEdit.LoadFromStream(AStream: TStream); +begin + BeginUpdate; + try + FUndoRedo.Lock; + try + FLines.LoadFromStream(AStream); + finally + FUndoRedo.Unlock; + end; + FUndoRedo.Clear; + FUndoRedo.Modified := False; + FSelection.Caret.Char := 1; + FSelection.Caret.Line := 1; + FSelection.Start := BufferCoord(1, 1); + FSelection.Stop := BufferCoord(1, 1); + FTopLine := 1; + FLeftChar := 1; + ScanRanges; + if FUseCodeFolding then + FullFoldScan; + finally + EndUpdate; + end; +end; + +procedure TCustomFMXSynEdit.SaveToStream(AStream: TStream); +begin + FLines.SaveToStream(AStream); + FUndoRedo.Modified := False; +end; + +procedure TCustomFMXSynEdit.ClearAll; +begin + BeginUpdate; + try + FUndoRedo.Lock; + try + FLines.Clear; + finally + FUndoRedo.Unlock; + end; + FUndoRedo.Clear; + FUndoRedo.Modified := False; + FSelection.Caret.Char := 1; + FSelection.Caret.Line := 1; + FSelection.Start := BufferCoord(1, 1); + FSelection.Stop := BufferCoord(1, 1); + // Clear all bookmarks + for var I := 0 to 9 do + FBookmarks[I] := nil; + FMarkList.Clear; + finally + EndUpdate; + end; +end; + +{ --- Bookmarks --- } + +procedure TCustomFMXSynEdit.SetBookmark(ABookmark: Integer; X, Y: Integer); +var + Mark: TSynFMXEditMark; +begin + if (ABookmark < 0) or (ABookmark > 9) then Exit; + // Clamp line to valid range + Y := Max(1, Min(Y, Max(1, FLines.Count))); + X := Max(1, X); + + if FBookmarks[ABookmark] <> nil then + begin + // Update existing bookmark position + FBookmarks[ABookmark].Line := Y; + FBookmarks[ABookmark].Char := X; + end + else + begin + Mark := TSynFMXEditMark.Create; + Mark.BookmarkNumber := ABookmark; + Mark.Line := Y; + Mark.Char := X; + Mark.Visible := True; + FMarkList.Add(Mark); + FBookmarks[ABookmark] := Mark; + end; + + if Assigned(FOnPlaceBookmark) then + FOnPlaceBookmark(Self); + Repaint; +end; + +procedure TCustomFMXSynEdit.ClearBookmark(ABookmark: Integer); +var + Idx: Integer; +begin + if (ABookmark < 0) or (ABookmark > 9) then Exit; + if FBookmarks[ABookmark] = nil then Exit; + + Idx := FMarkList.IndexOf(FBookmarks[ABookmark]); + if Idx >= 0 then + FMarkList.Delete(Idx); // TObjectList frees the object + FBookmarks[ABookmark] := nil; + + if Assigned(FOnClearBookmark) then + FOnClearBookmark(Self); + Repaint; +end; + +procedure TCustomFMXSynEdit.GotoBookmark(ABookmark: Integer); +begin + if (ABookmark < 0) or (ABookmark > 9) then Exit; + if FBookmarks[ABookmark] = nil then Exit; + + SetCaretXY(BufferCoord(FBookmarks[ABookmark].Char, + FBookmarks[ABookmark].Line)); + EnsureCursorPosVisible; +end; + +function TCustomFMXSynEdit.GetBookmark(ABookmark: Integer; + var X, Y: Integer): Boolean; +begin + Result := False; + if (ABookmark < 0) or (ABookmark > 9) then Exit; + if FBookmarks[ABookmark] = nil then Exit; + X := FBookmarks[ABookmark].Char; + Y := FBookmarks[ABookmark].Line; + Result := True; +end; + +function TCustomFMXSynEdit.IsBookmarkSet(ABookmark: Integer): Boolean; +begin + Result := (ABookmark >= 0) and (ABookmark <= 9) and + (FBookmarks[ABookmark] <> nil); +end; + +{ --- Mouse handling --- } + +procedure TCustomFMXSynEdit.MouseDown(Button: TMouseButton; Shift: TShiftState; + X, Y: Single); +var + BC: TBufferCoord; + Row, Line: Integer; + Band: TSynFMXGutterBand; +begin + inherited; + if not IsFocused then + SetFocus; + + if Button = TMouseButton.mbLeft then + begin + // Check for gutter click + if X < FGutterWidth then + begin + Row := Max(1, FTopLine + Trunc(Y / FLineHeight)); + Line := RowToLine(Row); + Band := FGutter.BandAtX(X); + if Assigned(Band) then + Band.DoClick(Button, X, Y, Row, Line); + Exit; + end; + + BC := PixelToBufferCoord(X, Y); + + // Drag-drop: detect click on selection (single caret, no modifiers) + if (eoDragDropEditing in FOptions) and (FSelections.Count = 1) + and (X >= FGutterWidth) and (Shift * [ssAlt, ssShift] = []) + and not FSelection.IsEmpty and IsPointInSelection(BC) then + begin + FDragReady := True; + FDragStartPos := PointF(X, Y); + Exit; + end; + + if Shift * [ssAlt, ssShift] = [ssAlt, ssShift] then + begin + // Alt+Shift+Click: column selection from anchor to click + FSelection.Caret.Char := BC.Char; + FSelection.Caret.Line := BC.Line; + FSelections.ColumnSelection(ColumnSelectionStart, BC, FSelection.LastPosX); + FSelection := FSelections.ActiveSelection; + end + else if ssAlt in Shift then + begin + // Alt+Click: add/toggle caret + FSelections.AddCaret(BC); + FSelection := FSelections.ActiveSelection; + end + else if ssShift in Shift then + begin + // Shift+Click: extend selection + FSelection.Stop := BC; + FSelection.Caret.Char := BC.Char; + FSelection.Caret.Line := BC.Line; + FSelections.ActiveSelection := FSelection; + end + else + begin + // Normal click: single caret + FSelection.Start := BC; + FSelection.Stop := BC; + FSelection.Caret.Char := BC.Char; + FSelection.Caret.Line := BC.Line; + FSelection.LastPosX := -1; + FSelections.ActiveSelection := FSelection; + if FSelections.Count > 1 then + FSelections.Clear(TSynSelectionsBase.TKeepSelection.ksKeepActive); + end; + FCaretBlinkOn := True; + Repaint; + end; +end; + +procedure TCustomFMXSynEdit.MouseMove(Shift: TShiftState; X, Y: Single); +var + BC: TBufferCoord; +begin + inherited; + // Drag-drop: check if we've moved far enough to initiate drag + if FDragReady and (ssLeft in Shift) then + begin + if (Abs(X - FDragStartPos.X) > 5) or (Abs(Y - FDragStartPos.Y) > 5) then + begin + FDragReady := False; + DoDragDropOperation; + end; + Exit; + end; + + if ssLeft in Shift then + begin + BC := PixelToBufferCoord(X, Y); + if Shift * [ssAlt, ssShift] = [ssAlt, ssShift] then + begin + // Alt+Shift+Drag: column selection + FSelection.Caret.Char := BC.Char; + FSelection.Caret.Line := BC.Line; + FSelections.ColumnSelection(ColumnSelectionStart, BC, FSelection.LastPosX); + FSelection := FSelections.ActiveSelection; + end + else + begin + FSelection.Stop := BC; + FSelection.Caret.Char := BC.Char; + FSelection.Caret.Line := BC.Line; + FSelections.ActiveSelection := FSelection; + FSelections.MouseSelection(FSelection); + end; + EnsureCursorPosVisible; + Repaint; + end; +end; + +procedure TCustomFMXSynEdit.MouseUp(Button: TMouseButton; Shift: TShiftState; + X, Y: Single); +var + BC: TBufferCoord; +begin + inherited; + // Click on selection without drag = place caret + if FDragReady then + begin + FDragReady := False; + BC := PixelToBufferCoord(X, Y); + FSelection := TSynSelection.Create(BC, BC, BC); + if FSelections.Count > 1 then + FSelections.Clear(TSynSelectionsBase.TKeepSelection.ksKeepActive); + FSelections.ActiveSelection := FSelection; + Repaint; + end; +end; + +procedure TCustomFMXSynEdit.MouseWheel(Shift: TShiftState; WheelDelta: Integer; + var Handled: Boolean); +begin + inherited; + if FScrollBars <> nil then + begin + (FScrollBars as ISynEditScrollBars).DoMouseWheel(Shift, WheelDelta, + TPointF.Zero); + Handled := True; + end; +end; + +{ --- Drag-and-drop --- } + +function TCustomFMXSynEdit.IsPointInSelection(const BC: TBufferCoord): Boolean; +var + Index: Integer; +begin + Result := FSelections.FindSelection(BC, Index) + and not FSelections[Index].IsEmpty; +end; + +procedure TCustomFMXSynEdit.EnsureOleDropTarget; +begin + if FOleDropRegistered then Exit; + if Root = nil then Exit; + FOleDropRegistered := True; + FOleDropToken := RegisterOleDropTarget(Self); +end; + +procedure TCustomFMXSynEdit.DoDragDropOperation; +var + Platform: ISynDragDropPlatform; + DragData: TSynDragData; + DragResult: TSynDragResult; +begin + Platform := CreateSynDragDropPlatform; + if Platform = nil then Exit; + + DragData.Text := GetSelText; + DragData.Highlighter := FHighlighter; + DragData.FontFamily := FFont.Family; + DragData.FontSize := Round(FFont.Size); + DragData.BackgroundColor := TAlphaColors.White; + DragData.UseBackground := not (eoNoHTMLBackground in FOptions); + + FIsDragSource := True; + FDragDropHandled := False; + try + DragResult := Platform.StartDrag(Self, DragData); + finally + FIsDragSource := False; + if (DragResult.Effect = sdaMove) and not FDragDropHandled then + begin + FUndoRedo.BeginBlock(Self); + try + DoDeleteSelection; + finally + FUndoRedo.EndBlock(Self); + end; + Repaint; + end; + end; +end; + +procedure TCustomFMXSynEdit.DragOver(const Data: TDragObject; + const Point: TPointF; var Operation: TDragOperation); +var + BC: TBufferCoord; +begin + if FReadOnly or Data.Data.IsEmpty then + begin + Operation := TDragOperation.None; + Exit; + end; + + BC := PixelToBufferCoord(Point.X, Point.Y); + + // Show caret at potential drop position + FSelection.Caret := BC; + FCaretBlinkOn := True; + Repaint; + + // Determine Copy vs Move + {$IFDEF MSWINDOWS} + if GetKeyState(VK_CONTROL) < 0 then + Operation := TDragOperation.Copy + else + {$ENDIF} + Operation := TDragOperation.Move; + + ComputeDragScroll(Point.X, Point.Y); +end; + +procedure TCustomFMXSynEdit.DragDrop(const Data: TDragObject; + const Point: TPointF); +var + IsMove: Boolean; +begin + StopDragScroll; + if Data.Data.IsEmpty or FReadOnly then Exit; + + {$IFDEF MSWINDOWS} + IsMove := GetKeyState(VK_CONTROL) >= 0; + {$ELSE} + IsMove := True; + {$ENDIF} + + // OLE drops don't set Data.Source, so use FIsDragSource flag instead + // (same approach as VCL's sfOleDragSource in fStateFlags) + DropTextAtPos(Data.Data.AsString, + PixelToBufferCoord(Point.X, Point.Y), FIsDragSource, IsMove); +end; + +procedure TCustomFMXSynEdit.DropTextAtPos(const DropText: string; + DropPos: TBufferCoord; IsInternal, IsMove: Boolean); +var + vBB, vBE: TBufferCoord; + DropInfo: TSynDropInfo; +begin + if (DropText = '') or FReadOnly then Exit; + + vBB := BlockBegin; + vBE := BlockEnd; + + DropInfo := TSynDragDropHelper.ComputeDropInfo( + DropPos, vBB, vBE, IsInternal, IsMove); + if not DropInfo.DoDrop then Exit; + + BeginUpdate; + FUndoRedo.BeginBlock(Self); + try + if IsMove and IsInternal then + begin + FDragDropHandled := True; + // Restore original selection for deletion (DragOver moved the caret) + FSelection.Start := vBB; + FSelection.Stop := vBE; + DoDeleteSelection; + DropPos := TSynDragDropHelper.AdjustDropPos( + DropPos, vBB, vBE, DropInfo.DropAfter); + end; + + var SaveOpts := FScrollOptions; + Include(FScrollOptions, eoScrollPastEol); + try + FSelection.Caret := DropPos; + FSelection.Start := DropPos; + FSelection.Stop := DropPos; + FSelections.ActiveSelection := FSelection; + SetSelectedTextPrimitive(DropText); + SetCaretAndSelection( + BufferCoord(FSelection.Caret.Char, FSelection.Caret.Line), + DropPos, + BufferCoord(FSelection.Caret.Char, FSelection.Caret.Line)); + finally + FScrollOptions := SaveOpts; + end; + finally + FUndoRedo.EndBlock(Self); + EndUpdate; + end; + Repaint; +end; + +procedure TCustomFMXSynEdit.DragLeave; +begin + inherited; + StopDragScroll; + Repaint; +end; + +procedure TCustomFMXSynEdit.DragEnd; +begin + inherited; + FIsDragSource := False; + FDragReady := False; + StopDragScroll; + Repaint; +end; + +procedure TCustomFMXSynEdit.ComputeDragScroll(X, Y: Single); +const + ScrollMargin = 20; +begin + FDragScrollDeltaX := 0; + FDragScrollDeltaY := 0; + + if Y < ScrollMargin then + FDragScrollDeltaY := -1 + else if Y > Height - ScrollMargin then + FDragScrollDeltaY := 1; + + if X < FGutterWidth + ScrollMargin then + FDragScrollDeltaX := -1 + else if X > Width - ScrollMargin then + FDragScrollDeltaX := 1; + + FDragScrollTimer.Enabled := + (FDragScrollDeltaX <> 0) or (FDragScrollDeltaY <> 0); +end; + +procedure TCustomFMXSynEdit.DragScrollTimerHandler(Sender: TObject); +begin + if FDragScrollDeltaY <> 0 then + TopLine := TopLine + FDragScrollDeltaY; + if FDragScrollDeltaX <> 0 then + LeftChar := LeftChar + FDragScrollDeltaX; +end; + +procedure TCustomFMXSynEdit.StopDragScroll; +begin + FDragScrollTimer.Enabled := False; + FDragScrollDeltaX := 0; + FDragScrollDeltaY := 0; +end; + +{ --- Property setters --- } + +procedure TCustomFMXSynEdit.SetHighlighter(const Value: TSynCustomHighlighter); +begin + if FHighlighter <> Value then + begin + if FHighlighter <> nil then + FHighlighter.RemoveFreeNotification(Self); + FHighlighter := Value; + if FHighlighter <> nil then + FHighlighter.FreeNotification(Self); + ScanRanges; + if FUseCodeFolding then + FullFoldScan; + Repaint; + end; +end; + +procedure TCustomFMXSynEdit.SetTabWidth(Value: Integer); +begin + if (Value > 0) and (Value <> FTabWidth) then + begin + FTabWidth := Value; + FMaxScrollWidthValid := False; + if FWordWrap and Assigned(FWordWrapHelper) then + begin + FWordWrapHelper.SetWrapWidth(GetWrapAreaWidth, FTabWidth); + FWordWrapHelper.Reset(FLines); + end; + Repaint; + end; +end; + +procedure TCustomFMXSynEdit.SetReadOnly(Value: Boolean); +begin + FReadOnly := Value; +end; + +procedure TCustomFMXSynEdit.SetCaretX(Value: Integer); +begin + if Value < 1 then Value := 1; + if FSelection.Caret.Char <> Value then + begin + FSelection.Caret.Char := Value; + FSelection.LastPosX := -1; + FSelections.ActiveSelection := FSelection; + EnsureCursorPosVisible; + Repaint; + end; +end; + +procedure TCustomFMXSynEdit.SetCaretY(Value: Integer); +begin + if Value < 1 then Value := 1; + if FSelection.Caret.Line <> Value then + begin + FSelection.Caret.Line := Value; + FSelections.ActiveSelection := FSelection; + EnsureCursorPosVisible; + Repaint; + end; +end; + +function TCustomFMXSynEdit.GetCaretX: Integer; +begin + Result := FSelection.Caret.Char; +end; + +function TCustomFMXSynEdit.GetCaretY: Integer; +begin + Result := FSelection.Caret.Line; +end; + +function TCustomFMXSynEdit.GetBlockBegin: TBufferCoord; +begin + Result := FSelection.Start; +end; + +function TCustomFMXSynEdit.GetBlockEnd: TBufferCoord; +begin + Result := FSelection.Stop; +end; + +function TCustomFMXSynEdit.GetCaretXY: TBufferCoord; +begin + Result := FSelection.Caret; +end; + +procedure TCustomFMXSynEdit.SetCaretXY(const Value: TBufferCoord); +begin + FSelection.Caret.Char := Max(1, Value.Char); + FSelection.Caret.Line := Max(1, Value.Line); + FSelection.Start := Value; + FSelection.Stop := Value; + FSelection.LastPosX := -1; + FSelections.ActiveSelection := FSelection; + if FSelections.Count > 1 then + FSelections.Clear(TSynSelectionsBase.TKeepSelection.ksKeepActive); + EnsureCursorPosVisible; + Repaint; +end; + +procedure TCustomFMXSynEdit.SetRightEdge(Value: Integer); +begin + if FRightEdge <> Value then + begin + FRightEdge := Value; + Repaint; + end; +end; + +procedure TCustomFMXSynEdit.SetRightEdgeColor(Value: TColor); +begin + if FRightEdgeColor <> Value then + begin + FRightEdgeColor := Value; + Repaint; + end; +end; + +procedure TCustomFMXSynEdit.SetActiveLineColor(Value: TColor); +begin + if FActiveLineColor <> Value then + begin + FActiveLineColor := Value; + Repaint; + end; +end; + +procedure TCustomFMXSynEdit.SetOptions(Value: TSynEditorOptions); +begin + if FOptions <> Value then + begin + FOptions := Value; + if FUndoRedo <> nil then + FUndoRedo.GroupUndo := eoGroupUndo in FOptions; + end; +end; + +procedure TCustomFMXSynEdit.SetScrollOptions(Value: TSynEditorScrollOptions); +begin + FScrollOptions := Value; +end; + +function TCustomFMXSynEdit.GetText: string; +begin + Result := FLines.Text; +end; + +procedure TCustomFMXSynEdit.SetText(const Value: string); +begin + FLines.Text := Value; + FSelection.Caret.Char := 1; + FSelection.Caret.Line := 1; + FSelection.Start := BufferCoord(1, 1); + FSelection.Stop := BufferCoord(1, 1); + FTopLine := 1; + FLeftChar := 1; + ScanRanges; + RecalcSizes; + Repaint; +end; + +function TCustomFMXSynEdit.GetLineCount: Integer; +begin + Result := FLines.Count; +end; + +function TCustomFMXSynEdit.GetCanUndo: Boolean; +begin + Result := (FUndoRedo <> nil) and FUndoRedo.CanUndo; +end; + +function TCustomFMXSynEdit.GetCanRedo: Boolean; +begin + Result := (FUndoRedo <> nil) and FUndoRedo.CanRedo; +end; + +function TCustomFMXSynEdit.GetModified: Boolean; +begin + Result := (FUndoRedo <> nil) and FUndoRedo.Modified; +end; + +{ --- Notification --- } + +procedure TCustomFMXSynEdit.Notification(AComponent: TComponent; + Operation: TOperation); +begin + inherited; + if Operation = opRemove then + begin + if AComponent = FHighlighter then + FHighlighter := nil; + if AComponent = FSearchEngine then + FSearchEngine := nil; + end; +end; + +{ --- Row/Line mapping --- } + +function TCustomFMXSynEdit.LineToRow(aLine: Integer): Integer; +begin + if FWordWrap and Assigned(FWordWrapHelper) then + Result := FWordWrapHelper.LineToRow(aLine) + else if FUseCodeFolding then + Result := FAllFoldRanges.FoldLineToRow(aLine) + else + Result := aLine; +end; + +function TCustomFMXSynEdit.RowToLine(aRow: Integer): Integer; +begin + if FWordWrap and Assigned(FWordWrapHelper) then + Result := FWordWrapHelper.RowToLine(aRow) + else if FUseCodeFolding then + Result := FAllFoldRanges.FoldRowToLine(aRow) + else + Result := aRow; +end; + +function TCustomFMXSynEdit.BufferToDisplayPos( + const P: TBufferCoord): TDisplayCoord; +begin + if FWordWrap and Assigned(FWordWrapHelper) then + Result := FWordWrapHelper.BufferToDisplayPos(P) + else + Result := DisplayCoord(P.Char, LineToRow(P.Line)); +end; + +function TCustomFMXSynEdit.DisplayToBufferPos( + const P: TDisplayCoord): TBufferCoord; +begin + if FWordWrap and Assigned(FWordWrapHelper) then + Result := FWordWrapHelper.DisplayToBufferPos(P) + else + Result := BufferCoord(P.Column, RowToLine(P.Row)); +end; + +function TCustomFMXSynEdit.GetRowLength(ARow: Integer): Integer; +begin + if FWordWrap and Assigned(FWordWrapHelper) then + Result := FWordWrapHelper.GetRowLength(ARow) + else + begin + var Line := RowToLine(ARow); + if (Line >= 1) and (Line <= FLines.Count) then + Result := FLines[Line - 1].Length + else + Result := 0; + end; +end; + +function TCustomFMXSynEdit.GetDisplayRowCount: Integer; +begin + if FWordWrap and Assigned(FWordWrapHelper) then + Result := FWordWrapHelper.RowCount + else if FUseCodeFolding then + Result := LineToRow(FLines.Count) + else + Result := FLines.Count; +end; + +{ --- Word Wrap --- } + +function TCustomFMXSynEdit.GetWrapAreaWidth: Integer; +begin + if FCharWidth > 0 then + Result := Max(1, Trunc((Width - FGutterWidth) / FCharWidth)) + else + Result := 80; +end; + +procedure TCustomFMXSynEdit.SetWordWrap(Value: Boolean); +begin + if FWordWrap = Value then Exit; + // Mutually exclusive with code folding + if Value and FUseCodeFolding then Exit; + FWordWrap := Value; + if FWordWrap then + begin + FWordWrapHelper := TFMXWordWrapHelper.Create; + FWordWrapHelper.SetWrapWidth(GetWrapAreaWidth, FTabWidth); + FWordWrapHelper.Reset(FLines); + FLeftChar := 1; + end + else + FreeAndNil(FWordWrapHelper); + RecalcSizes; + UpdateScrollBars; + EnsureCursorPosVisible; + Repaint; +end; + +{ --- Code Folding --- } + +procedure TCustomFMXSynEdit.SetUseCodeFolding(const Value: Boolean); +var + ValidValue: Boolean; +begin + if csLoading in ComponentState then + begin + FUseCodeFolding := Value; + Exit; + end; + + // Mutually exclusive with word wrap + ValidValue := Value and not FWordWrap and + ((Assigned(FHighlighter) and + (FHighlighter is TSynCustomCodeFoldingHighlighter)) + or Assigned(FOnScanForFoldRanges)); + + if FUseCodeFolding <> ValidValue then + begin + FAllFoldRanges.Reset; + FUseCodeFolding := ValidValue; + if ValidValue then + begin + if FHighlighter is TSynCustomCodeFoldingHighlighter then + begin + TSynCustomCodeFoldingHighlighter(FHighlighter).InitFoldRanges(FAllFoldRanges); + FAllFoldRanges.AdjustRangesProc := + TSynCustomCodeFoldingHighlighter(FHighlighter).AdjustFoldRanges; + end + else + FAllFoldRanges.AdjustRangesProc := nil; + FullFoldScan; + end + else + FAllFoldRanges.AdjustRangesProc := nil; + + // Toggle fold band visibility + var FoldBand := FGutter.Bands.BandByKind(gbkFold); + if Assigned(FoldBand) then + FoldBand.Visible := ValidValue; + + UpdateGutterWidth; + RecalcSizes; + Repaint; + end; +end; + +procedure TCustomFMXSynEdit.OnCodeFoldingChange(Sender: TObject); +begin + UpdateGutterWidth; + Repaint; +end; + +procedure TCustomFMXSynEdit.FullFoldScan; +begin + if FUseCodeFolding then + ReScanForFoldRanges(0, FLines.Count - 1); +end; + +procedure TCustomFMXSynEdit.ReScanForFoldRanges(FromLine, ToLine: Integer); +var + AdjustedToLine: Integer; +begin + AdjustedToLine := Max(Min(ToLine, FLines.Count - 1), FromLine); + FAllFoldRanges.StartScanning; + ScanForFoldRanges(FAllFoldRanges, FLines, FromLine, AdjustedToLine); + if not FLines.Updating and FAllFoldRanges.StopScanning(FLines) then + begin + UpdateGutterWidth; + UpdateScrollBars; + end; +end; + +procedure TCustomFMXSynEdit.ScanForFoldRanges(FoldRanges: TSynFoldRanges; + LinesToScan: TStrings; FromLine, ToLine: Integer); +begin + if FHighlighter is TSynCustomCodeFoldingHighlighter then + TSynCustomCodeFoldingHighlighter(FHighlighter).ScanForFoldRanges( + FoldRanges, LinesToScan, FromLine, ToLine); + + if Assigned(FOnScanForFoldRanges) then + FOnScanForFoldRanges(Self, FoldRanges, LinesToScan, FromLine, ToLine); +end; + +procedure TCustomFMXSynEdit.Collapse(FoldRangeIndex: Integer; Invalidate: Boolean); +var + Range: TSynFoldRange; +begin + if not FUseCodeFolding then Exit; + + if FAllFoldRanges.Collapse(FoldRangeIndex) then + begin + Range := FAllFoldRanges[FoldRangeIndex]; + // Extract caret from fold + if (FSelection.Caret.Line > Range.FromLine) and (FSelection.Caret.Line <= Range.ToLine) then + CaretXY := BufferCoord(Length(FLines[Range.FromLine - 1]) + 1, Range.FromLine); + if Invalidate then + begin + UpdateScrollBars; + Repaint; + end; + end; +end; + +procedure TCustomFMXSynEdit.Uncollapse(FoldRangeIndex: Integer; Invalidate: Boolean); +begin + if not FUseCodeFolding then Exit; + + FAllFoldRanges.UnCollapse(FoldRangeIndex); + if Invalidate then + begin + UpdateScrollBars; + Repaint; + end; +end; + +procedure TCustomFMXSynEdit.CollapseAll; +begin + if not FUseCodeFolding then Exit; + FAllFoldRanges.CollapseAll; + + // Surface caret from hidden folds + var Index: Integer; + while FAllFoldRanges.FoldHidesLine(FSelection.Caret.Line, Index) do + begin + var Range := FAllFoldRanges[Index]; + CaretXY := BufferCoord(Length(FLines[Range.FromLine - 1]) + 1, Range.FromLine); + end; + + EnsureCursorPosVisible; + UpdateScrollBars; + Repaint; +end; + +procedure TCustomFMXSynEdit.UncollapseAll; +var + I: Integer; +begin + if not FUseCodeFolding then Exit; + for I := FAllFoldRanges.Count - 1 downto 0 do + FAllFoldRanges.UnCollapse(I); + + UpdateScrollBars; + EnsureCursorPosVisible; + Repaint; +end; + +procedure TCustomFMXSynEdit.CollapseNearest; +var + Index: Integer; +begin + if not FUseCodeFolding then Exit; + if FAllFoldRanges.FoldAroundLineEx(FSelection.Caret.Line, False, True, True, Index) then + Collapse(Index); + EnsureCursorPosVisible; +end; + +procedure TCustomFMXSynEdit.UncollapseNearest; +var + Index: Integer; +begin + if not FUseCodeFolding then Exit; + if FAllFoldRanges.CollapsedFoldStartAtLine(FSelection.Caret.Line, Index) then + Uncollapse(Index); + EnsureCursorPosVisible; +end; + +procedure TCustomFMXSynEdit.CollapseLevel(Level: Integer); +begin + if not FUseCodeFolding then Exit; + FAllFoldRanges.CollapseLevel(Level); + + // Surface caret + var Index: Integer; + while FAllFoldRanges.FoldHidesLine(FSelection.Caret.Line, Index) do + begin + var Range := FAllFoldRanges[Index]; + CaretXY := BufferCoord(Length(FLines[Range.FromLine - 1]) + 1, Range.FromLine); + end; + + EnsureCursorPosVisible; + UpdateScrollBars; + Repaint; +end; + +procedure TCustomFMXSynEdit.UncollapseLevel(Level: Integer); +begin + if not FUseCodeFolding then Exit; + FAllFoldRanges.UnCollapseLevel(Level); + + EnsureCursorPosVisible; + UpdateScrollBars; + Repaint; +end; + +{ --- Search/Replace --- } + +procedure TCustomFMXSynEdit.SetSearchEngine(Value: TSynEditSearchCustom); +begin + if FSearchEngine <> Value then + begin + if FSearchEngine <> nil then + FSearchEngine.RemoveFreeNotification(Self); + FSearchEngine := Value; + if FSearchEngine <> nil then + FSearchEngine.FreeNotification(Self); + end; +end; + +function TCustomFMXSynEdit.DoOnReplaceText(const ASearch, AReplace: string; + Line, Column: Integer): TSynReplaceAction; +begin + Result := raCancel; + if Assigned(FOnReplaceText) then + FOnReplaceText(Self, ASearch, AReplace, Line, Column, Result); +end; + +function TCustomFMXSynEdit.SearchReplace(const ASearch, AReplace: string; + AOptions: TSynSearchOptions): Integer; +var + ptStart, ptEnd: TBufferCoord; + bBackward, bFromCursor, bPrompt, bReplace, bReplaceAll: Boolean; + sReplace: string; + function ProcessTextRange(const AStart: TBufferCoord; + var AEnd: TBufferCoord): Integer; + var + lnStart, lnEnd, nInLine, nFound, nSearchLen, nReplaceLen, n: Integer; + iResultOffset: Integer; + CurrentLine: Integer; + Line: string; + nAction: TSynReplaceAction; + begin + Result := 0; + if bBackward then + CurrentLine := AEnd.Line + else + CurrentLine := AStart.Line; + + while (CurrentLine >= AStart.Line) and (CurrentLine <= AEnd.Line) do + begin + Line := FLines[CurrentLine - 1]; + if CurrentLine = AStart.Line then + lnStart := AStart.Char + else + lnStart := 1; + + if CurrentLine = AEnd.Line then + lnEnd := AEnd.Char + else + lnEnd := Length(Line) + 1; + + if lnEnd <= lnStart then + begin + if bBackward then Dec(CurrentLine) else Inc(CurrentLine); + Continue; + end; + + nInLine := FSearchEngine.FindAll(Line, lnStart, lnEnd); + iResultOffset := 0; + if bBackward then + n := FSearchEngine.ResultCount - 1 + else + n := 0; + + while nInLine > 0 do + begin + nFound := FSearchEngine.Results[n] + iResultOffset; + nSearchLen := FSearchEngine.Lengths[n]; + if bBackward then Dec(n) else Inc(n); + Dec(nInLine); + Inc(Result); + + // Select the found text + if bBackward then + SetCaretAndSelection( + BufferCoord(nFound, CurrentLine), + BufferCoord(nFound + nSearchLen, CurrentLine), + BufferCoord(nFound, CurrentLine)) + else + SetCaretAndSelection( + BufferCoord(nFound + nSearchLen, CurrentLine), + BufferCoord(nFound, CurrentLine), + BufferCoord(nFound + nSearchLen, CurrentLine)); + + // If search only, return after first find + if not (bReplace or bReplaceAll) then Exit; + + // Prompt for replace + if bPrompt and Assigned(FOnReplaceText) then + begin + nAction := DoOnReplaceText(ASearch, sReplace, CurrentLine, nFound); + if nAction = raCancel then + begin + Dec(Result); + Exit; + end; + end + else + nAction := raReplace; + + if nAction = raSkip then + Dec(Result) + else + begin + if nAction = raReplaceAll then + begin + bReplaceAll := True; + bPrompt := False; + end; + + // Perform replacement + var SelText := FSearchEngine.Replace( + Copy(FLines[CurrentLine - 1], nFound, nSearchLen), sReplace); + + var SLine := FLines[CurrentLine - 1]; + System.Delete(SLine, nFound, nSearchLen); + System.Insert(SelText, SLine, nFound); + FLines[CurrentLine - 1] := SLine; + nReplaceLen := Length(SelText); + + if not bBackward then + begin + FSelection.Caret.Char := nFound + nReplaceLen; + if nSearchLen <> nReplaceLen then + begin + Inc(iResultOffset, nReplaceLen - nSearchLen); + if CurrentLine = AEnd.Line then + Inc(AEnd.Char, nReplaceLen - nSearchLen); + end; + end; + end; + + if not bReplaceAll then Exit; + end; + + if bBackward then Dec(CurrentLine) else Inc(CurrentLine); + end; + end; + +begin + if not Assigned(FSearchEngine) then + raise Exception.Create('No search engine has been assigned'); + + Result := 0; + if Length(ASearch) = 0 then Exit; + + bBackward := ssoBackwards in AOptions; + bPrompt := ssoPrompt in AOptions; + bReplace := ssoReplace in AOptions; + bReplaceAll := ssoReplaceAll in AOptions; + bFromCursor := not (ssoEntireScope in AOptions); + sReplace := FSearchEngine.PreprocessReplaceExpression(AReplace); + + // Initialize search engine + FSearchEngine.Options := AOptions; + FSearchEngine.Pattern := ASearch; + + BeginUpdate; + try + if not (ssoSelectedOnly in AOptions) then + begin + ptStart.Char := 1; + ptStart.Line := 1; + ptEnd.Line := FLines.Count; + if ptEnd.Line > 0 then + ptEnd.Char := Length(FLines[ptEnd.Line - 1]) + 1 + else + ptEnd.Char := 1; + if bFromCursor then + begin + if bBackward then + ptEnd := GetCaretXY + else + ptStart := GetCaretXY; + end; + Result := ProcessTextRange(ptStart, ptEnd); + end + else if GetSelAvail then + begin + ptStart := FSelection.Start; + ptEnd := FSelection.Stop; + if ptStart > ptEnd then + begin + var Tmp := ptStart; + ptStart := ptEnd; + ptEnd := Tmp; + end; + Result := ProcessTextRange(ptStart, ptEnd); + end; + + // Notify if not found + if (Result = 0) and not (bReplace or bReplaceAll) and + Assigned(FOnSearchNotFound) then + FOnSearchNotFound(Self); + finally + EndUpdate; + FSearchEngine.IsWordBreakFunction := nil; + end; +end; + +{ --- Plugin support --- } + +procedure TCustomFMXSynEdit.RegisterPlugin(APlugin: TSynFMXEditPlugin); +begin + if FPlugins.IndexOf(APlugin) < 0 then + FPlugins.Add(APlugin); +end; + +procedure TCustomFMXSynEdit.UnregisterPlugin(APlugin: TSynFMXEditPlugin); +begin + FPlugins.Remove(APlugin); +end; + +procedure TCustomFMXSynEdit.AddKeyDownHandler(aHandler: TKeyEvent); +begin + FKbdHandler.AddKeyDownHandler(aHandler); +end; + +procedure TCustomFMXSynEdit.RemoveKeyDownHandler(aHandler: TKeyEvent); +begin + FKbdHandler.RemoveKeyDownHandler(aHandler); +end; + +procedure TCustomFMXSynEdit.RegisterCommandHandler( + const AHandlerProc: THookedCommandEvent; AHandlerData: Pointer); +begin + if not Assigned(AHandlerProc) then Exit; + + if not Assigned(FHookedCommandHandlers) then + FHookedCommandHandlers := TDictionary.Create; + FHookedCommandHandlers.AddOrSetValue(AHandlerProc, AHandlerData); +end; + +procedure TCustomFMXSynEdit.UnregisterCommandHandler(AHandlerProc: + THookedCommandEvent); +begin + if not (Assigned(AHandlerProc) and Assigned(FHookedCommandHandlers)) then + Exit; + + FHookedCommandHandlers.Remove(AHandlerProc); +end; + +procedure TCustomFMXSynEdit.NotifyHookedCommandHandlers( + AfterProcessing: Boolean; var Command: TSynEditorCommand; + var AChar: WideChar; Data: Pointer); +var + Handled: Boolean; + Handler: TPair; +begin + Handled := False; + + if not Assigned(FHookedCommandHandlers) then Exit; + + for Handler in FHookedCommandHandlers do + Handler.Key(Self, AfterProcessing, Handled, Command, AChar, Data, + Handler.Value); + if Handled then + Command := ecNone; +end; + +procedure TCustomFMXSynEdit.DoPluginAfterPaint(Canvas: TCanvas; + const AClip: TRectF; FirstLine, LastLine: Integer); +var + I: Integer; + Plugin: TSynFMXEditPlugin; +begin + for I := 0 to FPlugins.Count - 1 do + begin + Plugin := TSynFMXEditPlugin(FPlugins[I]); + if phAfterPaint in Plugin.Handlers then + Plugin.AfterPaint(Canvas, AClip, FirstLine, LastLine); + end; +end; + +{ TSynFMXEditPlugin } + +constructor TSynFMXEditPlugin.Create(AOwner: TCustomFMXSynEdit; + AHandlers: TPlugInHandlers); +begin + inherited Create; + FOwner := AOwner; + FHandlers := AHandlers; + if Assigned(AOwner) then + AOwner.RegisterPlugin(Self); +end; + +destructor TSynFMXEditPlugin.Destroy; +begin + if Assigned(FOwner) then + FOwner.UnregisterPlugin(Self); + inherited; +end; + +procedure TSynFMXEditPlugin.AfterPaint(Canvas: TCanvas; const AClip: TRectF; + FirstLine, LastLine: Integer); +begin +end; + +procedure TSynFMXEditPlugin.LinesInserted(FirstLine, Count: Integer); +begin +end; + +procedure TSynFMXEditPlugin.LinesDeleted(FirstLine, Count: Integer); +begin +end; + +procedure TSynFMXEditPlugin.LinePut(aIndex: Integer; const OldLine: string); +begin +end; + +end. diff --git a/Source/FMX/FMX.SynEditDragDrop.pas b/Source/FMX/FMX.SynEditDragDrop.pas new file mode 100644 index 00000000..797d0a16 --- /dev/null +++ b/Source/FMX/FMX.SynEditDragDrop.pas @@ -0,0 +1,447 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition + +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/ + +Alternatively, the contents of this file may be used under the terms of the +GNU General Public License Version 2 or later (the "GPL"), in which case +the provisions of the GPL are applicable instead of those above. + +FMX drag-and-drop platform abstraction. Provides ISynDragDropPlatform +interface with platform-specific implementations. +Implements Windows OLE drag source and drop target. The custom OLE +IDropTarget works around an FMX framework bug where TWinDropTarget.Drop +fails to set dwEffect, causing drag sources to never see DROPEFFECT_MOVE. +-------------------------------------------------------------------------------} + +unit FMX.SynEditDragDrop; + +{$I SynEdit.inc} + +interface + +uses + System.Types, + System.SysUtils, + System.Classes, + System.UITypes, + FMX.Controls, + SynEditTypes, + SynEditHighlighter, + SynEditDragDropShared; + +type + TSynDragData = record + Text: string; + Highlighter: TSynCustomHighlighter; + FontFamily: string; + FontSize: Integer; + BackgroundColor: TAlphaColor; + UseBackground: Boolean; + end; + + TSynDragResult = record + Effect: TSynDropAction; + end; + + ISynDragDropPlatform = interface + ['{A1B2C3D4-E5F6-4789-ABCD-EF0123456789}'] + function StartDrag(AControl: TControl; + const AData: TSynDragData): TSynDragResult; + end; + +function CreateSynDragDropPlatform: ISynDragDropPlatform; + +/// Register a fixed OLE drop target on the control's form HWND. +/// Works around an FMX framework bug where TWinDropTarget.Drop does not +/// set dwEffect, so external drag sources (VCL, Notepad) never see +/// DROPEFFECT_MOVE. The replacement delegates to the same Form.DragOver / +/// Form.DragDrop calls FMX uses, but correctly reports dwEffect. +/// Returns an opaque token; release it to unregister. +function RegisterOleDropTarget(AControl: TControl): IInterface; +procedure UnregisterOleDropTarget(var AToken: IInterface); + +implementation + +{$IFDEF MSWINDOWS} +uses + Winapi.Windows, + Winapi.ActiveX, + System.Generics.Collections, + FMX.Types, + FMX.Forms, + FMX.Platform.Win, + SynEditDragDropWin; + +type + /// Fixed OLE IDropTarget that replaces FMX's built-in TWinDropTarget. + /// Delegates to Form.DragOver / Form.DragDrop (same as FMX) but correctly + /// reports dwEffect in the Drop method. + TSynFixedDropTarget = class(TInterfacedObject, IDropTarget) + private + FForm: TCommonCustomForm; + FDataObj: IDataObject; + FLastEffect: Longint; + function GetDataObject: TDragObject; + // IDropTarget + function DragEnter(const DataObj: IDataObject; grfKeyState: Longint; + pt: TPoint; var dwEffect: Longint): HResult; stdcall; + function DragOver(grfKeyState: Longint; pt: TPoint; + var dwEffect: Longint): HResult; stdcall; + function DragLeave: HResult; stdcall; + function Drop(const DataObj: IDataObject; grfKeyState: Longint; + pt: TPoint; var dwEffect: Longint): HResult; stdcall; + public + constructor Create(AForm: TCommonCustomForm); + end; + + /// Token that unregisters on release. + TSynDropTargetToken = class(TInterfacedObject) + private + FHWnd: HWND; + public + constructor Create(AHWnd: HWND); + destructor Destroy; override; + end; + + /// Simple IDataObject for FMX drag: CF_UNICODETEXT + optional HTML fragment. + /// Uses building blocks from SynEditDragDropWin. + TSynFMXTextDataObject = class(TInterfacedObject, IDataObject) + private + FText: string; + FHtmlData: TBytes; + FFormats: TList; + public + constructor Create(const AData: TSynDragData); + destructor Destroy; override; + // IDataObject + function GetData(const FormatEtcIn: TFormatEtc; + out Medium: TStgMedium): HResult; stdcall; + function GetDataHere(const FormatEtc: TFormatEtc; + out Medium: TStgMedium): HResult; stdcall; + function QueryGetData(const FormatEtc: TFormatEtc): HResult; stdcall; + function GetCanonicalFormatEtc(const FormatEtc: TFormatEtc; + out FormatEtcOut: TFormatEtc): HResult; stdcall; + function SetData(const FormatEtc: TFormatEtc; var Medium: TStgMedium; + fRelease: BOOL): HResult; stdcall; + function EnumFormatEtc(dwDirection: Longint; + out Enum: IEnumFormatEtc): HResult; stdcall; + function DAdvise(const FormatEtc: TFormatEtc; advf: Longint; + const advSink: IAdviseSink; + out dwConnection: Longint): HResult; stdcall; + function DUnadvise(dwConnection: Longint): HResult; stdcall; + function EnumDAdvise( + out EnumAdvise: IEnumStatData): HResult; stdcall; + end; + + TSynWinDragDropPlatform = class(TInterfacedObject, ISynDragDropPlatform) + public + function StartDrag(AControl: TControl; + const AData: TSynDragData): TSynDragResult; + end; +{$ENDIF} + +function CreateSynDragDropPlatform: ISynDragDropPlatform; +begin + {$IFDEF MSWINDOWS} + Result := TSynWinDragDropPlatform.Create; + {$ELSE} + Result := nil; + {$ENDIF} +end; + +{$IFDEF MSWINDOWS} + +{ TSynWinDragDropPlatform } + +function TSynWinDragDropPlatform.StartDrag(AControl: TControl; + const AData: TSynDragData): TSynDragResult; +var + DataObj: IDataObject; + DragSrc: IDropSource; + dwEffect: Longint; +begin + DataObj := TSynFMXTextDataObject.Create(AData); + DragSrc := TSynDragSource.Create; + if DoDragDrop(DataObj, DragSrc, + DROPEFFECT_COPY or DROPEFFECT_MOVE, dwEffect) = DRAGDROP_S_DROP then + case dwEffect of + DROPEFFECT_MOVE: Result.Effect := sdaMove; + DROPEFFECT_COPY: Result.Effect := sdaCopy; + else + Result.Effect := sdaNone; + end + else + Result.Effect := sdaNone; +end; + +{ TSynFMXTextDataObject } + +constructor TSynFMXTextDataObject.Create(const AData: TSynDragData); +begin + inherited Create; + FFormats := TList.Create; + FText := AData.Text; + FFormats.Add(CF_UNICODETEXT); + if Assigned(AData.Highlighter) and (FText <> '') then + begin + FHtmlData := GenerateHTMLFragment(AData.Text, AData.Highlighter, + AData.FontFamily, AData.FontSize, AData.BackgroundColor, + AData.UseBackground); + if Length(FHtmlData) > 0 then + FFormats.Add(HTMLClipboardFormat); + end; +end; + +destructor TSynFMXTextDataObject.Destroy; +begin + FFormats.Free; + inherited; +end; + +function TSynFMXTextDataObject.GetData(const FormatEtcIn: TFormatEtc; + out Medium: TStgMedium): HResult; +begin + ZeroMemory(@Medium, SizeOf(TStgMedium)); + Result := QueryGetData(FormatEtcIn); + if Result = S_OK then + try + Medium.tymed := TYMED_HGLOBAL; + if FormatEtcIn.cfFormat = CF_UNICODETEXT then + Medium.hGlobal := MakeGlobal(FText) + else if (FormatEtcIn.cfFormat = HTMLClipboardFormat) + and (Length(FHtmlData) > 0) then + Medium.hGlobal := MakeGlobal(FHtmlData[0], Length(FHtmlData)); + except + Result := E_UNEXPECTED; + end; +end; + +function TSynFMXTextDataObject.GetDataHere(const FormatEtc: TFormatEtc; + out Medium: TStgMedium): HResult; +begin + Result := E_NOTIMPL; +end; + +function TSynFMXTextDataObject.QueryGetData( + const FormatEtc: TFormatEtc): HResult; +begin + if (FormatEtc.tymed and TYMED_HGLOBAL = TYMED_HGLOBAL) + and FFormats.Contains(FormatEtc.cfFormat) then + Result := S_OK + else + Result := DV_E_FORMATETC; +end; + +function TSynFMXTextDataObject.GetCanonicalFormatEtc( + const FormatEtc: TFormatEtc; out FormatEtcOut: TFormatEtc): HResult; +begin + FormatEtcOut.ptd := nil; + Result := DATA_S_SAMEFORMATETC; +end; + +function TSynFMXTextDataObject.SetData(const FormatEtc: TFormatEtc; + var Medium: TStgMedium; fRelease: BOOL): HResult; +begin + Result := E_NOTIMPL; +end; + +function TSynFMXTextDataObject.EnumFormatEtc(dwDirection: Longint; + out Enum: IEnumFormatEtc): HResult; +begin + try + if dwDirection = DATADIR_GET then + begin + Enum := TSynEnumFormatEtc.Create(FFormats.ToArray); + Result := S_OK; + end + else + Result := E_NOTIMPL; + except + Result := E_UNEXPECTED; + end; +end; + +function TSynFMXTextDataObject.DAdvise(const FormatEtc: TFormatEtc; + advf: Longint; const advSink: IAdviseSink; + out dwConnection: Longint): HResult; +begin + Result := OLE_E_ADVISENOTSUPPORTED; +end; + +function TSynFMXTextDataObject.DUnadvise(dwConnection: Longint): HResult; +begin + Result := OLE_E_ADVISENOTSUPPORTED; +end; + +function TSynFMXTextDataObject.EnumDAdvise( + out EnumAdvise: IEnumStatData): HResult; +begin + Result := OLE_E_ADVISENOTSUPPORTED; +end; + +{ TSynFixedDropTarget } + +constructor TSynFixedDropTarget.Create(AForm: TCommonCustomForm); +begin + inherited Create; + FForm := AForm; +end; + +function TSynFixedDropTarget.GetDataObject: TDragObject; +var + FormatEtc: TFormatEtc; + Medium: TStgMedium; + S: string; +begin + FillChar(Result, SizeOf(Result), 0); + if FDataObj = nil then Exit; + + // Extract CF_UNICODETEXT (same priority as FMX's TWinDropTarget) + FormatEtc.cfFormat := CF_UNICODETEXT; + FormatEtc.ptd := nil; + FormatEtc.dwAspect := DVASPECT_CONTENT; + FormatEtc.lindex := -1; + FormatEtc.tymed := TYMED_HGLOBAL; + + if FDataObj.GetData(FormatEtc, Medium) = S_OK then + begin + try + S := PChar(GlobalLock(Medium.hGlobal)); + Result.Data := S; + finally + GlobalUnlock(Medium.hGlobal); + ReleaseStgMedium(Medium); + end; + Exit; + end; +end; + +function TSynFixedDropTarget.DragEnter(const DataObj: IDataObject; + grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HResult; +begin + // Match FMX's TWinDropTarget.DragEnter: just store data, set NONE + FDataObj := DataObj; + dwEffect := DROPEFFECT_NONE; + Result := S_OK; +end; + +function TSynFixedDropTarget.DragOver(grfKeyState: Longint; pt: TPoint; + var dwEffect: Longint): HResult; +var + Operation: TDragOperation; + P: TPointF; +begin + Result := E_UNEXPECTED; + try + dwEffect := DROPEFFECT_NONE; + // Use PxToDp for coordinate conversion — same as FMX's TWinDropTarget + P := PxToDp(pt); + Operation := TDragOperation.None; + FForm.DragOver(GetDataObject, P, Operation); + case Operation of + TDragOperation.None: dwEffect := DROPEFFECT_NONE; + TDragOperation.Move: dwEffect := DROPEFFECT_MOVE; + TDragOperation.Copy: dwEffect := DROPEFFECT_COPY; + TDragOperation.Link: dwEffect := DROPEFFECT_LINK; + end; + FLastEffect := dwEffect; + Result := S_OK; + except + dwEffect := DROPEFFECT_NONE; + end; +end; + +function TSynFixedDropTarget.DragLeave: HResult; +begin + FForm.DragLeave; + FDataObj := nil; + FLastEffect := DROPEFFECT_NONE; + Result := S_OK; +end; + +function TSynFixedDropTarget.Drop(const DataObj: IDataObject; + grfKeyState: Longint; pt: TPoint; var dwEffect: Longint): HResult; +var + P: TPointF; +begin + Result := S_OK; + try + if DataObj = nil then Exit; + FDataObj := DataObj; + P := PxToDp(pt); + FForm.DragDrop(GetDataObject, P); + // FMX's TWinDropTarget.Drop forgets to set dwEffect — that's the bug. + // We report the last agreed-upon effect from DragOver. + dwEffect := FLastEffect; + finally + FDataObj := nil; + end; +end; + +{ TSynDropTargetToken } + +constructor TSynDropTargetToken.Create(AHWnd: HWND); +begin + inherited Create; + FHWnd := AHWnd; +end; + +destructor TSynDropTargetToken.Destroy; +begin + Winapi.ActiveX.RevokeDragDrop(FHWnd); + inherited; +end; + +{ Registration } + +function RegisterOleDropTarget(AControl: TControl): IInterface; +var + Form: TCommonCustomForm; + Wnd: HWND; + OurTarget: IDropTarget; +begin + Result := nil; + if AControl.Root = nil then Exit; + if not (AControl.Root.GetObject is TCommonCustomForm) then Exit; + Form := TCommonCustomForm(AControl.Root.GetObject); + if Form.Handle = nil then Exit; + + Wnd := WindowHandleToPlatform(Form.Handle).Wnd; + if Wnd = 0 then Exit; + + // Revoke FMX's built-in drop target (registered in CreateHandle) + Winapi.ActiveX.RevokeDragDrop(Wnd); + + // Register our fixed drop target that delegates to the same + // Form.DragOver / Form.DragDrop as FMX but correctly sets dwEffect + OurTarget := TSynFixedDropTarget.Create(Form); + if Winapi.ActiveX.RegisterDragDrop(Wnd, OurTarget) = S_OK then + Result := TSynDropTargetToken.Create(Wnd) as IInterface; +end; + +procedure UnregisterOleDropTarget(var AToken: IInterface); +begin + AToken := nil; // Release triggers TSynDropTargetToken.Destroy +end; + +{$ENDIF} + +{$IFNDEF MSWINDOWS} + +function RegisterOleDropTarget(AControl: TControl): IInterface; +begin + Result := nil; +end; + +procedure UnregisterOleDropTarget(var AToken: IInterface); +begin + AToken := nil; +end; + +{$ENDIF} + +end. diff --git a/Source/FMX/FMX.SynEditKbdHandler.pas b/Source/FMX/FMX.SynEditKbdHandler.pas new file mode 100644 index 00000000..411bd474 --- /dev/null +++ b/Source/FMX/FMX.SynEditKbdHandler.pas @@ -0,0 +1,266 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition +-------------------------------------------------------------------------------} + +unit FMX.SynEditKbdHandler; + +{$I SynEdit.inc} + +interface + +uses + System.Types, + System.UITypes, + System.SysUtils, + System.Classes, + FMX.Types, + SynEditTypes; + +type + { FMX equivalent of VCL TKeyPressEvent } + TKeyPressEvent = procedure(Sender: TObject; var Key: Char) of object; + + TMouseCursorEvent = procedure(Sender: TObject; + const aLineCharPos: TBufferCoord; var aCursor: TCursor) of object; + + TMethodList = class + private + fData: TList; + function GetItem(Index: Integer): TMethod; + function GetCount: Integer; + public + constructor Create; + destructor Destroy; override; + procedure Add(aHandler: TMethod); + procedure Remove(aHandler: TMethod); + property Items[Index: Integer]: TMethod read GetItem; default; + property Count: Integer read GetCount; + end; + + TSynEditKbdHandler = class(TObject) + private + fKeyPressChain: TMethodList; + fKeyDownChain: TMethodList; + fKeyUpChain: TMethodList; + fMouseDownChain: TMethodList; + fMouseUpChain: TMethodList; + fMouseCursorChain: TMethodList; + fInKeyDown: Boolean; + fInKeyUp: Boolean; + fInKeyPress: Boolean; + public + constructor Create; + destructor Destroy; override; + procedure ExecuteKeyDown(Sender: TObject; var Key: Word; + var KeyChar: WideChar; Shift: TShiftState); + procedure ExecuteKeyUp(Sender: TObject; var Key: Word; + var KeyChar: WideChar; Shift: TShiftState); + procedure ExecuteKeyPress(Sender: TObject; var Key: Char); + procedure AddKeyDownHandler(aHandler: TKeyEvent); + procedure RemoveKeyDownHandler(aHandler: TKeyEvent); + procedure AddKeyUpHandler(aHandler: TKeyEvent); + procedure RemoveKeyUpHandler(aHandler: TKeyEvent); + procedure AddKeyPressHandler(aHandler: TKeyPressEvent); + procedure RemoveKeyPressHandler(aHandler: TKeyPressEvent); + procedure AddMouseDownHandler(aHandler: TMouseEvent); + procedure RemoveMouseDownHandler(aHandler: TMouseEvent); + procedure AddMouseUpHandler(aHandler: TMouseEvent); + procedure RemoveMouseUpHandler(aHandler: TMouseEvent); + procedure AddMouseCursorHandler(aHandler: TMouseCursorEvent); + procedure RemoveMouseCursorHandler(aHandler: TMouseCursorEvent); + end; + +implementation + +{ TMethodList } + +constructor TMethodList.Create; +begin + fData := TList.Create; +end; + +destructor TMethodList.Destroy; +begin + fData.Free; + inherited; +end; + +procedure TMethodList.Add(aHandler: TMethod); +begin + fData.Add(aHandler.Code); + fData.Add(aHandler.Data); +end; + +procedure TMethodList.Remove(aHandler: TMethod); +var + I: Integer; +begin + I := 0; + while I < fData.Count - 1 do + begin + if (fData[I] = aHandler.Code) and (fData[I + 1] = aHandler.Data) then + begin + fData.Delete(I); + fData.Delete(I); + Exit; + end; + Inc(I, 2); + end; +end; + +function TMethodList.GetCount: Integer; +begin + Result := fData.Count div 2; +end; + +function TMethodList.GetItem(Index: Integer): TMethod; +begin + Index := Index * 2; + Result.Code := fData[Index]; + Result.Data := fData[Index + 1]; +end; + +{ TSynEditKbdHandler } + +constructor TSynEditKbdHandler.Create; +begin + inherited; + fKeyPressChain := TMethodList.Create; + fKeyDownChain := TMethodList.Create; + fKeyUpChain := TMethodList.Create; + fMouseDownChain := TMethodList.Create; + fMouseUpChain := TMethodList.Create; + fMouseCursorChain := TMethodList.Create; +end; + +destructor TSynEditKbdHandler.Destroy; +begin + fKeyPressChain.Free; + fKeyDownChain.Free; + fKeyUpChain.Free; + fMouseDownChain.Free; + fMouseUpChain.Free; + fMouseCursorChain.Free; + inherited; +end; + +procedure TSynEditKbdHandler.ExecuteKeyDown(Sender: TObject; var Key: Word; + var KeyChar: WideChar; Shift: TShiftState); +var + idx: Integer; +begin + if fInKeyDown then + Exit; + fInKeyDown := True; + try + for idx := fKeyDownChain.Count - 1 downto 0 do + begin + TKeyEvent(fKeyDownChain[idx])(Sender, Key, KeyChar, Shift); + if (Key = 0) and (KeyChar = #0) then + Exit; + end; + finally + fInKeyDown := False; + end; +end; + +procedure TSynEditKbdHandler.ExecuteKeyUp(Sender: TObject; var Key: Word; + var KeyChar: WideChar; Shift: TShiftState); +var + idx: Integer; +begin + if fInKeyUp then + Exit; + fInKeyUp := True; + try + for idx := fKeyUpChain.Count - 1 downto 0 do + begin + TKeyEvent(fKeyUpChain[idx])(Sender, Key, KeyChar, Shift); + if (Key = 0) and (KeyChar = #0) then + Exit; + end; + finally + fInKeyUp := False; + end; +end; + +procedure TSynEditKbdHandler.ExecuteKeyPress(Sender: TObject; var Key: Char); +var + idx: Integer; +begin + if fInKeyPress then + Exit; + fInKeyPress := True; + try + for idx := fKeyPressChain.Count - 1 downto 0 do + begin + TKeyPressEvent(fKeyPressChain[idx])(Sender, Key); + if Key = #0 then + Exit; + end; + finally + fInKeyPress := False; + end; +end; + +procedure TSynEditKbdHandler.AddKeyDownHandler(aHandler: TKeyEvent); +begin + fKeyDownChain.Add(TMethod(aHandler)); +end; + +procedure TSynEditKbdHandler.RemoveKeyDownHandler(aHandler: TKeyEvent); +begin + fKeyDownChain.Remove(TMethod(aHandler)); +end; + +procedure TSynEditKbdHandler.AddKeyUpHandler(aHandler: TKeyEvent); +begin + fKeyUpChain.Add(TMethod(aHandler)); +end; + +procedure TSynEditKbdHandler.RemoveKeyUpHandler(aHandler: TKeyEvent); +begin + fKeyUpChain.Remove(TMethod(aHandler)); +end; + +procedure TSynEditKbdHandler.AddKeyPressHandler(aHandler: TKeyPressEvent); +begin + fKeyPressChain.Add(TMethod(aHandler)); +end; + +procedure TSynEditKbdHandler.RemoveKeyPressHandler(aHandler: TKeyPressEvent); +begin + fKeyPressChain.Remove(TMethod(aHandler)); +end; + +procedure TSynEditKbdHandler.AddMouseDownHandler(aHandler: TMouseEvent); +begin + fMouseDownChain.Add(TMethod(aHandler)); +end; + +procedure TSynEditKbdHandler.RemoveMouseDownHandler(aHandler: TMouseEvent); +begin + fMouseDownChain.Remove(TMethod(aHandler)); +end; + +procedure TSynEditKbdHandler.AddMouseUpHandler(aHandler: TMouseEvent); +begin + fMouseUpChain.Add(TMethod(aHandler)); +end; + +procedure TSynEditKbdHandler.RemoveMouseUpHandler(aHandler: TMouseEvent); +begin + fMouseUpChain.Remove(TMethod(aHandler)); +end; + +procedure TSynEditKbdHandler.AddMouseCursorHandler(aHandler: TMouseCursorEvent); +begin + fMouseCursorChain.Add(TMethod(aHandler)); +end; + +procedure TSynEditKbdHandler.RemoveMouseCursorHandler(aHandler: TMouseCursorEvent); +begin + fMouseCursorChain.Remove(TMethod(aHandler)); +end; + +end. diff --git a/Source/FMX/FMX.SynEditKeyConst.pas b/Source/FMX/FMX.SynEditKeyConst.pas new file mode 100644 index 00000000..36ec3423 --- /dev/null +++ b/Source/FMX/FMX.SynEditKeyConst.pas @@ -0,0 +1,65 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition + +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/ +-------------------------------------------------------------------------------} + +unit FMX.SynEditKeyConst; + +{ FMX key-constant facade. Re-exports constants from + SynEditKeyConstShared so that FMX code using 'FMX.SynEditKeyConst' + continues to compile unchanged. The actual definitions live in the + shared unit; this wrapper exists only to keep the FMX.* namespace + populated for discoverability and IDE code-completion. } + +{$I SynEdit.inc} + +interface + +uses + SynEditKeyConstShared; + +const + SYNEDIT_RETURN = SynEditKeyConstShared.SYNEDIT_RETURN; + SYNEDIT_ESCAPE = SynEditKeyConstShared.SYNEDIT_ESCAPE; + SYNEDIT_SPACE = SynEditKeyConstShared.SYNEDIT_SPACE; + SYNEDIT_PRIOR = SynEditKeyConstShared.SYNEDIT_PRIOR; + SYNEDIT_NEXT = SynEditKeyConstShared.SYNEDIT_NEXT; + SYNEDIT_END = SynEditKeyConstShared.SYNEDIT_END; + SYNEDIT_HOME = SynEditKeyConstShared.SYNEDIT_HOME; + SYNEDIT_UP = SynEditKeyConstShared.SYNEDIT_UP; + SYNEDIT_DOWN = SynEditKeyConstShared.SYNEDIT_DOWN; + SYNEDIT_BACK = SynEditKeyConstShared.SYNEDIT_BACK; + SYNEDIT_LEFT = SynEditKeyConstShared.SYNEDIT_LEFT; + SYNEDIT_RIGHT = SynEditKeyConstShared.SYNEDIT_RIGHT; + SYNEDIT_MENU = SynEditKeyConstShared.SYNEDIT_MENU; + SYNEDIT_CONTROL = SynEditKeyConstShared.SYNEDIT_CONTROL; + SYNEDIT_SHIFT = SynEditKeyConstShared.SYNEDIT_SHIFT; + SYNEDIT_F1 = SynEditKeyConstShared.SYNEDIT_F1; + SYNEDIT_F2 = SynEditKeyConstShared.SYNEDIT_F2; + SYNEDIT_F3 = SynEditKeyConstShared.SYNEDIT_F3; + SYNEDIT_F4 = SynEditKeyConstShared.SYNEDIT_F4; + SYNEDIT_F5 = SynEditKeyConstShared.SYNEDIT_F5; + SYNEDIT_F6 = SynEditKeyConstShared.SYNEDIT_F6; + SYNEDIT_F7 = SynEditKeyConstShared.SYNEDIT_F7; + SYNEDIT_F8 = SynEditKeyConstShared.SYNEDIT_F8; + SYNEDIT_F9 = SynEditKeyConstShared.SYNEDIT_F9; + SYNEDIT_F10 = SynEditKeyConstShared.SYNEDIT_F10; + SYNEDIT_F11 = SynEditKeyConstShared.SYNEDIT_F11; + SYNEDIT_F12 = SynEditKeyConstShared.SYNEDIT_F12; + SYNEDIT_INSERT = SynEditKeyConstShared.SYNEDIT_INSERT; + SYNEDIT_DELETE = SynEditKeyConstShared.SYNEDIT_DELETE; + SYNEDIT_NUMPAD0 = SynEditKeyConstShared.SYNEDIT_NUMPAD0; + SYNEDIT_ADD = SynEditKeyConstShared.SYNEDIT_ADD; + SYNEDIT_SUBTRACT = SynEditKeyConstShared.SYNEDIT_SUBTRACT; + SYNEDIT_TAB = SynEditKeyConstShared.SYNEDIT_TAB; + SYNEDIT_CLEAR = SynEditKeyConstShared.SYNEDIT_CLEAR; + SYNEDIT_PAUSE = SynEditKeyConstShared.SYNEDIT_PAUSE; + SYNEDIT_CAPITAL = SynEditKeyConstShared.SYNEDIT_CAPITAL; + +implementation + +end. diff --git a/Source/FMX/FMX.SynEditMiscClasses.pas b/Source/FMX/FMX.SynEditMiscClasses.pas new file mode 100644 index 00000000..f8debe5e --- /dev/null +++ b/Source/FMX/FMX.SynEditMiscClasses.pas @@ -0,0 +1,697 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition + +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/ +-------------------------------------------------------------------------------} + +unit FMX.SynEditMiscClasses; + +{$I SynEdit.inc} + +interface + +uses + System.Types, + System.UITypes, + System.SysUtils, + System.Classes, + System.Math, + System.Generics.Collections, + FMX.Types, + FMX.Graphics, + FMX.Controls, + SynEditTypes, + SynEditSelections, + SynEditKeyCmds, + SynEditKeyConstShared; + +const + { Cross-platform selection color defaults. + TColors.SysHighlight/SysHighlightText are system colors (negative TColor + values) that resolve via GetSysColor on Windows. On non-Windows FMX + targets TColorToAlphaColor returns TAlphaColors.Null for system colors. + Use explicit TColor values (BGR format) that work on all platforms. } + clDefaultSelectionBG = TColors.Dodgerblue; // $FF901E in BGR + clDefaultSelectionFG = TColors.White; // $FFFFFF in BGR + +type + { Bookmark/mark for FMX SynEdit } + TSynFMXEditMark = class + private + FLine: Integer; + FChar: Integer; + FBookmarkNum: Integer; + FVisible: Boolean; + function GetIsBookmark: Boolean; + public + constructor Create; + property Line: Integer read FLine write FLine; + property Char: Integer read FChar write FChar; + property BookmarkNumber: Integer read FBookmarkNum write FBookmarkNum; + property IsBookmark: Boolean read GetIsBookmark; + property Visible: Boolean read FVisible write FVisible; + end; + + { List of marks/bookmarks } + TSynFMXEditMarkList = class(TObjectList) + public + function GetMarksForLine(ALine: Integer): TArray; + procedure ClearLine(ALine: Integer); + end; + + { Forward declarations } + TSynFMXGutter = class; + TSynFMXGutterBands = class; + + { Gutter band kind } + TSynFMXGutterBandKind = (gbkCustom, gbkMarks, gbkLineNumbers, gbkFold, gbkMargin); + + { Gutter band background } + TSynFMXGutterBandBackground = (gbbNone, gbbGutter, gbbEditor); + + { Gutter band paint event } + TFMXGutterBandPaintEvent = procedure(Canvas: TCanvas; ClipR: TRectF; + const FirstRow, LastRow: Integer; var DoDefaultPaint: Boolean) of object; + + { Gutter band click event } + TFMXGutterBandClickEvent = procedure(Sender: TObject; Button: TMouseButton; + X, Y: Single; Row, Line: Integer) of object; + + { Individual gutter band } + TSynFMXGutterBand = class + private + FKind: TSynFMXGutterBandKind; + FWidth: Single; + FVisible: Boolean; + FBackground: TSynFMXGutterBandBackground; + FOnPaintLines: TFMXGutterBandPaintEvent; + FOnClick: TFMXGutterBandClickEvent; + FGutter: TSynFMXGutter; + procedure SetVisible(Value: Boolean); + procedure SetWidth(Value: Single); + // Built-in paint methods (implementation uses FMX.SynEdit) + procedure PaintLineNumbers(Canvas: TCanvas; const ClipR: TRectF; + FirstRow, LastRow: Integer); + procedure PaintMarks(Canvas: TCanvas; const ClipR: TRectF; + FirstRow, LastRow: Integer); + procedure PaintFoldShapes(Canvas: TCanvas; const ClipR: TRectF; + FirstRow, LastRow: Integer); + procedure PaintMarginLine(Canvas: TCanvas; const ClipR: TRectF; + FirstRow, LastRow: Integer); + public + constructor Create(AGutter: TSynFMXGutter; AKind: TSynFMXGutterBandKind; + AWidth: Single; AVisible: Boolean); + function RealWidth: Single; + function LeftX: Single; + procedure PaintLines(Canvas: TCanvas; const ClipR: TRectF; + FirstRow, LastRow: Integer); + procedure DoClick(Button: TMouseButton; X, Y: Single; Row, Line: Integer); + property Kind: TSynFMXGutterBandKind read FKind; + property Width: Single read FWidth write SetWidth; + property Visible: Boolean read FVisible write SetVisible; + property Background: TSynFMXGutterBandBackground read FBackground + write FBackground; + property Gutter: TSynFMXGutter read FGutter; + property OnPaintLines: TFMXGutterBandPaintEvent read FOnPaintLines + write FOnPaintLines; + property OnClick: TFMXGutterBandClickEvent read FOnClick write FOnClick; + end; + + { Collection of gutter bands } + TSynFMXGutterBands = class(TObjectList) + private + FGutter: TSynFMXGutter; + public + constructor Create(AGutter: TSynFMXGutter); + function Add(AKind: TSynFMXGutterBandKind; AWidth: Single; + AVisible: Boolean): TSynFMXGutterBand; + function BandByKind(AKind: TSynFMXGutterBandKind): TSynFMXGutterBand; + end; + + { Top-level gutter } + TSynFMXGutter = class(TPersistent) + private + FBands: TSynFMXGutterBands; + FColor: TColor; + FVisible: Boolean; + FOnChange: TNotifyEvent; + FOwner: TObject; // TCustomFMXSynEdit (avoids circular ref in interface) + procedure SetColor(Value: TColor); + procedure SetVisible(Value: Boolean); + public + constructor Create(AOwner: TObject); + destructor Destroy; override; + function RealGutterWidth: Single; + function BandAtX(X: Single): TSynFMXGutterBand; + procedure Changed; + property Bands: TSynFMXGutterBands read FBands; + property Owner: TObject read FOwner; + property OnChange: TNotifyEvent read FOnChange write FOnChange; + published + property Color: TColor read FColor write SetColor default TColors.Whitesmoke; + property Visible: Boolean read FVisible write SetVisible default True; + end; + + { Selected text color — shared class from SynEditTypes.pas } + TSynSelectedColor = SynEditTypes.TSynSelectedColor; + + { TSynEditSearchCustom is now in the shared SynEditTypes.pas unit } + + { FMX multi-selection support — thin subclass of shared TSynSelectionsBase } + TSynFMXSelections = class(TSynSelectionsBase) + protected + procedure CaretsChanged; override; + procedure DoInvalidateSelection(const Sel: TSynSelection); override; + procedure DoRestoreSelection(const Sel: TSynSelection; + EnsureVisible: Boolean); override; + function GetLineText(ALine: Integer): string; override; + function GetWordWrap: Boolean; override; + function GetScrollPastEOL: Boolean; override; + function GetRowLength(ARow: Integer): Integer; override; + function BufferToDisplayPos(const P: TBufferCoord): TDisplayCoord; override; + function DisplayToBufferPos(const P: TDisplayCoord): TBufferCoord; override; + function SelectionToDisplayRow(var Sel: TSynSelection): Integer; override; + public + constructor Create(Owner: TObject); + end; + +implementation + +uses + System.UIConsts, + FMX.SynEdit, + FMX.SynEditRenderer, + SynEditCodeFolding; + +{ TSynFMXEditMark } + +constructor TSynFMXEditMark.Create; +begin + inherited; + FBookmarkNum := -1; + FVisible := True; +end; + +function TSynFMXEditMark.GetIsBookmark: Boolean; +begin + Result := FBookmarkNum >= 0; +end; + +{ TSynFMXEditMarkList } + +function TSynFMXEditMarkList.GetMarksForLine(ALine: Integer): TArray; +var + I, Count: Integer; +begin + Count := 0; + SetLength(Result, Self.Count); + for I := 0 to Self.Count - 1 do + if Items[I].Line = ALine then + begin + Result[Count] := Items[I]; + Inc(Count); + end; + SetLength(Result, Count); +end; + +procedure TSynFMXEditMarkList.ClearLine(ALine: Integer); +var + I: Integer; +begin + for I := Count - 1 downto 0 do + if (Items[I].Line = ALine) and not Items[I].IsBookmark then + Delete(I); +end; + +{ TSynFMXGutterBand } + +constructor TSynFMXGutterBand.Create(AGutter: TSynFMXGutter; + AKind: TSynFMXGutterBandKind; AWidth: Single; AVisible: Boolean); +begin + inherited Create; + FGutter := AGutter; + FKind := AKind; + FWidth := AWidth; + FVisible := AVisible; + FBackground := gbbGutter; +end; + +procedure TSynFMXGutterBand.SetVisible(Value: Boolean); +begin + if FVisible <> Value then + begin + FVisible := Value; + FGutter.Changed; + end; +end; + +procedure TSynFMXGutterBand.SetWidth(Value: Single); +begin + if FWidth <> Value then + begin + FWidth := Value; + FGutter.Changed; + end; +end; + +function TSynFMXGutterBand.RealWidth: Single; +var + Editor: TCustomFMXSynEdit; + DigitCount, LC: Integer; +begin + if not FVisible then + Exit(0); + + Editor := TCustomFMXSynEdit(FGutter.Owner); + + case FKind of + gbkLineNumbers: + begin + LC := Max(Editor.Lines.Count, 1); + DigitCount := Max(2, Length(IntToStr(LC))); + Result := Round((DigitCount + 1) * Editor.CharWidth) + 4; + end; + gbkMarks: + Result := Round(Editor.LineHeight); + gbkFold: + begin + if Editor.UseCodeFolding then + Result := Editor.CodeFolding.GutterShapeSize + 8 + else + Result := 0; + end; + else + Result := FWidth; + end; +end; + +function TSynFMXGutterBand.LeftX: Single; +var + I: Integer; + Band: TSynFMXGutterBand; +begin + Result := 0; + for I := 0 to FGutter.Bands.Count - 1 do + begin + Band := FGutter.Bands[I]; + if Band = Self then + Break; + Result := Result + Band.RealWidth; + end; +end; + +procedure TSynFMXGutterBand.PaintLines(Canvas: TCanvas; const ClipR: TRectF; + FirstRow, LastRow: Integer); +var + DoDefault: Boolean; +begin + DoDefault := True; + if Assigned(FOnPaintLines) then + FOnPaintLines(Canvas, ClipR, FirstRow, LastRow, DoDefault); + + if DoDefault then + case FKind of + gbkLineNumbers: PaintLineNumbers(Canvas, ClipR, FirstRow, LastRow); + gbkMarks: PaintMarks(Canvas, ClipR, FirstRow, LastRow); + gbkFold: PaintFoldShapes(Canvas, ClipR, FirstRow, LastRow); + gbkMargin: PaintMarginLine(Canvas, ClipR, FirstRow, LastRow); + end; +end; + +procedure TSynFMXGutterBand.DoClick(Button: TMouseButton; X, Y: Single; + Row, Line: Integer); +var + Editor: TCustomFMXSynEdit; + Index, I, BmkX, BmkY: Integer; +begin + if Assigned(FOnClick) then + FOnClick(Self, Button, X, Y, Row, Line); + + Editor := TCustomFMXSynEdit(FGutter.Owner); + + if FKind = gbkMarks then + begin + // Click on marks band clears bookmark on that line + for I := 0 to 9 do + if Editor.IsBookmarkSet(I) then + begin + Editor.GetBookmark(I, BmkX, BmkY); + if BmkY = Line then + begin + Editor.ClearBookmark(I); + Break; + end; + end; + end + else if FKind = gbkFold then + begin + if Editor.UseCodeFolding and + Editor.AllFoldRanges.FoldStartAtLine(Line, Index) then + begin + if Editor.AllFoldRanges.Ranges[Index].Collapsed then + Editor.Uncollapse(Index) + else + Editor.Collapse(Index); + end; + end; +end; + +procedure TSynFMXGutterBand.PaintLineNumbers(Canvas: TCanvas; + const ClipR: TRectF; FirstRow, LastRow: Integer); +var + Editor: TCustomFMXSynEdit; + Renderer: TSynFMXRenderer; + Row, Line: Integer; + Y: Single; + R: TRectF; + NumStr: string; +begin + Editor := TCustomFMXSynEdit(FGutter.Owner); + Renderer := TSynFMXRenderer(Editor.Renderer); + + for Row := FirstRow to LastRow do + begin + Line := Editor.RowToLine(Row); + if Line > Editor.Lines.Count then Break; + Y := (Row - Editor.TopLine) * Editor.LineHeight; + // In word wrap mode, only show number on first display row of each line + if Editor.WordWrap then + begin + if Editor.LineToRow(Line) <> Row then + Continue; + end; + NumStr := IntToStr(Line); + R := RectF(ClipR.Left + 2, Y, ClipR.Right - 4, Y + Editor.LineHeight); + Renderer.PaintLineNumber(Canvas, R, NumStr, TAlphaColors.Gray); + end; +end; + +procedure TSynFMXGutterBand.PaintMarks(Canvas: TCanvas; + const ClipR: TRectF; FirstRow, LastRow: Integer); +var + Editor: TCustomFMXSynEdit; + Renderer: TSynFMXRenderer; + Row, Line, I: Integer; + Y, CX, CY, Radius: Single; + Mark: TSynFMXEditMark; +begin + Editor := TCustomFMXSynEdit(FGutter.Owner); + Renderer := TSynFMXRenderer(Editor.Renderer); + + if (Editor.Marks = nil) or (Editor.Marks.Count = 0) then + Exit; + + for Row := FirstRow to LastRow do + begin + Line := Editor.RowToLine(Row); + if Line > Editor.Lines.Count then Break; + Y := (Row - Editor.TopLine) * Editor.LineHeight; + + for I := 0 to Editor.Marks.Count - 1 do + begin + Mark := Editor.Marks[I]; + if Mark.Visible and Mark.IsBookmark and (Mark.Line = Line) then + begin + CX := ClipR.Left + Editor.CharWidth; + CY := Y + Editor.LineHeight / 2; + Radius := Editor.LineHeight / 2 - 1; + Canvas.Fill.Color := TAlphaColors.Dodgerblue; + Canvas.FillEllipse( + RectF(CX - Radius, CY - Radius, CX + Radius, CY + Radius), 1.0); + Renderer.PaintToken(Canvas, + CX - Editor.CharWidth / 2, Y, + IntToStr(Mark.BookmarkNumber), + TAlphaColors.White, TAlphaColors.Null, [fsBold]); + Break; // one indicator per line + end; + end; + end; +end; + +procedure TSynFMXGutterBand.PaintFoldShapes(Canvas: TCanvas; + const ClipR: TRectF; FirstRow, LastRow: Integer); +var + Editor: TCustomFMXSynEdit; + Renderer: TSynFMXRenderer; + Row, Line, Index: Integer; + Y, X, ShapeSize, Margin: Single; + rcFold: TRectF; + FoldRange: TSynFoldRange; + LinesColor: TAlphaColor; +begin + Editor := TCustomFMXSynEdit(FGutter.Owner); + if not Editor.UseCodeFolding then Exit; + Renderer := TSynFMXRenderer(Editor.Renderer); + ShapeSize := Editor.CodeFolding.GutterShapeSize; + Margin := 2; + LinesColor := TColorToAlphaColor(Editor.CodeFolding.FolderBarLinesColor); + + for Row := FirstRow to LastRow do + begin + Line := Editor.RowToLine(Row); + if Line > Editor.Lines.Count then Break; + + Y := (Row - Editor.TopLine) * Editor.LineHeight; + rcFold := RectF( + ClipR.Left + (ClipR.Width - ShapeSize) / 2, + Y + (Editor.LineHeight - ShapeSize) / 2, + ClipR.Left + (ClipR.Width - ShapeSize) / 2 + ShapeSize, + Y + (Editor.LineHeight + ShapeSize) / 2); + + if Editor.AllFoldRanges.FoldStartAtLine(Line, Index) then + begin + FoldRange := Editor.AllFoldRanges.Ranges[Index]; + + Canvas.Stroke.Color := LinesColor; + Canvas.Stroke.Thickness := 1; + Canvas.DrawRect(rcFold, 0, 0, AllCorners, 1.0); + + X := rcFold.Left + ShapeSize / 2; + Renderer.DrawLine(Canvas, + rcFold.Left + Margin, rcFold.Top + ShapeSize / 2, + rcFold.Right - Margin, rcFold.Top + ShapeSize / 2, + LinesColor); + + if FoldRange.Collapsed then + begin + Renderer.DrawLine(Canvas, + X, rcFold.Top + Margin, + X, rcFold.Bottom - Margin, + LinesColor); + end + else + begin + Renderer.DrawLine(Canvas, + X, rcFold.Bottom, + X, Y + Editor.LineHeight, + LinesColor); + end; + end + else + begin + X := rcFold.Left + ShapeSize / 2; + + if Editor.AllFoldRanges.FoldEndAtLine(Line, Index) then + begin + Renderer.DrawLine(Canvas, + X, Y, + X, Y + Editor.LineHeight / 2, + LinesColor); + Renderer.DrawLine(Canvas, + X, Y + Editor.LineHeight / 2, + rcFold.Right, Y + Editor.LineHeight / 2, + LinesColor); + end; + + if Editor.AllFoldRanges.FoldAroundLine(Line, Index) then + begin + Renderer.DrawLine(Canvas, + X, Y, + X, Y + Editor.LineHeight, + LinesColor); + end; + end; + end; +end; + +procedure TSynFMXGutterBand.PaintMarginLine(Canvas: TCanvas; + const ClipR: TRectF; FirstRow, LastRow: Integer); +var + Renderer: TSynFMXRenderer; +begin + Renderer := TSynFMXRenderer( + TCustomFMXSynEdit(FGutter.Owner).Renderer); + Renderer.DrawLine(Canvas, + ClipR.Right - 1, ClipR.Top, + ClipR.Right - 1, ClipR.Bottom, + TAlphaColors.Lightgray); +end; + +{ TSynFMXGutterBands } + +constructor TSynFMXGutterBands.Create(AGutter: TSynFMXGutter); +begin + inherited Create(True); // owns objects + FGutter := AGutter; +end; + +function TSynFMXGutterBands.Add(AKind: TSynFMXGutterBandKind; AWidth: Single; + AVisible: Boolean): TSynFMXGutterBand; +begin + Result := TSynFMXGutterBand.Create(FGutter, AKind, AWidth, AVisible); + inherited Add(Result); +end; + +function TSynFMXGutterBands.BandByKind( + AKind: TSynFMXGutterBandKind): TSynFMXGutterBand; +var + I: Integer; +begin + for I := 0 to Count - 1 do + if Items[I].Kind = AKind then + Exit(Items[I]); + Result := nil; +end; + +{ TSynFMXGutter } + +constructor TSynFMXGutter.Create(AOwner: TObject); +begin + inherited Create; + FOwner := AOwner; + FColor := TColors.Whitesmoke; + FVisible := True; + FBands := TSynFMXGutterBands.Create(Self); + // Default bands matching original hardcoded layout + FBands.Add(gbkLineNumbers, 0, True); + FBands.Add(gbkMarks, 0, True); + FBands.Add(gbkFold, 0, False); // hidden until UseCodeFolding enabled + FBands.Add(gbkMargin, 3, True).Background := gbbNone; +end; + +destructor TSynFMXGutter.Destroy; +begin + FBands.Free; + inherited; +end; + +function TSynFMXGutter.RealGutterWidth: Single; +var + I: Integer; +begin + if not FVisible then + Exit(0); + Result := 0; + for I := 0 to FBands.Count - 1 do + Result := Result + FBands[I].RealWidth; +end; + +function TSynFMXGutter.BandAtX(X: Single): TSynFMXGutterBand; +var + I: Integer; + Left: Single; + W: Single; +begin + Left := 0; + for I := 0 to FBands.Count - 1 do + begin + W := FBands[I].RealWidth; + if (X >= Left) and (X < Left + W) then + Exit(FBands[I]); + Left := Left + W; + end; + Result := nil; +end; + +procedure TSynFMXGutter.Changed; +begin + if Assigned(FOnChange) then + FOnChange(Self); +end; + +procedure TSynFMXGutter.SetColor(Value: TColor); +begin + if FColor <> Value then + begin + FColor := Value; + Changed; + end; +end; + +procedure TSynFMXGutter.SetVisible(Value: Boolean); +begin + if FVisible <> Value then + begin + FVisible := Value; + Changed; + end; +end; + +{ TSynSelectedColor — now in SynEditTypes.pas } + +{ TSynFMXSelections } + +constructor TSynFMXSelections.Create(Owner: TObject); +begin + inherited Create(Owner); +end; + +procedure TSynFMXSelections.CaretsChanged; +begin + TCustomFMXSynEdit(FOwner).Repaint; +end; + +procedure TSynFMXSelections.DoInvalidateSelection(const Sel: TSynSelection); +begin + TCustomFMXSynEdit(FOwner).Repaint; +end; + +procedure TSynFMXSelections.DoRestoreSelection(const Sel: TSynSelection; + EnsureVisible: Boolean); +begin + TCustomFMXSynEdit(FOwner).SetCaretAndSelection( + Sel.Caret, Sel.Start, Sel.Stop); +end; + +function TSynFMXSelections.GetLineText(ALine: Integer): string; +begin + Result := TCustomFMXSynEdit(FOwner).Lines[ALine - 1]; +end; + +function TSynFMXSelections.GetWordWrap: Boolean; +begin + Result := TCustomFMXSynEdit(FOwner).WordWrap; +end; + +function TSynFMXSelections.GetScrollPastEOL: Boolean; +begin + Result := eoScrollPastEol in TCustomFMXSynEdit(FOwner).ScrollOptions; +end; + +function TSynFMXSelections.GetRowLength(ARow: Integer): Integer; +begin + Result := TCustomFMXSynEdit(FOwner).GetRowLength(ARow); +end; + +function TSynFMXSelections.BufferToDisplayPos( + const P: TBufferCoord): TDisplayCoord; +begin + Result := TCustomFMXSynEdit(FOwner).BufferToDisplayPos(P); +end; + +function TSynFMXSelections.DisplayToBufferPos( + const P: TDisplayCoord): TBufferCoord; +begin + Result := TCustomFMXSynEdit(FOwner).DisplayToBufferPos(P); +end; + +function TSynFMXSelections.SelectionToDisplayRow( + var Sel: TSynSelection): Integer; +begin + Result := BufferToDisplayPos(Sel.Caret).Row; +end; + +end. diff --git a/Source/FMX/FMX.SynEditPlugins.pas b/Source/FMX/FMX.SynEditPlugins.pas new file mode 100644 index 00000000..7ed6323b --- /dev/null +++ b/Source/FMX/FMX.SynEditPlugins.pas @@ -0,0 +1,26 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition + +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/ + +Re-exports plugin types from FMX.SynEdit for backward compatibility. +-------------------------------------------------------------------------------} + +unit FMX.SynEditPlugins; + +{$I SynEdit.inc} + +interface + +uses + FMX.SynEdit; + +type + TFMXEditPlugin = TSynFMXEditPlugin; + +implementation + +end. diff --git a/Source/FMX/FMX.SynEditPrint.pas b/Source/FMX/FMX.SynEditPrint.pas new file mode 100644 index 00000000..1d616079 --- /dev/null +++ b/Source/FMX/FMX.SynEditPrint.pas @@ -0,0 +1,998 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition + +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/ +-------------------------------------------------------------------------------} + +{------------------------------------------------------------------------------- +CONTENTS: + FMX print controller component with abstract print provider. + + ISynPrintProvider: + Abstract interface for print output. Allows plugging in custom print + backends (e.g. PDF export, bitmap rendering, platform-specific printers). + + TSynFMXPrintProvider: + Concrete implementation wrapping FMX.Printer on supported platforms. + + TSynFMXEditPrint: + Main print controller component. + Design-time properties: + Header, Footer : Header/footer configuration. + Margins : Page margin configuration. + Lines : Text lines to print. + Font : Font for printing text. + Title, DocTitle : Document titles. + Wrap : Word wrap to margins. + Highlight : Apply syntax highlighting. + Colors : Print in color. + LineNumbers : Print line numbers. + LineNumbersInMargin : Place line numbers within the margin area. + LineOffset : Value added to line numbers. + PageOffset : Value added to page numbers. + SelectedOnly : Print only selected text. + TabWidth : Tab stop width. + Color : Background color. + Run-time properties: + PrintProvider : Plug in a custom ISynPrintProvider. + PrinterInfo : Current ISynPrinterInfo. + PageCount : Total page count. + Run-time methods: + Print : Print all pages. + PrintRange : Print specified page range. + CalcPages : Calculate total page count. + PrintToCanvas : Render a page to an FMX canvas (for preview). +-------------------------------------------------------------------------------} + +unit FMX.SynEditPrint; + +{$M+} +{$I SynEdit.inc} + +interface + +uses + System.Types, + System.SysUtils, + System.Classes, + System.Math, + System.UITypes, + System.UIConsts, + System.Generics.Collections, + FMX.Types, + FMX.Graphics, + FMX.TextLayout, + SynEditTypes, + SynEditHighlighter, + SynEditMiscProcs, + FMX.SynEdit, + FMX.SynEditPrintTypes, + FMX.SynEditPrintHeaderFooter, + FMX.SynEditPrinterInfo, + FMX.SynEditPrintMargins; + +type + { Abstract print provider interface. + Implement this to send print output to any target (printer, PDF, etc.) } + ISynPrintProvider = interface + ['{B2C3D4E5-F6A7-4B8C-9D0E-1F2A3B4C5D6E}'] + procedure BeginDoc(const ATitle: string); + procedure EndDoc; + procedure NewPage; + function GetCanvas: TCanvas; + function GetPageWidth: Integer; + function GetPageHeight: Integer; + property Canvas: TCanvas read GetCanvas; + property PageWidth: Integer read GetPageWidth; + property PageHeight: Integer read GetPageHeight; + end; + +{$IFDEF MSWINDOWS} + { Concrete FMX print provider wrapping FMX.Printer } + TSynFMXPrintProvider = class(TInterfacedObject, ISynPrintProvider) + private + FPageWidth: Integer; + FPageHeight: Integer; + public + procedure BeginDoc(const ATitle: string); + procedure EndDoc; + procedure NewPage; + function GetCanvas: TCanvas; + function GetPageWidth: Integer; + function GetPageHeight: Integer; + end; +{$ENDIF} + + { Page boundary tracking } + TPageLine = class + public + FirstLine: Integer; + FirstRow: Integer; + LastLine: Integer; + LastRow: Integer; + end; + + { Main FMX print controller } + TSynFMXEditPrint = class(TComponent) + private + FCopies: Integer; + FHeader: THeader; + FFooter: TFooter; + FLines: TStrings; + FMargins: TSynEditPrintMargins; + FFont: TFont; + FTitle: string; + FDocTitle: string; + FPrinterInfo: ISynPrinterInfo; + FPrintProvider: ISynPrintProvider; + FPages: TObjectList; + FMaxLeftChar: Integer; + FWrap: Boolean; + FOnPrintLine: TSynPrintLineEvent; + FOnPrintStatus: TSynPrintStatusEvent; + FLineHeight: Integer; + FHighlight: Boolean; + FColors: Boolean; + FHighlighter: TSynCustomHighlighter; + FSynOK: Boolean; + FLineNumbers: Boolean; + FLineOffset: Integer; + FAbort: Boolean; + FPrinting: Boolean; + FDefaultBG: TColor; + FPageOffset: Integer; + FRangesOK: Boolean; + FMaxRowCount: Integer; + FMaxWidth: Integer; + FPagesCounted: Boolean; + FLineNumbersInMargin: Boolean; + FTabWidth: Integer; + FSelectedOnly: Boolean; + FSelAvail: Boolean; + FBlockBegin: TBufferCoord; + FBlockEnd: TBufferCoord; + procedure DoCalcPages; + procedure SetLines(const Value: TStrings); + procedure SetFont(const Value: TFont); + procedure SetMaxLeftChar(const Value: Integer); + procedure SetHighlighter(const Value: TSynCustomHighlighter); + procedure InitRanges; + function GetPageCount: Integer; + procedure SetFooter(const Value: TFooter); + procedure SetHeader(const Value: THeader); + procedure SetMargins(const Value: TSynEditPrintMargins); + procedure SetPrintProvider(const Value: ISynPrintProvider); + procedure SetPrinterInfo(const Value: ISynPrinterInfo); + function GetLineText(LineIndex: Integer): string; + function MeasureLineRows(const S: string): Integer; + protected + property MaxLeftChar: Integer read FMaxLeftChar write SetMaxLeftChar; + procedure DoPrintStatus(Status: TSynPrintStatus; PageNumber: Integer; + var Abort: Boolean); virtual; + procedure DoPrintLine(LineNumber, PageNumber: Integer); virtual; + public + constructor Create(AOwner: TComponent); override; + destructor Destroy; override; + + { Initialization and page calculation } + procedure InitPrint; + function CalcPages: Integer; + function GetPageCount2: Integer; + + { Printing } + procedure Print; + procedure PrintRange(StartPage, EndPage: Integer); + + { Preview rendering } + procedure PrintToCanvas(ACanvas: TCanvas; const RenderRect: TRectF; + PageNo: Integer); + + { Page rendering } + procedure PrintPage(Canvas: TCanvas; PageNumber: Integer); + + { Line number rendering } + procedure WriteLineNumber(Canvas: TCanvas; LineNumber, YPos: Integer); + + { Word wrap helper } + procedure HandleWrap(const S: string; MaxWidth: Integer; + out RowCount: Integer); + + { Set lines/font/highlighter from a SynEdit component. + Pass any TComponent that has Highlighter, Font, TabWidth, Lines, + SelAvail, BlockBegin, BlockEnd properties. } + procedure SetSynEdit(AEditor: TComponent); + + { Stream persistence } + procedure LoadFromStream(AStream: TStream); + procedure SaveToStream(AStream: TStream); + + { Runtime properties } + property PrintProvider: ISynPrintProvider read FPrintProvider + write SetPrintProvider; + property PrinterInfo: ISynPrinterInfo read FPrinterInfo + write SetPrinterInfo; + property PageCount: Integer read GetPageCount; + published + property Copies: Integer read FCopies write FCopies; + property Header: THeader read FHeader write SetHeader; + property Footer: TFooter read FFooter write SetFooter; + property Margins: TSynEditPrintMargins read FMargins write SetMargins; + property Lines: TStrings read FLines write SetLines; + property Font: TFont read FFont write SetFont; + property Title: string read FTitle write FTitle; + property DocTitle: string read FDocTitle write FDocTitle; + property Wrap: Boolean read FWrap write FWrap default True; + property Highlight: Boolean read FHighlight write FHighlight default True; + property SelectedOnly: Boolean read FSelectedOnly write FSelectedOnly + default False; + property Colors: Boolean read FColors write FColors default False; + property LineNumbers: Boolean read FLineNumbers write FLineNumbers + default False; + property LineOffset: Integer read FLineOffset write FLineOffset default 0; + property PageOffset: Integer read FPageOffset write FPageOffset default 0; + property OnPrintLine: TSynPrintLineEvent read FOnPrintLine + write FOnPrintLine; + property OnPrintStatus: TSynPrintStatusEvent read FOnPrintStatus + write FOnPrintStatus; + property Highlighter: TSynCustomHighlighter read FHighlighter + write SetHighlighter; + property LineNumbersInMargin: Boolean read FLineNumbersInMargin + write FLineNumbersInMargin default False; + property TabWidth: Integer read FTabWidth write FTabWidth; + property Color: TColor read FDefaultBG write FDefaultBG; + end; + +implementation + +uses + System.Math.Vectors, +{$IFDEF MSWINDOWS} + FMX.Printer, +{$ENDIF} + SynUnicodeShared, + FMX.SynEditRenderer; + +resourcestring + SYNS_FMXNoPrinter = 'No printer available'; + +{$IFDEF MSWINDOWS} +{ TSynFMXPrintProvider } + +procedure TSynFMXPrintProvider.BeginDoc(const ATitle: string); +begin + Printer.Title := ATitle; + Printer.BeginDoc; + FPageWidth := Round(Printer.PageWidth); + FPageHeight := Round(Printer.PageHeight); +end; + +procedure TSynFMXPrintProvider.EndDoc; +begin + Printer.EndDoc; +end; + +procedure TSynFMXPrintProvider.NewPage; +begin + Printer.NewPage; +end; + +function TSynFMXPrintProvider.GetCanvas: TCanvas; +begin + Result := Printer.Canvas; +end; + +function TSynFMXPrintProvider.GetPageWidth: Integer; +begin + Result := FPageWidth; +end; + +function TSynFMXPrintProvider.GetPageHeight: Integer; +begin + Result := FPageHeight; +end; +{$ENDIF} + +{ TSynFMXEditPrint } + +constructor TSynFMXEditPrint.Create(AOwner: TComponent); +begin + inherited; + FCopies := 1; + FFooter := TFooter.Create; + FHeader := THeader.Create; + FLines := TStringList.Create; + FMargins := TSynEditPrintMargins.Create; + FPrinterInfo := TSynFMXPrinterInfo.Create; + FFont := TFont.Create; + FFont.Family := 'Consolas'; + FFont.Size := 10; + MaxLeftChar := 1024; + FWrap := True; + FHighlight := True; + FColors := False; + FLineNumbers := False; + FLineOffset := 0; + FPageOffset := 0; + FLineNumbersInMargin := False; + FPages := TObjectList.Create; + FTabWidth := 8; + FDefaultBG := TColors.White; +end; + +destructor TSynFMXEditPrint.Destroy; +begin + FFooter.Free; + FHeader.Free; + FLines.Free; + FMargins.Free; + FFont.Free; + FPages.Free; + FPrinterInfo := nil; + FPrintProvider := nil; + inherited; +end; + +procedure TSynFMXEditPrint.SetLines(const Value: TStrings); +begin + FLines.Clear; + FLines.AddStrings(Value); + FRangesOK := False; + FPagesCounted := False; +end; + +procedure TSynFMXEditPrint.SetFont(const Value: TFont); +begin + FFont.Assign(Value); + FPagesCounted := False; +end; + +procedure TSynFMXEditPrint.SetMaxLeftChar(const Value: Integer); +begin + FMaxLeftChar := Value; +end; + +procedure TSynFMXEditPrint.SetHighlighter(const Value: TSynCustomHighlighter); +begin + FHighlighter := Value; + FRangesOK := False; + FPagesCounted := False; +end; + +procedure TSynFMXEditPrint.SetPrintProvider(const Value: ISynPrintProvider); +begin + FPrintProvider := Value; +end; + +procedure TSynFMXEditPrint.SetPrinterInfo(const Value: ISynPrinterInfo); +begin + FPrinterInfo := Value; +end; + +procedure TSynFMXEditPrint.InitRanges; +var + I: Integer; +begin + if not FRangesOK and Assigned(FHighlighter) and (Lines.Count > 0) then + begin + FHighlighter.ResetRange; + FLines.Objects[0] := FHighlighter.GetRange; + I := 1; + while I < Lines.Count do + begin + FHighlighter.SetLine(FLines[I - 1], I - 1); + FHighlighter.NextToEol; + FLines.Objects[I] := FHighlighter.GetRange; + Inc(I); + end; + FRangesOK := True; + end; +end; + +function TSynFMXEditPrint.GetLineText(LineIndex: Integer): string; +var + iSelStart, iSelLen: Integer; +begin + if not FSelectedOnly then + Result := FLines[LineIndex] + else + begin + if LineIndex = FBlockBegin.Line - 1 then + iSelStart := FBlockBegin.Char + else + iSelStart := 1; + if LineIndex = FBlockEnd.Line - 1 then + iSelLen := FBlockEnd.Char - iSelStart + else + iSelLen := MaxInt; + Result := Copy(FLines[LineIndex], iSelStart, iSelLen); + end; +end; + +function TSynFMXEditPrint.MeasureLineRows(const S: string): Integer; +{ Calculates how many rows a line occupies with word wrap. + Uses the FMX text layout engine to measure wrapped line count. } +var + Layout: TTextLayout; + TotalHeight: Single; +begin + if (S = '') or (not FWrap) then + begin + Result := 1; + Exit; + end; + + Layout := TTextLayoutManager.DefaultTextLayout.Create; + try + Layout.BeginUpdate; + try + Layout.Font.Assign(FFont); + Layout.Text := S; + Layout.MaxSize := TPointF.Create(FMaxWidth, 100000); + Layout.WordWrap := True; + finally + Layout.EndUpdate; + end; + TotalHeight := Layout.TextHeight; + if (TotalHeight <= 0) or (FLineHeight <= 0) then + Result := 1 + else + Result := Max(1, Round(TotalHeight / FLineHeight)); + finally + Layout.Free; + end; +end; + +procedure TSynFMXEditPrint.HandleWrap(const S: string; MaxWidth: Integer; + out RowCount: Integer); +begin + FMaxWidth := MaxWidth; + RowCount := MeasureLineRows(S); +end; + +procedure TSynFMXEditPrint.InitPrint; +begin + FPrinterInfo.UpdateInfo; + FLineHeight := MeasureTextHeight(FFont, 'Wg'); + FMargins.InitPage(FFont, FTabWidth, 1, FPrinterInfo, FLineNumbers, + FLineNumbersInMargin, FLines.Count - 1 + FLineOffset); + FSynOK := FHighlight and Assigned(FHighlighter) and (FLines.Count > 0); + DoCalcPages; + FHeader.InitPrint(FPages.Count, FTitle, FMargins); + FFooter.InitPrint(FPages.Count, FTitle, FMargins); +end; + +procedure TSynFMXEditPrint.DoCalcPages; +var + I: Integer; + PageLine: TPageLine; + LayoutRowCount: Integer; + RowCount: Integer; + iStartLine, iEndLine: Integer; +begin + InitRanges; + FPages.Clear; + FMaxWidth := FMargins.PRight - FMargins.PLeft; + + if FSelectedOnly then + begin + iStartLine := FBlockBegin.Line - 1; + iEndLine := FBlockEnd.Line - 1; + end + else begin + iStartLine := 0; + iEndLine := Lines.Count - 1; + end; + + PageLine := TPageLine.Create; + PageLine.FirstLine := iStartLine; + PageLine.FirstRow := 1; + PageLine.LastLine := -1; + FPages.Add(PageLine); + + FMaxRowCount := (FMargins.PBottom - FMargins.PTop) div FLineHeight; + if FMaxRowCount < 1 then + FMaxRowCount := 1; + + RowCount := 0; + for I := iStartLine to iEndLine do + begin + if FLines[I] = '' then + begin + Inc(RowCount); + LayoutRowCount := 1; + end + else + begin + LayoutRowCount := MeasureLineRows(GetLineText(I)); + Inc(RowCount, LayoutRowCount); + end; + + { Add new page(s) if needed (handles word wrap spanning pages) } + while RowCount >= FMaxRowCount do + begin + PageLine.LastLine := I; + PageLine.LastRow := LayoutRowCount - (RowCount - FMaxRowCount); + + if (RowCount = FMaxRowCount) and (I = iEndLine) then Break; + + PageLine := TPageLine.Create; + PageLine.FirstLine := IfThen(RowCount = FMaxRowCount, I + 1, I); + PageLine.FirstRow := IfThen(RowCount = FMaxRowCount, 1, + LayoutRowCount - RowCount + FMaxRowCount + 1); + FPages.Add(PageLine); + RowCount := RowCount - FMaxRowCount; + end; + + if I = iEndLine then + begin + PageLine.LastLine := I; + PageLine.LastRow := LayoutRowCount; + end; + end; + FPagesCounted := True; +end; + +function TSynFMXEditPrint.CalcPages: Integer; +begin + InitPrint; + Result := FPages.Count; +end; + +function TSynFMXEditPrint.GetPageCount: Integer; +begin + if FPagesCounted then + Result := FPages.Count + else begin + InitPrint; + Result := FPages.Count; + end; +end; + +function TSynFMXEditPrint.GetPageCount2: Integer; +begin + Result := GetPageCount; +end; + +procedure TSynFMXEditPrint.WriteLineNumber(Canvas: TCanvas; + LineNumber, YPos: Integer); +var + AStr: string; + TextWidth: Single; + R: TRectF; +begin + AStr := IntToStr(LineNumber + FLineOffset) + ': '; + TextWidth := MeasureTextWidth(FFont, AStr); + + R := RectF(FMargins.PLeft - TextWidth, YPos, + FMargins.PLeft, YPos + FLineHeight); + + Canvas.Font.Assign(FFont); + Canvas.Fill.Color := TColorToAlphaColor(TColors.Black); + Canvas.FillText(R, AStr, False, 1.0, [], + TTextAlign.Trailing, TTextAlign.Leading); +end; + +procedure TSynFMXEditPrint.PrintPage(Canvas: TCanvas; PageNumber: Integer); +var + I: Integer; + LineText: string; + YPos: Integer; + LayoutRowCount: Integer; + Attr: TSynHighlighterAttributes; + TokenColor: TAlphaColor; + TokenFont: TFont; + BoldFont, ItalicFont, BoldItalicFont: TFont; + BkgColor: TColor; + AlphaBkg, AlphaFont: TAlphaColor; + Layout: TTextLayout; + SaveState: TCanvasSaveState; +begin + DoPrintStatus(psNewPage, PageNumber, FAbort); + if FAbort then Exit; + + if (PageNumber < 1) or (FPages.Count < PageNumber) then Exit; + + { Determine background and font colors } + if FColors and FSynOK and Assigned(FHighlighter.WhitespaceAttribute) then + BkgColor := FHighlighter.WhitespaceAttribute.Background + else + BkgColor := FDefaultBG; + + if Integer(BkgColor) < 0 then + BkgColor := TColors.White; + + AlphaBkg := TColorToAlphaColor(BkgColor); + AlphaFont := TColorToAlphaColor(TColors.Black); + + { Clear background } + Canvas.Fill.Color := AlphaBkg; + Canvas.FillRect(RectF(0, 0, Canvas.Width, Canvas.Height), 0, 0, + AllCorners, 1.0); + + { Print header } + FHeader.Print(Canvas, PageNumber + FPageOffset); + + { Print lines } + YPos := FMargins.PTop; + for I := FPages[PageNumber - 1].FirstLine to FPages[PageNumber - 1].LastLine do + begin + { Line numbers } + if FLineNumbers then + WriteLineNumber(Canvas, I + 1, YPos); + + LineText := GetLineText(I); + + if LineText = '' then + LayoutRowCount := 1 + else + begin + { Measure wrapped row count } + LayoutRowCount := MeasureLineRows(LineText); + + { Create text layout for rendering } + BoldFont := nil; + ItalicFont := nil; + BoldItalicFont := nil; + Layout := TTextLayoutManager.DefaultTextLayout.Create; + try + Layout.BeginUpdate; + try + Layout.Font.Assign(FFont); + Layout.Text := LineText; + Layout.MaxSize := TPointF.Create(FMaxWidth, FLineHeight * LayoutRowCount); + Layout.WordWrap := FWrap; + Layout.Color := AlphaFont; + + { Apply syntax highlighting color and style attributes } + if FHighlight and FSynOK then + begin + FHighlighter.SetRange(FLines.Objects[I]); + FHighlighter.SetLine(LineText, I + 1); + + while not FHighlighter.GetEol do + begin + Attr := FHighlighter.GetTokenAttribute; + if Assigned(Attr) then + begin + if FColors then + begin + TokenColor := TColorToAlphaColor(Attr.Foreground); + if TokenColor = TAlphaColors.Null then + TokenColor := AlphaFont; + end + else + TokenColor := AlphaFont; + + { Select font variant matching token style } + if ([fsBold, fsItalic] * Attr.Style = [fsBold, fsItalic]) then + begin + if BoldItalicFont = nil then + begin + BoldItalicFont := TFont.Create; + BoldItalicFont.Assign(FFont); + BoldItalicFont.Style := FFont.Style + + [TFontStyle.fsBold, TFontStyle.fsItalic]; + end; + TokenFont := BoldItalicFont; + end + else if fsBold in Attr.Style then + begin + if BoldFont = nil then + begin + BoldFont := TFont.Create; + BoldFont.Assign(FFont); + BoldFont.Style := FFont.Style + [TFontStyle.fsBold]; + end; + TokenFont := BoldFont; + end + else if fsItalic in Attr.Style then + begin + if ItalicFont = nil then + begin + ItalicFont := TFont.Create; + ItalicFont.Assign(FFont); + ItalicFont.Style := FFont.Style + [TFontStyle.fsItalic]; + end; + TokenFont := ItalicFont; + end + else + TokenFont := FFont; + + Layout.AddAttribute( + TTextRange.Create(FHighlighter.GetTokenPos, + Length(FHighlighter.GetToken)), + TTextAttribute.Create(TokenFont, TokenColor)); + end; + FHighlighter.Next; + end; + end; + finally + Layout.EndUpdate; + end; + + { Position and render the layout } + Layout.TopLeft := TPointF.Create(FMargins.PLeft, YPos); + + { Handle page boundary clipping for wrapped lines } + if (I = FPages[PageNumber - 1].FirstLine) and + (FPages[PageNumber - 1].FirstRow > 1) then + begin + { Line continues from previous page - offset and clip top rows } + Layout.TopLeft := TPointF.Create(FMargins.PLeft, + YPos - Pred(FPages[PageNumber - 1].FirstRow) * FLineHeight); + SaveState := Canvas.SaveState; + try + Canvas.IntersectClipRect(RectF(FMargins.PLeft, YPos, + FMargins.PRight, FMargins.PTop + FMaxRowCount * FLineHeight)); + Layout.RenderLayout(Canvas); + finally + Canvas.RestoreState(SaveState); + end; + LayoutRowCount := LayoutRowCount - FPages[PageNumber - 1].FirstRow + 1; + end + else if (I = FPages[PageNumber - 1].LastLine) and + (FPages[PageNumber - 1].LastRow < LayoutRowCount) then + begin + { Line continues onto next page - clip bottom rows } + SaveState := Canvas.SaveState; + try + Canvas.IntersectClipRect(RectF(FMargins.PLeft, YPos, + FMargins.PRight, YPos + FPages[PageNumber - 1].LastRow * FLineHeight)); + Layout.RenderLayout(Canvas); + finally + Canvas.RestoreState(SaveState); + end; + end + else + begin + { Normal line - render fully } + Layout.RenderLayout(Canvas); + end; + finally + Layout.Free; + BoldFont.Free; + ItalicFont.Free; + BoldItalicFont.Free; + end; + end; + + DoPrintLine(I + 1, PageNumber); + Inc(YPos, LayoutRowCount * FLineHeight); + end; + + { Print footer } + FFooter.Print(Canvas, PageNumber + FPageOffset); +end; + +procedure TSynFMXEditPrint.PrintToCanvas(ACanvas: TCanvas; + const RenderRect: TRectF; PageNo: Integer); +var + ScaleX, ScaleY: Single; + SaveState: TCanvasSaveState; +begin + FAbort := False; + FPrinting := False; + + ScaleX := RenderRect.Width / + (FPrinterInfo.PhysicalWidth * 96 / FPrinterInfo.XPixPerInch); + ScaleY := RenderRect.Height / + (FPrinterInfo.PhysicalHeight * 96 / FPrinterInfo.YPixPerInch); + + SaveState := ACanvas.SaveState; + try + ACanvas.SetMatrix( + TMatrix.CreateScaling(ScaleX, ScaleY) * + TMatrix.CreateTranslation(RenderRect.Left, RenderRect.Top)); + + PrintPage(ACanvas, PageNo); + finally + ACanvas.RestoreState(SaveState); + end; +end; + +procedure TSynFMXEditPrint.Print; +begin + PrintRange(1, -1); +end; + +procedure TSynFMXEditPrint.PrintRange(StartPage, EndPage: Integer); +var + Page, Copy: Integer; + Title: string; + Provider: ISynPrintProvider; + SaveState: TCanvasSaveState; + ScaleX, ScaleY: Single; +begin + if FSelectedOnly and not FSelAvail then + Exit; + + FPrinting := True; + FAbort := False; + + if FDocTitle <> '' then + Title := FDocTitle + else + Title := FTitle; + if Title = '' then + Title := 'SynEdit document'; + + DoPrintStatus(psBegin, StartPage, FAbort); + if FAbort then Exit; + + InitPrint; + + { Use provided print provider, or create default FMX one } + Provider := FPrintProvider; +{$IFDEF MSWINDOWS} + if Provider = nil then + Provider := TSynFMXPrintProvider.Create; +{$ENDIF} + + if Provider = nil then + raise ESynError.Create(SYNS_FMXNoPrinter); + + if EndPage < 0 then + EndPage := FPages.Count; + + try + for Copy := 1 to FCopies do + begin + Provider.BeginDoc(Title); + + { Compute scale from ACTUAL canvas dimensions vs our 96-PPI layout. + The CreateDC-based PrinterInfo may report wrong DPI or paper size + (e.g. 300 DPI A4 when the FMX printer is actually 600 DPI Letter). + Using the real page dimensions from the provider gives the correct + scale regardless of PrinterInfo accuracy. } + ScaleX := Provider.PageWidth / + (FPrinterInfo.PhysicalWidth * 96.0 / FPrinterInfo.XPixPerInch); + ScaleY := Provider.PageHeight / + (FPrinterInfo.PhysicalHeight * 96.0 / FPrinterInfo.YPixPerInch); + try + for Page := StartPage to EndPage do + begin + if FAbort then Break; + if Page > StartPage then + Provider.NewPage; + + if Provider.Canvas.BeginScene then + try + SaveState := Provider.Canvas.SaveState; + try + Provider.Canvas.SetMatrix( + TMatrix.CreateScaling(ScaleX, ScaleY)); + PrintPage(Provider.Canvas, Page); + finally + Provider.Canvas.RestoreState(SaveState); + end; + finally + Provider.Canvas.EndScene; + end; + end; + finally + Provider.EndDoc; + end; + end; + + if not FAbort then + DoPrintStatus(psEnd, EndPage, FAbort); + finally + FPrinting := False; + end; +end; + +procedure TSynFMXEditPrint.DoPrintLine(LineNumber, PageNumber: Integer); +begin + if Assigned(FOnPrintLine) then + FOnPrintLine(Self, LineNumber, PageNumber); +end; + +procedure TSynFMXEditPrint.DoPrintStatus(Status: TSynPrintStatus; + PageNumber: Integer; var Abort: Boolean); +begin + Abort := False; + if FPrinting and Assigned(FOnPrintStatus) then + FOnPrintStatus(Self, Status, PageNumber, Abort); +end; + +procedure TSynFMXEditPrint.SetSynEdit(AEditor: TComponent); +var + Ed: TCustomFMXSynEdit; +begin + FPagesCounted := False; + FRangesOK := False; + if AEditor is TCustomFMXSynEdit then + begin + Ed := TCustomFMXSynEdit(AEditor); + FHighlighter := Ed.Highlighter; + FTabWidth := Ed.TabWidth; + FLines.Assign(Ed.Lines); + FFont.Assign(Ed.Font); + FSelAvail := Ed.SelAvail; + FBlockBegin := Ed.BlockBegin; + FBlockEnd := Ed.BlockEnd; + end; +end; + +procedure TSynFMXEditPrint.LoadFromStream(AStream: TStream); +var + Len, BufferSize: Integer; + Buffer: PWideChar; +begin + FHeader.LoadFromStream(AStream); + FFooter.LoadFromStream(AStream); + FMargins.LoadFromStream(AStream); + with AStream do + begin + Read(Len, SizeOf(Len)); + BufferSize := Len * SizeOf(WideChar); + GetMem(Buffer, BufferSize + SizeOf(WideChar)); + try + Read(Buffer^, BufferSize); + Buffer[BufferSize div SizeOf(WideChar)] := #0; + FTitle := Buffer; + finally + FreeMem(Buffer); + end; + Read(Len, SizeOf(Len)); + BufferSize := Len * SizeOf(WideChar); + GetMem(Buffer, BufferSize + SizeOf(WideChar)); + try + Read(Buffer^, BufferSize); + Buffer[BufferSize div SizeOf(WideChar)] := #0; + FDocTitle := Buffer; + finally + FreeMem(Buffer); + end; + Read(FWrap, SizeOf(FWrap)); + Read(FHighlight, SizeOf(FHighlight)); + Read(FColors, SizeOf(FColors)); + Read(FLineNumbers, SizeOf(FLineNumbers)); + Read(FLineOffset, SizeOf(FLineOffset)); + Read(FPageOffset, SizeOf(FPageOffset)); + end; +end; + +procedure TSynFMXEditPrint.SaveToStream(AStream: TStream); +var + aLen: Integer; +begin + FHeader.SaveToStream(AStream); + FFooter.SaveToStream(AStream); + FMargins.SaveToStream(AStream); + with AStream do + begin + aLen := Length(FTitle); + Write(aLen, SizeOf(aLen)); + Write(PWideChar(FTitle)^, aLen * SizeOf(WideChar)); + aLen := Length(FDocTitle); + Write(aLen, SizeOf(aLen)); + Write(PWideChar(FDocTitle)^, aLen * SizeOf(WideChar)); + Write(FWrap, SizeOf(FWrap)); + Write(FHighlight, SizeOf(FHighlight)); + Write(FColors, SizeOf(FColors)); + Write(FLineNumbers, SizeOf(FLineNumbers)); + Write(FLineOffset, SizeOf(FLineOffset)); + Write(FPageOffset, SizeOf(FPageOffset)); + end; +end; + +procedure TSynFMXEditPrint.SetFooter(const Value: TFooter); +begin + FFooter.Assign(Value); +end; + +procedure TSynFMXEditPrint.SetHeader(const Value: THeader); +begin + FHeader.Assign(Value); +end; + +procedure TSynFMXEditPrint.SetMargins(const Value: TSynEditPrintMargins); +begin + FMargins.Assign(Value); +end; + +end. diff --git a/Source/FMX/FMX.SynEditPrintHeaderFooter.pas b/Source/FMX/FMX.SynEditPrintHeaderFooter.pas new file mode 100644 index 00000000..0d0d28ce --- /dev/null +++ b/Source/FMX/FMX.SynEditPrintHeaderFooter.pas @@ -0,0 +1,841 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition + +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/ +-------------------------------------------------------------------------------} + +{------------------------------------------------------------------------------- +CONTENTS: + Classes handling header and footer rendering for FMX printing. + + THeaderFooterItem: + An item in a header or footer. Has text, Font, LineNumber, and Alignment + (multiple items can share the same line with different fonts). + + TSynEditPrintHeaderFooter: + Collection of THeaderFooterItem objects. + Properties: + FrameTypes : Frame around header/footer (ftLine, ftBox, ftShaded). + ShadedColor : Fill color for ftShaded. + LineColor : Color for ftLine or ftBox frame. + DefaultFont : Default font for items. + RomanNumbers : Print page numbers as Roman numerals. + MirrorPosition : Mirror left/right alignment on even pages. + Methods: + Add : Add an item with text, font, alignment, line number. + Delete/Clear : Remove items. + InitPrint : Prepare for printing. + Print : Render header/footer to a TCanvas. + Text macros: + $PAGENUM$ : Current page number. + $PAGECOUNT$ : Total page count. + $TITLE$ : Document title. + $DATE$ : Current date. + $TIME$ : Current time. + $DATETIME$ : Date then time. + $TIMEDATE$ : Time then date. + + THeader / TFooter: + Subclasses that set FType to hftHeader / hftFooter. + + Rendering accepts a TCanvas parameter (FMX canvas) - works with any + FMX canvas implementation. +-------------------------------------------------------------------------------} + +unit FMX.SynEditPrintHeaderFooter; + +{$M+} +{$I SynEdit.inc} + +interface + +uses + System.Types, + System.UITypes, + System.UIConsts, + System.SysUtils, + System.Classes, + System.Math, + System.Generics.Collections, + FMX.Types, + FMX.Graphics, + FMX.TextLayout, + FMX.SynEditPrintTypes, + FMX.SynEditPrintMargins; + +type + THeaderFooterType = (hftHeader, hftFooter); + + { An item in a header or footer } + THeaderFooterItem = class + private + FText: string; + FFont: TFont; + FLineNumber: Integer; + FAlignment: TAlignment; + FIndex: Integer; + function GetAsString: string; + procedure SetAsString(const Value: string); + procedure SetFont(const Value: TFont); + public + constructor Create; + destructor Destroy; override; + function GetText(NumPages, PageNum: Integer; Roman: Boolean; + Title, ATime, ADate: string): string; + procedure LoadFromStream(AStream: TStream); + procedure SaveToStream(AStream: TStream); + public + property Alignment: TAlignment read FAlignment write FAlignment; + property AsString: string read GetAsString write SetAsString; + property Font: TFont read FFont write SetFont; + property LineNumber: Integer read FLineNumber write FLineNumber; + property Text: string read FText write FText; + end; + + { Header/footer collection class } + TSynEditPrintHeaderFooter = class(TPersistent) + private + FType: THeaderFooterType; + FFrameTypes: TFrameTypes; + FShadedColor: TColor; + FLineColor: TColor; + FItems: TList; + FDefaultFont: TFont; + FDate, FTime: string; + FNumPages: Integer; + FTitle: string; + FMargins: TSynEditPrintMargins; + FFrameHeight: Integer; + FRomanNumbers: Boolean; + FLineHeights: TArray; + FLineCount: Integer; + FMirrorPosition: Boolean; + procedure SetDefaultFont(const Value: TFont); + procedure DrawFrame(Canvas: TCanvas); + procedure CalcHeight; + function GetAsString: string; + procedure SetAsString(const Value: string); + public + constructor Create; + destructor Destroy; override; + function Add(Text: string; Font: TFont; Alignment: TAlignment; + LineNumber: Integer): Integer; + procedure Delete(Index: Integer); + procedure Clear; + function Count: Integer; + function Get(Index: Integer): THeaderFooterItem; + procedure InitPrint(NumPages: Integer; Title: string; + Margins: TSynEditPrintMargins); + procedure Print(Canvas: TCanvas; PageNum: Integer); + procedure Assign(Source: TPersistent); override; + procedure FixLines; + property AsString: string read GetAsString write SetAsString; + procedure LoadFromStream(AStream: TStream); + procedure SaveToStream(AStream: TStream); + published + property FrameTypes: TFrameTypes read FFrameTypes write FFrameTypes + default [ftLine]; + property ShadedColor: TColor read FShadedColor write FShadedColor + default TColors.Silver; + property LineColor: TColor read FLineColor write FLineColor + default TColors.Black; + property DefaultFont: TFont read FDefaultFont write SetDefaultFont; + property RomanNumbers: Boolean read FRomanNumbers write FRomanNumbers + default False; + property MirrorPosition: Boolean read FMirrorPosition write FMirrorPosition + default False; + end; + + { Header and Footer - set FType in constructor } + THeader = class(TSynEditPrintHeaderFooter) + public + constructor Create; + end; + + TFooter = class(TSynEditPrintHeaderFooter) + public + constructor Create; + end; + +implementation + +uses + SynEditMiscProcs, + FMX.SynEditRenderer; + +{ Helper: extract first element from a delimited string } +function GetFirstEl(var Value: string; Delim: WideChar): string; +var + P: Integer; +begin + P := Pos(Delim, Value); + if P = 0 then + P := Length(Value) + 1; + Result := Copy(Value, 1, P - 1); + System.Delete(Value, 1, P); +end; + +{ THeaderFooterItem } + +constructor THeaderFooterItem.Create; +begin + inherited; + FFont := TFont.Create; + FFont.Family := 'Arial'; + FFont.Size := 10; +end; + +destructor THeaderFooterItem.Destroy; +begin + FFont.Free; + inherited; +end; + +function THeaderFooterItem.GetAsString: string; +begin + Result := + EncodeString(FText) + '/' + + IntToStr(0) + '/' + { charset placeholder } + IntToStr(Integer(TColors.Black)) + '/' + { color } + IntToStr(Round(FFont.Size)) + '/' + { height as size } + EncodeString(FFont.Family) + '/' + + IntToStr(0) + '/' + { pitch placeholder } + IntToStr(96) + '/' + { ppi placeholder } + IntToStr(Round(FFont.Size)) + '/' + + IntToStr(Byte(FFont.Style)) + '/' + + IntToStr(FLineNumber) + '/' + + IntToStr(Ord(FAlignment)); +end; + +function THeaderFooterItem.GetText(NumPages, PageNum: Integer; + Roman: Boolean; Title, ATime, ADate: string): string; +var + Len, Start, Run: Integer; + AStr: string; + + procedure DoAppend(AText: string); + begin + Result := Result + AText; + end; + + procedure TryAppend(var First: Integer; After: Integer); + begin + if After > First then + begin + DoAppend(Copy(AStr, First, After - First)); + First := After; + end; + end; + + function TryExecuteMacro: Boolean; + var + Macro: string; + begin + Result := True; + Macro := System.SysUtils.UpperCase(Copy(FText, Start, Run - Start + 1)); + if Macro = '$PAGENUM$' then + begin + if Roman then + DoAppend(IntToRoman(PageNum)) + else + DoAppend(IntToStr(PageNum)); + Exit; + end; + if Macro = '$PAGECOUNT$' then + begin + if Roman then + DoAppend(IntToRoman(NumPages)) + else + DoAppend(IntToStr(NumPages)); + Exit; + end; + if Macro = '$TITLE$' then + begin + DoAppend(Title); + Exit; + end; + if Macro = '$DATE$' then + begin + DoAppend(ADate); + Exit; + end; + if Macro = '$TIME$' then + begin + DoAppend(ATime); + Exit; + end; + if Macro = '$DATETIME$' then + begin + DoAppend(ADate + ' ' + ATime); + Exit; + end; + if Macro = '$TIMEDATE$' then + begin + DoAppend(ATime + ' ' + ADate); + Exit; + end; + Result := False; + end; + +begin + Result := ''; + AStr := FText; + if Trim(AStr) = '' then + Exit; + Len := Length(AStr); + if Len > 0 then + begin + Start := 1; + Run := 1; + while Run <= Len do + begin + if AStr[Run] = '$' then + begin + TryAppend(Start, Run); + Inc(Run); + while Run <= Len do + begin + if AStr[Run] = '$' then + begin + if TryExecuteMacro then + begin + Inc(Run); + Start := Run; + Break; + end + else + begin + TryAppend(Start, Run); + Inc(Run); + end; + end + else + Inc(Run); + end; + end + else + Inc(Run); + end; + TryAppend(Start, Run); + end; +end; + +procedure THeaderFooterItem.LoadFromStream(AStream: TStream); +var + Len, BufferSize: Integer; + Buffer: Pointer; + aSize: Integer; + aStyle: TFontStyles; + aName: string; + aNameLen: Integer; + aNameBuf: PAnsiChar; +begin + with AStream do + begin + Read(Len, SizeOf(Len)); + BufferSize := Len * SizeOf(WideChar); + GetMem(Buffer, BufferSize + SizeOf(WideChar)); + try + Read(Buffer^, BufferSize); + PWideChar(Buffer)[BufferSize div SizeOf(WideChar)] := #0; + FText := PWideChar(Buffer); + finally + FreeMem(Buffer); + end; + Read(FLineNumber, SizeOf(FLineNumber)); + { Font: read charset (skip), color (skip), height (skip) } + Read(Len, SizeOf(Len)); { charset } + Read(Len, SizeOf(Len)); { color } + Read(Len, SizeOf(Len)); { height } + { Font name } + Read(aNameLen, SizeOf(aNameLen)); + GetMem(aNameBuf, aNameLen + 1); + try + Read(aNameBuf^, aNameLen); + aNameBuf[aNameLen] := #0; + aName := string(aNameBuf); + finally + FreeMem(aNameBuf); + end; + Read(Len, SizeOf(Len)); { pitch } + Read(aSize, SizeOf(aSize)); + Read(aStyle, SizeOf(aStyle)); + FFont.Family := aName; + FFont.Size := aSize; + FFont.Style := aStyle; + Read(FAlignment, SizeOf(FAlignment)); + end; +end; + +procedure THeaderFooterItem.SaveToStream(AStream: TStream); +var + aLen: Integer; + aStyle: TFontStyles; + aSize: Integer; + aNameAnsi: AnsiString; + Zero: Integer; +begin + with AStream do + begin + aLen := Length(FText); + Write(aLen, SizeOf(aLen)); + Write(PWideChar(FText)^, aLen * SizeOf(WideChar)); + Write(FLineNumber, SizeOf(FLineNumber)); + { Font fields for compatibility } + Zero := 0; + Write(Zero, SizeOf(Zero)); { charset } + Write(Zero, SizeOf(Zero)); { color } + aSize := Round(FFont.Size); + Write(aSize, SizeOf(aSize)); { height } + aNameAnsi := AnsiString(FFont.Family); + aLen := Length(aNameAnsi); + Write(aLen, SizeOf(aLen)); + Write(PAnsiChar(aNameAnsi)^, aLen); + Write(Zero, SizeOf(Zero)); { pitch } + Write(aSize, SizeOf(aSize)); { size } + aStyle := FFont.Style; + Write(aStyle, SizeOf(aStyle)); + Write(FAlignment, SizeOf(FAlignment)); + end; +end; + +procedure THeaderFooterItem.SetAsString(const Value: string); +var + S: string; + Sty: TFontStyles; +begin + S := Value; + FText := DecodeString(GetFirstEl(S, '/')); + GetFirstEl(S, '/'); { charset - skip } + GetFirstEl(S, '/'); { color - skip } + GetFirstEl(S, '/'); { height - skip } + FFont.Family := DecodeString(GetFirstEl(S, '/')); + GetFirstEl(S, '/'); { pitch - skip } + GetFirstEl(S, '/'); { ppi - skip } + FFont.Size := StrToIntDef(GetFirstEl(S, '/'), 10); + Byte(Sty) := StrToIntDef(GetFirstEl(S, '/'), 0); + FFont.Style := Sty; + FLineNumber := StrToIntDef(GetFirstEl(S, '/'), 0); + FAlignment := TAlignment(StrToIntDef(GetFirstEl(S, '/'), 0)); +end; + +procedure THeaderFooterItem.SetFont(const Value: TFont); +begin + FFont.Assign(Value); +end; + +{ TSynEditPrintHeaderFooter } + +constructor TSynEditPrintHeaderFooter.Create; +begin + inherited; + FFrameTypes := [ftLine]; + FShadedColor := TColors.Silver; + FLineColor := TColors.Black; + FItems := TList.Create; + FDefaultFont := TFont.Create; + FRomanNumbers := False; + FMirrorPosition := False; + FDefaultFont.Family := 'Arial'; + FDefaultFont.Size := 10; +end; + +destructor TSynEditPrintHeaderFooter.Destroy; +begin + Clear; + FItems.Free; + FDefaultFont.Free; + inherited; +end; + +function TSynEditPrintHeaderFooter.Add(Text: string; Font: TFont; + Alignment: TAlignment; LineNumber: Integer): Integer; +var + AItem: THeaderFooterItem; +begin + AItem := THeaderFooterItem.Create; + if Font = nil then + AItem.Font := FDefaultFont + else + AItem.Font := Font; + AItem.Alignment := Alignment; + AItem.LineNumber := LineNumber; + AItem.FIndex := FItems.Add(AItem); + AItem.Text := Text; + Result := AItem.FIndex; +end; + +procedure TSynEditPrintHeaderFooter.Delete(Index: Integer); +var + I: Integer; +begin + for I := 0 to FItems.Count - 1 do + begin + if THeaderFooterItem(FItems[I]).FIndex = Index then + begin + THeaderFooterItem(FItems[I]).Free; + FItems.Delete(I); + Break; + end; + end; +end; + +procedure TSynEditPrintHeaderFooter.Clear; +var + I: Integer; +begin + for I := 0 to FItems.Count - 1 do + THeaderFooterItem(FItems[I]).Free; + FItems.Clear; +end; + +procedure TSynEditPrintHeaderFooter.SetDefaultFont(const Value: TFont); +begin + FDefaultFont.Assign(Value); +end; + +procedure TSynEditPrintHeaderFooter.FixLines; +var + I, CurLine: Integer; +begin + SetLength(FLineHeights, 0); + CurLine := 0; + FLineCount := 0; + for I := 0 to FItems.Count - 1 do + begin + if THeaderFooterItem(FItems[I]).LineNumber <> CurLine then + begin + CurLine := THeaderFooterItem(FItems[I]).LineNumber; + Inc(FLineCount); + end; + THeaderFooterItem(FItems[I]).LineNumber := FLineCount; + end; + SetLength(FLineHeights, FLineCount); +end; + +procedure TSynEditPrintHeaderFooter.CalcHeight; +var + I, CurLine: Integer; + AItem: THeaderFooterItem; + FOrgHeight: Integer; + ItemHeight: Integer; +begin + FFrameHeight := -1; + if FItems.Count <= 0 then Exit; + + CurLine := 1; + FFrameHeight := 0; + FOrgHeight := FFrameHeight; + for I := 0 to FItems.Count - 1 do + begin + AItem := THeaderFooterItem(FItems[I]); + if AItem.LineNumber <> CurLine then + begin + CurLine := AItem.LineNumber; + FOrgHeight := FFrameHeight; + end; + ItemHeight := MeasureTextHeight(AItem.Font, 'Wg'); + FLineHeights[CurLine - 1] := Max(FLineHeights[CurLine - 1], ItemHeight); + FFrameHeight := Max(FFrameHeight, FOrgHeight + FLineHeights[CurLine - 1]); + end; + FFrameHeight := FFrameHeight + 2 * FMargins.PHFInternalMargin; +end; + +function CompareItems(Item1, Item2: Pointer): Integer; +begin + Result := THeaderFooterItem(Item1).LineNumber - + THeaderFooterItem(Item2).LineNumber; + if Result = 0 then + Result := NativeInt(Item1) - NativeInt(Item2); +end; + +procedure TSynEditPrintHeaderFooter.InitPrint(NumPages: Integer; + Title: string; Margins: TSynEditPrintMargins); +begin + FDate := DateToStr(Now); + FTime := TimeToStr(Now); + FNumPages := NumPages; + FMargins := Margins; + FTitle := Title; + FItems.Sort(CompareItems); + FixLines; + CalcHeight; +end; + +procedure TSynEditPrintHeaderFooter.DrawFrame(Canvas: TCanvas); +var + BoxRect: TRectF; + AlphaShaded, AlphaLine: TAlphaColor; +begin + if FrameTypes = [] then Exit; + + AlphaShaded := TColorToAlphaColor(FShadedColor); + AlphaLine := TColorToAlphaColor(FLineColor); + + with FMargins do + begin + if FType = hftHeader then + BoxRect := RectF(PLeft, PHeader - FFrameHeight, PRight, PHeader) + else + BoxRect := RectF(PLeft, PFooter, PRight, PFooter + FFrameHeight); + + if ftShaded in FrameTypes then + begin + Canvas.Fill.Color := AlphaShaded; + Canvas.FillRect(BoxRect, 0, 0, AllCorners, 1.0); + end; + + if ftBox in FrameTypes then + begin + Canvas.Stroke.Color := AlphaLine; + Canvas.Stroke.Thickness := 1.0; + Canvas.DrawRect(BoxRect, 0, 0, AllCorners, 1.0); + end; + + if ftLine in FrameTypes then + begin + Canvas.Stroke.Color := AlphaLine; + Canvas.Stroke.Thickness := 1.0; + if FType = hftHeader then + Canvas.DrawLine(PointF(PLeft, PHeader), PointF(PRight, PHeader), 1.0) + else + Canvas.DrawLine(PointF(PLeft, PFooter), PointF(PRight, PFooter), 1.0); + end; + end; +end; + +procedure TSynEditPrintHeaderFooter.Print(Canvas: TCanvas; + PageNum: Integer); +var + I, Y, CurLine: Integer; + AStr: string; + AItem: THeaderFooterItem; + TheAlignment: TAlignment; + TextRect: TRectF; + HAlign: TTextAlign; +begin + if FFrameHeight <= 0 then Exit; + + DrawFrame(Canvas); + + if FType = hftHeader then + Y := FMargins.PHeader - FFrameHeight + else + Y := FMargins.PFooter; + Y := Y + FMargins.PHFInternalMargin; + + CurLine := 1; + for I := 0 to FItems.Count - 1 do + begin + AItem := THeaderFooterItem(FItems[I]); + + if AItem.LineNumber <> CurLine then + begin + Y := Y + FLineHeights[CurLine - 1]; + CurLine := AItem.LineNumber; + end; + + AStr := AItem.GetText(FNumPages, PageNum, FRomanNumbers, FTitle, + FTime, FDate); + + { Determine alignment, handle mirroring } + TheAlignment := AItem.Alignment; + if MirrorPosition and ((PageNum mod 2) = 0) then + begin + case AItem.Alignment of + taRightJustify: TheAlignment := taLeftJustify; + taLeftJustify: TheAlignment := taRightJustify; + end; + end; + + case TheAlignment of + taLeftJustify: HAlign := TTextAlign.Leading; + taRightJustify: HAlign := TTextAlign.Trailing; + taCenter: HAlign := TTextAlign.Center; + else + HAlign := TTextAlign.Leading; + end; + + TextRect := RectF(FMargins.PLeftHFTextIndent, Y, + FMargins.PRightHFTextIndent, Y + FLineHeights[CurLine - 1]); + + Canvas.Font.Assign(AItem.Font); + Canvas.Fill.Color := TColorToAlphaColor(TColors.Black); + Canvas.FillText(TextRect, AStr, False, 1.0, [], HAlign, + TTextAlign.Leading); + end; +end; + +procedure TSynEditPrintHeaderFooter.Assign(Source: TPersistent); +var + Src: TSynEditPrintHeaderFooter; + I: Integer; +begin + if (Source <> nil) and (Source is TSynEditPrintHeaderFooter) then + begin + Src := TSynEditPrintHeaderFooter(Source); + Clear; + FType := Src.FType; + FFrameTypes := Src.FFrameTypes; + FShadedColor := Src.FShadedColor; + FLineColor := Src.FLineColor; + for I := 0 to Src.FItems.Count - 1 do + begin + with THeaderFooterItem(Src.FItems[I]) do + Add(Text, Font, Alignment, LineNumber); + end; + FDefaultFont.Assign(Src.FDefaultFont); + FRomanNumbers := Src.FRomanNumbers; + FMirrorPosition := Src.FMirrorPosition; + end + else + inherited Assign(Source); +end; + +function TSynEditPrintHeaderFooter.Count: Integer; +begin + Result := FItems.Count; +end; + +function TSynEditPrintHeaderFooter.Get(Index: Integer): THeaderFooterItem; +begin + Result := THeaderFooterItem(FItems[Index]); +end; + +function TSynEditPrintHeaderFooter.GetAsString: string; +var + I: Integer; +begin + Result := ''; + for I := 0 to FItems.Count - 1 do + begin + if Result <> '' then + Result := Result + '/'; + Result := Result + EncodeString(THeaderFooterItem(FItems[I]).AsString); + end; +end; + +procedure TSynEditPrintHeaderFooter.SetAsString(const Value: string); +var + Item: THeaderFooterItem; + S: string; +begin + Clear; + Item := THeaderFooterItem.Create; + try + S := Value; + while S <> '' do + begin + Item.AsString := DecodeString(GetFirstEl(S, '/')); + Add(Item.Text, Item.Font, Item.Alignment, Item.LineNumber); + end; + finally + Item.Free; + end; +end; + +procedure TSynEditPrintHeaderFooter.LoadFromStream(AStream: TStream); +var + Num, I: Integer; + aSize: Integer; + aStyle: TFontStyles; + aNameLen: Integer; + aNameBuf: PAnsiChar; + aName: string; + Zero: Integer; +begin + with AStream do + begin + Read(FFrameTypes, SizeOf(FFrameTypes)); + Read(FShadedColor, SizeOf(FShadedColor)); + Read(FLineColor, SizeOf(FLineColor)); + Read(FRomanNumbers, SizeOf(FRomanNumbers)); + Read(FMirrorPosition, SizeOf(FMirrorPosition)); + { Font } + Read(Zero, SizeOf(Zero)); { charset } + Read(Zero, SizeOf(Zero)); { color } + Read(Zero, SizeOf(Zero)); { height } + Read(aNameLen, SizeOf(aNameLen)); + GetMem(aNameBuf, aNameLen + 1); + try + Read(aNameBuf^, aNameLen); + aNameBuf[aNameLen] := #0; + aName := string(aNameBuf); + finally + FreeMem(aNameBuf); + end; + Read(Zero, SizeOf(Zero)); { pitch } + Read(aSize, SizeOf(aSize)); + Read(aStyle, SizeOf(aStyle)); + FDefaultFont.Family := aName; + FDefaultFont.Size := aSize; + FDefaultFont.Style := aStyle; + { Items } + Read(Num, SizeOf(Num)); + while Num > 0 do + begin + I := Add('', nil, taLeftJustify, 1); + Get(I).LoadFromStream(AStream); + Dec(Num); + end; + end; +end; + +procedure TSynEditPrintHeaderFooter.SaveToStream(AStream: TStream); +var + I, Num: Integer; + aSize: Integer; + aStyle: TFontStyles; + aNameAnsi: AnsiString; + aLen: Integer; + Zero: Integer; +begin + with AStream do + begin + Write(FFrameTypes, SizeOf(FFrameTypes)); + Write(FShadedColor, SizeOf(FShadedColor)); + Write(FLineColor, SizeOf(FLineColor)); + Write(FRomanNumbers, SizeOf(FRomanNumbers)); + Write(FMirrorPosition, SizeOf(FMirrorPosition)); + { Font } + Zero := 0; + Write(Zero, SizeOf(Zero)); { charset } + Write(Zero, SizeOf(Zero)); { color } + aSize := Round(FDefaultFont.Size); + Write(aSize, SizeOf(aSize)); { height } + aNameAnsi := AnsiString(FDefaultFont.Family); + aLen := Length(aNameAnsi); + Write(aLen, SizeOf(aLen)); + Write(PAnsiChar(aNameAnsi)^, aLen); + Write(Zero, SizeOf(Zero)); { pitch } + Write(aSize, SizeOf(aSize)); + aStyle := FDefaultFont.Style; + Write(aStyle, SizeOf(aStyle)); + { Items } + Num := Count; + Write(Num, SizeOf(Num)); + for I := 0 to Num - 1 do + Get(I).SaveToStream(AStream); + end; +end; + +{ THeader } + +constructor THeader.Create; +begin + inherited; + FType := hftHeader; +end; + +{ TFooter } + +constructor TFooter.Create; +begin + inherited; + FType := hftFooter; +end; + +end. diff --git a/Source/FMX/FMX.SynEditPrintMargins.pas b/Source/FMX/FMX.SynEditPrintMargins.pas new file mode 100644 index 00000000..e8e11f0f --- /dev/null +++ b/Source/FMX/FMX.SynEditPrintMargins.pas @@ -0,0 +1,459 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition + +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/ +-------------------------------------------------------------------------------} + +{------------------------------------------------------------------------------- +CONTENTS: + Class handling all sizes involved when printing. + Uses ISynPrinterInfo for DPI information - pure math, no platform + dependencies beyond the printer info interface. + + Design-time properties: + UnitSystem : Units used to specify sizes. Internally always mm. + Left : Distance from left edge of paper to text. + Right : Distance from right edge of paper to text. + Top : Distance from top edge of paper to top of text. + Bottom : Distance from bottom edge of paper to bottom of text. + Gutter : Binding gutter - added to right margin (or left if 2-sided) + Header : Distance from top edge of paper to line below header. + Footer : Distance from bottom edge of paper to line above footer. + LeftHFTextIndent : Distance from left margin to first left-aligned + character in header or footer. + RightHFTextIndent : Distance from right margin to last right-aligned + character in header or footer. + HFInternalMargin : Internal margin between frame line and text in + header and footer. + MirrorMargins : Mirror margins for 2-sided printing. + + Run-time properties (after InitPage): + PLeft, PRight, PTop, PBottom : Text area in device units (pixels). + PHeader, PFooter : Header/footer positions in device units. + PLeftHFTextIndent, PRightHFTextIndent : Header/footer text indents. + PHFInternalMargin : Internal margin in device units. + PGutter : Binding gutter in device units. +-------------------------------------------------------------------------------} + +unit FMX.SynEditPrintMargins; + +{$M+} +{$I SynEdit.inc} + +interface + +uses + System.Types, + System.Classes, + System.SysUtils, + System.Math, + {$IFDEF MSWINDOWS} + Winapi.Windows, + {$ENDIF} + FMX.Graphics, + FMX.TextLayout, + FMX.SynEditPrintTypes, + FMX.SynEditPrinterInfo; + +type + TSynEditPrintMargins = class(TPersistent) + private + FLeft: Double; + FRight: Double; + FTop: Double; + FBottom: Double; + FHeader: Double; + FFooter: Double; + FLeftHFTextIndent: Double; + FRightHFTextIndent: Double; + FHFInternalMargin: Double; + FGutter: Double; + FMirrorMargins: Boolean; + FUnitSystem: TUnitSystem; + function ConvertTo(Value: Double): Double; + function ConvertFrom(Value: Double): Double; + function GetBottom: Double; + function GetFooter: Double; + function GetGutter: Double; + function GetHeader: Double; + function GetLeft: Double; + function GetRight: Double; + function GetTop: Double; + function GetLeftHFTextIndent: Double; + function GetRightHFTextIndent: Double; + function GetHFInternalMargin: Double; + procedure SetBottom(const Value: Double); + procedure SetFooter(const Value: Double); + procedure SetGutter(const Value: Double); + procedure SetHeader(const Value: Double); + procedure SetLeft(const Value: Double); + procedure SetRight(const Value: Double); + procedure SetTop(const Value: Double); + procedure SetLeftHFTextIndent(const Value: Double); + procedure SetRightHFTextIndent(const Value: Double); + procedure SetHFInternalMargin(const Value: Double); + public + { Computed pixel positions - valid after InitPage } + PLeft: Integer; + PRight: Integer; + PTop: Integer; + PBottom: Integer; + PHeader: Integer; + PFooter: Integer; + PLeftHFTextIndent: Integer; + PRightHFTextIndent: Integer; + PHFInternalMargin: Integer; + PGutter: Integer; + + constructor Create; + procedure InitPage(AFont: TFont; ATabWidth: Integer; PageNum: Integer; + PrinterInfo: ISynPrinterInfo; LineNumbers, LineNumbersInMargin: Boolean; + MaxLineNum: Integer); + procedure Assign(Source: TPersistent); override; + procedure LoadFromStream(AStream: TStream); + procedure SaveToStream(AStream: TStream); + + { Direct pixel-position queries using an ISynPrinterInfo, without + calling InitPage. Useful for custom layout calculations. } + function GetPixelLeft(PrinterInfo: ISynPrinterInfo): Integer; + function GetPixelRight(PrinterInfo: ISynPrinterInfo): Integer; + function GetPixelTop(PrinterInfo: ISynPrinterInfo): Integer; + function GetPixelBottom(PrinterInfo: ISynPrinterInfo): Integer; + function GetPixelHeader(PrinterInfo: ISynPrinterInfo): Integer; + function GetPixelFooter(PrinterInfo: ISynPrinterInfo): Integer; + published + property UnitSystem: TUnitSystem read FUnitSystem write FUnitSystem + default usMM; + property Left: Double read GetLeft write SetLeft; + property Right: Double read GetRight write SetRight; + property Top: Double read GetTop write SetTop; + property Bottom: Double read GetBottom write SetBottom; + property Header: Double read GetHeader write SetHeader; + property Footer: Double read GetFooter write SetFooter; + property LeftHFTextIndent: Double read GetLeftHFTextIndent + write SetLeftHFTextIndent; + property RightHFTextIndent: Double read GetRightHFTextIndent + write SetRightHFTextIndent; + property HFInternalMargin: Double read GetHFInternalMargin + write SetHFInternalMargin; + property Gutter: Double read GetGutter write SetGutter; + property MirrorMargins: Boolean read FMirrorMargins write FMirrorMargins; + end; + +implementation + +const + mmPerInch = 25.4; + mmPerCm = 10; + +{ TSynEditPrintMargins } + +constructor TSynEditPrintMargins.Create; +begin + inherited; + FUnitSystem := usMM; + FLeft := DefLeft; + FRight := DefRight; + FTop := DefTop; + FBottom := DefBottom; + FHeader := DefHeader; + FFooter := DefFooter; + FLeftHFTextIndent := DefLeftHFTextIndent; + FRightHFTextIndent := DefRightHFTextIndent; + FHFInternalMargin := DefHFInternalMargin; + FGutter := DefGutter; + FMirrorMargins := False; +end; + +function TSynEditPrintMargins.ConvertTo(Value: Double): Double; +{ Convert from current UnitSystem to mm } +begin + case FUnitSystem of + usCM: Result := Value * mmPerCm; + usInch: Result := Value * mmPerInch; + muThousandthsOfInches: Result := mmPerInch * Value / 1000; + else + Result := Value; + end; +end; + +function TSynEditPrintMargins.ConvertFrom(Value: Double): Double; +{ Convert from mm to current UnitSystem } +begin + case FUnitSystem of + usCM: Result := Value / mmPerCm; + usInch: Result := Value / mmPerInch; + muThousandthsOfInches: Result := 1000 * Value / mmPerInch; + else + Result := Value; + end; +end; + +function TSynEditPrintMargins.GetBottom: Double; +begin + Result := ConvertFrom(FBottom); +end; + +function TSynEditPrintMargins.GetFooter: Double; +begin + Result := ConvertFrom(FFooter); +end; + +function TSynEditPrintMargins.GetGutter: Double; +begin + Result := ConvertFrom(FGutter); +end; + +function TSynEditPrintMargins.GetHeader: Double; +begin + Result := ConvertFrom(FHeader); +end; + +function TSynEditPrintMargins.GetLeft: Double; +begin + Result := ConvertFrom(FLeft); +end; + +function TSynEditPrintMargins.GetRight: Double; +begin + Result := ConvertFrom(FRight); +end; + +function TSynEditPrintMargins.GetTop: Double; +begin + Result := ConvertFrom(FTop); +end; + +function TSynEditPrintMargins.GetLeftHFTextIndent: Double; +begin + Result := ConvertFrom(FLeftHFTextIndent); +end; + +function TSynEditPrintMargins.GetRightHFTextIndent: Double; +begin + Result := ConvertFrom(FRightHFTextIndent); +end; + +function TSynEditPrintMargins.GetHFInternalMargin: Double; +begin + Result := ConvertFrom(FHFInternalMargin); +end; + +procedure TSynEditPrintMargins.SetBottom(const Value: Double); +begin + FBottom := ConvertTo(Value); +end; + +procedure TSynEditPrintMargins.SetFooter(const Value: Double); +begin + FFooter := ConvertTo(Value); +end; + +procedure TSynEditPrintMargins.SetGutter(const Value: Double); +begin + FGutter := ConvertTo(Value); +end; + +procedure TSynEditPrintMargins.SetHeader(const Value: Double); +begin + FHeader := ConvertTo(Value); +end; + +procedure TSynEditPrintMargins.SetLeft(const Value: Double); +begin + FLeft := ConvertTo(Value); +end; + +procedure TSynEditPrintMargins.SetRight(const Value: Double); +begin + FRight := ConvertTo(Value); +end; + +procedure TSynEditPrintMargins.SetTop(const Value: Double); +begin + FTop := ConvertTo(Value); +end; + +procedure TSynEditPrintMargins.SetLeftHFTextIndent(const Value: Double); +begin + FLeftHFTextIndent := ConvertTo(Value); +end; + +procedure TSynEditPrintMargins.SetRightHFTextIndent(const Value: Double); +begin + FRightHFTextIndent := ConvertTo(Value); +end; + +procedure TSynEditPrintMargins.SetHFInternalMargin(const Value: Double); +begin + FHFInternalMargin := ConvertTo(Value); +end; + +{ Direct pixel queries } + +function TSynEditPrintMargins.GetPixelLeft(PrinterInfo: ISynPrinterInfo): Integer; +begin + Result := MulDiv(PrinterInfo.PixFromLeft(FLeft + FGutter), 96, + PrinterInfo.XPixPerInch); +end; + +function TSynEditPrintMargins.GetPixelRight(PrinterInfo: ISynPrinterInfo): Integer; +begin + Result := MulDiv(PrinterInfo.PrintableWidth - + PrinterInfo.PixFromRight(FRight), 96, PrinterInfo.XPixPerInch); +end; + +function TSynEditPrintMargins.GetPixelTop(PrinterInfo: ISynPrinterInfo): Integer; +begin + Result := MulDiv(PrinterInfo.PixFromTop(FTop), 96, + PrinterInfo.YPixPerInch); +end; + +function TSynEditPrintMargins.GetPixelBottom(PrinterInfo: ISynPrinterInfo): Integer; +begin + Result := MulDiv(PrinterInfo.PrintableHeight - + PrinterInfo.PixFromBottom(FBottom), 96, PrinterInfo.YPixPerInch); +end; + +function TSynEditPrintMargins.GetPixelHeader(PrinterInfo: ISynPrinterInfo): Integer; +begin + Result := MulDiv(PrinterInfo.PixFromTop(FHeader), 96, + PrinterInfo.YPixPerInch); +end; + +function TSynEditPrintMargins.GetPixelFooter(PrinterInfo: ISynPrinterInfo): Integer; +begin + Result := MulDiv(PrinterInfo.PrintableHeight - + PrinterInfo.PixFromBottom(FFooter), 96, PrinterInfo.YPixPerInch); +end; + +{ InitPage - called by the print component to compute pixel positions. + All P* values are calculated relative to 96 PPI coordinates. } +procedure TSynEditPrintMargins.InitPage(AFont: TFont; ATabWidth: Integer; + PageNum: Integer; PrinterInfo: ISynPrinterInfo; + LineNumbers, LineNumbersInMargin: Boolean; MaxLineNum: Integer); +var + Layout: TTextLayout; + Str: string; + LineNumWidth: Single; +begin + if FMirrorMargins and ((PageNum mod 2) = 0) then + begin + PLeft := MulDiv(PrinterInfo.PixFromLeft(FRight), 96, + PrinterInfo.XPixPerInch); + PRight := MulDiv(PrinterInfo.PrintableWidth - + PrinterInfo.PixFromRight(FLeft + FGutter), 96, PrinterInfo.XPixPerInch); + end + else begin + PLeft := MulDiv(PrinterInfo.PixFromLeft(FLeft + FGutter), 96, + PrinterInfo.XPixPerInch); + PRight := MulDiv(PrinterInfo.PrintableWidth - + PrinterInfo.PixFromRight(FRight), 96, PrinterInfo.XPixPerInch); + end; + + { If line numbers are not in the margin, shift text left boundary } + if LineNumbers and (not LineNumbersInMargin) then + begin + Str := IntToStr(MaxLineNum) + ': '; + Layout := TTextLayoutManager.DefaultTextLayout.Create; + try + Layout.BeginUpdate; + try + Layout.Font.Assign(AFont); + Layout.Text := Str; + Layout.MaxSize := TPointF.Create(10000, 10000); + finally + Layout.EndUpdate; + end; + LineNumWidth := Layout.TextWidth; + finally + Layout.Free; + end; + PLeft := PLeft + Round(LineNumWidth); + end; + + PTop := MulDiv(PrinterInfo.PixFromTop(FTop), 96, PrinterInfo.YPixPerInch); + PBottom := MulDiv(PrinterInfo.PrintableHeight - + PrinterInfo.PixFromBottom(FBottom), 96, PrinterInfo.YPixPerInch); + PHeader := MulDiv(PrinterInfo.PixFromTop(FHeader), 96, + PrinterInfo.YPixPerInch); + PFooter := MulDiv(PrinterInfo.PrintableHeight - + PrinterInfo.PixFromBottom(FFooter), 96, PrinterInfo.YPixPerInch); + PHFInternalMargin := MulDiv(Round(PrinterInfo.YPixPerMM * FHFInternalMargin), + 96, PrinterInfo.XPixPerInch); + PGutter := MulDiv(Round(PrinterInfo.XPixPerMM * FGutter), 96, + PrinterInfo.XPixPerInch); + PRightHFTextIndent := PRight - + MulDiv(Round(PrinterInfo.XPixPerMM * FRightHFTextIndent), 96, + PrinterInfo.XPixPerInch); + PLeftHFTextIndent := PLeft + + MulDiv(Round(PrinterInfo.XPixPerMM * FLeftHFTextIndent), 96, + PrinterInfo.XPixPerInch); +end; + +procedure TSynEditPrintMargins.Assign(Source: TPersistent); +var + Src: TSynEditPrintMargins; +begin + if (Source <> nil) and (Source is TSynEditPrintMargins) then + begin + Src := TSynEditPrintMargins(Source); + FLeft := Src.FLeft; + FRight := Src.FRight; + FTop := Src.FTop; + FBottom := Src.FBottom; + FHeader := Src.FHeader; + FFooter := Src.FFooter; + FLeftHFTextIndent := Src.FLeftHFTextIndent; + FRightHFTextIndent := Src.FRightHFTextIndent; + FHFInternalMargin := Src.FHFInternalMargin; + FGutter := Src.FGutter; + FMirrorMargins := Src.FMirrorMargins; + FUnitSystem := Src.FUnitSystem; + end + else + inherited; +end; + +procedure TSynEditPrintMargins.LoadFromStream(AStream: TStream); +begin + with AStream do + begin + Read(FUnitSystem, SizeOf(FUnitSystem)); + Read(FLeft, SizeOf(FLeft)); + Read(FRight, SizeOf(FRight)); + Read(FTop, SizeOf(FTop)); + Read(FBottom, SizeOf(FBottom)); + Read(FHeader, SizeOf(FHeader)); + Read(FFooter, SizeOf(FFooter)); + Read(FLeftHFTextIndent, SizeOf(FLeftHFTextIndent)); + Read(FRightHFTextIndent, SizeOf(FRightHFTextIndent)); + Read(FHFInternalMargin, SizeOf(FHFInternalMargin)); + Read(FGutter, SizeOf(FGutter)); + Read(FMirrorMargins, SizeOf(FMirrorMargins)); + end; +end; + +procedure TSynEditPrintMargins.SaveToStream(AStream: TStream); +begin + with AStream do + begin + Write(FUnitSystem, SizeOf(FUnitSystem)); + Write(FLeft, SizeOf(FLeft)); + Write(FRight, SizeOf(FRight)); + Write(FTop, SizeOf(FTop)); + Write(FBottom, SizeOf(FBottom)); + Write(FHeader, SizeOf(FHeader)); + Write(FFooter, SizeOf(FFooter)); + Write(FLeftHFTextIndent, SizeOf(FLeftHFTextIndent)); + Write(FRightHFTextIndent, SizeOf(FRightHFTextIndent)); + Write(FHFInternalMargin, SizeOf(FHFInternalMargin)); + Write(FGutter, SizeOf(FGutter)); + Write(FMirrorMargins, SizeOf(FMirrorMargins)); + end; +end; + +end. diff --git a/Source/FMX/FMX.SynEditPrintTypes.pas b/Source/FMX/FMX.SynEditPrintTypes.pas new file mode 100644 index 00000000..33246569 --- /dev/null +++ b/Source/FMX/FMX.SynEditPrintTypes.pas @@ -0,0 +1,148 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition + +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/ +-------------------------------------------------------------------------------} + +{------------------------------------------------------------------------------- +CONTENTS: + Misc types, constants, and procedures used in FMX printing and previewing. + Platform-independent - no VCL or FMX framework dependencies. +-------------------------------------------------------------------------------} + +unit FMX.SynEditPrintTypes; + +{$I SynEdit.inc} + +interface + +uses + System.Classes, + System.SysUtils; + +const + { Default margins in millimeters } + DefLeft = 25; + DefRight = 15; + DefTop = 25; + DefBottom = 25; + DefHeader = 15; + DefFooter = 15; + DefLeftHFTextIndent = 2; + DefRightHFTextIndent = 2; + DefHFInternalMargin = 0.5; + DefGutter = 0; + +type + { Frame around header/footer } + TFrameType = (ftLine, ftBox, ftShaded); + TFrameTypes = set of TFrameType; + + { Margin units (internally always stored in mm) } + TUnitSystem = (usMM, usCM, usInch, muThousandthsOfInches); + + { Print status events } + TSynPrintStatus = (psBegin, psNewPage, psEnd); + + { Event types } + TSynPrintStatusEvent = procedure(Sender: TObject; Status: TSynPrintStatus; + PageNumber: Integer; var Abort: Boolean) of object; + TSynPrintLineEvent = procedure(Sender: TObject; LineNumber, + PageNumber: Integer) of object; + + { Line info record - maps source lines to printed pages } + TLineInfo = record + LineIndex: Integer; + PageIndex: Integer; + end; + +{ Converts an integer to Roman numeral string } +function IntToRoman(Value: Integer): string; + +implementation + +function IntToRoman(Value: Integer): string; +begin + Result := ''; + while Value >= 1000 do begin + Result := Result + 'M'; + Value := Value - 1000; + end; + + if Value >= 900 then + begin + Result := Result + 'CM'; + Value := Value - 900; + end; + + while Value >= 500 do + begin + Result := Result + 'D'; + Value := Value - 500; + end; + + if Value >= 400 then + begin + Result := Result + 'CD'; + Value := Value - 400; + end; + + while Value >= 100 do + begin + Result := Result + 'C'; + Value := Value - 100; + end; + + if Value >= 90 then + begin + Result := Result + 'XC'; + Value := Value - 90; + end; + + while Value >= 50 do + begin + Result := Result + 'L'; + Value := Value - 50; + end; + + if Value >= 40 then + begin + Result := Result + 'XL'; + Value := Value - 40; + end; + + while Value >= 10 do + begin + Result := Result + 'X'; + Value := Value - 10; + end; + + if Value >= 9 then + begin + Result := Result + 'IX'; + Value := Value - 9; + end; + + while Value >= 5 do + begin + Result := Result + 'V'; + Value := Value - 5; + end; + + if Value >= 4 then + begin + Result := Result + 'IV'; + Value := Value - 4; + end; + + while Value > 0 do + begin + Result := Result + 'I'; + Dec(Value); + end; +end; + +end. diff --git a/Source/FMX/FMX.SynEditPrinterInfo.pas b/Source/FMX/FMX.SynEditPrinterInfo.pas new file mode 100644 index 00000000..4fb8d424 --- /dev/null +++ b/Source/FMX/FMX.SynEditPrinterInfo.pas @@ -0,0 +1,311 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition + +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/ +-------------------------------------------------------------------------------} + +{------------------------------------------------------------------------------- +CONTENTS: + Abstract printer info provider interface and concrete FMX implementation. + The ISynPrinterInfo interface is platform-independent. + TSynFMXPrinterInfo provides a concrete implementation using FMX.Printer + on Windows and a default (A4/300dpi) fallback on other platforms. +-------------------------------------------------------------------------------} + +unit FMX.SynEditPrinterInfo; + +{$I SynEdit.inc} + +interface + +uses + System.SysUtils, + System.Classes; + +type + { Abstract printer info provider - platform-independent interface } + ISynPrinterInfo = interface + ['{A1B2C3D4-E5F6-4A7B-8C9D-0E1F2A3B4C5D}'] + function GetPhysicalWidth: Integer; + function GetPhysicalHeight: Integer; + function GetPrintableWidth: Integer; + function GetPrintableHeight: Integer; + function GetLeftMargin: Integer; + function GetTopMargin: Integer; + function GetRightMargin: Integer; + function GetBottomMargin: Integer; + function GetXPixPerInch: Integer; + function GetYPixPerInch: Integer; + function GetXPixPerMM: Single; + function GetYPixPerMM: Single; + function IsAvailable: Boolean; + procedure UpdateInfo; + + { Pixel offset calculations from paper edges } + function PixFromLeft(mmValue: Double): Integer; + function PixFromRight(mmValue: Double): Integer; + function PixFromTop(mmValue: Double): Integer; + function PixFromBottom(mmValue: Double): Integer; + + property PhysicalWidth: Integer read GetPhysicalWidth; + property PhysicalHeight: Integer read GetPhysicalHeight; + property PrintableWidth: Integer read GetPrintableWidth; + property PrintableHeight: Integer read GetPrintableHeight; + property LeftMargin: Integer read GetLeftMargin; + property TopMargin: Integer read GetTopMargin; + property RightMargin: Integer read GetRightMargin; + property BottomMargin: Integer read GetBottomMargin; + property XPixPerInch: Integer read GetXPixPerInch; + property YPixPerInch: Integer read GetYPixPerInch; + property XPixPerMM: Single read GetXPixPerMM; + property YPixPerMM: Single read GetYPixPerMM; + end; + + { Concrete FMX printer info implementation. + On Windows, uses FMX.Printer and Winapi.Windows.GetDeviceCaps. + On other platforms, uses a sensible A4/300dpi default. } + TSynFMXPrinterInfo = class(TInterfacedObject, ISynPrinterInfo) + private + FPhysicalWidth: Integer; + FPhysicalHeight: Integer; + FPrintableWidth: Integer; + FPrintableHeight: Integer; + FLeftGutter: Integer; + FRightGutter: Integer; + FTopGutter: Integer; + FBottomGutter: Integer; + FXPixPerInch: Integer; + FYPixPerInch: Integer; + FXPixPerMM: Single; + FYPixPerMM: Single; + FIsUpdated: Boolean; + procedure FillDefault; + procedure EnsureUpdated; + public + constructor Create; + + { ISynPrinterInfo } + function GetPhysicalWidth: Integer; + function GetPhysicalHeight: Integer; + function GetPrintableWidth: Integer; + function GetPrintableHeight: Integer; + function GetLeftMargin: Integer; + function GetTopMargin: Integer; + function GetRightMargin: Integer; + function GetBottomMargin: Integer; + function GetXPixPerInch: Integer; + function GetYPixPerInch: Integer; + function GetXPixPerMM: Single; + function GetYPixPerMM: Single; + function IsAvailable: Boolean; + procedure UpdateInfo; + + function PixFromLeft(mmValue: Double): Integer; + function PixFromRight(mmValue: Double): Integer; + function PixFromTop(mmValue: Double): Integer; + function PixFromBottom(mmValue: Double): Integer; + end; + +implementation + +uses +{$IFDEF MSWINDOWS} + Winapi.Windows, + FMX.Printer; +{$ELSE} + FMX.Printer; +{$ENDIF} + +const + mmPerInch = 25.4; + +{ TSynFMXPrinterInfo } + +constructor TSynFMXPrinterInfo.Create; +begin + inherited Create; + FIsUpdated := False; +end; + +procedure TSynFMXPrinterInfo.FillDefault; +{ Default values based on HP LaserJet A4 paper at 300 DPI - + same defaults as the VCL version } +begin + FPhysicalWidth := 2481; + FPhysicalHeight := 3507; + FPrintableWidth := 2358; + FPrintableHeight := 3407; + FLeftGutter := 65; + FRightGutter := 58; + FTopGutter := 50; + FBottomGutter := 50; + FXPixPerInch := 300; + FYPixPerInch := 300; + FXPixPerMM := FXPixPerInch / mmPerInch; + FYPixPerMM := FYPixPerInch / mmPerInch; +end; + +procedure TSynFMXPrinterInfo.EnsureUpdated; +begin + if not FIsUpdated then + UpdateInfo; +end; + +function TSynFMXPrinterInfo.IsAvailable: Boolean; +begin + try + Result := PrinterAssigned and (Printer.Count > 0); + except + Result := False; + end; +end; + +procedure TSynFMXPrinterInfo.UpdateInfo; +{$IFDEF MSWINDOWS} +var + DC: HDC; + DeviceName: string; +{$ENDIF} +begin + FIsUpdated := True; + +{$IFDEF MSWINDOWS} + if not IsAvailable then + begin + FillDefault; + Exit; + end; + + try + DeviceName := Printer.ActivePrinter.Title; + DC := CreateDC('WINSPOOL', PChar(DeviceName), nil, nil); + if DC = 0 then + begin + FillDefault; + Exit; + end; + + try + FPhysicalWidth := GetDeviceCaps(DC, Winapi.Windows.PHYSICALWIDTH); + FPhysicalHeight := GetDeviceCaps(DC, Winapi.Windows.PHYSICALHEIGHT); + FPrintableWidth := GetDeviceCaps(DC, HORZRES); + FPrintableHeight := GetDeviceCaps(DC, VERTRES); + FLeftGutter := GetDeviceCaps(DC, Winapi.Windows.PHYSICALOFFSETX); + FTopGutter := GetDeviceCaps(DC, Winapi.Windows.PHYSICALOFFSETY); + FRightGutter := FPhysicalWidth - FPrintableWidth - FLeftGutter; + FBottomGutter := FPhysicalHeight - FPrintableHeight - FTopGutter; + FXPixPerInch := GetDeviceCaps(DC, LOGPIXELSX); + FYPixPerInch := GetDeviceCaps(DC, LOGPIXELSY); + FXPixPerMM := FXPixPerInch / mmPerInch; + FYPixPerMM := FYPixPerInch / mmPerInch; + finally + DeleteDC(DC); + end; + except + FillDefault; + end; +{$ELSE} + FillDefault; +{$ENDIF} +end; + +function TSynFMXPrinterInfo.GetPhysicalWidth: Integer; +begin + EnsureUpdated; + Result := FPhysicalWidth; +end; + +function TSynFMXPrinterInfo.GetPhysicalHeight: Integer; +begin + EnsureUpdated; + Result := FPhysicalHeight; +end; + +function TSynFMXPrinterInfo.GetPrintableWidth: Integer; +begin + EnsureUpdated; + Result := FPrintableWidth; +end; + +function TSynFMXPrinterInfo.GetPrintableHeight: Integer; +begin + EnsureUpdated; + Result := FPrintableHeight; +end; + +function TSynFMXPrinterInfo.GetLeftMargin: Integer; +begin + EnsureUpdated; + Result := FLeftGutter; +end; + +function TSynFMXPrinterInfo.GetTopMargin: Integer; +begin + EnsureUpdated; + Result := FTopGutter; +end; + +function TSynFMXPrinterInfo.GetRightMargin: Integer; +begin + EnsureUpdated; + Result := FRightGutter; +end; + +function TSynFMXPrinterInfo.GetBottomMargin: Integer; +begin + EnsureUpdated; + Result := FBottomGutter; +end; + +function TSynFMXPrinterInfo.GetXPixPerInch: Integer; +begin + EnsureUpdated; + Result := FXPixPerInch; +end; + +function TSynFMXPrinterInfo.GetYPixPerInch: Integer; +begin + EnsureUpdated; + Result := FYPixPerInch; +end; + +function TSynFMXPrinterInfo.GetXPixPerMM: Single; +begin + EnsureUpdated; + Result := FXPixPerMM; +end; + +function TSynFMXPrinterInfo.GetYPixPerMM: Single; +begin + EnsureUpdated; + Result := FYPixPerMM; +end; + +function TSynFMXPrinterInfo.PixFromLeft(mmValue: Double): Integer; +begin + EnsureUpdated; + Result := Round(mmValue * FXPixPerMM - FLeftGutter); +end; + +function TSynFMXPrinterInfo.PixFromRight(mmValue: Double): Integer; +begin + EnsureUpdated; + Result := Round(mmValue * FXPixPerMM - FRightGutter); +end; + +function TSynFMXPrinterInfo.PixFromTop(mmValue: Double): Integer; +begin + EnsureUpdated; + Result := Round(mmValue * FYPixPerMM - FTopGutter); +end; + +function TSynFMXPrinterInfo.PixFromBottom(mmValue: Double): Integer; +begin + EnsureUpdated; + Result := Round(mmValue * FYPixPerMM - FBottomGutter); +end; + +end. diff --git a/Source/FMX/FMX.SynEditReg.pas b/Source/FMX/FMX.SynEditReg.pas new file mode 100644 index 00000000..db383184 --- /dev/null +++ b/Source/FMX/FMX.SynEditReg.pas @@ -0,0 +1,32 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition +-------------------------------------------------------------------------------} + +unit FMX.SynEditReg; + +{$I SynEdit.inc} + +interface + +procedure Register; + +implementation + +uses + System.Classes, + FMX.SynEdit, + FMX.SynCompletionProposal, + FMX.SynSpellCheck, + FMX.SynEditPrint, + FMX.SynMacroRecorder, + SynEditHighlighter, + SynEditStrConst; + +procedure Register; +begin + RegisterComponents('SynEdit FMX', [TFMXSynEdit, + TSynFMXCompletionProposal, TSynFMXSpellCheck, TSynFMXEditPrint, + TFMXSynMacroRecorder]); +end; + +end. diff --git a/Source/FMX/FMX.SynEditRenderer.pas b/Source/FMX/FMX.SynEditRenderer.pas new file mode 100644 index 00000000..f0e861d6 --- /dev/null +++ b/Source/FMX/FMX.SynEditRenderer.pas @@ -0,0 +1,237 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition + +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/ +-------------------------------------------------------------------------------} + +unit FMX.SynEditRenderer; + +{ FMX Canvas-based rendering engine for SynEdit. + Replaces the VCL Direct2D/DirectWrite renderer (SynDWrite). } + +{$I SynEdit.inc} + +interface + +uses + System.Types, + System.UITypes, + System.UIConsts, + System.SysUtils, + System.Classes, + System.Math, + {$IFDEF MSWINDOWS} + Winapi.Windows, + {$ENDIF} + FMX.Types, + FMX.Graphics, + FMX.TextLayout; + +type + TSynFMXRenderer = class + private + FFont: TFont; + FCharWidth: Single; + FLineHeight: Single; + FLayout: TTextLayout; + procedure UpdateMetrics; + public + constructor Create; + destructor Destroy; override; + procedure SetFont(AFont: TFont); + + { Paint a text token at the given pixel position } + procedure PaintToken(Canvas: TCanvas; X, Y: Single; + const Text: string; ForeColor, BackColor: TAlphaColor; + Style: TFontStyles); + + { Fill a rectangle } + procedure FillRect(Canvas: TCanvas; const R: TRectF; Color: TAlphaColor); + + { Draw a line } + procedure DrawLine(Canvas: TCanvas; X1, Y1, X2, Y2: Single; + Color: TAlphaColor; StrokeWidth: Single = 1.0); + + { Paint right-aligned text (for gutter line numbers) } + procedure PaintLineNumber(Canvas: TCanvas; const R: TRectF; + const Text: string; Color: TAlphaColor); + + property CharWidth: Single read FCharWidth; + property LineHeight: Single read FLineHeight; + property Font: TFont read FFont; + end; + +{ Converts TColor ($00BBGGRR) to TAlphaColor ($AARRGGBB) } +function TColorToAlphaColor(AColor: TColor): TAlphaColor; + +{ Measure text height using a temporary FMX TTextLayout } +function MeasureTextHeight(AFont: TFont; const AText: string): Integer; + +{ Measure text width using a temporary FMX TTextLayout } +function MeasureTextWidth(AFont: TFont; const AText: string): Single; + +implementation + +function TColorToAlphaColor(AColor: TColor): TAlphaColor; +{$IFDEF MSWINDOWS} +var + RGB: Cardinal; +{$ENDIF} +begin + if AColor = TColors.SysNone then + Exit(TAlphaColors.Null); + if Integer(AColor) < 0 then + begin + {$IFDEF MSWINDOWS} + // Resolve Windows system color via GetSysColor + RGB := GetSysColor(Integer(AColor) and $FF); + Result := $FF000000 or + ((RGB and $FF) shl 16) or + (RGB and $FF00) or + ((RGB shr 16) and $FF); + {$ELSE} + Result := TAlphaColors.Null; + {$ENDIF} + Exit; + end; + // TColor = $00BBGGRR -> TAlphaColor = $AARRGGBB + Result := $FF000000 or + (Cardinal(AColor and $FF) shl 16) or + (Cardinal(AColor and $FF00)) or + (Cardinal(AColor shr 16) and $FF); +end; + +function MeasureTextHeight(AFont: TFont; const AText: string): Integer; +var + Layout: TTextLayout; +begin + Layout := TTextLayoutManager.DefaultTextLayout.Create; + try + Layout.BeginUpdate; + try + Layout.Font.Assign(AFont); + Layout.Text := AText; + Layout.MaxSize := TPointF.Create(10000, 10000); + finally + Layout.EndUpdate; + end; + Result := Round(Layout.TextHeight); + if Result < 1 then + Result := Round(AFont.Size * 1.5); + finally + Layout.Free; + end; +end; + +function MeasureTextWidth(AFont: TFont; const AText: string): Single; +var + Layout: TTextLayout; +begin + Layout := TTextLayoutManager.DefaultTextLayout.Create; + try + Layout.BeginUpdate; + try + Layout.Font.Assign(AFont); + Layout.Text := AText; + Layout.MaxSize := TPointF.Create(10000, 10000); + finally + Layout.EndUpdate; + end; + Result := Layout.TextWidth; + finally + Layout.Free; + end; +end; + +{ TSynFMXRenderer } + +constructor TSynFMXRenderer.Create; +begin + inherited; + FFont := TFont.Create; + FFont.Family := 'Consolas'; + FFont.Size := 10; + FLayout := TTextLayoutManager.DefaultTextLayout.Create; + UpdateMetrics; +end; + +destructor TSynFMXRenderer.Destroy; +begin + FLayout.Free; + FFont.Free; + inherited; +end; + +procedure TSynFMXRenderer.SetFont(AFont: TFont); +begin + FFont.Assign(AFont); + UpdateMetrics; +end; + +procedure TSynFMXRenderer.UpdateMetrics; +begin + FLayout.BeginUpdate; + try + FLayout.Font.Assign(FFont); + FLayout.Text := 'M'; + FLayout.MaxSize := TPointF.Create(10000, 10000); + finally + FLayout.EndUpdate; + end; + FCharWidth := FLayout.TextWidth; + FLineHeight := FLayout.TextHeight; + if FLineHeight < 1 then FLineHeight := FFont.Size * 1.5; + if FCharWidth < 1 then FCharWidth := FFont.Size * 0.6; +end; + +procedure TSynFMXRenderer.PaintToken(Canvas: TCanvas; X, Y: Single; + const Text: string; ForeColor, BackColor: TAlphaColor; + Style: TFontStyles); +var + R: TRectF; +begin + if Text = '' then Exit; + R := RectF(X, Y, X + Length(Text) * FCharWidth, Y + FLineHeight); + + if BackColor <> TAlphaColors.Null then + begin + Canvas.Fill.Color := BackColor; + Canvas.FillRect(R, 0, 0, AllCorners, 1.0); + end; + + Canvas.Font.Assign(FFont); + Canvas.Font.Style := Style; + Canvas.Fill.Color := ForeColor; + Canvas.FillText(R, Text, False, 1.0, [], TTextAlign.Leading, TTextAlign.Leading); +end; + +procedure TSynFMXRenderer.FillRect(Canvas: TCanvas; const R: TRectF; + Color: TAlphaColor); +begin + if Color = TAlphaColors.Null then Exit; + Canvas.Fill.Color := Color; + Canvas.FillRect(R, 0, 0, AllCorners, 1.0); +end; + +procedure TSynFMXRenderer.DrawLine(Canvas: TCanvas; X1, Y1, X2, Y2: Single; + Color: TAlphaColor; StrokeWidth: Single); +begin + Canvas.Stroke.Color := Color; + Canvas.Stroke.Thickness := StrokeWidth; + Canvas.DrawLine(PointF(X1, Y1), PointF(X2, Y2), 1.0); +end; + +procedure TSynFMXRenderer.PaintLineNumber(Canvas: TCanvas; const R: TRectF; + const Text: string; Color: TAlphaColor); +begin + Canvas.Font.Assign(FFont); + Canvas.Font.Style := []; + Canvas.Fill.Color := Color; + Canvas.FillText(R, Text, False, 1.0, [], + TTextAlign.Trailing, TTextAlign.Leading); +end; + +end. diff --git a/Source/FMX/FMX.SynEditScrollBars.pas b/Source/FMX/FMX.SynEditScrollBars.pas new file mode 100644 index 00000000..39dbdcbe --- /dev/null +++ b/Source/FMX/FMX.SynEditScrollBars.pas @@ -0,0 +1,182 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition + +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/ +-------------------------------------------------------------------------------} + +unit FMX.SynEditScrollBars; + +{$I SynEdit.inc} + +interface + +uses + System.Classes, + System.Types, + System.UITypes, + System.Math, + FMX.Types, + FMX.Controls, + FMX.StdCtrls, + FMX.SynEditScrollTypes, + SynEditTypes; + +{ Factory method } +function CreateSynEditScrollBars(Editor: TControl): ISynEditScrollBars; + +implementation + +uses + FMX.SynEdit; + +type + TSynFMXScrollBars = class(TInterfacedObject, ISynEditScrollBars) + private + FEditor: TCustomFMXSynEdit; + FVScrollBar: TScrollBar; + FHScrollBar: TScrollBar; + FIsScrolling: Boolean; + FUpdating: Boolean; + procedure VScrollChange(Sender: TObject); + procedure HScrollChange(Sender: TObject); + public + constructor Create(AEditor: TControl); + function UpdateScrollBars: Boolean; + function GetIsScrolling: Boolean; + function GetVisibleVScrollBarWidth: Single; + function GetVisibleHScrollBarHeight: Single; + procedure DoMouseWheel(Shift: TShiftState; WheelDelta: Integer; + MousePos: TPointF); + end; + +function CreateSynEditScrollBars(Editor: TControl): ISynEditScrollBars; +begin + Result := TSynFMXScrollBars.Create(Editor); +end; + +{ TSynFMXScrollBars } + +constructor TSynFMXScrollBars.Create(AEditor: TControl); +begin + inherited Create; + FEditor := AEditor as TCustomFMXSynEdit; + + FVScrollBar := TScrollBar.Create(FEditor); + FVScrollBar.Parent := FEditor; + FVScrollBar.Orientation := TOrientation.Vertical; + FVScrollBar.Align := TAlignLayout.Right; + FVScrollBar.Width := 16; + FVScrollBar.Visible := False; + FVScrollBar.SmallChange := 1; + FVScrollBar.OnChange := VScrollChange; + + FHScrollBar := TScrollBar.Create(FEditor); + FHScrollBar.Parent := FEditor; + FHScrollBar.Orientation := TOrientation.Horizontal; + FHScrollBar.Align := TAlignLayout.Bottom; + FHScrollBar.Height := 16; + FHScrollBar.Visible := False; + FHScrollBar.SmallChange := 1; + FHScrollBar.OnChange := HScrollChange; +end; + +procedure TSynFMXScrollBars.VScrollChange(Sender: TObject); +begin + if FUpdating then Exit; + FIsScrolling := True; + try + FEditor.TopLine := Round(FVScrollBar.Value); + finally + FIsScrolling := False; + end; +end; + +procedure TSynFMXScrollBars.HScrollChange(Sender: TObject); +begin + if FUpdating then Exit; + FIsScrolling := True; + try + FEditor.LeftChar := Round(FHScrollBar.Value); + finally + FIsScrolling := False; + end; +end; + +function TSynFMXScrollBars.UpdateScrollBars: Boolean; +var + MaxLines, MaxCols, VisLines, VisCols: Integer; + ShowVert, ShowHorz: Boolean; +begin + Result := False; + FUpdating := True; + try + VisLines := FEditor.LinesInWindow; + VisCols := FEditor.CharsInWindow; + MaxLines := FEditor.DisplayRowCount; + if eoScrollPastEof in FEditor.ScrollOptions then + Inc(MaxLines, VisLines - 1); + MaxCols := FEditor.MaxScrollWidth; + + ShowVert := (VisLines > 0) and (MaxLines > VisLines); + ShowHorz := (VisCols > 0) and (MaxCols > VisCols) and not FEditor.WordWrap; + + // Vertical + FVScrollBar.Visible := ShowVert; + if ShowVert then + begin + FVScrollBar.Min := 1; + FVScrollBar.Max := Max(1, MaxLines); + FVScrollBar.ViewportSize := VisLines; + FVScrollBar.Value := FEditor.TopLine; + end; + + // Horizontal + FHScrollBar.Visible := ShowHorz; + if ShowHorz then + begin + FHScrollBar.Min := 1; + FHScrollBar.Max := Max(1, MaxCols); + FHScrollBar.ViewportSize := VisCols; + FHScrollBar.Value := FEditor.LeftChar; + end; + finally + FUpdating := False; + end; +end; + +function TSynFMXScrollBars.GetIsScrolling: Boolean; +begin + Result := FIsScrolling; +end; + +function TSynFMXScrollBars.GetVisibleVScrollBarWidth: Single; +begin + if FVScrollBar.Visible then + Result := FVScrollBar.Width + else + Result := 0; +end; + +function TSynFMXScrollBars.GetVisibleHScrollBarHeight: Single; +begin + if FHScrollBar.Visible then + Result := FHScrollBar.Height + else + Result := 0; +end; + +procedure TSynFMXScrollBars.DoMouseWheel(Shift: TShiftState; + WheelDelta: Integer; MousePos: TPointF); +const + SCROLL_LINES = 3; +begin + if ssShift in Shift then + FEditor.LeftChar := FEditor.LeftChar - Sign(WheelDelta) * SCROLL_LINES + else + FEditor.TopLine := FEditor.TopLine - Sign(WheelDelta) * SCROLL_LINES; +end; + +end. diff --git a/Source/FMX/FMX.SynEditScrollTypes.pas b/Source/FMX/FMX.SynEditScrollTypes.pas new file mode 100644 index 00000000..f39d1afa --- /dev/null +++ b/Source/FMX/FMX.SynEditScrollTypes.pas @@ -0,0 +1,46 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition + +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/ +-------------------------------------------------------------------------------} + +unit FMX.SynEditScrollTypes; + +{ FMX scrollbar interface, formerly FMX.SynEditTypes.pas. + + Renamed to FMX.SynEditScrollTypes for the same reason as the VCL + counterpart: a bare 'SynEditTypes' in a uses clause shadows any + dotted-prefix variant under Delphi's scope resolution rules. + Contains only ISynEditScrollBars, so 'ScrollTypes' better describes + the actual content. } + +{$I SynEdit.inc} + +interface + +uses + System.Classes, + System.Types, + System.UITypes, + FMX.Types, + SynEditTypes; + +type + { FMX scrollbar interface - uses FMX events instead of WM_SCROLL } + ISynEditScrollBars = interface + ['{F3A7B2C1-D4E5-4F60-A1B2-C3D4E5F67890}'] + function UpdateScrollBars: Boolean; + function GetIsScrolling: Boolean; + function GetVisibleVScrollBarWidth: Single; + function GetVisibleHScrollBarHeight: Single; + procedure DoMouseWheel(Shift: TShiftState; WheelDelta: Integer; + MousePos: TPointF); + property IsScrolling: Boolean read GetIsScrolling; + end; + +implementation + +end. diff --git a/Source/FMX/FMX.SynEditUndo.pas b/Source/FMX/FMX.SynEditUndo.pas new file mode 100644 index 00000000..62999c5a --- /dev/null +++ b/Source/FMX/FMX.SynEditUndo.pas @@ -0,0 +1,206 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition + +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/ + +FMX undo/redo — thin subclass of shared TSynEditUndoBase. +Only the caret/selection undo item and event-handler wiring are FMX-specific. +-------------------------------------------------------------------------------} + +unit FMX.SynEditUndo; + +{$I SynEdit.inc} + +interface + +uses + FMX.SynEdit, + SynEditTypes, + SynEditKeyCmds; + +{ Factory Method } +function CreateSynEditUndo(Editor: TCustomFMXSynEdit): ISynEditUndo; + +implementation + +uses + System.Classes, + System.SysUtils, + System.Math, + System.Generics.Collections, + SynEditMiscProcs, + SynEditSelections, + SynEditTextBuffer, + SynEditUndoShared; + +type + TSynEditUndo = class; + + TSynCaretAndSelectionUndoItem = class(TSynUndoItem) + private + FBlockBegin: TBufferCoord; + FBlockEnd: TBufferCoord; + FSelStorage: TSynSelStorage; + FHasMultiSel: Boolean; + public + procedure Undo(Editor: TObject); override; + procedure Redo(Editor: TObject); override; + constructor Create(Editor: TCustomFMXSynEdit); + end; + + TSynEditUndo = class(TSynEditUndoBase) + private + FEditor: TCustomFMXSynEdit; + // Event handlers for TSynEditStringList + procedure LinePut(Sender: TObject; Index: Integer; const OldLine: string); + procedure LinesBeforeDeleted(Sender: TObject; Index, Count: Integer); + procedure LinesDeleted(Sender: TObject; Index, Count: Integer); + procedure LinesInserted(Sender: TObject; Index, Count: Integer); + protected + function CreateCaretUndoItem(Editor: TObject): TSynUndoItem; override; + procedure RestoreCaretAndSelection(Editor: TObject; + Item: TSynUndoItem); override; + public + constructor Create(AEditor: TCustomFMXSynEdit); + end; + +{ TSynEditUndo } + +constructor TSynEditUndo.Create(AEditor: TCustomFMXSynEdit); +begin + inherited Create; + FEditor := AEditor; + // Hook into TSynEditStringList events + TSynEditStringList(FEditor.Lines).OnPut := LinePut; + TSynEditStringList(FEditor.Lines).OnInserted := LinesInserted; + TSynEditStringList(FEditor.Lines).OnBeforeDeleted := LinesBeforeDeleted; + TSynEditStringList(FEditor.Lines).OnDeleted := LinesDeleted; +end; + +function TSynEditUndo.CreateCaretUndoItem(Editor: TObject): TSynUndoItem; +begin + Result := TSynCaretAndSelectionUndoItem.Create( + Editor as TCustomFMXSynEdit); +end; + +procedure TSynEditUndo.RestoreCaretAndSelection(Editor: TObject; + Item: TSynUndoItem); +var + Ed: TCustomFMXSynEdit; +begin + if not (Item is TSynCaretAndSelectionUndoItem) then + begin + Ed := Editor as TCustomFMXSynEdit; + Ed.SetCaretAndSelection(Item.FCaret, Item.FCaret, Item.FCaret); + end; +end; + +{ Event handlers - hook into TSynEditStringList } + +procedure TSynEditUndo.LinePut(Sender: TObject; Index: Integer; + const OldLine: string); +var + Line: string; + Item: TSynLinePutUndoItem; +begin + if IsLocked or FInsideUndoRedo then Exit; + // Adjust remaining selections for line-change + FEditor.Selections.LinePut(Index, OldLine); + Line := FEditor.Lines[Index]; + if Line <> OldLine then + begin + Item := TSynLinePutUndoItem.Create(FEditor.Lines, Index, OldLine, + FCommandProcessed); + AddUndoItem(Item); + end; +end; + +procedure TSynEditUndo.LinesBeforeDeleted(Sender: TObject; Index, Count: Integer); +var + I: Integer; +begin + if IsLocked or FInsideUndoRedo then Exit; + SetLength(FDeletedLines, Count); + SetLength(FDeletedChangeFlags, Count); + for I := 0 to Count - 1 do + begin + FDeletedLines[I] := FEditor.Lines[Index + I]; + FDeletedChangeFlags[I] := + TSynEditStringList(FEditor.Lines).ChangeFlags[Index + I]; + end; +end; + +procedure TSynEditUndo.LinesDeleted(Sender: TObject; Index, Count: Integer); +var + Item: TSynLinesDeletedUndoItem; +begin + if IsLocked or FInsideUndoRedo then Exit; + // Adjust remaining selections for line-change + FEditor.Selections.LinesDeleted(Index, Count); + if Count > 0 then + begin + Item := TSynLinesDeletedUndoItem.Create(FEditor.Lines, Index, + FDeletedLines, FDeletedChangeFlags); + AddUndoItem(Item); + end; +end; + +procedure TSynEditUndo.LinesInserted(Sender: TObject; Index, Count: Integer); +var + Item: TSynLinesInsertedUndoItem; +begin + if IsLocked or FInsideUndoRedo then Exit; + // Adjust remaining selections for line-change + FEditor.Selections.LinesInserted(Index, Count); + // Consider a file with one empty line as empty + if (FUndoList.Count = 0) and + (FEditor.Lines.Count = 1) and (FEditor.Lines[0] = '') + then + Exit; + if Count > 0 then + begin + Item := TSynLinesInsertedUndoItem.Create(FEditor.Lines, Index, Count); + AddUndoItem(Item); + end; +end; + +{ Factory Method } + +function CreateSynEditUndo(Editor: TCustomFMXSynEdit): ISynEditUndo; +begin + Result := TSynEditUndo.Create(Editor); +end; + +{ TSynCaretAndSelectionUndoItem } + +constructor TSynCaretAndSelectionUndoItem.Create(Editor: TCustomFMXSynEdit); +begin + inherited Create; + FCaret := Editor.CaretXY; + FBlockBegin := Editor.BlockBegin; + FBlockEnd := Editor.BlockEnd; + FHasMultiSel := Editor.Selections.Count > 1; + if FHasMultiSel then + Editor.Selections.Store(FSelStorage); +end; + +procedure TSynCaretAndSelectionUndoItem.Undo(Editor: TObject); +var + Ed: TCustomFMXSynEdit; +begin + Ed := Editor as TCustomFMXSynEdit; + if FHasMultiSel then + Ed.Selections.Restore(FSelStorage) + else + Ed.SetCaretAndSelection(FCaret, FBlockBegin, FBlockEnd); +end; + +procedure TSynCaretAndSelectionUndoItem.Redo(Editor: TObject); +begin + Undo(Editor); +end; + +end. diff --git a/Source/FMX/FMX.SynEditWordWrap.pas b/Source/FMX/FMX.SynEditWordWrap.pas new file mode 100644 index 00000000..64a6e811 --- /dev/null +++ b/Source/FMX/FMX.SynEditWordWrap.pas @@ -0,0 +1,328 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition + +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/ + +Based on Vcl.SynEditWordWrap.pas by Flávio Etrusco, released 2003-12-11. +FMX port uses character-count wrapping (monospace font assumption). +-------------------------------------------------------------------------------} + +unit FMX.SynEditWordWrap; + +{$I SynEdit.inc} + +interface + +uses + System.SysUtils, + System.Classes, + System.Generics.Collections, + System.Math, + SynEditTypes; + +type + // FLineOffsets[N] is the 0-based first row of line N+1. + // e.g. Starting row of first line (0) is 0. Starting row of second line (1) + // is FLineOffsets[0]. + + TFMXWordWrapHelper = class + private + FLineOffsets: TList; + FRowLengths: TList; + FLineCount: Integer; + FMaxCharsPerRow: Integer; + FTabWidth: Integer; + procedure WrapLine(const ALine: string; out RowLengths: TArray); + procedure WrapLines(Lines: TStrings); + public + constructor Create; + destructor Destroy; override; + procedure SetWrapWidth(AMaxCharsPerRow, ATabWidth: Integer); + procedure Reset(Lines: TStrings); + function LineToRow(aLine: Integer): Integer; + function RowToLine(aRow: Integer): Integer; + function RowCount: Integer; + function GetRowLength(aRow: Integer): Integer; + function BufferToDisplayPos(const aPos: TBufferCoord): TDisplayCoord; + function DisplayToBufferPos(const aPos: TDisplayCoord): TBufferCoord; + property MaxCharsPerRow: Integer read FMaxCharsPerRow; + end; + +implementation + +{ TFMXWordWrapHelper } + +constructor TFMXWordWrapHelper.Create; +begin + inherited; + FLineOffsets := TList.Create; + FRowLengths := TList.Create; + FMaxCharsPerRow := 80; + FTabWidth := 8; +end; + +destructor TFMXWordWrapHelper.Destroy; +begin + FLineOffsets.Free; + FRowLengths.Free; + inherited; +end; + +procedure TFMXWordWrapHelper.SetWrapWidth(AMaxCharsPerRow, ATabWidth: Integer); +begin + FMaxCharsPerRow := Max(AMaxCharsPerRow, 1); + FTabWidth := Max(ATabWidth, 1); +end; + +procedure TFMXWordWrapHelper.Reset(Lines: TStrings); +begin + FLineCount := Lines.Count; + WrapLines(Lines); +end; + +procedure TFMXWordWrapHelper.WrapLine(const ALine: string; + out RowLengths: TArray); +var + P, PStart, PEnd, PBreak: Integer; // 1-based char indices + VisCol: Integer; // current visual column (0-based) + WorkList: TList; + C: WideChar; +begin + if (Length(ALine) = 0) then + begin + RowLengths := [0]; + Exit; + end; + + // Quick check: if the line can't possibly exceed wrap width + // (even with all tabs expanded to max) + if Length(ALine) <= FMaxCharsPerRow then + begin + // Check if tabs could push it over + if Pos(#9, ALine) = 0 then + begin + RowLengths := [Length(ALine)]; + Exit; + end; + end; + + WorkList := TList.Create; + try + PStart := 1; + PEnd := Length(ALine); + P := PStart; + PBreak := 0; + VisCol := 0; + + while P <= PEnd do + begin + C := ALine[P]; + + // Track word break points before advancing column + if (P > PStart) then + begin + case C of + ' ': + PBreak := P; // break after space (space stays on current row) + ')', ']', '}', ',', ';': + PBreak := P; // break before closing bracket + '(', '[', '{': + if PBreak = 0 then + PBreak := P - 1; // break before opening bracket + end; + end; + + // Advance visual column + if C = #9 then + VisCol := VisCol + FTabWidth - (VisCol mod FTabWidth) + else + Inc(VisCol); + + // Check if we need to wrap + if VisCol > FMaxCharsPerRow then + begin + if (PBreak > 0) and (PBreak >= PStart) then + begin + // Wrap at word boundary + WorkList.Add(PBreak - PStart + 1); + PStart := PBreak + 1; + P := PStart; + PBreak := 0; + VisCol := 0; + Continue; + end + else + begin + // Emergency wrap: break right before this character + if P > PStart then + begin + WorkList.Add(P - PStart); + PStart := P; + end + else + begin + // Single character wider than wrap width (tab) - include it anyway + WorkList.Add(1); + PStart := P + 1; + Inc(P); + end; + PBreak := 0; + VisCol := 0; + Continue; + end; + end; + + Inc(P); + end; + + // Remainder + if PStart <= PEnd + 1 then + WorkList.Add(PEnd - PStart + 1); + + if WorkList.Count = 0 then + RowLengths := [0] + else + RowLengths := WorkList.ToArray; + finally + WorkList.Free; + end; +end; + +procedure TFMXWordWrapHelper.WrapLines(Lines: TStrings); +var + I: Integer; + RowLens: TArray; +begin + FLineOffsets.Clear; + FRowLengths.Clear; + + if Lines.Count = 0 then + Exit; + + FLineOffsets.Capacity := Lines.Count; + FRowLengths.Capacity := Lines.Count; + + for I := 0 to Lines.Count - 1 do + begin + WrapLine(Lines[I], RowLens); + FRowLengths.AddRange(RowLens); + FLineOffsets.Add(FRowLengths.Count); + end; +end; + +function TFMXWordWrapHelper.LineToRow(aLine: Integer): Integer; +begin + Assert(aLine > 0); + if FLineCount < aLine then + Exit(FRowLengths.Count + (aLine - FLineCount)); + + if aLine = 1 then + Result := 1 + else + Result := FLineOffsets[aLine - 2] + 1; +end; + +function TFMXWordWrapHelper.RowToLine(aRow: Integer): Integer; +var + cLine: Integer; +begin + Assert(aRow > 0); + if aRow > FRowLengths.Count then + Exit(FLineCount + aRow - FRowLengths.Count); + + // Search from an optimized start point + for cLine := Min(aRow, FLineCount) - 2 downto 0 do + if aRow > FLineOffsets[cLine] then + Exit(cLine + 2); + + Result := 1; +end; + +function TFMXWordWrapHelper.RowCount: Integer; +begin + Result := FRowLengths.Count; +end; + +function TFMXWordWrapHelper.GetRowLength(aRow: Integer): Integer; +begin + if (aRow <= 0) or (aRow > FRowLengths.Count) then + Exit(0); + Result := FRowLengths[aRow - 1]; +end; + +function TFMXWordWrapHelper.BufferToDisplayPos( + const aPos: TBufferCoord): TDisplayCoord; +var + vStartRow: Integer; + cRow: Integer; + vRowLen: Integer; +begin + Assert(aPos.Char > 0); + Assert(aPos.Line > 0); + + if FLineCount < aPos.Line then + begin + // Beyond EOF + Result.Column := aPos.Char; + Result.Row := FRowLengths.Count + (aPos.Line - FLineCount); + Exit; + end; + + if aPos.Line = 1 then + vStartRow := 0 + else + vStartRow := FLineOffsets[aPos.Line - 2]; + + vRowLen := 0; + for cRow := vStartRow to FLineOffsets[aPos.Line - 1] - 1 do + begin + Inc(vRowLen, FRowLengths[cRow]); + if aPos.Char <= vRowLen then + begin + Result.Column := aPos.Char - vRowLen + FRowLengths[cRow]; + Result.Row := cRow + 1; + Exit; + end; + end; + + // Beyond EOL - place on last row of the line + Result.Column := aPos.Char - vRowLen + FRowLengths[FLineOffsets[aPos.Line - 1] - 1]; + Result.Row := FLineOffsets[aPos.Line - 1]; +end; + +function TFMXWordWrapHelper.DisplayToBufferPos( + const aPos: TDisplayCoord): TBufferCoord; +var + cRow: Integer; + FirstRow: Integer; +begin + Assert(aPos.Column > 0); + Assert(aPos.Row > 0); + + Result.Line := RowToLine(aPos.Row); + if Result.Line > FLineCount then + begin + // Beyond EOF + Result.Char := aPos.Column; + Exit; + end; + + if aPos.Row = FLineOffsets[Result.Line - 1] then + // Last row of line - allow positions beyond EOL + Result.Char := aPos.Column + else + Result.Char := Min(aPos.Column, FRowLengths[aPos.Row - 1] + 1); + + if Result.Line = 1 then + FirstRow := 0 + else + FirstRow := FLineOffsets[Result.Line - 2]; + + for cRow := FirstRow to aPos.Row - 2 do + Inc(Result.Char, FRowLengths[cRow]); +end; + +end. diff --git a/Source/FMX/FMX.SynMacroRecorder.pas b/Source/FMX/FMX.SynMacroRecorder.pas new file mode 100644 index 00000000..174bcd18 --- /dev/null +++ b/Source/FMX/FMX.SynMacroRecorder.pas @@ -0,0 +1,579 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition + +FMX Macro Recorder component. Uses shared macro event types from +SynMacroRecorderShared.pas. +-------------------------------------------------------------------------------} + +unit FMX.SynMacroRecorder; + +{$I SynEdit.inc} + +interface + +uses + System.Classes, + System.SysUtils, + System.UITypes, + SynEditTypes, + SynEditKeyCmds, + SynMacroRecorderShared; + +type + TCustomFMXSynMacroRecorder = class; + + TSynFMXUserCommandEvent = procedure(aSender: TCustomFMXSynMacroRecorder; + aCmd: TSynEditorCommand; var aEvent: TSynMacroEvent) of object; + + TCustomFMXSynMacroRecorder = class(TComponent) + private + FEditor: TComponent; + FState: TSynMacroState; + FEvents: TList; + FCurrentEditor: TComponent; + FShortCuts: array[TSynMacroCommand] of TShortCut; + FOnStateChange: TNotifyEvent; + FOnUserCommand: TSynFMXUserCommandEvent; + FMacroName: string; + FSaveMarkerPos: Boolean; + function GetEvent(aIndex: Integer): TSynMacroEvent; + function GetEventCount: Integer; + function GetIsEmpty: Boolean; + function GetAsString: string; + procedure SetAsString(const Value: string); + function GetRecordShortCut: TShortCut; + function GetPlaybackShortCut: TShortCut; + procedure SetRecordShortCut(const Value: TShortCut); + procedure SetPlaybackShortCut(const Value: TShortCut); + procedure SetEditor(Value: TComponent); + protected + procedure Notification(AComponent: TComponent; + Operation: TOperation); override; + procedure EditorKeyDown(Sender: TObject; var Key: Word; + var KeyChar: WideChar; Shift: TShiftState); + procedure OnCommand(Sender: TObject; AfterProcessing: Boolean; + var Handled: Boolean; var Command: TSynEditorCommand; + var AChar: WideChar; Data: Pointer; HandlerData: Pointer); + function CreateMacroEvent(aCmd: TSynEditorCommand): TSynMacroEvent; + procedure StateChanged; + public + constructor Create(AOwner: TComponent); override; + destructor Destroy; override; + procedure RecordMacro(aEditor: TComponent); + procedure PlaybackMacro(aEditor: TComponent); + procedure Stop; + procedure Pause; + procedure Resume; + procedure Clear; + procedure Error(const aMsg: string); + // Event management + procedure AddEvent(aCmd: TSynEditorCommand; aChar: WideChar; + aData: Pointer); + procedure InsertEvent(aIndex: Integer; aCmd: TSynEditorCommand; + aChar: WideChar; aData: Pointer); + procedure AddCustomEvent(aEvent: TSynMacroEvent); + procedure InsertCustomEvent(aIndex: Integer; aEvent: TSynMacroEvent); + procedure DeleteEvent(aIndex: Integer); + // Serialization + procedure LoadFromStream(aSrc: TStream); + procedure LoadFromStreamEx(aSrc: TStream; aClear: Boolean); + procedure SaveToStream(aDest: TStream); + procedure LoadFromFile(aFilename: string); + procedure SaveToFile(aFilename: string); + // Properties + property Editor: TComponent read FEditor write SetEditor; + property State: TSynMacroState read FState; + property IsEmpty: Boolean read GetIsEmpty; + property EventCount: Integer read GetEventCount; + property Events[aIndex: Integer]: TSynMacroEvent read GetEvent; + property AsString: string read GetAsString write SetAsString; + property MacroName: string read FMacroName write FMacroName; + property SaveMarkerPos: Boolean read FSaveMarkerPos + write FSaveMarkerPos default False; + property RecordShortCut: TShortCut read GetRecordShortCut + write SetRecordShortCut; + property PlaybackShortCut: TShortCut read GetPlaybackShortCut + write SetPlaybackShortCut; + property OnStateChange: TNotifyEvent read FOnStateChange + write FOnStateChange; + property OnUserCommand: TSynFMXUserCommandEvent read FOnUserCommand + write FOnUserCommand; + end; + + TFMXSynMacroRecorder = class(TCustomFMXSynMacroRecorder) + published + property Editor; + property SaveMarkerPos; + property RecordShortCut; + property PlaybackShortCut; + property OnStateChange; + property OnUserCommand; + end; + +implementation + +uses + FMX.SynEdit, + SynEditMiscProcs; + +{ Helper to convert TShiftState to shortcut modifier flags } +function MakeShortCut(Key: Word; Shift: TShiftState): TShortCut; +begin + Result := Key; + if ssShift in Shift then + Result := Result or scShift; + if ssCtrl in Shift then + Result := Result or scCtrl; + if ssAlt in Shift then + Result := Result or scAlt; +end; + +{ TCustomFMXSynMacroRecorder } + +constructor TCustomFMXSynMacroRecorder.Create(AOwner: TComponent); +begin + inherited; + FMacroName := 'unnamed'; + FShortCuts[mcRecord] := Ord('R') or scCtrl or scShift; + FShortCuts[mcPlayback] := Ord('P') or scCtrl or scShift; +end; + +destructor TCustomFMXSynMacroRecorder.Destroy; +begin + Editor := nil; + Clear; + inherited; +end; + +procedure TCustomFMXSynMacroRecorder.SetEditor(Value: TComponent); +begin + if FEditor = Value then + Exit; + + // Unhook from old editor + if FEditor <> nil then + begin + FEditor.RemoveFreeNotification(Self); + if FEditor is TCustomFMXSynEdit then + begin + TCustomFMXSynEdit(FEditor).RemoveKeyDownHandler(EditorKeyDown); + TCustomFMXSynEdit(FEditor).UnregisterCommandHandler(OnCommand); + end; + end; + + FEditor := Value; + + // Hook into new editor + if FEditor <> nil then + begin + FEditor.FreeNotification(Self); + if FEditor is TCustomFMXSynEdit then + begin + TCustomFMXSynEdit(FEditor).AddKeyDownHandler(EditorKeyDown); + TCustomFMXSynEdit(FEditor).RegisterCommandHandler(OnCommand, nil); + end; + end; +end; + +procedure TCustomFMXSynMacroRecorder.Notification(AComponent: TComponent; + Operation: TOperation); +begin + inherited; + if (Operation = opRemove) and (AComponent = FEditor) then + begin + // Editor is being destroyed - unhook without calling back + FEditor := nil; + if FState <> msStopped then + begin + FState := msStopped; + FCurrentEditor := nil; + end; + end; +end; + +procedure TCustomFMXSynMacroRecorder.EditorKeyDown(Sender: TObject; + var Key: Word; var KeyChar: WideChar; Shift: TShiftState); +var + SC: TShortCut; +begin + if Key = 0 then Exit; + SC := MakeShortCut(Key, Shift); + + if SC = FShortCuts[mcRecord] then + begin + case FState of + msStopped: RecordMacro(TComponent(Sender)); + msRecording: Stop; + end; + Key := 0; + end + else if SC = FShortCuts[mcPlayback] then + begin + case FState of + msStopped: PlaybackMacro(TComponent(Sender)); + msRecording: Pause; + msPaused: Resume; + end; + Key := 0; + end; +end; + +procedure TCustomFMXSynMacroRecorder.OnCommand(Sender: TObject; + AfterProcessing: Boolean; var Handled: Boolean; + var Command: TSynEditorCommand; var AChar: WideChar; + Data: Pointer; HandlerData: Pointer); +var + iEvent: TSynMacroEvent; +begin + if AfterProcessing then + begin + if (Sender = FCurrentEditor) and (FState = msRecording) and + (not Handled) then + begin + iEvent := CreateMacroEvent(Command); + iEvent.Initialize(Command, AChar, Data); + FEvents.Add(iEvent); + if SaveMarkerPos and (Command >= ecSetMarker0) and + (Command <= ecSetMarker9) and (Data = nil) then + begin + TSynPositionEvent(iEvent).Position := + TCustomFMXSynEdit(FCurrentEditor).CaretXY; + end; + end; + end; +end; + +function TCustomFMXSynMacroRecorder.CreateMacroEvent( + aCmd: TSynEditorCommand): TSynMacroEvent; + + function WantDefaultEvent(var aEvent: TSynMacroEvent): Boolean; + begin + if Assigned(FOnUserCommand) then + FOnUserCommand(Self, aCmd, aEvent); + Result := aEvent = nil; + end; + +begin + case aCmd of + ecGotoXY, ecSelGotoXY, ecSetMarker0..ecSetMarker9: + begin + Result := TSynPositionEvent.Create; + TSynPositionEvent(Result).Command := aCmd; + end; + ecChar: + Result := TSynCharEvent.Create; + ecString: + Result := TSynStringEvent.Create; + else + begin + Result := nil; + if (aCmd < ecUserFirst) or WantDefaultEvent(Result) then + begin + Result := TSynBasicEvent.Create; + TSynBasicEvent(Result).Command := aCmd; + end; + end; + end; +end; + +procedure TCustomFMXSynMacroRecorder.RecordMacro(aEditor: TComponent); +begin + if FState <> msStopped then + Error(sCannotRecord); + Clear; + FEvents := TList.Create; + FEvents.Capacity := 512; + FState := msRecording; + FCurrentEditor := aEditor; + StateChanged; +end; + +procedure TCustomFMXSynMacroRecorder.PlaybackMacro(aEditor: TComponent); +var + cEvent: Integer; + Ed: TCustomFMXSynEdit; +begin + if FState <> msStopped then + Error(sCannotPlay); + FState := msPlaying; + try + StateChanged; + if aEditor is TCustomFMXSynEdit then + begin + Ed := TCustomFMXSynEdit(aEditor); + for cEvent := 0 to EventCount - 1 do + begin + Events[cEvent].PlaybackTo(Ed.CommandProcessor); + if FState <> msPlaying then + Break; + end; + end; + finally + if FState = msPlaying then + begin + FState := msStopped; + StateChanged; + end; + end; +end; + +procedure TCustomFMXSynMacroRecorder.Stop; +begin + if FState = msStopped then + Exit; + FState := msStopped; + FCurrentEditor := nil; + if (FEvents <> nil) and (FEvents.Count = 0) then + FreeAndNil(FEvents); + StateChanged; +end; + +procedure TCustomFMXSynMacroRecorder.Pause; +begin + if FState <> msRecording then + Error(sCannotPause); + FState := msPaused; + StateChanged; +end; + +procedure TCustomFMXSynMacroRecorder.Resume; +begin + if FState <> msPaused then + Error(sCannotResume); + FState := msRecording; + StateChanged; +end; + +procedure TCustomFMXSynMacroRecorder.StateChanged; +begin + if Assigned(FOnStateChange) then + FOnStateChange(Self); +end; + +procedure TCustomFMXSynMacroRecorder.Error(const aMsg: string); +begin + raise Exception.Create(aMsg); +end; + +procedure TCustomFMXSynMacroRecorder.Clear; +var + I: Integer; + Obj: TObject; +begin + if Assigned(FEvents) then + begin + for I := FEvents.Count - 1 downto 0 do + begin + Obj := FEvents[I]; + FEvents.Delete(I); + Obj.Free; + end; + FreeAndNil(FEvents); + end; +end; + +procedure TCustomFMXSynMacroRecorder.AddEvent(aCmd: TSynEditorCommand; + aChar: WideChar; aData: Pointer); +begin + InsertEvent(EventCount, aCmd, aChar, aData); +end; + +procedure TCustomFMXSynMacroRecorder.InsertEvent(aIndex: Integer; + aCmd: TSynEditorCommand; aChar: WideChar; aData: Pointer); +var + iEvent: TSynMacroEvent; +begin + iEvent := CreateMacroEvent(aCmd); + try + iEvent.Initialize(aCmd, aChar, aData); + InsertCustomEvent(aIndex, iEvent); + except + iEvent.Free; + raise; + end; +end; + +procedure TCustomFMXSynMacroRecorder.AddCustomEvent(aEvent: TSynMacroEvent); +begin + InsertCustomEvent(EventCount, aEvent); +end; + +procedure TCustomFMXSynMacroRecorder.InsertCustomEvent(aIndex: Integer; + aEvent: TSynMacroEvent); +begin + if FEvents = nil then + FEvents := TList.Create; + FEvents.Insert(aIndex, aEvent); +end; + +procedure TCustomFMXSynMacroRecorder.DeleteEvent(aIndex: Integer); +var + iObj: Pointer; +begin + iObj := FEvents[aIndex]; + FEvents.Delete(aIndex); + TObject(iObj).Free; +end; + +function TCustomFMXSynMacroRecorder.GetEvent( + aIndex: Integer): TSynMacroEvent; +begin + Result := TSynMacroEvent(FEvents[aIndex]); +end; + +function TCustomFMXSynMacroRecorder.GetEventCount: Integer; +begin + if FEvents = nil then + Result := 0 + else + Result := FEvents.Count; +end; + +function TCustomFMXSynMacroRecorder.GetIsEmpty: Boolean; +begin + Result := (FEvents = nil) or (FEvents.Count = 0); +end; + +procedure TCustomFMXSynMacroRecorder.LoadFromStream(aSrc: TStream); +begin + LoadFromStreamEx(aSrc, True); +end; + +procedure TCustomFMXSynMacroRecorder.LoadFromStreamEx(aSrc: TStream; + aClear: Boolean); +var + iCommand: TSynEditorCommand; + iEvent: TSynMacroEvent; + cnt, i: Integer; +begin + Stop; + if aClear then + Clear; + FEvents := TList.Create; + aSrc.Read(cnt, SizeOf(cnt)); + i := 0; + FEvents.Capacity := aSrc.Size div SizeOf(TSynEditorCommand); + while (aSrc.Position < aSrc.Size) and (i < cnt) do + begin + aSrc.Read(iCommand, SizeOf(TSynEditorCommand)); + iEvent := CreateMacroEvent(iCommand); + iEvent.Initialize(iCommand, #0, nil); + iEvent.LoadFromStream(aSrc); + FEvents.Add(iEvent); + Inc(i); + end; +end; + +procedure TCustomFMXSynMacroRecorder.SaveToStream(aDest: TStream); +var + cEvent, eCnt: Integer; +begin + eCnt := EventCount; + aDest.Write(eCnt, SizeOf(eCnt)); + for cEvent := 0 to eCnt - 1 do + Events[cEvent].SaveToStream(aDest); +end; + +procedure TCustomFMXSynMacroRecorder.LoadFromFile(aFilename: string); +var + F: TFileStream; +begin + F := TFileStream.Create(aFilename, fmOpenRead); + try + LoadFromStream(F); + MacroName := ChangeFileExt(ExtractFileName(aFilename), ''); + finally + F.Free; + end; +end; + +procedure TCustomFMXSynMacroRecorder.SaveToFile(aFilename: string); +var + F: TFileStream; +begin + F := TFileStream.Create(aFilename, fmCreate); + try + SaveToStream(F); + finally + F.Free; + end; +end; + +function TCustomFMXSynMacroRecorder.GetAsString: string; +var + i: Integer; + eStr: string; +begin + Result := 'macro ' + MacroName + #13#10 + 'begin' + #13#10; + if Assigned(FEvents) then + begin + for i := 0 to FEvents.Count - 1 do + begin + eStr := Events[i].AsString; + if eStr <> '' then + Result := Result + ' ' + eStr + #13#10; + end; + end; + Result := Result + 'end'; +end; + +procedure TCustomFMXSynMacroRecorder.SetAsString(const Value: string); +var + i, p, Cmd: Integer; + S: TStrings; + cmdStr: string; + iEvent: TSynMacroEvent; +begin + Stop; + Clear; + FEvents := TList.Create; + S := TStringList.Create; + try + S.Text := Value; + for i := 0 to S.Count - 1 do + begin + cmdStr := Trim(S[i]); + p := Pos(' ', cmdStr); + if p = 0 then + p := Length(cmdStr) + 1; + Cmd := ecNone; + if IdentToEditorCommand(Copy(cmdStr, 1, p - 1), Cmd) then + begin + Delete(cmdStr, 1, p); + iEvent := CreateMacroEvent(Cmd); + try + FEvents.Add(iEvent); + iEvent.InitEventParameters(cmdStr); + except + iEvent.Free; + end; + end; + end; + finally + S.Free; + end; +end; + +function TCustomFMXSynMacroRecorder.GetRecordShortCut: TShortCut; +begin + Result := FShortCuts[mcRecord]; +end; + +function TCustomFMXSynMacroRecorder.GetPlaybackShortCut: TShortCut; +begin + Result := FShortCuts[mcPlayback]; +end; + +procedure TCustomFMXSynMacroRecorder.SetRecordShortCut( + const Value: TShortCut); +begin + FShortCuts[mcRecord] := Value; +end; + +procedure TCustomFMXSynMacroRecorder.SetPlaybackShortCut( + const Value: TShortCut); +begin + FShortCuts[mcPlayback] := Value; +end; + +end. diff --git a/Source/FMX/FMX.SynSpellCheck.pas b/Source/FMX/FMX.SynSpellCheck.pas new file mode 100644 index 00000000..af923ca1 --- /dev/null +++ b/Source/FMX/FMX.SynSpellCheck.pas @@ -0,0 +1,491 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition + +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/ +-------------------------------------------------------------------------------} + +unit FMX.SynSpellCheck; + +{$I SynEdit.inc} + +interface + +uses + System.Types, + System.UITypes, + System.SysUtils, + System.Classes, + System.Math, + System.Generics.Collections, + FMX.Graphics, + SynEditTypes, + SynEditMiscProcs, + SynSpellCheckTypes, + FMX.SynEdit; + +{$REGION 'TSynFMXSpellCheck Component'} + +type + TSynFMXSpellCheck = class; + + TSynFMXSpellPaintPlugin = class(TSynFMXEditPlugin) + private + FSpellCheck: TSynFMXSpellCheck; + public + constructor Create(AOwner: TCustomFMXSynEdit; + ASpellCheck: TSynFMXSpellCheck); reintroduce; + destructor Destroy; override; + procedure AfterPaint(Canvas: TCanvas; const AClip: TRectF; + FirstLine, LastLine: Integer); override; + end; + + TSynFMXSpellCheck = class(TComponent) + private + FEditor: TComponent; + FProvider: ISynSpellCheckProvider; + FLanguage: string; + FErrors: TList; + FEnabled: Boolean; + FUnderlineColor: TAlphaColor; + FPaintPlugin: TSynFMXSpellPaintPlugin; + FOnCheckComplete: TNotifyEvent; + FCheckTokens: TSynSpellCheckTokens; + procedure SetEditor(Value: TComponent); + procedure SetLanguage(const Value: string); + procedure SetEnabled(Value: Boolean); + function GetLineText(ALine: Integer): string; + function GetLineCount: Integer; + function GetEditorLines: TStrings; + function GetEditorBlockBegin: TBufferCoord; + function GetEditorBlockEnd: TBufferCoord; + procedure DoCheckText(const AText: string; ALine: Integer; + AStartOffset: Integer = 0); + procedure DoCheckLine(ALine: Integer); + procedure InvalidateEditor; + protected + procedure Notification(AComponent: TComponent; + Operation: TOperation); override; + public + constructor Create(AOwner: TComponent); override; + destructor Destroy; override; + procedure CheckLine(ALine: Integer); + procedure CheckFile; + procedure CheckSelection; + procedure ClearErrors; + function ErrorAtPos(ALine, AChar: Integer): Integer; + property Errors: TList read FErrors; + property Provider: ISynSpellCheckProvider read FProvider write FProvider; + property UnderlineColor: TAlphaColor read FUnderlineColor + write FUnderlineColor; + published + property Editor: TComponent read FEditor write SetEditor; + property Language: string read FLanguage write SetLanguage; + property Enabled: Boolean read FEnabled write SetEnabled default True; + property CheckTokens: TSynSpellCheckTokens read FCheckTokens + write FCheckTokens default [sctComment, sctString, sctIdentifier]; + property OnCheckComplete: TNotifyEvent read FOnCheckComplete + write FOnCheckComplete; + end; + +{$ENDREGION 'TSynFMXSpellCheck Component'} + +implementation + +uses + System.Character, + SynEditHighlighter, + SynEditTextBuffer; + +type + TSynHighlighterAccess = class(TSynCustomHighlighter); + +{ ============================================================================ } +{ TSynFMXSpellPaintPlugin } +{ ============================================================================ } + +constructor TSynFMXSpellPaintPlugin.Create(AOwner: TCustomFMXSynEdit; + ASpellCheck: TSynFMXSpellCheck); +begin + inherited Create(AOwner, [phAfterPaint]); + FSpellCheck := ASpellCheck; +end; + +destructor TSynFMXSpellPaintPlugin.Destroy; +begin + inherited; +end; + +procedure TSynFMXSpellPaintPlugin.AfterPaint(Canvas: TCanvas; + const AClip: TRectF; FirstLine, LastLine: Integer); +var + Error: TSynSpellError; + Pt1, Pt2: TPointF; + BaseY, X, Delta, NextX: Single; + Up: Boolean; +begin + if not FSpellCheck.Enabled then Exit; + if FSpellCheck.Errors.Count = 0 then Exit; + + Canvas.Stroke.Kind := TBrushKind.Solid; + Canvas.Stroke.Color := FSpellCheck.UnderlineColor; + Canvas.Stroke.Thickness := 1.0; + + for Error in FSpellCheck.Errors do + begin + if (Error.Line < FirstLine) or (Error.Line > LastLine) then + Continue; + + Pt1 := Owner.BufferCoordToPixel(BufferCoord(Error.StartChar, Error.Line)); + Pt2 := Owner.BufferCoordToPixel(BufferCoord(Error.EndChar, Error.Line)); + BaseY := Pt1.Y + Owner.LineHeight - 1; + Delta := Owner.LineHeight / 6; + + // Draw zigzag wave + X := Pt1.X; + Up := True; + while X < Pt2.X do + begin + NextX := Min(X + Delta, Pt2.X); + if Up then + Canvas.DrawLine(PointF(X, BaseY), PointF(NextX, BaseY - Delta), 1.0) + else + Canvas.DrawLine(PointF(X, BaseY - Delta), PointF(NextX, BaseY), 1.0); + X := NextX; + Up := not Up; + end; + end; +end; + +{ ============================================================================ } +{ TSynFMXSpellCheck } +{ ============================================================================ } + +constructor TSynFMXSpellCheck.Create(AOwner: TComponent); +begin + inherited Create(AOwner); + FErrors := TList.Create; + FEnabled := True; + FLanguage := 'en-US'; + FUnderlineColor := TAlphaColors.Red; + FCheckTokens := [sctComment, sctString, sctIdentifier]; + FProvider := nil; + FEditor := nil; +end; + +destructor TSynFMXSpellCheck.Destroy; +begin + FPaintPlugin.Free; + if Assigned(FEditor) then + FEditor.RemoveFreeNotification(Self); + FErrors.Free; + FProvider := nil; + inherited; +end; + +procedure TSynFMXSpellCheck.Notification(AComponent: TComponent; + Operation: TOperation); +begin + inherited Notification(AComponent, Operation); + if (Operation = opRemove) and (AComponent = FEditor) then + begin + FreeAndNil(FPaintPlugin); + FEditor := nil; + end; +end; + +procedure TSynFMXSpellCheck.SetEditor(Value: TComponent); +begin + if Value <> FEditor then + begin + FreeAndNil(FPaintPlugin); + if Assigned(FEditor) then + FEditor.RemoveFreeNotification(Self); + FEditor := Value; + if Assigned(FEditor) then + begin + FEditor.FreeNotification(Self); + if FEditor is TCustomFMXSynEdit then + FPaintPlugin := TSynFMXSpellPaintPlugin.Create( + TCustomFMXSynEdit(FEditor), Self); + end; + ClearErrors; + end; +end; + +procedure TSynFMXSpellCheck.SetLanguage(const Value: string); +begin + if FLanguage <> Value then + begin + FLanguage := Value; + if Assigned(FProvider) then + FProvider.SetLanguage(Value); + ClearErrors; + end; +end; + +procedure TSynFMXSpellCheck.SetEnabled(Value: Boolean); +begin + if FEnabled <> Value then + begin + FEnabled := Value; + if not FEnabled then + ClearErrors + else + InvalidateEditor; + end; +end; + +function TSynFMXSpellCheck.GetEditorLines: TStrings; +begin + if FEditor is TCustomFMXSynEdit then + Result := TCustomFMXSynEdit(FEditor).Lines + else + Result := nil; +end; + +function TSynFMXSpellCheck.GetEditorBlockBegin: TBufferCoord; +begin + if FEditor is TCustomFMXSynEdit then + Result := TCustomFMXSynEdit(FEditor).BlockBegin + else + Result := BufferCoord(0, 0); +end; + +function TSynFMXSpellCheck.GetEditorBlockEnd: TBufferCoord; +begin + if FEditor is TCustomFMXSynEdit then + Result := TCustomFMXSynEdit(FEditor).BlockEnd + else + Result := BufferCoord(0, 0); +end; + +function TSynFMXSpellCheck.GetLineText(ALine: Integer): string; +var + Lines: TStrings; +begin + Result := ''; + Lines := GetEditorLines; + if Assigned(Lines) and (ALine >= 1) and (ALine <= Lines.Count) then + Result := Lines[ALine - 1]; +end; + +function TSynFMXSpellCheck.GetLineCount: Integer; +var + Lines: TStrings; +begin + Result := 0; + Lines := GetEditorLines; + if Assigned(Lines) then + Result := Lines.Count; +end; + +procedure TSynFMXSpellCheck.DoCheckText(const AText: string; ALine: Integer; + AStartOffset: Integer); +var + Words: TArray; + Info: TWordInfo; + Err: TSynSpellError; +begin + if not Assigned(FProvider) or not FProvider.IsAvailable then + Exit; + if AText = '' then + Exit; + + Words := ExtractWords(AText); + for Info in Words do + begin + // Skip tokens that are all digits or have no letters + if not ContainsLetter(Info.Word) then + Continue; + + if not FProvider.CheckWord(Info.Word) then + begin + Err.Line := ALine; + Err.StartChar := Info.StartChar + AStartOffset; + Err.EndChar := Info.EndChar + AStartOffset; + Err.Word := Info.Word; + FErrors.Add(Err); + end; + end; +end; + +procedure TSynFMXSpellCheck.DoCheckLine(ALine: Integer); +var + Ed: TCustomFMXSynEdit; + HL: TSynCustomHighlighter; + Attr, DefComment, DefString, DefIdent: TSynHighlighterAttributes; + LineText, Token: string; + TokenPos: Integer; + ShouldCheck: Boolean; +begin + LineText := GetLineText(ALine); + if LineText = '' then + Exit; + + // If the editor has a highlighter and we have token filters, use them + if (FEditor is TCustomFMXSynEdit) then + begin + Ed := TCustomFMXSynEdit(FEditor); + HL := Ed.Highlighter; + if Assigned(HL) and (FCheckTokens <> []) then + begin + // Cache default attributes for comparison + DefComment := TSynHighlighterAccess(HL).GetDefaultAttribute(SYN_ATTR_COMMENT); + DefString := TSynHighlighterAccess(HL).GetDefaultAttribute(SYN_ATTR_STRING); + DefIdent := TSynHighlighterAccess(HL).GetDefaultAttribute(SYN_ATTR_IDENTIFIER); + + // Set up highlighter range from previous line + if ALine <= 1 then + HL.ResetRange + else + HL.SetRange(Ed.Lines.Ranges[ALine - 2]); // 0-based index + + HL.SetLine(LineText, ALine - 1); + + while not HL.GetEol do + begin + Attr := HL.GetTokenAttribute; + ShouldCheck := False; + + if Assigned(Attr) then + begin + if (sctComment in FCheckTokens) and (Attr = DefComment) then + ShouldCheck := True + else if (sctString in FCheckTokens) and (Attr = DefString) then + ShouldCheck := True + else if (sctIdentifier in FCheckTokens) and (Attr = DefIdent) then + ShouldCheck := True; + end; + + if ShouldCheck then + begin + Token := HL.GetToken; + TokenPos := HL.GetTokenPos; // 0-based + DoCheckText(Token, ALine, TokenPos); + end; + + HL.Next; + end; + Exit; + end; + end; + + // Fallback: no highlighter — check entire line + DoCheckText(LineText, ALine); +end; + +procedure TSynFMXSpellCheck.InvalidateEditor; +begin + if FEditor is TCustomFMXSynEdit then + TCustomFMXSynEdit(FEditor).Repaint; +end; + +procedure TSynFMXSpellCheck.CheckLine(ALine: Integer); +var + I: Integer; +begin + if not FEnabled or not Assigned(FEditor) or not Assigned(FProvider) then + Exit; + + // Remove existing errors for this line + for I := FErrors.Count - 1 downto 0 do + if FErrors[I].Line = ALine then + FErrors.Delete(I); + + DoCheckLine(ALine); + + InvalidateEditor; + + if Assigned(FOnCheckComplete) then + FOnCheckComplete(Self); +end; + +procedure TSynFMXSpellCheck.CheckFile; +var + I, LC: Integer; +begin + if not FEnabled or not Assigned(FEditor) or not Assigned(FProvider) then + Exit; + + ClearErrors; + + LC := GetLineCount; + for I := 1 to LC do + DoCheckLine(I); + + InvalidateEditor; + + if Assigned(FOnCheckComplete) then + FOnCheckComplete(Self); +end; + +procedure TSynFMXSpellCheck.CheckSelection; +var + BB, BE: TBufferCoord; + Line, I: Integer; + Err: TSynSpellError; +begin + if not FEnabled or not Assigned(FEditor) or not Assigned(FProvider) then + Exit; + + BB := GetEditorBlockBegin; + BE := GetEditorBlockEnd; + + // If no valid selection, check the whole file + if (BB.Line = 0) or (BE.Line = 0) or + ((BB.Line = BE.Line) and (BB.Char = BE.Char)) then + begin + CheckFile; + Exit; + end; + + // Clear existing errors for lines in the selection before re-checking + for I := FErrors.Count - 1 downto 0 do + if (FErrors[I].Line >= BB.Line) and (FErrors[I].Line <= BE.Line) then + FErrors.Delete(I); + + // Check each line in the selection using highlighter-aware logic + for Line := BB.Line to BE.Line do + DoCheckLine(Line); + + // Remove errors that fall outside the selection bounds + for I := FErrors.Count - 1 downto 0 do + begin + Err := FErrors[I]; + if (Err.Line = BB.Line) and (Err.StartChar < BB.Char) then + FErrors.Delete(I) + else if (Err.Line = BE.Line) and (Err.EndChar > BE.Char) then + FErrors.Delete(I); + end; + + InvalidateEditor; + + if Assigned(FOnCheckComplete) then + FOnCheckComplete(Self); +end; + +procedure TSynFMXSpellCheck.ClearErrors; +begin + FErrors.Clear; + InvalidateEditor; +end; + +function TSynFMXSpellCheck.ErrorAtPos(ALine, AChar: Integer): Integer; +var + I: Integer; + Err: TSynSpellError; +begin + for I := 0 to FErrors.Count - 1 do + begin + Err := FErrors[I]; + if (Err.Line = ALine) and (AChar >= Err.StartChar) and + (AChar < Err.EndChar) then + Exit(I); + end; + Result := -1; +end; + +end. diff --git a/Source/FMX/FMX.SynUnicode.pas b/Source/FMX/FMX.SynUnicode.pas new file mode 100644 index 00000000..07e12b87 --- /dev/null +++ b/Source/FMX/FMX.SynUnicode.pas @@ -0,0 +1,131 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit - FMX Edition + +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/ +-------------------------------------------------------------------------------} + +unit FMX.SynUnicode; + +{ FMX Unicode facade for SynEdit. + + Re-exports encoding types, constants, and helper functions from + SynUnicodeShared and adds FMX-specific clipboard routines + (IFMXClipboardService). Mirrors the Vcl.SynUnicode API so that + FMX consumer code can 'uses FMX.SynUnicode' as a single import. } + +{$I SynEdit.inc} + +interface + +uses + System.SysUtils, + System.Classes, + System.Rtti, + FMX.Platform, + SynUnicodeShared, + SynEditTypes; + +{ Re-exported constants from SynUnicodeShared } +const + WideNull = SynUnicodeShared.WideNull; + WideTab = SynUnicodeShared.WideTab; + WideSpace = SynUnicodeShared.WideSpace; + WideLF = SynUnicodeShared.WideLF; + WideLineFeed = SynUnicodeShared.WideLineFeed; + WideVerticalTab = SynUnicodeShared.WideVerticalTab; + WideFormFeed = SynUnicodeShared.WideFormFeed; + WideCR = SynUnicodeShared.WideCR; + WideCarriageReturn = SynUnicodeShared.WideCarriageReturn; + WideCRLF = SynUnicodeShared.WideCRLF; + WideLineSeparator = SynUnicodeShared.WideLineSeparator; + WideParagraphSeparator = SynUnicodeShared.WideParagraphSeparator; + +{ Re-exported types from SynUnicodeShared } +type + TSynEncoding = SynUnicodeShared.TSynEncoding; + TSynEncodings = SynUnicodeShared.TSynEncodings; + +{ Re-exported functions from SynUnicodeShared } +procedure StrSwapByteOrder(Str: PWideChar); inline; +function IsUTF8(Stream: TStream; out WithBOM: Boolean; BytesToCheck: Integer = $4000): Boolean; overload; inline; +function IsUTF8(const FileName: string; out WithBOM: Boolean; BytesToCheck: Integer = $4000): Boolean; overload; inline; +function IsUTF8(const Bytes: TBytes; Start: Integer = 0; BytesToCheck: Integer = $4000): Boolean; overload; inline; +function GetEncoding(const FileName: string; out WithBOM: Boolean): TEncoding; overload; inline; +function GetEncoding(Stream: TStream; out WithBOM: Boolean): TEncoding; overload; inline; + +{ FMX clipboard functions } +function ClipboardProvidesText: Boolean; +function GetClipboardText: string; +procedure SetClipboardText(const Text: string); + +implementation + +procedure StrSwapByteOrder(Str: PWideChar); +begin + SynUnicodeShared.StrSwapByteOrder(Str); +end; + +function IsUTF8(Stream: TStream; out WithBOM: Boolean; BytesToCheck: Integer): Boolean; +begin + Result := SynUnicodeShared.IsUTF8(Stream, WithBOM, BytesToCheck); +end; + +function IsUTF8(const FileName: string; out WithBOM: Boolean; BytesToCheck: Integer): Boolean; +begin + Result := SynUnicodeShared.IsUTF8(FileName, WithBOM, BytesToCheck); +end; + +function IsUTF8(const Bytes: TBytes; Start: Integer; BytesToCheck: Integer): Boolean; +begin + Result := SynUnicodeShared.IsUTF8(Bytes, Start, BytesToCheck); +end; + +function GetEncoding(const FileName: string; out WithBOM: Boolean): TEncoding; +begin + Result := SynUnicodeShared.GetEncoding(FileName, WithBOM); +end; + +function GetEncoding(Stream: TStream; out WithBOM: Boolean): TEncoding; +begin + Result := SynUnicodeShared.GetEncoding(Stream, WithBOM); +end; + +function ClipboardProvidesText: Boolean; +var + ClipService: IFMXClipboardService; + Value: TValue; +begin + Result := False; + if TPlatformServices.Current.SupportsPlatformService(IFMXClipboardService, ClipService) then + begin + Value := ClipService.GetClipboard; + Result := Value.IsType; + end; +end; + +function GetClipboardText: string; +var + ClipService: IFMXClipboardService; + Value: TValue; +begin + Result := ''; + if TPlatformServices.Current.SupportsPlatformService(IFMXClipboardService, ClipService) then + begin + Value := ClipService.GetClipboard; + if Value.IsType then + Result := Value.AsString; + end; +end; + +procedure SetClipboardText(const Text: string); +var + ClipService: IFMXClipboardService; +begin + if TPlatformServices.Current.SupportsPlatformService(IFMXClipboardService, ClipService) then + ClipService.SetClipboard(Text); +end; + +end. diff --git a/Source/Highlighters/SynHighlighterADSP21xx.pas b/Source/Highlighters/SynHighlighterADSP21xx.pas index 1023cddb..a3ec9080 100644 --- a/Source/Highlighters/SynHighlighterADSP21xx.pas +++ b/Source/Highlighters/SynHighlighterADSP21xx.pas @@ -12,7 +12,7 @@ The Original Code is based on the wbADSP21xxSyn.pas file from the mwEdit component suite by Martin Waldenburg and other developers, the Initial Author of this file is Wynand Breytenbach. -Unicode translation by Mal Hrz. +Unicode translation by Ma�l H�rz. All Rights Reserved. Contributors to the SynEdit and mwEdit projects are listed in the @@ -43,10 +43,10 @@ interface uses - Graphics, + System.UITypes, SynEditTypes, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, SysUtils, Classes; @@ -295,8 +295,10 @@ TSynADSP21xxSyn = class(TSynCustomHighlighter) procedure Next; override; procedure SetRange(Value: Pointer); override; procedure ResetRange; override; + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} function UseUserSettings(settingIndex: Integer): Boolean; override; procedure EnumUserSettings(settings: TStrings); override; + {$ENDIF} published property CommentAttri: TSynHighlighterAttributes read fCommentAttri write fCommentAttri; @@ -320,8 +322,12 @@ TSynADSP21xxSyn = class(TSynCustomHighlighter) implementation uses - Windows, + {$IFDEF MSWINDOWS} + Winapi.Windows, + {$ENDIF} + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} Registry, + {$ENDIF} SynEditStrConst; const @@ -2489,6 +2495,7 @@ procedure TSynADSP21xxSyn.ResetRange; fRange:= rsUnknown; end; +{$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} procedure TSynADSP21xxSyn.EnumUserSettings(settings: TStrings); begin { returns the user settings that exist in the registry } @@ -2595,6 +2602,7 @@ function TSynADSP21xxSyn.UseUserSettings(settingIndex: Integer): Boolean; end; finally StrLst.Free; end; end; +{$ENDIF} function TSynADSP21xxSyn.IsFilterStored: Boolean; begin diff --git a/Source/Highlighters/SynHighlighterAWK.pas b/Source/Highlighters/SynHighlighterAWK.pas index 1664c2f6..f100ab7a 100644 --- a/Source/Highlighters/SynHighlighterAWK.pas +++ b/Source/Highlighters/SynHighlighterAWK.pas @@ -43,10 +43,10 @@ interface {$I SynEdit.inc} uses - Graphics, + System.UITypes, SynEditTypes, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, SysUtils, Classes; diff --git a/Source/Highlighters/SynHighlighterAsm.pas b/Source/Highlighters/SynHighlighterAsm.pas index a17475cd..c569b047 100644 --- a/Source/Highlighters/SynHighlighterAsm.pas +++ b/Source/Highlighters/SynHighlighterAsm.pas @@ -49,7 +49,7 @@ interface System.Classes, System.Generics.Defaults, System.Generics.Collections, - Vcl.Graphics, + System.UITypes, SynEditTypes, SynEditHighlighter; diff --git a/Source/Highlighters/SynHighlighterBaan.pas b/Source/Highlighters/SynHighlighterBaan.pas index dbc9aed4..b4b81d59 100644 --- a/Source/Highlighters/SynHighlighterBaan.pas +++ b/Source/Highlighters/SynHighlighterBaan.pas @@ -12,7 +12,7 @@ The Original Code is based on the mwBaanSyn.pas file from the mwEdit component suite by Martin Waldenburg and other developers, the Initial Author of this file is "riceball". -Unicode translation by Mal Hrz. +Unicode translation by Ma�l H�rz. All Rights Reserved. Contributors to the SynEdit and mwEdit projects are listed in the @@ -44,10 +44,16 @@ interface uses - Windows, Messages, Controls, Graphics, Registry, + {$IFDEF MSWINDOWS} + Winapi.Windows, Winapi.Messages, + {$ENDIF} + System.UITypes, + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} + Registry, + {$ENDIF} SynEditTypes, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, SysUtils, Classes; type diff --git a/Source/Highlighters/SynHighlighterBat.pas b/Source/Highlighters/SynHighlighterBat.pas index 1af4e2d0..769653db 100644 --- a/Source/Highlighters/SynHighlighterBat.pas +++ b/Source/Highlighters/SynHighlighterBat.pas @@ -44,10 +44,10 @@ interface uses - Graphics, + System.UITypes, SynEditTypes, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, SysUtils, Classes; diff --git a/Source/Highlighters/SynHighlighterCAC.pas b/Source/Highlighters/SynHighlighterCAC.pas index 99555220..a6d00101 100644 --- a/Source/Highlighters/SynHighlighterCAC.pas +++ b/Source/Highlighters/SynHighlighterCAC.pas @@ -44,10 +44,10 @@ interface uses - Graphics, + System.UITypes, SynEditTypes, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, SysUtils, Classes; diff --git a/Source/Highlighters/SynHighlighterCPM.pas b/Source/Highlighters/SynHighlighterCPM.pas index 5e751aa8..49db08f6 100644 --- a/Source/Highlighters/SynHighlighterCPM.pas +++ b/Source/Highlighters/SynHighlighterCPM.pas @@ -34,10 +34,10 @@ interface uses - Graphics, + System.UITypes, SynEditTypes, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, SysUtils, Classes; diff --git a/Source/Highlighters/SynHighlighterCS.pas b/Source/Highlighters/SynHighlighterCS.pas index 79e8bd66..bd9d1df0 100644 --- a/Source/Highlighters/SynHighlighterCS.pas +++ b/Source/Highlighters/SynHighlighterCS.pas @@ -13,7 +13,7 @@ which in turn is based on the dcjCppSyn.pas file from the mwEdit component suite by Martin Waldenburg and other developers, the Initial Author of this file is Michael Trier. -Unicode translation by Mal Hrz. +Unicode translation by Ma�l H�rz. All Rights Reserved. Contributors to the SynEdit and mwEdit projects are listed in the @@ -48,11 +48,10 @@ interface uses - Graphics, + System.UITypes, SynEditTypes, SynEditHighlighter, - SynEditMiscClasses, - SynUnicode, + SynUnicodeShared, SysUtils, Classes, SynEditCodeFolding; @@ -226,8 +225,10 @@ TSynCSSyn = class(TSynCustomCodeFoldingHighlighter) procedure Next; override; procedure SetRange(Value: Pointer); override; procedure ResetRange; override; + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} function UseUserSettings(settingIndex: Integer): Boolean; override; procedure EnumUserSettings(settings: TStrings); override; + {$ENDIF} property ExtTokenID: TxtkTokenKind read GetExtTokenID; procedure ScanForFoldRanges(FoldRanges: TSynFoldRanges; LinesToScan: TStrings; FromLine: Integer; ToLine: Integer); override; @@ -256,8 +257,12 @@ TSynCSSyn = class(TSynCustomCodeFoldingHighlighter) implementation uses - Windows, + {$IFDEF MSWINDOWS} + Winapi.Windows, + {$ENDIF} + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} Registry, + {$ENDIF} SynEditStrConst, SynEditMiscProcs; @@ -1864,6 +1869,7 @@ procedure TSynCSSyn.SetRange(Value: Pointer); fRange := TRangeState(Value); end; +{$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} procedure TSynCSSyn.EnumUserSettings(settings: TStrings); begin { returns the user settings that exist in the registry } @@ -2006,6 +2012,7 @@ function TSynCSSyn.UseUserSettings(settingIndex: Integer): Boolean; begin Result := ReadCPPBSettings(settingIndex); end; { TSynCSSyn.UseUserSettings } +{$ENDIF} function TSynCSSyn.GetSampleSource: string; begin diff --git a/Source/Highlighters/SynHighlighterCache.pas b/Source/Highlighters/SynHighlighterCache.pas index 19454dbb..192947b0 100644 --- a/Source/Highlighters/SynHighlighterCache.pas +++ b/Source/Highlighters/SynHighlighterCache.pas @@ -44,10 +44,10 @@ interface uses - Graphics, + System.UITypes, SynEditTypes, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, SysUtils, Classes; diff --git a/Source/Highlighters/SynHighlighterCobol.pas b/Source/Highlighters/SynHighlighterCobol.pas index 95a6f084..8201300d 100644 --- a/Source/Highlighters/SynHighlighterCobol.pas +++ b/Source/Highlighters/SynHighlighterCobol.pas @@ -41,7 +41,7 @@ interface System.Classes, System.Generics.Defaults, System.Generics.Collections, - Vcl.Graphics, + System.UITypes, SynEditTypes, SynEditHighlighter, System.RegularExpressions, diff --git a/Source/Highlighters/SynHighlighterCpp.pas b/Source/Highlighters/SynHighlighterCpp.pas index 2ed7d7b7..73bb4c4a 100644 --- a/Source/Highlighters/SynHighlighterCpp.pas +++ b/Source/Highlighters/SynHighlighterCpp.pas @@ -12,7 +12,7 @@ The Original Code is based on the dcjCppSyn.pas file from the mwEdit component suite by Martin Waldenburg and other developers, the Initial Author of this file is Michael Trier. -Unicode translation by Mal Hrz. +Unicode translation by Ma�l H�rz. All Rights Reserved. Contributors to the SynEdit and mwEdit projects are listed in the @@ -44,11 +44,11 @@ interface uses - Graphics, + System.UITypes, SynEditTypes, SynEditHighlighter, SysUtils, - SynUnicode, + SynUnicodeShared, Classes, SynEditCodeFolding; @@ -165,8 +165,10 @@ TSynCppSyn = class(TSynCustomCodeFoldingHighlighter) procedure Next; override; procedure SetRange(Value: Pointer); override; procedure ResetRange; override; + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} function UseUserSettings(settingIndex: Integer): Boolean; override; procedure EnumUserSettings(settings: TStrings); override; + {$ENDIF} property ExtTokenID: TxtkTokenKind read GetExtTokenID; property NewPreprocesorStyle: Boolean read FNewPreprocesorStyle write SetNewPreprocesorStyle; //++ CodeFolding @@ -194,8 +196,12 @@ TSynCppSyn = class(TSynCustomCodeFoldingHighlighter) implementation uses - Windows, + {$IFDEF MSWINDOWS} + Winapi.Windows, + {$ENDIF} + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} Registry, + {$ENDIF} SynEditStrConst, SynEditMiscProcs; @@ -1476,6 +1482,7 @@ procedure TSynCppSyn.SetRange(Value: Pointer); fRange := TRangeState(Value); end; +{$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} procedure TSynCppSyn.EnumUserSettings(settings: TStrings); begin { returns the user settings that exist in the registry } @@ -1642,6 +1649,7 @@ function TSynCppSyn.UseUserSettings(settingIndex: Integer): Boolean; begin Result := ReadCPPBSettings(settingIndex); end; { TSynCppSyn.UseUserSettings } +{$ENDIF} function TSynCppSyn.IsFilterStored: Boolean; begin diff --git a/Source/Highlighters/SynHighlighterCss.pas b/Source/Highlighters/SynHighlighterCss.pas index 82690867..903973a6 100644 --- a/Source/Highlighters/SynHighlighterCss.pas +++ b/Source/Highlighters/SynHighlighterCss.pas @@ -16,7 +16,7 @@ this in turn was based on the hkHTMLSyn.pas file from the mwEdit component suite by Martin Waldenburg and other developers, the Initial Author of this file is Hideo Koiso. -Unicode translation by Mal Hrz. +Unicode translation by Ma�l H�rz. All Rights Reserved. Contributors to the SynEdit and mwEdit projects are listed in the @@ -62,9 +62,10 @@ interface System.Classes, System.Generics.Defaults, System.Generics.Collections, - Vcl.Graphics, + System.UITypes, SynEditTypes, - SynEditHighlighter; + SynEditHighlighter, + SynEditCodeFolding; type TtkTokenKind = (tkComment, tkAtRule, tkProperty, tkSelector, tkSelectorAttrib, @@ -74,7 +75,7 @@ interface TRangeState = (rsComment, rsSelector, rsDeclaration, rsUnknown, rsProperty, rsValue, rsAttrib, rsParameter); - TSynCssSyn = class(TSynCustomHighlighter) + TSynCssSyn = class(TSynCustomCodeFoldingHighlighter) private fRange: TRangeState; fCommentRange: TRangeState; @@ -145,6 +146,8 @@ TSynCssSyn = class(TSynCustomHighlighter) procedure Next; override; procedure SetRange(Value: Pointer); override; procedure ResetRange; override; + procedure ScanForFoldRanges(FoldRanges: TSynFoldRanges; + LinesToScan: TStrings; FromLine: Integer; ToLine: Integer); override; published property CommentAttri: TSynHighlighterAttributes read fCommentAttri write fCommentAttri; @@ -1066,10 +1069,26 @@ procedure TSynCssSyn.ResetRange; function TSynCssSyn.GetSampleSource: string; begin - Result := '/* Syntax Highlighting */'#13#10 + - 'body { font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 8pt }'#13#10 + - 'H1 { font-size: 18pt; color: #000099; made-up-property: 1 }'; -end; { GetSampleSource } + Result := + '/* Main Stylesheet */'#13#10 + + 'body {'#13#10 + + ' font-family: Arial, sans-serif;'#13#10 + + ' font-size: 14px;'#13#10 + + ' color: #333;'#13#10 + + '}'#13#10 + + 'h1 {'#13#10 + + ' font-size: 24px;'#13#10 + + ' color: #000099;'#13#10 + + '}'#13#10 + + '@media screen and (max-width: 768px) {'#13#10 + + ' body {'#13#10 + + ' font-size: 12px;'#13#10 + + ' }'#13#10 + + ' h1 {'#13#10 + + ' font-size: 18px;'#13#10 + + ' }'#13#10 + + '}'; +end; class function TSynCssSyn.GetLanguageName: string; begin @@ -1096,6 +1115,105 @@ class function TSynCssSyn.GetFriendlyLanguageName: string; Result := SYNS_FriendlyLangCSS; end; +// ============================================================================= +// Code Folding Support +// ============================================================================= + +procedure CountCssBraces(const S: string; out Opens, Closes: Integer; + var InComment: Boolean); +{ Scan a single line for CSS brace pairs. + - Braces inside /* ... */ comments are ignored. + - Braces inside quoted strings ("..." or '...') are ignored. + - InComment persists across lines for multi-line comments. } +var + I, Len: Integer; + InString: WideChar; +begin + Opens := 0; + Closes := 0; + I := 1; + Len := Length(S); + InString := #0; + + while I <= Len do + begin + if InComment then + begin + if (S[I] = '*') and (I < Len) and (S[I + 1] = '/') then + begin + InComment := False; + Inc(I, 2); + end + else + Inc(I); + end + else if InString <> #0 then + begin + if (S[I] = '\') and (I < Len) then + Inc(I, 2) // skip escaped character + else if S[I] = InString then + begin + InString := #0; + Inc(I); + end + else + Inc(I); + end + else if (S[I] = '/') and (I < Len) and (S[I + 1] = '*') then + begin + InComment := True; + Inc(I, 2); + end + else if (S[I] = '"') or (S[I] = '''') then + begin + InString := S[I]; + Inc(I); + end + else if S[I] = '{' then + begin + Inc(Opens); + Inc(I); + end + else if S[I] = '}' then + begin + Inc(Closes); + Inc(I); + end + else + Inc(I); + end; +end; + +procedure TSynCssSyn.ScanForFoldRanges(FoldRanges: TSynFoldRanges; + LinesToScan: TStrings; FromLine, ToLine: Integer); +var + Line: Integer; + CurLine: string; + Opens, Closes: Integer; + InComment: Boolean; +begin + InComment := False; + + for Line := FromLine to ToLine do + begin + CurLine := LinesToScan[Line]; + if Trim(CurLine) = '' then + begin + FoldRanges.NoFoldInfo(Line + 1); + Continue; + end; + + CountCssBraces(CurLine, Opens, Closes, InComment); + + if Opens > Closes then + FoldRanges.StartFoldRange(Line + 1, 1) + else if Closes > Opens then + FoldRanges.StopFoldRange(Line + 1, 1) + else + FoldRanges.NoFoldInfo(Line + 1); + end; +end; + initialization RegisterPlaceableHighlighter(TSynCssSyn); end. diff --git a/Source/Highlighters/SynHighlighterDOT.pas b/Source/Highlighters/SynHighlighterDOT.pas index f1491f36..065345eb 100644 --- a/Source/Highlighters/SynHighlighterDOT.pas +++ b/Source/Highlighters/SynHighlighterDOT.pas @@ -12,7 +12,7 @@ The original code is: SynHighlighterDOT.pas, released 2002-11-30. Description: DOT Syntax Parser/Highlighter The initial author of this file is nissl (nissl@tiscali.it, nissl@mammuth.it) -Unicode translation by Mal Hrz. +Unicode translation by Ma�l H�rz. Copyright (c) 2002, all rights reserved. Contributors to the SynEdit and mwEdit projects are listed in the @@ -44,12 +44,13 @@ interface uses - Windows, - Controls, - Graphics, + {$IFDEF MSWINDOWS} + Winapi.Windows, + {$ENDIF} + System.UITypes, SynEditTypes, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, SysUtils, Classes; diff --git a/Source/Highlighters/SynHighlighterDWS.pas b/Source/Highlighters/SynHighlighterDWS.pas index 56a2e54d..ff3eb950 100644 --- a/Source/Highlighters/SynHighlighterDWS.pas +++ b/Source/Highlighters/SynHighlighterDWS.pas @@ -41,8 +41,10 @@ interface uses + {$IFDEF MSWINDOWS} Winapi.Windows, - Vcl.Graphics, + {$ENDIF} + System.UITypes, SynEditTypes, SynEditHighlighter, System.SysUtils, diff --git a/Source/Highlighters/SynHighlighterDelphi.pas b/Source/Highlighters/SynHighlighterDelphi.pas index 7dc55f6a..3c9771a4 100644 --- a/Source/Highlighters/SynHighlighterDelphi.pas +++ b/Source/Highlighters/SynHighlighterDelphi.pas @@ -10,7 +10,7 @@ interface uses - SysUtils, Classes, Graphics, SynEditTypes, SynEditHighlighter, + SysUtils, Classes, System.UITypes, SynEditTypes, SynEditHighlighter, SynEditCodeFolding, SynEditStrConst, System.Math, System.RegularExpressions; type @@ -43,7 +43,9 @@ TSynDelphiSyn = class(TSynCustomCodeFoldingHighlighter) fRE_BlockBegin: TRegEx; fRE_BlockEnd: TRegEx; fRE_Code: TRegEx; + fRE_Interface: TRegEx; fRE_Implementation: TRegEx; + fRE_Begin: TRegEx; // Parsers procedure AddressOpProc; @@ -143,10 +145,12 @@ implementation begin // These are now initialized ONCE for the entire application lifetime // and are scoped specifically to TSynDelphiSyn. - FRE_BlockBegin := TRegEx.Create('\b(begin|record|class|case|try)\b', [roIgnoreCase]); + FRE_BlockBegin := TRegEx.Create('\b(begin|record|class(?!\s+(var|function|procedure|constructor|destructor|operator)\b)|case|try)\b', [roIgnoreCase]); FRE_BlockEnd := TRegEx.Create('\bend\b', [roIgnoreCase]); FRE_Code := TRegEx.Create('^\s*(function|procedure|constructor|destructor)\b', [roIgnoreCase]); + FRE_Interface := TRegEx.Create('^interface\b', [roIgnoreCase]); FRE_Implementation := TRegEx.Create('^implementation\b', [roIgnoreCase]); + FRE_Begin := TRegEx.Create('\bbegin\b', [roIgnoreCase]); end; constructor TSynDelphiSyn.Create(AOwner: TComponent); @@ -684,10 +688,11 @@ procedure TSynDelphiSyn.ScanForFoldRanges(FoldRanges: TSynFoldRanges; var CurLine: string; Line: Integer; + PendingProcLine: Integer; + HasImplementation: Boolean; function IsStartKeyword(const S: string): Boolean; begin - // Simple check for folding start blocks Result := fRE_BlockBegin.IsMatch(S); end; @@ -697,6 +702,8 @@ procedure TSynDelphiSyn.ScanForFoldRanges(FoldRanges: TSynFoldRanges; end; begin + PendingProcLine := -1; + HasImplementation := False; for Line := FromLine to ToLine do begin CurLine := Trim(LinesToScan[Line]); @@ -711,19 +718,45 @@ procedure TSynDelphiSyn.ScanForFoldRanges(FoldRanges: TSynFoldRanges; FoldRanges.StartFoldRange(Line + 1, FoldRegionType) else if CurLine.ToUpper.StartsWith('{$ENDREGION') then FoldRanges.StopFoldRange(Line + 1, FoldRegionType) - // Implementation section + // Interface section + else if fRE_Interface.IsMatch(CurLine) then + FoldRanges.StartFoldRange(Line + 1, 18) + // Implementation section (closes interface fold, opens implementation) else if fRE_Implementation.IsMatch(CurLine) then - FoldRanges.StartFoldRange(Line + 1, 18) // FT_Implementation - // Procedure/Function headers + begin + FoldRanges.StopStartFoldRange(Line + 1, 18); + HasImplementation := True; + end + // Procedure/Function headers - defer fold until begin is found else if fRE_Code.IsMatch(CurLine) then - FoldRanges.StartFoldRange(Line + 1, 16) // FT_CodeDeclaration - // Standard Blocks (begin..end) + PendingProcLine := Line + 1 + // Standard Blocks else begin if IsStartKeyword(CurLine) then - FoldRanges.StartFoldRange(Line + 1, 1) + begin + if (PendingProcLine >= 0) and fRE_Begin.IsMatch(CurLine) then + begin + // begin after procedure/function: fold from the header line + FoldRanges.StartFoldRange(PendingProcLine, 1); + PendingProcLine := -1; + end + else + begin + // record/class/case/try or standalone begin + FoldRanges.StartFoldRange(Line + 1, 1); + PendingProcLine := -1; + end; + end else if IsEndKeyword(CurLine) then - FoldRanges.StopFoldRange(Line + 1, 1); + begin + // end. closes implementation section; end; closes block + if HasImplementation and CurLine.ToUpper.StartsWith('END.') then + FoldRanges.StopFoldRange(Line + 1, 18) + else + FoldRanges.StopFoldRange(Line + 1, 1); + PendingProcLine := -1; + end; end; end; end; diff --git a/Source/Highlighters/SynHighlighterDfm.pas b/Source/Highlighters/SynHighlighterDfm.pas index 6a710c2c..9c5371bd 100644 --- a/Source/Highlighters/SynHighlighterDfm.pas +++ b/Source/Highlighters/SynHighlighterDfm.pas @@ -44,10 +44,10 @@ interface uses - Graphics, + System.UITypes, SynEditTypes, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, SysUtils, Classes; diff --git a/Source/Highlighters/SynHighlighterDml.pas b/Source/Highlighters/SynHighlighterDml.pas index d140f067..4eec9ca3 100644 --- a/Source/Highlighters/SynHighlighterDml.pas +++ b/Source/Highlighters/SynHighlighterDml.pas @@ -46,10 +46,10 @@ interface uses - Graphics, + System.UITypes, SynEditTypes, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, SysUtils, Classes; diff --git a/Source/Highlighters/SynHighlighterEiffel.pas b/Source/Highlighters/SynHighlighterEiffel.pas index 44c74936..d5fc5de0 100644 --- a/Source/Highlighters/SynHighlighterEiffel.pas +++ b/Source/Highlighters/SynHighlighterEiffel.pas @@ -43,10 +43,10 @@ interface uses - Graphics, + System.UITypes, SynEditTypes, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, SysUtils, Classes; diff --git a/Source/Highlighters/SynHighlighterFortran.pas b/Source/Highlighters/SynHighlighterFortran.pas index bb7ef113..bb056e75 100644 --- a/Source/Highlighters/SynHighlighterFortran.pas +++ b/Source/Highlighters/SynHighlighterFortran.pas @@ -44,10 +44,10 @@ interface uses - Graphics, + System.UITypes, SynEditTypes, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, SysUtils, Classes; diff --git a/Source/Highlighters/SynHighlighterFoxpro.pas b/Source/Highlighters/SynHighlighterFoxpro.pas index 12aa985b..c0a796c8 100644 --- a/Source/Highlighters/SynHighlighterFoxpro.pas +++ b/Source/Highlighters/SynHighlighterFoxpro.pas @@ -50,7 +50,7 @@ interface System.Classes, System.Generics.Defaults, System.Generics.Collections, - Vcl.Graphics, + System.UITypes, SynEditTypes, SynEditHighlighter, System.RegularExpressions, diff --git a/Source/Highlighters/SynHighlighterGWS.pas b/Source/Highlighters/SynHighlighterGWS.pas index c7a26be2..7c7fb866 100644 --- a/Source/Highlighters/SynHighlighterGWS.pas +++ b/Source/Highlighters/SynHighlighterGWS.pas @@ -38,10 +38,10 @@ interface uses - Graphics, + System.UITypes, SynEditTypes, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, SysUtils, Classes; diff --git a/Source/Highlighters/SynHighlighterGalaxy.pas b/Source/Highlighters/SynHighlighterGalaxy.pas index 6cb8cab5..9d2c1973 100644 --- a/Source/Highlighters/SynHighlighterGalaxy.pas +++ b/Source/Highlighters/SynHighlighterGalaxy.pas @@ -12,7 +12,7 @@ The Original Code is based on the mkGalaxySyn.pas file from the mwEdit component suite by Martin Waldenburg and other developers, the Initial Author of this file is Martijn van der Kooij. -Unicode translation by Mal Hrz. +Unicode translation by Ma�l H�rz. All Rights Reserved. Contributors to the SynEdit and mwEdit projects are listed in the @@ -45,10 +45,13 @@ interface uses - Windows, - Graphics, + {$IFDEF MSWINDOWS} + Winapi.Windows, + {$ENDIF} + System.UITypes, + SynEditTypes, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, SysUtils, Classes; type @@ -99,8 +102,10 @@ TSynGalaxySyn = class(TSynCustomHighlighter) procedure Next; override; procedure SetRange(Value: Pointer); override; procedure ResetRange; override; + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} function SaveToRegistry(RootKey: HKEY; Key: string): Boolean; override; function LoadFromRegistry(RootKey: HKEY; Key: string): Boolean; override; + {$ENDIF} published property CommentAttri: TSynHighlighterAttributes read fCommentAttri write fCommentAttri; @@ -117,7 +122,9 @@ TSynGalaxySyn = class(TSynCustomHighlighter) implementation uses + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} Registry, + {$ENDIF} SynEditStrConst; function TSynGalaxySyn.IsIdentChar(AChar: WideChar): Boolean; @@ -386,6 +393,7 @@ class function TSynGalaxySyn.GetLanguageName: string; Result := SYNS_LangGalaxy; end; +{$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} function TSynGalaxySyn.LoadFromRegistry(RootKey: HKEY; Key: string): Boolean; var r: TRegistry; @@ -423,6 +431,7 @@ function TSynGalaxySyn.SaveToRegistry(RootKey: HKEY; Key: string): Boolean; r.Free; end; end; +{$ENDIF} class function TSynGalaxySyn.GetFriendlyLanguageName: string; begin diff --git a/Source/Highlighters/SynHighlighterGeneral.pas b/Source/Highlighters/SynHighlighterGeneral.pas index f4460127..10d19508 100644 --- a/Source/Highlighters/SynHighlighterGeneral.pas +++ b/Source/Highlighters/SynHighlighterGeneral.pas @@ -13,7 +13,7 @@ mwEdit component suite by Martin Waldenburg and other developers, the Initial Author of this file is Martin Waldenburg. Portions written by Martin Waldenburg are copyright 1999 Martin Waldenburg. -Unicode translation by Mal Hrz. +Unicode translation by Ma�l H�rz. All Rights Reserved. Contributors to the SynEdit and mwEdit projects are listed in the @@ -44,11 +44,13 @@ interface uses - Windows, - Graphics, + {$IFDEF MSWINDOWS} + Winapi.Windows, + {$ENDIF} + System.UITypes, SynEditTypes, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, SysUtils, Classes; @@ -137,8 +139,10 @@ TSynGeneralSyn = class(TSynCustomHighlighter) procedure Next; override; procedure ResetRange; override; procedure SetRange(Value: Pointer); override; + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} function SaveToRegistry(RootKey: HKEY; Key: string): Boolean; override; function LoadFromRegistry(RootKey: HKEY; Key: string): Boolean; override; + {$ENDIF} property OnGetTokenAttribute: TGetTokenAttributeEvent read fOnGetTokenAttribute write fOnGetTokenAttribute; property StringMultiLine: Boolean read FStringMultiLine write FStringMultiLine; published @@ -170,7 +174,9 @@ TSynGeneralSyn = class(TSynCustomHighlighter) implementation uses + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} Registry, + {$ENDIF} SynEditStrConst; function TSynGeneralSyn.IsIdentChar(AChar: WideChar): Boolean; @@ -717,6 +723,7 @@ class function TSynGeneralSyn.GetLanguageName: string; Result := SYNS_LangGeneral; end; +{$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} function TSynGeneralSyn.LoadFromRegistry(RootKey: HKEY; Key: string): Boolean; var Reg: TRegistry; @@ -749,6 +756,7 @@ function TSynGeneralSyn.SaveToRegistry(RootKey: HKEY; Key: string): Boolean; Result := False; finally Reg.Free; end; end; +{$ENDIF} function TSynGeneralSyn.GetStringDelim: TStringDelim; begin diff --git a/Source/Highlighters/SynHighlighterHC11.pas b/Source/Highlighters/SynHighlighterHC11.pas index 71784166..ee5c875e 100644 --- a/Source/Highlighters/SynHighlighterHC11.pas +++ b/Source/Highlighters/SynHighlighterHC11.pas @@ -49,7 +49,7 @@ interface System.Classes, System.Generics.Defaults, System.Generics.Collections, - Vcl.Graphics, + System.UITypes, SynEditTypes, SynEditHighlighter; diff --git a/Source/Highlighters/SynHighlighterHP48.pas b/Source/Highlighters/SynHighlighterHP48.pas index 37397f50..42d8821b 100644 --- a/Source/Highlighters/SynHighlighterHP48.pas +++ b/Source/Highlighters/SynHighlighterHP48.pas @@ -12,7 +12,7 @@ The Original Code is based on the cbHPSyn.pas file from the mwEdit component suite by Martin Waldenburg and other developers, the Initial Author of this file is Cyrille de Brebisson. -Unicode translation by Mal Hrz. +Unicode translation by Ma�l H�rz. All Rights Reserved. Contributors to the SynEdit and mwEdit projects are listed in the @@ -43,11 +43,15 @@ interface uses - Windows, + {$IFDEF MSWINDOWS} + Winapi.Windows, + {$ENDIF} + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} Registry, - Graphics, + {$ENDIF} + System.UITypes, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, SysUtils, Classes; @@ -170,8 +174,10 @@ TSynHP48Syn = class(TSynCustomHighLighter) function GetRange: Pointer; override; procedure SetRange(Value: Pointer); override; procedure ResetRange; override; + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} function SaveToRegistry(RootKey: HKEY; Key: string): Boolean; override; function LoadFromRegistry(RootKey: HKEY; Key: string): Boolean; override; + {$ENDIF} procedure Assign(Source: TPersistent); override; property AsmKeyWords: TSpeedStringList read FAsmKeyWords; property SAsmFoField: TSpeedStringList read FSAsmNoField; @@ -797,6 +803,7 @@ procedure TSynHP48Syn.EndOfToken; Inc(Run); end; +{$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} function TSynHP48Syn.LoadFromRegistry(RootKey: HKEY; Key: string): Boolean; var r: TRegistry; @@ -835,6 +842,7 @@ function TSynHP48Syn.SaveToRegistry(RootKey: HKEY; Key: string): Boolean; finally r.Free; end; end; +{$ENDIF} procedure TSynHP48Syn.Assign(Source: TPersistent); var diff --git a/Source/Highlighters/SynHighlighterHaskell.pas b/Source/Highlighters/SynHighlighterHaskell.pas index 032764ed..4aee5f78 100644 --- a/Source/Highlighters/SynHighlighterHaskell.pas +++ b/Source/Highlighters/SynHighlighterHaskell.pas @@ -13,7 +13,7 @@ which in turn was based on the dcjCppSyn.pas file from the mwEdit component suite by Martin Waldenburg and other developers, the Initial Author of this file is Michael Trier. -Unicode translation by Mal Hrz. +Unicode translation by Ma�l H�rz. All Rights Reserved. Contributors to the SynEdit and mwEdit projects are listed in the @@ -49,10 +49,10 @@ interface uses - Graphics, + System.UITypes, SynEditTypes, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, SysUtils, Classes; @@ -153,7 +153,9 @@ TSynHaskellSyn = class(TSynCustomHighlighter) procedure Next; override; procedure SetRange(Value: Pointer); override; procedure ResetRange; override; + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} procedure EnumUserSettings(settings: TStrings); override; + {$ENDIF} property ExtTokenID: TxtkTokenKind read GetExtTokenID; published property CommentAttri: TSynHighlighterAttributes read fCommentAttri @@ -174,8 +176,12 @@ TSynHaskellSyn = class(TSynCustomHighlighter) implementation uses - Windows, + {$IFDEF MSWINDOWS} + Winapi.Windows, + {$ENDIF} + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} Registry, + {$ENDIF} SynEditStrConst; const @@ -891,6 +897,7 @@ procedure TSynHaskellSyn.SetRange(Value: Pointer); fRange := TRangeState(Value); end; +{$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} procedure TSynHaskellSyn.EnumUserSettings(settings: TStrings); begin { returns the user settings that exist in the registry } @@ -911,6 +918,7 @@ procedure TSynHaskellSyn.EnumUserSettings(settings: TStrings); end; end; end; +{$ENDIF} function TSynHaskellSyn.IsFilterStored: Boolean; begin diff --git a/Source/Highlighters/SynHighlighterHtml.pas b/Source/Highlighters/SynHighlighterHtml.pas index 4d79464c..0224f5a6 100644 --- a/Source/Highlighters/SynHighlighterHtml.pas +++ b/Source/Highlighters/SynHighlighterHtml.pas @@ -12,7 +12,7 @@ The Original Code is based on the hkHTMLSyn.pas file from the mwEdit component suite by Martin Waldenburg and other developers, the Initial Author of this file is Hideo Koiso. -Unicode translation by Mal Hrz. +Unicode translation by Ma�l H�rz. HTML5 tags added by CodehunterWorks All Rights Reserved. @@ -49,10 +49,11 @@ interface {$I SynEdit.inc} uses - Graphics, + System.UITypes, SynEditTypes, SynEditHighlighter, - SynUnicode, + SynEditCodeFolding, + SynUnicodeShared, SysUtils, Classes; @@ -85,7 +86,7 @@ interface ('Ψ'), { ? } { greek capital psi } ('Ω'), { O } { greek capital omega } ('α'), { a } { greek small alpha } - ('β'), { } { greek small beta } + ('β'), { � } { greek small beta } ('γ'), { ? } { greek small gamma } ('δ'), { d } { greek small delta } ('ε'), { e } { greek small epsilon } @@ -95,7 +96,7 @@ interface ('ι'), { ? } { greek small iota } ('κ'), { ? } { greek small kappa } ('λ'), { ? } { greek small lambda } - ('μ'), { } { greek small mu } + ('μ'), { � } { greek small mu } ('ν'), { ? } { greek small nu } ('ξ'), { ? } { greek small xi } ('ο'), { ? } { greek small omicron } @@ -112,8 +113,8 @@ interface ('ϑ'), { ? } { greek small theta symbol } ('ϒ'), { ? } { greek upsilon with hook symbol } ('ϖ'), { ? } { greek pi symbol } - ('•'), { } { bullet } - ('…'), { } { horizontal ellipsis } + ('•'), { � } { bullet } + ('…'), { � } { horizontal ellipsis } ('′'), { ' } { prime } ('″'), { " } { double prime } ('‾'), { ? } { overline, = spacing overscore } @@ -121,7 +122,7 @@ interface ('℘'), { P } { script capital P } ('ℑ'), { I } { imaginary part } ('ℜ'), { R } { real part } - ('™'), { } { trademark sign } + ('™'), { � } { trademark sign } ('ℵ'), { ? } { first transfinite cardinal } ('←'), { ? } { leftwards arrow } ('↑'), { ? } { upwards arrow } @@ -137,7 +138,7 @@ interface ('∀'), { ? } { for all } ('∂'), { ? } { partial differential } ('∃'), { ? } { there exists } - ('∅'), { } { empty set } + ('∅'), { � } { empty set } ('∇'), { ? } { backward difference } ('∈'), { ? } { element of } ('∉'), { ? } { not an element of } @@ -158,7 +159,7 @@ interface ('∴'), { ? } { therefore } ('∼'), { ~ } { similar to = tilde operator } ('≅'), { ? } { approximately equal to } - ('≈'), { } { almost euqal to } + ('≈'), { � } { almost euqal to } ('≠'), { ? } { not equal to } ('≡'), { = } { identical to } ('≤'), { = } { less-than or equal to } @@ -171,7 +172,7 @@ interface ('⊕'), { ? } { circled plus } ('⊗'), { ? } { circled times } ('⊥'), { ? } { orthogonal to = perpendicular } - ('⋅'), { } { dot operator } + ('⋅'), { � } { dot operator } ('⌈'), { ? } { left ceiling } ('⌉'), { ? } { right ceiling } ('⌊'), { ? } { left floor } @@ -183,23 +184,23 @@ interface ('♣'), { ? } { black club suit } ('♥'), { ? } { black heart suit } ('♦'), { ? } { black diamond suit } - ('‘'), { } { left single quote } - ('’'), { } { right single quote } - ('‚'), { } { single low-9 quote } - ('“'), { } { left double quote } - ('”'), { } { right double quote } - ('„'), { } { double low-9 quote } - ('†'), { } { dagger } - ('‡'), { } { double dagger } - ('‰'), { } { per mill sign } - ('‹'), { } { single left-pointing angle quote } - ('›'), { } { single right-pointing angle quote } + ('‘'), { � } { left single quote } + ('’'), { � } { right single quote } + ('‚'), { � } { single low-9 quote } + ('“'), { � } { left double quote } + ('”'), { � } { right double quote } + ('„'), { � } { double low-9 quote } + ('†'), { � } { dagger } + ('‡'), { � } { double dagger } + ('‰'), { � } { per mill sign } + ('‹'), { � } { single left-pointing angle quote } + ('›'), { � } { single right-pointing angle quote } ('"'), { " " } { double quotation mark } ('&'), { & & } { ampersand } ('<'), { < < } { less-than sign } ('>'), { > } { greater-than sign } - ('–'), { – } { en dash } - ('—'), { — } { em dash } + ('–'), { – � } { en dash } + ('—'), { — � } { em dash } (' '), {   } { nonbreaking space } (' '), { } { thin space } (' '), { } { en space } @@ -207,108 +208,108 @@ interface ('¡'), { ¡ ! } { inverted exclamation } ('¢'), { ¢ c } { cent sign } ('£'), { £ L } { pound sterling } - ('¤'), { ¤ } { general currency sign } + ('¤'), { ¤ � } { general currency sign } ('¥'), { ¥ Y } { yen sign } - ('¦'), { ¦ } { broken vertical bar } - ('&brkbar;'), { ¦ } { broken vertical bar } - ('§'), { § } { section sign } - ('¨'), { ¨ } { umlaut } - ('¨'), { ¨ } { umlaut } - ('©'), { © } { copyright } + ('¦'), { ¦ � } { broken vertical bar } + ('&brkbar;'), { ¦ � } { broken vertical bar } + ('§'), { § � } { section sign } + ('¨'), { ¨ � } { umlaut } + ('¨'), { ¨ � } { umlaut } + ('©'), { © � } { copyright } ('ª'), { ª a } { feminine ordinal } - ('«'), { « } { left angle quote } - ('¬'), { ¬ } { not sign } - ('­'), { ­ } { soft hyphen } - ('®'), { ® } { registered trademark } - ('¯'), { ¯ } { macron accent } - ('&hibar;'), { ¯ } { macron accent } - ('°'), { ° } { degree sign } - ('±'), { ± } { plus or minus } + ('«'), { « � } { left angle quote } + ('¬'), { ¬ � } { not sign } + ('­'), { ­ � } { soft hyphen } + ('®'), { ® � } { registered trademark } + ('¯'), { ¯ � } { macron accent } + ('&hibar;'), { ¯ � } { macron accent } + ('°'), { ° � } { degree sign } + ('±'), { ± � } { plus or minus } ('²'), { ² 2 } { superscript two } ('³'), { ³ 3 } { superscript three } - ('´'), { ´ } { acute accent } - ('µ'), { µ } { micro sign } - ('¶'), { ¶ } { paragraph sign } - ('·'), { · } { middle dot } - ('¸'), { ¸ } { cedilla } + ('´'), { ´ � } { acute accent } + ('µ'), { µ � } { micro sign } + ('¶'), { ¶ � } { paragraph sign } + ('·'), { · � } { middle dot } + ('¸'), { ¸ � } { cedilla } ('¹'), { ¹ 1 } { superscript one } ('º'), { º o } { masculine ordinal } - ('»'), { » } { right angle quote } + ('»'), { » � } { right angle quote } ('¼'), { ¼ 1 } { one-fourth } ('½'), { ½ 1 } { one-half } ('¾'), { ¾ 3 } { three-fourths } ('¿'), { ¿ ? } { inverted question mark } ('À'), { À A } { uppercase A, grave accent } - ('Á'), { Á } { uppercase A, acute accent } - ('Â'), {  } { uppercase A, circumflex accent } + ('Á'), { Á � } { uppercase A, acute accent } + ('Â'), {  � } { uppercase A, circumflex accent } ('Ã'), { à A } { uppercase A, tilde } - ('Ä'), { Ä } { uppercase A, umlaut } + ('Ä'), { Ä � } { uppercase A, umlaut } ('Å'), { Å A } { uppercase A, ring } ('Æ'), { Æ A } { uppercase AE } - ('Ç'), { Ç } { uppercase C, cedilla } + ('Ç'), { Ç � } { uppercase C, cedilla } ('È'), { È E } { uppercase E, grave accent } - ('É'), { É } { uppercase E, acute accent } + ('É'), { É � } { uppercase E, acute accent } ('Ê'), { Ê E } { uppercase E, circumflex accent } - ('Ë'), { Ë } { uppercase E, umlaut } + ('Ë'), { Ë � } { uppercase E, umlaut } ('Ì'), { Ì I } { uppercase I, grave accent } - ('Í'), { Í } { uppercase I, acute accent } - ('Î'), { Î } { uppercase I, circumflex accent } + ('Í'), { Í � } { uppercase I, acute accent } + ('Î'), { Î � } { uppercase I, circumflex accent } ('Ï'), { Ï I } { uppercase I, umlaut } ('Ð'), { Ð ? } { uppercase Eth, Icelandic } ('Ñ'), { Ñ N } { uppercase N, tilde } ('Ò'), { Ò O } { uppercase O, grave accent } - ('Ó'), { Ó } { uppercase O, acute accent } - ('Ô'), { Ô } { uppercase O, circumflex accent } + ('Ó'), { Ó � } { uppercase O, acute accent } + ('Ô'), { Ô � } { uppercase O, circumflex accent } ('Õ'), { Õ O } { uppercase O, tilde } - ('Ö'), { Ö } { uppercase O, umlaut } - ('×'), { × } { multiplication sign } + ('Ö'), { Ö � } { uppercase O, umlaut } + ('×'), { × � } { multiplication sign } ('Ø'), { Ø O } { uppercase O, slash } ('Ù'), { Ù U } { uppercase U, grave accent } - ('Ú'), { Ú } { uppercase U, acute accent } + ('Ú'), { Ú � } { uppercase U, acute accent } ('Û'), { Û U } { uppercase U, circumflex accent } - ('Ü'), { Ü } { uppercase U, umlaut } - ('Ý'), { Ý } { uppercase Y, acute accent } + ('Ü'), { Ü � } { uppercase U, umlaut } + ('Ý'), { Ý � } { uppercase Y, acute accent } ('Þ'), { Þ ? } { uppercase THORN, Icelandic } - ('ß'), { ß } { lowercase sharps, German } - ('à'), { à } { lowercase a, grave accent } - ('á'), { á } { lowercase a, acute accent } - ('â'), { â } { lowercase a, circumflex accent } - ('ã'), { ã } { lowercase a, tilde } - ('ä'), { ä } { lowercase a, umlaut } - ('å'), { å } { lowercase a, ring } + ('ß'), { ß � } { lowercase sharps, German } + ('à'), { à � } { lowercase a, grave accent } + ('á'), { á � } { lowercase a, acute accent } + ('â'), { â � } { lowercase a, circumflex accent } + ('ã'), { ã � } { lowercase a, tilde } + ('ä'), { ä � } { lowercase a, umlaut } + ('å'), { å � } { lowercase a, ring } ('æ'), { æ a } { lowercase ae } - ('ç'), { ç } { lowercase c, cedilla } + ('ç'), { ç � } { lowercase c, cedilla } ('è'), { è e } { lowercase e, grave accent } - ('é'), { é } { lowercase e, acute accent } - ('ê'), { ê } { lowercase e, circumflex accent } - ('ë'), { ë } { lowercase e, umlaut } + ('é'), { é � } { lowercase e, acute accent } + ('ê'), { ê � } { lowercase e, circumflex accent } + ('ë'), { ë � } { lowercase e, umlaut } ('ì'), { ì i } { lowercase i, grave accent } - ('í'), { í } { lowercase i, acute accent } - ('î'), { î } { lowercase i, circumflex accent } + ('í'), { í � } { lowercase i, acute accent } + ('î'), { î � } { lowercase i, circumflex accent } ('ï'), { ï i } { lowercase i, umlaut } ('ð'), { ð ? } { lowercase eth, Icelandic } - ('ñ'), { ñ } { lowercase n, tilde } + ('ñ'), { ñ � } { lowercase n, tilde } ('ò'), { ò o } { lowercase o, grave accent } - ('ó'), { ó } { lowercase o, acute accent } - ('ô'), { ô } { lowercase o, circumflex accent } + ('ó'), { ó � } { lowercase o, acute accent } + ('ô'), { ô � } { lowercase o, circumflex accent } ('õ'), { õ o } { lowercase o, tilde } - ('ö'), { ö } { lowercase o, umlaut } - ('÷'), { ÷ } { division sign } + ('ö'), { ö � } { lowercase o, umlaut } + ('÷'), { ÷ � } { division sign } ('ø'), { ø o } { lowercase o, slash } ('ù'), { ù u } { lowercase u, grave accent } - ('ú'), { ú } { lowercase u, acute accent } + ('ú'), { ú � } { lowercase u, acute accent } ('û'), { û u } { lowercase u, circumflex accent } - ('ü'), { ü } { lowercase u, umlaut } - ('ý'), { ý } { lowercase y, acute accent } + ('ü'), { ü � } { lowercase u, umlaut } + ('ý'), { ý � } { lowercase y, acute accent } ('þ'), { þ ? } { lowercase thorn, Icelandic } ('ÿ'), { ÿ y } { lowercase y, umlaut } - ('€'), { } { euro sign } - ('Œ'), { } { capital ligature OE } - ('œ'), { } { small ligature oe } - ('š'), { } { small S with caron } - ('Š'), { } { capital S with caron } - ('ƒ'), { } { function } - ('ˆ') { } { circumflex accent } + ('€'), { � } { euro sign } + ('Œ'), { � } { capital ligature OE } + ('œ'), { � } { small ligature oe } + ('š'), { � } { small S with caron } + ('Š'), { � } { capital S with caron } + ('ƒ'), { � } { function } + ('ˆ') { � } { circumflex accent } ); @@ -322,7 +323,7 @@ interface PIdentFuncTableFunc = ^TIdentFuncTableFunc; TIdentFuncTableFunc = function (Index: Integer): TtkTokenKind of object; - TSynHTMLSyn = class(TSynCustomHighlighter) + TSynHTMLSyn = class(TSynCustomCodeFoldingHighlighter) private fAndCode: Integer; fRange: TRangeState; @@ -375,6 +376,8 @@ TSynHTMLSyn = class(TSynCustomHighlighter) procedure Next; override; procedure SetRange(Value: Pointer); override; procedure ResetRange; override; + procedure ScanForFoldRanges(FoldRanges: TSynFoldRanges; + LinesToScan: TStrings; FromLine: Integer; ToLine: Integer); override; published property AndAttri: TSynHighlighterAttributes read fAndAttri write fAndAttri; property CommentAttri: TSynHighlighterAttributes read fCommentAttri @@ -1213,6 +1216,140 @@ class function TSynHTMLSyn.GetFriendlyLanguageName: string; Result := SYNS_FriendlyLangHTML; end; +// ============================================================================= +// Code Folding Support +// ============================================================================= + +function IsVoidElement(const TagName: string): Boolean; +const + VoidElements: array[0..13] of string = ( + 'area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', + 'link', 'meta', 'param', 'source', 'track', 'wbr'); +var + LowerName: string; + I: Integer; +begin + LowerName := TagName.ToLower; + for I := Low(VoidElements) to High(VoidElements) do + if LowerName = VoidElements[I] then + Exit(True); + Result := False; +end; + +procedure CountHtmlTags(const S: string; out Opens, Closes: Integer); +{ Scan a single line for HTML opening and closing tags. + - Void elements (br, hr, img, input, etc.) are excluded from opens. + - Self-closing tags (
) are excluded from opens. + - Comments () and DOCTYPE are ignored. + - Handles quoted attribute values (won't be confused by > inside quotes). } +var + I, Len: Integer; + InTag, IsClosing, SelfClose: Boolean; + TagName: string; + InQuote: WideChar; +begin + Opens := 0; + Closes := 0; + I := 1; + Len := Length(S); + InTag := False; + IsClosing := False; + InQuote := #0; + + while I <= Len do + begin + if InQuote <> #0 then + begin + if S[I] = InQuote then + InQuote := #0; + Inc(I); + end + else if InTag then + begin + if S[I] = '>' then + begin + SelfClose := (I > 1) and (S[I - 1] = '/'); + if IsClosing then + Inc(Closes) + else if not SelfClose and not IsVoidElement(TagName) then + Inc(Opens); + InTag := False; + Inc(I); + end + else if (S[I] = '"') or (S[I] = '''') then + begin + InQuote := S[I]; + Inc(I); + end + else + Inc(I); + end + else if (S[I] = '<') then + begin + IsClosing := False; + TagName := ''; + Inc(I); + // Skip comments '#13#10+ - ''#13#10+ - ' '#13#10+ - ''; + Result := + ''#13#10 + + ''#13#10 + + ''#13#10 + + ' '#13#10 + + ' '#13#10 + + ' '#13#10 + + ' '#13#10 + + ' '#13#10 + + ' '#13#10 + + ' '#13#10 + + ' '#13#10 + + ' '#13#10 + + ' '#13#10 + + ' '#13#10 + + ' '#13#10 + + ' '#13#10 + + ' '#13#10 + + ''; end; class function TSynXMLSyn.GetFriendlyLanguageName: string; @@ -851,6 +873,165 @@ class function TSynXMLSyn.GetFriendlyLanguageName: string; Result := SYNS_FriendlyLangXML; end; +// ============================================================================= +// Code Folding Support +// ============================================================================= + +procedure CountXmlTags(const S: string; out Opens, Closes: Integer; + var InTag: Boolean; var IsClosing: Boolean; var InQuote: WideChar; + out ContinuedOpen: Boolean); +{ Scan a single line for XML opening and closing tags. + State variables (InTag, IsClosing, InQuote) persist across calls so that + tags spanning multiple lines are handled correctly. + - Self-closing tags () are excluded. + - Processing instructions (), CDATA (), + comments (), and DOCTYPE () are ignored. + - Handles quoted attribute values (won't be confused by > inside quotes). + ContinuedOpen is True when a tag continued from a previous line resolves + as an opening tag (already counted in Opens). } +var + I, Len: Integer; + SelfClose: Boolean; + FirstTag: Boolean; +begin + Opens := 0; + Closes := 0; + ContinuedOpen := False; + I := 1; + Len := Length(S); + FirstTag := InTag; // True if continuing a tag from a previous line + + while I <= Len do + begin + if InQuote <> #0 then + begin + if S[I] = InQuote then + InQuote := #0; + Inc(I); + end + else if InTag then + begin + if S[I] = '>' then + begin + SelfClose := (I > 1) and (S[I - 1] = '/'); + if IsClosing then + begin + Inc(Closes); + end + else if not SelfClose then + begin + Inc(Opens); + if FirstTag then + ContinuedOpen := True; + end; + InTag := False; + FirstTag := False; + Inc(I); + end + else if (S[I] = '"') or (S[I] = '''') then + begin + InQuote := S[I]; + Inc(I); + end + else + Inc(I); + end + else if (S[I] = '<') then + begin + IsClosing := False; + FirstTag := False; + Inc(I); + // Skip processing instructions + if (I <= Len) and (S[I] = '?') then + begin + while (I < Len) and not ((S[I] = '?') and (S[I + 1] = '>')) do + Inc(I); + Inc(I, 2); // skip ?> + Continue; + end; + // Skip comments '; + FragEnd = ''; +begin + Result := nil; + if not Assigned(AHighlighter) or (AText = '') then + Exit; + + Lines := AText.Split([#13#10, #10, #13]); + + HTML := TStringBuilder.Create; + try + // Open the styled container + HTML.Append('
');
+
+    for I := 0 to Length(Lines) - 1 do
+    begin
+      if I > 0 then
+        HTML.Append(CrLf);
+
+      AHighlighter.SetLine(Lines[I], I);
+      while not AHighlighter.GetEol do
+      begin
+        Token := AHighlighter.GetToken;
+        Attr := AHighlighter.GetTokenAttribute;
+
+        if (Attr = nil) or ((Attr.Foreground = 0) and (Attr.Style = [])) then
+          HTML.Append(HtmlEncode(Token))
+        else
+        begin
+          SpanStyle := '';
+          if Attr.Foreground <> 0 then
+            SpanStyle := SpanStyle + 'color: ' +
+              ColorToHtmlHex(TAlphaColor(Attr.Foreground)) + '; ';
+          SpanStyle := SpanStyle + FontStylesToCSS(Attr.Style);
+          SpanStyle := SpanStyle.Trim;
+
+          if SpanStyle <> '' then
+          begin
+            HTML.Append('');
+            HTML.Append(HtmlEncode(Token));
+            HTML.Append('');
+          end
+          else
+            HTML.Append(HtmlEncode(Token));
+        end;
+
+        AHighlighter.Next;
+      end;
+    end;
+
+    HTML.Append('
'); + + // Build the CF_HTML envelope + UTF8Fragment := TEncoding.UTF8.GetBytes(HTML.ToString); + + // Calculate CF_HTML offsets + // Header has fixed-length placeholders (%.10d = 10 digits) + var HeaderLen := Length(TEncoding.UTF8.GetBytes( + Format(HeaderTemplate, [0, 0, 0, 0]))); + var HTMLStartBytes := TEncoding.UTF8.GetBytes(HTMLStart + FragStart); + var HTMLEndBytes := TEncoding.UTF8.GetBytes(FragEnd + HTMLEnd); + var StartHTMLOfs := HeaderLen; + + FragmentStart := StartHTMLOfs + Length(TEncoding.UTF8.GetBytes(HTMLStart)) + + Length(TEncoding.UTF8.GetBytes(FragStart)); + FragmentEnd := FragmentStart + Length(UTF8Fragment); + var EndHTMLOfs := FragmentEnd + Length(TEncoding.UTF8.GetBytes(FragEnd)) + + Length(TEncoding.UTF8.GetBytes(HTMLEnd)); + + Header := Format(HeaderTemplate, [StartHTMLOfs, EndHTMLOfs, + FragmentStart, FragmentEnd]); + + // Assemble final bytes + var HeaderBytes := TEncoding.UTF8.GetBytes(Header); + SetLength(Result, Length(HeaderBytes) + Length(HTMLStartBytes) + + Length(UTF8Fragment) + Length(HTMLEndBytes) + 1); // +1 for null + + var Pos := 0; + Move(HeaderBytes[0], Result[Pos], Length(HeaderBytes)); + Inc(Pos, Length(HeaderBytes)); + Move(HTMLStartBytes[0], Result[Pos], Length(HTMLStartBytes)); + Inc(Pos, Length(HTMLStartBytes)); + Move(UTF8Fragment[0], Result[Pos], Length(UTF8Fragment)); + Inc(Pos, Length(UTF8Fragment)); + Move(HTMLEndBytes[0], Result[Pos], Length(HTMLEndBytes)); + Inc(Pos, Length(HTMLEndBytes)); + Result[Pos] := 0; // null terminator + finally + HTML.Free; + end; +end; + +//=== DRAG SOURCE ============================================================== + +function TSynDragSource.QueryContinueDrag(fEscapePressed: BOOL; + grfKeyState: Longint): HResult; +begin + if fEscapePressed then + Result := DRAGDROP_S_CANCEL + else if (grfKeyState and MK_LBUTTON) = 0 then + Result := DRAGDROP_S_DROP + else + Result := S_OK; +end; + +function TSynDragSource.GiveFeedback(dwEffect: Longint): HResult; +begin + Result := DRAGDROP_S_USEDEFAULTCURSORS; +end; + +//=== ENUM FORMATETC =========================================================== + +constructor TSynEnumFormatEtc.Create(FormatList: TArray; + Index: Integer); +begin + inherited Create; + FList := FormatList; + FIndex := Index; +end; + +function TSynEnumFormatEtc.GetFormatEtc(ClipFormat: TClipFormat): TFormatEtc; +begin + with Result do + begin + cfFormat := ClipFormat; + dwAspect := DVASPECT_CONTENT; + ptd := nil; + tymed := TYMED_HGLOBAL; + lindex := -1; + end; +end; + +function TSynEnumFormatEtc.Next(celt: Longint; out elt; + pceltFetched: PLongint): HResult; +var + I: Integer; + FormatEtc: PFormatEtc; +begin + I := 0; + FormatEtc := PFormatEtc(@Elt); + while (I < Celt) and (FIndex < Length(FList)) do + begin + FormatEtc^ := GetFormatEtc(FList[FIndex]); + Inc(FormatEtc); + Inc(FIndex); + Inc(I); + end; + + if pCeltFetched <> nil then + pCeltFetched^ := I; + + if I = Celt then + Result := S_OK + else + Result := S_FALSE; +end; + +function TSynEnumFormatEtc.Skip(celt: Longint): HResult; +begin + Result := S_OK; + if Celt <= Length(FList) - FIndex then + FIndex := FIndex + Celt + else + begin + FIndex := Length(FList); + Result := S_FALSE; + end; +end; + +function TSynEnumFormatEtc.Reset: HResult; +begin + FIndex := 0; + Result := S_OK; +end; + +function TSynEnumFormatEtc.Clone(out Enum: IEnumFormatEtc): HResult; +begin + Result := S_OK; + Enum := TSynEnumFormatEtc.Create(FList, FIndex); +end; + +//=== INITIALIZATION =========================================================== + +const + CF_HTML = 'HTML Format'; + +initialization + OleInitialize(nil); + SynEditClipboardFormat := RegisterClipboardFormat('Internal SynEdit clipboard format'); + HTMLClipboardFormat := RegisterClipboardFormat(CF_HTML); + +finalization + OleFlushClipboard; + OleUninitialize; + +{$ENDIF} + +end. diff --git a/Source/SynEditHighlighter.pas b/Source/SynEditHighlighter.pas index 2dc79e97..81c3eae0 100644 --- a/Source/SynEditHighlighter.pas +++ b/Source/SynEditHighlighter.pas @@ -26,16 +26,18 @@ interface uses + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} Winapi.Windows, + Vcl.Graphics, + System.Win.Registry, + {$ENDIF} System.SysUtils, System.Classes, - System.Win.Registry, System.IniFiles, Generics.Collections, - Vcl.Graphics, + System.UITypes, SynEditTypes, - SynEditMiscClasses, - SynUnicode; + SynUnicodeShared; type TSynHighlighterAttributes = class(TPersistent) @@ -63,10 +65,12 @@ TSynHighlighterAttributes = class(TPersistent) procedure AssignColorAndStyle(Source: TSynHighlighterAttributes); constructor Create(AName: string; AFriendlyName: string); procedure InternalSaveDefaultValues; + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} function LoadFromBorlandRegistry(RootKey: HKEY; AttrKey, AttrName: string; OldStyle: Boolean): Boolean; virtual; function LoadFromRegistry(Reg: TRegistry): Boolean; function SaveToRegistry(Reg: TRegistry): Boolean; + {$ENDIF} function LoadFromFile(Ini: TCustomIniFile): Boolean; function SaveToFile(Ini: TCustomIniFile): Boolean; public @@ -176,10 +180,12 @@ TSynCustomHighlighter = class(TComponent) procedure SetLine(const Value: string; LineNumber: Integer); virtual; procedure SetRange(Value: Pointer); virtual; procedure ResetRange; virtual; + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} function UseUserSettings(settingIndex: Integer): Boolean; virtual; procedure EnumUserSettings(Settings: TStrings); virtual; function LoadFromRegistry(RootKey: HKEY; Key: string): Boolean; virtual; function SaveToRegistry(RootKey: HKEY; Key: string): Boolean; virtual; + {$ENDIF} function LoadFromIniFile(AIni: TCustomIniFile): Boolean; function SaveToIniFile(AIni: TCustomIniFile): Boolean; function LoadFromFile(AFileName: string): Boolean; @@ -382,6 +388,7 @@ procedure TSynHighlighterAttributes.InternalSaveDefaultValues; fStyleDefault := fStyle; end; +{$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} function TSynHighlighterAttributes.LoadFromBorlandRegistry(RootKey: HKEY; AttrKey, AttrName: string; OldStyle: Boolean): Boolean; // How the highlighting information is stored: @@ -569,6 +576,7 @@ function TSynHighlighterAttributes.LoadFromBorlandRegistry(RootKey: HKEY; else Result := LoadNewStyle(RootKey, AttrKey, AttrName); end; { TSynHighlighterAttributes.LoadFromBorlandRegistry } +{$ENDIF} procedure TSynHighlighterAttributes.SetBackground(Value: TColor); begin @@ -607,6 +615,7 @@ procedure TSynHighlighterAttributes.SetStyle(Value: TFontStyles); end; end; +{$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} function TSynHighlighterAttributes.LoadFromRegistry(Reg: TRegistry): Boolean; var Key: string; @@ -643,6 +652,7 @@ function TSynHighlighterAttributes.SaveToRegistry(Reg: TRegistry): Boolean; else Result := False; end; +{$ENDIF} function TSynHighlighterAttributes.LoadFromFile(Ini: TCustomIniFile): Boolean; var @@ -791,6 +801,7 @@ procedure TSynCustomHighlighter.Assign(Source: TPersistent); inherited Assign(Source); end; +{$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} procedure TSynCustomHighlighter.EnumUserSettings(Settings: TStrings); begin Settings.Clear; @@ -844,6 +855,7 @@ function TSynCustomHighlighter.SaveToRegistry(RootKey: HKEY; r.Free; end; end; +{$ENDIF} function TSynCustomHighlighter.LoadFromFile(AFileName: string): Boolean; var diff --git a/Source/SynEditKeyCmds.pas b/Source/SynEditKeyCmds.pas index 170188f8..2a6f9bae 100644 --- a/Source/SynEditKeyCmds.pas +++ b/Source/SynEditKeyCmds.pas @@ -39,9 +39,9 @@ interface uses System.SysUtils, System.Classes, + System.UITypes, System.Generics.Collections, - Vcl.Menus, - SynUnicode, + SynUnicodeShared, SynEditTypes; const @@ -318,10 +318,73 @@ function IndexToEditorCommand(const AIndex: Integer): Integer; implementation uses + {$IFDEF MSWINDOWS} Winapi.Windows, - SynEditKeyConst, + {$ENDIF} + SynEditKeyConstShared, SynEditStrConst; +{$IFNDEF MSWINDOWS} +const + VK_OEM_PLUS = $BB; + VK_OEM_MINUS = $BD; + VK_OEM_2 = $BF; + VK_OEM_6 = $DD; +{$ENDIF} + +{ Local shortcut conversion functions - portable replacements for Vcl.Menus } +function ShortCut(Key: Word; Shift: TShiftState): TShortCut; +begin + Result := Key; + if ssShift in Shift then Inc(Result, scShift); + if ssCtrl in Shift then Inc(Result, scCtrl); + if ssAlt in Shift then Inc(Result, scAlt); +end; + +procedure ShortCutToKey(ShortCut: TShortCut; var Key: Word; var Shift: TShiftState); +begin + Key := ShortCut and not (scShift + scCtrl + scAlt); + Shift := []; + if ShortCut and scShift <> 0 then Include(Shift, ssShift); + if ShortCut and scCtrl <> 0 then Include(Shift, ssCtrl); + if ShortCut and scAlt <> 0 then Include(Shift, ssAlt); +end; + +function ShortCutToText(ShortCut: TShortCut): string; +var + Key: Word; + Shift: TShiftState; +begin + ShortCutToKey(ShortCut, Key, Shift); + Result := ''; + if ssCtrl in Shift then Result := Result + 'Ctrl+'; + if ssShift in Shift then Result := Result + 'Shift+'; + if ssAlt in Shift then Result := Result + 'Alt+'; + case Key of + $08: Result := Result + 'BkSp'; + $09: Result := Result + 'Tab'; + $0D: Result := Result + 'Enter'; + $1B: Result := Result + 'Esc'; + $20: Result := Result + 'Space'; + $21: Result := Result + 'PgUp'; + $22: Result := Result + 'PgDn'; + $23: Result := Result + 'End'; + $24: Result := Result + 'Home'; + $25: Result := Result + 'Left'; + $26: Result := Result + 'Up'; + $27: Result := Result + 'Right'; + $28: Result := Result + 'Down'; + $2D: Result := Result + 'Ins'; + $2E: Result := Result + 'Del'; + $30..$39: Result := Result + Char(Key); + $41..$5A: Result := Result + Char(Key); + $60..$69: Result := Result + 'Num' + Char(Key - $60 + Ord('0')); + $70..$87: Result := Result + 'F' + IntToStr(Key - $6F); + else + Result := Result + '#' + IntToStr(Key); + end; +end; + { Command mapping routines } const @@ -536,7 +599,7 @@ function TSynEditKeyStroke.GetDisplayName: string; function TSynEditKeyStroke.GetShortCut: TShortCut; begin - Result := Vcl.Menus.ShortCut(Key, Shift); + Result := SynEditKeyCmds.ShortCut(Key, Shift); end; procedure TSynEditKeyStroke.SetCommand(const Value: TSynEditorCommand); @@ -579,7 +642,7 @@ procedure TSynEditKeyStroke.SetShortCut(const Value: TShortCut); end; end; - Vcl.Menus.ShortCutToKey(Value, NewKey, NewShift); + ShortCutToKey(Value, NewKey, NewShift); if (NewKey <> Key) or (NewShift <> Shift) then begin @@ -622,7 +685,7 @@ procedure TSynEditKeyStroke.SetShortCut2(const Value: TShortCut); end; end; - Vcl.Menus.ShortCutToKey(Value, NewKey, NewShift); + ShortCutToKey(Value, NewKey, NewShift); if (NewKey <> Key2) or (NewShift <> Shift2) then begin Key2 := NewKey; @@ -632,7 +695,7 @@ procedure TSynEditKeyStroke.SetShortCut2(const Value: TShortCut); function TSynEditKeyStroke.GetShortCut2: TShortCut; begin - Result := Vcl.Menus.ShortCut(Key2, Shift2); + Result := SynEditKeyCmds.ShortCut(Key2, Shift2); end; procedure TSynEditKeyStroke.LoadFromStream(AStream: TStream); diff --git a/Source/SynEditKeyConst.pas b/Source/SynEditKeyConst.pas deleted file mode 100644 index 3226087a..00000000 --- a/Source/SynEditKeyConst.pas +++ /dev/null @@ -1,112 +0,0 @@ -{------------------------------------------------------------------------------- -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 Original Code is: SynEditKeyCmds.pas, released 2000-04-07. -The Original Code is based on the mwKeyCmds.pas file from the -mwEdit component suite by Martin Waldenburg and other developers, the Initial -Author of this file is Brad Stowers. -All Rights Reserved. - -Contributors to the SynEdit and mwEdit projects are listed in the -Contributors.txt file. - -Alternatively, the contents of this file may be used under the terms of the -GNU General Public License Version 2 or later (the "GPL"), in which case -the provisions of the GPL are applicable instead of those above. -If you wish to allow use of your version of this file only under the terms -of the GPL and not to allow others to use your version of this file -under the MPL, indicate your decision by deleting the provisions above and -replace them with the notice and other provisions required by the GPL. -If you do not delete the provisions above, a recipient may use your version -of this file under either the MPL or the GPL. --------------------------------------------------------------------------------} - -unit SynEditKeyConst; - -{ This unit provides a translation of DELPHI and CLX key constants to - more readable SynEdit constants } - -{$I SynEdit.inc} - -interface - -uses - Windows; - -const - - SYNEDIT_RETURN = VK_RETURN; - SYNEDIT_ESCAPE = VK_ESCAPE; - SYNEDIT_SPACE = VK_SPACE; - SYNEDIT_PRIOR = VK_PRIOR; - SYNEDIT_NEXT = VK_NEXT; - SYNEDIT_END = VK_END; - SYNEDIT_HOME = VK_HOME; - SYNEDIT_UP = VK_UP; - SYNEDIT_DOWN = VK_DOWN; - SYNEDIT_BACK = VK_BACK; - SYNEDIT_LEFT = VK_LEFT; - SYNEDIT_RIGHT = VK_RIGHT; - SYNEDIT_MENU = VK_MENU; - SYNEDIT_CONTROL = VK_CONTROL; - SYNEDIT_SHIFT = VK_SHIFT; - SYNEDIT_F1 = VK_F1; - SYNEDIT_F2 = VK_F2; - SYNEDIT_F3 = VK_F3; - SYNEDIT_F4 = VK_F4; - SYNEDIT_F5 = VK_F5; - SYNEDIT_F6 = VK_F6; - SYNEDIT_F7 = VK_F7; - SYNEDIT_F8 = VK_F8; - SYNEDIT_F9 = VK_F9; - SYNEDIT_F10 = VK_F10; - SYNEDIT_F11 = VK_F11; - SYNEDIT_F12 = VK_F12; - SYNEDIT_F13 = VK_F13; - SYNEDIT_F14 = VK_F14; - SYNEDIT_F15 = VK_F15; - SYNEDIT_F16 = VK_F16; - SYNEDIT_F17 = VK_F17; - SYNEDIT_F18 = VK_F18; - SYNEDIT_F19 = VK_F19; - SYNEDIT_F20 = VK_F20; - SYNEDIT_F21 = VK_F21; - SYNEDIT_F22 = VK_F22; - SYNEDIT_F23 = VK_F23; - SYNEDIT_F24 = VK_F24; - SYNEDIT_PRINT = VK_PRINT; - SYNEDIT_INSERT = VK_INSERT; - SYNEDIT_DELETE = VK_DELETE; - SYNEDIT_NUMPAD0 = VK_NUMPAD0; - SYNEDIT_NUMPAD1 = VK_NUMPAD1; - SYNEDIT_NUMPAD2 = VK_NUMPAD2; - SYNEDIT_NUMPAD3 = VK_NUMPAD3; - SYNEDIT_NUMPAD4 = VK_NUMPAD4; - SYNEDIT_NUMPAD5 = VK_NUMPAD5; - SYNEDIT_NUMPAD6 = VK_NUMPAD6; - SYNEDIT_NUMPAD7 = VK_NUMPAD7; - SYNEDIT_NUMPAD8 = VK_NUMPAD8; - SYNEDIT_NUMPAD9 = VK_NUMPAD9; - SYNEDIT_MULTIPLY = VK_MULTIPLY; - SYNEDIT_ADD = VK_ADD; - SYNEDIT_SEPARATOR = VK_SEPARATOR; - SYNEDIT_SUBTRACT = VK_SUBTRACT; - SYNEDIT_DECIMAL = VK_DECIMAL; - SYNEDIT_DIVIDE = VK_DIVIDE; - SYNEDIT_NUMLOCK = VK_NUMLOCK; - SYNEDIT_SCROLL = VK_SCROLL; - SYNEDIT_TAB = VK_TAB; - SYNEDIT_CLEAR = VK_CLEAR; - SYNEDIT_PAUSE = VK_PAUSE; - SYNEDIT_CAPITAL = VK_CAPITAL; - -implementation - -end. diff --git a/Source/SynEditKeyConstShared.pas b/Source/SynEditKeyConstShared.pas new file mode 100644 index 00000000..0b835814 --- /dev/null +++ b/Source/SynEditKeyConstShared.pas @@ -0,0 +1,114 @@ +{------------------------------------------------------------------------------- +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 Original Code is: SynEditKeyCmds.pas, released 2000-04-07. +The Original Code is based on the mwKeyCmds.pas file from the +mwEdit component suite by Martin Waldenburg and other developers, the Initial +Author of this file is Brad Stowers. +All Rights Reserved. + +Contributors to the SynEdit and mwEdit projects are listed in the +Contributors.txt file. + +Alternatively, the contents of this file may be used under the terms of the +GNU General Public License Version 2 or later (the "GPL"), in which case +the provisions of the GPL are applicable instead of those above. +If you wish to allow use of your version of this file only under the terms +of the GPL and not to allow others to use your version of this file +under the MPL, indicate your decision by deleting the provisions above and +replace them with the notice and other provisions required by the GPL. +If you do not delete the provisions above, a recipient may use your version +of this file under either the MPL or the GPL. +-------------------------------------------------------------------------------} + +unit SynEditKeyConstShared; + +{ Platform-independent key constants for SynEdit. + Values match standard virtual key codes. + + Named with the 'Shared' suffix because Delphi's scope resolution rules + make a bare 'SynEditKeyConst' shadow the prefixed 'Vcl.SynEditKeyConst' + and 'FMX.SynEditKeyConst' units. The suffix ensures that shared code + references this unit unambiguously, while VCL/FMX code can still use + the prefixed wrappers. } + +{$I SynEdit.inc} + +interface + +const + SYNEDIT_RETURN = $0D; + SYNEDIT_ESCAPE = $1B; + SYNEDIT_SPACE = $20; + SYNEDIT_PRIOR = $21; + SYNEDIT_NEXT = $22; + SYNEDIT_END = $23; + SYNEDIT_HOME = $24; + SYNEDIT_UP = $26; + SYNEDIT_DOWN = $28; + SYNEDIT_BACK = $08; + SYNEDIT_LEFT = $25; + SYNEDIT_RIGHT = $27; + SYNEDIT_MENU = $12; + SYNEDIT_CONTROL = $11; + SYNEDIT_SHIFT = $10; + SYNEDIT_F1 = $70; + SYNEDIT_F2 = $71; + SYNEDIT_F3 = $72; + SYNEDIT_F4 = $73; + SYNEDIT_F5 = $74; + SYNEDIT_F6 = $75; + SYNEDIT_F7 = $76; + SYNEDIT_F8 = $77; + SYNEDIT_F9 = $78; + SYNEDIT_F10 = $79; + SYNEDIT_F11 = $7A; + SYNEDIT_F12 = $7B; + SYNEDIT_F13 = $7C; + SYNEDIT_F14 = $7D; + SYNEDIT_F15 = $7E; + SYNEDIT_F16 = $7F; + SYNEDIT_F17 = $80; + SYNEDIT_F18 = $81; + SYNEDIT_F19 = $82; + SYNEDIT_F20 = $83; + SYNEDIT_F21 = $84; + SYNEDIT_F22 = $85; + SYNEDIT_F23 = $86; + SYNEDIT_F24 = $87; + SYNEDIT_PRINT = $2A; + SYNEDIT_INSERT = $2D; + SYNEDIT_DELETE = $2E; + SYNEDIT_NUMPAD0 = $60; + SYNEDIT_NUMPAD1 = $61; + SYNEDIT_NUMPAD2 = $62; + SYNEDIT_NUMPAD3 = $63; + SYNEDIT_NUMPAD4 = $64; + SYNEDIT_NUMPAD5 = $65; + SYNEDIT_NUMPAD6 = $66; + SYNEDIT_NUMPAD7 = $67; + SYNEDIT_NUMPAD8 = $68; + SYNEDIT_NUMPAD9 = $69; + SYNEDIT_MULTIPLY = $6A; + SYNEDIT_ADD = $6B; + SYNEDIT_SEPARATOR = $6C; + SYNEDIT_SUBTRACT = $6D; + SYNEDIT_DECIMAL = $6E; + SYNEDIT_DIVIDE = $6F; + SYNEDIT_NUMLOCK = $90; + SYNEDIT_SCROLL = $91; + SYNEDIT_TAB = $09; + SYNEDIT_CLEAR = $0C; + SYNEDIT_PAUSE = $13; + SYNEDIT_CAPITAL = $14; + +implementation + +end. diff --git a/Source/SynEditMiscProcs.pas b/Source/SynEditMiscProcs.pas index 4cba33a4..d075030c 100644 --- a/Source/SynEditMiscProcs.pas +++ b/Source/SynEditMiscProcs.pas @@ -36,14 +36,19 @@ interface uses + {$IFDEF MSWINDOWS} Winapi.Windows, + {$ENDIF} + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} + Vcl.Graphics, + {$ENDIF} + System.UITypes, System.Math, System.Classes, System.RegularExpressions, - Vcl.Graphics, SynEditTypes, SynEditHighlighter, - SynUnicode; + SynUnicodeShared; const MaxIntArraySize = MaxInt div 16; @@ -119,28 +124,32 @@ function CalcFCS(const ABuf; ABufSize: Cardinal): Word; function DeleteTypePrefixAndSynSuffix(s: string): string; function CeilOfIntDiv(Dividend, Divisor: Cardinal): Integer; +{$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} // In Windows Vista or later use the Consolas font function DefaultFontName: string; function GetCorrectFontWeight(Font: TFont): Integer; +{$ENDIF} // Calculates the difference between two lines // Returns the starting point of the difference and the lengths of the change procedure LineDiff(const Line, OldLine: string; out StartPos, OldLen, NewLen: Integer); +{$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} // Tests whether a color is dark function IsColorDark(AColor: TColor): Boolean; +// Converts TColor to an HTML color string +function ColorToHTML(Color: TColor): string; +{$ENDIF} + // Substitutes control characters with Unicode control pictures procedure SubstituteControlChars(var Input: string); // Returns a compiled regular expression function CompiledRegEx(const Pattern: string; Options: TRegExOptions = []): TRegEx; -// Converts TColor to an HTML color string -function ColorToHTML(Color: TColor): string; - // Bracket functions (Brackets have the form '()[]{}') function IsBracket(Chr: Char; const Brackets: string): Boolean; function IsOpeningBracket(Chr: Char; const Brackets: string): Boolean; @@ -157,13 +166,15 @@ function GrowCollection(OldCapacity, NewCount: Integer): Integer; implementation uses - System.UITypes, System.SysUtils, System.RegularExpressionsCore, - SynHighlighterMulti, - Winapi.D2D1, - Vcl.Forms, - SynDWrite; + SynHighlighterMulti + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} + ,Winapi.D2D1 + ,Vcl.Forms + ,SynDWrite + {$ENDIF} + ; function MinMax(x, mi, ma: Integer): Integer; begin @@ -750,6 +761,7 @@ function CeilOfIntDiv(Dividend, Divisor: Cardinal): Integer; Result := Integer(Res); end; +{$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} function DefaultFontName: string; begin if CheckWin32Version(6) then @@ -794,6 +806,7 @@ function GetCorrectFontWeight(Font: TFont): Integer; ReleaseDC(0, DC); end; end; +{$ENDIF} {$IF CompilerVersion <= 32} function GrowCollection(OldCapacity, NewCount: Integer): Integer; @@ -834,6 +847,7 @@ procedure LineDiff(const Line, OldLine: string; out StartPos, OldLen, NewLen: In end; end; +{$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} function IsColorDark(AColor: TColor): Boolean; var ACol: Longint; @@ -842,6 +856,7 @@ function IsColorDark(AColor: TColor): Boolean; Result := ((2.99 * GetRValue(ACol) + 5.87 * GetGValue(ACol) + 1.14 * GetBValue(ACol)) < $400); end; +{$ENDIF} procedure SubstituteControlChars(var Input: string); const @@ -871,6 +886,7 @@ function CompiledRegEx(const Pattern: string; Options: TRegExOptions): TRegEx; {$ENDIF} end; +{$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} function ColorToHTML(Color: TColor): string; var R: TColorRef; @@ -878,6 +894,7 @@ function ColorToHTML(Color: TColor): string; R := ColorToRGB(Color); Result := Format('#%.2x%.2x%.2x', [GetRValue(R), GetGValue(R), GetBValue(R)]); end; +{$ENDIF} function IsBracket(Chr: Char; const Brackets: string): Boolean; begin diff --git a/Source/SynEditRegexSearch.pas b/Source/SynEditRegexSearch.pas index c0630631..5a764fb1 100644 --- a/Source/SynEditRegexSearch.pas +++ b/Source/SynEditRegexSearch.pas @@ -10,8 +10,8 @@ The Original Code is: SynEditRegexSearch.pas, released 2002-07-26. -Original Code by Eduardo Mauro, Gerald Nunn and Flvio Etrusco. -Unicode translation by Mal Hrz. +Original Code by Eduardo Mauro, Gerald Nunn and Fl�vio Etrusco. +Unicode translation by Ma�l H�rz. All Rights Reserved. Contributors to the SynEdit project are listed in the Contributors.txt file. @@ -42,8 +42,7 @@ interface SynEditTypes, RegularExpressions, RegularExpressionsCore, - SynEditMiscClasses, - SynUnicode, + SynUnicodeShared, Classes; type @@ -75,8 +74,7 @@ implementation uses RegularExpressionsAPI, - System.SysUtils, - Consts; + System.SysUtils; {$IF (CompilerVersion <= 35) and not Declared(RTLVersion112)} type diff --git a/Source/SynEditSearch.pas b/Source/SynEditSearch.pas index 234dff44..7d942e4b 100644 --- a/Source/SynEditSearch.pas +++ b/Source/SynEditSearch.pas @@ -39,8 +39,7 @@ interface uses SynEditTypes, - SynEditMiscClasses, - SynUnicode, + SynUnicodeShared, Classes; type @@ -96,8 +95,7 @@ TSynEditSearch = class(TSynEditSearchCustom) implementation uses - Windows, - SysUtils; + System.SysUtils; constructor TSynEditSearch.Create(aOwner: TComponent); begin @@ -258,7 +256,7 @@ procedure TSynEditSearch.SetPattern(const Value: string); if CaseSensitive then Pat := CasedPat else - Pat := SysUtils.AnsiLowerCase(CasedPat); + Pat := System.SysUtils.AnsiLowerCase(CasedPat); fShiftInitialized := False; end; fCount := 0; @@ -272,7 +270,7 @@ procedure TSynEditSearch.SetCaseSensitive(const Value: Boolean); if fCaseSensitive then Pat := CasedPat else - Pat := SysUtils.AnsiLowerCase(CasedPat); + Pat := System.SysUtils.AnsiLowerCase(CasedPat); fShiftInitialized := False; end; end; @@ -303,7 +301,7 @@ function TSynEditSearch.FindAll(const NewText: string; StartChar: Integer = 1; if CaseSensitive then FTextToSearch := NewText else - FTextToSearch := SysUtils.AnsiLowerCase(NewText); + FTextToSearch := System.SysUtils.AnsiLowerCase(NewText); FLineStart := PWideChar(FTextToSearch); if Backwards then diff --git a/Source/SynEditSelections.pas b/Source/SynEditSelections.pas new file mode 100644 index 00000000..04d9e698 --- /dev/null +++ b/Source/SynEditSelections.pas @@ -0,0 +1,689 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit + +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/ + +Shared multi-selection / multi-caret base class. +Platform-independent logic extracted from Vcl.SynEditMiscClasses.TSynSelections. +VCL and FMX subclass TSynSelectionsBase with thin editor-specific overrides. +-------------------------------------------------------------------------------} + +unit SynEditSelections; + +{$I SynEdit.inc} + +interface + +uses + System.SysUtils, + System.Classes, + System.Math, + System.Generics.Collections, + System.Generics.Defaults, + SynEditTypes, + SynEditMiscProcs; + +type + TSynSelStorage = record + Selections: TArray; + BaseIndex, ActiveIndex: Integer; + procedure Clear; + end; + + TSynSelectionsBase = class + public + type + TKeepSelection = (ksKeepBase, ksKeepActive); + private + function GetCount: Integer; + function GetActiveSelection: TSynSelection; + function GetBaseSelection: TSynSelection; + procedure SetActiveSelection(const Value: TSynSelection); + procedure SetBaseSelection(const Value: TSynSelection); + function GetSelection(Index: Integer): TSynSelection; + procedure SetActiveSelIndex(const Index: Integer); + function GetIsEmpty: Boolean; + protected + FOwner: TObject; + FSelections: TList; + FBaseSelIndex: Integer; + FActiveSelIndex: Integer; + // === Abstract methods — editor coupling points === + procedure CaretsChanged; virtual; abstract; + procedure DoInvalidateSelection(const Sel: TSynSelection); virtual; abstract; + procedure DoRestoreSelection(const Sel: TSynSelection; + EnsureVisible: Boolean); virtual; abstract; + function GetLineText(ALine: Integer): string; virtual; abstract; + // Word-wrap / column selection support + function GetWordWrap: Boolean; virtual; abstract; + function GetScrollPastEOL: Boolean; virtual; abstract; + function GetRowLength(ARow: Integer): Integer; virtual; abstract; + function BufferToDisplayPos(const P: TBufferCoord): TDisplayCoord; virtual; abstract; + function DisplayToBufferPos(const P: TDisplayCoord): TBufferCoord; virtual; abstract; + function SelectionToDisplayRow(var Sel: TSynSelection): Integer; virtual; abstract; + public + constructor Create(Owner: TObject); + destructor Destroy; override; + // Selection management + procedure Clear(KeepSelection: TKeepSelection = ksKeepActive); + function AddCaret(const ACaret: TBufferCoord; + IsBase: Boolean = False): Boolean; + procedure DeleteSelection(Index: Integer); + function FindCaret(const ACaret: TBufferCoord): Integer; + function FindSelection(const BC: TBufferCoord; + var Index: Integer): Boolean; + procedure MouseSelection(const Sel: TSynSelection); + procedure ColumnSelection(Anchor, ACaret: TBufferCoord; + LastPosX: Integer = 0); + procedure Merge; + function PartSelectionsForRow( + const RowStart, RowEnd: TBufferCoord): TSynSelectionArray; + function RowHasCaret(ARow, ALine: Integer): Boolean; + // Invalidation + procedure InvalidateSelection(Index: Integer); + procedure InvalidateAll; + // Column selection anchor + function ColumnSelectionStart: TBufferCoord; + // Store/Restore + procedure Store(out SelStorage: TSynSelStorage); + procedure Restore(const [Ref] SelStorage: TSynSelStorage); overload; + procedure Restore(const [Ref] Sel: TSynSelection; + EnsureVisible: Boolean = True); overload; + // Multi-caret command execution + procedure ForEachSelection(const Callback: TProc); + // Line-change adjustment + procedure LinesInserted(FirstLine, aCount: Integer); + procedure LinesDeleted(FirstLine, aCount: Integer); + procedure LinePut(aIndex: Integer; const OldLine: string); + // Properties + property BaseSelectionIndex: Integer read FBaseSelIndex; + property ActiveSelection: TSynSelection read GetActiveSelection + write SetActiveSelection; + property BaseSelection: TSynSelection read GetBaseSelection + write SetBaseSelection; + property Count: Integer read GetCount; + property ActiveSelIndex: Integer read FActiveSelIndex + write SetActiveSelIndex; + property IsEmpty: Boolean read GetIsEmpty; + property Selection[Index: Integer]: TSynSelection + read GetSelection; default; + end; + +implementation + +{ TSynSelStorage } + +procedure TSynSelStorage.Clear; +begin + Selections := []; +end; + +{ TSynSelectionsBase } + +constructor TSynSelectionsBase.Create(Owner: TObject); +begin + inherited Create; + FOwner := Owner; + FSelections := TList.Create(TComparer.Construct( + function(const L, R: TSynSelection): Integer + begin + if L.Normalized.Start < R.Normalized.Start then + Result := -1 + else if L.Normalized.Start = R.Normalized.Start then + Result := 0 + else + Result := 1; + end)); +end; + +destructor TSynSelectionsBase.Destroy; +begin + FSelections.Free; + inherited; +end; + +function TSynSelectionsBase.AddCaret(const ACaret: TBufferCoord; + IsBase: Boolean): Boolean; +var + Sel: TSynSelection; + Index: Integer; +begin + Result := False; + if FindSelection(ACaret, Index) then + begin + DeleteSelection(Index); + Restore(FSelections[FActiveSelIndex], False); + end + else if (Index > 0) and (FSelections[Index - 1].Caret = ACaret) then + begin + DeleteSelection(Index - 1); + Restore(FSelections[FActiveSelIndex], False); + end + else + begin + Sel := TSynSelection.Create(ACaret, ACaret, ACaret); + FSelections.Insert(Index, Sel); + FActiveSelIndex := Index; + if IsBase then + FBaseSelIndex := Index + else if FBaseSelIndex >= Index then + Inc(FBaseSelIndex); + Result := True; + end; +end; + +procedure TSynSelectionsBase.Clear(KeepSelection: TKeepSelection); +var + Index: Integer; +begin + if FSelections.Count = 1 then Exit; + + if (KeepSelection = ksKeepBase) and (FActiveSelIndex <> FBaseSelIndex) then + Restore(BaseSelection); + + for Index := FSelections.Count - 1 downto 0 do + if not (((KeepSelection = ksKeepBase) and (Index = FBaseSelIndex)) or + ((KeepSelection = ksKeepActive) and (Index = FActiveSelIndex))) + then + DeleteSelection(Index); + + Assert(FSelections.Count = 1); + FBaseSelIndex := 0; + FActiveSelIndex := 0; + CaretsChanged; +end; + +function TSynSelectionsBase.ColumnSelectionStart: TBufferCoord; +begin + if FSelections[FBaseSelIndex].IsEmpty then + Result := FSelections[FBaseSelIndex].Caret + else + Result := FSelections[FBaseSelIndex].Start; +end; + +procedure TSynSelectionsBase.ForEachSelection( + const Callback: TProc); +var + OldActiveSelIndex, I: Integer; +begin + OldActiveSelIndex := FActiveSelIndex; + + for I := 0 to FSelections.Count - 1 do + begin + ActiveSelIndex := I; + if FSelections[I].IsValid then + Callback(FSelections[I]); + end; + + // Restore Active Selection (bounds-safe) + if OldActiveSelIndex < FSelections.Count then + ActiveSelIndex := OldActiveSelIndex + else + ActiveSelIndex := FSelections.Count - 1; + + // Merge overlapping selections + Merge; +end; + +procedure TSynSelectionsBase.ColumnSelection(Anchor, ACaret: TBufferCoord; + LastPosX: Integer); + + procedure SetLineSelection(Index, Line, FromChar, ToChar: Integer; + ScrollPastEOL: Boolean); + var + LineString: string; + Len: Integer; + begin + LineString := GetLineText(Line); + Len := LineString.Length; + if not ScrollPastEOL then + ToChar := EnsureRange(ToChar, 1, Len + 1); + FromChar := EnsureRange(FromChar, 1, Len + 1); + FSelections.List[Index].Caret := BufferCoord(ToChar, Line); + FSelections.List[Index].Start := BufferCoord(FromChar, Line); + FSelections.List[Index].Stop := BufferCoord(Min(ToChar, Len + 1), Line); + FSelections.List[Index].LastPosX := LastPosX; + InvalidateSelection(Index); + end; + + procedure SetRowSelection(Index, Row, FromChar, ToChar: Integer; + ScrollPastEOL: Boolean); + var + Len: Integer; + begin + Len := GetRowLength(Row); + if not ScrollPastEOL then + ToChar := EnsureRange(ToChar, 1, Len + 1); + FromChar := EnsureRange(FromChar, 1, Len + 1); + FSelections.List[Index].Caret := + DisplayToBufferPos(DisplayCoord(ToChar, Row)); + FSelections.List[Index].Start := + DisplayToBufferPos(DisplayCoord(FromChar, Row)); + FSelections.List[Index].Stop := + DisplayToBufferPos(DisplayCoord(Min(ToChar, Len + 1), Row)); + FSelections.List[Index].LastPosX := LastPosX; + InvalidateSelection(Index); + end; + +var + DC: TDisplayCoord; + FromChar, ToChar: Integer; + FromRow, ToRow: Integer; + Line, Row: Integer; + Index: Integer; + Increment: Integer; + ScrollPastEOL: Boolean; +begin + Clear; + InvalidateSelection(0); + + ScrollPastEOL := GetScrollPastEOL; + + if GetWordWrap then + begin + DC := BufferToDisplayPos(Anchor); + FromChar := DC.Column; + FromRow := DC.Row; + DC := BufferToDisplayPos(ACaret); + ToChar := DC.Column; + ToRow := DC.Row; + + SetRowSelection(0, FromRow, FromChar, ToChar, ScrollPastEOL); + + Increment := Sign(ToRow - FromRow); + + Row := FromRow; + while Row <> ToRow do + begin + Row := Row + Increment; + if Increment > 0 then + Index := FSelections.Add(TSynSelection.Invalid) + else + begin + FSelections.Insert(0, TSynSelection.Invalid); + Index := 0; + end; + SetRowSelection(Index, Row, FromChar, ToChar, ScrollPastEOL); + end; + end + else + begin + FromChar := Anchor.Char; + ToChar := ACaret.Char; + SetLineSelection(0, Anchor.Line, FromChar, ToChar, ScrollPastEOL); + + Increment := Sign(ACaret.Line - Anchor.Line); + + Line := Anchor.Line; + while Line <> ACaret.Line do + begin + Line := Line + Increment; + if Increment > 0 then + Index := FSelections.Add(TSynSelection.Invalid) + else + begin + FSelections.Insert(0, TSynSelection.Invalid); + Index := 0; + end; + SetLineSelection(Index, Line, FromChar, ToChar, ScrollPastEOL); + end; + end; + + if Increment >= 0 then + begin + FBaseSelIndex := 0; + FActiveSelIndex := FSelections.Count - 1; + end + else + begin + FBaseSelIndex := FSelections.Count - 1; + FActiveSelIndex := 0; + end; + + Restore(ActiveSelection, False); + CaretsChanged; +end; + +procedure TSynSelectionsBase.DeleteSelection(Index: Integer); +var + Sel: TSynSelection; +begin + if FSelections.Count <= 1 then Exit; + + Sel := FSelections[Index]; + DoInvalidateSelection(Sel); + FSelections.Delete(Index); + + if Index = FActiveSelIndex then + begin + if Index >= FSelections.Count then + FActiveSelIndex := FSelections.Count - 1; + end + else if FActiveSelIndex > Index then + Dec(FActiveSelIndex); + + if FBaseSelIndex = Index then + FBaseSelIndex := FSelections.Count - 1 + else if FBaseSelIndex > Index then + Dec(FBaseSelIndex); + + CaretsChanged; +end; + +function TSynSelectionsBase.FindCaret(const ACaret: TBufferCoord): Integer; +var + Index: Integer; +begin + if FSelections.Count = 0 then Exit(-1); + + if FindSelection(ACaret, Index) then + begin + if FSelections[Index].Caret = ACaret then + Result := Index + else + Result := -1; + end + else if (Index > 0) and (FSelections[Index - 1].Caret = ACaret) then + Result := Index - 1 + else + Result := -1; +end; + +function TSynSelectionsBase.FindSelection(const BC: TBufferCoord; + var Index: Integer): Boolean; +begin + if FSelections.BinarySearch(TSynSelection.Create(BC, BC, BC), Index) then + Exit(True); + + if Index = 0 then + Exit(False); + + Result := FSelections[Index - 1].Contains(BC); + if Result then + Dec(Index); +end; + +function TSynSelectionsBase.GetActiveSelection: TSynSelection; +begin + Result := FSelections[FActiveSelIndex]; +end; + +function TSynSelectionsBase.GetBaseSelection: TSynSelection; +begin + Result := FSelections[FBaseSelIndex]; +end; + +function TSynSelectionsBase.GetCount: Integer; +begin + Result := FSelections.Count; +end; + +function TSynSelectionsBase.GetIsEmpty: Boolean; +var + Index: Integer; +begin + Result := True; + for Index := 0 to FSelections.Count - 1 do + if not FSelections.List[Index].IsEmpty then + Exit(False); +end; + +function TSynSelectionsBase.GetSelection(Index: Integer): TSynSelection; +begin + Result := FSelections[Index]; +end; + +procedure TSynSelectionsBase.InvalidateAll; +var + Index: Integer; +begin + for Index := 0 to FSelections.Count - 1 do + InvalidateSelection(Index); +end; + +procedure TSynSelectionsBase.InvalidateSelection(Index: Integer); +begin + DoInvalidateSelection(FSelections[Index]); +end; + +procedure TSynSelectionsBase.LinePut(aIndex: Integer; const OldLine: string); +var + I: Integer; + Line: string; + OldLen, NewLen: Integer; + StartPos: Integer; + Delta: Integer; +begin + if FSelections.Count <= 1 then Exit; + + Line := GetLineText(aIndex + 1); + LineDiff(Line, OldLine, StartPos, OldLen, NewLen); + Delta := NewLen - OldLen; + + for I := FActiveSelIndex + 1 to Count - 1 do + begin + with FSelections.List[I] do + begin + if (Start.Line > aIndex + 1) and (Stop.Line > aIndex + 1) then + Exit; + + if Caret.Line = aIndex + 1 then Inc(Caret.Char, Delta); + if Start.Line = aIndex + 1 then Inc(Start.Char, Delta); + if Stop.Line = aIndex + 1 then Inc(Stop.Char, Delta); + end; + end; +end; + +procedure TSynSelectionsBase.LinesDeleted(FirstLine, aCount: Integer); +var + I: Integer; + MinBC: TBufferCoord; +begin + if FSelections.Count <= 1 then Exit; + + for I := FActiveSelIndex + 1 to Count - 1 do + with FSelections.List[I] do + begin + if Caret.Line >= FirstLine + 1 then Dec(Caret.Line, aCount); + if Start.Line >= FirstLine + 1 then Dec(Start.Line, aCount); + if Stop.Line >= FirstLine + 1 then Dec(Stop.Line, aCount); + + if (Start.Line < FirstLine + 1) and (Stop.Line < FirstLine + 1) then + begin + FSelections.List[I] := TSynSelection.Invalid; + Continue; + end; + + MinBC := BufferCoord(FirstLine + 1, 1); + Caret := TBufferCoord.Max(Caret, MinBC); + Start := TBufferCoord.Max(Start, MinBC); + Stop := TBufferCoord.Max(Stop, MinBC); + end; +end; + +procedure TSynSelectionsBase.LinesInserted(FirstLine, aCount: Integer); +var + I: Integer; +begin + if FSelections.Count <= 1 then Exit; + + for I := FActiveSelIndex + 1 to Count - 1 do + with FSelections.List[I] do + begin + if Caret.Line >= FirstLine + 1 then Inc(Caret.Line, aCount); + if Start.Line >= FirstLine + 1 then Inc(Start.Line, aCount); + if Stop.Line >= FirstLine + 1 then Inc(Stop.Line, aCount); + end; +end; + +procedure TSynSelectionsBase.Merge; + + function DoMerge(const Sel, NextSel: TSynSelection): TSynSelection; + var + Caret, Start, Stop: TBufferCoord; + begin + Start := TBufferCoord.Min( + TBufferCoord.Min(Sel.Start, Sel.Stop), + TBufferCoord.Min(NextSel.Start, NextSel.Stop)); + Stop := TBufferCoord.Max( + TBufferCoord.Max(Sel.Start, Sel.Stop), + TBufferCoord.Max(NextSel.Start, NextSel.Stop)); + + if NextSel.Caret = TBufferCoord.Min(NextSel.Start, NextSel.Stop) then + Caret := Start + else + Caret := Stop; + + Result := TSynSelection.Create(Caret, Start, Stop); + Result.LastPosX := Sel.LastPosX; + Result.CaretAtEOL := Sel.CaretAtEOL; + end; + +var + Sel, NextSel: TSynSelection; + I: Integer; + BC: TBufferCoord; +begin + if FSelections.Count = 1 then Exit; + + // Remove Invalid + for I := Count - 1 downto 0 do + if not FSelections.List[I].IsValid then + DeleteSelection(I); + + NextSel := FSelections.List[Count - 1]; + for I := Count - 2 downto 0 do + begin + Sel := FSelections.List[I]; + + if (Sel = NextSel) or Sel.Intersects(NextSel) then + begin + Sel := DoMerge(Sel, NextSel); + FSelections.List[I] := Sel; + DeleteSelection(I + 1); + end; + NextSel := Sel; + end; + + // Process the case of one invalid selection + if (FSelections.Count = 1) and not FSelections.List[0].IsValid then + begin + BC := BufferCoord(1, 1); + FSelections.List[0] := TSynSelection.Create(BC, BC, BC); + end; + + // Activate the current selection + Restore(ActiveSelection, False); +end; + +procedure TSynSelectionsBase.MouseSelection(const Sel: TSynSelection); +begin + if FSelections.Count <= 1 then Exit; + + for var Index := FSelections.Count - 1 downto 0 do + begin + if Index = FActiveSelIndex then + Continue; + if Sel.Intersects(FSelections.List[Index]) then + DeleteSelection(Index); + end; +end; + +function TSynSelectionsBase.PartSelectionsForRow( + const RowStart, RowEnd: TBufferCoord): TSynSelectionArray; +var + Sel: TSynSelection; +begin + Result := []; + for var Index := 0 to FSelections.Count - 1 do + begin + Sel := FSelections.List[Index].Normalized; + if Sel.Stop < RowStart then + Continue + else if Sel.Start > RowEnd then + Exit + else if not Sel.IsEmpty then + Result := Result + [Sel]; + end; +end; + +procedure TSynSelectionsBase.Restore(const [Ref] SelStorage: TSynSelStorage); +begin + InvalidateAll; + FSelections.Clear; + FSelections.AddRange(SelStorage.Selections); + FActiveSelIndex := SelStorage.ActiveIndex; + FBaseSelIndex := SelStorage.BaseIndex; + InvalidateAll; + Restore(ActiveSelection); + CaretsChanged; +end; + +procedure TSynSelectionsBase.Restore(const [Ref] Sel: TSynSelection; + EnsureVisible: Boolean); +begin + DoRestoreSelection(Sel, EnsureVisible); +end; + +function TSynSelectionsBase.RowHasCaret(ARow, ALine: Integer): Boolean; + + function IsCaretOnRow(Sel: TSynSelection): Boolean; + begin + if GetWordWrap then + Result := SelectionToDisplayRow(Sel) = ARow + else + Result := Sel.Caret.Line = ALine; + end; + +var + Sel: TSynSelection; + Index: Integer; +begin + FindSelection(BufferCoord(1, ALine), Index); + + Result := False; + while Index < FSelections.Count do + begin + Sel := FSelections[Index].Normalized; + if Sel.Start.Line > ALine then Break; + Result := IsCaretOnRow(Sel); + if Result then Break; + Inc(Index); + end; +end; + +procedure TSynSelectionsBase.SetActiveSelection(const Value: TSynSelection); +begin + FSelections[FActiveSelIndex] := Value; +end; + +procedure TSynSelectionsBase.SetActiveSelIndex(const Index: Integer); +var + Sel: TSynSelection; +begin + Assert(InRange(Index, 0, Count - 1)); + if Index <> FActiveSelIndex then + begin + FActiveSelIndex := Index; + Sel := ActiveSelection; + if Sel.IsValid then + Restore(ActiveSelection, False); + end; +end; + +procedure TSynSelectionsBase.SetBaseSelection(const Value: TSynSelection); +begin + FSelections[FBaseSelIndex] := Value; +end; + +procedure TSynSelectionsBase.Store(out SelStorage: TSynSelStorage); +begin + SelStorage.Selections := FSelections.ToArray; + SelStorage.BaseIndex := FBaseSelIndex; + SelStorage.ActiveIndex := FActiveSelIndex; +end; + +end. diff --git a/Source/SynEditTextBuffer.pas b/Source/SynEditTextBuffer.pas index e136e896..6dda0ffb 100644 --- a/Source/SynEditTextBuffer.pas +++ b/Source/SynEditTextBuffer.pas @@ -12,7 +12,7 @@ The Original Code is based on parts of mwCustomEdit.pas by Martin Waldenburg, part of the mwEdit component suite. Portions created by Martin Waldenburg are Copyright (C) 1998 Martin Waldenburg. - Unicode translation by Mal Hrz. + Unicode translation by Ma�l H�rz. All Rights Reserved. Contributors to the SynEdit and mwEdit projects are listed in the @@ -42,7 +42,7 @@ interface System.SysUtils, SynEditTypes, SynEditMiscProcs, - SynUnicode; + SynUnicodeShared; type TSynEditRange = Pointer; @@ -196,7 +196,7 @@ procedure ListIndexOutOfBounds(Index: Integer); raise ESynEditStringList.CreateFmt(SListIndexOutOfBounds, [Index]); end; -constructor TSynEditStringList.Create; +constructor TSynEditStringList.Create(TextWidthFunc: TTextWidthFunc); begin inherited Create; FFileFormat := sffDos; @@ -384,7 +384,10 @@ function TSynEditStringList.GetTextWidth(Index: Integer): Integer; begin if sfTextWidthUnknown in FList^[Index].FFlags then begin - Result := FTextWidthFunc(FList^[Index].FString); + if Assigned(FTextWidthFunc) then + Result := FTextWidthFunc(FList^[Index].FString) + else + Result := Length(FList^[Index].FString); FList^[Index].FTextWidth := Result; Exclude(FList^[Index].FFlags, sfTextWidthUnknown); end @@ -411,7 +414,10 @@ function TSynEditStringList.GetMaxWidth: Integer; PRec := @FList^[I]; if sfTextWidthUnknown in PRec^.FFlags then begin - PRec^.FTextWidth := FTextWidthFunc(PRec^.FString); + if Assigned(FTextWidthFunc) then + PRec^.FTextWidth := FTextWidthFunc(PRec^.FString) + else + PRec^.FTextWidth := Length(PRec^.FString); Exclude(PRec^.FFlags, sfTextWidthUnknown); end; repeat @@ -627,6 +633,7 @@ procedure TSynEditStringList.SaveToStream(Stream: TStream; Encoding: TEncoding); S := GetTextStr; Cancel := False; + {$IFDEF MSWINDOWS} if (Encoding = TEncoding.ANSI) and Assigned(FOnInfoLoss) and not IsAnsiOnly(S) then begin @@ -636,6 +643,7 @@ procedure TSynEditStringList.SaveToStream(Stream: TStream; Encoding: TEncoding); if Encoding <> TEncoding.ANSI then SetEncoding(Encoding); end; + {$ENDIF} Buffer := Encoding.GetBytes(S); if WriteBOM then @@ -669,7 +677,10 @@ procedure TSynEditStringList.Put(Index: Integer; const S: string); // Optimization: We calculate text width here, thus // in most cases avoiding to recalc FMaxWidth the hard way OldWidth := FTextWidth; - FTextWidth := FTextWidthFunc(FString); + if Assigned(FTextWidthFunc) then + FTextWidth := FTextWidthFunc(FString) + else + FTextWidth := Length(FString); Exclude(FFlags, sfTextWidthUnknown); if (FMaxWidth = OldWidth) and (OldWidth > FTextWidth) then FMaxWidth := -1 diff --git a/Source/SynEditTypes.pas b/Source/SynEditTypes.pas index 63078e50..567afdb5 100644 --- a/Source/SynEditTypes.pas +++ b/Source/SynEditTypes.pas @@ -12,7 +12,7 @@ The Original Code is based on parts of mwCustomEdit.pas by Martin Waldenburg, part of the mwEdit component suite. Portions created by Martin Waldenburg are Copyright (C) 1998 Martin Waldenburg. -Unicode translation by Mal Hrz. +Unicode translation by Ma�l H�rz. All Rights Reserved. Contributors to the SynEdit and mwEdit projects are listed in the @@ -41,18 +41,55 @@ interface uses - Winapi.Windows, - Winapi.Messages, System.Types, System.Math, - Vcl.Controls, System.SysUtils, - System.Classes; + System.Classes, + System.UITypes; const DefaultBrackets = '()[]{}'; + { Color constants - aliases for TColors.* to allow shared code to use the + traditional cl* names without depending on Vcl.Graphics } + clBlack = TColors.Black; + clMaroon = TColors.Maroon; + clGreen = TColors.Green; + clOlive = TColors.Olive; + clNavy = TColors.Navy; + clPurple = TColors.Purple; + clTeal = TColors.Teal; + clGray = TColors.Gray; + clSilver = TColors.Silver; + clRed = TColors.Red; + clLime = TColors.Lime; + clYellow = TColors.Yellow; + clBlue = TColors.Blue; + clFuchsia = TColors.Fuchsia; + clAqua = TColors.Aqua; + clLtGray = TColors.LtGray; + clDkGray = TColors.DkGray; + clWhite = TColors.White; + clSkyBlue = TColors.LegacySkyBlue; + clNone = TColors.SysNone; + clWindow = TColors.SysWindow; + clWindowText = TColors.SysWindowText; + clGrayText = TColors.SysGrayText; + clHighlight = TColors.SysHighlight; + clHighlightText = TColors.SysHighlightText; + + { Font style constants - re-exported from System.UITypes where they are + scoped enums, so shared code can use unqualified fsBold etc. } + fsBold = System.UITypes.TFontStyle.fsBold; + fsItalic = System.UITypes.TFontStyle.fsItalic; + fsUnderline = System.UITypes.TFontStyle.fsUnderline; + fsStrikeOut = System.UITypes.TFontStyle.fsStrikeOut; + type + { Re-export font types so shared code doesn't need Vcl.Graphics } + TFontStyle = System.UITypes.TFontStyle; + TFontStyles = System.UITypes.TFontStyles; + TSynAlignment = TAlignment; var @@ -189,15 +226,6 @@ TSynSelection = record TSynSelectionArray = TArray; - (* Helper methods for TControl - for backwward compatibility *) - {$IF CompilerVersion <= 32} - TControlHelper = class helper for TControl - public - function CurrentPPI: Integer; - function FCurrentPPI: Integer; - end; - {$ENDIF} - function DisplayCoord(AColumn, ARow: Integer): TDisplayCoord; function BufferCoord(AChar, ALine: Integer): TBufferCoord; @@ -212,18 +240,6 @@ TCaretShape = record end; -{ ************************* For ScrollBars ********************************} - - ISynEditScrollBars = interface - function UpdateScrollBars: Boolean; - function GetIsScrolling: Boolean; - procedure WMHScroll(var AMsg: TWMScroll); - procedure WMVScroll(var AMsg: TWMScroll); - procedure DoMouseWheel(Shift: TShiftState; WheelDelta: Integer; - MousePos: TPoint); - property IsScrolling: Boolean read GetIsScrolling; - end; - { ************************* For Word Wrap ********************************} // aIndex parameters of Line notifications are 0-based. @@ -261,6 +277,44 @@ TCaretShape = record // for undo/redo of adding a character past EOL and repositioning the caret ); +{ ******************** Multicast event chains ****************************} + + ESynMethodChain = class(Exception); + TSynExceptionEvent = procedure(Sender: TObject; E: Exception; + var DoContinue: Boolean) of object; + + TSynMethodChain = class(TObject) + private + FNotifyProcs: TList; + FExceptionHandler: TSynExceptionEvent; + protected + procedure DoFire(const AEvent: TMethod); virtual; abstract; + function DoHandleException(E: Exception): Boolean; virtual; + property ExceptionHandler: TSynExceptionEvent read FExceptionHandler + write FExceptionHandler; + public + constructor Create; virtual; + destructor Destroy; override; + procedure Add(AEvent: TMethod); + procedure Remove(AEvent: TMethod); + procedure Fire; + end; + + TSynNotifyEventChain = class(TSynMethodChain) + private + FSender: TObject; + protected + procedure DoFire(const AEvent: TMethod); override; + public + constructor CreateEx(ASender: TObject); + procedure Add(AEvent: TNotifyEvent); + procedure Remove(AEvent: TNotifyEvent); + property ExceptionHandler; + property Sender: TObject read FSender write FSender; + end; + +{ ************************* For Undo Redo ********************************} + TSynEditUndoItem = class(TObject) public ChangeStartPos: TBufferCoord; @@ -291,8 +345,8 @@ TSynEditUndoItem = class(TObject) store/restore editor caret and selection We need to pass the Editor so that they works with chained SynEdits } - procedure BeginBlock(Editor: TControl); - procedure EndBlock(Editor: TControl); + procedure BeginBlock(Editor: TObject); + procedure EndBlock(Editor: TObject); { Lock disables undo/redo - useful if you are about to do a large number of changes and planning to clear undo afterwards } procedure Lock; @@ -302,8 +356,8 @@ TSynEditUndoItem = class(TObject) cannot be grouped with the current one } procedure AddGroupBreak; {Note: Undo/Redo are not reentrant} - procedure Undo(Editor: TControl); - procedure Redo(Editor: TControl); + procedure Undo(Editor: TObject); + procedure Redo(Editor: TObject); {TrackChanges stuff} procedure BufferSaved(Lines: TStrings); procedure ClearTrackChanges(Lines: TStrings); @@ -326,13 +380,259 @@ TSynEditUndoItem = class(TObject) property InsideUndoRedo: Boolean read GetInsideUndoRedo; end; +{ ************************** Selected Color *********************************} + + TSynSelectedColor = class(TPersistent) + private + FBG: TColor; + FFG: TColor; + FOnChange: TNotifyEvent; + FOpacity: Byte; + FFillWholeLines: Boolean; + procedure SetBG(Value: TColor); + procedure SetFG(Value: TColor); + procedure SetOpacity(Value: Byte); + procedure SetFillWholeLines(const Value: Boolean); + public + constructor Create; + procedure Assign(Source: TPersistent); override; + property OnChange: TNotifyEvent read FOnChange write FOnChange; + published + property Background: TColor read FBG write SetBG default clHighLight; + property Foreground: TColor read FFG write SetFG default clHighLightText; + property Opacity: Byte read FOpacity write SetOpacity default 115; + property FillWholeLines: Boolean read FFillWholeLines write SetFillWholeLines + default True; + end; + +{ *************************** Search Engine ********************************} + + TSynIsWordBreakFunction = function(C: WideChar): Boolean of object; + + TSynEditSearchCustom = class(TComponent) + protected + FIsWordBreakFunction: TSynIsWordBreakFunction; + function GetPattern: string; virtual; abstract; + procedure SetPattern(const Value: string); virtual; abstract; + function GetLength(Index: Integer): Integer; virtual; abstract; + function GetResult(Index: Integer): Integer; virtual; abstract; + function GetResultCount: Integer; virtual; abstract; + procedure SetOptions(const Value: TSynSearchOptions); virtual; abstract; + public + function FindAll(const NewText: string; StartChar: Integer = 1; + EndChar: Integer = 0): Integer; virtual; abstract; + function PreprocessReplaceExpression(const AReplace: string): string; virtual; + function Replace(const aOccurrence, aReplacement: string): string; + virtual; abstract; + property Pattern: string read GetPattern write SetPattern; + property ResultCount: Integer read GetResultCount; + property Results[Index: Integer]: Integer read GetResult; + property Lengths[Index: Integer]: Integer read GetLength; + property Options: TSynSearchOptions write SetOptions; + property IsWordBreakFunction: TSynIsWordBreakFunction write FIsWordBreakFunction; + end; + implementation Uses -{$IF CompilerVersion <= 32} - Vcl.Forms, -{$ENDIF} SynEditStrConst, - SynUnicode; + SynUnicodeShared; + +{$REGION 'TSynSelectedColor'} + +constructor TSynSelectedColor.Create; +begin + inherited Create; + FBG := clHighLight; + FFG := clHighLightText; + FFillWholeLines := True; + FOpacity := 115; +end; + +procedure TSynSelectedColor.Assign(Source: TPersistent); +begin + if Source is TSynSelectedColor then + begin + var Src := TSynSelectedColor(Source); + FBG := Src.FBG; + FFG := Src.FFG; + FOpacity := Src.Opacity; + FFillWholeLines := Src.FillWholeLines; + if Assigned(FOnChange) then + FOnChange(Self); + end + else + inherited Assign(Source); +end; + +procedure TSynSelectedColor.SetBG(Value: TColor); +begin + if FBG <> Value then + begin + FBG := Value; + if Assigned(FOnChange) then + FOnChange(Self); + end; +end; + +procedure TSynSelectedColor.SetFG(Value: TColor); +begin + if FFG <> Value then + begin + FFG := Value; + if Assigned(FOnChange) then + FOnChange(Self); + end; +end; + +procedure TSynSelectedColor.SetOpacity(Value: Byte); +begin + if FOpacity <> Value then + begin + FOpacity := Value; + if Assigned(FOnChange) then + FOnChange(Self); + end; +end; + +procedure TSynSelectedColor.SetFillWholeLines(const Value: Boolean); +begin + if FFillWholeLines <> Value then + begin + FFillWholeLines := Value; + if Assigned(FOnChange) then + FOnChange(Self); + end; +end; + +{$ENDREGION} + +{ TSynEditSearchCustom } + +function TSynEditSearchCustom.PreprocessReplaceExpression(const AReplace + : string): string; +begin + Result := AReplace; +end; + +{$REGION 'TSynMethodChain'} + +procedure TSynMethodChain.Add(AEvent: TMethod); +begin + if not Assigned(@AEvent) then + raise ESynMethodChain.CreateFmt + ('%s.Entry: the parameter `AEvent'' must be specified.', [ClassName]); + + with FNotifyProcs, AEvent do + begin + Add(Code); + Add(Data); + end +end; + +constructor TSynMethodChain.Create; +begin + inherited; + FNotifyProcs := TList.Create; +end; + +destructor TSynMethodChain.Destroy; +begin + FNotifyProcs.Free; + inherited; +end; + +function TSynMethodChain.DoHandleException(E: Exception): Boolean; +begin + if not Assigned(FExceptionHandler) then + raise E + else + try + Result := True; + FExceptionHandler(Self, E, Result); + except + raise ESynMethodChain.CreateFmt + ('%s.DoHandleException: MUST NOT occur any kind of exception in ' + + 'ExceptionHandler', [ClassName]); + end; +end; + +procedure TSynMethodChain.Fire; +var + AMethod: TMethod; + I: Integer; +begin + I := 0; + with FNotifyProcs, AMethod do + while I < Count do + try + repeat + Code := Items[I]; + Inc(I); + Data := Items[I]; + Inc(I); + + DoFire(AMethod) + until I >= Count; + except + on E: Exception do + if not DoHandleException(E) then + I := MaxInt; + end; +end; + +procedure TSynMethodChain.Remove(AEvent: TMethod); +var + I: Integer; +begin + if not Assigned(@AEvent) then + raise ESynMethodChain.CreateFmt + ('%s.Remove: the parameter `AEvent'' must be specified.', [ClassName]); + + with FNotifyProcs, AEvent do + begin + I := Count - 1; + while I > 0 do + if Items[I] <> Data then + Dec(I, 2) + else + begin + Dec(I); + if Items[I] = Code then + begin + Delete(I); + Delete(I); + end; + Dec(I); + end; + end; +end; + +{$ENDREGION} + +{$REGION 'TSynNotifyEventChain'} + +procedure TSynNotifyEventChain.Add(AEvent: TNotifyEvent); +begin + inherited Add(TMethod(AEvent)); +end; + +constructor TSynNotifyEventChain.CreateEx(ASender: TObject); +begin + inherited Create; + FSender := ASender; +end; + +procedure TSynNotifyEventChain.DoFire(const AEvent: TMethod); +begin + TNotifyEvent(AEvent)(FSender); +end; + +procedure TSynNotifyEventChain.Remove(AEvent: TNotifyEvent); +begin + inherited Remove(TMethod(AEvent)); +end; + +{$ENDREGION} function DisplayCoord(AColumn, ARow: Integer): TDisplayCoord; begin @@ -486,22 +786,6 @@ class function TDisplayCoord.Min(a, b: TDisplayCoord): TDisplayCoord; Result := (a.Row <> b.Row) or (a.Column <> b.Column); end; -{$IF CompilerVersion <= 32} -{ TControlHelper } - -function TControlHelper.CurrentPPI: Integer; -begin - Result := Screen.PixelsPerInch; -end; - -function TControlHelper.FCurrentPPI: Integer; -begin - Result := Screen.PixelsPerInch; -end; -{$ENDIF} - - - { TSynSelection } function TSynSelection.Contains(const BC: TBufferCoord): Boolean; diff --git a/Source/SynEditUndo.pas b/Source/SynEditUndo.pas deleted file mode 100644 index e0ad496f..00000000 --- a/Source/SynEditUndo.pas +++ /dev/null @@ -1,955 +0,0 @@ -{ ------------------------------------------------------------------------------- - 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. - - Contributors to the SynEdit and mwEdit projects are listed in the - Contributors.txt file. - - Alternatively, the contents of this file may be used under the terms of the - GNU General Public License Version 2 or later (the "GPL"), in which case - the provisions of the GPL are applicable instead of those above. - If you wish to allow use of your version of this file only under the terms - of the GPL and not to allow others to use your version of this file - under the MPL, indicate your decision by deleting the provisions above and - replace them with the notice and other provisions required by the GPL. - If you do not delete the provisions above, a recipient may use your version - of this file under either the MPL or the GPL. - - Known Issues: - ------------------------------------------------------------------------------- } - -unit SynEditUndo; - -{$I SynEdit.inc} - -interface - -uses - SynEdit, - SynEditTypes, - SynEditKeyCmds; - -{ Factory Method} - -function CreateSynEditUndo(Editor: TCustomSynEdit): ISynEditUndo; - -implementation - -uses - System.Classes, - System.SysUtils, - System.Math, - System.Generics.Collections, - Vcl.Controls, - SynEditMiscProcs, - SynEditMiscClasses, - SynEditTextBuffer; - -type - - TSynUndoItem = class abstract(TObject) - ChangeNumber: Integer; // Undo items with the same change number are grouped - FCaret: TBufferCoord; - GroupBreak: Boolean; // Singnals not to group items together - public - procedure Undo(Editor: TCustomSynEdit); virtual; abstract; - procedure Redo(Editor: TCustomSynEdit); virtual; abstract; - end; - - TSynLinePutUndoItem = class(TSynUndoItem) - private - FIndex: Integer; - FStartPos: Integer; - FOldValue: string; - FNewValue: string; - FChangeFlags: TSynLineChangeFlags; - FCommandProcessed: TSynEditorCommand; - public - function GroupWith(Item:TSynLinePutUndoItem): Boolean; - procedure Undo(Editor: TCustomSynEdit); override; - procedure Redo(Editor: TCustomSynEdit); override; - constructor Create(Editor: TCustomSynEdit; Index: Integer; OldLine: string; - Command: TSynEditorCommand); - end; - - TSynLinesInsertedUndoItem = class(TSynUndoItem) - private - FIndex: Integer; - FLines: TArray; - FChangeFlags: TArray; - public - procedure Undo(Editor: TCustomSynEdit); override; - procedure Redo(Editor: TCustomSynEdit); override; - constructor Create(Editor: TCustomSynEdit; Index, Count: Integer); - end; - - TSynLinesDeletedUndoItem = class(TSynUndoItem) - private - FIndex: Integer; - FLines: TArray; - FChangeFlags: TArray; - public - procedure Undo(Editor: TCustomSynEdit); override; - procedure Redo(Editor: TCustomSynEdit); override; - constructor Create(Editor: TCustomSynEdit; Index: Integer; DeletedLines: - TArray; DeletedChangeFlags: TArray); - end; - - TSynCaretAndSelectionUndoItem = class(TSynUndoItem) - private - FBlockBegin: TBufferCoord; - FBlockEnd: TBufferCoord; - SelStorage: TSynSelStorage; - public - procedure Undo(Editor: TCustomSynEdit); override; - procedure Redo(Editor: TCustomSynEdit); override; - constructor Create(Editor: TCustomSynEdit); - end; - - TSynEditUndo = class; - - TSynUndoPlugin = class(TSynEditPlugin) - private - FSynEditUndo: TSynEditUndo; - FDeletedLines: TArray; - FDeletedChangeFlags: TArray; - protected - procedure LinesInserted(FirstLine, Count: Integer); override; - procedure LinesBeforeDeleted(FirstLine, Count: Integer); override; - procedure LinesDeleted(FirstLine, Count: Integer); override; - procedure LinePut(aIndex: Integer; const OldLine: string); override; - public - constructor Create(SynEditUndo: TSynEditUndo; Editor: TCustomSynEdit); - end; - - TSynEditUndoList = class(TObjectStack) - protected - FOwner: TSynEditUndo; - FFullUndoImposible: Boolean; - procedure EnsureMaxEntries; - public - constructor Create(Owner: TSynEditUndo); - procedure Push(const Value: TSynUndoItem); - end; - - TSynEditUndo = class(TInterfacedObject, ISynEditUndo) - private - FPlugin: TSynUndoPlugin; - FGroupUndo: Boolean; - FBlockCount: Integer; - FLockCount: Integer; - FBlockChangeNumber: Integer; - FNextChangeNumber: Integer; - FInitialChangeNumber: Integer; - FMaxUndoActions: Integer; - FBlockStartModified: Boolean; - FUndoList: TSynEditUndoList; - FRedoList: TSynEditUndoList; - FOnModifiedChanged: TNotifyEvent; - FInsideUndoRedo: Boolean; - FCommandProcessed: TSynEditorCommand; - FBlockSelRestoreItem: TSynUndoItem; - function GetModified: Boolean; - function GetCanUndo: Boolean; - function GetCanRedo: Boolean; - function GetFullUndoImposible: Boolean; - function GetOnModifiedChanged: TNotifyEvent; - function GetInsideUndoRedo: Boolean; - procedure SetModified(const Value: Boolean); - procedure SetCommandProcessed(const Command: TSynEditorCommand); - procedure SetMaxUndoActions(const Value: Integer); - procedure SetOnModifiedChanged(const Value: TNotifyEvent); - procedure SetGroupUndo(const Value: Boolean); - function GetMaxUndoActions: Integer; - procedure BeginBlock(Editor: TControl); - procedure EndBlock(Editor: TControl); - procedure Lock; - procedure Unlock; - function IsLocked: Boolean; - procedure Clear; - procedure Undo(Editor: TControl); - procedure Redo(Editor: TControl); - procedure BufferSaved(Lines: TStrings); - procedure ClearTrackChanges(Lines: TStrings); - - function NextChangeNumber: Integer; - procedure AddGroupBreak; - procedure AddUndoItem(Item: TSynUndoItem); - public - constructor Create(Editor: TCustomSynEdit); - destructor Destroy; override; - end; - -{ TSynEditUndoList } - -constructor TSynEditUndoList.Create(Owner: TSynEditUndo); -begin - inherited Create(True); - FOwner := Owner; -end; - -procedure TSynEditUndoList.EnsureMaxEntries; -var - KeepCount: Integer; - ItemArray: TArray; - I: Integer; -begin - if FOwner.FMaxUndoActions <= 0 then Exit; - - if Count > FOwner.FMaxUndoActions then - begin - FFullUndoImposible := True; - KeepCount := (FOwner.FMaxUndoActions div 4) * 3; - ItemArray := ToArray; - for I := 1 to KeepCount do - Extract; - Clear; // Destroys remaining items - for I := Length(ItemArray) - KeepCount to Length(ItemArray) - 1 do - Push(ItemArray[I]); - end; -end; - -procedure TSynEditUndoList.Push(const Value: TSynUndoItem); -begin - inherited Push(Value); - EnsureMaxEntries; -end; - -{ TSynEditUndo } - -procedure TSynEditUndo.AddUndoItem(Item: TSynUndoItem); -var - OldModified: Boolean; -begin - Assert(not FInsideUndoRedo); - OldModified := GetModified; - if FBlockChangeNumber <> 0 then - Item.ChangeNumber := FBlockChangeNumber - else - Item.ChangeNumber := NextChangeNumber; - FUndoList.Push(Item); - FRedoList.Clear; - // Do not sent unnecessary notifications - if (FBlockCount = 0) and (OldModified xor GetModified) and - Assigned(FOnModifiedChanged) - then - FOnModifiedChanged(Self); -end; - -procedure TSynEditUndo.AddGroupBreak; -begin - if (FUndoList.Count > 0) and (FBlockCount = 0) then - FUndoList.Peek.GroupBreak := True; -end; - -procedure TSynEditUndo.BeginBlock(Editor: TControl); -begin - if IsLocked then Exit; - - Inc(FBlockCount); - if FBlockCount = 1 then // it was 0 - begin - FBlockStartModified := GetModified; - // All undo items added until the matching EndBlock is called - // will get the same change number and will be grouped together - FBlockChangeNumber := NextChangeNumber; - - // So that position is restored after Redo - FBlockSelRestoreItem := TSynCaretAndSelectionUndoItem.Create(Editor as TCustomSynEdit); - FBlockSelRestoreItem.ChangeNumber := FBlockChangeNumber; - FUndoList.Push(FBlockSelRestoreItem); - end; -end; - -procedure TSynEditUndo.BufferSaved(Lines: TStrings); - - procedure PutItemSaved(Item: TSynLinePutUndoItem); - begin - if Item.FChangeFlags = [sfAsSaved] then - Item.FChangeFlags := [sfModified]; - end; - - procedure InsertedItemSaved(Item: TSynLinesInsertedUndoItem); - var - I: Integer; - begin - for I := 0 to Length(Item.FChangeFlags) - 1 do - Item.FChangeFlags[I] := [sfModified]; - end; - - procedure DeletedItemSaved(Item: TSynLinesDeletedUndoItem); - var - I: Integer; - begin - for I := 0 to Length(Item.FChangeFlags) - 1 do - Item.FChangeFlags[I] := [sfModified]; - end; - -var - SynLines: TSynEditStringList; - Index: Integer; - Flags: TSynLineChangeFlags; - Item: TSynUndoItem; -begin - SynLines := Lines as TSynEditStringList; - // First change the flags of TSynEditStringList - for Index := 0 to SynLines.Count - 1 do - begin - Flags := SynLines.ChangeFlags[Index]; - if Flags = [sfSaved] then - // original line saved and then restored - SynLines.ChangeFlags[Index] := [] - else if sfModified in Flags then - SynLines.ChangeFlags[Index] := Flags - [sfModified] + [sfSaved, sfAsSaved]; - end; - // Then modify the Undo/Redo lists - for Item in FUndoList do - if Item is TSynLinePutUndoItem then - PutItemSaved(TSynLinePutUndoItem(Item)) - else if Item is TSynLinesInsertedUndoItem then - InsertedItemSaved(TSynLinesInsertedUndoItem(Item)) - else if Item is TSynLinesDeletedUndoItem then - DeletedItemSaved(TSynLinesDeletedUndoItem(Item)); - - for Item in FRedoList do - if Item is TSynLinePutUndoItem then - PutItemSaved(TSynLinePutUndoItem(Item)) - else if Item is TSynLinesInsertedUndoItem then - InsertedItemSaved(TSynLinesInsertedUndoItem(Item)) - else if Item is TSynLinesDeletedUndoItem then - DeletedItemSaved(TSynLinesDeletedUndoItem(Item)); -end; - -procedure TSynEditUndo.Clear; -begin - FUndoList.Clear; - FRedoList.Clear; -end; - -procedure TSynEditUndo.ClearTrackChanges(Lines: TStrings); - procedure InsertedItemClear(Item: TSynLinesInsertedUndoItem); - var - I: Integer; - begin - for I := 0 to Length(Item.FChangeFlags) - 1 do - Item.FChangeFlags[I] := [sfModified]; - end; - - procedure DeletedItemClear(Item: TSynLinesDeletedUndoItem); - var - I: Integer; - begin - for I := 0 to Length(Item.FChangeFlags) - 1 do - Item.FChangeFlags[I] := [sfModified]; - end; -var - SynLines: TSynEditStringList; - Index: Integer; - Item: TSynUndoItem; -begin - SynLines := Lines as TSynEditStringList; - // First change the flags of TSynEditStringList - for Index := 0 to SynLines.Count - 1 do - SynLines.ChangeFlags[Index] := []; - // Then modify the Undo/Redo lists - for Item in FUndoList do - if Item is TSynLinesInsertedUndoItem then - InsertedItemClear(TSynLinesInsertedUndoItem(Item)) - else if Item is TSynLinesDeletedUndoItem then - DeletedItemClear(TSynLinesDeletedUndoItem(Item)); - - for Item in FRedoList do - if Item is TSynLinesInsertedUndoItem then - InsertedItemClear(TSynLinesInsertedUndoItem(Item)) - else if Item is TSynLinesDeletedUndoItem then - DeletedItemClear(TSynLinesDeletedUndoItem(Item)); -end; - -constructor TSynEditUndo.Create(Editor: TCustomSynEdit); -begin - inherited Create; - FGroupUndo := True; - FMaxUndoActions := 0; - FNextChangeNumber := 1; - FUndoList := TSynEditUndoList.Create(Self); - FRedoList := TSynEditUndoList.Create(Self); - FPlugin := TSynUndoPlugin.Create(Self, Editor); -end; - -destructor TSynEditUndo.Destroy; -begin - FUndoList.Free; - FRedoList.Free; - inherited; -end; - -procedure TSynEditUndo.EndBlock(Editor: TControl); -var - Item: TSynCaretAndSelectionUndoItem; -begin - if IsLocked then Exit; - - Assert(FBlockCount > 0); - if FBlockCount > 0 then - begin - Dec(FBlockCount); - if FBlockCount = 0 then - begin - if (FUndoList.Count > 0) and (FUndoList.Peek = FBlockSelRestoreItem) then - // No undo items added from BlockBegin to BlockEnd - FUndoList.Pop - else - begin - // So that position is restored after Redo - Item := TSynCaretAndSelectionUndoItem.Create(Editor as TCustomSynEdit); - Item.ChangeNumber := FBlockChangeNumber; - FUndoList.Push(Item); - end; - - FBlockChangeNumber := 0; - AddGroupBreak; - if FBlockStartModified xor GetModified and Assigned(FOnModifiedChanged) then - FOnModifiedChanged(Self); - end; - end; -end; - -function TSynEditUndo.GetCanUndo: Boolean; -begin - Result := FUndoList.Count > 0; -end; - -function TSynEditUndo.GetFullUndoImposible: Boolean; -begin - Result := FUndoList.FFullUndoImposible; -end; - -function TSynEditUndo.GetInsideUndoRedo: Boolean; -begin - Result := FInsideUndoRedo; -end; - -function TSynEditUndo.GetMaxUndoActions: Integer; -begin - Result := FMaxUndoActions; -end; - -function TSynEditUndo.GetModified: Boolean; -begin - if FUndoList.Count = 0 then - Result := FInitialChangeNumber <> 0 - else - Result := FUndoList.Peek.ChangeNumber <> FInitialChangeNumber; -end; - -function TSynEditUndo.GetOnModifiedChanged: TNotifyEvent; -begin - Result := FOnModifiedChanged; -end; - -function TSynEditUndo.IsLocked: Boolean; -begin - Result := FLockCount > 0; -end; - -function TSynEditUndo.GetCanRedo: Boolean; -begin - Result := FRedoList.Count > 0; -end; - -procedure TSynEditUndo.Lock; -begin - Inc(FLockCount); -end; - -function TSynEditUndo.NextChangeNumber: Integer; -begin - Result := FNextChangeNumber; - Inc(FNextChangeNumber); -end; - -procedure TSynEditUndo.Redo(Editor: TControl); -var - Item, LastItem: TSynUndoItem; - OldChangeNumber: Integer; - OldModified: Boolean; - FKeepGoing: Boolean; - LastItemHasGroupBreak: Boolean; -begin - Assert((FBlockCount = 0) and (FBlockChangeNumber = 0)); - - if FRedoList.Count > 0 then - begin - Item := FRedoList.Peek; - OldModified := GetModified; - OldChangeNumber := Item.ChangeNumber; - - repeat - Item := FRedoList.Extract; - LastItemHasGroupBreak := Item.GroupBreak; - LastItem := Item; - FInsideUndoRedo := True; - try - Item.Redo(Editor as TCustomSynEdit); - finally - FInsideUndoRedo := False; - end; - // Move it to the UndoList - FUndoList.Push(Item); - - if FRedoList.Count = 0 then - Break - else - Item := FRedoList.Peek; - - if Item.ChangeNumber = OldChangeNumber then - FKeepGoing := True - else - FKeepGoing := - FGroupUndo and - { Last Item had a group break - Stop redoing } - not LastItemHasGroupBreak and - { Group together same undo actions } - (LastItem is TSynLinePutUndoItem) and - (Item is TSynLinePutUndoItem) and - TSynLinePutUndoItem(LastItem).GroupWith(TSynLinePutUndoItem(Item)); - until not(FKeepGoing); - - if not (Item is TSynCaretAndSelectionUndoItem) then - begin - (Editor as TCustomSynEdit).Selections.Clear; - (Editor as TCustomSynEdit).CaretXY := Item.FCaret; // removes selection - end; - if (OldModified xor GetModified) and Assigned(FOnModifiedChanged) then - FOnModifiedChanged(Self); - end; -end; - -procedure TSynEditUndo.SetCommandProcessed(const Command: TSynEditorCommand); -begin - FCommandProcessed := Command; -end; - -procedure TSynEditUndo.SetGroupUndo(const Value: Boolean); -begin - FGroupUndo := Value; -end; - -procedure TSynEditUndo.SetMaxUndoActions(const Value: Integer); -begin - if Value <> FMaxUndoActions then - begin - FMaxUndoActions := Value; - FUndoList.EnsureMaxEntries; - FRedoList.EnsureMaxEntries; - end; -end; - -procedure TSynEditUndo.SetModified(const Value: Boolean); -begin - if not Value then - begin - if FUndoList.Count = 0 then - FInitialChangeNumber := 0 - else - FInitialChangeNumber := FUndoList.Peek.ChangeNumber; - end - else if FUndoList.Count = 0 then - begin - if FInitialChangeNumber = 0 then - FInitialChangeNumber := -1; - end - else if FUndoList.Peek.ChangeNumber = FInitialChangeNumber then - FInitialChangeNumber := -1 -end; - -procedure TSynEditUndo.SetOnModifiedChanged(const Value: TNotifyEvent); -begin - FOnModifiedChanged := Value; -end; - -procedure TSynEditUndo.Undo(Editor: TControl); -var - Item, LastItem: TSynUndoItem; - OldChangeNumber: Integer; - OldModified: Boolean; - FKeepGoing: Boolean; -begin - Assert((FBlockCount = 0) and (FBlockChangeNumber = 0)); - - if FUndoList.Count > 0 then - begin - Item := FUndoList.Peek; - OldModified := GetModified; - OldChangeNumber := Item.ChangeNumber; - - repeat - Item := FUndoList.Extract; - LastItem := Item; - FInsideUndoRedo := True; - try - Item.Undo(Editor as TCustomSynEdit); - finally - FInsideUndoRedo := False; - end; - // Move it to the RedoList - FRedoList.Push(Item); - - if FUndoList.Count = 0 then - Break - else - Item := FUndoList.Peek; - - if Item.ChangeNumber = OldChangeNumber then - FKeepGoing := True - else - FKeepGoing := - FGroupUndo and - { Last Item had a group break - Stop redoing } - not Item.GroupBreak and - { Group together same undo actions } - (LastItem is TSynLinePutUndoItem) and - (Item is TSynLinePutUndoItem) and - TSynLinePutUndoItem(Item).GroupWith(TSynLinePutUndoItem(LastItem)); - until not(FKeepGoing); - - if not (LastItem is TSynCaretAndSelectionUndoItem) then - begin - (Editor as TCustomSynEdit).Selections.Clear; - (Editor as TCustomSynEdit).SetCaretAndSelection(LastItem.FCaret, LastItem.FCaret, - LastItem.FCaret); - end; - if (OldModified xor GetModified) and Assigned(FOnModifiedChanged) then - FOnModifiedChanged(Self); - end; -end; - -procedure TSynEditUndo.Unlock; -begin - if FLockCount > 0 then - Dec(FLockCount); -end; - -{ Factory Method} - -function CreateSynEditUndo(Editor: TCustomSynEdit): ISynEditUndo; -begin - Result := TSynEditUndo.Create(Editor); -end; - -{ TSynCaretAndSelectionUndoItem } - -constructor TSynCaretAndSelectionUndoItem.Create(Editor: TCustomSynEdit); -begin - inherited Create; - if Editor.Selections.Count = 1 then - begin - FCaret := Editor.CaretXY; - FBlockBegin := Editor.BlockBegin; - FBlockEnd := Editor.BlockEnd; - end - else - begin - Editor.Selections.Store(SelStorage); - end; -end; - -procedure TSynCaretAndSelectionUndoItem.Redo(Editor: TCustomSynEdit); -begin - // Same as Undo - Undo(Editor); -end; - -procedure TSynCaretAndSelectionUndoItem.Undo(Editor: TCustomSynEdit); -begin - if Length(SelStorage.Selections) > 0 then - Editor.Selections.Restore(SelStorage) - else - begin - Editor.Selections.Clear; - Editor.SetCaretAndSelection(FCaret, FBlockBegin, FBlockEnd); - end; -end; - -{ TSynLinesDeletedUndoItem } - -constructor TSynLinesDeletedUndoItem.Create(Editor: TCustomSynEdit; Index: - Integer; DeletedLines: TArray; DeletedChangeFlags: - TArray); -begin - inherited Create; - FIndex := Index; - FLines := DeletedLines; - FChangeFlags := DeletedChangeFlags; -end; - -procedure TSynLinesDeletedUndoItem.Redo(Editor: TCustomSynEdit); -var - I: Integer; -begin - // Save change flags - SetLength(FChangeFlags, Length(FLines)); - for I := 0 to Length(FLines) - 1 do - FChangeFlags[I] := TSynEditStringList(Editor.Lines).ChangeFlags[FIndex + I]; - - TSynEditStringList(Editor.Lines).DeleteLines(FIndex, Length(FLines)); - FCaret := BufferCoord(1, FIndex + 1); -end; - -procedure TSynLinesDeletedUndoItem.Undo(Editor: TCustomSynEdit); -var - I: Integer; -begin - TSynEditStringList(Editor.Lines).InsertStrings(FIndex, FLines); - - // Restore change flags - for I := 0 to Length(FLines) - 1 do - TSynEditStringList(Editor.Lines).ChangeFlags[FIndex + I] := FChangeFlags[I]; - - FCaret := BufferCoord(1, - Min(Editor.Lines.Count, FIndex + Length(FLines) + 1)); -end; - -{ TSynLinesInsertedUndoItem } - -constructor TSynLinesInsertedUndoItem.Create(Editor: TCustomSynEdit; Index, - Count: Integer); -var - I: Integer; -begin - inherited Create; - FIndex := Index; - SetLength(FLines, Count); - for I := 0 to Count - 1 do - begin - FLines[I] := Editor.Lines[Index + I]; - // Mark the lines modified - TSynEditStringList(Editor.Lines).ChangeFlags[Index + I] := [sfModified]; - end; -end; - -procedure TSynLinesInsertedUndoItem.Redo(Editor: TCustomSynEdit); -var - I: Integer; -begin - TSynEditStringList(Editor.Lines).InsertStrings(FIndex, FLines); - - // Restore change flags - for I := 0 to Length(FLines) - 1 do - TSynEditStringList(Editor.Lines).ChangeFlags[FIndex + I] := FChangeFlags[I]; - - FCaret := BufferCoord(1, - Min(Editor.Lines.Count, FIndex + Length(FLines) + 1)); -end; - -procedure TSynLinesInsertedUndoItem.Undo(Editor: TCustomSynEdit); -var - I: Integer; -begin - // Save change flags - SetLength(FChangeFlags, Length(FLines)); - for I := 0 to Length(FLines) - 1 do - FChangeFlags[I] := TSynEditStringList(Editor.Lines).ChangeFlags[FIndex + I]; - - TSynEditStringList(Editor.Lines).DeleteLines(FIndex, Length(FLines)); - FCaret := BufferCoord(1, FIndex + 1); -end; - -{ TSynLinePutUndoItem } - -function TSynLinePutUndoItem.GroupWith(Item: TSynLinePutUndoItem): Boolean; -begin - if (FNewValue.Length = Item.FNewValue.Length) and - (FOldValue.Length = Item.FOldValue.Length) and - (FOldValue.Length <= 1) and (FNewValue.Length <= 1) and - (Abs(FStartPos - Item.FStartPos) <= 1) - then - Result := True - else - Result := False; -end; - -constructor TSynLinePutUndoItem.Create(Editor: TCustomSynEdit; Index: Integer; - OldLine: string; Command: TSynEditorCommand); -var - Len1, Len2: Integer; - Line: string; -begin - FCommandProcessed := Command; - - FIndex := Index; - Line := Editor.Lines[Index]; - - LineDiff(Line, OldLine, FStartPos, Len1, Len2); - - FOldValue := Copy(OldLine, FStartPos, Len1); - FNewValue := Copy(Line, FStartPos, Len2); - - FChangeFlags := TSynEditStringList(Editor.Lines).ChangeFlags[Index] - - [sfSaved]; - TSynEditStringList(Editor.Lines).ChangeFlags[Index] := - TSynEditStringList(Editor.Lines).ChangeFlags[Index] + - [sfModified] - [sfAsSaved]; -end; - -procedure TSynLinePutUndoItem.Redo(Editor: TCustomSynEdit); -var - Line: string; - Char: Integer; - TempCF: TSynLineChangeFlags; -begin - Line := Editor.Lines[FIndex]; - // Delete New - Delete(Line, FStartPos, FOldValue.Length); - Insert(FNewValue, Line, FStartPos); - Editor.Lines[FIndex] := Line; - // Swap change flags - TempCF := FChangeFlags; - FChangeFlags := TSynEditStringList(Editor.Lines).ChangeFlags[FIndex] - - [sfSaved]; - TSynEditStringList(Editor.Lines).ChangeFlags[FIndex] := - TSynEditStringList(Editor.Lines).ChangeFlags[FIndex] - - [sfModified, sfAsSaved] + TempCF; - // Guess Caret position - case FCommandProcessed of - ecChar: - if (FOldValue.Length = 1) and (FNewValue.Length = 1) then - Char := FStartPos // Typing in Insert Mode - else - Char := FStartPos + FNewValue.Length; - ecDeleteChar, - ecDeleteWord, - ecDeleteEOL: Char := FStartPos; - else - Char := FStartPos + FNewValue.Length; - end; - FCaret := BufferCoord(Char, FIndex + 1); -end; - -procedure TSynLinePutUndoItem.Undo(Editor: TCustomSynEdit); -var - Line: string; - Char: Integer; - TempCF: TSynLineChangeFlags; -begin - Line := Editor.Lines[FIndex]; - // Delete New - Delete(Line, FStartPos, FNewValue.Length); - Insert(FOldValue, Line, FStartPos); - Editor.Lines[FIndex] := Line; - // Swap change flags - TempCF := FChangeFlags; - FChangeFlags := TSynEditStringList(Editor.Lines).ChangeFlags[FIndex] - - [sfSaved]; - TSynEditStringList(Editor.Lines).ChangeFlags[FIndex] := - TSynEditStringList(Editor.Lines).ChangeFlags[FIndex] - - [sfModified, sfAsSaved] + TempCF; - // Guess Caret position - case FCommandProcessed of - ecChar: - if (FOldValue.Length = 1) and (FNewValue.Length = 1) then - Char := FStartPos // Typing in Overwrite Mode - else - Char := FStartPos + FOldValue.Length; - ecDeleteChar, - ecDeleteWord, - ecDeleteEOL: Char := FStartPos; - else - Char := FStartPos + FOldValue.Length; - end; - FCaret := BufferCoord(Char, FIndex + 1); -end; - -{ TSynUndoPlugin } - -constructor TSynUndoPlugin.Create(SynEditUndo: TSynEditUndo; - Editor: TCustomSynEdit); -begin - FSynEditUndo := SynEditUndo; - inherited Create(Editor, - [phLinePut, phLinesInserted, phLinesBeforeDeleted, phLinesDeleted]); -end; - -procedure TSynUndoPlugin.LinePut(aIndex: Integer; const OldLine: string); -var - Line: string; - Item: TSynLinePutUndoItem; -begin - if Editor.IsChained or FSynEditUndo.IsLocked or FSynEditUndo.FInsideUndoRedo - then - Exit; - - Line := Editor.Lines[aIndex]; - if Line <> OldLine then - begin - Item := TSynLinePutUndoItem.Create(Editor, aIndex, OldLine, - FSynEditUndo.FCommandProcessed); - FSynEditUndo.AddUndoItem(Item); - end; -end; - -procedure TSynUndoPlugin.LinesBeforeDeleted(FirstLine, Count: Integer); -var - I: Integer; -begin - if Editor.IsChained or FSynEditUndo.IsLocked or FSynEditUndo.FInsideUndoRedo - then - Exit; - - // Save deleted lines and change flags - SetLength(FDeletedLines, Count); - SetLength(FDeletedChangeFlags, Count); - for I := 0 to Count -1 do - begin - FDeletedLines[I] := Editor.Lines[FirstLine + I]; - FDeletedChangeFlags[I] := - TSynEditStringList(Editor.Lines).ChangeFlags[FirstLine + I]; - end; -end; - -procedure TSynUndoPlugin.LinesDeleted(FirstLine, Count: Integer); -var - Item: TSynLinesDeletedUndoItem; -begin - if Editor.IsChained or FSynEditUndo.IsLocked or FSynEditUndo.FInsideUndoRedo - then - Exit; - - if Count > 0 then - begin - Item := TSynLinesDeletedUndoItem.Create(Editor, FirstLine, - FDeletedLines, FDeletedChangeFlags); - FSynEditUndo.AddUndoItem(Item); - end; -end; - -procedure TSynUndoPlugin.LinesInserted(FirstLine, Count: Integer); -var - Item: TSynLinesInsertedUndoItem; -begin - if Editor.IsChained or FSynEditUndo.IsLocked or FSynEditUndo.FInsideUndoRedo - then - Exit; - - // Consider a file with one empty line as empty - // Otherwise when you type in a new file and undo it, CanUndo will still - // return True because the initial insertion will be on the Undo list - if (FSynEditUndo.FUndoList.Count = 0) and - (Editor.Lines.Count = 1) and (Editor.Lines[0] = '') - then - Exit; - - if Count > 0 then - begin - Item := TSynLinesInsertedUndoItem.Create(Editor, FirstLine, Count); - FSynEditUndo.AddUndoItem(Item); - end; -end; - -end. diff --git a/Source/SynEditUndoShared.pas b/Source/SynEditUndoShared.pas new file mode 100644 index 00000000..3ed63d14 --- /dev/null +++ b/Source/SynEditUndoShared.pas @@ -0,0 +1,751 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit + +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/ + +Shared undo/redo base classes. +Platform-specific subclasses in Vcl.SynEditUndo.pas and FMX.SynEditUndo.pas +provide editor-type-aware overrides. + +The "Shared" suffix avoids namespace shadowing with Vcl.SynEditUndo. +-------------------------------------------------------------------------------} + +unit SynEditUndoShared; + +{$I SynEdit.inc} + +interface + +uses + System.Classes, + System.SysUtils, + System.Math, + System.Generics.Collections, + SynEditTypes, + SynEditKeyCmds, + SynEditMiscProcs, + SynEditTextBuffer; + +type + TSynEditUndoBase = class; + + TSynUndoItem = class abstract(TObject) + ChangeNumber: Integer; + FCaret: TBufferCoord; + GroupBreak: Boolean; + public + procedure Undo(Editor: TObject); virtual; abstract; + procedure Redo(Editor: TObject); virtual; abstract; + end; + + { Line-change undo items operate on TStrings (TSynEditStringList). + The Lines reference is captured at construction and reused in Undo/Redo. } + + TSynLinePutUndoItem = class(TSynUndoItem) + private + FLines: TStrings; + FIndex: Integer; + FStartPos: Integer; + FOldValue: string; + FNewValue: string; + FChangeFlags: TSynLineChangeFlags; + FCommandProcessed: TSynEditorCommand; + public + function GroupWith(Item: TSynLinePutUndoItem): Boolean; + procedure Undo(Editor: TObject); override; + procedure Redo(Editor: TObject); override; + constructor Create(Lines: TStrings; Index: Integer; + const OldLine: string; Command: TSynEditorCommand); + end; + + TSynLinesInsertedUndoItem = class(TSynUndoItem) + private + FLines: TStrings; + FIndex: Integer; + FSavedLines: TArray; + FChangeFlags: TArray; + public + procedure Undo(Editor: TObject); override; + procedure Redo(Editor: TObject); override; + constructor Create(Lines: TStrings; Index, Count: Integer); + end; + + TSynLinesDeletedUndoItem = class(TSynUndoItem) + private + FLines: TStrings; + FIndex: Integer; + FSavedLines: TArray; + FChangeFlags: TArray; + public + procedure Undo(Editor: TObject); override; + procedure Redo(Editor: TObject); override; + constructor Create(Lines: TStrings; Index: Integer; + const DeletedLines: TArray; + const DeletedChangeFlags: TArray); + end; + + TSynEditUndoList = class(TObjectStack) + protected + FOwner: TSynEditUndoBase; + FFullUndoImposible: Boolean; + procedure EnsureMaxEntries; + public + constructor Create(AOwner: TSynEditUndoBase); + procedure Push(const Value: TSynUndoItem); + end; + + TSynEditUndoBase = class(TInterfacedObject, ISynEditUndo) + protected + FGroupUndo: Boolean; + FBlockCount: Integer; + FLockCount: Integer; + FBlockChangeNumber: Integer; + FNextChangeNumber: Integer; + FInitialChangeNumber: Integer; + FMaxUndoActions: Integer; + FBlockStartModified: Boolean; + FUndoList: TSynEditUndoList; + FRedoList: TSynEditUndoList; + FOnModifiedChanged: TNotifyEvent; + FInsideUndoRedo: Boolean; + FCommandProcessed: TSynEditorCommand; + FBlockSelRestoreItem: TSynUndoItem; + // Saved lines for LinesBeforeDeleted/LinesDeleted pair + FDeletedLines: TArray; + FDeletedChangeFlags: TArray; + // === Abstract methods — subclass hooks === + function CreateCaretUndoItem(Editor: TObject): TSynUndoItem; virtual; abstract; + procedure RestoreCaretAndSelection(Editor: TObject; + Item: TSynUndoItem); virtual; abstract; + private + function GetModified: Boolean; + function GetCanUndo: Boolean; + function GetCanRedo: Boolean; + function GetFullUndoImposible: Boolean; + function GetOnModifiedChanged: TNotifyEvent; + function GetInsideUndoRedo: Boolean; + procedure SetModified(const Value: Boolean); + procedure SetCommandProcessed(const Command: TSynEditorCommand); + procedure SetMaxUndoActions(const Value: Integer); + procedure SetOnModifiedChanged(const Value: TNotifyEvent); + procedure SetGroupUndo(const Value: Boolean); + function GetMaxUndoActions: Integer; + procedure Lock; + procedure Unlock; + procedure Clear; + public + constructor Create; + destructor Destroy; override; + function IsLocked: Boolean; + function NextChangeNumber: Integer; + procedure AddGroupBreak; + procedure AddUndoItem(Item: TSynUndoItem); + procedure BeginBlock(Editor: TObject); + procedure EndBlock(Editor: TObject); + procedure Undo(Editor: TObject); + procedure Redo(Editor: TObject); + procedure BufferSaved(Lines: TStrings); + procedure ClearTrackChanges(Lines: TStrings); + end; + +implementation + +{$REGION 'TSynEditUndoList'} + +constructor TSynEditUndoList.Create(AOwner: TSynEditUndoBase); +begin + inherited Create(True); + FOwner := AOwner; +end; + +procedure TSynEditUndoList.EnsureMaxEntries; +var + KeepCount: Integer; + ItemArray: TArray; + I: Integer; +begin + if FOwner.FMaxUndoActions <= 0 then Exit; + + if Count > FOwner.FMaxUndoActions then + begin + FFullUndoImposible := True; + KeepCount := (FOwner.FMaxUndoActions div 4) * 3; + ItemArray := ToArray; + for I := 1 to KeepCount do + Extract; + Clear; + for I := Length(ItemArray) - KeepCount to Length(ItemArray) - 1 do + Push(ItemArray[I]); + end; +end; + +procedure TSynEditUndoList.Push(const Value: TSynUndoItem); +begin + inherited Push(Value); + EnsureMaxEntries; +end; + +{$ENDREGION} + +{$REGION 'TSynEditUndoBase'} + +constructor TSynEditUndoBase.Create; +begin + inherited Create; + FGroupUndo := True; + FMaxUndoActions := 0; + FNextChangeNumber := 1; + FUndoList := TSynEditUndoList.Create(Self); + FRedoList := TSynEditUndoList.Create(Self); +end; + +destructor TSynEditUndoBase.Destroy; +begin + FUndoList.Free; + FRedoList.Free; + inherited; +end; + +procedure TSynEditUndoBase.AddUndoItem(Item: TSynUndoItem); +var + OldModified: Boolean; +begin + Assert(not FInsideUndoRedo); + OldModified := GetModified; + if FBlockChangeNumber <> 0 then + Item.ChangeNumber := FBlockChangeNumber + else + Item.ChangeNumber := NextChangeNumber; + FUndoList.Push(Item); + FRedoList.Clear; + if (FBlockCount = 0) and (OldModified xor GetModified) and + Assigned(FOnModifiedChanged) + then + FOnModifiedChanged(Self); +end; + +procedure TSynEditUndoBase.AddGroupBreak; +begin + if (FUndoList.Count > 0) and (FBlockCount = 0) then + FUndoList.Peek.GroupBreak := True; +end; + +procedure TSynEditUndoBase.BeginBlock(Editor: TObject); +begin + if IsLocked then Exit; + Inc(FBlockCount); + if FBlockCount = 1 then + begin + FBlockStartModified := GetModified; + FBlockChangeNumber := NextChangeNumber; + FBlockSelRestoreItem := CreateCaretUndoItem(Editor); + FBlockSelRestoreItem.ChangeNumber := FBlockChangeNumber; + FUndoList.Push(FBlockSelRestoreItem); + end; +end; + +procedure TSynEditUndoBase.EndBlock(Editor: TObject); +var + Item: TSynUndoItem; +begin + if IsLocked then Exit; + Assert(FBlockCount > 0); + if FBlockCount > 0 then + begin + Dec(FBlockCount); + if FBlockCount = 0 then + begin + if (FUndoList.Count > 0) and (FUndoList.Peek = FBlockSelRestoreItem) then + FUndoList.Pop + else + begin + Item := CreateCaretUndoItem(Editor); + Item.ChangeNumber := FBlockChangeNumber; + FUndoList.Push(Item); + end; + FBlockChangeNumber := 0; + AddGroupBreak; + if (FBlockStartModified xor GetModified) and Assigned(FOnModifiedChanged) then + FOnModifiedChanged(Self); + end; + end; +end; + +procedure TSynEditUndoBase.Clear; +begin + FUndoList.Clear; + FRedoList.Clear; +end; + +function TSynEditUndoBase.GetCanUndo: Boolean; +begin + Result := FUndoList.Count > 0; +end; + +function TSynEditUndoBase.GetCanRedo: Boolean; +begin + Result := FRedoList.Count > 0; +end; + +function TSynEditUndoBase.GetFullUndoImposible: Boolean; +begin + Result := FUndoList.FFullUndoImposible; +end; + +function TSynEditUndoBase.GetInsideUndoRedo: Boolean; +begin + Result := FInsideUndoRedo; +end; + +function TSynEditUndoBase.GetMaxUndoActions: Integer; +begin + Result := FMaxUndoActions; +end; + +function TSynEditUndoBase.GetModified: Boolean; +begin + if FUndoList.Count = 0 then + Result := FInitialChangeNumber <> 0 + else + Result := FUndoList.Peek.ChangeNumber <> FInitialChangeNumber; +end; + +function TSynEditUndoBase.GetOnModifiedChanged: TNotifyEvent; +begin + Result := FOnModifiedChanged; +end; + +function TSynEditUndoBase.IsLocked: Boolean; +begin + Result := FLockCount > 0; +end; + +procedure TSynEditUndoBase.Lock; +begin + Inc(FLockCount); +end; + +function TSynEditUndoBase.NextChangeNumber: Integer; +begin + Result := FNextChangeNumber; + Inc(FNextChangeNumber); +end; + +procedure TSynEditUndoBase.SetCommandProcessed(const Command: TSynEditorCommand); +begin + FCommandProcessed := Command; +end; + +procedure TSynEditUndoBase.SetGroupUndo(const Value: Boolean); +begin + FGroupUndo := Value; +end; + +procedure TSynEditUndoBase.SetMaxUndoActions(const Value: Integer); +begin + if Value <> FMaxUndoActions then + begin + FMaxUndoActions := Value; + FUndoList.EnsureMaxEntries; + FRedoList.EnsureMaxEntries; + end; +end; + +procedure TSynEditUndoBase.SetModified(const Value: Boolean); +begin + if not Value then + begin + if FUndoList.Count = 0 then + FInitialChangeNumber := 0 + else + FInitialChangeNumber := FUndoList.Peek.ChangeNumber; + end + else if FUndoList.Count = 0 then + begin + if FInitialChangeNumber = 0 then + FInitialChangeNumber := -1; + end + else if FUndoList.Peek.ChangeNumber = FInitialChangeNumber then + FInitialChangeNumber := -1; +end; + +procedure TSynEditUndoBase.SetOnModifiedChanged(const Value: TNotifyEvent); +begin + FOnModifiedChanged := Value; +end; + +procedure TSynEditUndoBase.Undo(Editor: TObject); +var + Item, LastItem: TSynUndoItem; + OldChangeNumber: Integer; + OldModified: Boolean; + FKeepGoing: Boolean; +begin + Assert((FBlockCount = 0) and (FBlockChangeNumber = 0)); + + if FUndoList.Count > 0 then + begin + Item := FUndoList.Peek; + OldModified := GetModified; + OldChangeNumber := Item.ChangeNumber; + + repeat + Item := FUndoList.Extract; + LastItem := Item; + FInsideUndoRedo := True; + try + Item.Undo(Editor); + finally + FInsideUndoRedo := False; + end; + FRedoList.Push(Item); + + if FUndoList.Count = 0 then + Break + else + Item := FUndoList.Peek; + + if Item.ChangeNumber = OldChangeNumber then + FKeepGoing := True + else + FKeepGoing := + FGroupUndo and + not Item.GroupBreak and + (LastItem is TSynLinePutUndoItem) and + (Item is TSynLinePutUndoItem) and + TSynLinePutUndoItem(Item).GroupWith(TSynLinePutUndoItem(LastItem)); + until not FKeepGoing; + + RestoreCaretAndSelection(Editor, LastItem); + + if (OldModified xor GetModified) and Assigned(FOnModifiedChanged) then + FOnModifiedChanged(Self); + end; +end; + +procedure TSynEditUndoBase.Redo(Editor: TObject); +var + Item, LastItem: TSynUndoItem; + OldChangeNumber: Integer; + OldModified: Boolean; + FKeepGoing: Boolean; + LastItemHasGroupBreak: Boolean; +begin + Assert((FBlockCount = 0) and (FBlockChangeNumber = 0)); + + if FRedoList.Count > 0 then + begin + Item := FRedoList.Peek; + OldModified := GetModified; + OldChangeNumber := Item.ChangeNumber; + + repeat + Item := FRedoList.Extract; + LastItemHasGroupBreak := Item.GroupBreak; + LastItem := Item; + FInsideUndoRedo := True; + try + Item.Redo(Editor); + finally + FInsideUndoRedo := False; + end; + FUndoList.Push(Item); + + if FRedoList.Count = 0 then + Break + else + Item := FRedoList.Peek; + + if Item.ChangeNumber = OldChangeNumber then + FKeepGoing := True + else + FKeepGoing := + FGroupUndo and + not LastItemHasGroupBreak and + (LastItem is TSynLinePutUndoItem) and + (Item is TSynLinePutUndoItem) and + TSynLinePutUndoItem(LastItem).GroupWith(TSynLinePutUndoItem(Item)); + until not FKeepGoing; + + RestoreCaretAndSelection(Editor, LastItem); + + if (OldModified xor GetModified) and Assigned(FOnModifiedChanged) then + FOnModifiedChanged(Self); + end; +end; + +procedure TSynEditUndoBase.Unlock; +begin + if FLockCount > 0 then + Dec(FLockCount); +end; + +procedure TSynEditUndoBase.BufferSaved(Lines: TStrings); +var + SynLines: TSynEditStringList; + Index: Integer; + Flags: TSynLineChangeFlags; + Item: TSynUndoItem; + + procedure PutItemSaved(Item: TSynLinePutUndoItem); + begin + if Item.FChangeFlags = [sfAsSaved] then + Item.FChangeFlags := [sfModified]; + end; + + procedure InsertedItemSaved(Item: TSynLinesInsertedUndoItem); + var I: Integer; + begin + for I := 0 to Length(Item.FChangeFlags) - 1 do + Item.FChangeFlags[I] := [sfModified]; + end; + + procedure DeletedItemSaved(Item: TSynLinesDeletedUndoItem); + var I: Integer; + begin + for I := 0 to Length(Item.FChangeFlags) - 1 do + Item.FChangeFlags[I] := [sfModified]; + end; + +begin + SynLines := Lines as TSynEditStringList; + for Index := 0 to SynLines.Count - 1 do + begin + Flags := SynLines.ChangeFlags[Index]; + if Flags = [sfSaved] then + SynLines.ChangeFlags[Index] := [] + else if sfModified in Flags then + SynLines.ChangeFlags[Index] := Flags - [sfModified] + [sfSaved, sfAsSaved]; + end; + for Item in FUndoList do + if Item is TSynLinePutUndoItem then + PutItemSaved(TSynLinePutUndoItem(Item)) + else if Item is TSynLinesInsertedUndoItem then + InsertedItemSaved(TSynLinesInsertedUndoItem(Item)) + else if Item is TSynLinesDeletedUndoItem then + DeletedItemSaved(TSynLinesDeletedUndoItem(Item)); + for Item in FRedoList do + if Item is TSynLinePutUndoItem then + PutItemSaved(TSynLinePutUndoItem(Item)) + else if Item is TSynLinesInsertedUndoItem then + InsertedItemSaved(TSynLinesInsertedUndoItem(Item)) + else if Item is TSynLinesDeletedUndoItem then + DeletedItemSaved(TSynLinesDeletedUndoItem(Item)); +end; + +procedure TSynEditUndoBase.ClearTrackChanges(Lines: TStrings); +var + SynLines: TSynEditStringList; + Index: Integer; + Item: TSynUndoItem; + + procedure InsertedItemClear(Item: TSynLinesInsertedUndoItem); + var I: Integer; + begin + for I := 0 to Length(Item.FChangeFlags) - 1 do + Item.FChangeFlags[I] := [sfModified]; + end; + + procedure DeletedItemClear(Item: TSynLinesDeletedUndoItem); + var I: Integer; + begin + for I := 0 to Length(Item.FChangeFlags) - 1 do + Item.FChangeFlags[I] := [sfModified]; + end; + +begin + SynLines := Lines as TSynEditStringList; + for Index := 0 to SynLines.Count - 1 do + SynLines.ChangeFlags[Index] := []; + for Item in FUndoList do + if Item is TSynLinesInsertedUndoItem then + InsertedItemClear(TSynLinesInsertedUndoItem(Item)) + else if Item is TSynLinesDeletedUndoItem then + DeletedItemClear(TSynLinesDeletedUndoItem(Item)); + for Item in FRedoList do + if Item is TSynLinesInsertedUndoItem then + InsertedItemClear(TSynLinesInsertedUndoItem(Item)) + else if Item is TSynLinesDeletedUndoItem then + DeletedItemClear(TSynLinesDeletedUndoItem(Item)); +end; + +{$ENDREGION} + +{$REGION 'TSynLinePutUndoItem'} + +constructor TSynLinePutUndoItem.Create(Lines: TStrings; Index: Integer; + const OldLine: string; Command: TSynEditorCommand); +var + Len1, Len2: Integer; + Line: string; +begin + FLines := Lines; + FCommandProcessed := Command; + FIndex := Index; + Line := Lines[Index]; + + LineDiff(Line, OldLine, FStartPos, Len1, Len2); + + FOldValue := Copy(OldLine, FStartPos, Len1); + FNewValue := Copy(Line, FStartPos, Len2); + + FChangeFlags := TSynEditStringList(Lines).ChangeFlags[Index] - + [sfSaved]; + TSynEditStringList(Lines).ChangeFlags[Index] := + TSynEditStringList(Lines).ChangeFlags[Index] + + [sfModified] - [sfAsSaved]; +end; + +function TSynLinePutUndoItem.GroupWith(Item: TSynLinePutUndoItem): Boolean; +begin + Result := (FNewValue.Length = Item.FNewValue.Length) and + (FOldValue.Length = Item.FOldValue.Length) and + (FOldValue.Length <= 1) and (FNewValue.Length <= 1) and + (Abs(FStartPos - Item.FStartPos) <= 1); +end; + +procedure TSynLinePutUndoItem.Undo(Editor: TObject); +var + Line: string; + Char: Integer; + TempCF: TSynLineChangeFlags; +begin + Line := FLines[FIndex]; + Delete(Line, FStartPos, FNewValue.Length); + Insert(FOldValue, Line, FStartPos); + FLines[FIndex] := Line; + TempCF := FChangeFlags; + FChangeFlags := TSynEditStringList(FLines).ChangeFlags[FIndex] - + [sfSaved]; + TSynEditStringList(FLines).ChangeFlags[FIndex] := + TSynEditStringList(FLines).ChangeFlags[FIndex] + - [sfModified, sfAsSaved] + TempCF; + case FCommandProcessed of + ecChar: + if (FOldValue.Length = 1) and (FNewValue.Length = 1) then + Char := FStartPos + else + Char := FStartPos + FOldValue.Length; + ecDeleteChar, ecDeleteWord, ecDeleteEOL: + Char := FStartPos; + else + Char := FStartPos + FOldValue.Length; + end; + FCaret := BufferCoord(Char, FIndex + 1); +end; + +procedure TSynLinePutUndoItem.Redo(Editor: TObject); +var + Line: string; + Char: Integer; + TempCF: TSynLineChangeFlags; +begin + Line := FLines[FIndex]; + Delete(Line, FStartPos, FOldValue.Length); + Insert(FNewValue, Line, FStartPos); + FLines[FIndex] := Line; + TempCF := FChangeFlags; + FChangeFlags := TSynEditStringList(FLines).ChangeFlags[FIndex] - + [sfSaved]; + TSynEditStringList(FLines).ChangeFlags[FIndex] := + TSynEditStringList(FLines).ChangeFlags[FIndex] + - [sfModified, sfAsSaved] + TempCF; + case FCommandProcessed of + ecChar: + if (FOldValue.Length = 1) and (FNewValue.Length = 1) then + Char := FStartPos + else + Char := FStartPos + FNewValue.Length; + ecDeleteChar, ecDeleteWord, ecDeleteEOL: + Char := FStartPos; + else + Char := FStartPos + FNewValue.Length; + end; + FCaret := BufferCoord(Char, FIndex + 1); +end; + +{$ENDREGION} + +{$REGION 'TSynLinesInsertedUndoItem'} + +constructor TSynLinesInsertedUndoItem.Create(Lines: TStrings; + Index, Count: Integer); +var + I: Integer; +begin + inherited Create; + FLines := Lines; + FIndex := Index; + SetLength(FSavedLines, Count); + for I := 0 to Count - 1 do + begin + FSavedLines[I] := Lines[Index + I]; + TSynEditStringList(Lines).ChangeFlags[Index + I] := [sfModified]; + end; +end; + +procedure TSynLinesInsertedUndoItem.Undo(Editor: TObject); +var + I: Integer; +begin + SetLength(FChangeFlags, Length(FSavedLines)); + for I := 0 to Length(FSavedLines) - 1 do + FChangeFlags[I] := TSynEditStringList(FLines).ChangeFlags[FIndex + I]; + TSynEditStringList(FLines).DeleteLines(FIndex, Length(FSavedLines)); + FCaret := BufferCoord(1, FIndex + 1); +end; + +procedure TSynLinesInsertedUndoItem.Redo(Editor: TObject); +var + I: Integer; +begin + TSynEditStringList(FLines).InsertStrings(FIndex, FSavedLines); + for I := 0 to Length(FSavedLines) - 1 do + TSynEditStringList(FLines).ChangeFlags[FIndex + I] := FChangeFlags[I]; + FCaret := BufferCoord(1, + Min(FLines.Count, FIndex + Length(FSavedLines) + 1)); +end; + +{$ENDREGION} + +{$REGION 'TSynLinesDeletedUndoItem'} + +constructor TSynLinesDeletedUndoItem.Create(Lines: TStrings; + Index: Integer; const DeletedLines: TArray; + const DeletedChangeFlags: TArray); +begin + inherited Create; + FLines := Lines; + FIndex := Index; + FSavedLines := DeletedLines; + FChangeFlags := DeletedChangeFlags; +end; + +procedure TSynLinesDeletedUndoItem.Undo(Editor: TObject); +var + I: Integer; +begin + TSynEditStringList(FLines).InsertStrings(FIndex, FSavedLines); + for I := 0 to Length(FSavedLines) - 1 do + TSynEditStringList(FLines).ChangeFlags[FIndex + I] := FChangeFlags[I]; + FCaret := BufferCoord(1, + Min(FLines.Count, FIndex + Length(FSavedLines) + 1)); +end; + +procedure TSynLinesDeletedUndoItem.Redo(Editor: TObject); +var + I: Integer; +begin + SetLength(FChangeFlags, Length(FSavedLines)); + for I := 0 to Length(FSavedLines) - 1 do + FChangeFlags[I] := TSynEditStringList(FLines).ChangeFlags[FIndex + I]; + TSynEditStringList(FLines).DeleteLines(FIndex, Length(FSavedLines)); + FCaret := BufferCoord(1, FIndex + 1); +end; + +{$ENDREGION} + +end. diff --git a/Source/SynEditWildcardSearch.pas b/Source/SynEditWildcardSearch.pas index 28d7c2f4..13d09c40 100644 --- a/Source/SynEditWildcardSearch.pas +++ b/Source/SynEditWildcardSearch.pas @@ -11,7 +11,7 @@ The Original Code is: SynEditWildcardSearch.pas, released 2003-06-21. The original author of this file is Michael Elsdoerfer. -Unicode translation by Mal Hrz. +Unicode translation by Ma�l H�rz. All Rights Reserved. Contributors to the SynEdit project are listed in the Contributors.txt file. @@ -37,7 +37,6 @@ interface uses - SynEdit, SynEditTypes, SynEditRegexSearch, Classes; @@ -65,9 +64,6 @@ TSynEditWildcardSearch = class(TSynEditRegexSearch) implementation -uses - Consts; - { TSynEditWildcardSearch } constructor TSynEditWildcardSearch.Create(AOwner: TComponent); diff --git a/Source/SynMacroRecorderShared.pas b/Source/SynMacroRecorderShared.pas new file mode 100644 index 00000000..b38c52ea --- /dev/null +++ b/Source/SynMacroRecorderShared.pas @@ -0,0 +1,461 @@ +{------------------------------------------------------------------------------- +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 Original Code is: SynMacroRecorder.pas, released 2001-10-17. + +Author of this file is Fl�vio Etrusco. +Portions created by Fl�vio Etrusco are Copyright 2001 Fl�vio Etrusco. +Unicode translation by Ma�l H�rz. +All Rights Reserved. + +Contributors to the SynEdit project are listed in the Contributors.txt file. + +Alternatively, the contents of this file may be used under the terms of the +GNU General Public License Version 2 or later (the "GPL"), in which case +the provisions of the GPL are applicable instead of those above. +If you wish to allow use of your version of this file only under the terms +of the GPL and not to allow others to use your version of this file +under the MPL, indicate your decision by deleting the provisions above and +replace them with the notice and other provisions required by the GPL. +If you do not delete the provisions above, a recipient may use your version +of this file under either the MPL or the GPL. + +SynMacroRecorderShared: Cross-platform shared macro event types and factory. +No VCL/FMX imports. +-------------------------------------------------------------------------------} + +unit SynMacroRecorderShared; + +{$I SynEdit.inc} + +interface + +uses + System.Classes, + System.SysUtils, + SynEditTypes, + SynEditKeyCmds; + +resourcestring + sCannotRecord = 'Cannot record macro; already recording or playing'; + sCannotPlay = 'Cannot playback macro; already playing or recording'; + sCannotPause = 'Can only pause when recording'; + sCannotResume = 'Can only resume when paused'; + +type + TSynMacroState = (msStopped, msRecording, msPlaying, msPaused); + TSynMacroCommand = (mcRecord, mcPlayback); + + TSynMacroPlaybackProc = procedure(Command: TSynEditorCommand; + AChar: WideChar; Data: Pointer) of object; + + TSynMacroEvent = class(TObject) + protected + fRepeatCount: Byte; + function GetAsString: string; virtual; abstract; + public + procedure InitEventParameters(aStr: string); virtual; abstract; + constructor Create; virtual; + procedure Initialize(aCmd: TSynEditorCommand; aChar: WideChar; + aData: Pointer); virtual; abstract; + { the CommandID must not be read inside LoadFromStream/SaveToStream. It's + read by the MacroRecorder component to decide which MacroEvent class to + instantiate } + procedure LoadFromStream(aStream: TStream); virtual; abstract; + procedure SaveToStream(aStream: TStream); virtual; abstract; + procedure PlaybackTo(const APlaybackProc: TSynMacroPlaybackProc); + virtual; abstract; + property AsString: string read GetAsString; + property RepeatCount: Byte read fRepeatCount write fRepeatCount; + end; + + TSynBasicEvent = class(TSynMacroEvent) + protected + fCommand: TSynEditorCommand; + function GetAsString: string; override; + public + procedure InitEventParameters(aStr: string); override; + procedure Initialize(aCmd: TSynEditorCommand; aChar: WideChar; + aData: Pointer); override; + procedure LoadFromStream(aStream: TStream); override; + procedure SaveToStream(aStream: TStream); override; + procedure PlaybackTo(const APlaybackProc: TSynMacroPlaybackProc); override; + property Command: TSynEditorCommand read fCommand write fCommand; + end; + + TSynCharEvent = class(TSynMacroEvent) + protected + fKey: WideChar; + function GetAsString: string; override; + public + procedure InitEventParameters(aStr: string); override; + procedure Initialize(aCmd: TSynEditorCommand; aChar: WideChar; + aData: Pointer); override; + procedure LoadFromStream(aStream: TStream); override; + procedure SaveToStream(aStream: TStream); override; + procedure PlaybackTo(const APlaybackProc: TSynMacroPlaybackProc); override; + property Key: WideChar read fKey write fKey; + end; + + TSynStringEvent = class(TSynMacroEvent) + protected + fString: string; + function GetAsString: string; override; + public + procedure InitEventParameters(aStr: string); override; + procedure Initialize(aCmd: TSynEditorCommand; aChar: WideChar; + aData: Pointer); override; + procedure LoadFromStream(aStream: TStream); override; + procedure SaveToStream(aStream: TStream); override; + procedure PlaybackTo(const APlaybackProc: TSynMacroPlaybackProc); override; + property Value: string read fString write fString; + end; + + TSynPositionEvent = class(TSynBasicEvent) + protected + fPosition: TBufferCoord; + function GetAsString: string; override; + public + procedure InitEventParameters(aStr: string); override; + procedure Initialize(aCmd: TSynEditorCommand; aChar: WideChar; + aData: Pointer); override; + procedure LoadFromStream(aStream: TStream); override; + procedure SaveToStream(aStream: TStream); override; + procedure PlaybackTo(const APlaybackProc: TSynMacroPlaybackProc); override; + property Position: TBufferCoord read fPosition write fPosition; + end; + + TSynDataEvent = class(TSynBasicEvent) + protected + fData: Pointer; + public + procedure Initialize(aCmd: TSynEditorCommand; aChar: WideChar; + aData: Pointer); override; + procedure LoadFromStream(aStream: TStream); override; + procedure SaveToStream(aStream: TStream); override; + procedure PlaybackTo(const APlaybackProc: TSynMacroPlaybackProc); override; + end; + +function CreateMacroEvent(aCmd: TSynEditorCommand): TSynMacroEvent; + +implementation + +uses + SynEditMiscProcs, + SynUnicodeShared; + +{ TSynMacroEvent } + +constructor TSynMacroEvent.Create; +begin + inherited Create; + fRepeatCount := 1; +end; + +{ TSynBasicEvent } + +function TSynBasicEvent.GetAsString: string; +var + Ident: string; +begin + EditorCommandToIdent(Command, Ident); + Result := Ident; + if RepeatCount > 1 then + Result := Result + ' ' + IntToStr(RepeatCount); +end; + +procedure TSynBasicEvent.InitEventParameters(aStr: string); +begin + RepeatCount := StrToIntDef(Trim(aStr), 1); +end; + +procedure TSynBasicEvent.Initialize(aCmd: TSynEditorCommand; aChar: WideChar; + aData: Pointer); +begin + Command := aCmd; +{$IFDEF SYN_DEVELOPMENT_CHECKS} + if (aChar <> #0) or (aData <> nil) then + raise Exception.Create('TSynBasicEvent cannot handle Char <> #0 or Data <> nil'); +{$ENDIF} +end; + +procedure TSynBasicEvent.LoadFromStream(aStream: TStream); +begin + aStream.Read(fRepeatCount, SizeOf(fRepeatCount)); +end; + +procedure TSynBasicEvent.PlaybackTo( + const APlaybackProc: TSynMacroPlaybackProc); +var + i: Integer; +begin + for i := 1 to RepeatCount do + APlaybackProc(Command, #0, nil); +end; + +procedure TSynBasicEvent.SaveToStream(aStream: TStream); +begin + aStream.Write(Command, SizeOf(TSynEditorCommand)); + aStream.Write(RepeatCount, SizeOf(RepeatCount)); +end; + +{ TSynCharEvent } + +function TSynCharEvent.GetAsString: string; +var + Ident: string; +begin + EditorCommandToIdent(ecChar, Ident); + Result := Ident + ' ' + Key; + if RepeatCount > 1 then + Result := Result + ' ' + IntToStr(RepeatCount); +end; + +procedure TSynCharEvent.InitEventParameters(aStr: string); +begin + if Length(aStr) >= 1 then + Key := aStr[1] + else + Key := ' '; + Delete(aStr, 1, 1); + RepeatCount := StrToIntDef(Trim(aStr), 1); +end; + +procedure TSynCharEvent.Initialize(aCmd: TSynEditorCommand; aChar: WideChar; + aData: Pointer); +begin + Key := aChar; + Assert(aData = nil); +end; + +procedure TSynCharEvent.LoadFromStream(aStream: TStream); +begin + aStream.Read(fKey, SizeOf(Key)); + aStream.Read(fRepeatCount, SizeOf(fRepeatCount)); +end; + +procedure TSynCharEvent.PlaybackTo( + const APlaybackProc: TSynMacroPlaybackProc); +var + i: Integer; +begin + for i := 1 to RepeatCount do + APlaybackProc(ecChar, Key, nil); +end; + +procedure TSynCharEvent.SaveToStream(aStream: TStream); +const + iCharCommand: TSynEditorCommand = ecChar; +begin + aStream.Write(iCharCommand, SizeOf(TSynEditorCommand)); + aStream.Write(Key, SizeOf(Key)); + aStream.Write(RepeatCount, SizeOf(RepeatCount)); +end; + +{ TSynStringEvent } + +function TSynStringEvent.GetAsString: string; +var + Ident: string; +begin + EditorCommandToIdent(ecString, Ident); + Result := Ident + ' ' + AnsiQuotedStr(Value, #39); + if RepeatCount > 1 then + Result := Result + ' ' + IntToStr(RepeatCount); +end; + +procedure TSynStringEvent.InitEventParameters(aStr: string); +var + o, c: Integer; + valStr: string; +begin + o := Pos('''', aStr); + c := LastDelimiter('''', aStr); + valStr := Copy(aStr, o + 1, c - o - 1); + Value := StringReplace(valStr, '''''', '''', [rfReplaceAll]); + Delete(aStr, 1, c); + RepeatCount := StrToIntDef(Trim(aStr), 1); +end; + +procedure TSynStringEvent.Initialize(aCmd: TSynEditorCommand; aChar: WideChar; + aData: Pointer); +begin + Value := string(aData); +end; + +procedure TSynStringEvent.LoadFromStream(aStream: TStream); +var + l: Integer; + Buff: PWideChar; +begin + aStream.Read(l, SizeOf(l)); + GetMem(Buff, l * SizeOf(WideChar)); + try + FillChar(Buff^, l * SizeOf(WideChar), 0); + aStream.Read(Buff^, l * SizeOf(WideChar)); + fString := Buff; + finally + FreeMem(Buff); + end; + aStream.Read(fRepeatCount, SizeOf(fRepeatCount)); +end; + +procedure TSynStringEvent.PlaybackTo( + const APlaybackProc: TSynMacroPlaybackProc); +var + i, j: Integer; +begin + for j := 1 to RepeatCount do + begin + // SynEdit doesn't actually support the ecString command so we convert + // it into ecChar commands + for i := 1 to Length(Value) do + APlaybackProc(ecChar, Value[i], nil); + end; +end; + +procedure TSynStringEvent.SaveToStream(aStream: TStream); +const + StrCommand: TSynEditorCommand = ecString; +var + l: Integer; + Buff: PWideChar; +begin + aStream.Write(StrCommand, SizeOf(StrCommand)); + l := Length(Value) + 1; + aStream.Write(l, SizeOf(l)); + GetMem(Buff, l * SizeOf(WideChar)); + try + FillChar(Buff^, l * SizeOf(WideChar), 0); + Move(PWideChar(Value)^, Buff^, (l - 1) * SizeOf(WideChar)); + aStream.Write(Buff^, l * SizeOf(WideChar)); + finally + FreeMem(Buff); + end; + aStream.Write(RepeatCount, SizeOf(RepeatCount)); +end; + +{ TSynPositionEvent } + +function TSynPositionEvent.GetAsString: string; +begin + Result := inherited GetAsString; + Result := Result + Format(' (%d, %d)', [Position.Char, Position.Line]); + if RepeatCount > 1 then + Result := Result + ' ' + IntToStr(RepeatCount); +end; + +procedure TSynPositionEvent.InitEventParameters(aStr: string); +var + i, o, c, x, y: Integer; + valStr: string; +begin + inherited; + aStr := Trim(aStr); + i := Pos(',', aStr); + o := Pos('(', aStr); + c := Pos(')', aStr); + if (not ((i = 0) or (o = 0) or (c = 0))) and + ((i > o) and (i < c)) then + begin + valStr := Copy(aStr, o + 1, i - o - 1); + x := StrToIntDef(valStr, 1); + Delete(aStr, 1, i); + aStr := Trim(aStr); + c := Pos(')', aStr); + valStr := Copy(aStr, 1, c - 1); + y := StrToIntDef(valStr, 1); + Position := BufferCoord(x, y); + Delete(aStr, 1, c); + aStr := Trim(aStr); + RepeatCount := StrToIntDef(aStr, 1); + end; +end; + +procedure TSynPositionEvent.Initialize(aCmd: TSynEditorCommand; + aChar: WideChar; aData: Pointer); +begin + inherited; + if aData <> nil then + Position := TBufferCoord(aData^) + else + Position := BufferCoord(0, 0); +end; + +procedure TSynPositionEvent.LoadFromStream(aStream: TStream); +begin + aStream.Read(fPosition, SizeOf(Position)); +end; + +procedure TSynPositionEvent.PlaybackTo( + const APlaybackProc: TSynMacroPlaybackProc); +begin + if (Position.Char <> 0) or (Position.Line <> 0) then + APlaybackProc(Command, #0, @fPosition) + else + APlaybackProc(Command, #0, nil); +end; + +procedure TSynPositionEvent.SaveToStream(aStream: TStream); +begin + inherited; + aStream.Write(Position, SizeOf(Position)); +end; + +{ TSynDataEvent } + +procedure TSynDataEvent.Initialize(aCmd: TSynEditorCommand; aChar: WideChar; + aData: Pointer); +begin + fCommand := aCmd; + Assert(aChar = #0); + fData := aData; +end; + +procedure TSynDataEvent.LoadFromStream(aStream: TStream); +begin + aStream.Read(fData, SizeOf(fData)); +end; + +procedure TSynDataEvent.PlaybackTo( + const APlaybackProc: TSynMacroPlaybackProc); +begin + APlaybackProc(Command, #0, fData); +end; + +procedure TSynDataEvent.SaveToStream(aStream: TStream); +begin + inherited; + aStream.Write(fData, SizeOf(fData)); +end; + +{ Factory } + +function CreateMacroEvent(aCmd: TSynEditorCommand): TSynMacroEvent; +begin + case aCmd of + ecGotoXY, ecSelGotoXY, ecSetMarker0..ecSetMarker9: + begin + Result := TSynPositionEvent.Create; + TSynPositionEvent(Result).Command := aCmd; + end; + ecChar: + Result := TSynCharEvent.Create; + ecString: + Result := TSynStringEvent.Create; + else + begin + Result := TSynBasicEvent.Create; + TSynBasicEvent(Result).Command := aCmd; + end; + end; +end; + +end. diff --git a/Source/SynSpellCheckHunspellProvider.pas b/Source/SynSpellCheckHunspellProvider.pas new file mode 100644 index 00000000..dc07110c --- /dev/null +++ b/Source/SynSpellCheckHunspellProvider.pas @@ -0,0 +1,829 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit + +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/ +-------------------------------------------------------------------------------} + +{ Pure-Delphi Hunspell dictionary provider implementing ISynSpellCheckProvider. + Framework-neutral — works with both VCL and FMX. } + +unit SynSpellCheckHunspellProvider; + +{$I SynEdit.inc} + +interface + +uses + System.SysUtils, + System.Classes, + System.Generics.Collections, + SynSpellCheckTypes; + +{$REGION 'Hunspell Types'} + +type + TSynFlagType = (ftShort, ftLong, ftNum, ftUTF8); + + TSynAffixRule = record + Flag: string; + CrossProduct: Boolean; + Strip: string; + Add: string; + Condition: string; + end; + + TSynRepEntry = record + Pattern: string; + Replacement: string; + end; + +{$ENDREGION 'Hunspell Types'} + +{$REGION 'Hunspell Provider'} + + TSynHunspellProvider = class(TInterfacedObject, ISynSpellCheckProvider) + private + FLanguage: string; + FDictionaryPath: string; + FLoaded: Boolean; + FWordList: TDictionary; + FWordFlags: TDictionary; + FPrefixRules: TList; + FSuffixRules: TList; + FRepTable: TList; + FTryChars: string; + FFlagType: TSynFlagType; + procedure LoadDictionary; + procedure ParseAffFile(const AFileName: string); + function MatchCondition(const AWord, ACondition: string; + AFromEnd: Boolean): Boolean; + function CheckSuffix(const AWord: string): Boolean; + function CheckPrefix(const AWord: string): Boolean; + function CheckCrossProduct(const AWord: string): Boolean; + function LookupWord(const AWord: string): Boolean; + function WordHasFlag(const AWord, AFlag: string): Boolean; + public + constructor Create; overload; + constructor Create(const ADictionaryPath: string; + const ALanguage: string = ''); overload; + destructor Destroy; override; + { ISynSpellCheckProvider } + function CheckWord(const AWord: string): Boolean; + function Suggest(const AWord: string): TArray; + function IsAvailable: Boolean; + function GetLanguage: string; + procedure SetLanguage(const Value: string); + { Additional } + property DictionaryPath: string read FDictionaryPath write FDictionaryPath; + end; + +{$ENDREGION 'Hunspell Provider'} + +{$REGION 'Hunspell Native Provider'} + + { Stub for future native Hunspell DLL binding. + All methods are no-ops; IsAvailable returns False. } + TSynHunspellNativeProvider = class(TInterfacedObject, ISynSpellCheckProvider) + // External functions to bind (hunspell.dll / libhunspell.so / libhunspell.dylib): + // function Hunspell_create(affpath, dpath: PAnsiChar): Pointer; cdecl; + // procedure Hunspell_destroy(handle: Pointer); cdecl; + // function Hunspell_spell(handle: Pointer; word: PAnsiChar): Integer; cdecl; + // function Hunspell_suggest(handle: Pointer; out slst: PPAnsiChar; + // word: PAnsiChar): Integer; cdecl; + // procedure Hunspell_free_list(handle: Pointer; slst: PPAnsiChar; + // count: Integer); cdecl; + private + FHandle: Pointer; + FLanguage: string; + FDictionaryPath: string; + FLoaded: Boolean; + public + constructor Create(const ADictionaryPath: string; + const ALanguage: string = ''); + destructor Destroy; override; + function CheckWord(const AWord: string): Boolean; + function Suggest(const AWord: string): TArray; + function IsAvailable: Boolean; + function GetLanguage: string; + procedure SetLanguage(const Value: string); + property DictionaryPath: string read FDictionaryPath; + end; + +{$ENDREGION 'Hunspell Native Provider'} + +implementation + +uses + System.IOUtils, + System.Character; + +{ ============================================================================ } +{ TSynHunspellProvider } +{ ============================================================================ } + +constructor TSynHunspellProvider.Create; +begin + inherited Create; + FLanguage := ''; + FDictionaryPath := ''; + FLoaded := False; + FFlagType := ftShort; + FWordList := TDictionary.Create; + FWordFlags := TDictionary.Create; + FPrefixRules := TList.Create; + FSuffixRules := TList.Create; + FRepTable := TList.Create; +end; + +constructor TSynHunspellProvider.Create(const ADictionaryPath: string; + const ALanguage: string); +begin + inherited Create; + FDictionaryPath := ADictionaryPath; + FLanguage := ALanguage; + FLoaded := False; + FFlagType := ftShort; + FWordList := TDictionary.Create; + FWordFlags := TDictionary.Create; + FPrefixRules := TList.Create; + FSuffixRules := TList.Create; + FRepTable := TList.Create; +end; + +destructor TSynHunspellProvider.Destroy; +begin + FRepTable.Free; + FSuffixRules.Free; + FPrefixRules.Free; + FWordFlags.Free; + FWordList.Free; + inherited; +end; + +{ ---------------------------------------------------------------------------- } +{ .aff file parser } +{ ---------------------------------------------------------------------------- } + +procedure TSynHunspellProvider.ParseAffFile(const AFileName: string); +var + Lines: TStringList; + I: Integer; + Line, Cmd, HeaderKey: string; + Parts: TArray; + Rule: TSynAffixRule; + Rep: TSynRepEntry; + SeenHeaders: TDictionary; + CrossProducts: TDictionary; + CrossProd: Boolean; + SlashPos: Integer; +begin + FPrefixRules.Clear; + FSuffixRules.Clear; + FRepTable.Clear; + FTryChars := ''; + FFlagType := ftShort; + + if not TFile.Exists(AFileName) then + Exit; + + Lines := TStringList.Create; + SeenHeaders := TDictionary.Create; + CrossProducts := TDictionary.Create; + try + Lines.LoadFromFile(AFileName, TEncoding.UTF8); + for I := 0 to Lines.Count - 1 do + begin + Line := Trim(Lines[I]); + if (Line = '') or (Line[1] = '#') then + Continue; + + Parts := Line.Split([' ', #9], TStringSplitOptions.ExcludeEmpty); + if Length(Parts) < 2 then + Continue; + + Cmd := Parts[0]; + + if Cmd = 'SET' then + begin + // Encoding directive — we load as UTF-8 by default + end + else if Cmd = 'FLAG' then + begin + if SameText(Parts[1], 'long') then + FFlagType := ftLong + else if SameText(Parts[1], 'num') then + FFlagType := ftNum + else if SameText(Parts[1], 'UTF-8') then + FFlagType := ftUTF8; + end + else if Cmd = 'TRY' then + begin + FTryChars := Parts[1]; + end + else if Cmd = 'REP' then + begin + // REP pattern replacement (or REP count — skip count lines) + if Length(Parts) >= 3 then + begin + Rep.Pattern := Parts[1]; + Rep.Replacement := Parts[2]; + FRepTable.Add(Rep); + end; + end + else if (Cmd = 'PFX') or (Cmd = 'SFX') then + begin + if Length(Parts) < 4 then + Continue; + + HeaderKey := Cmd + ':' + Parts[1]; + + if not SeenHeaders.ContainsKey(HeaderKey) then + begin + // Header line: CMD FLAG Y/N COUNT + SeenHeaders.Add(HeaderKey, True); + CrossProducts.AddOrSetValue(HeaderKey, Parts[2] = 'Y'); + end + else + begin + // Rule line: CMD FLAG STRIP ADD [CONDITION] + Rule.Flag := Parts[1]; + CrossProd := False; + CrossProducts.TryGetValue(HeaderKey, CrossProd); + Rule.CrossProduct := CrossProd; + + if Parts[2] = '0' then + Rule.Strip := '' + else + Rule.Strip := Parts[2]; + + Rule.Add := Parts[3]; + // Strip continuation flags after '/' + SlashPos := Pos('/', Rule.Add); + if SlashPos > 0 then + Rule.Add := Copy(Rule.Add, 1, SlashPos - 1); + if Rule.Add = '0' then + Rule.Add := ''; + + if Length(Parts) >= 5 then + Rule.Condition := Parts[4] + else + Rule.Condition := '.'; + + if Cmd = 'PFX' then + FPrefixRules.Add(Rule) + else + FSuffixRules.Add(Rule); + end; + end; + // Skip: COMPOUNDFLAG, COMPOUNDMIN, COMPOUNDRULE, KEY, MAP, PHONE, etc. + end; + finally + CrossProducts.Free; + SeenHeaders.Free; + Lines.Free; + end; +end; + +{ ---------------------------------------------------------------------------- } +{ .dic file loader (preserves affix flags) } +{ ---------------------------------------------------------------------------- } + +procedure TSynHunspellProvider.LoadDictionary; +var + DicFile, AffFile: string; + Lines: TStringList; + I: Integer; + Entry, Word, Flags: string; + SlashPos, TabPos, SpPos: Integer; +begin + FWordList.Clear; + FWordFlags.Clear; + FPrefixRules.Clear; + FSuffixRules.Clear; + FRepTable.Clear; + FLoaded := False; + + if FDictionaryPath = '' then + Exit; + + if FLanguage <> '' then + begin + DicFile := TPath.Combine(FDictionaryPath, FLanguage + '.dic'); + AffFile := TPath.Combine(FDictionaryPath, FLanguage + '.aff'); + end + else + begin + DicFile := FDictionaryPath; + AffFile := ChangeFileExt(FDictionaryPath, '.aff'); + end; + + if not TFile.Exists(DicFile) then + Exit; + + // Parse .aff first (sets FFlagType, rules, TRY, REP, etc.) + ParseAffFile(AffFile); + + Lines := TStringList.Create; + try + Lines.LoadFromFile(DicFile, TEncoding.UTF8); + // Hunspell .dic format: first line is word count, then one word per line. + // Words may have flags after a slash, e.g. "word/ABC" + for I := 1 to Lines.Count - 1 do + begin + Entry := Trim(Lines[I]); + if Entry = '' then + Continue; + + SlashPos := Pos('/', Entry); + if SlashPos > 0 then + begin + Word := Copy(Entry, 1, SlashPos - 1); + Flags := Copy(Entry, SlashPos + 1, MaxInt); + // Strip morphological data after tab or space + TabPos := Pos(#9, Flags); + if TabPos > 0 then + Flags := Copy(Flags, 1, TabPos - 1); + SpPos := Pos(' ', Flags); + if SpPos > 0 then + Flags := Copy(Flags, 1, SpPos - 1); + end + else + begin + Word := Entry; + // Strip morphological data + TabPos := Pos(#9, Word); + if TabPos > 0 then + Word := Copy(Word, 1, TabPos - 1); + Flags := ''; + end; + + FWordList.AddOrSetValue(LowerCase(Word), True); + if Flags <> '' then + FWordFlags.AddOrSetValue(LowerCase(Word), Flags); + end; + FLoaded := True; + finally + Lines.Free; + end; +end; + +{ ---------------------------------------------------------------------------- } +{ Condition matching for affix rules } +{ Hunspell conditions: [abc] = char class, [^abc] = negated, . = any char, } +{ literal chars. Anchored to word end (SFX) or start (PFX). } +{ ---------------------------------------------------------------------------- } + +function TSynHunspellProvider.MatchCondition(const AWord, ACondition: string; + AFromEnd: Boolean): Boolean; +var + CondLen, WordLen, I, J, StartPos: Integer; + Negated, Matched: Boolean; + C: Char; +begin + if (ACondition = '') or (ACondition = '.') then + Exit(True); + + // Count character positions in the condition pattern + CondLen := 0; + I := 1; + while I <= Length(ACondition) do + begin + Inc(CondLen); + if ACondition[I] = '[' then + begin + while (I <= Length(ACondition)) and (ACondition[I] <> ']') do + Inc(I); + end; + Inc(I); + end; + + WordLen := Length(AWord); + if WordLen < CondLen then + Exit(False); + + // Determine start position in the word + if AFromEnd then + StartPos := WordLen - CondLen + 1 + else + StartPos := 1; + + // Match each condition element against the word + I := 1; + J := StartPos; + while (I <= Length(ACondition)) and (J >= 1) and (J <= WordLen) do + begin + if ACondition[I] = '[' then + begin + Inc(I); // skip '[' + Negated := False; + if (I <= Length(ACondition)) and (ACondition[I] = '^') then + begin + Negated := True; + Inc(I); + end; + Matched := False; + C := AWord[J]; + while (I <= Length(ACondition)) and (ACondition[I] <> ']') do + begin + if ACondition[I] = C then + Matched := True; + Inc(I); + end; + if I <= Length(ACondition) then + Inc(I); // skip ']' + if Negated then + Matched := not Matched; + if not Matched then + Exit(False); + Inc(J); + end + else if ACondition[I] = '.' then + begin + Inc(I); + Inc(J); + end + else + begin + if AWord[J] <> ACondition[I] then + Exit(False); + Inc(I); + Inc(J); + end; + end; + + Result := (I > Length(ACondition)); +end; + +{ ---------------------------------------------------------------------------- } +{ Word lookup helpers } +{ ---------------------------------------------------------------------------- } + +function TSynHunspellProvider.LookupWord(const AWord: string): Boolean; +begin + Result := FWordList.ContainsKey(LowerCase(AWord)); +end; + +function TSynHunspellProvider.WordHasFlag(const AWord, AFlag: string): Boolean; +var + Flags: string; + FlagPos: Integer; + FlagParts: TArray; + FP: string; +begin + if not FWordFlags.TryGetValue(LowerCase(AWord), Flags) then + Exit(False); + + case FFlagType of + ftShort, ftUTF8: + Result := Pos(AFlag, Flags) > 0; + ftLong: + begin + FlagPos := 1; + Result := False; + while FlagPos + 1 <= Length(Flags) do + begin + if Copy(Flags, FlagPos, 2) = AFlag then + Exit(True); + Inc(FlagPos, 2); + end; + end; + ftNum: + begin + FlagParts := Flags.Split([',']); + Result := False; + for FP in FlagParts do + if Trim(FP) = AFlag then + Exit(True); + end; + else + Result := False; + end; +end; + +{ ---------------------------------------------------------------------------- } +{ Affix rule checking } +{ ---------------------------------------------------------------------------- } + +function TSynHunspellProvider.CheckSuffix(const AWord: string): Boolean; +var + Rule: TSynAffixRule; + Stem, WordLower: string; +begin + WordLower := LowerCase(AWord); + for Rule in FSuffixRules do + begin + if Rule.Add = '' then + begin + // Rule adds nothing — word itself is the stem with Strip re-added + Stem := WordLower + Rule.Strip; + if MatchCondition(Stem, Rule.Condition, True) and + WordHasFlag(Stem, Rule.Flag) then + Exit(True); + end + else if (Length(WordLower) > Length(Rule.Add)) and + WordLower.EndsWith(Rule.Add) then + begin + // Strip the added suffix and re-add the stripped part + Stem := Copy(WordLower, 1, Length(WordLower) - Length(Rule.Add)) + + Rule.Strip; + if (Stem <> '') and MatchCondition(Stem, Rule.Condition, True) and + WordHasFlag(Stem, Rule.Flag) then + Exit(True); + end; + end; + Result := False; +end; + +function TSynHunspellProvider.CheckPrefix(const AWord: string): Boolean; +var + Rule: TSynAffixRule; + Stem, WordLower: string; +begin + WordLower := LowerCase(AWord); + for Rule in FPrefixRules do + begin + if Rule.Add = '' then + begin + Stem := Rule.Strip + WordLower; + if MatchCondition(Stem, Rule.Condition, False) and + WordHasFlag(Stem, Rule.Flag) then + Exit(True); + end + else if (Length(WordLower) > Length(Rule.Add)) and + WordLower.StartsWith(Rule.Add) then + begin + Stem := Rule.Strip + Copy(WordLower, Length(Rule.Add) + 1, MaxInt); + if (Stem <> '') and MatchCondition(Stem, Rule.Condition, False) and + WordHasFlag(Stem, Rule.Flag) then + Exit(True); + end; + end; + Result := False; +end; + +function TSynHunspellProvider.CheckCrossProduct(const AWord: string): Boolean; +var + PfxRule, SfxRule: TSynAffixRule; + AfterPrefix, Stem, WordLower: string; +begin + WordLower := LowerCase(AWord); + + for PfxRule in FPrefixRules do + begin + if not PfxRule.CrossProduct then + Continue; + + // Strip prefix + if PfxRule.Add = '' then + AfterPrefix := PfxRule.Strip + WordLower + else if WordLower.StartsWith(PfxRule.Add) then + AfterPrefix := PfxRule.Strip + + Copy(WordLower, Length(PfxRule.Add) + 1, MaxInt) + else + Continue; + + if AfterPrefix = '' then + Continue; + if not MatchCondition(AfterPrefix, PfxRule.Condition, False) then + Continue; + + // Now try each suffix rule on the result + for SfxRule in FSuffixRules do + begin + if not SfxRule.CrossProduct then + Continue; + + if SfxRule.Add = '' then + begin + Stem := AfterPrefix + SfxRule.Strip; + if MatchCondition(Stem, SfxRule.Condition, True) and + WordHasFlag(Stem, PfxRule.Flag) and + WordHasFlag(Stem, SfxRule.Flag) then + Exit(True); + end + else if AfterPrefix.EndsWith(SfxRule.Add) then + begin + Stem := Copy(AfterPrefix, 1, + Length(AfterPrefix) - Length(SfxRule.Add)) + SfxRule.Strip; + if (Stem <> '') and + MatchCondition(Stem, SfxRule.Condition, True) and + WordHasFlag(Stem, PfxRule.Flag) and + WordHasFlag(Stem, SfxRule.Flag) then + Exit(True); + end; + end; + end; + Result := False; +end; + +{ ---------------------------------------------------------------------------- } +{ ISynSpellCheckProvider } +{ ---------------------------------------------------------------------------- } + +function TSynHunspellProvider.CheckWord(const AWord: string): Boolean; +begin + if not FLoaded and (FDictionaryPath <> '') then + LoadDictionary; + + // If not loaded or empty dictionary, accept all words + if not FLoaded or (FWordList.Count = 0) then + Exit(True); + + // Stage 1: Direct lookup + if LookupWord(AWord) then + Exit(True); + + // Stage 2: Suffix stripping + if CheckSuffix(AWord) then + Exit(True); + + // Stage 3: Prefix stripping + if CheckPrefix(AWord) then + Exit(True); + + // Stage 4: Cross-product (prefix + suffix) + if CheckCrossProduct(AWord) then + Exit(True); + + Result := False; +end; + +function TSynHunspellProvider.Suggest(const AWord: string): TArray; +const + MaxSuggestions = 10; + + function IsValidWord(Provider: TSynHunspellProvider; + const S: string): Boolean; + begin + Result := Provider.CheckWord(S); + end; + +var + Suggestions: TList; + WordLower, S: string; + Rep: TSynRepEntry; + I, J, FoundPos: Integer; + C: Char; +begin + if not FLoaded and (FDictionaryPath <> '') then + LoadDictionary; + + Suggestions := TList.Create; + try + WordLower := LowerCase(AWord); + + // Stage 1: REP table replacements + for Rep in FRepTable do + begin + if Suggestions.Count >= MaxSuggestions then + Break; + FoundPos := Pos(Rep.Pattern, WordLower); + while (FoundPos > 0) and (Suggestions.Count < MaxSuggestions) do + begin + S := Copy(WordLower, 1, FoundPos - 1) + Rep.Replacement + + Copy(WordLower, FoundPos + Length(Rep.Pattern), MaxInt); + if (S <> '') and not Suggestions.Contains(S) and + IsValidWord(Self, S) then + Suggestions.Add(S); + FoundPos := Pos(Rep.Pattern, WordLower, FoundPos + 1); + end; + end; + + // Stage 2: Single-char edits using TRY characters + if (Suggestions.Count < MaxSuggestions) and (FTryChars <> '') then + begin + // Deletions + for I := 1 to Length(WordLower) do + begin + if Suggestions.Count >= MaxSuggestions then Break; + S := Copy(WordLower, 1, I - 1) + Copy(WordLower, I + 1, MaxInt); + if (S <> '') and not Suggestions.Contains(S) and + IsValidWord(Self, S) then + Suggestions.Add(S); + end; + + // Transpositions + for I := 1 to Length(WordLower) - 1 do + begin + if Suggestions.Count >= MaxSuggestions then Break; + S := WordLower; + C := S[I]; + S[I] := S[I + 1]; + S[I + 1] := C; + if not Suggestions.Contains(S) and IsValidWord(Self, S) then + Suggestions.Add(S); + end; + + // Substitutions + for I := 1 to Length(WordLower) do + begin + if Suggestions.Count >= MaxSuggestions then Break; + for J := 1 to Length(FTryChars) do + begin + if Suggestions.Count >= MaxSuggestions then Break; + if FTryChars[J] = WordLower[I] then + Continue; + S := WordLower; + S[I] := FTryChars[J]; + if not Suggestions.Contains(S) and IsValidWord(Self, S) then + Suggestions.Add(S); + end; + end; + + // Insertions + for I := 1 to Length(WordLower) + 1 do + begin + if Suggestions.Count >= MaxSuggestions then Break; + for J := 1 to Length(FTryChars) do + begin + if Suggestions.Count >= MaxSuggestions then Break; + S := Copy(WordLower, 1, I - 1) + FTryChars[J] + + Copy(WordLower, I, MaxInt); + if not Suggestions.Contains(S) and IsValidWord(Self, S) then + Suggestions.Add(S); + end; + end; + end; + + Result := Suggestions.ToArray; + finally + Suggestions.Free; + end; +end; + +function TSynHunspellProvider.IsAvailable: Boolean; +begin + if not FLoaded and (FDictionaryPath <> '') then + LoadDictionary; + Result := FLoaded; +end; + +function TSynHunspellProvider.GetLanguage: string; +begin + Result := FLanguage; +end; + +procedure TSynHunspellProvider.SetLanguage(const Value: string); +begin + if FLanguage <> Value then + begin + FLanguage := Value; + FLoaded := False; + FWordList.Clear; + FWordFlags.Clear; + FPrefixRules.Clear; + FSuffixRules.Clear; + FRepTable.Clear; + end; +end; + +{ ============================================================================ } +{ TSynHunspellNativeProvider (stub) } +{ ============================================================================ } + +constructor TSynHunspellNativeProvider.Create(const ADictionaryPath: string; + const ALanguage: string); +begin + inherited Create; + FDictionaryPath := ADictionaryPath; + FLanguage := ALanguage; + FHandle := nil; + FLoaded := False; +end; + +destructor TSynHunspellNativeProvider.Destroy; +begin + FHandle := nil; + inherited; +end; + +function TSynHunspellNativeProvider.CheckWord(const AWord: string): Boolean; +begin + Result := True; // No-op: accept all words when native DLL not loaded +end; + +function TSynHunspellNativeProvider.Suggest( + const AWord: string): TArray; +begin + SetLength(Result, 0); +end; + +function TSynHunspellNativeProvider.IsAvailable: Boolean; +begin + Result := False; // Native DLL not yet implemented +end; + +function TSynHunspellNativeProvider.GetLanguage: string; +begin + Result := FLanguage; +end; + +procedure TSynHunspellNativeProvider.SetLanguage(const Value: string); +begin + FLanguage := Value; +end; + +end. diff --git a/Source/SynSpellCheckTypes.pas b/Source/SynSpellCheckTypes.pas new file mode 100644 index 00000000..4a0da801 --- /dev/null +++ b/Source/SynSpellCheckTypes.pas @@ -0,0 +1,127 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit + +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/ +-------------------------------------------------------------------------------} + +{ Framework-neutral spell check types, interfaces, and word extraction helpers. + Shared by both VCL and FMX spell check implementations. } + +unit SynSpellCheckTypes; + +{$I SynEdit.inc} + +interface + +uses + System.SysUtils, + System.Classes, + System.Generics.Collections; + +{$REGION 'Spell Check Token Types'} + +type + TSynSpellCheckToken = (sctComment, sctString, sctIdentifier); + TSynSpellCheckTokens = set of TSynSpellCheckToken; + +{$ENDREGION 'Spell Check Token Types'} + +{$REGION 'Spell Error Record'} + + TSynSpellError = record + Line: Integer; // 1-based line + StartChar: Integer; // 1-based char + EndChar: Integer; // 1-based char (exclusive) + Word: string; + end; + +{$ENDREGION 'Spell Error Record'} + +{$REGION 'Provider Interface'} + + ISynSpellCheckProvider = interface + ['{A1F5B2C3-D4E6-4789-AB01-23456789ABCD}'] + function CheckWord(const AWord: string): Boolean; + function Suggest(const AWord: string): TArray; + function IsAvailable: Boolean; + function GetLanguage: string; + procedure SetLanguage(const Value: string); + end; + +{$ENDREGION 'Provider Interface'} + +{$REGION 'Word Extraction Helpers'} + +type + TWordInfo = record + Word: string; + StartChar: Integer; // 1-based + EndChar: Integer; // 1-based, exclusive + end; + +function IsSpellWordBreakChar(C: WideChar): Boolean; inline; +function ExtractWords(const ALine: string): TArray; +function ContainsLetter(const S: string): Boolean; + +{$ENDREGION 'Word Extraction Helpers'} + +implementation + +uses + System.Character; + +function IsSpellWordBreakChar(C: WideChar): Boolean; +begin + case C of + 'A'..'Z', 'a'..'z', '0'..'9', '_', '''': Result := False; + else + Result := True; + end; +end; + +function ExtractWords(const ALine: string): TArray; +var + I, Len, WordStart: Integer; + List: TList; + Info: TWordInfo; +begin + Len := Length(ALine); + List := TList.Create; + try + I := 1; + while I <= Len do + begin + // Skip non-word characters + while (I <= Len) and IsSpellWordBreakChar(ALine[I]) do + Inc(I); + if I > Len then Break; + // Start of a word + WordStart := I; + while (I <= Len) and not IsSpellWordBreakChar(ALine[I]) do + Inc(I); + Info.StartChar := WordStart; + Info.EndChar := I; + Info.Word := Copy(ALine, WordStart, I - WordStart); + if Info.Word.Length > 0 then + List.Add(Info); + end; + Result := List.ToArray; + finally + List.Free; + end; +end; + +function ContainsLetter(const S: string): Boolean; +var + I: Integer; +begin + for I := 1 to Length(S) do + if S[I].IsLetter then + Exit(True); + Result := False; +end; + +end. diff --git a/Source/SynSpellCheckWinAPI.pas b/Source/SynSpellCheckWinAPI.pas new file mode 100644 index 00000000..ec315dc8 --- /dev/null +++ b/Source/SynSpellCheckWinAPI.pas @@ -0,0 +1,172 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit + +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/ +-------------------------------------------------------------------------------} + +{ Windows Spell Checking API COM interface declarations. + Shared by both VCL and FMX spell check implementations. + Requires Windows 8+ at runtime. } + +unit SynSpellCheckWinAPI; + +{$I SynEdit.inc} + +{$IFDEF MSWINDOWS} + +interface + +uses + Winapi.Windows, + Winapi.ActiveX; + +// *********************************************************************// +// GUIDS declared in the TypeLibrary. Following prefixes are used: +// Type Libraries : LIBID_xxxx +// CoClasses : CLASS_xxxx +// DISPInterfaces : DIID_xxxx +// Non-DISP interfaces: IID_xxxx +// *********************************************************************// +const + IID_ISpellCheckerFactory: TGUID = '{8E018A9D-2415-4677-BF08-794EA61F94BB}'; + IID_IUserDictionariesRegistrar: TGUID = '{AA176B85-0E12-4844-8E1A-EEF1DA77F586}'; + IID_ISpellChecker: TGUID = '{B6FD0B71-E2BC-4653-8D05-F197E412770B}'; + IID_IEnumSpellingError: TGUID = '{803E3BD4-2828-4410-8290-418D1D73C762}'; + IID_ISpellingError: TGUID = '{B7C82D61-FBE8-4B47-9B27-6C0D2E0DE0A3}'; + IID_ISpellCheckerChangedEventHandler: TGUID = '{0B83A5B0-792F-4EAB-9799-ACF52C5ED08A}'; + IID_IOptionDescription: TGUID = '{432E5F85-35CF-4606-A801-6F70277E1D7A}'; + CLASS_SpellCheckerFactory: TGUID = '{7AB36653-1796-484B-BDFA-E74F1DB7C1DC}'; + +// Constants for enum CORRECTIVE_ACTION +type + CORRECTIVE_ACTION = TOleEnum; + TCorrectiveAction = (secaNone, secaSuggestions, secaReplace, secaDelete); + +const + CORRECTIVE_ACTION_NONE = $00000000; + CORRECTIVE_ACTION_GET_SUGGESTIONS = $00000001; + CORRECTIVE_ACTION_REPLACE = $00000002; + CORRECTIVE_ACTION_DELETE = $00000003; + +type + +// *********************************************************************// +// Forward declaration of types defined in TypeLibrary +// *********************************************************************// + ISpellCheckerFactory = interface; + IUserDictionariesRegistrar = interface; + ISpellChecker = interface; + IEnumSpellingError = interface; + ISpellingError = interface; + ISpellCheckerChangedEventHandler = interface; + IOptionDescription = interface; + +// *********************************************************************// +// Declaration of CoClasses defined in Type Library +// (NOTE: Here we map each CoClass to its Default Interface) +// *********************************************************************// + SpellCheckerFactory = ISpellCheckerFactory; + +// *********************************************************************// +// Interface: ISpellCheckerFactory +// GUID: {8E018A9D-2415-4677-BF08-794EA61F94BB} +// *********************************************************************// + ISpellCheckerFactory = interface(IUnknown) + ['{8E018A9D-2415-4677-BF08-794EA61F94BB}'] + function Get_SupportedLanguages(out value: IEnumString): HResult; stdcall; + function IsSupported(languageTag: PWideChar; out value: Integer): HResult; stdcall; + function CreateSpellChecker(languageTag: PWideChar; out value: ISpellChecker): HResult; stdcall; + end; + +// *********************************************************************// +// Interface: IUserDictionariesRegistrar +// GUID: {AA176B85-0E12-4844-8E1A-EEF1DA77F586} +// *********************************************************************// + IUserDictionariesRegistrar = interface(IUnknown) + ['{AA176B85-0E12-4844-8E1A-EEF1DA77F586}'] + function RegisterUserDictionary(dictionaryPath: PWideChar; languageTag: PWideChar): HResult; stdcall; + function UnregisterUserDictionary(dictionaryPath: PWideChar; languageTag: PWideChar): HResult; stdcall; + end; + +// *********************************************************************// +// Interface: ISpellChecker +// GUID: {B6FD0B71-E2BC-4653-8D05-F197E412770B} +// *********************************************************************// + ISpellChecker = interface(IUnknown) + ['{B6FD0B71-E2BC-4653-8D05-F197E412770B}'] + function Get_languageTag(out value: PWideChar): HResult; stdcall; + function Check(text: PWideChar; out value: IEnumSpellingError): HResult; stdcall; + function Suggest(word: PWideChar; out value: IEnumString): HResult; stdcall; + function Add(word: PWideChar): HResult; stdcall; + function Ignore(word: PWideChar): HResult; stdcall; + function AutoCorrect(from: PWideChar; to_: PWideChar): HResult; stdcall; + function GetOptionValue(optionId: PWideChar; out value: Byte): HResult; stdcall; + function Get_OptionIds(out value: IEnumString): HResult; stdcall; + function Get_Id(out value: PWideChar): HResult; stdcall; + function Get_LocalizedName(out value: PWideChar): HResult; stdcall; + function add_SpellCheckerChanged(const handler: ISpellCheckerChangedEventHandler; + out eventCookie: LongWord): HResult; stdcall; + function remove_SpellCheckerChanged(eventCookie: LongWord): HResult; stdcall; + function GetOptionDescription(optionId: PWideChar; out value: IOptionDescription): HResult; stdcall; + function ComprehensiveCheck(text: PWideChar; out value: IEnumSpellingError): HResult; stdcall; + end; + +// *********************************************************************// +// Interface: ISpellChecker2 +// GUID: {E7ED1C71-87F7-4378-A840-C9200DACEE47} +// *********************************************************************// + ISpellChecker2 = interface(ISpellChecker) + ['{E7ED1C71-87F7-4378-A840-C9200DACEE47}'] + function Remove(word: PWideChar): HResult; stdcall; + end; + +// *********************************************************************// +// Interface: IEnumSpellingError +// GUID: {803E3BD4-2828-4410-8290-418D1D73C762} +// *********************************************************************// + IEnumSpellingError = interface(IUnknown) + ['{803E3BD4-2828-4410-8290-418D1D73C762}'] + function Next(out value: ISpellingError): HResult; stdcall; + end; + +// *********************************************************************// +// Interface: ISpellingError +// GUID: {B7C82D61-FBE8-4B47-9B27-6C0D2E0DE0A3} +// *********************************************************************// + ISpellingError = interface(IUnknown) + ['{B7C82D61-FBE8-4B47-9B27-6C0D2E0DE0A3}'] + function Get_StartIndex(out value: LongWord): HResult; stdcall; + function Get_Length(out value: LongWord): HResult; stdcall; + function Get_CorrectiveAction(out value: CORRECTIVE_ACTION): HResult; stdcall; + function Get_Replacement(out value: PWideChar): HResult; stdcall; + end; + +// *********************************************************************// +// Interface: ISpellCheckerChangedEventHandler +// GUID: {0B83A5B0-792F-4EAB-9799-ACF52C5ED08A} +// *********************************************************************// + ISpellCheckerChangedEventHandler = interface(IUnknown) + ['{0B83A5B0-792F-4EAB-9799-ACF52C5ED08A}'] + function Invoke(const sender: ISpellChecker): HResult; stdcall; + end; + +// *********************************************************************// +// Interface: IOptionDescription +// GUID: {432E5F85-35CF-4606-A801-6F70277E1D7A} +// *********************************************************************// + IOptionDescription = interface(IUnknown) + ['{432E5F85-35CF-4606-A801-6F70277E1D7A}'] + function Get_Id(out value: PWideChar): HResult; stdcall; + function Get_Heading(out value: PWideChar): HResult; stdcall; + function Get_Description(out value: PWideChar): HResult; stdcall; + function Get_Labels(out value: IEnumString): HResult; stdcall; + end; + +{$ENDIF MSWINDOWS} + +implementation + +end. diff --git a/Source/SynSpellCheckWindowsProvider.pas b/Source/SynSpellCheckWindowsProvider.pas new file mode 100644 index 00000000..b6ae2b38 --- /dev/null +++ b/Source/SynSpellCheckWindowsProvider.pas @@ -0,0 +1,231 @@ +{------------------------------------------------------------------------------- +TurboPack SynEdit + +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/ +-------------------------------------------------------------------------------} + +{ Windows Spell Checking API provider implementing ISynSpellCheckProvider. + Framework-neutral — works with both VCL and FMX. + Requires Windows 8+ at runtime. } + +unit SynSpellCheckWindowsProvider; + +{$I SynEdit.inc} + +{$IFDEF MSWINDOWS} + +interface + +uses + Winapi.Windows, + Winapi.ActiveX, + System.SysUtils, + System.Classes, + System.Generics.Collections, + SynSpellCheckTypes, + SynSpellCheckWinAPI; + +type + TSynWindowsSpellProvider = class(TInterfacedObject, ISynSpellCheckProvider) + private + FLanguage: string; + FFactory: ISpellCheckerFactory; + FSpellChecker: ISpellChecker; + FAvailable: Boolean; + procedure CreateFactory; + procedure CreateSpellChecker; + public + constructor Create; overload; + constructor Create(const ALanguage: string); overload; + destructor Destroy; override; + { ISynSpellCheckProvider } + function CheckWord(const AWord: string): Boolean; + function Suggest(const AWord: string): TArray; + function IsAvailable: Boolean; + function GetLanguage: string; + procedure SetLanguage(const Value: string); + { Additional } + class function SupportedLanguages: TArray; + end; + +implementation + +uses + System.Win.ComObj; + +{ ============================================================================ } +{ TSynWindowsSpellProvider } +{ ============================================================================ } + +constructor TSynWindowsSpellProvider.Create; +begin + inherited Create; + FLanguage := 'en-US'; + FAvailable := False; + CreateFactory; + if Assigned(FFactory) then + CreateSpellChecker; +end; + +constructor TSynWindowsSpellProvider.Create(const ALanguage: string); +begin + inherited Create; + FLanguage := ALanguage; + FAvailable := False; + CreateFactory; + if Assigned(FFactory) then + CreateSpellChecker; +end; + +destructor TSynWindowsSpellProvider.Destroy; +begin + FSpellChecker := nil; + FFactory := nil; + inherited; +end; + +procedure TSynWindowsSpellProvider.CreateFactory; +var + HR: HResult; + Unk: IUnknown; +begin + FFactory := nil; + // Windows 8+ required for spell checking API + if not TOSVersion.Check(6, 2) then + Exit; + + HR := CoCreateInstance(CLASS_SpellCheckerFactory, nil, CLSCTX_INPROC_SERVER, + IID_ISpellCheckerFactory, Unk); + if Succeeded(HR) and Assigned(Unk) then + FFactory := Unk as ISpellCheckerFactory; +end; + +procedure TSynWindowsSpellProvider.CreateSpellChecker; +var + HR: HResult; + Supported: Integer; +begin + FSpellChecker := nil; + FAvailable := False; + + if not Assigned(FFactory) then + Exit; + + HR := FFactory.IsSupported(PChar(FLanguage), Supported); + if Failed(HR) or (Supported = 0) then + Exit; + + HR := FFactory.CreateSpellChecker(PChar(FLanguage), FSpellChecker); + FAvailable := Succeeded(HR) and Assigned(FSpellChecker); +end; + +function TSynWindowsSpellProvider.CheckWord(const AWord: string): Boolean; +var + SpellingErrors: IEnumSpellingError; + SpellingError: ISpellingError; + HR: HResult; +begin + Result := True; + if not FAvailable or not Assigned(FSpellChecker) then + Exit; + + HR := FSpellChecker.Check(PChar(AWord), SpellingErrors); + if Failed(HR) or not Assigned(SpellingErrors) then + Exit; + + // If Next returns S_OK, there is at least one error => word is misspelled + Result := SpellingErrors.Next(SpellingError) <> S_OK; +end; + +function TSynWindowsSpellProvider.Suggest(const AWord: string): TArray; +var + Suggestions: IEnumString; + HR: HResult; + Fetched: LongInt; + Str: PWideChar; + List: TList; +begin + SetLength(Result, 0); + if not FAvailable or not Assigned(FSpellChecker) then + Exit; + + HR := FSpellChecker.Suggest(PChar(AWord), Suggestions); + if Failed(HR) or not Assigned(Suggestions) then + Exit; + + List := TList.Create; + try + while Suggestions.Next(1, Str, @Fetched) = S_OK do + begin + List.Add(string(Str)); + CoTaskMemFree(Str); + end; + Result := List.ToArray; + finally + List.Free; + end; +end; + +function TSynWindowsSpellProvider.IsAvailable: Boolean; +begin + Result := FAvailable; +end; + +function TSynWindowsSpellProvider.GetLanguage: string; +begin + Result := FLanguage; +end; + +procedure TSynWindowsSpellProvider.SetLanguage(const Value: string); +begin + if FLanguage <> Value then + begin + FLanguage := Value; + if Assigned(FFactory) then + CreateSpellChecker; + end; +end; + +class function TSynWindowsSpellProvider.SupportedLanguages: TArray; +var + Factory: ISpellCheckerFactory; + Languages: IEnumString; + Lang: PWideChar; + Fetched: LongInt; + HR: HResult; + Unk: IUnknown; + List: TList; +begin + SetLength(Result, 0); + if not TOSVersion.Check(6, 2) then + Exit; + + HR := CoCreateInstance(CLASS_SpellCheckerFactory, nil, CLSCTX_INPROC_SERVER, + IID_ISpellCheckerFactory, Unk); + if Failed(HR) or not Assigned(Unk) then + Exit; + + Factory := Unk as ISpellCheckerFactory; + HR := Factory.Get_SupportedLanguages(Languages); + if Failed(HR) or not Assigned(Languages) then + Exit; + + List := TList.Create; + try + while Languages.Next(1, Lang, @Fetched) = S_OK do + begin + List.Add(string(Lang)); + CoTaskMemFree(Lang); + end; + Result := List.ToArray; + finally + List.Free; + end; +end; + +{$ENDIF MSWINDOWS} + +end. diff --git a/Source/SynUnicode.pas b/Source/SynUnicodeShared.pas similarity index 91% rename from Source/SynUnicode.pas rename to Source/SynUnicodeShared.pas index 0d1a3270..7e4d114b 100644 --- a/Source/SynUnicode.pas +++ b/Source/SynUnicodeShared.pas @@ -26,23 +26,29 @@ ------------------------------------------------------------------------------} -unit SynUnicode; +unit SynUnicodeShared; + +{ Platform-independent Unicode and encoding utilities for SynEdit. + + Named with the 'Shared' suffix because a bare 'SynUnicode' unit + shadows 'Vcl.SynUnicode' and 'FMX.SynUnicode' under Delphi's scope + resolution rules (exact name match wins over dotted-prefix match). + The suffix lets shared code reference this unit unambiguously, while + Vcl.SynUnicode / FMX.SynUnicode re-export its public API together + with their own platform-specific clipboard functions. } {$I SynEdit.inc} interface uses - Windows, - Messages, - Controls, - Forms, - Graphics, - Clipbrd, - Types, - Classes, - SysUtils, - TypInfo, + {$IFDEF MSWINDOWS} + Winapi.Windows, + {$ENDIF} + System.Types, + System.Classes, + System.SysUtils, + System.TypInfo, SynEditTypes; const @@ -84,30 +90,39 @@ procedure StrSwapByteOrder(Str: PWideChar); TSynEncoding = (seUTF8, seUTF16LE, seUTF16BE, seAnsi); TSynEncodings = set of TSynEncoding; +{$IFDEF MSWINDOWS} function IsAnsiOnly(const WS: string): Boolean; +{$ENDIF} function IsUTF8(Stream: TStream; out WithBOM: Boolean; BytesToCheck: Integer = $4000): Boolean; overload; function IsUTF8(const FileName: string; out WithBOM: Boolean; BytesToCheck: Integer = $4000): Boolean; overload; function IsUTF8(const Bytes: TBytes; Start: Integer = 0; BytesToCheck: Integer = $4000): Boolean; overload; function GetEncoding(const FileName: string; out WithBOM: Boolean): TEncoding; overload; function GetEncoding(Stream: TStream; out WithBOM: Boolean): TEncoding; overload; +{$IFDEF MSWINDOWS} +{$IFNDEF SYN_SHARED} function ClipboardProvidesText: Boolean; function GetClipboardText: string; procedure SetClipboardText(const Text: string); +{$ENDIF ~SYN_SHARED} { misc functions } function IsWideCharMappableToAnsi(const WC: WideChar): Boolean; var UserLocaleName: array [0..LOCALE_NAME_MAX_LENGTH - 1] of Char; +{$ENDIF} implementation uses - SynEditTextBuffer, - Math, - SysConst, - RTLConsts; + {$IF Defined(MSWINDOWS) and not Defined(SYN_SHARED)} + Vcl.Clipbrd, + {$ENDIF} + System.Math, + System.SysConst, + System.RTLConsts, + SynEditTextBuffer; // exchanges in each character of the given string the low order and high order // byte to go from LSB to MSB and vice versa. @@ -119,11 +134,12 @@ procedure StrSwapByteOrder(Str: PWideChar); P := PWord(Str); while P^ <> 0 do begin - P^ := MakeWord(HiByte(P^), LoByte(P^)); + P^ := Swap(P^); Inc(P); end; end; +{$IFDEF MSWINDOWS} function IsAnsiOnly(const WS: string): Boolean; var UsedDefaultChar: BOOL; @@ -132,6 +148,7 @@ function IsAnsiOnly(const WS: string): Boolean; nil, @UsedDefaultChar); Result := not UsedDefaultChar; end; +{$ENDIF} function IsUTF8(const FileName: string; out WithBOM: Boolean; BytesToCheck: Integer): Boolean; var @@ -354,6 +371,8 @@ function GetEncoding(Stream: TStream; out WithBOM: Boolean): TEncoding; end; end; +{$IFDEF MSWINDOWS} +{$IFNDEF SYN_SHARED} function ClipboardProvidesText: Boolean; begin Result := IsClipboardFormatAvailable(CF_UNICODETEXT); @@ -368,6 +387,7 @@ procedure SetClipboardText(const Text: string); begin Clipboard.AsText := Text; end; +{$ENDIF ~SYN_SHARED} function IsWideCharMappableToAnsi(const WC: WideChar): Boolean; var @@ -377,10 +397,13 @@ function IsWideCharMappableToAnsi(const WC: WideChar): Boolean; @UsedDefaultChar); Result := not UsedDefaultChar; end; +{$ENDIF} +{$IFDEF MSWINDOWS} initialization Assert(TOSVersion.Check(6), 'Unsupported Windows version. Windows Vista or higher required'); if LCIDToLocaleName(GetUserDefaultLCID, UserLocaleName, LOCALE_NAME_MAX_LENGTH, 0) = 0 then RaiseLastOSError; +{$ENDIF} end. diff --git a/Source/DesignTimeEditors/SynDelphiIDEImporter.pas b/Source/VCL/DesignTimeEditors/SynDelphiIDEImporter.pas similarity index 100% rename from Source/DesignTimeEditors/SynDelphiIDEImporter.pas rename to Source/VCL/DesignTimeEditors/SynDelphiIDEImporter.pas diff --git a/Source/SynAccessibility.pas b/Source/VCL/Vcl.SynAccessibility.pas similarity index 99% rename from Source/SynAccessibility.pas rename to Source/VCL/Vcl.SynAccessibility.pas index 12ae95ed..2feb2f26 100644 --- a/Source/SynAccessibility.pas +++ b/Source/VCL/Vcl.SynAccessibility.pas @@ -1,4 +1,4 @@ -unit SynAccessibility; +unit Vcl.SynAccessibility; {------------------------------------------------------------------------------- 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 @@ -373,7 +373,7 @@ implementation System.Variants, Vcl.Controls, SynEditTypes, - SynUnicode; + SynUnicodeShared; resourcestring rsLocalizedControlType = 'editor'; diff --git a/Source/SynAutoCorrect.pas b/Source/VCL/Vcl.SynAutoCorrect.pas similarity index 99% rename from Source/SynAutoCorrect.pas rename to Source/VCL/Vcl.SynAutoCorrect.pas index 67e0e2aa..4394b4d2 100644 --- a/Source/SynAutoCorrect.pas +++ b/Source/VCL/Vcl.SynAutoCorrect.pas @@ -85,7 +85,7 @@ * New demo. } -unit SynAutoCorrect; +unit Vcl.SynAutoCorrect; {$I SynEdit.inc} @@ -104,7 +104,7 @@ interface SynEditKeyCmds, SynEdit, SynEditMiscClasses, - SynUnicode, + SynUnicodeShared, Classes, SysUtils, IniFiles; diff --git a/Source/SynAutoCorrectEditor.dfm b/Source/VCL/Vcl.SynAutoCorrectEditor.dfm similarity index 100% rename from Source/SynAutoCorrectEditor.dfm rename to Source/VCL/Vcl.SynAutoCorrectEditor.dfm diff --git a/Source/SynAutoCorrectEditor.pas b/Source/VCL/Vcl.SynAutoCorrectEditor.pas similarity index 98% rename from Source/SynAutoCorrectEditor.pas rename to Source/VCL/Vcl.SynAutoCorrectEditor.pas index 8e2c9d91..b220f4ff 100644 --- a/Source/SynAutoCorrectEditor.pas +++ b/Source/VCL/Vcl.SynAutoCorrectEditor.pas @@ -28,7 +28,7 @@ -------------------------------------------------------------------------------} -unit SynAutoCorrectEditor; +unit Vcl.SynAutoCorrectEditor; interface @@ -36,7 +36,7 @@ interface uses Windows, Messages, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, - Buttons, Registry, SynAutoCorrect, SynUnicode, SysUtils, Classes; + Buttons, Registry, SynAutoCorrect, SynUnicodeShared, SysUtils, Classes; type TfrmAutoCorrectEditor = class(TForm) diff --git a/Source/SynCompletionProposal.pas b/Source/VCL/Vcl.SynCompletionProposal.pas similarity index 99% rename from Source/SynCompletionProposal.pas rename to Source/VCL/Vcl.SynCompletionProposal.pas index d1d54804..5d744128 100644 --- a/Source/SynCompletionProposal.pas +++ b/Source/VCL/Vcl.SynCompletionProposal.pas @@ -30,7 +30,7 @@ of this file under either the MPL or the GPL. -------------------------------------------------------------------------------} -unit SynCompletionProposal; +unit Vcl.SynCompletionProposal; {$I SynEdit.inc} @@ -51,7 +51,7 @@ interface SynEditTypes, SynEditKeyCmds, SynEdit, - SynUnicode; + SynUnicodeShared; type SynCompletionType = (ctCode, ctHint, ctParams); @@ -558,7 +558,7 @@ implementation System.UITypes, SynEditTextBuffer, SynEditMiscProcs, - SynEditKeyConst; + SynEditKeyConstShared; const TextHeightString = 'CompletionProposal'; diff --git a/Source/SynDBEdit.pas b/Source/VCL/Vcl.SynDBEdit.pas similarity index 99% rename from Source/SynDBEdit.pas rename to Source/VCL/Vcl.SynDBEdit.pas index 78b4b0d6..bb86a145 100644 --- a/Source/SynDBEdit.pas +++ b/Source/VCL/Vcl.SynDBEdit.pas @@ -29,7 +29,7 @@ of this file under either the MPL or the GPL. -------------------------------------------------------------------------------} -unit SynDBEdit; +unit Vcl.SynDBEdit; {$I SynEdit.inc} diff --git a/Source/SynDWrite.pas b/Source/VCL/Vcl.SynDWrite.pas similarity index 99% rename from Source/SynDWrite.pas rename to Source/VCL/Vcl.SynDWrite.pas index d332df91..3188ec2b 100644 --- a/Source/SynDWrite.pas +++ b/Source/VCL/Vcl.SynDWrite.pas @@ -1,4 +1,4 @@ -unit SynDWrite; +unit Vcl.SynDWrite; {------------------------------------------------------------------------------- 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 @@ -1551,9 +1551,10 @@ implementation System.Math, System.Win.ComObj, Vcl.Forms, - SynUnicode, + SynUnicodeShared, SynEditTypes, - SynEditMiscProcs; + SynEditMiscProcs, + SynEditMiscClasses; resourcestring SYNS_FontFamilyNotFound = 'Font family name not found'; diff --git a/Source/SynEdit.pas b/Source/VCL/Vcl.SynEdit.pas similarity index 98% rename from Source/SynEdit.pas rename to Source/VCL/Vcl.SynEdit.pas index 6e9d2140..a1eb22e9 100644 --- a/Source/SynEdit.pas +++ b/Source/VCL/Vcl.SynEdit.pas @@ -30,7 +30,7 @@ //todo: Remove checks for WordWrap. Must abstract the behaviour with the plugins instead. //todo: Move WordWrap glyph to the WordWrap plugin. -unit SynEdit; +unit Vcl.SynEdit; {$I SynEdit.inc} @@ -57,10 +57,12 @@ interface Vcl.Dialogs, Vcl.Themes, System.UITypes, - SynUnicode, + SynUnicodeShared, SynEditTypes, - SynEditKeyConst, + Vcl.SynEditScrollTypes, + SynEditKeyConstShared, SynEditMiscProcs, + SynEditSelections, SynEditMiscClasses, SynEditTextBuffer, SynDWrite, @@ -537,6 +539,11 @@ TCustomSynEdit = class(TCustomControl) State: TShiftState; MousePt: TPoint; var Effect: LongInt; var Result: HResult); virtual; procedure OleDragLeave(Sender: TObject; var Result: HResult); virtual; + /// Core drop logic extracted for testability. + /// OleDrop delegates here after extracting text from the IDataObject. + /// Returns True if the drop was performed, False if rejected. + function DropTextAtPos(const DropText: string; DropPos: TBufferCoord; + IsInternal, IsMove: Boolean): Boolean; //-- Ole Drag & Drop function GetReadOnly: Boolean; virtual; procedure HighlighterAttrChanged(Sender: TObject); @@ -1119,6 +1126,7 @@ implementation Vcl.Consts, Vcl.Clipbrd, Vcl.IMouse, + Vcl.SynUnicode, SynAccessibility, SynEditScrollBars, SynEditUndo, @@ -1126,6 +1134,8 @@ implementation SynEditStrConst, SynEditDataObject, SynEditDragDrop, + SynEditDragDropShared, + SynEditDragDropWin, SynEditSearch; { TCustomSynEdit } @@ -1248,14 +1258,8 @@ function TCustomSynEdit.PixelsToRowColumn(aX, aY: Integer): TDisplayCoord; end; function TCustomSynEdit.ColumnSelectionStart: TBufferCoord; - // With eoScrollPastEol in an empty selection (Selection.Start = Selection.Stop) - // Selection.Caret may be different to both, if it is past eol. - // In that case prefer the Caret. begin - if Selections.BaseSelection.IsEmpty then - Result := Selections.BaseSelection.Caret - else - Result := Selections.BaseSelection.Start; + Result := FSelections.ColumnSelectionStart; end; function TCustomSynEdit.ColumnToPixels(const S: string; Col: Integer): Integer; @@ -4248,94 +4252,89 @@ procedure TCustomSynEdit.OleDrop(Sender: TObject; DataObject: IDataObject; var Result: HResult); var vNewCaret: TBufferCoord; - DoDrop, DropAfter, DropMove: Boolean; - vBB, vBE: TBufferCoord; DragDropText: string; - ChangeScrollPastEOL: Boolean; FormatEtc: TFormatEtc; Medium: TStgMedium; Pt: TPoint; begin Pt := ScreenToClient(MousePt); - DropMove := Effect = DROPEFFECT_MOVE; + + ComputeCaret(Pt.X, Pt.Y); + vNewCaret := CaretXY; + + // Extract text from IDataObject + DragDropText := ''; + with FormatEtc do begin + cfFormat := CF_UNICODETEXT; + dwAspect := DVASPECT_CONTENT; + ptd := nil; + tymed := TYMED_HGLOBAL; + lindex := -1; + end; + if DataObject.GetData(FormatEtc, Medium) = S_OK then begin + if Medium.hGlobal <> 0 then begin + DragDropText := PChar(GlobalLock(Medium.hGlobal)); + GlobalUnLock(Medium.hGlobal); + end; + ReleaseStgMedium(Medium); + end; + + if not DropTextAtPos(DragDropText, vNewCaret, + sfOleDragSource in fStateFlags, Effect = DROPEFFECT_MOVE) then + // Drop rejected (empty text, read-only, or drop inside selection) + Effect := DROPEFFECT_NONE + else if (sfOleDragSource in fStateFlags) and (Effect = DROPEFFECT_MOVE) then + // Internal move: signal OLE source not to delete (we already did) + Effect := DROPEFFECT_NONE; +end; + +function TCustomSynEdit.DropTextAtPos(const DropText: string; + DropPos: TBufferCoord; IsInternal, IsMove: Boolean): Boolean; +var + vBB, vBE: TBufferCoord; + DropInfo: TSynDropInfo; + ChangeScrollPastEOL: Boolean; +begin + Result := False; + if (DropText = '') or ReadOnly then + Exit; BeginUpdate; try - ComputeCaret(Pt.X, Pt.Y); - vNewCaret := CaretXY; - if not (sfOleDragSource in fStateFlags) then - begin - DoDrop := True; - DropAfter := False; - end - else - begin - // Internal dragging - vBB := BlockBegin; - vBE := BlockEnd; - DropAfter := (vNewCaret.Line > vBE.Line) - or ((vNewCaret.Line = vBE.Line) and ((vNewCaret.Char > vBE.Char) or - ((not DropMove) and (vNewCaret.Char = vBE.Char)))); - DoDrop := DropAfter or (vNewCaret.Line < vBB.Line) - or ((vNewCaret.Line = vBB.Line) and ((vNewCaret.Char < vBB.Char) or - ((not DropMove) and (vNewCaret.Char = vBB.Char)))); - end; - - if DoDrop then begin - with FormatEtc do begin - cfFormat := CF_UNICODETEXT; - dwAspect := DVASPECT_CONTENT; - ptd := nil; - tymed := TYMED_HGLOBAL; - lindex := -1; - end; - if DataObject.GetData(FormatEtc, Medium) = S_OK then begin - if Medium.hGlobal <> 0 then begin - DragDropText := PChar(GlobalLock(Medium.hGlobal)); - GlobalUnLock(Medium.hGlobal); - DoDrop := DragDropText <> ''; - end else - DoDrop := False; - ReleaseStgMedium(Medium); - end else - DoDrop := False; - end; + vBB := BlockBegin; + vBE := BlockEnd; - if DoDrop then begin - BeginUndoBlock; + DropInfo := TSynDragDropHelper.ComputeDropInfo(DropPos, vBB, vBE, + IsInternal, IsMove); + + if not DropInfo.DoDrop then + Exit; + + Result := True; + BeginUndoBlock; + try + // delete the selected text if necessary + if IsMove and IsInternal then + begin + SelText := ''; + DropPos := TSynDragDropHelper.AdjustDropPos( + DropPos, vBB, vBE, DropInfo.DropAfter); + end; + // insert the selected text + ChangeScrollPastEOL := not (eoScrollPastEol in fScrollOptions); try - // delete the selected text if necessary - if DropMove then - begin - if sfOleDragSource in fStateFlags then begin - // Internal dragging - Effect := DROPEFFECT_NONE; // do not clear selection after drop - SelText := ''; - // adjust horizontal drop position - if DropAfter and (vNewCaret.Line = vBE.Line) then - Dec(vNewCaret.Char, vBE.Char - vBB.Char); - // adjust vertical drop position - if DropAfter and (vBE.Line > vBB.Line) then - Dec(vNewCaret.Line, vBE.Line - vBB.Line); - end; - end; - // insert the selected text - ChangeScrollPastEOL := not (eoScrollPastEol in fScrollOptions); - try - if ChangeScrollPastEOL then - Include(fScrollOptions, eoScrollPastEol); - CaretXY := vNewCaret; - SelText := DragDropText; // creates undo action - finally - if ChangeScrollPastEOL then - Exclude(fScrollOptions, eoScrollPastEol); - end; - SetCaretAndSelection(CaretXY, vNewCaret, CaretXY); + if ChangeScrollPastEOL then + Include(fScrollOptions, eoScrollPastEol); + CaretXY := DropPos; + SelText := DropText; finally - EndUndoBlock; + if ChangeScrollPastEOL then + Exclude(fScrollOptions, eoScrollPastEol); end; - end else - Effect := DROPEFFECT_NONE; + SetCaretAndSelection(CaretXY, DropPos, CaretXY); + finally + EndUndoBlock; + end; finally EndUpdate; end; @@ -7005,8 +7004,6 @@ procedure TCustomSynEdit.ExecuteCommand(Command: TSynEditorCommand; AChar: WideC procedure TCustomSynEdit.ExecuteMultiCaretCommand(Command: TSynEditorCommand; AChar: WideChar; Data: Pointer; CommandInfo: TSynCommandInfo); var - OldActiveSelIndex: Integer; - I: Integer; OldTopLine, OldLeftChar: Integer; begin DoOnPaintTransient(ttBefore); @@ -7018,26 +7015,15 @@ procedure TCustomSynEdit.ExecuteMultiCaretCommand(Command: TSynEditorCommand; BeginUndoBlock; end; - OldActiveSelIndex := Selections.ActiveSelIndex; OldLeftChar := LeftChar; OldTopLine := TopLine; - for I := 0 to FSelections.Count -1 do - begin - // Make the current selection active - Selections.ActiveSelIndex := I; - - if not FSelection.IsValid then Continue; - - ExecuteCommand(Command, AChar, Data); - Selections.ActiveSelection := FSelection; - end; - - // Restore Active Selection - Selections.ActiveSelIndex := OldActiveSelIndex; - - // Merge Selections - FSelections.Merge; + FSelections.ForEachSelection( + procedure(Sel: TSynSelection) + begin + ExecuteCommand(Command, AChar, Data); + Selections.ActiveSelection := FSelection; + end); TopLine := OldTopLine; LeftChar := OldLeftChar; diff --git a/Source/SynEditActionsResource.dfm b/Source/VCL/Vcl.SynEditActionsResource.dfm similarity index 100% rename from Source/SynEditActionsResource.dfm rename to Source/VCL/Vcl.SynEditActionsResource.dfm diff --git a/Source/SynEditActionsResource.pas b/Source/VCL/Vcl.SynEditActionsResource.pas similarity index 96% rename from Source/SynEditActionsResource.pas rename to Source/VCL/Vcl.SynEditActionsResource.pas index db22379c..021d05e1 100644 --- a/Source/SynEditActionsResource.pas +++ b/Source/VCL/Vcl.SynEditActionsResource.pas @@ -1,4 +1,4 @@ -unit SynEditActionsResource; +unit Vcl.SynEditActionsResource; interface diff --git a/Source/SynEditDataObject.pas b/Source/VCL/Vcl.SynEditDataObject.pas similarity index 63% rename from Source/SynEditDataObject.pas rename to Source/VCL/Vcl.SynEditDataObject.pas index d8d83e03..e88433c5 100644 --- a/Source/SynEditDataObject.pas +++ b/Source/VCL/Vcl.SynEditDataObject.pas @@ -1,4 +1,4 @@ -unit SynEditDataObject; +unit Vcl.SynEditDataObject; { 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 @@ -34,24 +34,12 @@ interface Winapi.ActiveX, System.SysUtils, System.Classes, - System.Generics.Collections; + System.Generics.Collections, + SynEditDragDropWin; Type - - TSynEnumFormatEtc = class (TInterfacedObject, IEnumFORMATETC) - private - FList: TArray; - FIndex: Integer; - protected - function GetFormatEtc(ClipFormat: TClipFormat): TFormatEtc; - {IEnumFORMATETC} - function Next (celt: Longint; out elt; pceltFetched: PLongint): HResult; stdcall; - function Skip (celt: Longint): HResult; stdcall; - function Reset: HResult; stdcall; - function Clone (out Enum: IEnumFormatEtc): HResult; stdcall; - public - constructor Create (FormatList: TArray; Index: Integer = 0); - end; + // Re-export shared type (API contract preserved) + TSynEnumFormatEtc = SynEditDragDropWin.TSynEnumFormatEtc; TSynEditDataObject = class (TInterfacedObject, IDataObject) private @@ -75,89 +63,45 @@ TSynEditDataObject = class (TInterfacedObject, IDataObject) destructor Destroy; override; end; -function MakeGlobal (const S: string): hGlobal; overload; -function MakeGlobal (var P; Size: Integer): hGlobal; overload; +// Re-export shared functions (API contract preserved) +function MakeGlobal(const S: string): HGLOBAL; overload; +function MakeGlobal(var P; Size: Integer): HGLOBAL; overload; function HasFormat(DataObject: IDataObject; Format: TClipFormat): Boolean; function GetInternalClipText: TArray; +// Re-export shared constant (API contract preserved) const - IntClipFormatDelimiter = #$EEFF; // from private unicode area + IntClipFormatDelimiter = SynEditDragDropWin.IntClipFormatDelimiter; -var - SynEditClipboardFormat: UINT; - HTMLClipboardFormat: UINT; +// Note: SynEditClipboardFormat and HTMLClipboardFormat vars are accessible +// directly via the SynEditDragDropWin unit (which is in the interface uses). implementation uses - Vcl.Clipbrd, SynEdit, SynEditTypes, SynExportHTML; -function MakeGlobal (const S: string): hGlobal; -var - P: PChar; - Size: Integer; +// Re-export thin wrappers that delegate to shared unit +function MakeGlobal(const S: string): HGLOBAL; begin - Size := ByteLength(S) + SizeOf(Char); - Result := GlobalAlloc (GHND, Size); - if Result = 0 then - OutOfMemoryError; - P := GlobalLock (Result); - try - Move(PChar(S)^, P^, Size) - finally - GlobalUnlock (Result) - end + Result := SynEditDragDropWin.MakeGlobal(S); end; -function MakeGlobal (var P; Size: Integer): hGlobal; -var - D: pointer; +function MakeGlobal(var P; Size: Integer): HGLOBAL; begin - Result := GlobalAlloc (GHND, Size); - if Result = 0 then - OutOfMemoryError; - D := GlobalLock (Result); - try - Move (P, D^, Size) - finally - GlobalUnlock (Result) - end + Result := SynEditDragDropWin.MakeGlobal(P, Size); end; -function HasFormat(DataObject: IDataObject; Format: TClipFormat):Boolean; -var - FormatEnumerator: IEnumFormatEtc; - FormatEtc: TFormatEtc; - Returned: Integer; +function HasFormat(DataObject: IDataObject; Format: TClipFormat): Boolean; begin - Result := False; - if (DataObject.EnumFormatEtc (DATADIR_GET, FormatEnumerator) = S_OK) then begin - FormatEnumerator.Reset; - while FormatEnumerator.Next (1, FormatEtc, @Returned) = S_OK do - if FormatEtc.cfFormat = Format then - Exit(True); - end; + Result := SynEditDragDropWin.HasFormat(DataObject, Format); end; function GetInternalClipText: TArray; -var - Data: THandle; - TempS: string; begin - Result := []; - if not Clipboard.HasFormat(SynEditClipboardFormat) then Exit; - Data := Clipboard.GetAsHandle(SynEditClipboardFormat); - - if Data <> 0 then - try - TempS := PChar(GlobalLock(Data)); - Result := TempS.Split([IntClipFormatDelimiter]); - finally - GlobalUnlock(Data); - end; + Result := SynEditDragDropWin.GetInternalClipText; end; @@ -225,11 +169,11 @@ function TSynEditDataObject.GetData (const formatetcIn: TFormatEtc; out medium: try Medium.tymed := TYMED_HGLOBAL; if FormatEtcIn.cfFormat = CF_UNICODETEXT then - Medium.hGlobal := MakeGlobal(FText) + Medium.hGlobal := SynEditDragDropWin.MakeGlobal(FText) else if FormatEtcIn.cfFormat = SynEditClipboardFormat then - Medium.hGlobal := MakeGlobal(FInternalText) + Medium.hGlobal := SynEditDragDropWin.MakeGlobal(FInternalText) else if (FormatEtcIn.cfFormat = HTMLClipboardFormat) then - Medium.hGlobal := MakeGlobal(HtmlStream.Memory^, HtmlStream.Position); + Medium.hGlobal := SynEditDragDropWin.MakeGlobal(HtmlStream.Memory^, HtmlStream.Position); except Result := E_UNEXPECTED; end @@ -294,7 +238,7 @@ function TSynEditDataObject.EnumFormatEtc (dwDirection: Longint; out enumFormatE try if dwDirection = DATADIR_GET then begin - EnumFormatEtc := TSynEnumFormatEtc.Create(FFormatEtc.ToArray); + EnumFormatEtc := SynEditDragDropWin.TSynEnumFormatEtc.Create(FFormatEtc.ToArray); Result := S_OK end else Result := E_NOTIMPL; @@ -319,82 +263,4 @@ function TSynEditDataObject.EnumDAdvise (out enumAdvise: IEnumStatData): HResult end; -//=== BASE ENUM FORMATETC CLASS ================================================ - -constructor TSynEnumFormatEtc.Create(FormatList: TArray; - Index: Integer); -begin - inherited Create; - FList := FormatList; - FIndex := Index; -end; - -function TSynEnumFormatEtc.GetFormatEtc(ClipFormat: TClipFormat): TFormatEtc; -begin - with Result do - begin - cfFormat := ClipFormat; - dwAspect := DVASPECT_CONTENT; - ptd := nil; - tymed := TYMED_HGLOBAL; - lindex := -1; - end; -end; - -function TSynEnumFormatEtc.Next (celt: Longint; out elt; pceltFetched: PLongint): HResult; -var - I: Integer; - FormatEtc: PFormatEtc; -begin - I := 0; - FormatEtc:= PFormatEtc(@Elt); - while (I < Celt) and (FIndex < Length(FList)) do - begin - FormatEtc^ := GetFormatEtc(FList[FIndex]); - Inc(FormatEtc); - Inc (FIndex); - Inc (I) - end; - - if (pCeltFetched <> nil) then pCeltFetched^:= i; - - if (I = Celt) then - Result:= S_OK - else - Result:= S_FALSE; -end; - -function TSynEnumFormatEtc.Skip (celt: Longint): HResult; -begin - Result := S_OK; - if Celt <= Length(FList) - FIndex then - FIndex := FIndex + Celt - else begin - FIndex := Length(FList); - Result := S_FALSE - end -end; - -function TSynEnumFormatEtc.Reset: HResult; -begin - FIndex := 0; - Result := S_OK; -end; - -function TSynEnumFormatEtc.Clone (out Enum: IEnumFormatEtc): HResult; -begin - Result := S_OK; - Enum := TSynEnumFormatEtc.Create (FList, FIndex); -end; - - -const - CF_HTML = 'HTML Format'; -initialization - OleInitialize(nil); - SynEditClipboardFormat := RegisterClipboardFormat ('Internal SynEdit clipboard format'); - HTMLClipboardFormat := RegisterClipboardFormat(CF_HTML); -finalization - OleFlushClipboard; - OleUninitialize; end. diff --git a/Source/SynEditDragDrop.pas b/Source/VCL/Vcl.SynEditDragDrop.pas similarity index 76% rename from Source/SynEditDragDrop.pas rename to Source/VCL/Vcl.SynEditDragDrop.pas index 384ffa62..b386f220 100644 --- a/Source/SynEditDragDrop.pas +++ b/Source/VCL/Vcl.SynEditDragDrop.pas @@ -1,4 +1,4 @@ -unit SynEditDragDrop; +unit Vcl.SynEditDragDrop; { 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 @@ -29,18 +29,21 @@ interface Uses - Windows, ActiveX, SysUtils, Classes, Messages, Controls, Forms, ExtCtrls; + Windows, ActiveX, SysUtils, Classes, Messages, Controls, Forms, ExtCtrls, + SynEditDragDropWin; - -// Drop effects as Delphi style constants (originals in ActiveX) +// Re-export shared drop effect constants (API contract preserved) const - deNone = DROPEFFECT_NONE; - deMove = DROPEFFECT_MOVE; - deCopy = DROPEFFECT_COPY; - deLink = DROPEFFECT_LINK; - deScroll = DROPEFFECT_SCROLL; + deNone = SynEditDragDropWin.deNone; + deMove = SynEditDragDropWin.deMove; + deCopy = SynEditDragDropWin.deCopy; + deLink = SynEditDragDropWin.deLink; + deScroll = SynEditDragDropWin.deScroll; type + // Re-export shared type (API contract preserved) + TSynDragSource = SynEditDragDropWin.TSynDragSource; + TOnDragEvent = procedure(Sender: TObject; DataObject: IDataObject; State: TShiftState; MousePt: TPoint; var Effect: LongInt; var Result: HResult) of object; TOnDragOverEvent = procedure(Sender: TObject; State: TShiftState; MousePt: TPoint; var Effect: LongInt; var Result: HResult) of object; TOnDragLeaveEvent = procedure(Sender: TObject; var Result: HResult) of Object; @@ -69,31 +72,8 @@ TSynDropTarget = class(TInterfacedObject, IDropTarget) property OnDrop: TOnDragEvent read FOnDrop write FOnDrop; end; - // Implementation of the IDropSource interface - TSynDragSource = class(TInterfacedObject, IDropSource) - private - // Called routinely by Windows to check that drag operations are to continue. See the - // implementation below of QueryContinueDrag method for the default operation. - function QueryContinueDrag(fEscapePressed: BOOL; grfKeyState: Longint): HResult; overload; stdcall; - // Called routinely to modify the displayed cursor. - function GiveFeedback(dwEffect: Longint): HResult; stdcall; - end; - implementation -//--- returns the normal response for a wanted effect: -// no keys = "move" -// control only = "copy" -// control/shift = "link" - ignored in this case -function StandardEffect(Keys: TShiftState): Integer; -begin - Result := deMove; - if ssCtrl in Keys then - begin - Result := deCopy; - end -end; - { TDropTarget } function TSynDropTarget.DragEnter(const DataObj: IDataObject; @@ -169,22 +149,5 @@ procedure TSynDropTarget.Drop(DataObject: IDataObject; State: TShiftState; FOnDrop(Self, DataObject, State, Pt, Effect, Result) end; -//=== DRAG SOURCE CLASS =================================================== - -function TSynDragSource.QueryContinueDrag(fEscapePressed: BOOL; grfKeyState: Longint): HResult; -begin - if fEscapePressed then // cancel the drop - Result := DRAGDROP_S_CANCEL - else if(grfKeyState and MK_LBUTTON) = 0 then - Result := DRAGDROP_S_DROP // drop has occurred - else - Result := S_OK; -end; - -function TSynDragSource.GiveFeedback(dwEffect: Longint): HResult; -begin - Result := DRAGDROP_S_USEDEFAULTCURSORS; -end; - end. diff --git a/Source/SynEditExport.pas b/Source/VCL/Vcl.SynEditExport.pas similarity index 99% rename from Source/SynEditExport.pas rename to Source/VCL/Vcl.SynEditExport.pas index bec1a4a1..397e91ab 100644 --- a/Source/SynEditExport.pas +++ b/Source/VCL/Vcl.SynEditExport.pas @@ -15,7 +15,7 @@ Author of this file is Michael Hieke. Portions created by Michael Hieke are Copyright 2000 Michael Hieke. Portions created by James D. Jacobson are Copyright 1999 Martin Waldenburg. -Unicode translation by Mal Hrz. +Unicode translation by Ma�l H�rz. All Rights Reserved. Contributors to the SynEdit project are listed in the Contributors.txt file. @@ -34,7 +34,7 @@ { Base class for exporting a programming language source file or part of it to a formatted output like HTML or RTF and copying this to the Windows clipboard or saving it to a file. } -unit SynEditExport; +unit Vcl.SynEditExport; {$I SynEdit.inc} @@ -46,7 +46,7 @@ interface Clipbrd, SynEditHighlighter, SynEditTypes, - SynUnicode, + SynUnicodeShared, Classes, SysUtils; @@ -202,6 +202,7 @@ implementation uses Math, SynEditMiscProcs, + SynEditMiscClasses, SynEditStrConst; { TSynCustomExporter } diff --git a/Source/SynEditKbdHandler.pas b/Source/VCL/Vcl.SynEditKbdHandler.pas similarity index 99% rename from Source/SynEditKbdHandler.pas rename to Source/VCL/Vcl.SynEditKbdHandler.pas index 60e0135c..e05fac10 100644 --- a/Source/SynEditKbdHandler.pas +++ b/Source/VCL/Vcl.SynEditKbdHandler.pas @@ -29,7 +29,7 @@ of this file under either the MPL or the GPL. -------------------------------------------------------------------------------} -unit SynEditKbdHandler; +unit Vcl.SynEditKbdHandler; {$I SynEdit.inc} diff --git a/Source/SynEditKeyCmdEditor.dfm b/Source/VCL/Vcl.SynEditKeyCmdEditor.dfm similarity index 100% rename from Source/SynEditKeyCmdEditor.dfm rename to Source/VCL/Vcl.SynEditKeyCmdEditor.dfm diff --git a/Source/SynEditKeyCmdEditor.pas b/Source/VCL/Vcl.SynEditKeyCmdEditor.pas similarity index 99% rename from Source/SynEditKeyCmdEditor.pas rename to Source/VCL/Vcl.SynEditKeyCmdEditor.pas index b9f10962..f5f615fc 100644 --- a/Source/SynEditKeyCmdEditor.pas +++ b/Source/VCL/Vcl.SynEditKeyCmdEditor.pas @@ -30,7 +30,7 @@ Known Issues: -------------------------------------------------------------------------------} -unit SynEditKeyCmdEditor; +unit Vcl.SynEditKeyCmdEditor; {$I SynEdit.inc} diff --git a/Source/SynEditKeyCmdsEditor.dfm b/Source/VCL/Vcl.SynEditKeyCmdsEditor.dfm similarity index 100% rename from Source/SynEditKeyCmdsEditor.dfm rename to Source/VCL/Vcl.SynEditKeyCmdsEditor.dfm diff --git a/Source/SynEditKeyCmdsEditor.pas b/Source/VCL/Vcl.SynEditKeyCmdsEditor.pas similarity index 99% rename from Source/SynEditKeyCmdsEditor.pas rename to Source/VCL/Vcl.SynEditKeyCmdsEditor.pas index b83cd1c9..ce42fe6b 100644 --- a/Source/SynEditKeyCmdsEditor.pas +++ b/Source/VCL/Vcl.SynEditKeyCmdsEditor.pas @@ -28,7 +28,7 @@ of this file under either the MPL or the GPL. -------------------------------------------------------------------------------} -unit SynEditKeyCmdsEditor; +unit Vcl.SynEditKeyCmdsEditor; {$I SynEdit.inc} diff --git a/Source/VCL/Vcl.SynEditKeyConst.pas b/Source/VCL/Vcl.SynEditKeyConst.pas new file mode 100644 index 00000000..977dfd6b --- /dev/null +++ b/Source/VCL/Vcl.SynEditKeyConst.pas @@ -0,0 +1,114 @@ +{------------------------------------------------------------------------------- +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 Original Code is: SynEditKeyCmds.pas, released 2000-04-07. +The Original Code is based on the mwKeyCmds.pas file from the +mwEdit component suite by Martin Waldenburg and other developers, the Initial +Author of this file is Brad Stowers. +All Rights Reserved. + +Contributors to the SynEdit and mwEdit projects are listed in the +Contributors.txt file. + +Alternatively, the contents of this file may be used under the terms of the +GNU General Public License Version 2 or later (the "GPL"), in which case +the provisions of the GPL are applicable instead of those above. +If you wish to allow use of your version of this file only under the terms +of the GPL and not to allow others to use your version of this file +under the MPL, indicate your decision by deleting the provisions above and +replace them with the notice and other provisions required by the GPL. +If you do not delete the provisions above, a recipient may use your version +of this file under either the MPL or the GPL. +-------------------------------------------------------------------------------} + +unit Vcl.SynEditKeyConst; + +{ VCL key-constant facade. Re-exports every constant from + SynEditKeyConstShared so that VCL code using 'Vcl.SynEditKeyConst' + continues to compile unchanged. The actual definitions live in the + shared unit; this wrapper exists only to keep the Vcl.* namespace + populated for discoverability and IDE code-completion. } + +{$I SynEdit.inc} + +interface + +uses + SynEditKeyConstShared; + +const + SYNEDIT_RETURN = SynEditKeyConstShared.SYNEDIT_RETURN; + SYNEDIT_ESCAPE = SynEditKeyConstShared.SYNEDIT_ESCAPE; + SYNEDIT_SPACE = SynEditKeyConstShared.SYNEDIT_SPACE; + SYNEDIT_PRIOR = SynEditKeyConstShared.SYNEDIT_PRIOR; + SYNEDIT_NEXT = SynEditKeyConstShared.SYNEDIT_NEXT; + SYNEDIT_END = SynEditKeyConstShared.SYNEDIT_END; + SYNEDIT_HOME = SynEditKeyConstShared.SYNEDIT_HOME; + SYNEDIT_UP = SynEditKeyConstShared.SYNEDIT_UP; + SYNEDIT_DOWN = SynEditKeyConstShared.SYNEDIT_DOWN; + SYNEDIT_BACK = SynEditKeyConstShared.SYNEDIT_BACK; + SYNEDIT_LEFT = SynEditKeyConstShared.SYNEDIT_LEFT; + SYNEDIT_RIGHT = SynEditKeyConstShared.SYNEDIT_RIGHT; + SYNEDIT_MENU = SynEditKeyConstShared.SYNEDIT_MENU; + SYNEDIT_CONTROL = SynEditKeyConstShared.SYNEDIT_CONTROL; + SYNEDIT_SHIFT = SynEditKeyConstShared.SYNEDIT_SHIFT; + SYNEDIT_F1 = SynEditKeyConstShared.SYNEDIT_F1; + SYNEDIT_F2 = SynEditKeyConstShared.SYNEDIT_F2; + SYNEDIT_F3 = SynEditKeyConstShared.SYNEDIT_F3; + SYNEDIT_F4 = SynEditKeyConstShared.SYNEDIT_F4; + SYNEDIT_F5 = SynEditKeyConstShared.SYNEDIT_F5; + SYNEDIT_F6 = SynEditKeyConstShared.SYNEDIT_F6; + SYNEDIT_F7 = SynEditKeyConstShared.SYNEDIT_F7; + SYNEDIT_F8 = SynEditKeyConstShared.SYNEDIT_F8; + SYNEDIT_F9 = SynEditKeyConstShared.SYNEDIT_F9; + SYNEDIT_F10 = SynEditKeyConstShared.SYNEDIT_F10; + SYNEDIT_F11 = SynEditKeyConstShared.SYNEDIT_F11; + SYNEDIT_F12 = SynEditKeyConstShared.SYNEDIT_F12; + SYNEDIT_F13 = SynEditKeyConstShared.SYNEDIT_F13; + SYNEDIT_F14 = SynEditKeyConstShared.SYNEDIT_F14; + SYNEDIT_F15 = SynEditKeyConstShared.SYNEDIT_F15; + SYNEDIT_F16 = SynEditKeyConstShared.SYNEDIT_F16; + SYNEDIT_F17 = SynEditKeyConstShared.SYNEDIT_F17; + SYNEDIT_F18 = SynEditKeyConstShared.SYNEDIT_F18; + SYNEDIT_F19 = SynEditKeyConstShared.SYNEDIT_F19; + SYNEDIT_F20 = SynEditKeyConstShared.SYNEDIT_F20; + SYNEDIT_F21 = SynEditKeyConstShared.SYNEDIT_F21; + SYNEDIT_F22 = SynEditKeyConstShared.SYNEDIT_F22; + SYNEDIT_F23 = SynEditKeyConstShared.SYNEDIT_F23; + SYNEDIT_F24 = SynEditKeyConstShared.SYNEDIT_F24; + SYNEDIT_PRINT = SynEditKeyConstShared.SYNEDIT_PRINT; + SYNEDIT_INSERT = SynEditKeyConstShared.SYNEDIT_INSERT; + SYNEDIT_DELETE = SynEditKeyConstShared.SYNEDIT_DELETE; + SYNEDIT_NUMPAD0 = SynEditKeyConstShared.SYNEDIT_NUMPAD0; + SYNEDIT_NUMPAD1 = SynEditKeyConstShared.SYNEDIT_NUMPAD1; + SYNEDIT_NUMPAD2 = SynEditKeyConstShared.SYNEDIT_NUMPAD2; + SYNEDIT_NUMPAD3 = SynEditKeyConstShared.SYNEDIT_NUMPAD3; + SYNEDIT_NUMPAD4 = SynEditKeyConstShared.SYNEDIT_NUMPAD4; + SYNEDIT_NUMPAD5 = SynEditKeyConstShared.SYNEDIT_NUMPAD5; + SYNEDIT_NUMPAD6 = SynEditKeyConstShared.SYNEDIT_NUMPAD6; + SYNEDIT_NUMPAD7 = SynEditKeyConstShared.SYNEDIT_NUMPAD7; + SYNEDIT_NUMPAD8 = SynEditKeyConstShared.SYNEDIT_NUMPAD8; + SYNEDIT_NUMPAD9 = SynEditKeyConstShared.SYNEDIT_NUMPAD9; + SYNEDIT_MULTIPLY = SynEditKeyConstShared.SYNEDIT_MULTIPLY; + SYNEDIT_ADD = SynEditKeyConstShared.SYNEDIT_ADD; + SYNEDIT_SEPARATOR = SynEditKeyConstShared.SYNEDIT_SEPARATOR; + SYNEDIT_SUBTRACT = SynEditKeyConstShared.SYNEDIT_SUBTRACT; + SYNEDIT_DECIMAL = SynEditKeyConstShared.SYNEDIT_DECIMAL; + SYNEDIT_DIVIDE = SynEditKeyConstShared.SYNEDIT_DIVIDE; + SYNEDIT_NUMLOCK = SynEditKeyConstShared.SYNEDIT_NUMLOCK; + SYNEDIT_SCROLL = SynEditKeyConstShared.SYNEDIT_SCROLL; + SYNEDIT_TAB = SynEditKeyConstShared.SYNEDIT_TAB; + SYNEDIT_CLEAR = SynEditKeyConstShared.SYNEDIT_CLEAR; + SYNEDIT_PAUSE = SynEditKeyConstShared.SYNEDIT_PAUSE; + SYNEDIT_CAPITAL = SynEditKeyConstShared.SYNEDIT_CAPITAL; + +implementation + +end. diff --git a/Source/SynEditMiscClasses.pas b/Source/VCL/Vcl.SynEditMiscClasses.pas similarity index 80% rename from Source/SynEditMiscClasses.pas rename to Source/VCL/Vcl.SynEditMiscClasses.pas index 633c30f0..13a05900 100644 --- a/Source/SynEditMiscClasses.pas +++ b/Source/VCL/Vcl.SynEditMiscClasses.pas @@ -12,7 +12,7 @@ The Original Code is based on the mwSupportClasses.pas file from the mwEdit component suite by Martin Waldenburg and other developers, the Initial Author of this file is Michael Hieke. - Unicode translation by Mal Hrz. + Unicode translation by Ma�l H�rz. All Rights Reserved. Contributors to the SynEdit and mwEdit projects are listed in the @@ -29,7 +29,7 @@ of this file under either the MPL or the GPL. ------------------------------------------------------------------------------- } -unit SynEditMiscClasses; +unit Vcl.SynEditMiscClasses; {$I SynEdit.inc} @@ -57,34 +57,14 @@ interface Vcl.StdActns, SynDWrite, SynEditTypes, + SynEditSelections, SynEditKeyCmds, - SynEditKeyConst, - SynUnicode; + SynEditKeyConstShared, + SynUnicodeShared; type {$REGION 'Selected Color'} - TSynSelectedColor = class(TPersistent) - private - FBG: TColor; - FFG: TColor; - FOnChange: TNotifyEvent; - FOpacity: Byte; - FFillWholeLines: Boolean; - procedure SetBG(Value: TColor); - procedure SetFG(Value: TColor); - procedure SetOpacity(Value: Byte); - procedure SetFillWholeLines(const Value: Boolean); - public - constructor Create; - procedure Assign(Source: TPersistent); override; - property OnChange: TNotifyEvent read FOnChange write FOnChange; - published - property Background: TColor read FBG write SetBG default clHighLight; - property Foreground: TColor read FFG write SetFG default clHighLightText; - property Opacity: Byte read FOpacity write SetOpacity default 115; - property FillWholeLines: Boolean read FFillWholeLines write SetFillWholeLines - default True; - end; + TSynSelectedColor = SynEditTypes.TSynSelectedColor; {$ENDREGION 'Selected Color'} {$REGION 'Indentation Guides'} @@ -469,48 +449,6 @@ TSynGlyph = class(TPersistent) {$ENDREGION 'TSynGlyph'} - {$REGION 'Multicast events'} - - { TSynMethodChain } - - ESynMethodChain = class(Exception); - TSynExceptionEvent = procedure(Sender: TObject; E: Exception; - var DoContinue: Boolean) of object; - - TSynMethodChain = class(TObject) - private - FNotifyProcs: TList; - FExceptionHandler: TSynExceptionEvent; - protected - procedure DoFire(const AEvent: TMethod); virtual; abstract; - function DoHandleException(E: Exception): Boolean; virtual; - property ExceptionHandler: TSynExceptionEvent read FExceptionHandler - write FExceptionHandler; - public - constructor Create; virtual; - destructor Destroy; override; - procedure Add(AEvent: TMethod); - procedure Remove(AEvent: TMethod); - procedure Fire; - end; - - { TSynNotifyEventChain } - - TSynNotifyEventChain = class(TSynMethodChain) - private - FSender: TObject; - protected - procedure DoFire(const AEvent: TMethod); override; - public - constructor CreateEx(ASender: TObject); - procedure Add(AEvent: TNotifyEvent); - procedure Remove(AEvent: TNotifyEvent); - property ExceptionHandler; - property Sender: TObject read FSender write FSender; - end; - - {$ENDREGION 'Multicast events'} - {$REGION 'TSynInternalImage'} { TSynInternalImage } @@ -588,39 +526,6 @@ TSynHotKey = class(TCustomControl) end; {$ENDREGION 'TSynHotKey'} - {$REGION 'TSynEditSearchCustom'} - - TSynIsWordBreakFunction = function(C: WideChar): Boolean of object; - - TSynEditSearchCustom = class(TComponent) - protected - FIsWordBreakFunction: TSynIsWordBreakFunction; - function GetPattern: string; virtual; abstract; - procedure SetPattern(const Value: string); virtual; abstract; - function GetLength(Index: Integer): Integer; virtual; abstract; - function GetResult(Index: Integer): Integer; virtual; abstract; - function GetResultCount: Integer; virtual; abstract; - procedure SetOptions(const Value: TSynSearchOptions); virtual; abstract; - public - // This is the main public routine of search engines. - // Given a NewText (typically a line) it calculates all matches from - // StartChar to EndChar. The matches are stored left-to right. - // EndChar = 0 is equivalent to EndChar = Length(NewText) + 1 - function FindAll(const NewText: string; StartChar: Integer = 1; - EndChar: Integer = 0): Integer; virtual; abstract; - function PreprocessReplaceExpression(const AReplace: string): string; virtual; - function Replace(const aOccurrence, aReplacement: string): string; - virtual; abstract; - property Pattern: string read GetPattern write SetPattern; - property ResultCount: Integer read GetResultCount; - property Results[Index: Integer]: Integer read GetResult; - property Lengths[Index: Integer]: Integer read GetLength; - property Options: TSynSearchOptions write SetOptions; - property IsWordBreakFunction: TSynIsWordBreakFunction write FIsWordBreakFunction; - end; - - {$ENDREGION 'TSynEditSearchCustom'} - {$REGION 'Indicators'} TSynIndicatorStyle = (sisTextDecoration, sisSquiggleMicrosoftWord, @@ -733,67 +638,24 @@ TSynCarets = class {$REGION 'TSynSelections'} - TSynSelStorage = record - Selections: TArray; - BaseIndex, ActiveIndex :Integer; - procedure Clear; - end; - - // Keeps the selections and is responsible for showing the carets - TSynSelections = class - private - FOwner: TPersistent; - FSelections: TList; - FBaseSelIndex: Integer; - FActiveSelIndex: Integer; - function GetCount: Integer; - function GetActiveSelection: TSynSelection; - function GetBaseSelection: TSynSelection; - procedure SetActiveSelection(const Value: TSynSelection); - procedure SetBaseSelection(const Value: TSynSelection); - function GetSelection(Index: Integer): TSynSelection; - procedure SetActiveSelIndex(const Index: Integer); - procedure CaretsChanged; - function GetIsEmpty: Boolean; + // TSynSelStorage and TSynSelectionsBase are now in shared SynEditSelections.pas + // TSynSelections inherits all logic from TSynSelectionsBase and provides + // thin VCL-specific overrides. + TSynSelections = class(TSynSelectionsBase) + protected + procedure CaretsChanged; override; + procedure DoInvalidateSelection(const Sel: TSynSelection); override; + procedure DoRestoreSelection(const Sel: TSynSelection; + EnsureVisible: Boolean); override; + function GetLineText(ALine: Integer): string; override; + function GetWordWrap: Boolean; override; + function GetScrollPastEOL: Boolean; override; + function GetRowLength(ARow: Integer): Integer; override; + function BufferToDisplayPos(const P: TBufferCoord): TDisplayCoord; override; + function DisplayToBufferPos(const P: TDisplayCoord): TBufferCoord; override; + function SelectionToDisplayRow(var Sel: TSynSelection): Integer; override; public - type - TKeepSelection = (ksKeepBase, ksKeepActive); constructor Create(Owner: TPersistent); - destructor Destroy; override; - procedure Clear(KeepSelection: TKeepSelection = ksKeepActive); - function AddCaret(const ACaret: TBufferCoord; IsBase: Boolean = False): Boolean; - procedure DeleteSelection(Index: Integer); - function FindCaret(const ACaret: TBufferCoord): Integer; - function FindSelection(const BC: TBufferCoord; var Index: Integer): Boolean; - procedure MouseSelection(const Sel: TSynSelection); - procedure ColumnSelection(Anchor, ACaret: TBufferCoord; LastPosX: Integer = 0); - procedure Merge; - function PartSelectionsForRow(const RowStart, RowEnd: TBufferCoord): TSynSelectionArray; - function RowHasCaret(ARow, ALine: Integer): Boolean; - // Invalidate - procedure InvalidateSelection(Index: Integer); - procedure InvalidateAll; - //Storing and Restoring - procedure Store(out SelStorage: TSynSelStorage); - procedure Restore(const [Ref] SelStorage: TSynSelStorage); overload; - procedure Restore(const [Ref] Sel: TSynSelection; EnsureVisible: Boolean = True); overload; - // Adjust selections in response to editing events - // Should only used by Synedit - procedure LinesInserted(FirstLine, aCount: Integer); - procedure LinesDeleted(FirstLine, aCount: Integer); - procedure LinePut(aIndex: Integer; const OldLine: string); - // properties - property BaseSelectionIndex: Integer read FBaseSelIndex; - // The last selection entered - // Non-multicursor commands operate on the active selection - property ActiveSelection: TSynSelection read GetActiveSelection write SetActiveSelection; - // The selection that is kept when you clear multiple cursors - // It the first one as in VS Code - property BaseSelection: TSynSelection read GetBaseSelection write SetBaseSelection; - property Count: Integer read GetCount; - property ActiveSelIndex: Integer read FActiveSelIndex write SetActiveSelIndex; - property IsEmpty: Boolean read GetIsEmpty; - property Selection[Index: Integer]: TSynSelection read GetSelection; default; end; {$ENDREGION 'TSynSelections'} @@ -939,6 +801,14 @@ TSynEditorOptionsContainer = class(TComponent) {$ENDREGION 'TSynEditorOptionsContainer'} +{$REGION 'VCL Utility Functions'} +// VCL-specific utility functions (moved from SynEditMiscProcs) +function DefaultFontName: string; +function GetCorrectFontWeight(Font: TFont): Integer; +function IsColorDark(AColor: TColor): Boolean; +function ColorToHTML(Color: TColor): string; +{$ENDREGION 'VCL Utility Functions'} + implementation uses @@ -951,73 +821,7 @@ implementation SynEdit, SynEditTextBuffer; -{$REGION 'TSynSelectedColor'} - -constructor TSynSelectedColor.Create; -begin - inherited Create; - FBG := clHighLight; - FFG := clHighLightText; - FFillWholeLines := True; - Opacity := 115; -end; - -procedure TSynSelectedColor.Assign(Source: TPersistent); -begin - if Source is TSynSelectedColor then - begin - var Src := TSynSelectedColor(Source); - FBG := Src.FBG; - FFG := Src.FFG; - FOpacity := Src.Opacity; - FFillWholeLines := Src.FillWholeLines; - if Assigned(FOnChange) then - FOnChange(Self); - end - else - inherited Assign(Source); -end; - -procedure TSynSelectedColor.SetOpacity(Value: Byte); -begin - if (FOpacity <> Value) then - begin - FOpacity := Value; - if Assigned(FOnChange) then - FOnChange(Self); - end; -end; - -procedure TSynSelectedColor.SetBG(Value: TColor); -begin - if (FBG <> Value) then - begin - FBG := Value; - if Assigned(FOnChange) then - FOnChange(Self); - end; -end; - -procedure TSynSelectedColor.SetFG(Value: TColor); -begin - if (FFG <> Value) then - begin - FFG := Value; - if Assigned(FOnChange) then - FOnChange(Self); - end; -end; - -procedure TSynSelectedColor.SetFillWholeLines(const Value: Boolean); -begin - if (FFillWholeLines <> Value) then - begin - FFillWholeLines := Value; - if Assigned(FOnChange) then - FOnChange(Self); - end; -end; - +{$REGION 'TSynSelectedColor - now in SynEditTypes.pas'} {$ENDREGION} @@ -1642,126 +1446,6 @@ procedure TSynGlyph.SetVisible(Value: Boolean); {$ENDREGION} -{$REGION 'TSynMethodChain'} - -procedure TSynMethodChain.Add(AEvent: TMethod); -begin - if not Assigned(@AEvent) then - raise ESynMethodChain.CreateFmt - ('%s.Entry: the parameter `AEvent'' must be specified.', [ClassName]); - - with FNotifyProcs, AEvent do - begin - Add(Code); - Add(Data); - end -end; - -constructor TSynMethodChain.Create; -begin - inherited; - FNotifyProcs := TList.Create; -end; - -destructor TSynMethodChain.Destroy; -begin - FNotifyProcs.Free; - inherited; -end; - -function TSynMethodChain.DoHandleException(E: Exception): Boolean; -begin - if not Assigned(FExceptionHandler) then - raise E - else - try - Result := True; - FExceptionHandler(Self, E, Result); - except - raise ESynMethodChain.CreateFmt - ('%s.DoHandleException: MUST NOT occur any kind of exception in ' + - 'ExceptionHandler', [ClassName]); - end; -end; - -procedure TSynMethodChain.Fire; -var - AMethod: TMethod; - I: Integer; -begin - I := 0; - with FNotifyProcs, AMethod do - while I < Count do - try - repeat - Code := Items[I]; - Inc(I); - Data := Items[I]; - Inc(I); - - DoFire(AMethod) - until I >= Count; - except - on E: Exception do - if not DoHandleException(E) then - I := MaxInt; - end; -end; - -procedure TSynMethodChain.Remove(AEvent: TMethod); -var - I: Integer; -begin - if not Assigned(@AEvent) then - raise ESynMethodChain.CreateFmt - ('%s.Remove: the parameter `AEvent'' must be specified.', [ClassName]); - - with FNotifyProcs, AEvent do - begin - I := Count - 1; - while I > 0 do - if Items[I] <> Data then - Dec(I, 2) - else - begin - Dec(I); - if Items[I] = Code then - begin - Delete(I); - Delete(I); - end; - Dec(I); - end; - end; -end; - -{$ENDREGION} - - -{$REGION 'TSynNotifyEventChain'} - -procedure TSynNotifyEventChain.Add(AEvent: TNotifyEvent); -begin - inherited Add(TMethod(AEvent)); -end; - -constructor TSynNotifyEventChain.CreateEx(ASender: TObject); -begin - inherited Create; - FSender := ASender; -end; - -procedure TSynNotifyEventChain.DoFire(const AEvent: TMethod); -begin - TNotifyEvent(AEvent)(FSender); -end; - -procedure TSynNotifyEventChain.Remove(AEvent: TNotifyEvent); -begin - inherited Remove(TMethod(AEvent)); -end; - -{$ENDREGION} {$REGION 'TSynInternalImage'} @@ -2044,14 +1728,6 @@ procedure TSynHotKey.WMSetFocus(var Msg: TWMSetFocus); ShowCaret(Handle); end; -{ TSynEditSearchCustom } - -// possibility to preprocess search expression before is send to SynEdit.SearchReplace() -function TSynEditSearchCustom.PreprocessReplaceExpression(const AReplace - : string): string; -begin - Result := AReplace; -end; {$ENDREGION} @@ -2086,12 +1762,23 @@ procedure TSynGutterBand.DoClick(Sender: TObject; Button: TMouseButton; X, Y, Row, Line: Integer); var SynEdit: TCustomSynEdit; - Index: Integer; + Index, I, BmkX, BmkY: Integer; rcFold: TRect; begin - if Visible and (FKind = gbkFold) then + SynEdit := TCustomSynEdit(Editor); + + if Visible and (FKind = gbkMarks) then + begin + // Click on marks band clears bookmark on that line + for I := 0 to 9 do + if SynEdit.GetBookmark(I, BmkX, BmkY) and (BmkY = Line) then + begin + SynEdit.ClearBookmark(I); + Break; + end; + end + else if Visible and (FKind = gbkFold) then begin - SynEdit := TCustomSynEdit(Editor); if SynEdit.AllFoldRanges.FoldStartAtLine(Line, Index) then begin rcFold := FoldShapeRect(Row, Line); @@ -3419,37 +3106,9 @@ procedure TSynBracketsHighlight.SetIndicatorSpecs(const MatchingBracketsSpec, {$REGION 'TSynSelections'} -function TSynSelections.AddCaret(const ACaret: TBufferCoord; IsBase: Boolean): Boolean; -// If a selection has the same caret or contains the caret then remove it. -// Otherwise add a new selection -// Returns True if a new selection was added -var - Sel: TSynSelection; - Index: Integer; +constructor TSynSelections.Create(Owner: TPersistent); begin - Result := False; - if FindSelection(ACaret, Index) then - begin - DeleteSelection(Index); - Restore(FSelections[FActiveSelIndex], False); - end - else if (Index > 0) and (FSelections[Index - 1].Caret = ACaret) then - begin - DeleteSelection(Index - 1); - Restore(FSelections[FActiveSelIndex], False); - end - else - begin - // ACaret is not included in any selection - Sel := TSynSelection.Create(ACaret, ACaret, ACaret); - FSelections.Insert(Index, Sel); - FActiveSelIndex := Index; - if IsBase then - FBaseSelIndex := Index - else if FBaseSelIndex >= Index then - Inc(FBaseSelIndex); - Result := True; - end; + inherited Create(Owner); end; procedure TSynSelections.CaretsChanged; @@ -3458,457 +3117,12 @@ procedure TSynSelections.CaretsChanged; TCustomSynEdit(FOwner).StateFlags + [sfCaretChanged, sfScrollbarChanged]; end; -procedure TSynSelections.Clear(KeepSelection: TKeepSelection); -var - Index: Integer; -begin - if FSelections.Count = 1 then Exit; - - if (KeepSelection = ksKeepBase) and (FActiveSelIndex <> FBaseSelIndex) then - Restore(BaseSelection); - - for Index := FSelections.Count - 1 downto 0 do - if not (((KeepSelection = ksKeepBase) and (Index = FBaseSelIndex)) or - ((KeepSelection = ksKeepActive) and (Index = FActiveSelIndex))) - then - DeleteSelection(Index); - - Assert (FSelections.Count = 1); - FBaseSelIndex := 0; - FActiveSelIndex := 0; - CaretsChanged; -end; - -procedure TSynSelections.ColumnSelection(Anchor, ACaret: TBufferCoord; - LastPosX: Integer); - - procedure SetLineSelection(Index, Line, FromChar, ToChar: Integer; ScrollPastEOL: Boolean); - var - LineString: string; - Len: Integer; - begin - LineString := TCustomSynEdit(FOwner).Lines[Line - 1]; - Len := LineString.Length; - if not ScrollPastEOL then - ToChar := EnsureRange(ToChar, 1, Len + 1); - FromChar := EnsureRange(FromChar, 1, Len + 1); - FSelections.List[Index].Caret := BufferCoord(ToChar, Line); - FSelections.List[Index].Start := BufferCoord(FromChar, Line); - FSelections.List[Index].Stop := BufferCoord(Min(ToChar, Len + 1), Line); - FSelections.List[Index].LastPosX := LastPosX; - InvalidateSelection(Index); - end; - - procedure SetRowSelection(Index, Row, FromChar, ToChar: Integer; ScrollPastEOL: Boolean); - var - Len: Integer; - begin - Len := TCustomSynEdit(FOwner).RowLength[Row]; - if not ScrollPastEOL then - ToChar := EnsureRange(ToChar, 1, Len + 1); - FromChar := EnsureRange(FromChar, 1, Len + 1); - FSelections.List[Index].Caret := - TCustomSynEdit(FOwner).DisplayToBufferPos(DisplayCoord(ToChar, Row)); - FSelections.List[Index].Start := - TCustomSynEdit(FOwner).DisplayToBufferPos(DisplayCoord(FromChar, Row)); - FSelections.List[Index].Stop := - TCustomSynEdit(FOwner).DisplayToBufferPos(DisplayCoord(Min(ToChar, Len + 1), Row)); - FSelections.List[Index].LastPosX := LastPosX; - InvalidateSelection(Index); - end; - -var - DC: TDisplayCoord; - FromChar, ToChar: Integer; - FromRow, ToRow: Integer; - Line, Row: Integer; - Index: Integer; - Increment: Integer; - ScrollPastEOL: Boolean; -begin - Clear; - InvalidateSelection(0); - - - ScrollPastEOL := eoScrollPastEol in TCustomSynEdit(FOwner).ScrollOptions; - - if TCustomSynEdit(FOwner).WordWrap then - begin - DC := TCustomSynEdit(FOwner).BufferToDisplayPos(Anchor); - FromChar := DC.Column; - FromRow := DC.Row; - DC := TCustomSynEdit(FOwner).BufferToDisplayPos(ACaret); - ToChar := DC.Column; - ToRow := DC.Row; - - SetRowSelection(0, FromRow, FromChar, ToChar, ScrollPastEOL); - - Increment := Sign(ToRow - FromRow); - - Row := FromRow; - while Row <> ToRow do - begin - Row := Row + Increment; - if Increment > 0 then - Index := FSelections.Add(TSynSelection.Invalid) - else - begin - FSelections.Insert(0, TSynSelection.Invalid); - Index := 0; - end; - SetRowSelection(Index, Row, FromChar, ToChar, ScrollPastEOL); - end; - end - else - begin - FromChar := Anchor.Char; - ToChar := ACaret.Char; - SetLineSelection(0, Anchor.Line, FromChar, ToChar, ScrollPastEOL); - - Increment := Sign(ACaret.Line - Anchor.Line); - - Line := Anchor.Line; - while Line <> ACaret.Line do - begin - Line := Line + Increment; - if Increment > 0 then - Index := FSelections.Add(TSynSelection.Invalid) - else - begin - FSelections.Insert(0, TSynSelection.Invalid); - Index := 0; - end; - SetLineSelection(Index, Line, FromChar, ToChar, ScrollPastEOL); - end; - end; - - if Increment >= 0 then - begin - FBaseSelIndex := 0; - FActiveSelIndex := FSelections.Count - 1 - end - else - begin - FBaseSelIndex := FSelections.Count -1; - FActiveSelIndex := 0; - end; - - Restore(ActiveSelection, False); - CaretsChanged; -end; - -constructor TSynSelections.Create(Owner: TPersistent); +procedure TSynSelections.DoInvalidateSelection(const Sel: TSynSelection); begin - inherited Create; - FOwner := Owner; - FSelections := TList.Create(TComparer.Construct( - function(const L, R: TSynSelection): Integer - begin - if L.Normalized.Start < R.Normalized.Start then - Result := -1 - else if L.Normalized.Start = R.Normalized.Start then - Result := 0 - else - Result := 1; - end)); -end; - -procedure TSynSelections.DeleteSelection(Index: Integer); -var - Sel: TSynSelection; -begin - // Leave at least one selection - if FSelections.Count <= 1 then Exit; - - Sel := FSelections[Index]; TCustomSynEdit(FOwner).InvalidateSelection(Sel); - FSelections.Delete(Index); - - if Index = FActiveSelIndex then - begin - if Index >= FSelections.Count then - FActiveSelIndex := FSelections.Count - 1; - end - else if FActiveSelIndex > Index then - Dec(FActiveSelIndex); - - if FBaseSelIndex = Index then - // Base becomes the last one as in VS Code - FBaseSelIndex := FSelections.Count - 1 - else if FBaseSelIndex > Index then - Dec(FBaseSelIndex); - - CaretsChanged; -end; - -destructor TSynSelections.Destroy; -begin - FSelections.Free; - inherited; -end; - -function TSynSelections.FindCaret(const ACaret: TBufferCoord): Integer; -var - Index: Integer; -begin - if FSelections.Count = 0 then Exit(-1); - - if FindSelection(ACaret, Index) then - begin - if FSelections[Index].Caret = ACaret then - Result := Index - else - Result := -1; - end - else if (Index > 0) and (FSelections[Index - 1].Caret = ACaret) then - Result := Index - 1 - else - Result := -1; -end; - -function TSynSelections.FindSelection(const BC: TBufferCoord; var Index: Integer): Boolean; -begin - if FSelections.BinarySearch(TSynSelection.Create(BC, BC, BC), Index) then - Exit(True); - - if Index = 0 then - // BC is before the start of the top selection - Exit(False); - - Result := FSelections[Index - 1].Contains(BC); - if Result then - Dec(Index) -end; - -function TSynSelections.GetActiveSelection: TSynSelection; -begin - Result := FSelections[FActiveSelIndex]; -end; - -function TSynSelections.GetBaseSelection: TSynSelection; -begin - Result := FSelections[FBaseSelIndex]; -end; - -function TSynSelections.GetCount: Integer; -begin - Result := FSelections.Count; -end; - -function TSynSelections.GetIsEmpty: Boolean; -var - Index: Integer; -begin - Result := True; - for Index := 0 to FSelections.Count - 1 do - if not FSelections.List[Index].IsEmpty then - Exit(False); -end; - -function TSynSelections.GetSelection(Index: Integer): TSynSelection; -begin - Result := FSelections[Index]; -end; - -procedure TSynSelections.InvalidateAll; -var - Index: Integer; -begin - for Index := 0 to FSelections.Count - 1 do - InvalidateSelection(Index); -end; - -procedure TSynSelections.InvalidateSelection(Index: Integer); -begin - TCustomSynEdit(FOwner).InvalidateSelection(FSelections[Index]); -end; - -procedure TSynSelections.LinePut(aIndex: Integer; const OldLine: string); -var - I: Integer; - Line: string; - OldLen, NewLen: Integer; - StartPos: Integer; - Delta: Integer; -begin - if FSelections.Count <= 1 then Exit; - - Line := TCustomSynEdit(FOwner).Lines[aIndex]; - LineDiff(Line, OldLine, StartPos, OldLen, NewLen); - Delta := NewLen - OldLen; - - for I := FActiveSelIndex + 1 to Count - 1 do - begin - with FSelections.List[I] do - begin - if (Start.Line > aIndex + 1) and (Stop.Line > aIndex + 1) then - Exit; - - if Caret.Line = aIndex + 1 then Inc(Caret.Char, Delta); - if Start.Line = aIndex + 1 then Inc(Start.Char, Delta); - if Stop.Line = aIndex + 1 then Inc(Stop.Char, Delta); - end; - end; -end; - -procedure TSynSelections.LinesDeleted(FirstLine, aCount: Integer); -var - I: Integer; - MinBC: TBufferCoord; -begin - if FSelections.Count <= 1 then Exit; - - for I := FActiveSelIndex + 1 to Count - 1 do - with FSelections.List[I] do - begin - if Caret.Line >= FirstLine + 1 then Dec(Caret.Line, aCount); - if Start.Line >= FirstLine + 1 then Dec(Start.Line, aCount); - if Stop.Line >= FirstLine + 1 then Dec(Stop.Line, aCount); - - if (Start.Line < FirstLine + 1) and (Stop.Line < FirstLine + 1) then - begin - FSelections.List[I] := TSynSelection.Invalid; - Continue; - end; - - MinBC := BufferCoord(FirstLine + 1, 1); - Caret := TBufferCoord.Max(Caret, MinBC); - Start := TBufferCoord.Max(Start, MinBC); - Stop := TBufferCoord.Max(Stop, MinBC); - end; end; -procedure TSynSelections.LinesInserted(FirstLine, aCount: Integer); -var - I: Integer; -begin - if FSelections.Count <= 1 then Exit; - - for I := FActiveSelIndex + 1 to Count - 1 do - with FSelections.List[I] do - begin - // FirstLine is 0-based - if Caret.Line >= FirstLine + 1 then Inc(Caret.Line, aCount); - if Start.Line >= FirstLine + 1 then Inc(Start.Line, aCount); - if Stop.Line >= FirstLine + 1 then Inc(Stop.Line, aCount); - end; -end; - -procedure TSynSelections.Merge; -// It is executed after the execution of a multi-selection command -// It removes invalid selections and merges overllapping selections - - function DoMerge(const Sel, NextSel: TSynSelection): TSynSelection; - var - Caret, Start, Stop: TBufferCoord; - begin - Start := TBufferCoord.Min( - TBufferCoord.Min(Sel.Start, Sel.Stop), - TBufferCoord.Min(NextSel.Start, NextSel.Stop)); - Stop := TBufferCoord.Max( - TBufferCoord.Max(Sel.Start, Sel.Stop), - TBufferCoord.Max(NextSel.Start, NextSel.Stop)); - - if NextSel.Caret = TBufferCoord.Min(NextSel.Start, NextSel.Stop) then - Caret := Start - else - Caret := Stop; - - Result := TSynSelection.Create(Caret, Start, Stop); - Result.LastPosX := Sel.LastPosX; - Result.CaretAtEOL := Sel.CaretAtEOL - end; - -var - Sel, NextSel: TSynSelection; - I: Integer; - BC: TBufferCoord; -begin - if FSelections.Count = 1 then Exit; - - // Remove Invalid - for I := Count - 1 downto 0 do - if not FSelections.List[I].IsValid then - DeleteSelection(I); - - // Selections should be sorted in increasing order of the normalized Start. - // Merge is concequtive selections overlap. - - NextSel := FSelections.List[Count - 1]; // last selection - for I := Count - 2 downto 0 do - begin - Sel := FSelections.List[I]; - - if (Sel = NextSel) or Sel.Intersects(NextSel) then - begin - Sel := DoMerge(Sel, NextSel); - FSelections.List[I] := Sel; - DeleteSelection(I + 1); - end; - NextSel := Sel; - end; - - // Process the case of one invalid selection - if (FSelections.Count = 1) and not FSelections.List[0].IsValid then - begin - BC := BufferCoord(1, 1); - FSelections.List[0] := TSynSelection.Create(BC, BC, BC); - end; - - // Activate the current selection - Restore(ActiveSelection, False); -end; - -procedure TSynSelections.MouseSelection(const Sel: TSynSelection); -// Mouse selection works differently than selection with the keyboard -// All other selections overlapping with the active selection get removed -// as in VS Code and Visual Studio. -begin - // Exit if there are no other selections - if FSelections.Count <= 1 then Exit; - - for var Index := FSelections.Count - 1 downto 0 do - begin - // Sel will become the active selection - if Index = FActiveSelIndex then - Continue; - if Sel.Intersects(fSelections.List[Index]) then - DeleteSelection(Index); - end; -end; - -function TSynSelections.PartSelectionsForRow( - const RowStart, RowEnd: TBufferCoord): TSynSelectionArray; -// Provides a list of canditates for partial selection of a Row -var - Sel: TSynSelection; -begin - Result := []; - for var Index := 0 to FSelections.Count - 1 do - begin - Sel := FSelections.List[Index].Normalized; - if Sel.Stop < RowStart then - Continue - else if Sel.Start > RowEnd then - Exit - else if not Sel.IsEmpty then - Result := Result + [Sel]; - end; -end; - -procedure TSynSelections.Restore(const [Ref] SelStorage: TSynSelStorage); -begin - InvalidateAll; - FSelections.Clear; - FSelections.AddRange(SelStorage.Selections); - FActiveSelIndex := SelStorage.ActiveIndex; - FBaseSelIndex := SelStorage.BaseIndex; - InvalidateAll; - Restore(ActiveSelection); - CaretsChanged; -end; - -procedure TSynSelections.Restore(const [Ref] Sel: TSynSelection; +procedure TSynSelections.DoRestoreSelection(const Sel: TSynSelection; EnsureVisible: Boolean); var TrimTrailingActive: Boolean; @@ -3923,64 +3137,39 @@ procedure TSynSelections.Restore(const [Ref] Sel: TSynSelection; [eoTrimTrailingSpaces]; end; -function TSynSelections.RowHasCaret(ARow, ALine: Integer): Boolean; -// Used in painting the active line - - function IsCaretOnRow(Sel: TSynSelection): Boolean; - begin - if TCustomSynEdit(FOwner).WordWrap then - Result := TCustomSynEdit(FOwner).SelectionToDisplayCoord(Sel).Row = ARow - else - Result := Sel.Caret.Line = ALine; - end; +function TSynSelections.GetLineText(ALine: Integer): string; +begin + Result := TCustomSynEdit(FOwner).Lines[ALine - 1]; +end; -var - Sel: TSynSelection; - Index: Integer; +function TSynSelections.GetWordWrap: Boolean; begin - // Find first selection that may contain the caret - FindSelection(BufferCoord(1, ALine), Index); + Result := TCustomSynEdit(FOwner).WordWrap; +end; - Result := False; - while Index < FSelections.Count do - begin - Sel := FSelections[Index].Normalized; - if Sel.Start.Line > ALine then Break; - Result := IsCaretOnRow(Sel); - if Result then Break; - Inc(Index); - end; +function TSynSelections.GetScrollPastEOL: Boolean; +begin + Result := eoScrollPastEol in TCustomSynEdit(FOwner).ScrollOptions; end; -procedure TSynSelections.SetActiveSelection(const Value: TSynSelection); +function TSynSelections.GetRowLength(ARow: Integer): Integer; begin - FSelections[FActiveSelIndex] := Value; + Result := TCustomSynEdit(FOwner).RowLength[ARow]; end; -procedure TSynSelections.SetActiveSelIndex(const Index: Integer); -var - Sel: TSynSelection; +function TSynSelections.BufferToDisplayPos(const P: TBufferCoord): TDisplayCoord; begin - Assert(InRange(Index, 0, Count - 1)); - if Index <> FActiveSelIndex then - begin - FActiveSelIndex := Index; - Sel := ActiveSelection; - if Sel.IsValid then - Restore(ActiveSelection, False); - end; + Result := TCustomSynEdit(FOwner).BufferToDisplayPos(P); end; -procedure TSynSelections.SetBaseSelection(const Value: TSynSelection); +function TSynSelections.DisplayToBufferPos(const P: TDisplayCoord): TBufferCoord; begin - FSelections[FBaseSelIndex] := Value; + Result := TCustomSynEdit(FOwner).DisplayToBufferPos(P); end; -procedure TSynSelections.Store(out SelStorage: TSynSelStorage); +function TSynSelections.SelectionToDisplayRow(var Sel: TSynSelection): Integer; begin - SelStorage.Selections := FSelections.ToArray; - SelStorage.BaseIndex := FBaseSelIndex; - SelStorage.ActiveIndex := FActiveSelIndex; + Result := TCustomSynEdit(FOwner).SelectionToDisplayCoord(Sel).Row; end; {$ENDREGION 'TSynSelections'} @@ -4042,13 +3231,6 @@ procedure TSynCarets.ShowCarets; {$ENDREGION 'TSynCarets'} -{ TSynSelStorage } - -procedure TSynSelStorage.Clear; -begin - Selections := []; -end; - {$REGION 'Scrollbar Annotations'} { TSynScrollbarAnnItem } @@ -4406,5 +3588,70 @@ procedure TSynEditorOptionsContainer.SetSynGutter(const Value: TSynGutter); {$ENDREGION 'TSynEditorOptionsContainer'} +{$REGION 'VCL Utility Functions'} + +function DefaultFontName: string; +begin + if CheckWin32Version(6) then + begin + Result := 'Consolas'; + if Screen.Fonts.IndexOf(Result) >= 0 then + Exit; + end; + + Result := 'Lucida Console'; + if Screen.Fonts.IndexOf(Result) >= 0 then + Exit; + + Result := 'Courier New'; + if Screen.Fonts.IndexOf(Result) < 0 then + Result := 'Courier'; +end; + +function WeightEnumFontsProc(EnumLogFontExDV: PEnumLogFontExDV; + EnumTextMetric: PEnumTextMetric; + FontType: DWORD; LParam: LPARAM): Integer; stdcall; +begin; + PInteger(LPARAM)^ := EnumLogFontExDV.elfEnumLogfontEx.elfLogFont.lfWeight; + Result := 0; +end; + +function GetCorrectFontWeight(Font: TFont): Integer; +var + DC: HDC; + LogFont: TLogFont; +begin + if TFontStyle.fsBold in Font.Style then + Result := FW_BOLD + else + begin + Result := FW_NORMAL; + DC := GetDC(0); + FillChar(LogFont, SizeOf(LogFont), 0); + LogFont.lfCharSet := DEFAULT_CHARSET; + StrPLCopy(LogFont.lfFaceName, Font.Name, Length(LogFont.lfFaceName) - 1); + EnumFontFamiliesEx(DC, LogFont, @WeightEnumFontsProc, LPARAM(@Result), 0); + ReleaseDC(0, DC); + end; +end; + +function IsColorDark(AColor: TColor): Boolean; +var + ACol: Longint; +begin + ACol := ColorToRGB(AColor) and $00FFFFFF; + Result := ((2.99 * GetRValue(ACol) + 5.87 * GetGValue(ACol) + + 1.14 * GetBValue(ACol)) < $400); +end; + +function ColorToHTML(Color: TColor): string; +var + R: TColorRef; +begin + R := ColorToRGB(Color); + Result := Format('#%.2x%.2x%.2x', [GetRValue(R), GetGValue(R), GetBValue(R)]); +end; + +{$ENDREGION 'VCL Utility Functions'} end. diff --git a/Source/SynEditOptionsDialog.dfm b/Source/VCL/Vcl.SynEditOptionsDialog.dfm similarity index 100% rename from Source/SynEditOptionsDialog.dfm rename to Source/VCL/Vcl.SynEditOptionsDialog.dfm diff --git a/Source/SynEditOptionsDialog.pas b/Source/VCL/Vcl.SynEditOptionsDialog.pas similarity index 99% rename from Source/SynEditOptionsDialog.pas rename to Source/VCL/Vcl.SynEditOptionsDialog.pas index 020f6082..4ccd60cf 100644 --- a/Source/SynEditOptionsDialog.pas +++ b/Source/VCL/Vcl.SynEditOptionsDialog.pas @@ -28,7 +28,7 @@ of this file under either the MPL or the GPL. -------------------------------------------------------------------------------} -unit SynEditOptionsDialog; +unit Vcl.SynEditOptionsDialog; {$I SynEdit.inc} @@ -273,7 +273,7 @@ implementation uses System.Types, - SynEditKeyConst, + SynEditKeyConstShared, SynEditMiscProcs; { TSynEditOptionsDialog } diff --git a/Source/SynEditPlugins.pas b/Source/VCL/Vcl.SynEditPlugins.pas similarity index 99% rename from Source/SynEditPlugins.pas rename to Source/VCL/Vcl.SynEditPlugins.pas index 3de3054a..2d3952eb 100644 --- a/Source/SynEditPlugins.pas +++ b/Source/VCL/Vcl.SynEditPlugins.pas @@ -28,7 +28,7 @@ of this file under either the MPL or the GPL. -------------------------------------------------------------------------------} -unit SynEditPlugins; +unit Vcl.SynEditPlugins; {$I SynEdit.inc} @@ -40,7 +40,7 @@ interface SynEdit, SynEditTypes, SynEditKeyCmds, - SynUnicode, + SynUnicodeShared, Classes; type diff --git a/Source/SynEditPrint.pas b/Source/VCL/Vcl.SynEditPrint.pas similarity index 99% rename from Source/SynEditPrint.pas rename to Source/VCL/Vcl.SynEditPrint.pas index 5cfa742c..1d57c754 100644 --- a/Source/SynEditPrint.pas +++ b/Source/VCL/Vcl.SynEditPrint.pas @@ -74,7 +74,7 @@ PrintRange(StartPage,EndPage) : Prints the specified page-range (both inclusive) -------------------------------------------------------------------------------} -unit SynEditPrint; +unit Vcl.SynEditPrint; {$M+} {$I SynEdit.inc} @@ -98,7 +98,7 @@ interface SynEditPrintMargins, SynEditMiscProcs, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, SynDWrite; type @@ -219,7 +219,8 @@ implementation uses Winapi.MultiMon, System.Math, - System.UITypes; + System.UITypes, + SynEditMiscClasses; resourcestring SYNS_NoPrinter = 'No printer available'; diff --git a/Source/SynEditPrintHeaderFooter.pas b/Source/VCL/Vcl.SynEditPrintHeaderFooter.pas similarity index 99% rename from Source/SynEditPrintHeaderFooter.pas rename to Source/VCL/Vcl.SynEditPrintHeaderFooter.pas index 7ebf9679..37f38a06 100644 --- a/Source/SynEditPrintHeaderFooter.pas +++ b/Source/VCL/Vcl.SynEditPrintHeaderFooter.pas @@ -86,7 +86,7 @@ -------------------------------------------------------------------------------} -unit SynEditPrintHeaderFooter; +unit Vcl.SynEditPrintHeaderFooter; {$M+} {$I SynEdit.inc} @@ -99,7 +99,7 @@ interface Vcl.Graphics, SynEditPrintTypes, SynEditPrintMargins, - SynUnicode, + SynUnicodeShared, System.Classes, System.SysUtils; diff --git a/Source/SynEditPrintMargins.pas b/Source/VCL/Vcl.SynEditPrintMargins.pas similarity index 99% rename from Source/SynEditPrintMargins.pas rename to Source/VCL/Vcl.SynEditPrintMargins.pas index c8eb2b2e..7f35be10 100644 --- a/Source/SynEditPrintMargins.pas +++ b/Source/VCL/Vcl.SynEditPrintMargins.pas @@ -75,7 +75,7 @@ -------------------------------------------------------------------------------} -unit SynEditPrintMargins; +unit Vcl.SynEditPrintMargins; {$M+} {$I SynEdit.inc } @@ -87,7 +87,7 @@ interface Vcl.Graphics, SynEditPrintTypes, SynEditPrinterInfo, - SynUnicode, + SynUnicodeShared, SynDWrite, System.Classes, System.SysUtils; diff --git a/Source/SynEditPrintMarginsDialog.dfm b/Source/VCL/Vcl.SynEditPrintMarginsDialog.dfm similarity index 100% rename from Source/SynEditPrintMarginsDialog.dfm rename to Source/VCL/Vcl.SynEditPrintMarginsDialog.dfm diff --git a/Source/SynEditPrintMarginsDialog.pas b/Source/VCL/Vcl.SynEditPrintMarginsDialog.pas similarity index 99% rename from Source/SynEditPrintMarginsDialog.pas rename to Source/VCL/Vcl.SynEditPrintMarginsDialog.pas index 5c1761df..21f04ed8 100644 --- a/Source/SynEditPrintMarginsDialog.pas +++ b/Source/VCL/Vcl.SynEditPrintMarginsDialog.pas @@ -34,7 +34,7 @@ a picture that can help with understanding the different values. -------------------------------------------------------------------------------} -unit SynEditPrintMarginsDialog; +unit Vcl.SynEditPrintMarginsDialog; {$I SynEdit.inc} diff --git a/Source/SynEditPrintPreview.pas b/Source/VCL/Vcl.SynEditPrintPreview.pas similarity index 99% rename from Source/SynEditPrintPreview.pas rename to Source/VCL/Vcl.SynEditPrintPreview.pas index 603d2d06..07e39026 100644 --- a/Source/SynEditPrintPreview.pas +++ b/Source/VCL/Vcl.SynEditPrintPreview.pas @@ -39,7 +39,7 @@ before the preview is shown, and when the printer is changed) -------------------------------------------------------------------------------} -unit SynEditPrintPreview; +unit Vcl.SynEditPrintPreview; {$I SynEdit.inc} diff --git a/Source/SynEditPrintTypes.pas b/Source/VCL/Vcl.SynEditPrintTypes.pas similarity index 98% rename from Source/SynEditPrintTypes.pas rename to Source/VCL/Vcl.SynEditPrintTypes.pas index 7eeea224..5577cd23 100644 --- a/Source/SynEditPrintTypes.pas +++ b/Source/VCL/Vcl.SynEditPrintTypes.pas @@ -38,12 +38,12 @@ -------------------------------------------------------------------------------} -unit SynEditPrintTypes; +unit Vcl.SynEditPrintTypes; interface uses - SynUnicode, Classes, SysUtils; + SynUnicodeShared, Classes, SysUtils; const DefLeft = 25; //Default left margin [mm] diff --git a/Source/SynEditPrinterInfo.pas b/Source/VCL/Vcl.SynEditPrinterInfo.pas similarity index 99% rename from Source/SynEditPrinterInfo.pas rename to Source/VCL/Vcl.SynEditPrinterInfo.pas index e036be9f..c41af1c4 100644 --- a/Source/SynEditPrinterInfo.pas +++ b/Source/VCL/Vcl.SynEditPrinterInfo.pas @@ -33,7 +33,7 @@ Class retrieving info about selected printer and paper size. -------------------------------------------------------------------------------} -unit SynEditPrinterInfo; +unit Vcl.SynEditPrinterInfo; {$I SynEdit.inc} diff --git a/Source/SynEditPropertyReg.pas b/Source/VCL/Vcl.SynEditPropertyReg.pas similarity index 99% rename from Source/SynEditPropertyReg.pas rename to Source/VCL/Vcl.SynEditPropertyReg.pas index 7bf2fb25..25ae0991 100644 --- a/Source/SynEditPropertyReg.pas +++ b/Source/VCL/Vcl.SynEditPropertyReg.pas @@ -28,7 +28,7 @@ of this file under either the MPL or the GPL. -------------------------------------------------------------------------------} -unit SynEditPropertyReg; +unit Vcl.SynEditPropertyReg; {$I SynEdit.inc} diff --git a/Source/SynEditPythonBehaviour.pas b/Source/VCL/Vcl.SynEditPythonBehaviour.pas similarity index 97% rename from Source/SynEditPythonBehaviour.pas rename to Source/VCL/Vcl.SynEditPythonBehaviour.pas index bd165e54..8ed6dcae 100644 --- a/Source/SynEditPythonBehaviour.pas +++ b/Source/VCL/Vcl.SynEditPythonBehaviour.pas @@ -35,7 +35,7 @@ to a python source file. Python has a unusual way to mark blocks (like begin/end in pascal): it uses indentation. So the rule is after a ":" and a line break, we have to indent once. } -unit SynEditPythonBehaviour; +unit Vcl.SynEditPythonBehaviour; {$I SynEdit.inc} @@ -43,7 +43,7 @@ interface uses Windows, Messages, Graphics, Controls, Forms, Dialogs, SynEdit, SynEditKeyCmds, - SynUnicode, SysUtils, Classes, SynEditTypes; + SynUnicodeShared, SysUtils, Classes, SynEditTypes; type TSynEditPythonBehaviour = class(TComponent) diff --git a/Source/VCL/Vcl.SynEditReg.dcr b/Source/VCL/Vcl.SynEditReg.dcr new file mode 100644 index 00000000..7946bfcf Binary files /dev/null and b/Source/VCL/Vcl.SynEditReg.dcr differ diff --git a/Source/SynEditReg.pas b/Source/VCL/Vcl.SynEditReg.pas similarity index 99% rename from Source/SynEditReg.pas rename to Source/VCL/Vcl.SynEditReg.pas index e6e6a442..e396dd9d 100644 --- a/Source/SynEditReg.pas +++ b/Source/VCL/Vcl.SynEditReg.pas @@ -25,7 +25,7 @@ of this file under either the MPL or the GPL. -------------------------------------------------------------------------------} -unit SynEditReg; +unit Vcl.SynEditReg; {$I SynEdit.inc} @@ -37,6 +37,7 @@ interface // SynEdit components SynEdit, SynDBEdit, + SynEditTypes, SynEditStrConst, SynEditHighlighter, SynEditMiscClasses, diff --git a/Source/SynEditScrollBars.pas b/Source/VCL/Vcl.SynEditScrollBars.pas similarity index 99% rename from Source/SynEditScrollBars.pas rename to Source/VCL/Vcl.SynEditScrollBars.pas index 40627227..ec59efdc 100644 --- a/Source/SynEditScrollBars.pas +++ b/Source/VCL/Vcl.SynEditScrollBars.pas @@ -22,7 +22,7 @@ of this file under either the MPL or the GPL. ---------------------------------------------------------------------------- } -unit SynEditScrollBars; +unit Vcl.SynEditScrollBars; {$I SynEdit.inc} @@ -35,7 +35,8 @@ interface System.UITypes, Vcl.Controls, Vcl.Forms, - SynEditTypes; + SynEditTypes, + Vcl.SynEditScrollTypes; { Factory Method } function CreateSynEditScrollBars(Editor: TCustomControl): ISynEditScrollBars; @@ -67,7 +68,7 @@ implementation SynEditMiscProcs, SynEditMiscClasses, SynEditStrConst, - SynEditKeyConst; + SynEditKeyConstShared; function GetBarScrollInfo(Handle: THandle; AKind: TScrollBarKind): TScrollInfo; begin diff --git a/Source/VCL/Vcl.SynEditScrollTypes.pas b/Source/VCL/Vcl.SynEditScrollTypes.pas new file mode 100644 index 00000000..11252a67 --- /dev/null +++ b/Source/VCL/Vcl.SynEditScrollTypes.pas @@ -0,0 +1,68 @@ +{------------------------------------------------------------------------------- +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 Original Code is: SynEditTypes.pas, released 2000-04-07. +The Original Code is based on parts of mwCustomEdit.pas by Martin Waldenburg, +part of the mwEdit component suite. +Portions created by Martin Waldenburg are Copyright (C) 1998 Martin Waldenburg. +Unicode translation by Ma�l H�rz. +All Rights Reserved. + +Contributors to the SynEdit and mwEdit projects are listed in the +Contributors.txt file. + +Alternatively, the contents of this file may be used under the terms of the +GNU General Public License Version 2 or later (the "GPL"), in which case +the provisions of the GPL are applicable instead of those above. +If you wish to allow use of your version of this file only under the terms +of the GPL and not to allow others to use your version of this file +under the MPL, indicate your decision by deleting the provisions above and +replace them with the notice and other provisions required by the GPL. +If you do not delete the provisions above, a recipient may use your version +of this file under either the MPL or the GPL. + +VCL scrollbar interface, formerly Vcl.SynEditTypes.pas. + +Renamed to Vcl.SynEditScrollTypes to resolve a name collision: a bare +'SynEditTypes' in a uses clause matches the shared SynEditTypes.pas +(exact match) and shadows this Vcl-prefixed unit. Renaming the shared +side would require updating 110+ files and re-aliasing enum types (which +Delphi does not support), so the VCL/FMX side was renamed instead. +The unit contains only ISynEditScrollBars, so 'ScrollTypes' is a more +accurate name anyway. +-------------------------------------------------------------------------------} + +unit Vcl.SynEditScrollTypes; + +{$I SynEdit.inc} + +interface + +uses + System.Classes, + Winapi.Windows, + Winapi.Messages, + Vcl.Controls, + SynEditTypes; + +type + ISynEditScrollBars = interface + function UpdateScrollBars: Boolean; + function GetIsScrolling: Boolean; + procedure WMHScroll(var AMsg: TWMScroll); + procedure WMVScroll(var AMsg: TWMScroll); + procedure DoMouseWheel(Shift: TShiftState; WheelDelta: Integer; + MousePos: TPoint); + property IsScrolling: Boolean read GetIsScrolling; + end; + +implementation + +end. diff --git a/Source/VCL/Vcl.SynEditUndo.pas b/Source/VCL/Vcl.SynEditUndo.pas new file mode 100644 index 00000000..e1258bd7 --- /dev/null +++ b/Source/VCL/Vcl.SynEditUndo.pas @@ -0,0 +1,246 @@ +{ ------------------------------------------------------------------------------- + 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. + + Contributors to the SynEdit and mwEdit projects are listed in the + Contributors.txt file. + + Alternatively, the contents of this file may be used under the terms of the + GNU General Public License Version 2 or later (the "GPL"), in which case + the provisions of the GPL are applicable instead of those above. + If you wish to allow use of your version of this file only under the terms + of the GPL and not to allow others to use your version of this file + under the MPL, indicate your decision by deleting the provisions above and + replace them with the notice and other provisions required by the GPL. + If you do not delete the provisions above, a recipient may use your version + of this file under either the MPL or the GPL. + + Known Issues: + ------------------------------------------------------------------------------- } + +unit Vcl.SynEditUndo; + +{$I SynEdit.inc} + +interface + +uses + SynEdit, + SynEditTypes, + SynEditSelections, + SynEditKeyCmds; + +{ Factory Method} + +function CreateSynEditUndo(Editor: TCustomSynEdit): ISynEditUndo; + +implementation + +uses + System.Classes, + System.SysUtils, + System.Math, + System.Generics.Collections, + Vcl.Controls, + SynEditMiscProcs, + SynEditMiscClasses, + SynEditTextBuffer, + SynEditUndoShared; + +type + TSynEditUndo = class; + + TSynCaretAndSelectionUndoItem = class(TSynUndoItem) + private + FBlockBegin: TBufferCoord; + FBlockEnd: TBufferCoord; + SelStorage: TSynSelStorage; + public + procedure Undo(Editor: TObject); override; + procedure Redo(Editor: TObject); override; + constructor Create(Editor: TCustomSynEdit); + end; + + TSynUndoPlugin = class(TSynEditPlugin) + private + FSynEditUndo: TSynEditUndo; + FDeletedLines: TArray; + FDeletedChangeFlags: TArray; + protected + procedure LinesInserted(FirstLine, Count: Integer); override; + procedure LinesBeforeDeleted(FirstLine, Count: Integer); override; + procedure LinesDeleted(FirstLine, Count: Integer); override; + procedure LinePut(aIndex: Integer; const OldLine: string); override; + public + constructor Create(SynEditUndo: TSynEditUndo; Editor: TCustomSynEdit); + end; + + TSynEditUndo = class(TSynEditUndoBase) + private + FPlugin: TSynUndoPlugin; + protected + function CreateCaretUndoItem(Editor: TObject): TSynUndoItem; override; + procedure RestoreCaretAndSelection(Editor: TObject; + Item: TSynUndoItem); override; + public + constructor Create(Editor: TCustomSynEdit); + end; + +{ TSynEditUndo } + +constructor TSynEditUndo.Create(Editor: TCustomSynEdit); +begin + inherited Create; + FPlugin := TSynUndoPlugin.Create(Self, Editor); +end; + +function TSynEditUndo.CreateCaretUndoItem(Editor: TObject): TSynUndoItem; +begin + Result := TSynCaretAndSelectionUndoItem.Create(Editor as TCustomSynEdit); +end; + +procedure TSynEditUndo.RestoreCaretAndSelection(Editor: TObject; + Item: TSynUndoItem); +var + Ed: TCustomSynEdit; +begin + if not (Item is TSynCaretAndSelectionUndoItem) then + begin + Ed := Editor as TCustomSynEdit; + Ed.Selections.Clear; + Ed.SetCaretAndSelection(Item.FCaret, Item.FCaret, Item.FCaret); + end; +end; + +{ Factory Method} + +function CreateSynEditUndo(Editor: TCustomSynEdit): ISynEditUndo; +begin + Result := TSynEditUndo.Create(Editor); +end; + +{ TSynCaretAndSelectionUndoItem } + +constructor TSynCaretAndSelectionUndoItem.Create(Editor: TCustomSynEdit); +begin + inherited Create; + if Editor.Selections.Count = 1 then + begin + FCaret := Editor.CaretXY; + FBlockBegin := Editor.BlockBegin; + FBlockEnd := Editor.BlockEnd; + end + else + begin + Editor.Selections.Store(SelStorage); + end; +end; + +procedure TSynCaretAndSelectionUndoItem.Redo(Editor: TObject); +begin + Undo(Editor); +end; + +procedure TSynCaretAndSelectionUndoItem.Undo(Editor: TObject); +var + Ed: TCustomSynEdit; +begin + Ed := Editor as TCustomSynEdit; + if Length(SelStorage.Selections) > 0 then + Ed.Selections.Restore(SelStorage) + else + begin + Ed.Selections.Clear; + Ed.SetCaretAndSelection(FCaret, FBlockBegin, FBlockEnd); + end; +end; + +{ TSynUndoPlugin } + +constructor TSynUndoPlugin.Create(SynEditUndo: TSynEditUndo; + Editor: TCustomSynEdit); +begin + FSynEditUndo := SynEditUndo; + inherited Create(Editor, + [phLinePut, phLinesInserted, phLinesBeforeDeleted, phLinesDeleted]); +end; + +procedure TSynUndoPlugin.LinePut(aIndex: Integer; const OldLine: string); +var + Line: string; + Item: TSynLinePutUndoItem; +begin + if Editor.IsChained or FSynEditUndo.IsLocked or FSynEditUndo.FInsideUndoRedo + then + Exit; + + Line := Editor.Lines[aIndex]; + if Line <> OldLine then + begin + Item := TSynLinePutUndoItem.Create(Editor.Lines, aIndex, OldLine, + FSynEditUndo.FCommandProcessed); + FSynEditUndo.AddUndoItem(Item); + end; +end; + +procedure TSynUndoPlugin.LinesBeforeDeleted(FirstLine, Count: Integer); +var + I: Integer; +begin + if Editor.IsChained or FSynEditUndo.IsLocked or FSynEditUndo.FInsideUndoRedo + then + Exit; + + SetLength(FDeletedLines, Count); + SetLength(FDeletedChangeFlags, Count); + for I := 0 to Count -1 do + begin + FDeletedLines[I] := Editor.Lines[FirstLine + I]; + FDeletedChangeFlags[I] := + TSynEditStringList(Editor.Lines).ChangeFlags[FirstLine + I]; + end; +end; + +procedure TSynUndoPlugin.LinesDeleted(FirstLine, Count: Integer); +var + Item: TSynLinesDeletedUndoItem; +begin + if Editor.IsChained or FSynEditUndo.IsLocked or FSynEditUndo.FInsideUndoRedo + then + Exit; + + if Count > 0 then + begin + Item := TSynLinesDeletedUndoItem.Create(Editor.Lines, FirstLine, + FDeletedLines, FDeletedChangeFlags); + FSynEditUndo.AddUndoItem(Item); + end; +end; + +procedure TSynUndoPlugin.LinesInserted(FirstLine, Count: Integer); +var + Item: TSynLinesInsertedUndoItem; +begin + if Editor.IsChained or FSynEditUndo.IsLocked or FSynEditUndo.FInsideUndoRedo + then + Exit; + + if (FSynEditUndo.FUndoList.Count = 0) and + (Editor.Lines.Count = 1) and (Editor.Lines[0] = '') + then + Exit; + + if Count > 0 then + begin + Item := TSynLinesInsertedUndoItem.Create(Editor.Lines, FirstLine, Count); + FSynEditUndo.AddUndoItem(Item); + end; +end; + +end. diff --git a/Source/SynEditWordWrap.pas b/Source/VCL/Vcl.SynEditWordWrap.pas similarity index 99% rename from Source/SynEditWordWrap.pas rename to Source/VCL/Vcl.SynEditWordWrap.pas index 004affc7..eeeff9e1 100644 --- a/Source/SynEditWordWrap.pas +++ b/Source/VCL/Vcl.SynEditWordWrap.pas @@ -26,7 +26,7 @@ of this file under either the MPL or the GPL. -------------------------------------------------------------------------------} -unit SynEditWordWrap; +unit Vcl.SynEditWordWrap; {$I SynEdit.inc} @@ -92,7 +92,7 @@ implementation System.RTLConsts, System.Math, System.Threading, - SynUnicode, + SynUnicodeShared, SynEditMiscProcs, SynDWrite; diff --git a/Source/SynExportHTML.pas b/Source/VCL/Vcl.SynExportHTML.pas similarity index 98% rename from Source/SynExportHTML.pas rename to Source/VCL/Vcl.SynExportHTML.pas index 92ba733b..15150469 100644 --- a/Source/SynExportHTML.pas +++ b/Source/VCL/Vcl.SynExportHTML.pas @@ -12,8 +12,8 @@ Author of this file is Michael Hieke. Portions created by Michael Hieke are Copyright 2000 Michael Hieke. Portions created by James D. Jacobson are Copyright 1999 Martin Waldenburg. -Changes to emit XHTML 1.0 Strict complying code by Mal Hrz. -Unicode translation by Mal Hrz. +Changes to emit XHTML 1.0 Strict complying code by Ma�l H�rz. +Unicode translation by Ma�l H�rz. All Rights Reserved. Contributors to the SynEdit project are listed in the Contributors.txt file. @@ -28,7 +28,7 @@ of this file under either the MPL or the GPL. -------------------------------------------------------------------------------} -unit SynExportHTML; +unit Vcl.SynExportHTML; {$I SynEdit.inc} @@ -39,7 +39,7 @@ interface Graphics, SynEditExport, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, System.Generics.Collections, Classes; @@ -109,6 +109,7 @@ implementation uses SynEditMiscProcs, + SynEditMiscClasses, SynEditStrConst, SynHighlighterMulti, SysUtils; diff --git a/Source/SynExportRTF.pas b/Source/VCL/Vcl.SynExportRTF.pas similarity index 99% rename from Source/SynExportRTF.pas rename to Source/VCL/Vcl.SynExportRTF.pas index 0efd38dd..e2495c70 100644 --- a/Source/SynExportRTF.pas +++ b/Source/VCL/Vcl.SynExportRTF.pas @@ -31,7 +31,7 @@ of this file under either the MPL or the GPL. -------------------------------------------------------------------------------} -unit SynExportRTF; +unit Vcl.SynExportRTF; {$I SynEdit.inc} @@ -42,7 +42,7 @@ interface Graphics, RichEdit, SynEditExport, - SynUnicode, + SynUnicodeShared, Classes; type diff --git a/Source/SynExportTeX.pas b/Source/VCL/Vcl.SynExportTeX.pas similarity index 99% rename from Source/SynExportTeX.pas rename to Source/VCL/Vcl.SynExportTeX.pas index f21cc546..6010054e 100644 --- a/Source/SynExportTeX.pas +++ b/Source/VCL/Vcl.SynExportTeX.pas @@ -36,7 +36,7 @@ We'll have to wait for LaTeX 3.) -------------------------------------------------------------------------------} -unit SynExportTeX; +unit Vcl.SynExportTeX; {$I SynEdit.inc} @@ -47,7 +47,7 @@ interface Graphics, SynEditExport, SynEditHighlighter, - SynUnicode, + SynUnicodeShared, Classes; type diff --git a/Source/SynMacroRecorder.pas b/Source/VCL/Vcl.SynMacroRecorder.pas similarity index 58% rename from Source/SynMacroRecorder.pas rename to Source/VCL/Vcl.SynMacroRecorder.pas index 41b32daf..bf03f343 100644 --- a/Source/SynMacroRecorder.pas +++ b/Source/VCL/Vcl.SynMacroRecorder.pas @@ -10,9 +10,9 @@ The Original Code is: SynMacroRecorder.pas, released 2001-10-17. -Author of this file is Flvio Etrusco. -Portions created by Flvio Etrusco are Copyright 2001 Flvio Etrusco. -Unicode translation by Mal Hrz. +Author of this file is Fl�vio Etrusco. +Portions created by Fl�vio Etrusco are Copyright 2001 Fl�vio Etrusco. +Unicode translation by Ma�l H�rz. All Rights Reserved. Contributors to the SynEdit project are listed in the Contributors.txt file. @@ -28,7 +28,7 @@ of this file under either the MPL or the GPL. -------------------------------------------------------------------------------} -unit SynMacroRecorder; +unit Vcl.SynMacroRecorder; {$I SynEdit.inc} @@ -45,106 +45,26 @@ interface SynEditKeyCmds, SynEditPlugins, SynEditTypes, - SynUnicode, + SynUnicodeShared, + SynMacroRecorderShared, Classes; -resourcestring - sCannotRecord = 'Cannot record macro; already recording or playing'; - sCannotPlay = 'Cannot playback macro; already playing or recording'; - sCannotPause = 'Can only pause when recording'; - sCannotResume = 'Can only resume when paused'; - type - TSynMacroState = (msStopped, msRecording, msPlaying, msPaused); - TSynMacroCommand = (mcRecord, mcPlayback); - - TSynMacroEvent = class(TObject) - protected - fRepeatCount: Byte; - function GetAsString: string; virtual; abstract; - procedure InitEventParameters(aStr: string); virtual; abstract; - public - constructor Create; virtual; - procedure Initialize(aCmd: TSynEditorCommand; aChar: WideChar; aData: Pointer); - virtual; abstract; - { the CommandID must not be read inside LoadFromStream/SaveToStream. It's read by the - MacroRecorder component to decide which MacroEvent class to instanciate } - procedure LoadFromStream(aStream: TStream); virtual; abstract; - procedure SaveToStream(aStream: TStream); virtual; abstract; - procedure Playback(aEditor: TCustomSynEdit); virtual; abstract; - property AsString: string read GetAsString; - property RepeatCount: Byte read fRepeatCount write fRepeatCount; - end; - - TSynBasicEvent = class(TSynMacroEvent) - protected - fCommand: TSynEditorCommand; - function GetAsString: string; override; - procedure InitEventParameters(aStr: string); override; - public - procedure Initialize(aCmd: TSynEditorCommand; aChar: WideChar; aData: Pointer); - override; - procedure LoadFromStream(aStream: TStream); override; - procedure SaveToStream(aStream: TStream); override; - procedure Playback(aEditor: TCustomSynEdit); override; - public - property Command: TSynEditorCommand read fCommand write fCommand; - end; - - TSynCharEvent = class(TSynMacroEvent) - protected - fKey: WideChar; - function GetAsString: string; override; - procedure InitEventParameters(aStr: string); override; - public - procedure Initialize(aCmd: TSynEditorCommand; aChar: WideChar; aData: Pointer); - override; - procedure LoadFromStream(aStream: TStream); override; - procedure SaveToStream(aStream: TStream); override; - procedure Playback(aEditor: TCustomSynEdit); override; - public - property Key: WideChar read fKey write fKey; - end; - - TSynStringEvent = class(TSynMacroEvent) - protected - fString: string; - function GetAsString: string; override; - procedure InitEventParameters(aStr: string); override; - public - procedure Initialize(aCmd: TSynEditorCommand; aChar: WideChar; aData: Pointer); - override; - procedure LoadFromStream(aStream: TStream); override; - procedure SaveToStream(aStream: TStream); override; - procedure Playback(aEditor: TCustomSynEdit); override; - public - property Value: string read fString write fString; - end; - - TSynPositionEvent = class(TSynBasicEvent) - protected - fPosition: TBufferCoord; - function GetAsString: string; override; - procedure InitEventParameters(aStr: string); override; - public - procedure Initialize(aCmd: TSynEditorCommand; aChar: WideChar; aData: Pointer); - override; - procedure LoadFromStream(aStream: TStream); override; - procedure SaveToStream(aStream: TStream); override; - procedure Playback(aEditor: TCustomSynEdit); override; - public - property Position: TBufferCoord read fPosition write fPosition; - end; - - TSynDataEvent = class(TSynBasicEvent) - protected - fData: Pointer; - public - procedure Initialize(aCmd: TSynEditorCommand; aChar: WideChar; aData: Pointer); - override; - procedure LoadFromStream(aStream: TStream); override; - procedure SaveToStream(aStream: TStream); override; - procedure Playback(aEditor: TCustomSynEdit); override; + // Re-export shared types for backward compatibility + TSynMacroState = SynMacroRecorderShared.TSynMacroState; + TSynMacroCommand = SynMacroRecorderShared.TSynMacroCommand; + TSynMacroEvent = SynMacroRecorderShared.TSynMacroEvent; + TSynBasicEvent = SynMacroRecorderShared.TSynBasicEvent; + TSynCharEvent = SynMacroRecorderShared.TSynCharEvent; + TSynStringEvent = SynMacroRecorderShared.TSynStringEvent; + TSynPositionEvent = SynMacroRecorderShared.TSynPositionEvent; + TSynDataEvent = SynMacroRecorderShared.TSynDataEvent; + TSynMacroPlaybackProc = SynMacroRecorderShared.TSynMacroPlaybackProc; + + // Backward compatibility: deprecated Playback(aEditor) via class helper + TSynMacroEventHelper = class helper for TSynMacroEvent + procedure Playback(aEditor: TCustomSynEdit); + deprecated 'Use PlaybackTo with editor.CommandProcessor'; end; TCustomSynMacroRecorder = class; @@ -247,30 +167,11 @@ implementation RTLConsts, SysUtils; -{ TSynDataEvent } +{ TSynMacroEventHelper } -procedure TSynDataEvent.Initialize(aCmd: TSynEditorCommand; aChar: WideChar; - aData: Pointer); +procedure TSynMacroEventHelper.Playback(aEditor: TCustomSynEdit); begin - fCommand := aCmd; - Assert(aChar = #0); - fData := aData; -end; - -procedure TSynDataEvent.LoadFromStream(aStream: TStream); -begin - aStream.Read(fData, SizeOf(fData)); -end; - -procedure TSynDataEvent.Playback(aEditor: TCustomSynEdit); -begin - aEditor.CommandProcessor(Command, #0, fData); -end; - -procedure TSynDataEvent.SaveToStream(aStream: TStream); -begin - inherited; - aStream.Write(fData, SizeOf(fData)); + PlaybackTo(aEditor.CommandProcessor); end; { TCustomSynMacroRecorder } @@ -454,7 +355,6 @@ procedure TCustomSynMacroRecorder.LoadFromStreamEx(aSrc: TStream; end; end; -// TODO: Sender could be also something else then a TCustomSynedit(namely a TObject) but the code below assumes it is a TCustomSynedit even if Sender is of type TObject. procedure TCustomSynMacroRecorder.OnCommand(Sender: TObject; AfterProcessing: Boolean; var Handled: Boolean; var Command: TSynEditorCommand; var aChar: WideChar; Data, @@ -533,7 +433,7 @@ procedure TCustomSynMacroRecorder.PlaybackMacro(aEditor: TCustomSynEdit); StateChanged; for cEvent := 0 to EventCount -1 do begin - Events[cEvent].Playback(aEditor); + Events[cEvent].PlaybackTo(aEditor.CommandProcessor); if State <> msPlaying then Break; end; @@ -669,7 +569,6 @@ procedure TCustomSynMacroRecorder.SetAsString(const Value: string); Stop; Clear; fEvents := TList.Create; - // process file line by line and create events S := TStringList.Create; try S.Text := Value; @@ -679,7 +578,7 @@ procedure TCustomSynMacroRecorder.SetAsString(const Value: string); p := Pos(' ', cmdStr); if p = 0 then p := Length(cmdStr) + 1; Cmd := ecNone; - if IdentToEditorCommand(Copy(cmdStr, 1, p - 1), Cmd) then // D2 needs type-cast + if IdentToEditorCommand(Copy(cmdStr, 1, p - 1), Cmd) then begin Delete(cmdStr, 1, p); iEvent := CreateMacroEvent(Cmd); @@ -721,266 +620,4 @@ procedure TCustomSynMacroRecorder.SaveToFile(aFilename: string); end; end; -{ TSynBasicEvent } - -function TSynBasicEvent.GetAsString: string; -var - Ident: string; -begin - EditorCommandToIdent(Command, Ident); - Result := Ident; - if RepeatCount > 1 then - Result := Result + ' ' + IntToStr(RepeatCount); -end; - -procedure TSynBasicEvent.InitEventParameters(aStr: string); -begin - // basic events have no parameters but can contain an optional repeat count - RepeatCount := StrToIntDef(Trim(aStr), 1); -end; - -procedure TSynBasicEvent.Initialize(aCmd: TSynEditorCommand; aChar: WideChar; - aData: Pointer); -begin - Command := aCmd; -{$IFDEF SYN_DEVELOPMENT_CHECKS} - if (aChar <> #0) or (aData <> nil) then - raise Exception.Create('TSynBasicEvent cannot handle Char <> #0 or Data <> nil'); -{$ENDIF} -end; - -procedure TSynBasicEvent.LoadFromStream(aStream: TStream); -begin - aStream.Read(fRepeatCount, SizeOf(fRepeatCount)); -end; - -procedure TSynBasicEvent.Playback(aEditor: TCustomSynEdit); -var - i : Integer; -begin - for i := 1 to RepeatCount do - aEditor.CommandProcessor(Command, #0, nil); -end; - -procedure TSynBasicEvent.SaveToStream(aStream: TStream); -begin - aStream.Write(Command, SizeOf(TSynEditorCommand)); - aStream.Write(RepeatCount, SizeOf(RepeatCount)); -end; - -{ TSynCharEvent } - -function TSynCharEvent.GetAsString: string; -var - Ident: string; -begin - EditorCommandToIdent(ecChar, Ident); - Result := Ident + ' ' + Key; - if RepeatCount > 1 then - Result := Result + ' ' + IntToStr(RepeatCount); -end; - -procedure TSynCharEvent.InitEventParameters(aStr: string); -begin - // aStr should be a Key value one character in length - // with an optional repeat count whitespace separated - if Length(aStr) >= 1 then - Key := aStr[1] - else - Key := ' '; - Delete(aStr, 1, 1); // if possible delete the first character - RepeatCount := StrToIntDef(Trim(aStr), 1); -end; - -procedure TSynCharEvent.Initialize(aCmd: TSynEditorCommand; aChar: WideChar; - aData: Pointer); -begin - Key := aChar; - Assert(aData = nil); -end; - -procedure TSynCharEvent.LoadFromStream(aStream: TStream); -begin - aStream.Read(fKey, SizeOf(Key)); - aStream.Read(fRepeatCount, SizeOf(fRepeatCount)); -end; - -procedure TSynCharEvent.Playback(aEditor: TCustomSynEdit); -var - i: Integer; -begin - for i := 1 to RepeatCount do - aEditor.CommandProcessor(ecChar, Key, nil); -end; - -procedure TSynCharEvent.SaveToStream(aStream: TStream); -const - iCharCommand: TSynEditorCommand = ecChar; -begin - aStream.Write(iCharCommand, SizeOf(TSynEditorCommand)); - aStream.Write(Key, SizeOf(Key)); - aStream.Write(RepeatCount, SizeOf(RepeatCount)); -end; - -{ TSynPositionEvent } - -function TSynPositionEvent.GetAsString: string; -begin - Result := inherited GetAsString; - // add position data here - Result := Result + Format(' (%d, %d)', [Position.Char, Position.Line]); - if RepeatCount > 1 then - Result := Result + ' ' + IntToStr(RepeatCount); -end; - -procedure TSynPositionEvent.InitEventParameters(aStr: string); -var - i, o, c, x, y: Integer; - valStr: string; -begin - inherited; - // aStr should be (x, y) with optional repeat count whitespace separated - aStr := Trim(aStr); - i := Pos(',', aStr); - o := Pos('(', aStr); - c := Pos(')', aStr); - if (not ((i = 0) or (o = 0) or (c = 0))) and - ((i > o) and (i < c)) then - begin - valStr := Copy(aStr, o + 1, i - o - 1); - x := StrToIntDef(valStr, 1); - Delete(aStr, 1, i); - aStr := Trim(aStr); - c := Pos(')', aStr); - valStr := Copy(aStr, 1, c - 1); - y := StrToIntDef(valStr, 1); - Position := BufferCoord(x, y); - Delete(aStr, 1, c); - aStr := Trim(aStr); - RepeatCount := StrToIntDef(aStr, 1); - end; -end; - -procedure TSynPositionEvent.Initialize(aCmd: TSynEditorCommand; - aChar: WideChar; aData: Pointer); -begin - inherited; - if aData <> nil then - Position := TBufferCoord(aData^) - else - Position := BufferCoord(0, 0); -end; - -procedure TSynPositionEvent.LoadFromStream(aStream: TStream); -begin - aStream.Read(fPosition, SizeOf(Position)); -end; - -procedure TSynPositionEvent.Playback(aEditor: TCustomSynEdit); -begin - if (Position.Char <> 0) or (Position.Line <> 0) then - aEditor.CommandProcessor(Command, #0, @Position) - else - aEditor.CommandProcessor(Command, #0, nil); -end; - -procedure TSynPositionEvent.SaveToStream(aStream: TStream); -begin - inherited; - aStream.Write(Position, SizeOf(Position)); -end; - -{ TSynStringEvent } - -function TSynStringEvent.GetAsString: string; -var - Ident: string; -begin - EditorCommandToIdent(ecString, Ident); - Result := Ident + ' ' + AnsiQuotedStr(Value, #39); - if RepeatCount > 1 then - Result := Result + ' ' + IntToStr(RepeatCount); -end; - -procedure TSynStringEvent.InitEventParameters(aStr: string); -var - o, c: Integer; - valStr: string; -begin - // aStr = 'test' with optional whitespace separated repeat count - o := Pos('''', aStr); - c := LastDelimiter('''', aStr); - valStr := Copy(aStr, o + 1, c - o - 1); - Value := StringReplace(valStr, '''''', '''', [rfReplaceAll]); - Delete(aStr, 1, c); - RepeatCount := StrToIntDef(Trim(aStr), 1); -end; - -procedure TSynStringEvent.Initialize(aCmd: TSynEditorCommand; aChar: WideChar; - aData: Pointer); -begin - Value := string(aData); -end; - -procedure TSynStringEvent.LoadFromStream(aStream: TStream); -var - l: Integer; - Buff: PWideChar; -begin - aStream.Read(l, sizeof(l)); - GetMem(Buff, l * sizeof(WideChar)); - try - FillMemory(Buff, l, 0); - aStream.Read(Buff^, l * sizeof(WideChar)); - fString := Buff; - finally - FreeMem(Buff); - end; - aStream.Read(fRepeatCount, sizeof(fRepeatCount)); -end; - -procedure TSynStringEvent.Playback(aEditor: TCustomSynEdit); -var - i, j: Integer; -begin - for j := 1 to RepeatCount do - begin -// aEditor.CommandProcessor( ecString, #0, Pointer(Value) ); - // SynEdit doesn't actually support the ecString command so we convert - // it into ecChar commands - for i := 1 to Length(Value) do - aEditor.CommandProcessor(ecChar, Value[i], nil); - end; -end; - -procedure TSynStringEvent.SaveToStream(aStream: TStream); -const - StrCommand: TSynEditorCommand = ecString; -var - l: Integer; - Buff: PWideChar; -begin - aStream.Write(StrCommand, SizeOf(StrCommand)); - l := Length(Value) + 1; - aStream.Write(l, sizeof(l)); - GetMem(Buff, l * sizeof(WideChar)); - try - FillMemory(Buff, l, 0); - StrCopy(Buff, PWideChar(Value)); - aStream.Write(Buff^, l * sizeof(WideChar)); - finally - FreeMem(Buff); - end; - aStream.Write(RepeatCount, sizeof(RepeatCount)); -end; - - -{ TSynMacroEvent } - -constructor TSynMacroEvent.Create; -begin - inherited Create; - fRepeatCount := 1; -end; - end. diff --git a/Source/SynOmniSetupDialog.dfm b/Source/VCL/Vcl.SynOmniSetupDialog.dfm similarity index 100% rename from Source/SynOmniSetupDialog.dfm rename to Source/VCL/Vcl.SynOmniSetupDialog.dfm diff --git a/Source/SynOmniSetupDialog.pas b/Source/VCL/Vcl.SynOmniSetupDialog.pas similarity index 99% rename from Source/SynOmniSetupDialog.pas rename to Source/VCL/Vcl.SynOmniSetupDialog.pas index 927712d3..f1b04131 100644 --- a/Source/SynOmniSetupDialog.pas +++ b/Source/VCL/Vcl.SynOmniSetupDialog.pas @@ -1,4 +1,4 @@ -unit SynOmniSetupDialog; +unit Vcl.SynOmniSetupDialog; interface diff --git a/Source/SynSpellCheck.pas b/Source/VCL/Vcl.SynSpellCheck.pas similarity index 75% rename from Source/SynSpellCheck.pas rename to Source/VCL/Vcl.SynSpellCheck.pas index a9be4a1f..aa618acd 100644 --- a/Source/SynSpellCheck.pas +++ b/Source/VCL/Vcl.SynSpellCheck.pas @@ -20,7 +20,7 @@ -------------------------------------------------------------------------------} -unit SynSpellCheck; +unit Vcl.SynSpellCheck; {$I synedit.inc} {$WARN SYMBOL_PLATFORM OFF} @@ -36,165 +36,28 @@ interface Vcl.Graphics, Vcl.ActnList, SynEdit, - SynEditMiscClasses; - -{$REGION 'Spell Checking Interfaces'} - -// *********************************************************************// -// GUIDS declared in the TypeLibrary. Following prefixes are used: -// Type Libraries : LIBID_xxxx -// CoClasses : CLASS_xxxx -// DISPInterfaces : DIID_xxxx -// Non-DISP interfaces: IID_xxxx -// *********************************************************************// -const - IID_ISpellCheckerFactory: TGUID = '{8E018A9D-2415-4677-BF08-794EA61F94BB}'; - IID_IUserDictionariesRegistrar: TGUID = '{AA176B85-0E12-4844-8E1A-EEF1DA77F586}'; - IID_IEnumString: TGUID = '{00000101-0000-0000-C000-000000000046}'; - IID_ISpellChecker: TGUID = '{B6FD0B71-E2BC-4653-8D05-F197E412770B}'; - IID_IEnumSpellingError: TGUID = '{803E3BD4-2828-4410-8290-418D1D73C762}'; - IID_ISpellingError: TGUID = '{B7C82D61-FBE8-4B47-9B27-6C0D2E0DE0A3}'; - IID_ISpellCheckerChangedEventHandler: TGUID = '{0B83A5B0-792F-4EAB-9799-ACF52C5ED08A}'; - IID_IOptionDescription: TGUID = '{432E5F85-35CF-4606-A801-6F70277E1D7A}'; - CLASS_SpellCheckerFactory: TGUID = '{7AB36653-1796-484B-BDFA-E74F1DB7C1DC}'; - -// *********************************************************************// -// Declaration of Enumerations defined in Type Library -// *********************************************************************// -// Constants for enum CORRECTIVE_ACTION -type - CORRECTIVE_ACTION = TOleEnum; - TCorrectiveAction = (secaNone, secaSuggestions, secaReplace, secaDelete); -const - CORRECTIVE_ACTION_NONE = $00000000; - CORRECTIVE_ACTION_GET_SUGGESTIONS = $00000001; - CORRECTIVE_ACTION_REPLACE = $00000002; - CORRECTIVE_ACTION_DELETE = $00000003; - -type - -// *********************************************************************// -// Forward declaration of types defined in TypeLibrary -// *********************************************************************// - ISpellCheckerFactory = interface; - IUserDictionariesRegistrar = interface; - ISpellChecker = interface; - IEnumSpellingError = interface; - ISpellingError = interface; - ISpellCheckerChangedEventHandler = interface; - IOptionDescription = interface; - -// *********************************************************************// -// Declaration of CoClasses defined in Type Library -// (NOTE: Here we map each CoClass to its Default Interface) -// *********************************************************************// - SpellCheckerFactory = ISpellCheckerFactory; - - -// *********************************************************************// -// Interface: ISpellCheckerFactory -// Flags: (0) -// GUID: {8E018A9D-2415-4677-BF08-794EA61F94BB} -// *********************************************************************// - ISpellCheckerFactory = interface(IUnknown) - ['{8E018A9D-2415-4677-BF08-794EA61F94BB}'] - function Get_SupportedLanguages(out value: IEnumString): HResult; stdcall; - function IsSupported(languageTag: PWideChar; out value: Integer): HResult; stdcall; - function CreateSpellChecker(languageTag: PWideChar; out value: ISpellChecker): HResult; stdcall; - end; - -// *********************************************************************// -// Interface: IUserDictionariesRegistrar -// Flags: (0) -// GUID: {AA176B85-0E12-4844-8E1A-EEF1DA77F586} -// *********************************************************************// - IUserDictionariesRegistrar = interface(IUnknown) - ['{AA176B85-0E12-4844-8E1A-EEF1DA77F586}'] - function RegisterUserDictionary(dictionaryPath: PWideChar; languageTag: PWideChar): HResult; stdcall; - function UnregisterUserDictionary(dictionaryPath: PWideChar; languageTag: PWideChar): HResult; stdcall; - end; - -// *********************************************************************// -// Interface: ISpellChecker -// Flags: (0) -// GUID: {B6FD0B71-E2BC-4653-8D05-F197E412770B} -// *********************************************************************// - ISpellChecker = interface(IUnknown) - ['{B6FD0B71-E2BC-4653-8D05-F197E412770B}'] - function Get_languageTag(out value: PWideChar): HResult; stdcall; - function Check(text: PWideChar; out value: IEnumSpellingError): HResult; stdcall; - function Suggest(word: PWideChar; out value: IEnumString): HResult; stdcall; - function Add(word: PWideChar): HResult; stdcall; - function Ignore(word: PWideChar): HResult; stdcall; - function AutoCorrect(from: PWideChar; to_: PWideChar): HResult; stdcall; - function GetOptionValue(optionId: PWideChar; out value: Byte): HResult; stdcall; - function Get_OptionIds(out value: IEnumString): HResult; stdcall; - function Get_Id(out value: PWideChar): HResult; stdcall; - function Get_LocalizedName(out value: PWideChar): HResult; stdcall; - function add_SpellCheckerChanged(const handler: ISpellCheckerChangedEventHandler; - out eventCookie: LongWord): HResult; stdcall; - function remove_SpellCheckerChanged(eventCookie: LongWord): HResult; stdcall; - function GetOptionDescription(optionId: PWideChar; out value: IOptionDescription): HResult; stdcall; - function ComprehensiveCheck(text: PWideChar; out value: IEnumSpellingError): HResult; stdcall; - end; - -// *********************************************************************// -// Interface: ISpellChecker2 -// Flags: (0) -// GUID: {E7ED1C71-87F7-4378-A840-C9200DACEE47} -// *********************************************************************// - ISpellChecker2 = interface(ISpellChecker) - ['{E7ED1C71-87F7-4378-A840-C9200DACEE47}'] - function Remove(word: PWideChar): HResult; stdcall; - end; - -// *********************************************************************// -// Interface: IEnumSpellingError -// Flags: (0) -// GUID: {803E3BD4-2828-4410-8290-418D1D73C762} -// *********************************************************************// - IEnumSpellingError = interface(IUnknown) - ['{803E3BD4-2828-4410-8290-418D1D73C762}'] - function Next(out value: ISpellingError): HResult; stdcall; - end; - -// *********************************************************************// -// Interface: ISpellingError -// Flags: (0) -// GUID: {B7C82D61-FBE8-4B47-9B27-6C0D2E0DE0A3} -// *********************************************************************// - ISpellingError = interface(IUnknown) - ['{B7C82D61-FBE8-4B47-9B27-6C0D2E0DE0A3}'] - function Get_StartIndex(out value: LongWord): HResult; stdcall; - function Get_Length(out value: LongWord): HResult; stdcall; - function Get_CorrectiveAction(out value: CORRECTIVE_ACTION): HResult; stdcall; - function Get_Replacement(out value: PWideChar): HResult; stdcall; - end; + SynEditMiscClasses, + SynSpellCheckTypes, + SynSpellCheckWinAPI; -// *********************************************************************// -// Interface: ISpellCheckerChangedEventHandler -// Flags: (0) -// GUID: {0B83A5B0-792F-4EAB-9799-ACF52C5ED08A} -// *********************************************************************// - ISpellCheckerChangedEventHandler = interface(IUnknown) - ['{0B83A5B0-792F-4EAB-9799-ACF52C5ED08A}'] - function Invoke(const sender: ISpellChecker): HResult; stdcall; - end; - -// *********************************************************************// -// Interface: IOptionDescription -// Flags: (0) -// GUID: {432E5F85-35CF-4606-A801-6F70277E1D7A} -// *********************************************************************// - IOptionDescription = interface(IUnknown) - ['{432E5F85-35CF-4606-A801-6F70277E1D7A}'] - function Get_Id(out value: PWideChar): HResult; stdcall; - function Get_Heading(out value: PWideChar): HResult; stdcall; - function Get_Description(out value: PWideChar): HResult; stdcall; - function Get_Labels(out value: IEnumString): HResult; stdcall; - end; +{$REGION 'Spell Checking Type Aliases'} -{$ENDREGION 'Spell Checking Interfaces'} +// Re-export COM types so that existing code using Vcl.SynSpellCheck.ISpellChecker +// etc. continues to compile without changes. +type + ISpellCheckerFactory = SynSpellCheckWinAPI.ISpellCheckerFactory; + IUserDictionariesRegistrar = SynSpellCheckWinAPI.IUserDictionariesRegistrar; + ISpellChecker = SynSpellCheckWinAPI.ISpellChecker; + ISpellChecker2 = SynSpellCheckWinAPI.ISpellChecker2; + IEnumSpellingError = SynSpellCheckWinAPI.IEnumSpellingError; + ISpellingError = SynSpellCheckWinAPI.ISpellingError; + ISpellCheckerChangedEventHandler = SynSpellCheckWinAPI.ISpellCheckerChangedEventHandler; + IOptionDescription = SynSpellCheckWinAPI.IOptionDescription; + CORRECTIVE_ACTION = SynSpellCheckWinAPI.CORRECTIVE_ACTION; + TCorrectiveAction = SynSpellCheckWinAPI.TCorrectiveAction; + SpellCheckerFactory = SynSpellCheckWinAPI.ISpellCheckerFactory; + +{$ENDREGION 'Spell Checking Type Aliases'} TUnderlineStyle = (usCorelWordPerfect, usMicrosoftWord); @@ -234,6 +97,7 @@ TWorkItem = record private FLanguageCode: string; FSpellChecker: ISpellChecker; + FProvider: ISynSpellCheckProvider; FEditor: TCustomSynEdit; FEditors: TList; FPlugins: TList; @@ -251,6 +115,7 @@ TWorkItem = record procedure SetPenColor(const Value: TColor); procedure SetUnderlineStyle(const Value: TUnderlineStyle); procedure SetAttributesChecked(const Value: TStrings); + procedure SetProvider(const Value: ISynSpellCheckProvider); class var FSpellCheckFactory: ISpellCheckerFactory; procedure SetCheckAsYouType(const Value: Boolean); protected @@ -277,6 +142,9 @@ TWorkItem = record function ErrorAtPos(BC: TBufferCoord): ISpellingError; // provides access to to the SpellChecker interface function SpellChecker: ISpellChecker; + // Optional provider for plugin-based spell checking (e.g. Hunspell). + // When assigned, SpellCheckLine uses Provider.CheckWord instead of COM. + property Provider: ISynSpellCheckProvider read FProvider write SetProvider; property LanguageCode: string read FLanguageCode write SetLanguageCode; class function SupportedLanguages: TArray; published @@ -368,7 +236,7 @@ implementation System.Math, System.Win.ComObj, SynEditTypes, - SynUnicode, + SynUnicodeShared, SynDWrite, SynEditMiscProcs, SynEditHighlighter, @@ -638,6 +506,15 @@ procedure TSynSpellCheck.SetUnderlineStyle(const Value: TUnderlineStyle); end; end; +procedure TSynSpellCheck.SetProvider(const Value: ISynSpellCheckProvider); +begin + if FProvider <> Value then + begin + FProvider := Value; + Changed; + end; +end; + function TSynSpellCheck.SpellChecker: ISpellChecker; begin if FDictionaryNA then Exit(nil); @@ -697,14 +574,46 @@ function TSynSpellCheck.SpellCheckLine(Editor: TCustomSynEdit; Line: end; end; + procedure ProviderCheckToken(const Token: string; TokenPos: Integer = 0); + var + Words: TArray; + Info: TWordInfo; + WordStartChar, WordEndChar: Integer; + begin + Words := ExtractWords(Token); + for Info in Words do + begin + if not ContainsLetter(Info.Word) then + Continue; + + WordStartChar := Info.StartChar + TokenPos; + WordEndChar := Info.EndChar + TokenPos; + + if (WordStartChar < StartChar) then Continue; + if (WordEndChar > EndChar) then Continue; + + if not FProvider.CheckWord(Info.Word) then + begin + if ErrorPos < 0 then + Editor.Indicators.Add(Line, + TSynIndicator.Create(SpellErrorIndicatorId, + WordStartChar, WordEndChar), False); + // Note: ErrorPos lookup not supported in provider mode (no ISpellingError) + end; + end; + end; + var SLine, Token: string; Attri: TSynHighlighterAttributes; TokenPos: Integer; WorkItem: TWorkItem; + UseProvider: Boolean; begin Result := nil; - if not Assigned(SpellChecker()) then Exit; + UseProvider := Assigned(FProvider) and FProvider.IsAvailable; + + if not UseProvider and not Assigned(SpellChecker()) then Exit; SLine := Editor.Lines[Line - 1]; if SLine = '' then Exit; @@ -737,14 +646,22 @@ function TSynSpellCheck.SpellCheckLine(Editor: TCustomSynEdit; Line: for WorkItem in FWorkList do begin - SpellCheckToken(WorkItem.Token, WorkItem.TokenPos); + if UseProvider then + ProviderCheckToken(WorkItem.Token, WorkItem.TokenPos) + else + SpellCheckToken(WorkItem.Token, WorkItem.TokenPos); // Check if ErrorPos >= 0 and we found the error if Assigned(Result) then Exit; end; end else - SpellCheckToken(SLine); + begin + if UseProvider then + ProviderCheckToken(SLine) + else + SpellCheckToken(SLine); + end; end; class function TSynSpellCheck.SupportedLanguages: TArray; @@ -792,7 +709,9 @@ procedure TSpellCheckPlugin.LinePut(aIndex: Integer; const OldLine: string); begin if Editor <> FSynSpellCheck.Editor then Exit; // Chained editors - if Assigned(FSynSpellCheck.SpellChecker()) and FSynSpellCheck.CheckAsYouType then + if (Assigned(FSynSpellCheck.SpellChecker()) or + (Assigned(FSynSpellCheck.Provider) and FSynSpellCheck.Provider.IsAvailable)) + and FSynSpellCheck.CheckAsYouType then begin Line := Editor.Lines[aIndex]; LineDiff(Line, OldLine, StartingPos, Len1, Len2); @@ -807,7 +726,9 @@ procedure TSpellCheckPlugin.LinesInserted(FirstLine, Count: Integer); begin if Editor <> FSynSpellCheck.Editor then Exit; - if Assigned(FSynSpellCheck.SpellChecker()) and FSynSpellCheck.CheckAsYouType then + if (Assigned(FSynSpellCheck.SpellChecker()) or + (Assigned(FSynSpellCheck.Provider) and FSynSpellCheck.Provider.IsAvailable)) + and FSynSpellCheck.CheckAsYouType then for Line := FirstLine + 1 to FirstLine + Count do FSynSpellCheck.SpellCheckLine(Editor, Line); end; diff --git a/Source/SynURIOpener.pas b/Source/VCL/Vcl.SynURIOpener.pas similarity index 99% rename from Source/SynURIOpener.pas rename to Source/VCL/Vcl.SynURIOpener.pas index 73ecc53c..b7fdd895 100644 --- a/Source/SynURIOpener.pas +++ b/Source/VCL/Vcl.SynURIOpener.pas @@ -40,7 +40,7 @@ http://www.mh-net.de.vu } -unit SynURIOpener; +unit Vcl.SynURIOpener; {$I SynEdit.inc} @@ -52,7 +52,7 @@ interface SynEditTypes, SynEdit, SynHighlighterURI, - SynUnicode, + SynUnicodeShared, Classes; type @@ -101,7 +101,7 @@ implementation ShellAPI, Forms, SynEditHighlighter, - SynEditKeyConst, + SynEditKeyConstShared, SysUtils; type diff --git a/Source/VCL/Vcl.SynUnicode.pas b/Source/VCL/Vcl.SynUnicode.pas new file mode 100644 index 00000000..a769ed7d --- /dev/null +++ b/Source/VCL/Vcl.SynUnicode.pas @@ -0,0 +1,121 @@ +{------------------------------------------------------------------------------- +VCL Unicode facade for SynEdit. + +Re-exports the encoding types, constants, and helper functions from +SynUnicodeShared and adds VCL-specific clipboard routines (Vcl.Clipbrd). +This lets VCL consumer code 'uses Vcl.SynUnicode' as a single import +without needing to know about the shared/VCL split. + +The shared unit was renamed to SynUnicodeShared because Delphi's scope +resolution makes a bare 'SynUnicode' shadow this 'Vcl.SynUnicode' unit +(exact name match wins), which broke the intended layering. +-------------------------------------------------------------------------------} + +unit Vcl.SynUnicode; + +{$I SynEdit.inc} + +interface + +uses + System.Classes, + System.SysUtils, + SynUnicodeShared; + +{ Re-exported constants from SynUnicodeShared } +const + WideNull = SynUnicodeShared.WideNull; + WideTab = SynUnicodeShared.WideTab; + WideSpace = SynUnicodeShared.WideSpace; + WideLF = SynUnicodeShared.WideLF; + WideLineFeed = SynUnicodeShared.WideLineFeed; + WideVerticalTab = SynUnicodeShared.WideVerticalTab; + WideFormFeed = SynUnicodeShared.WideFormFeed; + WideCR = SynUnicodeShared.WideCR; + WideCarriageReturn = SynUnicodeShared.WideCarriageReturn; + WideCRLF = SynUnicodeShared.WideCRLF; + WideLineSeparator = SynUnicodeShared.WideLineSeparator; + WideParagraphSeparator = SynUnicodeShared.WideParagraphSeparator; + +{ Re-exported types from SynUnicodeShared } +type + TSynEncoding = SynUnicodeShared.TSynEncoding; + TSynEncodings = SynUnicodeShared.TSynEncodings; + +{ Re-exported functions from SynUnicodeShared } +procedure StrSwapByteOrder(Str: PWideChar); inline; +function IsAnsiOnly(const WS: string): Boolean; inline; +function IsUTF8(Stream: TStream; out WithBOM: Boolean; BytesToCheck: Integer = $4000): Boolean; overload; inline; +function IsUTF8(const FileName: string; out WithBOM: Boolean; BytesToCheck: Integer = $4000): Boolean; overload; inline; +function IsUTF8(const Bytes: TBytes; Start: Integer = 0; BytesToCheck: Integer = $4000): Boolean; overload; inline; +function GetEncoding(const FileName: string; out WithBOM: Boolean): TEncoding; overload; inline; +function GetEncoding(Stream: TStream; out WithBOM: Boolean): TEncoding; overload; inline; +function IsWideCharMappableToAnsi(const WC: WideChar): Boolean; inline; + +{ VCL clipboard functions } +function ClipboardProvidesText: Boolean; +function GetClipboardText: string; +procedure SetClipboardText(const Text: string); + +implementation + +uses + Winapi.Windows, + Vcl.Clipbrd; + +procedure StrSwapByteOrder(Str: PWideChar); +begin + SynUnicodeShared.StrSwapByteOrder(Str); +end; + +function IsAnsiOnly(const WS: string): Boolean; +begin + Result := SynUnicodeShared.IsAnsiOnly(WS); +end; + +function IsUTF8(Stream: TStream; out WithBOM: Boolean; BytesToCheck: Integer): Boolean; +begin + Result := SynUnicodeShared.IsUTF8(Stream, WithBOM, BytesToCheck); +end; + +function IsUTF8(const FileName: string; out WithBOM: Boolean; BytesToCheck: Integer): Boolean; +begin + Result := SynUnicodeShared.IsUTF8(FileName, WithBOM, BytesToCheck); +end; + +function IsUTF8(const Bytes: TBytes; Start: Integer; BytesToCheck: Integer): Boolean; +begin + Result := SynUnicodeShared.IsUTF8(Bytes, Start, BytesToCheck); +end; + +function GetEncoding(const FileName: string; out WithBOM: Boolean): TEncoding; +begin + Result := SynUnicodeShared.GetEncoding(FileName, WithBOM); +end; + +function GetEncoding(Stream: TStream; out WithBOM: Boolean): TEncoding; +begin + Result := SynUnicodeShared.GetEncoding(Stream, WithBOM); +end; + +function IsWideCharMappableToAnsi(const WC: WideChar): Boolean; +begin + Result := SynUnicodeShared.IsWideCharMappableToAnsi(WC); +end; + +function ClipboardProvidesText: Boolean; +begin + Result := IsClipboardFormatAvailable(CF_UNICODETEXT); +end; + +function GetClipboardText: string; +begin + Result := Clipboard.AsText; +end; + +procedure SetClipboardText(const Text: string); +begin + Clipboard.AsText := Text; +end; + +end. diff --git a/Tests/FMX/FMXSynEditTests.dpr b/Tests/FMX/FMXSynEditTests.dpr new file mode 100644 index 00000000..741cc350 --- /dev/null +++ b/Tests/FMX/FMXSynEditTests.dpr @@ -0,0 +1,71 @@ +program FMXSynEditTests; + +{$APPTYPE CONSOLE} +{$STRONGLINKTYPES ON} + +uses + System.SysUtils, + FMX.Forms, + DUnitX.Loggers.Console, + DUnitX.Loggers.Xml.NUnit, + DUnitX.TestFramework, + TestFMXSynEditBuffer in 'TestFMXSynEditBuffer.pas', + TestFMXSynEditContent in 'TestFMXSynEditContent.pas', + TestFMXSynEditCaret in 'TestFMXSynEditCaret.pas', + TestFMXSynEditUndoRedo in 'TestFMXSynEditUndoRedo.pas', + TestFMXSynEditOptions in 'TestFMXSynEditOptions.pas', + TestFMXSynEditSearch in 'TestFMXSynEditSearch.pas', + TestFMXSynEditCodeFolding in 'TestFMXSynEditCodeFolding.pas', + TestFMXSynEditHighlighter in 'TestFMXSynEditHighlighter.pas', + TestFMXSynEditCommands in 'TestFMXSynEditCommands.pas', + TestFMXSynSpellCheck in 'TestFMXSynSpellCheck.pas', + TestFMXSynWindowsSpellCheck in 'TestFMXSynWindowsSpellCheck.pas', + TestFMXSynSpellCheckComponent in 'TestFMXSynSpellCheckComponent.pas', + TestFMXSynEditBugFixes in 'TestFMXSynEditBugFixes.pas', + TestFMXSynEditSelection in 'TestFMXSynEditSelection.pas', + TestFMXSynEditClipboard in 'TestFMXSynEditClipboard.pas', + TestFMXSynEditEditing in 'TestFMXSynEditEditing.pas', + TestFMXSynEditRenderer in 'TestFMXSynEditRenderer.pas', + TestFMXSynEditCompletionProposal in 'TestFMXSynEditCompletionProposal.pas', + TestSynHighlighterDelphiFolding in 'TestSynHighlighterDelphiFolding.pas', + TestSynHighlighterHTMLFolding in 'TestSynHighlighterHTMLFolding.pas', + TestSynHighlighterXMLFolding in 'TestSynHighlighterXMLFolding.pas', + TestSynHighlighterCSSFolding in 'TestSynHighlighterCSSFolding.pas', + TestFMXSynEditWordWrap in 'TestFMXSynEditWordWrap.pas', + TestFMXSynEditBookmarks in 'TestFMXSynEditBookmarks.pas', + TestFMXSynEditGutter in 'TestFMXSynEditGutter.pas', + TestFMXSynEditMultiCaret in 'TestFMXSynEditMultiCaret.pas', + TestFMXSynEditDragDrop in 'TestFMXSynEditDragDrop.pas', + TestFMXSynMacroRecorder in 'TestFMXSynMacroRecorder.pas'; + +var + Runner: ITestRunner; + Results: IRunResults; + Logger: ITestLogger; + NUnitLogger: ITestLogger; +begin + // FMX platform services must be initialized before creating TFMXSynEdit + Application.Initialize; + try + TDUnitX.CheckCommandLine; + Runner := TDUnitX.CreateRunner; + Logger := TDUnitXConsoleLogger.Create(True); + Runner.AddLogger(Logger); + NUnitLogger := TDUnitXXMLNUnitFileLogger.Create(TDUnitX.Options.XMLOutputFile); + Runner.AddLogger(NUnitLogger); + Runner.FailsOnNoAsserts := True; + Results := Runner.Execute; + if not Results.AllPassed then + System.ExitCode := 1; + {$IFNDEF CI} + if TDUnitX.Options.ExitBehavior = TDUnitXExitBehavior.Pause then + begin + System.Write('Done.. press key to quit.'); + System.Readln; + end; + {$ENDIF} + except + on E: Exception do + System.Writeln(E.ClassName, ': ', E.Message); + end; +end. diff --git a/Tests/FMX/FMXSynEditTests.dproj b/Tests/FMX/FMXSynEditTests.dproj new file mode 100644 index 00000000..d46fc820 --- /dev/null +++ b/Tests/FMX/FMXSynEditTests.dproj @@ -0,0 +1,129 @@ + + + True + Console + Debug + DCC32 + FMX + FMXSynEditTests.dpr + Win32 + {8E7F6A5B-4C3D-2E1F-0A9B-8C7D6E5F4A3B} + FMXSynEditTests + 20.3 + 3 + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + FMXSynEditTests + ..\dcu\$(Platform)\$(Config)\ + ..\bin\$(Platform)\$(Config)\ + SYN_SHARED;$(DCC_Define) + FMX;System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + ..\..\Source;..\..\Source\FMX;..\..\Source\Highlighters;$(DCC_UnitSearchPath) + + + Debug + System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + Debug + System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + 0 + RELEASE;$(DCC_Define) + false + 0 + + + DEBUG;$(DCC_Define) + + + + MainSource + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Base + + + Cfg_1 + Base + + + Cfg_2 + Base + + + + + Delphi.Personality.12 + Application + + + + FMXSynEditTests.dpr + + + + True + True + + + + diff --git a/Tests/FMX/TestFMXSynEditBookmarks.pas b/Tests/FMX/TestFMXSynEditBookmarks.pas new file mode 100644 index 00000000..a2f0f006 --- /dev/null +++ b/Tests/FMX/TestFMXSynEditBookmarks.pas @@ -0,0 +1,252 @@ +unit TestFMXSynEditBookmarks; + +interface + +uses + DUnitX.TestFramework, + FMX.SynEdit; + +type + [TestFixture] + TTestFMXSynEditBookmarks = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestSetBookmark; + [Test] + procedure TestSetBookmarkUpdates; + [Test] + procedure TestClearBookmark; + [Test] + procedure TestGotoBookmark; + [Test] + procedure TestIsBookmarkSet; + [Test] + procedure TestGetBookmarkFalseWhenEmpty; + [Test] + procedure TestMultipleBookmarks; + [Test] + procedure TestToggleOnSameLine; + [Test] + procedure TestToggleDifferentLine; + [Test] + procedure TestAllTenBookmarks; + [Test] + procedure TestMarkListOwnership; + [Test] + procedure TestGotoBookmarkUnset; + [Test] + procedure TestBookmarkAfterClearAll; + [Test] + procedure TestMarksForLine; + [Test] + procedure TestBookmarkLineClamp; + end; + +implementation + +uses + System.SysUtils, + System.Math, + SynEditTypes, + SynEditKeyCmds, + FMX.SynEditMiscClasses; + +const + SampleText = + 'Line one' + sLineBreak + + 'Line two' + sLineBreak + + 'Line three' + sLineBreak + + 'Line four' + sLineBreak + + 'Line five'; + +procedure TTestFMXSynEditBookmarks.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); + FEditor.Text := SampleText; +end; + +procedure TTestFMXSynEditBookmarks.TearDown; +begin + FEditor.Free; +end; + +procedure TTestFMXSynEditBookmarks.TestSetBookmark; +var + X, Y: Integer; +begin + FEditor.SetBookmark(0, 5, 2); + Assert.IsTrue(FEditor.GetBookmark(0, X, Y)); + Assert.AreEqual(5, X); + Assert.AreEqual(2, Y); +end; + +procedure TTestFMXSynEditBookmarks.TestSetBookmarkUpdates; +var + X, Y: Integer; +begin + FEditor.SetBookmark(0, 1, 1); + FEditor.SetBookmark(0, 3, 4); + Assert.IsTrue(FEditor.GetBookmark(0, X, Y)); + Assert.AreEqual(3, X); + Assert.AreEqual(4, Y); + // Mark list should still have only one entry + Assert.AreEqual(1, FEditor.Marks.Count); +end; + +procedure TTestFMXSynEditBookmarks.TestClearBookmark; +begin + FEditor.SetBookmark(1, 1, 1); + Assert.IsTrue(FEditor.IsBookmarkSet(1)); + FEditor.ClearBookmark(1); + Assert.IsFalse(FEditor.IsBookmarkSet(1)); +end; + +procedure TTestFMXSynEditBookmarks.TestGotoBookmark; +begin + FEditor.SetBookmark(2, 5, 3); + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.GotoBookmark(2); + Assert.AreEqual(5, FEditor.CaretX); + Assert.AreEqual(3, FEditor.CaretY); +end; + +procedure TTestFMXSynEditBookmarks.TestIsBookmarkSet; +begin + Assert.IsFalse(FEditor.IsBookmarkSet(0)); + FEditor.SetBookmark(0, 1, 1); + Assert.IsTrue(FEditor.IsBookmarkSet(0)); +end; + +procedure TTestFMXSynEditBookmarks.TestGetBookmarkFalseWhenEmpty; +var + X, Y: Integer; +begin + Assert.IsFalse(FEditor.GetBookmark(5, X, Y)); +end; + +procedure TTestFMXSynEditBookmarks.TestMultipleBookmarks; +var + X, Y: Integer; +begin + FEditor.SetBookmark(0, 1, 1); + FEditor.SetBookmark(1, 2, 2); + FEditor.SetBookmark(2, 3, 3); + FEditor.SetBookmark(3, 4, 4); + + Assert.IsTrue(FEditor.GetBookmark(0, X, Y)); + Assert.AreEqual(1, Y); + Assert.IsTrue(FEditor.GetBookmark(1, X, Y)); + Assert.AreEqual(2, Y); + Assert.IsTrue(FEditor.GetBookmark(2, X, Y)); + Assert.AreEqual(3, Y); + Assert.IsTrue(FEditor.GetBookmark(3, X, Y)); + Assert.AreEqual(4, Y); +end; + +procedure TTestFMXSynEditBookmarks.TestToggleOnSameLine; +begin + // Set bookmark on line 2 + FEditor.SetBookmark(0, 1, 2); + Assert.IsTrue(FEditor.IsBookmarkSet(0)); + + // Move caret to same line and execute ecSetMarker0 — should toggle off + FEditor.CaretXY := BufferCoord(1, 2); + FEditor.ExecuteCommand(ecSetMarker0, #0); + Assert.IsFalse(FEditor.IsBookmarkSet(0)); +end; + +procedure TTestFMXSynEditBookmarks.TestToggleDifferentLine; +var + X, Y: Integer; +begin + // Set bookmark on line 1 + FEditor.SetBookmark(0, 1, 1); + + // Move caret to line 3 and execute ecSetMarker0 — should move bookmark + FEditor.CaretXY := BufferCoord(4, 3); + FEditor.ExecuteCommand(ecSetMarker0, #0); + Assert.IsTrue(FEditor.IsBookmarkSet(0)); + Assert.IsTrue(FEditor.GetBookmark(0, X, Y)); + Assert.AreEqual(3, Y); + Assert.AreEqual(4, X); +end; + +procedure TTestFMXSynEditBookmarks.TestAllTenBookmarks; +begin + for var I := 0 to 9 do + FEditor.SetBookmark(I, 1, Min(I + 1, FEditor.LineCount)); + + for var I := 0 to 9 do + Assert.IsTrue(FEditor.IsBookmarkSet(I), + Format('Bookmark %d should be set', [I])); + + Assert.AreEqual(10, FEditor.Marks.Count); +end; + +procedure TTestFMXSynEditBookmarks.TestMarkListOwnership; +begin + FEditor.SetBookmark(0, 1, 1); + FEditor.SetBookmark(3, 2, 2); + Assert.AreEqual(2, FEditor.Marks.Count); + + FEditor.ClearBookmark(0); + Assert.AreEqual(1, FEditor.Marks.Count); +end; + +procedure TTestFMXSynEditBookmarks.TestGotoBookmarkUnset; +begin + // Should be a no-op — caret stays at (1,1) + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.GotoBookmark(5); + Assert.AreEqual(1, FEditor.CaretX); + Assert.AreEqual(1, FEditor.CaretY); +end; + +procedure TTestFMXSynEditBookmarks.TestBookmarkAfterClearAll; +begin + FEditor.SetBookmark(0, 1, 1); + FEditor.SetBookmark(1, 2, 2); + FEditor.ClearAll; + Assert.IsFalse(FEditor.IsBookmarkSet(0)); + Assert.IsFalse(FEditor.IsBookmarkSet(1)); + Assert.AreEqual(0, FEditor.Marks.Count); +end; + +procedure TTestFMXSynEditBookmarks.TestMarksForLine; +var + LineMarks: TArray; +begin + FEditor.SetBookmark(0, 1, 2); + FEditor.SetBookmark(3, 5, 2); + FEditor.SetBookmark(5, 1, 4); + + LineMarks := FEditor.Marks.GetMarksForLine(2); + Assert.AreEqual(2, Length(LineMarks)); + + LineMarks := FEditor.Marks.GetMarksForLine(4); + Assert.AreEqual(1, Length(LineMarks)); + + LineMarks := FEditor.Marks.GetMarksForLine(1); + Assert.AreEqual(0, Length(LineMarks)); +end; + +procedure TTestFMXSynEditBookmarks.TestBookmarkLineClamp; +var + X, Y: Integer; +begin + // Set bookmark beyond line count — should clamp + FEditor.SetBookmark(0, 1, 999); + Assert.IsTrue(FEditor.GetBookmark(0, X, Y)); + Assert.AreEqual(FEditor.LineCount, Y); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXSynEditBookmarks); + +end. diff --git a/Tests/FMX/TestFMXSynEditBuffer.pas b/Tests/FMX/TestFMXSynEditBuffer.pas new file mode 100644 index 00000000..626a3d63 --- /dev/null +++ b/Tests/FMX/TestFMXSynEditBuffer.pas @@ -0,0 +1,138 @@ +unit TestFMXSynEditBuffer; + +interface + +uses + DUnitX.TestFramework, + FMX.SynEdit; + +type + [TestFixture] + TTestFMXSynEditBuffer = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestLinesInitiallyEmpty; + [Test] + procedure TestAddSingle; + [Test] + procedure TestAddMultiple; + [Test] + procedure TestInsert; + [Test] + procedure TestDelete; + [Test] + procedure TestCount; + [Test] + procedure TestClear; + [Test] + procedure TestTextProperty; + [Test] + procedure TestIndexAccess; + [Test] + procedure TestLineCountMatchesLines; + end; + +implementation + +uses + System.SysUtils; + +procedure TTestFMXSynEditBuffer.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); +end; + +procedure TTestFMXSynEditBuffer.TearDown; +begin + FEditor.Free; +end; + +procedure TTestFMXSynEditBuffer.TestLinesInitiallyEmpty; +begin + Assert.AreEqual(0, FEditor.Lines.Count); +end; + +procedure TTestFMXSynEditBuffer.TestAddSingle; +begin + FEditor.Lines.Add('Hello'); + Assert.AreEqual(1, FEditor.Lines.Count); + Assert.AreEqual('Hello', FEditor.Lines[0]); +end; + +procedure TTestFMXSynEditBuffer.TestAddMultiple; +begin + FEditor.Lines.Add('Line1'); + FEditor.Lines.Add('Line2'); + FEditor.Lines.Add('Line3'); + Assert.AreEqual(3, FEditor.Lines.Count); +end; + +procedure TTestFMXSynEditBuffer.TestInsert; +begin + FEditor.Lines.Add('First'); + FEditor.Lines.Add('Third'); + FEditor.Lines.Insert(1, 'Second'); + Assert.AreEqual(3, FEditor.Lines.Count); + Assert.AreEqual('Second', FEditor.Lines[1]); +end; + +procedure TTestFMXSynEditBuffer.TestDelete; +begin + FEditor.Lines.Add('Keep'); + FEditor.Lines.Add('Remove'); + FEditor.Lines.Delete(1); + Assert.AreEqual(1, FEditor.Lines.Count); + Assert.AreEqual('Keep', FEditor.Lines[0]); +end; + +procedure TTestFMXSynEditBuffer.TestCount; +begin + Assert.AreEqual(0, FEditor.Lines.Count); + FEditor.Lines.Add('A'); + Assert.AreEqual(1, FEditor.Lines.Count); + FEditor.Lines.Add('B'); + Assert.AreEqual(2, FEditor.Lines.Count); +end; + +procedure TTestFMXSynEditBuffer.TestClear; +begin + FEditor.Lines.Add('Something'); + FEditor.Lines.Add('Else'); + FEditor.Lines.Clear; + Assert.AreEqual(0, FEditor.Lines.Count); +end; + +procedure TTestFMXSynEditBuffer.TestTextProperty; +begin + FEditor.Lines.Text := 'Line1' + sLineBreak + 'Line2'; + Assert.AreEqual(2, FEditor.Lines.Count); + Assert.AreEqual('Line1', FEditor.Lines[0]); + Assert.AreEqual('Line2', FEditor.Lines[1]); +end; + +procedure TTestFMXSynEditBuffer.TestIndexAccess; +begin + FEditor.Lines.Add('Zero'); + FEditor.Lines.Add('One'); + FEditor.Lines.Add('Two'); + Assert.AreEqual('Zero', FEditor.Lines[0]); + Assert.AreEqual('One', FEditor.Lines[1]); + Assert.AreEqual('Two', FEditor.Lines[2]); +end; + +procedure TTestFMXSynEditBuffer.TestLineCountMatchesLines; +begin + FEditor.Text := 'A' + sLineBreak + 'B' + sLineBreak + 'C'; + Assert.AreEqual(FEditor.Lines.Count, FEditor.LineCount); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXSynEditBuffer); + +end. diff --git a/Tests/FMX/TestFMXSynEditBugFixes.pas b/Tests/FMX/TestFMXSynEditBugFixes.pas new file mode 100644 index 00000000..5e5f23c7 --- /dev/null +++ b/Tests/FMX/TestFMXSynEditBugFixes.pas @@ -0,0 +1,963 @@ +unit TestFMXSynEditBugFixes; + +interface + +uses + System.Classes, + System.UITypes, + FMX.Types, + DUnitX.TestFramework, + FMX.SynEdit; + +type + { Tests for blocking bugs identified in the FMX port review } + + [TestFixture] + TTestPluginRegistration = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestPluginAutoRegisters; + [Test] + procedure TestPluginAutoUnregistersOnFree; + [Test] + procedure TestPluginHandlersSetViaConstructor; + [Test] + procedure TestPluginDefaultHandlersEmpty; + [Test] + procedure TestPluginAfterPaintDispatch; + end; + + [TestFixture] + TTestModifiedProperty = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestModifiedInitiallyFalse; + [Test] + procedure TestModifiedTrueAfterEdit; + [Test] + procedure TestModifiedFalseAfterSaveReset; + [Test] + procedure TestModifiedDiffersFromCanUndo; + [Test] + procedure TestCanUndoTrueWhenModifiedFalse; + end; + + [TestFixture] + TTestTextBufferNilWidthFunc = class + public + [Test] + procedure TestGetTextWidthWithNilFunc; + [Test] + procedure TestGetMaxWidthWithNilFunc; + [Test] + procedure TestPutWithNilFunc; + end; + + [TestFixture] + TTestTabExpansion = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestMaxScrollWidthWithTabs; + [Test] + procedure TestMaxScrollWidthNoTabs; + [Test] + procedure TestMaxScrollWidthMixedLines; + [Test] + procedure TestExpandTabsAtColumnBoundary; + [Test] + procedure TestExpandTabsMidColumn; + end; + + [TestFixture] + TTestAutoIndentTabs = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestAutoIndentPreservesLeadingTabs; + [Test] + procedure TestAutoIndentPreservesMixedWhitespace; + [Test] + procedure TestAutoIndentWithSpacesStillWorks; + [Test] + procedure TestNoAutoIndentWhenDisabled; + end; + + [TestFixture] + TTestPixelToBufferCoord = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestClickLeftOfCharBoundary; + [Test] + procedure TestClickRightOfCharBoundary; + [Test] + procedure TestClickExactlyOnCharBoundary; + [Test] + procedure TestClickInGutterClampsToOne; + end; + + [TestFixture] + TTestScrollBarSizing = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestLinesInWindowDeltaNoScrollBars; + [Test] + procedure TestCharsInWindowDeltaNoScrollBars; + [Test] + procedure TestScrollBarsHiddenInitially; + end; + + { Tests for cross-platform fixes (issues 13-15) } + [TestFixture] + TTestCrossPlatformFixes = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + { Issue 13: Selection colors should not use Windows system colors } + [Test] + procedure TestSelectionBGNotSystemColor; + [Test] + procedure TestSelectionFGNotSystemColor; + [Test] + procedure TestSelectionBGIsExplicitARGB; + [Test] + procedure TestSelectionFGIsExplicitARGB; + { Issue 15: BlockBegin/BlockEnd should be writable } + [Test] + procedure TestBlockBeginWritable; + [Test] + procedure TestBlockEndWritable; + [Test] + procedure TestBlockBeginResetsBlockEnd; + [Test] + procedure TestBlockBeginClampsToMin; + [Test] + procedure TestSetSelectionViaProperties; + end; + + [TestFixture] + TTestKeyboardHandlerChain = class + private + FEditor: TFMXSynEdit; + FHandlerCalled: Boolean; + FHandlerKey: Word; + FUserHandlerCalled: Boolean; + procedure KeyDownHandler(Sender: TObject; var Key: Word; + var KeyChar: WideChar; Shift: TShiftState); + procedure ConsumingKeyDownHandler(Sender: TObject; var Key: Word; + var KeyChar: WideChar; Shift: TShiftState); + procedure UserOnKeyDown(Sender: TObject; var Key: Word; + var KeyChar: WideChar; Shift: TShiftState); + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestAddKeyDownHandlerIsCalled; + [Test] + procedure TestRemoveKeyDownHandler; + [Test] + procedure TestMultipleHandlersBothCalled; + [Test] + procedure TestConsumingHandlerStopsChain; + [Test] + procedure TestOnKeyDownPreservedWithHandler; + end; + +implementation + +uses + System.Types, + System.SysUtils, + System.Math, + FMX.Graphics, + SynEditTypes, + SynEditKeyCmds, + SynEditTextBuffer, + FMX.SynEditMiscClasses; + +type + // Helper to access protected KeyDown for testing + TTestFMXSynEdit = class(TFMXSynEdit) + public + procedure DoKeyDown(var Key: Word; var KeyChar: WideChar; + Shift: TShiftState); + end; + +procedure TTestFMXSynEdit.DoKeyDown(var Key: Word; var KeyChar: WideChar; + Shift: TShiftState); +begin + KeyDown(Key, KeyChar, Shift); +end; + +{ ---- Bug 1: Plugin auto-registration ---- } + +type + { Access class to reach protected DoPluginAfterPaint for testing } + TFMXSynEditAccess = class(TCustomFMXSynEdit); + + TTestPlugin = class(TSynFMXEditPlugin) + public + AfterPaintCalled: Boolean; + procedure AfterPaint(Canvas: TCanvas; const AClip: TRectF; + FirstLine, LastLine: Integer); override; + end; + +procedure TTestPlugin.AfterPaint(Canvas: TCanvas; const AClip: TRectF; + FirstLine, LastLine: Integer); +begin + AfterPaintCalled := True; +end; + +procedure TTestPluginRegistration.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); +end; + +procedure TTestPluginRegistration.TearDown; +begin + FEditor.Free; +end; + +procedure TTestPluginRegistration.TestPluginAutoRegisters; +var + Plugin: TTestPlugin; +begin + // Creating a plugin with an owner should auto-register it + Plugin := TTestPlugin.Create(FEditor, [phAfterPaint]); + try + // Verify it was registered: unregister should succeed without error + FEditor.UnregisterPlugin(Plugin); + // Re-register manually to confirm the API works + FEditor.RegisterPlugin(Plugin); + Assert.IsTrue(Plugin.Owner = FEditor, + 'Plugin should be owned by the editor after registration'); + finally + // Destructor will auto-unregister + Plugin.Free; + end; +end; + +procedure TTestPluginRegistration.TestPluginAutoUnregistersOnFree; +var + Plugin: TTestPlugin; +begin + Plugin := TTestPlugin.Create(FEditor, [phAfterPaint]); + // Free should auto-unregister - should not AV or leave dangling pointer + Plugin.Free; + // Editor should still be usable after plugin is freed + FEditor.Text := 'test'; + Assert.AreEqual('test', FEditor.Lines[0]); +end; + +procedure TTestPluginRegistration.TestPluginHandlersSetViaConstructor; +var + Plugin: TTestPlugin; +begin + Plugin := TTestPlugin.Create(FEditor, [phAfterPaint, phLinesInserted]); + try + Assert.IsTrue(phAfterPaint in Plugin.Handlers); + Assert.IsTrue(phLinesInserted in Plugin.Handlers); + Assert.IsFalse(phLinesDeleted in Plugin.Handlers); + finally + Plugin.Free; + end; +end; + +procedure TTestPluginRegistration.TestPluginDefaultHandlersEmpty; +var + Plugin: TTestPlugin; +begin + Plugin := TTestPlugin.Create(FEditor); + try + Assert.IsTrue(Plugin.Handlers = [], + 'Default handlers should be empty set'); + finally + Plugin.Free; + end; +end; + +procedure TTestPluginRegistration.TestPluginAfterPaintDispatch; +var + Plugin: TTestPlugin; + Helper: TFMXSynEditAccess; +begin + // Tests that DoPluginAfterPaint actually dispatches to registered plugins + Plugin := TTestPlugin.Create(FEditor, [phAfterPaint]); + try + Assert.IsFalse(Plugin.AfterPaintCalled, + 'AfterPaint should not be called before dispatch'); + // DoPluginAfterPaint is protected; use a cast to access it + Helper := TFMXSynEditAccess(FEditor); + Helper.DoPluginAfterPaint(nil, TRectF.Empty, 1, 1); + Assert.IsTrue(Plugin.AfterPaintCalled, + 'AfterPaint should be called after DoPluginAfterPaint dispatch'); + finally + Plugin.Free; + end; +end; + +{ ---- Bug 2: Modified property ---- } + +procedure TTestModifiedProperty.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); +end; + +procedure TTestModifiedProperty.TearDown; +begin + FEditor.Free; +end; + +procedure TTestModifiedProperty.TestModifiedInitiallyFalse; +begin + Assert.IsFalse(FEditor.Modified, + 'New editor should not be modified'); +end; + +procedure TTestModifiedProperty.TestModifiedTrueAfterEdit; +begin + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecChar, 'X'); + Assert.IsTrue(FEditor.Modified, + 'Editor should be modified after typing'); +end; + +procedure TTestModifiedProperty.TestModifiedFalseAfterSaveReset; +begin + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecChar, 'X'); + Assert.IsTrue(FEditor.Modified); + // Simulate save by resetting Modified via the undo interface + FEditor.UndoRedo.Modified := False; + Assert.IsFalse(FEditor.Modified, + 'Modified should be False after save reset'); +end; + +procedure TTestModifiedProperty.TestModifiedDiffersFromCanUndo; +begin + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecChar, 'X'); + Assert.IsTrue(FEditor.Modified); + Assert.IsTrue(FEditor.CanUndo); + // Reset Modified (simulating save) - CanUndo should remain True + FEditor.UndoRedo.Modified := False; + Assert.IsFalse(FEditor.Modified, + 'Modified should be False after reset'); + Assert.IsTrue(FEditor.CanUndo, + 'CanUndo should still be True - undo stack was not cleared'); +end; + +procedure TTestModifiedProperty.TestCanUndoTrueWhenModifiedFalse; +begin + // This is the key test: the old bug had Modified = CanUndo + FEditor.Text := 'AB'; + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecChar, 'X'); + // Simulate save + FEditor.UndoRedo.Modified := False; + // After save: Modified=False, CanUndo=True (they must differ) + Assert.IsFalse(FEditor.Modified, 'Modified should be False after save'); + Assert.IsTrue(FEditor.CanUndo, 'CanUndo should be True (undo stack exists)'); + Assert.AreNotEqual(FEditor.Modified, FEditor.CanUndo, + 'Modified and CanUndo should differ after save'); +end; + +{ ---- Bug 4: TSynEditStringList nil FTextWidthFunc ---- } + +procedure TTestTextBufferNilWidthFunc.TestGetTextWidthWithNilFunc; +var + Lines: TSynEditStringList; +begin + Lines := TSynEditStringList.Create(nil); + try + Lines.Add('Hello World'); + // GetTextWidth should not crash - should fall back to Length + Assert.AreEqual(11, Lines.TextWidth[0], + 'TextWidth with nil func should return string length'); + finally + Lines.Free; + end; +end; + +procedure TTestTextBufferNilWidthFunc.TestGetMaxWidthWithNilFunc; +var + Lines: TSynEditStringList; +begin + Lines := TSynEditStringList.Create(nil); + try + Lines.Add('Short'); + Lines.Add('A longer line'); + // MaxWidth should not crash - should use Length fallback + Assert.AreEqual(13, Lines.MaxWidth, + 'MaxWidth with nil func should use string length'); + finally + Lines.Free; + end; +end; + +procedure TTestTextBufferNilWidthFunc.TestPutWithNilFunc; +var + Lines: TSynEditStringList; +begin + Lines := TSynEditStringList.Create(nil); + try + Lines.Add('Original'); + // Force a width calculation to initialize MaxWidth + Lines.MaxWidth; + // Put triggers width recalculation via FTextWidthFunc + Lines[0] := 'Replacement text'; + // Should not crash, and TextWidth should reflect new length + Assert.AreEqual(16, Lines.TextWidth[0], + 'TextWidth after Put with nil func should return new length'); + finally + Lines.Free; + end; +end; + +{ ---- Bugs 5 & 6: Tab expansion ---- } + +procedure TTestTabExpansion.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); + FEditor.TabWidth := 8; + // Disable eoTabsToSpaces so literal tabs stay in buffer + FEditor.Options := FEditor.Options - [eoTabsToSpaces]; +end; + +procedure TTestTabExpansion.TearDown; +begin + FEditor.Free; +end; + +procedure TTestTabExpansion.TestMaxScrollWidthWithTabs; +begin + // Tab at column 0 expands to 8 spaces, "AB" is 2 chars = 10 visual columns + FEditor.Text := #9'AB'; + // MaxScrollWidth should use expanded length (10), not raw length (3) + Assert.AreEqual(11, FEditor.MaxScrollWidth, + 'MaxScrollWidth should be 11 for tab(8)+AB(2)+1'); +end; + +procedure TTestTabExpansion.TestMaxScrollWidthNoTabs; +begin + FEditor.Text := 'ABCDEFGHIJ'; // 10 chars, no tabs + Assert.AreEqual(11, FEditor.MaxScrollWidth, + 'MaxScrollWidth should be 11 for 10-char line+1'); +end; + +procedure TTestTabExpansion.TestMaxScrollWidthMixedLines; +begin + // Line 1: 5 chars. Line 2: tab(8) + 5 = 13 visual. + FEditor.Text := 'Hello' + sLineBreak + #9'World'; + Assert.AreEqual(14, FEditor.MaxScrollWidth, + 'MaxScrollWidth should be 14 for tab(8)+World(5)+1'); +end; + +procedure TTestTabExpansion.TestExpandTabsAtColumnBoundary; +begin + // "12345678\tX" - tab at column 8 should expand to 8 spaces (next tab stop) + // Total: 8 + 8 + 1 = 17 visual columns + FEditor.Text := '12345678'#9'X'; + Assert.AreEqual(18, FEditor.MaxScrollWidth, + 'MaxScrollWidth should be 18 for 8chars+tab(8)+X(1)+1'); +end; + +procedure TTestTabExpansion.TestExpandTabsMidColumn; +begin + // "123\tX" - tab at column 3, expands to 5 spaces (to reach column 8) + // Total: 3 + 5 + 1 = 9 visual columns (but "123" occupies cols 0-2, + // tab fills cols 3-7, X at col 8 = 9 visual columns) + FEditor.Text := '123'#9'X'; + Assert.AreEqual(10, FEditor.MaxScrollWidth, + 'MaxScrollWidth should be 10 for 123(3)+tab(5)+X(1)+1'); +end; + +{ ---- Bug 7: Keyboard handler chain ---- } + +procedure TTestKeyboardHandlerChain.Setup; +begin + FEditor := TTestFMXSynEdit.Create(nil); + FHandlerCalled := False; + FHandlerKey := 0; + FUserHandlerCalled := False; +end; + +procedure TTestKeyboardHandlerChain.TearDown; +begin + FEditor.Free; +end; + +procedure TTestKeyboardHandlerChain.KeyDownHandler(Sender: TObject; + var Key: Word; var KeyChar: WideChar; Shift: TShiftState); +begin + FHandlerCalled := True; + FHandlerKey := Key; +end; + +procedure TTestKeyboardHandlerChain.ConsumingKeyDownHandler(Sender: TObject; + var Key: Word; var KeyChar: WideChar; Shift: TShiftState); +begin + FHandlerCalled := True; + FHandlerKey := Key; + // Consume the key + Key := 0; + KeyChar := #0; +end; + +procedure TTestKeyboardHandlerChain.UserOnKeyDown(Sender: TObject; + var Key: Word; var KeyChar: WideChar; Shift: TShiftState); +begin + FUserHandlerCalled := True; +end; + +procedure TTestKeyboardHandlerChain.TestAddKeyDownHandlerIsCalled; +var + Key: Word; + KeyChar: WideChar; +begin + FEditor.AddKeyDownHandler(KeyDownHandler); + try + // Simulate a key press through KeyDown + Key := vkReturn; + KeyChar := #0; + TTestFMXSynEdit(FEditor).DoKeyDown(Key, KeyChar, []); + Assert.IsTrue(FHandlerCalled, + 'KeyDown handler should have been called'); + Assert.AreEqual(Word(vkReturn), FHandlerKey, + 'Handler should receive the correct key'); + finally + FEditor.RemoveKeyDownHandler(KeyDownHandler); + end; +end; + +procedure TTestKeyboardHandlerChain.TestRemoveKeyDownHandler; +var + Key: Word; + KeyChar: WideChar; +begin + FEditor.AddKeyDownHandler(KeyDownHandler); + FEditor.RemoveKeyDownHandler(KeyDownHandler); + Key := vkReturn; + KeyChar := #0; + TTestFMXSynEdit(FEditor).DoKeyDown(Key, KeyChar, []); + Assert.IsFalse(FHandlerCalled, + 'Removed handler should not be called'); +end; + +procedure TTestKeyboardHandlerChain.TestMultipleHandlersBothCalled; +var + Key: Word; + KeyChar: WideChar; +begin + // Register the same non-consuming handler twice to verify both fire + FEditor.AddKeyDownHandler(KeyDownHandler); + FEditor.AddKeyDownHandler(KeyDownHandler); + try + FHandlerCalled := False; + Key := vkReturn; + KeyChar := #0; + TTestFMXSynEdit(FEditor).DoKeyDown(Key, KeyChar, []); + Assert.IsTrue(FHandlerCalled, + 'Handler should be called when multiple handlers registered'); + finally + FEditor.RemoveKeyDownHandler(KeyDownHandler); + FEditor.RemoveKeyDownHandler(KeyDownHandler); + end; +end; + +procedure TTestKeyboardHandlerChain.TestConsumingHandlerStopsChain; +var + Key: Word; + KeyChar: WideChar; +begin + // Add a non-consuming handler first (it runs last since chain is LIFO) + FEditor.AddKeyDownHandler(KeyDownHandler); + // Add a consuming handler second (it runs first in LIFO order) + FEditor.AddKeyDownHandler(ConsumingKeyDownHandler); + try + FHandlerCalled := False; + Key := vkReturn; + KeyChar := #0; + TTestFMXSynEdit(FEditor).DoKeyDown(Key, KeyChar, []); + // The consuming handler should have been called + Assert.IsTrue(FHandlerCalled, + 'Consuming handler should have been called'); + // Key should be consumed (set to 0) + Assert.AreEqual(Word(0), Key, + 'Key should be consumed by handler'); + finally + FEditor.RemoveKeyDownHandler(ConsumingKeyDownHandler); + FEditor.RemoveKeyDownHandler(KeyDownHandler); + end; +end; + +procedure TTestKeyboardHandlerChain.TestOnKeyDownPreservedWithHandler; +var + Key: Word; + KeyChar: WideChar; +begin + // This is the key test: assigning OnKeyDown and adding a handler + // should NOT destroy the OnKeyDown handler + FEditor.OnKeyDown := UserOnKeyDown; + FEditor.AddKeyDownHandler(KeyDownHandler); + try + Assert.IsTrue(Assigned(FEditor.OnKeyDown), + 'OnKeyDown should still be assigned after AddKeyDownHandler'); + + // Simulate a key press + Key := vkReturn; + KeyChar := #0; + TTestFMXSynEdit(FEditor).DoKeyDown(Key, KeyChar, []); + + Assert.IsTrue(FHandlerCalled, + 'Chain handler should have been called'); + // The OnKeyDown fires via inherited KeyDown, which is called first + Assert.IsTrue(FUserHandlerCalled, + 'User OnKeyDown handler should still be called'); + finally + FEditor.RemoveKeyDownHandler(KeyDownHandler); + end; + + // After removing chain handler, OnKeyDown should still be intact + Assert.IsTrue(Assigned(FEditor.OnKeyDown), + 'OnKeyDown should still be assigned after RemoveKeyDownHandler'); +end; + +{ ---- Auto-indent with tabs ---- } + +procedure TTestAutoIndentTabs.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); + Assert.IsTrue(eoAutoIndent in FEditor.Options, 'eoAutoIndent should be on by default'); + // Disable eoTabsToSpaces so literal tabs stay in the buffer + FEditor.Options := FEditor.Options - [eoTabsToSpaces]; +end; + +procedure TTestAutoIndentTabs.TearDown; +begin + FEditor.Free; +end; + +procedure TTestAutoIndentTabs.TestAutoIndentPreservesLeadingTabs; +begin + FEditor.Text := #9'indented'; + FEditor.CaretXY := BufferCoord(10, 1); // end of line + FEditor.ExecuteCommand(ecLineBreak, #0); + Assert.AreEqual(2, FEditor.LineCount); + Assert.AreEqual(#9, Copy(FEditor.Lines[1], 1, 1), + 'New line should start with a tab from auto-indent'); +end; + +procedure TTestAutoIndentTabs.TestAutoIndentPreservesMixedWhitespace; +begin + FEditor.Text := #9' mixed'; + FEditor.CaretXY := BufferCoord(9, 1); // end of line + FEditor.ExecuteCommand(ecLineBreak, #0); + Assert.AreEqual(2, FEditor.LineCount); + Assert.AreEqual(#9' ', Copy(FEditor.Lines[1], 1, 3), + 'New line should preserve tab+spaces from auto-indent'); +end; + +procedure TTestAutoIndentTabs.TestAutoIndentWithSpacesStillWorks; +begin + FEditor.Text := ' spaced'; + FEditor.CaretXY := BufferCoord(11, 1); + FEditor.ExecuteCommand(ecLineBreak, #0); + Assert.AreEqual(2, FEditor.LineCount); + Assert.AreEqual(' ', Copy(FEditor.Lines[1], 1, 4), + 'Auto-indent should still work with spaces'); +end; + +procedure TTestAutoIndentTabs.TestNoAutoIndentWhenDisabled; +begin + FEditor.Options := FEditor.Options - [eoAutoIndent]; + FEditor.Text := #9'indented'; + FEditor.CaretXY := BufferCoord(10, 1); + FEditor.ExecuteCommand(ecLineBreak, #0); + Assert.AreEqual(2, FEditor.LineCount); + Assert.AreEqual('', FEditor.Lines[1], + 'No auto-indent should produce empty new line'); +end; + +{ ---- PixelToBufferCoord ---- } + +procedure TTestPixelToBufferCoord.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); + FEditor.Text := 'ABCDEFGHIJ'; + FEditor.Width := 500; + FEditor.Height := 300; +end; + +procedure TTestPixelToBufferCoord.TearDown; +begin + FEditor.Free; +end; + +procedure TTestPixelToBufferCoord.TestClickLeftOfCharBoundary; +var + BC: TBufferCoord; + Char3Px: TPointF; +begin + // Get exact pixel position of char 3 + Char3Px := FEditor.BufferCoordToPixel(BufferCoord(3, 1)); + // Click slightly left of char 3 start — should map to char 2, not char 3 + BC := FEditor.PixelToBufferCoord(Char3Px.X - 1, Char3Px.Y); + Assert.AreEqual(2, BC.Char, + 'Clicking 1px left of char 3 should map to char 2 (Trunc behavior)'); +end; + +procedure TTestPixelToBufferCoord.TestClickRightOfCharBoundary; +var + BC: TBufferCoord; + Char3Px: TPointF; +begin + // Click just past the start of char 3 + Char3Px := FEditor.BufferCoordToPixel(BufferCoord(3, 1)); + BC := FEditor.PixelToBufferCoord(Char3Px.X + 1, Char3Px.Y); + Assert.AreEqual(3, BC.Char, + 'Clicking 1px right of char 3 start should map to char 3'); +end; + +procedure TTestPixelToBufferCoord.TestClickExactlyOnCharBoundary; +var + BC: TBufferCoord; + Char3Px: TPointF; +begin + // Click exactly on the start of char 3 + Char3Px := FEditor.BufferCoordToPixel(BufferCoord(3, 1)); + BC := FEditor.PixelToBufferCoord(Char3Px.X, Char3Px.Y); + Assert.AreEqual(3, BC.Char, + 'Clicking exactly on char 3 start should map to char 3'); +end; + +procedure TTestPixelToBufferCoord.TestClickInGutterClampsToOne; +var + BC: TBufferCoord; +begin + // Click at X = 0 (gutter area) — should clamp to char 1 + BC := FEditor.PixelToBufferCoord(0, 0); + Assert.AreEqual(1, BC.Char, + 'Clicking in gutter should clamp to char 1'); +end; + +{ ---- Scrollbar conditional sizing ---- } + +procedure TTestScrollBarSizing.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); + FEditor.Width := 400; + FEditor.Height := 300; +end; + +procedure TTestScrollBarSizing.TearDown; +begin + FEditor.Free; +end; + +procedure TTestScrollBarSizing.TestLinesInWindowDeltaNoScrollBars; +var + Lines300, Lines400: Integer; + ExpectedDelta: Integer; +begin + // Short content — no scrollbars should appear + FEditor.Text := 'Short'; + FEditor.Height := 300; + Lines300 := FEditor.LinesInWindow; + FEditor.Height := 400; + Lines400 := FEditor.LinesInWindow; + // Increasing height by 100 should gain exactly Trunc(100/LineHeight) lines + ExpectedDelta := Integer(Trunc(100 / FEditor.LineHeight)); + Assert.AreEqual(ExpectedDelta, Lines400 - Lines300, + 'LinesInWindow delta should match full height delta when no scrollbar'); +end; + +procedure TTestScrollBarSizing.TestCharsInWindowDeltaNoScrollBars; +var + CharsNarrow, CharsWide: Integer; +begin + // Short content — no vertical scrollbar should appear + FEditor.Text := 'Short'; + FEditor.Width := 300; + CharsNarrow := FEditor.CharsInWindow; + FEditor.Width := 500; + CharsWide := FEditor.CharsInWindow; + // Adding 200px should gain roughly 200/CharWidth chars (within 1 of rounding) + Assert.IsTrue(Abs((CharsWide - CharsNarrow) * FEditor.CharWidth - 200) < FEditor.CharWidth, + 'CharsInWindow delta should reflect full width change when no scrollbar'); +end; + +procedure TTestScrollBarSizing.TestScrollBarsHiddenInitially; +var + LinesShort, LinesManyShort: Integer; +begin + // Verify that adding more short lines (that don't need a horizontal + // scrollbar) doesn't reduce LinesInWindow. If the vertical scrollbar + // were incorrectly shown for short content, LinesInWindow would shrink. + FEditor.Text := 'Short'; + FEditor.Height := 300; + LinesShort := FEditor.LinesInWindow; + + // 5 short lines — still fits in window, no scrollbar needed + FEditor.Text := 'A' + sLineBreak + 'B' + sLineBreak + 'C' + + sLineBreak + 'D' + sLineBreak + 'E'; + LinesManyShort := FEditor.LinesInWindow; + + Assert.AreEqual(LinesShort, LinesManyShort, + 'LinesInWindow should not change when adding lines that still fit'); +end; + +{ ---- Cross-platform fixes (issues 13-15) ---- } + +procedure TTestCrossPlatformFixes.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); + FEditor.Text := 'hello world' + sLineBreak + 'second line'; +end; + +procedure TTestCrossPlatformFixes.TearDown; +begin + FEditor.Free; +end; + +procedure TTestCrossPlatformFixes.TestSelectionBGNotSystemColor; +begin + // Issue 13: Default selection background should NOT be a system color + // (system colors have the SystemColor flag bit set and rely on platform + // APIs to resolve, which may fail on non-Windows FMX targets) + Assert.AreNotEqual(TColor(TColors.SysHighlight), + FEditor.SelectedColor.Background, + 'Default selection BG should not be clHighlight system color'); +end; + +procedure TTestCrossPlatformFixes.TestSelectionFGNotSystemColor; +begin + Assert.AreNotEqual(TColor(TColors.SysHighlightText), + FEditor.SelectedColor.Foreground, + 'Default selection FG should not be clHighlightText system color'); +end; + +procedure TTestCrossPlatformFixes.TestSelectionBGIsExplicitARGB; +begin + // TColor uses BGR format where system colors have negative values (high bit + // set). Explicit colors are non-negative (>= 0). Verify the default is + // not a system color so TColorToAlphaColor can convert it on any platform. + Assert.IsTrue(Integer(FEditor.SelectedColor.Background) >= 0, + 'Selection BG should be a non-negative TColor (not a system color)'); +end; + +procedure TTestCrossPlatformFixes.TestSelectionFGIsExplicitARGB; +begin + Assert.IsTrue(Integer(FEditor.SelectedColor.Foreground) >= 0, + 'Selection FG should be a non-negative TColor (not a system color)'); +end; + +procedure TTestCrossPlatformFixes.TestBlockBeginWritable; +var + BB: TBufferCoord; +begin + // Issue 15: BlockBegin should be writable + BB := BufferCoord(3, 1); + FEditor.BlockBegin := BB; + Assert.AreEqual(3, FEditor.BlockBegin.Char); + Assert.AreEqual(1, FEditor.BlockBegin.Line); +end; + +procedure TTestCrossPlatformFixes.TestBlockEndWritable; +var + BE: TBufferCoord; +begin + FEditor.BlockBegin := BufferCoord(1, 1); + BE := BufferCoord(6, 1); + FEditor.BlockEnd := BE; + Assert.AreEqual(6, FEditor.BlockEnd.Char); + Assert.AreEqual(1, FEditor.BlockEnd.Line); +end; + +procedure TTestCrossPlatformFixes.TestBlockBeginResetsBlockEnd; +begin + // Setting BlockBegin should also reset BlockEnd to the same value + // (matching VCL behavior — starting a new selection) + FEditor.BlockBegin := BufferCoord(1, 1); + FEditor.BlockEnd := BufferCoord(6, 1); + // Now set a new BlockBegin — BlockEnd should be reset + FEditor.BlockBegin := BufferCoord(3, 2); + Assert.AreEqual(FEditor.BlockBegin.Char, FEditor.BlockEnd.Char, + 'BlockEnd.Char should equal BlockBegin.Char after SetBlockBegin'); + Assert.AreEqual(FEditor.BlockBegin.Line, FEditor.BlockEnd.Line, + 'BlockEnd.Line should equal BlockBegin.Line after SetBlockBegin'); +end; + +procedure TTestCrossPlatformFixes.TestBlockBeginClampsToMin; +begin + // Setting BlockBegin with invalid coordinates should clamp to 1 + FEditor.BlockBegin := BufferCoord(-5, 0); + Assert.IsTrue(FEditor.BlockBegin.Char >= 1, 'BlockBegin.Char should be >= 1'); + Assert.IsTrue(FEditor.BlockBegin.Line >= 1, 'BlockBegin.Line should be >= 1'); +end; + +procedure TTestCrossPlatformFixes.TestSetSelectionViaProperties; +begin + // Test setting selection entirely via BlockBegin/BlockEnd properties + FEditor.BlockBegin := BufferCoord(1, 1); + FEditor.BlockEnd := BufferCoord(6, 1); + Assert.IsTrue(FEditor.SelAvail, 'Selection should be available'); + Assert.AreEqual('hello', FEditor.SelText, + 'Selected text should be "hello"'); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestPluginRegistration); + TDUnitX.RegisterTestFixture(TTestModifiedProperty); + TDUnitX.RegisterTestFixture(TTestTextBufferNilWidthFunc); + TDUnitX.RegisterTestFixture(TTestTabExpansion); + TDUnitX.RegisterTestFixture(TTestAutoIndentTabs); + TDUnitX.RegisterTestFixture(TTestPixelToBufferCoord); + TDUnitX.RegisterTestFixture(TTestScrollBarSizing); + TDUnitX.RegisterTestFixture(TTestKeyboardHandlerChain); + TDUnitX.RegisterTestFixture(TTestCrossPlatformFixes); + +end. diff --git a/Tests/FMX/TestFMXSynEditCaret.pas b/Tests/FMX/TestFMXSynEditCaret.pas new file mode 100644 index 00000000..d3053bbf --- /dev/null +++ b/Tests/FMX/TestFMXSynEditCaret.pas @@ -0,0 +1,150 @@ +unit TestFMXSynEditCaret; + +interface + +uses + DUnitX.TestFramework, + FMX.SynEdit; + +type + [TestFixture] + TTestFMXSynEditCaret = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestInitialPosition; + [Test] + procedure TestSetCaretXY; + [Test] + procedure TestCaretClampedToMin1; + [Test] + procedure TestSelectAll; + [Test] + procedure TestSelAvailAfterSelectAll; + [Test] + procedure TestSelTextAfterSelectAll; + [Test] + procedure TestSetCaretAndSelection; + [Test] + procedure TestBlockBeginBlockEnd; + [Test] + procedure TestClearSelection; + [Test] + procedure TestGetTextRange; + end; + +implementation + +uses + System.SysUtils, + SynEditTypes; + +procedure TTestFMXSynEditCaret.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); +end; + +procedure TTestFMXSynEditCaret.TearDown; +begin + FEditor.Free; +end; + +procedure TTestFMXSynEditCaret.TestInitialPosition; +begin + Assert.AreEqual(1, FEditor.CaretX); + Assert.AreEqual(1, FEditor.CaretY); +end; + +procedure TTestFMXSynEditCaret.TestSetCaretXY; +begin + FEditor.Text := 'Hello World'; + FEditor.CaretXY := BufferCoord(6, 1); + Assert.AreEqual(6, FEditor.CaretX); + Assert.AreEqual(1, FEditor.CaretY); +end; + +procedure TTestFMXSynEditCaret.TestCaretClampedToMin1; +begin + FEditor.Text := 'Hello'; + FEditor.CaretX := 0; + Assert.IsTrue(FEditor.CaretX >= 1); + FEditor.CaretY := 0; + Assert.IsTrue(FEditor.CaretY >= 1); +end; + +procedure TTestFMXSynEditCaret.TestSelectAll; +begin + FEditor.Text := 'Hello World'; + FEditor.SelectAll; + Assert.IsTrue(FEditor.SelAvail); +end; + +procedure TTestFMXSynEditCaret.TestSelAvailAfterSelectAll; +begin + FEditor.Text := 'Line1' + sLineBreak + 'Line2'; + FEditor.SelectAll; + Assert.IsTrue(FEditor.SelAvail); +end; + +procedure TTestFMXSynEditCaret.TestSelTextAfterSelectAll; +begin + FEditor.Text := 'Hello'; + FEditor.SelectAll; + Assert.AreEqual('Hello', FEditor.SelText); +end; + +procedure TTestFMXSynEditCaret.TestSetCaretAndSelection; +var + BC1, BC2, BCCaret: TBufferCoord; +begin + FEditor.Text := 'Hello World'; + BC1 := BufferCoord(1, 1); + BC2 := BufferCoord(6, 1); + BCCaret := BufferCoord(6, 1); + FEditor.SetCaretAndSelection(BCCaret, BC1, BC2); + Assert.AreEqual(6, FEditor.CaretX); + Assert.IsTrue(FEditor.SelAvail); + Assert.AreEqual('Hello', FEditor.SelText); +end; + +procedure TTestFMXSynEditCaret.TestBlockBeginBlockEnd; +var + BC1, BC2, BCCaret: TBufferCoord; +begin + FEditor.Text := 'ABCDEF'; + BC1 := BufferCoord(2, 1); + BC2 := BufferCoord(5, 1); + BCCaret := BufferCoord(5, 1); + FEditor.SetCaretAndSelection(BCCaret, BC1, BC2); + Assert.AreEqual(2, FEditor.BlockBegin.Char); + Assert.AreEqual(5, FEditor.BlockEnd.Char); +end; + +procedure TTestFMXSynEditCaret.TestClearSelection; +begin + FEditor.Text := 'Hello World'; + FEditor.SelectAll; + Assert.IsTrue(FEditor.SelAvail); + FEditor.ClearSelection; + Assert.IsFalse(FEditor.SelAvail); +end; + +procedure TTestFMXSynEditCaret.TestGetTextRange; +var + BC1, BC2: TBufferCoord; +begin + FEditor.Text := 'ABCDEFGH'; + BC1 := BufferCoord(3, 1); + BC2 := BufferCoord(6, 1); + Assert.AreEqual('CDE', FEditor.GetTextRange(BC1, BC2)); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXSynEditCaret); + +end. diff --git a/Tests/FMX/TestFMXSynEditClipboard.pas b/Tests/FMX/TestFMXSynEditClipboard.pas new file mode 100644 index 00000000..40e82019 --- /dev/null +++ b/Tests/FMX/TestFMXSynEditClipboard.pas @@ -0,0 +1,203 @@ +unit TestFMXSynEditClipboard; + +interface + +uses + DUnitX.TestFramework, + FMX.SynEdit; + +type + [TestFixture] + TTestFMXSynEditClipboard = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestCopySetsClipboard; + [Test] + procedure TestCopyWithNoSelection; + [Test] + procedure TestCutRemovesTextAndSetsClipboard; + [Test] + procedure TestCutInReadOnly; + [Test] + procedure TestPasteInsertsText; + [Test] + procedure TestPasteReplacesSelection; + [Test] + procedure TestPasteMultiLine; + [Test] + procedure TestPasteInReadOnly; + [Test] + procedure TestCutIsUndoable; + [Test] + procedure TestPasteIsUndoable; + end; + +implementation + +uses + System.SysUtils, + SynEditTypes, + SynEditKeyCmds, + FMX.SynUnicode; + +procedure TTestFMXSynEditClipboard.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); + FEditor.Text := 'Hello World' + sLineBreak + + 'Second line'; +end; + +procedure TTestFMXSynEditClipboard.TearDown; +begin + FEditor.Free; +end; + +procedure TTestFMXSynEditClipboard.TestCopySetsClipboard; +begin + // Select "Hello" and copy + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + Assert.AreEqual('Hello', FEditor.SelText); + FEditor.CopyToClipboard; + Assert.AreEqual('Hello', GetClipboardText, + 'Clipboard should contain selected text'); + // Text should be unchanged + Assert.AreEqual('Hello World', FEditor.Lines[0], + 'Copy should not modify text'); +end; + +procedure TTestFMXSynEditClipboard.TestCopyWithNoSelection; +var + OrigClipboard: string; +begin + // Set clipboard to known value + SetClipboardText('before'); + OrigClipboard := GetClipboardText; + // No selection — copy should be a no-op + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.CopyToClipboard; + Assert.AreEqual(OrigClipboard, GetClipboardText, + 'Clipboard should not change when nothing is selected'); +end; + +procedure TTestFMXSynEditClipboard.TestCutRemovesTextAndSetsClipboard; +begin + // Select "Hello" and cut + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.CutToClipboard; + Assert.AreEqual('Hello', GetClipboardText, + 'Clipboard should contain cut text'); + Assert.AreEqual(' World', FEditor.Lines[0], + 'Cut text should be removed from editor'); +end; + +procedure TTestFMXSynEditClipboard.TestCutInReadOnly; +begin + FEditor.ReadOnly := True; + // Select "Hello" + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + SetClipboardText('before'); + FEditor.CutToClipboard; + Assert.AreEqual('Hello World', FEditor.Lines[0], + 'Cut should not modify text in read-only mode'); + Assert.AreEqual('before', GetClipboardText, + 'Clipboard should not change in read-only mode'); +end; + +procedure TTestFMXSynEditClipboard.TestPasteInsertsText; +begin + SetClipboardText('ABC'); + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.PasteFromClipboard; + Assert.AreEqual('ABCHello World', FEditor.Lines[0], + 'Paste should insert clipboard text at caret'); +end; + +procedure TTestFMXSynEditClipboard.TestPasteReplacesSelection; +begin + SetClipboardText('Goodbye'); + // Select "Hello" + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.PasteFromClipboard; + Assert.AreEqual('Goodbye World', FEditor.Lines[0], + 'Paste should replace selected text'); +end; + +procedure TTestFMXSynEditClipboard.TestPasteMultiLine; +begin + SetClipboardText('ABC' + sLineBreak + 'DEF'); + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.PasteFromClipboard; + Assert.AreEqual('ABC', FEditor.Lines[0], + 'First pasted line'); + Assert.AreEqual('DEFHello World', FEditor.Lines[1], + 'Second pasted line should be joined with original'); +end; + +procedure TTestFMXSynEditClipboard.TestPasteInReadOnly; +begin + FEditor.ReadOnly := True; + SetClipboardText('ABC'); + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.PasteFromClipboard; + Assert.AreEqual('Hello World', FEditor.Lines[0], + 'Paste should not modify text in read-only mode'); +end; + +procedure TTestFMXSynEditClipboard.TestCutIsUndoable; +begin + // Select "Hello" and cut + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.CutToClipboard; + Assert.AreEqual(' World', FEditor.Lines[0]); + // Undo should restore + FEditor.Undo; + Assert.AreEqual('Hello World', FEditor.Lines[0], + 'Undo should restore text after cut'); +end; + +procedure TTestFMXSynEditClipboard.TestPasteIsUndoable; +begin + SetClipboardText('ABC'); + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.PasteFromClipboard; + Assert.AreEqual('ABCHello World', FEditor.Lines[0]); + FEditor.Undo; + Assert.AreEqual('Hello World', FEditor.Lines[0], + 'Undo should restore text after paste'); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXSynEditClipboard); + +end. diff --git a/Tests/FMX/TestFMXSynEditCodeFolding.pas b/Tests/FMX/TestFMXSynEditCodeFolding.pas new file mode 100644 index 00000000..8b3aed83 --- /dev/null +++ b/Tests/FMX/TestFMXSynEditCodeFolding.pas @@ -0,0 +1,166 @@ +unit TestFMXSynEditCodeFolding; + +interface + +uses + DUnitX.TestFramework, + FMX.SynEdit, + SynHighlighterJSON; + +type + [TestFixture] + TTestFMXSynEditCodeFolding = class + private + FEditor: TFMXSynEdit; + FHighlighter: TSynJSONSyn; + procedure SetupFoldableContent; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestFoldRangesDetected; + [Test] + procedure TestCollapseAll; + [Test] + procedure TestUncollapseAll; + [Test] + procedure TestUseCodeFoldingRequiresHighlighter; + [Test] + procedure TestCollapseLevel; + [Test] + procedure TestUncollapseLevel; + end; + +implementation + +uses + System.SysUtils, + SynEditCodeFolding; + +const + // JSON with nested braces and brackets for fold testing + SampleJSON = + '{' + sLineBreak + + ' "name": "test",' + sLineBreak + + ' "items": [' + sLineBreak + + ' 1,' + sLineBreak + + ' 2,' + sLineBreak + + ' 3' + sLineBreak + + ' ]' + sLineBreak + + '}'; + +procedure TTestFMXSynEditCodeFolding.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); + FHighlighter := TSynJSONSyn.Create(nil); +end; + +procedure TTestFMXSynEditCodeFolding.TearDown; +begin + FEditor.Free; + FHighlighter.Free; +end; + +procedure TTestFMXSynEditCodeFolding.SetupFoldableContent; +begin + FEditor.Highlighter := FHighlighter; + FEditor.Text := SampleJSON; + // UseCodeFolding must be set AFTER Text so that SetUseCodeFolding + // triggers FullFoldScan with text and highlighter both in place + FEditor.UseCodeFolding := True; +end; + +procedure TTestFMXSynEditCodeFolding.TestFoldRangesDetected; +begin + SetupFoldableContent; + // JSON sample has 2 fold regions: outer {} and inner [] + Assert.AreEqual(2, FEditor.AllFoldRanges.Count, + 'Should detect 2 fold ranges (braces and brackets) in JSON'); +end; + +procedure TTestFMXSynEditCodeFolding.TestCollapseAll; +var + I: Integer; + CollapsedCount: Integer; +begin + SetupFoldableContent; + FEditor.CollapseAll; + CollapsedCount := 0; + for I := 0 to FEditor.AllFoldRanges.Count - 1 do + if FEditor.AllFoldRanges[I].Collapsed then + Inc(CollapsedCount); + Assert.AreEqual(FEditor.AllFoldRanges.Count, CollapsedCount, + 'All fold ranges should be collapsed after CollapseAll'); +end; + +procedure TTestFMXSynEditCodeFolding.TestUncollapseAll; +var + I: Integer; + AnyCollapsed: Boolean; +begin + SetupFoldableContent; + FEditor.CollapseAll; + FEditor.UncollapseAll; + AnyCollapsed := False; + for I := 0 to FEditor.AllFoldRanges.Count - 1 do + if FEditor.AllFoldRanges[I].Collapsed then + begin + AnyCollapsed := True; + Break; + end; + Assert.IsFalse(AnyCollapsed, 'No fold ranges should be collapsed after UncollapseAll'); +end; + +procedure TTestFMXSynEditCodeFolding.TestUseCodeFoldingRequiresHighlighter; +begin + // Without a highlighter, UseCodeFolding should not produce fold ranges + FEditor.UseCodeFolding := True; + FEditor.Text := SampleJSON; + Assert.AreEqual(0, FEditor.AllFoldRanges.Count, + 'No fold ranges without a highlighter'); +end; + +procedure TTestFMXSynEditCodeFolding.TestCollapseLevel; +var + I: Integer; + CollapsedCount: Integer; +begin + SetupFoldableContent; + // Level 1 = outermost folds + FEditor.CollapseLevel(1); + CollapsedCount := 0; + for I := 0 to FEditor.AllFoldRanges.Count - 1 do + if FEditor.AllFoldRanges[I].Collapsed then + Inc(CollapsedCount); + Assert.IsTrue(CollapsedCount >= 1, + 'CollapseLevel(1) should collapse at least one fold range'); + // Verify not all ranges collapsed (inner range is level 2) + Assert.IsTrue(CollapsedCount < FEditor.AllFoldRanges.Count, + 'CollapseLevel(1) should not collapse nested (level 2) ranges'); +end; + +procedure TTestFMXSynEditCodeFolding.TestUncollapseLevel; +var + I: Integer; + AnyCollapsed: Boolean; +begin + SetupFoldableContent; + FEditor.CollapseLevel(1); + FEditor.UncollapseLevel(1); + AnyCollapsed := False; + for I := 0 to FEditor.AllFoldRanges.Count - 1 do + if FEditor.AllFoldRanges[I].Collapsed then + begin + AnyCollapsed := True; + Break; + end; + Assert.IsFalse(AnyCollapsed, + 'UncollapseLevel(1) should uncollapse top-level folds'); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXSynEditCodeFolding); + +end. diff --git a/Tests/FMX/TestFMXSynEditCommands.pas b/Tests/FMX/TestFMXSynEditCommands.pas new file mode 100644 index 00000000..4589a5cd --- /dev/null +++ b/Tests/FMX/TestFMXSynEditCommands.pas @@ -0,0 +1,197 @@ +unit TestFMXSynEditCommands; + +interface + +uses + DUnitX.TestFramework, + FMX.SynEdit; + +type + [TestFixture] + TTestFMXSynEditCommands = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestEcCharInserts; + [Test] + procedure TestEcDeleteChar; + [Test] + procedure TestEcDeleteLastChar; + [Test] + procedure TestEcLineBreak; + [Test] + procedure TestEcLineBreakAutoIndent; + [Test] + procedure TestEcTabInsertsSpaces; + [Test] + procedure TestEcTabInsertsTabChar; + [Test] + procedure TestEcShiftTabRemovesIndent; + [Test] + procedure TestEcLeft; + [Test] + procedure TestEcRight; + [Test] + procedure TestEcUp; + [Test] + procedure TestEcDown; + [Test] + procedure TestEcLineStart; + [Test] + procedure TestEcLineEnd; + end; + +implementation + +uses + System.SysUtils, + SynEditTypes, + SynEditKeyCmds; + +procedure TTestFMXSynEditCommands.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); + FEditor.Text := 'Line one' + sLineBreak + + 'Line two' + sLineBreak + + 'Line three'; +end; + +procedure TTestFMXSynEditCommands.TearDown; +begin + FEditor.Free; +end; + +procedure TTestFMXSynEditCommands.TestEcCharInserts; +begin + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecChar, 'X'); + Assert.AreEqual('XLine one', FEditor.Lines[0]); +end; + +procedure TTestFMXSynEditCommands.TestEcDeleteChar; +begin + // Delete first character of line 1 + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecDeleteChar, #0); + Assert.AreEqual('ine one', FEditor.Lines[0]); +end; + +procedure TTestFMXSynEditCommands.TestEcDeleteLastChar; +begin + // Backspace at position 2 on line 1 should delete the 'L' + FEditor.CaretXY := BufferCoord(2, 1); + FEditor.ExecuteCommand(ecDeleteLastChar, #0); + Assert.AreEqual('ine one', FEditor.Lines[0]); + Assert.AreEqual(1, FEditor.CaretX); +end; + +procedure TTestFMXSynEditCommands.TestEcLineBreak; +var + OrigLineCount: Integer; +begin + OrigLineCount := FEditor.LineCount; + FEditor.CaretXY := BufferCoord(5, 1); + FEditor.ExecuteCommand(ecLineBreak, #0); + Assert.AreEqual(OrigLineCount + 1, FEditor.LineCount); + Assert.AreEqual('Line', FEditor.Lines[0]); + Assert.AreEqual(' one', FEditor.Lines[1]); +end; + +procedure TTestFMXSynEditCommands.TestEcLineBreakAutoIndent; +begin + Assert.IsTrue(eoAutoIndent in FEditor.Options); + // Set line with leading spaces + FEditor.Text := ' indented'; + FEditor.CaretXY := BufferCoord(11, 1); // end of 'indented' (2 spaces + 8 chars = pos 11) + FEditor.ExecuteCommand(ecLineBreak, #0); + Assert.AreEqual(2, FEditor.LineCount); + // New line should have auto-indentation + Assert.IsTrue(FEditor.Lines[1].StartsWith(' '), + 'Auto-indent should preserve leading whitespace'); +end; + +procedure TTestFMXSynEditCommands.TestEcTabInsertsSpaces; +begin + // Default options include eoTabsToSpaces + Assert.IsTrue(eoTabsToSpaces in FEditor.Options); + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecTab, #0); + // Tab at position 1 with default TabWidth inserts spaces to next tab stop + Assert.AreEqual(' Hello', FEditor.Lines[0], + 'Tab should insert spaces before text'); +end; + +procedure TTestFMXSynEditCommands.TestEcTabInsertsTabChar; +begin + FEditor.Options := FEditor.Options - [eoTabsToSpaces]; + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecTab, #0); + Assert.AreEqual(#9'Hello', FEditor.Lines[0], + 'Without eoTabsToSpaces, tab should insert tab character'); +end; + +procedure TTestFMXSynEditCommands.TestEcShiftTabRemovesIndent; +begin + FEditor.Text := ' Indented'; + FEditor.CaretXY := BufferCoord(5, 1); + FEditor.ExecuteCommand(ecShiftTab, #0); + Assert.AreEqual('Indented', FEditor.Lines[0], + 'Shift-Tab should remove indentation'); +end; + +procedure TTestFMXSynEditCommands.TestEcLeft; +begin + FEditor.CaretXY := BufferCoord(5, 1); + FEditor.ExecuteCommand(ecLeft, #0); + Assert.AreEqual(4, FEditor.CaretX); + Assert.AreEqual(1, FEditor.CaretY); +end; + +procedure TTestFMXSynEditCommands.TestEcRight; +begin + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecRight, #0); + Assert.AreEqual(2, FEditor.CaretX); + Assert.AreEqual(1, FEditor.CaretY); +end; + +procedure TTestFMXSynEditCommands.TestEcUp; +begin + FEditor.CaretXY := BufferCoord(1, 2); + FEditor.ExecuteCommand(ecUp, #0); + Assert.AreEqual(1, FEditor.CaretY); +end; + +procedure TTestFMXSynEditCommands.TestEcDown; +begin + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecDown, #0); + Assert.AreEqual(2, FEditor.CaretY); +end; + +procedure TTestFMXSynEditCommands.TestEcLineStart; +begin + FEditor.CaretXY := BufferCoord(5, 1); + FEditor.ExecuteCommand(ecLineStart, #0); + Assert.AreEqual(1, FEditor.CaretX); +end; + +procedure TTestFMXSynEditCommands.TestEcLineEnd; +begin + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecLineEnd, #0); + // 'Line one' = 8 chars, caret should be at 9 (past last char) + Assert.AreEqual(9, FEditor.CaretX); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXSynEditCommands); + +end. diff --git a/Tests/FMX/TestFMXSynEditCompletionProposal.pas b/Tests/FMX/TestFMXSynEditCompletionProposal.pas new file mode 100644 index 00000000..c4fe4c97 --- /dev/null +++ b/Tests/FMX/TestFMXSynEditCompletionProposal.pas @@ -0,0 +1,222 @@ +unit TestFMXSynEditCompletionProposal; + +interface + +uses + DUnitX.TestFramework, + FMX.SynCompletionProposal; + +type + [TestFixture] + TTestFMXCompletionProposalForm = class + private + FForm: TSynFMXCompletionProposalForm; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestAddItemIncreasesCount; + [Test] + procedure TestClearListEmptiesAll; + [Test] + procedure TestFilterByPrefixCaseInsensitive; + [Test] + procedure TestFilterByPrefixCaseSensitive; + [Test] + procedure TestEmptyStringShowsAll; + [Test] + procedure TestNoMatchShowsEmpty; + [Test] + procedure TestUseInsertListFiltering; + [Test] + procedure TestPositionClampedToValidRange; + [Test] + procedure TestMoveLineDown; + [Test] + procedure TestMoveLineUp; + [Test] + procedure TestMoveLineTopBoundary; + [Test] + procedure TestMoveLineBottomBoundary; + end; + +implementation + +uses + System.SysUtils, + System.Classes; + +procedure TTestFMXCompletionProposalForm.Setup; +begin + FForm := TSynFMXCompletionProposalForm.Create(nil); + // MatchText = True by default, CaseSensitive = False by default +end; + +procedure TTestFMXCompletionProposalForm.TearDown; +begin + FForm.Free; +end; + +procedure TTestFMXCompletionProposalForm.TestAddItemIncreasesCount; +begin + Assert.AreEqual(0, FForm.ItemList.Count, 'Should start empty'); + FForm.AddItem('Display1', 'Insert1'); + Assert.AreEqual(1, FForm.ItemList.Count, 'ItemList should have 1 item'); + Assert.AreEqual(1, FForm.InsertList.Count, 'InsertList should have 1 item'); + FForm.AddItem('Display2', 'Insert2'); + Assert.AreEqual(2, FForm.ItemList.Count, 'ItemList should have 2 items'); +end; + +procedure TTestFMXCompletionProposalForm.TestClearListEmptiesAll; +begin + FForm.AddItem('A', 'a'); + FForm.AddItem('B', 'b'); + FForm.ClearList; + Assert.AreEqual(0, FForm.ItemList.Count, 'ItemList should be empty'); + Assert.AreEqual(0, FForm.InsertList.Count, 'InsertList should be empty'); + Assert.AreEqual(0, FForm.AssignedList.Count, 'AssignedList should be empty'); + Assert.AreEqual(0, FForm.FilteredInsertList.Count, + 'FilteredInsertList should be empty'); +end; + +procedure TTestFMXCompletionProposalForm.TestFilterByPrefixCaseInsensitive; +begin + FForm.CaseSensitive := False; + FForm.MatchText := True; + FForm.AddItem('ArrayList', 'ArrayList'); + FForm.AddItem('ArrayBuffer', 'ArrayBuffer'); + FForm.AddItem('Boolean', 'Boolean'); + // Filter with lowercase prefix + FForm.CurrentString := 'arr'; + Assert.AreEqual(2, FForm.AssignedList.Count, + 'Case-insensitive filter should match 2 "Array" items'); + Assert.AreEqual(0, FForm.Position, 'Position should be 0'); +end; + +procedure TTestFMXCompletionProposalForm.TestFilterByPrefixCaseSensitive; +begin + FForm.CaseSensitive := True; + FForm.MatchText := True; + FForm.AddItem('ArrayList', 'ArrayList'); + FForm.AddItem('ArrayBuffer', 'ArrayBuffer'); + FForm.AddItem('Boolean', 'Boolean'); + // Filter with lowercase — should NOT match uppercase items + FForm.CurrentString := 'arr'; + Assert.AreEqual(0, FForm.AssignedList.Count, + 'Case-sensitive filter with "arr" should not match "Array" items'); + // Filter with correct case + FForm.CurrentString := 'Array'; + Assert.AreEqual(2, FForm.AssignedList.Count, + 'Case-sensitive filter with "Array" should match 2 items'); +end; + +procedure TTestFMXCompletionProposalForm.TestEmptyStringShowsAll; +begin + FForm.MatchText := True; + FForm.AddItem('Alpha', 'Alpha'); + FForm.AddItem('Beta', 'Beta'); + FForm.AddItem('Gamma', 'Gamma'); + FForm.CurrentString := ''; + Assert.AreEqual(3, FForm.AssignedList.Count, + 'Empty filter string should show all items'); +end; + +procedure TTestFMXCompletionProposalForm.TestNoMatchShowsEmpty; +begin + FForm.MatchText := True; + FForm.AddItem('Alpha', 'Alpha'); + FForm.AddItem('Beta', 'Beta'); + FForm.CurrentString := 'xyz'; + Assert.AreEqual(0, FForm.AssignedList.Count, + 'Non-matching filter should show empty list'); +end; + +procedure TTestFMXCompletionProposalForm.TestUseInsertListFiltering; +begin + FForm.CaseSensitive := False; + FForm.MatchText := True; + FForm.UseInsertList := True; + // Display text differs from insert text + FForm.AddItem('Array List (java.util)', 'ArrayList'); + FForm.AddItem('Boolean Value', 'BooleanValue'); + // Filter by insert list prefix + FForm.CurrentString := 'Array'; + Assert.AreEqual(1, FForm.AssignedList.Count, + 'Should filter using InsertList, matching "ArrayList"'); + Assert.AreEqual('Array List (java.util)', FForm.AssignedList[0], + 'Display text should be shown in AssignedList'); +end; + +procedure TTestFMXCompletionProposalForm.TestPositionClampedToValidRange; +begin + FForm.MatchText := False; + FForm.AddItem('A', 'A'); + FForm.AddItem('B', 'B'); + FForm.AddItem('C', 'C'); + FForm.CurrentString := ''; + // Try to set beyond range + FForm.Position := 100; + Assert.AreEqual(2, FForm.Position, + 'Position should be clamped to last item index'); + // Try negative + FForm.Position := -5; + Assert.AreEqual(0, FForm.Position, + 'Position should be clamped to 0'); +end; + +procedure TTestFMXCompletionProposalForm.TestMoveLineDown; +begin + FForm.MatchText := False; + FForm.AddItem('A', 'A'); + FForm.AddItem('B', 'B'); + FForm.AddItem('C', 'C'); + FForm.CurrentString := ''; + FForm.Position := 0; + FForm.MoveLine(1); + Assert.AreEqual(1, FForm.Position, + 'MoveLine(1) should move to next item'); +end; + +procedure TTestFMXCompletionProposalForm.TestMoveLineUp; +begin + FForm.MatchText := False; + FForm.AddItem('A', 'A'); + FForm.AddItem('B', 'B'); + FForm.AddItem('C', 'C'); + FForm.CurrentString := ''; + FForm.Position := 2; + FForm.MoveLine(-1); + Assert.AreEqual(1, FForm.Position, + 'MoveLine(-1) should move to previous item'); +end; + +procedure TTestFMXCompletionProposalForm.TestMoveLineTopBoundary; +begin + FForm.MatchText := False; + FForm.AddItem('A', 'A'); + FForm.AddItem('B', 'B'); + FForm.CurrentString := ''; + FForm.Position := 0; + FForm.MoveLine(-1); + Assert.AreEqual(0, FForm.Position, + 'MoveLine up at top should stay at 0'); +end; + +procedure TTestFMXCompletionProposalForm.TestMoveLineBottomBoundary; +begin + FForm.MatchText := False; + FForm.AddItem('A', 'A'); + FForm.AddItem('B', 'B'); + FForm.CurrentString := ''; + FForm.Position := 1; + FForm.MoveLine(1); + Assert.AreEqual(1, FForm.Position, + 'MoveLine down at bottom should stay at last index'); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXCompletionProposalForm); + +end. diff --git a/Tests/FMX/TestFMXSynEditContent.pas b/Tests/FMX/TestFMXSynEditContent.pas new file mode 100644 index 00000000..665e0e06 --- /dev/null +++ b/Tests/FMX/TestFMXSynEditContent.pas @@ -0,0 +1,136 @@ +unit TestFMXSynEditContent; + +interface + +uses + DUnitX.TestFramework, + FMX.SynEdit; + +type + [TestFixture] + TTestFMXSynEditContent = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestGetTextEmpty; + [Test] + procedure TestSetTextSingleLine; + [Test] + procedure TestSetTextMultiLine; + [Test] + procedure TestSetTextClearsPrevious; + [Test] + procedure TestClearAll; + [Test] + procedure TestClearAllResetsCaret; + [Test] + procedure TestLoadSaveStreamRoundTrip; + [Test] + procedure TestSetTextResetsSelection; + end; + +implementation + +uses + System.SysUtils, + System.Classes, + SynEditTypes; + +procedure TTestFMXSynEditContent.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); +end; + +procedure TTestFMXSynEditContent.TearDown; +begin + FEditor.Free; +end; + +procedure TTestFMXSynEditContent.TestGetTextEmpty; +begin + Assert.AreEqual('', FEditor.Text); +end; + +procedure TTestFMXSynEditContent.TestSetTextSingleLine; +begin + FEditor.Text := 'Hello'; + Assert.AreEqual(1, FEditor.Lines.Count); + Assert.AreEqual('Hello', FEditor.Lines[0]); +end; + +procedure TTestFMXSynEditContent.TestSetTextMultiLine; +begin + FEditor.Text := 'Line1' + sLineBreak + 'Line2' + sLineBreak + 'Line3'; + Assert.AreEqual(3, FEditor.Lines.Count); + Assert.AreEqual('Line1', FEditor.Lines[0]); + Assert.AreEqual('Line2', FEditor.Lines[1]); + Assert.AreEqual('Line3', FEditor.Lines[2]); +end; + +procedure TTestFMXSynEditContent.TestSetTextClearsPrevious; +begin + FEditor.Text := 'Old content'; + FEditor.Text := 'New content'; + Assert.AreEqual(1, FEditor.Lines.Count); + Assert.AreEqual('New content', FEditor.Lines[0]); +end; + +procedure TTestFMXSynEditContent.TestClearAll; +begin + FEditor.Text := 'Something' + sLineBreak + 'Here'; + FEditor.ClearAll; + Assert.AreEqual(0, FEditor.Lines.Count); +end; + +procedure TTestFMXSynEditContent.TestClearAllResetsCaret; +begin + FEditor.Text := 'Line1' + sLineBreak + 'Line2'; + FEditor.CaretXY := BufferCoord(3, 2); + FEditor.ClearAll; + Assert.AreEqual(1, FEditor.CaretX); + Assert.AreEqual(1, FEditor.CaretY); +end; + +procedure TTestFMXSynEditContent.TestLoadSaveStreamRoundTrip; +var + Stream: TMemoryStream; + OrigText: string; +begin + OrigText := 'Alpha' + sLineBreak + 'Beta' + sLineBreak + 'Gamma'; + FEditor.Text := OrigText; + + Stream := TMemoryStream.Create; + try + FEditor.SaveToStream(Stream); + FEditor.ClearAll; + Assert.AreEqual(0, FEditor.Lines.Count); + + Stream.Position := 0; + FEditor.LoadFromStream(Stream); + Assert.AreEqual(3, FEditor.Lines.Count); + Assert.AreEqual('Alpha', FEditor.Lines[0]); + Assert.AreEqual('Beta', FEditor.Lines[1]); + Assert.AreEqual('Gamma', FEditor.Lines[2]); + finally + Stream.Free; + end; +end; + +procedure TTestFMXSynEditContent.TestSetTextResetsSelection; +begin + FEditor.Text := 'Select me'; + FEditor.SelectAll; + Assert.IsTrue(FEditor.SelAvail); + FEditor.Text := 'New text'; + Assert.IsFalse(FEditor.SelAvail); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXSynEditContent); + +end. diff --git a/Tests/FMX/TestFMXSynEditDragDrop.pas b/Tests/FMX/TestFMXSynEditDragDrop.pas new file mode 100644 index 00000000..5b2df8db --- /dev/null +++ b/Tests/FMX/TestFMXSynEditDragDrop.pas @@ -0,0 +1,497 @@ +unit TestFMXSynEditDragDrop; + +interface + +uses + DUnitX.TestFramework, + SynEditTypes, + SynEditDragDropShared, + FMX.SynEdit; + +type + [TestFixture] + TSynDragDropHelperTests = class + public + [Test] + procedure TestIsDropCopy_NoCtrl; + [Test] + procedure TestIsDropCopy_Ctrl; + [Test] + procedure TestComputeDropInfo_External_AlwaysDrops; + [Test] + procedure TestComputeDropInfo_Internal_RejectsDropInSelection; + [Test] + procedure TestComputeDropInfo_Internal_AcceptsDropBefore; + [Test] + procedure TestComputeDropInfo_Internal_AcceptsDropAfter; + [Test] + procedure TestComputeDropInfo_Internal_CopyAllowsDropAtBoundary; + [Test] + procedure TestAdjustDropPos_SameLine; + [Test] + procedure TestAdjustDropPos_MultiLine; + [Test] + procedure TestAdjustDropPos_BeforeSelection; + end; + + /// Test subclass to access the protected DropTextAtPos method + TTestableEditor = class(TFMXSynEdit) + public + procedure TestDropTextAtPos(const DropText: string; DropPos: TBufferCoord; + IsInternal, IsMove: Boolean); + end; + + [TestFixture] + TTestFMXDragDropIntegration = class + private + FEditor: TTestableEditor; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + // External drop tests + [Test] + procedure TestExternalDrop_SingleLine; + [Test] + procedure TestExternalDrop_MultiLine; + [Test] + procedure TestExternalDrop_PastEndOfLine; + [Test] + procedure TestExternalDrop_AtEndOfDocument; + [Test] + procedure TestExternalDrop_ReadOnlyRejects; + [Test] + procedure TestExternalDrop_EmptyTextRejects; + // Internal move tests + [Test] + procedure TestInternalMove_SameLine_Forward; + [Test] + procedure TestInternalMove_SameLine_Backward; + [Test] + procedure TestInternalMove_DifferentLine; + [Test] + procedure TestInternalMove_MultiLineSelection; + [Test] + procedure TestInternalMove_SourceTextDeleted; + [Test] + procedure TestInternalMove_RejectsDropInSelection; + // Internal copy tests + [Test] + procedure TestInternalCopy_DuplicatesText; + [Test] + procedure TestInternalCopy_SourceTextPreserved; + // Selection state tests + [Test] + procedure TestDrop_SelectsInsertedText; + [Test] + procedure TestDrop_LineCountIncreasesForMultiLine; + // Undo tests + [Test] + procedure TestInternalMove_UndoRestoresOriginal; + end; + +implementation + +uses + System.SysUtils, + System.Classes; + +{ TTestableEditor } + +procedure TTestableEditor.TestDropTextAtPos(const DropText: string; + DropPos: TBufferCoord; IsInternal, IsMove: Boolean); +begin + DropTextAtPos(DropText, DropPos, IsInternal, IsMove); +end; + +{ TSynDragDropHelperTests } + +procedure TSynDragDropHelperTests.TestIsDropCopy_NoCtrl; +begin + Assert.IsFalse(TSynDragDropHelper.IsDropCopy([])); + Assert.IsFalse(TSynDragDropHelper.IsDropCopy([ssShift])); + Assert.IsFalse(TSynDragDropHelper.IsDropCopy([ssAlt])); +end; + +procedure TSynDragDropHelperTests.TestIsDropCopy_Ctrl; +begin + Assert.IsTrue(TSynDragDropHelper.IsDropCopy([ssCtrl])); + Assert.IsTrue(TSynDragDropHelper.IsDropCopy([ssCtrl, ssShift])); +end; + +procedure TSynDragDropHelperTests.TestComputeDropInfo_External_AlwaysDrops; +var + Info: TSynDropInfo; +begin + // External drop at any position should always be allowed + Info := TSynDragDropHelper.ComputeDropInfo( + BufferCoord(5, 3), // DropPos + BufferCoord(1, 1), // SelStart + BufferCoord(10, 1), // SelEnd + False, // IsInternal + True); // IsMove + Assert.IsTrue(Info.DoDrop); + Assert.IsFalse(Info.DropAfter); +end; + +procedure TSynDragDropHelperTests.TestComputeDropInfo_Internal_RejectsDropInSelection; +var + Info: TSynDropInfo; +begin + // Selection is from (3,2) to (8,2); drop at (5,2) — inside selection + Info := TSynDragDropHelper.ComputeDropInfo( + BufferCoord(5, 2), // DropPos - inside selection + BufferCoord(3, 2), // SelStart + BufferCoord(8, 2), // SelEnd + True, // IsInternal + True); // IsMove + Assert.IsFalse(Info.DoDrop); +end; + +procedure TSynDragDropHelperTests.TestComputeDropInfo_Internal_AcceptsDropBefore; +var + Info: TSynDropInfo; +begin + // Selection is from (3,2) to (8,2); drop at (1,2) — before selection + Info := TSynDragDropHelper.ComputeDropInfo( + BufferCoord(1, 2), // DropPos - before selection + BufferCoord(3, 2), // SelStart + BufferCoord(8, 2), // SelEnd + True, // IsInternal + True); // IsMove + Assert.IsTrue(Info.DoDrop); + Assert.IsFalse(Info.DropAfter); +end; + +procedure TSynDragDropHelperTests.TestComputeDropInfo_Internal_AcceptsDropAfter; +var + Info: TSynDropInfo; +begin + // Selection is from (3,2) to (8,2); drop at (12,2) — after selection + Info := TSynDragDropHelper.ComputeDropInfo( + BufferCoord(12, 2), // DropPos - after selection + BufferCoord(3, 2), // SelStart + BufferCoord(8, 2), // SelEnd + True, // IsInternal + True); // IsMove + Assert.IsTrue(Info.DoDrop); + Assert.IsTrue(Info.DropAfter); +end; + +procedure TSynDragDropHelperTests.TestComputeDropInfo_Internal_CopyAllowsDropAtBoundary; +var + Info: TSynDropInfo; +begin + // Copy at selection end boundary should be allowed (not move) + Info := TSynDragDropHelper.ComputeDropInfo( + BufferCoord(8, 2), // DropPos - at selection end + BufferCoord(3, 2), // SelStart + BufferCoord(8, 2), // SelEnd + True, // IsInternal + False); // IsMove = False (copy) + Assert.IsTrue(Info.DoDrop); + Assert.IsTrue(Info.DropAfter); + + // Copy at selection start boundary should also be allowed + Info := TSynDragDropHelper.ComputeDropInfo( + BufferCoord(3, 2), // DropPos - at selection start + BufferCoord(3, 2), // SelStart + BufferCoord(8, 2), // SelEnd + True, // IsInternal + False); // IsMove = False (copy) + Assert.IsTrue(Info.DoDrop); + Assert.IsFalse(Info.DropAfter); +end; + +procedure TSynDragDropHelperTests.TestAdjustDropPos_SameLine; +var + Result: TBufferCoord; +begin + // Selection was "World" (chars 7-12) on line 1, drop at char 20 on same line + // After deletion, drop position shifts left by selection width (5 chars) + Result := TSynDragDropHelper.AdjustDropPos( + BufferCoord(20, 1), // DropPos + BufferCoord(7, 1), // SelStart + BufferCoord(12, 1), // SelEnd + True); // DropAfter + Assert.AreEqual(15, Result.Char); + Assert.AreEqual(1, Result.Line); +end; + +procedure TSynDragDropHelperTests.TestAdjustDropPos_MultiLine; +var + Result: TBufferCoord; +begin + // Selection from (3,2) to (5,4), drop at (10,6) + // After deletion, 2 lines removed, drop line shifts up + Result := TSynDragDropHelper.AdjustDropPos( + BufferCoord(10, 6), // DropPos + BufferCoord(3, 2), // SelStart + BufferCoord(5, 4), // SelEnd + True); // DropAfter + Assert.AreEqual(10, Result.Char); // Different line, no char adjustment + Assert.AreEqual(4, Result.Line); // 6 - (4-2) = 4 +end; + +procedure TSynDragDropHelperTests.TestAdjustDropPos_BeforeSelection; +var + Result: TBufferCoord; +begin + // Drop before selection — no adjustment needed + Result := TSynDragDropHelper.AdjustDropPos( + BufferCoord(1, 1), // DropPos - before selection + BufferCoord(3, 2), // SelStart + BufferCoord(8, 2), // SelEnd + False); // DropAfter = False + Assert.AreEqual(1, Result.Char); + Assert.AreEqual(1, Result.Line); +end; + +{ TTestFMXDragDropIntegration } + +procedure TTestFMXDragDropIntegration.Setup; +begin + FEditor := TTestableEditor.Create(nil); +end; + +procedure TTestFMXDragDropIntegration.TearDown; +begin + FEditor.Free; +end; + +// --- External drop tests --- + +procedure TTestFMXDragDropIntegration.TestExternalDrop_SingleLine; +begin + FEditor.Text := 'Hello World'; + // Drop "XYZ" at position 6 (between "Hello" and " World") + FEditor.TestDropTextAtPos('XYZ', BufferCoord(6, 1), False, True); + Assert.AreEqual('HelloXYZ World', FEditor.Lines[0]); +end; + +procedure TTestFMXDragDropIntegration.TestExternalDrop_MultiLine; +begin + FEditor.Text := 'Hello World'; + // Drop multi-line text at position 6 + FEditor.TestDropTextAtPos('AAA' + sLineBreak + 'BBB', + BufferCoord(6, 1), False, True); + Assert.AreEqual(2, FEditor.Lines.Count, 'Line count should increase'); + Assert.AreEqual('HelloAAA', FEditor.Lines[0]); + Assert.AreEqual('BBB World', FEditor.Lines[1]); +end; + +procedure TTestFMXDragDropIntegration.TestExternalDrop_PastEndOfLine; +begin + FEditor.Text := 'Short'; + // Drop text at char 15, well past end of "Short" (5 chars) + FEditor.TestDropTextAtPos('XYZ', BufferCoord(15, 1), False, True); + // Should pad with spaces: "Short" + 9 spaces + "XYZ" + Assert.AreEqual('Short XYZ', FEditor.Lines[0]); +end; + +procedure TTestFMXDragDropIntegration.TestExternalDrop_AtEndOfDocument; +begin + FEditor.Text := 'Line1' + sLineBreak + 'Line2'; + // Drop multi-line text at end of last line + FEditor.TestDropTextAtPos('AAA' + sLineBreak + 'BBB' + sLineBreak + 'CCC', + BufferCoord(6, 2), False, True); + Assert.AreEqual(4, FEditor.Lines.Count, 'Should expand buffer for multi-line drop'); + Assert.AreEqual('Line1', FEditor.Lines[0]); + Assert.AreEqual('Line2AAA', FEditor.Lines[1]); + Assert.AreEqual('BBB', FEditor.Lines[2]); + Assert.AreEqual('CCC', FEditor.Lines[3]); +end; + +procedure TTestFMXDragDropIntegration.TestExternalDrop_ReadOnlyRejects; +begin + FEditor.Text := 'Hello'; + FEditor.ReadOnly := True; + FEditor.TestDropTextAtPos('XYZ', BufferCoord(1, 1), False, True); + Assert.AreEqual('Hello', FEditor.Lines[0], 'Read-only editor should reject drop'); +end; + +procedure TTestFMXDragDropIntegration.TestExternalDrop_EmptyTextRejects; +begin + FEditor.Text := 'Hello'; + FEditor.TestDropTextAtPos('', BufferCoord(1, 1), False, True); + Assert.AreEqual('Hello', FEditor.Lines[0], 'Empty text drop should be rejected'); +end; + +// --- Internal move tests --- + +procedure TTestFMXDragDropIntegration.TestInternalMove_SameLine_Forward; +begin + // "Hello World Goodbye" — select "World" (7-12), move to char 19 + FEditor.Text := 'Hello World Goodbye'; + FEditor.SetCaretAndSelection(BufferCoord(12, 1), + BufferCoord(7, 1), BufferCoord(12, 1)); + FEditor.TestDropTextAtPos('World', BufferCoord(20, 1), True, True); + // "World" removed from pos 7, then inserted after "Goodbye" + // After deletion: "Hello Goodbye" (14 chars) + // AdjustDropPos: 20 - (12-7) = 15 + // Insert at 15: "Hello Goodbye World" wait, that's wrong... + // Actually "Hello Goodbye" has a double space. Let me re-think. + // Original: "Hello World Goodbye" (H=1..o=5, space=6, W=7..d=11, space=12, G=13..e=19) + // Select chars 7-12 = "World " (includes trailing space) + // Wait, selection is (7,1)-(12,1). Delete(SLine, 7, 12-7) = Delete(SLine, 7, 5) removes 5 chars = "World" + // Result: "Hello Goodbye" (note double space) + // AdjustDropPos: char 20, same line as sel end (line 1), Dec(Char, 12-7=5) -> char 15 + // Insert "World" at char 15 of "Hello Goodbye" (14 chars, so 15 = past end) + // With space padding: "Hello Goodbye" + " " + "World" wait, char 15 is 1 past end of 14 chars + // Actually Length("Hello Goodbye") = 14, char 15 = position just after 'e', no padding needed + // Result: "Hello GoodbyeWorld" + // Hmm, that's not ideal but it's the correct behavior for these coordinates. + // Let me use a cleaner example. + Assert.AreEqual('Hello GoodbyeWorld', FEditor.Lines[0]); +end; + +procedure TTestFMXDragDropIntegration.TestInternalMove_SameLine_Backward; +begin + // "Hello World" — select "World" (7-12), move to char 1 + FEditor.Text := 'Hello World'; + FEditor.SetCaretAndSelection(BufferCoord(12, 1), + BufferCoord(7, 1), BufferCoord(12, 1)); + FEditor.TestDropTextAtPos('World', BufferCoord(1, 1), True, True); + // Drop is before selection, so no adjustment + // Delete "World" (7-12): "Hello " (note trailing space, only 6 chars remain... wait) + // Original: "Hello World" = H(1)e(2)l(3)l(4)o(5) (6)W(7)o(8)r(9)l(10)d(11) + // Delete(SLine, 7, 5): removes chars 7-11 = "World" -> "Hello " (6 chars) + // Insert "World" at char 1: "WorldHello " + Assert.AreEqual('WorldHello ', FEditor.Lines[0]); +end; + +procedure TTestFMXDragDropIntegration.TestInternalMove_DifferentLine; +begin + // Two lines: select "World" on line 1, move to start of line 2 + FEditor.Text := 'Hello World' + sLineBreak + 'Goodbye'; + FEditor.SetCaretAndSelection(BufferCoord(12, 1), + BufferCoord(7, 1), BufferCoord(12, 1)); + FEditor.TestDropTextAtPos('World', BufferCoord(1, 2), True, True); + // Delete "World" from line 1: "Hello " remains + // Drop is on different line (after sel), AdjustDropPos: line stays 2, char stays 1 + // (sel is single line, no line adjustment needed) + // Insert "World" at start of line 2 + Assert.AreEqual('Hello ', FEditor.Lines[0]); + Assert.AreEqual('WorldGoodbye', FEditor.Lines[1]); +end; + +procedure TTestFMXDragDropIntegration.TestInternalMove_MultiLineSelection; +begin + // Three lines, select from middle of line 1 to middle of line 2 + FEditor.Text := 'AAABBB' + sLineBreak + 'CCCDDD' + sLineBreak + 'EEEFFF'; + // Select "BBB\r\nCCC" = from (4,1) to (4,2) + FEditor.SetCaretAndSelection(BufferCoord(4, 2), + BufferCoord(4, 1), BufferCoord(4, 2)); + // Move to start of line 3 + FEditor.TestDropTextAtPos('BBB' + sLineBreak + 'CCC', + BufferCoord(1, 3), True, True); + // Delete (4,1)-(4,2): line 1 becomes "AAA" + "DDD" = "AAADDD", line 2 deleted + // Now 2 lines: "AAADDD", "EEEFFF" + // AdjustDropPos: drop was line 3, after sel end line 2. Dec(Line, 2-1=1) -> line 2 + // Insert "BBB\r\nCCC" at (1, 2) of "EEEFFF" + // Line 2 becomes "BBB", new line 3 = "CCCEEEFFF" + Assert.AreEqual(3, FEditor.Lines.Count); + Assert.AreEqual('AAADDD', FEditor.Lines[0]); + Assert.AreEqual('BBB', FEditor.Lines[1]); + Assert.AreEqual('CCCEEEFFF', FEditor.Lines[2]); +end; + +procedure TTestFMXDragDropIntegration.TestInternalMove_SourceTextDeleted; +begin + // Verify the source text is removed after an internal move + FEditor.Text := 'ABCDEFGH'; + // Select "CDE" (3-6) + FEditor.SetCaretAndSelection(BufferCoord(6, 1), + BufferCoord(3, 1), BufferCoord(6, 1)); + FEditor.TestDropTextAtPos('CDE', BufferCoord(9, 1), True, True); + // After delete "CDE": "ABFGH" (5 chars) + // AdjustDropPos: 9 - (6-3) = 6 + // Insert at 6: "ABFGHCDE" wait, 6 is past "ABFGH" (5 chars) by 1 + // char 6 = just past end, no padding needed + // "ABFGH" + insert at 6 = "ABFGHCDE" + Assert.AreEqual('ABFGHCDE', FEditor.Lines[0]); + // Original "CDE" is gone from its original position + Assert.AreEqual(0, Pos('CDEFGH', FEditor.Lines[0]), + 'Original text should be removed'); +end; + +procedure TTestFMXDragDropIntegration.TestInternalMove_RejectsDropInSelection; +begin + // Drop inside selection should be rejected + FEditor.Text := 'Hello World'; + FEditor.SetCaretAndSelection(BufferCoord(8, 1), + BufferCoord(3, 1), BufferCoord(8, 1)); + FEditor.TestDropTextAtPos('llo W', BufferCoord(5, 1), True, True); + // Drop at char 5 is inside selection (3-8), should be rejected + Assert.AreEqual('Hello World', FEditor.Lines[0], + 'Drop inside selection should be rejected'); +end; + +// --- Internal copy tests --- + +procedure TTestFMXDragDropIntegration.TestInternalCopy_DuplicatesText; +begin + FEditor.Text := 'Hello World'; + // Select "World" (7-12) + FEditor.SetCaretAndSelection(BufferCoord(12, 1), + BufferCoord(7, 1), BufferCoord(12, 1)); + // Copy (not move) to char 1 + FEditor.TestDropTextAtPos('World', BufferCoord(1, 1), True, False); + Assert.AreEqual('WorldHello World', FEditor.Lines[0]); +end; + +procedure TTestFMXDragDropIntegration.TestInternalCopy_SourceTextPreserved; +begin + FEditor.Text := 'ABCDEF'; + // Select "BCD" (2-5) + FEditor.SetCaretAndSelection(BufferCoord(5, 1), + BufferCoord(2, 1), BufferCoord(5, 1)); + // Copy to end of line + FEditor.TestDropTextAtPos('BCD', BufferCoord(7, 1), True, False); + // Source preserved, copy appended + Assert.AreEqual('ABCDEFBCD', FEditor.Lines[0]); +end; + +// --- Selection state tests --- + +procedure TTestFMXDragDropIntegration.TestDrop_SelectsInsertedText; +begin + FEditor.Text := 'Hello'; + FEditor.TestDropTextAtPos('XYZ', BufferCoord(1, 1), False, True); + // After drop, selection should cover the inserted text + Assert.IsTrue(FEditor.SelAvail, 'Inserted text should be selected'); + Assert.AreEqual('XYZ', FEditor.SelText, 'Selection should match dropped text'); +end; + +procedure TTestFMXDragDropIntegration.TestDrop_LineCountIncreasesForMultiLine; +begin + FEditor.Text := 'OneLine'; + Assert.AreEqual(1, FEditor.Lines.Count); + FEditor.TestDropTextAtPos('A' + sLineBreak + 'B' + sLineBreak + 'C', + BufferCoord(8, 1), False, True); + Assert.AreEqual(3, FEditor.Lines.Count, + 'Multi-line drop should increase line count'); +end; + +// --- Undo tests --- + +procedure TTestFMXDragDropIntegration.TestInternalMove_UndoRestoresOriginal; +begin + FEditor.Text := 'Hello World'; + FEditor.SetCaretAndSelection(BufferCoord(12, 1), + BufferCoord(7, 1), BufferCoord(12, 1)); + FEditor.TestDropTextAtPos('World', BufferCoord(1, 1), True, True); + // After move: "WorldHello " + Assert.AreEqual('WorldHello ', FEditor.Lines[0]); + // Undo should restore original + FEditor.Undo; + Assert.AreEqual('Hello World', FEditor.Text, + 'Undo should restore original text'); +end; + +initialization + TDUnitX.RegisterTestFixture(TSynDragDropHelperTests); + TDUnitX.RegisterTestFixture(TTestFMXDragDropIntegration); + +end. diff --git a/Tests/FMX/TestFMXSynEditEditing.pas b/Tests/FMX/TestFMXSynEditEditing.pas new file mode 100644 index 00000000..5f825d13 --- /dev/null +++ b/Tests/FMX/TestFMXSynEditEditing.pas @@ -0,0 +1,216 @@ +unit TestFMXSynEditEditing; + +interface + +uses + DUnitX.TestFramework, + FMX.SynEdit; + +type + [TestFixture] + TTestFMXSynEditEditing = class + private + FEditor: TFMXSynEdit; + FChangeCount: Integer; + procedure OnChangeHandler(Sender: TObject); + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestDeleteAtEndOfLineJoinsLines; + [Test] + procedure TestBackspaceAtStartOfLineJoinsLines; + [Test] + procedure TestJoinedLineContentPreserved; + [Test] + procedure TestOverwriteModeReplacesChar; + [Test] + procedure TestInsertModeInsertsChar; + [Test] + procedure TestEcToggleMode; + [Test] + procedure TestOnChangeFiresOnEdit; + [Test] + procedure TestOnChangeFiresOnDelete; + [Test] + procedure TestOnChangeFiresDuringBeginUpdate; + [Test] + procedure TestBackspaceAtDocStartIsNoOp; + [Test] + procedure TestDeleteAtDocEndIsNoOp; + [Test] + procedure TestDeleteCharMiddleOfLine; + end; + +implementation + +uses + System.SysUtils, + SynEditTypes, + SynEditKeyCmds; + +procedure TTestFMXSynEditEditing.OnChangeHandler(Sender: TObject); +begin + Inc(FChangeCount); +end; + +procedure TTestFMXSynEditEditing.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); + FEditor.Text := 'Line one' + sLineBreak + + 'Line two' + sLineBreak + + 'Line three'; + FChangeCount := 0; +end; + +procedure TTestFMXSynEditEditing.TearDown; +begin + FEditor.Free; +end; + +procedure TTestFMXSynEditEditing.TestDeleteAtEndOfLineJoinsLines; +var + OrigCount: Integer; +begin + OrigCount := FEditor.LineCount; + // Position at end of line 1 ('Line one' = 8 chars, caret at 9) + FEditor.CaretXY := BufferCoord(9, 1); + FEditor.ExecuteCommand(ecDeleteChar, #0); + Assert.AreEqual(OrigCount - 1, FEditor.LineCount, + 'Delete at end-of-line should join with next line'); + Assert.AreEqual('Line oneLine two', FEditor.Lines[0], + 'Lines should be concatenated'); +end; + +procedure TTestFMXSynEditEditing.TestBackspaceAtStartOfLineJoinsLines; +var + OrigCount: Integer; +begin + OrigCount := FEditor.LineCount; + // Position at start of line 2 + FEditor.CaretXY := BufferCoord(1, 2); + FEditor.ExecuteCommand(ecDeleteLastChar, #0); + Assert.AreEqual(OrigCount - 1, FEditor.LineCount, + 'Backspace at start-of-line should join with previous line'); + Assert.AreEqual('Line oneLine two', FEditor.Lines[0], + 'Lines should be concatenated'); +end; + +procedure TTestFMXSynEditEditing.TestJoinedLineContentPreserved; +begin + // Join line 2 into line 1 via backspace + FEditor.CaretXY := BufferCoord(1, 2); + FEditor.ExecuteCommand(ecDeleteLastChar, #0); + // Line 3 (now line 2) should be unchanged + Assert.AreEqual('Line three', FEditor.Lines[1], + 'Remaining lines should be preserved'); +end; + +procedure TTestFMXSynEditEditing.TestOverwriteModeReplacesChar; +begin + FEditor.InsertMode := False; + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecChar, 'X'); + Assert.AreEqual('Xine one', FEditor.Lines[0], + 'Overwrite mode should replace the character at caret'); + Assert.AreEqual(2, FEditor.CaretX, + 'Caret should advance after overwrite'); +end; + +procedure TTestFMXSynEditEditing.TestInsertModeInsertsChar; +begin + FEditor.InsertMode := True; + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecChar, 'X'); + Assert.AreEqual('XLine one', FEditor.Lines[0], + 'Insert mode should insert without replacing'); +end; + +procedure TTestFMXSynEditEditing.TestEcToggleMode; +begin + Assert.IsTrue(FEditor.InsertMode, 'Default should be insert mode'); + FEditor.ExecuteCommand(ecToggleMode, #0); + Assert.IsFalse(FEditor.InsertMode, 'Should toggle to overwrite mode'); + FEditor.ExecuteCommand(ecToggleMode, #0); + Assert.IsTrue(FEditor.InsertMode, 'Should toggle back to insert mode'); +end; + +procedure TTestFMXSynEditEditing.TestOnChangeFiresOnEdit; +begin + FEditor.OnChange := OnChangeHandler; + FChangeCount := 0; + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecChar, 'X'); + Assert.IsTrue(FChangeCount > 0, + 'OnChange should fire when text is edited'); +end; + +procedure TTestFMXSynEditEditing.TestOnChangeFiresOnDelete; +begin + FEditor.OnChange := OnChangeHandler; + FChangeCount := 0; + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecDeleteChar, #0); + Assert.IsTrue(FChangeCount > 0, + 'OnChange should fire when text is deleted'); +end; + +procedure TTestFMXSynEditEditing.TestOnChangeFiresDuringBeginUpdate; +begin + // The current implementation fires OnChange even during BeginUpdate + // (only Repaint is suppressed). Verify this behavior. + FEditor.OnChange := OnChangeHandler; + FChangeCount := 0; + FEditor.BeginUpdate; + try + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecChar, 'X'); + finally + FEditor.EndUpdate; + end; + Assert.IsTrue(FChangeCount > 0, + 'OnChange should fire even during BeginUpdate'); +end; + +procedure TTestFMXSynEditEditing.TestBackspaceAtDocStartIsNoOp; +var + OrigText: string; +begin + OrigText := FEditor.Text; + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecDeleteLastChar, #0); + Assert.AreEqual(OrigText, FEditor.Text, + 'Backspace at (1,1) should not modify text'); + Assert.AreEqual(1, FEditor.CaretX); + Assert.AreEqual(1, FEditor.CaretY); +end; + +procedure TTestFMXSynEditEditing.TestDeleteAtDocEndIsNoOp; +var + OrigText: string; + LastLine: Integer; +begin + OrigText := FEditor.Text; + LastLine := FEditor.LineCount; + // Position at end of last line + FEditor.CaretXY := BufferCoord(Length(FEditor.Lines[LastLine - 1]) + 1, LastLine); + FEditor.ExecuteCommand(ecDeleteChar, #0); + Assert.AreEqual(OrigText, FEditor.Text, + 'Delete at end of document should not modify text'); +end; + +procedure TTestFMXSynEditEditing.TestDeleteCharMiddleOfLine; +begin + FEditor.CaretXY := BufferCoord(5, 1); + FEditor.ExecuteCommand(ecDeleteChar, #0); + Assert.AreEqual('Lineone', FEditor.Lines[0], + 'Delete should remove character at caret position'); + Assert.AreEqual(5, FEditor.CaretX, 'Caret should not move'); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXSynEditEditing); + +end. diff --git a/Tests/FMX/TestFMXSynEditGutter.pas b/Tests/FMX/TestFMXSynEditGutter.pas new file mode 100644 index 00000000..47db6732 --- /dev/null +++ b/Tests/FMX/TestFMXSynEditGutter.pas @@ -0,0 +1,246 @@ +unit TestFMXSynEditGutter; + +interface + +uses + DUnitX.TestFramework, + FMX.SynEdit; + +type + [TestFixture] + TTestFMXSynEditGutter = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestDefaultBandCount; + [Test] + procedure TestDefaultBandOrder; + [Test] + procedure TestDefaultBandVisibility; + [Test] + procedure TestGutterWidthPositive; + [Test] + procedure TestGutterWidthWithFolding; + [Test] + procedure TestGutterWidthWithoutFolding; + [Test] + procedure TestLineNumberWidthAutoSizes; + [Test] + procedure TestBandByKind; + [Test] + procedure TestBandByKindNil; + [Test] + procedure TestBandAtX; + [Test] + procedure TestBandAtXPastGutter; + [Test] + procedure TestHideBandReducesWidth; + [Test] + procedure TestGutterInvisibleZeroWidth; + [Test] + procedure TestCustomBand; + [Test] + procedure TestFoldBandVisibilitySync; + end; + +implementation + +uses + System.SysUtils, + System.Math, + SynEditTypes, + FMX.SynEditMiscClasses, + SynHighlighterPas; + +const + SampleText = + 'program Test;' + sLineBreak + + 'begin' + sLineBreak + + ' WriteLn;' + sLineBreak + + 'end.'; + +procedure TTestFMXSynEditGutter.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); + FEditor.Text := SampleText; +end; + +procedure TTestFMXSynEditGutter.TearDown; +begin + FEditor.Free; +end; + +procedure TTestFMXSynEditGutter.TestDefaultBandCount; +begin + Assert.AreEqual(4, FEditor.Gutter.Bands.Count); +end; + +procedure TTestFMXSynEditGutter.TestDefaultBandOrder; +begin + Assert.AreEqual(Ord(gbkLineNumbers), Ord(FEditor.Gutter.Bands[0].Kind)); + Assert.AreEqual(Ord(gbkMarks), Ord(FEditor.Gutter.Bands[1].Kind)); + Assert.AreEqual(Ord(gbkFold), Ord(FEditor.Gutter.Bands[2].Kind)); + Assert.AreEqual(Ord(gbkMargin), Ord(FEditor.Gutter.Bands[3].Kind)); +end; + +procedure TTestFMXSynEditGutter.TestDefaultBandVisibility; +begin + Assert.IsTrue(FEditor.Gutter.Bands[0].Visible, 'LineNumbers visible'); + Assert.IsTrue(FEditor.Gutter.Bands[1].Visible, 'Marks visible'); + Assert.IsFalse(FEditor.Gutter.Bands[2].Visible, 'Fold hidden'); + Assert.IsTrue(FEditor.Gutter.Bands[3].Visible, 'Margin visible'); +end; + +procedure TTestFMXSynEditGutter.TestGutterWidthPositive; +begin + Assert.IsTrue(FEditor.GutterWidth > 0, 'GutterWidth should be > 0'); +end; + +procedure TTestFMXSynEditGutter.TestGutterWidthWithFolding; +var + WidthBefore, WidthAfter: Single; + HL: TSynPasSyn; +begin + WidthBefore := FEditor.GutterWidth; + HL := TSynPasSyn.Create(nil); + try + FEditor.Highlighter := HL; + FEditor.UseCodeFolding := True; + WidthAfter := FEditor.GutterWidth; + Assert.IsTrue(WidthAfter > WidthBefore, 'Width should increase with folding'); + finally + FEditor.UseCodeFolding := False; + FEditor.Highlighter := nil; + HL.Free; + end; +end; + +procedure TTestFMXSynEditGutter.TestGutterWidthWithoutFolding; +var + FoldBand: TSynFMXGutterBand; +begin + FoldBand := FEditor.Gutter.Bands.BandByKind(gbkFold); + Assert.IsNotNull(FoldBand); + Assert.IsFalse(FoldBand.Visible, 'Fold band should be hidden'); + Assert.IsTrue(FoldBand.RealWidth = 0, 'Fold band width should be 0'); +end; + +procedure TTestFMXSynEditGutter.TestLineNumberWidthAutoSizes; +var + WidthSmall, WidthLarge: Single; + I: Integer; + Band: TSynFMXGutterBand; +begin + Band := FEditor.Gutter.Bands.BandByKind(gbkLineNumbers); + WidthSmall := Band.RealWidth; + // Add lines to get past 4 digits + FEditor.BeginUpdate; + try + for I := 1 to 10000 do + FEditor.Lines.Add('Line ' + IntToStr(I)); + finally + FEditor.EndUpdate; + end; + WidthLarge := Band.RealWidth; + Assert.IsTrue(WidthLarge > WidthSmall, + 'Line number band should widen with more lines'); +end; + +procedure TTestFMXSynEditGutter.TestBandByKind; +var + Band: TSynFMXGutterBand; +begin + Band := FEditor.Gutter.Bands.BandByKind(gbkMarks); + Assert.IsNotNull(Band); + Assert.AreEqual(Ord(gbkMarks), Ord(Band.Kind)); +end; + +procedure TTestFMXSynEditGutter.TestBandByKindNil; +begin + // Remove the custom band kind - gbkCustom is not in defaults + Assert.IsNull(FEditor.Gutter.Bands.BandByKind(gbkCustom)); +end; + +procedure TTestFMXSynEditGutter.TestBandAtX; +var + Band: TSynFMXGutterBand; +begin + // X=0 should be in the first band (LineNumbers) + Band := FEditor.Gutter.BandAtX(0); + Assert.IsNotNull(Band); + Assert.AreEqual(Ord(gbkLineNumbers), Ord(Band.Kind)); +end; + +procedure TTestFMXSynEditGutter.TestBandAtXPastGutter; +var + Band: TSynFMXGutterBand; +begin + Band := FEditor.Gutter.BandAtX(FEditor.GutterWidth + 100); + Assert.IsNull(Band, 'Should return nil past gutter edge'); +end; + +procedure TTestFMXSynEditGutter.TestHideBandReducesWidth; +var + WidthBefore, WidthAfter: Single; +begin + WidthBefore := FEditor.GutterWidth; + FEditor.Gutter.Bands.BandByKind(gbkMarks).Visible := False; + WidthAfter := FEditor.GutterWidth; + Assert.IsTrue(WidthAfter < WidthBefore, + 'Hiding marks band should reduce gutter width'); + // Restore + FEditor.Gutter.Bands.BandByKind(gbkMarks).Visible := True; +end; + +procedure TTestFMXSynEditGutter.TestGutterInvisibleZeroWidth; +begin + FEditor.Gutter.Visible := False; + Assert.AreEqual(Single(0), FEditor.GutterWidth, + 'Gutter width should be 0 when invisible'); + FEditor.Gutter.Visible := True; +end; + +procedure TTestFMXSynEditGutter.TestCustomBand; +var + WidthBefore, WidthAfter: Single; +begin + WidthBefore := FEditor.GutterWidth; + FEditor.Gutter.Bands.Add(gbkCustom, 20, True); + // Trigger width recalc + FEditor.Gutter.Changed; + WidthAfter := FEditor.GutterWidth; + Assert.AreEqual(5, FEditor.Gutter.Bands.Count, 'Should have 5 bands'); + Assert.IsTrue(WidthAfter > WidthBefore, + 'Custom band should increase gutter width'); +end; + +procedure TTestFMXSynEditGutter.TestFoldBandVisibilitySync; +var + FoldBand: TSynFMXGutterBand; + HL: TSynPasSyn; +begin + FoldBand := FEditor.Gutter.Bands.BandByKind(gbkFold); + Assert.IsFalse(FoldBand.Visible, 'Fold band initially hidden'); + + HL := TSynPasSyn.Create(nil); + try + FEditor.Highlighter := HL; + FEditor.UseCodeFolding := True; + Assert.IsTrue(FoldBand.Visible, 'Fold band visible when folding enabled'); + FEditor.UseCodeFolding := False; + Assert.IsFalse(FoldBand.Visible, 'Fold band hidden when folding disabled'); + finally + FEditor.Highlighter := nil; + HL.Free; + end; +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXSynEditGutter); + +end. diff --git a/Tests/FMX/TestFMXSynEditHighlighter.pas b/Tests/FMX/TestFMXSynEditHighlighter.pas new file mode 100644 index 00000000..43d287a1 --- /dev/null +++ b/Tests/FMX/TestFMXSynEditHighlighter.pas @@ -0,0 +1,119 @@ +unit TestFMXSynEditHighlighter; + +interface + +uses + DUnitX.TestFramework, + FMX.SynEdit; + +type + [TestFixture] + TTestFMXSynEditHighlighter = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestHighlighterNilByDefault; + [Test] + procedure TestAssignHighlighter; + [Test] + procedure TestHighlighterClearToNil; + [Test] + procedure TestHighlighterFreeNotification; + [Test] + procedure TestMultipleHighlighterSwitch; + end; + +implementation + +uses + System.SysUtils, + SynHighlighterDelphi, + SynHighlighterJSON; + +procedure TTestFMXSynEditHighlighter.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); +end; + +procedure TTestFMXSynEditHighlighter.TearDown; +begin + FEditor.Free; +end; + +procedure TTestFMXSynEditHighlighter.TestHighlighterNilByDefault; +begin + Assert.IsNull(FEditor.Highlighter); +end; + +procedure TTestFMXSynEditHighlighter.TestAssignHighlighter; +var + HL: TSynDelphiSyn; +begin + HL := TSynDelphiSyn.Create(nil); + try + FEditor.Highlighter := HL; + Assert.AreSame(HL, FEditor.Highlighter); + finally + FEditor.Highlighter := nil; + HL.Free; + end; +end; + +procedure TTestFMXSynEditHighlighter.TestHighlighterClearToNil; +var + HL: TSynDelphiSyn; +begin + HL := TSynDelphiSyn.Create(nil); + try + FEditor.Highlighter := HL; + Assert.IsNotNull(FEditor.Highlighter); + FEditor.Highlighter := nil; + Assert.IsNull(FEditor.Highlighter); + finally + HL.Free; + end; +end; + +procedure TTestFMXSynEditHighlighter.TestHighlighterFreeNotification; +var + HL: TSynDelphiSyn; +begin + HL := TSynDelphiSyn.Create(nil); + FEditor.Highlighter := HL; + Assert.IsNotNull(FEditor.Highlighter); + // Freeing the highlighter should trigger FreeNotification + HL.Free; + Assert.IsNull(FEditor.Highlighter, + 'Highlighter property should be nil after highlighter is freed'); +end; + +procedure TTestFMXSynEditHighlighter.TestMultipleHighlighterSwitch; +var + HL1: TSynDelphiSyn; + HL2: TSynJSONSyn; +begin + HL1 := TSynDelphiSyn.Create(nil); + HL2 := TSynJSONSyn.Create(nil); + try + FEditor.Highlighter := HL1; + Assert.AreSame(HL1, FEditor.Highlighter); + FEditor.Highlighter := HL2; + Assert.AreSame(HL2, FEditor.Highlighter); + FEditor.Highlighter := nil; + Assert.IsNull(FEditor.Highlighter); + finally + FEditor.Highlighter := nil; + HL2.Free; + HL1.Free; + end; +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXSynEditHighlighter); + +end. diff --git a/Tests/FMX/TestFMXSynEditMultiCaret.pas b/Tests/FMX/TestFMXSynEditMultiCaret.pas new file mode 100644 index 00000000..b779e4a9 --- /dev/null +++ b/Tests/FMX/TestFMXSynEditMultiCaret.pas @@ -0,0 +1,296 @@ +unit TestFMXSynEditMultiCaret; + +interface + +uses + DUnitX.TestFramework, + FMX.SynEdit; + +type + [TestFixture] + TTestFMXSynEditMultiCaret = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestSingleCaretBackwardCompat; + [Test] + procedure TestSelectionsDefaultCount; + [Test] + procedure TestAddCaret; + [Test] + procedure TestAddCaretToggle; + [Test] + procedure TestColumnSelectionDown; + [Test] + procedure TestColumnSelectionUp; + [Test] + procedure TestMultiCaretCharInsert; + [Test] + procedure TestMultiCaretDeleteChar; + [Test] + procedure TestMultiCaretBackspace; + [Test] + procedure TestCancelSelections; + [Test] + procedure TestCancelSingleSelection; + [Test] + procedure TestMergeOverlapping; + [Test] + procedure TestSelectAllMatchingText; + [Test] + procedure TestCaretsAtLineEnds; + [Test] + procedure TestMultiCaretUndo; + [Test] + procedure TestMultiCaretRedo; + [Test] + procedure TestPartSelectionsForRow; + end; + +implementation + +uses + System.SysUtils, + SynEditTypes, + SynEditSelections, + SynEditKeyCmds; + +procedure TTestFMXSynEditMultiCaret.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); + FEditor.Text := 'Hello World' + sLineBreak + + 'Second line' + sLineBreak + + 'Third line' + sLineBreak + + 'Hello Again' + sLineBreak + + 'Fifth line'; +end; + +procedure TTestFMXSynEditMultiCaret.TearDown; +begin + FEditor.Free; +end; + +procedure TTestFMXSynEditMultiCaret.TestSingleCaretBackwardCompat; +begin + FEditor.CaretXY := BufferCoord(3, 2); + Assert.AreEqual(3, FEditor.CaretX); + Assert.AreEqual(2, FEditor.CaretY); + FEditor.BlockBegin := BufferCoord(1, 2); + FEditor.BlockEnd := BufferCoord(7, 2); + Assert.AreEqual('Second', FEditor.SelText); +end; + +procedure TTestFMXSynEditMultiCaret.TestSelectionsDefaultCount; +begin + Assert.AreEqual(1, FEditor.Selections.Count, + 'Should start with 1 selection'); +end; + +procedure TTestFMXSynEditMultiCaret.TestAddCaret; +begin + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.Selections.AddCaret(BufferCoord(1, 2)); + Assert.AreEqual(2, FEditor.Selections.Count, + 'Should have 2 selections after AddCaret'); +end; + +procedure TTestFMXSynEditMultiCaret.TestAddCaretToggle; +begin + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.Selections.AddCaret(BufferCoord(1, 2)); + Assert.AreEqual(2, FEditor.Selections.Count); + // Adding caret at same position removes it + FEditor.Selections.AddCaret(BufferCoord(1, 2)); + Assert.AreEqual(1, FEditor.Selections.Count, + 'AddCaret at same position should toggle (remove)'); +end; + +procedure TTestFMXSynEditMultiCaret.TestColumnSelectionDown; +begin + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.CommandProcessor(ecSelColumnDown, #0); + Assert.AreEqual(2, FEditor.Selections.Count, + 'Column down from line 1 should create 2 selections'); + FEditor.CommandProcessor(ecSelColumnDown, #0); + Assert.AreEqual(3, FEditor.Selections.Count, + 'Column down again should create 3 selections'); +end; + +procedure TTestFMXSynEditMultiCaret.TestColumnSelectionUp; +begin + FEditor.CaretXY := BufferCoord(1, 3); + FEditor.CommandProcessor(ecSelColumnUp, #0); + Assert.AreEqual(2, FEditor.Selections.Count, + 'Column up from line 3 should create 2 selections'); +end; + +procedure TTestFMXSynEditMultiCaret.TestMultiCaretCharInsert; +begin + // Place carets at start of lines 1, 2, 3 + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.Selections.AddCaret(BufferCoord(1, 2)); + FEditor.Selections.AddCaret(BufferCoord(1, 3)); + Assert.AreEqual(3, FEditor.Selections.Count); + + // Insert 'X' at all carets + FEditor.CommandProcessor(ecChar, 'X'); + + Assert.AreEqual('XHello World', FEditor.Lines[0]); + Assert.AreEqual('XSecond line', FEditor.Lines[1]); + Assert.AreEqual('XThird line', FEditor.Lines[2]); +end; + +procedure TTestFMXSynEditMultiCaret.TestMultiCaretDeleteChar; +begin + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.Selections.AddCaret(BufferCoord(1, 2)); + FEditor.Selections.AddCaret(BufferCoord(1, 3)); + + FEditor.CommandProcessor(ecDeleteChar, #0); + + Assert.AreEqual('ello World', FEditor.Lines[0]); + Assert.AreEqual('econd line', FEditor.Lines[1]); + Assert.AreEqual('hird line', FEditor.Lines[2]); +end; + +procedure TTestFMXSynEditMultiCaret.TestMultiCaretBackspace; +begin + FEditor.CaretXY := BufferCoord(2, 1); + FEditor.Selections.AddCaret(BufferCoord(2, 2)); + FEditor.Selections.AddCaret(BufferCoord(2, 3)); + + FEditor.CommandProcessor(ecDeleteLastChar, #0); + + Assert.AreEqual('ello World', FEditor.Lines[0]); + Assert.AreEqual('econd line', FEditor.Lines[1]); + Assert.AreEqual('hird line', FEditor.Lines[2]); +end; + +procedure TTestFMXSynEditMultiCaret.TestCancelSelections; +begin + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.Selections.AddCaret(BufferCoord(1, 2)); + FEditor.Selections.AddCaret(BufferCoord(1, 3)); + Assert.AreEqual(3, FEditor.Selections.Count); + + FEditor.CommandProcessor(ecCancelSelections, #0); + Assert.AreEqual(1, FEditor.Selections.Count, + 'CancelSelections should reduce to 1'); +end; + +procedure TTestFMXSynEditMultiCaret.TestCancelSingleSelection; +begin + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.BlockBegin := BufferCoord(1, 1); + FEditor.BlockEnd := BufferCoord(6, 1); + Assert.IsTrue(FEditor.SelAvail); + + FEditor.CommandProcessor(ecCancelSelections, #0); + Assert.IsFalse(FEditor.SelAvail, + 'CancelSelections on single should collapse selection'); +end; + +procedure TTestFMXSynEditMultiCaret.TestMergeOverlapping; +begin + // Place two carets adjacent — after editing they should merge + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.Selections.AddCaret(BufferCoord(2, 1)); + Assert.AreEqual(2, FEditor.Selections.Count); + + // Delete char at both positions — they converge + FEditor.CommandProcessor(ecDeleteChar, #0); + // After merge, should be 1 selection + Assert.AreEqual(1, FEditor.Selections.Count, + 'Overlapping carets should merge'); +end; + +procedure TTestFMXSynEditMultiCaret.TestSelectAllMatchingText; +begin + // Select "Hello" on line 1 + FEditor.SetCaretAndSelection( + BufferCoord(6, 1), BufferCoord(1, 1), BufferCoord(6, 1)); + + Assert.AreEqual('Hello', FEditor.SelText, 'Selection should be "Hello"'); + + FEditor.CommandProcessor(ecSelMatchingText, #0); + + // "Hello" appears on lines 1 and 4 + Assert.AreEqual(2, FEditor.Selections.Count, + 'Should find 2 occurrences of "Hello"'); +end; + +procedure TTestFMXSynEditMultiCaret.TestCaretsAtLineEnds; +begin + // Select lines 1-3 + FEditor.BlockBegin := BufferCoord(1, 1); + FEditor.BlockEnd := BufferCoord(1, 3); + + FEditor.CommandProcessor(ecCaretsAtLineEnds, #0); + + Assert.AreEqual(3, FEditor.Selections.Count, + 'Should have 3 carets (one per line)'); + // Each caret should be at end of its line + Assert.AreEqual(12, FEditor.Selections[0].Caret.Char, + 'Caret 1 should be at end of "Hello World"'); + Assert.AreEqual(1, FEditor.Selections[0].Caret.Line); + Assert.AreEqual(12, FEditor.Selections[1].Caret.Char, + 'Caret 2 should be at end of "Second line"'); + Assert.AreEqual(2, FEditor.Selections[1].Caret.Line); + Assert.AreEqual(11, FEditor.Selections[2].Caret.Char, + 'Caret 3 should be at end of "Third line"'); + Assert.AreEqual(3, FEditor.Selections[2].Caret.Line); +end; + +procedure TTestFMXSynEditMultiCaret.TestMultiCaretUndo; +begin + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.Selections.AddCaret(BufferCoord(1, 2)); + Assert.AreEqual(2, FEditor.Selections.Count); + + FEditor.CommandProcessor(ecChar, 'Z'); + Assert.AreEqual('ZHello World', FEditor.Lines[0]); + Assert.AreEqual('ZSecond line', FEditor.Lines[1]); + + FEditor.Undo; + Assert.AreEqual('Hello World', FEditor.Lines[0]); + Assert.AreEqual('Second line', FEditor.Lines[1]); +end; + +procedure TTestFMXSynEditMultiCaret.TestMultiCaretRedo; +begin + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.Selections.AddCaret(BufferCoord(1, 2)); + + FEditor.CommandProcessor(ecChar, 'Z'); + FEditor.Undo; + Assert.AreEqual('Hello World', FEditor.Lines[0]); + + FEditor.Redo; + Assert.AreEqual('ZHello World', FEditor.Lines[0]); + Assert.AreEqual('ZSecond line', FEditor.Lines[1]); +end; + +procedure TTestFMXSynEditMultiCaret.TestPartSelectionsForRow; +begin + // Create a column selection spanning 3 lines, chars 3-6 + FEditor.CaretXY := BufferCoord(3, 1); + FEditor.Selections.ColumnSelection( + BufferCoord(3, 1), BufferCoord(6, 3), 0); + + Assert.AreEqual(3, FEditor.Selections.Count); + + var Parts := FEditor.Selections.PartSelectionsForRow( + BufferCoord(1, 2), BufferCoord(12, 2)); + Assert.AreEqual(1, Length(Parts), + 'Row 2 should have 1 partial selection'); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXSynEditMultiCaret); + +end. diff --git a/Tests/FMX/TestFMXSynEditOptions.pas b/Tests/FMX/TestFMXSynEditOptions.pas new file mode 100644 index 00000000..cee9b528 --- /dev/null +++ b/Tests/FMX/TestFMXSynEditOptions.pas @@ -0,0 +1,125 @@ +unit TestFMXSynEditOptions; + +interface + +uses + DUnitX.TestFramework, + FMX.SynEdit; + +type + [TestFixture] + TTestFMXSynEditOptions = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestDefaultOptions; + [Test] + procedure TestSetOptionsInclude; + [Test] + procedure TestSetOptionsExclude; + [Test] + procedure TestReadOnlyDefault; + [Test] + procedure TestSetReadOnly; + [Test] + procedure TestReadOnlyBlocksTyping; + [Test] + procedure TestTabWidthDefault; + [Test] + procedure TestSetTabWidth; + [Test] + procedure TestInsertModeDefault; + [Test] + procedure TestRightEdgeDefault; + end; + +implementation + +uses + System.SysUtils, + SynEditTypes, + SynEditKeyCmds; + +procedure TTestFMXSynEditOptions.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); +end; + +procedure TTestFMXSynEditOptions.TearDown; +begin + FEditor.Free; +end; + +procedure TTestFMXSynEditOptions.TestDefaultOptions; +begin + Assert.IsTrue(eoAutoIndent in FEditor.Options, 'eoAutoIndent should be in defaults'); + Assert.IsTrue(eoTabsToSpaces in FEditor.Options, 'eoTabsToSpaces should be in defaults'); + Assert.IsTrue(eoGroupUndo in FEditor.Options, 'eoGroupUndo should be in defaults'); + Assert.IsTrue(eoKeepCaretX in FEditor.Options, 'eoKeepCaretX should be in defaults'); + Assert.IsTrue(eoTabIndent in FEditor.Options, 'eoTabIndent should be in defaults'); +end; + +procedure TTestFMXSynEditOptions.TestSetOptionsInclude; +begin + FEditor.Options := FEditor.Options + [eoNoCaret]; + Assert.IsTrue(eoNoCaret in FEditor.Options); +end; + +procedure TTestFMXSynEditOptions.TestSetOptionsExclude; +begin + Assert.IsTrue(eoAutoIndent in FEditor.Options); + FEditor.Options := FEditor.Options - [eoAutoIndent]; + Assert.IsFalse(eoAutoIndent in FEditor.Options); +end; + +procedure TTestFMXSynEditOptions.TestReadOnlyDefault; +begin + Assert.IsFalse(FEditor.ReadOnly); +end; + +procedure TTestFMXSynEditOptions.TestSetReadOnly; +begin + FEditor.ReadOnly := True; + Assert.IsTrue(FEditor.ReadOnly); +end; + +procedure TTestFMXSynEditOptions.TestReadOnlyBlocksTyping; +begin + FEditor.Text := 'Hello'; + FEditor.ReadOnly := True; + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecChar, 'X'); + Assert.AreEqual('Hello', FEditor.Lines[0], + 'ReadOnly should prevent character insertion'); +end; + +procedure TTestFMXSynEditOptions.TestTabWidthDefault; +begin + Assert.AreEqual(8, FEditor.TabWidth); +end; + +procedure TTestFMXSynEditOptions.TestSetTabWidth; +begin + FEditor.TabWidth := 4; + Assert.AreEqual(4, FEditor.TabWidth); +end; + +procedure TTestFMXSynEditOptions.TestInsertModeDefault; +begin + Assert.IsTrue(FEditor.InsertMode); +end; + +procedure TTestFMXSynEditOptions.TestRightEdgeDefault; +begin + Assert.AreEqual(80, FEditor.RightEdge); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXSynEditOptions); + +end. diff --git a/Tests/FMX/TestFMXSynEditRenderer.pas b/Tests/FMX/TestFMXSynEditRenderer.pas new file mode 100644 index 00000000..4ec0ac4b --- /dev/null +++ b/Tests/FMX/TestFMXSynEditRenderer.pas @@ -0,0 +1,169 @@ +unit TestFMXSynEditRenderer; + +interface + +uses + DUnitX.TestFramework; + +type + [TestFixture] + TTestTColorToAlphaColor = class + public + [Test] + procedure TestBlack; + [Test] + procedure TestWhite; + [Test] + procedure TestRed; + [Test] + procedure TestGreen; + [Test] + procedure TestBlue; + [Test] + procedure TestMixedColorByteSwap; + [Test] + procedure TestSysNoneReturnsNull; + [Test] + procedure TestAlphaAlwaysFF; + end; + + [TestFixture] + TTestSynFMXRendererMetrics = class + public + [Test] + procedure TestCharWidthPositive; + [Test] + procedure TestLineHeightPositive; + [Test] + procedure TestSetFontUpdatesMetrics; + end; + +implementation + +uses + System.UITypes, + System.UIConsts, + FMX.Graphics, + FMX.SynEditRenderer; + +{ TTestTColorToAlphaColor } + +procedure TTestTColorToAlphaColor.TestBlack; +begin + // TColor black = $00000000 -> TAlphaColor = $FF000000 + Assert.AreEqual(TAlphaColor($FF000000), TColorToAlphaColor(TColor($00000000)), + 'Black should convert to $FF000000'); +end; + +procedure TTestTColorToAlphaColor.TestWhite; +begin + // TColor white = $00FFFFFF -> TAlphaColor = $FFFFFFFF + Assert.AreEqual(TAlphaColor($FFFFFFFF), TColorToAlphaColor(TColor($00FFFFFF)), + 'White should convert to $FFFFFFFF'); +end; + +procedure TTestTColorToAlphaColor.TestRed; +begin + // TColor red = $000000FF (BB=00, GG=00, RR=FF) -> TAlphaColor = $FFFF0000 + Assert.AreEqual(TAlphaColor($FFFF0000), TColorToAlphaColor(TColor($000000FF)), + 'Red TColor should become $FFFF0000'); +end; + +procedure TTestTColorToAlphaColor.TestGreen; +begin + // TColor green = $0000FF00 (BB=00, GG=FF, RR=00) -> TAlphaColor = $FF00FF00 + Assert.AreEqual(TAlphaColor($FF00FF00), TColorToAlphaColor(TColor($0000FF00)), + 'Green TColor should become $FF00FF00'); +end; + +procedure TTestTColorToAlphaColor.TestBlue; +begin + // TColor blue = $00FF0000 (BB=FF, GG=00, RR=00) -> TAlphaColor = $FF0000FF + Assert.AreEqual(TAlphaColor($FF0000FF), TColorToAlphaColor(TColor($00FF0000)), + 'Blue TColor should become $FF0000FF'); +end; + +procedure TTestTColorToAlphaColor.TestMixedColorByteSwap; +begin + // TColor = $00AABBCC (BB=AA, GG=BB, RR=CC) -> TAlphaColor = $FFCCBBAA + Assert.AreEqual(TAlphaColor($FFCCBBAA), TColorToAlphaColor(TColor($00AABBCC)), + 'Mixed color should byte-swap R and B channels'); +end; + +procedure TTestTColorToAlphaColor.TestSysNoneReturnsNull; +begin + Assert.AreEqual(TAlphaColors.Null, TColorToAlphaColor(TColors.SysNone), + 'SysNone should map to TAlphaColors.Null'); +end; + +procedure TTestTColorToAlphaColor.TestAlphaAlwaysFF; +var + Result: TAlphaColor; +begin + // For any non-SysNone, non-system color, alpha byte should be $FF + Result := TColorToAlphaColor(TColor($00123456)); + Assert.AreEqual(Byte($FF), Byte(Result shr 24), + 'Alpha channel should always be $FF for regular colors'); +end; + +{ TTestSynFMXRendererMetrics } + +procedure TTestSynFMXRendererMetrics.TestCharWidthPositive; +var + Renderer: TSynFMXRenderer; +begin + Renderer := TSynFMXRenderer.Create; + try + Assert.IsTrue(Renderer.CharWidth > 0, + 'CharWidth should be positive after creation'); + finally + Renderer.Free; + end; +end; + +procedure TTestSynFMXRendererMetrics.TestLineHeightPositive; +var + Renderer: TSynFMXRenderer; +begin + Renderer := TSynFMXRenderer.Create; + try + Assert.IsTrue(Renderer.LineHeight > 0, + 'LineHeight should be positive after creation'); + finally + Renderer.Free; + end; +end; + +procedure TTestSynFMXRendererMetrics.TestSetFontUpdatesMetrics; +var + Renderer: TSynFMXRenderer; + OldCharWidth, OldLineHeight: Single; + NewFont: TFont; +begin + Renderer := TSynFMXRenderer.Create; + try + OldCharWidth := Renderer.CharWidth; + OldLineHeight := Renderer.LineHeight; + NewFont := TFont.Create; + try + NewFont.Family := 'Consolas'; + NewFont.Size := 24; // significantly different from default 10 + Renderer.SetFont(NewFont); + finally + NewFont.Free; + end; + // Larger font should produce larger metrics + Assert.IsTrue(Renderer.CharWidth > OldCharWidth, + 'CharWidth should increase with larger font'); + Assert.IsTrue(Renderer.LineHeight > OldLineHeight, + 'LineHeight should increase with larger font'); + finally + Renderer.Free; + end; +end; + +initialization + TDUnitX.RegisterTestFixture(TTestTColorToAlphaColor); + TDUnitX.RegisterTestFixture(TTestSynFMXRendererMetrics); + +end. diff --git a/Tests/FMX/TestFMXSynEditSearch.pas b/Tests/FMX/TestFMXSynEditSearch.pas new file mode 100644 index 00000000..ddba1e48 --- /dev/null +++ b/Tests/FMX/TestFMXSynEditSearch.pas @@ -0,0 +1,166 @@ +unit TestFMXSynEditSearch; + +interface + +uses + DUnitX.TestFramework, + FMX.SynEdit, + SynEditSearch, + SynEditRegexSearch; + +type + [TestFixture] + TTestFMXSynEditSearch = class + private + FEditor: TFMXSynEdit; + FSearchEngine: TSynEditSearch; + FRegexEngine: TSynEditRegexSearch; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestSearchFindsMatch; + [Test] + procedure TestSearchNoMatch; + [Test] + procedure TestSearchCaseSensitive; + [Test] + procedure TestSearchCaseInsensitive; + [Test] + procedure TestSearchWholeWord; + [Test] + procedure TestSearchReplace; + [Test] + procedure TestSearchReplaceAll; + [Test] + procedure TestRegexSearch; + [Test] + procedure TestRegexReplace; + end; + +implementation + +uses + System.SysUtils, + SynEditTypes; + +procedure TTestFMXSynEditSearch.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); + FSearchEngine := TSynEditSearch.Create(nil); + FRegexEngine := TSynEditRegexSearch.Create(nil); +end; + +procedure TTestFMXSynEditSearch.TearDown; +begin + FEditor.SearchEngine := nil; + FRegexEngine.Free; + FSearchEngine.Free; + FEditor.Free; +end; + +procedure TTestFMXSynEditSearch.TestSearchFindsMatch; +var + Count: Integer; +begin + FEditor.Text := 'Hello World'; + FEditor.SearchEngine := FSearchEngine; + Count := FEditor.SearchReplace('World', '', [ssoEntireScope]); + Assert.AreEqual(1, Count, 'Should find exactly 1 "World" in text'); +end; + +procedure TTestFMXSynEditSearch.TestSearchNoMatch; +var + Count: Integer; +begin + FEditor.Text := 'Hello World'; + FEditor.SearchEngine := FSearchEngine; + Count := FEditor.SearchReplace('XYZ', '', [ssoEntireScope]); + Assert.AreEqual(0, Count, 'Should not find "XYZ" in text'); +end; + +procedure TTestFMXSynEditSearch.TestSearchCaseSensitive; +var + Count: Integer; +begin + FEditor.Text := 'Hello World'; + FEditor.SearchEngine := FSearchEngine; + // 'hello' with case-sensitive should NOT match 'Hello' + Count := FEditor.SearchReplace('hello', '', [ssoEntireScope, ssoMatchCase]); + Assert.AreEqual(0, Count, 'Case-sensitive search should not match different case'); +end; + +procedure TTestFMXSynEditSearch.TestSearchCaseInsensitive; +var + Count: Integer; +begin + FEditor.Text := 'Hello World'; + FEditor.SearchEngine := FSearchEngine; + // 'hello' without case-sensitive should match 'Hello' + Count := FEditor.SearchReplace('hello', '', [ssoEntireScope]); + Assert.AreEqual(1, Count, 'Case-insensitive search should match different case'); +end; + +procedure TTestFMXSynEditSearch.TestSearchWholeWord; +var + Count: Integer; +begin + FEditor.Text := 'cat concatenate'; + FEditor.SearchEngine := FSearchEngine; + // Replace all 'cat' whole-word only: should replace 'cat' but not 'cat' in 'concatenate' + Count := FEditor.SearchReplace('cat', 'dog', + [ssoEntireScope, ssoReplace, ssoReplaceAll, ssoWholeWord]); + Assert.AreEqual(1, Count, 'Whole-word should match only standalone "cat"'); + Assert.AreEqual('dog concatenate', FEditor.Text); +end; + +procedure TTestFMXSynEditSearch.TestSearchReplace; +begin + FEditor.Text := 'Hello World Hello'; + FEditor.SearchEngine := FSearchEngine; + FEditor.SearchReplace('Hello', 'Hi', + [ssoEntireScope, ssoReplace]); + // Single replace: only the first occurrence should be replaced + Assert.AreEqual('Hi World Hello', FEditor.Text); +end; + +procedure TTestFMXSynEditSearch.TestSearchReplaceAll; +var + Count: Integer; +begin + FEditor.Text := 'aaa bbb aaa bbb aaa'; + FEditor.SearchEngine := FSearchEngine; + Count := FEditor.SearchReplace('aaa', 'xxx', + [ssoEntireScope, ssoReplace, ssoReplaceAll]); + Assert.AreEqual(3, Count, 'Should replace all 3 occurrences'); + Assert.AreEqual('xxx bbb xxx bbb xxx', FEditor.Text); +end; + +procedure TTestFMXSynEditSearch.TestRegexSearch; +var + Count: Integer; +begin + FEditor.Text := 'abc 123 def 456'; + FEditor.SearchEngine := FRegexEngine; + Count := FEditor.SearchReplace('\d+', '', [ssoEntireScope]); + Assert.AreEqual(1, Count, 'Search without replace should find first match'); +end; + +procedure TTestFMXSynEditSearch.TestRegexReplace; +var + Count: Integer; +begin + FEditor.Text := 'abc 123 def 456'; + FEditor.SearchEngine := FRegexEngine; + Count := FEditor.SearchReplace('\d+', 'NUM', + [ssoEntireScope, ssoReplace, ssoReplaceAll]); + Assert.AreEqual(2, Count, 'Should replace both digit sequences'); + Assert.AreEqual('abc NUM def NUM', FEditor.Text); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXSynEditSearch); + +end. diff --git a/Tests/FMX/TestFMXSynEditSelection.pas b/Tests/FMX/TestFMXSynEditSelection.pas new file mode 100644 index 00000000..18be470c --- /dev/null +++ b/Tests/FMX/TestFMXSynEditSelection.pas @@ -0,0 +1,262 @@ +unit TestFMXSynEditSelection; + +interface + +uses + DUnitX.TestFramework, + FMX.SynEdit; + +type + [TestFixture] + TTestFMXSynEditSelection = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestEcSelLeft; + [Test] + procedure TestEcSelRight; + [Test] + procedure TestEcSelUp; + [Test] + procedure TestEcSelDown; + [Test] + procedure TestEcSelWordLeft; + [Test] + procedure TestEcSelWordRight; + [Test] + procedure TestEcSelLineStart; + [Test] + procedure TestEcSelLineEnd; + [Test] + procedure TestEcSelEditorTop; + [Test] + procedure TestEcSelEditorBottom; + [Test] + procedure TestAccumulatedSelection; + [Test] + procedure TestSelectionCollapseOnArrow; + [Test] + procedure TestTypingReplacesSelection; + [Test] + procedure TestDeleteReplacesSelection; + [Test] + procedure TestSelWordLeftAcrossLineBoundary; + [Test] + procedure TestSelWordRightAcrossLineBoundary; + [Test] + procedure TestSelLeftAtLineStart; + [Test] + procedure TestSelRightAtLineEnd; + end; + +implementation + +uses + System.SysUtils, + SynEditTypes, + SynEditKeyCmds; + +procedure TTestFMXSynEditSelection.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); + FEditor.Text := 'Hello World' + sLineBreak + + 'Second line' + sLineBreak + + 'Third line'; +end; + +procedure TTestFMXSynEditSelection.TearDown; +begin + FEditor.Free; +end; + +procedure TTestFMXSynEditSelection.TestEcSelLeft; +begin + FEditor.CaretXY := BufferCoord(6, 1); // after 'Hello' + FEditor.ExecuteCommand(ecSelLeft, #0); + Assert.AreEqual(5, FEditor.CaretX, 'Caret should move left'); + Assert.IsTrue(FEditor.SelAvail, 'Selection should be active'); + Assert.AreEqual('o', FEditor.SelText, 'Should select one char to the left'); +end; + +procedure TTestFMXSynEditSelection.TestEcSelRight; +begin + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecSelRight, #0); + Assert.AreEqual(2, FEditor.CaretX, 'Caret should move right'); + Assert.IsTrue(FEditor.SelAvail, 'Selection should be active'); + Assert.AreEqual('H', FEditor.SelText, 'Should select first char'); +end; + +procedure TTestFMXSynEditSelection.TestEcSelUp; +begin + FEditor.CaretXY := BufferCoord(3, 2); + FEditor.ExecuteCommand(ecSelUp, #0); + Assert.AreEqual(1, FEditor.CaretY, 'Caret should move up'); + Assert.IsTrue(FEditor.SelAvail, 'Selection should be active'); +end; + +procedure TTestFMXSynEditSelection.TestEcSelDown; +begin + FEditor.CaretXY := BufferCoord(3, 1); + FEditor.ExecuteCommand(ecSelDown, #0); + Assert.AreEqual(2, FEditor.CaretY, 'Caret should move down'); + Assert.IsTrue(FEditor.SelAvail, 'Selection should be active'); +end; + +procedure TTestFMXSynEditSelection.TestEcSelWordLeft; +begin + FEditor.CaretXY := BufferCoord(12, 1); // end of 'Hello World' + FEditor.ExecuteCommand(ecSelWordLeft, #0); + Assert.IsTrue(FEditor.SelAvail, 'Selection should be active'); + Assert.AreEqual('World', FEditor.SelText, 'Should select word "World"'); +end; + +procedure TTestFMXSynEditSelection.TestEcSelWordRight; +begin + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecSelWordRight, #0); + Assert.IsTrue(FEditor.SelAvail, 'Selection should be active'); + // Word-right typically selects to end of current word including trailing space + Assert.IsTrue(Length(FEditor.SelText) >= 5, + 'Should select at least "Hello"'); +end; + +procedure TTestFMXSynEditSelection.TestEcSelLineStart; +begin + FEditor.CaretXY := BufferCoord(6, 1); + FEditor.ExecuteCommand(ecSelLineStart, #0); + Assert.AreEqual(1, FEditor.CaretX, 'Caret should be at line start'); + Assert.IsTrue(FEditor.SelAvail, 'Selection should be active'); + Assert.AreEqual('Hello', FEditor.SelText, 'Should select from start to original pos'); +end; + +procedure TTestFMXSynEditSelection.TestEcSelLineEnd; +begin + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecSelLineEnd, #0); + Assert.AreEqual(12, FEditor.CaretX, 'Caret should be at line end'); + Assert.IsTrue(FEditor.SelAvail, 'Selection should be active'); + Assert.AreEqual('Hello World', FEditor.SelText, 'Should select entire line'); +end; + +procedure TTestFMXSynEditSelection.TestEcSelEditorTop; +begin + FEditor.CaretXY := BufferCoord(1, 3); + FEditor.ExecuteCommand(ecSelEditorTop, #0); + Assert.AreEqual(1, FEditor.CaretY, 'Caret should be at top'); + Assert.AreEqual(1, FEditor.CaretX, 'Caret should be at column 1'); + Assert.IsTrue(FEditor.SelAvail, 'Selection should be active'); +end; + +procedure TTestFMXSynEditSelection.TestEcSelEditorBottom; +begin + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecSelEditorBottom, #0); + Assert.AreEqual(3, FEditor.CaretY, 'Caret should be at bottom'); + Assert.IsTrue(FEditor.SelAvail, 'Selection should be active'); +end; + +procedure TTestFMXSynEditSelection.TestAccumulatedSelection; +begin + // Multiple Shift+Right should accumulate selection + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + Assert.AreEqual(4, FEditor.CaretX, 'Caret should be at pos 4'); + Assert.AreEqual('Hel', FEditor.SelText, 'Should select 3 chars'); +end; + +procedure TTestFMXSynEditSelection.TestSelectionCollapseOnArrow; +begin + // Select some text, then press arrow without shift to collapse + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + Assert.IsTrue(FEditor.SelAvail, 'Selection should be active'); + // Now press Right without shift + FEditor.ExecuteCommand(ecRight, #0); + Assert.IsFalse(FEditor.SelAvail, 'Selection should be collapsed'); +end; + +procedure TTestFMXSynEditSelection.TestTypingReplacesSelection; +begin + // Select "Hello" then type "X" + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + Assert.AreEqual('Hello', FEditor.SelText); + FEditor.ExecuteCommand(ecChar, 'X'); + Assert.AreEqual('X World', FEditor.Lines[0], + 'Typing should replace selected text'); +end; + +procedure TTestFMXSynEditSelection.TestDeleteReplacesSelection; +begin + // Select "Hello" then press Delete + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + FEditor.ExecuteCommand(ecSelRight, #0); + Assert.AreEqual('Hello', FEditor.SelText); + FEditor.ExecuteCommand(ecDeleteChar, #0); + Assert.AreEqual(' World', FEditor.Lines[0], + 'Delete should remove selected text'); +end; + +procedure TTestFMXSynEditSelection.TestSelWordLeftAcrossLineBoundary; +begin + // At beginning of line 2, ecSelWordLeft should select into line 1 + FEditor.CaretXY := BufferCoord(1, 2); + FEditor.ExecuteCommand(ecSelWordLeft, #0); + Assert.AreEqual(1, FEditor.CaretY, + 'Caret should move to previous line'); + Assert.IsTrue(FEditor.SelAvail, 'Selection should be active'); +end; + +procedure TTestFMXSynEditSelection.TestSelWordRightAcrossLineBoundary; +begin + // At end of line 1, ecSelWordRight should select into line 2 + FEditor.CaretXY := BufferCoord(12, 1); // past 'Hello World' + FEditor.ExecuteCommand(ecSelWordRight, #0); + Assert.AreEqual(2, FEditor.CaretY, + 'Caret should move to next line'); + Assert.IsTrue(FEditor.SelAvail, 'Selection should be active'); +end; + +procedure TTestFMXSynEditSelection.TestSelLeftAtLineStart; +begin + // ecSelLeft at the beginning of line 2 should move to end of line 1 + FEditor.CaretXY := BufferCoord(1, 2); + FEditor.ExecuteCommand(ecSelLeft, #0); + Assert.AreEqual(1, FEditor.CaretY, + 'Caret should move to previous line'); + Assert.IsTrue(FEditor.SelAvail, 'Selection should be active'); +end; + +procedure TTestFMXSynEditSelection.TestSelRightAtLineEnd; +begin + // ecSelRight at the end of line 1 should move to start of line 2 + FEditor.CaretXY := BufferCoord(12, 1); + FEditor.ExecuteCommand(ecSelRight, #0); + Assert.AreEqual(2, FEditor.CaretY, + 'Caret should move to next line'); + Assert.AreEqual(1, FEditor.CaretX, + 'Caret should be at start of next line'); + Assert.IsTrue(FEditor.SelAvail, 'Selection should be active'); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXSynEditSelection); + +end. diff --git a/Tests/FMX/TestFMXSynEditUndoRedo.pas b/Tests/FMX/TestFMXSynEditUndoRedo.pas new file mode 100644 index 00000000..5e7688a2 --- /dev/null +++ b/Tests/FMX/TestFMXSynEditUndoRedo.pas @@ -0,0 +1,169 @@ +unit TestFMXSynEditUndoRedo; + +interface + +uses + DUnitX.TestFramework, + FMX.SynEdit; + +type + [TestFixture] + TTestFMXSynEditUndoRedo = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestCanUndoInitiallyFalse; + [Test] + procedure TestCanRedoInitiallyFalse; + [Test] + procedure TestCanUndoAfterTextChange; + [Test] + procedure TestUndoRestoresText; + [Test] + procedure TestCanRedoAfterUndo; + [Test] + procedure TestRedoRestoresText; + [Test] + procedure TestClearAllResetsUndo; + [Test] + procedure TestMultipleUndoRedo; + [Test] + procedure TestRedoCaretPosition; + end; + +implementation + +uses + System.SysUtils, + SynEditTypes, + SynEditKeyCmds; + +procedure TTestFMXSynEditUndoRedo.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); +end; + +procedure TTestFMXSynEditUndoRedo.TearDown; +begin + FEditor.Free; +end; + +procedure TTestFMXSynEditUndoRedo.TestCanUndoInitiallyFalse; +begin + Assert.IsFalse(FEditor.CanUndo); +end; + +procedure TTestFMXSynEditUndoRedo.TestCanRedoInitiallyFalse; +begin + Assert.IsFalse(FEditor.CanRedo); +end; + +procedure TTestFMXSynEditUndoRedo.TestCanUndoAfterTextChange; +begin + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecChar, 'X'); + Assert.IsTrue(FEditor.CanUndo); +end; + +procedure TTestFMXSynEditUndoRedo.TestUndoRestoresText; +begin + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecChar, 'X'); + Assert.AreEqual('XHello', FEditor.Lines[0]); + FEditor.Undo; + Assert.AreEqual('Hello', FEditor.Lines[0]); +end; + +procedure TTestFMXSynEditUndoRedo.TestCanRedoAfterUndo; +begin + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecChar, 'X'); + FEditor.Undo; + Assert.IsTrue(FEditor.CanRedo); +end; + +procedure TTestFMXSynEditUndoRedo.TestRedoRestoresText; +begin + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecChar, 'X'); + FEditor.Undo; + Assert.AreEqual('Hello', FEditor.Lines[0]); + FEditor.Redo; + Assert.AreEqual('XHello', FEditor.Lines[0]); +end; + +procedure TTestFMXSynEditUndoRedo.TestClearAllResetsUndo; +begin + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecChar, 'X'); + Assert.IsTrue(FEditor.CanUndo); + FEditor.ClearAll; + Assert.IsFalse(FEditor.CanUndo); +end; + +procedure TTestFMXSynEditUndoRedo.TestMultipleUndoRedo; +begin + FEditor.Text := 'AB'; + // Type 'X' at position 1 + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecChar, 'X'); + Assert.AreEqual('XAB', FEditor.Lines[0]); + // Type 'Y' at current position (2,1) + FEditor.ExecuteCommand(ecChar, 'Y'); + Assert.AreEqual('XYAB', FEditor.Lines[0]); + // Undo 'Y' + FEditor.Undo; + Assert.AreEqual('XAB', FEditor.Lines[0]); + // Undo 'X' + FEditor.Undo; + Assert.AreEqual('AB', FEditor.Lines[0]); + // Redo 'X' + FEditor.Redo; + Assert.AreEqual('XAB', FEditor.Lines[0]); +end; + +procedure TTestFMXSynEditUndoRedo.TestRedoCaretPosition; +begin + // Type two characters on separate lines, undo both, redo both + // Verify caret ends at the last redone item's position + FEditor.Text := 'Line1' + #13#10 + 'Line2'; + // Type 'A' at start of line 1 + FEditor.CaretXY := BufferCoord(1, 1); + FEditor.ExecuteCommand(ecChar, 'A'); + Assert.AreEqual('ALine1', FEditor.Lines[0]); + Assert.AreEqual(2, FEditor.CaretX, 'Caret should be at 2 after typing A'); + // Type 'B' at start of line 2 + FEditor.CaretXY := BufferCoord(1, 2); + FEditor.ExecuteCommand(ecChar, 'B'); + Assert.AreEqual('BLine2', FEditor.Lines[1]); + Assert.AreEqual(2, FEditor.CaretX, 'Caret should be at 2 after typing B'); + // Undo both + FEditor.Undo; + FEditor.Undo; + Assert.AreEqual('Line1', FEditor.Lines[0]); + Assert.AreEqual('Line2', FEditor.Lines[1]); + // Redo first (A on line 1) + FEditor.Redo; + Assert.AreEqual('ALine1', FEditor.Lines[0]); + Assert.AreEqual(1, FEditor.CaretY, 'Caret should be on line 1 after first redo'); + // Redo second (B on line 2) + FEditor.Redo; + Assert.AreEqual('BLine2', FEditor.Lines[1]); + Assert.AreEqual(2, FEditor.CaretY, 'Caret should be on line 2 after second redo'); + Assert.AreEqual(2, FEditor.CaretX, 'Caret X should be 2 after redoing B'); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXSynEditUndoRedo); + +end. diff --git a/Tests/FMX/TestFMXSynEditWordWrap.pas b/Tests/FMX/TestFMXSynEditWordWrap.pas new file mode 100644 index 00000000..3ea9fe15 --- /dev/null +++ b/Tests/FMX/TestFMXSynEditWordWrap.pas @@ -0,0 +1,502 @@ +unit TestFMXSynEditWordWrap; + +interface + +uses + DUnitX.TestFramework, + FMX.SynEdit, + SynEditTypes; + +type + [TestFixture] + TTestFMXSynEditWordWrap = class + private + FEditor: TFMXSynEdit; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestEnableDisable; + [Test] + procedure TestMutuallyExclusiveWithCodeFolding; + [Test] + procedure TestShortLineNoWrap; + [Test] + procedure TestEmptyLineOneRow; + [Test] + procedure TestLongLineWraps; + [Test] + procedure TestRowCount; + [Test] + procedure TestLineToRow; + [Test] + procedure TestRowToLine; + [Test] + procedure TestBufferToDisplayPos; + [Test] + procedure TestDisplayToBufferPos; + [Test] + procedure TestRoundTrip; + [Test] + procedure TestWrapAtWordBoundary; + [Test] + procedure TestWrapWithTabs; + [Test] + procedure TestEmergencyWrap; + [Test] + procedure TestCaretUpDown; + [Test] + procedure TestHorizontalScrollLocked; + [Test] + procedure TestGutterLineNumbers; + [Test] + procedure TestResizeReWraps; + [Test] + procedure TestTextChangeReWraps; + [Test] + procedure TestDisplayRowCount; + end; + +implementation + +uses + System.SysUtils, + System.Classes, + FMX.SynEditWordWrap, + SynEditKeyCmds, + SynHighlighterJSON; + +procedure TTestFMXSynEditWordWrap.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); + FEditor.Width := 400; + FEditor.Height := 300; +end; + +procedure TTestFMXSynEditWordWrap.TearDown; +begin + FEditor.Free; +end; + +procedure TTestFMXSynEditWordWrap.TestEnableDisable; +begin + Assert.IsFalse(FEditor.WordWrap, 'WordWrap should be false by default'); + FEditor.Text := 'Hello'; + FEditor.WordWrap := True; + Assert.IsTrue(FEditor.WordWrap, 'WordWrap should be true after enabling'); + FEditor.WordWrap := False; + Assert.IsFalse(FEditor.WordWrap, 'WordWrap should be false after disabling'); +end; + +procedure TTestFMXSynEditWordWrap.TestMutuallyExclusiveWithCodeFolding; +var + HL: TSynJSONSyn; +begin + HL := TSynJSONSyn.Create(nil); + try + FEditor.Highlighter := HL; + FEditor.Text := '{"a":1}'; + FEditor.UseCodeFolding := True; + Assert.IsTrue(FEditor.UseCodeFolding); + + // Enabling word wrap should fail when code folding is active + FEditor.WordWrap := True; + Assert.IsFalse(FEditor.WordWrap, + 'WordWrap should not enable when code folding is active'); + + FEditor.UseCodeFolding := False; + FEditor.WordWrap := True; + Assert.IsTrue(FEditor.WordWrap); + + // Enabling code folding should fail when word wrap is active + FEditor.UseCodeFolding := True; + Assert.IsFalse(FEditor.UseCodeFolding, + 'UseCodeFolding should not enable when WordWrap is active'); + finally + FEditor.Highlighter := nil; + HL.Free; + end; +end; + +procedure TTestFMXSynEditWordWrap.TestShortLineNoWrap; +var + Helper: TFMXWordWrapHelper; + Lines: TStringList; +begin + Helper := TFMXWordWrapHelper.Create; + Lines := TStringList.Create; + try + Helper.SetWrapWidth(80, 8); + Lines.Add('Short line'); + Helper.Reset(Lines); + Assert.AreEqual(1, Helper.RowCount, 'Short line should produce 1 row'); + Assert.AreEqual(10, Helper.GetRowLength(1), 'Row length should match line length'); + finally + Lines.Free; + Helper.Free; + end; +end; + +procedure TTestFMXSynEditWordWrap.TestEmptyLineOneRow; +var + Helper: TFMXWordWrapHelper; + Lines: TStringList; +begin + Helper := TFMXWordWrapHelper.Create; + Lines := TStringList.Create; + try + Helper.SetWrapWidth(80, 8); + Lines.Add(''); + Helper.Reset(Lines); + Assert.AreEqual(1, Helper.RowCount, 'Empty line should produce 1 row'); + Assert.AreEqual(0, Helper.GetRowLength(1), 'Empty row length should be 0'); + finally + Lines.Free; + Helper.Free; + end; +end; + +procedure TTestFMXSynEditWordWrap.TestLongLineWraps; +var + Helper: TFMXWordWrapHelper; + Lines: TStringList; +begin + Helper := TFMXWordWrapHelper.Create; + Lines := TStringList.Create; + try + Helper.SetWrapWidth(10, 8); + // 25 chars should wrap to 3 rows at width 10 + Lines.Add('abcdefghij klmnopqrst uvwxy'); + Helper.Reset(Lines); + Assert.IsTrue(Helper.RowCount > 1, + 'Long line should produce more than 1 row (got ' + + IntToStr(Helper.RowCount) + ')'); + finally + Lines.Free; + Helper.Free; + end; +end; + +procedure TTestFMXSynEditWordWrap.TestRowCount; +var + Helper: TFMXWordWrapHelper; + Lines: TStringList; +begin + Helper := TFMXWordWrapHelper.Create; + Lines := TStringList.Create; + try + Helper.SetWrapWidth(10, 8); + Lines.Add('Short'); // 1 row + Lines.Add('Also short'); // 1 row (10 chars = exactly fits) + Lines.Add('This is a longer line that wraps'); // multiple rows + Helper.Reset(Lines); + Assert.IsTrue(Helper.RowCount >= 4, + 'Expected at least 4 rows, got ' + IntToStr(Helper.RowCount)); + finally + Lines.Free; + Helper.Free; + end; +end; + +procedure TTestFMXSynEditWordWrap.TestLineToRow; +var + Helper: TFMXWordWrapHelper; + Lines: TStringList; +begin + Helper := TFMXWordWrapHelper.Create; + Lines := TStringList.Create; + try + Helper.SetWrapWidth(10, 8); + Lines.Add('Short'); // row 1 + Lines.Add('Hello world!'); // wraps: row 2+ + Lines.Add('End'); // last rows + Helper.Reset(Lines); + Assert.AreEqual(1, Helper.LineToRow(1), 'Line 1 should start at row 1'); + Assert.AreEqual(2, Helper.LineToRow(2), 'Line 2 should start at row 2'); + // Line 3 should start after all rows of line 2 + Assert.IsTrue(Helper.LineToRow(3) > Helper.LineToRow(2), + 'Line 3 should start after line 2'); + finally + Lines.Free; + Helper.Free; + end; +end; + +procedure TTestFMXSynEditWordWrap.TestRowToLine; +var + Helper: TFMXWordWrapHelper; + Lines: TStringList; +begin + Helper := TFMXWordWrapHelper.Create; + Lines := TStringList.Create; + try + Helper.SetWrapWidth(10, 8); + Lines.Add('Short'); // row 1 + Lines.Add('Hello world!'); // wraps to rows 2+ + Lines.Add('End'); + Helper.Reset(Lines); + Assert.AreEqual(1, Helper.RowToLine(1), 'Row 1 should be line 1'); + Assert.AreEqual(2, Helper.RowToLine(2), 'Row 2 should be line 2'); + // All wrapped rows of line 2 should map back to line 2 + var Line2Start := Helper.LineToRow(2); + var Line3Start := Helper.LineToRow(3); + var I: Integer; + for I := Line2Start to Line3Start - 1 do + Assert.AreEqual(2, Helper.RowToLine(I), + 'Wrapped row ' + IntToStr(I) + ' should map to line 2'); + finally + Lines.Free; + Helper.Free; + end; +end; + +procedure TTestFMXSynEditWordWrap.TestBufferToDisplayPos; +var + Helper: TFMXWordWrapHelper; + Lines: TStringList; + DC: TDisplayCoord; +begin + Helper := TFMXWordWrapHelper.Create; + Lines := TStringList.Create; + try + Helper.SetWrapWidth(10, 8); + Lines.Add('abcdefghij klmno'); // wraps at 10 + Helper.Reset(Lines); + // First char + DC := Helper.BufferToDisplayPos(BufferCoord(1, 1)); + Assert.AreEqual(1, DC.Column); + Assert.AreEqual(1, DC.Row); + // Char on second wrapped row + var Row2Start := Helper.GetRowLength(1) + 1; + DC := Helper.BufferToDisplayPos(BufferCoord(Row2Start, 1)); + Assert.AreEqual(2, DC.Row, 'Char after wrap should be on row 2'); + Assert.AreEqual(1, DC.Column, 'First char of wrapped row should be column 1'); + finally + Lines.Free; + Helper.Free; + end; +end; + +procedure TTestFMXSynEditWordWrap.TestDisplayToBufferPos; +var + Helper: TFMXWordWrapHelper; + Lines: TStringList; + BC: TBufferCoord; +begin + Helper := TFMXWordWrapHelper.Create; + Lines := TStringList.Create; + try + Helper.SetWrapWidth(10, 8); + Lines.Add('abcdefghij klmno'); // wraps + Helper.Reset(Lines); + // Row 1 col 1 -> char 1 line 1 + BC := Helper.DisplayToBufferPos(DisplayCoord(1, 1)); + Assert.AreEqual(1, BC.Char); + Assert.AreEqual(1, BC.Line); + // Row 2 col 1 -> should be after first row's chars + BC := Helper.DisplayToBufferPos(DisplayCoord(1, 2)); + Assert.AreEqual(1, BC.Line); + Assert.AreEqual(Helper.GetRowLength(1) + 1, BC.Char, + 'Row 2 col 1 should map to char after first row'); + finally + Lines.Free; + Helper.Free; + end; +end; + +procedure TTestFMXSynEditWordWrap.TestRoundTrip; +var + Helper: TFMXWordWrapHelper; + Lines: TStringList; + BC, BC2: TBufferCoord; + DC: TDisplayCoord; +begin + Helper := TFMXWordWrapHelper.Create; + Lines := TStringList.Create; + try + Helper.SetWrapWidth(10, 8); + Lines.Add('Hello World Foo Bar'); + Lines.Add('Short'); + Helper.Reset(Lines); + // Test several positions + BC := BufferCoord(1, 1); + DC := Helper.BufferToDisplayPos(BC); + BC2 := Helper.DisplayToBufferPos(DC); + Assert.AreEqual(BC.Char, BC2.Char, 'Round trip char mismatch at (1,1)'); + Assert.AreEqual(BC.Line, BC2.Line, 'Round trip line mismatch at (1,1)'); + + BC := BufferCoord(5, 1); + DC := Helper.BufferToDisplayPos(BC); + BC2 := Helper.DisplayToBufferPos(DC); + Assert.AreEqual(BC.Char, BC2.Char, 'Round trip char mismatch at (5,1)'); + Assert.AreEqual(BC.Line, BC2.Line, 'Round trip line mismatch at (5,1)'); + + BC := BufferCoord(1, 2); + DC := Helper.BufferToDisplayPos(BC); + BC2 := Helper.DisplayToBufferPos(DC); + Assert.AreEqual(BC.Char, BC2.Char, 'Round trip char mismatch at (1,2)'); + Assert.AreEqual(BC.Line, BC2.Line, 'Round trip line mismatch at (1,2)'); + finally + Lines.Free; + Helper.Free; + end; +end; + +procedure TTestFMXSynEditWordWrap.TestWrapAtWordBoundary; +var + Helper: TFMXWordWrapHelper; + Lines: TStringList; +begin + Helper := TFMXWordWrapHelper.Create; + Lines := TStringList.Create; + try + Helper.SetWrapWidth(10, 8); + // "Hello World" = 11 chars. Should wrap after "Hello " (6 chars) at the space + Lines.Add('Hello World'); + Helper.Reset(Lines); + Assert.AreEqual(2, Helper.RowCount, 'Should wrap to 2 rows'); + // First row should contain "Hello " (6 chars including space) + Assert.AreEqual(6, Helper.GetRowLength(1), + 'First row should break at word boundary (after space)'); + Assert.AreEqual(5, Helper.GetRowLength(2), + 'Second row should contain remaining word'); + finally + Lines.Free; + Helper.Free; + end; +end; + +procedure TTestFMXSynEditWordWrap.TestWrapWithTabs; +var + Helper: TFMXWordWrapHelper; + Lines: TStringList; +begin + Helper := TFMXWordWrapHelper.Create; + Lines := TStringList.Create; + try + Helper.SetWrapWidth(10, 4); + // Tab at position 0 expands to 4 visual columns + "abcdefgh" = 12 visual columns + Lines.Add(#9'abcdefgh'); + Helper.Reset(Lines); + Assert.IsTrue(Helper.RowCount >= 2, + 'Tab-expanded line should wrap (got ' + IntToStr(Helper.RowCount) + ' rows)'); + finally + Lines.Free; + Helper.Free; + end; +end; + +procedure TTestFMXSynEditWordWrap.TestEmergencyWrap; +var + Helper: TFMXWordWrapHelper; + Lines: TStringList; +begin + Helper := TFMXWordWrapHelper.Create; + Lines := TStringList.Create; + try + Helper.SetWrapWidth(5, 8); + // No spaces -> emergency wrap at max width + Lines.Add('abcdefghijklmno'); + Helper.Reset(Lines); + Assert.AreEqual(3, Helper.RowCount, + 'Should emergency-wrap 15 chars to 3 rows at width 5'); + Assert.AreEqual(5, Helper.GetRowLength(1), 'Row 1 should be 5 chars'); + Assert.AreEqual(5, Helper.GetRowLength(2), 'Row 2 should be 5 chars'); + Assert.AreEqual(5, Helper.GetRowLength(3), 'Row 3 should be 5 chars'); + finally + Lines.Free; + Helper.Free; + end; +end; + +procedure TTestFMXSynEditWordWrap.TestCaretUpDown; +begin + FEditor.Text := 'Hello World, this is a test' + sLineBreak + 'Short'; + FEditor.WordWrap := True; + // Move caret to start + FEditor.CaretXY := BufferCoord(1, 1); + // Press Down - should move to next display row (possibly wrapped) + FEditor.ExecuteCommand(ecDown, #0); + // Caret should have moved + var NewPos := FEditor.CaretXY; + Assert.IsTrue((NewPos.Line > 1) or (NewPos.Char > 1), + 'Down arrow should move caret in word wrap mode'); +end; + +procedure TTestFMXSynEditWordWrap.TestHorizontalScrollLocked; +begin + FEditor.Text := 'Hello'; + FEditor.WordWrap := True; + FEditor.LeftChar := 5; + Assert.AreEqual(1, FEditor.LeftChar, + 'LeftChar should stay at 1 when word wrap is on'); +end; + +procedure TTestFMXSynEditWordWrap.TestGutterLineNumbers; +begin + // This is a behavioral test - verify the editor doesn't crash when painting + // with word wrap active and wrapped lines + FEditor.Text := StringOfChar('x', 200) + sLineBreak + 'Line 2'; + FEditor.WordWrap := True; + // Trigger a repaint (no-op without parent but exercises the code path) + FEditor.Repaint; + Assert.Pass('Painting with word wrap should not raise exceptions'); +end; + +procedure TTestFMXSynEditWordWrap.TestResizeReWraps; +var + RowsBefore, RowsAfter: Integer; +begin + FEditor.Text := StringOfChar('a', 100); + FEditor.WordWrap := True; + RowsBefore := FEditor.DisplayRowCount; + // Make editor narrower -> more wrapping + FEditor.Width := FEditor.Width / 2; + RowsAfter := FEditor.DisplayRowCount; + Assert.IsTrue(RowsAfter >= RowsBefore, + 'Narrower editor should produce >= rows (before=' + + IntToStr(RowsBefore) + ', after=' + IntToStr(RowsAfter) + ')'); +end; + +procedure TTestFMXSynEditWordWrap.TestTextChangeReWraps; +var + RowsBefore, RowsAfter: Integer; +begin + FEditor.Text := 'Short'; + FEditor.WordWrap := True; + RowsBefore := FEditor.DisplayRowCount; + Assert.AreEqual(1, RowsBefore, 'Short text should be 1 row'); + // Add a long line + FEditor.Text := StringOfChar('x', 200); + RowsAfter := FEditor.DisplayRowCount; + Assert.IsTrue(RowsAfter > 1, + 'Long line should produce multiple rows after text change'); +end; + +procedure TTestFMXSynEditWordWrap.TestDisplayRowCount; +var + Helper: TFMXWordWrapHelper; + Lines: TStringList; +begin + Helper := TFMXWordWrapHelper.Create; + Lines := TStringList.Create; + try + Helper.SetWrapWidth(10, 8); + Lines.Add('Short'); // 1 row + Lines.Add(''); // 1 row + Lines.Add('Also short'); // 1 row + Helper.Reset(Lines); + Assert.AreEqual(3, Helper.RowCount, + 'Three short lines should produce 3 rows'); + finally + Lines.Free; + Helper.Free; + end; +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXSynEditWordWrap); + +end. diff --git a/Tests/FMX/TestFMXSynMacroRecorder.pas b/Tests/FMX/TestFMXSynMacroRecorder.pas new file mode 100644 index 00000000..b957e361 --- /dev/null +++ b/Tests/FMX/TestFMXSynMacroRecorder.pas @@ -0,0 +1,769 @@ +unit TestFMXSynMacroRecorder; + +interface + +uses + DUnitX.TestFramework, + System.Classes, + SynEditTypes, + SynEditKeyCmds, + SynMacroRecorderShared, + FMX.SynEdit, + FMX.SynMacroRecorder; + +type + // --- Shared macro event unit tests --- + [TestFixture] + TTestSharedMacroEvents = class + private + FPlaybackCalled: Boolean; + FPlaybackCount: Integer; + FPlaybackCommand: TSynEditorCommand; + procedure PlaybackCallback(Command: TSynEditorCommand; + AChar: WideChar; Data: Pointer); + procedure PlaybackCountCallback(Command: TSynEditorCommand; + AChar: WideChar; Data: Pointer); + public + [Test] + procedure TestCreateMacroEventBasic; + [Test] + procedure TestCreateMacroEventChar; + [Test] + procedure TestCreateMacroEventString; + [Test] + procedure TestCreateMacroEventGotoXY; + [Test] + procedure TestBasicEventStreamRoundTrip; + [Test] + procedure TestCharEventStreamRoundTrip; + [Test] + procedure TestStringEventStreamRoundTrip; + [Test] + procedure TestPositionEventStreamRoundTrip; + [Test] + procedure TestBasicEventAsString; + [Test] + procedure TestCharEventAsString; + [Test] + procedure TestStringEventAsString; + [Test] + procedure TestPositionEventAsString; + [Test] + procedure TestPlaybackToCallsCallback; + [Test] + procedure TestRepeatCountPlaybackTo; + end; + + // --- FMX editor hooked command handler tests --- + [TestFixture] + TTestFMXHookedCommandHandlers = class + private + FEditor: TFMXSynEdit; + FHandlerCallCount: Integer; + FHandler2CallCount: Integer; + FLastAfterProcessing: Boolean; + FLastCommand: TSynEditorCommand; + FSuppressCommand: Boolean; + procedure TestHandler(Sender: TObject; AfterProcessing: Boolean; + var Handled: Boolean; var Command: TSynEditorCommand; + var AChar: WideChar; Data: Pointer; HandlerData: Pointer); + procedure TestHandler2(Sender: TObject; AfterProcessing: Boolean; + var Handled: Boolean; var Command: TSynEditorCommand; + var AChar: WideChar; Data: Pointer; HandlerData: Pointer); + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestRegisterAndCallHandler; + [Test] + procedure TestHandlerCalledBeforeAndAfter; + [Test] + procedure TestHandlerCanSuppressCommand; + [Test] + procedure TestUnregisterRemovesHandler; + [Test] + procedure TestMultipleHandlers; + end; + + // --- FMX macro recorder integration tests --- + [TestFixture] + TTestFMXMacroRecorder = class + private + FEditor: TFMXSynEdit; + FRecorder: TFMXSynMacroRecorder; + FStateChangeCount: Integer; + procedure OnStateChange(Sender: TObject); + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestInitialState; + [Test] + procedure TestRecordAndPlaybackTyping; + [Test] + procedure TestRecordAndPlaybackNavigation; + [Test] + procedure TestRecordAndPlaybackDeleteAndType; + [Test] + procedure TestPlaybackIsUndoable; + [Test] + procedure TestStateTransitions; + [Test] + procedure TestPauseResume; + [Test] + procedure TestCannotRecordWhilePlaying; + [Test] + procedure TestCannotPlayWhileRecording; + [Test] + procedure TestClear; + [Test] + procedure TestSaveLoadStreamRoundTrip; + [Test] + procedure TestAsStringRoundTrip; + [Test] + procedure TestEditorFreeUnhooksRecorder; + [Test] + procedure TestEmptyMacroPlayback; + [Test] + procedure TestRecordGotoXY; + [Test] + procedure TestOnStateChangeFires; + end; + +implementation + +uses + System.SysUtils, + System.IOUtils; + +{ TTestSharedMacroEvents } + +procedure TTestSharedMacroEvents.TestCreateMacroEventBasic; +var + E: TSynMacroEvent; +begin + E := CreateMacroEvent(ecRight); + try + Assert.IsTrue(E is TSynBasicEvent); + Assert.AreEqual(Integer(ecRight), Integer(TSynBasicEvent(E).Command)); + finally + E.Free; + end; +end; + +procedure TTestSharedMacroEvents.TestCreateMacroEventChar; +var + E: TSynMacroEvent; +begin + E := CreateMacroEvent(ecChar); + try + Assert.IsTrue(E is TSynCharEvent); + finally + E.Free; + end; +end; + +procedure TTestSharedMacroEvents.TestCreateMacroEventString; +var + E: TSynMacroEvent; +begin + E := CreateMacroEvent(ecString); + try + Assert.IsTrue(E is TSynStringEvent); + finally + E.Free; + end; +end; + +procedure TTestSharedMacroEvents.TestCreateMacroEventGotoXY; +var + E: TSynMacroEvent; +begin + E := CreateMacroEvent(ecGotoXY); + try + Assert.IsTrue(E is TSynPositionEvent); + Assert.AreEqual(Integer(ecGotoXY), Integer(TSynPositionEvent(E).Command)); + finally + E.Free; + end; +end; + +procedure TTestSharedMacroEvents.TestBasicEventStreamRoundTrip; +var + E1, E2: TSynBasicEvent; + Stream: TMemoryStream; + Cmd: TSynEditorCommand; +begin + E1 := TSynBasicEvent.Create; + Stream := TMemoryStream.Create; + try + E1.Command := ecRight; + E1.RepeatCount := 3; + E1.SaveToStream(Stream); + + Stream.Position := 0; + Stream.Read(Cmd, SizeOf(Cmd)); + E2 := TSynBasicEvent.Create; + try + E2.Command := Cmd; + E2.LoadFromStream(Stream); + Assert.AreEqual(Integer(ecRight), Integer(E2.Command)); + Assert.AreEqual(Integer(3), Integer(E2.RepeatCount)); + finally + E2.Free; + end; + finally + E1.Free; + Stream.Free; + end; +end; + +procedure TTestSharedMacroEvents.TestCharEventStreamRoundTrip; +var + E1, E2: TSynCharEvent; + Stream: TMemoryStream; + Cmd: TSynEditorCommand; +begin + E1 := TSynCharEvent.Create; + Stream := TMemoryStream.Create; + try + E1.Initialize(ecChar, 'Z', nil); + E1.SaveToStream(Stream); + + Stream.Position := 0; + Stream.Read(Cmd, SizeOf(Cmd)); + E2 := TSynCharEvent.Create; + try + E2.LoadFromStream(Stream); + Assert.AreEqual('Z', string(E2.Key)); + finally + E2.Free; + end; + finally + E1.Free; + Stream.Free; + end; +end; + +procedure TTestSharedMacroEvents.TestStringEventStreamRoundTrip; +var + E1, E2: TSynStringEvent; + Stream: TMemoryStream; + Cmd: TSynEditorCommand; + S: string; +begin + E1 := TSynStringEvent.Create; + Stream := TMemoryStream.Create; + S := 'Hello'; + try + E1.Initialize(ecString, #0, PChar(S)); + E1.SaveToStream(Stream); + + Stream.Position := 0; + Stream.Read(Cmd, SizeOf(Cmd)); + E2 := TSynStringEvent.Create; + try + E2.LoadFromStream(Stream); + Assert.AreEqual('Hello', E2.Value); + finally + E2.Free; + end; + finally + E1.Free; + Stream.Free; + end; +end; + +procedure TTestSharedMacroEvents.TestPositionEventStreamRoundTrip; +var + E1, E2: TSynPositionEvent; + Stream: TMemoryStream; + Cmd: TSynEditorCommand; + RepeatCnt: Byte; + Pos: TBufferCoord; +begin + E1 := TSynPositionEvent.Create; + Stream := TMemoryStream.Create; + try + E1.Command := ecGotoXY; + Pos := BufferCoord(5, 10); + E1.Initialize(ecGotoXY, #0, @Pos); + E1.SaveToStream(Stream); + + // Stream format: Command(2) + RepeatCount(1) + Position(8) + Stream.Position := 0; + Stream.Read(Cmd, SizeOf(Cmd)); + Stream.Read(RepeatCnt, SizeOf(RepeatCnt)); + E2 := TSynPositionEvent.Create; + try + E2.Command := Cmd; + E2.LoadFromStream(Stream); + Assert.AreEqual(5, E2.Position.Char); + Assert.AreEqual(10, E2.Position.Line); + finally + E2.Free; + end; + finally + E1.Free; + Stream.Free; + end; +end; + +procedure TTestSharedMacroEvents.TestBasicEventAsString; +var + E: TSynBasicEvent; +begin + E := TSynBasicEvent.Create; + try + E.Command := ecRight; + Assert.IsNotEmpty(E.AsString); + Assert.IsTrue(Pos('ecRight', E.AsString) > 0); + finally + E.Free; + end; +end; + +procedure TTestSharedMacroEvents.TestCharEventAsString; +var + E: TSynCharEvent; +begin + E := TSynCharEvent.Create; + try + E.Initialize(ecChar, 'A', nil); + Assert.IsNotEmpty(E.AsString); + Assert.IsTrue(Pos('A', E.AsString) > 0); + finally + E.Free; + end; +end; + +procedure TTestSharedMacroEvents.TestStringEventAsString; +var + E: TSynStringEvent; + S: string; +begin + E := TSynStringEvent.Create; + S := 'test'; + try + E.Initialize(ecString, #0, PChar(S)); + Assert.IsNotEmpty(E.AsString); + Assert.IsTrue(Pos('test', E.AsString) > 0); + finally + E.Free; + end; +end; + +procedure TTestSharedMacroEvents.TestPositionEventAsString; +var + E: TSynPositionEvent; + Pos: TBufferCoord; +begin + E := TSynPositionEvent.Create; + try + E.Command := ecGotoXY; + Pos := BufferCoord(3, 7); + E.Initialize(ecGotoXY, #0, @Pos); + Assert.IsNotEmpty(E.AsString); + Assert.IsTrue(Pos.Char > 0); // sanity + finally + E.Free; + end; +end; + +procedure TTestSharedMacroEvents.PlaybackCallback( + Command: TSynEditorCommand; AChar: WideChar; Data: Pointer); +begin + FPlaybackCalled := True; + FPlaybackCommand := Command; +end; + +procedure TTestSharedMacroEvents.PlaybackCountCallback( + Command: TSynEditorCommand; AChar: WideChar; Data: Pointer); +begin + Inc(FPlaybackCount); +end; + +procedure TTestSharedMacroEvents.TestPlaybackToCallsCallback; +var + E: TSynBasicEvent; +begin + FPlaybackCalled := False; + FPlaybackCommand := ecNone; + E := TSynBasicEvent.Create; + try + E.Command := ecRight; + E.PlaybackTo(PlaybackCallback); + Assert.IsTrue(FPlaybackCalled); + Assert.AreEqual(Integer(ecRight), Integer(FPlaybackCommand)); + finally + E.Free; + end; +end; + +procedure TTestSharedMacroEvents.TestRepeatCountPlaybackTo; +var + E: TSynBasicEvent; +begin + FPlaybackCount := 0; + E := TSynBasicEvent.Create; + try + E.Command := ecRight; + E.RepeatCount := 5; + E.PlaybackTo(PlaybackCountCallback); + Assert.AreEqual(5, FPlaybackCount); + finally + E.Free; + end; +end; + +{ TTestFMXHookedCommandHandlers } + +procedure TTestFMXHookedCommandHandlers.TestHandler(Sender: TObject; + AfterProcessing: Boolean; var Handled: Boolean; + var Command: TSynEditorCommand; var AChar: WideChar; + Data: Pointer; HandlerData: Pointer); +begin + Inc(FHandlerCallCount); + FLastAfterProcessing := AfterProcessing; + FLastCommand := Command; + if FSuppressCommand and (not AfterProcessing) then + Handled := True; +end; + +procedure TTestFMXHookedCommandHandlers.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); + FEditor.Text := 'Hello World'; + FEditor.CaretXY := BufferCoord(1, 1); + FHandlerCallCount := 0; + FLastAfterProcessing := False; + FLastCommand := ecNone; + FSuppressCommand := False; +end; + +procedure TTestFMXHookedCommandHandlers.TearDown; +begin + FEditor.Free; +end; + +procedure TTestFMXHookedCommandHandlers.TestRegisterAndCallHandler; +begin + FEditor.RegisterCommandHandler(TestHandler, nil); + FEditor.CommandProcessor(ecRight, #0); + FEditor.UnregisterCommandHandler(TestHandler); + Assert.IsTrue(FHandlerCallCount > 0); +end; + +procedure TTestFMXHookedCommandHandlers.TestHandlerCalledBeforeAndAfter; +begin + FEditor.RegisterCommandHandler(TestHandler, nil); + FEditor.CommandProcessor(ecRight, #0); + FEditor.UnregisterCommandHandler(TestHandler); + // Should be called twice: before and after + Assert.AreEqual(2, FHandlerCallCount); +end; + +procedure TTestFMXHookedCommandHandlers.TestHandlerCanSuppressCommand; +begin + FSuppressCommand := True; + FEditor.RegisterCommandHandler(TestHandler, nil); + FEditor.CommandProcessor(ecRight, #0); + FEditor.UnregisterCommandHandler(TestHandler); + // Command was suppressed, so caret should not have moved + Assert.AreEqual(1, FEditor.CaretX); + // Only the pre-hook should fire (command suppressed) + Assert.AreEqual(1, FHandlerCallCount); +end; + +procedure TTestFMXHookedCommandHandlers.TestUnregisterRemovesHandler; +begin + FEditor.RegisterCommandHandler(TestHandler, nil); + FEditor.UnregisterCommandHandler(TestHandler); + FEditor.CommandProcessor(ecRight, #0); + Assert.AreEqual(0, FHandlerCallCount); +end; + +procedure TTestFMXHookedCommandHandlers.TestHandler2(Sender: TObject; + AfterProcessing: Boolean; var Handled: Boolean; + var Command: TSynEditorCommand; var AChar: WideChar; + Data: Pointer; HandlerData: Pointer); +begin + Inc(FHandler2CallCount); +end; + +procedure TTestFMXHookedCommandHandlers.TestMultipleHandlers; +begin + FHandler2CallCount := 0; + FEditor.RegisterCommandHandler(TestHandler, nil); + FEditor.RegisterCommandHandler(TestHandler2, nil); + FEditor.CommandProcessor(ecRight, #0); + FEditor.UnregisterCommandHandler(TestHandler); + FEditor.UnregisterCommandHandler(TestHandler2); + Assert.IsTrue(FHandlerCallCount > 0); + Assert.IsTrue(FHandler2CallCount > 0); +end; + +{ TTestFMXMacroRecorder } + +procedure TTestFMXMacroRecorder.OnStateChange(Sender: TObject); +begin + Inc(FStateChangeCount); +end; + +procedure TTestFMXMacroRecorder.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); + FEditor.Text := 'Hello World' + sLineBreak + 'Second Line'; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder := TFMXSynMacroRecorder.Create(nil); + FRecorder.Editor := FEditor; + FStateChangeCount := 0; +end; + +procedure TTestFMXMacroRecorder.TearDown; +begin + FRecorder.Free; + FEditor.Free; +end; + +procedure TTestFMXMacroRecorder.TestInitialState; +begin + Assert.AreEqual(Ord(msStopped), Ord(FRecorder.State)); + Assert.IsTrue(FRecorder.IsEmpty); + Assert.AreEqual('unnamed', FRecorder.MacroName); + Assert.IsFalse(FRecorder.SaveMarkerPos); +end; + +procedure TTestFMXMacroRecorder.TestRecordAndPlaybackTyping; +begin + FEditor.Text := ''; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.RecordMacro(FEditor); + FEditor.CommandProcessor(ecChar, 'A'); + FEditor.CommandProcessor(ecChar, 'B'); + FEditor.CommandProcessor(ecChar, 'C'); + FRecorder.Stop; + Assert.AreEqual(3, FRecorder.EventCount); + // Playback on fresh text + FEditor.Text := ''; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.PlaybackMacro(FEditor); + Assert.AreEqual('ABC', FEditor.Lines[0]); +end; + +procedure TTestFMXMacroRecorder.TestRecordAndPlaybackNavigation; +begin + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.RecordMacro(FEditor); + FEditor.CommandProcessor(ecRight, #0); + FEditor.CommandProcessor(ecRight, #0); + FEditor.CommandProcessor(ecRight, #0); + FRecorder.Stop; + Assert.AreEqual(3, FRecorder.EventCount); + // Playback from position 1 + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.PlaybackMacro(FEditor); + Assert.AreEqual(4, FEditor.CaretX); +end; + +procedure TTestFMXMacroRecorder.TestRecordAndPlaybackDeleteAndType; +begin + FEditor.Text := 'ABC'; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.RecordMacro(FEditor); + FEditor.CommandProcessor(ecDeleteChar, #0); + FEditor.CommandProcessor(ecChar, 'X'); + FRecorder.Stop; + // Apply to fresh text + FEditor.Text := 'DEF'; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.PlaybackMacro(FEditor); + Assert.AreEqual('XEF', FEditor.Lines[0]); +end; + +procedure TTestFMXMacroRecorder.TestPlaybackIsUndoable; +var + OrigText: string; +begin + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + OrigText := FEditor.Text; + // Record: type 'X' + FRecorder.RecordMacro(FEditor); + FEditor.CommandProcessor(ecChar, 'X'); + FRecorder.Stop; + // Reset and playback + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.PlaybackMacro(FEditor); + Assert.AreNotEqual(OrigText, FEditor.Text); + // Undo + FEditor.Undo; + Assert.AreEqual(OrigText, FEditor.Text); +end; + +procedure TTestFMXMacroRecorder.TestStateTransitions; +begin + Assert.AreEqual(Ord(msStopped), Ord(FRecorder.State)); + FRecorder.RecordMacro(FEditor); + Assert.AreEqual(Ord(msRecording), Ord(FRecorder.State)); + FRecorder.Stop; + Assert.AreEqual(Ord(msStopped), Ord(FRecorder.State)); +end; + +procedure TTestFMXMacroRecorder.TestPauseResume; +begin + FRecorder.RecordMacro(FEditor); + FRecorder.Pause; + Assert.AreEqual(Ord(msPaused), Ord(FRecorder.State)); + FRecorder.Resume; + Assert.AreEqual(Ord(msRecording), Ord(FRecorder.State)); + FRecorder.Stop; +end; + +procedure TTestFMXMacroRecorder.TestCannotRecordWhilePlaying; +begin + FRecorder.AddEvent(ecRight, #0, nil); + FRecorder.PlaybackMacro(FEditor); + // After playback completes, should be able to record + FRecorder.RecordMacro(FEditor); + Assert.AreEqual(Ord(msRecording), Ord(FRecorder.State)); + FRecorder.Stop; +end; + +procedure TTestFMXMacroRecorder.TestCannotPlayWhileRecording; +var + Raised: Boolean; +begin + Raised := False; + FRecorder.RecordMacro(FEditor); + try + FRecorder.PlaybackMacro(FEditor); + except + on E: Exception do + Raised := True; + end; + FRecorder.Stop; + Assert.IsTrue(Raised, 'Should raise exception when playing while recording'); +end; + +procedure TTestFMXMacroRecorder.TestClear; +begin + FRecorder.AddEvent(ecRight, #0, nil); + FRecorder.AddEvent(ecLeft, #0, nil); + Assert.AreEqual(2, FRecorder.EventCount); + FRecorder.Clear; + Assert.IsTrue(FRecorder.IsEmpty); + Assert.AreEqual(0, FRecorder.EventCount); +end; + +procedure TTestFMXMacroRecorder.TestSaveLoadStreamRoundTrip; +var + Stream: TMemoryStream; +begin + FEditor.Text := 'Test'; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.RecordMacro(FEditor); + FEditor.CommandProcessor(ecRight, #0); + FEditor.CommandProcessor(ecChar, 'X'); + FRecorder.Stop; + Assert.AreEqual(2, FRecorder.EventCount); + + Stream := TMemoryStream.Create; + try + FRecorder.SaveToStream(Stream); + Assert.IsTrue(Stream.Size > 0); + FRecorder.Clear; + Stream.Position := 0; + FRecorder.LoadFromStream(Stream); + Assert.AreEqual(2, FRecorder.EventCount); + // Verify playback + FEditor.Text := 'Test'; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.PlaybackMacro(FEditor); + Assert.AreEqual('TXest', FEditor.Lines[0]); + finally + Stream.Free; + end; +end; + +procedure TTestFMXMacroRecorder.TestAsStringRoundTrip; +var + MacroStr: string; +begin + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.RecordMacro(FEditor); + FEditor.CommandProcessor(ecRight, #0); + FEditor.CommandProcessor(ecChar, 'Y'); + FRecorder.Stop; + MacroStr := FRecorder.AsString; + Assert.IsNotEmpty(MacroStr); + FRecorder.Clear; + FRecorder.AsString := MacroStr; + Assert.AreEqual(2, FRecorder.EventCount); + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.PlaybackMacro(FEditor); + Assert.AreEqual('HYello', FEditor.Lines[0]); +end; + +procedure TTestFMXMacroRecorder.TestEditorFreeUnhooksRecorder; +var + TempEditor: TFMXSynEdit; +begin + TempEditor := TFMXSynEdit.Create(nil); + try + FRecorder.Editor := TempEditor; + Assert.IsNotNull(TComponent(FRecorder.Editor)); + finally + TempEditor.Free; + end; + // After editor is freed, recorder should have nil editor + Assert.IsNull(TComponent(FRecorder.Editor)); + Assert.AreEqual(Ord(msStopped), Ord(FRecorder.State)); +end; + +procedure TTestFMXMacroRecorder.TestEmptyMacroPlayback; +begin + FEditor.Text := 'Hello'; + FRecorder.PlaybackMacro(FEditor); + Assert.AreEqual('Hello', FEditor.Text); +end; + +procedure TTestFMXMacroRecorder.TestRecordGotoXY; +var + Pos: TBufferCoord; +begin + FEditor.Text := 'Hello' + sLineBreak + 'World'; + FEditor.CaretXY := BufferCoord(1, 1); + // Manually add a GotoXY event + Pos := BufferCoord(3, 2); + FRecorder.AddEvent(ecGotoXY, #0, @Pos); + Assert.AreEqual(1, FRecorder.EventCount); + // Playback + FRecorder.PlaybackMacro(FEditor); + Assert.AreEqual(3, FEditor.CaretX); + Assert.AreEqual(2, FEditor.CaretY); +end; + +procedure TTestFMXMacroRecorder.TestOnStateChangeFires; +begin + FRecorder.OnStateChange := OnStateChange; + FStateChangeCount := 0; + FRecorder.RecordMacro(FEditor); + Assert.IsTrue(FStateChangeCount > 0, 'Should fire on record'); + FRecorder.Stop; + Assert.AreEqual(2, FStateChangeCount, 'Should fire on record and stop'); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestSharedMacroEvents); + TDUnitX.RegisterTestFixture(TTestFMXHookedCommandHandlers); + TDUnitX.RegisterTestFixture(TTestFMXMacroRecorder); +end. diff --git a/Tests/FMX/TestFMXSynSpellCheck.pas b/Tests/FMX/TestFMXSynSpellCheck.pas new file mode 100644 index 00000000..2cbeaaf0 --- /dev/null +++ b/Tests/FMX/TestFMXSynSpellCheck.pas @@ -0,0 +1,261 @@ +unit TestFMXSynSpellCheck; + +interface + +uses + DUnitX.TestFramework, + SynSpellCheckTypes, + SynSpellCheckHunspellProvider; + +type + [TestFixture] + TTestFMXSynHunspellProvider = class + private + FProvider: ISynSpellCheckProvider; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + { Loading } + [Test] + procedure TestIsAvailable; + [Test] + procedure TestIsAvailableMissingPath; + [Test] + procedure TestGetLanguage; + [Test] + procedure TestSetLanguageReloads; + { Direct word checks } + [Test] + procedure TestCommonWordsValid; + [Test] + procedure TestMisspelledWordsInvalid; + [Test] + procedure TestCaseInsensitive; + { Suffix rules } + [Test] + procedure TestSuffixIng; + [Test] + procedure TestSuffixEd; + [Test] + procedure TestSuffixPlural; + [Test] + procedure TestSuffixIon; + [Test] + procedure TestSuffixIve; + { Prefix rules } + [Test] + procedure TestPrefixUn; + [Test] + procedure TestPrefixRe; + { Cross-product } + [Test] + procedure TestCrossProduct; + { Suggest } + [Test] + procedure TestSuggestReturnsResults; + [Test] + procedure TestSuggestMaxCount; + [Test] + procedure TestSuggestContainsCorrection; + { Native provider stub } + [Test] + procedure TestNativeNotAvailable; + [Test] + procedure TestNativeCheckWordTrue; + end; + +implementation + +uses + System.SysUtils, + System.IOUtils; + +const + DictLang = 'en_US'; + +function GetDictPath: string; +begin + // Resolve relative to exe location (Tests/bin/Win32/Debug/) + Result := TPath.GetFullPath( + TPath.Combine(ExtractFilePath(ParamStr(0)), '..\..\..\..\Dictionaries')); +end; + +procedure TTestFMXSynHunspellProvider.Setup; +begin + FProvider := TSynHunspellProvider.Create(GetDictPath, DictLang); +end; + +procedure TTestFMXSynHunspellProvider.TearDown; +begin + FProvider := nil; +end; + +{ Loading } + +procedure TTestFMXSynHunspellProvider.TestIsAvailable; +begin + Assert.IsTrue(FProvider.IsAvailable, 'en_US dictionary should be available'); +end; + +procedure TTestFMXSynHunspellProvider.TestIsAvailableMissingPath; +var + P: ISynSpellCheckProvider; +begin + P := TSynHunspellProvider.Create('C:\nonexistent\path', 'en_US'); + Assert.IsFalse(P.IsAvailable, 'Missing path should not be available'); +end; + +procedure TTestFMXSynHunspellProvider.TestGetLanguage; +begin + Assert.AreEqual('en_US', FProvider.GetLanguage); +end; + +procedure TTestFMXSynHunspellProvider.TestSetLanguageReloads; +begin + // Force load + FProvider.IsAvailable; + // Change to non-existent language — should clear and fail to reload + FProvider.SetLanguage('xx_XX'); + Assert.IsFalse(FProvider.IsAvailable, 'Invalid language should not be available'); + // Change back — should reload successfully + FProvider.SetLanguage('en_US'); + Assert.IsTrue(FProvider.IsAvailable, 'Restoring en_US should reload'); +end; + +{ Direct word checks } + +procedure TTestFMXSynHunspellProvider.TestCommonWordsValid; +begin + Assert.IsTrue(FProvider.CheckWord('hello'), '"hello" should be valid'); + Assert.IsTrue(FProvider.CheckWord('world'), '"world" should be valid'); + Assert.IsTrue(FProvider.CheckWord('the'), '"the" should be valid'); + Assert.IsTrue(FProvider.CheckWord('computer'), '"computer" should be valid'); +end; + +procedure TTestFMXSynHunspellProvider.TestMisspelledWordsInvalid; +begin + Assert.IsFalse(FProvider.CheckWord('helo'), '"helo" should be invalid'); + Assert.IsFalse(FProvider.CheckWord('wrold'), '"wrold" should be invalid'); + Assert.IsFalse(FProvider.CheckWord('teh'), '"teh" should be invalid'); + Assert.IsFalse(FProvider.CheckWord('computr'), '"computr" should be invalid'); +end; + +procedure TTestFMXSynHunspellProvider.TestCaseInsensitive; +begin + Assert.IsTrue(FProvider.CheckWord('Hello'), '"Hello" should be valid'); + Assert.IsTrue(FProvider.CheckWord('HELLO'), '"HELLO" should be valid'); + Assert.IsTrue(FProvider.CheckWord('hello'), '"hello" should be valid'); +end; + +{ Suffix rules } + +procedure TTestFMXSynHunspellProvider.TestSuffixIng; +begin + Assert.IsTrue(FProvider.CheckWord('walking'), '"walking" should be valid'); + Assert.IsTrue(FProvider.CheckWord('talking'), '"talking" should be valid'); +end; + +procedure TTestFMXSynHunspellProvider.TestSuffixEd; +begin + Assert.IsTrue(FProvider.CheckWord('walked'), '"walked" should be valid'); + Assert.IsTrue(FProvider.CheckWord('talked'), '"talked" should be valid'); +end; + +procedure TTestFMXSynHunspellProvider.TestSuffixPlural; +begin + Assert.IsTrue(FProvider.CheckWord('classes'), '"classes" should be valid'); + Assert.IsTrue(FProvider.CheckWord('boxes'), '"boxes" should be valid'); +end; + +procedure TTestFMXSynHunspellProvider.TestSuffixIon; +begin + Assert.IsTrue(FProvider.CheckWord('creation'), '"creation" should be valid'); +end; + +procedure TTestFMXSynHunspellProvider.TestSuffixIve; +begin + Assert.IsTrue(FProvider.CheckWord('creative'), '"creative" should be valid'); +end; + +{ Prefix rules } + +procedure TTestFMXSynHunspellProvider.TestPrefixUn; +begin + Assert.IsTrue(FProvider.CheckWord('unlikely'), '"unlikely" should be valid'); +end; + +procedure TTestFMXSynHunspellProvider.TestPrefixRe; +begin + Assert.IsTrue(FProvider.CheckWord('reuse'), '"reuse" should be valid'); +end; + +{ Cross-product } + +procedure TTestFMXSynHunspellProvider.TestCrossProduct; +begin + Assert.IsTrue(FProvider.CheckWord('undoing'), '"undoing" should be valid'); +end; + +{ Suggest } + +procedure TTestFMXSynHunspellProvider.TestSuggestReturnsResults; +var + Suggestions: TArray; +begin + Suggestions := FProvider.Suggest('helo'); + Assert.IsTrue(Length(Suggestions) >= 3, + '"helo" should produce at least 3 suggestions, got ' + IntToStr(Length(Suggestions))); +end; + +procedure TTestFMXSynHunspellProvider.TestSuggestMaxCount; +var + Suggestions: TArray; +begin + Suggestions := FProvider.Suggest('helo'); + Assert.IsTrue(Length(Suggestions) > 0, + 'Should return at least 1 suggestion'); + Assert.IsTrue(Length(Suggestions) <= 10, + 'Should return at most 10 suggestions, got ' + IntToStr(Length(Suggestions))); +end; + +procedure TTestFMXSynHunspellProvider.TestSuggestContainsCorrection; +var + Suggestions: TArray; + S: string; + Found: Boolean; +begin + Suggestions := FProvider.Suggest('walkin'); + Found := False; + for S in Suggestions do + if SameText(S, 'walking') then + begin + Found := True; + Break; + end; + Assert.IsTrue(Found, '"walkin" suggestions should include "walking"'); +end; + +{ Native provider stub } + +procedure TTestFMXSynHunspellProvider.TestNativeNotAvailable; +var + P: ISynSpellCheckProvider; +begin + P := TSynHunspellNativeProvider.Create(GetDictPath, DictLang); + Assert.IsFalse(P.IsAvailable, 'Native provider should not be available'); +end; + +procedure TTestFMXSynHunspellProvider.TestNativeCheckWordTrue; +var + P: ISynSpellCheckProvider; +begin + P := TSynHunspellNativeProvider.Create(GetDictPath, DictLang); + Assert.IsTrue(P.CheckWord('anything'), 'Native stub should accept all words'); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXSynHunspellProvider); + +end. diff --git a/Tests/FMX/TestFMXSynSpellCheckComponent.pas b/Tests/FMX/TestFMXSynSpellCheckComponent.pas new file mode 100644 index 00000000..6dad1e4c --- /dev/null +++ b/Tests/FMX/TestFMXSynSpellCheckComponent.pas @@ -0,0 +1,385 @@ +unit TestFMXSynSpellCheckComponent; + +interface + +uses + DUnitX.TestFramework, + FMX.SynEdit, + SynSpellCheckTypes, + FMX.SynSpellCheck; + +type + [TestFixture] + TTestFMXSynSpellCheckComponent = class + private + FEditor: TFMXSynEdit; + FSpellCheck: TSynFMXSpellCheck; + FProvider: ISynSpellCheckProvider; + FEventFired: Boolean; + procedure OnCheckCompleteFired(Sender: TObject); + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + { Defaults } + [Test] + procedure TestDefaults; + { Editor assignment } + [Test] + procedure TestSetEditor; + [Test] + procedure TestSetEditorNil; + { CheckFile } + [Test] + procedure TestCheckFileFindsErrors; + [Test] + procedure TestCheckFileNoErrors; + [Test] + procedure TestCheckFileNoProvider; + [Test] + procedure TestCheckFileDisabled; + { CheckLine } + [Test] + procedure TestCheckLineSpecificLine; + [Test] + procedure TestCheckLineClearsOldErrors; + { ClearErrors } + [Test] + procedure TestClearErrors; + { ErrorAtPos } + [Test] + procedure TestErrorAtPosFound; + [Test] + procedure TestErrorAtPosNotFound; + [Test] + procedure TestErrorAtPosWrongLine; + { Enabled toggle } + [Test] + procedure TestEnabledToggleClearsErrors; + { Events } + [Test] + procedure TestOnCheckCompleteEvent; + { CheckSelection } + [Test] + procedure TestCheckSelectionFallback; + [Test] + procedure TestCheckSelectionClearsDuplicates; + end; + +implementation + +uses + System.SysUtils, + System.Classes, + System.Generics.Collections, + SynEditTypes; + +type + TMockSpellProvider = class(TInterfacedObject, ISynSpellCheckProvider) + private + FValidWords: TList; + public + constructor Create; + destructor Destroy; override; + function CheckWord(const AWord: string): Boolean; + function Suggest(const AWord: string): TArray; + function IsAvailable: Boolean; + function GetLanguage: string; + procedure SetLanguage(const Value: string); + end; + +{ TMockSpellProvider } + +constructor TMockSpellProvider.Create; +begin + inherited Create; + FValidWords := TList.Create; + FValidWords.Add('hello'); + FValidWords.Add('world'); + FValidWords.Add('the'); + FValidWords.Add('quick'); + FValidWords.Add('brown'); + FValidWords.Add('fox'); +end; + +destructor TMockSpellProvider.Destroy; +begin + FValidWords.Free; + inherited; +end; + +function TMockSpellProvider.CheckWord(const AWord: string): Boolean; +var + S: string; +begin + for S in FValidWords do + if SameText(S, AWord) then + Exit(True); + Result := False; +end; + +function TMockSpellProvider.Suggest(const AWord: string): TArray; +begin + Result := TArray.Create('hello'); +end; + +function TMockSpellProvider.IsAvailable: Boolean; +begin + Result := True; +end; + +function TMockSpellProvider.GetLanguage: string; +begin + Result := 'mock'; +end; + +procedure TMockSpellProvider.SetLanguage(const Value: string); +begin + // no-op +end; + +{ TTestFMXSynSpellCheckComponent } + +procedure TTestFMXSynSpellCheckComponent.Setup; +begin + FEditor := TFMXSynEdit.Create(nil); + FSpellCheck := TSynFMXSpellCheck.Create(nil); + FProvider := TMockSpellProvider.Create; + FSpellCheck.Provider := FProvider; + FSpellCheck.Editor := FEditor; +end; + +procedure TTestFMXSynSpellCheckComponent.TearDown; +begin + FSpellCheck.Free; + FEditor.Free; + FProvider := nil; +end; + +{ Defaults } + +procedure TTestFMXSynSpellCheckComponent.TestDefaults; +var + SC: TSynFMXSpellCheck; +begin + SC := TSynFMXSpellCheck.Create(nil); + try + Assert.IsTrue(SC.Enabled, 'Enabled should default to True'); + Assert.AreEqual(0, SC.Errors.Count, 'Errors should be empty'); + Assert.IsTrue(sctComment in SC.CheckTokens, 'sctComment should be in CheckTokens'); + Assert.IsTrue(sctString in SC.CheckTokens, 'sctString should be in CheckTokens'); + Assert.IsTrue(sctIdentifier in SC.CheckTokens, 'sctIdentifier should be in CheckTokens'); + finally + SC.Free; + end; +end; + +{ Editor assignment } + +procedure TTestFMXSynSpellCheckComponent.TestSetEditor; +begin + // Setup already assigns editor — just verify no crash and editor is assigned + Assert.IsNotNull(FSpellCheck.Editor, 'Editor should be assigned'); +end; + +procedure TTestFMXSynSpellCheckComponent.TestSetEditorNil; +begin + FSpellCheck.Editor := nil; + Assert.IsNull(FSpellCheck.Editor, 'Editor should be nil after clearing'); +end; + +{ CheckFile } + +procedure TTestFMXSynSpellCheckComponent.TestCheckFileFindsErrors; +begin + // "hello" is valid, "wrold" is not, "the" is valid, "quik" is not + FEditor.Text := 'hello wrold the quik'; + FSpellCheck.CheckFile; + Assert.AreEqual(2, FSpellCheck.Errors.Count, + 'Should find 2 misspelled words'); + // First error: "wrold" + Assert.AreEqual('wrold', FSpellCheck.Errors[0].Word); + Assert.AreEqual(1, FSpellCheck.Errors[0].Line, 'Error should be on line 1'); + Assert.AreEqual(7, FSpellCheck.Errors[0].StartChar, 'wrold starts at char 7'); + Assert.AreEqual(12, FSpellCheck.Errors[0].EndChar, 'wrold ends at char 12'); + // Second error: "quik" + Assert.AreEqual('quik', FSpellCheck.Errors[1].Word); +end; + +procedure TTestFMXSynSpellCheckComponent.TestCheckFileNoErrors; +begin + FEditor.Text := 'hello world the'; + FSpellCheck.CheckFile; + Assert.AreEqual(0, FSpellCheck.Errors.Count, + 'All valid words should produce no errors'); +end; + +procedure TTestFMXSynSpellCheckComponent.TestCheckFileNoProvider; +begin + FSpellCheck.Provider := nil; + FEditor.Text := 'hello wrold'; + FSpellCheck.CheckFile; + Assert.AreEqual(0, FSpellCheck.Errors.Count, + 'No provider should produce no errors'); +end; + +procedure TTestFMXSynSpellCheckComponent.TestCheckFileDisabled; +begin + FSpellCheck.Enabled := False; + FEditor.Text := 'hello wrold'; + FSpellCheck.CheckFile; + Assert.AreEqual(0, FSpellCheck.Errors.Count, + 'Disabled spell check should produce no errors'); +end; + +{ CheckLine } + +procedure TTestFMXSynSpellCheckComponent.TestCheckLineSpecificLine; +begin + FEditor.Lines.Clear; + FEditor.Lines.Add('hello world'); + FEditor.Lines.Add('baaad wrold'); + FEditor.Lines.Add('the fox'); + FSpellCheck.CheckLine(2); + // Only errors from line 2 should appear + Assert.IsTrue(FSpellCheck.Errors.Count >= 1, + 'Should find errors on line 2'); + Assert.AreEqual(2, FSpellCheck.Errors[0].Line, + 'Error should be on line 2'); +end; + +procedure TTestFMXSynSpellCheckComponent.TestCheckLineClearsOldErrors; +begin + FEditor.Lines.Clear; + FEditor.Lines.Add('baaad'); + FEditor.Lines.Add('wrold'); + // Check line 1 first + FSpellCheck.CheckLine(1); + Assert.AreEqual(1, FSpellCheck.Errors.Count, 'Should have 1 error on line 1'); + Assert.AreEqual('baaad', FSpellCheck.Errors[0].Word); + // Now fix line 1 and re-check + FEditor.Lines[0] := 'hello'; + FSpellCheck.CheckLine(1); + // Line 1 errors replaced, line 2 error still from before (only if checked) + // Since we only checked line 1, and it's now valid, only remaining errors are + // from any previous line 2 checks. We never checked line 2, so 0 errors. + Assert.AreEqual(0, FSpellCheck.Errors.Count, + 'Re-checking line 1 with valid text should clear its errors'); +end; + +{ ClearErrors } + +procedure TTestFMXSynSpellCheckComponent.TestClearErrors; +begin + FEditor.Text := 'wrold baaad'; + FSpellCheck.CheckFile; + Assert.IsTrue(FSpellCheck.Errors.Count > 0, 'Should have errors'); + FSpellCheck.ClearErrors; + Assert.AreEqual(0, FSpellCheck.Errors.Count, + 'ClearErrors should empty the list'); +end; + +{ ErrorAtPos } + +procedure TTestFMXSynSpellCheckComponent.TestErrorAtPosFound; +begin + FEditor.Text := 'hello wrold'; + FSpellCheck.CheckFile; + // "wrold" is at chars 7..11 on line 1 + Assert.AreEqual(0, FSpellCheck.ErrorAtPos(1, 7), + 'ErrorAtPos should return index 0 for start of "wrold"'); + Assert.AreEqual(0, FSpellCheck.ErrorAtPos(1, 10), + 'ErrorAtPos should return index 0 for middle of "wrold"'); +end; + +procedure TTestFMXSynSpellCheckComponent.TestErrorAtPosNotFound; +begin + FEditor.Text := 'hello wrold'; + FSpellCheck.CheckFile; + // "hello" is valid, positions 1..5 should not have errors + Assert.AreEqual(-1, FSpellCheck.ErrorAtPos(1, 1), + 'ErrorAtPos should return -1 for valid word position'); +end; + +procedure TTestFMXSynSpellCheckComponent.TestErrorAtPosWrongLine; +begin + FEditor.Lines.Clear; + FEditor.Lines.Add('hello wrold'); + FEditor.Lines.Add('hello world'); + FSpellCheck.CheckFile; + // Error is on line 1 at char 7, line 2 should return -1 at same char + Assert.AreEqual(-1, FSpellCheck.ErrorAtPos(2, 7), + 'ErrorAtPos should return -1 for wrong line'); +end; + +{ Enabled toggle } + +procedure TTestFMXSynSpellCheckComponent.TestEnabledToggleClearsErrors; +begin + FEditor.Text := 'wrold baaad'; + FSpellCheck.CheckFile; + Assert.IsTrue(FSpellCheck.Errors.Count > 0, 'Should have errors'); + FSpellCheck.Enabled := False; + Assert.AreEqual(0, FSpellCheck.Errors.Count, + 'Disabling should clear errors'); +end; + +{ Events } + +procedure TTestFMXSynSpellCheckComponent.OnCheckCompleteFired(Sender: TObject); +begin + FEventFired := True; +end; + +procedure TTestFMXSynSpellCheckComponent.TestOnCheckCompleteEvent; +begin + FEventFired := False; + FSpellCheck.OnCheckComplete := OnCheckCompleteFired; + FEditor.Text := 'hello wrold'; + FSpellCheck.CheckFile; + Assert.IsTrue(FEventFired, 'OnCheckComplete should fire after CheckFile'); +end; + +{ CheckSelection } + +procedure TTestFMXSynSpellCheckComponent.TestCheckSelectionFallback; +begin + // No selection set — should fall back to full-file check + FEditor.Text := 'hello wrold'; + FSpellCheck.CheckSelection; + Assert.IsTrue(FSpellCheck.Errors.Count > 0, + 'CheckSelection with no selection should fall back to CheckFile'); +end; + +procedure TTestFMXSynSpellCheckComponent.TestCheckSelectionClearsDuplicates; +var + CountAfterFirst, CountAfterSecond: Integer; +begin + // Set up text with misspelled words on lines 2 and 3 + FEditor.Lines.Clear; + FEditor.Lines.Add('hello world'); // line 1 - valid + FEditor.Lines.Add('baaad wrold'); // line 2 - 2 errors + FEditor.Lines.Add('quik foxx'); // line 3 - 2 errors + FEditor.Lines.Add('the fox'); // line 4 - valid + + // Select lines 2-3 and check + FEditor.SetCaretAndSelection( + BufferCoord(1, 2), + BufferCoord(1, 2), + BufferCoord(10, 3)); + FSpellCheck.CheckSelection; + CountAfterFirst := FSpellCheck.Errors.Count; + Assert.IsTrue(CountAfterFirst > 0, 'Should find errors in selection'); + + // Re-check same selection — errors should NOT accumulate + FSpellCheck.CheckSelection; + CountAfterSecond := FSpellCheck.Errors.Count; + Assert.AreEqual(CountAfterFirst, CountAfterSecond, + 'Re-checking same selection should not duplicate errors'); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXSynSpellCheckComponent); + +end. diff --git a/Tests/FMX/TestFMXSynWindowsSpellCheck.pas b/Tests/FMX/TestFMXSynWindowsSpellCheck.pas new file mode 100644 index 00000000..924b9a0b --- /dev/null +++ b/Tests/FMX/TestFMXSynWindowsSpellCheck.pas @@ -0,0 +1,178 @@ +unit TestFMXSynWindowsSpellCheck; + +{$IFDEF MSWINDOWS} + +interface + +uses + DUnitX.TestFramework, + SynSpellCheckTypes, + SynSpellCheckWindowsProvider; + +type + [TestFixture] + TTestFMXSynWindowsSpellProvider = class + private + FProvider: ISynSpellCheckProvider; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestIsAvailable; + [Test] + procedure TestGetLanguage; + [Test] + procedure TestCreateDefaultLanguage; + [Test] + procedure TestSetLanguageChangesChecker; + [Test] + procedure TestUnsupportedLanguage; + [Test] + procedure TestCheckWordValid; + [Test] + procedure TestCheckWordInvalid; + [Test] + procedure TestSuggestReturnsResults; + [Test] + procedure TestSuggestContainsCorrection; + [Test] + procedure TestSupportedLanguagesNotEmpty; + [Test] + procedure TestSupportedLanguagesContainsEnUS; + end; + +implementation + +uses + System.SysUtils; + +procedure TTestFMXSynWindowsSpellProvider.Setup; +begin + FProvider := TSynWindowsSpellProvider.Create('en-US'); +end; + +procedure TTestFMXSynWindowsSpellProvider.TearDown; +begin + FProvider := nil; +end; + +procedure TTestFMXSynWindowsSpellProvider.TestIsAvailable; +begin + Assert.IsTrue(FProvider.IsAvailable, + 'en-US provider should be available on Windows 8+'); +end; + +procedure TTestFMXSynWindowsSpellProvider.TestGetLanguage; +begin + Assert.AreEqual('en-US', FProvider.GetLanguage); +end; + +procedure TTestFMXSynWindowsSpellProvider.TestCreateDefaultLanguage; +var + P: ISynSpellCheckProvider; +begin + P := TSynWindowsSpellProvider.Create; + Assert.AreEqual('en-US', P.GetLanguage, + 'Parameterless Create should default to en-US'); + Assert.IsTrue(P.IsAvailable, + 'Default provider should be available'); +end; + +procedure TTestFMXSynWindowsSpellProvider.TestSetLanguageChangesChecker; +begin + // Confirm initial state + Assert.IsTrue(FProvider.IsAvailable, 'Should start available'); + // Change to a bogus language + FProvider.SetLanguage('xx-XX'); + Assert.IsFalse(FProvider.IsAvailable, + 'Bogus language should not be available'); + // Change back to en-US + FProvider.SetLanguage('en-US'); + Assert.IsTrue(FProvider.IsAvailable, + 'Restoring en-US should be available again'); +end; + +procedure TTestFMXSynWindowsSpellProvider.TestUnsupportedLanguage; +var + P: ISynSpellCheckProvider; +begin + P := TSynWindowsSpellProvider.Create('xx-BOGUS'); + Assert.IsFalse(P.IsAvailable, + 'Bogus language tag should not be available'); +end; + +procedure TTestFMXSynWindowsSpellProvider.TestCheckWordValid; +begin + Assert.IsTrue(FProvider.CheckWord('hello'), '"hello" should be valid'); + Assert.IsTrue(FProvider.CheckWord('world'), '"world" should be valid'); + Assert.IsTrue(FProvider.CheckWord('the'), '"the" should be valid'); +end; + +procedure TTestFMXSynWindowsSpellProvider.TestCheckWordInvalid; +begin + Assert.IsFalse(FProvider.CheckWord('helo'), '"helo" should be invalid'); + Assert.IsFalse(FProvider.CheckWord('wrold'), '"wrold" should be invalid'); +end; + +procedure TTestFMXSynWindowsSpellProvider.TestSuggestReturnsResults; +var + Suggestions: TArray; +begin + Suggestions := FProvider.Suggest('helo'); + Assert.IsTrue(Length(Suggestions) >= 1, + '"helo" should produce at least 1 suggestion, got ' + + IntToStr(Length(Suggestions))); +end; + +procedure TTestFMXSynWindowsSpellProvider.TestSuggestContainsCorrection; +var + Suggestions: TArray; + S: string; + Found: Boolean; +begin + Suggestions := FProvider.Suggest('helo'); + Found := False; + for S in Suggestions do + if SameText(S, 'hello') then + begin + Found := True; + Break; + end; + Assert.IsTrue(Found, '"helo" suggestions should include "hello"'); +end; + +procedure TTestFMXSynWindowsSpellProvider.TestSupportedLanguagesNotEmpty; +var + Langs: TArray; +begin + Langs := TSynWindowsSpellProvider.SupportedLanguages; + Assert.IsTrue(Length(Langs) >= 1, + 'SupportedLanguages should return at least 1 language, got ' + + IntToStr(Length(Langs))); +end; + +procedure TTestFMXSynWindowsSpellProvider.TestSupportedLanguagesContainsEnUS; +var + Langs: TArray; + S: string; + Found: Boolean; +begin + Langs := TSynWindowsSpellProvider.SupportedLanguages; + Found := False; + for S in Langs do + if SameText(S, 'en-US') then + begin + Found := True; + Break; + end; + Assert.IsTrue(Found, 'en-US should be in SupportedLanguages'); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestFMXSynWindowsSpellProvider); + +{$ENDIF MSWINDOWS} + +end. diff --git a/Tests/FMX/TestSynHighlighterCSSFolding.pas b/Tests/FMX/TestSynHighlighterCSSFolding.pas new file mode 100644 index 00000000..52bfe366 --- /dev/null +++ b/Tests/FMX/TestSynHighlighterCSSFolding.pas @@ -0,0 +1,360 @@ +unit TestSynHighlighterCSSFolding; + +{ Tests for CSS highlighter fold range detection. + Uses only shared units (SynEditCodeFolding, SynHighlighterCss, + SynEditTextBuffer) — no FMX or VCL dependency. } + +interface + +uses + DUnitX.TestFramework, + SynEditCodeFolding, + SynHighlighterCss; + +type + [TestFixture] + TTestCSSFolding = class + private + FHighlighter: TSynCssSyn; + FFoldRanges: TSynFoldRanges; + procedure ScanText(const AText: string); + function FindFoldAtLine(ALine: Integer): Integer; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + + { Basic rule block folding } + [Test] + procedure TestSingleRuleFolds; + [Test] + procedure TestMultipleRulesFold; + + { Nested blocks } + [Test] + procedure TestNestedMediaQueryFolds; + [Test] + procedure TestDeeplyNestedBlocks; + + { Same-line balanced braces } + [Test] + procedure TestSameLineBracesDoNotFold; + + { Comments } + [Test] + procedure TestCommentDoesNotFold; + [Test] + procedure TestMultiLineCommentDoesNotFold; + [Test] + procedure TestBracesInCommentIgnored; + + { Strings } + [Test] + procedure TestBracesInDoubleQuoteStringIgnored; + [Test] + procedure TestBracesInSingleQuoteStringIgnored; + [Test] + procedure TestEscapedQuoteInString; + + { Edge cases } + [Test] + procedure TestEmptyRuleBlock; + + { Full sample } + [Test] + procedure TestFullSampleFoldsCorrectly; + end; + +implementation + +uses + System.SysUtils, + System.Classes, + SynEditTextBuffer; + +procedure TTestCSSFolding.Setup; +begin + FHighlighter := TSynCssSyn.Create(nil); + FFoldRanges := TSynFoldRanges.Create; +end; + +procedure TTestCSSFolding.TearDown; +begin + FFoldRanges.Free; + FHighlighter.Free; +end; + +procedure TTestCSSFolding.ScanText(const AText: string); +var + Lines: TStringList; +begin + Lines := TStringList.Create; + try + Lines.Text := AText; + FFoldRanges.StartScanning; + FHighlighter.ScanForFoldRanges(FFoldRanges, Lines, 0, Lines.Count - 1); + FFoldRanges.StopScanning(Lines); + finally + Lines.Free; + end; +end; + +function TTestCSSFolding.FindFoldAtLine(ALine: Integer): Integer; +var + I: Integer; +begin + for I := 0 to FFoldRanges.Count - 1 do + if FFoldRanges[I].FromLine = ALine then + Exit(I); + Result := -1; +end; + +{ --- Basic rule block folding --- } + +procedure TTestCSSFolding.TestSingleRuleFolds; +begin + ScanText( + 'body {' + sLineBreak + // line 1 + ' color: red;' + sLineBreak + // line 2 + '}' // line 3 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'body fold should exist'); + Assert.AreEqual(3, FFoldRanges[FindFoldAtLine(1)].ToLine, + 'body fold should close at }'); +end; + +procedure TTestCSSFolding.TestMultipleRulesFold; +begin + ScanText( + 'body {' + sLineBreak + // line 1 + ' color: red;' + sLineBreak + // line 2 + '}' + sLineBreak + // line 3 + 'h1 {' + sLineBreak + // line 4 + ' font-size: 18px;' + sLineBreak + // line 5 + '}' // line 6 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'body fold should exist'); + Assert.AreEqual(3, FFoldRanges[FindFoldAtLine(1)].ToLine); + Assert.IsTrue(FindFoldAtLine(4) >= 0, 'h1 fold should exist'); + Assert.AreEqual(6, FFoldRanges[FindFoldAtLine(4)].ToLine); +end; + +{ --- Nested blocks --- } + +procedure TTestCSSFolding.TestNestedMediaQueryFolds; +begin + ScanText( + '@media screen {' + sLineBreak + // line 1 + ' body {' + sLineBreak + // line 2 + ' color: red;' + sLineBreak + // line 3 + ' }' + sLineBreak + // line 4 + '}' // line 5 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, '@media fold should exist'); + Assert.AreEqual(5, FFoldRanges[FindFoldAtLine(1)].ToLine); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'body fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(2)].ToLine); +end; + +procedure TTestCSSFolding.TestDeeplyNestedBlocks; +begin + ScanText( + '@supports (display: grid) {' + sLineBreak + // line 1 + ' @media screen {' + sLineBreak + // line 2 + ' .container {' + sLineBreak + // line 3 + ' display: grid;' + sLineBreak + // line 4 + ' }' + sLineBreak + // line 5 + ' }' + sLineBreak + // line 6 + '}' // line 7 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, '@supports fold should exist'); + Assert.AreEqual(7, FFoldRanges[FindFoldAtLine(1)].ToLine); + Assert.IsTrue(FindFoldAtLine(2) >= 0, '@media fold should exist'); + Assert.AreEqual(6, FFoldRanges[FindFoldAtLine(2)].ToLine); + Assert.IsTrue(FindFoldAtLine(3) >= 0, '.container fold should exist'); + Assert.AreEqual(5, FFoldRanges[FindFoldAtLine(3)].ToLine); +end; + +{ --- Same-line balanced braces --- } + +procedure TTestCSSFolding.TestSameLineBracesDoNotFold; +begin + ScanText( + 'body { color: red; }' + sLineBreak + // line 1 + 'h1 { font-size: 18px; }' // line 2 + ); + Assert.AreEqual(-1, FindFoldAtLine(1), + 'same-line body rule must not fold'); + Assert.AreEqual(-1, FindFoldAtLine(2), + 'same-line h1 rule must not fold'); +end; + +{ --- Comments --- } + +procedure TTestCSSFolding.TestCommentDoesNotFold; +begin + ScanText( + '/* Single line comment */' + sLineBreak + // line 1 + 'body {' + sLineBreak + // line 2 + ' color: red;' + sLineBreak + // line 3 + '}' // line 4 + ); + Assert.AreEqual(-1, FindFoldAtLine(1), + 'single-line comment must not fold'); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'body fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(2)].ToLine); +end; + +procedure TTestCSSFolding.TestMultiLineCommentDoesNotFold; +begin + ScanText( + '/* Start of' + sLineBreak + // line 1 + ' multi-line' + sLineBreak + // line 2 + ' comment */' + sLineBreak + // line 3 + 'body {' + sLineBreak + // line 4 + ' color: red;' + sLineBreak + // line 5 + '}' // line 6 + ); + Assert.AreEqual(-1, FindFoldAtLine(1), + 'multi-line comment start must not fold'); + Assert.AreEqual(-1, FindFoldAtLine(2), + 'comment middle must not fold'); + Assert.AreEqual(-1, FindFoldAtLine(3), + 'comment end must not fold'); + Assert.IsTrue(FindFoldAtLine(4) >= 0, 'body fold should exist'); + Assert.AreEqual(6, FFoldRanges[FindFoldAtLine(4)].ToLine); +end; + +procedure TTestCSSFolding.TestBracesInCommentIgnored; +begin + ScanText( + '/* { not a fold } */' + sLineBreak + // line 1 + 'body {' + sLineBreak + // line 2 + ' /* } not a close */' + sLineBreak + // line 3 + ' color: red;' + sLineBreak + // line 4 + '}' // line 5 + ); + Assert.AreEqual(-1, FindFoldAtLine(1), + 'braces in comment must not fold'); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'body fold should exist'); + Assert.AreEqual(5, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'comment brace must not affect fold range'); +end; + +{ --- Strings --- } + +procedure TTestCSSFolding.TestBracesInDoubleQuoteStringIgnored; +begin + ScanText( + 'body {' + sLineBreak + // line 1 + ' content: "brace { here";' + sLineBreak + // line 2 + '}' // line 3 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'body fold should exist'); + Assert.AreEqual(3, FFoldRanges[FindFoldAtLine(1)].ToLine, + 'brace in double-quote string must not affect fold'); +end; + +procedure TTestCSSFolding.TestBracesInSingleQuoteStringIgnored; +begin + ScanText( + 'body {' + sLineBreak + // line 1 + ' content: ''brace } here'';' + sLineBreak + // line 2 + '}' // line 3 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'body fold should exist'); + Assert.AreEqual(3, FFoldRanges[FindFoldAtLine(1)].ToLine, + 'brace in single-quote string must not affect fold'); +end; + +procedure TTestCSSFolding.TestEscapedQuoteInString; +begin + ScanText( + 'body {' + sLineBreak + // line 1 + ' content: "escaped \" brace { x";' + sLineBreak + // line 2 + '}' // line 3 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'body fold should exist'); + Assert.AreEqual(3, FFoldRanges[FindFoldAtLine(1)].ToLine, + 'escaped quote must not end string early'); +end; + +{ --- Edge cases --- } + +procedure TTestCSSFolding.TestEmptyRuleBlock; +begin + ScanText( + 'body {' + sLineBreak + // line 1 + '}' // line 2 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'empty body fold should exist'); + Assert.AreEqual(2, FFoldRanges[FindFoldAtLine(1)].ToLine); +end; + +{ --- Full sample --- } + +procedure TTestCSSFolding.TestFullSampleFoldsCorrectly; +var + SampleSource: string; + Idx: Integer; +begin + SampleSource := + '/* Main Stylesheet */'#13#10 + // line 1 + 'body {'#13#10 + // line 2 + ' font-family: Arial, sans-serif;'#13#10 + // line 3 + ' font-size: 14px;'#13#10 + // line 4 + ' color: #333;'#13#10 + // line 5 + '}'#13#10 + // line 6 + 'h1 {'#13#10 + // line 7 + ' font-size: 24px;'#13#10 + // line 8 + ' color: #000099;'#13#10 + // line 9 + '}'#13#10 + // line 10 + '@media screen and (max-width: 768px) {'#13#10 + // line 11 + ' body {'#13#10 + // line 12 + ' font-size: 12px;'#13#10 + // line 13 + ' }'#13#10 + // line 14 + ' h1 {'#13#10 + // line 15 + ' font-size: 18px;'#13#10 + // line 16 + ' }'#13#10 + // line 17 + '}'; // line 18 + ScanText(SampleSource); + + // /* Main Stylesheet */ (line 1) — no fold + Assert.AreEqual(-1, FindFoldAtLine(1), + 'comment must not fold'); + + // body (line 2) folds to } (line 6) + Idx := FindFoldAtLine(2); + Assert.IsTrue(Idx >= 0, 'body fold should exist'); + Assert.AreEqual(6, FFoldRanges[Idx].ToLine); + + // h1 (line 7) folds to } (line 10) + Idx := FindFoldAtLine(7); + Assert.IsTrue(Idx >= 0, 'h1 fold should exist'); + Assert.AreEqual(10, FFoldRanges[Idx].ToLine); + + // @media (line 11) folds to } (line 18) + Idx := FindFoldAtLine(11); + Assert.IsTrue(Idx >= 0, '@media fold should exist'); + Assert.AreEqual(18, FFoldRanges[Idx].ToLine); + + // nested body (line 12) folds to } (line 14) + Idx := FindFoldAtLine(12); + Assert.IsTrue(Idx >= 0, 'nested body fold should exist'); + Assert.AreEqual(14, FFoldRanges[Idx].ToLine); + + // nested h1 (line 15) folds to } (line 17) + Idx := FindFoldAtLine(15); + Assert.IsTrue(Idx >= 0, 'nested h1 fold should exist'); + Assert.AreEqual(17, FFoldRanges[Idx].ToLine); + + // property lines and closing braces — no fold + Assert.AreEqual(-1, FindFoldAtLine(3), 'property line must not fold'); + Assert.AreEqual(-1, FindFoldAtLine(13), 'nested property line must not fold'); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestCSSFolding); + +end. diff --git a/Tests/FMX/TestSynHighlighterDelphiFolding.pas b/Tests/FMX/TestSynHighlighterDelphiFolding.pas new file mode 100644 index 00000000..0bdf547f --- /dev/null +++ b/Tests/FMX/TestSynHighlighterDelphiFolding.pas @@ -0,0 +1,681 @@ +unit TestSynHighlighterDelphiFolding; + +{ Tests for Delphi highlighter fold range detection. + Uses only shared units (SynEditCodeFolding, SynHighlighterDelphi, + SynEditTextBuffer) — no FMX or VCL dependency. } + +interface + +uses + DUnitX.TestFramework, + SynEditCodeFolding, + SynHighlighterDelphi; + +type + [TestFixture] + TTestDelphiFolding = class + private + FHighlighter: TSynDelphiSyn; + FFoldRanges: TSynFoldRanges; + procedure ScanText(const AText: string); + function FindFoldAtLine(ALine: Integer): Integer; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + + { Record folding } + [Test] + procedure TestRecordFoldsToEnd; + [Test] + procedure TestRecordWithClassVarFoldsCorrectly; + [Test] + procedure TestRecordDoesNotSwallowFollowingCode; + [Test] + procedure TestNestedRecordFolds; + + { Class folding } + [Test] + procedure TestClassFoldsToEnd; + [Test] + procedure TestClassWithMethodsFoldsCorrectly; + + { Begin..end folding } + [Test] + procedure TestBeginEndFolds; + [Test] + procedure TestNestedBeginEnd; + + { Procedure/function folding } + [Test] + procedure TestProcedureFoldsFromHeader; + [Test] + procedure TestProcedureDeclarationInRecordDoesNotFold; + [Test] + procedure TestProcedureDeclarationInClassDoesNotFold; + [Test] + procedure TestProcedureWithVarFoldsFromHeader; + [Test] + procedure TestFunctionFoldsFromHeader; + [Test] + procedure TestConstructorDestructorFoldFromHeader; + [Test] + procedure TestFullSampleFoldsCorrectly; + + { Try..end folding } + [Test] + procedure TestTryEndFolds; + + { Case..end folding } + [Test] + procedure TestCaseEndFolds; + + { Region folding } + [Test] + procedure TestRegionFolds; + [Test] + procedure TestRegionDoesNotInterfereWithBeginEnd; + + { Interface/Implementation folding } + [Test] + procedure TestInterfaceSectionFolds; + [Test] + procedure TestImplementationSectionFolds; + [Test] + procedure TestProgramEndDotClosesBeginFold; + + { Mixed scenarios } + [Test] + procedure TestRecordThenProcedure; + [Test] + procedure TestMultipleRecords; + [Test] + procedure TestClassVarDoesNotOpenFold; + [Test] + procedure TestClassFunctionDoesNotOpenClassFold; + end; + +implementation + +uses + System.SysUtils, + System.Classes, + SynEditTextBuffer; + +procedure TTestDelphiFolding.Setup; +begin + FHighlighter := TSynDelphiSyn.Create(nil); + FFoldRanges := TSynFoldRanges.Create; +end; + +procedure TTestDelphiFolding.TearDown; +begin + FFoldRanges.Free; + FHighlighter.Free; +end; + +procedure TTestDelphiFolding.ScanText(const AText: string); +var + Lines: TStringList; +begin + Lines := TStringList.Create; + try + Lines.Text := AText; + FFoldRanges.StartScanning; + FHighlighter.ScanForFoldRanges(FFoldRanges, Lines, 0, Lines.Count - 1); + FFoldRanges.StopScanning(Lines); + finally + Lines.Free; + end; +end; + +function TTestDelphiFolding.FindFoldAtLine(ALine: Integer): Integer; +var + I: Integer; +begin + for I := 0 to FFoldRanges.Count - 1 do + if FFoldRanges[I].FromLine = ALine then + Exit(I); + Result := -1; +end; + +{ --- Record folding --- } + +procedure TTestDelphiFolding.TestRecordFoldsToEnd; +begin + ScanText( + 'type' + sLineBreak + // line 1 + ' TPoint = record' + sLineBreak + // line 2 + ' X: Integer;' + sLineBreak + // line 3 + ' Y: Integer;' + sLineBreak + // line 4 + ' end;' // line 5 + ); + Assert.IsTrue(FindFoldAtLine(2) >= 0, + 'Should have a fold starting at the record line'); + Assert.AreEqual(5, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'Record fold should close at end;'); +end; + +procedure TTestDelphiFolding.TestRecordWithClassVarFoldsCorrectly; +begin + // This is the key bug scenario: "class var" contains the word "class" + // which must NOT open a new fold range + ScanText( + 'type' + sLineBreak + // line 1 + ' TMyRecord = record' + sLineBreak + // line 2 + ' class var Count: Integer;' + sLineBreak + // line 3 + ' end;' // line 4 + ); + Assert.IsTrue(FindFoldAtLine(2) >= 0, + 'Should have a fold starting at the record line'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'Record fold should close at end; (line 4), not extend further'); +end; + +procedure TTestDelphiFolding.TestRecordDoesNotSwallowFollowingCode; +begin + // Record fold must not extend past its end; into subsequent code + ScanText( + 'type' + sLineBreak + // line 1 + ' TMyRecord = record' + sLineBreak + // line 2 + ' class var Count: Integer;' + sLineBreak + // line 3 + ' end;' + sLineBreak + // line 4 + '' + sLineBreak + // line 5 + 'procedure DoSomething;' + sLineBreak + // line 6 + 'begin' + sLineBreak + // line 7 + ' WriteLn;' + sLineBreak + // line 8 + 'end;' // line 9 + ); + // Record fold should end at line 4 + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'Record fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'Record fold must end at line 4, not swallow the procedure'); + + // Procedure fold should start at the procedure header, not begin + Assert.IsTrue(FindFoldAtLine(6) >= 0, 'Procedure fold should exist at line 6'); + Assert.AreEqual(9, FFoldRanges[FindFoldAtLine(6)].ToLine, + 'Procedure fold should close at line 9'); +end; + +procedure TTestDelphiFolding.TestNestedRecordFolds; +begin + ScanText( + 'type' + sLineBreak + // line 1 + ' TOuter = record' + sLineBreak + // line 2 + ' Inner: record' + sLineBreak + // line 3 + ' X: Integer;' + sLineBreak + // line 4 + ' end;' + sLineBreak + // line 5 + ' end;' // line 6 + ); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'Outer record fold should exist'); + Assert.AreEqual(6, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'Outer record should fold to line 6'); + Assert.IsTrue(FindFoldAtLine(3) >= 0, 'Inner record fold should exist'); + Assert.AreEqual(5, FFoldRanges[FindFoldAtLine(3)].ToLine, + 'Inner record should fold to line 5'); +end; + +{ --- Class folding --- } + +procedure TTestDelphiFolding.TestClassFoldsToEnd; +begin + ScanText( + 'type' + sLineBreak + // line 1 + ' TFoo = class' + sLineBreak + // line 2 + ' FValue: Integer;' + sLineBreak + // line 3 + ' end;' // line 4 + ); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'Class fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'Class fold should close at end;'); +end; + +procedure TTestDelphiFolding.TestClassWithMethodsFoldsCorrectly; +begin + ScanText( + 'type' + sLineBreak + // line 1 + ' TFoo = class' + sLineBreak + // line 2 + ' procedure Bar;' + sLineBreak + // line 3 + ' end;' + sLineBreak + // line 4 + '' + sLineBreak + // line 5 + 'procedure TFoo.Bar;' + sLineBreak + // line 6 + 'begin' + sLineBreak + // line 7 + 'end;' // line 8 + ); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'Class fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'Class fold should close at its end; not extend to method end'); +end; + +{ --- Begin..end folding --- } + +procedure TTestDelphiFolding.TestBeginEndFolds; +begin + ScanText( + 'begin' + sLineBreak + // line 1 + ' DoSomething;' + sLineBreak + // line 2 + 'end.' // line 3 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'begin..end fold should exist'); + Assert.AreEqual(3, FFoldRanges[FindFoldAtLine(1)].ToLine, + 'begin fold should close at end.'); +end; + +procedure TTestDelphiFolding.TestNestedBeginEnd; +begin + ScanText( + 'begin' + sLineBreak + // line 1 + ' begin' + sLineBreak + // line 2 + ' DoInner;' + sLineBreak + // line 3 + ' end;' + sLineBreak + // line 4 + 'end.' // line 5 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'Outer begin fold should exist'); + Assert.AreEqual(5, FFoldRanges[FindFoldAtLine(1)].ToLine, + 'Outer begin should fold to line 5'); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'Inner begin fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'Inner begin should fold to line 4'); +end; + +{ --- Procedure/function folding --- } + +procedure TTestDelphiFolding.TestProcedureFoldsFromHeader; +begin + ScanText( + 'procedure Foo;' + sLineBreak + // line 1 + 'begin' + sLineBreak + // line 2 + ' WriteLn;' + sLineBreak + // line 3 + 'end;' // line 4 + ); + // Fold should start at the procedure header, not at begin + Assert.IsTrue(FindFoldAtLine(1) >= 0, + 'Fold should start at procedure header line'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(1)].ToLine, + 'Procedure fold should close at end;'); + // No separate fold at begin line + Assert.AreEqual(-1, FindFoldAtLine(2), + 'begin should not have its own separate fold'); +end; + +procedure TTestDelphiFolding.TestProcedureDeclarationInRecordDoesNotFold; +begin + // procedure Save; inside a record is a declaration only — no body, no fold + ScanText( + 'type' + sLineBreak + // line 1 + ' TMyHelper = record helper for TMyRecord' + sLineBreak + // line 2 + ' procedure Save;' + sLineBreak + // line 3 + ' end;' // line 4 + ); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'Record fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'Record fold should close at end;'); + Assert.AreEqual(-1, FindFoldAtLine(3), + 'procedure Save; declaration must not create a fold'); +end; + +procedure TTestDelphiFolding.TestProcedureDeclarationInClassDoesNotFold; +begin + ScanText( + 'type' + sLineBreak + // line 1 + ' TFoo = class' + sLineBreak + // line 2 + ' procedure DoWork;' + sLineBreak + // line 3 + ' function GetValue: Integer;' + sLineBreak + // line 4 + ' end;' // line 5 + ); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'Class fold should exist'); + Assert.AreEqual(5, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'Class fold should close at end;'); + Assert.AreEqual(-1, FindFoldAtLine(3), + 'procedure declaration in class must not fold'); + Assert.AreEqual(-1, FindFoldAtLine(4), + 'function declaration in class must not fold'); +end; + +procedure TTestDelphiFolding.TestProcedureWithVarFoldsFromHeader; +begin + // var block between procedure header and begin should be included in the fold + ScanText( + 'procedure Test;' + sLineBreak + // line 1 + 'var' + sLineBreak + // line 2 + ' X: Integer;' + sLineBreak + // line 3 + 'begin' + sLineBreak + // line 4 + ' X := 1;' + sLineBreak + // line 5 + 'end;' // line 6 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, + 'Fold should start at procedure header'); + Assert.AreEqual(6, FFoldRanges[FindFoldAtLine(1)].ToLine, + 'Procedure fold should include var block and close at end;'); + Assert.AreEqual(-1, FindFoldAtLine(4), + 'begin should not have its own separate fold'); +end; + +procedure TTestDelphiFolding.TestFunctionFoldsFromHeader; +begin + ScanText( + 'function Add(A, B: Integer): Integer;' + sLineBreak + // line 1 + 'begin' + sLineBreak + // line 2 + ' Result := A + B;' + sLineBreak + // line 3 + 'end;' // line 4 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, + 'Fold should start at function header'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(1)].ToLine, + 'Function fold should close at end;'); +end; + +procedure TTestDelphiFolding.TestConstructorDestructorFoldFromHeader; +begin + ScanText( + 'constructor TFoo.Create;' + sLineBreak + // line 1 + 'begin' + sLineBreak + // line 2 + ' inherited;' + sLineBreak + // line 3 + 'end;' + sLineBreak + // line 4 + '' + sLineBreak + // line 5 + 'destructor TFoo.Destroy;' + sLineBreak + // line 6 + 'begin' + sLineBreak + // line 7 + ' inherited;' + sLineBreak + // line 8 + 'end;' // line 9 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, + 'Constructor fold should start at header'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(1)].ToLine, + 'Constructor fold should close at end;'); + Assert.IsTrue(FindFoldAtLine(6) >= 0, + 'Destructor fold should start at header'); + Assert.AreEqual(9, FFoldRanges[FindFoldAtLine(6)].ToLine, + 'Destructor fold should close at end;'); +end; + +procedure TTestDelphiFolding.TestFullSampleFoldsCorrectly; +var + SampleSource: string; + Idx: Integer; +begin + // Test using the actual GetSampleSource text from the highlighter + SampleSource := + 'unit ModernDelphi;'#13#10 + // line 1 + 'interface'#13#10 + // line 2 + 'type'#13#10 + // line 3 + ' TMyRecord = record'#13#10 + // line 4 + ' class var Count: Integer;'#13#10 + // line 5 + ' end;'#13#10 + // line 6 + ' TMyHelper = record helper for TMyRecord'#13#10 + // line 7 + ' procedure Save;'#13#10 + // line 8 + ' end;'#13#10 + // line 9 + 'implementation'#13#10 + // line 10 + 'procedure Test;'#13#10 + // line 11 + 'var'#13#10 + // line 12 + ' JSON: string;'#13#10 + // line 13 + 'begin'#13#10 + // line 14 + ' // Delphi 13 Multiline String'#13#10 + // line 15 + ' JSON := '''#13#10 + // line 16 + ' {'#13#10 + // line 17 + ' "name": "Delphi",'#13#10 + // line 18 + ' "version": 13'#13#10 + // line 19 + ' }'#13#10 + // line 20 + ' '''';'#13#10 + // line 21 + 'end;'#13#10 + // line 22 + 'end.'; // line 23 + ScanText(SampleSource); + + // interface (line 2) folds to line 9 (before implementation) + Idx := FindFoldAtLine(2); + Assert.IsTrue(Idx >= 0, 'Interface fold should exist at line 2'); + Assert.AreEqual(9, FFoldRanges[Idx].ToLine, + 'Interface fold should close before implementation'); + + // TMyRecord = record (line 4) folds to end; (line 6) + Idx := FindFoldAtLine(4); + Assert.IsTrue(Idx >= 0, 'TMyRecord fold should exist at line 4'); + Assert.AreEqual(6, FFoldRanges[Idx].ToLine, + 'TMyRecord should fold to line 6, not extend further'); + + // TMyHelper = record helper (line 7) folds to end; (line 9) + Idx := FindFoldAtLine(7); + Assert.IsTrue(Idx >= 0, 'TMyHelper fold should exist at line 7'); + Assert.AreEqual(9, FFoldRanges[Idx].ToLine, + 'TMyHelper should fold to line 9'); + + // procedure Save; (line 8) must NOT have a fold — it is a declaration + Assert.AreEqual(-1, FindFoldAtLine(8), + 'procedure Save; declaration must not fold'); + + // implementation (line 10) folds to end. (line 23) + Idx := FindFoldAtLine(10); + Assert.IsTrue(Idx >= 0, 'Implementation fold should exist at line 10'); + Assert.AreEqual(23, FFoldRanges[Idx].ToLine, + 'Implementation fold should close at end.'); + + // procedure Test (line 11) should fold to end; (line 22) + Idx := FindFoldAtLine(11); + Assert.IsTrue(Idx >= 0, 'procedure Test fold should exist at line 11'); + Assert.AreEqual(22, FFoldRanges[Idx].ToLine, + 'procedure Test should fold to end; at line 22'); + + // begin at line 14 should NOT have its own fold + Assert.AreEqual(-1, FindFoldAtLine(14), + 'begin should not have a separate fold from procedure'); +end; + +{ --- Try..end folding --- } + +procedure TTestDelphiFolding.TestTryEndFolds; +begin + ScanText( + 'begin' + sLineBreak + // line 1 + ' try' + sLineBreak + // line 2 + ' DoRisky;' + sLineBreak + // line 3 + ' except' + sLineBreak + // line 4 + ' end;' + sLineBreak + // line 5 + 'end.' // line 6 + ); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'try fold should exist'); + Assert.AreEqual(5, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'try fold should close at its end;'); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'begin fold should exist'); + Assert.AreEqual(6, FFoldRanges[FindFoldAtLine(1)].ToLine, + 'begin fold should close at end.'); +end; + +{ --- Case..end folding --- } + +procedure TTestDelphiFolding.TestCaseEndFolds; +begin + ScanText( + 'begin' + sLineBreak + // line 1 + ' case X of' + sLineBreak + // line 2 + ' 1: DoA;' + sLineBreak + // line 3 + ' 2: DoB;' + sLineBreak + // line 4 + ' end;' + sLineBreak + // line 5 + 'end.' // line 6 + ); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'case fold should exist'); + Assert.AreEqual(5, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'case fold should close at its end;'); +end; + +{ --- Region folding --- } + +procedure TTestDelphiFolding.TestRegionFolds; +begin + ScanText( + '{$REGION ''MyRegion''}' + sLineBreak + // line 1 + '// some code' + sLineBreak + // line 2 + '{$ENDREGION}' // line 3 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'Region fold should exist'); + Assert.AreEqual(3, FFoldRanges[FindFoldAtLine(1)].ToLine, + 'Region fold should close at $ENDREGION'); + Assert.AreEqual(FoldRegionType, FFoldRanges[FindFoldAtLine(1)].FoldType, + 'Region fold should have FoldRegionType'); +end; + +procedure TTestDelphiFolding.TestRegionDoesNotInterfereWithBeginEnd; +begin + ScanText( + '{$REGION ''Block''}' + sLineBreak + // line 1 + 'begin' + sLineBreak + // line 2 + ' DoWork;' + sLineBreak + // line 3 + 'end;' + sLineBreak + // line 4 + '{$ENDREGION}' // line 5 + ); + // Region fold + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'Region fold should exist'); + Assert.AreEqual(5, FFoldRanges[FindFoldAtLine(1)].ToLine, + 'Region fold should span lines 1-5'); + // begin..end fold inside the region + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'begin..end fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'begin..end fold should close at line 4'); +end; + +{ --- Interface/Implementation folding --- } + +procedure TTestDelphiFolding.TestInterfaceSectionFolds; +begin + ScanText( + 'unit Foo;' + sLineBreak + // line 1 + 'interface' + sLineBreak + // line 2 + 'type' + sLineBreak + // line 3 + ' TBar = record' + sLineBreak + // line 4 + ' X: Integer;' + sLineBreak + // line 5 + ' end;' + sLineBreak + // line 6 + 'implementation' + sLineBreak + // line 7 + 'end.' // line 8 + ); + // Interface section folds from line 2 to line 6 (before implementation) + Assert.IsTrue(FindFoldAtLine(2) >= 0, + 'Interface fold should exist at line 2'); + Assert.AreEqual(6, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'Interface fold should close before implementation'); + // Implementation section folds from line 7 to line 8 + Assert.IsTrue(FindFoldAtLine(7) >= 0, + 'Implementation fold should exist at line 7'); + Assert.AreEqual(8, FFoldRanges[FindFoldAtLine(7)].ToLine, + 'Implementation fold should close at end.'); +end; + +procedure TTestDelphiFolding.TestImplementationSectionFolds; +begin + ScanText( + 'unit Foo;' + sLineBreak + // line 1 + 'interface' + sLineBreak + // line 2 + 'implementation' + sLineBreak + // line 3 + 'procedure Bar;' + sLineBreak + // line 4 + 'begin' + sLineBreak + // line 5 + 'end;' + sLineBreak + // line 6 + 'end.' // line 7 + ); + // Implementation section folds from line 3 to line 7 + Assert.IsTrue(FindFoldAtLine(3) >= 0, + 'Implementation fold should exist'); + Assert.AreEqual(7, FFoldRanges[FindFoldAtLine(3)].ToLine, + 'Implementation fold should close at end.'); + // Procedure fold still works inside implementation + Assert.IsTrue(FindFoldAtLine(4) >= 0, + 'Procedure fold should exist at line 4'); + Assert.AreEqual(6, FFoldRanges[FindFoldAtLine(4)].ToLine, + 'Procedure fold should close at end;'); +end; + +procedure TTestDelphiFolding.TestProgramEndDotClosesBeginFold; +begin + // In a program (no interface/implementation), end. closes begin + ScanText( + 'program Foo;' + sLineBreak + // line 1 + 'begin' + sLineBreak + // line 2 + ' WriteLn;' + sLineBreak + // line 3 + 'end.' // line 4 + ); + Assert.IsTrue(FindFoldAtLine(2) >= 0, + 'begin fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'begin fold should close at end.'); +end; + +{ --- Mixed scenarios --- } + +procedure TTestDelphiFolding.TestRecordThenProcedure; +begin + // Record followed by procedure — each should fold independently + ScanText( + 'type' + sLineBreak + // line 1 + ' TRec = record' + sLineBreak + // line 2 + ' Value: Integer;' + sLineBreak + // line 3 + ' end;' + sLineBreak + // line 4 + '' + sLineBreak + // line 5 + 'procedure Test;' + sLineBreak + // line 6 + 'begin' + sLineBreak + // line 7 + 'end;' // line 8 + ); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'Record fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'Record fold should close at line 4'); + Assert.IsTrue(FindFoldAtLine(6) >= 0, 'Procedure fold should exist at line 6'); + Assert.AreEqual(8, FFoldRanges[FindFoldAtLine(6)].ToLine, + 'Procedure fold should close at line 8'); +end; + +procedure TTestDelphiFolding.TestMultipleRecords; +begin + ScanText( + 'type' + sLineBreak + // line 1 + ' TRec1 = record' + sLineBreak + // line 2 + ' A: Integer;' + sLineBreak + // line 3 + ' end;' + sLineBreak + // line 4 + '' + sLineBreak + // line 5 + ' TRec2 = record' + sLineBreak + // line 6 + ' B: Integer;' + sLineBreak + // line 7 + ' end;' // line 8 + ); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'First record fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'First record should fold to line 4'); + Assert.IsTrue(FindFoldAtLine(6) >= 0, 'Second record fold should exist'); + Assert.AreEqual(8, FFoldRanges[FindFoldAtLine(6)].ToLine, + 'Second record should fold to line 8'); +end; + +procedure TTestDelphiFolding.TestClassVarDoesNotOpenFold; +begin + // "class var" should NOT create a fold-open for the word "class" + ScanText( + 'type' + sLineBreak + // line 1 + ' TMyRecord = record' + sLineBreak + // line 2 + ' class var A: Integer;' + sLineBreak + // line 3 + ' class var B: Integer;' + sLineBreak + // line 4 + ' end;' // line 5 + ); + // There should be exactly one fold range starting at line 2 + Assert.AreEqual(-1, FindFoldAtLine(3), + 'class var on line 3 must not open a fold range'); + Assert.AreEqual(-1, FindFoldAtLine(4), + 'class var on line 4 must not open a fold range'); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'Record fold should exist'); + Assert.AreEqual(5, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'Record fold should close at end; on line 5'); +end; + +procedure TTestDelphiFolding.TestClassFunctionDoesNotOpenClassFold; +begin + // "class function" / "class procedure" should be treated as code + // declarations, not as class block openers + ScanText( + 'type' + sLineBreak + // line 1 + ' THelper = record' + sLineBreak + // line 2 + ' class function Create: THelper; static;' + sLineBreak + // line 3 + ' class procedure Reset; static;' + sLineBreak + // line 4 + ' end;' // line 5 + ); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'Record fold should exist'); + Assert.AreEqual(5, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'Record fold should close at end; on line 5'); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestDelphiFolding); + +end. diff --git a/Tests/FMX/TestSynHighlighterHTMLFolding.pas b/Tests/FMX/TestSynHighlighterHTMLFolding.pas new file mode 100644 index 00000000..8630fd2e --- /dev/null +++ b/Tests/FMX/TestSynHighlighterHTMLFolding.pas @@ -0,0 +1,330 @@ +unit TestSynHighlighterHTMLFolding; + +{ Tests for HTML highlighter fold range detection. + Uses only shared units (SynEditCodeFolding, SynHighlighterHtml, + SynEditTextBuffer) — no FMX or VCL dependency. } + +interface + +uses + DUnitX.TestFramework, + SynEditCodeFolding, + SynHighlighterHtml; + +type + [TestFixture] + TTestHTMLFolding = class + private + FHighlighter: TSynHTMLSyn; + FFoldRanges: TSynFoldRanges; + procedure ScanText(const AText: string); + function FindFoldAtLine(ALine: Integer): Integer; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + + { Basic tag folding } + [Test] + procedure TestSingleTagPairFolds; + [Test] + procedure TestNestedTagsFold; + [Test] + procedure TestDeeplyNestedTags; + + { Void elements } + [Test] + procedure TestVoidElementsDoNotFold; + [Test] + procedure TestSelfClosingTagsDoNotFold; + + { Same-line balanced tags } + [Test] + procedure TestBalancedTagsOnOneLineDoNotFold; + + { Comments and DOCTYPE } + [Test] + procedure TestCommentsDoNotFold; + [Test] + procedure TestDoctypeDoesNotFold; + + { Multi-line attributes } + [Test] + procedure TestMultiLineVoidTagDoesNotFold; + + { Full sample source } + [Test] + procedure TestFullSampleFoldsCorrectly; + + { Attributes with special characters } + [Test] + procedure TestQuotedGreaterThanInAttribute; + end; + +implementation + +uses + System.SysUtils, + System.Classes, + SynEditTextBuffer; + +procedure TTestHTMLFolding.Setup; +begin + FHighlighter := TSynHTMLSyn.Create(nil); + FFoldRanges := TSynFoldRanges.Create; +end; + +procedure TTestHTMLFolding.TearDown; +begin + FFoldRanges.Free; + FHighlighter.Free; +end; + +procedure TTestHTMLFolding.ScanText(const AText: string); +var + Lines: TStringList; +begin + Lines := TStringList.Create; + try + Lines.Text := AText; + FFoldRanges.StartScanning; + FHighlighter.ScanForFoldRanges(FFoldRanges, Lines, 0, Lines.Count - 1); + FFoldRanges.StopScanning(Lines); + finally + Lines.Free; + end; +end; + +function TTestHTMLFolding.FindFoldAtLine(ALine: Integer): Integer; +var + I: Integer; +begin + for I := 0 to FFoldRanges.Count - 1 do + if FFoldRanges[I].FromLine = ALine then + Exit(I); + Result := -1; +end; + +{ --- Basic tag folding --- } + +procedure TTestHTMLFolding.TestSingleTagPairFolds; +begin + ScanText( + '
' + sLineBreak + // line 1 + ' content' + sLineBreak + // line 2 + '
' // line 3 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'div fold should exist'); + Assert.AreEqual(3, FFoldRanges[FindFoldAtLine(1)].ToLine, + 'div fold should close at '); +end; + +procedure TTestHTMLFolding.TestNestedTagsFold; +begin + ScanText( + '' + sLineBreak + // line 1 + ' ' + sLineBreak + // line 2 + ' content' + sLineBreak + // line 3 + ' ' + sLineBreak + // line 4 + '' // line 5 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'html fold should exist'); + Assert.AreEqual(5, FFoldRanges[FindFoldAtLine(1)].ToLine, + 'html fold should close at '); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'body fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(2)].ToLine, + 'body fold should close at '); +end; + +procedure TTestHTMLFolding.TestDeeplyNestedTags; +begin + ScanText( + '' + sLineBreak + // line 1 + '' + sLineBreak + // line 2 + '
' + sLineBreak + // line 3 + ' text' + sLineBreak + // line 4 + '
' + sLineBreak + // line 5 + '' + sLineBreak + // line 6 + '' // line 7 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'html fold should exist'); + Assert.AreEqual(7, FFoldRanges[FindFoldAtLine(1)].ToLine); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'body fold should exist'); + Assert.AreEqual(6, FFoldRanges[FindFoldAtLine(2)].ToLine); + Assert.IsTrue(FindFoldAtLine(3) >= 0, 'div fold should exist'); + Assert.AreEqual(5, FFoldRanges[FindFoldAtLine(3)].ToLine); +end; + +{ --- Void elements --- } + +procedure TTestHTMLFolding.TestVoidElementsDoNotFold; +begin + ScanText( + '
' + sLineBreak + // line 1 + '
' + sLineBreak + // line 2 + '
' + sLineBreak + // line 3 + ' ' + sLineBreak + // line 4 + ' ' + sLineBreak + // line 5 + ' ' + sLineBreak + // line 6 + ' ' + sLineBreak + // line 7 + '
' // line 8 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'div fold should exist'); + Assert.AreEqual(8, FFoldRanges[FindFoldAtLine(1)].ToLine); + Assert.AreEqual(-1, FindFoldAtLine(2), 'br must not fold'); + Assert.AreEqual(-1, FindFoldAtLine(3), 'hr must not fold'); + Assert.AreEqual(-1, FindFoldAtLine(4), 'img must not fold'); + Assert.AreEqual(-1, FindFoldAtLine(5), 'input must not fold'); + Assert.AreEqual(-1, FindFoldAtLine(6), 'meta must not fold'); + Assert.AreEqual(-1, FindFoldAtLine(7), 'link must not fold'); +end; + +procedure TTestHTMLFolding.TestSelfClosingTagsDoNotFold; +begin + ScanText( + '
' + sLineBreak + // line 1 + '
' + sLineBreak + // line 2 + ' ' + sLineBreak + // line 3 + '
' // line 4 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'div fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(1)].ToLine); + Assert.AreEqual(-1, FindFoldAtLine(2), 'self-closing br must not fold'); + Assert.AreEqual(-1, FindFoldAtLine(3), 'self-closing img must not fold'); +end; + +{ --- Same-line balanced tags --- } + +procedure TTestHTMLFolding.TestBalancedTagsOnOneLineDoNotFold; +begin + ScanText( + '
' + sLineBreak + // line 1 + ' some text' + sLineBreak + // line 2 + '

paragraph

' + sLineBreak + // line 3 + '
' // line 4 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'div fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(1)].ToLine); + Assert.AreEqual(-1, FindFoldAtLine(2), + 'balanced span on one line must not fold'); + Assert.AreEqual(-1, FindFoldAtLine(3), + 'balanced p on one line must not fold'); +end; + +{ --- Comments and DOCTYPE --- } + +procedure TTestHTMLFolding.TestCommentsDoNotFold; +begin + ScanText( + '' + sLineBreak + // line 1 + '
' + sLineBreak + // line 2 + ' text' + sLineBreak + // line 3 + '
' // line 4 + ); + Assert.AreEqual(-1, FindFoldAtLine(1), 'comment must not fold'); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'div fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(2)].ToLine); +end; + +procedure TTestHTMLFolding.TestDoctypeDoesNotFold; +begin + ScanText( + '' + sLineBreak + // line 1 + '' + sLineBreak + // line 2 + '' // line 3 + ); + Assert.AreEqual(-1, FindFoldAtLine(1), 'DOCTYPE must not fold'); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'html fold should exist'); + Assert.AreEqual(3, FFoldRanges[FindFoldAtLine(2)].ToLine); +end; + +{ --- Multi-line attributes --- } + +procedure TTestHTMLFolding.TestMultiLineVoidTagDoesNotFold; +begin + // spans two lines but is void — should not fold + ScanText( + '
' + sLineBreak + // line 1 + ' ' + sLineBreak + // line 3 + '
' // line 4 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'form fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(1)].ToLine); + Assert.AreEqual(-1, FindFoldAtLine(2), + 'multi-line void input must not fold'); +end; + +{ --- Full sample source --- } + +procedure TTestHTMLFolding.TestFullSampleFoldsCorrectly; +var + SampleSource: string; + Idx: Integer; +begin + SampleSource := + ''#13#10 + // line 1 + #13#10 + // line 2 + ''#13#10 + // line 3 + ''#13#10 + // line 4 + '
'#13#10 + // line 5 + ' '#13#10 + // line 7 + '
'#13#10 + // line 8 + ' Sample HTML code © 2001'#13#10 + // line 9 + ''#13#10 + // line 10 + ''; // line 11 + ScanText(SampleSource); + + // (line 3) folds to (line 11) + Idx := FindFoldAtLine(3); + Assert.IsTrue(Idx >= 0, 'html fold should exist at line 3'); + Assert.AreEqual(11, FFoldRanges[Idx].ToLine, + 'html should fold to line 11'); + + // (line 4) folds to (line 10) + Idx := FindFoldAtLine(4); + Assert.IsTrue(Idx >= 0, 'body fold should exist at line 4'); + Assert.AreEqual(10, FFoldRanges[Idx].ToLine, + 'body should fold to line 10'); + + //
(line 5) folds to
(line 8) + Idx := FindFoldAtLine(5); + Assert.IsTrue(Idx >= 0, 'form fold should exist at line 5'); + Assert.AreEqual(8, FFoldRanges[Idx].ToLine, + 'form should fold to line 8'); + + // (line 6) must NOT fold — void element + Assert.AreEqual(-1, FindFoldAtLine(6), + 'input (void element) must not fold'); + + // ... on line 9 — balanced, no fold + Assert.AreEqual(-1, FindFoldAtLine(9), + 'balanced tags on one line must not fold'); + + // comment on line 1 — no fold + Assert.AreEqual(-1, FindFoldAtLine(1), + 'comment must not fold'); +end; + +{ --- Attributes with special characters --- } + +procedure TTestHTMLFolding.TestQuotedGreaterThanInAttribute; +begin + // > inside a quoted attribute value should not close the tag + ScanText( + '
' + sLineBreak + // line 1 + ' content' + sLineBreak + // line 2 + '
' // line 3 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, + 'div fold should exist despite > in attribute'); + Assert.AreEqual(3, FFoldRanges[FindFoldAtLine(1)].ToLine, + 'div fold should close at '); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestHTMLFolding); + +end. diff --git a/Tests/FMX/TestSynHighlighterXMLFolding.pas b/Tests/FMX/TestSynHighlighterXMLFolding.pas new file mode 100644 index 00000000..72c7e9cb --- /dev/null +++ b/Tests/FMX/TestSynHighlighterXMLFolding.pas @@ -0,0 +1,391 @@ +unit TestSynHighlighterXMLFolding; + +{ Tests for XML highlighter fold range detection. + Uses only shared units (SynEditCodeFolding, SynHighlighterXML, + SynEditTextBuffer) — no FMX or VCL dependency. } + +interface + +uses + DUnitX.TestFramework, + SynEditCodeFolding, + SynHighlighterXML; + +type + [TestFixture] + TTestXMLFolding = class + private + FHighlighter: TSynXMLSyn; + FFoldRanges: TSynFoldRanges; + procedure ScanText(const AText: string); + function FindFoldAtLine(ALine: Integer): Integer; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + + { Basic element folding } + [Test] + procedure TestSingleElementFolds; + [Test] + procedure TestNestedElementsFold; + [Test] + procedure TestDeeplyNestedElements; + + { Self-closing elements } + [Test] + procedure TestSelfClosingDoesNotFold; + [Test] + procedure TestSelfClosingWithSpaceDoesNotFold; + + { Same-line balanced elements } + [Test] + procedure TestBalancedOnOneLineDoesNotFold; + + { Processing instructions, comments, CDATA, DOCTYPE } + [Test] + procedure TestProcessingInstructionDoesNotFold; + [Test] + procedure TestCommentDoesNotFold; + [Test] + procedure TestCDATADoesNotFold; + [Test] + procedure TestDoctypeDoesNotFold; + + { Multi-line attributes } + [Test] + procedure TestMultiLineAttributesFold; + + { Namespaced elements } + [Test] + procedure TestNamespacedElementsFold; + + { Full sample source } + [Test] + procedure TestFullSampleFoldsCorrectly; + + { Quoted special characters } + [Test] + procedure TestQuotedGreaterThanInAttribute; + end; + +implementation + +uses + System.SysUtils, + System.Classes, + SynEditTextBuffer; + +procedure TTestXMLFolding.Setup; +begin + FHighlighter := TSynXMLSyn.Create(nil); + FFoldRanges := TSynFoldRanges.Create; +end; + +procedure TTestXMLFolding.TearDown; +begin + FFoldRanges.Free; + FHighlighter.Free; +end; + +procedure TTestXMLFolding.ScanText(const AText: string); +var + Lines: TStringList; +begin + Lines := TStringList.Create; + try + Lines.Text := AText; + FFoldRanges.StartScanning; + FHighlighter.ScanForFoldRanges(FFoldRanges, Lines, 0, Lines.Count - 1); + FFoldRanges.StopScanning(Lines); + finally + Lines.Free; + end; +end; + +function TTestXMLFolding.FindFoldAtLine(ALine: Integer): Integer; +var + I: Integer; +begin + for I := 0 to FFoldRanges.Count - 1 do + if FFoldRanges[I].FromLine = ALine then + Exit(I); + Result := -1; +end; + +{ --- Basic element folding --- } + +procedure TTestXMLFolding.TestSingleElementFolds; +begin + ScanText( + '' + sLineBreak + // line 1 + ' content' + sLineBreak + // line 2 + '' // line 3 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'root fold should exist'); + Assert.AreEqual(3, FFoldRanges[FindFoldAtLine(1)].ToLine, + 'root fold should close at '); +end; + +procedure TTestXMLFolding.TestNestedElementsFold; +begin + ScanText( + '' + sLineBreak + // line 1 + ' ' + sLineBreak + // line 2 + ' text' + sLineBreak + // line 3 + ' ' + sLineBreak + // line 4 + '' // line 5 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'outer fold should exist'); + Assert.AreEqual(5, FFoldRanges[FindFoldAtLine(1)].ToLine); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'inner fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(2)].ToLine); +end; + +procedure TTestXMLFolding.TestDeeplyNestedElements; +begin + ScanText( + '' + sLineBreak + // line 1 + ' ' + sLineBreak + // line 2 + ' ' + sLineBreak + // line 3 + ' text' + sLineBreak + // line 4 + ' ' + sLineBreak + // line 5 + ' ' + sLineBreak + // line 6 + '' // line 7 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'a fold should exist'); + Assert.AreEqual(7, FFoldRanges[FindFoldAtLine(1)].ToLine); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'b fold should exist'); + Assert.AreEqual(6, FFoldRanges[FindFoldAtLine(2)].ToLine); + Assert.IsTrue(FindFoldAtLine(3) >= 0, 'c fold should exist'); + Assert.AreEqual(5, FFoldRanges[FindFoldAtLine(3)].ToLine); +end; + +{ --- Self-closing elements --- } + +procedure TTestXMLFolding.TestSelfClosingDoesNotFold; +begin + ScanText( + '' + sLineBreak + // line 1 + ' ' + sLineBreak + // line 2 + ' ' + sLineBreak + // line 3 + '' // line 4 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'root fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(1)].ToLine); + Assert.AreEqual(-1, FindFoldAtLine(2), 'self-closing must not fold'); + Assert.AreEqual(-1, FindFoldAtLine(3), + 'self-closing must not fold'); +end; + +procedure TTestXMLFolding.TestSelfClosingWithSpaceDoesNotFold; +begin + ScanText( + '' + sLineBreak + // line 1 + '
' + sLineBreak + // line 2 + '
' // line 3 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'root fold should exist'); + Assert.AreEqual(3, FFoldRanges[FindFoldAtLine(1)].ToLine); + Assert.AreEqual(-1, FindFoldAtLine(2), + 'self-closing
must not fold'); +end; + +{ --- Same-line balanced elements --- } + +procedure TTestXMLFolding.TestBalancedOnOneLineDoesNotFold; +begin + ScanText( + '' + sLineBreak + // line 1 + ' John' + sLineBreak + // line 2 + ' 30' + sLineBreak + // line 3 + '' // line 4 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'root fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(1)].ToLine); + Assert.AreEqual(-1, FindFoldAtLine(2), + 'balanced ... on one line must not fold'); + Assert.AreEqual(-1, FindFoldAtLine(3), + 'balanced ... on one line must not fold'); +end; + +{ --- Processing instructions, comments, CDATA, DOCTYPE --- } + +procedure TTestXMLFolding.TestProcessingInstructionDoesNotFold; +begin + ScanText( + '' + sLineBreak + // line 1 + '' + sLineBreak + // line 2 + '' // line 3 + ); + Assert.AreEqual(-1, FindFoldAtLine(1), + 'processing instruction must not fold'); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'root fold should exist'); +end; + +procedure TTestXMLFolding.TestCommentDoesNotFold; +begin + ScanText( + '' + sLineBreak + // line 1 + '' + sLineBreak + // line 2 + '' // line 3 + ); + Assert.AreEqual(-1, FindFoldAtLine(1), 'comment must not fold'); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'root fold should exist'); +end; + +procedure TTestXMLFolding.TestCDATADoesNotFold; +begin + ScanText( + '' + sLineBreak + // line 1 + ' ' + sLineBreak + // line 2 + '' // line 3 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'root fold should exist'); + Assert.AreEqual(3, FFoldRanges[FindFoldAtLine(1)].ToLine); + Assert.AreEqual(-1, FindFoldAtLine(2), 'CDATA must not fold'); +end; + +procedure TTestXMLFolding.TestDoctypeDoesNotFold; +begin + ScanText( + '' + sLineBreak + // line 1 + '' + sLineBreak + // line 2 + '' // line 3 + ); + Assert.AreEqual(-1, FindFoldAtLine(1), 'DOCTYPE must not fold'); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'root fold should exist'); +end; + +{ --- Multi-line attributes --- } + +procedure TTestXMLFolding.TestMultiLineAttributesFold; +begin + // Non-void element with attributes spanning two lines should fold + ScanText( + '' + sLineBreak + // line 1 + ' ' + sLineBreak + // line 3 + ' ' + sLineBreak + // line 4 + ' ' + sLineBreak + // line 5 + '' // line 6 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'root fold should exist'); + Assert.AreEqual(6, FFoldRanges[FindFoldAtLine(1)].ToLine); + // starts on line 2 (tag opens, no > yet but tag name detected) + Assert.IsTrue(FindFoldAtLine(2) >= 0, + 'connection fold should exist at line 2'); + Assert.AreEqual(5, FFoldRanges[FindFoldAtLine(2)].ToLine); +end; + +{ --- Namespaced elements --- } + +procedure TTestXMLFolding.TestNamespacedElementsFold; +begin + ScanText( + '' + sLineBreak + // line 1 + ' ' + sLineBreak + // line 2 + ' ' + sLineBreak + // line 3 + ' ' + sLineBreak + // line 4 + '' // line 5 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, 'Envelope fold should exist'); + Assert.AreEqual(5, FFoldRanges[FindFoldAtLine(1)].ToLine); + Assert.IsTrue(FindFoldAtLine(2) >= 0, 'Body fold should exist'); + Assert.AreEqual(4, FFoldRanges[FindFoldAtLine(2)].ToLine); + Assert.AreEqual(-1, FindFoldAtLine(3), + 'self-closing must not fold'); +end; + +{ --- Full sample source --- } + +procedure TTestXMLFolding.TestFullSampleFoldsCorrectly; +var + SampleSource: string; + Idx: Integer; +begin + SampleSource := + ''#13#10 + // line 1 + ''#13#10 + // line 2 + ''#13#10 + // line 3 + ' '#13#10 + // line 4 + ' '#13#10 + // line 5 + ' '#13#10 + // line 6 + ' '#13#10 + // line 7 + ' '#13#10 + // line 8 + ' '#13#10 + // line 10 + ' '#13#10 + // line 11 + ' '#13#10 + // line 12 + ' '#13#10 + // line 13 + ' '#13#10 + // line 14 + ' '#13#10 + // line 15 + ' '#13#10 + // line 16 + ' '#13#10 + // line 17 + ' '#13#10 + // line 18 + ''; // line 19 + ScanText(SampleSource); + + // (line 1) — no fold + Assert.AreEqual(-1, FindFoldAtLine(1), + 'processing instruction must not fold'); + + // (line 2) — no fold + Assert.AreEqual(-1, FindFoldAtLine(2), + 'comment must not fold'); + + // (line 3) folds to (line 19) + Idx := FindFoldAtLine(3); + Assert.IsTrue(Idx >= 0, 'configuration fold should exist'); + Assert.AreEqual(19, FFoldRanges[Idx].ToLine); + + // (line 4) folds to (line 7) + Idx := FindFoldAtLine(4); + Assert.IsTrue(Idx >= 0, 'appSettings fold should exist'); + Assert.AreEqual(7, FFoldRanges[Idx].ToLine); + + // (lines 5, 6) — self-closing, no fold + Assert.AreEqual(-1, FindFoldAtLine(5), 'self-closing add must not fold'); + Assert.AreEqual(-1, FindFoldAtLine(6), 'self-closing add must not fold'); + + // (line 8) folds to (line 12) + Idx := FindFoldAtLine(8); + Assert.IsTrue(Idx >= 0, 'database fold should exist'); + Assert.AreEqual(12, FFoldRanges[Idx].ToLine); + + // (line 13) folds to (line 18) + Idx := FindFoldAtLine(13); + Assert.IsTrue(Idx >= 0, 'logging fold should exist'); + Assert.AreEqual(18, FFoldRanges[Idx].ToLine); + + // (line 14) — no fold + Assert.AreEqual(-1, FindFoldAtLine(14), 'CDATA must not fold'); + + // (line 15) folds to (line 17) + Idx := FindFoldAtLine(15); + Assert.IsTrue(Idx >= 0, 'target fold should exist'); + Assert.AreEqual(17, FFoldRanges[Idx].ToLine); + + // (line 16) — self-closing, no fold + Assert.AreEqual(-1, FindFoldAtLine(16), 'self-closing param must not fold'); +end; + +{ --- Quoted special characters --- } + +procedure TTestXMLFolding.TestQuotedGreaterThanInAttribute; +begin + ScanText( + '' + sLineBreak + // line 1 + ' content' + sLineBreak + // line 2 + '' // line 3 + ); + Assert.IsTrue(FindFoldAtLine(1) >= 0, + 'item fold should exist despite > in attribute'); + Assert.AreEqual(3, FFoldRanges[FindFoldAtLine(1)].ToLine); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestXMLFolding); + +end. diff --git a/Tests/VCL/TestVCLSynEditDragDrop.pas b/Tests/VCL/TestVCLSynEditDragDrop.pas new file mode 100644 index 00000000..39a4e1ee --- /dev/null +++ b/Tests/VCL/TestVCLSynEditDragDrop.pas @@ -0,0 +1,278 @@ +unit TestVCLSynEditDragDrop; + +interface + +uses + DUnitX.TestFramework, + Vcl.Forms, + SynEditTypes, + SynEdit; + +type + /// Test subclass to access the protected DropTextAtPos method + TTestableVCLEditor = class(TSynEdit) + public + procedure TestDropTextAtPos(const DropText: string; DropPos: TBufferCoord; + IsInternal, IsMove: Boolean); + end; + + [TestFixture] + TTestVCLDragDropIntegration = class + private + FForm: TForm; + FEditor: TTestableVCLEditor; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + // External drop tests + [Test] + procedure TestExternalDrop_SingleLine; + [Test] + procedure TestExternalDrop_MultiLine; + [Test] + procedure TestExternalDrop_PastEndOfLine; + [Test] + procedure TestExternalDrop_AtEndOfDocument; + [Test] + procedure TestExternalDrop_ReadOnlyRejects; + [Test] + procedure TestExternalDrop_EmptyTextRejects; + // Internal move tests + [Test] + procedure TestInternalMove_SameLine_Forward; + [Test] + procedure TestInternalMove_SameLine_Backward; + [Test] + procedure TestInternalMove_DifferentLine; + [Test] + procedure TestInternalMove_MultiLineSelection; + [Test] + procedure TestInternalMove_SourceTextDeleted; + [Test] + procedure TestInternalMove_RejectsDropInSelection; + // Internal copy tests + [Test] + procedure TestInternalCopy_DuplicatesText; + [Test] + procedure TestInternalCopy_SourceTextPreserved; + // Selection state tests + [Test] + procedure TestDrop_SelectsInsertedText; + [Test] + procedure TestDrop_LineCountIncreasesForMultiLine; + // Undo tests + [Test] + procedure TestInternalMove_UndoRestoresOriginal; + end; + +implementation + +uses + System.SysUtils, + System.Classes; + +{ TTestableVCLEditor } + +procedure TTestableVCLEditor.TestDropTextAtPos(const DropText: string; + DropPos: TBufferCoord; IsInternal, IsMove: Boolean); +begin + DropTextAtPos(DropText, DropPos, IsInternal, IsMove); +end; + +{ TTestVCLDragDropIntegration } + +procedure TTestVCLDragDropIntegration.Setup; +begin + FForm := TForm.CreateNew(nil); + FEditor := TTestableVCLEditor.Create(FForm); + FEditor.Parent := FForm; +end; + +procedure TTestVCLDragDropIntegration.TearDown; +begin + FForm.Free; +end; + +// --- External drop tests --- + +procedure TTestVCLDragDropIntegration.TestExternalDrop_SingleLine; +begin + FEditor.Text := 'Hello World'; + FEditor.TestDropTextAtPos('XYZ', BufferCoord(6, 1), False, True); + Assert.AreEqual('HelloXYZ World', FEditor.Lines[0]); +end; + +procedure TTestVCLDragDropIntegration.TestExternalDrop_MultiLine; +begin + FEditor.Text := 'Hello World'; + FEditor.TestDropTextAtPos('AAA' + sLineBreak + 'BBB', + BufferCoord(6, 1), False, True); + Assert.AreEqual(2, FEditor.Lines.Count, 'Line count should increase'); + Assert.AreEqual('HelloAAA', FEditor.Lines[0]); + Assert.AreEqual('BBB World', FEditor.Lines[1]); +end; + +procedure TTestVCLDragDropIntegration.TestExternalDrop_PastEndOfLine; +begin + FEditor.Text := 'Short'; + // Drop text at char 15, well past end of "Short" (5 chars) + FEditor.TestDropTextAtPos('XYZ', BufferCoord(15, 1), False, True); + // VCL clamps drop position to end of line via ValidBC + Assert.AreEqual('ShortXYZ', FEditor.Lines[0]); +end; + +procedure TTestVCLDragDropIntegration.TestExternalDrop_AtEndOfDocument; +begin + FEditor.Text := 'Line1' + sLineBreak + 'Line2'; + FEditor.TestDropTextAtPos('AAA' + sLineBreak + 'BBB' + sLineBreak + 'CCC', + BufferCoord(6, 2), False, True); + Assert.AreEqual(4, FEditor.Lines.Count, 'Should expand buffer for multi-line drop'); + Assert.AreEqual('Line1', FEditor.Lines[0]); + Assert.AreEqual('Line2AAA', FEditor.Lines[1]); + Assert.AreEqual('BBB', FEditor.Lines[2]); + Assert.AreEqual('CCC', FEditor.Lines[3]); +end; + +procedure TTestVCLDragDropIntegration.TestExternalDrop_ReadOnlyRejects; +begin + FEditor.Text := 'Hello'; + FEditor.ReadOnly := True; + FEditor.TestDropTextAtPos('XYZ', BufferCoord(1, 1), False, True); + Assert.AreEqual('Hello', FEditor.Lines[0], 'Read-only editor should reject drop'); +end; + +procedure TTestVCLDragDropIntegration.TestExternalDrop_EmptyTextRejects; +begin + FEditor.Text := 'Hello'; + FEditor.TestDropTextAtPos('', BufferCoord(1, 1), False, True); + Assert.AreEqual('Hello', FEditor.Lines[0], 'Empty text drop should be rejected'); +end; + +// --- Internal move tests --- + +procedure TTestVCLDragDropIntegration.TestInternalMove_SameLine_Forward; +begin + // "Hello World Goodbye" — select "World" (7-12), move to char 20 + FEditor.Text := 'Hello World Goodbye'; + FEditor.SetCaretAndSelection(BufferCoord(12, 1), + BufferCoord(7, 1), BufferCoord(12, 1)); + FEditor.TestDropTextAtPos('World', BufferCoord(20, 1), True, True); + Assert.AreEqual('Hello GoodbyeWorld', FEditor.Lines[0]); +end; + +procedure TTestVCLDragDropIntegration.TestInternalMove_SameLine_Backward; +begin + // "Hello World" — select "World" (7-12), move to char 1 + FEditor.Text := 'Hello World'; + FEditor.SetCaretAndSelection(BufferCoord(12, 1), + BufferCoord(7, 1), BufferCoord(12, 1)); + FEditor.TestDropTextAtPos('World', BufferCoord(1, 1), True, True); + Assert.AreEqual('WorldHello ', FEditor.Lines[0]); +end; + +procedure TTestVCLDragDropIntegration.TestInternalMove_DifferentLine; +begin + FEditor.Text := 'Hello World' + sLineBreak + 'Goodbye'; + FEditor.SetCaretAndSelection(BufferCoord(12, 1), + BufferCoord(7, 1), BufferCoord(12, 1)); + FEditor.TestDropTextAtPos('World', BufferCoord(1, 2), True, True); + Assert.AreEqual('Hello ', FEditor.Lines[0]); + Assert.AreEqual('WorldGoodbye', FEditor.Lines[1]); +end; + +procedure TTestVCLDragDropIntegration.TestInternalMove_MultiLineSelection; +begin + FEditor.Text := 'AAABBB' + sLineBreak + 'CCCDDD' + sLineBreak + 'EEEFFF'; + // Select "BBB\r\nCCC" = from (4,1) to (4,2) + FEditor.SetCaretAndSelection(BufferCoord(4, 2), + BufferCoord(4, 1), BufferCoord(4, 2)); + FEditor.TestDropTextAtPos('BBB' + sLineBreak + 'CCC', + BufferCoord(1, 3), True, True); + Assert.AreEqual(3, FEditor.Lines.Count); + Assert.AreEqual('AAADDD', FEditor.Lines[0]); + Assert.AreEqual('BBB', FEditor.Lines[1]); + Assert.AreEqual('CCCEEEFFF', FEditor.Lines[2]); +end; + +procedure TTestVCLDragDropIntegration.TestInternalMove_SourceTextDeleted; +begin + FEditor.Text := 'ABCDEFGH'; + // Select "CDE" (3-6) + FEditor.SetCaretAndSelection(BufferCoord(6, 1), + BufferCoord(3, 1), BufferCoord(6, 1)); + FEditor.TestDropTextAtPos('CDE', BufferCoord(9, 1), True, True); + Assert.AreEqual('ABFGHCDE', FEditor.Lines[0]); + Assert.AreEqual(0, Pos('CDEFGH', FEditor.Lines[0]), + 'Original text should be removed'); +end; + +procedure TTestVCLDragDropIntegration.TestInternalMove_RejectsDropInSelection; +begin + FEditor.Text := 'Hello World'; + FEditor.SetCaretAndSelection(BufferCoord(8, 1), + BufferCoord(3, 1), BufferCoord(8, 1)); + FEditor.TestDropTextAtPos('llo W', BufferCoord(5, 1), True, True); + Assert.AreEqual('Hello World', FEditor.Lines[0], + 'Drop inside selection should be rejected'); +end; + +// --- Internal copy tests --- + +procedure TTestVCLDragDropIntegration.TestInternalCopy_DuplicatesText; +begin + FEditor.Text := 'Hello World'; + FEditor.SetCaretAndSelection(BufferCoord(12, 1), + BufferCoord(7, 1), BufferCoord(12, 1)); + FEditor.TestDropTextAtPos('World', BufferCoord(1, 1), True, False); + Assert.AreEqual('WorldHello World', FEditor.Lines[0]); +end; + +procedure TTestVCLDragDropIntegration.TestInternalCopy_SourceTextPreserved; +begin + FEditor.Text := 'ABCDEF'; + FEditor.SetCaretAndSelection(BufferCoord(5, 1), + BufferCoord(2, 1), BufferCoord(5, 1)); + FEditor.TestDropTextAtPos('BCD', BufferCoord(7, 1), True, False); + Assert.AreEqual('ABCDEFBCD', FEditor.Lines[0]); +end; + +// --- Selection state tests --- + +procedure TTestVCLDragDropIntegration.TestDrop_SelectsInsertedText; +begin + FEditor.Text := 'Hello'; + FEditor.TestDropTextAtPos('XYZ', BufferCoord(1, 1), False, True); + Assert.IsTrue(FEditor.SelAvail, 'Inserted text should be selected'); + Assert.AreEqual('XYZ', FEditor.SelText, 'Selection should match dropped text'); +end; + +procedure TTestVCLDragDropIntegration.TestDrop_LineCountIncreasesForMultiLine; +begin + FEditor.Text := 'OneLine'; + Assert.AreEqual(1, FEditor.Lines.Count); + FEditor.TestDropTextAtPos('A' + sLineBreak + 'B' + sLineBreak + 'C', + BufferCoord(8, 1), False, True); + Assert.AreEqual(3, FEditor.Lines.Count, + 'Multi-line drop should increase line count'); +end; + +// --- Undo tests --- + +procedure TTestVCLDragDropIntegration.TestInternalMove_UndoRestoresOriginal; +begin + FEditor.Text := 'Hello World'; + FEditor.SetCaretAndSelection(BufferCoord(12, 1), + BufferCoord(7, 1), BufferCoord(12, 1)); + FEditor.TestDropTextAtPos('World', BufferCoord(1, 1), True, True); + Assert.AreEqual('WorldHello ', FEditor.Lines[0]); + FEditor.Undo; + Assert.AreEqual('Hello World', FEditor.Text, + 'Undo should restore original text'); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestVCLDragDropIntegration); + +end. diff --git a/Tests/VCL/TestVCLSynMacroRecorder.pas b/Tests/VCL/TestVCLSynMacroRecorder.pas new file mode 100644 index 00000000..6597366f --- /dev/null +++ b/Tests/VCL/TestVCLSynMacroRecorder.pas @@ -0,0 +1,494 @@ +unit TestVCLSynMacroRecorder; + +interface + +uses + DUnitX.TestFramework, + Vcl.Forms, + System.Classes, + SynEditTypes, + SynEditKeyCmds, + SynEdit, + SynMacroRecorderShared, + Vcl.SynMacroRecorder; + +type + [TestFixture] + TTestVCLMacroRecorder = class + private + FForm: TForm; + FEditor: TSynEdit; + FRecorder: TSynMacroRecorder; + FStateChangeCount: Integer; + procedure OnStateChange(Sender: TObject); + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + + // State machine tests + [Test] + procedure TestInitialStateIsStopped; + [Test] + procedure TestRecordChangesState; + [Test] + procedure TestStopChangesState; + [Test] + procedure TestPauseResumeState; + [Test] + procedure TestCannotRecordWhilePlaying; + [Test] + procedure TestCannotPlayWhileRecording; + [Test] + procedure TestCannotPauseWhenStopped; + [Test] + procedure TestCannotResumeWhenNotPaused; + [Test] + procedure TestStopWhenAlreadyStoppedIsSafe; + [Test] + procedure TestOnStateChangeFiresOnRecord; + [Test] + procedure TestOnStateChangeFiresOnStop; + + // Recording tests + [Test] + procedure TestRecordClearsExistingMacro; + [Test] + procedure TestRecordBasicNavigation; + [Test] + procedure TestRecordCharInput; + [Test] + procedure TestRecordMultipleCommands; + + // Playback tests + [Test] + procedure TestPlaybackEmptyMacro; + [Test] + procedure TestPlaybackNavigation; + [Test] + procedure TestPlaybackTyping; + [Test] + procedure TestPlaybackMultiEdit; + [Test] + procedure TestPlaybackIsUndoable; + + // Event management tests + [Test] + procedure TestAddEvent; + [Test] + procedure TestDeleteEvent; + [Test] + procedure TestClear; + [Test] + procedure TestIsEmptyAfterClear; + [Test] + procedure TestEventCount; + + // Serialization tests + [Test] + procedure TestSaveLoadStreamRoundTrip; + [Test] + procedure TestAsStringRoundTrip; + [Test] + procedure TestSaveLoadFileRoundTrip; + + // Property tests + [Test] + procedure TestDefaultShortcuts; + [Test] + procedure TestMacroNameDefault; + [Test] + procedure TestSaveMarkerPosDefault; + end; + +implementation + +uses + System.SysUtils, + System.IOUtils, + Vcl.Menus; + +{ TTestVCLMacroRecorder } + +procedure TTestVCLMacroRecorder.OnStateChange(Sender: TObject); +begin + Inc(FStateChangeCount); +end; + +procedure TTestVCLMacroRecorder.Setup; +begin + FForm := TForm.CreateNew(nil); + FEditor := TSynEdit.Create(FForm); + FEditor.Parent := FForm; + FRecorder := TSynMacroRecorder.Create(FForm); + FRecorder.AddEditor(FEditor); + FStateChangeCount := 0; +end; + +procedure TTestVCLMacroRecorder.TearDown; +begin + FForm.Free; +end; + +// --- State machine tests --- + +procedure TTestVCLMacroRecorder.TestInitialStateIsStopped; +begin + Assert.AreEqual(Ord(msStopped), Ord(FRecorder.State)); +end; + +procedure TTestVCLMacroRecorder.TestRecordChangesState; +begin + FRecorder.RecordMacro(FEditor); + Assert.AreEqual(Ord(msRecording), Ord(FRecorder.State)); + FRecorder.Stop; +end; + +procedure TTestVCLMacroRecorder.TestStopChangesState; +begin + FRecorder.RecordMacro(FEditor); + FRecorder.Stop; + Assert.AreEqual(Ord(msStopped), Ord(FRecorder.State)); +end; + +procedure TTestVCLMacroRecorder.TestPauseResumeState; +begin + FRecorder.RecordMacro(FEditor); + FRecorder.Pause; + Assert.AreEqual(Ord(msPaused), Ord(FRecorder.State)); + FRecorder.Resume; + Assert.AreEqual(Ord(msRecording), Ord(FRecorder.State)); + FRecorder.Stop; +end; + +procedure TTestVCLMacroRecorder.TestCannotRecordWhilePlaying; +begin + // Add a simple event so playback has something to do + FRecorder.AddEvent(ecRight, #0, nil); + FRecorder.PlaybackMacro(FEditor); + // After playback completes, state returns to stopped - should be safe to record + FRecorder.RecordMacro(FEditor); + Assert.AreEqual(Ord(msRecording), Ord(FRecorder.State)); + FRecorder.Stop; +end; + +procedure TTestVCLMacroRecorder.TestCannotPlayWhileRecording; +begin + FRecorder.RecordMacro(FEditor); + Assert.WillRaise( + procedure + begin + FRecorder.PlaybackMacro(FEditor); + end, Exception); + FRecorder.Stop; +end; + +procedure TTestVCLMacroRecorder.TestCannotPauseWhenStopped; +begin + Assert.WillRaise( + procedure + begin + FRecorder.Pause; + end, Exception); +end; + +procedure TTestVCLMacroRecorder.TestCannotResumeWhenNotPaused; +begin + Assert.WillRaise( + procedure + begin + FRecorder.Resume; + end, Exception); +end; + +procedure TTestVCLMacroRecorder.TestStopWhenAlreadyStoppedIsSafe; +begin + FRecorder.Stop; + Assert.AreEqual(Ord(msStopped), Ord(FRecorder.State)); +end; + +procedure TTestVCLMacroRecorder.TestOnStateChangeFiresOnRecord; +begin + FRecorder.OnStateChange := OnStateChange; + FStateChangeCount := 0; + FRecorder.RecordMacro(FEditor); + Assert.IsTrue(FStateChangeCount > 0, 'OnStateChange should fire on Record'); + FRecorder.Stop; +end; + +procedure TTestVCLMacroRecorder.TestOnStateChangeFiresOnStop; +begin + FRecorder.OnStateChange := OnStateChange; + FStateChangeCount := 0; + FRecorder.RecordMacro(FEditor); + FRecorder.Stop; + Assert.AreEqual(2, FStateChangeCount, 'Should fire on record and stop'); +end; + +// --- Recording tests --- + +procedure TTestVCLMacroRecorder.TestRecordClearsExistingMacro; +begin + FRecorder.AddEvent(ecRight, #0, nil); + Assert.AreEqual(1, FRecorder.EventCount); + FRecorder.RecordMacro(FEditor); + Assert.AreEqual(0, FRecorder.EventCount); + FRecorder.Stop; +end; + +procedure TTestVCLMacroRecorder.TestRecordBasicNavigation; +begin + FEditor.Text := 'Hello World'; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.RecordMacro(FEditor); + FEditor.CommandProcessor(ecRight, #0, nil); + FEditor.CommandProcessor(ecRight, #0, nil); + FRecorder.Stop; + Assert.AreEqual(2, FRecorder.EventCount); +end; + +procedure TTestVCLMacroRecorder.TestRecordCharInput; +begin + FEditor.Text := ''; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.RecordMacro(FEditor); + FEditor.CommandProcessor(ecChar, 'A', nil); + FEditor.CommandProcessor(ecChar, 'B', nil); + FRecorder.Stop; + Assert.AreEqual(2, FRecorder.EventCount); +end; + +procedure TTestVCLMacroRecorder.TestRecordMultipleCommands; +begin + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.RecordMacro(FEditor); + FEditor.CommandProcessor(ecRight, #0, nil); + FEditor.CommandProcessor(ecChar, 'X', nil); + FEditor.CommandProcessor(ecLeft, #0, nil); + FRecorder.Stop; + Assert.AreEqual(3, FRecorder.EventCount); +end; + +// --- Playback tests --- + +procedure TTestVCLMacroRecorder.TestPlaybackEmptyMacro; +begin + FEditor.Text := 'Hello'; + FRecorder.PlaybackMacro(FEditor); + Assert.AreEqual('Hello', FEditor.Text); +end; + +procedure TTestVCLMacroRecorder.TestPlaybackNavigation; +begin + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + // Record: move right 3 times + FRecorder.RecordMacro(FEditor); + FEditor.CommandProcessor(ecRight, #0, nil); + FEditor.CommandProcessor(ecRight, #0, nil); + FEditor.CommandProcessor(ecRight, #0, nil); + FRecorder.Stop; + // Playback from position 1 + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.PlaybackMacro(FEditor); + Assert.AreEqual(4, FEditor.CaretX); +end; + +procedure TTestVCLMacroRecorder.TestPlaybackTyping; +begin + FEditor.Text := ''; + FEditor.CaretXY := BufferCoord(1, 1); + // Record typing "Hi" + FRecorder.RecordMacro(FEditor); + FEditor.CommandProcessor(ecChar, 'H', nil); + FEditor.CommandProcessor(ecChar, 'i', nil); + FRecorder.Stop; + // Playback on fresh text + FEditor.Text := ''; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.PlaybackMacro(FEditor); + Assert.AreEqual('Hi', FEditor.Lines[0]); +end; + +procedure TTestVCLMacroRecorder.TestPlaybackMultiEdit; +begin + FEditor.Text := 'ABC'; + FEditor.CaretXY := BufferCoord(1, 1); + // Record: delete first char, type 'X' + FRecorder.RecordMacro(FEditor); + FEditor.CommandProcessor(ecDeleteChar, #0, nil); + FEditor.CommandProcessor(ecChar, 'X', nil); + FRecorder.Stop; + // Apply to fresh text + FEditor.Text := 'DEF'; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.PlaybackMacro(FEditor); + Assert.AreEqual('XEF', FEditor.Lines[0]); +end; + +procedure TTestVCLMacroRecorder.TestPlaybackIsUndoable; +var + OrigText: string; +begin + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + OrigText := FEditor.Text; + // Record: type 'X' + FRecorder.RecordMacro(FEditor); + FEditor.CommandProcessor(ecChar, 'X', nil); + FRecorder.Stop; + // Reset and playback + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.PlaybackMacro(FEditor); + Assert.AreNotEqual(OrigText, FEditor.Text); + // Undo + FEditor.Undo; + Assert.AreEqual(OrigText, FEditor.Text); +end; + +// --- Event management tests --- + +procedure TTestVCLMacroRecorder.TestAddEvent; +begin + FRecorder.AddEvent(ecRight, #0, nil); + Assert.AreEqual(1, FRecorder.EventCount); +end; + +procedure TTestVCLMacroRecorder.TestDeleteEvent; +begin + FRecorder.AddEvent(ecRight, #0, nil); + FRecorder.AddEvent(ecLeft, #0, nil); + FRecorder.DeleteEvent(0); + Assert.AreEqual(1, FRecorder.EventCount); +end; + +procedure TTestVCLMacroRecorder.TestClear; +begin + FRecorder.AddEvent(ecRight, #0, nil); + FRecorder.AddEvent(ecLeft, #0, nil); + FRecorder.Clear; + Assert.IsTrue(FRecorder.IsEmpty); +end; + +procedure TTestVCLMacroRecorder.TestIsEmptyAfterClear; +begin + FRecorder.AddEvent(ecRight, #0, nil); + Assert.IsFalse(FRecorder.IsEmpty); + FRecorder.Clear; + Assert.IsTrue(FRecorder.IsEmpty); +end; + +procedure TTestVCLMacroRecorder.TestEventCount; +begin + Assert.AreEqual(0, FRecorder.EventCount); + FRecorder.AddEvent(ecRight, #0, nil); + Assert.AreEqual(1, FRecorder.EventCount); + FRecorder.AddEvent(ecLeft, #0, nil); + Assert.AreEqual(2, FRecorder.EventCount); +end; + +// --- Serialization tests --- + +procedure TTestVCLMacroRecorder.TestSaveLoadStreamRoundTrip; +var + Stream: TMemoryStream; +begin + FEditor.Text := 'Test'; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.RecordMacro(FEditor); + FEditor.CommandProcessor(ecRight, #0, nil); + FEditor.CommandProcessor(ecChar, 'X', nil); + FRecorder.Stop; + Assert.AreEqual(2, FRecorder.EventCount); + Stream := TMemoryStream.Create; + try + FRecorder.SaveToStream(Stream); + Assert.IsTrue(Stream.Size > 0); + FRecorder.Clear; + Assert.IsTrue(FRecorder.IsEmpty); + Stream.Position := 0; + FRecorder.LoadFromStream(Stream); + Assert.AreEqual(2, FRecorder.EventCount); + FEditor.Text := 'Test'; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.PlaybackMacro(FEditor); + Assert.AreEqual('TXest', FEditor.Lines[0]); + finally + Stream.Free; + end; +end; + +procedure TTestVCLMacroRecorder.TestAsStringRoundTrip; +var + MacroStr: string; +begin + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.RecordMacro(FEditor); + FEditor.CommandProcessor(ecRight, #0, nil); + FEditor.CommandProcessor(ecChar, 'Y', nil); + FRecorder.Stop; + MacroStr := FRecorder.AsString; + Assert.IsNotEmpty(MacroStr); + FRecorder.Clear; + FRecorder.AsString := MacroStr; + Assert.AreEqual(2, FRecorder.EventCount); + FEditor.Text := 'Hello'; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.PlaybackMacro(FEditor); + Assert.AreEqual('HYello', FEditor.Lines[0]); +end; + +procedure TTestVCLMacroRecorder.TestSaveLoadFileRoundTrip; +var + TempFile: string; +begin + TempFile := TPath.GetTempFileName; + try + FEditor.Text := 'File test'; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.RecordMacro(FEditor); + FEditor.CommandProcessor(ecChar, 'Z', nil); + FRecorder.Stop; + FRecorder.SaveToFile(TempFile); + FRecorder.Clear; + FRecorder.LoadFromFile(TempFile); + Assert.AreEqual(1, FRecorder.EventCount); + FEditor.Text := 'File test'; + FEditor.CaretXY := BufferCoord(1, 1); + FRecorder.PlaybackMacro(FEditor); + Assert.AreEqual('ZFile test', FEditor.Lines[0]); + finally + if FileExists(TempFile) then + DeleteFile(TempFile); + end; +end; + +// --- Property tests --- + +procedure TTestVCLMacroRecorder.TestDefaultShortcuts; +begin + Assert.AreEqual( + Integer(Vcl.Menus.ShortCut(Ord('R'), [ssCtrl, ssShift])), + Integer(FRecorder.RecordShortCut)); + Assert.AreEqual( + Integer(Vcl.Menus.ShortCut(Ord('P'), [ssCtrl, ssShift])), + Integer(FRecorder.PlaybackShortCut)); +end; + +procedure TTestVCLMacroRecorder.TestMacroNameDefault; +begin + Assert.AreEqual('unnamed', FRecorder.MacroName); +end; + +procedure TTestVCLMacroRecorder.TestSaveMarkerPosDefault; +begin + Assert.IsFalse(FRecorder.SaveMarkerPos); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestVCLMacroRecorder); +end. diff --git a/Tests/VCL/TestVCLSynSpellCheck.pas b/Tests/VCL/TestVCLSynSpellCheck.pas new file mode 100644 index 00000000..046af649 --- /dev/null +++ b/Tests/VCL/TestVCLSynSpellCheck.pas @@ -0,0 +1,261 @@ +unit TestVCLSynSpellCheck; + +interface + +uses + DUnitX.TestFramework, + SynSpellCheckTypes, + SynSpellCheckHunspellProvider; + +type + [TestFixture] + TTestVCLSynHunspellProvider = class + private + FProvider: ISynSpellCheckProvider; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + { Loading } + [Test] + procedure TestIsAvailable; + [Test] + procedure TestIsAvailableMissingPath; + [Test] + procedure TestGetLanguage; + [Test] + procedure TestSetLanguageReloads; + { Direct word checks } + [Test] + procedure TestCommonWordsValid; + [Test] + procedure TestMisspelledWordsInvalid; + [Test] + procedure TestCaseInsensitive; + { Suffix rules } + [Test] + procedure TestSuffixIng; + [Test] + procedure TestSuffixEd; + [Test] + procedure TestSuffixPlural; + [Test] + procedure TestSuffixIon; + [Test] + procedure TestSuffixIve; + { Prefix rules } + [Test] + procedure TestPrefixUn; + [Test] + procedure TestPrefixRe; + { Cross-product } + [Test] + procedure TestCrossProduct; + { Suggest } + [Test] + procedure TestSuggestReturnsResults; + [Test] + procedure TestSuggestMaxCount; + [Test] + procedure TestSuggestContainsCorrection; + { Native provider stub } + [Test] + procedure TestNativeNotAvailable; + [Test] + procedure TestNativeCheckWordTrue; + end; + +implementation + +uses + System.SysUtils, + System.IOUtils; + +const + DictLang = 'en_US'; + +function GetDictPath: string; +begin + // Resolve relative to exe location (Tests/bin/Win32/Debug/) + Result := TPath.GetFullPath( + TPath.Combine(ExtractFilePath(ParamStr(0)), '..\..\..\..\Dictionaries')); +end; + +procedure TTestVCLSynHunspellProvider.Setup; +begin + FProvider := TSynHunspellProvider.Create(GetDictPath, DictLang); +end; + +procedure TTestVCLSynHunspellProvider.TearDown; +begin + FProvider := nil; +end; + +{ Loading } + +procedure TTestVCLSynHunspellProvider.TestIsAvailable; +begin + Assert.IsTrue(FProvider.IsAvailable, 'en_US dictionary should be available'); +end; + +procedure TTestVCLSynHunspellProvider.TestIsAvailableMissingPath; +var + P: ISynSpellCheckProvider; +begin + P := TSynHunspellProvider.Create('C:\nonexistent\path', 'en_US'); + Assert.IsFalse(P.IsAvailable, 'Missing path should not be available'); +end; + +procedure TTestVCLSynHunspellProvider.TestGetLanguage; +begin + Assert.AreEqual('en_US', FProvider.GetLanguage); +end; + +procedure TTestVCLSynHunspellProvider.TestSetLanguageReloads; +begin + // Force load + FProvider.IsAvailable; + // Change to non-existent language — should clear and fail to reload + FProvider.SetLanguage('xx_XX'); + Assert.IsFalse(FProvider.IsAvailable, 'Invalid language should not be available'); + // Change back — should reload successfully + FProvider.SetLanguage('en_US'); + Assert.IsTrue(FProvider.IsAvailable, 'Restoring en_US should reload'); +end; + +{ Direct word checks } + +procedure TTestVCLSynHunspellProvider.TestCommonWordsValid; +begin + Assert.IsTrue(FProvider.CheckWord('hello'), '"hello" should be valid'); + Assert.IsTrue(FProvider.CheckWord('world'), '"world" should be valid'); + Assert.IsTrue(FProvider.CheckWord('the'), '"the" should be valid'); + Assert.IsTrue(FProvider.CheckWord('computer'), '"computer" should be valid'); +end; + +procedure TTestVCLSynHunspellProvider.TestMisspelledWordsInvalid; +begin + Assert.IsFalse(FProvider.CheckWord('helo'), '"helo" should be invalid'); + Assert.IsFalse(FProvider.CheckWord('wrold'), '"wrold" should be invalid'); + Assert.IsFalse(FProvider.CheckWord('teh'), '"teh" should be invalid'); + Assert.IsFalse(FProvider.CheckWord('computr'), '"computr" should be invalid'); +end; + +procedure TTestVCLSynHunspellProvider.TestCaseInsensitive; +begin + Assert.IsTrue(FProvider.CheckWord('Hello'), '"Hello" should be valid'); + Assert.IsTrue(FProvider.CheckWord('HELLO'), '"HELLO" should be valid'); + Assert.IsTrue(FProvider.CheckWord('hello'), '"hello" should be valid'); +end; + +{ Suffix rules } + +procedure TTestVCLSynHunspellProvider.TestSuffixIng; +begin + Assert.IsTrue(FProvider.CheckWord('walking'), '"walking" should be valid'); + Assert.IsTrue(FProvider.CheckWord('talking'), '"talking" should be valid'); +end; + +procedure TTestVCLSynHunspellProvider.TestSuffixEd; +begin + Assert.IsTrue(FProvider.CheckWord('walked'), '"walked" should be valid'); + Assert.IsTrue(FProvider.CheckWord('talked'), '"talked" should be valid'); +end; + +procedure TTestVCLSynHunspellProvider.TestSuffixPlural; +begin + Assert.IsTrue(FProvider.CheckWord('classes'), '"classes" should be valid'); + Assert.IsTrue(FProvider.CheckWord('boxes'), '"boxes" should be valid'); +end; + +procedure TTestVCLSynHunspellProvider.TestSuffixIon; +begin + Assert.IsTrue(FProvider.CheckWord('creation'), '"creation" should be valid'); +end; + +procedure TTestVCLSynHunspellProvider.TestSuffixIve; +begin + Assert.IsTrue(FProvider.CheckWord('creative'), '"creative" should be valid'); +end; + +{ Prefix rules } + +procedure TTestVCLSynHunspellProvider.TestPrefixUn; +begin + Assert.IsTrue(FProvider.CheckWord('unlikely'), '"unlikely" should be valid'); +end; + +procedure TTestVCLSynHunspellProvider.TestPrefixRe; +begin + Assert.IsTrue(FProvider.CheckWord('reuse'), '"reuse" should be valid'); +end; + +{ Cross-product } + +procedure TTestVCLSynHunspellProvider.TestCrossProduct; +begin + Assert.IsTrue(FProvider.CheckWord('undoing'), '"undoing" should be valid'); +end; + +{ Suggest } + +procedure TTestVCLSynHunspellProvider.TestSuggestReturnsResults; +var + Suggestions: TArray; +begin + Suggestions := FProvider.Suggest('helo'); + Assert.IsTrue(Length(Suggestions) >= 3, + '"helo" should produce at least 3 suggestions, got ' + IntToStr(Length(Suggestions))); +end; + +procedure TTestVCLSynHunspellProvider.TestSuggestMaxCount; +var + Suggestions: TArray; +begin + Suggestions := FProvider.Suggest('helo'); + Assert.IsTrue(Length(Suggestions) > 0, + 'Should return at least 1 suggestion'); + Assert.IsTrue(Length(Suggestions) <= 10, + 'Should return at most 10 suggestions, got ' + IntToStr(Length(Suggestions))); +end; + +procedure TTestVCLSynHunspellProvider.TestSuggestContainsCorrection; +var + Suggestions: TArray; + S: string; + Found: Boolean; +begin + Suggestions := FProvider.Suggest('walkin'); + Found := False; + for S in Suggestions do + if SameText(S, 'walking') then + begin + Found := True; + Break; + end; + Assert.IsTrue(Found, '"walkin" suggestions should include "walking"'); +end; + +{ Native provider stub } + +procedure TTestVCLSynHunspellProvider.TestNativeNotAvailable; +var + P: ISynSpellCheckProvider; +begin + P := TSynHunspellNativeProvider.Create(GetDictPath, DictLang); + Assert.IsFalse(P.IsAvailable, 'Native provider should not be available'); +end; + +procedure TTestVCLSynHunspellProvider.TestNativeCheckWordTrue; +var + P: ISynSpellCheckProvider; +begin + P := TSynHunspellNativeProvider.Create(GetDictPath, DictLang); + Assert.IsTrue(P.CheckWord('anything'), 'Native stub should accept all words'); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestVCLSynHunspellProvider); + +end. diff --git a/Tests/VCL/TestVCLSynSpellCheckComponent.pas b/Tests/VCL/TestVCLSynSpellCheckComponent.pas new file mode 100644 index 00000000..a0b93c22 --- /dev/null +++ b/Tests/VCL/TestVCLSynSpellCheckComponent.pas @@ -0,0 +1,388 @@ +unit TestVCLSynSpellCheckComponent; + +interface + +uses + DUnitX.TestFramework, + SynEdit, + SynEditTypes, + SynEditMiscClasses, + Vcl.SynSpellCheck, + SynSpellCheckTypes; + +type + [TestFixture] + TTestVCLSynSpellCheckComponent = class + private + FEditor: TSynEdit; + FSpellCheck: TSynSpellCheck; + FProvider: ISynSpellCheckProvider; + FEventFired: Boolean; + procedure OnChangeFired(Sender: TObject); + function GetErrorCount: Integer; + function HasErrorAt(Line, Char: Integer): Boolean; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + { Defaults } + [Test] + procedure TestDefaults; + { Singleton } + [Test] + procedure TestSingleton; + { Editor assignment } + [Test] + procedure TestSetEditor; + [Test] + procedure TestSetEditorNil; + { CheckFile } + [Test] + procedure TestCheckFileFindsErrors; + [Test] + procedure TestCheckFileNoErrors; + [Test] + procedure TestCheckFileNoProvider; + { CheckLine } + [Test] + procedure TestCheckLineSpecificLine; + [Test] + procedure TestCheckLineClearsOldErrors; + { ClearErrors } + [Test] + procedure TestClearErrors; + { IndicatorAtPos } + [Test] + procedure TestIndicatorAtPosFound; + [Test] + procedure TestIndicatorAtPosNotFound; + [Test] + procedure TestIndicatorAtPosWrongLine; + { Provider } + [Test] + procedure TestProviderProperty; + { Events } + [Test] + procedure TestOnChangeEvent; + { Multi-editor } + [Test] + procedure TestMultiEditor; + end; + +implementation + +uses + System.SysUtils, + System.Classes, + System.Generics.Collections; + +type + TMockSpellProvider = class(TInterfacedObject, ISynSpellCheckProvider) + private + FValidWords: TList; + public + constructor Create; + destructor Destroy; override; + function CheckWord(const AWord: string): Boolean; + function Suggest(const AWord: string): TArray; + function IsAvailable: Boolean; + function GetLanguage: string; + procedure SetLanguage(const Value: string); + end; + +{ TMockSpellProvider } + +constructor TMockSpellProvider.Create; +begin + inherited Create; + FValidWords := TList.Create; + FValidWords.Add('hello'); + FValidWords.Add('world'); + FValidWords.Add('the'); + FValidWords.Add('quick'); + FValidWords.Add('brown'); + FValidWords.Add('fox'); +end; + +destructor TMockSpellProvider.Destroy; +begin + FValidWords.Free; + inherited; +end; + +function TMockSpellProvider.CheckWord(const AWord: string): Boolean; +var + S: string; +begin + for S in FValidWords do + if SameText(S, AWord) then + Exit(True); + Result := False; +end; + +function TMockSpellProvider.Suggest(const AWord: string): TArray; +begin + Result := TArray.Create('hello'); +end; + +function TMockSpellProvider.IsAvailable: Boolean; +begin + Result := True; +end; + +function TMockSpellProvider.GetLanguage: string; +begin + Result := 'mock'; +end; + +procedure TMockSpellProvider.SetLanguage(const Value: string); +begin + // no-op +end; + +{ TTestVCLSynSpellCheckComponent } + +function TTestVCLSynSpellCheckComponent.GetErrorCount: Integer; +begin + Result := Length(FEditor.Indicators.GetById(TSynSpellCheck.SpellErrorIndicatorId)); +end; + +function TTestVCLSynSpellCheckComponent.HasErrorAt(Line, Char: Integer): Boolean; +var + Ind: TSynIndicator; +begin + Result := FEditor.Indicators.IndicatorAtPos( + BufferCoord(Char, Line), TSynSpellCheck.SpellErrorIndicatorId, Ind); +end; + +procedure TTestVCLSynSpellCheckComponent.OnChangeFired(Sender: TObject); +begin + FEventFired := True; +end; + +procedure TTestVCLSynSpellCheckComponent.Setup; +begin + FSpellCheck := TSynSpellCheck.Create(nil); + FEditor := TSynEdit.Create(nil); + FProvider := TMockSpellProvider.Create; + FSpellCheck.Provider := FProvider; + FSpellCheck.Editor := FEditor; +end; + +procedure TTestVCLSynSpellCheckComponent.TearDown; +begin + FSpellCheck.Free; + FEditor.Free; + FProvider := nil; +end; + +{ Defaults } + +procedure TTestVCLSynSpellCheckComponent.TestDefaults; +begin + Assert.AreEqual(Integer(clRed), Integer(FSpellCheck.PenColor), + 'PenColor should default to clRed'); + Assert.AreEqual(Integer(usMicrosoftWord), Integer(FSpellCheck.UnderlineStyle), + 'UnderlineStyle should default to usMicrosoftWord'); + Assert.IsTrue(FSpellCheck.AttributesChecked.IndexOf('Comment') >= 0, + 'Comment should be in AttributesChecked'); + Assert.IsTrue(FSpellCheck.AttributesChecked.IndexOf('Text') >= 0, + 'Text should be in AttributesChecked'); + Assert.IsTrue(FSpellCheck.AttributesChecked.IndexOf('String') >= 0, + 'String should be in AttributesChecked'); + Assert.IsTrue(FSpellCheck.AttributesChecked.IndexOf('Documentation') >= 0, + 'Documentation should be in AttributesChecked'); + Assert.IsTrue(TSynSpellCheck.GlobalInstance = FSpellCheck, + 'GlobalInstance should be assigned'); +end; + +{ Singleton } + +procedure TTestVCLSynSpellCheckComponent.TestSingleton; +begin + Assert.WillRaise( + procedure + var + SC2: TSynSpellCheck; + begin + SC2 := TSynSpellCheck.Create(nil); + SC2.Free; + end, + ESynError, + 'Creating a second TSynSpellCheck instance should raise ESynError'); +end; + +{ Editor assignment } + +procedure TTestVCLSynSpellCheckComponent.TestSetEditor; +begin + Assert.IsNotNull(FSpellCheck.Editor, 'Editor should be assigned'); +end; + +procedure TTestVCLSynSpellCheckComponent.TestSetEditorNil; +begin + FSpellCheck.Editor := nil; + Assert.IsNull(FSpellCheck.Editor, 'Editor should be nil after clearing'); +end; + +{ CheckFile } + +procedure TTestVCLSynSpellCheckComponent.TestCheckFileFindsErrors; +begin + // "hello" is valid, "wrold" is not, "the" is valid, "quik" is not + FEditor.Text := 'hello wrold the quik'; + FSpellCheck.CheckFile; + Assert.AreEqual(2, GetErrorCount, + 'Should find 2 misspelled words'); +end; + +procedure TTestVCLSynSpellCheckComponent.TestCheckFileNoErrors; +begin + FEditor.Text := 'hello world the'; + FSpellCheck.CheckFile; + Assert.AreEqual(0, GetErrorCount, + 'All valid words should produce no errors'); +end; + +procedure TTestVCLSynSpellCheckComponent.TestCheckFileNoProvider; +begin + FSpellCheck.Provider := nil; + FEditor.Text := 'hello wrold'; + // On Windows 10+, COM SpellChecker is available even without a provider, + // so errors may be found via the Windows API. Just verify it doesn't crash. + FSpellCheck.CheckFile; + Assert.Pass('CheckFile with no provider should not crash'); +end; + +{ CheckLine } + +procedure TTestVCLSynSpellCheckComponent.TestCheckLineSpecificLine; +begin + FEditor.Lines.Clear; + FEditor.Lines.Add('hello world'); + FEditor.Lines.Add('baaad wrold'); + FEditor.Lines.Add('the fox'); + // Set caret to line 2 — VCL CheckLine uses FEditor.CaretY + FEditor.CaretY := 2; + FSpellCheck.CheckLine; + // Should find errors on line 2 + Assert.IsTrue(HasErrorAt(2, 1), 'Should find error at line 2 char 1 ("baaad")'); +end; + +procedure TTestVCLSynSpellCheckComponent.TestCheckLineClearsOldErrors; +begin + FEditor.Lines.Clear; + FEditor.Lines.Add('baaad'); + FEditor.Lines.Add('hello'); + // Check line 1 + FEditor.CaretY := 1; + FSpellCheck.CheckLine; + Assert.IsTrue(GetErrorCount >= 1, 'Should have error on line 1'); + // Fix line 1 and re-check + FEditor.Lines[0] := 'hello'; + FEditor.CaretY := 1; + FSpellCheck.CheckLine; + Assert.AreEqual(0, GetErrorCount, + 'Re-checking line 1 with valid text should clear its errors'); +end; + +{ ClearErrors } + +procedure TTestVCLSynSpellCheckComponent.TestClearErrors; +begin + FEditor.Text := 'wrold baaad'; + FSpellCheck.CheckFile; + Assert.IsTrue(GetErrorCount > 0, 'Should have errors'); + FSpellCheck.ClearErrors(False); + Assert.AreEqual(0, GetErrorCount, + 'ClearErrors should remove all error indicators'); +end; + +{ IndicatorAtPos } + +procedure TTestVCLSynSpellCheckComponent.TestIndicatorAtPosFound; +begin + FEditor.Text := 'hello wrold'; + FSpellCheck.CheckFile; + // "wrold" starts at char 7 on line 1 + Assert.IsTrue(HasErrorAt(1, 7), + 'Should find indicator at start of "wrold"'); + Assert.IsTrue(HasErrorAt(1, 10), + 'Should find indicator in middle of "wrold"'); +end; + +procedure TTestVCLSynSpellCheckComponent.TestIndicatorAtPosNotFound; +begin + FEditor.Text := 'hello wrold'; + FSpellCheck.CheckFile; + // "hello" is valid, positions 1..5 should have no error indicator + Assert.IsFalse(HasErrorAt(1, 1), + 'Should not find indicator at valid word position'); +end; + +procedure TTestVCLSynSpellCheckComponent.TestIndicatorAtPosWrongLine; +begin + FEditor.Lines.Clear; + FEditor.Lines.Add('hello wrold'); + FEditor.Lines.Add('hello world'); + FSpellCheck.CheckFile; + // Error is on line 1 at char 7; line 2 at same char should return false + Assert.IsFalse(HasErrorAt(2, 7), + 'Should not find indicator on wrong line'); +end; + +{ Provider } + +procedure TTestVCLSynSpellCheckComponent.TestProviderProperty; +var + NewProvider: ISynSpellCheckProvider; +begin + NewProvider := TMockSpellProvider.Create; + FSpellCheck.Provider := NewProvider; + Assert.IsTrue(FSpellCheck.Provider = NewProvider, + 'Provider should return the assigned instance'); + FSpellCheck.Provider := nil; + Assert.IsNull(FSpellCheck.Provider, + 'Provider should be nil after clearing'); + // Restore for TearDown + FSpellCheck.Provider := FProvider; +end; + +{ Events } + +procedure TTestVCLSynSpellCheckComponent.TestOnChangeEvent; +begin + FEventFired := False; + FSpellCheck.OnChange := OnChangeFired; + FSpellCheck.PenColor := clBlue; + Assert.IsTrue(FEventFired, 'OnChange should fire after changing PenColor'); +end; + +{ Multi-editor } + +procedure TTestVCLSynSpellCheckComponent.TestMultiEditor; +var + Editor2: TSynEdit; +begin + Editor2 := TSynEdit.Create(nil); + try + FSpellCheck.AddEditor(Editor2); + // Both editors should be tracked; removing one should not affect the other + Assert.IsTrue(FSpellCheck.RemoveEditor(Editor2), + 'RemoveEditor should return True for tracked editor'); + Assert.IsFalse(FSpellCheck.RemoveEditor(Editor2), + 'RemoveEditor should return False for already-removed editor'); + // Original editor should still work + FEditor.Text := 'hello wrold'; + FSpellCheck.CheckFile; + Assert.IsTrue(GetErrorCount > 0, 'Original editor should still find errors'); + finally + Editor2.Free; + end; +end; + +initialization + TDUnitX.RegisterTestFixture(TTestVCLSynSpellCheckComponent); + +end. diff --git a/Tests/VCL/TestVCLSynWindowsSpellCheck.pas b/Tests/VCL/TestVCLSynWindowsSpellCheck.pas new file mode 100644 index 00000000..7339967a --- /dev/null +++ b/Tests/VCL/TestVCLSynWindowsSpellCheck.pas @@ -0,0 +1,178 @@ +unit TestVCLSynWindowsSpellCheck; + +{$IFDEF MSWINDOWS} + +interface + +uses + DUnitX.TestFramework, + SynSpellCheckTypes, + SynSpellCheckWindowsProvider; + +type + [TestFixture] + TTestVCLSynWindowsSpellProvider = class + private + FProvider: ISynSpellCheckProvider; + public + [Setup] + procedure Setup; + [TearDown] + procedure TearDown; + [Test] + procedure TestIsAvailable; + [Test] + procedure TestGetLanguage; + [Test] + procedure TestCreateDefaultLanguage; + [Test] + procedure TestSetLanguageChangesChecker; + [Test] + procedure TestUnsupportedLanguage; + [Test] + procedure TestCheckWordValid; + [Test] + procedure TestCheckWordInvalid; + [Test] + procedure TestSuggestReturnsResults; + [Test] + procedure TestSuggestContainsCorrection; + [Test] + procedure TestSupportedLanguagesNotEmpty; + [Test] + procedure TestSupportedLanguagesContainsEnUS; + end; + +implementation + +uses + System.SysUtils; + +procedure TTestVCLSynWindowsSpellProvider.Setup; +begin + FProvider := TSynWindowsSpellProvider.Create('en-US'); +end; + +procedure TTestVCLSynWindowsSpellProvider.TearDown; +begin + FProvider := nil; +end; + +procedure TTestVCLSynWindowsSpellProvider.TestIsAvailable; +begin + Assert.IsTrue(FProvider.IsAvailable, + 'en-US provider should be available on Windows 8+'); +end; + +procedure TTestVCLSynWindowsSpellProvider.TestGetLanguage; +begin + Assert.AreEqual('en-US', FProvider.GetLanguage); +end; + +procedure TTestVCLSynWindowsSpellProvider.TestCreateDefaultLanguage; +var + P: ISynSpellCheckProvider; +begin + P := TSynWindowsSpellProvider.Create; + Assert.AreEqual('en-US', P.GetLanguage, + 'Parameterless Create should default to en-US'); + Assert.IsTrue(P.IsAvailable, + 'Default provider should be available'); +end; + +procedure TTestVCLSynWindowsSpellProvider.TestSetLanguageChangesChecker; +begin + // Confirm initial state + Assert.IsTrue(FProvider.IsAvailable, 'Should start available'); + // Change to a bogus language + FProvider.SetLanguage('xx-XX'); + Assert.IsFalse(FProvider.IsAvailable, + 'Bogus language should not be available'); + // Change back to en-US + FProvider.SetLanguage('en-US'); + Assert.IsTrue(FProvider.IsAvailable, + 'Restoring en-US should be available again'); +end; + +procedure TTestVCLSynWindowsSpellProvider.TestUnsupportedLanguage; +var + P: ISynSpellCheckProvider; +begin + P := TSynWindowsSpellProvider.Create('xx-BOGUS'); + Assert.IsFalse(P.IsAvailable, + 'Bogus language tag should not be available'); +end; + +procedure TTestVCLSynWindowsSpellProvider.TestCheckWordValid; +begin + Assert.IsTrue(FProvider.CheckWord('hello'), '"hello" should be valid'); + Assert.IsTrue(FProvider.CheckWord('world'), '"world" should be valid'); + Assert.IsTrue(FProvider.CheckWord('the'), '"the" should be valid'); +end; + +procedure TTestVCLSynWindowsSpellProvider.TestCheckWordInvalid; +begin + Assert.IsFalse(FProvider.CheckWord('helo'), '"helo" should be invalid'); + Assert.IsFalse(FProvider.CheckWord('wrold'), '"wrold" should be invalid'); +end; + +procedure TTestVCLSynWindowsSpellProvider.TestSuggestReturnsResults; +var + Suggestions: TArray; +begin + Suggestions := FProvider.Suggest('helo'); + Assert.IsTrue(Length(Suggestions) >= 1, + '"helo" should produce at least 1 suggestion, got ' + + IntToStr(Length(Suggestions))); +end; + +procedure TTestVCLSynWindowsSpellProvider.TestSuggestContainsCorrection; +var + Suggestions: TArray; + S: string; + Found: Boolean; +begin + Suggestions := FProvider.Suggest('helo'); + Found := False; + for S in Suggestions do + if SameText(S, 'hello') then + begin + Found := True; + Break; + end; + Assert.IsTrue(Found, '"helo" suggestions should include "hello"'); +end; + +procedure TTestVCLSynWindowsSpellProvider.TestSupportedLanguagesNotEmpty; +var + Langs: TArray; +begin + Langs := TSynWindowsSpellProvider.SupportedLanguages; + Assert.IsTrue(Length(Langs) >= 1, + 'SupportedLanguages should return at least 1 language, got ' + + IntToStr(Length(Langs))); +end; + +procedure TTestVCLSynWindowsSpellProvider.TestSupportedLanguagesContainsEnUS; +var + Langs: TArray; + S: string; + Found: Boolean; +begin + Langs := TSynWindowsSpellProvider.SupportedLanguages; + Found := False; + for S in Langs do + if SameText(S, 'en-US') then + begin + Found := True; + Break; + end; + Assert.IsTrue(Found, 'en-US should be in SupportedLanguages'); +end; + +initialization + TDUnitX.RegisterTestFixture(TTestVCLSynWindowsSpellProvider); + +{$ENDIF MSWINDOWS} + +end. diff --git a/Tests/VCL/VCLSynEditTests.dpr b/Tests/VCL/VCLSynEditTests.dpr new file mode 100644 index 00000000..ac4ca5b5 --- /dev/null +++ b/Tests/VCL/VCLSynEditTests.dpr @@ -0,0 +1,46 @@ +program VCLSynEditTests; + +{$APPTYPE CONSOLE} +{$STRONGLINKTYPES ON} + +uses + System.SysUtils, + Vcl.Forms, + DUnitX.Loggers.Console, + DUnitX.Loggers.Xml.NUnit, + DUnitX.TestFramework, + TestVCLSynSpellCheck in 'TestVCLSynSpellCheck.pas', + TestVCLSynWindowsSpellCheck in 'TestVCLSynWindowsSpellCheck.pas', + TestVCLSynSpellCheckComponent in 'TestVCLSynSpellCheckComponent.pas', + TestVCLSynEditDragDrop in 'TestVCLSynEditDragDrop.pas', + TestVCLSynMacroRecorder in 'TestVCLSynMacroRecorder.pas'; + +var + Runner: ITestRunner; + Results: IRunResults; + Logger: ITestLogger; + NUnitLogger: ITestLogger; +begin + try + TDUnitX.CheckCommandLine; + Runner := TDUnitX.CreateRunner; + Logger := TDUnitXConsoleLogger.Create(True); + Runner.AddLogger(Logger); + NUnitLogger := TDUnitXXMLNUnitFileLogger.Create(TDUnitX.Options.XMLOutputFile); + Runner.AddLogger(NUnitLogger); + Runner.FailsOnNoAsserts := True; + Results := Runner.Execute; + if not Results.AllPassed then + System.ExitCode := 1; + {$IFNDEF CI} + if TDUnitX.Options.ExitBehavior = TDUnitXExitBehavior.Pause then + begin + System.Write('Done.. press key to quit.'); + System.Readln; + end; + {$ENDIF} + except + on E: Exception do + System.Writeln(E.ClassName, ': ', E.Message); + end; +end. diff --git a/Tests/VCL/VCLSynEditTests.dproj b/Tests/VCL/VCLSynEditTests.dproj new file mode 100644 index 00000000..8967556b --- /dev/null +++ b/Tests/VCL/VCLSynEditTests.dproj @@ -0,0 +1,106 @@ + + + True + Console + Debug + DCC32 + VCL + VCLSynEditTests.dpr + Win32 + {A1B2C3D4-E5F6-7890-ABCD-EF1234567890} + VCLSynEditTests + 20.3 + 3 + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + VCLSynEditTests + ..\dcu\$(Platform)\$(Config)\ + ..\bin\$(Platform)\$(Config)\ + SYN_SHARED;$(DCC_Define) + Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + ..\..\Source;..\..\Source\VCL;..\..\Source\Highlighters;$(DCC_UnitSearchPath) + + + Debug + System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Winapi;$(DCC_Namespace) + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + Debug + System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Winapi;$(DCC_Namespace) + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + 0 + RELEASE;$(DCC_Define) + false + 0 + + + DEBUG;$(DCC_Define) + + + + MainSource + + + + + + + + Base + + + Cfg_1 + Base + + + Cfg_2 + Base + + + + + Delphi.Personality.12 + Application + + + + VCLSynEditTests.dpr + + + + True + True + + + + diff --git a/What's New.md b/What's New.md index 8b5aadce..181d4d1b 100644 --- a/What's New.md +++ b/What's New.md @@ -1,8 +1,190 @@ -# **TSynDelphiSyn & IDE Settings Importer** +# What's New in SynEdit + +--- + +## **FMX Cross-Platform Editor** + +SynEdit now supports **FireMonkey (FMX)** alongside VCL through a three-layer architecture that shares highlighters and core logic between both frameworks. + +### Three-Layer Architecture + +The codebase has been restructured into three layers: + +- **Shared** (`Source/`) — Platform-independent units: 66 highlighters, text buffer, types, key commands, spell-check infrastructure (Hunspell and Windows providers). These are consumed by both VCL and FMX. +- **VCL** (`Source/VCL/`, `Vcl.*` prefix) — Windows-specific: DirectWrite rendering, OLE drag-drop, printing, accessibility. +- **FMX** (`Source/FMX/`, `FMX.*` prefix) — Cross-platform: FMX Canvas rendering, FMX scrollbars, FMX clipboard, drag-drop. + +See [Architecture.md](Doc/Architecture.md) for the full technical reference. + +### FMX Editor (`TCustomFMXSynEdit`) + +**Unit:** `Source\FMX\FMX.SynEdit.pas` + +**Inheritance:** `TControl` + +A cross-platform syntax-highlighting editor built on FireMonkey. Supports: + +* **Syntax highlighting** — All 66 shared highlighters work out of the box. +* **Keyboard input** — Full text editing with insert/overwrite modes. +* **Selection** — Mouse and keyboard selection with correct split-token rendering at selection boundaries. +* **Multi-caret editing** — Multiple carets (Alt+Click), column selection (Alt+Shift+Arrows/Drag), select all matching text (Ctrl+Shift+W), carets at line ends (Alt+End). Shared `TSynSelectionsBase` architecture between VCL and FMX. +* **Clipboard** — Cut, Copy, Paste via `IFMXClipboardService`. +* **Undo/Redo** — Full undo/redo stack. +* **File I/O** — `LoadFromFile`, `SaveToFile`, `LoadFromStream`, `SaveToStream`. +* **Code folding** — Collapse and expand foldable regions. +* **Search/Replace** — `SearchReplace` method with options for case, whole word, regex, selection-only, and replace all. +* **Completion proposals** — `TFMXSynCompletionProposal` popup with keyboard navigation, filtering, and customizable display. +* **Plugin support** — `TSynFMXEditPlugin` base class for extending the editor via `OnCommand` hooks. +* **Printing** — `TFMXSynEditPrint` with abstract provider interface for platform-specific rendering. +* **Spell check** — `TFMXSynSpellCheck` with shared provider infrastructure (`ISynSpellCheckProvider`). Includes Hunspell and Windows spell-check providers usable by both VCL and FMX. +* **Range scanning** — Incremental re-scanning for multi-line highlighters (XML, HTML, Delphi, etc.). +* **Drag-and-drop** (Windows) — Internal move/copy and external drop via `ISynDragDropPlatform` abstraction. Windows OLE implementation with CF_UNICODETEXT and CF_HTML formats. Fixes FMX framework bug where `TWinDropTarget.Drop` fails to report `dwEffect`. Auto-scroll near edges, visual caret feedback during drag, and full undo support. macOS/Linux not yet implemented — `CreateSynDragDropPlatform` returns nil on non-Windows platforms. +* **Scrolling** — FMX `TScrollBar`-based scrolling with mouse wheel support. +* **Gutter** — Line numbers with configurable width. +* **Right edge** — Configurable right margin indicator. +* **Active line highlighting** — Configurable active line background color. +* **Macro recording** — `TFMXSynMacroRecorder` component for recording and playing back editor commands. Shared event types via `SynMacroRecorderShared.pas`. +* **Editor options** — Auto indent, smart tabs, tabs-to-spaces, and more via `TSynEditorOptions`. + +### What's Missing (compared to VCL) + +The FMX editor covers core editing functionality but does not yet have full VCL feature parity. The following VCL capabilities have no FMX equivalent: + +#### Components & Units + +| VCL Unit | Feature | +| :------- | :------ | +| `Vcl.SynAccessibility` | Windows UI Automation / screen reader support | +| `Vcl.SynAutoCorrect` | Auto-correction engine with customizable rules | +| `Vcl.SynDBEdit` | Database-aware editor (TDataSet binding) | +| `Vcl.SynURIOpener` | Hyperlink detection and opening | +| `Vcl.SynEditPythonBehaviour` | Python-specific auto-indentation | +| `Vcl.SynExportHTML` | HTML export with CSS styling | +| `Vcl.SynExportRTF` | Rich Text Format export | +| `Vcl.SynExportTeX` | LaTeX export | +| `Vcl.SynEditPrintPreview` | Print preview window | +| `Vcl.SynEditPrintMarginsDialog` | Print margin configuration dialog | +| `Vcl.SynEditOptionsDialog` | Editor options configuration dialog | +| `Vcl.SynEditKeyCmdEditor` | Key command editor dialogs | +| `Vcl.SynDWrite` | DirectWrite / Direct2D hardware-accelerated rendering | + +#### Properties & Features + +| Feature | Description | +| :------ | :---------- | +| `TextHint` | Placeholder text when editor is empty | +| `InsertCaret` / `OverwriteCaret` | Configurable caret styles | +| `VisibleSpecialChars` | Show spaces, tabs, and EOL markers | +| `MaxUndo` | Configurable undo history limit | +| `HideSelection` | Hide selection when editor loses focus | +| `Indicators` | Line indicators (breakpoints, errors) | +| `BracketsHighlight` | Bracket pair matching and highlighting | +| `WordAtCursor` / `WordAtMouse` | Word-under-cursor/mouse queries | +| Scrollbar annotations | Visual markers in scrollbar track | +| Indent guides | Vertical lines showing indentation structure | + +#### Events + +| Event | Description | +| :---- | :---------- | +| `OnGutterClick` | Click handler for gutter area (bookmarks, folding) | +| `OnGutterGetText` | Custom gutter line text | +| `OnPaint` / `OnPaintTransient` | Custom painting hooks | +| `OnDropFiles` | File drag-drop from Explorer | +| `OnScroll` | Scroll position change notification | +| `OnZoom` | Font size zoom (Ctrl+Scroll) | +| `OnMouseCursor` | Custom cursor per buffer position | +| `OnContextHelp` | Context-sensitive help lookup | + +#### Rendering + +The VCL editor uses **DirectWrite / Direct2D** for hardware-accelerated text rendering with ClearType, ligatures, and advanced typography. The FMX editor uses FMX Canvas rendering, which is adequate for most use cases but does not match DirectWrite quality or performance on Windows. + +#### Drag-and-Drop Platform Support + +FMX drag-and-drop is currently **Windows-only** (OLE-based via `ISynDragDropPlatform`). macOS and Linux are not yet implemented — `CreateSynDragDropPlatform` returns nil on non-Windows platforms. + +### New Packages + +Five new packages support the three-layer architecture: + +| Package | Description | +| :---- | :---- | +| SynEditSharedDR / SynEditSharedCR | Shared runtime — types, text buffer, 66 highlighters | +| SynEditFMXDR / SynEditFMXCR | FMX runtime — FMX editor and supporting units | +| SynEditFMXDD / SynEditFMXCD | FMX designtime — component registration | + +Build order: Shared → VCL/FMX Runtime → VCL/FMX Designtime. + +### FMX Demos + +Three FMX demos are included in `Demos/FMX/`: + +* **HighlighterDemo** — Browse 13 language highlighters (Delphi, C++, Java, Python, JavaScript, HTML, XML, CSS, SQL, JSON, C#, INI, Batch) with a consistent color scheme. +* **EditApp** — Single-document editor with menus (File/Edit), status bar, file I/O, clipboard, undo/redo, and automatic highlighter detection from file extension. +* **FeaturesDemo** — Comprehensive feature showcase with a controls panel, editor options toggles, search/replace dialogs, completion proposals, code folding, clipboard buttons, active line color picker, and a timestamped event log. + +### Test Suites + +Two DUnitX test suites run headless with `FailsOnNoAsserts` enabled and exact-value assertions throughout. + +**FMX tests** (`Tests/FMX/FMXSynEditTests.dproj`) — **428 tests**, 34 fixtures: + +| Fixture | Tests | Coverage area | +| :------ | ----: | :------------ | +| Buffer | 10 | Line add/delete/insert, text property | +| Caret | 10 | Positioning, SelectAll, GetTextRange | +| CodeFolding | 6 | Fold detection, collapse/uncollapse, levels | +| Commands | 14 | Char insert/delete, line break, tab, navigation | +| Content | 8 | Text get/set, multi-line, stream round-trip | +| Highlighter | 5 | Assignment, free notification, switching | +| Options | 10 | Default options, read-only, tab width, right edge | +| Search | 9 | Case, whole-word, regex, replace, replace-all | +| UndoRedo | 9 | Availability, restore, multiple undo/redo, redo caret | +| SpellCheck | 20 | Hunspell provider, suffix/prefix rules, suggest | +| WindowsSpellCheck | 11 | Windows spell-check COM provider | +| SpellCheckComponent | 17 | TSynSpellCheck component integration, selection dedup | +| BugFixes | 23 | Plugin dispatch, Modified, nil width, tabs, keyboard chain | +| CrossPlatformFixes | 9 | Selection colors, BlockBegin/BlockEnd setters, coordinate clamping | +| WordWrap | 20 | Enable/disable, row mapping, coordinate conversion, caret navigation, gutter | +| AutoIndentTabs | 4 | Tab preservation, mixed whitespace, disable option | +| PixelToBufferCoord | 4 | Click mapping at/near char boundaries, gutter clamp | +| ScrollBarSizing | 3 | LinesInWindow/CharsInWindow delta, scrollbar hidden | +| Selection | 18 | ecSel* commands, accumulation, collapse, replace, line-boundary | +| Clipboard | 10 | Copy/cut/paste, read-only guards, undo support | +| Editing | 12 | Line joining, overwrite mode, OnChange, BeginUpdate | +| Renderer | 11 | TColorToAlphaColor byte-swap, SysNone, metrics | +| CompletionProposal | 12 | AddItem/ClearList, filtering, position, MoveLine | +| DelphiFolding | 26 | Procedure/class/record/interface folding, class var exclusion | +| HTMLFolding | 11 | Tag pairs, void elements, comments, multi-line tags | +| XMLFolding | 14 | Elements, namespaces, PI/CDATA/DOCTYPE, multi-line tags | +| CSSFolding | 13 | Brace folding, nested @media, comments, strings | +| Bookmarks | 15 | Set/clear/goto, toggle, mark list, line clamp | +| Gutter | 15 | Band order/visibility, auto-width, BandAtX, fold sync | +| MultiCaret | 17 | Add/toggle carets, column selection, multi-caret edit/delete/backspace, merge, undo/redo | +| DragDropHelper | 10 | ComputeDropInfo, AdjustDropPos, IsDropCopy | +| DragDropIntegration | 17 | External/internal drop, move/copy, past EOL, multi-line, undo | +| SharedMacroEvents | 14 | Factory, stream round-trips, AsString, PlaybackTo callback | +| FMXHookedCommandHandlers | 5 | Register/call/suppress/unregister/multiple handlers | +| FMXMacroRecorder | 16 | State, record/playback typing/navigation, undo, serialization | + +**VCL tests** (`Tests/VCL/VCLSynEditTests.dproj`) — **95 tests**, 5 fixtures: + +| Fixture | Tests | Coverage area | +| :------ | ----: | :------------ | +| SynSpellCheck | 20 | Hunspell provider, suffix/prefix rules, suggest | +| WindowsSpellCheck | 11 | Windows spell-check COM provider | +| SpellCheckComponent | 16 | TSynSpellCheck component integration | +| DragDropIntegration | 17 | External/internal drop, move/copy, past EOL, multi-line, undo | +| MacroRecorder | 30 | State machine, recording, playback, events, serialization, properties | + +--- + +## **TSynDelphiSyn & IDE Settings Importer** A new updated Delphi syntax highlighter for SynEdit (TSynDelphiSyn) and a design-time tool (SynDelphiIDEImporter) to synchronize your SynEdit components with your current Delphi IDE configuration. -## **1\. TSynDelphiSyn Component** +## **TSynDelphiSyn Component** **Unit:** `Source\Highlighters\SynHighlighterDelphi.pas` @@ -14,11 +196,12 @@ A new updated Delphi syntax highlighter for SynEdit (TSynDelphiSyn) and a design * **Delphi 13 Language Support**: Includes support for modern keywords such as reference, helper, operator, strict, sealed, final, delayed, and more. * **Multiline String Literals**: Native support for Delphi's triple-quoted strings (''' ... '''). -* **Code Folding**: Built-in folding logic for: - * {$REGION} / {$ENDREGION} directives. - * implementation sections. - * Classes, Records, and Methods (procedure, function, etc.). - * Standard blocks (begin..end, case, try). +* **Code Folding**: Built-in folding logic for: + * {$REGION} / {$ENDREGION} directives. + * interface / implementation sections (each folds independently). + * Classes, Records, and Methods (procedure, function, constructor, destructor fold from the header line). + * Standard blocks (begin..end, case, try). + * `class var`, `class function`, `class procedure`, `class constructor`, `class destructor`, and `class operator` are correctly excluded from opening spurious folds. * **Performance**: Uses a binary search algorithm for fast keyword lookups and class-cached Regular Expressions for folding logic. ### **Attributes** diff --git a/build_all_win32.bat b/build_all_win32.bat new file mode 100644 index 00000000..03dc74d8 --- /dev/null +++ b/build_all_win32.bat @@ -0,0 +1,42 @@ +@echo off +setlocal enabledelayedexpansion +where msbuild >nul 2>&1 || (echo Error: msbuild not found. Run rsvars.bat first. & exit /b 1) +set PLATFORM= + +echo. +echo ============================================ +echo Building ALL packages [Win32] +echo ============================================ + +cd /d "%~dp0Packages\11AndAbove\Delphi" + +for %%P in (SynEditSharedDR SynEditDR SynEditDD SynEditFMXDR SynEditFMXDD) do ( + echo. + echo === Delphi: %%P === + msbuild %%P.dproj /t:Clean /p:Config=Release /p:Platform=Win32 /v:quiet /nologo + msbuild %%P.dproj /t:Build /p:Config=Release /p:Platform=Win32 /v:minimal /nologo + if !ERRORLEVEL! NEQ 0 ( + echo FAILED: %%P + exit /b 1 + ) + echo OK: %%P +) + +cd /d "%~dp0Packages\11AndAbove\CBuilder" + +for %%P in (SynEditSharedCR SynEditCR SynEditCD SynEditFMXCR SynEditFMXCD) do ( + echo. + echo === C++: %%P === + msbuild %%P.cbproj /t:Clean /p:Config=Release /p:Platform=Win32 /v:quiet /nologo + msbuild %%P.cbproj /t:Build /p:Config=Release /p:Platform=Win32 /v:minimal /nologo + if !ERRORLEVEL! NEQ 0 ( + echo FAILED: %%P + exit /b 1 + ) + echo OK: %%P +) + +echo. +echo ============================================ +echo ALL WIN32 BUILDS SUCCEEDED +echo ============================================ diff --git a/build_delphi.bat b/build_delphi.bat new file mode 100644 index 00000000..9d3f239e --- /dev/null +++ b/build_delphi.bat @@ -0,0 +1,27 @@ +@echo off +where msbuild >nul 2>&1 || (echo Error: msbuild not found. Run rsvars.bat first. & exit /b 1) +set PLATFORM= + +if "%1"=="" ( + set PKG=SynEditSharedDR +) else ( + set PKG=%1 +) + +if "%2"=="" ( + set PLAT=Win32 +) else ( + set PLAT=%2 +) + +echo. +echo ============================================ +echo Building Delphi: %PKG% [%PLAT%] +echo ============================================ + +cd /d "%~dp0Packages\11AndAbove\Delphi" +msbuild %PKG%.dproj /t:Clean /p:Config=Release /p:Platform=%PLAT% /v:quiet /nologo +msbuild %PKG%.dproj /t:Build /p:Config=Release /p:Platform=%PLAT% /v:minimal /nologo + +echo. +echo EXIT CODE: %ERRORLEVEL% diff --git a/build_fmx_demo.bat b/build_fmx_demo.bat new file mode 100644 index 00000000..dfc16547 --- /dev/null +++ b/build_fmx_demo.bat @@ -0,0 +1,41 @@ +@echo off +where msbuild >nul 2>&1 || (echo Error: msbuild not found. Run rsvars.bat first. & exit /b 1) + +echo. +echo ============================================ +echo Building FMX HighlighterDemo [Win32] +echo ============================================ + +cd /d "%~dp0Demos\FMX\HighlighterDemo" +msbuild FMXHighlighterDemo.dproj /t:Build /p:Config=Debug /p:Platform=Win32 /v:minimal /nologo +if %ERRORLEVEL% NEQ 0 goto :error + +echo. +echo ============================================ +echo Building FMX EditApp [Win32] +echo ============================================ + +cd /d "%~dp0Demos\FMX\EditApp" +msbuild FMXEditApp.dproj /t:Build /p:Config=Debug /p:Platform=Win32 /v:minimal /nologo +if %ERRORLEVEL% NEQ 0 goto :error + +echo. +echo ============================================ +echo Building FMX FeaturesDemo [Win32] +echo ============================================ + +cd /d "%~dp0Demos\FMX\FeaturesDemo" +msbuild FMXFeaturesDemo.dproj /t:Build /p:Config=Debug /p:Platform=Win32 /v:minimal /nologo +if %ERRORLEVEL% NEQ 0 goto :error + +echo. +echo ============================================ +echo All FMX demos built successfully! +echo ============================================ +goto :end + +:error +echo. +echo BUILD FAILED (exit code %ERRORLEVEL%) + +:end diff --git a/build_fmx_tests.bat b/build_fmx_tests.bat new file mode 100644 index 00000000..6e603b3e --- /dev/null +++ b/build_fmx_tests.bat @@ -0,0 +1,24 @@ +@echo off +where msbuild >nul 2>&1 || (echo Error: msbuild not found. Run rsvars.bat first. & exit /b 1) + +echo ======================================== +echo Building FMX SynEdit Tests +echo ======================================== + +echo. +echo Compiling Tests\FMX\FMXSynEditTests.dproj... +cd /d "%~dp0" +msbuild Tests\FMX\FMXSynEditTests.dproj /t:Build /p:Config=Debug /p:Platform=Win32 /v:minimal /nologo +if %ERRORLEVEL% NEQ 0 ( + echo. + echo BUILD FAILED + exit /b 1 +) + +echo. +echo ======================================== +echo Running Tests +echo ======================================== +echo. +Tests\bin\Win32\Debug\FMXSynEditTests.exe --exit:continue +exit /b %ERRORLEVEL% diff --git a/build_vcl_demos.bat b/build_vcl_demos.bat new file mode 100644 index 00000000..b01f78f5 --- /dev/null +++ b/build_vcl_demos.bat @@ -0,0 +1,42 @@ +@echo off +where msbuild >nul 2>&1 || (echo Error: msbuild not found. Run rsvars.bat first. & exit /b 1) +set PLATFORM= +set FAIL=0 +set EXTRA_PATHS=..\..\..\Source;..\..\..\Source\VCL;..\..\..\Source\Highlighters + +for %%D in ( + "Demos\VCL\CompletionProposalDemo\CompletionProposalDemo.dproj" + "Demos\VCL\CompletionProposalDemo\ParamCompletionDemo.dproj" + "Demos\VCL\EditAppDemos\EditAppMDI.dproj" + "Demos\VCL\EditAppDemos\EditAppSDI.dproj" + "Demos\VCL\EditAppDemos\EditAppWorkbook.dproj" + "Demos\VCL\Folding\FoldingDemo.dproj" + "Demos\VCL\HighlighterDemo\HighlighterDemo.dproj" + "Demos\VCL\MarkdownViewer\MarkdownViewerDemo.dproj" + "Demos\VCL\PrintDemo\TestPP.dproj" + "Demos\VCL\SearchReplaceDemo\SearchReplaceDemo.dproj" + "Demos\VCL\SimpleIDEDemo\SimpleIDEDemo.dproj" + "Demos\VCL\SpellCheck\SpellCheck.dproj" +) do ( + echo. + echo ============================================ + echo Building: %%~nD + echo ============================================ + cd /d "%~dp0" + msbuild %%D /t:Build /p:Config=Release /p:Platform=Win32 /p:DCC_UnitSearchPath="%EXTRA_PATHS%" /p:DCC_IncludePath="%EXTRA_PATHS%" /v:minimal /nologo + if errorlevel 1 ( + echo FAILED: %%~nD + set FAIL=1 + ) else ( + echo OK: %%~nD + ) +) + +echo. +echo ============================================ +if "%FAIL%"=="1" ( + echo SOME BUILDS FAILED +) else ( + echo ALL BUILDS SUCCEEDED +) +echo ============================================ diff --git a/build_vcl_tests.bat b/build_vcl_tests.bat new file mode 100644 index 00000000..7abe3af6 --- /dev/null +++ b/build_vcl_tests.bat @@ -0,0 +1,24 @@ +@echo off +where msbuild >nul 2>&1 || (echo Error: msbuild not found. Run rsvars.bat first. & exit /b 1) + +echo ======================================== +echo Building VCL SynEdit Tests +echo ======================================== + +echo. +echo Compiling Tests\VCL\VCLSynEditTests.dproj... +cd /d "%~dp0" +msbuild Tests\VCL\VCLSynEditTests.dproj /t:Build /p:Config=Debug /p:Platform=Win32 /v:minimal /nologo +if %ERRORLEVEL% NEQ 0 ( + echo. + echo BUILD FAILED + exit /b 1 +) + +echo. +echo ======================================== +echo Running Tests +echo ======================================== +echo. +Tests\bin\Win32\Debug\VCLSynEditTests.exe --exit:continue +exit /b %ERRORLEVEL% diff --git a/readme.md b/readme.md index 3d744e62..85a886be 100644 --- a/readme.md +++ b/readme.md @@ -1,45 +1,95 @@ # TurboPack SynEdit -The master branch remains compatible with Delphi 12 Athens or later. You can also access the [11 Alexandira](https://github.com/TurboPack/SynEdit/tree/11Alexandria), [10.3 Rio](https://github.com/TurboPack/SynEdit/releases/tag/103RIO), [10.2 Tokyo](https://github.com/TurboPack/SynEdit/releases/tag/102Tokyo) and [10.1 Berlin](https://github.com/TurboPack/SynEdit/releases/tag/101Berlin) releases. Keep in mind they don't have the latest updates. +A syntax-highlighting editor component for Delphi and C++ Builder, supporting both **VCL** (Windows) and **FMX** (cross-platform) frameworks. + +Compatible with Delphi 12 Athens or later. You can also access the [11 Alexandria](https://github.com/TurboPack/SynEdit/tree/11Alexandria), [10.3 Rio](https://github.com/TurboPack/SynEdit/releases/tag/103RIO), [10.2 Tokyo](https://github.com/TurboPack/SynEdit/releases/tag/102Tokyo) and [10.1 Berlin](https://github.com/TurboPack/SynEdit/releases/tag/101Berlin) releases. ### Table of contents -1. [Introduction](#Introduction) -2. [Package names](#Package-names) -3. [Installation](#Installation) +1. [Introduction](#introduction) +2. [What's New](#whats-new) +3. [Architecture](#architecture) +4. [Package Names](#package-names) +5. [Installation](#installation) +6. [Demos](#demos) +7. [Testing](#testing) +8. [Building from Source](#building-from-source) --- -## Fork Reason +## Introduction -This fork is only made for one reason, to add a highlighter for the Delphi WebStencils syntax. -The TurpoPack/SynEdit repository has a pull request to add this component to the package. +SynEdit is a syntax highlighting edit control, not based on the Windows common controls. It includes: -I've made this free of charge, as a pay-back effort to the community. +- **66 language highlighters** (Delphi, C++, Python, JavaScript, HTML, XML, SQL, and many more) +- **189 Omni highlighter configurations** for additional languages via INI-based definitions +- **VCL editor** (`TCustomSynEdit`) — full-featured Windows editor with DirectWrite rendering, code folding, completion proposals, printing, spell check, OLE drag-drop, and accessibility +- **FMX editor** (`TCustomFMXSynEdit`) — cross-platform editor with FMX Canvas rendering, syntax highlighting, keyboard input, selection, multi-caret editing, word wrap, clipboard, undo/redo, file I/O, code folding, search/replace, completion proposals, OLE drag-drop, macro recording, plugin support, printing (abstract provider), and spell check (abstract provider) -## Introduction +All highlighters are shared between VCL and FMX — write once, highlight everywhere. + +--- + +## What's New + +See [What's New.md](What's%20New.md) for detailed information on recent additions including: + +- **TSynDelphiSyn** — Modern Delphi highlighter with multiline string literals, code folding, and Delphi 13 keyword support +- **IDE Settings Importer** — Design-time tool to import your Delphi IDE color scheme and editor preferences into SynEdit components +- **Multi-Caret Editing** — Multiple carets (Alt+Click), column selection (Alt+Shift+Arrows), select matching text (Ctrl+Shift+W), with shared architecture between VCL and FMX +- **FMX Editor** — Cross-platform FireMonkey editor with syntax highlighting, multi-caret editing, word wrap, clipboard, undo/redo, file I/O, code folding, search/replace, completion proposals, OLE drag-drop, macro recording, printing, spell check, and plugin support + +--- + +## Architecture -![SynEdit](https://raw.githubusercontent.com/TurboPack/SynEdit/master/Doc/SynEdit-1.3.png "TurboPower SynEdit") +SynEdit uses a **three-layer architecture**: +``` +┌────────────────────┐ ┌────────────────────┐ +│ Source/VCL/ │ │ Source/FMX/ │ +│ 40 Vcl.* units │ │ 20 FMX.* units │ +└─────────┬──────────┘ └─────────┬──────────┘ + └──────┬───────────────-┘ + │ uses + ┌──────────▼──────────┐ + │ Source/ (shared) │ + │ 66 highlighters │ + │ 189 Omni configs │ + │ Core types & buffer │ + └─────────────────────┘ +``` -SynEdit is a syntax highlighting edit control, not based on the Windows -common controls. SynEdit is compatible with both Delphi and C++ Builder. +- **Shared** (no prefix): Platform-independent units — highlighters, text buffer, types, key commands, spell-check providers +- **VCL** (`Vcl.*` prefix): Windows-specific — DirectWrite, OLE, printing, accessibility +- **FMX** (`FMX.*` prefix): Cross-platform — FMX Canvas rendering, FMX scrollbars, FMX clipboard -This is a source-only release of TurboPack SynEdit. It includes -designtime and runtime packages for Delphi and C++Builder and supports Win32 and Win64. +See [Architecture.md](Doc/Architecture.md) for the full technical reference including directory structure, package dependencies, unit scope resolution, build order, and contributor guidelines. --- -## Package names +## Package Names -TurboPack SynEdit package names have the following form: +### Delphi -Delphi -* SynEditDR.bpl (Delphi Runtime) -* SynEditDD.bpl (Delphi Designtime) +| Package | Type | Description | +|---------|------|-------------| +| SynEditSharedDR | Runtime | Shared core — types, text buffer, 66 highlighters | +| SynEditDR | Runtime | VCL editor and supporting units | +| SynEditDD | Designtime | VCL component registration and property editors | +| SynEditFMXDR | Runtime | FMX editor and supporting units | +| SynEditFMXDD | Designtime | FMX component registration | -C++Builder -* SynEditCR.bpl (C++Builder Runtime) -* SynEditCD.bpl (C++Builder Designtime) +### C++ Builder + +| Package | Type | Description | +|---------|------|-------------| +| SynEditSharedCR | Runtime | Shared core | +| SynEditCR | Runtime | VCL editor | +| SynEditCD | Designtime | VCL component registration | +| SynEditFMXCR | Runtime | FMX editor | +| SynEditFMXCD | Designtime | FMX component registration | + +Build order: **Shared** → **VCL/FMX Runtime** → **VCL/FMX Designtime** --- @@ -47,15 +97,102 @@ C++Builder TurboPack SynEdit is available via the [GetIt Package Manager](http://docwiki.embarcadero.com/RADStudio/en/Installing_a_Package_Using_GetIt_Package_Manager) where you can quickly and easily install and uninstall it. -To manually install TurboPack SynEdit into your IDE, take the following -steps: +To manually install into your IDE: -1. Unzip the release files into a directory (e.g., d:\SynEdit). +1. Clone or unzip into a directory (e.g., `d:\SynEdit`). 2. Start RAD Studio. -3. Add the **Source** and the **Source\Highlighters** subdirectories to the IDE's library path. For CBuilder, add the hpp subdirectory -(e.g., d:\SynEdit\source\hpp\Win32\Release) to the IDE's system include path. +3. Add these directories to the IDE's library path: + - `Source` — shared units + - `Source\Highlighters` — language highlighters + - `Source\VCL` — VCL editor units + - `Source\FMX` — FMX editor units (if using FMX) + + For C++ Builder, also add the hpp subdirectory (e.g., `Source\hpp\Win32\Release`) to the IDE's system include path. + +4. Open and install the designtime packages from `Packages\11AndAbove\`: + - **VCL**: Build `SynEditSharedDR.dpk`, then `SynEditDR.dpk`, then install `SynEditDD.dpk` + - **FMX**: Build `SynEditFMXDR.dpk`, then install `SynEditFMXDD.dpk` + +--- + +## Demos + +### VCL Demos (`Demos/VCL/`) + +| Demo | Description | +|------|-------------| +| HighlighterDemo | Browse all language highlighters with sample source | +| EditAppDemos | SDI, MDI, and Workbook editors with file I/O and search/replace | +| CompletionProposalDemo | Code completion popup | +| Folding | Code folding with Delphi highlighter | +| SearchReplaceDemo | Find and replace functionality | +| SimpleIDEDemo | Mini IDE with editor and output pane | +| PrintDemo | Printing support | +| MarkdownViewer | Markdown rendering | +| SpellCheck | Windows spell-check integration | + +### FMX Demos (`Demos/FMX/`) + +| Demo | Description | +|------|-------------| +| HighlighterDemo | Browse 13 language highlighters with syntax coloring | +| EditApp | Single-document editor with menus, file I/O, clipboard, undo/redo, and auto highlighter detection | +| FeaturesDemo | Comprehensive feature showcase with options panel, search/replace, completion proposals, code folding, and event log | + +--- + +## Testing + +Two DUnitX test suites run headless with `FailsOnNoAsserts` enabled and exact-value assertions throughout. + +- **FMX** — **428 tests** across 34 fixtures covering buffer, caret, code folding, commands, content, highlighter, options, search, undo/redo, spell check, bug-fix regressions, cross-platform fixes, word wrap, selection, clipboard, editing edge cases, color conversion, completion proposal logic, highlighter folding (Delphi, HTML, XML, CSS), auto-indent, pixel coordinate mapping, scrollbar sizing, bookmarks, gutter bands, multi-caret editing, drag-drop, macro events, hooked command handlers, and macro recording. +- **VCL** — **95 tests** across 5 fixtures covering Hunspell provider, Windows spell-check COM provider, spell check component integration, drag-drop, and macro recording. + +``` +build_fmx_tests.bat +``` + +Test projects: `Tests/FMX/FMXSynEditTests.dproj`, `Tests/VCL/VCLSynEditTests.dproj` + +--- + +## Building from Source + +### Prerequisites + +- Delphi 12+ (RAD Studio 12+) +- Packages must be built in dependency order (see [Architecture.md](Doc/Architecture.md#building)) + +### Build Scripts + +| Script | Description | +|--------|-------------| +| `build_delphi.bat` | Build all Delphi packages (shared + VCL + FMX) | +| `build_all_win32.bat` | Build all packages for Win32 (Delphi + C++ Builder) | +| `build_vcl_demos.bat` | Build all VCL demo applications | +| `build_fmx_demo.bat` | Build FMX demo applications | +| `build_fmx_tests.bat` | Build FMX DUnitX test suite | + +### Quick Build (Delphi command line) + +``` +rsvars.bat +msbuild SynEditSharedDR.dproj /t:Build /p:Config=Release /p:Platform=Win32 +msbuild SynEditDR.dproj /t:Build /p:Config=Release /p:Platform=Win32 +msbuild SynEditFMXDR.dproj /t:Build /p:Config=Release /p:Platform=Win32 +``` + +### Platform Support + +| Platform | Delphi | C++ Builder | +|----------|--------|-------------| +| Win32 | All packages | All packages | +| Win64 | All packages | Known ilink64 generics limitation | + +--- + +## License -4. Open & install the design-time package specific to the IDE being used. The IDE should notify you the components have been -installed. +See [LICENSE](LICENSE) for details. SynEdit is dual-licensed under the MPL 1.1 and LGPL 2.1+.