Show More
Commit Description:
force log out when password change
Commit Description:
force log out when password change
References:
File last commit:
Show/Diff file:
Action:
node_modules/fontkit/src/tables/morx.js
| 79 lines
| 2.0 KiB
| application/javascript
| JavascriptLexer
|
r789 | import r from 'restructure'; | |||
import { UnboundedArray, LookupTable, StateTable } from './aat'; | ||||
let LigatureData = { | ||||
action: r.uint16 | ||||
}; | ||||
let ContextualData = { | ||||
markIndex: r.uint16, | ||||
currentIndex: r.uint16 | ||||
}; | ||||
let InsertionData = { | ||||
currentInsertIndex: r.uint16, | ||||
markedInsertIndex: r.uint16 | ||||
}; | ||||
let SubstitutionTable = new r.Struct({ | ||||
items: new UnboundedArray(new r.Pointer(r.uint32, new LookupTable)) | ||||
}); | ||||
let SubtableData = new r.VersionedStruct('type', { | ||||
0: { // Indic Rearrangement Subtable | ||||
stateTable: new StateTable | ||||
}, | ||||
1: { // Contextual Glyph Substitution Subtable | ||||
stateTable: new StateTable(ContextualData), | ||||
substitutionTable: new r.Pointer(r.uint32, SubstitutionTable) | ||||
}, | ||||
2: { // Ligature subtable | ||||
stateTable: new StateTable(LigatureData), | ||||
ligatureActions: new r.Pointer(r.uint32, new UnboundedArray(r.uint32)), | ||||
components: new r.Pointer(r.uint32, new UnboundedArray(r.uint16)), | ||||
ligatureList: new r.Pointer(r.uint32, new UnboundedArray(r.uint16)) | ||||
}, | ||||
4: { // Non-contextual Glyph Substitution Subtable | ||||
lookupTable: new LookupTable | ||||
}, | ||||
5: { // Glyph Insertion Subtable | ||||
stateTable: new StateTable(InsertionData), | ||||
insertionActions: new r.Pointer(r.uint32, new UnboundedArray(r.uint16)) | ||||
} | ||||
}); | ||||
let Subtable = new r.Struct({ | ||||
length: r.uint32, | ||||
coverage: r.uint24, | ||||
type: r.uint8, | ||||
subFeatureFlags: r.uint32, | ||||
table: SubtableData, | ||||
padding: new r.Reserved(r.uint8, t => t.length - t._currentOffset) | ||||
}); | ||||
let FeatureEntry = new r.Struct({ | ||||
featureType: r.uint16, | ||||
featureSetting: r.uint16, | ||||
enableFlags: r.uint32, | ||||
disableFlags: r.uint32 | ||||
}); | ||||
let MorxChain = new r.Struct({ | ||||
defaultFlags: r.uint32, | ||||
chainLength: r.uint32, | ||||
nFeatureEntries: r.uint32, | ||||
nSubtables: r.uint32, | ||||
features: new r.Array(FeatureEntry, 'nFeatureEntries'), | ||||
subtables: new r.Array(Subtable, 'nSubtables') | ||||
}); | ||||
export default new r.Struct({ | ||||
version: r.uint16, | ||||
unused: new r.Reserved(r.uint16), | ||||
nChains: r.uint32, | ||||
chains: new r.Array(MorxChain, 'nChains') | ||||
}); | ||||