9 ms·
Today I solved a twelve-year-old Outlook mystery
- duncan-donuts 7y agoMaybe 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 7y agoIf 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-wingdi-taglogfonta https://docs.microsoft.com/en-us/windows/win32/api/wingdi/ns...
- bmn__ 7y agoI concur it's crazy. Same thing happened with Internet Explorer. Back then, you could not have 5, 5.5, 6 together on one Win98. When installing later versions, they would replace earlier versions. But as a hobbyist I needed all to test my Web sites. The recommended work-around was VMWare. VMWare was not installable on Win98, so I tried Linux as host OS. That was the pivotal point that got me into my serious programming career. Years later a hidden API was found out that made it possible to install the browsers in parallel. http://web.archive.org/web/2007/http://labs.insert-title.com/Multiple-IEs-in-Windows_article795.aspx http://web.archive.org/web/2007/http://labs.insert-title.com... If Microsoft had documented that for the public, they would have saved Web developers thousands of man-years of work.
- smitty1e 7y ago> 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".
- btown 7y ago> 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-fallback-fonts#comment-2459 https://litmus.com/community/discussions/36-outlook-and-fall... 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.
- tehabe 7y agoI'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 7y agoI'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 7y agoWhich 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 7y agoA 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.
- zeven7 7y agoHTML 5 maintains backwards compatibility. HTML from 20 years ago still works today.
- tehabe 7y agoI would be happy if there was a subset of HTML for email. Look at the HTML Gmail produces, which is essentially just <div> or <p> in the default mode and uses <span> for changes of formating and <blockquote> for replies. This would work for propably 90 to 99% of all hand written emails in Outlook or any other email client.
- emilsedgh 7y agoI 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?
- cma 7y agoGoogle wants some of that action: https://developers.google.com/gmail/ampemail/ https://developers.google.com/gmail/ampemail/
- raxxorrax 7y agoWow, this sounds like a horrible idea... I see no scenario where this idea could succeed. Most businesses put their mails through sandboxes and whatnot. and a mail that looked like a chicken once, will look like a pile of bones at the time it reaches the receiver. Well, we had mails that contained VBScript. Outlook users can actually execute these. I think Microsoft changed policies to default disallow for a lot of VB components about a year ago.
- pilif 7y agoSince office 2007 they use word to render HTML mail. Probably mostly because of security reasons because at the time their other option was IE which lead to many previous security flaws. Word isn't much safer but at least it is under the Office team's control plus it's less widely deployed than IE was at the time. It also has way fewer features with regards to HTML rendering which helps reducing the attack surface. On the other hand, as it's neither browser nor HTML editor, its HTML rendering capabilities are never improved because it's no priority. And thus HTML mail is stuck at tables, font tags and spacer gifs for the rest of eternity. Thank you Microsoft. (OTOH, whatever helps discourage HTML mails and encourage plain text is a good thing in my book. And now, get off my lawn)
- Alex3917 7y ago> Or is it on their best interest to keep it broken? I get the impression that most mail is currently sent using Outlook and read using Gmail, so there is kind of a detente where everything is just frozen.
- Endy 7y agoI 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 7y agoWhat’s the glitch? Microsoft has a font named System and if you ask for it you get it?
- benj111 7y agoI guess they're talking about this. https://medium.design/system-shock-6b1dc6d6596f#.v0lk6vj4x https://medium.design/system-shock-6b1dc6d6596f#.v0lk6vj4x
- wlesieutre 7y agoRight, 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 7y ago"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 7y ago
- mrunkel 7y agoOutlook 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.
- tpetry 7y agoHave you tried using <CR><LF>? Windows notepad was never able to display linefeeds with only <LF> (or only <CR>?) and needed the <CR><LF>. Maybe this would solve the problem.
- tsukikage 7y agoIt's a feature. Outlook helpfully removes "extra" line breaks from plain text email, and there is no way for the sender to prevent this. One can only assume the developers never communicate source code snippets using their own software. https://support.microsoft.com/en-us/help/287816/line-breaks-are-removed-in-posts-made-in-plain-text-format-in-outlook https://support.microsoft.com/en-us/help/287816/line-breaks-... Dear Microsoft: line breaks in my preformatted text are not "extra". I intend every single one. You may believe you know better than me, but you do not. Stop trying to nanny, you are very bad at it.
- SCHiM 7y agoWindow'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 7y agoThat’s an SMTP requirement too.
- eecc 7y agoWell, it’s not a bad thing that it doesn’t load remote resources...
- mikorym 7y agoI 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.
- m12k 7y agoWhen 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=31103 https://devblogs.microsoft.com/oldnewthing/20060523-10/?p=31...
- _nalply 7y agoSomeone even believed that the capital J was a Microsoft thing. He used it himself in his answers to Microsoft. Confusion and then hilarity ensued. (Source: link in parent)
- tialaramex 7y agoYup, 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 7y agoThere 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.
- mschuster91 7y agoThere 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"?
- pixelbath 7y ago>The following line especially picked my interest FYI, it's "piqued my interest."
- kazinator 7y ago> 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 ..."