Problem with reading 'writing-mode' ODF attribute in Impress

Regina Henschel rb.henschel at
Fri Aug 26 08:41:06 UTC 2022

Hi Miklos,

Miklos Vajna schrieb am 26.08.2022 um 08:36:
> Hi Regina,
> On Thu, Aug 25, 2022 at 11:31:24AM +0200, Regina Henschel wrote:
>> Has someone an idea, why the import for 'loext' does not work? Or can
>> someone point me to the place, where this part of import happens? Or can
>> someone explain to me the steps involved in importing a style? Any help is
>> appreciated.
> I think writing mode was originally in the style namespace, and I only
> added a new enumeration value (btlr) that required writing it in the
> loext namespace. Given that other writing directions are quite common, I
> made sure that only btlr gets written to loext, other enumeration values
> continue to use style:

The export part works with my patch for shapes too. I get the correct 

> The import side is easier, simply the property map has 2 entries and we
> read all enum values from both namespaces.

The import part is the problem. loext:writing-mode="bt-lr" is not read, 
when it is used for a shape. When it is used for a frame, there is no 

Which "property map" do you mean?

> Now my understanding is that editeng (i.e. shape text) only supports
> lrtb ("horizontal") and tbrl ("vertical") writing modes (so it's
> essentially a single "vertical" boolean), so which means for you that
> "rotate to the right" would work for you, but "rotate to the left" only
> works in Writer table cells and text frames, not in shape text's writing
> mode.

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.

Kind regards,

More information about the LibreOffice mailing list