Current File : /home/tradevaly/www/node_modules/fontkit/src/tables/gvar.js |
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;