[WinCairo] Unreviewed test gardening

* platform/wincairo/TestExpectations:
* platform/wincairo/fast/css/text-overflow-ellipsis-bidi-expected.txt:
* platform/wincairo/fast/css/word-space-extra-expected.txt:
* platform/wincairo/fast/dom/52776-expected.txt:
* platform/wincairo/fast/text/atsui-negative-spacing-features-expected.txt:
* platform/wincairo/fast/text/atsui-spacing-features-expected.txt:
* platform/wincairo/fast/text/basic/015-expected.txt:
* platform/wincairo/fast/text/international/003-expected.txt:
* platform/wincairo/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt:
* platform/wincairo/fast/text/international/bidi-linebreak-001-expected.txt:
* platform/wincairo/fast/text/international/bidi-linebreak-002-expected.txt:
* platform/wincairo/fast/text/international/bidi-linebreak-003-expected.txt:
* platform/wincairo/fast/text/international/bidi-neutral-run-expected.txt:
* platform/wincairo/fast/text/international/hebrew-vowels-expected.txt:
* platform/wincairo/fast/text/international/hindi-whitespace-expected.txt:
* platform/wincairo/fast/text/international/thai-baht-space-expected.txt:
* platform/wincairo/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:
* platform/wincairo/fast/text/midword-break-before-surrogate-pair-2-expected.txt:
* platform/wincairo/fast/text/stroking-decorations-expected.txt:
* platform/wincairo/fast/text/stroking-expected.txt:
* platform/wincairo/fast/text/wbr-expected.txt:
* platform/wincairo/fast/text/wide-zero-width-space-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@288601 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 5df3f8b..efe65d11 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,30 @@
+2022-01-25  Fujii Hironori  <Hironori.Fujii@sony.com>
+
+        [WinCairo] Unreviewed test gardening
+
+        * platform/wincairo/TestExpectations:
+        * platform/wincairo/fast/css/text-overflow-ellipsis-bidi-expected.txt:
+        * platform/wincairo/fast/css/word-space-extra-expected.txt:
+        * platform/wincairo/fast/dom/52776-expected.txt:
+        * platform/wincairo/fast/text/atsui-negative-spacing-features-expected.txt:
+        * platform/wincairo/fast/text/atsui-spacing-features-expected.txt:
+        * platform/wincairo/fast/text/basic/015-expected.txt:
+        * platform/wincairo/fast/text/international/003-expected.txt:
+        * platform/wincairo/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt:
+        * platform/wincairo/fast/text/international/bidi-linebreak-001-expected.txt:
+        * platform/wincairo/fast/text/international/bidi-linebreak-002-expected.txt:
+        * platform/wincairo/fast/text/international/bidi-linebreak-003-expected.txt:
+        * platform/wincairo/fast/text/international/bidi-neutral-run-expected.txt:
+        * platform/wincairo/fast/text/international/hebrew-vowels-expected.txt:
+        * platform/wincairo/fast/text/international/hindi-whitespace-expected.txt:
+        * platform/wincairo/fast/text/international/thai-baht-space-expected.txt:
+        * platform/wincairo/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:
+        * platform/wincairo/fast/text/midword-break-before-surrogate-pair-2-expected.txt:
+        * platform/wincairo/fast/text/stroking-decorations-expected.txt:
+        * platform/wincairo/fast/text/stroking-expected.txt:
+        * platform/wincairo/fast/text/wbr-expected.txt:
+        * platform/wincairo/fast/text/wide-zero-width-space-expected.txt:
+
 2022-01-25  Robert Jenner  <jenner@apple.com>
 
         WindowServer returned not alive with context:,unresponsive work processor(s)
diff --git a/LayoutTests/platform/wincairo/TestExpectations b/LayoutTests/platform/wincairo/TestExpectations
index e0534de..b124e48 100644
--- a/LayoutTests/platform/wincairo/TestExpectations
+++ b/LayoutTests/platform/wincairo/TestExpectations
@@ -2122,13 +2122,6 @@
 
 fast/text/preserved-white-space-with-word-spacing.html [ ImageOnlyFailure ]
 
-dom/xhtml/level3/core/canonicalform06.xhtml [ Failure ]
-dom/xhtml/level3/core/infoset06.xhtml [ Failure ]
-dom/xhtml/level3/core/infoset07.xhtml [ Failure ]
-dom/xhtml/level3/core/wellformed01.xhtml [ Failure ]
-dom/xhtml/level3/core/wellformed02.xhtml [ Failure ]
-dom/xhtml/level3/core/wellformed03.xhtml [ Failure ]
-dom/xhtml/level3/core/wellformed04.xhtml [ Failure ]
 fast/css/contain-invalidate-if-disabled.html [ Failure ]
 
 fast/filter-image/filter-image-blur.html [ ImageOnlyFailure ]
@@ -2140,3 +2133,7 @@
 fast/text/hanging-punctuation-last-rtl.html [ ImageOnlyFailure ]
 fast/text/simple-bidi-word-spacing.html [ ImageOnlyFailure ]
 fast/text/word-spacing-rtl.html [ ImageOnlyFailure ]
