servo/components/gfx/platform/macos
Martin Robinson 4732da3477
fonts: Add support for more @font-face features (#32164)
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>
2024-04-29 17:02:07 +00:00
..
core_text_font_cache.rs fonts: Rework platform font initialization (#32127) 2024-04-22 09:38:21 +00:00
font.rs fonts: Add support for more @font-face features (#32164) 2024-04-29 17:02:07 +00:00
font_list.rs fonts: Add support for more @font-face features (#32164) 2024-04-29 17:02:07 +00:00