20 #include FT_INTERNAL_POSTSCRIPT_AUX_H
32 static const FT_Char ft_char_table[128] =
35 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
36 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
37 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
38 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1,
39 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
40 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1,
41 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
42 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1,
53 static const FT_Char ft_char_table[128] =
56 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, -1, -1, -1, -1, -1, -1,
57 -1, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1,
58 -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, -1,
59 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
60 -1, 10, 11, 12, 13, 14, 15, 16, 17, 18, -1, -1, -1, -1, -1, -1,
61 -1, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1,
62 -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, -1, -1, -1, -1, -1, -1,
63 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1, -1, -1, -1, -1, -1,
82 if ( p >= limit || base < 2 || base > 36 )
85 if ( *p ==
'-' || *p ==
'+' )
94 for ( ; p <
limit; p++ )
102 c = ft_char_table[*p & 0x7f];
107 num = num * base +
c;
131 if ( p < limit && *p ==
'#' )
149 FT_Long decimal = 0, divider = 1;
156 if ( *p ==
'-' || *p ==
'+' )
171 if ( p < limit && *p ==
'.' )
175 for ( ; p <
limit; p++ )
183 c = ft_char_table[*p & 0x7f];
188 if ( !integral && power_ten > 0 )
191 decimal = decimal * 10 +
c;
195 if ( divider < 10000000L )
197 decimal = decimal * 10 +
c;
205 if ( p + 1 < limit && ( *p ==
'e' || *p ==
'E' ) )
211 while ( power_ten > 0 )
218 while ( power_ten < 0 )
226 integral +=
FT_DivFix( decimal, divider );
229 integral = -integral;
239 PS_Conv_StringDecode(
FT_Byte** cursor,
248 for ( p = *cursor; r < n && p <
limit; p++ )
300 b = b * 8 + *p -
'0';
305 b = b * 8 + *p -
'0';
354 if ( n > (
FT_UInt)( limit - p ) )
369 c = ft_char_table[c & 0x7F];
370 if ( (
unsigned)c >= 16 )
373 pad = ( pad << 4 ) | c;
382 buffer[w++] = (
FT_Byte)( pad << 4 );
390 for ( r = 0; r <
n; r++ )
401 c = ft_char_table[*p & 0x7f];
403 if ( (
unsigned)c >= 16 )
408 *buffer = (
FT_Byte)(*buffer + c);
419 return ( r + 1 ) / 2;
445 if ( n > (
FT_UInt)(limit - p) )
448 for ( r = 0; r <
n; r++ )
451 FT_UInt b = ( val ^ ( s >> 8 ) );
454 s = ( (val +
s)*52845U + 22719 ) & 0xFFFFU;
463 for ( r = 0, p = *cursor; r < n && p <
limit; r++, p++ )
468 s = (
FT_UShort)( ( *p + s ) * 52845U + 22719 );
FT_DivFix(FT_Long a, FT_Long b)
GLuint const GLfloat * val
PS_Conv_EexecDecode(FT_Byte **cursor, FT_Byte *limit, FT_Byte *buffer, FT_Offset n, FT_UShort *seed)
FT_BEGIN_HEADER typedef unsigned char FT_Bool
PS_Conv_ToFixed(FT_Byte **cursor, FT_Byte *limit, FT_Int power_ten)
EGLContext EGLenum EGLClientBuffer buffer
PS_Conv_Strtol(FT_Byte **cursor, FT_Byte *limit, FT_Int base)
PS_Conv_ASCIIHexDecode(FT_Byte **cursor, FT_Byte *limit, FT_Byte *buffer, FT_Offset n)
GLdouble GLdouble GLdouble r
GLdouble GLdouble GLdouble b
GLint GLint GLint GLint GLint w
PS_Conv_ToInt(FT_Byte **cursor, FT_Byte *limit)