office-gobmx/vcl/source/text
Luboš Luňák b3bdb10195 do not use ubidi_setLine() for text runs
As far as I understand this, the setLine() is meant to be called for
every line in the paragraph set by setPara(), but
- our text layout API does not say this in any way, it may be kind of
assumed that a substring is a line in a paragraph, but it's not a given,
as we call layout functions also e.g. for underlined parts of the text
- as I understand it after looking at the source of that function,
it really just changes processing to work on a subset of the paragraph,
so all it seems to do is to prepare the whole text once with setPara()
and then reuse that with repeated calls to setLine(), so it's basically
just an optimization, but here using setPara() on the entire string
actually should make it slower by processing parts of the string that
are not used
- if the substring contains some control characters that may be
interpreted as going to the next paragraph (#moz147714-1 does this with
0x1e record-separator character), then setLine() will fail because
it will not consider the substring to be in just one paragraph and there
will be no run detected

Change-Id: Ided1d777f086f7905732b408e845405db0163e49
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134763
Tested-by: Luboš Luňák <l.lunak@collabora.com>
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2022-05-24 13:25:23 +02:00
..
ImplLayoutArgs.cxx
ImplLayoutRuns.cxx
TextLayoutCache.cxx