Skip to content

[css-inline-3][css-text-3] Clarification on vertical-align shorthand and text boundary shaping #13277

@kbhomes

Description

@kbhomes

Hey, I'm working on Firefox's implementation of the vertical-align shorthand (https://bugzil.la/1830771) and associated alignment-baseline and baseline-shift properties. I had a question on the expected behavior of the shorthand.

The /css/css-text/boundary-shaping/boundary-shaping-002.html WPT is testing this line from css-text-3's "7.3. Shaping Across Element Boundaries":

Text shaping must be broken at inline box boundaries when [...] vertical-align is not baseline.

I think this WPT itself was probably already wrong, because it tests the shaping break using vertical-align: 0, which CSS2 explicitly says is the same as baseline. I can fix this test during my implementation.

My primary question is about how baseline-source fits into this. If the css-text-3 condition of vertical-align is not baseline is accurate, then that means any non-initial value for baseline-source, alignment-baseline, and baseline-shift would break shaping. The last two are clear — a different baseline or a non-zero shift should break shaping. But should a non-auto value of baseline-source do that too? I would think that if changing it to first or last would have an actual effect on text shaping, then that means it would have been broken anyway.

If baseline-source shouldn't impact shaping, then does the css-text-3 specification need to change this vertical-align condition to specifically 'alignment-baseline' is not 'baseline' and 'baseline-shift' is not '0'?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions