我正面臨着使用TCPDF庫在php中生成pdf的問題。我需要正確顯示孟加拉字體。我嘗試添加一些孟加拉字體(即SolaimanLipi.ttf,SutonnyOMJ.ttf,Siyamrupali.ttf,Nikosh.ttf等)。我可以在pdf上看到孟加拉字體,但字體顯示不正確。它放錯了這個詞。孟加拉(Unicode)字體在tcpdf中無法正確呈現
通過添加這種字體,我看到在/ fonts /目錄下成功創建了3個文件「solaimanlipi.ctg.z」,「solaimanlipi.php」和「solaimanlipi.z」。以及我可以在PDF上看到孟加拉字體,但是這種字體錯位/分散。我附上我實際看到的照片。
這裏是顯示上述結果的代碼:
<?php
$strData = file_get_contents('./data3.txt');
?>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8" />
<style>
@font-face
{
font-family: myUniFont;
src: url(./SolaimanLipi_22-02-2012.ttf);
}
</style>
</head>
<body>
<span style="font-family: myUniFont;"><?php echo $strData; ?></span>
</body>
</html>
我用下面的代碼來使用同樣的字體,我PDF:
$strBNFont = TCPDF_FONTS::addTTFfont('./SolaimanLipi_22-02-2012.ttf', 'TrueTypeUnicode', '', 32);
$pdf->SetFont($strBNFont, '', 8, '', 'false');
,它是怎麼看起來像PDF::(
編輯#1
哇! (OMG
親愛的主席先生,問題不就PDF/TCPDF庫甚至也不是在字體文件,它自
請檢查下面的PHP代碼:
<?php
header('Content-type: image/png');
$text = 'তোমাদের জন্য মুক্তিযুদ্ধের গল্প';
$font = './Fonts/SolaimanLipi_22-02-2012.ttf';
$im = imagecreatetruecolor(600, 300);
$bg_color = imagecolorallocate($im, 255, 255, 255);
$font_color = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 599, 299, $bg_color);
imagettftext($im, 20, 0, 10, 50, $font_color, $font, $font);
imagettftext($im, 20, 0, 10, 120, $font_color, $font, $text);
imagepng($im);
imagedestroy($im);
?>
這究竟是怎麼出口! /渲染瀏覽器的PNG圖像:
當我嘗試使用imagettftext功能它也打破了C到打印圖像文件中的文本字符:(
因爲我相信它不是字體問題,因爲我剛剛測試過60 +字體和所有破碎..瀏覽器(HTML代碼)顯示他們非常正確。
所以,我的東西,這是非常大於我的大腦可以容納/處理;(
所以,像你這樣的專家可能會唯一出路再次:)
感謝您的時間
hello有什麼幫助嗎? –
沒有人熟悉tcPDF unicode問題? –
我非常困難,真的需要一些幫助... –