#font-rendering #rendering #font

pixglyph

Font-rendering with subpixel positioning

7 releases (breaking)

0.6.0 Nov 13, 2024
0.5.1 Oct 2, 2024
0.5.0 Aug 27, 2024
0.4.0 Jun 1, 2024
0.1.0 Mar 27, 2023

#19 in Data formats

Download history 1657/week @ 2024-12-03 1663/week @ 2024-12-10 1241/week @ 2024-12-17 873/week @ 2024-12-24 992/week @ 2024-12-31 1409/week @ 2025-01-07 1111/week @ 2025-01-14 1114/week @ 2025-01-21 1145/week @ 2025-01-28 1579/week @ 2025-02-04 1448/week @ 2025-02-11 3211/week @ 2025-02-18 2069/week @ 2025-02-25 2219/week @ 2025-03-04 2402/week @ 2025-03-11 2356/week @ 2025-03-18

9,464 downloads per month
Used in 13 crates (2 directly)

Apache-2.0

24KB
287 lines

pixglyph

Crates.io Documentation

OpenType glyph rendering.

[dependencies]
pixglyph = "0.6"

Features

  • Render glyph outlines into coverage bitmaps.
  • Place glyphs at subpixel offsets and scale them to subpixel sizes. This is important if you plan to render more than a single glyph since inter-glyph spacing will look off if every glyph origin must be pixel-aligned.
  • No font data structure you have to store somewhere. Just owned glyphs which you can load individually from a font, cache if you care about performance, and then render at any size.
  • No unsafe code.

License

This crate is licensed under the terms of the Apache 2.0 license.


lib.rs:

OpenType glyph rendering.

  • Render glyph outlines into coverage bitmaps.
  • Place glyphs at subpixel offsets and scale them to subpixel sizes. This is important if you plan to render more than a single glyph since inter-glyph spacing will look off if every glyph origin must be pixel-aligned.
  • No font data structure you have to store somewhere. Just owned glyphs which you can load individually from a font, cache if you care about performance, and then render at any size.
  • No unsafe code.

Note on text: This library does not provide any capabilities to map text/characters to glyph ids. Instead, you should use a proper shaping library (like rustybuzz) to do this step. This will take care of proper glyph positioning, ligatures and more.

Note on emojis: This library only supports normal outlines. How to best render bitmap, SVG and colored glyphs depends very much on your rendering environment.

Dependencies

~765KB
~18K SLoC