[Top] [Contents] [Index] [ ? ]

SDL_ttf 2.0.10

1. Overview  The README from the SDL_ttf distribution

2. Getting Started  Using SDL_ttf

3. Functions  Functions supported by the SDL_ttf API
4. Types  Types used with the SDL_ttf API
5. Defines  Defined values/macros in the SDL_ttf API

6. Glossary  Terms used in this document

Index  Index of selected words

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1. Overview

A Little Bit About Me

I am currently, as I write this document, a programmer for Raytheon. There I do all sorts of communications, network, GUI, and other general programming tasks in C/C++ on the Solaris and sometimes Linux Operating Systems. I've used SDL_ttf as one of the many methods of putting text on my SDL applications, and use it in my own SDL GUI code as well. While this document doesn't explain how and where to get fonts to use, it will explain how to use them with SDL_ttf.

Feel free to contact me: JonathanCAtkins@gmail.com

The latest version of this library is available from:
SDL_ttf Homepage

I am also usually on IRC at irc.freenode.net in the #SDL channel as LIM

This is the README in the SDL_ttf source archive.

This library is a wrapper around the excellent FreeType 1.2 library, available at: Freetype Homepage

WARNING: There may be patent issues with using the FreeType library. Check the FreeType website for up-to-date details.

This library allows you to use TrueType fonts to render text in SDL applications.

To make the library, first install the FreeType library, then type 'make' to build the SDL truetype library and 'make all' to build the demo application.

Be careful when including fonts with your application, as many of them are copyrighted. The Microsoft fonts, for example, are not freely redistributable and even the free "web" fonts they provide are only redistributable in their special executable installer form (May 1998). There are plenty of freeware and shareware fonts available on the Internet though, which may suit your purposes.

Please see the file "COPYING" for license information for this library.

Enjoy! -Sam Lantinga slouken@devolution.com (5/1/98)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2. Getting Started

This assumes you have gotten SDL_ttf and installed it on your system. SDL_ttf has an INSTALL document in the source distribution to help you get it compiled and installed.

Generally, installation consists of:

 
./configure
make
make install

SDL_ttf supports loading fonts from TrueType font files, normally ending in .ttf, though some .fon files are also valid for use. Note that most fonts are copyrighted, check the license on the font before you use and redistribute it.

Some free font sources are:

You may also want to look at some demonstration code which may be downloaded from:
http://www.jonatkins.org/SDL_ttf/

2.1 Includes  The include files to use for SDL_ttf
2.2 Compiling  Using the SDL_ttf library and header file.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.1 Includes

To use SDL_ttf functions in a C/C++ source code file, you must use the SDL_ttf.h include file:

#include "SDL_ttf.h"


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.2 Compiling

To link with SDL_ttf you should use sdl-config to get the required SDL compilation options. After that, compiling with SDL_ttf is quite easy.
Note: Some systems may not have the SDL_ttf library and include file in the same place as the SDL library and includes are located, in that case you will need to add more -I and -L paths to these command lines. All examples are gcc and perhaps UNIX specific, but adaptable to many compilers and Operating Systems.

Simple Example for compiling to an object file:

gcc -c `sdl-config --cflags` mysource.c

Simple Example for linking an executable (Unix style has no .exe):

gcc -o myprogram mysource.o `sdl-config --libs` -lSDL_ttf

Now myprogram is ready to run.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3. Functions

These are the functions in the SDL_ttf API.

3.1 General  API activation, info, and error handling
3.2 Management  Loading fonts from files or memory
3.3 Attributes  Getting and Setting font attributes
3.4 Render  Drawing strings and glyphs with a font


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1 General

These functions are core elements in SDL_ttf.

Info
3.1.1 TTF_Linked_Version  Get runtime version number
Activation
3.1.2 TTF_Init  Initialize API
3.1.3 TTF_WasInit  Query API initialization status
3.1.4 TTF_Quit  Cleanup API
Errors
3.1.5 TTF_SetError  Set the current error string
3.1.6 TTF_GetError  Get the current error string


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.1 TTF_Linked_Version

const SDL_version *TTF_Linked_Version()
void SDL_TTF_VERSION(SDL_version *compile_version)

This works similar to SDL_Linked_Version and SDL_VERSION.
Using these you can compare the runtime version to the version that you compiled with.
No prior initialization needs to be done before these function/macros are used.

 
SDL_version compile_version;
const SDL_version *link_version=TTF_Linked_Version();
SDL_TTF_VERSION(&compile_version);
printf("compiled with SDL_ttf version: %d.%d.%d\n", 
        compile_version.major,
        compile_version.minor,
        compile_version.patch);
printf("running with SDL_ttf version: %d.%d.%d\n", 
        link_version->major,
        link_version->minor,
        link_version->patch);

See Also:
3.1.2 TTF_Init


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.2 TTF_Init

int TTF_Init()

Initialize the truetype font API.
This must be called before using other functions in this library, except TTF_WasInit.
SDL does not have to be initialized before this call.

Returns: 0 on success, -1 on any error

 
if(TTF_Init()==-1) {
    printf("TTF_Init: %s\n", TTF_GetError());
    exit(2);
}

See Also:
3.1.4 TTF_Quit, 3.1.3 TTF_WasInit


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.3 TTF_WasInit

int TTF_WasInit()

Query the initilization status of the truetype font API.
You may, of course, use this before TTF_Init to avoid initializing twice in a row. Or use this to determine if you need to call TTF_Quit.

Returns: 1 if already initialized, 0 if not initialized.

 
if(!TTF_WasInit() && TTF_Init()==-1) {
    printf("TTF_Init: %s\n", TTF_GetError());
    exit(1);
}

See Also:
3.1.2 TTF_Init, 3.1.4 TTF_Quit


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.4 TTF_Quit

void TTF_Quit()

Shutdown and cleanup the truetype font API.
After calling this the SDL_ttf functions should not be used, excepting TTF_WasInit. You may, of course, use TTF_Init to use the functionality again.

 
TTF_Quit();
// you could SDL_Quit(); here...or not.

See Also:
3.1.2 TTF_Init, 3.1.3 TTF_WasInit


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.5 TTF_SetError

void TTF_SetError(const char *fmt, ...)

This is really a defined macro for SDL_SetError, which sets the error string which may be fetched with TTF_GetError (or SDL_GetError). This functions acts like printf, except that it is limited to SDL_ERRBUFIZE(1024) chars in length. It only accepts the following format types: %s, %d, %f, %p. No flags, precisions, field widths, nor length modifiers, are supported in the format. For any more specifics read the SDL docs.

 
int myfunc(int i) {
    TTF_SetError("myfunc is not implemented! %d was passed in.",i);
    return(-1);
}

See Also:
3.1.6 TTF_GetError


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1.6 TTF_GetError

char *TTF_GetError()

This is really a defined macro for SDL_GetError. It returns the last error set by TTF_SetError (or SDL_SetError) as a string. Use this to tell the user what happened when an error status has been returned from an SDL_ttf function call.

Returns: a char pointer (string) containing a human readable version or the reason for the last error that occured.

 
printf("Oh My Goodness, an error : %s", TTF_GetError());

See Also:
3.1.5 TTF_SetError


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2 Management

These functions deal with loading and freeing a TTF_Font.

Loading
3.2.1 TTF_OpenFont  From a file
3.2.2 TTF_OpenFontRW  Using RWops
3.2.3 TTF_OpenFontIndex  From a file, with an index
3.2.4 TTF_OpenFontIndexRW  From memory, with an index
Freeing
3.2.5 TTF_CloseFont  Free a loaded font


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.1 TTF_OpenFont

TTF_Font *TTF_OpenFont(const char *file, int ptsize)

file
File name to load font from.
ptsize
Point size (based on 72DPI) to load font as. This basically translates to pixel height.

Load file for use as a font, at ptsize size. This is actually TTF_OpenFontIndex(file, ptsize, 0). This can load TTF and FON files.

Returns: a pointer to the font as a TTF_Font. NULL is returned on errors.

 
// load font.ttf at size 16 into font
TTF_Font *font;
font=TTF_OpenFont("font.ttf", 16);
if(!font) {
    printf("TTF_OpenFont: %s\n", TTF_GetError());
    // handle error
}

See Also:
3.2.3 TTF_OpenFontIndex, 3.2.2 TTF_OpenFontRW, 3.2.5 TTF_CloseFont


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.2 TTF_OpenFontRW

TTF_Font *TTF_OpenFontRW(SDL_RWops *src, int freesrc, int ptsize)

src
The source SDL_RWops as a pointer. The font is loaded from this.
freesrc
A non-zero value means it will automatically close and free the src for you after it finishes using the src, even if a noncritical error occured.
ptsize
Point size (based on 72DPI) to load font as. This basically translates to pixel height.

Load src for use as a font, at ptsize size. This is actually TTF_OpenFontIndexRW(src, freesrc, ptsize, 0) This can load TTF and FON formats. Using SDL_RWops is not covered here, but they enable you to load from almost any source.

NOTE: src is not checked for NULL, so be careful.

