Show More
Commit Description:
merge
Commit Description:
merge
References:
File last commit:
Show/Diff file:
Action:
node_modules/fontkit/src/tables/gvar.js
| 27 lines
| 846 B
| application/javascript
| JavascriptLexer
|
r789 | import r from 'restructure'; | |||
let shortFrac = new r.Fixed(16, 'BE', 14); | ||||
class Offset { | ||||
static decode(stream, parent) { | ||||
// In short format, offsets are multiplied by 2. | ||||
// This doesn't seem to be documented by Apple, but it | ||||
// is implemented this way in Freetype. | ||||
return parent.flags | ||||
? stream.readUInt32BE() | ||||
: stream.readUInt16BE() * 2; | ||||
} | ||||
} | ||||
let gvar = new r.Struct({ | ||||
version: r.uint16, | ||||
reserved: new r.Reserved(r.uint16), | ||||
axisCount: r.uint16, | ||||
globalCoordCount: r.uint16, | ||||
globalCoords: new r.Pointer(r.uint32, new r.Array(new r.Array(shortFrac, 'axisCount'), 'globalCoordCount')), | ||||
glyphCount: r.uint16, | ||||
flags: r.uint16, | ||||
offsetToData: r.uint32, | ||||
offsets: new r.Array(new r.Pointer(Offset, 'void', { relativeTo: 'offsetToData', allowNull: false }), t => t.glyphCount + 1) | ||||
}); | ||||
export default gvar; | ||||