diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2018-01-03 16:48:54 +0000 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2018-01-04 15:22:06 +0000 |
commit | 1fa9cb78c1120e11e27e2a84f59b3fb239b165df (patch) | |
tree | 6ab8d5779f15fabff787e5411cfe6c09d13a2ae8 /src | |
parent | d7d40b5aa8216f30a38492bd2bde5884c492c82d (diff) |
Remove hack for OS/2 weights 1..9
Diffstat (limited to 'src')
-rw-r--r-- | src/fcfreetype.c | 8 | ||||
-rw-r--r-- | src/fcweight.c | 20 |
2 files changed, 2 insertions, 26 deletions
diff --git a/src/fcfreetype.c b/src/fcfreetype.c index 4af96b81..158f272a 100644 --- a/src/fcfreetype.c +++ b/src/fcfreetype.c @@ -1690,13 +1690,7 @@ FcFreeTypeQueryFaceInternal (const FT_Face face, if (os2 && os2->version != 0xffff) { weight = os2->usWeightClass; - if (weight < 10 && weight_mult != 1.0) - { - /* Work around bad values by cleaning them up before - * multiplying by weight_mult. */ - weight = FcWeightToOpenTypeDouble (FcWeightFromOpenTypeDouble (weight)); - } - weight = FcWeightFromOpenTypeDouble ((int) (weight * weight_mult + .5)); + weight = FcWeightFromOpenTypeDouble (weight * weight_mult); if ((FcDebug() & FC_DBG_SCANV) && weight != -1) printf ("\tos2 weight class %d multiplier %g maps to weight %g\n", os2->usWeightClass, weight_mult, weight); diff --git a/src/fcweight.c b/src/fcweight.c index 278231dd..276b4679 100644 --- a/src/fcweight.c +++ b/src/fcweight.c @@ -54,27 +54,9 @@ FcWeightFromOpenTypeDouble (double ot_weight) { int i; - /* Loosely based on WPF Font Selection Model's advice. */ - if (ot_weight < 0) return -1; - else if (1 <= ot_weight && ot_weight <= 9) - { - /* WPF Font Selection Model says do "ot_weight *= 100", - * but Greg Hitchcock revealed that GDI had a mapping - * reflected below: */ - switch ((int) ot_weight) { - case 1: ot_weight = 80; break; - case 2: ot_weight = 160; break; - case 3: ot_weight = 240; break; - case 4: ot_weight = 320; break; - case 5: ot_weight = 400; break; - case 6: ot_weight = 550; break; - case 7: ot_weight = 700; break; - case 8: ot_weight = 800; break; - case 9: ot_weight = 900; break; - } - } + ot_weight = FC_MIN (ot_weight, map[(sizeof (map) / sizeof (map[0])) - 1].ot); for (i = 1; ot_weight > map[i].ot; i++) |