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

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

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

revision 1.5 by freetype, Fri Sep 23 13:22:10 2005 UTC revision 1.6 by wl, Wed Sep 28 07:34:45 2005 UTC
# Line 113  Line 113 
113      FT_UNUSED( state );      FT_UNUSED( state );
114    
115    
116      substTable       = ((GXV_mort_subtable_type1_StateOptRec *)      substTable =
117                          (valid->statetable.optdata))->substitutionTable;        ((GXV_mort_subtable_type1_StateOptRec *)
118      substTable_limit = (FT_UShort)(substTable +         (valid->statetable.optdata))->substitutionTable;
119                         ((GXV_mort_subtable_type1_StateOptRec *)      substTable_limit =
120                          (valid->statetable.optdata))->substitutionTable_length);        (FT_UShort)( substTable +
121                       ((GXV_mort_subtable_type1_StateOptRec *)
122      min_gid = (FT_UShort)(( substTable       - wordOffset * 2 ) / 2);                      (valid->statetable.optdata))->substitutionTable_length );
123      max_gid = (FT_UShort)(( substTable_limit - wordOffset * 2 ) / 2);  
124      max_gid = (FT_UShort)(FT_MAX( max_gid, valid->face->num_glyphs ));      min_gid = (FT_UShort)( ( substTable       - wordOffset * 2 ) / 2 );
125      /* XXX: check range ? */      max_gid = (FT_UShort)( ( substTable_limit - wordOffset * 2 ) / 2 );
126        max_gid = (FT_UShort)( FT_MAX( max_gid, valid->face->num_glyphs ) );
127    
128        /* XXX: check range? */
129    
130      /* TODO: min_gid & max_gid comparison with ClassTable contents */      /* TODO: min_gid & max_gid comparison with ClassTable contents */
131    }    }
# Line 147  Line 150 
150      FT_UNUSED( limit );      FT_UNUSED( limit );
151    
152    
153      setMark       = (FT_UShort)( flags >> 15);      setMark       = (FT_UShort)(   flags >> 15            );
154      dontAdvance   = (FT_UShort)((flags >> 14) & 1);      dontAdvance   = (FT_UShort)( ( flags >> 14 ) & 1      );
155      reserved      = (FT_Short)(  flags & 0x3FFF );      reserved      = (FT_Short)(    flags         & 0x3FFF );
156    
157      markOffset    = (FT_Short)( glyphOffset.ul >> 16 );      markOffset    = (FT_Short)( glyphOffset.ul >> 16 );
158      currentOffset = (FT_Short)( glyphOffset.ul );      currentOffset = (FT_Short)( glyphOffset.ul       );
159    
160      if ( 0 < reserved )      if ( 0 < reserved )
161      {      {
# Line 180  Line 184 
184      FT_Bytes   p = table;      FT_Bytes   p = table;
185      FT_UShort  num_gids = (FT_UShort)(      FT_UShort  num_gids = (FT_UShort)(
186                   ((GXV_mort_subtable_type1_StateOptRec *)                   ((GXV_mort_subtable_type1_StateOptRec *)
187                    (valid->statetable.optdata))->substitutionTable_length / 2);                    (valid->statetable.optdata))->substitutionTable_length / 2 );
188      FT_UShort  i;      FT_UShort  i;
189    
190    

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

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