LayoutTests:
authoradele <adele@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 19 Dec 2005 22:16:29 +0000 (22:16 +0000)
committeradele <adele@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 19 Dec 2005 22:16:29 +0000 (22:16 +0000)
        Reviewed by Darin, committed by Adele.

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=6139
          ATSUI code path should implement small caps, synthetic bold and oblique and correct metrics for fallback fonts

        * fast/text/atsui-multiple-renderers-expected.checksum: Added.
        * fast/text/atsui-multiple-renderers-expected.png: Added.
        * fast/text/atsui-multiple-renderers-expected.txt: Added.
        * fast/text/atsui-multiple-renderers.html: Added.

        * css1/text_properties/text-transCapitalize-expected.checksum:
        * css1/text_properties/text-transCapitalize-expected.png:
        * fast/text/international/bidi-AN-after-L-expected.checksum:
        * fast/text/international/bidi-AN-after-L-expected.png:
        * fast/text/international/bidi-AN-after-L-expected.txt:
        * fast/text/international/bidi-L2-run-reordering-expected.checksum:
        * fast/text/international/bidi-L2-run-reordering-expected.png:
        * fast/text/international/bidi-L2-run-reordering-expected.txt:
        * fast/text/international/bidi-LDB-2-CSS-expected.checksum:
        * fast/text/international/bidi-LDB-2-CSS-expected.png:
        * fast/text/international/bidi-LDB-2-CSS-expected.txt:
        * fast/text/international/bidi-LDB-2-HTML-expected.checksum:
        * fast/text/international/bidi-LDB-2-HTML-expected.png:
        * fast/text/international/bidi-LDB-2-HTML-expected.txt:
        * fast/text/international/bidi-LDB-2-formatting-characters-expected.checksum:
        * fast/text/international/bidi-LDB-2-formatting-characters-expected.png:
        * fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
        * fast/text/international/bidi-european-terminators-expected.checksum:
        * fast/text/international/bidi-european-terminators-expected.png:
        * fast/text/international/bidi-european-terminators-expected.txt:
        * fast/text/international/bidi-fallback-font-weight-expected.checksum:
        * fast/text/international/bidi-fallback-font-weight-expected.png:
        * fast/text/international/bidi-fallback-font-weight-expected.txt:
        * fast/text/international/bidi-ignored-for-first-child-inline-expected.checksum:
        * fast/text/international/bidi-ignored-for-first-child-inline-expected.png:
        * fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
        * fast/text/international/bidi-innertext-expected.checksum:
        * fast/text/international/bidi-innertext-expected.png:
        * fast/text/international/bidi-innertext-expected.txt:
        * fast/text/international/bidi-override-expected.checksum:
        * fast/text/international/bidi-override-expected.png:
        * fast/text/international/bidi-override-expected.txt:

WebKit:

        Reviewed by Darin, committed by Adele.

        Test: fast/text/atsui-multiple-renderers.html

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6139
          ATSUI code path should implement small caps, synthetic bold and oblique and correct metrics for fallback fonts

        * WebCoreSupport.subproj/WebTextRenderer.m:
        (overrideLayoutOperation): Fetch renderer info from the renderers array;
        add synthetic bold offset; render only synthetic bold in the synthetic bold pass.
        (drawGlyphs): Replaced 14 with new SYNTHETIC_OBLIQUE_ANGLE define.
        (initializeATSUStyle): Apply a skewing transform for synthetic oblique.
        (createATSUTextLayout): Merged into createATSUTextLayout.
        (createATSULayoutParameters): Merged in createATSUTextLayout; allocate
        and fill a renderers array and a character buffer for small caps and mirroring;
        (applyMirroringToRun): Merged into createATSULayoutParameters.
        (ATSU_drawHighlight): Deleted mirroring code.
        (ATSU_draw): Deleted mirroring code; added second pass for synthetic bold.
        (ATSU_pointToOffset): Deleted mirroring code.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@11673 268f45cc-cd09-0410-ab3c-d52691b4dbfc

39 files changed:
LayoutTests/ChangeLog
LayoutTests/css1/text_properties/text-transCapitalize-expected.checksum
LayoutTests/css1/text_properties/text-transCapitalize-expected.png
LayoutTests/fast/text/atsui-multiple-renderers-expected.checksum [new file with mode: 0644]
LayoutTests/fast/text/atsui-multiple-renderers-expected.png [new file with mode: 0644]
LayoutTests/fast/text/atsui-multiple-renderers-expected.txt [new file with mode: 0644]
LayoutTests/fast/text/atsui-multiple-renderers.html [new file with mode: 0644]
LayoutTests/fast/text/international/bidi-AN-after-L-expected.checksum
LayoutTests/fast/text/international/bidi-AN-after-L-expected.png
LayoutTests/fast/text/international/bidi-AN-after-L-expected.txt
LayoutTests/fast/text/international/bidi-L2-run-reordering-expected.checksum
LayoutTests/fast/text/international/bidi-L2-run-reordering-expected.png
LayoutTests/fast/text/international/bidi-L2-run-reordering-expected.txt
LayoutTests/fast/text/international/bidi-LDB-2-CSS-expected.checksum
LayoutTests/fast/text/international/bidi-LDB-2-CSS-expected.png
LayoutTests/fast/text/international/bidi-LDB-2-CSS-expected.txt
LayoutTests/fast/text/international/bidi-LDB-2-HTML-expected.checksum
LayoutTests/fast/text/international/bidi-LDB-2-HTML-expected.png
LayoutTests/fast/text/international/bidi-LDB-2-HTML-expected.txt
LayoutTests/fast/text/international/bidi-LDB-2-formatting-characters-expected.checksum
LayoutTests/fast/text/international/bidi-LDB-2-formatting-characters-expected.png
LayoutTests/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt
LayoutTests/fast/text/international/bidi-european-terminators-expected.checksum
LayoutTests/fast/text/international/bidi-european-terminators-expected.png
LayoutTests/fast/text/international/bidi-european-terminators-expected.txt
LayoutTests/fast/text/international/bidi-fallback-font-weight-expected.checksum
LayoutTests/fast/text/international/bidi-fallback-font-weight-expected.png
LayoutTests/fast/text/international/bidi-fallback-font-weight-expected.txt
LayoutTests/fast/text/international/bidi-ignored-for-first-child-inline-expected.checksum
LayoutTests/fast/text/international/bidi-ignored-for-first-child-inline-expected.png
LayoutTests/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt
LayoutTests/fast/text/international/bidi-innertext-expected.checksum
LayoutTests/fast/text/international/bidi-innertext-expected.png
LayoutTests/fast/text/international/bidi-innertext-expected.txt
LayoutTests/fast/text/international/bidi-override-expected.checksum
LayoutTests/fast/text/international/bidi-override-expected.png
LayoutTests/fast/text/international/bidi-override-expected.txt
WebKit/ChangeLog
WebKit/WebCoreSupport.subproj/WebTextRenderer.m

index 73299f21ef004d77eeed10db0868d65df2ff1fdb..0fc8042673a1324ece56ae6844be85454fca939e 100644 (file)
@@ -1,3 +1,48 @@
+2005-12-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>
+
+        Reviewed by Darin, committed by Adele.
+
+        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=6139
+          ATSUI code path should implement small caps, synthetic bold and oblique and correct metrics for fallback fonts
+
+        * fast/text/atsui-multiple-renderers-expected.checksum: Added.
+        * fast/text/atsui-multiple-renderers-expected.png: Added.
+        * fast/text/atsui-multiple-renderers-expected.txt: Added.
+        * fast/text/atsui-multiple-renderers.html: Added.
+
+        * css1/text_properties/text-transCapitalize-expected.checksum:
+        * css1/text_properties/text-transCapitalize-expected.png:
+        * fast/text/international/bidi-AN-after-L-expected.checksum:
+        * fast/text/international/bidi-AN-after-L-expected.png:
+        * fast/text/international/bidi-AN-after-L-expected.txt:
+        * fast/text/international/bidi-L2-run-reordering-expected.checksum:
+        * fast/text/international/bidi-L2-run-reordering-expected.png:
+        * fast/text/international/bidi-L2-run-reordering-expected.txt:
+        * fast/text/international/bidi-LDB-2-CSS-expected.checksum:
+        * fast/text/international/bidi-LDB-2-CSS-expected.png:
+        * fast/text/international/bidi-LDB-2-CSS-expected.txt:
+        * fast/text/international/bidi-LDB-2-HTML-expected.checksum:
+        * fast/text/international/bidi-LDB-2-HTML-expected.png:
+        * fast/text/international/bidi-LDB-2-HTML-expected.txt:
+        * fast/text/international/bidi-LDB-2-formatting-characters-expected.checksum:
+        * fast/text/international/bidi-LDB-2-formatting-characters-expected.png:
+        * fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
+        * fast/text/international/bidi-european-terminators-expected.checksum:
+        * fast/text/international/bidi-european-terminators-expected.png:
+        * fast/text/international/bidi-european-terminators-expected.txt:
+        * fast/text/international/bidi-fallback-font-weight-expected.checksum:
+        * fast/text/international/bidi-fallback-font-weight-expected.png:
+        * fast/text/international/bidi-fallback-font-weight-expected.txt:
+        * fast/text/international/bidi-ignored-for-first-child-inline-expected.checksum:
+        * fast/text/international/bidi-ignored-for-first-child-inline-expected.png:
+        * fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
+        * fast/text/international/bidi-innertext-expected.checksum:
+        * fast/text/international/bidi-innertext-expected.png:
+        * fast/text/international/bidi-innertext-expected.txt:
+        * fast/text/international/bidi-override-expected.checksum:
+        * fast/text/international/bidi-override-expected.png:
+        * fast/text/international/bidi-override-expected.txt:
+
 2005-12-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>
 
         Reviewed by Darin, committed by Adele.
