Bug 43917

Summary: CSS3 'word-break: keep-all' is not supported
Product: WebKit Reporter: Nobody <me>
Component: CSSAssignee: Nobody <webkit-unassigned>
Status: RESOLVED CONFIGURATION CHANGED    
Severity: Normal CC: ap, bfulgham, igor.oliveira, joone, ktf.kim, me, mitz, m_kato, shezbaig.wk, syoichi
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
Test Page
none
word-break test case none

Description Nobody 2010-08-12 08:04:01 PDT
The 'word-break' property supports 5 values, as declared in CSS3 Working Draft 6.
http://www.w3.org/TR/css3-text/#word-break
The 'word-break' property is crucial in order for wrapping Asian text properly.

However, the latest Webkit engine fails to recognize some of 'word-break' property's values, for instance the 'keep-all' value.
It is apparent as it can be viewed on the inspector, that Webkit fixes unsupported values into 'normal'.
Comment 1 Alexey Proskuryakov 2010-08-13 00:53:54 PDT
Do you have an example of a site that breaks, and/or a simple test case?
Comment 2 Nobody 2010-08-13 18:12:32 PDT
Created attachment 64393 [details]
Test Page

A test page on word-break: keep-all;
XHTML validated and ready to go.
The first paragraph contains Korean letters(Hangul), one of the Asian text that word-break was targeted for.
If a Korean font is installed, it'll be noticed that currently Korean text breaks anywhere between letters.

There's also a identical copy of this file on http://juneoh.net/word-break.html for viewing.
Comment 3 Alexey Proskuryakov 2010-08-16 06:32:53 PDT
Confirmed with r65392 on Mac OS X.
Comment 4 Joone Hur 2011-01-16 01:52:50 PST
(In reply to comment #0)
> The 'word-break' property supports 5 values, as declared in CSS3 Working Draft 6.
> http://www.w3.org/TR/css3-text/#word-break
> The 'word-break' property is crucial in order for wrapping Asian text properly.
> 
> However, the latest Webkit engine fails to recognize some of 'word-break' property's values, for instance the 'keep-all' value.
> It is apparent as it can be viewed on the inspector, that Webkit fixes unsupported values into 'normal'.

Do you mean 'line-break' not 'word-break'? According to the CSS3 spec., the 'work-break' property has just 3 values such as 'normal', 'break-all', and 'hyphenate'.
Comment 5 Nobody 2011-01-17 23:19:58 PST
Dear Joone Hur, this issue was filed when the previous Working Draft of CSS3(http://www.w3.org/TR/2007/WD-css3-text-20070306/) was active. I see now that the latest version of the draft has removed the value keep-all from the word-break property and passed it on to line-break. I do not know if the problem recurs with the same value on line-break property, so I would appreciate if someone could reconfirm the issue in regard to this change.
Comment 6 Alex Shinn 2011-09-01 23:19:17 PDT
Created attachment 106097 [details]
word-break test case

In the current working draft 'keep-all' is a property of 'word-break'.  This is also relevant to non-Asian text.  Attached is a simpler test case, where webkit splits between the minus sign and the number with both the normal and keep settings, whereas Firefox never introduces a break there.

This relates to bug 20677.
Comment 7 KyungTae Kim 2014-01-15 00:10:18 PST
I added a patch for this on bug 123782
Comment 8 Brent Fulgham 2022-07-11 17:22:26 PDT
Safari, Chrome, and Firefox show the same rendering behavior for this test case. I do not believe any further compatibility issue remains.