1、先將字體複製到目錄:\vendor\mpdf\mpdf\ttfonts2、再修改文件\vendor\mpdf\mpdf\src\Config\FontVariables.php,對照已經添加的simsun,simkai,simhei,fangzhenweibei,fangzhenheiti等字體 ...
1、先將字體複製到目錄:\vendor\mpdf\mpdf\ttfonts
2、再修改文件\vendor\mpdf\mpdf\src\Config\FontVariables.php,對照已經添加的simsun,simkai,simhei,fangzhenweibei,fangzhenheiti等字體進行增加即可。
3、再在需要設置字體的文字加上font-family:fangzhenweibei;樣式即可。
附FontVariables.php文件代碼:
1 <?php 2 3 namespace Mpdf\Config; 4 5 class FontVariables 6 { 7 8 private $defaults; 9 10 public function __construct() 11 { 12 $this->defaults = [ 13 14 //指定要使用的字體度量: 15 //-'winTypo使用OS/2表中的sTypoAscender等,通常建議使用-BUT 16 //-“win”使用OS/2中的WinAscent等,inpractice似乎在Windows環境中更常用 17 //-'mac'使用hhea表中的Ascender等,併在mac/OSX環境中使用 18 19 'fontDescriptor' => 'win', 20 21 //對於自定義字體數據文件夾,請設置配置項“fontDir”。它也可以是目錄陣列, 22 //然後將返回第一個找到的文件 23 //可選地設置字體(在“fontdata”中定義的名稱)以用於缺少的字元 24 //使用useSubstitutions時。使用覆蓋範圍廣的字體-dejavusansconsted是一個好的開始 25 //只能使用子集(否則將添加非常大的文件) 26 //可以指定多個字體,但每個字體都會增加腳本的處理時間 27 28 'backupSubsFont' => ['dejavusanscondensed', 'freesans', 'sun-exta'], 29 30 //可選地設置用於CJK字元的字體(名稱在“fontdata”中定義如下) 31 //使用useSubstitutions時,在平面2 Unicode(>U+20000)中。 32 //如果可用,請使用類似hannomb或sun-extb的字體 33 //只能使用子集(否則將添加非常大的文件) 34 35 'backupSIPFont' => 'sun-extb', 36 37 /* 38 此數組定義CSS或HTML字體系列的翻譯 39 到mPDF中使用的內部字體系列名稱。 40 無論安裝了何種字體,都可以包含任意數量的字體。 41 預設情況下,mPDF將採用CSS/HTML字體系列並刪除空格 42 更改為小寫,例如“Times New Roman”將被識別為 43 “時間新羅馬” 44 您只需要定義其他翻譯。 45 您也可以使用它來定義特定的替換,例如。 46 “helvetica”=>“arial” 47 設置通用替換(即無襯線或襯線字體) 48 通過在下麵的“sans_fonts”中包含字體系列 49 */ 50 'fonttrans' => [ 51 'times' => 'timesnewroman', 52 'courier' => 'couriernew', 53 'trebuchet' => 'trebuchetms', 54 'comic' => 'comicsansms', 55 'franklin' => 'franklingothicbook', 56 'ocr-b' => 'ocrb', 57 'ocr-b10bt' => 'ocrb', 58 'damase' => 'mph2bdamase', 59 ], 60 61 /* 62 此數組列出TrueType.ttf或.otf字體文件的文件名 63 (內部mPDF)字體系列名稱的每個變體。 64 ['R']=常規(普通),其他為粗體、斜體和粗體斜體 65 每個條目必須包含一個['R']條目,但其他條目是可選的。 66 僅此處輸入的字體(文件)可用於mPDF。 67 將首選預設值放在首位 68 如果在以下任何文件中找不到命名字體,將使用此選項 69 'sans_fonts', 'serif_fonts' or 'mono_fonts' 70 71 ['sip-ext'] = 'sun-extb', name a related font file containing SIP characters 72 ['useOTL'] => 0xFF, Enable use of OTL features. 73 ['useKashida'] => 75, Enable use of kashida for text justification in Arabic text 74 75 如果引用了.ttc TrueType集合文件,則字體編號 76 在集合中。集合中的字體已編號 77 從1開始,如.ttc文件中所示,例如。 78 "cambria" => array( 79 'R' => "cambria.ttc", 80 'B' => "cambriab.ttf", 81 'I' => "cambriai.ttf", 82 'BI' => "cambriaz.ttf", 83 'TTCfontID' => array( 84 'R' => 1, 85 ), 86 ), 87 "cambriamath" => array( 88 'R' => "cambria.ttc", 89 'TTCfontID' => array( 90 'R' => 2, 91 ), 92 ), 93 */ 94 95 'fontdata' => [ 96 "dejavusanscondensed" => [ 97 'R' => "DejaVuSansCondensed.ttf", 98 'B' => "DejaVuSansCondensed-Bold.ttf", 99 'I' => "DejaVuSansCondensed-Oblique.ttf", 100 'BI' => "DejaVuSansCondensed-BoldOblique.ttf", 101 'useOTL' => 0xFF, 102 'useKashida' => 75, 103 ], 104 "simsun" => [ 105 'R' => "simsun.ttf", 106 // 107 ], 108 "simkai" => [ 109 'R' => "simkai.ttf", 110 ], 111 "simhei" => [ 112 'R' => "simhei.ttf", 113 ], 114 "fangzhenweibei" => [ 115 'R' => "fangzhenweibei.ttf", 116 ], 117 "fangzhenheiti" => [ 118 'R' => "fangzhenheiti.ttf", 119 ], 120 ], 121 //如果字體包含SIP或SMP Unicode平面中的字元,請將其添加到此陣列 122 ////但你不需要它們。這允許使用更有效的子設置形式。 123 'BMPonly' => [ 124 "simsun", 125 "simkai", 126 "simhei", 127 "fangzhenweibei", 128 "fangzhenheiti", 129 ], 130 131 //接下來的3個陣列做兩件事: 132 // 1. 如果HTML/CSS中引用的字體對mPDF不可用,這些數組將確定替換了襯線/無襯線或單空格字體 133 // 2. 每個數組中的第一個字體將是在上述情況下替換的字體(否則,順序無關緊要) 134 //使用mPDF字體系列名稱,即小寫和無空格(在$fonttrans中進行任何翻譯後) 135 //始終包含“sans-serif”、“serif”和“monospace”等。 136 137 'sans_fonts' => ['simsun','simkai','simhei','fangzhenweibei','fangzhenheiti'], 138 139 'serif_fonts' => ['simsun','simkai','simhei','fangzhenweibei','fangzhenheiti'], 140 141 'mono_fonts' => ['simsun','simkai','simhei','fangzhenweibei','fangzhenheiti'], 142 ]; 143 } 144 145 public function getDefaults() 146 { 147 return $this->defaults; 148 } 149 150 }View Code