daegun

Shaping

daegun carries its own OpenType shaping engine. No HarfBuzz, no dependency. It runs GSUB and GPOS in full, Apple's morx and kerx, and dedicated shapers for Arabic, Hebrew, Thai, Hangul, Khmer, Myanmar, nine Indic scripts and 84 more through the Universal Shaping Engine.

let shaped = font.shape("Wave", &[], false).expect("shapes");
shaped.glyphs;     // Vec<u16>
shaped.advances;   // Vec<f64>, on a 1000 unit em
shaped.offsets;    // Vec<(f64, f64)>
shaped.clusters;   // Vec<u32>, byte offsets into the input

More control

CallAdds
shape_with_languageA language tag, so locl fires.
shape_with_featuresUser features and a script override.
shape_with_optionsCluster level, normalization, ignorables, and the rest.
shape_bidiResolves direction first and returns runs.
shape_justifiedApplies JSTF modification lists.

Type to search.