<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[192930] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/192930">192930</a></dd>
<dt>Author</dt> <dd>mmaxfield@apple.com</dd>
<dt>Date</dt> <dd>2015-12-01 16:57:41 -0800 (Tue, 01 Dec 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>[SVG -&gt; OTF Converter] Force UnitsPerEm to 1000
https://bugs.webkit.org/show_bug.cgi?id=151650

Reviewed by Antti Koivisto.

Source/WebCore:

According to the Adobe Type 1 Font Format:

&quot;Type 1 font programs generally use a 1000 to 1 scaling matrix
for the definition of the relationship of character space unites
to user space units.&quot;

Windows actually disregards the &quot;unitsPerEm&quot; value in the &quot;head&quot;
table for some calculations, and hardcodes 1000 instead. In order
to have consistent renderings on Windows and OS X, this patch
forces all generated fonts to have a unitsPerEm of 1000, and
appropriately scales all necessary values.

Test: svg/W3C-SVG-1.1/fonts-elem-03-b.svg

* svg/SVGToOTFFontConversion.cpp:
(WebCore::SVGToOTFFontConverter::scaleUnitsPerEm):
(WebCore::SVGToOTFFontConverter::appendHEADTable):
(WebCore::SVGToOTFFontConverter::appendOS2Table):
(WebCore::SVGToOTFFontConverter::appendVORGTable):
(WebCore::SVGToOTFFontConverter::appendVHEATable):
(WebCore::SVGToOTFFontConverter::appendVMTXTable):
(WebCore::SVGToOTFFontConverter::addKerningPair):
(WebCore::CFFBuilder::CFFBuilder):
(WebCore::CFFBuilder::boundingBox):
(WebCore::CFFBuilder::updateBoundingBox):
(WebCore::CFFBuilder::unscaledLineTo):
(WebCore::SVGToOTFFontConverter::transcodeGlyphPaths):
(WebCore::SVGToOTFFontConverter::processGlyphElement):
(WebCore::SVGToOTFFontConverter::appendLigatureGlyphs):
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter):

LayoutTests:

Some tests have quantization differences.

