Font and PDF

來源:互聯網
上載者:User

標籤:style   http   os   使用   strong   ar   檔案   問題   sp   

1. 獨立存在的Font檔案

有三類:

Type 1 Font

TrueType Font

OpenType Font

Type 1

是由Adobe開發的,它是基於PostScript的Font,它通常由兩個分開的檔案來描述:

1. Adobe Font Metrics[Adobe]/Printer Font Metrics[Microsoft]

用來描述每個Glyph佔用的空間大小

2. PostScript Font Binary

用來完成每個Glyph的繪製工作

 

有14個特殊的Type 1字型被選擇出來作為PDF預設支援的字型,它們被稱為Standard Type1 Fonts,每個PDF viewer都應該預設提供這14個字型,因此使用這些字型的PDF檔案無需將字型檔內嵌到PDF檔案中,減少了PDF檔案的尺寸。

 

TrueType

就由Apple開發,用來對抗Type 1字型的,不過這種字型類型剛剛發布,Type 1的標準也公開了。

TrueType是Windows作業系統的標準字型檔案。

關於Type 1與TrueType字型優劣的比較,參考:http://www.pdf-tech.com/?p=981

Type1使用三次貝茲路徑來描述字形,TrueType則使用二次方貝茲曲線來描述字形。所以Type1的字型比TrueType字型更加 精確美觀。一個誤解是:Type1字型比TrueType字型佔用空間多。這是因為同樣描述一個圓形,二次方貝茲曲線只需要8個關鍵點和7段二次曲線;而 三次貝茲路徑則需要12個關鍵點和11段三次曲線。然而實際情況是一般來說 Type1比TrueType要小10%左右。這是因為對於稍微複雜的字形,為了保持平滑,TrueType必須使用更多的關鍵點。由於現代大部分印表機 都是使用PDL作為列印描述語言,所以True1字型列印的時候不會產生形變,速度快;而TrueType則需要翻譯成PDL,由於曲線方程的變化,還會 產生一定的形變,不如Type1美觀。
這麼說來,Type1應該比TrueType更具有優勢,為什麼如今的電腦上TrueType反而比Type1使用更廣泛呢?
這是因為第一:Type1由於字型方程的複雜,所以在螢幕上渲染的時候,花費的時間多,解決方案是大部分Type1字型內嵌了點陣字型,這樣渲染快, 但是邊緣不光滑,比較難看。很多PS文檔和PS轉換的PDF文檔都是這樣,在電腦上瀏覽的時候字型很難看,但是列印出來很美觀。TrueType則渲染 比較快,可以平滑的顯示在螢幕上,看上去很美觀。
第二個原因是Type1的高額使用費,使得Type1沒有被所有的作業系統所支援。Windows家族只有OS/2和windows 2000及之後的版本從作業系統層級開始支援Type1。由於這個問題,Adobe只好在其所有的產品中嵌入Adobe Type Manager(ATM)作為渲染引擎。

總結一下,就是Type 1字型更加精細準確,非常適合支援PDL的印表機裝置; TrueType則更加適合在螢幕上渲染,快而且漂亮。

 

OpenType Font

OpenType則是Type1與TrueType之爭的最終產物。1995年,Adobe公司和Microsoft公司開始聯手開發一種相容 Type1和TrueType,並且真正支援Unicode的字型,後來在發布的時候,正式命名為OpenType。OpenType可以嵌入Type1 和TrueType,這樣就兼有了二者的特點,無論是在螢幕上察看還是列印,品質都非常優秀。

OpenType是一種更加相容的方式,相容上面兩種字型;除此之外,支援Unicode也是其最大的亮點。

 

包含Type 1的OpenType檔案為.otf尾碼;包含TrueType的OpenType檔案為.ttf尾碼。

OpenType還可以包含TrueType字型的集合,即.ttc檔案。

2. PDF支援的Font類型

PDF除了支援Type 1和TrueType類型字型外,還支援一種由PDF自己的Graphics Operator描述的字型類型,命名為Type 3。

此外,為了支援超大字元集的語言,比如中文字元集,PDF還支援一種Type 0字型,稱為Composite Font。

Simple Font只支援0-255這個範圍的character encoding,而Composite Font的CMap可以支援0-65535這個範圍的character encoding。

Composite Font包含兩部分組件: CIDFont和CMap。

CIDFont: Character Identifier Font

    描述Glyph繪製參數的字型檔

CMap:Character Map, aka Character Encoding, aka Code Page

    Character與Glyph之間的映射關係

CMap是一種很有效方式,它相當於提供了一種臨時的,小型的code page,以建立真正在PDF檔案中用到的字元與字型檔之間的關係,比如WinAnsi,以及Identity_H都是一種character encoding,但是使用Indentity_H,就可以有效地減小內嵌字型的尺寸。

 

Font and PDF

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.