#font #typography #woff2 #typeface #woff

webtype

The package provides a parser for fonts in Web Open Font Format

24 releases (breaking)

0.19.0 May 14, 2025
0.17.0 Dec 29, 2024
0.16.0 Aug 30, 2024
0.15.0 May 21, 2024
0.2.1 Mar 27, 2023

#140 in Data formats

Download history 31/week @ 2025-09-11 22/week @ 2025-09-18 42/week @ 2025-09-25 7/week @ 2025-10-02 8/week @ 2025-10-09 13/week @ 2025-10-16 10/week @ 2025-10-23 13/week @ 2025-11-20

1,510 downloads per month
Used in 3 crates (via font)

Apache-2.0/MIT

105KB
313 lines

Contains (WOFF font, 93KB) NotoNaskhArabic-Regular.woff2

WebType Package Documentation Build

The package provides a parser for fonts in Web Open Font Format. It might be helpful to have a look at a higher-level abstraction called font, which internally relies on this package.

Example

use webtype::opentype::truetype::tables::FontHeader;
use webtype::File;

macro_rules! ok(($result:expr) => ($result.unwrap()));

let path = "NotoNaskhArabic-Regular.woff2";
let mut tape = ok!(std::fs::File::open(path));
let File { mut fonts, mut tape } = ok!(File::read(&mut tape));

let font_header = ok!(ok!(fonts[0].take::<_, FontHeader>(&mut tape)));
assert_eq!(font_header.units_per_em, 2048);

Contribution

Your contribution is highly appreciated. Do not hesitate to open an issue or a pull request. Note that any contribution submitted for inclusion in the project will be licensed according to the terms given in LICENSE.md.

Dependencies

~2.5MB
~41K SLoC