- 
                Notifications
    
You must be signed in to change notification settings  - Fork 756
 
Description
Opening a new issue to track a follow up discussion of a previous one.
In #6950 (comment), @MurakamiShinyu wrote:
The
text-spacing: normaldefinition is now:
normal-- Specifies the baseline behavior, equivalent tospace-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
normaldefinition, the meaning was clear to me, that is, the each value included in the definition ofnormalis the default value, so when we specify the text-spacing property partially changed fromnormalwe can specify just changed values and omit values that are included in thenormaldefinition.
For example, when justtext-spacing: trim-startis specified, it implies omitted normal values, trim-end and trim-adjacent. i.e.,text-spacing: trim-startwas equivalent totext-spacing: trim-start trim-end trim-adjacent.However, after ideograph-alpha and ideograph-numeric were added to
normaldefinition, it is no longer that simple. Istext-spacing: trim-startequivalent totext-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 othernormalbehavior, but if so, how do we change just ideograph-alpha/ideograph-numeric behavior fromnormal?Then I decided to interpret it as follows:
text-spacing: trim-startis still equivalent totext-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(orauto, probably) is specified.(I implemented it in Vivliostyle.js as per this interpretation. vivliostyle/vivliostyle.js#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-numericpart 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 with:
Or maybe it would be better to change the
ideograph-alpha || ideograph-numericvalue toideograph-alpha <number> || ideograph-numeric <number>where the<number>represents the space width as a multiple of the fullwidth advance measure. Thenormaldefinition would containideograph-alpha 0.125 ideograph-numeric 0.125. Examples:
text-spacing: ideograph-alpha 0 ideograph-numeric 0turns off the ideograph-alpha/ideograph-numeric spacing and keeps othernormalbehavior.text-spacing: trim-startonly changes the *-start/first part ofnormalbehavior. i.e, is equivalent totext-spacing: trim-start trim-end trim-adjacent ideograph-alpha 0.125 ideograph-numeric 0.125.