diff options
-rw-r--r-- | print/fontforge/files/patch-gutils-gimagereadpng.c | 21 | ||||
-rw-r--r-- | print/fontforge/files/patch-gutils-gimagewritepng.c | 65 |
2 files changed, 86 insertions, 0 deletions
diff --git a/print/fontforge/files/patch-gutils-gimagereadpng.c b/print/fontforge/files/patch-gutils-gimagereadpng.c new file mode 100644 index 000000000000..d66792c4128e --- /dev/null +++ b/print/fontforge/files/patch-gutils-gimagereadpng.c @@ -0,0 +1,21 @@ +--- gutils/gimagereadpng.c.orig 2009-02-22 18:26:06.000000000 +0100 ++++ gutils/gimagereadpng.c 2010-03-29 09:15:26.000000000 +0200 +@@ -220,13 +220,13 @@ + if ( (info_ptr->valid&PNG_INFO_tRNS) && info_ptr->num_trans>0 ) { + if ( info_ptr->color_type==PNG_COLOR_TYPE_RGB || info_ptr->color_type==PNG_COLOR_TYPE_RGB_ALPHA ) + base->trans = COLOR_CREATE( +- (info_ptr->trans_values.red>>8), +- (info_ptr->trans_values.green>>8), +- (info_ptr->trans_values.blue>>8)); ++ (info_ptr->trans_color.red>>8), ++ (info_ptr->trans_color.green>>8), ++ (info_ptr->trans_color.blue>>8)); + else if ( base->image_type == it_mono ) +- base->trans = info_ptr->trans[0]; ++ base->trans = info_ptr->trans_alpha[0]; + else +- base->clut->trans_index = base->trans = info_ptr->trans[0]; ++ base->clut->trans_index = base->trans = info_ptr->trans_alpha[0]; + } + + row_pointers = galloc(info_ptr->height*sizeof(png_bytep)); diff --git a/print/fontforge/files/patch-gutils-gimagewritepng.c b/print/fontforge/files/patch-gutils-gimagewritepng.c new file mode 100644 index 000000000000..a07f206ebeac --- /dev/null +++ b/print/fontforge/files/patch-gutils-gimagewritepng.c @@ -0,0 +1,65 @@ +--- gutils/gimagewritepng.c.orig 2009-02-22 18:26:06.000000000 +0100 ++++ gutils/gimagewritepng.c 2010-03-29 09:59:24.000000000 +0200 +@@ -183,8 +183,8 @@ + if ( info_ptr->num_palette<=16 ) + _png_set_packing(png_ptr); + if ( base->trans!=-1 ) { +- info_ptr->trans = galloc(1); +- info_ptr->trans[0] = base->trans; ++ info_ptr->trans_alpha = galloc(1); ++ info_ptr->trans_alpha[0] = base->trans; + } + } else { + info_ptr->color_type = PNG_COLOR_TYPE_RGB; +@@ -192,9 +192,9 @@ + info_ptr->color_type = PNG_COLOR_TYPE_RGB_ALPHA; + + if ( base->trans!=-1 ) { +- info_ptr->trans_values.red = COLOR_RED(base->trans); +- info_ptr->trans_values.green = COLOR_GREEN(base->trans); +- info_ptr->trans_values.blue = COLOR_BLUE(base->trans); ++ info_ptr->trans_color.red = COLOR_RED(base->trans); ++ info_ptr->trans_color.green = COLOR_GREEN(base->trans); ++ info_ptr->trans_color.blue = COLOR_BLUE(base->trans); + } + } + _png_write_info(png_ptr, info_ptr); +@@ -210,7 +210,7 @@ + + _png_write_end(png_ptr, info_ptr); + +- if ( info_ptr->trans!=NULL ) gfree(info_ptr->trans); ++ if ( info_ptr->trans_alpha!=NULL ) gfree(info_ptr->trans_alpha); + if ( info_ptr->palette!=NULL ) gfree(info_ptr->palette); + _png_destroy_write_struct(&png_ptr, &info_ptr); + gfree(rows); +@@ -314,15 +314,15 @@ + if ( info_ptr->num_palette<=16 ) + png_set_packing(png_ptr); + if ( base->trans!=-1 ) { +- info_ptr->trans = galloc(1); +- info_ptr->trans[0] = base->trans; ++ info_ptr->trans_alpha = galloc(1); ++ info_ptr->trans_alpha[0] = base->trans; + } + } else { + info_ptr->color_type = PNG_COLOR_TYPE_RGB; + if ( base->trans!=-1 ) { +- info_ptr->trans_values.red = COLOR_RED(base->trans); +- info_ptr->trans_values.green = COLOR_GREEN(base->trans); +- info_ptr->trans_values.blue = COLOR_BLUE(base->trans); ++ info_ptr->trans_color.red = COLOR_RED(base->trans); ++ info_ptr->trans_color.green = COLOR_GREEN(base->trans); ++ info_ptr->trans_color.blue = COLOR_BLUE(base->trans); + } + } + png_write_info(png_ptr, info_ptr); +@@ -338,7 +338,7 @@ + + png_write_end(png_ptr, info_ptr); + +- if ( info_ptr->trans!=NULL ) gfree(info_ptr->trans); ++ if ( info_ptr->trans_alpha!=NULL ) gfree(info_ptr->trans_alpha); + if ( info_ptr->palette!=NULL ) gfree(info_ptr->palette); + png_destroy_write_struct(&png_ptr, &info_ptr); + gfree(rows); |