Ttf loadx

From Bennu Wiki
Jump to navigation Jump to search


INT ttf_loadx ( <STRING filename> , <INT height> , <INT colordepth> , <INT backgroundcolor> , <INT textcolor> , <INT gradient_start> )


Loads a TTF file as a font into memory.


STRING filename - The filename of the TTF file that you wish to load (including extension and possible path).
INT height - The height in pixels of the to be created font, a size indication.
INT colordepth - The colordepth of the to be created font (1,8 or 16).
INT backgroundcolor - The background color of the to be created font.
INT textcolor - The text color of the to be created font.
INT gradient_start - At which gradient the drawing starts. Higher gradient_start means 'thinner' font and less anti-aliased. Range 0..255.


INT : FontID

-1 - Error: file does not exist; insufficient memory; failed to init freetype.dll; error while loading file; error creating new font.
0 - Invalid filename.
>0 - The FontID.


Insufficient memory - There is insufficient memory available. This error doesn't occur often.
Failed to init freetype.dll - There was an error initializing freetype.dll
Error loading file - There occurred an error while trying to load the file.
Error creating new font - There occurred an error while trying to create a new font.


This function gets a TrueType font and creates a new font with generated glyphs based on the recovered font in the standard characters set (ISO-8859-1). These glyphs are generated with two colours, being the specified colours.

It's possible to save the loaded font as FNT with save_fnt(). This way the font can be reused on platforms not supporting mod_ttf. Note that a FNT file only has information about the font for one size, while a TTF file has information for any size.

The specified size is only an indication; some characters may be a little higher in fact.

The parameters backgroundcolor and textcolor only matter for 8 and 16 bit colordepths. If you specify a colordepth of 1, then the returned font will be black (background) and white (textcolour). The advantage of this, is that you can use change the colour any time, even after loading, with set_text_color().


import "mod_key"
import "mod_map"
import "mod_video"
import "mod_ttf"
import "mod_text"
  int id_ttf;
    id_ttf = load_ttfx("resources/presdntn.ttf",48,16,RGB(255,0,0),RGB(0,255,0),1); 
    write(id_ttf,20,10,0,"Hello World");

Used in example: set_mode(),ttf_loadx(), rgb(), write(), key(), unload_fnt()

Functions Ttfload()Ttfloadaa()Ttfloadx()