Difference between revisions of "love.graphics.newImageFont"

(made note of BMFont's superiority)
m (Add simple example)
(2 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
 
In versions prior to [[0.9.0]], LÖVE expects ISO 8859-1 encoding for the glyphs string.
 
In versions prior to [[0.9.0]], LÖVE expects ISO 8859-1 encoding for the glyphs string.
 
Instead of using this function, consider using a BMFont generator such as [http://www.angelcode.com/products/bmfont/ bmfont], [http://kvazars.com/littera/ littera], or [https://www.bmglyph.com/ bmGlyph] with [[love.graphics.newFont]]. Because slime said it was better.
 
  
 
{{newobjectnotice}}
 
{{newobjectnotice}}
Line 20: Line 18:
 
=== Synopsis ===
 
=== Synopsis ===
 
<source lang="lua">
 
<source lang="lua">
font = love.graphics.newImageFont( image, glyphs )
+
font = love.graphics.newImageFont( imagedata, glyphs )
 
</source>
 
</source>
 
=== Arguments ===
 
=== Arguments ===
{{param|Image|image|The Image object to create the font from.}}
+
{{param|ImageData|imageData|The ImageData object to create the font from.}}
 
{{param|string|glyphs|A string of the characters in the image in order from left to right.}}
 
{{param|string|glyphs|A string of the characters in the image in order from left to right.}}
 
=== Returns ===
 
=== Returns ===
Line 40: Line 38:
 
=== Returns ===
 
=== Returns ===
 
{{param|Font|font|A Font object which can be used to draw text on screen.}}
 
{{param|Font|font|A Font object which can be used to draw text on screen.}}
 +
 +
== Notes ==
 +
Instead of using this function, consider using a BMFont generator such as [http://www.angelcode.com/products/bmfont/ bmfont], [http://kvazars.com/littera/ littera], or [https://www.bmglyph.com/ bmGlyph] with [[love.graphics.newFont]]. Because slime said it was better.
 +
 +
== Examples ==
 +
Creating a simple image font. Download this [[:File:font_example.png|image file]] which will be used by LÖVE to create the font. Obviously when you want to create a font for your game you want to make the background transparent.
 +
<source lang="lua">
 +
local font = love.graphics.newImageFont( 'font_example.png', ' ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789' )
 +
function love.draw()
 +
    love.graphics.setFont( font )
 +
    love.graphics.print( 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', 16, 16 )
 +
    love.graphics.print( 'Text is now drawn using the font', 16, 32 )
 +
end
 +
</source>
 +
 
== See Also ==
 
== See Also ==
 
* [[parent::love.graphics]]
 
* [[parent::love.graphics]]

Revision as of 17:02, 15 January 2017

Creates a new Font by loading a specifically formatted image.

In versions prior to 0.9.0, LÖVE expects ISO 8859-1 encoding for the glyphs string.


O.png This function can be slow if it is called repeatedly, such as from love.update or love.draw. If you need to use a specific resource often, create it once and store it somewhere it can be reused!  



Function

Synopsis

font = love.graphics.newImageFont( filename, glyphs )

Arguments

string filename
The filepath to the image file.
string glyphs
A string of the characters in the image in order from left to right.

Returns

Font font
A Font object which can be used to draw text on screen.

Function

Synopsis

font = love.graphics.newImageFont( imagedata, glyphs )

Arguments

ImageData imageData
The ImageData object to create the font from.
string glyphs
A string of the characters in the image in order from left to right.

Returns

Font font
A Font object which can be used to draw text on screen.

Function

Available since LÖVE 0.10.0
This variant is not supported in earlier versions.

Synopsis

font = love.graphics.newImageFont( filename, glyphs, extraspacing )

Arguments

string filename
The filepath to the image file.
string glyphs
A string of the characters in the image in order from left to right.
number extraspacing
Additional spacing (positive or negative) to apply to each glyph in the Font.

Returns

Font font
A Font object which can be used to draw text on screen.

Notes

Instead of using this function, consider using a BMFont generator such as bmfont, littera, or bmGlyph with love.graphics.newFont. Because slime said it was better.

Examples

Creating a simple image font. Download this image file which will be used by LÖVE to create the font. Obviously when you want to create a font for your game you want to make the background transparent.

local font = love.graphics.newImageFont( 'font_example.png', ' ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789' )
function love.draw()
    love.graphics.setFont( font )
    love.graphics.print( 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', 16, 16 )
    love.graphics.print( 'Text is now drawn using the font', 16, 32 )
end

See Also



Other Languages