變音是添加或結(jié)合到一個(gè)字母上的標(biāo)記,經(jīng)常用來(lái)字母的聲調(diào)改變?yōu)樘砑拥臉?biāo)記。一些變音標(biāo)記(比如“acute”和“grave”)經(jīng)常被稱為重音。變音標(biāo)記可能出現(xiàn)在一個(gè)字母的上面或者下面,一個(gè)字母內(nèi)或兩個(gè)字母之間。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_a_grave.png" alt="dia_a_grave.png" /> http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_a_circumflex.png" alt="dia_a_circumflex.png" /> http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_a_tilde.png" alt="dia_a_tilde.png" /> http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_a_dieresis.png" alt="dia_a_dieresis.png" /> http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_c_ogonek.png" alt="dia_c_ogonek.png" /> http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_c_cedilla.png" alt="dia_c_cedilla.png" /> http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_c_dot.png" alt="dia_c_dot.png" /> http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_g_comma.png" alt="dia_g_comma.png" /> http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_hungarumlaut.png" alt="dia_hungarumlaut.png" />
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_a_grave.png" alt="dia_a_grave.png" />
小寫(xiě)的“a with grave”(unicode u+00e0)。在一個(gè)字體中通過(guò)將小寫(xiě)的“a”字形(unicode u+0061)和“combining grave accent”字形(unicode u+0300)聯(lián)合起來(lái)創(chuàng)造。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_a_circumflex.png" alt="dia_a_circumflex.png" />
小寫(xiě)的“a with circumflex”(unicode u+00e2)。在一個(gè)字體中通過(guò)將小寫(xiě)的“a”字形(unicode u+0061)和“combining circumflex accent”字形(unicode u+0302)聯(lián)合起來(lái)創(chuàng)造。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_c_ogonek.png" alt="dia_c_ogonek.png" />
小寫(xiě)的“a with ogonek”(unicode u+0105)。在一個(gè)字體中通過(guò)將小寫(xiě)的“a”字形(unicode u+0061)和“combining ogonek”字形(unicode u+0328)聯(lián)合起來(lái)創(chuàng)造。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_c_cedilla.png" alt="dia_c_cedilla.png" />
小寫(xiě)的“c with cedilla”(unicode u+00e7)。在一個(gè)字體中通過(guò)將小寫(xiě)的“c”字形(unicode u+0063)和“combining cedilla”字形(unicode u+0327)聯(lián)合起來(lái)創(chuàng)造。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_hungarumlaut.png" alt="dia_hungarumlaut.png" />
小寫(xiě)的“o with double acute”(unicode u+0151)。在一個(gè)字體中通過(guò)將小寫(xiě)的“o”字形(unicode u+006f)和“combining double acute accent”字形(unicode u+030b)聯(lián)合起來(lái)創(chuàng)造。
FontForge 可以用 2 種主要的方式自動(dòng)地創(chuàng)造帶重音的字符:
注意:如果你沒(méi)有使用錨點(diǎn)和查找表來(lái)控制變音標(biāo)記的位置,那么如果一個(gè)特定的變音標(biāo)記沒(méi)有出現(xiàn)在你的字體中,F(xiàn)ontForge 會(huì)使用一個(gè)類似的間隔字符來(lái)替代。例如如果要聯(lián)合的“acutecomb”(u+0301)沒(méi)有出現(xiàn)在你的字體中,那么 FontForge 將在自動(dòng)構(gòu)建任何添加 acute accent 的字形時(shí)會(huì)使用標(biāo)準(zhǔn)的“acute”(u+00b4)字符。如果“acutecomb”出現(xiàn)了,那么 FontForge 將會(huì)總是使用它,除非你特別強(qiáng)制 FontForge 使用間隔字符來(lái)構(gòu)建有重音的字形。
在 FontForge 的“Element”菜單,有一個(gè)“Build”功能可以用來(lái)創(chuàng)建變音字符、某些組合字符和一些重復(fù)的字符。使用“Element>Build>Build Accented Glyph”功能可以在 FontForge 中自動(dòng)構(gòu)建帶重音的字符。這個(gè)功能也可以通過(guò)快捷鍵“ctrl+shift+a”來(lái)使用。因此如果要使用“a acute“字符(u+00e1),我們需要已經(jīng)創(chuàng)造出小寫(xiě)的“a”(u+0061)和“acutecomb”字形(u+0301)。然后選擇“a acute”字符位置并使用“Element>Build>Build Accented Glyph”功能,F(xiàn)ontForge 將會(huì)放置一個(gè)到小寫(xiě)的“a”字形引用和一個(gè)到“acutecomb”字形的引用到“a acute”字符位置(如下)。
注意:如果一個(gè)變音標(biāo)記字形沒(méi)有出現(xiàn)在你的字體中,那么 FontForge 將會(huì)使用一個(gè)類似的間隔字符來(lái)替代。例如如果要聯(lián)合的“acutecomb”(u+0301)沒(méi)有出現(xiàn)在你的字體中,那么 FontForge 將在自動(dòng)構(gòu)建任何添加 acute accent 的字形時(shí)會(huì)使用標(biāo)準(zhǔn)的“acute”(u+00b4)字符。如果“acutecomb”出現(xiàn)了,那么 FontForge 將會(huì)總是使用它,除非你特別強(qiáng)制 FontForge 使用間隔字符來(lái)構(gòu)建有重音的字形。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_auto_a_acute.png" alt="dia_auto_a_acute.png" />
變音標(biāo)記的自動(dòng)放置可以通過(guò)偏好設(shè)置來(lái)調(diào)整,可以在 FontForge 的偏好設(shè)置菜單“File>Preferences>Accents”下的“accents”區(qū)域找到(如下)。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/preferences_accents.png" alt="preferences_accents.png" />
“PreferSpacingCharacters”-選擇這個(gè)選項(xiàng)為“On”將會(huì)強(qiáng)制 FontForge 使用間隔字符來(lái)構(gòu)建重音字形,即使適當(dāng)?shù)穆?lián)合字符出現(xiàn)。這個(gè)選項(xiàng)在使用錨點(diǎn)來(lái)放置變音標(biāo)記時(shí)失效。
“AccentOffsetPercent”控制基本字形和標(biāo)記字形的豎直間距的總量。這里輸入的數(shù)值時(shí)字體的 em square 的百分比。所以如果數(shù)值是“6”將會(huì)使標(biāo)記字形到基本字形的距離將是字體的 em square 的百分之六。
標(biāo)記字形水平放置的偏好設(shè)置頁(yè)可以設(shè)置。在“AccentCenterLowest”的偏好設(shè)置選擇“On”將會(huì)使重音字形處于基本字形的最低點(diǎn)的中央。
在“AccentCenterHighest”的偏好設(shè)置選擇“On”將會(huì)使重音字形處于基本字形的最高點(diǎn)的中央。
上面兩個(gè)偏好設(shè)置都選擇“Off”將會(huì)使重音放置在基本字形的寬度中央。上面兩個(gè)偏好設(shè)置都選擇“On”將會(huì)使重音放置到字符空間的中央。
在 FontForge 中構(gòu)建重音字符的最精確有效的方式是使用“錨點(diǎn)”。
錨點(diǎn)允許你精確地控制變音標(biāo)記在有重音的字符上相對(duì)于每個(gè)基本字形的位置。因此在字符“a ogonek”中,“a”字形時(shí)基本字形并會(huì)放置在正常位置,“ogonek”字形是“標(biāo)記字形”并會(huì)放置在某個(gè)位置使得“標(biāo)記字形”的錨點(diǎn)與基本字形的錨點(diǎn)一致。
在下面的例子中,創(chuàng)造一個(gè)“a ogonek”字符,創(chuàng)建了一個(gè)稱作“底部”的錨類。在小寫(xiě)的“a”字形中,“底部”錨點(diǎn)放置在“a”的莖的底部。這是“基本字形”的錨點(diǎn)的形式。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_a_anchor.png" alt="dia_a_anchor.png" />
在“ogonek”字形中,標(biāo)記錨點(diǎn)的形式中的底部錨點(diǎn)放置在字形的頂部(如下)。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_ogonek_anchor.png" alt="dia_ogonek_anchor.png" />
那么在“a ogonek”字符構(gòu)建時(shí)(使用“Build Accented Charcter”功能),“底部”標(biāo)記錨點(diǎn)將會(huì)放置在與“底部”基本錨點(diǎn)相同的位置,保證ogonek字形的引用正確地放置在“a”的引用的莖的尾部(如下)。這一精確自動(dòng)的位置只有在使用錨點(diǎn)來(lái)放置基本和標(biāo)記字形的時(shí)候才可以使用。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_a_ogonek_anchors.png" alt="dia_a_ogonek_anchors.png" />
FontForge 使用被稱為“mark-to-base”的查找功能來(lái)創(chuàng)建和放置錨點(diǎn)。這些 mark-to-base 查找可以通過(guò)你的字體的 Font Info 的 GPOS Lookups 區(qū)域來(lái)創(chuàng)建和編輯(“Element>Font Info>Lookups>GPOS”)。
在 GPOS Lookups 窗口中,點(diǎn)擊“Add Lookup”并選擇類型“Mark to Base Position”,然后在 Feature 窗格的“New”一列選擇“Mark Positioning”(如下)。點(diǎn)擊“OK”關(guān)閉窗口。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_new_mark_to_base_1.png" alt="dia_new_mark_to_base_1.png" />
選中新的查找,點(diǎn)擊“Add Subtable”。在結(jié)果窗口(如下)你可以創(chuàng)建你的錨類。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_anchor_new_subtable.png" alt="dia_anchor_new_subtable.png" />
在這個(gè)例子中(如下),創(chuàng)建了兩個(gè)錨類“top”和“bottom”。“top”錨類將會(huì)用來(lái)放置字形上面的變音標(biāo)記,“bottom”類將會(huì)用來(lái)放置字形下面的標(biāo)記。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_marks_classes_add.png" alt="dia_marks_classes_add.png" />
要在一個(gè)字形上放置錨點(diǎn),只需要在字形編輯窗口鼠標(biāo)右擊,在右鍵菜單中選擇“Add Anchor”功能。出現(xiàn)的對(duì)話框讓你可以設(shè)置錨點(diǎn)是基本錨點(diǎn)還是標(biāo)記錨點(diǎn)。錨點(diǎn)的位置也可以通過(guò)這個(gè)對(duì)話框來(lái)調(diào)整。錨點(diǎn)也可以通過(guò)鼠標(biāo)拖拽或方向鍵來(lái)移動(dòng)到你想要的位置。右擊錨點(diǎn)選擇右鍵菜單中的“get info”也可以修改錨點(diǎn)。
FontForge 也包含了一個(gè)有用的圖形界面來(lái)控制錨點(diǎn)的所有類的位置,使用戶可以很好地調(diào)整位置,例如一次性調(diào)整位置字體中所有的尖重音(acute accent),或者調(diào)整一個(gè)類別中包含的所有錨點(diǎn),例如引用小寫(xiě)字母“e”的字符。下面的例子中我們可以看到如何使用這個(gè)圖形界面來(lái)良好地調(diào)整一個(gè)字體中所有尖重音的位置,調(diào)整所有引用小寫(xiě)字母“e”字形的字符的錨類別。
一旦你在你的 mark-to-base 位置查找中創(chuàng)建了錨類別,并為一些字形添加了錨點(diǎn),你可以通過(guò)“Element>Font Info>Lookups>GPOS”來(lái)控制這些類別,然后編輯包含錨類別的子表。你將會(huì)看到下面的窗口:
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_anchor_control_1.png" alt="dia_anchor_control_1.png" />
在這里我們可以選擇你希望編輯的類別病點(diǎn)擊“Anchor Control”按鈕。這個(gè)類別的一個(gè)圖形界面將會(huì)展現(xiàn)在你面前。在下面的例子中我們?cè)诰庉嫛皌op”類別的控制。在第一個(gè)例子中(如下),在“Bases”區(qū)域的下拉菜單中選中選中小寫(xiě)字母“e”。當(dāng)一個(gè)基本字形被選中,所有引用這個(gè)字形并包含“top”基本錨點(diǎn)的字符將會(huì)顯示在預(yù)覽窗格。然后我們可以調(diào)整“top”基本錨點(diǎn)的位置來(lái)看它如何影響所有包含“top”標(biāo)記錨點(diǎn)的字形的位置。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_anchor_control_e.png" alt="dia_anchor_control_e.png" />
在第二個(gè)例子中,如下,在“Makrs”區(qū)域的下拉菜單中選中“acute”字形。當(dāng)一個(gè)標(biāo)記字形選中時(shí),所有引用選中字形并包含“top”標(biāo)記錨點(diǎn)的字形將會(huì)顯示預(yù)覽效果。
http://wiki.jikexueyuan.com/project/fontforge-and-font-design/images/dia_anchor_control_mark.png" alt="dia_anchor_control_mark.png" />