Page MenuHomePhabricator

Install mscorefonts on scaling servers for SVG rendering
Open, NormalPublic

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

kaldari created this task.Jul 12 2016, 6:39 PM
Restricted Application added subscribers: Zppix, Poyekhali, Steinsplitter, Aklapper. · View Herald TranscriptJul 12 2016, 6:39 PM
fgiunchedi triaged this task as Normal priority.Jul 15 2016, 11:28 AM
fgiunchedi added a subscriber: fgiunchedi.

@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?

I'll create one...

kaldari added a comment.EditedAug 26 2016, 8:39 PM

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

Current screenshot of testcase from Commons:

Screenshot from local rendering (with fonts installed):

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.

Yurik added a subscriber: Yurik.Sep 7 2016, 12:19 AM

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.

Dereckson updated the task description. (Show Details)Sep 7 2016, 12:26 AM

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 :)

MoritzMuehlenhoff removed MoritzMuehlenhoff as the assignee of this task.Oct 17 2016, 1:54 PM