Problems with alignment "justify"

Kohei Yoshida kohei at libreoffice.org
Wed Apr 23 02:20:13 UTC 2025


Hi Regina,

On 4/22/25 11:29, Regina Henschel wrote:
> Hi all,
>
> The ODF TC currently discusses OFFICE-2317 "Text distribute 
> justification" [1]. The issue is about the proposal in the OASIS-Wiki 
> [2].

I can see myself being the author of this proposal... This was authored 
almost 15 years ago.  I must say I could have added a bit more detail in 
this proposal to make less open to interpretation, but alas, I can't go 
back in time to fix it. :-)

>
> (A)
> The proposal wants to introduce a new attribute "css3t:text-justify" 
> with values "auto" and "distribute".
> Problem is, that the actual CSS3 draft [3] has the values "auto", 
> "none", "inter-word" and "inter-character". The draft states in 
> addition, that a UA must additionally support "distribute" and treat 
> it as "inter-character".

CCS3's "inter-character" appears to correspond with the "distribute" 
mode. So I would say ODF can also inherit this "inter-character" value 
here instead of the old "distribute" value as specified in the 
proposal.  When I authored this proposal I chose the value "distribute" 
likely because the CSS3 draft proposal available back then also used 
that word.  The latest CCS2 draft still references the word "distribute" 
as the legacy value to support.

>
> (B)
> The proposal wants to introduce a special attribute 
> style:vertical-justify for use in style:vertical-align. There has been 
> some work on this in bug tdf#45450. On the other hand, bug tdf#112843 
> was rejected.
> Is such property really needed?

Yes, but only when the text is oriented 90 degrees or 270 degrees i.e. 
flows either either top-to-bottom or bottom-to-top, or when the text is 
vertically stacked.  This feature is useful at least in Japanese 
setting.  I can't speak for Chinese or Korean settings, but it may be 
relevant in those languages as well, or not. I'm not really sure.

When the text flows horizontally i.e. not vertically stacked, the 
vertically distributed justification works identically to the normal 
vertical justification.  There is no difference between these two modes.

You can try this in Calc by putting some Japanese sentence into a cell, 
go to the Format Cells dialog, switch to the Alignment tab and check the 
"Vertically stacked" check box in the Text Orientation section.  Or 
leave the check box unchecked, and change the text orientation to either 
90 degrees or 270 degrees.  Set the vertical text alignment to 
"Distributed" and compare how that differs from the "Justified" 
alignment.  Change the row height if you have difficulty seeing the 
effect of this distributed alignment.

You may need to enable Asian language features in the Language Settings 
in case it's not there.  I'm not sure whether this feature is visible 
without the Asian language features enabled.

>
> (C)
> LO has implemented something for OFFICE-2317, see around lines #2848 
> to #2891 in the schema
> /core/schema/libreoffice/OpenDocument-v1.4+libreoffice-schema.rng
> Is there a UI in LibreOffice for these properties?
> When are these properties written to file?

See my reply above.  For horizontal distribution, put some Japanese text 
into a cell, go to the same dialog location I described above, and 
simply set the horizontal text alignment to "Distributed".  If it's hard 
to see, try widening the column width.

>
>
> Any advise for the discussion in the ODF TC is welcomed.

Hopefully this helps a bit.  Let me know if you need more clarification 
on this stuff.

Kohei



More information about the LibreOffice mailing list