FontForge教學 #5

調整metrics

製作好字體之後,你必須要調整字體之間的空白。 任何兩個字體之間的空白可分為兩個部份,一部份屬於前一個字,另一部份屬於後一個字。 在文字方向為左右編排的場合中,這兩部份分別被稱為right side bearing (右留白) 和left side bearing (左留白) 。

想要調整左留白,在outline view中使用 Edit->Select All然後拖曳字體到適當的位置。 右留白可藉由調整advance width來更改。

一般而言最好不要單看一個字就來調整它的metric,你應該把字體放在有上下文的地方調整與其它字的關係。 按下Window->Open Metrics Window

打開metrics view的時候如果你有選字,這些字就會出現在metrics view裡面。 你可以改變顯示的字,只要你在視窗上方的輸入區打入其它的字,或者可以從font view中把字拖過來。

從這裡你可以在視窗下方的輸入區改變字的metrics,不然的話在按下字體後,你可以直接拖曳字體改變左留白,或是拖曳字體的字寬線改變右留白。

如果你須要製做打字機式的字體 (所有的字體都用同樣寬度) ,那麼就先在font view中用Edit->Select All 全選字體,再利用Metrics->Set Width。 這樣一來所有的字體都會有一樣的寬度。 之後你可能要使用 Metrics->Center in Width以便使字體移到格子中央。

如果你覺得這些手動調整的方法都太麻煩了,可以試試 Metrics->Auto Width. 這可以自動 (並神奇地) 指派好字體的寬度。 雖然自動設定好的寬度未達專業標準,但是一般而言是合理的近似設定。

縱向metrics

FontForge能設定中日韓字型所需的縱向metrics。 首先按Element->Font Info->General->Has Vertical Metrics告訴FontForge本字體需要縱向metrics的資料。 之後在outline view的圖層小窗中就能開啟VMetrics選項。

開啟選項後,你會看到在字體的底部有一條 (水平的) 縱向advance line。 你可以直接拖曳它。

設定字型的行距 (基線間的距離)

你說不定以為有簡便的方法可以設定這看似重要的行距。 可惜事實上沒有。

PostScript Type1 字型 (或純 CFF 字型)
沒有設定行距的方法。
從來就沒有過。
在傳統排版中,行距是一個em(在FontForge裡em預設就是上下緣間距)。 有些應用程式是遵照這個規則。 別的應用程式參考字體的bouding box (為一列文字的最大上緣高和最低下緣深之和) -- 這是很爛卻很常用的方法。
TrueType 或 OpenType 字型
不幸的,設定方法依平台而有所不同。
Mac
在Mac裡,基線間距也是由「hhea」表指定的bouding box值決定,還可以用linegap來作額外的調整。(你可以在FontForge的Element->FontInfo->OS/2設定linegap。)
Windows
依OpenType規格書的說法,基線間距是由「OS/2」表格的Typographic Ascent 和 Typographic Descent所決定。 這可以在Element->FontInfo->OS/2設定,FontForge在這裡的預設值是Ascent和Descent (上下緣),而且這樣的設定經常被接受--它們的和是一個em,而且等於傳統排版中未改變行距的預設結果。 這也可以由linegap作額外的修改。
不幸的,Windows程式很少遵循這個標準 (我猜也沒有多少人會感到意外),常用的反而是「OS/2」表格中的Win Ascent/Descent字段所指定的bounding box。
Linux/Unix
我不信這裡有所謂的標準做法。Unix應用程式可能就選一種上面的做法來實行。

有真正排版能力的應用程式會讓使用者自行調整基線間距,所以預設值就沒那麼重要了。

Kerning

如果你小心翼翼地調整好所有的左右留白,那麼在大部份的情況下字間空白會很好看。 但還是有一些情況下這種調整左右留白的方法會行不通。

看看「To」或是「Av」,你會發現這兩個情況下原本的設定並不合宜。 如果「o」能夠再向左移,擠到「T」的橫劃下方,才會比較好看。 這就叫做kerning,用來一對一對地微調字體之間的空白。
Kerning

上面的例子中左邊是沒有kern過的字,而右邊是kern好的字。 要kern一對字,只要點選右邊字,兩字之間的線 (原本是左字的字寬線) 就會變成綠色的 (kerning的字寬線) 。 拖曳這條線,調整適當的間距。

(有些字體組合 製造連體字會比用kerning來得好看。)

Kerning類

有時候許多字體會有相似的kerning特徵,此時你大概需要建立kerning classes (也就是說 A, À, Á, Â, Â, Ã 以及 Ä kern起來要一樣) 。

縱向kerning

FontForge對於縱向kerning的支援也是一模一樣。 它可以讀寫TrueType,OpenType和svg字體的縱向kerning資訊。 它也可以製做縱向kerning類。 Metrics視窗也有縱向模式,可資設定縱人向kerning pairs。 它還可以把橫向kerning的資訊複製到旋轉九十度的字體上。 (也就是說如果「A」「V」的橫向kerning是-200,那麼「A.vert」和「V.vert」應該也要有-200的縱向kerning。)

(縱向kerning只有在啟用縱向metrics之後才能使用。)

-- 上一頁 -- 目錄 -- 下一頁 --