#font-rendering #font #text-rendering

pixglyph

Font-rendering with subpixel positioning

3 releases (breaking)

0.3.0 Dec 18, 2023
0.2.0 Sep 13, 2023
0.1.0 Mar 27, 2023

#55 in Rendering

Download history 436/week @ 2024-01-02 470/week @ 2024-01-09 471/week @ 2024-01-16 485/week @ 2024-01-23 526/week @ 2024-01-30 622/week @ 2024-02-06 501/week @ 2024-02-13 471/week @ 2024-02-20 661/week @ 2024-02-27 1080/week @ 2024-03-05 1078/week @ 2024-03-12 722/week @ 2024-03-19 596/week @ 2024-03-26 751/week @ 2024-04-02 563/week @ 2024-04-09 489/week @ 2024-04-16

2,486 downloads per month
Used in 4 crates (2 directly)

Apache-2.0

23KB
285 lines

pixglyph

Crates.io Documentation

OpenType glyph rendering.

[dependencies]
pixglyph = "0.3"

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

~670KB
~16K SLoC