Bug Hunting Session
Bug 98596 - Incorrect handling of font families (weight, style, stretches) on Linux
Summary: Incorrect handling of font families (weight, style, stretches) on Linux
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: All Linux (All)
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
: 123954 (view as bug list)
Depends on: 123954
Blocks: 35538 Font-List 119085
  Show dependency treegraph
 
Reported: 2016-03-11 06:31 UTC by Grega Bremec
Modified: 2019-05-14 09:03 UTC (History)
10 users (show)

See Also:
Crash report or crash signature:


Attachments
The list of font styles in the font selection dialog (60.87 KB, image/png)
2016-03-11 06:31 UTC, Grega Bremec
Details
Missing font weights for Lato (259.22 KB, image/jpeg)
2017-08-06 20:04 UTC, Yannick.D
Details
Missing font weights for Alegreya Sans (263.38 KB, image/jpeg)
2017-08-06 20:05 UTC, Yannick.D
Details
Missing font weights for Zilla Slab (222.88 KB, image/jpeg)
2017-08-06 20:05 UTC, Yannick.D
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Grega Bremec 2016-03-11 06:31:55 UTC
Created attachment 123487 [details]
The list of font styles in the font selection dialog

I have the following OTF font family installed, a total of 51 styles and faces:

$ fc-list | grep Helvetica
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-Bd.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 55 Roman:style=75 Bold,Bold
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-UltLtExO.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 23 UltLtEx:style=23 Ultra Light Extended Oblique,Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-BdExO.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 53 Ex:style=73 Bold Extended Oblique,Bold Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-HvCnO.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 67 MdCn:style=87 Heavy Condensed Oblique,Bold Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-It.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 55 Roman:style=56 Italic,Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-LtIt.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 45 Lt:style=46 Light Italic,Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-XBlkCnO.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 107 XBlkCn:style=107 Extra Black Condensed Oblique,Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-MdExO.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 63 MdEx:style=63 Medium Extended Oblique,Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-ThExO.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 33 ThEx:style=33 Thin Extended Oblique,Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-Hv.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 65 Md:style=85 Heavy,Bold
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-BlkIt.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 95 Blk:style=96 Black Italic,Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-Md.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 65 Md:style=65 Medium,Regular
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-UltLtCn.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 27 UltLtCn:style=27 Ultra Light Condensed,Regular
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-BdIt.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 55 Roman:style=76 Bold Italic,Bold Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-UltLt.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 25 UltLt:style=25 Ultra Light,Regular
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-HvIt.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 65 Md:style=86 Heavy Italic,Bold Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-XBlkCn.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 107 XBlkCn:style=107 Extra Black Condensed,Regular
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-ExO.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 53 Ex:style=53 Extended Oblique,Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-Lt.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 45 Lt:style=45 Light,Regular
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-Roman.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 55 Roman:style=55 Roman,Regular
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-MdEx.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 63 MdEx:style=63 Medium Extended,Regular
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-Ex.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 53 Ex:style=53 Extended,Regular
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-UltLtIt.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 25 UltLt:style=26 Ultra Light Italic,Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-ThCnO.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 37 ThCn:style=37 Thin Condensed Oblique,Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-BdEx.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 53 Ex:style=73 Bold Extended,Bold
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-BlkExO.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 93 BlkEx:style=93 Black Extended Oblique,Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-HvEx.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 63 MdEx:style=83 Heavy Extended,Bold
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-BdCn.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 57 Cn:style=77 Bold Condensed,Bold
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-Th.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 35 Th:style=35 Thin,Regular
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-Blk.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 95 Blk:style=95 Black,Regular
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-HvExO.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 63 MdEx:style=83 Heavy Extended Oblique,Bold Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-MdCnO.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 67 MdCn:style=67 Medium Condensed Oblique,Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-CnO.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 57 Cn:style=57 Condensed Oblique,Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-BlkEx.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 93 BlkEx:style=93 Black Extended,Regular
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-LtEx.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 43 LtEx:style=43 Light Extended,Regular
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-LtCnO.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 47 LtCn:style=47 Light Condensed Oblique,Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-ThIt.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 35 Th:style=36 Thin Italic,Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-ThEx.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 33 ThEx:style=33 Thin Extended,Regular
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-BdOu.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 75 BdOu:style=75 Bold Outline,Regular
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-BdCnO.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 57 Cn:style=77 Bold Condensed Oblique,Bold Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-LtExO.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 43 LtEx:style=43 Light Extended Oblique,Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-Cn.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 57 Cn:style=57 Condensed,Regular
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-HvCn.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 67 MdCn:style=87 Heavy Condensed,Bold
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-UltLtCnO.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 27 UltLtCn:style=27 Ultra Light Condensed Oblique,Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-MdCn.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 67 MdCn:style=67 Medium Condensed,Regular
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-BlkCn.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 97 BlkCn:style=97 Black Condensed,Regular
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-ThCn.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 37 ThCn:style=37 Thin Condensed,Regular
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-LtCn.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 47 LtCn:style=47 Light Condensed,Regular
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-BlkCnO.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 97 BlkCn:style=97 Black Condensed Oblique,Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-MdIt.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 65 Md:style=66 Medium Italic,Italic
/usr/share/fonts/helvetica-nltpro/HelveticaNeueLTPro-UltLtEx.otf: Helvetica Neue LT Pro,HelveticaNeueLT Pro 23 UltLtEx:style=23 Ultra Light Extended,Regular

