// /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/cc1 -fpreprocessed /root/.ccache/type1.tmp.gurganbl.7550.i -quiet -dumpbase type1.tmp.gurganbl.7550.i -march=pentium4 -mcpu=pentium4 -march=pentium4 -mcpu=pentium4 -ansi -auxbase-strip /root/.ccache/tmp.hash.gurganbl.7550.o -O3 -O3 -pedantic -Wall -ansi -fprefetch-loop-arrays -fomit-frame-pointer -fnew-ra -ftracer -ffast-math -fprefetch-loop-arrays -fomit-frame-pointer -fnew-ra -ftracer -ffast-math -fPIC -o - # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/type1.c" # 1 "" # 1 "" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/type1.c" # 21 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/type1.c" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/ft2build.h" 1 # 34 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/ft2build.h" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftheader.h" 1 # 531 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftheader.h" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/internal.h" 1 # 532 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftheader.h" 2 # 35 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/ft2build.h" 2 # 22 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/type1.c" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1parse.c" 1 # 37 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1parse.c" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftdebug.h" 1 # 29 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftdebug.h" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftconfig.h" 1 # 43 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftconfig.h" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftoption.h" 1 # 26 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftoption.h" # 527 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftoption.h" # 44 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftconfig.h" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftstdlib.h" 1 # 61 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftstdlib.h" # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/limits.h" 1 3 4 # 11 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/limits.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/syslimits.h" 1 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/limits.h" 1 3 4 # 122 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/limits.h" 3 4 # 1 "/usr/include/limits.h" 1 3 4 # 26 "/usr/include/limits.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 295 "/usr/include/features.h" 3 4 # 1 "/usr/include/sys/cdefs.h" 1 3 4 # 296 "/usr/include/features.h" 2 3 4 # 318 "/usr/include/features.h" 3 4 # 1 "/usr/include/gnu/stubs.h" 1 3 4 # 319 "/usr/include/features.h" 2 3 4 # 27 "/usr/include/limits.h" 2 3 4 # 123 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/limits.h" 2 3 4 # 8 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/syslimits.h" 2 3 4 # 12 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/limits.h" 2 3 4 # 62 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftstdlib.h" 2 # 74 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftstdlib.h" # 1 "/usr/include/ctype.h" 1 3 4 # 28 "/usr/include/ctype.h" 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 28 "/usr/include/bits/types.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 29 "/usr/include/bits/types.h" 2 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 213 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 3 4 typedef unsigned int size_t; # 32 "/usr/include/bits/types.h" 2 3 4 typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; __extension__ typedef signed long long int __int64_t; __extension__ typedef unsigned long long int __uint64_t; __extension__ typedef long long int __quad_t; __extension__ typedef unsigned long long int __u_quad_t; # 129 "/usr/include/bits/types.h" 3 4 # 1 "/usr/include/bits/typesizes.h" 1 3 4 # 130 "/usr/include/bits/types.h" 2 3 4 __extension__ typedef unsigned long long int __dev_t; __extension__ typedef unsigned int __uid_t; __extension__ typedef unsigned int __gid_t; __extension__ typedef unsigned long int __ino_t; __extension__ typedef unsigned long long int __ino64_t; __extension__ typedef unsigned int __mode_t; __extension__ typedef unsigned int __nlink_t; __extension__ typedef long int __off_t; __extension__ typedef long long int __off64_t; __extension__ typedef int __pid_t; __extension__ typedef struct { int __val[2]; } __fsid_t; __extension__ typedef long int __clock_t; __extension__ typedef unsigned long int __rlim_t; __extension__ typedef unsigned long long int __rlim64_t; __extension__ typedef unsigned int __id_t; __extension__ typedef long int __time_t; __extension__ typedef unsigned int __useconds_t; __extension__ typedef long int __suseconds_t; __extension__ typedef int __daddr_t; __extension__ typedef long int __swblk_t; __extension__ typedef int __key_t; __extension__ typedef int __clockid_t; __extension__ typedef void * __timer_t; __extension__ typedef long int __blksize_t; __extension__ typedef long int __blkcnt_t; __extension__ typedef long long int __blkcnt64_t; __extension__ typedef unsigned long int __fsblkcnt_t; __extension__ typedef unsigned long long int __fsblkcnt64_t; __extension__ typedef unsigned long int __fsfilcnt_t; __extension__ typedef unsigned long long int __fsfilcnt64_t; __extension__ typedef int __ssize_t; typedef __off64_t __loff_t; typedef __quad_t *__qaddr_t; typedef char *__caddr_t; __extension__ typedef int __intptr_t; __extension__ typedef unsigned int __socklen_t; # 29 "/usr/include/ctype.h" 2 3 4 # 41 "/usr/include/ctype.h" 3 4 # 1 "/usr/include/endian.h" 1 3 4 # 37 "/usr/include/endian.h" 3 4 # 1 "/usr/include/bits/endian.h" 1 3 4 # 38 "/usr/include/endian.h" 2 3 4 # 42 "/usr/include/ctype.h" 2 3 4 enum { _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) }; # 81 "/usr/include/ctype.h" 3 4 extern __const unsigned short int **__ctype_b_loc (void) __attribute__ ((__const)); extern __const __int32_t **__ctype_tolower_loc (void) __attribute__ ((__const)); extern __const __int32_t **__ctype_toupper_loc (void) __attribute__ ((__const)); # 96 "/usr/include/ctype.h" 3 4 extern int isalnum (int) ; extern int isalpha (int) ; extern int iscntrl (int) ; extern int isdigit (int) ; extern int islower (int) ; extern int isgraph (int) ; extern int isprint (int) ; extern int ispunct (int) ; extern int isspace (int) ; extern int isupper (int) ; extern int isxdigit (int) ; extern int tolower (int __c) ; extern int toupper (int __c) ; # 190 "/usr/include/ctype.h" 3 4 extern __inline int tolower (int __c) { return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; } extern __inline int toupper (int __c) { return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; } # 323 "/usr/include/ctype.h" 3 4 # 75 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftstdlib.h" 2 # 1 "/usr/include/string.h" 1 3 4 # 28 "/usr/include/string.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 34 "/usr/include/string.h" 2 3 4 extern void *memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) ; extern void *memmove (void *__dest, __const void *__src, size_t __n) ; # 56 "/usr/include/string.h" 3 4 extern void *memset (void *__s, int __c, size_t __n) ; extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__pure__)); extern void *memchr (__const void *__s, int __c, size_t __n) __attribute__ ((__pure__)); # 80 "/usr/include/string.h" 3 4 extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) ; extern char *strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern char *strcat (char *__restrict __dest, __const char *__restrict __src) ; extern char *strncat (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern int strcmp (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__pure__)); extern int strcoll (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern size_t strxfrm (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; # 160 "/usr/include/string.h" 3 4 extern char *strchr (__const char *__s, int __c) __attribute__ ((__pure__)); extern char *strrchr (__const char *__s, int __c) __attribute__ ((__pure__)); # 176 "/usr/include/string.h" 3 4 extern size_t strcspn (__const char *__s, __const char *__reject) __attribute__ ((__pure__)); extern size_t strspn (__const char *__s, __const char *__accept) __attribute__ ((__pure__)); extern char *strpbrk (__const char *__s, __const char *__accept) __attribute__ ((__pure__)); extern char *strstr (__const char *__haystack, __const char *__needle) __attribute__ ((__pure__)); extern char *strtok (char *__restrict __s, __const char *__restrict __delim) ; extern char *__strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) ; # 228 "/usr/include/string.h" 3 4 extern size_t strlen (__const char *__s) __attribute__ ((__pure__)); # 241 "/usr/include/string.h" 3 4 extern char *strerror (int __errnum) ; # 253 "/usr/include/string.h" 3 4 extern void __bzero (void *__s, size_t __n) ; # 372 "/usr/include/string.h" 3 4 # 1 "/usr/include/bits/string.h" 1 3 4 # 373 "/usr/include/string.h" 2 3 4 # 1 "/usr/include/bits/string2.h" 1 3 4 # 389 "/usr/include/bits/string2.h" 3 4 extern void *__rawmemchr (const void *__s, int __c); # 919 "/usr/include/bits/string2.h" 3 4 extern __inline size_t __strcspn_c1 (__const char *__s, int __reject); extern __inline size_t __strcspn_c1 (__const char *__s, int __reject) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject) ++__result; return __result; } extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1, int __reject2); extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1, int __reject2) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2) ++__result; return __result; } extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1, int __reject2, int __reject3); extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1, int __reject2, int __reject3) { register size_t __result = 0; while (__s[__result] != '\0' && __s[__result] != __reject1 && __s[__result] != __reject2 && __s[__result] != __reject3) ++__result; return __result; } # 976 "/usr/include/bits/string2.h" 3 4 extern __inline size_t __strspn_c1 (__const char *__s, int __accept); extern __inline size_t __strspn_c1 (__const char *__s, int __accept) { register size_t __result = 0; while (__s[__result] == __accept) ++__result; return __result; } extern __inline size_t __strspn_c2 (__const char *__s, int __accept1, int __accept2); extern __inline size_t __strspn_c2 (__const char *__s, int __accept1, int __accept2) { register size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2) ++__result; return __result; } extern __inline size_t __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3); extern __inline size_t __strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) { register size_t __result = 0; while (__s[__result] == __accept1 || __s[__result] == __accept2 || __s[__result] == __accept3) ++__result; return __result; } # 1033 "/usr/include/bits/string2.h" 3 4 extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1, int __accept2); extern __inline char * __strpbrk_c2 (__const char *__s, int __accept1, int __accept2) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1, int __accept2, int __accept3); extern __inline char * __strpbrk_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) { while (*__s != '\0' && *__s != __accept1 && *__s != __accept2 && *__s != __accept3) ++__s; return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; } # 1085 "/usr/include/bits/string2.h" 3 4 extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp); extern __inline char * __strtok_r_1c (char *__s, char __sep, char **__nextp) { char *__result; if (__s == ((void *)0)) __s = *__nextp; while (*__s == __sep) ++__s; __result = ((void *)0); if (*__s != '\0') { __result = __s++; while (*__s != '\0') if (*__s++ == __sep) { __s[-1] = '\0'; break; } *__nextp = __s; } return __result; } # 1117 "/usr/include/bits/string2.h" 3 4 extern char *__strsep_g (char **__stringp, __const char *__delim); # 1135 "/usr/include/bits/string2.h" 3 4 extern __inline char *__strsep_1c (char **__s, char __reject); extern __inline char * __strsep_1c (char **__s, char __reject) { register char *__retval = *__s; if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : strchr (__retval, __reject)))) != ((void *)0)) *(*__s)++ = '\0'; return __retval; } extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2); extern __inline char * __strsep_2c (char **__s, char __reject1, char __reject2) { register char *__retval = *__s; if (__retval != ((void *)0)) { register char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3); extern __inline char * __strsep_3c (char **__s, char __reject1, char __reject2, char __reject3) { register char *__retval = *__s; if (__retval != ((void *)0)) { register char *__cp = __retval; while (1) { if (*__cp == '\0') { __cp = ((void *)0); break; } if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3) { *__cp++ = '\0'; break; } ++__cp; } *__s = __cp; } return __retval; } # 376 "/usr/include/string.h" 2 3 4 # 83 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftstdlib.h" 2 # 95 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftstdlib.h" # 1 "/usr/include/stdio.h" 1 3 4 # 30 "/usr/include/stdio.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 35 "/usr/include/stdio.h" 2 3 4 # 44 "/usr/include/stdio.h" 3 4 typedef struct _IO_FILE FILE; # 62 "/usr/include/stdio.h" 3 4 typedef struct _IO_FILE __FILE; # 72 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/libio.h" 1 3 4 # 32 "/usr/include/libio.h" 3 4 # 1 "/usr/include/_G_config.h" 1 3 4 # 14 "/usr/include/_G_config.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 325 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 3 4 typedef long int wchar_t; # 354 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 3 4 typedef unsigned int wint_t; # 15 "/usr/include/_G_config.h" 2 3 4 # 24 "/usr/include/_G_config.h" 3 4 # 1 "/usr/include/wchar.h" 1 3 4 # 48 "/usr/include/wchar.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 49 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/include/bits/wchar.h" 1 3 4 # 51 "/usr/include/wchar.h" 2 3 4 # 76 "/usr/include/wchar.h" 3 4 typedef struct { int __count; union { wint_t __wch; char __wchb[4]; } __value; } __mbstate_t; # 25 "/usr/include/_G_config.h" 2 3 4 typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; # 44 "/usr/include/_G_config.h" 3 4 # 1 "/usr/include/gconv.h" 1 3 4 # 28 "/usr/include/gconv.h" 3 4 # 1 "/usr/include/wchar.h" 1 3 4 # 48 "/usr/include/wchar.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 49 "/usr/include/wchar.h" 2 3 4 # 29 "/usr/include/gconv.h" 2 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 32 "/usr/include/gconv.h" 2 3 4 enum { __GCONV_OK = 0, __GCONV_NOCONV, __GCONV_NODB, __GCONV_NOMEM, __GCONV_EMPTY_INPUT, __GCONV_FULL_OUTPUT, __GCONV_ILLEGAL_INPUT, __GCONV_INCOMPLETE_INPUT, __GCONV_ILLEGAL_DESCRIPTOR, __GCONV_INTERNAL_ERROR }; enum { __GCONV_IS_LAST = 0x0001, __GCONV_IGNORE_ERRORS = 0x0002 }; struct __gconv_step; struct __gconv_step_data; struct __gconv_loaded_object; struct __gconv_trans_data; typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *, int, int); typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char); typedef int (*__gconv_init_fct) (struct __gconv_step *); typedef void (*__gconv_end_fct) (struct __gconv_step *); typedef int (*__gconv_trans_fct) (struct __gconv_step *, struct __gconv_step_data *, void *, __const unsigned char *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *); typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, __const unsigned char *, unsigned char *, unsigned char *); typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, size_t *); typedef int (*__gconv_trans_init_fct) (void **, const char *); typedef void (*__gconv_trans_end_fct) (void *); struct __gconv_trans_data { __gconv_trans_fct __trans_fct; __gconv_trans_context_fct __trans_context_fct; __gconv_trans_end_fct __trans_end_fct; void *__data; struct __gconv_trans_data *__next; }; struct __gconv_step { struct __gconv_loaded_object *__shlib_handle; __const char *__modname; int __counter; char *__from_name; char *__to_name; __gconv_fct __fct; __gconv_btowc_fct __btowc_fct; __gconv_init_fct __init_fct; __gconv_end_fct __end_fct; int __min_needed_from; int __max_needed_from; int __min_needed_to; int __max_needed_to; int __stateful; void *__data; }; struct __gconv_step_data { unsigned char *__outbuf; unsigned char *__outbufend; int __flags; int __invocation_counter; int __internal_use; __mbstate_t *__statep; __mbstate_t __state; struct __gconv_trans_data *__trans; }; typedef struct __gconv_info { size_t __nsteps; struct __gconv_step *__steps; __extension__ struct __gconv_step_data __data []; } *__gconv_t; # 45 "/usr/include/_G_config.h" 2 3 4 typedef union { struct __gconv_info __cd; struct { struct __gconv_info __cd; struct __gconv_step_data __data; } __combined; } _G_iconv_t; typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); # 33 "/usr/include/libio.h" 2 3 4 # 53 "/usr/include/libio.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stdarg.h" 1 3 4 # 43 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 54 "/usr/include/libio.h" 2 3 4 # 163 "/usr/include/libio.h" 3 4 struct _IO_jump_t; struct _IO_FILE; # 173 "/usr/include/libio.h" 3 4 typedef void _IO_lock_t; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos; # 196 "/usr/include/libio.h" 3 4 }; enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv }; # 264 "/usr/include/libio.h" 3 4 struct _IO_FILE { int _flags; char* _IO_read_ptr; char* _IO_read_end; char* _IO_read_base; char* _IO_write_base; char* _IO_write_ptr; char* _IO_write_end; char* _IO_buf_base; char* _IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _flags2; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; # 312 "/usr/include/libio.h" 3 4 __off64_t _offset; void *__pad1; void *__pad2; int _mode; char _unused2[15 * sizeof (int) - 2 * sizeof (void *)]; }; typedef struct _IO_FILE _IO_FILE; struct _IO_FILE_plus; extern struct _IO_FILE_plus _IO_2_1_stdin_; extern struct _IO_FILE_plus _IO_2_1_stdout_; extern struct _IO_FILE_plus _IO_2_1_stderr_; # 351 "/usr/include/libio.h" 3 4 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, size_t __n); typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); typedef int __io_close_fn (void *__cookie); # 403 "/usr/include/libio.h" 3 4 extern int __underflow (_IO_FILE *) ; extern int __uflow (_IO_FILE *) ; extern int __overflow (_IO_FILE *, int) ; extern wint_t __wunderflow (_IO_FILE *) ; extern wint_t __wuflow (_IO_FILE *) ; extern wint_t __woverflow (_IO_FILE *, wint_t) ; # 441 "/usr/include/libio.h" 3 4 extern int _IO_getc (_IO_FILE *__fp) ; extern int _IO_putc (int __c, _IO_FILE *__fp) ; extern int _IO_feof (_IO_FILE *__fp) ; extern int _IO_ferror (_IO_FILE *__fp) ; extern int _IO_peekc_locked (_IO_FILE *__fp) ; extern void _IO_flockfile (_IO_FILE *) ; extern void _IO_funlockfile (_IO_FILE *) ; extern int _IO_ftrylockfile (_IO_FILE *) ; # 471 "/usr/include/libio.h" 3 4 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, __gnuc_va_list, int *__restrict) ; extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, __gnuc_va_list) ; extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) ; extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) ; extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) ; extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) ; extern void _IO_free_backup_area (_IO_FILE *) ; # 73 "/usr/include/stdio.h" 2 3 4 # 86 "/usr/include/stdio.h" 3 4 typedef _G_fpos_t fpos_t; # 138 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 139 "/usr/include/stdio.h" 2 3 4 extern struct _IO_FILE *stdin; extern struct _IO_FILE *stdout; extern struct _IO_FILE *stderr; extern int remove (__const char *__filename) ; extern int rename (__const char *__old, __const char *__new) ; # 164 "/usr/include/stdio.h" 3 4 extern FILE *tmpfile (void); # 178 "/usr/include/stdio.h" 3 4 extern char *tmpnam (char *__s) ; # 201 "/usr/include/stdio.h" 3 4 extern int fclose (FILE *__stream); extern int fflush (FILE *__stream); # 235 "/usr/include/stdio.h" 3 4 extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes); extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream); # 262 "/usr/include/stdio.h" 3 4 # 294 "/usr/include/stdio.h" 3 4 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) ; extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) ; # 316 "/usr/include/stdio.h" 3 4 extern int fprintf (FILE *__restrict __stream, __const char *__restrict __format, ...); extern int printf (__const char *__restrict __format, ...); extern int sprintf (char *__restrict __s, __const char *__restrict __format, ...) ; extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg); extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); extern int vsprintf (char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) ; # 388 "/usr/include/stdio.h" 3 4 extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...); extern int scanf (__const char *__restrict __format, ...); extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) ; # 430 "/usr/include/stdio.h" 3 4 extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); # 469 "/usr/include/stdio.h" 3 4 # 477 "/usr/include/stdio.h" 3 4 extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 521 "/usr/include/stdio.h" 3 4 extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream); extern char *gets (char *__s); # 578 "/usr/include/stdio.h" 3 4 extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); extern int puts (__const char *__s); extern int ungetc (int __c, FILE *__stream); extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream); extern size_t fwrite (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s); # 638 "/usr/include/stdio.h" 3 4 extern int fseek (FILE *__stream, long int __off, int __whence); extern long int ftell (FILE *__stream); extern void rewind (FILE *__stream); # 686 "/usr/include/stdio.h" 3 4 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); extern int fsetpos (FILE *__stream, __const fpos_t *__pos); # 709 "/usr/include/stdio.h" 3 4 # 718 "/usr/include/stdio.h" 3 4 extern void clearerr (FILE *__stream) ; extern int feof (FILE *__stream) ; extern int ferror (FILE *__stream) ; # 735 "/usr/include/stdio.h" 3 4 extern void perror (__const char *__s); # 1 "/usr/include/bits/sys_errlist.h" 1 3 4 # 748 "/usr/include/stdio.h" 2 3 4 # 828 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/bits/stdio.h" 1 3 4 # 33 "/usr/include/bits/stdio.h" 3 4 extern __inline int vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg) { return vfprintf (stdout, __fmt, __arg); } extern __inline int getchar (void) { return _IO_getc (stdin); } # 65 "/usr/include/bits/stdio.h" 3 4 extern __inline int putchar (int __c) { return _IO_putc (__c, stdout); } # 829 "/usr/include/stdio.h" 2 3 4 # 96 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftstdlib.h" 2 # 107 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftstdlib.h" # 1 "/usr/include/stdlib.h" 1 3 4 # 33 "/usr/include/stdlib.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 34 "/usr/include/stdlib.h" 2 3 4 # 93 "/usr/include/stdlib.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; # 137 "/usr/include/stdlib.h" 3 4 extern size_t __ctype_get_mb_cur_max (void) ; extern double atof (__const char *__nptr) __attribute__ ((__pure__)); extern int atoi (__const char *__nptr) __attribute__ ((__pure__)); extern long int atol (__const char *__nptr) __attribute__ ((__pure__)); # 157 "/usr/include/stdlib.h" 3 4 extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) ; # 174 "/usr/include/stdlib.h" 3 4 extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; # 264 "/usr/include/stdlib.h" 3 4 extern double __strtod_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern float __strtof_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern long double __strtold_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern long int __strtol_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; __extension__ extern long long int __strtoll_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; __extension__ extern unsigned long long int __strtoull_internal (__const char * __restrict __nptr, char **__restrict __endptr, int __base, int __group) ; # 308 "/usr/include/stdlib.h" 3 4 extern __inline double strtod (__const char *__restrict __nptr, char **__restrict __endptr) { return __strtod_internal (__nptr, __endptr, 0); } extern __inline long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtol_internal (__nptr, __endptr, __base, 0); } extern __inline unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) { return __strtoul_internal (__nptr, __endptr, __base, 0); } # 374 "/usr/include/stdlib.h" 3 4 extern __inline double atof (__const char *__nptr) { return strtod (__nptr, (char **) ((void *)0)); } extern __inline int atoi (__const char *__nptr) { return (int) strtol (__nptr, (char **) ((void *)0), 10); } extern __inline long int atol (__const char *__nptr) { return strtol (__nptr, (char **) ((void *)0), 10); } # 471 "/usr/include/stdlib.h" 3 4 extern int rand (void) ; extern void srand (unsigned int __seed) ; # 554 "/usr/include/stdlib.h" 3 4 extern void *malloc (size_t __size) __attribute__ ((__malloc__)); extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__malloc__)); extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__malloc__)); extern void free (void *__ptr) ; # 592 "/usr/include/stdlib.h" 3 4 extern void abort (void) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) ; # 608 "/usr/include/stdlib.h" 3 4 extern void exit (int __status) __attribute__ ((__noreturn__)); # 624 "/usr/include/stdlib.h" 3 4 extern char *getenv (__const char *__name) ; extern char *__secure_getenv (__const char *__name) ; # 697 "/usr/include/stdlib.h" 3 4 extern int system (__const char *__command); # 728 "/usr/include/stdlib.h" 3 4 typedef int (*__compar_fn_t) (__const void *, __const void *); # 738 "/usr/include/stdlib.h" 3 4 extern void *bsearch (__const void *__key, __const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar); extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar); extern int abs (int __x) __attribute__ ((__const__)); extern long int labs (long int __x) __attribute__ ((__const__)); # 762 "/usr/include/stdlib.h" 3 4 extern div_t div (int __numer, int __denom) __attribute__ ((__const__)); extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__const__)); # 827 "/usr/include/stdlib.h" 3 4 extern int mblen (__const char *__s, size_t __n) ; extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) ; extern int wctomb (char *__s, wchar_t __wchar) ; extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) ; extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) ; # 922 "/usr/include/stdlib.h" 3 4 # 108 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftstdlib.h" 2 # 122 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftstdlib.h" # 1 "/usr/include/setjmp.h" 1 3 4 # 28 "/usr/include/setjmp.h" 3 4 # 1 "/usr/include/bits/setjmp.h" 1 3 4 # 38 "/usr/include/bits/setjmp.h" 3 4 typedef int __jmp_buf[6]; # 31 "/usr/include/setjmp.h" 2 3 4 # 1 "/usr/include/bits/sigset.h" 1 3 4 # 23 "/usr/include/bits/sigset.h" 3 4 typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 32 "/usr/include/setjmp.h" 2 3 4 typedef struct __jmp_buf_tag { __jmp_buf __jmpbuf; int __mask_was_saved; __sigset_t __saved_mask; } jmp_buf[1]; extern int setjmp (jmp_buf __env) ; extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) ; extern int _setjmp (struct __jmp_buf_tag __env[1]) ; # 76 "/usr/include/setjmp.h" 3 4 extern void longjmp (struct __jmp_buf_tag __env[1], int __val) __attribute__ ((__noreturn__)); # 112 "/usr/include/setjmp.h" 3 4 # 123 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftstdlib.h" 2 # 135 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftstdlib.h" # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stdarg.h" 1 3 4 # 105 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stdarg.h" 3 4 typedef __gnuc_va_list va_list; # 136 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftstdlib.h" 2 # 45 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftconfig.h" 2 # 123 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftconfig.h" typedef signed short FT_Int16; typedef unsigned short FT_UInt16; typedef signed int FT_Int32; typedef unsigned int FT_UInt32; # 143 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftconfig.h" typedef int FT_Fast; typedef unsigned int FT_UFast; # 329 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/config/ftconfig.h" # 30 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftdebug.h" 2 # 178 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftdebug.h" extern void ft_debug_init( void ); # 191 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftdebug.h" # 38 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1parse.c" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftcalc.h" 1 # 24 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftcalc.h" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" 1 # 43 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fterrors.h" 1 # 95 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fterrors.h" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmoderr.h" 1 # 101 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmoderr.h" enum { FT_Mod_Err_Base = 0, FT_Mod_Err_Autohint = 0, FT_Mod_Err_BDF = 0, FT_Mod_Err_Cache = 0, FT_Mod_Err_CFF = 0, FT_Mod_Err_CID = 0, FT_Mod_Err_Gzip = 0, FT_Mod_Err_PCF = 0, FT_Mod_Err_PFR = 0, FT_Mod_Err_PSaux = 0, FT_Mod_Err_PShinter = 0, FT_Mod_Err_PSnames = 0, FT_Mod_Err_Raster = 0, FT_Mod_Err_SFNT = 0, FT_Mod_Err_Smooth = 0, FT_Mod_Err_TrueType = 0, FT_Mod_Err_Type1 = 0, FT_Mod_Err_Type42 = 0, FT_Mod_Err_Winfonts = 0, FT_Mod_Err_Max }; # 96 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fterrors.h" 2 # 167 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fterrors.h" enum { # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fterrdef.h" 1 # 34 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fterrdef.h" FT_Err_Ok = 0x00, FT_Err_Cannot_Open_Resource = 0x01 + 0, FT_Err_Unknown_File_Format = 0x02 + 0, FT_Err_Invalid_File_Format = 0x03 + 0, FT_Err_Invalid_Version = 0x04 + 0, FT_Err_Lower_Module_Version = 0x05 + 0, FT_Err_Invalid_Argument = 0x06 + 0, FT_Err_Unimplemented_Feature = 0x07 + 0, FT_Err_Invalid_Table = 0x08 + 0, FT_Err_Invalid_Offset = 0x09 + 0, FT_Err_Invalid_Glyph_Index = 0x10 + 0, FT_Err_Invalid_Character_Code = 0x11 + 0, FT_Err_Invalid_Glyph_Format = 0x12 + 0, FT_Err_Cannot_Render_Glyph = 0x13 + 0, FT_Err_Invalid_Outline = 0x14 + 0, FT_Err_Invalid_Composite = 0x15 + 0, FT_Err_Too_Many_Hints = 0x16 + 0, FT_Err_Invalid_Pixel_Size = 0x17 + 0, FT_Err_Invalid_Handle = 0x20 + 0, FT_Err_Invalid_Library_Handle = 0x21 + 0, FT_Err_Invalid_Driver_Handle = 0x22 + 0, FT_Err_Invalid_Face_Handle = 0x23 + 0, FT_Err_Invalid_Size_Handle = 0x24 + 0, FT_Err_Invalid_Slot_Handle = 0x25 + 0, FT_Err_Invalid_CharMap_Handle = 0x26 + 0, FT_Err_Invalid_Cache_Handle = 0x27 + 0, FT_Err_Invalid_Stream_Handle = 0x28 + 0, FT_Err_Too_Many_Drivers = 0x30 + 0, FT_Err_Too_Many_Extensions = 0x31 + 0, FT_Err_Out_Of_Memory = 0x40 + 0, FT_Err_Unlisted_Object = 0x41 + 0, FT_Err_Cannot_Open_Stream = 0x51 + 0, FT_Err_Invalid_Stream_Seek = 0x52 + 0, FT_Err_Invalid_Stream_Skip = 0x53 + 0, FT_Err_Invalid_Stream_Read = 0x54 + 0, FT_Err_Invalid_Stream_Operation = 0x55 + 0, FT_Err_Invalid_Frame_Operation = 0x56 + 0, FT_Err_Nested_Frame_Access = 0x57 + 0, FT_Err_Invalid_Frame_Read = 0x58 + 0, FT_Err_Raster_Uninitialized = 0x60 + 0, FT_Err_Raster_Corrupted = 0x61 + 0, FT_Err_Raster_Overflow = 0x62 + 0, FT_Err_Raster_Negative_Height = 0x63 + 0, FT_Err_Too_Many_Caches = 0x70 + 0, FT_Err_Invalid_Opcode = 0x80 + 0, FT_Err_Too_Few_Arguments = 0x81 + 0, FT_Err_Stack_Overflow = 0x82 + 0, FT_Err_Code_Overflow = 0x83 + 0, FT_Err_Bad_Argument = 0x84 + 0, FT_Err_Divide_By_Zero = 0x85 + 0, FT_Err_Invalid_Reference = 0x86 + 0, FT_Err_Debug_OpCode = 0x87 + 0, FT_Err_ENDF_In_Exec_Stream = 0x88 + 0, FT_Err_Nested_DEFS = 0x89 + 0, FT_Err_Invalid_CodeRange = 0x8A + 0, FT_Err_Execution_Too_Long = 0x8B + 0, FT_Err_Too_Many_Function_Defs = 0x8C + 0, FT_Err_Too_Many_Instruction_Defs = 0x8D + 0, FT_Err_Table_Missing = 0x8E + 0, FT_Err_Horiz_Header_Missing = 0x8F + 0, FT_Err_Locations_Missing = 0x90 + 0, FT_Err_Name_Table_Missing = 0x91 + 0, FT_Err_CMap_Table_Missing = 0x92 + 0, FT_Err_Hmtx_Table_Missing = 0x93 + 0, FT_Err_Post_Table_Missing = 0x94 + 0, FT_Err_Invalid_Horiz_Metrics = 0x95 + 0, FT_Err_Invalid_CharMap_Format = 0x96 + 0, FT_Err_Invalid_PPem = 0x97 + 0, FT_Err_Invalid_Vert_Metrics = 0x98 + 0, FT_Err_Could_Not_Find_Context = 0x99 + 0, FT_Err_Invalid_Post_Table_Format = 0x9A + 0, FT_Err_Invalid_Post_Table = 0x9B + 0, FT_Err_Syntax_Error = 0xA0 + 0, FT_Err_Stack_Underflow = 0xA1 + 0, FT_Err_Missing_Startfont_Field = 0xB0 + 0, FT_Err_Missing_Font_Field = 0xB1 + 0, FT_Err_Missing_Size_Field = 0xB2 + 0, FT_Err_Missing_Chars_Field = 0xB3 + 0, FT_Err_Missing_Startchar_Field = 0xB4 + 0, FT_Err_Missing_Encoding_Field = 0xB5 + 0, FT_Err_Missing_Bbx_Field = 0xB6 + 0, # 173 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fterrors.h" 2 FT_Err_Max }; # 44 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" 1 # 25 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftsystem.h" 1 # 26 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftsystem.h" # 65 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftsystem.h" typedef struct FT_MemoryRec_* FT_Memory; # 84 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftsystem.h" typedef void* (*FT_Alloc_Func)( FT_Memory memory, long size ); # 102 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftsystem.h" typedef void (*FT_Free_Func)( FT_Memory memory, void* block ); # 130 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftsystem.h" typedef void* (*FT_Realloc_Func)( FT_Memory memory, long cur_size, long new_size, void* block ); # 154 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftsystem.h" struct FT_MemoryRec_ { void* user; FT_Alloc_Func alloc; FT_Free_Func free; FT_Realloc_Func realloc; }; # 178 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftsystem.h" typedef struct FT_StreamRec_* FT_Stream; # 190 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftsystem.h" typedef union FT_StreamDesc_ { long value; void* pointer; } FT_StreamDesc; # 222 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftsystem.h" typedef unsigned long (*FT_Stream_IoFunc)( FT_Stream stream, unsigned long offset, unsigned char* buffer, unsigned long count ); # 240 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftsystem.h" typedef void (*FT_Stream_CloseFunc)( FT_Stream stream ); # 283 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftsystem.h" typedef struct FT_StreamRec_ { unsigned char* base; unsigned long size; unsigned long pos; FT_StreamDesc descriptor; FT_StreamDesc pathname; FT_Stream_IoFunc read; FT_Stream_CloseFunc close; FT_Memory memory; unsigned char* cursor; unsigned char* limit; } FT_StreamRec; # 26 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" 1 # 37 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" # 59 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef signed long FT_Pos; # 75 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef struct FT_Vector_ { FT_Pos x; FT_Pos y; } FT_Vector; # 102 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef struct FT_BBox_ { FT_Pos xMin, yMin; FT_Pos xMax, yMax; } FT_BBox; # 157 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef enum FT_Pixel_Mode_ { FT_PIXEL_MODE_NONE = 0, FT_PIXEL_MODE_MONO, FT_PIXEL_MODE_GRAY, FT_PIXEL_MODE_GRAY2, FT_PIXEL_MODE_GRAY4, FT_PIXEL_MODE_LCD, FT_PIXEL_MODE_LCD_V, FT_PIXEL_MODE_MAX } FT_Pixel_Mode; # 286 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef struct FT_Bitmap_ { int rows; int width; int pitch; unsigned char* buffer; short num_grays; char pixel_mode; char palette_mode; void* palette; } FT_Bitmap; # 344 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef struct FT_Outline_ { short n_contours; short n_points; FT_Vector* points; char* tags; short* contours; int flags; } FT_Outline; # 494 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef int (*FT_Outline_MoveToFunc)( FT_Vector* to, void* user ); # 520 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef int (*FT_Outline_LineToFunc)( FT_Vector* to, void* user ); # 550 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef int (*FT_Outline_ConicToFunc)( FT_Vector* control, FT_Vector* to, void* user ); # 581 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef int (*FT_Outline_CubicToFunc)( FT_Vector* control1, FT_Vector* control2, FT_Vector* to, void* user ); # 626 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef struct FT_Outline_Funcs_ { FT_Outline_MoveToFunc move_to; FT_Outline_LineToFunc line_to; FT_Outline_ConicToFunc conic_to; FT_Outline_CubicToFunc cubic_to; int shift; FT_Pos delta; } FT_Outline_Funcs; # 711 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef enum FT_Glyph_Format_ { FT_GLYPH_FORMAT_NONE = ( ( (unsigned long)0 << 24 ) | ( (unsigned long)0 << 16 ) | ( (unsigned long)0 << 8 ) | (unsigned long)0 ), FT_GLYPH_FORMAT_COMPOSITE = ( ( (unsigned long)'c' << 24 ) | ( (unsigned long)'o' << 16 ) | ( (unsigned long)'m' << 8 ) | (unsigned long)'p' ), FT_GLYPH_FORMAT_BITMAP = ( ( (unsigned long)'b' << 24 ) | ( (unsigned long)'i' << 16 ) | ( (unsigned long)'t' << 8 ) | (unsigned long)'s' ), FT_GLYPH_FORMAT_OUTLINE = ( ( (unsigned long)'o' << 24 ) | ( (unsigned long)'u' << 16 ) | ( (unsigned long)'t' << 8 ) | (unsigned long)'l' ), FT_GLYPH_FORMAT_PLOTTER = ( ( (unsigned long)'p' << 24 ) | ( (unsigned long)'l' << 16 ) | ( (unsigned long)'o' << 8 ) | (unsigned long)'t' ) } FT_Glyph_Format; # 795 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef struct FT_RasterRec_* FT_Raster; # 824 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef struct FT_Span_ { short x; unsigned short len; unsigned char coverage; } FT_Span; # 869 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef void (*FT_SpanFunc)( int y, int count, FT_Span* spans, void* user ); # 901 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef int (*FT_Raster_BitTest_Func)( int y, int x, void* user ); # 929 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef void (*FT_Raster_BitSet_Func)( int y, int x, void* user ); # 1037 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef struct FT_Raster_Params_ { FT_Bitmap* target; void* source; int flags; FT_SpanFunc gray_spans; FT_SpanFunc black_spans; FT_Raster_BitTest_Func bit_test; FT_Raster_BitSet_Func bit_set; void* user; FT_BBox clip_box; } FT_Raster_Params; # 1076 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef int (*FT_Raster_NewFunc)( void* memory, FT_Raster* raster ); # 1093 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef void (*FT_Raster_DoneFunc)( FT_Raster raster ); # 1125 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef void (*FT_Raster_ResetFunc)( FT_Raster raster, unsigned char* pool_base, unsigned long pool_size ); # 1150 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef int (*FT_Raster_SetModeFunc)( FT_Raster raster, unsigned long mode, void* args ); # 1191 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef int (*FT_Raster_RenderFunc)( FT_Raster raster, FT_Raster_Params* params ); # 1216 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftimage.h" typedef struct FT_Raster_Funcs_ { FT_Glyph_Format glyph_format; FT_Raster_NewFunc raster_new; FT_Raster_ResetFunc raster_reset; FT_Raster_SetModeFunc raster_set_mode; FT_Raster_RenderFunc raster_render; FT_Raster_DoneFunc raster_done; } FT_Raster_Funcs; # 27 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" 2 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 # 151 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 3 4 typedef int ptrdiff_t; # 29 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" 2 # 97 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef unsigned char FT_Bool; # 109 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef signed short FT_FWord; # 121 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef unsigned short FT_UFWord; # 132 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef signed char FT_Char; # 143 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef unsigned char FT_Byte; # 154 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef char FT_String; # 165 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef signed short FT_Short; # 176 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef unsigned short FT_UShort; # 187 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef int FT_Int; # 198 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef unsigned int FT_UInt; # 209 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef signed long FT_Long; # 220 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef unsigned long FT_ULong; # 231 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef signed short FT_F2Dot14; # 243 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef signed long FT_F26Dot6; # 255 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef signed long FT_Fixed; # 267 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef int FT_Error; # 278 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef void* FT_Pointer; # 291 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef size_t FT_Offset; # 304 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef size_t FT_PtrDist; # 321 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef struct FT_UnitVector_ { FT_F2Dot14 x; FT_F2Dot14 y; } FT_UnitVector; # 352 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef struct FT_Matrix_ { FT_Fixed xx, xy; FT_Fixed yx, yy; } FT_Matrix; # 373 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef struct FT_Data_ { const FT_Byte* pointer; FT_Int length; } FT_Data; # 395 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef void (*FT_Generic_Finalizer)(void* object); # 426 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef struct FT_Generic_ { void* data; FT_Generic_Finalizer finalizer; } FT_Generic; # 481 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef struct FT_ListNodeRec_* FT_ListNode; # 492 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef struct FT_ListRec_* FT_List; # 510 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef struct FT_ListNodeRec_ { FT_ListNode prev; FT_ListNode next; void* data; } FT_ListNodeRec; # 533 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" typedef struct FT_ListRec_ { FT_ListNode head; FT_ListNode tail; } FT_ListRec; # 553 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fttypes.h" # 45 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" 2 # 198 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_Glyph_Metrics_ { FT_Pos width; FT_Pos height; FT_Pos horiBearingX; FT_Pos horiBearingY; FT_Pos horiAdvance; FT_Pos vertBearingX; FT_Pos vertBearingY; FT_Pos vertAdvance; } FT_Glyph_Metrics; # 266 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_Bitmap_Size_ { FT_Short height; FT_Short width; FT_Pos size; FT_Pos x_ppem; FT_Pos y_ppem; } FT_Bitmap_Size; # 304 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_LibraryRec_ *FT_Library; # 317 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_ModuleRec_* FT_Module; # 329 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_DriverRec_* FT_Driver; # 343 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_RendererRec_* FT_Renderer; # 368 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_FaceRec_* FT_Face; # 393 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_SizeRec_* FT_Size; # 414 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_GlyphSlotRec_* FT_GlyphSlot; # 446 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_CharMapRec_* FT_CharMap; # 584 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef enum FT_Encoding_ { FT_ENCODING_NONE = ( ( (FT_UInt32)(0) << 24 ) | ( (FT_UInt32)(0) << 16 ) | ( (FT_UInt32)(0) << 8 ) | (FT_UInt32)(0) ), FT_ENCODING_MS_SYMBOL = ( ( (FT_UInt32)('s') << 24 ) | ( (FT_UInt32)('y') << 16 ) | ( (FT_UInt32)('m') << 8 ) | (FT_UInt32)('b') ), FT_ENCODING_UNICODE = ( ( (FT_UInt32)('u') << 24 ) | ( (FT_UInt32)('n') << 16 ) | ( (FT_UInt32)('i') << 8 ) | (FT_UInt32)('c') ), FT_ENCODING_SJIS = ( ( (FT_UInt32)('s') << 24 ) | ( (FT_UInt32)('j') << 16 ) | ( (FT_UInt32)('i') << 8 ) | (FT_UInt32)('s') ), FT_ENCODING_GB2312 = ( ( (FT_UInt32)('g') << 24 ) | ( (FT_UInt32)('b') << 16 ) | ( (FT_UInt32)(' ') << 8 ) | (FT_UInt32)(' ') ), FT_ENCODING_BIG5 = ( ( (FT_UInt32)('b') << 24 ) | ( (FT_UInt32)('i') << 16 ) | ( (FT_UInt32)('g') << 8 ) | (FT_UInt32)('5') ), FT_ENCODING_WANSUNG = ( ( (FT_UInt32)('w') << 24 ) | ( (FT_UInt32)('a') << 16 ) | ( (FT_UInt32)('n') << 8 ) | (FT_UInt32)('s') ), FT_ENCODING_JOHAB = ( ( (FT_UInt32)('j') << 24 ) | ( (FT_UInt32)('o') << 16 ) | ( (FT_UInt32)('h') << 8 ) | (FT_UInt32)('a') ), FT_ENCODING_MS_SJIS = FT_ENCODING_SJIS, FT_ENCODING_MS_GB2312 = FT_ENCODING_GB2312, FT_ENCODING_MS_BIG5 = FT_ENCODING_BIG5, FT_ENCODING_MS_WANSUNG = FT_ENCODING_WANSUNG, FT_ENCODING_MS_JOHAB = FT_ENCODING_JOHAB, FT_ENCODING_ADOBE_STANDARD = ( ( (FT_UInt32)('A') << 24 ) | ( (FT_UInt32)('D') << 16 ) | ( (FT_UInt32)('O') << 8 ) | (FT_UInt32)('B') ), FT_ENCODING_ADOBE_EXPERT = ( ( (FT_UInt32)('A') << 24 ) | ( (FT_UInt32)('D') << 16 ) | ( (FT_UInt32)('B') << 8 ) | (FT_UInt32)('E') ), FT_ENCODING_ADOBE_CUSTOM = ( ( (FT_UInt32)('A') << 24 ) | ( (FT_UInt32)('D') << 16 ) | ( (FT_UInt32)('B') << 8 ) | (FT_UInt32)('C') ), FT_ENCODING_ADOBE_LATIN_1 = ( ( (FT_UInt32)('l') << 24 ) | ( (FT_UInt32)('a') << 16 ) | ( (FT_UInt32)('t') << 8 ) | (FT_UInt32)('1') ), FT_ENCODING_OLD_LATIN_2 = ( ( (FT_UInt32)('l') << 24 ) | ( (FT_UInt32)('a') << 16 ) | ( (FT_UInt32)('t') << 8 ) | (FT_UInt32)('2') ), FT_ENCODING_APPLE_ROMAN = ( ( (FT_UInt32)('a') << 24 ) | ( (FT_UInt32)('r') << 16 ) | ( (FT_UInt32)('m') << 8 ) | (FT_UInt32)('n') ) } FT_Encoding; # 683 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_CharMapRec_ { FT_Face face; FT_Encoding encoding; FT_UShort platform_id; FT_UShort encoding_id; } FT_CharMapRec; # 714 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_Face_InternalRec_* FT_Face_Internal; # 872 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_FaceRec_ { FT_Long num_faces; FT_Long face_index; FT_Long face_flags; FT_Long style_flags; FT_Long num_glyphs; FT_String* family_name; FT_String* style_name; FT_Int num_fixed_sizes; FT_Bitmap_Size* available_sizes; FT_Int num_charmaps; FT_CharMap* charmaps; FT_Generic generic; FT_BBox bbox; FT_UShort units_per_EM; FT_Short ascender; FT_Short descender; FT_Short height; FT_Short max_advance_width; FT_Short max_advance_height; FT_Short underline_position; FT_Short underline_thickness; FT_GlyphSlot glyph; FT_Size size; FT_CharMap charmap; FT_Driver driver; FT_Memory memory; FT_Stream stream; FT_ListRec sizes_list; FT_Generic autohint; void* extensions; FT_Face_Internal internal; } FT_FaceRec; # 1181 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_Size_InternalRec_* FT_Size_Internal; # 1238 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_Size_Metrics_ { FT_UShort x_ppem; FT_UShort y_ppem; FT_Fixed x_scale; FT_Fixed y_scale; FT_Pos ascender; FT_Pos descender; FT_Pos height; FT_Pos max_advance; } FT_Size_Metrics; # 1273 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_SizeRec_ { FT_Face face; FT_Generic generic; FT_Size_Metrics metrics; FT_Size_Internal internal; } FT_SizeRec; # 1296 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_SubGlyphRec_* FT_SubGlyph; # 1308 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_Slot_InternalRec_* FT_Slot_Internal; # 1439 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_GlyphSlotRec_ { FT_Library library; FT_Face face; FT_GlyphSlot next; FT_UInt reserved; FT_Generic generic; FT_Glyph_Metrics metrics; FT_Fixed linearHoriAdvance; FT_Fixed linearVertAdvance; FT_Vector advance; FT_Glyph_Format format; FT_Bitmap bitmap; FT_Int bitmap_left; FT_Int bitmap_top; FT_Outline outline; FT_UInt num_subglyphs; FT_SubGlyph subglyphs; void* control_data; long control_len; void* other; FT_Slot_Internal internal; } FT_GlyphSlotRec; # 1497 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Error FT_Init_FreeType( FT_Library *alibrary ); # 1530 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern void FT_Library_Version( FT_Library library, FT_Int *amajor, FT_Int *aminor, FT_Int *apatch ); # 1552 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Error FT_Done_FreeType( FT_Library library ); # 1621 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_Parameter_ { FT_ULong tag; FT_Pointer data; } FT_Parameter; # 1681 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef struct FT_Open_Args_ { FT_UInt flags; const FT_Byte* memory_base; FT_Long memory_size; FT_String* pathname; FT_Stream stream; FT_Module driver; FT_Int num_params; FT_Parameter* params; } FT_Open_Args; # 1732 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Error FT_New_Face( FT_Library library, const char* filepathname, FT_Long face_index, FT_Face *aface ); # 1780 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Error FT_New_Memory_Face( FT_Library library, const FT_Byte* file_base, FT_Long file_size, FT_Long face_index, FT_Face *aface ); # 1824 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Error FT_Open_Face( FT_Library library, const FT_Open_Args* args, FT_Long face_index, FT_Face *aface ); # 1863 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Error FT_Attach_File( FT_Face face, const char* filepathname ); # 1895 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Error FT_Attach_Stream( FT_Face face, FT_Open_Args* parameters ); # 1915 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Error FT_Done_Face( FT_Face face ); # 1953 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Error FT_Set_Char_Size( FT_Face face, FT_F26Dot6 char_width, FT_F26Dot6 char_height, FT_UInt horz_resolution, FT_UInt vert_resolution ); # 2004 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Error FT_Set_Pixel_Sizes( FT_Face face, FT_UInt pixel_width, FT_UInt pixel_height ); # 2044 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Error FT_Load_Glyph( FT_Face face, FT_UInt glyph_index, FT_Int32 load_flags ); # 2089 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Error FT_Load_Char( FT_Face face, FT_ULong char_code, FT_Int32 load_flags ); # 2301 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern void FT_Set_Transform( FT_Face face, FT_Matrix* matrix, FT_Vector* delta ); # 2354 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef enum FT_Render_Mode_ { FT_RENDER_MODE_NORMAL = 0, FT_RENDER_MODE_LIGHT, FT_RENDER_MODE_MONO, FT_RENDER_MODE_LCD, FT_RENDER_MODE_LCD_V, FT_RENDER_MODE_MAX } FT_Render_Mode; # 2406 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Error FT_Render_Glyph( FT_GlyphSlot slot, FT_Render_Mode render_mode ); # 2430 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" typedef enum FT_Kerning_Mode_ { FT_KERNING_DEFAULT = 0, FT_KERNING_UNFITTED, FT_KERNING_UNSCALED } FT_Kerning_Mode; # 2508 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Error FT_Get_Kerning( FT_Face face, FT_UInt left_glyph, FT_UInt right_glyph, FT_UInt kern_mode, FT_Vector *akerning ); # 2552 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Error FT_Get_Glyph_Name( FT_Face face, FT_UInt glyph_index, FT_Pointer buffer, FT_UInt buffer_max ); # 2578 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern const char* FT_Get_Postscript_Name( FT_Face face ); # 2604 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Error FT_Select_Charmap( FT_Face face, FT_Encoding encoding ); # 2632 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Error FT_Set_Charmap( FT_Face face, FT_CharMap charmap ); # 2660 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_UInt FT_Get_Char_Index( FT_Face face, FT_ULong charcode ); # 2708 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_ULong FT_Get_First_Char( FT_Face face, FT_UInt *agindex ); # 2742 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_ULong FT_Get_Next_Char( FT_Face face, FT_ULong char_code, FT_UInt *agindex ); # 2765 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_UInt FT_Get_Name_Index( FT_Face face, FT_String* glyph_name ); # 2823 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Long FT_MulDiv( FT_Long a, FT_Long b, FT_Long c ); # 2858 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Long FT_MulFix( FT_Long a, FT_Long b ); # 2886 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Long FT_DivFix( FT_Long a, FT_Long b ); # 2905 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Fixed FT_RoundFix( FT_Fixed a ); # 2924 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Fixed FT_CeilFix( FT_Fixed a ); # 2943 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern FT_Fixed FT_FloorFix( FT_Fixed a ); # 2964 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/freetype.h" extern void FT_Vector_Transform( FT_Vector* vec, FT_Matrix* matrix ); # 25 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftcalc.h" 2 extern FT_Int32 FT_SqrtFixed( FT_Int32 x ); # 51 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftcalc.h" extern FT_Int32 FT_Sqrt32( FT_Int32 x ); # 72 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftcalc.h" # 39 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1parse.c" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftstream.h" 1 # 25 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftstream.h" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" 1 # 31 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftrender.h" 1 # 24 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftrender.h" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmodule.h" 1 # 27 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmodule.h" # 73 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmodule.h" typedef void (*FT_Module_Interface)( void ); typedef FT_Error (*FT_Module_Constructor)( FT_Module module ); typedef void (*FT_Module_Destructor)( FT_Module module ); typedef FT_Module_Interface (*FT_Module_Requester)( FT_Module module, const char* name ); # 118 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmodule.h" typedef struct FT_Module_Class_ { FT_ULong module_flags; FT_Long module_size; const FT_String* module_name; FT_Fixed module_version; FT_Fixed module_requires; const void* module_interface; FT_Module_Constructor module_init; FT_Module_Destructor module_done; FT_Module_Requester get_interface; } FT_Module_Class; # 156 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmodule.h" extern FT_Error FT_Add_Module( FT_Library library, const FT_Module_Class* clazz ); # 181 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmodule.h" extern FT_Module FT_Get_Module( FT_Library library, const char* module_name ); # 206 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmodule.h" extern FT_Error FT_Remove_Module( FT_Library library, FT_Module module ); # 230 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmodule.h" extern FT_Error FT_New_Library( FT_Memory memory, FT_Library *alibrary ); # 250 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmodule.h" extern FT_Error FT_Done_Library( FT_Library library ); typedef void (*FT_DebugHook_Func)( void* arg ); # 282 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmodule.h" extern void FT_Set_Debug_Hook( FT_Library library, FT_UInt hook_index, FT_DebugHook_Func debug_hook ); # 302 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmodule.h" extern void FT_Add_Default_Modules( FT_Library library ); # 25 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftrender.h" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftglyph.h" 1 # 40 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftglyph.h" # 63 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftglyph.h" typedef struct FT_Glyph_Class_ FT_Glyph_Class; # 81 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftglyph.h" typedef struct FT_GlyphRec_* FT_Glyph; # 102 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftglyph.h" typedef struct FT_GlyphRec_ { FT_Library library; const FT_Glyph_Class* clazz; FT_Glyph_Format format; FT_Vector advance; } FT_GlyphRec; # 121 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftglyph.h" typedef struct FT_BitmapGlyphRec_* FT_BitmapGlyph; # 154 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftglyph.h" typedef struct FT_BitmapGlyphRec_ { FT_GlyphRec root; FT_Int left; FT_Int top; FT_Bitmap bitmap; } FT_BitmapGlyphRec; # 173 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftglyph.h" typedef struct FT_OutlineGlyphRec_* FT_OutlineGlyph; # 202 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftglyph.h" typedef struct FT_OutlineGlyphRec_ { FT_GlyphRec root; FT_Outline outline; } FT_OutlineGlyphRec; # 227 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftglyph.h" extern FT_Error FT_Get_Glyph( FT_GlyphSlot slot, FT_Glyph *aglyph ); # 250 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftglyph.h" extern FT_Error FT_Glyph_Copy( FT_Glyph source, FT_Glyph *target ); # 280 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftglyph.h" extern FT_Error FT_Glyph_Transform( FT_Glyph glyph, FT_Matrix* matrix, FT_Vector* delta ); # 310 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftglyph.h" typedef enum FT_Glyph_BBox_Mode_ { FT_GLYPH_BBOX_UNSCALED = 0, FT_GLYPH_BBOX_SUBPIXELS = 0, FT_GLYPH_BBOX_GRIDFIT = 1, FT_GLYPH_BBOX_TRUNCATE = 2, FT_GLYPH_BBOX_PIXELS = 3 } FT_Glyph_BBox_Mode; # 402 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftglyph.h" extern void FT_Glyph_Get_CBox( FT_Glyph glyph, FT_UInt bbox_mode, FT_BBox *acbox ); # 478 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftglyph.h" extern FT_Error FT_Glyph_To_Bitmap( FT_Glyph* the_glyph, FT_Render_Mode render_mode, FT_Vector* origin, FT_Bool destroy ); # 496 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftglyph.h" extern void FT_Done_Glyph( FT_Glyph glyph ); # 527 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftglyph.h" extern void FT_Matrix_Multiply( const FT_Matrix* a, FT_Matrix* b ); # 547 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftglyph.h" extern FT_Error FT_Matrix_Invert( FT_Matrix* matrix ); # 26 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftrender.h" 2 # 40 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftrender.h" typedef FT_Error (*FT_Glyph_InitFunc)( FT_Glyph glyph, FT_GlyphSlot slot ); typedef void (*FT_Glyph_DoneFunc)( FT_Glyph glyph ); typedef void (*FT_Glyph_TransformFunc)( FT_Glyph glyph, FT_Matrix* matrix, FT_Vector* delta ); typedef void (*FT_Glyph_GetBBoxFunc)( FT_Glyph glyph, FT_BBox* abbox ); typedef FT_Error (*FT_Glyph_CopyFunc)( FT_Glyph source, FT_Glyph target ); typedef FT_Error (*FT_Glyph_PrepareFunc)( FT_Glyph glyph, FT_GlyphSlot slot ); # 74 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftrender.h" struct FT_Glyph_Class_ { FT_Long glyph_size; FT_Glyph_Format glyph_format; FT_Glyph_InitFunc glyph_init; FT_Glyph_DoneFunc glyph_done; FT_Glyph_CopyFunc glyph_copy; FT_Glyph_TransformFunc glyph_transform; FT_Glyph_GetBBoxFunc glyph_bbox; FT_Glyph_PrepareFunc glyph_prepare; }; typedef FT_Error (*FT_Renderer_RenderFunc)( FT_Renderer renderer, FT_GlyphSlot slot, FT_UInt mode, FT_Vector* origin ); typedef FT_Error (*FT_Renderer_TransformFunc)( FT_Renderer renderer, FT_GlyphSlot slot, FT_Matrix* matrix, FT_Vector* delta ); typedef void (*FT_Renderer_GetCBoxFunc)( FT_Renderer renderer, FT_GlyphSlot slot, FT_BBox* cbox ); typedef FT_Error (*FT_Renderer_SetModeFunc)( FT_Renderer renderer, FT_ULong mode_tag, FT_Pointer mode_ptr ); # 143 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftrender.h" typedef struct FT_Renderer_Class_ { FT_Module_Class root; FT_Glyph_Format glyph_format; FT_Renderer_RenderFunc render_glyph; FT_Renderer_TransformFunc transform_glyph; FT_Renderer_GetCBoxFunc get_glyph_cbox; FT_Renderer_SetModeFunc set_mode; FT_Raster_Funcs* raster_class; } FT_Renderer_Class; # 182 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftrender.h" extern FT_Renderer FT_Get_Renderer( FT_Library library, FT_Glyph_Format format ); # 214 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftrender.h" extern FT_Error FT_Set_Renderer( FT_Library library, FT_Renderer renderer, FT_UInt num_params, FT_Parameter* parameters ); # 32 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftsizes.h" 1 # 36 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftsizes.h" # 93 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftsizes.h" extern FT_Error FT_New_Size( FT_Face face, FT_Size* size ); # 112 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftsizes.h" extern FT_Error FT_Done_Size( FT_Size size ); # 140 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftsizes.h" extern FT_Error FT_Activate_Size( FT_Size size ); # 33 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftmemory.h" 1 # 28 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftmemory.h" # 106 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftmemory.h" extern FT_Error FT_Alloc( FT_Memory memory, FT_Long size, void* *P ); # 140 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftmemory.h" extern FT_Error FT_Realloc( FT_Memory memory, FT_Long current, FT_Long size, void* *P ); # 167 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftmemory.h" extern void FT_Free( FT_Memory memory, void* *P ); # 288 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftmemory.h" # 34 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftgloadr.h" 1 # 27 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftgloadr.h" # 43 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftgloadr.h" typedef struct FT_GlyphLoaderRec_* FT_GlyphLoader ; # 55 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftgloadr.h" typedef struct FT_SubGlyphRec_ { FT_Int index; FT_UShort flags; FT_Int arg1; FT_Int arg2; FT_Matrix transform; } FT_SubGlyphRec; typedef struct FT_GlyphLoadRec_ { FT_Outline outline; FT_Vector* extra_points; FT_UInt num_subglyphs; FT_SubGlyph subglyphs; } FT_GlyphLoadRec, *FT_GlyphLoad; typedef struct FT_GlyphLoaderRec_ { FT_Memory memory; FT_UInt max_points; FT_UInt max_contours; FT_UInt max_subglyphs; FT_Bool use_extra; FT_GlyphLoadRec base; FT_GlyphLoadRec current; void* other; } FT_GlyphLoaderRec; extern FT_Error FT_GlyphLoader_New( FT_Memory memory, FT_GlyphLoader *aloader ); extern FT_Error FT_GlyphLoader_CreateExtra( FT_GlyphLoader loader ); extern void FT_GlyphLoader_Done( FT_GlyphLoader loader ); extern void FT_GlyphLoader_Reset( FT_GlyphLoader loader ); extern void FT_GlyphLoader_Rewind( FT_GlyphLoader loader ); extern FT_Error FT_GlyphLoader_CheckPoints( FT_GlyphLoader loader, FT_UInt n_points, FT_UInt n_contours ); extern FT_Error FT_GlyphLoader_CheckSubGlyphs( FT_GlyphLoader loader, FT_UInt n_subs ); extern void FT_GlyphLoader_Prepare( FT_GlyphLoader loader ); extern void FT_GlyphLoader_Add( FT_GlyphLoader loader ); extern FT_Error FT_GlyphLoader_CopyPoints( FT_GlyphLoader target, FT_GlyphLoader source ); # 35 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftdriver.h" 1 # 27 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftdriver.h" typedef FT_Error (*FT_Face_InitFunc)( FT_Stream stream, FT_Face face, FT_Int typeface_index, FT_Int num_params, FT_Parameter* parameters ); typedef void (*FT_Face_DoneFunc)( FT_Face face ); typedef FT_Error (*FT_Size_InitFunc)( FT_Size size ); typedef void (*FT_Size_DoneFunc)( FT_Size size ); typedef FT_Error (*FT_Slot_InitFunc)( FT_GlyphSlot slot ); typedef void (*FT_Slot_DoneFunc)( FT_GlyphSlot slot ); typedef FT_Error (*FT_Size_ResetPointsFunc)( FT_Size size, FT_F26Dot6 char_width, FT_F26Dot6 char_height, FT_UInt horz_resolution, FT_UInt vert_resolution ); typedef FT_Error (*FT_Size_ResetPixelsFunc)( FT_Size size, FT_UInt pixel_width, FT_UInt pixel_height ); typedef FT_Error (*FT_Slot_LoadFunc)( FT_GlyphSlot slot, FT_Size size, FT_UInt glyph_index, FT_Int32 load_flags ); typedef FT_UInt (*FT_CharMap_CharIndexFunc)( FT_CharMap charmap, FT_Long charcode ); typedef FT_Long (*FT_CharMap_CharNextFunc)( FT_CharMap charmap, FT_Long charcode ); typedef FT_Error (*FT_Face_GetKerningFunc)( FT_Face face, FT_UInt left_glyph, FT_UInt right_glyph, FT_Vector* kerning ); typedef FT_Error (*FT_Face_AttachFunc)( FT_Face face, FT_Stream stream ); typedef FT_Error (*FT_Face_GetAdvancesFunc)( FT_Face face, FT_UInt first, FT_UInt count, FT_Bool vertical, FT_UShort* advances ); # 168 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftdriver.h" typedef struct FT_Driver_ClassRec_ { FT_Module_Class root; FT_Long face_object_size; FT_Long size_object_size; FT_Long slot_object_size; FT_Face_InitFunc init_face; FT_Face_DoneFunc done_face; FT_Size_InitFunc init_size; FT_Size_DoneFunc done_size; FT_Slot_InitFunc init_slot; FT_Slot_DoneFunc done_slot; FT_Size_ResetPointsFunc set_char_sizes; FT_Size_ResetPixelsFunc set_pixel_sizes; FT_Slot_LoadFunc load_glyph; FT_Face_GetKerningFunc get_kerning; FT_Face_AttachFunc attach_file; FT_Face_GetAdvancesFunc get_advances; } FT_Driver_ClassRec, *FT_Driver_Class; # 36 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/autohint.h" 1 # 77 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/autohint.h" typedef struct FT_AutoHinterRec_ *FT_AutoHinter; # 104 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/autohint.h" typedef void (*FT_AutoHinter_GlobalGetFunc)( FT_AutoHinter hinter, FT_Face face, void** global_hints, long* global_len ); # 126 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/autohint.h" typedef void (*FT_AutoHinter_GlobalDoneFunc)( FT_AutoHinter hinter, void* global ); # 146 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/autohint.h" typedef void (*FT_AutoHinter_GlobalResetFunc)( FT_AutoHinter hinter, FT_Face face ); # 174 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/autohint.h" typedef FT_Error (*FT_AutoHinter_GlyphLoadFunc)( FT_AutoHinter hinter, FT_GlyphSlot slot, FT_Size size, FT_UInt glyph_index, FT_Int32 load_flags ); # 190 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/autohint.h" typedef struct FT_AutoHinter_ServiceRec_ { FT_AutoHinter_GlobalResetFunc reset_face; FT_AutoHinter_GlobalGetFunc get_global_hints; FT_AutoHinter_GlobalDoneFunc done_global_hints; FT_AutoHinter_GlyphLoadFunc load_glyph; } FT_AutoHinter_ServiceRec, *FT_AutoHinter_Service; # 37 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobject.h" 1 # 16 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobject.h" typedef struct FT_ObjectRec_* FT_Object; # 32 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobject.h" typedef const struct FT_ClassRec_* FT_Class; # 44 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobject.h" typedef const struct FT_TypeRec_* FT_Type; # 60 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobject.h" typedef struct FT_ObjectRec_ { FT_Class clazz; FT_Int ref_count; } FT_ObjectRec; # 146 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobject.h" typedef FT_Error (*FT_Object_InitFunc)( FT_Object object, FT_Pointer init_data ); # 159 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobject.h" typedef void (*FT_Object_DoneFunc)( FT_Object object ); # 190 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobject.h" typedef struct FT_ClassRec_ { FT_ObjectRec object; FT_UInt32 magic; FT_Class super; FT_Type type; FT_Memory memory; FT_Library library; FT_Pointer info; FT_Object_DoneFunc class_done; FT_UInt obj_size; FT_Object_InitFunc obj_init; FT_Object_DoneFunc obj_done; } FT_ClassRec; # 303 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobject.h" typedef struct FT_TypeRec_ { const char* name; FT_Type super; FT_UInt class_size; FT_Object_InitFunc class_init; FT_Object_DoneFunc class_done; FT_UInt obj_size; FT_Object_InitFunc obj_init; FT_Object_DoneFunc obj_done; } FT_TypeRec; # 343 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobject.h" extern FT_Int ft_object_check( FT_Pointer obj ); # 363 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobject.h" extern FT_Int ft_object_is_a( FT_Pointer obj, FT_Class clazz ); # 385 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobject.h" extern FT_Error ft_object_create( FT_Object *aobject, FT_Class clazz, FT_Pointer init_data ); # 414 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobject.h" extern FT_Error ft_object_create_from_type( FT_Object *aobject, FT_Type type, FT_Pointer init_data, FT_Library library ); # 492 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobject.h" extern FT_Error ft_class_from_type( FT_Class *aclass, FT_Type type, FT_Library library ); # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/fthash.h" 1 # 36 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/fthash.h" # 46 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/fthash.h" typedef struct FT_HashRec_* FT_Hash; # 57 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/fthash.h" typedef struct FT_HashNodeRec_* FT_HashNode; # 69 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/fthash.h" typedef FT_HashNode* FT_HashLookup; # 87 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/fthash.h" typedef FT_Int (*FT_Hash_EqualFunc)( FT_HashNode node1, FT_HashNode node2 ); # 119 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/fthash.h" typedef struct FT_HashRec_ { FT_HashNode* buckets; FT_UInt p; FT_UInt mask; FT_Long slack; FT_Hash_EqualFunc node_equal; FT_Memory memory; } FT_HashRec; # 163 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/fthash.h" typedef struct FT_HashNodeRec_ { FT_HashNode link; FT_UInt32 hash; } FT_HashNodeRec; # 209 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/fthash.h" extern FT_Error ft_hash_init( FT_Hash table, FT_Hash_EqualFunc compare, FT_Memory memory ); # 271 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/fthash.h" extern FT_HashLookup ft_hash_lookup( FT_Hash table, FT_HashNode keynode ); # 336 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/fthash.h" extern FT_Error ft_hash_add( FT_Hash table, FT_HashLookup lookup, FT_HashNode new_node ); # 381 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/fthash.h" extern FT_Error ft_hash_remove( FT_Hash table, FT_HashLookup lookup ); # 400 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/fthash.h" extern FT_UInt ft_hash_get_size( FT_Hash table ); # 419 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/fthash.h" typedef void (*FT_Hash_ForeachFunc)( const FT_HashNode node, const FT_Pointer data ); # 439 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/fthash.h" extern void ft_hash_foreach( FT_Hash table, FT_Hash_ForeachFunc foreach_func, const FT_Pointer foreach_data ); # 477 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/fthash.h" extern void ft_hash_done( FT_Hash table, FT_Hash_ForeachFunc item_func, const FT_Pointer item_data ); # 500 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/fthash.h" # 501 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobject.h" 2 typedef struct FT_ClassHNodeRec_* FT_ClassHNode; typedef struct FT_ClassHNodeRec_ { FT_HashNodeRec hnode; FT_Type type; FT_Class clazz; } FT_ClassHNodeRec; typedef struct FT_MetaClassRec_ { FT_ClassRec clazz; FT_HashRec type_to_class; } FT_MetaClassRec, *FT_MetaClass; extern FT_Error ft_metaclass_init( FT_MetaClass meta, FT_Library library ); extern void ft_metaclass_done( FT_MetaClass meta ); # 38 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" 2 # 95 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" typedef struct FT_ValidatorRec_* FT_Validator; # 123 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" typedef enum FT_ValidationLevel_ { FT_VALIDATE_DEFAULT = 0, FT_VALIDATE_TIGHT, FT_VALIDATE_PARANOID } FT_ValidationLevel; typedef struct FT_ValidatorRec_ { const FT_Byte* base; const FT_Byte* limit; FT_ValidationLevel level; FT_Error error; jmp_buf jump_buffer; } FT_ValidatorRec; extern void ft_validator_init( FT_Validator valid, const FT_Byte* base, const FT_Byte* limit, FT_ValidationLevel level ); extern FT_Int ft_validator_run( FT_Validator valid ); extern void ft_validator_error( FT_Validator valid, FT_Error error ); # 200 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" typedef struct FT_CMapRec_* FT_CMap; typedef const struct FT_CMap_ClassRec_* FT_CMap_Class; typedef struct FT_CMapRec_ { FT_CharMapRec charmap; FT_CMap_Class clazz; } FT_CMapRec; # 224 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" typedef FT_Error (*FT_CMap_InitFunc)( FT_CMap cmap, FT_Pointer init_data ); typedef void (*FT_CMap_DoneFunc)( FT_CMap cmap ); typedef FT_UInt (*FT_CMap_CharIndexFunc)( FT_CMap cmap, FT_UInt32 char_code ); typedef FT_UInt (*FT_CMap_CharNextFunc)( FT_CMap cmap, FT_UInt32 *achar_code ); typedef struct FT_CMap_ClassRec_ { FT_ULong size; FT_CMap_InitFunc init; FT_CMap_DoneFunc done; FT_CMap_CharIndexFunc char_index; FT_CMap_CharNextFunc char_next; } FT_CMap_ClassRec; extern FT_Error FT_CMap_New( FT_CMap_Class clazz, FT_Pointer init_data, FT_CharMap charmap, FT_CMap *acmap ); extern void FT_CMap_Done( FT_CMap cmap ); # 309 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" typedef struct FT_Face_InternalRec_ { FT_UShort max_points; FT_Short max_contours; FT_Matrix transform_matrix; FT_Vector transform_delta; FT_Int transform_flags; const char* postscript_name; } FT_Face_InternalRec; # 363 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" typedef struct FT_Slot_InternalRec_ { FT_GlyphLoader loader; FT_UInt flags; FT_Bool glyph_transformed; FT_Matrix glyph_matrix; FT_Vector glyph_delta; void* glyph_hints; } FT_GlyphSlot_InternalRec; # 405 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" typedef struct FT_ModuleRec_ { FT_Module_Class* clazz; FT_Library library; FT_Memory memory; FT_Generic generic; } FT_ModuleRec; # 465 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" extern const void* FT_Get_Module_Interface( FT_Library library, const char* mod_name ); # 522 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" extern FT_Error FT_New_GlyphSlot( FT_Face face, FT_GlyphSlot *aslot ); # 540 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" extern void FT_Done_GlyphSlot( FT_GlyphSlot slot ); extern void ft_glyphslot_free_bitmap( FT_GlyphSlot slot ); extern FT_Error ft_glyphslot_alloc_bitmap( FT_GlyphSlot slot, FT_ULong size ); extern void ft_glyphslot_set_bitmap( FT_GlyphSlot slot, FT_Byte* buffer ); # 589 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" typedef struct FT_RendererRec_ { FT_ModuleRec root; FT_Renderer_Class* clazz; FT_Glyph_Format glyph_format; FT_Glyph_Class glyph_class; FT_Raster raster; FT_Raster_RenderFunc raster_render; FT_Renderer_RenderFunc render; } FT_RendererRec; # 650 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" typedef struct FT_DriverRec_ { FT_ModuleRec root; FT_Driver_Class clazz; FT_ListRec faces_list; void* extensions; FT_GlyphLoader glyph_loader; } FT_DriverRec; # 734 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" typedef struct FT_LibraryRec_ { FT_Memory memory; FT_Generic generic; FT_Int version_major; FT_Int version_minor; FT_Int version_patch; FT_UInt num_modules; FT_Module modules[32]; FT_ListRec renderers; FT_Renderer cur_renderer; FT_Module auto_hinter; FT_Byte* raster_pool; FT_ULong raster_pool_size; FT_DebugHook_Func debug_hooks[4]; FT_MetaClassRec meta_class; } FT_LibraryRec; extern FT_Renderer FT_Lookup_Renderer( FT_Library library, FT_Glyph_Format format, FT_ListNode* node ); extern FT_Error FT_Render_Glyph_Internal( FT_Library library, FT_GlyphSlot slot, FT_Render_Mode render_mode ); typedef const char* (*FT_Face_GetPostscriptNameFunc)( FT_Face face ); typedef FT_Error (*FT_Face_GetGlyphNameFunc)( FT_Face face, FT_UInt glyph_index, FT_Pointer buffer, FT_UInt buffer_max ); typedef FT_UInt (*FT_Face_GetGlyphNameIndexFunc)( FT_Face face, FT_String* glyph_name ); # 799 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" extern FT_Memory FT_New_Memory( void ); # 814 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" extern void FT_Done_Memory( FT_Memory memory ); # 827 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftobjs.h" extern FT_Raster_Funcs ft_default_raster; # 26 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftstream.h" 2 # 57 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftstream.h" typedef enum FT_Frame_Op_ { ft_frame_end = 0, ft_frame_start = ( ( 1 << 2 ) | ( 0 << 1 ) | 0 ), ft_frame_byte = ( ( 2 << 2 ) | ( 0 << 1 ) | 0 ), ft_frame_schar = ( ( 2 << 2 ) | ( 0 << 1 ) | 1 ), ft_frame_ushort_be = ( ( 3 << 2 ) | ( 0 << 1 ) | 0 ), ft_frame_short_be = ( ( 3 << 2 ) | ( 0 << 1 ) | 1 ), ft_frame_ushort_le = ( ( 3 << 2 ) | ( 1 << 1 ) | 0 ), ft_frame_short_le = ( ( 3 << 2 ) | ( 1 << 1 ) | 1 ), ft_frame_ulong_be = ( ( 4 << 2 ) | ( 0 << 1 ) | 0 ), ft_frame_long_be = ( ( 4 << 2 ) | ( 0 << 1 ) | 1 ), ft_frame_ulong_le = ( ( 4 << 2 ) | ( 1 << 1 ) | 0 ), ft_frame_long_le = ( ( 4 << 2 ) | ( 1 << 1 ) | 1 ), ft_frame_uoff3_be = ( ( 5 << 2 ) | ( 0 << 1 ) | 0 ), ft_frame_off3_be = ( ( 5 << 2 ) | ( 0 << 1 ) | 1 ), ft_frame_uoff3_le = ( ( 5 << 2 ) | ( 1 << 1 ) | 0 ), ft_frame_off3_le = ( ( 5 << 2 ) | ( 1 << 1 ) | 1 ), ft_frame_bytes = ( ( 6 << 2 ) | ( 0 << 1 ) | 0 ), ft_frame_skip = ( ( 6 << 2 ) | ( 0 << 1 ) | 1 ) } FT_Frame_Op; typedef struct FT_Frame_Field_ { FT_Byte value; FT_Byte size; FT_UShort offset; } FT_Frame_Field; # 311 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftstream.h" extern FT_Error FT_Stream_Open( FT_Stream stream, const char* filepathname ); extern void FT_Stream_OpenMemory( FT_Stream stream, const FT_Byte* base, FT_ULong size ); extern void FT_Stream_Close( FT_Stream stream ); extern FT_Error FT_Stream_Seek( FT_Stream stream, FT_ULong pos ); extern FT_Error FT_Stream_Skip( FT_Stream stream, FT_Long distance ); extern FT_Long FT_Stream_Pos( FT_Stream stream ); extern FT_Error FT_Stream_Read( FT_Stream stream, FT_Byte* buffer, FT_ULong count ); extern FT_Error FT_Stream_ReadAt( FT_Stream stream, FT_ULong pos, FT_Byte* buffer, FT_ULong count ); # 365 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftstream.h" extern FT_Error FT_Stream_EnterFrame( FT_Stream stream, FT_ULong count ); extern void FT_Stream_ExitFrame( FT_Stream stream ); # 382 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftstream.h" extern FT_Error FT_Stream_ExtractFrame( FT_Stream stream, FT_ULong count, FT_Byte** pbytes ); extern void FT_Stream_ReleaseFrame( FT_Stream stream, FT_Byte** pbytes ); extern FT_Char FT_Stream_GetChar( FT_Stream stream ); extern FT_Short FT_Stream_GetShort( FT_Stream stream ); extern FT_Long FT_Stream_GetOffset( FT_Stream stream ); extern FT_Long FT_Stream_GetLong( FT_Stream stream ); extern FT_Short FT_Stream_GetShortLE( FT_Stream stream ); extern FT_Long FT_Stream_GetLongLE( FT_Stream stream ); extern FT_Char FT_Stream_ReadChar( FT_Stream stream, FT_Error* error ); extern FT_Short FT_Stream_ReadShort( FT_Stream stream, FT_Error* error ); extern FT_Long FT_Stream_ReadOffset( FT_Stream stream, FT_Error* error ); extern FT_Long FT_Stream_ReadLong( FT_Stream stream, FT_Error* error ); extern FT_Short FT_Stream_ReadShortLE( FT_Stream stream, FT_Error* error ); extern FT_Long FT_Stream_ReadLongLE( FT_Stream stream, FT_Error* error ); extern FT_Error FT_Stream_ReadFields( FT_Stream stream, const FT_Frame_Field* fields, void* structure ); # 493 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/ftstream.h" # 40 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1parse.c" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psaux.h" 1 # 26 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psaux.h" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/t1types.h" 1 # 25 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/t1types.h" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/t1tables.h" 1 # 28 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/t1tables.h" # 63 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/t1tables.h" typedef struct PS_FontInfoRec { FT_String* version; FT_String* notice; FT_String* full_name; FT_String* family_name; FT_String* weight; FT_Long italic_angle; FT_Bool is_fixed_pitch; FT_Short underline_position; FT_UShort underline_thickness; } PS_FontInfoRec, *PS_FontInfo; # 88 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/t1tables.h" typedef PS_FontInfoRec T1_FontInfo; # 101 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/t1tables.h" typedef struct PS_PrivateRec_ { FT_Int unique_id; FT_Int lenIV; FT_Byte num_blue_values; FT_Byte num_other_blues; FT_Byte num_family_blues; FT_Byte num_family_other_blues; FT_Short blue_values[14]; FT_Short other_blues[10]; FT_Short family_blues [14]; FT_Short family_other_blues[10]; FT_Fixed blue_scale; FT_Int blue_shift; FT_Int blue_fuzz; FT_UShort standard_width[1]; FT_UShort standard_height[1]; FT_Byte num_snap_widths; FT_Byte num_snap_heights; FT_Bool force_bold; FT_Bool round_stem_up; FT_Short snap_widths [13]; FT_Short snap_heights[13]; FT_Long language_group; FT_Long password; FT_Short min_feature[2]; } PS_PrivateRec, *PS_Private; # 150 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/t1tables.h" typedef PS_PrivateRec T1_Private; # 163 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/t1tables.h" typedef enum { T1_BLEND_UNDERLINE_POSITION = 0, T1_BLEND_UNDERLINE_THICKNESS, T1_BLEND_ITALIC_ANGLE, T1_BLEND_BLUE_VALUES, T1_BLEND_OTHER_BLUES, T1_BLEND_STANDARD_WIDTH, T1_BLEND_STANDARD_HEIGHT, T1_BLEND_STEM_SNAP_WIDTHS, T1_BLEND_STEM_SNAP_HEIGHTS, T1_BLEND_BLUE_SCALE, T1_BLEND_BLUE_SHIFT, T1_BLEND_FAMILY_BLUES, T1_BLEND_FAMILY_OTHER_BLUES, T1_BLEND_FORCE_BOLD, T1_BLEND_MAX } T1_Blend_Flags; # 218 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/t1tables.h" typedef struct PS_DesignMap_ { FT_Byte num_points; FT_Fixed* design_points; FT_Fixed* blend_points; } PS_DesignMapRec, *PS_DesignMap; typedef PS_DesignMapRec T1_DesignMap; typedef struct PS_BlendRec_ { FT_UInt num_designs; FT_UInt num_axis; FT_String* axis_names[4]; FT_Fixed* design_pos[16]; PS_DesignMapRec design_map[4]; FT_Fixed* weight_vector; FT_Fixed* default_weight_vector; PS_FontInfo font_infos[16 + 1]; PS_Private privates [16 + 1]; FT_ULong blend_bitflags; FT_BBox* bboxes [16 + 1]; } PS_BlendRec, *PS_Blend; typedef PS_BlendRec T1_Blend; typedef struct CID_FaceDictRec_ { PS_PrivateRec private_dict; FT_UInt len_buildchar; FT_Fixed forcebold_threshold; FT_Pos stroke_width; FT_Fixed expansion_factor; FT_Byte paint_type; FT_Byte font_type; FT_Matrix font_matrix; FT_Vector font_offset; FT_UInt num_subrs; FT_ULong subrmap_offset; FT_Int sd_bytes; } CID_FaceDictRec, *CID_FaceDict; typedef CID_FaceDictRec CID_FontDict; typedef struct CID_FaceInfoRec_ { FT_String* cid_font_name; FT_Fixed cid_version; FT_Int cid_font_type; FT_String* registry; FT_String* ordering; FT_Int supplement; PS_FontInfoRec font_info; FT_BBox font_bbox; FT_ULong uid_base; FT_Int num_xuid; FT_ULong xuid[16]; FT_ULong cidmap_offset; FT_Int fd_bytes; FT_Int gd_bytes; FT_ULong cid_count; FT_Int num_dicts; CID_FaceDict font_dicts; FT_ULong data_offset; } CID_FaceInfoRec, *CID_FaceInfo; # 321 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/t1tables.h" typedef CID_FaceInfoRec CID_Info; # 347 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/t1tables.h" extern FT_Int FT_Has_PS_Glyph_Names( FT_Face face ); # 378 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/t1tables.h" extern FT_Error FT_Get_PS_Font_Info( FT_Face face, PS_FontInfoRec *afont_info ); # 26 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/t1types.h" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psnames.h" 1 # 28 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psnames.h" # 55 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psnames.h" typedef FT_UInt32 (*PS_Unicode_Value_Func)( const char* glyph_name ); # 86 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psnames.h" typedef FT_UInt (*PS_Unicode_Index_Func)( FT_UInt num_glyphs, const char** glyph_names, FT_ULong unicode ); # 111 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psnames.h" typedef const char* (*PS_Macintosh_Name_Func)( FT_UInt name_index ); typedef const char* (*PS_Adobe_Std_Strings_Func)( FT_UInt string_index ); typedef struct PS_UniMap_ { FT_UInt unicode; FT_UInt glyph_index; } PS_UniMap; # 151 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psnames.h" typedef struct PS_Unicodes_ { FT_UInt num_maps; PS_UniMap* maps; } PS_Unicodes; typedef FT_Error (*PS_Build_Unicodes_Func)( FT_Memory memory, FT_UInt num_glyphs, const char** glyph_names, PS_Unicodes* unicodes ); typedef FT_UInt (*PS_Lookup_Unicode_Func)( PS_Unicodes* unicodes, FT_UInt unicode ); typedef FT_ULong (*PS_Next_Unicode_Func)( PS_Unicodes* unicodes, FT_ULong unicode ); # 217 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psnames.h" typedef struct PSNames_Interface_ { PS_Unicode_Value_Func unicode_value; PS_Build_Unicodes_Func build_unicodes; PS_Lookup_Unicode_Func lookup_unicode; PS_Macintosh_Name_Func macintosh_name; PS_Adobe_Std_Strings_Func adobe_std_strings; const unsigned short* adobe_std_encoding; const unsigned short* adobe_expert_encoding; PS_Next_Unicode_Func next_unicode; } PSNames_Interface; typedef PSNames_Interface* PSNames_Service; # 27 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/t1types.h" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" 1 # 30 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" # 41 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" typedef struct PSH_GlobalsRec_* PSH_Globals; typedef FT_Error (*PSH_Globals_NewFunc)( FT_Memory memory, T1_Private* private_dict, PSH_Globals* aglobals ); typedef FT_Error (*PSH_Globals_SetScaleFunc)( PSH_Globals globals, FT_Fixed x_scale, FT_Fixed y_scale, FT_Fixed x_delta, FT_Fixed y_delta ); typedef void (*PSH_Globals_DestroyFunc)( PSH_Globals globals ); typedef struct PSH_Globals_FuncsRec_ { PSH_Globals_NewFunc create; PSH_Globals_SetScaleFunc set_scale; PSH_Globals_DestroyFunc destroy; } PSH_Globals_FuncsRec, *PSH_Globals_Funcs; # 103 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" typedef struct T1_HintsRec_* T1_Hints; # 115 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" typedef const struct T1_Hints_FuncsRec_* T1_Hints_Funcs; # 134 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" typedef void (*T1_Hints_OpenFunc)( T1_Hints hints ); # 171 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" typedef void (*T1_Hints_SetStemFunc)( T1_Hints hints, FT_UInt dimension, FT_Long* coords ); # 201 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" typedef void (*T1_Hints_SetStem3Func)( T1_Hints hints, FT_UInt dimension, FT_Long* coords ); # 222 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" typedef void (*T1_Hints_ResetFunc)( T1_Hints hints, FT_UInt end_point ); # 248 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" typedef FT_Error (*T1_Hints_CloseFunc)( T1_Hints hints, FT_UInt end_point ); # 282 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" typedef FT_Error (*T1_Hints_ApplyFunc)( T1_Hints hints, FT_Outline* outline, PSH_Globals globals, FT_Render_Mode hint_mode ); # 313 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" typedef struct T1_Hints_FuncsRec_ { T1_Hints hints; T1_Hints_OpenFunc open; T1_Hints_CloseFunc close; T1_Hints_SetStemFunc stem; T1_Hints_SetStem3Func stem3; T1_Hints_ResetFunc reset; T1_Hints_ApplyFunc apply; } T1_Hints_FuncsRec; # 361 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" typedef struct T2_HintsRec_* T2_Hints; # 373 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" typedef const struct T2_Hints_FuncsRec_* T2_Hints_Funcs; # 392 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" typedef void (*T2_Hints_OpenFunc)( T2_Hints hints ); # 428 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" typedef void (*T2_Hints_StemsFunc)( T2_Hints hints, FT_UInt dimension, FT_UInt count, FT_Fixed* coordinates ); # 465 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" typedef void (*T2_Hints_MaskFunc)( T2_Hints hints, FT_UInt end_point, FT_UInt bit_count, const FT_Byte* bytes ); # 502 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" typedef void (*T2_Hints_CounterFunc)( T2_Hints hints, FT_UInt bit_count, const FT_Byte* bytes ); # 529 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" typedef FT_Error (*T2_Hints_CloseFunc)( T2_Hints hints, FT_UInt end_point ); # 563 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" typedef FT_Error (*T2_Hints_ApplyFunc)( T2_Hints hints, FT_Outline* outline, PSH_Globals globals, FT_Render_Mode hint_mode ); # 594 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/pshints.h" typedef struct T2_Hints_FuncsRec_ { T2_Hints hints; T2_Hints_OpenFunc open; T2_Hints_CloseFunc close; T2_Hints_StemsFunc stems; T2_Hints_MaskFunc hintmask; T2_Hints_CounterFunc counter; T2_Hints_ApplyFunc apply; } T2_Hints_FuncsRec; typedef struct PSHinter_Interface_ { PSH_Globals_Funcs (*get_globals_funcs)( FT_Module module ); T1_Hints_Funcs (*get_t1_funcs) ( FT_Module module ); T2_Hints_Funcs (*get_t2_funcs) ( FT_Module module ); } PSHinter_Interface; typedef PSHinter_Interface* PSHinter_Service; # 28 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/t1types.h" 2 # 66 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/t1types.h" typedef struct T1_EncodingRecRec_ { FT_Int num_chars; FT_Int code_first; FT_Int code_last; FT_UShort* char_index; FT_String** char_name; } T1_EncodingRec, *T1_Encoding; typedef enum T1_EncodingType_ { T1_ENCODING_TYPE_NONE = 0, T1_ENCODING_TYPE_ARRAY, T1_ENCODING_TYPE_STANDARD, T1_ENCODING_TYPE_ISOLATIN1, T1_ENCODING_TYPE_EXPERT } T1_EncodingType; typedef struct T1_FontRec_ { PS_FontInfoRec font_info; PS_PrivateRec private_dict; FT_String* font_name; T1_EncodingType encoding_type; T1_EncodingRec encoding; FT_Byte* subrs_block; FT_Byte* charstrings_block; FT_Byte* glyph_names_block; FT_Int num_subrs; FT_Byte** subrs; FT_Int* subrs_len; FT_Int num_glyphs; FT_String** glyph_names; FT_Byte** charstrings; FT_Int* charstrings_len; FT_Byte* paint_type; FT_Byte font_type; FT_Matrix font_matrix; FT_Vector font_offset; FT_BBox font_bbox; FT_Long font_id; FT_Fixed* stroke_width; } T1_FontRec, *T1_Font; typedef struct CID_SubrsRec_ { FT_UInt num_subrs; FT_Byte** code; } CID_SubrsRec, *CID_Subrs; # 155 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/t1types.h" typedef struct T1_FaceRec_* T1_Face; typedef struct CID_FaceRec_* CID_Face; typedef struct T1_FaceRec_ { FT_FaceRec root; T1_FontRec type1; const void* psnames; const void* psaux; const void* afm_data; FT_CharMapRec charmaprecs[2]; FT_CharMap charmaps[2]; PS_Unicodes unicode_map; PS_Blend blend; const void* pshinter; } T1_FaceRec; typedef struct CID_FaceRec_ { FT_FaceRec root; void* psnames; void* psaux; CID_FaceInfoRec cid; void* afm_data; CID_Subrs subrs; void* pshinter; } CID_FaceRec; # 27 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psaux.h" 2 # 41 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psaux.h" typedef struct PS_TableRec_* PS_Table; typedef const struct PS_Table_FuncsRec_* PS_Table_Funcs; # 62 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psaux.h" typedef struct PS_Table_FuncsRec_ { FT_Error (*init)( PS_Table table, FT_Int count, FT_Memory memory ); void (*done)( PS_Table table ); FT_Error (*add)( PS_Table table, FT_Int idx, void* object, FT_PtrDist length ); void (*release)( PS_Table table ); } PS_Table_FuncsRec; # 116 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psaux.h" typedef struct PS_TableRec_ { FT_Byte* block; FT_Offset cursor; FT_Offset capacity; FT_Long init; FT_Int max_elems; FT_Int num_elems; FT_Byte** elements; FT_Int* lengths; FT_Memory memory; PS_Table_FuncsRec funcs; } PS_TableRec; # 142 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psaux.h" typedef struct PS_ParserRec_* PS_Parser; typedef struct T1_TokenRec_* T1_Token; typedef struct T1_FieldRec_* T1_Field; typedef enum T1_TokenType_ { T1_TOKEN_TYPE_NONE = 0, T1_TOKEN_TYPE_ANY, T1_TOKEN_TYPE_STRING, T1_TOKEN_TYPE_ARRAY, T1_TOKEN_TYPE_MAX } T1_TokenType; typedef struct T1_TokenRec_ { FT_Byte* start; FT_Byte* limit; T1_TokenType type; } T1_TokenRec; typedef enum T1_FieldType_ { T1_FIELD_TYPE_NONE = 0, T1_FIELD_TYPE_BOOL, T1_FIELD_TYPE_INTEGER, T1_FIELD_TYPE_FIXED, T1_FIELD_TYPE_FIXED_1000, T1_FIELD_TYPE_STRING, T1_FIELD_TYPE_KEY, T1_FIELD_TYPE_BBOX, T1_FIELD_TYPE_INTEGER_ARRAY, T1_FIELD_TYPE_FIXED_ARRAY, T1_FIELD_TYPE_CALLBACK, T1_FIELD_TYPE_MAX } T1_FieldType; typedef enum T1_FieldLocation_ { T1_FIELD_LOCATION_CID_INFO, T1_FIELD_LOCATION_FONT_DICT, T1_FIELD_LOCATION_FONT_INFO, T1_FIELD_LOCATION_PRIVATE, T1_FIELD_LOCATION_BBOX, T1_FIELD_LOCATION_MAX } T1_FieldLocation; typedef void (*T1_Field_ParseFunc)( FT_Face face, FT_Pointer parser ); typedef struct T1_FieldRec_ { const char* ident; T1_FieldLocation location; T1_FieldType type; T1_Field_ParseFunc reader; FT_UInt offset; FT_Byte size; FT_UInt array_max; FT_UInt count_offset; } T1_FieldRec; # 316 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psaux.h" typedef const struct PS_Parser_FuncsRec_* PS_Parser_Funcs; typedef struct PS_Parser_FuncsRec_ { void (*init)( PS_Parser parser, FT_Byte* base, FT_Byte* limit, FT_Memory memory ); void (*done)( PS_Parser parser ); void (*skip_spaces)( PS_Parser parser ); void (*skip_alpha)( PS_Parser parser ); FT_Long (*to_int)( PS_Parser parser ); FT_Fixed (*to_fixed)( PS_Parser parser, FT_Int power_ten ); FT_Error (*to_bytes)( PS_Parser parser, FT_Byte* bytes, FT_Int max_bytes, FT_Int* pnum_bytes ); FT_Int (*to_coord_array)( PS_Parser parser, FT_Int max_coords, FT_Short* coords ); FT_Int (*to_fixed_array)( PS_Parser parser, FT_Int max_values, FT_Fixed* values, FT_Int power_ten ); void (*to_token)( PS_Parser parser, T1_Token token ); void (*to_token_array)( PS_Parser parser, T1_Token tokens, FT_UInt max_tokens, FT_Int* pnum_tokens ); FT_Error (*load_field)( PS_Parser parser, const T1_Field field, void** objects, FT_UInt max_objects, FT_ULong* pflags ); FT_Error (*load_field_table)( PS_Parser parser, const T1_Field field, void** objects, FT_UInt max_objects, FT_ULong* pflags ); } PS_Parser_FuncsRec; # 402 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psaux.h" typedef struct PS_ParserRec_ { FT_Byte* cursor; FT_Byte* base; FT_Byte* limit; FT_Error error; FT_Memory memory; PS_Parser_FuncsRec funcs; } PS_ParserRec; # 424 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psaux.h" typedef struct T1_BuilderRec_* T1_Builder; typedef FT_Error (*T1_Builder_Check_Points_Func)( T1_Builder builder, FT_Int count ); typedef void (*T1_Builder_Add_Point_Func)( T1_Builder builder, FT_Pos x, FT_Pos y, FT_Byte flag ); typedef FT_Error (*T1_Builder_Add_Point1_Func)( T1_Builder builder, FT_Pos x, FT_Pos y ); typedef FT_Error (*T1_Builder_Add_Contour_Func)( T1_Builder builder ); typedef FT_Error (*T1_Builder_Start_Point_Func)( T1_Builder builder, FT_Pos x, FT_Pos y ); typedef void (*T1_Builder_Close_Contour_Func)( T1_Builder builder ); typedef const struct T1_Builder_FuncsRec_* T1_Builder_Funcs; typedef struct T1_Builder_FuncsRec_ { void (*init)( T1_Builder builder, FT_Face face, FT_Size size, FT_GlyphSlot slot, FT_Bool hinting ); void (*done)( T1_Builder builder ); T1_Builder_Check_Points_Func check_points; T1_Builder_Add_Point_Func add_point; T1_Builder_Add_Point1_Func add_point1; T1_Builder_Add_Contour_Func add_contour; T1_Builder_Start_Point_Func start_point; T1_Builder_Close_Contour_Func close_contour; } T1_Builder_FuncsRec; # 534 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psaux.h" typedef struct T1_BuilderRec_ { FT_Memory memory; FT_Face face; FT_GlyphSlot glyph; FT_GlyphLoader loader; FT_Outline* base; FT_Outline* current; FT_Vector last; FT_Fixed scale_x; FT_Fixed scale_y; FT_Pos pos_x; FT_Pos pos_y; FT_Vector left_bearing; FT_Vector advance; FT_BBox bbox; FT_Bool path_begun; FT_Bool load_points; FT_Bool no_recurse; FT_Bool shift; FT_Error error; FT_Bool metrics_only; void* hints_funcs; void* hints_globals; T1_Builder_FuncsRec funcs; } T1_BuilderRec; # 599 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psaux.h" typedef struct T1_Decoder_ZoneRec_ { FT_Byte* cursor; FT_Byte* base; FT_Byte* limit; } T1_Decoder_ZoneRec, *T1_Decoder_Zone; typedef struct T1_DecoderRec_* T1_Decoder; typedef const struct T1_Decoder_FuncsRec_* T1_Decoder_Funcs; typedef FT_Error (*T1_Decoder_Callback)( T1_Decoder decoder, FT_UInt glyph_index ); typedef struct T1_Decoder_FuncsRec_ { FT_Error (*init)( T1_Decoder decoder, FT_Face face, FT_Size size, FT_GlyphSlot slot, FT_Byte** glyph_names, PS_Blend blend, FT_Bool hinting, FT_Render_Mode hint_mode, T1_Decoder_Callback callback ); void (*done)( T1_Decoder decoder ); FT_Error (*parse_charstrings)( T1_Decoder decoder, FT_Byte* base, FT_UInt len ); } T1_Decoder_FuncsRec; typedef struct T1_DecoderRec_ { T1_BuilderRec builder; FT_Long stack[256]; FT_Long* top; T1_Decoder_ZoneRec zones[16 + 1]; T1_Decoder_Zone zone; PSNames_Service psnames; FT_UInt num_glyphs; FT_Byte** glyph_names; FT_Int lenIV; FT_UInt num_subrs; FT_Byte** subrs; FT_Int* subrs_len; FT_Matrix font_matrix; FT_Vector font_offset; FT_Int flex_state; FT_Int num_flex_vectors; FT_Vector flex_vectors[7]; PS_Blend blend; FT_Render_Mode hint_mode; T1_Decoder_Callback parse_callback; T1_Decoder_FuncsRec funcs; } T1_DecoderRec; # 685 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psaux.h" typedef const struct T1_CMap_ClassesRec_* T1_CMap_Classes; typedef struct T1_CMap_ClassesRec_ { FT_CMap_Class standard; FT_CMap_Class expert; FT_CMap_Class custom; FT_CMap_Class unicode; } T1_CMap_ClassesRec; # 705 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/internal/psaux.h" typedef struct PSAux_ServiceRec_ { const PS_Table_FuncsRec* ps_table_funcs; const PS_Parser_FuncsRec* ps_parser_funcs; const T1_Builder_FuncsRec* t1_builder_funcs; const T1_Decoder_FuncsRec* t1_decoder_funcs; void (*t1_decrypt)( FT_Byte* buffer, FT_Offset length, FT_UShort seed ); T1_CMap_Classes t1_cmap_classes; } PSAux_ServiceRec, *PSAux_Service; typedef PSAux_ServiceRec PSAux_Interface; # 41 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1parse.c" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1parse.h" 1 # 28 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1parse.h" # 61 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1parse.h" typedef struct T1_ParserRec_ { PS_ParserRec root; FT_Stream stream; FT_Byte* base_dict; FT_Long base_len; FT_Byte* private_dict; FT_Long private_len; FT_Byte in_pfb; FT_Byte in_memory; FT_Byte single_block; } T1_ParserRec, *T1_Parser; # 116 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1parse.h" static FT_Error T1_New_Parser( T1_Parser parser, FT_Stream stream, FT_Memory memory, PSAux_Service psaux ); static FT_Error T1_Get_Private_Dict( T1_Parser parser, PSAux_Service psaux ); static void T1_Finalize_Parser( T1_Parser parser ); # 43 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1parse.c" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1errors.h" 1 # 35 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1errors.h" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fterrors.h" 1 # 167 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fterrors.h" enum { # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fterrdef.h" 1 # 34 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fterrdef.h" T1_Err_Ok = 0x00, T1_Err_Cannot_Open_Resource = 0x01 + 0, T1_Err_Unknown_File_Format = 0x02 + 0, T1_Err_Invalid_File_Format = 0x03 + 0, T1_Err_Invalid_Version = 0x04 + 0, T1_Err_Lower_Module_Version = 0x05 + 0, T1_Err_Invalid_Argument = 0x06 + 0, T1_Err_Unimplemented_Feature = 0x07 + 0, T1_Err_Invalid_Table = 0x08 + 0, T1_Err_Invalid_Offset = 0x09 + 0, T1_Err_Invalid_Glyph_Index = 0x10 + 0, T1_Err_Invalid_Character_Code = 0x11 + 0, T1_Err_Invalid_Glyph_Format = 0x12 + 0, T1_Err_Cannot_Render_Glyph = 0x13 + 0, T1_Err_Invalid_Outline = 0x14 + 0, T1_Err_Invalid_Composite = 0x15 + 0, T1_Err_Too_Many_Hints = 0x16 + 0, T1_Err_Invalid_Pixel_Size = 0x17 + 0, T1_Err_Invalid_Handle = 0x20 + 0, T1_Err_Invalid_Library_Handle = 0x21 + 0, T1_Err_Invalid_Driver_Handle = 0x22 + 0, T1_Err_Invalid_Face_Handle = 0x23 + 0, T1_Err_Invalid_Size_Handle = 0x24 + 0, T1_Err_Invalid_Slot_Handle = 0x25 + 0, T1_Err_Invalid_CharMap_Handle = 0x26 + 0, T1_Err_Invalid_Cache_Handle = 0x27 + 0, T1_Err_Invalid_Stream_Handle = 0x28 + 0, T1_Err_Too_Many_Drivers = 0x30 + 0, T1_Err_Too_Many_Extensions = 0x31 + 0, T1_Err_Out_Of_Memory = 0x40 + 0, T1_Err_Unlisted_Object = 0x41 + 0, T1_Err_Cannot_Open_Stream = 0x51 + 0, T1_Err_Invalid_Stream_Seek = 0x52 + 0, T1_Err_Invalid_Stream_Skip = 0x53 + 0, T1_Err_Invalid_Stream_Read = 0x54 + 0, T1_Err_Invalid_Stream_Operation = 0x55 + 0, T1_Err_Invalid_Frame_Operation = 0x56 + 0, T1_Err_Nested_Frame_Access = 0x57 + 0, T1_Err_Invalid_Frame_Read = 0x58 + 0, T1_Err_Raster_Uninitialized = 0x60 + 0, T1_Err_Raster_Corrupted = 0x61 + 0, T1_Err_Raster_Overflow = 0x62 + 0, T1_Err_Raster_Negative_Height = 0x63 + 0, T1_Err_Too_Many_Caches = 0x70 + 0, T1_Err_Invalid_Opcode = 0x80 + 0, T1_Err_Too_Few_Arguments = 0x81 + 0, T1_Err_Stack_Overflow = 0x82 + 0, T1_Err_Code_Overflow = 0x83 + 0, T1_Err_Bad_Argument = 0x84 + 0, T1_Err_Divide_By_Zero = 0x85 + 0, T1_Err_Invalid_Reference = 0x86 + 0, T1_Err_Debug_OpCode = 0x87 + 0, T1_Err_ENDF_In_Exec_Stream = 0x88 + 0, T1_Err_Nested_DEFS = 0x89 + 0, T1_Err_Invalid_CodeRange = 0x8A + 0, T1_Err_Execution_Too_Long = 0x8B + 0, T1_Err_Too_Many_Function_Defs = 0x8C + 0, T1_Err_Too_Many_Instruction_Defs = 0x8D + 0, T1_Err_Table_Missing = 0x8E + 0, T1_Err_Horiz_Header_Missing = 0x8F + 0, T1_Err_Locations_Missing = 0x90 + 0, T1_Err_Name_Table_Missing = 0x91 + 0, T1_Err_CMap_Table_Missing = 0x92 + 0, T1_Err_Hmtx_Table_Missing = 0x93 + 0, T1_Err_Post_Table_Missing = 0x94 + 0, T1_Err_Invalid_Horiz_Metrics = 0x95 + 0, T1_Err_Invalid_CharMap_Format = 0x96 + 0, T1_Err_Invalid_PPem = 0x97 + 0, T1_Err_Invalid_Vert_Metrics = 0x98 + 0, T1_Err_Could_Not_Find_Context = 0x99 + 0, T1_Err_Invalid_Post_Table_Format = 0x9A + 0, T1_Err_Invalid_Post_Table = 0x9B + 0, T1_Err_Syntax_Error = 0xA0 + 0, T1_Err_Stack_Underflow = 0xA1 + 0, T1_Err_Missing_Startfont_Field = 0xB0 + 0, T1_Err_Missing_Font_Field = 0xB1 + 0, T1_Err_Missing_Size_Field = 0xB2 + 0, T1_Err_Missing_Chars_Field = 0xB3 + 0, T1_Err_Missing_Startchar_Field = 0xB4 + 0, T1_Err_Missing_Encoding_Field = 0xB5 + 0, T1_Err_Missing_Bbx_Field = 0xB6 + 0, # 173 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/fterrors.h" 2 T1_Err_Max }; # 36 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1errors.h" 2 # 45 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1parse.c" 2 # 74 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1parse.c" typedef struct PFB_Tag_ { FT_UShort tag; FT_Long size; } PFB_Tag; static const FT_Frame_Field pfb_tag_fields[] = { { ft_frame_start, 0, 6 }, { ft_frame_ushort_be, (FT_Byte)sizeof ( ((PFB_Tag*)0)->tag ), (FT_UShort)( ((size_t) &((PFB_Tag *)0)->tag) ) }, { ft_frame_long_le, (FT_Byte)sizeof ( ((PFB_Tag*)0)->size ), (FT_UShort)( ((size_t) &((PFB_Tag *)0)->size) ) }, { ft_frame_end, 0, 0 } }; static FT_Error read_pfb_tag( FT_Stream stream, FT_UShort* tag, FT_Long* size ) { FT_Error error; PFB_Tag head; *tag = 0; *size = 0; if ( !( ( error = (FT_Stream_ReadFields( stream, pfb_tag_fields, &head )) ) != 0 ) ) { if ( head.tag == 0x8001U || head.tag == 0x8002U ) { *tag = head.tag; *size = head.size; } } return error; } static FT_Error T1_New_Parser( T1_Parser parser, FT_Stream stream, FT_Memory memory, PSAux_Service psaux ) { FT_Error error; FT_UShort tag; FT_Long size; psaux->ps_parser_funcs->init( &parser->root,0, 0, memory ); parser->stream = stream; parser->base_len = 0; parser->base_dict = 0; parser->private_len = 0; parser->private_dict = 0; parser->in_pfb = 0; parser->in_memory = 0; parser->single_block = 0; # 159 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1parse.c" if ( ( ( error = (FT_Stream_Seek( stream, 0L )) ) != 0 ) ) goto Exit; error = read_pfb_tag( stream, &tag, &size ); if ( error ) goto Exit; if ( tag != 0x8001U ) { if ( ( ( error = (FT_Stream_Seek( stream, 0L )) ) != 0 ) ) goto Exit; size = stream->size; } else parser->in_pfb = 1; if ( !stream->read ) { parser->base_dict = (FT_Byte*)stream->base + stream->pos; parser->base_len = size; parser->in_memory = 1; if ( ( ( error = (FT_Stream_Skip( stream, size )) ) != 0 ) ) goto Exit; } else { if ( ( ( error = (FT_Alloc( memory, size, (void**)&(parser->base_dict) )) ) != 0 ) || ( ( error = (FT_Stream_Read( stream, (FT_Byte*)parser->base_dict, size )) ) != 0 ) ) goto Exit; parser->base_len = size; } { if ( size <= 16 || ( (__extension__ (__builtin_constant_p (16) && ((__builtin_constant_p ((const char*)parser->base_dict) && strlen ((const char*)parser->base_dict) < ((size_t) (16))) || (__builtin_constant_p ("%!PS-AdobeFont-1") && strlen ("%!PS-AdobeFont-1") < ((size_t) (16)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((const char*)parser->base_dict) && __builtin_constant_p ("%!PS-AdobeFont-1") && (__s1_len = strlen ((const char*)parser->base_dict), __s2_len = strlen ("%!PS-AdobeFont-1"), (!((size_t)(const void *)(((const char*)parser->base_dict) + 1) - (size_t)(const void *)((const char*)parser->base_dict) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("%!PS-AdobeFont-1") + 1) - (size_t)(const void *)("%!PS-AdobeFont-1") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((const char*)parser->base_dict), (__const char *) ("%!PS-AdobeFont-1"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((const char*)parser->base_dict) && ((size_t)(const void *)(((const char*)parser->base_dict) + 1) - (size_t)(const void *)((const char*)parser->base_dict) == 1) && (__s1_len = strlen ((const char*)parser->base_dict), __s1_len < 4) ? (__builtin_constant_p ("%!PS-AdobeFont-1") && ((size_t)(const void *)(("%!PS-AdobeFont-1") + 1) - (size_t)(const void *)("%!PS-AdobeFont-1") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[0] - ((__const unsigned char *) (__const char *)("%!PS-AdobeFont-1"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[1] - ((__const unsigned char *) (__const char *) ("%!PS-AdobeFont-1"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[2] - ((__const unsigned char *) (__const char *) ("%!PS-AdobeFont-1"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[3] - ((__const unsigned char *) (__const char *) ("%!PS-AdobeFont-1"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("%!PS-AdobeFont-1"); register int __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("%!PS-AdobeFont-1") && ((size_t)(const void *)(("%!PS-AdobeFont-1") + 1) - (size_t)(const void *)("%!PS-AdobeFont-1") == 1) && (__s2_len = strlen ("%!PS-AdobeFont-1"), __s2_len < 4) ? (__builtin_constant_p ((const char*)parser->base_dict) && ((size_t)(const void *)(((const char*)parser->base_dict) + 1) - (size_t)(const void *)((const char*)parser->base_dict) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[0] - ((__const unsigned char *) (__const char *)("%!PS-AdobeFont-1"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[1] - ((__const unsigned char *) (__const char *) ("%!PS-AdobeFont-1"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[2] - ((__const unsigned char *) (__const char *) ("%!PS-AdobeFont-1"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[3] - ((__const unsigned char *) (__const char *) ("%!PS-AdobeFont-1"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((const char*)parser->base_dict); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("%!PS-AdobeFont-1"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("%!PS-AdobeFont-1"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("%!PS-AdobeFont-1"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("%!PS-AdobeFont-1"))[3]); } } __result; }))) : strcmp ((const char*)parser->base_dict, "%!PS-AdobeFont-1")))); }) : strncmp ((const char*)parser->base_dict, "%!PS-AdobeFont-1", 16))) && (__extension__ (__builtin_constant_p (10) && ((__builtin_constant_p ((const char*)parser->base_dict) && strlen ((const char*)parser->base_dict) < ((size_t) (10))) || (__builtin_constant_p ("%!FontType") && strlen ("%!FontType") < ((size_t) (10)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((const char*)parser->base_dict) && __builtin_constant_p ("%!FontType") && (__s1_len = strlen ((const char*)parser->base_dict), __s2_len = strlen ("%!FontType"), (!((size_t)(const void *)(((const char*)parser->base_dict) + 1) - (size_t)(const void *)((const char*)parser->base_dict) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("%!FontType") + 1) - (size_t)(const void *)("%!FontType") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((const char*)parser->base_dict), (__const char *) ("%!FontType"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((const char*)parser->base_dict) && ((size_t)(const void *)(((const char*)parser->base_dict) + 1) - (size_t)(const void *)((const char*)parser->base_dict) == 1) && (__s1_len = strlen ((const char*)parser->base_dict), __s1_len < 4) ? (__builtin_constant_p ("%!FontType") && ((size_t)(const void *)(("%!FontType") + 1) - (size_t)(const void *)("%!FontType") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[0] - ((__const unsigned char *) (__const char *)("%!FontType"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[1] - ((__const unsigned char *) (__const char *) ("%!FontType"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[2] - ((__const unsigned char *) (__const char *) ("%!FontType"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[3] - ((__const unsigned char *) (__const char *) ("%!FontType"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("%!FontType"); register int __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("%!FontType") && ((size_t)(const void *)(("%!FontType") + 1) - (size_t)(const void *)("%!FontType") == 1) && (__s2_len = strlen ("%!FontType"), __s2_len < 4) ? (__builtin_constant_p ((const char*)parser->base_dict) && ((size_t)(const void *)(((const char*)parser->base_dict) + 1) - (size_t)(const void *)((const char*)parser->base_dict) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[0] - ((__const unsigned char *) (__const char *)("%!FontType"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[1] - ((__const unsigned char *) (__const char *) ("%!FontType"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[2] - ((__const unsigned char *) (__const char *) ("%!FontType"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)parser->base_dict))[3] - ((__const unsigned char *) (__const char *) ("%!FontType"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((const char*)parser->base_dict); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("%!FontType"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("%!FontType"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("%!FontType"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("%!FontType"))[3]); } } __result; }))) : strcmp ((const char*)parser->base_dict, "%!FontType")))); }) : strncmp ((const char*)parser->base_dict, "%!FontType", 10))) ) ) { do ; while ( 0 ); error = T1_Err_Unknown_File_Format; } else { parser->root.base = parser->base_dict; parser->root.cursor = parser->base_dict; parser->root.limit = parser->root.cursor + parser->base_len; } } Exit: if ( error && !parser->in_memory ) FT_Free( memory, (void**)&(parser->base_dict) ); return error; } static void T1_Finalize_Parser( T1_Parser parser ) { FT_Memory memory = parser->root.memory; FT_Free( memory, (void**)&(parser->private_dict) ); if ( !parser->in_memory ) FT_Free( memory, (void**)&(parser->base_dict) ); parser->root.funcs.done( &parser->root ); } static int hexa_value( char c ) { unsigned int d; d = (unsigned int)( c - '0' ); if ( d <= 9 ) return (int)d; d = (unsigned int)( c - 'a' ); if ( d <= 5 ) return (int)( d + 10 ); d = (unsigned int)( c - 'A' ); if ( d <= 5 ) return (int)( d + 10 ); return -1; } static FT_Error T1_Get_Private_Dict( T1_Parser parser, PSAux_Service psaux ) { FT_Stream stream = parser->stream; FT_Memory memory = parser->root.memory; FT_Error error = 0; FT_Long size; if ( parser->in_pfb ) { FT_Long start_pos = FT_Stream_Pos( stream ); FT_UShort tag; parser->private_len = 0; for (;;) { error = read_pfb_tag( stream, &tag, &size ); if ( error ) goto Fail; if ( tag != 0x8002U ) break; parser->private_len += size; if ( ( ( error = (FT_Stream_Skip( stream, size )) ) != 0 ) ) goto Fail; } if ( parser->private_len == 0 ) { do ; while ( 0 ); do ; while ( 0 ); error = T1_Err_Invalid_File_Format; goto Fail; } if ( ( ( error = (FT_Stream_Seek( stream, start_pos )) ) != 0 ) || ( ( error = (FT_Alloc( memory, parser->private_len, (void**)&(parser->private_dict) )) ) != 0 ) ) goto Fail; parser->private_len = 0; for (;;) { error = read_pfb_tag( stream, &tag, &size ); if ( error || tag != 0x8002U ) { error = T1_Err_Ok; break; } if ( ( ( error = (FT_Stream_Read( stream, (FT_Byte*)parser->private_dict + parser->private_len, size )) ) != 0 ) ) goto Fail; parser->private_len += size; } } else { FT_Byte* cur = parser->base_dict; FT_Byte* limit = cur + parser->base_len; FT_Byte c; for (;;) { c = cur[0]; if ( c == 'e' && cur + 9 < limit ) { if ( cur[1] == 'e' && cur[2] == 'x' && cur[3] == 'e' && cur[4] == 'c' ) { cur += 6; if ( cur[0] == '\n' ) cur++; break; } } cur++; if ( cur >= limit ) { do ; while ( 0 ); do ; while ( 0 ); error = T1_Err_Invalid_File_Format; goto Exit; } } size = (FT_Long)( parser->base_len - ( cur - parser->base_dict ) ); if ( parser->in_memory ) { if ( ( ( error = (FT_Alloc( memory, size + 1, (void**)&(parser->private_dict) )) ) != 0 ) ) goto Fail; parser->private_len = size; } else { parser->single_block = 1; parser->private_dict = parser->base_dict; parser->private_len = size; parser->base_dict = 0; parser->base_len = 0; } # 405 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1parse.c" if ( ( hexa_value( cur[0] ) | hexa_value( cur[1] ) | hexa_value( cur[2] ) | hexa_value( cur[3] ) ) < 0 ) memcpy( parser->private_dict, cur, size ); else { FT_Byte* write; FT_Int count; write = parser->private_dict; count = 0; for ( ;cur < limit; cur++ ) { int hex1; if ( cur[0] == '\r' || cur[0] == '\n' ) continue; hex1 = hexa_value( cur[0] ); if ( hex1 < 0 || cur + 1 >= limit ) break; *write++ = (FT_Byte)( ( hex1 << 4 ) | hexa_value( cur[1] ) ); count++; cur++; } parser->private_len = write - parser->private_dict; *write++ = 0; } } psaux->t1_decrypt( parser->private_dict, parser->private_len, 55665U ); parser->root.base = parser->private_dict; parser->root.cursor = parser->private_dict; parser->root.limit = parser->root.cursor + parser->private_len; Fail: Exit: return error; } # 23 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/type1.c" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1load.c" 1 # 67 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1load.c" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmm.h" 1 # 27 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmm.h" # 65 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmm.h" typedef struct FT_MM_Axis_ { FT_String* name; FT_Long minimum; FT_Long maximum; } FT_MM_Axis; # 93 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmm.h" typedef struct FT_Multi_Master_ { FT_UInt num_axis; FT_UInt num_designs; FT_MM_Axis axis[4]; } FT_Multi_Master; typedef FT_Error (*FT_Get_MM_Func)( FT_Face face, FT_Multi_Master* master ); typedef FT_Error (*FT_Set_MM_Design_Func)( FT_Face face, FT_UInt num_coords, FT_Long* coords ); typedef FT_Error (*FT_Set_MM_Blend_Func)( FT_Face face, FT_UInt num_coords, FT_Long* coords ); # 135 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmm.h" extern FT_Error FT_Get_Multi_Master( FT_Face face, FT_Multi_Master *amaster ); # 161 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmm.h" extern FT_Error FT_Set_MM_Design_Coordinates( FT_Face face, FT_UInt num_coords, FT_Long* coords ); # 189 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftmm.h" extern FT_Error FT_Set_MM_Blend_Coordinates( FT_Face face, FT_UInt num_coords, FT_Fixed* coords ); # 68 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1load.c" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1load.h" 1 # 31 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1load.h" typedef struct T1_Loader_ { T1_ParserRec parser; FT_Int num_chars; PS_TableRec encoding_table; FT_Int num_glyphs; PS_TableRec glyph_names; PS_TableRec charstrings; PS_TableRec swap_table; FT_Int num_subrs; PS_TableRec subrs; FT_Bool fontdata; } T1_LoaderRec, *T1_Loader; static FT_Error T1_Open_Face( T1_Face face ); static FT_Error T1_Get_Multi_Master( T1_Face face, FT_Multi_Master* master ); static FT_Error T1_Set_MM_Blend( T1_Face face, FT_UInt num_coords, FT_Fixed* coords ); static FT_Error T1_Set_MM_Design( T1_Face face, FT_UInt num_coords, FT_Long* coords ); static void T1_Done_Blend( T1_Face face ); # 71 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1load.c" 2 # 96 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1load.c" static FT_Error t1_allocate_blend( T1_Face face, FT_UInt num_designs, FT_UInt num_axis ) { PS_Blend blend; FT_Memory memory = face->root.memory; FT_Error error = 0; blend = face->blend; if ( !blend ) { if ( ( ( error = (FT_Alloc( memory, sizeof ( *(blend) ), (void**)&(blend) )) ) != 0 ) ) goto Exit; face->blend = blend; } if ( num_designs > 0 ) { if ( blend->num_designs == 0 ) { FT_UInt nn; if ( ( ( error = (FT_Alloc( memory, (num_designs) * sizeof ( *(blend->font_infos[1]) ), (void**)&(blend->font_infos[1]) )) ) != 0 ) || ( ( error = (FT_Alloc( memory, (num_designs) * sizeof ( *(blend->privates[1]) ), (void**)&(blend->privates[1]) )) ) != 0 ) || ( ( error = (FT_Alloc( memory, (num_designs) * sizeof ( *(blend->bboxes[1]) ), (void**)&(blend->bboxes[1]) )) ) != 0 ) || ( ( error = (FT_Alloc( memory, (num_designs * 2) * sizeof ( *(blend->weight_vector) ), (void**)&(blend->weight_vector) )) ) != 0 ) ) goto Exit; blend->default_weight_vector = blend->weight_vector + num_designs; blend->font_infos[0] = &face->type1.font_info; blend->privates [0] = &face->type1.private_dict; blend->bboxes [0] = &face->type1.font_bbox; for ( nn = 2; nn <= num_designs; nn++ ) { blend->privates[nn] = blend->privates [nn - 1] + 1; blend->font_infos[nn] = blend->font_infos[nn - 1] + 1; blend->bboxes[nn] = blend->bboxes [nn - 1] + 1; } blend->num_designs = num_designs; } else if ( blend->num_designs != num_designs ) goto Fail; } if ( num_axis > 0 ) { if ( blend->num_axis != 0 && blend->num_axis != num_axis ) goto Fail; blend->num_axis = num_axis; } num_designs = blend->num_designs; num_axis = blend->num_axis; if ( num_designs && num_axis && blend->design_pos[0] == 0 ) { FT_UInt n; if ( ( ( error = (FT_Alloc( memory, (num_designs * num_axis) * sizeof ( *(blend->design_pos[0]) ), (void**)&(blend->design_pos[0]) )) ) != 0 ) ) goto Exit; for ( n = 1; n < num_designs; n++ ) blend->design_pos[n] = blend->design_pos[0] + num_axis * n; } Exit: return error; Fail: error = -1; goto Exit; } static FT_Error T1_Get_Multi_Master( T1_Face face, FT_Multi_Master* master ) { PS_Blend blend = face->blend; FT_UInt n; FT_Error error; error = T1_Err_Invalid_Argument; if ( blend ) { master->num_axis = blend->num_axis; master->num_designs = blend->num_designs; for ( n = 0; n < blend->num_axis; n++ ) { FT_MM_Axis* axis = master->axis + n; PS_DesignMap map = blend->design_map + n; axis->name = blend->axis_names[n]; axis->minimum = map->design_points[0]; axis->maximum = map->design_points[map->num_points - 1]; } error = 0; } return error; } static FT_Error T1_Set_MM_Blend( T1_Face face, FT_UInt num_coords, FT_Fixed* coords ) { PS_Blend blend = face->blend; FT_Error error; FT_UInt n, m; error = T1_Err_Invalid_Argument; if ( blend && blend->num_axis == num_coords ) { error = T1_Err_Ok; for ( n = 0; n < blend->num_designs; n++ ) { FT_Fixed result = 0x10000L; for ( m = 0; m < blend->num_axis; m++ ) { FT_Fixed factor; factor = coords[m]; if ( factor < 0 ) factor = 0; if ( factor > 0x10000L ) factor = 0x10000L; if ( ( n & ( 1 << m ) ) == 0 ) factor = 0x10000L - factor; result = FT_MulFix( result, factor ); } blend->weight_vector[n] = result; } error = T1_Err_Ok; } return error; } static FT_Error T1_Set_MM_Design( T1_Face face, FT_UInt num_coords, FT_Long* coords ) { PS_Blend blend = face->blend; FT_Error error; FT_UInt n, p; error = T1_Err_Invalid_Argument; if ( blend && blend->num_axis == num_coords ) { FT_Fixed final_blends[16]; for ( n = 0; n < blend->num_axis; n++ ) { FT_Long design = coords[n]; FT_Fixed the_blend; PS_DesignMap map = blend->design_map + n; FT_Fixed* designs = map->design_points; FT_Fixed* blends = map->blend_points; FT_Int before = -1, after = -1; for ( p = 0; p < (FT_UInt)map->num_points; p++ ) { FT_Fixed p_design = designs[p]; if ( design == p_design ) { the_blend = blends[p]; goto Found; } if ( design < p_design ) { after = p; break; } before = p; } if ( before < 0 ) the_blend = blends[0]; else if ( after < 0 ) the_blend = blends[map->num_points - 1]; else the_blend = FT_MulDiv( design - designs[before], blends [after] - blends [before], designs[after] - designs[before] ); Found: final_blends[n] = the_blend; } error = T1_Set_MM_Blend( face, num_coords, final_blends ); } return error; } static void T1_Done_Blend( T1_Face face ) { FT_Memory memory = face->root.memory; PS_Blend blend = face->blend; if ( blend ) { FT_UInt num_designs = blend->num_designs; FT_UInt num_axis = blend->num_axis; FT_UInt n; FT_Free( memory, (void**)&(blend->design_pos[0]) ); for ( n = 1; n < num_designs; n++ ) blend->design_pos[n] = 0; FT_Free( memory, (void**)&(blend->privates[1]) ); FT_Free( memory, (void**)&(blend->font_infos[1]) ); FT_Free( memory, (void**)&(blend->bboxes[1]) ); for ( n = 0; n < num_designs; n++ ) { blend->privates [n] = 0; blend->font_infos[n] = 0; blend->bboxes [n] = 0; } FT_Free( memory, (void**)&(blend->weight_vector) ); blend->default_weight_vector = 0; for ( n = 0; n < num_axis; n++ ) FT_Free( memory, (void**)&(blend->axis_names[n]) ); for ( n = 0; n < num_axis; n++ ) { PS_DesignMap dmap = blend->design_map + n; FT_Free( memory, (void**)&(dmap->design_points) ); dmap->num_points = 0; } FT_Free( memory, (void**)&(face->blend) ); } } static void parse_blend_axis_types( T1_Face face, T1_Loader loader ) { T1_TokenRec axis_tokens[ 4 ]; FT_Int n, num_axis; FT_Error error = 0; PS_Blend blend; FT_Memory memory; (&loader->parser)->root.funcs.to_token_array( &(&loader->parser)->root, axis_tokens, 4, &num_axis ); if ( num_axis <= 0 || num_axis > 4 ) { do ; while ( 0 ); error = T1_Err_Invalid_File_Format; goto Exit; } error = t1_allocate_blend( face, 0, (FT_UInt)num_axis ); if ( error ) goto Exit; blend = face->blend; memory = face->root.memory; for ( n = 0; n < num_axis; n++ ) { T1_Token token = axis_tokens + n; FT_Byte* name; FT_PtrDist len; if ( token->start[0] == '/' ) token->start++; len = token->limit - token->start; if ( len == 0 ) { error = T1_Err_Invalid_File_Format; goto Exit; } if ( ( ( error = (FT_Alloc( memory, len + 1, (void**)&(blend->axis_names[n]) )) ) != 0 ) ) goto Exit; name = (FT_Byte*)blend->axis_names[n]; memcpy( name, token->start, len ); name[len] = 0; } Exit: loader->parser.root.error = error; } static void parse_blend_design_positions( T1_Face face, T1_Loader loader ) { T1_TokenRec design_tokens[ 16 ]; FT_Int num_designs; FT_Int num_axis; T1_Parser parser = &loader->parser; FT_Error error = 0; PS_Blend blend; (parser)->root.funcs.to_token_array( &(parser)->root, design_tokens, 16, &num_designs ); if ( num_designs <= 0 || num_designs > 16 ) { do ; while ( 0 ); do ; while ( 0 ); error = T1_Err_Invalid_File_Format; goto Exit; } { FT_Byte* old_cursor = parser->root.cursor; FT_Byte* old_limit = parser->root.limit; FT_UInt n; blend = face->blend; num_axis = 0; for ( n = 0; n < (FT_UInt)num_designs; n++ ) { T1_TokenRec axis_tokens[ 16 ]; T1_Token token; FT_Int axis, n_axis; token = design_tokens + n; parser->root.cursor = token->start - 1; parser->root.limit = token->limit + 1; (parser)->root.funcs.to_token_array( &(parser)->root, axis_tokens, 4, &n_axis ); if ( n == 0 ) { num_axis = n_axis; error = t1_allocate_blend( face, num_designs, num_axis ); if ( error ) goto Exit; blend = face->blend; } else if ( n_axis != num_axis ) { do ; while ( 0 ); error = T1_Err_Invalid_File_Format; goto Exit; } for ( axis = 0; axis < n_axis; axis++ ) { T1_Token token2 = axis_tokens + axis; parser->root.cursor = token2->start; parser->root.limit = token2->limit; blend->design_pos[n][axis] = (parser)->root.funcs.to_fixed( &(parser)->root, 0 ); } } loader->parser.root.cursor = old_cursor; loader->parser.root.limit = old_limit; } Exit: loader->parser.root.error = error; } static void parse_blend_design_map( T1_Face face, T1_Loader loader ) { FT_Error error = 0; T1_Parser parser = &loader->parser; PS_Blend blend; T1_TokenRec axis_tokens[4]; FT_Int n, num_axis; FT_Byte* old_cursor; FT_Byte* old_limit; FT_Memory memory = face->root.memory; (parser)->root.funcs.to_token_array( &(parser)->root, axis_tokens, 4, &num_axis ); if ( num_axis <= 0 || num_axis > 4 ) { do ; while ( 0 ); error = T1_Err_Invalid_File_Format; goto Exit; } old_cursor = parser->root.cursor; old_limit = parser->root.limit; error = t1_allocate_blend( face, 0, num_axis ); if ( error ) goto Exit; blend = face->blend; for ( n = 0; n < num_axis; n++ ) { PS_DesignMap map = blend->design_map + n; T1_Token token; FT_Int p, num_points; token = axis_tokens + n; parser->root.cursor = token->start; parser->root.limit = token->limit; { FT_Byte* ptr = token->start; FT_Byte* limit = token->limit; num_points = 0; for ( ; ptr < limit; ptr++ ) if ( ptr[0] == '[' ) num_points++; } if ( num_points <= 0 || num_points > 20 ) { do ; while ( 0 ); error = T1_Err_Invalid_File_Format; goto Exit; } if ( ( ( error = (FT_Alloc( memory, (num_points * 2) * sizeof ( *(map->design_points) ), (void**)&(map->design_points) )) ) != 0 ) ) goto Exit; map->blend_points = map->design_points + num_points; map->num_points = (FT_Byte)num_points; for ( p = 0; p < num_points; p++ ) { map->design_points[p] = (parser)->root.funcs.to_int( &(parser)->root ); map->blend_points [p] = (parser)->root.funcs.to_fixed( &(parser)->root, 0 ); } } parser->root.cursor = old_cursor; parser->root.limit = old_limit; Exit: parser->root.error = error; } static void parse_weight_vector( T1_Face face, T1_Loader loader ) { FT_Error error = 0; T1_Parser parser = &loader->parser; PS_Blend blend = face->blend; T1_TokenRec master; FT_UInt n; FT_Byte* old_cursor; FT_Byte* old_limit; if ( !blend || blend->num_designs == 0 ) { do ; while ( 0 ); error = T1_Err_Invalid_File_Format; goto Exit; } (parser)->root.funcs.to_token( &(parser)->root, &master ); if ( master.type != T1_TOKEN_TYPE_ARRAY ) { do ; while ( 0 ); error = T1_Err_Invalid_File_Format; goto Exit; } old_cursor = parser->root.cursor; old_limit = parser->root.limit; parser->root.cursor = master.start; parser->root.limit = master.limit; for ( n = 0; n < blend->num_designs; n++ ) { blend->default_weight_vector[n] = blend->weight_vector[n] = (parser)->root.funcs.to_fixed( &(parser)->root, 0 ); } parser->root.cursor = old_cursor; parser->root.limit = old_limit; Exit: parser->root.error = error; } static void parse_shared_dict( T1_Face face, T1_Loader loader ) { T1_Parser parser = &loader->parser; ( (face) = (face) ); parser->root.cursor = parser->root.limit; parser->root.error = 0; } # 695 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1load.c" static FT_Error t1_load_keyword( T1_Face face, T1_Loader loader, const T1_Field field ) { FT_Error error; void* dummy_object; void** objects; FT_UInt max_objects; PS_Blend blend = face->blend; if ( field->type == T1_FIELD_TYPE_CALLBACK ) { field->reader( (FT_Face)face, loader ); error = loader->parser.root.error; goto Exit; } switch ( field->location ) { case T1_FIELD_LOCATION_FONT_INFO: dummy_object = &face->type1.font_info; objects = &dummy_object; max_objects = 0; if ( blend ) { objects = (void**)blend->font_infos; max_objects = blend->num_designs; } break; case T1_FIELD_LOCATION_PRIVATE: dummy_object = &face->type1.private_dict; objects = &dummy_object; max_objects = 0; if ( blend ) { objects = (void**)blend->privates; max_objects = blend->num_designs; } break; case T1_FIELD_LOCATION_BBOX: dummy_object = &face->type1.font_bbox; objects = &dummy_object; max_objects = 0; if ( blend ) { objects = (void**)blend->bboxes; max_objects = blend->num_designs; } break; default: dummy_object = &face->type1; objects = &dummy_object; max_objects = 0; } if ( field->type == T1_FIELD_TYPE_INTEGER_ARRAY || field->type == T1_FIELD_TYPE_FIXED_ARRAY ) error = (&loader->parser)->root.funcs.load_field_table( &(&loader->parser)->root, field, objects, max_objects, 0 ); else error = (&loader->parser)->root.funcs.load_field( &(&loader->parser)->root, field, objects, max_objects, 0 ); Exit: return error; } static int is_space( FT_Byte c ) { return ( c == ' ' || c == '\t' || c == '\r' || c == '\n' ); } static int is_name_char( FT_Byte c ) { return ( c != '(' && c != ')' && c != '<' && c != '>' && c != '[' && c != ']' && c != '{' && c != '}' && c != '/' && c != '%' && ! is_space( c ) ); } static int read_binary_data( T1_Parser parser, FT_Long* size, FT_Byte** base ) { FT_Byte* cur; FT_Byte* limit = parser->root.limit; (parser)->root.funcs.skip_spaces( &(parser)->root ); cur = parser->root.cursor; if ( cur < limit && (FT_Byte)( *cur - '0' ) < 10 ) { *size = (parser)->root.funcs.to_int( &(parser)->root ); (parser)->root.funcs.skip_spaces( &(parser)->root ); (parser)->root.funcs.skip_alpha ( &(parser)->root ); *base = parser->root.cursor + 1; parser->root.cursor += *size + 1; return 1; } do ; while ( 0 ); parser->root.error = T1_Err_Invalid_File_Format; return 0; } static void parse_font_matrix( T1_Face face, T1_Loader loader ) { T1_Parser parser = &loader->parser; FT_Matrix* matrix = &face->type1.font_matrix; FT_Vector* offset = &face->type1.font_offset; FT_Face root = (FT_Face)&face->root; FT_Fixed temp[6]; FT_Fixed temp_scale; if ( matrix->xx || matrix->yx ) return; (void)(parser)->root.funcs.to_fixed_array( &(parser)->root, 6, temp, 3 ); temp_scale = ( (temp[3]) < 0 ? -(temp[3]) : (temp[3]) ); root->units_per_EM = (FT_UShort)( FT_DivFix( 1000 * 0x10000L, temp_scale ) >> 16 ); if ( temp_scale != 0x10000L ) { temp[0] = FT_DivFix( temp[0], temp_scale ); temp[1] = FT_DivFix( temp[1], temp_scale ); temp[2] = FT_DivFix( temp[2], temp_scale ); temp[4] = FT_DivFix( temp[4], temp_scale ); temp[5] = FT_DivFix( temp[5], temp_scale ); temp[3] = 0x10000L; } matrix->xx = temp[0]; matrix->yx = temp[1]; matrix->xy = temp[2]; matrix->yy = temp[3]; offset->x = temp[4] >> 16; offset->y = temp[5] >> 16; } static void parse_encoding( T1_Face face, T1_Loader loader ) { T1_Parser parser = &loader->parser; FT_Byte* cur = parser->root.cursor; FT_Byte* limit = parser->root.limit; PSAux_Service psaux = (PSAux_Service)face->psaux; while ( is_space( *cur ) ) { cur++; if ( cur >= limit ) { do ; while ( 0 ); parser->root.error = T1_Err_Invalid_File_Format; return; } } if ( (FT_Byte)( *cur - '0' ) < 10 ) { T1_Encoding encode = &face->type1.encoding; FT_Int count, n; PS_Table char_table = &loader->encoding_table; FT_Memory memory = parser->root.memory; FT_Error error; if ( encode->char_index ) return; count = (FT_Int)(parser)->root.funcs.to_int( &(parser)->root ); if ( parser->root.error ) return; loader->num_chars = encode->num_chars = count; if ( ( ( error = (FT_Alloc( memory, (count) * sizeof ( *(encode->char_index) ), (void**)&(encode->char_index) )) ) != 0 ) || ( ( error = (FT_Alloc( memory, (count) * sizeof ( *(encode->char_name) ), (void**)&(encode->char_name) )) ) != 0 ) || ( ( error = (psaux->ps_table_funcs->init( char_table, count, memory )) ) != 0 ) ) { parser->root.error = error; return; } for ( n = 0; n < count; n++ ) { char* notdef = (char *)".notdef"; (char_table)->funcs.add( (char_table), n, notdef, 8 ); } # 970 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1load.c" cur = parser->root.cursor; limit = parser->root.limit; n = 0; for ( ; cur < limit; ) { FT_Byte c; c = *cur; if ( c == 'd' && cur + 3 < limit ) { if ( cur[1] == 'e' && cur[2] == 'f' && is_space( cur[-1] ) && is_space( cur[3] ) ) { do ; while ( 0 ); break; } } if ( (FT_Byte)( c - '0' ) < 10 ) { FT_Int charcode; parser->root.cursor = cur; charcode = (FT_Int)(parser)->root.funcs.to_int( &(parser)->root ); cur = parser->root.cursor; while ( cur < limit && is_space( *cur ) ) cur++; if ( cur < limit && *cur == '/' ) { FT_Byte* cur2 = cur + 1; FT_PtrDist len; while ( cur2 < limit && is_name_char( *cur2 ) ) cur2++; len = cur2 - cur - 1; parser->root.error = (char_table)->funcs.add( (char_table), charcode, cur + 1, len + 1 ); char_table->elements[charcode][len] = '\0'; if ( parser->root.error ) return; cur = cur2; } } else cur++; } face->type1.encoding_type = T1_ENCODING_TYPE_ARRAY; parser->root.cursor = cur; } else { if ( cur + 17 < limit && (__extension__ (__builtin_constant_p (16) && ((__builtin_constant_p ((const char*)cur) && strlen ((const char*)cur) < ((size_t) (16))) || (__builtin_constant_p ("StandardEncoding") && strlen ("StandardEncoding") < ((size_t) (16)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((const char*)cur) && __builtin_constant_p ("StandardEncoding") && (__s1_len = strlen ((const char*)cur), __s2_len = strlen ("StandardEncoding"), (!((size_t)(const void *)(((const char*)cur) + 1) - (size_t)(const void *)((const char*)cur) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("StandardEncoding") + 1) - (size_t)(const void *)("StandardEncoding") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((const char*)cur), (__const char *) ("StandardEncoding"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((const char*)cur) && ((size_t)(const void *)(((const char*)cur) + 1) - (size_t)(const void *)((const char*)cur) == 1) && (__s1_len = strlen ((const char*)cur), __s1_len < 4) ? (__builtin_constant_p ("StandardEncoding") && ((size_t)(const void *)(("StandardEncoding") + 1) - (size_t)(const void *)("StandardEncoding") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[0] - ((__const unsigned char *) (__const char *)("StandardEncoding"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[1] - ((__const unsigned char *) (__const char *) ("StandardEncoding"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[2] - ((__const unsigned char *) (__const char *) ("StandardEncoding"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[3] - ((__const unsigned char *) (__const char *) ("StandardEncoding"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("StandardEncoding"); register int __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("StandardEncoding") && ((size_t)(const void *)(("StandardEncoding") + 1) - (size_t)(const void *)("StandardEncoding") == 1) && (__s2_len = strlen ("StandardEncoding"), __s2_len < 4) ? (__builtin_constant_p ((const char*)cur) && ((size_t)(const void *)(((const char*)cur) + 1) - (size_t)(const void *)((const char*)cur) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[0] - ((__const unsigned char *) (__const char *)("StandardEncoding"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[1] - ((__const unsigned char *) (__const char *) ("StandardEncoding"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[2] - ((__const unsigned char *) (__const char *) ("StandardEncoding"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[3] - ((__const unsigned char *) (__const char *) ("StandardEncoding"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((const char*)cur); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("StandardEncoding"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("StandardEncoding"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("StandardEncoding"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("StandardEncoding"))[3]); } } __result; }))) : strcmp ((const char*)cur, "StandardEncoding")))); }) : strncmp ((const char*)cur, "StandardEncoding", 16))) == 0 ) face->type1.encoding_type = T1_ENCODING_TYPE_STANDARD; else if ( cur + 15 < limit && (__extension__ (__builtin_constant_p (14) && ((__builtin_constant_p ((const char*)cur) && strlen ((const char*)cur) < ((size_t) (14))) || (__builtin_constant_p ("ExpertEncoding") && strlen ("ExpertEncoding") < ((size_t) (14)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((const char*)cur) && __builtin_constant_p ("ExpertEncoding") && (__s1_len = strlen ((const char*)cur), __s2_len = strlen ("ExpertEncoding"), (!((size_t)(const void *)(((const char*)cur) + 1) - (size_t)(const void *)((const char*)cur) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("ExpertEncoding") + 1) - (size_t)(const void *)("ExpertEncoding") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((const char*)cur), (__const char *) ("ExpertEncoding"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((const char*)cur) && ((size_t)(const void *)(((const char*)cur) + 1) - (size_t)(const void *)((const char*)cur) == 1) && (__s1_len = strlen ((const char*)cur), __s1_len < 4) ? (__builtin_constant_p ("ExpertEncoding") && ((size_t)(const void *)(("ExpertEncoding") + 1) - (size_t)(const void *)("ExpertEncoding") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[0] - ((__const unsigned char *) (__const char *)("ExpertEncoding"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[1] - ((__const unsigned char *) (__const char *) ("ExpertEncoding"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[2] - ((__const unsigned char *) (__const char *) ("ExpertEncoding"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[3] - ((__const unsigned char *) (__const char *) ("ExpertEncoding"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("ExpertEncoding"); register int __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("ExpertEncoding") && ((size_t)(const void *)(("ExpertEncoding") + 1) - (size_t)(const void *)("ExpertEncoding") == 1) && (__s2_len = strlen ("ExpertEncoding"), __s2_len < 4) ? (__builtin_constant_p ((const char*)cur) && ((size_t)(const void *)(((const char*)cur) + 1) - (size_t)(const void *)((const char*)cur) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[0] - ((__const unsigned char *) (__const char *)("ExpertEncoding"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[1] - ((__const unsigned char *) (__const char *) ("ExpertEncoding"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[2] - ((__const unsigned char *) (__const char *) ("ExpertEncoding"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[3] - ((__const unsigned char *) (__const char *) ("ExpertEncoding"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((const char*)cur); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("ExpertEncoding"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("ExpertEncoding"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("ExpertEncoding"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("ExpertEncoding"))[3]); } } __result; }))) : strcmp ((const char*)cur, "ExpertEncoding")))); }) : strncmp ((const char*)cur, "ExpertEncoding", 14))) == 0 ) face->type1.encoding_type = T1_ENCODING_TYPE_EXPERT; else if ( cur + 18 < limit && (__extension__ (__builtin_constant_p (17) && ((__builtin_constant_p ((const char*)cur) && strlen ((const char*)cur) < ((size_t) (17))) || (__builtin_constant_p ("ISOLatin1Encoding") && strlen ("ISOLatin1Encoding") < ((size_t) (17)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((const char*)cur) && __builtin_constant_p ("ISOLatin1Encoding") && (__s1_len = strlen ((const char*)cur), __s2_len = strlen ("ISOLatin1Encoding"), (!((size_t)(const void *)(((const char*)cur) + 1) - (size_t)(const void *)((const char*)cur) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("ISOLatin1Encoding") + 1) - (size_t)(const void *)("ISOLatin1Encoding") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((const char*)cur), (__const char *) ("ISOLatin1Encoding"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((const char*)cur) && ((size_t)(const void *)(((const char*)cur) + 1) - (size_t)(const void *)((const char*)cur) == 1) && (__s1_len = strlen ((const char*)cur), __s1_len < 4) ? (__builtin_constant_p ("ISOLatin1Encoding") && ((size_t)(const void *)(("ISOLatin1Encoding") + 1) - (size_t)(const void *)("ISOLatin1Encoding") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[0] - ((__const unsigned char *) (__const char *)("ISOLatin1Encoding"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[1] - ((__const unsigned char *) (__const char *) ("ISOLatin1Encoding"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[2] - ((__const unsigned char *) (__const char *) ("ISOLatin1Encoding"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[3] - ((__const unsigned char *) (__const char *) ("ISOLatin1Encoding"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("ISOLatin1Encoding"); register int __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("ISOLatin1Encoding") && ((size_t)(const void *)(("ISOLatin1Encoding") + 1) - (size_t)(const void *)("ISOLatin1Encoding") == 1) && (__s2_len = strlen ("ISOLatin1Encoding"), __s2_len < 4) ? (__builtin_constant_p ((const char*)cur) && ((size_t)(const void *)(((const char*)cur) + 1) - (size_t)(const void *)((const char*)cur) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[0] - ((__const unsigned char *) (__const char *)("ISOLatin1Encoding"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[1] - ((__const unsigned char *) (__const char *) ("ISOLatin1Encoding"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[2] - ((__const unsigned char *) (__const char *) ("ISOLatin1Encoding"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)cur))[3] - ((__const unsigned char *) (__const char *) ("ISOLatin1Encoding"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((const char*)cur); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("ISOLatin1Encoding"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("ISOLatin1Encoding"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("ISOLatin1Encoding"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("ISOLatin1Encoding"))[3]); } } __result; }))) : strcmp ((const char*)cur, "ISOLatin1Encoding")))); }) : strncmp ((const char*)cur, "ISOLatin1Encoding", 17))) == 0 ) face->type1.encoding_type = T1_ENCODING_TYPE_ISOLATIN1; else { do ; while ( 0 ); parser->root.error = T1_Err_Invalid_File_Format; } } } static void parse_subrs( T1_Face face, T1_Loader loader ) { T1_Parser parser = &loader->parser; PS_Table table = &loader->subrs; FT_Memory memory = parser->root.memory; FT_Error error; FT_Int n; PSAux_Service psaux = (PSAux_Service)face->psaux; if ( loader->num_subrs ) return; if ( parser->root.cursor + 2 > parser->root.limit && parser->root.cursor[0] == '[' && parser->root.cursor[1] == ']' ) { return; } loader->num_subrs = (FT_Int)(parser)->root.funcs.to_int( &(parser)->root ); if ( parser->root.error ) return; (parser)->root.funcs.skip_spaces( &(parser)->root ); (parser)->root.funcs.skip_alpha ( &(parser)->root ); (parser)->root.funcs.skip_spaces( &(parser)->root ); error = psaux->ps_table_funcs->init( table, loader->num_subrs, memory ); if ( error ) goto Fail; for ( n = 0; n < loader->num_subrs; n++ ) { FT_Long idx, size; FT_Byte* base; if ( (__extension__ (__builtin_constant_p (3) && ((__builtin_constant_p ((char*)parser->root.cursor) && strlen ((char*)parser->root.cursor) < ((size_t) (3))) || (__builtin_constant_p ("dup") && strlen ("dup") < ((size_t) (3)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((char*)parser->root.cursor) && __builtin_constant_p ("dup") && (__s1_len = strlen ((char*)parser->root.cursor), __s2_len = strlen ("dup"), (!((size_t)(const void *)(((char*)parser->root.cursor) + 1) - (size_t)(const void *)((char*)parser->root.cursor) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("dup") + 1) - (size_t)(const void *)("dup") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((char*)parser->root.cursor), (__const char *) ("dup"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((char*)parser->root.cursor) && ((size_t)(const void *)(((char*)parser->root.cursor) + 1) - (size_t)(const void *)((char*)parser->root.cursor) == 1) && (__s1_len = strlen ((char*)parser->root.cursor), __s1_len < 4) ? (__builtin_constant_p ("dup") && ((size_t)(const void *)(("dup") + 1) - (size_t)(const void *)("dup") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[0] - ((__const unsigned char *) (__const char *)("dup"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[1] - ((__const unsigned char *) (__const char *) ("dup"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[2] - ((__const unsigned char *) (__const char *) ("dup"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[3] - ((__const unsigned char *) (__const char *) ("dup"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("dup"); register int __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("dup") && ((size_t)(const void *)(("dup") + 1) - (size_t)(const void *)("dup") == 1) && (__s2_len = strlen ("dup"), __s2_len < 4) ? (__builtin_constant_p ((char*)parser->root.cursor) && ((size_t)(const void *)(((char*)parser->root.cursor) + 1) - (size_t)(const void *)((char*)parser->root.cursor) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[0] - ((__const unsigned char *) (__const char *)("dup"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[1] - ((__const unsigned char *) (__const char *) ("dup"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[2] - ((__const unsigned char *) (__const char *) ("dup"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[3] - ((__const unsigned char *) (__const char *) ("dup"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((char*)parser->root.cursor); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("dup"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("dup"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("dup"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("dup"))[3]); } } __result; }))) : strcmp ((char*)parser->root.cursor, "dup")))); }) : strncmp ((char*)parser->root.cursor, "dup", 3))) != 0 ) break; idx = (parser)->root.funcs.to_int( &(parser)->root ); if ( !read_binary_data( parser, &size, &base ) ) return; (parser)->root.funcs.skip_spaces( &(parser)->root ); (parser)->root.funcs.skip_alpha ( &(parser)->root ); (parser)->root.funcs.skip_spaces( &(parser)->root ); if ( (__extension__ (__builtin_constant_p (3) && ((__builtin_constant_p ((char*)parser->root.cursor) && strlen ((char*)parser->root.cursor) < ((size_t) (3))) || (__builtin_constant_p ("put") && strlen ("put") < ((size_t) (3)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((char*)parser->root.cursor) && __builtin_constant_p ("put") && (__s1_len = strlen ((char*)parser->root.cursor), __s2_len = strlen ("put"), (!((size_t)(const void *)(((char*)parser->root.cursor) + 1) - (size_t)(const void *)((char*)parser->root.cursor) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("put") + 1) - (size_t)(const void *)("put") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((char*)parser->root.cursor), (__const char *) ("put"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((char*)parser->root.cursor) && ((size_t)(const void *)(((char*)parser->root.cursor) + 1) - (size_t)(const void *)((char*)parser->root.cursor) == 1) && (__s1_len = strlen ((char*)parser->root.cursor), __s1_len < 4) ? (__builtin_constant_p ("put") && ((size_t)(const void *)(("put") + 1) - (size_t)(const void *)("put") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[0] - ((__const unsigned char *) (__const char *)("put"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[1] - ((__const unsigned char *) (__const char *) ("put"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[2] - ((__const unsigned char *) (__const char *) ("put"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[3] - ((__const unsigned char *) (__const char *) ("put"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("put"); register int __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("put") && ((size_t)(const void *)(("put") + 1) - (size_t)(const void *)("put") == 1) && (__s2_len = strlen ("put"), __s2_len < 4) ? (__builtin_constant_p ((char*)parser->root.cursor) && ((size_t)(const void *)(((char*)parser->root.cursor) + 1) - (size_t)(const void *)((char*)parser->root.cursor) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[0] - ((__const unsigned char *) (__const char *)("put"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[1] - ((__const unsigned char *) (__const char *) ("put"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[2] - ((__const unsigned char *) (__const char *) ("put"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((char*)parser->root.cursor))[3] - ((__const unsigned char *) (__const char *) ("put"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((char*)parser->root.cursor); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("put"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("put"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("put"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("put"))[3]); } } __result; }))) : strcmp ((char*)parser->root.cursor, "put")))); }) : strncmp ((char*)parser->root.cursor, "put", 3))) == 0 ) { (parser)->root.funcs.skip_alpha ( &(parser)->root ); (parser)->root.funcs.skip_spaces( &(parser)->root ); } if ( face->type1.private_dict.lenIV >= 0 ) { FT_Byte* temp; if ( ( ( error = (FT_Alloc( memory, size, (void**)&(temp) )) ) != 0 ) ) goto Fail; memcpy( temp, base, size ); psaux->t1_decrypt( temp, size, 4330 ); size -= face->type1.private_dict.lenIV; error = (table)->funcs.add( (table), (FT_Int)idx, temp + face->type1.private_dict.lenIV, size ); FT_Free( memory, (void**)&(temp) ); } else error = (table)->funcs.add( (table), (FT_Int)idx, base, size ); if ( error ) goto Fail; } return; Fail: parser->root.error = error; } static void parse_charstrings( T1_Face face, T1_Loader loader ) { T1_Parser parser = &loader->parser; PS_Table code_table = &loader->charstrings; PS_Table name_table = &loader->glyph_names; PS_Table swap_table = &loader->swap_table; FT_Memory memory = parser->root.memory; FT_Error error; PSAux_Service psaux = (PSAux_Service)face->psaux; FT_Byte* cur; FT_Byte* limit = parser->root.limit; FT_Int n; FT_UInt notdef_index = 0; FT_Byte notdef_found = 0; if ( loader->num_glyphs ) return; loader->num_glyphs = (FT_Int)(parser)->root.funcs.to_int( &(parser)->root ); if ( parser->root.error ) return; error = psaux->ps_table_funcs->init( code_table, loader->num_glyphs + 1, memory ); if ( error ) goto Fail; error = psaux->ps_table_funcs->init( name_table, loader->num_glyphs + 1, memory ); if ( error ) goto Fail; error = psaux->ps_table_funcs->init( swap_table, 4, memory ); if ( error ) goto Fail; n = 0; for (;;) { FT_Long size; FT_Byte* base; (parser)->root.funcs.skip_spaces( &(parser)->root ); cur = parser->root.cursor; if ( cur >= limit ) break; if ( *cur == 'd' && cur + 3 < limit && cur[1] == 'e' && cur[2] == 'f' ) break; if ( *cur == 'e' && cur + 3 < limit && cur[1] == 'n' && cur[2] == 'd' ) break; if ( *cur != '/' ) (parser)->root.funcs.skip_alpha ( &(parser)->root ); else { FT_Byte* cur2 = cur + 1; FT_PtrDist len; while ( cur2 < limit && is_name_char( *cur2 ) ) cur2++; len = cur2 - cur - 1; error = (name_table)->funcs.add( (name_table), n, cur + 1, len + 1 ); if ( error ) goto Fail; name_table->elements[n][len] = '\0'; if ( __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((const char*)".notdef") && __builtin_constant_p ((const char*)(name_table->elements[n])) && (__s1_len = strlen ((const char*)".notdef"), __s2_len = strlen ((const char*)(name_table->elements[n])), (!((size_t)(const void *)(((const char*)".notdef") + 1) - (size_t)(const void *)((const char*)".notdef") == 1) || __s1_len >= 4) && (!((size_t)(const void *)(((const char*)(name_table->elements[n])) + 1) - (size_t)(const void *)((const char*)(name_table->elements[n])) == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((const char*)".notdef"), (__const char *) ((const char*)(name_table->elements[n])), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((const char*)".notdef") && ((size_t)(const void *)(((const char*)".notdef") + 1) - (size_t)(const void *)((const char*)".notdef") == 1) && (__s1_len = strlen ((const char*)".notdef"), __s1_len < 4) ? (__builtin_constant_p ((const char*)(name_table->elements[n])) && ((size_t)(const void *)(((const char*)(name_table->elements[n])) + 1) - (size_t)(const void *)((const char*)(name_table->elements[n])) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[0] - ((__const unsigned char *) (__const char *)((const char*)(name_table->elements[n])))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[1] - ((__const unsigned char *) (__const char *) ((const char*)(name_table->elements[n])))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[2] - ((__const unsigned char *) (__const char *) ((const char*)(name_table->elements[n])))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[3] - ((__const unsigned char *) (__const char *) ((const char*)(name_table->elements[n])))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ((const char*)(name_table->elements[n])); register int __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ((const char*)(name_table->elements[n])) && ((size_t)(const void *)(((const char*)(name_table->elements[n])) + 1) - (size_t)(const void *)((const char*)(name_table->elements[n])) == 1) && (__s2_len = strlen ((const char*)(name_table->elements[n])), __s2_len < 4) ? (__builtin_constant_p ((const char*)".notdef") && ((size_t)(const void *)(((const char*)".notdef") + 1) - (size_t)(const void *)((const char*)".notdef") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[0] - ((__const unsigned char *) (__const char *)((const char*)(name_table->elements[n])))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[1] - ((__const unsigned char *) (__const char *) ((const char*)(name_table->elements[n])))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[2] - ((__const unsigned char *) (__const char *) ((const char*)(name_table->elements[n])))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[3] - ((__const unsigned char *) (__const char *) ((const char*)(name_table->elements[n])))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((const char*)".notdef"); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ((const char*)(name_table->elements[n])))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ((const char*)(name_table->elements[n])))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ((const char*)(name_table->elements[n])))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ((const char*)(name_table->elements[n])))[3]); } } __result; }))) : strcmp ((const char*)".notdef", (const char*)(name_table->elements[n]))))); }) == 0 ) { notdef_index = n; notdef_found = 1; } parser->root.cursor = cur2; if ( !read_binary_data( parser, &size, &base ) ) return; if ( face->type1.private_dict.lenIV >= 0 ) { FT_Byte* temp; if ( ( ( error = (FT_Alloc( memory, size, (void**)&(temp) )) ) != 0 ) ) goto Fail; memcpy( temp, base, size ); psaux->t1_decrypt( temp, size, 4330 ); size -= face->type1.private_dict.lenIV; error = (code_table)->funcs.add( (code_table), n, temp + face->type1.private_dict.lenIV, size ); FT_Free( memory, (void**)&(temp) ); } else error = (code_table)->funcs.add( (code_table), n, base, size ); if ( error ) goto Fail; n++; if ( n >= loader->num_glyphs ) break; } } loader->num_glyphs = n; if ( __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((const char*)".notdef") && __builtin_constant_p ((const char*)name_table->elements[0]) && (__s1_len = strlen ((const char*)".notdef"), __s2_len = strlen ((const char*)name_table->elements[0]), (!((size_t)(const void *)(((const char*)".notdef") + 1) - (size_t)(const void *)((const char*)".notdef") == 1) || __s1_len >= 4) && (!((size_t)(const void *)(((const char*)name_table->elements[0]) + 1) - (size_t)(const void *)((const char*)name_table->elements[0]) == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((const char*)".notdef"), (__const char *) ((const char*)name_table->elements[0]), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((const char*)".notdef") && ((size_t)(const void *)(((const char*)".notdef") + 1) - (size_t)(const void *)((const char*)".notdef") == 1) && (__s1_len = strlen ((const char*)".notdef"), __s1_len < 4) ? (__builtin_constant_p ((const char*)name_table->elements[0]) && ((size_t)(const void *)(((const char*)name_table->elements[0]) + 1) - (size_t)(const void *)((const char*)name_table->elements[0]) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[0] - ((__const unsigned char *) (__const char *)((const char*)name_table->elements[0]))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[1] - ((__const unsigned char *) (__const char *) ((const char*)name_table->elements[0]))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[2] - ((__const unsigned char *) (__const char *) ((const char*)name_table->elements[0]))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[3] - ((__const unsigned char *) (__const char *) ((const char*)name_table->elements[0]))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ((const char*)name_table->elements[0]); register int __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ((const char*)name_table->elements[0]) && ((size_t)(const void *)(((const char*)name_table->elements[0]) + 1) - (size_t)(const void *)((const char*)name_table->elements[0]) == 1) && (__s2_len = strlen ((const char*)name_table->elements[0]), __s2_len < 4) ? (__builtin_constant_p ((const char*)".notdef") && ((size_t)(const void *)(((const char*)".notdef") + 1) - (size_t)(const void *)((const char*)".notdef") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[0] - ((__const unsigned char *) (__const char *)((const char*)name_table->elements[0]))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[1] - ((__const unsigned char *) (__const char *) ((const char*)name_table->elements[0]))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[2] - ((__const unsigned char *) (__const char *) ((const char*)name_table->elements[0]))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[3] - ((__const unsigned char *) (__const char *) ((const char*)name_table->elements[0]))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((const char*)".notdef"); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ((const char*)name_table->elements[0]))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ((const char*)name_table->elements[0]))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ((const char*)name_table->elements[0]))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ((const char*)name_table->elements[0]))[3]); } } __result; }))) : strcmp ((const char*)".notdef", (const char*)name_table->elements[0])))); }) && notdef_found ) { error = (swap_table)->funcs.add( (swap_table), 0, name_table->elements[0], name_table->lengths [0] ); if ( error ) goto Fail; error = (swap_table)->funcs.add( (swap_table), 1, code_table->elements[0], code_table->lengths [0] ); if ( error ) goto Fail; error = (swap_table)->funcs.add( (swap_table), 2, name_table->elements[notdef_index], name_table->lengths [notdef_index] ); if ( error ) goto Fail; error = (swap_table)->funcs.add( (swap_table), 3, code_table->elements[notdef_index], code_table->lengths [notdef_index] ); if ( error ) goto Fail; error = (name_table)->funcs.add( (name_table), notdef_index, swap_table->elements[0], swap_table->lengths [0] ); if ( error ) goto Fail; error = (code_table)->funcs.add( (code_table), notdef_index, swap_table->elements[1], swap_table->lengths [1] ); if ( error ) goto Fail; error = (name_table)->funcs.add( (name_table), 0, swap_table->elements[2], swap_table->lengths [2] ); if ( error ) goto Fail; error = (code_table)->funcs.add( (code_table), 0, swap_table->elements[3], swap_table->lengths [3] ); if ( error ) goto Fail; } else if ( !notdef_found ) { FT_Byte notdef_glyph[] = {0x8B, 0xF7, 0xE1, 0x0D, 0x0E}; char* notdef_name = (char *)".notdef"; error = (swap_table)->funcs.add( (swap_table), 0, name_table->elements[0], name_table->lengths [0] ); if ( error ) goto Fail; error = (swap_table)->funcs.add( (swap_table), 1, code_table->elements[0], code_table->lengths [0] ); if ( error ) goto Fail; error = (name_table)->funcs.add( (name_table), 0, notdef_name, 8 ); if ( error ) goto Fail; error = (code_table)->funcs.add( (code_table), 0, notdef_glyph, 5 ); if ( error ) goto Fail; error = (name_table)->funcs.add( (name_table), n, swap_table->elements[0], swap_table->lengths [0] ); if ( error ) goto Fail; error = (code_table)->funcs.add( (code_table), n, swap_table->elements[1], swap_table->lengths [1] ); if ( error ) goto Fail; loader->num_glyphs = n + 1; } return; Fail: parser->root.error = error; } static const T1_FieldRec t1_keywords[] = { # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1tokens.h" 1 # 24 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1tokens.h" { "version", T1_FIELD_LOCATION_FONT_INFO, T1_FIELD_TYPE_STRING, 0, (FT_UShort)( ((size_t) &((PS_FontInfoRec *)0)->version) ), (FT_Byte)sizeof ( ((PS_FontInfoRec*)0)->version ), 0, 0 }, { "Notice", T1_FIELD_LOCATION_FONT_INFO, T1_FIELD_TYPE_STRING, 0, (FT_UShort)( ((size_t) &((PS_FontInfoRec *)0)->notice) ), (FT_Byte)sizeof ( ((PS_FontInfoRec*)0)->notice ), 0, 0 }, { "FullName", T1_FIELD_LOCATION_FONT_INFO, T1_FIELD_TYPE_STRING, 0, (FT_UShort)( ((size_t) &((PS_FontInfoRec *)0)->full_name) ), (FT_Byte)sizeof ( ((PS_FontInfoRec*)0)->full_name ), 0, 0 }, { "FamilyName", T1_FIELD_LOCATION_FONT_INFO, T1_FIELD_TYPE_STRING, 0, (FT_UShort)( ((size_t) &((PS_FontInfoRec *)0)->family_name) ), (FT_Byte)sizeof ( ((PS_FontInfoRec*)0)->family_name ), 0, 0 }, { "Weight", T1_FIELD_LOCATION_FONT_INFO, T1_FIELD_TYPE_STRING, 0, (FT_UShort)( ((size_t) &((PS_FontInfoRec *)0)->weight) ), (FT_Byte)sizeof ( ((PS_FontInfoRec*)0)->weight ), 0, 0 }, { "ItalicAngle", T1_FIELD_LOCATION_FONT_INFO, T1_FIELD_TYPE_INTEGER, 0, (FT_UShort)( ((size_t) &((PS_FontInfoRec *)0)->italic_angle) ), (FT_Byte)sizeof ( ((PS_FontInfoRec*)0)->italic_angle ), 0, 0 }, { "isFixedPitch", T1_FIELD_LOCATION_FONT_INFO, T1_FIELD_TYPE_BOOL, 0, (FT_UShort)( ((size_t) &((PS_FontInfoRec *)0)->is_fixed_pitch) ), (FT_Byte)sizeof ( ((PS_FontInfoRec*)0)->is_fixed_pitch ), 0, 0 }, { "UnderlinePosition", T1_FIELD_LOCATION_FONT_INFO, T1_FIELD_TYPE_INTEGER, 0, (FT_UShort)( ((size_t) &((PS_FontInfoRec *)0)->underline_position) ), (FT_Byte)sizeof ( ((PS_FontInfoRec*)0)->underline_position ), 0, 0 }, { "UnderlineThickness", T1_FIELD_LOCATION_FONT_INFO, T1_FIELD_TYPE_INTEGER, 0, (FT_UShort)( ((size_t) &((PS_FontInfoRec *)0)->underline_thickness) ), (FT_Byte)sizeof ( ((PS_FontInfoRec*)0)->underline_thickness ), 0, 0 }, { "UniqueID", T1_FIELD_LOCATION_PRIVATE, T1_FIELD_TYPE_INTEGER, 0, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->unique_id) ), (FT_Byte)sizeof ( ((PS_PrivateRec*)0)->unique_id ), 0, 0 }, { "lenIV", T1_FIELD_LOCATION_PRIVATE, T1_FIELD_TYPE_INTEGER, 0, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->lenIV) ), (FT_Byte)sizeof ( ((PS_PrivateRec*)0)->lenIV ), 0, 0 }, { "LanguageGroup", T1_FIELD_LOCATION_PRIVATE, T1_FIELD_TYPE_INTEGER, 0, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->language_group) ), (FT_Byte)sizeof ( ((PS_PrivateRec*)0)->language_group ), 0, 0 }, { "password", T1_FIELD_LOCATION_PRIVATE, T1_FIELD_TYPE_INTEGER, 0, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->password) ), (FT_Byte)sizeof ( ((PS_PrivateRec*)0)->password ), 0, 0 }, { "BlueScale", T1_FIELD_LOCATION_PRIVATE, T1_FIELD_TYPE_FIXED_1000, 0, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->blue_scale) ), (FT_Byte)sizeof ( ((PS_PrivateRec*)0)->blue_scale ), 0, 0 }, { "BlueShift", T1_FIELD_LOCATION_PRIVATE, T1_FIELD_TYPE_INTEGER, 0, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->blue_shift) ), (FT_Byte)sizeof ( ((PS_PrivateRec*)0)->blue_shift ), 0, 0 }, { "BlueFuzz", T1_FIELD_LOCATION_PRIVATE, T1_FIELD_TYPE_INTEGER, 0, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->blue_fuzz) ), (FT_Byte)sizeof ( ((PS_PrivateRec*)0)->blue_fuzz ), 0, 0 }, { "BlueValues", T1_FIELD_LOCATION_PRIVATE, T1_FIELD_TYPE_INTEGER_ARRAY, 0, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->blue_values) ), (FT_Byte)sizeof ( ((PS_PrivateRec*)0)->blue_values[0] ), 14, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->num_blue_values) ) }, { "OtherBlues", T1_FIELD_LOCATION_PRIVATE, T1_FIELD_TYPE_INTEGER_ARRAY, 0, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->other_blues) ), (FT_Byte)sizeof ( ((PS_PrivateRec*)0)->other_blues[0] ), 10, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->num_other_blues) ) }, { "FamilyBlues", T1_FIELD_LOCATION_PRIVATE, T1_FIELD_TYPE_INTEGER_ARRAY, 0, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->family_blues) ), (FT_Byte)sizeof ( ((PS_PrivateRec*)0)->family_blues[0] ), 14, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->num_family_blues) ) }, { "FamilyOtherBlues", T1_FIELD_LOCATION_PRIVATE, T1_FIELD_TYPE_INTEGER_ARRAY, 0, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->family_other_blues) ), (FT_Byte)sizeof ( ((PS_PrivateRec*)0)->family_other_blues[0] ), 10, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->num_family_other_blues) ) }, { "StdHW", T1_FIELD_LOCATION_PRIVATE, T1_FIELD_TYPE_INTEGER_ARRAY, 0, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->standard_width) ), (FT_Byte)sizeof ( ((PS_PrivateRec*)0)->standard_width[0] ), 1, 0 }, { "StdVW", T1_FIELD_LOCATION_PRIVATE, T1_FIELD_TYPE_INTEGER_ARRAY, 0, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->standard_height) ), (FT_Byte)sizeof ( ((PS_PrivateRec*)0)->standard_height[0] ), 1, 0 }, { "MinFeature", T1_FIELD_LOCATION_PRIVATE, T1_FIELD_TYPE_INTEGER_ARRAY, 0, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->min_feature) ), (FT_Byte)sizeof ( ((PS_PrivateRec*)0)->min_feature[0] ), 2, 0 }, { "StemSnapH", T1_FIELD_LOCATION_PRIVATE, T1_FIELD_TYPE_INTEGER_ARRAY, 0, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->snap_widths) ), (FT_Byte)sizeof ( ((PS_PrivateRec*)0)->snap_widths[0] ), 12, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->num_snap_widths) ) }, { "StemSnapV", T1_FIELD_LOCATION_PRIVATE, T1_FIELD_TYPE_INTEGER_ARRAY, 0, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->snap_heights) ), (FT_Byte)sizeof ( ((PS_PrivateRec*)0)->snap_heights[0] ), 12, (FT_UShort)( ((size_t) &((PS_PrivateRec *)0)->num_snap_heights) ) }, { "FontName", T1_FIELD_LOCATION_FONT_DICT, T1_FIELD_TYPE_KEY, 0, (FT_UShort)( ((size_t) &((T1_FontRec *)0)->font_name) ), (FT_Byte)sizeof ( ((T1_FontRec*)0)->font_name ), 0, 0 }, { "PaintType", T1_FIELD_LOCATION_FONT_DICT, T1_FIELD_TYPE_INTEGER, 0, (FT_UShort)( ((size_t) &((T1_FontRec *)0)->paint_type) ), (FT_Byte)sizeof ( ((T1_FontRec*)0)->paint_type ), 0, 0 }, { "FontType", T1_FIELD_LOCATION_FONT_DICT, T1_FIELD_TYPE_INTEGER, 0, (FT_UShort)( ((size_t) &((T1_FontRec *)0)->font_type) ), (FT_Byte)sizeof ( ((T1_FontRec*)0)->font_type ), 0, 0 }, { "StrokeWidth", T1_FIELD_LOCATION_FONT_DICT, T1_FIELD_TYPE_FIXED, 0, (FT_UShort)( ((size_t) &((T1_FontRec *)0)->stroke_width) ), (FT_Byte)sizeof ( ((T1_FontRec*)0)->stroke_width ), 0, 0 }, { "FontBBox", T1_FIELD_LOCATION_BBOX, T1_FIELD_TYPE_BBOX, 0, (FT_UShort)( ((size_t) &((FT_BBox *)0)->xMin) ), (FT_Byte)sizeof ( ((FT_BBox*)0)->xMin ), 0, 0 }, # 1434 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1load.c" 2 { "FontMatrix", T1_FIELD_LOCATION_BBOX, T1_FIELD_TYPE_CALLBACK, (T1_Field_ParseFunc)parse_font_matrix, 0, 0, 0, 0 }, { "Encoding", T1_FIELD_LOCATION_BBOX, T1_FIELD_TYPE_CALLBACK, (T1_Field_ParseFunc)parse_encoding, 0, 0, 0, 0 }, { "Subrs", T1_FIELD_LOCATION_BBOX, T1_FIELD_TYPE_CALLBACK, (T1_Field_ParseFunc)parse_subrs, 0, 0, 0, 0 }, { "CharStrings", T1_FIELD_LOCATION_BBOX, T1_FIELD_TYPE_CALLBACK, (T1_Field_ParseFunc)parse_charstrings, 0, 0, 0, 0 }, { "BlendDesignPositions", T1_FIELD_LOCATION_BBOX, T1_FIELD_TYPE_CALLBACK, (T1_Field_ParseFunc)parse_blend_design_positions, 0, 0, 0, 0 }, { "BlendDesignMap", T1_FIELD_LOCATION_BBOX, T1_FIELD_TYPE_CALLBACK, (T1_Field_ParseFunc)parse_blend_design_map, 0, 0, 0, 0 }, { "BlendAxisTypes", T1_FIELD_LOCATION_BBOX, T1_FIELD_TYPE_CALLBACK, (T1_Field_ParseFunc)parse_blend_axis_types, 0, 0, 0, 0 }, { "WeightVector", T1_FIELD_LOCATION_BBOX, T1_FIELD_TYPE_CALLBACK, (T1_Field_ParseFunc)parse_weight_vector, 0, 0, 0, 0 }, { "shareddict", T1_FIELD_LOCATION_BBOX, T1_FIELD_TYPE_CALLBACK, (T1_Field_ParseFunc)parse_shared_dict, 0, 0, 0, 0 }, { 0, T1_FIELD_LOCATION_CID_INFO, T1_FIELD_TYPE_NONE, 0, 0, 0, 0, 0 } }; static FT_Error parse_dict( T1_Face face, T1_Loader loader, FT_Byte* base, FT_Long size, FT_Byte* keyword_flags ) { T1_Parser parser = &loader->parser; parser->root.cursor = base; parser->root.limit = base + size; parser->root.error = 0; { FT_Byte* cur = base; FT_Byte* limit = cur + size; for ( ; cur < limit; cur++ ) { if ( *cur == 'F' && cur + 25 < limit && (__extension__ (__builtin_constant_p (13) && ((__builtin_constant_p ((char*)cur) && strlen ((char*)cur) < ((size_t) (13))) || (__builtin_constant_p ("FontDirectory") && strlen ("FontDirectory") < ((size_t) (13)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((char*)cur) && __builtin_constant_p ("FontDirectory") && (__s1_len = strlen ((char*)cur), __s2_len = strlen ("FontDirectory"), (!((size_t)(const void *)(((char*)cur) + 1) - (size_t)(const void *)((char*)cur) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("FontDirectory") + 1) - (size_t)(const void *)("FontDirectory") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((char*)cur), (__const char *) ("FontDirectory"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((char*)cur) && ((size_t)(const void *)(((char*)cur) + 1) - (size_t)(const void *)((char*)cur) == 1) && (__s1_len = strlen ((char*)cur), __s1_len < 4) ? (__builtin_constant_p ("FontDirectory") && ((size_t)(const void *)(("FontDirectory") + 1) - (size_t)(const void *)("FontDirectory") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((char*)cur))[0] - ((__const unsigned char *) (__const char *)("FontDirectory"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)cur))[1] - ((__const unsigned char *) (__const char *) ("FontDirectory"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)cur))[2] - ((__const unsigned char *) (__const char *) ("FontDirectory"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((char*)cur))[3] - ((__const unsigned char *) (__const char *) ("FontDirectory"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("FontDirectory"); register int __result = (((__const unsigned char *) (__const char *) ((char*)cur))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)cur))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)cur))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((char*)cur))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("FontDirectory") && ((size_t)(const void *)(("FontDirectory") + 1) - (size_t)(const void *)("FontDirectory") == 1) && (__s2_len = strlen ("FontDirectory"), __s2_len < 4) ? (__builtin_constant_p ((char*)cur) && ((size_t)(const void *)(((char*)cur) + 1) - (size_t)(const void *)((char*)cur) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((char*)cur))[0] - ((__const unsigned char *) (__const char *)("FontDirectory"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)cur))[1] - ((__const unsigned char *) (__const char *) ("FontDirectory"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)cur))[2] - ((__const unsigned char *) (__const char *) ("FontDirectory"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((char*)cur))[3] - ((__const unsigned char *) (__const char *) ("FontDirectory"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((char*)cur); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("FontDirectory"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("FontDirectory"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("FontDirectory"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("FontDirectory"))[3]); } } __result; }))) : strcmp ((char*)cur, "FontDirectory")))); }) : strncmp ((char*)cur, "FontDirectory", 13))) == 0 ) { FT_Byte* cur2; cur += 13; cur2 = cur; while ( cur < limit && *cur != 'k' && (__extension__ (__builtin_constant_p (5) && ((__builtin_constant_p ((char*)cur) && strlen ((char*)cur) < ((size_t) (5))) || (__builtin_constant_p ("known") && strlen ("known") < ((size_t) (5)))) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((char*)cur) && __builtin_constant_p ("known") && (__s1_len = strlen ((char*)cur), __s2_len = strlen ("known"), (!((size_t)(const void *)(((char*)cur) + 1) - (size_t)(const void *)((char*)cur) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("known") + 1) - (size_t)(const void *)("known") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((char*)cur), (__const char *) ("known"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((char*)cur) && ((size_t)(const void *)(((char*)cur) + 1) - (size_t)(const void *)((char*)cur) == 1) && (__s1_len = strlen ((char*)cur), __s1_len < 4) ? (__builtin_constant_p ("known") && ((size_t)(const void *)(("known") + 1) - (size_t)(const void *)("known") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((char*)cur))[0] - ((__const unsigned char *) (__const char *)("known"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)cur))[1] - ((__const unsigned char *) (__const char *) ("known"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)cur))[2] - ((__const unsigned char *) (__const char *) ("known"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((char*)cur))[3] - ((__const unsigned char *) (__const char *) ("known"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("known"); register int __result = (((__const unsigned char *) (__const char *) ((char*)cur))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)cur))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)cur))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((char*)cur))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("known") && ((size_t)(const void *)(("known") + 1) - (size_t)(const void *)("known") == 1) && (__s2_len = strlen ("known"), __s2_len < 4) ? (__builtin_constant_p ((char*)cur) && ((size_t)(const void *)(((char*)cur) + 1) - (size_t)(const void *)((char*)cur) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((char*)cur))[0] - ((__const unsigned char *) (__const char *)("known"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)cur))[1] - ((__const unsigned char *) (__const char *) ("known"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((char*)cur))[2] - ((__const unsigned char *) (__const char *) ("known"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((char*)cur))[3] - ((__const unsigned char *) (__const char *) ("known"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((char*)cur); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("known"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("known"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("known"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("known"))[3]); } } __result; }))) : strcmp ((char*)cur, "known")))); }) : strncmp ((char*)cur, "known", 5))) ) cur++; if ( cur < limit ) { T1_TokenRec token; cur += 5; loader->parser.root.cursor = cur; (&loader->parser)->root.funcs.to_token( &(&loader->parser)->root, &token ); if ( token.type == T1_TOKEN_TYPE_ARRAY ) cur2 = parser->root.cursor; } cur = cur2; } else if ( *cur == '/' && cur + 2 < limit ) { FT_Byte* cur2; FT_PtrDist len; cur++; cur2 = cur; while ( cur2 < limit && is_name_char( *cur2 ) ) cur2++; len = cur2 - cur; if ( len > 0 && len < 22 ) { { T1_Field keyword = (T1_Field)t1_keywords; FT_Byte* keyword_flag = keyword_flags; for (;;) { FT_Byte* name; name = (FT_Byte*)keyword->ident; if ( !name ) break; if ( cur[0] == name[0] && len == strlen( (const char*)name ) ) { FT_PtrDist n; for ( n = 1; n < len; n++ ) if ( cur[n] != name[n] ) break; if ( n >= len ) { parser->root.cursor = cur2; (parser)->root.funcs.skip_spaces( &(parser)->root ); if ( keyword_flag[0] == 0 ) { parser->root.error = t1_load_keyword( face, loader, keyword ); if ( parser->root.error ) return parser->root.error; } keyword_flag[0] = 1; cur = parser->root.cursor; break; } } keyword++; keyword_flag++; } } } } } } return parser->root.error; } static void t1_init_loader( T1_Loader loader, T1_Face face ) { ( (face) = (face) ); (__extension__ (__builtin_constant_p (sizeof ( *loader )) && (sizeof ( *loader )) <= 16 ? ((sizeof ( *loader )) == 1 ? ({ void *__s = (loader); *((__uint8_t *) __s) = (__uint8_t) 0; __s; }) : ({ void *__s = (loader); union { unsigned int __ui; unsigned short int __usi; unsigned char __uc; } *__u = __s; __uint8_t __c = (__uint8_t) (0); switch ((unsigned int) (sizeof ( *loader ))) { case 15: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 11: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 7: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 3: __u->__usi = (unsigned short int) __c * 0x0101; __u = __extension__ ((void *) __u + 2); __u->__uc = (unsigned char) __c; break; case 14: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 10: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 6: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 2: __u->__usi = (unsigned short int) __c * 0x0101; break; case 13: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 9: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 5: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 1: __u->__uc = (unsigned char) __c; break; case 16: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 12: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 8: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 4: __u->__ui = __c * 0x01010101; case 0: break; } __s; })) : (__builtin_constant_p (0) && (0) == '\0' ? ({ void *__s = (loader); __builtin_memset (__s, '\0', sizeof ( *loader )); __s; }) : memset (loader, 0, sizeof ( *loader ))))); loader->num_glyphs = 0; loader->num_chars = 0; loader->encoding_table.init = 0; loader->charstrings.init = 0; loader->glyph_names.init = 0; loader->subrs.init = 0; loader->swap_table.init = 0; loader->fontdata = 0; } static void t1_done_loader( T1_Loader loader ) { T1_Parser parser = &loader->parser; do { if ( (&loader->encoding_table)->funcs.release ) (&loader->encoding_table)->funcs.release( &loader->encoding_table ); } while ( 0 ); do { if ( (&loader->charstrings)->funcs.release ) (&loader->charstrings)->funcs.release( &loader->charstrings ); } while ( 0 ); do { if ( (&loader->glyph_names)->funcs.release ) (&loader->glyph_names)->funcs.release( &loader->glyph_names ); } while ( 0 ); do { if ( (&loader->swap_table)->funcs.release ) (&loader->swap_table)->funcs.release( &loader->swap_table ); } while ( 0 ); do { if ( (&loader->subrs)->funcs.release ) (&loader->subrs)->funcs.release( &loader->subrs ); } while ( 0 ); T1_Finalize_Parser( parser ); } static FT_Error T1_Open_Face( T1_Face face ) { T1_LoaderRec loader; T1_Parser parser; T1_Font type1 = &face->type1; FT_Error error; FT_Byte keyword_flags[( sizeof ( t1_keywords ) / sizeof ( t1_keywords[0] ) )]; PSAux_Service psaux = (PSAux_Service)face->psaux; t1_init_loader( &loader, face ); type1->private_dict.lenIV = 4; type1->private_dict.blue_fuzz = 1; parser = &loader.parser; error = T1_New_Parser( parser, face->root.stream, face->root.memory, psaux ); if ( error ) goto Exit; { FT_UInt n; for ( n = 0; n < ( sizeof ( t1_keywords ) / sizeof ( t1_keywords[0] ) ); n++ ) keyword_flags[n] = 0; } error = parse_dict( face, &loader, parser->base_dict, parser->base_len, keyword_flags ); if ( error ) goto Exit; error = T1_Get_Private_Dict( parser, psaux ); if ( error ) goto Exit; error = parse_dict( face, &loader, parser->private_dict, parser->private_len, keyword_flags ); if ( error ) goto Exit; type1->num_glyphs = loader.num_glyphs; if ( loader.subrs.init ) { loader.subrs.init = 0; type1->num_subrs = loader.num_subrs; type1->subrs_block = loader.subrs.block; type1->subrs = loader.subrs.elements; type1->subrs_len = loader.subrs.lengths; } if ( !loader.charstrings.init ) { do ; while ( 0 ); error = T1_Err_Invalid_File_Format; } loader.charstrings.init = 0; type1->charstrings_block = loader.charstrings.block; type1->charstrings = loader.charstrings.elements; type1->charstrings_len = loader.charstrings.lengths; type1->glyph_names_block = loader.glyph_names.block; type1->glyph_names = (FT_String**)loader.glyph_names.elements; loader.glyph_names.block = 0; loader.glyph_names.elements = 0; if ( type1->encoding_type == T1_ENCODING_TYPE_ARRAY ) { FT_Int charcode, idx, min_char, max_char; FT_Byte* char_name; FT_Byte* glyph_name; min_char = +32000; max_char = -32000; charcode = 0; for ( ; charcode < loader.encoding_table.max_elems; charcode++ ) { type1->encoding.char_index[charcode] = 0; type1->encoding.char_name [charcode] = (char *)".notdef"; char_name = loader.encoding_table.elements[charcode]; if ( char_name ) for ( idx = 0; idx < type1->num_glyphs; idx++ ) { glyph_name = (FT_Byte*)type1->glyph_names[idx]; if ( __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((const char*)char_name) && __builtin_constant_p ((const char*)glyph_name) && (__s1_len = strlen ((const char*)char_name), __s2_len = strlen ((const char*)glyph_name), (!((size_t)(const void *)(((const char*)char_name) + 1) - (size_t)(const void *)((const char*)char_name) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(((const char*)glyph_name) + 1) - (size_t)(const void *)((const char*)glyph_name) == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((const char*)char_name), (__const char *) ((const char*)glyph_name), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((const char*)char_name) && ((size_t)(const void *)(((const char*)char_name) + 1) - (size_t)(const void *)((const char*)char_name) == 1) && (__s1_len = strlen ((const char*)char_name), __s1_len < 4) ? (__builtin_constant_p ((const char*)glyph_name) && ((size_t)(const void *)(((const char*)glyph_name) + 1) - (size_t)(const void *)((const char*)glyph_name) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)char_name))[0] - ((__const unsigned char *) (__const char *)((const char*)glyph_name))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)char_name))[1] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)char_name))[2] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)char_name))[3] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ((const char*)glyph_name); register int __result = (((__const unsigned char *) (__const char *) ((const char*)char_name))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)char_name))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)char_name))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)char_name))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ((const char*)glyph_name) && ((size_t)(const void *)(((const char*)glyph_name) + 1) - (size_t)(const void *)((const char*)glyph_name) == 1) && (__s2_len = strlen ((const char*)glyph_name), __s2_len < 4) ? (__builtin_constant_p ((const char*)char_name) && ((size_t)(const void *)(((const char*)char_name) + 1) - (size_t)(const void *)((const char*)char_name) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)char_name))[0] - ((__const unsigned char *) (__const char *)((const char*)glyph_name))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)char_name))[1] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)char_name))[2] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)char_name))[3] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((const char*)char_name); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[3]); } } __result; }))) : strcmp ((const char*)char_name, (const char*)glyph_name)))); }) == 0 ) { type1->encoding.char_index[charcode] = (FT_UShort)idx; type1->encoding.char_name [charcode] = (char*)glyph_name; if ( __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((const char*)".notdef") && __builtin_constant_p ((const char*)glyph_name) && (__s1_len = strlen ((const char*)".notdef"), __s2_len = strlen ((const char*)glyph_name), (!((size_t)(const void *)(((const char*)".notdef") + 1) - (size_t)(const void *)((const char*)".notdef") == 1) || __s1_len >= 4) && (!((size_t)(const void *)(((const char*)glyph_name) + 1) - (size_t)(const void *)((const char*)glyph_name) == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((const char*)".notdef"), (__const char *) ((const char*)glyph_name), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((const char*)".notdef") && ((size_t)(const void *)(((const char*)".notdef") + 1) - (size_t)(const void *)((const char*)".notdef") == 1) && (__s1_len = strlen ((const char*)".notdef"), __s1_len < 4) ? (__builtin_constant_p ((const char*)glyph_name) && ((size_t)(const void *)(((const char*)glyph_name) + 1) - (size_t)(const void *)((const char*)glyph_name) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[0] - ((__const unsigned char *) (__const char *)((const char*)glyph_name))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[1] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[2] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[3] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ((const char*)glyph_name); register int __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ((const char*)glyph_name) && ((size_t)(const void *)(((const char*)glyph_name) + 1) - (size_t)(const void *)((const char*)glyph_name) == 1) && (__s2_len = strlen ((const char*)glyph_name), __s2_len < 4) ? (__builtin_constant_p ((const char*)".notdef") && ((size_t)(const void *)(((const char*)".notdef") + 1) - (size_t)(const void *)((const char*)".notdef") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[0] - ((__const unsigned char *) (__const char *)((const char*)glyph_name))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[1] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[2] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)".notdef"))[3] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((const char*)".notdef"); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ((const char*)glyph_name))[3]); } } __result; }))) : strcmp ((const char*)".notdef", (const char*)glyph_name)))); }) != 0 ) { if ( charcode < min_char ) min_char = charcode; if ( charcode > max_char ) max_char = charcode; } break; } } } if ( min_char > max_char ) { min_char = 0; max_char = loader.encoding_table.max_elems; } type1->encoding.code_first = min_char; type1->encoding.code_last = max_char; type1->encoding.num_chars = loader.num_chars; } Exit: t1_done_loader( &loader ); return error; } # 24 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/type1.c" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1objs.c" 1 # 23 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1objs.c" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1gload.h" 1 # 24 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1gload.h" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1objs.h" 1 # 29 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1objs.h" typedef struct T1_Size_Hints_ T1_Size_Hints; typedef struct T1_Glyph_Hints_ T1_Glyph_Hints; # 45 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1objs.h" typedef struct T1_DriverRec_ *T1_Driver; # 56 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1objs.h" typedef struct T1_SizeRec_* T1_Size; # 67 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1objs.h" typedef struct T1_GlyphSlotRec_* T1_GlyphSlot; # 83 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1objs.h" typedef struct T1_CharMapRec_* T1_CharMap; # 101 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1objs.h" typedef struct T1_SizeRec_ { FT_SizeRec root; } T1_SizeRec; static void T1_Size_Done( T1_Size size ); static FT_Error T1_Size_Reset( T1_Size size ); static FT_Error T1_Size_Init( T1_Size size ); # 126 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1objs.h" typedef struct T1_GlyphSlotRec_ { FT_GlyphSlotRec root; FT_Bool hint; FT_Bool scaled; FT_Int max_points; FT_Int max_contours; FT_Fixed x_scale; FT_Fixed y_scale; } T1_GlyphSlotRec; static FT_Error T1_Face_Init( FT_Stream stream, T1_Face face, FT_Int face_index, FT_Int num_params, FT_Parameter* params ); static void T1_Face_Done( T1_Face face ); static FT_Error T1_GlyphSlot_Init( T1_GlyphSlot slot ); static void T1_GlyphSlot_Done( T1_GlyphSlot slot ); static FT_Error T1_Driver_Init( T1_Driver driver ); static void T1_Driver_Done( T1_Driver driver ); # 25 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1gload.h" 2 static FT_Error T1_Compute_Max_Advance( T1_Face face, FT_Pos* max_advance ); static FT_Error T1_Load_Glyph( T1_GlyphSlot glyph, T1_Size size, FT_UInt glyph_index, FT_Int32 load_flags ); # 24 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1objs.c" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1afm.h" 1 # 26 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1afm.h" typedef struct T1_Kern_Pair_ { FT_UInt glyph1; FT_UInt glyph2; FT_Vector kerning; } T1_Kern_Pair; typedef struct T1_AFM_ { FT_Int num_pairs; T1_Kern_Pair* kern_pairs; } T1_AFM; static FT_Error T1_Read_AFM( FT_Face face, FT_Stream stream ); static void T1_Done_AFM( FT_Memory memory, T1_AFM* afm ); static void T1_Get_Kerning( T1_AFM* afm, FT_UInt glyph1, FT_UInt glyph2, FT_Vector* kerning ); # 30 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1objs.c" 2 # 56 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1objs.c" static PSH_Globals_Funcs T1_Size_Get_Globals_Funcs( T1_Size size ) { T1_Face face = (T1_Face)size->root.face; PSHinter_Service pshinter = (PSHinter_Service)face->pshinter; FT_Module module; module = FT_Get_Module( size->root.face->driver->root.library, "pshinter" ); return ( module && pshinter && pshinter->get_globals_funcs ) ? pshinter->get_globals_funcs( module ) : 0 ; } static void T1_Size_Done( T1_Size size ) { if ( size->root.internal ) { PSH_Globals_Funcs funcs; funcs = T1_Size_Get_Globals_Funcs( size ); if ( funcs ) funcs->destroy( (PSH_Globals)size->root.internal ); size->root.internal = 0; } } static FT_Error T1_Size_Init( T1_Size size ) { FT_Error error = 0; PSH_Globals_Funcs funcs = T1_Size_Get_Globals_Funcs( size ); if ( funcs ) { PSH_Globals globals; T1_Face face = (T1_Face)size->root.face; error = funcs->create( size->root.face->memory, &face->type1.private_dict, &globals ); if ( !error ) size->root.internal = (FT_Size_Internal)(void*)globals; } return error; } static FT_Error T1_Size_Reset( T1_Size size ) { PSH_Globals_Funcs funcs = T1_Size_Get_Globals_Funcs( size ); FT_Error error = 0; if ( funcs ) error = funcs->set_scale( (PSH_Globals)size->root.internal, size->root.metrics.x_scale, size->root.metrics.y_scale, 0, 0 ); return error; } # 134 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1objs.c" static void T1_GlyphSlot_Done( T1_GlyphSlot slot ) { slot->root.internal->glyph_hints = 0; } static FT_Error T1_GlyphSlot_Init( T1_GlyphSlot slot ) { T1_Face face; PSHinter_Service pshinter; face = (T1_Face)slot->root.face; pshinter = (PSHinter_Service)face->pshinter; if ( pshinter ) { FT_Module module; module = FT_Get_Module( slot->root.face->driver->root.library, "pshinter" ); if (module) { T1_Hints_Funcs funcs; funcs = pshinter->get_t1_funcs( module ); slot->root.internal->glyph_hints = (void*)funcs; } } return 0; } # 187 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1objs.c" static void T1_Face_Done( T1_Face face ) { FT_Memory memory; T1_Font type1 = &face->type1; if ( face ) { memory = face->root.memory; T1_Done_Blend( face ); face->blend = 0; { PS_FontInfo info = &type1->font_info; FT_Free( memory, (void**)&(info->version) ); FT_Free( memory, (void**)&(info->notice) ); FT_Free( memory, (void**)&(info->full_name) ); FT_Free( memory, (void**)&(info->family_name) ); FT_Free( memory, (void**)&(info->weight) ); } FT_Free( memory, (void**)&(type1->charstrings_len) ); FT_Free( memory, (void**)&(type1->charstrings) ); FT_Free( memory, (void**)&(type1->glyph_names) ); FT_Free( memory, (void**)&(type1->subrs) ); FT_Free( memory, (void**)&(type1->subrs_len) ); FT_Free( memory, (void**)&(type1->subrs_block) ); FT_Free( memory, (void**)&(type1->charstrings_block) ); FT_Free( memory, (void**)&(type1->glyph_names_block) ); FT_Free( memory, (void**)&(type1->encoding.char_index) ); FT_Free( memory, (void**)&(type1->encoding.char_name) ); FT_Free( memory, (void**)&(type1->font_name) ); FT_Free( memory, (void**)&(type1->paint_type) ); FT_Free( memory, (void**)&(type1->stroke_width) ); if ( face->afm_data ) T1_Done_AFM( memory, (T1_AFM*)face->afm_data ); FT_Free( memory, (void**)&(face->unicode_map.maps) ); face->unicode_map.num_maps = 0; face->root.family_name = 0; face->root.style_name = 0; } } # 274 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1objs.c" static FT_Error T1_Face_Init( FT_Stream stream, T1_Face face, FT_Int face_index, FT_Int num_params, FT_Parameter* params ) { FT_Error error; PSNames_Service psnames; PSAux_Service psaux; T1_Font type1 = &face->type1; PS_FontInfo info = &type1->font_info; ( (num_params) = (num_params) ); ( (params) = (params) ); ( (face_index) = (face_index) ); ( (stream) = (stream) ); face->root.num_faces = 1; face->psnames = FT_Get_Module_Interface( ((FT_Face)(face))->driver->root.library, "psnames" ); psnames = (PSNames_Service)face->psnames; face->psaux = FT_Get_Module_Interface( ((FT_Face)(face))->driver->root.library, "psaux" ); psaux = (PSAux_Service)face->psaux; face->pshinter = FT_Get_Module_Interface( ((FT_Face)(face))->driver->root.library, "pshinter" ); error = T1_Open_Face( face ); if ( error ) goto Exit; if ( face_index < 0 ) goto Exit; if ( face_index != 0 ) { do ; while ( 0 ); error = T1_Err_Invalid_Argument; goto Exit; } { FT_Face root = (FT_Face)&face->root; root->num_glyphs = type1->num_glyphs; root->face_index = face_index; root->face_flags = ( 1L << 0 ); root->face_flags |= ( 1L << 4 ); root->face_flags |= ( 1L << 9 ); if ( info->is_fixed_pitch ) root->face_flags |= ( 1L << 2 ); if ( face->blend ) root->face_flags |= ( 1L << 8 ); root->family_name = info->family_name; root->style_name = (char *)"Regular"; if ( root->family_name ) { char* full = info->full_name; char* family = root->family_name; if ( full ) { while ( *full ) { if ( *full == *family ) { family++; full++; } else { if ( *full == ' ' || *full == '-' ) full++; else if ( *family == ' ' || *family == '-' ) family++; else { if ( !*family ) root->style_name = full; break; } } } } } else { if ( type1->font_name ) root->family_name = type1->font_name; } root->style_flags = 0; if ( info->italic_angle ) root->style_flags |= ( 1 << 0 ); if ( info->weight ) { if ( !__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (info->weight) && __builtin_constant_p ("Bold") && (__s1_len = strlen (info->weight), __s2_len = strlen ("Bold"), (!((size_t)(const void *)((info->weight) + 1) - (size_t)(const void *)(info->weight) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("Bold") + 1) - (size_t)(const void *)("Bold") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (info->weight), (__const char *) ("Bold"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (info->weight) && ((size_t)(const void *)((info->weight) + 1) - (size_t)(const void *)(info->weight) == 1) && (__s1_len = strlen (info->weight), __s1_len < 4) ? (__builtin_constant_p ("Bold") && ((size_t)(const void *)(("Bold") + 1) - (size_t)(const void *)("Bold") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (info->weight))[0] - ((__const unsigned char *) (__const char *)("Bold"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (info->weight))[1] - ((__const unsigned char *) (__const char *) ("Bold"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (info->weight))[2] - ((__const unsigned char *) (__const char *) ("Bold"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (info->weight))[3] - ((__const unsigned char *) (__const char *) ("Bold"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("Bold"); register int __result = (((__const unsigned char *) (__const char *) (info->weight))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (info->weight))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (info->weight))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (info->weight))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("Bold") && ((size_t)(const void *)(("Bold") + 1) - (size_t)(const void *)("Bold") == 1) && (__s2_len = strlen ("Bold"), __s2_len < 4) ? (__builtin_constant_p (info->weight) && ((size_t)(const void *)((info->weight) + 1) - (size_t)(const void *)(info->weight) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (info->weight))[0] - ((__const unsigned char *) (__const char *)("Bold"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (info->weight))[1] - ((__const unsigned char *) (__const char *) ("Bold"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (info->weight))[2] - ((__const unsigned char *) (__const char *) ("Bold"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (info->weight))[3] - ((__const unsigned char *) (__const char *) ("Bold"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (info->weight); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("Bold"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("Bold"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("Bold"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("Bold"))[3]); } } __result; }))) : strcmp (info->weight, "Bold")))); }) || !__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (info->weight) && __builtin_constant_p ("Black") && (__s1_len = strlen (info->weight), __s2_len = strlen ("Black"), (!((size_t)(const void *)((info->weight) + 1) - (size_t)(const void *)(info->weight) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("Black") + 1) - (size_t)(const void *)("Black") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (info->weight), (__const char *) ("Black"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (info->weight) && ((size_t)(const void *)((info->weight) + 1) - (size_t)(const void *)(info->weight) == 1) && (__s1_len = strlen (info->weight), __s1_len < 4) ? (__builtin_constant_p ("Black") && ((size_t)(const void *)(("Black") + 1) - (size_t)(const void *)("Black") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (info->weight))[0] - ((__const unsigned char *) (__const char *)("Black"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (info->weight))[1] - ((__const unsigned char *) (__const char *) ("Black"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (info->weight))[2] - ((__const unsigned char *) (__const char *) ("Black"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (info->weight))[3] - ((__const unsigned char *) (__const char *) ("Black"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("Black"); register int __result = (((__const unsigned char *) (__const char *) (info->weight))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (info->weight))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (info->weight))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (info->weight))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("Black") && ((size_t)(const void *)(("Black") + 1) - (size_t)(const void *)("Black") == 1) && (__s2_len = strlen ("Black"), __s2_len < 4) ? (__builtin_constant_p (info->weight) && ((size_t)(const void *)((info->weight) + 1) - (size_t)(const void *)(info->weight) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (info->weight))[0] - ((__const unsigned char *) (__const char *)("Black"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (info->weight))[1] - ((__const unsigned char *) (__const char *) ("Black"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (info->weight))[2] - ((__const unsigned char *) (__const char *) ("Black"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (info->weight))[3] - ((__const unsigned char *) (__const char *) ("Black"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (info->weight); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("Black"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("Black"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("Black"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("Black"))[3]); } } __result; }))) : strcmp (info->weight, "Black")))); }) ) root->style_flags |= ( 1 << 1 ); } root->num_fixed_sizes = 0; root->available_sizes = 0; root->bbox.xMin = type1->font_bbox.xMin >> 16; root->bbox.yMin = type1->font_bbox.yMin >> 16; root->bbox.xMax = ( type1->font_bbox.xMax + 0xFFFFU ) >> 16; root->bbox.yMax = ( type1->font_bbox.yMax + 0xFFFFU ) >> 16; if ( !root->units_per_EM ) root->units_per_EM = 1000; root->ascender = (FT_Short)( root->bbox.yMax ); root->descender = (FT_Short)( root->bbox.yMin ); root->height = (FT_Short)( ( ( root->ascender - root->descender ) * 12 ) / 10 ); root->max_advance_width = (FT_Short)( root->bbox.xMax ); { FT_Pos max_advance; error = T1_Compute_Max_Advance( face, &max_advance ); if ( !error ) root->max_advance_width = (FT_Short)max_advance; else error = 0; } root->max_advance_height = root->height; root->underline_position = info->underline_position >> 16; root->underline_thickness = info->underline_thickness >> 16; root->internal->max_points = 0; root->internal->max_contours = 0; } { FT_Face root = &face->root; if ( psnames && psaux ) { FT_CharMapRec charmap; T1_CMap_Classes cmap_classes = psaux->t1_cmap_classes; FT_CMap_Class clazz; charmap.face = root; charmap.platform_id = 3; charmap.encoding_id = 1; charmap.encoding = FT_ENCODING_UNICODE; FT_CMap_New( cmap_classes->unicode, ((void *)0), &charmap, ((void *)0) ); charmap.platform_id = 7; clazz = ((void *)0); switch ( type1->encoding_type ) { case T1_ENCODING_TYPE_STANDARD: charmap.encoding = FT_ENCODING_ADOBE_STANDARD; charmap.encoding_id = 0; clazz = cmap_classes->standard; break; case T1_ENCODING_TYPE_EXPERT: charmap.encoding = FT_ENCODING_ADOBE_EXPERT; charmap.encoding_id = 1; clazz = cmap_classes->expert; break; case T1_ENCODING_TYPE_ARRAY: charmap.encoding = FT_ENCODING_ADOBE_CUSTOM; charmap.encoding_id = 2; clazz = cmap_classes->custom; break; case T1_ENCODING_TYPE_ISOLATIN1: charmap.encoding = FT_ENCODING_ADOBE_LATIN_1; charmap.encoding_id = 3; clazz = cmap_classes->unicode; break; default: ; } if ( clazz ) FT_CMap_New( clazz, ((void *)0), &charmap, ((void *)0) ); } } Exit: return error; } # 528 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1objs.c" static FT_Error T1_Driver_Init( T1_Driver driver ) { ( (driver) = (driver) ); return T1_Err_Ok; } # 548 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1objs.c" static void T1_Driver_Done( T1_Driver driver ) { ( (driver) = (driver) ); } # 25 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/type1.c" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1driver.c" 1 # 20 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1driver.c" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1driver.h" 1 # 27 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1driver.h" extern const FT_Driver_ClassRec t1_driver_class; # 21 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1driver.c" 2 # 45 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1driver.c" static FT_Error t1_get_glyph_name( T1_Face face, FT_UInt glyph_index, FT_Pointer buffer, FT_UInt buffer_max ) { FT_String* gname; gname = face->type1.glyph_names[glyph_index]; if ( buffer_max > 0 ) { FT_UInt len = (FT_UInt)( strlen( gname ) ); if (len >= buffer_max) len = buffer_max - 1; memcpy( buffer, gname, len ); ((FT_Byte*)buffer)[len] = 0; } return T1_Err_Ok; } # 89 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1driver.c" static FT_UInt t1_get_name_index( T1_Face face, FT_String* glyph_name ) { FT_Int i; FT_String* gname; for ( i = 0; i < face->type1.num_glyphs; i++ ) { gname = face->type1.glyph_names[i]; if ( !__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (glyph_name) && __builtin_constant_p (gname) && (__s1_len = strlen (glyph_name), __s2_len = strlen (gname), (!((size_t)(const void *)((glyph_name) + 1) - (size_t)(const void *)(glyph_name) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((gname) + 1) - (size_t)(const void *)(gname) == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (glyph_name), (__const char *) (gname), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (glyph_name) && ((size_t)(const void *)((glyph_name) + 1) - (size_t)(const void *)(glyph_name) == 1) && (__s1_len = strlen (glyph_name), __s1_len < 4) ? (__builtin_constant_p (gname) && ((size_t)(const void *)((gname) + 1) - (size_t)(const void *)(gname) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (glyph_name))[0] - ((__const unsigned char *) (__const char *)(gname))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (glyph_name))[1] - ((__const unsigned char *) (__const char *) (gname))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (glyph_name))[2] - ((__const unsigned char *) (__const char *) (gname))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (glyph_name))[3] - ((__const unsigned char *) (__const char *) (gname))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (gname); register int __result = (((__const unsigned char *) (__const char *) (glyph_name))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (glyph_name))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (glyph_name))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (glyph_name))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (gname) && ((size_t)(const void *)((gname) + 1) - (size_t)(const void *)(gname) == 1) && (__s2_len = strlen (gname), __s2_len < 4) ? (__builtin_constant_p (glyph_name) && ((size_t)(const void *)((glyph_name) + 1) - (size_t)(const void *)(glyph_name) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (glyph_name))[0] - ((__const unsigned char *) (__const char *)(gname))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (glyph_name))[1] - ((__const unsigned char *) (__const char *) (gname))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (glyph_name))[2] - ((__const unsigned char *) (__const char *) (gname))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (glyph_name))[3] - ((__const unsigned char *) (__const char *) (gname))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (glyph_name); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (gname))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (gname))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (gname))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (gname))[3]); } } __result; }))) : strcmp (glyph_name, gname)))); }) ) return (FT_UInt)i; } return 0; } static const char* t1_get_ps_name( T1_Face face ) { return (const char*) face->type1.font_name; } # 143 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1driver.c" static FT_Module_Interface Get_Interface( FT_Driver driver, const FT_String* t1_interface ) { ( (driver) = (driver) ); ( (t1_interface) = (t1_interface) ); if ( __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((const char*)t1_interface) && __builtin_constant_p ("glyph_name") && (__s1_len = strlen ((const char*)t1_interface), __s2_len = strlen ("glyph_name"), (!((size_t)(const void *)(((const char*)t1_interface) + 1) - (size_t)(const void *)((const char*)t1_interface) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("glyph_name") + 1) - (size_t)(const void *)("glyph_name") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((const char*)t1_interface), (__const char *) ("glyph_name"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((const char*)t1_interface) && ((size_t)(const void *)(((const char*)t1_interface) + 1) - (size_t)(const void *)((const char*)t1_interface) == 1) && (__s1_len = strlen ((const char*)t1_interface), __s1_len < 4) ? (__builtin_constant_p ("glyph_name") && ((size_t)(const void *)(("glyph_name") + 1) - (size_t)(const void *)("glyph_name") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[0] - ((__const unsigned char *) (__const char *)("glyph_name"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[1] - ((__const unsigned char *) (__const char *) ("glyph_name"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[2] - ((__const unsigned char *) (__const char *) ("glyph_name"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[3] - ((__const unsigned char *) (__const char *) ("glyph_name"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("glyph_name"); register int __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("glyph_name") && ((size_t)(const void *)(("glyph_name") + 1) - (size_t)(const void *)("glyph_name") == 1) && (__s2_len = strlen ("glyph_name"), __s2_len < 4) ? (__builtin_constant_p ((const char*)t1_interface) && ((size_t)(const void *)(((const char*)t1_interface) + 1) - (size_t)(const void *)((const char*)t1_interface) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[0] - ((__const unsigned char *) (__const char *)("glyph_name"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[1] - ((__const unsigned char *) (__const char *) ("glyph_name"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[2] - ((__const unsigned char *) (__const char *) ("glyph_name"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[3] - ((__const unsigned char *) (__const char *) ("glyph_name"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((const char*)t1_interface); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("glyph_name"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("glyph_name"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("glyph_name"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("glyph_name"))[3]); } } __result; }))) : strcmp ((const char*)t1_interface, "glyph_name")))); }) == 0 ) return (FT_Module_Interface)t1_get_glyph_name; if ( __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((const char*)t1_interface) && __builtin_constant_p ("name_index") && (__s1_len = strlen ((const char*)t1_interface), __s2_len = strlen ("name_index"), (!((size_t)(const void *)(((const char*)t1_interface) + 1) - (size_t)(const void *)((const char*)t1_interface) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("name_index") + 1) - (size_t)(const void *)("name_index") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((const char*)t1_interface), (__const char *) ("name_index"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((const char*)t1_interface) && ((size_t)(const void *)(((const char*)t1_interface) + 1) - (size_t)(const void *)((const char*)t1_interface) == 1) && (__s1_len = strlen ((const char*)t1_interface), __s1_len < 4) ? (__builtin_constant_p ("name_index") && ((size_t)(const void *)(("name_index") + 1) - (size_t)(const void *)("name_index") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[0] - ((__const unsigned char *) (__const char *)("name_index"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[1] - ((__const unsigned char *) (__const char *) ("name_index"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[2] - ((__const unsigned char *) (__const char *) ("name_index"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[3] - ((__const unsigned char *) (__const char *) ("name_index"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("name_index"); register int __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("name_index") && ((size_t)(const void *)(("name_index") + 1) - (size_t)(const void *)("name_index") == 1) && (__s2_len = strlen ("name_index"), __s2_len < 4) ? (__builtin_constant_p ((const char*)t1_interface) && ((size_t)(const void *)(((const char*)t1_interface) + 1) - (size_t)(const void *)((const char*)t1_interface) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[0] - ((__const unsigned char *) (__const char *)("name_index"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[1] - ((__const unsigned char *) (__const char *) ("name_index"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[2] - ((__const unsigned char *) (__const char *) ("name_index"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[3] - ((__const unsigned char *) (__const char *) ("name_index"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((const char*)t1_interface); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("name_index"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("name_index"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("name_index"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("name_index"))[3]); } } __result; }))) : strcmp ((const char*)t1_interface, "name_index")))); }) == 0 ) return (FT_Module_Interface)t1_get_name_index; if ( __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((const char*)t1_interface) && __builtin_constant_p ("postscript_name") && (__s1_len = strlen ((const char*)t1_interface), __s2_len = strlen ("postscript_name"), (!((size_t)(const void *)(((const char*)t1_interface) + 1) - (size_t)(const void *)((const char*)t1_interface) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("postscript_name") + 1) - (size_t)(const void *)("postscript_name") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((const char*)t1_interface), (__const char *) ("postscript_name"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((const char*)t1_interface) && ((size_t)(const void *)(((const char*)t1_interface) + 1) - (size_t)(const void *)((const char*)t1_interface) == 1) && (__s1_len = strlen ((const char*)t1_interface), __s1_len < 4) ? (__builtin_constant_p ("postscript_name") && ((size_t)(const void *)(("postscript_name") + 1) - (size_t)(const void *)("postscript_name") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[0] - ((__const unsigned char *) (__const char *)("postscript_name"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[1] - ((__const unsigned char *) (__const char *) ("postscript_name"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[2] - ((__const unsigned char *) (__const char *) ("postscript_name"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[3] - ((__const unsigned char *) (__const char *) ("postscript_name"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("postscript_name"); register int __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("postscript_name") && ((size_t)(const void *)(("postscript_name") + 1) - (size_t)(const void *)("postscript_name") == 1) && (__s2_len = strlen ("postscript_name"), __s2_len < 4) ? (__builtin_constant_p ((const char*)t1_interface) && ((size_t)(const void *)(((const char*)t1_interface) + 1) - (size_t)(const void *)((const char*)t1_interface) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[0] - ((__const unsigned char *) (__const char *)("postscript_name"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[1] - ((__const unsigned char *) (__const char *) ("postscript_name"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[2] - ((__const unsigned char *) (__const char *) ("postscript_name"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[3] - ((__const unsigned char *) (__const char *) ("postscript_name"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((const char*)t1_interface); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("postscript_name"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("postscript_name"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("postscript_name"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("postscript_name"))[3]); } } __result; }))) : strcmp ((const char*)t1_interface, "postscript_name")))); }) == 0 ) return (FT_Module_Interface)t1_get_ps_name; if ( __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((const char*)t1_interface) && __builtin_constant_p ("get_mm") && (__s1_len = strlen ((const char*)t1_interface), __s2_len = strlen ("get_mm"), (!((size_t)(const void *)(((const char*)t1_interface) + 1) - (size_t)(const void *)((const char*)t1_interface) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("get_mm") + 1) - (size_t)(const void *)("get_mm") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((const char*)t1_interface), (__const char *) ("get_mm"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((const char*)t1_interface) && ((size_t)(const void *)(((const char*)t1_interface) + 1) - (size_t)(const void *)((const char*)t1_interface) == 1) && (__s1_len = strlen ((const char*)t1_interface), __s1_len < 4) ? (__builtin_constant_p ("get_mm") && ((size_t)(const void *)(("get_mm") + 1) - (size_t)(const void *)("get_mm") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[0] - ((__const unsigned char *) (__const char *)("get_mm"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[1] - ((__const unsigned char *) (__const char *) ("get_mm"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[2] - ((__const unsigned char *) (__const char *) ("get_mm"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[3] - ((__const unsigned char *) (__const char *) ("get_mm"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("get_mm"); register int __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("get_mm") && ((size_t)(const void *)(("get_mm") + 1) - (size_t)(const void *)("get_mm") == 1) && (__s2_len = strlen ("get_mm"), __s2_len < 4) ? (__builtin_constant_p ((const char*)t1_interface) && ((size_t)(const void *)(((const char*)t1_interface) + 1) - (size_t)(const void *)((const char*)t1_interface) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[0] - ((__const unsigned char *) (__const char *)("get_mm"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[1] - ((__const unsigned char *) (__const char *) ("get_mm"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[2] - ((__const unsigned char *) (__const char *) ("get_mm"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[3] - ((__const unsigned char *) (__const char *) ("get_mm"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((const char*)t1_interface); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("get_mm"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("get_mm"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("get_mm"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("get_mm"))[3]); } } __result; }))) : strcmp ((const char*)t1_interface, "get_mm")))); }) == 0 ) return (FT_Module_Interface)T1_Get_Multi_Master; if ( __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((const char*)t1_interface) && __builtin_constant_p ("set_mm_design") && (__s1_len = strlen ((const char*)t1_interface), __s2_len = strlen ("set_mm_design"), (!((size_t)(const void *)(((const char*)t1_interface) + 1) - (size_t)(const void *)((const char*)t1_interface) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("set_mm_design") + 1) - (size_t)(const void *)("set_mm_design") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((const char*)t1_interface), (__const char *) ("set_mm_design"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((const char*)t1_interface) && ((size_t)(const void *)(((const char*)t1_interface) + 1) - (size_t)(const void *)((const char*)t1_interface) == 1) && (__s1_len = strlen ((const char*)t1_interface), __s1_len < 4) ? (__builtin_constant_p ("set_mm_design") && ((size_t)(const void *)(("set_mm_design") + 1) - (size_t)(const void *)("set_mm_design") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[0] - ((__const unsigned char *) (__const char *)("set_mm_design"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[1] - ((__const unsigned char *) (__const char *) ("set_mm_design"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[2] - ((__const unsigned char *) (__const char *) ("set_mm_design"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[3] - ((__const unsigned char *) (__const char *) ("set_mm_design"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("set_mm_design"); register int __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("set_mm_design") && ((size_t)(const void *)(("set_mm_design") + 1) - (size_t)(const void *)("set_mm_design") == 1) && (__s2_len = strlen ("set_mm_design"), __s2_len < 4) ? (__builtin_constant_p ((const char*)t1_interface) && ((size_t)(const void *)(((const char*)t1_interface) + 1) - (size_t)(const void *)((const char*)t1_interface) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[0] - ((__const unsigned char *) (__const char *)("set_mm_design"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[1] - ((__const unsigned char *) (__const char *) ("set_mm_design"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[2] - ((__const unsigned char *) (__const char *) ("set_mm_design"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[3] - ((__const unsigned char *) (__const char *) ("set_mm_design"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((const char*)t1_interface); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("set_mm_design"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("set_mm_design"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("set_mm_design"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("set_mm_design"))[3]); } } __result; }))) : strcmp ((const char*)t1_interface, "set_mm_design")))); }) == 0 ) return (FT_Module_Interface)T1_Set_MM_Design; if ( __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ((const char*)t1_interface) && __builtin_constant_p ("set_mm_blend") && (__s1_len = strlen ((const char*)t1_interface), __s2_len = strlen ("set_mm_blend"), (!((size_t)(const void *)(((const char*)t1_interface) + 1) - (size_t)(const void *)((const char*)t1_interface) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("set_mm_blend") + 1) - (size_t)(const void *)("set_mm_blend") == 1) || __s2_len >= 4)) ? memcmp ((__const char *) ((const char*)t1_interface), (__const char *) ("set_mm_blend"), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p ((const char*)t1_interface) && ((size_t)(const void *)(((const char*)t1_interface) + 1) - (size_t)(const void *)((const char*)t1_interface) == 1) && (__s1_len = strlen ((const char*)t1_interface), __s1_len < 4) ? (__builtin_constant_p ("set_mm_blend") && ((size_t)(const void *)(("set_mm_blend") + 1) - (size_t)(const void *)("set_mm_blend") == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[0] - ((__const unsigned char *) (__const char *)("set_mm_blend"))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[1] - ((__const unsigned char *) (__const char *) ("set_mm_blend"))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[2] - ((__const unsigned char *) (__const char *) ("set_mm_blend"))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[3] - ((__const unsigned char *) (__const char *) ("set_mm_blend"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) ("set_mm_blend"); register int __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("set_mm_blend") && ((size_t)(const void *)(("set_mm_blend") + 1) - (size_t)(const void *)("set_mm_blend") == 1) && (__s2_len = strlen ("set_mm_blend"), __s2_len < 4) ? (__builtin_constant_p ((const char*)t1_interface) && ((size_t)(const void *)(((const char*)t1_interface) + 1) - (size_t)(const void *)((const char*)t1_interface) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[0] - ((__const unsigned char *) (__const char *)("set_mm_blend"))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[1] - ((__const unsigned char *) (__const char *) ("set_mm_blend"))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[2] - ((__const unsigned char *) (__const char *) ("set_mm_blend"))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) ((const char*)t1_interface))[3] - ((__const unsigned char *) (__const char *) ("set_mm_blend"))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) ((const char*)t1_interface); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) ("set_mm_blend"))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) ("set_mm_blend"))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) ("set_mm_blend"))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) ("set_mm_blend"))[3]); } } __result; }))) : strcmp ((const char*)t1_interface, "set_mm_blend")))); }) == 0 ) return (FT_Module_Interface)T1_Set_MM_Blend; return 0; } # 207 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1driver.c" static FT_Error Get_Kerning( T1_Face face, FT_UInt left_glyph, FT_UInt right_glyph, FT_Vector* kerning ) { T1_AFM* afm; kerning->x = 0; kerning->y = 0; afm = (T1_AFM*)face->afm_data; if ( afm ) T1_Get_Kerning( afm, left_glyph, right_glyph, kerning ); return T1_Err_Ok; } const FT_Driver_ClassRec t1_driver_class = { { 1 | 0x100 | 0x400, sizeof( FT_DriverRec ), "type1", 0x10000L, 0x20000L, 0, (FT_Module_Constructor)T1_Driver_Init, (FT_Module_Destructor) T1_Driver_Done, (FT_Module_Requester) Get_Interface, }, sizeof( T1_FaceRec ), sizeof( T1_SizeRec ), sizeof( T1_GlyphSlotRec ), (FT_Face_InitFunc) T1_Face_Init, (FT_Face_DoneFunc) T1_Face_Done, (FT_Size_InitFunc) T1_Size_Init, (FT_Size_DoneFunc) T1_Size_Done, (FT_Slot_InitFunc) T1_GlyphSlot_Init, (FT_Slot_DoneFunc) T1_GlyphSlot_Done, (FT_Size_ResetPointsFunc) T1_Size_Reset, (FT_Size_ResetPixelsFunc) T1_Size_Reset, (FT_Slot_LoadFunc) T1_Load_Glyph, (FT_Face_GetKerningFunc) Get_Kerning, (FT_Face_AttachFunc) T1_Read_AFM, (FT_Face_GetAdvancesFunc) 0 }; # 26 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/type1.c" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1gload.c" 1 # 23 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1gload.c" # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftoutln.h" 1 # 28 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftoutln.h" # 101 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftoutln.h" extern FT_Error FT_Outline_Decompose( FT_Outline* outline, const FT_Outline_Funcs* func_interface, void* user ); # 136 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftoutln.h" extern FT_Error FT_Outline_New( FT_Library library, FT_UInt numPoints, FT_Int numContours, FT_Outline *anoutline ); extern FT_Error FT_Outline_New_Internal( FT_Memory memory, FT_UInt numPoints, FT_Int numContours, FT_Outline *anoutline ); # 174 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftoutln.h" extern FT_Error FT_Outline_Done( FT_Library library, FT_Outline* outline ); extern FT_Error FT_Outline_Done_Internal( FT_Memory memory, FT_Outline* outline ); # 198 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftoutln.h" extern FT_Error FT_Outline_Check( FT_Outline* outline ); # 225 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftoutln.h" extern void FT_Outline_Get_CBox( FT_Outline* outline, FT_BBox *acbox ); # 246 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftoutln.h" extern void FT_Outline_Translate( FT_Outline* outline, FT_Pos xOffset, FT_Pos yOffset ); # 271 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftoutln.h" extern FT_Error FT_Outline_Copy( FT_Outline* source, FT_Outline *target ); # 295 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftoutln.h" extern void FT_Outline_Transform( FT_Outline* outline, FT_Matrix* matrix ); # 319 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftoutln.h" extern void FT_Outline_Reverse( FT_Outline* outline ); # 349 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftoutln.h" extern FT_Error FT_Outline_Get_Bitmap( FT_Library library, FT_Outline* outline, FT_Bitmap *abitmap ); # 386 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/include/freetype/ftoutln.h" extern FT_Error FT_Outline_Render( FT_Library library, FT_Outline* outline, FT_Raster_Params* params ); # 24 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1gload.c" 2 # 56 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1gload.c" static FT_Error T1_Parse_Glyph_And_Get_Char_String( T1_Decoder decoder, FT_UInt glyph_index, FT_Data* char_string ) { T1_Face face = (T1_Face)decoder->builder.face; T1_Font type1 = &face->type1; FT_Error error = 0; decoder->font_matrix = type1->font_matrix; decoder->font_offset = type1->font_offset; # 82 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1gload.c" { char_string->pointer = type1->charstrings[glyph_index]; char_string->length = type1->charstrings_len[glyph_index]; } if ( !error ) error = decoder->funcs.parse_charstrings( decoder, (FT_Byte*)char_string->pointer, char_string->length ); # 114 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1gload.c" return error; } static FT_Error T1_Parse_Glyph( T1_Decoder decoder, FT_UInt glyph_index ) { FT_Data glyph_data; FT_Error error = T1_Parse_Glyph_And_Get_Char_String( decoder, glyph_index, &glyph_data ); # 140 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1gload.c" return error; } static FT_Error T1_Compute_Max_Advance( T1_Face face, FT_Pos* max_advance ) { FT_Error error; T1_DecoderRec decoder; FT_Int glyph_index; T1_Font type1 = &face->type1; PSAux_Service psaux = (PSAux_Service)face->psaux; *max_advance = 0; error = psaux->t1_decoder_funcs->init( &decoder, (FT_Face)face, 0, 0, (FT_Byte**)type1->glyph_names, face->blend, 0, FT_RENDER_MODE_NORMAL, T1_Parse_Glyph ); if ( error ) return error; decoder.builder.metrics_only = 1; decoder.builder.load_points = 0; decoder.num_subrs = type1->num_subrs; decoder.subrs = type1->subrs; decoder.subrs_len = type1->subrs_len; *max_advance = 0; for ( glyph_index = 0; glyph_index < type1->num_glyphs; glyph_index++ ) { error = T1_Parse_Glyph( &decoder, glyph_index ); if ( glyph_index == 0 || decoder.builder.advance.x > *max_advance ) *max_advance = decoder.builder.advance.x; } return T1_Err_Ok; } # 212 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1gload.c" static FT_Error T1_Load_Glyph( T1_GlyphSlot glyph, T1_Size size, FT_UInt glyph_index, FT_Int32 load_flags ) { FT_Error error; T1_DecoderRec decoder; T1_Face face = (T1_Face)glyph->root.face; FT_Bool hinting; T1_Font type1 = &face->type1; PSAux_Service psaux = (PSAux_Service)face->psaux; const T1_Decoder_Funcs decoder_funcs = psaux->t1_decoder_funcs; FT_Matrix font_matrix; FT_Vector font_offset; FT_Data glyph_data; if ( load_flags & 0x400 ) load_flags |= 0x1 | 0x2; glyph->x_scale = size->root.metrics.x_scale; glyph->y_scale = size->root.metrics.y_scale; glyph->root.outline.n_points = 0; glyph->root.outline.n_contours = 0; hinting = ( (FT_Bool)( ( load_flags & 0x1 ) == 0 && ( load_flags & 0x2 ) == 0 ) ); glyph->root.format = FT_GLYPH_FORMAT_OUTLINE; error = decoder_funcs->init( &decoder, (FT_Face)face, (FT_Size)size, (FT_GlyphSlot)glyph, (FT_Byte**)type1->glyph_names, face->blend, ( (FT_Bool)( hinting ) ), ( (FT_Render_Mode)( ( (load_flags) >> 16 ) & 15 ) ), T1_Parse_Glyph ); if ( error ) goto Exit; decoder.builder.no_recurse = ( (FT_Bool)( ( load_flags & 0x400 ) != 0 ) ); decoder.num_subrs = type1->num_subrs; decoder.subrs = type1->subrs; decoder.subrs_len = type1->subrs_len; error = T1_Parse_Glyph_And_Get_Char_String( &decoder, glyph_index, &glyph_data ); if ( error ) goto Exit; font_matrix = decoder.font_matrix; font_offset = decoder.font_offset; decoder_funcs->done( &decoder ); if ( !error ) { glyph->root.outline.flags &= 0x1; glyph->root.outline.flags |= 0x4; if ( load_flags & 0x400 ) { FT_Slot_Internal internal = glyph->root.internal; glyph->root.metrics.horiBearingX = decoder.builder.left_bearing.x; glyph->root.metrics.horiAdvance = decoder.builder.advance.x; internal->glyph_matrix = font_matrix; internal->glyph_delta = font_offset; internal->glyph_transformed = 1; } else { FT_BBox cbox; FT_Glyph_Metrics* metrics = &glyph->root.metrics; FT_Vector advance; metrics->horiAdvance = decoder.builder.advance.x; glyph->root.linearHoriAdvance = decoder.builder.advance.x; glyph->root.internal->glyph_transformed = 0; metrics->vertBearingX = 0; metrics->vertBearingY = 0; metrics->vertAdvance = 0; glyph->root.linearVertAdvance = 0; glyph->root.format = FT_GLYPH_FORMAT_OUTLINE; if ( size && size->root.metrics.y_ppem < 24 ) glyph->root.outline.flags |= 0x100; FT_Outline_Transform( &glyph->root.outline, &font_matrix ); FT_Outline_Translate( &glyph->root.outline, font_offset.x, font_offset.y ); advance.x = metrics->horiAdvance; advance.y = 0; FT_Vector_Transform( &advance, &font_matrix ); metrics->horiAdvance = advance.x + font_offset.x; advance.x = 0; advance.y = metrics->vertAdvance; FT_Vector_Transform( &advance, &font_matrix ); metrics->vertAdvance = advance.y + font_offset.y; if ( ( load_flags & 0x1 ) == 0 ) { FT_Int n; FT_Outline* cur = decoder.builder.base; FT_Vector* vec = cur->points; FT_Fixed x_scale = glyph->x_scale; FT_Fixed y_scale = glyph->y_scale; if ( !hinting ) for ( n = cur->n_points; n > 0; n--, vec++ ) { vec->x = FT_MulFix( vec->x, x_scale ); vec->y = FT_MulFix( vec->y, y_scale ); } FT_Outline_Get_CBox( &glyph->root.outline, &cbox ); metrics->horiAdvance = FT_MulFix( metrics->horiAdvance, x_scale ); metrics->vertAdvance = FT_MulFix( metrics->vertAdvance, y_scale ); metrics->vertBearingX = FT_MulFix( metrics->vertBearingX, x_scale ); metrics->vertBearingY = FT_MulFix( metrics->vertBearingY, y_scale ); if ( hinting ) { metrics->horiAdvance = ( metrics->horiAdvance + 32 ) & -64; metrics->vertAdvance = ( metrics->vertAdvance + 32 ) & -64; metrics->vertBearingX = ( metrics->vertBearingX + 32 ) & -64; metrics->vertBearingY = ( metrics->vertBearingY + 32 ) & -64; } } FT_Outline_Get_CBox( &glyph->root.outline, &cbox ); if ( hinting ) { cbox.xMin &= -64; cbox.yMin &= -64; cbox.xMax = ( cbox.xMax+63 ) & -64; cbox.yMax = ( cbox.yMax+63 ) & -64; } metrics->width = cbox.xMax - cbox.xMin; metrics->height = cbox.yMax - cbox.yMin; metrics->horiBearingX = cbox.xMin; metrics->horiBearingY = cbox.yMax; } glyph->root.control_data = (FT_Byte*)glyph_data.pointer; glyph->root.control_len = glyph_data.length; } Exit: # 424 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1gload.c" return error; } # 27 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/type1.c" 2 # 1 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1afm.c" 1 # 35 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1afm.c" static void T1_Done_AFM( FT_Memory memory, T1_AFM* afm ) { FT_Free( memory, (void**)&(afm->kern_pairs) ); afm->num_pairs = 0; FT_Free( memory, (void**)&(afm) ); } # 54 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/t1afm.c" static FT_UInt afm_atoindex( FT_Byte** start, FT_Byte* limit, T1_Font type1 ) { FT_Byte* p = *start; FT_PtrDist len; FT_UInt result = 0; char temp[64]; while ( ( *p == ' ' || *p == '\t' || *p == ':' || *p == ';' ) && p < limit ) p++; *start = p; while ( ( ((*__ctype_b_loc ())[(int) ((*p))] & (unsigned short int) _ISalnum) || *p == '_' || *p == '.' ) && p < limit ) p++; len = p - *start; if ( len > 0 && len < 64 ) { FT_Int n; memcpy( temp, *start, len ); temp[len] = 0; for ( n = 0; n < type1->num_glyphs; n++ ) { char* gname = (char*)type1->glyph_names[n]; if ( gname && gname[0] == temp[0] && __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (gname) && __builtin_constant_p (temp) && (__s1_len = strlen (gname), __s2_len = strlen (temp), (!((size_t)(const void *)((gname) + 1) - (size_t)(const void *)(gname) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((temp) + 1) - (size_t)(const void *)(temp) == 1) || __s2_len >= 4)) ? memcmp ((__const char *) (gname), (__const char *) (temp), (__s1_len < __s2_len ? __s1_len : __s2_len) + 1) : (__builtin_constant_p (gname) && ((size_t)(const void *)((gname) + 1) - (size_t)(const void *)(gname) == 1) && (__s1_len = strlen (gname), __s1_len < 4) ? (__builtin_constant_p (temp) && ((size_t)(const void *)((temp) + 1) - (size_t)(const void *)(temp) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (gname))[0] - ((__const unsigned char *) (__const char *)(temp))[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (gname))[1] - ((__const unsigned char *) (__const char *) (temp))[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (gname))[2] - ((__const unsigned char *) (__const char *) (temp))[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (gname))[3] - ((__const unsigned char *) (__const char *) (temp))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s2 = (__const unsigned char *) (__const char *) (temp); register int __result = (((__const unsigned char *) (__const char *) (gname))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (gname))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (gname))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (gname))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (temp) && ((size_t)(const void *)((temp) + 1) - (size_t)(const void *)(temp) == 1) && (__s2_len = strlen (temp), __s2_len < 4) ? (__builtin_constant_p (gname) && ((size_t)(const void *)((gname) + 1) - (size_t)(const void *)(gname) == 1) ? (__extension__ ({ register int __result = (((__const unsigned char *) (__const char *) (gname))[0] - ((__const unsigned char *) (__const char *)(temp))[0]); if (__s2_len > 0 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (gname))[1] - ((__const unsigned char *) (__const char *) (temp))[1]); if (__s2_len > 1 && __result == 0) { __result = (((__const unsigned char *) (__const char *) (gname))[2] - ((__const unsigned char *) (__const char *) (temp))[2]); if (__s2_len > 2 && __result == 0) __result = (((__const unsigned char *) (__const char *) (gname))[3] - ((__const unsigned char *) (__const char *) (temp))[3]); } } __result; })) : (__extension__ ({ __const unsigned char *__s1 = (__const unsigned char *) (__const char *) (gname); register int __result = __s1[0] - ((__const unsigned char *) (__const char *) (temp))[0]; if (__s2_len > 0 && __result == 0) { __result = (__s1[1] - ((__const unsigned char *) (__const char *) (temp))[1]); if (__s2_len > 1 && __result == 0) { __result = (__s1[2] - ((__const unsigned char *) (__const char *) (temp))[2]); if (__s2_len > 2 && __result == 0) __result = (__s1[3] - ((__const unsigned char *) (__const char *) (temp))[3]); } } __result; }))) : strcmp (gname, temp)))); }) == 0 ) { result = n; break; } } } *start = p; return result; } static int afm_atoi( FT_Byte** start, FT_Byte* limit ) { FT_Byte* p = *start; int sum = 0; int sign = 1; while ( p < limit && !((*__ctype_b_loc ())[(int) ((*p))] & (unsigned short int) _ISdigit) ) { sign = 1; if ( *p == '-' ) sign = -1; p++; } while ( p < limit && ((*__ctype_b_loc ())[(int) ((*p))] & (unsigned short int) _ISdigit) ) { sum = sum * 10 + ( *p - '0' ); p++; } *start = p; return sum * sign; } static int compare_kern_pairs( const void* a, const void* b ) { T1_Kern_Pair* pair1 = (T1_Kern_Pair*)a; T1_Kern_Pair* pair2 = (T1_Kern_Pair*)b; FT_ULong index1 = ( ( (FT_ULong)pair1->glyph1 << 16 ) | pair1->glyph2 ); FT_ULong index2 = ( ( (FT_ULong)pair2->glyph1 << 16 ) | pair2->glyph2 ); return (int)( index1 - index2 ); } static FT_Error T1_Read_AFM( FT_Face t1_face, FT_Stream stream ) { FT_Error error; FT_Memory memory = stream->memory; FT_Byte* start; FT_Byte* limit; FT_Byte* p; FT_Int count = 0; T1_Kern_Pair* pair; T1_Font type1 = &((T1_Face)t1_face)->type1; T1_AFM* afm = 0; if ( ( ( error = (FT_Stream_EnterFrame( stream, stream->size )) ) != 0 ) ) return error; start = (FT_Byte*)stream->cursor; limit = (FT_Byte*)stream->limit; p = start; count = 0; for ( p = start; p < limit - 3; p++ ) { if ( ( p[0] == 'K' && p[1] == 'P' ) ) count++; } if ( count == 0 ) goto Exit; if ( ( ( error = (FT_Alloc( memory, sizeof ( *(afm) ), (void**)&(afm) )) ) != 0 ) || ( ( error = (FT_Alloc( memory, (count) * sizeof ( *(afm->kern_pairs) ), (void**)&(afm->kern_pairs) )) ) != 0 ) ) goto Exit; pair = afm->kern_pairs; afm->num_pairs = count; ((T1_Face)t1_face)->afm_data = afm; t1_face->face_flags |= ( 1L << 6 ); for ( p = start; p < limit - 3; p++ ) { if ( ( p[0] == 'K' && p[1] == 'P' ) ) { FT_Byte* q; q = p + 2; if ( *q == 'X' ) q++; pair->glyph1 = afm_atoindex( &q, limit, type1 ); pair->glyph2 = afm_atoindex( &q, limit, type1 ); pair->kerning.x = afm_atoi( &q, limit ); pair->kerning.y = 0; if ( p[2] != 'X' ) pair->kerning.y = afm_atoi( &q, limit ); pair++; } } qsort( afm->kern_pairs, count, sizeof ( T1_Kern_Pair ), compare_kern_pairs ); Exit: if ( error ) FT_Free( memory, (void**)&(afm) ); FT_Stream_ExitFrame( stream ); return error; } static void T1_Get_Kerning( T1_AFM* afm, FT_UInt glyph1, FT_UInt glyph2, FT_Vector* kerning ) { T1_Kern_Pair *min, *mid, *max; FT_ULong idx = ( ( (FT_ULong)glyph1 << 16 ) | glyph2 ); min = afm->kern_pairs; max = min + afm->num_pairs - 1; while ( min <= max ) { FT_ULong midi; mid = min + ( max - min ) / 2; midi = ( ( (FT_ULong)mid->glyph1 << 16 ) | mid->glyph2 ); if ( midi == idx ) { *kerning = mid->kerning; return; } if ( midi < idx ) min = mid + 1; else max = mid - 1; } kerning->x = 0; kerning->y = 0; } # 30 "/var/tmp/portage/freetype-2.1.5/work/freetype-2.1.5/src/type1/type1.c" 2