Last Comment Bug 745454 - one-to-many mapping by text-transform:uppercase (e.g. ß) interferes with line-breaking
: one-to-many mapping by text-transform:uppercase (e.g. ß) interferes with line...
Status: RESOLVED FIXED
: intl
Product: Core
Classification: Components
Component: Layout: Text (show other bugs)
: unspecified
: All All
: -- normal (vote)
: mozilla14
Assigned To: Jonathan Kew (:jfkthame)
:
Mentors:
Depends on:
Blocks: 744357
  Show dependency treegraph
 
Reported: 2012-04-14 08:44 PDT by Jonathan Kew (:jfkthame)
Modified: 2012-04-16 08:29 PDT (History)
3 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
testcase showing lack of line-breaking before uppercased ß (858 bytes, text/html)
2012-04-14 08:44 PDT, Jonathan Kew (:jfkthame)
no flags Details
patch, preserve line-breaks when merging characters from transformed run (2.12 KB, patch)
2012-04-14 14:25 PDT, Jonathan Kew (:jfkthame)
smontagu: review+
Details | Diff | Review

Description Jonathan Kew (:jfkthame) 2012-04-14 08:44:42 PDT
Created attachment 615053 [details]
testcase showing lack of line-breaking before uppercased ß

When a character is expanded by text-transform:uppercase (applies to ß, but will apply to more characters when bug 744357 is fixed), a preceding line-break opportunity is lost.
Comment 1 Alice0775 White 2012-04-14 09:07:12 PDT
Regression window
Last good:
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9b2pre) Gecko/2007110805 Firefox/3.0b2pre ID:2007110805
First bad:
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9b2pre) Gecko/2007110905 Firefox/3.0b2pre ID:2007110905

Bonsai log:
http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=HEAD&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2007-11-08+00%3A00%3A00&maxdate=2007-11-09+05%3A00%3A00&cvsroot=%2Fcvsroot
Comment 2 Jonathan Kew (:jfkthame) 2012-04-14 14:25:30 PDT
Created attachment 615081 [details] [diff] [review]
patch, preserve line-breaks when merging characters from transformed run

Looks like the problem is that MergeCharactersInTextRun fails to copy the right CanBreakBefore flag when it sets the merged glyph data in the destination, because by that time the "g" variable is starting out as a copy of the *last* source glyph record, not the first.

This patch resolves that problem, although in testing this I've noticed another line-breaking anomaly as well, which I'll file as a separate bug (it's not limited to the uppercase-ß situation).
Comment 3 Simon Montagu :smontagu 2012-04-15 00:30:00 PDT
Comment on attachment 615081 [details] [diff] [review]
patch, preserve line-breaks when merging characters from transformed run

Review of attachment 615081 [details] [diff] [review]:
-----------------------------------------------------------------

Makes sense
Comment 5 :Ehsan Akhgari (busy, don't ask for review please) 2012-04-16 08:29:14 PDT
https://hg.mozilla.org/mozilla-central/rev/5ac4bfd734aa

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