[css-inline-3] text-align + initial-letter · Issue #5207 · w3c/csswg-drafts (original) (raw)

This is a follow-up to #884 (minutes).

We resolved that raised caps (sink=1) are treated as part of the text of the originating line for the purposes of alignment and justification. Then we tried to figure out what to do with sink > 1, and ended up anchoring the initial letter to the start edge while performing alignment in the remaining space.

I think this creates an unnecessary split in how raised caps and sunken caps interact with the rest of the content of the originating line. Both types of initial letters are affected by hanging-punctuation and text-indent, so having two models for implementing that behavior isn't great. Also a raised initial letter can still impact subsequent lines if it has a descender anyway, so we actually have to handle that problem in both cases regardless.

So I think we might want to consider a different solution: treat sunken initial letters the same as raised initial letters for the purpose of text alignment, and shorten the subsequent line boxes based on its resulting position in both cases. This way the positioning model of both types of initial letters is consistent, and we're handling subsequent impacted lines in both consistently in both cases as well.