Agent Skill
2/7/2026love-font
Allows you to work with fonts. Use this skill when working with font operations, text display, text formatting, or any font-related operations in LÖVE games.
R
redkenrok
0GitHub Stars
1Views
npx skills add RedKenrok/skills
SKILL.md
| Name | love-font |
| Description | Allows you to work with fonts. Use this skill when working with font operations, text display, text formatting, or any font-related operations in LÖVE games. |
name: love-font description: Allows you to work with fonts. Use this skill when working with font operations, text display, text formatting, or any font-related operations in LÖVE games. license: MIT metadata: author: Ron Dekker <rondekker.nl>
When to use this skill
Allows you to work with fonts. Use this skill when working with font operations, text display, text formatting, or any font-related operations in LÖVE games.
Common use cases
- Loading and managing font files
- Rendering text with different styles and sizes
- Working with text formatting and layout
- Handling international text and Unicode characters
- Implementing custom text rendering effects
Functions
love.font.newBMFontRasterizer- Creates a new BMFont Rasterizer.love.font.newBMFontRasterizer(imageData: ImageData, glyphs: string, dpiscale: number) -> rasterizer: Rasterizer: No descriptionlove.font.newBMFontRasterizer(fileName: string, glyphs: string, dpiscale: number) -> rasterizer: Rasterizer: No description
love.font.newGlyphData(rasterizer: Rasterizer, glyph: number): Creates a new GlyphData.love.font.newImageRasterizer(imageData: ImageData, glyphs: string, extraSpacing: number, dpiscale: number) -> rasterizer: Rasterizer: Creates a new Image Rasterizer.love.font.newRasterizer- Creates a new Rasterizer.love.font.newRasterizer(filename: string) -> rasterizer: Rasterizer: No descriptionlove.font.newRasterizer(data: FileData) -> rasterizer: Rasterizer: No descriptionlove.font.newRasterizer(size: number, hinting: HintingMode, dpiscale: number) -> rasterizer: Rasterizer: Create a TrueTypeRasterizer with the default font.love.font.newRasterizer(fileName: string, size: number, hinting: HintingMode, dpiscale: number) -> rasterizer: Rasterizer: Create a TrueTypeRasterizer with custom font.love.font.newRasterizer(fileData: FileData, size: number, hinting: HintingMode, dpiscale: number) -> rasterizer: Rasterizer: Create a TrueTypeRasterizer with custom font.love.font.newRasterizer(imageData: ImageData, glyphs: string, dpiscale: number) -> rasterizer: Rasterizer: Creates a new BMFont Rasterizer.love.font.newRasterizer(fileName: string, glyphs: string, dpiscale: number) -> rasterizer: Rasterizer: Creates a new BMFont Rasterizer.
love.font.newTrueTypeRasterizer- Creates a new TrueType Rasterizer.love.font.newTrueTypeRasterizer(size: number, hinting: HintingMode, dpiscale: number) -> rasterizer: Rasterizer: Create a TrueTypeRasterizer with the default font.love.font.newTrueTypeRasterizer(fileName: string, size: number, hinting: HintingMode, dpiscale: number) -> rasterizer: Rasterizer: Create a TrueTypeRasterizer with custom font.love.font.newTrueTypeRasterizer(fileData: FileData, size: number, hinting: HintingMode, dpiscale: number) -> rasterizer: Rasterizer: Create a TrueTypeRasterizer with custom font.
Types
-
GlyphData: A GlyphData represents a drawable symbol of a font Rasterizer.love.GlyphData.getAdvance() -> advance: number: Gets glyph advance.love.GlyphData.getBearing() -> bx: number, by: number: Gets glyph bearing.love.GlyphData.getBoundingBox() -> x: number, y: number, width: number, height: number: Gets glyph bounding box.love.GlyphData.getDimensions() -> width: number, height: number: Gets glyph dimensions.love.GlyphData.getFormat() -> format: PixelFormat: Gets glyph pixel format.love.GlyphData.getGlyph() -> glyph: number: Gets glyph number.love.GlyphData.getGlyphString() -> glyph: string: Gets glyph string.love.GlyphData.getHeight() -> height: number: Gets glyph height.love.GlyphData.getWidth() -> width: number: Gets glyph width.
-
Rasterizer: A Rasterizer handles font rendering, containing the font data (image or TrueType font) and drawable glyphs.love.Rasterizer.getAdvance() -> advance: number: Gets font advance.love.Rasterizer.getAscent() -> height: number: Gets ascent height.love.Rasterizer.getDescent() -> height: number: Gets descent height.love.Rasterizer.getGlyphCount() -> count: number: Gets number of glyphs in font.love.Rasterizer.getGlyphData(glyph: string) -> glyphData: GlyphData: Gets glyph data of a specified glyph.love.Rasterizer.getHeight() -> height: number: Gets font height.love.Rasterizer.getLineHeight() -> height: number: Gets line height of a font.love.Rasterizer.hasGlyphs(glyph1: string or number, ...: string or number) -> hasGlyphs: boolean: Checks if font contains specified glyphs.
Enums
HintingMode: True Type hinting mode.normal: Default hinting. Should be preferred for typical antialiased fonts.light: Results in fuzzier text but can sometimes preserve the original glyph shapes of the text better than normal hinting.mono: Results in aliased / unsmoothed text with either full opacity or completely transparent pixels. Should be used when antialiasing is not desired for the font.none: Disables hinting for the font. Results in fuzzier text.
Examples
Loading and using fonts
-- Load a font file
local font = love.graphics.newFont("arial.ttf", 24)
-- Set as default font
love.graphics.setFont(font)
-- Draw text
love.graphics.print("Hello World!", 100, 100)
Text formatting
-- Create fonts with different styles
local titleFont = love.graphics.newFont(36)
local bodyFont = love.graphics.newFont(18)
local boldFont = love.graphics.newFont("bold.ttf", 20)
function love.draw()
love.graphics.setFont(titleFont)
love.graphics.print("Game Title", 100, 50)
love.graphics.setFont(bodyFont)
love.graphics.printf("This is a paragraph of text that will be wrapped to fit within the specified width.", 100, 150, 400, "left")
love.graphics.setFont(boldFont)
love.graphics.print("Important Message!", 100, 300)
end
Best practices
- Load fonts during initialization to avoid runtime delays
- Use appropriate font sizes for different screen resolutions
- Consider memory usage when loading multiple fonts
- Handle font loading errors gracefully
- Test text rendering on target platforms
Platform compatibility
- Desktop (Windows, macOS, Linux): Full font support
- Mobile (iOS, Android): Full support with some font limitations
- Web: Good support but some fonts may not be available
Skills Info
Original Name:love-fontAuthor:redkenrok
Download