Jump to content


Photo

Apple mail question


  • Please log in to reply
1 reply to this topic

#1 Scott

Scott

    Member

  • Members
  • Pip
  • 1 posts

Posted 31 May 2009 - 09:11 PM

New user; just downloaded and installed application. Am testing functionality in Apple Mail.

Let's say that I begin a new message and I fail to capitalize "i" at the beginning of the email. In Word or Entourage, for example, the "i" would automatically be changed to "I". In my testing, I notice that a correction pops up if I fail to capitalize after a proper punctuation mark. However, in starting a message, there is no leading punctuation mark. Can Spell Catcher address this error? If so, how best would I configure the software?

#2 Evan Gross

Evan Gross

    Administrator

  • Admin
  • PipPipPip
  • 2,991 posts
  • Gender:Male
  • Location:Toronto, Canada
  • Interests:This Place!

Posted 31 May 2009 - 10:34 PM

New user; just downloaded and installed application. Am testing functionality in Apple Mail.

Let's say that I begin a new message and I fail to capitalize "i" at the beginning of the email. In Word or Entourage, for example, the "i" would automatically be changed to "I". In my testing, I notice that a correction pops up if I fail to capitalize after a proper punctuation mark. However, in starting a message, there is no leading punctuation mark. Can Spell Catcher address this error? If so, how best would I configure the software?


Your observations are right-on: Spell Catcher only knows that a word begins a sentence if it "sees" end-of-sentence punctuation on the word before it.

(Lowercase "i" isn't necessarily the best example, as (in general) it's not a valid word and considered a capitalization error. Still, the explanation below does apply, as it would for a word that's valid in lowercase, capitalized, and uppercase forms. Most folks create a shorthand "i" -> "I" with the "Match abbreviation's case" and "Keep expansion's case" options selected to automatically fix this particular error).

The reason that applications can do this (correctly and reliably) is that they have intimate knowledge of the general purpose of their own text entry views. This means they can intelligently determine the difference between (say) the body of an email message, and (say) an email address entry area, or text field in a Find/Replace dialog. So in a composition area such as a message body or word processing document, they would know that the first word should probably be capitalized, but not in a find/replace dialog or email address field.

Spell Catcher (or any input method for that matter) knows nothing about the actual purpose of the text entry view you're typing in. So it cannot (and must not) assume that the first word probably begins a sentence and should be capitalized. Think about how annoying that would be in a browser's location field, or a search field, or (especially) when you're using an application's Find/Replace dialog. Therefore Spell Catcher only considers a word to begin a sentence when the word you just typed actually ends one.

Hope you can see the dilemma...

That said, there is a way to get something that might be close to the behavior you're after using DirectCorrect, if you select the Spell Catcher X preference in the Spelling pane, Check Selection tab "New paragraphs and lines should always be considered to begin a sentence". Try it out, see if that might be an option for you.

A plan for the future is to take advantage of the capability to obtain more document context (like DirectCorrect does) during "regular" interactive checking. This would make it possible to determine start-of-sentence even if you didn't just type a word with end-of-sentence punctuation. For this specific case, a lowercase word at the beginning of a document - when there is no prior text to consider - Spell Catcher could make a determination based on whether that word is actually part of a sentence. So the missing capital error would be signalled or automatically corrected at the time the sentence it begins is actually terminated.

Now, there is a hidden preference you can set where Spell Catcher will (always) enforce that the first character in any given text area (in those apps where this can be determined) should be capitalized. This is a very, very far-from-optimal, band-aid type solution that one of my beta testers begged me to implement. That's why it's hidden - it doesn't properly solve the actual problem at all.

If you want to turn it on for all applications, you would enter into the Terminal:

defaults write com.rainmaker.SpellCatcher SCFirstCharacterBeginSentence -bool YES

If you want to do it just for Mail or a specific app (strongly recommended), it's a bit trickier. Best to use something like PropertyListEditor to do it. Basically, you'd modify the entry for Mail in the "applications" (NOT "Applications") array in the com.rainmaker.SpellCatcher.plist file, adding a similar boolean key/value pair with key SCFirstCharacterBeginSentence and value YES to the "applicationDefaults" dictionary.

You'll should Quit the Spell Catcher app before doing this, though. Shouldn't be any need to log out, just fire up Spell Catcher afterwards.

Let me know if you want to try it (after you strongly consider everything above, until you fully understand why it's almost always a bad idea) and need help.