Hello,

2008/7/4 <[EMAIL PROTECTED]>:

> 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
_______________________________________________
Freetype-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/freetype-devel

Reply via email to