Title: [264722] trunk
Revision
264722
Author
[email protected]
Date
2020-07-22 13:04:21 -0700 (Wed, 22 Jul 2020)

Log Message

[Win][Uniscribe] Material icons containing underscore or numbers aren't shown because ScriptItemize splits them apart
https://bugs.webkit.org/show_bug.cgi?id=201214

Reviewed by Don Olmstead.

Source/WebCore:

ScriptItemize split "3d_rotation" into "3", "d", "_" and
"rotation". It has a option fMergeNeutralItems to control it.

Test: fonts/ligature.html

* platform/graphics/win/ComplexTextControllerUniscribe.cpp:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
Set fMergeNeutralItems of SCRIPT_CONTROL true.

LayoutTests:

* fonts/ligature-expected.html: Added.
* fonts/ligature.html: Added.
* fonts/ligature.woff: Added. Created a font for testing ligature
containing only 0-9, underscore, 'a' and U+E000 glyphs. U+E000 has
a ligature string "0_a".

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (264721 => 264722)


--- trunk/LayoutTests/ChangeLog	2020-07-22 19:58:53 UTC (rev 264721)
+++ trunk/LayoutTests/ChangeLog	2020-07-22 20:04:21 UTC (rev 264722)
@@ -1,3 +1,16 @@
+2020-07-22  Fujii Hironori  <[email protected]>
+
+        [Win][Uniscribe] Material icons containing underscore or numbers aren't shown because ScriptItemize splits them apart
+        https://bugs.webkit.org/show_bug.cgi?id=201214
+
+        Reviewed by Don Olmstead.
+
+        * fonts/ligature-expected.html: Added.
+        * fonts/ligature.html: Added.
+        * fonts/ligature.woff: Added. Created a font for testing ligature
+        containing only 0-9, underscore, 'a' and U+E000 glyphs. U+E000 has
+        a ligature string "0_a".
+
 2020-07-22  Simon Fraser  <[email protected]>
 
         compositing/repaint/iframes/compositing-iframe-scroll-repaint.html fails on Mojave

Added: trunk/LayoutTests/fonts/ligature-expected.html (0 => 264722)


--- trunk/LayoutTests/fonts/ligature-expected.html	                        (rev 0)
+++ trunk/LayoutTests/fonts/ligature-expected.html	2020-07-22 20:04:21 UTC (rev 264722)
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8"/>
+<style>
+    @font-face {
+        font-family: TestFont;
+        src: url("ligature.woff");
+    }
+    span {
+        border: blue solid;
+        font-family: TestFont;
+        text-rendering: optimizeLegibility;
+        font-size: 100px;
+        color: green;
+    }
+</style>
+<body>
+    The blue box should contain ▲■■▲.<br>
+    <span>0&#xe000;&#xe000;a</span>
+</body>
Property changes on: trunk/LayoutTests/fonts/ligature-expected.html
___________________________________________________________________

Added: svn:executable

+* \ No newline at end of property

Added: trunk/LayoutTests/fonts/ligature.html (0 => 264722)


--- trunk/LayoutTests/fonts/ligature.html	                        (rev 0)
+++ trunk/LayoutTests/fonts/ligature.html	2020-07-22 20:04:21 UTC (rev 264722)
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<meta charset="utf-8"/>
+<style>
+    @font-face {
+        font-family: TestFont;
+        src: url("ligature.woff");
+    }
+    span {
+        border: blue solid;
+        font-family: TestFont;
+        text-rendering: optimizeLegibility;
+        font-size: 100px;
+        color: green;
+    }
+</style>
+<body>
+    The blue box should contain ▲■■▲.<br>
+    <span>00_a0_aa</span>
+</body>
Property changes on: trunk/LayoutTests/fonts/ligature.html
___________________________________________________________________

Added: svn:executable

+* \ No newline at end of property

Added: trunk/LayoutTests/fonts/ligature.woff


(Binary files differ)
Index: trunk/LayoutTests/fonts/ligature.woff =================================================================== --- trunk/LayoutTests/fonts/ligature.woff 2020-07-22 19:58:53 UTC (rev 264721) +++ trunk/LayoutTests/fonts/ligature.woff 2020-07-22 20:04:21 UTC (rev 264722) Property changes on: trunk/LayoutTests/fonts/ligature.woff ___________________________________________________________________

Added: svn:executable

+* \ No newline at end of property

Added: svn:mime-type

+application/octet-stream \ No newline at end of property

Modified: trunk/Source/WebCore/ChangeLog (264721 => 264722)


--- trunk/Source/WebCore/ChangeLog	2020-07-22 19:58:53 UTC (rev 264721)
+++ trunk/Source/WebCore/ChangeLog	2020-07-22 20:04:21 UTC (rev 264722)
@@ -1,3 +1,19 @@
+2020-07-22  Fujii Hironori  <[email protected]>
+
+        [Win][Uniscribe] Material icons containing underscore or numbers aren't shown because ScriptItemize splits them apart
+        https://bugs.webkit.org/show_bug.cgi?id=201214
+
+        Reviewed by Don Olmstead.
+
+        ScriptItemize split "3d_rotation" into "3", "d", "_" and
+        "rotation". It has a option fMergeNeutralItems to control it.
+
+        Test: fonts/ligature.html
+
+        * platform/graphics/win/ComplexTextControllerUniscribe.cpp:
+        (WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
+        Set fMergeNeutralItems of SCRIPT_CONTROL true.
+
 2020-07-22  Jer Noble  <[email protected]>
 
         Further unreviewed build fix after r264710; need more HAVE_AVPLAYER_VIDEORANGEOVERRIDE guards.

Modified: trunk/Source/WebCore/platform/graphics/win/ComplexTextControllerUniscribe.cpp (264721 => 264722)


--- trunk/Source/WebCore/platform/graphics/win/ComplexTextControllerUniscribe.cpp	2020-07-22 19:58:53 UTC (rev 264721)
+++ trunk/Source/WebCore/platform/graphics/win/ComplexTextControllerUniscribe.cpp	2020-07-22 20:04:21 UTC (rev 264722)
@@ -185,6 +185,7 @@
     for (;;) {
         SCRIPT_CONTROL control { };
         SCRIPT_STATE state { };
+        control.fMergeNeutralItems = true;
         // Set up the correct direction for the run.
         state.uBidiLevel = m_run.rtl();
         // Lock the correct directional override.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to