游戏字体工厂

纯前端本地计算 · 字体与文案不上传服务器

EN

BMFont 位图字体生成器

游戏引擎需要位图字体(BMFont)才能保证小字号清晰、渲染性能稳定,而中文字体动辄几十 MB,必须做子集化。这个工具把两步合成一步:上传字体文件、指定游戏真正用到的字符集,直接生成 .fnt 与 PNG 图集。Cocos Creator 没有内置的位图字体生成器,把 .fnt 与 png 一起拖进工程即可使用。

位图字体生成功能

  • 支持 TTF / OTF(含 CID-keyed CFF 中日韩字体)/ TTC 字体集合 / WOFF / WOFF2
  • 字符集来源:粘贴清单、上传字符串表、预设范围(GB2312 / GBK / Big5 / JIS X 0208 / KS X 1001 / 谚文),或直接用字体自带的全部字符
  • 图集打包:MaxRects 排布、512~4096 尺寸上限、透明边距与字形间距,超出上限自动分页,页面自动裁到实际使用面积
  • 预览用生成出来的 .fnt 与图集反解渲染,支持 1x~8x 放大、深浅底色切换、缺字高亮,可直观检查清晰度与对齐
  • 一键打包导出:.fnt + 各页 PNG + charset.txt + 接入说明 README,解压即可拖进工程
  • 在 Cocos Creator 中使用

  • ① 解压导出的资源包,把 .fnt 与同名 png 放在同一目录后一起拖进 assets
  • ② Cocos Creator 会把 .fnt 识别为位图字体资源(BitmapFont)
  • ③ 在 Label 组件上取消勾选 Use System Font,把 Font 指向该位图字体,并把 LineHeight 设为 .fnt 里的 lineHeight
  • 常见问题

    支持哪些字体格式?

    支持 TTF、OTF(含思源黑体等 CID-keyed CFF 的 CJK 字体)、TTC 字体集合(可选择其中一款子字体)以及 WOFF/WOFF2。若某个文件解析失败,工具会给出具体原因。

    中文字体子集是怎么做的?

    只把字符清单里的字渲染进图集,其余字形不会出现在输出中——这就是位图字体的子集化。例如思源黑体配合 GB2312 一级汉字(3755 字)在 32px 下约 2MB 图集,而全量字体是几十 MB。注意本工具输出的是位图字体,不重写 TTF 文件。

    字号、图集尺寸、边距该怎么选?

    字号取游戏里实际显示的最大字号;图集上限一般 2048,移动端老设备可用 1024,现代设备可用 4096;透明边距建议 1~2px 以避免相邻字形边缘互相渗透;字形间距建议 1~2px。超出上限会自动分页,并在结果里提示页数。

    缺字检测能做什么?

    会列出你的字符清单里有、但所选字体里没有的字(例如给拉丁字体指定中文),这些字不会进入字体,并在预览里高亮标出,避免上线后出现豆腐块。

    支持 SDF / MSDF 字体吗?

    当前版本生成的是位图字体(BMFont)。SDF/MSDF 需要额外的距离场计算,属于后续路线图;Cocos 官方也没有内置 SDF 生成能力,位图字体是目前最稳妥的选择。

    字体文件会上传吗?

    不会。字体解析、字形栅格化与图集打包全部在浏览器本地完成,字体文件不会离开你的设备。