Bug 70872
Summary: | libgd was not built with TrueType font support | ||
---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | Xavier Del Collado i Pics <xavier> |
Component: | gd | Assignee: | Phil Knirsch <pknirsch> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 7.2 | CC: | rvokal |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i686 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2002-08-07 15:47:06 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Xavier Del Collado i Pics
2002-08-06 12:06:02 UTC
Here is another example to see what happens: 1.- Edit this: button3.php --------cut------ <? Header("Content-type: image/png"); if(!isset($s)) $s=11; $text="Hola pollo"; $size = imagettfbbox($s,0,"/usr/share/fonts/times.ttf",$text); $dx = abs($size[2]-$size[0]); $dy = abs($size[5]-$size[3]); $xpad=9; $ypad=9; $im = imagecreate($dx+$xpad,$dy+$ypad); $blue = ImageColorAllocate($im, 0x2c,0x6D,0xAF); $black = ImageColorAllocate($im, 0,0,0); $white = ImageColorAllocate($im, 255,255,255); ImageRectangle($im,0,0,$dx+$xpad-1,$dy+$ypad-1,$black); ImageRectangle($im,0,0,$dx+$xpad,$dy+$ypad,$white); ImageTTFText($im, $s, 0, (int)($xpad/2)+1, $dy+(int)($ypad/2), $black, "/usr/share/fonts/times.ttf", $text); ImageTTFText($im, $s, 0, (int)($xpad/2), $dy+(int)($ypad/2)-1, $white, "/usr/share/fonts/times.ttf", $text); ImagePNG($im); ImageDestroy($im); ?> --------cut------ 2.- Put it in apache ( apache-1.3.22-6 ) 3.- See: ( http://lopitit.utopia.ct/button3.php ) - intranet, sorry... - --------cut------ <br> <b>Warning</b>: libgd was not built with TrueType font support in <b>/home/www/html-lopitit.utopia.ct/button3.php</b> on line <b>5</b><br> <br> <b>Warning</b>: libgd was not built with TrueType font support in <b>/home/www/html-lopitit.utopia.ct/button3.php</b> on line <b>16</b><br> <br> <b>Warning</b>: libgd was not built with TrueType font support in <b>/home/www/html-lopitit.utopia.ct/button3.php</b> on line <b>17</b><br> PNG IHDR n PLTE,m/(IDATxcX5*!A'j!_?9AodIEND.B` --------cut------ Looking at gd source code ( gd-1.8.4-4.src.rpm ), seems that gd only supports FreeType 2. From gd.spec: * Fri Jul 20 2001 Bernhard Rosenkraenzer <bero> 1.8.4-3 - There's really no reason to link against both freetype 1.x and 2.x, especially when gd is configured to use just freetype 2.x. ;) If you modify first example to use gdImageStringFT function instead gdImageStringTTF, you can verify that. Now works... great... but it isn't easy to modify every function from xxxxxTTF to xxxxxFT But the main problem is PHP; last version released for RH7.2 is php-4.0.6-15 which no support yyyyyyFT functions. If you modify second example ( button4.php ) to use imageftbbox and ImageFTText functions instead imagettfbbox and ImageTTFText, you got: ---------cut--------- # php button4.php X-Powered-By: PHP/4.0.6 Content-type: image/png <br> <b>Fatal error</b>: Call to undefined function: imageftbbox() in <b>button4.php</b> on line <b>5</b><br> # ----------cut-------- Sadly, yyyyyyFT functions in PHP are supported for (PHP 4 >= 4.1.0), as you can see at http://www.php.net/manual/en/function.imageftbbox.php It seems that gd must support FreeType v.1 and FreeType v.2 Facts: 1.- gd-1.8.4-4 uses by default ( defined at compile time ) FreeType v.2. 2.- gd-1.8.4-4 doesn't handle xxxxxxTTF functions. 3.- gd-1.8.4-4 handle xxxxxxFT functions. 4.- gd 2.0.1 does the same 4.- php-4.0.6-15 handle yyyyyyTTF functions. 5.- php-4.0.6-15 doesn't handle yyyyyyFT functions. 6.- php ( version >= 4.1.0 ) handle yyyyyyFT functions. Perhaps would be better RH releases php4 >= 4.1.0 for 7.2 7.2 was the release where we made the switch from Freetype 1 to Freetype 2. All these things have been addressed in 7.3, so i'd recommend to upgrade your system to 7.3. Read ya, Phil |