首先,说下为什么要使用这款工具作为cocos2d-x的字体生成工具。其实cocos2d-x能使用的字体生成工具也有好几个,当然了本人也没有全部使用过,就不一一说明了。Bitmap Font Generator(下面简称BMFont)工具的好处有一下几点:

1.支持windows系统,貌似也只支持windows,好吧,这也是个缺点

2.支持从文本中获取所需要生成的字

3.支持保存设置文件

4.支持命令行

BMFont工具的下载地址:http://www.angelcode.com/products/bmfont/

安装完成之后,可以看下界面

右边是字库分类,左边是字符,可以点中作为输出的字体(白灰色底的是选中的,黑灰色底的是没有选中的)。

这个先别急着选,先设置下输出的配置,比如字体什么的~

一、字体设置

打开左上角的Options,选择Font settings,出现如下界面,这个就是可以设置字体的地方

说下几个重点的地方

首先选择字体,Font右边的下拉列表可以选择。如果没有自己需要的字体,说明系统没有安装这个字体,可以先安装字体,再来设置(推荐该方法)。或者点击下面的Add font file,去加载字体。

其次,设置Charset,选择Unicode

二、导出设置

打开左上角的Options,选择Export Options,出现如下界面,这个就是可以设置导出的地方

这些设置,主要说下File format,包括三种格式 文本、XML、二进制,cocos2d-x支持文本格式的fnt文件,选择text就OK

三、输出文字选择

具体要导出哪些文字,需要选择,主要方法有以下两种:

1.手动选择:可以看到主界面上面右边的区域,其将文字进行了分类,字符集的分类

比如002190,表示的是Arrows,箭头

此时选中,可以看到左边显示的是Arrows表示的文字内容

如果选中其中的一个或者几个,Arrows旁边的白框会变成如下:

如果全选的话,Arrows旁边的白框会变成如下(PS:直接点Arrows旁边的白框一样的效果):

在菜单栏的Edit选项上面,会有一些便捷操作

(Un)Select all chars 选中或者不选中,当前选中的那个字符集分类中的所有字体(读者可能不理解,其实试一下就好,或者看下一条,也许就很好理解了)

Select marked subset(s)  选中所有已经选中的子字符集下的文字(使用ctrl可以在左侧选中一个或者几个子字符集,如下图)

UnSelect marked subset(s)  与上一条相反,不选中已经选中的子字符集下文字

Clear all chars in font 清除所有选中的文字

2.通过文本选择

通过上面的手动选择,可以看出选择文字是个体力活,那有没有什么简便方法呢~答案是肯定的,这个工具给力的地方体现出来了

这个工具可以通过解析文本来输出文本当中所用到的问题,当然如果你选中的字体里面,没有该文字,那可能就无法输出了哦~

那么如何操作呢,如下:

选择菜单栏上的Edit下的Select char from file,然后浏览找到自己需要的生成字体的文本,就这么简单

但是,问题来了,这个文本的格式,是很操蛋的一个问题,它需要是UTF-8,并且是带BOM的UTF-8

如果不是这个格式会肿么样?嘿嘿嘿,当然是生成出来的是乱码喽(PS:其实估计英文的话,问题不大,中文就是各种莫名乱码)

如果不是这个格式的肿么办?哈哈哈~~百度看看如果转换格式吧,很多文本编辑器带这个功能,本人不多说了哦~

四、保存配置文件

首先说下为什么要保存配置文件,这个嘛~好处还是蛮多的

1.保存了配置文件,下次就不需要手动再配置一次了~

2.时间长了忘了怎么配置的了,肿么办?保存一下,白纸黑字嘛

3.保存下来也是文本,可以直接文本编辑器里面去修改配置

废话不多说了,来说下怎么操作:

选择菜单栏上的Options下的Save configuration as...

然后选择保存的位置,以及文件名~

配置文件的后缀名是.bmfc

上图可以看到,还有个Load configuration,这个是加载配置文件的,下次打开工具之后可以直接加载了,而不需要重新配置了~哇咔咔

五、导出fnt,以及贴图文件

差点忘了这条了,这个很简单:

选择菜单栏上的Options下的Save bitmap font as...或者快捷键 ctrl + s

六、命令行使用

这个是重头戏呀~按惯例说说,命令行的好处吧:

1、使用命令行,方便啊,一次弄好了,以后直接用个批处理,都不用再打开工具软件

2、超级方便,如果文本更新了,也不需要再打开工具软件

3、绝对超级方便,如果字体配置改了,文本也更新了,还是不需要打开工具软件

差不多了,该说正事了,如何使用命令行:

首先啊,上面的步骤还是要走的,要导出个配置文件。

其实啊,需要做文字的文本要准备好

最后,再写个.bat批处理文件就OK了~

批处理内容如下

rem 设置BMFont软件安装路径

set BMFont_PATH=E:\Progra~1\AngelCode\BMFont

rem 设置文本、配置文件以及输出fnt文件的路径

set TEXT_PATH=E:\XXX

