I think the one Yosi pointed out has some compat risks, but majority of usages won't be affected, and that we can change Blink if the WG resolves to change the spec.
Let me also note that Blink shipping the initial-letter property solves a big interoperability issue authors have today. Adjusting the drop caps position without the property requires hard coding the font metrics into their CSS, and the font metrics vary between Blink/WebKit and Gecko. So today, authors must detect the browsers and apply different baseline shift values for Blink and Gecko. When Blink ships this property, authors can use the property for Blink and WebKit (with prefix), and apply the font metrics only for one browser, eliminating the need to detect the browsers. On Mon, Nov 28, 2022 at 10:50 AM Yoshifumi Inoue <yo...@chromium.org> wrote: > Thanks for reply! > We think these open issues are related feature we don't support yet and > edge case except below. > > 4988 <https://github.com/w3c/csswg-drafts/issues/4988> initial-letters > changing used, not computed font-size > > At this time, the spec uses used font but this issue wants to use computed > font. > If the resolution is changed to use computed font, meaning of font > relative unit "em", "ex", "n" are changed. > This can be avoided by using non-font-relative unit. > > Do you have open issues will cause compatibility risk? > -yosi > > 2022年11月25日金曜日 18:38:06 UTC+9 Yoav Weiss: > >> That's a lot of open issues :) Can you tell which of them have >> compatibility risk once resolved? >> >> On Thu, Nov 24, 2022 at 1:11 PM Yoshifumi Inoue <yo...@chromium.org> >> wrote: >> >>> This is summary of CSS WG Open Issues >>> <https://github.com/w3c/csswg-drafts/issues?q=label%3Acss-inline-3+initial-letter+is%3Aopen+> >>> discussed with kojii and yosin. >>> >>> >>> 1. 5527 <https://github.com/w3c/csswg-drafts/issues/5527> Hindi >>> example for initial letter applicability >>> - non-Latin, not supported in the initial release >>> 2. 5476 <https://github.com/w3c/csswg-drafts/issues/5476> kerning >>> of initial letter when initial letter has negative side bearing >>> <https://github.com/w3c/csswg-drafts/issues/5476> >>> - New feature, can add without breaking change >>> 3. 5425 <https://github.com/w3c/csswg-drafts/issues/5425> Define >>> interaction of initial-letter and ::first-line >>> - : Add a test of ::first-line + ::first-letter (example >>> >>> <https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cstyle%3E%0A%3A%3Afirst-line%20%7B%20font-size%3A%20200%25%3B%20%7D%0A%3A%3Afirst-letter%20%7B%20font-size%3A%20300%25%3B%20%7D%0A%3C%2Fstyle%3E%0A%3Cdiv%3EXXXXX%3Cbr%3EXXXX>) >>> CL/4054845 <http://crrev.com/c/4054845> >>> 4. 5398 <https://github.com/w3c/csswg-drafts/issues/5398> Add new >>> value "auto" for initial-letter-align >>> - initial-letter-align not supported in the initial release >>> 5. 5366 <https://github.com/w3c/csswg-drafts/issues/5366> initial-letter >>> sizing for non-western scripts >>> - non-Latin, not supported in the initial release >>> 6. 5244 <https://github.com/w3c/csswg-drafts/issues/5244> top >>> metrics for non-Western non-CJK writing systems with obvious top edge >>> - : non-Latin, not supported in the initial release >>> 7. 5220 <https://github.com/w3c/csswg-drafts/issues/5220> Alternative >>> initial-letter-align based on glyph bounds >>> - New feature, can add without breaking change >>> 8. 4988 <https://github.com/w3c/csswg-drafts/issues/4988> initial-letters >>> changing used, not computed font-size >>> - Current matches spec and WebKit. If the proposal is accepted, I >>> think we can change even after ship. >>> 9. 3968 <https://github.com/w3c/csswg-drafts/issues/3968> initial-letter >>> should allow zero sink? >>> - New feature, can add without breaking change >>> 10. 3240 <https://github.com/w3c/csswg-drafts/issues/3420> Leading >>> control at start/end of block >>> - New feature, can add without breaking change >>> 11. 3217 <https://github.com/w3c/csswg-drafts/issues/3217> >>> initial-letters >>> applicability to inlines after a forced break >>> - test >>> >>> <https://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Cstyle%3E%0A%3A%3Afirst-letter%20%7B%20font-size%3A%20200%25%3B%20%7D%0A%3C%2Fstyle%3E%0A%3Cdiv%3E%3Cbr%3EXXXXX%3C%2Fdiv%3E%0A%3Cdiv%20style%3D%22white-space%3A%20pre%22%3E%0AXXXXX%3C%2Fdiv%3E>, >>> when impl is limited to `::first-letter`, this is an edge case that >>> we can >>> match when resolved even after ship >>> 12. 2886 <https://github.com/w3c/csswg-drafts/issues/2886> Line >>> breaks inside drop-caps? >>> - Without ::first-letter case, not supported in the initial >>> release >>> 13. 965 <https://github.com/w3c/csswg-drafts/issues/965> support >>> adjacent initial-letter as well >>> - New feature, can add without breaking change >>> 14. 887 <https://github.com/w3c/csswg-drafts/issues/887> should >>> define how the initial-letter relates to line boxes >>> - We can match when resolved even after ship >>> 15. 864 <https://github.com/w3c/csswg-drafts/issues/864> alignment >>> of initial-letter for South Asian scripts without hanging baseline >>> - non-Latin, not supported in the initial release >>> 16. 410 <https://github.com/w3c/csswg-drafts/issues/410> should >>> initial-letter-wrap have an auto value? >>> - `initial-letter-wrap` not supported in the initial release >>> 17. 310 <https://github.com/w3c/csswg-drafts/issues/310> Initial >>> Letter selection and hanging punctuation >>> - : N/A because we don't support hanging punctuation yet >>> >>> -yosi >>> >>> 2022年11月24日木曜日 11:22:22 UTC+9 Yoshifumi Inoue: >>> >>>> Thanks for reviewing! >>>> >>>> I forgot to update web-platform-test section in the tool. We have test >>>> cases in wpt. >>>> https://wpt.live/css/css-inline/initial-letter/ >>>> >>>> *>Any idea what the position in the CSS WG is about the maturity of the >>>> spec for this feature? I see a bunch of open spec issues >>>> <https://github.com/w3c/csswg-drafts/issues?q=is%3Aopen+label%3Acss-inline-3+initial-letter> >>>> mentioning >>>> initial letter. To what extent are you confident that none of them >>>> represent a potential breaking change depending on their resolution?* >>>> >>>> In this release, we focus on basic functionality, apply only to >>>> ::first-letter, as WebKit does. >>>> >>>> I think current spec is stable for Western language in ::first-letter. >>>> So, I don't think we'll have breaking change for them. >>>> For non-Western language, we need to do some handling of them once CSS >>>> WG has resolutions. >>>> >>>> We also hope web developers will have some idea from experience, these >>>> help CSS WG's resolutions somehow. >>>> >>>> - yosi >>>> >>>> 2022年11月24日木曜日 1:27:09 UTC+9 Rick Byers: >>>> >>>>> On Tue, Nov 22, 2022 at 3:41 AM Yoshifumi Inoue <yo...@chromium.org> >>>>> wrote: >>>>> >>>>>> Contact emailsyo...@chromium.org, ko...@chromium.org >>>>>> >>>>>> ExplainerNone >>>>>> >>>>>> Specification >>>>>> https://drafts.csswg.org/css-inline/#initial-letter-styling >>>>>> >>>>>> Design docs >>>>>> https://bit.ly/3KzJ27G >>>>>> >>>>>> Summary >>>>>> >>>>>> Initial letters are large, decorative letters have been used to start >>>>>> new sections of text since before the invention of printing. In fact, >>>>>> their >>>>>> use predates lowercase letters entirely. Blink will support CSS property >>>>>> "initial-letter". >>>>>> >>>>>> >>>>>> Blink componentBlink>Layout>Inline >>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ELayout%3EInline> >>>>>> >>>>>> TAG reviewWebKit shipped `-webkit-initial-letter`. >>>>>> >>>>>> TAG review statusNot applicable >>>>>> >>>>>> Risks >>>>>> >>>>>> >>>>>> Interoperability and Compatibility >>>>>> >>>>>> Chrome supports full syntax of `initial-letter`: 1 `initial-letter:` >>>>>> number 2 `initial-letter:` number integer 3.`initial-letter:` number >>>>>> `drop` >>>>>> 4.`initial-letter:` number `raise` However Safari supports: 1. >>>>>> `-webkit-initial-letter:` integer 2. `-webkit-initial-letter:` integer >>>>>> integer So, web authors needs to use Safari compatible syntax. >>>>>> >>>>>> >>>>>> *Gecko*: In development ( >>>>>> https://github.com/mozilla/standards-positions/issues/711) No active >>>>>> development since 2017. >>>>>> >>>>>> *WebKit*: Shipped/Shipping ( >>>>>> https://github.com/WebKit/standards-positions/issues/94) Needs to >>>>>> use prefix version `-webkit-initial-letter`. Supports only an integer >>>>>> size. >>>>>> No `drop` and `raise` keyword support. >>>>>> >>>>>> *Web developers*: No signals It’s implemented only in Safari, but >>>>>> the usage is high. * 40.2% usage ratio according to CSS2021 Usage >>>>>> Overview[1]. * 23.9% have used it according to CSS2021 Typography >>>>>> features[2]. [1] >>>>>> https://2021.stateofcss.com/en-US/features/#features_overview [2] >>>>>> https://2021.stateofcss.com/en-US/features/typography/#initial_letter >>>>>> >>>>>> *Other signals*: >>>>>> >>>>>> WebView application risks >>>>>> >>>>>> Does this intent deprecate or change behavior of existing APIs, such >>>>>> that it has potentially high risk for Android WebView-based applications? >>>>>> >>>>>> None. >>>>>> >>>>>> >>>>>> Debuggability >>>>>> >>>>>> >>>>>> >>>>>> Will this feature be supported on all six Blink platforms (Windows, >>>>>> Mac, Linux, Chrome OS, Android, and Android WebView)?No >>>>>> >>>>>> Is this feature fully tested by web-platform-tests >>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> >>>>>> ?No >>>>>> >>>>> >>>>> Why not? Is there any reason tests couldn't reasonably be added prior >>>>> to shipping? >>>>> >>>>> DevTrial instructionshttps://output.jsbin.com/basukanebo/1 >>>>>> >>>>>> Flag name >>>>>> >>>>>> Requires code in //chrome?False >>>>>> >>>>>> Tracking bug >>>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1276900 >>>>>> >>>>>> Non-OSS dependencies >>>>>> >>>>>> Does the feature depend on any code or APIs outside the Chromium open >>>>>> source repository and its open-source dependencies to function? >>>>>> No. >>>>>> >>>>>> Sample links >>>>>> https://output.jsbin.com/basukanebo/1 >>>>>> >>>>>> Estimated milestones >>>>>> >>>>>> M110 >>>>>> >>>>>> >>>>>> Anticipated spec changes >>>>>> >>>>>> Open questions about a feature may be a source of future web compat >>>>>> or interop issues. Please list open issues (e.g. links to known github >>>>>> issues in the project for the feature specification) whose resolution may >>>>>> introduce web compat/interop risk (e.g., changing to naming or structure >>>>>> of >>>>>> the API in a non-backward-compatible way). >>>>>> None. >>>>>> >>>>> >>>>> Any idea what the position in the CSS WG is about the maturity of the >>>>> spec for this feature? I see a bunch of open spec issues >>>>> <https://github.com/w3c/csswg-drafts/issues?q=is%3Aopen+label%3Acss-inline-3+initial-letter> >>>>> mentioning >>>>> initial letter. To what extent are you confident that none of them >>>>> represent a potential breaking change depending on their resolution? >>>>> >>>>> >>>>>> >>>>>> Link to entry on the Chrome Platform Status >>>>>> https://chromestatus.com/feature/5167442033115136 >>>>>> >>>>>> Links to previous Intent discussionsIntent to prototype: >>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABJ-EHNMC29gEMkgopMJFW6LfWCCuxXmC0F%2BRPpOuM%3Dznbo5LQ%40mail.gmail.com >>>>>> Intent to Experiment: >>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABJ-EHPFVLa-frSXmjhbK97L%3D8eh7ZeS6Uap3BiSNfksDicdHA%40mail.gmail.com >>>>>> >>>>>> >>>>>> This intent message was generated by Chrome Platform Status >>>>>> <https://chromestatus.com/>. >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "blink-dev" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to blink-dev+unsubscr...@chromium.org. >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/dcc32334-ed12-4c85-b80e-0eb97027496cn%40chromium.org >>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/dcc32334-ed12-4c85-b80e-0eb97027496cn%40chromium.org?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "blink-dev" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to blink-dev+unsubscr...@chromium.org. >>> >> To view this discussion on the web visit >>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ca90a9b3-e58d-48c8-a46f-62a2c39ed429n%40chromium.org >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ca90a9b3-e58d-48c8-a46f-62a2c39ed429n%40chromium.org?utm_medium=email&utm_source=footer> >>> . >>> >> -- > You received this message because you are subscribed to the Google Groups > "blink-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to blink-dev+unsubscr...@chromium.org. > To view this discussion on the web visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/01366215-cf05-4acf-beff-fefbc5f08757n%40chromium.org > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/01366215-cf05-4acf-beff-fefbc5f08757n%40chromium.org?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAHe_1dJ8pGVGiCFTJ%3DwVtEA5Ap_-p5STREnXFmcOwrScV_WTnA%40mail.gmail.com.