Returns: a pointer to the font as a TTF_Font. NULL is returned on errors.

 
// load font.ttf at size 16 into font
TTF_Font *font;
font=TTF_OpenFontRW(SDL_RWFromFile("font.ttf"), 1, 16);
if(!font) {
    printf("TTF_OpenFontRW: %s\n", TTF_GetError());
    // handle error
}
Note that this is unsafe because we don't check the validity of the SDL_RWFromFile's returned pointer.

See Also:
3.2.4 TTF_OpenFontIndexRW, 3.2.1 TTF_OpenFont, 3.2.5 TTF_CloseFont


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.3 TTF_OpenFontIndex

TTF_Font *TTF_OpenFontIndex(const char *file, int ptsize, long index)

file
File name to load font from.
ptsize
Point size (based on 72DPI) to load font as. This basically translates to pixel height.
index
choose a font face from a file containing multiple font faces. The first face is always index 0.

Load file, face index, for use as a font, at ptsize size. This is actually TTF_OpenFontIndexRW(SDL_RWFromFile(file), ptsize, index), but checks that the RWops it creates is not NULL. This can load TTF and FON files.

Returns: a pointer to the font as a TTF_Font. NULL is returned on errors.

 
// load font.ttf, face 0, at size 16 into font
TTF_Font *font;
font=TTF_OpenFontIndex("font.ttf", 16, 0);
if(!font) {
    printf("TTF_OpenFontIndex: %s\n", TTF_GetError());
    // handle error
}

See Also:
3.2.4 TTF_OpenFontIndexRW, 3.2.1 TTF_OpenFont, 3.2.5 TTF_CloseFont


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.4 TTF_OpenFontIndexRW

TTF_Font *TTF_OpenFontIndexRW(SDL_RWops *src, int freesrc, int ptsize, long index)

src
The source SDL_RWops as a pointer. The font is loaded from this.
freesrc
A non-zero value means it will automatically close and free the src for you after it finishes using the src, even if a noncritical error occured.
ptsize
Point size (based on 72DPI) to load font as. This basically translates to pixel height.
index
Choose a font face from a file containing multiple font faces. The first face is always index 0.

Load src, face index, for use as a font, at ptsize size. This can load TTF and FON formats.
Using SDL_RWops is not covered here, but they enable you to load from almost any source.

NOTE: src is not checked for NULL, so be careful.

Returns: a pointer to the font as a TTF_Font. NULL is returned on errors.

 
// load font.ttf, face 0, at size 16 into font
TTF_Font *font;
font=TTF_OpenFontRW(SDL_RWFromFile("font.ttf"), 1, 16, 0);
if(!font) {
    printf("TTF_OpenFontIndexRW: %s\n", TTF_GetError());
    // handle error
}
Note that this is unsafe because we don't check the validity of the SDL_RWFromFile's returned pointer.

See Also:
3.2.3 TTF_OpenFontIndex, 3.2.2 TTF_OpenFontRW, 3.2.5 TTF_CloseFont


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2.5 TTF_CloseFont

void TTF_CloseFont(TTF_Font *font)

font
Pointer to the TTF_Font to free.

Free the memory used by font, and free font itself as well. Do not use font after this without loading a new font to it.

 
// free the font
// TTF_Font *font;
TTF_CloseFont(font);
font=NULL; // to be safe...

See Also:
3.2.1 TTF_OpenFont, 3.2.2 TTF_OpenFontRW, 3.2.3 TTF_OpenFontIndex, 3.2.4 TTF_OpenFontIndexRW


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3 Attributes

These functions deal with TTF_Font, and global, attributes.

See the end of 3.3.19 TTF_GlyphMetrics for info on how the metrics work.

Global Attributes
3.3.1 TTF_ByteSwappedUNICODE  Set default UNICODE byte swapping mode
Font Style
3.3.2 TTF_GetFontStyle  Get font render style
3.3.3 TTF_SetFontStyle  Set font render style
3.3.4 TTF_GetFontOutline  Get font outline width
3.3.5 TTF_SetFontOutline  Set font outline width
Font Settings
3.3.6 TTF_GetFontHinting  Get freetype hinter setting
3.3.7 TTF_SetFontHinting  Set freetype hinter setting
3.3.8 TTF_GetFontKerning  Get freetype kerning setting
3.3.9 TTF_SetFontKerning  Set freetype kerning setting
Font Metrics
3.3.10 TTF_FontHeight  Get font maximum total height
3.3.11 TTF_FontAscent  Get font highest ascent (height above base)
3.3.12 TTF_FontDescent  Get font lowest descent (height below base)
3.3.13 TTF_FontLineSkip  Get font recommended line spacing
Face Attributes
3.3.14 TTF_FontFaces  Get the number of faces in a font
3.3.15 TTF_FontFaceIsFixedWidth  Get whether font is monospaced or not
3.3.16 TTF_FontFaceFamilyName  Get current font face family name string
3.3.17 TTF_FontFaceStyleName  Get current font face style name string
Glyphs
3.3.18 TTF_GlyphIsProvided  Get individual font glyph availability
3.3.19 TTF_GlyphMetrics  Get individual font glyph metrics
Text Metrics
3.3.20 TTF_SizeText  Get size of LATIN1 text string as would be rendered
3.3.21 TTF_SizeUTF8  Get size of UTF8 text string as would be rendered
3.3.22 TTF_SizeUNICODE  Get size of UNICODE text string as would be rendered


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.1 TTF_ByteSwappedUNICODE

void TTF_ByteSwappedUNICODE(int swapped)

swapped
if non-zero then UNICODE data is byte swapped relative to the CPU's native endianness.
if zero, then do not swap UNICODE data, use the CPU's native endianness.

This function tells SDL_ttf whether UNICODE (Uint16 per character) text is generally byteswapped. A UNICODE_BOM_NATIVE or UNICODE_BOM_SWAPPED character in a string will temporarily override this setting for the remainder of that string, however this setting will be restored for the next one. The default mode is non-swapped, native endianness of the CPU.

 
// Turn on byte swapping for UNICODE text
TTF_ByteSwappedUNICODE(1);

See Also:
5. Defines


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.2 TTF_GetFontStyle

int TTF_GetFontStyle(TTF_Font *font)

font
The loaded font to get the style of.

Get the rendering style of the loaded font.

NOTE: Passing a NULL font into this function will cause a segfault.

Returns: The style as a bitmask composed of the following masks:
TTF_STYLE_BOLD
TTF_STYLE_ITALIC
TTF_STYLE_UNDERLINE
TTF_STYLE_STRIKETHROUGH
If no style is set then TTF_STYLE_NORMAL is returned.

 
// get the loaded font's style
//TTF_Font *font;
int style;
style=TTF_GetFontStyle(font);
printf("The font style is:");
if(style==TTF_STYLE_NORMAL)
    printf(" normal");
else {
    if(style&TTF_STYLE_BOLD)
        printf(" bold");
    if(style&TTF_STYLE_ITALIC)
        printf(" italic");
    if(style&TTF_STYLE_UNDERLINE)
        printf(" underline");
    if(style&TTF_STYLE_STRIKETHROUGH)
        printf(" strikethrough");
}
printf("\n");

See Also:
3.3.3 TTF_SetFontStyle,
5. Defines


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.3 TTF_SetFontStyle

void TTF_SetFontStyle(TTF_Font *font, int style)

font
The loaded font to set the style of.
style
The style as a bitmask composed of the following masks:
TTF_STYLE_BOLD
TTF_STYLE_ITALIC
TTF_STYLE_UNDERLINE
TTF_STYLE_STRIKETHROUGH
If no style is desired then use TTF_STYLE_NORMAL, which is the default.

Set the rendering style of the loaded font.

NOTE: Passing a NULL font into this function will cause a segfault.

NOTE: This will flush the internal cache of previously rendered glyphs, even if there is no change in style, so it may be best to check the current style using TTF_GetFontStyle first.

NOTE: TTF_STYLE_UNDERLINE may cause surfaces created by TTF_RenderGlyph_* functions to be extended vertically, downward only, to encompass the underline if the original glyph metrics didn't allow for the underline to be drawn below. This does not change the math used to place a glyph using glyph metrics.
On the other hand TTF_STYLE_STRIKETHROUGH doesn't extend the glyph, since this would invalidate the metrics used to position the glyph when blitting, because they would likely be extended vertically upward. There is perhaps a workaround, but it would require programs to be smarter about glyph blitting math than they are currently designed for.
Still, sometimes the underline or strikethrough may be outside of the generated surface, and thus not visible when blitted to the screen. In this case, you should probably turn off these styles and draw your own strikethroughs and underlines.

 
// set the loaded font's style to bold italics
//TTF_Font *font;
TTF_SetFontStyle(font, TTF_STYLE_BOLD|TTF_STYLE_ITALIC);

// render some text in bold italics...

// set the loaded font's style back to normal
TTF_SetFontStyle(font, TTF_STYLE_NORMAL);

See Also:
3.3.2 TTF_GetFontStyle,
5. Defines


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.4 TTF_GetFontOutline

