tree: 7d19ef736ec50b657447903a0b3803e7d1477fa2
  1. src/
  2. Cargo.toml
  3. CHANGELOG.md
  4. LICENSE-APACHE
  5. LICENSE-MIT
  6. README.md
glifo/README.md

Glifo

APIs for efficiently rendering text

Latest published version. Documentation build status. Apache 2.0 or MIT license.
Linebender Zulip chat. GitHub Actions CI status. Dependency staleness status.

Glifo provides APIs for efficiently rendering glyphs and paint styles like underline.

Goals

Glifo is under rapid development. Consider it experimental for now. Its goals are to:

  • Provide an API surface that accepts glyphs and their positions and renders them to a surface.
  • Cache those glyphs so that repeated renders of a glyph are fast.
  • Support rendering paint styles like underline, strikethrough, and brush color.
  • Share expensive structs and data between the shaper and renderer like the hinting instance and hinted advance.

Features

  • std (enabled by default): Get floating point functions from the standard library (likely using your target's libc).
  • libm: Use floating point implementations from libm.
  • png: Enables PNG support for drawing bitmap glyphs.

At least one of std and libm is required.

Minimum supported Rust Version (MSRV)

This version of Glifo has been verified to compile with Rust 1.88 and later.

Future versions of Glifo might increase the Rust version requirement. It will not be treated as a breaking change and as such can even happen with small patch releases.

Community

Discussion of Glifo development happens in the Linebender Zulip, specifically the #vello channel. All public content can be read without logging in.

Contributions are welcome by pull request. The Rust code of conduct applies.

License

Licensed under either of

at your option.