Ignore:
Timestamp:
Dec 3, 2006, 7:29:08 PM (15 years ago)
Author:
Eugene Romanenko
Message:

update to latest freetype cvs, (closes #76)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/poppler/freetype2/src/pfr/pfrobjs.c

    r150 r165  
    129129
    130130      pfrface->face_index = face_index;
    131       pfrface->num_glyphs = phy_font->num_chars;
     131      pfrface->num_glyphs = phy_font->num_chars + 1;
    132132      pfrface->face_flags = FT_FACE_FLAG_SCALABLE;
    133133
     
    297297      gindex--;
    298298
    299     /* check that the glyph index is correct */
    300     FT_ASSERT( gindex < face->phy_font.num_chars );
     299    if ( !face || gindex >= face->phy_font.num_chars )
     300    {
     301      error = PFR_Err_Invalid_Argument;
     302      goto Exit;
     303    }
    301304
    302305    /* try to load an embedded bitmap */
     
    477480
    478481      {
    479         FT_UInt    count    = item->pair_count;
    480         FT_UInt    size     = item->pair_size;
    481         FT_UInt    power    = (FT_UInt)ft_highpow2( (FT_UInt32)count );
    482         FT_UInt    probe    = power * size;
    483         FT_UInt    extra    = count - power;
    484         FT_Byte*   base     = stream->cursor;
    485         FT_Bool    twobytes = FT_BOOL( item->flags & 1 );
     482        FT_UInt    count       = item->pair_count;
     483        FT_UInt    size        = item->pair_size;
     484        FT_UInt    power       = (FT_UInt)ft_highpow2( (FT_UInt32)count );
     485        FT_UInt    probe       = power * size;
     486        FT_UInt    extra       = count - power;
     487        FT_Byte*   base        = stream->cursor;
     488        FT_Bool    twobytes    = FT_BOOL( item->flags & 1 );
     489        FT_Bool    twobyte_adj = FT_BOOL( item->flags & 2 );
    486490        FT_Byte*   p;
    487491        FT_UInt32  cpair;
     
    501505
    502506          if ( cpair < pair )
     507          {
     508            if ( twobyte_adj )
     509              p += 2;
     510            else
     511              p++;
    503512            base = p;
     513          }
    504514        }
    505515
     
    534544
    535545        Found:
    536           if ( item->flags & 2 )
     546          if ( twobyte_adj )
    537547            value = FT_PEEK_SHORT( p );
    538548          else
Note: See TracChangeset for help on using the changeset viewer.