Remove hack for OS/2 weights 1..9
This commit is contained in:
parent
d7d40b5aa8
commit
1fa9cb78c1
|
@ -1690,13 +1690,7 @@ FcFreeTypeQueryFaceInternal (const FT_Face face,
|
||||||
if (os2 && os2->version != 0xffff)
|
if (os2 && os2->version != 0xffff)
|
||||||
{
|
{
|
||||||
weight = os2->usWeightClass;
|
weight = os2->usWeightClass;
|
||||||
if (weight < 10 && weight_mult != 1.0)
|
weight = FcWeightFromOpenTypeDouble (weight * weight_mult);
|
||||||
{
|
|
||||||
/* Work around bad values by cleaning them up before
|
|
||||||
* multiplying by weight_mult. */
|
|
||||||
weight = FcWeightToOpenTypeDouble (FcWeightFromOpenTypeDouble (weight));
|
|
||||||
}
|
|
||||||
weight = FcWeightFromOpenTypeDouble ((int) (weight * weight_mult + .5));
|
|
||||||
if ((FcDebug() & FC_DBG_SCANV) && weight != -1)
|
if ((FcDebug() & FC_DBG_SCANV) && weight != -1)
|
||||||
printf ("\tos2 weight class %d multiplier %g maps to weight %g\n",
|
printf ("\tos2 weight class %d multiplier %g maps to weight %g\n",
|
||||||
os2->usWeightClass, weight_mult, weight);
|
os2->usWeightClass, weight_mult, weight);
|
||||||
|
|
|
@ -54,27 +54,9 @@ FcWeightFromOpenTypeDouble (double ot_weight)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* Loosely based on WPF Font Selection Model's advice. */
|
|
||||||
|
|
||||||
if (ot_weight < 0)
|
if (ot_weight < 0)
|
||||||
return -1;
|
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);
|
ot_weight = FC_MIN (ot_weight, map[(sizeof (map) / sizeof (map[0])) - 1].ot);
|
||||||
|
|
||||||
for (i = 1; ot_weight > map[i].ot; i++)
|
for (i = 1; ot_weight > map[i].ot; i++)
|
||||||
|
|
Loading…
Reference in New Issue