Bug 246676

Summary: Add support for the values raise | drop on initial-letter property
Product: WebKit Reporter: Karl Dubost <karlcow>
Component: CSSAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Enhancement CC: mmaxfield, sebastianzartner, simon.fraser, webkit-bug-importer, yosin, zalan
Priority: P2 Keywords: BrowserCompat, InRadar
Version: Safari Technology Preview   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=164150
https://bugs.webkit.org/show_bug.cgi?id=229090

Description Karl Dubost 2022-10-17 22:14:28 PDT
See for tests https://wpt.fyi/results/css/css-initial-letter?label=master&label=experimental&aligned&view=subtest&q=initial-letter

Spec
https://www.w3.org/TR/css-inline/#sizing-drop-initials

Applies to:
certain inline-level boxes and ::first-letter and inside ::marker boxes (see prose)

raise
Computes to an initial letter sink of 1.
drop
Computes to an initial letter sink equal to the initial letter size floored to the nearest positive whole number.
If the initial letter sink value is omitted, drop is assumed.


Blink
https://groups.google.com/a/chromium.org/g/blink-reviews-style/c/jHLdqhphZ3M
https://chromium-review.googlesource.com/c/chromium/src/+/3874383 (the current patch doesn't include raise and drop)

Gecko doesn't implement yet raise and drop
https://bugzilla.mozilla.org/show_bug.cgi?id=1223880

CSSWG discussion
https://github.com/w3c/csswg-drafts/issues/2955
Comment 1 Radar WebKit Bug Importer 2022-10-24 22:15:17 PDT
<rdar://problem/101529501>
Comment 2 yosin 2022-11-22 00:50:29 PST
Blink attempts to ship CSS `initial-letter` applies only `::first-letter`.

The patch[1] implements:
  * `initial-letter: number integer`
  * `initial-letter: number drop`
  * `initial-letter: number raise`
  * `initial-letter: drop number`
  * `initial-letter: raise number`
  * `initial-letter: number`

[1] https://chromium-review.googlesource.com/c/chromium/src/+/3981353