[請益] 指定字型輸出文字圖片
我想製作一個動態輸出文字的程式,
php 檔案編碼為 UTF-8,程式碼如下:
header('Content-type: image/png');
$im = imagecreatetruecolor(500, 50);
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 499, 49, $white);
$text = '測試內容Test...'; // 要輸出的文字
$font = 'source/font/fcz.ttf'; // 使用的字體
imagettftext($im, 30, 0, 0, 40, $black, $font, $text);
imagepng($im);
imagedestroy($im);
一般的造字檔(.tte),只要餵給它正確的編碼或16進位entity都能正確輸出,
但4位元的字如 unicode ext-b 似乎沒辦法這樣輸出
會變成直接印出像 𠀜 。
如果要轉 ext-b 字元,有什麼方法可以解決?
真相:造字檔輸出測試「XO」(XO是前二字直接貼進去):
http://tinyurl.com/35lxwy8
ext-B「𠀜X」(X是前一個字直接貼進去):
http://tinyurl.com/35dgvzg
還有.. imagettftext 的參數規則是什麼?
第二個參數填 30 可是實際文字寬高佔的像素並不是 30,
而產生的文字並沒有對齊基線或其他東西,像這裡的 0, 40 都是試誤而得,
而且不同字體結果好像又不太一樣...做成一字一圖也常會歪掉,
有明確的規則可以遵循嗎?
另一個小問題是,
使用華康行書體、文鼎正圓體之類的都能正常輸出,微軟正黑體也成功了,
但用新細明體和標楷體,輸出的字卻變得很奇怪。這是什麼原因?
還好目前其他字體還沒遇到類似情形...
真相:華康行書體:http://tinyurl.com/32fsdpg
新細明體:http://tinyurl.com/37x27ns
標楷體:http://tinyurl.com/3yu2cj3
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 119.14.179.157
※ 編輯: danny0838 來自: 119.14.179.157 (08/21 16:39)
推
08/21 17:38, , 1F
08/21 17:38, 1F
→
08/21 17:38, , 2F
08/21 17:38, 2F
→
08/21 17:40, , 3F
08/21 17:40, 3F
→
08/21 18:06, , 4F
08/21 18:06, 4F
→
08/21 18:06, , 5F
08/21 18:06, 5F
推
08/21 19:36, , 6F
08/21 19:36, 6F
→
08/21 20:26, , 7F
08/21 20:26, 7F
→
08/21 20:27, , 8F
08/21 20:27, 8F
→
08/21 20:28, , 9F
08/21 20:28, 9F
→
08/21 20:29, , 10F
08/21 20:29, 10F
→
08/21 20:29, , 11F
08/21 20:29, 11F