Crate sdl3_ttf_sys

Source
Expand description

§sdl3-ttf-sys: Low level Rust bindings for SDL3_ttf

These are low level Rust bindings for SDL3_ttf, an add-on library for SDL 3 for rendering text. This version of sdl3-ttf-sys has bindings for SDL_ttf versions 3.2.0 to 3.2.2, inclusive.

Most of the docs are generated directly from the C headers and document how SDL works in C. Using it from Rust might work differently in some cases. For example, macros in C are usually translated to constants or constant functions in Rust. Documentation specific to these Rust bindings are tagged with sdl3-sys.

Browse the API at docs.rs!

§Usage

sdl3-ttf-sys requires SDL_ttf version 3.2.0 or later. Some APIs may require a later version. You can check availability in the documentation.

By default, sdl3-ttf-sys will attempt to link to a dynamic/shared library named SDL3_ttf in the default library search path, using the usual platform specific naming convention for libraries. You can change this behaviour with the following feature flags.

FeatureDescription
use-pkg-configUse pkg-config to find and link the SDL_ttf library.
use-vcpkgUse vcpkg to find and link the SDL_ttf library.
build-from-sourceBuild and link SDL_ttf from source. You have to install any dependencies SDL needs to build for your target first. See below for build related features.
build-from-source-staticShortcut for enabling both the build-from-source and link-static features. This should no longer be necessary.
build-static-vendoredBuild and link SDL_ttf from source, use vendored libraries (see below), and link it all statically.
link-frameworkLink to a framework on Apple targets. This currently requires SDL3_ttf.xcframework to be located at /Library/Frameworks. The built executable has to be put in a signed app bundle to be able to run.
link-staticLink SDL_ttf statically.

§Building from source

When building from source with the build-from-source feature flag, you can use features to configure which backends and image formats to support. Features marked with “(cmake)” below all have an sdlttf- prefix and correspond to SDL_ttf’s cmake variables. They’re autodetected if not set. You can use a no- prefix to disable a cmake feature, for example no-sdlttf-harfbuzz disables harfbuzz support. Activated features override features disabled with the no- prefix.

§Linking and vendoring
Feature (cmake)Description
vendoredBuild dependencies from source as part of building SDL_ttf
§Rendering
Feature (cmake)Description
harfbuzzUse harfbuzz to improve text shaping
plutosvgUse plutosvg for color emoji support

§Other features

FeatureDescription
debug-implsImplement the Debug trait for most SDL_ttf types.

§Recent changes

  • 0.1.3: Add link-framework feature (doesn’t work with build-from-source yet)
  • 0.1.2: Fix vendored build of Freetype with CMake 4
  • 0.1.1: Update SDL_ttf to 3.2.2
  • 0.1.0: First release

Modules§

everything
Reexports of everything from the other modules
textengine
ttf
Header file for SDL_ttf library