跳转到内容

字符集

配置位图字体中需要包含哪些字符。

字符集定义了位图字体中包含哪些字符(字形)。您可以通过添加或删除字符来管理字符集,SnowB BMF 完全支持 Unicode,并会自动处理重复字符,确保高效的字形生成。

字符集是将被渲染为位图字形的字符集合。在最终的纹理图集中,每个唯一的字符都会成为一个独立的字形。

SnowB BMF 提供一个全面的默认字符集,包括:

  • 数字: 0123456789
  • 小写字母: abcdefghijklmnopqrstuvwxyz
  • 大写字母: ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • 常用符号: !№;%:?*()_+-=.,/|"'@#$^&{}

该默认字符集涵盖了大多数西方文本的常见用例。

在左侧“字体配置”面板的 字形 (Glyphs) 输入字段中配置您的字符集:

  1. 定位输入框: 在“字体配置”面板中找到“字形”部分。
  2. 添加字符: 使用多行文本字段输入或粘贴您需要的字符。
  3. 实时更新: 您输入时,更改会立即应用。
  4. 可视化预览: 工作区预览会自动更新,显示您的字符集。

自动去重: 重复的字符会被自动移除。您可以多次输入同一个字符,但它在字体中只会被包含一次。

Unicode 支持: 完全的 Unicode 支持允许您包含:

  • 国际字符 (如 é, ñ, ü 等)
  • 非拉丁文字 (如 中, 日, العربية 等)
  • Emoji 和特殊符号 (如 ★, ♫, ⚡ 等)
  • 数学符号 (如 ∑, π, ∞ 等)

输入法 (IME) 兼容: 输入字段支持使用输入法编辑器 (IME) 来输入复杂的国际字符。

空格字符 ( ) 会自动包含在每个字符集中,且无法移除。这确保了使用您的字体的应用程序能正确处理文本间距。

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
0123456789
ABCDEFGHIJKLMNOPQRSTUVWXYZ
HP:MP/+-%
你好世界
0123456789
★☆♫♪⚡⭐🎮🎯
←→↑↓⬆⬇⬅➡

保持字符集最小化。庞大的字符集会增加纹理尺寸、内存占用和加载时间。分析您应用程序的文本,只包含您需要的字符。

  • 逻辑化组织: 在输入字段中对字符进行分组(例如,按语言或功能),使您的字符集更易于管理。
  • 测试覆盖率: 确保您的字符集覆盖了应用程序中将出现的所有文本,包括 UI 元素、对话框和动态内容。

当您输入字符时,SnowB BMF 会按以下方式处理它们:

  1. Unicode 解析: 字符被解析为独立的 Unicode 码点。
  2. 去重: 自动移除重复项。
  3. 添加空格: 如果不存在,则添加一个空格字符。
  4. 字形生成: 每个字符都根据您的字体和样式设置被渲染为位图字形。

渲染字符时,SnowB BMF 使用以下优先级顺序:

  1. 导入的字体: 如果导入的 TTF/OTF 文件包含该字符。
  2. 系统回退: 如果未找到,系统会尝试使用浏览器默认字体进行渲染。
  3. 缺失字形: 对于不支持的字符,会生成一个空字形。

您的字符集直接影响导出的字体数据:

  • 文本格式: 列出所有字符及其纹理坐标。
  • XML 格式: 包含字符代码和字形信息。
  • 二进制格式: 优化的运行时字符数据。
  • 每个字符在打包的纹理中占据空间。
  • 字符定位由打包算法优化。
  • 空格字符不消耗纹理空间,但其度量信息会被导出。
  • 字体支持: 确保您导入的字体文件包含所需的字形。
  • 系统回退: 如果导入的字体缺少某个字符,系统可能会回退到浏览器默认字体,导致样式不匹配。
  • 编码问题: 验证您的输入文本是否使用正确的 Unicode 编码。
  • 减少字符数量: 最常见的原因是字符集过大。移除应用程序中非必需的任何字符。
  • 优化布局: 使用自动打包并调整间距/填充设置,以减小最终的纹理图集尺寸。
  • 复杂的字形: 包含非常精细字符的字体可能需要更长的处理时间并消耗更多的纹理空间。