css/css-fonts

edit

WPT coverage of the tests of css/css-fonts at the revision 5602b0f210e3. The tests link to their results in the browsers on wpt.fyi. The tentative tests (experimental features) and the reftests are listed separately from the stable tests.

GroupPassingTestsDisabledPass rate
Stable157167094%
Tentative660100%
Reftests360385194%
All523558194%

Failure reasons

The tests that do not pass (failing or disabled), by kind of reason. A test with several reasons counts once per kind.

  • BUG: 1
  • TEST BUG: 23
  • NOT IMPLEMENTED: 3
  • REQUIRES: 1
    • layout: 1
  • TEST RUNNER: 6
  • FLAKY: 1

Stable tests

TestResultSubtestsKindDescription
animations/font-palette-animation-not-specified-endpoints.htmlFail1 / 2TEST BUGthe last subtest runs @keyframes animFrom { from { font-palette: --custom } } with animation-fill-mode: forwards on an element whose style attribute sets font-palette: --custom, and expects normal at the end of the animation: the neutral to keyframe is the underlying value (https://drafts.csswg.org/css-animations-1/#keyframes), --custom, so the animated value is --custom, as in Firefox and Safari (only Chrome returns normal)
animations/font-palette-interpolation.htmlFail112 / 114TEST BUGthe two subtests that read the computed value directly (An interpolation to inherit updates correctly on a parent style change., Test additive animations) expect palette-mix(in oklab, normal, light), with the default color space: the computed value is palette-mix(normal, light), as css/css-fonts/parsing/palette-mix-computed.html requires since the color interpolation method of palette-mix() is optional (palette-mix(in oklab, light 30%, dark) computes to palette-mix(light 30%, dark 70%)); the test was not updated with that change of the specification (the interpolated values of the other 112 subtests are compared with the computed value of the expectation, and pass)
animations/font-size-adjust-composition.htmlPass500 / 500
animations/font-size-adjust-interpolation.htmlPass406 / 406
animations/font-size-composition.htmlPass70 / 70
animations/font-size-interpolation-001.htmlPass140 / 140
animations/font-size-interpolation-002.htmlPass28 / 28
animations/font-size-interpolation-003.htmlPass28 / 28
animations/font-stretch-interpolation.htmlPass185 / 185
animations/font-style-interpolation.htmlPass129 / 129
animations/font-variation-settings-composition.htmlPass60 / 60
animations/font-variation-settings-interpolation.htmlPass358 / 358
animations/font-weight-composition.htmlFail18 / 20TEST BUGunderlying 200, from add 600 (800) to replace 500 at -0.3 is 800 + 0.3 × 300 = 890, the result of the library; the expected 889.75 is the result of the internal precision of the font weights of Blink, not of the interpolation (https://drafts.csswg.org/css-values-4/#combine-numbers)
animations/multiple-elements-font-palette-animation.htmlPass2 / 2
animations/system-fonts.htmlPass588 / 588
calc-in-font-variation-settings.htmlFail1 / 2TEST BUGthe specified-value subtest reads the inline div.style, but the value is set in a style sheet rule (it fails in every browser)
cjk-kerning.htmlPass9 / 9
crash-font-face-invalid-descriptor.htmlPass1 / 1
crash-large-grapheme-cluster.htmlPass1 / 1
discrete-no-interpolation.htmlPass546 / 546
fallback-remote-to-data-url.htmlPass1 / 1
fallback-url-to-local.htmlFail0 / 1REQUIRES(layout)the width of the text shaped with the font is measured (fallback to a local() font while the remote one loads)
font-display/font-display-failure-fallback.htmlPass1 / 1
font-face-range-order.htmlPass1 / 1
font-face-style-normal.htmlPass4 / 4
font-face-unicode-range-no-match-no-download.htmlPass1 / 1
font-family-comma.htmlPass5 / 5
font-family-src-quoted.htmlPass1 / 1
font-feature-settings-serialization-001.htmlPass2 / 2
font-feature-values-map-live.htmlPass2 / 2
font-palette-vs-shorthand.htmlPass4 / 4
font-shorthand-serialization-001.htmlPass1 / 1
font-shorthand-serialization-font-stretch.htmlPass4 / 4
font-shorthand-serialization-prevention.htmlPass216 / 216
font-shorthand-subproperties-reset.htmlPass13 / 13
font-size-adjust-interpolation-math-functions.htmlPass48 / 48
font-size-computed-keyword.htmlPass16 / 16
font-size-computed-no-child.htmlPass3 / 3
font-size-computed.htmlPass25 / 25
font-size-relative-across-calc-ff-bug-001.htmlPass1 / 1
font-size-sign-function.htmlPass1 / 1
font-size-zero-ligatures.htmlPass4 / 4
font-stretch-interpolation-math-functions.htmlPass48 / 48
font-style-angle.htmlPass1 / 1
font-style-sign-function.htmlPass1 / 1
font-variant-alternates-parsing.htmlPass1 / 1
font-variation-settings-calc.htmlPass8 / 8
font-variation-settings-serialization-001.htmlPass1 / 1
font-variation-settings-serialization-002.htmlPass1 / 1
font-weight-sign-function.htmlPass3 / 3
font_feature_values_map_iteration.htmlPass1 / 1
format-specifiers-variations.htmlPass48 / 48
generic-family-keywords-001.htmlPass15 / 15
generic-family-keywords-002.htmlFail18 / 22TEST BUGthe -webkit-generic() subtests fail in every browser: the function is not a valid <family-name>, so the declaration is invalid
generic-family-keywords-003.htmlPass15 / 15
getComputedStyle-fontFamily.htmlPass2 / 2
idlharness.htmlPass97 / 97
inheritance.htmlPass39 / 39
matching/font-unicode-PUA.htmlPass3 / 3
mvs-shaping.htmlPass5 / 5
parsing/font-computed.htmlPass315 / 315
parsing/font-face-metric-overrides.htmlPass21 / 21
parsing/font-face-size-adjust.htmlPass6 / 6
parsing/font-face-src-format.htmlPass35 / 35
parsing/font-face-src-list.htmlPass17 / 17
parsing/font-face-src-local.htmlPass18 / 18
parsing/font-face-src-tech.htmlPass39 / 39
parsing/font-face-width.htmlPass19 / 19
parsing/font-family-computed.htmlPass10 / 10
parsing/font-family-invalid.htmlPass14 / 14
parsing/font-family-valid.htmlPass12 / 12
parsing/font-feature-settings-computed.htmlPass10 / 10
parsing/font-feature-settings-invalid.htmlPass5 / 5
parsing/font-feature-settings-valid.htmlPass10 / 10
parsing/font-invalid.htmlPass16 / 16
parsing/font-kerning-computed.htmlPass3 / 3
parsing/font-kerning-invalid.htmlPass2 / 2
parsing/font-kerning-valid.htmlPass3 / 3
parsing/font-language-override-computed.htmlPass5 / 5
parsing/font-language-override-invalid.htmlPass6 / 6
parsing/font-language-override-valid.htmlPass9 / 9
parsing/font-optical-sizing-computed.htmlPass2 / 2
parsing/font-optical-sizing-invalid.htmlPass2 / 2
parsing/font-optical-sizing-valid.htmlPass2 / 2
parsing/font-palette-computed.htmlPass4 / 4
parsing/font-palette-invalid.htmlPass4 / 4
parsing/font-palette-valid.htmlPass5 / 5
parsing/font-palette-values-invalid.htmlPass27 / 27
parsing/font-palette-values-valid.htmlPass36 / 36
parsing/font-shorthand-variant.htmlPass1 / 1
parsing/font-size-adjust-computed.htmlPass20 / 20
parsing/font-size-adjust-invalid.htmlPass57 / 57
parsing/font-size-adjust-valid.htmlPass19 / 19
parsing/font-size-computed.htmlPass21 / 21
parsing/font-size-invalid.htmlPass4 / 4
parsing/font-size-valid.htmlPass13 / 13
parsing/font-stretch-alias.htmlPass1 / 1
parsing/font-style-computed.htmlPass17 / 17
parsing/font-style-invalid.htmlPass2 / 2
parsing/font-style-valid.htmlPass17 / 17
parsing/font-synthesis-computed.htmlPass21 / 21
parsing/font-synthesis-invalid.htmlPass12 / 12
parsing/font-synthesis-position-invalid.htmlPass2 / 2
parsing/font-synthesis-position-valid.htmlPass2 / 2
parsing/font-synthesis-small-caps-invalid.htmlPass2 / 2
parsing/font-synthesis-small-caps-valid.htmlPass2 / 2
parsing/font-synthesis-style-invalid.htmlPass4 / 4
parsing/font-synthesis-style-valid.htmlPass3 / 3
parsing/font-synthesis-valid.htmlPass23 / 23
parsing/font-synthesis-weight-invalid.htmlPass2 / 2
parsing/font-synthesis-weight-valid.htmlPass2 / 2
parsing/font-valid.htmlPass315 / 315
parsing/font-variant-alternates-invalid.htmlPass15 / 15
parsing/font-variant-alternates-valid.htmlPass3 / 3
parsing/font-variant-caps-computed.htmlPass7 / 7
parsing/font-variant-caps-invalid.htmlPass2 / 2
parsing/font-variant-caps-valid.htmlPass7 / 7
parsing/font-variant-east-asian-computed.htmlPass12 / 12
parsing/font-variant-east-asian-invalid.htmlPass9 / 9
parsing/font-variant-east-asian-valid.htmlPass12 / 12
parsing/font-variant-emoji-computed.htmlPass4 / 4
parsing/font-variant-emoji-invalid.htmlPass7 / 7
parsing/font-variant-emoji-valid.htmlPass4 / 4
parsing/font-variant-invalid.htmlPass21 / 21
parsing/font-variant-ligatures-computed.htmlPass10 / 10
parsing/font-variant-ligatures-invalid.htmlPass6 / 6
parsing/font-variant-ligatures-valid.htmlPass10 / 10
parsing/font-variant-numeric-computed.htmlPass11 / 11
parsing/font-variant-numeric-invalid.htmlPass9 / 9
parsing/font-variant-numeric-valid.htmlPass11 / 11
parsing/font-variant-position-computed.htmlPass3 / 3
parsing/font-variant-position-invalid.htmlPass2 / 2
parsing/font-variant-position-valid.htmlPass3 / 3
parsing/font-variant-serialization.htmlPass1 / 1
parsing/font-variant-valid.htmlPass46 / 46
parsing/font-variation-settings-computed.htmlPass8 / 8
parsing/font-variation-settings-invalid.htmlPass18 / 18
parsing/font-variation-settings-valid.htmlPass7 / 7
parsing/font-weight-computed.htmlPass58 / 58
parsing/font-weight-invalid.htmlPass2 / 2
parsing/font-weight-valid.htmlPass22 / 22
parsing/font-width-computed.htmlPass30 / 30
parsing/font-width-invalid.htmlPass8 / 8
parsing/font-width-valid.htmlPass30 / 30
parsing/palette-mix-computed.htmlPass71 / 71
parsing/palette-mix-invalid.htmlPass16 / 16
parsing/palette-mix-valid.htmlPass69 / 69
synthetic-bold-does-not-widen-advances.htmlPass3 / 3
synthetic-bold-zero-advance-glyph.htmlPass1 / 1
test_datafont_same_origin.htmlPass1 / 1
test_font_family_parsing.htmlPass2,232 / 2,232
test_font_feature_values_parsing.htmlFail299 / 302TEST BUG@font-feature-values bongo { @blah } @styleset {...} } is a syntax error for insertRule() (the } closes the rule), and the duplicate declarations of a feature value block are expected in the serialization although the block is a map (fails in every browser)
variable-in-font-variation-settings.htmlPass1 / 1
variations/at-font-face-descriptors.htmlFail87 / 88TEST BUGthe test contradicts itself: an oblique range with equal bounds is collapsed (oblique 10deg 10deg is oblique 10deg, as the font-weight and font-width ranges), but oblique 20deg 20deg (the former default angle) is expected as written; Chrome fails the first subtest, Safari the second
variations/at-font-face-font-matching.htmlFail106 / 107TEST BUGexpects an oblique face with an angle of the opposite sign to be preferred over an italic face; https://drafts.csswg.org/css-fonts-4/#font-style-matching checks the italic faces before the oblique angles of the opposite sign
variations/font-opentype-collections.htmlPass1 / 1
variations/font-parse-numeric-stretch-style-weight.htmlPass81 / 81
variations/font-shorthand.htmlPass22 / 22
variations/font-stretch.htmlFail50 / 51TEST BUGthe test expects the huge computed percentage 1e9% in the exponent form of the C runtime of Windows (1e+009%), which no browser returns (Chrome returns 1e+09%); 1000000000% is returned
variations/font-style-interpolation.htmlPass2 / 2
variations/font-style-parsing.htmlPass43 / 43
variations/font-variation-settings-inherit.htmlPass3 / 3
variations/font-weight-interpolation.htmlPass2 / 2
variations/font-weight-lighter-bolder.htmlPass22 / 22
variations/font-weight-matching-installed-fonts.htmlPass6 / 6
variations/font-weight-matching.htmlPass14 / 14
variations/font-weight-parsing.htmlPass26 / 26

