b3bdb10195
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> |
||
---|---|---|
.. | ||
ImplLayoutArgs.cxx | ||
ImplLayoutRuns.cxx | ||
TextLayoutCache.cxx |