Generate FC_SIZE and FC_DPI for legacy bitmap fonts
This commit is contained in:
parent
d47c9d6efe
commit
0f362ad520
|
@ -978,6 +978,47 @@ FcFreeTypeQuery (const FcChar8 *file,
|
|||
goto bail1;
|
||||
if (!FcPatternAddBool (pat, FC_ANTIALIAS, FcFalse))
|
||||
goto bail1;
|
||||
#ifdef USE_FTBDF
|
||||
if(face->num_fixed_sizes == 1) {
|
||||
int rc;
|
||||
int value;
|
||||
BDF_PropertyRec prop;
|
||||
|
||||
rc = MY_Get_BDF_Property(face, "PIXEL_SIZE", &prop);
|
||||
if(rc == 0 && prop.type == BDF_PROPERTY_TYPE_INTEGER)
|
||||
value = prop.u.integer;
|
||||
else if(rc == 0 && prop.type == BDF_PROPERTY_TYPE_CARDINAL)
|
||||
value = prop.u.cardinal;
|
||||
else
|
||||
goto nevermind;
|
||||
if(value != face->available_sizes[0].height)
|
||||
/* ``impossible'' */
|
||||
goto nevermind;
|
||||
|
||||
rc = MY_Get_BDF_Property(face, "POINT_SIZE", &prop);
|
||||
if(rc == 0 && prop.type == BDF_PROPERTY_TYPE_INTEGER)
|
||||
value = prop.u.integer;
|
||||
else if(rc == 0 && prop.type == BDF_PROPERTY_TYPE_CARDINAL)
|
||||
value = prop.u.cardinal;
|
||||
else
|
||||
goto nevermind;
|
||||
if(!FcPatternAddDouble(pat, FC_SIZE, value / 10.0))
|
||||
goto nevermind;
|
||||
|
||||
rc = MY_Get_BDF_Property(face, "RESOLUTION_Y", &prop);
|
||||
if(rc == 0 && prop.type == BDF_PROPERTY_TYPE_INTEGER)
|
||||
value = prop.u.integer;
|
||||
else if(rc == 0 && prop.type == BDF_PROPERTY_TYPE_CARDINAL)
|
||||
value = prop.u.cardinal;
|
||||
else
|
||||
goto nevermind;
|
||||
if(!FcPatternAddDouble(pat, FC_DPI, (double)value))
|
||||
goto nevermind;
|
||||
|
||||
}
|
||||
nevermind:
|
||||
;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue