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.
Understanding Character Sets
Section titled “Understanding Character Sets”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.
Default Set
Section titled “Default Set”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.
Configuring Character Sets
Section titled “Configuring Character Sets”The Glyphs Input Field
Section titled “The Glyphs Input Field”Configure your character set in the Glyphs input field, located in the left-hand Font Config panel:
- Locate the Input: Find the “Glyphs” section in the Font Config panel.
- Add Characters: Use the multi-line text field to type or paste your desired characters.
- Real-time Updates: Changes are applied immediately as you type
- Visual Preview: The workspace preview updates automatically to show your character set.
Features
Section titled “Features”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
Section titled “The Space Character”The space character (
) is automatically included in every character set and cannot be removed. This ensures proper text spacing in applications using your font.
Character Set Examples
Section titled “Character Set Examples”Basic Latin Only
Section titled “Basic Latin Only”abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
Gaming HUD
Section titled “Gaming HUD”0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZHP:MP/+-%
International Text (Spanish)
Section titled “International Text (Spanish)”abcdefghijklmnopqrstuvwxyzñABCDEFGHIJKLMNOPQRSTUVWXYZÑáéíóúüÁÉÍÓÚÜ¿¡0123456789
Special Symbols
Section titled “Special Symbols”★☆♫♪⚡⭐🎮🎯←→↑↓⬆⬇⬅➡
Best Practices
Section titled “Best Practices”Optimize for Performance
Section titled “Optimize for Performance”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.
Workflow Tips
Section titled “Workflow Tips”- 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.
Technical Details
Section titled “Technical Details”Character Processing
Section titled “Character Processing”When you input characters, SnowB BMF processes them as follows:
- Unicode Parsing: Characters are parsed as individual Unicode code points
- Deduplication: Duplicates are removed automatically.
- Space Addition: A space character is added if not present.
- Glyph Generation: Each character is rendered as a bitmap glyph using your font and styling settings
Glyph Rendering Priority
Section titled “Glyph Rendering Priority”When rendering a character, SnowB BMF uses this priority order:
- Imported Font: If an imported TTF/OTF file contains the character.
- System Fallback: If not found, the system tries to render it using a browser-default font.
- Missing Glyph: An empty glyph is generated for unsupported characters.
Integration with Font Export
Section titled “Integration with Font Export”Your character set directly affects the exported font data:
Font Descriptor Files
Section titled “Font Descriptor Files”- 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
Texture Atlas
Section titled “Texture Atlas”- 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.
Troubleshooting
Section titled “Troubleshooting”Missing or Incorrect Characters
Section titled “Missing or Incorrect Characters”- 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.
Large Texture Size or Poor Performance
Section titled “Large Texture Size or Poor Performance”- 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.