Bug 159923 - Add max shrink and space width customization options to upcoming smart justification feature
Summary: Add max shrink and space width customization options to upcoming smart justif...
Status: RESOLVED WONTFIX
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: needsUXEval
Depends on:
Blocks: Paragraph-Alignment
  Show dependency treegraph
 
Reported: 2024-02-27 09:38 UTC by devseppala
Modified: 2024-03-14 10:20 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description devseppala 2024-02-27 09:38:55 UTC
Recently a 'smart justification' feature #119908 was introduced to LibreOffice and is apparently planned to be the default justification algorithm of the next major versions of LibreOffice. While I very much welcome any improvements to justification, I also started to think that could there be some easy way to offer users something that is more than just copycatting what M$ Word is doing.

Now that the ‘smart justification’ makes possible to shrink word spacing up to 20%, how difficult would it be to make default space width and maximum shrinkage user adjustable (both on relative scale)?  This would allow for the users to fine tune the justification to their liking. My idea here is that if the you increase the default space width and max shrinkage, you could have some control over space width variability between lines. This is in my opinion the most annoying issue in full text justification. The benefit of this could vary between languages. The Finnish language has much longer word length on average than English and as such might benefit more from custom settings. Of course the problem with this suggestion is that it not compatible with Word, but users could be warned when enabling this feature and when exporting these documents to Word.

I hope this idea will considered while the ‘smart justification’ feature is being set as the default justification algorithm.
Comment 1 Mike Kaganski 2024-02-27 10:06:03 UTC
I assume this could be a per-paragraph option? (It possibly doesn't make sense on a lower - test span - level; and it likely would be too inefficient on a larger - per document - level).

It would not be problematic to introduce it at any later stage, so not a blocker of any kind to the basic feature.

+1 from me. But asking UX feedback.
Comment 2 devseppala 2024-02-27 12:29:32 UTC
(In reply to Mike Kaganski from comment #1)
> I assume this could be a per-paragraph option? (It possibly doesn't make
> sense on a lower - test span - level; and it likely would be too inefficient
> on a larger - per document - level).
I agree that paragraph level option would propably be the best choice, if possible.
Comment 3 Heiko Tietze 2024-03-01 10:08:45 UTC
Isn't the JustifyLinesWithShrinking just a compatibility feature without any option to disable. It was introduced to achieve better match of document layouts.

What is the benefit of making this variable?
Comment 4 devseppala 2024-03-01 12:56:27 UTC
(In reply to Heiko Tietze from comment #3)
> Isn't the JustifyLinesWithShrinking just a compatibility feature without any
> option to disable. It was introduced to achieve better match of document
> layouts.
> 

This is my understanding of the current situation. However, in the release notes of LO 24.2 (https://wiki.documentfoundation.org/ReleaseNotes/24.2) it is stated
'Note: used only for DOCX interoperability yet (including for ODT files which are converted from new DOCX files with space shrinking), but planned to be the default justification algorithm of the next major versions of LibreOffice.'

> What is the benefit of making this variable?

I created this issue in anticipation that this smart justification will become the default justification. I have no knowledge of how it will be implemented. Will it just replace the current justification or will it be a new separate option. I would champion the separate option solution, giving users more control. There could be variety of reasons why users might in some situations prefer the old justification.

In addition, and what this issue is about, giving users possibility to adjust max shrink and space width properties, could give more advanced users to create more professional looking publications. By controlling these settings, users could have some control over space width variability between lines. The default values might be ideal in many cases, but for example narrower paragraph widths and languages other than English could benefit from modified settings.
Comment 5 Heiko Tietze 2024-03-01 13:44:12 UTC
I'd say we should add this "Smart Justify" as another alignment option. The envisioned variable to control the amount of character spacing sounds like over-engineering to me. 

Btw, if the _character_ spacing is smart controlled via the paragraph setting I wonder how this matches in the end. Makes no sense to have some "[ ] Automatic from PS" option at the CS dialog neither to steer it upwards - could be on at one place and off at another within the same paragraph.
Comment 6 Heiko Tietze 2024-03-14 10:20:36 UTC
We discussed the topic in the design meeting.

Since the function intends to improve compatibility any customization would be wrong. And such option sounds like over-engineering, without a use case and no user request.

So we recommend to not add this (at least not in the UI) until users ask for it with a good use case.