Tentative tests

TestResultSubtestsKindDescription
font-feature-values-sameobject.tentative.htmlPass1 / 1
math-script-level-and-math-style/math-script-level-001.tentative.htmlPass7 / 7
math-script-level-and-math-style/math-script-level-002.tentative.htmlPass6 / 6
math-script-level-and-math-style/math-script-level-004.tentative.htmlPass4 / 4
math-script-level-and-math-style/math-style-001.tentative.htmlPass3 / 3
system-fonts-serialization.tentative.htmlPass6 / 6

Reftests

TestResultVariantsKindDescription
alternates-order.htmlPass1 / 1
ascent-descent-override.htmlPass1 / 1
cluster-matching-canonical-equivalence-001.htmlPass1 / 1
cluster-matching-canonical-equivalence-002.htmlPass1 / 1
cluster-matching-canonical-equivalence-003.htmlPass1 / 1
downloadable-font-in-iframe-print.htmlPass1 / 1
downloadable-font-print.htmlPass1 / 1
downloadable-font-scoped-to-document.htmlPass1 / 1
first-available-font-001.htmlPass1 / 1
first-available-font-002.htmlPass1 / 1
first-available-font-003.htmlPass1 / 1
first-available-font-004.htmlPass1 / 1
first-available-font-005.htmlPass1 / 1
first-available-font-006.htmlPass1 / 1
first-available-font-007.htmlPass1 / 1
font-colorization.htmlPass1 / 1
font-default-01.htmlPass1 / 1
font-default-02.htmlPass1 / 1
font-default-03.htmlPass1 / 1
font-default-04.htmlPass1 / 1
font-display/font-display-change.htmlPass1 / 1
font-display/font-display-feature-policy-02.tentative.htmlFail0 / 1NOT IMPLEMENTEDfont-display (the block, swap and failure periods of the font display timeline): a font face is used whenever it is loaded, so the text of the font-display: optional face, whose font arrives after 1s (after its block period), is painted with the web font instead of the fallback font; Firefox fails too
font-display/font-display-preload.htmlFail0 / 1NOT IMPLEMENTEDfont-display (the block, swap and failure periods of the font display timeline): the five texts are painted with the web font in the screenshot; 200ms after the start of the load of a font delayed by 5s, the text is expected to be invisible for auto and block (block period) and in the fallback font for swap, fallback and optional; only Firefox passes
font-display/font-display.htmlFail0 / 1NOT IMPLEMENTEDfont-display (the block, swap and failure periods of the font display timeline): each cell is painted with the web font when it is loaded and with the fallback font before, whatever the descriptor and the time elapsed (no invisible text during the block period, no end of the swap period); the test depends on the timings of the loads and fails in every browser
font-face-local-not-family.htmlPass1 / 1
font-face-sign-function.htmlPass1 / 1
font-face-stretch-auto-static.htmlPass1 / 1
font-face-stretch-auto-variable.htmlPass1 / 1
font-face-stretch-default-variable.htmlPass1 / 1
font-face-style-auto-static.htmlPass1 / 1
font-face-style-auto-variable.htmlPass1 / 1
font-face-style-default-variable.htmlPass1 / 1
font-face-unicode-range-2.htmlPass1 / 1
font-face-unicode-range-nbsp.htmlPass1 / 1
font-face-unicode-range-stretch-isolation.htmlPass1 / 1
font-face-weight-auto-static.htmlPass1 / 1
font-face-weight-auto-variable.htmlPass1 / 1
font-face-weight-default-variable.htmlPass1 / 1
font-family-name-000.xhtPass1 / 1
font-family-name-001.xhtPass1 / 1
font-family-name-002.xhtPass1 / 1
font-family-name-003.xhtPass1 / 1
font-family-name-004.xhtPass1 / 1
font-family-name-005.xhtPass1 / 1
font-family-name-006.xhtPass1 / 1
font-family-name-007.xhtPass1 / 1
font-family-name-008.xhtPass1 / 1
font-family-name-009.xhtPass1 / 1
font-family-name-010.xhtFail0 / 1TEST BUGthe unquoted family name of the test contains U+3000 IDEOGRAPHIC SPACE, which is not an ident code point (https://drafts.csswg.org/css-syntax-3/#non-ascii-ident-code-point): the declaration is invalid and the text keeps the default font (the same name in a string, font-family-name-011.xht, selects the installed CSSTest FamilyName font by its localized name)
font-family-name-011.xhtPass1 / 1
font-family-name-012.xhtPass1 / 1
font-family-name-013.xhtPass1 / 1
font-family-name-014.xhtPass1 / 1
font-family-name-015.xhtPass1 / 1
font-family-name-016.xhtPass1 / 1
font-family-name-017.xhtPass1 / 1
font-family-name-018.xhtPass1 / 1
font-family-name-019.xhtPass1 / 1
font-family-name-020.xhtPass1 / 1
font-family-name-021.xhtPass1 / 1
font-family-name-022.xhtPass1 / 1
font-family-name-023.xhtPass1 / 1
font-family-name-024.xhtPass1 / 1
font-family-name-025.htmlPass1 / 1
font-feature-resolution-001.htmlPass1 / 1
font-feature-resolution-002.htmlPass1 / 1
font-feature-settings-descriptor-01.htmlPass1 / 1
font-feature-settings-descriptor-02.htmlPass1 / 1
font-feature-settings-descriptor-binary.htmlPass1 / 1
font-feature-settings-tibetan.htmlPass1 / 1
font-features-across-space-1.htmlPass1 / 1
font-features-across-space-2.htmlPass1 / 1
font-features-across-space-3.htmlPass1 / 1
font-kerning-01.htmlPass1 / 1
font-kerning-02.htmlPass1 / 1
font-kerning-03.htmlPass1 / 1
font-kerning-04.htmlPass1 / 1
font-kerning-05.htmlPass1 / 1
font-language-override-01.htmlPass1 / 1
font-language-override-02.htmlPass1 / 1
font-language-override-03.htmlPass1 / 1
font-palette-10.htmlPass1 / 1
font-palette-11.htmlPass1 / 1
font-palette-12.htmlPass1 / 1
font-palette-13.htmlPass1 / 1
font-palette-14.htmlPass1 / 1
font-palette-15.htmlPass1 / 1
font-palette-16.htmlPass1 / 1
font-palette-17.htmlPass1 / 1
font-palette-18.htmlPass1 / 1
font-palette-19.htmlPass1 / 1
font-palette-2.htmlPass1 / 1
font-palette-20.htmlPass1 / 1
font-palette-21.htmlPass1 / 1
font-palette-22.htmlPass1 / 1
font-palette-23.htmlPass1 / 1
font-palette-23b.htmlPass1 / 1
font-palette-24.htmlPass1 / 1
font-palette-25.htmlPass1 / 1
font-palette-26.htmlPass1 / 1
font-palette-27.htmlPass1 / 1
font-palette-28.htmlPass1 / 1
font-palette-29.htmlPass1 / 1
font-palette-3.htmlPass1 / 1
font-palette-30.htmlPass1 / 1
font-palette-31.htmlPass1 / 1
font-palette-32.htmlPass1 / 1
font-palette-33.htmlPass1 / 1
font-palette-34.htmlPass1 / 1
font-palette-35.htmlPass1 / 1
font-palette-36.htmlPass1 / 1
font-palette-4.htmlPass1 / 1
font-palette-5.htmlPass1 / 1
font-palette-6.htmlPass1 / 1
font-palette-7.htmlPass1 / 1
font-palette-8.htmlPass1 / 1
font-palette-9.htmlPass1 / 1
font-palette-add-2.htmlPass1 / 1
font-palette-add.htmlPass1 / 1
font-palette-empty-font-family.htmlPass1 / 1
font-palette-mix.htmlPass1 / 1
font-palette-modify-2.htmlPass1 / 1
font-palette-modify.htmlPass1 / 1
font-palette-non-ident-font-family.htmlPass1 / 1
font-palette-remove-2.htmlPass1 / 1
font-palette-remove.htmlPass1 / 1
font-palette-values-relative-colors.htmlPass1 / 1
font-palette.htmlPass1 / 1
font-size-adjust-001.htmlPass1 / 1
font-size-adjust-002.htmlPass1 / 1
font-size-adjust-005.xhtPass1 / 1
font-size-adjust-006.xhtPass1 / 1
font-size-adjust-007.xhtPass1 / 1
font-size-adjust-008.xhtPass1 / 1
font-size-adjust-009.htmlPass1 / 1
font-size-adjust-010.htmlPass1 / 1
font-size-adjust-011.htmlPass1 / 1
font-size-adjust-012.htmlPass1 / 1
font-size-adjust-013.htmlPass1 / 1
font-size-adjust-014.htmlPass1 / 1
font-size-adjust-ic-height.htmlPass1 / 1
font-size-adjust-metrics-override.htmlPass1 / 1
font-size-adjust-order-001.htmlPass1 / 1
font-size-adjust-reload.htmlPass1 / 1
font-size-adjust-text-orientation.htmlPass1 / 1
font-size-adjust-units-001.htmlPass1 / 1
font-size-adjust-zero-1.htmlPass1 / 1
font-size-adjust-zero-2.htmlPass1 / 1
font-size-monospace-adjust.htmlPass1 / 1
font-size-xxx-large.htmlPass1 / 1
font-size-zero-1-ref.htmlPass1 / 1
font-size-zero-1.htmlPass1 / 1
font-size-zero-2.htmlPass1 / 1
font-size-zero-3.htmlPass1 / 1
font-stretch-01.htmlPass1 / 1
font-stretch-02.htmlPass1 / 1
font-stretch-03.htmlPass1 / 1
font-stretch-04.htmlPass1 / 1
font-stretch-05.htmlPass1 / 1
font-stretch-06.htmlPass1 / 1
font-stretch-07.htmlPass1 / 1
font-stretch-08.htmlPass1 / 1
font-stretch-09.htmlPass1 / 1
font-stretch-10.htmlPass1 / 1
font-stretch-11.htmlPass1 / 1
font-stretch-12.htmlPass1 / 1
font-stretch-13.htmlPass1 / 1
font-stretch-14.htmlPass1 / 1
font-stretch-15.htmlPass1 / 1
font-stretch-16.htmlPass1 / 1
font-stretch-17.htmlPass1 / 1
font-stretch-18.htmlPass1 / 1
font-synthesis-01.htmlPass1 / 1
font-synthesis-02.htmlPass1 / 1
font-synthesis-03.htmlPass1 / 1
font-synthesis-04.htmlPass1 / 1
font-synthesis-05.htmlPass1 / 1
font-synthesis-06.htmlPass1 / 1
font-synthesis-07.htmlPass1 / 1
font-synthesis-08.htmlPass1 / 1
font-synthesis-position-001.htmlPass1 / 1
font-synthesis-small-caps-first-letter.htmlPass1 / 1
font-synthesis-small-caps-first-line.htmlPass1 / 1
font-synthesis-small-caps-not-applied.htmlPass1 / 1
font-synthesis-small-caps.htmlPass1 / 1
font-synthesis-style-binary.htmlPass1 / 1
font-synthesis-style-first-letter.htmlPass1 / 1
font-synthesis-style-first-line.htmlPass1 / 1
font-synthesis-style-oblique-only.htmlPass1 / 1
font-synthesis-style.htmlPass1 / 1
font-synthesis-weight-binary.htmlPass1 / 1
font-synthesis-weight-first-letter.htmlPass1 / 1
font-synthesis-weight-first-line.htmlPass1 / 1
font-synthesis-weight-webfont-bold.htmlPass1 / 1
font-synthesis-weight.htmlPass1 / 1
font-variant-01.htmlPass1 / 1
font-variant-02.htmlPass1 / 1
font-variant-03.htmlPass1 / 1
font-variant-04.htmlPass1 / 1
font-variant-alternates-01.htmlPass1 / 1
font-variant-alternates-02.htmlPass1 / 1
font-variant-alternates-03.htmlPass1 / 1
font-variant-alternates-04.htmlPass1 / 1
font-variant-alternates-05.htmlPass1 / 1
font-variant-alternates-06.htmlPass1 / 1
font-variant-alternates-07.htmlPass1 / 1
font-variant-alternates-08.htmlPass1 / 1
font-variant-alternates-09.htmlPass1 / 1
font-variant-alternates-10.htmlPass1 / 1
font-variant-alternates-11.htmlPass1 / 1
font-variant-alternates-12.htmlPass1 / 1
font-variant-alternates-13.htmlPass1 / 1
font-variant-alternates-14.htmlPass1 / 1
font-variant-alternates-15.htmlPass1 / 1
font-variant-alternates-16.htmlPass1 / 1
font-variant-alternates-17.htmlPass1 / 1
font-variant-alternates-18.htmlPass1 / 1
font-variant-alternates-19.htmlPass1 / 1
font-variant-alternates-layers.htmlPass1 / 1
font-variant-caps-01.htmlPass1 / 1
font-variant-caps-02.htmlPass1 / 1
font-variant-caps-03.htmlPass1 / 1
font-variant-caps-04.htmlPass1 / 1
font-variant-caps-05.htmlPass1 / 1
font-variant-caps-06.htmlPass1 / 1
font-variant-caps-07.htmlPass1 / 1
font-variant-caps-invalidation-container-sizing.htmlPass1 / 1
font-variant-caps.htmlPass1 / 1
font-variant-east-asian-01.htmlPass1 / 1
font-variant-east-asian-02.htmlPass1 / 1
font-variant-east-asian-03.htmlPass1 / 1
font-variant-east-asian-04.htmlPass1 / 1
font-variant-east-asian-05.htmlPass1 / 1
font-variant-east-asian-06.htmlPass1 / 1
font-variant-east-asian-07.htmlPass1 / 1
font-variant-east-asian-08.htmlPass1 / 1
font-variant-east-asian-09.htmlPass1 / 1
font-variant-east-asian-10.htmlPass1 / 1
font-variant-east-asian.htmlPass1 / 1
font-variant-emoji-003.htmlPass1 / 1
font-variant-emoji-004.htmlPass1 / 1
font-variant-emoji-005.htmlFail0 / 1TEST RUNNERthe runner has no emoji font (the keycap sequences in color): the bundled fonts have no color emoji
font-variant-emoji-1.htmlFail0 / 1TEST RUNNERthe runner has no emoji font (U+263A with the text and emoji presentation selectors): the bundled fonts have no color emoji, so the two presentations use the same glyph
font-variant-emoji-2.htmlPass1 / 1
font-variant-ligatures-01.htmlPass1 / 1
font-variant-ligatures-02.htmlPass1 / 1
font-variant-ligatures-03.htmlPass1 / 1
font-variant-ligatures-04.htmlPass1 / 1
font-variant-ligatures-05.htmlPass1 / 1
font-variant-ligatures-06.htmlPass1 / 1
font-variant-ligatures-07.htmlPass1 / 1
font-variant-ligatures-08.htmlPass1 / 1
font-variant-ligatures-09.htmlPass1 / 1
font-variant-ligatures-10.htmlPass1 / 1
font-variant-ligatures-11.optional.htmlFail0 / 1TEST RUNNERthe Arabic fallback font of the runner (Scheherazade) has no glyph for the Arabic presentation forms (U+FEDF and U+FE8E), which the reference uses to draw the lam and the alef without their ligature: the second line of the reference is empty, where the test paints the two letters without the rlig ligature as expected
font-variant-ligatures.htmlPass1 / 1
font-variant-numeric-01.htmlPass1 / 1
font-variant-numeric-02.htmlPass1 / 1
font-variant-numeric-03.htmlPass1 / 1
font-variant-numeric-04.htmlPass1 / 1
font-variant-numeric-05.htmlPass1 / 1
font-variant-numeric-06.htmlPass1 / 1
font-variant-numeric-07.htmlPass1 / 1
font-variant-numeric-08.htmlPass1 / 1
font-variant-numeric-09.htmlPass1 / 1
font-variant-numeric.htmlPass1 / 1
font-variant-position-01.htmlPass1 / 1
font-variant-position-02.htmlPass1 / 1
font-variant-position-03.htmlPass1 / 1
font-variant-position-04.htmlPass1 / 1
font-variant-position-05.htmlPass1 / 1
font-variant-position.htmlFail0 / 1TEST BUGexpects the subs/sups glyphs of the test font for runs that contain characters the font has no subscript or superscript for: css-fonts-4 requires the synthesis of the whole run then ("simulated glyphs should be synthesized for all characters"; fails in Firefox, which synthesizes them, passes in Chrome, which does not)
font-variation-settings-descriptor-01.htmlPass1 / 1
font-variation-settings-descriptor-02.htmlPass1 / 1
font-variation-settings-descriptor-03.htmlPass1 / 1
font-variation-settings-descriptor-04.htmlPass1 / 1
font-weight-bolder-001.xhtPass1 / 1
font-weight-lighter-001.xhtPass1 / 1
font-weight-normal-001.xhtPass1 / 1
font-weight-normal-variable.htmlPass1 / 1
generic-family-lang-attr-cascade.htmlPass1 / 1
hiragana-katakana-kerning.htmlPass1 / 1
italic-oblique-fallback.htmlPass1 / 1
lang-attribute-affects-rendering-of-second-text-run.htmlPass1 / 1
lang-attribute-affects-rendering.htmlPass1 / 1
line-gap-override.htmlPass1 / 1
matching/fixed-stretch-style-over-weight.htmlFail0 / 1TEST BUGthe test relies on rasterizer precision that OpenType leaves to the implementation: the instances the matching selects (wght 700 of variabletest_matching.ttf) are not exactly the glyphs of the reference: the gvar deltas of wght 600, 700 and 800 give bars 1200.02, 1400.04 or 1599.99 units long (HarfBuzz hb-vector gives the same outline) where the default glyphs of the reference are 1200, 1400 and 1600 units long, so the antialiased edge pixel differs by 1; the browsers pass because their rasterizers round outlines to 1/64 pixel, which the OpenType specification does not require (Font Variations overview, "Variation data precision": "this specification has no other requirements for instance coordinates, scaled deltas or derived instance values to be rounded")
matching/font-unicode-PUA-primary-font.htmlFail0 / 1TEST RUNNERthe Arial and Times fonts are not installed (the installed fonts are the bundled Tinos, Arimo and Cousine, without aliases): both pages render the Private Use Area characters with the missing glyph of the same default font (whose .notdef draws nothing)
matching/font-unicode-presented-as-emoji-outline.htmlPass1 / 1
matching/font-weight-search-direction.htmlPass1 / 1
matching/range-descriptor-reversed.htmlPass1 / 1
matching/stretch-distance-over-weight-distance.htmlFail0 / 1TEST BUGthe test relies on rasterizer precision that OpenType leaves to the implementation: the instances the matching selects (wght 700 of variabletest_matching.ttf) are not exactly the glyphs of the reference: the gvar deltas of wght 600, 700 and 800 give bars 1200.02, 1400.04 or 1599.99 units long (HarfBuzz hb-vector gives the same outline) where the default glyphs of the reference are 1200, 1400 and 1600 units long, so the antialiased edge pixel differs by 1; the browsers pass because their rasterizers round outlines to 1/64 pixel, which the OpenType specification does not require (Font Variations overview, "Variation data precision": "this specification has no other requirements for instance coordinates, scaled deltas or derived instance values to be rounded")
matching/style-ranges-over-weight-direction.htmlFail0 / 1TEST BUGthe test relies on rasterizer precision that OpenType leaves to the implementation: the instances the matching selects (wght 700 of variabletest_matching.ttf) are not exactly the glyphs of the reference: the gvar deltas of wght 600, 700 and 800 give bars 1200.02, 1400.04 or 1599.99 units long (HarfBuzz hb-vector gives the same outline) where the default glyphs of the reference are 1200, 1400 and 1600 units long, so the antialiased edge pixel differs by 1; the browsers pass because their rasterizers round outlines to 1/64 pixel, which the OpenType specification does not require (Font Variations overview, "Variation data precision": "this specification has no other requirements for instance coordinates, scaled deltas or derived instance values to be rounded")
math-script-level-and-math-style/font-size-math-001.tentative.htmlPass1 / 1
math-script-level-and-math-style/font-size-math-002.tentative.htmlPass1 / 1
math-script-level-and-math-style/math-script-level-003.tentative.htmlPass1 / 1
math-script-level-and-math-style/math-script-level-auto-and-math-style-001.tentative.htmlPass1 / 1
math-script-level-and-math-style/math-script-level-auto-and-math-style-002.tentative.htmlPass1 / 1
math-script-level-and-math-style/math-script-level-auto-and-math-style-003.tentative.htmlPass1 / 1
math-script-level-and-math-style/math-script-level-auto-and-math-style-004.tentative.htmlPass1 / 1
math-script-level-and-math-style/math-script-level-auto-and-math-style-005.tentative.htmlPass1 / 1
math-script-level-and-math-style/math-script-level-font-size-clamping-001.tentative.htmlDisabled–FLAKYreftest whose result depends on the platform: the glyphs are antialiased by the font engine of the platform (CoreText, FreeType, DirectWrite), so it passes on Linux and fails on macOS or the reverse
metrics-override-normal-keyword.htmlPass1 / 1
oblique-last-resort-weight-selection.htmlPass1 / 1
palette-values-rule-add-2.htmlPass1 / 1
palette-values-rule-add.htmlPass1 / 1
palette-values-rule-delete-2.htmlPass1 / 1
palette-values-rule-delete.htmlPass1 / 1
quoted-generic-ignored.htmlPass1 / 1
rcap-in-monospace.htmlPass1 / 1
rch-in-monospace.htmlPass1 / 1
rem-in-monospace.htmlPass1 / 1
remove-loaded-font-face-rule.htmlPass1 / 1
rex-in-monospace.htmlPass1 / 1
ric-in-monospace.htmlPass1 / 1
rlh-in-monospace.htmlPass1 / 1
rtl-glyph-extents.htmlPass1 / 1
separators.htmlFail0 / 1BUGU+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR force a line break and are painted with their glyph (the L and P boxes of the test font): the test expects them to be rendered as a space, without line break (only Chrome passes), where css/css-text/line-breaking/line-breaking-022.html expects the forced line break of UAX #14 (class BK)
size-adjust-01.htmlPass1 / 1
size-adjust-02.htmlPass1 / 1
size-adjust-03.htmlPass1 / 1
size-adjust-text-decoration.tentative.htmlPass1 / 1
size-adjust-unicode-range-system-fallback.htmlPass1 / 1
size-adjust.tentative.htmlPass1 / 1
small-caps-letter-spacing-001.htmlPass1 / 1
small-caps-letter-spacing-002.htmlPass1 / 1
standard-font-family-10.htmlPass1 / 1
standard-font-family-11.htmlFail0 / 1TEST BUGthe quoted 'ui-serif' is a family name, not the generic family (the generic families are unquoted keywords), and no installed font has this name: the text uses the default font, like the mismatch reference; only Safari, whose platform has fonts with these names, passes
standard-font-family-12.htmlFail0 / 1TEST BUGthe quoted 'ui-monospace' is a family name, not the generic family (the generic families are unquoted keywords), and no installed font has this name: the text uses the default font, like the mismatch reference; only Safari, whose platform has fonts with these names, passes
standard-font-family-13.htmlFail0 / 1TEST BUGthe quoted 'ui-rounded' is a family name, not the generic family (the generic families are unquoted keywords), and no installed font has this name: the text uses the default font, like the mismatch reference; only Safari, whose platform has fonts with these names, passes
standard-font-family-14.htmlFail0 / 1TEST BUGsrc: local("ui-serif"): local() matches the full name or the PostScript name of an installed font, not a generic family, and no installed font has this name: the font face fails to load and the text uses the default font, like the mismatch reference; only Safari, whose platform has fonts with these names, passes
standard-font-family-15.htmlFail0 / 1TEST BUGsrc: local("ui-monospace"): local() matches the full name or the PostScript name of an installed font, not a generic family, and no installed font has this name: the font face fails to load and the text uses the default font, like the mismatch reference; only Safari, whose platform has fonts with these names, passes
standard-font-family-16.htmlFail0 / 1TEST BUGsrc: local("ui-rounded"): local() matches the full name or the PostScript name of an installed font, not a generic family, and no installed font has this name: the font face fails to load and the text uses the default font, like the mismatch reference; only Safari, whose platform has fonts with these names, passes
standard-font-family-17.htmlPass1 / 1
standard-font-family-18.htmlPass1 / 1
standard-font-family-19.htmlFail0 / 1TEST BUGthe quoted 'ui-sans-serif' is a family name, not the generic family (the generic families are unquoted keywords), and no installed font has this name: the text uses the default font, like the mismatch reference; only Safari, whose platform has fonts with these names, passes
standard-font-family-2.htmlPass1 / 1
standard-font-family-20.htmlFail0 / 1TEST BUGsrc: local("ui-sans-serif"): local() matches the full name or the PostScript name of an installed font, not a generic family, and no installed font has this name: the font face fails to load and the text uses the default font, like the mismatch reference; only Safari, whose platform has fonts with these names, passes
standard-font-family-3.htmlPass1 / 1
standard-font-family-4.htmlPass1 / 1
standard-font-family-5.htmlPass1 / 1
standard-font-family-6.htmlPass1 / 1
standard-font-family-7.htmlPass1 / 1
standard-font-family-8.htmlPass1 / 1
standard-font-family-9.htmlPass1 / 1
standard-font-family.htmlPass1 / 1
synthetic-bold-combining-mark-001.htmlPass1 / 1
synthetic-bold-combining-mark-002.htmlPass1 / 1
synthetic-bold-out-of-capabilities-range.htmlPass1 / 1
synthetic-bold-space-width.htmlPass1 / 1
synthetic-oblique-out-of-capabilities-range.htmlPass1 / 1
system-ui-ar.htmlPass1 / 1
system-ui-ja-vs-zh.htmlFail0 / 1TEST RUNNERsystem-ui does not depend on the content language: the runner installs one fallback font per script (M+ 1p for the Han characters, Scheherazade for the Arabic letters), so the two pages, which only differ by their lang attribute, are painted with the same glyphs
system-ui-ja.htmlPass1 / 1
system-ui-mixed.htmlPass1 / 1
system-ui-ur-vs-ar.htmlFail0 / 1TEST RUNNERsystem-ui does not depend on the content language: the runner installs one fallback font per script (M+ 1p for the Han characters, Scheherazade for the Arabic letters), so the two pages, which only differ by their lang attribute, are painted with the same glyphs; only Safari passes
system-ui-ur.htmlPass1 / 1
system-ui-zh.htmlPass1 / 1
system-ui.htmlPass1 / 1
test-synthetic-bold.htmlPass1 / 1
test-synthetic-italic-2.htmlPass1 / 1
test-synthetic-italic-3.htmlPass1 / 1
test-synthetic-italic.htmlPass1 / 1
variation-sequences.htmlPass1 / 1
variations/font-descriptor-range-reversed-002.htmlPass1 / 1
variations/font-descriptor-range-reversed.htmlPass1 / 1
variations/font-slant-1.htmlPass1 / 1
variations/font-slant-2a.htmlPass1 / 1
variations/font-slant-2b.htmlPass1 / 1
variations/font-slant-2c.htmlPass1 / 1
variations/font-slant-3.htmlPass1 / 1
variations/font-weight-3.htmlPass1 / 1
variations/font-weight-metrics.htmlPass1 / 1
variations/ital-variable.htmlPass1 / 1
variations/slnt-backslant-variable.htmlPass1 / 1
variations/slnt-variable.htmlPass1 / 1
variations/variable-avar2-rvrn.htmlPass1 / 1
variations/variable-avar2-warp.htmlFail0 / 1TEST BUGthe fonts of the test (avar version 2) and of the reference (avar version 1) are not the same design: at wght 900 and wdth 75, the normalized wght coordinate is 8192 in the first one and 8193 in the second one (in 2.14 units, as HarfBuzz computes them), so the outlines of the third H differ by a fraction of a font unit and a few antialiased pixels of its edges differ; the test has no fuzzy tolerance
variations/variable-box-font.htmlPass1 / 1
variations/variable-gpos-avar2.htmlPass1 / 1
variations/variable-gpos-m2b.htmlPass1 / 1
variations/variable-gsub.htmlPass1 / 1
variations/variable-opsz-size-adjust.htmlPass1 / 1
variations/variable-opsz.htmlPass1 / 1
web-font-no-longer-accessible-when-stylesheet-removed.htmlPass1 / 1