目前的 TeX/LaTeX 系統,大概都轉用 Type1 向量字,好處是縮放時不會有鋸齒狀,處理上也比較方便。但在預設的設定下,還是會將 Type1 字型轉成 pk 點陣字來使用2.1,原因是檔案會比較小(指低解析度的時候)。但這會發生一些缺點,那就是拿到解析度不同的印表機列印時,結果會不相同,而且不太適合在螢幕上放大閱覽。
Adobe 公司的開放規格 PDF (Portable Document File) 使用上已經非常的普遍,而製作 PDF 檔,則以 Type1 字型才能讓顯示上得到較佳的效果,如果是使用 pk 點陣字的話,製作成 PDF 檔時,會轉成 Type 3 字型,可能會看起來糊糊的,比較傷眼睛(印表機印出來則差別並不大),編譯及顯示過程也會比較慢。
另外一個很重要的課題,那就是如何使 ps/PDF 檔縮小,利於網路傳輸,又不會損失檔案的品質,最重要的,也要能像一般文字檔般的 cut&paste&search,這就是為何我會捨棄傳統 pk 點陣字的原因了。
由於 Type1 字型的規格,只能容納 256 個空間,也就是只能放 256 個字,這在英文語系沒有問題,但中文光 Big-5 就有一萬多字,更不用說是其他更大的編碼字集了。很不幸的,TeX 的字型規格也是如此,只能容納 256 個字。
因此就有許許多多的前輩們想辦法使用 subfont 的觀念,把中文字打散,分裝在不同的 Type1 字型中,由數十個中文 Type1 字型組成一個完整的中文字型,經由 NFSS(New Font Selection Scheme) 的選字機制,來組合數十個分散的 Type1 字型成為一整個的中文字集,再透過字型定義檔 *.fd 來取用字型。
由於 Type1 字型實在是不太適合用於中文,於是 Adobe 公司,另外研發了 CID-Keyed font 字型規格,把字型的實體資料集中在一個檔案內,再另外使用索引、對應的方式來取用所需要的字型,這樣就不會受限於 256 個字的限制了。他仍然是和 Type1/TTF 一樣是向量字,因此用來製作 PDF 檔,在顯示上不會如 pk 點陣字型那麼醜。
除了字數不受限的好處外,CID-Keyed font 的精妙處,就在於「索引、對應」,由於用索引的方式取字,因此,我們一般文字處理上要用到的 cut&paste&search 就可以很容易的達成。這在使用 subfont 方式的中文 Type1 及 pk 字型就沒有這個好處。而且,由於可以索引、對應,也代表著,實體字型資料不必一定要放在檔案中,可以放在使用者的系統中就行了,就像現在的 HTML 格式一樣,可以不必帶著字型跑。這對 ps/PDF 格式尤其重要,因為這些格式雖然顯示上很精緻,但如果嵌入字型的話檔案大了些,在網路傳輸上不很方便。
對 TeX/LaTeX 系統而言,這個好處並不會帶來嚴重的缺失,因為視使用場合,也是可以把部份,甚至全部的字型給嵌入檔案中的,不像 HTML 格式,目前要內嵌字型的話,標準還不統一,IE 可以做到,但其他 web browser 就無法閱覽了。像這篇文章的 PDF 格式中,標題的顏楷體就是嵌入王漢宗博士捐贈的 TTF(CID TruType),仍然可以 cut&paste&search。
如果各位對這些字型檔規格有興趣,可以到 Adobe 公司去下載 spec 規格檔來研究,這些規格都是公開的格式。
這是目前使用上相當普及的字型規格,也因此,許多 hacker 們的腦筋都會動到 TTF 上,例如 ttf2pt1 可以將 TTF 轉成 Type1 字型來用,而 DVIPDFM2.2 及較新版的 GhostScript 也可利用 TTF 當成是 CID-Keyed font 來使用。甚至以往的 pk 點陣字,也是由 ttf2pk 來由 TTF 轉出來的。
底下所要介紹的,就是預設使用系統上就有的中文 TTF 來當成是 CID-Keyed font 做為 CJK 預設要使用的字型,先不論高解析度時的品質問題,就我們一般的使用,這個由 TTF 來轉成其他格式的字型,作業系統及 LaTeX 系統共用,可真的是「一兼二顧」了!
Compiled by Edward G.J. Lee (2004-05-18)