Title: [102190] trunk
Revision
102190
Author
ba...@chromium.org
Date
2011-12-06 16:38:35 -0800 (Tue, 06 Dec 2011)

Log Message

[Chromium] unknown characters symbol on \n in complex script text (RTL and LTR)
https://bugs.webkit.org/show_bug.cgi?id=73806

Reviewed by Tony Chang.

Source/WebCore:

Sets fMergeNeutralItems to 1 instead of merging script items based on their tags.

Tests: platform/chromium/fast/text/international/chromium-complex-text-non-printable-expected.html
       platform/chromium/fast/text/international/chromium-complex-text-non-printable.html

* platform/graphics/chromium/UniscribeHelper.cpp:
(WebCore::UniscribeHelper::fillRuns): Removed a block which merges script items.

LayoutTests:

Adds a test to ensure the missing glyph doesn't appear on LF in complex text.

* fast/text/international/chromium-complex-text-non-printable-expected.html: Added.
* fast/text/international/chromium-complex-text-non-printable.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (102189 => 102190)


--- trunk/LayoutTests/ChangeLog	2011-12-07 00:35:24 UTC (rev 102189)
+++ trunk/LayoutTests/ChangeLog	2011-12-07 00:38:35 UTC (rev 102190)
@@ -1,3 +1,15 @@
+2011-12-06  Kenichi Ishibashi  <ba...@chromium.org>
+
+        [Chromium] unknown characters symbol on \n in complex script text (RTL and LTR)
+        https://bugs.webkit.org/show_bug.cgi?id=73806
+
+        Reviewed by Tony Chang.
+
+        Adds a test to ensure the missing glyph doesn't appear on LF in complex text.
+
+        * fast/text/international/chromium-complex-text-non-printable-expected.html: Added.
+        * fast/text/international/chromium-complex-text-non-printable.html: Added.
+
 2011-12-06  Julien Chaffraix  <jchaffr...@webkit.org>
 
         CSS Grid Layout: Add support for parsing multiple grid-columns or grid-rows

Added: trunk/LayoutTests/fast/text/international/chromium-complex-text-non-printable-expected.html (0 => 102190)


--- trunk/LayoutTests/fast/text/international/chromium-complex-text-non-printable-expected.html	                        (rev 0)
+++ trunk/LayoutTests/fast/text/international/chromium-complex-text-non-printable-expected.html	2011-12-07 00:38:35 UTC (rev 102190)
@@ -0,0 +1,3 @@
+<p>The missing glyph should not be displayed in the following text.</p>
+<p style="direction: rtl">. &#x0641;</p>
+<p>. &#x0915;</p>

Added: trunk/LayoutTests/fast/text/international/chromium-complex-text-non-printable.html (0 => 102190)


--- trunk/LayoutTests/fast/text/international/chromium-complex-text-non-printable.html	                        (rev 0)
+++ trunk/LayoutTests/fast/text/international/chromium-complex-text-non-printable.html	2011-12-07 00:38:35 UTC (rev 102190)
@@ -0,0 +1,3 @@
+<p>The missing glyph should not be displayed in the following text.</p>
+<p style="direction: rtl">.&#x000a;&#x0641;</p>
+<p>.&#x000a;&#x0915;</p>

Modified: trunk/Source/WebCore/ChangeLog (102189 => 102190)


--- trunk/Source/WebCore/ChangeLog	2011-12-07 00:35:24 UTC (rev 102189)
+++ trunk/Source/WebCore/ChangeLog	2011-12-07 00:38:35 UTC (rev 102190)
@@ -1,3 +1,18 @@
+2011-12-06  Kenichi Ishibashi  <ba...@chromium.org>
+
+        [Chromium] unknown characters symbol on \n in complex script text (RTL and LTR)
+        https://bugs.webkit.org/show_bug.cgi?id=73806
+
+        Reviewed by Tony Chang.
+
+        Sets fMergeNeutralItems to 1 instead of merging script items based on their tags.
+
+        Tests: platform/chromium/fast/text/international/chromium-complex-text-non-printable-expected.html
+               platform/chromium/fast/text/international/chromium-complex-text-non-printable.html
+
+        * platform/graphics/chromium/UniscribeHelper.cpp:
+        (WebCore::UniscribeHelper::fillRuns): Removed a block which merges script items.
+
 2011-12-06  Luke Macpherson   <macpher...@chromium.org>
 
         Implement remaining border-image and webkit-maskbox-image properties in CSSStyleApplyProperty.

Modified: trunk/Source/WebCore/platform/graphics/chromium/UniscribeHelper.cpp (102189 => 102190)


--- trunk/Source/WebCore/platform/graphics/chromium/UniscribeHelper.cpp	2011-12-07 00:35:24 UTC (rev 102189)
+++ trunk/Source/WebCore/platform/graphics/chromium/UniscribeHelper.cpp	2011-12-07 00:38:35 UTC (rev 102190)
@@ -540,7 +540,7 @@
                                            0, // fNeutralOverride    :1;
                                            0, // fNumericOverride    :1;
                                            0, // fLegacyBidiClass    :1;
-                                           0, // fMergeNeutralItems  :1;
+                                           1, // fMergeNeutralItems  :1;
                                            0};// fReserved           :7;
     // Calling ScriptApplyDigitSubstitution( 0, &inputControl, &inputState)
     // here would be appropriate if we wanted to set the language ID, and get
@@ -574,23 +574,6 @@
                                             &inputControl, &inputState,
                                             &m_runs[0], &m_scriptTags[0],
                                             &numberOfItems);
-            if (SUCCEEDED(hr)) {
-                // Pack consecutive runs, the script tag of which are
-                // SCRIPT_TAG_UNKNOWN, to reduce the number of runs.
-                for (int i = 0; i < numberOfItems; ++i) {
-                    if (m_scriptTags[i] == SCRIPT_TAG_UNKNOWN) {
-                        int j = 1;
-                        while (i + j < numberOfItems && m_scriptTags[i + j] == SCRIPT_TAG_UNKNOWN)
-                            ++j;
-                        if (--j) {
-                            m_runs.remove(i + 1, j);
-                            m_scriptTags.remove(i + 1, j);
-                            numberOfItems -= j;
-                        }
-                    }
-                }
-                m_scriptTags.resize(numberOfItems);
-            }
         } else {
             hr = ScriptItemize(m_input, m_inputLength,
                                static_cast<int>(m_runs.size()) - 1,
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to