@@ -4396,67 +4396,6 @@ <h3 id="om-fontface">The <code>CSSFontFaceRule</code> interface</h3>
43964396 readonly attribute CSSStyleDeclaration style;
43974397}</ pre >
43984398
4399- < h3 id ="om-fontfeaturevalues "> The < code > CSSFontFeatureValuesRule</ code > interface</ h3 >
4400-
4401- < p > The < code > CSSRule</ code > interface is extended as follows:</ p >
4402-
4403- < pre class ='idl '> partial interface CSSRule {
4404- const unsigned short FONT_FEATURE_VALUES_RULE = 14;
4405- }</ pre >
4406-
4407- < p > The < dfn > CSSFontFeatureValuesRule</ dfn > interface represents a < code > @font-feature-values</ code > rule.</ p >
4408-
4409- < pre class ='idl '> interface CSSFontFeatureValuesRule : CSSRule {
4410- attribute CSSOMString fontFamily;
4411- readonly attribute CSSFontFeatureValuesMap annotation;
4412- readonly attribute CSSFontFeatureValuesMap ornaments;
4413- readonly attribute CSSFontFeatureValuesMap stylistic;
4414- readonly attribute CSSFontFeatureValuesMap swash;
4415- readonly attribute CSSFontFeatureValuesMap characterVariant;
4416- readonly attribute CSSFontFeatureValuesMap styleset;
4417- }
4418-
4419- [MapClass(CSSOMString, sequence<unsigned long>)]
4420- interface CSSFontFeatureValuesMap {
4421- void set(CSSOMString featureValueName,
4422- (unsigned long or sequence<unsigned long>) values);
4423- }</ pre >
4424-
4425- < dl class ='idl-attributes '>
4426- < dt > < var > fontFamily</ var > of type < code > CSSOMString</ code >
4427- < dd > The list of one or more font families for which a given set of feature values is defined.</ dd >
4428- < dt > value maps of type < code > CSSFontFeatureValuesMap</ code > , readonly
4429- < dd > Maps of feature values associated with feature value names for a given 'font-variant-alternates' value type</ dd >
4430- </ dl >
4431-
4432- < p > Each value map attribute of < code > CSSFontFeatureValuesRule</ code > reflects the values
4433- defined via a corresponding < i title ="feature_value_block "> feature value block</ i > .
4434- Thus, the < var title ="annotation attribute "> annotation</ var > attribute
4435- contains the values contained within a < code title ="@annotation "> @annotation</ code >
4436- < i title ="feature_value_block "> feature value block</ i > , the
4437- < var title ="ornaments attribute "> ornaments</ var > attribute contains the
4438- values contained with a < code title ="@ornaments "> @ornaments</ code >
4439- < i title ="feature_value_block "> feature value block</ i > and so forth.</ p >
4440-
4441- < p > The < code > CSSFontFeatureValuesMap</ code > interface uses the
4442- < a href ="https://dev.w3.org/2006/webapi/WebIDL/#es-map-members "> default map class methods</ a >
4443- but the < code > set</ code > method has different behavior. It takes a sequence of unsigned integers and
4444- associates it with a given < code > featureValueName</ code > . The method
4445- behaves the same as the default map class method
4446- except that a single unsigned long value is treated as a sequence of a
4447- single value. The method throws an exception if an invalid number of
4448- values is passed in. If the associated
4449- < i title ="feature_value_block "> feature value block</ i >
4450- only allows a limited number of values, the < code > set</ code > method
4451- throws an < code > InvalidAccessError</ code > exception when the input
4452- sequence to < code > set</ code > contains more than the limited number of
4453- values. See the
4454- description of < a href ="#multi-valued-feature-value-definitions "> multi-valued feature value definitions</ a >
4455- for details on the maximum number of values allowed for a given type
4456- of < i title ="feature_value_block "> feature value block</ i > . The < code > get</ code >
4457- method always returns a sequence of values, even if the sequence only contains
4458- a single value.</ p >
4459-
44604399< h2 id ="platform-props-to-css " class ="no-num "> Appendix A: Mapping platform font properties to CSS properties</ h2 >
44614400
44624401< em > This appendix is included as background for some of the problems and
@@ -4539,9 +4478,21 @@ <h3 class="no-num" id="recent-changes">
45394478
45404479 < ul >
45414480 < li > 'font-language-override' property moved to Fonts 4</ li >
4542- < li > add omitted 'font-variant-position' values to < span title ="font-variant!!property "> 'font-variant'</ span > shorthand</ li >
4481+ < li > CSSFontFeatureValuesRule interface moved to Fonts 4</ li >
4482+ < li > CSSFontFaceRule interface reverted to the widely implemented one
4483+ from DOM Level 2 style</ li >
4484+ < li > clarified how small-caps synthesis interacts with 'font-feature-settings'</ li >
4485+ < li > all CSS keywords marked as invalid font family names</ li >
4486+ < li > clarified that 'font-synthesis' is not reset by the 'font' shorthand.</ li >
4487+ < li > use the phrase "installed fonts" rather than "system fonts"</ li >
4488+ < li > clarified that malformed @font-face rules which lack font-family: or src: still
4489+ show up in the DOM, but don't affect font selection</ li >
4490+ < li > clarified conventional ratio range for the relative sizes when they're
4491+ not modifying an absolute keyword size</ li >
4492+
4493+ < li > added omitted 'font-variant-position' values to < span title ="font-variant!!property "> 'font-variant'</ span > shorthand</ li >
45434494 < li > made negative values for font-size-adjust invalid, along with negative percentage font-size values</ li >
4544- < li > remove the requirement that user agents use OS/2 table subscript/superscript metrics</ li >
4495+ < li > removed the requirement that user agents use OS/2 table subscript/superscript metrics</ li >
45454496 < li > minor editorial cleanups</ li >
45464497 </ ul >
45474498
0 commit comments