On Thu, 25 Jan 2024 23:44:06 GMT, Andy Goryachev <ango...@openjdk.org> wrote:

>>> Regarding other whitespace characters. Using \u2003 em space, pasting the 
>>> following text
>> 
>> I think we can use `Character.isWhitespace`. For the most part it aligns 
>> with "is this a breaking space".  It's not perfect, but we can do more when 
>> there are complaints.  Here's my test:
>> 
>> 
>> char     isWhiteSpace (breaking space)?
>> \u0009   true
>> \u0020   true
>> \u00a0   false
>> \u1680   true
>> \u180e   false <- unexpected
>> \u2001   true
>> \u2002   true
>> \u2003   true
>> \u2004   true
>> \u2005   true
>> \u2006   true
>> \u2007   false
>> \u2008   true
>> \u2009   true
>> \u200a   true
>> \u200b   false <- unexpected
>> \u200c   false <- unexpected
>> \u200d   false <- unexpected
>> \u202f   false
>> \u205f   true
>> \u3000   true
>
> thank you @hjohn !  this PR has been out for a while, could you sync it up 
> with the master please?

@andy-goryachev-oracle thanks for testing this, what you discovered was a bug 
in the `computeTrailingWhiteSpace` code that went undetected because of the 
simplicity of the strings I tested with.  The `positions` array containing all 
the character widths is shared amongst all `TextRun`s (it does mention that) 
but I accessed it as if it was 0 based per `TextRun`.  This means it sometimes 
included the width of characters that weren't spaces at all...

-------------

PR Comment: https://git.openjdk.org/jfx/pull/1236#issuecomment-1911261917

Reply via email to