+
+fast/text/kerning-with-TextLayout.html [ ImageOnlyFailure ]
+http/tests/lists/list-new-parent-no-sibling-append.html [ Failure ]
+fast/js-promise/js-promise-invalid-context-access.html [ Failure ]
diff --git a/LayoutTests/platform/wincairo/fast/css/text-overflow-ellipsis-bidi-expected.txt b/LayoutTests/platform/wincairo/fast/css/text-overflow-ellipsis-bidi-expected.txt
index a748839..1f3691d 100644
--- a/LayoutTests/platform/wincairo/fast/css/text-overflow-ellipsis-bidi-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/css/text-overflow-ellipsis-bidi-expected.txt
@@ -20,8 +20,8 @@
 layer at (8,88) size 207x20 scrollX 92 scrollWidth 299
   RenderBlock {DIV} at (0,80) size 207x20
     RenderText {#text} at (-92,0) size 299x19
-      text run at (-92,0) width 0 RTL: "\x{202C}"
-      text run at (-92,0) width 222 RTL: " \x{5D8}\x{5E7}\x{5E1}\x{5D8} \x{5E2}\x{5D1}\x{5E8}\x{5D9} \x{5DC}\x{5D3}\x{5D5}\x{5D2}\x{5DE}\x{5D0} \x{5D8}\x{5E7}\x{5E1}\x{5D8} \x{5E2}\x{5D1}\x{5E8}\x{5D9} \x{5DC}\x{5D3}\x{5D5}\x{5D2}\x{5DE}\x{5D0} "
+      text run at (-92,0) width 4 RTL: " \x{202C}"
+      text run at (-88,0) width 218 RTL: " \x{5D8}\x{5E7}\x{5E1}\x{5D8} \x{5E2}\x{5D1}\x{5E8}\x{5D9} \x{5DC}\x{5D3}\x{5D5}\x{5D2}\x{5DE}\x{5D0} \x{5D8}\x{5E7}\x{5E1}\x{5D8} \x{5E2}\x{5D1}\x{5E8}\x{5D9} \x{5DC}\x{5D3}\x{5D5}\x{5D2}\x{5DE}\x{5D0}"
       text run at (130,0) width 73: "English Text"
       text run at (203,0) width 4 RTL: "\x{202B} "
 layer at (8,108) size 207x20 scrollX 92 scrollWidth 299
diff --git a/LayoutTests/platform/wincairo/fast/css/word-space-extra-expected.txt b/LayoutTests/platform/wincairo/fast/css/word-space-extra-expected.txt
index 487ee23..7308ace 100644
--- a/LayoutTests/platform/wincairo/fast/css/word-space-extra-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/css/word-space-extra-expected.txt
@@ -6,14 +6,14 @@
       RenderBlock {H2} at (0,0) size 769x27
         RenderText {#text} at (0,0) size 138x26
           text run at (0,0) width 138: "word-spacing"
-      RenderBlock (floating) {PRE} at (0,59) size 1004x184
-        RenderBlock {H3} at (0,15) size 1004x18
+      RenderBlock (floating) {PRE} at (0,59) size 1280x184
+        RenderBlock {H3} at (0,15) size 1280x18
           RenderText {#text} at (0,0) size 204x17
             text run at (0,0) width 18: "In"
             text run at (38,0) width 18: " a"
             text run at (76,0) width 72: " floated"
             text run at (168,0) width 36: " pre"
-        RenderBlock (anonymous) at (0,47) size 1004x136
+        RenderBlock (anonymous) at (0,47) size 1280x136
           RenderText {#text} at (0,0) size 260x33
             text run at (0,0) width 0: " "
             text run at (0,17) width 32: "Word"
@@ -220,7 +220,7 @@
             text run at (1048,119) width 40: " too)"
             text run at (1088,119) width 0: " "
       RenderBlock (anonymous) at (0,46) size 769x209
-        RenderBR {BR} at (1004,0) size 0x19
+        RenderBR {BR} at (1280,0) size 0x19
       RenderBlock {PRE} at (0,270) size 769x168
         RenderBlock {H3} at (0,0) size 769x17
           RenderText {#text} at (0,0) size 240x17
@@ -668,11 +668,11 @@
       RenderBlock {H2} at (0,817) size 769x28
         RenderText {#text} at (0,0) size 141x26
           text run at (0,0) width 141: "letter-spacing"
-      RenderBlock (floating) {PRE} at (0,877) size 1209x183
-        RenderBlock {H3} at (0,15) size 1209x18
+      RenderBlock (floating) {PRE} at (0,877) size 1521x183
+        RenderBlock {H3} at (0,15) size 1521x18
           RenderText {#text} at (0,0) size 224x17
             text run at (0,0) width 224: "In a floated pre"
-        RenderBlock (anonymous) at (0,47) size 1209x136
+        RenderBlock (anonymous) at (0,47) size 1521x136
           RenderText {#text} at (0,0) size 286x33
             text run at (0,0) width 0: " "
             text run at (0,17) width 286: "Letter   spacing test "
@@ -807,7 +807,7 @@
             text run at (702,119) width 572: ". (with monospace font from elements to too)"
             text run at (1274,119) width 0: " "
       RenderBlock (anonymous) at (0,864) size 769x209
-        RenderBR {BR} at (1209,0) size 0x19
+        RenderBR {BR} at (1521,0) size 0x19
       RenderBlock {PRE} at (0,1087) size 769x168
         RenderBlock {H3} at (0,0) size 769x17
           RenderText {#text} at (0,0) size 280x17
@@ -1112,14 +1112,14 @@
       RenderBlock {H2} at (0,1668) size 769x28
         RenderText {#text} at (0,0) size 131x26
           text run at (0,0) width 131: "both-spacing"
-      RenderBlock (floating) {PRE} at (0,1728) size 1469x183
-        RenderBlock {H3} at (0,15) size 1469x18
+      RenderBlock (floating) {PRE} at (0,1728) size 2038x183
+        RenderBlock {H3} at (0,15) size 2038x18
           RenderText {#text} at (0,0) size 284x17
             text run at (0,0) width 28: "In"
             text run at (48,0) width 28: " a"
             text run at (96,0) width 112: " floated"
             text run at (228,0) width 56: " pre"
-        RenderBlock (anonymous) at (0,47) size 1469x136
+        RenderBlock (anonymous) at (0,47) size 2038x136
           RenderText {#text} at (0,0) size 543x33
             text run at (0,0) width 0: " "
             text run at (0,17) width 52: "Word"
@@ -1340,7 +1340,7 @@
             text run at (1686,119) width 65: " too)"
             text run at (1751,119) width 0: " "
       RenderBlock (anonymous) at (0,1715) size 769x209
-        RenderBR {BR} at (1469,0) size 0x19
+        RenderBR {BR} at (2038,0) size 0x19
       RenderBlock {PRE} at (0,1938) size 769x168
         RenderBlock {H3} at (0,0) size 769x17
           RenderText {#text} at (0,0) size 340x17
diff --git a/LayoutTests/platform/wincairo/fast/dom/52776-expected.txt b/LayoutTests/platform/wincairo/fast/dom/52776-expected.txt
index 1062783..dd6c80a 100644
--- a/LayoutTests/platform/wincairo/fast/dom/52776-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/dom/52776-expected.txt
@@ -111,13 +111,11 @@
             text run at (753,0) width 16: "12"
         RenderBlock {DIV} at (0,764) size 769x20
           RenderText {#text} at (753,0) size 16x19
-            text run at (753,0) width 0 RTL: "\x{202A}"
-            text run at (753,0) width 0 RTL: "\x{202C}"
+            text run at (753,0) width 0 RTL: "\x{202C}\x{202A}"
             text run at (753,0) width 16: "\x{660}\x{661}"
         RenderBlock {DIV} at (0,784) size 769x20
           RenderText {#text} at (753,0) size 16x19
-            text run at (753,0) width 0 RTL: "\x{202A}"
-            text run at (753,0) width 16 RTL: "\x{683}\x{684}\x{202C}"
+            text run at (753,0) width 16 RTL: "\x{683}\x{684}\x{202C}\x{202A}"
         RenderBlock {DIV} at (0,804) size 769x20
           RenderText {#text} at (757,0) size 12x19
             text run at (757,0) width 12 RTL: "\x{1}\x{202C}\x{202A}"
@@ -222,13 +220,11 @@
         RenderBlock {DIV} at (0,764) size 769x20
           RenderText {#text} at (0,0) size 16x19
             text run at (0,0) width 16: "\x{660}\x{661}"
-            text run at (16,0) width 0: "\x{202C}"
-            text run at (16,0) width 0: "\x{202A}"
+            text run at (16,0) width 0: "\x{202C}\x{202A}"
         RenderBlock {DIV} at (0,784) size 769x20
           RenderText {#text} at (0,0) size 16x19
             text run at (0,0) width 16 RTL: "\x{683}\x{684}"
-            text run at (16,0) width 0: "\x{202C}"
-            text run at (16,0) width 0: "\x{202A}"
+            text run at (16,0) width 0: "\x{202C}\x{202A}"
         RenderBlock {DIV} at (0,804) size 769x20
           RenderText {#text} at (0,0) size 12x19
             text run at (0,0) width 12: "\x{1}\x{202C}\x{202A}"
diff --git a/LayoutTests/platform/wincairo/fast/text/atsui-negative-spacing-features-expected.txt b/LayoutTests/platform/wincairo/fast/text/atsui-negative-spacing-features-expected.txt
index f4d742b..b67487c 100644
--- a/LayoutTests/platform/wincairo/fast/text/atsui-negative-spacing-features-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/text/atsui-negative-spacing-features-expected.txt
@@ -24,12 +24,32 @@
               RenderBlock {DIV} at (1,1) size 202x132
                 RenderBlock {DIV} at (0,0) size 202x38 [border: (1px solid #0000FF)]
                   RenderText {#text} at (26,0) size 175x37
-                    text run at (26,0) width 175 RTL: "\x{5D9}\x{5B0}\x{5D4}\x{5B4}\x{5D9}, \x{5D0}\x{5B8}\x{5D7}\x{5B4}\x{5D9}, \x{5DC}\x{5B0}\x{5DA}\x{5B8} \x{5E1}\x{5B5}\x{5E4}\x{5B6}\x{5E8} \x{5E9}\x{5C1}\x{5B0}\x{5DC}\x{5B7}\x{5D7}\x{5B0}\x{5EA}\x{5BC}\x{5B4}\x{5D9}\x{5D5} \x{5D5}\x{5BC}\x{5DE}\x{5B4}\x{5DE}\x{5B0}\x{5DB}\x{5BC}\x{5B6}\x{5E8}\x{5B6}\x{5EA}"
-                    text run at (101,18) width 100 RTL: "\x{5E6}\x{5B0}\x{5DE}\x{5B4}\x{5D9}\x{5EA}\x{5D5}\x{5BC}\x{5EA} \x{5DC}\x{5B8}\x{5DA}\x{5B0} \x{5DE}\x{5B0}\x{5DB}\x{5B7}\x{5E8}\x{5B0}\x{5EA}\x{5BC}\x{5B4}\x{5D9}\x{5D5}."
+                    text run at (26,0) width 43 RTL: "\x{5D5}\x{5BC}\x{5DE}\x{5B4}\x{5DE}\x{5B0}\x{5DB}\x{5BC}\x{5B6}\x{5E8}\x{5B6}\x{5EA}"
+                    text run at (67,0) width 4 RTL: " "
+                    text run at (71,0) width 41 RTL: "\x{5E9}\x{5C1}\x{5B0}\x{5DC}\x{5B7}\x{5D7}\x{5B0}\x{5EA}\x{5BC}\x{5B4}\x{5D9}\x{5D5}"
+                    text run at (110,0) width 4 RTL: " "
+                    text run at (114,0) width 23 RTL: "\x{5E1}\x{5B5}\x{5E4}\x{5B6}\x{5E8}"
+                    text run at (135,0) width 4 RTL: " "
+                    text run at (139,0) width 14 RTL: "\x{5DC}\x{5B0}\x{5DA}\x{5B8}"
+                    text run at (151,0) width 4 RTL: " "
+                    text run at (155,0) width 24 RTL: "\x{5D0}\x{5B8}\x{5D7}\x{5B4}\x{5D9},"
+                    text run at (177,0) width 4 RTL: " "
+                    text run at (181,0) width 20 RTL: "\x{5D9}\x{5B0}\x{5D4}\x{5B4}\x{5D9},"
+                    text run at (101,18) width 43 RTL: "\x{5DE}\x{5B0}\x{5DB}\x{5B7}\x{5E8}\x{5B0}\x{5EA}\x{5BC}\x{5B4}\x{5D9}\x{5D5}."
+                    text run at (142,18) width 4 RTL: " "
+                    text run at (146,18) width 14 RTL: "\x{5DC}\x{5B8}\x{5DA}\x{5B0}"
+                    text run at (158,18) width 4 RTL: " "
+                    text run at (162,18) width 39 RTL: "\x{5E6}\x{5B0}\x{5DE}\x{5B4}\x{5D9}\x{5EA}\x{5D5}\x{5BC}\x{5EA}"
                 RenderBlock {DIV} at (0,43) size 202x42 [border: (1px solid #0000FF)]
-                  RenderText {#text} at (1,1) size 169x39
-                    text run at (1,1) width 169: "Lore\x{300}m ipsum dolor sit ame\x{300}t,"
-                    text run at (1,21) width 169: "consectetuer adipiscing e\x{300}lit."
+                  RenderText {#text} at (1,1) size 164x39
+                    text run at (1,1) width 42: "Lore\x{300}m"
+                    text run at (41,1) width 39: " ipsum"
+                    text run at (78,1) width 36: " dolor"
+                    text run at (112,1) width 17: " sit"
+                    text run at (127,1) width 38: " ame\x{300}t,"
+                    text run at (1,21) width 76: "consectetuer"
+                    text run at (75,21) width 63: " adipiscing"
+                    text run at (136,21) width 27: " e\x{300}lit."
                 RenderBlock {DIV} at (0,90) size 202x42 [border: (1px solid #008000)]
                   RenderText {#text} at (1,1) size 161x39
                     text run at (1,1) width 40: "Lorem"
@@ -48,9 +68,9 @@
                     text run at (43,0) width 158 RTL: "\x{5D9}\x{5B0}\x{5D4}\x{5B4}\x{5D9}, \x{5D0}\x{5B8}\x{5D7}\x{5B4}\x{5D9}, \x{5DC}\x{5B0}\x{5DA}\x{5B8} \x{5E1}\x{5B5}\x{5E4}\x{5B6}\x{5E8} \x{5E9}\x{5C1}\x{5B0}\x{5DC}\x{5B7}\x{5D7}\x{5B0}\x{5EA}\x{5BC}\x{5B4}\x{5D9}\x{5D5} \x{5D5}\x{5BC}\x{5DE}\x{5B4}\x{5DE}\x{5B0}\x{5DB}\x{5BC}\x{5B6}\x{5E8}\x{5B6}\x{5EA} "
                     text run at (150,18) width 51 RTL: "\x{5DC}\x{5B8}\x{5DA}\x{5B0} \x{5DE}\x{5B0}\x{5DB}\x{5B7}\x{5E8}\x{5B0}\x{5EA}\x{5BC}\x{5B4}\x{5D9}\x{5D5}."
                 RenderBlock {DIV} at (0,43) size 202x42 [border: (1px solid #0000FF)]
-                  RenderText {#text} at (1,1) size 150x39
-                    text run at (1,1) width 150: "Lore\x{300}m ipsum dolor sit ame\x{300}t,"
-                    text run at (1,21) width 144: "consectetue\x{300}r adipiscing e\x{300}lit."
+                  RenderText {#text} at (1,1) size 145x39
+                    text run at (1,1) width 145: "Lore\x{300}m ipsum dolor sit ame\x{300}t,"
+                    text run at (1,21) width 139: "consectetue\x{300}r adipiscing e\x{300}lit."
                 RenderBlock {DIV} at (0,90) size 202x42 [border: (1px solid #008000)]
                   RenderText {#text} at (1,1) size 142x39
                     text run at (1,1) width 142: "Lorem ipsum dolor sit amet,"
diff --git a/LayoutTests/platform/wincairo/fast/text/atsui-spacing-features-expected.txt b/LayoutTests/platform/wincairo/fast/text/atsui-spacing-features-expected.txt
index 2c0c91b6..5c99130 100644
--- a/LayoutTests/platform/wincairo/fast/text/atsui-spacing-features-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/text/atsui-spacing-features-expected.txt
@@ -36,14 +36,32 @@
               RenderBlock {DIV} at (1,1) size 202x172
                 RenderBlock {DIV} at (0,0) size 202x38 [border: (1px solid #0000FF)]
                   RenderText {#text} at (23,0) size 181x37
-                    text run at (23,0) width 178 RTL: "\x{5D9}\x{5B0}\x{5D4}\x{5B4}\x{5D9}, \x{5D0}\x{5B8}\x{5D7}\x{5B4}\x{5D9}, \x{5DC}\x{5B0}\x{5DA}\x{5B8} \x{5E1}\x{5B5}\x{5E4}\x{5B6}\x{5E8} \x{5E9}\x{5C1}\x{5B0}\x{5DC}\x{5B7}\x{5D7}\x{5B0}\x{5EA}\x{5BC}\x{5B4}\x{5D9}\x{5D5}"
-                    text run at (20,18) width 124 RTL: "\x{5E6}\x{5B0}\x{5DE}\x{5B4}\x{5D9}\x{5EA}\x{5D5}\x{5BC}\x{5EA} \x{5DC}\x{5B8}\x{5DA}\x{5B0} \x{5DE}\x{5B0}\x{5DB}\x{5B7}\x{5E8}\x{5B0}\x{5EA}\x{5BC}\x{5B4}\x{5D9}\x{5D5}."
-                    text run at (144,18) width 57 RTL: "\x{5D5}\x{5BC}\x{5DE}\x{5B4}\x{5DE}\x{5B0}\x{5DB}\x{5BC}\x{5B6}\x{5E8}\x{5B6}\x{5EA} "
+                    text run at (23,0) width 41 RTL: "\x{5E9}\x{5C1}\x{5B0}\x{5DC}\x{5B7}\x{5D7}\x{5B0}\x{5EA}\x{5BC}\x{5B4}\x{5D9}\x{5D5}"
+                    text run at (74,0) width 4 RTL: " "
+                    text run at (78,0) width 23 RTL: "\x{5E1}\x{5B5}\x{5E4}\x{5B6}\x{5E8}"
+                    text run at (111,0) width 4 RTL: " "
+                    text run at (115,0) width 14 RTL: "\x{5DC}\x{5B0}\x{5DA}\x{5B8}"
+                    text run at (139,0) width 4 RTL: " "
+                    text run at (143,0) width 24 RTL: "\x{5D0}\x{5B8}\x{5D7}\x{5B4}\x{5D9},"
+                    text run at (177,0) width 4 RTL: " "
+                    text run at (181,0) width 20 RTL: "\x{5D9}\x{5B0}\x{5D4}\x{5B4}\x{5D9},"
+                    text run at (20,18) width 43 RTL: "\x{5DE}\x{5B0}\x{5DB}\x{5B7}\x{5E8}\x{5B0}\x{5EA}\x{5BC}\x{5B4}\x{5D9}\x{5D5}."
+                    text run at (73,18) width 4 RTL: " "
+                    text run at (77,18) width 14 RTL: "\x{5DC}\x{5B8}\x{5DA}\x{5B0}"
+                    text run at (101,18) width 4 RTL: " "
+                    text run at (105,18) width 39 RTL: "\x{5E6}\x{5B0}\x{5DE}\x{5B4}\x{5D9}\x{5EA}\x{5D5}\x{5BC}\x{5EA}"
+                    text run at (154,18) width 4 RTL: " "
+                    text run at (158,18) width 43 RTL: "\x{5D5}\x{5BC}\x{5DE}\x{5B4}\x{5DE}\x{5B0}\x{5DB}\x{5BC}\x{5B6}\x{5E8}\x{5B6}\x{5EA}"
                 RenderBlock {DIV} at (0,43) size 202x62 [border: (1px solid #0000FF)]
-                  RenderText {#text} at (1,1) size 169x59
-                    text run at (1,1) width 169: "Lore\x{300}m ipsum dolor sit"
-                    text run at (1,21) width 126: "ame\x{300}t, consectetuer"
-                    text run at (1,41) width 101: "adipiscing e\x{300}lit."
+                  RenderText {#text} at (1,1) size 197x59
+                    text run at (1,1) width 42: "Lore\x{300}m"
+                    text run at (53,1) width 39: " ipsum"
+                    text run at (102,1) width 36: " dolor"
+                    text run at (148,1) width 17: " sit"
+                    text run at (1,21) width 34: "ame\x{300}t,"
+                    text run at (45,21) width 80: " consectetuer"
+                    text run at (135,21) width 63: " adipiscing"
+                    text run at (1,41) width 23: "e\x{300}lit."
                 RenderBlock {DIV} at (0,110) size 202x62 [border: (1px solid #008000)]
                   RenderText {#text} at (1,1) size 196x59
                     text run at (1,1) width 40: "Lorem"
@@ -62,11 +80,11 @@
                     text run at (48,18) width 153 RTL: "\x{5E9}\x{5C1}\x{5B0}\x{5DC}\x{5B7}\x{5D7}\x{5B0}\x{5EA}\x{5BC}\x{5B4}\x{5D9}\x{5D5} \x{5D5}\x{5BC}\x{5DE}\x{5B4}\x{5DE}\x{5B0}\x{5DB}\x{5BC}\x{5B6}\x{5E8}\x{5B6}\x{5EA}"
                     text run at (12,36) width 189 RTL: "\x{5E6}\x{5B0}\x{5DE}\x{5B4}\x{5D9}\x{5EA}\x{5D5}\x{5BC}\x{5EA} \x{5DC}\x{5B8}\x{5DA}\x{5B0} \x{5DE}\x{5B0}\x{5DB}\x{5B7}\x{5E8}\x{5B0}\x{5EA}\x{5BC}\x{5B4}\x{5D9}\x{5D5}."
                 RenderBlock {DIV} at (0,61) size 202x82 [border: (1px solid #0000FF)]
-                  RenderText {#text} at (1,1) size 171x79
-                    text run at (1,1) width 139: "Lore\x{300}m ipsum"
-                    text run at (1,21) width 164: "dolor sit ame\x{300}t,"
+                  RenderText {#text} at (1,1) size 166x79
+                    text run at (1,1) width 136: "Lore\x{300}m ipsum"
+                    text run at (1,21) width 162: "dolor sit ame\x{300}t,"
                     text run at (1,41) width 138: "consectetue\x{300}r"
-                    text run at (1,61) width 171: "adipiscing e\x{300}lit."
+                    text run at (1,61) width 166: "adipiscing e\x{300}lit."
                 RenderBlock {DIV} at (0,148) size 202x82 [border: (1px solid #008000)]
                   RenderText {#text} at (1,1) size 200x79
                     text run at (1,1) width 200: "Lorem ipsum dolor"
@@ -82,7 +100,7 @@
                 RenderBlock {DIV} at (0,43) size 202x42 [border: (1px solid #0000FF)]
                   RenderText {#text} at (1,1) size 200x39
                     text run at (1,1) width 200: "Lore\x{300}m ipsum dolor sit ame\x{300}t,"
-                    text run at (1,21) width 173: "consectetue\x{300}r adipiscing e\x{300}lit."
+                    text run at (1,21) width 168: "consectetue\x{300}r adipiscing e\x{300}lit."
                 RenderBlock {DIV} at (0,90) size 202x42 [border: (1px solid #008000)]
                   RenderText {#text} at (1,1) size 200x39
                     text run at (1,1) width 200: "Lorem ipsum dolor sit amet,"
diff --git a/LayoutTests/platform/wincairo/fast/text/basic/015-expected.txt b/LayoutTests/platform/wincairo/fast/text/basic/015-expected.txt
index e791ebc..7136381 100644
--- a/LayoutTests/platform/wincairo/fast/text/basic/015-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/text/basic/015-expected.txt
@@ -34,9 +34,9 @@
           text run at (0,0) width 458: "The first line should break after the letter u, so that the gray border does not "
           text run at (458,0) width 174: "extend beyond the cyan box."
       RenderBlock {DIV} at (0,214) size 87x42 [border: (1px solid #00FFFF)]
-        RenderInline {SPAN} at (0,0) size 66x39 [border: none (30px solid #C0C0C0) none]
-          RenderText {#text} at (1,1) size 66x39
-            text run at (1,1) width 66: "Loremipsu"
+        RenderInline {SPAN} at (0,0) size 64x39 [border: none (30px solid #C0C0C0) none]
+          RenderText {#text} at (1,1) size 64x39
+            text run at (1,1) width 64: "Loremipsu"
             text run at (1,21) width 11: "m"
         RenderText {#text} at (0,0) size 0x0
       RenderBlock {HR} at (0,264) size 784x2 [border: (1px inset #000000)]
diff --git a/LayoutTests/platform/wincairo/fast/text/international/003-expected.txt b/LayoutTests/platform/wincairo/fast/text/international/003-expected.txt
index 6b68e72..c190194 100644
--- a/LayoutTests/platform/wincairo/fast/text/international/003-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/text/international/003-expected.txt
@@ -1,82 +1,98 @@
-layer at (0,0) size 800x600
-  RenderView at (0,0) size 800x600
-layer at (0,0) size 800x600
-  RenderBlock {HTML} at (0,0) size 800x600
-    RenderBody {BODY} at (8,8) size 784x584
-      RenderTable {TABLE} at (0,0) size 784x338 [border: (5px outset #808080)]
-        RenderTableSection {TBODY} at (5,5) size 774x328
-          RenderTableRow {TR} at (0,2) size 774x324
-            RenderTableCell {TD} at (2,162) size 716x4 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-            RenderTableCell {TD} at (720,2) size 52x324 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
-              RenderInline {A} at (0,0) size 32x19 [color=#0000EE]
-                RenderText {#text} at (2,2) size 32x19
-                  text run at (2,2) width 32: "\x{5CA1}\x{5C71}"
-              RenderText {#text} at (34,2) size 16x19
-                text run at (34,2) width 16: "\x{FF5C}"
-              RenderInline {A} at (0,0) size 32x19 [color=#0000EE]
-                RenderText {#text} at (2,22) size 32x19
-                  text run at (2,22) width 32: "\x{5E83}\x{5CF6}"
-              RenderText {#text} at (34,22) size 16x19
-                text run at (34,22) width 16: "\x{FF5C}"
-              RenderInline {A} at (0,0) size 32x19 [color=#0000EE]
-                RenderText {#text} at (2,42) size 32x19
-                  text run at (2,42) width 32: "\x{5C71}\x{53E3}"
-              RenderText {#text} at (34,42) size 16x19
-                text run at (34,42) width 16: "\x{FF5C}"
-              RenderInline {A} at (0,0) size 32x19 [color=#0000EE]
-                RenderText {#text} at (2,62) size 32x19
-                  text run at (2,62) width 32: "\x{5FB3}\x{5CF6}"
-              RenderText {#text} at (34,62) size 16x19
-                text run at (34,62) width 16: "\x{FF5C}"
-              RenderInline {A} at (0,0) size 32x19 [color=#0000EE]
-                RenderText {#text} at (2,82) size 32x19
-                  text run at (2,82) width 32: "\x{9999}\x{5DDD}"
-              RenderText {#text} at (34,82) size 16x19
-                text run at (34,82) width 16: "\x{FF5C}"
-              RenderInline {A} at (0,0) size 32x19 [color=#0000EE]
-                RenderText {#text} at (2,102) size 32x19
-                  text run at (2,102) width 32: "\x{611B}\x{5A9B}"
-              RenderText {#text} at (34,102) size 16x19
-                text run at (34,102) width 16: "\x{FF5C}"
-              RenderInline {A} at (0,0) size 32x19 [color=#0000EE]
-                RenderText {#text} at (2,122) size 32x19
-                  text run at (2,122) width 32: "\x{9AD8}\x{77E5}"
-              RenderText {#text} at (34,122) size 16x19
-                text run at (34,122) width 16: "\x{FF5C}"
-              RenderInline {A} at (0,0) size 48x39 [color=#0000EE]
-                RenderText {#text} at (2,142) size 48x39
-                  text run at (2,142) width 40: "\x{798F}\x{5CA1}\x{30FB}"
-                  text run at (2,162) width 48: "\x{5317}\x{4E5D}\x{5DDE}"
-              RenderText {#text} at (2,182) size 16x19
-                text run at (2,182) width 16: "\x{FF5C}"
-              RenderInline {A} at (0,0) size 32x19 [color=#0000EE]
-                RenderText {#text} at (18,182) size 32x19
-                  text run at (18,182) width 32: "\x{4F50}\x{8CC0}"
-              RenderText {#text} at (2,202) size 16x19
-                text run at (2,202) width 16: "\x{FF5C}"
-              RenderInline {A} at (0,0) size 32x19 [color=#0000EE]
-                RenderText {#text} at (18,202) size 32x19
-                  text run at (18,202) width 32: "\x{9577}\x{5D0E}"
+layer at (0,0) size 785x954
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x954
+  RenderBlock {HTML} at (0,0) size 785x954
+    RenderBody {BODY} at (8,8) size 769x938
+      RenderTable {TABLE} at (0,0) size 769x938 [border: (5px outset #808080)]
+        RenderTableSection {TBODY} at (5,5) size 759x928
+          RenderTableRow {TR} at (0,2) size 759x924
+            RenderTableCell {TD} at (2,462) size 725x4 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+            RenderTableCell {TD} at (729,2) size 28x924 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+              RenderInline {A} at (0,0) size 16x39 [color=#0000EE]
+                RenderText {#text} at (2,2) size 16x39
+                  text run at (2,2) width 16: "\x{5CA1}"
+                  text run at (2,22) width 16: "\x{5C71}"
+              RenderText {#text} at (2,42) size 16x19
+                text run at (2,42) width 16: "\x{FF5C}"
+              RenderInline {A} at (0,0) size 16x39 [color=#0000EE]
+                RenderText {#text} at (2,62) size 16x39
+                  text run at (2,62) width 16: "\x{5E83}"
+                  text run at (2,82) width 16: "\x{5CF6}"
+              RenderText {#text} at (2,102) size 16x19
+                text run at (2,102) width 16: "\x{FF5C}"
+              RenderInline {A} at (0,0) size 16x39 [color=#0000EE]
+                RenderText {#text} at (2,122) size 16x39
+                  text run at (2,122) width 16: "\x{5C71}"
+                  text run at (2,142) width 16: "\x{53E3}"
+              RenderText {#text} at (2,162) size 16x19
+                text run at (2,162) width 16: "\x{FF5C}"
+              RenderInline {A} at (0,0) size 16x39 [color=#0000EE]
+                RenderText {#text} at (2,182) size 16x39
+                  text run at (2,182) width 16: "\x{5FB3}"
+                  text run at (2,202) width 16: "\x{5CF6}"
               RenderText {#text} at (2,222) size 16x19
                 text run at (2,222) width 16: "\x{FF5C}"
-              RenderInline {A} at (0,0) size 32x19 [color=#0000EE]
-                RenderText {#text} at (18,222) size 32x19
-                  text run at (18,222) width 32: "\x{718A}\x{672C}"
-              RenderText {#text} at (2,242) size 16x19
-                text run at (2,242) width 16: "\x{FF5C}"
-              RenderInline {A} at (0,0) size 32x19 [color=#0000EE]
-                RenderText {#text} at (18,242) size 32x19
-                  text run at (18,242) width 32: "\x{5927}\x{5206}"
-              RenderText {#text} at (2,262) size 16x19
-                text run at (2,262) width 16: "\x{FF5C}"
-              RenderInline {A} at (0,0) size 32x19 [color=#0000EE]
-                RenderText {#text} at (18,262) size 32x19
-                  text run at (18,262) width 32: "\x{5BAE}\x{5D0E}"
+              RenderInline {A} at (0,0) size 16x39 [color=#0000EE]
+                RenderText {#text} at (2,242) size 16x39
+                  text run at (2,242) width 16: "\x{9999}"
+                  text run at (2,262) width 16: "\x{5DDD}"
               RenderText {#text} at (2,282) size 16x19
                 text run at (2,282) width 16: "\x{FF5C}"
-              RenderInline {A} at (0,0) size 48x39 [color=#0000EE]
-                RenderText {#text} at (18,282) size 48x39
-                  text run at (18,282) width 32: "\x{9E7F}\x{5150}"
-                  text run at (2,302) width 16: "\x{5CF6}"
-              RenderText {#text} at (18,302) size 16x19
-                text run at (18,302) width 16: "\x{FF5C}"
+              RenderInline {A} at (0,0) size 16x39 [color=#0000EE]
+                RenderText {#text} at (2,302) size 16x39
+                  text run at (2,302) width 16: "\x{611B}"
+                  text run at (2,322) width 16: "\x{5A9B}"
+              RenderText {#text} at (2,342) size 16x19
+                text run at (2,342) width 16: "\x{FF5C}"
+              RenderInline {A} at (0,0) size 16x39 [color=#0000EE]
+                RenderText {#text} at (2,362) size 16x39
+                  text run at (2,362) width 16: "\x{9AD8}"
+                  text run at (2,382) width 16: "\x{77E5}"
+              RenderText {#text} at (2,402) size 16x19
+                text run at (2,402) width 16: "\x{FF5C}"
+              RenderInline {A} at (0,0) size 24x99 [color=#0000EE]
+                RenderText {#text} at (2,422) size 24x99
+                  text run at (2,422) width 16: "\x{798F}"
+                  text run at (2,442) width 24: "\x{5CA1}\x{30FB}"
+                  text run at (2,462) width 16: "\x{5317}"
+                  text run at (2,482) width 16: "\x{4E5D}"
+                  text run at (2,502) width 16: "\x{5DDE}"
+              RenderText {#text} at (2,522) size 16x19
+                text run at (2,522) width 16: "\x{FF5C}"
+              RenderInline {A} at (0,0) size 16x39 [color=#0000EE]
+                RenderText {#text} at (2,542) size 16x39
+                  text run at (2,542) width 16: "\x{4F50}"
+                  text run at (2,562) width 16: "\x{8CC0}"
+              RenderText {#text} at (2,582) size 16x19
+                text run at (2,582) width 16: "\x{FF5C}"
+              RenderInline {A} at (0,0) size 16x39 [color=#0000EE]
+                RenderText {#text} at (2,602) size 16x39
+                  text run at (2,602) width 16: "\x{9577}"
+                  text run at (2,622) width 16: "\x{5D0E}"
+              RenderText {#text} at (2,642) size 16x19
+                text run at (2,642) width 16: "\x{FF5C}"
+              RenderInline {A} at (0,0) size 16x39 [color=#0000EE]
+                RenderText {#text} at (2,662) size 16x39
+                  text run at (2,662) width 16: "\x{718A}"
+                  text run at (2,682) width 16: "\x{672C}"
+              RenderText {#text} at (2,702) size 16x19
+                text run at (2,702) width 16: "\x{FF5C}"
+              RenderInline {A} at (0,0) size 16x39 [color=#0000EE]
+                RenderText {#text} at (2,722) size 16x39
+                  text run at (2,722) width 16: "\x{5927}"
+                  text run at (2,742) width 16: "\x{5206}"
+              RenderText {#text} at (2,762) size 16x19
+                text run at (2,762) width 16: "\x{FF5C}"
+              RenderInline {A} at (0,0) size 16x39 [color=#0000EE]
+                RenderText {#text} at (2,782) size 16x39
+                  text run at (2,782) width 16: "\x{5BAE}"
+                  text run at (2,802) width 16: "\x{5D0E}"
+              RenderText {#text} at (2,822) size 16x19
+                text run at (2,822) width 16: "\x{FF5C}"
+              RenderInline {A} at (0,0) size 16x59 [color=#0000EE]
+                RenderText {#text} at (2,842) size 16x59
+                  text run at (2,842) width 16: "\x{9E7F}"
+                  text run at (2,862) width 16: "\x{5150}"
+                  text run at (2,882) width 16: "\x{5CF6}"
+              RenderText {#text} at (2,902) size 16x19
+                text run at (2,902) width 16: "\x{FF5C}"
diff --git a/LayoutTests/platform/wincairo/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt b/LayoutTests/platform/wincairo/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt
index c429359..f210abf0 100644
--- a/LayoutTests/platform/wincairo/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/text/international/bidi-control-chars-treated-as-ZWS-expected.txt
@@ -8,8 +8,7 @@
           text run at (0,0) width 756: "This tests that Unicode bidi control characters are not rendered and have zero width. The next two lines should look the same."
       RenderBlock {DIV} at (0,20) size 784x40
         RenderText {#text} at (0,0) size 14x19
-          text run at (0,0) width 7: "a"
-          text run at (7,0) width 7: "\x{202D}e\x{300}"
+          text run at (0,0) width 14: "a\x{202D}e\x{300}"
         RenderBR {BR} at (14,0) size 0x19
         RenderText {#text} at (0,20) size 14x19
           text run at (0,20) width 14: "ae\x{300}"
diff --git a/LayoutTests/platform/wincairo/fast/text/international/bidi-linebreak-001-expected.txt b/LayoutTests/platform/wincairo/fast/text/international/bidi-linebreak-001-expected.txt
index 907edcb..e7c08aa 100644
--- a/LayoutTests/platform/wincairo/fast/text/international/bidi-linebreak-001-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/text/international/bidi-linebreak-001-expected.txt
@@ -16,4 +16,6 @@
         RenderText {#text} at (0,0) size 60x39
           text run at (0,0) width 30 RTL: "\x{5E9}\x{5D5}\x{5BC}\x{5E8}\x{5D4}"
           text run at (30,0) width 0: " "
-          text run at (0,20) width 60 RTL: "\x{5E9}\x{5D5}\x{5BC}\x{5E8}\x{5D4}\x{D}\x{5E9}\x{5D5}\x{5BC}\x{5E8}\x{5D4}"
+          text run at (0,20) width 30 RTL: "\x{5E9}\x{5D5}\x{5BC}\x{5E8}\x{5D4}"
+          text run at (30,20) width 0: "\x{D}"
+          text run at (30,20) width 30 RTL: "\x{5E9}\x{5D5}\x{5BC}\x{5E8}\x{5D4}"
diff --git a/LayoutTests/platform/wincairo/fast/text/international/bidi-linebreak-002-expected.txt b/LayoutTests/platform/wincairo/fast/text/international/bidi-linebreak-002-expected.txt
index 3a734c9..5346340 100644
--- a/LayoutTests/platform/wincairo/fast/text/international/bidi-linebreak-002-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/text/international/bidi-linebreak-002-expected.txt
@@ -14,4 +14,6 @@
           text run at (311,0) width 144: "\", separated with space."
       RenderBlock {P} at (0,92) size 784x20
         RenderText {#text} at (0,0) size 94x19
-          text run at (0,0) width 94 RTL: "\x{5E9}\x{5D5}\x{5BC}\x{5E8}\x{5D4} \x{5E9}\x{5D5}\x{5BC}\x{5E8}\x{5D4}\x{D}\x{5E9}\x{5D5}\x{5BC}\x{5E8}\x{5D4}"
+          text run at (0,0) width 64 RTL: "\x{5E9}\x{5D5}\x{5BC}\x{5E8}\x{5D4} \x{5E9}\x{5D5}\x{5BC}\x{5E8}\x{5D4}"
+          text run at (64,0) width 0: "\x{D}"
+          text run at (64,0) width 30 RTL: "\x{5E9}\x{5D5}\x{5BC}\x{5E8}\x{5D4}"
diff --git a/LayoutTests/platform/wincairo/fast/text/international/bidi-linebreak-003-expected.txt b/LayoutTests/platform/wincairo/fast/text/international/bidi-linebreak-003-expected.txt
index 3a734c9..5346340 100644
--- a/LayoutTests/platform/wincairo/fast/text/international/bidi-linebreak-003-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/text/international/bidi-linebreak-003-expected.txt
@@ -14,4 +14,6 @@
           text run at (311,0) width 144: "\", separated with space."
       RenderBlock {P} at (0,92) size 784x20
         RenderText {#text} at (0,0) size 94x19
-          text run at (0,0) width 94 RTL: "\x{5E9}\x{5D5}\x{5BC}\x{5E8}\x{5D4} \x{5E9}\x{5D5}\x{5BC}\x{5E8}\x{5D4}\x{D}\x{5E9}\x{5D5}\x{5BC}\x{5E8}\x{5D4}"
+          text run at (0,0) width 64 RTL: "\x{5E9}\x{5D5}\x{5BC}\x{5E8}\x{5D4} \x{5E9}\x{5D5}\x{5BC}\x{5E8}\x{5D4}"
+          text run at (64,0) width 0: "\x{D}"
+          text run at (64,0) width 30 RTL: "\x{5E9}\x{5D5}\x{5BC}\x{5E8}\x{5D4}"
diff --git a/LayoutTests/platform/wincairo/fast/text/international/bidi-neutral-run-expected.txt b/LayoutTests/platform/wincairo/fast/text/international/bidi-neutral-run-expected.txt
index ed6e0bb..c0a73e9 100644
--- a/LayoutTests/platform/wincairo/fast/text/international/bidi-neutral-run-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/text/international/bidi-neutral-run-expected.txt
@@ -33,9 +33,7 @@
             text run at (30,0) width 28: "(^cd"
         RenderBlock {P} at (0,216) size 769x20
           RenderText {#text} at (0,0) size 59x19
-            text run at (0,0) width 15: "ab"
-            text run at (15,0) width 16: "\x{661}\x{662}"
-            text run at (31,0) width 28: "(^cd"
+            text run at (0,0) width 59: "ab\x{661}\x{662}(^cd"
         RenderBlock {P} at (0,252) size 769x20
           RenderText {#text} at (0,0) size 59x19
             text run at (0,0) width 16: "\x{661}\x{662}"
@@ -146,8 +144,7 @@
             text run at (20,0) width 13 RTL: "\x{62C}\x{62F}"
         RenderBlock {P} at (0,1152) size 769x20
           RenderText {#text} at (0,0) size 33x19
-            text run at (0,0) width 26 RTL: "\x{202C}(^\x{62C}\x{62F}"
-            text run at (26,0) width 7 RTL: "\x{202B}?"
+            text run at (0,0) width 33 RTL: "\x{202B}?\x{202C}(^\x{62C}\x{62F}"
         RenderBlock {P} at (0,1188) size 769x20
           RenderText {#text} at (0,0) size 60x19
             text run at (0,0) width 44: "ab(^34"
@@ -296,8 +293,7 @@
           RenderText {#text} at (0,0) size 52x19
             text run at (0,0) width 10 RTL: "\x{5E9}"
             text run at (10,0) width 16: "\x{663}\x{664}"
-            text run at (26,0) width 13 RTL: "\x{202C}(^"
-            text run at (39,0) width 7 RTL: "\x{202B}?"
+            text run at (26,0) width 20 RTL: "\x{202B}?\x{202C}(^"
             text run at (46,0) width 6: "z"
         RenderBlock {P} at (0,1980) size 769x20
           RenderText {#text} at (0,0) size 33x19
@@ -372,8 +368,7 @@
             text run at (33,0) width 0: "\x{202C}"
         RenderBlock {P} at (0,2448) size 769x20
           RenderText {#text} at (0,0) size 32x19
-            text run at (0,0) width 5 RTL: "\x{202B}!"
-            text run at (5,0) width 27 RTL: "\x{627}\x{628}(^"
+            text run at (0,0) width 32 RTL: "\x{627}\x{628}(^\x{202B}!"
             text run at (32,0) width 0: "\x{202C}"
         RenderBlock {P} at (0,2484) size 769x20
           RenderText {#text} at (0,0) size 49x19
@@ -388,29 +383,25 @@
             text run at (49,0) width 0: "\x{202C}"
         RenderBlock {P} at (0,2556) size 769x20
           RenderText {#text} at (0,0) size 48x19
-            text run at (0,0) width 5 RTL: "\x{202B}!"
-            text run at (5,0) width 13 RTL: "(^"
+            text run at (0,0) width 18 RTL: "(^\x{202B}!"
             text run at (18,0) width 16: "12"
             text run at (34,0) width 14 RTL: "\x{627}\x{628}"
             text run at (48,0) width 0: "\x{202C}"
         RenderBlock {P} at (0,2592) size 769x20
           RenderText {#text} at (0,0) size 49x19
             text run at (0,0) width 15: "ab"
-            text run at (15,0) width 5 RTL: "\x{202B}!"
-            text run at (20,0) width 13 RTL: "(^"
+            text run at (15,0) width 18 RTL: "(^\x{202B}!"
             text run at (33,0) width 16: "\x{661}\x{662}"
             text run at (49,0) width 0: "\x{202C}"
         RenderBlock {P} at (0,2628) size 769x20
           RenderText {#text} at (0,0) size 49x19
-            text run at (0,0) width 5 RTL: "\x{202B}!"
-            text run at (5,0) width 13 RTL: "(^"
+            text run at (0,0) width 18 RTL: "(^\x{202B}!"
             text run at (18,0) width 16: "\x{661}\x{662}"
             text run at (34,0) width 15 RTL: "\x{5D0}\x{5D1}"
             text run at (49,0) width 0: "\x{202C}"
         RenderBlock {P} at (0,2664) size 769x20
           RenderText {#text} at (0,0) size 48x19
-            text run at (0,0) width 5 RTL: "\x{202B}!"
-            text run at (5,0) width 13 RTL: "(^"
+            text run at (0,0) width 18 RTL: "(^\x{202B}!"
             text run at (18,0) width 16: "\x{661}\x{662}"
             text run at (34,0) width 14 RTL: "\x{627}\x{628}"
             text run at (48,0) width 0: "\x{202C}"
@@ -619,8 +610,7 @@
             text run at (26,0) width 7: "\x{202A}?"
         RenderBlock {P} at (0,1152) size 769x20
           RenderText {#text} at (0,0) size 33x19
-            text run at (0,0) width 26 RTL: "\x{202C}(^\x{62C}\x{62F}"
-            text run at (26,0) width 7 RTL: "\x{202B}?"
+            text run at (0,0) width 33 RTL: "\x{202B}?\x{202C}(^\x{62C}\x{62F}"
         RenderBlock {P} at (0,1188) size 769x20
           RenderText {#text} at (0,0) size 60x19
             text run at (0,0) width 6: "z"
@@ -846,9 +836,7 @@
             text run at (0,0) width 33 RTL: "\x{5D0}\x{5D1}(^\x{202B}!\x{202C}"
         RenderBlock {P} at (0,2448) size 769x20
           RenderText {#text} at (0,0) size 32x19
-            text run at (0,0) width 0 RTL: "\x{202C}"
-            text run at (0,0) width 5 RTL: "\x{202B}!"
-            text run at (5,0) width 27 RTL: "\x{627}\x{628}(^"
+            text run at (0,0) width 32 RTL: "\x{627}\x{628}(^\x{202B}!\x{202C}"
         RenderBlock {P} at (0,2484) size 769x20
           RenderText {#text} at (0,0) size 49x19
             text run at (0,0) width 0 RTL: "\x{202C}"
diff --git a/LayoutTests/platform/wincairo/fast/text/international/hebrew-vowels-expected.txt b/LayoutTests/platform/wincairo/fast/text/international/hebrew-vowels-expected.txt
index 1365b18..5056829 100644
--- a/LayoutTests/platform/wincairo/fast/text/international/hebrew-vowels-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/text/international/hebrew-vowels-expected.txt
@@ -23,7 +23,7 @@
       RenderBlock {DIV} at (0,245) size 784x186
         RenderText {#text} at (0,1) size 49x90
           text run at (0,1) width 49 RTL: "\x{5E9}\x{5C1}"
-        RenderBR {BR} at (49,0) size 0x90
+        RenderBR {BR} at (49,1) size 0x90
         RenderText {#text} at (0,94) size 49x90
           text run at (0,94) width 49 RTL: "\x{5E9}\x{5C2}"
         RenderText {#text} at (0,0) size 0x0
diff --git a/LayoutTests/platform/wincairo/fast/text/international/hindi-whitespace-expected.txt b/LayoutTests/platform/wincairo/fast/text/international/hindi-whitespace-expected.txt
index 15f5955..3ffbf04 100644
--- a/LayoutTests/platform/wincairo/fast/text/international/hindi-whitespace-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/text/international/hindi-whitespace-expected.txt
@@ -8,9 +8,9 @@
           text run at (0,0) width 733: "This HTML tests if the 'while-space' property controls the behavors of line-break characters (U+000A and U+000D) in a"
           text run at (0,20) width 127: "complex text (Hindi)."
       RenderBlock {P} at (0,56) size 784x42
-        RenderText {#text} at (0,2) size 718x39
-          text run at (0,2) width 718: "If this test succeeds, you can see this Hindi word \"\x{935}\x{93F}\x{937}\x{92F}\x{94B}\x{902}\" repeated three times separated by a space in the first two"
-          text run at (0,22) width 469: "paragraphs. In the third paragraphs, it'll be shown three times in separate lines."
+        RenderText {#text} at (0,2) size 769x39
+          text run at (0,2) width 769: "If this test succeeds, you can see this Hindi word \"\x{935}\x{93F}\x{937}\x{92F}\x{94B}\x{902}\" repeated three times separated by a space in the first two paragraphs."
+          text run at (0,22) width 394: "In the third paragraphs, it'll be shown three times in separate lines."
       RenderBlock {P} at (0,114) size 784x22
         RenderText {#text} at (0,2) size 131x19
           text run at (0,2) width 131: "1. \x{935}\x{93F}\x{937}\x{92F}\x{94B}\x{902} \x{935}\x{93F}\x{937}\x{92F}\x{94B}\x{902}\x{D}\x{935}\x{93F}\x{937}\x{92F}\x{94B}\x{902}"
diff --git a/LayoutTests/platform/wincairo/fast/text/international/thai-baht-space-expected.txt b/LayoutTests/platform/wincairo/fast/text/international/thai-baht-space-expected.txt
index f2f181c..b82b5a6 100644
--- a/LayoutTests/platform/wincairo/fast/text/international/thai-baht-space-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/text/international/thai-baht-space-expected.txt
@@ -13,8 +13,8 @@
           text run at (117,0) width 636: ". Characters belonging to 'Common' script followed / preceeded by a space should be rendered correctly."
           text run at (0,20) width 546: "Two lines below have 4 Thai currency signs (U+0E3F) and all of them should be rendered."
       RenderBlock {P} at (0,56) size 784x44
-        RenderText {#text} at (0,2) size 267x19
-          text run at (0,2) width 267: "abc \x{E25}\x{E07}\x{E17}\x{E38}\x{E19}4000\x{E3F} \x{E23}\x{E31}\x{E1A}\x{E1B}\x{E23}\x{E30}\x{E01}\x{E31}\x{E19}\x{E23}\x{E32}\x{E22}\x{E44}\x{E14}\x{E49} 50000\x{E3F}/M"
-        RenderBR {BR} at (267,2) size 0x19
-        RenderText {#text} at (0,24) size 267x19
-          text run at (0,24) width 267: "abc \x{E25}\x{E07}\x{E17}\x{E38}\x{E19}4000 \x{E3F}\x{E23}\x{E31}\x{E1A}\x{E1B}\x{E23}\x{E30}\x{E01}\x{E31}\x{E19}\x{E23}\x{E32}\x{E22}\x{E44}\x{E14}\x{E49} 50000\x{E3F}/M"
+        RenderText {#text} at (0,2) size 269x19
+          text run at (0,2) width 269: "abc \x{E25}\x{E07}\x{E17}\x{E38}\x{E19}4000\x{E3F} \x{E23}\x{E31}\x{E1A}\x{E1B}\x{E23}\x{E30}\x{E01}\x{E31}\x{E19}\x{E23}\x{E32}\x{E22}\x{E44}\x{E14}\x{E49} 50000\x{E3F}/M"
+        RenderBR {BR} at (269,2) size 0x19
+        RenderText {#text} at (0,24) size 269x19
+          text run at (0,24) width 269: "abc \x{E25}\x{E07}\x{E17}\x{E38}\x{E19}4000 \x{E3F}\x{E23}\x{E31}\x{E1A}\x{E1B}\x{E23}\x{E30}\x{E01}\x{E31}\x{E19}\x{E23}\x{E32}\x{E22}\x{E44}\x{E14}\x{E49} 50000\x{E3F}/M"
diff --git a/LayoutTests/platform/wincairo/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt b/LayoutTests/platform/wincairo/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt
index a27c605..de23128 100644
--- a/LayoutTests/platform/wincairo/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt
@@ -16,17 +16,17 @@
   RenderTextControl {TEXTAREA} at (2,2) size 421x70 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
     RenderBlock {DIV} at (3,3) size 415x48
       RenderText {#text} at (375,0) size 415x32
-        text run at (375,0) width 0 RTL: " "
         text run at (375,0) width 40 RTL: "\x{5E9}\x{5DC}\x{5D5}\x{5DD}!"
+        text run at (415,0) width 0: " "
         text run at (0,16) width 48: "hello!"
         text run at (48,16) width 0: " "
-      RenderBR {BR} at (415,32) size 0x16
+      RenderBR {BR} at (0,32) size 0x16
 layer at (10,109) size 421x70 clip at (11,110) size 419x68
   RenderTextControl {TEXTAREA} at (2,81) size 421x70 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
     RenderBlock {DIV} at (3,3) size 415x48
       RenderText {#text} at (375,0) size 415x32
-        text run at (375,0) width 0 RTL: " "
         text run at (375,0) width 40 RTL: "\x{5E9}\x{5DC}\x{5D5}\x{5DD}!"
+        text run at (415,0) width 0: " "
         text run at (0,16) width 48: "hello!"
         text run at (48,16) width 0: " "
       RenderBR {BR} at (0,32) size 0x16
@@ -34,8 +34,8 @@
   RenderTextControl {TEXTAREA} at (2,160) size 421x70 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
     RenderBlock {DIV} at (3,3) size 415x48
       RenderText {#text} at (375,0) size 415x32
-        text run at (375,0) width 0 RTL: " "
         text run at (375,0) width 40 RTL: "\x{5E9}\x{5DC}\x{5D5}\x{5DD}!"
+        text run at (415,0) width 0: " "
         text run at (0,16) width 48: "hello!"
         text run at (48,16) width 0: " "
       RenderBR {BR} at (0,32) size 0x16
@@ -43,8 +43,8 @@
   RenderTextControl {TEXTAREA} at (2,239) size 421x70 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
     RenderBlock {DIV} at (3,3) size 415x48
       RenderText {#text} at (375,0) size 415x32
-        text run at (375,0) width 0 RTL: " "
         text run at (375,0) width 40 RTL: "\x{5E9}\x{5DC}\x{5D5}\x{5DD}!"
+        text run at (415,0) width 0: " "
         text run at (0,16) width 48: "hello!"
         text run at (48,16) width 0: " "
-      RenderBR {BR} at (415,32) size 0x16
+      RenderBR {BR} at (0,32) size 0x16
diff --git a/LayoutTests/platform/wincairo/fast/text/midword-break-before-surrogate-pair-2-expected.txt b/LayoutTests/platform/wincairo/fast/text/midword-break-before-surrogate-pair-2-expected.txt
index 6da26b6..4ea33ce 100644
--- a/LayoutTests/platform/wincairo/fast/text/midword-break-before-surrogate-pair-2-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/text/midword-break-before-surrogate-pair-2-expected.txt
@@ -4,6 +4,6 @@
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 186x104 [border: (3px solid #0000FF)]
-        RenderText {#text} at (3,10) size 179x90
-          text run at (3,10) width 179: "\x{D83C}\x{DDEF}\x{D83C}\x{DDF5}\x{D83C}\x{DDEF}\x{D83C}\x{DDF5}\x{D83C}\x{DDEF}\x{D83C}\x{DDF5}\x{D83C}\x{DDEF}\x{D83C}\x{DDF5}\x{D83C}\x{DDEF}\x{D83C}\x{DDF5}\x{D83C}\x{DDEF}\x{D83C}\x{DDF5}\x{D83C}\x{DDEF}"
-          text run at (3,59) width 45: "\x{D83C}\x{DDF5}\x{D83C}\x{DDEF}\x{D83C}\x{DDF5}"
+        RenderText {#text} at (3,10) size 168x90
+          text run at (3,10) width 168: "\x{D83C}\x{DDEF}\x{D83C}\x{DDF5}\x{D83C}\x{DDEF}\x{D83C}\x{DDF5}\x{D83C}\x{DDEF}\x{D83C}\x{DDF5}\x{D83C}\x{DDEF}\x{D83C}\x{DDF5}\x{D83C}\x{DDEF}\x{D83C}\x{DDF5}\x{D83C}\x{DDEF}\x{D83C}\x{DDF5}"
+          text run at (3,59) width 56: "\x{D83C}\x{DDEF}\x{D83C}\x{DDF5}\x{D83C}\x{DDEF}\x{D83C}\x{DDF5}"
diff --git a/LayoutTests/platform/wincairo/fast/text/stroking-decorations-expected.txt b/LayoutTests/platform/wincairo/fast/text/stroking-decorations-expected.txt
index 67393b0..529ea1f 100644
--- a/LayoutTests/platform/wincairo/fast/text/stroking-decorations-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/text/stroking-decorations-expected.txt
@@ -5,7 +5,7 @@
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x152 [textFillColor=#800080] [textStrokeWidth=2.00]
         RenderText {#text} at (0,1) size 755x149
-          text run at (0,1) width 616: "Purple\x{300} fill, black stroke,"
+          text run at (0,1) width 613: "Purple\x{300} fill, black stroke,"
           text run at (0,77) width 755: "complex text, black underline"
       RenderBlock {DIV} at (0,152) size 784x152 [textStrokeColor=#FFA500] [textStrokeWidth=1.33]
         RenderText {#text} at (0,1) size 633x149
diff --git a/LayoutTests/platform/wincairo/fast/text/stroking-expected.txt b/LayoutTests/platform/wincairo/fast/text/stroking-expected.txt
index 0cfb6e7..cf2f21f 100644
--- a/LayoutTests/platform/wincairo/fast/text/stroking-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/text/stroking-expected.txt
@@ -4,8 +4,8 @@
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
       RenderBlock {DIV} at (0,0) size 784x152 [textFillColor=#800080] [textStrokeWidth=2.00]
-        RenderText {#text} at (0,1) size 616x149
-          text run at (0,1) width 616: "Purple\x{300} fill, black stroke,"
+        RenderText {#text} at (0,1) size 613x149
+          text run at (0,1) width 613: "Purple\x{300} fill, black stroke,"
           text run at (0,77) width 330: "complex text"
       RenderBlock {DIV} at (0,152) size 784x76 [textStrokeColor=#FFA500] [textStrokeWidth=1.33]
         RenderText {#text} at (0,1) size 633x73
diff --git a/LayoutTests/platform/wincairo/fast/text/wbr-expected.txt b/LayoutTests/platform/wincairo/fast/text/wbr-expected.txt
index 098de36..ae3b707 100644
--- a/LayoutTests/platform/wincairo/fast/text/wbr-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/text/wbr-expected.txt
@@ -48,14 +48,14 @@
       RenderTable {TABLE} at (0,320) size 769x22
         RenderTableSection {TBODY} at (0,0) size 769x22
           RenderTableRow {TR} at (0,0) size 769x22
-            RenderTableCell {TD} at (0,0) size 258x22 [border: (1px solid #008000)] [r=0 c=0 rs=1 cs=1]
+            RenderTableCell {TD} at (0,0) size 482x22 [border: (1px solid #008000)] [r=0 c=0 rs=1 cs=1]
               RenderInline {NOBR} at (0,0) size 480x19
                 RenderText {#text} at (1,1) size 224x19
                   text run at (1,1) width 224: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
                 RenderWordBreak {WBR} at (0,0) size 0x0
                 RenderText {#text} at (225,1) size 256x19
                   text run at (225,1) width 256: "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
-            RenderTableCell {TD} at (258,11) size 511x0 [r=0 c=1 rs=1 cs=1]
+            RenderTableCell {TD} at (482,11) size 287x0 [r=0 c=1 rs=1 cs=1]
       RenderBlock {P} at (0,358) size 769x20
         RenderText {#text} at (0,0) size 215x19
           text run at (0,0) width 215: "Using <wbr> to break three words."
@@ -97,7 +97,7 @@
       RenderTable {TABLE} at (0,612) size 769x22
         RenderTableSection {TBODY} at (0,0) size 769x22
           RenderTableRow {TR} at (0,0) size 769x22
-            RenderTableCell {TD} at (0,0) size 194x22 [border: (1px solid #008000)] [r=0 c=0 rs=1 cs=1]
+            RenderTableCell {TD} at (0,0) size 530x22 [border: (1px solid #008000)] [r=0 c=0 rs=1 cs=1]
               RenderInline {NOBR} at (0,0) size 528x19
                 RenderText {#text} at (1,1) size 168x19
                   text run at (1,1) width 168: "aaaaaaaaaaaaaaaaaaaaaaaa"
@@ -107,7 +107,7 @@
                 RenderWordBreak {WBR} at (0,0) size 0x0
                 RenderText {#text} at (361,1) size 168x19
                   text run at (361,1) width 168: "cccccccccccccccccccccccc"
-            RenderTableCell {TD} at (194,11) size 575x0 [r=0 c=1 rs=1 cs=1]
+            RenderTableCell {TD} at (530,11) size 239x0 [r=0 c=1 rs=1 cs=1]
       RenderBlock {P} at (0,650) size 769x20
         RenderText {#text} at (0,0) size 421x19
           text run at (0,0) width 421: "Spaces both before and after <wbr> to check for collapsing behavior."
diff --git a/LayoutTests/platform/wincairo/fast/text/wide-zero-width-space-expected.txt b/LayoutTests/platform/wincairo/fast/text/wide-zero-width-space-expected.txt
index 19e153f..222eeb0 100644
--- a/LayoutTests/platform/wincairo/fast/text/wide-zero-width-space-expected.txt
+++ b/LayoutTests/platform/wincairo/fast/text/wide-zero-width-space-expected.txt
@@ -19,8 +19,8 @@
         RenderText {#text} at (0,0) size 411x41
           text run at (0,0) width 411: "Lor\x{E9}m\x{200B}ipsum\x{200E}dolor\x{1F}sit"
       RenderBlock {DIV} at (0,78) size 784x42
-        RenderText {#text} at (0,0) size 386x41
-          text run at (0,0) width 386: "Lore\x{301}m\x{200B}ipsum\x{200E}dolor\x{1F}sit"
+        RenderText {#text} at (0,0) size 410x41
+          text run at (0,0) width 410: "Lore\x{301}m\x{200B}ipsum\x{200E}dolor\x{1F}sit"
       RenderBlock {DIV} at (0,120) size 784x42
         RenderText {#text} at (0,0) size 384x41
           text run at (0,0) width 384: "Lor\x{E9}mipsumdolorsit"