GNU Unifont
样式 | Unicode、等宽、点阵 |
---|---|
设计师 | Roman Czyborra, Paul Hardy |
创造日期 | 1998 |
发表日期 | 2021年2月13日 |
许可 | GNU通用公共许可证 |
查看全部字符 | |
网站 | unifoundry |
GNU Unifont是一个由Roman Czyborra所制作的,自由且免费的点阵字型,涵盖了Unicode中的基本多文种平面,使用了中型的点阵字型格式。见于大多数的自由操作系统及一些视窗系统中,如Linux、XFree86、X.Org Server,及一些嵌入式韧体,如RockBox。此字型以GNU通用公共许可证第二版或更新释出,但加入了一个字型嵌入的例外条款(在文件中嵌入字型并不构成违反授权条款的条件)。
它在2013年10月成为了GNU软体包。
状态
Unicode的基本多文种平面涵盖了216 = 65,536 个码位,其中2048个是保留给特殊用途的代理对,6400个保留给私人用途,剩馀大约57,000个码位可供分配。其中多数位置都已分配字形,而一些特殊的码位没有。
截至2013年10月[update],GNU Unifont已经完整涵盖了Unicode 6.3版定义的基本多文种平面。
平面中,中日韩统一表意文字大约有20,000个,字形取自文泉驿的Unibit字形(获得授权)[1]。
.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.