Subject: Re: bug#32210: Support medium weighted fonts

From: Lars Ingebrigtsen <[email-masked]>
Date: Wed, 20 Oct 2021 14:58:12 +0200

Lars Ingebrigtsen <[email-masked]> writes:

> I don't have the stamina to do that right now, so if somebody else wants
> to look into it, it's fine by me.  :-)  But if not, I'll try to have a
> whack at it sometime later.

Man, this font stuff is convoluted.  I mean, the programming -- it's all
via indirect methods for no particular reason.

Anyway, I've added all the new weights, and things...  mostly work.  But
I'm having problems actually understanding this table:

/* Table of weight numeric values and their names.  This table must be
   sorted by numeric values in ascending order.  */

 static const struct table_entry weight_table[] =
 {
   { 0, { "thin" }},
-  { 20, { "ultra-light", "ultralight" }},
-  { 40, { "extra-light", "extralight" }},
-  { 50, { "light" }},
-  { 75, { "semi-light", "semilight", "demilight", "book" }},
-  { 100, { "normal", "medium", "regular", "unspecified" }},
-  { 180, { "semi-bold", "semibold", "demibold", "demi" }},
-  { 200, { "bold" }},
-  { 205, { "extra-bold", "extrabold" }},
-  { 210, { "ultra-bold", "ultrabold", "black" }}

What are those numbers?  Is it just an ordering, and it doesn't matter
what the numbers are?  Or are they used when instantiating fonts
somewhere?  I'm just having puzzling issues with some of the new names
but not others, and I just don't understand where certain font weights
are coming from.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no