layout: Add initial support for text-transform (#31396)

This adds basic support for `text-transform` in a way that is more
complete than legacy layout. There are still many missing elements of
proper `text-transform` support such as:

1. Support for `full-width` and `full-size-kana`
2. Support for grapheme based uppercasing, lowercasing, and
   capitalization. These are all done per-code point right now.
3. Support for the language-specific `SpecialCasing.txt` cases for case
   mapping such as the ones for Irish and Turkish.

Co-authored-by: Rakhi Sharma <atbrakhi@igalia.com>
This commit is contained in:
Martin Robinson
2024-02-22 15:15:59 +01:00
committed by GitHub
parent f60e5e767b
commit d8b326528b
105 changed files with 181 additions and 292 deletions

View File

@@ -1,57 +1,3 @@
[text-transform-valid.html]
[e.style['text-transform'\] = "none" should set the property value]
expected: FAIL
[e.style['text-transform'\] = "capitalize" should set the property value]
expected: FAIL
[e.style['text-transform'\] = "uppercase" should set the property value]
expected: FAIL
[e.style['text-transform'\] = "lowercase" should set the property value]
expected: FAIL
[e.style['text-transform'\] = "full-width" should set the property value]
expected: FAIL
[e.style['text-transform'\] = "full-size-kana" should set the property value]
expected: FAIL
[e.style['text-transform'\] = "capitalize full-width" should set the property value]
expected: FAIL
[e.style['text-transform'\] = "uppercase full-size-kana" should set the property value]
expected: FAIL
[e.style['text-transform'\] = "full-width full-size-kana" should set the property value]
expected: FAIL
[e.style['text-transform'\] = "full-width lowercase" should set the property value]
expected: FAIL
[e.style['text-transform'\] = "full-size-kana capitalize" should set the property value]
expected: FAIL
[e.style['text-transform'\] = "full-size-kana full-width" should set the property value]
expected: FAIL
[e.style['text-transform'\] = "capitalize full-width full-size-kana" should set the property value]
expected: FAIL
[e.style['text-transform'\] = "full-width full-size-kana uppercase" should set the property value]
expected: FAIL
[e.style['text-transform'\] = "full-size-kana lowercase full-width" should set the property value]
expected: FAIL
[e.style['text-transform'\] = "lowercase full-size-kana full-width" should set the property value]
expected: FAIL
[e.style['text-transform'\] = "full-width uppercase full-size-kana" should set the property value]
expected: FAIL
[e.style['text-transform'\] = "full-size-kana full-width capitalize" should set the property value]
expected: FAIL
[e.style['text-transform'\] = "math-auto" should set the property value]
expected: FAIL