* fast/ruby/ruby-expansion-cjk-2-expected.html:
* fast/ruby/ruby-expansion-cjk-3-expected.html:
* fast/ruby/ruby-expansion-cjk-4-expected.html:
* fast/ruby/ruby-expansion-cjk-5-expected.html:
* fast/ruby/ruby-expansion-cjk-expected.html:
* platform/mac-wk2/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/text-intro-01-t-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/text-intro-03-b-expected.txt:
* platform/mac/svg/W3C-SVG-1.1/text-intro-04-t-expected.txt:
* platform/mac/svg/batik/text/textEffect3-expected.txt:
* platform/mac/svg/batik/text/textPosition2-expected.txt:
* platform/mac/svg/wicd/test-rightsizing-b-expected.txt:
* svg/custom/acid3-test-77-expected.txt:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsfastrubyrubyexpansioncjk2expectedhtml">trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-2-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastrubyrubyexpansioncjk3expectedhtml">trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-3-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastrubyrubyexpansioncjk4expectedhtml">trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-4-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastrubyrubyexpansioncjk5expectedhtml">trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-5-expected.html</a></li>
<li><a href="#trunkLayoutTestsfastrubyrubyexpansioncjkexpectedhtml">trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-expected.html</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11fontselem01texpectedtxt">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11fontselem02texpectedtxt">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11fontselem03bexpectedtxt">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11fontselem04bexpectedtxt">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11fontselem07bexpectedtxt">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11textintro01texpectedtxt">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-01-t-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11textintro02bexpectedtxt">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11textintro03bexpectedtxt">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-03-b-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgW3CSVG11textintro04texpectedtxt">trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-04-t-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgbatiktexttextEffect3expectedtxt">trunk/LayoutTests/platform/mac/svg/batik/text/textEffect3-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgbatiktexttextPosition2expectedtxt">trunk/LayoutTests/platform/mac/svg/batik/text/textPosition2-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacsvgwicdtestrightsizingbexpectedtxt">trunk/LayoutTests/platform/mac/svg/wicd/test-rightsizing-b-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk2svgW3CSVG11fontselem04bexpectedtxt">trunk/LayoutTests/platform/mac-wk2/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgcustomacid3test77expectedtxt">trunk/LayoutTests/svg/custom/acid3-test-77-expected.txt</a></li>
<li><a href="#trunkLayoutTestssvgcustomacid3test77html">trunk/LayoutTests/svg/custom/acid3-test-77.html</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoresvgSVGToOTFFontConversioncpp">trunk/Source/WebCore/svg/SVGToOTFFontConversion.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/ChangeLog        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -1,3 +1,31 @@
</span><ins>+2015-12-01  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
+        [SVG -&gt; OTF Converter] Force UnitsPerEm to 1000
+        https://bugs.webkit.org/show_bug.cgi?id=151650
+
+        Reviewed by Antti Koivisto.
+
+        Some tests have quantization differences.
+
+        * fast/ruby/ruby-expansion-cjk-2-expected.html:
+        * fast/ruby/ruby-expansion-cjk-3-expected.html:
+        * fast/ruby/ruby-expansion-cjk-4-expected.html:
+        * fast/ruby/ruby-expansion-cjk-5-expected.html:
+        * fast/ruby/ruby-expansion-cjk-expected.html:
+        * platform/mac-wk2/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/text-intro-01-t-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/text-intro-03-b-expected.txt:
+        * platform/mac/svg/W3C-SVG-1.1/text-intro-04-t-expected.txt:
+        * platform/mac/svg/batik/text/textEffect3-expected.txt:
+        * platform/mac/svg/batik/text/textPosition2-expected.txt:
+        * platform/mac/svg/wicd/test-rightsizing-b-expected.txt:
+        * svg/custom/acid3-test-77-expected.txt:
+
</ins><span class="cx"> 2015-12-01  Brady Eidson  &lt;beidson@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Add updated test result missing from http://trac.webkit.org/changeset/192924
</span></span></pre></div>
<a id="trunkLayoutTestsfastrubyrubyexpansioncjk2expectedhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-2-expected.html (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-2-expected.html        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-2-expected.html        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -4,42 +4,42 @@
</span><span class="cx"> &lt;body&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; left: 0px; top: 0px; width: 100%;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 400px; height: 20px; left: 200px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 380px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 800px; height: 41px; left: 0px; top: 69px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 380px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 800px; height: 40px; left: 0px; top: 70px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;div style=&quot;position: absolute; left: 0px; top: 112px; width: 100%;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 400px; height: 20px; left: 180px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 360px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 80px; height: 41px; right: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 800px; height: 41px; left: 0px; top: 69px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 360px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 80px; height: 40px; right: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 800px; height: 40px; left: 0px; top: 70px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;div style=&quot;position: absolute; left: 0px; top: 224px; width: 100%;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 400px; height: 20px; left: 220px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 81px; height: 41px; left: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 400px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 800px; height: 41px; left: 0px; top: 69px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 80px; height: 40px; left: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 400px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 800px; height: 40px; left: 0px; top: 70px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;div style=&quot;position: absolute; left: 0px; top: 336px; width: 100%;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 400px; height: 20px; left: 200px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 81px; height: 41px; left: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 380px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 80px; height: 41px; right: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 800px; height: 41px; left: 0px; top: 69px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 80px; height: 40px; left: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 380px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 80px; height: 40px; right: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 800px; height: 40px; left: 0px; top: 70px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;div style=&quot;position: absolute; left: 0px; top: 448px; width: 100%;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 300px; height: 20px; left: 0px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 300px; height: 20px; right: 00px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 130px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 380px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; right: 129px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 130px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 380px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 130px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;div style=&quot;position: absolute; width: 800px; height: 40px; left: 0px; top: 63.5px; background: black;&quot;&gt;&lt;/div&gt;
</span><span class="cx"> &lt;/div&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsfastrubyrubyexpansioncjk3expectedhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-3-expected.html (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-3-expected.html        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-3-expected.html        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -4,57 +4,57 @@
</span><span class="cx"> &lt;body&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; left: 0px; top: 0px; width: 100%;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 400px; height: 20px; left: 199px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; left: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 40px; top: 19px; background: green;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 166px; top: 19px; background: green;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; right: 166px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 40px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 0px; top: 19px; background: green;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 800px; height: 41px; left: 0px; top: 69px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 40px; top: 20px; background: green;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 166px; top: 20px; background: green;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 167px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 40px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 0px; top: 20px; background: green;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 800px; height: 40px; left: 0px; top: 70px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;div style=&quot;position: absolute; left: 0px; top: 112px; width: 100%;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 400px; height: 20px; left: 265px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; left: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 40px; top: 19px; background: green;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 210px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 80px; top: 19px; background: green;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 40px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 0px; top: 19px; background: green;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 800px; height: 41px; left: 0px; top: 69px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 40px; top: 20px; background: green;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 210px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 80px; top: 20px; background: green;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 40px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 0px; top: 20px; background: green;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 800px; height: 40px; left: 0px; top: 70px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;div style=&quot;position: absolute; left: 0px; top: 224px; width: 100%;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 400px; height: 20px; left: 135px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; left: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 40px; top: 19px; background: green;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 80px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 550px; top: 19px; background: green;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 40px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 0px; top: 19px; background: green;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 800px; height: 41px; left: 0px; top: 69px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 40px; top: 20px; background: green;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 80px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 550px; top: 20px; background: green;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 40px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 0px; top: 20px; background: green;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 800px; height: 40px; left: 0px; top: 70px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;div style=&quot;position: absolute; left: 0px; top: 336px; width: 100%;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 400px; height: 20px; left: 199px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; left: 0px; top: 19px; background: green;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 40px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 166px; top: 19px; background: green;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; right: 166px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 40px; top: 19px; background: green;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 800px; height: 41px; left: 0px; top: 69px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 0px; top: 20px; background: green;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 40px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 166px; top: 20px; background: green;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 167px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 40px; top: 20px; background: green;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 800px; height: 40px; left: 0px; top: 70px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;div style=&quot;position: absolute; left: 0px; top: 448px; width: 100%;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 400px; height: 20px; left: 135px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; left: 0px; top: 19px; background: green;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 40px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 80px; top: 19px; background: green;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 550px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 40px; top: 19px; background: green;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 800px; height: 41px; left: 0px; top: 69px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 0px; top: 20px; background: green;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 40px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 80px; top: 20px; background: green;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 550px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 40px; top: 20px; background: green;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 800px; height: 40px; left: 0px; top: 70px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;/body&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsfastrubyrubyexpansioncjk4expectedhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-4-expected.html (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-4-expected.html        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-4-expected.html        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -14,33 +14,33 @@
</span><span class="cx"> &lt;div style=&quot;font-family: Litherum;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; left: 0px; top: 130px; width: 100%;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 400px; height: 20px; left: 199px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; left: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 40px; top: 19px; background: green;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 166px; top: 19px; background: green;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; right: 166px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 40px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 0px; top: 19px; background: green;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 800px; height: 41px; left: 0px; top: 63px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 40px; top: 20px; background: green;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 166px; top: 20px; background: green;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 167px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 40px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 0px; top: 20px; background: green;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 800px; height: 40px; left: 0px; top: 64px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;div style=&quot;position: absolute; left: 0px; top: 236px; width: 100%;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 400px; height: 20px; left: 200px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 400px; height: 20px; left: 199px; top: 21px; background: black;&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 0px; top: 40px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 120px; top: 40px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 193px; top: 40px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; right: 193px; top: 40px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; right: 119px; top: 40px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 0px; top: 40px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 800px; height: 41px; left: 0px; top: 90px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 0px; top: 41px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 120px; top: 41px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 193px; top: 41px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 194px; top: 41px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 120px; top: 41px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 0px; top: 41px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 800px; height: 40px; left: 0px; top: 91px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;div style=&quot;position: absolute; left: 0px; top: 369px; width: 100%;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 400px; height: 20px; left: 100px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 100px; height: 50px; left: 0px; top: 10px; background: rgb(0, 255, 0);&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; right: 479px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 800px; height: 41px; left: 0px; top: 69px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 480px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 800px; height: 40px; left: 0px; top: 70px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><span class="cx"> &lt;/div&gt;
</span><span class="cx"> &lt;/body&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsfastrubyrubyexpansioncjk5expectedhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-5-expected.html (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-5-expected.html        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-5-expected.html        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -6,10 +6,10 @@
</span><span class="cx"> &lt;body style=&quot;text-align: justify; font: 40px Litherum; margin: 0px; -webkit-font-smoothing: none;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; left: 0px; top: 0px; width: 100%;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 400px; height: 20px; right: 100px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 480px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 480px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;div style=&quot;position: absolute; width: 100px; height: 50px; right: 0px; top: 10px; background: rgb(0, 255, 0);&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 800px; height: 41px; left: 0px; top: 63px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 800px; height: 40px; left: 0px; top: 64px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><span class="cx"> &lt;/body&gt;
</span><span class="cx"> &lt;/html&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsfastrubyrubyexpansioncjkexpectedhtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-expected.html (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-expected.html        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/fast/ruby/ruby-expansion-cjk-expected.html        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -4,45 +4,45 @@
</span><span class="cx"> &lt;body&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; left: 0px; top: 0px; width: 100%;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 400px; height: 20px; left: 200px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 380px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 800px; height: 41px; left: 0px; top: 63px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 380px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 800px; height: 40px; left: 0px; top: 64px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;div style=&quot;position: absolute; left: 0px; top: 106px; width: 100%;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 400px; height: 20px; left: 199px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 153px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 606px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 800px; height: 41px; left: 0px; top: 63px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 153px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 606px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 800px; height: 40px; left: 0px; top: 64px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;div style=&quot;position: absolute; left: 0px; top: 212px; width: 100%;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 400px; height: 20px; left: 199px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 153px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 606px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 800px; height: 41px; left: 0px; top: 63px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 153px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 606px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 800px; height: 40px; left: 0px; top: 64px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;div style=&quot;position: absolute; left: 0px; top: 318px; width: 100%;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 400px; height: 20px; left: 200px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 81px; height: 41px; left: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 41px; height: 41px; left: 380px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 80px; height: 41px; right: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 800px; height: 41px; left: 0px; top: 69px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 80px; height: 40px; left: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; left: 380px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 80px; height: 40px; right: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 800px; height: 40px; left: 0px; top: 70px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;div style=&quot;position: absolute; left: 0px; top: 430px; width: 100%;&quot;&gt;
</span><span class="cx"> &lt;div style=&quot;position: absolute; width: 400px; height: 20px; left: 70px; top: 0px; background: black;&quot;&gt;&lt;/div&gt;
</span><del>-&lt;div style=&quot;position: absolute; width: 81px; height: 41px; left: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 81px; height: 41px; left: 230px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 81px; height: 41px; left: 460px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 40px; height: 41px; right: 0px; top: 19px; background: black;&quot;&gt;&lt;/div&gt;
-&lt;div style=&quot;position: absolute; width: 800px; height: 41px; left: 0px; top: 69px; background: black;&quot;&gt;&lt;/div&gt;
</del><ins>+&lt;div style=&quot;position: absolute; width: 80px; height: 40px; left: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 80px; height: 40px; left: 230px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 80px; height: 40px; left: 460px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 40px; height: 40px; right: 0px; top: 20px; background: black;&quot;&gt;&lt;/div&gt;
+&lt;div style=&quot;position: absolute; width: 800px; height: 40px; left: 0px; top: 70px; background: black;&quot;&gt;&lt;/div&gt;
</ins><span class="cx"> &lt;/div&gt;
</span><span class="cx"> 
</span><span class="cx"> &lt;/body&gt;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11fontselem01texpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx">         RenderSVGPath {line} at (165,219) size 210x2 [stroke={[type=SOLID] [color=#888888]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=0.00] [x2=210.00] [y2=0.00]
</span><span class="cx">         RenderSVGText {text} at (0,-67) size 210x85 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 210x84
</span><del>-            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 209.71: &quot;Ay\x{D6}@\x{E7}&quot;
</del><ins>+            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 209.70: &quot;Ay\x{D6}@\x{E7}&quot;
</ins><span class="cx">     RenderSVGText {text} at (10,304) size 264x46 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 264x46
</span><span class="cx">         chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 263.34: &quot;$Revision: 1.4 $&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11fontselem02texpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -21,14 +21,14 @@
</span><span class="cx">       RenderSVGContainer {g} at (165,73) size 210x85 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,140.00)}]
</span><span class="cx">         RenderSVGText {text} at (0,-67) size 210x85 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 210x84
</span><del>-            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 209.71: &quot;Ay\x{D6}@\x{E7}&quot;
</del><ins>+            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 209.70: &quot;Ay\x{D6}@\x{E7}&quot;
</ins><span class="cx">       RenderSVGText {text} at (7,193) size 129x22 contains 1 chunk(s)
</span><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 129x21
</span><span class="cx">           chunk 1 text run 1 at (7.00,210.00) startOffset 0 endOffset 15 width 129.00: &quot;Glyphs over SVG&quot;
</span><span class="cx">       RenderSVGContainer {g} at (165,143) size 210x85 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,210.00)}]
</span><span class="cx">         RenderSVGText {text} at (0,-67) size 210x85 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 210x84
</span><del>-            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 209.71: &quot;Ay\x{D6}@\x{E7}&quot;
</del><ins>+            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 209.70: &quot;Ay\x{D6}@\x{E7}&quot;
</ins><span class="cx">       RenderSVGContainer {g} at (168,155) size 205x72 [transform={m=((1.00,0.00)(0.00,-1.00)) t=(165.00,210.00)}]
</span><span class="cx">         RenderSVGContainer {g} at (168,155) size 205x72 [transform={m=((0.03,0.00)(0.00,0.03)) t=(0.00,0.00)}]
</span><span class="cx">           RenderSVGPath {path} at (168,166) size 37x45 [fill={[type=SOLID] [color=#000000]}] [data=&quot;M 1250 -30 C 1188.67 -30 1135.33 48.6667 1090 206 C 1072.67 266 1051 371 1025 521 C 957 511.667 868 495 758 471 L 492 416 C 458.667 328.667 401.667 201 321 33 C 299.667 -4.33333 270.667 -23 234 -23 C 207.333 -23 183.667 -13.3333 163 6 C 142.333 25.3333 131.667 49.3333 131 78 C 131 110 181.333 231.667 282 443 C 270.667 460.333 265 480.333 265 503 C 265 557 297.667 591.667 363 607 C 439 749.667 535 913.667 651 1099 C 809 1351.67 907.333 1478 946 1478 C 998.667 1478 1034.67 1441.33 1054 1368 L 1117 1032 L 1266 337 L 1323 179 C 1342.33 125 1352 89 1352 71 C 1352 42.3333 1341.67 18.3333 1321 -1 C 1300.33 -20.3333 1276.67 -30 1250 -30 Z M 897 1113 L 611 652 C 691.667 672.667 814 697.667 978 727 L 897 1113 Z&quot;]
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11fontselem03bexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx">         RenderSVGPath {line} at (165,219) size 210x2 [stroke={[type=SOLID] [color=#888888]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=0.00] [x2=210.00] [y2=0.00]
</span><span class="cx">         RenderSVGText {text} at (0,-67) size 210x85 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 210x84
</span><del>-            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 209.71: &quot;Ay\x{D6}@\x{E7}&quot;
</del><ins>+            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 209.70: &quot;Ay\x{D6}@\x{E7}&quot;
</ins><span class="cx">     RenderSVGText {text} at (10,304) size 264x46 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 264x46
</span><span class="cx">         chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 263.34: &quot;$Revision: 1.2 $&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11fontselem04bexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -32,7 +32,7 @@
</span><span class="cx">         RenderSVGPath {line} at (165,219) size 210x2 [stroke={[type=SOLID] [color=#888888]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=0.00] [x2=210.00] [y2=0.00]
</span><span class="cx">         RenderSVGText {text} at (0,-67) size 210x85 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 210x84
</span><del>-            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 209.71: &quot;Ay\x{D6}@\x{E7}&quot;
</del><ins>+            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 209.70: &quot;Ay\x{D6}@\x{E7}&quot;
</ins><span class="cx">     RenderSVGText {text} at (10,304) size 264x46 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 264x46
</span><span class="cx">         chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 263.34: &quot;$Revision: 1.1 $&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11fontselem07bexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx">         RenderSVGPath {line} at (165,219) size 210x2 [stroke={[type=SOLID] [color=#888888]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=0.00] [x2=210.00] [y2=0.00]
</span><span class="cx">         RenderSVGText {text} at (0,-67) size 210x85 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 210x84
</span><del>-            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 209.71: &quot;Ay\x{D6}@\x{E7}&quot;
</del><ins>+            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 209.70: &quot;Ay\x{D6}@\x{E7}&quot;
</ins><span class="cx">     RenderSVGText {text} at (10,304) size 264x46 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 264x46
</span><span class="cx">         chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 263.34: &quot;$Revision: 1.7 $&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11textintro01texpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-01-t-expected.txt (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-01-t-expected.txt        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-01-t-expected.txt        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -10,31 +10,31 @@
</span><span class="cx">       RenderSVGContainer {g} at (10,56) size 244x164
</span><span class="cx">         RenderSVGText {text} at (10,56) size 232x24 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 232x23
</span><del>-            chunk 1 text run 1 at (10.00,75.00) startOffset 0 endOffset 33 width 231.46: &quot;Polish: Mog\x{119} je\x{15B}\x{107} szk\x{142}o, i mi ...&quot;
</del><ins>+            chunk 1 text run 1 at (10.00,75.00) startOffset 0 endOffset 33 width 231.45: &quot;Polish: Mog\x{119} je\x{15B}\x{107} szk\x{142}o, i mi ...&quot;
</ins><span class="cx">         RenderSVGText {text} at (10,91) size 244x24 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 244x23
</span><del>-            chunk 1 text run 1 at (10.00,110.00) startOffset 0 endOffset 32 width 243.96: &quot;Russian: \x{42F} \x{43C}\x{43E}\x{433}\x{443} \x{435}\x{441}\x{442}\x{44C} \x{441}\x{442}\x{435}\x{43A}\x{43B}\x{43E}, ...&quot;
</del><ins>+            chunk 1 text run 1 at (10.00,110.00) startOffset 0 endOffset 32 width 243.97: &quot;Russian: \x{42F} \x{43C}\x{43E}\x{433}\x{443} \x{435}\x{441}\x{442}\x{44C} \x{441}\x{442}\x{435}\x{43A}\x{43B}\x{43E}, ...&quot;
</ins><span class="cx">         RenderSVGText {text} at (10,126) size 195x24 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 195x23
</span><del>-            chunk 1 text run 1 at (10.00,145.00) startOffset 0 endOffset 23 width 194.01: &quot;Greek: \x{39C}\x{3C0}\x{3BF}\x{3C1}\x{3CE} \x{3BD}\x{3B1} \x{3C6}\x{3AC}\x{3C9} ...&quot;
</del><ins>+            chunk 1 text run 1 at (10.00,145.00) startOffset 0 endOffset 23 width 194.02: &quot;Greek: \x{39C}\x{3C0}\x{3BF}\x{3C1}\x{3CE} \x{3BD}\x{3B1} \x{3C6}\x{3AC}\x{3C9} ...&quot;
</ins><span class="cx">         RenderSVGText {text} at (10,161) size 236x24 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 236x23
</span><span class="cx">             chunk 1 text run 1 at (10.00,180.00) startOffset 0 endOffset 8 width 68.02: &quot;Hebrew: &quot;
</span><del>-            chunk 1 text run 1 at (78.02,180.00) startOffset 0 endOffset 21 width 148.57 RTL: &quot;\x{5D0}\x{5E0}\x{5D9} \x{5D9}\x{5DB}\x{5D5}\x{5DC} \x{5DC}\x{5D0}\x{5DB}\x{5D5}\x{5DC} \x{5D6}\x{5DB}\x{5D5}\x{5DB}\x{5D9}\x{5EA}&quot;
-            chunk 1 text run 1 at (226.59,180.00) startOffset 0 endOffset 4 width 18.89: &quot; ...&quot;
</del><ins>+            chunk 1 text run 1 at (78.02,180.00) startOffset 0 endOffset 21 width 148.60 RTL: &quot;\x{5D0}\x{5E0}\x{5D9} \x{5D9}\x{5DB}\x{5D5}\x{5DC} \x{5DC}\x{5D0}\x{5DB}\x{5D5}\x{5DC} \x{5D6}\x{5DB}\x{5D5}\x{5DB}\x{5D9}\x{5EA}&quot;
+            chunk 1 text run 1 at (226.61,180.00) startOffset 0 endOffset 4 width 18.90: &quot; ...&quot;
</ins><span class="cx">         RenderSVGText {text} at (10,196) size 234x24 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 234x23
</span><del>-            chunk 1 text run 1 at (10.00,215.00) startOffset 0 endOffset 9 width 65.20: &quot;Yiddish: &quot;
-            chunk 1 text run 1 at (75.20,215.00) startOffset 0 endOffset 21 width 149.55 RTL: &quot;\x{5D0}\x{5D9}\x{5DA} \x{5E7}\x{5E2}\x{5DF} \x{5E2}\x{5E1}\x{5DF} \x{5D2}\x{5DC}\x{5D0}\x{5B8}\x{5D6} \x{5D0}\x{5D5}\x{5DF}&quot;
-            chunk 1 text run 1 at (224.75,215.00) startOffset 0 endOffset 4 width 18.89: &quot; ...&quot;
</del><ins>+            chunk 1 text run 1 at (10.00,215.00) startOffset 0 endOffset 9 width 65.19: &quot;Yiddish: &quot;
+            chunk 1 text run 1 at (75.19,215.00) startOffset 0 endOffset 21 width 149.57 RTL: &quot;\x{5D0}\x{5D9}\x{5DA} \x{5E7}\x{5E2}\x{5DF} \x{5E2}\x{5E1}\x{5DF} \x{5D2}\x{5DC}\x{5D0}\x{5B8}\x{5D6} \x{5D0}\x{5D5}\x{5DF}&quot;
+            chunk 1 text run 1 at (224.76,215.00) startOffset 0 endOffset 4 width 18.90: &quot; ...&quot;
</ins><span class="cx">       RenderSVGContainer {g} at (10,231) size 272x24
</span><span class="cx">         RenderSVGText {text} at (10,231) size 272x24 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 272x23
</span><del>-            chunk 1 text run 1 at (10.00,250.00) startOffset 0 endOffset 20 width 271.10: &quot;Chinese:\x{6211}\x{80FD}\x{541E}\x{4E0B}\x{73BB}\x{7483}\x{800C}\x{4E0D}\x{4F24}\x{8EAB}\x{4F53}\x{3002}&quot;
</del><ins>+            chunk 1 text run 1 at (10.00,250.00) startOffset 0 endOffset 20 width 271.08: &quot;Chinese:\x{6211}\x{80FD}\x{541E}\x{4E0B}\x{73BB}\x{7483}\x{800C}\x{4E0D}\x{4F24}\x{8EAB}\x{4F53}\x{3002}&quot;
</ins><span class="cx">       RenderSVGContainer {g} at (10,266) size 271x24
</span><span class="cx">         RenderSVGText {text} at (10,266) size 271x24 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 271x23
</span><del>-            chunk 1 text run 1 at (10.00,285.00) startOffset 0 endOffset 21 width 270.17: &quot;Japanese: \x{79C1}\x{306F}\x{30AC}\x{30E9}\x{30B9}\x{3092}\x{98DF}\x{3079}\x{307E}\x{3059}\x{3002}&quot;
</del><ins>+            chunk 1 text run 1 at (10.00,285.00) startOffset 0 endOffset 21 width 270.16: &quot;Japanese: \x{79C1}\x{306F}\x{30AC}\x{30E9}\x{30B9}\x{3092}\x{98DF}\x{3079}\x{307E}\x{3059}\x{3002}&quot;
</ins><span class="cx">     RenderSVGText {text} at (10,304) size 264x46 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 264x46
</span><span class="cx">         chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 263.34: &quot;$Revision: 1.7 $&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11textintro02bexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -10,22 +10,22 @@
</span><span class="cx">       RenderSVGContainer {g} at (10,60) size 423x25
</span><span class="cx">         RenderSVGText {text} at (10,60) size 423x25 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 423x25
</span><del>-            chunk 1 text run 1 at (10.00,80.00) startOffset 0 endOffset 56 width 422.63 LTR override: &quot;Text \&quot;\x{5D0}\x{5E0}\x{5D9} \x{5D9}\x{5DB}\x{5D5}\x{5DC} \x{5DC}\x{5D0}\x{5DB}\x{5D5}\x{5DC} \x{5D6}\x{5DB}\x{5D5}\x{5DB}\x{5D9}\x{5EA} \x{5D5}\x{5D6}\x{5D4} \x{5DC}\x{5D0} \x{5DE}\x{5D6}\x{5D9}\x{5E7} \x{5DC}\x{5D9}\&quot; is in Hebrew&quot;
</del><ins>+            chunk 1 text run 1 at (10.00,80.00) startOffset 0 endOffset 56 width 422.66 LTR override: &quot;Text \&quot;\x{5D0}\x{5E0}\x{5D9} \x{5D9}\x{5DB}\x{5D5}\x{5DC} \x{5DC}\x{5D0}\x{5DB}\x{5D5}\x{5DC} \x{5D6}\x{5DB}\x{5D5}\x{5DB}\x{5D9}\x{5EA} \x{5D5}\x{5D6}\x{5D4} \x{5DC}\x{5D0} \x{5DE}\x{5D6}\x{5D9}\x{5E7} \x{5DC}\x{5D9}\&quot; is in Hebrew&quot;
</ins><span class="cx">       RenderSVGText {text} at (10,124) size 318x20 contains 1 chunk(s)
</span><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 318x19
</span><span class="cx">           chunk 1 text run 1 at (10.00,140.00) startOffset 0 endOffset 45 width 317.07: &quot;unicode-bidi=\&quot;bidi-override\&quot; direction=\&quot;rtl\&quot;.&quot;
</span><span class="cx">       RenderSVGContainer {g} at (0,160) size 10x25
</span><span class="cx">         RenderSVGText {text} at (-413,160) size 423x25 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 423x25
</span><del>-            chunk 1 text run 1 at (-412.63,180.00) startOffset 0 endOffset 56 width 422.63 RTL override: &quot;Text \&quot;\x{5D0}\x{5E0}\x{5D9} \x{5D9}\x{5DB}\x{5D5}\x{5DC} \x{5DC}\x{5D0}\x{5DB}\x{5D5}\x{5DC} \x{5D6}\x{5DB}\x{5D5}\x{5DB}\x{5D9}\x{5EA} \x{5D5}\x{5D6}\x{5D4} \x{5DC}\x{5D0} \x{5DE}\x{5D6}\x{5D9}\x{5E7} \x{5DC}\x{5D9}\&quot; is in Hebrew&quot;
</del><ins>+            chunk 1 text run 1 at (-412.66,180.00) startOffset 0 endOffset 56 width 422.66 RTL override: &quot;Text \&quot;\x{5D0}\x{5E0}\x{5D9} \x{5D9}\x{5DB}\x{5D5}\x{5DC} \x{5DC}\x{5D0}\x{5DB}\x{5D5}\x{5DC} \x{5D6}\x{5DB}\x{5D5}\x{5DB}\x{5D9}\x{5EA} \x{5D5}\x{5D6}\x{5D4} \x{5DC}\x{5D0} \x{5DE}\x{5D6}\x{5D9}\x{5E7} \x{5DC}\x{5D9}\&quot; is in Hebrew&quot;
</ins><span class="cx">       RenderSVGText {text} at (10,224) size 276x20 contains 1 chunk(s)
</span><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 276x19
</span><span class="cx">           chunk 1 text run 1 at (10.00,240.00) startOffset 0 endOffset 38 width 275.49: &quot;unicode-bidi=\&quot;normal\&quot; direction=\&quot;ltr\&quot;.&quot;
</span><span class="cx">       RenderSVGContainer {g} at (0,260) size 10x25
</span><span class="cx">         RenderSVGText {text} at (-413,260) size 423x25 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 423x25
</span><del>-            chunk 1 text run 1 at (-412.63,280.00) startOffset 0 endOffset 12 width 99.04: &quot;is in Hebrew&quot;
-            chunk 1 text run 1 at (-313.60,280.00) startOffset 0 endOffset 40 width 288.59 RTL: &quot; \&quot;\x{5D0}\x{5E0}\x{5D9} \x{5D9}\x{5DB}\x{5D5}\x{5DC} \x{5DC}\x{5D0}\x{5DB}\x{5D5}\x{5DC} \x{5D6}\x{5DB}\x{5D5}\x{5DB}\x{5D9}\x{5EA} \x{5D5}\x{5D6}\x{5D4} \x{5DC}\x{5D0} \x{5DE}\x{5D6}\x{5D9}\x{5E7} \x{5DC}\x{5D9}\&quot; &quot;
</del><ins>+            chunk 1 text run 1 at (-412.66,280.00) startOffset 0 endOffset 12 width 99.02: &quot;is in Hebrew&quot;
+            chunk 1 text run 1 at (-313.64,280.00) startOffset 0 endOffset 40 width 288.63 RTL: &quot; \&quot;\x{5D0}\x{5E0}\x{5D9} \x{5D9}\x{5DB}\x{5D5}\x{5DC} \x{5DC}\x{5D0}\x{5DB}\x{5D5}\x{5DC} \x{5D6}\x{5DB}\x{5D5}\x{5DB}\x{5D9}\x{5EA} \x{5D5}\x{5D6}\x{5D4} \x{5DC}\x{5D0} \x{5DE}\x{5D6}\x{5D9}\x{5E7} \x{5DC}\x{5D9}\&quot; &quot;
</ins><span class="cx">             chunk 1 text run 1 at (-25.01,280.00) startOffset 0 endOffset 4 width 35.01: &quot;Text&quot;
</span><span class="cx">     RenderSVGText {text} at (10,304) size 264x46 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 264x46
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11textintro03bexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-03-b-expected.txt (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-03-b-expected.txt        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-03-b-expected.txt        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -5,137 +5,137 @@
</span><span class="cx">     RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><span class="cx">     RenderSVGContainer {g} at (60,10) size 376x350
</span><span class="cx">       RenderSVGContainer {g} at (60,10) size 376x350
</span><del>-        RenderSVGText {text} at (60,10) size 20x337 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 19x337
-            chunk 1 (vertical) text run 1 at (64.42,10.00) startOffset 0 endOffset 1 height 18.76: &quot;T&quot;
-            chunk 1 (vertical) text run 2 at (64.42,18.55) startOffset 1 endOffset 2 height 18.76: &quot;e&quot;
-            chunk 1 (vertical) text run 3 at (64.42,26.34) startOffset 2 endOffset 3 height 18.76: &quot;x&quot;
-            chunk 1 (vertical) text run 4 at (64.42,33.34) startOffset 3 endOffset 4 height 18.76: &quot;t&quot;
-            chunk 1 (vertical) text run 5 at (64.42,37.23) startOffset 4 endOffset 5 height 18.76: &quot; &quot;
-            chunk 1 (vertical) text run 6 at (64.42,41.12) startOffset 5 endOffset 6 height 18.76: &quot;\&quot;&quot;
-            chunk 1 (vertical) text run 7 at (64.42,46.09) startOffset 6 endOffset 7 height 18.76: &quot;\x{6211}&quot;
-            chunk 1 (vertical) text run 8 at (64.42,64.84) startOffset 7 endOffset 8 height 18.76: &quot;\x{80FD}&quot;
-            chunk 1 (vertical) text run 9 at (64.42,83.60) startOffset 8 endOffset 9 height 18.76: &quot;\x{541E}&quot;
-            chunk 1 (vertical) text run 10 at (64.42,102.36) startOffset 9 endOffset 10 height 18.76: &quot;\x{4E0B}&quot;
-            chunk 1 (vertical) text run 11 at (64.42,121.12) startOffset 10 endOffset 11 height 18.76: &quot;\x{73BB}&quot;
-            chunk 1 (vertical) text run 12 at (64.42,139.88) startOffset 11 endOffset 12 height 18.76: &quot;\x{7483}&quot;
-            chunk 1 (vertical) text run 13 at (64.42,158.63) startOffset 12 endOffset 13 height 18.76: &quot;\x{800C}&quot;
-            chunk 1 (vertical) text run 14 at (64.42,177.39) startOffset 13 endOffset 14 height 18.76: &quot;\x{4E0D}&quot;
-            chunk 1 (vertical) text run 15 at (64.42,196.15) startOffset 14 endOffset 15 height 18.76: &quot;\x{4F24}&quot;
-            chunk 1 (vertical) text run 16 at (64.42,214.91) startOffset 15 endOffset 16 height 18.76: &quot;\x{8EAB}&quot;
-            chunk 1 (vertical) text run 17 at (64.42,233.67) startOffset 16 endOffset 17 height 18.76: &quot;\x{4F53}&quot;
-            chunk 1 (vertical) text run 18 at (64.42,252.42) startOffset 17 endOffset 18 height 18.76: &quot;\x{3002}&quot;
-            chunk 1 (vertical) text run 19 at (64.42,271.18) startOffset 18 endOffset 19 height 18.76: &quot;\&quot;&quot;
-            chunk 1 (vertical) text run 20 at (64.42,276.15) startOffset 19 endOffset 20 height 18.76: &quot; &quot;
-            chunk 1 (vertical) text run 21 at (64.42,280.04) startOffset 20 endOffset 21 height 18.76: &quot;i&quot;
-            chunk 1 (vertical) text run 22 at (64.42,283.15) startOffset 21 endOffset 22 height 18.76: &quot;n&quot;
-            chunk 1 (vertical) text run 23 at (64.42,290.94) startOffset 22 endOffset 23 height 18.76: &quot; &quot;
-            chunk 1 (vertical) text run 24 at (64.42,294.83) startOffset 23 endOffset 24 height 18.76: &quot;C&quot;
-            chunk 1 (vertical) text run 25 at (64.42,304.94) startOffset 24 endOffset 25 height 18.76: &quot;h&quot;
-            chunk 1 (vertical) text run 26 at (64.42,312.72) startOffset 25 endOffset 26 height 18.76: &quot;i&quot;
-            chunk 1 (vertical) text run 27 at (64.42,315.83) startOffset 26 endOffset 27 height 18.76: &quot;n&quot;
-            chunk 1 (vertical) text run 28 at (64.42,323.62) startOffset 27 endOffset 28 height 18.76: &quot;e&quot;
-            chunk 1 (vertical) text run 29 at (64.42,331.41) startOffset 28 endOffset 29 height 18.76: &quot;s&quot;
-            chunk 1 (vertical) text run 30 at (64.42,338.41) startOffset 29 endOffset 30 height 18.76: &quot;e&quot;
-        RenderSVGText {text} at (221,10) size 18x500 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 18x500
-            chunk 1 (vertical) text run 1 at (224.81,10.00) startOffset 0 endOffset 1 height 17.42: &quot;J&quot;
-            chunk 1 (vertical) text run 2 at (224.81,16.50) startOffset 1 endOffset 2 height 17.42: &quot;a&quot;
-            chunk 1 (vertical) text run 3 at (224.81,23.73) startOffset 2 endOffset 3 height 17.42: &quot;p&quot;
-            chunk 1 (vertical) text run 4 at (224.81,30.96) startOffset 3 endOffset 4 height 17.42: &quot;a&quot;
-            chunk 1 (vertical) text run 5 at (224.81,38.19) startOffset 4 endOffset 5 height 17.42: &quot;n&quot;
-            chunk 1 (vertical) text run 6 at (224.81,45.42) startOffset 5 endOffset 6 height 17.42: &quot;e&quot;
-            chunk 1 (vertical) text run 7 at (224.81,52.65) startOffset 6 endOffset 7 height 17.42: &quot;s&quot;
-            chunk 1 (vertical) text run 8 at (224.81,59.15) startOffset 7 endOffset 8 height 17.42: &quot;e&quot;
-            chunk 1 (vertical) text run 9 at (224.81,66.38) startOffset 8 endOffset 9 height 17.42: &quot;:&quot;
-            chunk 1 (vertical) text run 10 at (224.81,69.99) startOffset 9 endOffset 10 height 17.42: &quot; &quot;
-            chunk 1 (vertical) text run 11 at (224.81,73.60) startOffset 10 endOffset 11 height 17.42: &quot;\x{79C1}&quot;
-            chunk 1 (vertical) text run 12 at (224.81,91.02) startOffset 11 endOffset 12 height 17.42: &quot;\x{306F}&quot;
-            chunk 1 (vertical) text run 13 at (224.81,108.44) startOffset 12 endOffset 13 height 17.42: &quot;\x{30AC}&quot;
-            chunk 1 (vertical) text run 14 at (224.81,125.86) startOffset 13 endOffset 14 height 17.42: &quot;\x{30E9}&quot;
-            chunk 1 (vertical) text run 15 at (224.81,143.28) startOffset 14 endOffset 15 height 17.42: &quot;\x{30B9}&quot;
-            chunk 1 (vertical) text run 16 at (224.81,160.69) startOffset 15 endOffset 16 height 17.42: &quot;\x{3092}&quot;
-            chunk 1 (vertical) text run 17 at (224.81,178.11) startOffset 16 endOffset 17 height 17.42: &quot;\x{98DF}&quot;
-            chunk 1 (vertical) text run 18 at (224.81,195.53) startOffset 17 endOffset 18 height 17.42: &quot;\x{3079}&quot;
-            chunk 1 (vertical) text run 19 at (224.81,212.95) startOffset 18 endOffset 19 height 17.42: &quot;\x{3089}&quot;
-            chunk 1 (vertical) text run 20 at (224.81,230.37) startOffset 19 endOffset 20 height 17.42: &quot;\x{308C}&quot;
-            chunk 1 (vertical) text run 21 at (224.81,247.78) startOffset 20 endOffset 21 height 17.42: &quot;\x{307E}&quot;
-            chunk 1 (vertical) text run 22 at (224.81,265.20) startOffset 21 endOffset 22 height 17.42: &quot;\x{3059}&quot;
-            chunk 1 (vertical) text run 23 at (224.81,282.62) startOffset 22 endOffset 23 height 17.42: &quot;\x{3002}&quot;
-            chunk 1 (vertical) text run 24 at (224.81,300.04) startOffset 23 endOffset 24 height 17.42: &quot;\x{305D}&quot;
-            chunk 1 (vertical) text run 25 at (224.81,317.46) startOffset 24 endOffset 25 height 17.42: &quot;\x{308C}&quot;
-            chunk 1 (vertical) text run 26 at (224.81,334.87) startOffset 25 endOffset 26 height 17.42: &quot;\x{306F}&quot;
-            chunk 1 (vertical) text run 27 at (224.81,352.29) startOffset 26 endOffset 27 height 17.42: &quot;\x{79C1}&quot;
-            chunk 1 (vertical) text run 28 at (224.81,369.71) startOffset 27 endOffset 28 height 17.42: &quot;\x{3092}&quot;
-            chunk 1 (vertical) text run 29 at (224.81,387.13) startOffset 28 endOffset 29 height 17.42: &quot;\x{50B7}&quot;
-            chunk 1 (vertical) text run 30 at (224.81,404.54) startOffset 29 endOffset 30 height 17.42: &quot;\x{3064}&quot;
-            chunk 1 (vertical) text run 31 at (224.81,421.96) startOffset 30 endOffset 31 height 17.42: &quot;\x{3051}&quot;
-            chunk 1 (vertical) text run 32 at (224.81,439.38) startOffset 31 endOffset 32 height 17.42: &quot;\x{307E}&quot;
-            chunk 1 (vertical) text run 33 at (224.81,456.80) startOffset 32 endOffset 33 height 17.42: &quot;\x{305B}&quot;
-            chunk 1 (vertical) text run 34 at (224.81,474.22) startOffset 33 endOffset 34 height 17.42: &quot;\x{3093}&quot;
-            chunk 1 (vertical) text run 35 at (224.81,491.63) startOffset 34 endOffset 35 height 17.42: &quot;\x{3002}&quot;
</del><ins>+        RenderSVGText {text} at (60,10) size 20x336 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 19x336
+            chunk 1 (vertical) text run 1 at (64.41,10.00) startOffset 0 endOffset 1 height 18.73: &quot;T&quot;
+            chunk 1 (vertical) text run 2 at (64.41,18.55) startOffset 1 endOffset 2 height 18.73: &quot;e&quot;
+            chunk 1 (vertical) text run 3 at (64.41,26.34) startOffset 2 endOffset 3 height 18.73: &quot;x&quot;
+            chunk 1 (vertical) text run 4 at (64.41,33.34) startOffset 3 endOffset 4 height 18.73: &quot;t&quot;
+            chunk 1 (vertical) text run 5 at (64.41,37.23) startOffset 4 endOffset 5 height 18.73: &quot; &quot;
+            chunk 1 (vertical) text run 6 at (64.41,41.12) startOffset 5 endOffset 6 height 18.73: &quot;\&quot;&quot;
+            chunk 1 (vertical) text run 7 at (64.41,46.09) startOffset 6 endOffset 7 height 18.73: &quot;\x{6211}&quot;
+            chunk 1 (vertical) text run 8 at (64.41,64.82) startOffset 7 endOffset 8 height 18.73: &quot;\x{80FD}&quot;
+            chunk 1 (vertical) text run 9 at (64.41,83.56) startOffset 8 endOffset 9 height 18.73: &quot;\x{541E}&quot;
+            chunk 1 (vertical) text run 10 at (64.41,102.29) startOffset 9 endOffset 10 height 18.73: &quot;\x{4E0B}&quot;
+            chunk 1 (vertical) text run 11 at (64.41,121.02) startOffset 10 endOffset 11 height 18.73: &quot;\x{73BB}&quot;
+            chunk 1 (vertical) text run 12 at (64.41,139.75) startOffset 11 endOffset 12 height 18.73: &quot;\x{7483}&quot;
+            chunk 1 (vertical) text run 13 at (64.41,158.48) startOffset 12 endOffset 13 height 18.73: &quot;\x{800C}&quot;
+            chunk 1 (vertical) text run 14 at (64.41,177.22) startOffset 13 endOffset 14 height 18.73: &quot;\x{4E0D}&quot;
+            chunk 1 (vertical) text run 15 at (64.41,195.95) startOffset 14 endOffset 15 height 18.73: &quot;\x{4F24}&quot;
+            chunk 1 (vertical) text run 16 at (64.41,214.68) startOffset 15 endOffset 16 height 18.73: &quot;\x{8EAB}&quot;
+            chunk 1 (vertical) text run 17 at (64.41,233.41) startOffset 16 endOffset 17 height 18.73: &quot;\x{4F53}&quot;
+            chunk 1 (vertical) text run 18 at (64.41,252.14) startOffset 17 endOffset 18 height 18.73: &quot;\x{3002}&quot;
+            chunk 1 (vertical) text run 19 at (64.41,270.88) startOffset 18 endOffset 19 height 18.73: &quot;\&quot;&quot;
+            chunk 1 (vertical) text run 20 at (64.41,275.85) startOffset 19 endOffset 20 height 18.73: &quot; &quot;
+            chunk 1 (vertical) text run 21 at (64.41,279.74) startOffset 20 endOffset 21 height 18.73: &quot;i&quot;
+            chunk 1 (vertical) text run 22 at (64.41,282.85) startOffset 21 endOffset 22 height 18.73: &quot;n&quot;
+            chunk 1 (vertical) text run 23 at (64.41,290.63) startOffset 22 endOffset 23 height 18.73: &quot; &quot;
+            chunk 1 (vertical) text run 24 at (64.41,294.52) startOffset 23 endOffset 24 height 18.73: &quot;C&quot;
+            chunk 1 (vertical) text run 25 at (64.41,304.63) startOffset 24 endOffset 25 height 18.73: &quot;h&quot;
+            chunk 1 (vertical) text run 26 at (64.41,312.41) startOffset 25 endOffset 26 height 18.73: &quot;i&quot;
+            chunk 1 (vertical) text run 27 at (64.41,315.52) startOffset 26 endOffset 27 height 18.73: &quot;n&quot;
+            chunk 1 (vertical) text run 28 at (64.41,323.31) startOffset 27 endOffset 28 height 18.73: &quot;e&quot;
+            chunk 1 (vertical) text run 29 at (64.41,331.09) startOffset 28 endOffset 29 height 18.73: &quot;s&quot;
+            chunk 1 (vertical) text run 30 at (64.41,338.09) startOffset 29 endOffset 30 height 18.73: &quot;e&quot;
+        RenderSVGText {text} at (221,10) size 18x499 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 18x499
+            chunk 1 (vertical) text run 1 at (224.81,10.00) startOffset 0 endOffset 1 height 17.39: &quot;J&quot;
+            chunk 1 (vertical) text run 2 at (224.81,16.50) startOffset 1 endOffset 2 height 17.39: &quot;a&quot;
+            chunk 1 (vertical) text run 3 at (224.81,23.73) startOffset 2 endOffset 3 height 17.39: &quot;p&quot;
+            chunk 1 (vertical) text run 4 at (224.81,30.96) startOffset 3 endOffset 4 height 17.39: &quot;a&quot;
+            chunk 1 (vertical) text run 5 at (224.81,38.18) startOffset 4 endOffset 5 height 17.39: &quot;n&quot;
+            chunk 1 (vertical) text run 6 at (224.81,45.41) startOffset 5 endOffset 6 height 17.39: &quot;e&quot;
+            chunk 1 (vertical) text run 7 at (224.81,52.64) startOffset 6 endOffset 7 height 17.39: &quot;s&quot;
+            chunk 1 (vertical) text run 8 at (224.81,59.14) startOffset 7 endOffset 8 height 17.39: &quot;e&quot;
+            chunk 1 (vertical) text run 9 at (224.81,66.37) startOffset 8 endOffset 9 height 17.39: &quot;:&quot;
+            chunk 1 (vertical) text run 10 at (224.81,69.98) startOffset 9 endOffset 10 height 17.39: &quot; &quot;
+            chunk 1 (vertical) text run 11 at (224.81,73.60) startOffset 10 endOffset 11 height 17.39: &quot;\x{79C1}&quot;
+            chunk 1 (vertical) text run 12 at (224.81,90.99) startOffset 11 endOffset 12 height 17.39: &quot;\x{306F}&quot;
+            chunk 1 (vertical) text run 13 at (224.81,108.38) startOffset 12 endOffset 13 height 17.39: &quot;\x{30AC}&quot;
+            chunk 1 (vertical) text run 14 at (224.81,125.78) startOffset 13 endOffset 14 height 17.39: &quot;\x{30E9}&quot;
+            chunk 1 (vertical) text run 15 at (224.81,143.17) startOffset 14 endOffset 15 height 17.39: &quot;\x{30B9}&quot;
+            chunk 1 (vertical) text run 16 at (224.81,160.57) startOffset 15 endOffset 16 height 17.39: &quot;\x{3092}&quot;
+            chunk 1 (vertical) text run 17 at (224.81,177.96) startOffset 16 endOffset 17 height 17.39: &quot;\x{98DF}&quot;
+            chunk 1 (vertical) text run 18 at (224.81,195.35) startOffset 17 endOffset 18 height 17.39: &quot;\x{3079}&quot;
+            chunk 1 (vertical) text run 19 at (224.81,212.75) startOffset 18 endOffset 19 height 17.39: &quot;\x{3089}&quot;
+            chunk 1 (vertical) text run 20 at (224.81,230.14) startOffset 19 endOffset 20 height 17.39: &quot;\x{308C}&quot;
+            chunk 1 (vertical) text run 21 at (224.81,247.54) startOffset 20 endOffset 21 height 17.39: &quot;\x{307E}&quot;
+            chunk 1 (vertical) text run 22 at (224.81,264.93) startOffset 21 endOffset 22 height 17.39: &quot;\x{3059}&quot;
+            chunk 1 (vertical) text run 23 at (224.81,282.32) startOffset 22 endOffset 23 height 17.39: &quot;\x{3002}&quot;
+            chunk 1 (vertical) text run 24 at (224.81,299.72) startOffset 23 endOffset 24 height 17.39: &quot;\x{305D}&quot;
+            chunk 1 (vertical) text run 25 at (224.81,317.11) startOffset 24 endOffset 25 height 17.39: &quot;\x{308C}&quot;
+            chunk 1 (vertical) text run 26 at (224.81,334.51) startOffset 25 endOffset 26 height 17.39: &quot;\x{306F}&quot;
+            chunk 1 (vertical) text run 27 at (224.81,351.90) startOffset 26 endOffset 27 height 17.39: &quot;\x{79C1}&quot;
+            chunk 1 (vertical) text run 28 at (224.81,369.29) startOffset 27 endOffset 28 height 17.39: &quot;\x{3092}&quot;
+            chunk 1 (vertical) text run 29 at (224.81,386.69) startOffset 28 endOffset 29 height 17.39: &quot;\x{50B7}&quot;
+            chunk 1 (vertical) text run 30 at (224.81,404.08) startOffset 29 endOffset 30 height 17.39: &quot;\x{3064}&quot;
+            chunk 1 (vertical) text run 31 at (224.81,421.48) startOffset 30 endOffset 31 height 17.39: &quot;\x{3051}&quot;
+            chunk 1 (vertical) text run 32 at (224.81,438.87) startOffset 31 endOffset 32 height 17.39: &quot;\x{307E}&quot;
+            chunk 1 (vertical) text run 33 at (224.81,456.26) startOffset 32 endOffset 33 height 17.39: &quot;\x{305B}&quot;
+            chunk 1 (vertical) text run 34 at (224.81,473.66) startOffset 33 endOffset 34 height 17.39: &quot;\x{3093}&quot;
+            chunk 1 (vertical) text run 35 at (224.81,491.05) startOffset 34 endOffset 35 height 17.39: &quot;\x{3002}&quot;
</ins><span class="cx">         RenderSVGText {text} at (365,13) size 10x469 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 10x469
</span><del>-            chunk 1 (vertical) text run 1 at (366.01,13.00) startOffset 0 endOffset 1 height 13.40: &quot;J&quot;
-            chunk 1 (vertical) text run 2 at (366.01,26.40) startOffset 1 endOffset 2 height 13.40: &quot;a&quot;
-            chunk 1 (vertical) text run 3 at (366.01,39.80) startOffset 2 endOffset 3 height 13.40: &quot;p&quot;
-            chunk 1 (vertical) text run 4 at (366.01,53.20) startOffset 3 endOffset 4 height 13.40: &quot;a&quot;
-            chunk 1 (vertical) text run 5 at (366.01,66.59) startOffset 4 endOffset 5 height 13.40: &quot;n&quot;
-            chunk 1 (vertical) text run 6 at (366.01,79.99) startOffset 5 endOffset 6 height 13.40: &quot;e&quot;
-            chunk 1 (vertical) text run 7 at (366.01,93.39) startOffset 6 endOffset 7 height 13.40: &quot;s&quot;
-            chunk 1 (vertical) text run 8 at (366.01,106.79) startOffset 7 endOffset 8 height 13.40: &quot;e&quot;
-            chunk 1 (vertical) text run 9 at (366.01,120.19) startOffset 8 endOffset 9 height 13.40: &quot;:&quot;
-            chunk 1 (vertical) text run 10 at (366.01,133.59) startOffset 9 endOffset 10 height 13.40: &quot; &quot;
-            chunk 1 (vertical) text run 11 at (366.01,146.98) startOffset 10 endOffset 11 height 13.40: &quot;\x{79C1}&quot;
-            chunk 1 (vertical) text run 12 at (366.01,160.38) startOffset 11 endOffset 12 height 13.40: &quot;\x{306F}&quot;
-            chunk 1 (vertical) text run 13 at (366.01,173.78) startOffset 12 endOffset 13 height 13.40: &quot;\x{30AC}&quot;
-            chunk 1 (vertical) text run 14 at (366.01,187.18) startOffset 13 endOffset 14 height 13.40: &quot;\x{30E9}&quot;
-            chunk 1 (vertical) text run 15 at (366.01,200.58) startOffset 14 endOffset 15 height 13.40: &quot;\x{30B9}&quot;
-            chunk 1 (vertical) text run 16 at (366.01,213.98) startOffset 15 endOffset 16 height 13.40: &quot;\x{3092}&quot;
-            chunk 1 (vertical) text run 17 at (366.01,227.38) startOffset 16 endOffset 17 height 13.40: &quot;\x{98DF}&quot;
-            chunk 1 (vertical) text run 18 at (366.01,240.77) startOffset 17 endOffset 18 height 13.40: &quot;\x{3079}&quot;
-            chunk 1 (vertical) text run 19 at (366.01,254.17) startOffset 18 endOffset 19 height 13.40: &quot;\x{3089}&quot;
-            chunk 1 (vertical) text run 20 at (366.01,267.57) startOffset 19 endOffset 20 height 13.40: &quot;\x{308C}&quot;
-            chunk 1 (vertical) text run 21 at (366.01,280.97) startOffset 20 endOffset 21 height 13.40: &quot;\x{307E}&quot;
-            chunk 1 (vertical) text run 22 at (366.01,294.37) startOffset 21 endOffset 22 height 13.40: &quot;\x{3059}&quot;
-            chunk 1 (vertical) text run 23 at (366.01,307.77) startOffset 22 endOffset 23 height 13.40: &quot;\x{3002}&quot;
-            chunk 1 (vertical) text run 24 at (366.01,321.16) startOffset 23 endOffset 24 height 13.40: &quot;\x{305D}&quot;
-            chunk 1 (vertical) text run 25 at (366.01,334.56) startOffset 24 endOffset 25 height 13.40: &quot;\x{308C}&quot;
-            chunk 1 (vertical) text run 26 at (366.01,347.96) startOffset 25 endOffset 26 height 13.40: &quot;\x{306F}&quot;
-            chunk 1 (vertical) text run 27 at (366.01,361.36) startOffset 26 endOffset 27 height 13.40: &quot;\x{79C1}&quot;
-            chunk 1 (vertical) text run 28 at (366.01,374.76) startOffset 27 endOffset 28 height 13.40: &quot;\x{3092}&quot;
-            chunk 1 (vertical) text run 29 at (366.01,388.16) startOffset 28 endOffset 29 height 13.40: &quot;\x{50B7}&quot;
-            chunk 1 (vertical) text run 30 at (366.01,401.55) startOffset 29 endOffset 30 height 13.40: &quot;\x{3064}&quot;
-            chunk 1 (vertical) text run 31 at (366.01,414.95) startOffset 30 endOffset 31 height 13.40: &quot;\x{3051}&quot;
-            chunk 1 (vertical) text run 32 at (366.01,428.35) startOffset 31 endOffset 32 height 13.40: &quot;\x{307E}&quot;
-            chunk 1 (vertical) text run 33 at (366.01,441.75) startOffset 32 endOffset 33 height 13.40: &quot;\x{305B}&quot;
-            chunk 1 (vertical) text run 34 at (366.01,455.15) startOffset 33 endOffset 34 height 13.40: &quot;\x{3093}&quot;
-            chunk 1 (vertical) text run 35 at (366.01,468.55) startOffset 34 endOffset 35 height 13.40: &quot;\x{3002}&quot;
</del><ins>+            chunk 1 (vertical) text run 1 at (366.01,13.00) startOffset 0 endOffset 1 height 13.38: &quot;J&quot;
+            chunk 1 (vertical) text run 2 at (366.01,26.38) startOffset 1 endOffset 2 height 13.38: &quot;a&quot;
+            chunk 1 (vertical) text run 3 at (366.01,39.76) startOffset 2 endOffset 3 height 13.38: &quot;p&quot;
+            chunk 1 (vertical) text run 4 at (366.01,53.14) startOffset 3 endOffset 4 height 13.38: &quot;a&quot;
+            chunk 1 (vertical) text run 5 at (366.01,66.52) startOffset 4 endOffset 5 height 13.38: &quot;n&quot;
+            chunk 1 (vertical) text run 6 at (366.01,79.90) startOffset 5 endOffset 6 height 13.38: &quot;e&quot;
+            chunk 1 (vertical) text run 7 at (366.01,93.28) startOffset 6 endOffset 7 height 13.38: &quot;s&quot;
+            chunk 1 (vertical) text run 8 at (366.01,106.66) startOffset 7 endOffset 8 height 13.38: &quot;e&quot;
+            chunk 1 (vertical) text run 9 at (366.01,120.04) startOffset 8 endOffset 9 height 13.38: &quot;:&quot;
+            chunk 1 (vertical) text run 10 at (366.01,133.42) startOffset 9 endOffset 10 height 13.38: &quot; &quot;
+            chunk 1 (vertical) text run 11 at (366.01,146.80) startOffset 10 endOffset 11 height 13.38: &quot;\x{79C1}&quot;
+            chunk 1 (vertical) text run 12 at (366.01,160.18) startOffset 11 endOffset 12 height 13.38: &quot;\x{306F}&quot;
+            chunk 1 (vertical) text run 13 at (366.01,173.56) startOffset 12 endOffset 13 height 13.38: &quot;\x{30AC}&quot;
+            chunk 1 (vertical) text run 14 at (366.01,186.94) startOffset 13 endOffset 14 height 13.38: &quot;\x{30E9}&quot;
+            chunk 1 (vertical) text run 15 at (366.01,200.32) startOffset 14 endOffset 15 height 13.38: &quot;\x{30B9}&quot;
+            chunk 1 (vertical) text run 16 at (366.01,213.70) startOffset 15 endOffset 16 height 13.38: &quot;\x{3092}&quot;
+            chunk 1 (vertical) text run 17 at (366.01,227.08) startOffset 16 endOffset 17 height 13.38: &quot;\x{98DF}&quot;
+            chunk 1 (vertical) text run 18 at (366.01,240.46) startOffset 17 endOffset 18 height 13.38: &quot;\x{3079}&quot;
+            chunk 1 (vertical) text run 19 at (366.01,253.84) startOffset 18 endOffset 19 height 13.38: &quot;\x{3089}&quot;
+            chunk 1 (vertical) text run 20 at (366.01,267.22) startOffset 19 endOffset 20 height 13.38: &quot;\x{308C}&quot;
+            chunk 1 (vertical) text run 21 at (366.01,280.60) startOffset 20 endOffset 21 height 13.38: &quot;\x{307E}&quot;
+            chunk 1 (vertical) text run 22 at (366.01,293.98) startOffset 21 endOffset 22 height 13.38: &quot;\x{3059}&quot;
+            chunk 1 (vertical) text run 23 at (366.01,307.36) startOffset 22 endOffset 23 height 13.38: &quot;\x{3002}&quot;
+            chunk 1 (vertical) text run 24 at (366.01,320.74) startOffset 23 endOffset 24 height 13.38: &quot;\x{305D}&quot;
+            chunk 1 (vertical) text run 25 at (366.01,334.12) startOffset 24 endOffset 25 height 13.38: &quot;\x{308C}&quot;
+            chunk 1 (vertical) text run 26 at (366.01,347.50) startOffset 25 endOffset 26 height 13.38: &quot;\x{306F}&quot;
+            chunk 1 (vertical) text run 27 at (366.01,360.88) startOffset 26 endOffset 27 height 13.38: &quot;\x{79C1}&quot;
+            chunk 1 (vertical) text run 28 at (366.01,374.26) startOffset 27 endOffset 28 height 13.38: &quot;\x{3092}&quot;
+            chunk 1 (vertical) text run 29 at (366.01,387.64) startOffset 28 endOffset 29 height 13.38: &quot;\x{50B7}&quot;
+            chunk 1 (vertical) text run 30 at (366.01,401.02) startOffset 29 endOffset 30 height 13.38: &quot;\x{3064}&quot;
+            chunk 1 (vertical) text run 31 at (366.01,414.40) startOffset 30 endOffset 31 height 13.38: &quot;\x{3051}&quot;
+            chunk 1 (vertical) text run 32 at (366.01,427.78) startOffset 31 endOffset 32 height 13.38: &quot;\x{307E}&quot;
+            chunk 1 (vertical) text run 33 at (366.01,441.16) startOffset 32 endOffset 33 height 13.38: &quot;\x{305B}&quot;
+            chunk 1 (vertical) text run 34 at (366.01,454.54) startOffset 33 endOffset 34 height 13.38: &quot;\x{3093}&quot;
+            chunk 1 (vertical) text run 35 at (366.01,467.92) startOffset 34 endOffset 35 height 13.38: &quot;\x{3002}&quot;
</ins><span class="cx">         RenderSVGText {text} at (98,80) size 44x174 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 43x174
</span><del>-            chunk 1 (vertical) text run 1 at (107.23,80.00) startOffset 0 endOffset 1 height 42.88: &quot;x&quot;
-            chunk 1 (vertical) text run 2 at (107.23,96.00) startOffset 1 endOffset 2 height 42.88: &quot;t&quot;
-            chunk 1 (vertical) text run 3 at (107.23,104.89) startOffset 2 endOffset 3 height 42.88: &quot; &quot;
-            chunk 1 (vertical) text run 4 at (107.23,113.78) startOffset 3 endOffset 4 height 42.88: &quot;\&quot;&quot;
-            chunk 1 (vertical) text run 5 at (107.23,125.14) startOffset 4 endOffset 5 height 42.88: &quot;\x{6211}&quot;
-            chunk 1 (vertical) text run 6 at (107.23,168.02) startOffset 5 endOffset 6 height 42.88: &quot;\x{80FD}&quot;
-            chunk 1 (vertical) text run 7 at (107.23,210.89) startOffset 6 endOffset 7 height 42.88: &quot;\x{541E}&quot;
</del><ins>+            chunk 1 (vertical) text run 1 at (107.23,80.00) startOffset 0 endOffset 1 height 42.82: &quot;x&quot;
+            chunk 1 (vertical) text run 2 at (107.23,96.00) startOffset 1 endOffset 2 height 42.82: &quot;t&quot;
+            chunk 1 (vertical) text run 3 at (107.23,104.90) startOffset 2 endOffset 3 height 42.82: &quot; &quot;
+            chunk 1 (vertical) text run 4 at (107.23,113.79) startOffset 3 endOffset 4 height 42.82: &quot;\&quot;&quot;
+            chunk 1 (vertical) text run 5 at (107.23,125.15) startOffset 4 endOffset 5 height 42.82: &quot;\x{6211}&quot;
+            chunk 1 (vertical) text run 6 at (107.23,167.97) startOffset 5 endOffset 6 height 42.82: &quot;\x{80FD}&quot;
+            chunk 1 (vertical) text run 7 at (107.23,210.78) startOffset 6 endOffset 7 height 42.82: &quot;\x{541E}&quot;
</ins><span class="cx">         RenderSVGText {text} at (255,80) size 50x155 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 49x155
</span><del>-            chunk 1 (vertical) text run 1 at (265.64,80.00) startOffset 0 endOffset 1 height 48.23: &quot;s&quot;
-            chunk 1 (vertical) text run 2 at (265.64,98.00) startOffset 1 endOffset 2 height 48.23: &quot;e&quot;
-            chunk 1 (vertical) text run 3 at (265.64,118.02) startOffset 2 endOffset 3 height 48.23: &quot;:&quot;
-            chunk 1 (vertical) text run 4 at (265.64,128.02) startOffset 3 endOffset 4 height 48.23: &quot; &quot;
-            chunk 1 (vertical) text run 5 at (265.64,138.03) startOffset 4 endOffset 5 height 48.23: &quot;\x{79C1}&quot;
-            chunk 1 (vertical) text run 6 at (265.64,186.26) startOffset 5 endOffset 6 height 48.23: &quot;\x{306F}&quot;
-        RenderSVGText {text} at (404,80) size 32x258 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 32x258
-            chunk 1 (vertical) text run 1 at (407.23,80.00) startOffset 0 endOffset 1 height 42.88: &quot;s&quot;
-            chunk 1 (vertical) text run 2 at (407.23,122.88) startOffset 1 endOffset 2 height 42.88: &quot;e&quot;
-            chunk 1 (vertical) text run 3 at (407.23,165.75) startOffset 2 endOffset 3 height 42.88: &quot;:&quot;
-            chunk 1 (vertical) text run 4 at (407.23,208.63) startOffset 3 endOffset 4 height 42.88: &quot; &quot;
-            chunk 1 (vertical) text run 5 at (407.23,251.50) startOffset 4 endOffset 5 height 42.88: &quot;\x{79C1}&quot;
-            chunk 1 (vertical) text run 6 at (407.23,294.38) startOffset 5 endOffset 6 height 42.88: &quot;\x{306F}&quot;
</del><ins>+            chunk 1 (vertical) text run 1 at (265.64,80.00) startOffset 0 endOffset 1 height 48.17: &quot;s&quot;
+            chunk 1 (vertical) text run 2 at (265.64,98.00) startOffset 1 endOffset 2 height 48.17: &quot;e&quot;
+            chunk 1 (vertical) text run 3 at (265.64,118.02) startOffset 2 endOffset 3 height 48.17: &quot;:&quot;
+            chunk 1 (vertical) text run 4 at (265.64,128.02) startOffset 3 endOffset 4 height 48.17: &quot; &quot;
+            chunk 1 (vertical) text run 5 at (265.64,138.03) startOffset 4 endOffset 5 height 48.17: &quot;\x{79C1}&quot;
+            chunk 1 (vertical) text run 6 at (265.64,186.20) startOffset 5 endOffset 6 height 48.17: &quot;\x{306F}&quot;
+        RenderSVGText {text} at (404,80) size 32x257 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 32x257
+            chunk 1 (vertical) text run 1 at (407.23,80.00) startOffset 0 endOffset 1 height 42.82: &quot;s&quot;
+            chunk 1 (vertical) text run 2 at (407.23,122.82) startOffset 1 endOffset 2 height 42.82: &quot;e&quot;
+            chunk 1 (vertical) text run 3 at (407.23,165.63) startOffset 2 endOffset 3 height 42.82: &quot;:&quot;
+            chunk 1 (vertical) text run 4 at (407.23,208.45) startOffset 3 endOffset 4 height 42.82: &quot; &quot;
+            chunk 1 (vertical) text run 5 at (407.23,251.26) startOffset 4 endOffset 5 height 42.82: &quot;\x{79C1}&quot;
+            chunk 1 (vertical) text run 6 at (407.23,294.08) startOffset 5 endOffset 6 height 42.82: &quot;\x{306F}&quot;
</ins><span class="cx">     RenderSVGText {text} at (10,304) size 264x46 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 264x46
</span><span class="cx">         chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 263.34: &quot;$Revision: 1.6 $&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgW3CSVG11textintro04texpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-04-t-expected.txt (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-04-t-expected.txt        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-04-t-expected.txt        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -10,29 +10,29 @@
</span><span class="cx">       RenderSVGContainer {g} at (10,41) size 449x204
</span><span class="cx">         RenderSVGText {text} at (10,41) size 307x24 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 307x23
</span><del>-            chunk 1 text run 1 at (10.00,60.00) startOffset 0 endOffset 42 width 306.11: &quot;Polish: Mog\x{119} je\x{15B}\x{107} szk\x{142}o, i mi nie szkodzi.&quot;
</del><ins>+            chunk 1 text run 1 at (10.00,60.00) startOffset 0 endOffset 42 width 306.08: &quot;Polish: Mog\x{119} je\x{15B}\x{107} szk\x{142}o, i mi nie szkodzi.&quot;
</ins><span class="cx">         RenderSVGText {text} at (10,71) size 380x24 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 380x23
</span><del>-            chunk 1 text run 1 at (10.00,90.00) startOffset 0 endOffset 47 width 379.01: &quot;Russian: \x{42F} \x{43C}\x{43E}\x{433}\x{443} \x{435}\x{441}\x{442}\x{44C} \x{441}\x{442}\x{435}\x{43A}\x{43B}\x{43E}, \x{44D}\x{442}\x{43E} \x{43C}\x{43D}\x{435} \x{43D}\x{435} \x{432}\x{440}\x{435}\x{434}\x{438}\x{442}.&quot;
</del><ins>+            chunk 1 text run 1 at (10.00,90.00) startOffset 0 endOffset 47 width 379.02: &quot;Russian: \x{42F} \x{43C}\x{43E}\x{433}\x{443} \x{435}\x{441}\x{442}\x{44C} \x{441}\x{442}\x{435}\x{43A}\x{43B}\x{43E}, \x{44D}\x{442}\x{43E} \x{43C}\x{43D}\x{435} \x{43D}\x{435} \x{432}\x{440}\x{435}\x{434}\x{438}\x{442}.&quot;
</ins><span class="cx">         RenderSVGText {text} at (10,103) size 431x22 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 431x21
</span><del>-            chunk 1 text run 1 at (10.00,120.00) startOffset 0 endOffset 57 width 430.95: &quot;Greek: \x{39C}\x{3C0}\x{3BF}\x{3C1}\x{3CE} \x{3BD}\x{3B1} \x{3C6}\x{3AC}\x{3C9} \x{3C3}\x{3C0}\x{3B1}\x{3C3}\x{3BC}\x{3AD}\x{3BD}\x{3B1} \x{3B3}\x{3C5}\x{3B1}\x{3BB}\x{3B9}\x{3AC} \x{3C7}\x{3C9}\x{3C1}\x{3AF}\x{3C2} \x{3BD}\x{3B1} \x{3C0}\x{3AC}\x{3B8}\x{3C9} \x{3C4}\x{3AF}\x{3C0}\x{3BF}\x{3C4}\x{3B1}.&quot;
</del><ins>+            chunk 1 text run 1 at (10.00,120.00) startOffset 0 endOffset 57 width 430.92: &quot;Greek: \x{39C}\x{3C0}\x{3BF}\x{3C1}\x{3CE} \x{3BD}\x{3B1} \x{3C6}\x{3AC}\x{3C9} \x{3C3}\x{3C0}\x{3B1}\x{3C3}\x{3BC}\x{3AD}\x{3BD}\x{3B1} \x{3B3}\x{3C5}\x{3B1}\x{3BB}\x{3B9}\x{3AC} \x{3C7}\x{3C9}\x{3C1}\x{3AF}\x{3C2} \x{3BD}\x{3B1} \x{3C0}\x{3AC}\x{3B8}\x{3C9} \x{3C4}\x{3AF}\x{3C0}\x{3BF}\x{3C4}\x{3B1}.&quot;
</ins><span class="cx">         RenderSVGText {text} at (10,131) size 400x24 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 400x23
</span><del>-            chunk 1 text run 1 at (10.00,150.00) startOffset 0 endOffset 6 width 43.82: &quot;Text \&quot;&quot;
-            chunk 1 text run 1 at (53.82,150.00) startOffset 0 endOffset 36 width 251.04 RTL: &quot;\x{5D0}\x{5E0}\x{5D9} \x{5D9}\x{5DB}\x{5D5}\x{5DC} \x{5DC}\x{5D0}\x{5DB}\x{5D5}\x{5DC} \x{5D6}\x{5DB}\x{5D5}\x{5DB}\x{5D9}\x{5EA} \x{5D5}\x{5D6}\x{5D4} \x{5DC}\x{5D0} \x{5DE}\x{5D6}\x{5D9}\x{5E7} \x{5DC}\x{5D9}&quot;
-            chunk 1 text run 1 at (304.86,150.00) startOffset 0 endOffset 14 width 104.29: &quot;\&quot; is in Hebrew&quot;
</del><ins>+            chunk 1 text run 1 at (10.00,150.00) startOffset 0 endOffset 6 width 43.83: &quot;Text \&quot;&quot;
+            chunk 1 text run 1 at (53.83,150.00) startOffset 0 endOffset 36 width 251.07 RTL: &quot;\x{5D0}\x{5E0}\x{5D9} \x{5D9}\x{5DB}\x{5D5}\x{5DC} \x{5DC}\x{5D0}\x{5DB}\x{5D5}\x{5DC} \x{5D6}\x{5DB}\x{5D5}\x{5DB}\x{5D9}\x{5EA} \x{5D5}\x{5D6}\x{5D4} \x{5DC}\x{5D0} \x{5DE}\x{5D6}\x{5D9}\x{5E7} \x{5DC}\x{5D9}&quot;
+            chunk 1 text run 1 at (304.90,150.00) startOffset 0 endOffset 14 width 104.28: &quot;\&quot; is in Hebrew&quot;
</ins><span class="cx">         RenderSVGText {text} at (10,161) size 366x24 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 366x23
</span><del>-            chunk 1 text run 1 at (10.00,180.00) startOffset 0 endOffset 9 width 65.20: &quot;Yiddish: &quot;
-            chunk 1 text run 1 at (75.20,180.00) startOffset 0 endOffset 40 width 295.62 RTL: &quot;\x{5D0}\x{5D9}\x{5DA} \x{5E7}\x{5E2}\x{5DF} \x{5E2}\x{5E1}\x{5DF} \x{5D2}\x{5DC}\x{5D0}\x{5B8}\x{5D6} \x{5D0}\x{5D5}\x{5DF} \x{5E2}\x{5E1} \x{5D8}\x{5D5}\x{5D8} \x{5DE}\x{5D9}\x{5E8} \x{5E0}\x{5D9}\x{5E9}\x{5D8} \x{5F0}\x{5F2}&quot;
-            chunk 1 text run 1 at (370.82,180.00) startOffset 0 endOffset 1 width 4.72: &quot;.&quot;
</del><ins>+            chunk 1 text run 1 at (10.00,180.00) startOffset 0 endOffset 9 width 65.19: &quot;Yiddish: &quot;
+            chunk 1 text run 1 at (75.19,180.00) startOffset 0 endOffset 40 width 295.65 RTL: &quot;\x{5D0}\x{5D9}\x{5DA} \x{5E7}\x{5E2}\x{5DF} \x{5E2}\x{5E1}\x{5DF} \x{5D2}\x{5DC}\x{5D0}\x{5B8}\x{5D6} \x{5D0}\x{5D5}\x{5DF} \x{5E2}\x{5E1} \x{5D8}\x{5D5}\x{5D8} \x{5DE}\x{5D9}\x{5E8} \x{5E0}\x{5D9}\x{5E9}\x{5D8} \x{5F0}\x{5F2}&quot;
+            chunk 1 text run 1 at (370.84,180.00) startOffset 0 endOffset 1 width 4.73: &quot;.&quot;
</ins><span class="cx">         RenderSVGText {text} at (10,191) size 272x24 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 272x23
</span><del>-            chunk 1 text run 1 at (10.00,210.00) startOffset 0 endOffset 20 width 271.10: &quot;Chinese:\x{6211}\x{80FD}\x{541E}\x{4E0B}\x{73BB}\x{7483}\x{800C}\x{4E0D}\x{4F24}\x{8EAB}\x{4F53}\x{3002}&quot;
</del><ins>+            chunk 1 text run 1 at (10.00,210.00) startOffset 0 endOffset 20 width 271.08: &quot;Chinese:\x{6211}\x{80FD}\x{541E}\x{4E0B}\x{73BB}\x{7483}\x{800C}\x{4E0D}\x{4F24}\x{8EAB}\x{4F53}\x{3002}&quot;
</ins><span class="cx">         RenderSVGText {text} at (10,223) size 449x22 contains 1 chunk(s)
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 449x21
</span><del>-            chunk 1 text run 1 at (10.00,240.00) startOffset 0 endOffset 35 width 448.39: &quot;Japanese: \x{79C1}\x{306F}\x{30AC}\x{30E9}\x{30B9}\x{3092}\x{98DF}\x{3079}\x{3089}\x{308C}\x{307E}\x{3059}\x{3002}\x{305D}\x{308C}\x{306F}\x{79C1}\x{3092}\x{50B7}\x{3064}\x{3051}\x{307E}\x{305B}\x{3093}\x{3002}&quot;
</del><ins>+            chunk 1 text run 1 at (10.00,240.00) startOffset 0 endOffset 35 width 448.38: &quot;Japanese: \x{79C1}\x{306F}\x{30AC}\x{30E9}\x{30B9}\x{3092}\x{98DF}\x{3079}\x{3089}\x{308C}\x{307E}\x{3059}\x{3002}\x{305D}\x{308C}\x{306F}\x{79C1}\x{3092}\x{50B7}\x{3064}\x{3051}\x{307E}\x{305B}\x{3093}\x{3002}&quot;
</ins><span class="cx">     RenderSVGText {text} at (10,304) size 284x46 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 284x46
</span><span class="cx">         chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 17 width 283.34: &quot;$Revision: 1.10 $&quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgbatiktexttextEffect3expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/batik/text/textEffect3-expected.txt (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/batik/text/textEffect3-expected.txt        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/platform/mac/svg/batik/text/textEffect3-expected.txt        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -38,18 +38,18 @@
</span><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderSVGText {text} at (263,92) size 148x80 contains 1 chunk(s)
</span><span class="cx">         RenderSVGInlineText {#text} at (0,20) size 36x60
</span><del>-          chunk 1 (middle anchor) text run 1 at (263.90,160.00) startOffset 0 endOffset 1 width 35.35: &quot;B&quot;
</del><ins>+          chunk 1 (middle anchor) text run 1 at (263.89,160.00) startOffset 0 endOffset 1 width 35.35: &quot;B&quot;
</ins><span class="cx">         RenderSVGTSpan {tspan} at (0,0) size 19x31
</span><span class="cx">           RenderSVGInlineText {#text} at (35,23) size 19x31
</span><del>-            chunk 1 (middle anchor) text run 1 at (299.25,140.00) startOffset 0 endOffset 1 width 18.01: &quot;A&quot;
</del><ins>+            chunk 1 (middle anchor) text run 1 at (299.24,140.00) startOffset 0 endOffset 1 width 18.01: &quot;A&quot;
</ins><span class="cx">         RenderSVGInlineText {#text} at (53,0) size 33x60
</span><del>-          chunk 1 (middle anchor) text run 1 at (317.26,140.00) startOffset 0 endOffset 1 width 32.37: &quot;T&quot;
</del><ins>+          chunk 1 (middle anchor) text run 1 at (317.25,140.00) startOffset 0 endOffset 1 width 32.38: &quot;T&quot;
</ins><span class="cx">         RenderSVGTSpan {tspan} at (0,0) size 12x46
</span><span class="cx">           RenderSVGInlineText {#text} at (85,11) size 12x45
</span><del>-            chunk 1 (middle anchor) text run 1 at (349.64,140.00) startOffset 0 endOffset 1 width 11.11: &quot;I&quot;
</del><ins>+            chunk 1 (middle anchor) text run 1 at (349.64,140.00) startOffset 0 endOffset 1 width 11.12: &quot;I&quot;
</ins><span class="cx">         RenderSVGTSpan {tspan} at (0,0) size 54x69
</span><span class="cx">           RenderSVGInlineText {#text} at (93,2) size 54x68
</span><del>-            chunk 1 (middle anchor) text run 1 at (360.75,140.00) startOffset 0 endOffset 1 width 35.35: &quot;K&quot;
</del><ins>+            chunk 1 (middle anchor) text run 1 at (360.76,140.00) startOffset 0 endOffset 1 width 35.35: &quot;K&quot;
</ins><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderSVGText {text} at (53,192) size 148x80 contains 1 chunk(s)
</span><span class="cx">         RenderSVGInlineText {#text} at (0,20) size 36x60
</span><span class="lines">@@ -68,18 +68,18 @@
</span><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderSVGText {text} at (263,192) size 148x80 contains 1 chunk(s)
</span><span class="cx">         RenderSVGInlineText {#text} at (0,20) size 36x60
</span><del>-          chunk 1 (middle anchor) text run 1 at (263.90,260.00) startOffset 0 endOffset 1 width 35.35: &quot;B&quot;
</del><ins>+          chunk 1 (middle anchor) text run 1 at (263.89,260.00) startOffset 0 endOffset 1 width 35.35: &quot;B&quot;
</ins><span class="cx">         RenderSVGTSpan {tspan} at (0,0) size 19x31
</span><span class="cx">           RenderSVGInlineText {#text} at (35,23) size 19x31
</span><del>-            chunk 1 (middle anchor) text run 1 at (299.25,240.00) startOffset 0 endOffset 1 width 18.01: &quot;A&quot;
</del><ins>+            chunk 1 (middle anchor) text run 1 at (299.24,240.00) startOffset 0 endOffset 1 width 18.01: &quot;A&quot;
</ins><span class="cx">         RenderSVGInlineText {#text} at (53,0) size 33x60
</span><del>-          chunk 1 (middle anchor) text run 1 at (317.26,240.00) startOffset 0 endOffset 1 width 32.37: &quot;T&quot;
</del><ins>+          chunk 1 (middle anchor) text run 1 at (317.25,240.00) startOffset 0 endOffset 1 width 32.38: &quot;T&quot;
</ins><span class="cx">         RenderSVGTSpan {tspan} at (0,0) size 12x46
</span><span class="cx">           RenderSVGInlineText {#text} at (85,11) size 12x45
</span><del>-            chunk 1 (middle anchor) text run 1 at (349.64,240.00) startOffset 0 endOffset 1 width 11.11: &quot;I&quot;
</del><ins>+            chunk 1 (middle anchor) text run 1 at (349.64,240.00) startOffset 0 endOffset 1 width 11.12: &quot;I&quot;
</ins><span class="cx">         RenderSVGTSpan {tspan} at (0,0) size 54x69
</span><span class="cx">           RenderSVGInlineText {#text} at (93,2) size 54x68
</span><del>-            chunk 1 (middle anchor) text run 1 at (360.75,240.00) startOffset 0 endOffset 1 width 35.35: &quot;K&quot;
</del><ins>+            chunk 1 (middle anchor) text run 1 at (360.76,240.00) startOffset 0 endOffset 1 width 35.35: &quot;K&quot;
</ins><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderSVGText {text} at (53,292) size 148x80 contains 1 chunk(s)
</span><span class="cx">         [filter=&quot;dropShadow&quot;] RenderSVGResourceFilter {filter} at (39.24,284.09) size 175.80x95.06
</span><span class="lines">@@ -101,22 +101,22 @@
</span><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 0x0
</span><span class="cx">           [filter=&quot;dropShadow&quot;] RenderSVGResourceFilter {filter} at (-45,-50) size 540x600
</span><span class="cx">       RenderSVGText {text} at (263,292) size 148x80 contains 1 chunk(s)
</span><del>-        [filter=&quot;dropShadow&quot;] RenderSVGResourceFilter {filter} at (249.24,284.09) size 175.80x95.06
</del><ins>+        [filter=&quot;dropShadow&quot;] RenderSVGResourceFilter {filter} at (249.24,284.12) size 175.80x94.99
</ins><span class="cx">         RenderSVGInlineText {#text} at (0,20) size 36x60
</span><del>-          [filter=&quot;dropShadow&quot;] RenderSVGResourceFilter {filter} at (260.37,306.10) size 42.42x71.05
-          chunk 1 (middle anchor) text run 1 at (263.90,360.00) startOffset 0 endOffset 1 width 35.35: &quot;B&quot;
</del><ins>+          [filter=&quot;dropShadow&quot;] RenderSVGResourceFilter {filter} at (260.36,306.12) size 42.42x70.98
+          chunk 1 (middle anchor) text run 1 at (263.89,360.00) startOffset 0 endOffset 1 width 35.35: &quot;B&quot;
</ins><span class="cx">         RenderSVGTSpan {tspan} at (0,0) size 19x31
</span><span class="cx">           RenderSVGInlineText {#text} at (35,23) size 19x31
</span><del>-            chunk 1 (middle anchor) text run 1 at (299.25,340.00) startOffset 0 endOffset 1 width 18.01: &quot;A&quot;
</del><ins>+            chunk 1 (middle anchor) text run 1 at (299.24,340.00) startOffset 0 endOffset 1 width 18.01: &quot;A&quot;
</ins><span class="cx">         RenderSVGInlineText {#text} at (53,0) size 33x60
</span><del>-          [filter=&quot;dropShadow&quot;] RenderSVGResourceFilter {filter} at (314.02,286.10) size 38.85x71.05
-          chunk 1 (middle anchor) text run 1 at (317.26,340.00) startOffset 0 endOffset 1 width 32.37: &quot;T&quot;
</del><ins>+          [filter=&quot;dropShadow&quot;] RenderSVGResourceFilter {filter} at (314.01,286.12) size 38.86x70.98
+          chunk 1 (middle anchor) text run 1 at (317.25,340.00) startOffset 0 endOffset 1 width 32.38: &quot;T&quot;
</ins><span class="cx">         RenderSVGTSpan {tspan} at (0,0) size 12x46
</span><span class="cx">           RenderSVGInlineText {#text} at (85,11) size 12x45
</span><del>-            chunk 1 (middle anchor) text run 1 at (349.64,340.00) startOffset 0 endOffset 1 width 11.11: &quot;I&quot;
</del><ins>+            chunk 1 (middle anchor) text run 1 at (349.64,340.00) startOffset 0 endOffset 1 width 11.12: &quot;I&quot;
</ins><span class="cx">         RenderSVGTSpan {tspan} at (0,0) size 54x69
</span><span class="cx">           RenderSVGInlineText {#text} at (93,2) size 54x68
</span><del>-            chunk 1 (middle anchor) text run 1 at (360.75,340.00) startOffset 0 endOffset 1 width 35.35: &quot;K&quot;
</del><ins>+            chunk 1 (middle anchor) text run 1 at (360.76,340.00) startOffset 0 endOffset 1 width 35.35: &quot;K&quot;
</ins><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 0x0
</span><span class="cx">           [filter=&quot;dropShadow&quot;] RenderSVGResourceFilter {filter} at (-45,-50) size 540x600
</span><span class="cx">       RenderSVGText {text} at (87,389) size 66x14 contains 1 chunk(s)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgbatiktexttextPosition2expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/batik/text/textPosition2-expected.txt (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/batik/text/textPosition2-expected.txt        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/platform/mac/svg/batik/text/textPosition2-expected.txt        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -9,24 +9,24 @@
</span><span class="cx">     RenderSVGContainer {g} at (50,58) size 388x296
</span><span class="cx">       RenderSVGText {text} at (50,58) size 54x28 contains 1 chunk(s)
</span><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 54x27
</span><del>-          chunk 1 text run 1 at (50.00,80.00) startOffset 0 endOffset 5 width 53.36: &quot;Batik&quot;
</del><ins>+          chunk 1 text run 1 at (50.00,80.00) startOffset 0 endOffset 5 width 53.35: &quot;Batik&quot;
</ins><span class="cx">       RenderSVGText {text} at (50,90) size 98x13 contains 1 chunk(s)
</span><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 98x12
</span><span class="cx">           chunk 1 text run 1 at (50.00,100.00) startOffset 0 endOffset 21 width 97.04: &quot;&lt;text x=\&quot;100\&quot; y=\&quot;80\&quot;&gt;&quot;
</span><span class="cx">       RenderSVGText {text} at (240,58) size 134x28 contains 1 chunk(s)
</span><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 134x27
</span><span class="cx">           chunk 1 text run 1 at (240.00,80.00) startOffset 0 endOffset 1 width 16.01: &quot;B&quot;
</span><del>-          chunk 1 text run 2 at (276.01,80.00) startOffset 1 endOffset 2 width 13.35: &quot;a&quot;
-          chunk 1 text run 3 at (309.36,80.00) startOffset 2 endOffset 3 width 6.67: &quot;t&quot;
</del><ins>+          chunk 1 text run 2 at (276.01,80.00) startOffset 1 endOffset 2 width 13.34: &quot;a&quot;
+          chunk 1 text run 3 at (309.35,80.00) startOffset 2 endOffset 3 width 6.67: &quot;t&quot;
</ins><span class="cx">           chunk 1 text run 4 at (336.02,80.00) startOffset 3 endOffset 4 width 5.33: &quot;i&quot;
</span><del>-          chunk 1 text run 5 at (361.36,80.00) startOffset 4 endOffset 5 width 12.00: &quot;k&quot;
</del><ins>+          chunk 1 text run 5 at (361.35,80.00) startOffset 4 endOffset 5 width 12.00: &quot;k&quot;
</ins><span class="cx">       RenderSVGText {text} at (240,90) size 184x13 contains 1 chunk(s)
</span><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 184x12
</span><span class="cx">           chunk 1 text run 1 at (240.00,100.00) startOffset 0 endOffset 41 width 183.91: &quot;&lt;text x=\&quot;240\&quot; y=\&quot;80\&quot; letter-spacing=\&quot;20\&quot;&gt;&quot;
</span><span class="cx">       RenderSVGText {text} at (50,118) size 92x28 contains 1 chunk(s)
</span><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 92x27
</span><span class="cx">           chunk 1 text run 1 at (50.00,140.00) startOffset 0 endOffset 1 width 16.01: &quot;B&quot;
</span><del>-          chunk 1 text run 1 at (70.00,140.00) startOffset 0 endOffset 1 width 13.35: &quot;a&quot;
</del><ins>+          chunk 1 text run 1 at (70.00,140.00) startOffset 0 endOffset 1 width 13.34: &quot;a&quot;
</ins><span class="cx">           chunk 1 text run 1 at (90.00,140.00) startOffset 0 endOffset 1 width 6.67: &quot;t&quot;
</span><span class="cx">           chunk 1 text run 1 at (110.00,140.00) startOffset 0 endOffset 1 width 5.33: &quot;i&quot;
</span><span class="cx">           chunk 1 text run 1 at (130.00,140.00) startOffset 0 endOffset 1 width 12.00: &quot;k&quot;
</span><span class="lines">@@ -36,17 +36,17 @@
</span><span class="cx">       RenderSVGText {text} at (240,118) size 134x28 contains 1 chunk(s)
</span><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 134x27
</span><span class="cx">           chunk 1 text run 1 at (240.00,140.00) startOffset 0 endOffset 1 width 16.01: &quot;B&quot;
</span><del>-          chunk 1 text run 2 at (276.01,140.00) startOffset 1 endOffset 2 width 13.35: &quot;a&quot;
-          chunk 1 text run 3 at (309.36,140.00) startOffset 2 endOffset 3 width 6.67: &quot;t&quot;
</del><ins>+          chunk 1 text run 2 at (276.01,140.00) startOffset 1 endOffset 2 width 13.34: &quot;a&quot;
+          chunk 1 text run 3 at (309.35,140.00) startOffset 2 endOffset 3 width 6.67: &quot;t&quot;
</ins><span class="cx">           chunk 1 text run 4 at (336.02,140.00) startOffset 3 endOffset 4 width 5.33: &quot;i&quot;
</span><del>-          chunk 1 text run 5 at (361.36,140.00) startOffset 4 endOffset 5 width 12.00: &quot;k&quot;
</del><ins>+          chunk 1 text run 5 at (361.35,140.00) startOffset 4 endOffset 5 width 12.00: &quot;k&quot;
</ins><span class="cx">       RenderSVGText {text} at (240,150) size 164x13 contains 1 chunk(s)
</span><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 164x12
</span><span class="cx">           chunk 1 text run 1 at (240.00,160.00) startOffset 0 endOffset 35 width 163.77: &quot;&lt;text dx=\&quot;240 20 20 20 20\&quot; y=\&quot;140\&quot;&gt;&quot;
</span><span class="cx">       RenderSVGText {text} at (50,178) size 54x28 contains 1 chunk(s)
</span><span class="cx">         RenderSVGTSpan {tspan} at (0,0) size 54x27
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 54x27
</span><del>-            chunk 1 text run 1 at (50.00,200.00) startOffset 0 endOffset 5 width 53.36: &quot;Batik&quot;
</del><ins>+            chunk 1 text run 1 at (50.00,200.00) startOffset 0 endOffset 5 width 53.35: &quot;Batik&quot;
</ins><span class="cx">       RenderSVGText {text} at (50,210) size 106x13 contains 1 chunk(s)
</span><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 106x12
</span><span class="cx">           chunk 1 text run 1 at (50.00,220.00) startOffset 0 endOffset 22 width 105.39: &quot;&lt;tspan x=\&quot;50\&quot; y=\&quot;200\&quot;&gt;&quot;
</span><span class="lines">@@ -54,10 +54,10 @@
</span><span class="cx">         RenderSVGTSpan {tspan} at (0,0) size 134x27
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 134x27
</span><span class="cx">             chunk 1 text run 1 at (240.00,200.00) startOffset 0 endOffset 1 width 16.01: &quot;B&quot;
</span><del>-            chunk 1 text run 2 at (276.01,200.00) startOffset 1 endOffset 2 width 13.35: &quot;a&quot;
-            chunk 1 text run 3 at (309.36,200.00) startOffset 2 endOffset 3 width 6.67: &quot;t&quot;
</del><ins>+            chunk 1 text run 2 at (276.01,200.00) startOffset 1 endOffset 2 width 13.34: &quot;a&quot;
+            chunk 1 text run 3 at (309.35,200.00) startOffset 2 endOffset 3 width 6.67: &quot;t&quot;
</ins><span class="cx">             chunk 1 text run 4 at (336.02,200.00) startOffset 3 endOffset 4 width 5.33: &quot;i&quot;
</span><del>-            chunk 1 text run 5 at (361.36,200.00) startOffset 4 endOffset 5 width 12.00: &quot;k&quot;
</del><ins>+            chunk 1 text run 5 at (361.35,200.00) startOffset 4 endOffset 5 width 12.00: &quot;k&quot;
</ins><span class="cx">       RenderSVGText {text} at (240,210) size 198x13 contains 1 chunk(s)
</span><span class="cx">         RenderSVGTSpan {tspan} at (0,0) size 198x12
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 198x12
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx">         RenderSVGTSpan {tspan} at (0,0) size 92x27
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 92x27
</span><span class="cx">             chunk 1 text run 1 at (50.00,260.00) startOffset 0 endOffset 1 width 16.01: &quot;B&quot;
</span><del>-            chunk 1 text run 1 at (70.00,260.00) startOffset 0 endOffset 1 width 13.35: &quot;a&quot;
</del><ins>+            chunk 1 text run 1 at (70.00,260.00) startOffset 0 endOffset 1 width 13.34: &quot;a&quot;
</ins><span class="cx">             chunk 1 text run 1 at (90.00,260.00) startOffset 0 endOffset 1 width 6.67: &quot;t&quot;
</span><span class="cx">             chunk 1 text run 1 at (110.00,260.00) startOffset 0 endOffset 1 width 5.33: &quot;i&quot;
</span><span class="cx">             chunk 1 text run 1 at (130.00,260.00) startOffset 0 endOffset 1 width 12.00: &quot;k&quot;
</span><span class="lines">@@ -77,10 +77,10 @@
</span><span class="cx">         RenderSVGTSpan {tspan} at (0,0) size 134x27
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 134x27
</span><span class="cx">             chunk 1 text run 1 at (240.00,260.00) startOffset 0 endOffset 1 width 16.01: &quot;B&quot;
</span><del>-            chunk 1 text run 2 at (276.01,260.00) startOffset 1 endOffset 2 width 13.35: &quot;a&quot;
-            chunk 1 text run 3 at (309.36,260.00) startOffset 2 endOffset 3 width 6.67: &quot;t&quot;
</del><ins>+            chunk 1 text run 2 at (276.01,260.00) startOffset 1 endOffset 2 width 13.34: &quot;a&quot;
+            chunk 1 text run 3 at (309.35,260.00) startOffset 2 endOffset 3 width 6.67: &quot;t&quot;
</ins><span class="cx">             chunk 1 text run 4 at (336.02,260.00) startOffset 3 endOffset 4 width 5.33: &quot;i&quot;
</span><del>-            chunk 1 text run 5 at (361.36,260.00) startOffset 4 endOffset 5 width 12.00: &quot;k&quot;
</del><ins>+            chunk 1 text run 5 at (361.35,260.00) startOffset 4 endOffset 5 width 12.00: &quot;k&quot;
</ins><span class="cx">       RenderSVGText {text} at (240,270) size 173x13 contains 1 chunk(s)
</span><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 173x12
</span><span class="cx">           chunk 1 text run 1 at (240.00,280.00) startOffset 0 endOffset 36 width 172.11: &quot;&lt;tspan dx=\&quot;240 20 20 20 20\&quot; y=\&quot;260\&quot;&gt;&quot;
</span><span class="lines">@@ -88,7 +88,7 @@
</span><span class="cx">         RenderSVGTSpan {tspan} at (0,0) size 92x27
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 92x27
</span><span class="cx">             chunk 1 text run 1 at (50.00,320.00) startOffset 0 endOffset 1 width 16.01: &quot;B&quot;
</span><del>-            chunk 1 text run 1 at (70.00,320.00) startOffset 0 endOffset 1 width 13.35: &quot;a&quot;
</del><ins>+            chunk 1 text run 1 at (70.00,320.00) startOffset 0 endOffset 1 width 13.34: &quot;a&quot;
</ins><span class="cx">             chunk 1 text run 1 at (90.00,320.00) startOffset 0 endOffset 1 width 6.67: &quot;t&quot;
</span><span class="cx">             chunk 1 text run 1 at (110.00,320.00) startOffset 0 endOffset 1 width 5.33: &quot;i&quot;
</span><span class="cx">             chunk 1 text run 1 at (130.00,320.00) startOffset 0 endOffset 1 width 12.00: &quot;k&quot;
</span><span class="lines">@@ -102,10 +102,10 @@
</span><span class="cx">         RenderSVGTSpan {tspan} at (0,0) size 134x27
</span><span class="cx">           RenderSVGInlineText {#text} at (0,0) size 134x27
</span><span class="cx">             chunk 1 text run 1 at (240.00,320.00) startOffset 0 endOffset 1 width 16.01: &quot;B&quot;
</span><del>-            chunk 1 text run 2 at (276.01,320.00) startOffset 1 endOffset 2 width 13.35: &quot;a&quot;
-            chunk 1 text run 3 at (309.36,320.00) startOffset 2 endOffset 3 width 6.67: &quot;t&quot;
</del><ins>+            chunk 1 text run 2 at (276.01,320.00) startOffset 1 endOffset 2 width 13.34: &quot;a&quot;
+            chunk 1 text run 3 at (309.35,320.00) startOffset 2 endOffset 3 width 6.67: &quot;t&quot;
</ins><span class="cx">             chunk 1 text run 4 at (336.02,320.00) startOffset 3 endOffset 4 width 5.33: &quot;i&quot;
</span><del>-            chunk 1 text run 5 at (361.36,320.00) startOffset 4 endOffset 5 width 12.00: &quot;k&quot;
</del><ins>+            chunk 1 text run 5 at (361.35,320.00) startOffset 4 endOffset 5 width 12.00: &quot;k&quot;
</ins><span class="cx">       RenderSVGText {text} at (240,330) size 184x24 contains 1 chunk(s)
</span><span class="cx">         RenderSVGInlineText {#text} at (0,0) size 158x12
</span><span class="cx">           chunk 1 text run 1 at (240.00,340.00) startOffset 0 endOffset 34 width 157.93: &quot;&lt;tspan x=\&quot;240\&quot; dx=\&quot;0 10 10 10 10\&quot; &quot;
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacsvgwicdtestrightsizingbexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac/svg/wicd/test-rightsizing-b-expected.txt (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/svg/wicd/test-rightsizing-b-expected.txt        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/platform/mac/svg/wicd/test-rightsizing-b-expected.txt        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -22,7 +22,7 @@
</span><span class="cx">                 RenderSVGContainer {g} at (39,88) size 217x121
</span><span class="cx">                   RenderSVGText {text} at (26,60) size 148x82 contains 1 chunk(s)
</span><span class="cx">                     RenderSVGInlineText {#text} at (0,0) size 147x82
</span><del>-                      chunk 1 (middle anchor) text run 1 at (26.90,125.00) startOffset 0 endOffset 3 width 146.21: &quot;SVG&quot;
</del><ins>+                      chunk 1 (middle anchor) text run 1 at (26.89,125.00) startOffset 0 endOffset 3 width 146.23: &quot;SVG&quot;
</ins><span class="cx">           RenderText {#text} at (295,281) size 5x17
</span><span class="cx">             text run at (295,281) width 5: &quot; &quot;
</span><span class="cx">           RenderEmbeddedObject {object} at (299,147) size 149x148 [bgcolor=#FF0000]
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx">                 RenderSVGContainer {g} at (19,44) size 110x61
</span><span class="cx">                   RenderSVGText {text} at (26,59) size 148x83 contains 1 chunk(s)
</span><span class="cx">                     RenderSVGInlineText {#text} at (0,0) size 148x82
</span><del>-                      chunk 1 (middle anchor) text run 1 at (26.44,125.00) startOffset 0 endOffset 3 width 147.13: &quot;SVG&quot;
</del><ins>+                      chunk 1 (middle anchor) text run 1 at (26.43,125.00) startOffset 0 endOffset 3 width 147.15: &quot;SVG&quot;
</ins><span class="cx">           RenderText {#text} at (447,281) size 5x17
</span><span class="cx">             text run at (447,281) width 5: &quot; &quot;
</span><span class="cx">           RenderEmbeddedObject {object} at (451,221) size 75x74 [bgcolor=#FF0000]
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx">                 RenderSVGContainer {g} at (9,22) size 56x31
</span><span class="cx">                   RenderSVGText {text} at (26,59) size 148x83 contains 1 chunk(s)
</span><span class="cx">                     RenderSVGInlineText {#text} at (0,0) size 148x82
</span><del>-                      chunk 1 (middle anchor) text run 1 at (26.44,125.00) startOffset 0 endOffset 3 width 147.13: &quot;SVG&quot;
</del><ins>+                      chunk 1 (middle anchor) text run 1 at (26.43,125.00) startOffset 0 endOffset 3 width 147.15: &quot;SVG&quot;
</ins><span class="cx">           RenderText {#text} at (525,281) size 5x17
</span><span class="cx">             text run at (525,281) width 5: &quot; &quot;
</span><span class="cx">           RenderEmbeddedObject {object} at (529,258) size 38x37 [bgcolor=#FF0000]
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx">                 RenderSVGContainer {g} at (4,11) size 29x16
</span><span class="cx">                   RenderSVGText {text} at (26,59) size 148x83 contains 1 chunk(s)
</span><span class="cx">                     RenderSVGInlineText {#text} at (0,0) size 148x82
</span><del>-                      chunk 1 (middle anchor) text run 1 at (26.44,125.00) startOffset 0 endOffset 3 width 147.13: &quot;SVG&quot;
</del><ins>+                      chunk 1 (middle anchor) text run 1 at (26.43,125.00) startOffset 0 endOffset 3 width 147.15: &quot;SVG&quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><span class="cx">         RenderBlock {p} at (0,368) size 679x65
</span><span class="cx">           RenderText {#text} at (0,0) size 675x32
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmacwk2svgW3CSVG11fontselem04bexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-wk2/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-wk2/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/platform/mac-wk2/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -2,16 +2,16 @@
</span><span class="cx">   RenderView at (0,0) size 480x360
</span><span class="cx"> layer at (0,0) size 480x360
</span><span class="cx">   RenderSVGRoot {svg} at (0,0) size 480x360
</span><del>-    RenderSVGContainer {g} at (26,7) size 391x236
</del><ins>+    RenderSVGContainer {g} at (26,7) size 392x236
</ins><span class="cx">       RenderSVGHiddenContainer {defs} at (0,0) size 0x0
</span><del>-      RenderSVGText {text} at (26,7) size 391x36 contains 1 chunk(s)
-        RenderSVGInlineText {#text} at (0,0) size 391x36
-          chunk 1 text run 1 at (26.00,35.00) startOffset 0 endOffset 31 width 391.00: &quot;External SVG font element (css)&quot;
</del><ins>+      RenderSVGText {text} at (26,7) size 392x36 contains 1 chunk(s)
+        RenderSVGInlineText {#text} at (0,0) size 392x35
+          chunk 1 text run 1 at (26.00,35.00) startOffset 0 endOffset 31 width 391.55: &quot;External SVG font element (css)&quot;
</ins><span class="cx">       RenderSVGContainer {g} at (31,81) size 345x162
</span><span class="cx">         RenderSVGText {text} at (31,113) size 105x22 contains 1 chunk(s)
</span><del>-          RenderSVGInlineText {#text} at (0,0) size 105x22
-            chunk 1 text run 1 at (31.00,130.00) startOffset 0 endOffset 13 width 105.00: &quot;Placed Glyphs&quot;
-        RenderSVGContainer {g} at (164,81) size 212x162 [transform={m=((1.00,0.00)(-0.00,-1.00)) t=(165.00,140.00)}]
</del><ins>+          RenderSVGInlineText {#text} at (0,0) size 105x21
+            chunk 1 text run 1 at (31.00,130.00) startOffset 0 endOffset 13 width 104.48: &quot;Placed Glyphs&quot;
+        RenderSVGContainer {g} at (164,81) size 212x162 [transform={m=((1.00,0.00)(0.00,-1.00)) t=(165.00,140.00)}]
</ins><span class="cx">           RenderSVGPath {line} at (165,139) size 210x2 [stroke={[type=SOLID] [color=#888888]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=0.00] [x2=210.00] [y2=0.00]
</span><span class="cx">           RenderSVGContainer {g} at (164,81) size 212x162 [transform={m=((0.03,0.00)(0.00,0.03)) t=(0.00,0.00)}]
</span><span class="cx">             RenderSVGPath {line} at (164,81) size 2x162 [stroke={[type=SOLID] [color=#888888] [stroke width=50.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=-3500.00] [x2=0.00] [y2=2000.00]
</span><span class="lines">@@ -26,14 +26,14 @@
</span><span class="cx">             RenderSVGPath {path} at (346,108) size 27x46 [transform={m=((1.00,0.00)(0.00,1.00)) t=(6106.00,0.00)}] [fill={[type=SOLID] [color=#000000]}] [data=&quot;M 770 -196 C 770 -278.667 750 -340.667 710 -382 C 670 -423.333 609.333 -444.333 528 -445 C 471.333 -445 417.667 -434.333 367 -413 C 303 -385 271 -346.667 271 -298 C 271 -262 293.667 -244 339 -244 C 363 -244 390 -252 420 -268 C 450 -284 482.333 -292.333 517 -293 C 549.667 -292.333 574 -284.333 590 -269 C 606 -253.667 614 -231 614 -201 C 614 -169 601.667 -140.333 577 -115 C 552.333 -89.6667 514.333 -67.3333 463 -48 C 357 -24 272 26.6667 208 104 C 139.333 186 105 286 105 404 C 105 539.333 150 679 240 823 C 340 983 452.667 1063 578 1063 C 643.333 1063 716.333 1047.67 797 1017 C 899 977.667 950 929.667 950 873 C 950 847.667 941.667 825.333 925 806 C 908.333 786.667 887.667 776.667 863 776 C 843.667 776 827 781.667 813 793 C 799 804.333 785 816 771 828 C 731.667 859.333 667.333 875 578 875 C 510
  875 442.667 814.333 376 693 C 315.333 581.667 285 485.333 285 404 C 285 316 315 246.667 375 196 C 431 148.667 503 125 591 125 C 631 125 673.667 135.667 719 157 L 835 219 C 855 229.667 869.333 235 878 235 C 902.667 235 924 225.333 942 206 C 960 186.667 969 164 969 138 C 969 69.3333 883.667 10 713 -40 C 732.333 -65.3333 746.667 -91 756 -117 C 765.333 -143 770 -169.333 770 -196 Z&quot;]
</span><span class="cx">             RenderSVGPath {line} at (373,81) size 3x162 [stroke={[type=SOLID] [color=#888888] [stroke width=50.00]}] [fill={[type=SOLID] [color=#000000]}] [x1=7158.00] [y1=-3500.00] [x2=7158.00] [y2=2000.00]
</span><span class="cx">       RenderSVGText {text} at (67,193) size 74x22 contains 1 chunk(s)
</span><del>-        RenderSVGInlineText {#text} at (0,0) size 74x22
-          chunk 1 text run 1 at (67.00,210.00) startOffset 0 endOffset 8 width 74.00: &quot;SVG Font&quot;
-      RenderSVGContainer {g} at (165,166) size 210x69 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,220.00)}]
</del><ins>+        RenderSVGInlineText {#text} at (0,0) size 74x21
+          chunk 1 text run 1 at (67.00,210.00) startOffset 0 endOffset 8 width 73.52: &quot;SVG Font&quot;
+      RenderSVGContainer {g} at (165,153) size 210x85 [transform={m=((1.00,0.00)(0.00,1.00)) t=(165.00,220.00)}]
</ins><span class="cx">         RenderSVGPath {line} at (165,219) size 210x2 [stroke={[type=SOLID] [color=#888888]}] [fill={[type=SOLID] [color=#000000]}] [x1=0.00] [y1=0.00] [x2=210.00] [y2=0.00]
</span><del>-        RenderSVGText {text} at (0,-54) size 198x69 contains 1 chunk(s)
-          RenderSVGInlineText {#text} at (0,0) size 198x69
-            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 198.00: &quot;Ay\x{D6}@\x{E7}&quot;
</del><ins>+        RenderSVGText {text} at (0,-67) size 210x85 contains 1 chunk(s)
+          RenderSVGInlineText {#text} at (0,0) size 210x84
+            chunk 1 text run 1 at (0.00,0.00) startOffset 0 endOffset 5 width 209.70: &quot;Ay\x{D6}@\x{E7}&quot;
</ins><span class="cx">     RenderSVGText {text} at (10,304) size 264x46 contains 1 chunk(s)
</span><span class="cx">       RenderSVGInlineText {#text} at (0,0) size 264x46
</span><del>-        chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 264.00: &quot;$Revision: 1.1 $&quot;
</del><ins>+        chunk 1 text run 1 at (10.00,340.00) startOffset 0 endOffset 16 width 263.34: &quot;$Revision: 1.1 $&quot;
</ins><span class="cx">     RenderSVGRect {rect} at (0,0) size 480x360 [stroke={[type=SOLID] [color=#000000]}] [x=1.00] [y=1.00] [width=478.00] [height=358.00]
</span></span></pre></div>
<a id="trunkLayoutTestssvgcustomacid3test77expectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/custom/acid3-test-77-expected.txt (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/custom/acid3-test-77-expected.txt        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/svg/custom/acid3-test-77-expected.txt        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -4,24 +4,24 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> PASS text.getNumberOfChars() is 3
</span><del>-PASS text.getComputedTextLength() is 4711+42+23
-PASS text.getSubStringLength(0,1) is 42
-PASS text.getSubStringLength(0,2) is 42+23
-PASS text.getSubStringLength(1,1) is 23
</del><ins>+PASS text.getComputedTextLength() is 4780
+PASS text.getSubStringLength(0,1) is 44
+PASS text.getSubStringLength(0,2) is 68
+PASS text.getSubStringLength(1,1) is 24
</ins><span class="cx"> PASS text.getSubStringLength(1,0) is 0
</span><del>-PASS text.getSubStringLength(1, 3) is 4734
-PASS text.getSubStringLength(0, 4) is 4776
</del><ins>+PASS text.getSubStringLength(1, 3) is 4736
+PASS text.getSubStringLength(0, 4) is 4780
</ins><span class="cx"> PASS text.getSubStringLength(3, 0) threw exception Error: IndexSizeError: DOM Exception 1.
</span><span class="cx"> PASS text.getSubStringLength(-17, 20) threw exception Error: IndexSizeError: DOM Exception 1.
</span><span class="cx"> PASS text.getStartPositionOfChar(0).x is 0
</span><del>-PASS text.getStartPositionOfChar(1).x is 42
-PASS text.getStartPositionOfChar(2).x is 42+23
</del><ins>+PASS text.getStartPositionOfChar(1).x is 44
+PASS text.getStartPositionOfChar(2).x is 68
</ins><span class="cx"> PASS text.getStartPositionOfChar(0).y is 4000
</span><span class="cx"> PASS text.getEndPositionOfChar(-1) threw exception Error: IndexSizeError: DOM Exception 1.
</span><span class="cx"> PASS text.getEndPositionOfChar(4) threw exception Error: IndexSizeError: DOM Exception 1.
</span><del>-PASS text.getEndPositionOfChar(0).x is 42
-PASS text.getEndPositionOfChar(1).x is 42+23
-PASS text.getEndPositionOfChar(2).x is 42+23+4711
</del><ins>+PASS text.getEndPositionOfChar(0).x is 44
+PASS text.getEndPositionOfChar(1).x is 68
+PASS text.getEndPositionOfChar(2).x is 4780
</ins><span class="cx"> PASS text.getEndPositionOfChar(-17) threw exception Error: IndexSizeError: DOM Exception 1.
</span><span class="cx"> PASS text.getEndPositionOfChar(4) threw exception Error: IndexSizeError: DOM Exception 1.
</span><span class="cx"> PASS successfullyParsed is true
</span></span></pre></div>
<a id="trunkLayoutTestssvgcustomacid3test77html"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/svg/custom/acid3-test-77.html (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/svg/custom/acid3-test-77.html        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/LayoutTests/svg/custom/acid3-test-77.html        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -57,24 +57,24 @@
</span><span class="cx">     // The font-size 4000 was chosen because that matches the unitsPerEm value in the svgfont, 
</span><span class="cx">     // which makes it easy to check the glyph advances since they will then be exactly what was specified in the svgfont.
</span><span class="cx">     shouldBe(&quot;text.getNumberOfChars()&quot;, &quot;3&quot;);
</span><del>-    shouldBe(&quot;text.getComputedTextLength()&quot;, &quot;4711+42+23&quot;);
-    shouldBe(&quot;text.getSubStringLength(0,1)&quot;, &quot;42&quot;);
-    shouldBe(&quot;text.getSubStringLength(0,2)&quot;, &quot;42+23&quot;);
-    shouldBe(&quot;text.getSubStringLength(1,1)&quot;, &quot;23&quot;);
</del><ins>+    shouldBe(&quot;text.getComputedTextLength()&quot;, &quot;4780&quot;);
+    shouldBe(&quot;text.getSubStringLength(0,1)&quot;, &quot;44&quot;);
+    shouldBe(&quot;text.getSubStringLength(0,2)&quot;, &quot;68&quot;);
+    shouldBe(&quot;text.getSubStringLength(1,1)&quot;, &quot;24&quot;);
</ins><span class="cx">     shouldBe(&quot;text.getSubStringLength(1,0)&quot;, &quot;0&quot;);
</span><del>-    shouldBe(&quot;text.getSubStringLength(1, 3)&quot;, &quot;4734&quot;);
-    shouldBe(&quot;text.getSubStringLength(0, 4)&quot;, &quot;4776&quot;);
</del><ins>+    shouldBe(&quot;text.getSubStringLength(1, 3)&quot;, &quot;4736&quot;);
+    shouldBe(&quot;text.getSubStringLength(0, 4)&quot;, &quot;4780&quot;);
</ins><span class="cx">     shouldThrow(&quot;text.getSubStringLength(3, 0)&quot;);
</span><span class="cx">     shouldThrow(&quot;text.getSubStringLength(-17, 20)&quot;);
</span><span class="cx">     shouldBe(&quot;text.getStartPositionOfChar(0).x&quot;, &quot;0&quot;);
</span><del>-    shouldBe(&quot;text.getStartPositionOfChar(1).x&quot;, &quot;42&quot;);
-    shouldBe(&quot;text.getStartPositionOfChar(2).x&quot;, &quot;42+23&quot;);
</del><ins>+    shouldBe(&quot;text.getStartPositionOfChar(1).x&quot;, &quot;44&quot;);
+    shouldBe(&quot;text.getStartPositionOfChar(2).x&quot;, &quot;68&quot;);
</ins><span class="cx">     shouldBe(&quot;text.getStartPositionOfChar(0).y&quot;, &quot;4000&quot;);
</span><span class="cx">     shouldThrow(&quot;text.getEndPositionOfChar(-1)&quot;);
</span><span class="cx">     shouldThrow(&quot;text.getEndPositionOfChar(4)&quot;);
</span><del>-    shouldBe(&quot;text.getEndPositionOfChar(0).x&quot;, &quot;42&quot;);
-    shouldBe(&quot;text.getEndPositionOfChar(1).x&quot;, &quot;42+23&quot;);
-    shouldBe(&quot;text.getEndPositionOfChar(2).x&quot;, &quot;42+23+4711&quot;);
</del><ins>+    shouldBe(&quot;text.getEndPositionOfChar(0).x&quot;, &quot;44&quot;);
+    shouldBe(&quot;text.getEndPositionOfChar(1).x&quot;, &quot;68&quot;);
+    shouldBe(&quot;text.getEndPositionOfChar(2).x&quot;, &quot;4780&quot;);
</ins><span class="cx">     shouldThrow(&quot;text.getEndPositionOfChar(-17)&quot;);
</span><span class="cx">     shouldThrow(&quot;text.getEndPositionOfChar(4)&quot;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/Source/WebCore/ChangeLog        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -1,3 +1,41 @@
</span><ins>+2015-12-01  Myles C. Maxfield  &lt;mmaxfield@apple.com&gt;
+
+        [SVG -&gt; OTF Converter] Force UnitsPerEm to 1000
+        https://bugs.webkit.org/show_bug.cgi?id=151650
+
+        Reviewed by Antti Koivisto.
+
+        According to the Adobe Type 1 Font Format:
+
+        &quot;Type 1 font programs generally use a 1000 to 1 scaling matrix
+        for the definition of the relationship of character space unites
+        to user space units.&quot;
+
+        Windows actually disregards the &quot;unitsPerEm&quot; value in the &quot;head&quot;
+        table for some calculations, and hardcodes 1000 instead. In order
+        to have consistent renderings on Windows and OS X, this patch
+        forces all generated fonts to have a unitsPerEm of 1000, and
+        appropriately scales all necessary values.
+
+        Test: svg/W3C-SVG-1.1/fonts-elem-03-b.svg
+
+        * svg/SVGToOTFFontConversion.cpp:
+        (WebCore::SVGToOTFFontConverter::scaleUnitsPerEm):
+        (WebCore::SVGToOTFFontConverter::appendHEADTable):
+        (WebCore::SVGToOTFFontConverter::appendOS2Table):
+        (WebCore::SVGToOTFFontConverter::appendVORGTable):
+        (WebCore::SVGToOTFFontConverter::appendVHEATable):
+        (WebCore::SVGToOTFFontConverter::appendVMTXTable):
+        (WebCore::SVGToOTFFontConverter::addKerningPair):
+        (WebCore::CFFBuilder::CFFBuilder):
+        (WebCore::CFFBuilder::boundingBox):
+        (WebCore::CFFBuilder::updateBoundingBox):
+        (WebCore::CFFBuilder::unscaledLineTo):
+        (WebCore::SVGToOTFFontConverter::transcodeGlyphPaths):
+        (WebCore::SVGToOTFFontConverter::processGlyphElement):
+        (WebCore::SVGToOTFFontConverter::appendLigatureGlyphs):
+        (WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter):
+
</ins><span class="cx"> 2015-12-01  Brady Eidson  &lt;beidson@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Give a more detailed message for TypeErrors that result from EnforceRange.
</span></span></pre></div>
<a id="trunkSourceWebCoresvgSVGToOTFFontConversioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/svg/SVGToOTFFontConversion.cpp (192929 => 192930)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/svg/SVGToOTFFontConversion.cpp        2015-12-02 00:50:48 UTC (rev 192929)
+++ trunk/Source/WebCore/svg/SVGToOTFFontConversion.cpp        2015-12-02 00:57:41 UTC (rev 192930)
</span><span class="lines">@@ -187,7 +187,7 @@
</span><span class="cx"> 
</span><span class="cx">     uint32_t calculateChecksum(size_t startingOffset, size_t endingOffset) const;
</span><span class="cx"> 
</span><del>-    void processGlyphElement(const SVGElement&amp; glyphOrMissingGlyphElement, const SVGGlyphElement*, float defaultHorizontalAdvance, float defaultVerticalAdvance, const String&amp; codepoints, bool&amp; initialGlyph);
</del><ins>+    void processGlyphElement(const SVGElement&amp; glyphOrMissingGlyphElement, const SVGGlyphElement*, float defaultHorizontalAdvance, float defaultVerticalAdvance, const String&amp; codepoints, Optional&lt;FloatRect&gt; boundingBox);
</ins><span class="cx"> 
</span><span class="cx">     typedef void (SVGToOTFFontConverter::*FontAppendingFunction)();
</span><span class="cx">     void appendTable(const char identifier[4], FontAppendingFunction);
</span><span class="lines">@@ -213,7 +213,7 @@
</span><span class="cx"> 
</span><span class="cx">     void appendValidCFFString(const String&amp;);
</span><span class="cx"> 
</span><del>-    Vector&lt;char&gt; transcodeGlyphPaths(float width, const SVGElement&amp; glyphOrMissingGlyphElement, FloatRect&amp; boundingBox) const;
</del><ins>+    Vector&lt;char&gt; transcodeGlyphPaths(float width, const SVGElement&amp; glyphOrMissingGlyphElement, Optional&lt;FloatRect&gt;&amp; boundingBox) const;
</ins><span class="cx"> 
</span><span class="cx">     void addCodepointRanges(const UnicodeRanges&amp;, HashSet&lt;Glyph&gt;&amp; glyphSet) const;
</span><span class="cx">     void addCodepoints(const HashSet&lt;String&gt;&amp; codepoints, HashSet&lt;Glyph&gt;&amp; glyphSet) const;
</span><span class="lines">@@ -228,6 +228,11 @@
</span><span class="cx">     Vector&lt;Glyph, 1&gt; glyphsForCodepoint(UChar32) const;
</span><span class="cx">     Glyph firstGlyph(const Vector&lt;Glyph, 1&gt;&amp;, UChar32) const;
</span><span class="cx"> 
</span><ins>+    template&lt;typename T&gt; T scaleUnitsPerEm(T value) const
+    {
+        return value * s_outputUnitsPerEm / m_inputUnitsPerEm;
+    }
+
</ins><span class="cx">     Vector&lt;GlyphData&gt; m_glyphs;
</span><span class="cx">     HashMap&lt;String, Glyph&gt; m_glyphNameToIndexMap; // SVG 1.1: &quot;It is recommended that glyph names be unique within a font.&quot;
</span><span class="cx">     HashMap&lt;String, Vector&lt;Glyph, 1&gt;&gt; m_codepointsToIndicesMap;
</span><span class="lines">@@ -241,7 +246,8 @@
</span><span class="cx">     float m_advanceWidthMax;
</span><span class="cx">     float m_advanceHeightMax;
</span><span class="cx">     float m_minRightSideBearing;
</span><del>-    unsigned m_unitsPerEm;
</del><ins>+    static const unsigned s_outputUnitsPerEm = 1000;
+    unsigned m_inputUnitsPerEm;
</ins><span class="cx">     int m_lineGap;
</span><span class="cx">     int m_xHeight;
</span><span class="cx">     int m_capHeight;
</span><span class="lines">@@ -389,7 +395,7 @@
</span><span class="cx">     append32(0x5F0F3CF5); // Magic number.
</span><span class="cx">     append16((1 &lt;&lt; 9) | 1);
</span><span class="cx"> 
</span><del>-    append16(m_unitsPerEm);
</del><ins>+    append16(s_outputUnitsPerEm);
</ins><span class="cx">     append32(0); // First half of creation date
</span><span class="cx">     append32(0); // Last half of creation date
</span><span class="cx">     append32(0); // First half of modification date
</span><span class="lines">@@ -401,7 +407,7 @@
</span><span class="cx">     append16((m_italic ? 1 &lt;&lt; 1 : 0) | (m_weight &gt;= 7 ? 1 : 0));
</span><span class="cx">     append16(3); // Smallest readable size in pixels
</span><span class="cx">     append16(0); // Might contain LTR or RTL glyphs
</span><del>-    append16(0); // Short offsets in the 'loca' table. However, OTF fonts don't have a 'loca' table so this is irrelevant
</del><ins>+    append16(0); // Short offsets in the 'loca' table. However, CFF fonts don't have a 'loca' table so this is irrelevant
</ins><span class="cx">     append16(0); // Glyph data format
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -480,11 +486,12 @@
</span><span class="cx"> 
</span><span class="cx"> void SVGToOTFFontConverter::appendOS2Table()
</span><span class="cx"> {
</span><del>-    int16_t averageAdvance = m_unitsPerEm;
</del><ins>+    int16_t averageAdvance = s_outputUnitsPerEm;
</ins><span class="cx">     bool ok;
</span><span class="cx">     int value = m_fontElement.fastGetAttribute(SVGNames::horiz_adv_xAttr).toInt(&amp;ok);
</span><span class="cx">     if (!ok &amp;&amp; m_missingGlyphElement)
</span><span class="cx">         value = m_missingGlyphElement-&gt;fastGetAttribute(SVGNames::horiz_adv_xAttr).toInt(&amp;ok);
</span><ins>+    value = scaleUnitsPerEm(value);
</ins><span class="cx">     if (ok)
</span><span class="cx">         averageAdvance = clampTo&lt;int16_t&gt;(value);
</span><span class="cx"> 
</span><span class="lines">@@ -940,18 +947,19 @@
</span><span class="cx">     append16(0); // Minor version
</span><span class="cx"> 
</span><span class="cx">     bool ok;
</span><del>-    int16_t defaultVerticalOriginY = clampTo&lt;int16_t&gt;(m_fontElement.fastGetAttribute(SVGNames::vert_origin_yAttr).toInt(&amp;ok));
</del><ins>+    int defaultVerticalOriginY = m_fontElement.fastGetAttribute(SVGNames::vert_origin_yAttr).toInt(&amp;ok);
</ins><span class="cx">     if (!ok &amp;&amp; m_missingGlyphElement)
</span><del>-        defaultVerticalOriginY = clampTo&lt;int16_t&gt;(m_missingGlyphElement-&gt;fastGetAttribute(SVGNames::vert_origin_yAttr).toInt());
-    append16(defaultVerticalOriginY);
</del><ins>+        defaultVerticalOriginY = m_missingGlyphElement-&gt;fastGetAttribute(SVGNames::vert_origin_yAttr).toInt();
+    defaultVerticalOriginY = scaleUnitsPerEm(defaultVerticalOriginY);
+    append16(clampTo&lt;int16_t&gt;(defaultVerticalOriginY));
</ins><span class="cx"> 
</span><span class="cx">     auto tableSizeOffset = m_result.size();
</span><span class="cx">     append16(0); // Place to write table size.
</span><span class="cx">     for (Glyph i = 0; i &lt; m_glyphs.size(); ++i) {
</span><span class="cx">         if (auto* glyph = m_glyphs[i].glyphElement) {
</span><del>-            if (int16_t verticalOriginY = clampTo&lt;int16_t&gt;(glyph-&gt;fastGetAttribute(SVGNames::vert_origin_yAttr).toInt())) {
</del><ins>+            if (int verticalOriginY = glyph-&gt;fastGetAttribute(SVGNames::vert_origin_yAttr).toInt()) {
</ins><span class="cx">                 append16(i);
</span><del>-                append16(verticalOriginY);
</del><ins>+                append16(clampTo&lt;int16_t&gt;(scaleUnitsPerEm(verticalOriginY)));
</ins><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -961,15 +969,16 @@
</span><span class="cx"> 
</span><span class="cx"> void SVGToOTFFontConverter::appendVHEATable()
</span><span class="cx"> {
</span><ins>+    float height = m_ascent + m_descent;
</ins><span class="cx">     append32(0x00011000); // Version
</span><del>-    append16(m_unitsPerEm / 2); // Vertical typographic ascender (vertical baseline to the right)
-    append16(clampTo&lt;int16_t&gt;(-static_cast&lt;int&gt;(m_unitsPerEm / 2))); // Vertical typographic descender
-    append16(m_unitsPerEm / 10); // Vertical typographic line gap
</del><ins>+    append16(clampTo&lt;int16_t&gt;(height / 2)); // Vertical typographic ascender (vertical baseline to the right)
+    append16(clampTo&lt;int16_t&gt;(-static_cast&lt;int&gt;(height / 2))); // Vertical typographic descender
+    append16(clampTo&lt;int16_t&gt;(s_outputUnitsPerEm / 10)); // Vertical typographic line gap
</ins><span class="cx">     // FIXME: m_unitsPerEm is almost certainly not correct
</span><span class="cx">     append16(clampTo&lt;int16_t&gt;(m_advanceHeightMax));
</span><del>-    append16(clampTo&lt;int16_t&gt;(m_unitsPerEm - m_boundingBox.maxY())); // Minimum top side bearing
</del><ins>+    append16(clampTo&lt;int16_t&gt;(s_outputUnitsPerEm - m_boundingBox.maxY())); // Minimum top side bearing
</ins><span class="cx">     append16(clampTo&lt;int16_t&gt;(m_boundingBox.y())); // Minimum bottom side bearing
</span><del>-    append16(clampTo&lt;int16_t&gt;(m_unitsPerEm - m_boundingBox.y())); // Y maximum extent
</del><ins>+    append16(clampTo&lt;int16_t&gt;(s_outputUnitsPerEm - m_boundingBox.y())); // Y maximum extent
</ins><span class="cx">     // Since WebKit draws the caret and ignores the following values, it doesn't matter what we set them to.
</span><span class="cx">     append16(1); // Vertical caret
</span><span class="cx">     append16(0); // Vertical caret
</span><span class="lines">@@ -984,7 +993,7 @@
</span><span class="cx"> {
</span><span class="cx">     for (auto&amp; glyph : m_glyphs) {
</span><span class="cx">         append16(clampTo&lt;uint16_t&gt;(glyph.verticalAdvance));
</span><del>-        append16(clampTo&lt;int16_t&gt;(m_unitsPerEm - glyph.boundingBox.maxY())); // top side bearing
</del><ins>+        append16(clampTo&lt;int16_t&gt;(s_outputUnitsPerEm - glyph.boundingBox.maxY())); // top side bearing
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1043,7 +1052,7 @@
</span><span class="cx">     // FIXME: Use table format 2 so we don't have to append each of these one by one.
</span><span class="cx">     for (auto&amp; glyph1 : glyphSet1) {
</span><span class="cx">         for (auto&amp; glyph2 : glyphSet2)
</span><del>-            data.append(KerningData(glyph1, glyph2, clampTo&lt;int16_t&gt;(-kerningPair.kerning)));
</del><ins>+            data.append(KerningData(glyph1, glyph2, clampTo&lt;int16_t&gt;(-scaleUnitsPerEm(kerningPair.kerning))));
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1127,8 +1136,9 @@
</span><span class="cx"> 
</span><span class="cx"> class CFFBuilder : public SVGPathConsumer {
</span><span class="cx"> public:
</span><del>-    CFFBuilder(Vector&lt;char&gt;&amp; cffData, float width, FloatPoint origin)
</del><ins>+    CFFBuilder(Vector&lt;char&gt;&amp; cffData, float width, FloatPoint origin, float unitsPerEmScalar)
</ins><span class="cx">         : m_cffData(cffData)
</span><ins>+        , m_unitsPerEmScalar(unitsPerEmScalar)
</ins><span class="cx">     {
</span><span class="cx">         writeCFFEncodedNumber(m_cffData, width);
</span><span class="cx">         writeCFFEncodedNumber(m_cffData, origin.x());
</span><span class="lines">@@ -1136,7 +1146,7 @@
</span><span class="cx">         m_cffData.append(rMoveTo);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    FloatRect boundingBox() const
</del><ins>+    Optional&lt;FloatRect&gt; boundingBox() const
</ins><span class="cx">     {
</span><span class="cx">         return m_boundingBox;
</span><span class="cx">     }
</span><span class="lines">@@ -1144,12 +1154,11 @@
</span><span class="cx"> private:
</span><span class="cx">     void updateBoundingBox(FloatPoint point)
</span><span class="cx">     {
</span><del>-        if (!m_hasBoundingBox) {
</del><ins>+        if (!m_boundingBox) {
</ins><span class="cx">             m_boundingBox = FloatRect(point, FloatSize());
</span><del>-            m_hasBoundingBox = true;
</del><span class="cx">             return;
</span><span class="cx">         }
</span><del>-        m_boundingBox.extend(point);
</del><ins>+        m_boundingBox.value().extend(point);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void writePoint(FloatPoint destination)
</span><span class="lines">@@ -1168,7 +1177,8 @@
</span><span class="cx">         if (closed &amp;&amp; !m_cffData.isEmpty())
</span><span class="cx">             closePath();
</span><span class="cx"> 
</span><del>-        FloatPoint destination = mode == AbsoluteCoordinates ? targetPoint : m_current + targetPoint;
</del><ins>+        FloatPoint scaledTargetPoint = FloatPoint(targetPoint.x() * m_unitsPerEmScalar, targetPoint.y() * m_unitsPerEmScalar);
+        FloatPoint destination = mode == AbsoluteCoordinates ? scaledTargetPoint : m_current + scaledTargetPoint;
</ins><span class="cx"> 
</span><span class="cx">         writePoint(destination);
</span><span class="cx">         m_cffData.append(rMoveTo);
</span><span class="lines">@@ -1176,35 +1186,42 @@
</span><span class="cx">         m_startingPoint = m_current;
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    void unscaledLineTo(const FloatPoint&amp; targetPoint)
+    {
+        writePoint(targetPoint);
+        m_cffData.append(rLineTo);
+    }
+
</ins><span class="cx">     virtual void lineTo(const FloatPoint&amp; targetPoint, PathCoordinateMode mode) override
</span><span class="cx">     {
</span><del>-        FloatPoint destination = mode == AbsoluteCoordinates ? targetPoint : m_current + targetPoint;
</del><ins>+        FloatPoint scaledTargetPoint = FloatPoint(targetPoint.x() * m_unitsPerEmScalar, targetPoint.y() * m_unitsPerEmScalar);
+        FloatPoint destination = mode == AbsoluteCoordinates ? scaledTargetPoint : m_current + scaledTargetPoint;
</ins><span class="cx"> 
</span><del>-        writePoint(destination);
-        m_cffData.append(rLineTo);
</del><ins>+        unscaledLineTo(destination);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual void curveToCubic(const FloatPoint&amp; point1, const FloatPoint&amp; point2, const FloatPoint&amp; targetPoint, PathCoordinateMode mode) override
</del><ins>+    virtual void curveToCubic(const FloatPoint&amp; point1, const FloatPoint&amp; point2, const FloatPoint&amp; point3, PathCoordinateMode mode) override
</ins><span class="cx">     {
</span><del>-        FloatPoint destination1 = point1;
-        FloatPoint destination2 = point2;
-        FloatPoint destination3 = targetPoint;
</del><ins>+        FloatPoint scaledPoint1 = FloatPoint(point1.x() * m_unitsPerEmScalar, point1.y() * m_unitsPerEmScalar);
+        FloatPoint scaledPoint2 = FloatPoint(point2.x() * m_unitsPerEmScalar, point2.y() * m_unitsPerEmScalar);
+        FloatPoint scaledPoint3 = FloatPoint(point3.x() * m_unitsPerEmScalar, point3.y() * m_unitsPerEmScalar);
+
</ins><span class="cx">         if (mode == RelativeCoordinates) {
</span><del>-            destination1 += m_current;
-            destination2 += m_current;
-            destination3 += m_current;
</del><ins>+            scaledPoint1 += m_current;
+            scaledPoint2 += m_current;
+            scaledPoint3 += m_current;
</ins><span class="cx">         }
</span><span class="cx"> 
</span><del>-        writePoint(destination1);
-        writePoint(destination2);
-        writePoint(destination3);
</del><ins>+        writePoint(scaledPoint1);
+        writePoint(scaledPoint2);
+        writePoint(scaledPoint3);
</ins><span class="cx">         m_cffData.append(rrCurveTo);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual void closePath() override
</span><span class="cx">     {
</span><span class="cx">         if (m_current != m_startingPoint)
</span><del>-            lineTo(m_startingPoint, AbsoluteCoordinates);
</del><ins>+            unscaledLineTo(m_startingPoint);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     virtual void incrementPathSegmentCount() override { }
</span><span class="lines">@@ -1220,11 +1237,11 @@
</span><span class="cx">     Vector&lt;char&gt;&amp; m_cffData;
</span><span class="cx">     FloatPoint m_startingPoint;
</span><span class="cx">     FloatPoint m_current;
</span><del>-    FloatRect m_boundingBox;
-    bool m_hasBoundingBox { false };
</del><ins>+    Optional&lt;FloatRect&gt; m_boundingBox;
+    float m_unitsPerEmScalar;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><del>-Vector&lt;char&gt; SVGToOTFFontConverter::transcodeGlyphPaths(float width, const SVGElement&amp; glyphOrMissingGlyphElement, FloatRect&amp; boundingBox) const
</del><ins>+Vector&lt;char&gt; SVGToOTFFontConverter::transcodeGlyphPaths(float width, const SVGElement&amp; glyphOrMissingGlyphElement, Optional&lt;FloatRect&gt;&amp; boundingBox) const
</ins><span class="cx"> {
</span><span class="cx">     Vector&lt;char&gt; result;
</span><span class="cx"> 
</span><span class="lines">@@ -1240,14 +1257,14 @@
</span><span class="cx"> 
</span><span class="cx">     // FIXME: If we are vertical, use vert_origin_x and vert_origin_y
</span><span class="cx">     bool ok;
</span><del>-    float horizontalOriginX = glyphOrMissingGlyphElement.fastGetAttribute(SVGNames::horiz_origin_xAttr).toFloat(&amp;ok);
</del><ins>+    float horizontalOriginX = scaleUnitsPerEm(glyphOrMissingGlyphElement.fastGetAttribute(SVGNames::horiz_origin_xAttr).toFloat(&amp;ok));
</ins><span class="cx">     if (!ok &amp;&amp; m_fontFaceElement)
</span><del>-        horizontalOriginX = m_fontFaceElement-&gt;horizontalOriginX();
-    float horizontalOriginY = glyphOrMissingGlyphElement.fastGetAttribute(SVGNames::horiz_origin_yAttr).toFloat(&amp;ok);
</del><ins>+        horizontalOriginX = scaleUnitsPerEm(m_fontFaceElement-&gt;horizontalOriginX());
+    float horizontalOriginY = scaleUnitsPerEm(glyphOrMissingGlyphElement.fastGetAttribute(SVGNames::horiz_origin_yAttr).toFloat(&amp;ok));
</ins><span class="cx">     if (!ok &amp;&amp; m_fontFaceElement)
</span><del>-        horizontalOriginY = m_fontFaceElement-&gt;horizontalOriginY();
</del><ins>+        horizontalOriginY = scaleUnitsPerEm(m_fontFaceElement-&gt;horizontalOriginY());
</ins><span class="cx"> 
</span><del>-    CFFBuilder builder(result, width, FloatPoint(horizontalOriginX, horizontalOriginY));
</del><ins>+    CFFBuilder builder(result, width, FloatPoint(horizontalOriginX, horizontalOriginY), static_cast&lt;float&gt;(s_outputUnitsPerEm) / m_inputUnitsPerEm);
</ins><span class="cx">     SVGPathStringSource source(dAttribute);
</span><span class="cx"> 
</span><span class="cx">     ok = SVGPathParser::parse(source, builder);
</span><span class="lines">@@ -1260,28 +1277,28 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SVGToOTFFontConverter::processGlyphElement(const SVGElement&amp; glyphOrMissingGlyphElement, const SVGGlyphElement* glyphElement, float defaultHorizontalAdvance, float defaultVerticalAdvance, const String&amp; codepoints, bool&amp; initialGlyph)
</del><ins>+void SVGToOTFFontConverter::processGlyphElement(const SVGElement&amp; glyphOrMissingGlyphElement, const SVGGlyphElement* glyphElement, float defaultHorizontalAdvance, float defaultVerticalAdvance, const String&amp; codepoints, Optional&lt;FloatRect&gt; boundingBox)
</ins><span class="cx"> {
</span><span class="cx">     bool ok;
</span><del>-    float horizontalAdvance = glyphOrMissingGlyphElement.fastGetAttribute(SVGNames::horiz_adv_xAttr).toFloat(&amp;ok);
</del><ins>+    float horizontalAdvance = scaleUnitsPerEm(glyphOrMissingGlyphElement.fastGetAttribute(SVGNames::horiz_adv_xAttr).toFloat(&amp;ok));
</ins><span class="cx">     if (!ok)
</span><span class="cx">         horizontalAdvance = defaultHorizontalAdvance;
</span><span class="cx">     m_advanceWidthMax = std::max(m_advanceWidthMax, horizontalAdvance);
</span><del>-    float verticalAdvance = glyphOrMissingGlyphElement.fastGetAttribute(SVGNames::vert_adv_yAttr).toFloat(&amp;ok);
</del><ins>+    float verticalAdvance = scaleUnitsPerEm(glyphOrMissingGlyphElement.fastGetAttribute(SVGNames::vert_adv_yAttr).toFloat(&amp;ok));
</ins><span class="cx">     if (!ok)
</span><span class="cx">         verticalAdvance = defaultVerticalAdvance;
</span><span class="cx">     m_advanceHeightMax = std::max(m_advanceHeightMax, verticalAdvance);
</span><span class="cx"> 
</span><del>-    FloatRect glyphBoundingBox;
</del><ins>+    Optional&lt;FloatRect&gt; glyphBoundingBox;
</ins><span class="cx">     auto path = transcodeGlyphPaths(horizontalAdvance, glyphOrMissingGlyphElement, glyphBoundingBox);
</span><del>-    if (initialGlyph)
-        m_boundingBox = glyphBoundingBox;
-    else
-        m_boundingBox.unite(glyphBoundingBox);
-    m_minRightSideBearing = std::min(m_minRightSideBearing, horizontalAdvance - glyphBoundingBox.maxX());
-    initialGlyph = false;
</del><ins>+    if (!boundingBox)
+        boundingBox = glyphBoundingBox;
+    else if (glyphBoundingBox)
+        boundingBox.value().unite(glyphBoundingBox.value());
+    if (glyphBoundingBox)
+        m_minRightSideBearing = std::min(m_minRightSideBearing, horizontalAdvance - glyphBoundingBox.value().maxX());
</ins><span class="cx"> 
</span><del>-    m_glyphs.append(GlyphData(WTF::move(path), glyphElement, horizontalAdvance, verticalAdvance, glyphBoundingBox, codepoints));
</del><ins>+    m_glyphs.append(GlyphData(WTF::move(path), glyphElement, horizontalAdvance, verticalAdvance, glyphBoundingBox.valueOr(FloatRect()), codepoints));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void SVGToOTFFontConverter::appendLigatureGlyphs()
</span><span class="lines">@@ -1309,7 +1326,7 @@
</span><span class="cx">     for (auto codepoint : ligatureCodepoints) {
</span><span class="cx">         auto codepoints = codepointToString(codepoint);
</span><span class="cx">         if (!codepoints.isNull())
</span><del>-            m_glyphs.append(GlyphData(Vector&lt;char&gt;(m_emptyGlyphCharString), nullptr, m_unitsPerEm, m_unitsPerEm, FloatRect(), codepoints));
</del><ins>+            m_glyphs.append(GlyphData(Vector&lt;char&gt;(m_emptyGlyphCharString), nullptr, s_outputUnitsPerEm, s_outputUnitsPerEm, FloatRect(), codepoints));
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1362,26 +1379,18 @@
</span><span class="cx">     , m_weight(5)
</span><span class="cx">     , m_italic(false)
</span><span class="cx"> {
</span><del>-
-    float defaultHorizontalAdvance = m_fontFaceElement ? m_fontFaceElement-&gt;horizontalAdvanceX() : 0;
-    float defaultVerticalAdvance = m_fontFaceElement ? m_fontFaceElement-&gt;verticalAdvanceY() : 0;
-    bool initialGlyph = true;
-
-    if (m_fontFaceElement)
-        m_unitsPerEm = m_fontFaceElement-&gt;unitsPerEm();
-
</del><span class="cx">     if (!m_fontFaceElement) {
</span><del>-        m_unitsPerEm = 1;
-        m_ascent = m_unitsPerEm;
</del><ins>+        m_inputUnitsPerEm = 1;
+        m_ascent = s_outputUnitsPerEm;
</ins><span class="cx">         m_descent = 1;
</span><del>-        m_xHeight = m_unitsPerEm;
</del><ins>+        m_xHeight = s_outputUnitsPerEm;
</ins><span class="cx">         m_capHeight = m_ascent;
</span><span class="cx">     } else {
</span><del>-        m_unitsPerEm = m_fontFaceElement-&gt;unitsPerEm();
-        m_ascent = m_fontFaceElement-&gt;ascent();
-        m_descent = m_fontFaceElement-&gt;descent();
-        m_xHeight = m_fontFaceElement-&gt;xHeight();
-        m_capHeight = m_fontFaceElement-&gt;capHeight();
</del><ins>+        m_inputUnitsPerEm = m_fontFaceElement-&gt;unitsPerEm();
+        m_ascent = scaleUnitsPerEm(m_fontFaceElement-&gt;ascent());
+        m_descent = scaleUnitsPerEm(m_fontFaceElement-&gt;descent());
+        m_xHeight = scaleUnitsPerEm(m_fontFaceElement-&gt;xHeight());
+        m_capHeight = scaleUnitsPerEm(m_fontFaceElement-&gt;capHeight());
</ins><span class="cx"> 
</span><span class="cx">         // Some platforms, including OS X, use 0 ascent and descent to mean that the platform should synthesize
</span><span class="cx">         // a value based on a heuristic. However, SVG fonts can legitimately have 0 for ascent or descent.
</span><span class="lines">@@ -1392,21 +1401,27 @@
</span><span class="cx">             m_descent = 1;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    m_lineGap = m_unitsPerEm / 10;
</del><ins>+    float defaultHorizontalAdvance = m_fontFaceElement ? scaleUnitsPerEm(m_fontFaceElement-&gt;horizontalAdvanceX()) : 0;
+    float defaultVerticalAdvance = m_fontFaceElement ? scaleUnitsPerEm(m_fontFaceElement-&gt;verticalAdvanceY()) : 0;
</ins><span class="cx"> 
</span><del>-    populateEmptyGlyphCharString(m_emptyGlyphCharString, m_unitsPerEm);
</del><ins>+    m_lineGap = s_outputUnitsPerEm / 10;
</ins><span class="cx"> 
</span><ins>+    populateEmptyGlyphCharString(m_emptyGlyphCharString, s_outputUnitsPerEm);
+
+    Optional&lt;FloatRect&gt; boundingBox;
</ins><span class="cx">     if (m_missingGlyphElement)
</span><del>-        processGlyphElement(*m_missingGlyphElement, nullptr, defaultHorizontalAdvance, defaultVerticalAdvance, String(), initialGlyph);
</del><ins>+        processGlyphElement(*m_missingGlyphElement, nullptr, defaultHorizontalAdvance, defaultVerticalAdvance, String(), boundingBox);
</ins><span class="cx">     else
</span><del>-        m_glyphs.append(GlyphData(Vector&lt;char&gt;(m_emptyGlyphCharString), nullptr, m_unitsPerEm, m_unitsPerEm, FloatRect(), String()));
</del><ins>+        m_glyphs.append(GlyphData(Vector&lt;char&gt;(m_emptyGlyphCharString), nullptr, s_outputUnitsPerEm, s_outputUnitsPerEm, FloatRect(), String()));
</ins><span class="cx"> 
</span><span class="cx">     for (auto&amp; glyphElement : childrenOfType&lt;SVGGlyphElement&gt;(m_fontElement)) {
</span><span class="cx">         auto&amp; unicodeAttribute = glyphElement.fastGetAttribute(SVGNames::unicodeAttr);
</span><span class="cx">         if (!unicodeAttribute.isEmpty()) // If we can never actually trigger this glyph, ignore it completely
</span><del>-            processGlyphElement(glyphElement, &amp;glyphElement, defaultHorizontalAdvance, defaultVerticalAdvance, unicodeAttribute, initialGlyph);
</del><ins>+            processGlyphElement(glyphElement, &amp;glyphElement, defaultHorizontalAdvance, defaultVerticalAdvance, unicodeAttribute, boundingBox);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    m_boundingBox = boundingBox.valueOr(FloatRect());
+
</ins><span class="cx"> #if PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &lt;= 101000
</span><span class="cx">     // &lt;rdar://problem/20086223&gt; Cocoa has a bug where glyph bounding boxes are not correctly respected for frustum culling. Work around this by
</span><span class="cx">     // inflating the font's bounding box
</span></span></pre>
</div>
</div>

</body>
</html>