[csswg-drafts] [css-text-4] turning things on and off, and default values of the text-spacing property (#8288)

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

== [css-text-4] turning things on and off, and default values of the text-spacing property ==
Opening a new issue to track a follow up discussion of a previous one.

In https://github.com/w3c/csswg-drafts/issues/6950#issuecomment-1374424189, @MurakamiShinyu wrote:

> The [`text-spacing: normal`](https://drafts.csswg.org/css-text-4/#valdef-text-spacing-normal)  definition is now:
> 
> `normal` -- Specifies the baseline behavior, equivalent to `space-start trim-end trim-adjacent ideograph-alpha ideograph-numeric`.
> 
> I am a little confused about the "baseline behavior.
> 
> Before ideograph-alpha and ideograph-numeric were added to `normal` definition, the meaning was clear to me, that is, the each value included in the definition of `normal` is the default value, so when we specify the text-spacing property partially changed from `normal` we can specify just changed values and omit values that are included in the `normal` definition.
> For example, when just `text-spacing: trim-start` is specified, it implies omitted normal values, trim-end and trim-adjacent. i.e., `text-spacing: trim-start` was equivalent to `text-spacing: trim-start trim-end trim-adjacent`.
> 
> However, after ideograph-alpha and ideograph-numeric were added to `normal` definition, it is no longer that simple. Is `text-spacing: trim-start` equivalent to `text-spacing: trim-start trim-end trim-adjacent ideograph-alpha ideograph-numeric`? That will be useful when we want to change only trim-start/space-start/space-first behavior and keep other `normal` behavior, but if so, how do we change just ideograph-alpha/ideograph-numeric behavior from `normal`?
> 
> Then I decided to interpret it as follows:
> 
> - `text-spacing: trim-start` is still equivalent to `text-spacing: trim-start trim-end trim-adjacent`. The omitted default *-start/first, *-end, and *-adjacent are kept but ideograph-alpha and ideograph-numeric are turned off.
> - ideograph-alpha and ideograph-numeric are turned on only when these values are explicitly specified, or `normal` (or `auto`, probably) is specified.
> 
> (I implemented it in Vivliostyle.js as per this interpretation. https://github.com/vivliostyle/vivliostyle.js/issues/1080)
> 
> ----
> 
> However this spec is not very clear and not very useful.
> 
> It would be better adding a new keyword, `no-interscript-space`, to turn off the interscript spacing.
> 
> The `ideograph-alpha || ideograph-numeric` part of the value definition becomes `[no-interscript-space | ideograph-alpha || ideograph-numeric]` and we can specify only this part to the text-spacing property when keeping other default (normal) behavior.

He then [followed up](https://github.com/w3c/csswg-drafts/issues/6950#issuecomment-1374694478) with:

> Or maybe it would be better to change the `ideograph-alpha || ideograph-numeric` value to `ideograph-alpha <number> || ideograph-numeric <number>` where the `<number>` represents the space width as a multiple of the fullwidth advance measure. The `normal` definition would contain `ideograph-alpha 0.125 ideograph-numeric 0.125`. Examples:
> 
> - `text-spacing: ideograph-alpha 0 ideograph-numeric 0` turns off the ideograph-alpha/ideograph-numeric spacing and keeps other `normal` behavior.
> - `text-spacing: trim-start` only changes the \*-start/first part of `normal` behavior. i.e, is equivalent to `text-spacing: trim-start trim-end trim-adjacent ideograph-alpha 0.125 ideograph-numeric 0.125`.
> 

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


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

Received on Monday, 9 January 2023 07:10:11 UTC