日期:2014-01-25  浏览次数:20475 次

我使用的是FPDF(www.fpdf.org),下载了fpdf类库后,还要使用下面的中文类库才能支持中文,但只能使用一种中文字体(华文仿宋)。为此我烦恼了很长时间,现在终于搞定了,将TrueType字体转化为pt1字体使用:

下面是在FPDF上找的一个中文类库:
<?php
require(''fpdf.php'');

$Big5_widths=array('' ''=>250,''!''=>250,''"''=>408,''#''=>668,''$''=>490,''%''=>875,''&''=>698,''''''=>250,
''(''=>240,'')''=>240,''*''=>417,''+''=>667,'',''=>250,''-''=>313,''.''=>250,''/''=>520,''0''=>500,''1''=>500,
''2''=>500,''3''=>500,''4''=>500,''5''=>500,''6''=>500,''7''=>500,''8''=>500,''9''=>500,'':''=>250,'';''=>250,
''<''=>667,''=''=>667,''>''=>667,''?''=>396,''@''=>921,''A''=>677,''B''=>615,''C''=>719,''D''=>760,''E''=>625,
''F''=>552,''G''=>771,''H''=>802,''I''=>354,''J''=>354,''K''=>781,''L''=>604,''M''=>927,''N''=>750,''O''=>823,
''P''=>563,''Q''=>823,''R''=>729,''S''=>542,''T''=>698,''U''=>771,''V''=>729,''W''=>948,''X''=>771,''Y''=>677,
''Z''=>635,''[''=>344,''''=>520,'']''=>344,''^''=>469,''_''=>500,''`''=>250,''a''=>469,''b''=>521,''c''=>427,
''d''=>521,''e''=>438,''f''=>271,''g''=>469,''h''=>531,''i''=>250,''j''=>250,''k''=>458,''l''=>240,''m''=>802,
''n''=>531,''o''=>500,''p''=>521,''q''=>521,''r''=>365,''s''=>333,''t''=>292,''u''=>521,''v''=>458,''w''=>677,
''x''=>479,''y''=>458,''z''=>427,''{''=>480,''|''=>496,''}''=>480,''~''=>667);

$GB_widths=array('' ''=>207,''!''=>270,''"''=>342,''#''=>467,''$''=>462,''%''=>797,''&''=>710,''''''=>239,
''(''=>374,'')''=>374,''*''=>423,''+''=>605,'',''=>238,''-''=>375,''.''=>238,''/''=>334,''0''=>462,''1''=>462,
''2''=>462,''3''=>462,''4''=>462,''5''=>462,''6''=>462,''7''=>462,''8''=>462,''9''=>462,'':''=>238,'';''=>238,
''<''=>605,''=''=>605,''>''=>605,''?''=>344,''@''=>748,''A''=>684,''B''=>560,''C''=>695,''D''=>739,''E''=>563,
''F''=>511,''G''=>729,''H''=>793,''I''=>318,''J''=>312,''K''=>666,''L''=>526,''M''=>896,''N''=>758,''O''=>772,
''P''=>544,''Q''=>772,''R''=>628,''S''=>465,''T''=>607,''U''=>753,''V''=>711,''W''=>972,''X''=>647,''Y''=>620,
''Z''=>607,''[''=>374,''''=>333,'']''=>374,''^''=>606,''_''=>500,''`''=>239,''a''=>417,''b''=>503,''c''=>427,
''d''=>529,''e''=>415,''f''=>264,''g''=>444,''h''=>518,''i''=>241,''j''=>230,''k''=>495,''l''=>228,''m''=>793,
''n''=>527,''o''=>524,''p''=>524,''q''=>504,''r''=>338,''s''=>336,''t''=>277,''u''=>517,''v''=>450,''w''=>652,
''x''=>466,''y''=>452,''z''=>407,''{''=>370,''|''=>258,''}''=>370,''~''=>605);

class PDF_Chinese extends FPDF
{
function AddCIDFont($family,$style,$name,$cw,$CMap,$registry)
{
$i=count($this->fonts)+1;
$fontkey=strtolower($family).strtoupper($style);
$this->fonts[$fontkey]=array(''i''=>$i,''type''=>''Type0'',''name''=>$name,''up''=>-120,''ut''=>40,''cw''=>$cw,''CMap''=>$CMap,''registry''=>$registry);
}

function AddBig5Font($family=''Big5'')
{
$cw=$GLOBALS[''Big5_widths''];
$name=''MSungStd-Light-Acro'';
$CMap=''ETenms-B5-H'';
$registry=array(''ordering''=>''CNS1'',''supplement''=>0);
$this->AddCIDFont($family,'''',$name,$cw,$CMap,$registry);
$this->AddCIDFont($family,''B'',$name.'',Bold'',$cw,$CMap,$registry);
$this->AddCIDFont($family,''I'',$name.'',Italic'',$cw,$CMap,$registry);
$this->AddCIDFont($family,''BI'',$name.'',BoldItalic'',$cw,$CMap,$registry);
}

function AddGBFont($family=''GB'')