int TTF_GetFontOutline(TTF_Font *font)

font
The loaded font to get the outline size of.

Get the current outline size of the loaded font.

NOTE: Passing a NULL font into this function will cause a segfault.

Returns: The size of the outline currently set on the font, in pixels.

 
// get the loaded font's outline width
//TTF_Font *font;
int outline=TTF_GetFontOutline(font);
printf("The font outline width is %d pixels\n",outline);

See Also:
3.3.5 TTF_SetFontOutline,
3.3.2 TTF_GetFontStyle


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.5 TTF_SetFontOutline

void TTF_SetFontOutline(TTF_Font *font, int outline)

font
The loaded font to set the outline size of.
outline
The size of outline desired, in pixels.
Use 0(zero) to turn off outlining.

Set the outline pixel width of the loaded font.

NOTE: Passing a NULL font into this function will cause a segfault.

NOTE: This will flush the internal cache of previously rendered glyphs, even if there is no change in outline size, so it may be best to check the current outline size using TTF_GetFontOutline first.

 
// set the loaded font's outline to 1 pixel wide
//TTF_Font *font;
TTF_SetFontOutline(font, 1);

// render some outlined text...

// set the loaded font's outline back to normal
TTF_SetFontOutline(font, 0);

See Also:
3.3.4 TTF_GetFontOutline,
3.3.3 TTF_SetFontStyle


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.6 TTF_GetFontHinting

int TTF_GetFontHinting(TTF_Font *font)

font
The loaded font to get the hinting setting of.

Get the current hinting setting of the loaded font.

NOTE: Passing a NULL font into this function will cause a segfault.

Returns: The hinting type matching one of the following defined values:
TTF_HINTING_NORMAL
TTF_HINTING_LIGHT
TTF_HINTING_MONO
TTF_HINTING_NONE
If no hinting is set then TTF_HINTING_NORMAL is returned.

 
// get the loaded font's hinting setting
//TTF_Font *font;
int hinting=TTF_GetFontHinting(font);
printf("The font hinting is currently set to %s\n",
        hinting==0?"Normal":
        hinting==1?"Light":
        hinting==2?"Mono":
        hinting==3?"None":
        "Unknonwn");

See Also:
3.3.7 TTF_SetFontHinting,
5. Defines,
see section Hinting,
Font Hinting @ Wikipedia,
FreeType Hinting and Bitmap rendering,
FreeType Hinting Modes


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.7 TTF_SetFontHinting

void TTF_SetFontHinting(TTF_Font *font, int hinting)

font
The loaded font to set the outline size of.
hinting
The hinting setting desired, which is one of:
TTF_HINTING_NORMAL
TTF_HINTING_LIGHT
TTF_HINTING_MONO
TTF_HINTING_NONE
The default is TTF_HINTING_NORMAL.

Set the hinting of the loaded font. You should experiment with this setting if you know which font you are using beforehand, especially when using smaller sized fonts. If the user is selecting a font, you may wish to let them select the hinting mode for that font as well.

NOTE: Passing a NULL font into this function will cause a segfault.

NOTE: This will flush the internal cache of previously rendered glyphs, even if there is no change in hinting, so it may be best to check the current hinting by using TTF_GetFontHinting first.

 
// set the loaded font's hinting to optimized for monochrome rendering
//TTF_Font *font;
TTF_SetFontHinting(font, TTF_HINTING_MONO);

// render some monochrome text...

// set the loaded font's hinting back to normal
TTF_SetFontHinting(font, TTF_HINTING_NORMAL);

See Also:
3.3.6 TTF_GetFontHinting,
5. Defines,
see section Hinting,
Font Hinting @ Wikipedia,
FreeType Hinting and Bitmap rendering,
FreeType Hinting Modes


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.8 TTF_GetFontKerning

int TTF_GetFontKerning(TTF_Font *font)

font
The loaded font to get the kerning setting of.

Get the current kerning setting of the loaded font.

NOTE: Passing a NULL font into this function will cause a segfault.

Returns: 0(zero) if kerning is disabled. A non-zero value is returned when enabled. The default for a newly loaded font is enabled(1).

 
// get the loaded font's kerning setting
//TTF_Font *font;
int kerning=TTF_GetFontKerning(font);
printf("The font kerning is currently set to %s\n",
        kerning==0?"Off":"On");

See Also:
3.3.9 TTF_SetFontKerning,
see section Kerning,
Kerning @ Wikipedia


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.9 TTF_SetFontKerning

void TTF_SetFontKerning(TTF_Font *font, int allowed)

font
The loaded font to set the outline size of.
allowed
0 to diable kerning.
non-zero to enable kerning. The default is 1, enabled.

Set whther to use kerning when rendering the loaded font. This has no effect on individual glyphs, but rather when rendering whole strings of characters, at least a word at a time. Perhaps the only time to disable this is when kerning is not working for a specific font, resulting in overlapping glyphs or abnormal spacing within words.

NOTE: Passing a NULL font into this function will cause a segfault.

 
// turn off kerning on the loaded font
//TTF_Font *font;
TTF_SetFontKerning(font, 0);

// render some text string...

// turn kerning back on for the loaded font
TTF_SetFontKerning(font, 1);

See Also:
3.3.8 TTF_GetFontKerning,
see section Kerning,
Kerning @ Wikipedia


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.10 TTF_FontHeight

int TTF_FontHeight(const TTF_Font *font)

font
The loaded font to get the max height of.

Get the maximum pixel height of all glyphs of the loaded font. You may use this height for rendering text as close together vertically as possible, though adding at least one pixel height to it will space it so they can't touch. Remember that SDL_ttf doesn't handle multiline printing, so you are responsible for line spacing, see the TTF_FontLineSkip as well.

NOTE: Passing a NULL font into this function will cause a segfault.

Returns: The maximum pixel height of all glyphs in the font.

 
// get the loaded font's max height
//TTF_Font *font;
printf("The font max height is: %d\n", TTF_FontHeight(font));

See Also:
3.3.11 TTF_FontAscent,
3.3.12 TTF_FontDescent,
3.3.13 TTF_FontLineSkip,
3.3.19 TTF_GlyphMetrics


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.11 TTF_FontAscent

int TTF_FontAscent(const TTF_Font *font)

font
The loaded font to get the ascent (height above baseline) of.

Get the maximum pixel ascent of all glyphs of the loaded font. This can also be interpreted as the distance from the top of the font to the baseline.
It could be used when drawing an individual glyph relative to a top point, by combining it with the glyph's maxy metric to resolve the top of the rectangle used when blitting the glyph on the screen.

rect.y = top + TTF_FontAscent(font) - glyph_metric.maxy;

NOTE: Passing a NULL font into this function will cause a segfault.

Returns: The maximum pixel ascent of all glyphs in the font.

 
// get the loaded font's max ascent
//TTF_Font *font;

printf("The font ascent is: %d\n", TTF_FontAscent(font));

See Also:
3.3.10 TTF_FontHeight,
3.3.12 TTF_FontDescent,
3.3.13 TTF_FontLineSkip,
3.3.19 TTF_GlyphMetrics


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.12 TTF_FontDescent

int TTF_FontDescent(const TTF_Font *font)

font
The loaded font to get the descent (height below baseline) of.

Get the maximum pixel descent of all glyphs of the loaded font. This can also be interpreted as the distance from the baseline to the bottom of the font.
It could be used when drawing an individual glyph relative to a bottom point, by combining it with the glyph's maxy metric to resolve the top of the rectangle used when blitting the glyph on the screen.

rect.y = bottom - TTF_FontDescent(font) - glyph_metric.maxy;

NOTE: Passing a NULL font into this function will cause a segfault.

Returns: The maximum pixel height of all glyphs in the font.

 
// get the loaded font's max descent
//TTF_Font *font;

printf("The font descent is: %d\n", TTF_FontDescent(font));

See Also:
3.3.10 TTF_FontHeight,
3.3.11 TTF_FontAscent,
3.3.13 TTF_FontLineSkip,
3.3.19 TTF_GlyphMetrics


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.13 TTF_FontLineSkip

int TTF_FontLineSkip(const TTF_Font *font)

font
The loaded font to get the line skip height of.

Get the recommended pixel height of a rendered line of text of the loaded font. This is usually larger than the TTF_FontHeight of the font.

NOTE: Passing a NULL font into this function will cause a segfault.

Returns: The maximum pixel height of all glyphs in the font.

 
// get the loaded font's line skip height
//TTF_Font *font;

printf("The font line skip is: %d\n", TTF_FontLineSkip(font));

See Also:
3.3.10 TTF_FontHeight,
3.3.11 TTF_FontAscent,
3.3.12 TTF_FontDescent,
3.3.19 TTF_GlyphMetrics


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.14 TTF_FontFaces

long TTF_FontFaces(const TTF_Font *font)

font
The loaded font to get the number of available faces from.

