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窗口系统上使用。
示例
编辑这是包含了一个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.