Date: prev next · Thread: first prev next last
2019 Archives by date, by thread · List index


Hi all,

I have started to familiarize myself with the topic 'text in custom shapes'. My goal is to clean up the current mess and eliminate mistakes.

It is possible to rotate the text area into which the text is written in addition to a rotation of the shape itself. That is done in ODF by the attribute draw:text-rotate-angle of the element <draw:enhanced-geometry>. That corresponds to the property TextRotateAngle of our API. And OOXML has a similar attribute "rot" of the element bodyPr. So there is no principle problem with this attribute. But the import of OOXML is buggy (tdf#127437) and the text frame solution for custom shapes in Writer does not allow rotation.

But OOXML has two attributes in this area that have no counterpart in ODF.

1. The attribute "vert" of the bodyPr element.
The attribute "vert" defines the text orientation. Possible values are "eaVert", "horz", "mongolianVert", "vert", "vert270", "wordArtVert" and "wordArtVertRtl". The UI of my MS Offic 365 has it as "Text direction". The UI of my MS Office 365 has only "horz" = Horizontal, "eaVert" = Vertical, "vert" = Rotate all text 90°", "vert270" = Rotate all text 270°" and "wordArtVert" = Stacked.

From this I have expected a property with enum-values in LO. But I have only found a property "TextPreRotateAngle" (without API).

There seems to be a lot of confusion between text orientation and text area rotation. So simulating the "vert" and "vert270" text orientation by using text area rotation has at least the bugs tdf#127438 and tdf#127439. I expect, that some bugs in Calc about wrong text or wrong shape rotation belong in this category too.

2. The attribute "upright" of the bodyPr element
The attribute "upright" defines, that the text is always shown upright and all transformations applied to the text or to the containing shape are ignored. I find it in the UI of MS Office 365 only in Word, but it works in PowerPoint and Excel too. In the UI it is a checkbox "Do not rotate text". In binary MS Office it seems to be the flag fRotateText.

I see it for OOXML only as comment in https://opengrok.libreoffice.org/xref/core/oox/source/drawingml/textbodypropertiescontext.cxx?r=e7c0bc48#103. So it seems to be not implemented at all. For binary import I see it in https://opengrok.libreoffice.org/xref/core/filter/source/msfilter/msdffimp.cxx?r=71740e63#2831, where it is immediately interpreted and not available after import is finished.

What to do with attribute "upright"?


Something wrong? Something missing?

Kind regards
Regina

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.