aboutsummaryrefslogtreecommitdiffstats
path: root/text/shape.c
Commit message (Collapse)AuthorAgeFilesLines
* Compose Yiddish yod-yod, not yod, with patah into FB1Feunhhu2026-09-281-1/+1
| | | | | | HarfBuzz's Hebrew presentation forms join U+05F2 and patah into U+FB1F; Vega had U+05D9 there. Only fonts without a GPOS mark feature take the rule, so no font Vega accepted showed it; Unifont's Hebrew did.
* Shape text as HarfBuzz does, from a symbol file, checked against HarfBuzzeunhhu2026-09-281-0/+2156
The build tool compiles a font's shaping plans the way HarfBuzz's planner does (features, stages, masks, lookups per script and direction) and carries them with the font's character map, advances and GDEF, GSUB and GPOS tables in a section of the symbol file (VEGASYM4); glyphs shaping reaches become symbols of their own. A small engine ports HarfBuzz 10's default, Arabic and Hebrew shaping step for step and reads the tables in place, every read bounds-checked. The build refuses a file whose shaping differs from HarfBuzz's on random runs: DejaVu Sans agrees on 600,000 runs in six scripts both ways, and every installed font the tool accepts agrees too, at 1.05-1.18 times HarfBuzz's time.