Ttf loadaa

From Bennu Wiki
Jump to: navigation, search


Syntax

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

Description

Loads a TTF file as a font into memory.

Also called load_ttf().

Parameters

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.

Returns

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.

Errors

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.

Notes

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().

Example

import "mod_key"
import "mod_map"
import "mod_video"
import "mod_ttf"
import "mod_text"
global
  int id_ttf;
Begin
    set_mode(320,240,16);
    id_ttf = load_ttfaa("resources/presdntn.ttf",48,16,RGB(255,0,0),RGB(0,255,0)); 
    write(id_ttf,20,10,0,"Hello World");
    Repeat
        frame;
    Until(key(_ESC))
    unload_fnt(id_ttf);
End

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


Mod_ttf
Globals None
Imported:
M7
Functions Ttfload()Ttfloadaa()Ttfloadx()