91 lines
3.8 KiB
Diff
91 lines
3.8 KiB
Diff
|
Index: fontforge-20090923/gutils/gimagereadpng.c
|
||
|
===================================================================
|
||
|
--- fontforge-20090923.orig/gutils/gimagereadpng.c 2009-02-22 18:26:06.000000000 +0100
|
||
|
+++ fontforge-20090923/gutils/gimagereadpng.c 2010-04-08 09:54:52.000000000 +0200
|
||
|
@@ -220,13 +220,13 @@ return( NULL );
|
||
|
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));
|
||
|
Index: fontforge-20090923/gutils/gimagewritepng.c
|
||
|
===================================================================
|
||
|
--- fontforge-20090923.orig/gutils/gimagewritepng.c 2009-02-22 18:26:06.000000000 +0100
|
||
|
+++ fontforge-20090923/gutils/gimagewritepng.c 2010-04-08 10:03:02.000000000 +0200
|
||
|
@@ -183,8 +183,8 @@ return(false);
|
||
|
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 @@ return(false);
|
||
|
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 @@ return(false);
|
||
|
|
||
|
_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 @@ return(false);
|
||
|
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 @@ return(false);
|
||
|
|
||
|
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);
|