Behdad Esfahbod

Results 277 issues of Behdad Esfahbod

If multiple axes have the same `axisTag`, at most one must be non-hidden, and such non-hidden axis must come first. There's no further requirements on the ranges and default values...

VarFonts2.0
Implemented

Introduce version 1 that has `uint24` `numGlyphs`.

Replace `maxp` with `MAXP` or `maxp`, the former taking precendence.

As discussed on the MPEG list. I propose bumping the minor version: ``` Type | Name | Description -- | -- | -- uint16 | majorVersion | Major version of...

Currently lookups are applied in logical forward direction. Use two (from newly-to-be-made available https://github.com/be-fonts/boring-expansion-spec/issues/26) LookupFlag bits to add three mode bits for the following directionalities: - logical, backwards, - visual,...

Layout2.0
Layout

Based on the all-day discussion around the beyond-64k and glyf2 proposals, here's the list of technical suggestions for how to proceed: - New table `GLYF` / `LOCA` that have the...

Imagine we have a font with only two masters, at wght=100 and wght=1000, but we want the default of the font to be at wght=400. OT1.8 variation model requires that...

The BASE table in OpenType has a MinMax extents table per script/language: https://learn.microsoft.com/en-us/typography/opentype/spec/base#the-minmax-table-and-featminmaxrecord which is AFAIK under-specified and unimplemented by clients. Plan is to revive and use that as vertical...

The length of the `VORG` table is determined from its major/minor version and the subsequent content. The only currently defined version 1.0 can only encode 16bit glyph indices. Here is...

>64k expansion

Formats 12/13 already support 32bit glyph indices. Add format16 subtable, which is exactly like format14, except that whereas format14 uses: ``` struct UVSMapping { uint24 unicodeValue; uint16 glyphID; }; ```...

>64k expansion