Get the number of faces ("sub-fonts") available in the loaded font. This is a count of the number of specific fonts (based on size and style and other typographical features perhaps) contained in the font itself. It seems to be a useless fact to know, since it can't be applied in any other SDL_ttf functions.
NOTE: Passing a NULL font into this function will cause a segfault.

Returns: The number of faces in the font.

 
// get the loaded font's number of faces
//TTF_Font *font;

printf("The number of faces in the font is: %ld\n", TTF_FontFaces(font));

See Also:
3.3.15 TTF_FontFaceIsFixedWidth,
3.3.16 TTF_FontFaceFamilyName,
3.3.17 TTF_FontFaceStyleName


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.15 TTF_FontFaceIsFixedWidth

int TTF_FontFaceIsFixedWidth(const TTF_Font *font)

font
The loaded font to get the fixed width status of.

Test if the current font face of the loaded font is a fixed width font. Fixed width fonts are monospace, meaning every character that exists in the font is the same width, thus you can assume that a rendered string's width is going to be the result of a simple calculation:
glyph_width * string_length
NOTE: Passing a NULL font into this function will cause a segfault.

Returns: >0 if font is a fixed width font. 0 if not a fixed width font.

 
// get the loaded font's face fixed status
//TTF_Font *font;

if(TTF_FontFaceIsFixedWidth(font))
    printf("The font is fixed width.\n");
else
    printf("The font is not fixed width.\n");

See Also:
3.3.14 TTF_FontFaces,
3.3.16 TTF_FontFaceFamilyName,
3.3.17 TTF_FontFaceStyleName,
3.3.19 TTF_GlyphMetrics


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.16 TTF_FontFaceFamilyName

char * TTF_FontFaceFamilyName(const TTF_Font *font)

font
The loaded font to get the current face family name of.

Get the current font face family name from the loaded font. This function may return a NULL pointer, in which case the information is not available.
NOTE: Passing a NULL font into this function will cause a segfault.

Returns: The current family name of of the face of the font, or NULL perhaps.

 
// get the loaded font's face name
//TTF_Font *font;

char *familyname=TTF_FontFaceFamilyName(font);
if(familyname)
    printf("The family name of the face in the font is: %s\n", familyname);

See Also:
3.3.14 TTF_FontFaces,
3.3.15 TTF_FontFaceIsFixedWidth,
3.3.17 TTF_FontFaceStyleName


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.17 TTF_FontFaceStyleName

char * TTF_FontFaceStyleName(const TTF_Font *font)

font
The loaded font to get the current face style name of.

Get the current font face style name from the loaded font. This function may return a NULL pointer, in which case the information is not available.
NOTE: Passing a NULL font into this function will cause a segfault.

Returns: The current style name of of the face of the font, or NULL perhaps.

 
// get the loaded font's face style name
//TTF_Font *font;

char *stylename=TTF_FontFaceStyleName(font);
if(stylename)
    printf("The name of the face in the font is: %s\n", stylename);

See Also:
3.3.14 TTF_FontFaces,
3.3.15 TTF_FontFaceIsFixedWidth,
3.3.16 TTF_FontFaceFamilyName


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.18 TTF_GlyphIsProvided

int TTF_GlyphIsProvided(const TTF_Font *font, Uint16 ch)

font
The loaded font to get the glyph availability in.
ch
the unicode character to test glyph availability of.

Get the status of the availability of the glyph for ch from the loaded font.
NOTE: Passing a NULL font into this function will cause a segfault.

Returns: the index of the glyph for ch in font, or 0 for an undefined character code.

 
// check for a glyph for 'g' in the loaded font
//TTF_Font *font;

int index=TTF_GlyphIsProvided(font,'g');
if(!index)
    printf("There is no 'g' in the loaded font!\n");

See Also:
3.3.19 TTF_GlyphMetrics


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.19 TTF_GlyphMetrics

int TTF_GlyphMetrics(TTF_Font *font, Uint16 ch, int *minx, int *maxx, int *miny, int *maxy, int *advance)

font
The loaded font from which to get the glyph metrics of ch.
ch
the UNICODE char to get the glyph metrics for.
minx
pointer to int to store the returned minimum X offset into, or NULL when no return value desired.
maxx
pointer to int to store the returned maximum X offset into, or NULL when no return value desired.
miny
pointer to int to store the returned minimum Y offset into, or NULL when no return value desired.
maxy
pointer to int to store the returned maximum Y offset into, or NULL when no return value desired.
advance
pointer to int to store the returned advance offset into, or NULL when no return value desired.

Get desired glyph metrics of the UNICODE chargiven in ch from the loaded font.
NOTE: Passing a NULL font into this function will cause a segfault.

Returns: 0 on success, with all non-NULL parameters set to the glyph metric as appropriate. -1 on errors, such as when the glyph named by ch does not exist in the font.

 
// get the glyph metric for the letter 'g' in a loaded font
//TTF_Font *font;
int minx,maxx,miny,maxy,advance;
if(TTF_GlyphMetrics(font,'g',&minx,&maxx,&miny,&maxy,&advance)==-1)
    printf("%s\n",TTF_GetError());
else {
    printf("minx    : %d\n",minx);
    printf("maxx    : %d\n",maxx);
    printf("miny    : %d\n",miny);
    printf("maxy    : %d\n",maxy);
    printf("advance : %d\n",advance);
}

This diagram shows the relationships between the values:

metrics

Here's how the numbers look:
 
TTF_FontHeight       : 53
TTF_FontAscent       : 38
TTF_FontDescent      : -14
TTF_FontLineSkip     : 55
TTF_GlyphMetrics('g'):
        minx=1
        maxx=15
        miny=-7
        maxy=15
        advance=16

We see from the Line Skip that each line of text is 55 pixels high, including spacing for this font.
The Ascent-Descent=52, so there seems to be 3 pixels worth of space between lines for this font.

Let's say we want to draw the surface of glyph 'g' (retrived via 3.4.4 TTF_RenderGlyph_Solid or a similar function), at coordinates (X,Y) for the top left corner of the desired location. Here's the math using glyph metrics:
 
//SDL_Surface *glyph,*screen;
SDL_Rect rect;
int minx,maxy,advance;
TTF_GlyphMetrics(font,'g',&minx,NULL,NULL,&maxy,&advance);
rect.x=X+minx;
rect.y=Y+TTF_FontAscent(font)-maxy;
SDL_BlitSurface(glyph,NULL,screen,&rect);
X+=advance;

Let's say we want to draw the same glyph at coordinates (X,Y) for the origin (on the baseline) of the desired location. Here's the math using glyph metrics:
 
//TTF_Font *font;
//SDL_Surface *glyph,*screen;
SDL_Rect rect;
int minx,maxy,advance;
TTF_GlyphMetrics(font,'g',&minx,NULL,NULL,&maxy,&advance);
rect.x=X+minx;
rect.y=Y-maxy;
SDL_BlitSurface(glyph,NULL,screen,&rect);
X+=advance;

NOTE: The only difference between these example is the +TTF_FontAscent(font) used in the top-left corner algorithm. NOTE: These examples assume that 'g' is present in the font!
NOTE: In practice you may want to also subtract TTF_GetFontOutline(font) from your X and Y coordinates to keep the glyphs in the same place no matter what outline size is set.

See the web page at The FreeType2 Documentation Tutorial for more.

Any glyph based rendering calculations will not result in accurate kerning between adjacent glyphs. (see section Kerning)

See Also:
3.3.10 TTF_FontHeight,
3.3.11 TTF_FontAscent,
3.3.12 TTF_FontDescent,
3.3.13 TTF_FontLineSkip,
3.3.20 TTF_SizeText,
3.3.21 TTF_SizeUTF8,
3.3.22 TTF_SizeUNICODE,
3.3.18 TTF_GlyphIsProvided,
3.3.4 TTF_GetFontOutline


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.20 TTF_SizeText

int TTF_SizeText(TTF_Font *font, const char *text, int *w, int *h)

font
The loaded font to use to calculate the size of the string with.
text
The LATIN1 null terminated string to size up.
w
pointer to int in which to fill the text width, or NULL for no desired return value.
h
pointer to int in which to fill the text height, or NULL for no desired return value.

Calculate the resulting surface size of the LATIN1 encoded text rendered using font. No actual rendering is done, however correct kerning is done to get the actual width. The height returned in h is the same as you can get using 3.3.10 TTF_FontHeight.
NOTE: Passing a NULL font into this function will cause a segfault. NOTE: Passing a NULL text into this function will result in undefined behavior.

Returns: 0 on success with the ints pointed to by w and h set as appropriate, if they are not NULL. -1 is returned on errors, such as a glyph in the string not being found.

 
// get the width and height of a string as it would be rendered in a loaded font
//TTF_Font *font;
int w,h;
if(TTF_SizeText(font,"Hello World!",&w,&h)) {
    // perhaps print the current TTF_GetError(), the string can't be rendered...
} else {
    printf("width=%d height=%d\n",w,h);
}

See Also:
3.3.21 TTF_SizeUTF8,
3.3.22 TTF_SizeUNICODE,
3.4.1 TTF_RenderText_Solid,
3.4.5 TTF_RenderText_Shaded,
3.4.9 TTF_RenderText_Blended


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.21 TTF_SizeUTF8

