From 79641a3b0c2b4a0c2e1a315028f0e54a9d846003 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Thu, 25 Oct 2007 01:03:40 -0700 Subject: [PATCH] Handle UltraBlack weight. UltraBlack is weight 950 on the CSS scale; handle this by name and value encoding it as fontconfig weight 215. --- fontconfig/fontconfig.h | 2 ++ src/fcfreetype.c | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h index f055cdb..17048e3 100644 --- a/fontconfig/fontconfig.h +++ b/fontconfig/fontconfig.h @@ -136,6 +136,8 @@ typedef int FcBool; #define FC_WEIGHT_ULTRABOLD FC_WEIGHT_EXTRABOLD #define FC_WEIGHT_BLACK 210 #define FC_WEIGHT_HEAVY FC_WEIGHT_BLACK +#define FC_WEIGHT_EXTRABLACK 215 +#define FC_WEIGHT_ULTRABLACK FC_WEIGHT_EXTRABLACK #define FC_SLANT_ROMAN 0 #define FC_SLANT_ITALIC 100 diff --git a/src/fcfreetype.c b/src/fcfreetype.c index da2aa80..3265a38 100644 --- a/src/fcfreetype.c +++ b/src/fcfreetype.c @@ -982,6 +982,9 @@ static const FcStringConst weightConsts[] = { { (FC8) "superbold", FC_WEIGHT_EXTRABOLD }, { (FC8) "ultrabold", FC_WEIGHT_ULTRABOLD }, { (FC8) "bold", FC_WEIGHT_BOLD }, + { (FC8) "ultrablack", FC_WEIGHT_ULTRABLACK }, + { (FC8) "superblack", FC_WEIGHT_EXTRABLACK }, + { (FC8) "extrablack", FC_WEIGHT_EXTRABLACK }, { (FC8) "black", FC_WEIGHT_BLACK }, { (FC8) "heavy", FC_WEIGHT_HEAVY }, }; @@ -1439,8 +1442,10 @@ FcFreeTypeQueryFace (const FT_Face face, weight = FC_WEIGHT_BOLD; else if (os2->usWeightClass < 850) weight = FC_WEIGHT_EXTRABOLD; - else if (os2->usWeightClass < 950) + else if (os2->usWeightClass < 925) weight = FC_WEIGHT_BLACK; + else if (os2->usWeightClass < 1000) + weight = FC_WEIGHT_EXTRABLACK; if ((FcDebug() & FC_DBG_SCANV) && weight != -1) printf ("\tos2 weight class %d maps to weight %d\n", os2->usWeightClass, weight); -- 2.39.5