January 14, 2011
Some love for the Word spelling checker
As I’ve noted before, when spelling-checker software gets attention, it’s because something went wrong. And I’ve also noted before that lots of people think that spelling checkers, and the spelling checker in Word in particular, are not very good.
That isn’t me. I use the spelling checker in Word all the time. In fact, even if I’m writing something in some other editing tool, and even if that tool has a spelling checker, I will often copy the content to a Word document and run the spelling checker there. (This is especially true when I work with HTML documents.) When I found myself doing that again recently, I thought I should sort out why exactly I find it so useful. So here are some thoughts on why the spellchecker in Word works so well for me personally. (As they say, YMMV.)
It’s overwhelmingly right. I am in fact a wretched typist. One of the reasons that this isn’t quite as obvious as it might be is that Word finds the two or three words per sentence that I’ve mistyped and scolds me. People like to harp on cases where Word misses a misspelling (10 Common Errors “Spell Check” Won’t Catch ) or suggests some absurd replacement for a misspelled word ("Cupertinos"). But realistically, the percentage of times that Word is right versus these oddball cases has got to be in the high 90th percentile.
It works both in real time and in batch mode. By default, Word flags misspelled words as you type. (You can disable this if you don’t like it.) You can also press F7 and invoke the spelling checker at any time, which you can use to check with the whole document or the current selection—see also next point. I rely on both modes heavily.
It starts checking from where the insertion point is in the document. Some batch-mode spelling checkers always start at the beginning of the document (or selection). In long documents, this is actually quite annoying.
It can check multiple languages. When I was taking Spanish and had to write for class, I found that the spelling checker not only could proof Spanish, but that Word would auto-detect the language of a document or even paragraph, if I was alternating languages. (Proofing my Spanish homework caught a heck of a lot of errors, let me tell you.)
It’s reasonably smart about matching the capitalization of words it fixes. When it suggests replacement words, Word tries to match the case of the error it's found:
This isn't perfect by any means, but it's often right.
It lets you edit both the word and its context live in the spell-check dialog box. In the Spelling and Grammar dialog box, the error is displayed in context in an editable window. Your choice for a fix isn't just what it suggests, and you're not limited to correcting just the misspelled word -- you get a useful snippet of the word's context to edit.
It distinguishes words by case that you've added to the dictionary. This is both a plus and a minus, actually, but on the whole, it's a better-safe-than-sorry plus. I've added a lot of product names and programming keywords to my custom dictionary. These are almost always case-sensitive, so it's helpful that Word finds casing errors in these terms:
The spell-checking dialog box isn’t modal. This one is big for me. When the Spelling and Grammar dialog box is open, you can click back in the document and edit there. (In many spelling checkers, you have to close the dialog box in order to return to the document and fix something.) This is useful to me if the spelling check has either found something too complicated to fix in its live-edit box, or if Word has uncovered some other, non-spelling-related error that I want to fix right now.
You can disable it by style. Another big one for me. I constantly work with documents that have long code examples or HTML listings, both of which contain many oddball words that aren’t normal English. When I spell-check the document, it's tedious to Ignore my way through these and it's dangerous to choose Ignore All for these weird terms. I can pop out of spelling checker dialog box (see previous point), skip over the code examples, and resume at the next bit of real text (see different previous point). This helps, but is still a little tedious. The best solution is to define a Word style and apply it to that text. Then as part of that style, you can tell Word to ignore it for purposes of spell checking:
I suppose an even more ideal solution here would be to be able to tell Word that the text is code or HTML, and then have Word somehow be able check the spelling in that context. HTML editors like Expression Web use spell-check-type flagging to mark unrecognized HTML keywords; Visual Studio can find both bad HTML and bad code:
As I say, nice to have, though not of course a mainstream scenario for the spelling checker in Word.
Admittedly, I spend more time in Word than most people, and my job involves some spell-checking challenges that probably aren't that widespread. Still, I think that the combination of spell-check smarts in Word and the way they've implemented the check is better than anything else I've used.
What other spelling checkers do you love?