Bug Hunting Session
Bug 113517 - Setting line spacing for 'Default Style' paragraph style to 1.15
Summary: Setting line spacing for 'Default Style' paragraph style to 1.15
Status: RESOLVED WONTFIX
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
6.0.0.0.alpha1+
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Font-Rendering Writer-Styles-Paragraph
  Show dependency treegraph
 
Reported: 2017-10-30 10:59 UTC by Yousuf Philips (jay) (retired)
Modified: 2018-05-11 13:23 UTC (History)
7 users (show)

See Also:
Crash report or crash signature:


Attachments
sample doc with 1.15 line spacing (56.72 KB, application/vnd.oasis.opendocument.text)
2017-10-31 13:30 UTC, Yousuf Philips (jay) (retired)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Yousuf Philips (jay) (retired) 2017-10-30 10:59:55 UTC
We've resolved the issue of setting 'Text Body' to 1.15 line spacing in bug 94464 and we should have this in the 'Default Style' paragraph style so that it works with all text in a document and not just the what is assigned to 'Text Body'.
Comment 1 Heiko Tietze 2017-10-30 12:36:57 UTC
Since Default is the mother of all dragons we would change everything. Footer, header, quotations etc. all with 115%? Don't think that's a good idea. => WF
Comment 2 V Stuart Foote 2017-10-30 14:35:38 UTC
Any style that inherits "default" would pick up the new multi-line spacing, that would be added to any height above/below already used in those styles. IIUC, would equally affect direct formatting in all modules which currently pick up the same value.

Meaning the best value for default _everywhere_ is 100% of font metric height, at the calculated point size. That includes the font designers preferred leading and text will look as font designer intended for multi-line text.

IMHO => WONTFIX
Comment 3 David 2017-10-30 15:03:22 UTC
"Default" should mean the default of whatever the font metrics is, not some arbitrary value that a developer thinks it needs to be adjusted to.  Changing the default would require editing of all previously created documents based on the default metrics.  Please do not change!  I can give a list of real bugs that should be fixed rather than change just for the sake of change on something that already works fine just the way it is.
Comment 4 Thomas Lendo 2017-10-30 18:42:17 UTC
As the comments before said, Default Style should use the standard font metrics to have a clear basis for the other styles.

If there are styles that need better presentation, then these styles should be changed instead of the Default Style.

