Closed Bug 656879 Opened 13 years ago Closed 5 years ago

Words containing uppercase characters are not hyphenated.

Categories

(Core :: Layout: Text and Fonts, defect)

defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: mnater, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: regression)

User-Agent:       Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; de-de) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1
Build Identifier: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:6.0a1) Gecko/20110512 Firefox/6.0a1

When a word contains a uppercase character or is written in uppercase, it is not hyphenated or not hyphenated correctly.

Reproducible: Always

Steps to Reproduce:
examples:

data:text/html,<div style="width:0;-moz-hyphens:auto" lang="en-us">academy
    -> acad-emy
data:text/html,<div style="width:0;-moz-hyphens:auto" lang="en-us">Academy
    -> academy



Expected Results:  
Words should be hyphenated regardless of upper- or lowercase characters.

Make words lowercase before searching patterns ;-)
Version: unspecified → Trunk

Seeing the same issue in stable (Build: 20190813150448) and Nightly (Build: 20190820215247)

Note that as of bug 1550532, automatic hyphenation is deliberately suppressed for capitalized words, except in German. (See also the "note" at https://drafts.csswg.org/css-text-3/#valdef-hyphens-auto.)

If you believe you're seeing incorrect behavior after taking this into account, please provide a specific testcase/example to illustrate the issue.

According to https://bugzilla.mozilla.org/show_bug.cgi?id=1575513 this has been a regression in 68 and is fixed in 69.

Bugbug thinks this bug is a regression, but please revert this change in case of error.

Keywords: regression

This is now by design (see comment 3, and the CSS spec text referenced there), so closing as WONTFIX.

Note that it is possible to enable hyphenation of capitalized words in additional languages (besides German, where it is enabled by default) by creating new boolean prefs of the form intl.hyphenate-capitalized.<lang> in about:config (e.g. to get capitalized-word hyphenation in US English, add intl.hyphenate-capitalized.en-US:true), and then restart the browser.

If there are additional languages where this should be the default, we can consider adding them, but on balance it seems preferable to avoid hyphenating capitalized words in most cases.

Status: UNCONFIRMED → RESOLVED
Closed: 5 years ago
Resolution: --- → WONTFIX

Are there any medium to longer-term thoughts about providing a way out of this for site authors as well? While it's nice that end-users can configure this, too, I'd think that site authors should actually be in a better position to judge whether hyphenation of capitalised words in English is a net benefit for their particular content or not.

So while I can understand the reasoning behind bug 1550532, I would like to note that for my present use case, this change still seems rather like a net negative:
I'm doing transcripts of radio shows with a cue style-like layout, and on mobile in portrait mode the column containing the character's name must by necessity get rather narrow in order to leave enough space for the actual dialogue.

Now a lot of the character's names are rather descriptive in nature and not true proper nouns and are only capitalised because
a) the first word needs to be capitalised anyway (but would occasionally still benefit from hyphenation if it's longer than average), and
b) otherwise because I've opted for writing them in title case (and if I was fully copying the BBC cue style, I'd actually have to go for all caps),
but bug 1550532 now means that I'm therefore opting them out from hyphenation whether I actually want it or not.

So for me being able to instruct the browser to hyphenate anyway (as Firefox used to) and then fixing the few instances of over-eager hyphenation with a Word Joiner would therefore be far preferable than having to go and litter soft hyphens around everywhere, which is rather annoying and precisely the reason I wanted to turn on auto-hyphenation in the first place. Okay, so I might have to do that anyway, because Chrome's hyphenation on Android seems so conservative such as to be mostly useless for my content anyway (it doesn't disable it just because a word has been capitalised, though, by the way)... but still.

This seems like a reasonable request to me, but I'm not aware of any current plans in this direction; the current draft of CSS Text 4 does propose some additional controls for hyphenation, but nothing along these lines. It might be worth filing an issue for the CSS Working Group to consider.

(You could also file a new bug here requesting such a feature, but I don't think we'd seriously consider shipping it without CSS WG discussion and support for the idea, so that's really the best place to start.)

Done that: https://github.com/w3c/csswg-drafts/issues/5157 (Also saw your comments in that direction on the original spec change discussion which added the current note about possibly avoiding automatic hyphenation of capitalised words).

(In reply to Jonathan Kew (:jfkthame) from comment #3)

Note that as of bug 1550532, automatic hyphenation is deliberately suppressed for capitalized words, except in German. (See also the "note" at https://drafts.csswg.org/css-text-3/#valdef-hyphens-auto.)

If you believe you're seeing incorrect behavior after taking this into account, please provide a specific testcase/example to illustrate the issue.

YES THIS IS A BUG. IT SHOULD BE REVERTED IMMEDIATELY:

  • Hyphens should be preferred over overflow or clipping text when a word does not fit on one line in any language!
  • The first word of a sentence is usually capitalised without it being a proper noun. So this bug essentially disables hyphenation of titles.

And if English speakers dislike hyphens so much; then disable hyphenation for ENGLISH ONLY; most other Germanic languages (and probably lots of other languages; but I'm only familiar with the Germanic ones) require hyphenation to work since we have long compound words.

You need to log in before you can comment on or make changes to this bug.