https://bugs.documentfoundation.org/show_bug.cgi?id=120190

--- Comment #10 from Eike Rathke <[email protected]> ---
Problem is, the formula multiline result is converted to a plain simple text
string, which when displayed is not treated special in any way i.e. no linefeed
/ multiple paragraph detection whatsoever.

Furthermore, when storing and loading such string cell with

          <table:table-cell office:value-type="string"
calcext:value-type="string">
            <text:p>aaa<text:line-break/>Bbb</text:p>
          </table:table-cell>

the embedded <text:line-break/> is ignored and skipped (maybe on purpose,
didn't check), so a previous LEN(A1)=>7 becomes 6.

Both, display and store/load problems, could be solved if instead a cell with
an EditTextObject would be created for a multiline result, properly using the
document's SharedStringPool.

See
https://opengrok.libreoffice.org/xref/core/sc/source/core/data/column4.cxx?r=1a7913c1#492
and for inspiration
https://opengrok.libreoffice.org/xref/core/sc/source/core/data/clipcontext.cxx?r=20b8c7f3#254


The mere display of such embedded linefeed *maybe* could be solved by adding
CHAR_LF to ScDrawStringsVars::HasEditCharacters() in
https://opengrok.libreoffice.org/xref/core/sc/source/ui/view/output2.cxx?r=f9395a12#810
that in
https://opengrok.libreoffice.org/xref/core/sc/source/ui/view/output2.cxx?r=f9395a12#1731
forces the use of an EditEngine. But that wouldn't address the store/load
omission of the linebreak. So rather keep the display as a visible indicator
until solved/clarified.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to