Incorrect Smiley Display

Dear [Mentat],

I spoke too soon. Ignore all the business about Unicode.

Actually, that special smiley character is indeed ASCII. In fact, it is ASCII code 74, which by the way, also translates to a capital J. Imagine that!

So, how you may be asking, does the computer receiving email decide which image to display when it encounters character code 74? Well, basically, the font in effect determines this. Text fonts like Times New Roman, Courier, and Arial map code 74 to the image of the print capital letter J. However, the Wingdings Symbols font maps it to a picture of a smiling face. So when any text font is in use, you get a J for code 74, but when the Wingding Symbols font is in use, you get a smiley.

Well, [...] you [probably] understand all that. But how, you ask further, does your computer determine what font to use for each character? After all, email messages can have both Js and smileys in them together, yet the computer doesn’t confuse them. It doesn’t incorrectly display smileys where Js should be, such as within words of text. Okay, the answer to this question is that the HTML format I send my emails in contains directives that instruct the receiving computer what font to use when rendering each character code in the message. Thus, code 74 has different meanings depending on the font.

To verify this, I went back and viewed the HTML source of a letter I had sent you that contained a smiley, and found that just before the smiley, there was a change-font directive that specified the Wingdings Symbols font. That was followed by character 74. After that, another change-font directive appeared that switches the effective font back to Arial.

It appears that JAWS may have no knowledge of font mappings. Perhaps it assumes that a given ASCII character   always   means the same thing, irrespective of the font currently in effect. Perhaps this is why it translates my smileys into Js. Its assumption is a good one for English text fonts because in them, code 74 always refers to the letter J. But nowadays, with so many international fonts available for different languages and alphabets, this assumption becomes dangerous. There may be a way to configure JAWS to speak alternative character-to-font mappings. But as I know next to nothing about JAWS, I’ve now reached the end of my expertise on this topic. :-)

Hope this helps.

Later,
Tom Hesley

Leave a Reply

You must be logged in to post a comment.