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
