[csswg-drafts] [css‑syntax] `<string‑token>` should probably handle valid surrogate pairs (#6352)

ExE-Boss has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css‑syntax] `<string‑token>` should probably handle valid surrogate pairs ==
**Spec:** <https://drafts.csswg.org/css-syntax-3/#consume-string-token>

---

The 6 digit syntax for `<string‑token>` was only added to **CSS** in **CSS2**, with the **CSS Syntax** module restricting it to not allow surrogate code points, but I would expect that a string containing valid surrogate pairs would work like the equivalent 6 digit syntax, e.g.:
```css
.foo:before {
 /*
 The "CSS1" and "CSS2.1" specifications parse this as:
  - U+D83D (High Surrogate)
  - U+DD25 (Low Surrogate)

 The "CSS Syntax Level 3" specification parses this as:
  - U+FFFD (Replacement Character)
  - U+FFFD (Replacement Character)

 I would expect this to parse as the U+D83D and U+DD25 surrogate code points,
 which would decode to U+1F525 (Fire) at parse time.
 */
 content: "\D83D\DD25";
}
```
and
```css
.foo:before {
 /*
 The "CSS1" specification parses this as:
  - U+1F52 (Greek Small Letter Upsilon With Psili And Varia)
  - U+35 (Digit Five)
 The "CSS2.1" and "CSS Syntax Level 3" specifications parse this as:
  - U+1F525 (Fire)
 */
 content: "\1F525";
}
```
would be equivalent.

Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/6352 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Saturday, 5 June 2021 11:03:19 UTC