
Today I solved a twelve-year-old Outlook mystery - bjoko
https://emails.hteumeuleu.com/today-i-learned-about-mso-generic-font-family-85b0e4703079
======
emilsedgh
I cannot believe that Microsoft Outlook, in 2019, is still using the broken
word-based HTML rendering which is an insult to the whole industry and a pain
for anybody in email business.

Is there a strategy behind this? Is Outlook on maintenance mode with no
developers? Or is it on their best interest to keep it broken?

~~~
yyyk
I dunno about Microsoft's intentions, but it's in _our_ (worldwide internet
users) best interest for Outlook to keep the 'broken' renderer.

HTML email has some use-cases as long as the HTML used is very limited, and
that's exactly what Outlook provides. There's however no justification to turn
email into a full on web page like Google wants. The longer Outlook's renderer
is 'broken', the less likely we are to get abominations like Google's AMP
email.

Ultimately, email really is a document and should remain that way. This is
compatible with HTML, but completely incompatible with Javascript.

~~~
johannes1234321
Oh come on, don't you wish you could send a game using WebGL via E-Mail? Think
about the possibilities! (To some degree I'm unsure if I'm really joking - I
can image practical use, but I love plain text mail, which I can easily
search, filter and render as I need it)

~~~
yyyk
Ah, wonderful. We'll have animated, autoplaying 419 scams. We'll need Turing-
complete spam filters, which will be exploited themselves. Just what we
needed.

Edit: Wait a minute. Wouldn't these WebGL games need microtransaction ability?
That's a must for any game company. Obviously we must be allowed to use the
payment API in emails! So now the scams would be able to bill the user
directly.

~~~
johannes1234321
As long as they can mine Bitcoin there's no need for micro transactions. Just
make sure that there is no save button and warn the user that closing the mail
will lose their game state.

A more serious use case might be the architect sending models of the new
building or the doctor sending MRIs. While those cases have practical issues
like the recepient not being able to respond to it easily (move that wall!)
and privacy, they also have interesting benefits like no need to login to some
cloud and retention period controlled by the recepient. Sending as attachment
of course works, but needs container formats to collect assets together and
sandboxing in browsers for local files. As well as this being a media break,
where I have to switch to a different tool to look at it then where the
context is.

~~~
yyyk
Your suggestion is pure genius. We'll just call it a roguelike and that would
explain the 'no save button'. I'll be sure to recommend you at the next 'dark
pattern' meeting! /j

As for the latter, if we're going in that direction, we might as well go all
the way and implement some COM-like thingy for the web, so users can attach
multiple whatevers and work on them in the email. This seems more efficient
than turning each email to a unique embedded app which can embed only one type
+ maybe attachments.

Despite all this being possible in Outlook-land, everyone I'm familiar with
prefers opening the attachment and working in a separate window, but I guess
some people would rather work inline?

~~~
johannes1234321
Maybe they like it since there is no alternative!? If there were a working way
things might be different.

~~~
yyyk
I meant that in Windows there is an alternative to attachments to an extent.
COM allows an application to embed in another application. i.e. I can paste
some Excel into Outlook and it will keep the table formatting and I can
manipulate it in Outlook as if it were Excel. It's not the best implementation
though (pretty bad on the other side), and there probably is a much nicer way
to do it.

You could be right, with a better implementation there would be more that
choose to work that way. I still think the risk outweighs the possible limited
benefit though.

------
m12k
When I clicked the link I thought it would be about something that confused me
for a while: What do people mean when they write a capital J in their emails?
I eventually figured out that it's because Outlook automatically converts a
smiley emoticon into a WingDings (an old Microsoft icon font from before that
term became popularized on the web) version, which happens to have J as the
character for a smiling face. View that on a machine that doesn't have the
WingDings font installed, and you just get a capital J. Raymond Chen blogged
about it too:
[https://devblogs.microsoft.com/oldnewthing/20060523-10/?p=31...](https://devblogs.microsoft.com/oldnewthing/20060523-10/?p=31103)

~~~
tialaramex
Yup, Microsoft jumped at just the wrong moment on this stuff.

Today you just go "Eh, text is Unicode" and any weird corner cases go in the
Private Use Area bucket never to be seen again.

And in the 1980s you'd go "Eh, text is ASCII" and just tell office workers
that too bad they can't have an emoticon in their email, try writing :)
instead.

But just at that moment where Windows exploded and everybody was getting a PC
with a graphical user interface there was that awkward moment where it seemed
reasonable to act as though text was arbitrary indexes into a font and doesn't
actually _mean_ anything except that a lot of the fonts map to ASCII. So now
you can write [HN removes actually Emoji] but it doesn't mean [HN removed the
same emoji here] it just looks that way on PCs with the exact same font.

And that mistake infected Microsoft Office and all of Windows. I wrote a
presentation on a work PC in about 1995 and then my boss printed it from her
work Mac, and on every single sheet of the presentation the trademark symbol
was replaced by some other symbol Macs had because of this useless ambiguity.

~~~
roel_v
There are so many things Microsoft was ahead of the times. For example, they
had what are now 'Electron apps' in the 1990's (hta files). And how I wheep
when I look back at the power of COM, how I complained about it back when I
didn't understand it, and what could have if we'd had proper object technology
today.

~~~
agent008t
Windows also had some chat application, hidden within the Windows folder, that
allowed you to draw comic book style panels and converse using those over a
network. I have never actually seen it used live, but it seemed like an
interesting concept.

~~~
russh
Honestly Comic Chat is one of the best things to ever come out of Microsoft. I
miss it.

------
tehabe
I'm always annoyed by Outlook's HTML, I remember when it set Calibri as font
and the fall back was "sans-serif" which would not really work.

It really made me wish that HTML in emails would vanish, just vanish and never
come back again. Sadly this won't happening.