int TTF_SizeUTF8(TTF_Font *font, const char *text, int *w, int *h)

font
The loaded font to use to calculate the size of the string with.
text
The UTF8 null terminated string to size up.
w
pointer to int in which to fill the text width, or NULL for no desired return value.
h
pointer to int in which to fill the text height, or NULL for no desired return value.

Calculate the resulting surface size of the UTF8 encoded text rendered using font. No actual rendering is done, however correct kerning is done to get the actual width. The height returned in h is the same as you can get using 3.3.10 TTF_FontHeight.
NOTE: Passing a NULL font into this function will cause a segfault. NOTE: Passing a NULL text into this function will result in undefined behavior.

Returns: 0 on success with the ints pointed to by w and h set as appropriate, if they are not NULL. -1 is returned on errors, such as a glyph in the string not being found.

Note that this example uses the same text as in the LATIN1 example, that is because plain ASCII is UTF8 compatible.
 
// get the width and height of a string as it would be rendered in a loaded font
//TTF_Font *font;
int w,h;
if(TTF_SizeUTF8(font,"Hello World!",&w,&h)) {
    // perhaps print the current TTF_GetError(), the string can't be rendered...
} else {
    printf("width=%d height=%d\n",w,h);
}

See Also:
3.3.20 TTF_SizeText,
3.3.22 TTF_SizeUNICODE,
3.4.2 TTF_RenderUTF8_Solid,
3.4.6 TTF_RenderUTF8_Shaded,
3.4.10 TTF_RenderUTF8_Blended


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3.22 TTF_SizeUNICODE

int TTF_SizeUNICODE(TTF_Font *font, const Unit16 *text, int *w, int *h)

font
The loaded font to use to calculate the size of the string with.
text
The UNICODE null terminated string to size up.
w
pointer to int in which to fill the text width, or NULL for no desired return value.
h
pointer to int in which to fill the text height, or NULL for no desired return value.

Calculate the resulting surface size of the UNICODE encoded text rendered using font. No actual rendering is done, however correct kerning is done to get the actual width. The height returned in h is the same as you can get using 3.3.10 TTF_FontHeight.
NOTE: Passing a NULL font into this function will cause a segfault. NOTE: Passing a NULL text into this function will result in undefined behavior.

Returns: 0 on success with the ints pointed to by w and h set as appropriate, if they are not NULL. -1 is returned on errors, such as a glyph in the string not being found.

 
// get the width and height of a string as it would be rendered in a loaded font
//TTF_Font *font;
int w,h;
Uint16 text[]={'H','e','l','l','o',' ',
               'W','o','r','l','d','!'};
if(TTF_SizeUNICODE(font,text,&w,&h)) {
    // perhaps print the current TTF_GetError(), the string can't be rendered...
} else {
    printf("width=%d height=%d\n",w,h);
}

See Also:
3.3.20 TTF_SizeText,
3.3.21 TTF_SizeUTF8,
3.4.3 TTF_RenderUNICODE_Solid,
3.4.7 TTF_RenderUNICODE_Shaded,
3.4.11 TTF_RenderUNICODE_Blended


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4 Render

These functions render text using a TTF_Font.
There are three modes of rendering:

Solid
Quick and Dirty
Create an 8-bit palettized surface and render the given text at fast quality with the given font and color. The pixel value of 0 is the colorkey, giving a transparent background when blitted. Pixel and colormap value 1 is set to the text foreground color. This allows you to change the color without having to render the text again. Palette index 0 is of course not drawn when blitted to another surface, since it is the colorkey, and thus transparent, though its actual color is 255 minus each of the RGB components of the foreground color. This is the fastest rendering speed of all the rendering modes. This results in no box around the text, but the text is not as smooth. The resulting surface should blit faster than the Blended one. Use this mode for FPS and other fast changing updating text displays.
Shaded
Slow and Nice, but with a Solid Box
Create an 8-bit palettized surface and render the given text at high quality with the given font and colors. The 0 pixel value is background, while other pixels have varying degrees of the foreground color from the background color. This results in a box of the background color around the text in the foreground color. The text is antialiased. This will render slower than Solid, but in about the same time as Blended mode. The resulting surface should blit as fast as Solid, once it is made. Use this when you need nice text, and can live with a box.
Blended
Slow Slow Slow, but Ultra Nice over another image
Create a 32-bit ARGB surface and render the given text at high quality, using alpha blending to dither the font with the given color. This results in a surface with alpha transparency, so you don't have a solid colored box around the text. The text is antialiased. This will render slower than Solid, but in about the same time as Shaded mode. The resulting surface will blit slower than if you had used Solid or Shaded. Use this when you want high quality, and the text isn't changing too fast.

Solid
3.4.1 TTF_RenderText_Solid  Draw LATIN1 text in solid mode
3.4.2 TTF_RenderUTF8_Solid  Draw UTF8 text in solid mode
3.4.3 TTF_RenderUNICODE_Solid  Draw UNICODE text in solid mode
3.4.4 TTF_RenderGlyph_Solid  Draw a UNICODE glyph in solid mode
Shaded
3.4.5 TTF_RenderText_Shaded  Draw LATIN1 text in shaded mode
3.4.6 TTF_RenderUTF8_Shaded  Draw UTF8 text in shaded mode
3.4.7 TTF_RenderUNICODE_Shaded  Draw UNICODE text in shaded mode
3.4.8 TTF_RenderGlyph_Shaded  Draw a UNICODE glyph in shaded mode
Blended
3.4.9 TTF_RenderText_Blended  Draw LATIN1 text in blended mode
3.4.10 TTF_RenderUTF8_Blended  Draw UTF8 text in blended mode
3.4.11 TTF_RenderUNICODE_Blended  Draw UNICODE text in blended mode
3.4.12 TTF_RenderGlyph_Blended  Draw a UNICODE glyph in blended mode


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.1 TTF_RenderText_Solid

SDL_Surface *TTF_RenderText_Solid(TTF_Font *font, const char *text, SDL_Color fg)

font
Font to render the text with. A NULL pointer is not checked.
text
The LATIN1 null terminated string to render.
fg
The color to render the text in. This becomes colormap index 1.

Render the LATIN1 encoded text using font with fg color onto a new surface, using the Solid mode (see section Solid). The caller (you!) is responsible for freeing any returned surface.

NOTE: Passing a NULL font into this function will cause a segfault.
NOTE: Passing a NULL text into this function will result in undefined behavior.

Returns: a pointer to a new SDL_Surface. NULL is returned on errors.

 
// Render some text in solid black to a new surface
// then blit to the upper left of the screen
// then free the text surface
//SDL_Surface *screen;
SDL_Color color={0,0,0};
SDL_Surface *text_surface;
if(!(text_surface=TTF_RenderText_Solid(font,"Hello World!",color))) {
    //handle error here, perhaps print TTF_GetError at least
} else {
    SDL_BlitSurface(text_surface,NULL,screen,NULL);
    //perhaps we can reuse it, but I assume not for simplicity.
    SDL_FreeSurface(text_surface);
}

See Also:
3.3.20 TTF_SizeText,
3.4.2 TTF_RenderUTF8_Solid,
3.4.3 TTF_RenderUNICODE_Solid,
3.4.4 TTF_RenderGlyph_Solid,
3.4.5 TTF_RenderText_Shaded,
3.4.9 TTF_RenderText_Blended


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.2 TTF_RenderUTF8_Solid

SDL_Surface *TTF_RenderUTF8_Solid(TTF_Font *font, const char *text, SDL_Color fg)

font
Font to render the text with. A NULL pointer is not checked.
text
The UTF8 null terminated string to render.
fg
The color to render the text in. This becomes colormap index 1.

Render the UTF8 encoded text using font with fg color onto a new surface, using the Solid mode (see section Solid). The caller (you!) is responsible for freeing any returned surface.

NOTE: Passing a NULL font into this function will cause a segfault.
NOTE: Passing a NULL text into this function will result in undefined behavior.

Returns: a pointer to a new SDL_Surface. NULL is returned on errors.

Note that this example uses the same text as in the LATIN1 example, that is because plain ASCII is UTF8 compatible.
 
// Render some UTF8 text in solid black to a new surface
// then blit to the upper left of the screen
// then free the text surface
//SDL_Surface *screen;
SDL_Color color={0,0,0};
SDL_Surface *text_surface;
if(!(text_surface=TTF_RenderUTF8_Solid(font,"Hello World!",color))) {
    //handle error here, perhaps print TTF_GetError at least
} else {
    SDL_BlitSurface(text_surface,NULL,screen,NULL);
    //perhaps we can reuse it, but I assume not for simplicity.
    SDL_FreeSurface(text_surface);
}

See Also:
3.3.21 TTF_SizeUTF8,
3.4.1 TTF_RenderText_Solid,
3.4.3 TTF_RenderUNICODE_Solid,
3.4.4 TTF_RenderGlyph_Solid,
3.4.6 TTF_RenderUTF8_Shaded,
3.4.10 TTF_RenderUTF8_Blended


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.3 TTF_RenderUNICODE_Solid

