From: Ilia Alshanetsky Date: Sun, 9 May 2004 17:34:02 +0000 (+0000) Subject: MFH: X-Git-Tag: php-4.3.7RC1~42 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=349514ed2d7440fea8173340e384b532cbe38bb1;p=php MFH: Upgrade bundled GD library to 2.0.23. Fixed bug #28175 (build problem for people using FreeType 2.1.0-2.1.2). --- diff --git a/NEWS b/NEWS index 8ff58d43cb..54d70f6623 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,7 @@ PHP 4 NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2004, Version 4.3.7 +- Upgraded bundled GD library to 2.0.23. (Ilia) - Fixed possible crash inside pg_copy_(to|from) function if delimiter is more then 1 character long. (Ilia) - Fixed handling of return values from storred procedures in mssql_execute() @@ -12,6 +13,8 @@ PHP 4 NEWS (Ilia) - Fixed bug #28196 (missing error constants in cURL extension). (Ilia) - Fixed bug #28187 (parse_url() not handling embedded IPv6 in URLs). (Sara) +- Fixed bug #28175 (build problem for people using FreeType 2.1.0-2.1.2). + (Ilia) - Fixed bug #28147 (Crash with drawing anti-aliased lines). (Derick) - Fixed bug #28112 (sqlite_query() crashing apache on malformed query). (Ilia, Marcus) diff --git a/ext/gd/gd.c b/ext/gd/gd.c index f37dc86eab..8903d4935f 100644 --- a/ext/gd/gd.c +++ b/ext/gd/gd.c @@ -390,7 +390,7 @@ PHP_RSHUTDOWN_FUNCTION(gd) /* }}} */ #if HAVE_GD_BUNDLED -#define PHP_GD_VERSION_STRING "bundled (2.0.22 compatible)" +#define PHP_GD_VERSION_STRING "bundled (2.0.23 compatible)" #elif HAVE_LIBGD20 #define PHP_GD_VERSION_STRING "2.0 or higher" #elif HAVE_GDIMAGECOLORRESOLVE diff --git a/ext/gd/libgd/gdft.c b/ext/gd/libgd/gdft.c index 844e92ff2e..307b92204f 100644 --- a/ext/gd/libgd/gdft.c +++ b/ext/gd/libgd/gdft.c @@ -473,7 +473,7 @@ static void *fontFetch (char **error, void *key) encoding = charmap->encoding_id; /* EAM DEBUG - Newer versions of libfree2 make it easier by defining encodings */ -#if (defined(FREETYPE_MAJOR) && (FREETYPE_MAJOR >=2 ) && (FREETYPE_MINOR >= 1)) +#if (defined(FREETYPE_MAJOR) && ((FREETYPE_MAJOR == 2 && ((FREETYPE_MINOR == 1 && FREETYPE_PATCH >= 3) || FREETYPE_MINOR > 1) || FREETYPE_MAJOR > 2))) if (charmap->encoding == FT_ENCODING_MS_SYMBOL || charmap->encoding == FT_ENCODING_ADOBE_CUSTOM || charmap->encoding == FT_ENCODING_ADOBE_STANDARD) { @@ -482,7 +482,7 @@ static void *fontFetch (char **error, void *key) a->face->charmap = charmap; return (void *)a; } -#endif /* Freetype 2.1 or better */ +#endif /* Freetype 2.1.3 or better */ /* EAM DEBUG */ if ((platform == 3 && encoding == 1) /* Windows Unicode */ @@ -843,6 +843,8 @@ gdImageStringFTEx (gdImage * im, int *brect, int fg, char *fontlist, double ptsi * colorindexes. -- 27.06.2001 */ gdCache_head_t *tc_cache; + /* Tuneable horizontal and vertical resolution in dots per inch */ + int hdpi, vdpi; if (strex && ((strex->flags & gdFTEX_LINESPACE) == gdFTEX_LINESPACE)) { linespace = strex->linespacing; @@ -872,7 +874,19 @@ gdImageStringFTEx (gdImage * im, int *brect, int fg, char *fontlist, double ptsi face = font->face; /* shortcut */ slot = face->glyph; /* shortcut */ - if (FT_Set_Char_Size (face, 0, (FT_F26Dot6) (ptsize * 64), GD_RESOLUTION, GD_RESOLUTION)) { + /* + * Added hdpi and vdpi to support images at non-screen resolutions, i.e. 300 dpi TIFF, + * or 100h x 50v dpi FAX format. 2.0.23. + * 2004/02/27 Mark Shackelford, mark.shackelford@acs-inc.com + */ + hdpi = GD_RESOLUTION; + vdpi = GD_RESOLUTION; + if (strex && (strex->flags & gdFTEX_RESOLUTION)) { + hdpi = strex->hdpi; + vdpi = strex->vdpi; + } + + if (FT_Set_Char_Size(face, 0, (FT_F26Dot6) (ptsize * 64), hdpi, vdpi)) { gdCacheDelete(tc_cache); gdMutexUnlock(gdFontCacheMutex); return "Could not set character size";