~~~
jjcm
I'd be down with them either vanishing, or at the very least being compliant
with a standard html5 spec. The in between state they're in now is the worst
of both worlds.

~~~
gnud
Which HTML 5 spec is that exactly?

HTML 5 is a "living standard", which is a horrible idea for documents that
might be archived for 10 years, like email.

Note, I'm not condoning the status quo, but let's think about what we actually
want here.

~~~
egeozcan
A proper browser can display all HTML documents crated like, ever, if you can
live with some imperfections that are there to deal with improper browsers in
the first place.

I mean, I get your point, and it makes sense, and for a similar reason we
didn't get WebSQL. But I think HTML is special in this regard. Everyone just
accepted the complexity of dealing with all sorts of documents.

------
btown
> Outlook does support @font-face declarations (but doesn’t load distant
> fonts). Because Outlook can’t display that font, it falls back to its
> expected mso-generic-font-family value. And because it’s not defined, it
> falls back to its auto value, matching the roman font family, thus falling
> back to Times New Roman.

It also seems that mso-font-alt can be used in a similar way:

[https://litmus.com/community/discussions/36-outlook-and-
fall...](https://litmus.com/community/discussions/36-outlook-and-fallback-
fonts#comment-2459)

And there are many more mso-prefixed options available, though documentation
is scarce: [https://litmus.com/community/learning/8-outlook-
overview](https://litmus.com/community/learning/8-outlook-overview)

Generally it seems like this isn't very well known. Hopefully this gets a
signal boost and best-practices articles get updated with the advice.

------
smitty1e
> I hope you enjoyed this read as much as I enjoyed doing this research.

Redmond's quirkery has been a pleasure these decades, for "yelling
obscenities" values of "pleasure".

------
duncan-donuts
Maybe I’m dense and I couldn’t draw this conclusion — were those properties
always available but we’re never documented? If that’s true it seems crazy to
me that Microsoft couldn’t just say, “Hey I know everyone is mad about font-
face not being respected. Here’s this property you can set and all is well.”

~~~
jdsully
If you had passed a supported font to the font-family tag it would have
rendered it (it will not download a webfont). Since people really don't like
seeing square boxes instead of characters windows tries very hard to find a
font that will draw the character. Based on historic precedent Times New Roman
is normally chosen.

You'll note the fallback-families he lists are exactly those supported by the
GDI LOGFONT structure which dates to windows 3.0. This is old creaky stuff
we're dealing with.

[https://docs.microsoft.com/en-
us/windows/win32/api/wingdi/ns...](https://docs.microsoft.com/en-
us/windows/win32/api/wingdi/ns-wingdi-taglogfonta)

------
mschuster91
There is yet another gem hidden in that post:

    
    
        src: local('Pacifico Regular'), local('Pacifico-Regular'), url(https://www.caniemail.com/tests/assets/fonts/pacifico-regular.woff2) format('woff2');
    

Basically... isn't this a way to bypass the default external resource loading
block for mail clients other than Outlook, meaning that this could be (ab)used
for stealth "read receipts"?

------
mrunkel
Outlook can't even display raw TEXT consistently. We have a confirmation email
that goes out when somehow submits to our contact us form.

In all email clients except outlook, the footer is on two lines (because there
is a CR there).

line1<CR>

line2

In outlook (and only outlook)?

line1line2

The rest of the email is fine, just these two lines of the footer are smooshed
together.

~~~
SCHiM
Window's line separator is actually two charaters, CR LF ( 0x0d 0x0a).

This is a fundamental difference between Windows and other operating systems.
There's unix tools available to convert between the two formats (dos2unix &
unix2dos).

~~~
sbuk
That’s an SMTP requirement too.

------
pixelbath
>The following line especially picked my interest

FYI, it's "piqued my interest."

------
eecc
Well, it’s not a bad thing that it doesn’t load remote resources...

------
mikorym
I could be missing the plot here, but I always got the impression that Outlook
limits (sets) the fonts and colours in order to make the emails look like they
"were sent by MS/Outlook". But again, this may be my idiosyncratic MS
experience.

------
Endy
I wonder, does Outlook 2019 have the "system" font glitch from Win 3.xx? I
think I'll be sending out all my HTML emails in either System or Courier from
now on; just to pull peoples' legs.

~~~
wlesieutre
What’s the glitch? Microsoft has a font named System and if you ask for it you
get it?

~~~
benj111
I guess they're talking about this.

[https://medium.design/system-
shock-6b1dc6d6596f#.v0lk6vj4x](https://medium.design/system-
shock-6b1dc6d6596f#.v0lk6vj4x)

~~~
wlesieutre
Right, so not really a "glitch"

 _> Dormant, that is, unless someone asked for it with CSS. Which we,
inadvertently, did._

It boggles my mind that not once did someone load up the "Medium 2.0" redesign
on a Windows computer before launching it. Or even render it out from
browsershots. Is cross platform browser behavior consistent enough that people
don't do this anymore? And IE/Edge testing was just not on the list?

For reference if anyone wants to use the OS's font like this, "-apple-system"
now has an unprefixed implementation as "system-ui" avoid the Windows font
collision. Chrome/Safari support it, Edge will once they're running the Chrome
engine, but Firefox doesn't yet.

~~~
benj111
"It boggles my mind that not once did someone load up the "Medium 2.0"
redesign on a Windows computer"

It says in the article that it was only certain OS, browser combinations.
Don't know how unusual the combination was though.

~~~
wlesieutre
Ah you're right, I'd missed that. I wonder what versions.

------
kazinator
> _This morning I was doing some tests in Outlook on supported styles for HTML
> lists._

"Today I was doing unpaid QA on a widely reviled proprietary Microsoft office
app ..."

