A Default Composition Font for Mail

A Default Composition Font for Mail

A couple days ago I became aware of an app on the Mac App Store that purported to solve a problem that I was only vaguely aware that I had. As I read about it, I understood something about Mail that has apparently bothered a number of people that send rich text messages.

Yes, I’m one of those people. Until now, I’ve set (or left) Mail’s message font (Preferences > Fonts & Colors) to Helvetica, presuming that’s what other people see, but I wondered why quoted text in a reply to my messages would often show the quote in a different font—usually Times. Now I know why.

It seems that the aforementioned setting only affects the display of rich text messages when the message doesn’t otherwise specify a font. It doesn’t set the default font for composing a message. Unlike some other email clients, Mail doesn’t have an option to set the default composition font, even though the format bar seems to indicate that it does.

MessageFont [$5, (Update 4/13/2015: No longer available on the Mac App Store, available here)] lets you set Mail’s default composition font for rich text messages. It does this by intercepting the default keystrokes for creating, replying to and forwarding messages and inserting some boilerplate in your chosen font into the message. In my experience, the app didn’t work as designed because of a long-outstanding bug that makes MessageFont think that access for assistive devices—in the Accessibility preference pane—is disabled.

Disappointed in my purchase, I began looking for a way to accomplish the same task with the tools at hand: AppleScript and Keyboard Maestro. After a few false starts, here’s what I’ve come up with.

The Default Mail Text

Each of the macros draws upon a common Keyboard Maestro named clipboard.

Named Clipboard Switcher

  1. Open Keyboard Maestro’s preferences (Keyboard Maestro > Preferences) and select the Clipboards tab
  2. Add a clipboard and name it “Default Mail Text”
  3. Close the Preferences window

Next, create the default Mail text:

  1. In any plain text editor, paste this text:
    <span style='font-family: "Lucida Grande", "Lucida Sans Unicode"; font-size: 14px;'>&#8288;</span>
  2. Change the font and size as desired. Be sure to select fonts likely to be on your recipients’ computers and order the names so that the Macintosh fonts are first.
  3. If you’re using BBEdit, select Markup > Preview in Safari; otherwise, save the document as an .html file and open it in Safari
  4. Click in the blank document and select Edit > Select All
  5. Bring up Keyboard Maestro’s Named Clipboard Switcher (command-shift-C is the default shortcut for the copy switcher)
  6. Select the Default Mail Text clipboard and click the copy button (or press Return)
  7. Close the Named Clipboard Switcher and the Safari window

New Message

The New Message macro intercepts the ⌘-N keystroke, tabs several times (adjust for the number of address fields you have visible), pastes our default mail text, and tabs back to to the To field:

New Message in Keyboard Maestro

Reply

Replies are similar—you don’t need the tabs, though, because Mail places the cursor in the message body for you:

Reply to Message in Keyboard Maestro

Reply All

This message type is similar to the last—just duplicate the macro and assign the command-shift-R trigger.

Forward

This message type is similar to new message, but with the addition of a keyboard shortcut that Mail doesn’t already have:

Forward Message in Keyboard Maestro

I’ve not yet found a simple way to adjust the style of the attribution lines in replies and forwarded messages, but I’ll update here if I find that’s possible.

Update [3/20/2013]: I’ve updated the post in response to the reader who pointed out that my choice of an example font would not be on many users’ computers. The instructions now describe setting multiple fonts for compatibility across platforms.