常见问题:SnowB BMF 位图字体生成器 FAQ
查找有关 SnowB BMF(免费的网页位图字体生成器)的常见问题解答。了解支持的格式、性能等信息。
SnowB BMF 是什么?
Section titled “SnowB BMF 是什么?”免费的网页版位图字体生成器,在浏览器里给游戏、网页和其他应用做位图字体。
SnowB BMF 是免费的吗?
Section titled “SnowB BMF 是免费的吗?”完全免费,不用注册不用安装。
支持哪些浏览器?
Section titled “支持哪些浏览器?”支持 Canvas API 的现代浏览器都能跑,包括最新版 Chrome、Firefox、Safari 和 Edge。建议用最新版浏览器。
如何保存我的项目?
Section titled “如何保存我的项目?”SnowB BMF 在你离开页面或关闭标签页时自动把项目存到浏览器 IndexedDB。建议同时点”保存”下载 .sbf 文件做备份,方便换浏览器或换设备时用。详见项目管理。
刷新页面后我的工作丢失了。如何防止这种情况发生?
Section titled “刷新页面后我的工作丢失了。如何防止这种情况发生?”SnowB BMF 用 IndexedDB 自动保存,正常刷新不会丢数据。如果丢了,可能是浏览器存储被清掉了(比如”清除浏览数据”)或者在用隐私/无痕窗口。记得留 .sbf 备份。
我可以同时处理多个项目吗?
Section titled “我可以同时处理多个项目吗?”可以。内置多项目工作区,带标签页界面。一个浏览器标签页里就能创建、打开和切换多个项目。点”新建”或双击标签栏空白区域就能建新项目,所有项目自动存到 IndexedDB。详见项目管理。
字体格式与导出
Section titled “字体格式与导出”我可以导出哪些格式的字体?
Section titled “我可以导出哪些格式的字体?”六种:
- 文本 (.fnt, .txt): 兼容性最好,Unity、Unreal、Cocos2d-x 等引擎都支持。
- XML (.xml, .fnt): 结构化格式,适合 Web 应用或自定义解析器。
- 二进制 (.fnt): 最紧凑,性能最高。
- JSON (.json): Web 应用和自定义解析器用。
- C 头文件 (.c): 嵌入式系统和 MCU 用,8 种像素格式。
- MSDF Atlas JSON (.json): 兼容 msdf-atlas-gen 的 MSDF 着色器管线。
详见导出格式。
哪种导出格式最适合我的游戏引擎?
Section titled “哪种导出格式最适合我的游戏引擎?”- Unity/Unreal/Cocos2d-x: 用 文本 (.fnt)。
- 自定义引擎: 都行,但 二进制 (.fnt) 性能最好。
详见导出格式。
导出的字体与 Unity 兼容吗?
Section titled “导出的字体与 Unity 兼容吗?”兼容。.fnt 文件配合 TextMeshPro 和 NGUI 都能用。想要像素完美的渲染,在 Unity 里把纹理过滤模式设成”Point”(或”Nearest”)。
字体质量与渲染
Section titled “字体质量与渲染”为什么我的字体看起来很模糊?
Section titled “为什么我的字体看起来很模糊?”多半是纹理过滤的问题。在游戏引擎或应用里把纹理过滤改成”Point”或”Nearest”,文本要在整数位置渲染,别缩放。详见锐利渲染。
如何修复不正确的字符间距?
Section titled “如何修复不正确的字符间距?”可能是字偶距或字体度量没设对。导出前查一下字偶距对和基线设置。详见字偶距和字形度量。
如何创建像素完美的字体?
Section titled “如何创建像素完美的字体?”- 用专门做像素艺术的字体。
- 字体大小跟目标分辨率严格匹配。
- 关掉抗锯齿和字体平滑。
- 字符对齐到像素网格。
为什么应用程序运行缓慢或卡顿?
Section titled “为什么应用程序运行缓慢或卡顿?”字符集太大或字体太复杂时可能卡。试试:
- 精简字符集: 只留要用的字形。
- 加大纹理尺寸: 降低打包算法压力。
- 关掉其他标签页: 释放内存。
我收到了”内存不足”的错误。我该怎么办?
Section titled “我收到了”内存不足”的错误。我该怎么办?”生成大型字体图集时可能碰到。试试:
- 减小纹理尺寸。
- 字符集拆分成多个小字体文件。
- 用二进制导出格式, 更省内存。
导入与自定义
Section titled “导入与自定义”我可以导入自己的字体吗?
Section titled “我可以导入自己的字体吗?”可以,上传 .ttf、.otf、.woff 文件就行。不过 SnowB BMF 读不到你系统里已安装的字体。详见字体导入。
如何使用自定义图像作为字符?
Section titled “如何使用自定义图像作为字符?”- 导入带透明度的 PNG 图像。
- 给每个图像分配一个 Unicode 值。
- 调整图像字形的位置和缩放。
- 导出字体,图像字形会打包进图集。
详见图像字形。
导入旧版项目文件会发生什么?
Section titled “导入旧版项目文件会发生什么?”SnowB BMF 自动转换旧版文件。打开后检查设置对不对,然后另存为 .sbf。
SnowB BMF 支持 SDF/MSDF 字体吗?
Section titled “SnowB BMF 支持 SDF/MSDF 字体吗?”支持,实验性功能,五种渲染模式:默认模式(标准 Canvas 渲染)、SDF(Felzenszwalb EDT 有向距离场)、PSDF(msdfgen WASM 伪 SDF)、MSDF(msdfgen WASM 多通道 SDF)、MTSDF(msdfgen WASM 多通道 + 真实 SDF)。SDF 字体分辨率无关,适合游戏引擎。PSDF、MSDF、MTSDF 要先上传字体文件。详见 SDF 渲染文档。
什么是渐变预设?
Section titled “什么是渐变预设?”内置 10 个渐变预设,点一下就能用。自定义的渐变也能存成预设,跨项目复用,不要的随时删。预设选择器在填充设置面板的渐变区域。详见填充样式。
什么是内阴影功能?
Section titled “什么是内阴影功能?”在字形内部画阴影,做出雕刻或浮雕的感觉。可以跟外阴影一起用,叠出多层立体效果。阴影设置面板里调颜色、模糊、偏移和不透明度。详见内阴影效果。
SnowB BMF 支持可变字体吗?
Section titled “SnowB BMF 支持可变字体吗?”支持。导入 TTF/OTF/WOFF 时自动检测可变字体,显示变体轴控制(字重、字宽、斜体、自定义轴)。拖滑块调参数,生成位图前微调字体外观。详见可变字体。
我可以导入 TTC(TrueType Collection)文件吗?
Section titled “我可以导入 TTC(TrueType Collection)文件吗?”可以。导入 TTC 文件时弹出字体选择对话框,从合集里选一个或多个字体导入。详见字体导入。
什么是有序网格打包?
Section titled “什么是有序网格打包?”第三种纹理打包模式,跟自动和固定并列。按行列有序排列字形,可以设列数,生成规则的网格布局。某些游戏引擎有这种需求。详见纹理打包。
SnowB BMF 可以离线使用吗?
Section titled “SnowB BMF 可以离线使用吗?”可以。SnowB BMF 是 PWA,加载一次后就能离线用。可以装成本地应用,断网也能做字体。上线后自动检查更新。详见 PWA 与离线。
在哪里可以找到快捷键?
Section titled “在哪里可以找到快捷键?”看快捷键页面。常用的有 Space+拖拽平移画布、Ctrl+滚轮缩放等。
自动保存是如何工作的?
Section titled “自动保存是如何工作的?”SnowB BMF 自动把所有项目存到浏览器 IndexedDB。触发时机:离开页面(beforeunload)和标签页不可见时(visibilitychange)。项目用 Protocol Buffer 编码。清浏览器数据会丢已保存项目,记得留 .sbf 备份。详见项目管理。
什么是 xFractional 设置?
Section titled “什么是 xFractional 设置?”实验性功能,用定点数格式给字形度量加亚像素精度。开启后 xAdvance、xOffset 等度量用小数值,小尺寸下文本渲染更平滑。高级选项,大部分人不用管。