ID: 10548 User Update by: [EMAIL PROTECTED] Status: Open Bug Type: GD related Description: function ImageTTFText always get wrong chinese words from TTF ... About Image function - ImageTTFText: always get wrong chinese words from TTF. To correct the problem: 690c690 < ch = (ch * 256) + **next; --- > ch = (ch * 256) + ((**next) & 255); 705c705,709 < *advance = glyph->metrics.advance; --- > > if ( !font->have_char_map_Unicode && (ch < 161) ) > *advance = glyph->metrics.advance / 2; > else > *advance = glyph->metrics.advance; Script to test: <?php // Create the image $png = ImageCreate(200,200); $bg = ImageColorAllocate($png,0,0,0); $tx = ImageColorAllocate($png,255,128,128); // Set Chinese words ("Chinese language" in Chinese Big5) $string="中文"; // Chinese test (need mingli.ttf from MS-Win Chinese ver) ImageTTFText($png,30,0,0,100,$tx,"/home/staff/cchsieh/public_html/gd/mingli.ttf // Send the image header("content-type: image/png\n\n"); ImagePng($png); // Destroy image ImageDestroy($png); ?> Previous Comments: --------------------------------------------------------------------------- [2001-04-30 08:26:58] [EMAIL PROTECTED] About Image function - ImageTTFText: always get wrong chinese words from TTF. To correct the problem: 690c690 < ch = (ch * 256) + **next; --- > ch = (ch * 256) + ((**next) & 255); 705c705,709 < *advance = glyph->metrics.advance; --- > > if ( !font->have_char_map_Unicode && (ch < 161) ) > *advance = glyph->metrics.advance / 2; > else > *advance = glyph->metrics.advance; Script to test: <?php // Create the image $png = ImageCreate(200,200); $bg = ImageColorAllocate($png,0,0,0); $tx = ImageColorAllocate($png,255,128,128); // Set Chinese words ("Chinese language" in Chinese Big5) $string="中文"; // Chinese test (need mingli.ttf from MS-Win Chinese ver) ImageTTFText($png,30,0,0,100,$tx,"/home/staff/cchsieh/public_html/gd/mingli.ttf // Send the image header("content-type: image/pngnn"); ImagePng($png); // Destroy image ImageDestroy($png); ?> --------------------------------------------------------------------------- [2001-04-29 06:00:49] [EMAIL PROTECTED] About Image function - ImageTTFText: always get wrong chinese words from TTF. To correct the problem: $ diff gdttf.c.orig gdttf.c 690c690 < ch = (ch * 256) + **next; --- > ch = (ch * 256) + ((**next) & 255); Script to test: <?php // Create the image $png = ImageCreate(200,200); $bg = ImageColorAllocate($png,0,0,0); $tx = ImageColorAllocate($png,255,128,128); // Set Chinese words ("Chinese language" in Chinese Big5) $string="中文"; // Chinese test (need mingli.ttf from MS-Win Chinese ver) ImageTTFText($png,30,0,0,100,$tx,"/home/staff/cchsieh/public_html/gd/mingli.ttf // Send the image header("content-type: image/pngnn"); ImagePng($png); // Destroy image ImageDestroy($png); ?> --------------------------------------------------------------------------- Full Bug description available at: http://bugs.php.net/?id=10548 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]