FontAsset
Asset type for loading bitmap fonts.
Supports loading:
- AngelCode BMFont format (.fnt files)
- TrueType/OpenType fonts (.ttf/.otf) that have been pre-converted to bitmap fonts
A bitmap font consists of:
- Font data file (.fnt) describing character metrics
- One or more texture pages containing the rendered glyphs
Features:
- Multi-page font support
- Automatic density selection for font textures
- Hot reload support
- Automatic Text visual updates when font is replaced
var assets = new Assets();
assets.addFont('arial.fnt');
assets.addFont('roboto.ttf'); // Assumes roboto.fnt exists
assets.load();
// Use loaded font
var text = new Text();
text.font = assets.font('arial');
Instance Members
fontData: BitmapFontDataThe parsed font data containing character metrics and layout information. Available after successful loading.
pages: MapMap of texture page paths to loaded textures. Bitmap fonts can use multiple texture pages for large character sets.
font: BitmapFontThe loaded BitmapFont instance. Observable property that updates when the font is loaded or replaced. Null until the asset is successfully loaded.
invalidateFont(): Voidload(): VoidLoad the font data and associated texture pages. For TTF/OTF fonts, looks for pre-converted .fnt files. Handles multi-page fonts by loading all required textures. Emits complete event when finished.
destroy(): Voidnew(name: String, ?variant: String, ?options: Null<AssetOptions>): VoidCreate a new font asset.
| Name | Type | Default | Description |
|---|---|---|---|
name |
String | Font file name (.fnt, .ttf, or .otf) | |
variant |
String | (optional) | Optional variant suffix |
options |
Null<AssetOptions> | (optional) | Loading options (font-specific options depend on backend) |
Private Members
unobservedFont: BitmapFonttransformedPath: StringemitReplaceFont(newFont: BitmapFont, prevFont: BitmapFont): VoidEmitted when the font is replaced (e.g., during hot reload). All Text visuals using the previous font are automatically updated.
| Name | Type | Description |
|---|---|---|
newFont |
BitmapFont | The newly loaded font |
prevFont |
BitmapFont | The previous font being replaced |
emitFontChange(current: BitmapFont, previous: BitmapFont): VoidEvent when font field changes.
| Name | Type |
|---|---|
current |
BitmapFont |
previous |
BitmapFont |
Handle screen density changes by reloading the font at appropriate resolution. This ensures text remains crisp when display density changes.
| Name | Type |
|---|---|
newDensity |
Float |
prevDensity |
Float |
checkTexturesDensity(): VoidassetFilesDidChange(newFiles: ReadOnlyMap<String, Float>, previousFiles: ReadOnlyMap<String, Float>): VoidHandle file system changes for hot reload. Monitors both the font data file and texture pages for changes.
| Name | Type |
|---|---|
newFiles |
ReadOnlyMap<String, Float> |
previousFiles |
ReadOnlyMap<String, Float> |
Metadata
| Name | Parameters |
|---|---|
:build |
tracker.macros.EventsMacro.build() |
:autoBuild |
tracker.macros.EventsMacro.build() |
:build |
ceramic.macros.EntityMacro.buildForCompletion() |
:autoBuild |
ceramic.macros.EntityMacro.buildForCompletion() |
:build |
tracker.macros.ObservableMacro.build() |
:autoBuild |
tracker.macros.ObservableMacro.build() |