"%BMFont_PATH%\bmfont.exe" -t %TEXT_PATH%\text.txt -c "%TEXT_PATH%\peizhi.bmfc"  -o "%TEXT_PATH%\font.fnt"

命令说明: -t 选择的文本, -c 选择的配置文件 -o 输出的fnt文件

位图字体生成工具Bitmap Font Generator的使用的更多相关文章

  1. 网页字体生成工具fontello firefox下无效,未跨域,研究两天得出解决办法

    fontello是一个非常好的web font生成工具,但是在使用过程中发现生成的字体在firefox下死活渲染不出来,只有chrome可以正常渲染,字体文件和页面在同域下. 试过各种办法,最后发现一 ...

  2. Laya 位图字体制作(失败...)

    参考: 官网教程-位图字体的制作与使用 一.下载字体并安装字体 从站长字体下载了液晶数字字体,将TTF文件拖入C盘windows/Font文件夹,则字体会自动安装 二.下载字体制作工具 Bitmap ...

  3. NGUI-制作位图字体以及图文混排

    制作字体过程 首先得下载一个位图制作工具Bitmap font generator,可以点击这里下载 1.新建txt文件,输入字体里面包含的文字 2.保存为utf-8格式:点击文件另存为,选择编码格式 ...

  4. 在cocos2d-x中使用位图字体

    http://blog.csdn.net/fansongy/article/details/9006677 通常情况下,游戏中绚丽的文字和数字都不是字体生成的而是"贴"上去!今天, ...

  5. Font Combiner – 自定义网页字体和图标生成工具

    Font Combiner 是一个功能丰富的 Web 字体生成工具和字体改进工具,提供字距调整.构造子集.各种提示选项和自定义字体字形组合.您可以生成您自己的自定义字体的格式和文件大小. 另外还有成千 ...

  6. 详解利用ShoeBox制作位图字体

    http://childhood.logdown.com/posts/190580/-details-using-shoebox-produce-bitmap-fonts?utm_source=tui ...

  7. 20款精致的长阴影 LOGO 设计【附免费生成工具】

    长阴影(Long Shadow)概念来自于最新非常流行的扁平化设计(Flat Design).扁平化设计趋势影响最大的是用户界面元素和图标,但它也开始蔓延到其他网页设计的其他部分. 长阴影其实就是扩展 ...

  8. 使用位图字体工具BMFont从图片生成自定义字体

    转载自:http://blog.csdn.net/keshuiyun/article/details/9960667 BMFont下载地址: http://www.angelcode.com/prod ...

  9. !!字体图标(iconfont、Fontello 、雪碧图生成工具。Glyphicons、fontawesome 等)。 图片压缩

    http://www.iconfont.cn/  阿里巴巴矢量图标库 iconfont http://fontawesome.io fontawesome图标 http://www.bootcss.c ...

随机推荐

  1. Python中list的实现

    原文链接这篇文章介绍了Python中list是如何实现的.在Python中list特别有用.让我们来看下list的内部是如何实现的.来看下面简单的程序,在list中添加一些整数并将他们打印出来. &g ...

  2. php 的简单易用的调式方法,打印方法

    简单的调试方法:echo, print_r, var_dump, exit, debug_backtrace(), debug_print_backtrace(), gettype(), get_cl ...

  3. mysql innobackupex xtrabackup 大数据量 备份 还原(转)

    原文:http://blog.51yip.com/mysql/1650.html 作者:海底苍鹰 大数据量备份与还原,始终是个难点.当MYSQL超10G,用mysqldump来导出就比较慢了.在这里推 ...

  4. 分享一下jQuery UI的地址

    jQuery EasyUI: http://www.jeasyui.com/ DWZ: http://j-ui.com/ Liger UI: http://www.ligerui.com/ Liger ...

  5. C# 使用ping命令

    方法一:调用cmd 的ping命令 private static string CmdPing(string strIp) { Process p = new Process(); p.StartIn ...

  6. 动态调用WebService(C#)

    通常我们在程序中需要调用WebService时,都是通过“添加Web引用”,让VS.NET环境来为我们生成服务代理,然后调用对应的Web服务.这样是使工作简单了,但是却和提供Web服务的URL.方法名 ...

  7. [ASP.NET]更简单的方法:FormsAuthentication登录ReturnUrl使用绝对路径

    转自:http://www.cnblogs.com/dudu/p/formsauthentication-returnurl-absoluteuri.html [ASP.NET]更简单的方法:Form ...

  8. c++常见输入方法[持续更新]

    字符串输入 cin>> 使用空格确认字符串结束位置,保留换行符在输入队列当中 单个字符读取 cin.get(), cin.get(char) 每次读取一行: cin.getline(cha ...

  9. GetSafeHwnd()函数解释[转]

    当我们想得到一个窗口对象(CWnd的派生对象)指针的句柄(HWND)时,最安全的方法是使用GetSafeHwnd()函数,通过下面的例子来看其理由: CWnd *pwnd = FindWindow(“ ...

  10. jQuery each,避免使用js for循环

    What is the difference between $.each(selector) and $(selector).each(): http://stackoverflow.com/que ...