<!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>[199703] 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/199703">199703</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2016-04-18 19:33:24 -0700 (Mon, 18 Apr 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>[GTK] Possible off-by-one in hyphenation code
https://bugs.webkit.org/show_bug.cgi?id=156661
Patch by Martin Robinson <mrobinson@igalia.com> on 2016-04-18
Reviewed by Michael Catanzaro.
Source/WebCore:
No new tests. This is covered by older tests.
* platform/text/hyphen/HyphenationLibHyphen.cpp:
(WebCore::lastHyphenLocation): Fix an off by one error in hyphen location.
LayoutTests:
* platform/gtk/TestExpectations: Unskip a test that is now passing.
* platform/gtk/fast/text/hyphenate-character-expected.png:
* platform/gtk/fast/text/hyphenate-character-expected.txt:
* platform/gtk/fast/text/hyphenate-first-word-expected.png:
* platform/gtk/fast/text/hyphenate-first-word-expected.txt:
* platform/gtk/fast/text/hyphenate-limit-before-after-expected.png:
* platform/gtk/fast/text/hyphenate-limit-before-after-expected.txt:
* platform/gtk/fast/text/hyphenate-limit-lines-expected.png:
* platform/gtk/fast/text/hyphenate-limit-lines-expected.txt:
* platform/gtk/fast/text/hyphenate-locale-expected.png:
* platform/gtk/fast/text/hyphenate-locale-expected.txt:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsplatformgtkTestExpectations">trunk/LayoutTests/platform/gtk/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformgtkfasttexthyphenatecharacterexpectedpng">trunk/LayoutTests/platform/gtk/fast/text/hyphenate-character-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformgtkfasttexthyphenatecharacterexpectedtxt">trunk/LayoutTests/platform/gtk/fast/text/hyphenate-character-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformgtkfasttexthyphenatefirstwordexpectedpng">trunk/LayoutTests/platform/gtk/fast/text/hyphenate-first-word-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformgtkfasttexthyphenatefirstwordexpectedtxt">trunk/LayoutTests/platform/gtk/fast/text/hyphenate-first-word-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformgtkfasttexthyphenatelimitbeforeafterexpectedpng">trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-before-after-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformgtkfasttexthyphenatelimitbeforeafterexpectedtxt">trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-before-after-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformgtkfasttexthyphenatelimitlinesexpectedpng">trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-lines-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformgtkfasttexthyphenatelimitlinesexpectedtxt">trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-lines-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformgtkfasttexthyphenatelocaleexpectedpng">trunk/LayoutTests/platform/gtk/fast/text/hyphenate-locale-expected.png</a></li>
<li><a href="#trunkLayoutTestsplatformgtkfasttexthyphenatelocaleexpectedtxt">trunk/LayoutTests/platform/gtk/fast/text/hyphenate-locale-expected.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreplatformtexthyphenHyphenationLibHyphencpp">trunk/Source/WebCore/platform/text/hyphen/HyphenationLibHyphen.cpp</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (199702 => 199703)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2016-04-19 02:18:45 UTC (rev 199702)
+++ trunk/LayoutTests/ChangeLog        2016-04-19 02:33:24 UTC (rev 199703)
</span><span class="lines">@@ -1,3 +1,22 @@
</span><ins>+2016-04-18 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] Possible off-by-one in hyphenation code
+ https://bugs.webkit.org/show_bug.cgi?id=156661
+
+ Reviewed by Michael Catanzaro.
+
+ * platform/gtk/TestExpectations: Unskip a test that is now passing.
+ * platform/gtk/fast/text/hyphenate-character-expected.png:
+ * platform/gtk/fast/text/hyphenate-character-expected.txt:
+ * platform/gtk/fast/text/hyphenate-first-word-expected.png:
+ * platform/gtk/fast/text/hyphenate-first-word-expected.txt:
+ * platform/gtk/fast/text/hyphenate-limit-before-after-expected.png:
+ * platform/gtk/fast/text/hyphenate-limit-before-after-expected.txt:
+ * platform/gtk/fast/text/hyphenate-limit-lines-expected.png:
+ * platform/gtk/fast/text/hyphenate-limit-lines-expected.txt:
+ * platform/gtk/fast/text/hyphenate-locale-expected.png:
+ * platform/gtk/fast/text/hyphenate-locale-expected.txt:
+
</ins><span class="cx"> 2016-04-18 Brent Fulgham <bfulgham@apple.com>
</span><span class="cx">
</span><span class="cx"> Unreviewed test fix after r199696.
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/TestExpectations (199702 => 199703)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/TestExpectations        2016-04-19 02:18:45 UTC (rev 199702)
+++ trunk/LayoutTests/platform/gtk/TestExpectations        2016-04-19 02:33:24 UTC (rev 199703)
</span><span class="lines">@@ -2400,8 +2400,6 @@
</span><span class="cx"> webkit.org/b/143471 canvas/philip/tests/2d.drawImage.animated.poster.html [ Failure ]
</span><span class="cx"> webkit.org/b/143871 svg/W3C-SVG-1.1-SE/linking-uri-01-b.svg [ Failure ]
</span><span class="cx">
</span><del>-webkit.org/b/143924 fast/text/hyphen-min-preferred-width.html [ Skip ]
-
</del><span class="cx"> webkit.org/b/144575 http/tests/loading/promote-img-preload-priority.html [ Failure ]
</span><span class="cx">
</span><span class="cx"> webkit.org/b/144673 fast/forms/button-line-height.html [ ImageOnlyFailure ]
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkfasttexthyphenatecharacterexpectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-character-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkfasttexthyphenatecharacterexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-character-expected.txt (199702 => 199703)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/fast/text/hyphenate-character-expected.txt        2016-04-19 02:18:45 UTC (rev 199702)
+++ trunk/LayoutTests/platform/gtk/fast/text/hyphenate-character-expected.txt        2016-04-19 02:33:24 UTC (rev 199703)
</span><span class="lines">@@ -17,18 +17,18 @@
</span><span class="cx"> RenderText {#text} at (7,7) size 330x200
</span><span class="cx"> text run at (7,7) width 245: "The chief difficulty Alice found"
</span><span class="cx"> text run at (7,27) width 245: "at first was in managing her"
</span><del>- text run at (7,47) width 245: "flamingo: she succeeded in ge" + hyphen string "\x{2010}"
- text run at (7,67) width 222: "tting its body tucked away, "
- text run at (229,67) width 23: "co" + hyphen string "\x{2010}"
- text run at (7,87) width 245: "mfortably enough, under her"
- text run at (7,107) width 248: "arm, with its legs hanging down, "
- text run at (254,107) width 83: "but genera" + hyphen string "\x{2010}"
- text run at (7,127) width 330: "lly, just as she had got its neck nicely"
- text run at (7,147) width 96: "straightened "
- text run at (102,147) width 235: "out, and was going to give the"
- text run at (7,167) width 285: "hedgehog a blow with its head, it "
- text run at (292,167) width 45: "would"
- text run at (7,187) width 314: "twist itself round and look up in her face\x{2026}"
</del><ins>+ text run at (7,47) width 245: "flamingo: she succeeded in get" + hyphen string "\x{2010}"
+ text run at (7,67) width 208: "ting its body tucked away, "
+ text run at (215,67) width 37: "com" + hyphen string "\x{2010}"
+ text run at (7,87) width 245: "fortably enough, under her arm,"
+ text run at (7,107) width 226: "with its legs hanging down, "
+ text run at (233,107) width 104: "but generally,"
+ text run at (7,127) width 330: "just as she had got its neck nicely straight" + hyphen string "\x{2010}"
+ text run at (7,147) width 42: "ened "
+ text run at (48,147) width 289: "out, and was going to give the hedge" + hyphen string "\x{2010}"
+ text run at (7,167) width 204: "hog a blow with its head, it "
+ text run at (211,167) width 126: "would twist itself"
+ text run at (7,187) width 233: "round and look up in her face\x{2026}"
</ins><span class="cx"> RenderBlock (floating) {DIV} at (356,0) size 344x264
</span><span class="cx"> RenderBlock {P} at (0,16) size 344x18
</span><span class="cx"> RenderText {#text} at (0,0) size 81x17
</span><span class="lines">@@ -43,18 +43,18 @@
</span><span class="cx"> RenderText {#text} at (7,7) size 330x200
</span><span class="cx"> text run at (7,7) width 245: "The chief difficulty Alice found"
</span><span class="cx"> text run at (7,27) width 245: "at first was in managing her"
</span><del>- text run at (7,47) width 245: "flamingo: she succeeded in ge" + hyphen string "\x{2010}"
- text run at (7,67) width 222: "tting its body tucked away, "
- text run at (229,67) width 23: "co" + hyphen string "\x{2010}"
- text run at (7,87) width 245: "mfortably enough, under her"
- text run at (7,107) width 248: "arm, with its legs hanging down, "
- text run at (254,107) width 83: "but genera" + hyphen string "\x{2010}"
- text run at (7,127) width 330: "lly, just as she had got its neck nicely"
- text run at (7,147) width 96: "straightened "
- text run at (102,147) width 235: "out, and was going to give the"
- text run at (7,167) width 285: "hedgehog a blow with its head, it "
- text run at (292,167) width 45: "would"
- text run at (7,187) width 314: "twist itself round and look up in her face\x{2026}"
</del><ins>+ text run at (7,47) width 245: "flamingo: she succeeded in get" + hyphen string "\x{2010}"
+ text run at (7,67) width 208: "ting its body tucked away, "
+ text run at (215,67) width 37: "com" + hyphen string "\x{2010}"
+ text run at (7,87) width 245: "fortably enough, under her arm,"
+ text run at (7,107) width 226: "with its legs hanging down, "
+ text run at (233,107) width 104: "but generally,"
+ text run at (7,127) width 330: "just as she had got its neck nicely straight" + hyphen string "\x{2010}"
+ text run at (7,147) width 42: "ened "
+ text run at (48,147) width 289: "out, and was going to give the hedge" + hyphen string "\x{2010}"
+ text run at (7,167) width 204: "hog a blow with its head, it "
+ text run at (211,167) width 126: "would twist itself"
+ text run at (7,187) width 233: "round and look up in her face\x{2026}"
</ins><span class="cx"> RenderBlock (floating) {DIV} at (4,264) size 344x264
</span><span class="cx"> RenderBlock {P} at (0,16) size 344x18
</span><span class="cx"> RenderText {#text} at (0,0) size 47x17
</span><span class="lines">@@ -69,18 +69,18 @@
</span><span class="cx"> RenderText {#text} at (7,7) size 330x200
</span><span class="cx"> text run at (7,7) width 245: "The chief difficulty Alice found"
</span><span class="cx"> text run at (7,27) width 245: "at first was in managing her"
</span><del>- text run at (7,47) width 245: "flamingo: she succeeded in ge" + hyphen string "\x{2022}"
- text run at (7,67) width 222: "tting its body tucked away, "
- text run at (229,67) width 23: "co" + hyphen string "\x{2022}"
- text run at (7,87) width 245: "mfortably enough, under her"
- text run at (7,107) width 248: "arm, with its legs hanging down, "
- text run at (254,107) width 83: "but genera" + hyphen string "\x{2022}"
- text run at (7,127) width 330: "lly, just as she had got its neck nicely"
- text run at (7,147) width 96: "straightened "
- text run at (102,147) width 235: "out, and was going to give the"
- text run at (7,167) width 285: "hedgehog a blow with its head, it "
- text run at (292,167) width 45: "would"
- text run at (7,187) width 314: "twist itself round and look up in her face\x{2026}"
</del><ins>+ text run at (7,47) width 245: "flamingo: she succeeded in get" + hyphen string "\x{2022}"
+ text run at (7,67) width 208: "ting its body tucked away, "
+ text run at (215,67) width 37: "com" + hyphen string "\x{2022}"
+ text run at (7,87) width 245: "fortably enough, under her arm,"
+ text run at (7,107) width 226: "with its legs hanging down, "
+ text run at (233,107) width 104: "but generally,"
+ text run at (7,127) width 330: "just as she had got its neck nicely straight" + hyphen string "\x{2022}"
+ text run at (7,147) width 42: "ened "
+ text run at (48,147) width 289: "out, and was going to give the hedge" + hyphen string "\x{2022}"
+ text run at (7,167) width 204: "hog a blow with its head, it "
+ text run at (211,167) width 126: "would twist itself"
+ text run at (7,187) width 233: "round and look up in her face\x{2026}"
</ins><span class="cx"> RenderBlock (floating) {DIV} at (356,264) size 357x264
</span><span class="cx"> RenderBlock {P} at (0,16) size 357x18
</span><span class="cx"> RenderText {#text} at (0,0) size 136x17
</span><span class="lines">@@ -95,15 +95,15 @@
</span><span class="cx"> RenderText {#text} at (7,7) size 330x200
</span><span class="cx"> text run at (7,7) width 245: "The chief difficulty Alice found"
</span><span class="cx"> text run at (7,27) width 245: "at first was in managing her"
</span><del>- text run at (7,47) width 245: "flamingo: she succeeded in ge" + hyphen string "\x{B7}~"
- text run at (7,67) width 213: "tting its body tucked away, "
- text run at (220,67) width 32: "co" + hyphen string "\x{B7}~"
- text run at (7,87) width 245: "mfortably enough, under her"
- text run at (7,107) width 252: "arm, with its legs hanging down, "
- text run at (258,107) width 79: "but gene" + hyphen string "\x{B7}~"
- text run at (7,127) width 330: "rally, just as she had got its neck nicely"
- text run at (7,147) width 96: "straightened "
- text run at (102,147) width 235: "out, and was going to give the"
- text run at (7,167) width 285: "hedgehog a blow with its head, it "
- text run at (292,167) width 45: "would"
- text run at (7,187) width 314: "twist itself round and look up in her face\x{2026}"
</del><ins>+ text run at (7,47) width 245: "flamingo: she succeeded in get" + hyphen string "\x{B7}~"
+ text run at (7,67) width 199: "ting its body tucked away, "
+ text run at (206,67) width 46: "com" + hyphen string "\x{B7}~"
+ text run at (7,87) width 245: "fortably enough, under her arm,"
+ text run at (7,107) width 226: "with its legs hanging down, "
+ text run at (233,107) width 104: "but generally,"
+ text run at (7,127) width 330: "just as she had got its neck nicely straight" + hyphen string "\x{B7}~"
+ text run at (7,147) width 40: "ened "
+ text run at (47,147) width 290: "out, and was going to give the hedge" + hyphen string "\x{B7}~"
+ text run at (7,167) width 204: "hog a blow with its head, it "
+ text run at (211,167) width 126: "would twist itself"
+ text run at (7,187) width 233: "round and look up in her face\x{2026}"
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformgtkfasttexthyphenatefirstwordexpectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-first-word-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkfasttexthyphenatefirstwordexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-first-word-expected.txt (199702 => 199703)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/fast/text/hyphenate-first-word-expected.txt        2016-04-19 02:18:45 UTC (rev 199702)
+++ trunk/LayoutTests/platform/gtk/fast/text/hyphenate-first-word-expected.txt        2016-04-19 02:33:24 UTC (rev 199703)
</span><span class="lines">@@ -4,7 +4,7 @@
</span><span class="cx"> RenderBlock {HTML} at (0,0) size 800x600
</span><span class="cx"> RenderBody {BODY} at (8,8) size 784x584
</span><span class="cx"> RenderBlock {DIV} at (0,0) size 226x327 [border: (3px solid #000000)]
</span><del>- RenderText {#text} at (3,3) size 193x321
- text run at (3,3) width 193: "decl" + hyphen string "\x{2010}"
- text run at (3,110) width 107: "in" + hyphen string "\x{2010}"
- text run at (3,217) width 193: "ation"
</del><ins>+ RenderText {#text} at (3,3) size 177x321
+ text run at (3,3) width 166: "dec" + hyphen string "\x{2010}"
+ text run at (3,110) width 177: "lina" + hyphen string "\x{2010}"
+ text run at (3,217) width 150: "tion"
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformgtkfasttexthyphenatelimitbeforeafterexpectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-before-after-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkfasttexthyphenatelimitbeforeafterexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-before-after-expected.txt (199702 => 199703)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-before-after-expected.txt        2016-04-19 02:18:45 UTC (rev 199702)
+++ trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-before-after-expected.txt        2016-04-19 02:33:24 UTC (rev 199703)
</span><span class="lines">@@ -4,28 +4,27 @@
</span><span class="cx"> RenderBlock {HTML} at (0,0) size 800x600
</span><span class="cx"> RenderBody {BODY} at (8,8) size 784x584
</span><span class="cx"> RenderBlock {DIV} at (8,25) size 126x40 [border: (3px solid #000000)]
</span><del>- RenderText {#text} at (3,3) size 98x34
- text run at (3,3) width 96: "There is remar" + hyphen string "\x{2010}"
- text run at (3,20) width 98: "kable evidence."
</del><ins>+ RenderText {#text} at (3,3) size 104x34
+ text run at (3,3) width 104: "There is remark" + hyphen string "\x{2010}"
+ text run at (3,20) width 90: "able evidence."
</ins><span class="cx"> RenderText {#text} at (142,45) size 4x17
</span><span class="cx"> text run at (142,45) width 4: " "
</span><span class="cx"> RenderBlock {DIV} at (154,25) size 126x40 [border: (3px solid #000000)]
</span><del>- RenderText {#text} at (3,3) size 98x34
- text run at (3,3) width 96: "There is remar" + hyphen string "\x{2010}"
- text run at (3,20) width 98: "kable evidence."
</del><ins>+ RenderText {#text} at (3,3) size 104x34
+ text run at (3,3) width 104: "There is remark" + hyphen string "\x{2010}"
+ text run at (3,20) width 90: "able evidence."
</ins><span class="cx"> RenderText {#text} at (288,45) size 4x17
</span><span class="cx"> text run at (288,45) width 4: " "
</span><span class="cx"> RenderBlock {DIV} at (300,25) size 126x40 [border: (3px solid #000000)]
</span><del>- RenderText {#text} at (3,3) size 98x34
- text run at (3,3) width 96: "There is remar" + hyphen string "\x{2010}"
- text run at (3,20) width 98: "kable evidence."
</del><ins>+ RenderText {#text} at (3,3) size 104x34
+ text run at (3,3) width 104: "There is remark" + hyphen string "\x{2010}"
+ text run at (3,20) width 90: "able evidence."
</ins><span class="cx"> RenderText {#text} at (434,45) size 4x17
</span><span class="cx"> text run at (434,45) width 4: " "
</span><del>- RenderBlock {DIV} at (446,8) size 126x57 [border: (3px solid #000000)]
- RenderText {#text} at (3,3) size 70x51
- text run at (3,3) width 51: "There is"
- text run at (3,20) width 70: "remarkable"
- text run at (3,37) width 60: "evidence."
</del><ins>+ RenderBlock {DIV} at (446,25) size 126x40 [border: (3px solid #000000)]
+ RenderText {#text} at (3,3) size 104x34
+ text run at (3,3) width 104: "There is remark" + hyphen string "\x{2010}"
+ text run at (3,20) width 90: "able evidence."
</ins><span class="cx"> RenderText {#text} at (580,45) size 4x17
</span><span class="cx"> text run at (580,45) width 4: " "
</span><span class="cx"> RenderBlock {DIV} at (592,8) size 126x57 [border: (3px solid #000000)]
</span><span class="lines">@@ -35,32 +34,34 @@
</span><span class="cx"> text run at (3,37) width 60: "evidence."
</span><span class="cx"> RenderText {#text} at (726,45) size 4x17
</span><span class="cx"> text run at (726,45) width 4: " "
</span><del>- RenderBlock {DIV} at (8,81) size 126x40 [border: (3px solid #000000)]
- RenderText {#text} at (3,3) size 98x34
- text run at (3,3) width 96: "There is remar" + hyphen string "\x{2010}"
- text run at (3,20) width 98: "kable evidence."
- RenderText {#text} at (142,101) size 4x17
- text run at (142,101) width 4: " "
- RenderBlock {DIV} at (154,81) size 126x40 [border: (3px solid #000000)]
- RenderText {#text} at (3,3) size 98x34
- text run at (3,3) width 96: "There is remar" + hyphen string "\x{2010}"
- text run at (3,20) width 98: "kable evidence."
- RenderText {#text} at (288,101) size 4x17
- text run at (288,101) width 4: " "
- RenderBlock {DIV} at (300,81) size 126x40 [border: (3px solid #000000)]
- RenderText {#text} at (3,3) size 98x34
- text run at (3,3) width 96: "There is remar" + hyphen string "\x{2010}"
- text run at (3,20) width 98: "kable evidence."
- RenderText {#text} at (434,101) size 4x17
- text run at (434,101) width 4: " "
- RenderBlock {DIV} at (446,81) size 126x40 [border: (3px solid #000000)]
- RenderText {#text} at (3,3) size 98x34
- text run at (3,3) width 96: "There is remar" + hyphen string "\x{2010}"
- text run at (3,20) width 98: "kable evidence."
- RenderText {#text} at (580,101) size 4x17
- text run at (580,101) width 4: " "
- RenderBlock {DIV} at (592,81) size 126x40 [border: (3px solid #000000)]
- RenderText {#text} at (3,3) size 98x34
- text run at (3,3) width 96: "There is remar" + hyphen string "\x{2010}"
- text run at (3,20) width 98: "kable evidence."
</del><ins>+ RenderBlock {DIV} at (8,98) size 126x40 [border: (3px solid #000000)]
+ RenderText {#text} at (3,3) size 104x34
+ text run at (3,3) width 104: "There is remark" + hyphen string "\x{2010}"
+ text run at (3,20) width 90: "able evidence."
+ RenderText {#text} at (142,118) size 4x17
+ text run at (142,118) width 4: " "
+ RenderBlock {DIV} at (154,98) size 126x40 [border: (3px solid #000000)]
+ RenderText {#text} at (3,3) size 104x34
+ text run at (3,3) width 104: "There is remark" + hyphen string "\x{2010}"
+ text run at (3,20) width 90: "able evidence."
+ RenderText {#text} at (288,118) size 4x17
+ text run at (288,118) width 4: " "
+ RenderBlock {DIV} at (300,98) size 126x40 [border: (3px solid #000000)]
+ RenderText {#text} at (3,3) size 104x34
+ text run at (3,3) width 104: "There is remark" + hyphen string "\x{2010}"
+ text run at (3,20) width 90: "able evidence."
+ RenderText {#text} at (434,118) size 4x17
+ text run at (434,118) width 4: " "
+ RenderBlock {DIV} at (446,81) size 126x57 [border: (3px solid #000000)]
+ RenderText {#text} at (3,3) size 86x51
+ text run at (3,3) width 72: "There is re" + hyphen string "\x{2010}"
+ text run at (3,20) width 86: "markable evi" + hyphen string "\x{2010}"
+ text run at (3,37) width 41: "dence."
+ RenderText {#text} at (580,118) size 4x17
+ text run at (580,118) width 4: " "
+ RenderBlock {DIV} at (592,81) size 126x57 [border: (3px solid #000000)]
+ RenderText {#text} at (3,3) size 98x51
+ text run at (3,3) width 51: "There is"
+ text run at (3,20) width 98: "remarkable evi" + hyphen string "\x{2010}"
+ text run at (3,37) width 41: "dence."
</ins><span class="cx"> RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkfasttexthyphenatelimitlinesexpectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-lines-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkfasttexthyphenatelimitlinesexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-lines-expected.txt (199702 => 199703)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-lines-expected.txt        2016-04-19 02:18:45 UTC (rev 199702)
+++ trunk/LayoutTests/platform/gtk/fast/text/hyphenate-limit-lines-expected.txt        2016-04-19 02:33:24 UTC (rev 199703)
</span><span class="lines">@@ -1,84 +1,63 @@
</span><del>-layer at (0,0) size 785x969
</del><ins>+layer at (0,0) size 785x998
</ins><span class="cx"> RenderView at (0,0) size 785x600
</span><del>-layer at (0,0) size 785x969
- RenderBlock {HTML} at (0,0) size 785x969
</del><ins>+layer at (0,0) size 785x998
+ RenderBlock {HTML} at (0,0) size 785x998
</ins><span class="cx"> RenderBody {BODY} at (8,8) size 769x584
</span><del>- RenderBlock (floating) {DIV} at (4,0) size 202x466 [border: (1px solid #ADD8E6)]
- RenderText {#text} at (1,1) size 200x464
</del><ins>+ RenderBlock (floating) {DIV} at (4,0) size 202x495 [border: (1px solid #ADD8E6)]
+ RenderText {#text} at (1,1) size 200x493
</ins><span class="cx"> text run at (1,1) width 200: "also the division of"
</span><span class="cx"> text run at (1,30) width 200: "the mind into the"
</span><del>- text run at (1,59) width 200: "rational, concupi" + hyphen string "\x{2010}"
- text run at (1,88) width 141: "scent, and "
- text run at (142,88) width 59: "irasc" + hyphen string "\x{2010}"
- text run at (1,117) width 200: "ible elements, or"
- text run at (1,146) width 200: "of pleasures and"
- text run at (1,175) width 200: "desires into nece" + hyphen string "\x{2010}"
- text run at (1,204) width 116: "ssary and "
- text run at (117,204) width 84: "unnece" + hyphen string "\x{2010}"
- text run at (1,233) width 200: "ssary\x{2014}these and"
</del><ins>+ text run at (1,59) width 200: "rational, concupis" + hyphen string "\x{2010}"
+ text run at (1,88) width 111: "cent, and "
+ text run at (112,88) width 89: "irascible"
+ text run at (1,117) width 200: "elements, or of"
+ text run at (1,146) width 200: "pleasures and de" + hyphen string "\x{2010}"
+ text run at (1,175) width 200: "sires into neces" + hyphen string "\x{2010}"
+ text run at (1,204) width 106: "sary and "
+ text run at (107,204) width 94: "unneces" + hyphen string "\x{2010}"
+ text run at (1,233) width 200: "sary\x{2014}these and"
</ins><span class="cx"> text run at (1,262) width 200: "other great forms"
</span><span class="cx"> text run at (1,291) width 200: "of thought are all"
</span><span class="cx"> text run at (1,320) width 128: "of them "
</span><span class="cx"> text run at (129,320) width 72: "to be"
</span><del>- text run at (1,349) width 200: "found in the Repu" + hyphen string "\x{2010}"
- text run at (1,378) width 200: "blic, and were"
- text run at (1,407) width 200: "probably first"
- text run at (1,436) width 130: "invented by "
- text run at (131,436) width 60: "Plato."
- RenderBlock (floating) {DIV} at (214,0) size 202x466 [border: (1px solid #ADD8E6)]
- RenderText {#text} at (1,1) size 200x464
</del><ins>+ text run at (1,349) width 200: "found in the"
+ text run at (1,378) width 200: "Republic, and"
+ text run at (1,407) width 200: "were probably"
+ text run at (1,436) width 200: "first invented by"
+ text run at (1,465) width 60: "Plato."
+ RenderBlock (floating) {DIV} at (214,0) size 202x495 [border: (1px solid #ADD8E6)]
+ RenderText {#text} at (1,1) size 200x493
</ins><span class="cx"> text run at (1,1) width 200: "also the division of"
</span><span class="cx"> text run at (1,30) width 200: "the mind into the"
</span><del>- text run at (1,59) width 200: "rational, concupi" + hyphen string "\x{2010}"
- text run at (1,88) width 141: "scent, and "
- text run at (142,88) width 59: "irasc" + hyphen string "\x{2010}"
- text run at (1,117) width 200: "ible elements, or"
- text run at (1,146) width 200: "of pleasures and"
- text run at (1,175) width 200: "desires into nece" + hyphen string "\x{2010}"
- text run at (1,204) width 116: "ssary and "
- text run at (117,204) width 84: "unnece" + hyphen string "\x{2010}"
- text run at (1,233) width 200: "ssary\x{2014}these and"
</del><ins>+ text run at (1,59) width 200: "rational, concupis" + hyphen string "\x{2010}"
+ text run at (1,88) width 111: "cent, and "
+ text run at (112,88) width 89: "irascible"
+ text run at (1,117) width 200: "elements, or of"
+ text run at (1,146) width 200: "pleasures and de" + hyphen string "\x{2010}"
+ text run at (1,175) width 200: "sires into neces" + hyphen string "\x{2010}"
+ text run at (1,204) width 106: "sary and "
+ text run at (107,204) width 94: "unneces" + hyphen string "\x{2010}"
+ text run at (1,233) width 200: "sary\x{2014}these and"
</ins><span class="cx"> text run at (1,262) width 200: "other great forms"
</span><span class="cx"> text run at (1,291) width 200: "of thought are all"
</span><span class="cx"> text run at (1,320) width 128: "of them "
</span><span class="cx"> text run at (129,320) width 72: "to be"
</span><del>- text run at (1,349) width 200: "found in the Repu" + hyphen string "\x{2010}"
- text run at (1,378) width 200: "blic, and were"
- text run at (1,407) width 200: "probably first"
- text run at (1,436) width 130: "invented by "
- text run at (131,436) width 60: "Plato."
- RenderBlock (floating) {DIV} at (424,0) size 202x466 [border: (1px solid #ADD8E6)]
- RenderText {#text} at (1,1) size 200x464
- text run at (1,1) width 200: "also the division of"
- text run at (1,30) width 200: "the mind into the"
- text run at (1,59) width 200: "rational, concupi" + hyphen string "\x{2010}"
- text run at (1,88) width 141: "scent, and "
- text run at (142,88) width 59: "irasc" + hyphen string "\x{2010}"
- text run at (1,117) width 200: "ible elements, or"
- text run at (1,146) width 200: "of pleasures and"
- text run at (1,175) width 200: "desires into nece" + hyphen string "\x{2010}"
- text run at (1,204) width 116: "ssary and "
- text run at (117,204) width 84: "unnece" + hyphen string "\x{2010}"
- text run at (1,233) width 200: "ssary\x{2014}these and"
- text run at (1,262) width 200: "other great forms"
- text run at (1,291) width 200: "of thought are all"
- text run at (1,320) width 128: "of them "
- text run at (129,320) width 72: "to be"
- text run at (1,349) width 200: "found in the Repu" + hyphen string "\x{2010}"
- text run at (1,378) width 200: "blic, and were"
- text run at (1,407) width 200: "probably first"
- text run at (1,436) width 130: "invented by "
- text run at (131,436) width 60: "Plato."
- RenderBlock (floating) {DIV} at (4,466) size 202x495 [border: (1px solid #ADD8E6)]
</del><ins>+ text run at (1,349) width 200: "found in the"
+ text run at (1,378) width 200: "Republic, and"
+ text run at (1,407) width 200: "were probably"
+ text run at (1,436) width 200: "first invented by"
+ text run at (1,465) width 60: "Plato."
+ RenderBlock (floating) {DIV} at (424,0) size 202x495 [border: (1px solid #ADD8E6)]
</ins><span class="cx"> RenderText {#text} at (1,1) size 200x493
</span><span class="cx"> text run at (1,1) width 200: "also the division of"
</span><span class="cx"> text run at (1,30) width 200: "the mind into the"
</span><del>- text run at (1,59) width 200: "rational, concupi" + hyphen string "\x{2010}"
- text run at (1,88) width 200: "scent, and"
- text run at (1,117) width 200: "irascible elements,"
- text run at (1,146) width 200: "or of pleasures"
- text run at (1,175) width 200: "and desires into"
- text run at (1,204) width 200: "necessary and"
</del><ins>+ text run at (1,59) width 200: "rational, concupis" + hyphen string "\x{2010}"
+ text run at (1,88) width 111: "cent, and "
+ text run at (112,88) width 89: "irascible"
+ text run at (1,117) width 200: "elements, or of"
+ text run at (1,146) width 200: "pleasures and de" + hyphen string "\x{2010}"
+ text run at (1,175) width 200: "sires into neces" + hyphen string "\x{2010}"
+ text run at (1,204) width 200: "sary and"
</ins><span class="cx"> text run at (1,233) width 155: "unnecessary\x{2014}"
</span><span class="cx"> text run at (1,262) width 200: "these and other"
</span><span class="cx"> text run at (1,291) width 200: "great forms of"
</span><span class="lines">@@ -89,10 +68,32 @@
</span><span class="cx"> text run at (1,407) width 200: "and were probably"
</span><span class="cx"> text run at (1,436) width 200: "first invented by"
</span><span class="cx"> text run at (1,465) width 60: "Plato."
</span><del>- RenderBlock (floating) {DIV} at (214,466) size 202x495 [border: (1px solid #ADD8E6)]
</del><ins>+ RenderBlock (floating) {DIV} at (4,495) size 202x495 [border: (1px solid #ADD8E6)]
</ins><span class="cx"> RenderText {#text} at (1,1) size 200x493
</span><span class="cx"> text run at (1,1) width 200: "also the division of"
</span><span class="cx"> text run at (1,30) width 200: "the mind into the"
</span><ins>+ text run at (1,59) width 200: "rational, concupis" + hyphen string "\x{2010}"
+ text run at (1,88) width 111: "cent, and "
+ text run at (112,88) width 89: "irascible"
+ text run at (1,117) width 200: "elements, or of"
+ text run at (1,146) width 200: "pleasures and de" + hyphen string "\x{2010}"
+ text run at (1,175) width 200: "sires into"
+ text run at (1,204) width 165: "necessary and "
+ text run at (166,204) width 35: "un" + hyphen string "\x{2010}"
+ text run at (1,233) width 183: "necessary\x{2014}these"
+ text run at (1,262) width 200: "and other great"
+ text run at (1,291) width 200: "forms of thought"
+ text run at (1,320) width 180: "are all of them "
+ text run at (181,320) width 20: "to"
+ text run at (1,349) width 200: "be found in the"
+ text run at (1,378) width 200: "Republic, and"
+ text run at (1,407) width 200: "were probably"
+ text run at (1,436) width 200: "first invented by"
+ text run at (1,465) width 60: "Plato."
+ RenderBlock (floating) {DIV} at (214,495) size 202x495 [border: (1px solid #ADD8E6)]
+ RenderText {#text} at (1,1) size 200x493
+ text run at (1,1) width 200: "also the division of"
+ text run at (1,30) width 200: "the mind into the"
</ins><span class="cx"> text run at (1,59) width 87: "rational,"
</span><span class="cx"> text run at (1,88) width 200: "concupiscent, and"
</span><span class="cx"> text run at (1,117) width 200: "irascible elements,"
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkfasttexthyphenatelocaleexpectedpng"></a>
<div class="binary"><h4>Modified: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-locale-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="trunkLayoutTestsplatformgtkfasttexthyphenatelocaleexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/fast/text/hyphenate-locale-expected.txt (199702 => 199703)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/fast/text/hyphenate-locale-expected.txt        2016-04-19 02:18:45 UTC (rev 199702)
+++ trunk/LayoutTests/platform/gtk/fast/text/hyphenate-locale-expected.txt        2016-04-19 02:33:24 UTC (rev 199703)
</span><span class="lines">@@ -8,13 +8,13 @@
</span><span class="cx"> RenderText {#text} at (0,0) size 158x40
</span><span class="cx"> text run at (0,0) width 158: "throughout"
</span><span class="cx"> RenderBlock {DIV} at (0,40) size 130x80
</span><del>- RenderText {#text} at (0,0) size 106x80
- text run at (0,0) width 106: "throug" + hyphen string "\x{2010}"
- text run at (0,40) width 64: "hout"
</del><ins>+ RenderText {#text} at (0,0) size 124x80
+ text run at (0,0) width 124: "through" + hyphen string "\x{2010}"
+ text run at (0,40) width 46: "out"
</ins><span class="cx"> RenderBlock {DIV} at (0,120) size 130x80
</span><del>- RenderText {#text} at (0,0) size 106x80
- text run at (0,0) width 106: "throug" + hyphen string "\x{2010}"
- text run at (0,40) width 64: "hout"
</del><ins>+ RenderText {#text} at (0,0) size 124x80
+ text run at (0,0) width 124: "through" + hyphen string "\x{2010}"
+ text run at (0,40) width 46: "out"
</ins><span class="cx"> RenderBlock {DIV} at (0,200) size 130x40
</span><span class="cx"> RenderText {#text} at (0,0) size 158x40
</span><span class="cx"> text run at (0,0) width 158: "throughout"
</span><span class="lines">@@ -26,17 +26,17 @@
</span><span class="cx"> RenderText {#text} at (0,0) size 156x40
</span><span class="cx"> text run at (0,0) width 156: "reciprocity"
</span><span class="cx"> RenderBlock {DIV} at (0,40) size 135x80
</span><del>- RenderText {#text} at (0,0) size 114x80
- text run at (0,0) width 114: "recipro" + hyphen string "\x{2010}"
- text run at (0,40) width 54: "city"
</del><ins>+ RenderText {#text} at (0,0) size 130x80
+ text run at (0,0) width 130: "reciproc" + hyphen string "\x{2010}"
+ text run at (0,40) width 38: "ity"
</ins><span class="cx"> RenderBlock {DIV} at (0,120) size 135x80
</span><ins>+ RenderText {#text} at (0,0) size 130x80
+ text run at (0,0) width 130: "reciproc" + hyphen string "\x{2010}"
+ text run at (0,40) width 38: "ity"
+ RenderBlock {DIV} at (0,200) size 135x80
</ins><span class="cx"> RenderText {#text} at (0,0) size 114x80
</span><span class="cx"> text run at (0,0) width 114: "recipro" + hyphen string "\x{2010}"
</span><span class="cx"> text run at (0,40) width 54: "city"
</span><del>- RenderBlock {DIV} at (0,200) size 135x80
- RenderText {#text} at (0,0) size 96x80
- text run at (0,0) width 96: "recipr" + hyphen string "\x{2010}"
- text run at (0,40) width 72: "ocity"
</del><span class="cx"> RenderBlock {DIV} at (0,280) size 135x40
</span><span class="cx"> RenderText {#text} at (0,0) size 156x40
</span><span class="cx"> text run at (0,0) width 156: "reciprocity"
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (199702 => 199703)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-04-19 02:18:45 UTC (rev 199702)
+++ trunk/Source/WebCore/ChangeLog        2016-04-19 02:33:24 UTC (rev 199703)
</span><span class="lines">@@ -1,3 +1,15 @@
</span><ins>+2016-04-18 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] Possible off-by-one in hyphenation code
+ https://bugs.webkit.org/show_bug.cgi?id=156661
+
+ Reviewed by Michael Catanzaro.
+
+ No new tests. This is covered by older tests.
+
+ * platform/text/hyphen/HyphenationLibHyphen.cpp:
+ (WebCore::lastHyphenLocation): Fix an off by one error in hyphen location.
+
</ins><span class="cx"> 2016-04-18 Eric Carlson <eric.carlson@apple.com>
</span><span class="cx">
</span><span class="cx"> [OSX] AVKit is not available on all systems
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformtexthyphenHyphenationLibHyphencpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/text/hyphen/HyphenationLibHyphen.cpp (199702 => 199703)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/text/hyphen/HyphenationLibHyphen.cpp        2016-04-19 02:18:45 UTC (rev 199702)
+++ trunk/Source/WebCore/platform/text/hyphen/HyphenationLibHyphen.cpp        2016-04-19 02:33:24 UTC (rev 199703)
</span><span class="lines">@@ -256,11 +256,11 @@
</span><span class="cx"> free(positions);
</span><span class="cx"> free(removedCharacterCounts);
</span><span class="cx">
</span><del>- for (int i = beforeIndex - leadingSpaceCharacters - 1; i >= 0; i--) {
</del><ins>+ for (int i = beforeIndex - leadingSpaceCharacters - 2; i >= 0; i--) {
</ins><span class="cx"> // libhyphen will put an odd number in hyphenArrayData at all
</span><span class="cx"> // hyphenation points. A number & 1 will be true for odd numbers.
</span><span class="cx"> if (hyphenArrayData[i] & 1)
</span><del>- return i + leadingSpaceCharacters;
</del><ins>+ return i + 1 + leadingSpaceCharacters;
</ins><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span></span></pre>
</div>
</div>
</body>
</html>