fonts: Add support for the CSS font matching algorithm (#32366)

* fonts: Add support for the CSS font matching algorithm

This is a port from Gecko of the CSS font matching algorithm distance
functions as well as the "simple family" concept for optimizing
matching when dealing with simple fonts.

Fixes #189.
Fixes #190.
Fixes #20686.
Fixes #20684.

Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
Signed-off-by: Martin Robinson <mrobinson@igalia.com>

* Ensure that simple faces are removed for removed stylesheets

---------

Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
This commit is contained in:
Martin Robinson 2024-05-24 18:40:22 +02:00 committed by GitHub
parent 45ef2c4abf
commit 60a81a7032
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 442 additions and 671 deletions

View file

@ -1,337 +0,0 @@
[at-font-face-font-matching.html]
bug: https://github.com/servo/servo/issues/29376
[Descriptor mathcing priority: Stretch has higher priority than style]
expected: [PASS, FAIL]
[Descriptor mathcing priority: Stretch has higher priority than weight]
expected: [PASS, FAIL]
[Matching font-weight: '400' should prefer '500' over '350 399']
expected: [PASS, FAIL]
[Matching font-weight: '400' should prefer '350 399' over '351 398']
expected: [PASS, FAIL]
[Matching font-weight: '400' should prefer '501 550' over '502 560']
expected: [PASS, FAIL]
[Matching font-weight: '500' should prefer '501 550' over '502 560']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 0deg' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -10deg' should prefer 'oblique -10deg' over 'oblique -5deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -10deg' should prefer 'oblique -20deg -15deg' over 'oblique -60deg -30deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -10deg' should prefer 'oblique 0deg 10deg' over 'oblique 40deg 50deg']
expected: [PASS, FAIL]
[Descriptor mathcing priority: Style has higher priority than weight]
expected: [PASS, FAIL]
[Matching font-stretch: '110%' should prefer '115% 116%' over '105%']
expected: [PASS, FAIL]
[Matching font-stretch: '90%' should prefer '50% 80%' over '60% 70%']
expected: [PASS, FAIL]
[Descriptor matching priority: Stretch has higher priority than weight]
expected: [PASS, FAIL]
[Descriptor matching priority: Stretch has higher priority than style]
expected: [PASS, FAIL]
[Descriptor matching priority: Style has higher priority than weight]
expected: [PASS, FAIL]
[Matching font-weight: '430' should prefer '420 440' over '450 460']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 0deg' should prefer 'oblique 15deg 20deg' over 'oblique 30deg 60deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 20deg' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 10deg' should prefer 'italic' over 'oblique 0deg']
expected: [PASS, FAIL]
[Matching font-style: 'italic' should prefer 'oblique 20deg' over 'oblique 30deg 60deg']
expected: [PASS, FAIL]
[Matching font-style: 'normal' should prefer 'oblique 10deg 40deg' over 'oblique 20deg 30deg']
expected: [PASS, FAIL]
[Matching font-weight: '399' should prefer '450 460' over '500 501']
expected: [PASS, FAIL]
[Matching font-weight: '500' should prefer '400' over '350 399']
expected: [PASS, FAIL]
[Matching font-weight: '501' should prefer '501' over '502 510']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 0deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: [PASS, FAIL]
[Matching font-weight: '400' should prefer '450 460' over '500']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 0deg' should prefer 'italic' over 'oblique -50deg -20deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -20deg' should prefer 'oblique -10deg' over 'italic']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -20deg' should prefer 'oblique -20deg' over 'oblique -60deg -40deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 20deg' should prefer 'oblique 10deg' over 'italic']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 21deg' should prefer 'oblique 21deg' over 'oblique 30deg 60deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -10deg' should prefer 'italic' over 'oblique 0deg 10deg']
expected: [PASS, FAIL]
[Matching font-stretch: '100%' should prefer '110% 120%' over '115% 116%']
expected: [PASS, FAIL]
[Matching font-style: 'italic' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: [PASS, FAIL]
[Matching font-weight: '501' should prefer '503 520' over '500']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 20deg' should prefer 'oblique 20deg' over 'oblique 30deg 60deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 10deg' should prefer 'oblique 5deg' over 'oblique 15deg 20deg']
expected: [PASS, FAIL]
[Matching font-weight: '399' should prefer '400' over '450 460']
expected: [PASS, FAIL]
[Matching font-weight: '399' should prefer '500 501' over '502 510']
expected: [PASS, FAIL]
[Matching font-stretch: '90%' should prefer '110% 140%' over '120% 130%']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 21deg' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg']
expected: [PASS, FAIL]
[Matching font-stretch: '110%' should prefer '50% 80%' over '60% 70%']
expected: [PASS, FAIL]
[Matching font-style: 'italic' should prefer 'oblique -60deg -30deg' over 'oblique -50deg -40deg']
expected: [PASS, FAIL]
[Matching font-weight: '430' should prefer '500' over '400 425']
expected: [PASS, FAIL]
[Matching font-weight: '400' should prefer '351 398' over '501 550']
expected: [PASS, FAIL]
[Matching font-weight: '430' should prefer '400 425' over '350 399']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 21deg' should prefer 'oblique 20deg' over 'oblique 10deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 21deg' should prefer 'oblique 0deg' over 'oblique -50deg -20deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 20deg' should prefer 'italic' over 'oblique 0deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 21deg' should prefer 'italic' over 'oblique 0deg']
expected: [PASS, FAIL]
[Matching font-stretch: '110%' should prefer '105%' over '100%']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 20deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 20deg' should prefer 'oblique 40deg 50deg' over 'oblique 10deg']
expected: [PASS, FAIL]
[Matching font-weight: '430' should prefer '450 460' over '500']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 0deg' should prefer 'oblique 0deg' over 'oblique 5deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -10deg' should prefer 'oblique -5deg' over 'oblique -1deg 0deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -10deg' should prefer 'oblique -50deg -40deg' over 'italic']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -20deg' should prefer 'oblique -60deg -40deg' over 'oblique -10deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -20deg' should prefer 'italic' over 'oblique 0deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -21deg' should prefer 'oblique -21deg' over 'oblique -60deg -40deg']
expected: [PASS, FAIL]
[Matching font-weight: '399' should prefer '340 360' over '200 300']
expected: [PASS, FAIL]
[Matching font-stretch: '110%' should prefer '100%' over '50% 80%']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -10deg' should prefer 'oblique -1deg 0deg' over 'oblique -20deg -15deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 21deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 21deg' should prefer 'oblique 40deg 50deg' over 'oblique 20deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -21deg' should prefer 'oblique 0deg' over 'oblique 30deg 60deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -20deg' should prefer 'oblique 0deg' over 'oblique 30deg 60deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 20deg' should prefer 'oblique 0deg' over 'oblique -50deg -20deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 10deg' should prefer 'oblique 15deg 20deg' over 'oblique 30deg 60deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 10deg' should prefer 'oblique 40deg 50deg' over 'italic']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -21deg' should prefer 'oblique -60deg -40deg' over 'oblique -10deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -21deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: [PASS, FAIL]
[Matching font-weight: '430' should prefer '350 399' over '340 398']
expected: [PASS, FAIL]
[Matching font-weight: '501' should prefer '502 510' over '503 520']
expected: [PASS, FAIL]
[Matching font-weight: '501' should prefer '500' over '450 460']
expected: [PASS, FAIL]
[Matching font-weight: '501' should prefer '390 410' over '300 350']
expected: [PASS, FAIL]
[Matching font-weight: '399' should prefer '350 399' over '340 360']
expected: [PASS, FAIL]
[Matching font-stretch: '90%' should prefer '90% 100%' over '50% 80%']
expected: [PASS, FAIL]
[Matching font-stretch: '90%' should prefer '60% 70%' over '110% 140%']
expected: [PASS, FAIL]
[Matching font-style: 'normal' should prefer 'normal' over 'oblique 0deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 10deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: [PASS, FAIL]
[Matching font-style: 'italic' should prefer 'oblique 5deg' over 'normal']
expected: [PASS, FAIL]
[Matching font-weight: '400' should prefer '400' over '450 460']
expected: [PASS, FAIL]
[Matching font-weight: '399' should prefer '200 300' over '400']
expected: [PASS, FAIL]
[Matching font-stretch: '110%' should prefer '110% 120%' over '115% 116%']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 21deg' should prefer 'oblique 10deg' over 'italic']
expected: [PASS, FAIL]
[Matching font-weight: '501' should prefer '450 460' over '390 410']
expected: [PASS, FAIL]
[Matching font-style: 'italic' should prefer 'oblique 40deg 50deg' over 'oblique 5deg 10deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 10deg' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 0deg' should prefer 'oblique 5deg' over 'oblique 15deg 20deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -21deg' should prefer 'oblique -10deg' over 'italic']
expected: [PASS, FAIL]
[Matching font-stretch: '100%' should prefer '100%' over '110% 120%']
expected: [PASS, FAIL]
[Matching font-style: 'normal' should prefer 'oblique 20deg 30deg' over 'oblique -50deg -20deg']
expected: [PASS, FAIL]
[Matching font-style: 'italic' should prefer 'oblique 5deg 10deg' over 'oblique 5deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 10deg' should prefer 'oblique 10deg' over 'oblique 5deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -21deg' should prefer 'italic' over 'oblique 0deg']
expected: [PASS, FAIL]
[Matching font-weight: '500' should prefer '450 460' over '400']
expected: [PASS, FAIL]
[Matching font-weight: '430' should prefer '340 398' over '501 550']
expected: [PASS, FAIL]
[Matching font-weight: '500' should prefer '351 398' over '501 550']
expected: [PASS, FAIL]
[Matching font-style: 'italic' should prefer 'italic' over 'oblique 20deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 10deg' should prefer 'oblique 0deg' over 'oblique -50deg -20deg']
expected: [PASS, FAIL]
[Matching font-weight: '500' should prefer '500' over '450 460']
expected: [PASS, FAIL]
[Matching font-style: 'normal' should prefer 'oblique 0deg' over 'oblique 10deg 40deg']
expected: [PASS, FAIL]
[Matching font-style: 'normal' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg']
expected: [PASS, FAIL]
[Matching font-style: 'italic' should prefer 'oblique 0deg' over 'oblique -60deg -30deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -10deg' should prefer 'oblique -60deg -30deg' over 'oblique -50deg -40deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique -20deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: [PASS, FAIL]
[Matching font-weight: '430' should prefer '501 550' over '502 560']
expected: [PASS, FAIL]
[Matching font-weight: '500' should prefer '350 399' over '351 398']
expected: [PASS, FAIL]
[Matching font-style: 'italic' should prefer 'normal' over 'oblique 0deg']
expected: [PASS, FAIL]
[Matching font-style: 'oblique 0deg' should prefer 'oblique 40deg 50deg' over 'italic']
expected: [PASS, FAIL]

View file

@ -1,18 +0,0 @@
[font-weight-matching.html]
[Test @font-face matching for weight 600]
expected: FAIL
[Test @font-face matching for weight 751]
expected: FAIL
[Test @font-face matching for weight 399]
expected: FAIL
[Test @font-face matching for weight 470]
expected: FAIL
[Test @font-face matching for weight 249]
expected: FAIL
[Test @font-face matching for weight 420]
expected: FAIL

View file

@ -1,258 +0,0 @@
[at-font-face-font-matching.html]
[Descriptor matching priority: Stretch has higher priority than style]
expected: FAIL
[Descriptor matching priority: Stretch has higher priority than weight]
expected: FAIL
[Descriptor matching priority: Style has higher priority than weight]
expected: FAIL
[Matching font-weight: '400' should prefer '350 399' over '351 398']
expected: FAIL
[Matching font-weight: '500' should prefer '351 398' over '501 550']
expected: FAIL
[Matching font-style: 'normal' should prefer 'oblique 0deg' over 'oblique 10deg 40deg']
expected: FAIL
[Matching font-style: 'oblique 10deg' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg']
expected: FAIL
[Matching font-style: 'oblique 0deg' should prefer 'oblique 15deg 20deg' over 'oblique 30deg 60deg']
expected: FAIL
[Matching font-style: 'oblique 0deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: FAIL
[Matching font-style: 'oblique -10deg' should prefer 'oblique -1deg 0deg' over 'oblique -20deg -15deg']
expected: FAIL
[Matching font-style: 'oblique 21deg' should prefer 'oblique 21deg' over 'oblique 30deg 60deg']
expected: FAIL
[Matching font-style: 'oblique 21deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: FAIL
[Matching font-style: 'oblique 21deg' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg']
expected: FAIL
[Matching font-stretch: '110%' should prefer '50% 80%' over '60% 70%']
expected: FAIL
[Matching font-style: 'italic' should prefer 'oblique -60deg -30deg' over 'oblique -50deg -40deg']
expected: FAIL
[Matching font-weight: '430' should prefer '500' over '400 425']
expected: FAIL
[Matching font-style: 'oblique 20deg' should prefer 'oblique 0deg' over 'oblique -50deg -20deg']
expected: FAIL
[Matching font-style: 'oblique 21deg' should prefer 'oblique 0deg' over 'oblique -50deg -20deg']
expected: FAIL
[Matching font-stretch: '110%' should prefer '100%' over '50% 80%']
expected: FAIL
[Matching font-stretch: '90%' should prefer '50% 80%' over '60% 70%']
expected: FAIL
[Matching font-weight: '500' should prefer '350 399' over '351 398']
expected: FAIL
[Matching font-stretch: '90%' should prefer '90% 100%' over '50% 80%']
expected: FAIL
[Matching font-style: 'oblique 10deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: FAIL
[Matching font-style: 'oblique 10deg' should prefer 'oblique 40deg 50deg' over 'italic']
expected: FAIL
[Matching font-style: 'normal' should prefer 'normal' over 'oblique 0deg']
expected: FAIL
[Matching font-style: 'normal' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg']
expected: FAIL
[Matching font-style: 'oblique 20deg' should prefer 'italic' over 'oblique 0deg']
expected: FAIL
[Matching font-style: 'oblique -21deg' should prefer 'oblique 0deg' over 'oblique 30deg 60deg']
expected: FAIL
[Matching font-style: 'oblique -21deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: FAIL
[Matching font-stretch: '90%' should prefer '110% 140%' over '120% 130%']
expected: FAIL
[Matching font-style: 'italic' should prefer 'oblique 0deg' over 'oblique -60deg -30deg']
expected: FAIL
[Matching font-style: 'oblique 0deg' should prefer 'oblique 40deg 50deg' over 'italic']
expected: FAIL
[Matching font-style: 'oblique -20deg' should prefer 'oblique -60deg -40deg' over 'oblique -10deg']
expected: FAIL
[Matching font-stretch: '110%' should prefer '110% 120%' over '115% 116%']
expected: FAIL
[Matching font-style: 'oblique 20deg' should prefer 'oblique 10deg' over 'italic']
expected: FAIL
[Matching font-style: 'oblique 21deg' should prefer 'italic' over 'oblique 0deg']
expected: FAIL
[Matching font-weight: '400' should prefer '500' over '350 399']
expected: FAIL
[Matching font-weight: '399' should prefer '200 300' over '400']
expected: FAIL
[Matching font-style: 'italic' should prefer 'oblique 5deg 10deg' over 'oblique 5deg']
expected: FAIL
[Matching font-style: 'oblique 0deg' should prefer 'italic' over 'oblique -50deg -20deg']
expected: FAIL
[Matching font-style: 'oblique -10deg' should prefer 'oblique -10deg' over 'oblique -5deg']
expected: FAIL
[Matching font-style: 'oblique -10deg' should prefer 'oblique -20deg -15deg' over 'oblique -60deg -30deg']
expected: FAIL
[Matching font-style: 'oblique -10deg' should prefer 'italic' over 'oblique 0deg 10deg']
expected: FAIL
[Matching font-style: 'oblique -20deg' should prefer 'italic' over 'oblique 0deg']
expected: FAIL
[Matching font-style: 'oblique -20deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: FAIL
[Matching font-style: 'oblique -21deg' should prefer 'oblique -60deg -40deg' over 'oblique -10deg']
expected: FAIL
[Matching font-style: 'oblique -21deg' should prefer 'italic' over 'oblique 0deg']
expected: FAIL
[Matching font-style: 'oblique 21deg' should prefer 'oblique 10deg' over 'italic']
expected: FAIL
[Matching font-style: 'oblique 10deg' should prefer 'oblique 15deg 20deg' over 'oblique 30deg 60deg']
expected: FAIL
[Matching font-style: 'oblique 0deg' should prefer 'oblique 0deg' over 'oblique 5deg']
expected: FAIL
[Matching font-style: 'oblique -10deg' should prefer 'oblique -60deg -30deg' over 'oblique -50deg -40deg']
expected: FAIL
[Matching font-style: 'oblique -10deg' should prefer 'oblique 0deg 10deg' over 'oblique 40deg 50deg']
expected: FAIL
[Matching font-weight: '501' should prefer '503 520' over '500']
expected: FAIL
[Matching font-stretch: '110%' should prefer '115% 116%' over '105%']
expected: FAIL
[Matching font-style: 'italic' should prefer 'oblique 20deg' over 'oblique 30deg 60deg']
expected: FAIL
[Matching font-style: 'oblique 10deg' should prefer 'oblique 0deg' over 'oblique -50deg -20deg']
expected: FAIL
[Matching font-style: 'oblique 20deg' should prefer 'oblique 20deg' over 'oblique 30deg 60deg']
expected: FAIL
[Matching font-style: 'oblique 20deg' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg']
expected: FAIL
[Matching font-style: 'oblique 21deg' should prefer 'oblique 20deg' over 'oblique 10deg']
expected: FAIL
[Matching font-style: 'oblique -10deg' should prefer 'oblique -5deg' over 'oblique -1deg 0deg']
expected: FAIL
[Matching font-style: 'oblique -20deg' should prefer 'oblique -10deg' over 'italic']
expected: FAIL
[Matching font-stretch: '90%' should prefer '60% 70%' over '110% 140%']
expected: FAIL
[Matching font-style: 'italic' should prefer 'normal' over 'oblique 0deg']
expected: FAIL
[Matching font-style: 'oblique 20deg' should prefer 'oblique 40deg 50deg' over 'oblique 10deg']
expected: FAIL
[Matching font-style: 'oblique 21deg' should prefer 'oblique 40deg 50deg' over 'oblique 20deg']
expected: FAIL
[Matching font-style: 'oblique 0deg' should prefer 'oblique 5deg' over 'oblique 15deg 20deg']
expected: FAIL
[Matching font-stretch: '110%' should prefer '105%' over '100%']
expected: FAIL
[Matching font-style: 'italic' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: FAIL
[Matching font-style: 'oblique -20deg' should prefer 'oblique -20deg' over 'oblique -60deg -40deg']
expected: FAIL
[Matching font-stretch: '100%' should prefer '110% 120%' over '115% 116%']
expected: FAIL
[Matching font-style: 'italic' should prefer 'italic' over 'oblique 20deg']
expected: FAIL
[Matching font-style: 'oblique -21deg' should prefer 'oblique -10deg' over 'italic']
expected: FAIL
[Matching font-weight: '430' should prefer '340 398' over '501 550']
expected: FAIL
[Matching font-style: 'oblique 20deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg']
expected: FAIL
[Matching font-style: 'oblique 10deg' should prefer 'oblique 5deg' over 'oblique 15deg 20deg']
expected: FAIL
[Matching font-style: 'oblique -20deg' should prefer 'oblique 0deg' over 'oblique 30deg 60deg']
expected: FAIL
[Matching font-stretch: '100%' should prefer '100%' over '110% 120%']
expected: FAIL
[Matching font-style: 'normal' should prefer 'oblique 10deg 40deg' over 'oblique 20deg 30deg']
expected: FAIL
[Matching font-style: 'normal' should prefer 'oblique 20deg 30deg' over 'oblique -50deg -20deg']
expected: FAIL
[Matching font-style: 'italic' should prefer 'oblique 40deg 50deg' over 'oblique 5deg 10deg']
expected: FAIL
[Matching font-style: 'italic' should prefer 'oblique 5deg' over 'normal']
expected: FAIL
[Matching font-style: 'oblique 10deg' should prefer 'italic' over 'oblique 0deg']
expected: FAIL
[Matching font-style: 'oblique 0deg' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg']
expected: FAIL
[Matching font-style: 'oblique -10deg' should prefer 'oblique -50deg -40deg' over 'italic']
expected: FAIL
[Matching font-style: 'oblique 10deg' should prefer 'oblique 10deg' over 'oblique 5deg']
expected: FAIL
[Matching font-style: 'oblique -21deg' should prefer 'oblique -21deg' over 'oblique -60deg -40deg']
expected: FAIL

View file

@ -1,18 +0,0 @@
[font-weight-matching.html]
[Test @font-face matching for weight 600]
expected: FAIL
[Test @font-face matching for weight 470]
expected: FAIL
[Test @font-face matching for weight 751]
expected: FAIL
[Test @font-face matching for weight 399]
expected: FAIL
[Test @font-face matching for weight 420]
expected: FAIL
[Test @font-face matching for weight 249]
expected: FAIL