Closed litherum closed 4 years ago
The CSS Working Group just discussed Text-spacing is too strict
, and agreed to the following:
RESOLVED: Add a new text-spacing:auto value, which is not the initial value.
Maybe we should mention other ways of adding spacing between ideographs and non-ideographic letters and rules of fullwidth punctuation collapsing in {c,j}lreq too.
In the mean time, I agree that the lreq documents are not normative and the exact rule varies from one design house to another, and we should add a UA-dependent (and locale-sensitive) auto
value. Although (unfortunately) that value can't be the default, we can experiment with it and see if we can have any strict definition later.
FWIW, here are some of the relevant sections in jlreq/clreq:
it turns out the specific rules for exactly how much space to expand or shrink can vary from one design house to the next. +1000
You cannot do spacing and especially adjustments to spacing for line compression in a one-size-fits-all manner for Japanese. Each context may have its own requirements that only the content author would know. Allowing at least the UA to be flexible is one thing, but also for the content creator to have control over some of the spacing decisions is needed.
You cannot do spacing and especially adjustments to spacing for line compression in a one-size-fits-all manner for Japanese.
I believe the resolution reached by the Working Group satisfies this. Adding a new value of auto
doesn't limit authors' ability to specify any of the other values.
https://drafts.csswg.org/css-text-4/#text-spacing-property
The spec states:
... and includes definitions of "ideographs" and "non-ideographic letters."
Later, the spec also provides required collapsing rules:
When discussing this with our team of designers at Apple, it turns out that we have our own similar behavior for native text. Our design team at Apple does increase spacing between script changes and decrease spacing between adjacent punctuation on a line, and the details of how we do it are similar but don't exactly match JLREQ or CSS. We used JLREQ as an input to the design, but there were other inputs too. From speaking to our designers, it turns out the specific rules for exactly how much space to expand or shrink can vary from one design house to the next.
Therefore, I'd like to propose the following changes to the spec:
ideographic-alpha
andideographic-numeric
, change "Creates 1/4em extra spacing between" to "Creates extra spacing between."lang="ja"
on content, it should be free to modify the spacing differently than when it seeslang="zh-Hans"
.punctuation
value. Make the mechanism for opting-out of fullwidth punctuation collapsing also opt out of the French narrow no-break space thing.ideographic-alpha
andideographic-numeric
improve typography, and should be in the initial value of the property. (We realize this may not be possible given web compat, but we'd like to at least try.)The goal of these modifications is not to wreck the intention of the property, but just to allow for more flexibility for different publishing houses to match their own internal style guide. For all of these relaxations, we can certainly add in some explanation about what good choices would be for a new implementation.
P.S. "Unless text-spacing is set to space-adjacent or none" is perhaps not what is meant, since this property includes a bunch of other values in addition to those. Perhaps it should be "Unless text-spacing includes space-adjacent or none?"