Thanks to visit codestin.com
Credit goes to lib.rs

54 releases

Uses new Rust 2024

new 0.18.0 Jan 13, 2026
0.18.0-rc.2 Dec 30, 2025
0.17.3 Nov 17, 2025
0.16.1 May 30, 2025
0.3.0 Nov 3, 2020

#2910 in Game dev

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

214,829 downloads per month
Used in 458 crates (28 directly)

MIT/Apache

7.5MB
134K SLoC

This crate provides the tools for positioning and rendering text in Bevy.

Font

Fonts contain information for drawing glyphs, which are shapes that typically represent a single character, but in some cases part of a "character" (grapheme clusters) or more than one character (ligatures).

A font face is part of a font family, and is distinguished by its style (e.g. italic), its weight (e.g. bold) and its stretch (e.g. condensed).

In Bevy, Fonts are loaded by the FontLoader as assets.

TextPipeline

The TextPipeline resource does all of the heavy lifting for rendering text.

UI Text is first measured by creating a TextMeasureInfo in TextPipeline::create_text_measure, which is called by the measure_text_system system of bevy_ui.

Note that text measurement is only relevant in a UI context.

With the actual text bounds defined, the bevy_ui::widget::text::text_system system (in a UI context) or bevy_sprite::text2d::update_text2d_layout system (in a 2d world space context) passes it into TextPipeline::update_text_layout_info, which:

  1. updates a Buffer from the TextSpans, generating new FontAtlases if necessary.
  2. iterates over each glyph in the Buffer to create a PositionedGlyph, retrieving glyphs from the cache, or rasterizing to a FontAtlas if necessary.
  3. PositionedGlyphs are stored in a TextLayoutInfo, which contains all the information that downstream systems need for rendering.

Bevy Text

License Crates.io Downloads Docs Discord

Dependencies

~46–65MB
~1M SLoC