GNU Unifont
GNU Unifont是一個由Roman Czyborra所製作的,自由且免費的點陣字型,涵蓋了Unicode中的基本多文種平面,使用了中型的點陣字型格式。見於大多數的自由操作系統及一些視窗系統中,如Linux、XFree86、X.Org Server,及一些嵌入式韌體,如RockBox。此字型以GNU通用公共許可證第二版或更新釋出,但加入了一個字型嵌入的例外條款(在文件中嵌入字型並不構成違反授權條款的條件)。
![]() | |
樣式 | Unicode、等寬、點陣 |
---|---|
設計師 | Roman Czyborra, Paul Hardy |
創造日期 | 1998 |
發表日期 | 2021年2月13日 |
許可 | GNU通用公共許可證 |
查看全部字符 | |
網站 | unifoundry |
它在2013年10月成為了GNU軟體包。
狀態
編輯Unicode的基本多文種平面涵蓋了216 = 65,536 個碼位,其中2048個是保留給特殊用途的代理對,6400個保留給私人用途,剩餘大約57,000個碼位可供分配。其中多數位置都已分配字形,而一些特殊的碼位沒有。
截至2013年10月[update],GNU Unifont已經完整涵蓋了Unicode 6.3版定義的基本多文種平面。
.hex字型格式
編輯GNU Unifont 的 .hex 格式定義了它的字形大小,寬度8或16像素,高度為16像素。多數西方字母的寬度定義為8像素,而其他語言的字母(特別是中日韓文字)通常是16像素。
unifont.hex檔案的每一個字形都包含一行。每行都包含四位數的Unicode十六進位碼位,一個冒號及點陣字串。一個寬度為8像素的字母的位元串有32個十六進位的位數,而寬度為16像素的字母的位元串有64個十六進位的位數。
一個在位元字串中'1'的位元對應到一個'開'的像素。像素位元由上到下,由左到右儲存。
然後字型會轉換成BDF格式的檔案以在X Window系統上使用。
範例
編輯這是包含了一個ASCII大寫'A'字形的範例。
0041:0000000018242442427E424242420000
第一個數字是十六進位的Unicode碼位,範圍從0000到FFFF。十六進位的0041是十進位的65,也就是字母'A'的碼位。冒號分隔了點陣字的碼位。在這個範例中,字形是8像素寬,所以位元串有32個十六進位的位數。
位元串以8個零開始,所以前4行是空的(每8位元是2個十六進制的數字,而寬度為8位元的字形則為每行8個位數)。位元串也以4個零結尾,所以最後兩行也是空的。因為如此,預設的字形會比基線低2行,大寫的字母高於基線10行。這是GNU Unifont的拉丁字母範例。
Perl的hexdraw指令稿按照上述的一行字形定義產生以下的輸出:
0041: -------- -------- -------- -------- ---##--- --#--#-- --#--#-- -#----#- -#----#- -######- -#----#- -#----#- -#----#- -#----#- -------- --------
|
這可以在文本編輯器中編輯,再使用同樣的工具轉換回十六進位的字串。其目標是創造一個中間格式以方便加入新字形。
向量
編輯Luis Alejandro Gonzalez Miranda寫了指令稿以進行向量化及使用FontForge轉換BDF格式(unifont.bdf)至TrueType格式[2]。Paul Hardy調整了這些指令稿以處理最新的TrueType版本的組合字母,像是重音符號等[3]。
歷史
編輯Roman Czyborra在1998年創造了Unifont格式[4],更早期的可以追溯至1994年。
2008年,Luis Alejandro González Miranda寫了把這個字型轉換成TrueType字型的程式。Paul Hardy後來修改它以支援在新版TrueType中的組合字母。
最後,理查德·斯托曼在2013年10月接受Unifont成為一個GNU軟體包。Paul Hardy是它的維護者。
參考資料
編輯- ^ Wen Quan Yi: Spring of Letters, [2014-07-09], (原始內容存檔於2013-11-12)
- ^ GNU Unifont in TrueType format, [2014-07-09], (原始內容存檔於2009-03-07)
- ^ GNU Unifont Glyphs, [2014-07-09], (原始內容存檔於2013-11-12)
- ^ Roman Czyborra's GNU Unifont page. [2014-07-09]. (原始內容存檔於2011-08-27).
- Unicode協會: The Unicode 5.0 Standard. 5th, Addison Wesley 2007; ISBN 0-321-48091-0.