https://bugs.documentfoundation.org/show_bug.cgi?id=69254

--- Comment #68 from LibreTraining <[email protected]> ---

>From the link above
https://github.com/GNOME/pango/blob/master/pango/pangocoretext-fontmap.c#L121

static const PangoCTWeight ct_weight_map[] = {
    { ct_weight_min, PANGO_WEIGHT_THIN },
    { -0.5, PANGO_WEIGHT_ULTRALIGHT },
    { -0.23, PANGO_WEIGHT_LIGHT },
    { -0.115, PANGO_WEIGHT_SEMILIGHT },
    {  0.00, PANGO_WEIGHT_NORMAL },
    {  0.2, PANGO_WEIGHT_MEDIUM },
    {  0.3, PANGO_WEIGHT_SEMIBOLD },
    {  0.4, PANGO_WEIGHT_BOLD },
    {  0.6, PANGO_WEIGHT_ULTRABOLD },
    {  ct_weight_max, PANGO_WEIGHT_HEAVY }
};

So this "coretext" is stuffing all fonts into one of these 10 weights.
Correct?

And as mentioned above, coretext is assigning different weights the same
weight.
This causes multiple fonts to be assigned the same weight, causes conflicts,
and display errors.

Fira Sans has 16 visual weights.
These are the weights designated in the font files.

Fira Sans Two         (100)
Fira Sans Four        (100)
Fira Sans Eight       (100)  
Fira Sans Hair        (100)  
Fira Sans Thin        (100)  
Fira Sans UltraLight  (200)
Fira Sans ExtraLight  (200) 
Fira Sans Light       (300) 
Fira Sans Book        (350) 
Fira Sans Regular     (400) 
Fira Sans Medium      (500) 
Fira Sans SemiBold    (600)  
Fira Sans Bold        (700) 
Fira Sans ExtraBold   (800)  
Fira Sans Heavy       (900) 
Fira Sans Ultra       (950)  

There is no way coretext can stuff all 16 of those into 10 weights.

Google fonts only shows 9 weights (which fits nicely with CSS).
Fira Sans Thin        (100)  
Fira Sans ExtraLight  (200) 
Fira Sans Light       (300) 
Fira Sans Regular     (400) 
Fira Sans Medium      (500) 
Fira Sans SemiBold    (600)  
Fira Sans Bold        (700) 
Fira Sans ExtraBold   (800)  
Fira Sans Black       (900)   (Heavy)

They simply ignore the rest.


Overpass

Overpass Thin        (100) 
Overpass ExtraLight  (200)
Overpass Light       (300)
Overpass Regular     (400)  
Overpass SemiBold    (600) 
Overpass Bold        (700)
Overpass ExtraBold   (800) 
Overpass Heavy       (900)

8 weights
There is no reason why this should not work properly.
Assigning the first three fonts the same weight (see above) makes no sense.


EB Garamond 12 (octaviopardo)

EB Garamond Regular    (400)
EB Garamond Medium     (500)
EB Garamond SemiBold   (600) 
EB Garamond Bold       (700)  
EB Garamond ExtraBold  (800)

5 weights.
The Medium and SemiBold should work properly (see above).


I do not see how this coretext thing can ever work properly with modern
typefaces.
It simply does not fit.

LO is already displaying the unique Full Font Name from the font file.
Why not just use that?
Other apps do. 
And the bold and italics buttons still work where appropriate.
Most modern fonts have structured the font info fields to work either way.

If the weight is needed to map to HTML for example, just read it from the font
file.

It looks to me that coretext will never work.
Or can someone please tell ignorant me how it possibly can work.

Why is coretext needed for selecting fonts when the metadata can be used
instead?

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to