Bug 168782 - Options for vertical-first writing modes gone from Paragraph format dialogs
Summary: Options for vertical-first writing modes gone from Paragraph format dialogs
Status: UNCONFIRMED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
7.6.7.2 release
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: CJK Paragraph-Dialog
  Show dependency treegraph
 
Reported: 2025-10-09 22:48 UTC by Eyal Rozenberg
Modified: 2025-10-14 20:13 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments
Example showing layout and paragraph direction interacting (12.46 KB, application/vnd.oasis.opendocument.text)
2025-10-14 20:02 UTC, Jonathan Clark
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Eyal Rozenberg 2025-10-09 22:48:20 UTC
When full support for both RTL-CTL and CJK languages is enabled, the Direction widget in the Format > Paragraph... or Paragraph Style editing dialog should have (at least) five options:

"Use superordinate object settings"
"Right to Left (Horizontal)"
"Left to Right (Horizontal)"
"Right to Left (Vertical)"
"Left to Right (Vertical)"

Yet - I only see the first three, and without mentioning vertical-first writing modes:

"Use superordinate object settings"
"Right to Left"
"Left to Right"

I double-checked I have CJK support enable in my prefs dialog. Seeing this problem going back many versions - 7.6.x, 25.2.x, 25.8.x, 26.2 nightlies. Also checked with Safe Mode.

Am I forgetting some extra setting somewhere?
Comment 1 Jonathan Clark 2025-10-14 17:29:19 UTC
They haven't disappeared. Layout direction is a property of pages, so the vertical-first writing modes can only be set on page styles. Paragraph direction, on the other hand, exists for the purposes of the Unicode BiDi Algorithm; lr-tb and rl-tb are the only meaningful values.

This is formalized in ODF 1.3 Appendix E.1 (Paragraph and Layout Direction).
Comment 2 Eyal Rozenberg 2025-10-14 18:38:04 UTC
(In reply to Jonathan Clark from comment #1)

> They haven't disappeared. Layout direction is a property of pages, so the
> vertical-first writing modes can only be set on page styles. Paragraph
> direction, on the other hand, exists for the purposes of the Unicode BiDi
> Algorithm; lr-tb and rl-tb are the only meaningful values.

So, that gives me the explanation of what's happening. But - I don't think this is an acceptable situation, from a user's perspective.

First and foremost - its a property with the same name and 3 of the 5 possible values are the same. Users cannot be expected to interpret the meaning of "text direction" differently. If the page-level text direction was set to "Right-to-Left (Vertical)", then the paragraph text direction would be expected to be the same thing. If the user were to see only "(vertical)" options, or only "(horizontal)" options - they would understand that the other two options are currently not available, since the paragraph is necessarily-vertical or necessarily-horizontal. That would be less confusing, or perhaps I should say better adhering to the principle of least astonishment[1].

Second - there is no inherent reason why vertical-vs-horizontal writing mode aspect would only be a property of pages rather than of paragraphs. It is quite possible to render one paragraph of text in tblr, and a subsequent paragraph in lrtb, for example. Doing so might not even necessitate the next paragraph being on another page: that would depend on how far along the page the first paragraph's text would reach. Now, sure, it may be the case that LO, or ODF, don't support this - but that lack of support does not translate into a user assuming that paragraph direction should hide the very existence of a vertical vs horizontal aspect.

So, bottom line, I think I'm asking, for now, that the values in the PS dialog text direction will have the same parenthetical qualifier as in the PgS dialog; or, alternatively, that we include some label indicating that the directions are vertical-first.


[1] : https://en.wikipedia.org/wiki/Principle_of_least_astonishment
Comment 3 Jonathan Clark 2025-10-14 20:02:24 UTC
Created attachment 203337 [details]
Example showing layout and paragraph direction interacting

I'd also argue there is a problem with LO/ODF overloading a single attribute to refer to two different concepts.

To make this even more interesting, consider the case of an RTL paragraph inside a vertical Asian document (example attached). I suspect it's rare in the real world, but it's a legitimate use case that is well-defined under ODF. In this case, the page writing mode is vertical right-to-left (tb-rl), and the paragraph writing mode is horizontal right-to-left (rl-tb). Even though the text is vertical on the page, it is stored in the ODF and shown in the user interface as "right-to-left", rather than something like "bottom-to-top".

I agree something could be done in the UI side to clarify this situation, but I don't have any strong suggestions at the moment. I don't think it makes sense to tie paragraph direction to layout direction more than it already is, though.