blank project
This commit is contained in:
44
node_modules/fontkit/src/tables/HVAR.js
generated
vendored
Normal file
44
node_modules/fontkit/src/tables/HVAR.js
generated
vendored
Normal file
@@ -0,0 +1,44 @@
|
||||
import * as r from 'restructure';
|
||||
import { resolveLength } from 'restructure';
|
||||
import { ItemVariationStore } from './variations';
|
||||
|
||||
// TODO: add this to restructure
|
||||
class VariableSizeNumber {
|
||||
constructor(size) {
|
||||
this._size = size;
|
||||
}
|
||||
|
||||
decode(stream, parent) {
|
||||
switch (this.size(0, parent)) {
|
||||
case 1: return stream.readUInt8();
|
||||
case 2: return stream.readUInt16BE();
|
||||
case 3: return stream.readUInt24BE();
|
||||
case 4: return stream.readUInt32BE();
|
||||
}
|
||||
}
|
||||
|
||||
size(val, parent) {
|
||||
return resolveLength(this._size, null, parent);
|
||||
}
|
||||
}
|
||||
|
||||
let MapDataEntry = new r.Struct({
|
||||
entry: new VariableSizeNumber(t => ((t.parent.entryFormat & 0x0030) >> 4) + 1),
|
||||
outerIndex: t => t.entry >> ((t.parent.entryFormat & 0x000F) + 1),
|
||||
innerIndex: t => t.entry & ((1 << ((t.parent.entryFormat & 0x000F) + 1)) - 1)
|
||||
});
|
||||
|
||||
let DeltaSetIndexMap = new r.Struct({
|
||||
entryFormat: r.uint16,
|
||||
mapCount: r.uint16,
|
||||
mapData: new r.Array(MapDataEntry, 'mapCount')
|
||||
});
|
||||
|
||||
export default new r.Struct({
|
||||
majorVersion: r.uint16,
|
||||
minorVersion: r.uint16,
|
||||
itemVariationStore: new r.Pointer(r.uint32, ItemVariationStore),
|
||||
advanceWidthMapping: new r.Pointer(r.uint32, DeltaSetIndexMap),
|
||||
LSBMapping: new r.Pointer(r.uint32, DeltaSetIndexMap),
|
||||
RSBMapping: new r.Pointer(r.uint32, DeltaSetIndexMap)
|
||||
});
|
||||
Reference in New Issue
Block a user