NOTE: It seems the default line spacing was set on 2013, but I only noticed the problem with it now because someone asked me why the line spacing was so big on a new LibO's Writer document. --------------------------------------------- According to this message: http://nabble.documentfoundation.org/Default-Writer-Template-tp4076271p4076285.html Writer's default template was set to use "line-spacing proportional at 120%, as recommended by Butterick's Practical Typography" (sic), but there is a problem here: that 120% should be applied to the font "point size", **not to the "single spacing"**. In fact, in Writer "proportional line spacing" use the "single spacing" as reference and that value is NOT the point size but a distance defined on the typeface itself(1). For example, the Sukhumala typeface(2) defines a line spacing of 130% of the point size, so using a line spacing "proportional at 120%" makes the line spacing in Writer for that font a 156% of the point size! Most font makers already take care of the default line spacing so using "single spacing" is correct most of the time. If for some reason you prefer to use a larger line spacing on the default template, 105% (maximum, 110%) should be OK for most purposes (even if I do not recommend this: the font designer had a good reason to choose the default value, I think). ------------------------------------------- (1) To see this fact in action, install both, Gentium Plus and Gentium Plus Compact on your system http://scripts.sil.org/cms/scripts/page.php?item_id=Gentium_download#801ab246 The only difference between both fonts is, indeed, the default line spacing. And it is a HUGE difference. (2) http://forum.high-logic.com/viewtopic.php?t=5108
Thanks for your clear description and issue, RGB. Setting to new and, guess, 4.2.0 release.
NB I personally agree too that it's to high ;) But just change to my liking, obviously, if needed.
Created attachment 119047 [details] test file with 120 (current), 105 and 108 percent
Hmm, having Text Body proportional at 120% is odd. But believe it only affects Text Body, and not the Default style--adjusted summary. I wonder why Text Body style has not received many complaints? I'd guess that could because Default style is set Single Space and non-proportional, and that most users simply don't use the proportional Text Body style.
(In reply to V Stuart Foote from comment #4) > I wonder why Text Body style has not received many complaints? I'd guess > that could because Default style is set Single Space and non-proportional, > and that most users simply don't use the proportional Text Body style. Heh ;) What about 108% and space below 20 mm- in stead of 25?
(In reply to Cor Nouws from comment #5) > What about 108% and space below 20 mm- in stead of 25? Not following you. Do you mean the spacing Above or Below paragraphs? And the setting "Don't add space between paragraphs of the same style"? Those aren't applied in the Default paragraph style--just Single line spacing. Just Text Body has those settings.
(In reply to V Stuart Foote from comment #6) > Not following you. Ooops, srry ;) I refer to the style Text body. distance now is 120%, space below 0.25 cm My question is if 108% distance and 0.20 cm would be OK.
(In reply to Cor Nouws from comment #7) > I refer to the style Text body. > distance now is 120%, space below 0.25 cm > My question is if 108% distance and 0.20 cm would be OK. OK, I see now. Seems there is a distinction to be made between Default style, which uses the font defined Single line metric, and Text Body style which currently sets the proportional value--apparently incorrectly, i.e. too large. I had wondered why we use Default so much more than Text Body--but if you think of the amount of floating point calculations that have to be applied to render fonts proportionally it is much better for performance if we use the font metrics provided as Single line spacing. Nothing to be recalculated. I don't know if that is intentional given an apparent preference for Default style. But, what I'd think makes more sense would be to redefine Text Body style more simply. And to use the Single line spacing--as the Default style does--and to not set Text Body style to use Proportional spacing at all. As to space below, believe there is a .25cm <--> .10in conversion in play for the space below setting when toggling between metric and inch based formats. But I believe those values are squishy. Either "spacing" gets recalculated in twips, i.e. 1/20pt * 72pt/in or nominal GUI units of 1/1,440 in. Values are then converted to mm ( convertTwipToMM100 ) when working in metric in the document shell. IIUC the Text Body spacing below of .10in is 144 twips, but for metric the .25cm ~= 141.73, gets rounded to 142 twips--so can have weird impact on the document canvas depending on location/page layout. Believe that while modifying the Text Body style, the Spacing below paragraph for the style would do well at .127cm / .05in / 72 twips, which in metric rounds to 0.13 cm or ~= 74 twips. It looks good, and should have low impact on performance if folks start using Text Body style.
Unqualified comment: I use to set spacing to 3pt above and below for text. Don't remeber the advantage right now but it was relevant.
*** Bug 96276 has been marked as a duplicate of this bug. ***
Since this bug 94464 is about ODT, and that bug 96276 about RTF, it will still need to be verified once this one is hopefully fixed.
Problem still on the latest LO 5.1.1.3 for Windows 7 SP1 64-bit.
(In reply to RGB from comment #0) > http://nabble.documentfoundation.org/Default-Writer-Template- > tp4076271p4076285.html > > Writer's default template was set to use "line-spacing proportional at 120%, > as recommended by Butterick's Practical Typography" (sic), but there is a > problem here: that 120% should be applied to the font "point size", **not to > the "single spacing"**. I looked over the thread and Mirek suggested and approved the implementation so I believe it was implemented correctly. I further check the specification[1] and it says "To get line spacing in the 120–145% range, use a <Multiple> value of 1.03 - 1.24.", which our 120% line spacing is in. [1] http://practicaltypography.com/line-spacing.html So to compare, MS currently used Multiple 1.15 with 10pt below paragraph and we use Multiple 1.20 with 7pt below paragraph. I believe this bug can be closed as NOTABUG.
@jay: from the feed back I get from people, I consider 'the specs' to be ugly.
(In reply to Cor Nouws from comment #14) > @jay: from the feed back I get from people, I consider 'the specs' to be > ugly. Didnt follow. Can you be more specific?
(In reply to Yousuf Philips (jay) from comment #13) > (In reply to RGB from comment #0) > > http://nabble.documentfoundation.org/Default-Writer-Template- > > tp4076271p4076285.html > > > > Writer's default template was set to use "line-spacing proportional at 120%, > > as recommended by Butterick's Practical Typography" (sic), but there is a > > problem here: that 120% should be applied to the font "point size", **not to > > the "single spacing"**. > > I looked over the thread and Mirek suggested and approved the implementation > so I believe it was implemented correctly. I further check the > specification[1] and it says "To get line spacing in the 120–145% range, > use a <Multiple> value of 1.03 - 1.24.", which our 120% line spacing is in. > > [1] http://practicaltypography.com/line-spacing.html > > So to compare, MS currently used Multiple 1.15 with 10pt below paragraph and > we use Multiple 1.20 with 7pt below paragraph. > > I believe this bug can be closed as NOTABUG. Can you please reread what I wrote? Typefaces come BY DESIGN with line spacings that are between 120 and 140% of the POINT size: Libertinux is around the 120% and, as I commented on the description, Sukhumala is at 130%. Setting another 120% on top of an existing 130% gives you a frikin 156%!!! That cannot be right. Please, don't trust too much the details on the quoted page, the phrase "Word uses peculiar line-spacing math" shows that the author do not understand how "most word processors" work. The math is not peculiar, in fact there is no math at all: single line spacing is defined by the typeface itself! Nowadays only LaTeX uses the point size to define line spacing and THERE you'll find some "peculiar line-spacing math".
(In reply to RGB from comment #16) > Can you please reread what I wrote? Typefaces come BY DESIGN with line > spacings that are between 120 and 140% of the POINT size: Libertinux is > around the 120% and, as I commented on the description, Sukhumala is at > 130%. Setting another 120% on top of an existing 130% gives you a frikin > 156%!!! That cannot be right. > Yes this is correct > Please, don't trust too much the details on the quoted page, the phrase > "Word uses peculiar line-spacing math" shows that the author do not > understand how "most word processors" work. The math is not peculiar, in > fact there is no math at all: single line spacing is defined by the typeface > itself! Nowadays only LaTeX uses the point size to define line spacing and > THERE you'll find some "peculiar line-spacing math". Also, correct. As we now consistently use either the hhea or OS/2 Typo metric, we do not need to control the line spacing against "effective" point size--and in reality we don't. We simply apply a multiplier against the font metric nHeight to calculate line spacing. The way we handle paragraph line spacing property is with a SetPropLineSpace(), default "Single" space is "100" (i.e. as pulled from the font metrics or using the calculated nHeight of the font. Proportional is also known as User setting--and Ahmad's 2013 commit to the default template simply prepopulates the value for the "Text Body" style to be Proportional at "120", e.g. 120%. Unfortunately, because it is a default template--users now must modify the style to their preference either Single, a user "Proportional" value (as 120% is too large), the "fixed" 1.15 value--and save as their new default template. At the least we should reduce the DocumentStylePoolManager.cxx template default "Proportional" from 120 -> ~105-108; or probably better follow the Default style's "Single" spacing at 100. Either would allow the font's height to correctly apply--and makes the "Text Body" style more efficient to use. An alternative might be to define User/Proportional but to include "leading" (e.g. nInterlineSpace) by default--but that could cause problems if "Text Body" becomes the more frequently used default "Default". For what it is worth, current Microsoft Office normal.dotm sets spacing for multi-line paragraph to 1.08, not 1.15 =-ref-= http://opengrok.libreoffice.org/xref/core/editeng/source/items/paraitem.cxx#78 http://opengrok.libreoffice.org/xref/core/sw/source/core/doc/DocumentStylePoolManager.cxx#372 http://opengrok.libreoffice.org/xref/core/svx/source/sidebar/paragraph/ParaLineSpacingControl.cxx#112
@RGB: So in short, you disagree with the change of using what Butterick's Practical Typography recommends, as that is what has been implemented. Cant say that i agree with you, or to the suggest maximum of 110%, as i find single line spacing quite cramped and difficult to read, and believe 'Default Style' should also be changed from single. Also none of the major word processors default to using single line spacing. MS Word 2007-2010 : 1.15 (10pt below paragraph) MS Word 2013+ : 1.08 ( 8pt below paragraph) iWork Pages : 1.2 Google Docs : 1.15 ( 0pt below paragraph) (In reply to V Stuart Foote from comment #17) > For what it is worth, current Microsoft Office normal.dotm sets spacing for > multi-line paragraph to 1.08, not 1.15 Yes this is correct, as i regularly use 2010 and assumed 2013+ used the same.
(In reply to Yousuf Philips (jay) from comment #18) > @RGB: So in short, you disagree with the change of using what Butterick's > Practical Typography recommends, NO, NO and NO again. What I'm saying is that what Butterick recommends was misinterpreted! Again, Butterick says that line spacing should be between 120 and 140 % OF THE POINT SIZE, but MOST FONTS ALREADY PROVIDE THAT SPACING BY DESIGN ON THEIR DEFAULT LINE SPACING. If you set on Writer "proportional at 120%" you are taking a 120% of a 120% of the point size WHICH GIVES YOU A RIDICULOUS 144%. And that's on the best case scenario: fonts like GNU Free Font, Gentium Plus and the aforementioned Sukhumala have larger default line spacing, up to 130% or even more. Almost every typeface that supports non European scripts have larger than normal default line spacing: on them, "proportional at 120%" is even more ridiculous. So, to summarize: WHAT'S IMPLEMENTED ON WRITER IS NOT WHAT BUTTERICK RECOMMENDS. Writer's implementation of default line spacing IS WRONG. Why it is so difficult to understand this simple problem? Anyway, do whatever you want. I'm tired. I'm quitting this silly discussion right now so don't ask me more, I already gave my answers. > as that is what has been implemented. Cant > say that i agree with you, or to the suggest maximum of 110%, as i find > single line spacing quite cramped and difficult to read, and believe > 'Default Style' should also be changed from single. Also none of the major > word processors default to using single line spacing. > > MS Word 2007-2010 : 1.15 (10pt below paragraph) > MS Word 2013+ : 1.08 ( 8pt below paragraph) > iWork Pages : 1.2 > Google Docs : 1.15 ( 0pt below paragraph) > > (In reply to V Stuart Foote from comment #17) > > For what it is worth, current Microsoft Office normal.dotm sets spacing for > > multi-line paragraph to 1.08, not 1.15 > > Yes this is correct, as i regularly use 2010 and assumed 2013+ used the same.
(In reply to RGB from comment #19) > NO, NO and NO again. What I'm saying is that what Butterick recommends was > misinterpreted! No its is not. I linked to Butterick's explanation of how to achieve their recommendation of 120-140% in MS Word and you said to not trust the details mentioned on their page as "the author do not understand how "most word processors" work". So either you are for the recommendation as a whole or against it.
(In reply to Yousuf Philips (jay) from comment #20) > (In reply to RGB from comment #19) > > NO, NO and NO again. What I'm saying is that what Butterick recommends was > > misinterpreted! > > No its is not. I linked to Butterick's explanation of how to achieve their > recommendation of 120-140% in MS Word and you said to not trust the details > mentioned on their page as "the author do not understand how "most word > processors" work". So either you are for the recommendation as a whole or > against it. Correct. And as "peculiar" for MS's implementation, our target range for the 120%-145% line spacing would be the same 1.03-1.29 that Butterick suggests--just in our implementation a 103-129 value. Using our current Text Body style default of 120 puts our spacing closer to 138%--too large. We should be on the lower end, so 108 as Cor suggested was reasonable, and as MS Moved Office to at 2013, effectively 125% of the Point size ("effective" depending on the hhea or Typo height described in the font). The Gentium Plus, Gentium Plus Compact are a good example of how the font itself controls the line spacing by increasing or decreasing the ascent/descent for the same glyphs on a common em square. This becomes more important to resolve if as suggested for bug 47295 we move these metrics to be the basis of the Default style, i.e. what is applied to all text when Direct Formatting is removed.
Created attachment 133787 [details] 1.00 to 1.20 comparison (In reply to V Stuart Foote from comment #21) > Correct. And as "peculiar" for MS's implementation, our target range for the > 120%-145% line spacing would be the same 1.03-1.29 that Butterick > suggests--just in our implementation a 103-129 value. Using our current > Text Body style default of 120 puts our spacing closer to 138%--too large. The recommendation states that anything within the 120% to 145% range is fine, so why would it be too large to use 138%? I'm fine with taking the middle value of the range, 132.5%, which is would be equivalent to 1.16, though i would minus 1 from it so we could go for 1.15 like other apps. > We should be on the lower end, so 108 as Cor suggested was reasonable, and > as MS Moved Office to at 2013, effectively 125% of the Point size > ("effective" depending on the hhea or Typo height described in the font). > The Gentium Plus, Gentium Plus Compact are a good example of how the font > itself controls the line spacing by increasing or decreasing the > ascent/descent for the same glyphs on a common em square. If you look at the line spacing page[1], it says "The text in this paragraph has line spacing of 135%. It looks fine.", which is using 1.35, so wouldnt be in favour of going to the lower end. [1] http://practicaltypography.com/line-spacing.html Took Cor's doc and modified it to include the range between 1.00 and 1.20 so we can compare the sizes. I think 1.10 and 1.15 have the good amount of space to not feel to camped or to large.
@Khaled, @Maxim, @Heiko: Do you guys have a take on this?
(In reply to Yousuf Philips (jay) from comment #22) > > though i would minus 1 from it so we could go for 1.15 like other apps. > ... > > Took Cor's doc and modified it to include the range between 1.00 and 1.20 so > we can compare the sizes. I think 1.10 and 1.15 have the good amount of > space to not feel to camped or to large. If we like the 115 for Text Body, rather than User/Proportional with a default of 115--it would make more sense to just use the "1.15" and cleanup the DocumentStylePoolManager template, assigning the LINESPACE_115 var and allowing the listbox to populate with the LLINESPACE_115 definition and its enum to use the "1.15 Lines" label. But, I would still prefer cutting back to Single space, i.e. 100--for the general use case for Text Body--it is what users are used to from the Default style which has always used that as a starting point.
While you are arguing about different solutions, pls. remember that best result overall will be, when both LO and MS Word create as identical layout as possible, especially when importing and exporting. This makes it easy to switch products and work in heterogeneous environments. Even Word has it's own internal conversion table for different Word formats so that documents can be handled on different versions without changing visible layout too much and user can even easily manage those. Maybe LO should implement this also, i.e. recognize the version, on which document was created originally and then adjust it's formatting accordingly to keep original layout intact. It is crucial on many environments to be able to edit documents with both products without causing critical layout changes and of course there are other products as well to consider. The better LO handles import and export, the more it can be used. Unfortunately current situation is far from ideal, too many documents become more or less unusable during the import/export. Even when creating on LO and just saving i.e. to DOCX may already lead to unusable results, when opening again not to mention files created originally on MS Office.
My recommendation for the default is to use whatever the font defines; an Arabic font will generally need more spacing than Latin fonts, and whatever guide you are using is probably Latin centering so it is dangerous to generalize any recommendations you read. Other than that, if you want, say, 120% of point size, make sure you are really doing that and not a 120% from the default font line spacing which is completely unrelated.
(In reply to Khaled Hosny from comment #26) > Other than that, if you want, say, 120% of point size, make sure you are > really doing that and not a 120% from the default font line spacing which is > completely unrelated. And here LibreOffice is surely wrong. Results of some measuring for "Liberation Serif" 12pt: Line spacing at 100% (="single") is 0.49cm Line spacing at 120% is 0.58cm; 0.49cm*1.2=0,588cm Line spacing at 200% is 0.97cm; 0.49cm*2 =0.98cm Obviously LibreOffice takes the line spacing "single" as reference for its percent calculation. If I measure from top "h" to down "p", I get 0.39cm. If I measure the width of "m", I get 0,326cm. Taking that as "font size", makes "single" line spacing having a leading included, as RGB has written. I get similar results for "Palatino Linotype" 12pt: Line spacing at 100% is 0.57cm Line spacing at 120% is 0.68cm; 0.57cm*1.2=0,684cm The "h" to "p" distance is here 0.42cm and the width of "m" is 0.371cm. The line spacing is set in a fo:line-height attribute. The percentage value of it references the attribute "font-size" of CSS. But I'm not sure, how CSS measures "font-size". I support to set line space to "single" in style "Text body".
(In reply to Khaled Hosny from comment #26) > My recommendation for the default is to use whatever the font defines; ... IIUC from reading source, we are working against the font metric's hhea or typo values, so that would be matched our 100, aka 1.00 multiplier--but not a dev and always willing to be schooled if I've misread the source. > > Other than that, if you want, say, 120% of point size, make sure you are > really doing that and not a 120% from the default font line spacing which is > completely unrelated. Yes that is the issue here--we multiply the font's line spacing, not its effective point size. So the generalized "Western" typography guidelines are really not appropriate--and to my mind cause problems with use of well designed fonts.
(In reply to Khaled Hosny from comment #26) > Other than that, if you want, say, 120% of point size, make sure you are > really doing that and not a 120% from the default font line spacing which is > completely unrelated. Is there a means to set a 120% point size that will work with all fonts and be a value we can set in the line spacing paragraph field? (In reply to Regina Henschel from comment #27) > The line spacing is set in a fo:line-height attribute. The percentage value > of it references the attribute "font-size" of CSS. But I'm not sure, how CSS > measures "font-size". Would have expected it to reference CSS's line-height attribute[1] as font-size[2] is likely the point size. [1] https://www.w3schools.com/cssref/pr_dim_line-height.asp [2] https://www.w3schools.com/cssref/pr_font_font-size.asp
(In reply to Yousuf Philips (jay) from comment #29) > Would have expected it to reference CSS's line-height attribute[1] as > font-size[2] is likely the point size. Yes fo:line-height is defined by the CSS line-height property. I mean, that "font-size" is the base for a percentage value of line-height. That is the same in XSL-fo and CSS. The question is, whether "font-size" includes the parts top and bottom, where nothing of the character is painted. In that case "font size" would be different from traditional typography and the old rules for leading would no longer apply.
I think I've figured out what happened in the misunderstanding above. Let's see if I can summarize. The traditional recommendation for optimal line height is 120-145% of the point size, depending on the exact typeface. Nowadays, individual font files include this information, which MSO and LO use to determine the single line spacing. The comment on Butterick's webpage about single spacing in MS Word being 117% and the recommendation to use a value of 1.03–1.24 to set the line spacing is therefore misleading. Based on a factoid I found elsewhere (https://medium.com/@mattsamberg/line-spacing-explained-9aecda41f48d) it looks like the long-time standard Times New Roman uses 14 pt line spacing for 12 pt font size, yielding 117%. But for other fonts the value will be different. Whoever set the body text line spacing to 120% based on this webpage was clearly confused. As RGB notes, this value results in typical western fonts having line spacing ranging from the high end of the suggested range (in the case of Times New Roman and Liberation Serif) to far above it (in the case of the fonts RGB mentioned). Whatever other programs choose to do, the LO value is definitely too large. The fact that the text body style of 120% value differs from the 115% found in the drop-downs is also rather annoying. So in the short term I second the idea of setting both to 115%, even if only as a stopgap.
I'll go ahead and throw in my opinion on the other issues. It seems to me that nothing can be done about other fonts need more or less line spacing, and not just because of the current implementation. This is because (1) in principle the amount of spacing needed can vary wildly depending on the font, and (2) some fonts seem to low-ball the single line spacing while others include plenty. In other words, whether you use a percentage of the point size or a percentage of the line height, it would still be wrong for most fonts, even just restricting things to Latin fonts. This being the case, I think that either (1) text body should be set to single/100% spacing and let Liberation Serif will be a bit tight, or (2) both text body and the dropdown option should be 115% (or 110% if it's decided that 115% is too much) and accept that it will be necessary to change the text body line spacing if you change the font. But I think it would be bad to set text body to 108% (or whatever) and the dropdown to something else, because that would be confusing to novice users.
(In reply to Kenneth Hanson from comment #31) > The fact that the text body style of 120% value differs from the 115% found > in the drop-downs is also rather annoying. So in the short term I second the > idea of setting both to 115%, even if only as a stopgap. Dont consider it annoying as even MS doesnt provide a drop down entry dedicated to their default line spacing. Also 115% was only recently added to the drop down entry in LO 5.3 (bug 85949). (In reply to Kenneth Hanson from comment #32) > This being the case, I think that either (1) text body should be set to > single/100% spacing and let Liberation Serif will be a bit tight, or (2) > both text body and the dropdown option should be 115% (or 110% if it's > decided that 115% is too much) and accept that it will be necessary to > change the text body line spacing if you change the font. Option 2 would be my choice and yes this default setting would be related to the default font and if users choose to use a different default font, then they would also adjust the line spacing to their preference as well.
We talked about this in the design meeting and agreed on changing the default line spacing from 100% to 115%. Jim, can you please take a look?
(In reply to Heiko Tietze from comment #34) > We talked about this in the design meeting and agreed on changing the > default line spacing from 100% to 115%. > This was to be about just the Text Body style default set to 120% of selected font's line height. Changing the Default style to be 115% of selected font's line height would be inherited by _all_ styles--effectively changing a lot more than just the Text Body style. That would be a completely different and unintended effect disrupting all styles, templates and existing documents. We can't do that. If the discussion was to move the default for _just_ Text Body style to 115% of font line height--and this was a clerical error-- fine, just a bit alarming. =-=-= The notes from design minutes and ESC call Design Meeting: 2017-Oct-26 Present: Eric, Jay, Heiko * Default line spacing to 100% + https://bugs.documentfoundation.org/show_bug.cgi?id=94464 + go with 115%? /115% accepted 3:0 ESC call 2017-10-26 * Present: + Olivier, Shinok, Thorsten, Xisco, Miklos, Cloph, Stephan, Heiko, Michael S Eike, Yousuf, Armin + Default line spacing from 100 to 115% + https://bugs.documentfoundation.org/show_bug.cgi?id=94464
(In reply to V Stuart Foote from comment #35) > This was to be about just the Text Body style... Sure, 115% for TB. (No need to share with the advice ML as UX advice has been given and most are CC'ed anyway)
Here is the patch to change the text body default line spacing to 1.15 https://gerrit.libreoffice.org/#/c/44027/
Jim Raykowski committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=33a617aa43cf552b3a45b8391df28579883cd5de tdf#94464 change text body default line spacing to 1.15 It will be available in 6.0.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.