[cache] Reduce type mismatches.
* src/cache/ftcbasic.c (FTC_BasicAttrRec): Match type of `load_flags` to its main purpose in `FT_Load_Glyph`. (FTC_ImageCache_Lookup{,Scaler},FTC_SBitCache_Lookup{,Scaler}): Updated.
This commit is contained in:
parent
9a2d6d97b2
commit
23e1d64556
|
@ -37,7 +37,7 @@
|
||||||
typedef struct FTC_BasicAttrRec_
|
typedef struct FTC_BasicAttrRec_
|
||||||
{
|
{
|
||||||
FTC_ScalerRec scaler;
|
FTC_ScalerRec scaler;
|
||||||
FT_UInt load_flags;
|
FT_Int32 load_flags;
|
||||||
|
|
||||||
} FTC_BasicAttrRec, *FTC_BasicAttrs;
|
} FTC_BasicAttrRec, *FTC_BasicAttrs;
|
||||||
|
|
||||||
|
@ -143,10 +143,9 @@
|
||||||
FT_Face face = size->face;
|
FT_Face face = size->face;
|
||||||
|
|
||||||
|
|
||||||
error = FT_Load_Glyph(
|
error = FT_Load_Glyph( face,
|
||||||
face,
|
gindex,
|
||||||
gindex,
|
family->attrs.load_flags | FT_LOAD_RENDER );
|
||||||
(FT_Int)family->attrs.load_flags | FT_LOAD_RENDER );
|
|
||||||
if ( !error )
|
if ( !error )
|
||||||
*aface = face;
|
*aface = face;
|
||||||
}
|
}
|
||||||
|
@ -176,9 +175,7 @@
|
||||||
{
|
{
|
||||||
face = size->face;
|
face = size->face;
|
||||||
|
|
||||||
error = FT_Load_Glyph( face,
|
error = FT_Load_Glyph( face, gindex, family->attrs.load_flags );
|
||||||
gindex,
|
|
||||||
(FT_Int)family->attrs.load_flags );
|
|
||||||
if ( !error )
|
if ( !error )
|
||||||
{
|
{
|
||||||
if ( face->glyph->format == FT_GLYPH_FORMAT_BITMAP ||
|
if ( face->glyph->format == FT_GLYPH_FORMAT_BITMAP ||
|
||||||
|
@ -310,23 +307,10 @@
|
||||||
if ( anode )
|
if ( anode )
|
||||||
*anode = NULL;
|
*anode = NULL;
|
||||||
|
|
||||||
/*
|
|
||||||
* Internal `FTC_BasicAttr->load_flags' is of type `FT_UInt',
|
|
||||||
* but public `FT_ImageType->flags' is of type `FT_Int32'.
|
|
||||||
*
|
|
||||||
* On 16bit systems, higher bits of type->flags cannot be handled.
|
|
||||||
*/
|
|
||||||
#if 0xFFFFFFFFUL > FT_UINT_MAX
|
|
||||||
if ( (type->flags & (FT_ULong)FT_UINT_MAX) )
|
|
||||||
FT_TRACE1(( "FTC_ImageCache_Lookup:"
|
|
||||||
" higher bits in load_flags 0x%lx are dropped\n",
|
|
||||||
(FT_ULong)type->flags & ~((FT_ULong)FT_UINT_MAX) ));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
query.attrs.scaler.face_id = type->face_id;
|
query.attrs.scaler.face_id = type->face_id;
|
||||||
query.attrs.scaler.width = type->width;
|
query.attrs.scaler.width = type->width;
|
||||||
query.attrs.scaler.height = type->height;
|
query.attrs.scaler.height = type->height;
|
||||||
query.attrs.load_flags = (FT_UInt)type->flags;
|
query.attrs.load_flags = type->flags;
|
||||||
|
|
||||||
query.attrs.scaler.pixel = 1;
|
query.attrs.scaler.pixel = 1;
|
||||||
query.attrs.scaler.x_res = 0; /* make compilers happy */
|
query.attrs.scaler.x_res = 0; /* make compilers happy */
|
||||||
|
@ -392,20 +376,20 @@
|
||||||
*anode = NULL;
|
*anode = NULL;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Internal `FTC_BasicAttr->load_flags' is of type `FT_UInt',
|
* Internal `FTC_BasicAttr->load_flags' is of type `FT_Int32',
|
||||||
* but public `FT_Face->face_flags' is of type `FT_Long'.
|
* but public `FT_Face->face_flags' is of type `FT_Long'.
|
||||||
*
|
*
|
||||||
* On long > int systems, higher bits of load_flags cannot be handled.
|
* On long > int systems, higher bits of load_flags cannot be handled.
|
||||||
*/
|
*/
|
||||||
#if FT_ULONG_MAX > FT_UINT_MAX
|
#if FT_ULONG_MAX > 0xFFFFFFFFUL
|
||||||
if ( load_flags > FT_UINT_MAX )
|
if ( load_flags > 0xFFFFFFFFUL )
|
||||||
FT_TRACE1(( "FTC_ImageCache_LookupScaler:"
|
FT_TRACE1(( "FTC_ImageCache_LookupScaler:"
|
||||||
" higher bits in load_flags 0x%lx are dropped\n",
|
" higher bits in load_flags 0x%lx are dropped\n",
|
||||||
load_flags & ~((FT_ULong)FT_UINT_MAX) ));
|
load_flags & ~0xFFFFFFFFUL ));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
query.attrs.scaler = scaler[0];
|
query.attrs.scaler = scaler[0];
|
||||||
query.attrs.load_flags = (FT_UInt)load_flags;
|
query.attrs.load_flags = (FT_Int32)load_flags;
|
||||||
|
|
||||||
hash = FTC_BASIC_ATTR_HASH( &query.attrs ) + gindex;
|
hash = FTC_BASIC_ATTR_HASH( &query.attrs ) + gindex;
|
||||||
|
|
||||||
|
@ -508,23 +492,10 @@
|
||||||
|
|
||||||
*ansbit = NULL;
|
*ansbit = NULL;
|
||||||
|
|
||||||
/*
|
|
||||||
* Internal `FTC_BasicAttr->load_flags' is of type `FT_UInt',
|
|
||||||
* but public `FT_ImageType->flags' is of type `FT_Int32'.
|
|
||||||
*
|
|
||||||
* On 16bit systems, higher bits of type->flags cannot be handled.
|
|
||||||
*/
|
|
||||||
#if 0xFFFFFFFFUL > FT_UINT_MAX
|
|
||||||
if ( (type->flags & (FT_ULong)FT_UINT_MAX) )
|
|
||||||
FT_TRACE1(( "FTC_ImageCache_Lookup:"
|
|
||||||
" higher bits in load_flags 0x%lx are dropped\n",
|
|
||||||
(FT_ULong)type->flags & ~((FT_ULong)FT_UINT_MAX) ));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
query.attrs.scaler.face_id = type->face_id;
|
query.attrs.scaler.face_id = type->face_id;
|
||||||
query.attrs.scaler.width = type->width;
|
query.attrs.scaler.width = type->width;
|
||||||
query.attrs.scaler.height = type->height;
|
query.attrs.scaler.height = type->height;
|
||||||
query.attrs.load_flags = (FT_UInt)type->flags;
|
query.attrs.load_flags = type->flags;
|
||||||
|
|
||||||
query.attrs.scaler.pixel = 1;
|
query.attrs.scaler.pixel = 1;
|
||||||
query.attrs.scaler.x_res = 0; /* make compilers happy */
|
query.attrs.scaler.x_res = 0; /* make compilers happy */
|
||||||
|
@ -592,20 +563,20 @@
|
||||||
*ansbit = NULL;
|
*ansbit = NULL;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Internal `FTC_BasicAttr->load_flags' is of type `FT_UInt',
|
* Internal `FTC_BasicAttr->load_flags' is of type `FT_Int32',
|
||||||
* but public `FT_Face->face_flags' is of type `FT_Long'.
|
* but public `FT_Face->face_flags' is of type `FT_Long'.
|
||||||
*
|
*
|
||||||
* On long > int systems, higher bits of load_flags cannot be handled.
|
* On long > int systems, higher bits of load_flags cannot be handled.
|
||||||
*/
|
*/
|
||||||
#if FT_ULONG_MAX > FT_UINT_MAX
|
#if FT_ULONG_MAX > 0xFFFFFFFFUL
|
||||||
if ( load_flags > FT_UINT_MAX )
|
if ( load_flags > 0xFFFFFFFFUL )
|
||||||
FT_TRACE1(( "FTC_ImageCache_LookupScaler:"
|
FT_TRACE1(( "FTC_ImageCache_LookupScaler:"
|
||||||
" higher bits in load_flags 0x%lx are dropped\n",
|
" higher bits in load_flags 0x%lx are dropped\n",
|
||||||
load_flags & ~((FT_ULong)FT_UINT_MAX) ));
|
load_flags & ~0xFFFFFFFFUL ));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
query.attrs.scaler = scaler[0];
|
query.attrs.scaler = scaler[0];
|
||||||
query.attrs.load_flags = (FT_UInt)load_flags;
|
query.attrs.load_flags = (FT_Int32)load_flags;
|
||||||
|
|
||||||
/* beware, the hash must be the same for all glyph ranges! */
|
/* beware, the hash must be the same for all glyph ranges! */
|
||||||
hash = FTC_BASIC_ATTR_HASH( &query.attrs ) +
|
hash = FTC_BASIC_ATTR_HASH( &query.attrs ) +
|
||||||
|
|
Loading…
Reference in New Issue