To save you some time, this is 33 different faces (discounting weight, slant and outline):

$ fc-list | grep Helvetica | sed 's/^.*style=//; s/,.*$//; s/ \(Oblique\|Outline\|Italic\)//' | sort -u
107 Extra Black Condensed
23 Ultra Light Extended
25 Ultra Light
26 Ultra Light
27 Ultra Light Condensed
33 Thin Extended
35 Thin
36 Thin
37 Thin Condensed
43 Light Extended
45 Light
46 Light
47 Light Condensed
53 Extended
55 Roman
56
57 Condensed
63 Medium Extended
65 Medium
66 Medium
67 Medium Condensed
73 Bold Extended
75 Bold
76 Bold
77 Bold Condensed
83 Heavy Extended
85 Heavy
86 Heavy
87 Heavy Condensed
93 Black Extended
95 Black
96 Black
97 Black Condensed

The problem is, what I see in the font selection dialog, is only what is attached to this report.

If I type in the actual adornment manually (like, "45 Light"), the font is found (i.e. the message under the input box no longer says "the closest matching style will be used", but rather that the "same font will be used for print and screen"), but is never used in the document.
Comment 1 Robinson Tryon (qubit) 2016-03-11 10:09:11 UTC
(In reply to Grega Bremec from comment #0)
> The problem is, what I see in the font selection dialog, is only what is
> attached to this report.

Side note: The ordering of the Styles in the dialog doesn't seem to follow numeric or alphabetical sort. That's rather distracting/seems inefficient. Perhaps a separate bug...

> If I type in the actual adornment manually (like, "45 Light"), the font is
> found (i.e. the message under the input box no longer says "the closest
> matching style will be used", but rather that the "same font will be used
> for print and screen"), but is never used in the document.

I don't have Helvetica installed here -- can you reproduce the problem with any fonts that ship with LibreOffice/your base system?
Comment 2 Grega Bremec 2016-03-11 16:27:22 UTC
(In reply to Robinson Tryon (qubit) from comment #1)
> (In reply to Grega Bremec from comment #0)
> > If I type in the actual adornment manually (like, "45 Light"), the font is
> > found (i.e. the message under the input box no longer says "the closest
> > matching style will be used", but rather that the "same font will be used
> > for print and screen"), but is never used in the document.
> 
> I don't have Helvetica installed here -- can you reproduce the problem with
> any fonts that ship with LibreOffice/your base system?

Unfortunately not. There are some TTFs with such style specification:

/usr/share/fonts/open-sans/OpenSans-ExtraBold.ttf: Open Sans,Open Sans Extrabold:style=Extrabold,Regular

...but in those, for some reason, the second name component is used, and not the first one as is in the case of OTF (not an expert here, but I'd understand if this naming inconsistency was a FC-related thing, too).

So for OpenSans TTF family, I get four distinct fonts. Not for Helvetica Neue LT Pro OTF family - there is just one font for this one.

The trick is, I can see by looking at styles.xml of my old templates, that the second name component was used from OTF too, judging from meta.xml, in LibreOffice/4.2.5.2.
Comment 3 Buovjaga 2016-03-13 18:35:23 UTC
Is the problem still in 5.1?
Comment 4 Grega Bremec 2016-03-20 12:45:20 UTC
(In reply to Buovjaga from comment #3)
> Is the problem still in 5.1?

Yes. Just tested with 5.1.1.3.

Both problems remain the same:
 - the font name coming from a different source in OTF vs. TTF
 - "Regular" adornments being unavailable in OTF (even after manual selection)
Comment 5 Xisco Faulí 2017-08-03 16:16:05 UTC
Could you please try to reproduce it with the latest version of LibreOffice from https://www.libreoffice.org/download/libreoffice-fresh/ ?
I have set the bug's status to 'NEEDINFO'. Please change it back to 'UNCONFIRMED' if the bug is still present in the latest version.
Comment 6 Yannick.D 2017-08-06 20:03:49 UTC
I can confirm this issue is still present in current versions. In my experience Medium font weights are never shown in LO while others like Semi Bold are a hit and miss.

I've attached screenshots of missing weights for three open-source fonts: Alegreya Sans v1.002, Lato v2.015 and Zilla Slab v1.1. But others are affected too like Roboto, Montserrat, Fira Sans, Cormorant, …

AFAIK bundled fonts aren't affected as they don‘t include more than 4 weights (standard, italic, bold, bold italic).

(Maybe the title of this thread should be edited to "Missing font weights (like Medium) in LO".)



Version: 5.4.0.3
Build-ID: 7556cbc6811c9d992f4064ab9287069087d7f62c
CPU-Threads: 4; Betriebssystem:Mac OS X 10.12.5; UI-Render: Standard; 
Gebietsschema: de-DE (de_DE.UTF-8); Calc: group

Download Fonts:
- http://www.huertatipografica.com/en/fonts/alegreya-sans-ht
- http://www.latofonts.com/lato-free-fonts/#download
- https://github.com/mozilla/zilla-slab
Comment 7 Yannick.D 2017-08-06 20:04:44 UTC
Created attachment 135197 [details]
Missing font weights for Lato
Comment 8 Yannick.D 2017-08-06 20:05:19 UTC
Created attachment 135198 [details]
Missing font weights for Alegreya Sans
Comment 9 Yannick.D 2017-08-06 20:05:52 UTC
Created attachment 135199 [details]
Missing font weights for Zilla Slab
Comment 10 Thomas Linard 2018-01-05 10:03:20 UTC

*** This bug has been marked as a duplicate of bug 35538 ***
Comment 11 Thomas Linard 2018-03-07 17:33:03 UTC
Test report with LibreOffice 6.0.2, Linux Ubuntu 17.10

Open-source fonts installed (in OTF version each):

EB Garamond version 1.0 (10 styles)
https://github.com/octaviopardo/EBGaramond12

Fira Sans version 4.3 (92 styles)
https://bboxtype.com/typefaces/FiraSans/

Overpass version 3.0.2 (16 styles)
http://overpassfont.org/

All fonts are correctly viewed in Font Manager and Font Viewer.

In LibreOffice 6.0.2:

EB Garamond: 2 styles are missing.
Medium
Medium Italic

Fira Sans is presented as 3 families: Fira Sans, Fira Sans Compressed, Fira Sans Condensed.

Fira Sans: 14 styles are missing.
Four
Four Italic
Hair
Hair Italic
Medium
Medium Italic
Thin
Thin Italic
Two
Two Italic
Ultra
Ultra Italic
Ultra Light
Ultra Light Italic

Fira Sans Compressed: 12 styles are missing.
Same as Fira Sans (except Ultra styles, unique to Fira Sans)

Fira Sans Condensed: 12 styles are missing.
Same as Fira Sans (except Ultra styles, unique to Fira Sans)

Overpass: all styles are displayed.

So, it seems that LibreOffice 6.0.2 on Linux effectively handles italics and stretches, but fails on some weights, in both extremes of the spectrum and in the middle. A very similar behavior is observed on macOS (and yet font handling should be different). See bug 69254.
Comment 12 V Stuart Foote 2019-04-10 14:08:45 UTC
*** Bug 123954 has been marked as a duplicate of this bug. ***
Comment 13 Buovjaga 2019-04-12 16:15:39 UTC Comment hidden (obsolete)