<div dir="ltr">I tried the sequences you identified against ICU line breaking,<div><br></div><div>− 2212 MINUS SIGN  (line-breaking class PR)<br>‎$ 0024 DOLLAR SIGN (line-breaking class PR)<br>‎4 0034 DIGIT FOUR  (line-breaking class NU)<br>‎5 0035 DIGIT FIVE  (line-breaking class NU)<br></div><div><br></div><div>and </div><div><br></div><div>+ 002B PLUS SIGN  (line-breaking class PR)<br>‎$ 0024 DOLLAR SIGN (line-breaking class PR)<br>‎4 0034 DIGIT FOUR  (line-breaking class NU)<br>‎5 0035 DIGIT FIVE  (line-breaking class NU)<br></div><div><br></div><div>In both cases there was a boundary after the first character (− or +), which is consistent with the UAX-14 rules. Whether this is desirable or not is a separate question.</div><div><br></div><div>Perhaps Safari has done some additional tailoring of the rules in question.</div><div><br></div><div>For what it's worth, for Numbers, ICU uses the full regular expression</div><div><span style="color:rgb(0,0,0);font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center">( </span><a class="gmail-charclass" href="http://unicode.org/reports/tr14/#PR" style="color:rgb(128,128,128);text-decoration-line:none;font-weight:bold;font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center">PR</a><span style="color:rgb(0,0,0);font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center"> | </span><a class="gmail-charclass" href="http://unicode.org/reports/tr14/#PO" style="color:rgb(128,128,128);text-decoration-line:none;font-weight:bold;font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center">PO</a><span style="color:rgb(0,0,0);font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center">) ? ( </span><a class="gmail-charclass" href="http://unicode.org/reports/tr14/#OP" style="color:rgb(128,128,128);text-decoration-line:none;font-weight:bold;font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center">OP</a><span style="color:rgb(0,0,0);font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center"> | </span><a class="gmail-charclass" href="http://unicode.org/reports/tr14/#HY" style="color:rgb(128,128,128);text-decoration-line:none;font-weight:bold;font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center">HY</a><span style="color:rgb(0,0,0);font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center"> ) ? </span><a class="gmail-charclass" href="http://unicode.org/reports/tr14/#NU" style="color:rgb(128,128,128);text-decoration-line:none;font-weight:bold;font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center">NU</a><span style="color:rgb(0,0,0);font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center"> (</span><a class="gmail-charclass" href="http://unicode.org/reports/tr14/#NU" style="color:rgb(128,128,128);text-decoration-line:none;font-weight:bold;font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center">NU</a><span style="color:rgb(0,0,0);font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center"> | </span><a class="gmail-charclass" href="http://unicode.org/reports/tr14/#SY" style="color:rgb(128,128,128);text-decoration-line:none;font-weight:bold;font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center">SY</a><span style="color:rgb(0,0,0);font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center"> | </span><a class="gmail-charclass" href="http://unicode.org/reports/tr14/#IS" style="color:rgb(128,128,128);text-decoration-line:none;font-weight:bold;font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center">IS</a><span style="color:rgb(0,0,0);font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center">) * (</span><a class="gmail-charclass" href="http://unicode.org/reports/tr14/#CL" style="color:rgb(128,128,128);text-decoration-line:none;font-weight:bold;font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center">CL</a><span style="color:rgb(0,0,0);font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center"> | </span><a class="gmail-charclass" href="http://unicode.org/reports/tr14/#CP" style="color:rgb(128,128,128);text-decoration-line:none;font-weight:bold;font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center">CP</a><span style="color:rgb(0,0,0);font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center">) ? ( </span><a class="gmail-charclass" href="http://unicode.org/reports/tr14/#PR" style="color:rgb(128,128,128);text-decoration-line:none;font-weight:bold;font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center">PR</a><span style="color:rgb(0,0,0);font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center"> | </span><a class="gmail-charclass" href="http://unicode.org/reports/tr14/#PO" style="color:rgb(128,128,128);text-decoration-line:none;font-weight:bold;font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center">PO</a><span style="color:rgb(0,0,0);font-family:Arial,"Lucida Sans Unicode","Arial Unicode MS",sans-serif;font-size:medium;text-align:center">) ?</span><br></div>instead of the short fragments of rules from LB24 and LB25. The main difference is that a "number" sequence must contain at least one NU character.<div><br></div><div>  -- Andy<br><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 1, 2022 at 8:38 AM Ophir Lifshitz via Unicode <<a href="mailto:unicode@corp.unicode.org">unicode@corp.unicode.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hello again,</div><div><br></div><div>I hope it's not an issue to re-ask this question I had from a while back.</div><div><br></div><div>Thanks!</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Sep 19, 2021 at 5:13 AM Ophir Lifshitz <<a href="mailto:me@ophir.li" target="_blank">me@ophir.li</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I have a question about the line-breaking algorithm. Apologies if it<br>
is uninformed or if this is the wrong venue.<br>
<br>
I recently experienced an unexpected line break[1] after the first<br>
character in the following sequence[2]:<br>
<br>
‎− 2212 MINUS SIGN  (line-breaking class PR)<br>
‎$ 0024 DOLLAR SIGN (line-breaking class PR)<br>
‎4 0034 DIGIT FOUR  (line-breaking class NU)<br>
‎5 0035 DIGIT FIVE  (line-breaking class NU)<br>
<br>
(However, if the first character is replaced by 002B PLUS SIGN (also<br>
class PR), a line break does not occur.)<br>
<br>
I also noticed that there is no "PR × PR" rule in (e.g.) LB25.<br>
<br>
Is this intended, perhaps an oversight, or is it up to implementation<br>
discretion i.e. "tailored"?<br>
<br>
If it is an oversight, what is the process for correcting it or filing<br>
a bug? It is hard to find that information on the Unicode website.<br>
<br>
Thank you.<br>
<br>
<br>
[1] The line break appeared in Chrome 93 and Safari 13.1 on Mac 10.13,<br>
but not in Firefox 85.<br>
I tested by navigating in my browser to the following data URIs:<br>
<br>
data:text/html;charset=utf-8,<p%20style="width:1px;">%E2%88%92$45</p><br>
data:text/html;charset=utf-8,<p%20style="width:1px;">%2B$45</p><br>
<br>
[2] This sequence is intended to behave as a single unit (word), and<br>
refers to a price discount in the original text.<br>
</blockquote></div></div>
</blockquote></div>