創作內容

9 GP

【FontForge教學】Part4: 建立一個西文字型(編碼篇)

作者:游隼│2019-02-05 07:27:20│巴幣:1,114│人氣:1041
  各位新年快樂~~

  接下來幾篇教學文會教大家如何完整的建立一個西文字型(26個英文字母+基本標點符號 沒有包括漢字)。然後在這一系列中我會用 RezeZoren 做的 Konosuba 字型當作教學範例(有經過他的同意),用異世界文字作範例有個好處,名詞解釋的時候比較不容易亂掉。

編碼 (Encoding)
  任何在電腦裡可以顯示的文字都會有一個編碼 (Encoding) ,這個編碼對應著一個「字元(中國稱之"字符")」。同一個字元表示的是同一個字母(這句話看起來很廢話但其實很難理解)。

  以英文字母來說, "小寫a" 有兩種寫法,我稱它為「雙層a」和「單層a」,一般來說「雙層a」是標準的印刷體樣式,而「單層a」是手寫體樣式,這兩個雖然外觀不一樣,但在 UNICODE 的編碼都是 U+0061 ,由電腦字型決定 U+0061 顯示的是「雙層a」還是「單層a」。

小寫英文字母 a 和 g 不同的樣式 (圖片來源:CreativePro)

  而 "英文字母a" 和 "西里爾字母а" 則有兩個編碼, "英文字母a" 的編碼是 U+0061 ,而 "西里爾字母а" 的編碼是 U+0430 。主要的原因是英文字母和西里爾字母是兩個完全不一樣的系統,雖然兩個字母長的一樣,但對電腦意義是不同的,所以編成兩個編碼。

  對於漢字文化圈也是如此,中文「一(U+4E00)」、注音「ㄧ(U+3127)」和假名「ー(U+30FC)」被編到了三個不同的編碼。不過這裡我就要吐槽 UNICODE 聯盟了,因為按照代表同樣意義但外表不同的字母,理論上相同字源的繁體字、簡體字應該要編到同一個編碼裡才對,但 UNICODE 卻把相同字源的繁體字、簡體字分開編碼(例如漢字偏旁糸再中國寫作纟被編成了兩個碼如纪、紀,⻍⻌⻎卻被編為同一個碼如:迪),其他不屬於繁體字和簡體字的異體字也編碼,造成 UNICODE 的中文字碼永遠編不完......還沒編進去 UNICODE 的異體字又會有本字不曉得該從哪個才好的狀況,這些問題明明靠異體字交換功能就能完美解決的。

  但是,要怎麼做異世界文字的字型?異世界文字又沒有相對應的編碼。知道編碼的原理後這個問題就很簡單了,因為對於美好世界文字而言,它是可以一對一轉換成英文字母的,所以我們只需要將美好世界文字視作一種特殊的英文字母寫法即可(異世界的英文說不定就長這樣嘛 XD)

一句話說原理:
其他字母也是同樣的原理。

編碼集 (Encodings)
  等等,先別急著做。 Part1 ~ Part3 的內容都是針對單幾個特定字圖,所以我一個一個到「字圖資訊」裡增加編碼,但如果一次要做好幾百或好幾千個字圖,這種方法也未免太笨了一點。 FontForge 提供了更方便的功能,到【編碼】→【重新編碼】裡有許多預設的編碼集,其中有兩個繁體字的編碼集, Big5 是台灣的、 Big5 HKSCS 是香港的。今天我要做的是英文字集即可,所以我選的是 ISO 8859-1 (拉丁文1) 。

字圖群組 (Glyph Group)
  ISO 8859-1 (拉丁文1) 的編碼集包含很多用不到的編碼,如果你跟我一樣想把它隱藏起來,可以到【編碼】→【定義群組】裡替它們分類。(當然不隱藏也不會影響的)
  先把主群組命名為 "Groups" ,在底下再見一個次群組 "Basic Latin" 。雖然這次只需要一個群組就夠了,不過先建立一個主群組可以方便未來不時之需。因為新增一個次群組,那麼主群組將變成資料夾(不可定義字圖);如果在群組裡定義字圖,也將無法再新增次群組在底下。
  群組建完後,就是設定 Basic Latin 的字圖有哪些,可以事先選好再按【設定自字型】,或者直接輸入萬國碼 (UNICODE) 編碼(也可以是範圍)。完成之後按【確定】。

  群組定義完後,到【編碼】→【依群組顯示】選擇剛剛建的群組。
  這時可能會跳出「沒有任何東西已選取」的視窗,因為【依群組顯示】這項功能無法對空字圖(字圖上有灰色叉叉代表該字圖尚未被建立)顯示,所以只好先將這些字圖變成空白字圖(我的作法是,先到其中一個字圖點開來點一下右邊界,再用複製貼上到所有想要的字圖......我不知道有沒有更高明的方法,有的話務必告訴我。)

  最後就是一個一個畫(肝)字圖的時間啦,在這裡我偷懶直接貼上 RezeZoren 的字圖www。

  這樣就完成了最基本的西文字型(不含粗體、斜體、連體等等......),其他的改天再說ㄅ,再打下去這篇篇幅就太長ㄌ。

參考資料

延伸閱讀
引用網址:https://home.gamer.com.tw/TrackBack.php?sn=4283859
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:FontForge|字型|教學|編碼|字元

留言共 4 篇留言

岸芷汀蘭
哇嗚!!∑(°口°)

02-06 22:00

游隼
(°口°)ヨ!!屋哇02-06 22:11
Ctrl+Shift+W
以自學爲前提能夠探討到這種程度實在令人欽佩

02-06 22:38

游隼
還好啦 我說的這些都皮毛而已02-06 22:39
RezerezeR
我這字體是把線條模組化後組合出來的,所以其實也沒有肝很久,只是圖層靠北多而已

02-12 08:38

游隼
對欸 異世界文的結構可以模組化做02-12 10:36
游隼
真聰明02-12 10:38
苦惱
太巧了吧? 最近我正在煩惱造字的問題
內建的造字程式太糞了....

02-23 16:52

我要留言提醒:您尚未登入,請先登入再留言

9喜歡★ding890326 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:我對「台語(Taiwan... 後一篇:新年快樂...

追蹤私訊切換新版閱覽

作品資料夾

kuso12336有空的
【漫畫】【那個啥黑砂!?】系列漫畫又更新了! 來看一下啦!看更多我要大聲說昨天18:25


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】