fpdf中文亂碼,新增字符集

2022-07-26 15:54:12 字數 1626 閱讀 5909

支援中文,其中有big5,gb兩種

使用方法也很簡單

$pdf->addbig5font(); 

$pdf->setfont('big5','',20)

$pdf->addgbfont(); 

$pdf->setfont('gb','',20);

ps:如果使用yii框架,可能會出現獲取不到gb_widths的情況,將$gb_widths放入函式體內即可

自帶的字型肯定滿足不了需求,怎麼自定義呢:

1、字型格式轉換程式(ttf2pt1)

2、ttf2pt1中文支援包

將ttf2pt1解壓到某個資料夾,這裡設定為「c:\ttf2pt1」。將中文支援包中的ugb.map或ugbk.map複製到該資料夾。

將你想轉換的字型從windows的fonts資料夾中複製出來,這裡處理黑體,複製的就是「simhei.ttf」,也複製到上面那個資料夾 中。這樣你的「c:\ttf2pt1」資料夾中應該有以下幾個檔案:ttf2pt1.exe、ugbk.map、simhei.ttf。

執行:

c:\ttf2pt1\ttf2pt1.exe –a –l ugbk.map+a1 simhei.ttf simhei
執行過程有點長,完成後會在「c:\ttf2pt1」資料夾內生成兩個檔案:simhei.afm和simhei.t1a,把 simhei.afm和simhei.ttf複製到你的fpdf類安裝資料夾下的font內,並在該資料夾內新建乙個php檔案,輸入以下**:

<?php     

require('./makefont/makefont.php');

makefont('./simhei.ttf', './simhei.afm');

執行該檔案,生成了兩個檔案:simhei.php和simhei.z就可以,刪掉simhei.ttf,製作字型的任務就完成了,如果想製作多個字型,繼續用這個方法

include('fpdf/chinese.php');     

$pdf=new pdf_chinese();

$pdf->addgbfont('simhei','黑體');

$pdf->addgbfont('simkai','楷體_gb2312');

$pdf->open();

$pdf->addpage();

$pdf->setfont('simhei','',20);

$pdf->setxy(15,24);

$pdf->write(10,'顯示黑體字');

$pdf->setfont('simkai','',20);

$pdf->setxy(15,54);

$pdf->write(10,'顯示楷體字');

$pdf->output();

ps:用瀏覽器看一下,黑體出來了吧?不過效果似乎不太讓人滿意,中文沒問題,英文數字,間距出問題。

具體原因在於chinese.php檔案裡,有個變數叫$gb_widths,定義英文本元寬度的,把所有英文、字元寬度全部改成了480,就可以了

mysql字符集配置 mysql中文亂碼

這兩天重置了下自己的電腦系統,乙個ubuntu,另外乙個當然就是windows。不過在執行程式的時候發現,出現了很多的 也就是亂碼字元。毫無疑問,這定然是mysql字符集的配置問題。找到了解決問題的方向,那麼,自然就很好辦了。我的問題是出現在ubntu上的,如果你是windows使用者,那麼直接去安...

vim中文亂碼 vim字符集設定

vim的設定一般放在 etc vimrc檔案中,不過,建議不要修改它。可以修改 vimrc檔案 預設不存在,可以自己新建乙個 寫入所希望的設定。set fileencodings utf 8,ucs bom,gb18030,gbk,gb2312,cp936 set termencoding utf ...

mysql odbc字符集設定 中文顯示亂碼

1.將mysql安裝目錄下的my.ini中的項中新增default character set gb2312 client default character set gb2312 port 3306 2.將my.ini拷貝到c盤根目錄,並修改名字為my.cnf 3.在配置odbc源時,選上read...