- From: Glenn Adams <glenn@skynav.com>
- Date: Thu, 8 Nov 2012 12:35:48 -0800
- To: John Daggett <jdaggett@mozilla.com>
- Cc: www-style list <www-style@w3.org>
- Message-ID: <CACQ=j+fsY_CARZnDL3y3ZwrdVu4SjUk5bqZafgY-gBHO7-Z2tA@mail.gmail.com>
On Wed, Nov 7, 2012 at 9:45 PM, John Daggett <jdaggett@mozilla.com> wrote: > > The current WD of the CSS3 Fonts spec includes a detailed description > of the CSS font matching algorithm [1]. Included was this paragraph: > > WD font matching, step 4: > > 4. If a font family match occurs, the user agent assembles > the set of font faces in that family that contain a glyph > for the character. It then narrows this matching set to a > single face using other font properties in the order given below. > > This details a process by which user agents scan the character maps of > *all* faces within a font family. In addition to being a performance > burden for large families, this doesn't fit with the lazy-loading > model used for downloadable fonts. The only way to match a font using > the step outlined above would be to first download all faces, > something that's obviously not desirable. > > For these reasons, I changed the algorithm in the current editor's > draft [2] to be closer to what's described in CSS 2.1, which is to > simply pick a face based on the weight/width/slope attributes and then > test the character map of the chosen face. > > ED font matching, step 4: > > 4. If a font family match occurs, the user agent assembles > the set of font faces in that family and then narrows the > set to a single face using other font properties in the > order given below. > > There's been some concern expressed within Mozilla about this. Font > families don't always include the same set of codepoints across all > faces. A normal face may include codepoints for a script that's not > supported in the italic face. It's generally best practice for all > faces to include the same character coverage but this isn't always > followed. So the concern is that if a particular face is chosen that > doesn't support a given character, then fallback will occur. > > Rather than introduce a complicated algorithm intended to address some > rare cases, I think it would make more sense to allow specific wiggle > room for user agents in a narrow set of cases. For example, if the > normal face contains glyphs for Arabic but the italic face doesn't, we > can simply add wording that allows for fallback to the regular case in > this one situation. This allows room for user agents to use better > heuristics in this situation, without imposing a burden that > negatively affects downloadable font performance. > Do you include specific language that discusses this fallback behavior, either in general or in a specific fashion? If not, then do you have proposed language? > > Regards, > > John Daggett > > [1] http://www.w3.org/TR/2012/WD-css3-fonts-20120823/#font-style-matching > [2] > http://dvcs.w3.org/hg/csswg/raw-file/b1a3980e9ac1/css3-fonts/Fonts.html > >
Received on Thursday, 8 November 2012 20:36:37 UTC