index f6c1e1a19a7e2f6dac7d2ea04ae4767d7da372ec..dbfa26fdbc32f65373c810ee412cab147f995466 100644 (file)
@@ -1 +1 @@
-ba1d50aa8af90d8bc3c3a777b7ba28f8
\ No newline at end of file
+95c6873ca70f97217d5be63151fca4e7
\ No newline at end of file
index 2cb85bc9bf216c64cf60db1c5d4d7d7ff6e6d8c2..f24389a7e617c2c003be1a84a3b2b98741f6e3b3 100644 (file)
Binary files a/LayoutTests/css1/text_properties/text-transCapitalize-expected.png and b/LayoutTests/css1/text_properties/text-transCapitalize-expected.png differ
diff --git a/LayoutTests/fast/text/atsui-multiple-renderers-expected.checksum b/LayoutTests/fast/text/atsui-multiple-renderers-expected.checksum
new file mode 100644 (file)
index 0000000..aa9170a
--- /dev/null
@@ -0,0 +1 @@
+5260ae94c1f3087db913f3c47e1c1aa3
\ No newline at end of file
diff --git a/LayoutTests/fast/text/atsui-multiple-renderers-expected.png b/LayoutTests/fast/text/atsui-multiple-renderers-expected.png
new file mode 100644 (file)
index 0000000..33a8504
Binary files /dev/null and b/LayoutTests/fast/text/atsui-multiple-renderers-expected.png differ
diff --git a/LayoutTests/fast/text/atsui-multiple-renderers-expected.txt b/LayoutTests/fast/text/atsui-multiple-renderers-expected.txt
new file mode 100644 (file)
index 0000000..9c795dd
--- /dev/null
@@ -0,0 +1,110 @@
+layer at (0,0) size 800x600
+  RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock (anonymous) at (0,0) size 784x0
+        RenderInline {TITLE</TITLE} at (0,0) size 0x0
+          RenderText {TEXT} at (0,0) size 0x0
+          RenderText {TEXT} at (0,0) size 0x0
+          RenderText {TEXT} at (0,0) size 0x0
+          RenderText {TEXT} at (0,0) size 0x0
+      RenderBlock (anonymous) at (0,0) size 784x369
+        RenderBlock {P} at (0,0) size 784x36
+          RenderText {TEXT} at (0,0) size 104x18
+            text run at (0,0) width 104: "This is a test for "
+          RenderInline {I} at (0,0) size 757x36
+            RenderText {TEXT} at (104,0) size 757x36
+              text run at (104,0) width 653: "http://bugzilla.opendarwin.org/show_bug.cgi?id=6139 ATSUI code path should implement small caps,"
+              text run at (0,18) width 403: "synthetic bold and oblique and correct metrics for fallback fonts"
+          RenderText {TEXT} at (403,18) size 4x18
+            text run at (403,18) width 4: "."
+        RenderBlock {HR} at (0,52) size 784x2 [border: (1px inset #000000)]
+        RenderBlock {P} at (0,70) size 784x18
+          RenderText {TEXT} at (0,0) size 600x18
+            text run at (0,0) width 600: "The two columns should be identical except for the accent over the e and the umlaut over the u."
+        RenderTable {TABLE} at (0,104) size 263x146
+          RenderTableSection {TBODY} at (0,0) size 0x146
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TD} at (0,0) size 132x30 [border: (1px solid #008000)] [r=0 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (2,3) size 69x27
+                  text run at (2,3) width 69: "Lore\x{300}m "
+                RenderInline {SPAN} at (0,0) size 50x23
+                  RenderText {TEXT} at (71,5) size 50x23
+                    text run at (71,5) width 50: "ipsu\x{308}m"
+                RenderText {TEXT} at (0,0) size 0x0
+              RenderTableCell {TD} at (132,0) size 131x30 [border: (1px solid #008000)] [r=0 c=1 rs=1 cs=1]
+                RenderText {TEXT} at (2,3) size 69x27
+                  text run at (2,3) width 69: "Lorem "
+                RenderInline {SPAN} at (0,0) size 50x23
+                  RenderText {TEXT} at (71,5) size 50x23
+                    text run at (71,5) width 50: "ipsum"
+                RenderText {TEXT} at (0,0) size 0x0
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TD} at (0,30) size 132x30 [border: (1px solid #008000)] [r=1 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (2,3) size 76x27
+                  text run at (2,3) width 76: "Lore\x{300}m "
+                RenderInline {SPAN} at (0,0) size 53x23
+                  RenderText {TEXT} at (78,5) size 53x23
+                    text run at (78,5) width 53: "ipsu\x{308}m"
+                RenderText {TEXT} at (0,0) size 0x0
+              RenderTableCell {TD} at (132,30) size 131x30 [border: (1px solid #008000)] [r=1 c=1 rs=1 cs=1]
+                RenderText {TEXT} at (2,3) size 75x27
+                  text run at (2,3) width 75: "Lorem "
+                RenderInline {SPAN} at (0,0) size 53x23
+                  RenderText {TEXT} at (77,5) size 53x23
+                    text run at (77,5) width 53: "ipsum"
+                RenderText {TEXT} at (0,0) size 0x0
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TD} at (0,60) size 132x30 [border: (1px solid #008000)] [r=2 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (2,3) size 69x27
+                  text run at (2,3) width 69: "Lore\x{300}m "
+                RenderInline {SPAN} at (0,0) size 48x23
+                  RenderText {TEXT} at (71,5) size 48x23
+                    text run at (71,5) width 48: "ipsu\x{308}m"
+                RenderText {TEXT} at (0,0) size 0x0
+              RenderTableCell {TD} at (132,60) size 131x30 [border: (1px solid #008000)] [r=2 c=1 rs=1 cs=1]
+                RenderText {TEXT} at (2,3) size 69x27
+                  text run at (2,3) width 69: "Lorem "
+                RenderInline {SPAN} at (0,0) size 48x23
+                  RenderText {TEXT} at (71,5) size 48x23
+                    text run at (71,5) width 48: "ipsum"
+                RenderText {TEXT} at (0,0) size 0x0
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TD} at (0,90) size 132x30 [border: (1px solid #008000)] [r=3 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (2,3) size 76x27
+                  text run at (2,3) width 76: "Lore\x{300}m "
+                RenderInline {SPAN} at (0,0) size 51x23
+                  RenderText {TEXT} at (78,5) size 51x23
+                    text run at (78,5) width 51: "ipsu\x{308}m"
+                RenderText {TEXT} at (0,0) size 0x0
+              RenderTableCell {TD} at (132,90) size 131x30 [border: (1px solid #008000)] [r=3 c=1 rs=1 cs=1]
+                RenderText {TEXT} at (2,3) size 75x27
+                  text run at (2,3) width 75: "Lorem "
+                RenderInline {SPAN} at (0,0) size 51x23
+                  RenderText {TEXT} at (77,5) size 51x23
+                    text run at (77,5) width 51: "ipsum"
+                RenderText {TEXT} at (0,0) size 0x0
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TD} at (0,120) size 132x26 [border: (1px solid #008000)] [r=4 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (2,2) size 99x23
+                  text run at (2,2) width 99: "Lore\x{300}m ipsu\x{308}m"
+              RenderTableCell {TD} at (132,120) size 131x26 [border: (1px solid #008000)] [r=4 c=1 rs=1 cs=1]
+                RenderText {TEXT} at (2,2) size 100x23
+                  text run at (2,2) width 100: "Lorem ipsum"
+        RenderBlock {HR} at (0,258) size 784x2 [border: (1px inset #000000)]
+        RenderBlock {P} at (0,276) size 784x18
+          RenderText {TEXT} at (0,0) size 277x18
+            text run at (0,0) width 277: "The following two lines should be identical."
+        RenderBlock {P} at (0,310) size 784x22
+          RenderInline {SPAN} at (0,0) size 357x24 [border: (1px solid #008000)]
+            RenderText {TEXT} at (1,0) size 355x22
+              text run at (1,0) width 355: "\x{E01}\x{E02}\x{E03}\x{E04}\x{E05}\x{E06}\x{E07}\x{E08}\x{E01}\x{E02}\x{E03}\x{E04}\x{E05}\x{E06}\x{E07}\x{E08}\x{E01}\x{E02}\x{E03}\x{E04}\x{E05}\x{E06}\x{E07}\x{E08}\x{E01}\x{E02}\x{E03}\x{E04}\x{E05}\x{E06}\x{E07}\x{E08}"
+          RenderText {TEXT} at (0,0) size 0x0
+        RenderBlock {P} at (0,348) size 784x21
+          RenderInline {SPAN} at (0,0) size 357x23 [border: (1px solid #008000)]
+            RenderText {TEXT} at (1,0) size 355x21
+              text run at (1,0) width 355: "\x{E01}\x{E02}\x{E03}\x{E04}\x{E05}\x{E06}\x{E07}\x{E08}\x{E01}\x{E02}\x{E03}\x{E04}\x{E05}\x{E06}\x{E07}\x{E08}\x{E01}\x{E02}\x{E03}\x{E04}\x{E05}\x{E06}\x{E07}\x{E08}\x{E01}\x{E02}\x{E03}\x{E04}\x{E05}\x{E06}\x{E07}\x{E08}"
+          RenderText {TEXT} at (0,0) size 0x0
+      RenderBlock (anonymous) at (0,385) size 784x0
+        RenderInline {TITLE</TITLE} at (0,0) size 0x0
diff --git a/LayoutTests/fast/text/atsui-multiple-renderers.html b/LayoutTests/fast/text/atsui-multiple-renderers.html
new file mode 100644 (file)
index 0000000..d1e9412
--- /dev/null
@@ -0,0 +1,77 @@
+<html><head><title</title>
+<style type="text/css">
+table { border-collapse: collapse; }
+td { border: 1px solid green; }
+.times { font-family: Times; }
+</style>
+</head>
+<body>
+<p>
+This is a test for <i>http://bugzilla.opendarwin.org/show_bug.cgi?id=6139
+ATSUI code path should implement small caps, synthetic bold and oblique and correct metrics for fallback fonts</i>.
+</p>
+<hr>
+<p>
+The two columns should be identical except for the
+accent over the e and the umlaut over the u.
+</p>
+<table style="font-family: Geneva; font-size: 20px;">
+<tr>
+<td>
+Lore&#x0300;m <span class="times">ipsu&#x0308;m</span>
+</td>
+<td>
+Lorem <span class="times">ipsum</span>
+</td>
+</tr>
+<tr style="font-weight: bold;">
+<td>
+Lore&#x0300;m <span class="times">ipsu&#x0308;m</span>
+</td>
+<td>
+Lorem <span class="times">ipsum</span>
+</td>
+</tr>
+<tr style="font-style: italic;">
+<td>
+Lore&#x0300;m <span class="times">ipsu&#x0308;m</span>
+</td>
+<td>
+Lorem <span class="times">ipsum</span>
+</td>
+</tr>
+<tr style="font-weight: bold; font-style: italic;">
+<td>
+Lore&#x0300;m <span class="times">ipsu&#x0308;m</span>
+</td>
+<td>
+Lorem <span class="times">ipsum</span>
+</td>
+</tr>
+<tr style="font-variant: small-caps;" class="times">
+<td>
+Lore&#x0300;m ipsu&#x0308;m
+</td>
+<td>
+Lorem ipsum
+</td>
+</tr>
+</table>
+<hr>
+<p>
+The following two lines should be identical.
+</p>
+<!-- Fallback from Times to Lucida Grande -->
+<p>
+<span style="font-family:Times; font-size: 18px; border: solid green 1px;">
+&#x0e01;&#x0e02;&#x0e03;&#x0e04;&#x0e05;&#x0e06;&#x0e07;&#x0e08;&#x0e01;&#x0e02;&#x0e03;&#x0e04;&#x0e05;&#x0e06;&#x0e07;&#x0e08;&#x0e01;&#x0e02;&#x0e03;&#x0e04;&#x0e05;&#x0e06;&#x0e07;&#x0e08;&#x0e01;&#x0e02;&#x0e03;&#x0e04;&#x0e05;&#x0e06;&#x0e07;&#x0e08;
+</span>
+</p>
+<!-- Lucida Grande, no fallback -->
+<p>
+<span style="font-family:'Lucida Grande'; font-size: 18px; border: solid green 1px;">
+&#x0e01;&#x0e02;&#x0e03;&#x0e04;&#x0e05;&#x0e06;&#x0e07;&#x0e08;&#x0e01;&#x0e02;&#x0e03;&#x0e04;&#x0e05;&#x0e06;&#x0e07;&#x0e08;&#x0e01;&#x0e02;&#x0e03;&#x0e04;&#x0e05;&#x0e06;&#x0e07;&#x0e08;&#x0e01;&#x0e02;&#x0e03;&#x0e04;&#x0e05;&#x0e06;&#x0e07;&#x0e08;
+</span>
+</p>
+</body>
+</html>
index ab5c5c8e6be54926c963bbc3dd6181125047b763..ad7a7d0277b894582d2ff80da95558466792a3c2 100644 (file)
@@ -1 +1 @@
-f437ea8f1fd1c774bab0ce8620a2c642
\ No newline at end of file
+60c58e0f19133f0b0d6d6900fc31ef0f
\ No newline at end of file
index 88d285060cf841cf801085b431d258dc5d1ac412..da7d9f59a71b78f4d0a831cd31c9b8cd784781ea 100644 (file)
Binary files a/LayoutTests/fast/text/international/bidi-AN-after-L-expected.png and b/LayoutTests/fast/text/international/bidi-AN-after-L-expected.png differ
index 732969943c0280f2eca38b00c5a0adc6bf64162e..aec47780dc70daa4c7b0120324efb7e4bca74426 100644 (file)
@@ -7,10 +7,10 @@ layer at (0,0) size 800x110
         RenderText {TEXT} at (0,0) size 279x18
           text run at (0,0) width 279: "The following two lines should be the same:"
       RenderBlock {P} at (0,34) size 784x18
-        RenderText {TEXT} at (0,0) size 72x18
-          text run at (0,0) width 72 LTR override: "abc\x{5D2}\x{5D1}\x{5D0}\x{661}\x{662}\x{663}"
+        RenderText {TEXT} at (0,0) size 73x18
+          text run at (0,0) width 73 LTR override: "abc\x{5D2}\x{5D1}\x{5D0}\x{661}\x{662}\x{663}"
       RenderBlock {P} at (0,68) size 784x18
-        RenderText {TEXT} at (0,0) size 72x18
+        RenderText {TEXT} at (0,0) size 73x18
           text run at (0,0) width 22: "abc"
-          text run at (22,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-          text run at (48,0) width 24: "\x{661}\x{662}\x{663}"
+          text run at (22,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+          text run at (49,0) width 24: "\x{661}\x{662}\x{663}"
index 9226229e05cd426dc469fea77ec8b48c95f5571c..76d07f21f4720c4e723f1e529f401dbc70c5758b 100644 (file)
@@ -1 +1 @@
-38caf16b1c5f53cd5d589f724d5073f3
\ No newline at end of file
+335b6aea18938d310abab6c1de0b8223
\ No newline at end of file
index aa551eea52b289ce7da2036a2eb50557e78e6861..2208d6a0bb7f5a33fef1c2a933e0d22d8ce7c448 100644 (file)
Binary files a/LayoutTests/fast/text/international/bidi-L2-run-reordering-expected.png and b/LayoutTests/fast/text/international/bidi-L2-run-reordering-expected.png differ
index de1cc524bbd08abd471d8f930abd1f03654dacdb..adda652c5818dd5bdd0622156caf5527d87a6c6d 100644 (file)
@@ -8,31 +8,31 @@ layer at (0,0) size 800x102
           text run at (0,0) width 778: "The three boxes should be the same. The order in each box should be: Roman letters, Hebrew letters, digits, Hebrew letters,"
           text run at (0,18) width 91: "Roman letters."
       RenderBlock {P} at (0,52) size 784x18
-        RenderInline {SPAN} at (0,0) size 134x20 [border: (1px solid #008000)]
-          RenderText {TEXT} at (1,0) size 132x18
+        RenderInline {SPAN} at (0,0) size 136x20 [border: (1px solid #008000)]
+          RenderText {TEXT} at (1,0) size 134x18
             text run at (1,0) width 26: "abc "
-            text run at (27,0) width 28 RTL: " \x{5D3}\x{5D4}\x{5D5}"
-            text run at (55,0) width 24: "123"
-            text run at (79,0) width 30 RTL: "\x{5D0}\x{5D1}\x{5D2} "
-            text run at (109,0) width 24: " def"
-        RenderText {TEXT} at (134,0) size 4x18
-          text run at (134,0) width 4: " "
-        RenderInline {SPAN} at (0,0) size 134x20 [border: (1px solid #008000)]
-          RenderText {TEXT} at (139,0) size 132x18
-            text run at (139,0) width 26: "abc "
-            text run at (165,0) width 28 RTL: " \x{5D3}\x{5D4}\x{5D5}"
-            text run at (193,0) width 24: "123"
-            text run at (217,0) width 30 RTL: "\x{5D0}\x{5D1}\x{5D2} "
-            text run at (247,0) width 24: " def"
-        RenderText {TEXT} at (272,0) size 4x18
-          text run at (272,0) width 4: " "
-        RenderInline {SPAN} at (0,0) size 134x20 [border: (1px solid #008000)]
-          RenderText {TEXT} at (277,0) size 132x18
-            text run at (277,0) width 26: "abc "
-            text run at (303,0) width 28 RTL: " \x{5D3}\x{5D4}\x{5D5}"
-            text run at (331,0) width 24: "123"
-            text run at (355,0) width 30 RTL: "\x{5D0}\x{5D1}\x{5D2} "
-            text run at (385,0) width 24: " def"
+            text run at (27,0) width 29 RTL: " \x{5D3}\x{5D4}\x{5D5}"
+            text run at (56,0) width 24: "123"
+            text run at (80,0) width 31 RTL: "\x{5D0}\x{5D1}\x{5D2} "
+            text run at (111,0) width 24: " def"
+        RenderText {TEXT} at (136,0) size 4x18
+          text run at (136,0) width 4: " "
+        RenderInline {SPAN} at (0,0) size 136x20 [border: (1px solid #008000)]
+          RenderText {TEXT} at (141,0) size 134x18
+            text run at (141,0) width 26: "abc "
+            text run at (167,0) width 29 RTL: " \x{5D3}\x{5D4}\x{5D5}"
+            text run at (196,0) width 24: "123"
+            text run at (220,0) width 31 RTL: "\x{5D0}\x{5D1}\x{5D2} "
+            text run at (251,0) width 24: " def"
+        RenderText {TEXT} at (276,0) size 4x18
+          text run at (276,0) width 4: " "
+        RenderInline {SPAN} at (0,0) size 136x20 [border: (1px solid #008000)]
+          RenderText {TEXT} at (281,0) size 134x18
+            text run at (281,0) width 26: "abc "
+            text run at (307,0) width 29 RTL: " \x{5D3}\x{5D4}\x{5D5}"
+            text run at (336,0) width 24: "123"
+            text run at (360,0) width 31 RTL: "\x{5D0}\x{5D1}\x{5D2} "
+            text run at (391,0) width 24: " def"
         RenderText {TEXT} at (0,0) size 0x0
         RenderText {TEXT} at (0,0) size 0x0
         RenderText {TEXT} at (0,0) size 0x0
index 58dcddae4a620010c68eea82f300954dcac606e6..b9c378749e3895bf08be2449b7d636dcedc9272b 100644 (file)
@@ -1 +1 @@
-5b22d2b692802bc7c7ea11bb6a9fbf74
\ No newline at end of file
+28c457d86065ef7e6570ea56d8bbe9c0
\ No newline at end of file
index 1bbc0ab663daaff0a8150c41152f76fc59877d9f..debb8e5de86ca6f01bd4f957e90f05c494a24834 100644 (file)
Binary files a/LayoutTests/fast/text/international/bidi-LDB-2-CSS-expected.png and b/LayoutTests/fast/text/international/bidi-LDB-2-CSS-expected.png differ
index 1481eaebea877145ef68c55ed100aa21065b6fb2..6277e9a95df26d905f6547af51317dc82df232c3 100644 (file)
@@ -103,315 +103,315 @@ layer at (0,0) size 800x535
               text run at (0,0) width 34 RTL override: "CBA"
         RenderText {TEXT} at (108,77) size 4x18
           text run at (108,77) width 4: " "
-        RenderBlock {DIV} at (115,48) size 34x80 [border: (1px solid #008000)]
-          RenderBlock (anonymous) at (4,4) size 26x0
+        RenderBlock {DIV} at (115,48) size 36x80 [border: (1px solid #008000)]
+          RenderBlock (anonymous) at (4,4) size 28x0
             RenderText {TEXT} at (0,0) size 0x0
-          RenderTable {TABLE} at (4,4) size 26x18
+          RenderTable {TABLE} at (4,4) size 28x18
             RenderTableSection {TBODY} at (0,0) size 0x18
               RenderTableRow {TR} at (0,0) size 0x0
                 RenderTableCell {TD} at (0,0) size 7x18 [r=0 c=0 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 7x18
                     text run at (0,0) width 7 RTL: "\x{5D2}"
-                RenderTableCell {TD} at (7,0) size 9x18 [r=0 c=1 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 9x18
-                    text run at (0,0) width 9 RTL: "\x{5D1}"
-                RenderTableCell {TD} at (16,0) size 10x18 [r=0 c=2 rs=1 cs=1]
+                RenderTableCell {TD} at (7,0) size 10x18 [r=0 c=1 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D0}"
-          RenderBlock {P} at (4,22) size 26x18
-            RenderText {TEXT} at (0,0) size 26x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-          RenderBlock {P} at (4,40) size 26x18
-            RenderText {TEXT} at (0,0) size 26x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-          RenderBlock {P} at (4,58) size 26x18
-            RenderText {TEXT} at (0,0) size 26x18
-              text run at (0,0) width 26 LTR override: "\x{5D2}\x{5D1}\x{5D0}"
-        RenderText {TEXT} at (152,77) size 4x18
-          text run at (152,77) width 4: " "
-        RenderBlock {DIV} at (159,57) size 100x62 [border: (1px solid #008000)]
-          RenderBlock (anonymous) at (4,4) size 92x0
+                    text run at (0,0) width 10 RTL: "\x{5D1}"
+                RenderTableCell {TD} at (17,0) size 11x18 [r=0 c=2 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 11x18
+                    text run at (0,0) width 11 RTL: "\x{5D0}"
+          RenderBlock {P} at (4,22) size 28x18
+            RenderText {TEXT} at (0,0) size 27x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+          RenderBlock {P} at (4,40) size 28x18
+            RenderText {TEXT} at (0,0) size 27x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+          RenderBlock {P} at (4,58) size 28x18
+            RenderText {TEXT} at (0,0) size 27x18
+              text run at (0,0) width 27 LTR override: "\x{5D2}\x{5D1}\x{5D0}"
+        RenderText {TEXT} at (154,77) size 4x18
+          text run at (154,77) width 4: " "
+        RenderBlock {DIV} at (161,57) size 105x62 [border: (1px solid #008000)]
+          RenderBlock (anonymous) at (4,4) size 97x0
             RenderText {TEXT} at (0,0) size 0x0
-          RenderTable {TABLE} at (4,4) size 92x18
+          RenderTable {TABLE} at (4,4) size 97x18
             RenderTableSection {TBODY} at (0,0) size 0x18
               RenderTableRow {TR} at (0,0) size 0x0
                 RenderTableCell {TD} at (0,0) size 7x18 [r=0 c=0 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 7x18
                     text run at (0,0) width 7 RTL: "\x{5D2}"
-                RenderTableCell {TD} at (7,0) size 9x18 [r=0 c=1 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 9x18
-                    text run at (0,0) width 9 RTL: "\x{5D1}"
-                RenderTableCell {TD} at (16,0) size 10x18 [r=0 c=2 rs=1 cs=1]
+                RenderTableCell {TD} at (7,0) size 10x18 [r=0 c=1 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D0}"
-                RenderTableCell {TD} at (26,0) size 4x18 [r=0 c=3 rs=1 cs=1]
+                    text run at (0,0) width 10 RTL: "\x{5D1}"
+                RenderTableCell {TD} at (17,0) size 11x18 [r=0 c=2 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 11x18
+                    text run at (0,0) width 11 RTL: "\x{5D0}"
+                RenderTableCell {TD} at (28,0) size 4x18 [r=0 c=3 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (30,0) size 12x18 [r=0 c=4 rs=1 cs=1]
+                RenderTableCell {TD} at (32,0) size 12x18 [r=0 c=4 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "A"
-                RenderTableCell {TD} at (42,0) size 11x18 [r=0 c=5 rs=1 cs=1]
+                RenderTableCell {TD} at (44,0) size 11x18 [r=0 c=5 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "B"
-                RenderTableCell {TD} at (53,0) size 11x18 [r=0 c=6 rs=1 cs=1]
+                RenderTableCell {TD} at (55,0) size 11x18 [r=0 c=6 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "C"
-                RenderTableCell {TD} at (64,0) size 4x18 [r=0 c=7 rs=1 cs=1]
+                RenderTableCell {TD} at (66,0) size 4x18 [r=0 c=7 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (68,0) size 5x18 [r=0 c=8 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D5}"
-                RenderTableCell {TD} at (73,0) size 11x18 [r=0 c=9 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D4}"
-                RenderTableCell {TD} at (84,0) size 8x18 [r=0 c=10 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 8x18
-                    text run at (0,0) width 8 RTL: "\x{5D3}"
-          RenderBlock {P} at (4,22) size 92x18
-            RenderText {TEXT} at (0,0) size 92x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 42: " ABC "
-              text run at (68,0) width 24 RTL: "\x{5D3}\x{5D4}\x{5D5}"
-          RenderBlock {P} at (4,40) size 92x18
-            RenderText {TEXT} at (0,0) size 92x18
-              text run at (0,0) width 30 RTL: " \x{5D0}\x{5D1}\x{5D2}"
-              text run at (30,0) width 34: "ABC"
-              text run at (64,0) width 28 RTL: "\x{5D3}\x{5D4}\x{5D5} "
-        RenderText {TEXT} at (262,77) size 4x18
-          text run at (262,77) width 4: " "
-        RenderBlock {DIV} at (269,3) size 165x170 [border: (1px solid #008000)]
-          RenderBlock (anonymous) at (4,4) size 157x0
+                RenderTableCell {TD} at (70,0) size 6x18 [r=0 c=8 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D5}"
+                RenderTableCell {TD} at (76,0) size 12x18 [r=0 c=9 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D4}"
+                RenderTableCell {TD} at (88,0) size 9x18 [r=0 c=10 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 9x18
+                    text run at (0,0) width 9 RTL: "\x{5D3}"
+          RenderBlock {P} at (4,22) size 97x18
+            RenderText {TEXT} at (0,0) size 94x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 42: " ABC "
+              text run at (69,0) width 25 RTL: "\x{5D3}\x{5D4}\x{5D5}"
+          RenderBlock {P} at (4,40) size 97x18
+            RenderText {TEXT} at (0,0) size 94x18
+              text run at (0,0) width 31 RTL: " \x{5D0}\x{5D1}\x{5D2}"
+              text run at (31,0) width 34: "ABC"
+              text run at (65,0) width 29 RTL: "\x{5D3}\x{5D4}\x{5D5} "
+        RenderText {TEXT} at (269,77) size 4x18
+          text run at (269,77) width 4: " "
+        RenderBlock {DIV} at (276,3) size 173x170 [border: (1px solid #008000)]
+          RenderBlock (anonymous) at (4,4) size 165x0
             RenderText {TEXT} at (0,0) size 0x0
-          RenderTable {TABLE} at (4,4) size 157x18
+          RenderTable {TABLE} at (4,4) size 165x18
             RenderTableSection {TBODY} at (0,0) size 0x18
               RenderTableRow {TR} at (0,0) size 0x0
                 RenderTableCell {TD} at (0,0) size 7x18 [r=0 c=0 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 7x18
                     text run at (0,0) width 7 RTL: "\x{5D2}"
-                RenderTableCell {TD} at (7,0) size 9x18 [r=0 c=1 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 9x18
-                    text run at (0,0) width 9 RTL: "\x{5D1}"
-                RenderTableCell {TD} at (16,0) size 10x18 [r=0 c=2 rs=1 cs=1]
+                RenderTableCell {TD} at (7,0) size 10x18 [r=0 c=1 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D0}"
-                RenderTableCell {TD} at (26,0) size 4x18 [r=0 c=3 rs=1 cs=1]
+                    text run at (0,0) width 10 RTL: "\x{5D1}"
+                RenderTableCell {TD} at (17,0) size 11x18 [r=0 c=2 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 11x18
+                    text run at (0,0) width 11 RTL: "\x{5D0}"
+                RenderTableCell {TD} at (28,0) size 4x18 [r=0 c=3 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (30,0) size 12x18 [r=0 c=4 rs=1 cs=1]
+                RenderTableCell {TD} at (32,0) size 12x18 [r=0 c=4 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "A"
-                RenderTableCell {TD} at (42,0) size 11x18 [r=0 c=5 rs=1 cs=1]
+                RenderTableCell {TD} at (44,0) size 11x18 [r=0 c=5 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "B"
-                RenderTableCell {TD} at (53,0) size 11x18 [r=0 c=6 rs=1 cs=1]
+                RenderTableCell {TD} at (55,0) size 11x18 [r=0 c=6 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "C"
-                RenderTableCell {TD} at (64,0) size 4x18 [r=0 c=7 rs=1 cs=1]
+                RenderTableCell {TD} at (66,0) size 4x18 [r=0 c=7 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (68,0) size 5x18 [r=0 c=8 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D5}"
-                RenderTableCell {TD} at (73,0) size 11x18 [r=0 c=9 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D4}"
-                RenderTableCell {TD} at (84,0) size 8x18 [r=0 c=10 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 8x18
-                    text run at (0,0) width 8 RTL: "\x{5D3}"
-                RenderTableCell {TD} at (92,0) size 4x18 [r=0 c=11 rs=1 cs=1]
+                RenderTableCell {TD} at (70,0) size 6x18 [r=0 c=8 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D5}"
+                RenderTableCell {TD} at (76,0) size 12x18 [r=0 c=9 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D4}"
+                RenderTableCell {TD} at (88,0) size 9x18 [r=0 c=10 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 9x18
+                    text run at (0,0) width 9 RTL: "\x{5D3}"
+                RenderTableCell {TD} at (97,0) size 4x18 [r=0 c=11 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (96,0) size 12x18 [r=0 c=12 rs=1 cs=1]
+                RenderTableCell {TD} at (101,0) size 12x18 [r=0 c=12 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "D"
-                RenderTableCell {TD} at (108,0) size 10x18 [r=0 c=13 rs=1 cs=1]
+                RenderTableCell {TD} at (113,0) size 10x18 [r=0 c=13 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
                     text run at (0,0) width 10: "E"
-                RenderTableCell {TD} at (118,0) size 9x18 [r=0 c=14 rs=1 cs=1]
+                RenderTableCell {TD} at (123,0) size 9x18 [r=0 c=14 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 9x18
                     text run at (0,0) width 9: "F"
-                RenderTableCell {TD} at (127,0) size 4x18 [r=0 c=15 rs=1 cs=1]
+                RenderTableCell {TD} at (132,0) size 4x18 [r=0 c=15 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (131,0) size 10x18 [r=0 c=16 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D8}"
-                RenderTableCell {TD} at (141,0) size 11x18 [r=0 c=17 rs=1 cs=1]
+                RenderTableCell {TD} at (136,0) size 11x18 [r=0 c=16 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D7}"
-                RenderTableCell {TD} at (152,0) size 5x18 [r=0 c=18 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D6}"
-          RenderBlock {P} at (4,22) size 157x18
-            RenderText {TEXT} at (0,0) size 157x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 42: " ABC "
-              text run at (68,0) width 24 RTL: "\x{5D3}\x{5D4}\x{5D5}"
-              text run at (92,0) width 39: " DEF "
-              text run at (131,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-          RenderBlock {P} at (4,40) size 157x18
-            RenderText {TEXT} at (0,0) size 30x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 4: " "
-            RenderInline {SPAN} at (0,0) size 62x18
-              RenderText {TEXT} at (30,0) size 62x18
-                text run at (30,0) width 38: "ABC "
-                text run at (68,0) width 24 RTL: "\x{5D3}\x{5D4}\x{5D5}"
-            RenderText {TEXT} at (92,0) size 65x18
-              text run at (92,0) width 39: " DEF "
-              text run at (131,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-          RenderBlock {P} at (4,58) size 157x18
-            RenderText {TEXT} at (0,0) size 30x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 4: " "
-            RenderInline {SPAN} at (0,0) size 97x18
-              RenderText {TEXT} at (30,0) size 97x18
-                text run at (30,0) width 38: "ABC "
-                text run at (68,0) width 24 RTL: "\x{5D3}\x{5D4}\x{5D5}"
-                text run at (92,0) width 35: " DEF"
-            RenderText {TEXT} at (127,0) size 30x18
-              text run at (127,0) width 4: " "
-              text run at (131,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-          RenderBlock {P} at (4,76) size 157x18
-            RenderText {TEXT} at (127,0) size 30x18
-              text run at (127,0) width 30 RTL: "\x{5D6}\x{5D7}\x{5D8} "
-            RenderInline {SPAN} at (0,0) size 97x18
-              RenderText {TEXT} at (30,0) size 97x18
-                text run at (30,0) width 34: "ABC"
-                text run at (64,0) width 32 RTL: " \x{5D3}\x{5D4}\x{5D5} "
-                text run at (96,0) width 31: "DEF"
-            RenderText {TEXT} at (0,0) size 30x18
-              text run at (0,0) width 30 RTL: " \x{5D0}\x{5D1}\x{5D2}"
-          RenderBlock {P} at (4,94) size 157x18
-            RenderText {TEXT} at (64,0) size 28x18
-              text run at (64,0) width 28 RTL: "\x{5D3}\x{5D4}\x{5D5} "
-            RenderInline {SPAN} at (0,0) size 64x18
-              RenderText {TEXT} at (0,0) size 64x18
-                text run at (0,0) width 30 RTL: " \x{5D0}\x{5D1}\x{5D2}"
-                text run at (30,0) width 34: "ABC"
-            RenderText {TEXT} at (92,0) size 65x18
-              text run at (92,0) width 39: " DEF "
-              text run at (131,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-          RenderBlock {P} at (4,112) size 157x18
-            RenderText {TEXT} at (64,0) size 28x18
-              text run at (64,0) width 28 RTL: "\x{5D3}\x{5D4}\x{5D5} "
-            RenderInline {SPAN} at (0,0) size 64x18
-              RenderText {TEXT} at (0,0) size 64x18
-                text run at (0,0) width 64 RTL override: "CBA \x{5D0}\x{5D1}\x{5D2}"
-            RenderText {TEXT} at (92,0) size 65x18
-              text run at (92,0) width 39: " DEF "
-              text run at (131,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-          RenderBlock {P} at (4,130) size 157x18
-            RenderText {TEXT} at (0,0) size 30x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 4: " "
-            RenderInline {SPAN} at (0,0) size 62x18
-              RenderText {TEXT} at (30,0) size 62x18
-                text run at (30,0) width 62 LTR override: "ABC \x{5D5}\x{5D4}\x{5D3}"
-            RenderText {TEXT} at (92,0) size 65x18
-              text run at (92,0) width 39: " DEF "
-              text run at (131,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-          RenderBlock {P} at (4,148) size 157x18
-            RenderText {TEXT} at (127,0) size 30x18
-              text run at (127,0) width 30 RTL: "\x{5D6}\x{5D7}\x{5D8} "
-            RenderInline {SPAN} at (0,0) size 62x18
-              RenderText {TEXT} at (30,0) size 62x18
-                text run at (30,0) width 62 LTR override: "ABC \x{5D5}\x{5D4}\x{5D3}"
-            RenderText {TEXT} at (0,0) size 127x18
-              text run at (0,0) width 30 RTL: " \x{5D0}\x{5D1}\x{5D2}"
-              text run at (92,0) width 35: " DEF"
-        RenderText {TEXT} at (437,77) size 4x18
-          text run at (437,77) width 4: " "
-        RenderBlock {DIV} at (444,66) size 198x44 [border: (1px solid #008000)]
-          RenderBlock (anonymous) at (4,4) size 190x0
+                    text run at (0,0) width 11 RTL: "\x{5D8}"
+                RenderTableCell {TD} at (147,0) size 12x18 [r=0 c=17 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D7}"
+                RenderTableCell {TD} at (159,0) size 6x18 [r=0 c=18 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D6}"
+          RenderBlock {P} at (4,22) size 165x18
+            RenderText {TEXT} at (0,0) size 161x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 42: " ABC "
+              text run at (69,0) width 25 RTL: "\x{5D3}\x{5D4}\x{5D5}"
+              text run at (94,0) width 39: " DEF "
+              text run at (133,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+          RenderBlock {P} at (4,40) size 165x18
+            RenderText {TEXT} at (0,0) size 31x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 4: " "
+            RenderInline {SPAN} at (0,0) size 63x18
+              RenderText {TEXT} at (31,0) size 63x18
+                text run at (31,0) width 38: "ABC "
+                text run at (69,0) width 25 RTL: "\x{5D3}\x{5D4}\x{5D5}"
+            RenderText {TEXT} at (94,0) size 67x18
+              text run at (94,0) width 39: " DEF "
+              text run at (133,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+          RenderBlock {P} at (4,58) size 165x18
+            RenderText {TEXT} at (0,0) size 31x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 4: " "
+            RenderInline {SPAN} at (0,0) size 98x18
+              RenderText {TEXT} at (31,0) size 98x18
+                text run at (31,0) width 38: "ABC "
+                text run at (69,0) width 25 RTL: "\x{5D3}\x{5D4}\x{5D5}"
+                text run at (94,0) width 35: " DEF"
+            RenderText {TEXT} at (129,0) size 32x18
+              text run at (129,0) width 4: " "
+              text run at (133,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+          RenderBlock {P} at (4,76) size 165x18
+            RenderText {TEXT} at (129,0) size 32x18
+              text run at (129,0) width 32 RTL: "\x{5D6}\x{5D7}\x{5D8} "
+            RenderInline {SPAN} at (0,0) size 98x18
+              RenderText {TEXT} at (31,0) size 98x18
+                text run at (31,0) width 34: "ABC"
+                text run at (65,0) width 33 RTL: " \x{5D3}\x{5D4}\x{5D5} "
+                text run at (98,0) width 31: "DEF"
+            RenderText {TEXT} at (0,0) size 31x18
+              text run at (0,0) width 31 RTL: " \x{5D0}\x{5D1}\x{5D2}"
+          RenderBlock {P} at (4,94) size 165x18
+            RenderText {TEXT} at (65,0) size 29x18
+              text run at (65,0) width 29 RTL: "\x{5D3}\x{5D4}\x{5D5} "
+            RenderInline {SPAN} at (0,0) size 65x18
+              RenderText {TEXT} at (0,0) size 65x18
+                text run at (0,0) width 31 RTL: " \x{5D0}\x{5D1}\x{5D2}"
+                text run at (31,0) width 34: "ABC"
+            RenderText {TEXT} at (94,0) size 67x18
+              text run at (94,0) width 39: " DEF "
+              text run at (133,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+          RenderBlock {P} at (4,112) size 165x18
+            RenderText {TEXT} at (65,0) size 29x18
+              text run at (65,0) width 29 RTL: "\x{5D3}\x{5D4}\x{5D5} "
+            RenderInline {SPAN} at (0,0) size 65x18
+              RenderText {TEXT} at (0,0) size 65x18
+                text run at (0,0) width 65 RTL override: "CBA \x{5D0}\x{5D1}\x{5D2}"
+            RenderText {TEXT} at (94,0) size 67x18
+              text run at (94,0) width 39: " DEF "
+              text run at (133,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+          RenderBlock {P} at (4,130) size 165x18
+            RenderText {TEXT} at (0,0) size 31x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 4: " "
+            RenderInline {SPAN} at (0,0) size 63x18
+              RenderText {TEXT} at (31,0) size 63x18
+                text run at (31,0) width 63 LTR override: "ABC \x{5D5}\x{5D4}\x{5D3}"
+            RenderText {TEXT} at (94,0) size 67x18
+              text run at (94,0) width 39: " DEF "
+              text run at (133,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+          RenderBlock {P} at (4,148) size 165x18
+            RenderText {TEXT} at (129,0) size 32x18
+              text run at (129,0) width 32 RTL: "\x{5D6}\x{5D7}\x{5D8} "
+            RenderInline {SPAN} at (0,0) size 63x18
+              RenderText {TEXT} at (31,0) size 63x18
+                text run at (31,0) width 63 LTR override: "ABC \x{5D5}\x{5D4}\x{5D3}"
+            RenderText {TEXT} at (0,0) size 129x18
+              text run at (0,0) width 31 RTL: " \x{5D0}\x{5D1}\x{5D2}"
+              text run at (94,0) width 35: " DEF"
+        RenderText {TEXT} at (452,77) size 4x18
+          text run at (452,77) width 4: " "
+        RenderBlock {DIV} at (459,66) size 206x44 [border: (1px solid #008000)]
+          RenderBlock (anonymous) at (4,4) size 198x0
             RenderText {TEXT} at (0,0) size 0x0
-          RenderTable {TABLE} at (4,4) size 190x18
+          RenderTable {TABLE} at (4,4) size 198x18
             RenderTableSection {TBODY} at (0,0) size 0x18
               RenderTableRow {TR} at (0,0) size 0x0
                 RenderTableCell {TD} at (0,0) size 7x18 [r=0 c=0 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 7x18
                     text run at (0,0) width 7 RTL: "\x{5D2}"
-                RenderTableCell {TD} at (7,0) size 9x18 [r=0 c=1 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 9x18
-                    text run at (0,0) width 9 RTL: "\x{5D1}"
-                RenderTableCell {TD} at (16,0) size 10x18 [r=0 c=2 rs=1 cs=1]
+                RenderTableCell {TD} at (7,0) size 10x18 [r=0 c=1 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D0}"
-                RenderTableCell {TD} at (26,0) size 4x18 [r=0 c=3 rs=1 cs=1]
+                    text run at (0,0) width 10 RTL: "\x{5D1}"
+                RenderTableCell {TD} at (17,0) size 11x18 [r=0 c=2 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 11x18
+                    text run at (0,0) width 11 RTL: "\x{5D0}"
+                RenderTableCell {TD} at (28,0) size 4x18 [r=0 c=3 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (30,0) size 12x18 [r=0 c=4 rs=1 cs=1]
+                RenderTableCell {TD} at (32,0) size 12x18 [r=0 c=4 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "A"
-                RenderTableCell {TD} at (42,0) size 11x18 [r=0 c=5 rs=1 cs=1]
+                RenderTableCell {TD} at (44,0) size 11x18 [r=0 c=5 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "B"
-                RenderTableCell {TD} at (53,0) size 11x18 [r=0 c=6 rs=1 cs=1]
+                RenderTableCell {TD} at (55,0) size 11x18 [r=0 c=6 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "C"
-                RenderTableCell {TD} at (64,0) size 4x18 [r=0 c=7 rs=1 cs=1]
+                RenderTableCell {TD} at (66,0) size 4x18 [r=0 c=7 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (68,0) size 5x18 [r=0 c=8 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D5}"
-                RenderTableCell {TD} at (73,0) size 11x18 [r=0 c=9 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D4}"
-                RenderTableCell {TD} at (84,0) size 8x18 [r=0 c=10 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 8x18
-                    text run at (0,0) width 8 RTL: "\x{5D3}"
-                RenderTableCell {TD} at (92,0) size 4x18 [r=0 c=11 rs=1 cs=1]
+                RenderTableCell {TD} at (70,0) size 6x18 [r=0 c=8 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D5}"
+                RenderTableCell {TD} at (76,0) size 12x18 [r=0 c=9 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D4}"
+                RenderTableCell {TD} at (88,0) size 9x18 [r=0 c=10 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 9x18
+                    text run at (0,0) width 9 RTL: "\x{5D3}"
+                RenderTableCell {TD} at (97,0) size 4x18 [r=0 c=11 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (96,0) size 12x18 [r=0 c=12 rs=1 cs=1]
+                RenderTableCell {TD} at (101,0) size 12x18 [r=0 c=12 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "D"
-                RenderTableCell {TD} at (108,0) size 10x18 [r=0 c=13 rs=1 cs=1]
+                RenderTableCell {TD} at (113,0) size 10x18 [r=0 c=13 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
                     text run at (0,0) width 10: "E"
-                RenderTableCell {TD} at (118,0) size 9x18 [r=0 c=14 rs=1 cs=1]
+                RenderTableCell {TD} at (123,0) size 9x18 [r=0 c=14 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 9x18
                     text run at (0,0) width 9: "F"
-                RenderTableCell {TD} at (127,0) size 4x18 [r=0 c=15 rs=1 cs=1]
+                RenderTableCell {TD} at (132,0) size 4x18 [r=0 c=15 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (131,0) size 12x18 [r=0 c=16 rs=1 cs=1]
+                RenderTableCell {TD} at (136,0) size 12x18 [r=0 c=16 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "G"
-                RenderTableCell {TD} at (143,0) size 12x18 [r=0 c=17 rs=1 cs=1]
+                RenderTableCell {TD} at (148,0) size 12x18 [r=0 c=17 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "H"
-                RenderTableCell {TD} at (155,0) size 5x18 [r=0 c=18 rs=1 cs=1]
+                RenderTableCell {TD} at (160,0) size 5x18 [r=0 c=18 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 5x18
                     text run at (0,0) width 5: "I"
-                RenderTableCell {TD} at (160,0) size 4x18 [r=0 c=19 rs=1 cs=1]
+                RenderTableCell {TD} at (165,0) size 4x18 [r=0 c=19 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (164,0) size 10x18 [r=0 c=20 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D8}"
-                RenderTableCell {TD} at (174,0) size 11x18 [r=0 c=21 rs=1 cs=1]
+                RenderTableCell {TD} at (169,0) size 11x18 [r=0 c=20 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D7}"
-                RenderTableCell {TD} at (185,0) size 5x18 [r=0 c=22 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D6}"
-          RenderBlock {P} at (4,22) size 190x18
-            RenderText {TEXT} at (0,0) size 190x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 42: " ABC "
-              text run at (68,0) width 24 RTL: "\x{5D3}\x{5D4}\x{5D5}"
-              text run at (92,0) width 72: " DEF GHI "
-              text run at (164,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-        RenderText {TEXT} at (645,77) size 4x18
-          text run at (645,77) width 4: " "
+                    text run at (0,0) width 11 RTL: "\x{5D8}"
+                RenderTableCell {TD} at (180,0) size 12x18 [r=0 c=21 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D7}"
+                RenderTableCell {TD} at (192,0) size 6x18 [r=0 c=22 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D6}"
+          RenderBlock {P} at (4,22) size 198x18
+            RenderText {TEXT} at (0,0) size 194x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 42: " ABC "
+              text run at (69,0) width 25 RTL: "\x{5D3}\x{5D4}\x{5D5}"
+              text run at (94,0) width 72: " DEF GHI "
+              text run at (166,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+        RenderText {TEXT} at (668,77) size 4x18
+          text run at (668,77) width 4: " "
         RenderBR {BR} at (0,0) size 0x0
-        RenderBlock {DIV} at (3,179) size 198x44 [border: (1px solid #008000)]
-          RenderBlock (anonymous) at (4,4) size 190x0
+        RenderBlock {DIV} at (3,179) size 206x44 [border: (1px solid #008000)]
+          RenderBlock (anonymous) at (4,4) size 198x0
             RenderText {TEXT} at (0,0) size 0x0
-          RenderTable {TABLE} at (4,4) size 190x18
+          RenderTable {TABLE} at (4,4) size 198x18
             RenderTableSection {TBODY} at (0,0) size 0x18
               RenderTableRow {TR} at (0,0) size 0x0
                 RenderTableCell {TD} at (0,0) size 9x18 [r=0 c=0 rs=1 cs=1]
@@ -426,159 +426,159 @@ layer at (0,0) size 800x535
                 RenderTableCell {TD} at (31,0) size 4x18 [r=0 c=3 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (35,0) size 5x18 [r=0 c=4 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D5}"
-                RenderTableCell {TD} at (40,0) size 11x18 [r=0 c=5 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D4}"
-                RenderTableCell {TD} at (51,0) size 8x18 [r=0 c=6 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 8x18
-                    text run at (0,0) width 8 RTL: "\x{5D3}"
-                RenderTableCell {TD} at (59,0) size 4x18 [r=0 c=7 rs=1 cs=1]
+                RenderTableCell {TD} at (35,0) size 6x18 [r=0 c=4 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D5}"
+                RenderTableCell {TD} at (41,0) size 12x18 [r=0 c=5 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D4}"
+                RenderTableCell {TD} at (53,0) size 9x18 [r=0 c=6 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 9x18
+                    text run at (0,0) width 9 RTL: "\x{5D3}"
+                RenderTableCell {TD} at (62,0) size 4x18 [r=0 c=7 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (63,0) size 11x18 [r=0 c=8 rs=1 cs=1]
+                RenderTableCell {TD} at (66,0) size 11x18 [r=0 c=8 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "C"
-                RenderTableCell {TD} at (74,0) size 11x18 [r=0 c=9 rs=1 cs=1]
+                RenderTableCell {TD} at (77,0) size 11x18 [r=0 c=9 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "B"
-                RenderTableCell {TD} at (85,0) size 12x18 [r=0 c=10 rs=1 cs=1]
+                RenderTableCell {TD} at (88,0) size 12x18 [r=0 c=10 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "A"
-                RenderTableCell {TD} at (97,0) size 4x18 [r=0 c=11 rs=1 cs=1]
+                RenderTableCell {TD} at (100,0) size 4x18 [r=0 c=11 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (101,0) size 7x18 [r=0 c=12 rs=1 cs=1]
+                RenderTableCell {TD} at (104,0) size 7x18 [r=0 c=12 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 7x18
                     text run at (0,0) width 7 RTL: "\x{5D2}"
-                RenderTableCell {TD} at (108,0) size 9x18 [r=0 c=13 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 9x18
-                    text run at (0,0) width 9 RTL: "\x{5D1}"
-                RenderTableCell {TD} at (117,0) size 10x18 [r=0 c=14 rs=1 cs=1]
+                RenderTableCell {TD} at (111,0) size 10x18 [r=0 c=13 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D0}"
-                RenderTableCell {TD} at (127,0) size 4x18 [r=0 c=15 rs=1 cs=1]
+                    text run at (0,0) width 10 RTL: "\x{5D1}"
+                RenderTableCell {TD} at (121,0) size 11x18 [r=0 c=14 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 11x18
+                    text run at (0,0) width 11 RTL: "\x{5D0}"
+                RenderTableCell {TD} at (132,0) size 4x18 [r=0 c=15 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (131,0) size 12x18 [r=0 c=16 rs=1 cs=1]
+                RenderTableCell {TD} at (136,0) size 12x18 [r=0 c=16 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "G"
-                RenderTableCell {TD} at (143,0) size 12x18 [r=0 c=17 rs=1 cs=1]
+                RenderTableCell {TD} at (148,0) size 12x18 [r=0 c=17 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "H"
-                RenderTableCell {TD} at (155,0) size 5x18 [r=0 c=18 rs=1 cs=1]
+                RenderTableCell {TD} at (160,0) size 5x18 [r=0 c=18 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 5x18
                     text run at (0,0) width 5: "I"
-                RenderTableCell {TD} at (160,0) size 4x18 [r=0 c=19 rs=1 cs=1]
+                RenderTableCell {TD} at (165,0) size 4x18 [r=0 c=19 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (164,0) size 10x18 [r=0 c=20 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D8}"
-                RenderTableCell {TD} at (174,0) size 11x18 [r=0 c=21 rs=1 cs=1]
+                RenderTableCell {TD} at (169,0) size 11x18 [r=0 c=20 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D7}"
-                RenderTableCell {TD} at (185,0) size 5x18 [r=0 c=22 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D6}"
-          RenderBlock {P} at (4,22) size 190x18
-            RenderText {TEXT} at (97,0) size 30x18
-              text run at (97,0) width 30 RTL: "\x{5D0}\x{5D1}\x{5D2} "
-            RenderInline {SPAN} at (0,0) size 97x18
-              RenderText {TEXT} at (0,0) size 97x18
-                text run at (0,0) width 97 RTL override: "ABC \x{5D3}\x{5D4}\x{5D5} DEF"
-            RenderText {TEXT} at (127,0) size 63x18
-              text run at (127,0) width 37: " GHI "
-              text run at (164,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-        RenderText {TEXT} at (204,190) size 4x18
-          text run at (204,190) width 4: " "
-        RenderBlock {DIV} at (211,179) size 198x44 [border: (1px solid #008000)]
-          RenderBlock (anonymous) at (4,4) size 190x0
+                    text run at (0,0) width 11 RTL: "\x{5D8}"
+                RenderTableCell {TD} at (180,0) size 12x18 [r=0 c=21 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D7}"
+                RenderTableCell {TD} at (192,0) size 6x18 [r=0 c=22 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D6}"
+          RenderBlock {P} at (4,22) size 198x18
+            RenderText {TEXT} at (98,0) size 31x18
+              text run at (98,0) width 31 RTL: "\x{5D0}\x{5D1}\x{5D2} "
+            RenderInline {SPAN} at (0,0) size 98x18
+              RenderText {TEXT} at (0,0) size 98x18
+                text run at (0,0) width 98 RTL override: "ABC \x{5D3}\x{5D4}\x{5D5} DEF"
+            RenderText {TEXT} at (129,0) size 65x18
+              text run at (129,0) width 37: " GHI "
+              text run at (166,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+        RenderText {TEXT} at (212,190) size 4x18
+          text run at (212,190) width 4: " "
+        RenderBlock {DIV} at (219,179) size 206x44 [border: (1px solid #008000)]
+          RenderBlock (anonymous) at (4,4) size 198x0
             RenderText {TEXT} at (0,0) size 0x0
-          RenderTable {TABLE} at (4,4) size 190x18
+          RenderTable {TABLE} at (4,4) size 198x18
             RenderTableSection {TBODY} at (0,0) size 0x18
               RenderTableRow {TR} at (0,0) size 0x0
                 RenderTableCell {TD} at (0,0) size 7x18 [r=0 c=0 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 7x18
                     text run at (0,0) width 7 RTL: "\x{5D2}"
-                RenderTableCell {TD} at (7,0) size 9x18 [r=0 c=1 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 9x18
-                    text run at (0,0) width 9 RTL: "\x{5D1}"
-                RenderTableCell {TD} at (16,0) size 10x18 [r=0 c=2 rs=1 cs=1]
+                RenderTableCell {TD} at (7,0) size 10x18 [r=0 c=1 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D0}"
-                RenderTableCell {TD} at (26,0) size 4x18 [r=0 c=3 rs=1 cs=1]
+                    text run at (0,0) width 10 RTL: "\x{5D1}"
+                RenderTableCell {TD} at (17,0) size 11x18 [r=0 c=2 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 11x18
+                    text run at (0,0) width 11 RTL: "\x{5D0}"
+                RenderTableCell {TD} at (28,0) size 4x18 [r=0 c=3 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (30,0) size 12x18 [r=0 c=4 rs=1 cs=1]
+                RenderTableCell {TD} at (32,0) size 12x18 [r=0 c=4 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "A"
-                RenderTableCell {TD} at (42,0) size 11x18 [r=0 c=5 rs=1 cs=1]
+                RenderTableCell {TD} at (44,0) size 11x18 [r=0 c=5 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "B"
-                RenderTableCell {TD} at (53,0) size 11x18 [r=0 c=6 rs=1 cs=1]
+                RenderTableCell {TD} at (55,0) size 11x18 [r=0 c=6 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "C"
-                RenderTableCell {TD} at (64,0) size 4x18 [r=0 c=7 rs=1 cs=1]
+                RenderTableCell {TD} at (66,0) size 4x18 [r=0 c=7 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (68,0) size 9x18 [r=0 c=8 rs=1 cs=1]
+                RenderTableCell {TD} at (70,0) size 9x18 [r=0 c=8 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 9x18
                     text run at (0,0) width 9: "F"
-                RenderTableCell {TD} at (77,0) size 10x18 [r=0 c=9 rs=1 cs=1]
+                RenderTableCell {TD} at (79,0) size 10x18 [r=0 c=9 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
                     text run at (0,0) width 10: "E"
-                RenderTableCell {TD} at (87,0) size 12x18 [r=0 c=10 rs=1 cs=1]
+                RenderTableCell {TD} at (89,0) size 12x18 [r=0 c=10 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "D"
-                RenderTableCell {TD} at (99,0) size 4x18 [r=0 c=11 rs=1 cs=1]
+                RenderTableCell {TD} at (101,0) size 4x18 [r=0 c=11 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (103,0) size 5x18 [r=0 c=12 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D5}"
-                RenderTableCell {TD} at (108,0) size 11x18 [r=0 c=13 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D4}"
-                RenderTableCell {TD} at (119,0) size 8x18 [r=0 c=14 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 8x18
-                    text run at (0,0) width 8 RTL: "\x{5D3}"
-                RenderTableCell {TD} at (127,0) size 4x18 [r=0 c=15 rs=1 cs=1]
+                RenderTableCell {TD} at (105,0) size 6x18 [r=0 c=12 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D5}"
+                RenderTableCell {TD} at (111,0) size 12x18 [r=0 c=13 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D4}"
+                RenderTableCell {TD} at (123,0) size 9x18 [r=0 c=14 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 9x18
+                    text run at (0,0) width 9 RTL: "\x{5D3}"
+                RenderTableCell {TD} at (132,0) size 4x18 [r=0 c=15 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (131,0) size 12x18 [r=0 c=16 rs=1 cs=1]
+                RenderTableCell {TD} at (136,0) size 12x18 [r=0 c=16 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "G"
-                RenderTableCell {TD} at (143,0) size 12x18 [r=0 c=17 rs=1 cs=1]
+                RenderTableCell {TD} at (148,0) size 12x18 [r=0 c=17 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "H"
-                RenderTableCell {TD} at (155,0) size 5x18 [r=0 c=18 rs=1 cs=1]
+                RenderTableCell {TD} at (160,0) size 5x18 [r=0 c=18 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 5x18
                     text run at (0,0) width 5: "I"
-                RenderTableCell {TD} at (160,0) size 4x18 [r=0 c=19 rs=1 cs=1]
+                RenderTableCell {TD} at (165,0) size 4x18 [r=0 c=19 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (164,0) size 10x18 [r=0 c=20 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D8}"
-                RenderTableCell {TD} at (174,0) size 11x18 [r=0 c=21 rs=1 cs=1]
+                RenderTableCell {TD} at (169,0) size 11x18 [r=0 c=20 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D7}"
-                RenderTableCell {TD} at (185,0) size 5x18 [r=0 c=22 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D6}"
-          RenderBlock {P} at (4,22) size 190x18
-            RenderText {TEXT} at (0,0) size 68x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 42: " ABC "
-            RenderInline {SPAN} at (0,0) size 59x18
-              RenderText {TEXT} at (68,0) size 59x18
-                text run at (68,0) width 59 RTL override: "\x{5D3}\x{5D4}\x{5D5} DEF"
-            RenderText {TEXT} at (127,0) size 63x18
-              text run at (127,0) width 37: " GHI "
-              text run at (164,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+                    text run at (0,0) width 11 RTL: "\x{5D8}"
+                RenderTableCell {TD} at (180,0) size 12x18 [r=0 c=21 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D7}"
+                RenderTableCell {TD} at (192,0) size 6x18 [r=0 c=22 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D6}"
+          RenderBlock {P} at (4,22) size 198x18
+            RenderText {TEXT} at (0,0) size 69x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 42: " ABC "
+            RenderInline {SPAN} at (0,0) size 60x18
+              RenderText {TEXT} at (69,0) size 60x18
+                text run at (69,0) width 60 RTL override: "\x{5D3}\x{5D4}\x{5D5} DEF"
+            RenderText {TEXT} at (129,0) size 65x18
+              text run at (129,0) width 37: " GHI "
+              text run at (166,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
         RenderText {TEXT} at (0,0) size 0x0
       RenderBlock {HR} at (0,394) size 784x2 [border: (1px inset #000000)]
       RenderBlock {P} at (0,412) size 784x18
index 3eaed8eb1b8dd4f14dfb4a0644f5529440c930c9..fdba4dd47b2a6876ba69d05b59eec2c08f97f752 100644 (file)
@@ -1 +1 @@
-14ad9f3091e126e0f2c6e10692935fed
\ No newline at end of file
+ab8ede33d33b91c379a900914976246a
\ No newline at end of file
index 031899ace1480a81f5cf553615c98dfc4353b875..81cdcc240fb7e54a304cd6fc17e01afbc9e0852e 100644 (file)
Binary files a/LayoutTests/fast/text/international/bidi-LDB-2-HTML-expected.png and b/LayoutTests/fast/text/international/bidi-LDB-2-HTML-expected.png differ
index 5adacfa2b057c5123f5d5f5cdd7b2acd0ae74c7f..84c989b49488df4765d80b2d516d829c68bb8571 100644 (file)
@@ -91,315 +91,315 @@ layer at (0,0) size 800x501
               text run at (0,0) width 34 RTL override: "CBA"
         RenderText {TEXT} at (108,77) size 4x18
           text run at (108,77) width 4: " "
-        RenderBlock {DIV} at (115,48) size 34x80 [border: (1px solid #008000)]
-          RenderBlock (anonymous) at (4,4) size 26x0
+        RenderBlock {DIV} at (115,48) size 36x80 [border: (1px solid #008000)]
+          RenderBlock (anonymous) at (4,4) size 28x0
             RenderText {TEXT} at (0,0) size 0x0
-          RenderTable {TABLE} at (4,4) size 26x18
+          RenderTable {TABLE} at (4,4) size 28x18
             RenderTableSection {TBODY} at (0,0) size 0x18
               RenderTableRow {TR} at (0,0) size 0x0
                 RenderTableCell {TD} at (0,0) size 7x18 [r=0 c=0 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 7x18
                     text run at (0,0) width 7 RTL: "\x{5D2}"
-                RenderTableCell {TD} at (7,0) size 9x18 [r=0 c=1 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 9x18
-                    text run at (0,0) width 9 RTL: "\x{5D1}"
-                RenderTableCell {TD} at (16,0) size 10x18 [r=0 c=2 rs=1 cs=1]
+                RenderTableCell {TD} at (7,0) size 10x18 [r=0 c=1 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D0}"
-          RenderBlock {P} at (4,22) size 26x18
-            RenderText {TEXT} at (0,0) size 26x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-          RenderBlock {P} at (4,40) size 26x18
-            RenderText {TEXT} at (0,0) size 26x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-          RenderBlock {P} at (4,58) size 26x18
-            RenderText {TEXT} at (0,0) size 26x18
-              text run at (0,0) width 26 LTR override: "\x{5D2}\x{5D1}\x{5D0}"
-        RenderText {TEXT} at (152,77) size 4x18
-          text run at (152,77) width 4: " "
-        RenderBlock {DIV} at (159,57) size 100x62 [border: (1px solid #008000)]
-          RenderBlock (anonymous) at (4,4) size 92x0
+                    text run at (0,0) width 10 RTL: "\x{5D1}"
+                RenderTableCell {TD} at (17,0) size 11x18 [r=0 c=2 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 11x18
+                    text run at (0,0) width 11 RTL: "\x{5D0}"
+          RenderBlock {P} at (4,22) size 28x18
+            RenderText {TEXT} at (0,0) size 27x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+          RenderBlock {P} at (4,40) size 28x18
+            RenderText {TEXT} at (0,0) size 27x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+          RenderBlock {P} at (4,58) size 28x18
+            RenderText {TEXT} at (0,0) size 27x18
+              text run at (0,0) width 27 LTR override: "\x{5D2}\x{5D1}\x{5D0}"
+        RenderText {TEXT} at (154,77) size 4x18
+          text run at (154,77) width 4: " "
+        RenderBlock {DIV} at (161,57) size 105x62 [border: (1px solid #008000)]
+          RenderBlock (anonymous) at (4,4) size 97x0
             RenderText {TEXT} at (0,0) size 0x0
-          RenderTable {TABLE} at (4,4) size 92x18
+          RenderTable {TABLE} at (4,4) size 97x18
             RenderTableSection {TBODY} at (0,0) size 0x18
               RenderTableRow {TR} at (0,0) size 0x0
                 RenderTableCell {TD} at (0,0) size 7x18 [r=0 c=0 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 7x18
                     text run at (0,0) width 7 RTL: "\x{5D2}"
-                RenderTableCell {TD} at (7,0) size 9x18 [r=0 c=1 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 9x18
-                    text run at (0,0) width 9 RTL: "\x{5D1}"
-                RenderTableCell {TD} at (16,0) size 10x18 [r=0 c=2 rs=1 cs=1]
+                RenderTableCell {TD} at (7,0) size 10x18 [r=0 c=1 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D0}"
-                RenderTableCell {TD} at (26,0) size 4x18 [r=0 c=3 rs=1 cs=1]
+                    text run at (0,0) width 10 RTL: "\x{5D1}"
+                RenderTableCell {TD} at (17,0) size 11x18 [r=0 c=2 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 11x18
+                    text run at (0,0) width 11 RTL: "\x{5D0}"
+                RenderTableCell {TD} at (28,0) size 4x18 [r=0 c=3 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (30,0) size 12x18 [r=0 c=4 rs=1 cs=1]
+                RenderTableCell {TD} at (32,0) size 12x18 [r=0 c=4 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "A"
-                RenderTableCell {TD} at (42,0) size 11x18 [r=0 c=5 rs=1 cs=1]
+                RenderTableCell {TD} at (44,0) size 11x18 [r=0 c=5 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "B"
-                RenderTableCell {TD} at (53,0) size 11x18 [r=0 c=6 rs=1 cs=1]
+                RenderTableCell {TD} at (55,0) size 11x18 [r=0 c=6 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "C"
-                RenderTableCell {TD} at (64,0) size 4x18 [r=0 c=7 rs=1 cs=1]
+                RenderTableCell {TD} at (66,0) size 4x18 [r=0 c=7 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (68,0) size 5x18 [r=0 c=8 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D5}"
-                RenderTableCell {TD} at (73,0) size 11x18 [r=0 c=9 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D4}"
-                RenderTableCell {TD} at (84,0) size 8x18 [r=0 c=10 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 8x18
-                    text run at (0,0) width 8 RTL: "\x{5D3}"
-          RenderBlock {P} at (4,22) size 92x18
-            RenderText {TEXT} at (0,0) size 92x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 42: " ABC "
-              text run at (68,0) width 24 RTL: "\x{5D3}\x{5D4}\x{5D5}"
-          RenderBlock {P} at (4,40) size 92x18
-            RenderText {TEXT} at (0,0) size 92x18
-              text run at (0,0) width 30 RTL: " \x{5D0}\x{5D1}\x{5D2}"
-              text run at (30,0) width 34: "ABC"
-              text run at (64,0) width 28 RTL: "\x{5D3}\x{5D4}\x{5D5} "
-        RenderText {TEXT} at (262,77) size 4x18
-          text run at (262,77) width 4: " "
-        RenderBlock {DIV} at (269,3) size 165x170 [border: (1px solid #008000)]
-          RenderBlock (anonymous) at (4,4) size 157x0
+                RenderTableCell {TD} at (70,0) size 6x18 [r=0 c=8 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D5}"
+                RenderTableCell {TD} at (76,0) size 12x18 [r=0 c=9 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D4}"
+                RenderTableCell {TD} at (88,0) size 9x18 [r=0 c=10 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 9x18
+                    text run at (0,0) width 9 RTL: "\x{5D3}"
+          RenderBlock {P} at (4,22) size 97x18
+            RenderText {TEXT} at (0,0) size 94x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 42: " ABC "
+              text run at (69,0) width 25 RTL: "\x{5D3}\x{5D4}\x{5D5}"
+          RenderBlock {P} at (4,40) size 97x18
+            RenderText {TEXT} at (0,0) size 94x18
+              text run at (0,0) width 31 RTL: " \x{5D0}\x{5D1}\x{5D2}"
+              text run at (31,0) width 34: "ABC"
+              text run at (65,0) width 29 RTL: "\x{5D3}\x{5D4}\x{5D5} "
+        RenderText {TEXT} at (269,77) size 4x18
+          text run at (269,77) width 4: " "
+        RenderBlock {DIV} at (276,3) size 173x170 [border: (1px solid #008000)]
+          RenderBlock (anonymous) at (4,4) size 165x0
             RenderText {TEXT} at (0,0) size 0x0
-          RenderTable {TABLE} at (4,4) size 157x18
+          RenderTable {TABLE} at (4,4) size 165x18
             RenderTableSection {TBODY} at (0,0) size 0x18
               RenderTableRow {TR} at (0,0) size 0x0
                 RenderTableCell {TD} at (0,0) size 7x18 [r=0 c=0 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 7x18
                     text run at (0,0) width 7 RTL: "\x{5D2}"
-                RenderTableCell {TD} at (7,0) size 9x18 [r=0 c=1 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 9x18
-                    text run at (0,0) width 9 RTL: "\x{5D1}"
-                RenderTableCell {TD} at (16,0) size 10x18 [r=0 c=2 rs=1 cs=1]
+                RenderTableCell {TD} at (7,0) size 10x18 [r=0 c=1 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D0}"
-                RenderTableCell {TD} at (26,0) size 4x18 [r=0 c=3 rs=1 cs=1]
+                    text run at (0,0) width 10 RTL: "\x{5D1}"
+                RenderTableCell {TD} at (17,0) size 11x18 [r=0 c=2 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 11x18
+                    text run at (0,0) width 11 RTL: "\x{5D0}"
+                RenderTableCell {TD} at (28,0) size 4x18 [r=0 c=3 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (30,0) size 12x18 [r=0 c=4 rs=1 cs=1]
+                RenderTableCell {TD} at (32,0) size 12x18 [r=0 c=4 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "A"
-                RenderTableCell {TD} at (42,0) size 11x18 [r=0 c=5 rs=1 cs=1]
+                RenderTableCell {TD} at (44,0) size 11x18 [r=0 c=5 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "B"
-                RenderTableCell {TD} at (53,0) size 11x18 [r=0 c=6 rs=1 cs=1]
+                RenderTableCell {TD} at (55,0) size 11x18 [r=0 c=6 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "C"
-                RenderTableCell {TD} at (64,0) size 4x18 [r=0 c=7 rs=1 cs=1]
+                RenderTableCell {TD} at (66,0) size 4x18 [r=0 c=7 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (68,0) size 5x18 [r=0 c=8 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D5}"
-                RenderTableCell {TD} at (73,0) size 11x18 [r=0 c=9 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D4}"
-                RenderTableCell {TD} at (84,0) size 8x18 [r=0 c=10 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 8x18
-                    text run at (0,0) width 8 RTL: "\x{5D3}"
-                RenderTableCell {TD} at (92,0) size 4x18 [r=0 c=11 rs=1 cs=1]
+                RenderTableCell {TD} at (70,0) size 6x18 [r=0 c=8 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D5}"
+                RenderTableCell {TD} at (76,0) size 12x18 [r=0 c=9 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D4}"
+                RenderTableCell {TD} at (88,0) size 9x18 [r=0 c=10 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 9x18
+                    text run at (0,0) width 9 RTL: "\x{5D3}"
+                RenderTableCell {TD} at (97,0) size 4x18 [r=0 c=11 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (96,0) size 12x18 [r=0 c=12 rs=1 cs=1]
+                RenderTableCell {TD} at (101,0) size 12x18 [r=0 c=12 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "D"
-                RenderTableCell {TD} at (108,0) size 10x18 [r=0 c=13 rs=1 cs=1]
+                RenderTableCell {TD} at (113,0) size 10x18 [r=0 c=13 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
                     text run at (0,0) width 10: "E"
-                RenderTableCell {TD} at (118,0) size 9x18 [r=0 c=14 rs=1 cs=1]
+                RenderTableCell {TD} at (123,0) size 9x18 [r=0 c=14 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 9x18
                     text run at (0,0) width 9: "F"
-                RenderTableCell {TD} at (127,0) size 4x18 [r=0 c=15 rs=1 cs=1]
+                RenderTableCell {TD} at (132,0) size 4x18 [r=0 c=15 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (131,0) size 10x18 [r=0 c=16 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D8}"
-                RenderTableCell {TD} at (141,0) size 11x18 [r=0 c=17 rs=1 cs=1]
+                RenderTableCell {TD} at (136,0) size 11x18 [r=0 c=16 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D7}"
-                RenderTableCell {TD} at (152,0) size 5x18 [r=0 c=18 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D6}"
-          RenderBlock {P} at (4,22) size 157x18
-            RenderText {TEXT} at (0,0) size 157x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 42: " ABC "
-              text run at (68,0) width 24 RTL: "\x{5D3}\x{5D4}\x{5D5}"
-              text run at (92,0) width 39: " DEF "
-              text run at (131,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-          RenderBlock {P} at (4,40) size 157x18
-            RenderText {TEXT} at (0,0) size 30x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 4: " "
-            RenderInline {SPAN} at (0,0) size 62x18
-              RenderText {TEXT} at (30,0) size 62x18
-                text run at (30,0) width 38: "ABC "
-                text run at (68,0) width 24 RTL: "\x{5D3}\x{5D4}\x{5D5}"
-            RenderText {TEXT} at (92,0) size 65x18
-              text run at (92,0) width 39: " DEF "
-              text run at (131,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-          RenderBlock {P} at (4,58) size 157x18
-            RenderText {TEXT} at (0,0) size 30x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 4: " "
-            RenderInline {SPAN} at (0,0) size 97x18
-              RenderText {TEXT} at (30,0) size 97x18
-                text run at (30,0) width 38: "ABC "
-                text run at (68,0) width 24 RTL: "\x{5D3}\x{5D4}\x{5D5}"
-                text run at (92,0) width 35: " DEF"
-            RenderText {TEXT} at (127,0) size 30x18
-              text run at (127,0) width 4: " "
-              text run at (131,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-          RenderBlock {P} at (4,76) size 157x18
-            RenderText {TEXT} at (127,0) size 30x18
-              text run at (127,0) width 30 RTL: "\x{5D6}\x{5D7}\x{5D8} "
-            RenderInline {SPAN} at (0,0) size 97x18
-              RenderText {TEXT} at (30,0) size 97x18
-                text run at (30,0) width 34: "ABC"
-                text run at (64,0) width 32 RTL: " \x{5D3}\x{5D4}\x{5D5} "
-                text run at (96,0) width 31: "DEF"
-            RenderText {TEXT} at (0,0) size 30x18
-              text run at (0,0) width 30 RTL: " \x{5D0}\x{5D1}\x{5D2}"
-          RenderBlock {P} at (4,94) size 157x18
-            RenderText {TEXT} at (64,0) size 28x18
-              text run at (64,0) width 28 RTL: "\x{5D3}\x{5D4}\x{5D5} "
-            RenderInline {SPAN} at (0,0) size 64x18
-              RenderText {TEXT} at (0,0) size 64x18
-                text run at (0,0) width 30 RTL: " \x{5D0}\x{5D1}\x{5D2}"
-                text run at (30,0) width 34: "ABC"
-            RenderText {TEXT} at (92,0) size 65x18
-              text run at (92,0) width 39: " DEF "
-              text run at (131,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-          RenderBlock {P} at (4,112) size 157x18
-            RenderText {TEXT} at (64,0) size 28x18
-              text run at (64,0) width 28 RTL: "\x{5D3}\x{5D4}\x{5D5} "
-            RenderInline {BDO} at (0,0) size 64x18
-              RenderText {TEXT} at (0,0) size 64x18
-                text run at (0,0) width 64 RTL override: "CBA \x{5D0}\x{5D1}\x{5D2}"
-            RenderText {TEXT} at (92,0) size 65x18
-              text run at (92,0) width 39: " DEF "
-              text run at (131,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-          RenderBlock {P} at (4,130) size 157x18
-            RenderText {TEXT} at (0,0) size 30x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 4: " "
-            RenderInline {BDO} at (0,0) size 62x18
-              RenderText {TEXT} at (30,0) size 62x18
-                text run at (30,0) width 62 LTR override: "ABC \x{5D5}\x{5D4}\x{5D3}"
-            RenderText {TEXT} at (92,0) size 65x18
-              text run at (92,0) width 39: " DEF "
-              text run at (131,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-          RenderBlock {P} at (4,148) size 157x18
-            RenderText {TEXT} at (127,0) size 30x18
-              text run at (127,0) width 30 RTL: "\x{5D6}\x{5D7}\x{5D8} "
-            RenderInline {BDO} at (0,0) size 62x18
-              RenderText {TEXT} at (30,0) size 62x18
-                text run at (30,0) width 62 LTR override: "ABC \x{5D5}\x{5D4}\x{5D3}"
-            RenderText {TEXT} at (0,0) size 127x18
-              text run at (0,0) width 30 RTL: " \x{5D0}\x{5D1}\x{5D2}"
-              text run at (92,0) width 35: " DEF"
-        RenderText {TEXT} at (437,77) size 4x18
-          text run at (437,77) width 4: " "
-        RenderBlock {DIV} at (444,66) size 198x44 [border: (1px solid #008000)]
-          RenderBlock (anonymous) at (4,4) size 190x0
+                    text run at (0,0) width 11 RTL: "\x{5D8}"
+                RenderTableCell {TD} at (147,0) size 12x18 [r=0 c=17 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D7}"
+                RenderTableCell {TD} at (159,0) size 6x18 [r=0 c=18 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D6}"
+          RenderBlock {P} at (4,22) size 165x18
+            RenderText {TEXT} at (0,0) size 161x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 42: " ABC "
+              text run at (69,0) width 25 RTL: "\x{5D3}\x{5D4}\x{5D5}"
+              text run at (94,0) width 39: " DEF "
+              text run at (133,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+          RenderBlock {P} at (4,40) size 165x18
+            RenderText {TEXT} at (0,0) size 31x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 4: " "
+            RenderInline {SPAN} at (0,0) size 63x18
+              RenderText {TEXT} at (31,0) size 63x18
+                text run at (31,0) width 38: "ABC "
+                text run at (69,0) width 25 RTL: "\x{5D3}\x{5D4}\x{5D5}"
+            RenderText {TEXT} at (94,0) size 67x18
+              text run at (94,0) width 39: " DEF "
+              text run at (133,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+          RenderBlock {P} at (4,58) size 165x18
+            RenderText {TEXT} at (0,0) size 31x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 4: " "
+            RenderInline {SPAN} at (0,0) size 98x18
+              RenderText {TEXT} at (31,0) size 98x18
+                text run at (31,0) width 38: "ABC "
+                text run at (69,0) width 25 RTL: "\x{5D3}\x{5D4}\x{5D5}"
+                text run at (94,0) width 35: " DEF"
+            RenderText {TEXT} at (129,0) size 32x18
+              text run at (129,0) width 4: " "
+              text run at (133,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+          RenderBlock {P} at (4,76) size 165x18
+            RenderText {TEXT} at (129,0) size 32x18
+              text run at (129,0) width 32 RTL: "\x{5D6}\x{5D7}\x{5D8} "
+            RenderInline {SPAN} at (0,0) size 98x18
+              RenderText {TEXT} at (31,0) size 98x18
+                text run at (31,0) width 34: "ABC"
+                text run at (65,0) width 33 RTL: " \x{5D3}\x{5D4}\x{5D5} "
+                text run at (98,0) width 31: "DEF"
+            RenderText {TEXT} at (0,0) size 31x18
+              text run at (0,0) width 31 RTL: " \x{5D0}\x{5D1}\x{5D2}"
+          RenderBlock {P} at (4,94) size 165x18
+            RenderText {TEXT} at (65,0) size 29x18
+              text run at (65,0) width 29 RTL: "\x{5D3}\x{5D4}\x{5D5} "
+            RenderInline {SPAN} at (0,0) size 65x18
+              RenderText {TEXT} at (0,0) size 65x18
+                text run at (0,0) width 31 RTL: " \x{5D0}\x{5D1}\x{5D2}"
+                text run at (31,0) width 34: "ABC"
+            RenderText {TEXT} at (94,0) size 67x18
+              text run at (94,0) width 39: " DEF "
+              text run at (133,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+          RenderBlock {P} at (4,112) size 165x18
+            RenderText {TEXT} at (65,0) size 29x18
+              text run at (65,0) width 29 RTL: "\x{5D3}\x{5D4}\x{5D5} "
+            RenderInline {BDO} at (0,0) size 65x18
+              RenderText {TEXT} at (0,0) size 65x18
+                text run at (0,0) width 65 RTL override: "CBA \x{5D0}\x{5D1}\x{5D2}"
+            RenderText {TEXT} at (94,0) size 67x18
+              text run at (94,0) width 39: " DEF "
+              text run at (133,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+          RenderBlock {P} at (4,130) size 165x18
+            RenderText {TEXT} at (0,0) size 31x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 4: " "
+            RenderInline {BDO} at (0,0) size 63x18
+              RenderText {TEXT} at (31,0) size 63x18
+                text run at (31,0) width 63 LTR override: "ABC \x{5D5}\x{5D4}\x{5D3}"
+            RenderText {TEXT} at (94,0) size 67x18
+              text run at (94,0) width 39: " DEF "
+              text run at (133,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+          RenderBlock {P} at (4,148) size 165x18
+            RenderText {TEXT} at (129,0) size 32x18
+              text run at (129,0) width 32 RTL: "\x{5D6}\x{5D7}\x{5D8} "
+            RenderInline {BDO} at (0,0) size 63x18
+              RenderText {TEXT} at (31,0) size 63x18
+                text run at (31,0) width 63 LTR override: "ABC \x{5D5}\x{5D4}\x{5D3}"
+            RenderText {TEXT} at (0,0) size 129x18
+              text run at (0,0) width 31 RTL: " \x{5D0}\x{5D1}\x{5D2}"
+              text run at (94,0) width 35: " DEF"
+        RenderText {TEXT} at (452,77) size 4x18
+          text run at (452,77) width 4: " "
+        RenderBlock {DIV} at (459,66) size 206x44 [border: (1px solid #008000)]
+          RenderBlock (anonymous) at (4,4) size 198x0
             RenderText {TEXT} at (0,0) size 0x0
-          RenderTable {TABLE} at (4,4) size 190x18
+          RenderTable {TABLE} at (4,4) size 198x18
             RenderTableSection {TBODY} at (0,0) size 0x18
               RenderTableRow {TR} at (0,0) size 0x0
                 RenderTableCell {TD} at (0,0) size 7x18 [r=0 c=0 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 7x18
                     text run at (0,0) width 7 RTL: "\x{5D2}"
-                RenderTableCell {TD} at (7,0) size 9x18 [r=0 c=1 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 9x18
-                    text run at (0,0) width 9 RTL: "\x{5D1}"
-                RenderTableCell {TD} at (16,0) size 10x18 [r=0 c=2 rs=1 cs=1]
+                RenderTableCell {TD} at (7,0) size 10x18 [r=0 c=1 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D0}"
-                RenderTableCell {TD} at (26,0) size 4x18 [r=0 c=3 rs=1 cs=1]
+                    text run at (0,0) width 10 RTL: "\x{5D1}"
+                RenderTableCell {TD} at (17,0) size 11x18 [r=0 c=2 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 11x18
+                    text run at (0,0) width 11 RTL: "\x{5D0}"
+                RenderTableCell {TD} at (28,0) size 4x18 [r=0 c=3 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (30,0) size 12x18 [r=0 c=4 rs=1 cs=1]
+                RenderTableCell {TD} at (32,0) size 12x18 [r=0 c=4 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "A"
-                RenderTableCell {TD} at (42,0) size 11x18 [r=0 c=5 rs=1 cs=1]
+                RenderTableCell {TD} at (44,0) size 11x18 [r=0 c=5 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "B"
-                RenderTableCell {TD} at (53,0) size 11x18 [r=0 c=6 rs=1 cs=1]
+                RenderTableCell {TD} at (55,0) size 11x18 [r=0 c=6 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "C"
-                RenderTableCell {TD} at (64,0) size 4x18 [r=0 c=7 rs=1 cs=1]
+                RenderTableCell {TD} at (66,0) size 4x18 [r=0 c=7 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (68,0) size 5x18 [r=0 c=8 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D5}"
-                RenderTableCell {TD} at (73,0) size 11x18 [r=0 c=9 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D4}"
-                RenderTableCell {TD} at (84,0) size 8x18 [r=0 c=10 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 8x18
-                    text run at (0,0) width 8 RTL: "\x{5D3}"
-                RenderTableCell {TD} at (92,0) size 4x18 [r=0 c=11 rs=1 cs=1]
+                RenderTableCell {TD} at (70,0) size 6x18 [r=0 c=8 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D5}"
+                RenderTableCell {TD} at (76,0) size 12x18 [r=0 c=9 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D4}"
+                RenderTableCell {TD} at (88,0) size 9x18 [r=0 c=10 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 9x18
+                    text run at (0,0) width 9 RTL: "\x{5D3}"
+                RenderTableCell {TD} at (97,0) size 4x18 [r=0 c=11 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (96,0) size 12x18 [r=0 c=12 rs=1 cs=1]
+                RenderTableCell {TD} at (101,0) size 12x18 [r=0 c=12 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "D"
-                RenderTableCell {TD} at (108,0) size 10x18 [r=0 c=13 rs=1 cs=1]
+                RenderTableCell {TD} at (113,0) size 10x18 [r=0 c=13 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
                     text run at (0,0) width 10: "E"
-                RenderTableCell {TD} at (118,0) size 9x18 [r=0 c=14 rs=1 cs=1]
+                RenderTableCell {TD} at (123,0) size 9x18 [r=0 c=14 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 9x18
                     text run at (0,0) width 9: "F"
-                RenderTableCell {TD} at (127,0) size 4x18 [r=0 c=15 rs=1 cs=1]
+                RenderTableCell {TD} at (132,0) size 4x18 [r=0 c=15 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (131,0) size 12x18 [r=0 c=16 rs=1 cs=1]
+                RenderTableCell {TD} at (136,0) size 12x18 [r=0 c=16 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "G"
-                RenderTableCell {TD} at (143,0) size 12x18 [r=0 c=17 rs=1 cs=1]
+                RenderTableCell {TD} at (148,0) size 12x18 [r=0 c=17 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "H"
-                RenderTableCell {TD} at (155,0) size 5x18 [r=0 c=18 rs=1 cs=1]
+                RenderTableCell {TD} at (160,0) size 5x18 [r=0 c=18 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 5x18
                     text run at (0,0) width 5: "I"
-                RenderTableCell {TD} at (160,0) size 4x18 [r=0 c=19 rs=1 cs=1]
+                RenderTableCell {TD} at (165,0) size 4x18 [r=0 c=19 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (164,0) size 10x18 [r=0 c=20 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D8}"
-                RenderTableCell {TD} at (174,0) size 11x18 [r=0 c=21 rs=1 cs=1]
+                RenderTableCell {TD} at (169,0) size 11x18 [r=0 c=20 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D7}"
-                RenderTableCell {TD} at (185,0) size 5x18 [r=0 c=22 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D6}"
-          RenderBlock {P} at (4,22) size 190x18
-            RenderText {TEXT} at (0,0) size 190x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 42: " ABC "
-              text run at (68,0) width 24 RTL: "\x{5D3}\x{5D4}\x{5D5}"
-              text run at (92,0) width 72: " DEF GHI "
-              text run at (164,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-        RenderText {TEXT} at (645,77) size 4x18
-          text run at (645,77) width 4: " "
-        RenderBR {BR} at (649,77) size 0x18
-        RenderBlock {DIV} at (3,179) size 198x44 [border: (1px solid #008000)]
-          RenderBlock (anonymous) at (4,4) size 190x0
+                    text run at (0,0) width 11 RTL: "\x{5D8}"
+                RenderTableCell {TD} at (180,0) size 12x18 [r=0 c=21 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D7}"
+                RenderTableCell {TD} at (192,0) size 6x18 [r=0 c=22 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D6}"
+          RenderBlock {P} at (4,22) size 198x18
+            RenderText {TEXT} at (0,0) size 194x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 42: " ABC "
+              text run at (69,0) width 25 RTL: "\x{5D3}\x{5D4}\x{5D5}"
+              text run at (94,0) width 72: " DEF GHI "
+              text run at (166,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+        RenderText {TEXT} at (668,77) size 4x18
+          text run at (668,77) width 4: " "
+        RenderBR {BR} at (672,77) size 0x18
+        RenderBlock {DIV} at (3,179) size 206x44 [border: (1px solid #008000)]
+          RenderBlock (anonymous) at (4,4) size 198x0
             RenderText {TEXT} at (0,0) size 0x0
-          RenderTable {TABLE} at (4,4) size 190x18
+          RenderTable {TABLE} at (4,4) size 198x18
             RenderTableSection {TBODY} at (0,0) size 0x18
               RenderTableRow {TR} at (0,0) size 0x0
                 RenderTableCell {TD} at (0,0) size 9x18 [r=0 c=0 rs=1 cs=1]
@@ -414,159 +414,159 @@ layer at (0,0) size 800x501
                 RenderTableCell {TD} at (31,0) size 4x18 [r=0 c=3 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (35,0) size 5x18 [r=0 c=4 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D5}"
-                RenderTableCell {TD} at (40,0) size 11x18 [r=0 c=5 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D4}"
-                RenderTableCell {TD} at (51,0) size 8x18 [r=0 c=6 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 8x18
-                    text run at (0,0) width 8 RTL: "\x{5D3}"
-                RenderTableCell {TD} at (59,0) size 4x18 [r=0 c=7 rs=1 cs=1]
+                RenderTableCell {TD} at (35,0) size 6x18 [r=0 c=4 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D5}"
+                RenderTableCell {TD} at (41,0) size 12x18 [r=0 c=5 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D4}"
+                RenderTableCell {TD} at (53,0) size 9x18 [r=0 c=6 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 9x18
+                    text run at (0,0) width 9 RTL: "\x{5D3}"
+                RenderTableCell {TD} at (62,0) size 4x18 [r=0 c=7 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (63,0) size 11x18 [r=0 c=8 rs=1 cs=1]
+                RenderTableCell {TD} at (66,0) size 11x18 [r=0 c=8 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "C"
-                RenderTableCell {TD} at (74,0) size 11x18 [r=0 c=9 rs=1 cs=1]
+                RenderTableCell {TD} at (77,0) size 11x18 [r=0 c=9 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "B"
-                RenderTableCell {TD} at (85,0) size 12x18 [r=0 c=10 rs=1 cs=1]
+                RenderTableCell {TD} at (88,0) size 12x18 [r=0 c=10 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "A"
-                RenderTableCell {TD} at (97,0) size 4x18 [r=0 c=11 rs=1 cs=1]
+                RenderTableCell {TD} at (100,0) size 4x18 [r=0 c=11 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (101,0) size 7x18 [r=0 c=12 rs=1 cs=1]
+                RenderTableCell {TD} at (104,0) size 7x18 [r=0 c=12 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 7x18
                     text run at (0,0) width 7 RTL: "\x{5D2}"
-                RenderTableCell {TD} at (108,0) size 9x18 [r=0 c=13 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 9x18
-                    text run at (0,0) width 9 RTL: "\x{5D1}"
-                RenderTableCell {TD} at (117,0) size 10x18 [r=0 c=14 rs=1 cs=1]
+                RenderTableCell {TD} at (111,0) size 10x18 [r=0 c=13 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D0}"
-                RenderTableCell {TD} at (127,0) size 4x18 [r=0 c=15 rs=1 cs=1]
+                    text run at (0,0) width 10 RTL: "\x{5D1}"
+                RenderTableCell {TD} at (121,0) size 11x18 [r=0 c=14 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 11x18
+                    text run at (0,0) width 11 RTL: "\x{5D0}"
+                RenderTableCell {TD} at (132,0) size 4x18 [r=0 c=15 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (131,0) size 12x18 [r=0 c=16 rs=1 cs=1]
+                RenderTableCell {TD} at (136,0) size 12x18 [r=0 c=16 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "G"
-                RenderTableCell {TD} at (143,0) size 12x18 [r=0 c=17 rs=1 cs=1]
+                RenderTableCell {TD} at (148,0) size 12x18 [r=0 c=17 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "H"
-                RenderTableCell {TD} at (155,0) size 5x18 [r=0 c=18 rs=1 cs=1]
+                RenderTableCell {TD} at (160,0) size 5x18 [r=0 c=18 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 5x18
                     text run at (0,0) width 5: "I"
-                RenderTableCell {TD} at (160,0) size 4x18 [r=0 c=19 rs=1 cs=1]
+                RenderTableCell {TD} at (165,0) size 4x18 [r=0 c=19 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (164,0) size 10x18 [r=0 c=20 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D8}"
-                RenderTableCell {TD} at (174,0) size 11x18 [r=0 c=21 rs=1 cs=1]
+                RenderTableCell {TD} at (169,0) size 11x18 [r=0 c=20 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D7}"
-                RenderTableCell {TD} at (185,0) size 5x18 [r=0 c=22 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D6}"
-          RenderBlock {P} at (4,22) size 190x18
-            RenderText {TEXT} at (97,0) size 30x18
-              text run at (97,0) width 30 RTL: "\x{5D0}\x{5D1}\x{5D2} "
-            RenderInline {BDO} at (0,0) size 97x18
-              RenderText {TEXT} at (0,0) size 97x18
-                text run at (0,0) width 97 RTL override: "ABC \x{5D3}\x{5D4}\x{5D5} DEF"
-            RenderText {TEXT} at (127,0) size 63x18
-              text run at (127,0) width 37: " GHI "
-              text run at (164,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-        RenderText {TEXT} at (204,190) size 4x18
-          text run at (204,190) width 4: " "
-        RenderBlock {DIV} at (211,179) size 198x44 [border: (1px solid #008000)]
-          RenderBlock (anonymous) at (4,4) size 190x0
+                    text run at (0,0) width 11 RTL: "\x{5D8}"
+                RenderTableCell {TD} at (180,0) size 12x18 [r=0 c=21 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D7}"
+                RenderTableCell {TD} at (192,0) size 6x18 [r=0 c=22 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D6}"
+          RenderBlock {P} at (4,22) size 198x18
+            RenderText {TEXT} at (98,0) size 31x18
+              text run at (98,0) width 31 RTL: "\x{5D0}\x{5D1}\x{5D2} "
+            RenderInline {BDO} at (0,0) size 98x18
+              RenderText {TEXT} at (0,0) size 98x18
+                text run at (0,0) width 98 RTL override: "ABC \x{5D3}\x{5D4}\x{5D5} DEF"
+            RenderText {TEXT} at (129,0) size 65x18
+              text run at (129,0) width 37: " GHI "
+              text run at (166,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+        RenderText {TEXT} at (212,190) size 4x18
+          text run at (212,190) width 4: " "
+        RenderBlock {DIV} at (219,179) size 206x44 [border: (1px solid #008000)]
+          RenderBlock (anonymous) at (4,4) size 198x0
             RenderText {TEXT} at (0,0) size 0x0
-          RenderTable {TABLE} at (4,4) size 190x18
+          RenderTable {TABLE} at (4,4) size 198x18
             RenderTableSection {TBODY} at (0,0) size 0x18
               RenderTableRow {TR} at (0,0) size 0x0
                 RenderTableCell {TD} at (0,0) size 7x18 [r=0 c=0 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 7x18
                     text run at (0,0) width 7 RTL: "\x{5D2}"
-                RenderTableCell {TD} at (7,0) size 9x18 [r=0 c=1 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 9x18
-                    text run at (0,0) width 9 RTL: "\x{5D1}"
-                RenderTableCell {TD} at (16,0) size 10x18 [r=0 c=2 rs=1 cs=1]
+                RenderTableCell {TD} at (7,0) size 10x18 [r=0 c=1 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D0}"
-                RenderTableCell {TD} at (26,0) size 4x18 [r=0 c=3 rs=1 cs=1]
+                    text run at (0,0) width 10 RTL: "\x{5D1}"
+                RenderTableCell {TD} at (17,0) size 11x18 [r=0 c=2 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 11x18
+                    text run at (0,0) width 11 RTL: "\x{5D0}"
+                RenderTableCell {TD} at (28,0) size 4x18 [r=0 c=3 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (30,0) size 12x18 [r=0 c=4 rs=1 cs=1]
+                RenderTableCell {TD} at (32,0) size 12x18 [r=0 c=4 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "A"
-                RenderTableCell {TD} at (42,0) size 11x18 [r=0 c=5 rs=1 cs=1]
+                RenderTableCell {TD} at (44,0) size 11x18 [r=0 c=5 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "B"
-                RenderTableCell {TD} at (53,0) size 11x18 [r=0 c=6 rs=1 cs=1]
+                RenderTableCell {TD} at (55,0) size 11x18 [r=0 c=6 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "C"
-                RenderTableCell {TD} at (64,0) size 4x18 [r=0 c=7 rs=1 cs=1]
+                RenderTableCell {TD} at (66,0) size 4x18 [r=0 c=7 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (68,0) size 9x18 [r=0 c=8 rs=1 cs=1]
+                RenderTableCell {TD} at (70,0) size 9x18 [r=0 c=8 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 9x18
                     text run at (0,0) width 9: "F"
-                RenderTableCell {TD} at (77,0) size 10x18 [r=0 c=9 rs=1 cs=1]
+                RenderTableCell {TD} at (79,0) size 10x18 [r=0 c=9 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
                     text run at (0,0) width 10: "E"
-                RenderTableCell {TD} at (87,0) size 12x18 [r=0 c=10 rs=1 cs=1]
+                RenderTableCell {TD} at (89,0) size 12x18 [r=0 c=10 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "D"
-                RenderTableCell {TD} at (99,0) size 4x18 [r=0 c=11 rs=1 cs=1]
+                RenderTableCell {TD} at (101,0) size 4x18 [r=0 c=11 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (103,0) size 5x18 [r=0 c=12 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D5}"
-                RenderTableCell {TD} at (108,0) size 11x18 [r=0 c=13 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D4}"
-                RenderTableCell {TD} at (119,0) size 8x18 [r=0 c=14 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 8x18
-                    text run at (0,0) width 8 RTL: "\x{5D3}"
-                RenderTableCell {TD} at (127,0) size 4x18 [r=0 c=15 rs=1 cs=1]
+                RenderTableCell {TD} at (105,0) size 6x18 [r=0 c=12 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D5}"
+                RenderTableCell {TD} at (111,0) size 12x18 [r=0 c=13 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D4}"
+                RenderTableCell {TD} at (123,0) size 9x18 [r=0 c=14 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 9x18
+                    text run at (0,0) width 9 RTL: "\x{5D3}"
+                RenderTableCell {TD} at (132,0) size 4x18 [r=0 c=15 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (131,0) size 12x18 [r=0 c=16 rs=1 cs=1]
+                RenderTableCell {TD} at (136,0) size 12x18 [r=0 c=16 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "G"
-                RenderTableCell {TD} at (143,0) size 12x18 [r=0 c=17 rs=1 cs=1]
+                RenderTableCell {TD} at (148,0) size 12x18 [r=0 c=17 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "H"
-                RenderTableCell {TD} at (155,0) size 5x18 [r=0 c=18 rs=1 cs=1]
+                RenderTableCell {TD} at (160,0) size 5x18 [r=0 c=18 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 5x18
                     text run at (0,0) width 5: "I"
-                RenderTableCell {TD} at (160,0) size 4x18 [r=0 c=19 rs=1 cs=1]
+                RenderTableCell {TD} at (165,0) size 4x18 [r=0 c=19 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (164,0) size 10x18 [r=0 c=20 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D8}"
-                RenderTableCell {TD} at (174,0) size 11x18 [r=0 c=21 rs=1 cs=1]
+                RenderTableCell {TD} at (169,0) size 11x18 [r=0 c=20 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D7}"
-                RenderTableCell {TD} at (185,0) size 5x18 [r=0 c=22 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D6}"
-          RenderBlock {P} at (4,22) size 190x18
-            RenderText {TEXT} at (0,0) size 68x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 42: " ABC "
-            RenderInline {BDO} at (0,0) size 59x18
-              RenderText {TEXT} at (68,0) size 59x18
-                text run at (68,0) width 59 RTL override: "\x{5D3}\x{5D4}\x{5D5} DEF"
-            RenderText {TEXT} at (127,0) size 63x18
-              text run at (127,0) width 37: " GHI "
-              text run at (164,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+                    text run at (0,0) width 11 RTL: "\x{5D8}"
+                RenderTableCell {TD} at (180,0) size 12x18 [r=0 c=21 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D7}"
+                RenderTableCell {TD} at (192,0) size 6x18 [r=0 c=22 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D6}"
+          RenderBlock {P} at (4,22) size 198x18
+            RenderText {TEXT} at (0,0) size 69x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 42: " ABC "
+            RenderInline {BDO} at (0,0) size 60x18
+              RenderText {TEXT} at (69,0) size 60x18
+                text run at (69,0) width 60 RTL override: "\x{5D3}\x{5D4}\x{5D5} DEF"
+            RenderText {TEXT} at (129,0) size 65x18
+              text run at (129,0) width 37: " GHI "
+              text run at (166,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
         RenderText {TEXT} at (0,0) size 0x0
       RenderBlock {HR} at (0,360) size 784x2 [border: (1px inset #000000)]
       RenderBlock {P} at (0,378) size 784x18
index 20e96b1eaa3b6c3fc1c4106a948400988f2cd10d..923a2ba59299243a30c8e0e693d73cf194529a87 100644 (file)
@@ -1 +1 @@
-74af129e6853745783c29347243c82de
\ No newline at end of file
+65b5d53bc097f5153120ae505f758c73
\ No newline at end of file
index 3b9e0fae1aef1834d0857f3da92d889bd01b477c..b5864b8e7e590fd478acaf5f3014bb61fdd3b931 100644 (file)
Binary files a/LayoutTests/fast/text/international/bidi-LDB-2-formatting-characters-expected.png and b/LayoutTests/fast/text/international/bidi-LDB-2-formatting-characters-expected.png differ
index 23c0bc5b717035099daa9379dfc97c66b84d1492..7d6b31934d290723905855ebbeb046aefbe3d264 100644 (file)
@@ -86,297 +86,297 @@ layer at (0,0) size 800x577
               text run at (65,0) width 29 RTL override: "IHG"
         RenderText {TEXT} at (108,77) size 4x18
           text run at (108,77) width 4: " "
-        RenderBlock {DIV} at (115,48) size 34x80 [border: (1px solid #008000)]
-          RenderBlock (anonymous) at (4,4) size 26x0
+        RenderBlock {DIV} at (115,48) size 36x80 [border: (1px solid #008000)]
+          RenderBlock (anonymous) at (4,4) size 28x0
             RenderText {TEXT} at (0,0) size 0x0
-          RenderTable {TABLE} at (4,4) size 26x18
+          RenderTable {TABLE} at (4,4) size 28x18
             RenderTableSection {TBODY} at (0,0) size 0x18
               RenderTableRow {TR} at (0,0) size 0x0
                 RenderTableCell {TD} at (0,0) size 7x18 [r=0 c=0 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 7x18
                     text run at (0,0) width 7 RTL: "\x{5D2}"
-                RenderTableCell {TD} at (7,0) size 9x18 [r=0 c=1 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 9x18
-                    text run at (0,0) width 9 RTL: "\x{5D1}"
-                RenderTableCell {TD} at (16,0) size 10x18 [r=0 c=2 rs=1 cs=1]
+                RenderTableCell {TD} at (7,0) size 10x18 [r=0 c=1 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D0}"
-          RenderBlock {P} at (4,22) size 26x18
-            RenderText {TEXT} at (0,0) size 26x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-          RenderBlock {P} at (4,40) size 26x18
-            RenderText {TEXT} at (0,0) size 26x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-          RenderBlock {P} at (4,58) size 26x18
-            RenderText {TEXT} at (0,0) size 26x18
-              text run at (0,0) width 26 LTR override: "\x{5D2}\x{5D1}\x{5D0}"
-        RenderText {TEXT} at (152,77) size 4x18
-          text run at (152,77) width 4: " "
-        RenderBlock {DIV} at (159,57) size 100x62 [border: (1px solid #008000)]
-          RenderBlock (anonymous) at (4,4) size 92x0
+                    text run at (0,0) width 10 RTL: "\x{5D1}"
+                RenderTableCell {TD} at (17,0) size 11x18 [r=0 c=2 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 11x18
+                    text run at (0,0) width 11 RTL: "\x{5D0}"
+          RenderBlock {P} at (4,22) size 28x18
+            RenderText {TEXT} at (0,0) size 27x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+          RenderBlock {P} at (4,40) size 28x18
+            RenderText {TEXT} at (0,0) size 27x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+          RenderBlock {P} at (4,58) size 28x18
+            RenderText {TEXT} at (0,0) size 27x18
+              text run at (0,0) width 27 LTR override: "\x{5D2}\x{5D1}\x{5D0}"
+        RenderText {TEXT} at (154,77) size 4x18
+          text run at (154,77) width 4: " "
+        RenderBlock {DIV} at (161,57) size 105x62 [border: (1px solid #008000)]
+          RenderBlock (anonymous) at (4,4) size 97x0
             RenderText {TEXT} at (0,0) size 0x0
-          RenderTable {TABLE} at (4,4) size 92x18
+          RenderTable {TABLE} at (4,4) size 97x18
             RenderTableSection {TBODY} at (0,0) size 0x18
               RenderTableRow {TR} at (0,0) size 0x0
                 RenderTableCell {TD} at (0,0) size 7x18 [r=0 c=0 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 7x18
                     text run at (0,0) width 7 RTL: "\x{5D2}"
-                RenderTableCell {TD} at (7,0) size 9x18 [r=0 c=1 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 9x18
-                    text run at (0,0) width 9 RTL: "\x{5D1}"
-                RenderTableCell {TD} at (16,0) size 10x18 [r=0 c=2 rs=1 cs=1]
+                RenderTableCell {TD} at (7,0) size 10x18 [r=0 c=1 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D0}"
-                RenderTableCell {TD} at (26,0) size 4x18 [r=0 c=3 rs=1 cs=1]
+                    text run at (0,0) width 10 RTL: "\x{5D1}"
+                RenderTableCell {TD} at (17,0) size 11x18 [r=0 c=2 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 11x18
+                    text run at (0,0) width 11 RTL: "\x{5D0}"
+                RenderTableCell {TD} at (28,0) size 4x18 [r=0 c=3 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (30,0) size 12x18 [r=0 c=4 rs=1 cs=1]
+                RenderTableCell {TD} at (32,0) size 12x18 [r=0 c=4 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "A"
-                RenderTableCell {TD} at (42,0) size 11x18 [r=0 c=5 rs=1 cs=1]
+                RenderTableCell {TD} at (44,0) size 11x18 [r=0 c=5 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "B"
-                RenderTableCell {TD} at (53,0) size 11x18 [r=0 c=6 rs=1 cs=1]
+                RenderTableCell {TD} at (55,0) size 11x18 [r=0 c=6 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "C"
-                RenderTableCell {TD} at (64,0) size 4x18 [r=0 c=7 rs=1 cs=1]
+                RenderTableCell {TD} at (66,0) size 4x18 [r=0 c=7 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (68,0) size 5x18 [r=0 c=8 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D5}"
-                RenderTableCell {TD} at (73,0) size 11x18 [r=0 c=9 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D4}"
-                RenderTableCell {TD} at (84,0) size 8x18 [r=0 c=10 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 8x18
-                    text run at (0,0) width 8 RTL: "\x{5D3}"
-          RenderBlock {P} at (4,22) size 92x18
-            RenderText {TEXT} at (0,0) size 92x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 42: " ABC "
-              text run at (68,0) width 24 RTL: "\x{5D3}\x{5D4}\x{5D5}"
-          RenderBlock {P} at (4,40) size 92x18
-            RenderText {TEXT} at (0,0) size 92x18
-              text run at (0,0) width 30 RTL: " \x{5D0}\x{5D1}\x{5D2}"
-              text run at (30,0) width 34: "ABC"
-              text run at (64,0) width 28 RTL: "\x{5D3}\x{5D4}\x{5D5} "
-        RenderText {TEXT} at (262,77) size 4x18
-          text run at (262,77) width 4: " "
-        RenderBlock {DIV} at (269,3) size 165x170 [border: (1px solid #008000)]
-          RenderBlock (anonymous) at (4,4) size 157x0
+                RenderTableCell {TD} at (70,0) size 6x18 [r=0 c=8 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D5}"
+                RenderTableCell {TD} at (76,0) size 12x18 [r=0 c=9 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D4}"
+                RenderTableCell {TD} at (88,0) size 9x18 [r=0 c=10 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 9x18
+                    text run at (0,0) width 9 RTL: "\x{5D3}"
+          RenderBlock {P} at (4,22) size 97x18
+            RenderText {TEXT} at (0,0) size 94x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 42: " ABC "
+              text run at (69,0) width 25 RTL: "\x{5D3}\x{5D4}\x{5D5}"
+          RenderBlock {P} at (4,40) size 97x18
+            RenderText {TEXT} at (0,0) size 94x18
+              text run at (0,0) width 31 RTL: " \x{5D0}\x{5D1}\x{5D2}"
+              text run at (31,0) width 34: "ABC"
+              text run at (65,0) width 29 RTL: "\x{5D3}\x{5D4}\x{5D5} "
+        RenderText {TEXT} at (269,77) size 4x18
+          text run at (269,77) width 4: " "
+        RenderBlock {DIV} at (276,3) size 173x170 [border: (1px solid #008000)]
+          RenderBlock (anonymous) at (4,4) size 165x0
             RenderText {TEXT} at (0,0) size 0x0
-          RenderTable {TABLE} at (4,4) size 157x18
+          RenderTable {TABLE} at (4,4) size 165x18
             RenderTableSection {TBODY} at (0,0) size 0x18
               RenderTableRow {TR} at (0,0) size 0x0
                 RenderTableCell {TD} at (0,0) size 7x18 [r=0 c=0 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 7x18
                     text run at (0,0) width 7 RTL: "\x{5D2}"
-                RenderTableCell {TD} at (7,0) size 9x18 [r=0 c=1 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 9x18
-                    text run at (0,0) width 9 RTL: "\x{5D1}"
-                RenderTableCell {TD} at (16,0) size 10x18 [r=0 c=2 rs=1 cs=1]
+                RenderTableCell {TD} at (7,0) size 10x18 [r=0 c=1 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D0}"
-                RenderTableCell {TD} at (26,0) size 4x18 [r=0 c=3 rs=1 cs=1]
+                    text run at (0,0) width 10 RTL: "\x{5D1}"
+                RenderTableCell {TD} at (17,0) size 11x18 [r=0 c=2 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 11x18
+                    text run at (0,0) width 11 RTL: "\x{5D0}"
+                RenderTableCell {TD} at (28,0) size 4x18 [r=0 c=3 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (30,0) size 12x18 [r=0 c=4 rs=1 cs=1]
+                RenderTableCell {TD} at (32,0) size 12x18 [r=0 c=4 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "A"
-                RenderTableCell {TD} at (42,0) size 11x18 [r=0 c=5 rs=1 cs=1]
+                RenderTableCell {TD} at (44,0) size 11x18 [r=0 c=5 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "B"
-                RenderTableCell {TD} at (53,0) size 11x18 [r=0 c=6 rs=1 cs=1]
+                RenderTableCell {TD} at (55,0) size 11x18 [r=0 c=6 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "C"
-                RenderTableCell {TD} at (64,0) size 4x18 [r=0 c=7 rs=1 cs=1]
+                RenderTableCell {TD} at (66,0) size 4x18 [r=0 c=7 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (68,0) size 5x18 [r=0 c=8 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D5}"
-                RenderTableCell {TD} at (73,0) size 11x18 [r=0 c=9 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D4}"
-                RenderTableCell {TD} at (84,0) size 8x18 [r=0 c=10 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 8x18
-                    text run at (0,0) width 8 RTL: "\x{5D3}"
-                RenderTableCell {TD} at (92,0) size 4x18 [r=0 c=11 rs=1 cs=1]
+                RenderTableCell {TD} at (70,0) size 6x18 [r=0 c=8 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D5}"
+                RenderTableCell {TD} at (76,0) size 12x18 [r=0 c=9 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D4}"
+                RenderTableCell {TD} at (88,0) size 9x18 [r=0 c=10 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 9x18
+                    text run at (0,0) width 9 RTL: "\x{5D3}"
+                RenderTableCell {TD} at (97,0) size 4x18 [r=0 c=11 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (96,0) size 12x18 [r=0 c=12 rs=1 cs=1]
+                RenderTableCell {TD} at (101,0) size 12x18 [r=0 c=12 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "D"
-                RenderTableCell {TD} at (108,0) size 10x18 [r=0 c=13 rs=1 cs=1]
+                RenderTableCell {TD} at (113,0) size 10x18 [r=0 c=13 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
                     text run at (0,0) width 10: "E"
-                RenderTableCell {TD} at (118,0) size 9x18 [r=0 c=14 rs=1 cs=1]
+                RenderTableCell {TD} at (123,0) size 9x18 [r=0 c=14 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 9x18
                     text run at (0,0) width 9: "F"
-                RenderTableCell {TD} at (127,0) size 4x18 [r=0 c=15 rs=1 cs=1]
+                RenderTableCell {TD} at (132,0) size 4x18 [r=0 c=15 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (131,0) size 10x18 [r=0 c=16 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D8}"
-                RenderTableCell {TD} at (141,0) size 11x18 [r=0 c=17 rs=1 cs=1]
+                RenderTableCell {TD} at (136,0) size 11x18 [r=0 c=16 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D7}"
-                RenderTableCell {TD} at (152,0) size 5x18 [r=0 c=18 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D6}"
-          RenderBlock {P} at (4,22) size 157x18
-            RenderText {TEXT} at (0,0) size 157x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 42: " ABC "
-              text run at (68,0) width 24 RTL: "\x{5D3}\x{5D4}\x{5D5}"
-              text run at (92,0) width 39: " DEF "
-              text run at (131,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-          RenderBlock {P} at (4,40) size 157x18
-            RenderText {TEXT} at (0,0) size 30x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 4: " "
-            RenderInline {SPAN} at (0,0) size 62x18
-              RenderText {TEXT} at (30,0) size 62x18
-                text run at (30,0) width 38: "ABC "
-                text run at (68,0) width 24 RTL: "\x{5D3}\x{5D4}\x{5D5}"
-            RenderText {TEXT} at (92,0) size 65x18
-              text run at (92,0) width 39: " DEF "
-              text run at (131,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-          RenderBlock {P} at (4,58) size 157x18
-            RenderText {TEXT} at (0,0) size 157x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 4: " "
-              text run at (30,0) width 38: "ABC "
-              text run at (68,0) width 24 RTL: "\x{5D3}\x{5D4}\x{5D5}"
-              text run at (92,0) width 35: " DEF"
-              text run at (127,0) width 4: " "
-              text run at (131,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-          RenderBlock {P} at (4,76) size 157x18
-            RenderText {TEXT} at (0,0) size 157x18
-              text run at (0,0) width 30 RTL: " \x{5D0}\x{5D1}\x{5D2}"
-              text run at (30,0) width 34: "ABC"
-              text run at (64,0) width 32 RTL: " \x{5D3}\x{5D4}\x{5D5} "
-              text run at (96,0) width 31: "DEF"
-              text run at (127,0) width 30 RTL: "\x{5D6}\x{5D7}\x{5D8} "
-          RenderBlock {P} at (4,94) size 157x18
-            RenderText {TEXT} at (0,0) size 157x18
-              text run at (0,0) width 30 RTL: " \x{5D0}\x{5D1}\x{5D2}"
-              text run at (30,0) width 34: "ABC"
-              text run at (64,0) width 28 RTL: "\x{5D3}\x{5D4}\x{5D5} "
-              text run at (92,0) width 39: " DEF "
-              text run at (131,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-          RenderBlock {P} at (4,112) size 157x18
-            RenderText {TEXT} at (0,0) size 156x18
-              text run at (0,0) width 63 RTL override: "CBA \x{5D0}\x{5D1}\x{5D2}"
-              text run at (63,0) width 28 RTL: "\x{5D3}\x{5D4}\x{5D5} "
-              text run at (91,0) width 39: " DEF "
-              text run at (130,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-          RenderBlock {P} at (4,130) size 157x18
-            RenderText {TEXT} at (0,0) size 157x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 4: " "
-              text run at (30,0) width 62 LTR override: "ABC \x{5D5}\x{5D4}\x{5D3}"
-              text run at (92,0) width 39: " DEF "
-              text run at (131,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-          RenderBlock {P} at (4,148) size 157x18
-            RenderText {TEXT} at (0,0) size 157x18
-              text run at (0,0) width 30 RTL: " \x{5D0}\x{5D1}\x{5D2}"
-              text run at (30,0) width 62 LTR override: "ABC \x{5D5}\x{5D4}\x{5D3}"
-              text run at (92,0) width 35: " DEF"
-              text run at (127,0) width 30 RTL: "\x{5D6}\x{5D7}\x{5D8} "
-        RenderText {TEXT} at (437,77) size 4x18
-          text run at (437,77) width 4: " "
-        RenderBlock {DIV} at (444,66) size 198x44 [border: (1px solid #008000)]
-          RenderBlock (anonymous) at (4,4) size 190x0
+                    text run at (0,0) width 11 RTL: "\x{5D8}"
+                RenderTableCell {TD} at (147,0) size 12x18 [r=0 c=17 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D7}"
+                RenderTableCell {TD} at (159,0) size 6x18 [r=0 c=18 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D6}"
+          RenderBlock {P} at (4,22) size 165x18
+            RenderText {TEXT} at (0,0) size 161x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 42: " ABC "
+              text run at (69,0) width 25 RTL: "\x{5D3}\x{5D4}\x{5D5}"
+              text run at (94,0) width 39: " DEF "
+              text run at (133,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+          RenderBlock {P} at (4,40) size 165x18
+            RenderText {TEXT} at (0,0) size 31x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 4: " "
+            RenderInline {SPAN} at (0,0) size 63x18
+              RenderText {TEXT} at (31,0) size 63x18
+                text run at (31,0) width 38: "ABC "
+                text run at (69,0) width 25 RTL: "\x{5D3}\x{5D4}\x{5D5}"
+            RenderText {TEXT} at (94,0) size 67x18
+              text run at (94,0) width 39: " DEF "
+              text run at (133,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+          RenderBlock {P} at (4,58) size 165x18
+            RenderText {TEXT} at (0,0) size 161x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 4: " "
+              text run at (31,0) width 38: "ABC "
+              text run at (69,0) width 25 RTL: "\x{5D3}\x{5D4}\x{5D5}"
+              text run at (94,0) width 35: " DEF"
+              text run at (129,0) width 4: " "
+              text run at (133,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+          RenderBlock {P} at (4,76) size 165x18
+            RenderText {TEXT} at (0,0) size 161x18
+              text run at (0,0) width 31 RTL: " \x{5D0}\x{5D1}\x{5D2}"
+              text run at (31,0) width 34: "ABC"
+              text run at (65,0) width 33 RTL: " \x{5D3}\x{5D4}\x{5D5} "
+              text run at (98,0) width 31: "DEF"
+              text run at (129,0) width 32 RTL: "\x{5D6}\x{5D7}\x{5D8} "
+          RenderBlock {P} at (4,94) size 165x18
+            RenderText {TEXT} at (0,0) size 161x18
+              text run at (0,0) width 31 RTL: " \x{5D0}\x{5D1}\x{5D2}"
+              text run at (31,0) width 34: "ABC"
+              text run at (65,0) width 29 RTL: "\x{5D3}\x{5D4}\x{5D5} "
+              text run at (94,0) width 39: " DEF "
+              text run at (133,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+          RenderBlock {P} at (4,112) size 165x18
+            RenderText {TEXT} at (0,0) size 161x18
+              text run at (0,0) width 65 RTL override: "CBA \x{5D0}\x{5D1}\x{5D2}"
+              text run at (65,0) width 29 RTL: "\x{5D3}\x{5D4}\x{5D5} "
+              text run at (94,0) width 39: " DEF "
+              text run at (133,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+          RenderBlock {P} at (4,130) size 165x18
+            RenderText {TEXT} at (0,0) size 161x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 4: " "
+              text run at (31,0) width 63 LTR override: "ABC \x{5D5}\x{5D4}\x{5D3}"
+              text run at (94,0) width 39: " DEF "
+              text run at (133,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+          RenderBlock {P} at (4,148) size 165x18
+            RenderText {TEXT} at (0,0) size 161x18
+              text run at (0,0) width 31 RTL: " \x{5D0}\x{5D1}\x{5D2}"
+              text run at (31,0) width 63 LTR override: "ABC \x{5D5}\x{5D4}\x{5D3}"
+              text run at (94,0) width 35: " DEF"
+              text run at (129,0) width 32 RTL: "\x{5D6}\x{5D7}\x{5D8} "
+        RenderText {TEXT} at (452,77) size 4x18
+          text run at (452,77) width 4: " "
+        RenderBlock {DIV} at (459,66) size 206x44 [border: (1px solid #008000)]
+          RenderBlock (anonymous) at (4,4) size 198x0
             RenderText {TEXT} at (0,0) size 0x0
-          RenderTable {TABLE} at (4,4) size 190x18
+          RenderTable {TABLE} at (4,4) size 198x18
             RenderTableSection {TBODY} at (0,0) size 0x18
               RenderTableRow {TR} at (0,0) size 0x0
                 RenderTableCell {TD} at (0,0) size 7x18 [r=0 c=0 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 7x18
                     text run at (0,0) width 7 RTL: "\x{5D2}"
-                RenderTableCell {TD} at (7,0) size 9x18 [r=0 c=1 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 9x18
-                    text run at (0,0) width 9 RTL: "\x{5D1}"
-                RenderTableCell {TD} at (16,0) size 10x18 [r=0 c=2 rs=1 cs=1]
+                RenderTableCell {TD} at (7,0) size 10x18 [r=0 c=1 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D0}"
-                RenderTableCell {TD} at (26,0) size 4x18 [r=0 c=3 rs=1 cs=1]
+                    text run at (0,0) width 10 RTL: "\x{5D1}"
+                RenderTableCell {TD} at (17,0) size 11x18 [r=0 c=2 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 11x18
+                    text run at (0,0) width 11 RTL: "\x{5D0}"
+                RenderTableCell {TD} at (28,0) size 4x18 [r=0 c=3 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (30,0) size 12x18 [r=0 c=4 rs=1 cs=1]
+                RenderTableCell {TD} at (32,0) size 12x18 [r=0 c=4 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "A"
-                RenderTableCell {TD} at (42,0) size 11x18 [r=0 c=5 rs=1 cs=1]
+                RenderTableCell {TD} at (44,0) size 11x18 [r=0 c=5 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "B"
-                RenderTableCell {TD} at (53,0) size 11x18 [r=0 c=6 rs=1 cs=1]
+                RenderTableCell {TD} at (55,0) size 11x18 [r=0 c=6 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "C"
-                RenderTableCell {TD} at (64,0) size 4x18 [r=0 c=7 rs=1 cs=1]
+                RenderTableCell {TD} at (66,0) size 4x18 [r=0 c=7 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (68,0) size 5x18 [r=0 c=8 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D5}"
-                RenderTableCell {TD} at (73,0) size 11x18 [r=0 c=9 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D4}"
-                RenderTableCell {TD} at (84,0) size 8x18 [r=0 c=10 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 8x18
-                    text run at (0,0) width 8 RTL: "\x{5D3}"
-                RenderTableCell {TD} at (92,0) size 4x18 [r=0 c=11 rs=1 cs=1]
+                RenderTableCell {TD} at (70,0) size 6x18 [r=0 c=8 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D5}"
+                RenderTableCell {TD} at (76,0) size 12x18 [r=0 c=9 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D4}"
+                RenderTableCell {TD} at (88,0) size 9x18 [r=0 c=10 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 9x18
+                    text run at (0,0) width 9 RTL: "\x{5D3}"
+                RenderTableCell {TD} at (97,0) size 4x18 [r=0 c=11 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (96,0) size 12x18 [r=0 c=12 rs=1 cs=1]
+                RenderTableCell {TD} at (101,0) size 12x18 [r=0 c=12 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "D"
-                RenderTableCell {TD} at (108,0) size 10x18 [r=0 c=13 rs=1 cs=1]
+                RenderTableCell {TD} at (113,0) size 10x18 [r=0 c=13 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
                     text run at (0,0) width 10: "E"
-                RenderTableCell {TD} at (118,0) size 9x18 [r=0 c=14 rs=1 cs=1]
+                RenderTableCell {TD} at (123,0) size 9x18 [r=0 c=14 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 9x18
                     text run at (0,0) width 9: "F"
-                RenderTableCell {TD} at (127,0) size 4x18 [r=0 c=15 rs=1 cs=1]
+                RenderTableCell {TD} at (132,0) size 4x18 [r=0 c=15 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (131,0) size 12x18 [r=0 c=16 rs=1 cs=1]
+                RenderTableCell {TD} at (136,0) size 12x18 [r=0 c=16 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "G"
-                RenderTableCell {TD} at (143,0) size 12x18 [r=0 c=17 rs=1 cs=1]
+                RenderTableCell {TD} at (148,0) size 12x18 [r=0 c=17 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "H"
-                RenderTableCell {TD} at (155,0) size 5x18 [r=0 c=18 rs=1 cs=1]
+                RenderTableCell {TD} at (160,0) size 5x18 [r=0 c=18 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 5x18
                     text run at (0,0) width 5: "I"
-                RenderTableCell {TD} at (160,0) size 4x18 [r=0 c=19 rs=1 cs=1]
+                RenderTableCell {TD} at (165,0) size 4x18 [r=0 c=19 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (164,0) size 10x18 [r=0 c=20 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D8}"
-                RenderTableCell {TD} at (174,0) size 11x18 [r=0 c=21 rs=1 cs=1]
+                RenderTableCell {TD} at (169,0) size 11x18 [r=0 c=20 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D7}"
-                RenderTableCell {TD} at (185,0) size 5x18 [r=0 c=22 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D6}"
-          RenderBlock {P} at (4,22) size 190x18
-            RenderText {TEXT} at (0,0) size 190x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 42: " ABC "
-              text run at (68,0) width 24 RTL: "\x{5D3}\x{5D4}\x{5D5}"
-              text run at (92,0) width 72: " DEF GHI "
-              text run at (164,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-        RenderText {TEXT} at (645,77) size 4x18
-          text run at (645,77) width 4: " "
-        RenderBR {BR} at (649,77) size 0x18
-        RenderBlock {DIV} at (3,179) size 198x44 [border: (1px solid #008000)]
-          RenderBlock (anonymous) at (4,4) size 190x0
+                    text run at (0,0) width 11 RTL: "\x{5D8}"
+                RenderTableCell {TD} at (180,0) size 12x18 [r=0 c=21 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D7}"
+                RenderTableCell {TD} at (192,0) size 6x18 [r=0 c=22 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D6}"
+          RenderBlock {P} at (4,22) size 198x18
+            RenderText {TEXT} at (0,0) size 194x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 42: " ABC "
+              text run at (69,0) width 25 RTL: "\x{5D3}\x{5D4}\x{5D5}"
+              text run at (94,0) width 72: " DEF GHI "
+              text run at (166,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+        RenderText {TEXT} at (668,77) size 4x18
+          text run at (668,77) width 4: " "
+        RenderBR {BR} at (672,77) size 0x18
+        RenderBlock {DIV} at (3,179) size 206x44 [border: (1px solid #008000)]
+          RenderBlock (anonymous) at (4,4) size 198x0
             RenderText {TEXT} at (0,0) size 0x0
-          RenderTable {TABLE} at (4,4) size 190x18
+          RenderTable {TABLE} at (4,4) size 198x18
             RenderTableSection {TBODY} at (0,0) size 0x18
               RenderTableRow {TR} at (0,0) size 0x0
                 RenderTableCell {TD} at (0,0) size 9x18 [r=0 c=0 rs=1 cs=1]
@@ -391,153 +391,153 @@ layer at (0,0) size 800x577
                 RenderTableCell {TD} at (31,0) size 4x18 [r=0 c=3 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (35,0) size 5x18 [r=0 c=4 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D5}"
-                RenderTableCell {TD} at (40,0) size 11x18 [r=0 c=5 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D4}"
-                RenderTableCell {TD} at (51,0) size 8x18 [r=0 c=6 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 8x18
-                    text run at (0,0) width 8 RTL: "\x{5D3}"
-                RenderTableCell {TD} at (59,0) size 4x18 [r=0 c=7 rs=1 cs=1]
+                RenderTableCell {TD} at (35,0) size 6x18 [r=0 c=4 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D5}"
+                RenderTableCell {TD} at (41,0) size 12x18 [r=0 c=5 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D4}"
+                RenderTableCell {TD} at (53,0) size 9x18 [r=0 c=6 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 9x18
+                    text run at (0,0) width 9 RTL: "\x{5D3}"
+                RenderTableCell {TD} at (62,0) size 4x18 [r=0 c=7 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (63,0) size 11x18 [r=0 c=8 rs=1 cs=1]
+                RenderTableCell {TD} at (66,0) size 11x18 [r=0 c=8 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "C"
-                RenderTableCell {TD} at (74,0) size 11x18 [r=0 c=9 rs=1 cs=1]
+                RenderTableCell {TD} at (77,0) size 11x18 [r=0 c=9 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "B"
-                RenderTableCell {TD} at (85,0) size 12x18 [r=0 c=10 rs=1 cs=1]
+                RenderTableCell {TD} at (88,0) size 12x18 [r=0 c=10 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "A"
-                RenderTableCell {TD} at (97,0) size 4x18 [r=0 c=11 rs=1 cs=1]
+                RenderTableCell {TD} at (100,0) size 4x18 [r=0 c=11 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (101,0) size 7x18 [r=0 c=12 rs=1 cs=1]
+                RenderTableCell {TD} at (104,0) size 7x18 [r=0 c=12 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 7x18
                     text run at (0,0) width 7 RTL: "\x{5D2}"
-                RenderTableCell {TD} at (108,0) size 9x18 [r=0 c=13 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 9x18
-                    text run at (0,0) width 9 RTL: "\x{5D1}"
-                RenderTableCell {TD} at (117,0) size 10x18 [r=0 c=14 rs=1 cs=1]
+                RenderTableCell {TD} at (111,0) size 10x18 [r=0 c=13 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D0}"
-                RenderTableCell {TD} at (127,0) size 4x18 [r=0 c=15 rs=1 cs=1]
+                    text run at (0,0) width 10 RTL: "\x{5D1}"
+                RenderTableCell {TD} at (121,0) size 11x18 [r=0 c=14 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 11x18
+                    text run at (0,0) width 11 RTL: "\x{5D0}"
+                RenderTableCell {TD} at (132,0) size 4x18 [r=0 c=15 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (131,0) size 12x18 [r=0 c=16 rs=1 cs=1]
+                RenderTableCell {TD} at (136,0) size 12x18 [r=0 c=16 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "G"
-                RenderTableCell {TD} at (143,0) size 12x18 [r=0 c=17 rs=1 cs=1]
+                RenderTableCell {TD} at (148,0) size 12x18 [r=0 c=17 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "H"
-                RenderTableCell {TD} at (155,0) size 5x18 [r=0 c=18 rs=1 cs=1]
+                RenderTableCell {TD} at (160,0) size 5x18 [r=0 c=18 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 5x18
                     text run at (0,0) width 5: "I"
-                RenderTableCell {TD} at (160,0) size 4x18 [r=0 c=19 rs=1 cs=1]
+                RenderTableCell {TD} at (165,0) size 4x18 [r=0 c=19 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (164,0) size 10x18 [r=0 c=20 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D8}"
-                RenderTableCell {TD} at (174,0) size 11x18 [r=0 c=21 rs=1 cs=1]
+                RenderTableCell {TD} at (169,0) size 11x18 [r=0 c=20 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D7}"
-                RenderTableCell {TD} at (185,0) size 5x18 [r=0 c=22 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D6}"
-          RenderBlock {P} at (4,22) size 190x18
-            RenderText {TEXT} at (0,0) size 190x18
-              text run at (0,0) width 97 RTL override: "ABC \x{5D3}\x{5D4}\x{5D5} DEF"
-              text run at (97,0) width 30 RTL: "\x{5D0}\x{5D1}\x{5D2} "
-              text run at (127,0) width 37: " GHI "
-              text run at (164,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
-        RenderText {TEXT} at (204,190) size 4x18
-          text run at (204,190) width 4: " "
-        RenderBlock {DIV} at (211,179) size 198x44 [border: (1px solid #008000)]
-          RenderBlock (anonymous) at (4,4) size 190x0
+                    text run at (0,0) width 11 RTL: "\x{5D8}"
+                RenderTableCell {TD} at (180,0) size 12x18 [r=0 c=21 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D7}"
+                RenderTableCell {TD} at (192,0) size 6x18 [r=0 c=22 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D6}"
+          RenderBlock {P} at (4,22) size 198x18
+            RenderText {TEXT} at (0,0) size 194x18
+              text run at (0,0) width 98 RTL override: "ABC \x{5D3}\x{5D4}\x{5D5} DEF"
+              text run at (98,0) width 31 RTL: "\x{5D0}\x{5D1}\x{5D2} "
+              text run at (129,0) width 37: " GHI "
+              text run at (166,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+        RenderText {TEXT} at (212,190) size 4x18
+          text run at (212,190) width 4: " "
+        RenderBlock {DIV} at (219,179) size 206x44 [border: (1px solid #008000)]
+          RenderBlock (anonymous) at (4,4) size 198x0
             RenderText {TEXT} at (0,0) size 0x0
-          RenderTable {TABLE} at (4,4) size 190x18
+          RenderTable {TABLE} at (4,4) size 198x18
             RenderTableSection {TBODY} at (0,0) size 0x18
               RenderTableRow {TR} at (0,0) size 0x0
                 RenderTableCell {TD} at (0,0) size 7x18 [r=0 c=0 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 7x18
                     text run at (0,0) width 7 RTL: "\x{5D2}"
-                RenderTableCell {TD} at (7,0) size 9x18 [r=0 c=1 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 9x18
-                    text run at (0,0) width 9 RTL: "\x{5D1}"
-                RenderTableCell {TD} at (16,0) size 10x18 [r=0 c=2 rs=1 cs=1]
+                RenderTableCell {TD} at (7,0) size 10x18 [r=0 c=1 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D0}"
-                RenderTableCell {TD} at (26,0) size 4x18 [r=0 c=3 rs=1 cs=1]
+                    text run at (0,0) width 10 RTL: "\x{5D1}"
+                RenderTableCell {TD} at (17,0) size 11x18 [r=0 c=2 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 11x18
+                    text run at (0,0) width 11 RTL: "\x{5D0}"
+                RenderTableCell {TD} at (28,0) size 4x18 [r=0 c=3 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (30,0) size 12x18 [r=0 c=4 rs=1 cs=1]
+                RenderTableCell {TD} at (32,0) size 12x18 [r=0 c=4 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "A"
-                RenderTableCell {TD} at (42,0) size 11x18 [r=0 c=5 rs=1 cs=1]
+                RenderTableCell {TD} at (44,0) size 11x18 [r=0 c=5 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "B"
-                RenderTableCell {TD} at (53,0) size 11x18 [r=0 c=6 rs=1 cs=1]
+                RenderTableCell {TD} at (55,0) size 11x18 [r=0 c=6 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
                     text run at (0,0) width 11: "C"
-                RenderTableCell {TD} at (64,0) size 4x18 [r=0 c=7 rs=1 cs=1]
+                RenderTableCell {TD} at (66,0) size 4x18 [r=0 c=7 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (68,0) size 9x18 [r=0 c=8 rs=1 cs=1]
+                RenderTableCell {TD} at (70,0) size 9x18 [r=0 c=8 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 9x18
                     text run at (0,0) width 9: "F"
-                RenderTableCell {TD} at (77,0) size 10x18 [r=0 c=9 rs=1 cs=1]
+                RenderTableCell {TD} at (79,0) size 10x18 [r=0 c=9 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 10x18
                     text run at (0,0) width 10: "E"
-                RenderTableCell {TD} at (87,0) size 12x18 [r=0 c=10 rs=1 cs=1]
+                RenderTableCell {TD} at (89,0) size 12x18 [r=0 c=10 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "D"
-                RenderTableCell {TD} at (99,0) size 4x18 [r=0 c=11 rs=1 cs=1]
+                RenderTableCell {TD} at (101,0) size 4x18 [r=0 c=11 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (103,0) size 5x18 [r=0 c=12 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D5}"
-                RenderTableCell {TD} at (108,0) size 11x18 [r=0 c=13 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D4}"
-                RenderTableCell {TD} at (119,0) size 8x18 [r=0 c=14 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 8x18
-                    text run at (0,0) width 8 RTL: "\x{5D3}"
-                RenderTableCell {TD} at (127,0) size 4x18 [r=0 c=15 rs=1 cs=1]
+                RenderTableCell {TD} at (105,0) size 6x18 [r=0 c=12 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D5}"
+                RenderTableCell {TD} at (111,0) size 12x18 [r=0 c=13 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D4}"
+                RenderTableCell {TD} at (123,0) size 9x18 [r=0 c=14 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 9x18
+                    text run at (0,0) width 9 RTL: "\x{5D3}"
+                RenderTableCell {TD} at (132,0) size 4x18 [r=0 c=15 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (131,0) size 12x18 [r=0 c=16 rs=1 cs=1]
+                RenderTableCell {TD} at (136,0) size 12x18 [r=0 c=16 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "G"
-                RenderTableCell {TD} at (143,0) size 12x18 [r=0 c=17 rs=1 cs=1]
+                RenderTableCell {TD} at (148,0) size 12x18 [r=0 c=17 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 12x18
                     text run at (0,0) width 12: "H"
-                RenderTableCell {TD} at (155,0) size 5x18 [r=0 c=18 rs=1 cs=1]
+                RenderTableCell {TD} at (160,0) size 5x18 [r=0 c=18 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 5x18
                     text run at (0,0) width 5: "I"
-                RenderTableCell {TD} at (160,0) size 4x18 [r=0 c=19 rs=1 cs=1]
+                RenderTableCell {TD} at (165,0) size 4x18 [r=0 c=19 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 4x18
                     text run at (0,0) width 4: " "
-                RenderTableCell {TD} at (164,0) size 10x18 [r=0 c=20 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 10x18
-                    text run at (0,0) width 10 RTL: "\x{5D8}"
-                RenderTableCell {TD} at (174,0) size 11x18 [r=0 c=21 rs=1 cs=1]
+                RenderTableCell {TD} at (169,0) size 11x18 [r=0 c=20 rs=1 cs=1]
                   RenderText {TEXT} at (0,0) size 11x18
-                    text run at (0,0) width 11 RTL: "\x{5D7}"
-                RenderTableCell {TD} at (185,0) size 5x18 [r=0 c=22 rs=1 cs=1]
-                  RenderText {TEXT} at (0,0) size 5x18
-                    text run at (0,0) width 5 RTL: "\x{5D6}"
-          RenderBlock {P} at (4,22) size 190x18
-            RenderText {TEXT} at (0,0) size 190x18
-              text run at (0,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              text run at (26,0) width 42: " ABC "
-              text run at (68,0) width 59 RTL override: "\x{5D3}\x{5D4}\x{5D5} DEF"
-              text run at (127,0) width 37: " GHI "
-              text run at (164,0) width 26 RTL: "\x{5D6}\x{5D7}\x{5D8}"
+                    text run at (0,0) width 11 RTL: "\x{5D8}"
+                RenderTableCell {TD} at (180,0) size 12x18 [r=0 c=21 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 12x18
+                    text run at (0,0) width 12 RTL: "\x{5D7}"
+                RenderTableCell {TD} at (192,0) size 6x18 [r=0 c=22 rs=1 cs=1]
+                  RenderText {TEXT} at (0,0) size 6x18
+                    text run at (0,0) width 6 RTL: "\x{5D6}"
+          RenderBlock {P} at (4,22) size 198x18
+            RenderText {TEXT} at (0,0) size 194x18
+              text run at (0,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              text run at (27,0) width 42: " ABC "
+              text run at (69,0) width 60 RTL override: "\x{5D3}\x{5D4}\x{5D5} DEF"
+              text run at (129,0) width 37: " GHI "
+              text run at (166,0) width 28 RTL: "\x{5D6}\x{5D7}\x{5D8}"
         RenderText {TEXT} at (0,0) size 0x0
       RenderBlock {P} at (0,402) size 784x18
         RenderText {TEXT} at (0,0) size 369x18
index 3f448e8a8cb60c4e83647291c348e68fe21292dc..9e32036e7f20b2b721584f18b6ff575f2f1a2c85 100644 (file)
@@ -1,2 +1 @@
-e4f748c9e015d63ed2b47cf52d8707a6
-\ No newline at end of file
+f4f772c30e0575b5cc9a88802c967fd5
\ No newline at end of file
index 97db7c0630920505e57a28c2158bbf0c2d6453a4..2bc871ae03a34be352d965df58ffc227fd44d216 100644 (file)
Binary files a/LayoutTests/fast/text/international/bidi-european-terminators-expected.png and b/LayoutTests/fast/text/international/bidi-european-terminators-expected.png differ
index efb7e64db60f85d4699fba9633eb1fd94541fc47..2430ec38f7b3744c381a27410d3e2383778afff6 100644 (file)
@@ -13,70 +13,70 @@ layer at (0,0) size 800x600
         RenderText {TEXT} at (157,18) size 4x18
           text run at (157,18) width 4: "."
       RenderBlock {P} at (0,52) size 784x36
-        RenderText {TEXT} at (0,0) size 764x36
+        RenderText {TEXT} at (0,0) size 766x36
           text run at (0,0) width 96: "The characters "
-          text run at (96,0) width 10 RTL: "\x{5D0}"
-          text run at (106,0) width 31: " and "
-          text run at (137,0) width 9 RTL: "\x{5D1}"
-          text run at (146,0) width 618: " are of type R; ^ and @ are of type ON; $ and % are of type ET; a is of type L; 1 is of type EN. In"
+          text run at (96,0) width 11 RTL: "\x{5D0}"
+          text run at (107,0) width 31: " and "
+          text run at (138,0) width 10 RTL: "\x{5D1}"
+          text run at (148,0) width 618: " are of type R; ^ and @ are of type ON; $ and % are of type ET; a is of type L; 1 is of type EN. In"
           text run at (0,18) width 467: "each of the following pairs, the two lines should be identical to each other."
       RenderBlock {HR} at (0,104) size 784x2 [border: (1px inset #000000)]
       RenderBlock {P} at (0,122) size 784x18
-        RenderText {TEXT} at (0,0) size 77x18
-          text run at (0,0) width 10 RTL: "\x{5D0}"
-          text run at (10,0) width 67: " ^ @ $% a"
+        RenderText {TEXT} at (0,0) size 78x18
+          text run at (0,0) width 11 RTL: "\x{5D0}"
+          text run at (11,0) width 67: " ^ @ $% a"
       RenderBlock (anonymous) at (0,156) size 784x18
-        RenderInline {BDO} at (0,0) size 77x18
-          RenderText {TEXT} at (0,0) size 77x18
-            text run at (0,0) width 77 LTR override: "\x{5D0} ^ @ $% a"
+        RenderInline {BDO} at (0,0) size 78x18
+          RenderText {TEXT} at (0,0) size 78x18
+            text run at (0,0) width 78 LTR override: "\x{5D0} ^ @ $% a"
         RenderText {TEXT} at (0,0) size 0x0
       RenderBlock {HR} at (0,182) size 784x2 [border: (1px inset #000000)]
       RenderBlock {P} at (0,200) size 784x18
-        RenderText {TEXT} at (0,0) size 79x18
-          text run at (0,0) width 79 RTL: "\x{5D0} ^ @ $% \x{5D1}"
+        RenderText {TEXT} at (0,0) size 81x18
+          text run at (0,0) width 81 RTL: "\x{5D0} ^ @ $% \x{5D1}"
       RenderBlock (anonymous) at (0,234) size 784x18
-        RenderInline {BDO} at (0,0) size 79x18
-          RenderText {TEXT} at (0,0) size 79x18
-            text run at (0,0) width 79 LTR override: "\x{5D1} %$ @ ^ \x{5D0}"
+        RenderInline {BDO} at (0,0) size 81x18
+          RenderText {TEXT} at (0,0) size 81x18
+            text run at (0,0) width 81 LTR override: "\x{5D1} %$ @ ^ \x{5D0}"
         RenderText {TEXT} at (0,0) size 0x0
       RenderBlock {HR} at (0,260) size 784x2 [border: (1px inset #000000)]
       RenderBlock {P} at (0,278) size 784x18
-        RenderText {TEXT} at (0,0) size 74x18
+        RenderText {TEXT} at (0,0) size 75x18
           text run at (0,0) width 29: "$%1"
-          text run at (29,0) width 45 RTL: "\x{5D0} ^ @ "
+          text run at (29,0) width 46 RTL: "\x{5D0} ^ @ "
       RenderBlock (anonymous) at (0,312) size 784x18
-        RenderInline {BDO} at (0,0) size 74x18
-          RenderText {TEXT} at (0,0) size 74x18
-            text run at (0,0) width 74 LTR override: "$%1 @ ^ \x{5D0}"
+        RenderInline {BDO} at (0,0) size 75x18
+          RenderText {TEXT} at (0,0) size 75x18
+            text run at (0,0) width 75 LTR override: "$%1 @ ^ \x{5D0}"
         RenderText {TEXT} at (0,0) size 0x0
       RenderBlock {HR} at (0,338) size 784x2 [border: (1px inset #000000)]
       RenderBlock {P} at (0,356) size 784x18
-        RenderText {TEXT} at (0,0) size 77x18
+        RenderText {TEXT} at (0,0) size 78x18
           text run at (0,0) width 7: "a"
-          text run at (7,0) width 70 RTL: "\x{5D0} ^ @ $% "
+          text run at (7,0) width 71 RTL: "\x{5D0} ^ @ $% "
       RenderBlock (anonymous) at (0,390) size 784x18
-        RenderInline {BDO} at (0,0) size 77x18
-          RenderText {TEXT} at (0,0) size 77x18
-            text run at (0,0) width 77 LTR override: "a %$ @ ^ \x{5D0}"
+        RenderInline {BDO} at (0,0) size 78x18
+          RenderText {TEXT} at (0,0) size 78x18
+            text run at (0,0) width 78 LTR override: "a %$ @ ^ \x{5D0}"
         RenderText {TEXT} at (0,0) size 0x0
       RenderBlock {HR} at (0,416) size 784x2 [border: (1px inset #000000)]
       RenderBlock {P} at (0,434) size 784x18
-        RenderText {TEXT} at (0,0) size 79x18
-          text run at (0,0) width 79 RTL: "\x{5D0} ^ @ $% \x{5D1}"
+        RenderText {TEXT} at (0,0) size 81x18
+          text run at (0,0) width 81 RTL: "\x{5D0} ^ @ $% \x{5D1}"
       RenderBlock (anonymous) at (0,468) size 784x18
-        RenderInline {BDO} at (0,0) size 79x18
-          RenderText {TEXT} at (0,0) size 79x18
-            text run at (0,0) width 79 LTR override: "\x{5D1} %$ @ ^ \x{5D0}"
+        RenderInline {BDO} at (0,0) size 81x18
+          RenderText {TEXT} at (0,0) size 81x18
+            text run at (0,0) width 81 LTR override: "\x{5D1} %$ @ ^ \x{5D0}"
         RenderText {TEXT} at (0,0) size 0x0
       RenderBlock {HR} at (0,494) size 784x2 [border: (1px inset #000000)]
       RenderBlock {P} at (0,512) size 784x18
-        RenderText {TEXT} at (0,0) size 74x18
+        RenderText {TEXT} at (0,0) size 75x18
           text run at (0,0) width 29: "$%1"
-          text run at (29,0) width 45 RTL: "\x{5D0} ^ @ "
+          text run at (29,0) width 46 RTL: "\x{5D0} ^ @ "
       RenderBlock (anonymous) at (0,546) size 784x18
-        RenderInline {BDO} at (0,0) size 74x18
-          RenderText {TEXT} at (0,0) size 74x18
-            text run at (0,0) width 74 LTR override: "$%1 @ ^ \x{5D0}"
+        RenderInline {BDO} at (0,0) size 75x18
+          RenderText {TEXT} at (0,0) size 75x18
+            text run at (0,0) width 75 LTR override: "$%1 @ ^ \x{5D0}"
         RenderText {TEXT} at (0,0) size 0x0
         RenderText {TEXT} at (0,0) size 0x0
         RenderText {TEXT} at (0,0) size 0x0
index 8a2950508eb6861c556c150b301f43333a2f41fd..d5daf0c23efc7f5c6e90f86fb1f6be7290ae8872 100644 (file)
@@ -1 +1 @@
-9dfbdc8b3f076aa9c2386eb14a62ac90
\ No newline at end of file
+a88e625cca52b33bb1bf58a86719956c
\ No newline at end of file
index 013214283f4a66669ad9cab34d7e3572d01c7946..3eb161c058a4b533ea38f902fa77ae09b7323f67 100644 (file)
Binary files a/LayoutTests/fast/text/international/bidi-fallback-font-weight-expected.png and b/LayoutTests/fast/text/international/bidi-fallback-font-weight-expected.png differ
index 921436c9310107d52bc9108c17584a6826305a1d..99f6f5489775c43a9373d4c311d00183bdaf1b31 100644 (file)
@@ -4,11 +4,11 @@ layer at (0,0) size 800x170
   RenderBlock {HTML} at (0,0) size 800x170
     RenderBody {BODY} at (8,16) size 784x138
       RenderBlock {P} at (0,0) size 784x36
-        RenderText {TEXT} at (0,0) size 784x36
+        RenderText {TEXT} at (0,0) size 762x36
           text run at (0,0) width 311: "In each of the following lines, the Hebrew letters "
-          text run at (311,0) width 34 RTL: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}"
-          text run at (345,0) width 439: " in the end should be in boldface (compare with the same letters in the"
-          text run at (0,18) width 119: "middle of the line)."
+          text run at (311,0) width 35 RTL: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}"
+          text run at (346,0) width 416: " in the end should be in boldface (compare with the same letters in"
+          text run at (0,18) width 142: "the middle of the line)."
       RenderBlock {P} at (0,52) size 784x18
         RenderText {TEXT} at (0,0) size 83x18
           text run at (0,0) width 43: "abcd "
@@ -20,22 +20,22 @@ layer at (0,0) size 800x170
             text run at (128,0) width 37 RTL: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}"
         RenderText {TEXT} at (0,0) size 0x0
       RenderBlock {P} at (0,86) size 784x18
-        RenderText {TEXT} at (0,0) size 94x18
+        RenderText {TEXT} at (0,0) size 95x18
           text run at (0,0) width 50: "abcd "
-          text run at (50,0) width 34 RTL: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}"
-          text run at (84,0) width 10: " "
-        RenderInline {B} at (0,0) size 86x18
-          RenderText {TEXT} at (94,0) size 86x18
-            text run at (94,0) width 50: "abcd "
-            text run at (144,0) width 36 RTL: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}"
+          text run at (50,0) width 35 RTL: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}"
+          text run at (85,0) width 10: " "
+        RenderInline {B} at (0,0) size 87x18
+          RenderText {TEXT} at (95,0) size 87x18
+            text run at (95,0) width 50: "abcd "
+            text run at (145,0) width 37 RTL: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}"
         RenderText {TEXT} at (0,0) size 0x0
       RenderBlock {P} at (0,120) size 784x18
-        RenderText {TEXT} at (0,0) size 77x18
+        RenderText {TEXT} at (0,0) size 78x18
           text run at (0,0) width 39: "abcd "
-          text run at (39,0) width 34 RTL: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}"
-          text run at (73,0) width 4: " "
-        RenderInline {B} at (0,0) size 78x18
-          RenderText {TEXT} at (77,0) size 78x18
-            text run at (77,0) width 42: "abcd "
-            text run at (119,0) width 36 RTL: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}"
+          text run at (39,0) width 35 RTL: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}"
+          text run at (74,0) width 4: " "
+        RenderInline {B} at (0,0) size 79x18
+          RenderText {TEXT} at (78,0) size 79x18
+            text run at (78,0) width 42: "abcd "
+            text run at (120,0) width 37 RTL: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}"
         RenderText {TEXT} at (0,0) size 0x0
index 19c619319fe3ca247518107e92ca1e9c2b304d0a..09c4ae12c8ac98d380a76a810f4bfa18be1e6988 100644 (file)
@@ -1,2 +1 @@
-ac6fbc16b18cbb9f4f8fa380249985d2
-\ No newline at end of file
+dcf9c0ed12d19db8d230f1024778347a
\ No newline at end of file
index ba30d415cb9a1dd060e1176efe96820185e756a0..60c4a8b0f0ab17908ea00972323b2e1fc586f889 100644 (file)
Binary files a/LayoutTests/fast/text/international/bidi-ignored-for-first-child-inline-expected.png and b/LayoutTests/fast/text/international/bidi-ignored-for-first-child-inline-expected.png differ
index 4f10c40f054fe5e830c888d450d59cfecbb3311f..78d330ce89938419e284101b16d018c54d4e17e1 100644 (file)
@@ -83,30 +83,30 @@ layer at (0,0) size 800x600
         RenderText {TEXT} at (0,0) size 249x18
           text run at (0,0) width 249: "The following lines should be identical:"
       RenderBlock {P} at (0,386) size 784x18
-        RenderText {TEXT} at (0,0) size 60x18
-          text run at (0,0) width 24 RTL: "\x{5D3}\x{5D4}\x{5D5}"
-          text run at (24,0) width 10: "(["
-          text run at (34,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+        RenderText {TEXT} at (0,0) size 62x18
+          text run at (0,0) width 25 RTL: "\x{5D3}\x{5D4}\x{5D5}"
+          text run at (25,0) width 10: "(["
+          text run at (35,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
       RenderBlock {P} at (0,420) size 784x18
-        RenderText {TEXT} at (0,0) size 34x18
-          text run at (0,0) width 24 RTL: "\x{5D3}\x{5D4}\x{5D5}"
-          text run at (24,0) width 10: "(["
+        RenderText {TEXT} at (0,0) size 35x18
+          text run at (0,0) width 25 RTL: "\x{5D3}\x{5D4}\x{5D5}"
+          text run at (25,0) width 10: "(["
         RenderInline {SPAN} at (0,0) size 0x18
-        RenderText {TEXT} at (34,0) size 26x18
-          text run at (34,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+        RenderText {TEXT} at (35,0) size 27x18
+          text run at (35,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
       RenderBlock {P} at (0,454) size 784x18
-        RenderText {TEXT} at (0,0) size 34x18
-          text run at (0,0) width 24 RTL: "\x{5D3}\x{5D4}\x{5D5}"
-          text run at (24,0) width 10: "(["
+        RenderText {TEXT} at (0,0) size 35x18
+          text run at (0,0) width 25 RTL: "\x{5D3}\x{5D4}\x{5D5}"
+          text run at (25,0) width 10: "(["
         RenderInline {SPAN} at (0,0) size 0x18
           RenderInline {SPAN} at (0,0) size 0x18
-        RenderText {TEXT} at (34,0) size 26x18
-          text run at (34,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+        RenderText {TEXT} at (35,0) size 27x18
+          text run at (35,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
       RenderBlock {P} at (0,488) size 784x18
-        RenderText {TEXT} at (0,0) size 34x18
-          text run at (0,0) width 24 RTL: "\x{5D3}\x{5D4}\x{5D5}"
-          text run at (24,0) width 10: "(["
+        RenderText {TEXT} at (0,0) size 35x18
+          text run at (0,0) width 25 RTL: "\x{5D3}\x{5D4}\x{5D5}"
+          text run at (25,0) width 10: "(["
         RenderInline {SPAN} at (0,0) size 0x18
           RenderInline {SPAN} at (0,0) size 0x18
-        RenderText {TEXT} at (34,0) size 26x18
-          text run at (34,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+        RenderText {TEXT} at (35,0) size 27x18
+          text run at (35,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
index 35f2c657bec52c1d1195086939479c74db1775fd..01c189475e73fe931e929a734533287814196ff8 100644 (file)
@@ -1 +1 @@
-3b4ddd3c455c2c03f3100d888ffaf516
\ No newline at end of file
+845e51c06f862018fd83498e5c4f5bfb
\ No newline at end of file
index af9b0edc4b74b846219be1f5de26293c5fae1426..d095c57871e1c4309a056f485a5e20dd2f44e2a6 100644 (file)
Binary files a/LayoutTests/fast/text/international/bidi-innertext-expected.png and b/LayoutTests/fast/text/international/bidi-innertext-expected.png differ
index f26f8ddd295bb48656b3e010434850a8b44e43e5..c3fe1b2a564ebcce68109c5f8fafc62482fc21a3 100644 (file)
@@ -13,22 +13,22 @@ layer at (0,0) size 800x600
         RenderText {TEXT} at (0,0) size 134x18
           text run at (0,0) width 134: "Embedded Numbers:"
       RenderBlock {DIV} at (0,72) size 784x18 [color=#0000FF]
-        RenderText {TEXT} at (0,0) size 119x18
+        RenderText {TEXT} at (0,0) size 121x18
           text run at (0,0) width 56: "Testing ("
-          text run at (56,0) width 16 RTL: "\x{5DF}\x{5DE}"
-          text run at (72,0) width 8: "3"
-          text run at (80,0) width 34 RTL: "\x{5D7}\x{5D5}\x{5D3}\x{5D0}"
-          text run at (114,0) width 5: ")"
+          text run at (56,0) width 17 RTL: "\x{5DF}\x{5DE}"
+          text run at (73,0) width 8: "3"
+          text run at (81,0) width 35 RTL: "\x{5D7}\x{5D5}\x{5D3}\x{5D0}"
+          text run at (116,0) width 5: ")"
       RenderBlock (anonymous) at (0,90) size 784x18
         RenderText {TEXT} at (0,0) size 107x18
           text run at (0,0) width 107: "Embedded LTR:"
       RenderBlock {DIV} at (0,108) size 784x18 [color=#0000FF]
-        RenderText {TEXT} at (0,0) size 142x18
+        RenderText {TEXT} at (0,0) size 144x18
           text run at (0,0) width 56: "Testing ("
-          text run at (56,0) width 34 RTL: "\x{5D7}\x{5D5}\x{5D3}\x{5D0}"
-          text run at (90,0) width 31: "hello"
-          text run at (121,0) width 16 RTL: "\x{5DF}\x{5DE}"
-          text run at (137,0) width 5: ")"
+          text run at (56,0) width 35 RTL: "\x{5D7}\x{5D5}\x{5D3}\x{5D0}"
+          text run at (91,0) width 31: "hello"
+          text run at (122,0) width 17 RTL: "\x{5DF}\x{5DE}"
+          text run at (139,0) width 5: ")"
       RenderBlock (anonymous) at (0,126) size 784x18
         RenderText {TEXT} at (0,0) size 192x18
           text run at (0,0) width 192: "Embedded Numbers and LTR"
@@ -43,14 +43,14 @@ layer at (0,0) size 800x600
         RenderText {TEXT} at (0,0) size 218x18
           text run at (0,0) width 218: "Embedded Numbers with spacing:"
       RenderBlock {DIV} at (0,180) size 784x18 [color=#0000FF]
-        RenderText {TEXT} at (0,0) size 260x18
+        RenderText {TEXT} at (0,0) size 263x18
           text run at (0,0) width 56: "Testing ("
-          text run at (56,0) width 38 RTL: " \x{5D7}\x{5D5}\x{5D3}\x{5D0}"
-          text run at (94,0) width 24: "300"
-          text run at (118,0) width 54 RTL: "\x{5D7}\x{5D5}\x{5D3}\x{5D0}\x{5DF}\x{5DE} "
-          text run at (172,0) width 40: "34023"
-          text run at (212,0) width 43 RTL: "\x{5D9}\x{5E7}\x{5DA}\x{5DA}\x{5DD}"
-          text run at (255,0) width 5: ")"
+          text run at (56,0) width 39 RTL: " \x{5D7}\x{5D5}\x{5D3}\x{5D0}"
+          text run at (95,0) width 24: "300"
+          text run at (119,0) width 55 RTL: "\x{5D7}\x{5D5}\x{5D3}\x{5D0}\x{5DF}\x{5DE} "
+          text run at (174,0) width 40: "34023"
+          text run at (214,0) width 44 RTL: "\x{5D9}\x{5E7}\x{5DA}\x{5DA}\x{5DD}"
+          text run at (258,0) width 5: ")"
       RenderBlock (anonymous) at (0,198) size 784x18
         RenderText {TEXT} at (0,0) size 71x18
           text run at (0,0) width 71: "Plain LTR:"
@@ -61,26 +61,26 @@ layer at (0,0) size 800x600
         RenderText {TEXT} at (0,0) size 191x18
           text run at (0,0) width 191: "Embedded LTR with spacing:"
       RenderBlock {DIV} at (0,252) size 784x18 [color=#0000FF]
-        RenderText {TEXT} at (0,0) size 188x18
+        RenderText {TEXT} at (0,0) size 191x18
           text run at (0,0) width 56: "Testing ("
-          text run at (56,0) width 67 RTL: "\x{5D7}\x{5D5}\x{5D3}\x{5D9}\x{5E7}\x{5DA}\x{5DA}\x{5DD}"
-          text run at (123,0) width 39: " hello "
-          text run at (162,0) width 21 RTL: "\x{5DF}\x{5DE}\x{5D9}"
-          text run at (183,0) width 5: ")"
+          text run at (56,0) width 69 RTL: "\x{5D7}\x{5D5}\x{5D3}\x{5D9}\x{5E7}\x{5DA}\x{5DA}\x{5DD}"
+          text run at (125,0) width 39: " hello "
+          text run at (164,0) width 22 RTL: "\x{5DF}\x{5DE}\x{5D9}"
+          text run at (186,0) width 5: ")"
       RenderBlock (anonymous) at (0,270) size 784x18
         RenderText {TEXT} at (0,0) size 162x18
           text run at (0,0) width 162: "Mixed but not embedded:"
       RenderBlock {DIV} at (0,288) size 784x18 [color=#0000FF]
-        RenderText {TEXT} at (0,0) size 132x18
+        RenderText {TEXT} at (0,0) size 133x18
           text run at (0,0) width 87: "Testing (hello"
-          text run at (87,0) width 40 RTL: "\x{5D7}\x{5D5}\x{5D3}\x{5DF}\x{5DE}"
-          text run at (127,0) width 5: ")"
+          text run at (87,0) width 41 RTL: "\x{5D7}\x{5D5}\x{5D3}\x{5DF}\x{5DE}"
+          text run at (128,0) width 5: ")"
       RenderBlock (anonymous) at (0,306) size 784x18
         RenderText {TEXT} at (0,0) size 162x18
           text run at (0,0) width 162: "Mixed but not embedded:"
       RenderBlock {DIV} at (0,324) size 784x18 [color=#0000FF]
-        RenderText {TEXT} at (0,0) size 132x18
+        RenderText {TEXT} at (0,0) size 133x18
           text run at (0,0) width 56: "Testing ("
-          text run at (56,0) width 40 RTL: "\x{5D7}\x{5D5}\x{5D3}\x{5DF}\x{5DE}"
-          text run at (96,0) width 36: "hello)"
+          text run at (56,0) width 41 RTL: "\x{5D7}\x{5D5}\x{5D3}\x{5DF}\x{5DE}"
+          text run at (97,0) width 36: "hello)"
       RenderBlock {OL} at (0,358) size 784x0
index d960d15a62972c7ed8a6559cd1cfb9411b04b213..38fd0edfb88903a53b820c9a2011c59f4f4c4859 100644 (file)
@@ -1 +1 @@
-8eac9397664694929fe0778d3ba22fea
\ No newline at end of file
+6379e6cd5c00a9064c072902b1639d02
\ No newline at end of file
index 4539229af1f5058d1a03ad7abc71a038c7871706..05888c817c5e3b4905aa324b791777b78447fd55 100644 (file)
Binary files a/LayoutTests/fast/text/international/bidi-override-expected.png and b/LayoutTests/fast/text/international/bidi-override-expected.png differ
index 6c15c05a94d841c27785a7904ab1aca9e34a6ff1..75a9ffb84f2b2002c650dff69a4bac1755c0a18d 100644 (file)
@@ -6,152 +6,152 @@ layer at (0,0) size 800x336
       RenderBlock {P} at (0,0) size 784x18
         RenderText {TEXT} at (0,0) size 311x18
           text run at (0,0) width 311: "All rows should be identical to the reference row."
-      RenderTable {TABLE} at (0,34) size 573x108
+      RenderTable {TABLE} at (0,34) size 581x108
         RenderTableSection {TBODY} at (0,0) size 0x108
           RenderTableRow {TR} at (0,0) size 0x0
             RenderTableCell {TD} at (0,0) size 97x27 [border: (1px solid #008000)] [r=0 c=0 rs=1 cs=1]
               RenderText {TEXT} at (29,5) size 64x18
                 text run at (29,5) width 64: "Reference"
-            RenderTableCell {TD} at (97,0) size 238x27 [border: (1px solid #008000)] [r=0 c=1 rs=1 cs=1]
-              RenderText {TEXT} at (5,5) size 229x18
+            RenderTableCell {TD} at (97,0) size 242x27 [border: (1px solid #008000)] [r=0 c=1 rs=1 cs=1]
+              RenderText {TEXT} at (5,5) size 232x18
                 text run at (5,5) width 42: "abcdef"
-                text run at (47,5) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-                text run at (73,5) width 40: "ghijkl "
-                text run at (113,5) width 49 RTL: "\x{5D6}\x{5D7}\x{5D8}\x{5D9}\x{5DB}\x{5DC}"
-                text run at (162,5) width 22: "abc"
-                text run at (184,5) width 50 RTL: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}\x{5D4}\x{5D5}"
-            RenderTableCell {TD} at (335,0) size 238x27 [border: (1px solid #008000)] [r=0 c=2 rs=1 cs=1]
-              RenderText {TEXT} at (5,5) size 229x18
-                text run at (5,5) width 49 RTL: "\x{5D6}\x{5D7}\x{5D8}\x{5D9}\x{5DB}\x{5DC}"
-                text run at (54,5) width 22: "abc"
-                text run at (76,5) width 50 RTL: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}\x{5D4}\x{5D5}"
-                text run at (126,5) width 4 RTL: " "
-                text run at (130,5) width 42: "abcdef"
-                text run at (172,5) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-                text run at (198,5) width 36: "ghijkl"
+                text run at (47,5) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+                text run at (74,5) width 40: "ghijkl "
+                text run at (114,5) width 50 RTL: "\x{5D6}\x{5D7}\x{5D8}\x{5D9}\x{5DB}\x{5DC}"
+                text run at (164,5) width 22: "abc"
+                text run at (186,5) width 51 RTL: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}\x{5D4}\x{5D5}"
+            RenderTableCell {TD} at (339,0) size 242x27 [border: (1px solid #008000)] [r=0 c=2 rs=1 cs=1]
+              RenderText {TEXT} at (5,5) size 232x18
+                text run at (5,5) width 50 RTL: "\x{5D6}\x{5D7}\x{5D8}\x{5D9}\x{5DB}\x{5DC}"
+                text run at (55,5) width 22: "abc"
+                text run at (77,5) width 51 RTL: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}\x{5D4}\x{5D5}"
+                text run at (128,5) width 4 RTL: " "
+                text run at (132,5) width 42: "abcdef"
+                text run at (174,5) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+                text run at (201,5) width 36: "ghijkl"
           RenderTableRow {TR} at (0,0) size 0x0
             RenderTableCell {TD} at (0,27) size 97x27 [border: (1px solid #008000)] [r=1 c=0 rs=1 cs=1]
               RenderText {TEXT} at (8,5) size 85x18
                 text run at (8,5) width 85: "CSS, siblings"
-            RenderTableCell {TD} at (97,27) size 238x27 [border: (1px solid #008000)] [r=1 c=1 rs=1 cs=1]
+            RenderTableCell {TD} at (97,27) size 242x27 [border: (1px solid #008000)] [r=1 c=1 rs=1 cs=1]
               RenderText {TEXT} at (5,5) size 22x18
                 text run at (5,5) width 22: "abc"
-              RenderInline {SPAN} at (0,0) size 66x18
-                RenderText {TEXT} at (27,5) size 66x18
-                  text run at (27,5) width 66 RTL override: "ihg\x{5D0}\x{5D1}\x{5D2}fed"
-              RenderText {TEXT} at (93,5) size 141x18
-                text run at (93,5) width 20: "jkl "
-                text run at (208,5) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-              RenderInline {SPAN} at (0,0) size 72x18
-                RenderText {TEXT} at (136,5) size 72x18
-                  text run at (136,5) width 72 LTR override: "\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}"
-              RenderText {TEXT} at (113,5) size 23x18
-                text run at (113,5) width 23 RTL: "\x{5D9}\x{5DB}\x{5DC}"
-            RenderTableCell {TD} at (335,27) size 238x27 [border: (1px solid #008000)] [r=1 c=2 rs=1 cs=1]
-              RenderText {TEXT} at (130,5) size 22x18
-                text run at (130,5) width 22: "abc"
-              RenderInline {SPAN} at (0,0) size 66x18
-                RenderText {TEXT} at (152,5) size 66x18
-                  text run at (152,5) width 66 RTL override: "ihg\x{5D0}\x{5D1}\x{5D2}fed"
-              RenderText {TEXT} at (100,5) size 134x18
-                text run at (100,5) width 30 RTL: " \x{5D0}\x{5D1}\x{5D2}"
-                text run at (218,5) width 16: "jkl"
-              RenderInline {SPAN} at (0,0) size 72x18
-                RenderText {TEXT} at (28,5) size 72x18
-                  text run at (28,5) width 72 LTR override: "\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}"
+              RenderInline {SPAN} at (0,0) size 67x18
+                RenderText {TEXT} at (27,5) size 67x18
+                  text run at (27,5) width 67 RTL override: "ihg\x{5D0}\x{5D1}\x{5D2}fed"
+              RenderText {TEXT} at (94,5) size 144x18
+                text run at (94,5) width 20: "jkl "
+                text run at (211,5) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+              RenderInline {SPAN} at (0,0) size 74x18
+                RenderText {TEXT} at (137,5) size 74x18
+                  text run at (137,5) width 74 LTR override: "\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}"
+              RenderText {TEXT} at (114,5) size 23x18
+                text run at (114,5) width 23 RTL: "\x{5D9}\x{5DB}\x{5DC}"
+            RenderTableCell {TD} at (339,27) size 242x27 [border: (1px solid #008000)] [r=1 c=2 rs=1 cs=1]
+              RenderText {TEXT} at (133,5) size 22x18
+                text run at (133,5) width 22: "abc"
+              RenderInline {SPAN} at (0,0) size 67x18
+                RenderText {TEXT} at (155,5) size 67x18
+                  text run at (155,5) width 67 RTL override: "ihg\x{5D0}\x{5D1}\x{5D2}fed"
+              RenderText {TEXT} at (102,5) size 136x18
+                text run at (102,5) width 31 RTL: " \x{5D0}\x{5D1}\x{5D2}"
+                text run at (222,5) width 16: "jkl"
+              RenderInline {SPAN} at (0,0) size 74x18
+                RenderText {TEXT} at (28,5) size 74x18
+                  text run at (28,5) width 74 LTR override: "\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}"
               RenderText {TEXT} at (5,5) size 23x18
                 text run at (5,5) width 23 RTL: "\x{5D9}\x{5DB}\x{5DC}"
           RenderTableRow {TR} at (0,0) size 0x0
             RenderTableCell {TD} at (0,54) size 97x27 [border: (1px solid #008000)] [r=2 c=0 rs=1 cs=1]
               RenderText {TEXT} at (5,5) size 88x18
                 text run at (5,5) width 88: "CSS, children"
-            RenderTableCell {TD} at (97,54) size 238x27 [border: (1px solid #008000)] [r=2 c=1 rs=1 cs=1]
-              RenderInline {SPAN} at (0,0) size 104x18
+            RenderTableCell {TD} at (97,54) size 242x27 [border: (1px solid #008000)] [r=2 c=1 rs=1 cs=1]
+              RenderInline {SPAN} at (0,0) size 105x18
                 RenderText {TEXT} at (5,5) size 22x18
                   text run at (5,5) width 22: "abc"
-                RenderInline {SPAN} at (0,0) size 66x18
-                  RenderText {TEXT} at (27,5) size 66x18
-                    text run at (27,5) width 66 RTL override: "ihg\x{5D0}\x{5D1}\x{5D2}fed"
-                RenderText {TEXT} at (93,5) size 16x18
-                  text run at (93,5) width 16: "jkl"
-              RenderText {TEXT} at (109,5) size 4x18
-                text run at (109,5) width 4: " "
-              RenderInline {SPAN} at (0,0) size 121x18
-                RenderText {TEXT} at (208,5) size 26x18
-                  text run at (208,5) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-                RenderInline {SPAN} at (0,0) size 72x18
-                  RenderText {TEXT} at (136,5) size 72x18
-                    text run at (136,5) width 72 LTR override: "\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}"
-                RenderText {TEXT} at (113,5) size 23x18
-                  text run at (113,5) width 23 RTL: "\x{5D9}\x{5DB}\x{5DC}"
-            RenderTableCell {TD} at (335,54) size 238x27 [border: (1px solid #008000)] [r=2 c=2 rs=1 cs=1]
-              RenderInline {SPAN} at (0,0) size 104x18
-                RenderText {TEXT} at (130,5) size 22x18
-                  text run at (130,5) width 22: "abc"
-                RenderInline {SPAN} at (0,0) size 66x18
-                  RenderText {TEXT} at (152,5) size 66x18
-                    text run at (152,5) width 66 RTL override: "ihg\x{5D0}\x{5D1}\x{5D2}fed"
-                RenderText {TEXT} at (218,5) size 16x18
-                  text run at (218,5) width 16: "jkl"
-              RenderText {TEXT} at (126,5) size 4x18
-                text run at (126,5) width 4 RTL: " "
-              RenderInline {SPAN} at (0,0) size 121x18
-                RenderText {TEXT} at (100,5) size 26x18
-                  text run at (100,5) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-                RenderInline {SPAN} at (0,0) size 72x18
-                  RenderText {TEXT} at (28,5) size 72x18
-                    text run at (28,5) width 72 LTR override: "\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}"
+                RenderInline {SPAN} at (0,0) size 67x18
+                  RenderText {TEXT} at (27,5) size 67x18
+                    text run at (27,5) width 67 RTL override: "ihg\x{5D0}\x{5D1}\x{5D2}fed"
+                RenderText {TEXT} at (94,5) size 16x18
+                  text run at (94,5) width 16: "jkl"
+              RenderText {TEXT} at (110,5) size 4x18
+                text run at (110,5) width 4: " "
+              RenderInline {SPAN} at (0,0) size 124x18
+                RenderText {TEXT} at (211,5) size 27x18
+                  text run at (211,5) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+                RenderInline {SPAN} at (0,0) size 74x18
+                  RenderText {TEXT} at (137,5) size 74x18
+                    text run at (137,5) width 74 LTR override: "\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}"
+                RenderText {TEXT} at (114,5) size 23x18
+                  text run at (114,5) width 23 RTL: "\x{5D9}\x{5DB}\x{5DC}"
+            RenderTableCell {TD} at (339,54) size 242x27 [border: (1px solid #008000)] [r=2 c=2 rs=1 cs=1]
+              RenderInline {SPAN} at (0,0) size 105x18
+                RenderText {TEXT} at (133,5) size 22x18
+                  text run at (133,5) width 22: "abc"
+                RenderInline {SPAN} at (0,0) size 67x18
+                  RenderText {TEXT} at (155,5) size 67x18
+                    text run at (155,5) width 67 RTL override: "ihg\x{5D0}\x{5D1}\x{5D2}fed"
+                RenderText {TEXT} at (222,5) size 16x18
+                  text run at (222,5) width 16: "jkl"
+              RenderText {TEXT} at (129,5) size 4x18
+                text run at (129,5) width 4 RTL: " "
+              RenderInline {SPAN} at (0,0) size 124x18
+                RenderText {TEXT} at (102,5) size 27x18
+                  text run at (102,5) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+                RenderInline {SPAN} at (0,0) size 74x18
+                  RenderText {TEXT} at (28,5) size 74x18
+                    text run at (28,5) width 74 LTR override: "\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}"
                 RenderText {TEXT} at (5,5) size 23x18
                   text run at (5,5) width 23 RTL: "\x{5D9}\x{5DB}\x{5DC}"
           RenderTableRow {TR} at (0,0) size 0x0
             RenderTableCell {TD} at (0,81) size 97x27 [border: (1px solid #008000)] [r=3 c=0 rs=1 cs=1]
               RenderText {TEXT} at (39,5) size 54x18
                 text run at (39,5) width 54: "Unicode"
-            RenderTableCell {TD} at (97,81) size 238x27 [border: (1px solid #008000)] [r=3 c=1 rs=1 cs=1]
-              RenderText {TEXT} at (5,5) size 229x18
+            RenderTableCell {TD} at (97,81) size 242x27 [border: (1px solid #008000)] [r=3 c=1 rs=1 cs=1]
+              RenderText {TEXT} at (5,5) size 233x18
                 text run at (5,5) width 22: "abc"
-                text run at (27,5) width 66 RTL override: "ihg\x{5D0}\x{5D1}\x{5D2}fed"
-                text run at (93,5) width 20: "jkl "
-                text run at (113,5) width 23 RTL: "\x{5D9}\x{5DB}\x{5DC}"
-                text run at (136,5) width 72 LTR override: "\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}"
-                text run at (208,5) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-            RenderTableCell {TD} at (335,81) size 238x27 [border: (1px solid #008000)] [r=3 c=2 rs=1 cs=1]
-              RenderText {TEXT} at (5,5) size 229x18
+                text run at (27,5) width 67 RTL override: "ihg\x{5D0}\x{5D1}\x{5D2}fed"
+                text run at (94,5) width 20: "jkl "
+                text run at (114,5) width 23 RTL: "\x{5D9}\x{5DB}\x{5DC}"
+                text run at (137,5) width 74 LTR override: "\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}"
+                text run at (211,5) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+            RenderTableCell {TD} at (339,81) size 242x27 [border: (1px solid #008000)] [r=3 c=2 rs=1 cs=1]
+              RenderText {TEXT} at (5,5) size 233x18
                 text run at (5,5) width 23 RTL: "\x{5D9}\x{5DB}\x{5DC}"
-                text run at (28,5) width 72 LTR override: "\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}"
-                text run at (100,5) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-                text run at (126,5) width 4 RTL: " "
-                text run at (130,5) width 22: "abc"
-                text run at (152,5) width 66 RTL override: "ihg\x{5D0}\x{5D1}\x{5D2}fed"
-                text run at (218,5) width 16: "jkl"
+                text run at (28,5) width 74 LTR override: "\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}"
+                text run at (102,5) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+                text run at (129,5) width 4 RTL: " "
+                text run at (133,5) width 22: "abc"
+                text run at (155,5) width 67 RTL override: "ihg\x{5D0}\x{5D1}\x{5D2}fed"
+                text run at (222,5) width 16: "jkl"
       RenderBlock {P} at (0,158) size 784x18
         RenderText {TEXT} at (0,0) size 387x18
           text run at (0,0) width 387: "The CSS column should be identical to the reference column."
-      RenderTable {TABLE} at (0,192) size 260x120
+      RenderTable {TABLE} at (0,192) size 264x120
         RenderTableSection {TBODY} at (0,0) size 0x120
           RenderTableRow {TR} at (0,0) size 0x0
-            RenderTableCell {TD} at (0,0) size 130x27 [border: (1px solid #008000)] [r=0 c=0 rs=1 cs=1]
-              RenderText {TEXT} at (33,5) size 64x18
-                text run at (33,5) width 64: "Reference"
-            RenderTableCell {TD} at (130,0) size 130x27 [border: (1px solid #008000)] [r=0 c=1 rs=1 cs=1]
-              RenderText {TEXT} at (51,5) size 29x18
-                text run at (51,5) width 29: "CSS"
+            RenderTableCell {TD} at (0,0) size 132x27 [border: (1px solid #008000)] [r=0 c=0 rs=1 cs=1]
+              RenderText {TEXT} at (34,5) size 64x18
+                text run at (34,5) width 64: "Reference"
+            RenderTableCell {TD} at (132,0) size 132x27 [border: (1px solid #008000)] [r=0 c=1 rs=1 cs=1]
+              RenderText {TEXT} at (52,5) size 29x18
+                text run at (52,5) width 29: "CSS"
           RenderTableRow {TR} at (0,0) size 0x0
-            RenderTableCell {TD} at (0,27) size 130x93 [border: (1px solid #008000)] [r=1 c=0 rs=1 cs=1]
-              RenderBlock {P} at (5,21) size 121x18
-                RenderText {TEXT} at (8,0) size 104x18
-                  text run at (8,0) width 42: "abcdef"
-                  text run at (50,0) width 26 RTL: "\x{5D0}\x{5D1}\x{5D2}"
-                  text run at (76,0) width 36: "ghijkl"
-              RenderBlock {P} at (5,55) size 121x18
-                RenderText {TEXT} at (0,0) size 121x18
-                  text run at (0,0) width 49 RTL: "\x{5D6}\x{5D7}\x{5D8}\x{5D9}\x{5DB}\x{5DC}"
-                  text run at (49,0) width 22: "abc"
-                  text run at (71,0) width 50 RTL: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}\x{5D4}\x{5D5}"
-            RenderTableCell {TD} at (130,27) size 130x93 [border: (1px solid #008000)] [r=1 c=1 rs=1 cs=1]
-              RenderBlock {P} at (5,21) size 121x18
-                RenderText {TEXT} at (8,0) size 104x18
-                  text run at (8,0) width 104 RTL override: "lkjihg\x{5D0}\x{5D1}\x{5D2}fedcba"
-              RenderBlock {P} at (5,55) size 121x18
-                RenderText {TEXT} at (0,0) size 121x18
-                  text run at (0,0) width 121 LTR override: "\x{5DC}\x{5DB}\x{5D9}\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}\x{5D2}\x{5D1}\x{5D0}"
+            RenderTableCell {TD} at (0,27) size 132x93 [border: (1px solid #008000)] [r=1 c=0 rs=1 cs=1]
+              RenderBlock {P} at (5,21) size 123x18
+                RenderText {TEXT} at (9,0) size 105x18
+                  text run at (9,0) width 42: "abcdef"
+                  text run at (51,0) width 27 RTL: "\x{5D0}\x{5D1}\x{5D2}"
+                  text run at (78,0) width 36: "ghijkl"
+              RenderBlock {P} at (5,55) size 123x18
+                RenderText {TEXT} at (0,0) size 123x18
+                  text run at (0,0) width 50 RTL: "\x{5D6}\x{5D7}\x{5D8}\x{5D9}\x{5DB}\x{5DC}"
+                  text run at (50,0) width 22: "abc"
+                  text run at (72,0) width 51 RTL: "\x{5D0}\x{5D1}\x{5D2}\x{5D3}\x{5D4}\x{5D5}"
+            RenderTableCell {TD} at (132,27) size 132x93 [border: (1px solid #008000)] [r=1 c=1 rs=1 cs=1]
+              RenderBlock {P} at (5,21) size 123x18
+                RenderText {TEXT} at (9,0) size 105x18
+                  text run at (9,0) width 105 RTL override: "lkjihg\x{5D0}\x{5D1}\x{5D2}fedcba"
+              RenderBlock {P} at (5,55) size 123x18
+                RenderText {TEXT} at (0,0) size 123x18
+                  text run at (0,0) width 123 LTR override: "\x{5DC}\x{5DB}\x{5D9}\x{5D8}\x{5D7}\x{5D6}abc\x{5D5}\x{5D4}\x{5D3}\x{5D2}\x{5D1}\x{5D0}"
index 33b301723f162b42ed0e85a149054435403132ba..31804c796b537f11b544e092cd19908c8d8ea39b 100644 (file)
@@ -1,3 +1,25 @@
+2005-12-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>
+
+        Reviewed by Darin, committed by Adele.
+        
+        Test: fast/text/atsui-multiple-renderers.html
+
+        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=6139
+          ATSUI code path should implement small caps, synthetic bold and oblique and correct metrics for fallback fonts
+
+        * WebCoreSupport.subproj/WebTextRenderer.m:
+        (overrideLayoutOperation): Fetch renderer info from the renderers array;
+        add synthetic bold offset; render only synthetic bold in the synthetic bold pass.
+        (drawGlyphs): Replaced 14 with new SYNTHETIC_OBLIQUE_ANGLE define.
+        (initializeATSUStyle): Apply a skewing transform for synthetic oblique.
+        (createATSUTextLayout): Merged into createATSUTextLayout.
+        (createATSULayoutParameters): Merged in createATSUTextLayout; allocate
+        and fill a renderers array and a character buffer for small caps and mirroring;
+        (applyMirroringToRun): Merged into createATSULayoutParameters.
+        (ATSU_drawHighlight): Deleted mirroring code.
+        (ATSU_draw): Deleted mirroring code; added second pass for synthetic bold.
+        (ATSU_pointToOffset): Deleted mirroring code.
+
 2005-12-19  Mitz Pettel  <opendarwin.org@mitzpettel.com>
 
         Reviewed by Darin, committed by Adele.
index c4646869de01440b7e4d7bed0303ae8931e27bf8..e0e0626921a32d3d3519f63fed19ab74714d7c09 100644 (file)
@@ -46,6 +46,7 @@
 // FIXME: FATAL_ALWAYS seems like a bad idea; lets stop using it.
 
 #define SMALLCAPS_FONTSIZE_MULTIPLIER 0.7f
+#define SYNTHETIC_OBLIQUE_ANGLE 14
 
 // Should be more than enough for normal usage.
 #define NUM_SUBSTITUTE_FONT_MAPS 10
@@ -109,10 +110,13 @@ typedef struct WidthIterator {
 
 typedef struct ATSULayoutParameters
 {
-    WebTextRenderer *renderer;
     const WebCoreTextRun *run;
     const WebCoreTextStyle *style;
     ATSUTextLayout layout;
+    WebTextRenderer **renderers;
+    UniChar *charBuffer;
+    bool hasSyntheticBold;
+    bool syntheticBoldPass;
 } ATSULayoutParameters;
 
 static WebTextRenderer *rendererForAlternateFont(WebTextRenderer *, WebCoreFont);
@@ -227,32 +231,48 @@ static OSStatus overrideLayoutOperation(ATSULayoutOperationSelector iCurrentOper
             return status;
         }
         
-        // The CoreGraphics interpretation of NSFontAntialiasedIntegerAdvancementsRenderingMode seems
-        // to be "round each glyph's width to the nearest integer". This is not the same as ATSUI
-        // does in any of its device-metrics modes.
-        bool roundEachGlyph = [params->renderer->font.font renderingMode] == NSFontAntialiasedIntegerAdvancementsRenderingMode;
         Fixed lastNativePos = 0;
         float lastAdjustedPos = 0;
         const WebCoreTextRun *run = params->run;
         const UniChar *characters = run->characters + run->from;
-        WebTextRenderer *renderer = params->renderer;
+        WebTextRenderer **renderers = params->renderers + run->from;
+        WebTextRenderer *renderer;
+        WebTextRenderer *lastRenderer = 0;
         UniChar ch, nextCh;
-        nextCh = *(UniChar *)(((char *)characters)+layoutRecords[0].originalOffset);
+        ByteCount offset = layoutRecords[0].originalOffset;
+        nextCh = *(UniChar *)(((char *)characters)+offset);
+        bool shouldRound;
+        bool syntheticBoldPass = params->syntheticBoldPass;
+        Fixed syntheticBoldOffset;
+        ATSGlyphRef spaceGlyph;
         // In the CoreGraphics code path, the rounding hack is applied in logical order.
         // Here it is applied in visual left-to-right order, which may be better.
         ItemCount i;
         for (i = 1; i < count; i++) {
-            BOOL isLastChar = i == count - 1;
+            bool isLastChar = i == count - 1;
+            renderer = renderers[offset / 2];
+            if (renderer != lastRenderer) {
+                lastRenderer = renderer;
+                // The CoreGraphics interpretation of NSFontAntialiasedIntegerAdvancementsRenderingMode seems
+                // to be "round each glyph's width to the nearest integer". This is not the same as ATSUI
+                // does in any of its device-metrics modes.
+                shouldRound = [renderer->font.font renderingMode] == NSFontAntialiasedIntegerAdvancementsRenderingMode;
+                if (syntheticBoldPass) {
+                    syntheticBoldOffset = FloatToFixed(renderer->syntheticBoldOffset);
+                    spaceGlyph = renderer->spaceGlyph;
+                }
+            }
             ch = nextCh;
-
+            offset = layoutRecords[i].originalOffset;
             // Use space for nextCh at the end of the loop so that we get inside the rounding hack code.
             // We won't actually round unless the other conditions are satisfied.
-            nextCh = isLastChar ? ' ' : *(UniChar *)(((char *)characters)+layoutRecords[i].originalOffset);
+            nextCh = isLastChar ? ' ' : *(UniChar *)(((char *)characters)+offset);
 
             float width = FixedToFloat(layoutRecords[i].realPos - lastNativePos);
             lastNativePos = layoutRecords[i].realPos;
-            if (roundEachGlyph)
+            if (shouldRound)
                 width = roundf(width);
+            width += renderer->syntheticBoldOffset;
             if (renderer->treatAsFixedPitch ? width == renderer->spaceWidth : (layoutRecords[i-1].flags & kATSGlyphInfoIsWhiteSpace))
                 width = renderer->adjustedSpaceWidth;
             if (isRoundingHackCharacter(ch))
@@ -263,6 +283,12 @@ static OSStatus overrideLayoutOperation(ATSULayoutOperationSelector iCurrentOper
                         || style->applyRunRounding
                         || (run->to < (int)run->length && isRoundingHackCharacter(characters[run->to - run->from])))
                     lastAdjustedPos = ceilf(lastAdjustedPos);
+            if (syntheticBoldPass) {
+                if (syntheticBoldOffset)
+                    layoutRecords[i-1].realPos += syntheticBoldOffset;
+                else
+                    layoutRecords[i-1].glyphID = spaceGlyph;
+            }
             layoutRecords[i].realPos = FloatToFixed(lastAdjustedPos);
         }
         
@@ -796,7 +822,7 @@ static void drawGlyphs(NSFont *font, NSColor *color, CGGlyph *glyphs, CGSize *ad
         matrix.d = -matrix.d;
     }
     if (syntheticOblique)
-        matrix = CGAffineTransformConcat(matrix, CGAffineTransformMake(1, 0, -tanf(14 * acosf(0) / 90), 1, 0, 0)); 
+        matrix = CGAffineTransformConcat(matrix, CGAffineTransformMake(1, 0, -tanf(SYNTHETIC_OBLIQUE_ANGLE * acosf(0) / 90), 1, 0, 0)); 
     CGContextSetTextMatrix(cgContext, matrix);
 
     WKSetCGFontRenderingMode(cgContext, drawFont);
@@ -1161,6 +1187,8 @@ static void initializeATSUStyle(WebTextRenderer *renderer)
         }
         
         CGAffineTransform transform = CGAffineTransformMakeScale(1, -1);
+        if (renderer->font.syntheticOblique)
+            transform = CGAffineTransformConcat(transform, CGAffineTransformMake(1, 0, -tanf(SYNTHETIC_OBLIQUE_ANGLE * acosf(0) / 90), 1, 0, 0)); 
         Fixed fontSize = FloatToFixed([renderer->font.font pointSize]);
         // Turn off automatic kerning until it is supported in the CG code path (6136 in bugzilla)
         Fract kerningInhibitFactor = FloatToFract(1.0);
@@ -1192,15 +1220,21 @@ static void initializeATSUStyle(WebTextRenderer *renderer)
     }
 }
 
-static ATSUTextLayout createATSUTextLayout(WebTextRenderer *renderer, const WebCoreTextRun *run, const WebCoreTextStyle *style)
+static void createATSULayoutParameters(ATSULayoutParameters *params, WebTextRenderer *renderer, const WebCoreTextRun *run, const WebCoreTextStyle *style)
 {
+    params->run = run;
+    params->style = style;
+    // FIXME: It is probably best to always allocate a buffer for RTL, since even if for this
+    // renderer ATSUMirrors is true, for a substitute renderer it might be false.
+    WebTextRenderer **renderers = malloc(run->length * sizeof(WebTextRenderer *));
+    params->renderers = renderers;
+    UniChar *charBuffer = (style->smallCaps || (style->rtl && !renderer->ATSUMirrors)) ? malloc(run->length * sizeof(UniChar)) : 0;
+    params->charBuffer = charBuffer;
+    params->syntheticBoldPass = false;
+
     // The only Cocoa calls here are to NSGraphicsContext, which does not raise exceptions.
 
     ATSUTextLayout layout;
-    UniCharCount runLength;
-    ATSUFontID ATSUSubstituteFont;
-    UniCharArrayOffset substituteOffset;
-    UniCharCount substituteLength;
     OSStatus status;
     ATSULayoutOperationOverrideSpecifier overrideSpecifier;
     
@@ -1209,22 +1243,29 @@ static ATSUTextLayout createATSUTextLayout(WebTextRenderer *renderer, const WebC
     // FIXME: This is currently missing the following required features that the CoreGraphics code path has:
     // - \n, \t, and nonbreaking space render as a space.
     // - Other control characters do not render (other code path uses zero-width spaces).
-    // - Small caps.
-    // - Synthesized bold.
-    // - Synthesized oblique.
 
-    runLength = run->to - run->from;
+    UniCharCount totalLength = run->length;
+    UniCharArrayOffset runTo = (run->to == -1 ? totalLength : (unsigned int)run->to);
+    UniCharArrayOffset runFrom = run->from;
+    
+    if (charBuffer)
+        memcpy(charBuffer, run->characters, totalLength * sizeof(UniChar));
+
+    UniCharCount runLength = runTo - runFrom;
+    
     status = ATSUCreateTextLayoutWithTextPtr(
-            run->characters,
-            run->from,      // offset
+            (charBuffer ? charBuffer : run->characters),
+            runFrom,        // offset
             runLength,      // length
-            run->length,    // total length
+            totalLength,    // total length
             1,              // styleRunCount
             &runLength,     // length of style run
             &renderer->_ATSUStyle, 
             &layout);
     if (status != noErr)
         FATAL_ALWAYS("ATSUCreateTextLayoutWithTextPtr failed(%d)", status);
+    params->layout = layout;
+    ATSUSetTextLayoutRefCon(layout, (UInt32)params);
 
     CGContextRef cgContext = (CGContextRef)[[NSGraphicsContext currentContext] graphicsPort];
     ATSLineLayoutOptions lineLayoutOptions = kATSLineKeepSpacesOutOfMargin | kATSLineHasNoHangers;
@@ -1243,20 +1284,81 @@ static ATSUTextLayout createATSUTextLayout(WebTextRenderer *renderer, const WebC
     if (status != noErr)
         FATAL_ALWAYS("ATSUSetTransientFontMatching failed(%d)", status);
 
-    substituteOffset = run->from;
-    while ((status = ATSUMatchFontsToText(layout, substituteOffset, kATSUToTextEnd, &ATSUSubstituteFont, &substituteOffset, &substituteLength)) == kATSUFontsMatched || status == kATSUFontsNotMatched) {
-        WebTextRenderer *substituteRenderer = findSubstituteRenderer(renderer, run->characters + substituteOffset, substituteLength, style->families);
-        if (substituteRenderer) {
-            initializeATSUStyle(substituteRenderer);
-            if (substituteRenderer->_ATSUStyle)
-                ATSUSetRunStyle(layout, substituteRenderer->_ATSUStyle, substituteOffset, substituteLength);
-            // ignoring errors
+    params->hasSyntheticBold = false;
+    ATSUFontID ATSUSubstituteFont;
+    UniCharArrayOffset substituteOffset = runFrom;
+    UniCharCount substituteLength;
+    UniCharArrayOffset lastOffset;
+    WebTextRenderer *substituteRenderer;
+
+    while (substituteOffset < runTo) {
+        lastOffset = substituteOffset;
+        status = ATSUMatchFontsToText(layout, substituteOffset, kATSUToTextEnd, &ATSUSubstituteFont, &substituteOffset, &substituteLength);
+        if (status == kATSUFontsMatched || status == kATSUFontsNotMatched) {
+            substituteRenderer = findSubstituteRenderer(renderer, run->characters+substituteOffset, substituteLength, style->families);
+            if (substituteRenderer) {
+                initializeATSUStyle(substituteRenderer);
+                if (substituteRenderer->_ATSUStyle)
+                    ATSUSetRunStyle(layout, substituteRenderer->_ATSUStyle, substituteOffset, substituteLength);
+            } else
+                substituteRenderer = renderer;
+        } else {
+            substituteOffset = runTo;
+            substituteLength = 0;
+        }
+
+        bool isSmallCap = false;
+        WebTextRenderer *r = renderer;
+        UniCharArrayOffset i;
+        for (i = lastOffset;  ; i++) {
+            UniCharArrayOffset firstSmallCap;
+            if (i == substituteOffset || i == substituteOffset + substituteLength) {
+                if (isSmallCap) {
+                    isSmallCap = false;
+                    initializeATSUStyle(getSmallCapsRenderer(r));
+                    ATSUSetRunStyle(layout, getSmallCapsRenderer(r)->_ATSUStyle, firstSmallCap, i - firstSmallCap);
+                }
+                if (i == substituteOffset && substituteLength > 0)
+                    r = substituteRenderer;
+                else
+                    break;
+            }
+            if (rtl && charBuffer && !r->ATSUMirrors)
+                charBuffer[i] = u_charMirror(charBuffer[i]);
+            if (style->smallCaps) {
+                UniChar c = charBuffer[i];
+                UniChar newC;
+                if (!u_isbase(c))
+                    renderers[i] = isSmallCap ? getSmallCapsRenderer(r) : r;
+                else if (!u_isUUppercase(c) && (newC = u_toupper(c)) != c) {
+                    charBuffer[i] = newC;
+                    if (!isSmallCap) {
+                        isSmallCap = true;
+                        firstSmallCap = i;
+                    }
+                    renderers[i] = getSmallCapsRenderer(r);
+                } else {
+                    if (isSmallCap) {
+                        isSmallCap = false;
+                        initializeATSUStyle(getSmallCapsRenderer(r));
+                        ATSUSetRunStyle(layout, getSmallCapsRenderer(r)->_ATSUStyle, firstSmallCap, i - firstSmallCap);
+                    }
+                    renderers[i] = r;
+                }
+            } else
+                renderers[i] = r;
+            if (renderers[i]->syntheticBoldOffset)
+                params->hasSyntheticBold = true;
         }
         substituteOffset += substituteLength;
     }
-    // ignoring errors in font substitution
-        
-    return layout;
+}
+
+static void disposeATSULayoutParameters(ATSULayoutParameters *params)
+{
+    ATSUDisposeTextLayout(params->layout);
+    free(params->charBuffer);
+    free(params->renderers);
 }
 
 static ATSTrapezoid getTextBounds(WebTextRenderer *renderer, const WebCoreTextRun *run, const WebCoreTextStyle *style, NSPoint p)
@@ -1317,24 +1419,6 @@ static WebCoreTextRun addDirectionalOverride(const WebCoreTextRun *run, bool rtl
     return runWithOverride;
 }
 
-// Be sure to free the run.characters allocated by this function.
-static WebCoreTextRun applyMirroringToRun(const WebCoreTextRun *run)
-{
-    UniChar *mirroredCharacters = malloc(sizeof(UniChar)*(run->length));
-    unsigned int i;
-    for (i = 0; i < run->length; i++)
-        mirroredCharacters[i] = u_charMirror(run->characters[i]);
-
-    WebCoreTextRun mirroredRun;
-
-    mirroredRun.from = run->from;
-    mirroredRun.to = run->to;
-    mirroredRun.length = run->length;
-    mirroredRun.characters = mirroredCharacters;
-
-    return mirroredRun;
-}
-
 static void ATSU_drawHighlight(WebTextRenderer *renderer, const WebCoreTextRun *run, const WebCoreTextStyle *style, const WebCoreTextGeometry *geometry)
 {
     // The only Cocoa calls made here are to NSColor and NSBezierPath, and they do not raise exceptions.
@@ -1360,11 +1444,7 @@ static void ATSU_drawHighlight(WebTextRenderer *renderer, const WebCoreTextRun *
     if (style->directionalOverride) {
         swappedRun = addDirectionalOverride(aRun, style->rtl);
         aRun = &swappedRun;
-    } else if (style->rtl && !renderer->ATSUMirrors) {
-        swappedRun = applyMirroringToRun(aRun);
-        aRun = &swappedRun;
     }
-
    
     float selectedLeftX;
     float widthWithLead = ATSU_floatWidthForRun(renderer, aRun, style);
@@ -1390,7 +1470,7 @@ static void ATSU_drawHighlight(WebTextRenderer *renderer, const WebCoreTextRun *
         ? renderer->lineSpacing : geometry->selectionHeight;
     [NSBezierPath fillRect:NSMakeRect(selectedLeftX, yPos, backgroundWidth, height)];
 
-    if (style->directionalOverride || (style->rtl && !renderer->ATSUMirrors))
+    if (style->directionalOverride)
         free((void *)swappedRun.characters);
 }
 
@@ -1407,9 +1487,6 @@ static void ATSU_draw(WebTextRenderer *renderer, const WebCoreTextRun *run, cons
     if (style->directionalOverride) {
         swappedRun = addDirectionalOverride(run, style->rtl);
         aRun = &swappedRun;
-    } else if (style->rtl && !renderer->ATSUMirrors) {
-        swappedRun = applyMirroringToRun(run);
-        aRun = &swappedRun;
     }
 
     from = aRun->from;
@@ -1442,6 +1519,12 @@ static void ATSU_draw(WebTextRenderer *renderer, const WebCoreTextRun *run, cons
     if (!flipped)
         CGContextScaleCTM(context, 1.0, -1.0);
     status = ATSUDrawText(params.layout, aRun->from, runLength, 0, 0);
+    if (status == noErr && params.hasSyntheticBold) {
+        // Force relayout for the bold pass
+        ATSUClearLayoutCache(params.layout, 0);
+        params.syntheticBoldPass = true;
+        status = ATSUDrawText(params.layout, aRun->from, runLength, 0, 0);
+    }
     if (!flipped)
         CGContextScaleCTM(context, 1.0, -1.0);
     CGContextTranslateCTM(context, -geometry->point.x, -geometry->point.y);
@@ -1453,7 +1536,7 @@ static void ATSU_draw(WebTextRenderer *renderer, const WebCoreTextRun *run, cons
 
     disposeATSULayoutParameters(&params);
     
-    if (style->directionalOverride || (style->rtl && !renderer->ATSUMirrors))
+    if (style->directionalOverride)
         free((void *)swappedRun.characters);
 }
 
@@ -1467,9 +1550,6 @@ static int ATSU_pointToOffset(WebTextRenderer *renderer, const WebCoreTextRun *r
     if (style->directionalOverride) {
         swappedRun = addDirectionalOverride(aRun, style->rtl);
         aRun = &swappedRun;
-    } else if (style->rtl && !renderer->ATSUMirrors) {
-        swappedRun = applyMirroringToRun(aRun);
-        aRun = &swappedRun;
     }
 
     ATSULayoutParameters params;
@@ -1492,7 +1572,7 @@ static int ATSU_pointToOffset(WebTextRenderer *renderer, const WebCoreTextRun *r
 
     disposeATSULayoutParameters(&params);
     
-    if (style->directionalOverride || (style->rtl && !renderer->ATSUMirrors))
+    if (style->directionalOverride)
         free((void *)swappedRun.characters);
 
     return offset - aRun->from;
@@ -1636,20 +1716,6 @@ static void initializeWidthIterator(WidthIterator *iterator, WebTextRenderer *re
     }
 }
 
-static void createATSULayoutParameters(ATSULayoutParameters *params, WebTextRenderer *renderer, const WebCoreTextRun *run, const WebCoreTextStyle *style) 
-{
-    params->renderer = renderer;
-    params->run = run;
-    params->style = style;
-    params->layout = createATSUTextLayout(renderer, run, style);
-    ATSUSetTextLayoutRefCon(params->layout, (UInt32)params);
-}
-
-static void disposeATSULayoutParameters(ATSULayoutParameters *params)
-{
-    ATSUDisposeTextLayout(params->layout);
-}
-
 static UChar32 normalizeVoicingMarks(WidthIterator *iterator)
 {
     unsigned currentCharacter = iterator->currentCharacter;