SDL_Surface *TTF_RenderUNICODE_Solid(TTF_Font *font, const Uint16 *text, SDL_Color fg)

font
Font to render the text with. A NULL pointer is not checked.
text
The UNICODE null terminated string to render.
fg
The color to render the text in. This becomes colormap index 1.

Render the UNICODE encoded text using font with fg color onto a new surface, using the Solid mode (see section Solid). The caller (you!) is responsible for freeing any returned surface.

NOTE: Passing a NULL font into this function will cause a segfault.
NOTE: Passing a NULL text into this function will result in undefined behavior.

Returns: a pointer to a new SDL_Surface. NULL is returned on errors.

 
// Render some UNICODE text in solid black to a new surface
// then blit to the upper left of the screen
// then free the text surface
//SDL_Surface *screen;
SDL_Color color={0,0,0};
SDL_Surface *text_surface;
Uint16 text[]={'H','e','l','l','o',' ',
               'W','o','r','l','d','!'};
if(!(text_surface=TTF_RenderUNICODE_Solid(font,text,color))) {
    //handle error here, perhaps print TTF_GetError at least
} else {
    SDL_BlitSurface(text_surface,NULL,screen,NULL);
    //perhaps we can reuse it, but I assume not for simplicity.
    SDL_FreeSurface(text_surface);
}

See Also:
3.3.22 TTF_SizeUNICODE,
3.4.1 TTF_RenderText_Solid,
3.4.2 TTF_RenderUTF8_Solid,
3.4.4 TTF_RenderGlyph_Solid,
3.4.7 TTF_RenderUNICODE_Shaded,
3.4.11 TTF_RenderUNICODE_Blended


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.4 TTF_RenderGlyph_Solid

SDL_Surface *TTF_RenderGlyph_Solid(TTF_Font *font, Uint16 ch, SDL_Color fg)

font
Font to render the glyph with. A NULL pointer is not checked.
text
The UNICODE character to render.
fg
The color to render the glyph in. This becomes colormap index 1.

Render the glyph for the UNICODE ch using font with fg color onto a new surface, using the Solid mode (see section Solid). The caller (you!) is responsible for freeing any returned surface.

NOTE: Passing a NULL font into this function will cause a segfault.

Returns: a pointer to a new SDL_Surface. NULL is returned on errors, such as when the glyph not available in the font.

 
// Render and cache all printable ASCII characters in solid black
//SDL_Surface *screen;
SDL_Color color={0,0,0};
SDL_Surface *glyph_cache[128-20];
Uint16 ch;
for(ch=20; ch<128; ++ch)
    glyph_cache[ch-20]=TTF_RenderGlyph_Solid(font,ch,color);
Combined with a cache of the glyph metrics (minx, miny, and advance), you might make a fast text rendering routine that prints directly to the screen, but with inaccurate kerning. (see section Kerning)

See Also:
3.4.8 TTF_RenderGlyph_Shaded,
3.4.12 TTF_RenderGlyph_Blended,
3.4.1 TTF_RenderText_Solid,
3.4.2 TTF_RenderUTF8_Solid,
3.4.4 TTF_RenderGlyph_Solid,
3.3.19 TTF_GlyphMetrics


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.5 TTF_RenderText_Shaded

SDL_Surface *TTF_RenderText_Shaded(TTF_Font *font, const char *text, SDL_Color fg, SDL_Color bg)

font
Font to render the text with. A NULL pointer is not checked.
text
The LATIN1 null terminated string to render.
fg
The color to render the text in. This becomes colormap index 1.
bg
The color to render the background box in. This becomes colormap index 0.

Render the LATIN1 encoded text using font with fg color onto a new surface filled with the bg color, using the Shaded mode (see section Shaded). The caller (you!) is responsible for freeing any returned surface.

NOTE: Passing a NULL font into this function will cause a segfault.
NOTE: Passing a NULL text into this function will result in undefined behavior.

Returns: a pointer to a new SDL_Surface. NULL is returned on errors.

 
// Render some text in shaded black on white to a new surface
// then blit to the upper left of the screen
// then free the text surface
//SDL_Surface *screen;
SDL_Color color={0,0,0}, bgcolor={0xff,0xff,0xff};
SDL_Surface *text_surface;
if(!(text_surface=TTF_RenderText_Shaded(font,"Hello World!",color,bgcolor))) {
    //handle error here, perhaps print TTF_GetError at least
} else {
    SDL_BlitSurface(text_surface,NULL,screen,NULL);
    //perhaps we can reuse it, but I assume not for simplicity.
    SDL_FreeSurface(text_surface);
}

See Also:
3.3.20 TTF_SizeText,
3.4.6 TTF_RenderUTF8_Shaded,
3.4.7 TTF_RenderUNICODE_Shaded,
3.4.8 TTF_RenderGlyph_Shaded,
3.4.1 TTF_RenderText_Solid,
3.4.9 TTF_RenderText_Blended


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.6 TTF_RenderUTF8_Shaded

SDL_Surface *TTF_RenderUTF8_Shaded(TTF_Font *font, const char *text, SDL_Color fg, SDL_Color bg)

font
Font to render the text with. A NULL pointer is not checked.
text
The UTF8 null terminated string to render.
fg
The color to render the text in. This becomes colormap index 1.
bg
The color to render the background box in. This becomes colormap index 0.

Render the UTF8 encoded text using font with fg color onto a new surface filled with the bg color, using the Shaded mode (see section Shaded). The caller (you!) is responsible for freeing any returned surface.

NOTE: Passing a NULL font into this function will cause a segfault.
NOTE: Passing a NULL text into this function will result in undefined behavior.

Returns: a pointer to a new SDL_Surface. NULL is returned on errors.

Note that this example uses the same text as in the LATIN1 example, that is because plain ASCII is UTF8 compatible.
 
// Render some UTF8 text in shaded black on white to a new surface
// then blit to the upper left of the screen
// then free the text surface
//SDL_Surface *screen;
SDL_Color color={0,0,0}, bgcolor={0xff,0xff,0xff};
SDL_Surface *text_surface;
if(!(text_surface=TTF_RenderUTF8_Shaded(font,"Hello World!",color,bgcolor))) {
    //handle error here, perhaps print TTF_GetError at least
} else {
    SDL_BlitSurface(text_surface,NULL,screen,NULL);
    //perhaps we can reuse it, but I assume not for simplicity.
    SDL_FreeSurface(text_surface);
}

See Also:
3.3.21 TTF_SizeUTF8,
3.4.5 TTF_RenderText_Shaded,
3.4.7 TTF_RenderUNICODE_Shaded,
3.4.8 TTF_RenderGlyph_Shaded,
3.4.2 TTF_RenderUTF8_Solid,
3.4.10 TTF_RenderUTF8_Blended


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.7 TTF_RenderUNICODE_Shaded

SDL_Surface *TTF_RenderUNICODE_Shaded(TTF_Font *font, const Uint16 *text, SDL_Color fg, SDL_Color bg)

font
Font to render the text with. A NULL pointer is not checked.
text
The UNICODE null terminated string to render.
fg
The color to render the text in. This becomes colormap index 1.
bg
The color to render the background box in. This becomes colormap index 0.

Render the UNICODE encoded text using font with fg color onto a new surface filled with the bg color, using the Shaded mode (see section Shaded). The caller (you!) is responsible for freeing any returned surface.

NOTE: Passing a NULL font into this function will cause a segfault.
NOTE: Passing a NULL text into this function will result in undefined behavior.

Returns: a pointer to a new SDL_Surface. NULL is returned on errors.

 
// Render some UNICODE text in shaded black on white to a new surface
// then blit to the upper left of the screen
// then free the text surface
//SDL_Surface *screen;
SDL_Color color={0,0,0}, bgcolor={0xff,0xff,0xff};
SDL_Surface *text_surface;
Uint16 text[]={'H','e','l','l','o',' ',
               'W','o','r','l','d','!'};
if(!(text_surface=TTF_RenderUNICODE_Shaded(font,text,color,bgcolor))) {
    //handle error here, perhaps print TTF_GetError at least
} else {
    SDL_BlitSurface(text_surface,NULL,screen,NULL);
    //perhaps we can reuse it, but I assume not for simplicity.
    SDL_FreeSurface(text_surface);
}

See Also:
3.3.22 TTF_SizeUNICODE,
3.4.5 TTF_RenderText_Shaded,
3.4.6 TTF_RenderUTF8_Shaded,
3.4.8 TTF_RenderGlyph_Shaded,
3.4.3 TTF_RenderUNICODE_Solid,
3.4.11 TTF_RenderUNICODE_Blended


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.8 TTF_RenderGlyph_Shaded

SDL_Surface *TTF_RenderGlyph_Shaded(TTF_Font *font, Uint16 ch, SDL_Color fg, SDL_Color bg)

