Date: 1/3/2011
Tags: email outlook | It seems to be common knowledge that people receiving email from Outlook
users see a capital J instead of a smiley face if they are not using Outlook
themselves. As I've been testing the IMAP behavior of Scribe and Thunderbird
lately I noticed that both clients display Outlook's smiley face as a "J" and
thought to myself, if I have spent so much effort making Apple's Emoji work
that it's only fair that I at least have a look into why Outlook's smileys don't
work.
There are a lot of "fixes" out there for the "problem", but I wanted to know the
REAL reason why it happens. So here it is; Outlook wraps the smiley in the
following HTML:
<span style='font-face:wingdings'> J</span>
There is the famous J character, but technically that markup is correct, if you
open up Word, set the font to Wingdings and type 'J' you get a smiley. So what
the hell? Initially I thought maybe my glyph substitution code was getting in
the way, but after turning that off for wingdings it didn't help. So I looked at
the font creation code and remembering something about ANSI vs SYMBOL
charsets I hard coded anything with "wingdings" in the face name to use
SYMBOL_CHARSET instead of ANSI_CHARSET when calling CreateFont.
Which fixes the problem, Scribe now renders the smiley characters correctly.
There you go, now you know.
Now I can snicker quietly when Thunderbird renders them as 'J's ;)
|