# Announcing the SDL\_ttf 3.1.0 Stable ABI Preview!

**URL:** <https://discourse.libsdl.org/t/announcing-the-sdl-ttf-3-1-0-stable-abi-preview/57493>\
**Category:** SDL Announcements\
**Created:** [February 1, 2025, 6:11pm UTC](https://discourse.libsdl.org/t/announcing-the-sdl-ttf-3-1-0-stable-abi-preview/57493 "2025-02-01T18:11:18Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![slouken](https://discourse.libsdl.org/letter_avatar_proxy/v4/letter/s/ec9cab/32.png) [@slouken](https://discourse.libsdl.org/u/slouken)\
**Post date:** [February 1, 2025, 6:11pm UTC](https://discourse.libsdl.org/t/announcing-the-sdl-ttf-3-1-0-stable-abi-preview/57493/1 "2025-02-01T18:11:18Z")

</div>

## Announcing the SDL\_ttf 3.1.0 Stable ABI Preview!

> **[Release 3.1.0 · libsdl-org/SDL\_ttf](https://github.com/libsdl-org/SDL_ttf/releases/tag/preview-3.1.0)**
>
> Announcing the SDL\_ttf 3.1.0 Stable ABI Preview!
> Here are some of the highlights of what's new:
> 
> Updated for SDL 3.0
> Added the concept of a text object and text engine, which is able to efficiently...

### Here are some of the highlights of what’s new:

- Updated for SDL 3.0
- Added the concept of a text object and text engine, which is able to efficiently render text for a variety of output methods
- Added [TTF\_CreateSurfaceTextEngine()](https://wiki.libsdl.org/SDL3_ttf/TTF_CreateSurfaceTextEngine) and [TTF\_DrawSurfaceText()](https://wiki.libsdl.org/SDL3_ttf/TTF_DrawSurfaceText) for drawing text to SDL\_Surface output
- Added [TTF\_CreateRendererTextEngine()](https://wiki.libsdl.org/SDL3_ttf/TTF_CreateRendererTextEngine) and [TTF\_DrawRendererText()](https://wiki.libsdl.org/SDL3_ttf/TTF_DrawRendererText) for drawing text to SDL\_Renderer output
- Added [TTF\_CreateGPUTextEngine()](https://wiki.libsdl.org/SDL3_ttf/TTF_CreateGPUTextEngine) and [TTF\_GetGPUTextDrawData()](https://wiki.libsdl.org/SDL3_ttf/TTF_GetGPUTextDrawData) for drawing text to SDL\_GPU output
- Made the text engine API public in [\<SDL3\_ttf/SDL\_textengine.h\>](https://github.com/libsdl-org/SDL_ttf/blob/main/include/SDL3_ttf/SDL_textengine.h) so you can integrate text objects into custom font display solutions
- Added [TTF\_CopyFont()](https://wiki.libsdl.org/SDL3_ttf/TTF_CopyFont) to allow you to easily make fonts of different sizes
- Added [TTF\_AddFallbackFont()](https://wiki.libsdl.org/SDL3_ttf/TTF_AddFallbackFont) to allow combining fonts with distinct glyph support
- Added support for OT-SVG fonts, which are useful as fallback fonts for color emoji support
- Updated SDF font support and added an [example](https://github.com/libsdl-org/SDL_ttf/blob/main/examples/testgputext.c) of using it with the SDL GPU API

Please let us know what you think, and report any issues on GitHub:

> **[libsdl-org/SDL\_ttf](https://github.com/libsdl-org/SDL_ttf/issues)**
>
> Support for TrueType (.ttf) font files with Simple Directmedia Layer. - libsdl-org/SDL\_ttf
