在 FontForge 中設(shè)計(jì)字體的時(shí)候?qū)?huì)用到一些工具和實(shí)用工具,我們開始先使用一些能讓用戶對(duì)矢量圖形感到熟悉的繪制工具–這方面的經(jīng)驗(yàn)有顯著不同。 我們?cè)诳?FontForge 的繪制工具前首先來(lái)理解 Bézier 曲線如何工作。
Bézier 曲線的概念指的是一個(gè)特別的數(shù)學(xué)上的表示,用來(lái)數(shù)字化地產(chǎn)生平滑的曲線。通常使用二次方和三次方 Bézier 曲線—FontForge 也支持 Spiro 曲線,設(shè)計(jì)者的另一種可以替換的表現(xiàn)。
在本章中,我們只討論三階路徑,它在繪制字形時(shí)普遍使用。Spiro 路徑將在下一章討論,二階曲線在繪制時(shí)很少用到,只會(huì)在 TrueType 字體中找到– 他們更常出現(xiàn)在構(gòu)建時(shí)。
一個(gè)典型的 Bézier 曲線由一個(gè)錨點(diǎn)和標(biāo)示全部方向的兩個(gè)手柄組成— 每個(gè)手柄的長(zhǎng)度決定了一端的曲線的長(zhǎng)度–如下。
曲線點(diǎn)有兩個(gè)手柄,每個(gè)都連接到另一個(gè),因此他們之間的線是直的,目的是在每一端都產(chǎn)生平滑的曲線。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/tools-curve-point.png" alt="tools-curve-point.png" />
H/V曲線點(diǎn)(horizontal/vertical)是對(duì)齊到水平或豎直軸曲線點(diǎn)的變體–一個(gè)使 Bézier 曲線形態(tài)正確的必要工具(其他同樣作用的工具見下節(jié))。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/tools-HV-point.png" alt="tools-HV-point.png" />
拐角點(diǎn)可以有 0、1 或 2 個(gè) Bézier 手柄。每個(gè)手柄的位置相對(duì)其他獨(dú)立,適合用來(lái)構(gòu)造不連續(xù)的輪廓。沒(méi)有手柄時(shí),拐角點(diǎn)產(chǎn)生直線。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/tools-square-point.png" alt="tools-square-point.png" />
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/tools_corner_point_2.png" alt="tools_corner_point_2.png" />
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/tools-corner-point-3.png" alt="tools-corner-point-3.png" />
如果你希望從一條直線開始然后是平滑的曲線,那么你需要使用切點(diǎn)。一個(gè)切點(diǎn)在一端留下直線,另一端的 Bézier 手柄是其方向–這保證了線條和曲線間連續(xù)過(guò)渡。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/tools-tangent-point.png" alt="tools-tangent-point.png" />
為了產(chǎn)生合適的曲線–使用最少控制點(diǎn)并減輕柵格化,錨點(diǎn)應(yīng)該始終放置在曲線極值處,并且除非你的字母中有中斷,否則確定路徑的線應(yīng)該是水平或者豎直的。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/bezier_sample.png" alt="bezier_sample.png" />
注意:如果你的控制點(diǎn)沒(méi)有放置在極值出,FontForge 將會(huì)用一個(gè)瞄準(zhǔn)圖標(biāo)指出實(shí)際的極值處: http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/bezier_sample_3.png" alt="bezier_sample_3.png" /> 那么你這樣修正:復(fù)制你當(dāng)前的輪廓到另一個(gè)圖層,移動(dòng)周圍的控制點(diǎn)使其排列正確–否則 FontForge 驗(yàn)證工具將會(huì)自動(dòng)在極值處添加點(diǎn),在該點(diǎn)處你可以通過(guò)右擊>Merge來(lái)合并你放錯(cuò)的錨點(diǎn)。 更多相關(guān)信息在稍后的確保你的字體有效,驗(yàn)證一章。
詳細(xì)說(shuō)來(lái),有兩種情況你需要放棄水平/豎直的 Bézier 路徑:
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/bezier_sample_2.png" alt="bezier_sample_2.png" />
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/bezier_sample_4.png" alt="bezier_sample_4.png" />
注意:正如你所看到的那樣,當(dāng)你用一個(gè)拐角設(shè)置中斷的時(shí)候,每個(gè)手柄的方向應(yīng)該是曲線延伸方向的切向。
在主窗口中,雙擊其中一個(gè)字形的格子來(lái)打開字形窗口。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/glyph_window.png" alt="glyph_window.png" />
注意:x 軸和 y 軸交叉的地方上面的數(shù)字從左到右分別指示:
當(dāng)心:有時(shí)當(dāng)你在字形窗口內(nèi)時(shí),F(xiàn)ontForge 看起來(lái)無(wú)響應(yīng)。這可能是由于一個(gè)打開的對(duì)話框隱藏在其后–所以只需要移動(dòng)它并處理對(duì)話框。
2 個(gè)點(diǎn)組成的直線。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/tools_line_points.png" alt="tools_line_points.png" />
一個(gè)樣條曲線包含了 4 個(gè)點(diǎn):2 個(gè)結(jié)束點(diǎn)和 2 個(gè)描述樣條曲線在結(jié)束點(diǎn)的斜率的手柄。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/tools_splines_points.png" alt="tools_splines_points.png" />
就像大多數(shù)繪制軟件一樣,F(xiàn)ontForge 允許你復(fù)制、剪切、粘貼和刪除任何點(diǎn)、直線和樣條曲線。這些命令可以在 Edit 菜單找到,或者使用你的操作系統(tǒng)的快捷鍵(也展示在了菜單中每個(gè)命令的旁邊)。
現(xiàn)在你已經(jīng)知道了畫布周邊功能用法,是時(shí)候熟悉畫布工具了。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/point_zoom.png" alt="point_zoom.png" />
指針和縮放工具的用法和其他應(yīng)用的的等價(jià)工具類似。指針是一個(gè)選擇工具,用來(lái)選擇畫布上的點(diǎn)、路徑和其他對(duì)象??s放工具讓你(在 Z 軸上)更方便地縮放;想要縮?。旱?View 菜單下選擇 Zoom out(X)或者 Fit。
需要注意的是,在你使用其他工具的時(shí)候,可以通過(guò)按住 Control(Ctrl)鍵來(lái)暫時(shí)切換到指針工具。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/freehand_tool.png" alt="freehand_tool.png" />
自由繪制讓你可以畫出不規(guī)則的路徑。
在繪制區(qū)域,鼠標(biāo)按住拖動(dòng)來(lái)繪制。切換回指針工具,你可以選擇你剛才繪制的路徑上的點(diǎn)。
當(dāng)你選擇路徑上的一個(gè)點(diǎn)的時(shí)候,它將會(huì)變成一個(gè)黃色的圈。如果選擇的點(diǎn)在曲線上,那么他將會(huì)顯示出帶有一個(gè)洋紅色手柄和一個(gè)青色手柄的控制點(diǎn)。你可以拖動(dòng)他們來(lái)改變曲線的形狀。
那么我們開始學(xué)習(xí)指針工具。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/point_tools_labelled.png" alt="point_tools_labelled.png" />
為了在路徑上添加一個(gè)點(diǎn),我們首先選擇這些工具中的一個(gè),然后在路徑上點(diǎn)擊并輕推一下。你就在線上添加了一個(gè)新的點(diǎn)。
曲線點(diǎn)工具用來(lái)在曲線段上添加一個(gè)點(diǎn)。 HVCurve 點(diǎn)工具約束新點(diǎn)為水平或者豎直的控制點(diǎn)–這對(duì)設(shè)置極值點(diǎn)來(lái)說(shuō)是重要的。拐角點(diǎn)工具用來(lái)在路徑上制作尖銳的轉(zhuǎn)彎。切點(diǎn)工具用來(lái)實(shí)現(xiàn)直線段到曲線段的沿著路徑的過(guò)渡。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/addpoint_tool.png" alt="addpoint_tool.png" />
鋼筆工具用來(lái)在曲線上添加點(diǎn)并拖出其控制點(diǎn)。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/spiro.png" alt="spiro.png" />
選擇 Spiro 工具會(huì)進(jìn)入 Spiro 繪制模式。Spiro繪制可以在你調(diào)整節(jié)點(diǎn)位置的時(shí)候重排你的曲線。有的人相對(duì)于標(biāo)準(zhǔn)方法(稱為 Bézier 編輯),更偏好這個(gè)方法,但是如果你習(xí)慣了 Bézier 編輯,你可能發(fā)現(xiàn)這種方法會(huì)做沒(méi)有料到的事情。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/knife.png" alt="knife.png" />
小刀工具讓你可以將樣條曲線且為兩段。如果你希望繪制一個(gè)圖形但是只需要一部分,那么這個(gè)工具是合用的。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/ruler.png" alt="ruler.png" />
尺子工具提供測(cè)量和坐標(biāo)信息給你。當(dāng)你使用時(shí),在鼠標(biāo)指針旁邊顯示一個(gè)浮動(dòng)的提示框。如果你的鼠標(biāo)指針懸停在一個(gè)點(diǎn)上,提示框提示框會(huì)展示更詳細(xì)的測(cè)量和坐標(biāo)信息。如果你在樣條曲線上使用,它將告訴你曲率和半徑。最有用的是,如果你點(diǎn)擊拖動(dòng)尺子工具,你將看到你拖動(dòng)鼠標(biāo)指針的距離,以及穿過(guò)圖形的每個(gè)交點(diǎn)的信息。
變形工具有 6 個(gè):
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/transform_tools_labelled.png" alt="transform_tools_labelled.png" />
注意:對(duì)于每個(gè)變形工具,如果你雙擊工具,可以輸入數(shù)值。
縮放工具可以讓你自由手動(dòng)縮放一個(gè)對(duì)象。按住 Shift 鍵可以在縮放的同時(shí)保持比例。
旋轉(zhuǎn)工具可以自由地旋轉(zhuǎn)一個(gè)物體。始終圍繞你最初點(diǎn)擊的位置來(lái)旋轉(zhuǎn)對(duì)象。
3D 旋轉(zhuǎn)工具可以在第三維度旋轉(zhuǎn)對(duì)象,并將結(jié)果投影在 x-y 平面上
翻轉(zhuǎn)工具可以水平或者豎直地翻轉(zhuǎn)選中的對(duì)象。旋轉(zhuǎn)的原點(diǎn)是最初點(diǎn)擊鼠標(biāo)的點(diǎn)。
注意:翻轉(zhuǎn)一個(gè)點(diǎn)后你很可能需要應(yīng)用Element>Correct Direction。
扭曲工具可以將選中的對(duì)象順時(shí)針或者逆時(shí)針做水平扭曲。
透視工具讓你能夠以非線性的方式扭曲圖形。
注意: 透視轉(zhuǎn)換并沒(méi)有數(shù)值選項(xiàng)。
這些工具讓你可以繪制簡(jiǎn)單的幾何形狀,這樣比使用分開的線段構(gòu)建形狀更快。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/rectangle_poly_labelled.png" alt="rectangle_poly_labelled.png" />
點(diǎn)擊工具區(qū)域可以切換到可選的另一個(gè)工具。如果你雙擊這個(gè)工具,會(huì)打開形狀樣式的選項(xiàng)。
矩形選項(xiàng):拐角樣式和擴(kuò)展方式(拐角還是中心擴(kuò)展)。
橢圓選項(xiàng):邊框擴(kuò)展還是中心擴(kuò)展。
多邊形選項(xiàng):頂點(diǎn)數(shù)量。
星形選項(xiàng):星形的頂點(diǎn)數(shù)量和點(diǎn)的深度百分比。百分比設(shè)置越高,星形的角越長(zhǎng)。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/danger.png" alt="danger.png" />
在工具欄中你可以看到當(dāng)前的工具和鼠標(biāo)按鍵可以使用的操作:
這樣你不必反復(fù)點(diǎn)擊工具欄就可以使用一些不同的工具。
當(dāng)心:Mse 功能當(dāng)前看上去不能正確工作。
FontForge 的畫布默認(rèn)有 3 個(gè)圖層:引導(dǎo)圖層,背景圖層和前景圖層。引導(dǎo)圖層用來(lái)插入引導(dǎo)(比如 x 高度或者大寫高度引導(dǎo))。前景圖層和背景圖層都是用來(lái)繪制的,但是只有最頂層的引導(dǎo)圖層將會(huì)呈現(xiàn)在最終的字體上。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/layers.png" alt="layers.png" />
眼睛圖標(biāo)指示每個(gè)圖標(biāo)是否可見,并且你可以點(diǎn)擊眼睛圖標(biāo)來(lái)使圖層不可見。C(或者 Q)你是否在使用三階或二階曲線。
B、F 或者 # 代表每個(gè)圖層是否是引導(dǎo)圖層、背景圖層或者前景圖層,在你添加了多個(gè)圖層后更有意義。你可以使用工具欄的加(+)或減(?)來(lái)創(chuàng)建和刪除額外的圖層。圖層類型和曲線類型也可以通過(guò)右擊來(lái)控制(如果你有額外的圖層時(shí))。
接下來(lái)我們重溫基本繪制的工作流程。你經(jīng)常會(huì)發(fā)現(xiàn)你需要它。
使用鋼筆工具,在一條線段的中間點(diǎn)擊不放,并拖動(dòng)鼠標(biāo)改變圖形。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/014.png" alt="014.png" />
選中你的新圖形左下角的拐角點(diǎn)(曲線和直線的交點(diǎn))。在 Point 菜單可以看到 Corner Point 是勾選的。選擇 Tangent。這將方形節(jié)點(diǎn)改為了三角形,但是做完下一步才算全部做完:擴(kuò)展控制點(diǎn)。
為了這么做,選擇 Element>Get Info,打開了點(diǎn)信息窗口。在窗口中的 Location 選項(xiàng)卡的 Next CP 設(shè)置,設(shè)定一個(gè)大數(shù),比如 75。點(diǎn)擊 OK。你將會(huì)看到曲線平滑地進(jìn)入直線。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/015.png" alt="015.png" />
現(xiàn)在選擇大概圖形的四分之一—星形和矩形的一部分在中間。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/016.png" alt="016.png" />
選擇 3D 旋轉(zhuǎn)工具,移動(dòng)到選擇區(qū)域的中央,慢慢地點(diǎn)擊拖動(dòng)知道看到你喜歡的形狀,然后松開。這是在實(shí)際圖像中應(yīng)用 3D 旋轉(zhuǎn)的例子:
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/017.png" alt="017.png" />
現(xiàn)在為止你已經(jīng)使用自由繪制工具來(lái)繪制一條線。如果你雙擊自由繪制工具,將會(huì)展示包含一個(gè)繪制窗口的自由繪制對(duì)話框。這里是你選擇筆觸形狀和尺寸。當(dāng)你選擇 Expand Stroke 選項(xiàng)的時(shí)候這個(gè)對(duì)話框也出現(xiàn)在 Element 菜單中。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/018.png" alt="018.png" />
使用拐角工具,繪制多邊形,點(diǎn)擊 OK。
現(xiàn)在使用自由繪制工具繪制一條線。當(dāng)你松開鼠標(biāo)按鈕的時(shí)候,像下面一樣,新的路徑自動(dòng)使用你在自由繪制對(duì)話框里選擇的寬度和形狀和繪制。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/019.png" alt="019.png" />
你應(yīng)該繼續(xù)試驗(yàn)繪制工具直到你覺(jué)得可以使用它們繪制和變形出你需要的任何形狀。到這個(gè)時(shí)候,你準(zhǔn)備好開始構(gòu)造字形的組成部分,但是你也應(yīng)該花些時(shí)間看看 FontForge 的其他工具集。下一章“使用 Spiro 繪制”描述了 Spiro 繪制模式。Spiro 繪制與 Bézier 曲線編輯太不同了,以至于需要解釋其本事。