pynagram-1.0.1/0000755000175000017500000000000011575226544012342 5ustar umangumangpynagram-1.0.1/icons/0000755000175000017500000000000011575226544013455 5ustar umangumangpynagram-1.0.1/icons/pixmaps/0000755000175000017500000000000011575226544015136 5ustar umangumangpynagram-1.0.1/icons/pixmaps/pynagram.xpm0000666000175000017500000000232411322237110017464 0ustar umangumang/* XPM */ static char * pynagram_xpm[] = { "32 32 2 1", " c None", ". c #000000", " ", " ", " ", " ", " ..................... ", " ...................... ", " ...................... ", " ... ... ... ", " ... .... ... ", " .... .... ", " .... .... ", " .... .... ", " ... ... ", " ... ... ", " .... .... ", " .... .... ", " ... ... ", " ... ... ", " .... .... ", " .... .... ", " .... .... ", " .... .... ", " ... ..... . ", " .... ....... ", " .... ..... ", " ", " ", " ", " ", " ", " ", " "}; pynagram-1.0.1/icons/hicolor/0000755000175000017500000000000011575226544015114 5ustar umangumangpynagram-1.0.1/icons/hicolor/48x48/0000755000175000017500000000000011575226544015713 5ustar umangumangpynagram-1.0.1/icons/hicolor/48x48/apps/0000755000175000017500000000000011575226544016656 5ustar umangumangpynagram-1.0.1/icons/hicolor/48x48/apps/pynagram.png0000666000175000017500000000156611322127454021204 0ustar umangumangPNG  IHDR00WsRGBbKGDC pHYslltIME %qR1IDATh홿kA?^<1Q Q0HФEDN"SZQV"YX)X$ wٵكa|v{ovzE!`XgxW}@$@faNO}ɏ 兏Kx%/+,pvM`xb(s L :]*#_J26'L5wE|C9ٮ@={f,ڹp+VѮdӮ'%!Wj*Һ& $Y")T^Zb !)༰F<Ď !g><֗ )`A 숀k!Bㆄl=-^=‡М%IcBlp_C! [`7 ZQB90!$p ,Z` l) N8a /S!g`a_j ދ߬e)B*-dr&u{_0|ŽhqnA>;l-%ݻH⊖Ȧócow`;3\.dqޡZ-"#mbYDɫZV~u' aՖ3ӏS-j֌qS9*)&p,H#j}҇sE9JRl,k)ı򫒏DIDhyґ*T~&OIENDB`pynagram-1.0.1/icons/hicolor/128x128/0000755000175000017500000000000011575226544016051 5ustar umangumangpynagram-1.0.1/icons/hicolor/128x128/apps/0000755000175000017500000000000011575226544017014 5ustar umangumangpynagram-1.0.1/icons/hicolor/128x128/apps/pynagram.png0000666000175000017500000000525611324720626021344 0ustar umangumangPNG  IHDR>asRGBbKGD pHYslltIME#QtEXtCommentCreated with GIMPW IDATxۯU?{zi{RPnUbx VBb01!xҿ苉5hUDcrQVKbPzN/3>q.{3_7o=^kˀBP( BP( BP( BLb8`=!X,9BL_?@2YxʘH雀{!Q/Ƴ@%ρ ʗc eF[6nu$w_ G7*#ձ戁whip|=Ԗ~W 9lFm?7L)*dZ+h9* KfhioZՊИd}ӸM`&\()g9 l4Yqg9v!1a_|FŽz/ر _hh# xӚՃ7%s5n =V?L[keC 6 dK=:rvK X<ٴuBEA{\3Ad; kBp_٘CRb س̏=M(W(ea'&y&6fĸ](@n08xCe^*0k/THyBc# י@uR()I+ؔ+>=yм1sQ(DmYa&Nӝ T [ PKi`_o%Z`V2d#eL꼔 /w?{I Prf ۅ<ƴ'37-M iJ7),mr3@:@2vkT"a[l it]@ n[7Gk @}JXnw u ; \b_$FA8(q~zH6"RAӄP5VccźB:w/s41-r;`wv i JPXKpd܃,A;;C qRB]tP{Hn\9RJz\l? Rrdn5e3&f 2nU烣J7\#,hA%@5 E K>I%@54 @2N W3Aӿ}:+Rڣ֌1f0/PƵrGI2#rRTzaaYY!,N P izm_/6 ]tu9}kX8Hyܤ(w.}l.g]%@1 M$حd&| [ e87cOb_7ZaGWc7bGe&"c[6ž1ipĂ2&tECv[@=؉'M׽`)gb{vw/C}v2]śno5 I͒\`Vߚd %{==; EԹ:G_<68[֠Kr!I^ Øa.6ǿ;S}Lu,/cgNbI9e'uJ6f%f*}B﷐kLՙG eLa_Us+v˺æ_MI&)R R qvVѢ=0vȉ̡P( BPh87-+^w]Sw)Qxc]T)sGOS2b}FT('啔MloIB]K V]2DTXIwPf}ZzAI0-nS#r qu§~yS_uʏK./*jrʕ•$k@EwPO-=).j({mL@So0%]zzDV(OvmUuUvٽZ\O2s!YS4ѹ\ީrʌ Yf:'@YGMACŗa{Qt4I֠sИYMI8ZBP(OMDzIENDB`pynagram-1.0.1/pynagram.sh0000777000175000017500000000015111403311006014472 0ustar umangumang#!/bin/sh APPPATH=`dirname $0` PYTHONPATH="$PYTHONPATH:$APPPATH" exec python2.6 $APPPATH/bin/pynagram $* pynagram-1.0.1/wordlist/0000755000175000017500000000000011575226544014211 5ustar umangumangpynagram-1.0.1/wordlist/wordlist.txt0000666000175000017500000053640511364600422016625 0ustar umangumang ability able about above absence abuse accept accepts access accord accords account achieve acquire across act acted acting action actions active acts actual add added adding address adds adjust admit admits adopt adopted adopts advance advice advise advised advises affair affairs affect affects afford afraid after again against age agency ages ago agree agreed agrees ahead aid aim aimed aiming aims air alarm album alias alive all allow allowed allows almost alone along already also alter altered alters always among amongst amount amounts amuse amused amuses amusing ancient and angle angry animal annoy annoyed annoys annual another answer answers any anybody anyone anyway apart apology appeal appear appears apple applied applies apply approve are area areas argue argued argues arguing arise arises arm army around arrange arrive arrived arrives art article artist aside ask asked asking asks asleep aspect aspects assume assumed assumes assure assured assures ate attach attack attempt attend attends attract author authors autumn average avoid avoided avoids awake award aware away awful awkward back backed backing backs bad badly balance ball ban band bank bar bars base based bases basic basing basis battery bear bearing bears became because become becomes bed been before began begin begins begun behalf behave behind being believe belong belongs below benefit besides best bet bets better betting between beyond bid bidding bids big bigger biggest bill binary bind binding binds biology bit bite bites biting bits bitten bizarre black blame blank block blow blue board boards boat bodies body book books boot bore borne borrow borrows both bother bothers bottle bottom bought bound box boxes boy bracket branch brand breach break breaks bridge brief briefly bright bring brings broke broken brother brought brown bucket budget buffer bug bugs build builds built bulk buried buries bury burying bus busy but button buy buying buys byte bytes call called calling calls came can cannot capable capital captain car card cards care careful cares carried carries carry case cases cat catch catches caught cause caused causes causing cease cell cent central century certain chain chair chance chances change changed changes channel chaos chapter char charge charged charges chars cheap cheaper checked child chip chips choice choose chooses chose chosen church circle circuit citizen city claim claimed claims clarify class classes clean clear cleared clearer clearly clears clever clock close closed closely closer closes closest closing club clue code coded codes coding coffee cold collect college column combine come comes coming command comment common company compare complex compose compute concept concern confirm confuse connect consist contact contain content context control convert cope copied copies copy copying core corner corners correct corrupt cost costing costs could council count counted counter country counts county couple course courses court cover covered covers crash crashed crashes crazy create created creates credit crisis crisp crisps cross cry culture cumming cums cup cure curious current cursor cut cuts cutting cycle cycles daily damage damaged damages danger dare dark data date dated dates dating datum day days dead deal dealing deals dealt dear death debate decade decent decide decided decides declare deduce deem deemed deeming deems deep deeply default define defined defines degree degrees delay delete deleted deletes deliver demand demands depend depends depth derive derived derives design designs desire desired desires desk despite destroy detail details detect detects develop device devices devote devoted devotes did die died dies differ digit digital digits dinner direct directs dirty disc discs discuss disk dislike display distant disturb ditto divide divided divides doe does dog doing dollar domain done door doors double doubt down dozen dozens drastic draw drawing drawn draws dream drew drink drive driven driver drivers drives driving drop dropped drops drove dry dubious due dumb dump during duty dying each earlier early earth ease easier easiest easily east easy eat eaten eating eats economy edge edit edited editing edition editor editors edits effect effects effort efforts eight either elect elected elects element else empty enable enables end ended ending ends enemy enjoy enough ensure ensured ensures enter entered enters entire entitle entity entries entry equal equally eraser err error errors escape even evened evening evens event events ever every exact exactly examine example except excess exclude excuse execute exist existed exists expand expands expect expects expense expert experts explain express extend extends extent extra extract extreme eye eyes face fact factor factors facts fail failed failing fails failure fair fairly faith fall fallen falling falls false family famous fan fancy far farm farther fashion fast faster fastest fatal fate father fault faults fear feature fed federal feed feeding feeds feel feeling feels feet fell felt few fewer fewest field fields fight figure figures file filed files filing fill filled filling fills film final finally find finding finds fine finger fingers finish finite fire firm firmly first firstly fiscal fish fishes fit fits fitted fitting five fix fixed fixes fixing flag flash flashed flashes flat flew flied flies flight float floated floats floor flow flown fly flying folk folks follow follows food foot for force forced forces forcing foreign forever forget forgets forgot form formal format formed former forming forms forth fortune forward found four fourth frame free freedom freely french fresh friend friends fries from front fry full fully fun fund funds funny further future gain gained gaining gains game games gap garbage garden gas gather gave general genuine get gets getting girl give given gives giving glad glass global goes going gone good goods got gotten grand grands grant granted grants graph graphic grave great greater greatly green grew grind grinds gross grosses ground grounds group groups grow growing grown grows growth guard guess guessed guesses guide gun guy habit habits hack had hair half hall hand handed handing handle handled handles hands handy hang hanged hanging hangs happen happens happily happy hard harder hardest hardly harm harmful has hat hate have having head headed header heading heads health healthy hear heard hearing hears heart heat heavily heavy held hell hello help helped helpful helping helps hence her here hereby herself hid hidden hide hides hiding high higher highest highly hill him himself hint hints his history hit hits hitting hold holding holds hole holes holiday home honest hope hoped hopes hoping horse horses host hot hotel hour hours house how however huge human hundred hung hunt hurry husband ice idea ideal ideas ignore ignored ignores ill illegal image images imagine impact implied implies imply impose imposed imposes improve inch inches incline include income indeed index info inform informs initial inner input inputs insert inserts inside insist insists install instant instead integer intend intends into invalid invent invents invite invited invites involve isolate issue issued issues issuing item items its itself job jobs join joined joining joins joint joke joy judge jump jumps junk just justify keen keep keeping keeps kept key keys kid kill killed killing kills kind kindly kinds king knew knock knocked knocks know knowing known knows label labels lack lacked lacking lacks ladies lady lain land landed landing lands large largely larger largest last lasts late later latest latter law laws lay layout lazy leach lead leaded leader leading leads leaf learn learns least leave leaved leaves leaving lecture led left leg legal legally legs lend length less lesser lesson lessons let lets letter letters letting level levels liable library lie lied lies life lift light lights like liked likely likes liking limit limited limits line linear lines link linked linking links list listed listen listing lists little live lived lives living load loaded loading loads loan local lock locked locking locks log logged logging logic logical logs long longer longest look looked looking looks loop loose lorry lose loses losing loss lost lot lots loudly love low lower lowest luck lucky lunch lying machine mad made magic mail main mainly major make makes making man manage managed manager manages manner manual manuals many map march mark marked market marking marks marry mass massive master match matches matter matters maximum may maybe mean meaning means meant measure media medical medium mediums meet meeting meets member members memory men mention mere merely merit merits mess message messy met metal method methods middle might mile miles million mind minded minding minds mine minimal minimum minor minute minutes mislead misled miss missed misses missing mistake mistook misuse mix mixed mixes mixing mod mode model models modern modify moment money monitor month months moral more morning most mostly mother motion mouth move moved moves movie moving much music must myself naive name named namely names naming nasty nation natural nature naughty near nearby nearer nearest nearly neck need needed needing needs neither nervous net network never new news next nice nicer nicest night nine nobody noise noisy none nor normal north not note noted notes nothing notice noticed notices notify noting novel now nowhere numb number numbers numbest obey object objects obscure observe obtain obtains obvious occupy occur occurs odd odds off offer offered offers office officer offices often oil old older oldest omit omits omitted once one ones only onto open opened opening opens operate opinion oppose opposed opposes option options order ordered orders origin other others ought our ours out outer output outside over overall owe owed owes owing own owner owners pack package packet page pages paid pain painful pair pairs paper papers parent park part partial parties partly parts party pass passed passes passing past patch path patient pattern pause pay payed paying pays peace peak pen people per perfect perform perhaps period permit permits person persons petrol phase phone phrase phrases pick picked picking picks picture piece pieces pile pint pipe place placed places placing plain plan plane planet planned plans plant plastic play played playing plays plea please pleased pleases plenty plot plots plug plus pocket poem poet point pointed points police policy poll pool poor pop popular port post posted posting posts pound pounds power powers precise prefer prefers prepare present press pressed presses presume pretty prevent price prices primary prime print printed printer prints prior private problem process produce product project promise prompt prone proof proper propose protect protest prove proved proves provide proving public publish pull pulled pulling pulls pure purely purpose push pushed pushes pushing put puts putt putted putting putts qualify quality quarter queue quick quicker quickly quiet quietly quit quite quits quote quoted quotes quoting race radio rain raise raised raises raising ran random range rapid rapidly rare rarely rate rates rather raw reach reached reaches react read reader readers readily reading reads ready real reality really reason reasons recall receive recent record records recover red reduce reduced reduces refer refers reflect refuse refused refuses regard regards region regret regular reject rejects relate related relates release rely remain remains remark remarks remind reminds remote removal remove removed removes repair repeat repeats replace replied replies reply report reports request require reserve resort respect respond rest restart restore result results retain return returns reveal reveals reverse review rewrite rid ridding ride rids right rights ring rise risk river road role roll room rooms root rough roughly round route routine row rubber rubbish rule rules run running runs rush sad sadly safe safely safer safest safety said saint sake sale sales same sample sat satisfy save saved saves saving saw say saying says scale scan scene scheme school schools science score scores scrap scratch screen screens script search season second seconds secret section secure see seeing seek seeking seeks seem seemed seeming seems seen sees select selects self sell selling sells seminar send sending sends senior sense sent serial series serious serve served server serves service serving session set sets setting settle settled settles seven several severe sex shall shame shape share shared shares sharing sharp she sheet shelf shell shift ship shoot shop shopped shops short shorter shortly should show showed showing shown shows shut shuts side sides sight sign signal signals signed signing signs silly similar simple simpler simply since single sit site sites sits sitting six size sizes skill skills sleep slight slip slow slower slowest slowly small smaller smile smooth social society soft sold solely solid solve solved solves solving some somehow someone son soon sooner soonest sorry sort sorted sorting sorts sought sound sounded sounds source sources south space spaces spare speak speaker speaks special specify speech speed spell spells spend spends spent spirit spite split splits spoke spoken spot spots spotted spread spreads spring square stable staff stage stages stand stands start started starts state stated states stating station status stay stayed staying stays steal step stick sticks still stock stone stones stood stop stopped stops storage store stored stores storing strange stream street strict strike strikes string strings strong struck stuck student studied studies study stuff stupid style subject submit submits subset subtle succeed success such sudden suffer suffers suffice sugar suggest suit suited suiting suits sum summary summer sun supply support suppose sure surely surface survey survive suspect suspend switch symbol symbols syntax system systems table tables take taken takes taking talk talked talking talks tank tanks tape tapes target task tasks taste taught tax tea teach teacher teaches team tedious teeth tell telling tells ten tend tends term terms test tested testing tests text than thank thanks that the their them then theory there thereby these they thin thing things think thinks third this those though thought threat three threw through throw thrown throws thus ticket tickets tie tied ties tight till time timed times timing tin title titles today token told tonight too took tooth top topic topics total totally touch touched touches toward towards town trace track tracks traffic train trained trains trap trapped traps trash travel treat treated treats tree trees trial trick tried tries trip trivial trouble truck true truly trunk trust trusted trusts truth try trying tune turn turned turning turns twelve twenty twice two tying type typed types typical typing ugly unable unaware unclear under unhappy uniform unique unit unite units unknown unless unlike until unusual update updated updates upon upper upset upsets upwards usage use used useful useless user users uses using usual usually utility utterly vague vaguely valid value values van varied varies variety various vary varying vast vastly vector version very via vice video view views virtue visible vision visit vital voice volume vote votes wait waited waiting waits walk walked walking walks wall walls want wanted wanting wants war warm warn warned warning warns was wash waste wasted wastes wasting watch watched watches water way ways weapon wear wearing wears weather week weekend weeks weight weird welcome well went were west western what wheel wheels when where whereas whereby whether which while whilst white who whoever whole whom whose why wide widely wider widest wife wild will willed willing wills win wind window windows wine winning wins winter wire wise wish wished wishes wishing with within without woman women won wonder wonders wooden word worded wording words wore work worked worker workers working works world worn worried worries worry worse worst worth worthy would write writer writes writing written wrong wrote year years yellow yes yet you young your yours zero abandon abide abolish abort aborted aborts abroad absent absorb absorbs absurd abused abuses abusing abusive abysmal accent accents accuse accused accuses ace acid acorn acronym actor actors acute adapt adapted adapts addict addicts adhere adhered adheres adjusts admire adult adults advent adverse advert adverts adviser aerial aged agenda agent agents agony aided aiding aids airport akin alarmed alarms alas albeit albums alcohol alert algebra aliases alien aliens align aligned aligns alike allege alleged alleges allies ally aloud alpha amateur amaze amazed amazes amazing amber ambient amend amended amends amp ample anagram analogy analyst anarchy anatomy angel angels anger angles anguish animals anomaly anorak anoraks antique anxious anyhow apathy appeals append appends appoint apt arc arcade arcane arch archaic archive arena arisen arising armed arming arms arose array arrays arrest arrests arrival arrow arrows artists arts ascend ascends ash ashamed ashcan ashes assault assert asserts assess asset assets assign assigns assist assists assort assorts atheism atheist atlas atom atomic atoms attacks attain audible audio aunt await awaited awaits awarded awards awfully axes axiom axioms axis babies baby backlog badge baffle baffled baffles bag baggage bags bake baked bakes baking ballet ballot balls banal banana bananas bands bang banks banned banner banning bans bare barely bargain bark barked barking barks baroque barred barrel barrier barring bash bashed bashes bashing basics basket bass basses bastard bat batch bath baths battle baud bay beach beam bean beans beard bearded beards beast beasts beat beaten beating beats beauty bedroom beds beef beer beers beg behaved behaves beings belief beliefs bell bells beloved belt bench bend bending bends beneath bent beside beta beware bias biased biases biasing bible bicycle bigot bigoted bigotry billion bills bin bird birds birth biscuit bishop bitmap bitter blacks blade blades blamed blames blaming blanket blanks blast blasted blasts blatant bless blessed blesses blew blind blindly blink bliss blob blocked blocks blood bloody blowing blown blows blues blurb boats bob bobs bog bogged bogging boggle boggles bogs bogus boil boiled boiling boils bold bolt bomb bombed bombing bombs bond bone bones bonus booked booking booklet boom boost boots border bored boredom bores boring born boss bottles bounce bounds bout bow bowl boys brain brains brake brakes branded brands brass brave bread breath breathe bred breed breeds breeze brick bricks bridges brigade broad broadly browse browsed browses brush brutal bubble buck bucks buffers bugger buggers bulb bulbs bull bullet bullets bump bunch bundle burden burn burned burning burns burnt burst bursts buses bush buss bust butter buttons buyer buyers bye bypass cabbage cabinet cable cabled cables cabling cage cake cakes caller calm cam camera cameras camp camps campus cancel cancels cancer cans cant cap caps capture carbon cared career careers caring carpet carrier carrot carrots cars cartoon cased cash casing cast casting castle casts casual cater catered caters cats cattle causal caution cave caveat ceased ceases ceasing ceiling cells censor censors chains chairs chalk chamber chaotic chap chapel chaps charity charm charmed charms chart charter charts chase chased chases chasing chat chats chatted cheaply cheat cheated cheats cheek cheer cheers cheese chemist chess chest chew chewed chewing chews chicken chief choices choir chop chopped chops choral chord chorus chuck chucked chucks chunk chunks cider cinema circa circles cite cited cites cities citing civil clarity clash clashes classed classic clause clauses cleaned cleaner cleanly cleans click client clients cliff climate climb climbed climbs clinic clip clipped clips clique clocks clog clone clones closet closure cloth clothe clothed clothes cloud clouds clubs clues clumsy cluster coach coal coarse coast coat coats cobbler coin coined coining coins coke collar collate colon colony columns combat comedy comfort comic comics comma commas commit commits commons compact compel compels compete compile comply con conceal concede concert concise concur condemn condom condone conduct confess confine conform congest consent console consult consume contend contest contour convey convict cook cooked cookie cookies cooking cooks cool cooled cooling cools coped copes coping copper corn corpse corpses cosmic costly cotton cough counsel coupled couples courage courier courts cousin cow cows crack cracked cracks craft cramp cramped cramps crap crass crawl crawled crawls cream creator credits creed creep crew cricket cried cries crime crimes critic critics crop crops crossed crosses crowd crowded crowds crown crucial crude cruel cruelty cruise cruised cruises crunch crush crushed crushes crying cryptic crystal cube cubic cuckoo cuddly cue culprit cult cunning cups cured cures curing curly curry curse curtain curve curves custard custom customs cute cycled cycling cyclist cynic cynical daft damn damned damning damns damp dance danced dances dancing dangers dared dares daring darling dash dashed dashes dashing dawn daytime deadly deaf dealer dealers deaths debated debates debt debug debugs decades decay decimal deck decline decode decoded decodes deduced deduces deed deeds deeper deepest defeat defeats defect defects defend defends defy degrade deity delayed delays delight delta demise denied denies denote denotes dense density dentist deny denying deposit depress deprive depths deputy derange descend desert deserts deserve desktop despair despise destine detach deter detract devil devious devise devised devises devoid diagram dial dialect dials diary dice dictate diesel diet differs dig digest digging dignity digs dilemma dim dine dined diner dines dining dip dire dirt disable discard disco disease disgust dish dishes dismal dismiss dispose dispute disrupt distort ditch dive dived diverse divert diverts dives divine diving divorce doctor doctors dodge dogma dogs dole dollars don donate donated donates dons doom doomed dooming dooms dose doses dot dots dotted dotting doubled doubles doubts drag dragged dragon drags drain drained drains drama drank dread dreaded dreads dreams dreary dress dressed dresses dried dries drift drill drinks drip dripped drips drivel drown drowned drowns drug drugs drum drums drunk drunken drying dual duck ducks duff dug dull duly dummy dumped dumping dumps dust dustbin dusty duties dynamic eager eagerly eagle ear earn earned earning earns ears eastern eater echo echoed echoes echoing ecology edges educate egg eggs ego egos eighth elderly elegant eleven elite elitist embed embeds emerge emerged emerges eminent emit emotion empire employ employs emptied empties emulate enabled enclose encode encoded encodes endings endless enemies energy enforce engage engaged engages engine engines enhance enjoyed enjoys enlarge entail entails envy epic episode equals equate equip equips era erase erased erases erasing ergo escaped escapes essay essays essence estate eternal ethic ethical ethics ethnic evenly evident evil evils evolve evolved evolves exam exams exceed exceeds excepts excite excited excites excuses exempt exhaust exhibit exit exited exiting exits exotic expire expired expires expiry explode exploit explore export expose exposed exposes extant extents extras fabric faced faces facing factory factual faculty faint fainter fairer fairest fairy fake fallacy fame famine fans fantasy farce fare farmer farmers fascist fat fathers fatuous faucet faulty feared fearing fears feat fee feeble fees fellow fellows female females fence fender fenders fetch fever fiction fiddle fiddled fiddles fierce fifteen fifth fifty fighter fights figured filmed filming films filter filters filthy finals finance fined finer fines finest fining fired fires firing firms fished fishing fiver fizzy flagged flags flame flames flaw flawed flawing flaws fleet flesh flip flipped flips flood flooded floods floors floppy flour flowed flower flowers flowing flows fluent fluffy fluid flush flushed flushes flute foam focus fog fold folded folder folders folding folds fond font fonts foods fool fooled fooling foolish fools forbade forbid forbids forest forests forgave forgive fork formats formula forty forum fossil fought foul founded founds fragile frames frank frankly frantic fraud freak freaks freed freeing frees freeway freeze freezes fried fringe frog frogs frown frowned frowns froze frozen fruit fruits frying fudge fuel fuller fullest fume fumes funded funding funeral funnier fur furry fuse fusion fuss fussy futile fuzzy galaxy gang gaps garage garble garbled garbles gardens gasp gate gates gateway gathers gay gear geared gearing gears gender gene generic genes genetic genius genre gentle gently geology gesture ghastly ghost giant gift gifts gig gin girls gladly glance glasses glean gleaned gleans glory glossy glove gloves glow glowed glowing glows glue gnome goal goals goat god gods gold golden golf goodbye goodies goody gospel gossip govern governs gown grab grabbed grabs grace grade grades gradual grain grammar graphs grasp grass gravity greasy greed greedy grid grief grim grip grips groan grossly grouped guarded guards guest guests guided guides guiding guilt guilty guinea guitar gulf gum guns gut guts gutter guys hacked hacker hackers hacking hacks hail haircut hairs hairy halls halt halted halting halts halve halves ham hammer handful handler happier harden hardens hardy harmony harsh hash hassle hasten hasty hated hates hating hatred hats havoc hay hazard hazards hazy headers heap hearts heated heating heats heaven heavens heavier heel heels height heights helmet herd heresy hero heroes heroic heroin herring hey hided hideous highway hills hinted hinting hip hire hired hires hiring hobby hog holder holders hollow holy homes honesty honey hook hooked hooking hooks hopeful horde hordes horizon horn horrid horrify horror hostile hosts housed houses housing hugely huh hum humane humans humble humbly hungry hunted hunting hunts hurt hurting hurts hut hyphen icon icons ideally ideals idiom idiot idiotic idiots idle illness immense immoral immune impair impairs impend impends import imports impress impulse inane incur incurs indent indexed indexes induce induced induces indulge inertia infant infect infects infer inflict inhabit inherit inhibit inject injure injured injures injury ink insane insect insects insight insofar inspect inspire insult insults intact intake intense intent inter interim invade invaded invades inverse invert inverts invest invoke invoked invokes ion irate iron ironic irony island islands jack jacket jackets jail jam jammed jamming jams jargon jazz jealous jeans jellies jelly jerk jest jet jointly joints joked jokes joking jolly journal journey judged judges judging juice jumped jumping jungle junior jury justice keeper ken kernel kettle keyed keying keyword kick kicked kicking kicks kidded kidding kidnap kidnaps kidney kids killer kingdom kings kiss kit kitchen kits knee knees knife knight lab labs lad ladder lag lager laid lake lamp lane lark laser lasers lasted lasting lately laugh laughed laughs launch lawn lawyer lawyers layer layers laying lays leaders leaflet league leak lean leaned leaning leans leap leather legend legible leisure lemon lending lends lengths lengthy lenient lens lenses lent lesbian lest lethal liaison libel liberal liberty lid lifted lifting lifts lighted lighter lightly limb limbs lined lining linkage lion lip lips liquid liquor lisp listens lit literal litter lively liver livest loader loans lobby locally locals locate located locates lodge logo lonely loops loosely lord lords lorries losses loud louder loudest lousy loved lovely lover lovers loves loving lowered lowers loyal luckily luggage lump lumps lunatic lung lungs lurk lurked lurking lurks lust luxury lyric lyrics madness magical mailbox mailed mailing mails mains maize maker makers male males mandate mangle mangled mangles mania mankind manned manning mans mapped mapping maps margin margins marital marker markers markets married marries mask masses masters matched mate matrix mature mayor maze meal meals meat melody melt mend mended mending mends mental menu menus mercury mercy merge merged merges merging merry messed messes messing metric metro metros mice midday mighty migrate mild mildly mileage milk mill mimic mined mines mining mint minus miracle mirror mirrors misery misread missile mission mist mists mixture moan moaned moaning moans mob mobile mock modes modest module modules mole moments monarch monkey monkeys monster monthly mood moon moons morally morals moron morons mortal mortals mothers motions motive motives motor motors motto mount mounted mounts mouse movies muck mucked mucking mucks mud muddle muddled muddles mug mugs mum mumble mummy mundane murder murders muscle muscles museum museums musical mutter mutters mutual mystery mystic myth myths nail nailed nailing nails naked narrow nastier nations native natives nay neat neatly needle needles negate neglect nerve nerves nest nested nesting nests nets neural neutral newer newest newly nicely nick nicked nicking nicks nights nil noble node nodes noises nominal noon norm nose noses notable notably notion notions noun nouns novels novelty novice novices nuclear null numeral numeric nun nuns nurse nurses nut nuts oar obeyed obeying obeys oblige obliged obliges obscene obsess ocean oddly offend offends offhand offset offsets oneself ongoing onion onus onwards openly opera operas oppress opt opted optic optical optimal optimum opting opts opus opuses oral orange orbit orbital organ organic organs orient orients origins outcome outcry outline outlook outputs outrage outset overdue overlap overly owned owning owns oxygen ozone pace packed packets packing packs pad padded padding pads paged paging pains paint painted paints palace pale pan panel panels panic pant pants par parade paradox pardon parents parity parked parking parks parody parrot parse parsed parses parsing partner passage passion passive paste pat patched patches patent paths paused pauses pausing payment peaks peanut peanuts peasant pedal pedant pedants peer peers penalty pence pencil pended pending pends penguin pennies penny pens peoples percent periods persist pet petty phased phases phasing phoenix phoned phones phoning photo photos phrased physic physics piano pie pig pigeon pigs piles pill pills pilot pin pinch pinched pinches pink pins pints pipes pit pitch pitfall pity pizza pizzas plague plagued plagues plainly planes planets planted plants plaster plate plates player players plotted plotter ploy plugged plugs plural pockets poems poetic poetry poets pointer poison poisons poke polar pole polish polite polls pompous poorer poorest poorly pope popped popping pops pork ported porter porters porting portion portray ports pose posed poses posing possess postage postal poster posters pot potato pour poured pouring pours poverty powder powered praise pray prayed prayer prayers praying prays preach precede predict preface prefix premise premium pretend prevail preview priced pricing pride priest priests primes prince prison privacy pro proceed profile profit profits prolong promote prompts pronoun proofs prophet prose protein proud provoke pseudo pub pudding pulp pulse pulses pump pumped pumping pumps pun punch punched punches punish puns punt punts pupil pupils purge purity purple pursue pursued pursues pursuit puzzle puzzled puzzles python quantum queen queens queries query quest queued queues quibble quieter quiz quota quotas rabbit rabbits rabid raced races racial racing racism racist rack racket racks radar radical radios radius rag rage raid raids rail rails railway rainbow rained raining rains ram rampant rang ranged ranges ranging rank ranks rant ranted ranting rants rape rarer rarest rash rat rated rating ratio ratios rats rattle rattled rattles rave raved raves raving ray razor reacted reactor reacts realm realms rear rebuild rebuilt recalls receipt recipe recipes reckon reckons reclaim recruit rectify recycle refine refined refines reflex reform reforms refrain refresh refund refusal refute regain regime regions regrets reign relax relaxed relaxes relay relied relief relies relieve relying remedy rename renamed renames rend render renders rending rends renew renewed renews rent repairs repent reread rereads rescue resent reset resets reside resides resign resigns resist resolve resorts rested resting rests resume resumed resumes retail retains retire retired retires retract reuse revenge revenue revert reviews revise revised revises revolt revolts reward rewards rewrote rhyme rhythm ribbon rice rich richer richest ridden rides riding rightly rigid ringed ringing rings riot rip ripped ripping rips risen rises rising risked risking risks risky ritual rituals rival rivals rivers roads robot robots robust rock rocket rocks rod rode roles rolled rolling rolls roman romance roof roots rope rose rot rotate rotated rotates rotten rounded rounds rout routed routes routing routs rows royal rub rude ruin ruined ruining ruins ruled ruler rulers ruling rung rural rushed rushes rushing rusty sack sacked sacking sacks sacred sadden saddens saga sail sailed sailing sails salary salt sampled samples sand sane sang sanity sank sarcasm satire sauce savings scaled scales scaling scandal scanned scanner scans scarce scare scared scares scarf scaring scarlet scatter scenery scenes schemes scholar scope scored scoring scotch scraps scream screams screw screwed screws scripts scroll scrolls scum sea seal sealed sealing seals seat seats secrets sect sector sects secular seed segment seldom selfish sender senses sequel sermon servant servers seventh sexes sexist sexual sexy shade shades shadow shake shaken shakes shaking shaky shallow shaped shapes shaping sharply shed sheds sheep sheer sheets shells shelter shelve shelves shifted shifts shine shined shines shining shiny shipped ships shirt shock shocked shocks shoe shoes shone shook shoots shorten shorts shot shots shout shouted shouts shove shower showers shy sic sick sicken sickens sided siding sigh sighted sights sigma silence silent silicon sillier silver sin sincere sine sinful sing singer singers singing singles sings sink sinking sinks sins sir sister situate sixteen sixth sixties sixty sized sizing sketch skilled skin skip skipped skips skirt skull sky slag slang slash slave slaves sleeps slept slice sliced slices slicing slid slide slides sliding slim slipped slips slogan slope sloppy slot slots slowed slowing slows smart smash smashed smashes smell smells smelly smiled smiles smiling smith smoke smoked smoker smokers smokes smoking smug snack snag snail sneak sneaked sneaks sneaky sniff snow soap sober sock socket sockets socks sod soil solar soldier sole soles solo song songs sons sordid sore soul souls soup spaced spacing span spares spatial species sped speeds sphere spies spigot spike spill spin spiral spirits spit spits spitted spoil spoils sponsor spoof spool sport sports spout sprang spray springs sprung spur spy squad squared squares squash squeeze stack stacks stagger stair stairs stake stale stall stamp stamped stamps stance star stare stared stares staring stark starred stars starter startle starve starved starves static steady steals steam steel steep steer steered steers stem stems stepped steps stereo sterile sticky stiff stir stirred stirs stocks stole stolen stomach storm storms strain strains straw stray streams streets stress stretch strip strips strive stroke studio stuffed stuffs stumble stun stunned stuns stunt styles subtly subway subways sue sued sues suffix suicide suing suite summed summing sums sundry sung sunk sunny sunrise super superb supreme surgery surname surplus surveys sustain swallow swam swamp swamped swamps swap swapped swaps swear swears sweat sweats sweep sweeps sweet swept swim swims swing sword swore sworn swum symptom synonym tab tabs tack tacked tacking tackle tackled tackles tacks tactic tactics tag tail tailor tailors tails taker takers tale talent talents tales tall tame tangent tap targets tasted tastes tasting taxes taxi teams teapot tear teared tearing tears teenage temper temple tempt tempted tempts tended tender tending tennis tens tense tension tenth termed terming terrify terror terse texts textual thanked thee theft theirs theme themes theorem therapy therein thereof theses thesis thick thief thieve thieves thirst thirty thou thous thread threats throat throats thrust thrusts thumb thy tick tidied tidies tidy tidying tiger tightly tile tiles timer tins tiny tip tips toad toast tobacco toe toes toggle toilet toilets tokens toll tomato tome ton tone tones tongue tons tool tools topical tops tore torn torture toss tough tour tourist tower towers towns toy toys traced traces tracing tracked trade traded trades trading tragedy tragic trail trailed trails transit travels tray tread treaty trek trend trends trendy trials tribe tribes tricks tricky trifle trigger trilogy trinity triple tripos trips triumph trivia trolley troop troops trouser trucks trumpet trunks trusty truths tube tubes tuned tunes tuning tunnel tunnels tutor twin twins twist twisted twists typeset ugh uncle undergo undid undo undoes undoing undone unduly uneasy unfair unified unifies unify union unions united unites uniting unity unload unlock unlocks unlucky unread unsafe unseen unset unsound unsure untidy unto untrue unused unwise upgrade upright ups upside upward urban urge urged urgency urgent urges urging usable utter vacancy vacuum vain valley valued valuing valve valves vanish vans variant vat vectors vehicle vein vend vended vending vendor vends venture venue venues verb verbal verbose verbs verdict verify verse verses versus vessel vet viable vicar vicious victim victims victory viewed viewer viewing vile village vintage vinyl violate violent violin virgin virtual virtues virus viruses visited visitor visits visual vocal voices void voltage volumes vomit voted voter voters voting vouch vowel wade waded wades wading waffle wage wages wake waked wakes waking wallet wander wanders ward warmed warming warms warp warped warping warps warrant wars wartime wary washed washes washing waters wave waved waves waving weak wealth wealthy weapons weary weasel weasels wed wedded wedding weds wee weekday weekly weigh welfare wet wets wetting whale whales whence whim whistle whites wholly whoop whoops wicked width wildly winded winding winds wines wing wings winner winners wipe wiped wipes wiping wired wires wiring wisdom wiser wisest wit witch witness witty wive wives wizard woke woken wolf wombat wont wood woods worlds worm worms worship wound wow wrap wrapped wrapper wraps wrath wreck wrecked wrecker wrecks wren wrist writers wrongly wrongs yard yards yawn yearly yeti yield yields younger youth zeros zone zones zoom aback abacus abate abated abates abating abbey abbeys abbot abbots abdomen abduct abducts abet abets abetted abhor abhors abides abiding abject abjects ablaze abler ables ablest ably aboard abode aboded abodes aboding abound abounds abouts abreast abridge abrupt abscess abscond absents absolve abstain abuser abusers abyss abysses academy accede acceded accedes acclaim accost accosts accrue accrued accrues accuser aced aces ache ached aches aching acidity acids acing acne acorns acquit acquits acre acreage acres acrid acrider acrobat acrylic actives actress actuary acumen acutely acuter acutes acutest adage adages adamant adept adepter adepts adjoin adjoins adjourn adjunct admiral admired admirer admires ado adobe adobes adore adored adores adoring adorn adorned adorns adrift adroit ads adverb adverbs aerials aerosol afar affable affably affirm affirms affix affixed affixes afflict affords affront afield aflame afloat afoot afresh afters agendas aghast agile agiler agilest agility agitate aglow agonies aground ahoy ahoys aide aides ail ailed ailing ailment ails aimless aired airier airiest airing airline airmail airs airy aisle aisled aisles aisling ajar alases albino albinos alcove alcoves ale alerted alerter alerts ales alga algae aliased alibi alibied alibis aliened alight alights alimony alkali allay allayed allays allergy alley alleys allied allot allots alloy alloyed alloys allude alluded alludes allure allured allures allying almanac almond almonds alms aloft aloof altar altars alto altos amass amassed amasses amble ambled ambles ambling ambush amen amened amening amenity amens amiable amiably amid amids amidst amiss ammonia amnesia amnesty amoeba amoebas amok amoral amorous ampere amperes ampler amplest amplify amply amps amulet amulets anal anchor anchors anchovy android ands anew angelic angered angers angled angler anglers angling angrier angrily angst angular animate ankle ankled ankles ankling annals annex annexe annexed annexes annuals annuity annul annuls anoint anoints anon ant ante anted anteing antenna antes anthem anthems anthill anthrax antic antics anting antler antlers antonym ants anus anuses anvil anvils anxiety anyways aorta aortas ape aped apes apex apexes apiece aping aplomb apostle apparel appease applaud apples apricot apron aprons apter aptest aptly aquatic arable arbiter arcades arced arched archer archers archery arches archest arching archway arcing arcs ardent arduous arenas ares aria arias arid arider aridest ark arks armies armpit armpits aroma aromas arouse aroused arouses arraign arrayed arrears arsenal arsenic arson artery artful artisan artwork ascent ascents ascetic ascribe asexual ashed ashen ashing ashore ashtray asides askance askew aspen aspens asphalt aspire aspired aspires aspirin assail assails assent assents asthma astound astray astride astute astuter asylum asylums ates athlete atlases atomics atone atoned atones atoning attains attest attests attic attics attire attired attires attune attuned attunes auburn auction audibly audios audit audited auditor audits augment august augusts aunts aura aural auras austere auto autoed autoing autopsy autos autumns avail availed avails avarice avenge avenged avenges avenue avenues averse avert averted averts aviator avid avider avidest avocado avow avowal avowals avowed avowing avows awaken awakens awakes awaking awarer awarest aways awe awed awes awesome awhile awing awning awnings awoke awoken awry axed axing axises axle axles aye ayes azalea azaleas azure azures babble babbled babbles babe babes babied babier babiest baboon baboons babying babyish backer backers bacon badder baddest bade badger badgers badges badness bagel bagels bagged baggie baggier baggies bagging baggy bail bailed bailing bails bait baited baiting baits baker bakers bakery balcony bald balded balder baldest balding balds bale baled bales baling balk balked balking balks ballad ballads ballast balled ballets balling balloon ballots balm balmier balms balmy baloney bamboo bamboos banaler bandage banded bandied bandier bandies banding bandit bandits bandy banged banging bangs bani banish banjo banjos banked banker bankers banking banners banquet banter banters baptism barb barbed barber barbers barbing barbs bard bards bared barer bares barest barge barged barges barging baring barley barman barn barns baron barons barrage barrels barren barrens barter barters baser basest bashful basil basin basins bask basked baskets basking basks bassoon baste basted bastes basting batched batches bathe bathed bathes bathing bathtub baton batons bats batsman batted batter batters batting battled battles bawdier bawdy bawl bawled bawling bawls bayed baying bayonet bayou bayous bays bazaar bazaars beached beaches beacon beacons bead beaded beadier beading beads beady beagle beagled beagles beak beaked beaker beakers beaks beamed beaming beams beaned beaning bearer bearers beater beaters beaver beavers beckon beckons bedbug bedbugs bedded bedder bedding bedlam bedlams bedrock bedside bedtime bee beech beeches beefed beefier beefing beefs beefy beehive beeper bees beeswax beet beetle beetled beetles beets beeves befall befalls befell befit befits beggar beggars begged begging begs beguile behead beheads beheld behinds behold beholds beige belated belch belched belches belfry belie belied belies bellboy belled bellhop bellied bellies belling bellow bellows belly belows belted belting belts belying bemoan bemoans bemuse bemused bemuses benched benches bender benign bents bequest bereave bereft beret berets berried berries berry berserk berth berthed berths beseech beset besets besiege bested bestial besting bestow bestows bests betcha betray betrays betters bettor bettors bewared bewares bewitch beyonds bib bibs bicker bickers bidden bide bides biding bigamy bigots bike biked bikes biking bikini bikinis bile billed billing billow billows binder binders bingo binned binning bins biped bipeds biplane birch birched birches birded birding birthed births bisect bisects bishops bison bitch bitched bitches bitings blab blabbed blabs blacked blacken blacker bladder bladed blading blamer blanch bland blander blanked blanker blankly blare blared blares blaring blaster blaze blazed blazer blazers blazes blazing bleach bleak bleaker bleary bleat bleated bleats bled bleed bleeds blemish blend blended blends blight blights blimp blimps blinded blinder blinds blinked blinker blinks blip blips blissed blisses blister blithe blither blitz blitzed blitzes blobbed blobs bloc blocs blond blonder blonds blooded bloods bloom bloomed blooms blossom blot blotch blots blotted blotter blouse bloused blouses blowout blubber blued bluer bluest bluff bluffed bluffer bluffs bluing blunder blunt blunted blunter bluntly blunts blur blurred blurs blurt blurted blurts blush blushed blushes bluster boa boar boarded boarder boars boas boast boasted boasts boated boating bobbed bobbin bobbing bobbins bobcat bobcats bobsled bode boded bodes bodice bodices bodily boding boggled boiler boilers bolder boldest boldly bolds bologna bolster bolted bolting bolts bombard bomber bombers bondage bonded bonding bonds boned bonfire bonier boniest boning bonnet bonnets bonuses bony boo booby booed booing bookend boomed booming booms boon boons boor boorish boors boos boosted booster boosts booted bootee bootees booth booths booties booting bootleg booty booze bop borders borough bosom bosoms bossed bosser bosses bossier bossing bossy botany botch botched botches bottled bottoms bough boughs boulder bounced bounces bounded bounty bouquet bourbon bouts bovine bovines bowed bowel bowels bowing bowled bowler bowling bowls bows boxcar boxcars boxed boxer boxers boxing boycott boyhood boyish bra brace braced braces bracing brag bragged brags braid braided braids brained brainy braise braised braises braked braking bran brandy bras brash brasher brassed brasses brassy brat brats bravado braved bravely braver bravery braves bravest braving bravo bravos brawl brawled brawls brawn brawny bray brayed braying brays brazen brazens brazier breaded breads breadth breast breasts breaths breded bredes breding breeder breezed breezes breezy brevity brew brewed brewery brewing brews bribe bribed bribery bribes bribing bricked bridal bridals bride brides bridged bridle bridled bridles briefed briefer briefs brights brim brimmed brims brine brinier brink brinks briny brisk brisked brisker briskly brisks bristle brittle broach broaden broader broads brocade broil broiled broiler broils broker brokers bronco broncos bronze bronzed bronzes brooch brood brooded broods brook brooked brooks broom brooms broth broths brow browned browner brownie browns brows bruise bruised bruises brunch brunt brunted brunts brushed brushes brusque brute brutes brutish bubbled bubbles bubbly bucked buckets bucking buckle buckled buckles bud budded buddies budding buddy budge budged budges budgets budging buds buff buffalo buffed buffet buffets buffing buffoon buffs bugged buggier buggies bugging buggy bugle bugled bugler buglers bugles bugling builder bulbed bulbing bulbous bulge bulged bulges bulging bulked bulkier bulking bulks bulky bulldog bulled bullied bullier bullies bulling bullion bulls bully bum bummed bummer bummest bumming bumped bumper bumpers bumpier bumping bumps bumpy bums bun bunched bunches bundled bundles bung bungle bungled bungler bungles bunion bunions bunk bunked bunker bunkers bunking bunks bunnies bunny buns buoy buoyant buoyed buoying buoys burble burbled burbles burdens bureau bureaus burger burgers burglar burgle burial burials burlap burlier burly burner burners burnish burp burped burping burps burr burred burring burro burros burrow burrows burrs bursar bused bushed bushel bushels bushes bushier bushing bushy busied busier busies busiest busily busing bussed busted busting bustle bustled bustles busts busying butcher butler butlers buts butt butte butted butters buttery buttes butting buttock butts buxom buxomer buzz buzzard buzzed buzzer buzzers buzzes buzzing byes bygone bygones byway byways cab cabaret cabbed cabbing cabin cabins caboose cabs cacao cacaos cache cached caches caching cackle cackled cackles cacti cactus cad caddied caddies cadence cadet cadets caged cages cagey cagier cagiest caging cajole cajoled cajoles caked caking calcium calculi calf calico callers callous callow callus calmed calmer calmest calming calmly calms calorie calve calves camel camels cameo cameoed cameos camerae camped camper campers campest camping canal canals canary cancers candid candied candies candle candled candles candy cane caned canes canine canines caning canker cankers canned cannery cannier canning cannon cannons canny canoe canoed canoes canon canons canopy canteen canter canters canvas canvass canyon canyons capably cape caped caper capered capers capes capped capping caprice capsize capsule caption captive captor captors caramel carat carats caravan carbons carcass carded cardiac carding caress cargo cargoes caribou carnage carnal carol carols carouse carp carped carpets carping carps carrion cart carted cartel cartels carting carton cartons carts carve carved carves carving cascade cashed cashes cashew cashews cashier cashing casings casino casinos cask casket caskets casks caste casted caster casters castes castled castles castoff casuals catcall catchy caterer catfish catnap catnaps catnip catwalk caucus caulk caulked caulks caustic cavalry caveats caved cavern caverns caves caviar caving cavity cavort cavorts caw cawed cawing caws cedar cedars cede ceded cedes ceding celery cellar cellars celled celling cellist cello cellos cement cements censure census cents ceramic cereal cereals certify chafe chafed chafes chaff chaffed chaffs chafing chagrin chained chaired chalet chalets chalice chalked chalks chalky champ champed champs chanced chant chanted chants chapels chapped charger chariot charred charted chasm chasms chassis chaste chasten chaster chatter chatty cheapen checkup cheeked cheeks cheep cheeped cheeps cheered cheery cheesed cheeses cheetah chef cheffed chefs cherish cherry cherub cherubs chests chewier chewy chi chic chicer chicest chick chicks chide chided chides chiding chiefer chiefly chiefs childed childes chili chilies chill chilled chiller chills chilly chime chimed chimes chiming chimney chimp chimps chin china chink chinked chinks chinned chins chintz chipped chipper chirp chirped chirps chisel chisels choicer choirs choke choked chokes choking cholera choosy chopper choppy chorals chords chore chored chores choring chortle chow chowder chowed chowing chows chrome chromed chromes chronic chubby chuckle chug chugged chugs chum chummed chummy chums chunky churn churned churns chute chutes ciders cigar cigars cinch cinched cinches cinder cinders cinemas cipher ciphers circled circus cistern citric citrus civic civics clack clacked clacks clad clam clamber clammed clammy clamp clamped clamps clams clan clang clanged clangs clank clanked clanks clans clap clapped clapper claps claret clashed clasp clasped clasps classy clatter claw clawed clawing claws clay cleanse cleat cleats cleave cleaved cleaver cleaves clef clefs cleft clefted clefts clench clergy cleric clerics clerk clerked clerks clicked clicks cliffs climax climber clime climes clinch cling clings clinics clink clinked clinks cliques cloak cloaked cloaks clocked clod clodded clods clogged clogs closets clot cloths clots clotted clouded cloudy clout clouted clouts clove cloven clover clovers cloves clown clowned clowns clubbed cluck clucked clucks clued cluing clump clumped clumps clung clutch clutter coached coaches coaled coaling coals coarsen coarser coastal coasted coaster coasts coated coater coating coax coaxed coaxes coaxing cob cobalt cobbed cobbing cobble cobra cobras cobs cobweb cobwebs cocaine cock cocked cockier cocking cockpit cocks cocky cocoa cocoas coconut cocoon cocoons cod codded codding cods coerce coerced coerces coexist coffees coffer coffers coffin coffins cog cogency cogent cognac cognacs cogs coil coiled coiling coils coinage coked cokes coking colder coldest coldly colds colic collage collars collide collie collied collies colonel colons colt colts coma comae comas comb combats combed combing combs comely comet comets comical comings commend commune commute compass compost comrade concave conceit concoct concord concurs condoms condor condors cone cones confer confers confide congeal conical conifer conjure conned conning connote conquer cons consign consort consul consuls contort convene convent convex conveys convoy convoys coo cooed cooing cooker cooler coolers coolest coolly coop cooped cooper cooping coops coos cop copier copiers copious copped coppers copping cops coral corals cord corded cordial cording cordon cordons cords cored cores coring cork corked corking corks cornea corneas corned cornet cornets cornier corning corns corny coroner corps corpus corral corrals corrode corsage corset corsets cortex cosmos costume cot coting cots cottage cotted cottons couch couched couches cougar cougars coughed coughs coup coupon coupons coups coursed courser courted cousins cove covert coverts coves covet coveted covets coward cowards cowboy cowboys cowed cower cowered cowers cowgirl cowhide cowing cox coy coyer coyest coyote coyotes cozily crab crabbed crabby crabs cracker crackle cradle cradled cradles crafted crafts crafty crag craggy crags cram crammed crams crane craned cranes craning cranium crank cranked cranker cranks cranky crasser crate crated crater craters crates crating crave craved craves craving crayon crayons craze crazed crazes crazier crazies crazily crazing creak creaked creaks creaky creamed creams creamy crease creased creases creeds creek creeks creeps creepy cremate crepe crepes crept crest crested crests cretin cretins crevice crewed crewing crews crib cribbed cribs crimed criming crimson cringe cringed cringes crinkle cripple crises crisped crisper crisply crispy croak croaked croaks crochet crock crocks crocus crofts cronies crony crook crooked crooks croon crooned croons cropped croquet crosser crotch crouch crow crowbar crowed crowing crowned crowns crows crucify crudely cruder crudest crudity crueler cruelly cruels cruiser crumb crumbed crumble crumbly crumbs crummy crumple crunchy crusade crust crusted crusts crusty crutch crux cruxes crybaby crypt crypts cub cubed cubes cubicle cubing cubs cuckoos cuddle cuddled cuddles cued cues cuff cuffed cuffing cuffs cuing cuisine cull culled culling culls cults cupful cupfuls cupped cupping cur curable curator curd curdle curdled curdles curds curfew curfews curio curios curl curled curling curls currant curried curries cursed curses cursing cursory curt curtail curter curtest curtsy curved curving cushion custody cutback cuter cutes cutest cuticle cutlery cutlet cutlets cutter cutters cyanide cyclic cyclone cymbal cymbals cynics cypress cyst cysts dab dabbed dabbing dabble dabbled dabbles dabs dad daddies daddy dads daemon dagger daggers dailies dainty dairies dairy dais daises daisies daisy dallied dallies dally dam dame dames dammed damming damped dampen dampens damper dampest damping damps dams damsel damsels dancer dancers dandier dandies dandy dangle dangled dangles dank danker dankest dapper dappers darken darkens darker darkest darkly darn darned darning darns dart darted darting darts daub daubed daubing daubs daunt daunted daunts dawdle dawdled dawdles dawned dawning dawns daze dazed dazes dazing dazzle dazzled dazzles deacon deacons deaden deadens deader deadest deafer deafest dean deaned deaning deans dearer dearest dearly dears dearth dearths deaves debase debased debases debit debited debits debrief debris debtor debtors debts debunk debunks debut debuted debuts decayed decays decease deceit deceits deceive decency decibel decked decking decks decoder decorum decoy decoyed decoys decree decreed decrees decried decries decry deduct deducts deeded deeding deepen deepens deeps deer deface defaced defaces defame defamed defames defer defers defiant deficit defied defies defile defiled defiles deflate deflect deform deforms defraud defrost deft defter deftest deftly defunct defying deified deifies deify deign deigned deigns deities deject dejects deli delimit delis deltas delude deluded deludes deluge deluged deluges deluxe delve delved delves delving demean demeans demerit demised demises demon demons demote demoted demotes demount demure demurer den denial denials denim denims denoted dens densely denser densest dent dental dented denting dents depart departs depict depicts deplete deplore deport deports depose deposed deposes depot depots deprave derail derails deride derided derides derrick descent desist desists desks despot despots dessert destiny detain detains deters detest detests detour detours devalue deviant deviate devils devolve devotee devour devours devout dew diamond diaper diapers diaries diced dices dicing diction dieing diesels dietary dieted dieting diets diffuse digests digger dignify digress dike dikes dilate dilated dilates dill dilled dilling dills dilute diluted dilutes dime dimer dimes dimly dimmed dimmer dimmest dimming dimple dimpled dimples dims din diners dinghy dingier dingies dingy dinned dinners dinning dins diocese dioxide diploma dipped dipping dips direr direst dirge dirges dirtied dirtier dirties disarm disarms disavow disband discern discord discos discus disdain dished dishing disks dismay dismays disobey disown disowns dispel dispels dissect dissent distend distill disuse disused disuses ditched ditches dither dithers ditties dittoed dittos ditty diver diverge divers divest divests divined diviner divines divisor divulge dizzied dizzier dizzies dizzy docile dock docked docking docks dodged dodges dodging dodo doer doers doest dogged dogging dogmas dogwood doilies doily doled doleful doles doling doll dolled dollies dolling dolls dolly dolphin domains dome domed domes doming domino donkey donkeys donor donors doodle doodled doodles doored dooring doorman doormen doorway dope doped dopes dopey dopier dopiest doping dormant dorsal dorsals dos dosed dosing dote doted dotes doting doubly doubted dough dour dourer dourest douse doused douses dousing dove doves dowdier dowdies dowdy downed downier downing downs downy dowries dowry doze dozed dozes dozing drab drabber drabs dragons dramas drape draped drapery drapes draping drawer drawers drawl drawled drawls dreamer dreamy dredge dredged dredges dregs drench dresser dressy dribble drier driers driest drifted drifts drilled drills drinker drivels drizzle droll droller drone droned drones droning drool drooled drools droop drooped droops dropout dross drought droves drowse drowsed drowses drowsy drudge drudged drudges drugged drummed drummer drunker drunks dryer dryers dryly dryness drys dualism dub dubbed dubbing dubs duchess ducked ducking duct ducts dud dude duded dudes duding duds duel duels dues duet duets dugout dugouts duke duked dukes duking dulled duller dullest dulling dulls dully dumbed dumber dumbest dumbing dumbs dummies dumpier dumpies dumpy dunce dunces dune dunes dung dunged dungeon dunging dungs dunk dunked dunking dunks dunno duo dupe duped dupes duping duplex durable duress dusk duskier dusky dusted dustier dusting dustmen dustpan dusts dutiful duvet dwarf dwarfed dwarfer dwarfs dwell dweller dwells dwelt dwindle dye dyed dyeing dyes dynamo dynamos dynasty eagerer eagles earache eardrum earl earls earmark earner earners earnest earring earshot earthed earthly earths earthy eased easel easels eases easies easing eave eaves ebb ebbed ebbing ebbs ebonies ebony eclipse ecstasy eczema eddied eddies eddy eddying edged edger edgier edgiest edging edgy edible edibles edict edicts edifice eel eels eerie eerier eeriest effigy egged egging egoism egotism egotist eighths eights eighty eject ejected ejects eke eked ekes eking elapse elapsed elapses elastic elation elbow elbowed elbows elder elders eldest elector elegies elegy elevate elevens elf elicit elicits elites elitism elk elks ellipse elm elms elope eloped elopes eloping elude eluded eludes eluding elusive elves email emailed emails emanate embalm embalms embargo embark embarks embassy ember embers emblem emblems embody emboss embrace embryo embryos emerald emir emirs emits emitted emotive empathy emperor empires empower empress emptier enact enacted enacts enamel enamels encase encased encases enchant encore encored encores endear endears endemic endive endives endorse endow endowed endows endure endured endures endways enema enemas engined engrave engross engulf engulfs enigma enigmas enlist enlists enliven enmity enrage enraged enrages enrich ensign ensigns enslave ensue ensued ensues ensuing entice enticed entices entrant entrap entraps entreat entropy entrust entwine envelop envied envies envious envoy envoys envying enzyme enzymes eon eons epaulet epics epitaph epithet epitome epoch epochs epsilon equated equates equator equine equines equinox equity eras erasers erasure erect erected erects erode eroded erodes eroding erosion erotic errand errands errant errants erratic erred erring errs erudite erupt erupted erupts escort escorts essayed estates esteem esteems etch etched etches etching ether ethnics ethos eulogy eureka evade evaded evades evading evasion evasive eve evener evenest eves evict evicted evicts evoke evoked evokes evoking ewe ewes exacted exacter exacts exalt exalted exalts excel excels excerpt excise excised excises exclaim excrete excused exempts exert exerted exerts exhale exhaled exhales exhort exhorts exhume exhumed exhumes exile exiled exiles exiling exodus exotics expanse expel expels expend expends exports expound extinct extol extols extort extorts exude exuded exudes exuding exult exulted exults eyeball eyebrow eyed eyelash eyelid eyelids eyesore fable fables fabrics facade facades facet faceted facets facial facials facile faction fad fade faded fades fading fads fainted faintly faints fairies fairs faithed faiths faked fakes faking falcon falcons fallout falsely falser falsest falsify falsity falter falters famed famines fanatic fancied fancier fancies fanfare fang fangs fanned fanning faraway farces fared fares faring farmed farming farms fascism fasted fasten fastens fasting fasts fatally fated fateful fates fathom fathoms fatigue fating fats fatten fattens fatter fattest fattier fatties fatty faucets faulted fauna faunas fawn fawned fawning fawns faze fazed fazes fazing fearful feast feasted feasts feather feats feces feds feebler feeder feeders feeler feelers feign feigned feigns feint feinted feints feline felines felled feller fellest felling fells felon felons felony felted felting felts fen fenced fences fencing fend fended fending fends ferment fern ferns ferret ferrets ferried ferries ferry fertile fervent fester festers festive festoon fetched fetches feted fetid feting fetish fetter fetters feud feudal feuded feuding feuds fevers fez fezzes fiasco fib fibbed fibber fibbers fibbing fibs fiche fickle fickler fiddler fiddly fidget fidgets fidgety fielded fiend fiends fiercer fierier fiery fiesta fiestas fifths fifties fig figged figging figment figs filch filched filches filler fillet fillets fillies filly filmier filmy filth fin finale finales finch finches finely finesse finicky finner fins fir firearm firefly fireman firemen firmed firmer firmest firming firring firs firsts fiscals fisher fishery fishier fishy fission fissure fist fists fitful fitness fitter fittest fives fixable fixture fizz fizzed fizzes fizzing fizzle fizzled fizzles flabby flail flailed flails flair flairs flak flake flaked flakes flakier flaking flaky flamed flaming flank flanked flanks flannel flap flapped flaps flare flared flares flaring flasher flashy flask flasks flatly flats flatted flatten flatter flaunt flaunts flea fleas fleck flecked flecks fled fledged flee fleece fleeced fleeces fleecy fleeing flees fleeted fleeter fleets fleshed fleshes fleshy flex flexed flexes flexing flick flicked flicker flicks flier fliers fliest flights flighty flimsy flinch fling flings flint flints flipper flirt flirted flirts flit flits flitted flock flocked flocks flog flogged flogs flooder floored flop flopped flops flora floral floras florid florist floss flossed flosses flounce floured flours flout flouted flouts flowery flu flue fluency fluents flues fluff fluffed fluffs fluids fluke fluked flukes fluking flung flunk flunked flunks flunky flurry flusher fluster fluted flutes fluting flutist flutter flux fluxed fluxes fluxing flyover foal foaled foaling foals foamed foamier foaming foams foamy focal focused focuses fodder fodders foe foes fogged foggier fogging foggy foghorn fogs foible foibles foil foiled foiling foils foist foisted foists foliage folksy follies folly foment foments fonded fonder fondest fonding fondle fondled fondles fondly fonds footage footed footing foots forage foraged forages foray forayed forays forbear forbore forceps ford forded fording fords fore forearm foreleg foreman foremen fores foresaw foresee forfeit forge forged forger forgers forgery forges forging forgo forgoes forgone forked forking forks forlorn formals forsake forsook fort forte fortes forties fortify forts forums forwent fossils foster fosters fouled fouler foulest fouling fouls founder foundry fount founts fours fourths fowl fowled fowling fowls fox foxed foxes foxier foxiest foxing foxy foyer foyers fracas fractal frail frailer frailty framed framing franc francs franked franker franks frauds fraught fray frayed fraying frays freaked freckle freer freest freezer freight frenzy freshen fresher freshly fret fretful frets fretted friar friars frieze friezed friezes frigate fright frights frigid frill frills frilly fringed fringes frisk frisked frisks frisky fritter frizzy fro frock frocks frolic frolics frond fronds frontal fronted fronts frost frosted frosts frosty froth frothed froths frothy frugal fruited fruity fudged fudges fudging fuels fulcrum fulled fulling fulls fumble fumbled fumbles fumed fuming fungi fungus funnel funnels funner funnest funnies funnily furies furious furl furled furling furlong furls furnace furnish furor furors furred furrier furring furrow furrows furs furtive fury fused fuses fusing fussed fusses fussier fussing futures fuzz fuzzed fuzzes fuzzier fuzzing gab gabbed gabbing gable gabled gables gabling gabs gadget gadgets gag gagged gagging gags gaiety gaily gainful gait gaits gal gala galas gale gales gall gallant galled gallery galley galleys galling gallon gallons gallop gallops gallows galls galore galores gals gambit gambits gamble gambled gambler gambles gamed gamer gamest gaming gamma gamut gamuts gander ganders ganged ganging gangs gangway gaol gape gaped gapes gaping garaged garages garb garbed garbing garbs gargle gargled gargles garish garland garlic garlics garment garnet garnets garnish garret garrets garter garters gaseous gases gash gashed gashes gashing gasket gaskets gasped gasping gasps gassed gassing gastric gated gating gaudier gaudy gaunt gaunted gaunter gaunts gauze gavel gavels gawk gawked gawkier gawkies gawking gawks gawky gayer gayest gays gaze gazed gazelle gazes gazette gazing gee geed geeing gees geese gel gelatin geld gelded gelding gelds gem gems genders genera geneses genesis genial genie genies genii genital genres gent gentile gentled gentler gentles gentry gents genus gerbil gerbils germ germs getaway geyser geysers ghetto ghettos ghosted ghostly ghosts ghoul ghouls giants gibber gibbers gibe gibed gibes gibing giddier giddy gifted gifting gigged gigging giggle giggled giggles gigs gild gilded gilding gilds gill gills gilt gilts gimme gimmick ginger gingham ginned ginning gins giraffe girder girders girdle girdled girdles girlish girth girths gist givens gizzard glacial glacier gladden gladder glade glades glads glanced glances gland glands glare glared glares glaring glassed glassy glaze glazed glazes glazing gleam gleamed gleams glee glen glens glib glibber glibly glide glided glider gliders glides gliding glimmer glimpse glint glinted glints glisten glitter gloat gloated gloats globe globes globule gloom gloomy gloried glories glorify gloss glossed glosses gloved gloving glower glowers glucose glued glues gluing glum glummer glums glut gluts glutted glutton gnarl gnarled gnarls gnash gnashed gnashes gnat gnats gnaw gnawed gnawing gnaws gnomes gnu gnus goad goaded goading goads goaled goalie goalies goaling goatee goatees goats gob gobbed gobbing gobble gobbled gobbles goblet goblets goblin goblins gobs goddess godless godlier godlike godly godsend goggle goggles golder goldest golds golfed golfer golfers golfing golfs gondola goner goners gong gonged gonging gongs gonna goo gooey goof goofed goofier goofing goofs goofy gooier gooiest goon goons goose goosed gooses goosing gopher gophers gore gored gores gorge gorged gorges gorging gorier goriest gorilla goring gory gos gosh gosling gospels gossips gouge gouged gouges gouging goulash gourd gourds gourmet gout gowned gowning gowns grabber graced graces gracing graded grader grading graft grafted grafts grains gram grams grander grandly granite granny granola granule grape graped grapes graphed graping grapple grasped grasps grassed grasses grassy grate grated grater graters grates gratify grating graved gravel gravels gravely graven graver graves gravest gravies graving gravy graze grazed grazes grazing grease greased greases greats greened greener greens greet greeted greets gremlin grenade gridded griddle griding grids griefs grieve grieved grieves grill grille grilled grilles grills grimace grime grimed grimes grimier griming grimly grimmer grimy grin grinder grinned grins gripe griped gripes griping gripped grisly gristle grit grits gritted gritty grizzly groaned groans grocer grocers grocery groggy groin groins groom groomed grooms groove grooved grooves groovy grope groped gropes groping grossed grosser grotto grouch grouchy grouper grouse groused grouses grove grovel grovels groves grower growers growl growled growls growths grub grubbed grubby grubs grudge grudged grudges gruel gruels gruff gruffed gruffer gruffly gruffs grumble grumpy grunt grunted grunts guested guffaw guffaws guild guilds guile guiled guiles guiling guise guises guitars gulch gulches gulfs gull gulled gullet gullets gullies gulling gulls gully gulp gulped gulping gulps gumdrop gummed gummier gumming gummy gums gunfire gunman gunmen gunned gunner gunners gunning gunshot guppies guppy gurgle gurgled gurgles guru gurus gush gushed gusher gushers gushes gushing gust gusted gustier gusting gusts gusty gutted gutters gutting guyed guying guzzle guzzled guzzles gym gymnast gyms gyrate gyrated gyrates habitat hackney hacksaw haddock haded hades hading hag haggard hagged hagging haggle haggled haggles hags hailed hailing hails hairdo hairdos haired hairier hale haled haler hales halest halfway halibut haling hallway halo haloed haloing halon halos halter halters halved halving hamlet hamlets hammed hammers hamming hammock hamper hampers hams hamster handbag handier handout hangar hangars hanger hangers hangout hanker hankers hapless harass hardier hare hared harem harems hares haring hark harked harking harks harlot harlots harmed harming harms harness harp harped harping harpist harpoon harps harried harries harrow harrows harry harsher harshly hart harts harvest hashed hashes hashing hassled hassles haste hasted hastens hastes hastier hastily hasting hatch hatched hatches hatchet hateful hatreds hatted hatting haughty haul hauled hauling hauls haunt haunted haunts haven havens haves hawk hawked hawking hawks hayed haying hays haywire haze hazed hazel hazels hazes hazier haziest hazing headier headway heady heal healed healer healers healing heals heaped heaping heaps hearsay hearse hearsed hearses hearted hearten hearth hearths hearty heater heaters heath heathen heather heave heaved heaves heavies heaving heckle heckled heckler heckles hectic hectics hedge hedged hedges hedging heed heeded heeding heeds heeled heeling heftier hefty heifer heifers heinous heir heirs helium helling hellish hellos hells helm helmets helms helper helpers hem hemlock hemmed hemming hemp hems hen hences hens herald heralds herb herbs herded herding herds herein heretic hermit hermits hernia hernias heroine heroins heroism heron herons herpes hers hes hew hewed hewing hews hexagon heyday heydays hiatus hick hickory hicks highs hijack hijacks hike hiked hiker hikers hikes hiking hillier hilly hilt hilts hims hind hinder hinders hinds hinge hinged hinges hinging hipped hipper hippest hippie hippier hippies hipping hips hiss hissed hisses hissing hitch hitched hitches hither hive hived hives hiving hoard hoarded hoarder hoards hoarse hoarser hoax hoaxed hoaxes hoaxing hobbies hobbit hobble hobbled hobbles hobnob hobnobs hobo hoboed hoboing hobos hock hocked hockey hocking hocks hoe hoed hoeing hoes hogged hogging hogs hoist hoisted hoists holdup holdups holed holier holiest holing holler hollers hollies hollows holly holster homage homaged homages homed homely homey homeys homier homiest homing homonym hone honed honer hones honeyed honeys honing honk honked honking honks hood hooded hooding hoodlum hoods hoof hoofed hoofing hoofs hoop hooped hooping hoops hooray hoorays hoot hooted hooter hooting hoots hooves hop hopped hopper hopping hops horded hording hormone horned hornet hornets hornier horns horny horrors horsed horsing hose hosed hoses hosiery hosing hostage hosted hostel hostels hostess hosting hotbed hotbeds hotels hothead hotly hotter hottest hound hounded hounds hourly hove hovel hovels hover hovered hovers howl howled howling howls hows hub hubbub hubbubs hubs huddle huddled huddles hue hued hues huff huffed huffier huffing huffs huffy hug huger hugest hugged hugger hugging hugs hulk hulking hulks hull hulled hulling hulls humaner humanly humbled humbler humbles humbug humdrum humid hummed humming hump humped humping humps hums hunch hunched hunches hunger hungers hunk hunks hunter hunters hurdle hurdled hurdles hurl hurled hurling hurls hurried hurries hurtful hurtle hurtled hurtles hush hushed hushes hushing husk husked huskier huskies huskily husking husks husky hustle hustled hustler hustles hutch hutched hutches huts hybrid hybrids hydrant hyena hyenas hygiene hymn hymnal hymnals hymned hymning hymns hyphens iceberg iced ices icicle icicles icier iciest icing icings icy idiocy idioms idled idler idles idlest idling idly idol idols idyllic ifs igloo igloos ignite ignited ignites iguana iguanas ilk illicit ills imaged imagery imaging imitate immerse imp impacts impale impaled impales impart imparts impasse impeach impede impeded impedes impel impels imperil impetus impinge impish implant implore impound imprint imps impure impurer inaner inanest inborn inbred inbreds inbreed inbuilt incense incest inched inching incisor incite incited incites incomes indeeds indents indict indicts indigo indoor indoors induct inducts inept inert inerts inexact infamy infancy infants inferno infers infest infests infidel infield infirm infix inflame inflate influx infuse infused infuses ingest ingests ingrain inhale inhaled inhaler inhales inhuman injects inked inkier inkiest inking inkling inks inky inlaid inland inlay inlays inlet inlets inmate inmates inn innards innate inned inners inning innings inns inquest ins insaner insider insides insipid instep insteps instill insular insulin insure insured insurer insures intakes intents intern interns inters inti intrude invader invests invoice inward inwards iodine ions iota iotas irater iratest ire ired ires iring iris irises irk irked irking irks ironed ironies ironing irons isle isles isthmus italic italics itch itched itches itchier itching itchy iterate ivies ivories ivory ivy jab jabbed jabber jabbers jabbing jabs jackal jackals jackass jackdaw jacked jacking jackpot jacks jade jaded jades jading jagged jaguar jaguars jailed jailer jailers jailing jails jalopy jamb jambed jambing jambs jangle jangled jangles janitor jar jarred jarring jars jaunt jaunted jaunts jaunty javelin jaw jawbone jawed jawing jaws jay jays jaywalk jazzed jazzes jazzing jeer jeered jeering jeers jell jelled jellied jelling jells jerked jerkier jerking jerks jerky jersey jerseys jested jester jesters jesting jests jets jetted jetties jetting jetty jewel jewelry jewels jiffies jiffy jig jigged jigging jiggle jiggled jiggles jigs jigsaw jigsaws jilt jilted jilting jilts jingle jingled jingles jinx jinxed jinxes jinxing jitters jittery jobbed jobbing jockey jockeys jocular jog jogged jogger joggers jogging jogs jointed joker jokers jollied jollier jollies jolt jolted jolting jolts jostle jostled jostles jot jots jotted jotting jovial joyed joyful joying joyous joys jubilee judo jug jugged jugging juggle juggled juggler juggles jugs jugular juiced juices juicier juicing juicy jumble jumbled jumbles jumbo jumbos jumper jumpers jumpier jumpy jungles juniors juniper junked junket junkets junkie junkier junkies junking junks junta juntas juries juror jurors juster justest justly jut jute juts jutted jutting karat karate karats kayak kayaked kayaks keel keeled keeling keels keened keener keenest keening keenly keens keepers keg kegged kegging kegs kelp kennel kennels kernels ketchup kettles keyhole keynote khaki khakis kickoff kidneys killers kiln kilned kilning kilns kilo kilos kilt kilts kimono kimonos kin kinda kinder kindest kindle kindled kindles kindred kinfolk kink kinked kinkier kinking kinks kinky kins kinship kiosk kiosks kipper kissed kisses kissing kite kited kites kiting kitten kittens kitties kitty kiwi kiwis knack knacked knacker knacks knead kneaded kneads kneecap kneed kneeing kneel kneels knelt knifed knifes knifing knights knit knits knitted knives knob knobs knocker knoll knolls knot knots knotted knotty knuckle koala koalas kosher koshers kowtow kowtows kudos lace laced laces lacier laciest lacing lacquer lacy ladders lade laded laden lades lading ladle ladled ladles ladling lads ladybug laggard lagged lagging lagoon lagoons lags lair lairs laked lakes laking lamb lambda lambed lambing lambs lame lamed lament laments lamer lames lamest laming lampoon lamps lance lanced lances lancing lander lanes languid languor lankier lanky lantern lap lapel lapels lapped lapping laps lapse lapsed lapses lapsing larceny lard larded larding lards larges larked larking larks larva larvae larynx lash lashed lashes lashing lass lasses lastly latch latched latches latent latents lateral latex lath lathe lathed lather lathers lathes lathing laths latrine lattice laud lauded lauding lauds launder laundry laurel laurels lava lavish lawful lawless lawns lawsuit lax laxer laxes laxest laxity layered layman laymen layouts lazied lazier lazies laziest lazying leaden leafed leafier leafing leafs leafy leagued leagues leakage leaked leaking leaks leaky leaner leanest leaped leaping leaps lease leased leases leash leashed leashes leasing lectern ledge ledger ledgers ledges lee leech leeched leeches leek leeks leer leered leerier leering leers leery leeway lefter leftest lefts legacy legals legends legged legging legibly legion legions legume legumes lemme lemoned lemons lentil lentils leopard leotard leper lepers leprosy lesion lesions lessen lessens letdown lethals lettuce letup letups levee levees lever levered levers levied levies levity levy levying lewd lewder lewdest lexical lexicon liar liars libels lice lichen lichens lick licked licking licks lids lieu lighten likable liken likened likens liker likest lilac lilacs lilies lilt lilted lilting lilts lily limber limbers limbo lime limed limes liming limp limped limper limpest limping limps lineage linen liner liners linger lingers lingo lingoes linings linker lint lints lioness lions liquefy liqueur liquids liquors lisped lisping lisps litany lithe lither lithest lithium litters littler liturgy livable liven livened livens livers livid livings lizard lizards llama llamas loaf loafed loafer loafers loafing loafs loam loaned loaning loath loathe loathed loather loathes loaves lob lobbed lobbied lobbies lobbing lobe lobed lobes lobing lobs lobster locale localed locales locker lockers locket lockets locust locusts lodged lodger lodgers lodges lodging loft lofted loftier lofting lofts lofty logger loin loins loiter loiters loll lolled lolling lolls lone longed longing longish longs lookout loom loomed looming looms loon loonier loonies loons loony looped looping loosed loosen loosens looser looses loosest loosing loot looted looting loots lop lope loped lopes loping lopped lopping lops lorded lording lore loser losers lotion lotions lottery lotus lotuses lounge lounged lounges louse loused louses lousier lousing lovable lovings lowdown lowed lowing lowlier lowly lows loyaler loyalty lozenge lucid lucked luckier lucking lucks lug lugged lugging lugs lull lullaby lulled lulling lulls lumber lumbers lumped lumpier lumping lumpy lunacy lunar lunched lunches lunge lunged lunges lunging lurch lurched lurches lure lured lures lurid luring lush lusher lushes lushest lusted lustier lusting lusts lusty lute lutes lye lymph lynch lynched lynches lyre lyres lyrical macabre mace maced maces machete macho macing madam madame madams madcap madcaps madden maddens madder maddest madly madman madmen magenta maggot maggots magics magnate magnet magnets magnify magnum magpie magpies maid maiden maidens maids mailman mailmen maim maimed maiming maims maizes majesty majored majors makeup makeups malady malaria malice maliced malices malign maligns mall mallard malled mallet mallets malling malls malt malted malting malts mama mamas mammal mammals mammoth manacle mane manes mange manged manger mangers manges mangier manging mango mangoes mangy manhole manhood maniac maniacs manias manic manlier manly manners mannish manor manors mansion mantel mantels mantle mantled mantles manure manured manures maple maples mapper mar marble marbled marbles marched marcher marches mare mares marina marinas marine mariner marines maroon maroons marquee marred marring marrow marrows mars marsh marshal marshes marshy mart marted martial martin marting marts martyr martyrs marvel marvels mas mascara mascot mascots mash mashed mashes mashing masked masking masks mason masonry masons massage massed massing mast mastery masts mat matador mated mates math mating matron matrons mats matte matted mattes matting matured maturer matures maudlin maul mauled mauling mauls mauve maxim maximal maxims maybes mayhem mayors mazes meadow meadows mealed mealier mealies mealing mealy meander meaner meanest measles measly meats medal medals meddle meddled meddler meddles median medias mediate medley medleys meek meeker meekest meekly meeter megaton mellow mellows melodic melon melons melted melting melts memento memo memoir memoirs memos menace menaced menaces menial menials menthol mentor mentors mercies mered merer meres merest merger mergers mering merited mermaid merrier merrily mes mesh meshed meshes meshing messier metals mete meted meteor meteors metes meting mettle mew mewed mewing mews microbe middles midget midgets midriff midst midway midways midwife mien miens migrant mike miked mikes miking milder mildest mildew mildews militia milked milker milkier milking milkman milkmen milks milky milled miller millers milling mills mime mimed mimes mimicry mimics miming mince minced minces mincing mindful miner mineral miners mingle mingled mingles minibus minion minions mink minks minnow minnows minored minors minted minting mints minuet minuets minuses minuted minuter mirage mirages mire mired mires miring mirth misdeed miser miserly misers misfit misfits mishap mishaps mislaid mislay mislays missive misted mistier misting misty mistype misused misuses mite mites mitt mitten mittens mitts mixer mixers moat moated moating moats mobbed mobbing mobiles mobs mocked mockery mocking mocks modal moder moderns modesty modicum modular mohair moist moisten moister molar molars moles molest molests mollify mollusk molt molted molten molting molts mom moms mongrel monies monk monks monsoon moo moodier moodily moods moody mooed mooing mooned mooning moor moored mooring moors moos moose moot mooted mooter mooting moots mop mope moped mopes moping mopped mopping mops morale morass morbid morgue morgues morn morned morns moronic morose morsel morsels mortar mortars mortify mosaic mosaics mosque mosques moss mosses mossier mossies mossy motel motels moth moths motif motifs motley motleys motlier motored mottoes mound mounded mounds mourn mourned mourner mourns moused mouses mousier mousing mousse moussed mousses mousy mouthed mouths movable mover movers mow mowed mower mowers mowing mows mucous mucus muddied muddier muddies muddy muff muffed muffin muffing muffins muffle muffled muffler muffles muffs mugged mugger muggers muggier mugging muggy mulch mulched mulches mule muled mules muling mull mulled mulling mulls mumbled mumbles mummies mummify mumps mums munch munched munches mural murals murkier murky murmur murmurs muscled muse mused muses mush mushed mushes mushier mushing mushy musics musing musk musked musket muskets musking musks muss mussed mussel mussels musses mussing mustang mustard muster musters mustier musts musty mutant mutants mutate mutated mutates mute muted mutely muter mutes mutest muting mutiny mutt mutton mutts muzzle muzzled muzzles myopic myopics myriad myriads mys mystics mystify nab nabbed nabbing nabs nag nagged nagging nags naively naiver naives naivest naivety nakeder nap napalm napalms nape napes napkin napkins napped nappies napping nappy naps narrate narrows nasal nasals nastily nattier natty natured natures nausea naval navel navels navies navy nays neared nearing nears neater neatest nebula nebulae necked necking necks necktie nectar needier needled needy negated negates neigh neighed neighs neon nephew nephews nerved nerving nestle nestled nestles nether netted netting nettle nettled nettles neuron neurons neuter neuters neutron newbie newbies newborn newed newing newsed newses newsier newsing newsy newt newton newts nibble nibbled nibbles nicety niche niches nickel nickels niece nieces niftier nifty nigh nightly nilled nilling nils nimble nimbler nimbly nines ninety ninnies ninny ninth ninths nip nipped nippier nipping nipple nippled nipples nippy nips nit nitrate nits nitwit nitwits nobler nobles noblest nobly nod nodded nodding nods noes noised noisier noisily noising nomad nomadic nomads nominee non nones nonstop noodle noodled noodles nook nooks nooned nooning noons noose nooses normed norming norms nosed nosing nostril notch notched notches nougat nougats nourish nova noxious nozzle nozzles nuance nuances nuclei nucleus nude nuder nudes nudest nudge nudged nudges nudging nudity nugget nuggets nullify nulls numbed numbing numbs nuptial nursed nursery nursing nurture nutmeg nutmegs nutted nuttier nutting nutty nuzzle nuzzled nuzzles nylon nymph nymphs oaf oafs oak oaks oared oaring oars oases oasis oath oaths oatmeal obelisk obese obesity oblique oblong oblongs oboe oboes obtuse obtuser oceanic oceans octagon octal octave octaves octopus ocular oculars odder oddest oddity ode odes odious offbeat offed offing offings offload offs oftener ogle ogled ogles ogling ogre ogres ohm ohms ohs oiled oilier oiliest oiling oils oily okay okays okra okras olden oldened oldens olive olives omega omelet omelets omen omens ominous omnibus onerous onioned onions onliest onrush onset onsets onuses onward oodles ooze oozed oozes oozing opal opals opaque opaqued opaquer opaques opener openers openest operand opium opossum optics optima opulent oracle oracled oracles orals oranges oration orator orators oratory orbited orbits orchard orchid orchids ordain ordains ordeal ordeals orderly ore ores orgasm orgies orgy orifice ornate orphan orphans osmosis ostrich otter ottered otters ouch ounce ounces oust ousted ouster ousters ousting ousts outcast outdid outdo outdoes outdone outdoor outed outers outfit outfits outgrew outgrow outing outings outlaid outlast outlaw outlaws outlay outlays outlet outlets outlive outpost outran outrun outruns outs outsets outward outwit outwits ova oval ovals ovaries ovary ovation oven ovens overate overdid overdo overeat overlay overlie overran overrun overs oversaw oversee overt overtly overuse ovum owl owls oxen oxes oxide oxides oyster oysters paced paces pacific pacify pacing packer packers pact pacts paddies paddle paddled paddles paddock paddy padlock pagan pagans pageant pager pagoda pagodas pail pails pained paining painter paired pairing pal palaces palate palates paled paler pales palest palette paling pall palled pallid palling pallor palls palm palmed palming palms pals paltry pamper pampers panacea pancake panda pandas pander panders pane panes pang panged panging pangs panicky panics panned panning pans pansies pansy panted panther pantie panties panting pantry pap papa papacy papal papas papaya papayas papered paprika papyri papyrus parable paraded parades paragon parasol parcel parcels parch parched parches pardons pare pared pares paring parish parka parkas parkway parole paroled paroles parred parring parrots pars parsec parsecs parser parsley parsnip parson parsons partake parted partied parting partook pas passer pasta pastas pasted pastel pastels pastes pastier pasties pastime pasting pastor pastors pastry pasts pasture pasty patchy pate patents pates pathos pathway patio patios patriot patrol patrols patron patrons pats patted patter patters patties patting patty paucity paunch paunchy pauper paupers pave paved paves paving paw pawed pawing pawn pawned pawning pawns paws payable payer payers payload payoff payoffs payroll pea peaces peach peaches peacock peaked peaking peal pealed pealing peals pear pearl pearled pearls pears peas peat pebble pebbled pebbles pecan pecans peck pecked pecking pecks pedals peddle peddled peddler peddles peek peeked peeking peeks peel peeled peeling peels peep peeped peeping peeps peered peering peeve peeved peeves peeving peevish peg pegged pegging pegs pelican pellet pellets pelt pelted pelting pelts pelvic pelvics pelvis penal penance pencils pendant penis penises pennant penned penning pension pensive peon peonies peons peony peopled pep pepped pepper peppers pepping peps perch perched perches perfume peril perils perish perjure perjury perk perked perkier perking perks perky perplex persona pert pertain perter pertest perts perturb perusal peruse perused peruses pervade pervert peskier pesky pest pester pesters pests petal petals peter petered peters petite petites petrify pets petted pettier petties petting petunia pew pews pewter pewters phantom phlegm phobia phobias phonics phonied phonier phonies phony photoed photon photons pianist pianos piccolo pickax picket pickets pickier pickle pickled pickles pickup pickups picky picnic picnics piddle piddled piddles pieced piecing pier pierce pierced pierces piers pies piety pigeons pigged pigging piggish pigment pigpen pigpens pigtail pike piked pikes piking piled pilfer pilfers pilgrim piling pillage pillar pillars pillow pillows piloted pilots pimple pimples pimply pine pined pines pining pinion pinions pinked pinker pinkest pinking pinks pinned pinning pioneer pious piped piping pique piqued piques piquing piracy piranha pirate pirated pirates pis pistol pistols piston pistons pitched pitcher pitches piteous pithier pithy pitied pities pitiful pits pitted pitting pitying pivot pivotal pivoted pivots pixie pixies placard placate placid plaice plaid plaided plaids plainer plains planar planed planing plank planked planks planner planter plaque plaques plasma plateau plated plating platoon platter playful playpen plaza plazas plead pleaded pleads pleas pleat pleated pleats pledge pledged pledges pliable pliant plied pliers plies plight plights plod plodded plods plop plopped plops ploys pluck plucked plucks plucky plum plumage plumb plumbed plumber plumbs plume plumed plumes pluming plummet plump plumped plumper plumps plums plunder plunge plunged plunger plunges plurals pluses plush plusher plussed ply plying plywood poach poached poacher poaches pod podded podding podium podiums pods poise poised poises poising poked poker pokers pokes pokier pokiest poking poky polars poled polemic poles policed polices poling polio polios politer polka polkaed polkas polled pollen polling pollute polo polygon polyp polyps pomp poncho ponchos pond ponder ponders ponds ponies pontoon pony poodle poodles pooled pooling pools poop pooped pooping poops popcorn poplar poplars poppies poppy porch porches pore pored pores poring porous portal portals portend portent portico portly posies possum possums postbox postman postmen posture posy potency potent pothole potion potions pots potted potter potters pottery potting pouch pouched pouches poultry pounce pounced pounces pounded pout pouted pouting pouts powders powdery powwow powwows prairie praised praises pram prance pranced prances prank pranks prattle prawn prawned prawns preempt preen preened preens prefab prefabs prefect prelude premier prepaid prepay prepays preside presto pretext pretzel prey preyed preying preys prick pricked prickle prickly pricks prided prides priding pried prier pries prim primal primate primed primer primers priming primly primmer primp primped primps princes priors prism prisms prisons privier privies privy probe probed probes probing procure prod prodded prodigy prods profane profess proffer profuse progeny prom proms prong prongs proofed prop propel propels propped props pros proses prosper proton protons prouder proudly proverb proviso prow prowess prowl prowled prowler prowls prows proxies proxy prude prudent prudes prudish prune pruned prunes pruning pry prying psalm psalms psych psyche psyched psyches psychic psychs puberty puck pucked pucker puckers pucking pucks puddle puddled puddles pudgier pudgy pueblo pueblos puff puffed puffer puffier puffing puffs puffy puke puked pukes puking pulley pulleys pulped pulping pulpit pulpits pulps pulsate pulsed pulsing puma pumas pumice pumices pummel pummels pumpkin pundit pundits pungent punier puniest punk punker punkest punks punned punning punted punter punters punting puny pup pupped puppet puppets puppied puppies pupping puppy pups pured puree pureed purees purer purest purged purges purging purify puring purpler purples purport purr purred purring purrs purse pursed purses pursing pus pusher pushers pushier pushy puss pusses pussier pussies pussy putrid putter putters puttied putties putty pyramid pyre pyres pythons qua quack quacked quacks quail quailed quails quaint quake quaked quakes quaking qualm qualms quark quarrel quarry quart quartet quarts quartz quash quashed quashes quaver quavers quay quays queasy queened queenly queer queered queerer queers quell quelled quells quench queried quested quests quiche quicken quieted quiets quill quills quilt quilted quilts quinine quintet quip quipped quips quirk quirked quirks quirky quited quites quiting quitter quiver quivers quizzed quizzes quorum quorums rabbi rabbis rabble rabbles rabies raccoon racer racier raciest racists racked rackets racking racy radars radial radials radiant radiate radii radioed radish radium raffle raffled raffles raft rafted rafter rafters rafting rafts raged rages ragged ragging raging rags ragtime raided raider raiders raiding railed railing rainier rainy raisin raisins rake raked rakes raking rallied rallies rally ramble rambled rambler rambles rammed ramming ramp rampage ramps ramrod ramrods rams ranch ranched rancher ranches rancid ranger rangers ranked ranker rankest ranking rankle rankled rankles ransack ransom ransoms rap raped rapes rapider rapids raping rapist rapists rapped rapping rapport raps rapt rapture rared rares raring rarity rascal rascals rasher rashes rashest rashly rasp rasped rasping rasps raster ratify ratings ration rations ratted ratting rattler ratty raucous ravage ravaged ravages ravel ravels raven ravened ravens ravine ravined ravines ravings ravish rawer rawest rayon rays raze razed razes razing razors readied readier readies realer realest realism realist realty ream reamed reaming reams reap reaped reaper reapers reaping reaps reared rearing rears rebate rebated rebates rebel rebels rebind rebinds rebirth reborn rebound rebuff rebuffs rebuke rebuked rebukes rebut rebuts recant recants recap recaps recede receded recedes recess recital recite recited recites recline recluse recoil recoils recount recoup recoups rectal rector rectors rectum rectums recur recurs redden reddens redder reddest redeem redeems redhead redid redo redoes redoing redone redraft redraw redress reds reed reeds reef reefed reefing reefs reek reeked reeking reeks reel reelect reeled reeling reels referee refill refills refuel refuels refuge refugee refuges refunds refuted refutes regains regal regale regaled regales regalia regals regatta regent regents regimen regimes regress rehash reigned reigns rein reined reining reins rejoice rejoin rejoins relaid relapse relayed relays relent relents reliant relic relics reliefs relish relive relived relives reload reloads remade remake remakes remiss remit remits remnant remodel remorse remoter remotes renege reneged reneges renewal renown renowns rental rentals rented renting rents reopen reopens repaid repay repays repeal repeals repel repels repents replay replete replica repose reposed reposes repress reprint reprove reptile repulse repute reputed reputes requiem reroute resale rescind rescued rescuer rescues resents resided residue resin resins resists resound respite restful restive retails retard retards retch retched retches rethink retina retinas retort retorts retrace retreat retries retry retype reunion reunite reused reuses reusing rev revamp revamps revel revelry revels revere revered reveres reverie reverts revile reviled reviles revisit revival revive revived revives revoke revoked revokes revolve revs revue revues revved revving rewind rework rhino rhinos rhubarb rhymed rhymes rhyming rhythms rib ribbed ribbing ribbons ribs riced rices riches richly ricing rickety riddle riddled riddles rider riders ridge ridged ridges ridging rife rifer rifest rifle rifled rifles rifling rift rifted rifting rifts rig rigged rigging righted righter rigidly rigs rile riled riles riling rim rimmed rimming rims rind rinded rinding rinds ringlet rink rinked rinking rinks rinse rinsed rinses rinsing rioted rioter rioters rioting riotous riots ripe riped ripen ripened ripens riper ripes ripest riping riposte ripper ripple rippled ripples riser risers riskier rite rites rivalry rive rives rivet riveted rivets roach roaches roam roamed roaming roams roar roared roaring roars roast roasted roasts rob robbed robber robbers robbery robbing robe robed robes robin robing robins robs rocked rocker rockers rockets rockier rocking rocky roded rodent rodents rodeo rodeos rodes roding rods roe roes rogue rogues roguish roller rollers romp romped romping romps roofed roofing roofs rook rooked rookie rookier rookies rooking rooks roomed roomier rooming roomy roost roosted rooster roosts rooted rooter rooting roped ropes roping rosary roses rosier rosiest roster rosters rostrum rosy rotary rote roted rotes roting rotor rotors rots rotted rottens rotting rotund rotunda rotunds rouge rouged rouges roughed roughen rougher roughs rouging rounder rouse roused rouses rousing router rowboat rowdier rowdies rowdy rowed rowing royally royals royalty rubbed rubbers rubbing rubble rubbled rubbles rubied rubier rubies rubiest rubric rubs ruby rubying ruckus rudder rudders ruddied ruddier ruddies ruddy rudely ruder rudest rue rued rueful rues ruff ruffed ruffian ruffing ruffle ruffled ruffles ruffs rug rugby rugged rugging rugs ruing ruinous rulered rulings rum rumble rumbled rumbles rummage rummer rummest rummy rump rumped rumping rumple rumpled rumples rumps rums runaway rundown rune runes rungs runner runners runnier runny runt runts runway runways rupture ruse ruses rust rusted rustic rustics rustier rusting rustle rustled rustler rustles rusts rut ruts rutted rutting rye sac sacs sadder saddest saddle saddled saddles sades sadism sadist sadists sadness safari safaris safes saffron sag sagas sage sager sages sagest sagged sagger sagging sags sailor sailors saintly saints salad salads salami salamis salient saliva sallow sally salmon salmons salon salons saloon saloons salted salter saltest saltier salties salting salts salty salute saluted salutes salvage salve salved salves salving sames sampler sandal sandals sandbag sanded sandier sanding sandman sandmen sands sandy saned saner sanes sanest sangs saning sap sapling sapped sapping saps sardine sari saris sash sashes sassier sassy satanic satchel satin satined satins satires sauced saucer saucers sauces saucier saucing saucy sauna saunaed saunas saunter sausage savage savaged savager savages saver savvied savvier savvies savvy sawdust sawed sawing saws sayings scab scabbed scabs scalar scalars scald scalded scalds scalier scallop scalp scalped scalpel scalps scaly scamper scant scanted scanter scants scanty scar scarcer scarfed scarfs scarier scarred scars scarves scary scened scenic scening scent scented scents schemed schemer scissor scoff scoffed scoffs scold scolded scolds scoop scooped scoops scoot scooted scooter scoots scoped scopes scoping scorch scorer scorn scorned scorns scotchs scour scoured scourge scours scout scouted scouts scowl scowled scowls scram scrams scrape scraped scrapes scrawl scrawls scrawny screech screwy scribe scribes scrub scrubs scruff scruffs scruffy scruple scuff scuffed scuffle scuffs scummed scums scurry scuttle scythe scythed scythes seafood seam seaman seamed seamen seaming seams seaport sear seared searing sears seas seasick seaside seasons seated seating seaweed secede seceded secedes seclude secrecy secrete sectors secured securer secures sedan sedans sedate sedated sedater sedates seduce seduced seduces seeded seedier seeding seeds seedy seep seepage seeped seeping seeps seer seesaw seesaws seethe seethed seethes seize seized seizes seizing seizure seller sellers selves semen senate senates senator senile seniors sensed sensing sensor sensors sensory sensual sentry sequels sequin sequins serene serened serener serenes serials sermons serpent serum serums servile setback setter setters settler sevens seventy sever severed severer severs sew sewage sewed sewer sewers sewing sewn sews sexed sexing sexism shabby shack shackle shacks shaded shadier shading shadows shadowy shady shaft shafted shafts shaggy shakier sham shamble shamed shames shaming shammed shampoo shams shanty shapely shark sharked sharks sharped sharpen sharper sharps shatter shave shaved shaver shavers shaves shaving shawl shawled shawls sheaf shear sheared shears sheath sheathe sheaths sheave sheaves sheen sheered sheerer sheers sheik sheiks shelled sheller shelved sherbet sheriff sherry shes shied shield shields shies shifty shimmer shin shingle shinier shinned shins shire shirk shirked shirks shirted shirts shiver shivers shoal shoaled shoals shod shoddy shoeing shoo shooed shooing shoos shopper shore shored shores shoring shorted shotgun shoved shovel shovels shoves shoving showier showman showmen showy shrank shred shreds shrew shrewd shrewed shrews shriek shrieks shrill shrills shrimp shrimps shrine shrines shrink shrinks shrivel shroud shrouds shrub shrubs shrug shrugs shrunk shuck shucked shucks shudder shuffle shun shunned shuns shunt shunted shunts shutter shuttle shyer shyest shying shyness sibling sicked sicker sickest sicking sickle sickled sickles sickly sicks sics sidings sidle sidled sidles sidling siege sieges sierra siesta siestas sieve sieved sieves sieving sift sifted sifting sifts sighed sighing sighs signer signify silents silk silken silkens silks sill sillies sills silo silos silt silted silting silts silvers silvery simile similes simmer simmers simpled simples simplex sinew sinews sinewy singe singed singes singled singly sinned sinner sinners sinning sinus sinuses sip sipped sipping sips sire sired siren sirens sires siring sirloin sirred sirring sirs sissier sissies sissy sisters sited siting sitter sitters sixes sixths sizable sizer sizzle sizzled sizzles skate skated skater skaters skates skating skein skeined skeins sketchy skew skewed skewer skewers skewing skews ski skid skidded skids skied skies skiing skillet skim skimmed skimp skimped skimps skimpy skims skinned skinny skins skipper skirted skirts skis skit skited skiting skits skulk skulked skulks skulls skunk skunked skunks skying skyline slab slabbed slabs slack slacked slacken slacker slacks slain slake slaked slakes slaking slam slammed slams slander slant slanted slants slap slapped slaps slashed slashes slat slate slated slates slating slats slaved slavery slaving slavish slay slaying slays sleazy sled sledded sleds sleek sleeked sleeker sleeks sleeper sleepy sleet sleeted sleets sleeve sleeves sleigh sleighs slender slew slewed slewing slews slick slicked slicker slicks slided slier sliest slights slime slimier slimmed slimmer slims slimy sling slings slink slinks slipper slit slither slits slitted slitter sliver slivers slob slobber slobs slog slogans slogged slogs slop sloped slopes sloping slopped slops slosh sloshed sloshes sloth slothed sloths slotted slouch sludge sludged sludges slug slugged slugs sluice sluiced sluices slum slumber slummed slummer slump slumped slumps slums slung slunk slur slurred slurs slush slut sluts sly slyness smack smacked smacks smalled smalls smarted smarter smartly smarts smear smeared smears smelled smelt smelted smelts smidgen smirk smirked smirks smite smites smiths smiting smitten smock smocked smocks smog smokier smokies smoky smooths smote smother smudge smudged smudges smugged smugger smuggle smugly smugs smut smuts snacked snacks snagged snags snailed snails snake snaked snakes snaking snap snapped snappy snaps snare snared snares snaring snarl snarled snarls snatch sneaker sneer sneered sneers sneeze sneezed sneezes snicker snide snider snides snidest sniffed sniffle sniffs snip snipe sniped sniper snipers snipes sniping snipped snippet snips snitch snob snobs snooker snoop snooped snoops snooty snooze snoozed snoozes snore snored snores snoring snorkel snort snorted snorts snot snots snotted snout snouted snouts snowed snowier snowing snows snowy snub snubbed snubs snuff snuffed snuffer snuffs snug snugged snugger snuggle snugly snugs soak soaked soaking soaks soaped soapier soaping soaps soapy soar soared soaring soars sob sobbed sobbing sobered soberer sobers sobs soccer socials socked socking soda sodas sodded sodden sodding sodium sodomy sods sofa sofas soften softens softer softest softly soggier soggy soiled soiling soils sojourn solace solaced solaces solder solders soled solemn solicit solider solidly solids soling soloed soloing soloist solos soluble solvent somber someday sonata sonatas sonic sonics sonnet sonnets soot soothe soothed soother soothes sootier sooty sop sopped sopping soprano sops sorcery sored sorely sorer sores sorest soring sorrier sorrow sorrows sorta sounder soundly souped souping soups sour sourced soured sourer sourest souring sours sow sowed sowing sown sows spa spacial spade spaded spades spading spangle spaniel spank spanked spanks spanned spanner spans spar spared sparer sparest sparing spark sparked sparkle sparks sparred sparrer sparrow spars sparse sparser spas spasm spasmed spasms spat spate spats spatted spatter spatula spawn spawned spawns spay spayed spaying spays spear speared spears speck specked specks spectra speedy speller sperm sperms spew spewed spewing spews spheres sphinx spice spiced spices spicier spicing spicy spider spiders spied spigots spiked spikes spiking spills spinach spinal spinals spindly spine spines spins spirals spire spires spited spites spiting spittle splash splat spleen spleens splice spliced splices splint splints splurge spokes sponge sponged sponges spongy spoofed spoofs spook spooked spooks spooky spooled spools spoon spooned spoons spore spores sporran sported spotty spouse spouses spouted spouts sprain sprains sprangs sprawl sprawls sprayed sprays spree spreed sprees sprier spriest sprig sprigs springy sprint sprints sprout sprouts spruce spruced sprucer spruces spry spud spuds spun spunk spunked spunks spurn spurned spurns spurred spurs spurt spurted spurts sputter spying squads squalid squall squalls squalor squarer squat squats squawk squawks squeak squeaks squeaky squeal squeals squelch squid squids squint squints squire squired squires squirm squirms squirt squirts stab stabbed stabled stabler stables stabs stacked stadium staffed staffs stag staged staging stags staid staider stain stained stains staked stakes staking staled staler stales stalest staling stalk stalked stalks stalled stalls stamina stammer stances stanch standby stank stanks stanza stanzas staple stapled stapler staples starch starchy stardom starked starker starks starry stately stater statue statues stature statute staunch stave staved staving steak steaks stealth steamed steams steamy steeled steels steeped steeper steeple steeps stellar stemmed stench stencil stereos stern sterned sterner sternly sterns stew steward stewed stewing stews sticker stiffed stiffen stiffer stiffly stiffs stifle stifled stifles stigma stigmas stilled stiller stills stilted stimuli sting stinger stings stingy stink stinks stint stinted stints stirrup stitch stocked stocky stodgy stoical stoke stoked stokes stoking stoles stolid stomp stomped stomps stoned stonier stoning stony stool stools stoop stooped stoops stopgap stopper stork storks stormed stormy stout stouter stove stoves stow stowed stowing stows strait straits strand strands strap straps strata stratum strawed straws strayed strays streak streaks strew strewed strewn strews stride strides strife striker stringy stripe striped stripes striven strives strode stroked strokes stroll strolls strove strum strums strung strut struts stub stubbed stubble stubby stubs stud studded studios studs stuffy stump stumped stumps stung stunk stunted stunts stupefy stupids stupor stupors sturdy stutter styled styling stylish stylus suave suaver suavest sub subbed subbing subdue subdued subdues sublet sublets sublime subs subsets subside subsidy subsist subtler suburb suburbs subvert succumb suck sucked sucker suckers sucking suckle suckled suckles sucks suction suds suede sugared sugars sugary suites suitor suitors sulk sulked sulkier sulkies sulking sulks sulky sullen sultan sultans sultry summers summit summits summon summons sunburn sundae sundaes sundial sundown sunken sunks sunlit sunned sunnier sunnies sunning suns sunset sunsets suntan suntans sunup sup supered supers supper suppers supple suppler surer surest surf surfed surfing surfs surge surged surgeon surges surging surlier surly surmise surpass surreal swab swabbed swabs swagger swampy swan swans swarm swarmed swarms swarthy swat swathe swathed swathes swats swatted sway swayed swaying sways sweater sweaty sweeper sweeten sweeter sweetly sweets swell swelled sweller swells swerve swerved swerves swift swifted swifter swiftly swifts swig swigged swigs swill swilled swills swindle swine swines swings swipe swiped swipes swiping swirl swirled swirls swish swished swisher swishes swivel swivels swollen swoon swooned swoons swoop swooped swoops sworded swords swung synapse syringe syrup tabbed tabbies tabbing tabby tabled tablet tablets tabling tabloid taboo tabooed taboos tacit tacitly tackier tackies tacky taco tacos tact tactful tadpole tagged tagging tags tailed tailing taint tainted taints takeoff talc talker talkers taller tallest tallied tallies tallow tally talon talons tamed tamely tamer tames tamest taming tamper tampers tan tandem tandems tang tangle tangled tangles tango tangoed tangos tangs tankard tanked tanker tankers tanking tanned tanner tannest tanning tans tantrum taped taper tapered tapers taping tapped tapping taps tar tardier tardies tardy tariff tariffs tarnish tarred tarried tarrier tarries tarring tarry tars tart tartan tartans tartar tartars tarted tarter tartest tarting tarts tasked tasking tassel tastier tasty tattle tattled tattles tattoo tattoos tatty taunt taunted taunts taut tauted tauter tautest tauting tauts tavern taverns tawdry tawnier tawny taxable taxed taxicab taxied taxiing taxing taxis teacup teacups teaed teaing teak teaks teamed teaming teapots tearful teas tease teased teases teasing teat teats tedium tee teed teeing teem teemed teeming teems teen teens tees teeter teeters teethe teethed teethes teller tellers tempers tempest temples tempo tempos tenable tenancy tenant tenants tenders tendon tendons tendril tenet tenets tenor tenors tensed tenser tenses tensest tensing tensors tent tented tenths tenting tents tenuous tenure tenured tenures tepee tepees tepid termini termite termly terrace terrain terrier terrors tersely terser tersest tester testers testes testify testis tetanus tether tethers textile texture thatch thaw thawed thawing thaws thefts theist theists thence thereon thermal theta thicken thicker thicket thickly thigh thighs thimble thinker thinly thinned thinner thins thirded thirds thirsts thirsty thistle thong thongs thorn thorns thorny thrash threads threes thresh thrice thrift thrifts thrifty thrill thrills thrive thrived thrives throb throbs throne thrones throng throngs thud thudded thuds thug thugs thumbed thumbs thump thumped thumps thunder thwart thwarts thyme thyroid tiara tiaras ticked ticking tickle tickled tickles ticks tidal tidbit tidbits tide tided tides tidier tidiest tiding tier tiers tiff tiffed tiffing tiffs tigers tighten tighter tights tilde tiled tiling tilled tilling tills tilt tilted tilting tilts timber timbers timely timers timid timider timidly timings tinder ting tinge tinged tinges tinging tingle tingled tingles tings tinier tiniest tinker tinkers tinkle tinkled tinkles tinned tinnier tinnies tinning tinny tinsel tinsels tint tinted tinting tints tipped tipping tipsier tipsy tiptoe tiptoed tiptoes tirade tirades tireder tissue tissues tit titled titling tits titted titter titters titting toads toasted toaster toasts toddle toddled toddler toddles toed toeing toenail toffee toffees toga togas toil toiled toiling toils tolled tolling tolls tomb tombed tombing tomboy tomboys tombs tomcat tomcats tomes tonal toned tong tongs tongued tongues tonic tonics toning tonnage tonne tonnes tonsil tonsils tooled tooling toolkit toot tooted tooting toots topaz topazes topped topping topple toppled topples torch torched torches torment tornado torpedo torque torrent torrid torso torsos tossed tosses tossing tot totals tote toted totem totems totes toting tots totted totter totters totting toucan toucans touchy toughed toughen tougher toughs toupee toupees toured touring tours tousle tousled tousles tout touted touting touts tow towed towel towels towered towing tows toxic toxin toxins toyed toying tract tractor tracts trader traders tragics trailer trainee trainer trait traitor traits tramp tramped trample tramps trance trances trapeze trapper trashed trashes trashy trauma traumas trawl trawled trawler trawls trays treacle treads treason treble trebled trebles treed treeing trekked treks trellis tremble tremor tremors trench trended trestle tribal tribute tricked trickle trifled trifles trill trilled trills trim trimmed trimmer trims trinket trio trios tripe tripled triples triplet tripod tripods tripped trite triter trites tritest trod trodden trodes troll trolled trolls trooped trooper trophy trot trots trotted trough troughs trounce troupe trouped troupes trout trouts trowel trowels truancy truant truants truce truces trucked trudge trudged trudges trued truer trues truest truffle truing truism truisms trump trumped trumps trunked trustee tryings tryout tryouts tub tuba tubae tubas tubed tubing tubs tubular tuck tucked tucking tucks tuft tufted tufting tufts tug tugged tugging tugs tuition tulip tulips tumble tumbled tumbler tumbles tummies tummy tumult tumults tuna tunas tundra tundras tuneful tuner tuners tunic tunics turban turbans turbine tureen tureens turf turfed turfing turfs turgid turkey turkeys turmoil turner turnip turnips turnout turret turrets turtle turtles tusk tusks tussle tussled tussles tutored tutors tuxedo tuxedos twang twanged twangs tweak tweaked tweaks twee tweed tweet tweeted tweets twelfth twelves twiddle twig twigged twigs twine twined twines twinge twinged twinges twining twinkle twinned twirl twirled twirls twister twitch twitter twos tycoon tycoons typhoid typhoon typhus typify typist typists tyranny tyrant tyrants udder udders uglied uglier uglies ugliest uglying ulcer ulcered ulcers ultra umpire umpired umpires umpteen unarmed unblock unborn uncanny unclean uncled uncles uncling uncouth uncover uncut undress undue undying unearth unequal uneven unfit unfits unfold unfolds unfunny unfurl unfurls ungodly unheard unhook unhooks unicorn uniquer unison unities unjust unkempt unkind unleash unlikes unloads unman unmans unmask unmasks unmoved unnamed unnerve unpack unpacks unpaid unpick unravel unreal unrest unrests unruly unsafer unsaid unsay unsays unscrew unseat unseats unstuck unsung untie untied unties untiled untiles untold untruer untying unveil unveils unwary unwell unwind unwinds unwiser unwound unwrap unwraps upbeat upbeats upend upended upends upheld uphill uphills uphold upholds upkeep uplift uplifts upload upped uppers upping uproar uproars uproot uproots upshot upshots upstart uptake uptight uptown upturn upturns uranium urbane urbaner urchin urchins urinate urine urn urned urning urns usages usher ushered ushers usurp usurped usurps utensil uteri uterus utmost uttered utterer utters vacant vacate vacated vacates vaccine vacuous vacuums vagary vagina vaginae vaginal vagrant vagued vaguer vagues vaguest vainer vainest valet valeted valets valiant validly valise valises valleys valved valving vampire vandal vandals vane vanes vanilla vanity vanned vanning varnish varsity vase vases vaster vastest vasts vats vatted vatting vault vaulted vaults veal vealed vealing veals veer veered veering veers veil veiled veiling veils veined veining veins velvet velvets velvety vendors veneer veneers venison venom vent vented venting vents veranda verbals verge verged verges verging verier veriest vermin versed versing vertigo verve vessels vest vested vestige vesting vests veteran veto vetoed vetoes vetoing vets vetted vetting vex vexed vexes vexing viaduct vial vials vibrant vibrate vicars viced vices vicing victor victors videoed videos vie vied vies viewers vigil vigils viler vilest vilify villa villain villas vine vined vinegar vines vining vinyls viola violas violet violets violins viper vipers viral virgins virile visa visaed visaing visas vise vised vises visibly vising visions visor visors vista vistaed vistas visuals vitally vitals vitamin vivid vivider vividly vocals vodka vogue vogued vogues voguing voiced voicing voided voiding voids volcano volley volleys volt volts volumed vomited vomits voodoo voodoos vortex vouched voucher vouches vow vowed vowels vowing vows voyage voyaged voyager voyages vulgar vulture vying wad wadded wadding waddle waddled waddles wads wafer wafers waffled waffles waft wafted wafting wafts wag waged wager wagered wagers wagged wagging waging wags waif waifed waifing waifs wail wailed wailing wails waist waisted waists waiter waiters waive waived waiver waivers waives waiving waken wakened wakens walker walkers walkout walled wallets walling wallop wallops wallow wallows walnut walnuts walrus waltz waltzed waltzes wan wand wands wane waned wanes waning wanna wanner wannest wanton wantons warble warbled warbles warded warden wardens warding wards warfare warhead warier wariest warlike warmer warmest warmly warmth warpath warred warren warrens warring warrior wart warts wases washer washers washout wasp wasps wastage watered watery watt watter wattest watts waver wavered wavers wavier waviest wavy wax waxed waxes waxier waxiest waxing waxy waylaid waylay waylays wayside wayward weaken weakens weaker weakest weakly wean weaned weaning weans wearied wearier wearies wearily weave weaved weaver weavers weaves weaving web webbed webbing webs wedder wedge wedged wedges wedging wedlock weed weeded weedier weeding weeds weedy weeing weep weeping weeps weer wees weest weighed weighs weights weighty weirded weirder weirdo weirdos weirds weld welded welder welders welding welds welled welling wells welt welted welter welters welting welts wept wested westing wests wetter wettest whack whacked whacks whaled whaler whalers whaling wharf wharves whats wheat wheedle wheeled wheeze wheezed wheezes whens wherein wheres whet whets whetted whew whewed whewing whews whiff whiffed whiffs whiled whiles whiling whimmed whimper whims whine whined whines whining whinny whip whipped whips whir whirl whirled whirls whirred whirs whisk whisked whisker whisks whisper whiten whitens whiter whitest whittle whizzed whizzes whoa wholes whooped whopper whore whores whys wick wicker wickers wicket wickets wicks widen widened widens widow widowed widower widows widths wield wielded wields wig wigged wigging wiggle wiggled wiggles wigs wigwam wigwams wildcat wilded wilder wildest wilding wilds wilier wiliest willow willows wilt wilted wilting wilts wily wince winced winces winch winched winches wincing windier windy wined winged wingers winging wining wink winked winking winks winsome winters wintry wiper wipers wirier wiriest wiry wisely wises wishful wisp wispier wisps wispy wist wistful witched witches withe withed wither withers withes withing withs witless wits wittier witting wizards wizened wobble wobbled wobbles wobbly woe woes wok woks wolfed wolfing wolfs wolves womb wombats wombs woo wooded woodier woodies wooding woody wooed woof woofed woofing woofs wooing wool woolly woos wordier wordy workman workmen workout worldly wormed worming worsen worsens worsted worsts wost wot woulds wounded wounder wounds wove woven wovens wowed wowing wows wrangle wrathed wraths wreak wreaked wreaks wreath wreathe wreaths wrench wrens wrest wrested wrestle wrests wretch wried wries wriggle wright wring wringer wrings wrinkle wrists writ writhe writhed writhes writs wronged wronger wrought wrung wry wryer wryest wrying yacht yachted yachts yak yakked yakking yaks yam yams yank yanked yanking yanks yap yapped yapping yaps yarn yarns yawned yawning yawns yearn yearned yearns yeast yeasts yell yelled yelling yellows yells yelp yelped yelping yelps yen yens yeses yessed yessing yew yews yielded yodel yodels yoga yogurt yogurts yoke yoked yokel yokels yokes yoking yolk yolks yonder yous youths yowl yowled yowling yowls zanied zanier zanies zaniest zany zanying zeal zealous zebra zebras zenith zeniths zeroed zeroing zest zests zeta zigzag zigzags zillion zinc zincked zincs zip zipped zipper zippers zipping zips zodiac zodiacs zombie zombies zoned zoning zoo zoology zoomed zooming zooms zoos abash abashed abashes acerbic achier achiest achy acidic adeptly advents aerobic aha ahas airfare airily airings airless alfalfa aloha alohas alpine alpines alright alumna alumnae alumni alumnus ammo amped amping amputee antacid anymore anytime apprise arctic arctics armband armful armfuls armhole arousal artsier artsy auspice avidly awash baa baaed baaing baas babysat babysit backup backups bagpipe bailiff baleful bane baned banes bangle bangles baning barbell barf barfed barfing barfs barrack barrio barrios barroom bassist bate bated bates bating bebop bebops bedpan bedpans beeline beep beeped beepers beeping beeps beltway berate berated berates bevel bevels bibles bicep biceps bidder bidders biggie biggies bigwig bigwigs biker bikers bimbo bimbos binge binged binges binging biopsy bitchy blah blahed blahing blahs blandly bleakly blender bloat bloated bloats blooper blotchy blowup blowups bluish blurbs blurry blusher bonanza bongo bongos bonkers boob boobed boobing boobs boogie boogied boogies bookie bookies boozed boozer boozers boozes boozing bopped bopping bops bossily bouncer bouncy bozo bozos breakup brewer brewers brogue brogues brothel browser buildup bullish bumble bumbled bumbles bummers bursars busboy busboys buster busters buyout buyouts bylaw bylaws cachet cachets cadaver cadre cadres cahoot cahoots capitol careen careens carjack cattier catty caveman cavemen cervix charade charmer cheater cheddar chiffon chino chinos chit chits chive chives chump chumps civilly cleanup clipper clobber cloned cloning clunk clunked clunks coed coeds cohabit cola colas cologne comfier comfy condo condos connive cookout copilot copter copters costar costars cranny crapped crappie crappy craps cravat cravats credo credos creole creoles crick cricked cricks crimp crimped crimps crinkly critter crooner crud cruddy cryings cupcake curler curlers curlier cursors curvier curvy cuss cussed cusses cussing cutely cutoff cutoffs dampers deadpan deafen deafens decaf decal decals decor decors defuse defused defuses demo demoed demoing demonic demos denture deploy deploys derbies derby detox detoxed detoxes dicey dicier diciest dick dicks dis discoed dissed disses dissing divider docket dockets doggone dollop dollops doodad doodads doormat dork dorkier dorks dorky dorm dorms dosage dosages dossier dotings downer downers drake drakes drifter duos earlobe earmuff earplug earwax eaters eatery edified edifies edify eerily egghead elate elated elates elating elfin embroil emcee emceed emcees emirate enclave enthuse epigram epistle eschew eschews espouse estuary eunuch eunuchs evacuee exec execs exes expo expos fag fagged fagging fags famish fannies fanny fart farted farting farts fax faxed faxes faxing fecal feedbag feisty fems fer fest fests fiat fiats fibrous finagle finder finders fishnet fizzier fjord fjords flab flaccid flaks floozy flub flubbed flubs footsie foxhole foxtrot frat frats freebie fridge fridges frizz frizzed frizzes frumpy fuck fucked fucker fuckers fucking fucks fungal fungals funk funked funkier funking funks funky gabbier gabby gaff gaffe gaffed gaffes gaffing gaffs gaggle gaggles galosh gapings gassier gassy gauche gaucher gazebo gazebos geek geekier geeks geeky geezer geezers geisha gelled gelling gels genteel gerund gerunds getup giblet giblets gleeful glitch glitz glitzy glob globed globing globs glumly gnarly goddamn gofer gofers goings gollies golly goshes gotta grad graders grads grainy grandma grandpa gratis grayish gringo gringos groupie grunge grungy guff gumbo gumbos gunboat gunk gushier gushy gusto gutsier gutsy guzzler gyp gypped gypping gyps gypsies gypsy hairnet hallow hallows handgun hankie hankies harelip hashish haunch hazings heck heiress heist heisted heists hemline herbal hertz hickey hickeys hideout hilltop hippo hippos hokey hokier hokiest homer homered homers honcho honchos hooker hookers hookier hospice hotcake hotshot howdied howdies howdy hubcap hubcaps huhs hunker hunkers hurdler hype hyped hyper hypes hyping icebox ickier ickiest icky iffier iffiest iffy imbibe imbibed imbibes imbue imbued imbues imbuing implode inroad inroads jazzier jazzy jeez jerkily jigger jiggers jive jived jives jiving jobless jock jocked jocking jocks john johns jowl jowls joyride joyrode jukebox kaput karma kiddie kiddied kiddies kiddo kiddos kingpin klutz klutzes klutzy knobby laptop laptops lasso lassoed lassos layaway layoff layoffs layover lazily leakier leggier leggy legit lender lenders leprous liaise liaised liaises lib libbed libbing libido libidos libs lien liens liftoff limboed limbos limo limos linens lineup lineups lite lites logbook logjam logjams logos loner loners looter looters lowbrow loyally lucidly luridly macro macros majorly malaise manhunt manics mantra mantras markup markups masseur mawkish maxed maxes maxing mayday maydays mayo meatier meaty mecca meccas medians meg megs meld melded melding melds menorah methane midair midterm midweek miff miffed miffing miffs milieu milieus mini minis minivan mintier minty misstep mister misters modals modem modems momma mommas mommies mommy moniker mono montage mooch mooched mooches moonlit mopeds mores moses mossed mossing mottle mottled mottles mulatto musings mutable nannied nannies nanny nappier narc narced narcing narcs nasally negs nerd nerdier nerds nerdy newness nigger niggers niggle niggled niggles nightie nonfat nonplus nope nopes nudist nudists nuke nuked nukes nuking nylons oat oats occult oddness odyssey oink oinked oinking oinks oldie oldies onetime oops oopses orally ordinal orgasms oriole orioles outage outages outback outbid outbids outcrop ovarian overjoy padre padres pagers panache parquet partway payday paydays payee payees pee peed peeing pees peppier peppy perm permed perming perms phalli phallic phallus phobic phobics phooey phooeys picker pickers pidgin pidgins piggier piggies piggy piglet piglets pigsty pileup pileups pilings pimp pimped pimping pimps pincer pincers ping pinged pinging pings pinkie pinkies pinup pinups piously piquant piss pissed pisses pissing pixel pixels placebo playboy playoff plenary plunk plunked plunks pogrom pogroms pointy polymer pompom pompoms pontiff pooch pooched pooches porn posh poshed posher poshes poshest poshing posse posses postdoc postwar potluck pottier potties potty precept predate prep prepped preppy preps presage prewar pricey pricier primacy prissy prof profs promo promos pronto prosaic provost psycho psychos pubbed pubbing pubic pubs puerile pullout purist purists puritan purser pursers purvey purveys pygmies pygmy pylon pylons quad quads quarks quiches quickie radon ragtag ragtags raspier raspy raunchy razz razzed razzes razzing reddish redneck redness redskin redwood reenact reentry ref reffed reffing refs reggae regroup rehab rehabs reissue remarry remover renter renters rep replays reprise reps reran rerun reruns resales restate retake retaken retakes retinue retiree retook retread retrial retrod revalue rewinds reworks rewound ribald ritzier ritzy roadway rollick rooftop roomful roundup rove roved roves roving rubbery rubdown rubella salsa salsas sass sassed sasses sassing satiny savers sax saxes scad scads scalper scam scammed scams schism schisms schlep schleps schlock schmuck scrappy scrimp scrimps scrooge secs sellout seminal sequoia setup setups sexier sexiest sexists shakeup shakily shinny shit shits shitty showbiz shush shushed shushes shuteye shyly shyster silkier silkies silky simper simpers sitcom sitcoms skier skiers skydive slalom slaloms slather sleuth sleuths slurp slurped slurps slushy slyly smoggy smooch smutty snafu snafus snazzy snit snits snobby snotty snowman snowmen softies softy someway sorbet sorbets soulful sourly soybean spacey spacier spastic spates speckle spiel spieled spiels spiffy splashy splats splay splayed splays sporty spunky staffer stalker stash stashed stashes stats steeply stepson steroid stilt stilts stinker stipend stoic stoics streaky stymie stymied stymies summery surfer surfers swank swanked swanker swanks swatch sweetie swelter swimmer sync synced syncing syncs synod synods tad tads taffies taffy takeout takings tampon tampons tangier tangies tangy tarmac tarmacs tarot tarots tarp tarps taster tasters tatter tatters tautly taxings teargas temp temped temping temps tequila testier testy throaty tic tics tinfoil tirings tizzies tizzy toasty toehold tofu tog toggled toggles togs toolbar topless tort torts tourism tracer tracers treetop triceps trident trike triked trikes triking tromp tromped tromps tropic tropics trucker trundle tubbier tubby tugboat turd turds tush tushed tushes tushing tux tuxes twerp twerps twit twits twitted tyke tykes typo typos unaided unease unholy unisex unplug unplugs unroll unrolls unseens untried unzip unzips upchuck upfront uppity upscale upstage upstate upsurge upswing uptakes utopia utopias vainly vegan vegans veggie veggies vibe vibes visage visages viscous voled voling voyeur voyeurs wackier wacky wannabe ware wares warily warlock warlord warship website welsh welshed welshes wetback wham whammed whams whiner whiners whoosh wiener wieners wile wiles willowy wimp wimped wimpier wimping wimps wimpy wingtip wino winos wiretap woozier woozy wryly yeah yeahs yep yeps yest yippee yippees yuck yucked yuckier yucking yucks yucky yum yummier yummy yuppie yuppies zap zapped zapping zaps zit zits abaft abalone abase abased abases abasing abbess abeam abed abettor abjure abjured abjures abloom abrade abraded abrades abut abuts abutted abuzz acacia acacias accrual acetate acetic acetone achoo acidify acidly acme acmes acolyte aconite actuate acuity adagio adagios addend addenda addends adder adders addle addled addles addling adduce adduced adduces adenoid adieu adieus adipose adjudge adjure adjured adjures adman admen adrenal adulate adz adzes aegis aerate aerated aerates aerator aerie aerier aeries aeriest affray affrays afghan afghans afire afoul aft agape agar agate agates agave ageism ageless agilely agleam agog ague ahem ahems aileron airdrop airhead airlift airman airmen airship airsick airway airways akimbo alb albs albumen albumin alchemy alder alders alertly allegro allover aloe aloes alpaca alpacas alphas alum alums amalgam amatory amazon amazons amigo amigos amity ammeter amoebic amour amours ampule ampules analog analogs anapest andante andiron anemone angina angora angoras animism animist animus anion anions anise aniseed ankh ankhs anklet anklets anneal anneals annular anode anodes anodyne anons anther anthers anti antigen antis antiwar apace aphasia aphasic aphelia aphid aphids apiary aplenty apogee apogees apropos apse apses aptness aqua aquas aquavit aqueous aquifer arbutus archly argon argosy argot argots argyle argyles aridity aright armada armadas armlet armlets armrest arrant arroyo arroyos artier artiest artiste artless arty ascot ascots aseptic ashcans ashier ashiest ashram ashrams ashy asinine aslant asocial asp aspic aspics asps assay assayed assays assize assizes assuage aster astern asters astir astral astrals asunder atavism atelier atoll atolls atonal atop atria atrium atrophy attar auger augers aught aughts augur augured augurs augury auk auks aurally aureole auricle autism avast avasts avatar avatars avenger aver averred avers avian avians aviary avidity aweigh awl awls axial axon axons azimuth babbler babel babels bacilli backbit backhoe bah bahs bailout baize baldly baleen balkier balky ballsy balsa balsam balsams balsas baneful banns banshee bantam bantams banyan banyans baobab baobabs baptist barium barker barkers barmaid baronet barrow barrows basal basalt basely baseman basemen basso bassos bast bastion basts bather bathers bathmat bathos batik batiks batsmen batten battens battier batty bauble baubles bauxite bawdily bazooka beanbag bearish beastly beatify beatnik beau beaus becalm becalms beck becks bedeck bedecks bedevil bedroll bedsore befog befogs befoul befouls beget begets begone begonia begot behest behests belay belayed belays belle belles benumb benumbs benzene berg bergs berm berms beryl beryls besom besomed besoms besot besots bespeak bespoke bestir bestirs betake betaken betakes betas bethink betide betided betides betoken betook betroth betwixt bevies bevy bewail bewails biddies biddy bidet bidets bier biers bifocal bighorn bight bights bigness bilge bilges bilious bilk bilked bilking bilks billet billets billies billowy billy bindery bionic bionics bipedal bipolar birdie birdied birdies biretta bismuth bisque bistro bistros bittern bitters bitumen bivalve bivouac blarney blazon blazons bleeder bleep bleeped bleeps blench blintz blintze bloomer blower blowers blowgun blowzy boaster boater boaters boatman boatmen bobbies bobble bobbled bobbles bobby bobtail bodega bodegas bodkin bodkins bogey bogeyed bogeys boggier boggy bola bolas bole bolero boleros boles boll bolled bolling bolls bombast bonbon bonbons boner boners bong bonged bonging bongs bonito bonitos bonnie bonnier bonny bonsai bonsais boobies boodle boodles bookish boozier boozy borax borer borers boron borscht bosh boudoir bounden bounder bower bowers bowlers bowman bowmen boxwood bracken bract bracts brad brads bragger braille bramble brashly bratty bravura brawler breaker breathy breech brier briers brig brigand brigs brimful brisket bristly brogan brogans bromide bromine bronchi brooder brr bruin bruins bruiser brunet brunets buckeye buckler buckram bucksaw bucolic budgie budgies bugaboo bugbear bulgier bulgy bulimia bulimic bullock bullpen bulrush bulwark bumbler bumpkin bunged bunging bungs bunkum bunt bunted bunting bunts bur burdock burg burgeon burgher burgled burgles burgs burnout burrito burs busbies busby bushman bushmen butane butch butches byline bylines byplay byword bywords cabal cabals cabana cabanas caddish cadenza cadge cadged cadger cadgers cadges cadging cadmium cads caducei caesura caftan caftans cagily cairn cairns caisson calcify calcine calcite caliph caliphs caloric calumny calved calving calypso calyx calyxes camber cambers cambium cambric camphor campier campy cams canard canards canasta cancan cancans cannily cantata canted canting canto canton cantons cantor cantors cantos cants caplet caplets capon capons capstan carafe carafes caraway carbide carbine carboy carboys carcase caret carets carfare caries carmine carom caromed caroms carotid carpal carpals carpel carpels carpi carport carpus carrel carrels carsick carver carvers casein cassava cassia cassias cassock casuist catalpa catarrh catbird catboat catcher catgut cathode cation cations catkin catkins cattail cattily caudal causals cavil cavils cayenne cedilla celesta censer censers centaur centime cerebra cerise cession chaise chaises chamois chancel chancy chanter chantey chaplet charier charily chary chaser chasers chattel cheeky cheesy chemise cheroot chervil chevron chewer chewers chichi chichis chicle chicory chigger chignon chimera chintzy chirrup chitin chived chiving chock chocked chocks choker chokers choler chomp chomped chomps chorale churl churls chutney cicada cicadas cilia cilium circlet cirrus citadel citron citrons civet civets civvies clarets clarion clayey clayier clement clew clewed clewing clews clingy clinker cloche cloches clomp clomped clomps clop clopped clops cloture cloy cloyed cloying cloys clunker clunky cobbled cobbles cocci coccis coccus coccyx cochlea cockade cockily cockle cockles cockney coda codas coddle coddled coddles codeine codex codfish codger codgers codices codicil codify coequal coeval coevals cognate cohere cohered coheres cohort cohorts coif coiffed coifs coital coitus coled colicky colitis colleen collier colling colloid collude colossi cols coltish combo combos comedic comer comers comity commode comport compote conch conched conchs condole conduce conduit confab confabs confute conga congaed congas conic conics conjoin conk conked conking conks contuse convoke cookers cookery coolant coolie coolies coon coons coopers coot cootie cooties coots copings coppery copra copse copsed copses copsing copula copulas copycat cordite corm corms corncob corneal cornice cornrow corolla corona coronas coronet corpora corsair cosign cosigns cosine cote coterie cotes cotter cotters coupe couped coupes couping couplet courtly coven covens covey coveys cowbird cowhand cowl cowlick cowling cowls cowpoke cowpox cowslip coxcomb coyly coyness cozen cozened cozens crackly crackup cranial crape crapes crassly craven cravens craw craws creamer creel creeled creels creeper cress crewman crewmen crier criers crocked crone crones cropper crosier crossly croup crouped croups croupy cruet cruets cruller crumby crumpet cubical cubism cubist cubists cubit cubits cuckold cud cudgel cudgels cuds culotte culvert cumin cumuli cumulus cunt cunts cupola cupolas curacy curate curated curates curer curie curies curlew curlews curred curring curs cursive curtly cushier cushy cusp cuspid cuspids cusps cutesy cutlass cutup cutups cygnet cygnets cystic czarina dabbler dacha dachas dactyl dactyls dado dadoes daemons daffier daffy dafter daftest dahlia dahlias dale dales damask damasks damply damson damsons dander danders dandle dandled dandles dankly dapple dappled dapples dashiki dative datives datums dauber daubers dauphin davit davits dawdler daybed daybeds deathly deb debacle debar debark debarks debars debater debauch debs decamp decamps decant decants declaim deejay deejays definer defray defrays deice deiced deicer deicers deices deicing deism dell dells demesne demigod demur demurs denier deniers denizen dentin denude denuded denudes deplane depute deputed deputes dermis dervish descant descry despoil deuce deuced deuces deucing devilry dewdrop dewier dewiest dewlap dewlaps dewy dhoti dhotis diadem diadems diarist diatom diatoms dibble dibbled dibbles dicker dickers dickey dickeys dickier dicta dictum diddle diddled diddles dieter dieters diggers digraph dillies dilly dimmers dimness dimwit dimwits dinette ding dinged dinging dingo dingoes dings dinkier dinkies dinky dint diode diodes diorama dioxin dioxins dipole dipper dippers dirk dirks disbar disbars dishpan dishrag disport disrobe distaff diurnal diva divan divans divas divot divots divvied divvies divvy dizzily doable doc docent docents docs dodder dodders dodger dodgers dodos doff doffed doffing doffs dogfish doggier doggies doggy dogie dogies dogtrot doings dolmen dolmens dolt doltish dolts donned donning doodler dories dormer dormers dormice dory dotage doth dotty doublet doubter douche douched douches doughty doughy dourly dowager dowdily dowel dowels dowse dowsed dowses dowsing doyen doyens drably drachma draftee dragnet dragoon drainer dram drams dray drays dredger driblet drizzly drolly droopy droplet dropper dropsy drover drovers drub drubbed drubs druid druids dryad dryads drywall duality dubiety ducal ducat ducats duchies duchy ductile ducting dudgeon duffer duffers duh dukedom dulcet dullard dumbly dun dunned dunner dunnest dunning duns duodena durably duster dusters dustman duteous dweeb dweebs dyadic dyer dyers eaglet eaglets earful earfuls earldom earthen earwig earwigs eatable echelon ecru edgings efface effaced effaces effete eggnog egoist egoists egress egret egrets eider eiders elegiac elfish elide elided elides eliding elision elixir elixirs ell ells emend emended emends emeried emeries emery emetic emetics emote emoted emotes emoting emptily ems emu emus encamp encamps encoder encrust encrypt endue endued endues enduing enfold enfolds engorge enjoin enjoins enmesh ennoble ennui ensnare entente entomb entombs epicure epochal epoxied epoxies epoxy equable equably ere erectly erg ergs ermine ermines erosive erotica errata erratas erratum ersatz escapee escrow escrows espied espies espy espying esquire ester esters eta etcher etchers euphony eurekas euro euros evilly evince evinced evinces ewer ewers excreta exigent expiate expunge extrude eyeful eyefuls eyelet eyelets fabled facings faddish fain fained fainer fainest faining fains fairway faker fakers fakir fakirs falloff fallow fallows fancily fanzine farina farrow farrows fathead fatness faun fauns fealty febrile fecund fedora fedoras feebly femoral femur femurs fencer fencers fennel fens feral ferric ferrous ferrule fervid festal festals feta fetlock fettle fevered fey fibroid fibula fibulae fiches fie fief fiefs fielder fies fife fifes filbert filial filings fillers fillip fillips finery finis finises fink finked finking finks finnier finny firebug firth firths fishers fistful fitly fitters fixate fixated fixates fixedly fixer fixers fixings fixity flack flacks flagon flagons flambes flan flange flanges flapper flatbed flatcar flattop flax flaxen flay flayed flaying flays fleshly flinty floater floe floes florin florins flotsam floury fluidly flukier fluky flume flumes flummox flyby flybys flyleaf fob fobbed fobbing fobs foetid folio folios fondant fondue fondues foolery footman footmen fop fopped fopping foppish fops forager foully framer framers frappes frazzle freaky freeman freemen fresco freshet friable frizzle frogman frogmen frowzy frump frumps fryer fryers fuchsia fuddle fuddled fuddles fugue fugues fulsome fumbler fungous furbish furze fusible fusions fussily fustian fustier fusty futon futons futz futzed futzes futzing fuzzily gabble gabbled gabbles gad gadded gadding gadfly gads gainsay gaiter gaiters galena galleon gallium gambol gambols gamely gamete gametes gamier gamiest gamin gamine gamines gamins gammas gamy ganglia gannet gannets gantlet gantry gaoled gaoling gaols garner garners garrote gasohol gaucho gauchos gaudily gauzier gauzy gavotte gawkily gayness gazer gazers gearbox gecko geckos gelid genome genomes gentian geode geodes germane gestate gewgaw gewgaws gherkin gibbet gibbets gibbon gibbons giddily giggler giggly gigolo gigolos gimlet gimlets gimpier gimpy ginkgo ginseng gird girded girding girds girt girted girting girts glazier glop glopped glops glottis gluey gluier gluiest gluten glyph gneiss gnomish gobbler godhood godson godsons goggled gonad gonads goober goobers goodly gook gooks goop gorse gossipy gouger gougers goutier gouty govs grackle grafter grail gramme grammes granary grandee grange granges grapnel grebe grebes griffin grippe grippes grist gristly grog grommet grout grouted grouts grownup guano guava guavas guesser guilder guineas gulag gulags gunnery gunny gunwale gurney gurneys gusset gussets gutless gypsum gyro gyros hackle hackles hafnium haft hafts haggler haiku hairpin hake hakes halberd halcyon halogen halyard handcar handily handset hangdog hangman hangmen hank hanks hansom hansoms hardily hardtop harpies harpy hasp hasps hassock hater haters hath hatter hatters hauler haulers hauteur haw hawed hawing hawker hawkers hawkish haws hawser hawsers haycock hayloft haymow haymows hayseed hazily headset hearer hearers hearken heaths hectare hector hectors heedful heehaw heehaws heft hefted hefting hefts helical helices helix hellion helot helots hempen henna hennaed hennas henpeck hep hepatic hepper heppest heps herbage hereof hereto heroics hewer hewers hex hexed hexes hexing hibachi hie hied hieing hies highboy hillock hirsute hitter hitters hoarier hoary hoaxer hoaxers hob hobnail hobs hod hods hoedown hogan hogans hoggish hogwash hokum holdout homburg homeboy homily hominy hooch hoodoo hoodoos hooey hookah hookahs hookup hookups hooky hoopla hooters hoppers horsey horsier hos hosanna hostler hotness howdah howdahs howler howlers hubbies hubby hubris huffily hula hulaed hulaing hulas humbugs humeri humerus humidor hummock humus hurler hurlers husker huskers hussar hussars hussies hussy hydra hydras hydrate hying hymen hymens hypo hypos iamb iambic iambics iambs ibex ibexes ibis ibises icecap icecaps icily iciness ides idlers ids idyll idylls igneous ignoble ignobly ilks imam imams immure immured immures impala impalas impanel impiety impious impugn impugns impute imputed imputes inanely inanity inapt inboard inbound incise incised incises incubus ineptly inertly inflect inflow ingot ingots ingrate ingress ingrown inhere inhered inheres inkblot inkwell inmost inseam inseams inset insets inshore insole insoles intone intoned intones intros intuit intuits inure inured inures inuring inveigh ipecac ipecacs irately iridium irksome islet islets ism isms isobar isobars isotope jabot jabots jag jags japan japans jape japed japes japing jasmine jasper jeep jeeps jejune jerkin jerkins jetsam jib jibbed jibbing jibs jihad jihads jimmied jimmies jimmy jinn jinns jitney jitneys jobber jobbers jocose jocund joggle joggled joggles joiner joiners joist joists jollity jonquil josh joshed joshes joshing joule joules jounce jounced jounces joust jousted jousts joyless juicer juicers jujitsu jujube jujubes julep juleps junco juncos junker junkers jurist jurists kabob kabobs kaboom kale kaolin kapok karakul karaoke katydid kazoo kazoos kebab kebabs kenned kenning kens keratin kestrel ketch ketches khan khans kibbutz kibitz kibosh kicker kickers kickier kicky kidder kidders killjoy kiloton kilter kinetic kingly kinsman kinsmen kippers kirk kirked kirking kirks kismet kisser kissers kith kithed kithing kiths kitsch kitschy knave knavery knaves knavish kneader knell knelled knells knitter kook kooked kookier kooking kooks kooky kopeck kopecks krone kroner kronor krypton kudzu kudzus kumquat labia labial labials labium lackey lackeys laconic lactate lactic lactose lacuna lacunae laddie laddies ladings lagers laity lam lama lamas lambent lambkin lamely lammed lammer lamming lamprey lams lancer lancers lancet lancets lank lanker lankest lanolin lanyard lapwing larch larches larder larders largess largo largos lariat lariats larval lasagna lassie lassies latency lats laxly laxness layette laze lazed lazes lazing lea leached leaches learner leas leaven leavens lecher lechers lechery lees leeward lefties leftism leftist lefty legate legated legatee legates legato legatos legless legman legmen legroom legwork lei leis lemma lemmas lemming lemony lemur lemurs leonine lessee lessees lessor lessors lewdly licit lidded lief liefer liefest liefs liege lieges lifer lifers lignite limeade limier limiest limn limned limning limns limpet limpets limpid limply limy linage linden lindens lineal lineman linemen lingual linkup linkups linnet linnets linseed lintel lintels lipid lipids lipread lira lire lisle lissome litchi litchis litmus livery lividly llano llanos loaders loamier loamy loaner loaners loch lochs loci lockjaw lockout lockup lockups loco locus lode lodes loftily loge loges loggers loofah loopier loopy lordly lorn lotto lout loutish louts lowish lowland lowness lox loxed loxes loxing luau luaus lubber lubbers lube lubed lubes lubing lucre lumbago lumbar lummox lumpish lupus lustful lustily lyceum lyceums lynx lynxes macadam macaw macaws macron macrons madders madras maestro magma magneto magnums mahatma mailer mailers makings mallow mallows malteds mambo mamboed mambos mammary mammon manatee manful manikin manna mansard manse manses mantis manumit marabou maraca maracas maraud marauds maria marimba marlin marlins marmot marmots marquis marten martens martini martins masher mashers masonic masque masques mastiff mastoid matins mattock matzo matzoh matzohs matzos matzot matzoth maunder maven mavens maw mawed mawing maws maxilla mayfly mayoral maypole mead meanly medial medic medics medulla melange melanin menage menages mender menders menfolk menses merino merinos merman mermen mesa mesas mescal mescals messiah messily mestizo metrics mewl mewled mewling mewls miasma miasmas mica micron microns mid middies middy midge midges midland midmost midtown midyear mil milch miler milers milksop millage millet mils mimetic mimosa mimosas minaret minicam minim minims minster minuend minutia minx minxes miscall miscast miscue miscued miscues misdeal misdid misdo misdoes misdone misfire misplay misrule missal missals mistily mistime mitosis mizzen mizzens mobster mocha mocker mockers modish mods modulus mogul moguls moiety moire moires moistly molder molders moll molls moneyed monger mongers monocle moocher moppet moppets moraine moray morays mordant morocco morrow morrows mortise mosey moseyed moseys mote motes motile motiles moult moulted moults mouser mousers muckier mucky muesli muezzin mufti muftis mukluk mukluks mulish mullah mullahs mullet mullets mullion mumbler mummer mummers mummery murk murkily murks muscat muskier muskrat musky muslin mussier mussy muumuu muumuus myna mynas myopia myrrh myrtle myrtles mythic nabob nabobs nacho nachos nacre nadir nadirs naiad naiads nakedly naphtha narwhal nary nascent natal nattily nave naves neath nebular needful nemeses nemesis neonate nervier nervy newel newels newsboy newsman newsmen newtons nexus nexuses niacin nib nibbed nibbing nibbler nibs niggard nigher nighest nimbi nimbus ninepin ninja ninjas nipper nippers nirvana nitpick nix nixed nixes nixing nodal noddy nodular nodule nodules noel noels noggin noggins noisome nonce noncom noncoms nonskid nonuser nonzero noonday nosegay nosh noshed noshes noshing nostrum notary notepad nous novae novas novella noway noways nowise nth nuanced nub nubile nubs nucleic nudism nullity numbly nuncio nuncios nunnery nutmeat nutria nutrias oafish oaken oakum oarlock oarsman oarsmen oaten obit obits oblate obloquy oboist oboists obsequy obtrude obverse obviate ocarina occlude ocelot ocelots octane octet octets oculist oddball odium odorous offal offside oft ofter oftest oho ohos oilskin oleo omegas oneness onshore onyx onyxes opacity opiate opiates opine opined opines opining orate orated orates orating orb orbs ordure oregano organdy origami ormolu ornery orotund osier osiers osmotic osprey ospreys ossify otiose ottoman outfox outgo outgoes outplay outrank outsell outsize outsold outstay outtake outvote outwear outwore outworn overact overage overawe overpay overtax oviduct ovoid ovoids ovulate ovule ovules owlet owlets owlish oxbow oxbows oxford oxfords oxymora paean paeans pailful paisley palatal palaver palings pallet pallets palmier palmist palmy palpate palsied palsies palsy pampas pannier panoply papaw papaws papery papilla papoose papped papping paps parapet parboil parfait pariah pariahs parings parlay parlays parley parleys parolee parried parries parry parvenu paschal pasha pashas passel passels passkey pastern patella patina patinas patois patsies patsy pavings pawl pawls peafowl peahen peahens pearly pebbly peccary pectin peeper peepers peerage peewee peewees pekoe pelagic pendent penile pennon pennons pent pents penury peonage peppery pepsin peptic peptics percale perfidy perigee periwig permute pertly peseta pesetas peso pesos pestle pestled pestles petard petards petiole petrel petrels pettily pewee pewees peyote phalanx pharaoh pharynx phial phials philter phloem phlox phoebe phoebes phoneme phonic phrasal phyla phylae phylum piazza piazzas pica piebald pied pieing piffle pigskin piing piker pikers pilaf pilafs pillbox pillion pillory pimento pinball pinhead pinhole pinkeye pinkish pinnate pinto pintos pip piper pipers pipit pipits pipped pippin pipping pippins pips pistil pistils pita pith pithily piton pitons pizazz placer placers placket plaint plaints plait plaited plaits platen platens plaudit playact pleader plectra plexus pliancy plinth plinths plodder plover plovers plushy pock pocked pocking pocks poesied poesies poesy poetess poi pol polecat politic polity pols pomade pomaded pomades pommel pommels pone pones poniard pooh poohed poohing poohs popes popgun popguns poplin popover poppa poppas porcine porno portage poser posers poseur poseurs posit posited posits potable potash potful potfuls pothook potpie potpies potshot pottage pox poxed poxes poxing praline prancer prate prated prates prating preachy preheat prelate prequel preses preset presets prestos preteen prig prigs priory prithee privet privets probate probity proctor prolix pronged propane prorate prosier prosody prosy protean prudery pshaw pshaws psst pssts puckish puffin puffins pug pugs puller pullers pullet pullets pulpier pulpy pulsar pulsars punchy punster pupa pupae pupal purism purl purled purling purloin purls pursuer purview pustule putrefy putsch puzzler pyrite pyx pyxed pyxes pyxing quaff quaffed quaffs quahog quahogs quanta quarto quartos quasar quasars quasi quavery queerly quid quids quietus quilter quince quinces quire quires quoit quoited quoits quondam quoth raceme racemes racers raceway racily raffia raffish raga ragas raggedy raglan raglans ragout ragouts ragweed raiment rajah rajahs rakish ramify rampart randier randy rangier rangy ranter rapier rapiers rapine rapper rappers rarefy rashers ratchet rattan rattans rattier rattrap ravioli rawhide rawness readmit readout reagent realign reamer reamers reapply rearm rearmed rearms rebus rebuses recast recasts recheck recopy rectory redcap redcaps redcoat redoubt redound redrawn redraws redrew reedier reedy reefer reefers reenter reeve reeves reeving refile refiled refiles refiner refit refits refocus refract regally regency reheat reheats rehire rehired rehires relabel relearn remades remand remands rematch remount renal rennet reoccur reorder repaint repast repasts reproof requite resell resells resend resold respell respire restock restudy retell retells retinal retold retool retools retouch retrain retried retyped retypes reunify reviler rewire rewired rewires reword rewords rhea rheas rheum rheumy rhizome rho rhodium rhombus rick ricked rickets ricking ricks ricotta riff riffed riffing riffle riffled riffles riffs rill rilled rilling rills rime rimed rimes riming ringer ringers ripely rippers ripsaw ripsaws risible riven rivulet roadbed roamer roamers roan roans roaster robotic rococo roebuck roger rogered rogers roguery roil roiled roiling roils roister romaine romper rompers rood roods rookery roomer roomers roseate rosebud rosette rosily rosin rosined rosins roundly rover rovers rowel rowels rower rowers rube rubes rubrics rumba rumbaed rumbas rumpus runnel runnels runoff runoffs rupee rupees rusk rusks russet russets sable sabled sables sabling sachem sachems sachet sachets sackful sago saguaro sahib sahibs saith saiths salaam salaams saline salines sallied sallies saltine salver salvers salvo salvos samba sambaed sambas samovar sampan sampans samurai sanctum sandbar sandbox sander sanders sandhog sandlot sanely sans sapient sappier sappy sarcoma sarong sarongs sashay sashays sate sated sateen sates satiate satiety sating satrap satraps satyr satyrs saucily savanna savant savants sawmill sawyer sawyers scabby scabies scalene scamp scampi scamps scapula scarab scarabs scarify scat scats scatted schema scherzo schist schuss schwa schwas sciatic scion scions sconce sconces scone scones scorers scow scows scraper scrip scrips scrod scrota scrotum scrubby scrunch scuba scubaed scubas scud scudded scuds scull sculled sculls sculpt sculpts scumbag scummy scupper scurf scurfy scurvy scuzzy seabed seabeds seabird sealant sealer sealers seamier seamy seaward seaway seaways sedge seducer seeings seeker seekers seemly seers segue segued segues seismic seltzer selvage semi semis senders senna sepal sepals sepia sepsis septa septet septets septic septics septum serape serapes seraph seraphs sere sered serer seres serest serf serfdom serfs serge sering serous serried servo servos sesame sesames settee settees sexless sexpot sexpots sextant sextet sextets sexton sextons shad shads shag shagged shags shah shahs shaker shakers shale shallot shalt shaman shamans shandy shank shanks shard shards shat shearer shebang shekel shekels shellac shill shilled shills shim shimmed shimmy shims shindig shiner shiners shipper shires shirker shirr shirred shirrs shivery shocker shogun shoguns shooter showery showily showoff shrift shrike shrikes shrilly shrive shrived shriven shrives shrubby shtick shticks shutout sibyl sibyls sickbed sidearm sidebar sidecar sierras sifter sifters signers signet signets silage silaged silages silica simian simians sinker sinkers sinuous sirocco sis sisal sises sitar sitars skeet skiff skiffed skiffs skitter skivvy skycap skycaps skyjack skylark skyward slackly slags slammer slangy slaver slavers slaw slayer slayers sleaze sleazes sledge sledged sledges sleekly sleety slicer slicers slickly slider sliders slinky sloe sloes sloop sloops slouchy slough sloughs sloven slovens slue slued slues slugger sluing smacker smarmy smarten smelter smirch smithy smudgy snaffle snakier snaky snapper snifter snippy snivel snivels snooper snoopy snoot snoots snorer snorers snuffle soapbox soberly soggily sol solaria sols solver solvers sombre sonar sonars sonnies sonny sooth sooths sophism sophist soppier soppy sorghum sorrel sorrels sorter sorters sortie sortied sorties sot sots sottish sough soughed soughs soupier soupy souse soused souses sousing soviet soviets sower sowers soy spake spandex sparely spartan spec specie specs speeder speedup spender spidery spikier spiky spindle spinet spinets spinier spinner spiny spirea spireas splicer spline splines splodge splotch spoiler sponger spoor spoored spoors spored sporing spotter sprat sprats sprayer sprite sprites spritz spryly spume spumed spumes spuming spumoni sputum squab squabs squashy squaw squaws squirmy squish squishy staidly stamen stamens staph starkly starlet starlit stead steads steamer steed steeds steely stein steined steins steppe steppes sternum stickup sties stile stiled stiles stiling stipple stirrer stoat stoats stoker stokers stonily stooge stooges storied stoutly strafe strafed strafes strep strobe strobes strop strophe strops strudel stubbly stucco stumpy sty stying styli stylist styptic suavely suavity subhead subjoin suborn suborns subplot subsoil subsume subteen sucrose sudsier sudsy suet suffuse sulfate sulfide sulkily sullied sullies sully sultana sumac sumo sump sumps sunbeam sunder sunders sunfish sunlamp sunless sunroof sunspot supine supped supping sups surety surfeit surrey surreys surtax sushi suture sutured sutures svelte svelter swaddle swag swagged swags swain swains swami swamis swanky sward swards swash swashed swashes swath swaths swatter swearer swinger swinish swirly sylph sylphs sylvan synergy syrupy tableau tabular tackler tactile taffeta tallyho tam tamable tamale tamales tamers tamp tamped tamping tamps tams tanager tangelo tankful tanners tannery tannin tansy tapioca tapir tapirs taproom taproot tardily tare tared tares taring taro taros tarpon tarpons tartly tat tats tatted tatting tattler taupe teabag teal teals tearier tearoom teary teasel teasels teaser teasers teatime techs teenier teeny telex telexed telexes temblor tempera tempter tempura tenfold tenon tenons tenpin tenpins tensely tensile tensor tern terned terning terns terry testate testily thalami theed theeing thees theism thereto thermos thieved thine thirdly thither tho thorax thorium thrall thralls throe throed throes thrower thrum thrums thrush thruway thwack thwacks thymus thyself tibia tibiae ticker tickers tidily tidings tigress tildes tillage tiller tillers timbre timbres timpani tingly tipper tippers tipple tippled tippler tipples tipsily tipster tiptop tiptops titan titanic titans tithe tithed tithes tithing titmice tittle tittled tittles titular toadied toadies toady tocsin tocsins toddies toddy toiler toilers toke toked tokes toking tom toms toner tonier toniest tonsure tony toolbox toothed toothy topcoat topknot topmast topmost topsail topside topsoil toque toques tor torpid torpor torqued torques tors torsion torte tortes torus tossup tossups totemic toughly tourney towhead towpath tracery trachea tracker traduce traipse tram trammed trammel trams transom travail treadle trefoil tremolo tress tresses triad triads triage tribune trice trifler trig trimly triply trisect tritely trivet trivets trochee troika troikas trollop trope tropes tropism troth trothed troths trotter trouper troy troys truckle truss trussed trusses tryst trysted trysts tsunami tuber tubers tucker tuckers tulle tumbrel tumid tun tunnies tunny tuns turbid turbot turbots turners turnkey turnoff tusked tussock tutu tutus twaddle twain tweeds tweedy tweeter twiggy twill twilled twirler twofer twofers twofold twosome tyro tyros ukulele ulna ulnae ultras ululate umbel umbels umber umbrage umiak umiaks umlaut umlauts ump umped umping umps unasked unbar unbars unbend unbends unbent unbind unbinds unbolt unbolts unbosom unbound uncased uncivil unclasp uncoil uncoils uncork uncorks unction undated undies uneaten unfrock unguent unhand unhands unhinge unhitch unhorse unhurt unitary unlace unlaced unlaces unlatch unlearn unloose unloved unmade unmake unmakes unmanly unmoral unpaved unpin unpins unquote unready unripe unriper unseal unseals unsent unsnap unsnaps unsnarl unsold unstop unstops untamed untruth untwist unwed upbraid updater upland uplands upraise upsides urea urethra uric urinal urinals urinary urology usurer usurers usurper usury uterine uvula uvular uvulars uvulas vacuity valance vale valence vales vamoose vamp vamped vamping vamps vantage vapid variate varlet varlets varmint vassal vassals vaulter vaunt vaunted vaunts veep veeps veld velds vellum venal venally venial venous ventral verbena verdant verdure verily verity vernal versify vertex vesicle vesper vespers vestry vetch vetches viand viands vibrato viceroy victual vilely villein vim vintner viol violist viols virago vireo vireos virgule viscera viscid viscus vitiate vitriol viva vivace vivaces vivaed vivaing vivas vivify vixen vixens vizier viziers vocalic vocally voguish voile vole voles voltaic voluble volubly votary votive vulva vulvae wacko wackos wader waders wadi wadis waggish waggle waggled waggles wakeful wale waled wales waling walkway wallaby walleye wampum wangle wangled wangles wanly wapiti wapitis warbler warder warders warmers warthog wartier warty washtub waspish wassail waster wasters wastrel watcher wattage wattle wattled wattles wavelet waxen waxwing waxwork weal weals wearer wearers weeder weeders weeper weepers weepier weepies weepy weevil weevils weft wefted wefting wefts weir weirdly weired weiring weirs welkin wen wench wenches wend wended wending wends wens wetland wetly wetness whammy whatnot wheal wheals wheaten wheeler wheezy whelk whelked whelks whelp whelped whelps whences whereat whereof whereon whey whimsy whinier whiny whippet whist whit whited whither whiting whitish whits whitter whoopee whorl whorled whorls wifely wigeon wigeons wiggler wiggly wight wighted wights wigwag wigwags wiled wiling willies wimple wimpled wimples windbag windup windups winery winger winnow winnows wisher wishers withal wittily woeful wolfish wolfram womanly wonted woodcut woodman woodmen woodsy wooer wooers woofer woofers workday wormier wormy worrier wrack wraith wraiths wriggly wrinkly wroth wryness wuss wusses xenon xylem yahoo yahoos yammer yammers yardage yardarm yaw yawed yawing yawl yawls yaws yea yeas yeasty yeoman yeomen yeshiva yip yipped yipping yips yogi yogis yon yore yttrium yucca yuccas yuk yukked yukking yuks yule yup yups zealot zealots zebu zebus zed zeds zephyr zephyrs zestful zilch zing zinged zinger zingers zinging zings zinnia zinnias zippier zippy zircon zircons zither zithers zonal zonked zygote zygotes aah abseil abseils academe ageist ageists aggro ahchoo airbag airbags airbase airbed airbeds aircrew airflow airgun airguns airlock airplay airshow airtime aitch aitches algal almoner ambit amphora anally antsy applet applets armload arsed arsing arugula atishoo auntie aunties avionic baccy baddie baddies bagful bagfuls bailey baileys bairn bairns baldies baldy ballsed ballses bally banger bangers bannock bap baps barbie barbies barfly barmen barmier barmy barney barneys barony basque basques basset bassets batman batmen battler baulk baulked baulks beanie beanies beaut beauts bedaub bedaubs bedhead bedpost bedsit bedsits beery begum begums bejewel benders bendier bendy berk berks betel bevvies bevvy bhaji bicarb biff biffed biffing biffs bijou binman binmen biomass biopic biopics bitmaps bitty biz blabber blag blagged blags blather bleeper blether blimey bloater bloke blokes blokish blotto blowy blueish bluesy bod bodge bodged bodges bodging bods boffin boffins bollard bolshie bolshy bonce bonces bonk bonked bonking bonks booger boogers boohoo boomer boomers boonies borstal bosomy bottler boules bovver boxroom boxy bradawl brae bream breams brickie brie brill brioche brolly broody bruit bruited bruits bub bubs buggery bumbag bumbags bumf bumph bungee bungees burgh burghs burk burks bursary busk busked busker buskers busking busks busload bustier busty butties butty byre byres caber cabers caff caffs cagoule candida cardies carer carers carhop carhops carload carob carobs carpool carroty carter carters carvery catsuit cattery caver cavers cayman caymans ceilidh celeb celebs certs cesspit chapati chappy chard charlie cheapo cheerio chesty chicane chinwag chippie chippy chirpy chivied chivies chivvy chivy choc chocs chuffed chunder chunter ciao ciggies ciggy cine cissies cissy clanger cliquey clonk clonked clonks clubber clumpy cobber cobbers cobnut cobnuts coir coley coleys commie commies conchie concuss coned conger congers conies coning conker conkers cony copyist coracle corgi corgis corkage corker corkers corrie corries cosh coshed coshes coshing cosily cosines cosset cossets coulis couture cowbell cowpat cowpats cowrie cowries cowshed coxed coxes coxing coypu coypus crammer crampon crapper crawler cred crikey cripes croft crofter crusher cuboid cuboids cupid cupids cuppa cuppas cutaway cutey cuteys cutie cuties cutout cutouts cyan cyborg cyborgs cypher cyphers czarism czarist dag dago dagoes dagos dags dammit dandify dang daresay darkie darkies daycare daylong deanery dearies deary decaff decaffs decafs decider defog defogs defrock delouse demist demists demob demobs demotic derv descale deskill dhow dhows dickens diddly diddums diktat diktats dildo dildos dinar dinars dingbat dingily dippier dippy dipso dipsos dishy dob dobbed dobbing dobs docker dockers doddery doddle dodgem dodgems dodgier dodgy dogcart dogleg doglegs dogsled donnish doodah doodahs dosh doss dossed dosser dossers dossing dost dottier dovecot dovish dowser dowsers doyenne dozier doziest dozily dozy draper drapers drat dratted drear drippy druggie dubbin duckies ducky duffed duffing duffs dumbo dumbos dumper dumpers duopoly duvets ecu edgily eek eff effed effing effs eggcup eggcups enabler endgame equerry escudo escudos ethanol eugenic exeunt exotica expat expats fab faddy faff faffed faffing faffs falsie falsies farrago farrier fascia fascias fatso fatsos fatwa fatwas fave faves fella fellas fellers ferny fess fessed fesses fessing filo firings fissile fitment fivers flans flatlet fleabag fleapit flirty floret florets fluvial flyaway flypast foodie foodies footer footers footie footy forkful foxhunt freesia friary frig frigged frigs frilled frisson frosh fug fuggy funfair fungoid furore fusspot gaffer gaffers gaga gainer gainers galumph gammon gammy gangsta ganja gaoler gaolers gasbag gasbags gasman gasmen gateau gateaux gator gators gawd gawp gawped gawping gawps gazump gazumps geddit genned genning gens gestalt ghee gillie gillies gingers gingery girlie giro giros git gite gites gits giver givers glam gnocchi gnomic gobbet gobbets goer goers goodish googly gorgon gorgons gotcha goth goths gouache grabby gran grandad grans gratin gratins greaser gritter grizzle grotty groyne groynes grump grumps gumball gumboot gumshoe gunge gungy guv guvnor guvnors guvs gymslip haggis haj hajj hajjes halal halfwit hallo hallos hammy handsaw haricot hast hatband hatbox hatpin hatpins haulage haulier hayrick hayride headman headmen heftily helipad helluva herbals hessian hetero heteros hidings highers hipbath hipster hiya hoick hoicked hoicks holdall holism hols honkies honky hoofer hoofers hoover hoovers hotfoot hotpot hotpots hots hotted hotting hullo hullos hummus humph hunkier hunky iconic idem incomer indie indies infill infills inflows innit ivied jammier jammy jawline jemmied jemmies jemmy jink jinked jinking jinks joey joeys johnny joinery jojoba jokey jokier jokiest jotter jotters journo journos jowly judder judders jugful jugfuls juryman jurymen kabuki kart karts kelvin kelvins keypad keypads kike kikes kilted kip kipped kipping kips kirsch kitted kitting klaxon klaxons knicker knobbly kohl korma krill kvetch laddish laird lairds lambada lapdog lapdogs largish lathery latte lattes lav lavs lawman lawmen leaver leavers lech leched leches leching letch letches lexis lido lidos lilo lilos limey limeys linctus lings linkman linkmen lino lippy lithely locos locum locums lollies lollop lollops lolly longbow loo loofahs looker lookers loos louche lough loughs lounger lour loured louring lours lovey loveys ludo luge luges lughole lulu lulus lumpen lungful lurgy luv luvs luvvie luvvies mac mack macks macs mafia mafias mafiosi mafioso mags mailbag mam mamba mambas mammies mammy mams mandala manila manioc manky marge marque marques massif massifs mastic mater matey mateys meanie meanies medico medicos mega meths mezzo mezzos mic mick mickey mickeys micks micro micros mics mincer mincers minder minders mindset mingy minibar minicab mishear mishit mishits misname missus moaner moaners moggie moggies moggy moi moneys mongol mongols moorhen moreish morphed morphia morphs mosh moshed moshes moshing motet motets moulder mouthy moxie mudflap mudflat mudpack muggins muscly musher mushers muzak muzzily muzzy nae naff naffer naffest nah nan nans narky natch natter natters navvies navvy neaten neatens negro negroid netball nett neurone niff niffy nimby nob nobble nobbled nobbles nobs noddle noddles nohow nookie nooky nosebag notelet nowt nutcase nutter nutters nymphet nympho nymphos oatcake och ocker ockers octanes oddment oeuvre oeuvres offish oik oiks oilcan oilcans oilman oilmen oldish oldster onside onstage ooh oohed oohing oohs oomph oozy ops ostler ostlers outface outfall outflow outgun outguns outpace outta outwith outwork ouzo ouzos overarm overbid overfly oxcart oxcarts oxtail oxtails pacey pacier paciest pacy paella paellas pageboy pah palish pally palmtop panama panamas panto pantos papist papists pappy para paras pardner parky parlous passim pater paters pavlova payback payola payout payouts payslip peachy peaky peaty pecker peckers peckish pecs pedalo pedalos peeler peelers peepbo peeress peewit peewits peke pekes pelmet pelmets pergola perkily perspex pervs pessary pesto pfennig phenom phenoms phew philtre physio physios pianola pic picador pics piggery pillock pimpled pinko pinkos pinnies pinny piny pipette pisser pissers pissoir piste pistes pitas pithead pitta pittas pix planer planers pleb plebby plebe plebes plebs plenum plenums plonk plonked plonker plonks plosive plummy poleaxe pollard poly pom pommies pommy poms ponce ponced ponces poncey poncing poncy pong ponged ponging pongs ponied ponying poo pooed poof poofs poofter pooing poos popper poppers poppet poppets porker porkers porkies porky postbag postie posties pothead pouf pouffe pouffes poufs pow poxy prams prang pranged prangs prat prats precast precook preemie prelims pressie pretax prezzie primula prion prions prole proles pseuds pseudy pubes pubis puce pud pudenda puds puffers pukka punnet punnets pupate pupated pupates purdah pushily pushpin putz putzes pyrites pzazz quango quangos quieten quiff quiffs quin quins quint quints quorate qwerty rabidly raddled ragbag ragga ragwort ramekin rand ranee ranees rappel rappels raptor raptors ratbag ratbags raver ravers reboot reboots recce recces recon recons recto rectos reflate rehouse rejig rejigs remix remixed remixes remold remolds remould resat reshape resit resits retro retsina righto rimless ripcord risings riskily risotto rissole riviera roadie roadies rockery rollmop rondo rondos roofer roofers ropey rota rotas rotter rotters roundel roust rousted rousts roux rowan rowans rowdily rowlock ruched ruck rucked rucking rucks rugger runic saddler sadhu sadhus sagely saggy sainted saltbox samey samosa samosas sandpit sangria sapper sappers sarge sarges sarky sarnie sarnies satay satiric satsuma savoy savoys scarp scarper scarps scatty schizo schizos schnook scourer scouter scraggy scrapie scree screed screeds screes scrum scrump scrumps scrumpy scrums seagull sebum seedbed serif serifs servery sett setts sexily shacked shaikh shaikhs shalom sharia shariah shebeen sheila sheilas shh shiatsu shirty shite shites shitted shorty sickbay sickie sickies sicko sickos sickout sienna sines singlet sirrah sixfold sizzler ska skeeter skibob skibobs skidpan skiffle skinful skint skittle skive skived skiver skivers skives skiving skua skuas slagged slapper slatted slayed slippy slipway slobbed sludgy slummy slurry slutty smasher smiley smogs smokey smoochy snick snicked snicks snidely sniffer sniffy snog snogged snogs sou souk souks sozzled spam spammed spams spangly sparkly sparky spic spics spiff spiffed spiffs spinney spiv spivs spliff spliffs splosh spotlit spousal sprog sprogs squally squib squibs squidgy squiffy ssh stably stagy stasis statics steepen steno stenos stetson stodge stogies stogy stoup stoups stouts stowage strewth stripey stripy stroppy stunner subaqua subtend subtext subzero succubi summat sunbed sunbeds sunbelt sundeck sunhat sunhats suntrap supremo suss sussed susses sussing suttee swanned swede swedes swiz swizz swoosh swot swots swotted talkie talkies tallboy tapas tappet tappets tarn tarns tarty tater taters tattie tattier tatties tauten tautens taxiway taxman taxmen teabags teacake techie techies techno teddies teddy teds tellies telly tench tenner tenners terrine tetchy themed therm therms thicko thickos thingy tiddler tiddly tiepin tiepins tiered til tiler tilers tinpot tippex tiredly titch titches titchy titian titties titty tizz toccata toecap toecaps toerag toerags toff toffs togged togging tombola toners tootle tootled tootles tootsie topee topees topiary topper toppers topspin tosh tosser tossers toughie townee townees townie townies towrope toyboy toyboys trad tramcar tramway tranche treacly trews trialed trier triers trilby tripper trug trugs tsarism tsarist tum tums tuque tuques turbo turbos turps tut tuts tutted tutting twat twats twiddly twilit twinset twirly twisty twitchy twixt unbowed uncool uncurl uncurls unfazed uni unis unlit unmet unpicks unquiet unwaged uploads upriver uptempo uptrend upwind vac vacs valency valuer valuers veg veges vegged vegges vegging velar velars verger vergers verruca verso versos viably vino viscose vodkas wadge wadges wagtail walkies walla wallah wallahs wallas wallies wally wank wanked wanker wankers wanking wanks wazoo wazoos weenie weenies weeny wellie wellies welly wharfs whatsit wheelie whinge whinged whinger whinges whitey whiteys whop whopped whops whoring whup whupped whups widget widgets wienie wienies willie willy wimpish winkle winkled winkles wised wiseguy wising witter witters woad wodge wodges wog wogs wold wolds wonk wonks wonky wop wops workshy worktop wotcha wracked wracks xerox xeroxed xeroxes yang yashmak yellowy yer yetis yid yids yikes yin yob yobbo yobbos yobs yogic yonks yuan yukky yuppify zapper zappers zappy zine zines zingy zonally zydeco pynagram-1.0.1/wordlist/wordlist-README0000666000175000017500000005434211267173156016750 0ustar umangumangSpell Checking Oriented Word Lists (SCOWL) Revision 6 August 10, 2004 by Kevin Atkinson The SCOWL is a collection of word lists split up in various sizes, and other categories, intended to be suitable for use in spell checkers. However, I am sure it will have numerous other uses as well. The latest version can be found at http://wordlist.sourceforge.net/ The directory final/ contains the actual word lists broken up into various sizes and categories. The r/ directory contains Readmes from the various sources used to create this package. The other directories contain the necessary information to recreate the word lists from the raw data. Unless you are interested in improving the words lists you should not need to worry about what's here. See the section on recreating the words lists for more information on what's there. Except for the special word lists the files follow the following naming convention: -. Where the spelling category is one of english, american, british, british_z, canadian, variant_0, varaint_1, variant_2 Classification is one of abbreviations, contractions, proper-names, upper, words And size is one of 10, 20, 35 (small), 40, 50 (medium), 55, 60, 70 (large), 80 (huge), 95 (insane) The special word lists follow are in the following format: special-. Where description is one of: roman-numerals, hacker When combining the words lists the "english" spelling category should be used as well as one of "american", "british", "british_z" (british with ize spelling), or "canadian". Great care has been taken so that that only one spelling for any particular word is included in the main list. When two variants were considered equal I randomly picked one for inclusion in the main word list. Unfortunately this means that my choice in how to spell a word may not match your choice. If this is the case you can try including the "variant_0" spelling category which includes most variants which are considered almost equal. The "variant_1" spelling category include variants which are also generally considered acceptable, and "variant_2" contains variants which are seldom used. The "abbreviation" category includes abbreviations and acronyms which are not also normal words. The "contractions" category should be self explanatory. The "upper" category includes upper case words and proper names which are common enough to appear in a typical dictionary. The "proper-names" category included all the additional uppercase words. Final the "words" category contains all the normal English words. To give you an idea of what the words in the various sizes look like here is a sample of 25 random words found only in that size: 10: began both buffer cause collection content documenting easiest equally examines expecting first firstly hence inclining irrelevant justified little logs necessarily ought sadly six thing visible 20: chunks commodity contempt contexts cruelty crush dictatorship disgusted dose elementary evolved frog god hordes notion overdraft overlong overlook phoning poster recordings sand skull substituted throughput 35: aliasing blackouts blowout bluntness corroborated derrick dredging elopements entrancing excising fellowship flagpole germination glimpse gondola guidebook madams minimalism minnows partisans petitions shelling swarmed throng welding 40: altercation blender castigation chump coffeehouse determiners doggoning exhibitor finders flophouse gazebo lumbering masochism mopeds poetically pubic refinance reggae scragglier softhearted stubbornness teargassed township underclassman whoosh 50: accumulative adulterant allegorically amorousness astrophysics camphor coif dickey elusiveness enviousness fakers fetishistic flippantly headsets liefs midyears myna pacification persiflage phosphoric pinhole sappy seres unrealistically unworldly 55: becquerel brickie centralist cine conveyancing courgette disarmingly garon gobstopper infilling insipidity internationalist kabuki lyrebirds obscurantism rejigged revisionist satsuma slapper sozzled sublieutenants teletext vino wellness wracking 60: absorber acceptableness adventurousness antifascists arrhythmia audiology cartage cruses fontanel forelimbs granter hairlike installers jugglery lappets libbers mandrels micrometeorite mineshaft reconsecrates saccharides smellable spavined sud timbrel 70: atomisms benedict carven coxa cyanite detraining diazonium dogberry dogmatics entresol fatherlessnesses firestone imprecator laterality legitimisms maxwell microfloppies nonteaching pelerine pentane pestiferousness piscator profascist tusche twirp 80: cotransfers embrangled forkednesses giftwrapped globosity hatpegs hepsters hermitess interspecific inurbanities lamiae literaehumaniores literatures masulas misbegun plook prerupt quaalude rosanilin sabbatism scowder subreptive thumbstalls understrata yakows 95: anatropal anientise bakshi brouzes corsie daimiote dhaw dislikened ectoretina fortuitisms guardeen hyperlithuria nonanachronistic overacceleration pamphletic parma phytolith starvedly trophoplasmic ulorrhagia undared undertide unplunderously unworkmanly vasoepididymostomy And here is a rough count on the number of words in the "english" spelling category for each size: Size Words Proper Names Running Total 10 5,000 5,000 20 8,700 14,000 35 34,500 200 48,000 40 6,000 500 55,000 50 23,200 17,200 95,000 55 7,500 103,000 60 16,000 12,800 132,000 70 45,100 34,300 211,000 80 137,000 30,400 379,000 95 198,000 51,800 628,000 (The "Words" column does not include the proper name count.) Size 35 is the recommended small size, 50 the medium and 70 the large. Sizes 70 and below contain words found in most dictionaries while the 80 size contains all the strange and unusual words people like to use in word games such as Scrabble (TM). While a lot of the the words in the 80 size are not used very often, they are all generally considered valid words in the English language. The 95 contains just about every English word in existence and then some. Many of the words at the 95 level will probally not be considered valid english words by most people. I don't recommend anyone use levels above 70 for spell checking as they contain rarely used words which can hide misspellings of similar more commonly used words. For example the word "ort" can hide a common typo of "or". No one should need to use a size larger than 80, the 95 size is labeled insane for a reason. Accents are present on certain words such as caf in iso8859-1 format. CHANGES: From Revision 5 to 6 (August 10, 2004) Updated to version 4.0 of the 12dicts package. Included the 3esl, 2of4brif, and 5desk list from the new 12dicts package. The 3esl was included in the 40 size, the 2of4brif in the 55 size and the 5desk in the 70 size. Removed the Ispell word list as it was a source of too many errors. This eliminated the 65 size. Removed clause 4 from the Ispell copyright with permission of Geoff Kuenning. Updated to version 4.1 of VarCon. Added the "british_z" spelling category which it British using the "ize" spelling. From Revision 4a to 5 (January 3, 2002) Added variants that were not really spelling variants (such as forwards) back into the main list. Fixed a bug which caused variants of words to incorrectly appear in the non-variant lists. Moved rarly used inflections of a word into higher number lists. Added other inflections of a words based on the following criteria If the word is in the base form: only include that word. If the word is in a plural form: include the base word and the plural If the word is a verb form (other than plural): include all verb forms If the word is an ad* form: include all ad* forms If the word is in a possessive form: also include the non-possessive Updated to the latest version of many of the source dictionaries. Removed the DEC Word List due to the questionable licence and because removing it will not seriously decrese the quality of SCOWL (there are a few less proper names). From Revision 4 to 4a (April 4, 2001) Reran the scripts on a never version of AGID (3a) which fixes a bug which caused some common words to be improperly marked as variants. From Revision 3 to 4 (January 28, 2001) Split the variant "spelling category" up into 3 different levels. Added words in the Ispell word list at the 65 level. Other changes due to using more recent versions of various sources included a more accurete version of AGID thanks to the word of Alan Beale From Revision 2 to 3 (August 18, 2000) Renamed special-unix-terms to special-hacker and added a large number of communly used words within the hacker (not cracker) community. Added a couple more signature words including "newbie". Minor changes due to changes in the inflection database. From Revision 1 to 2 (August 5, 2000) Moved the male and female name lists from the mwords package and the DEC name lists form the 50 level to the 60 level and moved Alan's name list from the 60 level to the 50 level. Also added the top 1000 male, female, and last names from the 1990 Census report to the 50 level. This reduced the number of names in the 50 level from 17,000 to 7,000. Added a large number of Uppercase words to the 50 level. Properly accented the possessive form of some words. Minor other changes due to changes in my raw data files which have not been released yet. Email if you are interested in these files. COPYRIGHT, SOURCES, and CREDITS: The collective work is Copyright 2000-2004 by Kevin Atkinson as well as any of the copyrights mentioned below: Copyright 2000-2004 by Kevin Atkinson Permission to use, copy, modify, distribute and sell these word lists, the associated scripts, the output created from the scripts, and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appears in all copies and that both that copyright notice and this permission notice appear in supporting documentation. Kevin Atkinson makes no representations about the suitability of this array for any purpose. It is provided "as is" without express or implied warranty. Alan Beale also deserves special credit as he has, in addition to providing the 12Dicts package and being a major contributor to the ENABLE word list, given me an incredible amount of feedback and created a number of special lists (those found in the Supplement) in order to help improve the overall quality of SCOWL. The 10 level includes the 1000 most common English words (according to the Moby (TM) Words II [MWords] package), a subset of the 1000 most common words on the Internet (again, according to Moby Words II), and frequently class 16 from Brian Kelk's "UK English Wordlist with Frequency Classification". The MWords package was explicitly placed in the public domain: The Moby lexicon project is complete and has been place into the public domain. Use, sell, rework, excerpt and use in any way on any platform. Placing this material on internal or public servers is also encouraged. The compiler is not aware of any export restrictions so freely distribute world-wide. You can verify the public domain status by contacting Grady Ward 3449 Martha Ct. Arcata, CA 95521-4884 grady@netcom.com grady@northcoast.com The "UK English Wordlist With Frequency Classification" is also in the Public Domain: Date: Sat, 08 Jul 2000 20:27:21 +0100 From: Brian Kelk > I was wondering what the copyright status of your "UK English > Wordlist With Frequency Classification" word list as it seems to > be lacking any copyright notice. There were many many sources in total, but any text marked "copyright" was avoided. Locally-written documentation was one source. An earlier version of the list resided in a filespace called PUBLIC on the University mainframe, because it was considered public domain. Date: Tue, 11 Jul 2000 19:31:34 +0100 > So are you saying your word list is also in the public domain? That is the intention. The 20 level includes frequency classes 7-15 from Brian's word list. The 35 level includes frequency classes 2-6 and words appearing in at least 11 of 12 dictionaries as indicated in the 12Dicts package. All words from the 12Dicts package have had likely inflections added via my inflection database. The 12Dicts package and Supplement is in the Public Domain. The WordNet database, which was used in the creation of the Inflections database, is under the following copyright: This software and database is being provided to you, the LICENSEE, by Princeton University under the following license. By obtaining, using and/or copying this software and database, you agree that you have read, understood, and will comply with these terms and conditions.: Permission to use, copy, modify and distribute this software and database and its documentation for any purpose and without fee or royalty is hereby granted, provided that you agree to comply with the following copyright notice and statements, including the disclaimer, and that the same appear on ALL copies of the software, database and documentation, including modifications that you make for internal use or for distribution. WordNet 1.6 Copyright 1997 by Princeton University. All rights reserved. THIS SOFTWARE AND DATABASE IS PROVIDED "AS IS" AND PRINCETON UNIVERSITY MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PRINCETON UNIVERSITY MAKES NO REPRESENTATIONS OR WARRANTIES OF MERCHANT- ABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE LICENSED SOFTWARE, DATABASE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. The name of Princeton University or Princeton may not be used in advertising or publicity pertaining to distribution of the software and/or database. Title to copyright in this software, database and any associated documentation shall at all times remain with Princeton University and LICENSEE agrees to preserve same. The 40 level includes words from Alan's 3esl list found in version 4.0 of his 12dicts package. Like his other stuff the 3esl list is also in the public domain. The 50 level includes Brian's frequency class 1, words words appearing in at least 5 of 12 of the dictionaries as indicated in the 12Dicts package, and uppercase words in at least 4 of the previous 12 dictionaries. A decent number of proper names is also included: The top 1000 male, female, and Last names from the 1990 Census report; a list of names sent to me by Alan Beale; and a few names that I added myself. Finally a small list of abbreviations not commonly found in other word lists is included. The name files form the Census report is a government document which I don't think can be copyrighted. The file special-jargon.50 uses common.lst and word.lst from the "Unofficial Jargon File Word Lists" which is derived from "The Jargon File". All of which is in the Public Domain. This file also contain a few extra UNIX terms which are found in the file "unix-terms" in the special/ directory. The 55 level includes words from Alan's 2of4brif list found in version 4.0 of his 12dicts package. Like his other stuff the 2of4brif is also in the public domain. The 60 level includes Brian's frequency class 0 and all words appearing in at least 2 of the 12 dictionaries as indicated by the 12Dicts package. A large number of names are also included: The 4,946 female names and the 3,897 male names from the MWords package. The 70 level includes the 74,550 common dictionary words and the 21,986 names list from the MWords package The common dictionary words, like those from the 12Dicts package, have had all likely inflections added. The 70 level also included the 5desk list from version 4.0 of the 12Dics package which is the public domain The 80 level includes the ENABLE word list, all the lists in the ENABLE supplement package (except for ABLE), the "UK Advanced Cryptics Dictionary" (UKACD), the list of signature words in from YAWL package, and the 10,196 places list from the MWords package. The ENABLE package, mainted by M\Cooper , is in the Public Domain: The ENABLE master word list, WORD.LST, is herewith formally released into the Public Domain. Anyone is free to use it or distribute it in any manner they see fit. No fee or registration is required for its use nor are "contributions" solicited (if you feel you absolutely must contribute something for your own peace of mind, the authors of the ENABLE list ask that you make a donation on their behalf to your favorite charity). This word list is our gift to the Scrabble community, as an alternate to "official" word lists. Game designers may feel free to incorporate the WORD.LST into their games. Please mention the source and credit us as originators of the list. Note that if you, as a game designer, use the WORD.LST in your product, you may still copyright and protect your product, but you may *not* legally copyright or in any way restrict redistribution of the WORD.LST portion of your product. This *may* under law restrict your rights to restrict your users' rights, but that is only fair. UKACD, by J Ross Beresford , is under the following copyright: Copyright (c) J Ross Beresford 1993-1999. All Rights Reserved. The following restriction is placed on the use of this publication: if The UK Advanced Cryptics Dictionary is used in a software package or redistributed in any form, the copyright notice must be prominently displayed and the text of this document must be included verbatim. There are no other restrictions: I would like to see the list distributed as widely as possible. The 95 level includes the 354,984 single words and 256,772 compound words from the MWords package, ABLE.LST from the ENABLE Supplement, and some additional words found in my part-of-speech database that were not found anywhere else. Accent information was taken from UKACD. My VARCON package was used to create the American, British, and Canadian word list. Since the original word lists used used in the VARCON package came from the Ispell distribution they are under the Ispell copyright: Copyright 1993, Geoff Kuenning, Granada Hills, CA All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All modifications to the source code must be clearly marked as such. Binary redistributions based on modified source code must be clearly marked as modified versions in the documentation and/or other materials provided with the distribution. (clause 4 removed with permission from Geoff Kuenning) 5. The name of Geoff Kuenning may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY GEOFF KUENNING AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GEOFF KUENNING OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The variant word lists were created from a list of variants found in the 12dicts supplement package as well as a list of variants I created myself. The Readmes for the various packages used can be found in the appropriate directory under the r/ directory. FUTURE PLANS: There is a very nice frequency analyse of the BNC corpus done by Adam Kilgarriff. Unlike Brain's word lists the BNC lists include part of speech information. I plan on somehow using these lists as Adam Kilgarriff has given me the OK to use it in SCOWL. These lists will greatly reduce the problem of inflected forms of a word appearing at different levels due to the part-of-speech information. I also plan on perhaps putting the data in a database and use SQL queries to create the wordlists instead of tons of "sort"s, "comm"s, and Perl scripts. RECREATING THE WORD LISTS: In order to recreate the word lists you need a modern version of Perl, bash, the traditional set of shell utilities, a system that supports symbolic links, and quite possibly GNU Make. Once you have downloaded all the necessary raw data in the r/ directory you should be able to type "rm final/* && make all" and the word lists in the final/ directory should be recreated. If you have any problems fell free to contact me; however, unless you are interested in improving the scripts used, I will likely ignore you as there should be little need for anyone not interested in improving the word list to do so. The src/ directory contains the numerous scripts used in the creation of the final product. The r/ directory contains the raw data used to create the final product. In order for the scripts to work various word lists and databases need to be created and put into this directory. See the README file in the r/ directory for more information. The l/ directory contains symbolic links used by the actual scripts. Finally, the working/ directory is where all the intermittent files go that are not specific to one source. pynagram-1.0.1/wordlist/README0000666000175000017500000000156411267173156015101 0ustar umangumangThis word list has been compiled using the SCOWL word list. The word list contains words from the english-words category upto level 55. The following copyright notice applies to the word list, as mentioned in the original package's README file (a copy of which is provided in this folder as wordlist-README): Copyright 2000-2004 by Kevin Atkinson Permission to use, copy, modify, distribute and sell these word lists, the associated scripts, the output created from the scripts, and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appears in all copies and that both that copyright notice and this permission notice appear in supporting documentation. Kevin Atkinson makes no representations about the suitability of this array for any purpose. It is provided "as is" without express or implied warranty. pynagram-1.0.1/bin/0000755000175000017500000000000011575226544013112 5ustar umangumangpynagram-1.0.1/bin/pynagram0000777000175000017500000000252411567517210014657 0ustar umangumang#! /usr/bin/python # # pynagram.py # # Copyright (c) 2009, 2010, 2011 Umang Varma . # # This file is part of Pynagram # # Pynagram is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Pynagram 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Pynagram. If not, see . # from PyQt4 import QtCore, QtGui from pynagram.backend import config import sys from pynagram.gui import gui app = QtGui.QApplication(sys.argv) pynagram_config = config.pynagram_config() pynagram_config.readconfig() pynagram = gui.App(config=pynagram_config) wl = pynagram_config["wordlists"][pynagram_config.setdefault("wordlist", 0)] try: pynagram.pynagram.read_from_file(wl) except IOError: pynagram_config.writedefault() pynagram.pynagram.read_from_file(wl) pynagram.init_game() QtGui.qApp = app app.exec_() QtGui.qApp = None pynagram-1.0.1/PKG-INFO0000644000175000017500000000117711575226544013445 0ustar umangumangMetadata-Version: 1.0 Name: pynagram Version: 1.0.1 Summary: Pynagram - Unjumble the letters and get addicted! Home-page: https://launchpad.net/pynagram Author: Umang Varma Author-email: umang.me@gmail.com License: GPLv3 Description: anagram word game Pynagram is a simple word game in which the player is presented with seven letters in a random order. Every word that is "solved" from the jumbled letters earns the player points. If the player solves one or more seven letter words, the score is carried over into the next game. Pynagram was inspired from Anagramarama. Platform: UNKNOWN pynagram-1.0.1/pynagram/0000755000175000017500000000000011575226544014160 5ustar umangumangpynagram-1.0.1/pynagram/gui/0000755000175000017500000000000011575226544014744 5ustar umangumangpynagram-1.0.1/pynagram/gui/about.ui0000666000175000017500000001274611575226271016430 0ustar umangumang About 0 0 555 475 About Pynagram 360 430 181 34 QDialogButtonBox::Ok 20 20 521 391 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:16pt; font-weight:600;">Pynagram 1.0.1.64</span></p> <p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:16pt; font-weight:600;"></p> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">Copyright (c) 2009, 2010, 2011 Umang Varma. </span></p> <p align="center" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="https://launchpad.net/pynagram"><span style=" text-decoration: underline; color:#0000ff;">Pynagram on Launchpad</span></a></p> <p align="center" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:11pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Pynagram is free software: you can redistribute it and/or modify</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">it under the terms of the GNU General Public License as published by</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">the Free Software Foundation, either version 3 of the License, or</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(at your option) any later version.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Pynagram is distributed in the hope that it will be useful,</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">but WITHOUT ANY WARRANTY; without even the implied warranty of</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">GNU General Public License for more details.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">You should have received a copy of the GNU General Public License</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">along with Pynagram. If not, see <a href="http://www.gnu.org/licenses/"><span style=" text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/</span></a>.</p></body></html> buttonBox clicked(QAbstractButton*) About close() 410 446 262 236 pynagram-1.0.1/pynagram/gui/qt_struct.py0000666000175000017500000001567411575226173017365 0ustar umangumang# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'mainwindow.ui' # # Created: Sun Jun 12 16:15:39 2011 # by: PyQt4 UI code generator 4.7.2 # # WARNING! All changes made in this file will be lost! from PyQt4 import QtCore, QtGui class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(437, 205) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth()) MainWindow.setSizePolicy(sizePolicy) self.centralwidget = QtGui.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.gridLayout = QtGui.QGridLayout(self.centralwidget) self.gridLayout.setObjectName("gridLayout") self.l_avail = QtGui.QLabel(self.centralwidget) font = QtGui.QFont() font.setFamily("Sans Serif") font.setPointSize(24) self.l_avail.setFont(font) self.l_avail.setAlignment(QtCore.Qt.AlignCenter) self.l_avail.setObjectName("l_avail") self.gridLayout.addWidget(self.l_avail, 0, 0, 1, 5) self.l_last = QtGui.QLabel(self.centralwidget) self.l_last.setAlignment(QtCore.Qt.AlignCenter) self.l_last.setObjectName("l_last") self.gridLayout.addWidget(self.l_last, 3, 0, 1, 5) self.l_solved_1 = QtGui.QLabel(self.centralwidget) self.l_solved_1.setObjectName("l_solved_1") self.gridLayout.addWidget(self.l_solved_1, 4, 0, 1, 1) self.l_solved_2 = QtGui.QLabel(self.centralwidget) self.l_solved_2.setObjectName("l_solved_2") self.gridLayout.addWidget(self.l_solved_2, 4, 1, 1, 1) self.l_solved_3 = QtGui.QLabel(self.centralwidget) self.l_solved_3.setObjectName("l_solved_3") self.gridLayout.addWidget(self.l_solved_3, 4, 2, 1, 1) self.l_solved_4 = QtGui.QLabel(self.centralwidget) self.l_solved_4.setObjectName("l_solved_4") self.gridLayout.addWidget(self.l_solved_4, 4, 3, 1, 1) self.l_solved_5 = QtGui.QLabel(self.centralwidget) self.l_solved_5.setObjectName("l_solved_5") self.gridLayout.addWidget(self.l_solved_5, 4, 4, 1, 1) self.l_typed = QtGui.QLabel(self.centralwidget) font = QtGui.QFont() font.setFamily("Sans Serif") font.setPointSize(24) self.l_typed.setFont(font) self.l_typed.setAlignment(QtCore.Qt.AlignCenter) self.l_typed.setObjectName("l_typed") self.gridLayout.addWidget(self.l_typed, 1, 0, 1, 5) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtGui.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 437, 25)) self.menubar.setObjectName("menubar") self.menuGame = QtGui.QMenu(self.menubar) self.menuGame.setObjectName("menuGame") self.menuHelp = QtGui.QMenu(self.menubar) self.menuHelp.setObjectName("menuHelp") MainWindow.setMenuBar(self.menubar) self.statusbar = QtGui.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.actionAbout = QtGui.QAction(MainWindow) self.actionAbout.setObjectName("actionAbout") self.actionNew = QtGui.QAction(MainWindow) self.actionNew.setObjectName("actionNew") self.actionSolve = QtGui.QAction(MainWindow) self.actionSolve.setObjectName("actionSolve") self.actionQuit = QtGui.QAction(MainWindow) self.actionQuit.setObjectName("actionQuit") self.actionWordlists = QtGui.QAction(MainWindow) self.actionWordlists.setObjectName("actionWordlists") self.menuGame.addAction(self.actionNew) self.menuGame.addAction(self.actionSolve) self.menuGame.addSeparator() self.menuGame.addAction(self.actionWordlists) self.menuGame.addSeparator() self.menuGame.addAction(self.actionQuit) self.menuGame.addSeparator() self.menuHelp.addAction(self.actionAbout) self.menubar.addAction(self.menuGame.menuAction()) self.menubar.addAction(self.menuHelp.menuAction()) self.retranslateUi(MainWindow) QtCore.QObject.connect(self.actionQuit, QtCore.SIGNAL("triggered()"), MainWindow.close) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Pynagram", None, QtGui.QApplication.UnicodeUTF8)) self.l_avail.setText(QtGui.QApplication.translate("MainWindow", "ABCDEFG", None, QtGui.QApplication.UnicodeUTF8)) self.l_last.setText(QtGui.QApplication.translate("MainWindow", "Last Word:", None, QtGui.QApplication.UnicodeUTF8)) self.l_solved_1.setText(QtGui.QApplication.translate("MainWindow", "Something", None, QtGui.QApplication.UnicodeUTF8)) self.l_solved_2.setText(QtGui.QApplication.translate("MainWindow", "Something", None, QtGui.QApplication.UnicodeUTF8)) self.l_solved_3.setText(QtGui.QApplication.translate("MainWindow", "Something", None, QtGui.QApplication.UnicodeUTF8)) self.l_solved_4.setText(QtGui.QApplication.translate("MainWindow", "Something", None, QtGui.QApplication.UnicodeUTF8)) self.l_solved_5.setText(QtGui.QApplication.translate("MainWindow", "Something", None, QtGui.QApplication.UnicodeUTF8)) self.l_typed.setText(QtGui.QApplication.translate("MainWindow", "TUVWXYZ", None, QtGui.QApplication.UnicodeUTF8)) self.menuGame.setTitle(QtGui.QApplication.translate("MainWindow", "&Game", None, QtGui.QApplication.UnicodeUTF8)) self.menuHelp.setTitle(QtGui.QApplication.translate("MainWindow", "&Help", None, QtGui.QApplication.UnicodeUTF8)) self.actionAbout.setText(QtGui.QApplication.translate("MainWindow", "About", None, QtGui.QApplication.UnicodeUTF8)) self.actionNew.setText(QtGui.QApplication.translate("MainWindow", "New", None, QtGui.QApplication.UnicodeUTF8)) self.actionNew.setShortcut(QtGui.QApplication.translate("MainWindow", "Ctrl+N", None, QtGui.QApplication.UnicodeUTF8)) self.actionSolve.setText(QtGui.QApplication.translate("MainWindow", "Solve", None, QtGui.QApplication.UnicodeUTF8)) self.actionSolve.setShortcut(QtGui.QApplication.translate("MainWindow", "Ctrl+L", None, QtGui.QApplication.UnicodeUTF8)) self.actionQuit.setText(QtGui.QApplication.translate("MainWindow", "Quit", None, QtGui.QApplication.UnicodeUTF8)) self.actionQuit.setShortcut(QtGui.QApplication.translate("MainWindow", "Ctrl+Q", None, QtGui.QApplication.UnicodeUTF8)) self.actionWordlists.setText(QtGui.QApplication.translate("MainWindow", "Word Lists", None, QtGui.QApplication.UnicodeUTF8)) self.actionWordlists.setShortcut(QtGui.QApplication.translate("MainWindow", "Ctrl+O", None, QtGui.QApplication.UnicodeUTF8)) pynagram-1.0.1/pynagram/gui/wordlists.ui0000666000175000017500000000741511403246532017335 0ustar umangumang Wordlists Qt::ApplicationModal 0 0 535 358 Word Lists true 10 10 511 331 true &Add &Remove Qt::Vertical 20 40 &Save &Cancel <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">You may drag and drop text from a <span style=" font-style:italic;">text-editor</span> or file(s) from a <span style=" font-style:italic;">file browser</span> onto the word list selector above to add word lists.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Click '<span style=" text-decoration: underline;">S</span>ave' to save your settings and start a new game.</p></body></html> true pynagram-1.0.1/pynagram/gui/qt_wl.py0000666000175000017500000001041411403246604016435 0ustar umangumang# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'wordlists.ui' # # Created: Mon Jun 7 15:50:28 2010 # by: PyQt4 UI code generator 4.7.3 # # WARNING! All changes made in this file will be lost! from PyQt4 import QtCore, QtGui class Ui_Wordlists(object): def setupUi(self, Wordlists): Wordlists.setObjectName("Wordlists") Wordlists.setWindowModality(QtCore.Qt.ApplicationModal) Wordlists.resize(535, 358) Wordlists.setModal(True) self.verticalLayoutWidget = QtGui.QWidget(Wordlists) self.verticalLayoutWidget.setGeometry(QtCore.QRect(10, 10, 511, 331)) self.verticalLayoutWidget.setObjectName("verticalLayoutWidget") self.verticalLayout = QtGui.QVBoxLayout(self.verticalLayoutWidget) self.verticalLayout.setObjectName("verticalLayout") self.horizontalLayout = QtGui.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.wls = QtGui.QListWidget(self.verticalLayoutWidget) self.wls.setAcceptDrops(True) self.wls.setObjectName("wls") self.horizontalLayout.addWidget(self.wls) self.verticalLayout_2 = QtGui.QVBoxLayout() self.verticalLayout_2.setObjectName("verticalLayout_2") self.pb_add = QtGui.QPushButton(self.verticalLayoutWidget) self.pb_add.setObjectName("pb_add") self.verticalLayout_2.addWidget(self.pb_add) self.pb_remove = QtGui.QPushButton(self.verticalLayoutWidget) self.pb_remove.setObjectName("pb_remove") self.verticalLayout_2.addWidget(self.pb_remove) spacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.verticalLayout_2.addItem(spacerItem) self.pb_save = QtGui.QPushButton(self.verticalLayoutWidget) self.pb_save.setObjectName("pb_save") self.verticalLayout_2.addWidget(self.pb_save) self.pb_cancel = QtGui.QPushButton(self.verticalLayoutWidget) self.pb_cancel.setObjectName("pb_cancel") self.verticalLayout_2.addWidget(self.pb_cancel) self.horizontalLayout.addLayout(self.verticalLayout_2) self.verticalLayout.addLayout(self.horizontalLayout) self.label = QtGui.QLabel(self.verticalLayoutWidget) self.label.setWordWrap(True) self.label.setObjectName("label") self.verticalLayout.addWidget(self.label) self.retranslateUi(Wordlists) QtCore.QMetaObject.connectSlotsByName(Wordlists) def retranslateUi(self, Wordlists): Wordlists.setWindowTitle(QtGui.QApplication.translate("Wordlists", "Word Lists", None, QtGui.QApplication.UnicodeUTF8)) self.pb_add.setText(QtGui.QApplication.translate("Wordlists", "&Add", None, QtGui.QApplication.UnicodeUTF8)) self.pb_remove.setText(QtGui.QApplication.translate("Wordlists", "&Remove", None, QtGui.QApplication.UnicodeUTF8)) self.pb_save.setText(QtGui.QApplication.translate("Wordlists", "&Save", None, QtGui.QApplication.UnicodeUTF8)) self.pb_cancel.setText(QtGui.QApplication.translate("Wordlists", "&Cancel", None, QtGui.QApplication.UnicodeUTF8)) self.label.setText(QtGui.QApplication.translate("Wordlists", "\n" "\n" "

You may drag and drop text from a text-editor or file(s) from a file browser onto the word list selector above to add word lists.

\n" "

\n" "

Click \'Save\' to save your settings and start a new game.

", None, QtGui.QApplication.UnicodeUTF8)) pynagram-1.0.1/pynagram/gui/__init__.py0000666000175000017500000000000011267173156017045 0ustar umangumangpynagram-1.0.1/pynagram/gui/gui.py0000666000175000017500000002554211575221163016106 0ustar umangumang#!/usr/bin/env python # # gui.py # # Copyright (c) 2009, 2010, 2011 Umang Varma . # # This file is part of Pynagram # # Pynagram is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Pynagram 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Pynagram. If not, see . # from PyQt4 import QtCore, QtGui from qt_struct import Ui_MainWindow from qt_about import Ui_About from qt_wl import Ui_Wordlists import random import time from pynagram.backend import anagram class About(QtGui.QDialog): """This class is the About Dialog""" def __init__(self, parent=None, icon=None): QtGui.QWidget.__init__(self, parent) self.ui = Ui_About() self.ui.setupUi(self) wind_icon = icon or QtGui.QIcon() self.setWindowIcon(wind_icon) def start(self): self.show() class Wordlists(QtGui.QDialog, Ui_Wordlists): """This class is the Word lists Dialog""" def __init__(self, parent=None, icon=None, config=None): self.config = config QtGui.QWidget.__init__(self, parent) self.setupUi(self) wind_icon = icon or QtGui.QIcon() self.setWindowIcon(wind_icon) # QtCore.QObject.connect(self.pb_save, QtCore.SIGNAL("clicked()"), \ self.saveconfig) QtCore.QObject.connect(self.pb_cancel, QtCore.SIGNAL("clicked()"), \ self.cancelconfig) QtCore.QObject.connect(self.pb_add, QtCore.SIGNAL("clicked()"), \ self.addwl) QtCore.QObject.connect(self.pb_remove, QtCore.SIGNAL("clicked()"), \ self.removewl) # self.wls.__class__.dragEnterEvent = self.dragEnterEvent self.wls.__class__.dragMoveEvent = self.dragEnterEvent self.wls.__class__.dropEvent = self.drop self.readfromconfig() # def addwl(self): files = list(QtGui.QFileDialog.getOpenFileNames(self, "Select word " + \ "lists", "", "Text Files (*.txt);; All Files (*)")) for wl in files: self.config["wordlists"].append(str(wl)) self.readfromconfig() def removewl(self): current_row = self.wls.currentRow() self.config["wordlists"].pop(current_row) self.readfromconfig() self.wls.setCurrentRow((self.wls.count() > current_row and current_row) or current_row -1) def saveconfig(self): self.config["wordlist"] = self.wls.currentRow() self.config.writeconfig() self.config.changed = True self.close() def cancelconfig(self): self.config.readconfig() self.close() def dragEnterEvent(self, event): if (event.mimeData().hasFormat("text/uri-list") or event.mimeData().hasFormat("text/plain")): event.accept() else: event.reject() def drop(self, event): data = event.mimeData() if data.hasFormat("text/uri-list"): self.config["wordlists"].extend( \ [str(x.toLocalFile()) for x in data.urls()]) self.readfromconfig() elif data.hasFormat("text/plain"): path = "%s/wl%d.txt"%(self.config.pathtoconfig(), time.time()) fsock = open(path , "w") fsock.write(data.text()) fsock.close() self.config["wordlists"].append(path) self.readfromconfig() def readfromconfig(self): self.wls.clear() self.wls.addItems(self.config["wordlists"]) self.wls.setCurrentRow(self.config["wordlist"]) class App(QtGui.QMainWindow): """This class handles the GUI.""" def __init__(self, parent=None, config=None): """Initializes the code for the GUI""" self.pynagram = anagram.Anagram() self.config = config self.typed = [] self.available_letters = [] self.widgets = {} self.last_word = "" self.last_word_color = "000" self.solved = False self.time_started = 0 self.time_elapsed = 0 self.times_shuffled = 0 self.timer = QtCore.QTimer() self.shuffle_timer = QtCore.QTimer() # QtGui.QWidget.__init__(self, parent) self.ui = Ui_MainWindow() self.ui.setupUi(self) self.wind_icon = QtGui.QIcon() self.wind_icon.addFile('/usr/share/pixmaps/pynagram.xpm') self.wind_icon.addFile('icons/pixmaps/pynagram.xpm') self.setWindowIcon(self.wind_icon) # QtCore.QObject.connect(self.ui.actionSolve, \ QtCore.SIGNAL("triggered()"), self.actionSolve_activate) QtCore.QObject.connect(self.ui.actionNew, \ QtCore.SIGNAL("triggered()"), self.actionNew_activate) QtCore.QObject.connect(self.ui.actionAbout, \ QtCore.SIGNAL("triggered()"), self.actionAbout_activate) QtCore.QObject.connect(self.ui.actionWordlists, \ QtCore.SIGNAL("triggered()"), self.actionWordlists_activate) QtCore.QObject.connect(self.timer, QtCore.SIGNAL("timeout()"), \ self.__update_status_bar) QtCore.QObject.connect(self.shuffle_timer, QtCore.SIGNAL("timeout()"),\ self.__shuffle) self.timer.start(1000) def init_game(self): """Initializes a game.""" self.pynagram.start_new() self.available_letters = self.pynagram.letters[:] self.last_word = "" self.typed = [] self.show() random.shuffle(self.available_letters) self.time_started = time.time() self.__reflect_letters() self.__update_words() self.times_shuffled = 0 self.shuffle_timer.start(25) self.time_started = time.time() def __shuffle(self): """Shuffles the letters""" if self.times_shuffled < 10: random.shuffle(self.available_letters) self.resize(self.sizeHint()) self.times_shuffled += 1 self.__reflect_letters() else: self.shuffle_timer.stop() def __reflect_letters(self): """Updates the labels in the GUI to reflect the state of the variables in this class.""" self.ui.l_avail.setText(" ".join(self.available_letters)) self.ui.l_typed.setText(" ".join(self.typed)) self.ui.l_last.setText(("Last word: " + \ "%s") % (self.last_word_color, self.last_word)) def __update_words(self): """Updates the list of words in the Pynagram window""" a_words = self.pynagram.words.keys() a_words.sort() a_words.sort(lambda x, y: len(x) - len(y)) if not False in self.pynagram.words.values(): self.solved = True per_column = len(a_words)/5 + 1 for x in xrange(0, 5): words = [((self.pynagram.words[word] or self.solved) and word) \ or "_ " * len(word) for word in \ a_words[x*per_column:(x+1)*per_column]] getattr(self.ui, "l_solved_" + str(x+1)).setText(\ "
".join([(word in self.pynagram.words and \ self.pynagram.words[word] and self.solved and \ (" %s"%word)) or word for \ word in words])) self.__update_status_bar() def __update_status_bar(self): s_time = "" if not (self.solved or self.pynagram.solved_all): self.time_elapsed = int(time.time() - self.time_started) if self.time_elapsed >= 300 and not self.solved: self.solved = True self.actionSolve_activate() s_time = "Time: %s" % (time.strftime("%M:%S", \ time.gmtime(300 - self.time_elapsed))) s_score = "Score: %d" % self.pynagram.score self.ui.statusbar.showMessage(s_score + "\t" + s_time) def actionNew_activate(self): self.solved = False if not self.pynagram.qualified: self.pynagram.clear_all() self.init_game() def actionAbout_activate(self): w_about = About(icon=self.wind_icon) w_about.exec_() def actionWordlists_activate(self): self.config.changed = False w_wl = Wordlists(icon = self.wind_icon, config = self.config) w_wl.exec_() self.config.readconfig() # Reverts any unsaved config if self.config.changed: self.config.changed = False wl = self.config["wordlists"][self.config.setdefault("wordlist", 0)] self.pynagram.read_from_file(wl) self.pynagram.qualified = False self.actionNew_activate() def actionSolve_activate(self): self.available_letters.extend(self.typed) self.typed = [] self.__update_status_bar() self.solved = True self.__reflect_letters() self.__update_words() def keyPressEvent(self, event): if not self.solved: key = int(event.key()) if 64 < key < 123 and chr(key).lower() in self.available_letters: # If an available letter has been typed letter = chr(key).lower() self.typed.append(letter) self.available_letters.remove(letter) elif key == 16777216: # Escape self.available_letters.extend(self.typed) self.typed = [] elif key == 16777219 and len(self.typed) > 0: # Backspace self.available_letters.append(self.typed.pop()) elif key == 32: # Spacebar random.shuffle(self.available_letters) elif key == 16777221 or key == 16777220: # Enter word = "".join(self.typed) result, already_typed = self.pynagram.guess(word) if already_typed: self.last_word_color = "ff0" elif (not already_typed) and result: self.last_word_color = "0f0" else: self.last_word_color = "f00" self.last_word = word self.available_letters.extend(self.typed) self.typed = [] self.__update_words() self.__reflect_letters() pynagram-1.0.1/pynagram/gui/qt_about.py0000666000175000017500000001162611575226271017143 0ustar umangumang# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'about.ui' # # Created: Sun Jun 12 16:16:41 2011 # by: PyQt4 UI code generator 4.7.2 # # WARNING! All changes made in this file will be lost! from PyQt4 import QtCore, QtGui class Ui_About(object): def setupUi(self, About): About.setObjectName("About") About.resize(555, 475) self.buttonBox = QtGui.QDialogButtonBox(About) self.buttonBox.setGeometry(QtCore.QRect(360, 430, 181, 34)) self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Ok) self.buttonBox.setObjectName("buttonBox") self.lAbout = QtGui.QLabel(About) self.lAbout.setGeometry(QtCore.QRect(20, 20, 521, 391)) self.lAbout.setObjectName("lAbout") self.retranslateUi(About) QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL("clicked(QAbstractButton*)"), About.close) QtCore.QMetaObject.connectSlotsByName(About) def retranslateUi(self, About): About.setWindowTitle(QtGui.QApplication.translate("About", "About Pynagram", None, QtGui.QApplication.UnicodeUTF8)) self.lAbout.setText(QtGui.QApplication.translate("About", "\n" "\n" "

Pynagram 1.0.1.64

\n" "

\n" "

Copyright (c) 2009, 2010, 2011 Umang Varma.

\n" "

Pynagram on Launchpad

\n" "

\n" "

Pynagram is free software: you can redistribute it and/or modify

\n" "

it under the terms of the GNU General Public License as published by

\n" "

the Free Software Foundation, either version 3 of the License, or

\n" "

(at your option) any later version.

\n" "

\n" "

Pynagram is distributed in the hope that it will be useful,

\n" "

but WITHOUT ANY WARRANTY; without even the implied warranty of

\n" "

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

\n" "

GNU General Public License for more details.

\n" "

\n" "

You should have received a copy of the GNU General Public License

\n" "

along with Pynagram. If not, see http://www.gnu.org/licenses/.

", None, QtGui.QApplication.UnicodeUTF8)) pynagram-1.0.1/pynagram/gui/mainwindow.ui0000666000175000017500000001126511575225733017467 0ustar umangumang MainWindow 0 0 437 205 0 0 Pynagram Sans Serif 24 ABCDEFG Qt::AlignCenter Last Word: Qt::AlignCenter Something Something Something Something Something Sans Serif 24 TUVWXYZ Qt::AlignCenter 0 0 437 25 &Game &Help About New Ctrl+N Solve Ctrl+L Quit Ctrl+Q Word Lists Ctrl+O actionQuit triggered() MainWindow close() -1 -1 233 133 pynagram-1.0.1/pynagram/__init__.py0000666000175000017500000000000011267173156016261 0ustar umangumangpynagram-1.0.1/pynagram/backend/0000755000175000017500000000000011575226544015547 5ustar umangumangpynagram-1.0.1/pynagram/backend/__init__.py0000666000175000017500000000000011267173156017650 0ustar umangumangpynagram-1.0.1/pynagram/backend/config.py0000666000175000017500000001025711403310232017351 0ustar umangumang#! /usr/bin/python # # config.py # # Copyright (c) 2010 Umang Varma . # # This file is part of Pynagram # # Pynagram is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Pynagram 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Pynagram. If not, see . # import sys import os.path from os import environ try: import json json.JSONDecodeError = ValueError except ImportError: import simplejson as json class pynagram_config(dict): """Handles all configuration actions: read, write, defaults, etc""" def __init__(self): dict.__init__(self) self.changed = False def _raw_config(self): """Returns raw config""" try: fsock = open(self.pathtoconfigfile()) except IOError: self.writedefault() fsock = open(self.pathtoconfigfile()) configdata = fsock.read() fsock.close() return configdata def readconfig(self): """Reads configuration file and returns a dict with data""" try: data = json.loads(self._raw_config()) except json.JSONDecodeError: self.writedefault() data = json.loads(self._raw_config()) self.clear() self.update(data) self.setdefault("wordlist", 0) if not self["wordlists"]: self.adddefaultwl() self.writeconfig() def writeconfig(self): """Writes configuration data provided by the data dict""" try: fsock = open(self.pathtoconfigfile(), "w") except IOError: self.createdir() fsock = open(self.pathtoconfigfile(), "w") self["wordlists"] = [os.path.normpath(x) for x in self["wordlists"]] fsock.write(json.dumps(self, indent=4)) fsock.close() def getdefaultwl(self): """Returns the default wordlist""" tries = [[sys.path[0] + "/../wordlist/wordlist.txt", sys.path[0] + \ "/wordlist/wordlist.txt", sys.prefix + \ "/share/pynagram/wordlist.txt"]] # A list of list of possible wordlists. Each nested list contains # similar wordlists, only one of which will be used. If a wordlist is # different, it needs to be placed in a separate list. e.g : # [['a1', 'a2', 'a3'], ['b'], ['c']] when a1, a2, a3 are similar # wordlists found in different locations and b, c are distinct wordlists = [] for source in tries: for path in source: if os.path.exists(path): wordlists.append(path) break return wordlists raise IOError("No wordlist found in any of the expected locations") def adddefaultwl(self): """Adds the default wordlists""" self.setdefault("wordlists", []).extend(self.getdefaultwl()) def writedefault(self): """Writes default config file""" self.clear() self.adddefaultwl() self.writeconfig() def pathtoconfig(self): """Returns path to configuration file""" if sys.platform == 'win32': appdata = os.path.join(environ['APPDATA'], "Pynagram") else: appdata = os.path.expanduser(os.path.join("~", ".pynagram/")) return appdata def pathtoconfigfile(self): """Returns path to config file""" return os.path.join(self.pathtoconfig(), "config.txt") def createdir(self): """Creates the config directory if it doesn't already exist""" try: os.mkdir(self.pathtoconfig()) except OSError: print self.pathtoconfig() + " already exists. Writing defaults" pass # directory already exists pynagram-1.0.1/pynagram/backend/anagram.py0000666000175000017500000001155511567517123017537 0ustar umangumang#! /usr/bin/python # # anagram.py # # Copyright (c) 2009, 2010, 2011 Umang Varma . # # This file is part of Pynagram # # Pynagram is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Pynagram 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Pynagram. If not, see . # import random class AnagramException(Exception): pass class LengthException(AnagramException): pass class WordException(AnagramException): pass class Anagram: """The backend of pynagram that manages the current game. This class performs all the back-end tasks such as generating anagrams, checking if the input word exists, etc.""" def __init__(self): """Initializes the class.""" self.letters = [] self.score = 0 self.words = {} self.wordlist = [] self.scoring = {3:3, 4:5, 5:8, 6:14, 7:20} self.solved_all = False self.qualified = False def read_from_file(self, wordlist): """Reads the wordlist from a file and stores it appropriately.""" fsock = file(wordlist) lines = fsock.readlines() fsock.close() self.wordlist = self.filter_wordlist(lines) def filter_wordlist(self, lines): """Filters lines from a wordlist into a list.""" return([x.strip() for x in lines if len(x) > 3]) def find_letters(self, length=7): """Finds possible letters to make anagrams with from the wordlist""" # adapted from ActiveState Recipe #52560 # ("Remove duplicates from a sequence") possible_words = [[word[x] for x in xrange(length)] \ for word in self.wordlist if len(word) == length] # # Commented out the next few lines because the wordlist is not supposed # to have duplicates. It is none of our business to weed them out. If # any problems occur in the future, we'll uncomment these lines out. # These lines were initially supposed to remove duplicates in words. # # n = len(possible_words) # for x in xrange(n): # possible_words[x].sort() # possible_words.sort() # prev = possible_words[0] # next_free = 1 # for x in xrange(1, n): # if possible_words[x] != prev: # possible_words[next_free] = prev = possible_words[x] # next_free += 1 # possible_words = possible_words[:next_free] return random.choice(possible_words) def start_new(self, letters=None, length=7, no_word_error=False): """Starts a new game of Pynagram!""" self.qualified = False self.solved_all = False if (letters is not None) and len(letters) == 7: self.letters = letters elif (letters is not None) and len(letters) >= 3: raise LengthException("Bad number of letters given.") else: self.letters = self.find_letters(length) words = [] for word in self.wordlist: is_anagram = True a_letters = self.letters[:] for x in word: if x in a_letters: a_letters.remove(x) else: is_anagram = False break if is_anagram: words.append(word) words.sort(lambda x, y: len(y) - len(x)) if len(words[0]) < length: raise WordException("There are no %d letter words that match \ this anagram" % length) self.words = dict([(word.lower(), False) for word in words]) self.letters = [x.lower() for x in self.letters] def guess(self, word): """Attempts to solve (guess) an anagram""" if word in self.words: typed = self.words[word] self.words[word] = True if not typed: self.score += self.scoring[len(word)] if not self.qualified and len(word) is 7: self.score += 30 self.qualified = True if not False in self.words.values() and not self.solved_all: self.solved_all = True self.score += 30 return (True, typed) else: return (False, False) def clear_all(self): """Clears all data being used for a new game.""" self.score = 0 self.letters = [] self.words = {} self.qualified = False pynagram-1.0.1/COPYING0000666000175000017500000010451311267173156013403 0ustar umangumang GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . pynagram-1.0.1/setup.py0000777000175000017500000000352011567517233014062 0ustar umangumang#! /usr/bin/python # # setup.py # # Copyright (c) 2009, 2010, 2011 Umang Varma . # # This file is part of Pynagram # # Pynagram is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Pynagram 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Pynagram. If not, see . # from distutils.core import setup import glob #import py2exe r = setup(name= "pynagram", version= "1.0.1", description= "Pynagram - Unjumble the letters and get addicted!", author= "Umang Varma", author_email= "umang.me@gmail.com", url= "https://launchpad.net/pynagram", packages= ["pynagram", "pynagram.gui", "pynagram.backend"], scripts= ["bin/pynagram"], data_files= [("share/pynagram", glob.glob("wordlist/*"))], windows= [{"script": "bin/pynagram", "icon_resources": [(1, "icons/pynagram.ico")]}], options={"py2exe": {"skip_archive": False, "includes": ["sip"]}}, license="GPLv3", long_description="""anagram word game Pynagram is a simple word game in which the player is presented with seven letters in a random order. Every word that is "solved" from the jumbled letters earns the player points. If the player solves one or more seven letter words, the score is carried over into the next game. Pynagram was inspired from Anagramarama.""" )