aboutsummaryrefslogtreecommitdiffstats
path: root/tests/wpt/meta/css/css-fonts
Commit message (Collapse)AuthorAgeFilesLines
* Sync WPT with upstream (06-04-2025) (#36369)Servo WPT Sync2025-04-066-8/+108
| | | | | | Automated downstream sync of changes from upstream as of 06-04-2025 [no-wpt-sync] Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
* Update web-platform-tests to revision ↵Servo WPT Sync2025-03-282-2/+12
| | | | | b'9d20f3ae600d00673a27a69f69e13d4cd8eca443' (#36195) Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
* Update web-platform-tests to revision ↵Servo WPT Sync2025-03-181-0/+2
| | | | | b'18fda923cafeb4e3e0546ffcfb2302c3b1b11f98' (#36019) Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
* Update web-platform-tests to revision ↵Servo WPT Sync2025-03-091-0/+2
| | | | | b'c23b0ad587af296087067b48a2f2101233589a8f' (#35869) Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
* Upgrade Stylo to 2025-03-01 (#35782)Oriol Brufau2025-03-043-12/+0
| | | | | | | | | | | | | | | | | * Upgrade Stylo to 2025-03-01 Signed-off-by: Oriol Brufau <obrufau@igalia.com> * Fixup for https://phabricator.services.mozilla.com/D236733 Signed-off-by: Oriol Brufau <obrufau@igalia.com> * Update test expectations Signed-off-by: Oriol Brufau <obrufau@igalia.com> --------- Signed-off-by: Oriol Brufau <obrufau@igalia.com>
* Update web-platform-tests to revision ↵Servo WPT Sync2025-03-021-1/+20
| | | | | b'fc557e215e11221c91de4f283539725ef2f35928' (#35741) Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
* script: add skeleton implementation of `FontFace` API (#35262)Mukilan Thiyagarajan2025-02-195-291/+20
| | | | | | | | | | | | | | | | This patch implements the `FontFace` interface, but with some caveats 1. The interface is only exposed on `Window`. Support for Workers will be handled in the future. 2. The concept of `css-connected` `FontFace` is not implemented, so `@font-face` rules in stylesheets will not be represented in the DOM. 3. The constructor only supports using `url()` strings as source and `ArrayBuffer` and `ArrayBufferView` are not supported yet. A skeleton implementation of the `load` method of `FontFaceSet` is also implemented in this patch. The intention is to support some web pages that don't load without this method. Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* Update web-platform-tests to revision ↵Servo WPT Sync2025-02-098-0/+77
| | | | | b'1a5b13545ae58e468ed11e4c21912a3faf3355ea' (#35384) Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
* Update web-platform-tests to revision ↵Servo WPT Sync2025-02-022-0/+38
| | | | | b'f630424a79c1ae17deaaf27a21efdbca1378af0e' (#35258) Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
* Update web-platform-tests to revision ↵Servo WPT Sync2025-01-261-0/+9
| | | | | b'e5e7dab5e72edd352b17105acce2b8f443face10' (#35174) Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
* Update web-platform-tests to revision ↵Servo WPT Sync2025-01-058-0/+84
| | | | | b'c72ee0c082d350b8b44f7a6bac1f028752b13527' (#34837) Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
* Update web-platform-tests to revision ↵Servo WPT Sync2024-12-051-0/+3
| | | | | b'bf49dde84c5f05613115d6146d109f0ec3900694' (#34483) Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
* Implement `transition-behavior` (#33991)Oriol Brufau2024-10-241-36/+0
| | | | | Bump Stylo to https://github.com/servo/stylo/pull/84 Signed-off-by: Oriol Brufau <obrufau@igalia.com>
* Sync WPT with upstream (29-09-2024) (#33580)Servo WPT Sync2024-09-291-0/+2
| | | | | | | | | | | | | | | * Update web-platform-tests to revision b'16d17064d2122cfa83b22f8bab32c96e6514c034' Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org> * Update big5-decode-csbig5.html.ini Signed-off-by: Samson <16504129+sagudev@users.noreply.github.com> --------- Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org> Signed-off-by: Samson <16504129+sagudev@users.noreply.github.com> Co-authored-by: Samson <16504129+sagudev@users.noreply.github.com>
* Update web-platform-tests to revision ↵Servo WPT Sync2024-09-151-0/+3
| | | | | b'4c3d068f942231dc905ea283e4f82bd70801c37c' (#33461) Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
* Update web-platform-tests to revision ↵Servo WPT Sync2024-09-082-0/+6
| | | | | b'ec9b870fec350e59e9db48ae2858e914a07f38d6' (#33359) Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
* Update web-platform-tests to revision ↵Servo WPT Sync2024-09-011-0/+6
| | | | | b'5d8ec746ed021738e7ee0cee92ad1a1814ba00fe' (#33274) Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
* Refactor `GlyphStore::iter_glyphs_for_byte_range` without recursion (#33074)Cristian Brinza2024-08-191-4/+0
| | | | | | | | | | | | | | | | | | | | | * Implement DoubleEndedIterator for EachIndex Signed-off-by: crbrz <cristianb@gmail.com> * Refactor GlyphStore::iter_glyphs_for_byte_range without recursion Signed-off-by: crbrz <cristianb@gmail.com> * Update WPT result Signed-off-by: crbrz <cristianb@gmail.com> * Update WPT legacy result Signed-off-by: crbrz <cristianb@gmail.com> --------- Signed-off-by: crbrz <cristianb@gmail.com>
* Update web-platform-tests to revision ↵Servo WPT Sync2024-08-072-3/+18
| | | | | b'3634d5a63f2fa3969616396d95537c91c3348fe5' (#32959) Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
* Update web-platform-tests to revision ↵Servo WPT Sync2024-07-212-2/+3
| | | | | b'5af3e9c2a2aba76ade00f0dbc3486e50a74a4506' (#32824) Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
* fonts: Add support for generic font families and font size configuration ↵Martin Robinson2024-07-085-11/+0
| | | | | | | | | | | | | | | | | | (#32673) This adds support for generic font families in Servo and allows for configuration of them as well as their default font sizes. One interesting fix here is that now monospace default to 13px, like it does in other browsers. In addition to that, this exposes a new interface in Stylo which allows setting a default style. This is quite useful for fonts, but also for other kinds of default style settings -- like text zoom. Fixes #8371. Fixes #14773. Signed-off-by: Martin Robinson <mrobinson@igalia.com> Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* script: Implement the `FontFaceSet` DOM API (#32576)Mukilan Thiyagarajan2024-06-2616-20/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a skeleton implementation of FontFaceSet interface with support for resolving the `document.fonts.ready` Promise when the loading of web fonts is completed. This change exposes new failures in the web platform tests. These were ERROR before the change because `document.fonts.ready` caused a `ReferenceError` causing the tests to be aborted and they now FAIL: - /css/CSS2/linebox/vertical-align-top-bottom-001.html - /css/css-flexbox/flex-one-sets-flex-basis-to-zero-px.html - /css/css-fonts/generic-family-keywords-001.html - /css/css-fonts/math-script-level-and-math-style/math-script-level-004.tentative.html - /css/css-fonts/math-script-level-and-math-style/math-script-level-002.tentative.html - /css/css-text/text-autospace/text-autospace-ligature-001.html - /css/css-values/calc-size/calc-size-width.tentative.html These were TIMEOUT before the change because `document.fonts.ready` was a ReferenceError and the tests were asynchronous (reftest-wait). These now FAIL because the assertions are now executed after fonts are loaded: - /css/css-fonts/matching/fixed-stretch-style-over-weight.html - /css/css-fonts/matching/range-descriptor-reversed.html - /css/css-fonts/matching/stretch-distance-over-weight-distance.html - /css/css-fonts/matching/style-ranges-over-weight-direction.html - /css/css-fonts/variations/variable-box-font.html - /css/css-fonts/variations/variable-gpos-m2b.html - /css/css-fonts/variations/variable-gsub.html - /css/css-fonts/variations/variable-opsz-size-adjust.html - /css/css-position/sticky/position-sticky-change-top.html - /css/css-position/sticky/position-sticky-fixed-ancestor.html - /css/css-position/sticky/position-sticky-flexbox.html - /css/css-position/sticky/position-sticky-grid.html - /css/css-position/sticky/position-sticky-inline.html - /css/css-position/sticky/position-sticky-rendering.html - /css/css-position/sticky/position-sticky-stacking-context.html - /css/css-position/sticky/position-sticky-table-td-left.html - /css/css-position/sticky/position-sticky-table-td-right.html - /css/css-position/sticky/position-sticky-table-tfoot-bottom.html - /css/css-position/sticky/position-sticky-table-th-right.html - /css/css-position/sticky/position-sticky-table-thead-top.html - /css/css-position/sticky/position-sticky-table-tr-bottom.html - /css/css-position/sticky/position-sticky-table-tr-top.html - /css/css-position/sticky/position-sticky-writing-modes.html - /css/css-pseudo/marker-intrinsic-contribution-001.html - /css/css-text/hyphens/hyphens-character.html These tests now PASS due to this patch: * FAIL -> PASS - /html/canvas/element/text/2d.text.draw.fill.maxWidth.fontface.html - /html/canvas/element/text/2d.text.measure.width.empty.html * TIMEOUT -> PASS - /css/css-fonts/variations/font-descriptor-range-reversed.html - /css/css-fonts/variations/variable-opsz.html - /css/css-position/sticky/position-sticky-table-th-left.html * ERROR -> PASS - /css/css-fonts/generic-family-keywords-002.html - /css/css-fonts/generic-family-keywords-003.html * These two tests only PASS in Layout 2020: - /css/CSS2/positioning/inline-static-position-001.html - /css/cssom-view/getBoundingClientRect-empty-inline.html These two tests have subtests that PASS intermittenttly: - /fetch/metadata/generated/css-font-face.sub.tentative.html - /css/css-fonts/generic-family-keywords-001.html These tests are new TIMEOUTS that used to FAIL because `documents.fonts.ready` was undefined: - /resource-timing/TAO-match.html - /resource-timing/content-type.html - /resource-timing/nextHopProtocol-is-tao-protected.https.html The failure in `/resize-observer/change-layout-in-error.html` could be due to an issue in the ResizeObserver implementation that is now exposed with this change, but this needs more investigation. Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com> Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* Update web-platform-tests to revision ↵Servo WPT Sync2024-06-232-2/+2
| | | | | b'f46bf6aa167e2838a8b93501a1a998ffde90d879' (#32581) Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
* fonts: Respect emoji variation selector when selecting fonts (#32493)Martin Robinson2024-06-182-2/+2
| | | | | | | | | | | | | | This uses a pretty simple heuristic to select a font likely to contain color emoji. In the future Servo should actually check if the font also contains a color representation of the character in question. For now the code assumes that when a font supports color glyphs of some kind and supports the character in question at all, it supports the color version. This fixes support for rendering keycap emoji clusters such as 1️⃣ . Signed-off-by: Martin Robinson <mrobinson@igalia.com> Co-authored-by: Rakhi Sharma <atbrakhi@igalia.com> Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* Update web-platform-tests to revision ↵Servo WPT Sync2024-06-162-0/+4
| | | | | b'ed9e9309618bdf76de06ff85757edbc8e1d7da82' (#32512) Signed-off-by: WPT Sync Bot <josh+wptsync@joshmatthews.net>
* layout: Don't default to fallback fonts for spaces (#32442)Martin Robinson2024-06-051-2/+0
| | | | | | | | | | | | Previously, when deciding the font for a space, preference was given to the previous used font. This could means that the font chosen was a fallback font instead of the first font that supporting the space character in the font preference list. This caused an issue rendering emojis surrounded by spaces with "Noto Color Emoji" which has a space character the same size as the emoji, leading to too much spacing between them. Co-authored-by: Rakhi Sharma <atbrakhi@igalia.com>
* Update web-platform-tests to revision ↵Servo WPT Sync2024-05-261-0/+3
| | | | b'f2cdcb7e9550e74d07ed6cf17bbcb9643aeedb99' (#32381)
* fonts: Add support for the CSS font matching algorithm (#32366)Martin Robinson2024-05-242-276/+0
| | | | | | | | | | | | | | | | | | | | | | * 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>
* Update web-platform-tests to revision ↵Servo WPT Sync2024-05-193-0/+8
| | | | b'cb53e377321267af4f5a1f05b3b851aab6fa8ede' (#32313)
* layout: When line-height is not `Normal` use metrics of first font not ↵Martin Robinson2024-05-131-2/+0
| | | | | fallback (#32165) This fixes an issue revealed by more consistent font fallback.
* Update web-platform-tests to revision ↵Samson2024-05-013-20/+6
| | | | | b'86de4ffa4e439098e05f05de7d8cae1c24ff84fb' (#32200) Co-authored-by: Servo WPT Sync <josh+wptsync@joshmatthews.net>
* fonts: Add support for more @font-face features (#32164)Martin Robinson2024-04-2919-109/+0
| | | | | | | | | | | | | | | | | | | | | | | There are a couple major changes here: 1. Support is added for the `weight`, `style`, `stretch` and `unicode-range` declarations in `@font-face`. 2. Font matching in the font cache can return templates and `FontGroupFamily` can own mulitple templates. This is due to needing support for "composite fonts". These are `@font-face` declarations that only differ in their `unicode-range` definition. This fixes a lot of non-determinism in font selection especially when dealing with pages that define "composite faces." A notable example of such a page is servo.org, which now consistently displays the correct web font. One test starts to fail due to an uncovered bug, but this will be fixed in a followup change. Fixes #20686. Fixes #20684. Co-authored-by: Mukilan Thiyagarajan <mukilan@igalia.com>
* Update web-platform-tests to revision ↵Servo WPT Sync2024-04-212-0/+15
| | | | b'015f19c5b653f51f2e38ebe97ec0ff62523f57de' (#32121)
* Update web-platform-tests to revision ↵Servo WPT Sync2024-04-071-0/+2
| | | | b'b73a0a32890ff293961eb55bb90ba57a5a711f48' (#32010)
* layout: Add a `FontMetricsProvider` for resolving font-relative units (#31966)Martin Robinson2024-04-041-0/+2
| | | | | | | | | | | | | | | | | | | The only font relative unit that Servo knows how to resolve currently is `rem` (relative to the root font size). This is because Stylo cannot do any font queries. This adds a mechanism to allow this, exposing the ability to properly render `ex` units in Servo. This change only allows resolving some font size relative units thoug, as Servo doesn't collect all the FontMetrics it needs to resolve them all. This capability will be added in followup changes. Some new tests fail: - ex-unit-001.html: This test fails because Servo does not yet have support for setting the weight using @font-face rules on web fonts. - ex-unit-004.html: This test fails because Servo does not yet have support for setting the Unicode range of a web font using @font-face rules. - first-available-font-001.html: This test fails because the above two feature are missing.
* Update web-platform-tests to revision ↵Servo WPT Sync2024-03-311-0/+105
| | | | b'16f18d8135a80e89f2e910ca7548999fa2f7937e' (#31951)
* Update Stylo to 2023-10-16 (#31932)Oriol Brufau2024-03-301-2/+0
| | | | | | | | | | | | | | | | | | | | | | | * Update Stylo to 2023-10-16 * Fixup for https://phabricator.services.mozilla.com/D185154 * Fixup for https://phabricator.services.mozilla.com/D188216 * Fixup for https://phabricator.services.mozilla.com/D185677 * Fixup for https://phabricator.services.mozilla.com/D188566 * Fixup for https://phabricator.services.mozilla.com/D188727 * Fixup for https://phabricator.services.mozilla.com/D189475 * Fixup for https://phabricator.services.mozilla.com/D189521 * Fixup for https://phabricator.services.mozilla.com/D188812 * Fixup for https://phabricator.services.mozilla.com/D189484 * Update test expectations
* font_cache: Handle filtering `@font-face` rules in Servo (#31601)Martin Robinson2024-03-115-49/+23
| | | | | | | | | | | Instead of letting Stylo filter `@font-face` rules, handle this filtering in Servo. It doesn't make sense that Stylo knows about what fonts Servo supports. This also cleans up a bit the way that this is handled, giving an entire stylesheet of rules to the font cache to process instead of letting each layout thread walk the rules. This brings more of the font-related code into the FontCacheThread itself. This is the first step toward adding WOFF2 support and fixing various web font related bugs.
* Sync WPT with upstream (03-03-2024) (#31482)Servo WPT Sync2024-03-031-0/+3
| | | | | | | | | * Update web-platform-tests to revision b'1b88c8bd56a924f9865daa15834d444c55dd7327' * Update expectations --------- Co-authored-by: sagudev <16504129+sagudev@users.noreply.github.com>
* layout: Turn on synthetic small-caps for layout 2020 (#31435)Martin Robinson2024-02-285-31/+113
| | | | | | | | | | | | Synthetic small caps is supported by the font subsystem, but this is disabled in Layout 2020. We can turn this on to bring support to parity with the old layout system. In addition to turning on synthetic small-caps this change also improves the way that they work. Before, synthetic small caps meant that every character was a small version of capitalized character. After this change, capital letters are larger than small caps versions of small letters -- matching other browsers and the common expectation of how small caps works.
* Update web-platform-tests to revision ↵Servo WPT Sync2024-02-252-50/+50
| | | | b'a39b23cb150d1ca3eddf7f2097ffe792a5f911e5' (#31425)
* Update web-platform-tests to revision ↵Servo WPT Sync2024-02-183-0/+300
| | | | b'504dbb9401e985461bdc3fb534cb26fd5bb9d9ad' (#31372)
* Update fontsan to v0.5.0 (#31336)Jonathan Schwender2024-02-142-4/+0
| | | | | | | | | | | | | | | * Update fontsan to v0.5.0 Updates the C font-sanitizer library `ots` and dependencies to the latest version. Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com> * Update test expectations --------- Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com> Co-authored-by: Martin Robinson <mrobinson@igalia.com>
* layout: Implement support for font fallback (#31254)Martin Robinson2024-02-111-0/+2
| | | | | | | This adds an initial implementation of font fallback, on part with the one used in legacy layout. There are still issues. For instance, font matching is done per unicode character rather than based on graphemes or the shape first approach of Chrome. The idea is that these changes can be made later.
* Sync WPT with upstream (11-02-2024) (#31309)Servo WPT Sync2024-02-111-12/+39
| | | | | | | | | * Update web-platform-tests to revision b'33d11f1db34802fda00e64ddeb0b7ef040cf65be' * Update expectations --------- Co-authored-by: sagudev <16504129+sagudev@users.noreply.github.com>
* layout: Respond to shorthand property requests with real values (#31277)Sebastian C2024-02-102-983/+2
| | | | | | | | | | | | | | | | | | | | | | | | | * Respond to shorthand property requests with real values Signed-off-by: Sebastian C <sebsebmc@gmail.com> * Cleanup formatting and old comments Signed-off-by: Sebastian C <sebsebmc@gmail.com> * Update WPT expectations Signed-off-by: Sebastian C <sebsebmc@gmail.com> * Refactor out helper fn Signed-off-by: Sebastian C <sebsebmc@gmail.com> * Cleanup Signed-off-by: Sebastian C <sebsebmc@gmail.com> --------- Signed-off-by: Sebastian C <sebsebmc@gmail.com>
* Sync WPT with upstream (04-02-2024) (#31256)Servo WPT Sync2024-02-051-35/+14
| | | | | | | | | * Update web-platform-tests to revision b'faa6d42ce21d126155dee771786ad7c74efbcba5' * Update test expectation --------- Co-authored-by: cybai <cyb.ai.815@gmail.com>
* Sync WPT with upstream (28-01-2024) (#31204)Servo WPT Sync2024-01-281-18/+18
| | | | | | | | | * Update web-platform-tests to revision b'bdd3b533e8c995e416630422ad64f4c70086b42f' * Update expectations --------- Co-authored-by: sagudev <16504129+sagudev@users.noreply.github.com>
* Update web-platform-tests to revision ↵Servo WPT Sync2024-01-211-18/+30
| | | | b'a10b8c0164b4c4521040898ee9394738aca488b0' (#31144)
* Update web-platform-tests to revision ↵Servo WPT Sync2024-01-141-30/+24
| | | | b'5049a31d2a7eebd7bca08317e56664021a8bd36c' (#31085)