W3C home > Mailing lists > Public > public-css-archive@w3.org > June 2020

Re: [csswg-drafts] [css-text-4] Specify that hyphens triggered by soft hyphens follow the hyphenate-limit-* rules (#5090)

From: jfkthame via GitHub <sysbot+gh@w3.org>
Date: Fri, 05 Jun 2020 10:50:42 +0000
To: public-css-archive@w3.org
Message-ID: <issue_comment.created-639407007-1591354241-sysbot+gh@w3.org>
> > The same could be useful for the following rules:
> > hyphenate-limit-lines
> > hyphenate-limit-last
> > (but not for hyphenate-limit-zone or hyphenate-limit-chars).
> 
> My interpretation of the spec is that it would be true for all 4 of these properties, not just the first two.
> 
> Were you treating the first two differently form the last two because something in the spec made you think that was the case, or based on how you want to use them? More details would be very helpful.

As currently written, the draft spec doesn't explicitly say whether it's referring to manual or automatic hyphens (except for the note on `hyphenate-character` calling out that it applies to both); perhaps it intends all these properties to apply to both kinds of hyphenation, but I think there's a reasonable case for saying that -- at least in the case of `limit-chars` -- the intent is to control the UA's *automatic* hyphenation behavior, but if an author inserts explicit *manual* soft hyphens, we should assume they're deliberately diverging from the automatic behavior and so these limits are not relevant.

So I might say `hyphenate-limit-chars: 6 3 3` to prevent auto-hyphenation breaking short words. But if I then include `ex&shy;pect` in my text, I expect the explicit soft hyphen to override what auto-hyphenation would do, and provide a possible break "ex-/pect" as an exception to the rules that are otherwise in effect.

`hyphenate-limit-lines`, `hyphenate-limit-last` and `hyphenate-limit-zone` are about where the break falls as part of the overall layout, not about where the break occurs within the character stream, and so it probably makes sense for them to apply to both auto and manual hyphenation points. But `hyphenate-limit-chars` is about where breaks are allowed within the character stream. I see `hyphenate-limit-chars` as being essentially a parameter to tune the auto-hyphenation behavior, but `&shy;` is an explicit manual control that is expected to take precedence over automatic behavior, so should not be subject to its parameters.

-- 
GitHub Notification of comment by jfkthame
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/5090#issuecomment-639407007 using your GitHub account
Received on Friday, 5 June 2020 10:50:43 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 19 October 2021 01:31:27 UTC