Title: [93384] trunk/Source/WebCore
Revision
93384
Author
[email protected]
Date
2011-08-18 20:34:36 -0700 (Thu, 18 Aug 2011)

Log Message

Mid-word break can occur between a character and a combining mark
https://bugs.webkit.org/show_bug.cgi?id=66529

Reviewed by Simon Fraser.

No test added because I could not find a combining mark with a non-zero advance in
any of the system fonts and tests fonts. 

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::LineBreaker::nextLineBreak): Disallow a mid-word break before a
combining mark.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (93383 => 93384)


--- trunk/Source/WebCore/ChangeLog	2011-08-19 01:58:57 UTC (rev 93383)
+++ trunk/Source/WebCore/ChangeLog	2011-08-19 03:34:36 UTC (rev 93384)
@@ -1,3 +1,17 @@
+2011-08-18  Dan Bernstein  <[email protected]>
+
+        Mid-word break can occur between a character and a combining mark
+        https://bugs.webkit.org/show_bug.cgi?id=66529
+
+        Reviewed by Simon Fraser.
+
+        No test added because I could not find a combining mark with a non-zero advance in
+        any of the system fonts and tests fonts. 
+
+        * rendering/RenderBlockLineLayout.cpp:
+        (WebCore::RenderBlock::LineBreaker::nextLineBreak): Disallow a mid-word break before a
+        combining mark.
+
 2011-08-18  Kent Tamura  <[email protected]>
 
         REGRESSION(r90971): Null pointer dereference with placeholder and webkit-scrollbar-corner

Modified: trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp (93383 => 93384)


--- trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp	2011-08-19 01:58:57 UTC (rev 93383)
+++ trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp	2011-08-19 03:34:36 UTC (rev 93384)
@@ -2299,7 +2299,7 @@
                         breakWords = false;
                     }
 
-                    if (midWordBreak && !U16_IS_TRAIL(c)) {
+                    if (midWordBreak && !U16_IS_TRAIL(c) && !(U_GET_GC_MASK(c) & U_GC_M_MASK)) {
                         // Remember this as a breakable position in case
                         // adding the end width forces a break.
                         lBreak.moveTo(current.m_obj, current.m_pos, current.m_nextBreakablePosition);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to