зеркало из https://github.com/stride3d/freetype.git
do not use functions from <ctypes.h>, they are locale-dependent (and slower)
This commit is contained in:
Родитель
607dec79bb
Коммит
0a24bd259a
|
@ -1,3 +1,11 @@
|
|||
2007-05-15 David Turner <david@freetype.org>
|
||||
|
||||
* include/freetype/config/ftstdlib.h,
|
||||
include/freetype/internal/ftobjs.h: as suggested by Graham Asher,
|
||||
ensure that ft_isalnum, ft_isdigit, etc... use hard-coded values
|
||||
instead on relying on the locale-dependent functions provided by
|
||||
<ctypes.h>
|
||||
|
||||
2007-05-15 Graham Asher <graham.asher@btinternet.com>
|
||||
|
||||
* src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
|
||||
|
|
|
@ -78,15 +78,6 @@
|
|||
/**********************************************************************/
|
||||
|
||||
|
||||
#include <ctype.h>
|
||||
|
||||
#define ft_isalnum isalnum
|
||||
#define ft_isdigit isdigit
|
||||
#define ft_islower islower
|
||||
#define ft_isupper isupper
|
||||
#define ft_isxdigit isxdigit
|
||||
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#define ft_memchr memchr
|
||||
|
|
|
@ -89,6 +89,26 @@ FT_BEGIN_HEADER
|
|||
ft_highpow2( FT_UInt32 value );
|
||||
|
||||
|
||||
/*
|
||||
* character classification functions. Since these are used to parse font
|
||||
* files, we must not use those in <ctypes.h> which are locale-dependent !!
|
||||
*/
|
||||
#define ft_isdigit(x) (((unsigned)(x) - '0') < 10U)
|
||||
|
||||
#define ft_isxdigit(x) ( ((unsigned)(x) - '0') < 10U || \
|
||||
((unsigned)(x) - 'a') < 6U || \
|
||||
((unsigned)(x) - 'A') < 6U )
|
||||
|
||||
#define ft_isupper(x) ( ((unsigned)(x) - 'A') < 26U )
|
||||
|
||||
#define ft_islower(x) ( ((unsigned)(x) - 'a') < 26U )
|
||||
|
||||
#define ft_isalpha(x) ( ft_is_upper(x) || ft_is_lower(x) )
|
||||
|
||||
#define ft_isalnum(x) ( ft_isdigit(x) || ft_isalpha(x) )
|
||||
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
/*************************************************************************/
|
||||
|
|
Загрузка…
Ссылка в новой задаче