Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
vertBearingY: r.int8,
vertAdvance: r.uint8
});
export let SmallMetrics = new r.Struct({
height: r.uint8,
width: r.uint8,
bearingX: r.int8,
bearingY: r.int8,
advance: r.uint8
});
let EBDTComponent = new r.Struct({
glyph: r.uint16,
xOffset: r.int8,
yOffset: r.int8
});
class ByteAligned {}
class BitAligned {}
export let glyph = new r.VersionedStruct('version', {
1: {
metrics: SmallMetrics,
data: ByteAligned
},
2: {
metrics: SmallMetrics,
data: BitAligned
},
import r from 'restructure';
import {BigMetrics} from './EBDT';
let SBitLineMetrics = new r.Struct({
ascender: r.int8,
descender: r.int8,
widthMax: r.uint8,
caretSlopeNumerator: r.int8,
caretSlopeDenominator: r.int8,
caretOffset: r.int8,
minOriginSB: r.int8,
minAdvanceSB: r.int8,
maxBeforeBL: r.int8,
minAfterBL: r.int8,
pad: new r.Reserved(r.int8, 2)
});
let CodeOffsetPair = new r.Struct({
glyphCode: r.uint16,
offset: r.uint16
});
let IndexSubtable = new r.VersionedStruct(r.uint16, {
header: {
imageFormat: r.uint16,
import r from 'restructure';
import {BigMetrics} from './EBDT';
let SBitLineMetrics = new r.Struct({
ascender: r.int8,
descender: r.int8,
widthMax: r.uint8,
caretSlopeNumerator: r.int8,
caretSlopeDenominator: r.int8,
caretOffset: r.int8,
minOriginSB: r.int8,
minAdvanceSB: r.int8,
maxBeforeBL: r.int8,
minAfterBL: r.int8,
pad: new r.Reserved(r.int8, 2)
});
let CodeOffsetPair = new r.Struct({
glyphCode: r.uint16,
offset: r.uint16
});
let IndexSubtable = new r.VersionedStruct(r.uint16, {
header: {
imageFormat: r.uint16,
imageDataOffset: r.uint32
},
1: {
offsetArray: new r.Array(r.uint32, t => t.parent.lastGlyphIndex - t.parent.firstGlyphIndex + 1)
scale: r.uint16le,
flags: r.uint16le,
filename: function () {
return this.parent.parent.MMDX.filenames[this.index];
},
}), 'size', 'bytes'),
});
const MCVT = Chunk({
heights: new r.Array(r.floatle, 145),
});
const MCNR = Chunk({
normals: new r.Array(new r.Struct({
x: r.int8,
z: r.int8,
y: r.int8,
}), 145),
skip: new r.Reserved(r.uint8, 13),
});
const MCLY = Chunk({
layers: new r.Array(new r.Struct({
textureID: r.uint32le,
flags: r.uint32le,
offsetMCAL: r.uint32le,
effectID: r.int16le,
skip: r.int16le,
compressed: function () {
return this.flags & 0x200;
import r from 'restructure';
import {BigMetrics} from './EBDT';
let SBitLineMetrics = new r.Struct({
ascender: r.int8,
descender: r.int8,
widthMax: r.uint8,
caretSlopeNumerator: r.int8,
caretSlopeDenominator: r.int8,
caretOffset: r.int8,
minOriginSB: r.int8,
minAdvanceSB: r.int8,
maxBeforeBL: r.int8,
minAfterBL: r.int8,
pad: new r.Reserved(r.int8, 2)
});
let CodeOffsetPair = new r.Struct({
glyphCode: r.uint16,
offset: r.uint16
});
import r from 'restructure';
export let BigMetrics = new r.Struct({
height: r.uint8,
width: r.uint8,
horiBearingX: r.int8,
horiBearingY: r.int8,
horiAdvance: r.uint8,
vertBearingX: r.int8,
vertBearingY: r.int8,
vertAdvance: r.uint8
});
export let SmallMetrics = new r.Struct({
height: r.uint8,
width: r.uint8,
bearingX: r.int8,
bearingY: r.int8,
advance: r.uint8
});
let EBDTComponent = new r.Struct({
glyph: r.uint16,
xOffset: r.int8,
yOffset: r.int8
filenames: new r.Array(new r.String(null), 'size', 'bytes')
});
var MMDX = Chunk({
filenames: new r.Array(new r.String(null), 'size', 'bytes')
});
var MCVT = Chunk({
heights: new r.Array(r.floatle, 145)
});
var MCNR = Chunk({
normals: new r.Array(new r.Struct({
x: r.int8,
z: r.int8,
y: r.int8
}), 145),
skip: new r.Reserved(r.uint8, 13)
});
var MCLY = Chunk({
layers: new r.Array(new r.Struct({
textureID: r.uint32le,
offsetMCAL: r.uint32le,
skip: r.uint32le,
skip2: r.int32le
}), 'size', 'bytes')
});
var MCNK = Chunk({
flags: r.uint32le,
indexX: r.uint32le,
export let BigMetrics = new r.Struct({
height: r.uint8,
width: r.uint8,
horiBearingX: r.int8,
horiBearingY: r.int8,
horiAdvance: r.uint8,
vertBearingX: r.int8,
vertBearingY: r.int8,
vertAdvance: r.uint8
});
export let SmallMetrics = new r.Struct({
height: r.uint8,
width: r.uint8,
bearingX: r.int8,
bearingY: r.int8,
advance: r.uint8
});
let EBDTComponent = new r.Struct({
glyph: r.uint16,
xOffset: r.int8,
yOffset: r.int8
});
class ByteAligned {}
class BitAligned {}
export let glyph = new r.VersionedStruct('version', {
1: {
minBoundingBox: Vec3Float,
maxBoundingBox: Vec3Float,
portalOffset: r.uint16le,
aBatchCount: r.uint16le,
interiorBatchCount: r.uint16le,
exteriorBatchCount: r.uint16le,
fogOffsets: new r.Array(r.uint8, 4),
unknown: new r.Reserved(r.uint32le),
groupID: r.uint32le,
unknowns: new r.Reserved(r.uint32le, 3),
});
const MOPY = Chunk({
triangles: new r.Array(new r.Struct({
flags: r.uint8,
materialID: r.int8,
}), 'size', 'bytes'),
});
const MOVI = Chunk({
triangles: new r.Array(r.uint16le, 'size', 'bytes'),
});
const MOVT = Chunk({
vertices: new r.Array(float32array3, 'size', 'bytes'),
});
const MONR = Chunk({
normals: new r.Array(float32array3, 'size', 'bytes'),
});
const MOTV = Chunk({
import r from 'restructure';
export let BigMetrics = new r.Struct({
height: r.uint8,
width: r.uint8,
horiBearingX: r.int8,
horiBearingY: r.int8,
horiAdvance: r.uint8,
vertBearingX: r.int8,
vertBearingY: r.int8,
vertAdvance: r.uint8
});
export let SmallMetrics = new r.Struct({
height: r.uint8,
width: r.uint8,
bearingX: r.int8,
bearingY: r.int8,
advance: r.uint8
});
let EBDTComponent = new r.Struct({
glyph: r.uint16,