rtjkro
afa4b524ab
font: Consider lang attribute when shaping ( #43447 )
...
Fonts: Added `language` field in the struct `ShapingOptions` so Harfbuzz
can also consider language when shaping glyphs.
Testing: Existing WPT. Most recent try run:
[link](https://github.com/RichardTjokroutomo/servo/actions/runs/23334049878 )
2 new passes, 5 new fails.
Failures:
- `/css/css-text-decor/text-emphasis-punctuation-2.html` should be a
false positive since `text-emphasis` shorthand hasn't been supported on
stylo yet.
- Not quite sure about this, but
`/css/css-text/text-spacing-trim/text-spacing-trim-quote-001.html?class=halt,htb&lang=ja`
tests `text-spacing-trim` default behavior on `JA` texts. Since this
property is not defined in Stylo, I believe that this property's
behavior (including default) hasn't been considered in Servo. So Servo
previously passing the test should be a false positive. As a side note,
this test also fails on Firefox.
- `/html/canvas/element/manual/text/canvas.2d.lang.dynamic.html`,
`/html/canvas/element/manual/text/canvas.2d.lang.html`,
`/html/canvas/element/manual/text/canvas.2d.lang.inherit.disconnected.canvas.html`
fail because canvas' experimental [`lang`
attribute](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/lang )
hasn't been supported yet.
credits to @mrobinson for figuring out the reason for last 3 failing WPT
tests!
Fixes : #41825
---------
Signed-off-by: Richard Tjokroutomo <richard.tjokro2@gmail.com >
Signed-off-by: Martin Robinson <mrobinson@igalia.com >
Co-authored-by: Martin Robinson <mrobinson@igalia.com >
2026-03-23 08:39:53 +00:00
..
2026-03-23 08:26:49 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 08:39:53 +00:00
2025-11-20 06:20:47 +00:00
2026-03-23 02:54:31 +00:00
2026-03-23 08:26:49 +00:00
2026-03-19 12:40:11 +00:00
2026-03-15 12:57:19 +00:00
2026-03-23 08:26:49 +00:00
2026-02-12 15:17:30 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 08:26:49 +00:00
2026-03-12 13:28:21 +00:00
2026-03-23 08:26:49 +00:00
2026-03-20 15:31:46 +00:00
2026-03-23 06:14:27 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 06:22:46 +00:00
2026-03-18 11:03:54 +00:00
2026-03-23 08:26:49 +00:00
2026-03-18 09:15:31 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 08:26:49 +00:00
2026-02-12 15:17:30 +00:00
2026-03-12 13:28:21 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 08:26:49 +00:00
2026-02-14 10:03:25 +00:00
2026-03-18 16:33:45 +00:00
2026-03-11 06:06:51 +00:00
2025-11-01 05:32:45 +00:00
2025-11-01 05:32:45 +00:00
2026-03-18 09:15:31 +00:00
2025-11-24 22:41:45 +00:00
2026-03-23 08:26:49 +00:00
2026-02-07 19:53:00 +00:00
2026-03-14 07:37:47 +00:00
2026-03-08 11:46:42 +00:00
2026-01-09 10:09:45 +00:00
2026-03-06 19:25:33 +00:00
2026-02-12 15:17:30 +00:00
2025-11-04 18:29:06 +00:00
2026-02-25 21:40:39 +00:00
2026-03-06 19:25:33 +00:00
2026-03-17 08:02:49 +00:00
2026-03-23 08:26:49 +00:00
2026-03-22 11:11:52 +00:00
2026-03-21 07:18:04 +00:00
2026-03-09 17:51:52 +00:00
2026-03-22 11:11:52 +00:00
2025-11-01 05:32:45 +00:00
2026-03-04 06:44:39 +00:00
2025-10-23 14:02:28 +00:00
2025-10-05 15:12:16 +00:00
2025-10-05 15:12:16 +00:00
2026-01-10 08:05:49 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 08:26:49 +00:00
2026-03-14 07:37:47 +00:00
2026-03-12 13:28:21 +00:00
2026-03-14 07:37:47 +00:00
2026-03-23 08:26:49 +00:00
2026-03-17 13:03:33 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 08:26:49 +00:00
2026-03-14 19:40:49 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 08:26:49 +00:00
2026-03-08 11:46:42 +00:00
2026-03-06 09:58:33 +00:00
2026-03-06 20:02:37 +00:00
2026-03-22 11:11:52 +00:00
2026-02-25 10:34:21 +00:00
2025-11-01 05:32:45 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 08:30:49 +00:00
2026-03-18 06:59:22 +00:00
2025-12-05 07:23:32 +00:00
2025-12-05 07:23:32 +00:00
2026-01-10 08:05:49 +00:00
2026-01-10 08:05:49 +00:00
2026-01-10 08:05:49 +00:00
2026-01-08 07:49:27 +00:00
2025-12-12 14:33:45 +00:00
2026-03-06 19:25:33 +00:00
2026-02-12 15:17:30 +00:00
2025-11-01 05:32:45 +00:00
2026-03-20 10:51:33 +00:00
2026-03-23 08:26:49 +00:00
2026-03-21 15:47:00 +00:00
2026-01-03 10:54:27 +00:00
2026-02-12 15:17:30 +00:00
2026-03-23 08:26:49 +00:00
2026-03-06 19:25:33 +00:00
2026-03-23 08:26:49 +00:00
2026-03-17 10:13:49 +00:00
2026-03-23 06:14:27 +00:00
2026-03-23 08:26:49 +00:00
2026-03-12 13:28:21 +00:00
2026-03-23 08:26:49 +00:00
2025-11-01 05:32:45 +00:00
2025-11-01 05:32:45 +00:00
2026-03-18 21:18:31 +00:00
2026-03-06 19:25:33 +00:00
2026-02-12 15:17:30 +00:00
2026-01-10 08:05:49 +00:00
2026-03-06 20:02:37 +00:00
2026-01-10 08:05:49 +00:00
2026-03-23 08:26:49 +00:00
2026-02-23 13:05:21 +00:00
2026-03-23 08:26:49 +00:00
2026-03-16 09:55:46 +00:00
2026-01-10 08:05:49 +00:00
2026-03-20 15:31:46 +00:00
2026-02-12 15:17:30 +00:00
2025-11-01 05:32:45 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 08:26:49 +00:00
2025-11-01 05:32:45 +00:00
2026-03-23 08:26:49 +00:00
2025-11-01 05:32:45 +00:00
2025-11-01 05:32:45 +00:00
2026-03-06 19:25:33 +00:00
2025-11-01 05:32:45 +00:00
2025-11-01 05:32:45 +00:00
2026-03-23 08:26:49 +00:00
2026-01-03 10:54:27 +00:00
2026-03-20 17:08:32 +00:00
2025-12-27 16:33:26 +00:00
2026-01-10 08:05:49 +00:00
2026-03-23 08:26:49 +00:00
2026-01-10 08:05:49 +00:00
2026-03-15 12:57:19 +00:00
2026-03-17 19:37:40 +00:00
2026-03-08 11:46:42 +00:00
2026-01-23 15:38:57 +00:00
2026-02-12 15:17:30 +00:00
2026-03-23 08:26:49 +00:00
2026-01-23 15:38:57 +00:00
2026-03-13 13:40:40 +00:00
2026-02-28 08:38:32 +00:00
2026-03-14 19:40:49 +00:00
2025-12-05 07:23:32 +00:00
2026-03-23 08:26:49 +00:00
2026-03-08 11:46:42 +00:00
2025-12-05 07:23:32 +00:00
2026-03-23 06:22:46 +00:00
2026-03-14 07:37:47 +00:00
2026-03-23 08:26:49 +00:00
2026-01-03 10:54:27 +00:00
2025-11-02 18:20:18 +00:00
2026-03-06 19:25:33 +00:00
2026-03-06 19:25:33 +00:00
2025-11-01 05:32:45 +00:00
2026-03-16 09:55:46 +00:00
2026-03-06 19:25:33 +00:00
2026-03-23 08:26:49 +00:00
2026-03-12 13:28:21 +00:00
2026-02-12 15:17:30 +00:00
2026-02-12 15:17:30 +00:00
2026-03-23 08:26:49 +00:00
2026-03-10 17:02:19 +00:00
2026-02-25 10:34:21 +00:00
2025-11-13 14:53:57 +00:00
2026-03-18 11:03:54 +00:00
2026-03-23 08:26:49 +00:00
2026-03-20 13:50:59 +00:00
2026-03-23 08:26:49 +00:00
2026-03-06 19:25:33 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 08:26:49 +00:00
2026-03-23 08:26:49 +00:00
2026-03-20 12:54:38 +00:00
2026-03-23 03:18:24 +00:00
2026-02-12 15:17:30 +00:00
2025-10-25 23:25:01 +00:00
2026-02-12 15:17:30 +00:00
2026-02-12 15:17:30 +00:00