Page MenuHomePhabricator

Adapt unicode feature detection code from Modernizr
Open, LowPublic

Description

Use it to determine which browsers need to load additional fonts in order to render text on the page.

https://github.com/Modernizr/Modernizr/blob/master/feature-detects/unicode.js

See also unicode-range feature detection and relevant spec:
https://github.com/Modernizr/Modernizr/blob/master/feature-detects/unicode-range.js
http://www.w3.org/TR/2013/CR-css-fonts-3-20131003/#descdef-unicode-range


Version: unspecified
Severity: normal

Details

Reference
bz59984

Event Timeline

bzimport raised the priority of this task from to Low.Nov 22 2014, 2:42 AM
bzimport set Reference to bz59984.
bzimport added a subscriber: Unknown Object (MLST).

It is not that easy as we imagine, unfortunately.

It is documented it in detail here:
https://www.mediawiki.org/wiki/Universal_Language_Selector/WebFonts#Font_detection (Also in the FAQ section of that document)

ULS webfonts apply fonts by default to a subset of languages that it supports. This list of languages is given at https://www.mediawiki.org/wiki/Universal_Language_Selector/WebFonts#Table_of_languages_and_default_fonts

Each of this language is chosen based on community requests. Each language has their own reasons to choose default font embedding and reason for choosing a particular font. For all other languages, nothing happens unless user choose a font using preferences UI.

The bug reports causing default webfonts for the above set of languages is documented inside the code too. Eg: https://git.wikimedia.org/blob/mediawiki%2Fextensions%2FUniversalLanguageSelector/23c961e4ba812ae75c791d7d31c9bb74f0a037c9/data%2Ffontrepo%2Ffonts%2FShapour%2Ffont.ini#L6