2.5 KiB
Font Lib API
This document describes Font Lib API. Font Lib creates textures for font display on entities.
Provided methods
get_text_size
font_lib.get_text_size(font_name, text)
Computes size for a given font and text
font_name: Font name of registered font to use
text: Text to be rendered
Returns: rendered text width, height
make_line_texture
font_lib.make_line_texture(font_name, text, width, x, y)
Builds texture part for a text line
font_name: Font name of registered font to use
text: Text to be rendered
texturew: Width of the texture (extra text is not rendered)
x: Starting x position in texture
y: Vertical position of the line in texture
Returns: Texture string
make_multiline_texture
font_lib.make_multiline_texture(font_name, text, width, height, maxlines, valign, color)
Builds texture for a multiline colored text
font_name: Font name of registered font to use
text: Text to be rendered
texturew: Width of the texture (extra text will be truncated)
textureh: Height of the texture
maxlines: Maximum number of lines
valign: Vertical text align ("top", "bottom" or "center")
color: Color of the text
Returns: Texture string
register_font
font_lib.register_font(font_name, height, widths)
Registers a new font in font_lib.
font_name: Name of the font to register (this name will be used to address the font later)
height: Height of the font in pixels (all font textures should have the same height)
widths : An array containing the width of each font texture, indexed by its UTF code
All textures corresponding to the indexes in widths array should be present in textures directory with a name matching the pattern :
font_<font_name>_<utf_code>.png
<font_name>: Name of the font as given in the first argument
<utf_code>: UTF code of the char in 4 hexadecimal digits
To ease that declaration, a shell is provided to build a <font_name>.lua file from the texture files (see provided tools).
set_fallback_font
function font_lib.set_fallback_font(font_name)
Defines the fallback font to be used instead of given font if not registered.
font_name: Name of the font to be used as fallback font (has to be registered)
Provided tools
make_font_lua.sh
Still in early stage of development.
This script analyses textures in textures directory and creates a font_<font_name>.lua files with a call to register_font with images information.