Problem with reading 'writing-mode' ODF attribute in Impress
rb.henschel at t-online.de
Wed Aug 31 09:55:49 UTC 2022
Miklos Vajna schrieb am 29.08.2022 um 09:28:
>> Problem is, that style:writing-mode="tb-lr" (OOXML vert="eaVert") and
>> style:writing-mode="tb-lr" (OOXML vert="mongolianVert") are correctly loaded
>> into 'WritingMode' API-attribute, but loext:writing-mode="bt-lr" (OOXML
>> vert="vert270") and my new loext:writing-mode="tb-rl90" (OOXML vert="vert")
>> are not loaded. And I have no clue where they are lost.
> You could try to see which C++ class implements the setPropertyValue()
> member function handling your WritingMode. Perhaps as a start, log the
> value of rPropertyValue in SvxShape::setPropertyValue(). If you see
> WritingMode there, then you can step in the debugger to see where is
> that handled.
That was a good tip. I found my error, that the property was not
actually set at the object and therefore the default 0 was used. But
after fixing that, I still got a 0 on opening.
I then used test files, where I removed 'writing-mode' attributes. I
have found, that the 0 comes from the 'style:writing-mode' in the
paragraph properties inside the graphic style. From point of standard it
is correct that it takes precedence over the 'writing-mode' in the
graphic properties inside the graphic style.
I will try now to change ContextFilter() method to get a suitable markup
on saving. I need to be careful to not conflict with frames. But I am
hopeful to find a solution.
More information about the LibreOffice