/[freetype]/freetype2/src/gxvalid/gxvcommn.c
ViewVC logotype

Diff of /freetype2/src/gxvalid/gxvcommn.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by wl, Wed Aug 31 22:39:23 2005 UTC revision 1.4 by wl, Mon Sep 5 19:31:27 2005 UTC
# Line 58  Line 58 
58    }    }
59    
60    
61    static void    FT_LOCAL_DEF( void )
62    gxv_set_length_by_ushort_offset( FT_UShort*     offset,    gxv_set_length_by_ushort_offset( FT_UShort*     offset,
63                                     FT_UShort**    length,                                     FT_UShort**    length,
64                                     FT_UShort*     buff,                                     FT_UShort*     buff,
65                                     FT_UInt        nmemb,                                     FT_UInt        nmemb,
66                                     FT_UShort      limit,                                     FT_UShort      limit,
67                                     GXV_Validator  valid)                                     GXV_Validator  valid )
68    {    {
69      FT_UInt  i;      FT_UInt  i;
70    
# Line 123  Line 123 
123    }    }
124    
125    
126    static void    FT_LOCAL_DEF( void )
127    gxv_set_length_by_ulong_offset( FT_ULong*      offset,    gxv_set_length_by_ulong_offset( FT_ULong*      offset,
128                                    FT_ULong**     length,                                    FT_ULong**     length,
129                                    FT_ULong*      buff,                                    FT_ULong*      buff,
# Line 176  Line 176 
176    /*************************************************************************/    /*************************************************************************/
177    
178    
179    static void    FT_LOCAL_DEF( void )
180    gxv_array_getlimits_byte( FT_Bytes       table,    gxv_array_getlimits_byte( FT_Bytes       table,
181                              FT_Bytes       limit,                              FT_Bytes       limit,
182                              FT_Byte*       min,                              FT_Byte*       min,
# Line 205  Line 205 
205    }    }
206    
207    
208    static void    FT_LOCAL_DEF( void )
209    gxv_array_getlimits_ushort( FT_Bytes       table,    gxv_array_getlimits_ushort( FT_Bytes       table,
210                                FT_Bytes       limit,                                FT_Bytes       limit,
211                                FT_UShort*     min,                                FT_UShort*     min,
# Line 430  Line 430 
430      GXV_LookupValueDesc  value;      GXV_LookupValueDesc  value;
431    
432    
433      GXV_NAME_ENTER( " LookupTable format 0" );      GXV_NAME_ENTER( "LookupTable format 0" );
434    
435      GXV_LIMIT_CHECK( 2 * valid->face->num_glyphs );      GXV_LIMIT_CHECK( 2 * valid->face->num_glyphs );
436    
# Line 507  Line 507 
507      GXV_LookupValueDesc  value;      GXV_LookupValueDesc  value;
508    
509    
510      GXV_NAME_ENTER( " LookupTable format 2" );      GXV_NAME_ENTER( "LookupTable format 2" );
511    
512      unitSize = nUnits = 0;      unitSize = nUnits = 0;
513      gxv_BinSrchHeader_validate( p, limit, &unitSize, &nUnits, valid );      gxv_BinSrchHeader_validate( p, limit, &unitSize, &nUnits, valid );
# Line 581  Line 581 
581      GXV_LookupValueDesc  value;      GXV_LookupValueDesc  value;
582    
583    
584      GXV_NAME_ENTER( " LookupTable format 4" );      GXV_NAME_ENTER( "LookupTable format 4" );
585    
586      unitSize = nUnits = 0;      unitSize = nUnits = 0;
587      gxv_BinSrchHeader_validate( p, limit, &unitSize, &nUnits, valid );      gxv_BinSrchHeader_validate( p, limit, &unitSize, &nUnits, valid );
# Line 678  Line 678 
678      GXV_LookupValueDesc  value;      GXV_LookupValueDesc  value;
679    
680    
681      GXV_NAME_ENTER( " LookupTable format 6" );      GXV_NAME_ENTER( "LookupTable format 6" );
682    
683      unitSize = nUnits = 0;      unitSize = nUnits = 0;
684      gxv_BinSrchHeader_validate( p, limit, &unitSize, &nUnits, valid );      gxv_BinSrchHeader_validate( p, limit, &unitSize, &nUnits, valid );
# Line 731  Line 731 
731      FT_UShort             glyphCount;      FT_UShort             glyphCount;
732    
733    
734      GXV_NAME_ENTER( " LookupTable format 8" );      GXV_NAME_ENTER( "LookupTable format 8" );
735    
736      /* firstGlyph + glyphCount */      /* firstGlyph + glyphCount */
737      GXV_LIMIT_CHECK( 2 + 2 );      GXV_LIMIT_CHECK( 2 + 2 );
# Line 778  Line 778 
778      GXV_Validate_Func  func;      GXV_Validate_Func  func;
779    
780    
781      GXV_NAME_ENTER(" LookupTable" );      GXV_NAME_ENTER( "LookupTable" );
782    
783      /* lookuptbl_head may be used in fmt4 transit function. */      /* lookuptbl_head may be used in fmt4 transit function. */
784      valid->lookuptbl_head = table;      valid->lookuptbl_head = table;
# Line 1028  Line 1028 
1028    {    {
1029      FT_Bytes  p = table;      FT_Bytes  p = table;
1030      FT_Bytes  limit = table + *length_p;      FT_Bytes  limit = table + *length_p;
1031      FT_Byte   class;      FT_Byte   clazz;
1032      FT_Byte   entry;      FT_Byte   entry;
1033    
1034    
# Line 1050  Line 1050 
1050      while ( p + ( 1 + maxClassID ) <= limit )      while ( p + ( 1 + maxClassID ) <= limit )
1051      {      {
1052        (*maxState_p)++;        (*maxState_p)++;
1053        for ( class = 0; class <= maxClassID; class++ )        for ( clazz = 0; clazz <= maxClassID; clazz++ )
1054        {        {
1055          entry = FT_NEXT_BYTE( p );          entry = FT_NEXT_BYTE( p );
1056          *maxEntry_p = FT_MAX( *maxEntry_p, entry );          *maxEntry_p = FT_MAX( *maxEntry_p, entry );
# Line 1220  Line 1220 
1220      FT_UShort   stateArray;     /* offset to StateArray */      FT_UShort   stateArray;     /* offset to StateArray */
1221      FT_UShort   entryTable;     /* offset to EntryTable */      FT_UShort   entryTable;     /* offset to EntryTable */
1222    
 #define GXV_STATETABLE_HEADER_SIZE  ( 2 + 2 + 2 + 2 )  
 #define GXV_STATEHEADER_SIZE        GXV_STATETABLE_HEADER_SIZE  
   
1223      FT_UShort   classTable_length;      FT_UShort   classTable_length;
1224      FT_UShort   stateArray_length;      FT_UShort   stateArray_length;
1225      FT_UShort   entryTable_length;      FT_UShort   entryTable_length;
# Line 1416  Line 1413 
1413    {    {
1414      FT_Bytes   p = table;      FT_Bytes   p = table;
1415      FT_Bytes   limit = table + *length_p;      FT_Bytes   limit = table + *length_p;
1416      FT_UShort  class;      FT_UShort  clazz;
1417      FT_UShort  entry;      FT_UShort  entry;
1418    
1419    
# Line 1438  Line 1435 
1435      while ( p + ( ( 1 + maxClassID ) * 2 ) <= limit )      while ( p + ( ( 1 + maxClassID ) * 2 ) <= limit )
1436      {      {
1437        (*maxState_p)++;        (*maxState_p)++;
1438        for ( class = 0; class <= maxClassID; class++ )        for ( clazz = 0; clazz <= maxClassID; clazz++ )
1439        {        {
1440          entry = FT_NEXT_USHORT( p );          entry = FT_NEXT_USHORT( p );
1441          *maxEntry_p = FT_MAX( *maxEntry_p, entry );          *maxEntry_p = FT_MAX( *maxEntry_p, entry );
# Line 1564  Line 1561 
1561      FT_ULong   stateArray;      /* offset to StateArray */      FT_ULong   stateArray;      /* offset to StateArray */
1562      FT_ULong   entryTable;      /* offset to EntryTable */      FT_ULong   entryTable;      /* offset to EntryTable */
1563    
 #define GXV_XSTATETABLE_HEADER_SIZE  ( 4 + 4 + 4 + 4 )  
 #define GXV_XSTATEHEADER_SIZE        GXV_XSTATETABLE_HEADER_SIZE  
   
1564      FT_ULong   classTable_length;      FT_ULong   classTable_length;
1565      FT_ULong   stateArray_length;      FT_ULong   stateArray_length;
1566      FT_ULong   entryTable_length;      FT_ULong   entryTable_length;
# Line 1669  Line 1663 
1663    /*************************************************************************/    /*************************************************************************/
1664    /*************************************************************************/    /*************************************************************************/
1665    
1666    FT_LOCAL_DEF( int )    static int
1667    gxv_compare_ranges( FT_Bytes  table1_start,    gxv_compare_ranges( FT_Bytes  table1_start,
1668                        FT_ULong  table1_length,                        FT_ULong  table1_length,
1669                        FT_Bytes  table2_start,                        FT_Bytes  table2_start,
# Line 1712  Line 1706 
1706    
1707    FT_LOCAL_DEF( void )    FT_LOCAL_DEF( void )
1708    gxv_odtect_validate( GXV_odtect_Range  odtect,    gxv_odtect_validate( GXV_odtect_Range  odtect,
1709                         GXV_Validator     valid   )                         GXV_Validator     valid )
1710    {    {
1711      FT_UInt  i, j;      FT_UInt  i, j;
1712    

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26