Page MenuHomePhabricator

Install mscorefonts on scaling servers for SVG rendering
Closed, DeclinedPublic

Description

There is an installer package specifically for jessie Debian to install the Microsoft Core Web Fonts. These fonts are licensed under a semi-free license (basically free use and distribution as long as distribution is non-commercial). Since we aren't actually redistributing them, that shouldn't be an issue. The package includes several of the most common fonts used on the web, which should improve the rendering of the SVGs that use these fonts:

  • Andale Mono
  • Arial Black
  • Arial (Bold, Italic, Bold Italic)
  • Comic Sans MS (Bold)
  • Courier New (Bold, Italic, Bold Italic)
  • Georgia (Bold, Italic, Bold Italic)
  • Impact
  • Times New Roman (Bold, Italic, Bold Italic)
  • Trebuchet (Bold, Italic, Bold Italic)
  • Verdana (Bold, Italic, Bold Italic)
  • Webdings

They should also be added to the fc-list.

The installer can be found at https://packages.debian.org/search?keywords=ttf-mscorefonts-installer.

Licensing

EULA: https://www.microsoft.com/typography/fontpack/eula.htm

Event Timeline

fgiunchedi subscribed.

@kaldari would the same requirement be satistifed by liberation fonts? (Times New Roman, Arial, Courier New)

wrt ttf-mscorefonts-installer, when doing this we should set debconf for msttcorefonts/http_proxy to the right value before package installation

@fgiunchedi: We already have the Liberation fonts installed (I believe), but they only cover 3 substitutions: Arial, Times, and Courier.

@kaldari indeed you are right fonts-liberation is already installed!

I'll check with legal about the EULA

@kaldari indeed you are right fonts-liberation is already installed!

I'll check with legal about the EULA

we're good to go, though I don't think I'll have time this week

I don't think we should use the installer, but rather download the fonts and package them in an internal deb package. This would

  • avoid all proxy hassle
  • it's more resilient in case the download path on microsoft.com changes
  • we could exclude Times, Arial and Courier (since they are in fact covered by the Liberation fonts which we prefer for being FOSS)
  • properly handle updates to the font cache (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820627)

The EULA also grants the right to (unmodified) distribution:
Reproduction and Distribution. You may reproduce and distribute an unlimited number of copies of the SOFTWARE PRODUCT; provided that each copy shall be a true and complete copy, including all copyright and trademark notices, and shall be accompanied by a copy of this EULA. Copies of the SOFTWARE PRODUCT may not be distributed for profit either on a standalone basis or included as part of your own product.

@MoritzMuehlenhoff a separate package hosted internally sounds good to me! should be easy to base it off the existing one

That sounds good to me if someone's up to building a new package.

I currently have some higher priority tasks, but I'll deal with it in the next weeks

we could exclude Times, Arial and Courier (since they are in fact covered by the Liberation fonts which we prefer for being FOSS)

This depends on whether or not we are technically "distributing" whatever internal debian package we create. If we are making it publicly available anywhere, we'll need to keep all the fonts intact, per the EULA. If it isn't going to live anywhere public, we can remove the fonts already covered by FOSS alternatives.

That's a good point. I'll doublecheck with Legal on their interpretation on the EULA on shipping only the fonts without a Liberation alternative.

Actually, since we're planning to build a custom package anyway, we can simply choose to ship all fonts, but only enable the fonts without a Liberation alternative.

@kaldari : I have built an initial package, do you have some SVGs which use these fonts for testing?

Test case: https://commons.wikimedia.org/wiki/File:Mscorefonts_svg_rendering_test.svg

Current screenshot of testcase from Commons:

Screen Shot 2016-08-26 at 1.38.56 PM.png (540×738 px, 92 KB)

Screenshot from local rendering (with fonts installed):

Screen Shot 2016-08-26 at 1.54.22 PM.png (538×726 px, 122 KB)

Note that Webdings may not actually render any dingbat symbols in that test depending on if the font is the Unicode version of the font or not. In the Unicode version, the dingbat symbols are actually mapped to the proper Unicode code points rather than mapped to the ASCII code points. So don't worry too much about that one.

We have similar issue in Graphoid T127683 -- all backend renderings look horrible with just one font, and don't support a number of different unicode planes.

EULA contains some provision which made these fonts non freely licensed:

Restrictions on Alteration. You may not rename, edit or create any derivative works from the SOFTWARE PRODUCT, other than subsetting when embedding them in documents.

Until now, the decision was to only use freely licensed fonts.

Before install this, we probably need to ask if this is want the community wants.

Until now, the decision was to only use freely licensed fonts.

Well, depends on your definition of "freely licensed". Personally, I don't consider the SIL Open Font License to be free either, as it's a non-commercial license, but I seem to be in the minority on that one. Clearly, though, the Microsoft license is even less free than the OFL, so I may be pushing us down the slippery slope :)

In my opinion, these fonts are non-free and shouldn't be installed on Wikimedia servers. The non-commercial distribution restriction in the SIL OFL is quite weak and easy to circumvent, while the MS EULA just says no to both derivatives and commercial distribution.

More importantly, Microsoft is no longer freely distributing that font pack. The EULA has been replaced with https://docs.microsoft.com/en-us/typography/fonts/font-faq#redistribution-and-extended-rights, which specifies that Windows fonts may not be copied to other computers or servers. They are now commercially selling licenses to install the fonts on servers: https://www.fonts.com/content/microsoft-typography. The server license for Times New Roman alone is $650/year, which is frankly insane.