Bug 1423408 - Allow line-break between ellipsis/leader dots and a following letter. r=masayuki
authorJonathan Kew <jkew@mozilla.com>
Tue, 12 Dec 2017 16:21:55 -0600
changeset 396123 d1fd7e71f31009e2f0ec6baed04b3d7862993914
parent 396122 8e9e0453dff5a1e15c7046e28888e1ae75f1625f
child 396124 12a50b0af80f3c82a63dc408736ea17192d63f3d
push id98247
push userjkew@mozilla.com
push dateTue, 12 Dec 2017 22:22:13 +0000
treeherdermozilla-inbound@d1fd7e71f310 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmasayuki
bugs1423408
milestone59.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1423408 - Allow line-break between ellipsis/leader dots and a following letter. r=masayuki
intl/lwbrk/jisx4051class.h
intl/lwbrk/tools/anzx4051.html
intl/lwbrk/tools/anzx4051.pl
intl/lwbrk/tools/jisx4051class.txt
layout/reftests/line-breaking/leaders-1-ref.html
layout/reftests/line-breaking/leaders-1.html
--- a/intl/lwbrk/jisx4051class.h
+++ b/intl/lwbrk/jisx4051class.h
@@ -41,17 +41,17 @@ 0xA7777777, // U+00F0 - U+00F7
 0x77777777, // U+00F8 - U+00FF
 };
 
 static const uint32_t gLBClass20[32] = {
 0xB5555555, // U+2000 - U+2007
 0x77775555, // U+2008 - U+200F
 0x777277B7, // U+2010 - U+2017
 0x77A777A7, // U+2018 - U+201F
-0xAAAA7777, // U+2020 - U+2027
+0xA1117777, // U+2020 - U+2027
 0xB7777777, // U+2028 - U+202F
 0x77744444, // U+2030 - U+2037
 0x7A115107, // U+2038 - U+203F
 0x11017777, // U+2040 - U+2047
 0x77777711, // U+2048 - U+204F
 0x77777777, // U+2050 - U+2057
 0x57777777, // U+2058 - U+205F
 0x7777777B, // U+2060 - U+2067
--- a/intl/lwbrk/tools/anzx4051.html
+++ b/intl/lwbrk/tools/anzx4051.html
@@ -91,20 +91,20 @@ Analysis of JIS X 4051 to Unicode Genera
 <TD></TD>
 <TD></TD>
 </TR>
 <TR><TH>01_[a]<TH>
 <TD></TD>
 <TD>32</TD>
 <TD>2</TD>
 <TD></TD>
-<TD>28</TD>
+<TD>31</TD>
 <TD>3</TD>
 <TD></TD>
-<TD BGCOLOR=white>65</TD>
+<TD BGCOLOR=white>68</TD>
 <TD></TD>
 <TD></TD>
 <TD></TD>
 <TD></TD>
 <TD></TD>
 <TD>8</TD>
 <TD>24</TD>
 <TD></TD>
@@ -115,17 +115,17 @@ Analysis of JIS X 4051 to Unicode Genera
 <TD></TD>
 <TD></TD>
 <TD></TD>
 <TD></TD>
 <TD>1</TD>
 <TD>12</TD>
 <TD>1</TD>
 <TD></TD>
-<TD>14</TD>
+<TD>17</TD>
 <TD></TD>
 <TD></TD>
 <TD>2</TD>
 <TD>1</TD>
 <TD></TD>
 <TD></TD>
 <TD></TD>
 <TD></TD>
@@ -442,20 +442,20 @@ Analysis of JIS X 4051 to Unicode Genera
 <TD></TD>
 <TD></TD>
 </TR>
 <TR><TH>0A_[d]<TH>
 <TD>1</TD>
 <TD>2</TD>
 <TD></TD>
 <TD>6</TD>
-<TD>28</TD>
+<TD>25</TD>
 <TD>14</TD>
 <TD></TD>
-<TD BGCOLOR=white>51</TD>
+<TD BGCOLOR=white>48</TD>
 <TD></TD>
 <TD>1</TD>
 <TD></TD>
 <TD></TD>
 <TD>1</TD>
 <TD></TD>
 <TD>1</TD>
 <TD></TD>
@@ -466,17 +466,17 @@ Analysis of JIS X 4051 to Unicode Genera
 <TD></TD>
 <TD></TD>
 <TD>6</TD>
 <TD></TD>
 <TD></TD>
 <TD>3</TD>
 <TD>3</TD>
 <TD></TD>
-<TD>22</TD>
+<TD>19</TD>
 <TD></TD>
 <TD>2</TD>
 <TD>3</TD>
 <TD>7</TD>
 <TD>2</TD>
 <TD></TD>
 <TD></TD>
 <TD></TD>
@@ -618,26 +618,26 @@ Analysis of JIS X 4051 to Unicode Genera
 <TD>110</TD>
 <TD></TD>
 <TD></TD>
 <TD></TD>
 <TD></TD>
 </TR>
 <TR><TH>20<TH>
 <TD>2</TD>
-<TD>8</TD>
+<TD>11</TD>
 <TD>1</TD>
 <TD></TD>
 <TD>5</TD>
 <TD>13</TD>
 <TD></TD>
 <TD>100</TD>
 <TD></TD>
 <TD></TD>
-<TD>7</TD>
+<TD>4</TD>
 <TD>4</TD>
 <TD></TD>
 </TR>
 <TR><TH>21<TH>
 <TD></TD>
 <TD></TD>
 <TD></TD>
 <TD>1</TD>
--- a/intl/lwbrk/tools/anzx4051.pl
+++ b/intl/lwbrk/tools/anzx4051.pl
@@ -45,18 +45,18 @@ open ( SIMP , "< jisx4051simp.txt")
 open ( OUT , "> anzx4051.html") 
   || die "cannot open output anzx4051.html file";
 
 ######################################################################
 #
 # Open the output file
 #
 ######################################################################
-open ( HEADER , "> ../src/jisx4051class.h") 
-  || die "cannot open output ../src/jisx4051class.h file";
+open ( HEADER , "> ../jisx4051class.h")
+  || die "cannot open output ../jisx4051class.h file";
 
 ######################################################################
 #
 # Generate license and header
 #
 ######################################################################
 $hthmlheader = <<END_OF_HTML;
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
@@ -81,17 +81,17 @@ print OUT $hthmlheader;
 # Generate license and header
 #
 ######################################################################
 $npl = <<END_OF_NPL;
 /* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-/* 
+/*
     DO NOT EDIT THIS DOCUMENT !!! THIS DOCUMENT IS GENERATED BY
     mozilla/intl/lwbrk/tools/anzx4051.pl
  */
 END_OF_NPL
 print HEADER $npl;
 
 %occ = ();
 %gcat = ();
--- a/intl/lwbrk/tools/jisx4051class.txt
+++ b/intl/lwbrk/tools/jisx4051class.txt
@@ -56,17 +56,17 @@ 2011;;24
 2012;2013;18
 2014;;7
 2015;;18
 2016;2017;18
 2019;;23
 201D;;23
 2018;201F;18
 2020;2023;18
-2024;2026;23
+2024;2026;2
 2027;;23
 2028;202E;18
 202F;;24
 2030;2034;9
 2035;2038;18
 2039;;1
 203A;;2
 203B;;12
--- a/layout/reftests/line-breaking/leaders-1-ref.html
+++ b/layout/reftests/line-breaking/leaders-1-ref.html
@@ -1,17 +1,26 @@
 <html>
 <head>
 <style type="text/css"> p { margin: 5px 1em; width: 0; white-space: nowrap; } </style>
 </head>
 <body>
 
 <!-- U+2024 is ONE DOT LEADER -->
-<p>abcdef&#x2024;&#x2024;&#x2024;abcdef</p>
+<p>abcdef&#x2024;&#x2024;&#x2024;<br>abcdef</p>
+<p>abcdef&#x2024;<br>abcdef</p>
+<p>abcdef&#x2024; <br>abcdef</p>
+<p>abcdef <br>&#x2024;abcdef</p>
 
 <!-- U+2025 is TWO DOT LEADER -->
-<p>abcdef&#x2025;&#x2025;&#x2025;abcdef</p>
+<p>abcdef&#x2025;&#x2025;&#x2025;<br>abcdef</p>
+<p>abcdef&#x2025;<br>abcdef</p>
+<p>abcdef&#x2025; <br>abcdef</p>
+<p>abcdef <br>&#x2025;abcdef</p>
 
 <!-- U+2026 is HORIZONTAL ELLIPSIS -->
-<p>abcdef&#x2026;&#x2026;&#x2026;abcdef</p>
+<p>abcdef&#x2026;&#x2026;&#x2026;<br>abcdef</p>
+<p>abcdef&#x2026;<br>abcdef</p>
+<p>abcdef&#x2026; <br>abcdef</p>
+<p>abcdef <br>&#x2026;abcdef</p>
 
 </body>
 </html>
--- a/layout/reftests/line-breaking/leaders-1.html
+++ b/layout/reftests/line-breaking/leaders-1.html
@@ -1,17 +1,26 @@
 <html>
 <head>
 <style type="text/css"> p { margin: 5px 1em; width: 0; } </style>
 </head>
 <body>
 
 <!-- U+2024 is ONE DOT LEADER -->
 <p>abcdef&#x2024;&#x2024;&#x2024;abcdef</p>
+<p>abcdef&#x2024;abcdef</p>
+<p>abcdef&#x2024; abcdef</p>
+<p>abcdef &#x2024;abcdef</p> <!-- no break after the leader in this case -->
 
 <!-- U+2025 is TWO DOT LEADER -->
 <p>abcdef&#x2025;&#x2025;&#x2025;abcdef</p>
+<p>abcdef&#x2025;abcdef</p>
+<p>abcdef&#x2025; abcdef</p>
+<p>abcdef &#x2025;abcdef</p> <!-- no break after the leader in this case -->
 
 <!-- U+2026 is HORIZONTAL ELLIPSIS -->
 <p>abcdef&#x2026;&#x2026;&#x2026;abcdef</p>
+<p>abcdef&#x2026;abcdef</p>
+<p>abcdef&#x2026; abcdef</p>
+<p>abcdef &#x2026;abcdef</p> <!-- no break after the ellipsis in this case -->
 
 </body>
 </html>