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