font
Font to render the glyph with. A NULL pointer is not checked.
text
The UNICODE character to render.
fg
The color to render the glyph in. This becomes colormap index 1.
bg
The color to render the background box in. This becomes colormap index 0.

Render the glyph for the UNICODE ch using font with fg color onto a new surface filled with the bg color, using the Shaded mode (see section Shaded). The caller (you!) is responsible for freeing any returned surface.

NOTE: Passing a NULL font into this function will cause a segfault.

Returns: a pointer to a new SDL_Surface. NULL is returned on errors, such as when the glyph not available in the font.

 
// Render and cache all printable ASCII characters in shaded black on white
//SDL_Surface *screen;
SDL_Color color={0,0,0}, bgcolor={0xff,0xff,0xff};
SDL_Surface *glyph_cache[128-20];
Uint16 ch;
for(ch=20; ch<128; ++ch)
    glyph_cache[ch-20]=TTF_RenderGlyph_Shaded(font,ch,color,bgcolor);
Combined with a cache of the glyph metrics (minx, miny, and advance), you might make a fast text rendering routine that prints directly to the screen, but with inaccurate kerning. (see section Kerning)

See Also:
3.4.4 TTF_RenderGlyph_Solid,
3.4.12 TTF_RenderGlyph_Blended,
3.4.5 TTF_RenderText_Shaded,
3.4.6 TTF_RenderUTF8_Shaded,
3.4.8 TTF_RenderGlyph_Shaded,
3.3.19 TTF_GlyphMetrics


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.9 TTF_RenderText_Blended

SDL_Surface *TTF_RenderText_Blended(TTF_Font *font, const char *text, SDL_Color fg)

font
Font to render the text with. A NULL pointer is not checked.
text
The LATIN1 null terminated string to render.
fg
The color to render the text in. Pixels are blended between transparent and this color to draw the antialiased glyphs.

Render the LATIN1 encoded text using font with fg color onto a new surface, using the Blended mode (see section Blended). The caller (you!) is responsible for freeing any returned surface.

NOTE: Passing a NULL font into this function will cause a segfault.
NOTE: Passing a NULL text into this function will result in undefined behavior.

Returns: a pointer to a new SDL_Surface. NULL is returned on errors.

 
// Render some text in blended black to a new surface
// then blit to the upper left of the screen
// then free the text surface
//SDL_Surface *screen;
SDL_Color color={0,0,0};
SDL_Surface *text_surface;
if(!(text_surface=TTF_RenderText_Blended(font,"Hello World!",color))) {
    //handle error here, perhaps print TTF_GetError at least
} else {
    SDL_BlitSurface(text_surface,NULL,screen,NULL);
    //perhaps we can reuse it, but I assume not for simplicity.
    SDL_FreeSurface(text_surface);
}

See Also:
3.3.20 TTF_SizeText,
3.4.10 TTF_RenderUTF8_Blended,
3.4.11 TTF_RenderUNICODE_Blended,
3.4.12 TTF_RenderGlyph_Blended,
3.4.1 TTF_RenderText_Solid,
3.4.5 TTF_RenderText_Shaded


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.10 TTF_RenderUTF8_Blended

SDL_Surface *TTF_RenderUTF8_Blended(TTF_Font *font, const char *text, SDL_Color fg)

font
Font to render the text with. A NULL pointer is not checked.
text
The UTF8 null terminated string to render.
fg
The color to render the text in. Pixels are blended between transparent and this color to draw the antialiased glyphs.

Render the UTF8 encoded text using font with fg color onto a new surface, using the Blended mode (see section Blended). The caller (you!) is responsible for freeing any returned surface.

NOTE: Passing a NULL font into this function will cause a segfault.
NOTE: Passing a NULL text into this function will result in undefined behavior.

Returns: a pointer to a new SDL_Surface. NULL is returned on errors.

Note that this example uses the same text as in the LATIN1 example, that is because plain ASCII is UTF8 compatible.
 
// Render some UTF8 text in blended black to a new surface
// then blit to the upper left of the screen
// then free the text surface
//SDL_Surface *screen;
SDL_Color color={0,0,0};
SDL_Surface *text_surface;
if(!(text_surface=TTF_RenderUTF8_Blended(font,"Hello World!",color))) {
    //handle error here, perhaps print TTF_GetError at least
} else {
    SDL_BlitSurface(text_surface,NULL,screen,NULL);
    //perhaps we can reuse it, but I assume not for simplicity.
    SDL_FreeSurface(text_surface);
}

See Also:
3.3.21 TTF_SizeUTF8,
3.4.9 TTF_RenderText_Blended,
3.4.11 TTF_RenderUNICODE_Blended,
3.4.12 TTF_RenderGlyph_Blended,
3.4.2 TTF_RenderUTF8_Solid,
3.4.6 TTF_RenderUTF8_Shaded


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.11 TTF_RenderUNICODE_Blended

SDL_Surface *TTF_RenderUNICODE_Blended(TTF_Font *font, const Uint16 *text, SDL_Color fg)

font
Font to render the text with. A NULL pointer is not checked.
text
The UNICODE null terminated string to render.
fg
The color to render the text in. Pixels are blended between transparent and this color to draw the antialiased glyphs.

Render the UNICODE encoded text using font with fg color onto a new surface, using the Blended mode (see section Blended). The caller (you!) is responsible for freeing any returned surface.

NOTE: Passing a NULL font into this function will cause a segfault.
NOTE: Passing a NULL text into this function will result in undefined behavior.

Returns: a pointer to a new SDL_Surface. NULL is returned on errors.

 
// Render some UNICODE text in blended black to a new surface
// then blit to the upper left of the screen
// then free the text surface
//SDL_Surface *screen;
SDL_Color color={0,0,0};
SDL_Surface *text_surface;
Uint16 text[]={'H','e','l','l','o',' ',
               'W','o','r','l','d','!'};
if(!(text_surface=TTF_RenderUNICODE_Blended(font,text,color))) {
    //handle error here, perhaps print TTF_GetError at least
} else {
    SDL_BlitSurface(text_surface,NULL,screen,NULL);
    //perhaps we can reuse it, but I assume not for simplicity.
    SDL_FreeSurface(text_surface);
}

See Also:
3.3.22 TTF_SizeUNICODE,
3.4.9 TTF_RenderText_Blended,
3.4.10 TTF_RenderUTF8_Blended,
3.4.12 TTF_RenderGlyph_Blended,
3.4.3 TTF_RenderUNICODE_Solid,
3.4.7 TTF_RenderUNICODE_Shaded


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4.12 TTF_RenderGlyph_Blended

SDL_Surface *TTF_RenderGlyph_Blended(TTF_Font *font, Uint16 ch, SDL_Color fg)

font
Font to render the glyph with. A NULL pointer is not checked.
text
The UNICODE character to render.
fg
The color to render the glyph in. Pixels are blended between transparent and this color to draw the antialiased glyph.

Render the glyph for the UNICODE ch using font with fg color onto a new surface, using the Blended mode (see section Blended). The caller (you!) is responsible for freeing any returned surface.

NOTE: Passing a NULL font into this function will cause a segfault.

Returns: a pointer to a new SDL_Surface. NULL is returned on errors, such as when the glyph not available in the font.

 
// Render and cache all printable ASCII characters in blended black
//SDL_Surface *screen;
SDL_Color color={0,0,0};
SDL_Surface *glyph_cache[128-20];
Uint16 ch;
for(ch=20; ch<128; ++ch)
    glyph_cache[ch-20]=TTF_RenderGlyph_Blended(font,ch,color);
Combined with a cache of the glyph metrics (minx, miny, and advance), you might make a fast text rendering routine that prints directly to the screen, but with inaccurate kerning. (see section Kerning)

See Also:
3.4.4 TTF_RenderGlyph_Solid,
3.4.8 TTF_RenderGlyph_Shaded,
3.4.9 TTF_RenderText_Blended,
3.4.10 TTF_RenderUTF8_Blended,
3.4.12 TTF_RenderGlyph_Blended,
3.3.19 TTF_GlyphMetrics


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4. Types

These types are defined and used by the SDL_ttf API.

4.1 TTF_Font  The opaque holder of a loaded font


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.1 TTF_Font

 
typedef struct _TTF_Font TTF_Font;

The opaque holder of a loaded font. You should always be using a pointer of this type, as in TTF_Font*, and not just plain TTF_Font. This stores the font data in a struct that is exposed only by using the API functions to get information. You should not try to access the struct data directly, since the struct may change in different versions of the API, and thus your program would be unreliable.

See Also:
3.2 Management


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5. Defines

