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 inputMore control
| Call | Adds |
|---|---|
shape_with_language | A language tag, so locl fires. |
shape_with_features | User features and a script override. |
shape_with_options | Cluster level, normalization, ignorables, and the rest. |
shape_bidi | Resolves direction first and returns runs. |
shape_justified | Applies JSTF modification lists. |