[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] parthw-cleaned df8cb68: [gf] Fixes in `GF_Glyph_Load' functi
From: |
Parth Wazurkar |
Subject: |
[freetype2] parthw-cleaned df8cb68: [gf] Fixes in `GF_Glyph_Load' function. |
Date: |
Sun, 12 Aug 2018 14:05:40 -0400 (EDT) |
branch: parthw-cleaned
commit df8cb68d11472232726e0c7e1eb49cf77190c642
Author: Parth Wazurkar <address@hidden>
Commit: Parth Wazurkar <address@hidden>
[gf] Fixes in `GF_Glyph_Load' function.
* src/gf/gfdrivr.c(GF_Glyph_Load):
- Use pointer to extract metric values from `bm_table'.
- Remove unnecessary test for `glyph_index'.
---
src/gf/gfdrivr.c | 49 +++++++++++++++++++++----------------------------
1 file changed, 21 insertions(+), 28 deletions(-)
diff --git a/src/gf/gfdrivr.c b/src/gf/gfdrivr.c
index ba6d505..c44c35c 100644
--- a/src/gf/gfdrivr.c
+++ b/src/gf/gfdrivr.c
@@ -429,7 +429,7 @@
FT_Face face = FT_FACE( gf );
FT_Error error = FT_Err_Ok;
FT_Bitmap* bitmap = &slot->bitmap;
- GF_BitmapRec bm;
+ GF_Bitmap bm;
GF_Glyph go;
go = gf->gf_glyph;
@@ -454,13 +454,6 @@
if ( (FT_Int)glyph_index < 0 )
glyph_index = 0;
- if ((glyph_index < go->code_min) || (go->code_max < glyph_index))
- {
- FT_TRACE2(( "invalid glyph index\n" ));
- error = FT_THROW( Invalid_Argument );
- goto Exit;
- }
-
if ( !go->bm_table )
{
FT_TRACE2(( "invalid bitmap table\n" ));
@@ -469,45 +462,45 @@
}
/* slot, bitmap => freetype, bm => gflib */
- bm = gf->gf_glyph->bm_table[glyph_index];
+ bm = &gf->gf_glyph->bm_table[glyph_index];
- bitmap->rows = bm.bbx_height;
- bitmap->width = bm.bbx_width;
+ bitmap->rows = bm->bbx_height;
+ bitmap->width = bm->bbx_width;
bitmap->pixel_mode = FT_PIXEL_MODE_MONO;
- if ( !bm.raster )
+ if ( !bm->raster )
{
FT_TRACE2(( "invalid bitmap width\n" ));
error = FT_THROW( Invalid_File_Format );
goto Exit;
}
- bitmap->pitch = (int)bm.raster ;
+ bitmap->pitch = (int)bm->raster ;
/* note: we don't allocate a new array to hold the bitmap; */
/* we can simply point to it */
- ft_glyphslot_set_bitmap( slot, bm.bitmap );
+ ft_glyphslot_set_bitmap( slot, bm->bitmap );
slot->format = FT_GLYPH_FORMAT_BITMAP;
- slot->bitmap_left = bm.off_x ;
- slot->bitmap_top = bm.off_y ;
+ slot->bitmap_left = bm->off_x ;
+ slot->bitmap_top = bm->off_y ;
- slot->metrics.horiAdvance = (FT_Pos) (bm.mv_x ) * 64;
- slot->metrics.horiBearingX = (FT_Pos) (bm.off_x ) * 64;
- slot->metrics.horiBearingY = (FT_Pos) (bm.bbx_height) * 64;
+ slot->metrics.horiAdvance = (FT_Pos) (bm->mv_x ) * 64;
+ slot->metrics.horiBearingX = (FT_Pos) (bm->off_x ) * 64;
+ slot->metrics.horiBearingY = (FT_Pos) (bm->bbx_height) * 64;
slot->metrics.width = (FT_Pos) ( bitmap->width * 64 );
slot->metrics.height = (FT_Pos) ( bitmap->rows * 64 );
- FT_TRACE2(( "Glyph metric values are: bm.bbx_height is %ld\n"
- " bm.bbx_width is %ld\n"
- " bm.off_x is %ld\n"
- " bm.off_y is %ld\n"
- " bm.mv_x is %ld\n"
- " bm.mv_y is %ld\n",
bm.bbx_height, bm.bbx_width,
-
bm.off_x, bm.off_y, bm.mv_x,
- bm.mv_y
));
+ FT_TRACE2(( "Glyph metric values are: bm->bbx_height is %ld\n"
+ " bm->bbx_width is %ld\n"
+ " bm->off_x is %ld\n"
+ " bm->off_y is %ld\n"
+ " bm->mv_x is %ld\n"
+ " bm->mv_y is %ld\n",
bm->bbx_height, bm->bbx_width,
+ bm->off_x,
bm->off_y, bm->mv_x,
+ bm->mv_y
));
- ft_synthesize_vertical_metrics( &slot->metrics, bm.bbx_height * 64 );
+ ft_synthesize_vertical_metrics( &slot->metrics, bm->bbx_height * 64 );
Exit:
return error;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] parthw-cleaned df8cb68: [gf] Fixes in `GF_Glyph_Load' function.,
Parth Wazurkar <=