我正在尝试用内置字体写出一些特殊字符,有没有办法做到这一点?
$ str ='ščťžýáíéäúň§ôúőűáéóüöűú'; $ str = iconv('UTF-8','windows-1252',$ str);
结果是一个字母Š,不太好。 :)
答案 0 :(得分:1)
我知道这是一个老话题,但是这个周末我遇到了这个问题,并且花了很长时间在Google上搜索和玩耍,因此可以节省时间。 http://fpdf.org/en/script/script92.php是使用变音符号(重音符号)的方式。但是您需要向其中添加一些代码... 将其插入第617行
/* Modified by Vinod Patidar due to font key does not match in dejavu bold.*/
if ( $family == 'dejavu' && !empty($style) && ($style == 'B' || $style == 'b') ) {
$fontkey = $family.' '.strtolower($style);
} else {
$fontkey = $family.$style;
}
/* Modified end here*/
然后更改
if($family=='arial')
$family = 'helvetica';
收件人
if($family=='arial'||$family='dejavu')
$family = 'helvetica';
然后不要在示例“ DejaVu Sans Condensed”中使用该字体,因为“ Condensed”似乎意味着粗体版本不包含所有字符
您可能还需要从普通的fpdf.php脚本中添加getPageWidth和getPageHeight方法,因为它比tfpdf.php还要新!
进行上述更改
$pdflabel->AddFont('DejaVu','','DejaVuSans.ttf',true);
$pdf->AddFont('DejaVu','B','DejaVuSans-Bold.ttf',true);
使用欧洲语言制作出色的作品
答案 1 :(得分:0)
您需要使用FPDF的tFPDF派生。 tFPDF使用PHP多字节字符串函数并生成以UTF-8编码的输出。 FPDF没有。您还需要使用支持您要使用的所有Unicode字符的字体。最常见的是,我会使用Arial。