TTF_MAJOR_VERSION
2
SDL_ttf library major number at compilation time.
TTF_MINOR_VERSION
0
SDL_ttf library minor number at compilation time.
TTF_PATCHLEVEL
10
SDL_ttf library patch level at compilation time.
UNICODE_BOM_NATIVE
0xFEFF
This allows you to switch byte-order of UNICODE text data to native order, meaning the mode of your CPU. This is meant to be used in a UNICODE string that you are using with the SDL_ttf API.
UNICODE_BOM_SWAPPED
0xFFFE
This allows you to switch byte-order of UNICODE text data to swapped order, meaning the reversed mode of your CPU. So if your CPU is LSB, then the data will be interpretted as MSB. This is meant to be used in a UNICODE string that you are using with the SDL_ttf API.
TTF_STYLE_NORMAL
0x00
Used to indicate regular, normal, plain rendering style.
TTF_STYLE_BOLD
0x01
Used to indicate bold rendering style. This is used in a bitmask along with other styles.
TTF_STYLE_ITALIC
0x02
Used to indicate italicized rendering style. This is used in a bitmask along with other styles.
TTF_STYLE_UNDERLINE
0x04
Used to indicate underlined rendering style. This is used in a bitmask along with other styles.
TTF_STYLE_STRIKETHROUGH
0x08
Used to indicate strikethrough rendering style. This is used in a bitmask along with other styles.
TTF_HINTING_NORMAL
0
Used to indicate set hinting type to normal.
This corresponds to the default hinting algorithm, optimized for standard gray-level rendering
TTF_HINTING_LIGHT
0
Used to indicate set hinting type to light.
A lighter hinting algorithm for non-monochrome modes. Many generated glyphs are more fuzzy but better resemble its original shape. A bit like rendering on Mac OS X.
TTF_HINTING_MONO
0
Used to indicate set hinting type to monochrome.
Strong hinting algorithm that should only be used for monochrome output. The result is probably unpleasant if the glyph is rendered in non-monochrome modes.
TTF_HINTING_NONE
0
Used to indicate set hinting type to none.
No hinting is used so the font may become very blurry or messy at smaller sizes.

See Also:
6. Glossary,


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6. Glossary

Byte Order This all has to do with how data larger than a byte is actually stored in memory. The CPU expects 16bit and 32bit, and larger, data to be ordered in one of the two ways listed below. SDL has macros which you can use to detemine which endianness your program will be using.

Big-Endian(MSB) means the most significant byte comes first in storage. Sparc and Motorola 68k based chips are MSB ordered.
(SDL defines this as SDL_BYTEORDER==SDL_BIG_ENDIAN)

Little-Endian(LSB) is stored in the opposite order, with the least significant byte first in memory. Intel and AMD are two LSB machines.
(SDL defines this as SDL_BYTEORDER==SDL_LIL_ENDIAN)

LATIN1 Latin-1 is an extension of ASCII, where ASCII only defines characters 0 through 127. Latin-1 continues and adds more common international symbols to define through character 255.

ISO 8859-1 (Latin-1) Unicode Table (pdf)

latin-1

Hinting Font hinting is the use of mathematical instructions to adjust the display of an outline font so that it lines up with a rasterized grid. At small screen sizes, with or without antialiasing, hinting is critical for producing a clear, legible text for human readers.

Kerning Kerning is the process of spacing adjacent characters apart depending on the actual two adjacent characters. This allows some characters to be closer to each other than others. When kerning is not used, such as when using the glyph metrics advance value, the characters will be spaced out at a constant size that accomodates all pairs of adjacent characters. This would be the maximum space between characters needed. There's currently no method to retrieve the kerning for a pair of characters from SDL_ttf, However correct kerning will be applied when a string of text is rendered instead of individual glyphs.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

Index

Jump to:   A   B   H   K   L   M   R   S   T   U  

Index Entry Section

A
ASCII6. Glossary

B
Big-Endian6. Glossary
Blended3.4 Render
Byte Order6. Glossary

H
Hinting6. Glossary

K
Kerning6. Glossary

L
LATIN16. Glossary
Little-Endian6. Glossary
LSB6. Glossary

M
MSB6. Glossary

R
README1. Overview

S
sdl-config2.2 Compiling
SDL_TTF_MAJOR_VERSION5. Defines
SDL_TTF_MINOR_VERSION5. Defines
SDL_TTF_PATCHLEVEL5. Defines
SDL_TTF_VERSION3.1.1 TTF_Linked_Version
Shaded3.4 Render
Solid3.4 Render

T
TTF_ByteSwappedUNICODE3.3.1 TTF_ByteSwappedUNICODE
TTF_CloseFont3.2.5 TTF_CloseFont
TTF_Font3.2 Management
TTF_Font3.3 Attributes
TTF_Font3.4 Render
TTF_Font4.1 TTF_Font
TTF_FontAscent3.3.11 TTF_FontAscent
TTF_FontDescent3.3.12 TTF_FontDescent
TTF_FontFaceFamilyName3.3.16 TTF_FontFaceFamilyName
TTF_FontFaceIsFixedWidth3.3.15 TTF_FontFaceIsFixedWidth
TTF_FontFaces3.3.14 TTF_FontFaces
TTF_FontFaceStyleName3.3.17 TTF_FontFaceStyleName
TTF_FontHeight3.3.10 TTF_FontHeight
TTF_FontLineSkip3.3.13 TTF_FontLineSkip
TTF_GetError3.1.6 TTF_GetError
TTF_GetFontHinting3.3.6 TTF_GetFontHinting
TTF_GetFontKerning3.3.8 TTF_GetFontKerning
TTF_GetFontOutline3.3.4 TTF_GetFontOutline
TTF_GetFontStyle3.3.2 TTF_GetFontStyle
TTF_GlyphIsProvided3.3.18 TTF_GlyphIsProvided
TTF_GlyphMetrics3.3.19 TTF_GlyphMetrics
TTF_HINTING_LIGHT5. Defines
TTF_HINTING_MONO5. Defines
TTF_HINTING_NONE5. Defines
TTF_HINTING_NORMAL5. Defines
TTF_Init3.1.2 TTF_Init
TTF_Linked_Version3.1.1 TTF_Linked_Version
TTF_OpenFont3.2.1 TTF_OpenFont
TTF_OpenFontIndex3.2.3 TTF_OpenFontIndex
TTF_OpenFontIndexRW3.2.4 TTF_OpenFontIndexRW
TTF_OpenFontRW3.2.2 TTF_OpenFontRW
TTF_Quit3.1.4 TTF_Quit
TTF_RenderGlyph_Blended3.4.12 TTF_RenderGlyph_Blended
TTF_RenderGlyph_Shaded3.4.8 TTF_RenderGlyph_Shaded
TTF_RenderGlyph_Solid3.4.4 TTF_RenderGlyph_Solid
TTF_RenderText_Blended3.4.9 TTF_RenderText_Blended
TTF_RenderText_Shaded3.4.5 TTF_RenderText_Shaded
TTF_RenderText_Solid3.4.1 TTF_RenderText_Solid
TTF_RenderUNICODE_Blended3.4.11 TTF_RenderUNICODE_Blended
TTF_RenderUNICODE_Shaded3.4.7 TTF_RenderUNICODE_Shaded
TTF_RenderUNICODE_Solid3.4.3 TTF_RenderUNICODE_Solid
TTF_RenderUTF8_Blended3.4.10 TTF_RenderUTF8_Blended
TTF_RenderUTF8_Shaded3.4.6 TTF_RenderUTF8_Shaded
TTF_RenderUTF8_Solid3.4.2 TTF_RenderUTF8_Solid
TTF_SetError3.1.5 TTF_SetError
TTF_SetFontHinting3.3.7 TTF_SetFontHinting
TTF_SetFontKerning3.3.9 TTF_SetFontKerning
TTF_SetFontOutline3.3.5 TTF_SetFontOutline
TTF_SetFontStyle3.3.3 TTF_SetFontStyle
TTF_SizeText3.3.20 TTF_SizeText
TTF_SizeUNICODE3.3.22 TTF_SizeUNICODE
TTF_SizeUTF83.3.21 TTF_SizeUTF8
TTF_STYLE_BOLD5. Defines
TTF_STYLE_ITALIC5. Defines
TTF_STYLE_NORMAL5. Defines
TTF_STYLE_STRIKETHROUGH5. Defines
TTF_STYLE_UNDERLINE5. Defines
TTF_WasInit3.1.3 TTF_WasInit

U
UNICODE_BOM_NATIVE5. Defines
UNICODE_BOM_SWAPPED5. Defines

Jump to:   A   B   H   K   L   M   R   S   T   U  


[Top] [Contents] [Index] [ ? ]

Table of Contents


[Top] [Contents] [Index] [ ? ]

Short Table of Contents

1. Overview
2. Getting Started
3. Functions
4. Types
5. Defines
6. Glossary
Index

[Top] [Contents] [Index] [ ? ]

About this document

This document was generated on November, 13 2009 using texi2html

The buttons in the navigation panels have the following meaning:

Button Name Go to From 1.2.3 go to
[ < ] Back previous section in reading order 1.2.2
[ > ] Forward next section in reading order 1.2.4
[ << ] FastBack previous or up-and-previous section 1.1
[ Up ] Up up section 1.2
[ >> ] FastForward next or up-and-next section 1.3
[Top] Top cover (top) of document  
[Contents] Contents table of contents  
[Index] Index concept index  
[ ? ] About this page  

where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:

This document was generated on November, 13 2009 using texi2html