- From: Rob McKaughan via GitHub <sysbot+gh@w3.org>
- Date: Thu, 15 Dec 2016 00:19:50 +0000
- To: public-css-archive@w3.org
robmck-ms has just created a new issue for https://github.com/w3c/csswg-drafts: == [css-fonts-4] Support automatic optical size selection for static fonts == The current draft of the Fonts module defines the `font-optical-sizing` property, which will automatically chooses a variable font instance along the optical size axis for the given text span/block. I propose that this be extended to support automatic optical style switching for static font families as well. Option 1: Add a `font-size-range` property to @font-face rules. This property defines the size range for which this @font-face rule is applicable. ` @font-face { src: url(http://example.com/fonts/chepman-text.ttf); font-family: Chepman; opticalfont-size-range: 0pt-18pt; } @font-face { src: url(http://example.com/fonts/chepman-heading.ttf); font-family: Chepman; opticalfont-size-range: 18pt-36pt; } article { font-family: Chepman; font-size: 12pt; } article h1 { font-family: Chepman; font-size: 20pt; } ` Option 2: The above handles web fonts but not locally installed fonts. For local fonts, we can take advantage of the STAT table introduced in the OpenType 1.8 spec. In static fonts, the STAT table provides the same sort of information that an @font-face rule does for web fonts (except src, which is already known). One of the parameters in the STAT table defines a size range for which the given font is applicable (provides the functional equivalent to `font-size-range`, above). So, one could simply have the following in CSS: 'article { font-family: Chepman; font-size: 12pt; } article h1 { font-family: Chepman; font-size: 20pt; } ` Browsers that want to support this would have to extend their font selection algorithm to also include PreferredFamilyName (NameID 16 from the name table) as the value for PreferredFamilyName will be exactly the same for all fonts in the font family. Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/806 using your GitHub account
Received on Thursday, 15 December 2016 00:19:56 UTC