自己制作的生成点阵字体的工具
前几天发了一个BDF字体文件格式的帖子,其实那个是我在制作这个工具过程中的副产品。本来是看到很多朋友在一个字一个字地编辑点阵字体,我就想,为啥不能用一个工具来自动完成这个事情呢?
于是就有了下面这个工具:

1、选择字模的宽度和高度,可以完整显示要处理的文字;
2、输入一个汉字,用于模拟显示;
3、输入黑白处理的阈值。因为在Windows下,字体的显示是平滑的,这样我们看起来就没有锯齿的感觉。但是点阵字不是,要的就是马赛克的感觉。所以对于字体平滑的边缘部分,需要用一个黑白阈值来处理。这个值越大,显示的字体越粗;这个值越小,显示字体越细,但是可能会丢笔画;
4、选择要处理的字体,字号;
5、设置显示字体的左偏移和上偏移,因为每种字体的长宽比例不同,所以我们设置偏移量可以保证字体居中显示;
比如我选择的是宋体,12磅的字,显示一个“体”字,字模大小是16*16,这样模拟生成的点阵汉字就是如上图显示的。
再比如,我这次选择的是静蕾体,16磅的字,字模大小是22*20,如下:

通过预览的显示,多测试几个字,确保字体都居中显示,并且没有缺笔画,就可以生成了。
右边部分是生成字体的参数:
1、BaseLine,字体的基线,对于汉字,一般就是0;
2、Ascend、Discend,分别是字体上下方距离基线的距离,这里我也不太会设置,一般我按照4:1的关系设置这两个值。比如字体高是20,那么这两个值就是16、4。这两个值对BDF有影响,对TTF没影响;
3、字体名称,也就是打算生成的字体名;
4、图片保存路径。TTF字体的生成路径是这样的:生成每个字符的图片->转成SVG文件->把这些SVG文件批量生成TTF,所以这里是保存每个字符图片的路径。
文件夹内的图片如下:

生成图片的同时,也生成了这个字号大小的BDF文件。
生成TTF的过程:
首先,用Potrace工具生成SVG文件:
@echo off set target_dir=G:\FontMake for /F "tokens=*" %%F in ('dir /B /A:-D "%target_dir%\2\*.bmp"') do ( potrace -u 1 -q -c "%target_dir%\2\%%F" -s -o "%target_dir%\3\%%~nF.svg" )
然后,使用merge_svg_font.py(链接)将这些SVG打包生成TTF
fontforge -script merge_svg_font.py G:\FontMake\3 QINGYUAN.TTF Qingyuan
生成的字体显示效果如下:


为了确保你设定的字体在Windows下显示不会发生“虚化”的现象,生成TTF字体后,你应该把同时生成的BDF点阵字体导入到TTF中,至此,点阵字体的生成就完成了!
利用这个工具,你可以把你电脑里面的任意字体都转换成点阵字体,当然,发现哪个字符不满意,你还可以自己修改编辑。这样就大大提升了点阵字体的处理效率。
                    
                
                
            
        
浙公网安备 33010602011771号