Generate FC_SIZE and FC_DPI for legacy bitmap fonts

This commit is contained in:
Juliusz Chroboczek 2003-05-12 09:04:24 +00:00
parent d47c9d6efe
commit 0f362ad520
1 changed files with 41 additions and 0 deletions

View File

@ -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
}
/*