1313 rel =dcterms.rights >
1414 < meta content ="CSS Fonts Module Level 3 " name =dcterms.title >
1515 < meta content =text name =dcterms.type >
16- < meta content =2018-03-05 name =dcterms.date >
16+ < meta content =2018-03-06 name =dcterms.date >
1717 < meta content ="John Daggett " name =dcterms.creator >
1818 < meta content ="Myles C. Maxfield " name =dcterms.creator >
1919 < meta content ="Chris Lilley " name =dcterms.creator >
125125
126126 < h1 > CSS Fonts Module Level 3</ h1 >
127127
128- < h2 class ="no-num no-toc "> Editor's Draft 5 March 2018</ h2 >
128+ < h2 class ="no-num no-toc "> Editor's Draft 6 March 2018</ h2 >
129129
130130 < dl id =authors >
131131 < dt > This version:
132132
133133 < dd > < a
134134 href ="https://drafts.csswg.org/css-fonts/ "> https://drafts.csswg.org/css-fonts/</ a >
135- <!-- <dd><a href="https://www.w3.org/TR/2018/ED-css-fonts-3-20180305 /">https://www.w3.org/TR/2018/ED-css-fonts-3-20180305 /</a> -->
135+ <!-- <dd><a href="https://www.w3.org/TR/2018/ED-css-fonts-3-20180306 /">https://www.w3.org/TR/2018/ED-css-fonts-3-20180306 /</a> -->
136136
137137 < dt > Latest version:
138138
@@ -462,9 +462,6 @@ <h2 class="no-num no-toc" id=contents>Table of contents</h2>
462462 < ul class =toc >
463463 < li > < a href ="#om-fontface "> < span class =secno > 8.1. </ span > The
464464 < code > CSSFontFaceRule</ code > interface</ a >
465-
466- < li > < a href ="#om-fontfeaturevalues "> < span class =secno > 8.2. </ span > The
467- < code > CSSFontFeatureValuesRule</ code > interface</ a >
468465 </ ul >
469466
470467 < li class =no-num > < a href ="#platform-props-to-css "> Appendix A: Mapping
@@ -3676,7 +3673,10 @@ <h3 id=glyph-selection-positioning><span class=secno>6.1. </span>Glyph
36763673 be stylistic features meant to be used under author control. The point at
36773674 which font selection and positioning happens in the overall order of text
36783675 processing operations (such as text transformation, text orientation and
3679- text alignment) is described in [[css-text-3#order]].
3676+ text alignment) is described in < a href ="#ref-CSS-TEXT-3 "
3677+ rel =biblioentry > [CSS-TEXT-3]<!--{{CSS-TEXT-3}}--> </ a > , < a
3678+ href ="https://drafts.csswg.org/css-text-3/#order "> § Text Processing Order
3679+ of Operations</ a > .
36803680
36813681 < p > For a good visual overview of these features, see the < a
36823682 href ="#ref-OPENTYPE-FONT-GUIDE "
@@ -5886,10 +5886,7 @@ <h3 id=feature-precedence-examples><span class=secno>7.3. </span>Feature
58865886 < h2 id =object-model > < span class =secno > 8. </ span > Object Model</ h2 >
58875887
58885888 < p > The contents of < a href ="#at-font-face-rule "> < code > @font-face</ code > </ a >
5889- and < a
5890- href ="#at-font-feature-values-rule "> < code > @font-feature-values</ code > </ a >
5891- rules can be accessed via the following extensions to the CSS Object
5892- Model.
5889+ rules can be accessed via the following extension to the CSS Object Model.
58935890
58945891 < h3 id =om-fontface > < span class =secno > 8.1. </ span > The < a
58955892 href ="#cssfontfacerule "> < code > CSSFontFaceRule</ code > </ a > interface</ h3 >
@@ -5902,83 +5899,6 @@ <h3 id=om-fontface><span class=secno>8.1. </span>The <a
59025899 readonly attribute CSSStyleDeclaration style;
59035900}</ pre >
59045901
5905- < h3 id =om-fontfeaturevalues > < span class =secno > 8.2. </ span > The < a
5906- href ="#cssfontfeaturevaluesrule "> < code > CSSFontFeatureValuesRule</ code > </ a >
5907- interface</ h3 >
5908-
5909- < p > The < code > CSSRule</ code > interface is extended as follows:
5910-
5911- < pre class =idl > partial interface CSSRule {
5912- const unsigned short FONT_FEATURE_VALUES_RULE = 14;
5913- }</ pre >
5914-
5915- < p > The < dfn id =cssfontfeaturevaluesrule > CSSFontFeatureValuesRule</ dfn >
5916- interface represents a < a
5917- href ="#at-font-feature-values-rule "> < code > @font-feature-values</ code > </ a >
5918- rule.
5919-
5920- < pre class =idl > interface CSSFontFeatureValuesRule : CSSRule {
5921- attribute CSSOMString fontFamily;
5922- readonly attribute CSSFontFeatureValuesMap annotation;
5923- readonly attribute CSSFontFeatureValuesMap ornaments;
5924- readonly attribute CSSFontFeatureValuesMap stylistic;
5925- readonly attribute CSSFontFeatureValuesMap swash;
5926- readonly attribute CSSFontFeatureValuesMap characterVariant;
5927- readonly attribute CSSFontFeatureValuesMap styleset;
5928- }
5929-
5930- [MapClass(CSSOMString, sequence<unsigned long>)]
5931- interface CSSFontFeatureValuesMap {
5932- void set(CSSOMString featureValueName,
5933- (unsigned long or sequence<unsigned long>) values);
5934- }</ pre >
5935-
5936- < dl class =idl-attributes >
5937- < dt > < var > fontFamily</ var > of type < code > CSSOMString</ code >
5938-
5939- < dd > The list of one or more font families for which a given set of feature
5940- values is defined.
5941-
5942- < dt > value maps of type < code > CSSFontFeatureValuesMap</ code > , readonly
5943-
5944- < dd > Maps of feature values associated with feature value names for a given
5945- ‘< a href ="#propdef-font-variant-alternates "> < code
5946- class =property > font-variant-alternates</ code > </ a > ’ value type
5947- </ dl >
5948-
5949- < p > Each value map attribute of < a
5950- href ="#cssfontfeaturevaluesrule "> < code > CSSFontFeatureValuesRule</ code > </ a >
5951- reflects the values defined via a corresponding < a
5952- href ="#feature_value_block "> < i title ="feature_value_block "> feature value
5953- block</ i > </ a > . Thus, the < var
5954- title ="annotation attribute "> annotation</ var > attribute contains the
5955- values contained within a < code title ="@annotation "> @annotation</ code > < a
5956- href ="#feature_value_block "> < i title ="feature_value_block "> feature value
5957- block</ i > </ a > , the < var title ="ornaments attribute "> ornaments</ var >
5958- attribute contains the values contained with a < code
5959- title ="@ornaments "> @ornaments</ code > < a href ="#feature_value_block "> < i
5960- title ="feature_value_block "> feature value block</ i > </ a > and so forth.
5961-
5962- < p > The < code > CSSFontFeatureValuesMap</ code > interface uses the < a
5963- href ="https://dev.w3.org/2006/webapi/WebIDL/#es-map-members "> default map
5964- class methods</ a > but the < code > set</ code > method has different behavior.
5965- It takes a sequence of unsigned integers and associates it with a given
5966- < code > featureValueName</ code > . The method behaves the same as the default
5967- map class method except that a single unsigned long value is treated as a
5968- sequence of a single value. The method throws an exception if an invalid
5969- number of values is passed in. If the associated < a
5970- href ="#feature_value_block "> < i title ="feature_value_block "> feature value
5971- block</ i > </ a > only allows a limited number of values, the < code > set</ code >
5972- method throws an < code > InvalidAccessError</ code > exception when the input
5973- sequence to < code > set</ code > contains more than the limited number of
5974- values. See the description of < a
5975- href ="#multi-valued-feature-value-definitions "> multi-valued feature value
5976- definitions</ a > for details on the maximum number of values allowed for a
5977- given type of < a href ="#feature_value_block "> < i
5978- title ="feature_value_block "> feature value block</ i > </ a > . The
5979- < code > get</ code > method always returns a sequence of values, even if the
5980- sequence only contains a single value.
5981-
59825902 < h2 class =no-num id =platform-props-to-css > Appendix A: Mapping platform font
59835903 properties to CSS properties</ h2 >
59845904
@@ -6065,15 +5985,37 @@ <h3 class=no-num id=recent-changes> Changes from the <a
60655985 < li > ‘< code class =property > font-language-override</ code > ’ property
60665986 moved to Fonts 4
60675987
6068- < li > add omitted ‘< a href ="#propdef-font-variant-position "> < code
5988+ < li > CSSFontFeatureValuesRule interface moved to Fonts 4
5989+
5990+ < li > CSSFontFaceRule interface reverted to the widely implemented one from
5991+ DOM Level 2 style
5992+
5993+ < li > clarified how small-caps synthesis interacts with ‘< code
5994+ class =property > font-feature-settings</ code > ’
5995+
5996+ < li > all CSS keywords marked as invalid font family names
5997+
5998+ < li > clarified that ‘< a href ="#propdef-font-synthesis "> < code
5999+ class =property > font-synthesis</ code > </ a > ’ is not reset by the ‘< a
6000+ href ="#propdef-font "> < code class =property > font</ code > </ a > ’ shorthand.
6001+
6002+ < li > use the phrase "installed fonts" rather than "system fonts"
6003+
6004+ < li > clarified that malformed @font-face rules which lack font-family: or
6005+ src: still show up in the DOM, but don't affect font selection
6006+
6007+ < li > clarified conventional ratio range for the relative sizes when they're
6008+ not modifying an absolute keyword size
6009+
6010+ < li > added omitted ‘< a href ="#propdef-font-variant-position "> < code
60696011 class =property > font-variant-position</ code > </ a > ’ values to < a
60706012 href ="#propdef-font-variant " title ="font-variant!!property "> ‘< code
60716013 class =property > font-variant</ code > ’</ a > shorthand
60726014
60736015 < li > made negative values for font-size-adjust invalid, along with negative
60746016 percentage font-size values
60756017
6076- < li > remove the requirement that user agents use OS/2 table
6018+ < li > removed the requirement that user agents use OS/2 table
60776019 subscript/superscript metrics
60786020
60796021 < li > minor editorial cleanups
@@ -6366,6 +6308,7 @@ <h3 class=no-num id=normative-references>Normative References</h3>
63666308 </ dd >
63676309 <!---->
63686310
6311+
63696312 < dt id ="ref-rfc8081 "> [RFC8081]
63706313 </ dt > < dd > C. Lilley. < a href ="https://tools.ietf.org/html/rfc8081 "> The "font" Top-Level Media Type</ a > . February 2017. Proposed Standard. URL: < a href ="https://tools.ietf.org/html/rfc8081 "> https://tools.ietf.org/html/rfc8081</ a >
63716314 </ dd >
@@ -6605,9 +6548,6 @@ <h2 class=no-num id=index>Index</h2>
66056548 < li > CSSFontFaceRule, < a href ="#cssfontfacerule "
66066549 title ="section 8.1. "> < strong > 8.1.</ strong > </ a >
66076550
6608- < li > CSSFontFeatureValuesRule, < a href ="#cssfontfeaturevaluesrule "
6609- title ="section 8.2. "> < strong > 8.2.</ strong > </ a >
6610-
66116551 < li > cursive, definition of, < a href ="#cursive0 "
66126552 title ="section ?? "> < strong > ??</ strong > </ a >
66136553
0 commit comments