MUGEN到1.1B1一共有两种版本的字体,也就是FNTV1和FNTV2,区别如下
字体版本 | FNTV1 | FNTV2 |
内部格式 | PCX+TXT | DEF+SFF DEF+TTF DEF+TTC |
字体类型 | 8位位图字体 | 5/8/24/32位位图字体 矢量字体 |
适用主程序版本 | 所有版本 | 1.0和1.1 |
文件格式 | .fnt | .def |
无论是易用性还是功能性中FNTV2都是碾压FNTV1的,特别是对矢量字体的支持,更是方便很多,本教程只说FNTV2
关于什么是矢量字体,什么是位图字体
位图字体就是用图像来显示文字的,这种字体本质上也属于文本+图像的结合,比如说你想显示艺术字母,那么就要在SFF中存放26个字母的艺术图片,然后通过文本来布局,当什么字符的时候显示哪个图片
而矢量字体就是我们常用的字体文件,好处就是方便,坏处就是这些大多是是正式字体,彩图艺术字体有点乏力,而且使用矢量字体可以很好的支持中文
相比来说位图字体的用途更广泛一些,但是更耗费成本,下面看看FNTV2的文本格式
FNTV2的格式就是一个Def文件,里面内容很简单
Fntversion指定字体版本,name指定字体名,这两个参数都不会被MUGEN使用
Type指定字体类型,bitmap为位图字体,truetype为矢量字体
BankType为颜色类型,目前只有palette,而且是位图字体专用参数
Size为字体宽高,矢量字体下只有高有效,宽无效
Spacing为字间距宽高,矢量字体下也是仅高有效
Offset为字体坐标偏移
File为字体文件,位图字体为SFF文件,矢量字体为TTF或者TTC文件
Blend表示是否混合模式(1为是,0为否)
矢量字体文件会从指定目录寻找,如果找不到将会从系统目录中寻找,TTF/TTC字体在网上很多,所有矢量字体只需要把字体文件放置于对目录并正确修改File,然后Type设置为truetype再保存为Def文件,之后在Sysfile中添加一个font,指向Def文件,字体就添加完成了
而FNTV2的位图字体则相对复杂一些,因为扯到了ASCII编码,具体百度ASCII,举个例子,首先我先新建一个Type为bitmap并且File指向一个SFF文件的Def字体,然后呢,我在SFF中加入一张字母A的艺术图,组号一定为0,而索引号为65,这样的话,当遇到了文本中的A的时候则会显示这张图像,因为A对应的ASCII码就是65
也就是说,组号为0索引号为ASCII码,则会显示对应文本的图片,而那些没有图片的则会显示空白,所以说要准备的图片很多,所以这种位图字体一般用来制作主程序菜单,或者场景预览效果的