freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Devel] failure to complie release 2.1.2


From: Werner LEMBERG
Subject: Re: [Devel] failure to complie release 2.1.2
Date: Sun, 18 Aug 2002 02:38:35 +0200 (CEST)

> > For the above problem, you have to redefine FT_ENC_TAG,
> > FT_IMAGE_TAG, and FT_MAKE_TAG to something which your platform
> > understands (i.e., creating 16bit tags instead of 32bit entities).
> > Those macros are already embedded into `#ifndef ...  #endif'
> > constructs, so you should put your new definitions into a
> > DOS-specific ftconfig.h (see the Amiga port for an example of a
> > ftconfig.h file and the proper directory structure).
> 
> FreeType 1 doesn't have such problem. How does it deal with the tags?
> I don't know exactly how to redefine those tags. I tried the following:
> 
> #ifndef FT_IMAGE_TAG
> #define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 )  \
>           value = ( ( (unsigned long)_x1 << 8 ) | \
>                     ( (unsigned long)_x2 << 6) | \
>                     ( (unsigned long)_x3 << 4) | \
>                       (unsigned long)_x4         )
> 
> #endif /* FT_IMAGE_TAG */

Don't use #ifndef, since you are redefining the macros
unconditionally.  A proper redefinition is this (I've just added a
comment to the FT2 sources for explanation):

  #define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4)  (value)
  #define FT_ENC_TAG(   value, _x1, _x2, _x3, _x4)  (value)

Now you get simple enumeration values starting with 0.

BTW, I made a small mistake: You must *not* redefine FT_MAKE_TAG since
those values have to be 32bit numbers (and they aren't used in
enumerations).

If you still have problems please try to debug them and send you
results to address@hidden


   Werner



reply via email to

[Prev in Thread] Current Thread [Next in Thread]