summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2018-01-03 16:48:54 +0000
committerBehdad Esfahbod <behdad@behdad.org>2018-01-04 15:22:06 +0000
commit1fa9cb78c1120e11e27e2a84f59b3fb239b165df (patch)
tree6ab8d5779f15fabff787e5411cfe6c09d13a2ae8
parentd7d40b5aa8216f30a38492bd2bde5884c492c82d (diff)
Remove hack for OS/2 weights 1..9
-rw-r--r--src/fcfreetype.c8
-rw-r--r--src/fcweight.c20
2 files changed, 2 insertions, 26 deletions
diff --git a/src/fcfreetype.c b/src/fcfreetype.c
index 4af96b8..158f272 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 278231d..276b467 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++)