我目前正在開發自己的自定義字體使用符號和其他圖形,我想基於矢量是。問題是如何創建一個字形,其字形覆蓋給定字體大小的整個高度。我怎樣才能創建一個字體,其中包括字形字體大小的100%高度?
如果我有一個40px高度的塊,並將font-size和line-height設置爲40px,我希望字形的最頂部位於塊頂部,最底部位於塊的頂部塊的底部。換句話說,字形應垂直完全覆蓋相同高度的塊,給定相同的font-size/line-height。
好了,問題是,它不... 我試圖基線和下降設置爲0,並設置x高度,大寫高度和上升到1500例如如果我再畫我所有的字形在這些垂直線之間,它們都顯示出所需的方式。除了在Mac上!在Mac FF中,它們抵消了頂部約50%。在Safari和Chrome中,除非您設置「display:inline-block」而不是「display:block」,否則它們完全不顯示。
我也試圖在3.2類型建立一個完全新的字體,使用默認的指標等,這在我看來,下降線決定在字形的底部,最尖端呈現。另一方面,頂部似乎處於頂蓋高度和上升線之間的某處,但更多位於頂蓋高度。如果我從下降到上升畫出字形,字形頂部將被切掉。如果我從下降到帽高繪製一個字形,塊頂和字形頂部之間會有一個空格。
有沒有我可以申請任何「標準」的指標,我應該怎麼定位我的字形得到它如上所述?
的字體在它的一個副本的當前狀態所在的位置:
https://s3-eu-west-1.amazonaws.com/public-karlis-rode/stack-overflow/Custom-Icon.ttf
編輯: 工作示例可以在這裏找到:
https://s3-eu-west-1.amazonaws.com/public-karlis-rode/stack-overflow/index.html
左塊包含我的自定義字體的元素(情況a)。下一個塊包含Twitter Bootstrap中使用的字體中的一個元素(情況b)。最後兩個塊(情況c和d)包含來自我使用的類型3.2的默認設置的測試字體的元素。第一個測試元素(c)在下降線處具有最低點,並且在帽高度線處具有其最高點。最後一個元素(d)在基線處具有其最低點,並且在x高度線處具有其最高點。
它是如何呈現在Ubuntu和Windows7的所有瀏覽器(在Ubuntu的這種情況下,FF):
這是所期望的行爲!
它是如何呈現在FF在Mac上:
它是如何呈現在Mac上的Safari:
由於兩個B,c和d在所有瀏覽器呈現相同的和所有操作系統,在我看來,我自己的自定義字體缺乏和/或在度量標準中存在一些矛盾的信息,以使其一致呈現。
+1有趣的更新。我發現[這篇關於Typophilo的文章](http://typophile.com/node/13081)爲這些指標提供了一些見解和最佳實踐。 – RoelN