I vote for closing this request.
Comment 5 Yousuf Philips (jay) (retired) 2017-10-31 13:29:43 UTC
(In reply to Heiko Tietze from comment #1)
> Since Default is the mother of all dragons we would change everything.
> Footer, header, quotations etc. all with 115%? Don't think that's a good
> idea. => WF

So its not a good idea that text in a table (Table Contents), quoted text (Quotations), frame text (Frame Contents), image captions (Caption), code (Preformatted Text), text in the header (Header Left), etc., which are all not child styles of Text Body, should also have the same line spacing that text assigned to Text Body has?

(In reply to V Stuart Foote from comment #2)
> Any style that inherits "default" would pick up the new multi-line spacing,
> that would be added to any height above/below already used in those styles.
> IIUC, would equally affect direct formatting in all modules which currently
> pick up the same value.

Ideally we would want all text in a document to have the same line spacing and above/below spacing, unless specifically set not to, else you have nicely spaced text in one place and crammed text in another. We changed[1] Text Body from single to 1.20 based on a document[2] that only had non-heading text set to Text Body paragraph style, not taking into account all the various places that text can appear in, like the Frame Content, Caption, and Quotations paragraph styles.

(In reply to David from comment #3)
> "Default" should mean the default of whatever the font metrics is, not some
> arbitrary value that a developer thinks it needs to be adjusted to. 

'Default' is whatever we choose to be the default, like we choose that the default font will be Liberation Serif and a user can choose to change that default to something else, it does not mean that must default to the single line spacing of the font metrics. And more precisely 'Default' simply means that no paragraph style has been applied to it.

> Changing the default would require editing of all previously created
> documents based on the default metrics.  Please do not change!

It would not require the editing of older documents unless the user wishes to make those documents have the new defaults.

> I can give a
> list of real bugs that should be fixed rather than change just for the sake
> of change on something that already works fine just the way it is.

The adjustment of line spacing is a highly modified attribute, so choosing the best possible value so users dont have to adjust it is an important usability feature.

[1] http://nabble.documentfoundation.org/Default-Writer-Template-td4076271.html
[2] https://wiki.documentfoundation.org/images/3/37/Default_Writer_Sans_Template_0.2.ott
Comment 6 Yousuf Philips (jay) (retired) 2017-10-31 13:30:47 UTC
Created attachment 137407 [details]
sample doc with 1.15 line spacing

Here is a sample document with default at 1.15 line spacing, so open it up, see how it looks, and then change default to single and compare the differences.
Comment 7 V Stuart Foote 2017-10-31 14:16:26 UTC
Again, my concern with setting any size other than 100% is that calculating the line height of the font gets implemented differently in each rendering scheme, and can vary for rendering objects in VCL and to sd Canvas. 

Concerns are less about the "Default" paragraph style--and more about the way the UI for other objects will break by making this shift in multiline height spacing for paragraphs. Especially as there is really _no_ valid reason to use spacing other than the included leading of a well designed font at 100% of its lineheight.

Change the default in templates to use Text Body set to 115% lineheight, fine. But, leave the lineheight alone to not introduce cross platform font rendering issues in mixed layout with non-style based objects.
Comment 8 Khaled Hosny 2017-10-31 20:44:55 UTC
(In reply to V Stuart Foote from comment #7)
> Again, my concern with setting any size other than 100% is that calculating
> the line height of the font gets implemented differently in each rendering
> scheme, and can vary for rendering objects in VCL and to sd Canvas. 
> 
> Concerns are less about the "Default" paragraph style--and more about the
> way the UI for other objects will break by making this shift in multiline
> height spacing for paragraphs. Especially as there is really _no_ valid
> reason to use spacing other than the included leading of a well designed
> font at 100% of its lineheight.
> 
> Change the default in templates to use Text Body set to 115% lineheight,
> fine. But, leave the lineheight alone to not introduce cross platform font
> rendering issues in mixed layout with non-style based objects.

+1
Comment 9 Yousuf Philips (jay) (retired) 2017-10-31 21:53:04 UTC
(In reply to V Stuart Foote from comment #7)
> Again, my concern with setting any size other than 100% is that calculating
> the line height of the font gets implemented differently in each rendering
> scheme, and can vary for rendering objects in VCL and to sd Canvas. 

So if i'm understanding this correctly, there is an internal problem with LO with calculating line heights that aren't single, but then how does it cope with this problem when the user sets this, as most users do, or a template sets this, or if a document opens and it is set?

> Concerns are less about the "Default" paragraph style--and more about the
> way the UI for other objects will break by making this shift in multiline
> height spacing for paragraphs.

Can you provide a document showing this breakage.

> Especially as there is really _no_ valid
> reason to use spacing other than the included leading of a well designed
> font at 100% of its lineheight.

Tell a document author or a web designer that there is no valid reason to use line spacing other than single and they will laugh their heads off. Even the APA standard requires double line spacing for its documents. If there is no valid reason, then why do we even have the option to do it?

> Change the default in templates to use Text Body set to 115% lineheight,
> fine. But, leave the lineheight alone to not introduce cross platform font
> rendering issues in mixed layout with non-style based objects.

Wasnt the problems with font rendering and line heights supposed to be solved with moving to harfbuzz and the cross-platform consistent line spacing.

So in a nutshell what i'm getting is that using a line spacing other than single for Default is problematic internally for LO and that is the reason not to do it and not that using a non-single line spacing is a bad design decision.
Comment 10 V Stuart Foote 2017-10-31 23:08:31 UTC
(In reply to Yousuf Philips (jay) from comment #9)
> So in a nutshell what i'm getting is that using a line spacing other than
> single for Default is problematic internally for LO and that is the reason
> not to do it

Yup!

> and not that using a non-single line spacing is a bad design
> decision.

Its a bad design decision if the rendering is broken (i.e. line heights and glyph scaling do not match or align between modules and DE render engines) when there is no _compelling_ reason to change it.

Other more fundamental issues in font rendering, VCL composition, and canvas layout have to be resolved/refactored before this, i.e. bug 103322, bug 44267

Doing it now would just make a mess of what is already kind of fragile.
Comment 11 Yousuf Philips (jay) (retired) 2017-11-01 13:36:05 UTC
(In reply to V Stuart Foote from comment #10)
> Its a bad design decision if the rendering is broken (i.e. line heights and
> glyph scaling do not match or align between modules and DE render engines)
> when there is no _compelling_ reason to change it.

So isnt this same broken rendering appearing when a user open a .docx file that uses 1.08 or 1.15 line spacing? So what do we do with such files that user are regularly editing with LO?

> Other more fundamental issues in font rendering, VCL composition, and canvas
> layout have to be resolved/refactored before this, i.e. bug 103322, bug 44267

Not sure if they 'have to be resolved/refactored', but yes it would be more ideal if they were fixed, but that argument could be made for all the broken functionality available in LO, but that shouldn't stop other improvements to be made that may show/expose this unresolved issue.

> Doing it now would just make a mess of what is already kind of fragile.

I'm fine with waiting for these issues to be resolved if there is some momentum in fixing them, but dont think we should wait years (bug 44267 was opened in 2011) hoping that things get fixed and deny users a better looking/designed default document layout.
Comment 12 David 2017-11-01 14:29:22 UTC
(In reply to Yousuf Philips (jay) from comment #11)
> I'm fine with waiting for these issues to be resolved if there is some
> momentum in fixing them, but dont think we should wait years (bug 44267 was
> opened in 2011) hoping that things get fixed and deny users a better
> looking/designed default document layout.

What one person thinks looks better may not seem so to someone else.  Frankly I think the sample doc leaves a lot to be desired, and in no way looks better to me.  There should not be added line spacing as the default that gets carried across all styles, just because it arbitrarily looks better to someone.  That is the function of the font metrics and should be left alone.
Comment 13 Khaled Hosny 2017-11-01 14:45:43 UTC
(In reply to Yousuf Philips (jay) from comment #11)
> deny users a better looking/designed default document layout.

I don’t agree with this and I think that is the false promise of this whole issue; not using the font’s line spacing by default does not guarantee well design document, to the contrary that is likely to break fonts that carefully set its default spacing.

The default should be exactly what ever the font has, if that looks bad for the fonts used in the default Writer styles then either the fonts should be replaced or the line spacing *in* the default style should be changed, not the line spacing for all fonts.

IMO, https://cgit.freedesktop.org/libreoffice/core/commit/?id=33a617aa43cf552b3a45b8391df28579883cd5de should be changed again to 100, and stop all this, IMO, misguided attempt to fiddle with line spacing and rethink the whole thing again.
Comment 14 Yousuf Philips (jay) (retired) 2017-11-01 21:00:43 UTC
(In reply to Khaled Hosny from comment #13)
> I don’t agree with this and I think that is the false promise of this whole
> issue; not using the font’s line spacing by default does not guarantee well
> design document, to the contrary that is likely to break fonts that
> carefully set its default spacing.

So its possible to break fonts by using a line spacing other than single. Sound implausible to me, but i look forward to seeing the evidence behind that, or were you saying this specifically about LibreOffice?

> The default should be exactly what ever the font has, if that looks bad for
> the fonts used in the default Writer styles then either the fonts should be
> replaced

I doubt we'll be changing the default font, Liberation Serif, and it does look cramped at 100% in my view, just like its metrically compatible counterpart - Times New Roman, so the only solution we have is to change the line spacing. We also have document specifications that dictate that you use a particular line spacing as well (e.g. APA and MLA require double spacing).

> or the line spacing *in* the default style should be changed, not
> the line spacing for all fonts.

I am suggesting that we change the line spacing in the default style and when you do so, it changes the line spacing for all inheriting styles that dont specifically have a line spacing set. So you cant separate the two from each other.
Comment 15 Thomas Lendo 2017-11-02 11:45:01 UTC
(In reply to Yousuf Philips (jay) from comment #5)
> (In reply to Heiko Tietze from comment #1)
> > Since Default is the mother of all dragons we would change everything.
> > Footer, header, quotations etc. all with 115%? Don't think that's a good
> > idea. => WF
> So its not a good idea that text in a table (Table Contents), quoted text
> (Quotations), frame text (Frame Contents), image captions (Caption), code
> (Preformatted Text), text in the header (Header Left), etc., which are all
> not child styles of Text Body, should also have the same line spacing that
> text assigned to Text Body has?

What speaks against to change these styles itself instead of Default Style?
Comment 16 V Stuart Foote 2018-05-11 13:23:35 UTC
The aesthetics of adding more leading to line spacing--using a Default calculated at 115% of the font metric--remains subject to debate, but IMHO does not merit a change that would propagate through the entire UI into multi-line text created in all modules against newly created documents.

The status quo remains more appropriate for users to specifically select a Proportional line spacing (1.15 is proportional provided by constant) where desired as alternative to the font metric provided metric used as 1.00 or "Single" line spacing.

Also, technical issues of dealing with font metrics and "leading" consistently across the UI make this very unappealing from dev perspective.

Seems to be consensus for resolving => WONTFIX, sorry Jay.