2015-08-14 59 views
1

我有一個pdf,其中包含一些字符,如第8頁上的破折號和雙引號,其寬度爲0. 它具有Times-Roman字體。
我試圖找到時間羅馬字體使用AFM文件的寬度,但沒有運氣。
如何找到這些字符的寬度?PDF中的Times-Roman字體中缺少寬度

謝謝。

回答

2

Times Roman是其中的標準14字體。這些字體通常是PDF規範中有關所需數據的例外情況,例如

寬度陣列(所需除了標準的14種字體; ...

(表111 - 條目在類型1的字體庫 - ISO 32000-1

這些字體部分解釋了從何處獲取信息:

14種1種字體的PostScript名稱,被稱爲標準14種字體,如下所示:Times-Roman,Helvetica,Courier,Symbol,Times-Bold,Helvetica-Bold,Courier-Bold,ZapfDingbats,Times -Italic,HelveticaOblique,Courier-Oblique,Times-BoldItalic,Helvetica-BoldOblique,Courier-BoldOblique

這些字體或其字體尺寸和合適的替換字體應可用於符合標準的讀者。

注意附件D中列出了這些字體的字符集和編碼。標​​準14種字體的字體度量文件可從ASN網站獲取(請參閱參考書目)。有關字體指標的更多信息,請參閱Adobe技術說明#5004,Adob​​e Font Metrics文件格式規範

(第9.6.2.2 - 標準Type 1字體(標準14種字體) - ISO 32000-1

已經點擊throught Adob​​e的網站,它看起來像字體規格目前可在ftp://ftp.adobe.com/pub/adobe/type/


該OP在評論中澄清了他的問題:

我已經嘗試過Adobe的字體指標文件來獲取寬度值char \ x93,\ x94,\ x96,\ x97,\ x98。但是這些值在AFM文件中不存在。我怎樣才能找到這些值的寬度?

首先您必須查看這些值的含義。

您提到問題發生在頁碼8和字體是Times-Roman。第8頁有時報羅馬字體F28和和F46,並有Fimes粗體字體 F43 。其他字體是CourierCMSY10(TeX Computer Modern Symbol?)。 F28F43,並F46具有相同的編碼項:

163 0 obj 
<</Differences 
    [0/.notdef 1/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash/ogonek/ring 10/.notdef 11/breve/minus 13/.notdef 14/Zcaron/zcaron/caron/dotlessi/dotlessj/ff/ffi/ffl 22/.notdef 30/grave/quotesingle/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde 127/.notdef 130/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl/circumflex/perthousand/Scaron/guilsinglleft/OE 141/.notdef 147/quotedblleft/quotedblright/bullet/endash/emdash/tilde/trademark/scaron/guilsinglright/oe 157/.notdef 159/Ydieresis 160/.notdef 161/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis] 
    /Type/Encoding>> 
endobj 

您正在尋找\ X93 \ X94 \ X96 \ X97 \ X98,即(十進制)147,148,150,151,152根據上述編碼,尤其是這差異部分:

147/quotedblleft/quotedblright/bullet/endash/emdash/tilde 

這意味着quotedblleftquotedblrightendashemdash,和波浪。在字體度量文件中搜索這些名字可以得到:

C 170 ; WX 444 ; N quotedblleft ; B 43 433 414 676 ; 
C 186 ; WX 444 ; N quotedblright ; B 30 433 401 676 ; 
C 177 ; WX 500 ; N endash ; B 0 201 500 250 ; 
C 208 ; WX 1000 ; N emdash ; B 0 201 1000 250 ; 
C 196 ; WX 333 ; N tilde ; B 1 532 331 638 ; 

所以這裏是你的角色的指標,特別是寬度。

+0

我試過Adobe的字體公制文件來獲取寬度值char \ x93,\ x94,\ x96,\ x97,\ x98。但是這些值在AFM文件中不存在。我怎樣才能找到這些值的寬度? – Swaroop

+0

我編輯了我的答案,包括找到這些字符的寬度的方法。 – mkl

+0

感謝您的解決方案.. – Swaroop