Skip to content

Character Sets

Configure which characters to include in your bitmap font.

Character sets define which characters (glyphs) are included in your bitmap font. You can manage your character set by adding or removing characters, with full support for Unicode. SnowB BMF automatically handles duplicates and ensures efficient glyph generation.

A character set is a collection of characters that will be rendered as bitmap glyphs. Each unique character becomes a separate glyph in the final texture atlas.

SnowB BMF starts with a comprehensive default character set that includes:

  • Numbers: 0123456789
  • Lowercase letters: abcdefghijklmnopqrstuvwxyz
  • Uppercase letters: ABCDEFGHIJKLMNOPQRSTUVWXYZ
  • Common symbols: !№;%:?*()_+-=.,/|"'@#$^&{}

This default set covers most common use cases for Western text.

Configure your character set in the Glyphs input field, located in the left-hand Font Config panel:

  1. Locate the Input: Find the “Glyphs” section in the Font Config panel.
  2. Add Characters: Use the multi-line text field to type or paste your desired characters.
  3. Real-time Updates: Changes are applied immediately as you type
  4. Visual Preview: The workspace preview updates automatically to show your character set.

Automatic Deduplication: Duplicate characters are automatically removed. You can type the same character multiple times, but it will only be included once in the font.

Unicode Support: Full Unicode support allows you to include:

  • International characters (é, ñ, ü, etc.)
  • Non-Latin scripts (中, 日, العربية, etc.)
  • Emoji and special symbols (★, ♫, ⚡, etc.)
  • Mathematical symbols (∑, π, ∞, etc.)

IME Compatibility: The input field supports Input Method Editors (IME) for typing complex and international characters.

The space character ( ) is automatically included in every character set and cannot be removed. This ensures proper text spacing in applications using your font.

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
0123456789
ABCDEFGHIJKLMNOPQRSTUVWXYZ
HP:MP/+-%
abcdefghijklmnopqrstuvwxyzñ
ABCDEFGHIJKLMNOPQRSTUVWXYZÑ
áéíóúüÁÉÍÓÚÜ¿¡
0123456789
★☆♫♪⚡⭐🎮🎯
←→↑↓⬆⬇⬅➡

Keep your character set minimal. Large sets increase texture size, memory usage, and loading times. Analyze your application’s text to include only the characters you need.

  • Organize Logically: Group characters in the input field (e.g., by language or function) to make your set easier to manage.
  • Test Coverage: Ensure your character set covers all text that will appear in your application, including UI elements, dialogs, and dynamic content.

When you input characters, SnowB BMF processes them as follows:

  1. Unicode Parsing: Characters are parsed as individual Unicode code points
  2. Deduplication: Duplicates are removed automatically.
  3. Space Addition: A space character is added if not present.
  4. Glyph Generation: Each character is rendered as a bitmap glyph using your font and styling settings

When rendering a character, SnowB BMF uses this priority order:

  1. Imported Font: If an imported TTF/OTF file contains the character.
  2. System Fallback: If not found, the system tries to render it using a browser-default font.
  3. Missing Glyph: An empty glyph is generated for unsupported characters.

Your character set directly affects the exported font data:

  • Text Format: Lists all characters with their texture coordinates
  • XML Format: Includes character codes and glyph information
  • Binary Format: Optimized character data for runtime use
  • Each character occupies space in the packed texture
  • Character positioning is optimized by the packing algorithm
  • The space character does not consume texture space but its metrics are exported.
  • Font Support: Ensure your imported font file contains the required glyphs.
  • System Fallback: If an imported font is missing a character, the system may fall back to a browser-default font, causing a style mismatch.
  • Encoding Issues: Verify your input text uses correct Unicode encoding.
  • Reduce Character Count: The most common cause is a character set that is too large. Remove any characters that are not essential for your application.
  • Optimize Layout: Use auto-packing and adjust spacing/padding settings to reduce the final texture atlas size.
  • Complex Glyphs: Fonts with very detailed characters can take longer to process and consume more texture space.