freetype-devel
[Top][All Lists]
Advanced

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

Re: [ft-devel] Re: freetype-2.3.7 -- ftconfig.h for biarch systems


From: David Turner
Subject: Re: [ft-devel] Re: freetype-2.3.7 -- ftconfig.h for biarch systems
Date: Wed, 16 Jul 2008 12:32:24 +0200

Hello,

2008/7/4 <address@hidden>:
Hi,

Sorry for the lated response.

FT_Int is required to store signed 32bit integer, but
the standard minimum of int type in C89 is signed 16bit.
Thus, if the int type is signed 16bit, we use
the long type that its standard minimum is signed 32bit.

this is not true, FT_Int corresponds to the standard C "int" type
that can be 32-bit or 16-bit. FT_Long is used when at least 32-bits
are needed

and of course FT_Int32 when exactly 32 bits are needed.

at least that was my intention when coding this. Please fix the
use cases / documentation where it doesn't match.

 
In C99, int32_t (required) and int64_t (optional) are
defined, so they are what we wanted to find originally.
By using C99, FT_Int and FT_Int64 can be simplified?
Yes, if we ignore the binary compatibility with previous
releases.

I encourage the switch to C99 integral types. It's 2008 now,
and any people who would want to use FreeType on an
old/embedded toolchain should need to port the sources itself
to support its environment.

this only really requires the following:

- all C99-specific configuration must happen in a few header files
  (e.g. ftconfig.h). the rest of the code uses things like FT_Int,
  FT_Long, FT_Int32, etc...

- we must be cautious about the possibility that 64-bit integral
  types are not available natively, so have a configuration option
  to use a pair of 32-bit integers instead, and still have the code
  working.

  however, the default would be to use a int64_t to define FT_Int64

I don't think it's unreasonable, and would allow us to get rid of some
fucking ugly stuff in ftconfig.h. And the less Autoconf we have, the
better...

Regards,

- David

reply via email to

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