Current File : /home/tradevaly/www/node_modules/fontkit/src/tables/VDMX.js |
import r from 'restructure';
// VDMX tables contain ascender/descender overrides for certain (usually small)
// sizes. This is needed in order to match font metrics on Windows.
let Ratio = new r.Struct({
bCharSet: r.uint8, // Character set
xRatio: r.uint8, // Value to use for x-Ratio
yStartRatio: r.uint8, // Starting y-Ratio value
yEndRatio: r.uint8 // Ending y-Ratio value
});
let vTable = new r.Struct({
yPelHeight: r.uint16, // yPelHeight to which values apply
yMax: r.int16, // Maximum value (in pels) for this yPelHeight
yMin: r.int16 // Minimum value (in pels) for this yPelHeight
});
let VdmxGroup = new r.Struct({
recs: r.uint16, // Number of height records in this group
startsz: r.uint8, // Starting yPelHeight
endsz: r.uint8, // Ending yPelHeight
entries: new r.Array(vTable, 'recs') // The VDMX records
});
export default new r.Struct({
version: r.uint16, // Version number (0 or 1)
numRecs: r.uint16, // Number of VDMX groups present
numRatios: r.uint16, // Number of aspect ratio groupings
ratioRanges: new r.Array(Ratio, 'numRatios'), // Ratio ranges
offsets: new r.Array(r.uint16, 'numRatios'), // Offset to the VDMX group for this ratio range
groups: new r.Array(VdmxGroup, 'numRecs') // The actual VDMX groupings
});