iT邦幫忙

0

Crystal Report轉PDF使用全字庫的難字問題~

大家好,
目前我的難字是EUDC自己造字,
然後參考亂馬大(https://dotblogs.com.tw/rainmaker/2016/03/11/140808)寫的,
使用FONTFORGE把EUDC併成一個新字型,
這樣透過Crystal Report轉PDF,難字都可以正常顯示。

由於未來可能要改用全字庫,
從OPEN DATA下載的全字庫字型一共有三個,
全字庫正楷體向量字型檔(對應至Unicode的BMP字面)
全字庫正楷體向量字型檔Ext-B(對應至Unicode的第2字面)
全字庫正楷體向量字型檔Plus(對應至Unicode的第15字面)
,難字是在Plus那個字型中
想問,Crystal Report的Text Object字型要怎麼設定??
Text資料是取自資料庫,可能有難字也可能沒有,難字也可能出現在任一個位子,
所以字型好像設那個都不對

以上,謝謝!!!

1 個回答

0
淺水員
iT邦高手 3 級 ‧ 2020-12-06 21:07:33
最佳解答

Crystal Report 我沒用過
不過最近有研究過 PDF 跟字型相關的內容
單一字型檔能容納的字最多只能到 65535 字

the maximum number of glyphs that can be defined in a TrueType font is restricted to 65,535

來源:Unicode font

剛剛看了一下字數
(因為我檔案是很久以前抓的,可能有些許誤差)

字型檔 字數
TW-Kai-98_1.ttf 39192
TW-Kai-Plus-98_1.ttf 24474
TW-Kai-Ext-B-98_1.ttf 48897

所以如果是想用合併字型的方式應該是無法做到
讓 PDF 依據 unicode 去切換字型的選擇會比較可行
至於 Crystal Report 怎麼做我就不知道了

淺水員 iT邦高手 3 級 ‧ 2020-12-07 12:51:11 檢舉

Text資料是取自資料庫,可能有難字也可能沒有,難字也可能出現在任一個位子,所以字型好像設那個都不對

如果打算自己分析 unicode 切換適合的字型:

  1. 首先會遇到「必須知道字型內有哪些 unicode 的字」。這個問題可以使用 foliojs/fontkit 預先分析字型。儲存成 json (或是其他格式)。
  2. 取出資料庫的文字後,依據每個字的 unicode,以及剛剛建立的對照表,將字串分段。
  3. 把分段的字串個別設定對應的字型,寫入 pdf

我要發表回答

立即登入回答