MCPcopy Create free account
hub / github.com/Code-Bullet/Jump-King / parseKernTable

Function parseKernTable

libraries/p5.js:5057–5079  ·  view source on GitHub ↗
(data, start)

Source from the content-addressed store, hash-verified

5055
5056// Parse the `kern` table which contains kerning pairs.
5057function parseKernTable(data, start) {
5058 var pairs = {};
5059 var p = new parse.Parser(data, start);
5060 var tableVersion = p.parseUShort();
5061 check.argument(tableVersion === 0, 'Unsupported kern table version.');
5062 // Skip nTables.
5063 p.skip('uShort', 1);
5064 var subTableVersion = p.parseUShort();
5065 check.argument(subTableVersion === 0, 'Unsupported kern sub-table version.');
5066 // Skip subTableLength, subTableCoverage
5067 p.skip('uShort', 2);
5068 var nPairs = p.parseUShort();
5069 // Skip searchRange, entrySelector, rangeShift.
5070 p.skip('uShort', 3);
5071 for (var i = 0; i < nPairs; i += 1) {
5072 var leftIndex = p.parseUShort();
5073 var rightIndex = p.parseUShort();
5074 var value = p.parseShort();
5075 pairs[leftIndex + ',' + rightIndex] = value;
5076 }
5077
5078 return pairs;
5079}
5080
5081exports.parse = parseKernTable;
5082

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected