相信有不少設計師朋友想把自己設計的字體制作成屬于自己的字庫,但是都面臨不會使用字體制作軟件的難題?,F(xiàn)在市面上流行的字庫制作軟件有FontForge(免費),F(xiàn)ontCreator(收費),F(xiàn)ontLab等,但是一般設計師對這些字體制作軟件不太熟悉,所以操作起來也是相當不順手。相對而言,Adobe的Illustrator的路徑操作就順手多了。所以貓啃君寫這一篇教程,教你怎樣把在Illustrator設計的字體變成字庫。
一、在AI上進行字體設計
在開始設計你的字體之前,請先準備一個文字列表的txt文件,您可以按照這個順序進行字體設計制作。這個txt的列表文件將在后面導入生成字庫的時候有用,請務必先準備好。貓啃君這里把文字列表文件命名為list.txt


在準備好上面的這個文字列表文件后,我們就可以開始在AI中進行字體設計了。在AI中進行字體設計有兩種方式,第一種方式是每個字先建立好獨立的畫板進行設計,第二種方式是在一個畫板上先做好字體的設計,然后再分割成多個畫板。下面以貓啃君正在補簡的德拉黑體為例:
- 在AI中新建文件,新建文件時畫板的數(shù)量設置為100,列數(shù)設置為10。畫板的寬度和高度可以根據(jù)自己的需求設置,因為字體是矢量的,所以在設計時的寬高并不會影響后續(xù)的導入。

- 點擊創(chuàng)建文檔,我們就可以得到一個10×10畫板的文件,然后我們就可以在這些畫板上進行字體設計了。
- 把字體設計好后我們就可以開展后續(xù)的工作了。
二、把字體制作成單獨的SVG文件
如何把每個字分割成單獨的svg文件呢?可以按以下的操作步驟進行:
- 準備好我們設計好的AI文件
- 然后在菜單上選擇 “文件 -> 導出 -> 導出為多種屏幕所用格式…”
- 在彈出的對話框中,按下面的圖進行設置好后,然后點導出畫板按鈕。
- 耐心等待所有的畫板導出完成。
- 在導出的文件夾中,會自動生成一個SVG文件夾,文件夾里面就是每個字的svg文件。
至此,導出字體為svg文件的工作就完成了。下面準備把這些svg文件導入到FontForge中并生成字庫文件。
三、把SVG文件導入至FontForge中并生成字庫文件
通過上面的操作步驟,我們已經(jīng)得到單獨的字體的svg文件。但是現(xiàn)在存在一個問題,這些svg文件的名字都是“畫板 1.svg,畫板 2.svg…”這樣子的名稱,我們無法得知這些svg文件對應的是哪個字。這個時候,我們之前準備好的字體列表文件就有用了。
制作字庫需要用到FontForge軟件,請你點擊這里下載貓啃君為您準備的FontForge軟件。請務必下載貓啃君提供的這個FontForge軟件,這個是非官方的64位綠色版。因為官方的版本有個問題,就是打開類似于思源字體這樣大的字體文件的時候會因為內(nèi)存溢出而崩潰,而這個64位的版本就不會有這個問題。另外,在貓啃君提供的這個FontForge軟件里面還包含了@夜煞之樂寫的批量導入字體文件的腳本,沒有這個就無法完成批量導入的功能。
下面我們可以開始把svg文件導入到FontForge中了,請按以下的操作步驟進行:
1、我們先把在貓啃網(wǎng)上下載的FontForge解壓出來,這個FontForge是綠色版的,解壓出來就可以用了。比如貓啃君把FontForge解壓到D:\Program Files (x86)\FontForge_64目錄下。其中win_file_lister.exe是@夜煞之樂為方便生成字體文件列表寫的一個可執(zhí)行程序,運行后會把所在的文件夾的文件列表生成一個txt文件。vbpy.py是一個批量導入字體的python腳本文件。
2、把我們剛才生成的SVG文件夾復制到FontForge的目錄下
3、把win_file_lister.exe復制放入SVG文件夾里,然后雙擊運行。
4、用記事本打開file_list.txt文件,把里面的第一行刪掉
5、然后按菜單 “編輯->全選”(快捷鍵Ctrl+A) 選中txt文件里面的所有行,Ctrl+C復制
6、然后打開Excel,在A列處粘貼
7、然后我們回到SVG文件夾里面,把file_list.txt和win_file_lister.exe這兩個文件刪除。
8、然后打開之前準備好的造字的順序的列表(貓啃君這里的示例的列表文件名為list.txt),按菜單 “編輯->全選”(快捷鍵Ctrl+A) 選中txt文件里面的所有行,Ctrl+C復制
9、然后在剛才打開的Excel里面的B列處粘貼
10、然后把這個Excel表另存為csv格式,這樣我們就得到了一個svg文件與文字一一對應的列表了。
11、然后我們把之前的字體列表文件(list.txt)也復制到FontForce目錄下
12、雙擊執(zhí)行fontforge-console.bat文件,會打開一個命令行界面
13、在這個命令行界面輸入“ffpython vbpy.py -n SVG new.sfd font_list.csv”然后按回車鍵執(zhí)行命令。
14、然后等待命令執(zhí)行完畢,就大功告成啦!這樣我們就得到new.sfd字庫文件。
15、最后我們打開這個sfd文件看一下,完成啦。字庫的一些信息的設置,請參考貓啃君之前發(fā)表的另一篇文章《小白教程,如何使用FontForge修改字體的名稱?》
很實用很詳細,但是我按照步驟導出的文件類型不是教程的SVG,是Microsoft Edge HTML Document,我看屬性是Microsoft Edge HTML Document (.svg),有問題嗎?
就是這個格式。
翻遍了全網(wǎng)!想請問一下 為什么在fontforge里看的字是完整的 導出字體包再在ai里打字的時候 字變的不完整了 缺少邊角或者圓弧處有重影
做一套字庫,需要做要多少個字呢
看什么字庫標準,最新標準GB18030-2022
文字列表的.TXT,有沒有可以下載的?。?/p>
你按照你自己做的字生成文字列表.txt啊
在來一篇如何給自己創(chuàng)造的文字申請版權吧
大神們好,我是小白,我成功地造出這個SFD文件了,可是這個跟字體安裝包有什么關系呢。。。
有這個sfd文件,就可以用FontForge導入.ttf或.otf的字體文件了啊
那sdf文件如何轉換成ttf或otf的文件呀?還是不用轉
sdf文件用字體軟件FontCreator或者FontForge導出ttf或者oft文件即可。
帶腳本非官方的FontForge軟件,mac能用么。
能錄一個視頻嗎?還有就是可變字體怎么搞呢
按照你的方法不行啊。
出現(xiàn)了這個:FontForge_64>ffpython vbpy.py -n SVG new.sfd font_list.csv
Traceback (most recent call last):
File “vbpy.py”, line 56, in
for row in filename_map_list:
File “F:\FontForge_64\lib\python3.8\codecs.py”, line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
File “F:\FontForge_64\lib\python3.8\encodings\utf_8_sig.py”, line 69, in _buffer_decode
return codecs.utf_8_decode(input, errors, final)
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xbb in position 0: invalid start byte
我的也不行 代碼好像和你的一樣
可能是把CSV UTF8逗號分隔 點成了CSV 逗號分隔
將那個.csv和.txt文件用記事本打開另存編碼格式為utf-8,再試應該可以成功的。
造字的順序的列表的那個.txet的記事本文件有下載碼
list.txt 這個文件 順序這個有下載嗎
按自己的需要自己編寫就行了哦~示例用的排序是按 GB 2312 截取缺字部分,您可以參考 GB 2312 看看哦
感謝作者的知識分享,多多益善喔!??!
厲害厲害!~